TW200300313A - System and method to provide routing control of information over data networks - Google Patents

System and method to provide routing control of information over data networks Download PDF

Info

Publication number
TW200300313A
TW200300313A TW91132419A TW91132419A TW200300313A TW 200300313 A TW200300313 A TW 200300313A TW 91132419 A TW91132419 A TW 91132419A TW 91132419 A TW91132419 A TW 91132419A TW 200300313 A TW200300313 A TW 200300313A
Authority
TW
Taiwan
Prior art keywords
data
network
policy
usage
point
Prior art date
Application number
TW91132419A
Other languages
Chinese (zh)
Inventor
Eric Klinker
Jeremy Johnson
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 TW200300313A publication Critical patent/TW200300313A/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A system and method for controlling routing of data over multiple networks. Accordingly, network users can define specific flow policies to ensure that a particular flow of data traffic maintains an acceptable level of performance, such as in terms of latency, loss, jitter, or an acceptable level usage that includes cost and bandwidth management across multiple networks.

Description

200300313 玖、發明說明 【相關申請案】 本申請案係主張美國臨時專利申請案名稱爲“用於確 保具有智慧型路由之網路服務水準及頻寬管理之系統及方 法”之優先權,該案係於2 0 0 1年1 1月2日申請,律 師文件編號爲0 2 1 0 8 9 - 0 0 0 2 0 0 US,且該案係 於此倂入作爲參考。此外,於2 0 0 1年4月1 0日申請 案號爲美國專利申請案第0 9 / 8 3 3,2 1 9號且律師 文件編號爲021089 — 000100 US之名稱爲“用 於確保具有智慧型路由之網路服務水準之系統及方法”之 美國臨時專利申請案係於此倂入作爲參考。 明所屬之技術領域 本發明大致上係關於透過網路通訊系統之資料路由, 且尤其係關於透過網路之資料的路由控制,諸如網際網路 協定網路或者該網際網路。 【先前技術】 諸如網際網路之資料網路係爲該網際網路(Internet) ,其係持續增加被使用於作爲一個於公司及消費者之間之 通訊的傳輸方法。效能瓶頸係已經出現很久了,其係限制 用於商業重要應用之網際網路基礎結構之使用性。這些瓶 頸典型地係產生於沿著由一個來源至一個目的地之許多網 路路徑之不同位置。每一個不同的位置之瓶頸係需要一個 獨特的解決方案。 該“最後路徑(last mile) ”之瓶頸係於過去最近幾年 200300313 已經收到最多的關注,且能夠被定義爲連接終端使用者至 該網際網路之頻寬。諸如xDSL及電纜網際網路存取之解決 方案係已經出現,以大幅改善最後路徑之效能。該“起始 路徑(first mile) ”之瓶頸係爲內容爲網路伺服器所代管之 網路部分。起始路徑存取係已經改善,舉例而言,其係透 過使用功能更強大的網路伺服器,伺服器及儲存器之間之 較高速通訊通道及負載平衡技術而_成。 然而,該“中間路徑”係爲於網際網路路由之領域中 需要解決之最後瓶頸,且係爲解決如此瓶頸之傳統方法下 最困難的。該“中間路徑”或者該網際網路之核心係由大 的骨幹網路及這些網路被結合在一起之“對等點”所組成 。因爲對等點係已經結構建構完整,所以其係易於資料通 信量之擁塞。一般而言,並無誘因使骨幹網路提供者合作 ,以減少如此之擁塞。給定超過所有網際網路通信量之9 5 %係通過由該網路服務提供者所操作之複數個網路,則 舉例而言只增加核心頻寬及導入光學對等點將不能提供這 些問題之適當解決方案。 對等通訊係當兩個網路服務提供者(NSP)或者兩個網 際網路服務提供者(ISP)以一個不付費之方式連接,且於 其子系統之間交換路徑。舉例而言,假如網路服務提供者 1係與網路服務提供者2作對等通訊,則網路服務提供者 1將僅通知網路服務提供者1至網路服務提供者2可以達 到之路徑,且反之亦然。此係與全部的網際網路路由被交 換之轉接連接不同。一個額外的不同係在於轉接連接一般 200300313 而言係付費連接而對等點係不付費的。亦即,每一側係付 費至該對等點之電路或者路徑之成本,而不超過。雖然一 個混合型的對等及轉接電路(亦即付費之對等點)係存在 ,僅有完整的路由表之一個子集合係被傳送,且傳送至一 個付費的對等點之通信量係被接收作爲“無改變”。如此 之回應係妨礙有效的路由控制。 透過對等點所接收之路徑係一個自治的系統(AS )而 非一個邊界閘道器協定(BGP)之路由配合。其係使得該些 路徑係受到該協定(及該網路服務提供者,因爲該些連接 係免費的)高度喜愛。然而,當於一個對等點及透過該對 等點所遭遇之容量問題存在時,與邊界閘道器協定相關之 通信量係仍然較喜好該有問題的對等點方式,且因此,所 有資料通信量之端點至端點之效能係將遭遇問題。 以結構來說,該網際網路及其對等點係包含一系列互 連之網路服務提供者。這些網路服務提供者典型地係於其 自治的系統內維持一個保證的效能或者服務水準。保證的 效能典型地係指定於一個網路服務提供者及一個使用者之 間之一個服務水準協議(SLA)之中。該服務水準協議係使 該網路服務提供者有義務於其網路上維持網路效能之一個 最低水準。然而,該網路服務提供者係未與其他網路服務 提供者於其系統之外不作如此之保證。亦即,於鏈結網路 服務提供者之對等點之間係無如此之協議。因此,並無任 何一方必須與其他網路服務提供者維持存取或者該對等點 之間之一個最小服務水準。不變的是,資料通信量於該些 200300313 對等點係變成擁塞的。因此,由端點至端點之該網際網路 路徑一般而言係未受管理的。此係使得該網際網路無法被 信賴作爲一個用於重要任務應用之資料傳輸機構。此外, 其他因素係加重擁塞,諸如線切割,計劃失效(對於維護 及升級操作),設備失誤,電源失效,路徑飄動及許多其 他現象。 傳統上,數個網路服務提供者係藉由使用主要的網路 服務提供者之間之一個“私人的NAP”而企圖改善該網際 網路之一般的不可信賴性。然而,此項解決方案係能夠維 持該些網路服務提供者之外或者該些網路服務提供者下游 之服務水準之約定。此外,使用於選擇一個最佳路徑之共 同的技術方法係易受下游網路服務提供者中之多重路徑所 影響。因此,該傳統的技術係不能夠即時或者接近即地偵 測或者避免問題。 此外,該傳統的網路技術或者路由控制技術係僅於出 口通信量(亦即出站)上操作。然而,該網路之入口通信 量(亦即入站)係難以控制。此使得大部分的網路技術及 路由控制系統係對於大致上本質爲雙向之應用係無效率的 。此係包含語音,VPN,ASP,及其他使用於目前的網際網 路上之商業上的應用。如此之商業的應用係包含時間敏感 的金融服務,線上聲音及視訊內容之資料流,及許多其他 形式之應用。這些缺點係防止複數個網路服務提供者間之 任何形式之效能將被維持或者最佳化或者成本將於諸如網 際網路之端點至端點之資料通信量被最小化之確定性。 200300313 於某些一般的方法中,係可能決定由一個特定的網路 服務提供者所提供之服務水準。此技術係包含至少兩個形 式。第一個形式係爲使用諸如ICMP,追蹤路由,線帶之工 具,及諸如CQOS公司及Keynote公司之販賣者及服務提供 者的資料路徑之接近即時主動校正。另一個傳統的形式係 爲使用諸如TCPdump之工具,及諸如網路協會公司,Narus 股份有限公司,Brix股份有限公司及P-cube股份有限公司 之販賣者而即時被動分析被傳送及接收之通信量。 然而,這些傳統的技術方法係僅決定是否一個服務水 準協議係被違反或者何時網路效能大致上係下降。沒有一 個傳統的網際網路路由之方法係提供資料網路間之有效的 路由控制或者於一個分析點上之對於該網路之可視性。雖 然如此之服務水準分析係爲服務水準確保之一個必要的部 分,其係不足以保證服務水準協議效能或者成本。因此, 該一般的方法係無法偵測或者以最佳化之方式避免諸如慢 性網址失效,不良的下載速度,抖動的視訊及模糊的聲音 之網際網路問題。 爲了克服上述路由控制技術之缺點,許多諸如網際網 路之資料網路之使用者係使用兩個或者更多個資料網路連 結。複數個連結係增加能夠橫越該網路之資料量的產生量 之頻寬。由於增加之頻寬,網際網路通信之效能及可靠度 係增加。亦於已知之“多重導航(Multi-homing) ”之技術 中,這些至網際網路之多重連結一般而言係通過數個不同 的網路服務提供者。多重導航典型地係使用邊界閘道器協 200300313 定以導引通信量通過一或多個網路服務提供者之鏈結。雖 然此種傳統之方法係改善可靠度,根據封包遺失之效能, 延遲及抖動係維持不可預測的。該不可預測性係因邊界閘 道器協定之固有性質所引起,其係當於一特定的端點至端 點路徑之效能降低時不再選擇通信路徑。此外,邊界閘道 器協定係易於導引通信量至僅提供至該目的地最少跳躍數 之鏈結,其典型地係非成本最低之鏈結。此通常係導致無 效率之路由控制技術,諸如於數個網路服務提供者之間提 供過度頻寬。然而,此係導致金融上或其他的成本增加。 給定該傳出多重導航技術之不可預測性,該網路服務 提供者典型地係傳送不可預測的網際網路效能水準及不同 的成本結構。目前並無任何可以使用之系統係允許網際網 路客戶根據至少成本,頻寬及效能等等而管理通過複數個 網路服務提供者之頻寬。 【發明內容】 因此,係需要具有一個用於克服傳統方法之上述缺點 且有效及有效率地控制透過多重網路之資料的路由之系統 及方法。因此,係有需要提供諸如網際網路使用者之網路 使用者智慧型之路由控制,以確保使用於傳輸資料之一個 特定的路徑係被選擇出,使得該特定的路徑係於複數個網 路之間維持至少一個可接受之效能及成本的水準。 於一個實施例中,一個根據本發明之一個實施例之示 範性的流量控制系統及方法係包含採用舉例而言於一個資 料網路之邊緣的一或多個模組。該流量控制系統係設計成 12 200300313 以即時或者接近即時之方式持續地監視及選擇路由或者再 選擇路由高效能路徑上之通信量,因而致能與商業特定應 用需要相關之可預測的效能。 該範例之系統係允許除了客戶定義效能政策之定義及 實施之外亦允許客戶定義頻寬使用政策之定義及實施。該 客戶定義政策係致能現存頻寬之成本節省使用,而非爲昂 貴的過度提供網路資源。於另一個實施例中,該系統及方 法係提供方法及系統,以主動地管理諸如邊界閘道器協定 之網路結構且匹配網路效能及成本目的和一個網際網路協 定基礎結構之使用。 於另一個實施例中,本發明係使用複數個技術而提供 於諸如網際網路轉接網路服務提供者之不同的網路提供者 之間之通信效能統計之監視。該系統係被提供資訊,該資 訊係指示一個使用者之通信量係流進及流出之目的地,被 使用於到達該些目的地之路徑,是否該損失或者延遲效能 及已經被定義之成本政策之轉接使用係符合,及其類似物 。此外,該流量控制系統係提供一個應用無關之通信量流 辨識及該通信量之效能測量,由該使用者之有利點之複數 個網路間的真正的端點至端點流量效能之準確測量,即時 或者接近即時統計收集。於又另一個實施例中,該系統係 持續地偵測對於用於特定目的地之使用者通信量路由或者 流量政策之違反,且舉例而言藉由對於一個使用者路由器 發出邊界閘道器協定路由更新而導引通信量至一個替代的 路徑。 13 200300313 於一個特定的實施例中,本發明係提供一種實施用於 透過資料網路作通訊之政策的方法,資料網路係設計成於 諸如一個來源及一個目的地之間之一個第一點及一個第二 點之間選舉資料之路由。該第一點係連接至一個第一網路 ,且接著,該第一網路係連接至一或多個第二網路。該第 二網路之一個係連接至該第二點,以用於傳輸該資料通訊 至該第二點。每一個網路係包含一個路徑之一路段,其中 ,一個路徑或者一個路徑之一路段係包含由該第一點至該 第二點之資料流或者資料之路由。該些網路之至少兩個係 連接至一個互連點,且該資料係流經該互連點。該方法係 包含下列步驟:監視與至少一個路段相關之至少一個使用 特性;及比較該至少一個使用特性及一個政策之一個相關 之使用要求。於另一個實施例中,該方法係進一步包含決 定是否與於該第一網路中之資料路由相關之至少一個使用 特性係違反該使用要求。 【實施方式】 本發明之實施例之詳細說明將於下文中敘述。然而, 應瞭解的是,本發明係可以以許多形式實施。因此,於此 揭示之特定的細節係不被解釋爲限制之用,而係作爲申請 專利範圍之基礎,且作爲用於教示熟悉本項技藝人士於實 際上任何適當的詳細系統、結構、方法、程序或者方式中 使用本發明之代表性的基礎。 第1 A,1 B及1 C圖係顯示適合用於實施本發明之一 個特定實施例之基本硬體元件。第1 A圖係爲一個示範性 14 200300313 的電腦系統1之圖示。該電腦系統1係包含一個具有一個 顯示螢幕5之顯示器3。一個箱體7係容置標準之電腦元 件,諸如一個磁碟機,唯讀光碟機,顯示轉換器,網路卡 ,隨機存取記憶體,中央處理單元及其他元件,子系統及 裝置。諸如具有按鈕13及鍵盤9之滑鼠11之使用者輸 入裝置係顯示於圖中。諸如軌跡球、觸控螢幕、數位化板 、語音或視覺辨認等等之其他使用者裝置係能夠被使用。 一般而言,該電腦系統係僅例示一種形式之電腦系統,諸 如桌上型電腦,其係適合於與本發明一起使用。電腦係能 夠。以許多不同的硬體元件建構,且能夠以許多尺寸及形 式(例如膝上型,掌上型,筆上型,伺服器,工作站,主 機等等)實施。任何適用於實施於此敘述之處理的硬體平 臺係適合於與本發明一起使用。 第1 B圖係顯示典型地可以於一個諸如電腦1之中發 現之子系統。於第1 B圖中,於方塊2 0內之子系統係直 接與內部匯流排2 2作介面連接。如此之子系統典型地係 包含於諸如第1 A圖之箱體7內之該電腦系統之內。子系 統係包含輸入/輸出控制器2 4,系統記憶體(或者隨機 存取記憶體)2 6,中央處理單元2 8,顯示轉換器3 0 ,串列璋4 0,固定之磁碟機4 2,網路介面轉換器4 4 (例如網路介面卡,或者NIC),該網路介面轉換器4 4 係接著建構成諸如藉由本項技藝中之電氣,射頻或者光學 裝置而與一個網路通訊。使用匯流排2 2係允許該子系統 之每一個於子系統及最重要的中央處理單元之間轉移資料 15 200300313 ,其中,該中央處理單元係可以爲一個SparcTM,一個Intel 中央處理單元,一個PowerPC™或者其均等物。外部的裝 置係能夠透過匯流排2 2藉由與一個於該匯流排上之子系 統作介面連接而與該中央處理單元或者其他子系統通訊。 因此,監視器4 6係與顯示轉換器3 0連接,一個相對的 指示裝置(例如滑鼠)係透過一個諸如串列璋4 0之璋而 連接。某些諸如鍵盤5 0之裝置係能夠藉由直接之方式而 與該中央處理單元通訊,而不需要使用該主資料匯流排且 經由一個中斷控制器及相關之暫存器。 如同示於第1 A圖之該外部實施例結構,許多子系統 之結構係可能的。第1 B圖係爲一個例示性的適合的結構 。除了示於第1 B圖之該些元件之外之子系統,元件或者 裝置係能夠被加入。一個適合的電腦系統亦係能夠使用比 示於第1B圖中之子系統的所有元件爲少之元件而被達成 。舉例而言,一個獨立的電腦係不需要被連接至一個網路 ,所以網路介面4 4係不需要。諸如一個唯讀光碟機,圖 形加速器等等之子系統係能夠被包含於該結構之中,而不 影響本發明之該系統的效能。 第1 C圖係爲一個可以被使用於實施本發明之一個實 施例之典型的網路之一般化之圖。於第1 C圖中,網路系 統8 0係包含數個連接至電腦資料網路8 2之本地接取網 路,諸如網際網路,廣域網路,或者類似之網路。如於此 所述之網路系統係指作成一或多個由一個來源至一個目的 地且反之亦然之路徑的一或多個本地接取網路及網路服務 16 200300313 提供者。然而,網路系統應該被瞭解成亦代表包含使用任 何網路連接技術而通訊之一或多個計算裝置之資料網路。 雖然特定的網路協定,實體層,拓樸,及其他網路特質係 於此被顯示,但是本發明係適合與任何不同路徑之網路( 例如,互連至其他網路之多重原位置網路)一起使用,特 別是採用網際網路協定以用於選擇資料之路徑的網路,該 資料係諸如具有根據該協定之一或多個資訊封包之流。此 外,雖然一個特定的實施方式係顯示於第1c圖,熟悉本 項技藝人士應可以瞭解,根據本發明之一個流控制系統係 能夠被配置於一或多個資料網路8 2之內,或者建構成與 網路系統8 0 —起操作。 於第1 C圖中,電腦使用者1係連接至伺服器1,其 中,該連接係能夠爲藉由任何網路協定,諸如乙太網路, 非同步傳輸模式,IEEE標準1 5 5 3匯流排,調變解調器 連接,萬用串列匯流排等等。該通訊鏈結係不需要爲一條 線,亦可爲紅外線,無線電波傳輸等等。爲了說明起見, 伺服器1係連接至該資料網路8 2,諸如網際網路,或者 舉例而言任何其他使用網際網路協定以用於資料傳輸之資 料網路。該資料網路係以符號表示爲伺服器路由器8 2之 一個集合。 用於資訊之分配或者通訊之網際網路之示範性的使用 係不需要被限制爲實施本發明,而僅係被使用於顯示一個 特定的實施例。此外,使用伺服器電腦及伺服器和客戶之 指定對於本發明之實施係並非重要的。使用者1電腦係能 17 200300313 夠藉由網際網路而直接連接。雖然伺服器1對於該網際網 路之連接係可以以類似使用者1之類似方式連接,伺服器 1對於該網際網路之連接典型地係藉由諸如T1線,T3線 ,都市區域乙太網路或者類似網路而實施。類似地,其他 電腦8 4所顯示的係爲於不同於使用者1電腦之位置處使 用一個地區網路(例如本地接取網路)。於8 4處之該些 電腦係透過伺服器2而連接至該網際網路。雖然電腦8 4 係顯示成僅包含一個單一伺服器,然而兩個或更多個伺服 器係能夠被連接至與該電腦8 4相關之該本地接取網路。 該使用者3及伺服器3之結構係代表一個計算裝置之第三 網路。 第1D圖係顯示於一個路由控制系統上僅使用主動校 準之典型的多重路徑(例如ECMP)技術之效應。對於一個 給定的網路服務提供者而言,華盛頓特區及聖荷西之間係 存在兩個可能的路徑。該第一路徑1 7 0係橫越紐約,芝 加哥及西雅圖。該第二路徑1 7 1係橫越亞特蘭大,達拉 斯及洛杉磯。假設使用該第一路徑1 7 0及該第二路徑1 7 1之任一路徑之成本於該路由協定中係相等。當呈現兩 個相等成本之路徑時,大部分的路由器販賣者將於其之間 載入共享的通信,以確保於相同流之路徑將遵循相同的路 由。該路徑選擇程序係爲販賣者特定的,且一般而言係根 據已知之來源之網際網路協定位址及目的地之網際網路協 定位址。除非該來源之網際網路協定位址及目的地之網際 網路協定位址係相同,否則該通信將採用一個不同的相同 18 200300313 成本之路徑。路徑校準之意旨係爲於華盛頓特區及聖荷西 之間透過網路傳送之該主動探測係可以採用經由芝加哥1 7 2之北方的路徑,同時該顧客之通信可以採用經由達拉 斯1 7 3之南方的路徑,因爲雖然該目的地的網際網路位 址係相同,該來源網際網路位址係不同的。因此,該測量 出之路徑係可以不爲真正由該顧客之通信所採用之路徑。 本發明最重要的是使用一個系統及技術而有智慧地控制包 含資料通信之路由,以確保根據本發明之顧客資料通信之 服務水準。 第1E圖係顯示根據本發明之一個特定的實施例之包 含網路服務提供者9 2及一個流控制系統9 0之第1 C圖 之一個網路系統8 0之一部分之內的示範性的資料網路。 示範性的流控制系統9 0係被建構成與該資料網路之一或 多個網路元件通訊。雖然該流控制系統9 0係顯示成於來 源網路9 4、開關9 6及路由器9 9之元件之外,且與來 源網路9 4、開關9 6及路由器9 9之元件通訊,該流控 制系統9 0係能夠完全建構於所顯示之來源網路9 4、開 關9 6及路由器9 9之任一元件之內。或者,該流控制系 統9 0係能夠以部分之方式分配於該來源網路9 4、開關 9 6及路由器9 9之每一個元件之內。於另一個實施例中 ’該流控制系統9 0係位於一或多個伺服器或者於示範性 之來源網路9 4之內之網路元件之上。 一個示範性之資料網路係包含一或多個來源網路9 4 。一個來源網路9 4典型地係爲一個包含由應用服務提供 19 200300313 者、管理服務提供者、內容傳送網路、網路代管公司、個 人企業、股份有限公司、實體或類似物所擁有及操作之一 或多個伺服器的本地網路。如此之網路服務提供者典型地 係傳送資訊至進一步由諸如網路服務提供者1,網路服務 提供者2,網路服務提供者3,···,網路服務提供者η 之多重復位網路服務提供者之中移除之使用者。於一個範 例中,網路服務提供者9 2係被連接至一個來源網路或者 被認爲一個第一組資料網路之來源點。該些網路服務提供 者或者第一組資料網路係接著連接至一個第二組網路,其 中,該第二組網路係連接至複數個其他網路,因此,建立 一或多個由一個來源至一個目的地之路徑。於此所述之一 個路徑係能夠爲一個由一個來源至一個目的地之被分割成 爲複數個路段之路由,每一個路段係完全位於一個網路服 務提供者之內。 於該路由器9 8及複數個網路服務提供者9 2之間之 多重連接係提供來源網路9 4之一個操作員根據該最佳實 施之網路服務提供者而導引資料通信量。開關9 6係操作 成傳輸諸如網際網路協定資料之雙向資料9 9,其係爲由 來源網路9 4至路由器9 8之雙向。雖然其係顯示單一之 路由器及開關,熟悉本項技藝人士將可以瞭解,一個額外 的路由器及開關或者其他適合的裝置係能夠根據本發明之 另一個貫施例而被取代。此外,開關9 6係不需要被使用 以實施例本發明。於一個特定的實施例中,路由器9 8係 包含一或多個執行一個示範性的協定之路由器,諸如舉例 20 200300313 而言邊界閘道器協定(例如BGP4 ’諸如Cisco™或者 Juniper implementation™ )。且較佳的情況爲’係具有於 複數個網路服務提供者間之路由可視性。 於流控制系統9 0之一個實施例中,該流控制系統9 0係操作以根據諸如效能、成本、頻寬及其類似物之流量 特性而測量端點至端點之資料通信量。該流控制系統9 0 亦即時或者接近即時產生橫越複數個網路服務提供者之資 料路徑相關之統計値。如此之統計値係傳送至來源網路9 4,以提供網路工程個人舉例而言報告資訊9 1,使得動 態的報告係被產生以提供關於路由改變之活動的資訊,當 傳送至被選擇出之目的地之通信量效能及過境的網路服務 提供者之使用(亦即頻寬),成本及其類似物。 於本發明之一個實施例中,一個本地計算裝置係使用 由該流控制系統9 0而來之該報告資訊9 1以產生視覺的 及圖形的表示於舉例而言爲一個使用者友善之介面之上, 於該使用者友善之介面之中,該些視覺的及圖形的表示係 指示沿著一或多個路徑(例如一個來源及一個目的地之間 之路徑)之資料通信量。然後,能夠存取該來源網路9 4 之網路全體人員或者任何負責流控制之實體係能夠提供流 資訊9 3至該流控制系統9 0,以藉由舉例而言改變資料 通信流由一個實行較差或者失誤之電流的路徑至一個實行 較佳之路徑而改變系統之操作。然而,對於本發明之流控 制系統9 0之操作而言係不需要網路人員之涉入。 該流控制系統9 0係進一步作用爲比較特定之資料通 21 200300313 信流(亦即由該資料網路流入及流至該資料網路之單向及 雙向之通信流),以決定是否一個特定的通信流係符合一 個相關之流政策之一或多個規則。如於本文所參考之一個 流政策係包含一組一或多個規則,其係結合關於特定的系 統使用者(例如表示爲網際網路協定位址前置頭)之一個 特定的資料通信流。 一個規則或者標準係爲定義一個相關之通信流特性之 可接受的路由行爲之一個最小水準位値,一個最大水準値 或者一個範圍値。舉例而言,一個規則係可以設定:關於 或者不關於網路服務提供者之該最大可接受成本;與透過 特定網路服務提供者之通信流相關之最大負載或者頻寬使 用;可接受(或者非可接受)之服務提供者之範圍;橫越 複數個網路服務提供者之透過一或多個路徑之最大可接受 延遲或者損失;對於每一個網路服務提供者之可接受的效 能範圍,諸如最大的叢集限制;最小的效能協議及成本範 圍(亦即對於一天中之時間的成本結構,通信之形式等等 );及任何其他能夠影響資料通信之測量或者控制之資料 流特性。 該流控制系統9 0係進一步操作以偵測何時一個或者 多個規則或者流政策係被違反,且然後採取補償的行動。 亦即,該流控制系統9 0係藉由校正效能(亦即服務水準 保證)、成本或者頻寬(亦即根據每一個路徑可使用之容 量百分比之負載)上之不利的變化而實施資料通信流相關 之政策。該流控制系統9 0根據即時或者接近即時之通信 22 200300313 量分析,本地路徑多樣化(亦即修改由一個資料網路之一 個或多個出口路徑)及下游可使用路徑之可視度而實施如 此之校正。舉例而言,對於一個關於一個特定的通信流之 目的地而言,該流控制系統9 0係根據流之特性,由其流 政策導引或者再導引通信至一或多個指代的路徑,以解決 一個特定的流之變化。 第2圖係顯示第1 D圖之該流控制系統9 0之一個特 定的實施例。於另一個實施例中,於第2圖之該流控制系 統係爲一個反應之流控制系統。亦即,一個反應之流控制 系統係被設計成對於政策違反作出反應,其指示透過一或 多個資料網路或者服務提供者之資料子標準路由,而非於 某些可接受之操作的目標水準下之最佳化效能。 流控制系統2 0 0係包含:控制器2 0 5,被動校準 器2 0 3,主動校準器2 0 8,結構元件2 1 1及使用收 集器214,該控制器205,被動校準器203,主動 校準器2 0 8,結構元件2 1 1及使用收集器2 1 4之每 一個係能夠以硬體,軟體或者其之組合而實施。舉例而言 ,控制器205,被動校準器203,主動校準器208 ,結構元件2 1 1及使用收集器2 1 4係設計成實施根據 本發明於此所述之特定的程序之軟體模組。如此之模組可 以駐留於一或多個計算裝置之中,諸如示於第1A圖中之 該計算裝置,或者,透過一個資料網路或者網硌系統連接 之一或多個使用者形式之機器(亦即伺服器)。 示範性之被動校準器2 0 3,主動校準器2 0 8及使 23 200300313 用收集器2 1 4係連接至控制器1 0 5,以部分地提供資 料通信之流特性。控制器2 0 5係接收受監視之流特性以 及將被實施之流政策。該控制器2 0 5係被構形成決定是 否一個流政策係被違反,且於偵測出如此之一個違反時, 選擇一個補償之行動以解決該項違反。結構元件2 1 1係 連接至使用於接收資訊之控制器2 0 5,以起始補償行動 ,且係建構成將如此之行動傳送至資料指引器2 2 0。其 後,資料指引器2 2 0係實施該校正之行動以解決該懸置 之違反,舉例而言,藉由將該通信流由目前之路徑改變成 爲一個實施較佳之路徑。 此外,流控制系統2 0 0係包含通信貯存器2 2 1及 流政策貯存器2 1 8。示範性之通信貯存器及該流政策貯 存器2 1 8係爲資料庫,諸如一個儲存裝置,其係建構成 儲存許多記錄於一或多個資料結構中。通信貯存器2 2 1 係被設計成儲存及通訊關於通信及路由特性之資訊,且該 流政策貯存器218係被設計成儲存及通訊政策資訊或者 規則,以管理該資料通信流之每一個的效能及成本。熟悉 本項技藝人士應可以瞭解,許多資料庫之技術係可以被使 用,以實施本發明之該些貯存器。 於操作時,第2圖之該流控制系統2 0 0係監視出站 及入站資料流2 0 1,諸如網際網路協定資料通信,以決 定是否由該來源網路而來及至該來源網路之資料流2 0 1 係於由該相關之流政策所設定之效能容忍度。於一個實施 例中,該流控制系統2 0 0係藉由諸如藉由一個網路開關 24 200300313 之複製,藉由使用諸如一個光分離器之一個分離器,或者 任何熟悉本項技藝人士所知之其他分接裝置而接收資料流 2 0 1。與包含於資料流2 0 1之內之資訊完全或者幾乎 完全相同之資料流2 0 2係被提供至該被動校準器2 0 3 〇 被動之校準器2 0 3係監視資料流2 0 1之該資料通 信,且傳送關於該通信及通信效能之資訊2 0 4至該控制 器2 0 5。該控制器2 0 5係被構形成接收對應於一個諸 如一個特定的資料流之特定的通信流之一或多個政策之政 策資料2 0 6。此外,該特定的資料流係能夠結合舉例而 言一個由一個目的地前置頭所辨識之某一使用者。由政策 資料2 0 6,該控制器2 0 5係決定效能,成本或者該特 定的通信符合之利用性的水準。舉例而言,該控制器2 0 5係決定是否一個特定的資料流2 0 1之通信流係符合由 諸如入站及出站網路延遲,封包損失及網路抖動之一或多 個條件或者標準所定義之效能水準(亦即,服務水準)。 該主動校準器2 0 8係作用爲接收由該資料網路而來 及傳送至該資料網路之許多形式之一或多個主動探測器2 0 7。這些探測器係被設計成測量網路效能,包含橫越一 或多個可使用之網路服務提供者所取得之路徑(亦即,決 定是否一個網路服務提供者係爲一個轉接自治的系統而非 對等點之自治的系統),下一個使用之跳躍及其他網路參 數。爲了致動該主動校準器2 0 8,該控制器2 0 5係傳 送一個主動探測請求2 0 9至該主動校準器2 0 8。假如 25 200300313 該控制器2 0 5係確認關於替代之路徑或者網路系統之特 性之額外的資訊係必須的以較佳實施於反應之流控制系統 中之政策時,如此之一個請求係需要的,以防止如此之政 策係違反最佳化流控制系統。 該使用收集器214係被建構成接收代表一或多個網 路提供者結構之網路服務提供者資料2 1 7。一般而言, 如此之結構係包含與每一個網路服務提供者及其大小相關 之路徑(管道)之數量。此外,網路服務提供者資料2 1 7係能夠關於一個網路服務提供者之成本或者付款結構, 且亦包含每一個網路服務提供者之相關之組或者子組之位 址,每一個網路服務提供者之付款方式(亦即位元組/分 等等)。此外,使用收集器214係被建構成收集由該網 路元件而來之使用資訊2 1 3,諸如開關,邊界路由器, 網路服務提供者裝置,及其他使用於透過資料網路而傳輸 之裝置。該使用收集器2 1 4係建構成提供利用及付款資 訊2 1 5給該控制器2 0 5,該利用及付款資訊2 1 5係 代表根據網路服務提供者217及使用資訊213而收集 資料。該利用及付款資訊2 1 5係包含代表對於感興趣之 每一個網路服務提供者之成本,付款及利用之資料。 熟悉本項技藝人士應可以瞭解,該網路服務提供者資 料217係能夠以許多方式而被提供至該使用收集器21 4。舉例而言,該網路服務提供者資料2 1 7係能夠被提 供被該資料流所使用之資料路徑,或者能夠被一個具有優 先權如此實施之一個實體所提供,諸如一個網路工程師將 26 200300313 該資料輸入至一個第1 E圖之該來源網路9 4中之一個計 算裝置之內。 此外,使用控制器2 1 4係建構成監視定義一個網路 服務提供者之資料通信容量,成本等等之使用特性。提供 至使用控制器214之該使用資訊213係包含由諸如如 開關,邊界路由器,網路服務提供者裝置,及其他使用於 透過資料網路而傳輸之裝置而來之使用特性。使用係指代 表瞬間或者接近瞬間之特性(亦即使用特性)的測量之資 料(亦即諸如於時間(0 )之X百萬位元之原始資料), 其係定義舉例而言每一個網路服務提供者之負載及可使用 之容量。使用係爲時間上之使用率。舉例而言,假設監視 網路服務提供者1之該使用收集器係測量其時間上之利用 率或者容量爲於時間(〇 )係X百萬位元且於時間(1 ) 係Y百萬位元,此原始資料或者使用係被使用於計算利用 率或者網路服務提供者1之使用率(例如Y-X/時間(0 )一時間(1 ))。頻寬係爲對於通信流可使用之每一個 路徑或者路徑之路段之總容量。於一個實施例中,該使用 係能夠於任何數目之跳躍或者由一個第一點而來之網路下 之任何路徑中之任何路段處被測量。負載典型地係定義一 個特定的路徑係被使用於攜帶資料之容量,且能夠被表示 爲負載/頻寬。 該使用控制器214係被設計成根據使用資訊213 及該網路服務提供者資料217而產生該利用及付款資訊 2 1 5。因爲該些網路服務提供者之每一個係具有不同的 27 200300313 成本及付款結構以及決定使用成本之方法,所以該使用控 制器2 1 4係操作成收集使用資訊2 1 3,以因而提供該 控制器2 0 5該利用及付款資訊2 1 5。 該使用控制器214係然後提供該利用及付款資訊2 1 5至該控制器2 0 5,以用於每一個網路服務提供者之 興趣。熟悉本項技藝人士應可以瞭解,當需要更佳地實施 路由控制時,該使用收集器係能夠根據該網路服務提供者 使用資訊而提供額外的資訊至該控制器。 該控制器2 0 5係收集由該被動校準器2 0 3,該主 動校準器2 0 8,該使用收集器2 1 4及或者通信貯存器 2 2 1之每一個而來之資訊(亦即,被收集之效能及使用 特性)。根據該收集之資訊,該控制器205係決定最佳 地減少對於由被傳輸至該控制器2 0 5之政策資料2 0 6 所伐表之資訊的政策違反之一項行動。一旦該項行動被決 定,該控制器2 0 5係起始化及傳送一個網路路由改變請 求2 1 2至該結構元件2 1 1。於一個特定的實施例中, 該控制器2 0 5亦提供表示能夠被使用於解決該政策違反 之一或多個替代的資料路徑之資料。 該結構元件2 1 1係被設計成與資料指引器2 2 0作 網路中之路由改變之通訊。一旦該結構元件2 1 1係傳送 一或多個路由改變時,該資料指引器2 2 0係接著移動資 料流2 0 1由一個目前的路徑至另一個路徑(例如由網路 服務提供者1至網路服務提供者η或者網路服務提供者I 之一個第一路徑至網路服務提供者I之第二路徑)。因此 28 200300313 ,該資料導引器2 2 0係操作成根據舉例而言跨越每一個 鏈結所測量之該成本及效能,而分配通信量至跨越複數個 網路服務提供者鏈結之這些目的地。 於操作時,該結構元件2 1 1係與該資料指引器2 2 0通訊一或多個路由改變2 1 0,舉例而言,藉由使用一 個諸如邊點閘道協定之一個路由協定。結構元件2 1 1係 作用爲藉由修改通過該結構元件2 1 1之該通信量之該來 源位址而動態地控制路由之行爲。該來源位址係以改進應 用效能及成本條件之方式而修改。 下列之敘述係爲一個示範性之控制系統2 0 0之該些 元件之每一個之一個更詳細之敘述。參照回該主動校準器 208,該主動校準器208係提供於該系統200內之 主動機構,以用於決定下游或者上游之本質。該資訊典型 地係無法於使用於諸如網際網路之資料網路之任何傳統之 協定或者上游路徑中取得,且必須於正常程序網路之外被 收集。如示於第2圖,該主動校準器2 0 8係連接至該控 制器2 0 5,以提供至少一個不符合諸如最小效能水準之 政策條件之目的地前置頭。一旦接收到,該主動校準器2 0 8然後係起始一個決定至該目的地位址之大部分或者全 部的可取得的網路路徑之校準程序。該控制器2 0 5係被 設定成,根據條件實施或者校正之該特定的政策而選擇該 主動校準器2 0 8將被使用之最適合的探測器,其後,使 用主動校準器2 0 8而起始網路路徑之主動探測器。 於一個實施例中,該主動探測器係透過探測路徑2 0 29 200300313 7而被通訊至可使用之網路或者網際網路路徑。該返回之 主動校準探測器係透過探測路徑2 0 7而進入該主動校準 器2 0 8之中。然後,該主動校準器2 0 8係轉送該探測 器之資訊2 0 9至該控制器2 0 5,該控制器2 0 5係包 含具有替代的可取得之路徑之效能資訊。該控制器2 0 5 然後決定如何最佳地實施與該主題通信流相關之政策的特 定情況。示範性的校準器2 0 8係採用主動的校準機制, 以提供舉例而言長期的統計。 於本發明之另一個實施例中,該主動校準器2 0 8係 駐留於資料指引器2 2 0之內,或者能夠被整合至該控制 器2 0 5之內。有數個適合於實施本發明之商業上可取得 的路由器之專有實施。適合的主動探測器之一個範例係爲 該遠距監視(RMON)探測器。思科系統係使用由該遠距監 視探測器推導而來之服務確保代理(Service Assurance Agent,SAA),以傳送出主動探測。該服務確保代理係允許 路由器去測量及報告網路起源之應用來回程時間。雖然對 於網路校準而言,並非每一個下述之探測器係於該服務確 保代理中可以使用,熟悉本項技藝人士將可以瞭解,下述 之每一個係如何可以被實施,以實施本發明之一或多個實 施例。 一個示範性的主動校準器2 0 8係可以使用網際網路 協定控制訊息協定(Internet Control Message Protocol,ICMP )之回應請求或者其他之快速型探測器,輕量的傳輸控制 協定爲基礎之探測器,刺激探測器,“零碎路徑”探測器 30 200300313 ,使用具有一個預先定義之生存時間之使用者資料簡協定 (User Datagram Protocol,UDP)封包之輕量探測器,路徑 路由探測器,或者其他適合於由根據本發明之該主動校準 器2 0 8所使用之主動校準器。 這些由第2圖之該主動校準器2 0 8所接收回之探測 係由其來源地址所送出。如此之探測係發源於一個示範性 之狀態電腦系統駐留地且由該示範性之狀態電腦系統駐留 地所接收,舉例而言爲於該本地使用者或者於一個路由器 上之一個狀態處理器。於另一個實施例中,探測器之使用 及主動校準器係根據敘述於申請於2 0 0 1年4月1 0曰 之名稱爲“具有智慧型路由之確保網路服務水準之系統及 方法”之美國專利申請案第0 9 / 8 3 3,2 1 9號且律 師文件編號爲0 2 1 0 8 9 — 0 0 0 1 0 0 US而操作,且 該文件係於此倂入作爲參考。 第2圖之示範性之被動校準器2 0 3係被建構成接收 且不用與諸如顧客網路或者網際網路通信之網路通訊資料 2 0 1作介面連接。該網路通訊資料路徑2 0 1 (亦即網 際網路協定資料通信)當被該被動校準器2 0 3所監視時 ,係包含目前是且由資料指引器2 2 0而來而提供至該被 動校準器2 0 3之該資料通信之預設或者目前被選擇路由 之路徑。該目前被選擇路由之路徑舉例而言係爲一個封包 根據標準路由協定將採用之路由器之間之路徑(例如跳躍 接著跳躍)。該被動校準器2 0 3係連接至(亦即,以電 氣方式,以光學方式,以無線電波方式等等)該控制器2 31 200300313 0 5,以提供指示是否該特定的網際網路協定資料通信係 於諸如由一個流政策所決定之可接受之效能矩陣之範圍之 內。該被動校準器2 0 3係操作成同時監視所有透過資料 流2 0 2所接收之通信,且係被設計成克服僅根據諸如示 於第1 D圖之典型的多重路徑之主動通信分析之複雜性。 舉例而言,當該控制器解決政策違反時,該被動校準器2 0 3係操作成克服於諸如典型的多重路徑之多重路徑中僅 實施主動通信分析之複雜性。 於本發明之另一個實施例中,該被動校準器2 0 3係 檢查於兩個方向(亦即入站及出站)之通信流,且分類每 一個通信流成爲流。通信流係根據於時間上之實施中之協 定狀態(例如諸如關於傳輸控制協定會談)而於該被動校 準器2 0 3之內被監視。舉例而言,該被動校準器2 0 3 係根據來回程延遲,封包遺失之百分比及每一個通信路由 或者流之抖動而分類該通信流。如此之通信路由資訊係被 使用於特性化攜帶該通信流之該些路徑之該“端點至端點 ”效能。其係包含流速率,且係被集合成爲一系列之網路 前置頭。 如上所述,該被動校準器2 0 3係連接成儲存,擷取 及更新儲存於通信貯存器2 2 1 (連接係未示出)中之通 信及路由資訊。示範性之通信貯存器2 2 1係爲一個建構 成儲存及維護代表對於使用諸如第2圖之系列2 0 0之流 控制系統之該終端使用者有用之通信及路由資訊之及舉例 而言一個網路服務提供者之操作者之資料。於該通信貯存 32 200300313 器2 2 1內之該資料係包含關於該通信之長期統計資料。 這些統計資料將被使用於報告,分析目的及提供對於一個 根據本發明之流控制系統之一般的回饋。 如此之回饋舉例而言將包含許多被傳送出之通信之形 式,來源位址,目的地位址,應用,由ToS或者DSCP ( DiffServ Code Point)所傳送之通信設定(其可以被整合至 一個差動付款系統中)及通信量所傳送之通信。這些統計 資料係被饋入至該通信貯存器2 2 1中,其中,舉例而言 ,一個報告引擎或者其他某些分析程序係已經存取該些統 計資料。儲存於通信貯存器2 2 1內之資訊係爲代表配置 於熟悉本項技藝人士瞭解之適合的資料結構中之通信路由 特性之資料。 第3圖係爲顯示根據本發明之一個實施例之一個被動 校準器3 0 3之示範性元件之一個詳細功能方塊圖。該被 動的校準器3 0 3係包含舉例而言被動流分析器3 3 0, 輸出流分析器3 3 1及內容分析器3 3 3 2。 於一個實施例中,該被動流分析器3 3 0係於該通信 上實施被動分析,以監視目前之通信流特性,使得該控制 器能夠決定是否該被監視之目前通信流係符合相關之政策 條件。該輸出流分析器3 3 1係對於:由一個諸如由通知 通信形式之這些裝置(例如路由器)之網路裝置而來之輸 出流紀錄,來源及目的地位址及其他關於其經過服務提供 者鏈路之通信之資訊,實施被動分析。如此之一個網路裝 置之一個範例係爲思科公司之Netflow™產品。於另一個實 33 200300313 施例中,該被動流分析器3 3 0係根據敘述於上述提及之 申請於2001年4月10日之名稱爲“具有智慧型路由 之確保網路服務水準之系統及方法”之美國專利申請案第 09/833,219號而操作。 該內容流分析器3 3 2係實施諸如網路位置內容之資 料內容之特定元件之被動分析。該輸出流分析器3 3 1及 該內容流分析器3 3 2係決定與一個特定的使用者之政策 相關之一組相關之前置頭或者一個前置頭列表3 3 4。該 前置頭列表3 3 4係被傳送作爲代表諸如前置頭之資料而 至於該計數器中之一個主動偵測程序。該前置列表3 3 4 係能夠爲建構成儲存代表效能及使用特性之資料的一或多 個列表或者資料結構,且係設計成爲藉由該控制器而接收 一個詢問。一旦被詢問,該被動流分析器係提供其之一或 多個前置列表或者一部分至該控制器,以用於決定一個政 策違反,以用於決定哪一個路由或者路徑係符合該流政策 ,該路徑係爲用於選擇資料之路由之最佳路徑或者其類似 物。一個示範性的前置列表係能夠被該輸出流分析器3 3 1及該內容流分析器3 3 2以及該被動分析流分析器3 3 0而被產生。 第17圖係顯示適合使用於提供用於於此所敘述之一 或多個前置頭列表之一個示範性之資料結構1 9 0 0。資 料結構或者列表1 9 0 0係包含許多具有與每一個位址( 例如目的地)或者可變粗糙度相關之許多記錄1 9 1 0之 許多網際網路協定位址1 9 2 0。每一個記錄1 9 1 0係 34 200300313 包含一個位址1 9 2 0 (或前置頭),許多於一時段( )內之事件,被取樣之位元組數量1 9 4 0,取樣發生之 期間(5 t)內1 9 5 0,新的前置頭旗標1 9 6 0 ( 1係 代表新的前置頭,0係代表舊的前置頭),或其類似物。 列表1 9 7 0係包含用於每一個位址1 9 2 0或者前 置頭之集合流資訊。舉例而言,記錄1 9 7 5係包含下列 資料:對於位址1 · 2 · 4 · 7而言,該位址係於具有總 共流量3 6 0位元組之取樣期間(5 t)被監視4次。因爲 具有一個新的前置頭旗標設定(亦即該位址第一次被監視 )之記錄1 9 9 0,新的前置頭列表1 9 8 0係包含具有 於期間((5 t)上之一個事件(第一個時間)之位址1 · 2 • 4 · 9。熟悉本項技藝人士將可以瞭解,其他相關之資 料係可以被監視,且能夠被儲存於列表1 9 0 0中。此外 ,代表位址,事件,位元組數量,時間間隔之資料係能夠 被使用於以該控制器能夠容易地獲得之方式處理資料。 舉例而言,儲存於一個列表1 9 2 0中之該資料係能 夠根據位址或者前置頭而被收集或者集合。如示於第1 7 圖,集合列表1 9 9 5係包含對應於1 · 2 · 4 · X之位 址的群組。舉例而言,集合位址之該記錄1 9 9 7係包含 指示該位址之集合係於該對話被監視5次且具有總量5 4 0位元組之資料。熟悉本項技藝人士將可以瞭解,位址或 者前置頭係能夠以許多方式群組化或者集合。 該輸出流分析器3 3 1及該內容流分析器3 3 2亦係 被建構成當一個先前未被看見之前置頭已經被加入至該前 35 200300313 置頭列表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*1GIF),且係對於該主要的原始內容而 言係爲不可見的或者不可感知的,且對於具有該小的內容 元件3 4 4之客戶作出回應。該內容流分析器3 3 2然後 儲存或者記錄該交易,且藉由使用該些記錄,該內容流分 析器3 3 2係能夠實施結合及組合內容前置頭列表3 3 4 。該列表3 3 4係傳送至該控制器2 0 5,舉例而言,以 用於主動服務水準監視及政策實施。 第4圖係顯示一個示範性的內容流分析器4 3 2之一 個功能方塊圖。該內容流分析器4 3 2係處理用於一個小 的元件內容之請求4 2 0,其舉例而言係爲一個1 * 1之像 素檔案,其係無法於該結果之頁上被感知(雖然其不需要 36 200300313 被感知)。該小的元件係與一個較大的內容集合之該主要 的或者一般而言特定的頁相結合。該小的元件舉例而言係 爲一個內建於該內容內之小的再導引使用者路由列表。 該小的再導引使用者路由列表係實施作爲產生一個超 文字傳輸協定(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),且亦集合每一 個前置頭於一個對話被看見之頻率。 亦即,該集合器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圖之該控制器 37 200300313 2 0 5,且當觀察到一個新的前置頭時,亦以新的前置頭 通知訊號4 3 2通知該系統之其他元件。該前置列表產生 器4 5 5係儲存該前置資訊4 3 0至固有的儲存器,以用 於報告及分析之目的。一個新的前置頭係提供一個未知的 新的額外之替代路徑或者路段,直到某一個時點爲止。與 該新的前置頭相關之該新的替代路徑或者路段係能夠提供 流政策之順應性,且因而能夠被使用於再選擇資料路由或 者改變資料路由,以排除一個政策之違反。 參照回第3圖,該輸出流分析器3 3 1係結合能夠以 可以被該分析器3 3 1所使用之格式輸出流資訊的網路元 件而操作。一個示範性之格式係爲Cisco NetFlow™輸出格 式。任何設計成輸出流資訊之網路元件,諸如路由器3 4 5或者一個第2層之開關,因此亦係被建構成被動地監視 正在處理之通信,且轉送輸出記錄3 4 6至該輸出流分析 器3 3 1。該輸出流分析器3 3 1係作用爲處理輸出流記 錄3 4 6,集合該些流至前置頭元件之內,且產生前置頭 列表3 3 4。該前置列表一般而言係爲由該流控制系統所 觀察到之所有前置頭之一個子集合。一個前置頭係根據於 一觀察期間之流體積及流頻率而由所有前置頭選擇出。然 後,舉例而言,該被選擇出之前置頭係於該列表被傳送至 第2圖之該控制器2 0 5之前,被置放於該前置頭列表3 3 4之中。 第5圖係顯示示範性之輸出流分析器5 3 1之一個功 能之方塊圖。該輸出流分析器5 3 1係包含格式解譯器5 38 200300313 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係決定該頻率,期間,或者於一被觀察期間對於一 個特定的前置頭之關於該前置頭之事件之集合量。 目的地前置頭列表5 2 8係藉由舉例而言排列等級及 組織化關於以相對重要之次序的前置頭的通信流特性,而 由前置頭列表產生器5 5 2所產生。列表5 2 8係包含代 表前置頭之列表5 2 8之集合的資料,且係被組織成決定 由該系統或者一個實體所決定之該相關性,以確保政策實 施。舉例而言,一或多個前置頭係能夠根據流頻率及平均 或者關於可以於整體系統中與前置頭一起取得之總計流量 而被排序。前置頭列表產生器5 5 2係傳送更新至該目前 之前置頭列表而至第2圖之該控制器2 0 5,且當透過一 個新的前置頭通知訊號5 3 2而觀察到一個新的前置頭時 39 200300313 ,亦通知該系統之其他元件。該前置列表產生器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之中, 其中,其係能夠被使用於特性化歷史的路由及通信流效能 。於本發明之另一個實施例中,一個前置頭列表產生器係 不包含於第6圖之該被動流分析器之中。 該被動流分析器6 3 0係使用該通信6 0 2之一個拷 貝’透過如示於第2圖之一個被動網路接點或者架設之開 關埠以監視用於通信之該網路效能。該被動流分析器6 3 0亦能夠監視及特性化使用者資料簡協定通信樣式,以用 於異常的行爲,諸如非週期性的流,或者類似狀況。該被 動流分析器6 3 0係能夠使用許多神經網路技術以學習及 瞭解想要之應用的正常的使用者資料簡協定行爲,且指示 200300313 何時該行爲已經改變,其係可能指示能夠被眾所周知之主 動探測技術所驗證或者解釋之服務水準違反。 此外,該被動流分析器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係爲一建構成接收 進入該網路及由該網路離開之通信(例如網際網路協定封 包通信)之一個被動接收器。通信之捕捉係被使用於便利 通信之分析,且用於決定是否一個目前的通信路由係符合 最小的服務水準或者政策需求。該封包捕捉引擎6 5 0係 設計成由一個通信流中移除一或數個或全部的封包,包含 離開該網路及進入該網路之封包。該封包捕捉引擎6 5 0 係操作成由舉例而言該核心之網路驅動器移除某些封包至 使用者之空間,藉由寫入至客戶網路驅動器以捕捉一個封 包之一部分。使用直接記憶體存取,該部分的封包係能夠 被直接拷貝至使用者之空間而不必使用該電腦之中央處理 單元。如此之封包典型地係於被捕捉前根據一或多個濾波 41 200300313 器而被移除。如此之濾波器及該些濾波器之使用係爲熟悉 本項技藝人士所眾所周知,且能夠被設計成舉例而言移除 所有形式之傳輸控制協定通信,一個特定的位址範圍或者 複數個範圍,或者來源或目的地位址、協定、封包大小或 者資料匹配等等之任何組合。數個常見的圖書庫係存在以 實施此功能,該最常見的係爲“圖書庫封包捕捉”。該圖 書庫封包捕捉係爲一個與系統無關之用於捕捉寫於 Lawrence Berkeley國立圖書館中之封包的介面。Berkeley封 包濾除器係爲如此之捕捉程式的另一個範例。 該分析器6 5 1係連接成接收被捕捉之原始封包,且 操作成去除該些封包之結構,且接收由在該通信流中之每 一個而來之關於該封包之特定的資訊。示範性之分析器6 51係由該網際網路協定及傳輸控制協定標頭取出資訊。 如此之由該網際網路協定標頭取出之資訊係包含來源及目 的地網際網路協定位址,編碼於該服務形式位元中之DSCP 資訊,及其類似物。DSCP係攜帶關於網際網路協定封包服 務形式條件之資訊。每一個DSCP係定義一個通信等級之 每一個跳躍之行爲。DiffServ係具有個碼點,使得其係能夠 定義6 4個不同形式之通信分類。傳輸控制協定資訊係包 括來源及目的地埠號碼,流水號,確認號碼,該傳輸控制 協定旗標(同步,確認,結束等等),該視窗大小,及其 類似物。 由該傳輸控制協定標頭分析而來之傳輸控制協定元件 係特別有用於決定是否一個政策係根據效能而被實施。然 42 200300313 而,一個增加的通信量係不根據傳輸控制協定且替代的是 使用使用者資料簡協定。使用者資料簡協定係不包含根據 傳統方法而決定服務水準之必要的資訊。 爲了決定對於這些目的地之服務水準,本發明可以採 用一個至相同前置頭之並行的傳輸控制協定通信之一個統 計上的相關量,或者對於該相同的目的地之一系列的主動 探測,或者具有對於該封包分析更深入之分析器且瞭解於 該應用層(例如第7層)之通信。有一些於使用者資料簡 協定上執行之協定係具有不同於該網路上之大部分其他的 資料通信之特定的條件。這些協定係大致上被分類爲“即 時協疋,且包含類似訊息流媒體及透過網際網路協定之 語音(H.323 )之事務。於某一水準之下之封包損失及延遲 係爲對於即時協定之第二考量。 然而,最重要的是減少於封包間到達之變化的次數( 亦即網路抖動)。諸如H.323之許多即時協定係以眾所周 知之即時傳輸控制協定(Real-Time Transport Control Protocol,RTCP)報告於支援之通道通訊中觀察到的抖動, 該即時傳輸控制協定係用於透過網際網路協定多重發送分 配具有回饋之時間相關的媒體資料。假如第3圖之該被動 流分析器6 3 0係爲“應用感知的” ’則其係能夠捕捉及 觀察該即時傳輸控制協定之內容,且當進行中之網路路徑 係不符合最小抖動條件時係可以感知。此係能夠以3 0 % 封包損失時相同的方式觸發一個服務水準協議。 相關器6 5 2係操作成解譯及群組化由該些封包而來 43 200300313 之封包元件(例如傳輸控制協定及網際網路協定),以決 定該流之目前的服務水準,且然後匹配來源及目的地網際 網路協定位址及埠號碼,其係類似於防火牆之監視的程序 。該相關器6 5 2係藉由於一個傳輸控制協定交易期間測 量數個通信特性而決定該目前之服務水準。舉例而言,該 相關器6 5 2係決定於一個網路上所引起之來回程時間, 且因此,其係作爲用於該網路通信之延遲的一個測量。 第7圖係顯示置放於接近一個來源(例如具有一個來 源位址之客戶)之第6圖之該被動流分析器6 3 0之該相 關器6 5 2係如何能夠決定一個傳輸控制協定通信流之該 網路延遲及伺服器回應時間。第8圖係顯示置放於接近一 個目的地源(例如具有一個目的地位址之伺服器)之第6 圖之該被動流分析器6 3 0之該相關器6 5 2係如何能夠 決定一個傳輸控制協定通信流之該網路延遲及伺服器回應 時間。 第6圖之該相關器6 5 2係藉由舉例而言估計於第7 圖之一個傳輸控制協定同步封包及其對應之傳輸控制協定 同步確認封包之間之時間差而決定網路延遲。傳輸控制協 定同步封包及其對應之傳輸控制協定同步確認封包之間之 時間差7 9 1係爲一個排除該伺服器回應同步之小量時間 之來回時間之大約估計。該同步確認封包係於大部分作業 系統之核心中處理,且一般而言係假設爲接近零。對於每 一個由該來源起始而來之新的傳輸控制協定流而言,該相 關器6 5 2係能夠網路延遲之一個時間瞬間値。 44 200300313 封包損失係藉由維持所有產生之再傳輸封包之狀態而 由該相關器6 5 2以百分比之方式表示。由該値,該相關 器6 5 2係由傳送之路段之總數而計算百分比之封包損失 〇 該相關器6 5 2亦藉由估計舉例而言該超文字傳輸協 定GET訊息7 9 5及該接收到之第一個資料路段之間之時 間差且然後藉由減去該來回程時間之先前値而決定第7圖 之SRT7 9 2。此係假設該來回程時間之該先前値係從該 傳輸控制協定握手訊號產生起尙未改變超過一個可操作之 範圍。示爲7 9 4之該測量係指示被測量出之路徑上的擁 塞係隨著SRT7 9 2之增加而增加。爲了示範之目的,係 假設於該起始之超文字傳輸協定GET中之該資料段係傳送 回去。於第7圖中,該被動流分析器6 3 0係被配置於接 近請求由諸如網際網路之網際網路協定資料網路而來之內 容之客戶(亦即,由於地理上不同的位置之最小或者可忽 略之延遲)。 該相關器6 5 2亦藉由估計舉例而.言該超文字傳輸協 定GET訊息8 9 3及該第一個資料路段8 9 4之間之時間 差而決定第8圖之SRT8 9 2。於第8圖中,第6圖中之 該被動流分析器6 3 0係被配置成於該伺服器端,如同大 部分的內容傳送設置將發生。 參照回第8圖,由該相關器6 5 2所決定之該SRT 8 9 2係根據沿著該通信通過之路徑之位置而定。假如第6 圖之該被動流分析器6 3 0係於該客戶端,則第7圖之伺 45 200300313 服器回應時間7 9 2能夠被估計爲該超文字傳輸協定GET 請求訊息及該返回之第一個資料路段之間之時間差減去於 示於第7圖中之該GET請求之前觀察到之來回時間。假如 第6圖之該被動流分析器6 3 0係更靠近該伺服器端時, 該估計基本上係爲該GET請求及示於第8圖中之該回應之 間之時間差。擁塞估計亦可以藉由使用該傳輸控制協定擁 塞視窗(“cwnd”)及藉由辨識被該伺服器緊接著送回之 段之間之時間差而實施,其中,該傳輸控制協定擁塞視窗 係控制一個傳輸控制協定流於該網路中任何時間可以具有 之封包數量。該相關器6 5 2係連接成提供上述決定的示 範性流特性至集合器6 5 3。 再參照第6圖,集合器6 5 3主要係操作成集合進入 特定目的地之每一集合之所有流及進入一個群組之所有流 。集合器6 5 3係使用由相關器6 5 2接收而來之個別流 之每一個的服務水準統計,以產生用於進入至諸如網際網 路之該資料網路中之相同目的地之每一個群組流之服務水 準統計之集合。集合器6 5 3亦係連接至通信貯存器6 2 1,以儲存如此之被集合的(亦即由位址前置頭所群組化 之)通信流特性。通信流特性(或者通信輪廓)然後係被 使用於未來的統計操作及流預測。於一個特定實施例中, 該貯存器6 2 1係與第2圖之貯存器2 2 1相同或者爲均 等物。 該目的地之粗糙度係與能夠於該路由表上實施之改變 的粗糙度相同。亦即,第2圖之流控制系統係能夠設定具 46 200300313 有任何長度(亦即0/至/3 2 )之前置頭之路由,雖然 一般的實務係不如此實施。因此,該集合器6 5 3將於/ 3 2之水準(亦即等級C之網路)開始集合流統計,且持 續進行王/8等級(亦即等級A之網路)成爲一個資料結 構,諸如階級或者基數樹(patricia or radix tree ),父子關 係資料結構或者類似結構。以此方式,係能夠非常快速地 尋找確保符合該服務水準實施所需之該路由改變之粗糙度 〇 由集合器6 5 3所採用之集合技術係被使用於維持第 2圖之該系統2 0 0於可接受之效能服務水準,諸如由一 或多個流政策條件所決定之可接受服務水準。因爲網路效 能已經被顯示不遵循傳統之統計分佈,諸如高斯或者波以 森(Poisson)分佈,對於通過所有流之服務水準的平均計 算係於一個預先決定之時間期間之一個可靠的典型的效能 行爲之測量。然而,假如該服務水準協議或者政策係敘述 該平均的服務水準係必須被維持,則遠離中心事件之不良 效能將導致該平均成爲歪斜的,因此,需要校正之行動以 恢復被提供之最小服務水準。一個敘述正被提供跨越所有 流之典型的服務水準之有意義的方式係爲使用中間値,而 非該平均値。熟悉本項技藝人士將可以瞭解,該兩種技術 係可能的,且將根據必須被維持之該服務水準之定義而決 定。 第9圖係顯示根據本發明之另一個實施例之該被動流 分析器9 3 0如何能夠跨越超過一個以上之網路介面而捕 47 200300313 捉封包及重建流,每一個介面係由一個網路介面卡(NIC) 所代表。於實際上,許多開關結構係以藉由接至該資料流 之單一點或者複製一個單一埠之方式被建構。該開關係不 保證該被動流分析器9 3 0將看見於兩個方向之所有通信 。雙向通信對於被動分析之可選擇的流重建係需要的。於 第9圖中,所示之該開關結構係必須被動地於分接點9 2 1處分接至4個位置(如圖所示),且於4個不同的網路 介面卡9 2 2處連接至該被動流分析器9 3 1 d於分接點 9 2 1處之被動分接頭係能夠爲鏡射之開關埠或者光學/ 電氣的被動分接頭。被動流分析器9 3 0係具有一個單一 或者組合之集合的流重建元件9 5 3,其係能夠收集由複 數個網路介面而來之被捕捉之資料,以實施流重建。 第1 0圖係顯示本發明之又另一個實施例,其中,第 6圖之被動流分析器6 3 0係以自然方式分佈。第1 0圖 係顯示透過數個本地通信來源點而雙向傳送之通信流10 2 0。分配之本地被動流代理1 0 2 5係於分接點1 0 2 4處被動地被分接至通信流1 0 2 0。該被動流代理1 0 2 5係被分配,使得每一個代理係監視及傳輸個別的流特 性。該通信來源係舉例而言分佈於一個第3層之內部結構 ,且係被一或多路由器1 0 2 6所分開。該配置係防止第 9圖之該被動流分析器9 3 0收集跨越如第9圖中之相同 第2層開關結構之資訊。該被動流代理1 〇 2 5之每一個 係實施本地流重建,且然後,透過該網路而輸出流資料記 錄1 0 2 7至一個中央被動流分析器1 〇 2 8,實施跨越 48 200300313 所有分佈之被動流代理1 〇 2 5之流集合及服務水準分析 〇 第1 1圖係顯示說明以分離方式分佈的複數個被動流 代理1 1 2 5及一個單一中央被動流分析器1 1 2 8之更 詳細的功能方塊圖。每一個被動流代理1 1 2 5係包含封 包捕捉1 1 50,分析器1 151及相關器1 152,其 係作用於該些本地通信流之每一個。該相關器1 1 5 2係 具有實質的資料減少之流記錄1 1 2 9而至中央被動流分 析器1 1 2 8。實質的資料減少係被使用於減少轉送至該 中央被動流分析器之資訊量,且能夠藉由使用眾所周知之 編碼技術而被實施。該中央被動流分析器1 1 2 8係接收 由每一個被動流代理1 1 2 5而來之流輸出記錄1 1 2 9 ,且該中央集合器1 1 5 3係對於該被輸出之流之每一個 實施前置集合。因此,該中央集合之流資訊係能夠被使用 於決定是否一個特定的政策違反係產生。 第1 2圖係顯示第2圖之使用收集器2 1 4之一個詳 細的方塊圖。該使用收集器1 2 1 5係操作成收集由網路 提供者而來之使用資訊1 2 7 3,諸如位元組計數(亦即 傳送至網路服務提供者及由網路提供者接收而來之通信量 )。該使用收集器1215係使用該資訊以計算與該網路 服務提供者相關之資料路徑的網路服務提供者利用率,負 載等等。 該使用收集器1215亦操作成重建網路服務提供者 之帳務記錄。該使用收集器1 2 1 5係接收關於每一個網 49 200300313 路服務提供者連結之網路服務提供者之結構資訊1 2 7 l 。該網路服務提供者結構資訊1 2 7 1係詳細記錄於許多 路由器1 2 7 2 (例如出站路由器)上之介面’網路服務 提供者之下一個跳躍網際網路協定位址追蹤路由探測(以 追蹤探測驗證目前使用之網路服務提供者)’帳務起始及 結束日期,用於計算利用率及每百萬位元每秒之價格的電 路頻寬,最小實施頻寬,可叢集之速率,網路服務提供者 取樣間隔,提供者帳務演算法,一個利用警不臨限及類似 資訊。 於操作時,示範性之原始收集器1 2 7 4係傳送一個 詢問1 2 9 0 (例如SNMP)以於一特定取樣期間收集由在 每一個網路服務提供者電路上之路由器1 2 7 2而來之介 面原始位元組計數。網路服務提供者電路係包含路徑’虛 擬或者真實的管道,T1,及類似路徑。原始收集器1 2 7 4 係置放該原始位元組計數1 2 8 0於持續性的儲存器之中 ,以用於後續的報告及分析。原始收集器1 2 7 4係傳送 該原始資訊至兩個其他的元件:利用率監視器1 2 7 5及 帳務重建器1 2 7 6。 該利用率監視器1 2 7 5係使用該原始位元組計數及 網路服務提供者結構資訊1 2 7 1而計算每一個網路服務 提供者之入站及出站電路利用率。於一個範例中,該網路 服務提供者結構資訊1 2 7 1係包含該網路服務提供者之 電路的頻寬。利用率資訊2 6 4係包含代表與短期預測模 型(例如ARIMA,指數平滑模型等等)一起使用之利用率 50 200300313 趨勢的資料,使得該利用率監視器1 2 7 5係能夠決定對 於一個給定的服務提供者而言,是否頻寬係爲趨勢向上或 者向下(亦即大小增加或者減少)。 該帳務重建器1 2 7 6係使用由網路服務提供者結構 資料1 2 7 1而來之該帳務資訊,以重建該目前的帳務期 間之該目前網路服務提供者的帳務速率。該帳務資訊係包 括解釋特定網路服務提供者使用以計算諸如一個付款速率 之成本的方法之資訊。如此之計算使用一個網路提供者之 帳務之方法係爲熟悉本項技藝人士所眾所周知。帳務重建 器1 2 7 6係塵用類似的網路服務提供者帳務方法至由該 原始收集器1 2 7 4而來之該原始位元組計數,以產生該 帳務及相關之帳務費率等等。被映射至元的數量之產生的 帳單典型地係爲估計値,因爲該網路服務提供者及使用收 集器1 2 1 5之間之取樣時間將不準確地匹配。該帳務重 建器1 2 7 6將傳送帳務資訊1 2 6 1至該控制器1 2 0 2,以用於尖峰避免及最小之成本路由。尖峰避免係被定 義爲避免使用於一個較高之帳務費率的路徑或者路段之方 法,如示於第1 5圖。最小成本路由係指使用或者預設通 信至該最便宜之網路服務提供者之方法。 此外,該資訊係能夠被傳送至控制器1 2 0 2,以用 於在效能係不重要之情況下之選擇最便宜之最少成本固定 方式。亦即,該控制器1 2 0 2係使用由帳務訊息1 2 6 1而來之資料,包括帳務費率,以部分根據一個路由之自 由頻寬(亦即,該路由係不導致額外的使用成本)而決定 51 200300313 一個符合該流政策之替代的路由。 再次參照第2圖,結構元件2 1 1係連接至該控制器 2 0 5及資料指引器2 2 0。該控制器2 0 5係提供到達 至該結構元件2 1 1之一個目的地前置頭之最佳路由。該 結構元件2 1 1係操作成改變用於需要校正行爲之目的地 之預設路由行爲(亦即目前路徑)。該結構元件2 1 1係 藉由舉例而言傳送一個修改過之位址的路由表至該資料指 引器2 2 0而改變該路由之行爲。 一旦該資料指引器2 2 0係接收該資訊,該資料指引 器2 2 0係通知該控制器2 0 5路由改變已經被實施。其 後,該控制器2 0 5係通訊訊號2 3 0回該被動校準器2 0 2,以淸除其狀態,且重新開始監視該目的地。該目的 地係被監視,以確保該更新過的路由表或者路徑之路由係 符合最小的服務水準(例如,不違反服務水準協議,或者 不具有該相關流政策所定義之同意的效能矩陣之不可接受 之變異)。 於一個方面,該結構元件2 1 1係位於一個路由伺服 器之內。於另一個方面,該結構元件2 1 1係位於一個路 由器之內,且係建構成修改一個路由圖或者表。於又一個 方面,該路由資訊係根據是否該路由資訊係關於入站或者 出站通信而儲存於該結構元件2 1 1之內。 第1 3圖係顯示本發明之又一個實施例之範例,其中 ,第2圖之該結構元件2 1 1係位於一個諸如路由伺服器 1 3 9 1之網路元件中。第1 3圖之該結構元件1 3 8 4 52 200300313 係以類似於此所敘述之其他結構元件之變形之方式操作。 亦即,該結構元件1 3 8 4係調整資料通信之目前或者預 設之路由,且因此,調整舉例而言於一個本地配置(例如 出現之點)中之預設路由行爲。路由伺服器1 3 9 1係接 收由感興趣之資料網路而來之路由表之一個全集合或者子 集合。 於一個實施例中,藉由由該本地轉接網路服務提供者 之一個全集合或者子集合而來至邊界閘道器協定4引擎1 3 8 2之一或多個預設之邊界閘道器協定4饋入1 3 9 2 ,該路由表係被該路由伺服器1 3 9 1所接收。該邊界閘 道器協定4引擎1 3 8 2係整合或者合倂所有路由至一個 單一邊界聞道器協定4路由表1 3 8 3之最佳可取得路由 。於另一個實施例中,路由伺服器1 3 9 1係維持一個具 有所有內部邊界閘道器協定可取得之路由器的i邊界閘道 器協定期間,而非維持如示於第1 3圖之該邊界閘道器協 定4對話。因爲一個單一 i邊界閘道器協定對話,係不需 要於實施路由改變之前建構具有該網路服務提供者之所有 邊界閘道器協定對話。 該建構元件1 3 8 4係被設計成接收由邊界閘道器協 定4引擎1 3 8 2而來之一或多個邊界閘道器協定4路由 表1 3 8 3,且係適合於接收由控制器1 3 0 5之該控制 程序造成之一或多個控制訊號及資料。於操作時,該結構 元件1 3 8 4係由該控制器1 3 0 5接收於該預設路由表 1 3 8 8中實施之該必須之路由改變。然後,該結構元件 53 200300313 1 3 8 4係結合一或多個改變於被修改之路由表1 3 8 9 〇 因此,該結構元件1 3 8 4係操作成修改該邊界閘道 器協定4路由表1 3 8 3,且產生一或多個修改過之邊界 閘道器協定4路由表1 3 8 8。該修改過之邊界閘道器協 定4路由表1 3 8 8係包含修改過之路由1 3 8 9,更特 定的路由之通知等等。然後,新的修改過之邊界閘道器協 定4路由表1 3 8 8係被饋入至於該網路內之所有邊界閘 道器協定客戶,然後,其係被使用於導引通信至該目的地 〇 對於一個給定之位來源位址而言,至一個網路之該入 站點典型地係由對於下游網路服務提供者及一個網路服務 提供者之政策(由如此之網路服務提供者所設定之一組規 則)實施之路由通知而決定。最後,管理該目的地之該網 路服務提供者(例如網際網路服務提供者)將接收如此之 通知。 第2圖之該控制器2 0 5係設計成接收由該校準器元 件所監視之諸如延遲、損失、抖動等等之效能特性及接收 由該使用收集器所監視之諸如頻寬、成本等等之使用特性 。該控制器2 0 5係連接至該政策貯存器2 1 8,以接收 流政策,其典型地係包含服務水準協議效能矩陣。該些矩 陣或者需要係與該被監視之效能及使用特性作比較。假如 一個特定的政策係違反(亦即一或多個效能矩陣係位於一 或多個期望之範圍或者値之外),則該控制器205係決 54 200300313 定符合該相關流政策之一或多個替代的資料路徑之一個子 集合。於另一個實施例中,該控制器2 0 5係選擇一個最 佳或者最佳化之路徑作爲最符合由該政策所定義之該效能 條件及使用條件之替代資料路徑。 該主動校準器及該被動校準器係提供效能特性。關於 該主動校準器,該控制器2 0 5係藉由請求主動探測而起 始主動校準。該主動校準器係置放一或多個校準探測於該 探測路徑2 0 7上而傳送出至該一或多個資料網路。於探 測路徑2 0 7上之該返回的探測係提供資訊回該控制器2 0 5,其係包含可使用之路徑之辨識及關於該可使用之路 徑之效能資訊。 關於該被動校準器2 0 5,該控制器2 0 5係被設計 成接收由作爲在其接取之通信流上之監視器之被動校準器 2 3 0而來之即時或者接近即時之網路效能特性(亦即, 損失’延遲,抖動等等)。其後,該控制器205係提供 一個路由改變或者更新至該結構元件2 1 1,當一個對於 一個特定的目的地之更新過的路由改變係被實施時,其亦 通訊一個訊號2 3 0至該被動校準器2 0 3。該訊號2 3 0係起始該被動校準器2 0 3之狀態的淸除,使得該校準 器重新開始監視該特定的目的地,以確保該路由表或者路 徑之被更新過之路由係符合流政策。第3圖之淸除狀態訊 號3 3 8係顯示由該控制器而來之訊號係起始該被動流分 析器之重置。 於一個範例中,該控制器2 0 5係操作成於一個間隔 55 200300313 期間對於目的地前置頭之每一個群組中斷該集合之流資料 。且假如一個政策違反係產生,則該控制器2 0 5係決定 哪一個替代之路由或者路徑係最適合於與該目前之通信流 相關之該前置頭或者通信形式。然後,該控制器2 0 5係 傳送該必須之路由改變至該結構元件2 1 1。亦即,該控 制器2 0 5係解決關於不順應根據該相關流政策之網路效 能特性之政策違反。該程序係重複直到該政策違反係被解 決爲止。 於另一個範例中,第1 2圖之該控制器1 2 0 2係被 設計成接收代表由該使用收集器1215而來之諸如使用 率、付款速率等等之網路使用特性之即時或者接近即時之 資料。該控制器1 2 0 2係使用該資訊以解決關於不順應 根據該相關流政策之網路效能特性之政策違反。亦即,於 一個路由改或者於一個路由改變之期間,該控制器1 2 0 2係不僅使該控制器考量替代路徑之效能,亦考量是否該 些替代路徑不是避免於一個特定的網路服務提供者之路徑 上之尖峰資料通信(亦即,關於日期變換之適當頻寬), 或者係爲觀看該流政策下爲最少成本之路徑。 爲了解決使用形式政策之違反,該控制器2 0 5係被 建構成接收路由表,舉例而言以用於決定哪一個於某些路 徑或者其之路段之目前之資料的通信流或路由對於一個特 定之網路服務提供者路徑或者複數個路徑係擁塞的(亦即 有負載的)。該控制器1202亦係被設計成接收代表用 於每一個替代之網路服務提供者路徑之流量之資料,以決 56 200300313 定至一個給定目的地前置頭或者由一個給定之目的地前置 頭而來之一組通信流之流的哪一個子集合係符合根據通信 流量之該相關之流政策。 因此,本發明之一個範例之控制器係被設計成獲得關 於該資料網路之效能及使用之資訊,且係實施校正之行爲 ,以有效地及有效率地於符合至少相關之政策條件之路徑 或者路徑之路段上選擇資料的路徑。 下列之討論係關於解決政策違反及實施該政策條件或 者矩陣之流政策及諸如政策之應用。參照回第2圖,該控 制器2 0 5係連接至政策貯存器2 1 8,以用於接收一或 多個政策。如上文所述,一個政策係爲一組規則或者臨限 値(亦即最大,最小及可接受之操作的範圍),該控制器 2 0 5係使用這些規則以與一個特定通信流之該真實的流 特性作比較。舉例而言,一個政策係爲由該控制器2 0 5 所採用之使用者定義之機構,以偵測將被監視且假如有需 要的話於其上行動之等定的通信流。作爲一個範例,一個 政策亦係能夠指明該特定的政策係應如何被實施(亦即, 包含一個階層結構,以解決由最高優先權至最低優先權之 違反)。雖然一個示範性之政策係包含關於偵測,效能, 成本,及優先權之條件或者規則,熟悉本項技藝人士將可 以瞭解,較少或者額外之參收係能夠根據本發明而被測量 或者實施。 偵測係被定義爲藉由該偵測流控制系統2 0 0係決定 哪一個通信應該作用以回應一個政策違反之技術或者機制 57 200300313 。該通信流係能夠藉由名稱,藉由來源或者目的地位址, 藉由來源或者目的地埠或者藉由任何其他已知之辨識技術 而被辨識。舉例而言,一個政策係能夠僅結合至前置頭。 亦即,該系統2 0 0係將監視至一個特定的前置頭或者由 一個特定的前置頭而來之該通信流,且假如有需要的話, 將根據其條件而實施該相關之流政策。進一步關於偵測, 一個定義用於更多的特定之前置頭之政策係能夠比更多一 般前置頭具有優先權。舉例而言,假如一個/ 1 6係包含 該特定之/2 4,則該被定義用於一個/2 4之政策將對 於該/1 6具有優先權。 效能係爲敘述應用至一個給定之前置頭或者前置頭列 表之一或多個目標效能水準(亦即網路/品質水準政策參 數)或者臨限之一個政策條件。雖然可以定義超過一個以 上之效能爲基礎之政策條件,於此範例中,僅有一個單一 政策係被應用至一個給定之前置頭或者前置頭列表。示範 性之效能條件係包含損失,延遲及抖動。 此外,如此之條件係能夠被建構成爲舉例而言一個絕 對的、固定的値或者一個指數加權移動平均(Exponentially Weighted Moving Average, EWMA)。絕對値係建立一個數 値之臨限,諸如表示爲一個百分比或者於一個可建構之時 間窗上之時間單位。該指數加權移動平均方法係根據置放 一指數加權於該最近之取樣之歷史取樣而建立一個移動臨 限,因而當其係關聯於歷史之情況時,確認能夠考量目前 網路狀態之一個臨限。 58 200300313 成本係根據優先權及是否該政策係可預測的或者可反 應的而以政策定義作表示。成本係藉由第2圖之該使用收 集器214至帳務重建及頻寬利用之調和以集合的及非常 粗糙的水準(例如藉由/2 4之目的地網路)而被特性化 。成本預測條件係被使用於主動地轉向由一個網路服務提 供者至另一個網路服務提供者之通信,以避免建立一個可 以觸發一個新的或者較高費率之尖峰(亦即尖峰避免)。 成本反應條件係被使用於當一個最小實施率或者目前費率 係超過時,作回應而轉向由一個網路服務提供者至另一個 網路服務提供者之通信。 典型地,成本預測及反應條件係造成一個二進位之決 定(亦即,一個電路或者路徑,舉例而言,係爲符合或者 違反一個流政策)。於預測成本之情況下,該轉接電路係 爲符合或者接著違反一個流政策。不論如何,一個行動係 必須被採取以解決該情況,除非效能係比成本重要(亦即 ,效能條件係於實施一個以成本爲基礎之改變之前被解決 )0 優先權係爲一個敘述一或多個目標使用或者利用特性 或水準之政策條件。優先權係包含網路服務提供者之效能 及最大利用率(亦即負載)之條件。該網路服務提供者之 優先權條件舉例而言係爲當一個行動必須被實施且兩個或 者更多個轉接可以被選擇以實施該政策時被使用之網路服 務提供者之任意等級。假如其係明顯地由該系統之操作者 所建構,則該流控制系統係能夠自動地設定該網路服務提 59 200300313 供者或者路徑之優先權條件。然後,該條件係於一個於死 結之情況下被應用作爲一個解結者,使得具有最高優先權 之該網路服務提供者係臝得該結,且因而接收該被轉向之 通信流。 該最大使用條件能夠被使用作爲亦可以被使用一個不 超過真實的操作臨限或者一個解結者。最大使用係被建構 成舉例而言於該結構之該轉接網路服務提供者部分且採用 一個百分比引數(亦即根據可使用頻寬),或者能夠被設 定根據百萬位元/秒之一個絕對値(亦即不超過可使用之 頻寬)。 下文係爲與一個控制器一起使用之政策之範例,以決 定是否該特定的政策係符合,且假如該特定的政策係不符 合,則決定該行動之行程。 舉例而言,考慮使用於一個特定的通信流之下列政策 政策條件 優先權 値或者臨限値 損失 10 2 % 延遲 2 0 指數加權移動平均 成本 3 0 預測的 最大使用 4 0 提供者之優先權 5 0 假設與前置頭2 4-0-34 • 0/2 4相結合之通 信流係目前攜帶通信於2 4 0千位元/秒’且係透過3個 網路服務提供者之第一網路服務提供者而到達。第一網路 200300313 服務提供者係目前攜帶2百萬位元/秒,且係具有一個5 百萬位元/秒之最小條件。 使用該政策之該流控制系統之該控制器係能夠監視該 替代之通信路由或者路徑,且能夠決定其關於該些網路服 務提供者之下列流特性: 條件 損失 延遲 成本 最大使用 測量値 用於第一網路服用於第一網路服用於第一網路服 務提供者之値 5%(違反) 140ms 符合 5百萬位元/秒 2百萬位元/秒 (符合) 務提供者之値 無法使用 無法使用 違反 5百萬位元/秒 4百萬位元/秒 (符合) 務提供者之値 無法使用 無法使用 違反 5百萬位元/秒 5.5百萬位元/秒 (違反) 延遲 100ms 100ms 100ms 於此情況下,該第一網路服務提供者係於一個違反之 狀態,因爲5 %之損失係超過該最大損失條件之2 %且因 爲損失係被指定1 0之優先權’而5 0係爲最低的優先權 。校正行動係必須被實施。該政策將被實施而無延遲或者 損失資訊(亦即因爲具有舉例而言無法透視其他鏈路之效 能)。於此情況下,該控制器可以使用該主動校準器而起 始該主動探測,以決定是否其他網路提供者(包含第二網 路服務提供者及第三網路服務提供者)係符合。或者,該 控制器可以根據於下該修件係爲已知(例如於此情況下之 成本)之該政策中之下一個參數而決定行動之進行。因爲 200300313 第二網路服務提供者係符合且第三網路服務提供者係不符 合,該第二網路服務提供者係被該控制器所選擇。假如該 第二網路服務提供者及該第三網路服務提供者係皆符合, 則該控制器將進行至下一個具有等級之條件,其係爲 MaxUtil。假如此情況發生,則該第二網路服務提供者將仍 然被選擇出。 總結言之,諸如上述範例政策之該政策係被輸入至第 2圖之該控制器2 0 5,且舉例而言係與一個特定之前置 頭相結合。該一般的偵測方法(絕對的或者基準線的/歷 史的)係能夠被指定作爲每一個前置頭,因而指定用於某 些已經知道之目的地之硬的或者絕對臨限値,同時使用用 於其他目的地之一個基準線的方法。該政策亦定義被使用 結合於違反被認爲解決之前必須符合之效能矩陣之該解決 方法(例如程序)。諸如成本及利用率臨限値之其他參數 係能夠對於每一個前置頭設定。此給予該控制器一個該前 置頭應該不因成本或者利用率之原因而被移動且前置頭應 該於任何情況下被移動之指示。 爲了使該控制器2 0 5處理對等之連接,該控制器2 0 5係與該資料導引器2 2 0作通訊,以取得用於將被改 變之該特定的前置頭之可到達之資訊(例如路由表)。於 轉接電路之情況下,該控制器2 0 5係使用該主動校準器 2 0 7,以藉由舉例而言傳送主動探測至該目的地且然後 等待該回應而決定對於一個給定之目的地之可到達之資訊 (例如路由表)。雖然對等連接通常係無法達成的,然而 62 200300313 對於主動探測係可能成功的,這是因爲某些網路服務提供 者可能無法有效地濾除於一個對等點之通信,反而係根據 一個信用類似之系統以確保僅有對於該些被通知之目的地 之通信被接收。 因此,於對等之情況下,該控制器2 0 5係必須於移 動通信至一個對等之連接之前觀看用於該目的地之一個通 知之該路由表。參照第1 5圖,i邊界閘道器協定饋入1 5 9 9係包含被通知之被動路由以及主動路由。否則,第2 圖之該資料指引器2 2 0係能夠根據第1 3圖之該路由伺 服器1 5 9 1而被建構,其中,e邊界閘道器協定係可以由 所有網路服務提供者處取得。 第1 4圖係顯示該“空閒的”頻寬之可使用率係如何 對於一個給定的網路服務提供者作表示及如何由第2圖之 該使用收集器2 1 4作測量之表示。於一個給定之時間由t 0至tl,目前之使用率1602及該目前之費率1600 係被決定。如圖所示,時間點t 0 · 5 1 6 0 3係代表一 個過取樣時間點。於這兩個値之間之差1 6 0 1係代表不 造成任何額外的成本之下可使用之頻寬量。當一個以效能 爲基礎之政策被目前或者預設之網路服務提供者違反時, 每一個網路服務提供者之空閒的頻寬係能夠被使用於選擇 一個符合之網路服務提供者的子集合。此外,該資訊係被 使用於塵用成本或者負載爲基礎之政策至每一個網路服務 提供者。 第1 5圖係顯示該使用收集器2 1 4係如何計算如示 63 200300313 於第1 4圖之該時間連續之費率。大部分的網路服務提供 者係以一個最小條件水準1 7 1 0開始。假如該目前之使 用起始於該條件之下’則該空閒的頻寬1 7 1 1係被顯示 。取樣係於該提供者之取樣速率之兩倍速率之下被收集, 以確保計算一個準確之速率(亦即,此係爲一個保守的估 計,且假如由該提供者之速率偏離該速率,則其將爲較高 ,且代表該費率之過度估計)。於該時間軸之小的記號係 代表由該系統所收集之取樣(亦即過取樣)。當收集到足 夠的取樣時,一般而言係表示爲所有速率取樣之第9 5個 百分比之該費率係可以超過該最小條件,如由第1 5圖中 之該費率之連續的較高階層1 7 1 3所表示。當該通信係 下降回該費率之下時,一個新的費率1 7 1 4係被設定, 且該系統係再次具有可使用之空閒頻寬1 7 1 8。 第1 6圖係顯不一個示範性的系統2 0 0係如何偵測 一個以成本爲基礎之政策違反。假如該成本政策條件係被 定義成爲一個絕對臨限値,如示爲1 8 1 3。該臨限値能 夠爲一個絕對速率或者一組將被花費之金錢數量(其係被 該系統轉換成爲一個平均費率)。於一取樣接著取樣之基 礎之下,該真實的通信速率1 8 1 4應該使得一個新的費 率1813以上係不會被建立。使用短的範圍預測技術, 用於下一個少的取樣1 8 1 5之通信速率係能夠被預測, 且假如該預測係預測一個新的費率1 8 1 6將被建立,則 第2圖之該控制器2 0 5係能夠藉由移開該網路服務提供 者之通信而作出反應。 64 200300313 雖然本發明已經根據特定實施例而予以敘述,熟悉本 項技藝人士將可以瞭解,這些實施例僅係爲例示性的而非 限制性的。舉例而言,雖然上述說明係敘述該網路通信資 料爲網際網路通信,應瞭解的是,本發明係關於一般的網 路’且不需要被限制爲網際網路之資料。本發明之範圍係 僅由後附之申請專利範圍所決定。 於上述之說明中,本發明係參照本發明之特定實施例 而予以敘述,然而,熟悉本項技藝人士將瞭解,本發明係 不受限於該些實施例。本發明之許多特色及觀點可以個別 地被使用或者結合地被使用。此外,雖然本發明已經敘述 於一個特定的環境中之實施的內容且用於特定的應用,其 之使用性係不受限於此,且於不偏離本發明之較廣義的精 神及範疇之下,其係能夠被利用於許多環境及應用中。因 此,本說明書及圖式係被認爲例示性的而非限制性的。 圖式簡單說明 第1A圖係爲用於呈現一個適合於實施本發明之一個 實施例之使用者介面至一個使用者之示範性的電腦系統; 第1 B圖係顯示於第1 A圖之該電腦系統中之基本子系 統; 第1C圖係爲一個適合於與本發明一起使用之一個示 範性的電腦網路之一個一般化之圖; 第1D圖係顯示使用多重路徑之一個典型的資料網路 第1E圖係顯示根據本發明之一個特定的實施例之一 65 200300313 個簡化的資料網路及流控制系統; 第2圖係爲根據本發明之一個實施例之一個流控制系 統之一個實施例的一個簡化的方塊圖; 第3圖係爲第2圖之一個示範性的被動校準器之一個 功能方塊圖; 第4圖係爲第3圖之一個示範性的內容流分析器之一 個功能方塊圖; 弟5圖係爲根據本發明之一^個實施例之第3圖之一^個 輸出流分析器之一個功能方塊圖; 第6圖係爲根據本發明之一個實施例之第3圖之一個 被動流分析器之一個功能方塊圖; 第7圖係爲決定位於接近一個客戶或者一個來源之一 個示範性的流控制系統之網路效能矩陣之簡化的時序圖; 第8圖係爲決定位於接近一個伺服器或者一個目的地 之一個示範性的流控制系統之網路效能矩陣之簡化的時序 圖; 第9圖係爲根據本發明之另一個實施例之具有分佈之 封包捕捉的示範性的被動校準器之一個網路圖; 第1 0圖係爲根據本發明之又另一個實施例之分佈的 被動流元件之一個網路圖; 第1 1圖係爲根據本發明之又另一個實施例之第1 0 圖之該分佈的被動流元件之一個功能方塊圖; 第1 2圖係爲根據本發明之一個特定實施之一個示範 性的使用收集器之一個詳細方塊圖; 66 200300313 第1 3圖係爲根據本發明之一個實施例的一個使用接 收多重邊界閘道器協定4饋入或者至少一個i邊界閘道器 協定饋入之一個結合之結構兀件之路由伺服器之一個方塊 圖; 第14圖係爲顯示根據本發明之決定能夠被使用且不 必額外成本之可使用頻寬之量的示範性的方法之一個圖形 表示; 第15圖係爲顯示根據本發明之計算可列入程序之速 率之一個示範性的方法之圖形表示; 第1 6圖係爲顯示根據本發明之短範圍預測而計算可 列入程序之速率之一個示範性的方法之圖形表示;及 第1 7圖係爲根據本發明之一個實施例的一個示範性 的位址或者前置列表之表示。 〔元件符號說明〕 1 電腦系統 2 伺服器 3 顯示器 5 顯7Γ:螢幕 7 箱體 9 鍵盤 11 滑鼠 13 按鈕 2 0 方塊 2 2 內部匯流排 67 200300313 2 4 2 6 2 8 3 0 4 0 4 2 4 4 4 6 5 0 8 0 8 2 8 4 9 0 9 1 9 2 9 3 9 4 輸入/輸出控制器 系統記憶體(或者隨機存取記憶體) 中央處理單元 顯示轉換器 串列璋 固定之磁碟機 網路介面轉換器 監視器 鍵盤 網路系統 資料網路 電腦 流控制系統 報告資訊 網路服務提供者 流資訊 來源網路 9 6 9 10 5 17 0 17 1 17 2 開關: 路由器 路由器 控制器 第一路徑 第二路徑 芝加哥 68 200300313 1 7 3 達拉斯 2 0 0 流控制系統 2 0 1 資料流 2 0 2 資料流 2 0 3 被動校準器 2 0 4 資訊 2 0 5 控制器 2 0 6 政策資料 2 0 7 主動探測器 2 0 8 主動校準器 2 〇 9 主動探測請求 2 1 0 路由改變 2 1 1 結構元件 2 1 2 請求 2 1 3 使用資訊 2 1 4 使用收集器 2 1 5 付款資訊 2 1 7 網路服務提供者資料 2 1 8 流政策貯存器 2 2 0 資料指引器 2 2 1 通信貯存器 2 3 0 通訊訊號 3 0 3 被動校準器 3 0 5 控制器200300313 玖, Description of the Invention [Related Applications] This application claims the priority of the U.S. provisional patent application titled "Systems and Methods for Ensuring Network Service Standards and Bandwidth Management with Intelligent Routing", The case was filed on November 2, 2001. Lawyer file number is 0 2 1 0 8 9-0 0 0 2 0 0 US, And the case is hereby incorporated by reference. In addition, Filed on April 10, 2001, under US Patent Application No. 0 9/8 3 3, The US Provisional Patent Application No. 2 1 No. 9 and Lawyer Document No. 021089 — 000100 US entitled "Systems and Methods for Ensuring the Level of Network Services with Intelligent Routing" are incorporated herein by reference.  The technical field to which this invention belongs The present invention relates generally to data routing through a network communication system,  And especially the routing control of data over the network, Such as the Internet Protocol network or the Internet.  [Prior art] A data network such as the Internet is the Internet, It is continuously being used as a transmission method for communication between companies and consumers. Performance bottlenecks have been around for a long time, It restricts the usability of the Internet infrastructure for business-critical applications. These necks are typically created at different locations along many network paths from one source to one destination. The bottleneck of each different location requires a unique solution.  The bottleneck of the "last mile" is that 200300313 has received the most attention in the past few years. And can be defined as the bandwidth connecting end users to that Internet. Solutions such as xDSL and cable internet access have emerged, To greatly improve the performance of the final path. The bottleneck of the "first mile" is the part of the network that is hosted by the web server. Home path access has been improved, For example, By using a more powerful web server, The high-speed communication channel and load balancing technology between the server and the storage are completed.  however, This "intermediate path" is the last bottleneck that needs to be solved in the field of Internet routing. And it is the most difficult to solve such a bottleneck under the traditional method. The "intermediate path" or the core of the Internet is composed of large backbone networks and "peers" where these networks are combined. Because the peer system is structurally complete, So it is easy to congest the data traffic. Generally speaking, There is no incentive to cooperate with backbone network providers. To reduce such congestion. Given that more than 95% of all Internet traffic is through multiple networks operated by the Internet service provider, For example, simply increasing core bandwidth and introducing optical peers will not provide a proper solution to these problems.  Peer-to-peer communication is when two network service providers (NSPs) or two Internet service providers (ISPs) are connected at an unpaid way, And exchange paths between its subsystems. For example, If network service provider 1 communicates peer-to-peer with network service provider 2, Then network service provider 1 will only notify network service provider 1 to the path that network service provider 2 can reach, And vice versa. This is not the same as a transitive connection where all Internet routing is switched. An additional difference is that the transfer connection is generally a 200300313 paid connection and the peer is not paid. that is, Each side pays the cost of the circuit or path to the peer, Without exceeding. Although a hybrid peer-to-peer and switching circuit (that is, a peer-to-peer point) exists, Only a subset of the complete routing table is transmitted, And the traffic sent to a paid peer is received as "no change". Such a response hinders effective routing control.  The path received through the peer is an autonomous system (AS) rather than a border gateway protocol (BGP) routing coordination. It makes those routes subject to the agreement (and the network service provider, Because those connections are free) are highly appreciated. however, When a capacity problem exists at a peer and through that peer, The traffic associated with the border gateway agreement still prefers the problematic peering approach, And therefore, End-to-end performance of all data traffic will suffer.  In terms of structure, The Internet and its peers consist of a series of interconnected Internet service providers. These network service providers are typically tied to an autonomous system to maintain a guaranteed performance or service level. Guaranteed performance is typically specified in a service level agreement (SLA) between a network service provider and a user. The service level agreement obliges the network service provider to maintain a minimum level of network performance on its network. however, This network service provider does not make such guarantees with other network service providers outside its system. that is, There is no such agreement between peers of a linked network service provider. therefore, No party must maintain access to other network service providers or a minimum service level between the peers. The constant is that Data traffic became congested at these 200300313 peers. therefore, The internet path from endpoint to endpoint is generally unmanaged. This makes the Internet unreliable as a data transmission mechanism for mission-critical applications. In addition,  Other factors are increasing congestion, Such as wire cutting, Plan failure (for maintenance and upgrade operations), Equipment error Power failure, Path fluttering and many other phenomena.  in tradition, Several Internet service providers attempt to improve the general unreliability of the Internet by using a "private NAP" between the main Internet service providers. however, This solution is able to maintain a service level agreement outside of or downstream of these network service providers. In addition, The common technical approach used to select an optimal path is susceptible to multiple paths in downstream network service providers. therefore, This traditional technology is not able to detect or avoid problems immediately or close to it.  In addition, This traditional network technology or routing control technology operates only on outbound traffic (that is, outbound). however, The network's ingress traffic (that is, inbound) is difficult to control. This makes most network technologies and routing control systems inefficient for applications that are essentially bidirectional in nature. This department contains speech, VPN, ASP, And other commercial applications used on the current Internet. Such commercial applications involve time-sensitive financial services, Data streams for online sound and video content, And many other forms of application. These shortcomings prevent the certainty that any form of performance among multiple network service providers will be maintained or optimized or that costs will be minimized, such as the end-to-end data traffic of the Internet.  200300313 In some general methods, It may determine the level of service provided by a particular Internet service provider. This technology consists of at least two forms. The first form is to use something like ICMP, Trace routes, Tools for straps, And near real-time proactive correction of data paths of vendors and service providers such as CQOS and Keynote. Another traditional form is the use of tools such as TCPdump, And companies such as the Internet Society, Narus Corporation, The traffickers of Brix Inc. and P-cube Inc. immediately and passively analyze the transmitted and received traffic.  however, These traditional technical methods only determine whether a service level agreement has been violated or when network performance has generally declined. No traditional method of Internet routing provides effective routing control between data networks or visibility into the network at an analysis point. Nevertheless, service level analysis is an essential part of ensuring service levels, It is not enough to guarantee the effectiveness or cost of the service level agreement. therefore,  This general method cannot detect or optimize such as slow URL failures, Poor download speeds, Internet problems with jittery video and fuzzy sound.  In order to overcome the shortcomings of the above routing control technology, Many users of data networks, such as the Internet, use two or more data networks to connect. The plurality of links increase the bandwidth of the amount of data that can be generated across the network. Due to the increased bandwidth, The efficiency and reliability of Internet communications have increased. Also in the known "Multi-homing" technology, These multiple connections to the Internet are generally through several different Internet service providers. Multi-navigation typically uses the Border Gateway Protocol 200300313 to direct traffic through a link of one or more network service providers. Although this traditional method improves reliability, Based on the effectiveness of lost packets,  Delay and jitter remain unpredictable. This unpredictability is due to the inherent nature of the boundary gateway agreement, This is because when the performance of a particular end-to-end path is degraded, the communication path is no longer selected. In addition, Boundary gateway protocols are easy to direct traffic to links that provide only a minimum number of hops to that destination, It is typically a non-low-cost link. This is usually a routing control technique that leads to inefficiency, Such as the provision of excessive bandwidth between several network service providers. however, This results in increased financial or other costs.  Given the unpredictability of this outgoing multiple navigation technology, The network service provider typically delivers unpredictable levels of Internet performance and different cost structures. No system is currently available that allows internet customers to Bandwidth and performance, etc., manage the bandwidth through multiple network service providers.  SUMMARY OF THE INVENTION Therefore, There is a need for a system and method that overcomes the above-mentioned shortcomings of traditional methods and effectively and efficiently controls the routing of data through multiple networks. therefore, There is a need to provide intelligent routing control for network users such as Internet users, To ensure that a specific path is selected for transmitting data, This allows the particular path to maintain at least one acceptable level of performance and cost among the plurality of networks.  In one embodiment, An exemplary flow control system and method according to an embodiment of the present invention includes one or more modules using, for example, the edge of a data network. The flow control system is designed to continuously monitor and select routing or re-select the traffic on the high-performance path in an instant or near-instant manner, This enables predictable performance related to the needs of business-specific applications.  The system of this example allows the definition and implementation of bandwidth usage policies in addition to the definition and implementation of customer-defined performance policies. The customer-defined policy enables cost-saving use of existing bandwidth, Rather than providing online resources for costly over-extensions. In another embodiment, The system and method system provides methods and systems, To proactively manage network structures such as border gateway protocols and match network performance and cost goals with the use of an Internet protocol infrastructure.  In another embodiment, The present invention provides monitoring of communication performance statistics between different network providers, such as Internet transfer network service providers, using a number of techniques. The system is provided with information, The information indicates the destination of a user ’s traffic flowing in and out, Used to reach these destinations, Whether the loss or delay performance is consistent with the use of defined cost policies, And its analogues. In addition, The flow control system provides an application-independent traffic flow identification and performance measurement of the traffic. Accurate measurement of true endpoint-to-endpoint traffic performance from multiple points of interest for that user, Instant or near real-time statistics collection. In yet another embodiment, The system continuously detects violations of user traffic routing or traffic policies for specific destinations, And, for example, direct traffic to an alternative path by issuing a border gateway protocol routing update to a user router.  13 200300313 In a specific embodiment, The present invention provides a method for implementing a policy for communication via a data network, A data network is designed to route, for example, election data between a first point and a second point between a source and a destination. The first point is connected to a first network, And then, The first network is connected to one or more second networks. One of the second network is connected to the second point, For transmitting the data communication to the second point. Each network contains one segment of a path. among them , A path or a section of a path contains a data flow or a route of data from the first point to the second point. At least two of these networks are connected to an interconnection point, And the data flow through the interconnection point. The method involves the following steps: Monitor at least one usage characteristic associated with at least one road segment; And compare the related usage requirements of the at least one usage characteristic and a policy. In another embodiment, The method further includes determining whether at least one usage characteristic related to data routing in the first network violates the usage requirement.  [Embodiment] A detailed description of an embodiment of the present invention will be described below. however,  It should be understood that The invention can be implemented in many forms. therefore, The specific details disclosed herein are not to be construed as limiting, It is the basis of the scope of patent application. And is used to teach any person who is familiar with the art structure, method, The program or method uses a representative basis of the present invention.  1st A, The 1B and 1C diagrams show basic hardware components suitable for implementing a particular embodiment of the invention. Figure 1A is an illustration of an exemplary computer system 1 of 2003200313. The computer system 1 includes a display 3 having a display screen 5. A cabinet 7 contains standard computer components. Like a drive, CD-ROM drive, Display converter, Network card Random access memory, Central processing unit and other components, Subsystems and devices. A user input device such as a mouse 11 having buttons 13 and a keyboard 9 is shown in the figure. Such as trackballs, Touch screen, Digitizing tablet Other user devices such as voice or visual recognition can be used.  Generally speaking, The computer system exemplifies only one form of computer system, Like desktop computers, It is suitable for use with the present invention. Computer department can. Built with many different hardware components, And available in many sizes and forms (such as laptops, Palm type, Pen type, server, workstation, Host, etc.). Any hardware platform suitable for implementing the processes described herein is suitable for use with the present invention.  Figure 1B shows a subsystem typically found in, for example, computer 1. In Figure 1 B, 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. Sub-systems contain input / output controllers 2 4, System memory (or random access memory) 2 6, Central Processing Unit 2 8, Display converter 3 0, 璋 4 0, Fixed 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 in this technique, Radio frequency or optical devices to communicate with a network. The use of buses 2 2 allows each of the subsystems to transfer data between the subsystem and the most important central processing unit 15 200300313, among them, The central processing unit may be a SparcTM, An Intel central processing unit, One 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 series is connected to the display converter 30, An opposing pointing device (such as a mouse) is connected via a series such as 璋 40 璋. Some devices, such as a keyboard 50, can communicate with the central processing unit in a direct way, There is no need to use the master data bus and go through an interrupt controller and associated registers.  Like the structure of the external embodiment shown in FIG. 1A, The structure of many subsystems is possible. Figure 1B is an exemplary suitable structure. Subsystems other than those 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 is not needed. Such as a read-only drive, Sub-systems of graphics accelerators, etc. can be included in the structure, It does not affect the performance of the system of the present invention.  Figure 1C is a generalized diagram of a typical network that can be used to implement an embodiment of the present invention. In Figure 1C, Network system 80 includes several local access networks connected to computer data network 82. Like the internet, Wide area network, Or a similar network. A network system as described herein refers to one or more local access networks and network services 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 layer, Topology, And other internet traits are shown here, But the invention is suitable for networks with any different path (for example, Multiple home networks connected to other networks) In particular, networks that use Internet protocols to choose the path of data, The information is, for example, a stream having one or more information packets under the agreement. In addition, Although a specific embodiment is shown in Figure 1c, Those familiar with this 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, Computer user 1 is connected to server 1, among them, The connection can be over any network protocol, Such as Ethernet,  Asynchronous transfer mode, IEEE standard 1 5 5 3 bus, Modem connection, Universal tandem bus and much more. The communication link need not be a line, It can also be infrared, Radio wave transmission and so on. To illustrate,  Server 1 is connected to the data network 8 2 Like the internet, Or, for example, any other data network that uses Internet protocols for data transmission. The data network is symbolically represented as a collection of server routers 82.  Exemplary use of the Internet for information distribution or communication need not be limited to implementing the invention, It is only used to show a specific embodiment. In addition, The use of the server computer and the designation of the server and the client is not critical to the implementation of the invention. User 1 computer system 17 200300313 Enough to connect directly via the Internet. Although the connection of the server 1 to the Internet can be connected in a similar manner to that of the user 1, Server 1's connection to the Internet is typically via, for example, a T1 line, T3 line, Implemented in metropolitan area Ethernet or similar networks. Similarly, Other computers 8 4 are shown using a local network (such as a local access network) at a location different from User 1's computer. The computers at 84 are connected to the Internet through the server 2. Although the computer 8 4 series is shown to contain only a single server, However, two or more servers can be connected to the local access network associated with the computer 84.  The structure of the user 3 and the server 3 is a third network representing a computing device.  Figure 1D shows the effect of a typical multipath (eg, ECMP) technique using only active calibration on a routing control system. For a given web service provider, There are two possible paths between Washington DC and San Jose. The first path 1 0 0 crosses New York, Chicago and Seattle. The second path 1 7 1 crosses Atlanta, Dallas and Los Angeles. It is assumed that the cost of using any one of the first path 170 and the second path 171 is equal in the routing protocol. When presenting two paths of equal cost, Most router vendors will load shared communications between them, In order to ensure that the path of the same flow will follow the same route. The routing process is specific to the seller, It is generally based on the Internet Protocol address of the known source and the Internet Protocol location of the destination. Unless the Internet Protocol address of the source and the Internet Protocol address of the destination are the same, Otherwise the communication will take a different path with the same cost. The purpose of the route calibration is that the active detection system transmitted through the network between Washington DC and San Jose can use the north route through Chicago 172, At the same time, the customer's communication can take the southern route through Dallas 173, Because although the Internet address of the destination is the same, The source Internet address is different. therefore, The measured path may not be the path taken by the customer's communication.  The most important thing of the present invention is to use a system and technology to intelligently control the routing including data communication, To ensure the service level of customer data communication according to the present invention.  Figure 1E is an exemplary diagram showing a portion of a network system 80 including a network service provider 92 and a flow control system 90 according to a specific embodiment of the present invention. Data network.  An exemplary flow control system 90 is constructed to communicate with one or more network elements of the data network. Although the flow control system 90 is shown as being from the source network 9 4, In addition to the components of switch 9 6 and router 9 9, And the source network 9 4, Switch 9 6 and components of router 9 9 communicate, The flow control system 9 0 can be completely built on the displayed source network 9 4. Within any of the components of switch 9 6 and router 9 9. or, The flow control system 90 can be distributed in part to the source network 9 4. Within each element of the switch 9 6 and the router 9 9. In another embodiment, the flow control system 90 is located on one or more servers or network elements within an exemplary source network 94.  An exemplary data network includes one or more source networks 9 4. A source network 9 4 is typically a network that contains services provided by application services 19 200300313, Managed service providers, Content delivery network, Web hosting company, Individual business, Co., Ltd., Local network of one or more servers owned and operated by an entity or similar. Such network service providers typically send information to Internet Service Provider 2, Internet Service Provider 3, ···, Multiple reset of the network service provider η Removed users from the network service provider. In one example, The network service provider 92 is connected to a source network or is considered to be the source of the first set of data networks. The network service providers or the first data network are then connected to a second network, among them, This second network is connected to a number of other networks. therefore, Establish one or more paths from one source to one destination. A route described herein can be a route that is divided into a plurality of segments from a source to a destination, Each segment is located entirely within a network service provider.  The multiple connection between the router 98 and the plurality of network service providers 92 is to provide an operator of the source network 94 to direct data traffic based on the best-practiced network service provider. The switch 9 6 is operated to transmit bidirectional data 9 9 such as Internet protocol data, It is bidirectional from the source network 94 to the router 98. Although it shows a single router and switch, Those familiar with this art will understand that An additional router and switch or other suitable device can be replaced in accordance with another embodiment of the invention. In addition, The switch 96 series need not be used to embody the invention. In a specific embodiment, Router 98 includes one or more routers that implement an exemplary protocol, Such as example 20 200300313 border gateway agreement (for example BGP4 'such as Cisco ™ or Juniper implementation ™). And a better case is that it has routing visibility between a plurality of network service providers.  In one embodiment of the flow control system 90, The flow control system 90 operates to cost, Bandwidth and its analog traffic characteristics measure end-to-end data traffic. The flow control system 90 also generates statistics related to the data path across multiple network service providers in real time or near real time. Such statistics are not sent to the source network 9 4, For example, to provide personal information on network engineering 9 1 Enabling dynamic reports to be generated to provide information on the activities of routing changes, When traffic performance is delivered to selected destinations and transit network service providers use (ie, bandwidth), Cost and its analogs.  In one embodiment of the present invention, A local computing device uses the report information 91 from the flow control system 90 to generate a visual and graphical representation on a user-friendly interface, for example,  In the user-friendly interface, These visual and graphical representations indicate the amount of data traffic along one or more paths, such as a path between a source and a destination. then, All network personnel who can access the source network 9 4 or any real system responsible for flow control can provide flow information 9 3 to the flow control system 90, Change the operation of the system by, for example, changing the data communication flow from a path that implements a poor or erroneous current to a path that implements a better one. however, No network personnel are required for the operation of the flow control system 90 of the present invention.  The flow control system 90 is further used to compare specific data communication 21 200300313 information flow (that is, one-way and two-way communication flow flowing from and to the data network), To determine whether a particular communication flow complies with one or more rules of a related flow policy. A flow policy, as referred to in this article, contains a set of one or more rules, It is a combination of a specific data communication flow for a specific system user (for example, represented as an Internet Protocol address header).  A rule or standard is a minimum level of acceptable routing behavior that defines a relevant communication flow characteristic, A maximum level 値 or a range 値. For example, A rule system can set: The maximum acceptable cost with or without regard to the network service provider; The maximum load or bandwidth usage associated with the communication flow through a particular network service provider; The scope of acceptable (or unacceptable) service providers; The maximum acceptable delay or loss across multiple network service providers through one or more paths; For each network service provider's acceptable range of performance, Such as the largest cluster limit; Minimal performance agreement and cost range (i.e. cost structure for time of day, Forms of communication, etc.); And any other data stream characteristics that can affect the measurement or control of data communications.  The flow control system 90 is further operated to detect when one or more rules or flow policies have been violated, And then take compensatory action.  that is, The flow control system 90 uses calibration performance (that is, service level guarantee), Implement policies related to data communication flows based on adverse changes in cost or bandwidth (that is, load based on the percentage of capacity available for each path). The flow control system 90 based on instant or near-immediate communication 22 200300313 quantitative analysis, Diversification of local paths (that is, modification of one or more exit paths from a data network) and visibility of downstream available paths implements such corrections. For example, For a destination about a particular communication flow, The flow control system 90 is based on the characteristics of the flow, Traffic directed or redirected by its flow policy to one or more indicated paths, To address a particular flow change.  Fig. 2 shows a specific embodiment of the flow control system 90 of Fig. 1D. 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, It instructs to route through one or more data networks or data sub-standards of service providers, Rather than optimizing performance at a target level for some acceptable operation.  The flow control system 2 0 0 series includes: Controller 2 0 5, Passive Calibrator 2 0 3, Active calibrator 2 0 8 Structural element 2 1 1 and using the collector 214, The controller 205, Passive calibrator 203, Active calibrator 208, Each of the structural elements 2 1 1 and the use of the collector 2 1 4 can be implemented in hardware, Software or a combination thereof. For example, Controller 205, Passive calibrator 203, Active calibrator 208, The structural elements 2 1 1 and the use collector 2 1 4 are software modules designed to implement the specific procedures described herein according to the present invention. Such modules can reside on one or more computing devices, Such a computing device as shown in Figure 1A, or, A machine (ie server) in the form of one or more users connected via a data network or network system.  Exemplary Passive Calibrator 2 0 3, Active Calibrator 2 0 8 and 23 200300313 Collector 2 1 4 series connected to controller 1 0 5 In order to partially provide the flow characteristics of data communication. The controller 2 0 5 receives the monitored flow characteristics and the flow policy to be implemented. The controller 205 is structured to determine whether a flow policy is violated. And upon detecting such a violation,  Choose a remedial action to resolve the violation. Structural element 2 1 1 is connected to the controller 2 0 5 for receiving information. To initiate a compensatory action, And the system constructs to transmit such an action to the data director 2 2 0. After that, The data director 2 2 0 implements the corrective action to resolve the suspension violation, For example, By changing the communication flow from the current path to a better implemented path.  In addition, The flow control system 2 0 0 includes a communication storage 2 2 1 and a flow policy storage 2 1 8. Exemplary communication storages and flow policy storages 2 1 8 are databases, Such as a storage device, It is structured to store many records in one or more data structures. The communication storage 2 2 1 is designed to store and communicate information about communication and routing characteristics, And the stream policy storage 218 is designed to store and communicate policy information or rules, To manage the efficiency and cost of each of the data communication flows. Those familiar with this art should understand that Many database technologies can be used, To implement the reservoirs of the present invention.  During operation, The flow control system 2 0 in FIG. 2 monitors outbound and inbound data flows 2 01, Such as Internet Protocol data communications, To determine whether the data stream from the source network and to the source network 2 0 1 is due to the performance tolerance set by the relevant stream policy. In one embodiment, The flow control system 2 0 0 is reproduced by, for example, by a network switch 24 200300313, By using a splitter such as an optical splitter, Or any other tap device known to those skilled in the art to receive the data stream 2 01. A data stream 2 0 2 that is identical or almost identical to the information contained in the data stream 2 0 1 is provided to the passive calibrator 2 0 3 0 The passive calibrator 2 0 3 monitors the data stream 2 0 1 The data communication, And the information about the communication and the communication performance is transmitted to the controller 205. The controller 2 0 5 is configured to receive policy data 2 06 corresponding to one or more policies corresponding to a specific communication flow such as a specific data flow. In addition, This particular data stream can be combined with an example of a user identified by a destination header. By policy information 2 0 6, The controller 205 determines the performance, Cost or availability level that the particular communication meets. For example, The controller 2 0 5 determines whether a particular data flow 2 1 1 communication flow is in compliance with delays such as inbound and outbound network, One or more conditions of packet loss and network jitter or performance levels defined by standards (i.e., Service level).  The active calibrator 208 is used to receive one or more active detectors 207 from the data network and transmitted to the data network in many forms. These detectors are designed to measure network performance. Include paths taken across one or more available network service providers (i.e., Decide whether a network service provider is a transit autonomous system rather than a peer autonomous system), Next hop and other network parameters used. To activate the active calibrator 208, The controller 205 sends an active probe request 209 to the active calibrator 208. If 25 200300313 the controller 2 0 5 confirms that additional information about the path of replacement 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 prevent such a policy system from violating the optimal flow control system.  The usage collector 214 is constructed to receive network service provider data 2 1 7 representing one or more network provider structures. Generally speaking,  Such a structure includes the number of paths (pipes) associated with each network service provider and its size. In addition, Internet service provider information 2 1 7 is about the cost or payment structure of an Internet service provider.  And also contains the address of the relevant group or subgroup of each network service provider, Payment method of each internet service provider (i.e. bytes / min, etc.). In addition, The usage collector 214 is constructed to collect usage information from the network components 2 1 3, Such as switches, Border router,  ISP device, And other devices used for transmission over data networks. The use collector 2 1 4 is constructed to provide utilization and payment information 2 1 5 to the controller 2 0 5 The use and payment information 2 1 5 represents data collected by the Internet service provider 217 and the use information 213. The usage and payment information 2 1 5 includes the cost of representing each network service provider interested, Payment and utilization information.  Those familiar with this art should understand that The network service provider information 217 can be provided to the usage collector 21 4 in many ways. For example, The network service provider data 2 1 7 can be provided as a data path used by the data stream, Or can be provided by an entity that has the right to do so, For example, a network engineer enters the data into a computing device in the source network 9 4 in Figure 1E.  In addition, The use of the controller 2 1 4 system constitutes monitoring to define the data communication capacity of a network service provider, Cost and so on. The usage information 213 provided to the usage controller 214 includes information such as a switch, Border router, ISP device, And other characteristics used in devices transmitted over a data network. Use refers to the data that represents the characteristics of instantaneous or near-instantaneous properties (ie, usage characteristics) (ie, raw data such as X million bits at time (0)),  It is defined as an example of the load and usable capacity of each network service provider. Use is time usage. For example, Suppose that the monitoring network service provider 1 should use the collector to measure its time utilization or capacity as X million bits at time (0) and Y million bits at time (1), This raw data is either used to calculate the utilization rate or the utilization rate of the network service provider 1 (for example, Y-X / time (0) to time (1)). Bandwidth is the total capacity of each path or path segment that can be used for a communication flow. In one embodiment, The use can be measured at any number of hops or at any section of any 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 load / bandwidth.  The usage controller 214 is designed to generate the usage and payment information 2 1 5 based on the usage information 213 and the network service provider data 217. Because each of these network service providers has a different 27 200300313 cost and payment structure and a way to determine the cost of use, Therefore, the use controller 2 1 4 is operated to collect usage information 2 1 3, Therefore, the controller 2 5 provides the use and payment information 2 1 5.  The usage controller 214 then provides the usage and payment information 2 1 5 to the controller 2 05, For the interest of each network service provider. Those familiar with this art should understand that When better routing control is needed, The usage collector is capable of providing additional information to the controller based on the usage information of the network service provider.  The controller 2 0 5 series is collected by the passive calibrator 2 0 3, The active calibrator 208, Information from each of the collectors 2 1 4 and or the communication storage 2 2 1 (ie, Collected performance and usage characteristics). Based on the information collected, The controller 205 is an action that decides to optimally reduce policy violations of the information logged by the policy data 2 0 6 transmitted to the controller 2 05. Once the action is decided, The controller 205 initiates and transmits a network routing change request 2 1 2 to the structural element 2 1 1. In a specific embodiment,  The controller 205 also provides information indicating that one or more alternative data paths can be used to resolve the policy violation.  The structural element 2 1 1 is designed to communicate with the data director 2 2 0 for routing changes in the network. Once the structural element 2 1 1 transmits one or more routing changes, The data director 2 2 0 then moves the data stream 2 1 1 from a current path to another path (for example, from the network service provider 1 to the network service provider η or the network service provider I One path to the second path of the network service provider I). Therefore 28 200300313, The data director 220 operates according to the cost and performance measured across each link, for example, Instead, traffic is distributed to these destinations that span multiple network service provider links.  During operation, The structural element 2 1 1 communicates with the data director 2 2 0 for one or more routing changes 2 1 0, For example, By using a routing protocol such as an edge gateway protocol. Structural element 2 1 1 is used to dynamically control routing behavior by modifying the source address of the traffic passing through the structural element 2 1 1. 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 208, The active calibrator 208 is an active mechanism provided in the system 200. To determine the nature of the downstream or upstream. The information is typically not available from any traditional protocol or upstream path used in data networks such as the Internet, It must be collected outside the normal process network. As shown in Figure 2, The active calibrator 208 is connected to the controller 205, To provide at least one destination header that does not meet policy conditions such as minimum effectiveness. Once received, The active calibrator 208 then initiates a calibration procedure that determines most or all available network paths to the destination address. The controller 205 is set to, Choose the most suitable detector that the active calibrator 208 will be used according to the specific policy of the implementation or correction of conditions, Since then, Use the active calibrator 208 to initiate the active path of the network path.  In one embodiment, The active detector is communicated to the available network or Internet path through the detection path 2 29 200300313 7. The returned active calibration detector enters the active calibrator 208 through the detection path 207. then, The active calibrator 208 forwards the information from the detector 209 to the controller 205, The controller 205 contains performance information with alternative accessible paths. The controller 2 0 5 then decides how to best implement the particular circumstances of the policy related to the subject communication flow. The exemplary calibrator 208 uses an active calibration mechanism.  To provide long-term statistics by way of example.  In another embodiment of the present invention, The active calibrator 208 resides in the data pointer 208, Or it can be integrated into the controller 205. 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, a service derived from the remote surveillance probe. SAA), To send out active detection. This service ensures that the proxy allows the router to measure and report the application round trip time of the origin of the network. Although for network calibration, Not every detector described below is used in this service to ensure that the agent is available, Those familiar with this art will understand that How each of the following can be implemented, To implement one or more embodiments of the invention.  An exemplary active calibrator 208 can use the Internet Control Message Protocol, ICMP) response request or other fast type detector, Lightweight Transmission Control Protocol-based detector, Stimulus detector, The Fragment Path Detector 30 200300313, Use a User Datagram Protocol with a predefined lifetime UDP) packet lightweight detector, Path routing probe, Or other active calibrators suitable for use by the active calibrator 208 according to the present invention.  These probes received by the active calibrator 208 in Figure 2 are sent from their source address. Such detection originates from and is received by an exemplary state computer system residence, An example is a state processor on the local user or on a router. In another embodiment, The use of the detector and the active calibrator are described in US Patent Application No. 0, entitled "System and Method for Ensuring Network Service Level with Intelligent Routing", which was filed on April 10, 2001. 9/8 3 3, 2 1 9 and the lawyer's file number is 0 2 1 0 8 9 — 0 0 0 1 0 0 US, This document is incorporated herein by reference.  The exemplary passive calibrator 203 in Fig. 2 is constructed to receive and does not need to interface with network communication data such as customer network or Internet communication 021. The network communication data path 2 0 1 (that is, Internet Protocol data communication) is monitored by the passive calibrator 2 0 3, It includes the preset or currently selected route of the data communication which is currently provided by the data director 2 2 0 to the passive calibrator 2 0 3. The currently selected route is, for example, a packet. The route between routers that will be used according to standard routing protocols (eg, hop-by-hop). The passive calibrator 203 is connected to (ie, Electronically, Optically, By radio waves, etc.) The controller 2 31 200300313 0 5, To provide an indication as to whether this particular Internet Protocol data communication is within the acceptable performance matrix, such as determined by a streaming policy. The passive calibrator 200 is operated to simultaneously monitor all communications received through the data stream 202, It is designed to overcome the complexity of active communication analysis based only on the typical multiple paths such as shown in Figure 1D.  For example, When the controller resolves a policy violation, The passive calibrator 203 operates to overcome the complexity of performing only active communication analysis in multiple paths such as a typical multiple path.  In another embodiment of the present invention, The passive calibrator 203 checks the communication flow in two directions (ie inbound and outbound), And classify each communication flow into a flow. The communication flow is monitored within the passive calibrator 203 based on the state of the agreement in the implementation in time (such as talks about a transmission control protocol). For example, The passive calibrator 2 0 3 is based on a round trip delay, The communication flow is classified by 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 includes the flow rate, And they are assembled into a series of network headers.  As mentioned above, The passive calibrator 203 is connected for storage, Retrieve and update the communication and routing information stored in the communication storage 2 2 1 (connection not shown). The exemplary communication storage 2 2 1 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 stored in the communication storage 32 200300313 device 2 2 1 contains long-term statistical information about the communication.  These statistics will be used in the report, The purpose of the analysis and to provide general feedback on a flow control system according to the invention.  Such feedback would, for example, include many forms of communication being transmitted, Source address, Destination address, application, The communication settings transmitted by ToS or DSCP (DiffServ Code Point) (which can be integrated into a differential payment system) and the communication transmitted by the traffic. These statistics are fed into the communication storage 2 2 1, among them, For example, A reporting engine or some other analysis program has access to the statistics. The information stored in the communication storage 2 2 1 is data representing the communication routing characteristics 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,  Output stream analyzer 3 3 1 and content analyzer 3 3 3 2.  In one embodiment, The passive flow analyzer 3 3 0 performs passive analysis on the communication, To monitor the current communication flow characteristics, This enables the controller to decide whether the current communication flow to be monitored complies with the relevant policy conditions. The output stream analyzer 3 3 1 is for: Records of output flows from a network device such as these devices (e.g. routers) in the form of notification communication, Source and destination addresses, and other information about their communications through service provider links, Implement passive analysis. An example of such a network device is Cisco's Netflow ™ product. In another embodiment 33 200300313, The passive flow analyzer 3 30 is based on the US patent application No. 09 entitled "System and Method for Ensuring Network Service Level with Intelligent Routing" on April 10, 2001 according to the application mentioned above / 833, No. 219 while operating.  The content flow analyzer 3 3 2 implements passive analysis of specific elements 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-list 3 3 4 can be used to construct one or more lists or data structures for storing data representing performance and usage characteristics. It 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 part to the controller, To determine a policy violation, To determine 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.  FIG. 17 shows an exemplary data structure 1 900 that is suitable for use in providing one or more pre-header lists described herein. The data structure or list 19 0 0 contains many Internet Protocol addresses 19 2 0 with many records 19 1 0 associated with each address (eg destination) or variable roughness. Each record 1 9 1 0 series 34 200300313 contains an address 1 9 2 0 (or preamble), Many events within a time period (), The number of bytes sampled 1 9 4 0, During the period of sampling (5 t) 1 9 5 0, The new front header flag 1 9 6 0 (1 series represents the new front header, 0 is the old prefix), Or its analogs.  The list 197 0 contains aggregate stream information for each address 192 or pre-header. For example, Record 1 9 7 5 contains the following information: For addresses 1 · 2 · 4 · 7, This address is monitored 4 times during a sampling period (5 t) with a total total flow of 360 bytes. Because there is a record of a new prefix flag setting (that is, the address is monitored for the first time) 1 9 0, The new pre-header list 1 9 0 0 contains addresses 1 · 2 • 4 · 9 with an event (first time) on period ((5 t)). Those familiar with this art will understand that Other related information can be monitored, And can be stored in the list 1 900. In addition, Representative address, event, The number of bytes, The time interval data can be used to process data in a way that the controller can easily obtain.  For example, The data stored in a list 1920 can be collected or aggregated based on addresses or headers. As shown in Figure 17 The set list 1 9 9 5 contains groups corresponding to addresses 1 · 2 · 4 · X. For example, The record of the aggregate address 1 9 7 7 contains information indicating that the aggregate of the address was monitored 5 times in the dialog and has a total of 540 bytes. Those familiar with this art will understand that Addresses or preambles can be grouped or grouped in many ways.  The output stream analyzer 3 3 1 and the content stream analyzer 3 3 2 are also constructed so that when a previous header has not been seen before, it has been added to the former 35 200300313 header list 3 3 4, Notify the controller 3 0 5. The new front-end notification signal 3 3 5 enables the control element 1 0 5 to create a new basic line performance for the front-end. And if needed, The routing table is generated with a non-preset route or an alternative route (such as a 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 element in the small, It is generally a small image file (e.g. 1 * 1GIF), And is invisible or imperceptible to the main original content, And respond 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 those records, The content stream analyzer 3 3 2 is able to implement a combined and combined content header list 3 3 4. The list 3 3 4 is transmitted to the controller 2 0 5 For example, For proactive 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 handles requests for content of a small component 4 2 0, For example, it is a 1 * 1 pixel file. It cannot be perceived on the page of the result (although it does not require 36 200300313 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, Respond to small content elements. The content stream analyzer 4 3 2 sees this request 4 2 0, And it responds to it 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 in response to 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 is a collection or collection of individual Internet Protocol components 4 2 4 to the varying thickness of the header (for example, / 8 to / 3 2), It also aggregates the frequency at which each preamble is seen in a conversation.  that is, The aggregator 4 5 4 classifies the pre-headers 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, Every monitored communication flow is checked,  To determine the performance characteristics associated with a destination header or address.  The ensemble heads 4 2 6 are 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 sends the update to the current previous head list 4 2 8 and the controller to the second figure 37 200300313 2 0 5, And when a new preamble is observed, The other elements of the system are also notified with a new preamble notification signal 4 3 2. The pre-list generator 4 5 5 stores the pre-information 4 3 0 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 is able to provide compliance with the flow policy, And thus can be used to re-select data routing or change data routing, To rule out a policy violation.  Referring back to Figure 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. An exemplary format is the Cisco NetFlow ™ output format. Any network component designed to output stream information, Such as router 3 4 5 or a layer 2 switch, It is therefore also constructed to passively monitor communications being processed, And the output record 3 4 6 is forwarded to the output stream analyzer 3 3 1. The output stream analyzer 3 3 1 is used to process the output stream records 3 4 6 Assemble these streams into the head element, And the pre-header list 3 3 4 is generated. 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 head that was selected before was selected before the list was transmitted to the controller 2 0 5 in Figure 2, Is placed in the pre-header list 3 3 4.  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 38 200300313 49 '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 50 is also based on the total stream volume or transmission rate (for example, in bytes / time) and the stream frequency of the destination address. The collective communication flow becomes the collective element. The analyzer 5 5 0 transfers the collective element 5 2 4 to the collective 5 5 1. The aggregator 5 5 1 then generates head level-level destination information 5 2 6 (that is, aggregate head amount and frequency) with a number of head roughness (for example, from / 8 to / 3 2). in other words, The collector 5 5 1 determines the frequency, period, Or the aggregated amount of events related to a particular header during an observation period.  The destination header list 5 2 8 is used to rank and organize the flow characteristics of the headers in a relatively important order by way of example, It is generated by the pre-head list generator 5 5 2. Listing 5 2 8 contains data representing the collection of listing 5 2 8 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 with regard to the total traffic that can be obtained with the preamble in the overall system. The front head list generator 5 5 2 sends the update to the current previous head list to the controller 2 0 5 in Figure 2. And when a new preamble is observed through a new preamble notification signal 5 3 2 39 200300313, Other components of the system are also notified. The pre-list generator 5 5 2 series stores all pre-information 5 3 0 to 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-head notification signal 6 3 5, And generate a collection of stream data 6 8 0, Contains usage statistics for network effects, theta, and cohorts. For example, Heading before a certain * size can be aggregated due to the highest to the lowest traffic observed in time, Or grouping. The stream data of this collection 6 8 0 is transmitted to the controller 6 0 5 And is used by the controller 605,  To determine whether the current traffic flow violates or fails to comply with the flow policy associated with a given destination. The passive flow analyzer 6 3 0 also functions to store the collected flow data 6 8 0 in the communication storage 6 2 1.  among them, It can be used to characterize historical routing and communication flow performance. In another embodiment of the present invention, A pre-head 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 can also monitor and characterize the user data protocol protocol communication style. For abnormal behavior, Such as non-periodic flows, Or something similar. The passive flow analyzer 630 is able to use many neural network technologies to learn and understand the normal user data contract behavior of the desired application, And indicates 200300313 when the behavior has changed, It may indicate a breach of service level that can be verified or explained by well-known active detection technologies.  In addition, The passive flow analyzer 630 is designed to be "application aware" based on how each of the particular communication flows is classified. Communication can be based on US Patent Application No. 0 9/8 8 3 described above, It is classified by the classifier in No. 2-19. that is, The passive flow analyzer 6 3 0 is able to check the payload of each packet of the communication 6 2 0, To interpret that performance and operation of a particular web application, For example, Realtime Transport Control Protocol, such as voice over Internet protocols, RTCP) interpretation and capture.  In Figure 6, The passive flow analyzer 6 3 0 contains a packet capture engine 6 5 0, Packet analyzer 6 5 1, Relevance engine 6 5 2, And collector 6 5 3. The packet capture engine 650 is a passive receiver built to receive communications entering and leaving the network (such as Internet Protocol packet communications). Communication capture is used to facilitate communication analysis, And it 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 stream. Contains packets leaving the network and entering the network. The packet capture engine 650 is operated to remove certain packets to the user's space by, for example, the core network driver, Capturing part of a packet by writing to the client's network drive. Using direct memory access, This part of the packet can be copied directly to 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 ranges, Or source or destination address, agreement, Any combination of packet size or data matching, etc. Several common library systems exist to implement this feature, The most common line is "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 5 1 is connected to receive the captured original packet, And operate to remove the structure of those packets, And receive 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.  So the information fetched from the Internet Protocol header contains the source and destination Internet Protocol addresses, DSCP information encoded in the service form bit, And its analogs. 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, This makes it possible to define 64 different forms of communication classification. Transmission control protocol information includes source and destination port numbers, serial number, confirm number, The transmission control protocol flag (synchronization, confirm, End, etc.), The window size, And its analogs.  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. Ran 42 200300313 and 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.  To determine the level of service to these destinations, The present invention can use a statistically relevant amount of parallel transmission control protocol communications to the same preamble, Or for a series of active probes at that same destination, Or have a deeper analyzer for the packet analysis and understand the communication in the application layer (such as 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 agreements are broadly classified as "immediate agreements, And contains similar message streaming media 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 changes that arrive between packets (that is, network jitter). Such as H. Many of the real-time protocols of 323 report jitter observed in supported channel communications with the well-known Real-Time Transport Control Protocol (RTCP), which is used for multiple transmissions over Internet Protocol Allocate time-related media materials with feedback. If the passive flow analyzer 630 in FIG. 3 is "application-aware", it can capture and observe the content of the real-time transmission control protocol, and the network path in progress does not meet the minimum jitter condition. The time series can be perceived. 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) from 2003 200313 to determine the current service level of the stream, and then match The source and destination Internet Protocol addresses and port numbers are similar to firewall monitoring processes. 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 is determined by the round-trip time incurred on a network, and therefore, it is used as a measure of the delay for communication on the network. Figure 7 shows how the passive flow analyzer 6 3 0 and the correlator 6 5 2 placed near a source (eg, a customer with a source address) can determine a transmission control protocol communication The network latency and server response time. Fig. 8 shows how the passive flow analyzer 6 3 0 and the correlator 6 5 2 placed in proximity to a destination source (such as a server with a destination address) can determine a transmission Controls the network delay of the protocol traffic and the server response time. The correlator 6 5 2 in FIG. 6 determines the network delay by estimating the time difference between a transmission control protocol synchronization packet and its corresponding transmission control protocol synchronization confirmation packet in FIG. 7. The time difference between the transmission control protocol synchronization packet and its corresponding transmission control protocol synchronization confirmation packet 7 9 1 is an approximate estimate of the round-trip time that excludes a small amount of time for the server to respond to synchronization. The synchronization confirmation packet is processed in the core of most operating systems and is generally assumed to be close to zero. For each new Transmission Control Protocol flow originating from the source, the correlator 6 5 2 is capable of network delay for a time instant. 44 200300313 Packet loss is expressed as a percentage by the correlator 6 5 2 by maintaining the state of all retransmitted packets generated. From this, the correlator 6 5 2 calculates the percentage of packet loss from the total number of transmitted segments. The correlator 6 5 2 also uses an estimation example of the Hypertext Transfer Protocol GET message 7 9 5 and the reception The time difference between the first data segments and then determines the SRT7 9 2 of FIG. 7 by subtracting the previous frame of the round trip time. This assumes that the previous time of the round trip time has not changed more than an operable range since the transmission control protocol handshake signal was generated. The measurement shown as 7 9 4 indicates that the congestion on the path being measured increases with the increase of SRT 7 2. For demonstration purposes, it is assumed that the data segment in the initial Hypertext Transfer Protocol GET is transmitted back. In Figure 7, the passive flow analyzer 630 is configured to approach customers who request content from an Internet Protocol Data Network such as the Internet (i.e., due to geographically different locations) Minimal or negligible delay). The correlator 6 5 2 is also based on an estimation example. The time difference between the Hypertext Transfer Protocol GET message 8 9 3 and the first data segment 8 9 4 is used to determine SRT 8 92 in Figure 8. In Figure 8, the passive flow analyzer 630 in Figure 6 is configured on the server side, as most of the content delivery settings will take place. Referring back to FIG. 8, the SRT 8 9 2 determined by the correlator 6 5 2 is determined according to the position along the path through which the communication passes. If the passive flow analyzer 6 3 0 in FIG. 6 is connected to the client, then the server 45 in FIG. 7 200300313 server response time 7 9 2 can be estimated as the Hypertext Transfer Protocol GET request message and the return The time difference between the first data segments is subtracted from the round-trip time observed before the GET request shown in Figure 7. If the passive flow analyzer 630 in FIG. 6 is closer to the server end, the estimation is basically the time difference between the GET request and the response shown in FIG. 8. Congestion estimation can also be implemented by using the transmission control protocol congestion window ("cwnd") and by identifying the time difference between the segments immediately returned by the server, where the transmission control protocol congestion window controls a The number of packets a Transmission Control Protocol stream can have on the network at any time. The correlator 6 5 2 is connected to provide the exemplary flow characteristics determined above to the concentrator 6 5 3. Referring again to Fig. 6, the aggregator 6 5 3 is mainly operated to aggregate all flows entering each set of a particular destination and all flows entering a group. The aggregator 6 5 3 uses the service level statistics of each of the individual flows received by the correlator 6 5 2 to generate each of the same destinations used to enter the data network such as the Internet A collection of service level statistics for group flows. The aggregator 6 5 3 is also connected to the communication storage 6 2 1 to store such aggregated (ie grouped by address header) communication flow characteristics. The communication flow characteristics (or communication profile) are then used for future statistical operations and flow prediction. In a specific embodiment, the reservoir 6 2 1 is the same as or equivalent to the reservoir 2 2 1 in FIG. 2. The roughness of the destination is the same as the roughness that can be implemented on the routing table. That is, the flow control system in Fig. 2 is capable of setting a route with a head before 46 200300313 of any length (that is, 0 / to / 3 2), although the general practice is not so. Therefore, the aggregator 6 5 3 will start to collect flow statistics at the level of / 3 2 (ie, the network of level C), and continue to perform the king / 8 level (that is, the network of level A) into a data structure, Such as patricia or radix tree, parent-child relationship data structure, or similar structure. In this way, it is possible to very quickly find the roughness of the routing change required to ensure compliance with the service level implementation. The aggregation technology used by the aggregator 6 5 3 is used to maintain the system 2 of FIG. 2 0 0 at an acceptable performance level of service, such as an acceptable level of service determined by one or more flow policy conditions. Because network performance has been shown to not follow traditional statistical distributions, such as Gaussian or Poisson distributions, the average calculation of the service level through all streams is a reliable typical performance during a predetermined time period Measurement of behavior. However, if the service level agreement or policy states that the average service level must be maintained, the poor performance of events away from the center will cause the average to become skewed. Therefore, corrective action is needed to restore the minimum service level provided . A meaningful way to describe the typical level of service being provided across all streams is to use intermediate chirps instead of average chirps. Those skilled in the art will understand that these two technologies are possible and will be determined based on the definition of the service level that must be maintained. Figure 9 shows how the passive flow analyzer 9 300 can capture across more than one network interface according to another embodiment of the invention 47 200300313 Capturing packets and reconstructing the flow, each interface is a network Represented by an interface card (NIC). In practice, many switch structures are constructed by connecting to a single point in the data stream or copying a single port. This open relationship does not guarantee that the passive flow analyzer 930 will see all communications in both directions. Two-way communication is needed for alternative stream reconstruction for passive analysis. In Figure 9, the switch structure shown must be passively tapped to 4 positions at the tap point 9 2 1 (as shown in the figure), and at 4 different network interface cards 9 2 2 The passive tap connected to the passive flow analyzer 9 3 1 d at the tap point 9 21 can be a mirrored switch port or an optical / electrical passive tap. Passive flow analyzer 9 30 has a single or combined set of flow reconstruction elements 9 53, which can collect captured data from multiple network interfaces to implement flow reconstruction. Fig. 10 shows still another embodiment of the present invention, in which the passive flow analyzer 630 of Fig. 6 is distributed in a natural manner. Figure 10 shows the communication flow 10 2 0 transmitted in two directions through several local communication source points. The allocated local passive flow agent 1 0 2 5 is passively dropped to the communication flow 1 0 2 0 at the tap point 10 2 4. The passive stream agents 105 are assigned such that each agent monitors and transmits individual stream characteristics. The communication source is, for example, distributed in a layer 3 internal structure, and is separated by one or more routers 1026. This configuration prevents the passive flow analyzer 930 of FIG. 9 from collecting information across the same layer 2 switch structure as in FIG. Each of the passive stream agents 1025 implements local stream reconstruction, and then outputs stream data records 1027 to a central passive stream analyzer 1028 through the network, implementation spanning 48 200300313 all Distributed passive flow agent 1 0 2 5 Flow collection and service level analysis 0 Figure 11 shows a plurality of passive flow agents 1 1 2 5 and a single central passive flow analyzer 1 1 2 8 which are distributed and illustrated. A more detailed functional block diagram. Each of the passive flow agents 1 1 2 5 includes a packet capture 1 1 50, an analyzer 1 151, and a correlator 1 152, which act on each of the local communication flows. The correlator 1 1 5 2 has a stream record of substantial data reduction 1 1 2 9 and a central passive flow analyzer 1 1 2 8. Substantial data reduction is used to reduce the amount of information forwarded to the central passive flow analyzer, and can be implemented by using well-known coding techniques. The central passive stream analyzer 1 1 2 8 receives stream output records 1 1 2 9 from each passive stream agent 1 1 2 5, and the central collector 1 1 5 3 responds to the output stream. Each implements a pre-set. Therefore, this centrally assembled stream of information can be used to determine whether a particular policy violation occurred. Fig. 12 is a detailed block diagram showing the use of the collector 2 1 4 of Fig. 2. The usage collector 1 2 1 5 is operated to collect usage information 1 2 7 3 from a network provider, such as a byte count (that is, transmitted to and received by a network service provider) Incoming traffic). The usage collector 1215 uses the information to calculate the network service provider utilization, load, etc. of the data path related to the network service provider. The usage collector 1215 is also operated to reconstruct the accounting records of the network service provider. The usage collector 1 2 1 5 receives the structural information 1 2 7 l about each network 49 200300313 network service provider link. The network service provider structure information 1 2 7 1 is recorded in detail on the interface of many routers 1 2 7 2 (such as outbound routers). 'Network service provider's next hop Internet Protocol address tracking routing probe (Trace probe to verify the current network service provider) '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 that uses police without threshold and similar information. In operation, the exemplary original collector 1 2 7 4 sends a query 1 2 9 0 (such as SNMP) to collect the routers on each network service provider circuit during a specific sampling period 1 2 7 2 Incoming interface counts raw bytes. Network service provider circuits include paths' virtual or real pipes, T1, and similar paths. The original collector 1 2 7 4 places the original byte count 1 2 8 0 in a persistent storage for subsequent reporting and analysis. The original collector 1 2 7 4 sends this raw information to two other components: the utilization monitor 1 2 7 5 and the account rebuilder 1 2 7 6. The utilization monitor 1 2 7 5 uses the original byte count and network service provider structure information 1 2 7 to calculate the inbound and outbound circuit utilization of each network service provider. In one example, the network service provider structure information 1 2 7 1 includes the bandwidth of the network service provider's circuits. Utilization information 2 6 4 contains data representing the utilization of 50 200300313 trends used with short-term forecasting models (such as ARIMA, exponential smoothing, etc.), enabling the utilization monitor 1 2 7 5 to determine the For a given service provider, whether the bandwidth is trending up or down (that is, increasing or decreasing in size). The account rebuilder 1 2 7 6 uses the account information from the network service provider structure data 1 2 1 to reconstruct the account of the current network service provider during the current account period. rate. The accounting information includes information explaining the method 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 1 2 7 6 uses a similar network service provider account method to count the original bytes from the original collector 1 2 7 4 to generate the account and related accounts Service rates and more. The bills generated by the quantities mapped to the meta are typically estimates, because the sampling time between the network service provider and the use of the collector 1 2 1 5 will not accurately match. The account rebuilder 1 2 7 6 will transmit the account information 1 2 6 1 to the controller 1 2 0 2 for peak avoidance and minimal cost routing. Spike avoidance is defined as a method of avoiding the use of a path or section of a higher billing rate, as shown in Figure 15. Least cost routing refers to the method of using or presetting communication to the cheapest network service provider. In addition, this information can be transmitted to the controller 1220 for selecting the cheapest and least cost fixing method when performance is not important. That is, the controller 1 2 0 2 uses information from the accounting message 1 2 6 1, including the accounting rate, based in part on the free bandwidth of a route (ie, the route does not cause additional Cost of use) and decides 200320031313 an alternative route that complies with this flow policy. Referring to FIG. 2 again, the structural element 2 1 1 is connected to the controller 2 05 and the data pointer 2 2 0. The controller 2 05 provides the best route to a destination header of the structural element 2 1 1. The structural element 2 1 1 is operated to change a preset routing behavior (that is, a current path) for a destination requiring a correction behavior. The structural element 2 1 1 changes the behavior of the route by, for example, transmitting a modified address routing table to the data pointer 2 2 0. Once the data director 220 has received the information, the data director 220 tells the controller that the routing change has been implemented. After that, the controller's 2005 series of communication signals 230 back to the passive calibrator 202, to eliminate its status, and restarted monitoring the destination. The destination is monitored to ensure that the updated routing table or route meets the minimum service level (for example, does not violate the service level agreement, or does not have the agreed performance matrix defined by the relevant flow policy. Accepted variation). In one aspect, the structural element 2 1 1 is located within a routing server. In another aspect, the structural element 2 1 1 is located in a router, and the system component is configured to modify a routing map or table. In yet another aspect, the routing information is stored in the structural element 2 1 1 according to whether the routing information is related to inbound or outbound communication. FIG. 13 shows an example of still another embodiment of the present invention, wherein the structural element 2 1 1 of FIG. 2 is located in a network element such as a routing server 1 3 9 1. The structural element 1 3 8 4 52 200300313 of FIG. 13 operates in a manner similar to the deformation of other structural elements described herein. That is, the structural element 1 3 8 4 adjusts the current or preset routing of data communication, and therefore, adjusts the default routing behavior in a local configuration (such as a point of occurrence). The routing server 1 3 9 1 receives a complete set or a subset of the routing table from the data network of interest. In one embodiment, one or more of the pre-determined border gateways are sent to the border gateway protocol 4 engine 1 3 8 2 by a full set or a subset of the local transit network service provider. The router protocol 4 feeds 1 3 9 2, and the routing table is received by the routing server 1 3 9 1. The border gateway protocol 4 engine 1 3 8 2 integrates or combines all routes to a single border gateway protocol 4 routing table 1 3 8 3 for the best available route. In another embodiment, the routing server 1 391 maintains an i-border gateway agreement with all the routers available for the internal border gateway protocol, instead of maintaining the i-gate gateway protocol as shown in FIG. 13 Border Gateway Agreement 4 Dialogue. Because a single i-Bridge Gateway Protocol conversation does not require the construction of all BG- Gateway Protocol conversations with that network service provider before routing changes are implemented. The construction element 1 3 8 4 is designed to receive one or more boundary gateway protocol 4 routing tables 1 3 8 3 from the boundary gateway protocol 4 engine 1 3 8 2 and is adapted to receive The control program of the controller 1305 causes one or more control signals and data. In operation, the structural element 1 3 8 4 is received by the controller 1 3 0 5 in the preset routing table 1 3 8 8 and the necessary routing change is implemented. Then, the structural element 53 200300313 1 3 8 4 is combined with one or more changes to the modified routing table 1 3 8 9 〇 Therefore, the structural element 1 3 8 4 is operated to modify the border gateway agreement 4 routing Table 1 3 8 3 and generates one or more modified boundary gateway agreement 4 routing tables 1 3 8 8. The modified border gateway protocol 4 routing table 1 3 8 8 contains the modified route 1 3 9 9, notification of more specific routes, and so on. Then, the new modified Border Gateway Protocol 4 routing table 1 3 8 8 is fed to all Border Gateway Protocol clients in the network, and it is then used to guide communications to that purpose. For a given source address, the incoming site to a network is typically governed by policies for downstream network service providers and a network service provider (provided by such a network service) A set of rules set by the developer). Finally, the network service provider (such as an Internet service provider) that manages the destination will receive such notifications. The controller 205 in FIG. 2 is designed to receive performance characteristics such as delay, loss, jitter, etc. monitored by the calibrator element, and to receive such characteristics as bandwidth, cost, etc. monitored by the usage collector. Its use characteristics. The controller 2 05 is connected to the policy storage 2 1 8 to receive a flow policy, which typically includes a service level agreement performance matrix. The matrices may need to be compared with the monitored performance and usage characteristics. If a particular policy is violated (that is, one or more performance matrices are located in one or more of the expected range or beyond), then the controller 205 is determined to be in compliance with one or more of the relevant flow policies A subset of the alternative data paths. In another embodiment, the controller 205 selects an optimal or optimized path as an alternative data path that best meets the performance and use conditions defined by the policy. The active calibrator and the passive calibrator provide performance characteristics. Regarding the active calibrator, the controller 200 starts active calibration by requesting active detection. The active calibrator is configured to place one or more calibration probes on the detection path 207 and transmit them to the one or more data networks. The returned detection on the detection path 207 provides information back to the controller 205, which includes the identification of the usable path and the performance information about the usable path. Regarding the passive calibrator 205, the controller 205 is designed to receive an instant or near-instant network from the passive calibrator 2 3 0 as a monitor on the communication flow it receives. Performance characteristics (ie, loss' delay, jitter, etc.). Thereafter, the controller 205 provides a route change or update to the structural element 2 1 1. When an updated route change for a specific destination is implemented, it also communicates a signal 2 3 0 to The passive calibrator 2 0 3. The signal 2 30 is the erasure of the status of the passive calibrator 203, which causes the calibrator to restart monitoring the specific destination to ensure that the updated routing table or path is consistent with the flow policy. The erasure status signal 3 3 8 in Figure 3 shows that the signal from the controller initiates the reset of the passive flow analyzer. In one example, the controller 205 operates to interrupt the set of streaming data for each group of destination headers during an interval of 55 200300313. And if a policy violation occurs, the controller 205 determines which alternative route or path is most suitable for the preamble or communication form related to the current communication flow. The controller 2 05 then transmits the necessary routing change to the structural element 2 1 1. That is, the controller 205 resolves a policy violation regarding non-compliance with the network performance characteristics according to the relevant stream policy. This process is repeated until the policy violation is resolved. In another example, the controller 1 2 0 2 of FIG. 12 is designed to receive real-time or close to network usage characteristics such as usage rate, payment rate, etc., which are derived from the usage collector 1215. Real-time information. The controller 1 2 0 2 uses the information to resolve policy violations regarding non-compliance with network performance characteristics in accordance with the relevant flow policy. That is, during a route change or during a route change, the controller 1220 not only allows the controller to consider not only the performance of alternative paths, but also whether the alternative paths are not to avoid a specific network service. Spike data communications on the provider's path (ie, appropriate bandwidth for date conversion), or to view the path with the least cost under the streaming policy. In order to resolve the violation of the use form policy, the controller 205 is constructed to receive a routing table, for example, to determine which communication flow or route of current data on a certain path or its section for a A particular network service provider path or paths are congested (ie, loaded). The controller 1202 is also designed to receive data representing the traffic used for each alternative network service provider path, in order to determine a prefix to a given destination or before a given destination. Which subset of the set of communication flows comes in line with the relevant flow policy according to the communication flow. Therefore, an exemplary controller of the present invention is designed to obtain information about the performance and use of the data network, and implements corrective actions to effectively and efficiently follow paths that meet at least relevant policy conditions Or select the data path on the path section. The following discussion is about policies that address policy violations and implement the policy conditions or matrix policies and applications such as policies. Referring back to Figure 2, the controller 2 05 is connected to the policy storage 2 1 8 for receiving one or more policies. As stated above, a policy is a set of rules or thresholds (that is, the range of maximum, minimum, and acceptable operations), and the controller uses these rules to communicate the true nature of a particular communication flow. The flow characteristics are compared. For example, a policy is a user-defined mechanism used by the controller 205 to detect an equal flow of communications that will be monitored and act on it if needed. As an example, a policy can also indicate how that particular policy should be implemented (ie, include a hierarchical structure to address violations from the highest priority to the lowest priority). Although an exemplary policy includes conditions or rules regarding detection, performance, cost, and priority, those skilled in the art will appreciate that fewer or additional inputs can be measured or implemented in accordance with the present invention . Detection is defined as the technology or mechanism by which the detection flow control system 2000 determines which communication should act in response to a policy violation. The communication flow can be identified by name, by source or destination address, by source or destination port, or by any other known identification technique. For example, a policy department can be tied to just the header. That is, the system 200 will monitor the communication flow to or from a specific header, and if necessary, will implement the relevant flow policy according to its conditions . Further to detection, a policy defined for more specific previous headers can have priority over more general headers. For example, if a / 16 system contains the specific / 24, then the policy defined for a / 24 will have priority over the / 16. Performance is a policy condition that describes one or more target performance levels (ie, network / quality level policy parameters) or thresholds that are applied to a given list of previous heads or preheads. Although it is possible to define more than one effectiveness-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 loss, delay, and jitter. In addition, such conditions can be constructed as, for example, an absolute, fixed unit or an exponentially weighted moving average (EWMA). Absolute does not establish the threshold of a number, 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 placing an exponentially weighted historical sample over the most recent sample. Therefore, when it is related to historical conditions, it is confirmed that a threshold can be taken into account of the current network status . 58 200300313 Costs are expressed in policy definitions based on priority and whether the policy is predictable or reactive. The cost is characterized by the use of the collector 214 in Figure 2 to reconcile account reconciliation and bandwidth utilization with an aggregate and very coarse level (eg, via a destination network of 24). Cost forecasting conditions are used to actively shift communication from one network service provider to another network service provider to avoid creating a spike (that is, spike avoidance) that can trigger a new or higher rate . Cost response conditions are used when a minimum implementation rate or current rate is exceeded, in response to switching to communication 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, to comply with or violate a flow policy). In the case of predicted costs, the switching circuit is in compliance with or subsequently violates a flow policy. In any case, an action must be taken to resolve the situation, unless effectiveness is more important than cost (that is, performance conditions are resolved before a cost-based change is implemented) 0 Priority is a narrative one or more Each target uses or utilizes characteristics or levels of policy conditions. 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 obviously constructed by the operator of the system, the flow control system can automatically set the priority conditions of the network service provider or the route. The condition is then applied as a knotter in the case of a dead knot, so that the network service provider with the highest priority naked the knot, and thus receives the redirected communication flow. 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 to take the example of the transit network service provider part of the structure and use a percentage argument (that is, based on the available bandwidth), or can be set to An absolute chirp (ie, no more than the available bandwidth). The following is an example of a policy used with a controller to determine if that particular policy is compliant, and if the particular policy is not compliant, determine the course of the action. For example, consider the following policies and policy conditions used in a particular communication flow: priority or threshold: loss 10 2% delay 2 0 exponentially weighted moving average cost 3 0 predicted maximum usage 4 0 provider priority 5 0 Assume that the communication flow combined with the front head 2 4-0-34 • 0/2 4 is currently carrying communication at 2 4 0 kbit / s' and is the first network through 3 network service providers Road service providers arrive. First Network 200300313 The service provider currently carries 2 million bits / second and has a minimum condition of 5 million bits / second. The controller of the flow control system using the policy can monitor the alternative communication route or path and can determine its following flow characteristics regarding the network service providers: Conditional loss delay cost maximum usage measurement 5% of the first network service used by the first network service provider (violation) 140ms conforming to 5 million bits / second 2 million bits / second (conforming) of the service provider Unavailable Unavailable violates 5 megabits / second 4 megabit / sec (conforming) Unavailable Unavailable Unavailable 5 million bits / second 5 million bits / second (violation) delay 100ms 100ms 100ms In this case, the first network service provider is in a violation state because the 5% loss exceeds 2% of the maximum loss condition and because Losses are assigned a priority of 10 'and 50 is the lowest priority. Corrective action systems must be implemented. The policy will be implemented without delay or loss of information (that is, because it has the ability to see through other links, for example). In this case, the controller may use the active calibrator to initiate the active detection to determine whether other network providers (including the second network service provider and the third network service provider) are compliant. Alternatively, the controller may decide to proceed based on the next parameter in the policy where the repair part is known (for example, the cost in this case). Since 200300313 the second network service provider is compliant and the third network service provider is not compliant, the second network service provider is selected by the controller. If the second network service provider and the third network service provider are both in compliance, the controller will proceed to the next condition with a level, which is MaxUtil. If this happens, the second network service provider will still be selected. In summary, the policy such as the example policy described above is entered into the controller 205 in Fig. 2 and, for example, is combined with a specific previous head. This general detection method (absolute or baseline / historical) can be specified as each preamble, and therefore specified as a hard or absolute threshold for some known destinations, and used simultaneously 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 and that the front head should be moved under any circumstances. In order for the controller 205 to handle peer-to-peer connections, the controller 205 is in communication with the data director 2 205 to obtain the reachability of the particular front end to be changed. Information (such as routing tables). In the case of a switching circuit, the controller 205 uses the active calibrator 207 to decide, for example, by sending an active probe to the destination and then waiting for the response for a given destination Reachable information (such as routing tables). Although peer-to-peer connections are usually not achievable, 62 200300313 may be successful for proactive detection because some network service providers may not be able to effectively filter out communications at a peer, but instead rely on a credit A similar system ensures that only communications to these notified destinations are received. Therefore, in the case of peering, the controller 205 must watch the routing table for a notification of the destination before mobile communication to a peering connection. Referring to FIG. 15, the i-gateway protocol feed 1 59 9 includes the notified passive route and the active route. Otherwise, the data director 2 2 0 in FIG. 2 can be constructed according to the routing server 1 5 9 1 in FIG. 13, wherein the e-gateway protocol can be established by all network service providers. Get it. 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 2 1 4 of figure 2. At a given time from t 0 to tl, the current usage rate of 1602 and the current rate of 1600 are determined. As shown in the figure, the time point t 0 · 5 1 6 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 collector 2 1 4 is used to calculate the rate as shown in 63 200300313 in Figure 14 at that time. Most Internet service providers start with a minimum level of 1710. If the current use starts under the condition ', the idle bandwidth 1 7 1 1 is displayed. 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 7 1 3 represents. When the communication system drops back below the rate, a new rate 1 7 1 4 is set, and the system again has an available idle bandwidth 1 7 1 8. Figure 16 shows how an exemplary system 200 can detect a cost-based policy violation. If the cost policy condition is defined as an absolute threshold, as shown as 1 8 1 3. The threshold can be an absolute rate or a set amount of money to be spent (which is converted into an average rate by the system). On a sample-by-sample basis, the true communication rate of 1 8 1 4 should prevent a new rate above 1813 from being established. Using the short range prediction technique, the communication rate for the next few samples 1 8 1 5 can be predicted, and if the prediction predicts that a new rate 1 8 1 6 will be established, then Figure 2 The controller 205 can respond by removing communication from the network service provider. 64 200300313 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 that the network communication information is Internet communication, it should be understood that the present invention relates to a general network 'and does not need to be limited to Internet information. The scope of the invention is determined solely by the scope of the attached patent application. In the above description, the present invention has been described with reference to specific embodiments of the present invention. However, those skilled in the art will understand that the present 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. Brief Description of the Drawings FIG. 1A is an exemplary computer system for presenting a user interface suitable for implementing an embodiment of the present invention to a user; FIG. 1B is a view showing FIG. 1A Basic subsystems in a computer system; Figure 1C is a generalized diagram of an exemplary computer network suitable for use with the present invention; Figure 1D is a typical data network using multiple paths Figure 1E shows one 2003 200313 simplified data network and flow control system according to a specific embodiment of the present invention. Figure 2 shows an implementation of a flow control system according to an embodiment of the present invention. A simplified block diagram of the example; Figure 3 is a functional block diagram of an exemplary passive calibrator of Figure 2; Figure 4 is a function of an exemplary content flow analyzer of Figure 3 Block diagram; Fig. 5 is a functional block diagram of an output stream analyzer according to Fig. 3 of an embodiment of the present invention; Fig. 6 is a diagram of an output stream analyzer according to an embodiment of the present invention; Figure 3 is a functional block diagram of a passive flow analyzer; Figure 7 is a simplified timing diagram for determining the network performance matrix of an exemplary flow control system located near a customer or a source; Figure 8 is A simplified timing diagram for determining the network performance matrix of an exemplary flow control system located near a server or a destination; Figure 9 is a packet capture with distribution according to another embodiment of the present invention A network diagram of an exemplary passive calibrator; FIG. 10 is a network diagram of a distributed passive flow element according to yet another embodiment of the present invention; FIG. 11 is a network diagram of a passive flow device according to the present invention; FIG. 10 is a functional block diagram of the distributed passive flow element in FIG. 10 of another embodiment. FIG. 12 is a detailed block diagram of an exemplary use of a collector according to a specific implementation of the present invention; 66 200300313 FIG. 13 is a diagram illustrating a method of receiving multiple boundary gateway protocol 4 inputs or at least one boundary gateway protocol input according to an embodiment of the present invention. A block diagram of a routing server of a combined structural element; FIG. 14 is a graphical representation showing an exemplary method of determining the amount of available bandwidth that can be used without additional cost according to the present invention; FIG. 15 is a graphical representation showing an exemplary method of calculating the rate that can be programmed according to the present invention; FIG. 16 is a diagram showing the rate of calculation that can be programmed according to the short-range prediction of the present invention A graphical representation of an exemplary method; and FIG. 17 is a representation of an exemplary address or pre-list according to an embodiment of the present invention. [Explanation of component symbols] 1 Computer system 2 Server 3 Display 5 Display 7Γ: Screen 7 Box 9 Keyboard 11 Mouse 13 Button 2 0 Box 2 2 Internal bus 67 200300313 2 4 2 6 2 8 3 0 4 0 4 2 4 4 4 6 5 0 8 0 8 2 8 4 9 0 9 1 9 2 9 3 9 4 I / O controller system memory (or random access memory) The central processing unit displays the converter serial 璋 fixed magnetic Drive network interface converter monitor keyboard network system data network computer flow control system report information network service provider flow information source network 9 6 9 10 5 17 0 17 1 17 2 switch: router router controller One Path Second Path Chicago 68 200300313 1 7 3 Dallas 2 0 0 Flow Control System 2 0 1 Data Flow 2 0 2 Data Flow 2 0 3 Passive Calibrator 2 0 4 Information 2 0 5 Controller 2 0 6 Policy Information 2 0 7 Active detector 2 0 8 Active calibrator 2 〇 9 Active detection request 2 1 0 Routing change 2 1 1 Structural element 2 1 2 Request 2 1 3 Use information 2 1 4 Use collector 2 1 5 Payment information 2 1 7 Net Road service mention Data stream 218 by the reservoir 220 policy information guidance device 221 the reservoir 230 communication signal 303 correspond passive calibrator 305 Controller

69 200300313 330 被動流分析器 331 輸出流分析器 332 內容分析器 334 前置頭列表 335 前置頭通知訊號 338 淸除狀態訊號 3 4 0 通信流 3 4 1 來源69 200300313 330 Passive stream analyzer 331 Output stream analyzer 332 Content analyzer 334 Preamble list 335 Preamble notification signal 338 Deletion status signal 3 4 0 Communication flow 3 4 1 Source

3 4 2 內容 343 使用者路由列表 344 內容元件 3 4 5 路由器 346 輸出記錄 4 2 0 請求 4 2 2 回應 424 網際網路協定元件3 4 2 Content 343 User Route List 344 Content Element 3 4 5 Router 346 Output Record 4 2 0 Request 4 2 2 Response 424 Internet Protocol Element

4 2 6 前置頭 428 前置頭列表 430 前置資訊 432 內容流分析器 453 超文字傳輸協定伺服器 4 5 4 集合器 455 前置頭列表產生器 520 輸出流資料簡 70 200300313 5 2 4 集合元件 5 2 6 資訊 5 2 8 前置頭列表 5 3 0 前置資訊 5 3 1 輸出流分析器 5 3 2 前置頭通知訊號 5 4 9 格式解譯器 5 5 0 分析器 5 5 1 集合器 5 5 2 前置列表產生器 6 0 2 通信 6 0 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 9 2 SRT 7 9 4 示爲 7 9 5 超文字傳輸協定GET訊息4 2 6 Preamble 428 Preamble list 430 Preamble information 432 Content stream analyzer 453 Hypertext transfer protocol server 4 5 4 Collector 455 Preamble list generator 520 Output stream data Jane 70 200300313 5 2 4 Collection Component 5 2 6 Information 5 2 8 Header list 5 3 0 Header information 5 3 1 Output stream analyzer 5 3 2 Header notification signal 5 4 9 Format interpreter 5 5 0 Analyzer 5 5 1 Collector 5 5 2 Pre-list generator 6 0 2 Communication 6 0 5 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 9 2 SRT 7 9 4 Shown as 7 9 5 Hypertext Transfer Protocol GET message

71 200300313 8 9 2 SRT 8 9 3 超文字傳輸協定GET訊息 8 9 4 第一個資料路段 9 2 1 分接點 9 2 2 網路介面卡 9 3 0 被動流分析器 9 3 1 被動流分析器 9 5 3 集合的流重建元件 10 0 5 控制元件 10 2 0 通信流 10 2 4 分接點 10 2 5 被動流代理 10 2 6 路由器 10 2 8 中央被動流分析器 112 5 被動流代理 112 8 中央被動流分析器 112 9 流輸出記錄 115 0 封包捕捉 115 1 分析器 115 2 相關器 115 3 中央集合器 12 0 2 控制器 12 15 使用收集器 12 6 1 帳務資訊 72 200300313 12 7 1 網路服務提供者結構資訊 12 7 2 路由器 12 7 3 使用資訊 12 7 4 原始收集器 12 7 5 利用率監視器 12 7 6 帳務重建器 12 8 0 原始位元組計數 12 9 0 詢問 13 0 5 控制器 13 8 2 邊界閘道器協定4引擎 13 8 3 邊界閘道器協定4路由表 13 8 4 結構元件 13 8 8 邊界閘道器協定4路由表 13 8 9 被修改之路由表 13 9 1 路由伺服器 13 9 2 邊界閘道器協定4饋入 15 9 1 路由伺服器 15 9 9 i邊界閘道器協定饋入 16 0 0 費率 16 0 1 兩個値之間之差 16 0 2 使用率 16 0 3 時間點t0.5 17 10 最小條件水準 17 11 空閒的頻寬 73 200300313 17 13 費率之連續的較高階層 17 14 新的費率 17 18 空閒頻寬 18 0 0 路由引擎 18 0 5 控制器 18 12 流檢查器 18 13 動態資訊庫 18 14 資料導引器 18 15 取樣 18 16 新的費率 18 2 0 路由資訊庫 18 2 2 轉送資訊庫 18 2 4 網路位址轉換資訊庫 18 2 6 路由引擎 18 2 8 轉送引擎 18 3 0 網路位址轉換引擎 18 3 2 資料 19 0 0 資料結構 19 10 記錄 19 2 0 位址 19 4 0 位元組數量 19 6 0 前置頭旗標 19 7 0 列表 19 7 5 記錄 74 200300313 1980 前置頭列表 1990 記錄 1995 集合列表 1997 記錄71 200300313 8 9 2 SRT 8 9 3 Hypertext Transfer Protocol GET message 8 9 4 First data segment 9 2 1 Tap 9 2 2 Network interface card 9 3 0 Passive flow analyzer 9 3 1 Passive flow analyzer 9 5 3 Collective flow reconstruction element 10 0 5 Control element 10 2 0 Communication flow 10 2 4 Tap point 10 2 5 Passive flow agent 10 2 6 Router 10 2 8 Central passive flow analyzer 112 5 Passive flow agent 112 8 Central Passive Flow Analyzer 112 9 Flow Output Record 115 0 Packet Capture 115 1 Analyzer 115 2 Correlator 115 3 Central Collector 12 0 2 Controller 12 15 Using Collector 12 6 1 Accounting Information 72 200300313 12 7 1 Network Services Provider Structure Information 12 7 2 Router 12 7 3 Usage Information 12 7 4 Original Collector 12 7 5 Utilization Monitor 12 7 6 Account Rebuilder 12 8 0 Original Byte Count 12 9 0 Ask 13 0 5 Controller 13 8 2 Border Gateway Protocol 4 Engine 13 8 3 Border Gateway Protocol 4 Routing Table 13 8 4 Structural Elements 13 8 8 Border Gateway Protocol 4 Routing Table 13 8 9 Modified Routing Table 13 9 1 Route Servo 13 13 2 border Gateway protocol 4 feed 15 9 1 Route server 15 9 9 i Border gateway protocol feed 16 0 0 Rate 16 0 1 Difference between two 16 16 0 2 Utilization rate 16 0 3 Time point t0 .5 17 10 Minimum condition level 17 11 Free bandwidth 73 200300313 17 13 Consecutive higher tiers of rates 17 14 New rates 17 18 Free bandwidth 18 0 0 Routing engine 18 0 5 Controller 18 12 Flow check Device 18 13 dynamic information database 18 14 data director 18 15 sampling 18 16 new rate 18 2 0 routing information database 18 2 2 routing information database 18 2 4 network address conversion information database 18 2 6 routing engine 18 2 8 Forwarding engine 18 3 0 Network address translation engine 18 3 2 Data 19 0 0 Data structure 19 10 Record 19 2 0 Address 19 4 0 Number of bytes 19 6 0 Header flag 19 7 0 List 19 7 5 records 74 200300313 1980 prefix list 1990 records 1995 collection list 1997 records

7575

Claims (1)

200300313 拾、申請專利範圍 1. 一種用於實施藉由電腦網路作通訊資料之政策的方法 ,該電腦網路係設計成於一個第一點及一個第二點之間選 舉資料之路由,該第一點係連接至一或多個第一網路,該 一或多個第一網路之至少一個係連接至複數個第二網路之 至少一個,該複數個第二網路之至少一個係連接至該第二 點,該些網路之每一個係包含一個路徑之至少一個路段, 該路段係由該第一點至該第二點,以傳輸該資料至該第二 點,其中,該些網路之至少兩個係連接至一個互連點,且 該資料係流經該互連點,該方法係包含下列步驟: 監視與至少一個路段相關之至少一個使用特性,該至 少一個路段係位於一個第一網路之中;及 比較該至少一個使用特性及一個政策之一個相關之使 用條件。 2. 如申請專利範圍第1項之用於實施藉由電腦網路作通 訊資料之政策的方法,該方法係進一步包含: 決定是否與於該第一網路中之資料路由相關之至少一 個使用特性係違反該使用條件。 3. 如申請專利範圍第2項之用於實施藉由電腦網路作通 訊資料之政策的方法,該方法係進一步包含: 修改該資料之路由,使得與在該第一網路內之資料的 路由相關之至少一個使用特性係不再違反該使用條件。 4. 如申請專利範圍第3項之用於實施藉由電腦網路作通 訊資料之政策的方法,其中,該修改資料路由之步驟係包 76 200300313 含: 監視與至少另一個路段相關之至少一個使用特性,該 另一個路段係位於另一個第一網路之中; 決定是否與該另一個第一網路中之資料的路由相關之 一或多個使用特性係符合該使用條件;及 改變該資料之路由,使得資料係選擇經過位於該另一 個第一網路中之該另一個路段之路由。 5. 如申請專利範圍第1項之用於實施藉由電腦網路作通 訊資料之政策的方法,該方法係進一步包含: 監視與該路徑相關之至少一個效能特性。 6. 如申請專利範圍第5項之用於實施藉由電腦網路作通 訊資料之政策的方法,該方法係進一步包含: 決定是否與該路徑相關之至少一個效能特性係違反一 或多個效能條件; 監視與至少另一個路段相關之至少一個使用特性; 決定是否與該另一個第一網路中之資料的路由相關之 一或多個使用特性係符合該效能條件;及 改變該資料之路由,使得資料係選擇經過該另一個路 徑之路由。 7. 如申請專利範圍第1項之用於實施藉由電腦網路作通 訊資料之政策的方法,其中,該監視該至少一個使用特性 之步驟係包含: 測量關於該至少一個路段之利用率之一個使用特性。 8. 如申請專利範圍第1項之用於實施藉由電腦網路作通 77 200300313 訊資料之政策的方法,其中,該監視該至少一個使用特性 之步驟係包含: 測量關於該至少一個路段之使用之一個使用特性。 9.如申請專利範圍第丨項之用於實施藉由電腦網路作通 訊資料之政策的方法,其中,該監視該至少一個使用特性 之步驟係包含: 測量關於該至少一個路段之負載之一個使用特性。 10·如申請專利範圍第1項之用於實施藉由電腦網路作 通訊資料之政策的方法,其中,該監視該至少一個使用特 性之步驟係包含: 測量關於該至少一個路段之成本之一個使用特性。 11. 如申請專利範圍第1項之用於實施藉由電腦網路作 通訊資料之政策的方法,其中,該監視該至少一個使用特 性之步驟係包含: 測量關於損失之一個效能特性。 12. 如申請專利範圍第1項之用於實施藉由電腦網路作 通訊資料之政策的方法,其中,該監視該至少一個使用特 性之步驟係包含: 測量關於延遲之一個效能特性。 13. 如申請專利範圍第1項之用於實施藉由電腦網路作 通訊資料之政策的方法,其中,該監視該至少一個使用特 性之步驟係包含: 測量關於抖動之一個效能特性。 14. 一種用於實施藉由電腦網路作通訊資料之政策的系 78 200300313 統,該電腦網路係設計成於一個第一點及一個第二點之間 選舉資料之路由,該第一點係連接至一或多個第一網路, 該一或多個第一網路之至少一個係連接至複數個第二網路 之至少一個,該複數個第二網路之至少一個係連接至該第 二點,該些網路之每一個係包含一個路徑之至少一個路段 ,該路段係由該第一點至該第二點,以傳輸該資料至該第 二點,其中,該些網路之至少兩個係連接至一個互連點, 且該資料係流經該互連點,該系統係包含: 一個使用監視模組,其係建構成監視與至少一個路段 相關之至少一個使用特性,該至少一個路段係位於一個第 一網路之中;及 一個比較模組,其係建構成比較該至少一個使用特性 及一個政策之一個相關之使用條件。 15. 如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其進一步包含: 一個使用決定模組,其係建構成決定是否與於該第一 網路中之資料路由相關之至少一個使用特性係違反該使用 條件。 16. 如申請專利範圍第1 5項之用於實施藉由電腦網路 作通訊資料之政策的系統,其係進一步包含: 一個修改模組,其係建構成修改該資料之路由,使得 與在該第一網路內之資料的路由相關之至少一個使用特性 係不再違反該使用條件。 17. 如申請專利範圍第1 6項之用於實施藉由電腦網路 79 200300313 作通訊資料之政策的系統,其中,該修改模組係包含: 一個第一模組,其係建構成監視與至少另一個路段相 關之至少一個使用特性,該另一個路段係位於另一個第一 網路之中; 一個第二模組,其係建構成決定是否與該另一個第一 網路中之資料的路由相關之一或多個使用特性係符合該使 用條件;及 一個第三模組,其係建構成改變該資料之路由,使得 資料係選擇經過位於該另一個第一網路中之該另一個路段 之路由。 18. 如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其係進一步包含: 一個效能監視模組,其係建構成監視與該路徑相關之 至少一個效能特性。 19. 如申請專利範圍第1 8項之用於實施藉由電腦網路 作通訊資料之政策的系統,其係進一步包含: 一個效能決定模組,其係建構成決定是否與該路徑相 關之至少一個效能特性係違反一或多個效能條件,該效能 監視模組係建構成監視與另一個路徑相關之至少一個效能 特性; 一個效能決定模組,其係建構成決定是否與該另一個 第一網路中之資料的路由相關之一或多個使用特性係符合 該效能條件;及 一個改變模組,其係建構成改變該資料之路由,使得 80 200300313 資料係選擇經過該另一個路徑之路由。 20·如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其中,該使用監視模組係包含 一個利用率測量模組,其係建構成測量關於該至少一 個路段之利用率之一個使用特性。 21. 如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其中,該使用監視模組係包含 一個使用測量模組,其係建構成測量關於該至少一個 路段之使用之一個使用特性。 22. 如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其中,該使用監視模組係包含 一個負載測量模組,其係建構成測量關於該至少一個 路段之負載之一個使用特性。 23. 如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其中,該使用監視模組係包含 一個成本測量模組,其係建構成測量關於該至少一個 路段之成本之一個使用特性。 24. 如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其中,該使用監視模組係包含 81 200300313 一個損失測量模組,其係建構成測量關於損失之一個 效能特性。 25. 如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其中,該使用監視模組係包含 一個延遲測量模組,其係建構成測量關於延遲之一個 效能特性。 26. 如申請專利範圍第1 4項之用於實施藉由電腦網路 作通訊資料之政策的系統,其中,該使用監視模組係包含 一個抖動測量模組,其係建構成測量關於抖動之一個 效能特性。 27. —種用於實施藉由電腦網路作通訊資料之政策的系 統’該電腦網路係設計成於一個第一點及一個第二點之間 選舉資料之路由,該第一點係連接至一或多個第一網路, 該一或多個第一網路之至少一個係連接至複數個第二網路 之至少一個,該複數個第二網路之至少一個係連接至該第 二點’該些網路之每一個係包含一個路徑之至少一個路段 ’該路段係由該第一點至該第二點,以傳輸該資料至該第 二點’其中,該些網路之至少兩個係連接至一個互連點, 且該資料係流經該互連點,該系統係包含: 用於監視與至少一個路段相關之至少一個使用特性之 裝置’該至少一個路段係位於一個第一網路之中;及 用於比較該至少一個使用特性及一個政策之一個相關 82 200300313 之使用條件之裝置。 28. 如申請專利範圍第2 7項之用於實施藉由電腦網路 作通訊資料之政策的系統,其進一步包含: 用於決定是否與於該第一網路中之資料路由相關之至 少一個使用特性係違反該使用條件之裝置。 29. 如申請專利範圍第2 8項之用於實施藉由電腦網路 作通訊資料之政策的系統,其係進一步包含: 用於修改該資料之路由之裝置,使得與在該第一網路 內之資料的路由相關之至少一個使用特性係不再違反該使 用條件。 30. —種電腦可讀媒體,其係用於實施藉由電腦網路作 通訊資料之政策,該電腦網路係設計成於一個第一點及一 個第二點之間選舉資料之路由,該第一點係連接至一或多 個第一網路,該一或多個第一網路之至少一個係連接至複 數個第二網路之至少一個,該複數個第二網路之至少一個 係連接至該第二點,該些網路之每一個係包含一個路徑之 至少一個路段,該路段係由該第一點至該第二點,以傳輸 該資料至該第二點,其中,該些網路之至少兩個係連接至 一個互連點,且該資料係流經該互連點,該電腦可讀媒體 係包含: 用於監視與至少一個路段相關之至少一個使用特性之 指令,該至少一個路段係位於一個第一網路之中;及 用於比較該至少一個使用特性及一個政策之一個相關 之使用條件之指令。 83 200300313 31. 如申請專利範圍第3 0項之電腦可讀媒體,其係進 一步包含: 用於決定是否與於該第一網路中之資料路由相關之至 少一個使用特性係違反該使用條件之指令。 32. 如申請專利範圍第3 1項之電腦可讀媒體,其係進 一步包含: 用於修改該資料之路由之指令,使得與在該第一網路 內之資料的路由相關之至少一個使用特性係不再違反該使 用條件。 33. —種用於實施藉由電腦網路作通訊資料之政策的方 法,該電腦網路係設計成於一個第一點及一個第二點之間 選舉資料之路由,該第一點係連接至一或多個第一網路, 該一或多個第一網路之至少一個係連接至複數個第二網路 之至少一個,該複數個第二網路之至少一個係連接至該第 二點,該些網路之每一個係包含一個路徑之至少一個路段 ,該路段係由該第一點至該第二點,以傳輸該資料至該第 二點,其中,該些網路之至少兩個係連接至一個互連點, 且該資料係流經該互連點,該方法係包含下列步驟: 比較該至少一個使用特性及一個政策之一個相關之使 用條件; 決定是否與於該第一網路中之資料路由相關之至少一 個使用特性係違反該使用條件;及 修改該資料之路由,使得與在該第一網路內之資料的 路由相關之至少一個使用特性係不再違反該使用條件。 84200300313 Patent application scope 1. A method for implementing the policy of using computer network as communication data, the computer network is designed to route election data between a first point and a second point, the The first point is connected to one or more first networks, and at least one of the one or more first networks is connected to at least one of a plurality of second networks, and at least one of the plurality of second networks Is connected to the second point, each of the networks includes at least one section of a path, and the section is from the first point to the second point to transmit the data to the second point, wherein, At least two of the networks are connected to an interconnection point, and the data flows through the interconnection point. The method includes the following steps: monitoring at least one usage characteristic related to at least one road segment, the at least one road segment Located in a first network; and comparing the at least one usage characteristic and a related usage condition of a policy. 2. For the method for implementing the policy of using computer network as communication data in the scope of patent application item 1, the method further includes: determining whether to use at least one use related to data routing in the first network The characteristics are in violation of this condition of use. 3. For the method of implementing the policy of using computer network as communication data in item 2 of the scope of patent application, the method further includes: modifying the routing of the data so that it is related to the data in the first network. At least one usage characteristic related to routing is no longer in violation of the usage condition. 4. For the method of implementing the policy of using computer network as communication data in item 3 of the scope of patent application, wherein the step of modifying data routing is package 76 200300313 including: monitoring at least one related to at least another road segment Usage characteristics, the other road segment is located in another first network; determining whether one or more usage characteristics related to routing of data in the other first network meet the usage conditions; and changing the The routing of the data enables the data to be routed through the other section of the other first network. 5. If the method for implementing the policy of communicating data through a computer network according to item 1 of the scope of the patent application, the method further comprises: monitoring at least one performance characteristic related to the path. 6. The method for implementing a policy for communicating information via a computer network as described in item 5 of the patent application scope, the method further comprising: determining whether at least one performance characteristic associated with the path violates one or more performances Conditions; monitoring at least one usage characteristic related to at least another road segment; deciding whether one or more usage characteristics related to the routing of data in the other first network meet the performance condition; and changing the routing of the data So that the data is routed through that other path. 7. The method for implementing the policy of using computer network for communication data as in item 1 of the scope of patent application, wherein the step of monitoring the at least one usage characteristic includes: measuring the utilization rate of the at least one road section A usage characteristic. 8. The method for implementing the policy of communicating information through a computer network according to item 1 of the scope of patent application, wherein the step of monitoring the at least one usage characteristic comprises: measuring the Use one of the usage characteristics. 9. The method for implementing a policy of communicating information through a computer network according to item 丨 of the patent application scope, wherein the step of monitoring the at least one usage characteristic comprises: measuring one of the loads on the at least one road segment Use characteristics. 10. The method for implementing the policy of using a computer network as a communication material according to item 1 of the scope of patent application, wherein the step of monitoring the at least one usage characteristic comprises: measuring one of the costs of the at least one road section Use characteristics. 11. The method for implementing a policy of communicating information through a computer network as described in item 1 of the patent application scope, wherein the step of monitoring the at least one usage characteristic comprises: measuring a performance characteristic regarding loss. 12. The method for implementing a policy for communicating information through a computer network as described in item 1 of the patent application scope, wherein the step of monitoring the at least one usage characteristic comprises: measuring a performance characteristic regarding latency. 13. The method for implementing the policy of using computer network for communication data according to item 1 of the patent application scope, wherein the step of monitoring the at least one usage characteristic comprises: measuring a performance characteristic regarding jitter. 14. A system for implementing a policy of communication data through a computer network 78 200300313, the computer network is designed to route election data between a first point and a second point, the first point Is connected to one or more first networks, at least one of the one or more first networks is connected to at least one of a plurality of second networks, and at least one of the plurality of second networks is connected to The second point, each of the networks includes at least one section of a path, the section is from the first point to the second point to transmit the data to the second point, wherein the networks At least two of the roads are connected to an interconnection point, and the data flows through the interconnection point. The system includes: a usage monitoring module constructed to monitor at least one usage characteristic related to at least one road segment The at least one road section is located in a first network; and a comparison module is constructed to compare the at least one usage characteristic and a related usage condition of a policy. 15. For the system for implementing the policy of using computer network as communication data in item 14 of the scope of patent application, it further includes: a usage decision module, which is constructed to determine whether it is related to the first network At least one of the usage characteristics related to the data routing in the violation of the conditions of use. 16. For example, the system for implementing the policy of using computer network for communication data in item 15 of the scope of patent application, which further includes: a modification module, which constructs a route to modify the data, so that At least one usage characteristic related to the routing of data in the first network is no longer in violation of the usage condition. 17. The system for implementing the policy of using the computer network 79 200300313 as a communication data, such as item 16 of the scope of patent application, wherein the modified module includes: a first module, which is constructed to constitute a monitoring and At least one usage characteristic related to at least another road segment, which is located in another first network; a second module, which is constructed to determine whether it is related to the data in the other first network One or more usage characteristics related to routing are in compliance with the usage conditions; and a third module is constructed to change the routing of the data so that the data is selected to pass through the other in the other first network Routing of road sections. 18. The system for implementing the policy of using computer network for communication data as described in item 14 of the scope of patent application, further comprising: a performance monitoring module, which is configured to monitor at least one related to the path Performance characteristics. 19. For example, the system for implementing the policy of using computer network for communication data in item 18 of the scope of patent application, which further includes: A performance determination module, which is constructed to determine at least whether it is related to the path A performance characteristic violates one or more performance conditions. The performance monitoring module is configured to monitor at least one performance characteristic related to another path. A performance determination module is configured to determine whether it is related to the other first. One or more of the usage characteristics related to the routing of data in the network meet the performance conditions; and a change module, which is constructed to change the routing of the data, so that 80 200300313 data is selected to route through the other path . 20. The system for implementing the policy of using computer network for communication data as described in item 14 of the scope of patent application, wherein the usage monitoring module includes a utilization measurement module, which is constructed to measure the A usage characteristic of utilization of at least one road segment. 21. The system for implementing the policy of using computer network for communication data as described in item 14 of the scope of patent application, wherein the usage monitoring module includes a usage measurement module, which constitutes a measurement related to the at least The usage characteristics of a road segment. 22. The system for implementing the policy of using computer network for communication data as in item 14 of the scope of patent application, wherein the use monitoring module includes a load measurement module, which constitutes a measurement related to the at least A usage characteristic of the load of a road section. 23. For the system for implementing the policy of using computer network for communication data as in item 14 of the scope of patent application, wherein the use monitoring module includes a cost measurement module, which is constructed to measure the at least A usage characteristic of the cost of a road segment. 24. For example, the system for implementing the policy of using computer network as communication data in item 14 of the scope of patent application, wherein the use monitoring module includes 81 200300313 a loss measurement module, which is constituted to measure the A performance characteristic of loss. 25. For example, the system for implementing the policy of using computer network as communication data in item 14 of the scope of patent application, wherein the use monitoring module includes a delay measurement module which is configured to measure A performance feature. 26. For example, the system for implementing the policy of using computer network as communication data for item 14 of the scope of patent application, wherein the use monitoring module includes a jitter measurement module, which is configured to measure the jitter A performance feature. 27. —A system for implementing a policy of communicating information through a computer network 'The computer network is designed to route election data between a first point and a second point, and the first point is connected To one or more first networks, at least one of the one or more first networks is connected to at least one of a plurality of second networks, and at least one of the plurality of second networks is connected to the first Two points' Each of these networks includes at least one section of a path 'The section is from the first point to the second point to transmit the data to the second point' Among them, of the networks At least two systems are connected to an interconnection point, and the data flow through the interconnection point, the system includes: means for monitoring at least one usage characteristic related to at least one road segment; the at least one road segment is located at one In the first network; and a device for comparing the at least one usage characteristic and a related 82 200300313 usage condition of a policy. 28. The system for implementing a policy for communicating information through a computer network as described in item 27 of the patent application scope, further comprising: at least one for determining whether it is related to data routing in the first network Use characteristics are devices that violate the conditions of use. 29. For example, the system for implementing the policy of communicating information through a computer network according to item 28 of the scope of patent application, which further includes: a device for modifying the routing of the data so that it communicates with the first network At least one of the usage characteristics associated with the routing of information within the data is no longer in violation of the conditions of use. 30. A computer-readable medium, which is used to implement the policy of communicating data through a computer network, which is designed to route election data between a first point and a second point, the The first point is connected to one or more first networks, and at least one of the one or more first networks is connected to at least one of a plurality of second networks, and at least one of the plurality of second networks Is connected to the second point, each of the networks includes at least one section of a path, the section is from the first point to the second point to transmit the data to the second point, wherein, At least two of the networks are connected to an interconnection point, and the data flows through the interconnection point, the computer-readable medium includes: instructions for monitoring at least one usage characteristic related to at least one road segment The at least one road section is located in a first network; and an instruction for comparing the at least one usage characteristic and a related usage condition of a policy. 83 200300313 31. The computer-readable medium of claim 30 in the scope of patent application further comprises: at least one usage characteristic for determining whether or not the information related to the data routing in the first network is in violation of the usage condition instruction. 32. The computer-readable medium of item 31 of the scope of patent application, further comprising: an instruction for modifying the routing of the data so that at least one usage characteristic is related to the routing of the data in the first network. The system no longer violates these conditions of use. 33. A method for implementing a policy of communicating data through a computer network designed to route election data between a first point and a second point, the first point being a connection To one or more first networks, at least one of the one or more first networks is connected to at least one of a plurality of second networks, and at least one of the plurality of second networks is connected to the first At two points, each of the networks includes at least one section of a path, and the section is from the first point to the second point to transmit the data to the second point, where the networks are At least two systems are connected to an interconnection point, and the data flows through the interconnection point. The method includes the following steps: comparing the at least one usage characteristic and a related usage condition of a policy; At least one usage characteristic related to routing of data in the first network violates the use condition; and modifying the routing of the data so that at least one usage characteristic related to routing of data in the first network is no longer violated The conditions of use. 84
TW91132419A 2001-11-02 2002-11-01 System and method to provide routing control of information over data networks TW200300313A (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
TW200300313A true TW200300313A (en) 2003-05-16

Family

ID=51660848

Family Applications (3)

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

Family Applications After (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
TW91132471A TW200300315A (en) 2001-11-02 2002-11-04 Data network controller

Country Status (1)

Country Link
TW (3) TW200300313A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737264B2 (en) * 2008-09-02 2014-05-27 Koninklijke Philips N.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
TW200300314A (en) 2003-05-16
TW200300315A (en) 2003-05-16

Similar Documents

Publication Publication Date Title
US7222190B2 (en) System and method to provide routing control of information over data networks
US7561517B2 (en) Passive route control of data networks
US7133365B2 (en) System and method to provide routing control of information over networks
US7668966B2 (en) Data network controller
US7269157B2 (en) System and method to assure network service levels with intelligent routing
US7584298B2 (en) Topology aware route control
US8601155B2 (en) Telemetry stream performance analysis and optimization
CA2637743C (en) Method and apparatus for the assessment and optimization of network traffic
US8127013B2 (en) Method and apparatus for a software programmable intelligent network
WO2004073269A1 (en) Transmission system, distribution route control device, load information collection device, and distribution route control method
EP1511220A2 (en) Non-intrusive method for routing policy discovery
TW200300313A (en) System and method to provide routing control of information over data networks
Abd Rahman et al. Hybrid optimisation for managed network services
EP1826947A2 (en) Method and apparatus for the assessment and optimization of network traffic
Taveira Araújo Traffic re-engineering: Extending resource pooling through the application of re-feedback
Christophe et al. 1-Bit Schemes for Service Discrimination in the Internet: Analysis and Evaluation