[go: up one dir, main page]

TW200300315A - Data network controller - Google Patents

Data network controller Download PDF

Info

Publication number
TW200300315A
TW200300315A TW91132471A TW91132471A TW200300315A TW 200300315 A TW200300315 A TW 200300315A TW 91132471 A TW91132471 A TW 91132471A TW 91132471 A TW91132471 A TW 91132471A TW 200300315 A TW200300315 A TW 200300315A
Authority
TW
Taiwan
Prior art keywords
bandwidth
network
candidate
cost
data
Prior art date
Application number
TW91132471A
Other languages
Chinese (zh)
Inventor
Eric Klinker
Jeremy Johnson
Steven Mccanne
Daniel S Mckernan
Gordon C Chaffee
Charles J Fraleigh
Original Assignee
Netvmg Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netvmg Inc filed Critical Netvmg Inc
Publication of TW200300315A publication Critical patent/TW200300315A/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention provides for a system and method for data network control. Using a flow control system, embodiments of the present invention can analyze traffic flow volume and performance, incorporate usage, billing, and cost control data to yield an improved data network controller. Efficiency in data routing is improved while costs are decreased by enabling the selection of the optimal performance data route. Cost constraints and costs are minimized for an overall data load. Given a diverse set of cost structures for available transit providers, the overall system cost can be minimized by distributing traffic in a manner that takes advantage of the diverse billing structures and yet maintains acceptable performance levels. Systems and methods in accordance with embodiments of the present invention determine projected flow volume in relation to the available bandwidth and marginal cost to a destination provider.

Description

200300315 玖、發明說朋 【相關申請案交互參照】 本申請案係關於並主張下列之美國臨時申請案及非臨 時申請案之優先權。該些相關案之內容係於此倂入作爲參 考。該些相關案之申請人係與本案申請人相同。 於2 0 0 1年4月1 0日申請案號爲美國專利申請案 第0 9 / 8 3 3,2 1 9號之名稱爲“用於確保具有智慧 型路由之網路服務水準之系統及方法”之美國專利申請案 j 於2 0 0 1年1 2月7日申請案號爲美國專利申請案 第1 0/0 1 3,809號且之名稱爲“用以提供透過資 料網路之資訊的路由控制之系統及方法”之美國專利申請 案; 於2 0 0 1年1 2月2 8日申請案號爲美國專利申請 案第10/040,902號且之名稱爲“用以提供透過 網路之資訊的路由控制之系統及方法”之美國專利申請案 :及 美國臨時專利申請案名稱爲“用於確保具有智慧型路 由之網路服務水準及頻寬管理之系統及方法”之優先權, 該案係於2 0 0 1年1 1月2日申請,申請案號爲美國臨 時專利申請案第6 0 / 3 5 0,1 8 6號。 發明所屬之技術領域 本發明大致上係關於透過網路通訊系統之資料的控制 ,且特別地係關於資料網路控制器。 200300315 【先前技術】 資料網路係爲連接複數個節點以共享計算資源之通訊 系統。於來源及目的地節點之間產生有效率之資料路由係 爲使用網路之組織化之一個重要的目標,以便利資源、資 料及資訊之共享。 典型地,一個節點係由一或多個計算裝置所代表,該 一或多個計算裝置係能夠包括個人電腦及週邊設備。可互 換性於此係指一個“點”,一個節點典型地係爲一個於一 個資料網路上作爲一個“路由”或者“路徑”之一個特定 的路段之一個端點。於兩個連續節點之間所定義之該路段 係此後稱爲一個“跳躍”。此外,一個自主系統( autonomous system,AS)跳躍係指一個於舉例而言一個單一 自主系統內之路段。此外,一個跳躍亦能夠爲由兩個非連 續之節點所界定之一個網路路徑之一部分。 舉例而言,15個個別的節點係可以存在於一個來源 及一個目的地之間。這些1 5個節點可以跨越3個自主系 統,因而可以定義總計7個跳躍。該第1個跳躍可以由該 來源網路之一個出站點行進至該第一自主系統之一個入站 點。該第2跳躍能夠行進於該第一自主系統之其入站點及 出站點之間。該第3個跳躍可以由該第一自主系統之該出 站點行進至該第二自主系統之一個入站點。該第4跳躍能 夠行進於該第二自主系統之一個入站點及一個出站點之間 。該第5個跳躍可以由該第二自主系統之一個出站點行進 至該第三自主系統之一個入站點。該第6跳躍能夠行進於 200300315 該第三自主系統之一個入站點及一個出站點之間。最後’ 該第7個跳躍可以由該第三自主系統之一個出站點行進至 該目的地節點之間。雖然上述之範例係列出7個跳躍’諸 如上述之一個資料路徑係可以由大於或者小於上述跳躍數 目組成。 一個來源及/或目的地係可以實施一個資料源’諸如 維持用於一個特定的組織之計算資源之一個以網路爲基礎 之資料庫,諸如裝置,一系列儲存設備或者類似物。資源 可以包含任務之關鍵資料或者軟體程式,或者使用於執行 特定任務之應用。舉例而言,於一個銀行之背景中,一個 資料庫可以包含敏感的及保密的客戶或者合夥人之金融資 訊。該資訊通常係需要提供任務之關鍵應用。於大的分配 之組織係根據如此之資源之分享而定之許多情況下,資料 網路係被實施,且通常透過超過一個網路服務提供者( network service provider, NSP)之使用。於在一個網路上使 用之情況下,該網路係被稱爲多重復位(Multi-homing)。 於一個多重復位網路存在之情況下,係具有數個傳統資料 網路控制之缺點。 首先,選擇資料之路由的效率對於傳統資料網路控制 系統而言係爲一個重要的問題。一般而言,效率係包含將 網路效能最佳化及將成本最小化。將網路效能最佳化及將 成本最小(例如減少損失,延遲,抖動等等)係於傳統之 資料路由控制技術及技藝中之共同的目的。然而,傳統之 資料網路控制系統係不能夠於用於大部分之目的地之最小 200300315 化成本之下達成將效能最大化。當考慮到資料傳輸之成本 及一個資料網路之效能時,效率通常係被犧牲。換句話說 ,成本及效能通常係爲明顯地或者暗中地超越效率之因素 。雖然效率達成係重要的,然而係難以達成,因爲係有根 據如何、何時及何處選擇一個來源及一個目的地之間之資 料路由之影響該邏輯及下決定之程序的許多因素。由於使 用複數個網路服務提供者,所以多重復位網路係具有達成 有效率之資料路由之固有的障礙。因此,多重復位係需要 太多之路由之計算,以使用傳統之路由控制技術而決定候 選人資料路徑。 諸如邊界閘道器協定(Border Gateway Protocol, BGP) 係爲一個使用於自主系統之間之標準資料通訊的資料協定 。對於多重復位企業或者組織而言,邊界閘道器協定係爲 一個有用的協定。然而,邊界閘道器協定係不根據成本資 訊或者效能之統計而實施路由控制之決定。反而是,邊界 閘道器協定係對於自主系統路徑及其他管理之設定下決定 。且即使邊界閘道器協定分配資料負載於網路服務提供者 上,其係不會分配資料負載以最小化頻寬使用成本。 此外,邊界閘道器協定係僅以一個方式選擇資料之路 由,使得效能係不考慮藉由傳統之邊界閘道器協定的使用 的路由控制決定。雖然一個較佳之實施路徑可以存在,然 而,邊界閘道器協定將不會轉移資料通信至該較佳之實施 路由。於另一個範例中,一個最佳化之實施路由可以存在 ,然而,該路由可以隨後變劣化。因爲邊界閘道器協定係 200300315 不能夠計算後續之劣化,所以其係不能夠調整至一個較佳 之實施路由以解決如此之劣化。作爲一個範例,對於該相 同之目的地而言,一個較短及低效能之路由及一個較長且 較高效能之路由可以同時出現。邊界閘道器協定將實施路 由控制決定,以於該較短之路由上導引資料通信。雖然該 較長之路由係爲較佳之實施路由,邊界閘道器協定及傳統 之協定將選擇較短之路由,而不論該被選擇出之路由之較 低之效能的品質。因此,係有需要一個控制資料路由同時 對於大部分之目的地將效能最大化及將成本最小化之解決 方案。 另一個傳統資料網路控制器之缺點係爲超越使用限度 。網路服務提供者係能夠一般而言藉由測量流量或者頻寬 而設定使用率臨限値。這些臨限値係定義最大利用率且, 舉例而言通常係爲使用者可建構的。當最大利用率係符合 時,任何超過之資料流係溢至另一個且一般係爲更昂貴之 網路服務提供者使用輪廓,使得該超過之資料流之選擇路 由係成本更多。不能更改的提供者之價格位階係造成溢流 之資料被置放之更加昂貴之桶。不以一個更有效率之方式 重新分配頻寬需求,傳統之資料路由控制技術係通常移動 最大及/或最小的價格限制,造成動態及靜態的模型。最 後,該多重復位企業或者組織係不最大化其資料路由需求 之效率,且因而付出額外的不必要成本。於大的分配之網 路中,這些成本可以造成相當大之金融上的付款,其係遠 超過支援任何重要任務之應用需要被選擇路由之給定資料 11 200300315 量所需要之金額。舉例而言,該些成本之一個相當大的部 分係爲使用一個給定之網路服務提供者之瞬時成本。 此外,許多傳統之路由控制產品及方法係利用及實施 如放置於一個協定路由表上之路由的控制決定,諸如於一 個邊界閘道器協定路由表。這些路由通常係爲大的位址空 間的配置,其係意謂保持該提供者間之路由表爲小的。不 幸地,這些路由控制產品係不考慮一個大的位址範圍之相 鄰網路之間之該廣大的地理上的距離。地理位置能夠影響 路由資料之效能,因爲一或多個路徑係能夠因爲舉例而言 網路失效、線路切斷等等所造成之擁塞而劣化。因此,根 據被影響到之位址數目,一個意欲校正於一個網路中之路 由問題之控制器決定,特別是於一個多重復位狀態中,係 能夠於許多位址上具有影響深遠及不利的效果。 因此,係需要一個用於克服上述之傳統路由控制器及 路由控制技術之缺點之系統及方法。 【發明內容】 本發明係關於一種資料網路控制器。該資料網路控制 器係包含一個控制模組,其係用於控制一個網路。該網路 控制器亦透過用於通訊集合之流資訊至其他模組之一個介 面而分析集合之流資訊。由一個快取器所接收之資訊係與 資料網路控制器及一個流控制系統之複數個元件所共享。 一個主動校準器係通訊網路資料至該資料網路控制器,且 一個集合模組係被使用於集合流資訊。諸如一個軟體匯流 排之一個匯流排係被使用於模組間之通訊。一個使用者模 12 200300315 組係提供使用者資訊,其係通訊至該控制模組。一個檔案 儲存館係儲存用於提供者之資訊之資料,且通訊該資訊至 該控制模組。諸如通信及政策資訊之額外的資訊係被儲存 於一個貯存器之中,其係能夠提供請求資訊至該資料網路 控制器。 本發明係關於一種資料網路控制器。該資料網路控制 器係包含一個控制模組,其係用於控制一個資料網路。該 網路控制器亦透過用於通訊集合之流資訊至其他模組之一 個介面而分析集合之流資訊。由一個快取器所接收之資訊 係與資料網路控制器及一個流控制系統之複數個元件所共 享。一個主動校準器係通訊網路資料至該資料網路控制器 ,且一個集合模組係被使用於集合流資訊。諸如一個軟體 匯流排之一個匯流排係被使用於模組間之通訊。一個使用 者模組係提供使用者資訊,其係通訊至該控制模組。一個 檔案儲存館係儲存用於提供者之資訊之資料,且通訊該資 訊至該控制模組。諸如通信及政策資訊之額外的資訊係被 儲存於一個貯存器之中,其係能夠提供請求資訊至該資料 網路控制器。 本發明之另一個實施例係揭示一種用於控制一個網路 之方法。該方法係包含下列步驟··計算一個候選人之延遲 ;計算一個候選人之損失;比較一個候選人之頻寬及一個 頻寬配置;決定一個損失値;計算一個成本;計算一個辨 識元;及決定一個改變値。 該方法進一'步包含下列步驟·假如δ亥丨丨矢运人之頻寬係 13 200300315 小於該頻寬配置,則決定一個最低之延遲;決定一個最低 損失;根據一個成本及一個使用變數而決定一個最大可使 用頻寬;決定一個成本層級;決定一個最低的辨識元;及 指定一個改變値。 於本發明之另一個實施例中,係揭示一種用於控制一 個網路之方法。該方法係包含下列步驟:比較一個候選人 損失及一個目前之損失;比較一個候選人延遲及一個目前 之延遲;決定一個最佳的延遲;決定一個最佳損失;計算 一個候選人頻寬値;決定一個最大的候選人頻寬値;決定 一個成本層級;決定一個最低的辨識兀;及指定一個改變 値。 本發明之另一個實施例係揭示一種用於控制一個網路 之設備。該設備係包含:計算一個候選人之延遲之裝置; 計算一個候選人之損失之裝置;比較一個候選人之頻寬及 一個頻寬配置之裝置;決定一個損失値之裝置;計算一個 成本之裝置;計算一個辨識元之裝置;及決定一個改變値 之裝置。 該設備係進一步包含:假如該候選人之頻寬係小於該 頻寬配置則決定一個最低之延遲之裝置;決定一個最低損 失之裝置;根據一個成本及一個使用變數而決定一個最大 可使用頻寬之裝置;決定一個成本層級之裝置;決定一個 最低的辨識元之裝置;及指定一個改變値之裝置。 本發明之另一個實施例係揭示一種用於控制一個網路 之設備。該設備係包含:比較一個候選人損失及一個目前 14 200300315 之損失之裝置;比較一個候選人延遲及一個目前之延遲之 裝置;決定一個最佳的延遲之裝置;決定一個最佳損失之 裝置;計算一個候選人頻寬値之裝置;決定一個最大的候 選人頻寬値之裝置;決定一個成本層級之裝置;決定一個 最低的辨識元之裝置;及指定一個改變値之裝置。 本發明之又另一個實施例係提供一種儲存用於控制一 個網路之指令的電腦可讀取媒體,其係實施下列步驟:計 算一個候選人之延遲;計算一個候選人之損失;比較一個 候選人之頻寬及一個頻寬配置;決定一個損失値;計算一 個成本;計算一個辨識元;及決定一個改變値。 該電腦可讀取媒體係進一步實施下列步驟:假如該候 選人之頻寬係小於該頻寬配置,則決定一個最低之延遲; 決定一個最低損失;根據一個成本及一個使用變數而決定 一個最大可使用頻寬;決定一個成本層級;決定一個最低 的辨識元;及指定一個改變値。 於本發明之另一個實施例中,其係揭示一種儲存用於 控制一個網路之指令的電腦可讀取媒體,其係實施下列步 驟:比較一個候選人損失及一個目前之損失;比較一個候 選人延遲及一個目前之延遲;決定一個最佳的延遲;決定 一個最佳損失;計算一個候選人頻寬値;決定一個最大的 候選人頻寬値;決定一個成本層級;決定一個最低的辨識 元;及指定一個改變値。 於本發明之另一個實施例中,其係揭示一種於一個載 波中實施之電腦資料訊號。該電腦資料訊號係包含:用於 15 200300315 計算一個候選人之延遲之程式碼;用於計算一個候選人之 損失之程式碼;用於比較一個候選人之頻寬及一個頻寬配 置之程式碼;用於決定一個損失値之程式碼;用於計算一 個成本之程式碼;用於計算一個辨識元之程式碼;及用於 決定一個改變値之程式碼。 該於一個載波中實施之電腦資料訊號係進一步包含: 用於假如該候選人之頻寬係小於該頻寬配置則決定一個最 低之延遲之程式碼;用於決定一個最低損失之程式碼;用 於根據一個成本及一個使用變數而決定一個最大可使用頻 寬之程式碼;用於決定一個成本層級之程式碼;用於決定 一個最低的辨識元之程式碼;及用於指定一個改變値之程 式碼。 於本發明之又另一個實施例中,其係揭示一種於一個 載波中實施之電腦資料訊號。該電腦資料訊號係包含:用 於比較一個候選人損失及一個目前之損失之程式碼;用於 比較一個候選人延遲及一個目前之延遲之程式碼;用於決 定一個最佳的延遲之程式碼;用於決定一個最佳損失之程 式碼;用於計算一個候選人頻寬値之程式碼;用於決定一 個最大的候選人頻寬値之程式碼;用於決定一個成本層級 之程式碼;用於決定一個最低的辨識元之程式碼;及用於 指定一個改變値之程式碼。 【實施方式】 本發明之實施例之詳細說明將於下文中敘述。然而, 應瞭解的是,本發明係可以以許多形式實施。因此,於此 16 200300315 揭示之特定的細節係不被解釋爲限制之用,而係作爲申請 專利範圍之基礎,且作爲用於教示熟悉本項技藝人士於實 際上任何適當的詳細系統、結構、方法、程序或者方式中 使用本發明之代表性的基礎。雖然許多實施例係於此被討 論,本發明係不受限於該些實施例。於許多範例中,舉例 而言,諸如邊界閘道器協定之路由控制協定係可以被預測 地以用於定址或者選擇路由之其他形式協定取代或者替代 。於此呈現之詳細說明係被提供,以使熟悉本項技藝人士 能夠實施本發明。 本發明大致上係關於透過網路通訊系統之資料的路由 控制,且特別地係關於用於透過資料網路之路由控制的方 法及系統。於一個網路中之資料傳輸係使用協定,以標準 化通訊裝置間之資源共享。邊界閘道器協定係爲一個使用 於自主網路之間之協定,特別是多重復位網路或者根據超 過一個服務提供者以接取該網際網路之網路。於許多情況 下,資料路由係根據諸如邊界閘道器協定之協定的使用而 定,該邊界閘道器協定係能夠被分類爲內部的及外部的, 其係根據邊界閘道器協定之資訊係如何於外部的路由器之 間分佈。協定之其他範例係包含外部閘道器協定(Exterior Gateway Protocol)及內部域路由協定,流傳輸控制協定( Stream Transmission Control Protocol,STCP)及傳輸控制協 定/網際網路協定(TCP/IP),該些協定係標準化於資料 網路間或者透過資料網路之通訊。 本發明之實施例係改進資料路由控制上之效率,致能 17 200300315 對於所有目的地爲最低網路成本之下具有最佳路由控制效 能。如上文所述,傳統之路由控制技術係不能夠改進效率 及最小化用於目的地之成本。本發明之實施例係使用許多 路徑及許多帳務結構及方式以將效率最大化。傳統之解決 方案僅能夠最小化某些目的地之成本,及其他目的地之效 能。根據本發明之實施例,諸如路由通信、封包損失及抖 動之效能矩陣係能夠對於所有目的地作最佳化。於本發明 中之將效能最大化及將成本最小化一般而言係牽涉到選擇 關於該被選擇出之路徑之成本及效能之最佳候選人資料路 徑。 於此所述之一個資料路徑可以爲一個第一點(例如一 個來源節點)至一個第二點(例如一個目的地節點)之間 之一個路由,且係被分割成爲路段或者“跳躍”,該路段 或者“跳躍”之每一個係沿著一個來源點及一個目的地點 之間之一個資料路徑之兩個連續的節點。跳躍亦可以被定 義爲跨越一個單一自主系統或者連接兩個或更多個自主系 統。爲了於一個網路中辨識一個特定的節點,典型地爲網 際網路協定或者其他以協定作爲限制之位址,一個典型的 網際網路位址係由3 2位元組成,其構成4個個別的位址 組,每一個係具有個位元。該網路遮罩或者前置頭係指於 一個位址中相關之位元數量。舉例而言,於一個無等級域 間路由(classless interdomain routing,CIDR)機制中之一個 2 3 9 · 0 5 1 · 0 · 0/ 1 6之網際網路位址係辨識一 個特定節點之相關位址。該/ 1 6前置頭係辨識一個1 6 18 200300315 位元之網路遮罩,其中,根據本發明之一個實施例,該位 址之該前1 6個位元係與發佈或者公告該位址相關。 傳統之資料之控制技術一般而言係採用探測,以定義 該網路拓樸且確認於資料路由之控制。根據本發明之一個 實施例,資料控制係使用存在於一個網際網路路由表中之 前置頭長度,其典型地係使用諸如“/ 1 6 ”之長度指定 而被辨識。該前置頭越長,則該位址係越明確。一個/ 1 6之前置頭係代表一個比/2 4之前置頭爲大的位址之子 集合。假如一個問題係出現於以/ 2 4之前置頭定址之一 個點之上,則一個比一個/2 4定址之目的地或者位址之 數量爲大之位址將被影響。傳統之技術係指定任意長度之 前置頭以選擇通知之路由。藉由產生拓樸之網路地圖,如 下文所述之本發明係能夠根據本發明之一個實施例而提供 資料路由控制,以產生較高的效率,順帶一提,使用較少 之通知而具有較明確之特性。因此,資料量係被減少,且 資料路由及控制之效率係改善。 雖然於此所使用之“前置頭”一詞係敘述網際網路位 址之子分割,値得注意的是,該些實施例係不受限於使用 一個前置頭。反而是,任何適合的“位址集合”係能夠被 使用而取代“前置頭”,“子前置頭”等等,以敘述一個 感興趣的位址(例如目的地)係如何能夠被分類。該些位 址係不需要爲於一個前置頭邊界中爲鄰近的,且能夠小到 一個單一主動位址一樣大(例如/3 2)。路徑追蹤探測 係被傳送,以獲得至該目的地且有時達到該目的地之網路 19 200300315 點之候選人路徑測量,或者至由於諸如防火牆或者濾波器 之禁止測量無法被探測之任何網路點之候選人路徑測量。 可辨識之收歛點或者超過一個資料路由收歛之點係被主動 探測且或者通知,以用於資料路由。下列之圖式及說明將 進一步顯示本發明之實施例。 第1 A,1 B及1 C圖係顯示適合用於實施本發明之一 個特定實施例之基本硬體元件。第1 A圖係爲一個示範性 的電腦系統1之圖示。該電腦系統1係包含一個具有一個 顯示螢幕5之顯示器3。一個箱體7係容置標準之電腦元 件,諸如一個磁碟機,唯讀光碟機,顯示轉換器,網路卡 ,隨機存取記憶體,中央處理單元及其他元件,子系統及 裝置。諸如具有按鈕1 3及鍵盤9之增鼠1 1之使用者輸 入裝置係顯示於圖中。諸如軌跡球、觸控螢幕、數位化板 、語音或視覺辨認等等之其他使用者裝置係能夠被使用。 一般而言,該電腦系統係僅例示一種形式之電腦系統,諸 如桌上型電腦,其係適合於與本發明一起使用。電腦係能 夠。以許多不同的硬體元件建構,且能夠以許多尺寸及形 式(例如膝上型,掌上型,筆上型,伺服器,工作站,主 機等等)實施。任何適用於實施於此敘述之處理的硬體平 臺係適合於與本發明一起使用。 第1B圖係顯示典型地可以於一個諸如電腦1之中發 現之子系統。於第1 B圖中,於方塊2 0內之子系統係直 接與內部匯流排2 2作介面連接。如此之子系統典型地係 包含於諸如第1 A圖之箱體7內之該電腦系統之內。子系 20 200300315 統係包含輸入/輸出控制器2 4,系統記憶體(或者隨機 存取記憶體)2 6,中央處理單元2 8,顯示轉換器3 0 ,串列埠4 0,固定之磁碟機4 2,網路介面轉換器4 4 (例如網路介面卡,或者NIC),該網路介面轉換器4 4 係接著建構成諸如藉由本項技藝中之電氣,射頻或者光學 裝置而與一個網路通訊。使用匯流排2 2係允許該子系統 之每一個於子系統及最重要的中央處理單元之間轉移資料 ’其中’旨亥中央處理單兀係可以爲一'個SparcTM,一^個Intel 中央處理單元,一個PowerPC™或者其均等物。外部的裝 置係能夠透過匯流排2 2藉由與一個於該匯流排上之子系 統作介面連接而與該中央處理單元或者其他子系統通訊。 因此,監視器4 6係與顯示轉換器3 0連接,一個相對的 指示裝置4 8 (例如滑鼠)係透過一個諸如串列埠4 0之 埠而連接。某些諸如鍵盤5 0之裝置係能夠藉由直接之方 式而與該中央處理單元通訊,而不需要使用該主資料匯流 排且經由一個中斷控制器及相關之暫存器。 如同示於第1 A圖之該外部實施例結構,許多子系統 之結構係可能的。第1 B圖係爲一個例示性的適合的結構 。除了示於第1 B圖之該些元件之外之子系統,元件或者 裝置係能夠被加入。一個適合的電腦系統亦係能夠使用比 示於第1B圖中之子系統的所有元件爲少之元件而被達成 。舉例而言,一個獨立的電腦係不需要被連接至一個網路 ,所以網路介面4 4係不需要。諸如一個唯讀光碟機,圖 形加速器等等之子系統係能夠被包含於該結構之中,而不 21 200300315 影響本發明之該系統的效能。 第ic圖係爲一個可以被使用於實施本發明之一個實 施例之典型的網路之一般化之圖。於第1c圖中’網路系 統8 0係包含數個連接至電腦資料網路8 2之本地接取網 路,諸如網際網路,廣域網路,或者類似之網路。如於此 所述之網路系統係指作成一或多個由一個來源至一個目的 地且反之亦然之路徑的一或多個本地接取網路及網路服務 提供者。然而,網路系統應該被瞭解成亦代表包含使用任 何網路連接技術而通訊之一或多個計算裝置之資料網路。 雖然特定的網路協定,實體層,拓樸,及其他網路特質係 於此被顯示,但是本發明係適合與任何不同路徑之網路( 例如,互連至其他網路之多重原位置網路)一起使用,特 別是採用網際網路協定以用於選擇資料之路徑的網路,該 資料係諸如具有根據該協定之一或多個資訊封包之流。此 外,雖然一個特定的實施方式係顯示於第1 C圖,熟悉本 項技藝人士應可以瞭解,根據本發明之一個流控制系統係 能夠被配置於一或多個資料網路8 2之內,或者建構成與 網路系統8 0 —起操作。 於第1 C圖中,電腦使用者1係連接至伺服器1,其 中’該連接係能夠爲藉由任何網路協定,諸如乙太網路, 非同步傳輸模式,IEEE標準1 5 5 3匯流排,調變解調器 連接’萬用串列匯流排等等。該通訊鏈結係不需要爲一條 線,亦可爲紅外線,無線電波傳輸等等。爲了說明起見, 伺服器1係連接至該資料網路8 2,諸如網際網路,或者 22 200300315 舉例而言任何其他使用網際網路協定以用於資料傳輸之資 料網路。該資料網路係以符號表示爲伺服器路由器8 2之 一個集合。 用於資訊之分配或者通訊之網際網路之示範性的使用 係不需要被限制爲實施本發明,而僅係被使用於顯示一個 特定的實施例。此外,使用伺服器電腦及伺服器和客戶之 指定對於本發明之實施係並非重要的。使用者1電腦係能 夠藉由網際網路而直接連接。雖然伺服器1對於該網際網 路之連接係可以以類似使用者1之類似方式連接,伺服器 1對於該網際網路之連接典型地係藉由諸如T1線,T3線 ,都市區域乙太網路或者類似網路而實施。類似地,其他 電腦8 4所顯示的係爲於不同於使用者1電腦之位置處使 用一個地區暇路(例如本地接取網路)。於8 4處之該些 電腦係透過伺服器2而連接至該網際網路。雖然電腦8 4 係顯示成僅包含一個單一伺服器,然而兩個或更多個伺服 器係能夠被連接至與該電腦8 4相關之該本地接取網路。 該使用者3及伺服器3之結構係代表一個計算裝置之第三 網路。 第2圖係顯示根據本發明之一個特定的實施例之一個 流控制系統。該流控制系統2 0 0係被建構成與該資料網 路之一或多個網路元件通訊。該流控制系統2 0 0係具有 一個控制器2 0 2,其係與許多應用通訊。這些應用係包 括使用收集器2 0 4,資料導引器2 0 6 (.其係顯示與複 數個網路服務提供者通訊,其可能產生於多重復位企業之 23 200300315 中),結構兀件2 0 8,主動校準器2 1 0,一個政策貯 存器2 1 2,被動校準器2 1 4,其係與一個通信貯存器 2 1 6通訊。一個示範性的資料流2 1 8係顯示成進入流 控制系統,其提供直接輸入至該資料導引器2 0 6,該資 料導引器2 0 6係根據透過結構元件2 0 8而由該控制器 2 0 2接收而來之控制訊號,而導引該資料通信至網路服 務提供者。資料通通信亦係被該被動校準器2 1 4所監視 ,該被動校準器214係儲存代表性的資料於該通信貯存 器2 1 6之中。儲存於通信貯存器中之資料的範例係可以 包括諸如延遲,可使用及可分配頻寬測量之效能參數。 雖然該流控制系統2 0 0係顯示成於諸如結構元件2 0 8之來源網路8 2之外,且與諸如結構元件2 0 8之來 源網路8 2通訊,該流控制系統2 0 0係能夠完全建構於 所顯示之任一元件之內。或者,該流控制系統2 0 0係能 夠以部分之方式分配於諸如伺服器8 6之每一個元件之內 。於另一個實施例中,該流控制系統2 0 0係位於一或多 個伺服器中或者於示範性之來源網路8 2之內之網路元件 之內。 一個示範性之資料網路係包含一或多個來源網路8 2 。一個來源網路8 2典型地係爲一個包含由應用服務提供 者、管理服務提供者、內容傳送網路、網路代管公司、個 人企業、股份有限公司、實體或類似物所擁有及操作之一 或多個伺服器的本地網路。如此之網路服務提供者典型地 係傳送資訊至進一步由諸如網路服務提供者1 ,網路服務 24 200300315 提供者2,網路服務提供者3,···,網路服務提供者η 之多重復位網路服務提供者之中移除之使用者。於一個範 例中,網路服務提供者係被連接至一個來源網路或者被認 爲一個第一組資料網路之來源點。該些網路服務提供者或 者第一組資料網路係接著連接至一個第二組網路,其中, 該第二組網路係連接至複數個其他網路,因此,建立一或 多個由一個來源至一個目的地之路徑。 於流控制系統2 0 0之一個實施例中,該流控制系統 2 0 0係操作以根據諸如效能、成本、頻寬及其類似物之 流量特性而測量端點至端點(亦即來源至目的地及目的地 至來源)之資料通信量。該流控制系統2 0 0亦即時或者 接近即時產生橫越複數個網路服務提供者之資料路徑相關 之統計値。如此之統計値係傳送至來源網路8 2,以提供 網路工程個人舉例而言報告資訊,使得動態的報告係被產 生以提供關於路由改變之活動的資訊,當傳送至被選擇出 之目的地之通信量效能及過境的網路服務提供者之使用( 亦即頻寬),成本及其類似物。 於本發明之一個實施例中,一個本地計算裝置係使用 由控制器2 0 2請求而由該政策貯存器2 1 2及該通信貯 存器2 1 6而來之該資訊。使用舉例而言一個使用者圖形 介面(GUI)而接取該流控制系統2 0 0及該控制器2 0 2 ’使用者係能夠於使用收集器2 0 4處監視、刪除及輸入 使用者可建構之資訊。指示沿著一或多個路徑(例如一個 來源及一個目的地之間之路徑)之資料通信量的圖形表示 25 200300315 係亦能夠透過一個使用者圖形介面而呈現至使用者。能夠 存取該來源網路8 2之網路全體人員或者任何負責流控制 之實體係能夠提供控制資訊至該流控制系統2 0 0,以藉 由舉例而言改變資料通信流由一個實行較差之路由至一個 更有效率之路由而改變系統之操作。然而,對於本發明之 流控制系統2 0 0之操作而言係不需要網路人員之涉入。 該流控制系統2 0 0亦比較特定之資料通信流(亦即 由該資料網路流入及流至該資料網路之單向及雙向之通信 流),以決定是否一個特定的通信流係符合一個相關之流 政策之一或多個規則。如於本文所參考且儲存於一個政策 貯存器2 1 2中之一個流政策係包含一組一或多個規則, 其係結合關於特定的系統使用者(例如表示爲網際網路協 定位址前置頭)之一個特定的資料通信流。由預設或者使 用者建構之特定規則亦係儲存於該政策貯存器中,以於該 流控制系統2 0 0之效能及操作上提供參數。用於效能之 標準係使用於導引該流控制系統2 0 0之操作。 最小標準係代表定義一個相關之通信流特性之可接受 的路由行爲之一個最小水準位値。舉例而言,一個規則係 可以設定:關於或者不關於網路服務提供者之該最大可接 受成本;與透過特定網路服務提供者之通信流相關之最大 負載或者頻寬使用;可接受(或者非可接受)之服務提供 者之範圍;橫越複數個網路服務提供者之透過一或多個路 徑之最大可接受延遲或者損失;對於每一個網路服務提供 者之可接受的效能範圍,諸如最大的叢集限制;最小的效 26 200300315 能協議及成本範圍(亦即對於一天中之時間的成本結構, 通信之形式等等);及任何其他能夠影響資料通信之測量 或者控制之資料流特性。 該流控制系統2 0 0係進一步操作成:偵測何時一個 或者多個規則或者流政策係被違反,且然後採取補償的行 動。亦即’該流控制系統2 0 0係藉由校正效能(亦即服 務水準保證)、成本或者頻寬(亦即根據每一個路徑可使 用之容量百分比之負載)上之不利的變化而實施資料通信 流相關之政策。該流控制系統2 0 0根據即時或者接近即 時之通信量分析,本地路徑多樣化(亦即修改由一個資料 網路之一個或多個出口路徑)及下游可使用路徑之可視度 而實施如此之校正。舉例而言,對於一個關於一個特定的 通信流之目的地而言,該流控制系統2 0 0係根據流之特 性,由其流政策導引或者再導引通信至一或多個指代的路 徑,以解決一個特定的流之變化。 於另一個實施例中,於第2圖之該流控制系統係爲一 個反應之流控制系統。亦即,一個反應之流控制系統係被 設計成對於政策違反作出反應,其指示透過一或多個資料 網路或者服務提供者(亦即位址之通過-失敗標準)之資 料子標準路由,而非於某些可接受之操作的目標水準下之 最佳化效能。 參照回第2圖,示範性之被動校準器2 1 4,主動校 準器2 1 0及使用收集器2 0 4係連接至控制器2 0 2, 以部分提供資料通信之流特徵。該控制器2 0 2係接收修 27 200300315 改過之流特徵以及將被實施之流政策。適合於關於路由控 制之該流政策之使用者或者機器產生之規則係能夠於控制 器2 0 2處被輸入。用於本發明之特定的參數或者操作準 則係能夠於該控制器2 0 2處被輸入,以確保該流控制系 統2 0 0維持操作,監視及警報狀態之一個適當的水準。 該控制器2 0 2係被建構成決定是否一個流政策係被違反 ,且於偵測出如此之一項違反時,選擇一個補償行動以解 決該項違反。根據由該控制器2 0 2所產生及由結構元件 2 0 8所轉送之控制訊號,資料導引器2 0 6係實施該校 正之行動,以解決一個真實的或者懸而未決之違反,其係 藉由舉例而言改變該通信流由該目前之路徑至一個較佳之 路徑而達成。 除了管理通信流,流控制系統亦使用儲存於通信貯存 器2 1 6及政策貯存器2 1 2中之資料。該通信貯存器2 1 6及政策貯存器2 1 2皆爲資料庫,且通信貯存器2 1 6及政策貯存器2 1 2係能夠使用下列裝置而實施:諸如 一個儲存裝置,資料庫,儲存設備或者其他儲存及資料庫 應用,資料倉庫,及類似於由諸如微軟(MySQL),甲骨 文(9i+) ,Sybase及EMC公司所生產之資料庫管理系統。 該通信貯存器216及政策貯存器212係被建構成儲存 許多記錄於一或多個資料結構中。 通信貯存器216係被設計成儲存及通訊關於通信及 路由特性之資訊,且該流政策貯存器2 1 2係被設計成儲 存及通訊政策資訊或者規則,以管理該資料通信流之每一 28 200300315 個的效能及成本。熟悉本項技藝人士應可以瞭解,許多資 料庫之技術係可以被使用,以實施本發明之該些貯存器。 於操作時,第2圖之該流控制系統2 0 0係監視出站 及入站資料流2 1 8,諸如網際網路協定資料通信,以決 定是否由該來源網路8 2而來及至該來源網路8 2之資料 流2 1 8係於由該相關之流政策所設定之效能容忍度。於 一個實施例中,該流控制系統2 0 0係藉由諸如藉由一個 網路開關之複製,藉由使用諸如一個光分離器之一個分離 器,或者任何熟悉本項技藝人士所知之其他分接裝置而接 收資料流2 1 8。與包含於資料流2 1 8之內之資訊完全 或者幾乎完全相同之資料流係被提供至該被動校準器21 4。 被動之校準器214係監視資料流218之該資料通 信’且傳送關於該通信及通信效能之資訊至該控制器2 0 2。該控制器2 0 2係被構形成接收對應於一個諸如一個 特定的資料流之特定的通信流之一或多個政策之政策資料 〇此夕f,g亥特定的貪料流係肯g多句結合舉例而言一個由一個 目的地前置頭所辨識之某一使用者。由政策資料,該控制 器2 0 2係決定效能,成本或者該特定的通信符合之利用 性的水準。舉例而言,該控制器2 〇 2係決定是否一個特 定的資料流218之通信流係符合由諸如入站及出站網路 延遲,封包損失及網路抖動之一或多個條件或者標準所定 義之效能水準(亦即,服務水準)。 該主動校準器2 1 0係作用爲接收由該資料網路而來 29 200300315 及傳送至該資料網路之許多形式之一或多個主動探測器。 這些探測器係被設計成測量網路效能,包含橫越一或多個 可使用之網路服務提供者所取得之路徑(亦即,決定是否 一個網路服務提供者係爲一個轉接自治的系統而非對等點 之自治的系統),下一個使用之跳躍及其他網路參數。爲 了致動該主動校準器2 1 0,該控制器2 0 2係傳送一個 主動探測請求2 0 9至該主動校準器2 1 0。假如該控制 器2 0 2係確認關於替代之路徑或者網路系統之特性之額 外的資訊係必須的以較佳實施於反應之流控制系統中之政 策時,如此之一個請求係需要的,以防止如此之政策係違 反最佳化流控制系統。 該使用收集器2 0 4係被建構成接收代表一或多個網 路提供者結構之網路服務提供者資料。一般而言,如此之 結構係包含與每一個網路服務提供者及其大小相關之路徑 (管道)之數量。此外,網路服務提供者資料係能夠關於 一個網路服務提供者之成本或者付款結構,且亦包含每一 個網路服務提供者之相關之組或者子組之位址,每一個網 路服務提供者之付款方式(亦即位元組/分等等)。此外 ,使用收集器2 0 4係被建構成收集由該網路元件而來之 使用資訊,諸如開關,邊界路由器,網路服務提供者裝置 ,及其他使用於透過資料網路而傳輸之裝置。該使用收集 器2 0 4係建構成提供利用及付款資訊給該控制器2 0 2 ,該利用及付款資訊係代表根據網路服務提供者及使用資 訊而收集資料。該利用及付款資訊係包含代表對於感興趣 30 200300315 之每一個網路服務提供者之成本,付款及利用之資料。 熟悉本項技藝人士應可以瞭解,該網路服務提供者資 料係能夠以許多方式而被提供至該使用收集器2 0 4。舉 例而言,該網路服務提供者資料係能夠被提供被該資料流 所使用之資料路徑,或者能夠被一個具有優先權如此實施 之一個實體所提供,諸如一個網路工程師使用於第1 C圖 之來源網路8 2中之一個使用者圖形介面而將該資料輸入 至一個計算裝置之內。 此外,使用收集器2 0 4係建構成監視定義一個網路 服務提供者之資料通信容量,成本等等之使用特性。提供 至使用收集器204之該使用資訊係包含由諸如如開關, 邊界路由器,網路服務提供者裝置,及其他使用於透過資 料網路而傳輸之裝置而來之使用特性。使用係指代表瞬間 或者接近瞬間之特性(亦即使用特性)的測量之資料(亦 即諸如於時間(0 )之X百萬位元之原始資料),其係定 義舉例而言每一個網路服務提供者之負載及可使用之容量 。使用係爲時間上之使用率。舉例而言,假設監視網路服 務提供者1之該使用收集器係測量其時間上之利用率或者 容量爲於時間(0 )係X百萬位元且於時間(1 )係Y百 萬位元,此原始資料或者使用係被使用於計算利用率或者 網路服務提供者1之使用率(例如Y-X/時間(0 ) -時 間(1 ))。頻寬係爲對於通信流可使用之每一個路徑或 者路徑之路段之總容量。於一個實施例中,該使用係能夠 於任何數目之跳躍或者由一個第一點而來之網路下之任何 31 200300315 路徑中之任何路段處被測量。負載典型地係定義一個特定 的路徑係被使用於攜帶資料之容量,且能夠被表示爲負載 /頻寬。 該使用收集器2 0 4係被設計成根據使用資訊及該網 路服務提供者資料而產生該利用及付款資訊。因爲該些網 路服務提供者之每一個係具有不同的成本及付款結構以及 決定使用成本之方法,所以該使用收集器2 0 4係操作成 收集使用資訊,以因而提供該控制器2 0 2該利用及付款 資訊。軟體應用或者其他裝置可以被使用於實施用於會計 目的之利用及帳務資訊。 該使用收集器2 0 4係然後提供該利用及付款資訊至 該控制器2 0 2,以用於每一個網路服務提供者之興趣。 熟悉本項技藝人士應可以瞭解,當需要更佳地實施路由控 制時,該使用收集器係能夠根據該網路服務提供者使用資 訊而提供額外的資訊至該控制器。 該控制器2 0 2係收集由該被動校準器2 1 4,該主 動校準器2 1 0,該使用收集器2 0 4及或者通信貯存器 2 1 6之每一個而來之資訊(亦即,被收集之效能及使用 特性)。根據該收集之資訊,該控制器202係決定最佳 地減少對於由被傳輸至該控制器2 02之政策資料206 所代表之資訊的政策違反之一項行動。一旦該項行動被決 定,該控制器2 〇 2係起始化及傳送一個網路路由改變請 求至該結構元件2 0 8。於一個特定的實施例中,該控制 器2 0 2亦提供表示能夠被使用於解決該政策違反之一或 32 200300315 多個替代的資料路徑之資料。 該結構元件2 0 8係被設計成與資料指引器2 0 6作 網路中之路由改變之通訊。一旦該結構元件2 0 8係傳送 一或多個路由改變時,該資料指引器2 0 6係接著移動資 料流2 1 8由一個目前的路徑至另一個路徑(例如由網路 服務提供者1至網路服務提供者η或者網路服務提供者I 之一個第一路徑至網路服務提供者I之第二路徑)。因此 ,該資料導引器2 0 6係操作成根據舉例而言跨越每一個 鏈結所測量之該成本及效能,而分配通信量至跨越複數個 網路服務提供者鏈結之這些目的地。 於操作時,該結構元件2 0 8係與該資料指引器2 0 6通訊一或多個路由改變,舉例而言,藉由使用一個諸如 邊點閘道協定之一個路由協定。結構元件2 0 8係作用爲 藉由修改通過該結構元件2 0 8之該通信量之該來源位址 而動態地控制路由之行爲。該來源位址係以改進應用效能 及成本條件之方式而修改。 下列之敘述係爲一個示範性之控制系統2 0 0之該些 元件之每一個之一個更詳細之敘述。參照回該主動校準器 2 1 0,該主動校準器2 1 0係提供於該系統2 0 0內之 主動機構,以用於決定下游或者上游之本質。該資訊典型 地係無法於使用於諸如網際網路之資料網路之任何傳統之 協定或者上游路徑中取得,且必須於正常程序網路之外被 收集。如示於第2圖,該主動校準器2 1 0係連接至該控 制器2 0 2,以提供至少一個不符合諸如最小效能水準之 33 200300315 政策條件之目的地前置頭。一旦接收到,該主動校準器2 10然後係起始一個決定至該目的地位址之大部分或者全 部的可取得的網路路徑之校準程序。該控制器2 0 2係被 設定成,根據條件實施或者校正之該特定的政策而選擇該 主動校準器2 1 0將被使用之最適合的探測器,其後,使 用主動校準器2 1 0而起始網路路徑之主動探測器。 於一個實施例中,該主動探測器係透過可使用之資料 路由而由該資料導引器2 0 6通訊至可使用之網路或者網 際網路路徑。該返回之主動校準探測器係透過資料導引器 2 0 6而接收。然後,該主動校準器2 1 0係轉送該探測 器之資訊回該控制器2 0 2,該控制器2 0 2係包含具有 替代的可取得之路徑之效能資訊,其係存於該通信貯存器 2 1 6中。該控制器2 0 2然後決定如何最佳地實施與該 主題通信流相關之政策的特定情況。示範性的校準器2 1 0係採用主動的校準機制,以提供舉例而言長期的統計。 於本發明之另一個實施例中,該主動校準器2 1 0係 駐留於資料指引器2 0 6之內,或者能夠被整合至該控制 器2 0 2之內。有數個適合於實施本發明之商業上可取得 的路由器之專有實施。適合的主動探測器之一個範例係爲 該遠距監視(RMON)探測器。思科系統公司係使用由該遠 距監視探測益推導而來之服務確保代理(Service Assurance Agent, SAA),以傳送出主動探測。該服務確保代理係允許 路由器去測量及報告網路起源之應用來回程時間(Round Trip Times,RTT)。雖然對於網路校準而言,並非每一個下 34 200300315 述之探測器係於該服務確保代理中可以使用,熟悉本項技 藝人士將可以瞭解,下述之每一個係如何可以被實施,以 實施本發明之一或多個實施例。 一個示範性的主動校準器210係可以使用網際網路 協定控制訊息協定(Internet Control Message Protocol,ICMP )之回應請求或者其他之快速型探測器,輕量的傳輸控制 協定爲基礎之探測器,刺激探測器,“零碎路徑”探測器 ,使用具有一個預先定義之生存時間之使用者資料簡協定 (User Datagram Protocol, UDP)封包之輕量探測器,路徑 路由探測器,或者其他適合於由根據本發明之該主動校準 器2 1 0所使用之主動校準器。如於此所使用,“重量” 是否爲重的或者輕量的係爲是以一個特定的資料路由係比 另一個爲佳之本地量測。一個重量係使用一個路由地圖而 給予一個特定路由器上之一個資料路由,且係意欲僅由該 路由器所使用。因此,於此所指之該輕量之探測係指其係 根據本發明之一個實施例所產生之每一個路由地圖之一個 特定的預先定義或者導引之路由器。 這些由第2圖之該主動校準器210所接收回之探測 係由其來源地址所送出。如此之探測係發源於一個示範性 之狀態電腦系統駐留地且由該示範性之狀態電腦系統駐留 地所接收,舉例而言爲於該本地使用者或者於一個路由器 上之一個狀態處理器。於另一個實施例中,探測器之使用 及主動校準器係根據敘述於申請於2 0 0 1年4月1 0曰 之名稱爲“具有智慧型路由之確保網路服務水準之系統及 35 200300315 方法”之美國專利申請案第0 9 / 8 3 3,2 1 9號且律 師文件編號爲021089 — 000100 US而操作,且 該文件係於此倂入作爲參考。 第2圖之示範性之示範性的被動校準器2 1 4係被建 構成接收且不用與諸如顧客網路或者網際網路通信之網路 通訊資料作介面連接。該網路通訊資料路由(亦即網際網 路協定資料通信)當被該被動校準器2 1 4所監視時,係 包含目前是且由資料指引器2 0 6而來而提供至該被動校 準器2 1 4之該資料通信流2 1 8之預設或者目前路由。 該目前被選擇路由之路徑舉例而言係爲一個封包根據標準 路由協定將採用之路由器之間之路徑(例如跳躍接著跳躍 )。該被動校準器2 1 4係連接至(亦即,以電氣方式, 以光學方式,以無線電波方式等等)該控制器2 〇 2,以 提供指示是否該特定的網際網路協定資料通信係於諸如由 一個流政策所決定之可接受之效能矩陣之範圍之內。該被 動校準器2 1 4係操作成同時監視所有透過資料流2 0 2 所接收之通信,且係被設計成克服僅根據諸如示於第1 D 圖之典型的多重路徑之主動通信分析之複雜性。舉例而言 ,當該控制器解決政策違反時,該被動校準器2 1 4係操 作成克服於諸如典型的多重路徑(例如ECMP)之多重路徑 中僅實施主動通信分析之複雜性。 於本發明之另一個實施例中,該被動校準器2 1 4係 檢查於兩個方向(亦即入站及出站)之通信流,且分類每 一個通信流成爲流。通信流係根據於時間上之實施中之協 36 200300315 定狀態(例如諸如關於傳輸控制協定會談)而於該被動校 準器2 1 4之內被監視。舉例而言,該被動校準器2 1 4 係根據來回程延遲,封包遺失之百分比及每一個通信路由 或者流之抖動而分類該通信流。如此之通信路由資訊係被 使用於特性化攜帶該通信流之該些路徑之該“端點至端點 ”效能。其係包含流速率,且係被集合成爲一系列之網路 前置頭。 如上所述,該被動校準器2 1 4係連接成儲存,擷取 及更新儲存於通信貯存器2 1 6 (連接係未示出)中之通 信及路由資訊。示範性之通信貯存器2 1 6係爲一個建構 成儲存及維護代表對於使用諸如第2圖之系列2 0 0之流 控制系統之該終端使用者有用之通信及路由資訊之及舉例 而言一個網路服務提供者之操作者之資料。於該通信貯存 器2 1 6內之該資料係包含關於該通信之長期統計資料。 這些統計資料將被使用於報告,分析目的及提供對於一個 根據本發明之流控制系統之一般的回饋。 如此之回饋舉例而言將包含許多被傳送出之通信之形 式,來源位址,目的地位址,應用,由ToS或者DSCP ( DiffServ Code Point)所傳送之通信設定(其可以被整合至 一個差動付款系統中)及通信量所傳送之通信。這些統計 資料係被饋入至該通信貯存器2 1 6中,其中,舉例而言 ,一個報告引擎或者其他某些分析程序係已經存取該些統 計資料。儲存於通信貯存器2 1 6內之資訊係爲代表配置 於熟悉本項技藝人士瞭解之適合的資料結構中之通信路由 37 200300315 特性之資料。 第3圖係爲顯示根據本發明之一個實施例之一個被動 校準器3 0 3之示範性元件之一個詳細功能方塊圖。該被 動的校準器3 0 3係包含舉例而言被動流分析器3 3 0 ’ 輸出流分析器3 3 1及內容分析器3 3 3 2。 於一個實施例中,該被動流分析器3 3 0係於該通信 上實施被動分析,以監視目前之通信流特性,使得該控制 器能夠決定是否該被監視之目前通信流係符合相關之政策 條件。該輸出流分析器3 3 1係對於:由一個諸如由通知 通信形式之這些裝置(例如路由器)之網路裝置而來之輸 出流紀錄,來源及目的地位址及其他關於其經過服務提供 者鏈路之通信之資訊,實施被動分析。如此之一個網路裝 置之一個範例係爲思科公司之NetflowTM產品。於另一個實 施例中,該被動流分析器3 3 0係根據敘述於上述提及之 申請於2 0 0 1年4月1 0日之名稱爲“具有智慧型路由 之確保網路服務水準之系統及方法”之美國專利申請案第 09/833,219號而操作。 該內容流分析器'3 3 2係實施諸如網路位置內容之資 料內容之特定元件之被動分析。該輸出流分析器3 3 1及 該內容流分析器3 3 2係決定與一個特定的使用者之政策 相關之一組相關之前置頭或者一個前置頭列表3 3 4。該 前置頭列表3 3 4係被傳送作爲代表諸如前置頭之資料而 至於該計數器中之一個主動偵測程序。該前置頭列表3 3 4係能夠爲建構成儲存代表效能及使用特性之資料的一或 38 200300315 多個列表或者資料結構,且係設計成爲藉由該控制器而接 收一個詢問。一旦被詢問,該被動流分析器係提供其之一 或多個前置列表或者一部分至該控制器,以用於決定一個 政策違反,以用於決定哪一個路由或者路徑係符合該流政 策,該路徑係爲用於選擇資料之路由之最佳路徑或者其類 似物。一個示範性的前置列表係能夠被該輸出流分析器3 3 1及該內容流分析器3 3 2以及該被動分析流分析器3 3 0而被產生。 該輸出流分析器3 3 1及該內容流分析器3 3 2亦係 被建構成當一個先前未被看見之前置頭已經被加入至該前 置頭列表3 3 4中時,通知該控制器3 0 5。新的前置頭 通知訊號3 3 5係致能該控制元件1 0 0 5建立一個用於 該前置頭之新的基本線效能,且假如有需要的話,以一個 非預設之路由或者替代的路由(例如非邊界閘道器協定) 而產生該路由表。 該內容流分析器3 3 2典型地係當通信流3 4 0之該 主要的來源係爲網址或者其他的內容時被使用。該內容來 源3 4 1係能夠被建構成使得必須被最佳化之特定的或者 主要的內容3 4 2係能夠藉由使用舉例而言一個內建的使 用者路由列表(URL) 3 4 3。該使用者路由列表3 4 3 係再導引該客戶至一個於該內容流分析器3 3 2上執行之 一個小的內容伺服器。該內容流分析器3 3 2係接收用於 該小的內的元件之一個請求,其一般而言係爲一個小的影 像檔案(例如1 * 1 GIF),且係對於該主要的原始內容而 39 200300315 言係爲不可見的或者不可感知的,且對於具有該小的內容 元件3 4 4之客戶作出回應。該內容流分析器3 3 2然後 儲存或者記錄該交易,且藉由使用該些記錄,該內容流分 析器3 3 2係能夠實施結合及組合內容前置頭列表3 3 4 。該列表3 3 4係傳送至該控制器2 0 2,舉例而言,以 用於主動服務水準監視及政策實施。 第4圖係顯示一個示範性的內容流分析器4 3 2之一 個功能方塊圖。該內容流分析器4 3 2係處理用於一個小 的元件內容之請求4 2 0,其舉例而言係爲一個1 *1之像 素檔案,其係無法於該結果之頁上被感知(雖然其不需要 被感知)。該小的元件係與一個較大的內容集合之該主要 的或者一般而言特定的頁相結合。該小的元件舉例而言係 爲一個內建於該內容內之小的再導引使用者路由列表。 該小的再導引使用者路由列表係實施作爲產生一個超 文字傳輸協定(HTTP)請求4 2 0,以回應該小的內容元 件。內容流分析器4 3 2係看出此請求4 2 0,且以一個 輕量的超文字傳輸協定伺服器4 5 3對其作出回應4 2 2 。該超文字傳輸協定伺服器4 5 3係快速的且重量輕的, 且係僅作爲以該影像檔案作回應。該超文字傳輸協定伺服 器4 5 3係記錄請求該網頁之該客戶之該網際網路協定位 址’且傳送該一或多個位址至集合器4 5 4。該集合器4 5 4係集合或者收集個別的網際網路協定元件4 2 4至變 化之粗度的前置頭(例如/8至/3 2),且亦集合每一 個前置頭於一個對話被看見之頻率。 200300315 亦即,該集合器4 5 4係根據事件之頻率而分類前置 頭,且提供集合(群組化)之前置頭4 2 6至前置頭列表 產生器4 5 5。該前置頭列表產生器4 5 5係根據舉例而 言關於由集合的或群組化的前置頭4 2 6所定義之該系統 之整體操作之一個前置頭的重要性而產生目的地前置頭列 表4 2 8。舉例而言,每一個被監視之通信流係被檢查, 以決定與一個目的地前置頭或者位址相關之效能特性。 集合的前置頭4 2 6 —般而言係根據流之頻率及平均 的或者總計的流體積而分類。前置列表產生器4 5 5係傳 送更新至目前之前置頭列表4 2 8而至第2圖之該控制器 2 0 2,且當觀察到一個新的前置頭時,亦以新的前置頭 通知訊號4 3 2通知該系統之其他元件。該前置列表產生 器4 5 5係儲存該前置資訊4 3 0至固有的儲存器,以用 於報告及分析之目的。一個新的前置頭係提供一個未知的 新的額外之替代路徑或者路段,直到某一個時點爲止。與 該新的前置頭相關之該新的替代路徑或者路段係能夠提供 流政策之順應性,且因而能夠被使用於再選擇資料路由或 者改變資料路由,以排除一個政策之違反。 參照回第3圖,該輸出流分析器3 3 1係結合能夠以 可以被該分析器3 3 1所使用之格式輸出流資訊的網路元 件而操作。一個不範性之格式係爲Cisco NetFl〇wTM輸出格 式。任何設計成輸出流資訊之網路元件,諸如路由器3 4 5或者一個第2層之開關,因此亦係被建構成被動地監視 正在處理之通信’且轉送輸出記錄3 4 6至該輸出流分析 41 200300315 器3 3 1。該輸出流分析器3 3 1係作用爲處理輸出流記 錄3 4 6,集合該些流至前置頭元件之內,且產生前置頭 列表3 3 4。該前置列表一般而言係爲由該流控制系統所 觀察到之所有前置頭之一個子集合。一個前置頭係根據於 一觀察期間之流體積及流頻率而由所有前置頭選擇出。然 後,舉例而言,該被選擇出之前置頭係於該列表被傳送至 第2圖之該控制器2 0 2之前,被置放於該前置頭列表3 3 4之中。 第5圖係顯示示範性之輸出流分析器5 3 1之一個功 能之方塊圖。該輸出流分析器5 3 1係包含格式解譯器5 49,分析器550及前置列表產生器552。該格式解 譯器5 4 9係被建構成接收由設計成傳送至其之該網路元 件而來之輸出流資料簡5 2 0。然後,該格式解譯器5 4 9係傳送個別的流資訊5 5 2至該分析器5 5 0。該分析 器5 5 0係操作成解譯由被該被動校準器所監視之該些流 而來之目的地網際網路協定元件。該分析器5 5 0亦係根 據總計的流體積或者傳輸速率(例如以位元組/時間爲單 位)以及目的地位址之流頻率,而集合通信流成爲集合元 件其後,該分析器5 5 0係傳送該集合元件5 2 4至該集 合器5 5 1。該集合器5 5 1然後係以許多前置頭粗糙度 (例如由/8至/ 3 2 )產生前置頭水準之目的地資訊5 2 6 (亦即集合前置頭量及頻率)。換句話說,該集合器 5 5 1係決定該頻率,期間,或者於一被觀察期間對於一 個特定的前置頭之關於該前置頭之事件之集合量。 42 200300315 目的地前置頭列表5 2 8係藉由舉例而言排列等級及 組織化關於以相對重要之次序的前置頭的通信流特性,而 由前置頭列表產生器5 5 2所產生。列表5 2 8係包含代 表前置頭之列表5 2 8之集合的資料,且係被組織成決定 由該系統或者一個實體所決定之該相關性,以確保政策實 施。舉例而言,一或多個前置頭係能夠根據流頻率及平均 或者關於可以於整體系統中與前置頭一起取得之總計流量 而被排序。前置頭列表產生器5 5 2係傳送更新至該目前 之前置頭列表而至第2圖之該控制器2 0 2,且當透過一 個新的前置頭通知訊號5 3 2而觀察到一個新的前置頭時 ,亦通知該系統之其他元件。該前置列表產生器5 5 2係 儲存所有前置資訊5 3 0至固有的儲存器,以用於報告及 分析之目的。 第6圖係顯示第3圖之一個示範性的被動流分析器6 3 0之一個功能方塊圖。於一個實施例中,該被動流分析 器6 3 0係被設計成產生前置列表6 3 4及新的前置頭通 知訊號6 3 5,且產生集合的流資料6 8 0,包含網路效 能及群組成爲相關特性之使用統計資料。舉例而言,某一 大小之前置頭能夠由於時間上所觀察到之最高通信量至最 低通信量被集合,或者群組化。該集合之流資料6 8 0係 傳送至該控制器6 0 5,且係被該控制器6 0 5所使用, 以決定是否該目前的通信流係違反或者無法符合一個給定 的目的地之相關的流政策。該被動流分析器6 3 0亦作用 爲儲存被集合之流資料6 8 0於通信貯存器6 2 1之中, 43 200300315 其中,其係能夠被使用於特性化歷史的路由及通信流效能 。於本發明之另一個實施例中,一個前置頭列表產生器係 不包含於第6圖之該被動流分析器之中。 該被動流分析器6 3 0係使用該通信6 0 2之一個拷 貝,透過如示於第2圖之一個被動網路接點或者架設之開 關埠以監視用於通信之該網路效能。該被動流分析器6 3 0亦能夠監視及特性化使用者資料簡協定通信樣式,以用 於異常的行爲,諸如非週期性的流,或者類似狀況。該被 動流分析器6 3 0係能夠使用許多神經網路技術以學習及 瞭解想要之應用的正常的使用者資料簡協定行爲,且指示 何時該行爲已經改變,其係可能指示能夠被眾所周知之主 動探測技術所驗證或者解釋之服務水準違反。 此外,該被動流分析器6 3 0係根據該特定通信流之 每一個係如何被分類而被設計成爲“應用感知”。通信能 夠根據敘述於上述之美國專利申請案第0 9 / 8 3 3,2 1 9號中之該分類器而被分類。亦即,該被動流分析器6 3 0係能夠檢查通信6 0 2之每一個封包之該酬載,以解 譯特定的網路應用之該效能及操作,舉例而言,諸如透過 網際網路協定之語音的即時傳輸控制協定(Realtime Transport Control Protocol, RTCP)之解譯及捕捉。 於第6圖中,該被動流分析器6 3 0係包含封包捕捉 引擎6 5 0,封包分析器6 5 1,相關性引擎6 5 2,及 集合器6 5 3。該封包捕捉引擎6 5 0係爲一建構成接收 進入該網路及由該網路離開之通信(例如網際網路協定封 44 200300315 包通信)之一個被動接收器。通信之捕捉係被使用於便利 通信之分析,且用於決定是否一個目前的通信路由係符合 最小的服務水準或者政策需求。該封包捕捉引擎6 5 0係 設計成由一個通信流中移除一或數個或全部的封包,包含 離開該網路及進入該網路之封包。該封包捕捉引擎6 5 0 係操作成由舉例而言該核心之網路驅動器移除某些封包至 使用者之空間,藉由寫入至客戶網路驅動器以捕捉一個封 包之一部分。使用直接記憶體存取,該部分的封包係能夠 被直接拷貝至使用者之空間而不必使用該電腦之中央處理 單元。如此之封包典型地係於被捕捉前根據一或多個濾波 器而被移除。如此之濾波器及該些濾波器之使用係爲熟悉 本項技藝人士所眾所周知,且能夠被設計成舉例而言移除 所有形式之傳輸控制協定通信,——個特定的位址範圍或者 複數個範圍,或者來源或目的地位址、協定、封包大小或 者資料匹配等等之任何組合。數個常見的圖書庫係存在以 實施此功能,該最常見的係爲“圖書庫封包捕捉”。該圖 書庫封包捕捉係爲一個與系統無關之用於捕捉寫於 Lawrence Berkeley國立圖書館中之封包的介面。Berkeley封 包濾除器係爲如此之捕捉程式的另一個範例。 該分析器6 5 1係連接成接收被捕捉之原始封包,且 操作成去除該些封包之結構,且接收由在該通信流中之每 一個而來之關於該封包之特定的資訊。示範性之分析器6 51係由該網際網路協定及傳輸控制協定標頭取出資訊。 如此之由該網際網路協定標頭取出之資訊係包含來源及目 45 200300315 的地網際網路協定位址,編碼於該服務形式位元中之DSCP 資訊,及其類似物。DSCP係攜帶關於網際網路協定封包服 務形式條件之資訊。每一個DSCP係定義一個通信等級之 每一個跳躍之行爲。DiffServ係具有個碼點,使得其係能夠 定義6 4個不同形式之通信分類。傳輸控制協定資訊係包 括來源及目的地埠號碼,流水號,確認號碼,該傳輸控制 協定旗標(同步,確認,結束等等),該視窗大小,及其 類似物。 由該傳輸控制協定標頭分析而來之傳輸控制協定元件 係特別有用於決定是否一個政策係根據效能而被實施。然 而,一個增加的通信量係不根據傳輸控制協定且替代的是 使用使用者資料簡協定。使用者資料簡協定係不包含根據 傳統方法而決定服務水準之必要的資訊。 爲了決定對於這些目的地之服務水準,本發明可以採 用一個至相同前置頭之並行的傳輸控制協定通信之一個統 計上的相關量,或者對於該相同的目的地之一系列的主動 探測,或者具有對於該封包分析更深入之分析器且瞭解於 該應用層(例如第7層)之通信。有一些於使用者資料簡 協定上執行之協定係具有不同於該網路上之大部分其他的 資料通信之特定的條件。這些協定係大致上被分類爲“即 時”協定’且包含類似訊息流媒體及透過網際網路協定之 語音(H.323 )之事務。於某一水準之下之封包損失及延遲 係爲對於即時協定之第二考量。 然而,最重要的是減少於封包間到達之變化的次數( 46 200300315 亦即網路抖動)。諸如Η.323之許多即時協定係以眾所周 知之即時傳輸控制協定(Real-Time Transport Control Protocol, RTCP)報告於支援之通道通訊中觀察到的抖動, 該即時傳輸控制協定係用於透過網際網路協定多重發送分 配具有回饋之時間相關的媒體資料。假如第3圖之該被動 流分析器6 3 0係爲“應用感知的”,則其係能夠捕捉及 觀察該即時傳輸控制協定之內容,且當進行中之網路路徑 係不符合最小抖動條件時係可以感知。此係能夠以3 0 % 封包損失時相同的方式觸發一個服務水準協議。 相關器6 5 2係操作成解譯及群組化由該些封包而來 之封包元件(例如傳輸控制協定及網際網路協定),以決 定該流之目前的服務水準,且然後匹配來源及目的地網際 網路協定位址及埠號碼,其係類似於防火牆之監視的程序 。該相關器6 5 2係藉由於一個傳輸控制協定交易期間測 量數個通信特性而決定該目前之服務水準。舉例而言,該 相關器6 5 2係決定於一個網路上所引起之來回程時間, 且因此,其係作爲用於該網路通信之延遲的一個測量。 第7A圖係顯示第2圖之使用收集器7 0 0之一個詳 細的方塊圖。該使用收集器7 1 5係操作成收集由網路提 供者而來之使用資訊7 7 3,諸如位元組計數(亦即傳送 至網路服務提供者及由網路提供者接收而來之通信量)。 該使用收集器715係使用該資訊以計算與該網路服務提 供者相關之資料路徑的網路服務提供者利用率,負載等等 47 200300315 該使用收集器7 1 5亦操作成重建網路服務提供者之 帳務記錄。該使用收集器7 1 5係接收關於每一個網路服 務提供者連結之網路服務提供者之結構資訊7 7 1。該網 路服務提供者結構資訊7 7 1係詳細記錄於許多路由器7 7 2 (例如出站路由器)上之介面,網路服務提供者之下 一個跳躍網際網路協定位址追蹤路由探測(以驗證目前使 用之網路服務提供者與追蹤探測器一起使用),帳務起始 及結束日期,用於計算利用率及每百萬位元每秒之價格的 電路頻寬,最小實施頻寬,可叢集之速率,網路服務提供 者取樣間隔,提供者帳務演算法,一個利用警示臨限及類 似資訊。 於操作時,示範性之原始收集器7 7 4係傳送一個詢 問7 9 0 (例如SNMP)以於一特定取樣期間收集由在每一 個網路服務提供者電路上之路由器7 7 2而來之介面原始 位元組計數。網路服務提供者電路係包含路徑,虛擬或者 真實的管道,T1,及類似路徑。原始收集器7 7 4係置放該 原始位元組計數7 8 0於持續性的儲存器之中,以用於後 續的報告及分析。原始收集器7 7 4係傳送該原始資訊至 兩個其他的元件:利用率監視器7 7 5及帳務重建器7 7 6 〇 該利用率監視器7 7 5係使用該原始位元組計數及網 路服務提供者結構資訊7 7 1而計算每一個網路服務提供 者之入站及出站電路利用率。於一個範例中’該網路服務 提供者結構資訊7 7 1係包含該網路服務提供者之電路的 48 200300315 頻寬。利用率資訊7 6 4係包含代表與短期預測模型(例 如ARIMA,指數平滑模型等等)一起使用之利用率趨勢的 資料,使得該利用率監視器7 7 5係能夠決定對於一個給 定的服務提供者而言,是否頻寬係爲趨勢向上或者向下( 亦即大小增加或者減少)。 該帳務重建器7 7 6係使用由網路服務提供者結構資 料7 7 1而來之該帳務資訊,以重建該目前的帳務期間之 該目前網路服務提供者的帳務速率。該帳務資訊係包括解 釋特定網路服務提供者使用以計算諸如一個付款速率之成 本的方法之資訊。如此之計算使用一個網路提供者之帳務 之方法係爲熟悉本項技藝人士所眾所周知。帳務重建器7 7 6係應用類似的網路服務提供者帳務方法至由該原始收 集器7 7 4而來之該原始位元組計數,以產生該帳務及相 關之帳務費率等等。被映射至元的數量之產生的帳單典型 地係爲估計値,因爲該網路服務提供者及使用收集器7 1 5之間之取樣時間將不準確地匹配。該帳務重建器7 7 6 將傳送帳務資訊7 6 1至該控制器7 0 2,以用於尖峰避 免及最小之成本路由。尖峰避免係被定義爲避免使用於一 個較高之帳務費率的路徑或者路段之方法。最小成本路由 係指使用或者預設通信至該最便宜之網路服務提供者之方 法。 此外’該資訊係能夠被傳送至控制器7 0 2,以用於 在效能係不重要之情況下之選擇最便宜之最少成本固定方 式°亦即’該控制器7 〇 2係使用由帳務訊息7 6 1而來 49 200300315 之資料,包括帳務費率,以部分根據一個路由之自由頻寬 (亦即,該路由係不導致額外的使用成本)而決定一個符 合該流政策之替代的路由。 第7 B圖係顯示本發明之又一個實施例之範例,其中 ,該控制器7 0 5係與結構元件7 8 4通訊。該控制器7 0 5及該結構元件7 8 4係類似於第2圖之類似名稱之元 件。第7 B圖之該結構元件7 8 4係以類似於此所敘述之 其他結構元件之變形之方式操作。亦即,該結構元件7 8 4係調整資料通信之目前或者預設之路由,且因此,調整 舉例而言於一個本地配置(例如出現之點)中之預設路由 行爲。路由伺服器7 9 1係接收由感興趣之資料網路而來 之路由表之一個全集合或者子集合。雖然一個路由伺服器 7 9 1係被實施作爲一個結構元件,本發明之替代實施例 係可以使用除了邊界閘道器協定之其他協定,諸如調整過 之來源位址,透過一個防火牆而選擇至複數個保密通道之 資料的路由,或者其他的網際網路保密措施。 於一個實施例中,藉由由該本地轉接網路服務提供者 之一個全集合或者子集合而來至邊界閘道器協定4引擎7 8 2之一或多個預設之邊界閘道器協定4饋入7 9 2。於 第7 B圖中,該邊界閘道器協定4係被指示作爲用於實施 期望之邊界閘道器協定的協定版本。然而,至邊界閘道器 協定或者連續的協定群組之未來的修改可以被釋放,以取 代邊界閘道器協定4,且於此敘述之本發明之實施例係不 意欲僅被限制成邊界閘道器協定及邊界閘道器協定4。其 50 200300315 係想像其他網路互相連接之協疋的協疋及版本係可以被使 用以取代於此敘述之協定。 參照回第7 B圖,該邊界閘道器協定4引擎7 8 2係 整合或者合倂所有路由至一個單一邊界閘道器協定4路由 表7 8 3之最佳可取得路由。於另一個實施例中,路由伺 服器7 9 1係維持一個具有所有內部邊界閘道器協定可取 得之路由器的i邊界閘道器協定期間,而非維持如示於第 7A圖之該邊界閘道器協定4對話。因爲一個單一 i邊界閘 道器協定對話,係不需要於實施路由改變之前建構具有該 網路服務提供者之所有邊界閘道器協定對話。 該結構元件7 8 4係被設計成接收由邊界閘道器協定 4引擎7 8 2而來之一或多個邊界閘道器協定4路由表7 8 3 ’且係適合於接收由控制器7 0 5之該控制程序造成 之一或多個控制訊號及資料。於操作時,該結構元件7 8 4係由該控制器7 0 5接收於該預設路由表7 8 8中實施 之該必須之路由改變。然後,該結構元件7 8 4係結合一 或多個改變於被修改之路由表7 8 9。 因此,該結構元件7 8 4係操作成修改該邊界閘道器 協定4路由表7 8 3,且產生一或多個修改過之邊界閘道 器協定4路由表7 8 8。該修改過之邊界閘道器協定4路 由表7 8 8係包含修改過之路由7 8 9,更特定的路由之 通知等等。然後,新的修改過之邊界閘道器協定4路由表 7 8 8係被饋入至於該網路內之所有邊界閘道器協定客戶 ,然後,其係被使用於導引通信至該目的地。 51 200300315 敘述於第3,4,5,6及7圖之每一個實施例係提 供關於該控制器2 0 2之實施的資訊(如定義於第2圖) 。於第3至7圖之每一圖中,係提供詳細的訊問,以使得 熟悉本項技藝人士能夠實施該控制器2 0 2及可通訊的資 源,諸如使用收集器2 0 4,資料導引器2 0 6,結構元 件2 0 8,主動校準器2 1 0及被動校準器2 1 4。參照 回第2圖,該結構元件2 0 8係連接至該控制器2 0 2及 至資料導引器2 0 6。該控制器2 0 2係提供至一個目的 地前置頭之最佳之路徑而至該結構元件2 0 8。該結構元 件2 0 8係操作成改變用於需要校正之行動之目的地之預 設路由行爲(亦即目前的路徑)。該結構元件2 0 8係藉 由舉例而言傳送一個修改過之位址的路由表至該資料導引 器2 0 6而改變該路由行爲。 一旦該資料導引器2 0 6接收該資訊,該控制器2 0 2係被通知一個路由改變已經被實施。其後,該控制器2 0 2係與該被動校準器2 1 4通訊,以淸除其狀態且重新 開始監視該目的地。該目的地係被監視,以確保該路由表 或者路徑之更新過之路徑係符合最小服務水準(例如,不 違反SLA,由該政策所定義之同意的效能矩陣而來無不可 接受之變異,如下文敘述之關於在控制器2 0 2邏輯中之 事件的最佳效能之標準或者其他流政策例外)。 於一個觀點中,該結構元件2 0 8係致能對於資料通 信流2 1 8之構形。該結構元件2 0 8係可以駐留於一個 伺服器、保密通道、網路開關、網際網路協定保密裝置或 52 200300315 者應用、負載平衡器、防火牆或者其他用於與一個當於一 個目的地及一個來源之間連接一或多個路徑或者當透過一 個單一路徑而傳送修改過之通信時使用之網路一起使用之 保密致能裝置之中。於另一個觀點中,結構元件2 0 8係 駐留於一個路由器之中且係建構成修改一個路由地圖或者 表。於又一個觀點中,該結構元件2 0 8係適合於提供可 以儲存於一個諸如路由表之資料結構中之結構資訊。於又 另一個觀點中,該路徑資訊係根據是否其係關於入站或者 出站通信與否而儲存於該結構元件2 0 8之中。 對於一個給定之位來源位址而言,至一個網路之該入 站點典型地係由對於下游網路服務提供者及一個網路服務 提供者之政策(由如此之網路服務提供者所設定之一組規 則)實施之路由通知而決定。最後,管理該目的地之該網 路服務提供者(例如網際網路服務提供者,資訊服務提供 者)將接收如此之通知,發佈較佳之路由,目的地,路徑 及根據本發明之一個實施例之控制器2 0 2所實施之路由 改變。舉例而言,於本發明之一個實施例中,通知或者發 佈一個“/1 6”之路由前置頭將指示僅該位址之前6個 位元係相關的,且假設係可以使用3 2位元敘述一個特定 的位址,則所有至該前置頭之所有相關及後續之位址亦將 被認爲該被通知之路徑之一部分。 第2圖之該控制器2 0 2係設計成接收由該校準器元 件所監視之諸如延遲、損失、抖動等等之效能特性以及由 該使用收集器所監視之諸如頻寬、成本之使用特性。該控 53 200300315 制器2 0 2係連接至該政策貯存器2 1 2以接收政策,如 下文之更詳細敘述,其典型地係包含最小效能矩陣及諸如 成本/效能優先權及測量行爲之其他決定標準。這些矩陣 或者條件係與該被監視之效能及使用特性作比較。如下文 結合第8A,8B,8C及第1 3A至1 3C之敘述,許多 用於流政策之決定(例如成本,效能)標準係由該控制器 2 0 2所發展。 假如一個特定的政策係違反(亦即一或多個效能矩陣 係位於一或多個期望之範圍或者値之外),則該控制器2 0 2係決定符合該相關流政策之一或多個替代的資料路徑 之一個子集合。於另一個實施例中,該控制器2 0 2係選 擇一個最佳或者最佳化之路徑作爲最符合由該政策所定義 之該效能條件及使用條件之替代資料路徑(例如帳務輪廓 及合約,每一個個別之網路服務提供者之成本政策,系統 特定的或者使用者建構之靜態及動態政策)。下列之敘述 係關於諸如解決政策違反、實施該政策條件或者矩陣及政 策範例之政策及應用。 參照回第2圖,該控制器2 0 2係連接至政策貯存器 2 1 2,以用於接收一或多個政策。根據本發明之一個實 施例,每一個目的地係具有數個政策狀態,包含新的或者 老舊的,例外(此一般而言亦可以根據本發明之其他實施 例而指政策違反),高流量,及靜態持續前置頭。新的或 者老舊的政策狀態係敘述於該控制器2 0 2中一個新的路 徑或者一個現存之路徑已經老舊且被該控制器2 0 2所看 54 200300315 見之事件之邏輯。例外係指於特定政策範圍之外的一個政 策例外或者效能違反,當被該控制器2 0 2看見時,可以 造成一個路徑改變。高流量係爲一個當流量水準標準符合 時一個目前之路徑係能夠被選擇之路徑選擇係被實施之政 策狀態。靜態持續前置頭係爲一個造成當由控制器2 0 2 看見時造成目前路徑能夠被選擇之路徑選擇之特定的前置 頭或者前置頭集合之狀態。路徑選擇狀態能夠爲長期的或 者持續的。根據本發明之一個實施例,這些於控制器2 0 2邏輯中之事件或者狀態係確保該最佳之實施路徑係持續 被尋找且被選擇,不像傳統之諸如邊界閘道器協定之技術 ,其係無法調整成最佳實施之路徑。雖然一個示範性之政 策係包含關於偵測,效能,成本,及優先權之條件或者規 則,熟悉本項技藝人士將可以瞭解,較少或者額外之參數 係能夠根據本發明而被測量或者實施。 偵測係被定義爲藉由該偵測流控制系統2 0 0係決定 哪一個通信應該作用以回應一個政策違反之技術或者機制 。該通信流係能夠藉由名稱,藉由來源或者目的地位址, 藉由來源或者目的地埠或者藉由任何其他已知之辨識技術 而被辨識。舉例而言,一個政策係能夠僅結合至前置頭。 亦即,該流控制系統2 0 0係將監視至一個特定的前置頭 或者由一個特定的前置頭而來之該通信流,且假如有需要 的話,將根據其條件而實施該相關之流政策。進一步關於 偵測,一個定義用於更多的特定之前置頭之政策係能夠比 更多一般前置頭具有優先權。舉例而言,假如一個/16 55 200300315 係包含該特定之/2 4,則該被定義用於一個/2 4之政 策將對於該/1 6具有優先權。 效能係爲敘述應用至一個給定之前置頭或者前置頭列 表之一或多個目標效能水準(亦即網路/品質水準政策參 數)或者其他被辨識之目的地集合(例如由應用,埠,協定 等等所辨識)。雖然可以定義超過一個以上之效能爲基礎之 政策條件,於此範例中,僅有一個單一政策係被應用至一 個給定之前置頭或者前置頭列表。示範性之效能條件係包 含損失,延遲及抖動。 此外,如此之條件係能夠被建構成爲舉例而言一個絕 對的、固定的値或者一個指數加權移動平均(Exponentially Weighted Moving Average, EWMA)。於另一個實施例中, 絕對値係建立一個數値之臨限,諸如表示爲一個百分比或 者於一個可建構之時間窗上之時間單位。該指數加權移動 平均方法係根據置放一指數加權於該最近之取樣之歷史取 樣而建立一個移動臨限,因而當其係關聯於歷史之情況時 ,確認能夠考量目前網路狀態之一個臨限。 於另一個實施例中,條件係能夠使用統計程序控制( Statistical Process Control,SPC)技術而被建構。該統計程 序控制技術係被使用,以決定對於一個給定前置頭之該網 路效能何時脫離該被觀察及期望之效能。該統計程序控制 係根據該歷史平均效能而產生控制限制上限及控制限制下 限(UCL,LCL)。該控制限制上限及控制限制下限係爲由 該長期觀察之平均而來之固定的差(例如ms)。然而,來 56 200300315 回程時間係與地理位置緊密相關且此係禁止該統計程序控 制之簡單應用其中,該控制限制上限及控制限制下限係使 用一個“固定的”差(例如1 0 ms)或者該被觀察之平均 的一個固定百分比。(例如1 0 %之變異係被認爲一個例 外)。 大部分的程序控制技術係假設資料係爲正常分佈的, 於該情況下,係具有許多程序控制圖能夠被應用。然而, 諸如網路延遲之效能矩陣係非正常分佈的,且如此一來, 定義deltaU及deltaL之標準程序控制圖係不能夠被使用。 該deltaU及deltaL係由該平均被使用於計算控制限制上限 /控制限制下限。如此一來,定義該控制限制上限/控制 限制下限之該程序控制圖係對於不同的效能値爲唯一的。 此造成一個用於決定一個唯一的程序控制圖之方法,且因 而決定控制限制上限/控制限制下限。流量輪廓係能夠於 帶或者値之週圍被定義,且將參照第1 0至1 3C圖而予 以更詳細地敘述。每一個輪廓係具有一個對於每一個矩陣 具有一個定義之deltaU及deltaL値的定義之效能(例如來 回程時間,損失百分比,一天中之時間)的範圍(例如0 至1〇1118,11至25 1113等等)。 於最基本之觀點下,決定dletaU/deltaL之函數係爲該 平均的來回程時間之一個非線性函數。於該程序控制圖之 又另一個實施例中,該函數係約等於諸如來回程時間之數 個平均效能値。此係造成相關於·所有效能値之一個單一 連續的程序控制圖。 57 200300315 控制限制上限及控制限制下限係定義兩組效能數目應 被認爲“相等的”之操作範圍。只有當一個候選人網路效 能係位於由該控制限制上限/控制限制下限所定義之該操 作範圍之外時,一個改變係被允許。此將防止一個於諸如 來回程時間或者損失之效能矩陣中之微小的差異能夠導致 一個路由改變之情況。 網路效能“例外”係當觀察到數個效能樣本係於該控 制限制上限之上或者於該控制限制下限之下時產生。於不 超過該控制限制上限/控制限制下限之該被觀察到的樣本 及該控制限制上限及控制限制下限之間之差係被認爲於相 等之範圍之內。然而,當定義作爲於控制限制上限之上或 者於該控制限制下限之下之數量時,例外係指示該實施之 系統(亦即該網路)係已經於基本之方式下作改變(例如 ,系統效能改進或者劣化使得超過該控制限制上限/控制 限制下限)。舉例而言,於一個例外之情況下,下游流控 制政策元件能夠檢查候選人路徑且決定是否由一個替代之 提供者能取得較佳之效能。 雖然該統計程序控制之結構係可以改變,一個用於一 個來回程時間效能矩陣之例外偵測之示範性預設結構係爲: 1)收集足夠的起始資料以建立平均値; 2 )用長期的來回程時間之平均値,計算由程序控制 圖而來之控制限制上限/控制限制下限; 3)假如一個“樣本”係被觀察爲高於該控制限制上 限/低於控制限制下限,則增加違反之計數,然而維持該 58 200300315 先前之歷史的來回程時間平均値; 4 )假如n個同時存在的樣本(例如定義該演算法敏 感度’預設爲η二3 )係觀察爲高於該控制限制上限/低於 控制限制下限,則該系統已經改變。丟棄該歷史的來回程 時間平均値(因爲其係不再相關於該新的系統),且於控 制器中將該前置頭貼上標籤作爲一個例外; 5)開始收集一個新的歷史的平均値;及 6 )步驟1至5可以以一個類似之方式應用至其他效 能矩陣。 成本係根據優先權及是否該政策係可預測的或者可反 應的而以政策定義作表示。成本係藉由第2圖之該使用收 集益2 0 4至帳務重建及頻寬利用之g周和以集合的及非常 粗糙的水準(例如藉由/2 4之目的地網路)而被特性化 。成本預測條件係被使用於主動地轉向由一個網路服務提 供者至另一個網路服務提供者之通信,以避免建立一個可 以觸發一個新的或者較高費率之尖峰(亦即尖峰避免)。 成本反應條件係被使用於當一個最小實施率或者目前費率 係超過時,作回應而轉向由一個網路服務提供者至另一個 網路服務提供者之通信。 典型地,成本預測及反應條件係造成一個二進位之決 定(亦即,一個電路或者路徑,舉例而言,係爲符合或者 違反一個流政策)。於預測成本之情況下,該轉接電路係 爲符合或者接著違反一個流政策。不論如何,一個行動係 必須被採取以解決該情況,除非效能係比成本重要(亦即 59 200300315 ,效能條件係於實施一個以成本爲基礎之改變之前被解決 )° 優先權係爲一個敘述一或多個目標使用或者利用特性 或水準之政策條件。優先權係包含網路服務提供者之效能 及最大利用率(亦即負載)之條件。該網路服務提供者之 優先權條件舉例而言係爲當一個行動必須被實施且兩個或 者更多個轉接可以被選擇以實施該政策時被使用之網路服 務提供者之任意等級。假如其係明顯地由該系統之操作者 所建構,則該流控制系統係能夠自動地設定該網路服務提 供者或者路徑之優先權條件。然後,該條件係於一個於死 結之情況下被應用作爲一個解結者,使得具有最高優先權 之該網路服務提供者係臝得該結,且因而接收該被轉向之 通信流。 該最大使用條件能夠被使用作爲亦可以被使用一個不 超過真實的操作臨限或者一個解結者。最大使用係被建構 成舉例而言於該結構之該轉接網路服務提供者部分且採用 一個百分比引數(亦即根據可使用頻寬),或者能夠被設 定根據百萬位元/秒之一個絕對値(亦即不超過可使用之 頻寬)。 除了上述之政策範例,政策範例係能夠被應用至每一 個目的地,且可以包括最小效能矩陣(例如損失,延遲抖 動),及測量行爲(例如期間,除外,頻率,來回程時間 等等)。其他政策範例係包括指定路由改變開啓/關閉之 能力(亦即致能本發明之一個實施例記錄結果且根據修件 200300315 符合與否而實施/不實施路由改變的指定之參數),決定 標準(例如成本/效能優先權),臨限値(例如動態的, 靜態的)或者能夠被建構且儲存於政策貯存器2 1 2中之 其他標準。根據本發明之一個實施例,動態臨限値係根據 一個歷史之基線,由該基線,所有推導出之資訊係進入一 個貯存器或者資料結構之中。另一方面,靜態的臨限値係 爲任意之使用者定義的基線,其係提供用於建立舉例而言 一個具有最小效能水準之靜態效能臨限値之基礎。 總結言之,諸如上述範例政策之該政策係被輸入至第 2圖之該控制器2 0 2,且舉例而言係與一個特定之前置 頭相結合。該一般的偵測方法(絕對的或者基準線的/歷 史的)係能夠被指定作爲每一個前置頭,因而指定用於某 些已經知道之目的地之硬的或者絕對臨限値,同時使用用 於其他目的地之一個基準線的方法。該政策亦定義被使用 結合於違反被認爲解決之前必須符合之效能矩陣之該解決 方法(例如程序)。諸如成本及利用率臨限値之其他參數 係能夠對於每一個前置頭設定。此給予該控制器一個該前 置頭應該不因成本或者利用率之原因而被移動之指示。 該主動校準器及該被動校準器係提供資訊特性。關於 該主動校準器,該控制器2 0 2係藉由請求主動探測而起 始化主動校準。該主動校準器係送出一或多個校準探測至 該一或多個資料網路。回應於該些探測之回應的資訊係提 供資訊回該控制器2 0 2,其係包含關於其之可使用路徑 及效能之辨識元。 61 200300315 關於該被動校準器2 1 4,該控制器2 0 2係設計成 接收由該被動校準器2 1 4而來之即時或者接近即時之網 路效能特性(亦即損失,延遲,抖動等等),作爲其接取 之通信流之監視器。根據本發明之一個實施例,該控制器 2 0 2係能夠被設定成僅記錄改變。然而,於本發明之另 一個實施例中,該控制器2 0 2係能夠被設定成爲根據即 時網路效能特性而記錄通信流及實施通信流之改變。控制 訊號係起始淸除該被動校準器2 1 4之狀態,以致能該被 動校準器2 1 4重新開始監視該特定的目的地,以確保該 路由表之該更新之路由或者路徑係符合被記錄之流政策。 淸除該被動校準器214之狀態的該控制訊號係由該該控 制器2 0 2而來,以起始重置該被動流分析器3 3 0之狀 態。然而,於本發明之其他實施例中,淸除該被動校準器 2 1 4可以不需要控制訊號。 於一個範例中,該控制器2 0 2係操作成對於最近觀 察到的或者老舊的目的地前置頭解譯用於替代之效能之候 選人效能。控制器2 0 2係決定哪一個替代之路徑或者複 數個路徑係最適合於該前置頭或者與該目前通信流相關之 通信形式。如上文所敘,控制器2 0 2亦能夠對於最近觀 察到的或者老舊的目的地前置頭解譯,且因而對於通信流 實施改變。該控制器2 0 2係然後傳送該必須的路由改變 至該結構元件2 0 8。亦即,該控制器2 0 2係尋找符合 政策之最佳起始基線。假如該前置頭再次老舊而不需要後 續之測量,則該程序係被重複。假如該前置頭亦被表列爲 62 200300315 一個例外,一個高流量前置頭或者一個非常重要的前置頭 ,則控制器2 0 2係亦能夠對於結構元件2 0 8實施必要 的路由改變。 於又另一個實施例中,該控制器2 0 2係操作成解譯 對於高流量目的地前置頭之替代效能之候選人效能。當與 低資料流量前置頭相較之下,這些前置頭係重要的。該控 制器2 0 2係決定哪一個替代之路徑或者複數個路徑係最 適合於該前置頭。該控制器2 0 2係然後傳送該必須的路 由改變至該結構元件2 0 8。亦即,該控制器2 0 2係尋 找符合政策之最佳效能。該程序係被重複直到該前置頭係 不符合儲存於該政策貯存器中之高流量標準,例如流量水 準(諸如最高之“η”水準,亦即最高之1 〇 〇 % ),流水 準或者指定於或者儲存於該政策貯存器中之其他系統結構 〇 於又另一個實施例中,該控制器2 0 2係操作成解譯 用於具有靜態持續前置頭之目的地前置頭之替代路徑效能 。當由該使用者指定時這些前置頭係重要的且係持續被測 量。該控制器2 0 2係決定哪一個替代之路徑或者複數個 路徑係最適合於該前置頭。該控制器2 0 2係然後傳送該 必須的路由改變至該結構元件2 0 8。亦即,該控制器2 0 2係尋找符合政策之最佳效能。該程序係被重複,只要 該靜態持續前置頭存在。 於另一個範例中,該控制器2 0 2如同第7 Α圖之之 元件7 0 2,係被設計成接收代表由該使用收集器7 1 5 63 200300315 而來之諸如使用率、付款速率等等之網路使用特性之即時 或者接近即時之資料。該控制器7 0 2係使用該資訊以解 決關於不順應根據該相關流政策之網路效能特性之政策違 反。亦即,於一個路由改變之前或者於一個路由改變之期 間,該控制器7 0 2係木僅使該控制器考量替代路徑之效 能,亦考量是否該些替代路徑不是避免於一個特定的網路 服務提供者之路徑上之尖峰資料通信(亦即,關於日期變 換之適當頻寬),或者係爲觀看該流政策下爲最少成本之 路徑。 爲了解決使用形式政策之違反,該控制器7 0 5係被 建構成接收路由表,舉例而言以用於決定哪一個於某些路 徑或者其之路段之目前之資料的通信流或路由對於一個特 定之網路服務提供者路徑或者複數個路徑係擁塞的(亦即 有負載的)。該控制器702係接收流資料,以決定於該 網路服務提供者上哪一個流係爲主動的,其係被指示爲“ 滿的”(例如,無可使用之頻寬)。該控制器702亦使 用流資料,以決定該主動流之流量,而加總至前置頭流量 。該控制器7 0 2亦使用該流資料以決定該流量之穩定度 。根據本發明之一個實施例,穩定度係被期待的,特別是 當一個成本改變係被實施時但是當該通信流量係減少或者 停止時維持不被影響。由該流資料,該控制器7 0 2係能 夠決定哪一個前置頭及前置頭之數量需要被移動,以校正 一個諸如成本違反之例外。流量計畫亦係重要的。 當於一個成本受限制之環境中實施改變時,計畫流量 64 200300315 係重要的。假如一個流量被移動係因爲成本之限制,則瞭 解至一個給定網路服務提供者及由一個給定網路服務提供 者而來之流量係影響該決定之準確性。於本發明之一個實 施例中,係能夠根據該目前及投射之來回程時間而比例化 於該存在之提供者上之觀察到的流量,以計算於該目的地 之流量。該延遲頻寬係管理該用於傳輸控制協定之流量係 爲視窗大小及來回程時間之函數。假如平均視窗大小對於 複數個提供者係爲固定的,則流量係能夠藉由使用來回程 時間而被比例化。舉例而言: 流量=視窗/(觀察到的)來回程時間; (觀察到的)流量=視窗/(觀察到的)來回程時間 j (觀察到的)來回程時間=(收歛點的)來回程時間 + c ; (投射之)流量1 =(觀察到的)流量((觀察到的 )來回程時間)/ (收歛點1的)來回程時間+ C ; (投射之)流量2二(觀察到的)流量((觀察到的 )來回程時間)/ (收歛點2的)來回程時間+ C。 因此,該控制器7 0 2係設計成獲得關於資料網路之 效能及利用率之資訊,且實施校正之行動,以達作於資料 通信流2 1 8中透過相關之網路服務提供者且透過流控制 系統2 0 0之資料路由中的網路服務提供者政策。 爲了使該控制器2 0 2處理對等之連接,該控制器2 0 2係與該資料導引器2 0 6作通訊,以取得用於將被改 65 200300315 變之該特定的前置頭之可到達之資訊(例如路由表)°於 轉接電路之情況下,該控制器2 0 2係使用該主動校準器 2 1 0,以藉由舉例而言傳送主動探測至該目的地且然後 等待該回應而決定對於一個給定之目的地之可到達之資訊 (例如路由表)。雖然對等連接通常係無法達成的’然而 對於主動探測係可能成功的’這是因爲某些網路服務提供 者可能無法有效地濾除於一個對等點之通信’反而係根據 一個信用類似之系統以確保僅有對於該些被通知之目的地 之通信被接收。 · 因此,於對等連接或者私有連接之情況下,該控制器 2 0 2係必須於移動通信至一個對等之連接之前觀看用於 該目的地之一個通知之該路由表。或者,一組可到達之目 的地係能夠靜態地建構成用於一個提供者/網路服務提供 者對等或者私有鏈路(網路服務提供者)。該控制器2 0 2係能夠觀看用於可到達性資訊之靜態結構,其係被儲存 作爲該系統結構之一部分。此係允許提供公共及私有之連 結,其中,路由資訊係於私有連結上並非動態上可以使用 〇 於本發明之一個實施例中,成本及/或使用控制及取 佳效能之目的係被尋找出。舉例而言,給定對於可使用之 轉接提供者之不同的集合的成本結構而言,該整體流控制 系統成本係能夠藉由以利用不同的費用結構之優點且維持 可接受之效能水準之方式分配通信而最小化成本。於本發 明之另一個實施例中,係期望複數個網路服務提供者間之 66 200300315 平衡的負載及使用率。於第8 A圖中,整體系統成本之一 個模型係爲以下所示之最小成本曲線,其代表用於舉例而 言三個網路服務提供者相對於所有三個網路服務提供者A ,B及C之總計成本之尖峰使用水準。該網路服務提供者 A,B及C之每一個係可以代表具有一或多個成本階層及一 個最小約定水準之不同的費用合約。舉例而言,網路服務 提供者A可以具有一個兩層之費用合約,具有每5 0Mbps 爲1 0 0元(最小約定)及每增加5 0 Mbps爲5 0元兩層 。網路服務提供者B亦可以具有一個兩層之費用合約,具 有每5 0 Mbps爲1 2 5元(最小約定)及每增加5 0 Mbps 爲7 5元兩層。網路服務提供者C於完成本範例下,可以 具有一個兩層之費用合約,具有每5 0 Mbps爲1 5 0元( 最小約定)及每增加5 0 Mbps爲2 5元兩層。樣本費用輪 廓將於下文中予以更詳細的敘述。 參照回第8 A圖,網路服務提供者A,B及C係以一個 總計的成本曲線相對於尖峰使用率水準之圖而表示。當尖 峰使用率係於所有三個最小約定之總合之下時,該最小成 本係於所有層之間維持相等。此係當網路服務提供者之使 用率係防止於任何網路服務提供者上超過任何單一最小約 定時產生。當此產生時,成本係維持固定的。其中,舉例 而言,所有二個網路服務提供者係以其最小成本曲線彳晋製 ,吾人係可以看出總計之成本係維持相等,其係示爲總計 成本爲2。然而,於該最小成本水準之上,用於該三個網 路服務提供者A,B及C之每一個之增加的成本層係出現 67 200300315 。如圖所示,網路服務提供者A係代表最低之成本層,網 路服務提供者B係代表次高之成本層,網路服務提供者C 係代表最後且最高之成本層。 該三個提供者(網路服務提供者A,B及C)係具有三 個簡單的費用輪廓。每一個網路服務提供者係具有一個最 小約定,及緊接著的一個突然上升之層。該成本/資料轉 移速率(亦即Mbps,Gbps)對於每一個網路服務提供者而 言係有區別的。網路服務提供者A係於該突然上升之層中 具有最低之成本/資料轉移速率,網路服務提供者B係於 該突然上升之層中具有第二低之成本/資料轉移速率,而 網路服務提供者C係於該突然上升之層中具有最高的成本 /資料轉移速率。第8 A圖係代表對於任何給定之尖峰使 用率之該最低成本。尖峰使用率係與一個客戶將被所有網 路服務提供者請求付款之該可請款速率。該曲線係顯示該 最小約定之總合,如示爲圖左側之該水平線。當資料通信 流水準係上升至該最小約定之總合之上時,該曲線係進入 由該圖右側之有斜率之線所表示之該個別的網路服務提供 者A,B及C之該突然上升層之限制之一。該線之斜率係 代表該突然上升之層的增量的成本/資料轉移速率。一個 較低之成本/資料轉移速率係具有一個較低之斜率。當該 提供者之最大可允許之利用係爲消費者時,該最小成本曲 線係上升至該一個增量較昂貴之提供者。此外,此模型係 能夠擴展成包含所需之所有網路服務提供者。 關於根據本發明之一個實施例之成本實施例,於每一 68 200300315 個提供者上之該最大使用水準係能夠根據如示於第8B圖 之該最小成本曲線而決定,其係顯示用於一個尖峰使用爲 7 (亦即7 Mbps)之情況。 於該圖所示,該最小合約水準應該對於網路服務提供 者C實施,該最大使用應該於網路服務提供者A上實施, 而於該最小合約及該最大合約使用之間之一個中間水準應 該於網路服務提供者B上實施。由該圖,每一個網路服務 提供者應該被實施之作爲3個流量輪廓之水準的表示係顯 示於第1 0圖中。 示於第10圖下方之該流量輪廓係顯示每一個網路服 務提供者之該使用率臨限値。最大可允許之使用(例如不 超過9 0 %之電路使用率)係爲使用者可構形的,且可容 易地於網路服務提供者A上看見,如下文所述,其中,最 小之成本將置放網路服務提供者A於除了該機構之1 0 0 %使用率。指示於該些圖中之該些水準係關於尖峰使用率 。於任何尖峰使用率之下,該流控制系統2 0 0及該控制 器2 0 2係能夠對於成本獨立實施,且應該根據效能而最 佳化。 於第8 C圖中,成本再次相對於使用率而繪製,其係 顯示一個類似於第8 A及8 B圖中之成本曲線。根據本發明 之一個實施例,其後稱爲成本-使用率曲線模型之該模型 係作爲一個決定於不同的網路服務提供者出站之導引。假 如該頻寬分配之第9 5百分比(稱爲P9 5 )係於一個特 定期間(例如月)以及諸如用於個別的網路服務提供者之 69 200300315 P9 5費率的相關因素係爲已知,則係能夠表達關於成本、 效能及路由控制之計算出之資訊。P9 5係爲一個重要的矩 陣’因爲其代表該些網路服務提供者能夠評估費率之値, 一般而言係不管高於P9 5之部分,而作爲異常的部分。 舉例而言,假如P9 5或者其他費率於一特定的付費期間 對於所有網路服務提供者係爲已知,則頻寬能夠被分配, 以附著或者接近示於第8 C圖中之該最少成本曲線。 該最少成本曲線係由該不同的出站提供者之該費用輪 廓推導而來。作爲一個範例,每一個出站係具2個價格層 ,第一個價格層係爲一個固定的價格,固定的頻寬或者最 小的合約層。該第二個價格層係具有一個用於額外的P 9 5頻寬之邊界成本。對於關於示於第8 C圖之該實施例之 該流控制系統而言,其係具有總共6個層。根據邊界成本 之次序,該總共的層係可以爲: 層 成本 A1 0.00 B1 0.00 C1 0.00 A2 1.00 B2 2.00 C2 3.00 假如對於一個特定之付費期間而言準確之使用率樣本 係爲已知,則用於該網路服務提供者頻寬之總和的p9 5 頻寬係能夠被推導出。此作爲頻寬之推導出之p9 5總計 70 4 4200300315 之網路服務提供者頻寬(總計之網路服務提供者頻寬係使 用於由所有出站之頻寬總和區分個別的網路服務提供者頻 寬)係決定如何於不同的網路服務提供者之間分配通信。 參照第8 C圖之期望的P9 5線,明顯的是,其係跨越於成 本層B2中之該最少成本。因此’用於成本理由之頻寬之 理想的分配係爲: 可使用 網路服務提供者A : 1 0 0 %層A 1·+ 1 0 0 %層 A2200300315 发明, Invention Talk [Cross-Reference to Related Applications] This application is related to and claims the priority of the following US temporary applications and non-temporary applications. The contents of these related cases are hereby incorporated by reference. The applicants in these related cases are the same as the applicants in this case. On April 10, 2001, the application number was US Patent Application No. 0 9/8 3 3, 2 1 9 with the name "System for ensuring the level of network services with intelligent routing and Method "in the US patent application j filed on February 7, 2001 with the application number of US Patent Application No. 10/0 1 3,809 and the name is" for providing data network "System and method for routing control of information" in the United States patent application; on February 28, 2001, the application number is US Patent Application No. 10 / 040,902 and the name is "for providing "System and method for routing control of information through the network" in the US patent application: and US provisional patent application entitled "System and Method for Ensuring Network Service Level and Bandwidth Management with Intelligent Routing" Priority, this case was filed on November 2, 2001, and the application number is US Provisional Patent Application No. 60/350, 186. TECHNICAL FIELD The present invention relates generally to the control of data through a network communication system, and in particular to a data network controller. 200300315 [Prior art] A data network is a communication system that connects multiple nodes to share computing resources. Generating efficient data routing between source and destination nodes is an important goal of the organization of the use of the network to facilitate the sharing of resources, data and information. Typically, a node is represented by one or more computing devices, which can include a personal computer and peripheral devices. Interchangeability here refers to a "point", a node is typically an end point of a particular road segment as a "route" or "path" on a data network. The section defined between two consecutive nodes is hereinafter referred to as a "jump." In addition, an autonomous system (AS) jump refers to a section within a single autonomous system, for example. In addition, a hop can also be part of a network path defined by two non-continuous nodes. For example, 15 individual nodes can exist between a source and a destination. These 15 nodes can span 3 autonomous systems, so a total of 7 hops can be defined. The first hop may travel from an outbound site of the source network to an inbound site of the first autonomous system. The second hop can travel between the inbound and outbound sites of the first autonomous system. The third hop may travel from the exit site of the first autonomous system to an entry site of the second autonomous system. The fourth hop can travel between an entry site and an exit site of the second autonomous system. The fifth hop may travel from an exit site of the second autonomous system to an entry site of the third autonomous system. The sixth hop is able to travel between 200300315 an entry site and an exit site of the third autonomous system. Finally, the 7th hop may travel from an exit site of the third autonomous system to the destination node. Although the above-mentioned example series has 7 jumps', a data path such as the above may be composed of more or less than the above-mentioned number of jumps. A source and / or destination may implement a data source ' such as maintaining a network-based database of computing resources for a particular organization, such as a device, a series of storage devices, or the like. Resources can include mission-critical data or software programs, or applications used to perform specific tasks. For example, in the context of a bank, a database may contain sensitive and confidential client or partner financial news. This information is often mission-critical. In many cases where large distribution organizations are based on the sharing of such resources, the data network is implemented and is usually used by more than one network service provider (NSP). When used on a network, the network is called Multi-homing. In the presence of a multiple reset network, there are several disadvantages of traditional data network control. First, the efficiency of data routing is an important issue for traditional data network control systems. In general, efficiency involves optimizing network performance and minimizing costs. Optimizing network performance and minimizing costs (such as reducing loss, delay, jitter, etc.) are common goals in traditional data routing control technologies and techniques. However, traditional data network control systems cannot maximize performance at a minimum 200300315 cost for most destinations. When considering the cost of data transmission and the performance of a data network, efficiency is often sacrificed. In other words, cost and effectiveness are usually factors that obviously or implicitly exceed efficiency. Although efficiency is important, it is difficult to achieve because there are many factors that influence the logic and the decision process based on how, when, and where to choose a source and a destination. Because multiple network service providers are used, multiple reset networks have inherent obstacles to achieving efficient data routing. Therefore, multiple resets require too many routing calculations to determine candidate data paths using traditional routing control techniques. For example, the Border Gateway Protocol (BGP) is a data protocol used for standard data communication between autonomous systems. For multiple resettlement enterprises or organizations, the boundary gateway agreement is a useful agreement. However, the boundary gateway agreement is a decision not to implement routing control based on cost information or performance statistics. Instead, the boundary gateway agreement is determined by the autonomous system path and other management settings. And even if the boundary gateway agreement allocates data load on the network service provider, it will not allocate data load to minimize the cost of bandwidth usage. In addition, the boundary gateway protocol only selects the data route in one way, so that the performance is not considered by the routing control decision by the use of the traditional boundary gateway protocol. Although a preferred implementation path may exist, the border gateway protocol will not transfer data communications to the preferred implementation route. In another example, an optimized implementation route may exist, however, the route may subsequently deteriorate. Because the boundary gateway protocol 200300315 cannot calculate subsequent degradation, it cannot be adjusted to a better implementation route to resolve such degradation. As an example, for the same destination, a shorter and less efficient route and a longer and more efficient route can occur simultaneously. The boundary gateway agreement will implement routing control decisions to guide data communications over this shorter route. Although the longer route is the better implementation route, the boundary gateway agreement and the traditional agreement will choose the shorter route regardless of the lower performance quality of the selected route. Therefore, there is a need for a solution that controls data routing while maximizing performance and minimizing costs for most destinations. Another disadvantage of traditional data network controllers is beyond the limits of use. Network service providers can generally set usage thresholds by measuring traffic or bandwidth. These thresholds do not define maximum utilization and are, for example, generally user-configurable. When the maximum utilization rate is met, any excess data stream overflows to another and is generally used by the more expensive network service provider profile, making the choice of the excess data stream more costly. The price level of the provider that cannot be changed causes the overflowed data to be placed in more expensive barrels. Instead of reallocating bandwidth requirements in a more efficient way, traditional data routing control techniques usually move the maximum and / or minimum price limits, resulting in dynamic and static models. Finally, the multiple resetting enterprise or organization does not maximize the efficiency of its data routing requirements, and therefore incurs additional unnecessary costs. In a large distribution network, these costs can result in considerable financial payments that go far beyond the amount needed to support the application of any important task that needs to be routed to the given data. For example, a significant portion of these costs is the instantaneous cost of using a given network service provider. In addition, many traditional routing control products and methods utilize and implement control decisions such as routing placed on a protocol routing table, such as a border gateway protocol routing table. These routes are usually configured with a large address space, which means that the routing table between the providers is kept small. Unfortunately, these routing control products do not take into account the large geographic distance between adjacent networks over a large address range. Geographic location can affect the performance of routing data because one or more paths can be degraded due to congestion caused by, for example, network failures, line cuts, and so on. Therefore, according to the number of affected addresses, a controller that decides to correct routing problems in a network, especially in a multiple reset state, can have far-reaching and adverse effects on many addresses. . Therefore, there is a need for a system and method for overcoming the disadvantages of the conventional routing controllers and routing control techniques described above. SUMMARY OF THE INVENTION The present invention relates to a data network controller. The data network controller includes a control module for controlling a network. The network controller also analyzes the flow information of the set by communicating the flow information of the set to an interface of other modules. The information received by a cache is shared with the data network controller and multiple components of a flow control system. An active calibrator communicates network data to the data network controller, and an aggregate module is used to aggregate the flow information. A bus such as a software bus is used for communication between modules. A user module 12 200300315 provides user information, which communicates to the control module. A file store is used to store information for the provider's information and communicate that information to the control module. Additional information, such as communications and policy information, is stored in a storage that is able to provide the requested information to the data network controller. The invention relates to a data network controller. The data network controller includes a control module for controlling a data network. The network controller also analyzes the flow information of the collection by communicating the flow information of the collection to one of the other modules' interfaces. The information received by a cache is shared with the data network controller and multiple components of a flow control system. An active calibrator communicates network data to the data network controller, and an aggregate module is used to aggregate the flow information. A bus such as a software bus is used for communication between modules. A user module provides user information, which is communicated to the control module. A file store is used to store information for the provider's information and communicate that information to the control module. Additional information, such as communications and policy information, is stored in a memory that is able to provide the requested information to the network controller. Another embodiment of the present invention discloses a method for controlling a network. The method includes the following steps: calculating the delay of a candidate; calculating the loss of a candidate; comparing the bandwidth of a candidate with a bandwidth allocation; determining a loss; calculating a cost; calculating an identifier; and Decide on a change 値. The method further includes the following steps. If the bandwidth of δ11 is less than this bandwidth configuration, then a minimum delay is determined; a minimum loss is determined; a cost and a usage variable are determined. A maximum usable bandwidth; determining a cost level; determining a lowest identifier; and specifying a change frame. In another embodiment of the present invention, a method for controlling a network is disclosed. The method includes the following steps: comparing a candidate's loss with a current loss; comparing a candidate's delay with a current delay; determining an optimal delay; determining an optimal loss; calculating a candidate's bandwidth; Decide on a maximum candidate bandwidth; determine a cost level; determine a lowest identification rate; and specify a change rate. Another embodiment of the present invention discloses a device for controlling a network. The device includes: a device for calculating the delay of a candidate; a device for calculating the loss of a candidate; a device for comparing a candidate's bandwidth and a bandwidth configuration; a device for determining a loss; Calculate a device for identifying elements; and determine a device for changing 値. The device further includes: if the candidate's bandwidth is less than the bandwidth configuration, a device with the lowest delay is determined; a device with the lowest loss is determined; a maximum available bandwidth is determined according to a cost and a usage variable A device that determines a cost level; a device that determines the lowest identification unit; and a device that specifies a change in cost. Another embodiment of the present invention discloses a device for controlling a network. The device includes: a device comparing a candidate loss with a current loss of 14 200300315; a device comparing a candidate delay with a current delay device; a device determining an optimal delay; a device determining an optimal loss; Calculate a device with a candidate bandwidth; determine a device with the largest candidate bandwidth; determine a device with a cost level; determine a device with the lowest identifier; and designate a device that changes the bandwidth. Yet another embodiment of the present invention provides a computer-readable medium storing instructions for controlling a network, which performs the following steps: calculating a candidate's delay; calculating a candidate's loss; comparing a candidate Human bandwidth and a bandwidth configuration; determine a loss 値; calculate a cost; calculate an identifier; and determine a change 値. The computer-readable media further implements the following steps: if the candidate's bandwidth is less than the bandwidth configuration, determine a minimum delay; determine a minimum loss; determine a maximum available based on a cost and a usage variable Use bandwidth; determine a cost level; determine a lowest identifier; and specify a change frame. In another embodiment of the present invention, it discloses a computer-readable medium storing instructions for controlling a network, which implements the following steps: comparing a candidate's loss with a current loss; comparing a candidate Human delay and a current delay; determining an optimal delay; determining an optimal loss; calculating a candidate bandwidth 値; determining a maximum candidate bandwidth 値; determining a cost level; determining a lowest identifier ; And specify a change. In another embodiment of the present invention, it discloses a computer data signal implemented in a carrier. The computer data signal contains: code for 15 200300315 to calculate the delay of a candidate; code for calculating the loss of a candidate; code for comparing a candidate's bandwidth and a bandwidth configuration ; A code for determining a loss; a code for calculating a cost; a code for calculating an identifier; and a code for determining a change. The computer data signal implemented on a carrier wave further includes: code for determining a minimum delay if the candidate's bandwidth is less than the bandwidth allocation; code for determining a minimum loss; A code for determining a maximum usable bandwidth based on a cost and a usage variable; a code for determining a cost level; a code for determining a lowest identifier; and a code for specifying a change Code. In yet another embodiment of the present invention, it discloses a computer data signal implemented in a carrier wave. The computer data signal contains: code for comparing a candidate's loss with a current loss; code for comparing a candidate's delay with a current delay; code for determining an optimal delay ; Code for determining an optimal loss; code for calculating a candidate's bandwidth; code for determining a maximum candidate's bandwidth; code for determining a cost level; A code for determining a minimum identifier; and a code for specifying a change in 値. [Embodiment] A detailed description of an embodiment of the present invention will be described below. However, it should be understood that the present invention can be implemented in many forms. Therefore, the specific details disclosed here 16 200300315 are not to be construed as limiting, but as the basis of the scope of patent application, and as a teaching for those skilled in the art in practically any appropriate detailed system, structure, A representative basis of the present invention is used in a method, program, or manner. Although many embodiments are discussed herein, the invention is not limited to those embodiments. In many examples, for example, routing control protocols such as border gateway protocols can be predictably replaced or substituted with other forms of protocols used for addressing or routing. The detailed descriptions presented here are provided to enable those skilled in the art to practice the invention. The present invention relates generally to routing control of data through a network communication system, and in particular, to a method and system for routing control through a data network. Data transmission in a network uses protocols to standardize resource sharing among communication devices. The boundary gateway protocol is a protocol used between autonomous networks, especially multiple reset networks or networks that access the Internet based on more than one service provider. In many cases, data routing is based on the use of a protocol such as a boundary gateway agreement, which can be classified as internal and external, based on the information system of the boundary gateway agreement How to distribute between external routers. Other examples of protocols include Exterior Gateway Protocol and Internal Domain Routing Protocol, Stream Transmission Control Protocol (STCP) and Transmission Control Protocol / Internet Protocol (TCP / IP). These protocols are standardized for communication between or across data networks. The embodiment of the present invention is to improve the efficiency of data routing control, enabling 17 200300315 to have the best routing control performance under the lowest network cost for all destinations. As mentioned above, traditional routing control techniques are not able to improve efficiency and minimize costs for destinations. Embodiments of the present invention use many paths and many accounting structures and methods to maximize efficiency. Traditional solutions can only minimize the cost of some destinations and the effectiveness of other destinations. According to an embodiment of the present invention, performance matrices such as routing communications, packet loss, and jitter can be optimized for all destinations. Maximizing performance and minimizing costs in the present invention generally involve selecting the best candidate information path regarding the cost and effectiveness of the selected path. A data path described herein can be a route from a first point (such as a source node) to a second point (such as a destination node), and is divided into road segments or "jumps", which Each of the sections or "jumps" are two consecutive nodes along a data path between a source point and a destination point. Jumps can also be defined as crossing a single autonomous system or connecting two or more autonomous systems. In order to identify a specific node in a network, it is typically an Internet protocol or other protocol-restricted address. A typical Internet address is composed of 32 bits, which constitutes 4 individual Each address group has a bit. The network mask or header refers to the number of related bits in an address. For example, an Internet address in a classless interdomain routing (CIDR) mechanism 2 3 9 · 0 5 1 · 0 · 0/16 identifies the relevant bits of a particular node. site. The / 16 leading header identifies a 1618 200300315 bit network mask, wherein according to an embodiment of the present invention, the first 16 bits of the address are associated with the published or announced bit Address correlation. Traditional data control technology generally uses detection to define the network topology and confirm the control of data routing. According to one embodiment of the present invention, the data control is identified using a header length that exists in an Internet routing table, which is typically identified using a length designation such as "/ 16". The longer the preamble, the more specific the address is. A head before / 1 6 represents a subset of addresses that are larger than a head before 2/4. If a problem occurs at a point that is headed and addressed before / 2 4, then an address greater than the number of destinations or addresses addressed by 2/4 will be affected. The traditional technique is to specify a preamble of any length to select the route for notification. By generating a topological network map, the present invention as described below can provide data routing control according to an embodiment of the present invention to generate higher efficiency, incidentally, using fewer notifications and having More specific characteristics. Therefore, the amount of data is reduced, and the efficiency of data routing and control is improved. Although the term "header" is used herein to describe a subdivision of an Internet address, it should be noted that these embodiments are not limited to the use of a header. Instead, any suitable "address set" can be used instead of "header", "sub-header", etc. to describe how an address (eg, destination) of interest can be classified . These addresses need not be contiguous within a header boundary, and can be as small as a single active address (eg, / 3 2). Path tracing probes are transmitted to obtain candidate path measurements to the destination and sometimes reach the destination of the network 19 200300315 points, or to any network that cannot be detected due to prohibited measurements such as firewalls or filters Point candidate path measurement. Identifiable convergence points or more than one data route convergence point are actively detected and / or notified for data routing. The following drawings and descriptions will further illustrate embodiments of the present invention. Figures 1 A, 1 B and 1 C show basic hardware components suitable for implementing a particular embodiment of the invention. Figure 1A is an illustration of an exemplary computer system 1. The computer system 1 includes a display 3 having a display screen 5. A cabinet 7 contains standard computer components, such as a disk drive, CD-ROM drive, display converter, network card, random access memory, central processing unit and other components, subsystems and devices. User input devices such as mouse 1 1 with buttons 13 and keyboard 9 are shown in the figure. Other user devices such as trackballs, touch screens, digitizers, voice or visual recognition, etc. can be used. Generally speaking, the computer system is only one example of a computer system, such as a desktop computer, which is suitable for use with the present invention. Computer department can. Constructed with many different hardware components, and can be implemented in many sizes and forms (eg laptop, palm, pen, server, workstation, host, etc.). Any hardware platform suitable for implementing the processes described herein is suitable for use with the present invention. FIG. 1B shows a subsystem typically found in a computer such as computer 1. In Figure 1B, the subsystem in block 20 is directly connected to the internal bus 22 as an interface. Such a subsystem is typically contained within the computer system, such as in the case 7 of Figure 1A. Subsystem 20 200300315 The system includes input / output controller 2 4, system memory (or random access memory) 2 6, central processing unit 2 8, display converter 3 0, serial port 40, fixed magnetic Disk drive 4 2, network interface converter 4 4 (such as a network interface card, or NIC). The network interface converter 4 4 is then constructed such as by using electrical, radio frequency, or optical devices in this technology. Communicate with a network. The use of the bus 2 2 series allows each of the subsystems to transfer data between the subsystem and the most important central processing unit. Among them, the central processing unit can be a SparcTM and an Intel central processing unit. Unit, a PowerPC ™ or its equivalent. The external device can communicate with the central processing unit or other subsystems through the bus 22 through an interface with a subsystem on the bus. Therefore, the monitor 4 6 is connected to the display converter 30, and an opposite pointing device 4 8 (for example, a mouse) is connected through a port such as the serial port 40. Some devices, such as the keyboard 50, can communicate with the central processing unit in a direct manner without using the master data bus and passing through an interrupt controller and associated registers. As with the external embodiment structure shown in Figure 1A, the structure of many subsystems is possible. Figure 1B is an exemplary suitable structure. In addition to the subsystems shown in Figure 1B, components or devices can be added. A suitable computer system can also be achieved using fewer components than all the components of the subsystem shown in Figure 1B. For example, an independent computer system does not need to be connected to a network, so the network interface 4 4 series does not need it. Subsystems such as a CD-ROM, graphics accelerator, etc. can be included in the structure without affecting the performance of the system of the present invention. Figure ic is a generalized diagram of a typical network that can be used to implement an embodiment of the invention. In Figure 1c, the 'network system 80' includes several local access networks connected to the computer data network 82, such as the Internet, a wide area network, or a similar network. A network system as described herein refers to one or more local access networks and network service providers that make one or more paths from a source to a destination and vice versa. However, a network system should be understood to also represent a data network that includes one or more computing devices that communicate using any network connection technology. Although specific network protocols, physical layers, topologies, and other network characteristics are shown here, the present invention is suitable for networks with any different path (for example, multiple home networks interconnected to other networks) Network), especially networks that use an Internet protocol for selecting the path of data, such as a stream with one or more packets of information under that protocol. In addition, although a specific embodiment is shown in Figure 1C, those skilled in the art should understand that a flow control system according to the present invention can be deployed within one or more data networks 82, Or build and operate with the network system 80. In Figure 1C, the computer user 1 is connected to the server 1, where the connection can be converged by any network protocol, such as Ethernet, asynchronous transmission mode, IEEE standard 1 53 Line, modem connected 'universal serial bus and so on. The communication link does not need to be a line, but can also be infrared, radio wave transmission and so on. For the sake of illustration, the server 1 is connected to the data network 82, such as the Internet, or 22 200300315, for example, any other data network that uses an Internet protocol for data transmission. The data network is symbolically represented as a collection of server routers 82. Exemplary uses of the Internet for information distribution or communication need not be limited to implementing the invention, but are only used to show a particular embodiment. In addition, the use of a server computer and the designation of the server and the client is not critical to the implementation of the invention. User 1's computer can connect directly via the Internet. Although the connection of the server 1 to the Internet can be connected in a similar manner to the user 1, the connection of the server 1 to the Internet is typically through, for example, the T1 line, the T3 line, and the urban area Ethernet Or similar networks. Similarly, the other computers 8 4 are shown using a local leisure route (such as a local access network) at a location different from the user 1 computer. The computers at 84 are connected to the Internet through the server 2. Although the computer 8 4 is shown to contain only a single server, two or more servers can be connected to the local access network associated with the computer 8 4. The structure of the user 3 and the server 3 is a third network representing a computing device. Fig. 2 shows a flow control system according to a specific embodiment of the present invention. The flow control system 200 is constructed to communicate with one or more network elements of the data network. The flow control system 200 has a controller 202 which communicates with many applications. These applications include the use of collector 2 0 4 and data director 2 0 6 (. It shows the communication with a plurality of network service providers, which may be generated in 23 200300315 of multiple reset enterprises), structural components 208, active calibrator 2 1 0, a policy storage 2 1 2, passive calibration The device 2 1 4 communicates with a communication storage device 2 1 6. An exemplary data stream 2 1 8 is shown as an access flow control system, which provides direct input to the data director 2 06, which is guided by the structural element 2 0 8 The controller 200 receives the control signal and directs the data to the network service provider. Data communication is also monitored by the passive calibrator 2 1 4. The passive calibrator 214 stores representative data in the communication storage 2 16. Examples of data stored in the communication memory may include performance parameters such as delay, usable, and assignable bandwidth measurements. Although the flow control system 2000 is shown outside the source network 8 2 such as the structural element 208 and communicates with the source network 8 2 such as the structural element 208, the flow control system 2 0 0 The system can be completely built into any of the displayed elements. Alternatively, the flow control system 200 can be distributed in a partial manner within each element such as the server 86. In another embodiment, the flow control system 200 is located in one or more servers or within a network element within the exemplary source network 82. An exemplary data network includes one or more source networks 8 2. A source network 82 is typically a network that is owned and operated by an application service provider, a management service provider, a content delivery network, a web hosting company, a personal enterprise, a corporation, an entity, or the like Local network of one or more servers. Such a network service provider typically sends information to a network by a network service provider 1, a network service 24 200300315 provider 2, a network service provider 3, ... Multiple reset users removed from the network service provider. In one example, a network service provider is connected to a source network or is considered a source point for the first set of data networks. The network service providers or the first set of data networks are then connected to a second set of networks, where the second set of networks is connected to a plurality of other networks, so one or more A path from a source to a destination. In one embodiment of the flow control system 2000, the flow control system 2000 operates to measure endpoint-to-endpoint (ie, source-to-endpoint) based on flow characteristics such as performance, cost, bandwidth, and the like. Destination and destination-to-source) data traffic. The flow control system 2000 also generates statistics related to the data path across multiple network service providers in real time or near real time. Such statistics are not transmitted to the source network 8 2 to provide network engineering personal report information, for example, so that dynamic reports are generated to provide information about the activities of routing changes, when transmitted to the selected purpose Local traffic performance and transit network service provider use (ie, bandwidth), cost and the like. In one embodiment of the invention, a local computing device uses the information requested by the controller 202 and from the policy storage 2 12 and the communication storage 2 16. For example, a user graphical interface (GUI) is used to access the flow control system 200 and the controller 2 0 2 'The user can monitor, delete and enter the user's available information at the collector 2 0 4 Constructed information. Graphical representation of data traffic indicating one or more paths (such as a path between a source and a destination) 25 200300315 The system can also be presented to the user through a graphical user interface. Everyone in the network who has access to the source network 8 2 or any real system responsible for flow control can provide control information to the flow control system 2 0 to change the data communication flow by way of example by a poorly implemented Routing to a more efficient route changes the operation of the system. However, the operation of the flow control system 2000 of the present invention does not require the involvement of network personnel. The flow control system 2000 also compares specific data communication flows (that is, one-way and two-way communication flows flowing into and from the data network) to determine whether a particular communication flow is consistent with One or more rules of a related stream policy. A flow policy, as referred to herein and stored in a policy store 2 1 2, contains a set of one or more rules that are combined with respect to a particular system user (for example, expressed before an Internet Protocol address (Head)) a specific data communication stream. Specific rules that are preset or constructed by the user are also stored in the policy storage to provide parameters for the performance and operation of the flow control system 2000. The performance standard is used to guide the operation of the flow control system 2000. The minimum criterion represents a minimum level of acceptable routing behavior that defines a relevant communication flow characteristic. For example, a rule can set: the maximum acceptable cost with or without the network service provider; the maximum load or bandwidth usage associated with the communication flow through a specific network service provider; acceptable (or Non-acceptable) range of service providers; the maximum acceptable delay or loss across one or more paths across multiple network service providers; the acceptable range of performance for each network service provider, Such as the largest cluster limit; the smallest effect 26 200300315 energy agreement and cost range (ie, the cost structure for the time of day, the form of communication, etc.); and any other characteristics of the data stream that can affect the measurement or control of data communications . The flow control system 200 is further operated to detect when one or more rules or flow policies have been violated, and then take compensatory actions. That is, the flow control system 2 0 0 is implemented by correcting adverse changes in performance (ie, service level guarantee), cost, or bandwidth (ie, load based on the percentage of capacity available for each path) Communication flow related policies. The flow control system 2000 implements this based on real-time or near-real-time traffic analysis, diversification of local paths (ie, modification of one or more exit paths from a data network) and visibility of downstream available paths. Correction. For example, for a destination regarding a particular communication flow, the flow control system 200 is directed or redirected by one of its flow policies to one or more referrals based on the characteristics of the flow. Path to address changes in a particular stream. In another embodiment, the flow control system in FIG. 2 is a reactive flow control system. That is, a reactive flow control system is designed to respond to policy violations, which instructs routing through one or more data networks or data sub-standards of service providers (ie, pass-fail criteria for addresses), Optimized performance below the target level for some acceptable operation. Referring back to FIG. 2, the exemplary passive calibrator 2 1 4, the active calibrator 2 1 0 and the use collector 2 0 4 are connected to the controller 2 0 2 to partially provide the flow characteristics of data communication. The controller 2 0 2 received repairs 27 200300315 changed flow characteristics and flow policies to be implemented. Rules generated by a user or machine suitable for this flow policy regarding routing control can be entered at the controller 202. The specific parameters or operating principles used in the present invention can be entered at the controller 202 to ensure that the flow control system 200 maintains an appropriate level of operating, monitoring, and alarm status. The controller 202 is constructed to determine whether a flow policy has been violated, and when such a violation is detected, a compensation action is selected to resolve the violation. According to the control signals generated by the controller 202 and transmitted by the structural element 208, the data director 206 performs the corrective action to resolve a real or pending violation, which is borrowed This is achieved, for example, by changing the communication flow from the current path to a better path. In addition to managing the communication flow, the flow control system also uses data stored in the communication storage 2 16 and the policy storage 2 12. The communication storage 2 16 and the policy storage 2 12 are both databases, and the communication storage 2 16 and the policy storage 2 1 2 can be implemented using the following devices: such as a storage device, database, storage Equipment or other storage and database applications, data warehouses, and database management systems similar to those produced by companies such as Microsoft (MySQL), Oracle (9i +), Sybase and EMC. The communication storage 216 and the policy storage 212 are constructed to store a number of records in one or more data structures. The communication storage 216 is designed to store and communicate information on communication and routing characteristics, and the stream policy storage 2 1 2 is designed to store and communicate policy information or rules to manage each of the 28 data communication flows. 200300315 performance and cost. Those skilled in the art will appreciate that many database technologies can be used to implement the reservoirs of the present invention. In operation, the flow control system 200 in Figure 2 monitors outbound and inbound data flows 2 1 8 such as Internet Protocol data communications to determine whether the source network 8 2 comes to the The data stream 2 1 8 of the source network 8 2 is based on the performance tolerance set by the relevant stream policy. In one embodiment, the flow control system 200 is by copying, such as by a network switch, by using a splitter such as an optical splitter, or any other person familiar with the art. Tap the device to receive the data stream 2 1 8. A data stream identical or almost identical to the information contained in the data stream 2 1 8 is provided to the passive calibrator 21 4. The passive calibrator 214 monitors the data communication 'of the data stream 218 and transmits information about the communication and communication performance to the controller 202. The controller 202 is configured to receive policy data corresponding to one or more policies of a specific communication flow such as a specific data flow. At this time, a specific data stream may be Sentences combine, for example, a user identified by a destination header. Based on policy information, the controller 202 determines the level of performance, cost, or availability for that particular communication. For example, the controller 202 determines whether a particular data stream 218 communication flow meets one or more conditions or standards such as inbound and outbound network delays, packet loss, and network jitter. Defined level of effectiveness (ie, level of service). The active calibrator 210 is used to receive one or more active detectors from the data network 29 200300315 and transmitted to the data network in many forms. These probes are designed to measure network performance, including paths taken across one or more available network service providers (that is, determining whether a network service provider is a transit autonomous System rather than an autonomous system of peers), the next hop and other network parameters used. In order to actuate the active calibrator 2 10, the controller 20 2 transmits an active detection request 209 to the active calibrator 2 1 0. If the controller 200 confirms that additional information about alternative paths or the characteristics of the network system is necessary to better implement the policies in the reactive flow control system, such a request is needed to Preventing such policies is a violation of the optimized flow control system. The usage collector 204 is constructed to receive data from a network service provider representing one or more network provider structures. In general, such a structure contains the number of paths (pipes) associated with each network service provider and its size. In addition, the information of the network service provider can be related to the cost or payment structure of a network service provider, and also includes the address of each group or subgroup of each network service provider Payment method (i.e. bytes / min, etc.). In addition, the usage collector 204 is constructed to collect usage information from the network components, such as switches, border routers, network service provider devices, and other devices used for transmission over the data network. The usage collector 204 is configured to provide usage and payment information to the controller 202, and the usage and payment information is to collect data based on the network service provider and usage information. The utilization and payment information contains information representing the cost, payment and utilization of each internet service provider interested in 30 200300315. Those skilled in the art should understand that the network service provider information can be provided to the usage collector 2 0 in many ways. For example, the network service provider data can be provided by the data path used by the data stream, or can be provided by an entity that has priority to do so, such as a network engineer used in 1C A user graphical interface in the source network 82 of the figure inputs this data into a computing device. In addition, the use of collectors 204 is constructed to monitor the usage characteristics of data communication capacity, cost, etc. of a network service provider. The usage information provided to the usage collector 204 includes usage characteristics from, for example, switches, border routers, network service provider devices, and other devices used for transmission through the data network. Usage refers to the data (ie, raw data such as X million bits at time (0)) that represents the measurement of instantaneous or near instantaneous characteristics (ie, usage characteristics), which defines, for example, each network Service provider's load and available capacity. Use is time usage. For example, suppose that the use collector of monitoring network service provider 1 measures its time utilization or capacity as X million bits at time (0) and Y million bits at time (1) This raw data or use is used to calculate the utilization rate or the utilization rate of the network service provider 1 (such as YX / time (0)-time (1)). Bandwidth is the total capacity of each path or section of paths that can be used for a communication flow. In one embodiment, the usage can be measured at any number of hops or at any section of any 31 200300315 path under the network from a first point. The load typically defines the capacity of a particular path used to carry data, and can be expressed as a load / bandwidth. The usage collector 204 is designed to generate the usage and payment information based on the usage information and the data of the network service provider. Because each of these network service providers has a different cost and payment structure and method of determining usage costs, the usage collector 204 is operated to collect usage information to provide the controller 2 0 2 The use and payment information. Software applications or other devices may be used to implement utilization and accounting information for accounting purposes. The usage collector 204 then provides the usage and payment information to the controller 202 for the interest of each network service provider. Those skilled in the art should understand that when better implementation of routing control is needed, the usage collector can provide additional information to the controller based on the network service provider's usage information. The controller 2 0 2 collects information from each of the passive calibrator 2 1 4, the active calibrator 2 1 0, the use of the collector 2 0 4 and / or the communication storage 2 1 6 (that is, , Collected performance and usage characteristics). Based on the collected information, the controller 202 determines an action to optimally reduce policy violations of the information represented by the policy data 206 transmitted to the controller 202. Once the action is decided, the controller 202 initiates and sends a network routing change request to the structural element 208. In a specific embodiment, the controller 202 also provides information indicating that it can be used to resolve one of the policy violations or multiple alternative data paths. The structural element 208 is designed to communicate with the data director 206 for routing changes in the network. Once the structural component 208 is transmitting one or more routing changes, the data director 206 then moves the data stream 2 1 8 from a current path to another path (for example, by the network service provider 1 (A first path to the network service provider n or a second path to the network service provider I). Therefore, the data director 206 is operated to allocate the traffic to these destinations across a plurality of network service provider links based on the cost and performance measured across each link, for example. In operation, the structural element 208 communicates with the data director 206 for one or more routing changes, for example, by using a routing protocol such as an edge point gateway protocol. Structural element 208 is used to dynamically control routing behavior by modifying the source address of the traffic passing through the structural element 208. The source address is modified in a way that improves application performance and cost conditions. The following description is a more detailed description of each of the components of an exemplary control system 2000. Referring back to the active calibrator 2 1 0, the active calibrator 2 1 0 is an active mechanism provided in the system 200 to determine the essence of the downstream or upstream. This information is typically not available from any conventional protocols or upstream paths used in data networks such as the Internet, and must be collected outside the normal process network. As shown in Figure 2, the active calibrator 210 is connected to the controller 002 to provide at least one destination header that does not meet the conditions such as the minimum performance level of 33 200300315. Once received, the active calibrator 2 10 then initiates a calibration procedure that determines most or all of the available network paths to the destination address. The controller 2 0 2 is set to select the most suitable detector that the active calibrator 2 1 0 will be used according to the specific policy of implementation or correction of conditions, and thereafter, the active calibrator 2 1 0 is used. The active probe for the initial network path. In one embodiment, the active detector is communicated by the data director 206 to a usable network or internet path through a usable data route. The returned active calibration detector is received through the data seeker 206. Then, the active calibrator 210 transfers the information of the detector back to the controller 202, and the controller 202 contains the performance information with alternative available paths, which is stored in the communication storage Device 2 1 6 in. The controller 2 0 then decides how to best implement the particular circumstances of the policy related to the subject communication flow. The exemplary calibrator 210 uses an active calibration mechanism to provide, for example, long-term statistics. In another embodiment of the present invention, the active calibrator 210 is resident in the data pointer 206, or can be integrated into the controller 202. There are several proprietary implementations of commercially available routers suitable for implementing the invention. An example of a suitable active detector is the remote monitoring (RMON) detector. Cisco Systems uses the Service Assurance Agent (SAA) derived from this remote surveillance probe to deliver proactive probes. This service ensures that the agent allows the router to measure and report the application's Round Trip Times (RTT) for the origin of the network. Although for network calibration, not every detector described in 34 200300315 is used in the service to ensure that the agent can be used, those familiar with this art will understand how each of the following systems can be implemented to implement One or more embodiments of the invention. An exemplary active calibrator 210 can use Internet Control Message Protocol (ICMP) response requests or other fast-type detectors, lightweight transmission control protocol-based detectors to stimulate Detectors, "fragmented path" detectors, lightweight detectors that use a User Datagram Protocol (UDP) packet with a predefined time-to-live, path routing detectors, or other suitable The active calibrator invented by the active calibrator 210. As used herein, whether "weight" is heavy or light is measured locally with one particular data routing system better than another. A weight is used to give a data route on a particular router using a routing map, and is intended to be used only by that router. Therefore, the lightweight detection referred to herein refers to a specific pre-defined or guided router for each routing map generated according to an embodiment of the present invention. These probes received by the active calibrator 210 in Figure 2 are sent from its source address. Such detection originates from and is received by an exemplary state computer system residence, such as a local user or a state processor on a router. In another embodiment, the use of the detector and the active calibrator are described in the application filed on April 10, 2001 with the name "System with intelligent routing to ensure network service standards and 35 200300315" Method ", US Patent Application No. 0 9/8 8 3, 2 1 9 and attorney document number 021089-000100 US, and this document is incorporated herein by reference. The exemplary passive calibrator 2 1 4 shown in Fig. 2 is constructed to receive and does not need to interface with network communication data such as customer network or Internet communication. The network communication data routing (ie, Internet Protocol data communication) when monitored by the passive calibrator 2 1 4 includes the current calibrator and is provided by the data director 2 06 to the passive calibrator. The default or current route of the data communication stream 2 1 2 of 2 1 4. The currently selected path is, for example, a path between routers that a packet will follow according to standard routing protocols (eg, hop-by-hop). The passive calibrator 2 1 4 is connected to (ie, electrically, optically, radio wave, etc.) the controller 2 02 to provide an indication whether the specific Internet Protocol data communication system Within the scope of an acceptable performance matrix such as determined by a flow policy. The passive calibrator 2 1 4 is operated to simultaneously monitor all communications received through the data stream 2 2 2 and is designed to overcome the complexity of active communication analysis based solely on a typical multiple path such as shown in Figure 1D Sex. For example, when the controller resolves a policy violation, the passive calibrator 2 1 4 operates to overcome the complexity of performing only active communication analysis in a multi-path such as a typical multi-path (e.g., ECMP). In another embodiment of the present invention, the passive calibrator 2 1 4 checks communication flows in two directions (ie, inbound and outbound), and classifies each communication flow as a flow. The communication flow is monitored within the passive calibrator 2 1 4 based on the status of the implementation in time 36 200300315 (such as talks about a transmission control protocol). For example, the passive calibrator 2 1 4 classifies the communication flow according to the round-trip delay, the percentage of packet loss, and the jitter of each communication route or flow. Such communication routing information is used to characterize the "end-to-end" performance of the paths carrying the communication flow. It contains the flow rate and is assembled into a series of network headers. As described above, the passive calibrator 2 1 4 is connected to be stored, and the communication and routing information stored in the communication storage 2 1 6 (connection is not shown) is retrieved and updated. The exemplary communication storage 2 16 is a storage and maintenance representative and a communication and routing information useful for the end user using a flow control system such as the series 2 of FIG. 2 and an example. Information about operators of Internet service providers. The information in the communication storage 2 16 contains long-term statistical information about the communication. These statistics will be used for reporting, analysis purposes and to provide general feedback on a flow control system according to the present invention. Such feedback will, for example, include many forms of communication, source address, destination address, application, communication settings transmitted by ToS or DSCP (DiffServ Code Point) (which can be integrated into a differential Payment system) and communications transmitted by traffic. These statistics are fed into the communication storage 2 16 where, for example, a reporting engine or some other analysis program has access to the statistics. The information stored in the communication memory 2 1 6 is the data of the communication route, which is arranged in a suitable data structure familiar to those skilled in the art. Fig. 3 is a detailed functional block diagram showing exemplary components of a passive calibrator 303 according to an embodiment of the present invention. The passive calibrator 3 0 3 includes, for example, a passive flow analyzer 3 3 0 ′, an output flow analyzer 3 3 1, and a content analyzer 3 3 3 2. In one embodiment, the passive flow analyzer 330 performs passive analysis on the communication to monitor the current communication flow characteristics, so that the controller can determine whether the monitored current communication flow complies with relevant policies. condition. The output stream analyzer 3 3 1 is for: output stream records, source and destination addresses, and other information about their passing through the service provider chain from a network device such as these devices (eg routers) in the form of notification communication Passive analysis of Lu Zhitong's information. An example of such a network device is Cisco's NetflowTM product. In another embodiment, the passive flow analyzer 330 is based on the application described in the above-mentioned application on April 10, 2001, with the name of "Assured Network Service Level with Intelligent Routing" System and Method "US Patent Application No. 09 / 833,219. The content stream analyzer '3 2 2 performs a passive analysis of specific components of data content such as network location content. The output stream analyzer 3 3 1 and the content stream analyzer 3 3 2 determine a set of pre-headers or a pre-header list 3 3 4 that are related to a group of policies related to a particular user. The preamble list 3 3 4 is transmitted as representing information such as the preamble and as for an active detection procedure in the counter. The pre-head list 3 3 4 can be used to construct one or 38 200300315 lists or data structures for storing data representing performance and usage characteristics, and is designed to receive an inquiry through the controller. Once asked, the passive flow analyzer provides one or more of its pre-lists or a portion to the controller for determining a policy violation for determining which route or path complies with the flow policy, The path is the best path or the like for selecting the route of the data. An exemplary pre-list can be generated by the output stream analyzer 3 31 and the content stream analyzer 3 32 and the passive analysis stream analyzer 3 3 0. The output stream analyzer 3 3 1 and the content stream analyzer 3 3 2 are also constructed to notify the control when a previously placed header has been added to the pre-header list 3 3 4器 3 0 5. The new front-end notification signal 3 3 5 enables the control element 1 0 0 5 to establish a new basic line performance for the front-end, and if necessary, use a non-default route or replace Routing table (such as non-border gateway agreement). The content stream analyzer 3 3 2 is typically used when the main source of the communication stream 3 4 0 is a website or other content. The content source 3 4 1 can be constructed to make specific or main content that must be optimized. 3 4 2 can use a built-in user routing list (URL) 3 4 3 by way of example. The user routing list 3 4 3 redirects the client to a small content server running on the content flow analyzer 3 3 2. The content stream analyzer 3 3 2 receives a request for the components within the small, which is generally a small image file (such as 1 * 1 GIF), and for the main original content, 39 200300315 Speech is invisible or imperceptible, and responds to customers with this small content element 3 4 4. The content stream analyzer 3 3 2 then stores or records the transaction, and by using the records, the content stream analyzer 3 3 2 is able to implement a combined and combined content pre-header list 3 3 4. The list 3 3 4 is transmitted to the controller 202, for example, for active service level monitoring and policy implementation. Figure 4 shows a functional block diagram of an exemplary content stream analyzer 432. The content stream analyzer 4 3 2 processes requests for a small component content 4 2 0, which is, for example, a 1 * 1 pixel file that cannot be perceived on the page of the result (though It does not need to be perceived). The small component is combined with the main or generally specific page of a larger content collection. The small component is, for example, a small redirected user routing list built into the content. The small redirect user routing list is implemented as generating a Hypertext Transfer Protocol (HTTP) request 4 2 0 in response to a small content element. The content stream analyzer 4 3 2 sees this request 4 2 0 and responds with a lightweight Hypertext Transfer Protocol server 4 5 3 4 2 2. The Hypertext Transfer Protocol server 4 5 3 is fast and lightweight, and only responds with the image file. The Hypertext Transfer Protocol server 4 5 3 records the Internet Protocol address' of the client requesting the web page and sends the one or more addresses to the aggregator 4 5 4. The aggregator 4 5 4 system collects or collects individual Internet protocol elements 4 2 4 to varying thicknesses of headers (for example, / 8 to / 3 2), and also gathers each header in a conversation. The frequency of being seen. 200300315 That is, the aggregator 4 5 4 classifies the pre-header according to the frequency of the event, and provides a set (grouping) of the pre-header 4 2 6 to the pre-header list generator 4 5 5. The pre-header list generator 4 5 5 generates destinations based on the importance of a pre-header for the overall operation of the system as defined by collective or grouped pre-headers 4 2 6 Pre-header list 4 2 8. For example, each monitored communication flow is checked to determine the performance characteristics associated with a destination header or address. The ensemble preamble 4 2 6 is generally classified based on the frequency of the flow and the average or total volume of the flow. The pre-list generator 4 5 5 transmits the update to the current previous set-head list 4 2 8 to the controller 2 2 of FIG. 2 and when a new pre-head is observed, it also uses the new The header notification signal 4 3 2 informs other components of the system. The pre-list generator 4 5 5 stores the pre-information 430 to an inherent memory for reporting and analysis purposes. A new pre-header provides an unknown new additional alternative path or section until a certain point in time. The new alternative path or link associated with the new preamble can provide compliance with the flow policy and can therefore be used to reselect data routing or change data routing to rule out a policy violation. Referring back to FIG. 3, the output stream analyzer 3 31 operates in conjunction with a network element capable of outputting stream information in a format that can be used by the analyzer 3 31. A non-standard format is the Cisco NetFlww output format. Any network element designed to output stream information, such as a router 3 4 5 or a layer 2 switch, is therefore also constructed to passively monitor the communication being processed 'and forward the output record 3 4 6 to the output stream analysis 41 200300315 器 3 3 1. The output stream analyzer 3 3 1 is used to process the output stream records 3 4 6, collect the streams into the pre-head element, and generate a pre-head list 3 3 4. The pre-list is generally a subset of all pre-heads observed by the flow control system. A head is selected by all heads based on the volume and frequency of the flow during an observation period. Then, for example, the previously placed header is placed in the front header list 3 3 4 before the list is transmitted to the controller 202 in FIG. 2. Figure 5 is a block diagram showing a function of the exemplary output stream analyzer 531. The output stream analyzer 5 31 includes a format interpreter 5 49, an analyzer 550, and a pre-list generator 552. The format interpreter 5 4 9 is constructed to receive the output stream data 5 2 0 from the network element designed to be transmitted thereto. Then, the format interpreter 5 4 9 transmits individual stream information 5 5 2 to the parser 5 5 0. The analyzer 550 is operative to interpret the destination Internet protocol elements coming from the streams monitored by the passive calibrator. The analyzer 5 5 0 is also based on the total stream volume or transmission rate (for example, in bytes / time) and the flow frequency of the destination address, and the aggregate communication flow becomes the aggregate element. Thereafter, the analyzer 5 5 0 is to transmit the assembly element 5 2 4 to the collector 5 5 1. The aggregator 5 5 1 then generates head level-level destination information 5 2 6 (that is, aggregates the head amount and frequency) with a lot of head roughness (for example, from / 8 to / 3 2). In other words, the aggregator 5 51 determines the frequency, period, or the amount of events associated with a preamble for a particular preamble during an observed period. 42 200300315 The destination header list 5 2 8 is generated by the header list generator 5 5 2 by ranking and organizing the communication flow characteristics of the headers in a relatively important order. . List 5 2 8 contains information representing a collection of lists 5 2 8 that precedes the header, and is organized to determine the relevance determined by the system or an entity to ensure policy implementation. For example, one or more preambles can be sorted based on the flow frequency and average or about the total traffic that can be obtained with the preamble in the overall system. The pre-head list generator 5 5 2 sends an update to the current previous set-head list to the controller 2 0 2 in Fig. 2 and observes when a new pre-head notification signal 5 3 2 When a new header is used, other components of the system are also notified. The pre-list generator 5 5 2 stores all pre-information 530 into its own memory for reporting and analysis purposes. FIG. 6 is a functional block diagram showing an exemplary passive flow analyzer 630 of FIG. 3. In one embodiment, the passive flow analyzer 6 3 0 is designed to generate a pre-list 6 3 4 and a new pre-header notification signal 6 3 5 and generate a set of stream data 6 8 0, including the network. Performance and cohort usage statistics for related features. For example, heads of a certain size can be aggregated or grouped due to the highest to the lowest traffic observed in time. The set of flow data 680 is transmitted to the controller 605 and is used by the controller 605 to determine whether the current communication flow violates or fails to meet a given destination. Related flow policies. The passive flow analyzer 630 also functions to store the collected flow data 680 in the communication storage 621, 43 200300315. Among them, it can be used to characterize historical routing and communication flow performance. In another embodiment of the present invention, a pre-header list generator is not included in the passive flow analyzer of FIG. 6. The passive flow analyzer 630 uses a copy of the communication 602 to monitor the performance of the network for communication through a passive network contact as shown in Figure 2 or an erected switch port. The passive flow analyzer 630 is also capable of monitoring and characterizing user profile communication protocols for abnormal behaviors, such as non-periodic flows, or similar conditions. The passive flow analyzer 630 is capable of using many neural network technologies to learn and understand the normal user profile behavior of a desired application, and indicates when the behavior has changed, which may indicate that it can be known Violation of service levels verified or explained by proactive detection technology. In addition, the passive flow analyzer 630 is designed to be "application aware" based on how each of the specific communication flows is classified. Communications can be classified according to the classifier described in the aforementioned U.S. Patent Application No. 0 9/8 8 3, 2 1 9. That is, the passive flow analyzer 630 is able to check the payload of each packet of the communication 602 to interpret the performance and operation of a particular network application, such as, for example, via the Internet Interpretation and capture of real-time transport control protocol (RTCP) of protocol voice. In Figure 6, the passive flow analyzer 6 3 0 includes a packet capture engine 6 50, a packet analyzer 6 5 1, a correlation engine 6 5 2, and an aggregator 6 5 3. The packet capture engine 650 is a passive receiver that is constructed to receive communications entering and leaving the network (eg, Internet Protocol packet 44 200300315 packet communications). Communication capture is used to facilitate communication analysis and is used to determine whether a current communication route meets the minimum service level or policy requirements. The packet capture engine 650 is designed to remove one or several or all packets from a communication flow, including packets leaving the network and entering the network. The packet capture engine 650 is operated to remove some packets from the core network driver to the user's space, for example, and write to the client network driver to capture a portion of a packet. With direct memory access, the packets of this part can be copied directly into the user's space without using the computer's central processing unit. Such packets are typically removed according to one or more filters before being captured. Such filters and the use of these filters are well known to those skilled in the art and can be designed to remove, for example, all forms of transmission control protocol communications, a specific address range or multiple Range, or any combination of source or destination address, protocol, packet size or data match, etc. Several common library libraries exist to implement this feature, the most common of which is “Book Library Packet Capture”. The Library Packet Capture is a system-independent interface for capturing packets written in the Lawrence Berkeley National Library. The Berkeley packet filter is another example of such a capture program. The analyzer 6 51 is connected to receive the captured original packets, and operates to remove the structure of the packets, and receives specific information about the packet from each of the communication streams. An exemplary analyzer 6 51 retrieves information from the Internet Protocol and Transmission Control Protocol headers. Thus, the information retrieved from the Internet protocol header includes the source and destination IP address of 200300315, DSCP information encoded in the service form bit, and the like. DSCP carries information about the form and condition of Internet Protocol packet services. Each DSCP defines the behavior of each hop of a communication class. DiffServ has a code point, which makes it able to define 64 different types of communication classification. Transmission control protocol information includes source and destination port numbers, serial numbers, confirmation numbers, the transmission control protocol flags (synchronization, confirmation, end, etc.), the size of the window, and the like. The transmission control protocol element analyzed from the transmission control protocol header is particularly useful for determining whether a policy is implemented based on performance. However, an increased amount of traffic is not based on transmission control protocols and instead uses a user data protocol. The user data agreement does not contain the information necessary to determine the level of service based on traditional methods. In order to determine the service levels for these destinations, the present invention may use a statistically relevant quantity of parallel Transmission Control Protocol communications to the same preamble, or a series of active detections for one of the same destinations, or Have a deeper analyzer for the packet analysis and understand the communication at the application layer (eg layer 7). Some of the protocols implemented on user data protocols have specific conditions that differ from most other data communications on the network. These protocols are broadly classified as "instant" protocols' and include similar message streaming and voice over Internet protocols (H. 323). Packet loss and delay below a certain level is the second consideration for immediate agreement. However, the most important thing is to reduce the number of arrival changes between packets (46 200300315, also known as network jitter). Such as Η. Many of the real-time protocols of 323 are based on the well-known Real-Time Transport Control Protocol,  RTCP) reports the jitter observed in supported channel communications,  The real-time transmission control protocol is used to distribute time-related media data with feedback via multiple Internet protocol distributions. If the passive flow analyzer 630 in Fig. 3 is "application-aware", It is able to capture and observe the content of the instant transmission control protocol, And it can be perceived when the network path in progress does not meet the minimum jitter condition. This system can trigger a service level agreement in the same way as a 30% packet loss.  The correlator 6 5 2 operates to interpret and group the packet components (such as Transmission Control Protocol and Internet Protocol) derived from those packets. To determine the current level of service for the stream, And then match the source and destination internet protocol addresses and port numbers, It is similar to a firewall monitoring program. The correlator 6 5 2 determines the current service level by measuring several communication characteristics during a transmission control protocol transaction. For example, The correlator 6 5 2 determines the round trip time caused by a network,  And therefore, It is used as a measure of the delay used for this network communication.  Fig. 7A is a detailed block diagram showing the use of the collector 700 of Fig. 2. The usage collector 7 1 5 is operated to collect usage information 7 7 3 from a network provider, Such as byte count (that is, the amount of traffic sent to and received from the network service provider).  The usage collector 715 uses the information to calculate a network service provider utilization rate of a data path related to the network service provider, Loads, etc. 47 200300315 The usage collector 7 1 5 is also operated to rebuild the accounting records of the network service provider. The usage collector 7 1 5 receives the structural information 7 7 1 about the network service provider connected to each network service provider. The network service provider structure information 7 7 1 is an interface recorded in detail on many routers 7 7 2 (such as outbound routers). A hopping Internet Protocol address tracking route probe under a network service provider (to verify that the current service provider is used with a tracking probe), Account start and end dates, Circuit bandwidth used to calculate utilization and price per million bits per second, Minimum implementation bandwidth, Clusterable rate, Network service provider sampling interval, Provider accounting algorithm, One uses alert thresholds and similar information.  During operation, The exemplary primitive collector 7 7 4 sends a query 7 9 0 (such as SNMP) to collect the raw bits of the interface from the router 7 7 2 on each network service provider circuit during a specific sampling period. Group count. Network service provider circuits include paths. Virtual or real pipeline, T1, And similar paths. The original collector 7 7 4 places the original byte count 7 8 0 in the persistent storage, For subsequent reporting and analysis. The original collector 7 7 4 sends the original information to two other components: Utilization monitor 7 7 5 and account rebuilder 7 7 6 〇 The utilization monitor 7 7 5 uses this raw byte count and network service provider structure information 7 7 1 to calculate each network service Provider's inbound and outbound circuit utilization. In one example, the structure information of the network service provider 7 7 1 is a bandwidth of 48 200300315 which includes the circuit of the network service provider. Utilization information 7 6 4 series includes representative and short-term forecasting models (such as ARIMA, Exponential smoothing model, etc.) Enables the utilization monitor 7 7 5 to determine for a given service provider, Whether the bandwidth is up or down (that is, the size increases or decreases).  The account rebuilder 7 7 6 uses the account information from the network service provider structure data 7 7 1. To reconstruct the current network service provider's accounting rate during the current accounting period. The accounting information includes information explaining the methods used by a particular Internet service provider to calculate costs such as a payment rate. Such calculations use a network provider's accounting method well known to those skilled in the art. The account rebuilder 7 7 6 applies a similar network service provider account method to the original byte count from the original collector 7 7 4. To generate the account and related account fees and so on. Bills that are mapped to the number of yuan are typically estimated, Because the sampling time between the network service provider and the collector 7 1 5 will not match accurately. The account rebuilder 7 7 6 will send account information 7 6 1 to the controller 7 0 2, For peak avoidance and minimal cost routing. Spike avoidance is defined as a method of avoiding the use of paths or sections of a higher billing rate. Least-cost routing refers to the method of using or preset communication to the least expensive network service provider.  In addition, the information can be transmitted to the controller 7 02, It is used to select the cheapest least cost fixed method when the performance is not important °, that is, the controller 7 02 uses the data from the accounting information 7 6 1 49 200300315, Including billing rates, Free bandwidth based in part on a route (i.e., This route does not cause additional usage costs) and determines an alternative route that complies with the flow policy.  FIG. 7B shows an example of another embodiment of the present invention. among them , The controller 705 communicates with the structural element 7 84. The controller 7 05 and the structural element 7 8 4 are similarly-named elements similar to those in FIG. 2. The structural element 7 8 4 of Fig. 7B operates in a manner similar to the deformation of the other structural elements described herein. that is, The structural element 7 8 4 adjusts the current or default routing of data communication. And therefore, Adjustment For example, the default routing behavior in a local configuration (such as a point of occurrence). The routing server 7 91 receives a complete set or a subset of the routing table from the data network of interest. Although a routing server 7 9 1 is implemented as a structural element, Alternative embodiments of the present invention may use other protocols than the boundary gateway agreement, Such as adjusted source addresses, Routing of data to multiple secure channels through a firewall, Or other Internet privacy measures.  In one embodiment, One or more of the default gateway gateway protocols 4 feeds 7 9 through a full set or subset of the local transit network service provider to the boundary gateway protocol 4 engine 7 8 2 2. In Figure 7B, The boundary gateway agreement 4 is indicated as a version of the agreement for implementing the desired boundary gateway agreement. however, Future modifications to the border gateway agreement or continuous agreement groups can be released, Replaces the Border Gateway Agreement4, And the embodiments of the invention described herein are not intended to be limited to only the boundary gateway agreement and the boundary gateway agreement4. Its 50 200300315 is a protocol and version that imagines the interconnection of other networks. It can be used to replace the protocol described here.  Referring back to Figure 7B, The Border Gateway Protocol 4 Engine 7 8 2 Series integrates or combines all routes to a single Border Gateway Protocol 4 route. In another embodiment, The routing server 7 9 1 maintains an i-boundary gateway agreement with all routers available to the internal boundary gateway agreement, Rather than maintaining the border gateway agreement 4 dialogue as shown in Figure 7A. Because a single i-boundary gateway agreement talks, It is not necessary to construct all border gateway protocol conversations with the network service provider before implementing the routing change.  The structural element 7 8 4 is designed to receive one or more boundary gateway protocol 4 routing tables 7 8 3 ′ from the boundary gateway protocol 4 engine 7 8 2 and is suitable for receiving by the controller 7 This control procedure of 0 5 results in one or more control signals and data. During operation, The structural element 7 8 4 is the required routing change received by the controller 7 05 and implemented in the preset routing table 7 8 8. then, The structural element 7 8 4 combines one or more changes to the modified routing table 7 8 9.  therefore, The structural element 7 8 4 is operated to modify the boundary gateway, agreement 4 routing table 7 8 3, And one or more modified boundary gateway agreement 4 routing tables 7 8 8 are generated. The modified boundary gateway agreement 4-way table 7 8 8 contains the modified route 7 8 9 More specific route notifications and more. then, The new modified Border Gateway Protocol 4 routing table 7 8 8 is fed to all Border Gateway Protocol customers in the network, then, It is used to guide communications to that destination.  51 200300315 described in Section 3, 4, 5, Each of the embodiments of Figures 6 and 7 provides information on the implementation of the controller 202 (as defined in Figure 2). In each of Figures 3 to 7, Provide detailed interrogation, So that those skilled in the art can implement the controller 202 and the communicable resources, Such as using the collector 2 0 4 Data Navigator 2 0 6, Structural element 208, Active calibrator 2 1 0 and passive calibrator 2 1 4. Referring back to Figure 2, The structural element 208 is connected to the controller 202 and the data director 206. The controller 2 0 2 provides the best path to a destination front head to the structural element 2 0 8. The structural element 208 is operated to change the preset routing behavior (i.e. the current path) for the destination of the action requiring correction. The structural element 208 changes the routing behavior by, for example, transmitting a modified routing table to the data director 206.  Once the data director 206 receives the information, The controller 202 is notified that a routing change has been implemented. Since then, The controller 2 0 2 communicates with the passive calibrator 2 1 4 To erase its status and resume monitoring the destination. The destination is monitored, To ensure that the updated routing table or path meets the minimum service level (for example, Does not violate the SLA, There is no unacceptable variation from the agreed performance matrix defined by the policy, Exceptions to the criteria for optimal performance of events in the controller's logic, as described below, or other flow policies).  In one view, The structural element 208 enables the configuration of the data communication flow 218. The structural component 208 series can reside on a server, Confidential channel, Network switch, Internet Protocol Security Device or 52 200300315 application, Load balancer, A firewall or other security-enabled device used in conjunction with a network used when connecting one or more paths between a destination and a source or when transmitting modified communications over a single path. In another perspective, The structural element 208 resides in a router and is constructed to modify a routing map or table. In another view, The structural element 208 is suitable for providing structural information that can be stored in a data structure such as a routing table. In yet another point of view, The route information is stored in the structural element 208 depending on whether it is related to inbound or outbound communication.  For a given bit source address, The inbound site to a network is typically a routing notification implemented by policies for downstream network service providers and a network service provider Decide. At last, The network service provider that manages the destination (such as an Internet service provider, Information service providers) will receive such notifications, Publish better routes, destination, The path and routing changes implemented by the controller 200 according to an embodiment of the present invention. For example, In one embodiment of the present invention, Notification or publication of a "/ 1 6" routing header will indicate that only the first 6 bits of the address are relevant, And assuming that you can use 32 bits to describe a specific address, All relevant and subsequent addresses to the preamble will also be considered as part of the notified path.  The controller 200 in Fig. 2 is designed to receive such signals as delay, loss, Performance characteristics such as jitter, etc. and monitors such as bandwidth, Cost characteristics. The control 53 200300315 controller 2 0 2 is connected to the policy storage 2 1 2 to receive the policy, As described in more detail below, It typically includes a minimum performance matrix and other decision criteria such as cost / performance priority and measurement behavior. These matrices or conditions are compared to the monitored performance and usage characteristics. As described below in conjunction with Section 8A, 8B, 8C and 1 3A to 1 3C, Many decisions for flow policies (such as cost, The performance) standard was developed by the controller 202.  If a particular policy is violated (i.e., one or more performance matrices are within one or more of the expected range or beyond) The controller 202 then decides to conform to a subset of one or more alternative data paths of the relevant flow policy. In another embodiment, The controller 200 selects an optimal or optimized path as an alternative data path that best meets the performance and use conditions defined by the policy (such as account profiles and contracts, Cost policy for each individual Internet service provider, System-specific or user-constructed static and dynamic policies). The following statements are about issues such as resolving policy violations, Policies and applications to implement the policy conditions or matrix and policy examples.  Referring back to Figure 2, The controller 2 0 2 is connected to the policy storage 2 1 2 To receive one or more policies. According to an embodiment of the present invention, Each destination has several policy statuses. Contains new or old, Exceptions (this can also generally mean policy violations in accordance with other embodiments of the invention), High Flow, And static continuous front header. The new or old policy state is described in the logic of a new path or an existing path in the controller 202 that is already old and viewed by the controller 200 20030215. An exception is a policy exception or effectiveness violation that is outside the scope of a particular policy, When seen by the controller 2 0 2 Can cause a path change. High flow is a policy state where a current path can be selected when the flow level standards are met. A static persistent preamble is a state that causes a particular preamble or set of preambles to be selected for the current path that can be selected when viewed by the controller 202. The routing state can be long-term or continuous. According to an embodiment of the present invention, These events or states in the logic of the controller 202 ensure that the best implementation path is continuously sought and selected, Unlike traditional technologies such as the Border Gateway Protocol, It cannot be adjusted to the best implementation path. Although an exemplary policy system involves detection, efficacy, cost, And the conditions or rules of priority, Those familiar with this art will understand that Less or additional parameters can be measured or implemented according to the invention.  Detection is defined as the technology or mechanism by which the detection flow control system 200 determines which communication should act in response to a policy violation. The communication stream can be identified by name, By source or destination address,  Identified by source or destination port or by any other known identification technology. For example, A policy department can only be tied to the header.  that is, The flow control system 200 will monitor to a specific header or the communication flow from a specific header, And if needed, The relevant current policy will be implemented according to its conditions. Further on detection, A policy defined for more specific pre-headers can have priority over more general pre-headers. For example, If a / 16 55 200300315 contains the specific / 2 4, The policy defined for a 24 will have priority over the 16.  Performance is a statement that applies to one or more target performance levels (i.e., network / quality level policy parameters) or a set of identified destinations (eg, port, Agreements, etc.). Although it is possible to define more than one performance-based policy condition, In this example, Only a single policy is applied to a given list of preceding or preceding headers. Exemplary performance conditions include losses, Delay and jitter.  In addition, Such conditions can be structured as, for example, an absolute, Fixed 値 or an exponentially weighted moving average,  EWMA). In another embodiment,  Definitely not to establish a threshold of numbers, Such as expressed as a percentage or a unit of time over a configurable time window. The exponentially weighted moving average method establishes a moving threshold based on the historical sampling of placing an exponential weight on the most recent sample. So when it is related to historical circumstances, Make sure you can consider a threshold for your current network status.  In another embodiment, Conditions are capable of using statistical process control (Statistic Process Control, SPC) technology. This statistical program control technology is used, This is to determine when the network performance for a given header deviates from the observed and expected performance. The statistical program control generates the upper and lower control limits (UCL, LCL). The upper and lower control limits are fixed differences (for example, ms) from the average of the long-term observation. however, Lai 56 200300315 The return time is closely related to the geographical location and this is a simple application forbidden by the statistical program. The upper and lower control limits use a "fixed" difference (for example, 10 ms) or a fixed percentage of the observed average. (For example, a 10% variation is considered an exception).  Most procedural control techniques assume that the data is normally distributed.  In that case, The system has many program control charts that can be applied. however,  Performance matrices such as network latency are abnormally distributed, And as a result,  Standard process control charts that define deltaU and deltaL cannot be used.  The deltaU and deltaL are used by the average to calculate the upper and lower control limits. As a result, The program control chart that defines the upper / lower limit of the control limit is unique to different performances.  This results in a method for determining a unique process control chart, It also determines the upper / lower control limit. The flow profile can be defined around the band or 値, It will be described in more detail with reference to FIGS. 10 to 13C. Each contour system has a definition of deltaU and deltaL 値 for each matrix (such as return time, Loss percentage, Time of day) (e.g., 0 to 11181, 11 to 25 1113, etc.).  From the most basic point of view, The function that determines dletaU / deltaL is a non-linear function of the average round trip time. In still another embodiment of the program control chart, This function is approximately equal to several average performances such as round trip time. This results in a single continuous process control chart of all performance.  57 200300315 The upper and lower control limits define the operating ranges in which the number of performances of the two groups should be considered "equal." Only when a candidate's network performance is outside the operating range defined by the upper control limit / lower control limit, A change is allowed. This will prevent situations where a small difference in performance matrix such as round trip time or loss can cause a route change.  Network performance "exceptions" are generated when several performance samples are observed above the upper limit of the control limit or below the lower limit of the control limit. The difference between the observed sample that does not exceed the upper control limit / lower control limit and the upper limit and lower control limit are considered to be within equivalent ranges. however, When defined as an amount above or below the lower limit of a control limit, Exceptions indicate that the implemented system (i.e., the network) has been changed in a basic manner (e.g., System performance is improved or deteriorated so that the upper control limit / lower control limit is exceeded). For example, With one exception, The downstream flow control policy element can examine candidate paths and decide whether an alternative provider can achieve better performance.  Although the structure controlled by the statistical procedure can be changed, An exemplary default structure for exception detection for a round-trip time performance matrix is:  1) Collect sufficient starting data to establish an average 値;  2) Using the average of the long round trip time, Calculate upper / lower limit of control limit from program control chart;  3) If a "sample" is observed to be above / below the upper limit of the control limit, Increase the count of violations, However maintaining the previous round trip time average of 58 200300315;  4) If n simultaneous samples (for example, to define the algorithm's sensitivity ’is preset to η 2 3) are observed to be higher than the upper limit of the control limit / lower than the lower limit of the control limit, The system has changed. The average round trip time for discarding this history is 値 (because it is no longer relevant to the new system), An exception is to label the front head in the controller;  5) Start collecting a new historical average; And 6) Steps 1 to 5 can be applied to other performance matrices in a similar manner.  Costs are expressed in policy definitions based on priority and whether the policy is predictable or reflexible. The cost is collected by the use of Figure 2 from the collection of benefits 204 to the g-weeks of account reconstruction and bandwidth utilization, and at a collective and very rough level (for example, via a destination network of 24). Characterization. Cost forecasting conditions are used to actively move communications from one network service provider to another, To avoid creating a spike that can trigger a new or higher rate (that is, spike avoidance).  Cost response conditions are used when a minimum implementation rate or current rate is exceeded, Respond to communications from one network service provider to another.  Typically, Cost prediction and response conditions result in a binary decision (ie, A circuit or path, For example, Is to comply with or violate a flow policy). In the case of forecasted costs, The switching circuit is designed to comply with or subsequently violate a flow policy. no matter what, An action system must be taken to resolve the situation, Unless performance is more important than cost (i.e. 59 200300315, Effectiveness conditions are resolved before a cost-based change is implemented) ° Priority is a policy condition that describes the use or use of characteristics or levels of one or more objectives. Priority is a condition that includes the performance and maximum utilization (ie load) of the network service provider. The priority condition of the network service provider is, for example, any level of network service provider that is used when an action must be performed and two or more transfers can be selected to implement the policy. If it is clearly constructed by the operator of the system, Then the flow control system can automatically set the priority conditions of the network service provider or path. then, This condition is applied in the case of a dead knot as a knotbreaker, So that the web service provider with the highest priority is naked, And thus receive the redirected communication stream.  This maximum use condition can be used as or can be used without exceeding a real operating threshold or a solver. Maximum use is constructed, for example, in the transit network service provider portion of the structure and takes a percentage argument (that is, based on the available bandwidth), Or it can be set to an absolute value in megabits per second (that is, not exceeding the available bandwidth).  In addition to the policy examples above, Policy examples can be applied to every destination, And can include a minimum performance matrix (such as loss, Delay jitter), And measurement behavior (such as periods, except, frequency, Round-trip time, etc.). Other policy examples include the ability to designate route changes on / off (ie, enable the specified parameters of one embodiment of the present invention to record the results and implement / do not implement route changes based on the compliance of repair 200300315), Decision criteria (e.g. cost / performance priority), Thresholds (such as dynamic,  Static) or other standards that can be constructed and stored in policy storage 2 1 2. According to an embodiment of the present invention, Dynamic threshold is based on a historical baseline, From this baseline, All derived information is entered into a memory or data structure. on the other hand, A static threshold is a baseline defined for any user, It provides the basis for establishing, for example, a static performance threshold with minimal performance levels.  In conclusion, The policy such as the above example policy is input to the controller 2 0 2 in FIG. 2, And, for example, combined with a specific previous head. The general detection method (absolute or baseline / historical) can be specified as each preamble, So hard or absolute thresholds for certain destinations that are already known, Also use a baseline method for other destinations. The policy also defines the solution (eg, procedure) that is used in combination with a violation of the performance matrix that must be met before it is considered to be resolved. Other parameters such as cost and utilization thresholds can be set for each preamble. This gives the controller an indication that the front head should not be moved for cost or utilization reasons.  The active calibrator and the passive calibrator provide information characteristics. Regarding the active calibrator, The controller 200 initiates an active calibration by requesting active detection. The active calibrator sends out one or more calibration probes to the one or more data networks. The response information in response to the probes provides information back to the controller 2 02, It contains identifiers about its available paths and performance.  61 200300315 About this passive calibrator 2 1 4 The controller 2 0 2 is designed to receive real-time or near-real-time network performance characteristics (ie, loss, delay, Jitter, etc.), As a monitor of the communication flow it receives. According to an embodiment of the present invention, The controller 200 can be set to record only changes. however, In another embodiment of the present invention, The controller 200 can be configured to record traffic and implement changes in traffic based on real-time network performance characteristics. The control signal is the initial state of the passive calibrator 2 1 4 So that the passive calibrator 2 1 4 restarts monitoring the specific destination, To ensure that the updated route or path of the routing table complies with the recorded flow policy.  The control signal that cancels the state of the passive calibrator 214 is from the controller 002, The state of the passive flow analyzer 3 3 0 is initially reset. however, In other embodiments of the invention, Eliminating the passive calibrator 2 1 4 may not require a control signal.  In one example, The controller 200 is operative to interpret candidate performance for recently observed or old destination headers for interpretation of replacement performance. The controller 202 determines which alternative path or paths are most suitable for the preamble or the communication form related to the current communication flow. As stated above, The controller 2 0 2 can also interpret headers for recently observed or old destinations. And thus implement changes to the communication flow. The controller 20 2 then transmits the necessary routing change to the structural element 208. that is, The controller 200 looks for the best starting baseline that meets the policy. If the head is old again and no further measurements are needed, The procedure is repeated. If the prefix is also listed as an exception in 62 200300315, A high-traffic header or a very important header, Then the controller 202 can also perform necessary routing changes on the structural element 208.  In yet another embodiment, The controller 200 is operated to interpret candidate performance for alternative performance for high traffic destination headers. When compared to low data traffic headers, These heads are important. The controller 202 determines which alternative path or paths are most suitable for the preamble. The controller 2 0 2 then transmits the necessary route change to the structural element 2 0 8. that is, The controller 2 2 finds the best performance in accordance with the policy. This process is repeated until the front head does not meet the high flow standards stored in the policy reservoir, Such as flow levels (such as the highest "η" level, (I.e. the highest 100%), Other system structures that are either flow-level or designated or stored in the policy reservoir. In yet another embodiment, The controller 200 is operated to interpret alternative path performance for destination headers with static persistent headers. These heads are important and are continuously measured when specified by the user. The controller 202 determines which alternative path or paths are most suitable for the preamble. The controller 202 then transmits the necessary routing changes to the structural element 208. that is, The controller 2 2 is to find the best performance in accordance with the policy. The procedure is repeated, As long as the static persistent header is present.  In another example, The controller 2 0 2 is like the component 7 0 2 in FIG. 7A, The system is designed to receive representatives from the usage collector 7 1 5 63 200300315 such as usage rate, Real-time or near-real-time data on network usage characteristics such as payment rates. The controller 702 uses this information to resolve policy violations regarding non-compliance with network performance characteristics in accordance with the relevant flow policy. that is, Before or during a route change, The controller 70 2 only makes the controller consider the performance of alternative paths, Also consider whether the alternative paths are not to avoid spiked data communications on the path of a particular network service provider Regarding the appropriate bandwidth for date conversions), Or to see the path of least cost under this stream policy.  In order to resolve violations of the usage policy, The controller 705 is constructed as a receiving routing table. For example, to determine which current traffic or route of data on certain paths or sections thereof is congested (ie, loaded) for a particular network service provider path or paths . The controller 702 receives stream data, In order to decide which stream on the network service provider is active, It is indicated as "full" (for example, No usable bandwidth). The controller 702 also uses streaming data, To determine the flow of the active stream, And add up to the head traffic. The controller 700 also uses the flow data to determine the stability of the flow. According to an embodiment of the present invention, Stability is to be expected, Especially when a cost change is implemented but remains unaffected when the communication traffic is reduced or stopped. From the stream data, The controller 702 can decide which front head and the number of front heads need to be moved. To correct an exception such as a cost violation. Flow meter drawing is also important.  When implementing changes in a cost-constrained environment, Planned flow 64 200300315 is important. If a traffic is moved due to cost constraints, Then it is understood that the traffic from a given network service provider and from a given network service provider affects the accuracy of the decision. In one embodiment of the present invention, The observed flow that can be proportional to the present provider based on the current and projected round-trip time, To calculate traffic at that destination. The delay bandwidth manages the traffic used for the transmission control protocol as a function of the window size and round trip time. If the average window size is fixed for multiple providers, The flow can then be scaled by using round-trip time. For example:  Flow = window / (observed) round trip time;  (Observed) flow = window / (observed) round-trip time j (observed) round-trip time = (of convergence point) round-trip time + c;  (Projected) flow 1 = (observed) flow ((observed) round-trip time) / (of convergence point 1) round-trip time + C;  (Projected) Flow 22 (Observed) Flow ((Observed) Round Trip Time) / (Convergence Point 2) Round Trip Time + C.  therefore, The controller 700 is designed to obtain information about the performance and utilization of the data network. And implement corrective actions, Based on the network service provider policy in the data communication flow 2 1 8 through the relevant network service provider and through the data routing of the flow control system 2000.  In order for the controller 202 to handle peer-to-peer connections, The controller 2 0 2 communicates with the data director 2 06. In order to obtain the reachable information (such as a routing table) used to change 65 200300315 to this specific head, in the case of a switching circuit, The controller 2 0 2 uses the active calibrator 2 1 0, To determine reachable information (e.g., routing table) for a given destination by sending, for example, an active probe to the destination and then waiting for the response. Although peer-to-peer connection is usually not achievable, it may be successful for active detection. This is because some network service providers may not be able to effectively filter out communications at a peer point. Instead, it is based on a credit similar to The system ensures that only communications for these notified destinations are received.  · Therefore, In the case of peer-to-peer or private connections, The controller 200 must watch the routing table for a notification for the destination before mobile communication to a peer connection. or, A set of reachable destinations can be statically constructed for a provider / network service provider peer-to-peer or private link (network service provider). The controller 2 0 2 is capable of viewing a static structure for accessibility information, It is stored as part of the system structure. This allows for public and private connections, among them, The routing information is not dynamically available on the private link. In one embodiment of the present invention, The purpose of cost and / or usage control and better performance was identified. For example, Given the cost structure for the different sets of transit providers available, The cost of the overall flow control system can be minimized by allocating communications in a way that takes advantage of different fee structures and maintains an acceptable level of performance. In another embodiment of the present invention, It is expected to balance load and utilization among multiple Internet service providers. In Figure 8A, One model of the overall system cost is the minimum cost curve shown below. Its representative is used as an example to say that three network service providers are relative to all three network service providers A, The spikes in the total cost of B and C are used. The web service provider A, Each of B and C can represent different fee contracts with one or more cost tiers and a minimum agreed level. For example, Network service provider A can have a two-tier fee contract, It has two layers of 100 yuan per 50Mbps (minimum agreement) and 50 yuan per additional 50 Mbps. Network service provider B can also have a two-tier fee contract. There are two layers of 1.25 yuan per 50 Mbps (minimum agreement) and 75 yuan per additional 50 Mbps. Network service provider C completes this example. Can have a two-tier fee contract, It has two layers of 150 yuan per 50 Mbps (minimum agreement) and 25 yuan per additional 50 Mbps. The sample fee profile will be described in more detail below.  Referring back to Figure 8A, Internet Service Provider A, B and C are shown as a graph of the total cost curve versus peak usage levels. When peak usage is below the sum of all three minimum conventions, This minimum cost is maintained equal across all layers. This is when the usage rate of a network service provider is prevented from being exceeded on any network service provider over any single minimum schedule. When this happens, Costs remain fixed. among them, For example, All two network service providers are promoted based on their minimum cost curve. We can see that the total cost remains the same, It is shown as a total cost of 2. however, Above this minimum cost level, For these three network service providers A, The increased cost tier for each of B and C appears 67 200300315. as the picture shows, Network service provider A represents the lowest cost tier. Network service provider B represents the next highest cost tier. Network service provider C represents the last and highest cost tier.  The three providers (network service provider A, B and C) have three simple cost profiles. Each network service provider has a minimum contract, And a sudden rising layer immediately after. The cost / data transfer rate (i.e. Mbps, Gbps) is different for each network service provider. Network service provider A has the lowest cost / data transfer rate in this sudden rise. Network service provider B has the second lowest cost / data transfer rate in this sudden rise, Network service provider C has the highest cost / data transfer rate in this sudden rise. Figure 8A represents this minimum cost for any given peak usage. The peak usage rate is the rate at which a customer will be able to request payment from all network service providers. The curve shows the sum of the minimum conventions, If shown as the horizontal line on the left side of the figure. When the data communication level rises above the sum of the minimum agreements, The curve enters the individual network service provider A indicated by the sloped line on the right side of the graph, One of the limitations of this sudden rise in B and C. The slope of this line represents the incremental cost / data transfer rate of the sudden rising layer. A lower cost / data transfer rate has a lower slope. When the maximum allowable use of that provider is a consumer, The minimum cost curve goes up to the incrementally more expensive provider. In addition, This model can be extended to include all required network service providers.  Regarding a cost embodiment according to an embodiment of the present invention, The maximum level of use on each 68 200300315 providers can be determined based on the minimum cost curve as shown in Figure 8B, It is shown for a spike usage of 7 (that is, 7 Mbps).  As shown in the figure, This minimum contract level should be implemented for network service provider C, This maximum use should be implemented on network service provider A,  An intermediate level between the minimum contract and the maximum contract use should be implemented on the network service provider B. From the figure, The level representation that each network service provider should implement as the three traffic profiles is shown in Figure 10.  The traffic profile shown at the bottom of Figure 10 shows the usage threshold of each network service provider. The maximum allowable use (for example, circuit usage not exceeding 90%) is user-configurable, And can be easily seen on network service provider A, As described below, among them, The minimum cost will be to place Internet Service Provider A in addition to its 100% utilization rate. The levels indicated in the figures are related to spike usage. Under any spike usage, The flow control system 2000 and the controller 202 can be implemented independently for cost, It should be optimized based on performance.  In Figure 8C, Cost is again plotted against usage, It shows a cost curve similar to Figures 8 A and 8 B. According to one embodiment of the invention, This model, hereinafter referred to as the cost-utilization curve model, serves as a guide for the outbound decision of different network service providers. If the 95th percentile of the bandwidth allocation (called P9 5) is for a specific period (for example, month) and factors such as 69 200300315 P9 5 rate for individual Internet service providers are known , Can express about cost,  Calculated information for performance and routing control. P9 5 is an important matrix ’because it represents that these network service providers can  Generally speaking, regardless of the part higher than P9 5, And as an abnormal part.  For example, If P9 5 or other rates are known to all internet service providers during a specific payment period, Then the bandwidth can be allocated,  Attach or approach the least cost curve shown in Figure 8C.  The least cost curve is derived from the cost profile of the different outbound providers. As an example, Each outbound station has 2 price tiers, The first price tier is a fixed price, Fixed bandwidth or the smallest contract layer. This second price tier has a boundary cost for additional P 9 5 bandwidth. For the flow control system of this embodiment shown in FIG. 8C, It has a total of 6 layers. According to the order of boundary costs, The total hierarchy can be:  Tier cost A1 0. 00 B1 0. 00 C1 0. 00 A2 1. 00 B2 2. 00 C2 3. 00 If an accurate usage sample is known for a particular billing period, the p9 5 bandwidth used for the sum of the bandwidth of the network service provider can be derived. As a derivation of the bandwidth, p9 5 total 70 4 4200 300 315 network service provider bandwidth (total network service provider bandwidth is used to distinguish individual network services provided by the sum of all outbound bandwidth (Bandwidth) determines how to distribute communications between different network service providers. Referring to the expected P9 5 line in Figure 8C, it is clear that it spans this minimum cost in the cost layer B2. Therefore, the ideal allocation of bandwidth for cost reasons is: Available Network Service Provider A: 100% level A 1 · + 1 0 0% level A2

網路服務提供者B : 1 0 0 %層B1 + 7 0 %層B 2 網路服務提供者c : 1 0 0 %層C1 + 0%層C2 假如該P9 5總計的網路服務提供者頻寬係於該最小 合約層之該輸出頻寬之總和(A 1 + B 1 + C 1 ),則該表 將出現成爲: 可使用 出站A 100%層A1+ 0%層A2 出站B 100%層B1+ 0%層B2 出站C 100%層C1+ 0%層C2 假如該目前總計之頻寬係於該期望之P9 5總計頻寬 之上,且如果目前之總計頻寬係維持於該期望之P9 5點 之上,則頻寬分配係沿著該最小成本曲線作計算。假如該 成本係被最佳化,則該成本使用率模型/演算法係實施是 否該控制器應該按照效能最佳化之邊界能力而於網路服務 71 200300315 提供者之間交換前置頭之決定。於傳統之資料路由控制技 術中,特別是邊界閘道器協定使用之下,係易於產生一個 “最差情況”之情景。換句話說,邊界閘道器協定易於分 配資料通信流,以遵循該最短之路徑,且並不需要爲可使 用之該最佳效能/最低成本之路徑。通常,由該邊界閘道 器協定所選擇出之該最佳路徑係爲一個過度昂貴之第一層 網路服務提供者。 不像上述之本發明之實施例,該邊界閘道器協定係能 夠僅因爲其係爲最短路徑而選擇該最昂貴之路徑,且因而 大幅減少關於成本之一個多重復位結構之資料路由效率。 不理會任何P9 5頻寬分配之分析之下,當於許多提供者 之間分配頻寬時該邊界閘道器協定係不考慮成本或者效能 資訊。此外,甚至當成本或者效能之一個大幅劣化出現時 ,該邊界閘道器協定亦不能調整資料通信分配。最後,用 於以邊界閘道器協定爲基礎之路由控制之示範性之成本曲 線係遵循於第8 C圖中之該最大成本曲線,而非該最少成 本曲線。 至於計算頻寬(如示於第8B圖之7),係具有種能 夠使用於預測P9 5 (或者另一個百分比之總計頻寬,例 如P8 7,P9 1,P7 0等等)之總計頻寬於一個計費典 間結束時將爲何之方法:Network Service Provider B: 100% Tier B1 + 70% Tier B 2 Network Service Provider c: 100% Tier C1 + 0% Tier C2 The width is the sum of the output bandwidth of the smallest contract layer (A 1 + B 1 + C 1), then the table will appear as: Can use outbound A 100% layer A1 + 0% layer A2 outbound B 100% Layer B1 + 0% Layer B2 Outbound C 100% Layer C1 + 0% Layer C2 If the current total bandwidth is above the expected P9 5 total bandwidth, and if the current total bandwidth is maintained at the expected Above P9 5 points, the bandwidth allocation is calculated along the minimum cost curve. If the cost is optimized, then the cost usage model / algorithm implements the decision whether the controller should exchange front-end headers between network service providers based on the performance-optimized boundary capabilities. . In the traditional data routing control technology, especially under the use of the boundary gateway agreement, it is easy to produce a "worst case" scenario. In other words, the boundary gateway protocol is easy to distribute the data communication flow to follow the shortest path and does not need to be the best performance / lowest cost path available. Usually, the optimal path selected by the border gateway agreement is an overly expensive first-tier network service provider. Unlike the embodiment of the present invention described above, the boundary gateway protocol is able to select the most expensive path simply because it is the shortest path, and thus greatly reduces the data routing efficiency of a multiple reset structure regarding cost. Regardless of any analysis of P9 5 bandwidth allocation, the boundary gateway protocol does not consider cost or performance information when allocating bandwidth among many providers. In addition, even when a significant degradation in cost or performance occurs, the border gateway agreement cannot adjust data communication allocations. Finally, the exemplary cost curve for routing control based on the boundary gateway agreement follows the maximum cost curve in Figure 8C instead of the minimum cost curve. As for the calculation bandwidth (as shown in Figure 7B), there is a total bandwidth that can be used to predict P9 5 (or another percentage of the total bandwidth, such as P8 7, P9 1, P7 0, etc.) What will happen at the end of a billing session:

1 · LASHWEEK/LASHDAYS/LAST—N_H〇URS 此方法係計算過去N天/週/時中之總計使用率之P 9 5,且使用此作爲目前之月之該估計之P9 5。 72 2003003151 · LASHWEEK / LASHDAYS / LAST—N_H〇URS This method calculates the total usage rate of P 9 5 in the past N days / weeks / hours and uses this as the estimated P 9 5 of the current month. 72 200300315

2 · MIN^MONTH^SO^FAR 此方法係僅使用由目前曆法之月而來之使用率資料, 以計算該P9 5之估計値。假如於該月結束時將被丟棄以 計算該真正的P 9 5之樣本數(例如5分鐘樣本間隔之3 0天中之4 3 2個樣本)係爲已知,則 MIN_M〇NTH_S〇_FAR係由目前該月接收到的使用資料中丟 棄該數量之樣本,以計算P9 5。2 · MIN ^ MONTH ^ SO ^ FAR This method uses only the usage data from the month of the current calendar to calculate the estimate of P9 5 5. If at the end of the month will be discarded to calculate the true number of P 9 5 samples (eg 4 32 samples in 30 days of 5 minute sample interval) is known, then MIN_M〇NTH_S〇_FAR The number of samples is discarded from the usage data received in the current month to calculate P9 5.

3 · PREVIOUS.MONTH 此方法係使用前一個月之P9 5之一部分作爲該月之P 9 5之估計値。3 · PREVIOUS.MONTH This method uses a part of P9 5 of the previous month as the estimate of P 9 5 for that month.

4 · COMBINATION 此方法係取上述三種方法之最大値。 上述之討論及實施例係關於出站之頻寬分配。然而, 此項討論係不打算限制本發明及本發明之其他實施例解決 輸入通信頻寬分配之問題。於網路服務提供者根據輸入頻 寬,輸出頻寬,最大(輸入頻寬,輸出頻寬)或者總和( 輸入頻寬,輸出頻寬)而計費之情況下,該頻寬分配機制 係能夠以一個更豐富之塡充方法而改進。該更豐富之方法 係藉由使用該輸入頻寬之P9 5頻寬估計値(或者其他估 計値,例如87%,80%等等)而首先塡充該些出口。 該些出口係首先使用P9 5 (或者其他百分比)之輸入頻 寬估計値塡充,因爲對於該輸入路徑無立即的控制。作爲 入站通信之一個範例的管理該更豐富之塡充方法係爲: 1·假如該網路服務提供者係僅於輸入頻寬上收費, 73 200300315 則該整個出站頻寬係具有一個$ 0 · 0 0之邊界成本。該 網路服務提供者係能夠被塡充,以容納出站之頻寬。 2 ·假如該網路服務提供者係於輸出頻寬上收費,則 該輸入頻寬輸入估計係不使用。 3·假如該網路服務提供者係使用輸入及輸出頻寬之 該最大値收費,則該低於輸入頻寬或者等於輸入頻寬之相 同頻寬之輸出頻寬之邊界成本係爲$0 · 00。因此,該 網路服務提供者係能夠被塡充以匹配該輸入頻寬,而不產 生額外的成本。 4·假如該網路服務提供者係使用輸入及輸出頻寬之 總和而收費,則該些層係被塡充,以首先以該輸入頻寬實 施該分配計算。然後,該標準之上之分配係以該輸出頻寬 實施,由該最便宜之層塡充至最昂貴之層。 作爲一個出站通信較豐富之塡充方法之範例,上述之 規則將舉例而言被改變成爲: 1·假如該網路服務提供者係僅於輸出頻寬上收費, 則該整個入站網路服務提供者之頻寬係具有一個$ 0 · 0 0之邊界成本。該網路服務提供者係能夠被塡充,以容納 入站之頻寬。 2 ·假如該網路服務提供者係於輸入頻寬上收費,則 該輸出頻寬輸入估計係不使用。 3·假如該網路服務提供者係使用輸入及輸出頻寬之 該最大値收費,則該低於輸入頻寬或者等於輸出頻寬之相 同頻寬之輸入頻寬之邊界成本係爲$0 · 00。因此,該 74 200300315 網路服務提供者係能夠被塡充以匹配該輸出頻寬,而不產 生額外的成本。 4·假如該網路服務提供者係使用輸入及輸出頻寬之 總和而收費,則該些層係被塡充,以首先以該輸出頻寬實 施該分配計算。然後,該標準之上之分配係以該輸入頻寬 實施,由該最便宜之層塡充至最昂貴之層。 當結構元件2 0 8 (例如邊界閘道器協定d)僅係能夠 最佳化入站或者出站使用時,較豐富之塡充係有需要的。 舉例而言,根據本發明之一個實施例,邊界閘道器協定係 僅能夠影響每一個目的地之出站使用率。當入站係於該費 用輪廓中被考慮時(例如max(in,ou〇),此係需要用於入 站之較豐富之塡充技術。某些SPRE或者其他以網路位址介 面爲基礎之結構元件之實施例係僅能夠影響每一個目的地 之入站使用率。當出站係於該費用輪廓中被考慮時(例如 max(in,out)),此係需要用於出站之較豐富之塡充技術。假 如結構元件2 0 8係能夠影響入站及出站使用率時,則不 需要豐富的塡充技術。 如示於第8 A及8 B圖,其係顯示三個個別的網路服務 提供者A,B及C。該邊界成本曲線係反射網路服務提供者 A,網路服務提供者B及網路服務提供者C之邊界成本。 由在第8C圖之左下角中之該有陰影之方塊所表示之該最 小成本曲線之下之區域係反應該網路服務提供者A,網路 服務提供者B及網路服務提供者C之每一個之該最小頻寬 合約成本。對應之成本係與透過該出口站而轉接資料通信 75 200300315 流至每一個網路服務提供者(例如,一個出站路由器,伺服 器,或者其他用於允許資料通信流2 1 8轉接該網路服務 提供者之個別的結合保密之實施機構)之成本相結合。爲了 改變資料通信之水準,結合之成本係能夠由示於該網路服 務提供者A,網路服務提供者B及網路服務提供者C之每 一個之最小及邊界成本曲線之下之區域所決定。除了該網 路服務提供者A,網路服務提供者B及網路服務提供者C 之每一個之最小成本曲線之外,係具有一個最大成本曲線 。於該最大成本曲線及最小成本曲線之間之陰影區域係爲 可定義之目標區域,其係適合於由控制器2 0 2作最佳化 ,以改進效率而不產生增加之相關成本。於該最大成本曲 線及最小成本曲線之間之非陰影區域係代表最佳化之區域 ,其將增加成本,例如產生效能例外,以允許使用率臨限 能夠被超過,以由另一個網路服務提供者於更昂貴之頻寬 層之中支援符合之政策。 參照第9圖,一個流控制系統9 0 0之一個結構圖係 被顯示出來。於本發明之一個實施例中,該控制器9 0 2 係類似於第2圖之控制器2 0 2。係具有數個負責服務作 爲該控制器模組9 0 4及具有流控制系統9 0 0之其他資 料,政策或者其他輸入之間之介面,其係使用一個匯流排 9 0 6 (例如一個軟體匯流排)以致能模組之間之通訊。 於使用匯流排9 0 4之通訊中之使用收集器9 0 8 ’被動 校準器9 1 0,結構元件9 1 2,主動校準器9 1 4 ’及 資料收集器9 1 6係被顯示。由控制模組9 0 4傳送至資 76 200300315 料收集器916之資料係能夠被儲存於通信貯存器216 中(第2圖)。透過匯流排904,使用收集器908係 提供使用資訊至使用資訊接收模組9 1 8。通訊使用資料 至出站成本模組9 2 0,該使用資訊接收模組9 1 8亦通 訊使用資料,以用於儲存於帳務資料貯存器9 2 2之中。 使用資料係能夠根據使用率而致能兩種形式之操作參數。 該第一種形式係爲估計無歷史資訊存在之使用參數。理想 化之下,該第二種形式之歷史參數係需要至少兩個資訊之 計費期間,以致能使用作爲於路由控制中之標準之有效的 使用資訊之產生。換句話說,根據本發明之一個實施例, 假如兩個計費期間係被使用(例如由每一個網路服務提供 者收集而來之兩個月的計費資料之費用)以產生使用參數 ,則該控制器9 0 2將使用該資訊/標準/參數以控制資 料之路由。 於請求時,使用資料係能夠被傳送至該控制模組9 0 4。流快取器9 2 4係儲存由一個查表而來之目前路徑辨 識於一個來回程時間鏡9 2 8之中以用於目的地。該流效 能資訊係被傳送,以處理控制模組9 2 5,其係被設計成 使用統計程序控制,EWMA,靜態或者其他方法而決定效能之 違反。假如一個用於一個目的地之違反係被偵測出,則一 個違反旗標係被設定於流快取器9 2 4之中,且被傳送至 該控制器9 0 4關於被動校準器9 1 0,PFA資料係能夠 透過流快取器9 2 4而被傳送至該控制模組9 0 4。PFA9 1 4資料係於一個諸如來回程,損失,流量及抖動之每一 77 200300315 個目的地之基礎下產生。該來回程時間鏡9 2 8亦與路由 快取器9 3 0作通訊,該路由快取器9 3 0係由傳送由該 結構元件9 1 2而來之資料。根據本發明之一個實施例, 由該結構元件9 1 2收集而來之資料係能夠包含但不限於 更新値,撤回値及其他由外部邊界閘道器協定對等端而來 之路由資訊,其他以協定爲基礎之資訊,及自我產生之資 訊。雖然於目前實施例中所顯示的係爲一個邊界閘道器致 能之裝置/程序,其他實施例係可以使用爲熟悉本項技藝 人士所知之協定,且本發明係不意欲受限於目前所顯示之 實施例。 參照回第9圖,該路由快取器9 3 0 (或者任何其他 以協定驅動之訊息匯流排)係透過路由改變介面9 3 2而 接由路由集合模組9 3 4而來之路由集合/改變資料。主 動校準器9 1 4係取得收歛點資訊,且集合至路由集合模 組9 3 4之中。下一個跳躍資訊係由該來回程時間鏡9 2 8通訊至路由集合器模組9 3 4。當該控制器9 0 2係傳 送一個更新時,其係透過路由集合模組9 3 4而傳送,以 決定被使用之集合的正確水準,如上述關於收歛點資訊。 該路由集合模組9 3 4係決定至該路由快取器9 3 0之該 適當的集合水準通知,該路由快取器9 3 0係與一個結構 元件9 1 2 (亦即邊界閘道器協定)作通訊。當其係關於 兩個或者多個路徑收歛(路徑分散値=〇 )之節點時,收 歛點集合邏輯係提供集合之資料。於一個收歛點被發現存 在時,該主動校準器9 1 4係產生主動探測,其係接著產 78 200300315 生回應之資料,其係被傳送回該控制器9 0 2,以記錄於 通信貯存器2 1 6中。與主動校準器9 1 4作通訊,該主 動校準器訊息匯流排9 4 0係接收由收歛點之主動探測而 來之收集的資料。 由該主動校準器9 1 4收集而來之資訊係可以包括但 不限於收歛點分析資訊,每一個前置頭/目的地資訊(例 如來回程時間,封包/資料損失,抖動,錯誤碼,出站辨 識等等),或者本發明之實施例可以收集之任何其他形式 資訊。該資訊亦可以被通訊至該控制模組9 0 4,以致能 路由控制及當有需要時作改變。政策貯存器9 4 2係容置 政策,規則,參數,及於控制器9 0 2提供路由控制下之 其他使用者或者系統特定之標準。該控制模組9 0 4亦可 以分別使用由使用模組9 1 8及出站成本模組9 2 0而來 之結合之使用資訊加上出站成本資訊。爲了實施此技術, 該控制模組9 0 4亦能夠根據由再次可以爲使用者或者系 統特定的之政策貯存器9 4 2接收而來之政策輸入而決定 是否成本違反係存在。 此外,根據本發明之一個實施例,本發明係不需要受 限於示於第9圖中之該些模組,然而可以包括熟悉本項技 藝人士可以認爲實施資料路由之複數個參數控制所需之較 少或者較多之功能模組。進一步之實施例亦可以結合示於 第9圖中之兩個或者更多個模組成爲一個單一處理或者模 第1 0圖係顯示三個示範流量及效能資料之網路服務 79 200300315 提供者流量輪廓。該三個網路服務提供者流量輪廓’網路 服務提供者A1 0 0 2,網路服務提供者B 1 0 0 4及網路 服務提供者C 1 0 0 6,係被顯示。示於網路服務提供者A 1 0 0 2,網路服務提供者B 1 0 0 4及網路服務提供者C 1 0 0 6中之陰影球體一般而言係代表透過一個特定的網 路服務提供者而至一個給定之目的地前置頭之使用頻寬。 該些球體之大小係代表至該目的地前置頭之相對流量。陰 影部係可以指示政策或者目前及/或實施之效能。虛線圍 繞之球體係代表於一個頻寬再分配移動實施之前透過一個 網路服務提供者之實施流量之特性(例如流量/效能)。 第1 0至1 3 C圖所代表之該些流係本發明之示範性的實 施例,其係可能於一個特定之情況下以許多不同之流表示 〇 於網路服務提供者A 1 0 0 2中,球體1 0 0 8及1 〇 1 0係分別代表根據政策優先權設定之效能及成本限制 之頻寬分配。假如球體1 0 0 8及1 0 1 0係被移動,則 球體1008及1010係可以由於網路服務提供者之間 之移動而引起額外的成本或者效能影響。然而,只有當具 有限制時,成本及效能優先權設定係發生作用。效能優先 權係不允許劣化,以造成成本之移動。反而是,其他流之 移動將被選擇出。類似地,成本優先權係不允許增加成本 ,以改進效能。於網路服務提供者A1 0 0 2中,其係顯 示一個最小合約1 0 1 2,其係不具有超過該最小合約1 0 1 2之頻寬分配球體。於網路服務提供者A 1 0 0 2中 80 200300315 亦顯示的是一個使用率臨限1 ο 1 4及一個最大可允許使 用率1 0 1 6,其係代表該最大頻寬及該最大可允許頻寬 之間之差。舉例而言’一個1 〇 〇 Mbps之提供者及最大利 用率爲9 0 %之情況下,該最大可允許利用率將爲1 〇 〇 —9 0或者1 0 Mbps。於網路服務提供者B 1 0 0 4中, 其亦係顯示一個最小合約1 〇 1 8,其係不具有超過該最 小合約1 0 1 8之頻寬分配球體。於網路服務提供者B1 0 0 4中亦顯示的是一個使用率臨限1 0 2 0及一個最大 可允許使用率1 0 2 2。最後,於網路服務提供者C1 0 0 6中,其亦係顯示一個最小合約1 0 2 4,其係不具有 超過該最小合約1 0 1 8之頻寬分配球體。雖然未顯示, 網路服務提供者B 1 0 0 4亦具有一個由第8C圖中之模型 所決定之使用率臨限。於網路服務提供者C 1 0 0 6中亦 顯示的是成本受限制之頻寬分配球體1 0 1 0。 某些係爲具有陰影之球形頻寬分配係代表用於許多應 用至一個目的地前置頭之使用中的頻寬。特別是,頻寬分 配球體1 0 0 8之陰影係爲效能受限的,且頻寬分配球體 1 〇 1 0係爲受政策限制之成本的。頻寬分配球體1 0 0 8之陰影亦係代表對於一個歷史的前景或者基線之相對效 能。當效能係偏離該前景,則如上所述之一個例外係被指 示’其係代表由於效能限制而應該被移動之頻寬分配。該 些限制係被建立且置放於關於政策輸入及儲存於該政策貯 存器9 4 2 (第9圖)中之政策之頻寬分配之每一個之中 81 200300315 如示於第1 1A圖係爲三個示範流量及效能資料之網 路服務提供者流量輪廓。該三個網路服務提供者流量輪廓 ,網路服務提供者Α1 1 0 2,網路服務提供者Β1 1 0 4 及網路服務提供者Cl 1 0 6,係被顯示。於網路服務提 供者Α1 1 〇 2中,一個最大可允許使用率1 1 〇 8係被 顯不’其係代表該使用率臨限1 1 0 9及網路服務提供者 Α1 1 0 2之輪廓之最大水準之間之差。一個最小合約水準 1 1 1 0係被顯示,於該最小合約水準1 1 1 0之下,係 爲具有陰影之頻寬分配球體1 1 1 2,其係代表一個成本 受限制之頻寬分配。球體1 1 1 2假如被移動,則其係可 以產生由於網路服務提供者之間之移動而引起額外的成本 。網路服務提供者Β 1 1 0 4亦係顯示一個最小合約1 1 1 4,其係具有兩個超過該最小合約1 1 1 4之頻寬分配 球體。於網路服務提供者Β1 1 0 4中亦顯示的是一個使 用率臨限1 1 1 6及一個最大可允許使用率1 1 1 8。最 後,網路服務提供者Cl 1 0 6亦係顯示一個最小合約1 1 2 0,其係不具有超過該最小合約1 1 2 0之頻寬分配 球體。亦示於網路服務提供者Cl 1 0 6中係爲陰影較淡 之球體1 1 2 2及1 1 2 4,該陰影較淡之球體1 1 2 2 及1 1 2 4係位於用於網路服務提供者Cl 1 0 6之該最 小合約1 1 2 0之上及之下,該陰影較淡之球體1 1 2 2 及1 1 2 4之每一個係代表成本受限制之頻寬分配。根據 本發明之一個實施例,藉由重新分配足夠之頻寬,位於用 於該網路服務提供者Cl 1 0 6之該使用率臨限値之上之 82 200300315 頻寬球體1 1 2 2將變成位於該使用率臨限1 1 2 0之下 ,因而致能政策符合性。 根據成本限制,第1 1 B圖係進一步圖示顯示於一個 圓圏1 1 2 6中之被選擇出之頻寬分配。於該被選擇出之 頻寬分配1 1 2 6中,其係爲成本受限制之頻寬分配球體 1 1 2 8 (陰影較深)。可能的重新分配位置係顯示爲頻 寬輪廓1 1 3 0及1 1 3 2。假如移動至網路服務提供者 Al 1 0 2或者網路服務提供者B1 1 0 4,則成本限制之 政策將不被實施,且該移動將被允許。然而,一效能受限 制而非成本受限制之球體1 1 3 4亦存在作爲一個被選擇 出之分配(陰影較深且實心的)。假如移動至網路服務提 供者Al 1 0 2,則計畫之頻寬分配1 1 3 4將變成效能 受限制的。當其發生時,至該前置頭之該流量及產量係減 少,且因而限制爲重要任務之應用資料之流。 於第1 1C圖中,頻寬分配1 1 2 8已經被改變成爲 網路服務提供者Al 1 0 2,且成本政策違反之球體1 1 2 2已經移動至網路服務提供者C1 1 0 6之使用率臨限 1 1 2 0之下。於移動該些球體之本發明的一個實施例係 已經致能政策符合性,而不產生一個效能例外或者違反。 於示於第1 2 A圖之另一個實施例中,再次顯示三個 流量臨限値。所有三個網路服務提供者之頻寬分配係於使 用率臨限1208,1214及1218之下。然而,於 網路服務提供者B 1 2 0 4及1 2 0 6之內之頻寬分配係 完全被塡補。陰影較淡之頻寬分配球體1 2 2 0及1 2 2 83 2003003154 · COMBINATION This method is the maximum of the above three methods. The above discussion and embodiments are about the outbound bandwidth allocation. However, this discussion is not intended to limit the present invention and other embodiments of the present invention to solving the problem of input communication bandwidth allocation. In the case where the network service provider charges based on the input bandwidth, output bandwidth, maximum (input bandwidth, output bandwidth) or the sum (input bandwidth, output bandwidth), the bandwidth allocation mechanism is capable of Improved with a richer method. The richer method is to first fill the exits by using the P9 5 bandwidth estimate of the input bandwidth (or other estimates, such as 87%, 80%, etc.). These outlets are first charged using the input bandwidth of P9 5 (or other percentage) because there is no immediate control over the input path. As an example of inbound communication, the richer charging method is: 1. If the network service provider charges only on the input bandwidth, 73 200300315, the entire outbound bandwidth has a $ 0 · 0 0 boundary cost. The network service provider can be recharged to accommodate outbound bandwidth. 2 · If the network service provider charges on the output bandwidth, the input bandwidth input estimate is not used. 3. If the network service provider charges the maximum charge for the input and output bandwidth, the boundary cost of the output bandwidth that is lower than the input bandwidth or equal to the input bandwidth is $ 0 · 00 . Therefore, the network service provider can be fully charged to match the input bandwidth without incurring additional costs. 4. If the network service provider charges using the sum of the input and output bandwidth, the layers are recharged to perform the allocation calculation with the input bandwidth first. Then, the allocation above the standard is implemented with the output bandwidth, charging from the cheapest layer to the most expensive layer. As an example of a richer outbound communication method, the above rules will be changed by way of example to: 1. If the network service provider charges only on the output bandwidth, the entire inbound network The bandwidth of the service provider has a boundary cost of $ 0 · 0 0. The network service provider can be recharged to accommodate the inbound bandwidth. 2 · If the network service provider charges on the input bandwidth, the output bandwidth input is estimated to be unused. 3. If the network service provider uses the maximum charge for input and output bandwidth, the boundary cost of the input bandwidth that is lower than the input bandwidth or equal to the output bandwidth is $ 0 · 00 . Therefore, the 74 200300315 network service provider can be fully charged to match the output bandwidth without incurring additional costs. 4. If the network service provider charges using the sum of the input and output bandwidth, the layers are recharged to implement the allocation calculation with the output bandwidth first. Then, the allocation above the standard is implemented with the input bandwidth, charging from the cheapest layer to the most expensive layer. When structural elements 208 (such as the boundary gateway agreement d) can only be optimized for inbound or outbound use, a richer variety of features is needed. For example, according to one embodiment of the present invention, the boundary gateway agreement can only affect the outbound usage rate of each destination. When inbound is considered in the cost profile (for example, max (in, ou〇), this system needs a richer charging technology for inbound. Some SPREs or others are based on network address interfaces The embodiment of the structural element can only affect the inbound usage rate of each destination. When outbound is considered in the cost profile (such as max (in, out)), this is required for outbound Richer filling technology. If the structural component 208 can affect the inbound and outbound usage, then there is no need for rich filling technology. As shown in Figures 8 A and 8 B, three of them Individual network service providers A, B, and C. The boundary cost curve reflects the boundary costs of network service provider A, network service provider B, and network service provider C. From the bottom left of Figure 8C The area under the minimum cost curve indicated by the shaded box in the corner reflects the minimum bandwidth of each of the network service provider A, network service provider B, and network service provider C Contract cost. Corresponding cost is for data communication through the exit station. 75 200300315 to each network service provider (for example, an outbound router, server, or other individual security enforcement agency that allows data communication flows to be routed to the network service provider 2 1 8) In order to change the level of data communication, the combined cost can be shown by the minimum and boundary cost curve of each of the network service provider A, network service provider B, and network service provider C. It is determined by the following areas. In addition to the minimum cost curve of each of the network service provider A, the network service provider B, and the network service provider C, there is a maximum cost curve. At the maximum cost The shaded area between the curve and the minimum cost curve is a definable target area, which is suitable for optimization by the controller 202 to improve efficiency without incurring increased related costs. The maximum cost curve and The non-shaded areas between the minimum cost curves represent optimized areas that will increase costs, such as generating performance exceptions, to allow usage thresholds to be exceeded Then, another network service provider supports compliance policies in a more expensive bandwidth layer. Referring to FIG. 9, a structure diagram of a flow control system 900 is shown. In the present invention In one embodiment, the controller 900 is similar to the controller 200 in FIG. 2. It has a number of other modules responsible for serving as the controller module 900 and a flow control system 900. The interface between policies, or other inputs, is to use a bus 9 0 6 (such as a software bus) to enable communication between modules. Use a collector 9 in communication using a bus 9 0 4 0 8 'Passive Calibrator 9 1 0, Structural Element 9 1 2, Active Calibrator 9 1 4' and Data Collector 9 1 6 are displayed. The data transmitted from the control module 9 0 4 to the data 76 200300315 material collector 916 can be stored in the communication storage 216 (Figure 2). Through the bus 904, the usage collector 908 provides the usage information to the usage information receiving module 9 1 8. The communication usage data goes to the outbound cost module 9 2 0, and the usage information receiving module 9 1 8 also communicates the usage data for storage in the accounting data storage 9 2 2. The usage data can enable two types of operating parameters based on the usage rate. The first form is a parameter that estimates the use of no historical information. Ideally, this second form of historical parameter requires a billing period of at least two pieces of information so that it can be used to generate effective usage information as a standard in routing control. In other words, according to an embodiment of the present invention, if two billing periods are used (such as the two-month billing data collected by each network service provider) to generate usage parameters, Then the controller 902 will use the information / standard / parameter to control the routing of the data. When requested, the usage data can be transmitted to the control module 904. The stream cache 9 2 4 stores the current path from a look-up table identified in a round trip time mirror 9 2 8 for the destination. The stream performance information is transmitted to process the control module 9 2 5, which is designed to use statistical program control, EWMA, static or other methods to determine performance violations. If a violation is detected for a destination, a violation flag is set in the stream cache 9 2 4 and transmitted to the controller 9 0 4 regarding the passive calibrator 9 1 0, PFA data can be transmitted to the control module 9 0 4 through the stream cache 9 2 4. PFA9 1 4 data is generated on the basis of each of the 77 200300315 destinations such as round trip, loss, traffic, and jitter. The round trip time mirror 9 2 8 also communicates with the routing cache 9 30. The routing cache 9 3 0 transmits data from the structural element 9 1 2. According to an embodiment of the present invention, the data collected by the structural element 9 1 2 can include, but is not limited to, updates, revocations, and other routing information from the external border gateway protocol peers. Agreement-based information and self-generated information. Although shown in the present embodiment is a device / procedure enabled by a boundary gateway, other embodiments may use a protocol known to those skilled in the art, and the present invention is not intended to be limited to the present Example shown. Referring back to FIG. 9, the routing cache 9 3 0 (or any other protocol-driven message bus) is a routing collection from a routing collection module 9 3 4 through a routing change interface 9 3 2 / Change information. The active calibrator 9 1 4 obtains the convergence point information and integrates it into the routing aggregation module 9 3 4. The next hop information is communicated from the round trip time mirror 9 2 8 to the routing concentrator module 9 3 4. When the controller 9 02 transmits an update, it is transmitted through the routing collection module 9 34 to determine the correct level of the collection to be used, as described above regarding the convergence point information. The route collection module 9 3 4 decides the appropriate collection level notification to the route cache 9 3 0. The route cache 9 3 0 is connected to a structural element 9 1 2 (that is, a border gateway). Agreement). When it is a node with two or more paths converging (path divergence 値 = 0), the convergence point set logic provides the information of the set. When a convergence point is found to exist, the active calibrator 9 1 4 generates an active probe, which is the data of the subsequent response of 78 200300315, which is transmitted back to the controller 9 02 for recording in the communication storage 2 1 6 in. Communicate with the active calibrator 9 1 4, the active calibrator message bus 9 4 0 receives the data collected from the active detection of the convergence point. The information collected by the active calibrator 9 1 4 can include, but is not limited to, convergence point analysis information, each head / destination information (such as round trip time, packet / data loss, jitter, error code, output Station identification, etc.), or any other form of information that embodiments of the invention can collect. This information can also be communicated to the control module 904 to enable routing control and make changes when needed. The policy storage 9 4 2 contains policies, rules, parameters, and other user- or system-specific standards under the control of the routing provided by the controller 902. The control module 9 0 4 can also use the combined use information from the use module 9 18 and the outbound cost module 9 2 0 plus the outbound cost information. In order to implement this technology, the control module 9 0 4 can also decide whether a cost violation exists based on the policy input received again from the user or system specific policy storage 9 4 2. In addition, according to an embodiment of the present invention, the present invention does not need to be limited to the modules shown in FIG. 9, but may include a plurality of parameter control stations that can be considered by those skilled in the art to implement data routing. Need less or more function modules. Further embodiments can also combine two or more modules shown in Figure 9 into a single process or module. Figure 10 is a network service showing three demonstration traffic and performance data. 79 200300315 Provider traffic profile. The traffic profile of the three network service providers' network service provider A1 0 0 2, network service provider B 1 0 0 4 and network service provider C 1 0 0 6 are displayed. The shaded spheres shown in network service provider A 1 0 0 2, network service provider B 1 0 0 4 and network service provider C 1 0 0 6 generally represent a specific network service. The bandwidth used by the provider to a given destination header. The size of the spheres represents the relative flow to the head of the destination. The shadow department can indicate policy or current and / or implemented effectiveness. The dotted orb system represents the characteristics (eg, traffic / performance) of implementation traffic through a network service provider before a bandwidth redistribution mobile implementation. The flows represented by Figs. 10 to 13 C are exemplary embodiments of the present invention, which may be represented by many different flows under a specific situation. 0 In the network service provider A 1 0 0 In 2, the spheres 1 0 0 and 1 0 1 0 represent the bandwidth allocation of the efficiency and cost limits set according to the policy priority, respectively. If the spheres 1008 and 1010 are moved, the spheres 1008 and 1010 may cause additional cost or performance impact due to the movement between the Internet service providers. However, cost and performance priority settings work only when there are restrictions. Performance priority does not allow degradation to cause cost shifts. Instead, other movements of the stream will be selected. Similarly, cost priority is not allowed to increase costs to improve performance. In the network service provider A1 0 02, it shows a minimum contract of 1002, which does not have a bandwidth allocation sphere that exceeds the minimum contract of 1012. 80 200300315 in the network service provider A 1 0 0 2 also shows a usage threshold 1 ο 1 4 and a maximum allowable usage rate 1 0 1 6 which represents the maximum bandwidth and the maximum allowable usage. The difference between allowed bandwidths. For example, in the case of a 100 Mbps provider and a maximum utilization rate of 90%, the maximum allowable utilization rate will be 100-90 or 10 Mbps. In the network service provider B 104, it also shows a minimum contract 108, which does not have a bandwidth allocation sphere that exceeds the minimum contract 108. Also shown in the network service provider B1 0 0 4 is a usage threshold of 1 0 2 0 and a maximum allowable usage of 1 2 2. Finally, in the network service provider C1 0 06, it also shows a minimum contract 10 24, which does not have a bandwidth allocation sphere that exceeds the minimum contract 1 0 18. Although not shown, the network service provider B 1 0 0 4 also has a usage threshold that is determined by the model in Figure 8C. The network service provider C 1 0 0 6 also shows the cost-limited bandwidth allocation sphere 1 0 1 0. Some are shaded spherical bandwidth allocations that represent the bandwidth used in many applications to a destination header. In particular, the shadow of the bandwidth allocation sphere 1 0 08 is performance limited, and the bandwidth allocation sphere 1 0 10 is cost limited by policy. The shadow of the bandwidth allocation sphere 1 0 8 also represents the relative effectiveness of a historical foreground or baseline. When performance is deviated from that prospect, an exception as described above is indicated ' which represents a bandwidth allocation that should be moved due to performance limitations. These restrictions are established and placed in each of the policy allocations and the allocation of bandwidth to the policies stored in the policy storage 9 4 2 (Figure 9) 81 200300315 as shown in Figure 1A Traffic profile for three web service providers that demonstrate traffic and performance data. The traffic profile of the three network service providers, the network service provider A1 10 2, the network service provider B1 1 0 4, and the network service provider Cl 1 0 6 are displayed. In the network service provider A1 1 〇2, a maximum allowable usage rate 1 1 008 is displayed, which represents the threshold of the usage rate 1 1 0 9 and the network service provider A1 1 0 2 The difference between the maximum levels of the contours. A minimum contract level of 1 1 1 0 is displayed. Below the minimum contract level of 11 1 0, it is a shadowed bandwidth allocation sphere 1 1 1 2 which represents a cost-limited bandwidth allocation. If the sphere 1 1 1 2 is moved, it may incur additional costs due to the movement between network service providers. The network service provider B 1 1 0 4 also shows a minimum contract 1 1 1 4 which has two bandwidth allocation spheres exceeding the minimum contract 1 1 1 4. Also shown in the network service provider B1 1 0 4 is a usage threshold 1 1 1 6 and a maximum allowable usage 1 1 1 8. Finally, the network service provider Cl 106 also displays a minimum contract 1 120, which does not have a bandwidth allocation sphere that exceeds the minimum contract 1 120. Also shown in the network service provider Cl 1 0 6 are lighter shadowed spheres 1 1 2 2 and 1 1 2 4. The lighter shadowed spheres 1 1 2 2 and 1 1 2 4 are located in the network for the network. Above and below the minimum contract 1 1 2 0 of the road service provider Cl 1 0 6, each of the lighter shaded spheres 1 1 2 2 and 1 1 2 4 represents a cost-limited bandwidth allocation. According to an embodiment of the present invention, by reallocating enough bandwidth, the bandwidth sphere above the usage threshold for the network service provider Cl 106 is 82 200300315. The bandwidth sphere 1 1 2 2 will Becomes below the threshold of 1 1 2 0, thus enabling policy compliance. Based on cost constraints, Figure 11B is a further illustration of the selected bandwidth allocation shown in a circle 1 1 2 6. In the selected bandwidth allocation 1 1 2 6, it is a bandwidth allocation sphere 1 1 2 8 with a limited cost (darker). Possible reallocations are shown as bandwidth profiles 1 1 3 0 and 1 1 3 2. If you move to the Internet service provider Al 102 or the Internet service provider B 104, the cost restriction policy will not be implemented and the movement will be allowed. However, a sphere 1 1 3 4 with limited performance rather than cost is also present as a chosen distribution (dark and solid). If you move to the network service provider Al 1 0 2, the planned bandwidth allocation 1 1 3 4 will become performance limited. When this happens, the flow and output to the front-end are reduced, and thus the flow of application data is restricted to important tasks. In Figure 1C, the bandwidth allocation 1 1 2 8 has been changed to the network service provider Al 1 0 2 and the cost sphere 1 1 2 2 has been moved to the network service provider C 1 1 0 6 The usage rate is below 1 1 2 0. One embodiment of the invention for moving the spheres has enabled policy compliance without creating an exception or violation of performance. In another embodiment shown in Figure 12A, three flow thresholds are again displayed. Bandwidth allocations for all three network service providers fall below usage thresholds 1208, 1214, and 1218. However, the bandwidth allocations within the network service providers B 12 04 and 12 06 are completely compensated. Lighter shaded bandwidth allocation spheres 1 2 2 0 and 1 2 2 83 200300315

2係存在於網路服務提供者A 1 2 0 2及網路服務提供者C 1 2 0 6之中,其係代表效能違反。 於圖1 2 B中,一個頻寬分配1 2 2 2至網路服務提 供者B之計畫的移動係產生一個成本違反,其係在於該球 體1 2 2 2現在係超過用於網路服務提供者B 1 2 0 4之 使用率臨限1 2 1 4。爲了校正該成本違反,頻寬必須被 移動,以使球體1 2 2 2位於該使用率臨限1 2 1 4之下 〇 如如示於第1 2 A圖,前置頭球體1 2 2 0及1 2 2 2係爲效能違反,然而,於網路服務提供者B或者網路服 務提供者C中係不具有可使用於移動該些球體之重新分配 的空間。於第1 2 B圖中,使用中之頻寬球體1 2 2 2係 能夠被重新分配至網路服務提供者B。藉由允許球體1 2 2 2移動至網路服務提供者B,如示爲球體1 2 2 3,該 效能違反係被解決,然而,其係產生於網路服務提供者B 上之一個成本違反,其係超過使用率臨限1 2 1 4。如示 於第1 3C圖,爲了解決該成本違反,前置頭1 2 2 4係 被發現具有於網路服務提供者A上之相等或者較佳之效能 。且一個移動係對於球體1 2 2 4實施。網路服務提供者 A係具有可使用之頻寬,因爲即使增加球體1 2 2 4,目 前之使用率係仍然於使用率臨限1 2 0 9之下’如同由敘 述於第8 C圖中之該使用率成本模型所決定。 第1 3 A,1 3 B及1 3 C圖係顯示根據本發明之一個 實施例之用於移動前置頭之該控制器邏輯流。開始於步驟 84 200300315 «* 1 3 0 1之該程序係計算所有候選人網路服務提供者,以 決定用於一個前置頭之資料路由之最佳實施路徑。控制器 2 0 2 (第2圖)係平行地計算每一個可使用之網路服務 提供者,比較效能特性及統計資料以及容置於一個資料貯 存器中之被儲存之成本及效能參數/特性。 於步驟1 3 0 2中,該控制器2 0 2係計算於該被計 算之候選人網路服務提供者(例如出站路由器)及一個目 的地位址或者前置頭之間之一個目的地位址或者前置頭之 間之目前延遲。假如該控制器2 0 2係決定目前之延遲係 小於透過該候選人網路服務提供者之可使用延遲,則不傳 送改變訊號至該被計算之網路服務提供者。然而,假如該 控制器2 0 2係決定目前之延遲係超過透過該候選人網路 服務提供者之可使用延遲,則該控制器2 0 2係於步驟1 3 0 6中計算候選人及目前之損失。假如候選人之損失係 小於目前之損失,則該控制器2 0 2係確認是否候選人之 目前頻寬分配係小於該整體之頻寬分配。假如該控制器2 0 2係確認是否候選人之目前頻寬分配係小於該整體之頻 寬分配,則該候選人之計算係持續,如下文關於第1 3 B 圖之敘述。假如候選人之目前頻寬分配係不小於該整體之 頻寬分配,則該控制器2 0 2係確認是否該目前網路服務 提供者上係具有相當大的損失。假如於所有網路服務提供 者之間係不具有相當大之損失,則於步驟1 3 0 4中不傳 送改變訊號至該被計算之網路服務提供者。然而,假如於 所有網路服務提供者之間係具有相當大之損失,則該控制 85 200300315 器2 0 2係進行至步驟1 3 1 2,以決定是否該網路服務 提供者係爲所有被計算之網路服務提供者之中之最便宜之 網路服務提供者。假如該網路服務提供者係非所有被計算 之網路服務提供者之中之最便宜之網路服務提供者,則該 控制器2 0 2將不傳送一個改變訊號至該被計算之網路服 務提供者。假如該網路服務提供者係爲所有被計算之網路 服務提供者之中之最便宜之網路服務提供者,則該控制器 2 0 2將傳送一個改變訊號至該被計算之網路服務提供者 。假如該被計算之網路服務提供者之該成本係等於另一個 候選人網路服務提供者,則於步驟1 3 1 6中,該控制器 2 0 2將由該相等之成本的網路服務提供者之中決定哪一 個係具有最低之出站辨識(一般而言,爲一個任意指定之 系統管理辨識),且選擇該網路服務提供者。 假如於步驟1 3 0 8中,假如該目前候選人之目前頻 寬分配係小於該整體之頻寬分配(根據該成本-使用率模 型),則該控制器202係計算該候選人網路服務提供者 及所有其他候選人網路服務提供者。於第1 3 B圖中,該 控制器2 0 2係決定所有網路服務提供者之哪一個係具有 最少之延遲,如示於步驟1 3 1 8中。假如該候選人網路 服務提供者係具有最低延遲,則該控制器2 0 2將傳送一 個改變訊號至該被計算之網路服務提供者。假如該候選人 網路服務提供者係不具有最低延遲,則該控制器2 0 2將 不傳送一個改變訊號至該被計算之網路服務提供者。然而 ,假如該延遲係相等(於由控制限制上限/控制限制下限 86 200300315 所定義之範圍內),則於步驟1320中,該控制器20 2係決定是否該候選人網路服務提供者係具有所有網路服 務提供者中最低之損失。假如該候選人之損失係爲最低且 等於另一個網路服務提供者,則該控制器2 0 2邏輯係進 行至步驟1 3 2 2,以根據於第8 C圖所討論之該成本一 使用率模型及目前之使用率,而決定所有候選人網路服務 提供者之哪一個係具有最大可使用頻寬。 假如該候選人網路服務提供者係不具有最大可使用頻 寬,則無改變訊號被傳送至該被計算之網路服務提供者。 假如該候選人網路服務提供者係具有最大可使用頻寬,則 一個改變訊號係被傳送至該被計算之網路服務提供者。假 如於該被計算之網路服務提供者上之該可使用頻寬係等於 另一個候選人網路服務提供者,則於步驟1 3 2 4中,該 控制器2 0 2係必須決定下一個最少成本層級。於該步驟 中,該控制器2 0 2係必須決定由步驟1 3 2 2所導致之 相等之網路服務提供者之哪一個係具有最低之下一成本層 級,且接著,導引一個改變至該網路服務提供者。假如由 步驟1 3 2 2所導致之相等之候選人網路服務提供者係爲 相同之下一成本層級,則於步驟1 3 2 6中,該具有最低 出站辨識之網路服務提供者將被選擇出,且該控制器2 0 2將傳送一個改變訊號而導引資料流至該候選人網路服務 提供者。 類似之情況係用於效能標準,控制器2 0 2邏輯係將 實施如示於第1 3 C圖中之該流程圖。於步驟1 3 3 0中 87 200300315 ,候選人損失係與於用於每一個目的地/前置頭之可能的 出站處測量(如於第1 3 A及1 3 B圖之該成本流之流程) 之目前損失作比較。假如該候選人損失係不小於目前之損 失,則不傳送改變訊號至該被計算之網路服務提供者,如 示於步驟1 3 3 8中。假如該候選人損失係小於目前之損 失,則該被計算之網路服務提供者係被確認是否其延遲係 小於該目前之延遲’如示於步驟1 3 3 2中。假如其延遲 係不小於該目前之延遲,則不傳送改變訊號至該被計算之 網路服務提供者。假如於該候選人網路服務提供者之可能 出站處之延遲係小於該目前延遲,則該控制器2 0 2係必 須決定是否該被計算之網路服務提供者係具有於所有候選 人中之最佳延遲,如示於步驟1 3 3 4中。假如該被計算 之網路服務提供者係不具有於所有候選人中之最佳延遲, 則不傳送改變訊號。假如該被計算之網路服務提供者係具 有於所有候選人中之最佳延遲(亦即該最低之延遲),則 一個改變訊號係被傳送至該被計算之網路服務提供者,如 示於步驟1 3 4 0。於該被計算之網路服務提供者之延遲 係等於另一個候選人網路服務提供者之延遲之情況下,於 步驟1 3 0 6中,控制器2 0 2係決定是否該候選人具有 最佳之損失。其後,該控制器2 0 2係決定是否任何候選 人網路服務提供者係具有可使用之頻寬。換句話說,控制 器2 0 2係決定是否另一個候選人網路服務提供者係具有 小於被指明作爲政策之該頻寬分配之可使用頻寬。 於步驟1 3 4 2中,假如任何網路服務提供者係具有 88 200300315 可使用之頻寬,則控制器2 0 2係於步驟χ 3 4 4中決定 是否該候選人係爲該最少成本之鏈結。假如該候選人係胃 該最少成本之網路服務提供者,則一個改變訊號係被傳送 至該被計算之網路服務提供者。假如該候選人係不爲該最 少成本之網路服務提供者,則不傳送改變訊號至該被計算 之網路服務提供者。假如該成本於該候選人網路服務提供 者及其他候選人網路服務提供者之間係爲相等,則該控制 器2 0 2將確認是否該候選人網路服務提供者係爲該最低 之出站辨識,如示於步驟1 3 4 6中。假如該候選人網路 服務提供者係不爲該最低之出站辨識,則不傳送任何改變 訊號。假如該候選人網路服務提供者係爲該最低之出站辨 識,則傳送一個改變訊號。 參照回步驟1 3 4 2,假如無候選人網路服務提供者 係具有可使用頻寬,則於步驟1 3 4 8中,該控制器係決 定是否該候選人網路服務提供者係具有最大可使用頻寬。 假如該候選人網路服務提供者係具有最大可使用頻寬,則 一個改變訊號係被傳送至該被計算之網路服務提供者。假 如該候選人網路服務提供者係不具有最大可使用頻寬,則 不傳送改變訊號。然而,假如該候選人網路服務提供者之 該可使用頻寬係等於另一個候選人網路服務提供者,則該 控制器係決定是否該候選人係落於該下一個最便宜之成本 層級之內。假如否該候選人係落於該下一個最便宜之成本 層級之內,則對於該候選人網路服務提供者實施一個移動 。假如該候選人網路服務提供者之'該成本係等於其他候選 89 200300315 人網路服務提供者,則再次地,該指定之最低出站辨識係 被選擇作爲該最佳實施的網路服務提供者。上述之程序係 敘述根據本發明之一個實施例之方法,藉由該方法,該控 制器2 0 2係可以於最佳效能路徑選擇之前實施該邏輯。 然而,熟悉本項技藝人士係能夠決定替代之步驟,程序, 子程序或者方法,藉由該些替代之步驟,程序,子程序或 者方法,最佳效能路徑能夠被實施,且本發明係不打算必 須被限制爲上述之該些步驟。 第1 4圖係顯示該“空閒的”頻寬之可使用率係如何 對於一個給定的網路服務提供者作表示及如何由第2圖之 該使用收集器2 0 4作測量之表示。於一個給定之時間由t 0至tl,目前之使用率1402及該目前之費率1400 係被確認。如圖所示,時間點t0 · 5 1 4 0 3係代表一 個過取樣時間點。於這兩個値之間之差1 4 0 1係代表不 造成任何額外的成本之下可使用之頻寬量。當一個以效能 爲基礎之政策被目前或者預設之網路服務提供者違反時, 每一個網路服務提供者之空閒的頻寬係能夠被使用於選擇 一個符合之網路服務提供者的子集合。此外,該資訊係被 使用於塵用成本或者負載爲基礎之政策至每一個網路服務 提供者。 第1 5圖係顯示該使用收集器2 0 4係如何計算如示 於第1 4圖之該時間連續之費率。大部分的網路服務提供 者係以一個最小條件水準1 5 1 0開始。假如該目前之使 用起始於該條件之下,則該空閒的頻寬1 5 1 1係被顯示 4 4200300315 。取樣係於該提供者之取樣速率之兩倍速率之下被收集, 以確保計算一個準確之速率(亦即,此係爲一個保守的估 計,且假如由該提供者之速率偏離該速率,則其將爲較高 ,且代表該費率之過度估計)。於該時間軸之小的記號係 代表由該系統所收集之取樣(亦即過取樣)。當收集到足 夠的取樣時,一般而言係表示爲所有速率取樣之第9 5個 百分比之該費率係可以超過該最小條件,如由第1 5圖中 之該費率之連續的較高階層1 5 1 3所表示。當該通信係 下降回該費率之下時,一個新的費率1 5 1 4係被設定, 且該系統係再次具有可使用之空閒頻寬1 5 1 8。 第1 6圖係顯示一個示範性的系統2 0 0及控制器2 0 2係如何偵測一個以成本爲基礎之政策違反。假如該成 本政策條件係被定義成爲一個絕對臨限値,如示爲1 6 1 3。該臨限値能夠爲一個絕對速率或者一組將被花費之金 錢數量(其係被該系統轉換成爲一個平均費率)。於一取 樣接著取樣之基礎之下,該真實的通信速率1 6 1 4應該 使得一個新的費率1 6 1 3以上係不會被建立。使用短的 範圍預測技術,用於下一個少的取樣1 6 1 5之通信速率 係能夠被預測,且假如該預測係預測一個新的費率1 6 1 6將被建立,則第2圖之該控制器2 0 2係能夠藉由移開 該網路服務提供者之通信而作出反應。 如上所述,本發明之實施例係可以傳送,產生,使用 ,開發,收集,截收,處理,修改,破壞或者傳播訊號以 轉移資料。該資料網路8 2 (第1圖)係提供該通訊裝置 91 200300315 ,諸如實體互連鏈結,包含銅線,光纖光學電纜或者類似 物,以用於傳送及接收訊號。類似地,諸如無線電波或者 類似物之無線通訊裝置亦可以被瞭解用於提供裝置,以由 一個來源轉移資訊至一個目的地。 亦爲熟悉網路通訊之人士所眾所周知,資料網路係被 建構成通訊諸如包含於一個無線電或者其他任何載波上相 加之資料(例如二進位資料位元)的電腦資料訊號。熟悉 本項技藝人士應可以瞭解,一個載波係爲電磁能量,其係 由一個來源藉由輻射、光學或者導電波傳送而來,且係適 合於實施一個載有資訊之訊號,諸如一個電腦資料訊號。 於一個實施例中,一個載波係根據一個網路協定而作出行 爲或者被調變,該網路協定係諸如乙太網路,IEEE 1 3 9 4,傳輸控制協定/網際網路協定,或者任何其他通訊協 定,以包括電腦資料資訊。於某些實施例中,該電腦資料 資訊係包含一用於實施本發明之電腦程式。該載波能夠舉 例而言爲一個直流電,一個交流電流,或者一個脈波列。 於該載波之調變中,其可以以其之振幅,頻率或者某些其 他特性改變以實施資料用於轉移之方式予以實施。 雖然本發明已經根據特定實施例而予以敘述,熟悉本 項技藝人士將可以瞭解,這些實施例僅係爲例示性的而非 限制性的。舉例而言,雖然上述說明係敘述該網路通信資 料爲網際網路通信,應瞭解的是,本發明係關於一般的網 路,且不需要被限制爲上述之網際網路之資料。本發明之 範圍係僅由後附之申請專利範圍所決定。 92 200300315 * 於上述之說明中,本發明係參照本發明之特定實施例 而予以敘述,然而,熟悉本項技藝人士將瞭解,本發明係 不受限於該些實施例。本發明之許多特色及觀點可以個別 地被使用或者結合地被使用。此外,雖然本發明已經敘述 於一個特定的環境中之實施的內容且用於特定的應用,其 之使用性係不受限於此,且於不偏離本發明之較廣義的精 神及範疇之下,其係能夠被利用於許多環境及應用中。因 此,本說明書及圖式係被認爲例示性的而非限制性的。 【圖式簡單說明】 第1Α圖係爲用於呈現一個適合於實施本發明之一個 實施例之使用者介面至一個使用者之示範性的電腦系統; 第1 Β圖係顯示於第1 Α圖之該電腦系統中之基本子系 統; 第1C圖係爲一個適合於與本發明一起使用之一個示 範性的電腦網路之一個一般化之圖; 第2圖係爲根據本發明之一個實施例之一個流控制系 統之一個實施例的一個簡化的方塊圖; 第3圖係爲第2圖之一個示範性的被動校準器之一個 功能方塊圖; 第4圖係爲第3圖之一個示範性的內容流分析器之一 個功能方塊圖, 第5圖係爲根據本發明之一個實施例之第3圖之一個 輸出流分析器之一個功能方塊圖; 第6圖係爲根據本發明之一個實施例之第3圖之一個 93 200300315 被動流分析器之一個功能方塊圖; 第7圖係爲根據本發明之一個特定實施之一個示範性 的使用收集器之一個詳細方塊圖; 第8圖係爲根據本發明之一個實施例的一個接收以協 定爲基礎之饋入之一個示範性結構元件之一個方塊圖; 第9圖係爲根據本發明之另一個實施例之一個示範性 的控制器之一個方塊圖; 第1 0圖係爲根據本發明之一個實施例之3個示範性 之帳務輪廓; 第1 1 A圖係爲圖示根據本發明之一個實施例之顯示 集合的流資訊之3個示範性之流量/效能輪廓; 第1 1B圖係爲進一步圖示根據本發明之一個實施例 之用於網路服務提供者A、網路服務提供者B及網路服務 提供者C及分配集合的流之計畫調整的3個示範性之流量 /效能輪廓; 第1 2A圖係顯示根據本發明之一個實施例之具有於 三個不同價格層級中之最大頻寬配置之下之頻寬配置之示 範性的3個帳務輪廓; 第1 2 B圖係顯示根據本發明之一個實施例之該三個 網路服務提供者A、B及C之間之集合的流資訊之計畫的 配置之一個範例; 第1 2 C圖係顯示根據本發明之一個實施例之具有計 畫之頻寬配置及一個第二計畫的頻寬配置之示範性的3個 帳務輪廓; 94 200300315 第1 3 A圖係爲根據本發明之一個實施例的用於資料 網路控制之不範性方法的一個流程圖; 第1 3B圖係爲根據本發明之一個實施例之第1 3A圖 之接續的流程圖; 第1 3 C圖係爲根據本發明之一個實施例的用於資料 網路控制之另一個示範性方法的一個流程圖; 第1 4圖係爲顯示根據本發明之一個實施例的可使用 “空閒的”頻寬之決定; 第1 5圖係爲顯示根據本發明之一個實施例的時間連 續的費率之計算;及 第1 6圖係爲顯示根據本發明之一個實施例的以成本 爲基礎之政策的偵測。 【元件符號說明】 1 電腦系統 2 伺服器 3 顯示器 5 顯示螢幕 7 箱體 9 鍵盤 1 ; L滑鼠 1 3按鈕 2 0方塊 2 2內部匯流排 2 4輸入/輸出控制器 95 200300315 2 6系統記憶體(或者隨機存取記憶體) 2 8中央處理單元 3 〇顯示轉換器 4 0串列埠 4 2固定之磁碟機 4 4網路介面轉換器 4 6監視器 4 8相對的指示裝置 5 0鍵盤 8〇網路系統 8 2資料網路 8 4電腦 2 0 0流控制系統 2 0 2控制器 204 使用收集器 2 0 6資料導引器 2 ◦ 8結構元件 2 1 0主動校準器 2 1 2政策貯存器 2 1 4被動校準器 2 1 6通信貯存器 2 1 8資料流 3 0 3被動校準器 3 0 5控制器 96 200300315 3 3 0被動流分析器 3 3 1輸出流分析器 332內容分析器 3 3 4前置頭列表 3 3 5前置頭通知訊號 3 3 8淸除狀態訊號 3 4 0通信流 3 4 1來源 3 4 2內容 3 4 3使用者路由列表 3 4 4內容元件 3 4 5路由器 3 4 6輸出記錄 4 0 2控制器 4 2 0請求 4 2 2回應 4 2 4網際網路協定元件 4 2 6前置頭 4 2 8前置頭列表 4 3 0前置資訊 4 3 2內容流分析器 4 5 3超文字傳輸協定伺服器 4 5 4集合器 4 5 5前置頭列表產生器 97 200300315 5 0 2控制器 5 2 0輸出流資料簡 5 2 4集合元件 5 2 6資訊 5 2 8前置頭列表 5 3 0前置資訊 531輸出流分析器 5 3 2前置頭通知訊號 5 4 9格式解譯器 5 5 0分析器 5 5 1集合器 5 5 2前置列表產生器 6 0 2通信 6〇5控制器 6 2 1通信貯存器 6 3 0被動流分析器 6 3 4前置列表 6 3 5前置頭通知訊號 6 5 0封包捕捉引擎 6 5 1封包分析器 6 5 2相關性引擎 6 5 3集合器 6 8 0集合的流資料 7 0 0使用收集器 98 200300315 « 7 0 5控制器 7 1 5使用收集器 7 6 1帳務資訊 7 6 4利用率資訊 7 7 3使用資訊 7 7 1網路服務提供者結構資訊 7 7 2路由器 7 7 4原始收集器 7 7 5利用率監視器 7 7 6帳務重建器 7 8 0原始位元組計數 7 8 2邊界閘道器協定4引擎 783邊界閘道器協定4路由表 7 8 4結構元件 7 8 8預設路由表 7 8 9路由表 7 9〇詢問 7 9 1路由伺服器 7 9 2邊界閘道器協定4饋入 9 0 0流控制系統 9 0 2控制器 9 0 4控制器模組 9 0 6匯流排 9 0 8使用收集器 99 200300315 9 1 0被動校準器 9 1 2結構元件 9 1 4主動校準器 9 1 6資料收集器 9 1 8使用資訊接收模組 9 2 0出站成本模組 9 2 2帳務資料貯存器 9 2 4流快取器 9 2 5控制模組 9 2 8來回程時間鏡 9 3 0路由快取器 9 3 2介面 9 3 4路由集合模組 9 4 0主動校準器訊息匯流排 9 4 2政策貯存器 1 0 0 2 網路服務提供者A 1 0 0 4 網路服務提供者B 1 0 0 6 網路服務提供者C 1008 球體 1010 球體 1012 最小合約 1014 使用率臨限 1016 最大可允許使用率 1018 最小合約 100 2003003152 is in the network service provider A 1 2 0 2 and the network service provider C 1 2 06, which represents a performance violation. In Figure 1 B, a mobile system of bandwidth allocation 1 2 2 2 to the network service provider B's plan creates a cost violation because the sphere 1 2 2 2 is now more than used for network services. Provider B 1 2 0 4 has a usage threshold of 1 2 1 4. In order to correct this cost violation, the bandwidth must be moved so that the sphere 1 2 2 2 is below the usage threshold 1 2 1 4 〇 As shown in Figure 1 A, the front sphere 1 2 2 0 And 1 2 2 2 is a performance violation. However, there is no space in the network service provider B or the network service provider C that can be used to relocate the spheres. In Figure 12B, the bandwidth sphere 1 2 2 2 in use can be redistributed to network service provider B. By allowing sphere 1 2 2 2 to move to network service provider B, as shown as sphere 1 2 2 3, the performance violation is resolved, however, it is a cost violation on network service provider B , Which is beyond the threshold of usage rate 1 2 1 4. As shown in Fig. 13C, in order to resolve the cost violation, the pre-header 1 2 2 4 was found to have the same or better performance on the network service provider A. And a moving system is implemented for the sphere 1 2 2 4. Network service provider A has available bandwidth, because even if the sphere 1 2 2 4 is increased, the current usage rate is still below the usage threshold 1 2 0 9 'as described in Figure 8C. This usage rate is determined by the cost model. Figures 1 3 A, 1 3 B, and 1 3 C show the logic flow of the controller for moving the head in accordance with an embodiment of the present invention. Beginning at step 84 200300315 «* 1 3 0 1 this procedure calculates all candidate Internet Service Providers to determine the best implementation path for a header data routing. The controller 2 0 (Figure 2) calculates in parallel each available network service provider, compares performance characteristics and statistical data, and stored costs and performance parameters / characteristics stored in a data store. . In step 130, the controller 202 is calculated between the calculated candidate network service provider (such as an outbound router) and a destination address or a destination address between the headers. Or the current delay between the headers. If the controller 202 determines that the current delay is less than the available delay through the candidate network service provider, no change signal is transmitted to the calculated network service provider. However, if the controller 202 determines that the current delay exceeds the available delay through the candidate's Internet service provider, the controller 200 calculates the candidate and the current in step 1306 Loss. If the candidate's loss is less than the current loss, the controller 202 determines whether the candidate's current bandwidth allocation is less than the overall bandwidth allocation. If the controller 202 confirms whether the candidate's current bandwidth allocation is less than the overall bandwidth allocation, the calculation of the candidate is continued, as described below with respect to Figure 13B. If the candidate's current bandwidth allocation is not less than the overall bandwidth allocation, the controller 202 determines whether the current network service provider has a considerable loss. If there is no considerable loss among all network service providers, no change signal is transmitted to the calculated network service provider in step 1304. However, if there is considerable loss among all network service providers, the control 85 200300315 device 2 0 2 proceeds to step 1 3 1 2 to determine whether the network service provider is the The cheapest internet service provider among calculated internet service providers. If the network service provider is not the cheapest network service provider among all the calculated network service providers, the controller 202 will not send a change signal to the calculated network. service providers. If the network service provider is the cheapest network service provider among all calculated network service providers, the controller 202 will send a change signal to the calculated network service provider. If the calculated cost of the network service provider is equal to another candidate network service provider, then in step 1 16 the controller 2 0 2 will be provided by the network service of the same cost Among them, determine which one has the lowest outbound identification (in general, an arbitrarily designated system management identification), and select the network service provider. If in step 1308, if the current bandwidth allocation of the current candidate is less than the overall bandwidth allocation (based on the cost-utilization model), the controller 202 calculates the candidate's network service Provider and all other candidate internet service providers. In Fig. 13B, the controller 202 determines which of all network service providers has the least delay, as shown in step 1 18. If the candidate network service provider has the lowest delay, the controller 202 will send a change signal to the calculated network service provider. If the candidate network service provider does not have the lowest delay, the controller 202 will not send a change signal to the calculated network service provider. However, if the delays are equal (within the range defined by the upper control limit / lower control limit 86 200300315), then in step 1320, the controller 20 2 decides whether the candidate network service provider has The lowest loss among all internet service providers. If the candidate's loss is the lowest and equal to another network service provider, the controller 200 logic proceeds to step 1 3 2 2 to use the cost-based method discussed in Figure 8C. Rate model and current usage rate, which determines which of the candidate network service providers has the largest available bandwidth. If the candidate network service provider does not have the maximum available bandwidth, no change signal is transmitted to the calculated network service provider. If the candidate network service provider has the maximum available bandwidth, a change signal is transmitted to the calculated network service provider. If the available bandwidth on the calculated network service provider is equal to another candidate network service provider, then in step 1 2 4 the controller 2 0 2 must decide the next Least Cost Tier. In this step, the controller 200 must decide which of the equivalent network service providers caused by step 1 3 2 2 has the lowest cost level, and then, guide a change to The network service provider. If the equal candidate network service provider caused by step 1 3 2 2 is the same cost level, then in step 1 2 6 the network service provider with the lowest outbound identification will Is selected, and the controller 202 will send a change signal to guide the data stream to the candidate Internet service provider. A similar situation applies to performance standards, and the controller 200 logic will implement the flowchart as shown in Figure 13C. In step 1 3 3 0 87 200300315, the candidate loss is measured at the possible outbound for each destination / header (as in the cost flow in Figures 1 A and 1 B) Process). If the candidate's loss is not less than the current loss, no change signal is sent to the calculated network service provider, as shown in step 1 3 38. If the candidate's loss is less than the current loss, then the calculated network service provider is confirmed if its delay is less than the current delay 'as shown in step 1 3 2. If the delay is not less than the current delay, no change signal is sent to the calculated network service provider. If the possible outbound delay at the candidate's network service provider is less than the current delay, the controller 202 must decide whether the calculated network service provider is among all candidates The optimal delay is shown in steps 1 3 3 4. If the calculated network service provider does not have the best delay among all candidates, no change signal is transmitted. If the calculated network service provider has the best delay among all candidates (that is, the lowest delay), a change signal is transmitted to the calculated network service provider as shown At step 1 3 4 0. In the case where the calculated delay of the network service provider is equal to the delay of another candidate network service provider, in step 13 0, the controller 2 0 2 determines whether the candidate has the most Best loss. Thereafter, the controller 202 determines whether any candidate network service provider has a usable bandwidth. In other words, the controller 202 determines whether another candidate Internet service provider has an available bandwidth that is less than the bandwidth allocation specified as the policy. In step 1 3 4 2, if any network service provider has a bandwidth that can be used by 88 200300315, the controller 2 2 determines in step χ 3 4 4 whether the candidate is the least cost. link. If the candidate is the least cost network service provider, a change signal is transmitted to the calculated network service provider. If the candidate is not the least cost network service provider, no change signal is sent to the calculated network service provider. If the cost is equal between the candidate network service provider and other candidate network service providers, the controller 202 will confirm whether the candidate network service provider is the lowest one. Outbound identification, as shown in steps 1 3 4 6. If the candidate Internet service provider does not identify the lowest outbound, no change signal is sent. If the candidate Internet service provider identifies the lowest outbound identity, a change signal is sent. Referring back to step 1 3 4 2, if no candidate network service provider has available bandwidth, then in step 1 4 8, the controller determines whether the candidate network service provider has the largest bandwidth. Available bandwidth. If the candidate network service provider has the maximum available bandwidth, a change signal is transmitted to the calculated network service provider. If the candidate network service provider does not have the maximum available bandwidth, no change signal is sent. However, if the available bandwidth of the candidate Internet service provider is equal to another candidate Internet service provider, the controller determines whether the candidate falls in the next cheapest cost level within. If the candidate falls within the next cheapest cost tier, implement a move for the candidate's Internet service provider. If the candidate's network service provider's' the cost is equal to the other candidate's 89 200300315 person network service provider, then again, the specified minimum outbound identification system is selected as the best implemented network service provider By. The above procedure describes a method according to an embodiment of the present invention, by which the controller 202 can implement the logic before the optimal performance path is selected. However, those skilled in the art can decide alternative steps, procedures, subroutines or methods, and through these alternative steps, procedures, subroutines or methods, the best performance path can be implemented, and the present invention is not intended Must be limited to these steps. Figure 14 shows how the "free" bandwidth availability is represented for a given network service provider and how it is measured by the use collector 204 of Figure 2. At a given time from t 0 to tl, the current usage rate of 1402 and the current rate of 1400 are confirmed. As shown in the figure, the time point t0 · 5 1 4 0 3 represents an oversampling time point. The difference between these two chirps is the amount of bandwidth that can be used without incurring any additional cost. When a performance-based policy is violated by the current or default network service provider, the idle bandwidth of each network service provider can be used to select a sub-network service provider. set. In addition, this information is used by each Internet service provider for dust-based cost or load-based policies. Figure 15 shows how the used collector 204 calculates the time-continuous rate as shown in figure 14. Most Internet service providers start with a minimum condition of 1510. If the current usage starts under this condition, the free bandwidth 1 5 1 1 is displayed 4 4200 300 315. Sampling is collected at twice the rate of the provider's sampling rate to ensure that an accurate rate is calculated (that is, this is a conservative estimate, and if the rate from the provider deviates from that rate, It will be higher and represents an overestimation of that rate). The small ticks on this timeline represent the sampling (ie, oversampling) collected by the system. When sufficient samples are collected, generally speaking the 95th percentile of all rate sampling rates can exceed the minimum condition, such as the continuous higher rate of the rate in Figure 15 Level 1 5 1 3 represents. When the communication system drops back below the rate, a new rate 1 5 1 4 is set, and the system again has an available free bandwidth of 1 5 1 8. Figure 16 shows how an exemplary system 200 and controller 200 can detect a cost-based policy violation. If the cost policy condition is defined as an absolute threshold, as shown as 1 6 1 3. The threshold can be an absolute rate or a set of money to be spent (which is converted into an average rate by the system). Based on a sample followed by a sample, the true communication rate of 16 1 4 should make a new rate above 16 13 cannot be established. Using the short range prediction technique, the communication rate for the next few samples 1 6 1 5 can be predicted, and if the prediction predicts that a new rate 1 6 1 6 will be established, then the figure 2 The controller 200 can respond by removing communication from the network service provider. As described above, the embodiments of the present invention can transmit, generate, use, develop, collect, intercept, process, modify, destroy, or propagate signals to transfer data. The data network 8 2 (picture 1) provides the communication device 91 200300315, such as a physical interconnection link, including copper wires, fiber optic cables, or the like for transmitting and receiving signals. Similarly, wireless communication devices, such as radio waves or the like, can also be used to provide devices to transfer information from a source to a destination. As is also well known to those familiar with network communications, a data network is constructed as a computer data signal that communicates, for example, additional data (such as binary data bits) contained on a radio or any other carrier. Those skilled in the art should understand that a carrier is electromagnetic energy, which is transmitted by a source through radiation, optical or conductive waves, and is suitable for implementing a signal containing information, such as a computer data signal . In one embodiment, a carrier acts or is modulated according to a network protocol such as Ethernet, IEEE 1 394, Transmission Control Protocol / Internet Protocol, or any Other protocols to include computer data information. In some embodiments, the computer data information includes a computer program for implementing the present invention. The carrier can be, for example, a direct current, an alternating current, or a pulse train. In the modulation of the carrier, it can be implemented in the form of its amplitude, frequency, or some other characteristic change in order to transfer the data. Although the invention has been described in terms of specific embodiments, those skilled in the art will appreciate that these embodiments are illustrative only and not restrictive. For example, although the above description describes the network communication information as Internet communication, it should be understood that the present invention relates to a general network and does not need to be limited to the above-mentioned Internet information. The scope of the invention is determined solely by the scope of the attached patent application. 92 200300315 * In the above description, the present invention has been described with reference to specific embodiments of the invention. However, those skilled in the art will appreciate that the invention is not limited to these embodiments. Many features and perspectives of the present invention can be used individually or in combination. In addition, although the present invention has been described in terms of its implementation in a specific environment and is used for specific applications, its usability is not limited to this, and does not depart from the broader spirit and scope of the present invention It can be used in many environments and applications. Accordingly, the description and drawings are to be regarded as illustrative in nature and not restrictive. [Schematic description] Figure 1A is an exemplary computer system for presenting a user interface suitable for implementing an embodiment of the present invention to a user; Figure 1B is shown in Figure 1A The basic subsystem in the computer system; Figure 1C is a generalized diagram of an exemplary computer network suitable for use with the present invention; Figure 2 is an embodiment according to the present invention A simplified block diagram of an embodiment of a flow control system; Figure 3 is a functional block diagram of an exemplary passive calibrator of Figure 2; Figure 4 is an exemplary block diagram of Figure 3 A functional block diagram of the content stream analyzer, FIG. 5 is a functional block diagram of an output stream analyzer according to FIG. 3 of an embodiment of the present invention; and FIG. 6 is an implementation diagram of the present invention. A third functional block diagram of the 2003 20031515 passive flow analyzer; Figure 7 is a detailed block diagram of an exemplary use of the collector according to a specific implementation of the present invention FIG. 8 is a block diagram of an exemplary structural element receiving a protocol-based feed according to an embodiment of the present invention; FIG. 9 is an exemplary block diagram according to another embodiment of the present invention A block diagram of the controller; FIG. 10 is an exemplary accounting profile according to an embodiment of the present invention; FIG. 11A is a display set illustrating an embodiment according to the present invention 3 exemplary traffic / performance profiles of the stream information; Figure 11B is a further illustration for network service provider A, network service provider B, and network service according to an embodiment of the present invention 3 exemplary traffic / efficiency profiles for provider C and distribution set flow plan adjustments; Figure 12A shows a maximum bandwidth allocation in three different price levels according to an embodiment of the present invention Exemplary 3 accounting profiles for the bandwidth configuration below; Figure 1 2B shows the flow of the aggregation between the three network service providers A, B, and C according to an embodiment of the present invention Information plan configuration Figure 1 2C shows an exemplary 3 accounting profile with a planned bandwidth configuration and a second planned bandwidth configuration according to an embodiment of the present invention; 94 200300315 No. 1 3 FIG. A is a flowchart of an irregular method for data network control according to an embodiment of the present invention; FIG. 13B is a continuation flow of FIG. 13A according to an embodiment of the present invention FIG. 13C is a flowchart of another exemplary method for data network control according to an embodiment of the present invention; FIG. 14 is a flowchart showing a possible method according to an embodiment of the present invention The decision to use "free" bandwidth; Figure 15 is a calculation showing the time-continuous rate according to an embodiment of the invention; and Figure 16 is a display showing the Detection of cost-based policies. [Description of component symbols] 1 Computer system 2 Server 3 Display 5 Display screen 7 Cabinet 9 Keyboard 1; L mouse 1 3 Button 2 0 Block 2 2 Internal bus 2 4 Input / output controller 95 200300315 2 6 System memory Body (or random access memory) 2 8 central processing unit 3 〇 display converter 4 0 serial port 4 2 fixed disk drive 4 4 network interface converter 4 6 monitor 4 8 relative pointing device 5 0 Keyboard 8〇 Network system 8 2 Data network 8 4 Computer 2 0 0 Flow control system 2 0 2 Controller 204 Using collector 2 0 6 Data director 2 ◦ 8 Structural elements 2 1 0 Active calibrator 2 1 2 Policy storage 2 1 4 Passive calibrator 2 1 6 Communication storage 2 1 8 Data stream 3 0 3 Passive calibrator 3 0 5 Controller 96 200300315 3 3 0 Passive stream analyzer 3 3 1 Output stream analyzer 332 Content analysis 3 3 4 Header list 3 3 5 Header notification signal 3 3 8 Deletion status signal 3 4 0 Communication flow 3 4 1 Source 3 4 2 Content 3 4 3 User routing list 3 4 4 Content element 3 4 5 router 3 4 6 output record 4 0 2 controller 4 2 0 request 4 2 2 response 4 2 4 internet Fixed component 4 2 6 Preamble 4 2 8 Preamble list 4 3 0 Preamble information 4 3 2 Content stream analyzer 4 5 3 Hypertext transfer protocol server 4 5 4 Collector 4 5 5 Preamble list generation Device 97 200300315 5 0 2 Controller 5 2 0 Output stream data 5 2 4 Collective components 5 2 6 Information 5 2 8 Pre-header list 5 3 0 Pre-information 531 Output stream analyzer 5 3 2 Pre-header notification signal 5 4 9 format interpreter 5 5 0 analyzer 5 5 1 aggregator 5 5 2 pre-list generator 6 0 2 communication 6 05 controller 6 2 1 communication storage 6 3 0 passive flow analyzer 6 3 4 Pre-list 6 3 5 Pre-head notification signal 6 5 0 Packet capture engine 6 5 1 Packet analyzer 6 5 2 Correlation engine 6 5 3 Collector 6 8 0 Collected stream data 7 0 0 Collector 98 200300315 « 7 0 5 Controller 7 1 5 Collector 7 6 1 Accounting Information 7 6 4 Utilization Information 7 7 3 Usage Information 7 7 1 Network Service Provider Structure Information 7 7 Router 7 7 4 Original Collector 7 7 5 Utilization Monitor 7 7 6 Account Reconstructor 7 8 0 Original Byte Count 7 8 2 Border Gateway Protocol 4 Engine 783 Border Gateway Protocol 4 Routing Table 7 8 4 Structure Element 7 7 8 Preset routing table 7 8 9 Routing table 7 9 Query 7 9 1 Routing server 7 9 2 Border gateway agreement 4 Feed 9 0 0 Flow control system 9 0 2 Controller 9 0 4 Controller Module 9 0 6 Bus 9 0 8 Use Collector 99 200300315 9 1 0 Passive Calibrator 9 1 2 Structural Element 9 1 4 Active Calibrator 9 1 6 Data Collector 9 1 8 Use Information Receiver Module 9 2 0 Out Station cost module 9 2 2 Accounting data storage 9 2 4 Stream cache 9 2 5 Control module 9 2 8 Round trip time mirror 9 3 0 Route cache 9 3 2 Interface 9 3 4 Route collection module 9 4 0 Active calibrator message bus 9 4 2 Policy storage 1 0 0 2 Internet service provider A 1 0 0 4 Internet service provider B 1 0 0 6 Internet service provider C 1008 Sphere 1010 Sphere 1012 Minimum contract 1014 Utilization threshold 1016 Maximum allowable usage rate 1018 Minimum contract 100 200300315

1020 使用率臨限 1022 最大可允許使用率 1024 最小合約 110 2 網路服務提供者A 110 4 網路服務提供者B 110 6 網路服務提供者C 1108 最大可允許使用率 1109 使用率臨限 1110 最小合約水準 1112 頻寬分配球體 1114 最小合約 1116 使用率臨限 1118 最大可允許使用率 1120 最小合約 1122 球體1020 Utilization threshold 1022 Maximum allowable usage 1024 Minimum contract 110 2 Internet service provider A 110 4 Internet service provider B 110 6 Internet service provider C 1108 Maximum allowable usage rate 1109 Utilization threshold 1110 Minimum contract level 1112 Bandwidth allocation sphere 1114 Minimum contract 1116 Utilization threshold 1118 Maximum allowable usage rate 1120 Minimum contract 1122 sphere

1124 球體 1126 頻寬分配 1128 頻寬分配球體 1130 頻寬輪廓 1132 頻寬輪廓 1134 球體 1 2 0 2 網路服務提供者A 1 2 0 4 網路服務提供者B 1 2 0 6 網路服務提供者C 101 200300315 1208 使用率臨限 1209 使用率臨限 1214 使用率臨限 1218 使用率臨限 1220 頻寬分配球體 1222 頻寬分配球體 1223 球體 1224 球體 1400 目前之費率 14 0 1 差 1402 目前之使用率 1 4 0 3 時間點10 · 5 1510 最小條件水準 1511 空閒的頻寬 1513 較高階層 1514 新的費率 1518 可使用之空閒頻寬 1613 新的費率 1614 真實的通信速率 1615 取樣 1616 新的費率 1021124 Sphere 1126 Bandwidth allocation 1128 Bandwidth allocation sphere 1130 Bandwidth profile 1132 Bandwidth profile 1134 Sphere 1 2 0 2 Internet service provider A 1 2 0 4 Internet service provider B 1 2 0 6 Internet service provider C 101 200300315 1208 Utilization threshold 1209 Utilization threshold 1214 Utilization threshold 1218 Utilization threshold 1220 Bandwidth allocation sphere 1222 Bandwidth allocation sphere 1223 Sphere 1224 Sphere 1400 Current rate 14 0 1 Difference 1402 Current use Rate 1 4 0 3 Point in time 10 · 5 1510 Minimum condition level 1511 Free bandwidth 1513 Higher level 1514 New rate 1518 Available free bandwidth 1613 New rate 1614 Real communication rate 1615 Sampling 1616 New Rate 102

Claims (1)

200300315 拾、申請專利範圍 1 · 一種用於一網路之控制器,其係包含: 一個控制模組,該控制模組係用於分析集合之流資訊; 一個介面,該介面係用於傳送該集合之流資訊; 一個快取器,該快取器係用於接收資訊; 一個主動校準器,該主動校準器係用於通訊網路資料; 一個集合模組,該集合模組係用於集合該集合的流資 訊; 一個使用率模組,該使用率模組係用於傳送資訊至該 控制模組; 一個檔案庫,該檔案庫係用於儲存資源;及 一個貯存器,該貯存器係用於容置資訊。 2·如申請專利範圍第1項之用於一網路之控制器, 其中,該用於接收資訊之快取器係與該控制模組作通訊。 3 · —種用於一資料網路之控制器,其係包含: 一個控制模組,該控制模組係用於分析集合之流資訊; 一個介面,該介面係用於傳送該集合之流資訊; 一個快取器,該快取器係用於接收資訊; 一個主動校準器,該主動校準器係用於通訊網路資料; 一個集合模組,該集合模組係用於集合該集合的流資 訊; 一個使用率模組,該使用率模組係用於傳送資訊至該 控制模組; 一個檔案庫,該檔案庫係用於儲存資源;及 103 200300315 一個貯存器,該貯存器係用於容置資訊。 4 · 一種用於控制一網路之方法,其係包含下列步驟: 決定一個最佳效能變數; 決定一個最低成本變數;及 指定一個控制値。 5 · —種用於控制一網路之方法,其係包含下列步驟: 計算一個效能値; 決定一個成本; 計算一個辨識元;及 決定一個改變値。 6 ·如申請專利範圍第5項之用於控制一網路之方法 ,其係進一步包含下列步驟: 假如該候選人頻寬係小於該頻寬分配,則決定一個最 低延遲; 決定一個最低損失; 根據一個成本及一個使用率變數而決定一個最大可使 用頻寬; 決定一個成本層級; 決定一個最低辨識元;及 指定一個改變値。 7 ·如申請專利範圍第5項之用於控制一網路之方法 ,其係進一步包含下列步驟: 假如該候選人頻寬係小於該頻寬分配,則決定一個最 低延遲; 104 I I200300315 決定一個最低損失; 根據一個成本變數而決定一個最大可使用頻寬; 決定一個成本層級; 決定一個最低辨識元;及 指定一個改變値。 8 ·如申請專利範圍第5項之用於控制一網路之方法 ,其係進一步包含下列步驟: 假如該候選人頻寬係小於該頻寬分配,則決定一個最 低延遲; · 決定一個最低損失; 根據一個使用率變數而決定一個最大可使用頻寬; 決定一個成本層級; 決定一個最低辨識元;及 指定一個改變値。 9 · 一種用於控制一網路之方法,其係包含下列步驟: 比較一個候選人損失及一個目前損失; 比較一個候選人延遲及一個目前延遲; 則決定一個最佳延遲; 決定一個最佳損失; 計算一個候選人頻寬値; 決定一個最大的候選人頻寬値; 決定一個成本層級; 決定一個最低辨識元;及 指定一個改變値。 105 200300315 1 0 · —種用於決定頻寬分配之方法,其係包含下列 步驟: 計算一個使用率樣本; 計算一個費率輪廓; 決定一個値;及 使用該値而分配頻寬。 1 1 · 一種用於控制一網路之方法,其係包含下列步 驟: 觀察一個樣本; 計算一個控制限制; 使用該控制限制而計算該樣本; 界定一個敏感度; 比較該敏感度及該樣本;及 更新一個値。 1 2 · —種用於控制一網路之方法,其係包含下列步 驟: 計算一個資料流; 計算一個費率輪廓; 決定一個分配値;及 使用該分配値而分配資料。 1 3 · —種用於控制一網路之設備,其係包含: 用於計算一個候選人延遲之裝置; 用於計算一個候選人損失之裝置; 用於比較一個候選人頻寬及一個頻寬分配之裝置; 106 I I200300315 用於決定一個損失値之裝置; 用於決定一個成本之裝置; 用於決定一個辨識元之裝置;及 用於決定一個改變値之裝置。 1 4 ·如申請專利範圍第1 3項之用於控制一網路之 設備,其係進一步包含= 假如該候選人之頻寬係小於該頻寬配置則決定一個最 低之延遲之裝置; 決定一個最低損失之裝置; 根據一個成本及一個使用變數而決定一個最大可使用 頻寬之裝置; 決定一個成本層級之裝置; 決定一個最低的辨識元之裝置;及 指定一個改變値之裝置。 1 5 · —種用於控制一網路之設備,其係包含: 比較一個候選人損失及一個目前之損失之裝置; 比較一個候選人延遲及一個目前之延遲之裝置; 決定一個最佳的延遲之裝置; 決定一個最佳損失之裝置; 計算一個候選人頻寬値之裝置; 決定一個最大的候選人頻寬値之裝置; 決定一個成本層級之裝置; 決定一個最低的辨識元之裝置;及 指定一個改變値之裝置。 107 200300315 % 16·—種儲存用於控制一個網路之指令的電腦可讀 取媒體,其係實施下列步驟: 計算一個候選人之延遲; 計算一個候選人之損失; 比較一個候選人之頻寬及一個頻寬配置; 決定一個損失値; 計算一個成本; 計算一個辨識元;及 決定一個改變値。 1 7 ·如申請專利範圍第1 6項之該電腦可讀取媒體 ,其係進一步實施下列步驟= 假如該候選人之頻寬係小於該頻寬配置,則決定一個 最低之延遲; 、 決定一個最低損失; 根據一個成本及一個使用變數而決定一個最大可使用 頻見, 決定一個成本層級; 決定一個最低的辨識元;及 指定一個改變値。 18·—種儲存用於控制一個網路之指令的電腦可讀 取媒體,其係實施下列步驟: 比較一個候選人損失及一個目前之損失; 比較一個候選人延遲及一個目前之延遲; 決定一個最佳的延遲; 108 200300315 決定一個最佳損失; 計算一個候選人頻寬値; 決定一個最大的候選人頻寬値; 決定一個成本層級; 決定一個最低的辨識元;及 指定一個改變値。 1 9 · 一種於一個載波中實施之電腦資料訊號,該電 腦資料訊號係包含: 用於計算一個候選人之延遲之程式碼; 用於計算一個候選人之損失之程式碼; 用於比較一個候選人之頻寬及一個頻寬配置之程式碼; 用於決定一個損失値之程式碼; 用於計算一個成本之程式碼; 用於計算一個辨識元之程式碼;及 用於決定一個改變値之程式碼。 2 0 ·如申請專利範圍第1 9項之於一個載波中實施 之電腦資料訊號,其係進一步包含: 用於假如該候選人之頻寬係小於該頻寬配置則決定一 個最低之延遲之程式碼; 用於決定一個最低損失之程式碼; 用於根據一個成本及一個使用變數而決定一個最大可 使用頻寬之程式碼; 用於決定一個成本層級之程式碼; 用於決定一個最低的辨識元之程式碼;及 109 200300315 用於指定一個改變値之程式碼。 2 1 · —種於一個載波中實施之電腦資料訊號,該電 腦資料訊號係包含: 用於比較一個候選人損失及一個目前之損失之程式碼; 用於比較一個候選人延遲及一個目前之延遲之程式碼; 用於決定一個最佳的延遲之程式碼; 用於決定一個最佳損失之程式碼; 用於計算一個候選人頻寬値之程式碼; 用於決定一個最大的候選人頻寬値之程式碼; 用於決定一個成本層級之程式碼; 用於決定一個最低的辨識元之程式碼;及 用於指定一個改變値之程式碼。 拾壹、圖式 如次頁。200300315 Patent application scope 1 · A controller for a network, which includes: a control module, which is used to analyze the flow information of the collection; an interface, which is used to transmit the Collection of stream information; a cache, which is used to receive information; an active calibrator, which is used for communication network data; a collection module, which is used to collect the information Aggregated stream information; a usage module, which is used to send information to the control module; a file library, which is used to store resources; and a storage, which is used In the containment information. 2. If the first scope of the patent application is for a network controller, the cache for receiving information communicates with the control module. 3. A controller for a data network, which includes: a control module for analyzing the flow information of a collection; an interface for transmitting the flow information of the collection ; A cache, which is used to receive information; an active calibrator, which is used for communication network data; a collection module, which is used to collect the flow information of the collection ; A usage module, which is used to send information to the control module; a file library, which is used to store resources; and 103 200300315 a storage device, which is used to store information Setting information. 4 · A method for controlling a network, which includes the following steps: determining an optimal performance variable; determining a minimum cost variable; and specifying a control frame. 5-A method for controlling a network, which includes the following steps: Calculate a performance 値; determine a cost; calculate an identifier; and determine a change 値. 6. If the method for controlling a network according to item 5 of the patent application scope further comprises the following steps: if the candidate's bandwidth is less than the bandwidth allocation, determine a minimum delay; determine a minimum loss; Determine a maximum available bandwidth based on a cost and a usage variable; determine a cost level; determine a minimum identifier; and specify a change. 7 · If the method for controlling a network according to item 5 of the patent application scope, further includes the following steps: If the candidate's bandwidth is less than the bandwidth allocation, determine a minimum delay; 104 I I200300315 decides a Minimum loss; determining a maximum usable bandwidth based on a cost variable; determining a cost level; determining a minimum identifier; and specifying a change 値. 8 · If the method for controlling a network according to item 5 of the patent application scope, further includes the following steps: If the candidate's bandwidth is less than the bandwidth allocation, determine a minimum delay; · Determine a minimum loss ; Determine a maximum usable bandwidth based on a usage variable; determine a cost level; determine a minimum identifier; and specify a change 値. 9 · A method for controlling a network, which comprises the following steps: comparing a candidate loss with a current loss; comparing a candidate delay with a current delay; determining an optimal delay; determining an optimal loss Calculate a candidate bandwidth 値; determine a maximum candidate bandwidth 値; determine a cost level; determine a minimum identifier; and specify a change 値. 105 200300315 1 0 — A method for determining bandwidth allocation, which includes the following steps: Calculate a usage rate sample; calculate a rate profile; determine a rate; and use the rate to allocate bandwidth. 1 1 · A method for controlling a network, which includes the following steps: observe a sample; calculate a control limit; calculate the sample using the control limit; define a sensitivity; compare the sensitivity with the sample; And update a puppet. 1 2-A method for controlling a network, which includes the following steps: Calculate a data stream; Calculate a rate profile; Decide on a distribution card; and use the distribution card to distribute data. 1 3 · —A device for controlling a network, comprising: means for calculating a candidate's delay; means for calculating a candidate's loss; comparing a candidate's bandwidth with a bandwidth Allocated device; 106 I I200300315 device used to determine a loss of plutonium; device used to determine a cost; device used to determine a discriminator; and device used to determine a change in plutonium. 1 4 · If the equipment for controlling a network in item 13 of the scope of patent application, it further includes = if the candidate's bandwidth is less than the bandwidth allocation, determine a device with the lowest delay; determine a The device with the lowest loss; the device that determines the maximum usable bandwidth based on a cost and a usage variable; the device that determines a cost level; the device that determines the lowest identifier; and the device that specifies a change. 1 5 · A device for controlling a network, which includes: a device comparing a candidate's loss with a current loss; a device comparing a candidate's delay with a current delay; determining an optimal delay A device that determines the best loss; a device that calculates the bandwidth of a candidate; a device that determines the largest bandwidth of a candidate; a device that determines a cost level; a device that determines the lowest identifier; and Specify a device to change the cymbals. 107 200300315% 16 · A computer-readable medium storing instructions for controlling a network, which performs the following steps: Calculates the delay of a candidate; Calculates the loss of a candidate; Compares the bandwidth of a candidate And a bandwidth allocation; determining a loss; calculating a cost; calculating an identifier; and determining a change. 1 7 · If the computer-readable media of item 16 in the scope of patent application, the following steps are further implemented = If the candidate's bandwidth is less than the bandwidth configuration, a minimum delay is determined; Lowest loss; determining a maximum usable frequency based on a cost and a usage variable; determining a cost level; determining a lowest identifier; and specifying a change. 18 · —A computer-readable medium storing instructions for controlling a network, which performs the following steps: compares a candidate's loss with a current loss; compares a candidate's delay with a current delay; decides on a The best delay; 108 200300315 determines an optimal loss; calculates a candidate bandwidth 値; determines a maximum candidate bandwidth 値; determines a cost level; determines a lowest identifier; and specifies a change 値. 19 · A computer data signal implemented in a carrier wave, the computer data signal contains: a code used to calculate the delay of a candidate; a code used to calculate the loss of a candidate; used to compare a candidate Human bandwidth and code for a bandwidth configuration; code for determining a loss; code for calculating a cost; code for calculating an identifier; and code for determining a change Code. 20 · If the computer data signal implemented in a carrier wave in item 19 of the scope of patent application, it further includes: a program for determining a minimum delay if the candidate's bandwidth is less than the bandwidth allocation Code; a code for determining a minimum loss; a code for determining a maximum available bandwidth based on a cost and a usage variable; a code for determining a cost level; a code for determining a minimum identification Yuan code; and 109 200300315 is used to specify a code that changes 値. 2 1 · — A computer data signal implemented in a carrier, the computer data signal contains: code used to compare a candidate ’s loss with a current loss; used to compare a candidate ’s delay with a current delay Code for determining an optimal delay; code for determining an optimal loss; code for calculating a candidate bandwidth; code for determining a maximum candidate bandwidth Code for 码; code for determining a cost level; code for determining a lowest identifier; and code for specifying a change to 値. Pick it up, as shown on the next page.
TW91132471A 2001-11-02 2002-11-04 Data network controller TW200300315A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US35018601P 2001-11-02 2001-11-02

Publications (1)

Publication Number Publication Date
TW200300315A true TW200300315A (en) 2003-05-16

Family

ID=51660848

Family Applications (3)

Application Number Title Priority Date Filing Date
TW91132420A TW200300314A (en) 2001-11-02 2002-11-01 System and method to provide routing control of information over networks
TW91132419A TW200300313A (en) 2001-11-02 2002-11-01 System and method to provide routing control of information over data networks
TW91132471A TW200300315A (en) 2001-11-02 2002-11-04 Data network controller

Family Applications Before (2)

Application Number Title Priority Date Filing Date
TW91132420A TW200300314A (en) 2001-11-02 2002-11-01 System and method to provide routing control of information over networks
TW91132419A TW200300313A (en) 2001-11-02 2002-11-01 System and method to provide routing control of information over data networks

Country Status (1)

Country Link
TW (3) TW200300314A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2351424B1 (en) * 2008-09-02 2017-05-10 Philips Lighting Holding B.V. Proxy mechanism for mesh-type networks
TWI409650B (en) * 2010-08-11 2013-09-21 Hon Hai Prec Ind Co Ltd Method for searching parameters in a data model
US8885502B2 (en) * 2011-09-09 2014-11-11 Qualcomm Incorporated Feedback protocol for end-to-end multiple path network systems

Also Published As

Publication number Publication date
TW200300313A (en) 2003-05-16
TW200300314A (en) 2003-05-16

Similar Documents

Publication Publication Date Title
US7668966B2 (en) Data network controller
US12058049B1 (en) Predictive overlay network architecture
US7222190B2 (en) System and method to provide routing control of information over data networks
US7561517B2 (en) Passive route control of data networks
Schlinker et al. Internet performance from facebook's edge
US7584298B2 (en) Topology aware route control
Binsahaq et al. A survey on autonomic provisioning and management of QoS in SDN networks
CA2637743C (en) Method and apparatus for the assessment and optimization of network traffic
US8782244B2 (en) Method and apparatus for a software programmable intelligent network
US20210273884A1 (en) Adaptive overlay network architecture
US20130031240A1 (en) Capacity Evaluation of Computer Network Capabilities
JP2005508593A (en) System and method for realizing routing control of information in network
US12261757B2 (en) System and method for network and computation performance probing for edge computing
Ram et al. A flow-based performance evaluation on RYU SDN controller
TW200300315A (en) Data network controller
Chang et al. An optimization model to determine data center locations for the army enterprise
US20080304414A1 (en) Method and Device for Remotely Controlling the Congestion of Meshed Flow in a Packet Mode Telecommunication Network
Bhutta et al. Edge-Based Congestion-Aware Datacenter Load Balancing with Smart Probing
Csizmar Dalal Revisiting a QoE assessment architecture six years later: Lessons learned and remaining challenges
Yu Measurement Systems for Emerging Networks
Ravindran et al. Management intelligence for optimal resource allocations in network server systems