專利名稱:分布式網(wǎng)狀網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)等網(wǎng)絡(luò)實(shí)現(xiàn)。
背景技術(shù):
對(duì)等分布式網(wǎng)絡(luò)通常允許網(wǎng)絡(luò)功能性而無其它類型的網(wǎng)絡(luò)所利用的許多中央監(jiān) 管服務(wù)器要求。功率效率已在逐計(jì)算機(jī)基礎(chǔ)上變得越來越必需。在考慮大型網(wǎng)絡(luò)上給定時(shí) 間存在的計(jì)算機(jī)數(shù)量時(shí),降低每計(jì)算機(jī)功率的過程和裝置能意味著相當(dāng)大的公司和/或企 業(yè)范圍的功率節(jié)省。
發(fā)明內(nèi)容
本發(fā)明提供一種網(wǎng)狀網(wǎng)絡(luò)中的第一計(jì)算裝置,包括第一存儲(chǔ)裝置,當(dāng)所述第一計(jì) 算裝置清醒時(shí)可操作,所述第一存儲(chǔ)裝置存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò)中對(duì)等計(jì)算裝置的最后已知列 表;以及第二存儲(chǔ)裝置,不管所述計(jì)算裝置中任何中央處理單元是清醒的還是睡眠的均可 操作,所述第二存儲(chǔ)裝置包括至少本地塊,存儲(chǔ)所述第一計(jì)算裝置提供的資源的列表和所 述第一計(jì)算裝置驗(yàn)證的所述網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的列表;以及遠(yuǎn)程塊,存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò) 中計(jì)算裝置的未驗(yàn)證的遠(yuǎn)程列表。本發(fā)明還提供一種方法,包括在位于第一計(jì)算裝置中的存儲(chǔ)裝置的本地塊中,存 儲(chǔ)所述第一計(jì)算裝置提供到網(wǎng)狀網(wǎng)絡(luò)的資源的列表和所述第一計(jì)算裝置驗(yàn)證的網(wǎng)狀網(wǎng)絡(luò) 中計(jì)算裝置的列表;以及在所述存儲(chǔ)裝置的遠(yuǎn)程塊中存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的未驗(yàn) 證的遠(yuǎn)程列表,其中驗(yàn)證的計(jì)算裝置的所述列表包括所述網(wǎng)狀網(wǎng)絡(luò)中第二計(jì)算裝置提供的 已知計(jì)算裝置的遠(yuǎn)程列表的本地副本。本發(fā)明還提供一種系統(tǒng),包括計(jì)算裝置的網(wǎng)狀網(wǎng)絡(luò)和遠(yuǎn)程服務(wù)器。所述網(wǎng)狀網(wǎng)絡(luò) 包括第一計(jì)算裝置,所述第一計(jì)算裝置包括海量存儲(chǔ)裝置,在所述計(jì)算裝置通電時(shí)可操 作,所述海量存儲(chǔ)裝置存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò)中對(duì)等計(jì)算裝置的最后已知本地列表;以及閃速 存儲(chǔ)器,不管所述計(jì)算裝置是否通電均可操作,所述閃速存儲(chǔ)器包括至少本地塊,存儲(chǔ)所 述第一計(jì)算機(jī)提供的資源的列表和所述網(wǎng)狀網(wǎng)絡(luò)中驗(yàn)證的計(jì)算機(jī)系統(tǒng)的列表;以及遠(yuǎn)程 塊,存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò)中未驗(yàn)證的計(jì)算機(jī)系統(tǒng)的列表。所述遠(yuǎn)程服務(wù)器存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò) 中對(duì)等計(jì)算裝置的全局列表;以及指明所述網(wǎng)狀網(wǎng)絡(luò)中的計(jì)算裝置之一為領(lǐng)導(dǎo)計(jì)算裝置。
本發(fā)明通過示例方式示出,并且不限于圖形;圖中,相似的標(biāo)號(hào)指示類似的要素, 并且其中圖1示出網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的一實(shí)施例。圖2示出網(wǎng)狀網(wǎng)絡(luò)的一實(shí)施例。圖3示出網(wǎng)狀網(wǎng)絡(luò)中節(jié)點(diǎn)間認(rèn)知的一實(shí)施例。圖4是更新本地節(jié)點(diǎn)的網(wǎng)狀網(wǎng)絡(luò)信息的過程的一實(shí)施例的流程圖。
圖5是本地節(jié)點(diǎn)驗(yàn)證網(wǎng)狀網(wǎng)絡(luò)中另一節(jié)點(diǎn)并隨后與該另一節(jié)點(diǎn)交換相關(guān)網(wǎng)狀網(wǎng) 絡(luò)信息的過程的一實(shí)施例的流程圖。圖6是本地節(jié)點(diǎn)聯(lián)系第三方服務(wù)器并可能由第三方服務(wù)器升級(jí)到領(lǐng)導(dǎo)節(jié)點(diǎn)的過 程的一實(shí)施例的流程圖。
具體實(shí)施例方式本文描述了實(shí)現(xiàn)分布式網(wǎng)狀網(wǎng)絡(luò)的裝置、方法和系統(tǒng)的實(shí)施例。分布式網(wǎng)狀網(wǎng)絡(luò)包括多個(gè)對(duì)等節(jié)點(diǎn)。無論節(jié)點(diǎn)是在清醒或睡眠狀態(tài),每個(gè)節(jié)點(diǎn)可 能包括可用于網(wǎng)狀網(wǎng)絡(luò)上其它節(jié)點(diǎn)的存儲(chǔ)位置和邏輯。當(dāng)兩個(gè)節(jié)點(diǎn)交互時(shí),它們可通過一 個(gè)或多個(gè)認(rèn)證過程來相互驗(yàn)證它們被允許在網(wǎng)狀網(wǎng)絡(luò)上存在。節(jié)點(diǎn)可交換有關(guān)每個(gè)節(jié)點(diǎn)提 供的資源的信息以及每個(gè)交換節(jié)點(diǎn)在網(wǎng)狀網(wǎng)絡(luò)上注意到的已知節(jié)點(diǎn)的列表。第一節(jié)點(diǎn)可通 過從第一節(jié)點(diǎn)已經(jīng)注意到每個(gè)節(jié)點(diǎn)檢索已知節(jié)點(diǎn)的列表,穿行網(wǎng)狀網(wǎng)絡(luò)。第一節(jié)點(diǎn)隨后能 夠聯(lián)系第一節(jié)點(diǎn)通過其原已知節(jié)點(diǎn)列表而變?yōu)樽⒁獾降娜魏涡鹿?jié)點(diǎn)。此外,通過利用指明的領(lǐng)導(dǎo)節(jié)點(diǎn)在網(wǎng)狀網(wǎng)絡(luò)與第三方服務(wù)器之間提供通信隧道, 在網(wǎng)狀網(wǎng)絡(luò)外部的第三方服務(wù)器可為每個(gè)節(jié)點(diǎn)提供有關(guān)網(wǎng)狀網(wǎng)絡(luò)上所有其它節(jié)點(diǎn)的信息。 在許多實(shí)施例中,網(wǎng)狀網(wǎng)絡(luò)提供總體網(wǎng)絡(luò)功率節(jié)省,具有以下能力允許網(wǎng)絡(luò)中的許多節(jié)點(diǎn) 保持在睡眠狀態(tài)中,同時(shí)仍允許任一節(jié)點(diǎn)從網(wǎng)絡(luò)中的任何其它節(jié)點(diǎn)檢索資源。請(qǐng)求資源的 節(jié)點(diǎn)能夠?qū)⒄?qǐng)求發(fā)送到第三方服務(wù)器,該服務(wù)器隨后能通過領(lǐng)導(dǎo)節(jié)點(diǎn)將喚醒命令發(fā)送到是 請(qǐng)求的目標(biāo)的節(jié)點(diǎn)。目標(biāo)節(jié)點(diǎn)隨后可醒來,并提供資源到請(qǐng)求節(jié)點(diǎn),然后回到睡眠狀態(tài)。在下面的描述和權(quán)利要求中對(duì)公開的技術(shù)的“一個(gè)實(shí)施例”或“一實(shí)施例”的引用 指連同該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性包括在公開的技術(shù)的至少一個(gè)實(shí)施例中。因 此,在遍布說明書的各個(gè)位置中出現(xiàn)的短語“在一個(gè)實(shí)施例中”不一定全部指相同實(shí)施例。 在下面的描述和權(quán)利要求中,可使用術(shù)語“包括”和“包含”及其衍生詞,并且它們旨在視為 對(duì)于彼此的同義詞。圖1示出網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的一實(shí)施例。計(jì)算裝置可指節(jié)點(diǎn),或更具體地說指 本地節(jié)點(diǎn)100。本地節(jié)點(diǎn)100可包括某一形式的計(jì)算裝置。例如,本地節(jié)點(diǎn)100可以是臺(tái)式 計(jì)算機(jī)、膝上型計(jì)算機(jī)、工作站計(jì)算機(jī)、服務(wù)器、手持式計(jì)算裝置、游戲控制臺(tái)、電視機(jī)頂盒、 另一裝置中的集成計(jì)算機(jī)(例如,汽車中的儀表盤計(jì)算機(jī))或另一形式的計(jì)算裝置。本地節(jié) 點(diǎn)100包括系統(tǒng)存儲(chǔ)器102。系統(tǒng)存儲(chǔ)器102可以是例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的易 失性存儲(chǔ)器,或者系統(tǒng)存儲(chǔ)器102可以是例如某種形式的閃速存儲(chǔ)器的非易失性存儲(chǔ)器。本地節(jié)點(diǎn)可包括幾個(gè)類型的存儲(chǔ)裝置,例如盤存儲(chǔ)裝置104(例如,硬盤驅(qū)動(dòng)器) 和閃速存儲(chǔ)裝置106 (例如,閃速存儲(chǔ)器、固態(tài)驅(qū)動(dòng)器等)。盤存儲(chǔ)裝置104和閃速存儲(chǔ)裝置 106是非易失性存儲(chǔ)裝置,這允許它們通過多個(gè)功率循環(huán)地保存信息。換而言之,在本地節(jié) 點(diǎn)關(guān)閉電源或者在睡眠狀態(tài)中時(shí),盤存儲(chǔ)裝置104和閃速存儲(chǔ)裝置106可維護(hù)本地節(jié)點(diǎn)下 次通電時(shí)可用的信息。在許多實(shí)施例中,本地節(jié)點(diǎn)還包括OOB (帶外)管理邏輯108。OOB管理邏輯108可 具有當(dāng)本地節(jié)點(diǎn)100的其余部分在睡眠狀態(tài)中或者可能關(guān)閉電源時(shí)可操作的電路。OOB管 理邏輯的一個(gè)示例是Intel 主動(dòng)管理技術(shù)(AMT)。OOB管理邏輯108有許多用途,除其它以 外,包括在本地節(jié)點(diǎn)100由于硬件或軟件故障或者因?yàn)楸镜毓?jié)點(diǎn)100在睡眠狀態(tài)中而不可操作時(shí)允許對(duì)本地節(jié)點(diǎn)100的至少一部分的遠(yuǎn)程接入。在許多實(shí)施例中,OOB管理邏輯108 以帶外方式管理本地節(jié)點(diǎn)100,這與在本地節(jié)點(diǎn)100未正在利用標(biāo)準(zhǔn)帶內(nèi)方法管理本身時(shí) 的時(shí)間期間管理本地節(jié)點(diǎn)100有關(guān)。例如,本地節(jié)點(diǎn)100在完全供電狀態(tài)中和正常操作時(shí), 本地節(jié)點(diǎn)100中的中央處理器(未示出)可為駐留在系統(tǒng)存儲(chǔ)器102中的操作系統(tǒng)(OS) 執(zhí)行指令。這可稱為帶內(nèi)操作,因?yàn)樵谶h(yuǎn)程節(jié)點(diǎn)與本地節(jié)點(diǎn)100通信時(shí),能通過本地操作系 統(tǒng)來利用標(biāo)準(zhǔn)通信信道。另一方面,本地節(jié)點(diǎn)100在睡眠狀態(tài)中時(shí)(其中中央處理器未完 全供電并且操作系統(tǒng)不可操作),與本地節(jié)點(diǎn)100的唯一可用通信可能是通過OOB管理邏輯 108的帶外通信,在本地節(jié)點(diǎn)100的其余部分不可操作時(shí),OOB管理邏輯108可操作。1/0(輸入/輸出)接口 110用于本地節(jié)點(diǎn)100與節(jié)點(diǎn)外部的任何實(shí)體之間的通 信。I/O接口 110可包括有線網(wǎng)絡(luò)接口、利用天線的無線網(wǎng)絡(luò)接口和/或允許本地節(jié)點(diǎn)100 與一個(gè)或多個(gè)其它外部裝置之間I/O通信的一個(gè)或多個(gè)其它可能的網(wǎng)絡(luò)接口解決方案中 的一項(xiàng)或多項(xiàng)。在許多實(shí)施例中,I/O接口 110耦合到本地網(wǎng)絡(luò)200。本地網(wǎng)絡(luò)200可以是 有線或無線網(wǎng)絡(luò),并且可以耦合或不耦合到因特網(wǎng)。本地節(jié)點(diǎn)100在帶外模式中時(shí),OOB管理邏輯108可利用部分或所有I/O接口 110, 使得OOB管理邏輯108與其它計(jì)算裝置之間的通信是可能的。在其它實(shí)施例中,OOB管理 邏輯108包括用于外部通信目的的單獨(dú)可操作的集成I/O接口。在許多實(shí)施例中,閃速存儲(chǔ)裝置106的至少一部分專門供OOB管理邏輯108使用。 因此,閃速存儲(chǔ)裝置106將可存取以便在帶外操作期間由OOB管理邏輯108使用,例如在本 地節(jié)點(diǎn)100的剩余部分在睡眠狀態(tài)中時(shí)。本地節(jié)點(diǎn)100另外包括本地閃存塊(flash block) 112、遠(yuǎn)程閃存塊116、盤存儲(chǔ)塊 118及OS網(wǎng)狀代理114。這些另外的組件將在圖2的描述內(nèi)詳細(xì)解釋。圖2示出網(wǎng)狀網(wǎng)絡(luò)的一實(shí)施例。網(wǎng)狀網(wǎng)絡(luò)包括節(jié)點(diǎn)的集合(節(jié)點(diǎn)A 202、節(jié)點(diǎn)B 204、節(jié)點(diǎn)C 206、節(jié)點(diǎn)D 208、節(jié)點(diǎn)E 210及節(jié)點(diǎn)F 212)。在許多實(shí)施例中,圖1的本地節(jié) 點(diǎn)100可以是節(jié)點(diǎn)A-F中任何一個(gè)節(jié)點(diǎn)。換而言之,節(jié)點(diǎn)A-F可包括圖1中詳細(xì)描述的本 地節(jié)點(diǎn)100內(nèi)的所有組件。例如,上面部分描述的本地節(jié)點(diǎn)100的詳細(xì)組件在節(jié)點(diǎn)A202的 放大細(xì)節(jié)中示出。圖2中的節(jié)點(diǎn)集合通過本地網(wǎng)絡(luò)200相互耦合。本地網(wǎng)絡(luò)可以是允許多 個(gè)節(jié)點(diǎn)相互通信的任何形式的通信網(wǎng)絡(luò)。本地網(wǎng)絡(luò)200的示例可以是以太網(wǎng)有線網(wǎng)絡(luò)、基 于IEEE 802. 11的無線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、例如WiMAX的廣域無線網(wǎng)絡(luò)或另一類型的網(wǎng)絡(luò)。網(wǎng) 絡(luò)可通過防火墻216耦合到因特網(wǎng)214。防火墻216可由本地網(wǎng)絡(luò)200上的網(wǎng)關(guān)計(jì)算機(jī)來 維護(hù)。網(wǎng)關(guān)計(jì)算機(jī)包括某些安全協(xié)議,這些協(xié)議不允許某些類型的信息在本地網(wǎng)絡(luò)200與 因特網(wǎng)214之間傳遞。因此,節(jié)點(diǎn)A-F由于它們?nèi)渴潜镜鼐W(wǎng)絡(luò)200的成員而可在它們自 己之間自由地通信,但是在任何節(jié)點(diǎn)A-F與遠(yuǎn)程節(jié)點(diǎn)(例如在通信上特別是通過因特網(wǎng)214 耦合到本地網(wǎng)絡(luò)200的節(jié)點(diǎn))之間,通信可由于防火墻216實(shí)施的安全過程而受到限制。在許多實(shí)施例中,本地網(wǎng)絡(luò)200是分布式“網(wǎng)狀”網(wǎng)絡(luò)。在網(wǎng)狀網(wǎng)絡(luò)中,網(wǎng)絡(luò)內(nèi)的 所有節(jié)點(diǎn)不必注意所有其它節(jié)點(diǎn)。此外,在網(wǎng)狀網(wǎng)絡(luò)內(nèi)不必存在具有關(guān)于所有節(jié)點(diǎn)的信息 的中央節(jié)點(diǎn)。網(wǎng)狀網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)保持它知道的網(wǎng)狀網(wǎng)絡(luò)中其它節(jié)點(diǎn)的列表(已知節(jié)點(diǎn) 可稱為認(rèn)識(shí)對(duì)象節(jié)點(diǎn)(acquaintance node))。此認(rèn)識(shí)對(duì)象列表可存儲(chǔ)在閃速存儲(chǔ)裝置106 中維護(hù)的本地閃存塊112內(nèi)。在許多實(shí)施例中,認(rèn)識(shí)對(duì)象列表中的每個(gè)條目包括其認(rèn)識(shí)對(duì) 象的IP(因特網(wǎng)協(xié)議)地址。在兩個(gè)節(jié)點(diǎn)相互注意并且接受了彼此為非惡意實(shí)體時(shí),它們可將彼此稱為“朋友”。每個(gè)節(jié)點(diǎn)可具有它可向網(wǎng)絡(luò)中的其它節(jié)點(diǎn)通告的唯一的網(wǎng)狀證書 (mesh certificate)。在許多實(shí)施例中,要?jiǎng)?chuàng)建朋友關(guān)系,兩個(gè)節(jié)點(diǎn)將需要交換正確的網(wǎng)狀 證書,這些證書驗(yàn)證它們?cè)诰W(wǎng)絡(luò)上是被接受的。此交換可采用許多形式之一,但可包括認(rèn)證 過程,例如組合公共網(wǎng)狀證書密鑰和唯一地提供到每個(gè)節(jié)點(diǎn)的私有密鑰的哈希算法。相反,如果第一節(jié)點(diǎn)注意到第二節(jié)點(diǎn),但第二節(jié)點(diǎn)未能產(chǎn)生網(wǎng)狀證書,則第一節(jié)點(diǎn) 可將第二節(jié)點(diǎn)稱為“敵人”。無論第二節(jié)點(diǎn)是朋友還是敵人,一旦第一節(jié)點(diǎn)注意到第二節(jié)點(diǎn), 第二節(jié)點(diǎn)便可成為第一節(jié)點(diǎn)的認(rèn)識(shí)對(duì)象。在一些實(shí)施例中,節(jié)點(diǎn)維護(hù)的認(rèn)識(shí)對(duì)象列表也可 在列表中包括每個(gè)節(jié)點(diǎn)的直接聯(lián)系的最后點(diǎn)的時(shí)間戳。在許多實(shí)施例中,列表本身標(biāo)記有 列表每次更新的時(shí)間戳和版本號(hào)。列表可更新以包括已加入網(wǎng)絡(luò)的新節(jié)點(diǎn),刪除已離開網(wǎng) 絡(luò)的節(jié)點(diǎn),更改節(jié)點(diǎn)的朋友/敵人狀態(tài)等。網(wǎng)狀網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)能夠監(jiān)視它在其列表上 注意到的所有其它節(jié)點(diǎn)。如果給定節(jié)點(diǎn)未提供網(wǎng)狀證書,則作為此無證書節(jié)點(diǎn)的認(rèn)識(shí)對(duì)象 的其它節(jié)點(diǎn)可在其節(jié)點(diǎn)認(rèn)識(shí)對(duì)象列表中包括有關(guān)缺乏證書的警告。兩個(gè)節(jié)點(diǎn)之間的信任關(guān)系可要求利用網(wǎng)狀證書的安全握手。在一些實(shí)施例中,節(jié) 點(diǎn)可要求它最初成為其認(rèn)識(shí)對(duì)象的每個(gè)節(jié)點(diǎn)的網(wǎng)狀證書安全驗(yàn)證,以允許認(rèn)識(shí)對(duì)象成為朋 友。在其它實(shí)施例中,具有第二節(jié)點(diǎn)作為朋友的第一節(jié)點(diǎn)可自動(dòng)將是第二節(jié)點(diǎn)的朋友的任 何節(jié)點(diǎn)視為其自己的朋友(即,我的朋友的朋友也是我的朋友)。這可歸因于朋友之間預(yù)定 的安全調(diào)查(security clearance)級(jí)別,其中,一旦新的認(rèn)識(shí)對(duì)象被一個(gè)節(jié)點(diǎn)驗(yàn)證為新朋 友,則所有其它朋友節(jié)點(diǎn)就能夠假設(shè)該新的認(rèn)識(shí)對(duì)象也是它們的朋友,因?yàn)樗鼈兝孟嗤?安全級(jí)別網(wǎng)狀證書握手。圖3示出網(wǎng)狀網(wǎng)絡(luò)中節(jié)點(diǎn)間認(rèn)知的一實(shí)施例。節(jié)點(diǎn)A 300知道節(jié)點(diǎn)B 302、節(jié)點(diǎn)C 304和節(jié)點(diǎn)D 306,但不知道節(jié)點(diǎn)E 308和節(jié)點(diǎn)F 310。但作為節(jié)點(diǎn)A 300的朋友的節(jié)點(diǎn)C 304確實(shí)知道節(jié)點(diǎn)E 308和節(jié)點(diǎn)F310。在這種情況下,節(jié)點(diǎn)A 300可詢問朋友節(jié)點(diǎn)C 304 有關(guān)節(jié)點(diǎn)E 308和節(jié)點(diǎn)F 310的信息,因此,節(jié)點(diǎn)A 300能夠?qū)⑦@兩個(gè)節(jié)點(diǎn)放置在其已知節(jié) 點(diǎn)的朋友列表上?;氐綀D2,除每個(gè)節(jié)點(diǎn)維護(hù)已知認(rèn)識(shí)對(duì)象節(jié)點(diǎn)的列表外,每個(gè)節(jié)點(diǎn)還維護(hù)它能夠向 網(wǎng)狀網(wǎng)絡(luò)內(nèi)其它節(jié)點(diǎn)提供的資源的列表。資源的列表可包括例如所有共享文件和文件片段 的名稱、大小和日期的文件元數(shù)據(jù)。在其它實(shí)施例中,資源也可包括除文件元數(shù)據(jù)外節(jié)點(diǎn)能 夠提供的服務(wù)和功能的列表。例如,節(jié)點(diǎn)A 202可存儲(chǔ)與其它節(jié)點(diǎn)相關(guān)的數(shù)據(jù)集的某些部 分。這可以在對(duì)等文件共享環(huán)境中是普遍的,其中,網(wǎng)狀網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)存儲(chǔ)部分的文 件,并且它們向其它節(jié)點(diǎn)列出它們具有的部分。在其它實(shí)施例中,給定節(jié)點(diǎn)可存儲(chǔ)它列出的 完整文件而不是部分文件。在許多實(shí)施例中,每個(gè)節(jié)點(diǎn)包括OS網(wǎng)狀代理114。OS網(wǎng)狀代理114可在節(jié)點(diǎn)清醒 并完全正常運(yùn)轉(zhuǎn)時(shí)加載。OS網(wǎng)狀代理114可以是OS在操作時(shí)在后臺(tái)運(yùn)行的過程。OS網(wǎng)狀 代理114可提供一些與OOB管理邏輯108相同的功能性。因此,節(jié)點(diǎn)在睡眠狀態(tài)中時(shí),OOB 管理邏輯108執(zhí)行節(jié)點(diǎn)間通信和列表管理,并且節(jié)點(diǎn)在清醒狀態(tài)中時(shí),OS網(wǎng)狀代理114執(zhí) 行節(jié)點(diǎn)間通信和列表管理。在許多實(shí)施例中,OS網(wǎng)狀代理114也可加載到不具有OOB管理 邏輯108的節(jié)點(diǎn)上,這將允許節(jié)點(diǎn)在清醒時(shí)發(fā)生節(jié)點(diǎn)間通信,但沒有OOB管理邏輯108的節(jié) 點(diǎn)在睡眠狀態(tài)中時(shí)將不能進(jìn)行節(jié)點(diǎn)間通信。通過聯(lián)系每個(gè)朋友節(jié)點(diǎn)、從每個(gè)朋友節(jié)點(diǎn)接收認(rèn)識(shí)對(duì)象的列表、并隨后聯(lián)系認(rèn)識(shí)對(duì)象列表中的節(jié)點(diǎn)等,給定節(jié)點(diǎn)可以能導(dǎo)航通過網(wǎng)狀網(wǎng)絡(luò)。為做到此,OS網(wǎng)狀代理114可 讀取朋友的相應(yīng)本地閃存塊中維護(hù)的每個(gè)朋友節(jié)點(diǎn)處的認(rèn)識(shí)對(duì)象列表。無論節(jié)點(diǎn)是清醒的 還是睡眠的,此導(dǎo)航均可進(jìn)行,因?yàn)橹灰W(wǎng)狀網(wǎng)絡(luò)中的另一節(jié)點(diǎn)包括可在睡眠狀態(tài)中由OOB 管理邏輯108維護(hù)的本地閃存塊,導(dǎo)航節(jié)點(diǎn)便能聯(lián)系該另一節(jié)點(diǎn)而無論該另一節(jié)點(diǎn)是清醒 的還是睡眠的。在許多實(shí)施例中,OS網(wǎng)狀代理114在清醒狀態(tài)中將本地信息提供到訪問節(jié) 點(diǎn),并且OOB管理邏輯108在睡眠狀態(tài)中將本地信息提供到訪問節(jié)點(diǎn)。在一些實(shí)施例中,節(jié) 點(diǎn)中的OS網(wǎng)狀代理114和OOB管理邏輯108均從本地閃存塊檢索認(rèn)識(shí)對(duì)象信息以及其自 己的資源信息以提供到訪問節(jié)點(diǎn)。在一些實(shí)施例中,當(dāng)節(jié)點(diǎn)清醒時(shí),可從本地閃存塊112檢 索認(rèn)識(shí)對(duì)象和資源信息。因此,在許多實(shí)施例中,無論其它節(jié)點(diǎn)是在清醒還是睡眠狀態(tài),節(jié) 點(diǎn)可以能完全導(dǎo)航網(wǎng)狀網(wǎng)絡(luò)。此外,在許多實(shí)施例中,當(dāng)給定節(jié)點(diǎn)導(dǎo)航通過網(wǎng)絡(luò)時(shí),它可在它訪問的每個(gè)節(jié)點(diǎn)留 下它自己的認(rèn)識(shí)對(duì)象列表及它自己的資源列表。訪問節(jié)點(diǎn)可將此信息(資源和認(rèn)識(shí)對(duì)象) 放置在正被訪問的節(jié)點(diǎn)的閃速存儲(chǔ)裝置106中的遠(yuǎn)程閃存塊116中。在一些實(shí)施例中,當(dāng) 正被訪問的節(jié)點(diǎn)正在睡眠時(shí),此信息可處于遠(yuǎn)程閃存塊116中不受干擾,直到被訪問節(jié)點(diǎn) 醒來。一旦清醒,被訪問了的節(jié)點(diǎn)的OS網(wǎng)狀代理114可讀取遠(yuǎn)程閃存塊116并處理訪問 節(jié)點(diǎn)存放的信息。在此過程期間,OS網(wǎng)狀代理114可通過比較訪問節(jié)點(diǎn)留下的認(rèn)識(shí)對(duì)象列 表,驗(yàn)證訪問節(jié)點(diǎn)存放的信息。兩個(gè)列表中共同的認(rèn)識(shí)對(duì)象已經(jīng)由本地節(jié)點(diǎn)驗(yàn)證。如果訪 問節(jié)點(diǎn)具有本地節(jié)點(diǎn)自己的認(rèn)識(shí)對(duì)象列表中不存在的認(rèn)識(shí)對(duì)象,則可進(jìn)行額外的過程以驗(yàn) 證這些未知的認(rèn)識(shí)對(duì)象節(jié)點(diǎn)。具體而言,如果訪問節(jié)點(diǎn)的認(rèn)識(shí)對(duì)象列表中存在一個(gè)或多個(gè) 認(rèn)識(shí)對(duì)象節(jié)點(diǎn),這些節(jié)點(diǎn)在本地節(jié)點(diǎn)自己的本地閃存塊112中維護(hù)的認(rèn)識(shí)對(duì)象列表中不存 在,則OS網(wǎng)狀代理114可聯(lián)系未知的認(rèn)識(shí)對(duì)象并與這些新節(jié)點(diǎn)執(zhí)行網(wǎng)狀證書交換,因此可 添加所述一個(gè)或多個(gè)新節(jié)點(diǎn)到本地閃存塊112中存儲(chǔ)的認(rèn)識(shí)對(duì)象節(jié)點(diǎn)的本地列表。另外,新認(rèn)識(shí)對(duì)象節(jié)點(diǎn)的資源信息也可由OS網(wǎng)狀代理114利用。本地盤存儲(chǔ)裝置 104中存儲(chǔ)的盤存儲(chǔ)塊118可存儲(chǔ)網(wǎng)狀網(wǎng)絡(luò)200中所有已知節(jié)點(diǎn)的所有已知信息。例如, 盤存儲(chǔ)塊118可包括每個(gè)已知節(jié)點(diǎn)的IP地址及每節(jié)點(diǎn)的資源列表。在許多實(shí)施例中,也可 存儲(chǔ)每節(jié)點(diǎn)的其它信息。例如,可存儲(chǔ)到每個(gè)認(rèn)識(shí)對(duì)象節(jié)點(diǎn)的平均網(wǎng)絡(luò)Ping等待時(shí)間。有 時(shí),給定節(jié)點(diǎn)(當(dāng)節(jié)點(diǎn)清醒時(shí))中的OS網(wǎng)狀代理114可對(duì)網(wǎng)狀網(wǎng)絡(luò)200中節(jié)點(diǎn)的其已知信 息執(zhí)行維護(hù)更新。這要求聯(lián)系其自己的認(rèn)識(shí)對(duì)象列表中的每個(gè)節(jié)點(diǎn)以更新它維護(hù)的有關(guān)每 個(gè)認(rèn)識(shí)對(duì)象節(jié)點(diǎn)的信息。與其它節(jié)點(diǎn)有關(guān)的一些信息可從訪問節(jié)點(diǎn)在遠(yuǎn)程閃存塊116中存 儲(chǔ)的信息來獲得。在OS網(wǎng)狀代理114主動(dòng)與另一節(jié)點(diǎn)進(jìn)行聯(lián)系時(shí),與其它節(jié)點(diǎn)有關(guān)的其它 信息可從網(wǎng)狀網(wǎng)絡(luò)中的其它節(jié)點(diǎn)直接獲得。對(duì)于給定節(jié)點(diǎn),每次節(jié)點(diǎn)從睡眠狀態(tài)醒來時(shí)可比較其本地閃存塊112和/或盤存 儲(chǔ)塊118中存儲(chǔ)的認(rèn)識(shí)對(duì)象信息和來訪節(jié)點(diǎn)在遠(yuǎn)程閃存塊中存儲(chǔ)的認(rèn)識(shí)對(duì)象信息,如果訪 問節(jié)點(diǎn)存放的列表包括新節(jié)點(diǎn)(即,新節(jié)點(diǎn)不是OS網(wǎng)狀代理114維護(hù)的認(rèn)識(shí)對(duì)象節(jié)點(diǎn)列表 的部分)的IP地址,則OS網(wǎng)狀代理114可聯(lián)系新節(jié)點(diǎn)并執(zhí)行與新節(jié)點(diǎn)的網(wǎng)狀證書交換以 證實(shí)新節(jié)點(diǎn)并將它添加到認(rèn)識(shí)對(duì)象節(jié)點(diǎn)的本地列表。在許多實(shí)施例中,第三方(3P)服務(wù)器218耦合到因特網(wǎng)214。3P服務(wù)器218可維 護(hù)網(wǎng)狀網(wǎng)絡(luò)中所有節(jié)點(diǎn)的列表,包括其IP地址和每個(gè)節(jié)點(diǎn)提供的資源。3P服務(wù)器218在防火墻之外,因此,可能有在網(wǎng)狀網(wǎng)絡(luò)200中的任何給定節(jié)點(diǎn)與該服務(wù)器之間能夠傳遞的 極為有限量的信息。為補(bǔ)救此防火墻通信問題,在許多實(shí)施例中,網(wǎng)狀網(wǎng)絡(luò)200包括領(lǐng)導(dǎo)節(jié) 點(diǎn)。領(lǐng)導(dǎo)節(jié)點(diǎn)可以是網(wǎng)絡(luò)中的任何給定節(jié)點(diǎn)。在許多實(shí)施例中,位于網(wǎng)絡(luò)中所有(或至少 許多)節(jié)點(diǎn)中的OS網(wǎng)狀代理114和/或OOB管理邏輯108可全部包括另外的領(lǐng)導(dǎo)邏輯以 允許這些節(jié)點(diǎn)被提升到領(lǐng)導(dǎo)狀態(tài)。節(jié)點(diǎn)被提升到領(lǐng)導(dǎo)(例如,節(jié)點(diǎn)A 200)時(shí),它可與3P服 務(wù)器218創(chuàng)建雙向通信隧道220。雙向通信隧道能夠避開防火墻216施行的安全限制,這允 許領(lǐng)導(dǎo)節(jié)點(diǎn)與3P服務(wù)器218自由地通信。在一些實(shí)施例中,領(lǐng)導(dǎo)邏輯可包括喚醒網(wǎng)狀網(wǎng)絡(luò)中給定節(jié)點(diǎn)的能力。相反,非領(lǐng)導(dǎo) 的節(jié)點(diǎn)可能不具有此能力。如上所述,3P服務(wù)器218存儲(chǔ)網(wǎng)狀網(wǎng)絡(luò)中的所有節(jié)點(diǎn)的列表及每個(gè)節(jié)點(diǎn)提供的資 源的列表。此信息可由網(wǎng)絡(luò)中的任何節(jié)點(diǎn)自由地讀取。例如,3P服務(wù)器218存儲(chǔ)的此信息 可作為簡(jiǎn)單的HTML(超文本標(biāo)記語言)文件來讀取,該文件通常是通過防火墻216讀取的
可接受信息。此外,給定節(jié)點(diǎn)(例如,節(jié)點(diǎn)C 206)可已發(fā)現(xiàn)網(wǎng)狀網(wǎng)絡(luò)200中另一節(jié)點(diǎn)(例如,節(jié) 點(diǎn)E 210)維護(hù)的資源列表,該列表包括節(jié)點(diǎn)C 206需要接入的資源。節(jié)點(diǎn)E 210的資源列 表可在節(jié)點(diǎn)E 210的本地閃存塊中維護(hù)。節(jié)點(diǎn)E 210的資源列表也可由3P服務(wù)器218維 護(hù)。節(jié)點(diǎn)C206可將請(qǐng)求通信發(fā)送到3P服務(wù)器218以喚醒節(jié)點(diǎn)E 210,以便節(jié)點(diǎn)C 206能獲 得列出的所需資源。在許多實(shí)施例中,3P服務(wù)器可通過建立的雙向通信隧道220將節(jié)點(diǎn)C 206的喚醒請(qǐng)求發(fā)送到節(jié)點(diǎn)A 202。領(lǐng)導(dǎo)節(jié)點(diǎn)A 202可接收此請(qǐng)求,并隨后直接聯(lián)系網(wǎng)狀網(wǎng) 絡(luò)200內(nèi)的節(jié)點(diǎn)E 210并促使節(jié)點(diǎn)E 210醒來。此外,領(lǐng)導(dǎo)節(jié)點(diǎn)A 202可將資源請(qǐng)求發(fā)送 到節(jié)點(diǎn)E 210,告訴節(jié)點(diǎn)E 210將需要的資源提供到原資源請(qǐng)求者節(jié)點(diǎn)C 206。在雙向通信隧道220已建立時(shí),此通信和控制過程可由與網(wǎng)絡(luò)中任何節(jié)點(diǎn)有關(guān)的 領(lǐng)導(dǎo)節(jié)點(diǎn)來執(zhí)行。雖然3P服務(wù)器218可能由于防火墻216安全過程而不能直接向目標(biāo)節(jié) 點(diǎn)發(fā)出此請(qǐng)求,但3P服務(wù)器218能使用雙向通信隧道,通過領(lǐng)導(dǎo)節(jié)點(diǎn)發(fā)出此請(qǐng)求。網(wǎng)狀網(wǎng)絡(luò)200中每個(gè)節(jié)點(diǎn)在每個(gè)相應(yīng)節(jié)點(diǎn)的本地閃存塊內(nèi)維護(hù)的認(rèn)識(shí)對(duì)象節(jié)點(diǎn) 列表也可包括另外的信息,聲明列表中的哪個(gè)節(jié)點(diǎn)是領(lǐng)導(dǎo)節(jié)點(diǎn)。OS網(wǎng)狀代理114和/或OOB 管理邏輯108可維護(hù)3P服務(wù)器218的IP地址以檢索網(wǎng)狀網(wǎng)絡(luò)200中包括領(lǐng)導(dǎo)的完整的節(jié) 點(diǎn)列表。由于某些環(huán)境原因,領(lǐng)導(dǎo)節(jié)點(diǎn)可能不存在。例如,如果領(lǐng)導(dǎo)節(jié)點(diǎn)由于某一原因與網(wǎng) 狀網(wǎng)絡(luò)200斷開連接,則在網(wǎng)狀網(wǎng)絡(luò)200中將不存在領(lǐng)導(dǎo)節(jié)點(diǎn)。在這些情況下,聯(lián)系3P服務(wù) 器218的節(jié)點(diǎn)可自動(dòng)被提升為領(lǐng)導(dǎo)節(jié)點(diǎn)。這僅對(duì)有領(lǐng)導(dǎo)邏輯存在的節(jié)點(diǎn)是可能的。3P服務(wù) 器218可持續(xù)監(jiān)視雙向通信隧道,并且如果此隧道中斷,則3P服務(wù)器218可設(shè)置標(biāo)志(例 如,“領(lǐng)導(dǎo)位置可用”標(biāo)志),告訴聯(lián)系3P服務(wù)器218的下一節(jié)點(diǎn)將其自己提升為領(lǐng)導(dǎo)節(jié)點(diǎn)。 此時(shí),聯(lián)系3P服務(wù)器218的第一節(jié)點(diǎn)(例如,節(jié)點(diǎn)B 204)將看到該標(biāo)志,并將自己提升為 領(lǐng)導(dǎo)。提升為領(lǐng)導(dǎo)將使節(jié)點(diǎn)B 204能夠通過喚醒請(qǐng)求來喚醒其它節(jié)點(diǎn)。另外,提升到領(lǐng)導(dǎo) 狀態(tài)將促使節(jié)點(diǎn)B 204與3P服務(wù)器218建立新的雙向通信隧道。在新節(jié)點(diǎn)添加到網(wǎng)狀網(wǎng)絡(luò)時(shí),該節(jié)點(diǎn)可通過網(wǎng)狀網(wǎng)絡(luò)上的廣播消息向其它本地節(jié) 點(diǎn)表明自己。隨后,網(wǎng)狀網(wǎng)絡(luò)中的至少一個(gè)節(jié)點(diǎn)可聯(lián)系新節(jié)點(diǎn)以執(zhí)行安全認(rèn)證過程以便準(zhǔn) 許進(jìn)入網(wǎng)絡(luò)。新節(jié)點(diǎn)隨后可通過使用進(jìn)行聯(lián)系的節(jié)點(diǎn)的認(rèn)識(shí)對(duì)象列表,開始穿行網(wǎng)狀網(wǎng)絡(luò)。 備選的是,可通過網(wǎng)絡(luò)監(jiān)管簡(jiǎn)單地為新節(jié)點(diǎn)提供網(wǎng)狀網(wǎng)絡(luò)中本地節(jié)點(diǎn)的IP地址或3P服務(wù)器的IP地址。如果提供的是3P服務(wù)器IP地址,則新節(jié)點(diǎn)可從3P服務(wù)器檢索本地節(jié)點(diǎn)的 IP地址。隨后,新節(jié)點(diǎn)可與本地節(jié)點(diǎn)進(jìn)行初始網(wǎng)狀證書交換認(rèn)證過程。在許多實(shí)施例中, OOB管理邏輯可默認(rèn)在新節(jié)點(diǎn)中禁用。因此,作為網(wǎng)狀網(wǎng)絡(luò)中與新到達(dá)節(jié)點(diǎn)聯(lián)系的第一節(jié)點(diǎn) 的本地節(jié)點(diǎn)可創(chuàng)建初始信任連接,該連接可被要求用于新到達(dá)節(jié)點(diǎn)中OOB管理邏輯的初始 設(shè)置。初始設(shè)置可要求利用一個(gè)或多個(gè)公共和私有密鑰來驗(yàn)證新到達(dá)節(jié)點(diǎn)的真實(shí)性(以及 網(wǎng)狀網(wǎng)絡(luò)中本地節(jié)點(diǎn)的真實(shí)性)的安全握手。一旦與網(wǎng)狀網(wǎng)絡(luò)中本地節(jié)點(diǎn)的信任連接已建 立,OOB管理邏輯隨后便可被啟用,并且新到達(dá)節(jié)點(diǎn)隨后可開始穿行網(wǎng)狀網(wǎng)絡(luò)以收集有關(guān)其 它節(jié)點(diǎn)的信息。圖4是更新本地節(jié)點(diǎn)的網(wǎng)狀網(wǎng)絡(luò)信息的過程的一實(shí)施例的流程圖。該過程由處理邏輯來執(zhí)行,處理邏輯可包括硬件(例如,通用計(jì)算機(jī)中的電路)、 軟件(例如,OS或軟件應(yīng)用代碼)、固件(例如,微代碼或基本輸入/輸出系統(tǒng)(BIOS)代 碼)或任何兩種或更多這些形式的處理邏輯的組合。在許多實(shí)施例中,圖4的處理邏輯位 于網(wǎng)狀網(wǎng)絡(luò)的本地節(jié)點(diǎn)內(nèi)。該過程也假設(shè)網(wǎng)狀網(wǎng)絡(luò)中的另一節(jié)點(diǎn)已將其認(rèn)識(shí)對(duì)象列表存儲(chǔ) 到本地節(jié)點(diǎn)的遠(yuǎn)程塊中。該過程開始于處理邏輯設(shè)置“當(dāng)前節(jié)點(diǎn)”變量以指向本地節(jié)點(diǎn)的 遠(yuǎn)程塊中存儲(chǔ)的認(rèn)識(shí)對(duì)象列表中第一個(gè)節(jié)點(diǎn)(處理框400)。接著,處理邏輯確定遠(yuǎn)程塊認(rèn)識(shí)對(duì)象列表中的當(dāng)前節(jié)點(diǎn)在本地塊認(rèn)識(shí)對(duì)象列表中 是否也存在(處理框402)。如果當(dāng)前節(jié)點(diǎn)不存在(即,本地節(jié)點(diǎn)未注意到當(dāng)前節(jié)點(diǎn)),則處 理邏輯嘗試驗(yàn)證當(dāng)前節(jié)點(diǎn)(處理框404)。驗(yàn)證過程能夠是不同實(shí)施例中對(duì)節(jié)點(diǎn)進(jìn)行驗(yàn)證/ 認(rèn)證的許多類型的過程之一。下面在圖5中描述驗(yàn)證過程的一個(gè)示例。假設(shè)驗(yàn)證過程在本地節(jié)點(diǎn)與當(dāng)前節(jié)點(diǎn)之間成功完成,則處理邏輯可將當(dāng)前節(jié)點(diǎn)的 信息保存到其自己的本地塊認(rèn)識(shí)對(duì)象列表和其盤存儲(chǔ)塊(處理框406)。除其它信息項(xiàng)之 外,此信息可包括當(dāng)前節(jié)點(diǎn)的IP地址、有關(guān)何時(shí)完成驗(yàn)證的時(shí)間戳。隨后,處理邏輯能夠 將當(dāng)前節(jié)點(diǎn)的資源列表保存到其自己的盤存儲(chǔ)塊(處理框40幻。例如,資源列表可包括 當(dāng)前節(jié)點(diǎn)正在提供到網(wǎng)狀網(wǎng)絡(luò)的所有文件和部分文件的元數(shù)據(jù)。隨后,處理邏輯確定它正 在處理的遠(yuǎn)程塊認(rèn)識(shí)對(duì)象列表是否在列表的末尾,或者列表中是否有另外的節(jié)點(diǎn)(處理框 412)。如果列表在末尾,則處理列表已完成。否則,如果列表不在末尾,則處理邏輯將當(dāng)前 節(jié)點(diǎn)增長(zhǎng)到列表中的下一節(jié)點(diǎn)(處理框414)并返回框402以繼續(xù)該過程?;氐娇?02,如果當(dāng)前節(jié)點(diǎn)是在本地節(jié)點(diǎn)的本地塊認(rèn)識(shí)對(duì)象列表中(即,本地節(jié)點(diǎn) 已經(jīng)注意到當(dāng)前節(jié)點(diǎn)),則處理邏輯確定本地節(jié)點(diǎn)的盤存儲(chǔ)塊中存儲(chǔ)的當(dāng)前節(jié)點(diǎn)的資源信 息是否是最新的(處理框410)。例如,資源信息可以是列表,其包含指示當(dāng)前節(jié)點(diǎn)最后更新 資源信息列表的確切時(shí)間的時(shí)間戳。因此,如果當(dāng)前節(jié)點(diǎn)更新其本地塊存儲(chǔ)位置中它正在 提供到其它節(jié)點(diǎn)的資源信息列表中的任何資源,則整個(gè)列表的時(shí)間戳也被更新。資源信息 列表存儲(chǔ)與時(shí)間戳一起存儲(chǔ)在其它節(jié)點(diǎn)中(在其盤存儲(chǔ)塊中)。例如,當(dāng)本地節(jié)點(diǎn)想檢查本 地節(jié)點(diǎn)在其盤存儲(chǔ)塊中存儲(chǔ)的列表中當(dāng)前節(jié)點(diǎn)的任何資源信息是否已更改時(shí),本地節(jié)點(diǎn)能 比較其存儲(chǔ)的時(shí)間戳和當(dāng)前節(jié)點(diǎn)的本地塊中當(dāng)前節(jié)點(diǎn)當(dāng)前提供的時(shí)間戳。當(dāng)這兩個(gè)時(shí)間戳 相同時(shí),本地節(jié)點(diǎn)知道它具有當(dāng)前資源信息列表。當(dāng)時(shí)間戳不同時(shí),本地節(jié)點(diǎn)知道它具有過 時(shí)的資源信息列表。如果資源信息列表不是最新的,則處理邏輯將當(dāng)前節(jié)點(diǎn)資源列表保存到其自己的 盤存儲(chǔ)塊(處理框408)。隨后,處理邏輯確定它正在處理的遠(yuǎn)程塊認(rèn)識(shí)對(duì)象列表是否在列表的末尾,或者列表中是否有另外的節(jié)點(diǎn)(處理框41幻。如果列表在末尾,則處理列表已 完成。否則,如果列表不在末尾,則處理邏輯將當(dāng)前節(jié)點(diǎn)增長(zhǎng)到列表中的下一節(jié)點(diǎn)(處理框 414)并返回框402以繼續(xù)該過程?;氐娇?10,如果資源信息列表是最新的,則處理邏輯確定它正在處理的遠(yuǎn)程塊認(rèn) 識(shí)對(duì)象列表是否在列表的末尾,或者列表中是否有另外的節(jié)點(diǎn)(處理框412)。如果列表在 末尾,則處理列表已完成。否則,如果列表不在末尾,則處理邏輯將當(dāng)前節(jié)點(diǎn)增長(zhǎng)到列表中 的下一節(jié)點(diǎn)(處理框414)并返回框402以繼續(xù)該過程。圖5是本地節(jié)點(diǎn)驗(yàn)證網(wǎng)狀網(wǎng)絡(luò)中另一節(jié)點(diǎn)并隨后與該另一節(jié)點(diǎn)交換相關(guān)網(wǎng)狀網(wǎng) 絡(luò)信息的過程的一實(shí)施例的流程圖。該過程由處理邏輯來執(zhí)行,處理邏輯可包括硬件(例如,通用計(jì)算機(jī)中的電路)、 軟件(例如,OS或軟件應(yīng)用代碼)、固件(例如,微代碼或基本輸入/輸出系統(tǒng)(BIOS)代 碼)或任何兩種或更多這些形式的處理邏輯的組合。在許多實(shí)施例中,圖5的處理邏輯位 于網(wǎng)狀網(wǎng)絡(luò)的本地節(jié)點(diǎn)內(nèi)。該過程開始于本地節(jié)點(diǎn)(例如,第一節(jié)點(diǎn))中的處理邏輯聯(lián)系網(wǎng)狀網(wǎng)絡(luò)中的另一 節(jié)點(diǎn)(例如,第二節(jié)點(diǎn))(處理框500)?!奥?lián)系”的過程要求第一節(jié)點(diǎn)具有第二節(jié)點(diǎn)的IP地 址(或可能是提供位置信息的另一類型的地址)。一旦進(jìn)行了聯(lián)系,第一節(jié)點(diǎn)中的處理邏輯 便可與第二節(jié)點(diǎn)執(zhí)行網(wǎng)狀證書驗(yàn)證過程(處理框50 。網(wǎng)狀證書驗(yàn)證過程可包括第一節(jié)點(diǎn) 將其網(wǎng)狀證書提供到第二節(jié)點(diǎn),并且第二節(jié)點(diǎn)將其網(wǎng)狀證書提供到第一節(jié)點(diǎn)。一旦驗(yàn)證過 程已完成,假設(shè)驗(yàn)證過程已成功,則第一節(jié)點(diǎn)中的處理邏輯隨后可從第二節(jié)點(diǎn)的本地塊存 儲(chǔ)位置檢索第二節(jié)點(diǎn)的認(rèn)識(shí)對(duì)象列表(處理框504)。最后,處理邏輯在第二節(jié)點(diǎn)的遠(yuǎn)程塊中存儲(chǔ)第一節(jié)點(diǎn)自己的認(rèn)識(shí)對(duì)象列表(處理 框506)。這允許第一節(jié)點(diǎn)的已知認(rèn)識(shí)對(duì)象信息傳播到第二節(jié)點(diǎn)。在此整個(gè)過程之后,第一 節(jié)點(diǎn)和第二節(jié)點(diǎn)均具有在該過程之前每個(gè)節(jié)點(diǎn)分別所具有信息的組合的認(rèn)識(shí)對(duì)象信息。圖6是本地節(jié)點(diǎn)聯(lián)系第三方服務(wù)器并可能由第三方服務(wù)器升級(jí)到領(lǐng)導(dǎo)節(jié)點(diǎn)的過 程的一實(shí)施例的流程圖。該過程由處理邏輯來執(zhí)行,處理邏輯可包括硬件(例如,通用計(jì)算機(jī)中的電路)、 軟件(例如,OS或軟件應(yīng)用代碼)、固件(例如,微代碼或基本輸入/輸出系統(tǒng)(BIOS)代 碼)或任何兩種或更多這些形式的處理邏輯的組合。在許多實(shí)施例中,圖6的處理邏輯位 于網(wǎng)狀網(wǎng)絡(luò)的本地節(jié)點(diǎn)內(nèi)。該過程開始于本地節(jié)點(diǎn)內(nèi)的處理邏輯聯(lián)系第三方服務(wù)器(處理框600)。第三方服 務(wù)器的IP地址可由網(wǎng)狀網(wǎng)絡(luò)內(nèi)的另一節(jié)點(diǎn)或可能通過網(wǎng)狀網(wǎng)絡(luò)監(jiān)管提供到本地節(jié)點(diǎn)。接 著,處理邏輯向第三方服務(wù)器查詢網(wǎng)狀網(wǎng)絡(luò)中的領(lǐng)導(dǎo)位置是否可用(處理框60幻。在第三 方服務(wù)器設(shè)置聲明領(lǐng)導(dǎo)位置可用的全局可見標(biāo)志時(shí),該位置可以是可用的。如果領(lǐng)導(dǎo)職位 是可用的,并且本地節(jié)點(diǎn)具有將自己升級(jí)為領(lǐng)導(dǎo)的能力,則本地節(jié)點(diǎn)與第三方服務(wù)器建立 專用雙向通信隧道(處理框604)。專用隧道允許本地節(jié)點(diǎn)從第三方服務(wù)器接收詳細(xì)的信 息和命令。沒有隧道時(shí),由于為網(wǎng)狀網(wǎng)絡(luò)實(shí)現(xiàn)的防火墻或其它安全過程的原因,可能對(duì)于本 地節(jié)點(diǎn)從第三方服務(wù)器接收命令是不可能的。在許多實(shí)施例中,安全驗(yàn)證過程可在本地節(jié) 點(diǎn)與第三方服務(wù)器之間發(fā)生以在建立隧道之前相互進(jìn)行認(rèn)證。如果領(lǐng)導(dǎo)位置不是可用的, 則該過程完成(即,網(wǎng)狀網(wǎng)絡(luò)中的另一節(jié)點(diǎn)已經(jīng)被確立為領(lǐng)導(dǎo),并且該另一節(jié)點(diǎn)當(dāng)前在操作)。 因此,本文描述了實(shí)現(xiàn)分布式網(wǎng)狀網(wǎng)絡(luò)的裝置、方法和系統(tǒng)的實(shí)施例。這些實(shí)施例 已參照其特定示范實(shí)施例來描述。受益于此公開內(nèi)容的人將明白,在不脫離本文所述實(shí)施 例更廣的精神和范圍的情況下,可對(duì)這些實(shí)施例進(jìn)行各種修改和更改。相應(yīng)地,說明書和附 圖要在說明性意義中而不是限制性意義中來看待。
權(quán)利要求
1.一種網(wǎng)狀網(wǎng)絡(luò)中的第一計(jì)算裝置,包括第一存儲(chǔ)裝置,當(dāng)所述第一計(jì)算裝置清醒時(shí)可操作,所述第一存儲(chǔ)裝置存儲(chǔ)所述網(wǎng)狀 網(wǎng)絡(luò)中對(duì)等計(jì)算裝置的最后已知列表;以及第二存儲(chǔ)裝置,不管所述計(jì)算裝置中任何中央處理單元是清醒的還是睡眠的均可操 作,所述第二存儲(chǔ)裝置包括至少本地塊,存儲(chǔ)所述第一計(jì)算裝置提供的資源的列表和所述第一計(jì)算裝置驗(yàn)證的所述網(wǎng) 狀網(wǎng)絡(luò)中計(jì)算裝置的列表;以及遠(yuǎn)程塊,存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的未驗(yàn)證的遠(yuǎn)程列表。
2.如權(quán)利要求1所述的第一計(jì)算裝置,其中未驗(yàn)證的計(jì)算裝置的所述列表包括所述網(wǎng) 狀網(wǎng)絡(luò)中第二計(jì)算裝置提供的已知計(jì)算裝置的遠(yuǎn)程列表的本地副本。
3.如權(quán)利要求2所述的第一計(jì)算裝置,可操作以在所述第一計(jì)算裝置從睡眠狀態(tài)醒來時(shí),比較所述第一計(jì)算裝置的本地塊中存儲(chǔ)的所 述網(wǎng)狀網(wǎng)絡(luò)中驗(yàn)證的計(jì)算裝置的所述第一列表和所述第一計(jì)算裝置的遠(yuǎn)程塊中存儲(chǔ)的已 知計(jì)算裝置的所述遠(yuǎn)程列表;驗(yàn)證未在所述第一計(jì)算裝置的本地塊中的列表中存儲(chǔ)的所述第一計(jì)算裝置的遠(yuǎn)程塊 中的列表中存儲(chǔ)的任何計(jì)算裝置;以及通過來自所述第一計(jì)算裝置的遠(yuǎn)程塊中列表的任何新驗(yàn)證的計(jì)算裝置,更新所述第一 計(jì)算裝置的本地塊中驗(yàn)證的計(jì)算裝置的所述列表。
4.如權(quán)利要求3所述的第一計(jì)算裝置,可操作以通過驗(yàn)證的計(jì)算裝置的所述列表中更新的任何新驗(yàn)證的計(jì)算裝置,更新所述第一存儲(chǔ) 裝置中對(duì)等計(jì)算裝置的所述最后已知列表。
5.如權(quán)利要求1所述的第一計(jì)算裝置,可操作以對(duì)于在所述第一存儲(chǔ)裝置中存儲(chǔ)的所述網(wǎng)狀網(wǎng)絡(luò)中最后已知對(duì)等計(jì)算裝置的所述列 表中的每個(gè)對(duì)等計(jì)算裝置,另外存儲(chǔ)每個(gè)對(duì)等計(jì)算裝置提供的資源的列表。
6.如權(quán)利要求1所述的第一計(jì)算裝置,可操作以聯(lián)系所述第一計(jì)算裝置的本地塊中驗(yàn)證的計(jì)算裝置的所述列表中的第二計(jì)算裝置; 讀取所述第二計(jì)算裝置的本地塊中存儲(chǔ)的計(jì)算裝置的驗(yàn)證的列表;以及 在所述第二計(jì)算裝置的遠(yuǎn)程塊中存儲(chǔ)驗(yàn)證的計(jì)算裝置的所述列表。
7.如權(quán)利要求6所述的第一計(jì)算裝置,可操作以向所述第二計(jì)算裝置提供指明用于所述第一計(jì)算裝置的第一網(wǎng)狀證書,以允許所述第 二計(jì)算裝置安全地驗(yàn)證所述第一計(jì)算裝置的真實(shí)性;以及從所述第二計(jì)算裝置接收指明用于所述第二計(jì)算裝置的第二網(wǎng)狀證書,以允許所述第 一計(jì)算裝置安全地驗(yàn)證所述第二計(jì)算裝置的真實(shí)性。
8.如權(quán)利要求1所述的第一計(jì)算裝置,可操作以被指明為計(jì)算裝置的所述網(wǎng)狀網(wǎng)絡(luò)的領(lǐng)導(dǎo),其中所述領(lǐng)導(dǎo)計(jì)算裝置與所述網(wǎng)狀網(wǎng)絡(luò)外 的遠(yuǎn)程服務(wù)器建立雙向通信隧道。
9.如權(quán)利要求8所述的第一計(jì)算裝置,可操作以在所述遠(yuǎn)程服務(wù)器請(qǐng)求時(shí)喚醒所述網(wǎng)狀網(wǎng)絡(luò)中的第二計(jì)算裝置。
10.如權(quán)利要求8所述的第一計(jì)算裝置,可操作以讀取所述遠(yuǎn)程服務(wù)器上的領(lǐng)導(dǎo)位置可用標(biāo)志;響應(yīng)所述標(biāo)志被設(shè)置,與所述遠(yuǎn)程服務(wù)器建立所述雙向通信隧道;以及 響應(yīng)所述標(biāo)志未設(shè)置,保持在與所述遠(yuǎn)程服務(wù)器的非雙向通信中。
11.如權(quán)利要求1所述的第一計(jì)算裝置,可操作以與新耦合到所述網(wǎng)狀網(wǎng)絡(luò)的第二計(jì)算裝置建立信任連接,其中所述信任連接啟用所述 第二計(jì)算裝置上的帶外管理邏輯。
12.一種方法,包括在位于第一計(jì)算裝置中的存儲(chǔ)裝置的本地塊中,存儲(chǔ)所述第一計(jì)算裝置提供到網(wǎng)狀網(wǎng) 絡(luò)的資源的列表和所述第一計(jì)算裝置驗(yàn)證的網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的列表;以及在所述存儲(chǔ)裝置的遠(yuǎn)程塊中存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的未驗(yàn)證的遠(yuǎn)程列表,其中 未驗(yàn)證的計(jì)算裝置的所述列表包括所述網(wǎng)狀網(wǎng)絡(luò)中第二計(jì)算裝置提供的已知計(jì)算裝置的 遠(yuǎn)程列表的本地副本。
13.如權(quán)利要求11所述的方法,還包括在所述第一計(jì)算裝置從睡眠狀態(tài)醒來時(shí),比較所述第一計(jì)算裝置的本地塊中存儲(chǔ)的所 述網(wǎng)狀網(wǎng)絡(luò)中驗(yàn)證的計(jì)算裝置的所述第一列表和所述第一計(jì)算裝置的遠(yuǎn)程塊中存儲(chǔ)的已 知計(jì)算裝置的所述遠(yuǎn)程列表;驗(yàn)證未在所述第一計(jì)算裝置的本地塊中的列表中存儲(chǔ)的所述第一計(jì)算裝置的遠(yuǎn)程塊 中的列表中存儲(chǔ)的任何計(jì)算裝置;以及通過來自所述第一計(jì)算裝置的遠(yuǎn)程塊中列表的任何新驗(yàn)證的計(jì)算裝置,更新所述第一 計(jì)算裝置的本地塊中驗(yàn)證的計(jì)算裝置的所述列表。
14.如權(quán)利要求11所述的方法,還包括聯(lián)系所述第一計(jì)算裝置的本地塊中驗(yàn)證的計(jì)算裝置的所述列表中的第二計(jì)算裝置; 讀取所述第二計(jì)算裝置的本地塊中存儲(chǔ)的計(jì)算裝置的驗(yàn)證的列表;以及 在所述第二計(jì)算裝置的遠(yuǎn)程塊中存儲(chǔ)驗(yàn)證的計(jì)算裝置的所述列表。
15.如權(quán)利要求13所述的方法,還包括向所述第二計(jì)算裝置提供指明用于所述第一計(jì)算裝置的第一網(wǎng)狀證書,以允許所述第 二計(jì)算裝置安全地驗(yàn)證所述第一計(jì)算裝置的真實(shí)性;以及從所述第二計(jì)算裝置接收指明用于所述第二計(jì)算裝置的第二網(wǎng)狀證書,以允許所述第 一計(jì)算裝置安全地驗(yàn)證所述第二計(jì)算裝置的真實(shí)性。
16.如權(quán)利要求11所述的方法,還包括指明所述第一計(jì)算裝置為計(jì)算裝置的所述網(wǎng)狀網(wǎng)絡(luò)的領(lǐng)導(dǎo),其中所述領(lǐng)導(dǎo)計(jì)算裝置與 所述網(wǎng)狀網(wǎng)絡(luò)外的遠(yuǎn)程服務(wù)器建立雙向通信隧道。
17.一種系統(tǒng),包括計(jì)算裝置的網(wǎng)狀網(wǎng)絡(luò),包括第一計(jì)算裝置,所述第一計(jì)算裝置包括 海量存儲(chǔ)裝置,在所述計(jì)算裝置通電時(shí)可操作,所述海量存儲(chǔ)裝置存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò) 中對(duì)等計(jì)算裝置的最后已知本地列表;以及閃速存儲(chǔ)器,不管所述計(jì)算裝置是否通電均可操作,所述閃速存儲(chǔ)器包括至少 本地塊,存儲(chǔ)所述第一計(jì)算機(jī)提供的資源的列表和所述網(wǎng)狀網(wǎng)絡(luò)中驗(yàn)證的計(jì)算機(jī)系統(tǒng) 的列表;以及遠(yuǎn)程塊,存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò)中未驗(yàn)證的計(jì)算機(jī)系統(tǒng)的列表;以及 遠(yuǎn)程服務(wù)器,存儲(chǔ)所述網(wǎng)狀網(wǎng)絡(luò)中對(duì)等計(jì)算裝置的全局列表;以及 指明所述網(wǎng)狀網(wǎng)絡(luò)中的計(jì)算裝置之一為領(lǐng)導(dǎo)計(jì)算裝置。
18.如權(quán)利要求17所述的系統(tǒng),其中未驗(yàn)證的計(jì)算裝置的所述列表包括所述網(wǎng)狀網(wǎng)絡(luò) 中第二計(jì)算裝置提供的已知計(jì)算裝置的遠(yuǎn)程列表的本地副本。
19.如權(quán)利要求18所述的系統(tǒng),其中所述第一計(jì)算裝置可操作以在從睡眠狀態(tài)醒來時(shí),比較所述第一計(jì)算裝置的本地塊中存儲(chǔ)的所述網(wǎng)狀網(wǎng)絡(luò)中驗(yàn)證 的計(jì)算裝置的所述第一列表和所述第一計(jì)算裝置的遠(yuǎn)程塊中存儲(chǔ)的已知計(jì)算裝置的所述 遠(yuǎn)程列表;驗(yàn)證未在所述第一計(jì)算裝置的本地塊中的列表中存儲(chǔ)的所述第一計(jì)算裝置的遠(yuǎn)程塊 中的列表中存儲(chǔ)的任何計(jì)算裝置;以及通過來自所述第一計(jì)算裝置的遠(yuǎn)程塊中列表的任何新驗(yàn)證的計(jì)算裝置,更新所述第一 計(jì)算裝置的本地塊中驗(yàn)證的計(jì)算裝置的所述列表。
20.如權(quán)利要求17所述的系統(tǒng),其中所述第一計(jì)算裝置可操作以聯(lián)系所述第一計(jì)算裝置的本地塊中驗(yàn)證的計(jì)算裝置的所述列表中的第二計(jì)算裝置; 讀取所述第二計(jì)算裝置的本地塊中存儲(chǔ)的計(jì)算裝置的驗(yàn)證的列表;以及 在所述第二計(jì)算裝置的遠(yuǎn)程塊中存儲(chǔ)驗(yàn)證的計(jì)算裝置的所述列表。
全文摘要
本發(fā)明名稱為“分布式網(wǎng)狀網(wǎng)絡(luò)”。本文公開了一種裝置、方法和系統(tǒng)。在一個(gè)實(shí)施例中,計(jì)算裝置駐留在網(wǎng)狀網(wǎng)絡(luò)中。該裝置包括在計(jì)算裝置清醒時(shí)操作的第一存儲(chǔ)裝置。第一存儲(chǔ)裝置存儲(chǔ)網(wǎng)狀網(wǎng)絡(luò)中對(duì)等計(jì)算裝置的最后已知列表。該裝置還包括不管計(jì)算裝置中任何中央處理單元是清醒的還是睡眠的均操作的第二存儲(chǔ)裝置。第二存儲(chǔ)裝置包括存儲(chǔ)第一計(jì)算裝置提供的資源的列表和第一計(jì)算裝置驗(yàn)證的網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的列表的本地塊。第二存儲(chǔ)裝置還包括存儲(chǔ)網(wǎng)狀網(wǎng)絡(luò)中計(jì)算裝置的未驗(yàn)證遠(yuǎn)程列表的遠(yuǎn)程塊。
文檔編號(hào)H04L29/08GK102137149SQ20101061621
公開日2011年7月27日 申請(qǐng)日期2010年12月15日 優(yōu)先權(quán)日2009年12月15日
發(fā)明者Y.圣-希萊爾 申請(qǐng)人:英特爾公司