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

用于對等網(wǎng)絡(luò)的分布式服務(wù)器的系統(tǒng)和方法

文檔序號:7626981閱讀:138來源:國知局
專利名稱:用于對等網(wǎng)絡(luò)的分布式服務(wù)器的系統(tǒng)和方法
背景技術(shù)
設(shè)備之間的對等通信正變得越來越普遍,并成為公認(rèn)的提供網(wǎng)絡(luò)通信的方法。對等網(wǎng)絡(luò)是由一組計(jì)算設(shè)備之間的連接松散地綁定的網(wǎng)絡(luò),它允許計(jì)算設(shè)備直接共享資源。有許多對等網(wǎng)絡(luò),它們是在其它網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的主干上創(chuàng)建的。這些網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)通常包括某一級別的管理,無論該基礎(chǔ)結(jié)構(gòu)是因特網(wǎng)還是另一本地網(wǎng)絡(luò)。管理通常采用負(fù)責(zé)尋址網(wǎng)絡(luò)上的目的地以及將信息路由到這些目的地的一個(gè)或多個(gè)服務(wù)器的形式。尋址方案可使用若干不同協(xié)議中的一種或多種來尋址目的地和路由信息。例如,一種網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)協(xié)議是DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)。DHCP是用于自動(dòng)化使用TCP/IP的計(jì)算機(jī)的配置的因特網(wǎng)協(xié)議。DHCP可用于自動(dòng)分配IP地址、傳送諸如子網(wǎng)掩碼和默認(rèn)路由器等TCP/IP棧配置參數(shù),以及提供諸如時(shí)間服務(wù)器的地址等其它配置信息。傳統(tǒng)上使用DHCP的網(wǎng)絡(luò)是由被稱為DHCP服務(wù)器的專用計(jì)算設(shè)備來管理的。
諸如使用標(biāo)準(zhǔn)DHCP的網(wǎng)絡(luò)等傳統(tǒng)模型在尚未存在任何基礎(chǔ)結(jié)構(gòu)時(shí)會(huì)失敗。不要求任何現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)或管理的特別的、自形成的對等網(wǎng)絡(luò)的概念是相對較新的,并有許多障礙要克服。障礙之一是當(dāng)未在對等網(wǎng)絡(luò)上提供專用計(jì)算設(shè)備來管理尋址時(shí)如何提供尋址方案。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例涉及用于為自形成對等網(wǎng)絡(luò)提供分布式服務(wù)器的系統(tǒng)和方法。依照本發(fā)明的一方面,組合多個(gè)網(wǎng)孔框或網(wǎng)孔節(jié)點(diǎn)來形成網(wǎng)狀網(wǎng)絡(luò)(其中,網(wǎng)狀網(wǎng)絡(luò)是一種類型的對等網(wǎng)絡(luò),它包括擔(dān)當(dāng)網(wǎng)絡(luò)的協(xié)作代理的網(wǎng)孔框)。該網(wǎng)狀網(wǎng)絡(luò)允許網(wǎng)孔節(jié)點(diǎn)和連接到網(wǎng)孔節(jié)點(diǎn)的客戶機(jī)之間的數(shù)據(jù)傳輸,而無需預(yù)先存在的網(wǎng)絡(luò)結(jié)構(gòu)元素(即,專用服務(wù)器等)。本發(fā)明通過配置網(wǎng)孔節(jié)點(diǎn)以遵循選擇的消息通信方案,提供了一種邏輯的、數(shù)據(jù)庫驅(qū)動(dòng)的分布式服務(wù)器。消息通信方案分散了在網(wǎng)狀網(wǎng)絡(luò)中包括的各種網(wǎng)孔節(jié)點(diǎn)上管理網(wǎng)絡(luò)地址空間和客戶機(jī)子網(wǎng)的責(zé)任。
依照本發(fā)明的一方面,提供了一種用于在缺少受管網(wǎng)絡(luò)服務(wù)的情況下協(xié)作地管理路由IP地址空間的計(jì)算機(jī)實(shí)現(xiàn)的方法。該方法包括標(biāo)識主干網(wǎng)絡(luò)上的協(xié)作代理、為主干網(wǎng)絡(luò)上的當(dāng)前協(xié)作代理選擇主干地址、選擇對應(yīng)于當(dāng)前協(xié)作代理的客戶機(jī)子網(wǎng)地址、以及向主干網(wǎng)絡(luò)上的其它協(xié)作代理通知客戶機(jī)子網(wǎng)地址選擇。
依照本發(fā)明的另一方面,提供了一種包括計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),該指令用于標(biāo)識網(wǎng)狀網(wǎng)絡(luò)上的相鄰網(wǎng)孔節(jié)點(diǎn)以及獲取對應(yīng)于任何相鄰網(wǎng)孔節(jié)點(diǎn)的路由表。該路由表包括由相鄰網(wǎng)孔節(jié)點(diǎn)做出的地址分配。該指令還包括為網(wǎng)狀網(wǎng)絡(luò)上的當(dāng)前網(wǎng)孔節(jié)點(diǎn)選擇一面向網(wǎng)孔的地址、選擇對應(yīng)于當(dāng)前網(wǎng)孔節(jié)點(diǎn)的客戶機(jī)子網(wǎng)地址范圍、以及向網(wǎng)狀網(wǎng)絡(luò)上的其它網(wǎng)孔節(jié)點(diǎn)通知客戶機(jī)網(wǎng)孔節(jié)點(diǎn)對客戶機(jī)子網(wǎng)范圍的選擇。
依照本發(fā)明的又一方面,一種用于在缺少受管網(wǎng)絡(luò)服務(wù)的情況下協(xié)作地管理路由IP地址空間的系統(tǒng)包括其中包括網(wǎng)孔節(jié)點(diǎn)的網(wǎng)狀網(wǎng)絡(luò),以及在該網(wǎng)狀網(wǎng)絡(luò)上分布的邏輯服務(wù)器,該邏輯服務(wù)器被配置成在每一網(wǎng)孔節(jié)點(diǎn)上執(zhí)行一組計(jì)算機(jī)可執(zhí)行指令。在每一網(wǎng)孔節(jié)點(diǎn)上,服務(wù)器配置通過廣播一發(fā)現(xiàn)消息來標(biāo)識網(wǎng)狀網(wǎng)絡(luò)上的相鄰網(wǎng)孔節(jié)點(diǎn),該發(fā)現(xiàn)消息確定其它網(wǎng)孔節(jié)點(diǎn)是否在當(dāng)前網(wǎng)孔節(jié)點(diǎn)的通信范圍內(nèi)。當(dāng)前網(wǎng)孔節(jié)點(diǎn)然后獲取對應(yīng)于任何相鄰網(wǎng)孔節(jié)點(diǎn)的路由表,其中,該路由表包括由相鄰網(wǎng)孔節(jié)點(diǎn)做出的地址分配。為網(wǎng)狀網(wǎng)絡(luò)上的當(dāng)前網(wǎng)孔節(jié)點(diǎn)選擇一面向網(wǎng)孔的地址,以及對應(yīng)于當(dāng)前網(wǎng)孔節(jié)點(diǎn)的客戶機(jī)子網(wǎng)地址范圍。通過向相鄰網(wǎng)孔節(jié)點(diǎn)廣播分配消息,向網(wǎng)狀網(wǎng)絡(luò)上的其它網(wǎng)孔節(jié)點(diǎn)通知客戶機(jī)子網(wǎng)范圍選擇。該分配消息包括客戶機(jī)子網(wǎng)范圍已由當(dāng)前網(wǎng)孔節(jié)點(diǎn)分配的指示符。


圖1示出了可在本發(fā)明的一個(gè)示例性實(shí)施例中使用的一個(gè)示例性計(jì)算設(shè)備。
圖2示出了可在本發(fā)明的一個(gè)示例性實(shí)施例中使用的一個(gè)示例性移動(dòng)設(shè)備。
圖3示出了可在本發(fā)明的一個(gè)示例性實(shí)施例中使用的一個(gè)示例性網(wǎng)狀網(wǎng)絡(luò)。
圖4示出了用于本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性對等拓?fù)浣Y(jié)構(gòu)。
圖5示出了依照本發(fā)明的通電過程的示例性邏輯流程圖。
圖6示出了依照本發(fā)明的DHCP請求處理過程的示例性邏輯流程圖。
圖7示出了依照本發(fā)明的分配消息接收處理過程的示例性邏輯流程圖。
具體實(shí)施例方式
現(xiàn)在將參考附圖在下文中更完整地描述本發(fā)明的實(shí)施例,附圖形成了本發(fā)明的一部分,并作為說明示出了用于實(shí)施本發(fā)明的具體示例性實(shí)施例。然而,本發(fā)明可以用許多不同的形式來實(shí)施,并且不應(yīng)當(dāng)被解釋成限于此處所述的實(shí)施例;相反,提供這些實(shí)施例,使得本發(fā)明可以完備和完全,并可以充分地向本領(lǐng)域的技術(shù)人員傳達(dá)本發(fā)明的范圍。特別地,本發(fā)明可以被實(shí)施為方法或設(shè)備。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例或組合軟件和硬件方面的實(shí)施例的形式。因此,以下詳細(xì)描述不應(yīng)當(dāng)在限制的意義上考慮。
說明性操作環(huán)境參考圖1,用于實(shí)現(xiàn)本發(fā)明的一個(gè)示例性系統(tǒng)包括諸如計(jì)算設(shè)備100的計(jì)算設(shè)備。在基本的配置中,計(jì)算設(shè)備100通常包括至少一個(gè)處理單元102和系統(tǒng)存儲(chǔ)器104。根據(jù)計(jì)算設(shè)備的確切配置和類型,系統(tǒng)存儲(chǔ)器104可以是易失性的(如RAM)、非易失性的(如ROM、閃存等)或兩者的某一組合。系統(tǒng)存儲(chǔ)器104通常包括操作系統(tǒng)105、一個(gè)或多個(gè)應(yīng)用程序106,并且可包括程序數(shù)據(jù)107。這一基本配置在圖1中由虛線108內(nèi)的組件示出。
計(jì)算設(shè)備100可具有另外的特征或功能。例如,計(jì)算設(shè)備100也可包括另外的數(shù)據(jù)存儲(chǔ)設(shè)備(可移動(dòng)和/或不可移動(dòng)),如磁盤、光盤或磁帶。這類另外的存儲(chǔ)在圖1中由可移動(dòng)存儲(chǔ)109和不可移動(dòng)存儲(chǔ)110示出。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括以用于儲(chǔ)存如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法和技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器104、可移動(dòng)存儲(chǔ)109和不可移動(dòng)存儲(chǔ)110都是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光存儲(chǔ)、盒式磁帶、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以用來儲(chǔ)存期望的信息并可由計(jì)算設(shè)備100訪問的任一其它介質(zhì)。任一這類計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是設(shè)備100的一部分。計(jì)算設(shè)備100也可具有(多個(gè))輸入設(shè)備112,如鍵盤、鼠標(biāo)、輸入筆、語音輸入設(shè)備、觸摸輸入設(shè)備等等。也可包括(多個(gè))輸出設(shè)備114,如顯示器、揚(yáng)聲器、打印機(jī)等等。所有這些設(shè)備在本領(lǐng)域中是已知的,且無需在此詳細(xì)討論。
計(jì)算設(shè)備100也包含允許設(shè)備如通過網(wǎng)絡(luò)或無線網(wǎng)狀網(wǎng)絡(luò)與其它計(jì)算設(shè)備118進(jìn)行通信的通信連接116。通信連接116是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通??梢詫?shí)現(xiàn)為諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進(jìn)行編碼的方式設(shè)置或改變其一個(gè)或多個(gè)特征的信號。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。本發(fā)明使用的術(shù)語計(jì)算機(jī)可讀介質(zhì)包括存儲(chǔ)介質(zhì)和通信介質(zhì)。
在一個(gè)實(shí)施例中,應(yīng)用程序106還包括用于實(shí)現(xiàn)依照本發(fā)明的網(wǎng)狀聯(lián)網(wǎng)功能和/或分布式服務(wù)器的應(yīng)用程序120。由應(yīng)用程序120表示的功能可以由計(jì)算設(shè)備100中包括的附加輸入設(shè)備112、輸出設(shè)備114和通信連接116進(jìn)一步支持,用于建立和維護(hù)網(wǎng)狀網(wǎng)絡(luò)。
圖2示出了可在本發(fā)明的一個(gè)示例性實(shí)施例中使用的移動(dòng)計(jì)算設(shè)備。參考圖2,用于實(shí)現(xiàn)本發(fā)明的一個(gè)示例性系統(tǒng)包括諸如移動(dòng)計(jì)算設(shè)備200等移動(dòng)計(jì)算設(shè)備。移動(dòng)計(jì)算設(shè)備200具有處理器260、存儲(chǔ)器262、顯示屏228和小鍵盤232。存儲(chǔ)器262一般包括易失性存儲(chǔ)器(如RAM)和非易失性存儲(chǔ)器(如ROM、閃存等)。移動(dòng)計(jì)算設(shè)備200包括操作系統(tǒng)264,如微軟公司的Windows CE操作系統(tǒng)或其它操作系統(tǒng),它駐留在存儲(chǔ)器262中并在處理器260上執(zhí)行。小鍵盤232可以是按鈕數(shù)字撥號盤(如在典型的電話上的那樣)、多鍵鍵盤(如常規(guī)的鍵盤)。顯示屏228可以是液晶顯示屏或通常在移動(dòng)計(jì)算設(shè)備中使用的任一其它類型的顯示屏。顯示屏228可以是觸敏的,并且因此可以用作輸入設(shè)備。
一個(gè)或多個(gè)應(yīng)用程序266被加載到存儲(chǔ)器262中并在操作系統(tǒng)264上運(yùn)行。應(yīng)用程序的示例包括電話撥號器程序、電子郵件程序、時(shí)間安排程序、PIM(個(gè)人信息管理)程序、文字處理程序、電子表格程序、因特網(wǎng)瀏覽器程序等等。移動(dòng)計(jì)算設(shè)備200也包括存儲(chǔ)器262內(nèi)的非易失性存儲(chǔ)268。非易失性存儲(chǔ)268可用于儲(chǔ)存持久信息,即使移動(dòng)計(jì)算設(shè)備200斷電這樣的信息也不會(huì)丟失。應(yīng)用程序266可以使用并儲(chǔ)存存儲(chǔ)268中的信息,如由電子郵件應(yīng)用程序使用的電子郵件或其它消息、由PIM使用的聯(lián)系人信息、由時(shí)間安排程序使用的約會(huì)信息、由文字處理應(yīng)用程序使用的文檔等等。
移動(dòng)計(jì)算設(shè)備200具有電源270,可以被實(shí)現(xiàn)為一個(gè)或多個(gè)電池。電源270還可包括外部電源,如對電池進(jìn)行補(bǔ)充或重新充電的AC適配器或加電對接基座。
也示出移動(dòng)計(jì)算設(shè)備200具有兩種類型的外部通知機(jī)制LED 240和音頻接口274。這些設(shè)備可以直接耦合至電源270,使得當(dāng)被激活時(shí),即使處理器和其它組件可能被關(guān)閉以保存電池功率,它們也能保持由通知機(jī)制指定的一段持續(xù)時(shí)間。LED 240可以被編程為無限地保持直到用戶采取行動(dòng)來指示設(shè)備的通電狀態(tài)。音頻接口274用來向用戶提供并從其接收可聽見的信號。例如,音頻接口274可以耦合至用于提供可聽見輸出的揚(yáng)聲器以及用于接收可聽見輸入的話筒,如方便電話會(huì)議。
移動(dòng)計(jì)算設(shè)備200也包括無線電接口層272,它執(zhí)行發(fā)送和接收諸如射頻通信等通信的功能。無線電接口層272通過通信載波或服務(wù)供應(yīng)商方便了移動(dòng)計(jì)算設(shè)備200和外部世界之間的無線連接。來往于無線電接口層272的傳輸在操作系統(tǒng)264的控制下進(jìn)行。換言之,由無線電接口層272接收的通信可以通過操作系統(tǒng)傳播到應(yīng)用程序266,反之亦然。
在一個(gè)實(shí)施例中,應(yīng)用程序266還包括用于實(shí)現(xiàn)依照本發(fā)明的網(wǎng)狀聯(lián)網(wǎng)功能和/或分布式服務(wù)器的應(yīng)用程序280。由應(yīng)用程序280表示的功能可以由包括在移動(dòng)計(jì)算設(shè)備200中的無線電接口層272中的結(jié)構(gòu)進(jìn)一步支持,用于建立和維護(hù)網(wǎng)狀網(wǎng)絡(luò)。
圖3示出了可在本發(fā)明的一個(gè)實(shí)施例中使用的網(wǎng)狀網(wǎng)絡(luò)300。網(wǎng)狀網(wǎng)絡(luò)300可包括網(wǎng)孔節(jié)點(diǎn)、因特網(wǎng)服務(wù)供應(yīng)商和通信介質(zhì)的任何拓?fù)浣Y(jié)構(gòu)。同樣,網(wǎng)狀網(wǎng)絡(luò)300可具有靜態(tài)或動(dòng)態(tài)的拓?fù)浣Y(jié)構(gòu),而不脫離本發(fā)明的精神和范圍。
網(wǎng)狀網(wǎng)絡(luò)300包括一個(gè)或多個(gè)因特網(wǎng)服務(wù)供應(yīng)商310,它們?yōu)橐粋€(gè)或多個(gè)網(wǎng)孔節(jié)點(diǎn)提供因特網(wǎng)接入點(diǎn)。每一網(wǎng)孔節(jié)點(diǎn)可包括連接到網(wǎng)狀網(wǎng)絡(luò)300的任何設(shè)備。網(wǎng)孔節(jié)點(diǎn)可發(fā)送和接收數(shù)據(jù)包,并也可依照網(wǎng)狀網(wǎng)絡(luò)300的路由協(xié)議將數(shù)據(jù)包傳遞到其它網(wǎng)孔節(jié)點(diǎn)。網(wǎng)孔節(jié)點(diǎn)可以是固定設(shè)備或移動(dòng)設(shè)備。例如,網(wǎng)孔節(jié)點(diǎn)可以包括類似于上文結(jié)合圖1所描述的計(jì)算設(shè)備100的計(jì)算設(shè)備312。網(wǎng)孔節(jié)點(diǎn)也可包括類似于上文結(jié)合圖2所描述的移動(dòng)計(jì)算設(shè)備200的移動(dòng)計(jì)算設(shè)備314。其它實(shí)施例可包括網(wǎng)孔節(jié)點(diǎn)的其它配置。例如,網(wǎng)孔節(jié)點(diǎn)可包括僅將數(shù)據(jù)包從一個(gè)網(wǎng)孔節(jié)點(diǎn)路由到諸如網(wǎng)孔框316等另一網(wǎng)孔節(jié)點(diǎn)的專用計(jì)算機(jī)。
在本發(fā)明的一個(gè)示例性實(shí)施例中,網(wǎng)狀網(wǎng)絡(luò)300具有一種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其中網(wǎng)孔節(jié)點(diǎn)與網(wǎng)孔節(jié)點(diǎn)之間通過若干冗余連接相連接。網(wǎng)狀網(wǎng)絡(luò)300可包括完全網(wǎng)孔網(wǎng)絡(luò),其中每一網(wǎng)孔節(jié)點(diǎn)連接到網(wǎng)狀網(wǎng)絡(luò)中的每一其它網(wǎng)孔節(jié)點(diǎn)。網(wǎng)狀網(wǎng)絡(luò)300也可包括局部網(wǎng)孔拓?fù)浣Y(jié)構(gòu),其中某些網(wǎng)孔節(jié)點(diǎn)以完全網(wǎng)孔網(wǎng)絡(luò)組織,而其它網(wǎng)孔節(jié)點(diǎn)僅連接到一個(gè)或兩個(gè)其它網(wǎng)孔節(jié)點(diǎn)。其它網(wǎng)孔拓?fù)浣Y(jié)構(gòu)可包括連接到網(wǎng)狀網(wǎng)絡(luò)的一個(gè)或多個(gè)客戶機(jī)子網(wǎng)。這些客戶機(jī)子網(wǎng)可具有連接到其上的多個(gè)客戶機(jī)。例如,客戶機(jī)子網(wǎng)可包括通過除網(wǎng)狀網(wǎng)絡(luò)之外的網(wǎng)絡(luò)連接連接到特定的網(wǎng)孔框的一組計(jì)算設(shè)備。子網(wǎng)中的這些客戶機(jī)經(jīng)由網(wǎng)孔框?qū)?shù)據(jù)流量路由到網(wǎng)狀網(wǎng)絡(luò)而獲得對其它資源的訪問。通過網(wǎng)孔框訪問網(wǎng)狀網(wǎng)絡(luò)允許客戶機(jī)設(shè)備獲得用管理數(shù)據(jù)路由的網(wǎng)孔框?qū)σ蛱鼐W(wǎng)和其它資源的訪問。網(wǎng)狀網(wǎng)絡(luò)300的各種拓?fù)浣Y(jié)構(gòu)是無窮的,并且不在此進(jìn)一步陳述。
參考標(biāo)號318指示網(wǎng)孔節(jié)點(diǎn)之間的通信介質(zhì)。作為示例而非局限,通信介質(zhì)318可以包括諸如有線網(wǎng)絡(luò)或直接連線連接等有線介質(zhì),以及諸如聲學(xué)、RF、紅外和其它無線介質(zhì)等無線介質(zhì)。參考標(biāo)號320指示因特網(wǎng)服務(wù)供應(yīng)商310和一個(gè)或多個(gè)網(wǎng)孔節(jié)點(diǎn)之間的通信介質(zhì)。通信介質(zhì)320可包括諸如有線網(wǎng)絡(luò)或直接連線連接等有線介質(zhì),以及諸如聲學(xué)、RF、紅外和其它無線介質(zhì)等無線介質(zhì)。
在網(wǎng)狀網(wǎng)絡(luò)300中,網(wǎng)孔節(jié)點(diǎn)可以發(fā)送和接收來自其它網(wǎng)孔節(jié)點(diǎn)和/或來自因特網(wǎng)的數(shù)據(jù)包。路由表通常確定了數(shù)據(jù)包通過網(wǎng)狀網(wǎng)絡(luò)的路徑。數(shù)據(jù)包的路由通常是在源節(jié)點(diǎn)處確定的。換言之,發(fā)送數(shù)據(jù)包的節(jié)點(diǎn)可確定數(shù)據(jù)包通過網(wǎng)狀網(wǎng)絡(luò)所采取的路線。從一個(gè)網(wǎng)孔節(jié)點(diǎn)路由以到達(dá)另一網(wǎng)孔節(jié)點(diǎn)的數(shù)據(jù)包通常被稱為“跳躍”。例如,如果網(wǎng)孔節(jié)點(diǎn)314希望向網(wǎng)孔節(jié)點(diǎn)316發(fā)送數(shù)據(jù)包,則網(wǎng)孔節(jié)點(diǎn)314可訪問的路由表可指示路由將通過網(wǎng)孔節(jié)點(diǎn)322發(fā)生。因此,數(shù)據(jù)包將做出兩次跳躍(從網(wǎng)孔節(jié)點(diǎn)314到網(wǎng)孔節(jié)點(diǎn)322,以及從網(wǎng)孔節(jié)點(diǎn)322到網(wǎng)孔節(jié)點(diǎn)316)。一般而言,延時(shí)與數(shù)據(jù)包到達(dá)網(wǎng)孔節(jié)點(diǎn)必須做出的跳躍的數(shù)量成正比地增長。路由表還可指示數(shù)據(jù)包到達(dá)目的地所用的若干可用路徑。路由表也可指示由于跳躍數(shù)量過大,目的地節(jié)點(diǎn)是不可訪問的。然而,對路由表的使用假定網(wǎng)絡(luò)節(jié)點(diǎn)已被尋址用于通過網(wǎng)狀網(wǎng)絡(luò)300路由數(shù)據(jù)。
用于對等網(wǎng)絡(luò)的分布式服務(wù)器的說明性實(shí)施例本發(fā)明的實(shí)施例涉及在網(wǎng)絡(luò)上包括的多個(gè)計(jì)算設(shè)備上特別網(wǎng)絡(luò)的分發(fā)地址空間管理。例如,網(wǎng)絡(luò)可包括一個(gè)或多個(gè)網(wǎng)孔框或網(wǎng)孔節(jié)點(diǎn)。這些網(wǎng)孔節(jié)點(diǎn)被配置成自形成一種無線網(wǎng)絡(luò),使得其它網(wǎng)孔框在特定的范圍之內(nèi)。許多這些網(wǎng)孔節(jié)點(diǎn)可向多個(gè)客戶機(jī)計(jì)算設(shè)備提供到網(wǎng)狀網(wǎng)絡(luò)的連接。其它網(wǎng)孔節(jié)點(diǎn)可向連接到網(wǎng)狀網(wǎng)絡(luò)的計(jì)算設(shè)備提供因特網(wǎng)出口點(diǎn)。本發(fā)明提供了一種允許客戶機(jī)計(jì)算設(shè)備將其因特網(wǎng)流量通過網(wǎng)狀網(wǎng)絡(luò)路由并到達(dá)特定的因特網(wǎng)出口點(diǎn)的尋址方案。該尋址方案提供了對網(wǎng)絡(luò)地址的分配,使得可以實(shí)現(xiàn)數(shù)據(jù)的這一路由,而不需要路由中的多個(gè)網(wǎng)絡(luò)地址解析(NAT)點(diǎn)。
在一個(gè)實(shí)施例中,使用一種消息通信方案來向網(wǎng)孔節(jié)點(diǎn)通知地址空間的狀態(tài)及其改變。該消息通信方案允許網(wǎng)孔節(jié)點(diǎn)被協(xié)調(diào)來管理地址空間,而無需使用管理員或?qū)S梅?wù)器。
每一網(wǎng)孔框?qū)崿F(xiàn)監(jiān)聽(相對于網(wǎng)孔的)傳入客戶機(jī)連接的DHCP服務(wù)器。每一網(wǎng)孔框維護(hù)網(wǎng)孔框所理解的表示DHCP數(shù)據(jù)庫的當(dāng)前狀態(tài)的數(shù)據(jù)結(jié)構(gòu)。DHCP請求由網(wǎng)孔框字段化(field),并使用上述消息通信方案來向其它網(wǎng)孔框通知其動(dòng)作,使得可以在所有的網(wǎng)孔框之間維護(hù)一致的地址空間。
圖4示出了用于本發(fā)明的一個(gè)實(shí)施例的示例性對等拓?fù)浣Y(jié)構(gòu)。系統(tǒng)400包括對等(P2P)網(wǎng)絡(luò)402、對等(P2P)計(jì)算設(shè)備(例如,網(wǎng)孔框)404、406、408、客戶機(jī)子網(wǎng)410、420以及客戶機(jī)計(jì)算設(shè)備412、414、416、420、422、426。
P2P設(shè)備(例如,406)被添加到P2P網(wǎng)絡(luò)402,它們被配置成利用地址空間中所提供的一部分,或分配地址空間的一部分(見圖5)。在自形成和自管理的P2P網(wǎng)絡(luò)中,單個(gè)DHCP服務(wù)器的概念不是可行的。DHCP服務(wù)器要求個(gè)人(例如,管理員)設(shè)置它并管理它。在P2P網(wǎng)絡(luò)402中,沒有管理員,沒有單個(gè)控制點(diǎn),也沒有DHCP服務(wù)所依賴的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。本發(fā)明從P2P網(wǎng)絡(luò)402上的多個(gè)位置和多個(gè)設(shè)備(例如,406)上提供DHCP地址。自形成以創(chuàng)建P2P網(wǎng)絡(luò)的設(shè)備(例如,406)也向其客戶機(jī)計(jì)算設(shè)備(例如,412)提供DHCP服務(wù),同時(shí)從單個(gè)、分布式DHCP數(shù)據(jù)庫中操作。作為示例,在自形成的網(wǎng)狀網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)402)中,網(wǎng)孔框(例如,406)彼此發(fā)現(xiàn)、彼此驗(yàn)證、并形成了P2P網(wǎng)絡(luò)。P2P網(wǎng)絡(luò)是依照本發(fā)明來配置的,以允許連接到網(wǎng)孔框(例如,406)的客戶機(jī)(例如,412)與連接到網(wǎng)孔上別處的另一網(wǎng)孔框(例如,408)的客戶機(jī)(例如,422)通信。每一網(wǎng)孔框(例如,406)向其客戶機(jī)(例如,412)提供IP(網(wǎng)際協(xié)議)地址??蛻魴C(jī)然后可與連接到其它網(wǎng)孔框的其它客戶機(jī)通信,使其自己的IP地址由其各自的網(wǎng)孔框來提供。
在一個(gè)實(shí)施例中,網(wǎng)孔框基于類似于核心主干路由器協(xié)議的協(xié)議在它們之中創(chuàng)建單個(gè)邏輯DHCP服務(wù)器,由此這些網(wǎng)孔框作用于單個(gè)邏輯DHCP數(shù)據(jù)庫。網(wǎng)孔框能夠?yàn)樗鼈冏约阂约斑B接到它們的客戶機(jī)分配地址。地址是從專用網(wǎng)絡(luò)10.B.C.D空間中選出的。當(dāng)創(chuàng)建用于網(wǎng)狀子網(wǎng)的數(shù)據(jù)庫時(shí),對第二位置隨機(jī)地選擇一個(gè)值。該網(wǎng)狀子網(wǎng)中的所有節(jié)點(diǎn)在第二位置中使用該隨機(jī)選擇的值。例如,如果選擇了值213,則網(wǎng)狀子網(wǎng)中的所有節(jié)點(diǎn)具有以10.213開始的地址。該示例的子網(wǎng)掩碼是255.255.0.0。可選擇其它值和子網(wǎng)掩碼值,而不脫離本發(fā)明的精神或范圍。
在另一實(shí)施例中,每一網(wǎng)孔框及其客戶機(jī)組共享一客戶機(jī)地址子網(wǎng)。為客戶機(jī)子網(wǎng)大小選擇的位數(shù)(即,主機(jī)數(shù))是具有用于正常出發(fā)點(diǎn)的足夠地址和不浪費(fèi)地址空間之間的折衷。例如,可對每一客戶機(jī)子網(wǎng)使用4位空間,從而允許16個(gè)主機(jī)。然而,注意,這不限制網(wǎng)孔框能夠?yàn)槠涓郊拥目蛻魴C(jī)網(wǎng)絡(luò)分配多少客戶機(jī)子網(wǎng)。如果網(wǎng)孔框在用于主存客戶機(jī)計(jì)算設(shè)備的一個(gè)客戶機(jī)子網(wǎng)上空間不夠,則它可分配額外的客戶機(jī)子網(wǎng)。采用4位空間示例,包括IP地址的剩余12位是隨機(jī)選擇的值。換言之,當(dāng)分配子網(wǎng)時(shí),網(wǎng)孔框能夠在該范圍內(nèi)自由地選擇一個(gè)隨機(jī)值。例如,使用上述示例,其中213是對第二位置隨機(jī)選擇的值,則連接到網(wǎng)孔框的設(shè)備的客戶機(jī)子網(wǎng)地址可以是10.218.1.16,其子網(wǎng)掩碼為255.255.255.240。
在另一實(shí)施例中,使用本發(fā)明的尋址方案允許實(shí)現(xiàn)一種允許網(wǎng)孔框在可用因特網(wǎng)出口點(diǎn)之間選擇的算法。當(dāng)網(wǎng)孔框向?qū)?yīng)的客戶機(jī)計(jì)算設(shè)備分發(fā)地址時(shí),該網(wǎng)孔框給出其自己的面向客戶機(jī)的地址作為默認(rèn)網(wǎng)關(guān)。由此,不要求客戶機(jī)基于出口點(diǎn)的改變來改變?nèi)魏纹渑渲眯畔ⅰ?br> 圖5示出了依照本發(fā)明的通電過程的示例性邏輯流程圖。過程500在框502開始,其中在網(wǎng)狀網(wǎng)絡(luò)(例如,圖4所示的P2P網(wǎng)絡(luò)402)上對網(wǎng)孔節(jié)點(diǎn)或網(wǎng)孔框通電。網(wǎng)孔節(jié)點(diǎn)可具有通過客戶機(jī)子網(wǎng)(例如,客戶機(jī)子網(wǎng)410)聯(lián)網(wǎng)的一個(gè)或多個(gè)客戶機(jī)計(jì)算設(shè)備。在網(wǎng)孔節(jié)點(diǎn)被通電并連接到網(wǎng)狀網(wǎng)絡(luò)之后,該過程在框504繼續(xù)。
在框504,對網(wǎng)孔節(jié)點(diǎn)的IP地址(例如,10.X.C.D)的第二位置或第二字節(jié)選擇一隨機(jī)值(X)。一旦選擇了隨機(jī)值,該過程移至框506。
在框506,將發(fā)現(xiàn)消息廣播到當(dāng)前網(wǎng)孔節(jié)點(diǎn)范圍內(nèi)的任何其它網(wǎng)孔節(jié)點(diǎn)。在一個(gè)實(shí)施例中,該范圍是使得當(dāng)前網(wǎng)孔節(jié)點(diǎn)和其它網(wǎng)孔節(jié)點(diǎn)被認(rèn)為是鄰居,或直接彼此連接的范圍。在一個(gè)實(shí)施例中,發(fā)現(xiàn)消息包括對應(yīng)于IP地址的第二字節(jié)的X值。一旦廣播了發(fā)現(xiàn)消息,該過程在框508繼續(xù)。
在框508,網(wǎng)孔節(jié)點(diǎn)在初始狀態(tài)中等待指定的事件。在一個(gè)實(shí)施例中,指定的事件是對應(yīng)于超時(shí)屬性的指定秒數(shù)的流逝。當(dāng)網(wǎng)孔節(jié)點(diǎn)在初始狀態(tài)中等待時(shí),該過程繼續(xù)到判別框510。
在判別框510,確定當(dāng)前網(wǎng)孔框是否在初始狀態(tài)中從其它網(wǎng)孔框接收到任何其它發(fā)現(xiàn)消息。如果從另一網(wǎng)孔框接收到另一發(fā)現(xiàn)消息,則該過程移至判別框512,以在兩個(gè)分配的地址空間之間做出選擇。然而,如果沒有接收到任何發(fā)現(xiàn)消息,則該過程前進(jìn)到判別框516。
在判別框512,確定接收的發(fā)現(xiàn)消息中包括的X值是否大于由當(dāng)前網(wǎng)孔框隨機(jī)生成的X值。如果接收到的X值大于當(dāng)前X值,則該過程移至框514。然而,如果接收到的X值小于當(dāng)前X值,則該過程返回到框508的初始狀態(tài)。
在框514,設(shè)置當(dāng)前值X以匹配接收到的X值。當(dāng)兩個(gè)網(wǎng)孔節(jié)點(diǎn)都在初始階段,且一個(gè)網(wǎng)孔節(jié)點(diǎn)尚未存在時(shí),改變當(dāng)前X值求出相鄰網(wǎng)孔節(jié)點(diǎn)之間的沖突地址空間。例如,第一網(wǎng)孔節(jié)點(diǎn)可以在網(wǎng)絡(luò)上出現(xiàn),并發(fā)送指示對應(yīng)于10.15.C.D的面向網(wǎng)孔的地址的分配的發(fā)現(xiàn)消息。第二網(wǎng)孔節(jié)點(diǎn)可以同時(shí)在網(wǎng)絡(luò)上出現(xiàn),并發(fā)送指示對應(yīng)于10.23.C.D的面向網(wǎng)孔的地址的分配的發(fā)現(xiàn)消息。為使兩個(gè)網(wǎng)孔節(jié)點(diǎn)依照同一地址空間操作,第一網(wǎng)孔節(jié)點(diǎn)和第二網(wǎng)孔節(jié)點(diǎn)被配置成選擇較高的字節(jié)等級來分解沖突。因此,第一網(wǎng)孔節(jié)點(diǎn)將其第二字節(jié)改為23,使得網(wǎng)狀網(wǎng)絡(luò)的地址分配可在分解沖突的情況下繼續(xù)。如果任一網(wǎng)孔節(jié)點(diǎn)超出初始節(jié)點(diǎn)或任一網(wǎng)孔節(jié)點(diǎn)遇到初始節(jié)點(diǎn)之后的另一網(wǎng)孔節(jié)點(diǎn),則不會(huì)出現(xiàn)該類型的沖突分解。對X的改變以對應(yīng)于較高字節(jié)級別是為兩個(gè)網(wǎng)孔節(jié)點(diǎn)同時(shí)廣播其發(fā)現(xiàn)消息的時(shí)候所保留的。因此,一旦將當(dāng)前X值改為對應(yīng)于接收的X值,則該過程返回到框508的初始狀態(tài)。
在判別框516,確定在初始狀態(tài)中超時(shí)屬性是否過期。如果超時(shí)屬性尚未過期,則該過程返回到框508,并且網(wǎng)孔節(jié)點(diǎn)保留在初始狀態(tài)中。然而,如果超時(shí)屬性過期,則網(wǎng)孔節(jié)點(diǎn)退出初始狀態(tài),并且該過程移至判別框518。
在判別框518,確定響應(yīng)于廣播發(fā)現(xiàn)消息是否發(fā)現(xiàn)現(xiàn)有的網(wǎng)狀網(wǎng)絡(luò)。如果當(dāng)前不存在任何網(wǎng)狀網(wǎng)絡(luò),則該過程前進(jìn)到判別框522。然而,如果發(fā)現(xiàn)了現(xiàn)有的網(wǎng)狀網(wǎng)絡(luò),則該過程移至框520。
在框520,檢索對應(yīng)于相鄰網(wǎng)孔節(jié)點(diǎn)的路由表。每一網(wǎng)孔節(jié)點(diǎn)的路由表提供了對網(wǎng)絡(luò)上網(wǎng)孔節(jié)點(diǎn)的當(dāng)前地址分配的描述。一旦檢索到了路由表,該過程移至判別框522。
在判別框522,依照任何所檢索的路由表,確定是否還留有自由決定的值用于分配。情況可以是其它網(wǎng)孔節(jié)點(diǎn)的IP地址的分配消耗了對應(yīng)于第二位置的當(dāng)前值(X)的地址空間。在一個(gè)實(shí)施例中,自由決定的值對應(yīng)于從為上述客戶機(jī)子網(wǎng)的4位空間分配剩下的12位隨機(jī)生成的值。如果確定在當(dāng)前分配的地址空間中還剩下分配空間,則該過程前進(jìn)到框526。然而,如果確定沒有剩下自由決定的值,則該過程前進(jìn)到框524。
在框524,分配一個(gè)新的第二位置值(例如,Y)用于向網(wǎng)孔節(jié)點(diǎn)提供地址空間。該新的第二位置值(Y)可以與原始的第二位置值(X)來協(xié)調(diào),以在單個(gè)地址空間中繼續(xù)管理網(wǎng)狀網(wǎng)絡(luò)。一旦分配了該新的第二位置值,該過程在框526繼續(xù)。
在框526,為網(wǎng)孔節(jié)點(diǎn)和任何附加的客戶機(jī)計(jì)算設(shè)備分配客戶機(jī)子網(wǎng)。例如,用于當(dāng)前未如路由表所指示的分配的12個(gè)自由決定的比特的值可用于區(qū)分當(dāng)前網(wǎng)孔節(jié)點(diǎn)的客戶機(jī)子網(wǎng)。一旦分配了客戶機(jī)子網(wǎng),則該過程移至框528。
在框528,在網(wǎng)狀網(wǎng)絡(luò)的主干上分配地址。在一個(gè)實(shí)施例中,該面向網(wǎng)孔的地址被選為具有對應(yīng)于10.X.B.C的值,其中X是先前定義的第二位置值。一旦為網(wǎng)孔節(jié)點(diǎn)分配了主干或面向網(wǎng)孔的地址,則該過程在框530繼續(xù)。
在框530,設(shè)置對應(yīng)于網(wǎng)孔節(jié)點(diǎn)的地址分配的定時(shí)器(T)。定時(shí)器(T)提供了用于確認(rèn)該網(wǎng)孔節(jié)點(diǎn)的地址分配的時(shí)間限制。一旦定時(shí)器(T)被設(shè)置為選中的限制(例如,5分鐘),則該過程前進(jìn)到框532。
在框532,對于由客戶機(jī)子網(wǎng)和主干地址定義的網(wǎng)孔節(jié)點(diǎn)的鄰居,將分配消息廣播到這些鄰居。分配消息包括一指示符,它指示地址已被“分配”并且正在等待由定時(shí)器(T)設(shè)置的周期的過期來確認(rèn)分配。在一個(gè)實(shí)施例中,分配消息包括一跳躍計(jì)數(shù),它限制了分配消息通過網(wǎng)狀網(wǎng)絡(luò)傳播的跳躍的數(shù)量。跳躍計(jì)數(shù)對應(yīng)于防止數(shù)據(jù)在網(wǎng)絡(luò)上被路由超出某一數(shù)量的跳躍之外的類似的跳躍限制。由于對受管地址空間的一致性的需求被限于數(shù)據(jù)的路由范圍,因此在網(wǎng)狀網(wǎng)絡(luò)上足夠分離的網(wǎng)孔節(jié)點(diǎn)可具有相同的地址分配而不會(huì)造成沖突。
在另一實(shí)施例中,分配消息也可包括表示當(dāng)前網(wǎng)孔節(jié)點(diǎn)的路由表最后一次改變的時(shí)間的時(shí)間標(biāo)記。該時(shí)間標(biāo)記允許其它網(wǎng)孔節(jié)點(diǎn)在它們之前已看到分配消息時(shí)(即,自從最后一次發(fā)送該消息以來未發(fā)生改變)忽略該消息。
另外,分配消息還可包括唯一地標(biāo)識始發(fā)該分配消息的網(wǎng)孔節(jié)點(diǎn)的序列號。該序列號提供了另一指示符,指示潛在沖突分配消息之間的分解來源。一旦廣播了分配消息,該過程前進(jìn)到框534。
在框534,起動(dòng)為地址分配提供確認(rèn)周期的定時(shí)器(T)。起動(dòng)定時(shí)器(T)與分配消息的廣播相一致。一旦起動(dòng)了定時(shí)器(T),該過程移至框536。
在框536,網(wǎng)孔節(jié)點(diǎn)進(jìn)入監(jiān)聽狀態(tài)。在監(jiān)聽狀態(tài)中,網(wǎng)孔節(jié)點(diǎn)可從客戶機(jī)計(jì)算設(shè)備接收DHCP請求(見圖6)、從其它網(wǎng)孔節(jié)點(diǎn)接收其它分配消息(見圖7)、或者定時(shí)器(T)可以流逝。在每一網(wǎng)孔節(jié)點(diǎn)進(jìn)入監(jiān)聽狀態(tài)之后,該過程在判別框538繼續(xù)。
在判別框538,確定是否已經(jīng)過了定時(shí)器(T)周期。如果未過定時(shí)器(T)周期,則該過程返回到框536,其中網(wǎng)孔節(jié)點(diǎn)保留在監(jiān)聽狀態(tài)中。然而,如果已經(jīng)過了定時(shí)器(T)周期,則該過程移至框540。
在框540,將更新的分配消息廣播到由客戶機(jī)子網(wǎng)和主干地址定義的網(wǎng)孔節(jié)點(diǎn)的鄰居。該分配消息包括一指示符,指示地址現(xiàn)在“在使用中”,并且被分配給當(dāng)前網(wǎng)孔節(jié)點(diǎn)及其客戶機(jī)子網(wǎng)(除非有任何額外的沖突)。
圖6示出了依照本發(fā)明的DHCP請求處理過程的示例性邏輯流程圖。過程600在網(wǎng)孔節(jié)點(diǎn)處于圖5的討論中所描述的監(jiān)聽狀態(tài)536,并從連接的客戶機(jī)設(shè)備接收到DHCP請求時(shí)開始。該過程在框602繼續(xù)。
在框602,從分配的客戶機(jī)子網(wǎng)范圍中對未使用的值做出選擇。例如,使用上述4位客戶機(jī)子網(wǎng)分配,可向客戶機(jī)計(jì)算設(shè)備分配可能的16個(gè)客戶機(jī)地址中的任何一個(gè)。一旦對未使用的客戶機(jī)子網(wǎng)地址做出選擇,該過程在判別框604繼續(xù)。
在判別框604,確定是否已經(jīng)過了圖5的討論中所描述的定時(shí)器(T)周期。如果未過定時(shí)器(T)周期,則該過程移至框606。然而,如果已經(jīng)過了定時(shí)器(T)周期,則該過程移至框608。
在框606,將網(wǎng)孔節(jié)點(diǎn)配置成用一設(shè)置好的比標(biāo)準(zhǔn)更新限制短的更新限制(例如,5分鐘)來響應(yīng)于DHCP請求。使用該較短的更新限制是因?yàn)榫W(wǎng)孔節(jié)點(diǎn)的客戶機(jī)子網(wǎng)范圍分配尚未被確認(rèn)。因此,設(shè)置DHCP請求的更新限制,使得網(wǎng)孔節(jié)點(diǎn)在所設(shè)置的更新限制過期時(shí)確認(rèn)客戶機(jī)子網(wǎng)地址分配以減少?zèng)_突情況。該過程在判別框610繼續(xù)。
在框608,由于已經(jīng)過了定時(shí)器(T)周期,將網(wǎng)孔節(jié)點(diǎn)配置成用標(biāo)準(zhǔn)的更新限制來響應(yīng)于DHCP請求。對應(yīng)于客戶機(jī)子網(wǎng)范圍的地址分配已被確認(rèn)。因此,可使用標(biāo)準(zhǔn)的更新限制,它擔(dān)當(dāng)“心跳”時(shí)間周期,使得網(wǎng)孔節(jié)點(diǎn)周期性地確認(rèn)對網(wǎng)狀網(wǎng)絡(luò)的地址分配。該過程然后在判別框610繼續(xù)。
在判別框610,確定客戶機(jī)子網(wǎng)范圍中剩余的地址數(shù)量是否在選中的閾值之上。例如,可確定一旦客戶機(jī)子網(wǎng)范圍的60%被分配給連接到網(wǎng)孔節(jié)點(diǎn)的客戶機(jī)計(jì)算設(shè)備,就需要分配額外的范圍。如果剩余的客戶機(jī)子網(wǎng)地址數(shù)量超過該閾值,則該過程返回到如圖5所描述的監(jiān)聽狀態(tài)。然而,如果剩余的客戶機(jī)子網(wǎng)地址數(shù)量未超過該閾值,則該過程移至框612。
在框612,分配一新的客戶機(jī)子網(wǎng)地址范圍,并且調(diào)用一通知過程以向網(wǎng)狀網(wǎng)絡(luò)上的其它網(wǎng)孔節(jié)點(diǎn)通知該分配。在一個(gè)實(shí)施例中,通知過程對應(yīng)于圖5的過程步驟526到540。在另一實(shí)施例中,跳過過程步驟528,因?yàn)榭赡懿恍枰峙淞硪恢鞲傻刂穪矸峙漕~外的客戶機(jī)子網(wǎng)地址。一旦分配了新的客戶機(jī)子網(wǎng)地址,該過程返回到圖5所描述的監(jiān)聽狀態(tài)536。
圖7示出了依照本發(fā)明的分配消息接收處理過程的示例性邏輯流程圖。過程700在網(wǎng)孔節(jié)點(diǎn)處于圖5的討論中所描述的監(jiān)聽狀態(tài)536,且從另一網(wǎng)孔節(jié)點(diǎn)接收到分配消息時(shí)開始。該過程在判別框702繼續(xù)。
在判別框702,確定與分配消息的始發(fā)者相關(guān)聯(lián)的時(shí)間標(biāo)記是否比當(dāng)前網(wǎng)孔節(jié)點(diǎn)關(guān)聯(lián)于始發(fā)網(wǎng)孔節(jié)點(diǎn)的時(shí)間標(biāo)記新。如果時(shí)間標(biāo)記較新,則該過程移至框704。然而,如果時(shí)間標(biāo)記不是較新的,則該過程移至框712。
在框704,當(dāng)前網(wǎng)孔節(jié)點(diǎn)從分配消息的發(fā)送者獲取始發(fā)網(wǎng)孔節(jié)點(diǎn)的路由表。在第一次跳躍之后,分配消息的發(fā)送者以及分配消息的始發(fā)者是不同的。在獲取了路由表之后,該過程移至判別框706。
在判別框706,確定依照所接收的分配消息做出的任何分配是否與當(dāng)前網(wǎng)孔節(jié)點(diǎn)的任何本地分配的子網(wǎng)沖突。如果沒有沖突,則該過程前進(jìn)至框710。然而,如果存在沖突,則該過程移至框708。
在框708,當(dāng)前網(wǎng)孔節(jié)點(diǎn)用出錯(cuò)通知響應(yīng)于分配消息的發(fā)送者。該出錯(cuò)通知將被傳播回到分配消息的始發(fā)者處。分配消息的始發(fā)者然后可選擇重新分配其主干和子網(wǎng)地址以分解沖突。在當(dāng)前網(wǎng)孔節(jié)點(diǎn)用出錯(cuò)消息響應(yīng)之后,該過程返回到圖5所描述的監(jiān)聽狀態(tài)536。
如果沒有沖突,則在框710,更新始發(fā)者的時(shí)間標(biāo)記的本地版本以反映始發(fā)網(wǎng)孔節(jié)點(diǎn)的當(dāng)前地址分配。更新時(shí)間標(biāo)記的本地版本確保與將來從同一始發(fā)網(wǎng)孔節(jié)點(diǎn)接收到的分配消息的區(qū)分。該過程在框714繼續(xù)。
在判別框712,當(dāng)始發(fā)者時(shí)間標(biāo)記不比本地版本新時(shí),確定該時(shí)間標(biāo)記和對應(yīng)于始發(fā)網(wǎng)孔節(jié)點(diǎn)的序列號是否先前已被當(dāng)前網(wǎng)孔節(jié)點(diǎn)查看過。如果時(shí)間標(biāo)記和序列號先前已被當(dāng)前網(wǎng)孔節(jié)點(diǎn)查看過,則該過程前進(jìn)到框718。然而,如果時(shí)間標(biāo)記和序列號先前未被當(dāng)前網(wǎng)孔節(jié)點(diǎn)查看過,則該過程移至框714。
在框714,遞增與接收到的分配消息相關(guān)聯(lián)的跳躍計(jì)數(shù)。遞增跳躍計(jì)數(shù)指示當(dāng)前網(wǎng)孔節(jié)點(diǎn)已準(zhǔn)備好將該消息轉(zhuǎn)發(fā)到任何其它的相鄰網(wǎng)孔節(jié)點(diǎn)。在遞增了跳躍計(jì)數(shù)之后,該過程移至判別框716。
在判別框716,確定跳躍計(jì)數(shù)是否超過跳躍限制。可設(shè)置跳躍限制以防止進(jìn)一步轉(zhuǎn)發(fā)分配消息。跳躍限制有助于允許在網(wǎng)絡(luò)上使用一定水平的重復(fù)地址,而不會(huì)導(dǎo)致過多水平的地址沖突。如果跳躍計(jì)數(shù)未超過跳躍限制,則該過程前進(jìn)至框720。然而,如果跳躍計(jì)數(shù)超過了跳躍限制,則該過程前進(jìn)到框718。
在框718,分配消息被當(dāng)前網(wǎng)孔節(jié)點(diǎn)丟棄。分配消息被丟棄是因?yàn)楫?dāng)前網(wǎng)孔節(jié)點(diǎn)確定該分配消息與其路由表的當(dāng)前狀態(tài)無關(guān)(即,時(shí)間標(biāo)記不是新的、超出跳躍限制等等)。在丟棄了分配消息之后,該過程返回到圖5所描述的監(jiān)聽狀態(tài)536。
相反,在框720,當(dāng)分配消息相關(guān)時(shí),該分配消息由當(dāng)前網(wǎng)孔節(jié)點(diǎn)轉(zhuǎn)發(fā)給其相鄰網(wǎng)孔節(jié)點(diǎn)。轉(zhuǎn)發(fā)分配消息確保網(wǎng)狀網(wǎng)絡(luò)上網(wǎng)孔節(jié)點(diǎn)之中相對于地址空間的同步。在轉(zhuǎn)發(fā)了分配消息之后,該過程返回到圖5所描述的監(jiān)聽狀態(tài)536。
在另一實(shí)施例中,圖6和7所描述的過程可能不循環(huán)回到所描述的監(jiān)聽狀態(tài),而是相反,移至用于進(jìn)一步處理的另一狀態(tài),諸如與最優(yōu)路由確定、因特網(wǎng)出口確定相一致的狀態(tài)或其它狀態(tài)。
在又一實(shí)施例中,在兩個(gè)建立的網(wǎng)狀網(wǎng)絡(luò)之間新節(jié)點(diǎn)可以上線,由此創(chuàng)建了包括兩個(gè)網(wǎng)狀網(wǎng)絡(luò)的內(nèi)容以及該新節(jié)點(diǎn)的新的邏輯網(wǎng)狀網(wǎng)絡(luò)。使用該更新,則本發(fā)明的轉(zhuǎn)發(fā)過程允許從兩個(gè)網(wǎng)孔節(jié)點(diǎn)之一的地址空間分配可以通過該新節(jié)點(diǎn)被傳播到其它網(wǎng)狀網(wǎng)絡(luò)。在分配消息被轉(zhuǎn)發(fā)到其對應(yīng)的跳躍限制之后,依照用于邏輯網(wǎng)狀網(wǎng)絡(luò)的公用地址空間同步兩個(gè)網(wǎng)狀網(wǎng)絡(luò)。
在再一實(shí)施例中,圖5-7中所描述的本發(fā)明的步驟可以在必要時(shí)進(jìn)行修改以容納結(jié)合對等網(wǎng)絡(luò)使用的網(wǎng)際協(xié)議的最新版本。例如,某些協(xié)議版本可繞過生成邏輯分布式DHCP服務(wù)器的必要性。該協(xié)議版本可提供用于發(fā)布子網(wǎng)ID的直接功能,使得子網(wǎng)可被分配和管理而無需DHCP服務(wù)器的支持。針對維護(hù)P2P網(wǎng)絡(luò)上的一致地址空間的本發(fā)明的教導(dǎo)可同樣適用于其它協(xié)議版本,而不脫離本發(fā)明的精神和范圍。
以上說明書、示例和數(shù)據(jù)提供了對本發(fā)明的組成部分的制作和使用的完整描述。由于可以做出本發(fā)明的許多實(shí)施例而不脫離本發(fā)明的精神和范圍,本發(fā)明歸于所附權(quán)利要求書。
權(quán)利要求
1.一種用于在缺少受管網(wǎng)絡(luò)服務(wù)的情況下協(xié)作地管理路由IP地址空間的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括標(biāo)識主干網(wǎng)絡(luò)上的協(xié)作代理;為所述主干網(wǎng)絡(luò)上的當(dāng)前協(xié)作代理選擇一主干地址;選擇對應(yīng)于所述當(dāng)前協(xié)作代理的客戶機(jī)子網(wǎng)地址;以及向所述主干網(wǎng)絡(luò)上的其它協(xié)作代理通知所述客戶機(jī)子網(wǎng)地址選擇。
2.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,標(biāo)識所述主干網(wǎng)絡(luò)上的協(xié)作代理還包括標(biāo)識網(wǎng)狀網(wǎng)絡(luò)上的網(wǎng)孔框。
3.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,標(biāo)識所述主干網(wǎng)絡(luò)上的協(xié)作代理還包括廣播一發(fā)現(xiàn)消息,所述發(fā)現(xiàn)消息確定其它協(xié)作代理是否在所述當(dāng)前協(xié)作代理的通信范圍之內(nèi)。
4.如權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述發(fā)現(xiàn)消息包括一指示,它指示了為所述當(dāng)前協(xié)作代理隨機(jī)選擇的主干地址部分,用于與由其它協(xié)作代理選擇的主干地址的同一部分進(jìn)行比較。
5.如權(quán)利要求4所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述為當(dāng)前協(xié)作代理隨機(jī)選擇的主干地址部分與用于另一協(xié)作代理的同一部分之間的沖突是通過將兩個(gè)部分都設(shè)為單個(gè)公用值來分解的。
6.如權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述當(dāng)前協(xié)作代理在廣播了所述發(fā)現(xiàn)消息之后等待一指定的時(shí)間間隔,以從其它協(xié)作代理接收響應(yīng)。
7.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括在選擇所述主干地址之前獲取對應(yīng)于所述當(dāng)前協(xié)作代理的相鄰協(xié)作代理的路由表,其中,所述路由表包括由所述相鄰協(xié)作代理做出的地址分配。
8.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述通知其它協(xié)作代理還包括將一分配消息廣播到相鄰的協(xié)作代理,其中,所述分配消息包括一指示符,它指示所述客戶機(jī)子網(wǎng)地址已由所述當(dāng)前協(xié)作代理分配。
9.如權(quán)利要求8所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括在已經(jīng)過了所選擇的時(shí)間間隔之后,將一附加分配消息廣播到相鄰的協(xié)作代理,其中,所述附加分配消息包括一指示符,它指示所述客戶機(jī)子網(wǎng)地址正被所述當(dāng)前協(xié)作代理使用。
10.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括響應(yīng)于客戶機(jī)路由請求,從所述客戶機(jī)子網(wǎng)地址中選擇一未使用的子網(wǎng)值。
11.如權(quán)利要求10所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括確定所述客戶機(jī)路由請求之后剩余的未使用子網(wǎng)值的數(shù)量,其中,當(dāng)所述剩余的未使用子網(wǎng)值的數(shù)量低于指定的閾值時(shí),由所述當(dāng)前協(xié)作代理分配一額外的客戶機(jī)子網(wǎng)地址。
12.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括從另一協(xié)作代理接收對所分配的客戶機(jī)子網(wǎng)地址的通知。
13.如權(quán)利要求12所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括確定所接收通知的相關(guān)性;當(dāng)所接收的通知被確定為相關(guān)時(shí),將所接收的通知轉(zhuǎn)發(fā)到相鄰的協(xié)作代理;以及當(dāng)所接收的通知被確定為無關(guān)時(shí),丟棄所接收的通知。
14.如權(quán)利要求13所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所接收的通知的相關(guān)性是依照包括在所接收通知中的時(shí)間標(biāo)記以及與所接收通知相關(guān)聯(lián)的跳躍計(jì)數(shù)中的至少一個(gè)來確定的。
15.如權(quán)利要求14所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,當(dāng)所述時(shí)間標(biāo)記晚于所述時(shí)間標(biāo)記的本地版本時(shí),所接收的通知是相關(guān)的。
16.如權(quán)利要求14所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,當(dāng)所述跳躍計(jì)數(shù)大于所選擇的跳躍限制時(shí),所接收的通知是無關(guān)的。
17.一種包括計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令用于在缺少受管網(wǎng)絡(luò)服務(wù)的情況下協(xié)作地管理路由IP地址空間,所述指令包括標(biāo)識網(wǎng)狀網(wǎng)絡(luò)上相鄰的網(wǎng)孔節(jié)點(diǎn);獲取對應(yīng)于任何相鄰網(wǎng)孔節(jié)點(diǎn)的路由表,其中,所述路由表包括由所述相鄰網(wǎng)孔節(jié)點(diǎn)做出的地址分配;為所述網(wǎng)狀網(wǎng)絡(luò)上的當(dāng)前網(wǎng)孔節(jié)點(diǎn)選擇一面向網(wǎng)孔的地址;選擇對應(yīng)于所述當(dāng)前網(wǎng)孔節(jié)點(diǎn)的客戶機(jī)子網(wǎng)地址范圍;以及向所述網(wǎng)狀網(wǎng)絡(luò)上的其它網(wǎng)孔節(jié)點(diǎn)通知所述客戶機(jī)網(wǎng)孔節(jié)點(diǎn)的客戶機(jī)子網(wǎng)范圍選擇。
18.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,標(biāo)識網(wǎng)狀網(wǎng)絡(luò)上的網(wǎng)孔節(jié)點(diǎn)還包括廣播一發(fā)現(xiàn)消息,所述發(fā)現(xiàn)消息確定其它網(wǎng)孔節(jié)點(diǎn)是否在所述當(dāng)前節(jié)點(diǎn)的通信范圍之內(nèi)。
19.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述發(fā)現(xiàn)消息包括一指示,它指示對所述當(dāng)前網(wǎng)孔節(jié)點(diǎn)隨機(jī)選擇的面向網(wǎng)孔的地址部分,用于與其它網(wǎng)孔節(jié)點(diǎn)選擇的面向網(wǎng)孔的地址的同一部分進(jìn)行比較。
20.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,通知其它網(wǎng)孔節(jié)點(diǎn)還包括將一分配消息廣播到所述相鄰網(wǎng)孔節(jié)點(diǎn),其中,所述分配消息包括一指示符,它指示所述客戶機(jī)子網(wǎng)范圍已由所述當(dāng)前網(wǎng)孔節(jié)點(diǎn)分配。
21.如權(quán)利要求20所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括在已經(jīng)過了選擇的時(shí)間間隔之后將一附加分配消息廣播到所述相鄰網(wǎng)孔節(jié)點(diǎn),其中,所述附加分配消息包括一指示符,它指示所述客戶機(jī)子網(wǎng)地址正被所述當(dāng)前網(wǎng)孔節(jié)點(diǎn)使用。
22.一種用于在缺少受管網(wǎng)絡(luò)服務(wù)的情況下協(xié)作地管理路由IP地址空間的系統(tǒng),包括具有包括在其中的網(wǎng)孔節(jié)點(diǎn)的網(wǎng)狀網(wǎng)絡(luò);以及在所述網(wǎng)狀網(wǎng)絡(luò)上分布的邏輯服務(wù)器,它被配置成在每一所述網(wǎng)孔節(jié)點(diǎn)上執(zhí)行計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令包括通過廣播一發(fā)現(xiàn)消息標(biāo)識所述網(wǎng)狀網(wǎng)絡(luò)上的相鄰網(wǎng)孔節(jié)點(diǎn),所述發(fā)現(xiàn)消息確定其它網(wǎng)孔節(jié)點(diǎn)是否在當(dāng)前網(wǎng)孔節(jié)點(diǎn)的通信范圍之內(nèi);獲取對應(yīng)于任何相鄰網(wǎng)孔節(jié)點(diǎn)的路由表,其中,所述路由表包括由所述相鄰網(wǎng)孔節(jié)點(diǎn)做出的地址分配;為所述網(wǎng)狀網(wǎng)絡(luò)上的當(dāng)前網(wǎng)孔節(jié)點(diǎn)選擇一面向網(wǎng)孔的地址;選擇對應(yīng)于所述當(dāng)前網(wǎng)孔節(jié)點(diǎn)的客戶機(jī)子網(wǎng)地址范圍;以及通過向所述相鄰網(wǎng)孔節(jié)點(diǎn)廣播一分配消息向所述網(wǎng)狀網(wǎng)絡(luò)上的其它網(wǎng)孔節(jié)點(diǎn)通知所述客戶機(jī)子網(wǎng)范圍選擇,其中,所述分配消息包括一指示符,它指示所述客戶機(jī)子網(wǎng)范圍已由所述當(dāng)前網(wǎng)孔節(jié)點(diǎn)分配。
23.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述發(fā)現(xiàn)消息包括一指示,它指示對所述當(dāng)前網(wǎng)孔節(jié)點(diǎn)隨機(jī)選擇的面向網(wǎng)孔的地址部分,用于與由其它網(wǎng)孔節(jié)點(diǎn)選擇的面向網(wǎng)孔的地址的同一部分進(jìn)行比較。
24.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述邏輯服務(wù)器還被配置成在已經(jīng)過了選擇的時(shí)間間隔之后向所述相鄰網(wǎng)孔節(jié)點(diǎn)廣播一附加分配消息,其中,所述附加分配消息包括一指示符,它指示所述客戶機(jī)子網(wǎng)地址正被所述當(dāng)前網(wǎng)孔節(jié)點(diǎn)使用。
25.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述發(fā)現(xiàn)消息包括一指示,它指示對所述當(dāng)前協(xié)作代理隨機(jī)選擇的主干地址部分,以與由其它協(xié)作代理選擇的主干地址的同一部分進(jìn)行比較。
26.如權(quán)利要求25所述的系統(tǒng),其特征在于,為所述當(dāng)前協(xié)作代理隨機(jī)選擇的主干地址部分與用于另一協(xié)作代理的同一部分之間的沖突是通過將兩個(gè)部分都設(shè)為單個(gè)公用值來分解的。
27.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述計(jì)算機(jī)可執(zhí)行指令還包括響應(yīng)于客戶機(jī)路由請求,從所述客戶機(jī)子網(wǎng)范圍中選擇一未使用的子網(wǎng)值;以及確定所述客戶機(jī)路由請求之后剩余的未使用子網(wǎng)值的數(shù)量,其中,當(dāng)所述剩余的未使用子網(wǎng)值的數(shù)量低于一指定閾值時(shí),由所述當(dāng)前網(wǎng)格節(jié)點(diǎn)分配一額外的客戶機(jī)子網(wǎng)范圍內(nèi)。
28.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述計(jì)算機(jī)可執(zhí)行指令還包括從另一協(xié)作代理接收對已分配客戶機(jī)子網(wǎng)地址的通知;確定所接收通知的相關(guān)性;當(dāng)所接收的通知被確定為相關(guān)時(shí),將所接收的通知轉(zhuǎn)發(fā)到相鄰的協(xié)作代理;以及當(dāng)所接收的通知被確定為無關(guān)時(shí),丟棄所接收的通知。
29.如權(quán)利要求28所述的系統(tǒng),其特征在于,所接收的通知的相關(guān)性是依照包括在所接收通知中的時(shí)間標(biāo)記和與所接收的通知相關(guān)聯(lián)的跳躍計(jì)數(shù)中的至少一個(gè)來確定的。
全文摘要
生成一種用于管理特別的、自形成的、對等(P2P)網(wǎng)絡(luò)的網(wǎng)際協(xié)議(IP)地址分配的邏輯分布式服務(wù)器。該邏輯分布式服務(wù)器是依照P2P網(wǎng)絡(luò)上的節(jié)點(diǎn)為其自身并為連接到它們的客戶機(jī)分配地址的消息通信方案來生成的。每一節(jié)點(diǎn)實(shí)現(xiàn)監(jiān)聽傳入客戶機(jī)連接的服務(wù)器。每一節(jié)點(diǎn)維護(hù)表示地址數(shù)據(jù)庫的當(dāng)前狀態(tài)的數(shù)據(jù)結(jié)構(gòu)。路由請求由來自客戶機(jī)的節(jié)點(diǎn)字段化,且使用消息通信方案來向其它節(jié)點(diǎn)通知其動(dòng)作,因此在P2P網(wǎng)絡(luò)上的所有節(jié)點(diǎn)之間維持了一致的地址空間。
文檔編號H04L29/12GK1780298SQ20051011800
公開日2006年5月31日 申請日期2005年10月24日 優(yōu)先權(quán)日2004年11月23日
發(fā)明者S·T·凱利, J·B·歐文 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
芒康县| 焦作市| 玉环县| 田阳县| 扎囊县| 松溪县| 衡水市| 滦南县| 洛宁县| 宁蒗| 松原市| 潮州市| 浪卡子县| 永靖县| 潞城市| 根河市| 于田县| 托克托县| 昆明市| 连平县| 濉溪县| 梁平县| 怀远县| 隆回县| 舟曲县| 岱山县| 安丘市| 兴业县| 三穗县| 封丘县| 石柱| 广平县| 邵武市| 温州市| 酒泉市| 玉溪市| 尉犁县| 游戏| 利津县| 义乌市| 太湖县|