亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

對等網(wǎng)絡(luò)中的路由的制作方法

文檔序號:7617169閱讀:149來源:國知局
專利名稱:對等網(wǎng)絡(luò)中的路由的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及對等網(wǎng)絡(luò),尤其涉及對等網(wǎng)絡(luò)中的路由。
背景技術(shù)
由于許多期望的特征,如適應(yīng)性、自組織、負載平衡、容錯、低成本、高可用性、可伸縮性和提供大量資源的能力,對等網(wǎng)絡(luò)在普及度上持續(xù)增長。例如,對等網(wǎng)絡(luò)作為諸如由下載歌曲的對等體共享大量數(shù)據(jù)的流行方式而出現(xiàn),這些歌曲被稱為可供從對等網(wǎng)絡(luò)中的另一對等體下載。
然而,用于提供對等網(wǎng)絡(luò)的傳統(tǒng)體系結(jié)構(gòu)尚未解決形成該系統(tǒng)的越來越多的成員數(shù)量,即節(jié)點數(shù)量的問題。例如,對等網(wǎng)絡(luò)的一個現(xiàn)有示例已向多于4百萬用戶提供了多于2億3000萬的下載。然而,預期成員的數(shù)量還會持續(xù)增長,使得會遭遇到具有多于1萬億個節(jié)點的極其大的系統(tǒng)。因此,即使現(xiàn)有的體系結(jié)構(gòu)可解決具有大量節(jié)點的系統(tǒng)的問題,然而當在極其大的系統(tǒng)中采用時,這些現(xiàn)有體系結(jié)構(gòu)仍被證明是不夠用的。
例如,為定位對等網(wǎng)絡(luò)中的特定資源,網(wǎng)絡(luò)中的每一節(jié)點可引用網(wǎng)絡(luò)中一個或多個其它節(jié)點以定位具有特定資源,如特定的數(shù)據(jù)項的節(jié)點。因此,當請求從一個節(jié)點路由到另一節(jié)點時,可采用一系列的“中繼段”,直到定位了特定的項。當中繼段的數(shù)量增加時,節(jié)點的硬件和軟件資源的使用以及系統(tǒng)的網(wǎng)絡(luò)資源也隨之增加。由此,增加的中繼段數(shù)量會導致系統(tǒng)資源的低效使用,以及用于定位特定項的時間量的增加。
因此,不斷地需要在對等網(wǎng)絡(luò)中的改進的路由。

發(fā)明內(nèi)容
描述了對等網(wǎng)絡(luò)中的路由,其中,使用了路由表來路由消息(如,對特定資源的請求和對請求的響應(yīng))。該路由表可通過廣播來更新,以更新路由表中引用對等網(wǎng)絡(luò)中節(jié)點的條目。在一個實現(xiàn)中,用于維護每一節(jié)點的路由表的維護預算通過對每一段構(gòu)建密集路由表條目在對等網(wǎng)絡(luò)的資源空間的多個段上分布。因此,用于維護路由表的總維護預算得以降低,這釋放了對等網(wǎng)絡(luò)的硬件、軟件和網(wǎng)絡(luò)資源,以提供期望的消息路由功能。
在一個實現(xiàn)中,一種方法包括在對等網(wǎng)絡(luò)中的多個節(jié)點中的一個處接收由對等網(wǎng)絡(luò)中的另一節(jié)點對對等網(wǎng)絡(luò)中的成員的改變的指示。廣播描述該變化的報告。該報告用于由包括在一個節(jié)點中的路由表中引用的每一節(jié)點接收。
在另一實現(xiàn)中,一種方法包括在包括在對等網(wǎng)絡(luò)中的一個節(jié)點上確定該節(jié)點用于在對等網(wǎng)絡(luò)中通信的可用資源。在該節(jié)點上基于對于在對等網(wǎng)絡(luò)中路由請求的確定形成路由表。
在又一實現(xiàn)中,一種方法包括由對等網(wǎng)絡(luò)中的多個節(jié)點之一使用迭代光暈濾波器(bloom filter)壓縮描述路由表中的條目的數(shù)據(jù)。形成通信以將壓縮的數(shù)據(jù)傳遞到另一所述節(jié)點。


圖1所示是被配置成提供對等網(wǎng)絡(luò)的環(huán)境的一個示例性實現(xiàn)。
圖2所示是更詳細地示出了對等網(wǎng)絡(luò)的多個節(jié)點的一個示例性實現(xiàn)的系統(tǒng)。
圖3所示是一維邏輯關(guān)鍵字空間中一個系統(tǒng)中的多個節(jié)點的多個軟狀態(tài)路由表的快照的示例性實現(xiàn)。
圖4所示是通過旋轉(zhuǎn)標識符和構(gòu)建另一環(huán)對給定塊構(gòu)建軟狀態(tài)路由表中的條目的一個示例性實現(xiàn)。
圖5所示是使用相對于圖4描述的環(huán)的軟狀態(tài)路由表來路由的一個示例性實現(xiàn)。
圖6所示是軟狀態(tài)路由表的一部分以及軟狀態(tài)路由表中的條目的生成的一個示例性實現(xiàn)。
圖7所示是迭代光暈濾波器的一個示例性實現(xiàn)。
圖8所示是一個示例性實現(xiàn)中的過程的流程圖,其中,一個節(jié)點形成描述由該節(jié)點接收的指示對等網(wǎng)絡(luò)中的成員資格變化的事件的報告,并傳遞該報告。
圖9所示是一個示例性實現(xiàn)中的過程的流程圖,其中,路由表大小是基于節(jié)點的可用資源來動態(tài)地確定的。
圖10所示是可用于提供對等網(wǎng)絡(luò)中的節(jié)點的示例性計算設(shè)備。
貫穿揭示和附圖,相同的標號用于引用相同的組件和特征。
具體實施例方式
綜述描述了對等網(wǎng)絡(luò)中的路由。如上所述,期望較少數(shù)量的中繼段,使得可使用較少數(shù)量的轉(zhuǎn)發(fā)節(jié)點,由此降低了總帶寬消耗。描述了路由技術(shù),它減少了用于找出超大系統(tǒng)(即,1萬億個節(jié)點)中的資源的中繼段的數(shù)量,但是具有較低且可控制的每節(jié)點維護預算。
由節(jié)點使用路由表來引用對等網(wǎng)絡(luò)中的其它節(jié)點。然而,在超大系統(tǒng)中路由表的傳統(tǒng)維護可使用難以接受的大量硬件、軟件和網(wǎng)絡(luò)資源。例如,傳統(tǒng)維護技術(shù)使用了探查(probe),使得路由表中的條目通過發(fā)送請求并接受對請求的響應(yīng)以確定由表引用的節(jié)點當前是否在系統(tǒng)中可用來更新。盡管每一探查使用的硬件、軟件和網(wǎng)絡(luò)資源量相對較小,然而當這一資源使用在整個系統(tǒng)中累計時,總量將會變得相當大。因此,超大系統(tǒng)在使用這些傳統(tǒng)維護技術(shù)時可能遭受重大的功能損耗。在此處所描述的維護技術(shù)中,用于維護路由表的維護預算可以通過對每一段構(gòu)建密集路由表條目在對等網(wǎng)絡(luò)的資源空間的多個段上分布。由此,用于維護路由表的總維護預算得以減少,這釋放了對等網(wǎng)絡(luò)的硬件、軟件和網(wǎng)絡(luò)資源,以提供路由請求和對請求的響應(yīng)的期望功能。以此方式,可維護使用超大系統(tǒng)中較少的中繼段的路由表,而不會導致難以接受的維護預算。對密集路由條目和路由表維護的進一步討論可參考圖3找到。
另外,盡管使用的先前的O(logN)路由技術(shù)在現(xiàn)有系統(tǒng)中是成功的,然而先前的技術(shù)中當前接受的小底數(shù)(即,O(logbN中的參數(shù)b)不再對超大系統(tǒng)夠用。例如,當系統(tǒng)中節(jié)點的數(shù)量“N”是一萬億時,在使用傳統(tǒng)的O(logN)路由技術(shù)時最壞情況下的中繼段計數(shù)是20(當b為4,且大約有60個條目)。在“路由性能”一節(jié)中更詳細描述的一個實現(xiàn)中,采用此處所描述的路由技術(shù)的具有一萬億個節(jié)點的系統(tǒng)中的平均路由被減少到5.5個中繼段。
示例性環(huán)境圖1所示是被配置成提供對等網(wǎng)絡(luò)的系統(tǒng)100的一個示例性實現(xiàn)。系統(tǒng)100包括多個客戶機102(a),其中“a”可以是從1到“A”的任何整數(shù),它通過網(wǎng)絡(luò)106在通信上耦合至多個計算設(shè)備104(1)-104(B)。在此實現(xiàn)中,多個客戶機102(a)和多個計算設(shè)備104(1)-104(B)的每一個表示網(wǎng)絡(luò)106中的一個節(jié)點。節(jié)點可以被認為是發(fā)送數(shù)據(jù)的連接點,如向其它節(jié)點提供數(shù)據(jù)的重新分發(fā)點,和/或作為數(shù)據(jù)的目的地和/或來源的端點。
多個客戶機102(a)和多個計算設(shè)備104(1)-104(B)可以用各種方式來配置。例如,客戶機102(a)和計算設(shè)備104(1)-104(B)可被配置成能夠通過網(wǎng)絡(luò)106通信的計算機,如無線電話(如,計算設(shè)備104(1))、圖形輸入板計算機(如,計算設(shè)備104(2))、筆記本計算機(如,計算設(shè)備104(3))、臺式機(如,計算設(shè)備104(4))、服務(wù)器(如,計算設(shè)備104(5)-104(6))、大型機(如,計算設(shè)備104(B))以及其它計算設(shè)備,如移動站、娛樂設(shè)備、機頂盒等等。對示例性計算設(shè)備的進一步討論可參考圖10找到。由此,多個客戶機102(a)和計算設(shè)備104(1)-104(B)的范圍可從具有足夠存儲器和處理器資源的全資源設(shè)備(如,個人計算機、配備了硬盤的電視錄像機)到具有有限存儲器和/或處理資源的低資源設(shè)備(如,傳統(tǒng)的機頂盒)??蛻魴C102(a)也可涉及操作該客戶機的個人和/或?qū)嶓w。換言之,客戶機102(a)可描述包括用戶和/或機器的邏輯客戶機。
網(wǎng)絡(luò)106被配置成對等網(wǎng)絡(luò)。對等網(wǎng)絡(luò)允許網(wǎng)絡(luò)106的節(jié)點訪問位于每一節(jié)點,即多個客戶機102(a)和多個計算設(shè)備104(1)-104(B)上的共享資源。在過去已知并使用的對等網(wǎng)絡(luò)的示例包括以下·Freenet(自由網(wǎng)),如由I.Clarke、B.Wiley、O.Sanberg和T.Hong在“FreenetA Distributed Anonymous Information Storage and Retrieval System”,Proc Int.Workshop on Design Issues in Anonymity and Unobservability,Springer Verlag,LNCS2009,2001中所描述的;·Chord(圖形樹),如由I.Stoica、R.Morris、D.Karger、M.F.Kaashoek、H.Balakrishnan在“Chord A Scalable Peer-to-peer Lookup Service for InternetApplications”,Proc.ACM SIGCOMM′01,圣地亞哥,加利福尼亞州,美國,2001中所描述的;·CAN,如由S.Ratnasamy、P.Prancis、M.Handley、R.Karp和S.Shenker在“AScalable Content-Addressable Network”,Proc.ACM SIGCOMM′01,圣地亞哥,加利福尼亞州,美國,2001中所描述的;
·Pastry,如由A.Rowstron和P.Druschel在“PastryScalable,Decentralized ObjectLocation and Routing for Large-Scale Peer-to-Peer Systems”,IFIP/ACM Int.Conf.Distributed Systems Platforms(Middleware),2001中所描述的;以及·Tapestry,如由B.Y.Zhao、J.Kubiatowicz和A.D.Joseph在“TapestryAnInfrastructure for Fault-tolerant Wide-Area Location and Routing”,Technical ReportNo.UCB/CSD-01-1141,加利福尼亞州大學伯克利分校中所描述的。
對等網(wǎng)絡(luò)可提供各種特征,如冗余度和容錯。例如,儲存在對等網(wǎng)絡(luò)中的數(shù)據(jù)可在數(shù)據(jù)由對等網(wǎng)絡(luò)的節(jié)點復制時逐漸傳播。由此,在對等網(wǎng)絡(luò)中數(shù)據(jù)可變得高度冗余,這可獲得提高的數(shù)據(jù)可靠性和可用性。
可使用對等網(wǎng)絡(luò)來交換各種資源,如數(shù)據(jù)、處理周期、數(shù)據(jù)存儲等等。由此,對等網(wǎng)絡(luò)可用于充分利用多個客戶機102(a)和多個計算設(shè)備104(1)-104(B)的集體能力。對等是一種通信模型,其中,每一節(jié)點,即“成員”可直接與另一成員通信和/或通過中間計算設(shè)備來通信??蛻魴C102(a)和計算設(shè)備104(1)-104(B)可使用諸如請求和響應(yīng)等消息通過網(wǎng)絡(luò)106通信。盡管示出了七個計算設(shè)備104(1)-104(B),在該環(huán)境中可提供各種各樣的計算設(shè)備。另外,多個客戶機102(a)也可被配置成對等網(wǎng)絡(luò)中的“對等體”,即,成員。
網(wǎng)絡(luò)106包括分布式散列表(DHT)108,它擔當客戶機102(a)和多個計算設(shè)備104(1)-104(B)之間路由消息的接口。DHT 108可以被認為是儲存(關(guān)鍵字,值)對的散列表數(shù)據(jù)結(jié)構(gòu)的分布式版本。例如,關(guān)鍵字可對應(yīng)于文件名,而值可對應(yīng)于文件的內(nèi)容。網(wǎng)絡(luò)106中的每一對等體,如計算設(shè)備104(1)-104(B)儲存(關(guān)鍵字,值)對的子集。因此,DHT 108用于找出負責對應(yīng)關(guān)鍵字的節(jié)點。換言之,DHT 108將關(guān)鍵字映射到節(jié)點,以在客戶機102(a)和多個計算設(shè)備104(1)-104(B)之間路由消息??稍贒HT 108“上方”構(gòu)建各種服務(wù),如文件共享服務(wù)、檔案存儲服務(wù)(如,web歸檔)、數(shù)據(jù)庫、命名系統(tǒng)、服務(wù)目錄、應(yīng)用層組播、事件通知、聊天服務(wù)、基于集會的通信、查詢和索引、數(shù)據(jù)發(fā)行/預訂等等。
DHT 108將多個計算設(shè)備104(1)-104(B)提供的資源劃分成多個區(qū)域110(1)-110(8),即“存儲桶(bucket)”。多個區(qū)域110(1)-110(8)的每一個可被認為是系統(tǒng)100中共享的總資源的一部分。例如,如上所述,DHT 108將資源與關(guān)鍵字相關(guān)聯(lián)。使用DHT 108散列關(guān)鍵字以找出多個區(qū)域110(1)-110(8)中特定的一個。多個區(qū)域110(1)-110(8)可以用各種方法來提供。例如,區(qū)域110(1)在圖1中可圖示地被表示為由計算設(shè)備104(1)提供。同樣,區(qū)域110(2)、110(3)、110(4)、110(5)、110(6)的每一個由相應(yīng)的計算設(shè)備104(2)、104(3)、104(4)、104(5)、104(6)提供。另外,計算設(shè)備可提供一個以上區(qū)域,它們在圖1中被圖示地表示為由計算設(shè)備104(B)提供的區(qū)域110(7)、110(8)。
DHT 108被示出為采用三層體系結(jié)構(gòu),包括葉節(jié)點集(leafset)112、網(wǎng)絡(luò)用戶查找器(finger)表114和軟狀態(tài)路由表116(SSRT)。葉節(jié)點集112用于保證關(guān)鍵字空間的完整性。例如,如上所述,葉節(jié)點集112可采用一致散列以將資源空間和節(jié)點的響應(yīng)空間劃分成多個區(qū)域110(1)-110(8)的一個或多個。
網(wǎng)絡(luò)用戶查找器表114,即中間層,可用于實現(xiàn)基于前綴的路由算法,如O(logN)前綴路由算法,其中“N”是節(jié)點總數(shù)。例如,每一節(jié)點可包括具有條目,即網(wǎng)絡(luò)用戶查找器的網(wǎng)絡(luò)用戶查找器表114,網(wǎng)絡(luò)用戶查找器指向系統(tǒng)100中的其它節(jié)點。網(wǎng)絡(luò)用戶查找器表114的條目可遵循對數(shù)函數(shù),以“進一步”順序地引用系統(tǒng)100中的節(jié)點。網(wǎng)絡(luò)用戶查找器表114的條目可通過反轉(zhuǎn)對應(yīng)的節(jié)點ID的一個比特,然后指向保留所得的關(guān)鍵字的節(jié)點來構(gòu)造。可使用周期發(fā)信標來更新葉節(jié)點集112和網(wǎng)絡(luò)用戶查找器表114的條目,如通過使用探查機制。由此,葉節(jié)點集112和網(wǎng)絡(luò)用戶查找器表114可向DHT 108提供O(logN)性能。
當系統(tǒng)顛簸速率(churn rate)μ較小(如,當節(jié)點加入或離開系統(tǒng)100)時,SSRT 116給出作為系統(tǒng)100的成員的節(jié)點的清單。由此,SSRT 116可用于快速地定位期望節(jié)點。SSRT 116的構(gòu)造可通過使用系統(tǒng)100中的所有節(jié)點的網(wǎng)絡(luò)用戶查找器來實現(xiàn),這形成了具有足夠冗余度的廣播圖。為本討論的目的,廣播指的是在圖中數(shù)據(jù)的散布,其中,一個頂點(稱為始發(fā)者)通過沿圖的邊發(fā)出一系列的調(diào)用將數(shù)據(jù)分發(fā)到所有其它頂點。一旦被通知,其它頂點協(xié)助始發(fā)者分發(fā)消息。廣播圖是其中可以 時間單位實現(xiàn)廣播的圖。
圖2所示是一個示例性實現(xiàn)的系統(tǒng)200,其中,更詳細地示出了對等網(wǎng)絡(luò)的多個節(jié)點202(x),其中“x”可以是從1到“X”的任何整數(shù)。節(jié)點202(x)可以與圖1的系統(tǒng)100中的節(jié)點,如計算設(shè)備104(1)-104(H)和客戶機102(a)相同或不同。節(jié)點202(x)被示出為包括對應(yīng)的DHT 108(x),它具有葉節(jié)點集112(x)、網(wǎng)絡(luò)用戶查找器表114(x)和SSRT 116(x),對它們給予標號以表明對于特定的節(jié)點202(x),這些表是圖1的DHT 108、葉節(jié)點集112、網(wǎng)絡(luò)用戶查找器表114和SSRT 116的各個版本。
節(jié)點202(x)可通過從相應(yīng)的節(jié)點接受描述成員資格改變的一個或多個事件,如“加入”或“離開”事件,來監(jiān)視葉節(jié)點集112(x)的其它節(jié)點的成員資格。當節(jié)點202(x)觀察到成員資格變化時,節(jié)點202(x)將多個事件204(c),如加入或離開事件的一個或多個插入到報告206(x)中。報告206(x)以預定義的廣播間隔通過由網(wǎng)絡(luò)用戶查找器表114(x)描述的節(jié)點202(x)的每一網(wǎng)絡(luò)用戶查找器并行地廣播。多個節(jié)點202(x)的每一個可通過構(gòu)建描述節(jié)點所觀察到的事件的報告,并描述從系統(tǒng)200中的其它節(jié)點涌出(flood)的事件,減去已由節(jié)點202(x)描述的事件,來執(zhí)行相同的操作。由此,提供了一種涌出算法,它提供了足夠的冗余度(O(logN)),以用高傳播速度傳遞可靠的廣播(平均為O(logN))。
為控制維護成本,如果超過了限額,可將事件內(nèi)部地緩存在隊列208(x)中。另外,DHT 108可通過使用一個或多個規(guī)則自適應(yīng)地處理健壯性。例如,為確保SSRT 116(x)條目是高質(zhì)量的(如,SSRT 116(x)條目描述了圖1的系統(tǒng)100的當前成員資格),則描述特定節(jié)點離開系統(tǒng)100的“離開”事件在其它事件,如“加入”事件之前被發(fā)送。以此方式,系統(tǒng)100在被通知另一節(jié)點何時加入系統(tǒng)100之前,始終知道資源何時從離開系統(tǒng)的節(jié)點不可用,這用于重建系統(tǒng)100平衡。對系統(tǒng)平衡的進一步討論可在“自適應(yīng)”一節(jié)中找到。
在穩(wěn)定狀態(tài),可通過解以下方程式找出有效SSRT 116(x)條目M的數(shù)量Q=4μ·E·M·logN其中,E是事件的大小。在一個實現(xiàn)中,事件是34字節(jié),并包括描述事件類型、事件標記、IP地址和節(jié)點ID的數(shù)據(jù)。方程式中的常數(shù)“4”考慮了發(fā)送和接收以及每一會話的一個加入和一個離開操作的帶寬成本。
由此,DHT 108(x)可推廣地利用累計,它在時域(如,報告中的成批事件)和空間域(如,用Olog2N節(jié)點的交互)兩者中實行。另外,通過使用廣播來傳遞成員資格變化,即使維護了全群集,當沒有事件要傳遞時,在網(wǎng)絡(luò)中幾乎沒有話務(wù),導致了提高的網(wǎng)絡(luò)效率。
DHT在本節(jié)中,將在具有超大規(guī)模的系統(tǒng)的動態(tài)環(huán)境中描述DHT 108體系結(jié)構(gòu)的使用。DHT 108提供了具有非常大的b(如,b約等于4,000)O(logbN)路由的效果,它不需要每一條目的活動探查。如上所述,盡管發(fā)送和/或響應(yīng)一個探查來更新DHT108中的條目所需的帶寬消耗較小,然而當在圖1的系統(tǒng)100的部分或所有上累計時,發(fā)送和響應(yīng)大量的探查會導致相當大的額外開銷。另外,降低探查頻率可能不是期望的,因為要檢查丟失的成本是高的,如,丟失會導致隨機IP中繼段來定位系統(tǒng)中的期望資源。
在以下實現(xiàn)中,N等于1萬億時b=4,000的基于前綴的路由性能被復制。為以下討論的目的,廣播預算Q是5kb/s,而系統(tǒng)顛簸速率μ被假定為1/(3小時)。這些參數(shù)準許使用DHT 108構(gòu)建4K大小的全群集。應(yīng)當清楚,通過此處描述的路由技術(shù),可解決各種廣播預算和系統(tǒng)顛簸速率。
可用于傳遞這類性能的路由技術(shù)的一個示例包括兩個組成部分。第一個組成部分涉及使用廣播預算的四分之一,即Q/4為子區(qū)域而非整個資源空間構(gòu)建水平條(corssbar)。第二個組成部分是設(shè)計一種機制以使用四個這樣的水平條在路由時旋轉(zhuǎn)40個比特。這些組成部分的每一個依次在以下小節(jié)中討論。
構(gòu)建子區(qū)域水平條對某一整數(shù)“i”,總資源空間T可被劃分成t/2i個區(qū)域。例如,劃分可以是,每一區(qū)域M平均包含大約一千個節(jié)點。對于任意的節(jié)點x,設(shè)R(x)為它所屬的區(qū)域,并設(shè)beamers(x)是落入R中的x的網(wǎng)絡(luò)用戶查找器的子集,即,指向該區(qū)域R中的其它節(jié)點。由此,對于共享同一R的所有節(jié)點,對應(yīng)的射束器(beamer)共同形成了覆蓋R且具有相當大的冗余度的廣播圖。通過在DHT 108中經(jīng)由射束器應(yīng)用相同的廣播協(xié)議,可向這些節(jié)點的每一個提供覆蓋對應(yīng)的區(qū)域R的對應(yīng)的SSRT。帶寬成本可計算如下4μ·E·M·logM。由此,對于當前實現(xiàn),其中E=34B并且μ=1/(3小時),帶寬成本約為1kb/s。以此方式,滿足第一組成部分,即使用小于Q/4來構(gòu)建可用一個中繼段解析最短的10個以2為底數(shù)的網(wǎng)絡(luò)用戶查找器范圍的群集。本質(zhì)上,子區(qū)域群集可被認為是1K個節(jié)點的葉節(jié)點集。例如,如果查找關(guān)鍵字落入此范圍內(nèi),則一個中繼段足以找出期望的資源。
R可以用各種方法來估算。例如,每一節(jié)點可使用其對應(yīng)的葉節(jié)點集的信息來計算平均區(qū)域大小z。下一節(jié)點然后可作出區(qū)域R的估算為比z遠10個比特。如上所述,射束器是區(qū)域估算內(nèi)的網(wǎng)絡(luò)用戶查找器。邊界可通過丟棄由位于區(qū)域估算外的節(jié)點發(fā)送的加入事件來進一步實施。由此,節(jié)點的SSRT不會被來自相鄰區(qū)域的條目搞壞。
圖3所示是描述了對等網(wǎng)絡(luò)中實現(xiàn)的系統(tǒng)中的若干節(jié)點的SSRT的一維邏輯關(guān)鍵字空間300。一維邏輯關(guān)鍵字空間300的第一區(qū)域302可由圖2的多個節(jié)點202(x)的第一個的SSRT來描述,一維邏輯關(guān)鍵字空間300的第二區(qū)域304可由圖2的多個節(jié)點202(x)的第二個的SSRT來描述,依此類推。圖3所示的虛線表示理論上的區(qū)域劃分線。由此,如圖3所示,SSRT由覆蓋對應(yīng)節(jié)點的對應(yīng)區(qū)域的條目填充。
解析多個塊為以下討論的目的,每一節(jié)點的ID長度為160比特,并且ID的10比特段被稱為“塊”。如上所述,ID可被認為是節(jié)點在對等網(wǎng)絡(luò)中的地址。b=4K的基于前綴的路由一次解析一個塊。在具有1萬億個節(jié)點的系統(tǒng)的當前示例中,一共有四個10比特塊要解析。
路由通過經(jīng)由網(wǎng)絡(luò)用戶查找器一次匹配地址的一個比特地在區(qū)域群集中繼續(xù),直到目的地在最短的10個網(wǎng)絡(luò)用戶查找器覆蓋的區(qū)域之內(nèi)。在這一點上,SSRT在一個中繼段中提交對資源的訪問。有效的是,這最后10個網(wǎng)絡(luò)用戶查找器可被擴展成210個SSRT條目,以擴展這一訪問。換言之,位于其它前導塊中的網(wǎng)絡(luò)用戶查找器被擴展成SSRT條目,以包括在同一前綴范圍內(nèi)。
在1萬億個節(jié)點的系統(tǒng)中,每一節(jié)點平均具有40個網(wǎng)絡(luò)用戶查找器。為以下討論的目的,使用Ring0來表示基環(huán)。另外,為以下討論的目的,節(jié)點的ID被劃分成10比特的塊,它們?nèi)鐖D4所示地按字母表命名。盡管示出了10比特的塊,然而塊可以使用不同數(shù)量的比特。例如,每一塊可具有兩個或多個比特,可五個或多個比特,等等。
例如,考慮圖4中的塊A 402。為構(gòu)建塊A 402的SSRT條目,將ID 404向右旋轉(zhuǎn),以獲得新的IDA 406,其中,塊A 402′在第四塊。每一節(jié)點使用IDA406來加入表示為RingA的環(huán)。RingA以與Ring0相同的方式構(gòu)建,具有其自己的葉節(jié)點集和O(log2N)個網(wǎng)絡(luò)用戶查找器。在其上方,類似地應(yīng)用子區(qū)域群集算法。因此,節(jié)點獲得1K大小的RingA中的SSRTA408,并且條目是其IDA共享前導的三個塊(即,N|O|P),但在第四個塊,即塊A 402′中改變的節(jié)點。
ID 404和IDA 406的關(guān)系意味著這四個節(jié)點依次為共享ID的最后三個塊,但是在Ring0的塊A中改變的節(jié)點。因此,將塊A中10個以2為底數(shù)的網(wǎng)絡(luò)用戶查找器擴展成210個SSRT條目的任務(wù)得以完成??蓪KB、C和D(如,SSRTD410)執(zhí)行類似的安排。每一環(huán)幫助構(gòu)建覆蓋對應(yīng)的塊的SSRT條目。
在此示例中一共構(gòu)建了四個環(huán)。為以下討論的目的,塊A的SSRT條目被表示為SSRTA,塊B的SSRT條目被表示為SSRTB,依此類推。最終的SSRT是四個較小的SSRT(如,SSRTA、SSRTB、SSRTC、SSRTD)的組合,并大小近似為4K。使用DHT的路由可前進,其中,比特盡可能累計地匹配,用于通過中間中繼段前進。
路由圖5所示是通過使用位于圖1的系統(tǒng)100的每一節(jié)點上的SSRT表執(zhí)行的路由的一個示例性實現(xiàn)500。結(jié)合SSRT 504使用查找關(guān)鍵字502,以定位具有特定地址506的節(jié)點。如先前的小節(jié)中所描述的,SSRT 504包括引用具有帶有各種級別的相似度的地址的節(jié)點。
例如,SSRT 504可由多個部分508、510、512、514組成,它們具有相應(yīng)的SSRT 516、518、520、522條目。第一部分508包括引用具有可在塊A 524中描述的不同地址的每一節(jié)點的SSRTA516條目。第二部分510包括引用具有對地址塊A彼此匹配的地址的每一節(jié)點的SSRTB518條目。然而,第二部分510引用具有可在塊B 524中描述的相應(yīng)不同地址的每一節(jié)點。換言之,SSRTB 518中的所有條目具有彼此匹配的相應(yīng)的塊A,但是具有不同的塊B。同樣,第三部分包括引用具有彼此匹配的相應(yīng)地址塊A和B的每一節(jié)點的SSRTC520條目。然而,第三部分引用具有可在塊C中描述的每一不同地址的每一節(jié)點。因此,SSRTC520中的每一條目具有相應(yīng)的匹配塊A和B,但具有不同的塊C。最后,第四部分514包括引用具有匹配地址塊A、B和C的每一節(jié)點的SSRTD522條目。然而,第四部分514引用具有可在塊D中描述的不同地址中的一個的每一節(jié)點。由此,SSRTD518中的所有條目具有匹配的塊A、B和C,但是具有不同的塊D,這提供了到相應(yīng)節(jié)點的“一個中繼段”路由。以此方式,由相應(yīng)節(jié)點維護的每一SSRT可描述具有相似地址的節(jié)點的不同層次,以提供對等網(wǎng)絡(luò)中的有效路由。
例如,SSRT 504可用于通過使用查找關(guān)鍵字502檢查SSRT 504來找出特定的資源。如果查找關(guān)鍵字502的塊A 524、B 526、C 528和D 530與SSRT 04表的SSRTD522中描述的對應(yīng)塊A、B、C和D相匹配,則SSRT 504可用于將請求直接路由到對應(yīng)的源節(jié)點506,即以一個中繼段路由。
在另一示例中,如果查找關(guān)鍵字502的塊A和B 524、526與SSRT 504的塊A和B相匹配,但是塊C不匹配,則將查找關(guān)鍵字502與SSRTC520比較,以跳至描述具有匹配的塊A、B和C的節(jié)點的對應(yīng)節(jié)點。對應(yīng)的節(jié)點然后可具有一帶有四部分的SSRT,它可用于以一個中繼段定位源節(jié)點506??墒褂玫谝缓偷诙糠?08、510,基于查找關(guān)鍵字中的多少與SSRT 504中的條目匹配,來執(zhí)行類似的查找。由此,每一節(jié)點包括可用于快速定位超大系統(tǒng)中的節(jié)點的SSRT。
圖6所示是使用位于圖1的系統(tǒng)100的每一節(jié)點上的圖6的SSRT表來執(zhí)行路由的一個示例性實現(xiàn)600。如先前相對于圖4所描述的,SSRT可從引用對等網(wǎng)絡(luò)中的每一節(jié)點的位置的多個環(huán),通過旋轉(zhuǎn)每一節(jié)點的標識符來構(gòu)造。例如,ringA602可具有SSRTA604,它具有多個條目。在此示例中,SSRTA604的每一條目最初具有彼此匹配的三個塊(在圖6中被示為“N|O|P”)。SSRTA604中的第四個塊“A”描述了系統(tǒng)中具有該第四個塊的對應(yīng)地址的每一位置。為對SSRTA604構(gòu)造條目,“旋轉(zhuǎn)”ID,即節(jié)點在對等網(wǎng)絡(luò)中的地址。例如,旋轉(zhuǎn)(608)地址606“110|…N|O|P”以形成ID 610“N|O|P|110|…”,它包括在SSRTA604中。以此方式,可構(gòu)造一SSRT,它減少了被執(zhí)行來定位超大系統(tǒng)中期望資源的中繼段的數(shù)量。
路由性能在上述實現(xiàn)中,較高塊中的路由解析對每一塊采用略微多于一個中繼段,除最短的十個網(wǎng)絡(luò)用戶查找器所覆蓋的范圍內(nèi)的目的地之外。例如,考慮圖5所示的1萬億個節(jié)點的系統(tǒng)。當節(jié)點x啟動查找時,目的地關(guān)鍵字k是隨機的。設(shè)addrA(k)為k的A塊(即,十個最高位),因此addrA(k)具有210個可能值。如上所述,1K個SSRTA(x)條目是其ID共享ID(x)的最后三個塊,但是在塊A處不同的節(jié)點。由于節(jié)點ID是隨機的,它不保證SSRTA(x)條目的“A”塊也包含addrA(k)的210個可能值。
上述問題等效于將完整的資源空間劃分成大約1000個箱(bin),然后SSRTA(x)中的節(jié)點以及x本身是隨機地落入這些箱中的球。如圖6所示,當且僅當由addrA(k)索引的箱不為空時,塊A中的查找可用一個中繼段來解析。類似地,如果空間被劃分成512個箱,并且addrA(k)指向不為空的箱,則可使用SSRTA(x)來解析九個最高位,剩下一個中繼段在開始使用另一節(jié)點的SSRTB之前使用來自網(wǎng)絡(luò)用戶查找器表的普通“網(wǎng)絡(luò)用戶查找器”來解析。
設(shè)Pi是至少可解析i個比特的概率,為計算Pb,將空間劃分成2i個箱,并且210個球落入該空間中。因此,1-Pi為(1-2-i)1024,換言之,可隨機地挑選其中沒有球的箱,這可以被近似為e-2^(10-i),因此Pi=1-e-2^(10-i)。
在這一點上,可計算期望的中繼段數(shù)。設(shè)pi=Pi-Pi+1,對i≤9,其中,pi是使用SSRTA確切地解析了i個比特的概率。可觀察到
H=1·p9+2·p8+3·p7...
=1·(p9-p10)+2·(p8-p9)+3·(p7-p8)...
=e-1+e-2+e-4...
=0.52因此,解析塊A(或除采用了一個中繼段的最后一個塊之外的任何其它塊)平均采用了1.52個中繼段。由此,如果N等于1萬億,則平均路由將約采用5.5個中繼段。
參考1萬億個節(jié)點的系統(tǒng)描述了性能。一般而言,平均性能由 界定。因此,如果N=256,000,則最壞情況的性能很可能為2.02,而非2.52。例如,SSRTA可用期望的1.02的中繼段計數(shù)簡單地解析8個比特。在這一點上,用剩余的10個網(wǎng)絡(luò)用戶查找器構(gòu)建的全水平條將提交最終的中繼段。類似地,如果N=2億5600萬,則性能很可能由3.54個中繼段界定。
維護成本和健壯性如上所述,用系統(tǒng)顛簸速率μ=1/(3小時)維護一個環(huán)中一千個節(jié)點的區(qū)域群集的總成本大約為1kb/s。維護四個環(huán)的SSRT使用大約該成本的4倍。由此,每一節(jié)點對SSRT維護將消耗總共4kb/s。其它成本包括在所有四個環(huán)的葉節(jié)點集成員和網(wǎng)絡(luò)用戶查找器中的周期性探查,相比而言,它具有相對較小的成本。應(yīng)當注意,這給出了1萬億個節(jié)點的系統(tǒng)中5.5中繼段的平均路由性能。
自適應(yīng)即使先前的示例性路由技術(shù)中描述的平均帶寬消耗符合帶寬預算Q,仍有可能遇到帶寬消耗中的峰值。因此,如相對于圖2所描述的,可在圖2的隊列208(x)中內(nèi)部地緩存事件,直到有額外的帶寬變得可用。也可采用各種其它自適應(yīng)技術(shù)來控制系統(tǒng)中出現(xiàn)動態(tài)變化時的SSRT質(zhì)量。例如,可使用自適應(yīng)技術(shù)來適度地降低使用壓力大時的路由性能,并在之后返回到正常的路由性能。
示例性的第一個這樣的自適應(yīng)技術(shù)解決了高系統(tǒng)顛簸速率μ的問題,也將系統(tǒng)穩(wěn)定到穩(wěn)定條件下的平衡。這一自適應(yīng)技術(shù)涉及“剪除”包括在報告中的多余事件,以自適應(yīng)地控制廣播話務(wù)。最終結(jié)果是維護良好的、高質(zhì)量的SSRT。對使得多余事件不被包括在內(nèi)的報告的配置的進一步討論可參考圖8找到。
示例性的第二個這樣的自適應(yīng)技術(shù)在第一個自適應(yīng)技術(shù)上構(gòu)建,其中,如相對于圖3所示的SSRT變成覆蓋總資源空間的一部分的水平條。第一和第二種自適應(yīng)技術(shù)可被組合以形成包括在每一節(jié)點上的SSRT,使得當組合每一節(jié)點的SSRT時,可通過組合這兩種優(yōu)化來獲得多層的體系結(jié)構(gòu)。例如,可采用一種兩層的體系結(jié)構(gòu),其中第一層覆蓋整個資源空間,而第二層提供了區(qū)域水平條。在另一示例中,如相對于圖5所描述的可采用四層的體系結(jié)構(gòu)。采用這一混合的方法,對于具有大量節(jié)點的系統(tǒng)可達到O(1),而仍不會超過帶寬預算Q。
在一個實現(xiàn)中,設(shè)“eSSRT”表示其狀態(tài)為“在線”的SSRT條目的一個子集??墒褂眠^濾,以eSSRT的大小為代價下確保該狀態(tài)盡可能地準確。即,用更大量的假否定(false-negative)條目實現(xiàn)低假肯定(false-positive)率。理由是“丟失”一般比“擊中”成本更高。
為實現(xiàn)這一目標,過濾可使用各種規(guī)則,其示例示出如下1.用較高的優(yōu)先級發(fā)送離開事件,以確保低假陽信率。
2.如果事件不是要改變狀態(tài),則不傳播該事件。
第二條規(guī)則可通過使用狀態(tài)機來實現(xiàn)。例如,如果事件類型與狀態(tài)機所指示的當前狀態(tài)相一致,則更新時間標記而不改變當前狀態(tài);并且否則對該狀態(tài)求反(negate)。在后一情況下,也對has-sent(已發(fā)送)字段求反。例如,其狀態(tài)為“在線”且has-sent為假的條目在接收“離開”事件之后,將狀態(tài)改為“離線”,并將has-sent設(shè)為真。換言之,這一特定的事件不需要被進一步傳播。由此,在緩存事件的幫助下剪除了多余的消息。
通過使用這些技術(shù),系統(tǒng)將自動達到平衡,因為緩存的事件可幫助剪除將來接收的事件。當系統(tǒng)顛簸速率μ較高時,在與要緩存的任何“溢出”加入事件相適應(yīng)的開始處,離開事件將占用大多數(shù)帶寬配額。在稍后的時間點,當被接收時,緩存的加入事件將刪除離開事件,由此給予共享來釋放加入事件。當系統(tǒng)顛簸速率μ變得穩(wěn)定時,用于發(fā)送加入和離開事件的網(wǎng)絡(luò)和節(jié)點資源的共享最終將近似相等。由此,系統(tǒng)顛簸速率越高,這一方法在降低對等網(wǎng)絡(luò)中的網(wǎng)絡(luò)資源的總體使用方面就更有效。其次,當帶寬配額再次變得可用時,將釋放緩存的事件,這允許系統(tǒng)經(jīng)受住事件風暴(如,成員資格的迅速變化導致多個事件在特定的時間點被傳播)并在之后迅速返回到正常的性能級別。以此方式,可提供一種健壯的路由技術(shù)。
設(shè)置調(diào)和(set-reconciliation)使用大路由表對任一DHT路由技術(shù)的一個實際問題是如何令返回的對等體路由表變得最新,這被稱為設(shè)置調(diào)和。例如,在上述的路由技術(shù)中,在加入對當網(wǎng)絡(luò)時引發(fā)了如何獲取最新的SSRT的問題,因為返回的節(jié)點的葉節(jié)點集和網(wǎng)絡(luò)用戶查找器表都可以在每次當節(jié)點加入對等網(wǎng)絡(luò)時新構(gòu)造。
例如,SSRT可在后臺持久保存在穩(wěn)定存儲中,并且其成員資格列表(如,具有所有其它節(jié)點的<ID,IP>對的條目)包括節(jié)點在其過去的整個歷史中所學到的任何東西。對系統(tǒng)完全為新的節(jié)點可在它第一次加入時復制SSRT。因此,當系統(tǒng)操作了足夠的時間段之后,SSRT中設(shè)置的成員資格列表一般將在整個系統(tǒng)中都一致。
然而,當離開的節(jié)點返回到對等網(wǎng)絡(luò)時(如,加入到對等網(wǎng)絡(luò)),加入的節(jié)點可能不知道在其對應(yīng)的SSRT中記錄的對等體的狀態(tài)。因此,加入的節(jié)點可將SSRT中的每一條目復位到離線狀態(tài),然后試圖從對等網(wǎng)絡(luò)中的一個或多個現(xiàn)有節(jié)點學習。例如,如果兩個節(jié)點的SSRT彼此同步,則現(xiàn)有節(jié)點可發(fā)送一矢量,該矢量的每一比特表示來自現(xiàn)有節(jié)點的SSRT的其它對等體的狀態(tài)。例如,當系統(tǒng)顛簸速率μ較高,且離線條目的數(shù)量較少時,復制eSSRT是可行的。例如,可花費大約8秒來傳輸約4K個條目,其每一個具有128kb/s鏈路上的32字節(jié)。然而,當系統(tǒng)顛簸速率μ較低或在超大的系統(tǒng)中,這可能不是健壯的解決方案。
對于描述SSRT條目的數(shù)據(jù)的更有效的通信,可用光暈濾波器來壓縮數(shù)據(jù),以減少用于更新SSRT的帶寬量。以此方式,可在超大系統(tǒng)中提供有效的通信。光暈濾波器是用于通過使用對單個比特數(shù)組的多個散列函數(shù)來測試大集合中的成員資格的概率性算法。例如,光暈濾波器可在空間/帶寬是一個問題,且容許較小的誤差時有效地起作用。
例如,在光暈濾波器中,可將n項的列表壓縮成m個比特,即每項b=m/n,其中“b”表示“濾波器參數(shù)”。對于每一項,應(yīng)用其值域落入
的一組散列函數(shù),并設(shè)置m比特矢量中的對應(yīng)比特。光暈濾波器的副作用是會出現(xiàn)假肯定,即,接收節(jié)點會錯誤地包括位于原始列表之外的某些元素。這一概率被示出為(0.6185)b,并且如果m=8n,則概率僅大于0.02。
如果項的大小是E字節(jié),則作為發(fā)送nE字節(jié)的列表的替代,用b=8,則濾波器的大小是8n比特(即,n字節(jié)),導致1/E的壓縮比。例如,為傳輸節(jié)點ID和IP地址,但是不傳輸時間標記,E可約等于32字節(jié),并且由此所得的1/32壓縮率是相當可觀的。在一個實現(xiàn)中,第一協(xié)議在非在線的條目上應(yīng)用光暈濾波器。光暈濾波器的假肯定則意味著2%的在線節(jié)點在接收端被記錄為離線。
在另一實現(xiàn)中,可通過使用“迭代光暈濾波器”進一步提高準確度。例如,發(fā)送節(jié)點,即發(fā)送更新接收節(jié)點的SSRT的數(shù)據(jù)的節(jié)點,首先用較小的濾波器參數(shù)a計算在線節(jié)點P(PRESENT)的濾波器。發(fā)送節(jié)點然后標識一組假肯定節(jié)點AP,并應(yīng)用具有濾波器參數(shù)b的補充濾波器。然后將兩個濾波器發(fā)送到接收節(jié)點,即,請求更新SSRT的數(shù)據(jù)的節(jié)點。定性地說,這導致一種保守的方法,因為某些在線節(jié)點將被丟失。從統(tǒng)計方面而言,這些條目的數(shù)量與單級光暈濾波器相同,因為光暈濾波器的誤碼率僅取決于濾波器參數(shù)。
圖7描述了一個示例性迭代光暈濾波器700。迭代光暈濾波器700被描述為包括三個光暈濾波器702(1)-702(3)的組。P704和A706是每一濾波器的假肯定條目組。
為計算迭代方法是否能給出帶寬節(jié)省,設(shè)Na和Np分別是離線和在線節(jié)點的數(shù)量。對于單級b比特光暈濾波器,總消息大小是bNa比特。迭代方法的第一濾波器具有消息大小aNp。A的大小,即假肯定條目的數(shù)量,為Na(0.6185)a。因此,補充濾波器具有大小Nab(0.6185)a,得到總消息大小S,表示如下S=Nab(0.6185)a+aNp為獲得最小消息大小,觀察到dSda=Np-0.4805·b·Na(0.6185)a=0]]>由于“a”是非負整數(shù),因此可將該方程式分解成以下兩種情況a=log0.6185NP0.4805NabNp<0.4805Naba=0Np>=0.4805Nab]]>在上述示例性實現(xiàn)中,當濾波器參數(shù)b等于8,并且對Na小于Np的25%的情況,可采用單級光暈濾波器。其示例性偽代碼示出如下OnSetReconcileRequest()Np=SSRT.OnlineSet.SizeNa=SSRT.OfflineSet.Sizeif(Np<0.4805*Na*b)a=log(Np/(0.4805*Na*b))/log(0.6185)
F1=BloomFilterPack(SSRT.OnlineSet,a)P=BloomFilterUnpack(SSRT,F(xiàn)1)A=P-SSRT.OnlineSetF2=BloomFilterPack(A,b)Send(F1,F(xiàn)2);elseF1=BloomFilterPack(SSRT.OfflineSet,b)Send(F1,0)OnSetReconcileAck(F1,F(xiàn)2)foreach(entry∈SSRT)if InBloomFilter(entry,F(xiàn)1)if F2==0 or not InBloomFilter(entry,F(xiàn)2)entry.status=online在上述設(shè)置調(diào)和偽代碼中,b是預定義的(如,8),并且接收端的SSRT的條目都從離線狀態(tài)開始。
示例性過程以下討論描述了可使用先前描述的系統(tǒng)和設(shè)備實現(xiàn)的SSRT更新和配置。每一過程的各方面可以用硬件、固件或軟件,或其組合來實現(xiàn)。過程被示出為指定了由一個或多個設(shè)備執(zhí)行的操作的一組塊。過程不必要限于為執(zhí)行相應(yīng)塊的操作所示的順序。
圖8所示是一個示例性實現(xiàn)中的過程800的流程圖,其中,節(jié)點形成描述由該節(jié)點接收的指示對等網(wǎng)絡(luò)中的成員資格變化的報告并傳遞該報告。在塊802,節(jié)點接收指示對等網(wǎng)絡(luò)中的成員資格變化的事件。例如,第一節(jié)點可選擇一隨機標識符ID,并執(zhí)行查找來確定該標識符是否包括在對等網(wǎng)絡(luò)內(nèi)。標識符可被認為是對等網(wǎng)絡(luò)中的第一節(jié)點的地址。如果標識符ID尚未包括在對等網(wǎng)絡(luò)中,則第一節(jié)點可定位具有下一最高標識符(表示為ID′)的“繼承者”節(jié)點,并向該繼承者節(jié)點通知第一節(jié)點已加入到對等網(wǎng)絡(luò)中。可通過向繼承者節(jié)點傳遞“加入”事件來執(zhí)行通知。
在判別塊804,確定節(jié)點先前是否接收到事件。如果節(jié)點先前接收到了事件(塊804),則刪除該事件(塊806)。由此,在此示例中,事件不被該節(jié)點傳播一次以上。在另一示例中,可使用閾值將事件傳遞預定的次數(shù),以提供實現(xiàn)對等網(wǎng)絡(luò)的系統(tǒng)中的期望的冗余度。
如果節(jié)點先前未接收到事件(塊804),則在判別塊808,確定是否超過了將事件傳遞到其它節(jié)點的閾值。如果超過了閾值(塊808),則將事件添加到隊列(塊801)。以此方式,過程800可通過在給定的時間段傳遞不超過預定數(shù)量的事件來控制對等網(wǎng)絡(luò)中的維護成本。
如果未超過閾值(塊808)或在事件被添加到隊列(塊810)之后,在判別塊812確定是否達到了預定的廣播時間。例如,對等網(wǎng)絡(luò)中的每一節(jié)點可廣播該節(jié)點在不同的預定間隔接收的事件,以“展開”網(wǎng)絡(luò)資源中用于傳遞該事件的成本。如果尚未達到預定的廣播時間(塊812),則過程800返回到塊802以接收額外的事件(如果有的話)。
當達到該節(jié)點的預定廣播時間時(塊812),形成包括該事件的報告。例如,節(jié)點可累計從多個節(jié)點接收的事件,使得發(fā)送具有該事件的單個通信。該事件可從在塊810儲存的事件隊列中獲取,和/或從用于儲存在該節(jié)點處接收的事件的其它存儲中獲取。
在塊816,檢查一路由表以確定何處廣播該報告。在塊818,向路由表中引用的每一節(jié)點并行地廣播該報告。相應(yīng)塊816、818處的路由表和廣播可用各種方法來執(zhí)行。例如,路由表可被配置成圖1的網(wǎng)絡(luò)用戶查找器表114,它使用對數(shù)函數(shù)來描述多個其它節(jié)點。網(wǎng)絡(luò)用戶查找器表114可通過探查對應(yīng)于條目的節(jié)點來更新。如上所述,圖1的網(wǎng)絡(luò)用戶查找器表114的“網(wǎng)絡(luò)用戶查找器”形成了一廣播圖,它具有足夠的冗余度,使得報告被分發(fā)到節(jié)點所駐留的區(qū)域中的節(jié)點。在另一實現(xiàn)中,網(wǎng)絡(luò)用戶查找器也可用于將報告廣播到位于區(qū)域外的其它節(jié)點。
接收報告的每一節(jié)點可執(zhí)行過程800,使得報告中所描述的事件被廣播到包括在每一順序節(jié)點中的網(wǎng)絡(luò)用戶查找器表中引用的節(jié)點。由此,通過傳遞事件,事件經(jīng)由相應(yīng)的網(wǎng)絡(luò)用戶查找器表定義的廣播圖從始發(fā)節(jié)點散布到所有其它節(jié)點。一旦在其它節(jié)點處接收了事件,其它節(jié)點幫助始發(fā)節(jié)點分發(fā)事件。
報告中所描述的事件然后可由每一節(jié)點用于更新包括在其中的相應(yīng)SSRT。由此,SSRT可用于減少定位期望數(shù)據(jù)所需的中繼段的數(shù)量,并減少用于維護路由表的網(wǎng)絡(luò)帶寬量。
圖9所示是一個示例性實現(xiàn)中的過程900的流程圖,其中,路由表大小基于節(jié)點的可用資源來動態(tài)地確定。在對等網(wǎng)絡(luò)的某些實現(xiàn)中,網(wǎng)絡(luò)的每一節(jié)點可能無法訪問相等的硬件、軟件和/或網(wǎng)絡(luò)資源。例如,如圖1所示,計算設(shè)備104(B)可能具有相當大量的硬件和軟件資源,而計算設(shè)備104(1)可能具有有限的硬件和軟件資源,因為計算設(shè)備104(1)被設(shè)計成便攜式的。另外,節(jié)點可能具有不同的帶寬來連接到網(wǎng)絡(luò),比如一個節(jié)點可使用撥號連接,而另一節(jié)點可使用數(shù)字訂戶線(DSL)。這些節(jié)點的每一個的路由表被基于節(jié)點的可用資源來動態(tài)地配置,使得節(jié)點被配置成以與其可用資源相一致的方式處理對等網(wǎng)絡(luò)中的路由。
例如,在塊902,節(jié)點加入對等網(wǎng)絡(luò)。例如,節(jié)點可如上所述地生成一隨機標識符。在塊904,節(jié)點確定其可用硬件、軟件和/或網(wǎng)絡(luò)資源。例如,節(jié)點可執(zhí)行確定該節(jié)點的處理和存儲器能力的軟件模塊。當被執(zhí)行時,軟件模塊也可確定網(wǎng)絡(luò)連接的可用帶寬,如通過確定它從已知網(wǎng)絡(luò)目的地接收響應(yīng)所花費的時間來確定,等等。
在塊906,基于資源的確定配置節(jié)點的路由表(塊904)。在一個示例中,軟件模塊可儲存基于網(wǎng)絡(luò)連接的帶寬描述包括在路由表中的條目量的各種閾值。例如,如果節(jié)點通過撥號連接來連接,則路由表可被配置成具有比如果通過線纜調(diào)制解調(diào)器連接時更少的條目。
在另一示例中,軟件模塊可將節(jié)點的可用硬件、軟件和/或網(wǎng)絡(luò)資源與網(wǎng)絡(luò)中的其它節(jié)點進行比較,以獲得依照對等網(wǎng)絡(luò)中的其它路由表大小的路由表大小。例如,當節(jié)點加入對等網(wǎng)絡(luò)時,節(jié)點可如上所述地定位繼承者節(jié)點。當被定位時,節(jié)點可查詢繼承者節(jié)點以基于該繼承者節(jié)點的硬件、軟件和/或網(wǎng)絡(luò)資源確定所構(gòu)造的路由表的大小。節(jié)點然后可將其可用資源與繼承者節(jié)點的可用資源進行比較,并基于比較配置路由表使具有若干條目。例如,如果節(jié)點比繼承者節(jié)點具有更多的資源,則節(jié)點可配置路由表使具有比繼承者節(jié)點的路由表具有更多條目??刹捎酶鞣N算法來比較資源并相應(yīng)地配置路由表。
另外,當節(jié)點是對等網(wǎng)絡(luò)的成員時,路由表可以周期的間隔來重新配置。例如,當節(jié)點是對等網(wǎng)絡(luò)的成員時,節(jié)點可作出資源的周期性確定。由此,可構(gòu)造路由表以反映對等網(wǎng)絡(luò)中的對應(yīng)節(jié)點的可用資源,并可維護路由表以反映當節(jié)點是對等網(wǎng)絡(luò)的成員時該節(jié)點的當前可用資源。
示例性計算設(shè)備此處描述的各種組件和功能使用多個單獨的計算機來實現(xiàn)。圖10示出了計算環(huán)境100的一個典型示例的組件,包括計算機,由標號1002引用,它適用于提供對等網(wǎng)絡(luò)中的節(jié)點。計算機1002可以與圖1的多個客戶機102(a)和多個計算設(shè)備104(1)-104(B)相同或不同。圖10所示的組件僅是示例,并非暗示對本發(fā)明的功能范圍的局限;本發(fā)明不必要依賴于圖10所示的特征。
一般而言,可使用各種不同的通用或?qū)S糜嬎阆到y(tǒng)配置。適用于本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的示例可包括但不限于,個人計算機、服務(wù)器計算機、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費者電子設(shè)備、網(wǎng)絡(luò)PC、網(wǎng)絡(luò)就緒的設(shè)備、小型機、大型機、包括上述系統(tǒng)或設(shè)備的任一個的分布式計算環(huán)境等等。
計算機的功能在許多情況下由諸如由計算機執(zhí)行的軟件組件等計算機可指令指令來實施。一般而言,程序組件包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。任務(wù)也可由通過通信網(wǎng)絡(luò)連接的遠程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,軟件組件可以位于本地和遠程計算機存儲介質(zhì)中。
指令和/或軟件組件在不同的時刻儲存在各種計算機可讀介質(zhì)中,它們或者是計算機的一部分,或者可由計算機讀取。例如,程序通常分布在軟盤、CD-ROM、DVD或諸如已調(diào)制信號等某一形式的通信介質(zhì)中。從那里,它們可被安裝或加載到計算機的次級存儲器中。在執(zhí)行時,它們被至少部分地加載到計算機的基本電子存儲器中。
為說明目的,程序以及諸如操作系統(tǒng)等其它可執(zhí)行程序組件在此處被示出為離散的塊,盡管可以認識到這些程序和組件可在不同的時刻駐留在計算機的不同存儲組件中,并由計算機的數(shù)據(jù)處理器執(zhí)行。
參考圖10,計算機1002的組件可包括,但不限于,處理單元1004、系統(tǒng)存儲器1006以及將包括系統(tǒng)存儲器的各種系統(tǒng)組件耦合至處理單元1004的系統(tǒng)總線1008。系統(tǒng)總線1008可以是若干種總線結(jié)構(gòu)類型的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各種總線體系結(jié)構(gòu)的任一種的局部總線。
計算機1002通常包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是可由計算機1002訪問的任一可用介質(zhì),包括易失和非易失介質(zhì)、可移動和不可移動介質(zhì)。作為示例而非局限,計算機可讀介質(zhì)包括計算機存儲介質(zhì)和通信介質(zhì)?!坝嬎銠C存儲介質(zhì)”包括以用于儲存諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實現(xiàn)的易失和非易失,可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存所期望的信息并可由計算機1002訪問的任一其它介質(zhì)。通信介質(zhì)通常在諸如載波或其它傳輸機制的已調(diào)制數(shù)據(jù)信號中包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進行編碼的方式設(shè)置或改變其一個或多個特征的信號。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線介質(zhì),如聲學、RF、紅外和其它無線介質(zhì)。上述任一的組合也應(yīng)當包括在計算機可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲器1006包括易失和/或非易失存儲器形式的計算機存儲介質(zhì),如只讀存儲器(ROM)1010和隨機存取存儲器(RAM)1012?;据斎?輸出系統(tǒng)1014(BIOS)包括如在啟動時幫助在計算機1002內(nèi)的元件之間傳輸信息的基本例程,通常儲存在ROM 1010中。RAM 1012通常包含處理單元1004立即可訪問和/或當前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖10示出了操作系統(tǒng)1016、應(yīng)用程序1018、軟件組件1020和程序數(shù)據(jù)1022。
計算機1002也可包括其它可移動/不可移動、易失/非易失計算機存儲介質(zhì)。僅作示例,圖10示出了對不可移動、非易失磁介質(zhì)進行讀寫的硬盤驅(qū)動器1024、對可移動、非易失磁盤1028進行讀寫的磁盤驅(qū)動器1026以及對可移動、非易失光盤1032,如CD ROM或其它光介質(zhì)進行讀寫的光盤驅(qū)動器1030??梢栽谑纠圆僮鳝h(huán)境中使用的其它可移動/不可移動、易失/非易失計算機存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器1024通常通過不可移動存儲器接口,如數(shù)據(jù)介質(zhì)接口1034連接到系統(tǒng)總線1008,磁盤驅(qū)動器1026和光盤驅(qū)動器1030通常通過可移動存儲器接口連接到系統(tǒng)總線1008。
圖10討論并示出的驅(qū)動器及其關(guān)聯(lián)的計算機存儲介質(zhì)為計算機1002提供了計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、軟件組件和其它數(shù)據(jù)的存儲。例如,在圖10中,示出硬盤驅(qū)動器1024儲存操作系統(tǒng)1016′、應(yīng)用程序1018′、軟件組件1020′和程序數(shù)據(jù)1022′。注意,這些組件可以與操作系統(tǒng)1016、應(yīng)用程序1018、軟件組件1020和程序數(shù)據(jù)1022相同,也可以與它們不同。這里對操作系統(tǒng)1016′、應(yīng)用程序1018′、軟件組件1020′和程序數(shù)據(jù)2022′給予不同的標號來說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,如鍵盤1036和定位設(shè)備(未示出,通常指鼠標、跟蹤球或觸摸板)向計算機1002輸入命令和信息。其它輸入設(shè)備可包括源設(shè)備(如提供流數(shù)據(jù)的麥克風1038或攝像機1040)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線的輸入/輸出(I/O)接口1042連接至處理單元1002,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器1044或其它類型的顯示設(shè)備也通過接口,如視頻適配器1046連接至系統(tǒng)總線1008。除監(jiān)視器1044之外,計算機也可包括其它呈現(xiàn)設(shè)備(如揚聲器)以及一個或多個打印機,它們通過I/O接口1042連接。
計算機可以在使用到一個或多個遠程計算機,如遠程設(shè)備1050的邏輯連接的網(wǎng)絡(luò)化環(huán)境中操作。遠程設(shè)備1050可以是個人計算機、網(wǎng)絡(luò)就緒設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點,并通常包括許多或所有上述與計算機1002相關(guān)的元件。圖10描述的邏輯連接包括局域網(wǎng)(LAN)1052和廣域網(wǎng)(WAN)1054。盡管圖10所示的WAN 1054是因特網(wǎng),然而WAN 1054也可以包括其它網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)等。
當在LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機1002通過網(wǎng)絡(luò)接口或適配器1056連接至LAN 1052。當在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機1002通常包括調(diào)制解調(diào)器1058或其它裝置,用于通過因特網(wǎng)1054建立通信。調(diào)制解調(diào)器1058可以是內(nèi)置或外置的,通過I/O接口1042或其它適當?shù)臋C制連接至系統(tǒng)總線1008。在網(wǎng)絡(luò)化環(huán)境中,描述的與計算機1002相關(guān)的程序模塊或其部分可儲存在遠程設(shè)備1050中。作為示例而非局限,圖10示出了遠程軟件組件1060駐留在遠程設(shè)備1050中??梢岳斫猓境龅木W(wǎng)絡(luò)連接是示例性的,也可以使用在計算機之間建立通信鏈路的其它裝置。
總結(jié)盡管以對結(jié)構(gòu)特征和/或方法動作專用的語言描述了本發(fā)明,然而可以理解,所附權(quán)利要求書中定義的本發(fā)明不必限于所揭示的具體特征或動作。相反,揭示了具體特征和動作作為實現(xiàn)要求保護的本發(fā)明的示例性形式。
權(quán)利要求
1.一種方法,其特征在于,包括在對等網(wǎng)絡(luò)中的多個節(jié)點之一處接收對等網(wǎng)絡(luò)中的另一所述節(jié)點改變成員資格的指示;以及廣播一報告,所述報告描述所述改變;以及由包括在一個所述節(jié)點中的路由表中引用的每一所述節(jié)點接收。
2.如權(quán)利要求1所述的方法,其特征在于,所述指示是關(guān)于對等網(wǎng)絡(luò)中其它所述節(jié)點的加入或離開事件。
3.如權(quán)利要求1所述的方法,其特征在于所述路由表是具有多個網(wǎng)絡(luò)用戶查找器表條目的網(wǎng)絡(luò)用戶查找器表;以及每一所述網(wǎng)絡(luò)用戶查找器表條目通過使用對數(shù)函數(shù)引用對應(yīng)的所述節(jié)點。
4.如權(quán)利要求1所述的方法,其特征在于,對等網(wǎng)絡(luò)中的每一所述節(jié)點包括一葉節(jié)點集表,它定義了對等網(wǎng)絡(luò)的一個或多個網(wǎng)絡(luò)資源的散列空間。
5.如權(quán)利要求1所述的方法,其特征在于,還包括通過累計從兩個或多個所述節(jié)點接收的指示兩個或多個所述節(jié)點的成員資格變化的多個所述指示符,形成所述報告,其中,所述報告描述了兩個或多個所述節(jié)點的成員資格變化。
6.如權(quán)利要求1所述的方法,其特征在于,還包括通過確定先前是否由一個所述節(jié)點接收了所述指示,并且如果未接收指示,則將所述指示包括在所述報告內(nèi),以形成所述報告。
7.如權(quán)利要求1所述的方法,其特征在于,所述路由表不引用多個節(jié)點的至少一個其它所述節(jié)點。
8.如權(quán)利要求1所述的方法,其特征在于,所述廣播是在達到了預定廣播時間時執(zhí)行的。
9.如權(quán)利要求1所述的方法,其特征在于,每一所述節(jié)點是由計算設(shè)備提供的。
10.一個或多個包括計算機可執(zhí)行指令的計算機可讀介質(zhì),當由計算機執(zhí)行所述指令時,指示所述計算機執(zhí)行權(quán)利要求1所述的方法。
11.在被配置成包括在具有多個節(jié)點的對等網(wǎng)絡(luò)內(nèi)的節(jié)點中,一種方法,包括在所述節(jié)點處接收由另一所述節(jié)點廣播的指示;以及響應(yīng)于接收所述指示,更新一軟狀態(tài)路由表(SSRT)中的至少一個軟狀態(tài)路由表條目,所述軟狀態(tài)路由表具有多個所述SSRT條目,其每一個引用一對應(yīng)的所述節(jié)點。
12.如權(quán)利要求11所述的方法,其特征在于,所述指示是加入或離開事件。
13.如權(quán)利要求11所述的方法,其特征在于,所述指示在檢查了一網(wǎng)絡(luò)用戶查找器表以后由其它所述節(jié)點廣播。
14.如權(quán)利要求11所述的方法,其特征在于,所述節(jié)點包括一葉節(jié)點集表,它定義了對等網(wǎng)絡(luò)中提供的資源的散列空間。
15.如權(quán)利要求14所述的方法,其特征在于,所述葉節(jié)點集表是通過探查至少一個其它所述節(jié)點來維護的。
16.如權(quán)利要求11所述的方法,其特征在于,所述節(jié)點包括一網(wǎng)絡(luò)用戶查找器表,它具有多個網(wǎng)絡(luò)用戶查找器表條目,其中,每一所述網(wǎng)絡(luò)用戶查找器表條目通過使用對數(shù)函數(shù)描述了一個對應(yīng)的所述節(jié)點的位置。
17.如權(quán)利要求16所述的方法,其特征在于,所述網(wǎng)絡(luò)用戶查找器表是通過探查網(wǎng)絡(luò)用戶查找器表中引用的每一所述對應(yīng)的節(jié)點來維護的。
18.如權(quán)利要求11所述的方法,其特征在于,還包括確定每一所述指示先前是否由該節(jié)點接收,并且如果未接收,執(zhí)行更新。
19.一個或多個包括計算機可執(zhí)行指令的計算機可讀介質(zhì),當由一計算機執(zhí)行所述指令時,指示所述計算機執(zhí)行權(quán)利要求11所述的方法。
20.一種方法,其特征在于,包括在包括在對等網(wǎng)絡(luò)中的節(jié)點處確定該節(jié)點上用于在對等網(wǎng)絡(luò)中通信的可用資源;以及基于所述確定,在該節(jié)點上形成用于在對等網(wǎng)絡(luò)中路由請求的路由表。
21.如權(quán)利要求20所述的方法,其特征在于,所述資源是節(jié)點的硬件、軟件或網(wǎng)絡(luò)資源的至少一個。
22.如權(quán)利要求20所述的方法,其特征在于,所述形成包括基于所述確定導出路由表中的多個條目。
23.如權(quán)利要求20所述的方法,其特征在于,所述確定是在對其確定可用資源的節(jié)點加入對等網(wǎng)絡(luò)時執(zhí)行的。
24.如權(quán)利要求20所述的方法,其特征在于,所述確定是在對其確定可用資源的節(jié)點被確定為對等網(wǎng)絡(luò)的成員時以周期性的間隔執(zhí)行的。
25.如權(quán)利要求20所述的方法,其特征在于所述確定還包括確定對等網(wǎng)絡(luò)中至少一個其它所述節(jié)點的可用資源;以及所述配置還包括基于對所述節(jié)點和至少一個其它所述節(jié)點的可用資源的確定,配置所述節(jié)點上的路由表。
26.一個或多個包括計算機可執(zhí)行指令的計算機可讀介質(zhì),當由一計算機執(zhí)行所述指令時,指示所述計算機執(zhí)行權(quán)利要求20所述的方法。
27.一種方法,其特征在于,包括由對等網(wǎng)絡(luò)中的多個節(jié)點之一使用一迭代光暈濾波器壓縮描述路由表中的條目的數(shù)據(jù);以及形成通信,以將所壓縮的數(shù)據(jù)傳遞到另一所述節(jié)點。
28.如權(quán)利要求27所述的方法,其特征在于,還包括將所述迭代光暈濾波器傳遞到其它所述節(jié)點。
29.如權(quán)利要求27所述的方法,其特征在于,還包括通過使用所壓縮的數(shù)據(jù),更新其它所述節(jié)點處的路由表的一個或多個條目。
30.一個或多個包括計算機可執(zhí)行指令的計算機可讀介質(zhì),當由一計算機執(zhí)行所述指令時,指示所述計算機執(zhí)行權(quán)利要求27所述的方法。
31.一個或多個包括計算機可執(zhí)行指令的計算機可讀介質(zhì),當由一計算機執(zhí)行所述指令時,指示所述計算機對于多個節(jié)點的一個或多個確定何時出現(xiàn)對等網(wǎng)絡(luò)中的成員資格變化;以及當出現(xiàn)變化時,將一報告廣播到多個節(jié)點的一個子集,其中所述報告描述了成員資格變化;以及所述子集是通過檢查引用該子集中的每一所述節(jié)點的表來建立的。
32.如權(quán)利要求31所述的一個或多個計算機可讀介質(zhì),其特征在于所述表被配置成具有多個網(wǎng)絡(luò)用戶查找器表條目的網(wǎng)絡(luò)用戶查找器表;以及每一所述網(wǎng)絡(luò)用戶查找器表條目通過使用對數(shù)函數(shù)描述了一個對應(yīng)的所述節(jié)點的位置。
33.如權(quán)利要求31所述的一個或多個計算機可讀介質(zhì),其特征在于,對等網(wǎng)絡(luò)中的多個節(jié)點采用一分布式散列表,以將由多個節(jié)點提供的資源空間劃分成多個區(qū)域。
34.如權(quán)利要求31所述的一個或多個計算機可讀介質(zhì),其特征在于,所述表是通過探查所述子集中引用的每一所述節(jié)點來維護的。
35.一種包括安排在對等網(wǎng)絡(luò)中的多個節(jié)點的系統(tǒng),所述節(jié)點的每一個包括用于執(zhí)行計算機指令的處理器,其特征在于每一所述節(jié)點包括一軟狀態(tài)路由表(SSRT),它具有引用一組所述節(jié)點的多個SSRT條目;以及每一所述SSRT條目引用來自所述節(jié)點組的相應(yīng)的所述節(jié)點;以及當由所述處理器執(zhí)行時,所述計算機指令在從包括在所述節(jié)點組中的至少一個所述節(jié)點接收了指示廣播之后,更新對應(yīng)的每一所述SSRT條目。
36.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述指示是加入或離開事件。
37.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述指示被配置成由至少一個所述節(jié)點通過檢查包括在至少一個所述節(jié)點中的網(wǎng)絡(luò)用戶查找器表來廣播。
38.如權(quán)利要求35所述的系統(tǒng),其特征在于,每一所述節(jié)點還包括一葉節(jié)點集表,它定義了對等網(wǎng)絡(luò)中提供的資源的散列空間。
39.如權(quán)利要求35所述的系統(tǒng),其特征在于,每一所述節(jié)點還包括一網(wǎng)絡(luò)用戶查找器表,它具有多個網(wǎng)絡(luò)用戶查找器表條目,其中,每一所述網(wǎng)絡(luò)用戶查找器表條目通過使用對數(shù)函數(shù)描述了一個對應(yīng)的所述節(jié)點的位置。
40.一種包括在具有多個節(jié)點的對等網(wǎng)絡(luò)中的節(jié)點,所述節(jié)點的每一個可通過一被劃分成多個塊的標識符來定位,其特征在于,所述節(jié)點包括一處理器;以及存儲器,被配置成維護一葉節(jié)點集表,它定義了對等網(wǎng)絡(luò)中提供的資源的散列空間;一網(wǎng)絡(luò)用戶查找器表,它具有多個網(wǎng)絡(luò)用戶查找器表條目,其中,每一所述網(wǎng)絡(luò)用戶查找器表條目通過使用對數(shù)函數(shù)描述了一個對應(yīng)的所述節(jié)點的位置;以及一軟狀態(tài)路由表(SSRT),它具有SSRT條目,它每一個引用一個相應(yīng)的所述節(jié)點;第一組SSRT條目,它具有彼此匹配的第一所述塊;以及第二組SSRT條目,其具有匹配的第一所述塊;以及彼此匹配的第二所述塊。
41.如權(quán)利要求40所述的節(jié)點,其特征在于所述葉節(jié)點集表和所述網(wǎng)絡(luò)用戶查找器表被配置成通過探查來更新;以及所述SSRT被配置成通過從由SSRT條目引用的一個或多個所述節(jié)點接收指示的廣播來更新。
42.如權(quán)利要求41所述的節(jié)點,其特征在于,所述指示被配置成由至少一個所述節(jié)點通過檢查包括在至少一個所述節(jié)點中的網(wǎng)絡(luò)用戶查找器表來廣播。
43.如權(quán)利要求40所述的節(jié)點,其特征在于,SSRT中SSRT條目的數(shù)量是基于節(jié)點的可用資源來確定的。
44.如權(quán)利要求40所述的節(jié)點,其特征在于,SSRT中SSRT條目的數(shù)量是基于與對等網(wǎng)絡(luò)中的其它所述節(jié)點相比,所述節(jié)點上的可用資源來確定的。
45.一種包括在具有多個節(jié)點的對等網(wǎng)絡(luò)中的節(jié)點,其特征在于,所述節(jié)點包括一處理器;以及存儲器,它被配置成維護一軟狀態(tài)路由表(SSRT),它具有SSRT條目,其每一個引用一個相應(yīng)的所述節(jié)點;以及一迭代光暈濾波器,用于壓縮所述SSRT條目以傳遞到另一所述節(jié)點。
46.如權(quán)利要求45所述的節(jié)點,其特征在于,所述迭代光暈濾波器包括多個光暈濾波器。
全文摘要
描述了對等網(wǎng)絡(luò)中的路由。在一個實現(xiàn)中,一種方法包括在對等網(wǎng)絡(luò)的多個節(jié)點之一處接收對等網(wǎng)絡(luò)中另一節(jié)點改變對等網(wǎng)絡(luò)中的成員資格的指示。廣播描述該變化的報告。該報告由包括在一個節(jié)點中的路由表中引用的每一節(jié)點接收。
文檔編號H04L12/56GK1681257SQ20051006375
公開日2005年10月12日 申請日期2005年3月31日 優(yōu)先權(quán)日2004年3月31日
發(fā)明者Q·連, 陳宇, Z·章 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1