欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對(duì)等內(nèi)容分布云中的拓?fù)涔芾淼闹谱鞣椒?

文檔序號(hào):6453876閱讀:114來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):對(duì)等內(nèi)容分布云中的拓?fù)涔芾淼闹谱鞣椒?br> 技術(shù)領(lǐng)域
本描述一般地涉及對(duì)等內(nèi)容分布,尤其涉及對(duì)等內(nèi)容分布云中的拓?fù)涔?理。本描述尤其涉及在注冊(cè)者節(jié)點(diǎn)處使用算法來(lái)管理對(duì)等云形狀,但決不僅限 于此。
祖旦
^r爾
對(duì)等文件共享云中的拓?fù)涔芾硎且粋€(gè)亟待針對(duì)性解決以增加云的全部或
大多數(shù)成員能夠接收正被共享的內(nèi)容的速度和簡(jiǎn)易性的重大問(wèn)題。
在過(guò)去,使用提供基于基礎(chǔ)設(shè)施解決方案的專(zhuān)用服務(wù)器場(chǎng)實(shí)現(xiàn)了大規(guī)模的 內(nèi)容分布。在此類(lèi)方法中,每個(gè)請(qǐng)求內(nèi)容的客戶(hù)機(jī)形成到服務(wù)器場(chǎng)處一服務(wù)器 的專(zhuān)用高帶寬連接并在需要時(shí)下載內(nèi)容。此類(lèi)解決方案對(duì)必須提供并維護(hù)服務(wù) 器場(chǎng)的內(nèi)容提供商而言是昂貴的。圖i示出具有服務(wù)器i和客戶(hù)機(jī)2的此類(lèi)解 決方案,其中每個(gè)客戶(hù)機(jī)都具有至一個(gè)或多個(gè)服務(wù)器的直接連接。此類(lèi)解決方 案不僅對(duì)內(nèi)容提供商而言是昂貴的,并且它不夠健壯,因?yàn)榉?wù)器處的故障會(huì) 導(dǎo)致內(nèi)容無(wú)法向許多客戶(hù)機(jī)提供。此外,該解決方案不能輕易擴(kuò)容,因?yàn)槊總€(gè) 服務(wù)器支持的客戶(hù)機(jī)數(shù)目有限。
更近期一些時(shí),基于使用在其中各節(jié)點(diǎn)共享其資源(存儲(chǔ)、CPU、帶寬)
的協(xié)作網(wǎng)絡(luò)的分布式體系結(jié)構(gòu)出現(xiàn)了用于內(nèi)容分布的新范例。
協(xié)作內(nèi)容分布解決方案固有地可自擴(kuò)容,因?yàn)橄到y(tǒng)的帶寬容量隨著更多節(jié)
點(diǎn)的到來(lái)而增加每個(gè)新節(jié)點(diǎn)請(qǐng)求來(lái)自其他節(jié)點(diǎn)的服務(wù)同時(shí)也向其他節(jié)點(diǎn)提供
服務(wù)。因?yàn)槊總€(gè)新節(jié)點(diǎn)都貢獻(xiàn)資源,所以系統(tǒng)容量按需增加,從而導(dǎo)致無(wú)限的 系統(tǒng)擴(kuò)容能力。通過(guò)協(xié)作,文件源或即服務(wù)器不再需要增加其資源來(lái)容適更大
的用戶(hù)總數(shù);這也就提供了對(duì)"閃瞬擁擠"——通常會(huì)導(dǎo)致受影響的服務(wù)器崩 潰的巨大且突然的話(huà)務(wù)浪涌——的順應(yīng)力。因此,終端-系統(tǒng)協(xié)作解決方案可 用于在保持原始服務(wù)器成本很低的同時(shí)快速高效地將軟件更新、關(guān)鍵補(bǔ)丁、視
頻、和其他的大型文件投遞給非常大量的用戶(hù)。
本發(fā)明涉及但決不僅限于能使用網(wǎng)絡(luò)拓?fù)涔芾砗?或云形狀管理來(lái)影響對(duì) 等內(nèi)容分布的性能的方式。
概述
提供本概述以便以簡(jiǎn)化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的概念 的選集。本概述并非旨在標(biāo)識(shí)出要求保護(hù)的主題的關(guān)鍵特征或必要特征,亦非 旨在用于限定要求保護(hù)的主題的范圍。
在對(duì)等內(nèi)容分布云中使用跟蹤者節(jié)點(diǎn)來(lái)實(shí)現(xiàn)拓?fù)涔芾磉^(guò)程。跟蹤者節(jié)點(diǎn)具 有關(guān)于可用對(duì)等節(jié)點(diǎn)的信息并輔助對(duì)等節(jié)點(diǎn)找到可用來(lái)連接的其它對(duì)等節(jié)點(diǎn)。 描述可供在跟蹤者節(jié)點(diǎn)處使用的用于選擇哪些對(duì)等節(jié)點(diǎn)作為形成連接的潛在 對(duì)等節(jié)點(diǎn)來(lái)返回的各種算法。此外,描述允許高效率擴(kuò)增對(duì)等云中跟蹤者節(jié)點(diǎn) 的架構(gòu)和算法。
一個(gè)示例提供控制包括至少一個(gè)跟蹤者節(jié)點(diǎn)和多個(gè)對(duì)等節(jié)點(diǎn)的對(duì)等內(nèi)容 分布云的形狀的方法。該示例方法包括在跟蹤者節(jié)點(diǎn)處的以下步驟
接收來(lái)自這些對(duì)等節(jié)點(diǎn)之一的請(qǐng)求關(guān)于可用來(lái)連接的一個(gè)或多個(gè)其它 對(duì)等節(jié)點(diǎn)的信息的請(qǐng)求;
訪(fǎng)問(wèn)關(guān)于與該跟蹤者節(jié)點(diǎn)相關(guān)聯(lián)的多個(gè)可用對(duì)等節(jié)點(diǎn)的信息;
在一個(gè)或多個(gè)準(zhǔn)則的基礎(chǔ)上并且在所訪(fǎng)問(wèn)到的信息的基礎(chǔ)上來(lái)選擇這 些可用對(duì)等節(jié)點(diǎn)中的一個(gè)或多個(gè);
向作出請(qǐng)求的對(duì)等節(jié)點(diǎn)發(fā)送關(guān)于所選擇的可用對(duì)等節(jié)點(diǎn)的信息。 這提供跟蹤者節(jié)點(diǎn)可用于以簡(jiǎn)單和有效的方式控制云的形狀的優(yōu)勢(shì)。在跟
蹤者節(jié)點(diǎn)處納入包括該準(zhǔn)則以及將該準(zhǔn)則與所訪(fǎng)問(wèn)到的信息聯(lián)用來(lái)過(guò)濾可用 對(duì)等節(jié)點(diǎn)的方式的智能。術(shù)語(yǔ)與跟蹤者節(jié)點(diǎn)"相關(guān)聯(lián)的對(duì)等節(jié)點(diǎn)"用于指為該 跟蹤者節(jié)點(diǎn)所知曉的任何對(duì)等節(jié)點(diǎn),例如是作為已經(jīng)向該跟蹤者節(jié)點(diǎn)注冊(cè)的結(jié) 果、或作為任何其它合適過(guò)程的結(jié)果而被知曉。由此作出請(qǐng)求的對(duì)等節(jié)點(diǎn)未必 要與該跟蹤者節(jié)點(diǎn)相關(guān)聯(lián)。作出此類(lèi)請(qǐng)求的對(duì)等節(jié)點(diǎn)不需已向該跟蹤者節(jié)點(diǎn)注 冊(cè)。術(shù)語(yǔ)"與跟蹤者節(jié)點(diǎn)相關(guān)聯(lián)的可用對(duì)等節(jié)點(diǎn)"用于指與該跟蹤者節(jié)點(diǎn)相關(guān) 聯(lián)的對(duì)等節(jié)點(diǎn)中可被該跟蹤者節(jié)點(diǎn)選擇的任何對(duì)等節(jié)點(diǎn)。
在另一個(gè)示例中描述相應(yīng)的跟蹤者節(jié)點(diǎn)。該示例跟蹤者節(jié)點(diǎn)用于控制包括 多個(gè)對(duì)等節(jié)點(diǎn)的對(duì)等內(nèi)容分布云的形狀的方法。該跟蹤者節(jié)點(diǎn)包括
輸入,其被安排成接收來(lái)自這些對(duì)等節(jié)點(diǎn)之一的請(qǐng)求關(guān)于可用來(lái)連接
的一個(gè)或多個(gè)其它對(duì)等節(jié)點(diǎn)的信息的請(qǐng)求;
用于訪(fǎng)問(wèn)關(guān)于與該跟蹤者節(jié)點(diǎn)相關(guān)聯(lián)的多個(gè)可用對(duì)等節(jié)點(diǎn)的信息的裝
置;
處理器,其被安排成在一個(gè)或多個(gè)準(zhǔn)則的基礎(chǔ)上并且在所訪(fǎng)問(wèn)到的信 息的基礎(chǔ)上選擇這些可用對(duì)等節(jié)點(diǎn)中的一個(gè)或多個(gè);
輸出,其被安排成向所述作出請(qǐng)求的對(duì)等節(jié)點(diǎn)發(fā)送關(guān)于所選擇的可用 對(duì)等節(jié)點(diǎn)的信息。
優(yōu)選地,訪(fǎng)問(wèn)到的信息包括由對(duì)等節(jié)點(diǎn)在向跟蹤者節(jié)點(diǎn)注冊(cè)期間提供的信 息。在另一個(gè)實(shí)施例中,訪(fǎng)問(wèn)到的信息還包括或僅包括由對(duì)等節(jié)點(diǎn)作為其對(duì)可 用來(lái)連接對(duì)等節(jié)點(diǎn)的請(qǐng)求的一部分提供的的信息。
優(yōu)選地,由對(duì)等節(jié)點(diǎn)作為其對(duì)可用來(lái)連接的對(duì)等節(jié)點(diǎn)的請(qǐng)求的一部分提供 的的信息包括關(guān)于作出請(qǐng)求的對(duì)等節(jié)點(diǎn)目前不想連接的對(duì)等節(jié)點(diǎn)的詳情??杀?包括在該請(qǐng)求中的其它信息包括作出請(qǐng)求的對(duì)等節(jié)點(diǎn)的地理位置、其網(wǎng)際協(xié)議 地址以及諸如再下一段中所提到的其它合適的信息。
優(yōu)選地,所述一個(gè)或多個(gè)準(zhǔn)則選自于以下各項(xiàng)中的任何項(xiàng)定域、訂閱級(jí) 別、服務(wù)質(zhì)量級(jí)別、相對(duì)上傳能力、相對(duì)下載能力、偽隨機(jī)選擇、現(xiàn)存對(duì)等連 接相對(duì)數(shù)目、可用對(duì)等內(nèi)容相對(duì)量、歷史對(duì)等節(jié)點(diǎn)行為信息、預(yù)報(bào)對(duì)等節(jié)點(diǎn)行 為信息、相對(duì)本地資源、相對(duì)節(jié)點(diǎn)可訪(fǎng)問(wèn)性、預(yù)測(cè)成對(duì)連通性、以及不透明元 數(shù)據(jù)。術(shù)語(yǔ)"不透明元數(shù)據(jù)"是指在語(yǔ)義上對(duì)于跟蹤者是未知的信息。
優(yōu)選地,訪(fǎng)問(wèn)到的信息包括以下之中的一者或多者定域信息、訂閱信息、
服務(wù)質(zhì)量信息、上傳速度信息、下載速度信息、現(xiàn)存對(duì)等連接數(shù)目、可用對(duì)等 內(nèi)容量、歷史對(duì)等節(jié)點(diǎn)行為信息、預(yù)報(bào)對(duì)等節(jié)點(diǎn)行為信息、本地資源信息、互 聯(lián)網(wǎng)地址類(lèi)型、節(jié)點(diǎn)可訪(fǎng)問(wèn)性信息、預(yù)測(cè)成對(duì)連通性信息、以及不透明元數(shù)據(jù)。
例如,定域信息選自于以下之中的一者或多者網(wǎng)際協(xié)議地址、網(wǎng)絡(luò)坐標(biāo) 系統(tǒng)信息、網(wǎng)際協(xié)議地址到地理位置數(shù)據(jù)庫(kù)結(jié)果、關(guān)于對(duì)等節(jié)點(diǎn)是在公網(wǎng)還是 專(zhuān)網(wǎng)區(qū)域中的信息、郵政地址信息、全球定位系統(tǒng)信息、網(wǎng)絡(luò)定域信息和地理
信息o
在另一個(gè)示例中,定域信息包括網(wǎng)際協(xié)議地址前綴的比較。 另一個(gè)示例提供包括計(jì)算機(jī)程序代碼裝置的計(jì)算機(jī)程序,該計(jì)算機(jī)程序代 碼裝置適用于在該程序在計(jì)算機(jī)上運(yùn)行時(shí)執(zhí)行上述任何方法中任何方法的所 有步驟。該計(jì)算機(jī)程序可以在計(jì)算機(jī)可讀介質(zhì)上實(shí)施。
在另一個(gè)示例中,描述包括多個(gè)如上所述的跟蹤者節(jié)點(diǎn)的對(duì)等內(nèi)容分布 云。在一個(gè)示例中,與每個(gè)跟蹤者節(jié)點(diǎn)相關(guān)聯(lián)的對(duì)等節(jié)點(diǎn)不相同并且每個(gè)跟蹤 者節(jié)點(diǎn)僅能夠訪(fǎng)問(wèn)關(guān)于其關(guān)聯(lián)對(duì)等節(jié)點(diǎn)的信息。在另一個(gè)示例中,每個(gè)對(duì)等節(jié) 點(diǎn)與這些跟蹤者節(jié)點(diǎn)中的一個(gè)以上相關(guān)聯(lián)。例如,通過(guò)向一個(gè)以上跟蹤者注冊(cè) 來(lái)實(shí)現(xiàn)此關(guān)聯(lián)。
例如,對(duì)等內(nèi)容分布云包括被安排成向這些跟蹤者節(jié)點(diǎn)中不同的各個(gè)作出 對(duì)可用來(lái)連接的其它對(duì)等節(jié)點(diǎn)的請(qǐng)求的對(duì)等節(jié)點(diǎn)。
那些對(duì)等節(jié)點(diǎn)例如被安排成基于以下準(zhǔn)則中的任何一者或多者來(lái)選擇要
向哪個(gè)跟蹤者節(jié)點(diǎn)請(qǐng)求其它對(duì)等節(jié)點(diǎn)的詳情隨機(jī)選擇、輪流選擇每個(gè)跟蹤者、 選擇除之前所使用的那一個(gè)跟蹤者之外的任何跟蹤者、僅從該對(duì)等節(jié)點(diǎn)與之相 關(guān)聯(lián)的跟蹤者中選擇。
另一個(gè)示例提供可供在包括多個(gè)如上所述的跟蹤者節(jié)點(diǎn)的對(duì)等內(nèi)容分布 云中使用的對(duì)等節(jié)點(diǎn),所述對(duì)等節(jié)點(diǎn)被安排成重復(fù)地改變向其請(qǐng)求可用來(lái)連接 的其它對(duì)等節(jié)點(diǎn)的詳情的跟蹤者節(jié)點(diǎn)。在另一個(gè)示例中,該對(duì)等節(jié)點(diǎn)被安排成 向這些跟蹤者節(jié)點(diǎn)中的一個(gè)以上注冊(cè)。
例如,該對(duì)等節(jié)點(diǎn)被安排成在作出每個(gè)對(duì)可用來(lái)連接的其它對(duì)等節(jié)點(diǎn)的詳 情的請(qǐng)求之前先改變跟蹤者節(jié)點(diǎn)。
本文描述的各種方法可由存儲(chǔ)介質(zhì)上機(jī)器可讀形式的軟件執(zhí)行。該軟件可 適合于在并行處理器或串行處理器上執(zhí)行,以使得各方法步驟能以任何合適的 次序或是同時(shí)執(zhí)行。
這肯定了軟件能夠是有價(jià)值的、可以單獨(dú)交易的商品。它旨在涵蓋在"啞" 或標(biāo)準(zhǔn)硬件上運(yùn)行或控制其來(lái)執(zhí)行期望的功能的軟件,(且因此,軟件本質(zhì)上 定義了寄存器的功能,并且因此可被稱(chēng)為寄存器——甚至是在它與其標(biāo)準(zhǔn)硬件 結(jié)合之前)。出于類(lèi)似的理由,其還旨在涵蓋"描述"或者定義硬件配置的軟
件,諸如HDL (硬件描述語(yǔ)言)軟件,其用于設(shè)計(jì)硅芯片,或用于配置通用 可編程芯片以執(zhí)行期望的功能。
通過(guò)參考下面結(jié)合附圖考慮的詳細(xì)描述更好地理解伴隨特征,它們中的許 多將更易于領(lǐng)會(huì)。


在附圖的啟發(fā)下閱讀以下詳細(xì)描述將更好地理解本描述,附圖中
圖1是使用服務(wù)器場(chǎng)的現(xiàn)有技術(shù)內(nèi)容分布系統(tǒng)的示意圖2是對(duì)等文件共享云的示意圖3是選擇對(duì)等節(jié)點(diǎn)的方法的流程圖4是有網(wǎng)絡(luò)區(qū)域的對(duì)等云的示意圖5是拓?fù)涔芾磉^(guò)程的流程圖6是有進(jìn)行數(shù)據(jù)鏡像的多個(gè)跟蹤者節(jié)點(diǎn)的對(duì)等云的示意圖; 圖7是有不進(jìn)行數(shù)據(jù)鏡像的多個(gè)跟蹤者節(jié)點(diǎn)的對(duì)等云的示意圖; 圖8是在對(duì)等節(jié)點(diǎn)處的方法的流程圖; 圖9是跟蹤者節(jié)點(diǎn)的示意圖。 使用相同的附圖標(biāo)號(hào)指示附圖中相似的部分。
詳細(xì)描述
下面結(jié)合附圖提供的詳細(xì)描述旨在作為對(duì)本發(fā)明各示例的描述,而非旨在 表示可構(gòu)造或利用本發(fā)明示例的僅有形式。本描述闡述該示例的功能以及用于 構(gòu)造和操作該示例的步驟序列。然而,相同或等效的功能和序列可由不同的示 例來(lái)完成。
本文中使用術(shù)語(yǔ)"云"來(lái)指在通信網(wǎng)絡(luò)中可以訪(fǎng)問(wèn)對(duì)等文件共享協(xié)議并使 用該協(xié)議來(lái)試圖獲得諸如正被分布的文件等的特定某件內(nèi)容的副本的多個(gè)節(jié) 點(diǎn)。云在某些文獻(xiàn)中也被稱(chēng)為圖。云中諸節(jié)點(diǎn)各自具有使用該協(xié)議的到其中其 他節(jié)點(diǎn)的一個(gè)或多個(gè)當(dāng)前連接。由此當(dāng)節(jié)點(diǎn)丟掉或是形成到云中已有節(jié)點(diǎn)的連 接時(shí),該節(jié)點(diǎn)就能加入或離開(kāi)云。各連接無(wú)需總是活躍地用于內(nèi)容分布,雖然 這些連接需要適合使用該特定協(xié)議來(lái)這樣做,而這可能使用也可能不使用網(wǎng)絡(luò)
編碼。連接或可以是單向或可以是雙向連接。在本文描述的特定示例中,所有 的連接都是單向的,從而使得這些云是非對(duì)稱(chēng)的,雖然本發(fā)明可適用于并涵蓋 在其中各連接是雙向的且單個(gè)連接支持上傳和下載兩個(gè)方向上的話(huà)務(wù)的對(duì)稱(chēng) 云。給定節(jié)點(diǎn)也可以同時(shí)是一個(gè)以上云的成員。例如,第一個(gè)云中的節(jié)點(diǎn)正試 圖獲得正被共享的視頻的副本而第二個(gè)云中的節(jié)點(diǎn)正試圖獲得數(shù)字靜止圖像 文件夾的副本。云可以相互獨(dú)立,也可以部分或完全重疊。
圖2是包括經(jīng)由互聯(lián)網(wǎng)11或任何其他適合的通信網(wǎng)絡(luò)連通的多個(gè)節(jié)點(diǎn)的 對(duì)等文件分布云10的示意圖。云本身可以包括多得多的節(jié)點(diǎn),但為了清楚僅 示出不到十個(gè)節(jié)點(diǎn)。其他節(jié)點(diǎn)盡管既非對(duì)等文件共享參與者也非云的成員但也 可以連接在云成員之間或直接連接到云成員的方式出現(xiàn),這些并未示出。
在云10中提供一個(gè)或多個(gè)種子節(jié)點(diǎn)12。種子節(jié)點(diǎn)是內(nèi)容——也稱(chēng)為文 件——起源于其中的節(jié)點(diǎn)。例如,假設(shè)某公司有想公開(kāi)共享給云成員的產(chǎn)品演 示視頻??蓪⒃撐募胖迷诜N子節(jié)點(diǎn)上。該種子節(jié)點(diǎn)通常是"一直在線(xiàn)"的, 這就使得內(nèi)容文件在相當(dāng)長(zhǎng)的時(shí)段(維護(hù)時(shí)段等除外)內(nèi)可以從其上傳。通常 情況下,種子節(jié)點(diǎn)主動(dòng)上傳內(nèi)容而不主動(dòng)下載內(nèi)容。云中僅有有限且相對(duì)少量 的節(jié)點(diǎn)能夠同時(shí)從種子節(jié)點(diǎn)下載內(nèi)容。種子節(jié)點(diǎn)可以使用也可以不使用對(duì)等文 件共享協(xié)議來(lái)將內(nèi)容上傳至云中的其他成員。然而,那些其他成員使用對(duì)等文 件共享協(xié)議來(lái)繼續(xù)與云成員共享該內(nèi)容或內(nèi)容的各部分。由此其他云成員在其 間允許內(nèi)容從它們自身被上傳的時(shí)段內(nèi)可有效地充當(dāng)種子節(jié)點(diǎn),但在此時(shí)段期 間并不主動(dòng)下載內(nèi)容。在某些情形中, 一旦種子節(jié)點(diǎn)12已將內(nèi)容傳送至云中, 就可能是該種子節(jié)點(diǎn)12下線(xiàn)而云10仍起作用。
在云10中提供了一個(gè)或多個(gè)跟蹤者節(jié)點(diǎn)14 (也被成為注冊(cè)者節(jié)點(diǎn))。跟
蹤者節(jié)點(diǎn)14具有關(guān)于云成員的諸如某對(duì)等節(jié)點(diǎn)是否正參與在該云中等的信息
并且具有任何可供共享的信息。這種跟蹤者節(jié)點(diǎn)幫助云成員找到具有其所請(qǐng)求 的內(nèi)容的其他云成員。
在云中還存在多個(gè)對(duì)等節(jié)點(diǎn)16、 19,其也被稱(chēng)為客戶(hù)機(jī)。對(duì)等節(jié)點(diǎn)是請(qǐng) 求云中正被共享的內(nèi)容并且可以也共享或者不共享該內(nèi)容中其已獲得的部分 的節(jié)點(diǎn)。對(duì)等節(jié)點(diǎn)可如上所提及地充當(dāng)臨時(shí)種子。在圖l所示的示例中,對(duì)等 節(jié)點(diǎn)16位于諸如互聯(lián)網(wǎng)等公網(wǎng)中,而對(duì)等節(jié)點(diǎn)19位于防火墻和/或網(wǎng)絡(luò)地址轉(zhuǎn)
譯器(NAT) 18后面的企業(yè)或家庭專(zhuān)網(wǎng)中。
術(shù)語(yǔ)"吸血鬼"用于指只下載但不上傳內(nèi)容的對(duì)等節(jié)點(diǎn);吸血鬼是從系統(tǒng) 獲取但給予很少或不給予回報(bào)的寄生者。例如,吸血鬼可以是頻繁下載內(nèi)容但 只提供很少或不提供對(duì)其他對(duì)等節(jié)點(diǎn)的上傳能力的節(jié)點(diǎn)。
術(shù)語(yǔ)"孤獨(dú)者"用于指尋求加入對(duì)等內(nèi)容分布云但尚未形成到云中對(duì)等節(jié) 點(diǎn)的最小數(shù)目個(gè)連接的個(gè)體節(jié)點(diǎn)。
正如在我們于2005年12月22日提交的較早歐洲專(zhuān)利申請(qǐng)no.0527099.4 中所描述的,我們開(kāi)發(fā)出了一種拓?fù)涔芾磉^(guò)程,其涉及在某些境況下移除或"拆 掉"節(jié)點(diǎn)之間的連接以試圖用更為優(yōu)化的連接來(lái)取代這些連接。為了這樣做, 我們創(chuàng)建了要在對(duì)等節(jié)點(diǎn)處實(shí)現(xiàn)的多個(gè)條件或規(guī)則。這些規(guī)則中有許多優(yōu)選是 被周期性(諸如,經(jīng)過(guò)一分鐘)而非即時(shí)被評(píng)估,但非必須如此。這有助于防 止網(wǎng)絡(luò)中不必要的顛簸?,F(xiàn)給出這些條件或規(guī)則中的一些的示例
對(duì)每個(gè)對(duì)等節(jié)點(diǎn)規(guī)定它能與其鄰節(jié)點(diǎn)形成的連接的預(yù)先指定的最大數(shù) 目以及那些連接的預(yù)先指定的最小數(shù)目。鄰節(jié)點(diǎn)是在單個(gè)邏輯"跳躍" 內(nèi)與其形成直接連接的節(jié)點(diǎn)。出于本文的目的,亦即那些間接連接的
節(jié)點(diǎn)不被認(rèn)為是鄰節(jié)點(diǎn)。例如,對(duì)等節(jié)點(diǎn)為了參與到云中所必須具有 的連接的最小數(shù)目可約為4。對(duì)等節(jié)點(diǎn)為了留在云中所能夠具有的最 大連接數(shù)典型地可在數(shù)十的數(shù)量級(jí)上。
如果任何節(jié)點(diǎn)已空閑了長(zhǎng)于指定的閾值時(shí)段,或等待通知已超過(guò)指定 的閾值時(shí)段,則斷開(kāi)連接。
如果作為斷開(kāi)連接的結(jié)果或其它原因而使得連接數(shù)目低于最小值,則 向跟蹤者請(qǐng)求可用來(lái)連接的對(duì)等節(jié)點(diǎn)。
如果任何連接正以低于指定下載速率的速率下載并且在同一節(jié)點(diǎn)處有 同樣快或者更快的活躍下載,則斷開(kāi)連接。
如果任何連接正以低于指定上傳閾值的速率上傳,則斷開(kāi)連接。
如果有下載連接空閑并且需要更多的下載,則請(qǐng)求在空閑連接上下載。
如果活躍的上傳或下載連接太少,則向跟蹤者請(qǐng)求更多可用來(lái)連接的 對(duì)等節(jié)點(diǎn),隨后用上傳和下載連接請(qǐng)求兩者與其連接。
每個(gè)節(jié)點(diǎn)為上傳和下載內(nèi)容發(fā)起分別的連接(在云是非對(duì)稱(chēng)的情形
中)。
如果某節(jié)點(diǎn)在本地已有全部?jī)?nèi)容,則該節(jié)點(diǎn)將不發(fā)起或接受下載連接。
如果某節(jié)點(diǎn)在本地已有全部?jī)?nèi)容,則該節(jié)點(diǎn)可以增大其上傳連接限量。
除空閑、下載和上傳狀態(tài)之外,我們還指定其中連接可被稱(chēng)為"通知" 狀態(tài)的新?tīng)顟B(tài)。通知狀態(tài)在某對(duì)等節(jié)點(diǎn)請(qǐng)求某連接上的下載但遠(yuǎn)程對(duì) 等節(jié)點(diǎn)無(wú)有用內(nèi)容可供應(yīng)的情況下發(fā)生。其還可在對(duì)等節(jié)點(diǎn)向跟蹤者 請(qǐng)求信息但該跟蹤者沒(méi)有新的對(duì)等節(jié)點(diǎn)信息可供應(yīng)的情況下出現(xiàn)。
如果在某連接的下載側(cè)處的節(jié)點(diǎn)的下載連接中有大于指定數(shù)目個(gè)處于 通知狀態(tài),則斷開(kāi)那些處于通知狀態(tài)的連接中的一個(gè)或多個(gè)。
如果在某連接的上傳側(cè)處的節(jié)點(diǎn)的上傳連接中有大于指定數(shù)目個(gè)處于 通知狀態(tài),則斷開(kāi)那些連接之一。
允許連接在"通知"狀態(tài)下等待長(zhǎng)于其被允許保持在"空閑"狀態(tài)下 的時(shí)間。
并非必須使用所有這些規(guī)則或條件。即,可在對(duì)等節(jié)點(diǎn)處的方法中實(shí)現(xiàn)這 些規(guī)則或條件中的一者或多者。
如在以上所引用的我們較早的歐洲專(zhuān)利申請(qǐng)中所提到的,作為網(wǎng)絡(luò)異質(zhì)性
的結(jié)果而產(chǎn)生的一個(gè)問(wèn)題涉及公網(wǎng)和專(zhuān)網(wǎng)以及節(jié)點(diǎn)是否可到達(dá)。例如,圖2示 出公網(wǎng)11 (在本例中為因特網(wǎng))以及兩個(gè)路由器或網(wǎng)絡(luò)地址轉(zhuǎn)譯器(NAT) 18。公網(wǎng)11內(nèi)的節(jié)點(diǎn)無(wú)法到達(dá)連接在NAT 18后面的節(jié)點(diǎn)19,除非NAT 18 的所有者特別啟用了這一點(diǎn),而這是需要組網(wǎng)專(zhuān)長(zhǎng)的動(dòng)作。例如,連接在NAT 18后面的企業(yè)專(zhuān)網(wǎng)中的節(jié)點(diǎn)通常具有在該企業(yè)網(wǎng)內(nèi)唯一的唯一性地址。然而, 這些地址在互聯(lián)網(wǎng)上不是唯一的。如果NAT或防火墻19后面的節(jié)點(diǎn)具有公共 節(jié)點(diǎn)16之一的網(wǎng)絡(luò)地址,則能夠使用該地址與該公共節(jié)點(diǎn)建立連接。但是反 之則不盡然。也就是說(shuō),若沒(méi)有關(guān)于NAT處的之前已在其處建立了必需綁定 的端口的網(wǎng)絡(luò)地址的詳情,則公共互聯(lián)網(wǎng)中的節(jié)點(diǎn)16就無(wú)法與該NAT后面的 節(jié)點(diǎn)19形成連接。正因?yàn)槿绱耍鳛閷?duì)等文件共享云的一部分的專(zhuān)用節(jié)點(diǎn)19 會(huì)發(fā)現(xiàn)與公共節(jié)點(diǎn)相比,其要獲得內(nèi)容是相對(duì)困難的。如果云中專(zhuān)用節(jié)點(diǎn)的比 例大于約50%,則對(duì)等內(nèi)容分布會(huì)出現(xiàn)顯著問(wèn)題。在實(shí)踐中,我們已經(jīng)發(fā)現(xiàn)對(duì) 等內(nèi)容分布云中專(zhuān)用節(jié)點(diǎn)的比例趨于達(dá)到約70%。為了針對(duì)性解決這一問(wèn)題,
因此我們加權(quán)我們的網(wǎng)絡(luò)"攪動(dòng)"算法以偏向于丟掉公共而非專(zhuān)用連接。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,我們使用'彈性'最大連接數(shù),其被設(shè)在
幾十?dāng)?shù)量級(jí)的數(shù)目但在某些情況下可被增大。例如,如果需要更多連接,則這
些連接可以被建立達(dá)指定時(shí)段。類(lèi)似地,我們?cè)谀承?shí)施例中使用彈性最小連
接數(shù)。例如,在某些情況下,作為網(wǎng)絡(luò)攪動(dòng)算法的一部分,要求當(dāng)前容納最小
數(shù)目個(gè)連接的節(jié)點(diǎn)丟掉那些連接之一。彈性最小值允許該節(jié)點(diǎn)盡管具有過(guò)少的
連接但仍留能在云中達(dá)指定時(shí)間。在一個(gè)優(yōu)選實(shí)施例中,彈性最小值使得現(xiàn)存 對(duì)等節(jié)點(diǎn)在其直至到達(dá)零連接之前皆被認(rèn)為是云成員。
我們已經(jīng)發(fā)現(xiàn)以下的'清理'規(guī)則或拓?fù)涔芾磉^(guò)程尤為有效
安排每個(gè)對(duì)等節(jié)點(diǎn)每60秒或在任何其它合適的時(shí)間間隔之后執(zhí)行一 次'清理'
在該'清理'期間拆掉任何已經(jīng)空閑約5分鐘或更久并且不處于通知 狀態(tài)的空閑連接;和/或
在該'清理'期間拆掉任何處于通知狀態(tài)已長(zhǎng)于約IO分鐘或者達(dá)約兩 倍于最大允許空閑時(shí)間的時(shí)間的連接。
我們已經(jīng)發(fā)現(xiàn)以下的'網(wǎng)絡(luò)攪動(dòng)'規(guī)則或拓?fù)涔芾磉^(guò)程尤為有效
在對(duì)等節(jié)點(diǎn)處獲得關(guān)于每個(gè)連接上的相對(duì)內(nèi)容分布的信息
隨機(jī)選擇這些連接之一
丟掉所選連接,除非該連接上的相對(duì)內(nèi)容分布是最差的
等待指定時(shí)間間隔并且隨后重復(fù)此方法。
對(duì)等節(jié)點(diǎn)初始化
當(dāng)對(duì)等節(jié)點(diǎn)初始化時(shí),它必須知曉跟蹤者的網(wǎng)絡(luò)端點(diǎn)。為了在云中第一次 初始化,它連接至跟蹤者并請(qǐng)求該對(duì)等節(jié)點(diǎn)有興趣下載或共享的特定文件的描 述。如果客戶(hù)機(jī)已經(jīng)從先前的會(huì)話(huà)中得到了該數(shù)據(jù),則它與跟蹤者進(jìn)行核對(duì)以 確認(rèn)該內(nèi)容仍應(yīng)被供應(yīng)。在獲得或確認(rèn)文件描述之后,認(rèn)為該對(duì)等節(jié)點(diǎn)已被初 始化。
只要對(duì)等節(jié)點(diǎn)是活躍的并且至少有一個(gè)內(nèi)容塊可供共享,它就向跟蹤者注 冊(cè)其自己。它必須周期性地刷新該注冊(cè),因?yàn)槠鋾?huì)自動(dòng)超時(shí)。對(duì)等節(jié)點(diǎn)還應(yīng)該
在其離開(kāi)云時(shí)向跟蹤者注銷(xiāo)。
除獲得文件信息和向跟蹤者注冊(cè)之外,對(duì)等節(jié)點(diǎn)還可周期性地詢(xún)問(wèn)跟蹤者 以找到其它對(duì)等節(jié)點(diǎn)。該詢(xún)問(wèn)包括對(duì)跟蹤者的請(qǐng)求,接著跟蹤者向該對(duì)等節(jié)點(diǎn) 傳送零個(gè)或多個(gè)端點(diǎn)。
每件跟蹤者事務(wù)都能在分別建立和維護(hù)的連接上處置。連接壽命一般將為 單件事務(wù)。
從云斷開(kāi)連接
當(dāng)從云斷開(kāi)連接時(shí),對(duì)等節(jié)點(diǎn)完成以下各項(xiàng)
向跟蹤者發(fā)送消息,以將自己從云中的活躍參與者列表中刪除。
向每個(gè)鄰節(jié)點(diǎn)發(fā)送關(guān)閉該連接的請(qǐng)求,以讓鄰節(jié)點(diǎn)知曉該節(jié)點(diǎn)正在關(guān) 機(jī)。
刷新每個(gè)連接(以確保斷開(kāi)通知被遠(yuǎn)程接收到)并且隨后關(guān)閉該連接。 跟蹤者節(jié)點(diǎn)
如以上所提及的,跟蹤者節(jié)點(diǎn)14 (也被稱(chēng)為注冊(cè)者節(jié)點(diǎn))幫助云成員找 到具有內(nèi)容的其它云成員。安排活躍的對(duì)等節(jié)點(diǎn)向跟蹤者節(jié)點(diǎn)注冊(cè)并周期性地 刷新該注冊(cè)。例如, 一旦滿(mǎn)足了特定準(zhǔn)則——諸如有指定數(shù)目的內(nèi)容塊可供共 享,就可要求對(duì)等節(jié)點(diǎn)注冊(cè)。對(duì)等節(jié)點(diǎn)可周期性地詢(xún)問(wèn)其注冊(cè)了的跟蹤者以找 到其它對(duì)等節(jié)點(diǎn)。本發(fā)明至少在某些實(shí)施例中涉及跟蹤者節(jié)點(diǎn)能響應(yīng)于此類(lèi)請(qǐng) 求智能地返回對(duì)等節(jié)點(diǎn)信息以對(duì)云進(jìn)行塑形的方式。這樣,無(wú)需向?qū)Φ裙?jié)點(diǎn)作 任何修改,云"所有者"在跟蹤者節(jié)點(diǎn)處就能夠集中地選擇和實(shí)現(xiàn)不同的云塑 形機(jī)制。
現(xiàn)在參考圖3來(lái)描述將在此類(lèi)跟蹤者節(jié)點(diǎn)處實(shí)現(xiàn)以塑形對(duì)等云的一般化 方法。跟蹤者節(jié)點(diǎn)首先接收來(lái)自對(duì)等節(jié)點(diǎn)之一的請(qǐng)求關(guān)于可用來(lái)連接的一個(gè)或 多個(gè)其它對(duì)等節(jié)點(diǎn)的信息的請(qǐng)求(參見(jiàn)框30)。跟蹤者節(jié)點(diǎn)訪(fǎng)問(wèn)關(guān)于與其自己 相關(guān)聯(lián)的多個(gè)可用對(duì)等節(jié)點(diǎn)的信息(參見(jiàn)框31)。例如,當(dāng)前向該跟蹤者節(jié)點(diǎn) 注冊(cè)了的所有對(duì)等節(jié)點(diǎn)都與其相關(guān)聯(lián)。所訪(fǎng)問(wèn)的信息可以在注冊(cè)過(guò)程期間提 供、或與對(duì)可供連接的節(jié)點(diǎn)的請(qǐng)求一起提供、或以任何其它合適的方式提供。
例如,其可存儲(chǔ)在集中保存的拓?fù)湫畔?shù)據(jù)庫(kù)中或可通過(guò)主動(dòng)探測(cè)各對(duì)等節(jié)點(diǎn) 來(lái)獲得。
跟蹤者節(jié)點(diǎn)隨后在一個(gè)或多個(gè)準(zhǔn)則的基礎(chǔ)上并且在所訪(fǎng)問(wèn)到的信息的基
礎(chǔ)上選擇這些可用對(duì)等節(jié)點(diǎn)中的一個(gè)或多個(gè)(參見(jiàn)框32)。該準(zhǔn)則可為任何合 適類(lèi)型,并且其示例在以下討論。例如,該準(zhǔn)則可為使用對(duì)等節(jié)點(diǎn)提供的郵政 地址信息選擇在地理上最接近作出請(qǐng)求的對(duì)等節(jié)點(diǎn)的那些對(duì)等節(jié)點(diǎn)。在對(duì)等節(jié) 點(diǎn)于其注冊(cè)時(shí)供給郵政地址信息的情形中,作出對(duì)信息的請(qǐng)求的對(duì)等節(jié)點(diǎn)也必 須在該請(qǐng)求中提供其郵政地址。這是因?yàn)椴荒芗俣ㄗ鞒稣?qǐng)求的對(duì)等節(jié)點(diǎn)已經(jīng)注 冊(cè)。對(duì)等節(jié)點(diǎn)第一次請(qǐng)求關(guān)于其它對(duì)等節(jié)點(diǎn)的信息時(shí),其通常尚未注冊(cè),因?yàn)?其還沒(méi)有任何數(shù)據(jù)塊可供共享。
關(guān)于所選擇的可用對(duì)等節(jié)點(diǎn)的信息隨后被發(fā)送給作出請(qǐng)求的對(duì)等節(jié)點(diǎn)(參 見(jiàn)框33)。作出請(qǐng)求的對(duì)等節(jié)點(diǎn)可使用該信息來(lái)建立到所選擇的對(duì)等節(jié)點(diǎn)中的 一個(gè)或多個(gè)的新連接。
圖9是跟蹤者節(jié)點(diǎn)(14)更詳細(xì)的示意圖。該跟蹤者節(jié)點(diǎn)具有被安排成接 收對(duì)等節(jié)點(diǎn)請(qǐng)求的輸入90。其包括存儲(chǔ)著的準(zhǔn)則93、或從其它位置訪(fǎng)問(wèn)這些 準(zhǔn)則的裝置。提供使得跟蹤者節(jié)點(diǎn)14能夠訪(fǎng)問(wèn)關(guān)于與該跟蹤者節(jié)點(diǎn)相關(guān)聯(lián)的 可用對(duì)等節(jié)點(diǎn)的信息的對(duì)等節(jié)點(diǎn)信息接口 94。此信息可被存儲(chǔ)在跟蹤者節(jié)點(diǎn)自 身處或其它地方。提供處理器92用以如上所提及地選擇這些可用對(duì)等節(jié)點(diǎn)中 的一個(gè)或多個(gè)。輸出91允許將關(guān)于所選對(duì)等節(jié)點(diǎn)的信息發(fā)送給作出請(qǐng)求的對(duì) 等節(jié)點(diǎn)。
坊/《身游#:息
跟蹤者節(jié)點(diǎn)用于選擇對(duì)等節(jié)點(diǎn)的訪(fǎng)問(wèn)到的信息優(yōu)選地存儲(chǔ)在跟蹤者節(jié)點(diǎn) 自身處的數(shù)據(jù)庫(kù)中。替代地,其可從或在云內(nèi)或在云外的連接到該跟蹤者節(jié)點(diǎn) 的其它實(shí)體訪(fǎng)問(wèn)。在某些實(shí)施例中,訪(fǎng)問(wèn)到的信息可由對(duì)等節(jié)點(diǎn)在向跟蹤者節(jié) 點(diǎn)注冊(cè)期間提供。此類(lèi)信息在此被稱(chēng)為元數(shù)據(jù)。例如,注冊(cè)過(guò)程涉及使用消息 協(xié)議向跟蹤者節(jié)點(diǎn)發(fā)送信息分組。該分組具有預(yù)先指定的結(jié)構(gòu),其包括在其中 可攜帶元數(shù)據(jù)的凈荷或其它部分。在這種情形中,對(duì)等節(jié)點(diǎn)被安排成以預(yù)先指 定的以使得至少在某些實(shí)施例中其能在跟蹤者節(jié)點(diǎn)處被解釋的方式將元數(shù)據(jù)
插入到分組的凈荷或其它合適的結(jié)構(gòu)中。(在使用不透明元數(shù)據(jù)的情形中,其 在跟蹤者節(jié)點(diǎn)處并不被解釋而僅是簡(jiǎn)單地被提取。)元數(shù)據(jù)可包括任何合適的 關(guān)于在對(duì)等節(jié)點(diǎn)處的行為的信息或與對(duì)等節(jié)點(diǎn)相關(guān)聯(lián)的其它信息。訪(fǎng)問(wèn)到的信 息還可由對(duì)等節(jié)點(diǎn)作為它們對(duì)可用來(lái)連接的對(duì)等節(jié)點(diǎn)的請(qǐng)求的一部分來(lái)提供。 例如,這樣的請(qǐng)求優(yōu)選地包括作出請(qǐng)求的對(duì)等節(jié)點(diǎn)的身份或地址信息以及關(guān)于 不要求連接的對(duì)等節(jié)點(diǎn)的信息。例如,由于作出請(qǐng)求的對(duì)等節(jié)點(diǎn)已連接到那些 節(jié)點(diǎn),或由于作出請(qǐng)求的對(duì)等節(jié)點(diǎn)已知曉其不能(或不愿)連接到那些節(jié)點(diǎn)。 在優(yōu)選實(shí)施例中,我們使用兩種不同的不相關(guān)的數(shù)據(jù)結(jié)構(gòu)來(lái)表示元數(shù)據(jù)和不要 求連接的節(jié)點(diǎn)的列表。然而,這并非是必須的,任何合適類(lèi)型的數(shù)據(jù)結(jié)構(gòu)都可 使用。
在某些實(shí)施例中使用不透明元數(shù)據(jù),即跟蹤者不作解釋并且跟蹤者不知曉 其含意的元數(shù)據(jù)。在這樣的實(shí)施例中,跟蹤者知曉這些元數(shù)據(jù)項(xiàng)將被用于對(duì)等 節(jié)點(diǎn)選擇但并未從這些元數(shù)據(jù)項(xiàng)獲悉任何其它含意。不透明元數(shù)據(jù)的使用在以 后更詳細(xì)地解釋。
現(xiàn)在列出用于選擇對(duì)等節(jié)點(diǎn)的訪(fǎng)問(wèn)到的信息的示例。
定域信息,
訂閱信息,
服務(wù)質(zhì)量信息,
上傳速度信息,
下載速度信息,
現(xiàn)存對(duì)等節(jié)點(diǎn)連接數(shù)目,
可用對(duì)等節(jié)點(diǎn)內(nèi)容量,
歷史對(duì)等節(jié)點(diǎn)行為信息,
預(yù)報(bào)對(duì)等節(jié)點(diǎn)行為信息,
本地資源信息,
互聯(lián)網(wǎng)地址類(lèi)型,
節(jié)點(diǎn)可訪(fǎng)問(wèn)性(例如,是否是在NAT或防火墻后面),
預(yù)測(cè)成對(duì)連通性。 定域信息包括關(guān)于對(duì)等節(jié)點(diǎn)的相對(duì)網(wǎng)絡(luò)位置或地理位置的任何信息。其還
可包括關(guān)于該對(duì)等節(jié)點(diǎn)所在的網(wǎng)絡(luò)區(qū)域的類(lèi)型的信息,若其如以上參考圖2所 提及地是公網(wǎng)或?qū)>W(wǎng)。本文還使用術(shù)語(yǔ)"可到達(dá)的"和"不可到達(dá)的"來(lái)表示 某對(duì)等節(jié)點(diǎn)是在公網(wǎng)中并且是其它公共節(jié)點(diǎn)"可到達(dá)的"還是在專(zhuān)網(wǎng)中并且從
公網(wǎng)區(qū)域中的節(jié)點(diǎn)藉直接聯(lián)系是"不可到達(dá)的"。
例如,定域信息可包括關(guān)于這些對(duì)等節(jié)點(diǎn)的網(wǎng)際協(xié)議地址的信息??蓪?duì)網(wǎng) 協(xié)議地址前綴作出比較以選擇與作出請(qǐng)求的對(duì)等節(jié)點(diǎn)的網(wǎng)際協(xié)議(IP)地址具 有最長(zhǎng)前綴匹配的那些對(duì)等節(jié)點(diǎn)。在IPV6網(wǎng)絡(luò)的情形中,地址前綴相似性給 出具有這些地址的那些實(shí)體即便在地理位置上并不靠近至少在網(wǎng)絡(luò)中相對(duì)靠
近的良好指示。這至少適用于地址空間的頂級(jí)聚集器(TLA)/二級(jí)聚集器(SLA) /網(wǎng)絡(luò)級(jí)聚集器(NLA)斷點(diǎn)。然而,當(dāng)使用IPv4地址時(shí)則不盡然。在后一種 情形中,該同樣的方法也可被使用并給出有作用的解決方案,雖然在某些情形 中具有相似IPv4地址的實(shí)體在網(wǎng)絡(luò)上和/或在地理位置上實(shí)際分開(kāi)很遠(yuǎn)。
現(xiàn)給出可供在跟蹤者節(jié)點(diǎn)處使用以實(shí)現(xiàn)IP地址比較方法的合適算法的示 例。跟蹤者節(jié)點(diǎn)將作出請(qǐng)求的對(duì)等節(jié)點(diǎn)的所有公共IP地址與已在跟蹤者節(jié)點(diǎn) 處注冊(cè)的每個(gè)對(duì)等端點(diǎn)的所有公共地址進(jìn)行比較。跟蹤者節(jié)點(diǎn)返回其公共地址 與請(qǐng)求者的地址具有最長(zhǎng)前綴匹配的對(duì)等節(jié)點(diǎn)的對(duì)等端點(diǎn)。例如,如果Z具有 地址1.2.3.4, A具有地址1.2.5.6,而B(niǎo)具有地址1.2.3.7,則跟蹤者節(jié)點(diǎn)對(duì)于Z 發(fā)出的對(duì)等節(jié)點(diǎn)請(qǐng)求將優(yōu)先返回B。 B匹配前綴的三個(gè)字節(jié)(1.2.3),而A僅 匹配前綴的兩個(gè)字節(jié)(1.2)。
定域信息還可包含來(lái)自網(wǎng)絡(luò)坐標(biāo)系統(tǒng)——諸如全球網(wǎng)絡(luò)定位(GNP)、實(shí) 際因特網(wǎng)坐標(biāo)(PIC)、燈塔、以及包括虛擬地標(biāo)和ICS等基于主分量分析(PCA) 的技術(shù)——的信息。還可使用任何其它合適的網(wǎng)絡(luò)坐標(biāo)系統(tǒng)。概言之,所有這 些網(wǎng)絡(luò)坐標(biāo)系統(tǒng)選擇網(wǎng)絡(luò)節(jié)點(diǎn)的子集作為參考點(diǎn)并為坐標(biāo)系統(tǒng)創(chuàng)建原點(diǎn)。測(cè)量 各參考點(diǎn)節(jié)點(diǎn)之間的往返時(shí)間并在這些往返時(shí)間結(jié)果的基礎(chǔ)上計(jì)算用于每個(gè) 參考點(diǎn)節(jié)點(diǎn)的坐標(biāo)。為確定網(wǎng)絡(luò)中的另一節(jié)點(diǎn)的坐標(biāo),計(jì)算其與參考點(diǎn)節(jié)點(diǎn)之 間的往返時(shí)間并在此基礎(chǔ)上確定其坐標(biāo)。以上所提及的各種不同網(wǎng)絡(luò)坐標(biāo)系統(tǒng) 使用不同的技術(shù)來(lái)選擇參考點(diǎn)、創(chuàng)建原點(diǎn)、以及計(jì)算坐標(biāo)。
另一個(gè)可選項(xiàng)是使用網(wǎng)際協(xié)議地址到地理位置數(shù)據(jù)庫(kù)結(jié)果來(lái)提供定域信 息。此類(lèi)數(shù)據(jù)庫(kù)當(dāng)前市售可用且可用于評(píng)估具有網(wǎng)際協(xié)議地址的各實(shí)體的相對(duì)
地理靠近程度。
也可使用郵政地址信息或全球定位系統(tǒng)信息。例如,作出請(qǐng)求的對(duì)等節(jié)點(diǎn) 訪(fǎng)問(wèn)此信息并在其向跟蹤者節(jié)點(diǎn)注冊(cè)時(shí)將此信息作為元數(shù)據(jù)提供,或?qū)⑵渥鳛?向跟蹤者節(jié)點(diǎn)請(qǐng)求更多對(duì)等節(jié)點(diǎn)供其連接的請(qǐng)求的一部分來(lái)提供。
也可使用關(guān)于對(duì)等節(jié)點(diǎn)是在公網(wǎng)還是專(zhuān)網(wǎng)區(qū)域中的信息。為取得良好的網(wǎng) 絡(luò)性能,跟蹤者節(jié)點(diǎn)優(yōu)選地被安排成對(duì)于來(lái)自不可到達(dá)的對(duì)等節(jié)點(diǎn)的請(qǐng)求返回 可到達(dá)的對(duì)等節(jié)點(diǎn)。應(yīng)注意,可到達(dá)的對(duì)等節(jié)點(diǎn)是能接受來(lái)自全球互聯(lián)網(wǎng)上的 主機(jī)的連接的對(duì)等節(jié)點(diǎn),而不可到達(dá)的對(duì)等節(jié)點(diǎn)是不能接受連接的對(duì)等節(jié)點(diǎn),
諸如在防火墻或網(wǎng)絡(luò)地址轉(zhuǎn)譯器(NAT)后面的主機(jī)。如果跟蹤者節(jié)點(diǎn)具有足 夠的信息,則其可確定可到達(dá)性并且甚至可對(duì)與作出請(qǐng)求的對(duì)等設(shè)備在同一防 火墻或NAT后面的對(duì)等節(jié)點(diǎn)作出例外。
參考圖4,對(duì)等內(nèi)容分布云被表示為具有四個(gè)網(wǎng)絡(luò)區(qū)域40、 41、 42、 43, 它們可以是例如在特定企業(yè)或其它組織處的內(nèi)聯(lián)網(wǎng)。其中兩個(gè)網(wǎng)絡(luò)區(qū)域打了交 叉陰影線(xiàn)40、 42,以指示這些是在防火墻或NAT后面或因其它原因從公共網(wǎng) 絡(luò)不可到達(dá)。在不可到達(dá)區(qū)域中的對(duì)等節(jié)點(diǎn)可發(fā)起出站連接,并且可發(fā)起到彼 此的連接,但不能接收來(lái)自邊界外的連接請(qǐng)求。在一個(gè)實(shí)施例中,跟蹤者被安 排成偏好邊界內(nèi)的對(duì)等節(jié)點(diǎn)被充分連通,并且每個(gè)區(qū)域具有相對(duì)較少的跨邊界 連接。在網(wǎng)絡(luò)邊界之內(nèi)的節(jié)點(diǎn)通常到彼此的網(wǎng)絡(luò)連通性比到跨過(guò)邊界的節(jié)點(diǎn)的 更好(在吞吐量意義上)。我們已發(fā)現(xiàn)此模式允許云中內(nèi)容傳播達(dá)到最大速率。
定域信息還可包括關(guān)于法定管轄或節(jié)點(diǎn)所在國(guó)家的信息。此信息隨后可被 跟蹤者節(jié)點(diǎn)用于返回滿(mǎn)足特定法定管轄要求或國(guó)家要求的潛在鄰節(jié)點(diǎn)。跟蹤者 節(jié)點(diǎn)的另一可選項(xiàng)是拒絕來(lái)自不滿(mǎn)足特定法定管轄、國(guó)家或其它要求的對(duì)等節(jié) 點(diǎn)請(qǐng)求的注冊(cè)。
還可能提供訂閱信息和/或服務(wù)質(zhì)量信息。例如,對(duì)等節(jié)點(diǎn)作為云成員可 被要求為不同的服務(wù)級(jí)別付費(fèi),并且在這種情形中,具有較高服務(wù)級(jí)別的對(duì)等 節(jié)點(diǎn)會(huì)被跟蹤者節(jié)點(diǎn)給予優(yōu)先待遇。
關(guān)于個(gè)體對(duì)等節(jié)點(diǎn)的上傳速度和/或下載速度信息也可被跟蹤者使用。例
如,用來(lái)優(yōu)先返回關(guān)于具有高上傳速度的對(duì)等節(jié)點(diǎn)的信息。
關(guān)于現(xiàn)存對(duì)等節(jié)點(diǎn)連接數(shù)目的信息也可被跟蹤者節(jié)點(diǎn)使用。例如,具有很
少現(xiàn)存連接的對(duì)等節(jié)點(diǎn)可被優(yōu)先返回給請(qǐng)求者以加快通過(guò)云進(jìn)行的分布。
關(guān)于可用對(duì)等節(jié)點(diǎn)內(nèi)容的量的信息可被跟蹤者節(jié)點(diǎn)使用。在這種情形中,
跟蹤者節(jié)點(diǎn)會(huì)向請(qǐng)求者優(yōu)先返回關(guān)于具有高量級(jí)可用內(nèi)容的對(duì)等節(jié)點(diǎn)的信息。 此外,關(guān)于對(duì)等節(jié)點(diǎn)行為的歷史和/或預(yù)報(bào)信息可被跟蹤者節(jié)點(diǎn)以任何合適的方式使用。
麟可使用任何合適的準(zhǔn)則,諸如基于以下一項(xiàng)或多項(xiàng)的那些準(zhǔn)則 定域、訂閱級(jí)別、服務(wù)質(zhì)量級(jí)別、相對(duì)上傳能力、相對(duì)下載能力、偽 隨機(jī)選擇、現(xiàn)存對(duì)等節(jié)點(diǎn)連接的相對(duì)數(shù)目、可用對(duì)等內(nèi)容的相對(duì)量、 歷史對(duì)等節(jié)點(diǎn)行為信息、預(yù)報(bào)對(duì)等節(jié)點(diǎn)行為信息、相對(duì)本地資源、相 對(duì)節(jié)點(diǎn)可訪(fǎng)問(wèn)性、預(yù)測(cè)成對(duì)連通性、以及不透明元數(shù)據(jù)。 通過(guò)使用偽隨機(jī)選擇,可促進(jìn)云的隨機(jī)塑形。這給予健壯性和相對(duì)可預(yù)測(cè) 的平均性能。
在使用不透明元數(shù)據(jù)的情形中,跟蹤者用于對(duì)等節(jié)點(diǎn)選擇的準(zhǔn)則之一是該 請(qǐng)求中的不透明元數(shù)據(jù)項(xiàng)中有多少個(gè)與其它對(duì)等節(jié)點(diǎn)在注冊(cè)期間提供的元數(shù) 據(jù)項(xiàng)相匹配。匹配數(shù)目高的對(duì)等節(jié)點(diǎn)更可能被跟蹤者選擇。
圖5是跟蹤者節(jié)點(diǎn)與對(duì)等節(jié)點(diǎn)之間的互動(dòng)的示例的流程圖。對(duì)等節(jié)點(diǎn)査看 其直接連接的鄰對(duì)等節(jié)點(diǎn)有多少個(gè)(框50)并且如果少于某一閾值數(shù)目(諸如 6或任何其它合適數(shù)目)(參見(jiàn)框51),則其向跟蹤者請(qǐng)求足以允許其達(dá)到其 被允許的最大鄰節(jié)點(diǎn)數(shù)目的對(duì)等端點(diǎn)(參見(jiàn)框52)。例如,如果該對(duì)等節(jié)點(diǎn)具 有四個(gè)鄰節(jié)點(diǎn)且被允許具有最多12個(gè)鄰節(jié)點(diǎn),則其可向跟蹤者請(qǐng)求8個(gè)對(duì)等 端點(diǎn)。
在跟蹤者處接收到該請(qǐng)求(參見(jiàn)框53)并且該請(qǐng)求優(yōu)選包擴(kuò)對(duì)等節(jié)點(diǎn)ID 的"排除"列表,但非必須如此。該排除列表包括作出請(qǐng)求的對(duì)等節(jié)點(diǎn)的當(dāng)前 鄰節(jié)點(diǎn)以及即便讓跟蹤者返回了也不會(huì)有用的任何其它對(duì)等節(jié)點(diǎn)一_諸如作 出請(qǐng)求的對(duì)等節(jié)點(diǎn)已將其列入黑名單或已經(jīng)知曉其無(wú)法連接的對(duì)等節(jié)點(diǎn)的ID。
跟蹤者核實(shí)來(lái)自對(duì)等節(jié)點(diǎn)的請(qǐng)求(參見(jiàn)框54)。如果該請(qǐng)求是有效的, 則其選取確保該列表不包括在請(qǐng)求者的排除列表上的任何條目的一組對(duì)等端
點(diǎn)以返回給請(qǐng)求者(參見(jiàn)框55)。跟蹤者將對(duì)等端點(diǎn)的列表返回給請(qǐng)求者(參 見(jiàn)框56)。作出請(qǐng)求的對(duì)等節(jié)點(diǎn)隨后接收該信息(參見(jiàn)框57)并且嘗試連接 所接收到的這些對(duì)等端點(diǎn)中的每一個(gè)(參見(jiàn)框58)。在合適的間隔(諸如5 分鐘或任何其它合適的時(shí)間)后該方法重復(fù)。
對(duì)于特別大的對(duì)等內(nèi)容分布云,要求擴(kuò)增跟蹤者節(jié)點(diǎn)?,F(xiàn)在參考圖6和7 來(lái)論述擴(kuò)增跟蹤者節(jié)點(diǎn)的兩種辦法。
圖6是包括多個(gè)對(duì)等節(jié)點(diǎn)107和多個(gè)跟蹤者節(jié)點(diǎn)T (104、 105和106)的 對(duì)等內(nèi)容分布云100的示意圖。每個(gè)跟蹤者節(jié)點(diǎn)T執(zhí)行與如上所述的跟蹤者節(jié) 點(diǎn)相同的功能并且能夠支持很大的但有限數(shù)目的對(duì)等節(jié)點(diǎn)P。為了支持更多對(duì) 等節(jié)點(diǎn),能夠如圖6中所示地添加更多跟蹤者節(jié)點(diǎn)T。
在使用一個(gè)以上跟蹤者節(jié)點(diǎn)的情形中,一種選擇是在每個(gè)跟蹤者節(jié)點(diǎn)之間 共享對(duì)等節(jié)點(diǎn)信息以使得這些跟蹤者節(jié)點(diǎn)彼此之間總是具有相同的對(duì)等節(jié)點(diǎn)
信息。為了實(shí)現(xiàn)這一點(diǎn),能夠使用連接在各跟蹤者節(jié)點(diǎn)之間的一個(gè)或多個(gè)服務(wù) 器101、 102、 103以提供足夠的處理能力來(lái)確保各跟蹤者節(jié)點(diǎn)之間數(shù)據(jù)的鏡像。 該方法盡管是可工作的但同時(shí)也是昂貴的,因?yàn)樾枰O(shè)置和維護(hù)服務(wù)器節(jié)點(diǎn) 101、 102、 103。該辦法的一個(gè)優(yōu)勢(shì)是對(duì)等節(jié)點(diǎn)全然僅需要向這些跟蹤者節(jié)點(diǎn) 中的具體的一個(gè)請(qǐng)求關(guān)于可用來(lái)連接的其它對(duì)等節(jié)點(diǎn)的信息。如果跟蹤者節(jié)點(diǎn) 之間數(shù)據(jù)的鏡像不可用,則由于對(duì)等節(jié)點(diǎn)全然僅連接到一個(gè)特定的跟蹤者節(jié) 點(diǎn),性能就會(huì)降低。也就是說(shuō), 一個(gè)特定的跟蹤者節(jié)點(diǎn)只知曉可用對(duì)等節(jié)點(diǎn)的 一個(gè)子集,且因此這可能阻礙內(nèi)容以如否則本該有的那樣快地被分布。我們認(rèn) 識(shí)到了此問(wèn)題并且提供有效且不昂貴的解決方案。這是通過(guò)確保對(duì)等節(jié)點(diǎn)獲得 所有可用跟蹤者節(jié)點(diǎn)的地址并且在它們每次作出對(duì)可用來(lái)連接的對(duì)等節(jié)點(diǎn)的 請(qǐng)求時(shí)使用不同的跟蹤者節(jié)點(diǎn)來(lái)實(shí)現(xiàn)的。在這種情形中,不需要更多的服務(wù)器 節(jié)點(diǎn)S來(lái)在跟蹤者節(jié)點(diǎn)104、 105、 106之間鏡像數(shù)據(jù)。圖7結(jié)合圖8的流程圖 示出該情形。
假設(shè)對(duì)等節(jié)點(diǎn)P,希望加入云100。其首先獲得關(guān)于其中至少一個(gè)跟蹤者節(jié) 點(diǎn)(以T1為例)的地址的信息以及還有需要在內(nèi)容分布過(guò)程期間獲得的內(nèi)容 的內(nèi)容ID。 P〗可從具有帶該信息的URL的網(wǎng)站或以任何其它合適的方式獲得 該信息。對(duì)等節(jié)點(diǎn)向跟蹤者節(jié)點(diǎn)發(fā)送請(qǐng)求以待該請(qǐng)求被核實(shí)并且內(nèi)容ID被認(rèn)
證(參見(jiàn)圖8的框80)。該對(duì)等節(jié)點(diǎn)請(qǐng)求關(guān)于可用來(lái)連接的其它對(duì)等節(jié)點(diǎn)的信 息并且從跟蹤者節(jié)點(diǎn)接收該信息(例如,其得到關(guān)于P2和P3的通知)(參見(jiàn) 圖8的框81)。其與這些對(duì)等節(jié)點(diǎn)中的一個(gè)或多個(gè)形成連接并且開(kāi)始訪(fǎng)問(wèn)正被 分布的內(nèi)容的數(shù)據(jù)塊(參見(jiàn)圖8的框82)。
一旦該對(duì)等節(jié)點(diǎn)有至少一個(gè)內(nèi)容塊可供共享,其就被安排成向其相關(guān)聯(lián)的 跟蹤者節(jié)點(diǎn)注冊(cè)(參見(jiàn)圖8的框83)。在注冊(cè)過(guò)程期間,其提供其地址、內(nèi)容 ID以及任何其它合適的元數(shù)據(jù)。該對(duì)等節(jié)點(diǎn)得到其應(yīng)該通過(guò)重復(fù)注冊(cè)來(lái)重復(fù) 通知跟蹤者節(jié)點(diǎn)其存在的頻度的通知。例如,這可以是每5分鐘或其它合適的 時(shí)間一次。提供此過(guò)程是為了確保跟蹤者節(jié)點(diǎn)的可用對(duì)等節(jié)點(diǎn)列表是最新的。
作為我們的拓?fù)涔芾磉^(guò)程的一部分,每個(gè)對(duì)等節(jié)點(diǎn)被安排成如上所述地在 各種境況下丟掉到其它對(duì)等節(jié)點(diǎn)的一個(gè)或多個(gè)連接(參見(jiàn)圖8的框84)。在這 種情況下,該對(duì)等節(jié)點(diǎn)可能需要請(qǐng)求關(guān)于更多可用來(lái)連接的對(duì)等節(jié)點(diǎn)的詳情。 該對(duì)等節(jié)點(diǎn)被安排成選擇可用跟蹤者節(jié)點(diǎn)中不同的一個(gè)來(lái)做此事。該跟蹤者節(jié) 點(diǎn)將具有關(guān)于不同的可用對(duì)等節(jié)點(diǎn)的信息。該對(duì)等節(jié)點(diǎn)隨后向例如T2發(fā)送其 對(duì)新的可用來(lái)連接的節(jié)點(diǎn)的請(qǐng)求。此過(guò)程重復(fù),從而當(dāng)該對(duì)等節(jié)點(diǎn)需要作出對(duì) 可用來(lái)連接的節(jié)點(diǎn)的新請(qǐng)求時(shí)其通過(guò)首先選擇不同的跟蹤者節(jié)點(diǎn)以發(fā)送此請(qǐng) 求來(lái)這樣做(參見(jiàn)圖8的框85)。對(duì)等節(jié)點(diǎn)優(yōu)選地貫穿整個(gè)會(huì)話(huà)期間保持向同 一跟蹤者注冊(cè),但通常在其每次需要請(qǐng)求新的可用來(lái)連接的對(duì)等節(jié)點(diǎn)時(shí)都形成 到新的跟蹤者的連接。
在另一個(gè)實(shí)施例中,如圖6中那樣提供多個(gè)跟蹤者節(jié)點(diǎn)但不在這些跟蹤者 節(jié)點(diǎn)之間進(jìn)行數(shù)據(jù)鏡像。在該實(shí)施例中,對(duì)等節(jié)點(diǎn)被安排成向這些跟蹤者節(jié)點(diǎn) 中的一個(gè)以上注冊(cè)。這提供了在跟蹤者節(jié)點(diǎn)之間對(duì)等節(jié)點(diǎn)信息的某種共享,并 且在這種情形中,對(duì)等節(jié)點(diǎn)能夠僅向一個(gè)跟蹤者、或僅向其注冊(cè)了的任何跟蹤 者請(qǐng)求關(guān)于可用來(lái)連接的其它對(duì)等節(jié)點(diǎn)的信息。在所有對(duì)等節(jié)點(diǎn)都向所有跟蹤 者注冊(cè)的情形中,由于所有的跟蹤者都知曉所有的對(duì)等節(jié)點(diǎn),因而不需要進(jìn)行 數(shù)據(jù)鏡像。
在具有多個(gè)跟蹤者的相對(duì)較小的云的情形中,可適用如現(xiàn)在描述的特殊的 考慮。假定每個(gè)對(duì)等節(jié)點(diǎn)僅向一個(gè)跟蹤者注冊(cè)且該跟蹤者是隨機(jī)選取的,如果 云很大,則每個(gè)跟蹤者對(duì)可供從中選取的已注冊(cè)對(duì)等節(jié)點(diǎn)將有同樣好的隨機(jī)分
布的選擇。這是因?yàn)榇髷?shù)法則。由此,當(dāng)客戶(hù)機(jī)發(fā)送對(duì)關(guān)于對(duì)等節(jié)點(diǎn)的信息的 請(qǐng)求時(shí),其將該請(qǐng)求發(fā)送到哪個(gè)跟蹤者是沒(méi)有關(guān)系的。然而,如果云很小,則 這可能不再成立。對(duì)于給定的作出請(qǐng)求的對(duì)等節(jié)點(diǎn),某些跟蹤者可能具有比其 它跟蹤者好得多的信息。減輕此問(wèn)題的一種方式(如已描述過(guò)的)是令對(duì)等節(jié)
點(diǎn)將對(duì)于對(duì)等節(jié)點(diǎn)的每個(gè)新請(qǐng)求發(fā)送給不同的跟蹤者。新請(qǐng)求將可大約每5分
鐘發(fā)送一次。隨著時(shí)間流逝,作出請(qǐng)求的對(duì)等節(jié)點(diǎn)獲取關(guān)于好的對(duì)等節(jié)點(diǎn)的信
息的可能性就越來(lái)越大。
對(duì)此問(wèn)題的替換解決方案是令跟蹤者通知作出請(qǐng)求的對(duì)等節(jié)點(diǎn)其返回的 對(duì)等節(jié)點(diǎn)列表是否是來(lái)自統(tǒng)計(jì)上顯著的已注冊(cè)對(duì)等節(jié)點(diǎn)集合。如果跟蹤者告知
作出請(qǐng)求的對(duì)等節(jié)點(diǎn)該信息來(lái)自很小的已注冊(cè)對(duì)等節(jié)點(diǎn)集合,則作出請(qǐng)求的對(duì) 等節(jié)點(diǎn)可將其視為其應(yīng)該向一不同的跟蹤者發(fā)出另一個(gè)對(duì)信息的請(qǐng)求的提示。 這無(wú)需等待幾分鐘再發(fā)送另一個(gè)請(qǐng)求就能完成,并且這允許作出請(qǐng)求的對(duì)等節(jié) 點(diǎn)能更快地找到好的一組對(duì)等節(jié)點(diǎn)。
在本發(fā)明的某些實(shí)施例中,對(duì)等內(nèi)容分布算法使用網(wǎng)絡(luò)編碼,盡管這不是 必須的。網(wǎng)絡(luò)編碼背后的原理是允許對(duì)等節(jié)點(diǎn)編碼分組,這與其中只有服務(wù)器 或種子節(jié)點(diǎn)編碼分組的服務(wù)器編碼相反。使用網(wǎng)絡(luò)編碼,每一次對(duì)等節(jié)點(diǎn)需要 將分組上傳到另一對(duì)等節(jié)點(diǎn)時(shí),源對(duì)等節(jié)點(diǎn)就生成并發(fā)送其全部可用信息的線(xiàn) 性組合。在對(duì)等節(jié)點(diǎn)接收了足夠多的線(xiàn)性無(wú)關(guān)的分組組合之后,它就能重構(gòu)原 始信息。使用網(wǎng)絡(luò)編碼,云中的對(duì)等節(jié)點(diǎn)就很有可能具有其他鄰節(jié)點(diǎn)處所不具 有的至少一部分內(nèi)容塊。內(nèi)容的各部分通過(guò)云'蔓延',從而使得新建立的連 接有可能生成至少某些有用內(nèi)容,這與不使用網(wǎng)絡(luò)編碼的分布算法相反。在本 發(fā)明中,有在使用網(wǎng)絡(luò)編碼時(shí)尤為有利的某些方法。例如,網(wǎng)絡(luò)攪動(dòng)算法可被 安排成丟掉連接——即便在此后最小連接數(shù)目將不再滿(mǎn)足的情況下亦是如此。 這是因?yàn)楣?jié)點(diǎn)要找到新的有用連接是相對(duì)容易的,而這與不使用網(wǎng)絡(luò)編碼的情 況相反。
本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到用于存儲(chǔ)程序指令的存儲(chǔ)設(shè)備可分布在網(wǎng)絡(luò) 上。例如,遠(yuǎn)程計(jì)算機(jī)可存儲(chǔ)描述為軟件的過(guò)程的示例。本地或終端計(jì)算機(jī)可 訪(fǎng)問(wèn)遠(yuǎn)程計(jì)算機(jī)并下載該軟件的一部分或全部以運(yùn)行該程序。替代地,本地計(jì) 算機(jī)可按需下載軟件的片斷,或在本地終端上執(zhí)行一些軟件指令并且在遠(yuǎn)程計(jì)
算機(jī)(或計(jì)算機(jī)網(wǎng)絡(luò))上執(zhí)行一些軟件指令。本領(lǐng)域的技術(shù)人員還將認(rèn)識(shí)到, 通過(guò)使用本領(lǐng)域技術(shù)人員已知的常規(guī)技術(shù),軟件指令的全部或部分可由諸如
DSP、可編程邏輯陣列等專(zhuān)用電路來(lái)執(zhí)行。
如對(duì)于本領(lǐng)域的技術(shù)人員而言將顯而易見(jiàn)的是,可擴(kuò)展或變更此處給出的 任何范圍或者設(shè)備值而不會(huì)失去所尋求的效果。
本文所描述的各方法步驟可按任何合適的次序執(zhí)行或在適當(dāng)場(chǎng)合同時(shí)執(zhí)行。
應(yīng)理解,以上對(duì)于優(yōu)選實(shí)施例的描述僅是作為示例而給出的,并且本領(lǐng)域 的技術(shù)人員可以做出各種修改。
權(quán)利要求
1. 一種控制包括至少一個(gè)跟蹤者節(jié)點(diǎn)和多個(gè)對(duì)等節(jié)點(diǎn)的對(duì)等內(nèi)容分布云的形狀的方法,所述方法包括在所述跟蹤者節(jié)點(diǎn)處的以下步驟(i)接收來(lái)自所述對(duì)等節(jié)點(diǎn)之一的請(qǐng)求關(guān)于可用來(lái)連接的一個(gè)或多個(gè)其它對(duì)等節(jié)點(diǎn)的信息的請(qǐng)求;(ii)訪(fǎng)問(wèn)關(guān)于與所述跟蹤者節(jié)點(diǎn)相關(guān)聯(lián)的多個(gè)可用對(duì)等節(jié)點(diǎn)的信息;(iii)在一個(gè)或多個(gè)準(zhǔn)則的基礎(chǔ)上并且在所訪(fǎng)問(wèn)到的信息的基礎(chǔ)上選擇所述可用對(duì)等節(jié)點(diǎn)中的一個(gè)或多個(gè);(iv)向所述作出請(qǐng)求的對(duì)等節(jié)點(diǎn)發(fā)送關(guān)于所選擇的可用對(duì)等節(jié)點(diǎn)的信息。
2. 如權(quán)利要求1所述的方法,其特征在于,所述訪(fǎng)問(wèn)到的信息包括由對(duì) 等節(jié)點(diǎn)在向所述跟蹤者注冊(cè)期間提供的信息和/或由所述作出請(qǐng)求的對(duì)等節(jié)點(diǎn) 提供的信息。
3. 如以上權(quán)利要求中任一項(xiàng)所述的方法,其特征在于,由對(duì)等節(jié)點(diǎn)作為 其對(duì)可用來(lái)連接的對(duì)等節(jié)點(diǎn)的請(qǐng)求的一部分提供的的信息包括所述作出請(qǐng)求 的對(duì)等節(jié)點(diǎn)不想要連接的對(duì)等節(jié)點(diǎn)的詳情。
4. 如以上權(quán)利要求中任一項(xiàng)所述的方法,其特征在于,所述一個(gè)或多個(gè) 準(zhǔn)則選自于以下中的任何項(xiàng)定域、訂閱級(jí)別、服務(wù)質(zhì)量級(jí)別、相對(duì)上傳能力、 相對(duì)下載能力、偽隨機(jī)選擇、現(xiàn)存對(duì)等連接相對(duì)數(shù)目、可用對(duì)等內(nèi)容相對(duì)量、 歷史對(duì)等節(jié)點(diǎn)行為信息、和預(yù)報(bào)對(duì)等節(jié)點(diǎn)行為信息、相對(duì)本地資源、相對(duì)節(jié)點(diǎn) 可訪(fǎng)問(wèn)性、和預(yù)測(cè)成對(duì)連通性、以及不透明元數(shù)據(jù)。
5. 如以上權(quán)利要求中任一項(xiàng)所述的方法,其特征在于,所述訪(fǎng)問(wèn)到的信息包括以下一者或多者定域信息、訂閱信息、服務(wù)質(zhì)量信息、上傳速度信息、下載速度信息、現(xiàn)存對(duì)等連接數(shù)目、可用對(duì)等內(nèi)容量、歷史對(duì)等節(jié)點(diǎn)行為信息、 和預(yù)報(bào)對(duì)等節(jié)點(diǎn)行為信息、本地資源信息、互聯(lián)網(wǎng)地址類(lèi)型、節(jié)點(diǎn)可訪(fǎng)問(wèn)性信 息、預(yù)測(cè)成對(duì)連通性信息、以及不透明元數(shù)據(jù)。
6. 如權(quán)利要求5所述的方法,其特征在于,所述定域信息選自于以下一者或多者網(wǎng)際協(xié)議地址、網(wǎng)絡(luò)坐標(biāo)系統(tǒng)信息、網(wǎng)際協(xié)議地址到地理位置數(shù)據(jù) 庫(kù)結(jié)果、關(guān)于對(duì)等節(jié)點(diǎn)是在公網(wǎng)還是專(zhuān)網(wǎng)區(qū)域中的信息、郵政地址信息、全球 定位系統(tǒng)信息。
7. 如權(quán)利要求6所述的方法,其特征在于,所述定域信息包括網(wǎng)際協(xié)議 地址前綴的比較。
8. —種計(jì)算機(jī)程序,其包括適于在所述程序在計(jì)算機(jī)上運(yùn)行時(shí)執(zhí)行權(quán)利 要求1至7中任一項(xiàng)的所有步驟的計(jì)算機(jī)程序代碼裝置。
9. 如權(quán)利要求8所述的計(jì)算機(jī)程序,其特征在于是實(shí)現(xiàn)在計(jì)算機(jī)可讀介 質(zhì)上。
10. —種用于控制包括多個(gè)對(duì)等節(jié)點(diǎn)(16)的對(duì)等內(nèi)容分布云(10)的形 狀的跟蹤者節(jié)點(diǎn)(14),所述跟蹤者節(jié)點(diǎn)包括(i) 輸入(90),其被安排成接收來(lái)自所述對(duì)等節(jié)點(diǎn)之一的請(qǐng)求關(guān)于可用 來(lái)連接的一個(gè)或多個(gè)其它對(duì)等節(jié)點(diǎn)的信息的請(qǐng)求;(ii) 用于訪(fǎng)問(wèn)關(guān)于與所述跟蹤者節(jié)點(diǎn)相關(guān)聯(lián)的多個(gè)可用對(duì)等節(jié)點(diǎn)的信息 的裝置(94);(iii) 處理器(92),其被安排成在一個(gè)或多個(gè)準(zhǔn)則的基礎(chǔ)上并且在所訪(fǎng)問(wèn) 到的信息的基礎(chǔ)上選擇所述可用對(duì)等節(jié)點(diǎn)中的一個(gè)或多個(gè);(iv) 輸出(91),其被安排成向所述作出請(qǐng)求的對(duì)等節(jié)點(diǎn)發(fā)送關(guān)于所選擇 的可用對(duì)等節(jié)點(diǎn)的信息。
11. 如權(quán)利要求10所述的跟蹤者節(jié)點(diǎn)(14),其特征在于,所述訪(fǎng)問(wèn)到 的信息包括由對(duì)等節(jié)點(diǎn)在向所述跟蹤者注冊(cè)期間提供的信息和/或由所述作出 請(qǐng)求的對(duì)等節(jié)點(diǎn)提供的信息。
12. 如權(quán)利要求IO或權(quán)利要求11所述的跟蹤者節(jié)點(diǎn)(14),其特征在于, 所述一個(gè)或多個(gè)準(zhǔn)則選自于以下中的任何項(xiàng)定域、訂閱級(jí)別、服務(wù)質(zhì)量級(jí)別、相對(duì)上傳能力、相對(duì)下載能力、偽隨機(jī)選擇、現(xiàn)存對(duì)等連接相對(duì)數(shù)目、可用對(duì) 等內(nèi)容相對(duì)量、歷史對(duì)等節(jié)點(diǎn)行為信息、預(yù)報(bào)對(duì)等節(jié)點(diǎn)行為信息、相對(duì)本地資 源、相對(duì)節(jié)點(diǎn)可訪(fǎng)問(wèn)性、預(yù)測(cè)成對(duì)連通性、以及不透明元數(shù)據(jù)。
13. 如權(quán)利要求10、權(quán)利要求11、或權(quán)利要求12所述的跟蹤者節(jié)點(diǎn)(14),其特征在于,所述訪(fǎng)問(wèn)到的信息包括以下一者或多者定域信息、訂閱信息、服務(wù)質(zhì)量信息、上傳速度信息、下載速度信息、現(xiàn)存對(duì)等連接數(shù)目、可用對(duì)等 內(nèi)容量、歷史對(duì)等節(jié)點(diǎn)行為信息、預(yù)報(bào)對(duì)等節(jié)點(diǎn)行為信息、本地資源信息、互 聯(lián)網(wǎng)地址類(lèi)型、節(jié)點(diǎn)可訪(fǎng)問(wèn)性信息、預(yù)測(cè)成對(duì)連通性信息、以及不透明元數(shù)據(jù)。
14. 如權(quán)利要求13所述的跟蹤者節(jié)點(diǎn),其特征在于,所述定域信息選自 于以下一者或多者網(wǎng)際協(xié)議地址、網(wǎng)絡(luò)坐標(biāo)系統(tǒng)信息、網(wǎng)際協(xié)議地址到地理位置數(shù)據(jù)庫(kù)結(jié)果、關(guān)于對(duì)等節(jié)點(diǎn)是在公網(wǎng)還是專(zhuān)網(wǎng)區(qū)域中的信息、郵政地址信 息、全球定位系統(tǒng)信息。
15. —種對(duì)等內(nèi)容分布云(10),其包括多個(gè)如權(quán)利要求10到14中任一 項(xiàng)所述的跟蹤者節(jié)點(diǎn)。
16. 如權(quán)利要求15所述的對(duì)等內(nèi)容分布云,其特征在于,與每個(gè)跟蹤者 節(jié)點(diǎn)相關(guān)聯(lián)的對(duì)等節(jié)點(diǎn)不相同并且每個(gè)跟蹤者節(jié)點(diǎn)僅能夠訪(fǎng)問(wèn)關(guān)于其關(guān)聯(lián)對(duì) 等節(jié)點(diǎn)的信息。
17. 如權(quán)利要求15所述的對(duì)等內(nèi)容分布云,其特征在于,每個(gè)對(duì)等節(jié)點(diǎn) 與所述跟蹤者節(jié)點(diǎn)中的一個(gè)以上相關(guān)聯(lián)。
18. 如權(quán)利要求15到17中任一項(xiàng)所述的對(duì)等內(nèi)容分布云,其特征在于, 對(duì)等節(jié)點(diǎn)被安排成向所述跟蹤者節(jié)點(diǎn)中不同的各個(gè)作出對(duì)于可用來(lái)連接的其 它對(duì)等節(jié)點(diǎn)的請(qǐng)求。
19. 如權(quán)利要求18所述的對(duì)等內(nèi)容分布云,其特征在于,所述對(duì)等節(jié)點(diǎn) 被安排成基于以下準(zhǔn)則中的任何準(zhǔn)則來(lái)選擇要向哪個(gè)跟蹤者節(jié)點(diǎn)請(qǐng)求其它對(duì) 等節(jié)點(diǎn)詳情隨機(jī)選擇、輪流選擇每個(gè)跟蹤者、選擇除之前所使用的一個(gè)之外 的任何跟蹤者、僅從所述對(duì)等節(jié)點(diǎn)與之相關(guān)聯(lián)的跟蹤者中選擇。
全文摘要
在對(duì)等內(nèi)容分布云中使用跟蹤者節(jié)點(diǎn)實(shí)現(xiàn)拓?fù)涔芾磉^(guò)程。跟蹤者節(jié)點(diǎn)具有關(guān)于可用對(duì)等節(jié)點(diǎn)的信息并輔助對(duì)等節(jié)點(diǎn)找到可用來(lái)連接的其它對(duì)等節(jié)點(diǎn)。描述可供在跟蹤者節(jié)點(diǎn)處使用的用于選擇哪些對(duì)等節(jié)點(diǎn)作為形成連接的潛在對(duì)等節(jié)點(diǎn)來(lái)返回的各種算法。此外,描述允許高效率擴(kuò)增對(duì)等云中的跟蹤者節(jié)點(diǎn)的架構(gòu)和算法。
文檔編號(hào)G06F17/00GK101385280SQ200780006016
公開(kāi)日2009年3月11日 申請(qǐng)日期2007年1月26日 優(yōu)先權(quán)日2006年2月21日
發(fā)明者A·E·克萊門(mén)茨, A·希德瑞, C·康特西迪斯, J·米勒, P·R·羅德里格斯, R·C·韋斯 申請(qǐng)人:微軟公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
青岛市| 南部县| 荣昌县| 行唐县| 浦县| 浙江省| 巨鹿县| 开封市| 渭南市| 颍上县| 德化县| 丰宁| 应用必备| 偃师市| 虹口区| 铜梁县| 平顺县| 桑日县| 布拖县| 平舆县| 滁州市| 合山市| 石景山区| 丽江市| 阳春市| 宁国市| 雅安市| 湘乡市| 墨竹工卡县| 墨竹工卡县| 阳西县| 博白县| 固安县| 石泉县| 永登县| 建水县| 德令哈市| 翁源县| 安庆市| 开远市| 化隆|