專利名稱:動態(tài)產(chǎn)生應用層流量優(yōu)化協(xié)議圖的制作方法
技術領域:
本發(fā)明涉及計算機網(wǎng)絡,更具體地講,涉及增強的內容傳輸。
背景技術:
端對端(P2P,peer-to-peer)以及內容傳輸網(wǎng)絡(CDN)應用提供了大量數(shù)據(jù)并產(chǎn)生巨大的網(wǎng)絡流量。這些應用對位于多個不同網(wǎng)絡節(jié)點的多份數(shù)據(jù)內容產(chǎn)生杠桿作用,從而允許委托代理從許多可能的數(shù)據(jù)源中的一個或多個獲得部分的數(shù)據(jù)內容。將數(shù)據(jù)內容分發(fā)至用于傳輸?shù)亩鄠€節(jié)點(以諸如文件分享、實時通訊以及按需媒體流的應用為代表)使得應用的性能和可擴展性改善。P2P和⑶N應用客戶機通常輕易地選擇資源,即,沒有結合網(wǎng)絡拓撲信息或相關細節(jié)。并且,客戶機依賴于試探法以接近這樣的信息。結果,使用這些應用的交換的網(wǎng)絡數(shù)據(jù)流量可能堵塞網(wǎng)絡鏈路,跨過服務提供商網(wǎng)絡邊界數(shù)次,而且通常通過通信網(wǎng)絡的方式從用戶的立場來看不是最理想的,從服務提供商的角度來看也不是所期望的。例如,盡管兩個對等體(peer)可能是同一個服務提供商網(wǎng)絡的成員,但是連接這些對等體的重疊鏈路 (overlay link)仍然跨過多個網(wǎng)絡邊界,這對于服務提供商不必要地增加了對等體之間的傳送開銷。此外,盡管分布式應用在數(shù)據(jù)源利用額外的帶寬來提高吞吐量(流量),并且降低終端用戶的等待時間的同時也減輕內容提供商提供應用服務器的負擔,但是廉價地分配數(shù)據(jù)內容的能力是以服務提供商承擔費用而獲得的,服務提供商承擔了無效傳輸網(wǎng)絡數(shù)據(jù)的開銷。服務提供商、內容提供商或第三方可以提供應用層流量優(yōu)化(ALTO)協(xié)議服務以對應用客戶機以及內容請求路由器提供關于選擇從哪一個特定源獲取數(shù)據(jù)內容的指導。 ALTO服務提供結合了與網(wǎng)絡資源有關的參數(shù)的信息,從而在維持或改善應用的性能的同時改變網(wǎng)絡資源開銷模式。在一個實例中,服務提供商給服務提供商網(wǎng)絡的ALTO服務器提供網(wǎng)絡拓撲以及拓撲鏈路開銷信息。應用客戶機和內容請求路由器將ALTO請求發(fā)送給ALTO 服務器以獲得網(wǎng)絡圖以及相應的開銷圖。網(wǎng)絡圖指定一組由網(wǎng)絡的ALTO服務器限定的拓撲分組或“PID”。網(wǎng)絡圖內的特定PID可以代表單個裝置或裝置組件、諸如由網(wǎng)絡地址前綴識別的網(wǎng)絡子網(wǎng)的裝置聚集、服務提供商網(wǎng)絡或一些其他分組。相應網(wǎng)絡圖的開銷圖定義了提供商偏好,該提供商偏好與網(wǎng)絡圖中的多個PID之間的連接的PID間路由開銷有關。 使用由ALTO服務器提供的網(wǎng)絡圖和開銷圖,應用客戶機以及內容請求路由器選擇服務源以最小化內容請求客戶機和可利用的資源之間的開銷(如由ALTO圖所指定的)。結果,提供ALTO服務器的服務提供商可以指示應用客戶機和請求路由器根據(jù)服務提供商偏好選擇資源,服務提供商偏好可以包括例如最優(yōu)化吞吐量和/或用戶體驗、降低服務提供商的開銷或促進其他提供商目標。關于ALTO服務和ALTO協(xié)議的更詳細的描述參見 J. Seedorf 等,RFC 5693,“Application-Layer Traffic Optimization (ALTO) Problem Statement”, Network Working Group, the Internet Engineering Task Force draft, 2009 年 10 月;以及 R. Alimi 等,“ALTO Protocol :draft-ietf-alto-protocol-06. txt,,,ALT0 Working Group,the Internet Engineering Task Force draft,2010年 10 月, 以上文獻通過引用全部結合到本文。
發(fā)明內容
總得來說,所介紹的技術用于使用通過網(wǎng)絡路由協(xié)議的操作獲得的路由信息來動態(tài)產(chǎn)生(例如由應用層流量優(yōu)化(ALTO)協(xié)議提供的)應用層流量優(yōu)化服務的網(wǎng)絡圖和開銷圖。在一個實例中,自治系統(tǒng)(AS,autonomous system)的ALTO服務器通過監(jiān)聽由路由器輸出的路由協(xié)議更新信息來從AS的路由器接收諸如拓撲、鏈路狀態(tài)和鏈路指標信息的路由信息。換言之,ALTO服務器可以執(zhí)行層3 (L3)路由協(xié)議以探聽(snoop),或相反地, 接收網(wǎng)絡內的L3路由裝置之間交換的路由協(xié)議更新信息。基于路由協(xié)議更新信息,ALTO 服務器結合(assemble)代表該網(wǎng)絡的拓撲信息。由ALTO服務器探聽的拓撲信息可以包括描述AS (包括接收ALTO服務器)的AS內拓撲的信息,以及描述相鄰自治系統(tǒng)的AS內 (intra-AS)拓撲的以及多個互聯(lián)自治系統(tǒng)的AS間(inter-AQ拓撲的信息。ALTO服務器使用結合的拓撲信息來動態(tài)產(chǎn)生PID的ALTO網(wǎng)絡圖,其反映了包括ALTO服務器的AS和/ 或包括多個額外AS的更寬網(wǎng)絡的當前拓撲。在某些情況下,ALTO服務器功能可以結合到網(wǎng)絡的L3路由裝置中,該L3路由裝置在網(wǎng)絡中被操作為至其他路由器的對等體。在路由協(xié)議更新信息中由ALTO服務器接收的鏈路指標(例如距離或吞吐量)、自治系統(tǒng)路徑長度以及管理配置的數(shù)據(jù)確定了在動態(tài)產(chǎn)生的網(wǎng)絡圖的PID之間的當前PID間開銷。ALTO服務器動態(tài)使用所接收的反映當前鏈路指標的路由信息來計算PID間開銷。然后,ALTO服務器將PID間開銷結合到ALTO開銷圖中,ALTO服務器可以將該ALTO開銷圖與 ALTO網(wǎng)絡圖一起提供給ALTO客戶機。此外,主ALTO服務器可以與其他聯(lián)合的自治系統(tǒng)的ALTO服務器相互作用以接收在AS內部ALTO服務器根據(jù)他們各自的網(wǎng)絡拓撲視角產(chǎn)生的網(wǎng)絡圖及開銷圖。對于更寬網(wǎng)絡的遠程區(qū)域使用這些圖內包括的詳細拓撲和開銷信息,主ALTO服務器產(chǎn)生詳細描述了更寬多AS網(wǎng)絡的可利用PID以及PID間開銷的更完整視角的主網(wǎng)絡ALTO和開銷圖。然后, ALTO服務器可以將主ALTO網(wǎng)絡和開銷圖傳遞給ALTO客戶機和/或聯(lián)合的ALTO服務器,從而改善應用的AS間節(jié)點選擇。所介紹的技術可以具有一個或多個優(yōu)點。例如,利用ALTO服務器用從網(wǎng)絡部件接收的路由信息動態(tài)產(chǎn)生和更新ALTO網(wǎng)絡和開銷圖使得ALTO圖同步到總是變化的網(wǎng)絡環(huán)境。結果,由ALTO服務器提供到ALTO客戶機的ALTO網(wǎng)絡和開銷圖可以反映對網(wǎng)絡拓撲和 /或應用的最新更新,由此可以改善節(jié)點選擇并提高應用性能。此外,自動創(chuàng)建網(wǎng)絡和開銷圖可以減輕經(jīng)營者的ALTO服務器配置負擔,使得在大規(guī)模服務提供商環(huán)境中實現(xiàn)ALTO服務器是可行的。此外,這些技術可以使用從網(wǎng)絡部件(例如邊界網(wǎng)關協(xié)議(Border Gateway Protocol)和內部網(wǎng)關協(xié)議(Interior Gateway Protocol)揚聲器)接收的AS內(域內)和AS間(域間)路由信息。因此,實現(xiàn)這些技術的ALTO服務器可以從不能在該ALTO服務器內被管理配置的遠程AS接收并結合ALTO網(wǎng)絡和開銷圖路由信息。在一個實施方式中,本發(fā)明涉及一種方法,包括在應用層流量優(yōu)化(ALTO)服務器上執(zhí)行路由協(xié)議以接收層3 (U)網(wǎng)絡拓撲信息,該層3 (U)網(wǎng)絡拓撲信息定義至網(wǎng)絡端點的路徑;以及,利用ALTO服務器,將端點聚合到拓撲分組(PID)的一個或多個子組的組中,其中,各PID與端點的不同子組相關聯(lián)。該方法還包括利用路由協(xié)議,接收指定一個或多個路由并且包括用于識別一個或多個端點的網(wǎng)絡地址信息的拓撲信息通知。該方法還包括利用ALTO服務器,將所識別的端點聚合到PID的所述組中的第一個中。該方法還包括 利用ALTO服務器,生成包括描述各PID的PID條目的ALTO網(wǎng)絡圖;以及將ALTO網(wǎng)絡圖從 ALTO服務器發(fā)送至ALTO客戶機。在另一實施方式中,本發(fā)明涉及一種方法,包括在應用層流量優(yōu)化(ALTO)服務器上執(zhí)行內部網(wǎng)關協(xié)議,并且利用內部網(wǎng)關協(xié)議,接收用于包括ALTO服務器的自治系統(tǒng)的路由信息。該方法還包括利用ALTO服務器,至少基于該路由信息,為ALTO網(wǎng)絡圖的拓撲分組(PID)的一個或多個子組的組的一對計算ALTO開銷,其中,PID的組中的每一個與包括自治系統(tǒng)的網(wǎng)絡的端點的不同子組相關聯(lián)。該方法還包括產(chǎn)生ALTO開銷圖,其包括指定該對PID的第一成員和第二成員之間的ALTO開銷的條目,并且從ALTO服務器發(fā)送ALTO開銷圖至ALTO客戶機。在另一實施方式中,本發(fā)明涉及一種方法,包括利用主應用層流量優(yōu)化(ALTO) 服務器接收第一自治系統(tǒng)的第一 AS間網(wǎng)絡圖和第一 AS開銷圖,其中,第一 AS間網(wǎng)絡圖包括拓撲分組(PID)的一個或多個本地和遠程子組的第一組,其中,第一 AS間網(wǎng)絡圖的各個本地和遠程PID與網(wǎng)絡端點的不同子組相關聯(lián),其中,第一 AS間網(wǎng)絡圖的本地PID指定第一自治系統(tǒng)的網(wǎng)絡地址前綴,并且第一AS間網(wǎng)絡圖的遠程PID指定第二自治系統(tǒng)的網(wǎng)絡地址前綴,其中,第一 AS間開銷圖指定第一 AS間網(wǎng)絡圖的PID對的ALTO開銷。該方法還包括利用主ALTO服務器接收第二自治系統(tǒng)的第二 AS間網(wǎng)絡圖,其中,第二 AS間網(wǎng)絡圖的各個本地和遠程PID與網(wǎng)絡端點的不同子組相關聯(lián),第二 AS間網(wǎng)絡圖的本地PID指定第二自治系統(tǒng)的網(wǎng)絡地址前綴,并且第二AS間網(wǎng)絡圖的遠程PID指定第一自治系統(tǒng)的網(wǎng)絡地址前綴,其中,第二 AS間開銷圖指定第二 AS間網(wǎng)絡圖的PID對的ALTO開銷。該方法還包括利用ALTO服務器,至少基于第一 AS間網(wǎng)絡圖和第二 AS間網(wǎng)絡圖生成網(wǎng)絡的主ALTO網(wǎng)絡圖, 并且從主ALTO服務器輸出主ALTO網(wǎng)絡圖。在另一實施方式中,本發(fā)明涉及一種應用層流量優(yōu)化(ALTO)服務器,包括具有一個或多個處理器和拓撲信息庫的控制單元??刂茊卧倪吔缇W(wǎng)關協(xié)議(BGP)監(jiān)聽器執(zhí)行路由協(xié)議以接收層3(L3)網(wǎng)絡拓撲信息,該層3網(wǎng)絡拓撲信息定義至網(wǎng)絡的端點的路由,所述網(wǎng)絡包括自治系統(tǒng),該自治系統(tǒng)包括ALTO服務器??刂茊卧腜ID生成器將端點聚合到拓撲分組(PID)的一個或多個子組的組中,其中各個PID與端點的不同子組相關聯(lián),其中BGP 監(jiān)聽器接收拓撲信息通知,拓撲信息通知指定一個或多個路由并且包括用于識別一個或多個端點的網(wǎng)絡地址信息,其中BGP監(jiān)聽器儲存一個或多個路由至拓撲信息庫,其中PID生成器將所識別的端點聚合到PID的組的第一個。ALTO服務器還包括產(chǎn)生ALTO網(wǎng)絡圖(包括描述各個PID的PID條目)的控制單元的網(wǎng)絡圖模塊,以及發(fā)送ALTO網(wǎng)絡圖至ALTO客戶機的客戶機接口。
在另一個實施方式中,本發(fā)明涉及一種應用層流量優(yōu)化(ALTO)服務器,包括具有一個或多個處理器的控制單元??刂茊卧慕涌诮邮沼糜诘谝蛔灾蜗到y(tǒng)的第一 AS間網(wǎng)絡圖和第一 AS間開銷圖,其中第一 AS間網(wǎng)絡圖包括拓撲分組(PID)的一個或多個本地和遠程子組的第一組,其中第一 AS間網(wǎng)絡圖的各個本地和遠程PID與網(wǎng)絡端點的不同子組相關聯(lián),其中第一 AS間網(wǎng)絡圖的本地PID指定第一自治系統(tǒng)的網(wǎng)絡地址前綴并且第一 AS間網(wǎng)絡圖的遠程PID指定第二自治系統(tǒng)的網(wǎng)絡地址前綴,其中第一 AS間開銷圖指定第一 AS間網(wǎng)絡圖的PID對的ALTO開銷,其中接口接收用于第二自治系統(tǒng)的第二 AS間網(wǎng)絡圖,其中第二 AS間網(wǎng)絡圖包括一個或多個本地和遠程PID的第二組,其中第二 AS間網(wǎng)絡圖的各個本地和遠程PID與網(wǎng)絡端點的不同子組,其中第二 AS間網(wǎng)絡圖的本地PID指定第二自治系統(tǒng)的網(wǎng)絡地址前綴并且第二 AS間網(wǎng)絡圖的遠程PID指定第一自治系統(tǒng)的網(wǎng)絡地址前綴,其中第二 AS間開銷圖指定第二 AS間網(wǎng)絡圖的PID對的ALTO開銷。ALTO服務器還包括至少基于第一 AS間網(wǎng)絡圖和第二 AS間網(wǎng)絡圖產(chǎn)生網(wǎng)絡的主ALTO網(wǎng)絡圖的控制單元的網(wǎng)絡圖模土夬,以及發(fā)送主ALTO網(wǎng)絡圖至ALTO客戶機的控制單元的客戶機接口。在附圖和以下的說明書中闡述本發(fā)明的一個或多個實施方式的細節(jié)。根據(jù)說明書、附圖以及權利要求書,本發(fā)明的其他特征、目標和優(yōu)點將是顯而易見的。
圖1是示出了利用通知的路由信息、以本發(fā)明所述的方式動態(tài)地生成并且更新網(wǎng)絡和開銷圖(cost map)以用于應用層流量優(yōu)化(ALTO)服務的示例性網(wǎng)絡的框圖。圖2是示出了表示由用于所述的技術的網(wǎng)絡的ALTO服務器所動態(tài)生成的組合的 ALTO的AS間網(wǎng)絡和開銷圖的示例性圖示的框圖。圖3是示出了包括執(zhí)行本發(fā)明所述的聯(lián)合ALTO技術的ALTO服務器的網(wǎng)絡的框圖。圖4A至圖4B是示出了表示在通過以及從各ALTO服務器的視角(perspective) 生成的網(wǎng)絡的多局部組合AS間網(wǎng)絡和開銷圖中,根據(jù)所述的技術,由主ALTO服務器生成的網(wǎng)絡的局部組合主網(wǎng)絡和開銷圖的示例性圖示的框圖。圖5是示出了包括以本發(fā)明所述的方式對于相鄰自治系統(tǒng)執(zhí)行聯(lián)合ALTO技術的 ALTO服務器的示例性網(wǎng)絡的框圖。圖6A是示出了表示由根據(jù)所述技術的自治系統(tǒng)的ALTO服務器生成的局部組合AS 內網(wǎng)絡和開銷圖的示例性圖示的框圖。圖6B是示出了表示根據(jù)本發(fā)明所述的技術的對于網(wǎng)絡所生成的局部組合主網(wǎng)絡和開銷圖的示例性圖示的框圖。圖7是詳細地示出了根據(jù)本發(fā)明所述的技術接收路由信息并動態(tài)地生成網(wǎng)絡和開銷圖的示例性ALTO服務器的框圖。圖8是示出了根據(jù)所述技術,對于由ALTO服務器所服務的自治系統(tǒng)動態(tài)地生成或修改AS間網(wǎng)絡圖的ALTO服務器的操作的示例性模型的流程圖。圖9A至圖9D示出了根據(jù)本發(fā)明所述的技術,ALTO服務器對于由ALTO服務器所服務的自治系統(tǒng)動態(tài)地生成或修改AS間開銷圖的示例性操作的流程圖。圖10是示出了根據(jù)本發(fā)明所述的技術,ALTO服務器生成主ALTO網(wǎng)絡圖的示例性操作的流程圖。圖11是示出了根據(jù)本發(fā)明所述的技術,ALTO服務器生成主ALTO網(wǎng)絡和開銷圖的示例性操作的流程圖。
具體實施例方式圖1是示出了利用所通知的路由信息、動態(tài)地生成和更新網(wǎng)絡圖和開銷圖以用于應用層流量優(yōu)化(ALTO)服務的示例性網(wǎng)絡2的框圖。網(wǎng)絡2包括通過外部通信鏈路互連的自治系統(tǒng)4A至4D (示為“AS 4A至AS 4D”,并且在本發(fā)明中統(tǒng)稱為“自治系統(tǒng)4”)。本發(fā)明中所使用的術語“通信鏈路”包括任何形式的傳輸介質、有線的或無線的,并且可以包括諸如網(wǎng)絡裝置的中間節(jié)點。在某些實施方式中,網(wǎng)絡2可以表示因特網(wǎng)或任何其他公眾可訪問的計算機網(wǎng)絡、專用網(wǎng)絡或虛擬專用網(wǎng)絡(VPN),其傳輸用于輸送至請求裝置的內容。盡管關于因特網(wǎng)協(xié)議網(wǎng)絡進行描述,但是本技術也可以應用于其他類型的發(fā)送網(wǎng)絡,如異步傳輸模式(ATM)網(wǎng)絡。每個自治系統(tǒng)4運行一個或多個內部網(wǎng)關協(xié)議(IGP),如開放最短路徑優(yōu)先 (0SPF)、路由信息協(xié)議(RIP)、中間系統(tǒng)到中間系統(tǒng)(IS-IS)、內部網(wǎng)關路由協(xié)議(IGRP)JI 強型IGRP(EIGRP)和內部邊界網(wǎng)關協(xié)議(iBGP),并且每個自治系統(tǒng)4均包括在單個管理域內根據(jù)路由策略進行操作的一個或多個路由器的組。自治系統(tǒng)4均具有由因特網(wǎng)注冊機構或由因特網(wǎng)服務提供商(ISP)提供的標識號,其唯一地識別自治系統(tǒng)以與其他自治系統(tǒng)相區(qū)分。在某些情況下,標識號可以從專用標識號區(qū)間提取,因此僅在包括AS 4的專用網(wǎng)絡內是唯一的。在各種實施方式中,每個自治系統(tǒng)4例如可以表示服務提供商網(wǎng)絡、企業(yè)或校園網(wǎng)絡、內容訪問網(wǎng)絡(CAN)或內容傳輸網(wǎng)絡(CDN)。另外,一個或多個服務提供商、內容提供商或企業(yè)/校園網(wǎng)絡管理員可以管理任何一個或多個自治系統(tǒng)4。自治系統(tǒng)4的路由器執(zhí)行因特網(wǎng)協(xié)議(例如IPv4或IPv6),以將包從源網(wǎng)絡地址路由至目標網(wǎng)絡地址,并且各個自治系統(tǒng)4向由網(wǎng)絡地址前綴確定的一個或多個端點的網(wǎng)絡(或子網(wǎng))提供網(wǎng)絡包發(fā)送,其中,網(wǎng)絡地址前綴包括由端點的網(wǎng)絡地址所限定的網(wǎng)絡地址范圍。例如,AS 4B至AS 4D向/從各個遠程網(wǎng)絡地址前綴21A至21C( “遠程前綴21”) 提供包發(fā)送,而AS 4A向/從本地網(wǎng)絡地址前綴20A至20D ( “本地前綴20”)提供包發(fā)送。 關于前綴的術語“遠程”和“本地”指的是AS 4A的網(wǎng)絡視角(比AS 4B至AS 4D更詳細地示出)。自治系統(tǒng)4A中所示的各種路由器通過內部通信鏈路而互連。向前綴提供包發(fā)送的AS是前綴的“發(fā)起域”,也稱作起始AS,并且在所有自治系統(tǒng) 4中運行的BGP路由協(xié)議傳輸前綴的起始AS的標識號作為前綴的可達性信息。結果,自治系統(tǒng)4向前綴的起始AS路由包,該包的目標為具有在特定前綴內的網(wǎng)絡地址的端點。例如, 自治系統(tǒng)4A至4C向AS 4D路由目標為前綴21C的端點的包。主機10訪問AS 4A以例如向位于任何自治系統(tǒng)4中的其他主機或⑶N節(jié)點發(fā)布內容請求,并且接收用于主機應用的應用相關內容。主機10例如可以代表工作站、臺式電腦、筆記本電腦、移動電話或其他移動裝置、個人數(shù)字助理(PDA)、游戲控制臺、電視機頂盒或其他任何能夠經(jīng)由無線或有線連接訪問計算機網(wǎng)絡的裝置。主機10具有本地前綴20C 內的網(wǎng)絡地址,因此直接由AS 4A的內部路由器8B服務。在某些實施方式中,主機10是由 AS 4A服務的客戶網(wǎng)絡的構件。
主機10將內容請求發(fā)布至的其他裝置(圖1中未示出)可以由AS 4A至AS 4D 中的任意來服務。例如,主機10可以將內容請求發(fā)布至由AS 4C所服務的具有在遠程前綴 21B內的網(wǎng)絡地址的⑶N節(jié)點。作為另一個實例,主機10可以將內容請求發(fā)布至附加主機, 該附加主機具有本地前綴20A內的網(wǎng)絡地址,并且執(zhí)行端對端(P2P)應用以在同樣執(zhí)行P2P 應用的各種主機(包括主機10)之間交換內容。在所示的實施方式中,AS 4A包括自治系統(tǒng)邊界路由器6A至6B( "ASBR 6”),它們分別在一個通信鏈路上將AS 4A連接至AS 4B和AS 4D (為了易于圖示,AS 4B至AS 4D 的ASBR未示出)。ASBR 6執(zhí)行外部網(wǎng)關協(xié)議(EGP),以在與AS 4A和AS 4D的ASBR的外部對等會話11中的一個中交換各個自治系統(tǒng)4的路由信息。例如,ASBR 6提供描述自治系統(tǒng)4A的內部拓撲和/或本地前綴20的可達性的路由信息。此外,ASBR 6經(jīng)由AS 4B至 AS 4D接收描述遠程前綴21的可達性的路由信息。在某些情況下,ASBR 6可以接收由AS 4B至AS 4D之一發(fā)起的、描述發(fā)起的自治系統(tǒng)的內部拓撲的路由信息。在對等會話中由一個ASBR 6所輸出的AS 4A的路由信息通常包括從執(zhí)行IGP(諸如內部BGP(iBGP))的自治系統(tǒng)4A的一個或多個內部路由協(xié)議揚聲器接收的、或者在外部對等會話11中的一個中從另一個AS4接收的拓撲信息。拓撲信息還可以包括ASBR 6的管理配置路由或其他信息。用于外部對等會話11的EGP例如可以包括外部邊界網(wǎng)關協(xié)議 (BGP)。每個外部對等會話11可以包括傳輸控制協(xié)議(TCP)會話。自治系統(tǒng)4A包括彼此對等互連的可達性協(xié)議揚聲器,以將本地前綴20和遠程前綴21的拓撲信息(例如路由)內部通知給AS 4A內的其他路由器。AS 4A的可達性協(xié)議揚聲器包括ASBR 6、路由反射器17和內部路由器8B。ASBR 6和內部路由器8B各自建立與路由反射器17交換路由的對等會話9。路由反射器17是這樣的可達性協(xié)議揚聲器,其重通知 (re-advertise)(或“反射(reflect)”)從其他網(wǎng)關協(xié)議揚聲器接收的路由,以使可達性協(xié)議揚聲器避免形成全網(wǎng)絡(full mesh)的對等會話9。然而,在不包括路由反射器17的網(wǎng)絡2的實施方式中,可達性協(xié)議揚聲器可以形成全網(wǎng)絡的對等會話??蛇_性協(xié)議揚聲器用以通知路由的可達性協(xié)議例如可以包括內部邊界網(wǎng)關協(xié)議(IBGP)。拓撲信息通知例如可以包括諸如IBGP UPDATE消息的路由通知。通常,拓撲信息通知將前綴(具有前綴的NEXT_ HOP)和必須被遍歷以得到前綴的自治系統(tǒng)列表相關聯(lián)(IBGPUPDATE消息中的“AS_PATH”)。AS 4A的服務提供商或其他管理員向AS 4A部署應用層流量優(yōu)化(ALTO)服務器12以對自治系統(tǒng)4提供應用層優(yōu)化服務。在某些情況下,應用層流量優(yōu)化可以符合 ALTO協(xié)議。通常,ALTO服務通過應用于進一步的服務/內容提供商目標,能夠使服務和 /或內容提供商影響節(jié)點選擇處理,該進一步的服務/內容提供商目標可以包括通過選擇地理上最近的服務節(jié)點請求主機10來提高用戶體驗、降低向提供商的發(fā)送開銷、負載平衡、服務等級區(qū)別、解決帶寬限制、減少主機10與服務節(jié)點之間的往返延遲以及其他目標。關于CDN中ALTO服務的使用的進一步細節(jié)可以在R. Penno等人,"ALTO and Content Delivery Networks :draft-penno-alto-cdn_03,,,Network Working Group,the Internet Engineering Task Force draft, March 2011中找到,其全部內容結合于此作為參考。此外,盡管關于如以上所結合的Seedorf等人的文獻中所述的ALTO服務和ALTO服務器進行了總體描述,但是本技術可應用于任何形式的應用層流量優(yōu)化。ALTO服務器12從ALTO服務器的視角生成網(wǎng)絡2的網(wǎng)絡圖和開銷圖,并且將這些圖提供給ALTO圖更新消息13中的ALTO客戶機,如主機10的ALTO客戶機18。網(wǎng)絡圖包括網(wǎng)絡位置標識符或PID,其每一個均代表網(wǎng)絡中的一個或多個網(wǎng)絡裝置。通常,PID可以代表單個裝置或裝置組件、諸如網(wǎng)絡子網(wǎng)的裝置的聚集、AS 4之一或某些其他分組。開銷圖包括網(wǎng)絡圖中所表示的PID對的開銷條目以及表示對PID對的構件之間的網(wǎng)絡路徑進行遍歷的開銷的相關值。該值可以是序數(shù)的(即分級的)或數(shù)值的(例如,實際的)。主機10的 ALTO客戶機18使用網(wǎng)絡圖和開銷圖來確定最優(yōu)端點以用于在主機10上執(zhí)行的應用。例如,主機10可以執(zhí)行從P2P網(wǎng)絡中的對等體請求特定內容的P2P應用。主機10的ALTO客戶機18根據(jù)網(wǎng)絡圖和開銷圖來確定P2P應用可以請求并下載內容的最優(yōu)對等體。在某些實施方式中,主機10代表這樣的請求路由器,其從在網(wǎng)絡2的節(jié)點上執(zhí)行的客戶機應用接收內容請求,利用由ALTO服務器12所提供的網(wǎng)絡圖和開銷圖來確定用于請求客戶機的最優(yōu)服務器,并且將最優(yōu)服務器的網(wǎng)絡地址或其他標識符返回至請求節(jié)點。在又一實施方式中, 主機10執(zhí)行客戶機-服務器應用中的客戶機,該客戶機執(zhí)行上述技術中的一種。關于生成多域網(wǎng)絡的網(wǎng)絡圖和開銷圖的進一步詳細情況可以在Penno等人于2010年8月23日提交的題為“應用層流量優(yōu)化服務跨度多域網(wǎng)絡(APPLICATION-LAYER TRAFFIC OPTIMIZATION SERVICE SPANNING MULTIPLE NETWORKS) ” 的美國專利申請第 12/861,645 號中找到,其全部內容結合于此作為參考。關于ALTO圖更新的另外的詳細情況可以在Raghimath等人于 2010年8月23日提交的題為“應用層流量優(yōu)化服務圖更新(APPLICATION-LAYER TRAFFIC OPTIMIZATION SERVICE MAP UPDATES) ”的美國專利申請第12/861,681號中找到,其全部內容結合于此作為參考。在某些實施方式中,ALTO服務器12提供端點開銷服務。在這樣的實施方式中,主機10的ALTO服務器18 (用作P2P應用中的對等體)向ALTO服務器12提供一個或多個端點的列表以及主機10的標識符。作為響應,ALTO服務器12利用根據(jù)本發(fā)明所述的技術而生成的網(wǎng)絡圖和開銷圖來確定對于接收主機而接收的端點列表中的最優(yōu)端點。ALTO服務器 12將最優(yōu)端點返回給ALTO客戶機18以用于在主機10上執(zhí)行的應用。在實現(xiàn)端點開銷服務的ALTO服務器12的某些實施方式中,ALTO服務器12返回根據(jù)開銷的等級順序的端點列表,或者返回具有每個端點的相關開銷的端點列表。ALTO服務器12例如可以包括高端服務器或其他服務裝置、P2P應用的內容分度器(indexer)、或可插入網(wǎng)絡裝置(如路由器或交換機)的服務卡或可編程接口卡(PIC)。 ALTO服務器12可操作為路由器的服務平面的元件,以提供根據(jù)本發(fā)明的技術的ALTO服務。 關于作為路由器的服務平面的元件提供ALTO服務的另外的詳細情況可以在以上所結合的 Raghunath等人的文獻中找到。根據(jù)文中描述的技術,ALTO服務器12與AS 4A的路由反射器17建立對等會話 (peering session) 9,該對等會話包括IBGP會話。以這種方式,ALTO服務器12在對等會話 9中接收通過AS 4A的可達性協(xié)議揚聲器(reachability protocol speaker)發(fā)起或轉發(fā)的用于AS 4A的路由信息。在這種情況下,ALTO服務器12為接收由路由反射器17反射的路由信息的無源可達性協(xié)議監(jiān)聽器(passive reachability protocol listener)。S卩,在該實例中,由于ALTO服務器12不能(在其作為ALTO服務器的能力范圍內)發(fā)起或轉發(fā)路由、路由包或執(zhí)行其他的這樣的路由功能,因此ALTO服務器12僅僅接收路由信息。對等會話9可以包括路由反射器17和ALTO服務器12之間的傳輸控制協(xié)議(TCP)會話。在不包括路由反射器的情況下,ALTO服務器12可以與每一個可達性協(xié)議揚聲器(例如,多個ASBR6 以及內部路由器8B)建立對等會話9以形成全協(xié)議網(wǎng)絡。根據(jù)這里所描述的技術,ALTO服務器12利用在對等會話9中接收的路由信息產(chǎn)生用于AS 4A的AS內ALTO網(wǎng)絡圖(network map)。AS內網(wǎng)絡圖包括構成AS 4A或由AS 4A 提供(S卩,由AS 4A發(fā)起)的前綴,該前綴被ALTO服務器12聚合進一個或多個PID。AS內網(wǎng)絡圖不包括從外部向AS 4A發(fā)起的任何前綴。在一些情況下,管理員(administrator)或其他實體可以構成可達性協(xié)議揚聲器 (包括多個ASBR 6以及內部路由器8B),以將前綴屬性聚合至從對等會話9中輸出的路由信息中。在能達性協(xié)議為IBGP的情況下,前綴屬性可以包括BGP團體屬性(BGP Community Attribute)或BGP擴展團體屬性。AS 4A管理員或其他實體在ASBR 6和/或內部路由器 8B的相應的一個內將前綴屬性分配給一個或多個前綴20,可達性協(xié)議揚聲器為前綴20發(fā)起或轉發(fā)路由信息。對于以這種方式表征的每個前綴20,可達性協(xié)議揚聲器將前綴屬性加入到拓撲信息通知(topology information advertisement),該拓撲信息通知包括拓撲信息,并識別前綴,該拓撲信息由相應的可達性協(xié)議揚聲器遍歷或發(fā)起。例如,管理員可以配置內部路由器8B以將特定前綴屬性(例如,“PREFIX_1”)結合至通知前綴20C的第一拓撲信息通知和通知前綴20D的第二拓撲信息通知中。作為另一個實例,管理員可以配置內部路由器8B以將第一特定前綴屬性(例如,“PREFIX_1”)結合至通知前綴20C的第一拓撲信息通知和通知前綴20D的第二拓撲信息通知中。管理員可以另外地配置內部路由器8B以將第二特定前綴屬性(例如,“⑶N_N0DE”)結合至第二拓撲信息通知中,以識別由前綴20D限定的包括作為CDN的CDN節(jié)點的端點的網(wǎng)絡地址的范圍。 內部路由器8B然后根據(jù)對等會話9中所指定的到路由反射器17的配置來產(chǎn)生/修改并輸出拓撲信息通知。ALTO服務器12由此接收可以包括一個或多個用于所通知的前綴20的前綴屬性的拓撲信息通知。例如,拓撲信息通知中的前綴屬性可以包括字符串、位串或整數(shù)。在Medved等人于2010年12月30日提交的第12/982,153號、題為“動態(tài)生成應用層流量優(yōu)化協(xié)議端點屬性(DYNAMICALLY GENERATING APPLICATION-LAYER TRAFFIC OPTIMIZATION PROTOCOL ENDP0INT ATTRIBUTES),,的美國專利申請中披露了關于利用拓撲信息通知的前綴屬性來指定ALTO環(huán)境(context)中的端點的類型的進一步細節(jié),其全部內容結合于此作為參考。ALTO服務器12包括一個或多個網(wǎng)絡圖策略,所述網(wǎng)絡圖策略為在對等會話9中的拓撲信息通知中接收的拓撲信息指定PID聚合或PID屬性。例如,網(wǎng)絡圖策略可以將聚合在拓撲信息通知內的前綴屬性的映射定義為PID屬性。PID屬性值可以與其被映射至的前綴屬性值不同。作為另一個實例,網(wǎng)絡圖策略可以將聚合在拓撲信息通知內的前綴屬性的映射定義為指定的PID標識符,以指示ALTO服務器12將一個或多個由特定前綴屬性標記的前綴聚合為指定的PID。在一些情況下,指定PID聚合的網(wǎng)絡圖策略可以包括定義PID 之間的開銷的附加信息。指定的開銷可以包括恒定值或用來基于一個或多個參數(shù)計算開銷的公式。當ALTO服務器12接收拓撲信息通知時,ALTO服務器根據(jù)上述網(wǎng)絡圖策略動態(tài)地生成或修改AS間網(wǎng)絡圖。在一個示例性實施方式中,ALTO服務器12根據(jù)參照網(wǎng)絡圖策略的如下規(guī)則來產(chǎn)生和/或更新AS件網(wǎng)絡圖的PID。首先,如果所通知的前綴從AS 4A的外部發(fā)起,則ALTO服務器12忽略所通知的前綴。對于由AS 4A發(fā)起的通知的前綴,如果攜帶前綴的拓撲信息通知包括在ALTO圖策略內映射至指定PID的前綴屬性,則ALTO服務器12將前綴添加至網(wǎng)絡圖中的指定的PID。如果在ALTO服務器12的任何網(wǎng)絡圖策略中并沒有指定前綴屬性,則ALTO服務器在用于前綴的拓撲信息通知中創(chuàng)建/修改具有與相同NEXT_H0P屬性相關的各種前綴的 PID0在一些情況下,ALTO服務器12可以從多個可達性協(xié)議揚聲器接收用于特定前綴的不同的拓撲信息通知(均為前綴指定不同的NEXT_H0P屬性)。在這樣的情況下,ALTO服務器 12 首先根據(jù)判定處理(諸如,在 Rekhter 等人,“A Border Gateway Protocol 4(BGP_4)”, Request for Comments 4271,2006年1月中所描述的BGP判定處理,其第9. 1部分結合于此作為參考)選擇通知中的一個(路由中的一個)。在一些情況下,路由反射器17先于向 ALTO服務器12提供在對等會話9中的拓撲信息通知來執(zhí)行判定處理。然后,ALTO服務器 12使用用于所選擇的拓撲信息通知的NEXT_H0P屬性來將其中的前綴與也和各拓撲信息通知中(假設該通知不包括網(wǎng)絡圖策略中所指定的前綴屬性)的同樣的NEXT_H0P屬性相關的其他前綴聚合。以這種方式,當ALTO服務器12的網(wǎng)絡圖策略沒有將前綴關聯(lián)至PID或 PID屬性時,ALTO服務器根據(jù)用于前綴的下一跳路由器對前綴進行分組。對于所接收的不符合上述任何類別但由AS 4A發(fā)起且包括映射至網(wǎng)絡圖策略中的一個或多個PID的一個或多個前綴屬性的拓撲信息通知,ALTO服務器12將該通知中相關的通知前綴與同一組的前綴屬性以及與同樣的NEXT_H0P屬性聚合進PID中。根據(jù)該規(guī)則, ALTO服務器12可以分組為拓撲相近且表現(xiàn)出相似功能性的分離的PID節(jié)點(例如,在同一 ΝΕΧΤ_Η0Ρ處連接至AS 4A的⑶N節(jié)點)。在一些情況下,ALTO服務器12可以執(zhí)行上述判定處理以選擇用在網(wǎng)絡圖產(chǎn)生/修改中的多個拓撲信息通知中的一個。在一些情況下, 然而,路由反射器先于向ALTO服務器12提供對等會話中的拓撲信息通知來執(zhí)行判定處理。 在一些情況下,ALTO服務器12可以接收重疊的路由,如上文中所結合的,Rekhter等人描述的。在這樣的情況下,ALTO服務器12可以將通知前綴附加至多個PID,根據(jù)上述結合的 Alimi等人的視角,這是允許的。除了動態(tài)的PID聚合處理之外,ALTO服務器12根據(jù)網(wǎng)絡圖策略將PID屬性動態(tài)地分配至AS內網(wǎng)絡圖,其中,網(wǎng)絡圖策略將拓撲信息通知內結合的前綴屬性的映射定義為 PID屬性。ALTO服務器12還為AS內網(wǎng)絡圖中的各PID指定用于PID前綴的ΝΕΧΤ_Η0Ρ作為PID屬性。通過上述ALTO服務器12應用上述規(guī)則至拓撲信息通知,產(chǎn)生了反應AS 4A的當前拓撲的AS內網(wǎng)絡圖。S卩,由ALTO服務器12產(chǎn)生/更新的AS內網(wǎng)絡包括根據(jù)上述技術動態(tài)聚合的PID和動態(tài)分配的PID屬性。ALTO服務器12將AS內網(wǎng)絡圖以ALTO圖更新信息13提供至ALTO客戶機18,以供主機10在節(jié)點選擇中使用。包括ASBR 6和內部路由器8A-8B的AS 4A的路由執(zhí)行內部網(wǎng)關協(xié)議(IGP)以散布允許路由器在計算機網(wǎng)絡上的任意兩個節(jié)點之間選擇路由的路由信息。路由協(xié)議的一種(稱作鏈路狀態(tài)協(xié)議)允許路由器交換和收集鏈路狀態(tài)信息,即,描述各種通信鏈路(在 AS 4A內互連路由器)的信息。通過典型的鏈路狀態(tài)路由協(xié)議,路由器交換與可用接口相關的信息、與網(wǎng)絡鏈路相關的指標和其他變量。這允許路由器構建其自己的網(wǎng)絡拓撲或網(wǎng)絡圖。例如,指標可以包括等待時間、鏈路吞吐量、鏈路有效性、路徑長度、負荷以及通信成本(即,價格)。這些指標通常表示為整數(shù)。鏈路狀態(tài)協(xié)議包括OSPF和IS-IS。通過應用鏈路狀態(tài)協(xié)議,路由器經(jīng)由鏈路狀態(tài)通知(LSA)與其他相鄰的路由器交換鏈路信息。生成LSA的路由器通常通過網(wǎng)絡溢出 (flood) LSA,從而使得其他各路由器接收LSA。以這種方式,接收路由器可以使用經(jīng)由LSA 交換的鏈路信息在路由表(例如,鏈路狀態(tài)數(shù)據(jù)庫(LSDB))中構建并保持他們自身的網(wǎng)絡拓撲。路由協(xié)議的另一種(稱作距離矢量路由協(xié)議)允許路由器交換路由信息的“矢量”,在各矢量中包括距離和方向。距離稱作指標,而方向指定用于由矢量通知的路由的下一跳路由器。通常,每個路由器從相鄰路由器了解路由并根據(jù)其自己的視角來通知路由。例如,距離矢量協(xié)議包括路由信息協(xié)議(RIP)、內部網(wǎng)關路由協(xié)議(IGRP)和增強 IGRP(EIGRP)。ALTO服務器12通過在IGP對等會話7中與內部路由器8B對等連接(peering)而作為無源IGP操作。S卩,ALTO服務器12在IGP對等會話7中從內部路由器8B接收路由信息但不發(fā)起或轉發(fā)路由信息,因為ALTO服務器12不能路由數(shù)據(jù)包(在其作為ALTO服務器的能力范圍內)。在一些情況下,內部路由器8B可以以鏈路狀態(tài)通知(LSA)對ALTO服務器 12設置過載位(OL)以防止ALTO服務器將路由信息返回至內部路由器8B。IGP對等會話7可以表示例如OSPF相鄰關系(或鄰接)或可以簡單地表示當前路由信息從內部路由器8B至ALTO服務器12的移動。在各種配置中,ALTO服務器12可以與 AS 4A中內部路由器8B除外的其他路由器對等連接,或可替換地,與內部路由器8B對等連接。如果AS 4A的路由器執(zhí)行單區(qū)域OSPF ( S卩,如果AS 4A是單區(qū)域OFPF網(wǎng)絡),則 ALTO服務器12可以與用于執(zhí)行OSPF以獲得所需要的路由信息的AS 4A的任一路由器對等連接。類似地,如果AS 4A的路由器執(zhí)行等級2 IS-IS,則ALTO服務器12可以與用于執(zhí)行 OSPF以獲得所需要的路由信息的AS 4A的任一路由器對等連接。在一些情況下,AS 4A可包括多區(qū)域OSPF網(wǎng)絡。在這種情況下,ALTO服務器12與至少一個主干(即,區(qū)域0)路由器建立IGP對等會話7,以接收用于描述主干與具有連接至主干的至少一個接口的主干路由器間的鏈路的高級路由信息。ALTO服務器12可以單獨使用高級路由信息來估計PID對的下一跳間的IGP指標,其中PID的下一跳是用于PID的前綴的下一跳的路由器。PID下一跳可以在ALTO網(wǎng)絡圖中被指定為PID實體的下一跳屬性。 ALTO服務器12可以與一個或多個非主干區(qū)域中的其他IGP建立另外的IGP對等會話,以接收各個非主干區(qū)域中所包括的鏈路的更低級路由信息。然后,ALTO服務器12可以使用高級路由信息和低級路由信息的組合來計算PID對的下一跳間的IGP指標。ALTO服務器12 與非主干區(qū)域中的IGP路由器間的每個IGP對等會話包括諸如以通用路由封裝(GRE)隧道為例的虛擬鏈路。在一些情況下,AS 4A可以包括等級1/等級2 IS-IS網(wǎng)絡。在這些情況下,ALTO 服務器12與至少一個等級2路由器建立IGP對等會話7,以接收用于描述主干與具有連接至主干的至少一個接口的主干路由器間的鏈路的高級路由信息。ALTO服務器12可以單獨使用高級路由信息來估計PID對的下一跳間的IGP指標。ALTO服務器12可以與一個或多個等級1區(qū)域中的其他IGP建立另外的IGP對等會話,以接收各個等級1區(qū)域中所包括的鏈路的更低級路由信息。然后,ALTO服務器12可以使用高級路由信息和低級路由信息的組合來計算PID對的下一跳間的IGP指標。ALTO服務器12與非主干區(qū)域中的IGP路由器間的每個IGP對等會話包括諸如以通用路由封裝(GRE)隧道為例的虛擬鏈路。在該情況下, 遠程等級1或等級2路由器支持GRE隧道接口上的IS-IS鄰接的配置。在一些情況下,ALTO服務器12在與路由反射器17的對等會話9中接收由AS 4A和 /或AS 4B-4D的BGP揚聲器分發(fā)的流量工程數(shù)據(jù)。流量工程數(shù)據(jù)可以包括諸如本地/遠程 IP地址、本地/遠程接口指數(shù)、指標、鏈路帶寬、可保留的帶寬、每CoS等級保留狀態(tài)、預占以及共享風險鏈路組(SRLG)的鏈路屬性。流量工程數(shù)據(jù)可以在來自BGP揚聲器的BGP通知中編碼。關于利用BGP交換流量工程數(shù)據(jù)的進一步細節(jié)在美國臨時專利申請第61/449,499 號中記載,結合于此。在這些情況下,ALTO服務器12從其他IGP區(qū)域的BGP揚聲器中接收拓撲和路由信息,包括用于連接自治系統(tǒng)4的路由器對的鏈路的可到達性和鏈路信息,因此可以避免與內部路由器8B對等連接的IGP接收AS 4A的IGP信息。以此方式,ALTO服務器12可以具有至AS 4A和包括AS 4的更寬的網(wǎng)絡的統(tǒng)一的接口。一旦接收到路由信息,ALTO服務器12就使用該信息來計算AS 4A的不同下一跳的對之間的路徑開銷和計算開銷,然后將這些開銷作為ALTO開銷分配給AS內網(wǎng)絡圖中具有與下一跳對相對應的各自的下一跳屬性的PID對。換言之,對于每個AS內網(wǎng)絡圖的PID 對(由具有第一下一跳的第一 PID和具有第二下一跳的第二 PID組成),ALTO服務器12使用接收到的路由信息計算第一下一跳值和第二下一跳值(例如,IP地址)所涉及的路由器間的路徑;使用鏈路指標(或距離)計算路由的路徑開銷;并且分配路徑開銷的函數(shù)作為 PID對的ALTO開銷。PID對的ALTO開銷表示從PID對的第一 PID的下一跳至PID對的第二 PID的下一跳遍歷AS4A的開銷。ALTO服務器12可以計算從第一 PID至第二 PID ( S卩,正向指標)和從第二 PID至第一 PID (S卩,反向指標)遍歷AS 4A的各個開銷。例如,ALTO服務器12可以從用于執(zhí)行鏈路狀態(tài)路由協(xié)議的內部路由器8B接收當前LSDB,將最短路徑優(yōu)先(SPF)算法應用于LSDB以計算用于AS內網(wǎng)絡圖的PID的最短路徑樹,以及利用與最短路徑樹的分支相關聯(lián)的路徑開銷計算AS內網(wǎng)絡圖的PID與其他PID 間的ALTO開銷。作為另一示例,ALTO服務器12可以通過用作距離向量協(xié)議的被動監(jiān)聽器使用從內部路由器8B獲得的路由信息創(chuàng)建路由表。ALTO服務器12利用路由表中指定的路徑和距離來計算AS內網(wǎng)絡圖的PID與其他PID之間的ALTO開銷。ALTO服務器12可以包括一個或多個ALTO開銷策略,其定義了用于計算特定指標的ALTO開銷值的公式。這種策略除了將IGP指標結合于公式中之外還可以將其他參數(shù)結合于公式中。例如,ALTO服務器12可以接收例如流量工程參數(shù)作為配置數(shù)據(jù)或在OSPF的擴展LSA內。例如,ALTO服務器12可以接收代表被編碼為BGP UPDATE消息的網(wǎng)絡層可到達信息(NLRI)屬性的流量工程參數(shù)的路徑開銷。一般,路由器使用流量工程參數(shù)來創(chuàng)建流量工程數(shù)據(jù)庫,其中約束式最短路徑優(yōu)先(CSPF)使用流量工程數(shù)據(jù)庫來計算多協(xié)議標簽交換(MPLS)標簽交換的路徑(LSP)。ALTO開銷策略可以在計算AS內網(wǎng)絡圖的PID對的ALTO 開銷時,指定流量工程數(shù)據(jù)庫內與AS 4A的各個鏈路和路徑互連有關的結合信息。ALTO服務器12所結合的AS 4A的其他參數(shù)可以包括AS 4A的路由器的鏈路延遲或路由器接口上的負荷。一些參數(shù)可以在前綴20中的一個中從AS 4A的外部源接收,諸如應用程序或連接至的AS 4A的其他內容服務器。例如,這些參數(shù)可以包括服務器的負荷和響應時間。
ALTO服務器12將算得的ALTO開銷值結合于AS 4A的AS內開銷圖中。AS內開銷圖定義了用于AS內網(wǎng)絡圖的各個PID間的連接的PID間路由開銷。然后,ALTO服務器12 以ALTO圖更新消息13將AS內開銷圖提供給ALTO客戶機18。利用由ALTO服務器提供的 AS內網(wǎng)絡圖和開銷圖,應用客戶機和內容請求路由器(例如,執(zhí)行于主機10上)選擇服務源以將內容請求客戶機與AS-4A的可利用資源之間的開銷最小化,如由ALTO圖所指定的。在一些情況下,ALTO服務器12對于反映特定服務提供商目的的多個開銷圖可以產(chǎn)生不同的開銷。例如,ALTO服務器12可以產(chǎn)生第一 AS內開銷圖,用于指定由ALTO服務器算出的用于將延遲最小化的ALTO開銷。這種開銷圖可以改進聲音應用的性能,例如,在提供給主機10的ALTO客戶機18時。ALTO服務器12可以產(chǎn)生第二 AS內開銷圖,用于指定由ALTO服務器算出的用于將帶寬最大化的ALTO開銷。這種開銷圖可以改進視頻應用和其他高帶寬應用的性能。在一些實施方式中,ALTO服務器12另外地產(chǎn)生ALTO網(wǎng)絡圖和開銷圖,這些ALTO 網(wǎng)絡圖和開銷圖結合有網(wǎng)絡2中AS 4A除外的附加元件。從AS 4A的視角來看,ALTO服務器12為包括ALTO服務器12的自治系統(tǒng)產(chǎn)生這些“AS間”網(wǎng)絡圖和開銷圖,為AS 4A的 ASBR 6熟知的路由信息可以變得為ALTO服務器12所知。如前所述,網(wǎng)絡2可以代表因特網(wǎng)。與可以包括對與AS 4A內的應用相關的拓撲和開銷的詳細描繪的AS內網(wǎng)絡圖和開銷圖相比,AS間網(wǎng)絡圖可以不包括所有因特網(wǎng)前綴,并且包含在PID中的這些前綴的分割可以是粗顆粒的。此外,AS間開銷圖可以是稀疏的,這是因為AS 4A可利用的有限外部路由信息的原因。關于AS內開銷圖,ALTO服務器12可以對反映特定服務提供商目的的多個AS 內開銷圖產(chǎn)生不同的開銷。ASBR 6執(zhí)行外部網(wǎng)關協(xié)議(例如,BGP),以在一個外部對等會話11中與AS 4A 和4D的ASBR交換各自自治系統(tǒng)4的路由信息。下文中,將外部網(wǎng)關協(xié)議描述為外部 BGP (BGP)。因而,ASBR 6以BGP更新消息的方式從AS 4A和4D的ASBR接收包括至前綴 21的路由的拓撲信息通知。BGP更新消息將前綴21之一與前綴的下一跳和到達前綴(AS_ PATH)所要遍歷的自治系統(tǒng)列表相關聯(lián)。AS_PATH和前綴21的標識符可以在網(wǎng)絡層可到達信息(NLRI)內的BGP更新消息內表達。ASBR6將BGP更新消息中所接收到的路由信息經(jīng)由對等會話9再分發(fā)給IGP。如上所述,IGP可以包括IBGP,并且在這種情況下,對等會話 9包括IBGP對等會話。在所示出的實施方式中,路由反射器17將路由信息再通知給ALTO 服務器12。作為外部發(fā)起的路由信息由AS 4A的IGP路由器內部分發(fā)的結果,ALTO服務器 12接收包含有至AS 4B-4D的前綴21的路徑的路由信息。ALTO服務器12還可以以管理方式配置有路由信息(例如至前綴21的路徑)以及用于AS間鏈路的指標(例如,用于將AS 4B鏈接至AS 4C的通信鏈路的開銷或用于所有AS間鏈路的缺省開銷)。ALTO服務器12可以包括存儲路由信息的路由表。在一些情況下,ASBR 6接收由AS 4B-4D的BGP揚聲器廣播的并以BGP消息編碼的流量工程數(shù)據(jù)。ASBR 6將這些消息提供給路由反射器7,其將該流量工程數(shù)據(jù)再通知給 ALTO服務器12。結果,ALTO服務器可以接收AS 4B-4D的各個AS內和/或AS間路由和拓撲信息。ALTO服務器12使用在對等會話9中接收到(或以管理方式配置的)的當前AS內和AS間路由信息來產(chǎn)生/更新網(wǎng)絡2的AS間網(wǎng)絡圖。在一些情況下,ALTO服務器12通過首先確定ALTO服務器12所獲知的用于前綴20、21的最優(yōu)路徑來產(chǎn)生/更新AS間網(wǎng)絡。對于本地前綴20,ALTO服務器12執(zhí)行上述所描述的用于產(chǎn)生AS間網(wǎng)絡圖和開銷圖的技術。 結果,ALTO服務器所產(chǎn)生的AS間網(wǎng)絡圖可以包括如以上述方式所產(chǎn)生的用于AS 4A的AS 內網(wǎng)絡圖的實質。為了將遠程AS 4B-4D發(fā)起的前綴21聚合于PID中,ALTO服務器12將根據(jù)路由信息具有相同的AS_PATH屬性和下一跳屬性的所有前綴21聚合于分離的PID中。換言之, ALTO服務器12將通過相同路徑(AS_PATH)可到達的并且在AS 4A內由相同的一個ASBR 6 (ΝΕΧΤ_Η0Ρ)所通知的任何前綴21聚合于分離的PID中。在示例性實施方式中,ALTO服務器12將各個前綴21分配給分離的PID,這是因為各個前綴具有不同的AS_PATH。然而,在各個實施方式中,分離的拓撲通知中所通知的多個不同的前綴可根據(jù)上述聚合規(guī)則分配給相同的PID。ALTO服務器12將PID聚合于網(wǎng)絡2的AS內網(wǎng)絡圖中。從AS 4A(以及ALTO服務器12)的視角來看,動態(tài)地產(chǎn)生網(wǎng)絡2的AS間開銷圖可以需要AS間開銷,S卩,具有位于不同的一個AS 4中的前綴的PID之間的開銷。ALTO服務器 12可以配置有具有AS間開銷的策略和其他配置數(shù)據(jù)。在一些實施方式中,由ALTO服務器 12所應用的AS間開銷對于所有AS 4對是相同的。換言之,AS間開銷是缺省AS間開銷。 然而,在一些實施方式,ALTO服務器12可以包括用于一對或多對AS 4的特定AS間開銷。 例如,ALTO服務器12可以配置有用于AS 4B與4C之間的AS間開銷。當AS間開銷是大于最大AS內開銷的缺省值時,兩個遠程PID間(例如,AS 4B中的PID與AS 4C中的PID間)的開銷被認為與兩個遠程PID間的AS間鏈路的數(shù)量成正比。 為了確定兩個遠程PID間的AS間鏈路的數(shù)量,ALTO服務器12讀取屬于兩個遠程PID的 AS_PATH。PID的AS_PATH屬性值中最終自治系統(tǒng)標識號是為PID服務的自治系統(tǒng)(即,發(fā)起用于PID所包含的前綴的通知的自治系統(tǒng))。例如,從AS 4A的視角來看,用于包括前綴 2IB的PID的AS_PATH包括[(AS 4B的標識號)]、[(AS 4C的標識號)]。如果屬于兩個遠程PID中任一的AS_PATH包括用于為另一遠程PID服務的自治系統(tǒng)的標識號,則ALTO服務器12算出的AS間開銷為缺省AS間開銷(C)與根據(jù)AS_PATH屬性從另一遠程PID到達該PID必須遍歷的AS間鏈路的數(shù)量的乘積。在上述示例中,根據(jù)屬于包括AS 4C的前綴2IB的PID的AS_PATH,包括AS 4B的前綴2IA的PID經(jīng)過一條AS間鏈路到達包括前綴21B的PID。因此,兩個PID間的AS間開銷等于1XC。ALTO服務器12以此方式計算AS間網(wǎng)絡圖中所代表的各個遠程PID間的開銷,并將該開銷存儲于相應的AS間開銷圖中。在一些情況下,ALTO服務器12包括用于指定AS 4 對之間的AS間開銷的實際值而非缺省值的策略或其他配置數(shù)據(jù)。在這種情況下,ALTO服務器12可以對屬于遠程PID的AS_PATH中所代表的AS 4對間的AS間開銷求和,以計算兩個遠程PID間的總開銷。為了確定包括一個或多個本地前綴20的兩個PID(即,從AS 4A的視角來看為“本地” PID)間的開銷,ALTO服務器12執(zhí)行上述所描述的用于產(chǎn)生AS內開銷圖并將算得的本地PID對的開銷結合于AS間開銷圖的技術。結果,由ALTO服務器12產(chǎn)生的AS間開銷圖可以包括如在上述方式中產(chǎn)生的AS 4A的AS內開銷圖的實質。對于固定的本地-遠程PID對組合,ALTO服務器12將從本地PID至遠程PID的下一跳的AS內開銷補充到從AS 4A至遠程PID的AS間開銷。在所示出的實施方式中,遠程PID的下一跳是ASBR 6之一。換言之,ALTO服務器12將AS間開銷與AS內(IGP)開銷組合以確定從PID對的本地PID至遠程PID所遍歷的路徑的總開銷。在ALTO服務器12對AS 間鏈路應用缺省AS間開銷C的情況下,來自AS 4A的AS間開銷是遠程PID的AS_PATH屬性值(即,AS_PATH中AS的數(shù)量)的長度與C的乘積。例如,對于AS_PATH包括AS 4B、4C 并因此具有長度等于2時,本地PID與包括前綴21B的遠程PID間的AS間開銷等于2 X C。ALTO服務器12對AS內開銷和AS間開銷進行求和以確定總的開銷,然后將本地-遠程PID對的總開銷添加至網(wǎng)絡2的AS間開銷圖。在一些情況下,ALTO服務器12可以包括ALTO開銷策略,其定義了基于AS間開銷和AS內開銷計算總開銷值的公式。除了這些開銷之外,這種策略還可以結合入其他參數(shù),如上關于在排他的AS內內容中使用ALTO開銷策略進行的描述。通過ALTO服務器使用從網(wǎng)絡裝置接收到的路由信息動態(tài)地產(chǎn)生和更新ALTO網(wǎng)絡圖和開銷圖能夠使圖與每次改變的網(wǎng)絡環(huán)境同步。結果,由ALTO服務器12提供給ALTO客戶機18的網(wǎng)絡圖和開銷圖可以反應網(wǎng)絡拓撲和/或利用的當前更新,并且因而可以改進節(jié)點選擇以及通過一個或多個應用主機10提高性能。此外,自動地創(chuàng)建網(wǎng)絡圖和開銷圖可以減小ALTO服務器12施加于AS 4A的管理員的配置負擔,使得ALTO服務器能夠在大規(guī)模服務提供商環(huán)境下進行。配置負擔可以(更合適地)被分配給各個AS 4的各自的管理員。以此方式,“靠近”子網(wǎng)絡20、21中特定的一個的管理員可通過ALTO服務器12和ALTO客戶機 18負責對該子網(wǎng)絡進行處理。因為遠程AS 4B-4D的各個管理員通常比AS 4A的管理員具有更豐富的遠程AS的配置知識,因而該技術改進了進行協(xié)作以利于內容分發(fā)的網(wǎng)絡實體和操作者之間的輔助,從而減輕了對ALTO服務器12的管理員的配置壓力。圖2是示出了由根據(jù)所述技術的ALTO服務器12動態(tài)產(chǎn)生的圖1的用于網(wǎng)絡2的 ALTO AS間網(wǎng)絡圖和開銷圖的示例示圖25的框圖。PID22A-22F(PID 22)均包括一個或多個前綴,因此表示網(wǎng)絡2的AS間網(wǎng)絡圖的PID?;ミBPID并且均標注有PID間開銷的邊表示用于網(wǎng)絡2的AS間開銷圖。執(zhí)行上述參照圖1描述的技術,ALTO服務器12將前綴20A聚合于PID 22A中,這是因為前綴20A的下一跳是ASBR 6A。類似地,ALTO服務器12將前綴20C、20D都聚合于 PID 22C中,這是因為用于這些前綴的共用下一跳是內部路由器8B。由AS 4B-4D中的相應一個發(fā)起的拓撲通知包括由ALTO服務器12置于各個PID中的前綴。換言之,在這種情況下,ALTO服務器12將由AS 4B-4D中的同一個服務的所有前綴聚合于同一 PID中。例如, PID 22E包括由AS 4C通知的前綴21B,在其他配置中,將進一步包括由AS 4C通知的任何其他前綴。ALTO服務器12使用在IGP會話中接收到的路由信息計算本地PID (即,包括由AS 4A服務的前綴20的PID)的AS內開銷。示圖25將用作實例Ai標注邊處的AS內開銷。例如,本地PID 22A與本地PID 22B間的AS內開銷是A3。另外,該情況下,ALTO服務器12使用缺省AS間開銷C作為每對相鄰AS 4間的傳送路由開銷。例如,PID 22(這里為聚合于 AS 4B中)與PID 22E(這里為聚合于AS 4C中)間的開銷是C,這是因為所代表的AS 4B 和4C是相鄰的。作為另一示例,PID 22E與PID 22A間的開銷(下一跳屬性為至AS 4B的下一跳,即 ASBR 6A)是 2XC。對于混合的本地-遠程PID 22對組合,ALTO服務器12將從本地PID至遠程PID的下一跳的AS內開銷補充到從AS 4A的下一跳至遠程PID的AS間開銷。在這種情況下, ALTO服務器12對AS間開銷和AS內開銷求和以計算總的PID間開銷。例如,PID 22D與 PID 22C間的開銷C+A1是PID 22D與PID 22A間的開銷C和PID 22A與PID 22C間的開銷 Al的和。示圖25不包括用于連接PID 22D和PID 22F的邊,這是因為ALTO服務器12不接收包括既包含AS 4B又包含AS 4D的AS_PATH的路由。ALTO服務器12因此不能夠確定遠程AS 4B與遠程AS 4D間的開銷。圖3為示出包括執(zhí)行本文所描述的聯(lián)合ALTO技術的ALTO服務器38A至38C (“ ALTO 服務器38”)的網(wǎng)絡36的框圖。網(wǎng)絡36包括自治系統(tǒng)40A至40C( “AS 40”),每個自治系統(tǒng)包括各自的一個ALTO服務器38。自治系統(tǒng)40經(jīng)由外部通信鏈路44互連。每個AS 40可以表示圖1中一個自治系統(tǒng)4的示例性實施方式。每個ALTO服務器可以表示圖1中 ALTO服務器12的示例性實施方式。AS 40的各種組合可以受一個或多個管理或服務提供商的管理控制。每個ALTO服務器38執(zhí)行本發(fā)明中描述的動態(tài)網(wǎng)絡圖(map)產(chǎn)生和修改技術,以將相關聯(lián)的AS 40供應的前綴(圖3中未示出)聚集到一個或多個PID 42中,并將PID組合到AS間網(wǎng)絡圖中,在一些實例中,組合到AS內網(wǎng)絡圖中。例如,如所說明的,ALTO服務器38A將AS 40A供應的前綴聚集到PID 42A、42B中,其前綴通過AS內通信鏈路連接。艮口, PID 42A的前綴通過AS間通信鏈路被連接到PID 42B的前綴。而且,每個ALTO服務器38 執(zhí)行本發(fā)明中描述的動態(tài)網(wǎng)絡圖產(chǎn)生和修改技術,以產(chǎn)生包括與ALTO服務器產(chǎn)生的網(wǎng)絡圖相關聯(lián)的本地和遠程PID的各種組合的開銷的AS間開銷圖。結果,每個ALTO服務器38 產(chǎn)生從ALTO服務器的相關的一個自治系統(tǒng)40的角度來看代表網(wǎng)絡36的拓撲的本地網(wǎng)絡和本地開銷圖。ALTO服務器38與ALTO聯(lián)盟中的另一個聯(lián)合,以共享信息以促進整個網(wǎng)絡36的良好PID前綴粒度,從而改善節(jié)點選擇。ALTO服務器38B是主ALTO服務器,除其本地功能 (即,從AS的角度生成網(wǎng)絡和開銷圖)之外,其使用通過各ALTO服務器38生成的各種本地 AS內和/或AS間網(wǎng)絡和開銷圖生成網(wǎng)絡36的主網(wǎng)絡和開銷圖。ALTO服務器38B(下文中稱為“主ALTO服務器38B”)可以被管理配置為主ALTO服務器38B或者可以在合格的ALTO 服務器38之間協(xié)商時被選出。在一些配置中,多個ALTO服務器38可以作為主ALTO服務器運作。為了使主ALTO服務器38B能夠為網(wǎng)絡圖中的每個PID在主ALTO服務器38B生成和接收的許多網(wǎng)絡圖內確定自治系統(tǒng)40中的發(fā)起自治系統(tǒng),ALTO服務器38將自治系統(tǒng)標識符(“AS ID”)屬性添加到它們各自的網(wǎng)絡圖的PID中。自治系統(tǒng)標識符可以包括每個 PID(包括PID 42)的自治系統(tǒng)40的發(fā)起自治系統(tǒng)的注冊標識號。換而言之,包括特定的一個或多個前綴的每個PID由發(fā)起前綴的一個AS 40的AS ID進行“標記”。因此,各ALTO服務器38可在其網(wǎng)絡圖中以不同AS ID對PID進行標記。例如,ALTO服務器38A用AS 40A 的AS ID對ALTO服務器生成的AS間網(wǎng)絡圖中的PID 42A、42B進行標記。在一些實例中, ALTO服務器38A還可以用發(fā)起該遠程PID的前綴的自治系統(tǒng)的AS ID對AS間網(wǎng)絡圖的任何遠程PID進行標記。因此,AS間網(wǎng)絡圖中的每一個本地PID 42都攜帶包括生成該PID的一個ALTO服務器38的一個AS 40的標識符。由于包括在一個PID 42中的每個前綴的本地視角代表前綴的最精確拓撲分組,來自AS 40中的發(fā)起AS的PID應當被移到主網(wǎng)絡圖。換而言之,通過標識每個PID 42的AS 40中的發(fā)起AS,最佳前綴粒度等級的PID可以被主ALTO服務器 38B識別和選擇,以包括在主網(wǎng)絡圖內。ALTO服務器38A、38C在各自的上載消息46A、46B 中發(fā)送它們各自的AS間網(wǎng)絡和開銷圖至ALTO服務器38B。在一些實施方式中,每個ALTO服務器38生成AS內和AS間網(wǎng)絡圖,而不是將AS ID屬性添加至AS間網(wǎng)絡圖的每個PID中。然后,ALTO服務器38A、38C在各自的上載消息 46A、46B中發(fā)送它們各自的AS間網(wǎng)絡和開銷圖至ALTO服務器38B。在這些實施方式中,上載消息46A、46B還包括AS 40中的包含ALTO服務器38A、38C中發(fā)送消息的一個服務器的一個AS的AS ID。例如,ALTO服務器38A在上載信息46A中發(fā)送AS內和AS間網(wǎng)絡圖、AS 間開銷圖和AS 40A的AS ID至主ALTO服務器38B。在這些實施方式中,當主ALTO服務器 38B從ALTO服務器38A、38C中的一個接收各上載信息46A、46B時,主ALTO服務器38B通過關聯(lián)AS間網(wǎng)絡圖內的IPD前綴與AS內網(wǎng)絡圖內的IPD前綴來識別AS間網(wǎng)絡圖中的本地 PID0當前綴包括在AS內網(wǎng)絡圖內的IPD內時,也包括該前綴的AS間網(wǎng)絡圖的任何IPD為本地PID。然后,主ALTO服務器38B將所識別的本地PID用連同本地網(wǎng)絡圖一起接收的AS ID進行標記。該技術可以減少上載消息46的大小。ALTO服務器38A、38C在各自的上載消息46A、46B中發(fā)送它們各自的AS間網(wǎng)絡和開銷圖至ALTO服務器38B。主ALTO服務器38B生成AS 40B的本地網(wǎng)絡和開銷圖。響應于接收本地網(wǎng)絡和開銷圖,主ALTO服務器38B生成網(wǎng)絡36的ALTO聯(lián)盟的主網(wǎng)絡和開銷圖。 主ALTO服務器38B可以將從所接收或生成的每個本地網(wǎng)絡和開銷圖的視角關聯(lián)成單一的統(tǒng)一的主網(wǎng)絡和開銷圖。然后,主ALTO服務器38B在各下載消息47A、47B中將主網(wǎng)絡和開銷圖發(fā)送至ALTO服務器38A、38C。圖4A是示出了主ALTO服務器38B根據(jù)所描述的技術由圖表50A、50B生成的示例性圖表M,其中,圖表M表示局部組合的圖3的網(wǎng)絡36的主網(wǎng)絡和開銷圖,圖表50A、50B 表示局部組合的通過和從各ALTO服務器38A、38B的視角生成的網(wǎng)絡36的AS間網(wǎng)絡和開銷圖。圖表M和5(^至50B為“局部”在于它們不包括AS 40B的元素(為了便于說明)。 在一些實例中,圖表50A至50B包括結合有圖3的AS 40B的元素的另外的元素。在一些實例中,圖表M包括結合有圖表50A至50B的各種實例中包括的ALTO服務器38B的視角和 /或AS 40B的元素的另外的元素。ALTO服務器38A從包括圖表58中示出的元素的AS 40A的視角生成AS間網(wǎng)絡圖。 具體地,AS間網(wǎng)絡圖包括本地PID 42A、42B。PID 42A具有PID標識符“PID1”并包括前綴 PI。PID 42B具有PID標識符“PID2”并包括前綴P2。AS間網(wǎng)絡圖還包括遠程PID 52A,在該實例中,PID 52A表示例如在BGP UPDATE中向AS 40A通知的AS 40C的前綴的集合。這些前綴包括P3、P4和P5。ALTO服務器38A生成包括AS間網(wǎng)絡圖的開銷圖條目的AS間開銷圖。圖表50A將計算出的PID間開銷示為箭頭。例如從PID 42A至PID 52A的開銷為 2C,是由根據(jù)本文所描述技術的ALTO服務器38A針對遍歷(或“經(jīng)過”)AS 40A與AS 40B 之間的兩個AS間通信鏈路44計算出的開銷。ALTO服務器38A還用利用本發(fā)明技術的IGP 指標針對PID對<PID 42A,42B>計算PID間開銷Al。ALTO服務器38C以相似的方式從AS 40C的視角生成AS間網(wǎng)絡圖。盡管在圖4A中未示出,但是PID 42A至42B、42E至42F和52A、52B中的每一個針對各自包括的前綴都可以包括AS 40中的發(fā)起AS的AS ID。例如,本地PID 42E可以標記有圖表50B表示的網(wǎng)絡圖中的AS 40C的AS ID。作為另一個實例,遠程PID 52A可以標記有由圖表50A表示的網(wǎng)絡圖中的AS 40C的AS ID0在一個實例中,AS 40C的所有前綴(即,前綴P3、P4和P5)被通知給AS 40A,然后通過ALTO服務器38A被聚集在PID 52A中。相似地,AS 40A的所有前綴(即,前綴Pl和 P2)被通知給AS 40C,然后通過ALTO服務器38C被聚集在PID 52B中。主ALTO服務器38B從各ALTO服務器38A、38C接收通過圖表50A和50B表示的AS 間網(wǎng)絡和開銷圖,并生成通過圖表M表示的主AS間網(wǎng)絡和開銷圖。為了由多個AS間網(wǎng)絡圖生成主AS間網(wǎng)絡圖,主ALTO服務器38B將AS間網(wǎng)絡圖的所有本地PID都復制到主網(wǎng)絡圖內。每個ALTO服務器38接收AS 40中其各自AS的最佳粒度路由信息,因此具有用于生成本地PID以及計算本地PID間開銷的最完整的信息庫。另外,針對通知遠程PID前綴的AS 40中的發(fā)起AS,主ALTO服務器38B利用的AS 間網(wǎng)絡圖中的本地PID協(xié)調每一個AS間網(wǎng)絡圖中的每一個遠程PID。換而言之,針對AS 40 中的發(fā)起(即,遠程)AS,主ALTO服務器38B將遠程PID的前綴與相應本地PID的前綴相交 (intersect,取交集),以促進主ALTO服務器的PID的最佳可用PID粒度等級。將本地PID 和遠程PID視為前綴的各自的數(shù)學集合,生成的主網(wǎng)絡圖由(1)在本地PID中包括遠程PID 的相對補碼(即,在本地PID中而不在非遠程PID中的前綴的集合)和( 遠程PID與本地PID的交集(即,在遠程PID也在本地PID中的前綴的集合)的PID組成。然而,如果這些生成的前綴集合中的任何一個為空,則主ALTO服務器38B不生成該空集的相應PID。而且,如果這些生成的前綴集合中的任何一個已經(jīng)包括在主網(wǎng)絡圖的PID中,則主ALTO服務器38B可以針對同一前綴集合創(chuàng)建第二個PID。通常,由于ALTO服務器38基本上不生成遠程AS的遠程PID,針對AS 40中的通知遠程PID前綴的發(fā)起AS,主ALTO服務器38B僅向主網(wǎng)絡圖簡單地復制AS間網(wǎng)絡圖中的本地PID。然而,在一些實例中,主ALTO服務器38B必須將AS間網(wǎng)絡圖中的本地PID前綴重新分配到兩個以上PID中以包括在主網(wǎng)絡圖中。這些實例的例子將在下文參照圖4B進行詳細描述。在所示的例子中,主ALTO服務器38B利用圖表50B的本地PID 42E至42F協(xié)調圖表50A的遠程PID 52A。由于PID 52A包括PID 42E至42F中表示的每一個前綴,所以PID 42E至42F表示前綴的最佳粒度等級,并且從每個PID 42A至42B利用相同的開銷可以到達,因此,被主ALTO服務器38B直接復制到主網(wǎng)絡圖(由圖表M的PID表示)。作為一個例子,在另一個網(wǎng)絡流量方向上,主ALTO服務器38B利用圖表50的本地 PID 42A至42B協(xié)調圖50B的遠程PID 52B。PID 52B包括PID 42A至42B中表示的每個前綴,并且從每個PID 42E至42F利用相同的開銷可以到達。因此,主ALTO服務器38B直接將PID 42A至42B復制到主網(wǎng)絡圖(由圖表M的PID表示)。如在圖表64中看到的,主ALTO服務器38B在主網(wǎng)絡圖中不包括遠程PID 52A、 52B。主ALTO服務器38B僅將一個AS 40發(fā)起的前綴的PID( S卩,本地PID)傳送到主網(wǎng)絡圖中。在一些實例中,主ALTO服務器38B在將本地PID復制到主網(wǎng)絡圖時可以修改PID標識符。例如,圖表60A和圖表64中的PID 42A具有PID標識符“PID1”。在一些實例中,主ALTO服務器38B可以為圖表64中的PID 42A提供網(wǎng)絡PID標識符。為了由通過ALTO服務器38提供的多個AS間網(wǎng)絡和開銷圖生成主開銷圖,主ALTO 服務器38B利用由發(fā)起網(wǎng)絡流量的AS的視角計算得出的PID間開銷。對于其中的兩個成員相對于特定的一個AS間網(wǎng)絡圖均是本地的這種PID對,主ALTO服務器38B利用相應AS 間開銷圖中指定的PID間開銷。在所說明的例子中,例如,在將Al確定為由圖表50表示的 AS間網(wǎng)絡圖的本地PID 42A、42B之間的開銷時,主ALTO服務器38B由圖A將Al設定為主網(wǎng)絡圖的PID 42A、42B之間的開銷。由于在AS間開銷圖中,主開銷圖的任意PID對可以與表示在IPD對的PID成員間在兩個方向上遍歷網(wǎng)絡的兩個單向開銷相關聯(lián)。對于其中不同AS 40發(fā)起IPD對中的PID成員的PID,對于每個網(wǎng)絡流量方向,主 ALTO服務器38B利用由AS 40中發(fā)起流量的相應AS的一個ALTO服務器38指定的開銷。 例如,為了確定從PID 42A (包括AS40A的前綴Pl)向PID 42E(包括AS 40C的前綴P3)遍歷網(wǎng)絡的ALTO開銷,主ALTO服務器38B查詢AS 40提供的AS間開銷圖,以確定本地PID 42A與遠程PID 52A (包括AS 40C的前綴P3)之間的PID間ALTO開銷。該AS間開銷圖被表示在圖表50A中,其表明該PID間ALTO開銷為2C。主ALTO服務器38B將主開銷圖內從 PID 42A至42E的開銷設定為2C。在另一個流量方向上,即,從PID 42E至PID 42A,主ALTO服務器38B查詢由AS 40C提供的AS間開銷圖,確定本地PID 42E與遠程PID 52B (包括AS 40A的前綴Pl)之間的PID間ALTO開銷。圖表50B表示由AS 40C提供的局部AS間開銷圖,其表明開銷為2C。 因此,主ALTO服務器38B將主開銷圖內從PID 42E至42A的開銷設置為2C。為了便于說明,圖M將所有PID間開銷表示為雙向箭頭,因為,在所說明的實施方式中,PID間開銷在兩個方向上是相同的。在一些實例中,在一個方向上遍歷PID間網(wǎng)絡的開銷不同于在反方向上遍歷該PID間網(wǎng)絡的開銷。結果,主開銷圖可以包括兩個PID每個方向上的相應的開銷條目。圖4B為示出了圖3的網(wǎng)絡36的實施方式的不同于圖4A的局部組合網(wǎng)絡和開銷圖的框圖,其中,AS 40C不向AS 40A通知前綴P4。圖4B的圖表64表示網(wǎng)絡36的局部組合的主網(wǎng)絡和開銷圖,圖表64通過主ALTO服務器38B根據(jù)所描述的技術從圖60A、60B生成,其中,圖60A、60B表示局部組合的由從各ALTO服務器38A、38C的視角生成的網(wǎng)絡36的 AS間網(wǎng)絡和開銷圖。在該所示實施方式中,與圖4A中所示的實施方式不同,圖表60A的遠程PID 62A 不包括前綴P4,原因在于AS 40C未將前綴P4通知AS 40A。自治系統(tǒng)40A包括ALTO服務器38A,該ALTO服務器38A生成圖表60A所代表的局部AS間的網(wǎng)絡和開銷圖。由于AS 40C的前綴P4未被通知并因此不能夠從AS 40A到達,針對圖表64所代表的主網(wǎng)絡圖,主ALTO服務器38B將PID 42F的前綴P4、P5分配至單獨PID 66A、66B。該操作包括上面關于圖4A描述的相對互補操作以及交集操作這兩者。即,主ALTO服務器38B 為主網(wǎng)絡圖創(chuàng)建(I)PID 66A,其涵蓋圖表60A的遠程PID 62A的前綴的組與圖表60B的本地PID 42F的前綴的組的交集的前綴的組(S卩,前綴P5);并且創(chuàng)建O) PID66B,其涵蓋圖表 60B的本地PID 42F的前綴的組中圖表60A的遠程PID62A的前綴的組的相對互補的前綴的組(即,前綴P4)。主ALTO服務器38B設定符合AS間開銷圖的主開銷圖中的開銷。由于ALTO服務器38C將前綴P4、P5聚合至單個PID 42F,因此這些前綴之間的ALTO開銷為零。因此,主 ALTO服務器38B在由圖表64代表的網(wǎng)絡開銷圖中將每個涵蓋前綴P4、P5之一的PID 66A、 66B之間的ALTO開銷設定為零。類似地,PID 42E、42F之間的ALTO開銷根據(jù)圖表60B被設定為Bi。因此,針對包括重新分配的PID 44F的前綴的PID 66A和66B,主ALTO服務器38B 在由圖表64代表的網(wǎng)絡開銷圖中將PID 42E、66A之間以及PID 42E、66B之間的ALTO開銷設定為Bi。由于在從AS 40A的前綴到AS 40C的前綴P4并沒有可用路徑,因此在主開銷圖中將PID 42A、42B至PID 66B的ALTO開銷設定為無限大。其在圖表64中通過從PID 42A、 42B的任一個到PID 66B不存在方向箭頭而示出。然而,由于AS 40A向AS 40C加入前綴 Pl、P2,因此示出了開銷2C的方向箭頭將PID 66B連接至PID 42A、42B中每一個,從而代表在由主ALTO服務器38B生成的主開銷圖中的這些開銷。一些情況下,主ALTO服務器38B可以將從PID 66B到PID 42A、42B中每一個的ALTO開銷設定為無限大,原因在于大多數(shù)應用需要雙向通信并因此ALTO客戶機不應選擇PID 42A、42B中的任一個來服務于PID 66B中的客戶機。在生成針對網(wǎng)絡36的主網(wǎng)絡圖時,圖3的網(wǎng)絡36的多種其他實施方式可能需要主ALTO服務器38B對來自AS間網(wǎng)絡圖的PID前綴的重新分配。例如,在一些實施方式中, 第一 AS網(wǎng)絡圖的兩個以上遠程PID可能一起包括兩個以上前綴,該兩個以上前綴在針對這些前綴的AS 40中的發(fā)起AS處聚合為該發(fā)起AS(源AS)的第二 AS間網(wǎng)絡圖的單個本地PID。例如,其可能在以下情況中發(fā)生,流量引擎參數(shù)指定一個不同的自治系統(tǒng)路徑(AS_ PATH)用于從第一 AS中間網(wǎng)絡圖的本地PID到達遠程PID中的每一個。換言之,遠程PID 中的前綴與從自治系統(tǒng)的不同AS_PATH長度相關,該自治系統(tǒng)包括ALTO服務器38中的生成第一 AS間網(wǎng)絡圖的一個。在該情況下,主ALTO服務器38B將第二 AS間網(wǎng)絡圖的單個本地PID重新分配至兩個以上主網(wǎng)絡圖PID,該兩個以上主網(wǎng)絡圖PID中每一個涵蓋根據(jù)由第一 AS間網(wǎng)絡圖的兩個以上遠程PID指定的類似AS_PATH長度分組的不同的前綴的組。按照這種方式,主ALTO 服務器38B將來自具有相同AS_PATH長度的第一 AS間網(wǎng)絡圖的遠程PID的所有前綴都聚合為該主網(wǎng)絡圖的相同PID。由于多種前綴聚合至第二 AS間網(wǎng)絡圖中的單個PID中,因此這些前綴之間的ALTO開銷為零。因此,主ALTO服務器38B將多對按照此方式生成的兩個以上主網(wǎng)絡圖PID之間的ALTO開銷設定為零。主ALTO服務器38B將ALTO開銷設定為兩個以上“分裂(split)”主網(wǎng)絡圖PID(從根據(jù)第一 AS間網(wǎng)絡圖中指定的開銷的第一 AS間網(wǎng)絡圖的AS的PID到包括來自AS的PID的“分裂”主網(wǎng)絡圖PID的前綴的第一 AS間網(wǎng)絡圖的遠程PID)。作為另一實施例,第一AS間網(wǎng)絡圖的兩個以上遠程PID可能一起涵蓋兩個以上前綴,該兩個以上前綴在AS 40中的相鄰、發(fā)起AS處聚合為該相鄰、發(fā)起AS的第二 AS間網(wǎng)絡圖的單個本地PID。正如下面關于圖5更詳細描述的,例如其可能發(fā)生在以下情況,由于多個ASBR將第一 AS間網(wǎng)絡圖的AS連接至相鄰AS,因此生成第一 AS間網(wǎng)絡圖的ALTO服務器 38接收指定從第一 AS間網(wǎng)絡圖的本地PID到相鄰AS的前綴的不同路徑的路由信息。在該情況下,主ALTO服務器38B將第二 AS間網(wǎng)絡圖的單個本地PID的前綴重新分配至兩個以上主網(wǎng)絡圖PID,該兩個以上主網(wǎng)絡圖PID中的每一個涵蓋根據(jù)各不同路徑自第一 AS網(wǎng)絡間圖的AS可到達性而分組的不同的前綴的組。按照這種方式,主ALTO服務器38B將從自第一 AS間網(wǎng)絡圖的AS而具有相同開銷的第一 AS間網(wǎng)絡圖的遠程PID的所有前綴都聚合為該主網(wǎng)絡圖的相同PID。由于多種前綴在第二 AS間網(wǎng)絡圖中被聚合為單個 PID,因此這些前綴之間的ALTO開銷為零。因此,主ALTO服務器38B將多對按照此方式生成的兩個以上的主網(wǎng)絡圖PID之間的ALTO開銷設定為零。主ALTO服務器38B將ALTO開銷設定為兩個以上“分裂”主網(wǎng)絡圖PID(從根據(jù)第一 AS間網(wǎng)絡圖中指定的開銷的第一 AS 間網(wǎng)絡圖的AS的PID到包括來自AS的PID的“分裂”主網(wǎng)絡圖PID的前綴的第一 AS間網(wǎng)絡圖的遠程PID)。作為另一實施例,第一 AS間網(wǎng)絡圖的遠程PID可以涵蓋以下前綴,該前綴涵蓋在 AS 40的相鄰、發(fā)起AS處聚合為該相鄰、發(fā)起AS的第二 AS間網(wǎng)絡圖的多個本地PID的子前綴(例如,子網(wǎng)絡)。例如,由于前綴聚合而可能發(fā)生該情況。在該實施例中,第二 AS間網(wǎng)絡圖的多個本地PID控制主網(wǎng)絡圖內的PID分配。圖5是示出了包括了執(zhí)行本文描述的聯(lián)合ALTO技術的ALTO服務器81A至 81B(“ALT0服務器81”)的示例性網(wǎng)絡79的框圖。網(wǎng)絡79包括自治系統(tǒng)80A至80B ( “AS 80”),每個自治系統(tǒng)包括各自的ALTO服務器81。自治系統(tǒng)80經(jīng)由連接AS 80的自治系統(tǒng)邊界路由器的對的外部通信鏈路(未示出)而互連。例如,第一外部通信鏈路通信地耦接 AS 80A 的"ASBR2,,(涵蓋 PID 84B)以及 AS 80B 的"ASBR4,,(涵蓋 PID 84D)。每個 AS 80 可以代表圖1的一個自治系統(tǒng)4的示例性實施方式。每個ALTO服務器81可以代表圖1的 ALTO服務器12的示例性實施方式。每個AS 80可以受控于一個或多個管理員或服務提供商的管理控制。盡管示出并描述為ASBR,但任何ASBR可以包括區(qū)域邊界路由器或任何外部 BGP揚聲器。每個ALTO服務器81執(zhí)行本公開中所描述的動態(tài)網(wǎng)絡圖生成和更改技術,從而將關聯(lián)AS 80的路由器所通知的前綴聚合至一個或多個PID 82或PID 84中,并針對包括 ALTO服務器的AS將PID組合至各AS間網(wǎng)絡圖中。如所示,例如,ALTO服務器81將AS 80A 的內部路由器所通知的前綴Pl聚合至PID 82A中(聚合為PID 82A)。AS 80A的內部路由器可以被設定為PID 82A的下一跳屬性。附加地,ALTO服務器81A針對AS 80A的ASBR中的每一個的前綴(在該情況下為網(wǎng)絡地址)創(chuàng)建各PID 84A、84B。ALTO服務器81B將AS 80B的內部路由器通知的前綴P2、P3聚合為PID 82B。AS 80B的內部路由器可以被設定為 PID 82B的下一跳屬性。附加地,ALTO服務器81B針對AS 80B的ASBR中每一個的前綴(在這種情況下為網(wǎng)絡地址)創(chuàng)建各PID 84C、84D。通過AS內通信鏈路連接各AS 80中的每一個的多個PID 82、84。附加地,每個 ALTO服務器81執(zhí)行本文所描述的動態(tài)開銷圖生成和更改技術,從而產(chǎn)生包括了與ALTO服務器產(chǎn)生的網(wǎng)絡圖相關的本地和遠程PID的多種組合的開銷的AS間開銷圖。因此,每個 ALTO服務器81產(chǎn)生代表以與ALTO服務器相關的自治系統(tǒng)80的視角的網(wǎng)絡79的拓撲的本地網(wǎng)絡和本地開銷圖。ALTO服務器81在ALTO聯(lián)合中彼此聯(lián)合從而共享信息,促進整個網(wǎng)絡79的精細 PID前綴粒度,并從而改善節(jié)點選擇。ALTO服務器81A是主ALTO服務器,除了其本地功能 (即,以AS 80A的視角生成網(wǎng)絡和開銷圖)之外,還使用每個ALTO服務器81生成的多種本地AS內和/或AS間網(wǎng)絡和開銷圖而生成針對網(wǎng)絡79的主網(wǎng)絡和開銷圖。
ALTO服務器81A通過AS 80的路由器經(jīng)由拓撲信息通知串來接收通知AS 80B的前綴P2、P3的路由信息。在一個實施例中,AS 80B的內部路由器將每個都包括前綴P2、 P3的IBGP UPDATE消息86A、86B發(fā)送至AS 80B的ASBR。AS 80B的ASBR將該消息作為各 BGP UPDATE消息88A、88B而再發(fā)布至AS 80A的ASBR。接下來,該ASBR將BGP UPDATE消息80A、88B作為BGP UPDATE消息90A-90D進行再發(fā)布。ALTO服務器81A從PID 84A所涵蓋的ASBR中接收IBGP UPDATE消息90C,其是針對前綴P2、P3的第一路由的下一跳。ALTO 服務器81A從PID 84B所涵蓋的ASBR中接收IBGP UPDATE消息90D,其是針對前綴P2、P3 的第二路由的下一跳。ALTO服務器81A還接收針對AS 80A的前綴Pl的路由信息。ALTO服務器81A還接收以下路由信息,該信息指定針對AS 80A的內部鏈路的鏈路指標并使用這些指標來計算從PID 82A至PID 84A以及從PID 82A至PID 84B的ALTO 開銷。此外,ALTO服務器81A配置有針對AS 80的ASBR的每個連接對的AS間開銷,ALTO 服務器使用該開銷來計算從PID 84A至PID 84C以及從PID 84B至PID 84D的ALTO開銷。 在圖5中將這些ALTO開銷示為帶有注釋開銷信息的單向箭頭。ALTO服務器81B接收前綴P2、P3的路由信息以及指定AS 80A的內部鏈路的鏈路指標的路由信息。ALTO服務器81B使用該指標來計算從PID 84C至PID 82B以及從PID 84D至PID 82B的ALTO開銷。根據(jù)本公開的技術,ALTO服務器81B隨后使用接收的路由信息從而生成AS 80B的AS間網(wǎng)絡和開銷圖。ALTO服務器81B在上載消息92中將所生成的 AS 80B的AS間網(wǎng)絡和開銷圖發(fā)送至ALTO服務器81A。由于存在從PID 82A至PID 82B的多條網(wǎng)絡路徑,ALTO服務器81A確定AS 80A的路由器將沿其轉發(fā)流量的網(wǎng)絡路徑,從而確定PID之間的精確ALTO開銷。使用從AS 80A的路由器接收到的路由信息,ALTO服務器8IA根據(jù)判定處理(諸如,參考上面在ReWiter等人描述的BGP判定處理)來選擇對于前綴P2、P3的路徑之一。只要ALTO服務器81A的策略配置和AS 80A的內部路由器關于該判定處理類似,則判定處理精確地確定針對從PID 82A朝向PID 82B的流量的路徑。在一些實施方式中,ALTO服務器81A訪問作為PID 82A的下一跳的AS 80A的內部路由器的本地路由信息庫(Loc-RIB),而并不執(zhí)行判定處理。該Loc-RIB 指定由內部路由器選定的路由。在所示實施方式中,用于流量的路徑流向PID 84A,原因在于從PID 82A的內部路由器至PID 84A的ASBR的較低內部路由開銷。已確定了用于從PID 82A至PID 82B的流量的路徑,ALTO服務器81A對包括從PID 82A到PID 84A、從PID 84A到PID 84C、從PID 84C到PID 82B的路徑鏈路的多個ALTO開銷求和。由AS 80A的ALTO服務器81A生成的AS間網(wǎng)絡圖來指定從PID 82A至PID 84A 的鏈路的ALTO開銷,對于從PID 84A至PID 84C的鏈路的ALTO開銷也是同樣。由ALTO服務器81B生成的AS間網(wǎng)絡圖來指定從PID 84C至PID 82B的鏈路的ALTO開銷,并在上載消息92中將該開銷發(fā)送至ALTO服務器SlA0在該情況下,多個ALTO開銷之和等于190。圖6是示出了根據(jù)所描述的技術、表示由ALTO服務器8IB生成的圖5的AS 80B的局部組合的AS間網(wǎng)絡和開銷圖的示例性圖表94的框圖。圖表94是局部,原因在于其未包括雙向的ALTO開銷。在一些實施方式中,圖表94是結合了 AS 80A的組件的組合AS間網(wǎng)絡和開銷圖。ALTO服務器81B將由圖表94表示的網(wǎng)絡和開銷圖發(fā)送至ALTO服務器SlA0圖6B是示出了代表針對圖5的網(wǎng)絡79的局部組合的主網(wǎng)絡和開銷圖的示例性圖表96的框圖。圖96是局部,原因在于其未包括雙向的ALTO開銷。ALTO服務器81A使用接收的路由信息、配置的AS間開銷、以及從AS 80B的ALTO服務器81B接收的網(wǎng)絡和開銷圖來生成網(wǎng)絡79的主網(wǎng)絡和開銷圖。圖7是詳細示出了根據(jù)本文所描述的技術來接收路由信息并動態(tài)地產(chǎn)生網(wǎng)絡和開銷圖的實例ALTO服務器100的框圖。ALTO服務器100可以表示圖1的ALTO服務器12、 圖3的ALTO服務器38或圖5的ALTO服務器81中的任一個的實例實施方式,ALTO服務器 100可以為服務器、網(wǎng)絡、控制器、網(wǎng)絡開關或者包括一個或多個微處理器的其他計算裝置或設備,該一個或多個微處理器為用于根據(jù)所描述的技術動態(tài)地產(chǎn)生并輸出ALTO網(wǎng)絡和開銷圖的一個或多個軟件模塊提供操作環(huán)境。為了清晰起見,在圖7中沒有示出諸如微處理器、存儲器、鍵盤、顯示器、操作系統(tǒng)、網(wǎng)絡驅動器的部件以及共同被安置在這種計算裝置或設備中的其他部件。在一些實施方式中,ALTO服務器100包括包含一個或多個服務單元的路由器以應用諸如本文所述的ALTO服務的服務。服務單元可以分布在插入到路由器的機架槽(rack slot)中的一個或多個服務卡或板(未示出)上。服務單元可以穿過背板或穿過網(wǎng)絡鏈路而與路由平面通信,該網(wǎng)絡鏈路使ALTO服務能夠被動地與在由ALTO服務器 100包括的路由器的路由平面內執(zhí)行路由協(xié)議的路由守護進程(daemon)對等連接。ALTO服務器100的控制單元102提供用于執(zhí)行網(wǎng)絡圖模塊106、開銷圖模塊112、 客戶機接口 114、IGP監(jiān)聽器130、BGP監(jiān)聽器IM和用戶接口 128的操作環(huán)境??刂茊卧?102可以包括一個或多個處理器(未示出),這些一個或多個處理器包括一個或多個微處理器、數(shù)字信號處理器(DSP)設備專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或任何其他等同的集成或離散邏輯電路,以及這些部件的任何組合,以執(zhí)行實現(xiàn)本文所描述的功能的模塊。ALTO服務器100的圖模塊104使用由IGP監(jiān)聽器130接收的路由信息和由BGP監(jiān)聽器1 接收的能達到性信息(例如,以拓撲信息通知的形式)而動態(tài)地產(chǎn)生網(wǎng)絡圖120 和開銷圖122。在一些實施方式中,圖模塊104使用由BGP監(jiān)聽器IM接收的包括流量工程數(shù)據(jù)的BGP通知中的能達到性信息和路由信息來動態(tài)地產(chǎn)生網(wǎng)絡圖120和開銷圖122。另外,在所示出的實施方式中,ALTO服務器100包括拓撲信息庫116,該拓撲信息庫為包含關于可以由圖模塊104使用以產(chǎn)生基于ALTO的映射(S卩,網(wǎng)絡圖120和開銷圖122)的網(wǎng)絡拓撲的信息、用于各種網(wǎng)絡鏈路的傳輸開銷以及其他信息的數(shù)據(jù)結構。拓撲信息庫116可以包括一個或多個路由信息庫(RIB)。拓撲信息庫116還可以包括流量工程數(shù)據(jù)庫。圖模塊 104的網(wǎng)絡圖模塊106使用拓撲信息庫116和團體屬性圖118(被稱作“團體屬性圖118”) 而根據(jù)本文所描述的技術來產(chǎn)生網(wǎng)絡圖120。圖模塊104的開銷圖模塊112可以使用動態(tài)產(chǎn)生的網(wǎng)絡圖120和拓撲信息庫116而根據(jù)本文所描述的技術產(chǎn)生開銷圖122。在一些情況下,網(wǎng)絡圖模塊106使用兩個或多個AS間網(wǎng)絡圖而額外產(chǎn)生網(wǎng)絡的主網(wǎng)絡圖(master network map),并且開銷圖模塊112使用兩個或多個AS間開銷圖而產(chǎn)生網(wǎng)絡的主開銷圖 (master cost map) 0網(wǎng)絡圖120可以包括根據(jù)所描述的技術而動態(tài)產(chǎn)生的AS內和/或AS間網(wǎng)絡圖。 網(wǎng)絡圖120包括包含數(shù)據(jù)結構的一個或多個PID條目,以存儲網(wǎng)絡圖的相應的一個或多個 PID0每一 PID條目可以包括一個或多個聚集前綴、PID標識符或名稱以及PID的任何屬性。 開銷圖122可以包括根據(jù)本文所描述的技術動態(tài)產(chǎn)生的AS內和/或AS間開銷圖。開銷圖 122例如可以包括一個或多個開銷圖條目,其中,每一開銷圖條目均指定了網(wǎng)絡圖120中的兩個PID和該兩個PID的ALTO開銷。ALTO服務器100的用戶接口 1 可以包括命令行接口(CLI)、圖形用戶接口 (⑶I)、遠程程序呼叫(RPC)或一些其他方法,以使管理員138能夠配置ALTO服務器100的拓撲信息庫116和供應策略126。管理員138可以是例如服務提供商網(wǎng)絡的網(wǎng)絡操作者或者是在例如網(wǎng)絡管理裝置上執(zhí)行的軟件代理。管理員138根據(jù)與傳輸開銷有關的優(yōu)先級、 負載平衡、服務分級、PID分組、PID標識符映射的團體屬性或其他優(yōu)先區(qū)域,而向ALTO服務器100提供供應策略126,即,使網(wǎng)絡圖模塊106產(chǎn)生網(wǎng)絡圖120和使開銷圖模塊112產(chǎn)生開銷圖122的一組策略。例如,供應策略126中的策略可以指示開銷圖模塊112根據(jù)特定公式來從IGP指標(存儲在拓撲信息庫116中)計算ALTO開銷。作為另一實施例,供應策略126中的策略可以指示網(wǎng)絡圖模塊106將標記有特定團體屬性的前綴聚合在特定PID 中。BGP監(jiān)聽器IM為能達到性協(xié)議監(jiān)聽器,其執(zhí)行BGP以與BPG揚聲器對等連接來接收包括NLRI的BGP IPDATE消息134以安裝至拓撲信息庫116。BGP監(jiān)聽器IM可以存儲用于ALTO服務器100的每一 BGP對等體(未示出)的Loc-RIB (本地路由信息庫)和/或 Adj-RIB-In (相鄰路由信息庫,引入)。另外,管理員138可以使用UI 1 而從拓撲信息庫 126中添加、修改或去除路由信息。在一些情況下,BGP監(jiān)聽器124接收在從BGP揚聲器接收的GBP通知中編碼的流量工程數(shù)據(jù)。BGP監(jiān)聽器IM將流量工程數(shù)據(jù)存儲至拓撲信息庫 116的流量工程數(shù)據(jù)庫(TED),圖模塊104使用該拓撲信息庫116而動態(tài)地產(chǎn)生網(wǎng)絡圖120 和開銷圖122。IGP監(jiān)聽器130為執(zhí)行內部網(wǎng)關協(xié)議以從安裝至拓撲信息庫116的網(wǎng)絡路由器接收路由信息136的路由協(xié)議監(jiān)聽器。在一些實施方式中,IGP監(jiān)聽器130執(zhí)行OSPF以與相鄰路由器對等連接,以接收包括ALTO服務器100的自治系統(tǒng)的鏈路狀態(tài)更新信息和LSDB。 在一些實施方式中,拓撲信息庫116包括LSDB。團體屬性圖118(被稱作“團體屬性圖118”)為諸如表格、列表或映射的關聯(lián)數(shù)據(jù)結構,其將團體屬性值映射至相應的PID屬性值。團體屬性和PID屬性可以從不同的命名區(qū)間中獲得。例如,團體屬性通常為四字節(jié)整數(shù),而PID屬性可以為字符串。團體屬性圖 118作為被固定至團體屬性值的查詢數(shù)據(jù)結構進行操作。即,針對團體屬性值(例如,指定了類型“CDN節(jié)點”的端點的值),團體屬性值118提供相應的PID屬性值(例如,確定與類型“CDN節(jié)點”的端點相關聯(lián)的PID的值)。PID生成器110將在拓撲信息庫116中描述的端點聚合在PID中,并執(zhí)行在本發(fā)明中描述的其他的PID生成、修改和“分裂”技術。PID生成器110動態(tài)地將在BGP UPDATE 消息中接收的目標前綴聚合在網(wǎng)絡圖120的新PID中,或修改網(wǎng)絡圖120的現(xiàn)有PID以聚合目標前綴。當BGP UPDATE消息134的各個前綴均包括團體屬性時,屬性模塊108通過使用在BGP UPDATE消息134中接收的團體屬性值而將由BGP監(jiān)聽器124映射的PID屬性值分配給包括目標前綴的新的或修改的PID。網(wǎng)絡圖模塊106根據(jù)本文所描述的技術而將由PID生成器110產(chǎn)生的經(jīng)聚合的 PID結合至網(wǎng)絡圖120中。開銷圖模塊112將供應策略1 應用于網(wǎng)絡圖120,并且在一些情況下,應用拓撲信息庫116產(chǎn)生相應的開銷圖122。根據(jù)BGP UPDATE消息134所確定的網(wǎng)絡圖120的PID的PID屬性可以影響PID間開銷的確定。例如,供應策略1 可以包括以下策略請求開銷圖模塊122以將具有均包括為“主機”的PID屬性值的PID的PID對的 PID間開銷設定為無限大。因此,在該實施例中,使用由ALTO服務器100 (接收來自主機端點的內容請求)提供的ALTO服務的應用將不選擇另一主機端點來服務所請求的內容。例如以請求路由器形式存在的應用可以改為選擇CDN節(jié)點??蛻魴C接口 114暴露ALTO服務器接口以使ALTO客戶機針對網(wǎng)絡的應用請求并接收網(wǎng)絡圖和開銷圖??蛻魴C接口 114在圖上載消息132中將網(wǎng)絡圖120和開銷圖122 的副本發(fā)送至請求客戶機。任何更新消息132可以包括遞增或完全的更新,如結合上文在 Raghunath et al.中描述的那樣??蛻魴C接口 114可以執(zhí)行一個或多個協(xié)議以獲得ALTO客戶機在網(wǎng)絡中的網(wǎng)絡地址,并且客戶機接口保持這些網(wǎng)絡地址使得將這些圖的遞增更新信息推送至客戶機。客戶機114的實例接口例如可以包括簡單對象訪問協(xié)議(SOAP)或其他可擴展標記語言(XML) 接口、CLI或⑶I、簡單網(wǎng)絡管理協(xié)議(SNMP)、遠程步驟呼叫(RPC)和公用對象請求代理程序體系結構(CORBA)接口。在ALTO服務器100的一些實施方式中,客戶機接口 114實現(xiàn)端點開銷服務。當客戶機接口 114從客戶機接收在網(wǎng)絡圖120中表示的端點的列表時,客戶機接口 114返回端點的普通等級列表或者由開銷圖122指定的端點和客戶機之間或端點和另一指定的源節(jié)點之間的開銷??蛇x地,客戶機接口 114返回每一端點和客戶機之間或每一端點和另一指定的源節(jié)點之間的開銷。在一些情況下,ALTO服務器100作為主ALTO服務器進行操作并產(chǎn)生網(wǎng)絡的主網(wǎng)絡圖和開銷圖。在一些情況下,客戶機接口 114進行操作以在ALTO服務器100和位于網(wǎng)絡的其他自治系統(tǒng)中的各種其他ALTO服務器之間通信。客戶機接口 114從這些各種其他ALTO 服務器接收網(wǎng)絡和開銷圖。一經(jīng)由圖模塊104將這些網(wǎng)絡和開銷圖結合至主網(wǎng)絡和開銷圖,客戶機接口 114就將主網(wǎng)絡和開銷圖發(fā)送至各種其他ALTO服務器以向其他網(wǎng)絡區(qū)域提供高分辨率網(wǎng)絡拓撲和開銷信息。圖8是示出了 ALTO服務器100的操作的實例模式的流程圖,該ALTO服務器用于根據(jù)所描述的技術而動態(tài)地產(chǎn)生或修改由ALTO服務器100服務的自治系統(tǒng)的AS間網(wǎng)絡圖。 BGP監(jiān)聽器IM作為被動BGP進行操作以與自治系統(tǒng)的BGP揚聲器對等連接并接收BGP消息000)。在這種情況下的BGP可以指的是內部BGP。當BGP監(jiān)聽器IM接收到BGP UPDATE 消息時,BGP將所接收的路由安裝至拓撲信息庫116(202)。在一些情況下,ALTO服務器100 在拓撲信息庫116上運行BGP決策處理,以選擇用于處理的路由。ALTO服務器100的網(wǎng)絡圖模塊106分析BGP UPDATE消息屬性以確定路由是否來源于ALTO服務器100的自治系統(tǒng)(AS),g卩,AS_PATH屬性的長度是否等于零Q03)。如果路由來源于不同的ASQ03的否定分支),則PID生成器110將所通知的前綴添加至網(wǎng)絡圖 120(在該實施例中,為AS間網(wǎng)絡圖)的與路由的PID具有相同的AS_PATH屬性和相同的服父1^10 屬性的?10(214)。如果這種PID并不存在于網(wǎng)絡圖120中,則PID生成器110產(chǎn)生新的PID、并將PID ΝΕΧΤ_Η0Ρ屬性設定為路由的ΝΕΧΤ_Η0Ρ值、將PID AS_PATH屬性設定為路由的AS_PATH值,并且將前綴添加至網(wǎng)絡圖120中的新PID。如果在一些情況下,網(wǎng)絡圖模塊106產(chǎn)生僅包括由ALTO服務器100的自治系統(tǒng)服務的前綴的AS內網(wǎng)絡圖。在這種情況下,PID生成器110忽略AS_PATH長度超過0的所有所通知的前綴,并因此可以跳過步驟 214。如果路由來源于ALTO服務器100的AS (203的肯定分支),則屬性模塊108確定路由是否包括在供應策略126中被映射至特定PID的BGP團體屬性或擴展團體屬性Q04的肯定分支),如果包括的話,則屬性模塊108指示PID生成器110將所通知的前綴添加至經(jīng)映射的PID(206)。根據(jù)需要,PID生成器110產(chǎn)生網(wǎng)絡圖120中的經(jīng)映射的PID。屬性模塊108確定嵌入在BGP UPDATE消息中的一個或多個團體屬性值是否在團體屬性圖118中被映射至PID屬性值008)。如果是的話O08的肯定分支),屬性模塊108 指示PID生成器將所通知的前綴添加至網(wǎng)絡圖120中的PID,該PID(I)具有在團體屬性圖 118中前綴的團體屬性值被映射至的經(jīng)映射的PID屬性的相同的組,(2)并還具有與通知的前綴相同的NEXT_H0P屬性(210)。換而言之,PID生成器110將標記有相同的一組經(jīng)映射的團體屬性值和相同的NEXT_H0P的前綴聚合至單個PID。根據(jù)需要,PID生成器110創(chuàng)建網(wǎng)絡圖120中的這種PID。如果通知的前綴既沒有在團體屬性圖118中映射也沒有在供應策略126中映射, 則PID生成器110向網(wǎng)絡圖120中的PID添加前綴,該PID沒有經(jīng)映射的PID屬性值并且還具有與通知的前綴相同的NEXT_H0P屬性。根據(jù)需要,PID生成器110產(chǎn)生網(wǎng)絡圖120中的這種PID。在動態(tài)地產(chǎn)生或修改網(wǎng)絡圖120之后,客戶機接口 114在更新消息132中向 ALTO服務器100的ALTO客戶機提供更新的網(wǎng)絡圖(216)。圖9A至圖9D表示示出了 ALTO服務器100的實例操作以根據(jù)本文所描述的技術動態(tài)地產(chǎn)生或修改由ALTO服務器100服務的自治系統(tǒng)的AS間開銷圖。IGP監(jiān)聽器130執(zhí)行路由協(xié)議以從包括ALTO服務器100的自治系統(tǒng)的內部路由器中接收路由協(xié)議消息中的路由信息。當IGP監(jiān)聽器130接收諸如鏈路狀態(tài)通知的路由協(xié)議信息時(232),IGP監(jiān)聽器 130將路由信息安裝至拓撲信息庫116的鏈路狀態(tài)數(shù)據(jù)庫(234)。根據(jù)路由協(xié)議,IGP監(jiān)聽器130在LSDB上執(zhí)行最短路徑優(yōu)先算法以計算包括ALTO服務器100的自治系統(tǒng)的路由器之間的IGP指標(236)。IGP監(jiān)聽器130可以將IGP指標存儲至拓撲信息庫116。ALTO服務器100的開銷圖模塊112為開銷圖122中網(wǎng)絡圖模塊106生成的每個 PID對計算和設定ALTO開銷。在這種情況中,開銷圖是AS間開銷圖。然而,在一些情況中, 除AS間開銷圖之外或取代AS間開銷圖,開銷圖模塊112生成AS內開銷圖作為開銷圖122。開銷圖112為PID對成員PID類型的不同組合不同地計算ALTO開銷。對于網(wǎng)絡圖 120中的每個PID對(238),開銷圖模塊112判定PID對的兩個成員PID是否包括自治系統(tǒng)的本地前綴(即,成員PID是否是本地PID),其中該自治系統(tǒng)包括ALTO服務器100 (240)。 如果是O40的是分支),開銷圖模塊112從拓撲信息庫116判定在PID對的成員PID的 ΝΕΧΤ_Η0Ρ屬性中所識別的各個下一跳路由器之間的IGP指標(250)。開銷圖模塊112將一個或多個供應策略126應用至判定的IGP指標以計算PID對的ALTO開銷Q52),然后在開銷圖122中為PID對設置該ALTO開銷(254)。如果PID對的一個成員PID是本地的并且另一成員PID是非本地的(即,遠程) (240的否分支),那么開銷圖模塊112判定遠程成員PID是否位于相鄰的自治系統(tǒng),如例如通過遠程成員PID AS標識符屬性所識別的042)。如果位于相鄰的ASQ42的是分支),客戶機接口 114從服務遠程PID的前綴的相鄰自治系統(tǒng)的ALTO服務器接收局部開銷圖Q60)。 局部開銷圖包括通過拓撲信息庫116的拓撲信息運行BGP判定過程的ALTO網(wǎng)絡圖模塊106以識別從本地PID到遠程PID的可能的流量路徑,拓撲信息庫116與PID對的各個本地PID
成員一致。PID對的ALTO開銷是所識別的流量路徑的AS內和AS間ALTO開銷的和。開銷圖模塊112查詢拓撲信息庫116以獲得本地成員PID的NEXT_H0P屬性所識別的下一跳路由器和遠程PID的NEXT_H0P屬性所識別的下一跳路由器之間的IGP指標(沈4)。開銷圖模塊 112將一個或多個供應策略1 應用至判定的IGP指標以計算AS內ALTO開銷066)。開銷圖模塊112計算沿所識別的流量路徑連接AS和相鄰AS的邊界路由器之間的AS間ALTO 開銷068)。AS間ALTO可配置在拓撲信息庫116。開銷圖模塊112查詢由客戶機接口 114 接收的局部開銷圖以獲得位于沿所識別的流量路徑和遠程PID的前綴的相鄰AS的邊界路由器之間的遠程ALTO開銷(270)。開銷圖模塊112計算AS內開銷、遠程開銷和AS間開銷的和(272)并在開銷圖122中將該和設置為PID對的ALTO開銷(274)。如果PID對包括本地PID和非相鄰遠程PID (244的是分支),PID對的ALTO開銷被設置為自治系統(tǒng)的AS間開銷和AS內開銷的和。該自治系統(tǒng)包括服務遠程PID的前綴的遠程AS的ALTO服務器100。開銷圖模塊112查詢拓撲信息庫116以獲得本地成員PID的 ΝΕΧΤ_Η0Ρ屬性所識別的下一跳路由器和遠程PID的ΝΕΧΤ_Η0Ρ屬性所識別的下一跳路由器之間的IGP指標(觀0)。開銷圖模塊112將一個或多個供應策略1 應用至判定的IGP指標以計算AS內ALTO開銷(觀2)。在該實例中,缺省AS間ALTO開銷被配置在拓撲信息庫116。開銷圖模塊112接著從遠程PID的AS_PATH屬性判定AS_PATH長度并然后將AS間ALTO開銷計算為AS_PATH長度和缺省AS間ALTO開銷的乘積(觀4)。開銷圖模塊112對AS間ALTO開銷和AS內ALTO 開銷進行求和086)并將和設置為開銷圖122中PID對的ALTO開銷(觀8)。在一些實例中,管理員138通過AS ID所標識的自治系統(tǒng)之間的AS間開銷配置拓撲信息庫116。在這些情況中,開銷圖116可查詢拓撲信息庫116t以獲得更準確的AS間開銷以計算從本地PID 到遠程PID的總的AS間開銷。如果PID對的兩個成員是遠程PID(244的否分支),那么開銷圖模塊112將與遠程 PID之間的AS間鏈路的數(shù)量成比例地設置PID對的ALTO開銷(M6)。在一個實例中,開銷圖模塊112可通過分析遠程PID的AS_PATH屬性判定AS間鏈路的數(shù)量以得到包括服務遠程PID的各個AS的各個AS_ID中的每個的AS_PATH值。開銷圖模塊112從判定的值判定 AS間鏈路的數(shù)量并計算ALTO開銷作為AS間鏈路的數(shù)量和缺省AS間ALTO開銷的乘積。如果PID不具有該AS_PATH值,那么開銷圖模塊112不能夠判定AS間ALTO開銷并將PID對的ALTO開銷設置為無限大。在動態(tài)生成或更改開銷圖122之后,客戶機接口 114在更新消息132中向ALTO服務器100的ALTO客戶機提供更新的開銷(M8)。圖10是根據(jù)本文所述技術ALTO服務器100生成主ATLO網(wǎng)絡圖的實例操作的流程圖。在該實例操作中,客戶機接口 114從在第一和第二自治系統(tǒng)內運行的各個ALTO服務器接收第一和第二 AS間網(wǎng)絡圖(300)。在一些實例中,ALTO服務器100可包括各個ALTO 服務器中的一個,并且在這些實例中,ALTO服務器100使用已生成主網(wǎng)絡和開銷圖的AS間網(wǎng)絡和開銷圖。AS間網(wǎng)絡圖均包括網(wǎng)絡圖模塊106攜帶到網(wǎng)絡圖120的本地PID(在該操作中,網(wǎng)絡圖120是網(wǎng)絡的主網(wǎng)絡圖)(30 。即,網(wǎng)絡圖模塊106將本地PID的前綴、屬性和其他值復制到網(wǎng)絡圖120的相應PID中。對于第一和第二 AS間網(wǎng)絡圖中的每個(304),網(wǎng)絡圖模塊106將AS間網(wǎng)絡圖的遠程PID與從其他AS間網(wǎng)絡圖攜帶到主網(wǎng)絡圖120的本地PID進行比較(306)。特別地, 當對應于其他AS間網(wǎng)絡圖的本地PID的這些PID具有沒有通知AS間網(wǎng)絡圖的AS的前綴時,如遠程PID中沒有包括的前綴所證實,網(wǎng)絡圖模塊106根據(jù)遠程PID將主網(wǎng)絡圖120的 PID 分開(308)。此外,當對應于其他AS間網(wǎng)絡圖的本地PID的這些PID具有分歧(divergent,發(fā)散)的AS_PATH長度時,網(wǎng)絡圖模塊106根據(jù)遠程PID將主網(wǎng)絡圖120的PID分開(310)。 即,當遠程PID根據(jù)前綴的不同AS_PATH長度將前綴分為其他AS間網(wǎng)絡圖的單個本地PID 時,那么網(wǎng)絡圖模塊106根據(jù)遠程PID限定的分離將主網(wǎng)絡圖120中本地PID的相應PID 分裂。當對應于其他AS間網(wǎng)絡圖的本地PID的這些PID具有分歧的NEXT_H0P屬性值時, 網(wǎng)絡圖模塊106根據(jù)遠程PID另外將主網(wǎng)絡圖120的PID分裂(312)。S卩,當遠程PID根據(jù)前綴的不同NEXT_H0P值將前綴分為其他AS間網(wǎng)絡圖的單個本地PID時,那么網(wǎng)絡圖模塊 106根據(jù)遠程PID限定的分離將主網(wǎng)絡圖120中本地PID的相應PID分裂。在動態(tài)生成或更改網(wǎng)絡圖120之后,客戶機接口 114將更新消息132中的更新網(wǎng)絡圖提供至ALTO服務器 100的ALTO客戶機或網(wǎng)絡的各個AS的其他ALTO服務器(314)。圖11是根據(jù)本文所述技術ALTO服務器100生成主ALTO網(wǎng)絡和開銷圖的流程圖。 在該實例中,客戶機接口 114從在第一和第二自治系統(tǒng)內運行的各個ALTO服務器接收第一和第二 AS間網(wǎng)絡和開銷圖(326)。在一些實例中,ALTO服務器100可包括各個ALTO服務器中的一個,并且在這些實例中,ALTO服務器100使用已生成主網(wǎng)絡和開銷圖的AS間網(wǎng)絡和開銷圖。網(wǎng)絡圖模塊106使用第一和第二 AS間網(wǎng)絡圖生成網(wǎng)絡圖120(3 )。雖然順序示出和描述,但生成主網(wǎng)絡圖120和主開銷圖122的操作可同時發(fā)生。開銷圖模塊112然后聚集主網(wǎng)絡圖120的相應的主開銷圖122。在該實例中,對于主網(wǎng)絡圖120的每個PID對(330),開銷圖模塊112判定兩個成員PID是否從同一 AS間網(wǎng)絡圖攜帶,即,PID是否由同一自治系統(tǒng)服務(332)。如果是(332的是分支),開銷圖模塊 112將PID對的ALTO開銷設置為如服務PID的自治系統(tǒng)的AS間開銷圖所指定的相應PID 的ALTO開銷(334)。如果PID成員表示網(wǎng)絡圖模塊106所創(chuàng)建的以說明第一和第二 AS間網(wǎng)絡圖的分歧的“分裂"PID,開銷圖模塊112將PID對的ALTO開銷設置為零以反映這些PID 的前綴通過服務這些PID的自治系統(tǒng)的ALTO服務器聚合進同一 PID (338)。如果PID成員包括第一和第二 AS間網(wǎng)絡圖的前綴(336的否分支),開銷圖模塊 112使用第一和第二 AS間開銷圖設置PID成員之間的單向ALTO開銷。具體地,開銷圖模塊 112將主開銷圖122中第一 PID成員至第二 PID成員的ALTO開銷設置為由服務第一 PID的自治系統(tǒng)所提供的AS間開銷圖所指定的開銷(340)。開銷圖模塊112將主開銷圖122中第二 PID成員至第一 PID成員的ALTO開銷設置為由服務第二 PID的自治系統(tǒng)所提供的AS間開銷圖所指定的開銷(342)。在生成主網(wǎng)絡圖和開銷圖之后,客戶機接口 114向ALTO服務器100的ALTO客戶機或網(wǎng)絡的各個AS中的其他ALTO服務器提供更新消息132中的更新的圖0344)。本發(fā)明所述的技術可至少部分地通過硬件、軟件、固件或其組合來實現(xiàn)。例如,所述技術的各個方面可在一個或多個處理器(包括一個或多個微處理器、數(shù)字信號處理器(DSP)、特定用途集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、或其他等效集成或離散的邏輯電路以及這些組件的任何組合)中實現(xiàn)。術語“處理器”或“處理電路”通??芍溉魏吻笆鲞壿嬰娐?單獨或與其他邏輯電路的組合)或任何其他等效電路。包括硬件的控制單元也可以執(zhí)行本發(fā)明的一個或多個技術。這些硬件、軟件和固件可在同一裝置或獨立的裝置中實現(xiàn)以支持本發(fā)明所述的各種操作和功能。此外,任何所述單元、模塊或組建可共同實施或單獨地實施為離散但可互操作的邏輯裝置。作為模塊或單元的不同特性的描述旨在突出不同的功能方面,并不一定意味著這些模塊或單元必須由通過獨立的硬件或軟件組件來實現(xiàn)。相反,與一個或多個模塊或單元相關的功能可通過獨立的硬件或軟件組件執(zhí)行,或集成在公用的或獨立的硬件或軟件組件中。本發(fā)明所述的技術可嵌入或編碼在諸如非瞬時性的計算機可讀介質或計算機可讀存儲介質的包括指令的計算機可讀介質中。嵌入或編碼在計算機可讀介質中的指令可使可編程處理器或其他處理器執(zhí)行該方法(即,當執(zhí)行指令時)。計算機可讀存儲介質可包括隨機存儲器(RAM)、只讀存儲器(ROM)、可編程只讀存儲器((PR0M)、可擦可編程只讀存儲器(EPROM)、電、電可擦除可編程只讀存儲器(EEPROM)、閃存、硬盤、CD-ROM、軟盤、磁帶、磁介質、光學介質或其他計算機可讀存儲介質。應理解,術語“計算機可讀存儲介質”指物理存儲介質,而不是信號或載波,雖然術語“計算機可讀介質”可包括除物理存儲介質之外的諸如信號的瞬時介質。除了以上實施方式之外,或作為以上實施方式的可選實施方式,描述以下實施方式。在任何以下實施方式中所述的特性可與本文所述的任何其他實施方式一起使用。一個實施方式旨在提供一種方法,包括在應用層流量優(yōu)化(ALTO)服務器上執(zhí)行路由協(xié)議以接收限定網(wǎng)絡的端點的路徑的層3 (U)網(wǎng)絡拓撲信息;通過ALTO服務器將端點聚合進拓撲分組(PID)的一個或多個子集的組,其中每個PID與端點的不同子集相關;通過路由協(xié)議接收執(zhí)行一個或多個路徑并包括識別(identify) —個或多個端點的網(wǎng)絡地址的拓撲信息通知;通過ALTO服務器將所識別的端點聚合進第一組PID ;通過ALTO服務器生成包括描述每個PID的PID入口的ALTO網(wǎng)絡圖;以及將ALTO網(wǎng)絡圖從ALTO服務器發(fā)送至 ALTO客戶機。在一些實施方式中,拓撲信息通知指定所識別的端點(識別網(wǎng)絡的路由器)的下一跳屬性,并且該方法還包括通過ALTO服務器至少基于端點的下一跳將所識別的端點聚合進第一 PID。在一些實施方式中,網(wǎng)絡包括多個自治系統(tǒng),并且該方法還可包括通過ALTO服務器判定發(fā)起拓撲信息通知的多個自治系統(tǒng)中的一個;并且通過ALTO服務器至少基于發(fā)起拓撲信息通知的多個自治系統(tǒng)中的一個將所標識的端點聚合進第一 PID。在一些實施方式中,拓撲信息通知執(zhí)行所標識的端點的一個或多個前綴屬性,該方法還包括通過ALTO服務器至少基于所標識的端點的前綴屬性將所識別的端點聚合進第 -PID0在一些實施方式中,該方法還可包括利用ALTO服務器向表示PID的PID標識符來應用對所識別的端點的前綴屬性之一進行映射的團體屬性映射。在一些實施方式中,該方法還可包括利用ALTO服務器,分配前綴屬性作為第一PID的PID屬性;禾Ij用路由協(xié)議,接收附加拓撲信息通知,其中,附加拓撲信息通知包括用于表示附加的一個或多個端點的附加網(wǎng)絡地址信息,并為附加端點指定附加的一個或多個前綴屬性;利用ALTO服務器,當附加前綴屬性與分配給第一PID的前綴屬性匹配時,將附加端點聚合到第一 PID中;并且,利用ALTO服務器,當附加前綴屬性與分配給第一 PID的前綴屬性不匹配時,將附加端點聚合到PID中的第二個中。在一些實施方式中,網(wǎng)絡包括多個自治系統(tǒng),并且該方法還包括利用ALTO服務器,從拓撲信息通知確定至多個自治系統(tǒng)中的發(fā)起拓撲信息通知的一個的自治系統(tǒng)路徑; 以及利用ALTO服務器,至少基于該自治系統(tǒng)路徑,將所識別的端點聚合到第一 PID中。在一些實施方式中,該方法還包括利用ALTO服務器,接收用于包括ALTO服務器的自治系統(tǒng)的路由信息;至少基于該路由信息,利用ALTO服務器,為ALTO網(wǎng)絡圖的拓撲分組(PID)的一個或多個子組的組的一對計算ALTO開銷,其中,PID組中的每一個與包括自治系統(tǒng)的網(wǎng)絡的端點的不同子組相關;產(chǎn)生ALTO開銷圖,其包括指定該對PID的第一成員和第二成員之間的ALTO開銷的條目;從ALTO服務器發(fā)送ALTO開銷圖至ALTO用戶。在一些實施方式中,利用路由協(xié)議接收路由信息可包括利用內部網(wǎng)關協(xié)議,接收包括至自治系統(tǒng)內的一個或多個路由的鏈路的列表的一個或多個鏈路狀態(tài)通知,其中,鏈路列表中的各鏈路包括用于該鏈路的相關指標。并且,該方法還可包括存儲鏈路列表至 ALTO服務器的鏈路狀態(tài)數(shù)據(jù)庫,并在鏈路狀態(tài)數(shù)據(jù)庫上執(zhí)行最短路徑優(yōu)先算法,以確定自治系統(tǒng)內路由器之間的指標。其中,為PID對計算ALTO開銷包括在該PID對中的第一成員的下一跳和該PID對中的第二成員的下一跳之間識別通過最短路徑優(yōu)先算法計算的指標。在一些實施方式中,該PID對中的第一成員指定由包括ALTO服務器的自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該PID對中的第二成員指定由網(wǎng)絡的遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴。并且該方法還包括利用ALTO服務器,存儲指定了用于遍歷從網(wǎng)絡的任意自治系統(tǒng)到網(wǎng)絡的任意相鄰自治系統(tǒng)的路徑的ALTO開銷的缺省AS間開銷;利用ALTO服務器, 確定從包括ALTO服務器的自治系統(tǒng)到遠程自治系統(tǒng)的自治系統(tǒng)路徑的長度;利用ALTO服務器,至少基于該自治系統(tǒng)路徑的長度和缺省AS間開銷,計算該PID對的AS間開銷;利用 ALTO服務器,至少基于路由信息,計算從該PID對的第一成員的下一跳到該PID對的第二成員的下一跳的AS內開銷,其中,利用ALTO服務器計算ALTO開銷包括至少基于AS間開銷和AS內開銷來計算ALTO開銷。在一些實施方式中,利用ALTO服務器計算ALTO開銷(利用ALTO服務器)可包括對AS間開銷和AS內開銷進行求和,并且,利用ALTO服務器計算該PID對的AS間開銷可包括計算自治系統(tǒng)路徑的長度和缺省AS間開銷的乘積。在一些實施方式中,該PID對的第一成員指定由網(wǎng)絡的第一遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該PID對的第二成員指定由網(wǎng)絡的第二遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴。該方法可還包括利用ALTO服務器,存儲指定了用以遍歷從網(wǎng)絡的一個自治系統(tǒng)到網(wǎng)絡的相鄰自治系統(tǒng)的路徑開銷的缺省AS間開銷;利用ALTO服務器,確定從第一遠程自治系統(tǒng)到第二遠程自治系統(tǒng)的自治系統(tǒng)路徑的長度,其中,利用ALTO服務器計算ALTO開銷可包括至少基于該自治系統(tǒng)路徑的長度和缺省AS間開銷來計算ALTO開銷。在一些實施方式中,該方法還包括接收包括ALTO服務器的自治系統(tǒng)的相鄰自治系統(tǒng)的局部AS間開銷圖,其中,該PID對的第一成員指定由包括ALTO服務器的自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該PID對的第二成員的下一跳指定由相鄰自治系統(tǒng)通知的網(wǎng)絡地址前綴,其中,局部AS間開銷圖指定相鄰自治系統(tǒng)的PID的ALTO開銷;利用ALTO服務器, 至少基于路由信息,計算從該PID對的第一成員的下一跳到該PID對的第二成員的下一跳的本地AS內開銷;利用ALTO服務器,使用局部AS間開銷圖,確定從相鄰自治系統(tǒng)的邊界路由器到發(fā)起用于由該PID對中的第二成員指定的網(wǎng)絡地址前綴的路由信息的相鄰自治系統(tǒng)的路由器的遠程AS內開銷,其中,邊界路由器向該PID對的第一成員的下一跳通知由該 PID對的第二成員指定的網(wǎng)絡地址前綴;以及,利用ALTO服務器,存儲指定了用以遍歷從包括ALTO服務器的自治系統(tǒng)到相鄰自治系統(tǒng)的路徑開銷的AS間開銷,其中,利用ALTO服務器計算該PID對的ALTO開銷包括至少基于本地AS內開銷、遠程AS內開銷和AS間開銷來計算ALTO開銷。一些實施方式在于其上編碼有指令的計算機可讀存儲介質,該指令用于使一個或多個可編程處理器執(zhí)行上述的任意方法。一些實施方式在于包括執(zhí)行上述方法的裝置的設備。在一些實施方式中,應用層流量優(yōu)化(ALTO)服務器執(zhí)行路由協(xié)議以接收限定到網(wǎng)絡的端點的路由的層3(L3)網(wǎng)絡拓撲信息。該ALTO服務器還將端點聚合至一個或多個拓撲分組(PID)子組的組中,其中,各PID與端點的不同子組相關。ALTO服務器還利用路由協(xié)議接收指定了一個或多個路由并包括指定了一個或多個端點的網(wǎng)絡地址信息的拓撲信息通知。ALTO服務器還將經(jīng)確定的端點聚合進PID的第一組中。ALTO服務器還生成包括PID條目的ALTO網(wǎng)絡圖,以描述各PID。ALTO服務器還將ALTO網(wǎng)絡圖發(fā)送至ALTO客戶機。在一些實施方式中,拓撲信息通知為所識別的識別網(wǎng)絡路由的端點指定下一跳屬性,并且,至少基于端點的下一跳屬性,ALTO服務器還將經(jīng)確定的端點聚合進第一 PID中。在一些實施方式中,網(wǎng)絡包括多個自治系統(tǒng),并且ALTO服務器還確定多個自治系統(tǒng)中的發(fā)起拓撲信息通知的一個。并且,至少基于多個自治系統(tǒng)中的發(fā)起拓撲信息通知的一個,ALTO服務器還將經(jīng)確定的端點聚合進第一 PID中。在一些實施方式中,拓撲信息通知指定經(jīng)確定的端點的一個或多個前綴屬性,并且,至少基于經(jīng)確定的端點的前綴屬性,ALTO服務器還將經(jīng)確定的端點聚合進第一 PID中。在一些實施方式中,ALTO服務器還應用將經(jīng)確定的端點的前綴屬性中的一個映射至表示PID的PID標識符的團體屬性圖。在一些實施方式中,ALTO服務器還將前綴屬性分配作為第一 PID的PID屬性。利用路由協(xié)議,ALTO服務器還接收附加拓撲信息通知,其中,該附加拓撲信息通知包括表示附加的一個或多個端點的附加網(wǎng)絡地址信息,并且指定附加端點的附加的一個或多個前綴屬性。當附加前綴屬性與分配給第一 PID的前綴屬性匹配時,ALTO服務器還將附加端點聚合進第一 PID中。當附加前綴屬性與分配給第一 PID的前綴屬性不匹配時,ALTO服務器還將附加端點聚合進PID中的第二個中。在一些實施方式中,網(wǎng)絡包括多個自治系統(tǒng),并且ALTO服務器還從拓撲信息通知確定到多個自治系統(tǒng)中的發(fā)起拓撲信息通知的一個的自治系統(tǒng)路徑。ALTO服務器還至少基于自治系統(tǒng)路徑,將經(jīng)識別的端點聚合進第一 PID中。在一些實施方式中,ALTO服務器還利用路由協(xié)議來接收包括ALTO服務器的自治系統(tǒng)的路由信息。ALTO服務器還至少基于該路由信息,計算ALTO網(wǎng)絡圖的拓撲分組(PID) 的一個或多個子組的組中的一對的ALTO開銷,其中,PID的組中的每個與包括自治系統(tǒng)的網(wǎng)絡的端點的不同子組相關。ALTO服務器還生成包括指定該PID對的第一成員和第二成員之間的ALTO開銷的條目的ALTO開銷圖。ALTO服務器還將ALTO開銷圖發(fā)送至ALTO客戶機。在一些實施方式中,通過利用內部網(wǎng)關協(xié)議來接收包括到一個或多個自治系統(tǒng)內的路由的鏈路列表的一個或多個鏈路狀態(tài)信息,ALTO服務器還利用路由協(xié)議來接收路由信息,其中,鏈路列表中的各鏈路包括用于該鏈路的相關指標。ALTO服務器還將鏈路列表存儲至鏈路狀態(tài)數(shù)據(jù)庫。ALTO服務器還在鏈路狀態(tài)數(shù)據(jù)庫上執(zhí)行最短路徑優(yōu)先算法,以確定自治系統(tǒng)內的路由之間的指標。通過確定在該PID對的第一成員的下一跳和該PID對的第二成員的下一跳之間由最短路徑優(yōu)先算法計算的指標,ALTO服務器可計算該PID對的ALTO 開銷。在一些實施方式中,該PID對的第一成員指定由包括ALTO服務器的自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該PID對的第二成員指定由網(wǎng)絡的遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴。ALTO服務器還存儲指定了用以遍歷從網(wǎng)絡的任意自治系統(tǒng)到網(wǎng)絡的任意相鄰自治系統(tǒng)的路徑的ALTO開銷的缺省AS間開銷。ALTO服務器還確定從包括ALTO服務器的自治系統(tǒng)到遠程自治系統(tǒng)的自治系統(tǒng)路徑的長度。ALTO服務器還至少基于該自治系統(tǒng)路徑的長度和缺省AS間開銷來計算該PID對的AS間開銷。ALTO服務器還至少基于路由信息來計算從該 PID對的第一成員的下一跳到該PID對的第二成員的下一跳的AS內開銷。至少基于AS間開銷和AS內開銷來計算ALTO開銷,ALTO服務器可計算ALTO開銷。在一些實施方式中,ALTO服務器可通過對AS間開銷和AS內開銷進行求和來計算 ALTO開銷。ALTO服務器可通過計算自治系統(tǒng)路徑的長度和缺省AS間開銷的乘積來計算該 PID對的AS間開銷。在一些實施方式中,該PID對的第一成員指定由網(wǎng)絡的第一遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該PID對的第二成員指定由網(wǎng)絡的第二遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴。ALTO服務器還存儲指定了用以遍歷從網(wǎng)絡的一個自治系統(tǒng)到網(wǎng)絡的相鄰自治系統(tǒng)的路徑開銷的缺省AS間開銷。ALTO服務器還確定從第一遠程自治系統(tǒng)到第二遠程自治系統(tǒng)的自治系統(tǒng)路徑的長度。通過至少基于該自治系統(tǒng)路徑的長度和缺省AS間開銷來計算 ALTO開銷,ALTO服務器可計算ALTO開銷。在一些實施方式中,ALTO服務器還接收包括ALTO服務器的自治系統(tǒng)的相鄰自治系統(tǒng)的局部AS間開銷圖,其中,該PID對的第一成員指定由包括ALTO服務器的自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該PID對的第二成員的下一跳指定由相鄰自治系統(tǒng)通知的網(wǎng)絡地址前綴,其中,局部AS間開銷圖指定相鄰自治系統(tǒng)的PID的ALTO開銷。ALTO服務器還至少基于路由信息來計算從該PID對的第一成員的下一跳到該PID對的第二成員的下一跳的本地AS內開銷。ALTO服務器還使用局部AS間開銷圖確定從相鄰自治系統(tǒng)的邊界路由器到發(fā)起用于由該PID對中的第二成員指定的網(wǎng)絡地址前綴的路由信息的相鄰自治系統(tǒng)的路由器的遠程AS內開銷,其中,邊界路由器向該PID對的第一成員的下一跳通知由該PID對的第二成員指定的網(wǎng)絡地址前綴。ALTO服務器還存儲指定了用以遍歷從包括ALTO服務器的自治系統(tǒng)到相鄰自治系統(tǒng)的路徑的開銷的AS間開銷,其中,至少基于本地AS內開銷、遠程AS內開銷和AS間開銷來計算ALTO開銷,ALTO服務器可計算該PID對的ALTO開銷。
并且,上述任一實施方式中的任意具體特征可被組合進所述技術的有益實施方式中。即,任意具體特征通??蓱糜诒景l(fā)明的所有實施方式。已描述了本發(fā)明的各種實施方式。這些以及其他實施方式在所附權利要求的范圍內。
權利要求
1.一種方法,包括在應用層流量優(yōu)化(ALTO)服務器上執(zhí)行路由協(xié)議,以接收層3 (U)網(wǎng)絡拓撲信息,所述層3網(wǎng)絡拓撲信息限定了到網(wǎng)絡端點的路由;利用所述ALTO服務器,將所述端點聚合進拓撲分組(PID)的一個或多個子組的組中, 其中,各PID與所述端點的不同子組相關;利用所述路由協(xié)議,接收指定了一個或多個路由并包括確定一個或多個所述端點的網(wǎng)絡地址信息的拓撲信息通知;利用所述ALTO服務器,將所確定的端點聚合進PID的所述組中的第一個中; 利用所述ALTO服務器,生成包括描述各PID的PID條目的ALTO網(wǎng)絡圖;以及將所述ALTO網(wǎng)絡圖從所述ALTO服務器發(fā)送至ALTO客戶機。
2.根據(jù)權利要求1所述的方法,其中,所述拓撲信息通知指定了所確定的端點的下一跳屬性,所述下一跳屬性確定網(wǎng)絡的路由,所述方法還包括利用所述ALTO服務器,至少基于所述端點的下一跳屬性,將所確定的端點聚合進第一 PID 中。
3.根據(jù)權利要求1至2中任一項所述的方法,其中,所述網(wǎng)絡包括多個自治系統(tǒng),所述方法還包括利用所述ALTO服務器,確定所述多個自治系統(tǒng)中的發(fā)起所述拓撲信息通知的一個;以及利用所述ALTO服務器,至少基于所述多個自治系統(tǒng)中的發(fā)起所述拓撲信息通知的一個,將所確定的端點聚合進第一 PID中。
4.根據(jù)權利要求1至3中任一項所述的方法,其中,所述拓撲信息通知指定了所確定的端點的一個或多個前綴屬性,并且所述方法還包括利用所述ALTO服務器,至少基于所確定的端點的前綴屬性,將所確定的端點聚合進第一 PID 中。
5.根據(jù)權利要求4所述的方法,還包括利用所述ALTO服務器,應用團體屬性圖,所述團體屬性圖將所確定的端點的前綴屬性中的一個映射至表示PID的PID標識符。
6.根據(jù)權利要求4所述的方法,還包括利用所述ALTO服務器,分配所述前綴屬性作為所述第一 PID的PID屬性; 禾IJ用所述路由協(xié)議,接收附加拓撲信息通知,其中,所述附加拓撲信息通知包括確定附加的一個或多個端點的附加網(wǎng)絡地址信息,并且對附加的端點指定附加的一個或多個前綴屬性;利用所述ALTO服務器,當附加的前綴屬性與分配給所述第一 PID的前綴屬性匹配時, 將所述附加的端點聚合進所述第一 PID中;以及利用所述ALTO服務器,當所述附加的前綴屬性與分配給所述第一PID的前綴屬性不匹配時,將所述附加的端點聚合進PID中的第二個中。
7.根據(jù)權利要求1至6中任一項所述的方法,其中,所述網(wǎng)絡包括多個自治系統(tǒng),所述方法還包括利用所述ALTO服務器,從所述拓撲信息通知確定到所述多個自治系統(tǒng)中的發(fā)起所述拓撲信息通知的一個的自治系統(tǒng)路徑;以及利用所述ALTO服務器,至少基于所述自治系統(tǒng)路徑,將所確定的端點聚合進第一 PID中。
8.根據(jù)權利要求1至7中任一項所述的方法,還包括利用所述路由協(xié)議,接收包括所述ALTO服務器的自治系統(tǒng)的路由信息; 利用所述ALTO服務器,至少基于所述路由信息,計算ALTO網(wǎng)絡圖的拓撲分組(PID)的一個或多個子組的組中的一對的ALTO開銷,其中,PID的所述組中的每個與包括所述自治系統(tǒng)的網(wǎng)絡中的端點的不同子組相關;生成ALTO開銷圖,所述ALTO開銷圖包括指定該PID對中的第一成員和第二成員之間的ALTO開銷的條目;以及將所述ALTO開銷圖從所述ALTO服務器發(fā)送至ALTO客戶機。
9.根據(jù)權利要求8所述的方法,其中,利用所述路由協(xié)議接收路由信息包括利用內部網(wǎng)關協(xié)議,接收包括到所述自治系統(tǒng)內的一個或多個路由器的鏈路的列表的一個或多個鏈路狀態(tài)通知,其中,鏈路的列表中的各鏈路包括鏈路的相關指標,所述方法還包括將鏈路的列表存儲至所述ALTO服務器的鏈路狀態(tài)數(shù)據(jù)庫;以及在所述鏈路狀態(tài)數(shù)據(jù)庫上執(zhí)行最短路徑優(yōu)先算法,以確定所述自治系統(tǒng)內的路由器之間的指標,其中,計算該PID對的ALTO開銷包括確定在該PID對的第一成員的下一跳和該PID 對的第二成員的下一跳之間由最短路徑優(yōu)先算法計算的指標。
10.根據(jù)權利要求8所述的方法,其中,該PID對的第一成員指定由包括所述ALTO服務器的自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該PID對的第二成員指定由網(wǎng)絡的遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴,所述方法還包括利用所述ALTO服務器,存儲指定了遍歷從網(wǎng)絡的任意自治系統(tǒng)到網(wǎng)絡的任意相鄰自治系統(tǒng)的路徑的ALTO開銷的缺省AS間開銷;利用所述ALTO服務器,確定從包括所述ALTO服務器的自治系統(tǒng)到遠程自治系統(tǒng)的自治系統(tǒng)路徑的長度;利用所述ALTO服務器,至少基于所述自治系統(tǒng)路徑的長度和所述缺省AS間開銷,計算該PID對的AS間開銷;以及利用所述ALTO服務器,至少基于所述路由信息,計算從該PID對的第一成員的下一跳到該PID對的第二成員的下一跳的AS內開銷,其中,利用所述ALTO服務器計算ALTO開銷包括至少基于所述AS間開銷和所述AS內開銷來計算ALTO開銷。
11.根據(jù)權利要求10所述的方法,其中,利用所述ALTO服務器計算關于所述ALTO服務器的ALTO開銷包括對所述AS間開銷和所述AS內開銷進行求和,并且其中,利用所述ALTO服務器計算該PID對的AS間開銷包括計算所述自治系統(tǒng)路徑的長度和所述缺省AS間開銷的乘積。
12.根據(jù)權利要求8至11中任一項所述的方法,其中,該PID對的第一成員指定由網(wǎng)絡的第一遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該PID對的第二成員指定由網(wǎng)絡的第二遠程自治系統(tǒng)通知的網(wǎng)絡地址前綴,所述方法還包括利用所述ALTO服務器,存儲指定了遍歷從網(wǎng)絡的一個自治系統(tǒng)到網(wǎng)絡的相鄰自治系統(tǒng)的路徑的開銷的缺省AS間開銷;利用所述ALTO服務器,確定從所述第一遠程自治系統(tǒng)到所述第二遠程自治系統(tǒng)的自治系統(tǒng)路徑的長度,其中,利用所述ALTO服務器計算ALTO開銷包括至少基于所述自治系統(tǒng)路徑的長度和所述缺省AS間開銷來計算ALTO開銷。
13.根據(jù)權利要求1至12中任一項所述的方法,還包括接收包括所述ALTO服務器的自治系統(tǒng)的相鄰自治系統(tǒng)的局部AS間開銷圖,其中,該 PID對的第一成員指定由包括所述ALTO服務器的自治系統(tǒng)通知的網(wǎng)絡地址前綴,并且該 PID對的第二成員的下一跳指定由所述相鄰自治系統(tǒng)通知的網(wǎng)絡地址前綴,其中,所述局部 AS間開銷圖指定所述相鄰自治系統(tǒng)的PID的ALTO開銷;利用所述ALTO服務器,至少基于所述路由信息,計算從該PID對的第一成員的下一跳到該PID對的第二成員的下一跳的本地AS內開銷;利用所述ALTO服務器,使用所述局部AS間開銷圖,確定從所述相鄰自治系統(tǒng)的邊界路由器到所述相鄰自治系統(tǒng)的發(fā)起用于由該PID對中的第二成員指定的網(wǎng)絡地址前綴的路由信息的路由器的遠程AS內開銷,其中,所述邊界路由器向該PID對的第一成員的下一跳通知由該PID對的第二成員指定的網(wǎng)絡地址前綴;以及利用所述ALTO服務器,存儲指定了遍歷從包括所述ALTO服務器的自治系統(tǒng)到所述相鄰自治系統(tǒng)的路徑的開銷的AS間開銷,其中,利用所述ALTO服務器計算該對PID的ALTO開銷包括至少基于所述本地AS內開銷、所述遠程AS內開銷和所述AS間開銷來計算所述ALTO開銷。
14.一種設備,包括用于執(zhí)行根據(jù)權利要求1至13中任一項所述的方法的裝置。
全文摘要
本發(fā)明涉及動態(tài)產(chǎn)生應用層流量優(yōu)化協(xié)議圖??偟膩碚f,所述技術用于使用通過網(wǎng)絡路由協(xié)議操作而獲得的路由信息來為應用層通信量優(yōu)化(ALTO)服務動態(tài)地產(chǎn)生網(wǎng)絡圖和開銷圖。例如,自治系統(tǒng)(AS)的ALTO服務器通過監(jiān)聽由路由器輸出的路由協(xié)議更新信息來從AS的路由器接收路由信息,并使用所接收的拓撲信息來動態(tài)地產(chǎn)生PID的網(wǎng)絡圖,該網(wǎng)絡圖反映了AS和/或包括AS的更寬網(wǎng)絡的當前拓撲。另外,ALTO服務器使用所接收到的反映當前鏈路指標的路由信息來動態(tài)地計算內PID開銷。從而ALTO服務器將內PID開銷組合在開銷圖中,ALTO服務器可將該開銷圖與網(wǎng)絡圖一起提供給ALTO服務器的用戶。
文檔編號H04L29/06GK102571557SQ20111039401
公開日2012年7月11日 申請日期2011年12月1日 優(yōu)先權日2010年12月1日
發(fā)明者戴維·沃德, 揚·梅德維德, 翰內斯·格雷德勒, 薩蒂什·拉格胡納斯 申請人:叢林網(wǎng)絡公司