專利名稱:用于內(nèi)容分發(fā)網(wǎng)絡(luò)的應(yīng)用層流量優(yōu)化增強(qiáng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)網(wǎng)絡(luò),更具體地,涉及增強(qiáng)內(nèi)容分發(fā)。
背景技術(shù):
對等(P2P)應(yīng)用程序交換大量數(shù)據(jù),并產(chǎn)生大量的網(wǎng)絡(luò)流量(network traffic)。 P2P應(yīng)用程序支持(leverage)位于多個(gè)不同的網(wǎng)絡(luò)節(jié)點(diǎn)的多份數(shù)據(jù)內(nèi)容拷貝,以允許請求代理從許多可能的數(shù)據(jù)源的一個(gè)或多個(gè)中獲得數(shù)據(jù)內(nèi)容的部分。這種P2P分布式應(yīng)用程序改善了應(yīng)用程序性能和可量測性,并經(jīng)常被用于文件共享、實(shí)時(shí)通信以及按需媒體流。許多P2P應(yīng)用程序通過在通信網(wǎng)絡(luò)上實(shí)現(xiàn)應(yīng)用層覆蓋網(wǎng)絡(luò)來操作。覆蓋網(wǎng)絡(luò)是經(jīng)由覆蓋鏈路直接互相連接的參與網(wǎng)絡(luò)節(jié)點(diǎn)(同位體,peer)的邏輯網(wǎng)絡(luò),覆蓋鏈路均為通信網(wǎng)絡(luò)的一個(gè)或下層傳輸鏈路的抽象。覆蓋網(wǎng)絡(luò)包括標(biāo)引一個(gè)或多個(gè)網(wǎng)絡(luò)裝置(或“資源”) 的數(shù)據(jù)結(jié)構(gòu),所述網(wǎng)絡(luò)裝置存儲(chǔ)并提供特定的數(shù)據(jù)內(nèi)容,諸如文件或文件部分。尋找特定數(shù)據(jù)內(nèi)容的同位體詢問數(shù)據(jù)結(jié)構(gòu),以獲得提供文件的網(wǎng)絡(luò)裝置的身份的列表。同位體(這里, 作為客戶端進(jìn)行操作)從經(jīng)由覆蓋網(wǎng)絡(luò)而從中請求并接收數(shù)據(jù)內(nèi)容的列表中隨機(jī)地選擇一個(gè)裝置。用于P2P應(yīng)用程序的客戶端軟件通常自然地選擇資源,S卩,沒有結(jié)合網(wǎng)絡(luò)拓?fù)湫畔⒒蛳嚓P(guān)的細(xì)節(jié)。相反,客戶端依靠試探來接近這種信息。結(jié)果,利用這些應(yīng)用程序而交換的網(wǎng)絡(luò)數(shù)據(jù)流量可能使網(wǎng)絡(luò)鏈路阻塞、使服務(wù)提供商網(wǎng)絡(luò)邊界多次交叉,并通常以從用戶立場來說不是最理想和從服務(wù)提供商的觀點(diǎn)來看不是期望的方式,而通過通信網(wǎng)絡(luò)。例如, 盡管兩個(gè)同位體可以是相同的服務(wù)提供商網(wǎng)絡(luò)的成員,連接同位體的覆蓋鏈路可能仍越過多個(gè)網(wǎng)絡(luò)邊界,這會(huì)對服務(wù)提供商不必要地增加同位體間的通行成本。此外,盡管分布式應(yīng)用程序在數(shù)據(jù)源投入額外的帶寬,以提高吞吐量并減小終端用戶的等待時(shí)間,同時(shí)還減小內(nèi)容提供商提供應(yīng)用服務(wù)器的負(fù)擔(dān),但是,便宜地分布數(shù)據(jù)內(nèi)容的能力是以服務(wù)提供商為代價(jià)的,服務(wù)提供商承受無效率地傳輸網(wǎng)絡(luò)數(shù)據(jù)的成本。最近,已經(jīng)提出一種應(yīng)用層流量優(yōu)化(ALTO)服務(wù),其中,ALTO協(xié)議關(guān)于從中獲得數(shù)據(jù)內(nèi)容的資源的選擇而被用于為P2P應(yīng)用程序提供引導(dǎo)。在一個(gè)實(shí)例中,服務(wù)提供商會(huì)為用于服務(wù)提供商網(wǎng)絡(luò)的ALTO服務(wù)器提供網(wǎng)絡(luò)拓?fù)浜屯負(fù)滏溌烦杀拘畔?。P2P客戶端會(huì)將 ALTO請求發(fā)送至ALTO服務(wù)器,以獲得網(wǎng)絡(luò)映射(network map)和相應(yīng)的成本映射。網(wǎng)絡(luò)映射指定由網(wǎng)絡(luò)的ALTO服務(wù)器所定義的拓?fù)淙旱淖蛹?。用于網(wǎng)絡(luò)映射的成本映射在網(wǎng)絡(luò)映射的各個(gè)組中定義代表用于連接的組間路由成本的提供商優(yōu)先選擇。結(jié)果,提供ALTO服務(wù)器的服務(wù)提供商可以引導(dǎo)P2P客戶端根據(jù)服務(wù)提供商優(yōu)先選擇來選擇資源,所述優(yōu)先選擇可以包括優(yōu)化吞吐量和/或用戶體驗(yàn),例如,對服務(wù)提供商降低成本或促進(jìn)提供商的其他目標(biāo)。在 2009 年 10 月的 J. Seedorf et al.,RFC 5693,"Application-Layer Traffic Optimization (ALTO) Problem Statement"網(wǎng)絡(luò)工作組、因特網(wǎng)工程特別工作草案、以及在 2010 年 3 月的 R. Alimi et al.,“ALTO Protocol-ietf alto-protocol-03. txt,,ALT0 工作組、因特網(wǎng)工程特別工作草案中進(jìn)一步詳細(xì)地描述了 ALTO服務(wù)和ALTO協(xié)議,這兩篇文檔的全部內(nèi)容結(jié)合于此作為參考。
發(fā)明內(nèi)容
通常,本發(fā)明致力于一種用于增強(qiáng)集成有內(nèi)容分發(fā)網(wǎng)絡(luò)(⑶N)的ALTO服務(wù)的技術(shù)。例如,本文獻(xiàn)描述了在根據(jù)更傳統(tǒng)的客戶端/服務(wù)器模型而向應(yīng)用程序分發(fā)內(nèi)容的CDN 情況下的、ALTO服務(wù)的部署方案和增強(qiáng)。本文中描述的其他增強(qiáng)可以在其他部署中有用, 例如與P2P應(yīng)用程序或分布式應(yīng)用程序一起使用時(shí)。內(nèi)容提供商越來越依賴于內(nèi)容分發(fā)網(wǎng)絡(luò)來分配由地理上不同和能力不同的客戶端所請求的內(nèi)容。在許多情況中,用作用戶裝置(試圖到達(dá)存儲(chǔ)并提供資源CDN高速緩存節(jié)點(diǎn))的接入網(wǎng)的CDN和服務(wù)提供商(SP)網(wǎng)絡(luò)通常是分開的。也就是說,CDN和SP網(wǎng)絡(luò)可以是不同管理域的成員,并由此可以不共用內(nèi)部的路由成本信息。服務(wù)提供商可以部署 ALTO服務(wù),以通過對用戶透明地提供服務(wù)的方式,根據(jù)本文描述的原理來使CDN性能最優(yōu)化,使得用戶主機(jī)不需要特殊的軟件或其他修改。在一個(gè)簡單的實(shí)例中,操作標(biāo)準(zhǔn)因特網(wǎng)瀏覽器的用戶可以感受由增強(qiáng)的ALTO服務(wù)所使能的CDN最優(yōu)化。在一個(gè)實(shí)例中,描述了這樣的技術(shù),其中,同盟的ALTO服務(wù)器將包含在⑶N的網(wǎng)絡(luò)和成本映射以及一個(gè)或多個(gè)SP網(wǎng)絡(luò)(提供對CDN的接入)的網(wǎng)絡(luò)和成本映射中的信息相組合,以計(jì)算可以對一個(gè)或多個(gè)端點(diǎn)而增強(qiáng)主機(jī)選擇的主要成本映射(master cost map)。 同盟的ALTO服務(wù)器根據(jù)ALTO服務(wù)產(chǎn)生適合于⑶N的網(wǎng)絡(luò)和成本映射。在可行的端點(diǎn)和端點(diǎn)組(在下文中,可替換地被稱作“PID”)的映射內(nèi),網(wǎng)絡(luò)和成本映射包括將CDN與SP網(wǎng)絡(luò)的邊界路由器相耦接的CDN邊界路由器。PID可以表示單個(gè)裝置或裝置部件、諸如網(wǎng)絡(luò)子網(wǎng)、SP網(wǎng)絡(luò)的裝置組、或一些其他分組。同盟的ALTO服務(wù)器利用網(wǎng)絡(luò)和成本映射來計(jì)算拓?fù)滏溌返某杀揪仃嚕負(fù)滏溌穼⒚總€(gè)⑶N節(jié)點(diǎn)連接至每個(gè)邊界路由器(將⑶N耦接至由 CDN所服務(wù)的SP網(wǎng)絡(luò))。同盟的ALTO服務(wù)器另外從用于SP網(wǎng)絡(luò)的各個(gè)ALTO服務(wù)器請求并接收網(wǎng)絡(luò)和成本映射。通過根據(jù)已有的域間連接將CDN網(wǎng)絡(luò)映射中的條目與SP網(wǎng)絡(luò)的網(wǎng)絡(luò)映射中的條目相鏈接,然后將所計(jì)算的成本矩陣中的條目與包含在所接收的各種SP網(wǎng)絡(luò)成本映射中的相應(yīng)成本信息相加,同盟的ALTO服務(wù)器產(chǎn)生具有用于拓?fù)滏溌返臈l目的主要成本映射, 拓?fù)滏溌吩竭^多個(gè)管理域(即,⑶N和一個(gè)或多個(gè)SP網(wǎng)絡(luò))。例如,當(dāng)⑶N域名系統(tǒng)(DNS) 名稱服務(wù)器從SP網(wǎng)絡(luò)用戶接收DNS詢問時(shí),CDN DNS利用主要成本映射來確定用戶的最佳 CDN高速緩存節(jié)點(diǎn),并返回該節(jié)點(diǎn)的網(wǎng)絡(luò)地址。以此方式,該技術(shù)可以允許用戶利用這種信息來執(zhí)行高速緩存節(jié)點(diǎn)的比隨機(jī)更好的選擇,該技術(shù)通過所述高速緩存節(jié)點(diǎn)來建立連接。在另一實(shí)例中,將該技術(shù)描述為對網(wǎng)絡(luò)映射條目增加屬性,以進(jìn)一步表現(xiàn)本文所描述的PID的特征。該技術(shù)使得ALTO服務(wù)能夠在多個(gè)PID類型中消除歧義以例如從網(wǎng)絡(luò)映射中過濾不必要的PID、確保用于特定PID類型的PID可以僅包括單個(gè)端點(diǎn)裝置、并根據(jù)配對成員類型來設(shè)定默認(rèn)值或者另外影響多個(gè)PID的成本映射條目值。例如,在CDN環(huán)境中,該技術(shù)規(guī)定對網(wǎng)絡(luò)映射條目增加屬性,所述條目規(guī)定PID是否為以下類型“主機(jī)”、“CDN高速緩存節(jié)點(diǎn)”、“移動(dòng)主機(jī)”或“有線主機(jī)”。轉(zhuǎn)向器提供位置信息給請求主機(jī),以使得主機(jī)能夠連接至⑶N高速緩存節(jié)點(diǎn)。主機(jī)可以表示主機(jī)子網(wǎng)。在該情況中,根據(jù)所述技術(shù)進(jìn)行操作的ALTO服務(wù)器利用這些屬性而對轉(zhuǎn)向器產(chǎn)生成本映射, 轉(zhuǎn)向器具有針對CDN間高速緩存節(jié)點(diǎn)對和主機(jī)間對而被設(shè)定為無窮大的成本映射條目值。 當(dāng)ALTO服務(wù)器從在轉(zhuǎn)向器上操作的ALTO客戶端接收請求時(shí),ALTO服務(wù)器對排除具有無窮大成本的條目的成本映射提供稀疏矩陣。也就是說,ALTO服務(wù)器僅對一些節(jié)點(diǎn)對(針對這些節(jié)點(diǎn),節(jié)點(diǎn)間的成本是除了無窮大以外的值)提供成本條目。當(dāng)ALTO客戶端接收到稀疏矩陣成本映射時(shí),ALTO客戶端將映射中的空條目解釋為具有無窮大的默認(rèn)值,并可以用無窮大的值占據(jù)整個(gè)成本映射。然后,一旦從主機(jī)接收到內(nèi)容請求(例如,HTTP GET請求), 轉(zhuǎn)向器因此由于在至其他主機(jī)的路徑的整個(gè)成本映射中指定的默認(rèn)值無窮大成本,而選擇 CDN高速緩存節(jié)點(diǎn)作為內(nèi)容資源。在另一實(shí)例中,描述了用于更新ALTO服務(wù)器并向ALTO客戶端推送增量網(wǎng)絡(luò)映射修正的技術(shù)。CDN高速緩存節(jié)點(diǎn)或其他內(nèi)容服務(wù)器可以經(jīng)歷斷電、阻塞,或經(jīng)歷影響服務(wù)節(jié)點(diǎn)的性能的內(nèi)容的其他條件。CDN高速緩存節(jié)點(diǎn)向ALTO服務(wù)器提供狀態(tài)更新,ALTO服務(wù)器將狀態(tài)更新合并在ALTO網(wǎng)絡(luò)映射和成本映射的計(jì)算中。例如,CDN高速緩存節(jié)點(diǎn)可以將表明其內(nèi)容服務(wù)不可操作的狀態(tài)更新發(fā)送至ALTO服務(wù)器。因此,ALTO服務(wù)器從網(wǎng)絡(luò)映射中去除該節(jié)點(diǎn),并相應(yīng)地更新成本映射。因?yàn)殛P(guān)于阻塞或其他網(wǎng)絡(luò)條件的狀態(tài)更新可以導(dǎo)致對網(wǎng)絡(luò)映射的頻繁修改,所以,該技術(shù)使得ALTO服務(wù)器搶先用增量網(wǎng)絡(luò)映射和成本映射修正來更新ALTO客戶端。增量網(wǎng)絡(luò)映射修正使ALTO客戶端能夠更新網(wǎng)絡(luò)映射的先前版本, 而不是接收更新的整個(gè)網(wǎng)絡(luò)映射。以此方式,該技術(shù)可以允許ALTO客戶端保持當(dāng)前的網(wǎng)絡(luò)和成本映射,而且還避免另外由頻繁的整個(gè)網(wǎng)絡(luò)或成本映射傳輸而導(dǎo)致的網(wǎng)絡(luò)中的流量。在一個(gè)實(shí)施方式中,本發(fā)明致力于一種包括以下步驟的方法通過包括用于第二 ALTO服務(wù)器的第一 ALTO客戶端的第一 ALTO服務(wù)器,產(chǎn)生第一 ALTO網(wǎng)絡(luò)映射,第一 ALTO 網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第一組中的每一個(gè),其中,第一組PID中的每一個(gè)均與第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。該方法還包括以下步驟通過第一 ALTO服務(wù)器產(chǎn)生第一 ALTO成本映射,第一 ALTO成本映射針對第一組PID的每一組合而包括成本條目,該成本條目包含成本值以指定通過第一網(wǎng)絡(luò)越過網(wǎng)絡(luò)路徑的成本,第一網(wǎng)絡(luò)連接第一組PID的相應(yīng)組合。該方法還包括以下步驟通過第一 ALTO服務(wù)器的第一 ALTO 客戶端接收第二 ALTO網(wǎng)絡(luò)映射,其包括PID條目以描述一個(gè)或多個(gè)PID的第二組中的每一個(gè),其中,第二組PID中的每一個(gè)均與第二網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。該方法還包括以下步驟通過第一 ALTO客戶端接收第二 ALTO成本映射,第二 ALTO成本映射針對第二組PID的每一組合而包括成本條目,該成本條目包含成本值以指定通過第二網(wǎng)絡(luò)而越過網(wǎng)絡(luò)路徑的成本,第二網(wǎng)絡(luò)連接第二組PID的相應(yīng)組合。該方法另外包括以下步驟產(chǎn)生包含一個(gè)或多個(gè)主要成本條目的主要成本映射的步驟,每個(gè)主要成本條目均包括從第一組 PID中選擇的PID和從第二組PID中選擇的PID,并且每個(gè)主要成本條目包括表示從選自第一組PID的PID和選自第二組PID中選擇的PID越過網(wǎng)絡(luò)路徑的成本;以及將主要網(wǎng)絡(luò)映
7射從第一 ALTO服務(wù)器輸出至第二 ALTO客戶端。在另一實(shí)施方式中,本發(fā)明致力于一種方法,其包括以下步驟通過轉(zhuǎn)向器裝置接收第一 ALTO網(wǎng)絡(luò)映射,第一 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第一組中的每一個(gè),其中,第一組PID中的每一個(gè)均與第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。 該方法還包括以下步驟通過轉(zhuǎn)向器裝置接收第二 ALTO網(wǎng)絡(luò)映射,第二 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第二組中的每一個(gè),其中,第二組PID中的每一個(gè)均與第二網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。該方法還包括以下步驟通過轉(zhuǎn)向器裝置接收包括一個(gè)或多個(gè)主要成本條目的主要成本映射,每個(gè)主要成本條目包括從第一組PID中選擇的PID和從第二組PID中選擇的PID,并且每個(gè)主要成本條目包括表示從選自第一組PID 的PID和選自第二 PID的PID越過網(wǎng)絡(luò)路徑的成本。該方法還包括以下步驟通過轉(zhuǎn)向器裝置而從主機(jī)端點(diǎn)接收內(nèi)容請求;詢問第二ALTO網(wǎng)絡(luò)映射以確定與第二組PID中的主機(jī)端點(diǎn)相關(guān)聯(lián)的PID;以及詢問主要成本映射以針對與主機(jī)端點(diǎn)相關(guān)聯(lián)的PID來確定第一組PID 中的最低成本的PID。該方法另外包括以下步驟在第一 ALTO網(wǎng)絡(luò)映射中選擇與最低代碼的PID相關(guān)聯(lián)的端點(diǎn),以從主機(jī)端點(diǎn)來服務(wù)內(nèi)容請求。在又一實(shí)施方式中,本發(fā)明致力于一種第一應(yīng)用層流量優(yōu)化(ALTO)服務(wù)器,其包括網(wǎng)絡(luò)映射模塊以產(chǎn)生第一 ALTO網(wǎng)絡(luò)映射,第一 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第一組中的每一個(gè),其中,第一組PID中的每一個(gè)均與第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。第一 ALTO服務(wù)器還包括成本映射模塊以產(chǎn)生第一 ALTO成本映射,第一 ALTO成本映射針對第一組PID的每一組合而包括成本條目,該成本條目包含成本值以指定通過第一網(wǎng)絡(luò)越過網(wǎng)絡(luò)路徑的成本,第一網(wǎng)絡(luò)連接第一組PID的相應(yīng)組合。第一 ALTO服務(wù)器還包括第一 ALTO客戶端以接收第二 ALTO網(wǎng)絡(luò)映射,第二 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第二組中的每一個(gè),其中,第二組PID中的每一個(gè)均與第二網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián),其中,第一 ALTO客戶端接收第二 ALTO成本映射,第二 ALTO成本映射針對第二組PID中的每一組合而包括成本條目,該成本條目包含成本值以指定通過第二網(wǎng)絡(luò)越過網(wǎng)絡(luò)路徑的成本,第二網(wǎng)絡(luò)連接第二組PID的相應(yīng)組合,并且其中,網(wǎng)絡(luò)映射模塊和成本映射模塊產(chǎn)生主要成本映射,其包括一個(gè)或多個(gè)主要成本條目,每個(gè)主要成本條目包括從第一 PID中選擇的PID和從第二 PID中選擇的PID,并且,每個(gè)主要成本條目包括表示從選自第一組PID的PID和選自第二組PID的PID越過網(wǎng)絡(luò)路徑的成本。第一 ALTO 服務(wù)器還包括客戶端接口,以將主要成本映射從第一 ALTO服務(wù)器輸出至第二 ALTO客戶端。在另一實(shí)施方式中,本發(fā)明致力于一種轉(zhuǎn)向器裝置,其包括位置數(shù)據(jù)庫和應(yīng)用層流量優(yōu)化(ALTO)客戶端,以接收第一 ALTO網(wǎng)絡(luò)映射,第一 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第一組中的每一個(gè),其中,第一組PID中的每一個(gè)均與第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián),其中,ALTO客戶端接收第二 ALTO網(wǎng)絡(luò)映射,第二 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第二組中的每一個(gè),其中,第二組PID中的每一個(gè)均與第二網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián),其中,ALTO客戶端接收包括一個(gè)或多個(gè)主要成本條目的主要成本映射,每個(gè)主要成本條目包括從第一組PID中選擇的PID和從第二組PID中選擇的PID,并且每個(gè)主要成本條目包括表示從選自第一組PID的PID和選自第二 PID的PID橫穿網(wǎng)絡(luò)路徑的成本,并且其中,ALTO客戶端將第一 ALTO網(wǎng)絡(luò)映射、第二 ALTO 網(wǎng)絡(luò)映射和主機(jī)成本映射存儲(chǔ)至位置數(shù)據(jù)庫。轉(zhuǎn)向器裝置還包括查找模塊,以從主機(jī)端點(diǎn)接收內(nèi)容請求,其中,查找模塊詢問第二ALTO網(wǎng)絡(luò)映射,以確定與第二組PID中的主機(jī)端點(diǎn)相關(guān)聯(lián)的PID,其中,查找模塊詢問主要成本映射,以針對與主機(jī)端點(diǎn)相關(guān)聯(lián)的PID來確定第一組PID中的最低成本的PID,并且其中,查找模塊選擇與第一ALTO網(wǎng)絡(luò)映射中的最低代碼的PID相關(guān)聯(lián)的端點(diǎn),以從主機(jī)端點(diǎn)服務(wù)內(nèi)容請求。在另一實(shí)施方式中,本發(fā)明致力于包括指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該指令使可編程處理器通過第一應(yīng)用層流量優(yōu)化(ALTO)服務(wù)器產(chǎn)生第一 ALTO網(wǎng)絡(luò)映射,所述第一 ALTO服務(wù)器包括用于第二 ALTO服務(wù)器的第一 ALTO客戶端,第一 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第一組中的每一個(gè),其中,第一組PID中的每一個(gè)均與第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。該指令還使可編程處理器通過第一 ALTO服務(wù)器產(chǎn)生第
一ALTO成本映射,第一 ALTO成本映射針對第一 PID的每個(gè)組合而包括成本條目,該成本條目包括成本值以指定通過第一網(wǎng)絡(luò)越過網(wǎng)絡(luò)路徑的成本,第一網(wǎng)絡(luò)連接第一組PID的相應(yīng)組合。該指令使可編程處理器利用第一 ALTO服務(wù)器的第一 ALTO客戶端接收第二 ALTO網(wǎng)絡(luò)映射,第二 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第二組中的每一個(gè),其中,第二組PID中的每一個(gè)均與第二網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。該指令使可編程處理器通過第一 ALTO客戶端接收第二 ALTO成本映射,第二 ALTO成本映射針對第二 PID 的每個(gè)組合而包括成本條目,成本條目包括成本值以指定通過第二網(wǎng)絡(luò)越過網(wǎng)絡(luò)路徑的成本,第二網(wǎng)絡(luò)連接第二組PID的相應(yīng)組合。該指令使可編程處理器產(chǎn)生包括一個(gè)或多個(gè)主要成本條目的主要成本映射,每個(gè)主要成本條目包括從第一組PID中選擇的PID和從第二組PID中選擇的PID,并且每個(gè)主要成本條目包括表示從選自第一 PID的PID和選自第二 PID的PID越過網(wǎng)絡(luò)路徑的成本,并且該指令將主要成本映射從第一 ALTO服務(wù)器輸出至第
二ALTO客戶端。在本發(fā)明中描述的技術(shù)可以提供一中或多種優(yōu)點(diǎn)。例如,該技術(shù)可以允許ALTO服務(wù)與CDN的增強(qiáng)集成,從而使得根據(jù)提供商指定的優(yōu)化數(shù)據(jù)而對內(nèi)容請求的資源選擇進(jìn)行改進(jìn)。例如,為網(wǎng)絡(luò)推送當(dāng)前網(wǎng)絡(luò)映射和成本映射的增量更新,可以給ALTO客戶端提供最新的資源選擇信息,并可以培養(yǎng)服務(wù)連續(xù)性。此外,該技術(shù)可以允許轉(zhuǎn)向器的獨(dú)立縮放和端點(diǎn)的健康管理。作為另一實(shí)例,屬性添加技術(shù)可以允許資源選擇部件在內(nèi)容提供商(例如,CDN高速緩存節(jié)點(diǎn))和內(nèi)容客戶(例如,主機(jī))之間進(jìn)行區(qū)分,并由此對內(nèi)容提供商限制資源選擇。PID屬性可以進(jìn)一步使得特定PID類型的策略能夠允許提供商執(zhí)行例如服務(wù)區(qū)別。例如,服務(wù)提供商可以利用使該P(yáng)ID中的那些端點(diǎn)接收更高質(zhì)量的服務(wù)OioS)的屬性來標(biāo)記 PID0另外,將默認(rèn)成本引入主要成本映射可以使得ALTO服務(wù)器能夠選擇性地對ALTO客戶端告知主要成本映射的成本條目。作為又一實(shí)例,該技術(shù)可以允許ALTO服務(wù)器在網(wǎng)絡(luò)邊界上共用內(nèi)部網(wǎng)絡(luò)映射和成本映射,以使得應(yīng)用層流量優(yōu)化技術(shù)橫跨多個(gè)管理域。因此,該技術(shù)可以使能多域優(yōu)化的資源選擇,而不是多個(gè)局部優(yōu)化的PID選擇,后者由于網(wǎng)絡(luò)間邊界效應(yīng)而頻繁地導(dǎo)致普遍未獲最佳的資源選擇。在附圖和以下說明書中闡述了本發(fā)明的一個(gè)或多個(gè)實(shí)施方式的細(xì)節(jié)。從說明書和附圖以及權(quán)利要求書中,本發(fā)明的其他特征、目的和優(yōu)點(diǎn)將是顯而易見的。
圖1是示出了示例性網(wǎng)絡(luò)系統(tǒng)的框圖,在該系統(tǒng)中,一個(gè)或多個(gè)網(wǎng)絡(luò)裝置執(zhí)行在本發(fā)明中所描述的技術(shù),以增強(qiáng)應(yīng)用層流量優(yōu)化在內(nèi)容分發(fā)網(wǎng)絡(luò)中的操作。圖2A至圖2B示出了圖1的示例性網(wǎng)絡(luò)系統(tǒng)的示例性網(wǎng)絡(luò)映射。圖3A至圖;3B分別示出了由ALTO服務(wù)器利用圖2A至圖2B的網(wǎng)絡(luò)映射并根據(jù)本發(fā)明的技術(shù)來計(jì)算的示例性邊界路由器成本矩陣。圖4示出了根據(jù)本發(fā)明的技術(shù)由ALTO服務(wù)器所產(chǎn)生的示例性主要成本映射。圖5是示出了示例性網(wǎng)絡(luò)系統(tǒng)的框圖,在該系統(tǒng)中,一個(gè)或多個(gè)網(wǎng)絡(luò)裝置執(zhí)行在本發(fā)明中描述的技術(shù),以增強(qiáng)應(yīng)用層流量優(yōu)化在內(nèi)容分發(fā)網(wǎng)絡(luò)中的操作。圖6是詳細(xì)地示出了執(zhí)行根據(jù)本發(fā)明的技術(shù)的ALTO服務(wù)器的框圖。圖7是示出了包括每個(gè)所描述的技術(shù)的PID屬性的實(shí)例網(wǎng)絡(luò)映射的框圖。圖8是對應(yīng)于圖7的網(wǎng)絡(luò)映射并且由每個(gè)所描述的技術(shù)產(chǎn)生的示例性成本映射。圖9是示例性網(wǎng)絡(luò)系統(tǒng)的框圖,該網(wǎng)絡(luò)系統(tǒng)包括采用域名服務(wù)(DNS)的內(nèi)容分發(fā)網(wǎng)絡(luò)并執(zhí)行本發(fā)明的技術(shù)。圖10是示例性網(wǎng)絡(luò)系統(tǒng)的框圖,該網(wǎng)路系統(tǒng)包括使用域名服務(wù)(DNS)的內(nèi)容分發(fā)網(wǎng)絡(luò)并執(zhí)行本發(fā)明的技術(shù)。圖11是示出了根據(jù)本發(fā)明的原理的路由器的實(shí)例結(jié)構(gòu)部件的框圖。
具體實(shí)施例方式圖1是示出了示例性網(wǎng)絡(luò)系統(tǒng)2的框圖,在該系統(tǒng)中,一個(gè)或多個(gè)網(wǎng)絡(luò)裝置執(zhí)行在本發(fā)明中描述的技術(shù),以增強(qiáng)應(yīng)用層流量優(yōu)化與內(nèi)容分發(fā)網(wǎng)絡(luò)的無縫且透明的整合。如圖 1所示,示例性網(wǎng)絡(luò)系統(tǒng)2包括內(nèi)容分發(fā)網(wǎng)絡(luò)6和接入網(wǎng)絡(luò)4。接入網(wǎng)絡(luò)4可以表示由服務(wù)提供商擁有和操作的公共網(wǎng)絡(luò)以提供接入一個(gè)或多個(gè)用戶裝置的網(wǎng)絡(luò)。結(jié)果,接入網(wǎng)絡(luò)4 在本文中可以被稱作服務(wù)提供商(SP)網(wǎng)絡(luò)。在一些情況中,接入網(wǎng)絡(luò)4可以表示在單個(gè)管理員或多個(gè)管理員的合作組的控制下的一個(gè)或多個(gè)自治系統(tǒng)。接入網(wǎng)絡(luò)4可以連接至一個(gè)或多個(gè)客戶網(wǎng)絡(luò)(未示出),每個(gè)客戶網(wǎng)絡(luò)均構(gòu)成兩層(L2)有線或無線網(wǎng)絡(luò)。已編號(hào)的層的參考符號(hào)可以指開放式系統(tǒng)互連(OSI)模型的特定層。可以在1980年4月4日在IEEE Transaction on Communications,vol· 28,no· 4 出片反的 Hubert Zimmermann 的題目為"the ISO model of Architecture for Open Systems Interconnection,,中找到關(guān)于 OSI 模型的更多信息,其全部內(nèi)容結(jié)合于此作為參考。例如,術(shù)語“應(yīng)用層”指的是OSI模型的第七層。內(nèi)容分發(fā)網(wǎng)絡(luò)(⑶N) 6是利用一個(gè)或多個(gè)服務(wù)而配合向客戶端分發(fā)內(nèi)容的互連裝置的網(wǎng)絡(luò)。這種內(nèi)容可以包括例如流媒體文件、數(shù)據(jù)文件、軟件、域名系統(tǒng)信息、文獻(xiàn)、數(shù)據(jù)庫查詢結(jié)果以及其他內(nèi)容。相應(yīng)地,由CDN 6提供的服務(wù)的實(shí)例可以包括超文本傳輸協(xié)議 (HTTP)、媒體流、廣告、文件傳輸協(xié)議(FTP)等。⑶N 6包括⑶N高速緩存節(jié)點(diǎn)20A至20C (可選地,為“⑶N節(jié)點(diǎn)”),這些⑶N高速緩存節(jié)點(diǎn)包含重復(fù)的內(nèi)容,并且例如利用在⑶N 6的中間裝置(為了簡單起見而未示出)上操作的傳輸控制協(xié)議(TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(UDP) 對話而將該內(nèi)容提供給請求裝置。內(nèi)容提供商管理CDN節(jié)點(diǎn)20,以利用負(fù)載平衡技術(shù)、高速緩存技術(shù)、請求路由和/或內(nèi)容服務(wù)而使內(nèi)容分發(fā)最優(yōu)化。CDN節(jié)點(diǎn)20可以反映出內(nèi)容,盡管CDN節(jié)點(diǎn)20中的任一個(gè)均可以提供與由其他CDN節(jié)點(diǎn)提供的服務(wù)和數(shù)據(jù)內(nèi)容不同的服務(wù)和數(shù)據(jù)內(nèi)容。在一些實(shí)施方式中,⑶N 6也為服務(wù)提供商網(wǎng)絡(luò)或其他接入網(wǎng)絡(luò)。接入網(wǎng)絡(luò)4的邊界路由器16A至16B( "BR 16”)經(jīng)由相應(yīng)的傳輸鏈路(transit link)7A至7B而耦接至⑶N 6的相應(yīng)的邊界路由器18A至18B ( “BR 18”),以為網(wǎng)絡(luò)4的裝置提供由CDN節(jié)點(diǎn)20所獲得的內(nèi)容的接入。邊界路由器16和邊界路由器18均可以包括例如自治系統(tǒng)邊界/邊界路由器或提供商邊緣路由器,它們執(zhí)行邊界網(wǎng)關(guān)協(xié)議(BGP),以將網(wǎng)絡(luò)終點(diǎn)(路由器為其提供連接性)告知其他路由器(或同位體)。主機(jī)IOA至IOC控制(host)經(jīng)由接入網(wǎng)絡(luò)4而連接至⑶N 6的應(yīng)用程序,以請求并下載與應(yīng)用程序相關(guān)的內(nèi)容。主機(jī)10為用戶裝置并且可以包括例如工作站、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、手機(jī)或其他移動(dòng)裝置、個(gè)人數(shù)字助理(PDA)以及能夠經(jīng)由無線和/或有線連接而連接至計(jì)算機(jī)網(wǎng)絡(luò)的任何其他裝置。在一些實(shí)施方式中,主機(jī)10為經(jīng)由接入網(wǎng)絡(luò) 4而耦接至邊界路由器16的客戶網(wǎng)絡(luò)的成員。內(nèi)容分發(fā)網(wǎng)絡(luò)6包括轉(zhuǎn)向器沈以從主機(jī)10接收內(nèi)容請求、選擇并定位⑶N節(jié)點(diǎn) 20中的一個(gè),該CDN節(jié)點(diǎn)能夠服務(wù)請求并將正請求的主機(jī)轉(zhuǎn)向至該確定的CDN節(jié)點(diǎn)。轉(zhuǎn)向器沈例如可以為DNS或其他類型的服務(wù)器、代理服務(wù)器裝置、P2P同位體、P2P專用跟蹤器、 或防火墻或者其他安全裝置。在一個(gè)情況中,轉(zhuǎn)向器26執(zhí)行DNS服務(wù)器負(fù)載平衡(SLB)。 在一些情況中,轉(zhuǎn)向器沈?yàn)橹纼?nèi)容的轉(zhuǎn)向器,其將特定內(nèi)容或內(nèi)容類型映射至存儲(chǔ)并提供特定內(nèi)容或內(nèi)容類型的CDN節(jié)點(diǎn)20的每一個(gè)。在這種情況中,轉(zhuǎn)向器沈選擇CDN節(jié)點(diǎn) 20中的一個(gè),以根據(jù)內(nèi)容或內(nèi)容類型的可用性而來服務(wù)請求。在一些情況中,轉(zhuǎn)向器沈?yàn)橹婪?wù)的轉(zhuǎn)向器,其將服務(wù)映射至能夠提供服務(wù)的CDN節(jié)點(diǎn)20中的每一個(gè),而與CDN節(jié)點(diǎn)當(dāng)前是否存儲(chǔ)服務(wù)內(nèi)容無關(guān)。在這些情況中,轉(zhuǎn)向器26選擇CDN節(jié)點(diǎn)中的一個(gè),以根據(jù)服務(wù)能力來服務(wù)一請求。如果所選擇的CDN節(jié)點(diǎn)20 (提供服務(wù))中的一個(gè)沒有存儲(chǔ)內(nèi)容, 則該⑶N節(jié)點(diǎn)從集中服務(wù)器(centralized server)(未示出)或從⑶N節(jié)點(diǎn)20中的另一個(gè)請求并接收內(nèi)容。在一些實(shí)施方式中,轉(zhuǎn)向器沈?yàn)橛糜贖TTP的知道內(nèi)容或知道服務(wù)的轉(zhuǎn)向器。也就是說,轉(zhuǎn)向器26從HTTP客戶端接收用于內(nèi)容的HTTP請求,并通過使HTTP響應(yīng)返回至請求裝置而將該請求轉(zhuǎn)向至所選擇的CDN節(jié)點(diǎn)20中的一個(gè),HTTP響應(yīng)具有狀態(tài)代碼302并包括所選擇的⑶N節(jié)點(diǎn)的網(wǎng)絡(luò)地址。在一些實(shí)施方式中,主機(jī)10、⑶N節(jié)點(diǎn)20和轉(zhuǎn)向器沈?yàn)樵诟采w網(wǎng)絡(luò)中連接以通過使用P2P應(yīng)用程序來交換位置信息和內(nèi)容的P2P同位體。在這種P2P實(shí)施方式中,轉(zhuǎn)向器沈可以為用于P2P應(yīng)用程序的集中服務(wù)器,P2P應(yīng)用程序?qū)ν惑w進(jìn)行標(biāo)引內(nèi)容,并提供位置信息而非同位體。為了影響特定⑶N節(jié)點(diǎn)20的選擇以服務(wù)從網(wǎng)絡(luò)裝置接收的特定請求,⑶N 6另外采用由⑶N 6的⑶N-ALTO服務(wù)器22所提供的應(yīng)用層流量優(yōu)化(ALTO)服務(wù)。通常,ALTO服務(wù)能夠使CDN 6影響另外的內(nèi)容提供商目的的選擇過程,這些內(nèi)容提供商目的可以包括通過選擇地理上離請求主機(jī)10最近的一個(gè)CDN節(jié)點(diǎn)20來改進(jìn)用戶體驗(yàn)、對內(nèi)容提供商降低傳輸成本、負(fù)載平衡、服務(wù)水平區(qū)分、解決帶寬限制以及其他目的。⑶N-ALTO服務(wù)器22存儲(chǔ)用于⑶N 6的網(wǎng)絡(luò)映射和成本映射,并將這些映射提供給ALTO客戶端,諸如轉(zhuǎn)向器沈的⑶N-ALTO客戶端28。如下面參考圖7所詳細(xì)描述的,網(wǎng)絡(luò)映射包含網(wǎng)絡(luò)位置標(biāo)識(shí)符或者PID,它們均表示在網(wǎng)絡(luò)中的一個(gè)或多個(gè)網(wǎng)絡(luò)裝置。通常,PID可以表示單個(gè)裝置或裝置部件、諸如網(wǎng)絡(luò)子網(wǎng)的一組裝置、SP網(wǎng)絡(luò)或一些其他分組。由 ⑶N-ALTO服務(wù)器22存儲(chǔ)的網(wǎng)絡(luò)映射包括至少表示⑶N節(jié)點(diǎn)20和邊界路由器18的PID。如下面參考圖8詳細(xì)描述的,成本映射包含在網(wǎng)絡(luò)映射中所表示的多個(gè)PID對的成本條目和表示越過PID對的成員之間的網(wǎng)絡(luò)路徑的成本的相關(guān)值。該值可以為序數(shù)(即,有序的) 或數(shù)字(例如,實(shí)際的)。CDN-ALTO服務(wù)器22可以通過從CDN 6中的其他裝置獲得路由信息、然后對路由信息應(yīng)用策略以將端點(diǎn)裝置聚集在PID中,來產(chǎn)生網(wǎng)絡(luò)映射和成本映射,并且該CDN-ALTO服務(wù)器針對每個(gè)特定標(biāo)準(zhǔn)(諸如傳輸成本或節(jié)點(diǎn)優(yōu)先權(quán))來計(jì)算越過PID 對的成員之間的網(wǎng)絡(luò)路徑的成本。在一些實(shí)施方式中,⑶N管理員或第三方為⑶N-ALTO服務(wù)器22提供網(wǎng)絡(luò)映射和成本映射。根據(jù)本發(fā)明的技術(shù),⑶N-ALTO服務(wù)器22通過表示沒有附加的網(wǎng)絡(luò)裝置的唯一 PID,來表示⑶N 6的網(wǎng)絡(luò)映射中的邊界路由器18中的每一個(gè)。 CDN-ALTO服務(wù)器2 2例如可以為高端服務(wù)器或其他服務(wù)裝置、用于P2P應(yīng)用程序的內(nèi)容分度器、或者可插入網(wǎng)絡(luò)裝置中的服務(wù)卡(諸如路由器或開關(guān))。CDN-ALTO服務(wù)器22可以用作路由器的服務(wù)面的一個(gè)元件,以根據(jù)本發(fā)明的技術(shù)來提供ALTO服務(wù)。接入網(wǎng)絡(luò)4也利用ALTO服務(wù)器14來實(shí)現(xiàn)ALTO服務(wù),該ALTO服務(wù)器存儲(chǔ)接入網(wǎng)絡(luò)4的網(wǎng)絡(luò)映射和成本映射。由ALTO服務(wù)器14存儲(chǔ)的網(wǎng)絡(luò)映射包括至少表示主機(jī)10和邊界路由器16的PID。ALTO服務(wù)器14通過表示沒有附加的網(wǎng)絡(luò)裝置的唯一 PID,來表示在接入網(wǎng)絡(luò)4的網(wǎng)絡(luò)映射中的邊界路由器16的每一個(gè)。⑶N-ALTO服務(wù)器22執(zhí)行本發(fā)明的技術(shù),以針對接入網(wǎng)絡(luò)4域中的主機(jī)10,來改進(jìn)對⑶N 6域中的⑶N主機(jī)20的選擇。根據(jù)這些技術(shù),⑶N-ALTO服務(wù)器22包括ALTO客戶端M,該ALTO客戶端利用ALTO協(xié)議而從接入網(wǎng)絡(luò)4的ALTO服務(wù)器14請求并接收用于接入網(wǎng)絡(luò)4的網(wǎng)絡(luò)映射和成本映射。⑶N-ALTO服務(wù)器22另外可以執(zhí)行諸如內(nèi)部BGP的路由協(xié)議,以發(fā)現(xiàn)將⑶N 6耦接至接入網(wǎng)絡(luò)4的邊界路由器18。在一些實(shí)施方式中,并不是用路由協(xié)議來發(fā)現(xiàn)這些實(shí)施方式,⑶N 6的網(wǎng)絡(luò)映射中的PID包括邊界路由器屬性,使得⑶N-ALTO服務(wù)器22可以利用該邊界路由器屬性來識(shí)別表示邊界路由器18中的一個(gè)的PID。在根據(jù)⑶N 6的網(wǎng)絡(luò)映射而確定這些發(fā)現(xiàn)的邊界路由器18的PID之后,⑶N-ALTO服務(wù)器22使用⑶N 6的網(wǎng)絡(luò)映射和成本映射來計(jì)算CDN邊界路由器成本矩陣,該CDN邊界路由器成本矩陣指定從CDN節(jié)點(diǎn)20中的每一個(gè)到達(dá)邊界路由器18中的每一個(gè)的成本。然后,⑶N-ALTO服務(wù)器22計(jì)算接入網(wǎng)絡(luò)4的相似的邊界路由器成本矩陣。也就是說,⑶N-ALTO服務(wù)器22利用由ALTO客戶端M從ALTO服務(wù)器14獲得的接入網(wǎng)絡(luò)4的網(wǎng)絡(luò)映射和成本映射,來計(jì)算接入網(wǎng)絡(luò)邊界路由器成本矩陣,該接入網(wǎng)絡(luò)邊界路由器成本矩陣指定從主機(jī)10中的每一個(gè)到達(dá)邊界路由器16中的每一個(gè)的成本。通過使用兩個(gè)成本矩陣(分別用于⑶N 6和接入網(wǎng)絡(luò)4),⑶N-ALTO服務(wù)器22由于邊界路由器16A至16B和18A至18B在傳輸鏈路7A和7B上的相應(yīng)耦接,而使邊界路由器 16A與邊界路由器18A相關(guān)并使邊界路由器16B與邊界路由器18B相關(guān)。另外,⑶N-ALTO 服務(wù)器22利用邊界路由器相關(guān)性作為鏈路而使主要成本映射中的兩個(gè)成本矩陣相交叉, 并將來自相應(yīng)成本矩陣中的各個(gè)成本相加,以計(jì)算交叉條目的總成本。換而言之,CDN-ALTO 服務(wù)器22計(jì)算從每個(gè)CDN節(jié)點(diǎn)20到達(dá)每一主機(jī)10的總成本。例如,為了計(jì)算從CDN節(jié)點(diǎn) 20B到達(dá)主機(jī)IOA的總成本,⑶N-ALTO服務(wù)器22 (使用接入網(wǎng)絡(luò)4成本矩陣)確定從主機(jī)IOA PID到邊界路由器16A PID的第一成本,并確定(使用⑶N 6成本矩陣)從邊界路由器 18APID到⑶N節(jié)點(diǎn)20B PID的第二成本。然后,⑶N-ALTO服務(wù)器22將第一成本和第二成本相加,并且,在用于〈主機(jī)10APID,OTNfA 20B PID>對的主要成本映射的條目中插入該總禾口。在所示的實(shí)例中,由于存在可以越過在主機(jī)IOA和⑶N節(jié)點(diǎn)20之間交換的流量的多個(gè)邊界路由器16和18,所以⑶N-ALTO服務(wù)器22可以針對每個(gè)組合或邊界路由器16和邊界路由器18來執(zhí)行相交/相加處理。因此,除了上述計(jì)算以外,⑶N-ALTO服務(wù)器22可以計(jì)算包括 < 主機(jī)10APID,邊界路由器16APID〉和 < 邊界路由器18B PID,CDN節(jié)點(diǎn)20B PID> 的網(wǎng)絡(luò)路徑的總成本。然后,CDN-ALTO服務(wù)器22可以選擇任一可能組合的最低總成本,以進(jìn)入在 < 主機(jī)10APID,OTNfA 20B PID>對的主要成本映射中的條目。在具有連接邊界路由器16和邊界路由器18的附加鏈路的實(shí)施方式中,CDN-ALTO服務(wù)器22執(zhí)行對應(yīng)于附加鏈路的附加計(jì)算。在一些情況中,⑶N-ALTO服務(wù)器22將適當(dāng)?shù)膫鬏旀溌?成本合并在總和中。在圖2中示出了根據(jù)這些技術(shù)的示例性計(jì)算。轉(zhuǎn)向器沈的⑶N-ALTO客戶端28可以從⑶N-ALTO服務(wù)器22請求并接收主要成本映射、⑶N 6的網(wǎng)絡(luò)映射以及接入網(wǎng)絡(luò)4的網(wǎng)絡(luò)映射。主機(jī)10將內(nèi)容請求發(fā)送至轉(zhuǎn)向器 26。根據(jù)所描述的技術(shù),轉(zhuǎn)向器沈詢問主要成本映射以從用于請求主機(jī)的CDN節(jié)點(diǎn)20中選擇最低成本的節(jié)點(diǎn),并且其針對內(nèi)容請求而返回所選擇的CDN節(jié)點(diǎn)的網(wǎng)絡(luò)地址。轉(zhuǎn)向器 26利用接入網(wǎng)絡(luò)4的網(wǎng)絡(luò)映射,而將請求主機(jī)10的源IP地址映射至PID。然后,轉(zhuǎn)向器沈利用主要成本映射來選擇該P(yáng)ID的最低成本的CDN節(jié)點(diǎn)20。例如,在所示的實(shí)施方式中,主機(jī)IOA將內(nèi)容請求34發(fā)送至轉(zhuǎn)向器沈,轉(zhuǎn)向器沈利用接入網(wǎng)絡(luò)4和⑶N 6的主要成本映射和網(wǎng)絡(luò)映射,以在內(nèi)容響應(yīng)36中選擇⑶N節(jié)點(diǎn) 20B的網(wǎng)絡(luò)地址,并將其返回至主機(jī)IOA0主機(jī)IOA與⑶N節(jié)點(diǎn)20B建立通信對話37 (例如,TCP對話),以獲得所請求的內(nèi)容。在一種情況中,操作因特網(wǎng)瀏覽器應(yīng)用程序的用戶在地址欄中鍵入統(tǒng)一資源標(biāo)識(shí)符(URI),使得該應(yīng)用程序(在該實(shí)例中)將包括URI的HTTP 請求34發(fā)送至轉(zhuǎn)向器36。轉(zhuǎn)向器36將URI映射至⑶N節(jié)點(diǎn)20 (其為HTTP服務(wù)器,并存儲(chǔ)用于URI的內(nèi)容(例如,網(wǎng)頁)),并利用主要成本映射來選擇一個(gè)所映射的節(jié)點(diǎn),然后將 HTTP響應(yīng)36返回至在主機(jī)IOA上運(yùn)行的瀏覽器應(yīng)用程序,該HTTP響應(yīng)包括所選擇的節(jié)點(diǎn)的網(wǎng)絡(luò)地址。然后,瀏覽器應(yīng)用程序可以經(jīng)由通信對話37將第二 HTTP請求發(fā)送至所選擇的⑶N節(jié)點(diǎn)20,以獲得廣受歡迎的內(nèi)容。在一些實(shí)施方式中,ALTO服務(wù)器14和ALTO客戶端M利用由HTTP所提供的加密方法來交換信息。圖2A和圖2B分別示出了用于圖1的接入網(wǎng)絡(luò)4和⑶N 6的示例性網(wǎng)絡(luò)映射40 和42。作為一個(gè)實(shí)例,網(wǎng)絡(luò)映射40包括PID條目,該P(yáng)ID條目將圖1的接入網(wǎng)絡(luò)4的主機(jī) IOA和IOB映射至被標(biāo)識(shí)為“PID-0”的PID。在一些情況中,網(wǎng)絡(luò)映射40和42的PID條目包括識(shí)別PID是否表示邊界路由器的屬性。例如,可以對包括邊界路由器端點(diǎn)的PID條目分配PID類型的“邊界路由器”。為了易于說明,在簡化圖中示出了網(wǎng)絡(luò)映射40和42。下文參考圖7示出并討論了更詳細(xì)的網(wǎng)絡(luò)映射。圖3A示出了由⑶N-ALTO服務(wù)器22利用從接入網(wǎng)絡(luò)4的ALTO服務(wù)器14接收的網(wǎng)絡(luò)映射40和成本映射所計(jì)算的示例性接入網(wǎng)絡(luò)邊界路由器成本矩陣44。如所示出的,接入網(wǎng)絡(luò)邊界路由器成本矩陣44為邊界路由器16中的每一個(gè)至主機(jī)10中的每一個(gè)的多對多映射(使用網(wǎng)絡(luò)映射40PID來提取)。圖;3B示出了由⑶N-ALTO服務(wù)器22利用⑶N 6的成本映射和網(wǎng)絡(luò)映射42所計(jì)算的示例性接入網(wǎng)絡(luò)邊界路由器成本矩陣46。如所示出的,CDN邊界路由器成本矩陣46為邊界路由器18中的每一個(gè)至⑶N節(jié)點(diǎn)20中的每一個(gè)的多對多映射(使用網(wǎng)絡(luò)映射42PID來提取)。圖4示出了針對圖1的接入網(wǎng)絡(luò)4和⑶N 6而由⑶N-ALTO服務(wù)器22所計(jì)算的示例性主要成本映射48。主要成本映射48包括提供越過接入網(wǎng)絡(luò)4的PID和⑶N 6的PID 之間的網(wǎng)絡(luò)路徑的總成本的條目。根據(jù)本發(fā)明的技術(shù),CDN-ALTO服務(wù)器22通過使用邊界路由器16和邊界路由器18的相應(yīng)耦接作為網(wǎng)絡(luò)映射之間的鏈路而使網(wǎng)絡(luò)映射40和42相交,來產(chǎn)生主要成本映射48。因此,主要成本映射48包括用于網(wǎng)絡(luò)映射40的主機(jī)10PID和網(wǎng)絡(luò)映射42的⑶N節(jié)點(diǎn)20PID的每一組合的成本條目。通過將來自接入網(wǎng)絡(luò)邊界路由器成本矩陣44和⑶N邊界路由器成本矩陣46中的適當(dāng)條目的成本相加,⑶N-ALTO服務(wù)器22確定每個(gè)成本條目的成本。通過利用來自主機(jī) IOA的內(nèi)容請求(在網(wǎng)絡(luò)映射40中,映射至“PID-0”)作為實(shí)例,PID對<PID_0,PID-20〉經(jīng)由連接邊界路由器16A和18A的傳輸鏈路7A或經(jīng)由連接邊界路由器16B和18B的傳輸鏈路 7B而連接。在第一種情況中,CDN-ALTO服務(wù)器22將<PID_0,PID_2>成本(2)和〈PID-22, PID-20〉成本(11)相加,以達(dá)到用于越過傳輸鏈路7A的PID-O和PID-20之間的網(wǎng)絡(luò)流量的13的總成本。在第二種情況中,⑶N-ALTO服務(wù)器22將<PID_0,PID_3>成本(6)和 <PID-23,PID-20>成本(16)相加,以達(dá)到用于越過傳輸鏈路7B的PID-O和PID-20之間的網(wǎng)絡(luò)流量的22的總成本。由于13小于22,所以⑶N-ALTO服務(wù)器22將13設(shè)定為指定主要成本映射48中的PID對<PID-0,PID-20〉的成本條目的總成本。當(dāng)轉(zhuǎn)向器沈從主機(jī)IOA接收內(nèi)容請求時(shí),轉(zhuǎn)向器沈詢問連接至PID-O的最低成本的PID的成本映射。主要成本映射48將該P(yáng)ID表示為至PID-O而具有總成本13的PID-20。 轉(zhuǎn)向器26利用網(wǎng)絡(luò)映射42選擇PID-20中的一個(gè)端點(diǎn)(在該情況中,為⑶N節(jié)點(diǎn)20B),并將⑶N節(jié)點(diǎn)20的IP地址返回至主機(jī)10A。圖5是示出了示例性網(wǎng)絡(luò)系統(tǒng)51的框圖,在該網(wǎng)絡(luò)系統(tǒng)中,轉(zhuǎn)向器66、ALTO服務(wù)器70和內(nèi)容節(jié)點(diǎn)72執(zhí)行在本發(fā)明中所描述的技術(shù)。內(nèi)容節(jié)點(diǎn)72為分布式應(yīng)用程序(諸如利用CDN的客戶端-服務(wù)器應(yīng)用程序或P2P應(yīng)用程序)提供內(nèi)容。轉(zhuǎn)向器66為知道內(nèi)容或知道服務(wù)的轉(zhuǎn)向器,諸如HTTP轉(zhuǎn)向器或DNS服務(wù)器。轉(zhuǎn)向器66和ALTO服務(wù)器70分別可以表示圖1的轉(zhuǎn)向器26和⑶N-ALTO服務(wù)器22。內(nèi)容節(jié)點(diǎn)72可以表示圖1的⑶N節(jié)點(diǎn)20中的任一個(gè)。轉(zhuǎn)向器66可以負(fù)責(zé)主機(jī)PID的固定組,并在接收內(nèi)容請求之前被提供有表示該職責(zé)的信息。轉(zhuǎn)向器66的ALTO客戶端68從ALTO服務(wù)器70請求并接收用于完整映射上傳消息60中的分布式應(yīng)用程序的網(wǎng)絡(luò)映射和成本映射。在P2P網(wǎng)絡(luò)中,ALTO客戶端68可以是從ALTO服務(wù)器70獲得映射并將這些映射并入在同位體數(shù)據(jù)庫中的應(yīng)用程序跟蹤器。內(nèi)容節(jié)點(diǎn)72向ALTO服務(wù)器70提供狀態(tài)更新(status update) 58,該狀態(tài)更新包括與涉及服務(wù)的能力相關(guān)的數(shù)據(jù)、由內(nèi)容節(jié)點(diǎn)72所經(jīng)歷的網(wǎng)絡(luò)條件,或影響內(nèi)容節(jié)點(diǎn)72的內(nèi)容溯源(content-sourcing)服務(wù)的一些其他因素。內(nèi)容節(jié)點(diǎn)72可以周期性地或響應(yīng)于諸如接收特定內(nèi)容的特定事件,而向ALTO服務(wù)器70提供狀態(tài)更新。
ALTO服務(wù)器70接收狀態(tài)更新58,并且如果適當(dāng)?shù)脑挘涫褂冒谄渲械男畔硇薷挠糜诎瑑?nèi)容節(jié)點(diǎn)72的網(wǎng)絡(luò)的分布式應(yīng)用程序的網(wǎng)絡(luò)映射和成本映射(在圖5中未示出)。例如,如果狀態(tài)更新58表明內(nèi)容節(jié)點(diǎn)72不再提供內(nèi)容溯源服務(wù),則ALTO服務(wù)器70 可以從網(wǎng)絡(luò)映射中去除內(nèi)容節(jié)點(diǎn)72。作為另一實(shí)例,如果狀態(tài)更新58表明內(nèi)容節(jié)點(diǎn)72正經(jīng)歷嚴(yán)重的流量負(fù)載,則ALTO服務(wù)器70可以增加具有內(nèi)容節(jié)點(diǎn)72作為成員的PID對的成本。ALTO服務(wù)器70可以包括對特定的內(nèi)容節(jié)點(diǎn)72狀態(tài)指示指定成本權(quán)重的策略。換而言之,該策略規(guī)定ALTO服務(wù)器70的一個(gè)或多個(gè)特定成本修改動(dòng)作,以響應(yīng)由狀態(tài)更新58所表明的內(nèi)容節(jié)點(diǎn)72的特定狀態(tài)條件。ALTO服務(wù)器70確定先前的網(wǎng)絡(luò)映射和成本映射與ALTO服務(wù)器70由于接收狀態(tài)更新58而產(chǎn)生的網(wǎng)絡(luò)映射和成本映射之間的差別。另外,ALTO服務(wù)器70還產(chǎn)生指令,以能夠使ALTO客戶端68修改由ALTO客戶端68在完整的映射上傳消息60中接收的網(wǎng)絡(luò)映射和成本映射,以反映對應(yīng)用拓?fù)涞母淖?。然后,ALTO服務(wù)器70將這些指令在更新消息62 中發(fā)送至ALTO客戶端68。在一個(gè)實(shí)例中,ALTO服務(wù)器70利用內(nèi)容節(jié)點(diǎn)72接收表明服務(wù)失敗的狀態(tài)更新 58。響應(yīng)于這一服務(wù)失敗,ALTO服務(wù)器70修改應(yīng)用程序的網(wǎng)絡(luò)映射和成本映射,然后確定新修改的映射和先前映射之間的差別。在該實(shí)例中,新修改的映射不再包括作為端點(diǎn)的內(nèi)容節(jié)點(diǎn)72,這可以產(chǎn)生修改的PID或去除的PID。ALTO服務(wù)器70產(chǎn)生足以使ALTO客戶端 68將網(wǎng)絡(luò)和成本映射的ALTO客戶端68拷貝變?yōu)橛葾LTO服務(wù)器70產(chǎn)生的修改的網(wǎng)絡(luò)和成本映射的指令。作為一個(gè)可行的實(shí)例,該指令可以聲明,“REM0VE[IP address of content node 72]”。ALTO服務(wù)器70自發(fā)地將指令在更新消息62中推送至ALTO客戶端68。也就是說,ALTO服務(wù)器70并非必須在發(fā)送更新消息62之前從ALTO客戶端68接收請求。一旦接收到更新消息62,ALT0客戶端68就使用包含在更新消息62中的指令來修改包括該應(yīng)用程序的網(wǎng)絡(luò)映射和成本映射的位置數(shù)據(jù)庫52。在一些實(shí)施方式中,新修改的映射為成本映射,而網(wǎng)絡(luò)映射保持不變。在這種情況中,ALTO服務(wù)器70產(chǎn)生足以引起ALTO客戶端68改變成本映射的ALTO客戶端68拷貝以使ALTO客戶端68成本映射與ALTO服務(wù)器70成本映射相一致的指令。作為一個(gè)可行的實(shí)例,該指令可以聲明,“SETCOST PID-l,PID-2,8”,以使ALTO客戶端68設(shè)定在客戶端成本映射中的成本,以越過將PID-I和PID-2耦接至8的相應(yīng)網(wǎng)絡(luò)映射的拓?fù)滏溌?。主機(jī)64包括應(yīng)用程序74,其組成上面所討論的分布式應(yīng)用程序的一部分。例如, 應(yīng)用程序74可以為P2P應(yīng)用程序的同位體或客戶端-服務(wù)器應(yīng)用程序的客戶端。應(yīng)用程序74可以為因特網(wǎng)瀏覽器。應(yīng)用程序74將內(nèi)容請求M發(fā)送至轉(zhuǎn)向器66,在接收到更新消息62之后,查找模塊50通過詢問用于分布式應(yīng)用程序的網(wǎng)絡(luò)和成本映射(由ALTO客戶端68更新)來響應(yīng)該轉(zhuǎn)向器。查找模塊50從中選擇最低成本的節(jié)點(diǎn)(在一些情況中,該節(jié)點(diǎn)為內(nèi)容節(jié)點(diǎn)7 以提供所請求的內(nèi)容,并在內(nèi)容響應(yīng)56中將用于所選擇的節(jié)點(diǎn)的網(wǎng)絡(luò)地址返回至應(yīng)用程序74。在一些實(shí)施方式中,查找模塊50為HTTP服務(wù)器。在一些實(shí)施方式中,HTTP 302轉(zhuǎn)向消息中的URI由于虛擬主機(jī)的結(jié)果而可以包含域名,而不是所選擇的CDN節(jié)點(diǎn)的IP地址。在這種情況中,在選擇請求主機(jī)的CDN節(jié)點(diǎn)之前,包含在成本映射中的IP地址可以需要與域名相互關(guān)聯(lián)。以此方式,實(shí)時(shí)內(nèi)容節(jié)點(diǎn)狀態(tài)更新、增量網(wǎng)絡(luò)和上述成本映射更新技術(shù)能夠使能進(jìn)行網(wǎng)絡(luò)和成本映射的策略驅(qū)動(dòng)的廣告,這種廣告將內(nèi)容節(jié)點(diǎn)的條件結(jié)合在PID間成本計(jì)算過程中,如這種狀態(tài)涉及例如網(wǎng)絡(luò)拓?fù)?、流量?fù)載、節(jié)點(diǎn)健康狀態(tài),或涉及提供服務(wù)的其他狀態(tài)。在P2P環(huán)境中,由于ALTO客戶端68可以為應(yīng)用程序跟蹤器,所以用于應(yīng)用程序的同位體數(shù)據(jù)庫可以說明(account for)當(dāng)前規(guī)格(metrics),例如,同位體可用性、內(nèi)容可用性以及定位。此外,由于內(nèi)容節(jié)點(diǎn)72向ALTO服務(wù)器70而不是向轉(zhuǎn)向器66提供狀態(tài)更新58,所以ALTO服務(wù)器70可以通過在更新消息62中將映射更新推送至ALTO客戶端68,而根據(jù)實(shí)時(shí)狀態(tài)變化來更快速地更新ALTO客戶端68。這可以減少在ALTO服務(wù)器70和ALTO客戶端 68之間所交換的信息量。另外,在ALTO服務(wù)器70處接收狀態(tài)更新58使得ALTO服務(wù)能夠在與轉(zhuǎn)向器66所占據(jù)的管理域不同的管理域中操作。這可以能夠獨(dú)立地量測內(nèi)容節(jié)點(diǎn)的健康管理(利用ALTO服務(wù)器70)和轉(zhuǎn)向的健康管理(利用轉(zhuǎn)向器66)。在許多情況中,轉(zhuǎn)向器66面臨更高的量測需求。圖6是詳細(xì)地示出了執(zhí)行根據(jù)本發(fā)明技術(shù)的實(shí)例ALTO服務(wù)器80的框圖。ALTO服務(wù)器80可以包括圖1的⑶N-ALTO服務(wù)器22和圖5的ALTO服務(wù)器70的方面。在所示的實(shí)施方式中,ALTO服務(wù)器80包括網(wǎng)絡(luò)信息庫90、數(shù)據(jù)結(jié)構(gòu)以產(chǎn)生基于 ALTO的映射,該數(shù)據(jù)結(jié)構(gòu)包括關(guān)于網(wǎng)絡(luò)拓?fù)?、端點(diǎn)狀態(tài)、各種網(wǎng)絡(luò)鏈路的傳輸成本的信息、 以及由映射模塊81需要的任何其他信息。在所示實(shí)例中,網(wǎng)絡(luò)映射模塊82利用網(wǎng)絡(luò)信息庫90產(chǎn)生網(wǎng)絡(luò)映射102,成本映射模塊84利用網(wǎng)絡(luò)信息庫90產(chǎn)生成本映射104。網(wǎng)絡(luò)信息庫90被提供有通過執(zhí)行路由協(xié)議92而獲得的信息,以從管理員108和從內(nèi)容節(jié)點(diǎn)72獲得路由信息,所述的管理員連接至用戶接口 100(“UI 100”)以上傳包括網(wǎng)絡(luò)信息的表格或其他數(shù)據(jù)結(jié)構(gòu),所述內(nèi)容節(jié)點(diǎn)如以上參考圖5所描述的而將狀態(tài)更新消息58發(fā)送至資源接口 86,以利用節(jié)點(diǎn)的狀態(tài)來更新網(wǎng)絡(luò)信息庫。網(wǎng)絡(luò)信息庫90還可以從與圖1的ALTO客戶端M基本相似地進(jìn)行操作的ALTO客戶端106接收網(wǎng)絡(luò)信息。也就是說,ALTO客戶端106 可以從其他管理域中請求并接收網(wǎng)絡(luò)映射和成本映射,并將這些映射存儲(chǔ)至網(wǎng)絡(luò)信息庫。除了接收狀態(tài)更新58以外,資源接口 86還發(fā)現(xiàn)可用的內(nèi)容節(jié)點(diǎn)(例如,內(nèi)容節(jié)點(diǎn) 72)。資源接口 86可以利用例如ping (HTTP Get請求)、traCeroute或其他方法,而針對狀態(tài)更新58來輪詢(poll)內(nèi)容節(jié)點(diǎn)72。資源接口 86可以包括簡單的網(wǎng)絡(luò)管理協(xié)議(SNMP) 代理,其連接至內(nèi)容節(jié)點(diǎn)72或連接至中心網(wǎng)絡(luò)管理服務(wù)器,以請求狀態(tài)更新58。資源接口 86可以暴露應(yīng)用程序編程接口(API),該應(yīng)用程序編程接口可以包括Web服務(wù)或基于可擴(kuò)展消息接發(fā)和存在協(xié)議(XMPP)的API。用戶接口 100可以為命令行接口(CLI)、圖形用戶接口(⑶I)、遠(yuǎn)程過程調(diào)用(RPC) 或一些其他方法,以使得管理員108能夠配置ALTO服務(wù)器80的網(wǎng)絡(luò)信息庫90和供給策略 98。管理員108可以為例如服務(wù)提供商網(wǎng)絡(luò)的網(wǎng)絡(luò)操作員,或者是在例如網(wǎng)絡(luò)管理裝置上運(yùn)行的軟件代理。管理員108為ALTO服務(wù)器80另外提供供給策略98,該供給策略為根據(jù)與傳輸成本、負(fù)載平衡、服務(wù)區(qū)分、PID分組或其他優(yōu)先選擇區(qū)域相關(guān)的管理員優(yōu)先選擇、而使網(wǎng)絡(luò)映射模塊82產(chǎn)生網(wǎng)絡(luò)映射102并使成本映射模塊84產(chǎn)生成本映射104的一組策略。 例如,供給策略98可以引導(dǎo)網(wǎng)絡(luò)映射模塊82和成本映射模塊84產(chǎn)生映射,以使來自具有特定屬性的PID的內(nèi)容請求被轉(zhuǎn)向至特定CDN節(jié)點(diǎn)。網(wǎng)絡(luò)映射模塊82和成本映射模塊84可以執(zhí)行映射過濾服務(wù)。該映射過濾服務(wù)允許ALTO客戶端請求來自ALTO服務(wù)器80的映射,以詢問根據(jù)各種參數(shù)而被過濾的映射。以這種方式,客戶端可以避免客戶端側(cè)過濾,并且ALTO服務(wù)器80可以減少由不必要的大映射傳輸所引起的網(wǎng)絡(luò)流量。根據(jù)本發(fā)明的技術(shù),如下文參考圖7而進(jìn)一步詳細(xì)描述的,網(wǎng)絡(luò)映射102可以包括可用來消除PID (包含特定類的端點(diǎn))中的歧義的PID屬性。網(wǎng)絡(luò)映射模塊 82可以采用映射過濾服務(wù)過濾來自網(wǎng)絡(luò)映射102的任何PID (不包括屬于特定類的端點(diǎn)), 然后將所過濾的網(wǎng)絡(luò)發(fā)送至請求客戶端??蛻舳私涌?96暴露ALTO服務(wù)器接口以使得ALTO客戶端(例如,客戶端40)請求并接收用于網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)絡(luò)映射和成本映射??蛻舳私涌?96在完整映射上傳消息 60中將網(wǎng)絡(luò)映射102和成本映射104的拷貝發(fā)送至客戶端40??蛻舳私涌?96可以執(zhí)行一個(gè)或多個(gè)協(xié)議,以獲得ALTO客戶端在網(wǎng)絡(luò)中的網(wǎng)絡(luò)地址,并且客戶端接口保持這些網(wǎng)絡(luò)地址,以將映射的增量更新推送至這些客戶端。ALTO服務(wù)器80的差分引擎88高速緩存網(wǎng)絡(luò)映射102和成本映射104的拷貝。一旦產(chǎn)生新的網(wǎng)絡(luò)映射102和/或成本映射104,差分引擎88就確定新網(wǎng)絡(luò)映射102和表示現(xiàn)有版本的緩存拷貝之間的差別。另外,差分引擎88還確定新的成本映射104和表示現(xiàn)有版本的成本映射的緩存拷貝之間的差別。然后,差分引擎88產(chǎn)生一系列命令,當(dāng)這些命令由客戶端40執(zhí)行時(shí),將導(dǎo)致客戶端40使用于網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)絡(luò)映射和成本映射的拷貝分別與網(wǎng)絡(luò)映射102和成本映射104相一致。差分引擎88引導(dǎo)客戶端接口 96,以將這些命令在更新消息62中發(fā)送至客戶端40。圖7是示出了由ALTO服務(wù)器根據(jù)ALTO服務(wù)和本發(fā)明的技術(shù)所建立的實(shí)例網(wǎng)絡(luò)映射102的框圖。網(wǎng)絡(luò)映射102包括一組網(wǎng)絡(luò)位置標(biāo)識(shí)符(PID) IlOA至110C,每一網(wǎng)絡(luò)位置標(biāo)識(shí)符均由網(wǎng)絡(luò)位置標(biāo)識(shí)符值114A至114C的相應(yīng)一個(gè)來識(shí)別。PID 110中的每一個(gè)組成間接的網(wǎng)絡(luò)不可知的聚集機(jī)構(gòu)(aggregation mechanism),以表示例如一個(gè)或多個(gè)單獨(dú)的端點(diǎn)、一個(gè)或多個(gè)子網(wǎng)、大都市區(qū)域、存在點(diǎn)(PoP)、一個(gè)或多個(gè)自治系統(tǒng),或者它們的任一組合。例如,PID IlOB表示具有IP地址11. 0. 0. 58的端點(diǎn),并具有網(wǎng)絡(luò)位置標(biāo)識(shí)符值 “PID-1”??梢跃奂疨ID 110,并且可以根據(jù)任何數(shù)量的標(biāo)準(zhǔn)來分配網(wǎng)絡(luò)位置標(biāo)識(shí)符114。在一些情況中,ALTO服務(wù)器通過地理接近性而將端點(diǎn)、子網(wǎng)等聚集在PID 110中。網(wǎng)絡(luò)端點(diǎn)到 PID 110中的聚集通過將網(wǎng)絡(luò)端點(diǎn)與它們在ALT環(huán)境中的標(biāo)識(shí)符分離,來提供可量測性和保密性。特別地,聚集通過減小網(wǎng)絡(luò)的大小來減小成本映射的大小,并隱藏在特定PID(表示例如自治系統(tǒng))下的網(wǎng)絡(luò)拓?fù)洹8鶕?jù)本發(fā)明的技術(shù),示例性PID 110的每一個(gè)均包括PID類型字段112A至112C 中的相應(yīng)一個(gè),這些PID型字段存儲(chǔ)所分配的PID的PID類型。例如,PID IlOA包括指定用于PID IlOA的“主機(jī)"PID類型的PID型字段112A,而PID IlOC包括指定用于PID IlOC 的“⑶N”PID類型的PID類型字段112C。因此,PID IlOA識(shí)別主機(jī)子網(wǎng),PID IlOC識(shí)別可用的⑶N高速緩存節(jié)點(diǎn)的IP地址。PID類型字段112為各個(gè)PID 110的屬性,并能夠使ALTO服務(wù)采取特定PID類型的動(dòng)作。如上文參考圖6所描述的,可以通過作為約束的ALTO服務(wù)器而使PID類型值傳給映射過濾服務(wù)。例如,ALTO服務(wù)器(諸如ALTO服務(wù)器80)可以設(shè)定成本映射的成本條目, 該成本映射將類型“主機(jī)”的兩個(gè)PID之間的成本指定為無窮大的值。從而,使用成本映射選擇用于請求主機(jī)的資源的轉(zhuǎn)向器或其他資源選擇器避免了選擇另一主機(jī)作為資源,以有利于具有類型“⑶N”的PID的資源。在一些實(shí)施方式中,ALTO服務(wù)器可以過濾成本條目,以避免將這種條目發(fā)送至ALTO客戶端。相反,ALTO服務(wù)器將成本條目的稀疏矩陣告知ALTO 客戶端。在這些實(shí)施方式中,ALTO客戶端假設(shè),所接收的成本映射中的任何缺失的成本條目的默認(rèn)成本為無窮大。雖然圖7僅示出了“主機(jī)”和“⑶N”PID類型,但附加的PID類型也可以被用來表示PID 110的特性。例如,其他PID類型可以包括“移動(dòng)主機(jī)”、“無線主機(jī)”或其他分類。在其他實(shí)例中,PID類型可以包括與客戶和服務(wù)提供商之間的服務(wù)水平協(xié)議相對應(yīng)的服務(wù)分類。在資源選擇的過程中可以類似地采用這些附加類型以進(jìn)一步服務(wù)提供商策略。作為僅有的一個(gè)實(shí)例,ALTO服務(wù)器可以識(shí)別具有類型“移動(dòng)主機(jī)”的PID并產(chǎn)生成本映射,以使轉(zhuǎn)向器將這些PID發(fā)送至控制(host)低分辨率視頻流的內(nèi)容節(jié)點(diǎn)。在另一實(shí)例中,ALTO服務(wù)器可以采用PID類型“邊界路由器”來確保由ALTO服務(wù)器所服務(wù)的網(wǎng)絡(luò)(例如,內(nèi)容分發(fā)網(wǎng)絡(luò)6或接入網(wǎng)絡(luò)4)的任何邊界路由器均被映射至不同的PID。這使ALTO服務(wù)器能夠計(jì)算合并連接多個(gè)網(wǎng)絡(luò)的傳輸鏈路的主要成本映射。圖8是對應(yīng)于圖7的網(wǎng)絡(luò)映射102并且通過所描述的技術(shù)而產(chǎn)生的示例性成本映射120。成本映射120解決需要將類型“主機(jī)”的PID轉(zhuǎn)向至類型“⑶N”的PID的應(yīng)用程序。因此,ALTO服務(wù)器產(chǎn)生成本映射120,使得主機(jī)間PID對和⑶N間PID對被設(shè)定為具有無窮大的成本。因此,與圖7的網(wǎng)絡(luò)映射102的PID IlOB和IlOC相對應(yīng)的< “PID-1,,, “PID-2”〉的成本條目具有無窮大的值。ALTO服務(wù)器可以廣告其從120得到的全矩陣或稀疏矩陣以減小網(wǎng)絡(luò)流量。在使用圖7的網(wǎng)絡(luò)映射102和圖8的成本映射120的一實(shí)例中,轉(zhuǎn)向器(例如,圖 5的轉(zhuǎn)向器66)從ALTO服務(wù)器請求并接收成本映射120和網(wǎng)絡(luò)映射102。然后,轉(zhuǎn)向器66 從具有源IP地址的主機(jī)接收內(nèi)容請求。轉(zhuǎn)向器66根據(jù)網(wǎng)絡(luò)映射102來確定包含源IP地址的PID。然后,轉(zhuǎn)向器66利用成本映射選擇所確定的PID的最低成本的CDN PID,并找出由最低成本的⑶N PID所包含的內(nèi)容(例如,⑶N)節(jié)點(diǎn)的IP地址。由PID所包含的內(nèi)容節(jié)點(diǎn)的選擇可以是隨機(jī)的、循環(huán)的或者是基于一定水平的內(nèi)容了解的。作為引導(dǎo)內(nèi)容了解 (content-awareness-directed)的選擇的一個(gè)實(shí)例,轉(zhuǎn)向器66可以將相同URI的請求發(fā)送至相同的內(nèi)容節(jié)點(diǎn)。圖9是包括采用域名服務(wù)(DNS)的內(nèi)容分發(fā)網(wǎng)絡(luò)130( "CDN 130”)的示例性網(wǎng)絡(luò)系統(tǒng)128的框圖。該網(wǎng)絡(luò)系統(tǒng)128的元件通過利用DNS代理138而配合執(zhí)行重復(fù)的DNS 查找。最初,主機(jī)140 (或在主機(jī)140上執(zhí)行的應(yīng)用程序)將DNS詢問150發(fā)送至DNS代理 (DNS proxy) 138,DNS代理138請求根域名服務(wù)器(root name server) 146以找到用于頂級(jí)域(在該實(shí)例中,頂級(jí)域?yàn)椤癱om”)的授權(quán)DNS服務(wù)器。根域名服務(wù)器146通過COM名服務(wù)器144的網(wǎng)絡(luò)地址進(jìn)行響應(yīng),DNS代理使用該COM名服務(wù)器來獲得由內(nèi)容分發(fā)網(wǎng)絡(luò)130 覆蓋的域(例如,“cdn.com”域)的授權(quán)DNS服務(wù)器的網(wǎng)絡(luò)地址。COM名服務(wù)器144將名稱服務(wù)器132的網(wǎng)絡(luò)地址返回至DNS代理138。⑶N 130的每個(gè)元件均在相同的管理域中。名稱服務(wù)器132為DNS服務(wù)器,并且其可以與圖5的轉(zhuǎn)向器66基本相似地進(jìn)行操作。名稱服務(wù)器132包括從⑶N 130的ALTO服務(wù)器136請求并接收網(wǎng)絡(luò)映射和成本映射的ALTO客戶端134。DNS代理138響應(yīng)于從主機(jī)140接收的DNS請求150而發(fā)送DNS請求152,并且名稱服務(wù)器132基于主機(jī)140的IP地址(在DNS請求152中由DNS代理138發(fā)送)以及從ALTO服務(wù)器136接收的網(wǎng)絡(luò)映射和成本映射,而通過選擇最適當(dāng)?shù)蘑荖節(jié)點(diǎn) (在該情況中,為CDN節(jié)點(diǎn)142)而進(jìn)行響應(yīng)。名稱服務(wù)器132發(fā)送包括⑶N節(jié)點(diǎn)142的網(wǎng)絡(luò)地址的DNS響應(yīng)156,DNS代理138 在DNS響應(yīng)158中將該網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)至主機(jī)140。主機(jī)140與⑶N節(jié)點(diǎn)142直接建立通信對話160以獲得廣受歡迎的內(nèi)容。圖10是示出了網(wǎng)絡(luò)系統(tǒng)170的框圖,其與圖9的網(wǎng)絡(luò)系統(tǒng)1 基本上相似。然而, 與網(wǎng)絡(luò)系統(tǒng)128不同,⑶N 130的ALTO服務(wù)器136在不同的網(wǎng)絡(luò)172中受獨(dú)立管理域的控制。另外,名稱服務(wù)器132由DNS分解器(resolver) 174來替換。許多組織/內(nèi)容提供商由于各種原因(例如可靠性、性能改進(jìn)、DNS安全性以及其他原因)而向外部廠商(在所示實(shí)施方式中,為網(wǎng)絡(luò)172的管理員)外界供應(yīng)(outsource) DNS管理??梢酝ㄟ^⑶N 130內(nèi)的高速緩存或其他⑶N來使用所管理的DNS服務(wù)。DNS分解器174在內(nèi)容服務(wù)器之間使流量動(dòng)態(tài)地負(fù)載平衡。典型地,所管理的DNS服務(wù)提供商在地理位置上定位DNS分解器以改進(jìn)性能。DNS分解器174包括ALTO客戶端134,以從ALTO 服務(wù)器136獲得網(wǎng)絡(luò)映射和成本映射。然后,通過使用本發(fā)明的技術(shù),DNS分解器174可以基于在網(wǎng)絡(luò)映射和成本映射中提供的信息而使流量負(fù)載平衡。例如,成本映射可以結(jié)合來自⑶N節(jié)點(diǎn)142的實(shí)時(shí)更新,這些實(shí)時(shí)更新使DNS分解器174增加或減小轉(zhuǎn)向至⑶N節(jié)點(diǎn) 142的請求量。在一些實(shí)施方式中,⑶N 130和網(wǎng)絡(luò)172均連接至單個(gè)服務(wù)提供商網(wǎng)絡(luò)。在這些情況中,網(wǎng)絡(luò)系統(tǒng)170與圖9的網(wǎng)絡(luò)系統(tǒng)1 基本上相似地進(jìn)行操作。然而,在一些實(shí)施方式中,⑶N 130和網(wǎng)絡(luò)172連接至不同的服務(wù)提供商網(wǎng)絡(luò)。在這些情況中,網(wǎng)絡(luò)系統(tǒng)170與圖1的網(wǎng)絡(luò)系統(tǒng)2基本上相似地進(jìn)行操作,其中,網(wǎng)絡(luò)系統(tǒng)2的接入網(wǎng)絡(luò)4和⑶N 6分別對應(yīng)于網(wǎng)絡(luò)172和⑶N 130。在這些情況中,DNS分解器174可以連接至執(zhí)行上文關(guān)于圖1的 ⑶N-ALTO服務(wù)器22所描述的主要成本映射產(chǎn)生技術(shù)的ALTO服務(wù)器。在一些實(shí)施方式中,所管理的DNS服務(wù)可以利用多個(gè)⑶N廠商,并且DNS分解器 174可以基于子域而將請求轉(zhuǎn)向至不同的⑶N節(jié)點(diǎn)。例如,DNS分解器174可以包括這樣的策略其指定到特定子域的CDN節(jié)點(diǎn)142的轉(zhuǎn)向和到不同子域的另一 CDN節(jié)點(diǎn)(未示出) 的轉(zhuǎn)向。在該實(shí)施方式中,DNS分解器174可以包括ALTO客戶端134。圖11是示出了根據(jù)本發(fā)明的原理而提供可量測的ALTO服務(wù)的路由器MO的框圖。路由器240可以表示圖1的ALTO-CDN服務(wù)器22、圖5的ALTO服務(wù)器70、或圖6的ALTO 服務(wù)器80、或圖9至圖10的ALTO服務(wù)器136中的任一個(gè)。路由器240可以包括應(yīng)用諸如如上文中所描述的ALTO服務(wù)的服務(wù)的一個(gè)或多個(gè)服務(wù)引擎Ml。也就是說,服務(wù)引擎可以為在用于服務(wù)ALTO協(xié)議的服務(wù)卡^OA至沈011( “服務(wù)卡沈0”)上操作的一個(gè)或多個(gè)相應(yīng)的虛擬ALTO服務(wù)器沈IA至沈IM提供操作環(huán)境。在該實(shí)例中,路由和服務(wù)被結(jié)合在單個(gè)路由器MO內(nèi),該路由器使用適于高速轉(zhuǎn)發(fā)功能(由處理高額流量的路由器所要求)的共用轉(zhuǎn)發(fā)引擎對6。路由器240包括控制單元M2,該控制單元包括與轉(zhuǎn)發(fā)引擎M6相耦接的路由引擎 M4,路由引擎244為執(zhí)行路由操作的路由協(xié)議248提供操作環(huán)境。路由引擎244負(fù)責(zé)路由信息庫(RIB)250的維護(hù),以反映其連接的網(wǎng)絡(luò)和其他網(wǎng)絡(luò)實(shí)體的當(dāng)前拓?fù)?。具體地,路由引擎244周期性地更新RIB 250,以精確地反映網(wǎng)絡(luò)和其他實(shí)體的拓?fù)?。此外,路由引擎M4將由RIB 250存儲(chǔ)的網(wǎng)絡(luò)拓?fù)湫畔⑼扑椭练?wù)卡沈0,以提供至虛擬ALTO服務(wù)器的拓?fù)漭斎?。虛擬ALTO服務(wù)器261可以在PID聚集、網(wǎng)絡(luò)映射產(chǎn)生和成本映射產(chǎn)生的過程中使用該拓?fù)漭斎?。根?jù)RIB 250,轉(zhuǎn)發(fā)引擎246維護(hù)轉(zhuǎn)發(fā)信息庫(FIB) 252,該轉(zhuǎn)發(fā)信息庫將網(wǎng)絡(luò)終端與特定的下一跳變以及相應(yīng)的接口端口相關(guān)聯(lián)。例如,控制單元242分析RIB 250并根據(jù) RIB 250來產(chǎn)生FIB 252。路由器240包括接口卡254A至254N( "IFC 2 ”),這些接口卡分別經(jīng)由網(wǎng)絡(luò)鏈路256和257來接收并發(fā)送包。IFC 2M可以經(jīng)由多個(gè)接口端口而耦接至網(wǎng)絡(luò)鏈路256、257。轉(zhuǎn)發(fā)引擎246可以包括交換結(jié)構(gòu)(switch fabric)以基于所選擇的下一跳變而將多點(diǎn)傳送包轉(zhuǎn)發(fā)至接口卡。通常,轉(zhuǎn)發(fā)引擎246可以將從IFC 254接收的一些包轉(zhuǎn)送至服務(wù)卡沈0。具體地, 轉(zhuǎn)發(fā)引擎對6可以包括流轉(zhuǎn)向單元(flow steering unit)M5,以將這些包選擇性地引導(dǎo)至用于處理的服務(wù)引擎Ml。即,流轉(zhuǎn)向單元245接收進(jìn)入的包流,并在一個(gè)或多個(gè)服務(wù)卡260 內(nèi)確定是否通過用于處理的服務(wù)引擎Ml來發(fā)送這些包,或確定是否繞過服務(wù)引擎Ml。例如,流轉(zhuǎn)向單元245可以引導(dǎo)針對由服務(wù)卡提供的虛擬ALTO服務(wù)器中的一個(gè)而預(yù)定的包流。在2008年9月23日提交的美國專利申請第12/^235,677號(hào)的題為Iorwarding Plane Configuration for separation of Service and forwarding in an Intergrated Services Router"中可以發(fā)現(xiàn)一個(gè)轉(zhuǎn)發(fā)用于服務(wù)分離的平面配置并在集成服務(wù)路由器中轉(zhuǎn)發(fā)的實(shí)例,其全部內(nèi)容結(jié)合于此作為參考。服務(wù)卡260從轉(zhuǎn)發(fā)引擎246接收包,并根據(jù)所定義的配置數(shù)據(jù)282而選擇性地提供服務(wù)。在一些情況中,服務(wù)卡可以將這些包或任何響應(yīng)包轉(zhuǎn)送至控制單元M2,以由轉(zhuǎn)發(fā)引擎246根據(jù)FIB 252轉(zhuǎn)發(fā)。多個(gè)輸入和輸出邏輯接口可以將服務(wù)卡260耦接至控制單元 242??梢匝刂酚善?40的底板或其他互連來安裝具有服務(wù)引擎241的服務(wù)卡沈0,以在從轉(zhuǎn)發(fā)引擎246接收的包上執(zhí)行各種服務(wù),這些服務(wù)包括ALTO服務(wù)和諸如過濾、記錄、入侵檢測和預(yù)防(IDP)分析、病毒掃描、深度包檢測的其他服務(wù)。在一些情況中,服務(wù)卡沈0 可以發(fā)出命令251,以在轉(zhuǎn)發(fā)引擎M6的流轉(zhuǎn)向單元M5內(nèi)動(dòng)態(tài)地配置流表格M9。例如, 流轉(zhuǎn)向單元245接收一個(gè)包,并分析所接收的包,以識(shí)別與該包相關(guān)聯(lián)的包流,例如,利用基于流的供給邏輯247而基于在包的頭或主體中攜帶的信息來識(shí)別η個(gè)元組(例如,五元組和輸入接口)。一旦識(shí)別到包流,流轉(zhuǎn)向單元245參考內(nèi)部流表格對9,以確定是屬于新的包流還是屬于已由路由器240識(shí)別的包流。如果流轉(zhuǎn)向單元245在流表格249中未找到匹配,這表明該包屬于新的包流,則流轉(zhuǎn)向單元245將該包引導(dǎo)至用于防火墻服務(wù)的服務(wù)引擎Ml的服務(wù)卡沈0。當(dāng)將該包引導(dǎo)至服務(wù)引擎241時(shí),服務(wù)卡260中的一個(gè)將ALTO服務(wù)應(yīng)用于這些包,所述包符合ALTO協(xié)議并針對路由器的ALTO服務(wù)而預(yù)定。另外,服務(wù)卡260可以從包中提取并組裝應(yīng)用層數(shù)據(jù), 深度包檢查(DPI)機(jī)可以執(zhí)行入侵檢測和預(yù)防(IDP)分析和/或虛擬掃描,以過濾掉壞包。 作為另一實(shí)例,服務(wù)卡260還可以執(zhí)行譯碼、NAT或鑒別服務(wù)。一旦接收并處理包流的一個(gè)包或多個(gè)包,服務(wù)卡260可以發(fā)出命令251以在流表格M9內(nèi)安裝動(dòng)態(tài)過濾器,諸如當(dāng)接收到匹配過濾器的包時(shí)指明要執(zhí)行的特定動(dòng)作的精確匹配過濾器。在服務(wù)卡260確定不需要另外的防火墻服務(wù)應(yīng)用于包流的情況下(例如,在確定包流為可信或良好的之后),服務(wù)卡260可以在流轉(zhuǎn)向單元M5內(nèi)安裝過濾器,以表明可以在繞過服務(wù)引擎241的徑直路徑上處理該包流對話的后續(xù)包。當(dāng)流轉(zhuǎn)向單元245接收到相同包流的后續(xù)包時(shí),流轉(zhuǎn)向單元245核對流表格M9,并確定該包與新的動(dòng)態(tài)過濾器相匹配,并根據(jù)動(dòng)態(tài)過濾器而在適當(dāng)路徑上引導(dǎo)包??刂茊卧?42包括用戶接口沈4,客戶端(例如管理員沈6 ( "ADMIN266"))通過其可以直接或遠(yuǎn)程配置路由器M0。通過與用戶接口 264相互作用,各種客戶端(例如,人類用戶和自動(dòng)化腳本)可執(zhí)行各種配置任務(wù)。例如,客戶端可以通過供給策略、網(wǎng)絡(luò)鏈路傳輸成本信息和QoS信息來配置虛擬ALTO服務(wù)器沈0。作為其他的實(shí)例,客戶端可以配置路由器的接口卡、調(diào)節(jié)用于所支持的網(wǎng)絡(luò)協(xié)議的參數(shù)、指定路由裝置內(nèi)的物理部件、修改由路由器所維護(hù)的路由信息、接入軟件模塊和位于路由器上的其他資源等。例如,用戶接口 264 可以包括命令行接口(CLI)或其他適當(dāng)?shù)慕涌?例如,基于網(wǎng)絡(luò)瀏覽器的接口),以處理用戶或腳本驅(qū)動(dòng)的命令。用戶接口 264表示在路由引擎244上執(zhí)行的軟件,該路由引擎給出命令行接口(例如,經(jīng)由外殼或遠(yuǎn)程登錄對話),用于接收如本文所描述的配置數(shù)據(jù),該配置數(shù)據(jù)包括由服務(wù)卡260的服務(wù)引擎241所提供的ALTO協(xié)議的配置。在一個(gè)實(shí)施方式中,轉(zhuǎn)發(fā)引擎246和路由引擎244均可以包括一個(gè)或多個(gè)專用處理器、存儲(chǔ)介質(zhì)、硬件等,并且可以通過數(shù)據(jù)通信信道268而通信地耦接。數(shù)據(jù)通信信道268 可以為高速網(wǎng)絡(luò)連接、總線、共享存儲(chǔ)器或其他數(shù)據(jù)通信機(jī)制。以這種方式,可以將路由器240的操作視為被分成控制面、服務(wù)面和數(shù)據(jù)面??刂泼婵梢员豢醋鳛橛陕酚梢?44提供并可以包括一個(gè)或多個(gè)軟件處理,諸如在由一個(gè)或多個(gè)微處理器提供的計(jì)算環(huán)境上執(zhí)行的管理端口監(jiān)督程序(management daemon)和路由協(xié)議端口監(jiān)督程序。路由器240可以進(jìn)一步包括用于容納控制單元M2的物理底架(未示出)。該底架具有用于容納一組卡(包括IFC 2M和服務(wù)卡沈0)的多個(gè)縫隙(未示出)。每張卡均可以被插入底架的相應(yīng)縫隙,以經(jīng)由總線、底板或其他電通信機(jī)制而將卡耦接至控制單元 242。路由器240可以根據(jù)從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(未示出)取出的可執(zhí)行指令來操作。這種介質(zhì)的實(shí)例包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、電可擦可編程只讀存儲(chǔ)器(EEPROM)、閃存等??梢酝ㄟ^用一個(gè)或多個(gè)處理器、離散硬件電路、固件、在可編程處理器上執(zhí)行的軟件,或以上的任一組合來執(zhí)行計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的指令,來實(shí)現(xiàn)路由器240的功能??梢灾辽俨糠值卦谘b置管理系統(tǒng)和受管理裝置上的硬件、軟件、固件或其任一組合中實(shí)現(xiàn)在本發(fā)明中描述的技術(shù)。例如,可以將所述技術(shù)的各個(gè)方面實(shí)現(xiàn)為由一個(gè)或多個(gè)處理器執(zhí)行的編碼程序代碼,所述的一個(gè)或多個(gè)處理器包括一個(gè)或多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、特定用途集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、或任何其他等價(jià)的集成或離散的邏輯電路、以及這些部件的任何組合。術(shù)語“處理器”或“處理電路”可以通常指的是單獨(dú)地或與其他邏輯電路組合的上述邏輯電路的任一個(gè)、或者任何其他的等效電路。包括硬件的控制單元還可以執(zhí)行本發(fā)明的一個(gè)或多個(gè)技術(shù)。可以在同一裝置內(nèi)或不同的裝置內(nèi)執(zhí)行這種硬件、軟件和固件,以支持在本發(fā)明中所描述的各種操作和功能。另外,可以將任何所述單元、模塊或部件一起或分開地實(shí)現(xiàn)為
21離散但可共同操作的邏輯裝置。對模塊或單元的不同特征的描述旨在突出不同的功能方面,而并非必須意味著這種模塊或單元必須通過不同的硬件或軟件部件來實(shí)現(xiàn)。相反,與一個(gè)或多個(gè)模塊或單元相關(guān)聯(lián)的功能可以由不同的硬件或軟件部件來執(zhí)行,或者可以集成在共用或不同的硬件或軟件部件內(nèi)。本發(fā)明中描述的技術(shù)也可以嵌入或編碼在諸如包括指令的實(shí)體計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的計(jì)算機(jī)可讀介質(zhì)中。例如,當(dāng)執(zhí)行嵌入或編碼在計(jì)算機(jī)可讀介質(zhì)中的指令時(shí),這些指令可以使可編程處理器或其他處理器執(zhí)行該方法。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可編程只讀存儲(chǔ)器(PR0M)、可擦可編程只讀存儲(chǔ)器 (EPROM)、電可擦可編程只讀存儲(chǔ)器(EEPROM)、閃存、硬盤、CD-ROM、軟盤、盒式磁帶、磁介質(zhì)、 光學(xué)介質(zhì)或其他計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。應(yīng)當(dāng)理解,盡管術(shù)語“計(jì)算機(jī)可讀介質(zhì)”除了物理存儲(chǔ)介質(zhì)以外還可以包括諸如信號(hào)的瞬時(shí)介質(zhì),但術(shù)語“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”指的是物理存儲(chǔ)介質(zhì),而不是信號(hào)或載波。除了以上實(shí)施方式以外或作為以上實(shí)施方式的替換,描述了以下實(shí)施方式??梢酝ㄟ^本文中所描述的任何其他實(shí)施方式來利用在以下實(shí)施方式的任一個(gè)中所描述的特征。一個(gè)實(shí)施方式致力于一種方法,該方法包括通過包括用于第二 ALTO服務(wù)器的第一 ALTO客戶端的第一應(yīng)用層流量優(yōu)化(ALTO)服務(wù)器,來產(chǎn)生包括PID條目的第一 ALTO網(wǎng)絡(luò)映射,以描述一個(gè)或多個(gè)PID的第一組中的每一個(gè),其中,第一組PID中的每一個(gè)均與第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián);通過第一 ALTO服務(wù)器來產(chǎn)生第一 ALTO成本映射, 第一 ALTO成本映射針對第一組PID的每一組合而包括成本條目,該成本條目包括成本值以指定通過第一網(wǎng)絡(luò)(連接第一組PID的相應(yīng)組合)而越過網(wǎng)絡(luò)路徑的成本;通過第一 ALTO 客戶端接收第二 ALTO網(wǎng)絡(luò)映射,該第二 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID 的第二組中的每一個(gè),其中,第二組PID中的每一個(gè)均與第二網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián);通過第一 ALTO客戶端來接收第二 ALTO成本映射,第二 ALTO成本映射針對第二組PID中的每一個(gè)組合而包括成本條目,該成本條目包括成本值以指定通過第二網(wǎng)絡(luò)(連接第二組PID的相應(yīng)組合)而越過網(wǎng)絡(luò)路徑的成本;產(chǎn)生包括一個(gè)或多個(gè)主要成本條目的主要成本映射,每一個(gè)主要成本條目均包括從第一組PID中選擇的PID和從第二組PID中選擇的PID,并且每個(gè)主要成本條目包括表示從選自第一組PID的PID和選自第二組PID的 PID越過網(wǎng)絡(luò)路徑的成本;并將該主要成本映射從第一 ALTO服務(wù)器輸出至第二 ALTO客戶端。在一些實(shí)施方式中,該方法可以進(jìn)一步包括其中,第一網(wǎng)絡(luò)包括與第一 ALTO網(wǎng)絡(luò)映射的PID條目相關(guān)聯(lián)的第一邊界路由器,其中,第二網(wǎng)絡(luò)包括與第二 ALTO網(wǎng)絡(luò)映射的 PID條目相關(guān)聯(lián)并經(jīng)由傳輸鏈路而連接至第一邊界路由器的第二邊界路由器,其中,產(chǎn)生主要成本映射包括從第一組PID中選擇第一所選PID,其中,第一所選PID與第一邊界路由器不相關(guān);從第二組PID中選擇第二所選PID,其中,第二所選PID與第二邊界路由器不相關(guān);產(chǎn)生包括第一所選PID和第二所選PID的第一主要成本條目。在一些實(shí)施方式中,該方法可以進(jìn)一步包括,將用于第一所選PID和第一邊界路由器的PID的組合的第一 ALTO成本映射中的成本條目值與用于第二所選PID和第二邊界路由器的PID的組合的第二 ALTO成本映射中的成本條目值相加,以產(chǎn)生總成本;并將第一主要成本條目的成本值設(shè)定為總成本。
在一些實(shí)施方式中,該方法可以進(jìn)一步包括,將用于第一所選PID和第一邊界路由器的PID的組合的第一 ALTO成本映射中的成本條目值與用于第二所選PID和第二邊界路由器的PID的組合的第二 ALTO成本映射中的成本條目值、以及與用于將第一邊界路由器連接至第二邊界路由器的傳輸鏈路的成本相加,以產(chǎn)生總成本;以及將用于第一主要成本條目的成本值設(shè)定為總成本。在一些實(shí)施方式中,該方法可以進(jìn)一步包括其中,與第一邊界路由器相關(guān)聯(lián)的第一 ALTO網(wǎng)絡(luò)映射的PID條目包括PID類型字段,其將與第一邊界路由器相關(guān)聯(lián)的第一 ALTO 網(wǎng)絡(luò)映射的PID條目識(shí)別為包括邊界路由器,其中,與第二邊界路由器相關(guān)聯(lián)的第二 ALTO 網(wǎng)絡(luò)映射的PID條目包括PID類型字段,其將與第二邊界路由器相關(guān)聯(lián)的第二 ALTO網(wǎng)絡(luò)映射的PID條目識(shí)別為包括邊界路由器。在一些實(shí)施方式中,該方法可以進(jìn)一步包括產(chǎn)生第一網(wǎng)絡(luò)的第一邊界路由器成本矩陣,其指定從第一 ALTO網(wǎng)絡(luò)映射中的第一組PID中的其他PID到達(dá)第一邊界路由器的成本;以及產(chǎn)生第二網(wǎng)絡(luò)的第二邊界路由器成本矩陣,其指定從第二 ALTO網(wǎng)絡(luò)映射的第二組PID中的PID到達(dá)第二邊界路由器的成本。在一些實(shí)施方式中,該方法可以進(jìn)一步包括其中,第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)在分開的管理域中操作。在一些實(shí)例中,該方法可以進(jìn)一步包括,其中,與第一組PID中的特定PID相關(guān)聯(lián)的第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)中的每一個(gè)均為同一類型的成員,該方法進(jìn)一步包括: 通過第一 ALTO服務(wù)器將PID類型屬性分配給第一組PID中的每一個(gè),其中,第一組PID中的特定PID的PID類型屬性指定與該特定PID相關(guān)聯(lián)的端點(diǎn)的子集的類型,其中,第一 ALTO 網(wǎng)絡(luò)映射的每個(gè)PID條目均包括PID類型字段,其存儲(chǔ)由PID條目所描述的第一組PID中的PID的所分配的PID類型屬性。在一些實(shí)施方式中,該方法可以進(jìn)一步包括,其中,將PID類型屬性分配給每個(gè) PID包括將“內(nèi)容分發(fā)節(jié)點(diǎn)” PID類型屬性分配給第一組PID中的第一 PID,其中,“內(nèi)容分發(fā)節(jié)點(diǎn)”PID類型屬性將與第一 PID相關(guān)聯(lián)的端點(diǎn)識(shí)別為內(nèi)容分發(fā)服務(wù)的提供商;以及將 “主機(jī)” PID類型屬性分配給第一組PID中的第二 PID,其中,“主機(jī)” PID類型屬性將與第二 PID相關(guān)聯(lián)的端點(diǎn)識(shí)別為內(nèi)容分發(fā)服務(wù)的客戶。在一些實(shí)施方式中,該方法可以進(jìn)一步包括,通過第一 ALTO服務(wù)器而從ALTO客戶端接收用于主要ALTO成本映射的請求;設(shè)定主要成本條目的成本值,這些主要成本條目將包括具有相同PID類型屬性的成員的PID對指定為無窮大;并且響應(yīng)于接收到請求,將主要成本條目從ALTO服務(wù)器輸出至ALTO客戶端來作為主要ALTO成本映射。在一些實(shí)施方式中,該方法可以進(jìn)一步包括過濾指定無窮大的成本值的主要成本條目,以產(chǎn)生主要成本條目的稀疏矩陣,其中,主要成本條目的稀疏矩陣的失去的主要成本條目具有無窮大成本的默認(rèn)值,其中,輸出主要成本條目包括僅將主要成本條目的稀疏矩陣從ALTO服務(wù)器輸出至ALTO客戶端作為主要ALTO成本映射。在一些實(shí)施方式中,該方法可以進(jìn)一步包括通過第一 ALTO服務(wù)器而從第一網(wǎng)絡(luò)的端點(diǎn)的第一個(gè)中接收狀態(tài)更新,該第一網(wǎng)絡(luò)包括表示第一端點(diǎn)的條件(影響第一端點(diǎn)關(guān)于服務(wù)的性能)的信息;產(chǎn)生第一網(wǎng)絡(luò)的第二 ALTO網(wǎng)絡(luò)映射,其中,第一網(wǎng)絡(luò)的第二 ALTO 映射解釋所接收的信息,以表示用于第一網(wǎng)絡(luò)的更新的ALTO拓?fù)?;確定第一網(wǎng)絡(luò)的第一 ALTO網(wǎng)絡(luò)映射和第二 ALTO網(wǎng)絡(luò)映射之間的差別;并將更新消息從第一 ALTO服務(wù)器輸出至ALTO客戶端,ALTO客戶端包括第一 ALTO網(wǎng)絡(luò)映射的增量更新,以使得ALTO客戶端使由 ALTO客戶端存儲(chǔ)的第三ALTO網(wǎng)絡(luò)映射與第一網(wǎng)絡(luò)的第二 ALTO網(wǎng)絡(luò)映射一致。在一些實(shí)施方式中,該方法可以進(jìn)一步包括,其中,第一 ALTO服務(wù)器包括路由器,并且其中,第二網(wǎng)絡(luò)包括內(nèi)容分發(fā)網(wǎng)絡(luò)。一些實(shí)施方式致力于一種編碼有指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),這些指令使一個(gè)或多個(gè)可編程處理器執(zhí)行以上所闡述的任何方法。一些實(shí)施方式致力于一種包括用于執(zhí)行以上所闡述的任何方法的裝置的設(shè)備。在一些實(shí)施方式中,第一應(yīng)用層流量優(yōu)化(ALTO)服務(wù)器運(yùn)行與第二 ALTO服務(wù)器相通信的第一 ALTO客戶端,并產(chǎn)生第一 ALTO網(wǎng)絡(luò)映射,該第一 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第一組中的每一個(gè),其中,第一組PID中的每一個(gè)均與第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。第一 ALTO服務(wù)器還產(chǎn)生第一 ALTO成本映射,該第一 ALTO成本映射針對第一組PID的每一組合而包括成本條目,該成本條目包括成本值以指定通過第一網(wǎng)絡(luò)而越過網(wǎng)絡(luò)路徑的成本,該第一網(wǎng)絡(luò)連接第一組PID的相應(yīng)組合。第一 ALTO 服務(wù)器還接收第二 ALTO網(wǎng)絡(luò)映射,該第二 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè) PID的第二組中的每一個(gè),其中,第二組PID中的每一個(gè)均與第二網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián)。第一 ALTO服務(wù)器還通過第一 ALTO客戶端來接收第二 ALTO成本映射,第二 ALTO成本映射針對第二組PID的每一組合而包括成本條目,該成本條目包括成本值以指定通過第二網(wǎng)絡(luò)而越過網(wǎng)絡(luò)路徑的成本,第二網(wǎng)絡(luò)連接第二組PID的相應(yīng)組合。第一 ALTO服務(wù)器還產(chǎn)生包括一個(gè)或多個(gè)主要成本條目的主要成本映射,每個(gè)主要成本條目均包括從第一組PID中選擇的PID和從第二組PID中選擇的PID,并且每個(gè)主要成本條目均包括表示從選自第一組PID的PID和選自第二組PID的PID越過網(wǎng)絡(luò)路徑的成本。第一 ALTO服務(wù)器還將主要成本映射輸出至第二 ALTO客戶端。在一些實(shí)施方式中,第一網(wǎng)絡(luò)包括與第一 ALTO網(wǎng)絡(luò)映射的PID條目相關(guān)聯(lián)的第一邊界路由器,第二網(wǎng)絡(luò)包括與第二 ALTO網(wǎng)絡(luò)映射的PID條目相關(guān)聯(lián)并經(jīng)由傳輸鏈路而連接至第一邊界路由器的第二邊界路由器,并且第一 ALTO服務(wù)器通過以下方式來產(chǎn)生主要成本映射從第一組PID中選擇第一所選PID,從第二組PID中選擇第二所選PID,并且創(chuàng)建包括第一所選PID和第二所選PID的第一主要成本條目,其中,第一所選PID與第一邊界路由器不相關(guān),第二所選PID與第二邊界路由器不相關(guān)。在一些實(shí)施方式中,第一 ALTO服務(wù)器將用于第一所選PID和第一邊界路由器的 PID的組合的第一 ALTO成本映射中的成本條目值與用于第二所選PID和第二邊界路由器的PID的組合的第二 ALTO成本映射中的成本條目值相加,以產(chǎn)生總成本。第一 ALTO服務(wù)器還將第一主要成本條目的成本值設(shè)定為總成本。在一些實(shí)施方式中,第一 ALTO服務(wù)器將用于第一所選PID和第一邊界路由器的 PID的組合的第一ALTO成本映射中的成本條目值與用于第二所選PID和第二邊界路由器的 PID的組合的第二 ALTO成本映射中的成本條目值、以及與將第一邊界路由器連接至第二邊界路由器的傳輸鏈路的成本相加,以產(chǎn)生總成本。第一 ALTO服務(wù)器還將第一主要成本條目的成本值設(shè)定為總成本。在一些實(shí)施方式中,與第一邊界路由器相關(guān)聯(lián)的第一 ALTO網(wǎng)絡(luò)映射的PID條目包括PID類型字段,其將與第一邊界路由器相關(guān)聯(lián)的第一 ALTO網(wǎng)絡(luò)映射的PID條目識(shí)別為包括邊界路由器,其中,與第二邊界路由器相關(guān)聯(lián)的第二 ALTO網(wǎng)絡(luò)映射的PID條目包括PID 類型字段,其將與第二邊界路由器相關(guān)聯(lián)的第二 ALTO網(wǎng)絡(luò)映射的PID條目識(shí)別為包括邊界
路由器。在一些實(shí)施方式中,第一 ALTO服務(wù)器還產(chǎn)生第一網(wǎng)絡(luò)的第一邊界路由器成本矩陣,其指定從第一 ALTO網(wǎng)絡(luò)映射中的第一組PID中的其他PID到達(dá)第一邊界路由器的成本。第一 ALTO服務(wù)器還產(chǎn)生第二網(wǎng)絡(luò)的第二邊界路由器成本矩陣,其指定從第二 ALTO網(wǎng)絡(luò)映射的第二組PID中的PID到達(dá)第二邊界路由器的成本。在一些實(shí)施方式中,與第一組PID中的特定PID相關(guān)聯(lián)的第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)中的每一個(gè)均為同一類型的成員,并且第一 ALTO服務(wù)器將PID類型屬性分配給第一組 PID中的每一個(gè),其中,第一組PID中的特定PID的PID類型屬性指定與特定PID相關(guān)聯(lián)的端點(diǎn)的子集的類型,其中,第一 ALTO網(wǎng)絡(luò)映射的每個(gè)PID條目均包括PID類型字段,其存儲(chǔ)由PID條目所描述的第一組PID中的PID的所分配的PID類型屬性。在一些實(shí)施方式中,第一 ALTO服務(wù)器將“內(nèi)容分發(fā)節(jié)點(diǎn)"PID類型屬性分配給第一組PID中的第一 PID,其中,“內(nèi)容分發(fā)節(jié)點(diǎn)”PID類型屬性將與第一 PID相關(guān)聯(lián)的端點(diǎn)識(shí)別為內(nèi)容分發(fā)服務(wù)的提供商。第一 ALTO服務(wù)器還將“主機(jī)” PID類型屬性分配給第一組PID 中的第二 PID,其中,“主機(jī)”PID類型屬性將與第二 PID相關(guān)聯(lián)的端點(diǎn)識(shí)別為內(nèi)容分發(fā)服務(wù)的客戶。在一些實(shí)施方式中,第一 ALTO服務(wù)器從ALTO客戶端接收主要ALTO成本映射的請求。第一 ALTO服務(wù)器還設(shè)定主要成本條目的成本值,主要成本條目將包括具有相同PID類型屬性的成員的PID對指定為無窮大。第一 ALTO服務(wù)器還響應(yīng)于接收到請求,而將主要成本條目從ALTO服務(wù)器輸出至ALTO客戶端來作為主要ALTO成本映射。在一些實(shí)施方式中,第一 ALTO服務(wù)器過濾指定無窮大的成本值的主要成本條目, 以產(chǎn)生主要成本條目的稀疏矩陣,其中,主要成本條目的稀疏矩陣的失去的主要成本條目具有無窮大的成本的默認(rèn)值,并且其中,輸出主要成本條目包括將僅將主要成本條目的稀疏矩陣從ALTO服務(wù)器輸出至ALTO客戶端來作為主要ALTO成本映射。在一些實(shí)施方式中,第一 ALTO服務(wù)器從第一網(wǎng)絡(luò)的第一個(gè)端點(diǎn)接收狀態(tài)更新,第一網(wǎng)絡(luò)包括指示第一端點(diǎn)的條件(影響第一端點(diǎn)相對于服務(wù)的性能)的信息。第一 ALTO 服務(wù)器還產(chǎn)生第一網(wǎng)絡(luò)的第二 ALTO網(wǎng)絡(luò)映射,其中,第一網(wǎng)絡(luò)的第二 ALTO映射說明所接收到的信息,以表示第一網(wǎng)絡(luò)的更新的ALTO拓?fù)?。第?ALTO服務(wù)器還確定第一網(wǎng)絡(luò)的第一 ALTO網(wǎng)絡(luò)映射和第二 ALTO網(wǎng)絡(luò)映射之間的差別。第一 ALTO服務(wù)器將更新消息從第一 ALTO服務(wù)器輸出至ALTO客戶端,該ALTO客戶端包括第一 ALTO網(wǎng)絡(luò)映射的增量更新,以使得ALTO客戶端使由ALTO客戶端存儲(chǔ)的第三ALTO網(wǎng)絡(luò)映射與第一網(wǎng)絡(luò)的第二 ALTO網(wǎng)絡(luò)映射相一致。在一些實(shí)施方式中,第一 ALTO服務(wù)器包括路由器,而第二網(wǎng)絡(luò)包括內(nèi)容分發(fā)網(wǎng) 此外,可以將在上述實(shí)施方式中所闡述的任何特定特征組合在所述技術(shù)的有利實(shí)施方式中。也就是說,任何特定的特征通常可適用于本發(fā)明的所有實(shí)施方式。已經(jīng)描述了本發(fā)明的各種實(shí)施方式。這些和其他實(shí)施方式均在所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種方法,包括通過執(zhí)行與第二應(yīng)用層流量優(yōu)化(ALTO)服務(wù)器通信的第一 ALTO客戶端的第一 ALTO 服務(wù)器,來產(chǎn)生第一 ALTO網(wǎng)絡(luò)映射,所述第一 ALTO網(wǎng)絡(luò)映射包括PID條目以描述一個(gè)或多個(gè)PID的第一組中的每一個(gè),其中,所述第一組PID中的每一個(gè)均與第一網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián);通過所述第一 ALTO服務(wù)器來產(chǎn)生第一 ALTO成本映射,所述第一 ALTO成本映射針對所述第一組PID的每一組合而包括成本條目,所述成本條目包含成本值以指定通過所述第一網(wǎng)絡(luò)而越過網(wǎng)絡(luò)路徑的成本,所述第一網(wǎng)絡(luò)連接所述第一組PID的相應(yīng)組合;通過所述第一 ALTO客戶端接收第二 ALTO網(wǎng)絡(luò)映射,所述第二 ALTO網(wǎng)絡(luò)映射包括PID 條目以描述一個(gè)或多個(gè)PID的第二組中的每一個(gè),其中,所述第二組PID中的每一個(gè)均與第二網(wǎng)絡(luò)的一個(gè)或多個(gè)端點(diǎn)的子集相關(guān)聯(lián);通過所述第一 ALTO客戶端接收第二 ALTO成本映射,所述第二 ALTO成本映射針對所述第二組PID的每一組合而包括成本條目,所述成本條目包含成本值,以指定通過第二網(wǎng)絡(luò)而越過網(wǎng)絡(luò)路徑的成本,所述第二網(wǎng)絡(luò)連接所述第二組PID的相應(yīng)組合;產(chǎn)生包括一個(gè)或多個(gè)主要成本條目的主要成本映射,每個(gè)主要成本條目均包括從所述第一組PID中選擇的PID和從所述第二組PID中選擇的PID,并且所述每個(gè)主要成本條目均包括成本值,所述成本值表示從選自所述第一組PID中的PID和選自所述第二組PID中的 PID越過網(wǎng)絡(luò)路徑的成本;以及將所述主要成本映射從所述第一 ALTO服務(wù)器輸出至第二 ALTO客戶端。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述第一網(wǎng)絡(luò)包括與所述第一 ALTO網(wǎng)絡(luò)映射的PID條目相關(guān)聯(lián)的第一邊界路由器,其中,所述第二網(wǎng)絡(luò)包括與所述第二 ALTO網(wǎng)絡(luò)映射的PID條目相關(guān)聯(lián)并經(jīng)由傳輸鏈路而連接至所述第一邊界路由器的第二邊界路由器, 其中,產(chǎn)生所述主要成本映射包括從所述第一組PID中選擇第一所選PID,其中,所述第一所選PID未與所述第一邊界路由器關(guān)聯(lián);從所述第二組PID中選擇第二所選PID,其中,所述第二所選PID未與所述第二邊界路由器關(guān)聯(lián);創(chuàng)建包括所述第一所選PID和所述第二所選PID的第一主要成本條目。
3.根據(jù)權(quán)利要求2所述的方法,還包括將用于所述第一所選PID和所述第一邊界路由器的PID的組合的所述第一 ALTO成本映射中的成本條目值與用于所述第二所選PID和所述第二邊界路由器的PID的組合的所述第二 ALTO成本映射中的成本條目值相加,以產(chǎn)生總成本;以及將所述第一主要成本條目的成本值設(shè)定為所述總成本。
4.根據(jù)權(quán)利要求2所述的方法,還包括將用于所述第一所選PID和所述第一邊界路由器的PID的組合的所述第一 ALTO成本映射中的成本條目值與用于所述第二所選PID和所述第二邊界路由器的PID的組合的所述第二 ALTO成本映射中的成本條目值、以及與將所述第一邊界路由器連接至所述第二邊界路由器的所述傳輸鏈路的成本相加,以產(chǎn)生總成本;以及將所述第一主要成本條目的成本值設(shè)定為所述總成本。
5.根據(jù)權(quán)利要求2至4所述的方法,其中,與所述第一邊界路由器相關(guān)聯(lián)的所述第一 ALTO網(wǎng)絡(luò)映射的所述PID條目包括 PID類型字段,所述PID類型字段將與所述第一邊界路由器相關(guān)聯(lián)的所述第一 ALTO網(wǎng)絡(luò)映射的所述PID條目識(shí)別為包括邊界路由器,其中,與所述第二邊界路由器相關(guān)聯(lián)的所述第二 ALTO網(wǎng)絡(luò)映射的所述PID條目包括 PID類型字段,所述PID類型字段將與所述第二邊界路由器相關(guān)聯(lián)的所述第二 ALTO網(wǎng)絡(luò)映射的所述PID條目識(shí)別為包括邊界路由器。
6.根據(jù)權(quán)利要求2至4所述的方法,還包括產(chǎn)生所述第一網(wǎng)絡(luò)的第一邊界路由器成本矩陣,所述第一邊界路由器成本矩陣指定從所述第一 ALTO網(wǎng)絡(luò)映射中的所述第一組PID中的其他PID到達(dá)所述第一邊界路由器的成本;以及產(chǎn)生所述第二網(wǎng)絡(luò)的第二邊界路由器成本矩陣,所述第二邊界路由器成本矩陣指定從所述第二 ALTO網(wǎng)絡(luò)映射的所述第二組PID中的PID到達(dá)所述第二邊界路由器的成本。
7.根據(jù)權(quán)利要求1至6所述的方法,其中,所述第一網(wǎng)絡(luò)和所述第二網(wǎng)絡(luò)在分開的管理域中操作。
8.根據(jù)權(quán)利要求1至7所述的方法,其中,與所述第一組PID中的特定PID相關(guān)聯(lián)的所述第一網(wǎng)絡(luò)的所述一個(gè)或多個(gè)端點(diǎn)中的每一個(gè)均為同一類型的成員,所述方法還包括通過所述第一 ALTO服務(wù)器將PID類型屬性分配給所述第一組PID中的每一個(gè),其中, 所述第一組PID中的特定PID的PID類型屬性指定與所述特定PID相關(guān)聯(lián)的端點(diǎn)的子集的類型,其中,所述第一 ALTO網(wǎng)絡(luò)映射的每一 PID條目均包括PID類型字段,所述PID類型字段存儲(chǔ)由所述PID條目所描述的所述第一組PID中的PID的所分配的PID類型屬性。
9.根據(jù)權(quán)利要求8所述的方法,其中,將PID類型屬性分配給每一PID包括將“內(nèi)容分發(fā)節(jié)點(diǎn),,PID類型屬性分配給所述第一組PID中的第一 PID,其中,所述“內(nèi)容分發(fā)節(jié)點(diǎn)”PID類型屬性將與所述第一 PID相關(guān)聯(lián)的端點(diǎn)識(shí)別為內(nèi)容分發(fā)服務(wù)的提供商; 并且將“主機(jī)”PID類型屬性分配給所述第一組PID中的第二 PID,其中,所述“主機(jī)”PID類型屬性將與所述第二 PID相關(guān)聯(lián)的端點(diǎn)識(shí)別為內(nèi)容分發(fā)服務(wù)的客戶。
10.根據(jù)權(quán)利要求8所述的方法,還包括通過所述第一 ALTO服務(wù)器從ALTO客戶端接收用于所述主要ALTO成本映射的請求;設(shè)定主要成本條目的成本值,所述主要成本條目將包括具有相同PID類型屬性的成員的PID對指定為無窮大;以及響應(yīng)于接收到所述請求,將所述主要成本條目從所述ALTO服務(wù)器輸出至所述ALTO客戶端作為所述主要ALTO成本映射。
11.根據(jù)權(quán)利要求10所述的方法,還包括過濾指定無窮大的成本值的主要成本條目,以產(chǎn)生主要成本條目的稀疏矩陣,其中,所述主要成本條目的稀疏矩陣的失去的主要成本條目具有無窮大的成本的默認(rèn)值,以及其中,輸出所述主要成本條目包括僅將所述主要成本條目的稀疏矩陣從所述ALTO服務(wù)器輸出至所述ALTO客戶端作為所述主要ALTO成本映射。
12.根據(jù)權(quán)利要求1至11所述的方法,還包括通過所述第一 ALTO服務(wù)器從所述第一網(wǎng)絡(luò)的所述端點(diǎn)的第一個(gè)中接收狀態(tài)更新,所述狀態(tài)更新包括指示影響關(guān)于服務(wù)的第一端點(diǎn)的性能的所述第一端點(diǎn)的條件的信息;產(chǎn)生所述第一網(wǎng)絡(luò)的第二 ALTO網(wǎng)絡(luò)映射,其中,所述第一網(wǎng)絡(luò)的所述第二 ALTO映射解釋所接收的信息,以表示所述第一網(wǎng)絡(luò)的更新的ALTO拓?fù)?;確定所述第一網(wǎng)絡(luò)的所述第一 ALTO網(wǎng)絡(luò)映射和所述第二 ALTO網(wǎng)絡(luò)映射之間的差別;并且將更新消息從所述第一 ALTO服務(wù)器輸出至ALTO客戶端,所述更新消息包括所述第一 ALTO網(wǎng)絡(luò)映射的增量更新,以使得所述ALTO客戶端使由所述ALTO客戶端存儲(chǔ)的第三ALTO 網(wǎng)絡(luò)映射與所述第一網(wǎng)絡(luò)的所述第二 ALTO網(wǎng)絡(luò)映射相一致。
13.根據(jù)權(quán)利要求1至12所述的方法,其中,所述第一ALTO服務(wù)器包括路由器,并且其中,所述第二網(wǎng)絡(luò)包括內(nèi)容分發(fā)網(wǎng)絡(luò)。
14.一種設(shè)備,包括用于執(zhí)行權(quán)利要求1至12中的方法的裝置。
全文摘要
本發(fā)明公開了一種用于內(nèi)容分發(fā)網(wǎng)絡(luò)的應(yīng)用層流量優(yōu)化增強(qiáng),通過使用ALTO服務(wù),連網(wǎng)應(yīng)用程序可以通過ALTO協(xié)議從ISP或內(nèi)容提供商請求關(guān)于下層網(wǎng)絡(luò)拓?fù)涞男畔ⅰLTO服務(wù)以修改網(wǎng)絡(luò)資源消費(fèi)模式為目標(biāo)而提供諸如網(wǎng)絡(luò)資源的優(yōu)先選擇的信息,同時(shí)保持或改進(jìn)應(yīng)用程序性能。在一個(gè)實(shí)例中,該文本描述了一種ALTO服務(wù)器,其使第一網(wǎng)絡(luò)的網(wǎng)絡(luò)映射和成本映射與第二網(wǎng)絡(luò)的網(wǎng)絡(luò)映射和成本映射相交叉,以產(chǎn)生包括一個(gè)或多個(gè)主要成本條目的主要成本映射,每個(gè)主要成本條目均表示從第一網(wǎng)絡(luò)中的端點(diǎn)越過網(wǎng)絡(luò)至第二網(wǎng)絡(luò)中的端點(diǎn)的成本。通過利用主要成本映射,轉(zhuǎn)向器可以選擇在第一網(wǎng)絡(luò)中的優(yōu)選節(jié)點(diǎn),由此服務(wù)從第二網(wǎng)絡(luò)中的主機(jī)所接收到的內(nèi)容請求。
文檔編號(hào)H04L29/06GK102316091SQ20111014139
公開日2012年1月11日 申請日期2011年5月27日 優(yōu)先權(quán)日2010年5月28日
發(fā)明者揚(yáng)·梅德維德, 薩蒂什·拉格胡納斯, 雷納爾多·皮諾, 馬尤雷思·巴克什 申請人:叢林網(wǎng)絡(luò)公司