專利名稱:服務(wù)注冊(cè)表的聚合的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及服務(wù)注冊(cè)表、如UDDI(通用描述、發(fā)現(xiàn)和集成)萬(wàn)維網(wǎng)服務(wù)注冊(cè)表,更具體地說(shuō),涉及協(xié)助至少部分根據(jù)移動(dòng)設(shè)備的功能從聯(lián)網(wǎng)的移動(dòng)設(shè)備之中選擇本地注冊(cè)主機(jī)。
背景技術(shù):
隨著大規(guī)模網(wǎng)絡(luò)連接、例如企業(yè)內(nèi)部網(wǎng)、因特網(wǎng)、廣域網(wǎng)、局域網(wǎng)等之間互聯(lián)的出現(xiàn)(術(shù)語(yǔ)“網(wǎng)絡(luò)”此處用于泛指所有網(wǎng)絡(luò)類型或其組合),定位和跟蹤聯(lián)網(wǎng)的設(shè)備,以及識(shí)別這些聯(lián)網(wǎng)設(shè)備可以提供的服務(wù)或功能變得越來(lái)越困難。為了協(xié)助定位和跟蹤設(shè)備及其服務(wù),各種有關(guān)“萬(wàn)維網(wǎng)服務(wù)”的技術(shù)已經(jīng)得到實(shí)現(xiàn)。
短語(yǔ)“萬(wàn)維網(wǎng)服務(wù)”描述了一種利用網(wǎng)絡(luò)、如因特網(wǎng)或其它網(wǎng)絡(luò)上的開放標(biāo)準(zhǔn)描述、發(fā)現(xiàn)和集成來(lái)自不同企業(yè)的網(wǎng)絡(luò)應(yīng)用、服務(wù)和資源的標(biāo)準(zhǔn)化方法,上述開放標(biāo)準(zhǔn)有例如萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)和因特網(wǎng)工程特別任務(wù)組(IETF)標(biāo)準(zhǔn),包括XML(可擴(kuò)展標(biāo)記語(yǔ)言)、SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)、WSDL(萬(wàn)維網(wǎng)服務(wù)描述語(yǔ)言)、UDDI、UPnP(通用即插即用)等。
UPnP(參見www.upnp.org)是眾所周知的跨平臺(tái)體系結(jié)構(gòu),它可以發(fā)現(xiàn)已經(jīng)與網(wǎng)絡(luò)進(jìn)行聯(lián)絡(luò)的聯(lián)網(wǎng)設(shè)備。UPnP依賴于設(shè)備進(jìn)入網(wǎng)絡(luò)以了解其它UPnP設(shè)備的功能時(shí)廣播,所以UPnP并不具有高度可縮放性。各設(shè)備保持它們自己的服務(wù)描述。因此,基于UPnP的網(wǎng)絡(luò)通常沒(méi)有可用于發(fā)現(xiàn)其它設(shè)備的服務(wù)描述的中央注冊(cè)表。這類注冊(cè)表服務(wù)是由UDDI主動(dòng)提供的。
UDDI利用全局注冊(cè)表集(也稱為目錄或數(shù)據(jù)庫(kù))使企業(yè)可以定義它們的服務(wù),共享有關(guān)與其它企業(yè)或?qū)嶓w業(yè)務(wù)往來(lái)的信息,以及允許搜索其它企業(yè)、萬(wàn)維網(wǎng)服務(wù)或者網(wǎng)上當(dāng)前可提供的服務(wù)或資源。[參見因特網(wǎng)統(tǒng)一資源定位器(URL)www.uddi.org。如其中所述,當(dāng)前UDDI規(guī)范是2002年7月19日頒布的版本3.0。] UDDI與包括XML、SOAP、HTTP(超文本傳輸協(xié)議)和其它協(xié)議的開放標(biāo)準(zhǔn)通信。
雖然UDDI的全局特性提供了用于查找所提供服務(wù)的集中源,但是此類注冊(cè)表適合于存儲(chǔ)位于特定網(wǎng)絡(luò)地址的客戶機(jī)長(zhǎng)期使用的數(shù)據(jù)。對(duì)于可能臨時(shí)與多個(gè)不同網(wǎng)絡(luò)聯(lián)系的特定客戶機(jī)(如移動(dòng)設(shè)備)、各網(wǎng)絡(luò)為該設(shè)備分配不同網(wǎng)絡(luò)地址、而該設(shè)備可能隨時(shí)進(jìn)入或離開網(wǎng)絡(luò)的情況,此方案就不切實(shí)際。此外,移動(dòng)設(shè)備可能自發(fā)地構(gòu)成專門的網(wǎng)絡(luò),這時(shí)與全局注冊(cè)表協(xié)商服務(wù)是不切實(shí)際的或不可能的。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,在一種包括間歇地與之通信連接的移動(dòng)設(shè)備的網(wǎng)絡(luò)中,一種方法包括確定第一移動(dòng)設(shè)備的第一簡(jiǎn)檔;參與在與所述網(wǎng)絡(luò)通信連接的設(shè)備之中的第一競(jìng)選,以便選出操作注冊(cè)表的本地主機(jī),所述注冊(cè)表用于至少存儲(chǔ)與所述網(wǎng)絡(luò)通信連接的設(shè)備所提供的服務(wù),所述第一競(jìng)選至少部分根據(jù)所述第一簡(jiǎn)檔來(lái)判定;接收贏得所述第一競(jìng)選的所述第一移動(dòng)設(shè)備的通知;以及在所述注冊(cè)表中至少存儲(chǔ)所述第一移動(dòng)設(shè)備所提供的服務(wù)。
在所述方法中,所述第一競(jìng)選包括至少部分根據(jù)以下設(shè)備特征的一部分和全部特征的權(quán)衡計(jì)分來(lái)選擇作為本地主機(jī)的設(shè)備現(xiàn)有本地主機(jī)的狀態(tài);保持與所述網(wǎng)絡(luò)通信連接的可能性;處理器的數(shù)目;處理器的速度;存儲(chǔ)空間;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)活動(dòng);估計(jì)電源最長(zhǎng)使用時(shí)間;平臺(tái)配置、軟件配置;歷史信息;以及預(yù)計(jì)將來(lái)的資源可用性。
在所述方法中還包括確定所述第一移動(dòng)設(shè)備的網(wǎng)絡(luò)地址,以便用于與所述網(wǎng)絡(luò)通信;將與所述網(wǎng)絡(luò)的通信分組化,每個(gè)分組具有包含所述確定的網(wǎng)絡(luò)地址的源地址和目標(biāo)地址;以及將所述第一簡(jiǎn)檔的分組廣播到所述網(wǎng)絡(luò),其中廣播包括利用目標(biāo)地址,使得網(wǎng)絡(luò)的各個(gè)通信連接的設(shè)備均可接收所述廣播的分組。
在所述方法中還包括從所述網(wǎng)絡(luò)上的地址服務(wù)器接收所述網(wǎng)絡(luò)地址。
在所述方法中還包括對(duì)贏得所述競(jìng)選作出響應(yīng),從第二移動(dòng)設(shè)備接收所述第二移動(dòng)設(shè)備所提供的或需要的服務(wù)的標(biāo)識(shí);以及將所述標(biāo)識(shí)的服務(wù)存儲(chǔ)在所述注冊(cè)表中。
在所述方法中還包括對(duì)贏得所述競(jìng)選作出響應(yīng),從先前的本地主機(jī)接收所述注冊(cè)表的內(nèi)容。
在所述方法中還包括查詢所述網(wǎng)絡(luò)以查找操作所述注冊(cè)表的本地主機(jī)設(shè)備;以及如果沒(méi)有找到本地主機(jī)設(shè)備,則請(qǐng)求所述第一競(jìng)選。
在所述方法中,所述注冊(cè)表還用于存儲(chǔ)所述網(wǎng)絡(luò)的通信連接的設(shè)備所提供的或需要的服務(wù)。
在所述方法中,每次新設(shè)備轉(zhuǎn)為與所述網(wǎng)絡(luò)通信連接時(shí)舉行競(jìng)選。
在所述方法中,每次選中的主機(jī)轉(zhuǎn)為不與所述網(wǎng)絡(luò)通信連接時(shí)舉行競(jìng)選。
在所述方法中還包括確定所述第一移動(dòng)設(shè)備離開所述網(wǎng)絡(luò);以及舉行第二競(jìng)選,以便從網(wǎng)絡(luò)的通信連接的設(shè)備中選擇另一個(gè)設(shè)備來(lái)操作所述注冊(cè)表。
在所述方法中,所述離開是所述第一設(shè)備的如下情況中選擇的一種斷電、進(jìn)入睡眠狀態(tài)、脫離網(wǎng)絡(luò)范圍以及降低操作功能。
在所述方法中,降低操作功能是如下情況中選擇的一種重新分配處理器資源、重新分配存儲(chǔ)資源、丟失網(wǎng)絡(luò)帶寬、降低處理器速度以及丟失足以操作所述注冊(cè)表的可用存儲(chǔ)空間。
在所述方法中還包括監(jiān)視無(wú)線接口以確認(rèn)是否處于任一網(wǎng)絡(luò)范圍內(nèi);以及確定所述網(wǎng)絡(luò)處于所述無(wú)線接口的范圍內(nèi)。
在所述方法中還包括將所述注冊(cè)表分發(fā)到多個(gè)所述網(wǎng)絡(luò)的通信連接的設(shè)備中,以便可以在所述第一設(shè)備意外地轉(zhuǎn)為不可用時(shí)由第二設(shè)備重構(gòu)注冊(cè)表。
在所述方法中還包括使通信連接到所述網(wǎng)絡(luò)的設(shè)備形成自發(fā)專用分組;以及定期舉行后續(xù)競(jìng)選,以便確保最有能力的設(shè)備充當(dāng)與所述網(wǎng)絡(luò)通信連接的設(shè)備的本地主機(jī)。
根據(jù)本發(fā)明的另一方面,在一種包括間歇地與之通信連接的移動(dòng)設(shè)備的網(wǎng)絡(luò)中,一種方法包括確定第一移動(dòng)設(shè)備的第一簡(jiǎn)檔,所述簡(jiǎn)檔包括所述第一移動(dòng)設(shè)備提供的服務(wù);定期運(yùn)用策略來(lái)選擇操作注冊(cè)表的本地主機(jī),所述注冊(cè)表至少存儲(chǔ)與所述網(wǎng)絡(luò)通信連接的設(shè)備所提供或需要的服務(wù),所述選擇至少部分根據(jù)所述第一簡(jiǎn)檔來(lái)決定;接收關(guān)于哪個(gè)設(shè)備是本地主機(jī)的通知;以及將所述第一簡(jiǎn)檔的至少一部分發(fā)布到所述本地主機(jī)中。
在所述方法中,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)設(shè)備是經(jīng)預(yù)先授權(quán)充當(dāng)本地主機(jī)的設(shè)備集中的一員來(lái)選擇所述設(shè)備作為本地主機(jī)。
在所述方法中,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括
至少部分根據(jù)設(shè)備是被信任的設(shè)備集中的一員來(lái)選擇所述設(shè)備作為本地主機(jī)。
在所述方法中,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)設(shè)備當(dāng)前是否是本地主機(jī)來(lái)選擇所述設(shè)備作為本地主機(jī)。
在所述方法中,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)設(shè)備與所述網(wǎng)絡(luò)保持通信連接的可能性來(lái)選擇所述設(shè)備作為本地主機(jī)。
在所述方法中,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)以下的一部分或全部設(shè)備特征的權(quán)衡計(jì)分來(lái)選擇一種設(shè)備作為本地主機(jī)處理器的數(shù)目;處理器的速度;存儲(chǔ)空間;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)活動(dòng);以及估計(jì)電源最長(zhǎng)使用時(shí)間。
在所述方法中還包括接收對(duì)第二移動(dòng)設(shè)備所提供的第一服務(wù)的第一請(qǐng)求;以及將所述第一請(qǐng)求重寫成對(duì)類似于所述第一服務(wù)且可由第三設(shè)備提供的第二服務(wù)的第二請(qǐng)求。
在所述方法中還包括確定所述第二移動(dòng)設(shè)備不可用并對(duì)此作出響應(yīng)而重寫所述第一請(qǐng)求。
在所述方法中還包括通過(guò)確定所述第二設(shè)備的負(fù)荷來(lái)對(duì)服務(wù)請(qǐng)求進(jìn)行負(fù)荷平衡,如果負(fù)荷超過(guò)閾值,則重寫第一請(qǐng)求。
根據(jù)本發(fā)明的另一方面,一種系統(tǒng)包括具有第一簡(jiǎn)檔的第一移動(dòng)設(shè)備;以及具有第二簡(jiǎn)檔且通過(guò)網(wǎng)絡(luò)與所述第一移動(dòng)設(shè)備通信連接的第二移動(dòng)設(shè)備;所述第一和第二移動(dòng)設(shè)備經(jīng)配置,參與在所述第一和第二設(shè)備之中進(jìn)行的第一競(jìng)選,從而選出操作注冊(cè)表的本地主機(jī),所述注冊(cè)表用于至少存儲(chǔ)與所述網(wǎng)絡(luò)通信連接的設(shè)備所提供的服務(wù),所述第一競(jìng)選至少部分根據(jù)所述第一簡(jiǎn)檔和第二簡(jiǎn)檔來(lái)決定。
在所述系統(tǒng)中,所述第一競(jìng)選包括所述第一和第二移動(dòng)設(shè)備比較如下特征中選擇的一些特征現(xiàn)有本地主機(jī)的狀態(tài);與所述網(wǎng)絡(luò)保持通信連接的可能性;處理器的數(shù)目;處理器的速度;存儲(chǔ)空間;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)活動(dòng);估計(jì)電源最長(zhǎng)使用時(shí)間;平臺(tái)配置、軟件配置;歷史信息;以及預(yù)計(jì)將來(lái)的資源可用性。
在所述系統(tǒng)中還包括所述第一設(shè)備,它經(jīng)配置,接收已經(jīng)贏得第一競(jìng)選的通知,對(duì)此作出響應(yīng)而接收所述第二移動(dòng)設(shè)備所提供或需要的服務(wù)的標(biāo)識(shí),并將所述標(biāo)識(shí)的服務(wù)存儲(chǔ)在所述注冊(cè)表中。
根據(jù)本發(fā)明的又一方面,在一種包括間歇地與之通信連接的移動(dòng)設(shè)備的網(wǎng)絡(luò)中,一種產(chǎn)品包括具有相關(guān)數(shù)據(jù)的機(jī)器可訪問(wèn)媒體,其中所述數(shù)據(jù)在被訪問(wèn)時(shí)使機(jī)器執(zhí)行如下操作確定第一移動(dòng)設(shè)備的第一簡(jiǎn)檔;參與在與所述網(wǎng)絡(luò)通信連接的設(shè)備之中的第一競(jìng)選,從而選出操作注冊(cè)表的本地主機(jī),所述注冊(cè)表用于至少存儲(chǔ)與所述網(wǎng)絡(luò)通信連接的設(shè)備所提供的服務(wù),所述第一競(jìng)選至少部分根據(jù)所述第一簡(jiǎn)檔來(lái)決定;接收贏得所述第一競(jìng)選的所述第一移動(dòng)設(shè)備的通知;以及在所述注冊(cè)表中至少存儲(chǔ)所述第一移動(dòng)設(shè)備所提供的服務(wù)。
在所述產(chǎn)品中,用于參與所述第一競(jìng)選的數(shù)據(jù)還包括在被訪問(wèn)時(shí)使所述機(jī)器執(zhí)行如下操作的數(shù)據(jù)至少部分根據(jù)以下的一部分和所有設(shè)備特征的權(quán)衡計(jì)分來(lái)選擇作為本地主機(jī)的設(shè)備現(xiàn)有本地主機(jī)的狀態(tài);與所述網(wǎng)絡(luò)保持通信連接的可能性;處理器的數(shù)目;處理器的速度;存儲(chǔ)空間;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)活動(dòng);估計(jì)電源最長(zhǎng)使用時(shí)間;平臺(tái)配置、軟件配置;歷史信息;以及預(yù)計(jì)將來(lái)的資源可用性。
在所述產(chǎn)品中,所述機(jī)器可訪問(wèn)媒體還包括在被訪問(wèn)時(shí)使所述機(jī)器執(zhí)行如下操作的數(shù)據(jù)對(duì)贏得所述競(jìng)選作出響應(yīng),從第二移動(dòng)設(shè)備接收所述第二移動(dòng)設(shè)備所提供或需要的服務(wù)的標(biāo)識(shí);以及將所述標(biāo)識(shí)的服務(wù)存儲(chǔ)在所述注冊(cè)表中。
參考本發(fā)明以下詳細(xì)說(shuō)明可以理解本發(fā)明的特征和優(yōu)點(diǎn),其中圖1說(shuō)明根據(jù)一個(gè)實(shí)施例的網(wǎng)絡(luò),其中包括第一和第二移動(dòng)設(shè)備以及第一和第二固定設(shè)備。
圖2是根據(jù)一個(gè)實(shí)施例的數(shù)據(jù)流示意圖,說(shuō)明移動(dòng)設(shè)備在兩個(gè)網(wǎng)絡(luò)之間的移動(dòng)。
圖3說(shuō)明根據(jù)一個(gè)實(shí)施例的本地主機(jī)的系統(tǒng),它對(duì)服務(wù)請(qǐng)求進(jìn)行代碼轉(zhuǎn)換,以便它們可以根據(jù)需要重新定位目標(biāo)。
圖4說(shuō)明根據(jù)圖3的實(shí)施例的本地主機(jī)對(duì)服務(wù)請(qǐng)求進(jìn)行代碼轉(zhuǎn)換的流程圖。
圖5說(shuō)明可實(shí)現(xiàn)本發(fā)明一些方面的適當(dāng)計(jì)算環(huán)境。
具體實(shí)施例方式
UDDI以及相關(guān)或等效的環(huán)境提供注冊(cè)表,以便于登記和查找提供或搜尋特定服務(wù)或資源的設(shè)備。本公開重點(diǎn)在于使此類注冊(cè)環(huán)境適合于有效地配合本地網(wǎng)絡(luò)(包括可能含移動(dòng)設(shè)備的專用網(wǎng))工作。此處所用短語(yǔ)“移動(dòng)設(shè)備”主要泛指相對(duì)于“固定設(shè)備”(傾向于很長(zhǎng)時(shí)間保持位置不變,例如連網(wǎng)的打印機(jī)或計(jì)算機(jī))而言預(yù)期要改變位置的設(shè)備。為本地網(wǎng)絡(luò)選擇本地主機(jī),其中本地主機(jī)維護(hù)供本地網(wǎng)絡(luò)的其它設(shè)備使用的注冊(cè)表。本地主機(jī)可以是移動(dòng)設(shè)備。當(dāng)從移動(dòng)設(shè)備中選擇本地主機(jī)時(shí),可以利用諸如功率、在網(wǎng)絡(luò)中的預(yù)期時(shí)間等這些移動(dòng)設(shè)備的特征來(lái)確定哪一個(gè)最適合作為本地主機(jī)。
本領(lǐng)域的技術(shù)人員應(yīng)該知道,本發(fā)明可以結(jié)合各種固定和移動(dòng)設(shè)備來(lái)實(shí)施,包括但不限于服務(wù)器、工作站、臺(tái)式PC、膝上型電腦、個(gè)人數(shù)字助理(PDA)、電話、寫字板、虛擬機(jī)等臨時(shí)連線到接入點(diǎn)的設(shè)備,以及可能結(jié)合或包含計(jì)算機(jī)或其它計(jì)算設(shè)備的個(gè)人或公共交通工具如自行車、汽車、火車、出租車等。在下文的說(shuō)明和權(quán)利要求書中,術(shù)語(yǔ)“設(shè)備”或“各設(shè)備”意在泛指上述各類設(shè)備。
本發(fā)明可以配合各種目錄服務(wù)、萬(wàn)維網(wǎng)服務(wù)、微軟公司的.NET服務(wù)、UDDI注冊(cè)表(例如微軟公司的uddi.microsoft.com或惠普公司的uddi.hp.com等)使用。在權(quán)利要求書中,術(shù)語(yǔ)“注冊(cè)表”主要泛指這些各種注冊(cè)表。但是,為了便于說(shuō)明,具體描述重點(diǎn)放在UDDI注冊(cè)表。應(yīng)當(dāng)理解,隨著時(shí)間不同,將會(huì)產(chǎn)生替代的注冊(cè)表或服務(wù),本原理對(duì)此是適用的。目前,諸如UDDI注冊(cè)表的注冊(cè)表被高度集中于和設(shè)計(jì)為用于長(zhǎng)期服務(wù)的信息庫(kù),因此并不服從移動(dòng)設(shè)備(諸如膝上型電腦、個(gè)人數(shù)字助理、在信息站臨時(shí)獲得或提供服務(wù)的設(shè)備、機(jī)場(chǎng)、公用電話間等以及其它網(wǎng)絡(luò)地址可頻繁改變的設(shè)備)的操作。再者,當(dāng)此類移動(dòng)設(shè)備構(gòu)成專用網(wǎng)時(shí),可能無(wú)法獲得對(duì)集中式信息庫(kù)的訪問(wèn)。
為了解決此問(wèn)題,可以將本地網(wǎng)絡(luò)的設(shè)備配置為根據(jù)這些設(shè)備的特征動(dòng)態(tài)地選擇本地主機(jī),而選定設(shè)備則操作本地網(wǎng)絡(luò)的本地注冊(cè)表。這樣包含移動(dòng)設(shè)備的任何網(wǎng)絡(luò)設(shè)備可以利用本地主機(jī)代替全局注冊(cè)表,從而在移動(dòng)設(shè)備進(jìn)出本地網(wǎng)絡(luò)時(shí)實(shí)現(xiàn)本地注冊(cè)表的快速更新。如果本地注冊(cè)表無(wú)法滿足某個(gè)特定請(qǐng)求,則可以訪問(wèn)全局注冊(cè)表(如果有的話)。
圖1說(shuō)明根據(jù)一個(gè)實(shí)施例的網(wǎng)絡(luò),它包括第一和第二移動(dòng)設(shè)備100和102,如移動(dòng)計(jì)算機(jī)、個(gè)人數(shù)字助理等,以及第一和第二固定設(shè)備104和106,如工作站、服務(wù)器、打印機(jī)、演示設(shè)備(例如投影機(jī))等。
這些設(shè)備100-106都通過(guò)網(wǎng)絡(luò)108以可通信的方式進(jìn)行連接。雖然可以利用各種網(wǎng)絡(luò)通信協(xié)議、技術(shù)和處理來(lái)實(shí)現(xiàn)這些設(shè)備之間的通信,但是這里為了便于說(shuō)明,假定(也參見圖2)在與網(wǎng)絡(luò)聯(lián)絡(luò)時(shí),對(duì)第一移動(dòng)設(shè)備確定網(wǎng)絡(luò)通信地址,然后按常規(guī)方式,例如根據(jù)TCP/IP(傳輸控制協(xié)議/因特網(wǎng)協(xié)議)將此通信分組化,其中每個(gè)分組具有包含確定網(wǎng)絡(luò)地址的源地址、目標(biāo)地址(可以是具體地址或廣播地址)、凈荷等。
假定第一移動(dòng)設(shè)備100尚未與網(wǎng)絡(luò)108通信連接,但是第二移動(dòng)設(shè)備102通過(guò)無(wú)線鏈路與之通信連接,而固定設(shè)備104和106通過(guò)常規(guī)有線技術(shù)通信連接。在下文說(shuō)明和權(quán)利要求書中,除非上下文明確要求,否則術(shù)語(yǔ)“連接”及其派生詞、如“連接到”、“連接了”等均包含所有可能的有線和/或無(wú)線通信連接技術(shù)及其組合。
假定設(shè)備經(jīng)合理地配置,能夠例如通過(guò)對(duì)等無(wú)線電檢測(cè)、對(duì)基于位置的服務(wù)注冊(cè)表的訪問(wèn)、熱點(diǎn)檢測(cè)來(lái)檢測(cè)它們與其它有線和/或無(wú)線設(shè)備的接近性。在一個(gè)實(shí)施例中,當(dāng)?shù)谝灰苿?dòng)設(shè)備連接到網(wǎng)絡(luò)108時(shí),與該網(wǎng)絡(luò)連接的設(shè)備100-106參與在與該網(wǎng)絡(luò)通信連接的設(shè)備之中進(jìn)行的競(jìng)選(或其它選擇過(guò)程),從而選出用于操作注冊(cè)表的本地主機(jī)。應(yīng)當(dāng)理解,也可采用本領(lǐng)域已知的許多其它競(jìng)選過(guò)程。
可以利用注冊(cè)表、如輕便UDDI注冊(cè)表或等效注冊(cè)表存儲(chǔ)各種數(shù)據(jù),包括例如連接的設(shè)備所提供或需要的服務(wù)及服務(wù)描述。在所示實(shí)施例中,如果各設(shè)備100-106參與競(jìng)選,則假定它能夠操作注冊(cè)表,并且可以在注冊(cè)表之間復(fù)制(例如發(fā)布/刪除)條目,從而允許例如在正要離開的先前選中的本地主機(jī)與新選中的本地主機(jī)之間轉(zhuǎn)接注冊(cè)表?xiàng)l目。
在一個(gè)實(shí)施例中,各設(shè)備具有相關(guān)簡(jiǎn)檔,它描述靜態(tài)和動(dòng)態(tài)可用容量、設(shè)備的功能和特性,可以包括以下一項(xiàng)或多項(xiàng)處理能力、當(dāng)前處理負(fù)荷、可用存儲(chǔ)器、電源狀態(tài)(例如接通電源、使用電池、估計(jì)電池剩余使用時(shí)間等)、網(wǎng)絡(luò)連接性(例如有線或無(wú)線)、在當(dāng)前網(wǎng)絡(luò)鄰居中的估計(jì)持續(xù)時(shí)間、信用狀態(tài)、平臺(tái)配置、軟件配置和版本等。簡(jiǎn)檔還可包括歷史信息以及將來(lái)預(yù)測(cè)或預(yù)期的資源和配置狀態(tài)、如預(yù)先安排的作業(yè)(例如Unix CRON或AT調(diào)度工具)或者給定用戶在股市交易日結(jié)束時(shí)更新股票投資組合電子數(shù)據(jù)表而手工啟動(dòng)數(shù)據(jù)庫(kù)同步活動(dòng)的習(xí)慣。應(yīng)當(dāng)理解,簡(jiǎn)檔可以作為一個(gè)或多個(gè)條目存儲(chǔ)在注冊(cè)表中和/或作為與設(shè)備相關(guān)聯(lián)的單獨(dú)數(shù)據(jù)和/或元數(shù)據(jù)來(lái)維護(hù)。當(dāng)然還可以有其它相關(guān)簡(jiǎn)檔信息,以及用于分析歷史文件的存儲(chǔ)程序(例如用于對(duì)將來(lái)計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)活動(dòng)等進(jìn)行預(yù)測(cè))。
設(shè)備簡(jiǎn)檔可用于影響競(jìng)選的結(jié)果。在一個(gè)實(shí)施例中,應(yīng)用策略引擎來(lái)權(quán)衡設(shè)備簡(jiǎn)檔,從而確定競(jìng)選成功者。在一個(gè)實(shí)施例中,策略引擎由連接到網(wǎng)絡(luò)的策略服務(wù)器110來(lái)維護(hù)。在另一個(gè)實(shí)施例中,每個(gè)設(shè)備保存策略規(guī)則的一個(gè)副本,而這些設(shè)備以對(duì)等方式實(shí)施該策略。在另一個(gè)實(shí)施例中,連接的設(shè)備臨時(shí)選擇一個(gè)設(shè)備(也許是隨機(jī)的)來(lái)臨時(shí)作為策略服務(wù)器,判斷競(jìng)選結(jié)果。根據(jù)是否采用策略服務(wù)器,在一個(gè)實(shí)施例中,各設(shè)備之間和/或與策略服務(wù)器交換簡(jiǎn)檔,以便于進(jìn)行競(jìng)選。
應(yīng)當(dāng)理解,可以將任何數(shù)目的有關(guān)確定本地主機(jī)的考慮包括在內(nèi),作為競(jìng)選策略規(guī)則。例如,可以根據(jù)如下考慮的其中一項(xiàng)或多項(xiàng)確定競(jìng)選結(jié)果是否設(shè)備被預(yù)定為可靠的;是否已知設(shè)備屬于受信任的機(jī)器組,例如網(wǎng)絡(luò)熱點(diǎn)廠商提供的機(jī)器、先前遇到過(guò)并且被認(rèn)為是值得信任的機(jī)器等;設(shè)備是否“功能強(qiáng)大”,例如擁有快速處理器、大存儲(chǔ)容量等;設(shè)備是否在網(wǎng)絡(luò)上非常活躍;設(shè)備是否在向網(wǎng)絡(luò)提供較多服務(wù);設(shè)備是否具有連接設(shè)備中最佳的電源狀態(tài);設(shè)備是否已經(jīng)是本地主機(jī);設(shè)備是否先前曾勝任本地主機(jī);設(shè)備是否可能保持與網(wǎng)絡(luò)連接等。例如,可以將第一和第二固定設(shè)備104和106視為在當(dāng)前網(wǎng)絡(luò)中具有非常長(zhǎng)的持續(xù)時(shí)間,因?yàn)樗鼈兪枪潭ㄔO(shè)備,而且如果是本地網(wǎng)絡(luò)運(yùn)營(yíng)商提供的,它們可以被認(rèn)為具有較高信用。即使它們不具有例如最高處理能力,基于其它考慮,這些設(shè)備之一也可能會(huì)贏得競(jìng)選。
當(dāng)確定競(jìng)選結(jié)果時(shí),獲勝的設(shè)備接收到它獲勝并且現(xiàn)在是本地主機(jī)的通知。在一個(gè)實(shí)施例中,設(shè)備在它的注冊(cè)表中至少存儲(chǔ)(如果尚未有的話)第一移動(dòng)設(shè)備提供和/或需要的服務(wù),它還可以存儲(chǔ)該設(shè)備需要的服務(wù)。一旦確定本地主機(jī),其它設(shè)備向本地主機(jī)標(biāo)識(shí)出其它連接的設(shè)備所提供或需要的服務(wù)。例如,假定第一移動(dòng)設(shè)備100在競(jìng)選中獲勝,并操作UDDI型注冊(cè)表,其它設(shè)備102-106可以向該本地主機(jī)登記,并標(biāo)識(shí)它們提供的或需要的服務(wù)。這樣,第一移動(dòng)設(shè)備象常規(guī)UDDI注冊(cè)服務(wù)器一樣存儲(chǔ)這些登記。如果第一移動(dòng)設(shè)備100沒(méi)有贏得競(jìng)選,則它可以向獲勝設(shè)備登記。
在一個(gè)實(shí)施例中,對(duì)競(jìng)選獲勝作出響應(yīng),本地主機(jī)從先前的本地主機(jī)接收注冊(cè)表的內(nèi)容,從而免除現(xiàn)有設(shè)備重新向新主機(jī)登記的需要。以前未向先前的本地主機(jī)登記的設(shè)備或者需要更新其登記信息的設(shè)備當(dāng)然需要向新本地主機(jī)登記。
應(yīng)當(dāng)理解,可以采用許多不同的方法來(lái)確定舉行競(jìng)選的時(shí)間,其中一些方法是“成本較高的”,因?yàn)樾枰O(shè)備進(jìn)行更多通信;對(duì)于用電池工作的設(shè)備,盡可能減少通信常常是很重要的,因?yàn)椤邦l繁對(duì)話”協(xié)議可能很快耗盡資源。在一個(gè)實(shí)施例中,在與網(wǎng)絡(luò)108連接時(shí),設(shè)備可查詢(例如,通過(guò)普通廣播或其它方式)網(wǎng)絡(luò)上的所有設(shè)備來(lái)查找本地主機(jī),如果沒(méi)有找到,則該設(shè)備會(huì)強(qiáng)制進(jìn)行競(jìng)選來(lái)選擇本地主機(jī)。在一個(gè)實(shí)施例中,每次新設(shè)備連接到網(wǎng)絡(luò)時(shí)就舉行競(jìng)選。在一個(gè)實(shí)施例中,如果本地主機(jī)意識(shí)到它要離開網(wǎng)絡(luò),則強(qiáng)制進(jìn)行競(jìng)選,以便可以選出另一個(gè)本地主機(jī)。在一個(gè)實(shí)施例中,競(jìng)選按確定的周期(例如根據(jù)新到達(dá)的和離開的頻率)定期舉行。
應(yīng)當(dāng)理解,各種條件可提示從網(wǎng)絡(luò)離開,包括例如但不限于斷電、進(jìn)入睡眠狀態(tài)(即進(jìn)入省電的“睡眠”模式)、離開網(wǎng)絡(luò)的范圍以及降低操作功能。還應(yīng)當(dāng)理解,各種條件可以提示降低操作功能,包括例如但不限于降低處理器速度以及喪失可用存儲(chǔ)器或足以操作注冊(cè)表的存儲(chǔ)空間。因?yàn)樘幚砥魉俣群?或存儲(chǔ)容量可能是選擇特定設(shè)備作為本地主機(jī)的一個(gè)重要因素,所以這些資源的減少可能要求選出新的本地主機(jī)。
本地主機(jī)的離去可能是突然發(fā)生的,例如由于通信設(shè)備的故障、非期望的斷電、快速離開該位置、緊急關(guān)機(jī)等。因此,在一個(gè)實(shí)施例中,如果本地主機(jī)在一段時(shí)間內(nèi)沒(méi)有響應(yīng),或者對(duì)登記嘗試沒(méi)有響應(yīng),則可以強(qiáng)制競(jìng)選以挑選另一個(gè)本地主機(jī)。但是,在一個(gè)實(shí)施例中,如果注冊(cè)表巨大,且認(rèn)為重建它成本太高,則在必要時(shí)可將注冊(cè)表分發(fā)到多個(gè)設(shè)備中,從而允許其重構(gòu)。本領(lǐng)域中已知許多可以分發(fā)和恢復(fù)數(shù)據(jù)的技術(shù),包括備份本地主機(jī),并且定期更新,以便與工作的本地主機(jī)保持一致。
圖2是根據(jù)一個(gè)實(shí)施例的數(shù)據(jù)流示意圖,說(shuō)明移動(dòng)設(shè)備、如圖1的第一移動(dòng)設(shè)備100在兩個(gè)網(wǎng)絡(luò)200和202之間的移動(dòng),各網(wǎng)絡(luò)分別對(duì)該移動(dòng)設(shè)備分配供該設(shè)備在其網(wǎng)絡(luò)上使用的唯一網(wǎng)絡(luò)地址。例如,兩個(gè)網(wǎng)絡(luò)可以對(duì)應(yīng)于機(jī)場(chǎng)的兩個(gè)不同熱點(diǎn),各熱點(diǎn)分配本地地址池中的網(wǎng)絡(luò)地址。當(dāng)進(jìn)入第一網(wǎng)絡(luò)200的鄰域時(shí)(或當(dāng)從低功率狀態(tài)恢復(fù)時(shí)),移動(dòng)設(shè)備聯(lián)絡(luò)204第一網(wǎng)絡(luò)。
例如,假定典型的IEEE(電氣和電子工程師協(xié)會(huì))802.11系列無(wú)線網(wǎng)絡(luò),諸如802.11a、802.11b、802.11g或等效無(wú)線協(xié)議,當(dāng)移動(dòng)設(shè)備進(jìn)入網(wǎng)絡(luò)200和202、例如基本服務(wù)集(BSS)的范圍時(shí),移動(dòng)設(shè)備嘗試與該網(wǎng)絡(luò)同步。在802.11下,移動(dòng)設(shè)備可以選擇被動(dòng)地等待接入點(diǎn),以便傳送信標(biāo)幀,或者主動(dòng)地通過(guò)發(fā)送探測(cè)請(qǐng)求幀并等待來(lái)自接入點(diǎn)的探測(cè)響應(yīng)幀來(lái)嘗試查找接入點(diǎn)。一旦找到接入點(diǎn),移動(dòng)設(shè)備與接入點(diǎn)進(jìn)行鑒權(quán),并參與相關(guān)處理。一旦與某個(gè)接入點(diǎn)取得聯(lián)系,則該移動(dòng)設(shè)備就可以交換數(shù)據(jù)分組。
假定移動(dòng)設(shè)備和網(wǎng)絡(luò)200和202被配置為采用DHCP(動(dòng)態(tài)主機(jī)控制協(xié)議)或等效協(xié)議來(lái)分配網(wǎng)絡(luò)通信地址,向移動(dòng)設(shè)備提供206在通過(guò)第一網(wǎng)絡(luò)200通信時(shí)要使用的網(wǎng)絡(luò)地址。一旦移動(dòng)設(shè)備和接入點(diǎn)之間的通信建立起來(lái)并且分配了地址,則移動(dòng)設(shè)備可以參與競(jìng)選或其它處理來(lái)選擇208本地主機(jī)。如上所述,在確定選擇哪個(gè)與第一網(wǎng)絡(luò)連接的設(shè)備作為本地主機(jī)時(shí),可以考慮各種策略。
一旦選擇了本地主機(jī),第一移動(dòng)設(shè)備就可以登記210該移動(dòng)設(shè)備提供或需要的服務(wù)。但是,在一段時(shí)間之后,該移動(dòng)設(shè)備移動(dòng)212到第二網(wǎng)絡(luò)202。如上所述,該移動(dòng)設(shè)備可能已經(jīng)贏得競(jìng)選并可作為第一網(wǎng)絡(luò)200中的本地主機(jī)工作。在此情況下,假定該移動(dòng)設(shè)備意識(shí)到它將要離開第一網(wǎng)絡(luò)的區(qū)域,如根據(jù)信號(hào)衰減、數(shù)據(jù)錯(cuò)誤、軟件信號(hào)指示離開或斷電、來(lái)自第二網(wǎng)絡(luò)的信號(hào)增強(qiáng)等,該移動(dòng)設(shè)備(或意識(shí)到這種離開的其它設(shè)備)可強(qiáng)制進(jìn)行另一次競(jìng)選,以便為第一網(wǎng)絡(luò)選擇新的本地主機(jī)。根據(jù)本實(shí)施例,可以將部分或全部注冊(cè)表轉(zhuǎn)移到新的本地主機(jī)。在一個(gè)實(shí)施例中,如果移動(dòng)設(shè)備意識(shí)到它將要離開,則它從注冊(cè)表中撤銷其服務(wù)的登記。在另一個(gè)實(shí)施例中,本地主機(jī)在確認(rèn)設(shè)備已經(jīng)離開時(shí)會(huì)自動(dòng)清除該設(shè)備的過(guò)時(shí)的注冊(cè)表?xiàng)l目。
一旦移動(dòng)設(shè)備處于第二網(wǎng)絡(luò)202的范圍內(nèi),如上所述,它會(huì)聯(lián)絡(luò)214第二網(wǎng)絡(luò),并且一旦建立通信,第二網(wǎng)絡(luò)則提供216第二地址,該移動(dòng)設(shè)備可利用此地址在第二網(wǎng)絡(luò)上進(jìn)行通信。移動(dòng)設(shè)備加入該網(wǎng)絡(luò)同樣會(huì)導(dǎo)致另一次競(jìng)選,以挑選218本地主機(jī),并且一旦選定,該移動(dòng)設(shè)備同樣可以登記220它提供的服務(wù)或它需要的服務(wù)。
因?yàn)橐苿?dòng)設(shè)備可能頻繁地在多個(gè)網(wǎng)絡(luò)之間移動(dòng)212,每次均獲得206、216不同的網(wǎng)絡(luò)地址,所以移動(dòng)設(shè)備嘗試在全局注冊(cè)表222中登記是不現(xiàn)實(shí)的,因?yàn)樵撘苿?dòng)設(shè)備的地址很快過(guò)時(shí)。(全局注冊(cè)表以虛線顯示,因?yàn)樗赡芪磁c網(wǎng)絡(luò)200和202可通信地連接。)利用配置成處理此類短期登記的本地主機(jī)提供了注冊(cè)表、如UDDI注冊(cè)表的好處,卻沒(méi)有使用全局注冊(cè)表的開銷。
再者,利用本地主機(jī),通過(guò)減少所需的通信量,有利于節(jié)省移動(dòng)設(shè)備的電力,因?yàn)閷?duì)等設(shè)備可以查詢本地主機(jī),而不是以組合方式彼此查詢可用的服務(wù),從而延長(zhǎng)電池使用時(shí)間,若在預(yù)訂網(wǎng)絡(luò)上,還可節(jié)省開支。通過(guò)將查詢通信量集中在本地主機(jī)、即最有能力處理它的設(shè)備上,各個(gè)設(shè)備免于花費(fèi)與對(duì)等方不必要地通信的電力和資源,而且避免不必要地讓對(duì)等設(shè)備脫離低功率狀態(tài)。但是,應(yīng)當(dāng)理解,即使可以利用本地主機(jī),仍可能要用到全局注冊(cè)表222,因?yàn)槔缫苿?dòng)設(shè)備可能需要非本地主機(jī)管理的所需服務(wù)。
利用本地注冊(cè)表提高了可伸縮性,因?yàn)樗鼈兛梢月?lián)合或分級(jí)方式來(lái)配置。圖2表示兩級(jí)的分級(jí)結(jié)構(gòu),其中全局注冊(cè)表可以知道網(wǎng)絡(luò)200和202的本地主機(jī)。動(dòng)態(tài)本地主機(jī)注冊(cè)表也提供保密性或安全性的好處。例如,小公司網(wǎng)絡(luò)的本地主機(jī)可維護(hù)例如用于訪問(wèn)特殊的內(nèi)部公司服務(wù)的僅在本地重要的服務(wù)的登記。
圖3說(shuō)明根據(jù)一個(gè)實(shí)施例的本地主機(jī)系統(tǒng),它對(duì)服務(wù)請(qǐng)求、如UDDI請(qǐng)求進(jìn)行代碼轉(zhuǎn)換,以便可以對(duì)它們重新定目標(biāo),從而允許負(fù)荷平衡、若發(fā)現(xiàn)更可靠的可處理請(qǐng)求的設(shè)備或者由于其它原因、在原始目標(biāo)不可用時(shí)處理。
圖示的是連接到無(wú)線網(wǎng)絡(luò)308的第一、第二、第三和第四300-306移動(dòng)設(shè)備。第一移動(dòng)設(shè)備作為網(wǎng)絡(luò)308的本地主機(jī),因此它的注冊(cè)表310存儲(chǔ)了網(wǎng)絡(luò)的設(shè)備300-306所提供或需要的服務(wù)。第一移動(dòng)設(shè)備還包括代碼轉(zhuǎn)換器312,它可用于修改注冊(cè)表請(qǐng)求。在一個(gè)實(shí)施例中,代碼轉(zhuǎn)換器包括多個(gè)模塊或組件,其中有用于緩存請(qǐng)求的入局請(qǐng)求隊(duì)列、用于重寫請(qǐng)求的分析器以及用于跟蹤所重寫的請(qǐng)求的存儲(chǔ)器。還可以有用于安全性/加密以及數(shù)字權(quán)力/限制管理的模塊,以使請(qǐng)求和響應(yīng)可以始終得到適當(dāng)?shù)蔫b權(quán)。
圖4說(shuō)明根據(jù)圖3的一個(gè)實(shí)施例、本地主機(jī)300對(duì)服務(wù)請(qǐng)求進(jìn)行代碼轉(zhuǎn)換的流程圖。第二移動(dòng)設(shè)備302想要第三移動(dòng)設(shè)備提供的服務(wù),但是第三移動(dòng)設(shè)備不可用,例如因?yàn)樘幱诘凸β薁顟B(tài)。但是,第四移動(dòng)設(shè)備當(dāng)前可用于執(zhí)行第三設(shè)備的所需服務(wù)。
圖示的實(shí)施例的操作如下第二移動(dòng)設(shè)備302發(fā)出400請(qǐng)求,如萬(wàn)維網(wǎng)服務(wù)UDDI目錄查詢請(qǐng)求,以查找服務(wù)。服務(wù)請(qǐng)求被本地主機(jī)300接收402,本地主機(jī)300對(duì)請(qǐng)求進(jìn)行分析(例如利用代碼轉(zhuǎn)換器312的分析器模塊),檢查它的注冊(cè)表310,確定所請(qǐng)求的400服務(wù)從第三移動(dòng)設(shè)備304可獲得。然后,本地主機(jī)將第三移動(dòng)設(shè)備標(biāo)識(shí)給第二移動(dòng)設(shè)備。
第二移動(dòng)設(shè)備302則從第三移動(dòng)設(shè)備304請(qǐng)求404該服務(wù)。在所示實(shí)施例中,對(duì)第三移動(dòng)設(shè)備的這個(gè)請(qǐng)求實(shí)際上被本地主機(jī)接收406,例如本地主機(jī)作為中介,然后本地主機(jī)確定第三設(shè)備當(dāng)前不可用來(lái)響應(yīng)該請(qǐng)求。應(yīng)當(dāng)理解,為了使本地主機(jī)接收請(qǐng)求,在一個(gè)實(shí)施例中,當(dāng)本地主機(jī)在402中標(biāo)識(shí)第三設(shè)備時(shí),它實(shí)際將它自己標(biāo)識(shí)為服務(wù)提供者或服務(wù)代理(中介)。在另一個(gè)實(shí)施例中,設(shè)備300-306所采用的協(xié)議被設(shè)計(jì)為使所有請(qǐng)求均被路由通過(guò)本地主機(jī)。
或者,在另一個(gè)實(shí)施例中,本地主機(jī)300在網(wǎng)絡(luò)308的接入點(diǎn)(如無(wú)線接入點(diǎn))或代理(未顯示)中實(shí)施,因此所有通信將必定被路由通過(guò)該接入點(diǎn)或代理,從而有機(jī)會(huì)根據(jù)需要透明地對(duì)請(qǐng)求轉(zhuǎn)換代碼。在本實(shí)施例中,無(wú)需進(jìn)行協(xié)議修訂。應(yīng)當(dāng)理解,可以有網(wǎng)絡(luò)的多個(gè)接入點(diǎn)或代理依次工作,以支持請(qǐng)求的透明截聽和代碼轉(zhuǎn)換。
雖然第三移動(dòng)設(shè)備304不可用,但是本地主機(jī)300可以確定408第四移動(dòng)設(shè)備306已經(jīng)在注冊(cè)表310內(nèi)公布了能夠執(zhí)行第三移動(dòng)設(shè)備的所請(qǐng)求服務(wù)。應(yīng)當(dāng)理解,第四移動(dòng)設(shè)備可以提供相同的服務(wù)、包括所需服務(wù)的超集(例如更寬的服務(wù))、或者是可部分滿足請(qǐng)求的類似或次等服務(wù)。在后一種情況中,本地主機(jī)可以與第二移動(dòng)設(shè)備進(jìn)行協(xié)商(未顯示),以確定所述次等服務(wù)是否滿足要求(并且如果費(fèi)用是與服務(wù)表現(xiàn)相關(guān)的,則這可能導(dǎo)致價(jià)格變動(dòng))。
在所示實(shí)施例中,本地主機(jī)300透明地將對(duì)第三移動(dòng)設(shè)備304的請(qǐng)求轉(zhuǎn)換410為對(duì)第四移動(dòng)設(shè)備306的請(qǐng)求,并將代碼轉(zhuǎn)換后的請(qǐng)求轉(zhuǎn)發(fā)412到第四移動(dòng)設(shè)備。在第四移動(dòng)設(shè)備接收并處理該請(qǐng)求之后,本地主機(jī)從第四移動(dòng)設(shè)備接收414對(duì)該請(qǐng)求的響應(yīng)。在轉(zhuǎn)發(fā)該響應(yīng)以便第二移動(dòng)設(shè)備接收418之前,本地主機(jī)繼續(xù)充當(dāng)透明中介,可以再將來(lái)自第四移動(dòng)設(shè)備的響應(yīng)進(jìn)行代碼轉(zhuǎn)換416,以便看上去象是始發(fā)于預(yù)期的第三移動(dòng)設(shè)備。
本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,一旦本地主機(jī)充當(dāng)服務(wù)請(qǐng)求的代碼轉(zhuǎn)換器,還可以進(jìn)行任何數(shù)量的其它操作。例如,在一個(gè)實(shí)施例中,即使第三移動(dòng)設(shè)備304可能已經(jīng)發(fā)布第二移動(dòng)設(shè)備302需要的特定服務(wù),當(dāng)?shù)诙苿?dòng)設(shè)備設(shè)法執(zhí)行該服務(wù)時(shí),第三移動(dòng)設(shè)備仍可能暫時(shí)過(guò)載。假定多個(gè)設(shè)備在發(fā)布相同或等效的服務(wù),本地主機(jī)300則有機(jī)會(huì)充當(dāng)負(fù)荷平衡器,其中本地主機(jī)可判斷第三移動(dòng)設(shè)備已經(jīng)有高負(fù)荷,但第四移動(dòng)設(shè)備306沒(méi)有高負(fù)荷,由此可以將請(qǐng)求進(jìn)行代碼轉(zhuǎn)換,以便加至第四移動(dòng)設(shè)備。在另一個(gè)實(shí)施例中,本地管理器可以使連接到網(wǎng)絡(luò)308的多個(gè)設(shè)備在網(wǎng)絡(luò)的其它連接設(shè)備看來(lái)像單個(gè)設(shè)備。當(dāng)接收對(duì)此設(shè)備的請(qǐng)求時(shí),本地管理器可以將請(qǐng)求進(jìn)行代碼轉(zhuǎn)換,以便分發(fā)到所有這些設(shè)備中。然后可以將這些設(shè)備的結(jié)果組成需要的結(jié)果形式。
圖5和下文的討論目的在于簡(jiǎn)要概括地說(shuō)明可以實(shí)現(xiàn)本發(fā)明的一些方面的適當(dāng)環(huán)境。下文所用的術(shù)語(yǔ)“設(shè)備”本意在于廣義地涵蓋單個(gè)設(shè)備或可通信地連接并一起工作的系統(tǒng)。
通常,該環(huán)境包括設(shè)備500,設(shè)備500又包括連接到處理器504的系統(tǒng)總線502、存儲(chǔ)器506[例如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)或者其它狀態(tài)保存媒體]、存儲(chǔ)裝置508、視頻接口510以及輸入/輸出接口512。設(shè)備500可以至少部分通過(guò)來(lái)自常規(guī)輸入裝置(如鍵盤、鼠標(biāo)等)的輸入以及從另一個(gè)設(shè)備接收的指令、與虛擬現(xiàn)實(shí)(VR)環(huán)境進(jìn)行的交互、生物計(jì)量的反饋或其它輸入源或信號(hào)來(lái)控制。
設(shè)備500可以包括嵌入式控制器,如可編程或不可編程邏輯器件或陣列、專用集成電路、嵌入式計(jì)算機(jī)、智能卡等。設(shè)備可以利用通過(guò)網(wǎng)絡(luò)接口518、調(diào)制解調(diào)器520或其它通信連接方式與一個(gè)或多個(gè)遠(yuǎn)程設(shè)備514和516的一個(gè)或多個(gè)連接。設(shè)備可以通過(guò)物理和/或邏輯網(wǎng)絡(luò)522、諸如參考圖1-圖3討論的網(wǎng)絡(luò)108、200、202、308、因特網(wǎng)或其它網(wǎng)絡(luò)進(jìn)行互聯(lián)。而且,雖然上述討論著重于包括采用IEEE 802.11系列協(xié)議的無(wú)線網(wǎng)絡(luò)部分的網(wǎng)絡(luò),但是本領(lǐng)域的技術(shù)人員應(yīng)該知道與網(wǎng)絡(luò)522的通信可以采用其它有線和/或無(wú)線短程或遠(yuǎn)程的載波和協(xié)議,包括射頻(RF)、衛(wèi)星、微波、籃牙、光、紅外線、電纜、激光等。
本發(fā)明可以參考或配合相關(guān)數(shù)據(jù)(包括機(jī)器存取時(shí)使機(jī)器執(zhí)行任務(wù)或定義抽象數(shù)據(jù)類型或低級(jí)硬件環(huán)境的函數(shù)、過(guò)程、數(shù)據(jù)結(jié)構(gòu)、應(yīng)用程序等)來(lái)描述。相關(guān)數(shù)據(jù)可以被存儲(chǔ)在諸如易失性和/或非易失性存儲(chǔ)器506或存儲(chǔ)裝置508中,以及它們相關(guān)聯(lián)的存儲(chǔ)媒體中,包括硬盤驅(qū)動(dòng)器、軟盤、光存儲(chǔ)器、磁帶、閃速存儲(chǔ)器、記憶棒、數(shù)字視盤、生物存儲(chǔ)器等。相關(guān)數(shù)據(jù)可以通過(guò)傳輸環(huán)境(包括網(wǎng)絡(luò)522)以分組、串行數(shù)據(jù)、并行數(shù)據(jù)、傳播信號(hào)等形式傳遞,還可以壓縮或加密的格式使用。相關(guān)數(shù)據(jù)可以用于分布式環(huán)境,可以本地和/或遠(yuǎn)程存儲(chǔ),以供單個(gè)或多個(gè)處理器機(jī)器訪問(wèn)。
由此,例如就所示實(shí)施例而言,假定設(shè)備500實(shí)施圖3的本地主機(jī)300,遠(yuǎn)程設(shè)備514和516可以分別是圖3的第二移動(dòng)設(shè)備302和圖2的全局注冊(cè)表222。應(yīng)當(dāng)理解,遠(yuǎn)程機(jī)器514和516可以配置得如同設(shè)備500,由此包括許多或所有就此討論的元素。
參考所示實(shí)施例已經(jīng)描述和說(shuō)明了本發(fā)明的原理,應(yīng)當(dāng)理解,在不背離此類原理的前提下可以在安排和細(xì)節(jié)上對(duì)所述實(shí)施例進(jìn)行修改。雖然上述討論著重于特定實(shí)施例,但是也可設(shè)想其它配置。具體地說(shuō),即使這里采用諸如“在一個(gè)實(shí)施例”、“在另一個(gè)實(shí)施例中”等表述,這些短語(yǔ)意味著泛指任何可能的實(shí)施例,而非打算將本發(fā)明限定于特定的實(shí)施例配置。這里所用的這些術(shù)語(yǔ)可以指可組合到其它實(shí)施例的同一實(shí)施例或不同的實(shí)施例。
因此,從對(duì)所述實(shí)施例的各種各樣的組合的角度來(lái)說(shuō),此詳細(xì)說(shuō)明僅為了說(shuō)明,而不應(yīng)當(dāng)視為限定本發(fā)明的范圍。因此本發(fā)明所要求權(quán)利的內(nèi)容是可包含在所附權(quán)利要求書及其等效物的范圍和精神內(nèi)的所有此類修改。
權(quán)利要求
1.在一種包括間歇地與之通信連接的移動(dòng)設(shè)備的網(wǎng)絡(luò)中,一種方法包括確定第一移動(dòng)設(shè)備的第一簡(jiǎn)檔;參與在與所述網(wǎng)絡(luò)通信連接的設(shè)備之中的第一競(jìng)選,以便選出操作注冊(cè)表的本地主機(jī),所述注冊(cè)表用于至少存儲(chǔ)與所述網(wǎng)絡(luò)通信連接的設(shè)備所提供的服務(wù),所述第一競(jìng)選至少部分根據(jù)所述第一簡(jiǎn)檔來(lái)判定;接收贏得所述第一競(jìng)選的所述第一移動(dòng)設(shè)備的通知;以及在所述注冊(cè)表中至少存儲(chǔ)所述第一移動(dòng)設(shè)備所提供的服務(wù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述第一競(jìng)選包括至少部分根據(jù)以下設(shè)備特征的一部分和全部特征的權(quán)衡計(jì)分來(lái)選擇作為本地主機(jī)的設(shè)備現(xiàn)有本地主機(jī)的狀態(tài);保持與所述網(wǎng)絡(luò)通信連接的可能性;處理器的數(shù)目;處理器的速度;存儲(chǔ)空間;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)活動(dòng);估計(jì)電源最長(zhǎng)使用時(shí)間;平臺(tái)配置、軟件配置;歷史信息;以及預(yù)計(jì)將來(lái)的資源可用性。
3.如權(quán)利要求1所述的方法,其特征在于還包括確定所述第一移動(dòng)設(shè)備的網(wǎng)絡(luò)地址,以便用于與所述網(wǎng)絡(luò)通信;將與所述網(wǎng)絡(luò)的通信分組化,每個(gè)分組具有包含所述確定的網(wǎng)絡(luò)地址的源地址和目標(biāo)地址;以及將所述第一簡(jiǎn)檔的分組廣播到所述網(wǎng)絡(luò),其中廣播包括利用目標(biāo)地址,使得網(wǎng)絡(luò)的各個(gè)通信連接的設(shè)備均可接收所述廣播的分組。
4.如權(quán)利要求3所述的方法,其特征在于還包括從所述網(wǎng)絡(luò)上的地址服務(wù)器接收所述網(wǎng)絡(luò)地址。
5.如權(quán)利要求1所述的方法,其特征在于還包括對(duì)贏得所述競(jìng)選作出響應(yīng),從第二移動(dòng)設(shè)備接收所述第二移動(dòng)設(shè)備所提供的或需要的服務(wù)的標(biāo)識(shí);以及將所述標(biāo)識(shí)的服務(wù)存儲(chǔ)在所述注冊(cè)表中。
6.如權(quán)利要求1所述的方法,其特征在于還包括對(duì)贏得所述競(jìng)選作出響應(yīng),從先前的本地主機(jī)接收所述注冊(cè)表的內(nèi)容。
7.如權(quán)利要求1所述的方法,其特征在于還包括查詢所述網(wǎng)絡(luò)以查找操作所述注冊(cè)表的本地主機(jī)設(shè)備;以及如果沒(méi)有找到本地主機(jī)設(shè)備,則請(qǐng)求所述第一競(jìng)選。
8.如權(quán)利要求1所述的方法,其特征在于,所述注冊(cè)表還用于存儲(chǔ)所述網(wǎng)絡(luò)的通信連接的設(shè)備所提供的或需要的服務(wù)。
9.如權(quán)利要求1所述的方法,其特征在于,每次新設(shè)備轉(zhuǎn)為與所述網(wǎng)絡(luò)通信連接時(shí)舉行競(jìng)選。
10.如權(quán)利要求1所述的方法,其特征在于,每次選中的主機(jī)轉(zhuǎn)為不與所述網(wǎng)絡(luò)通信連接時(shí)舉行競(jìng)選。
11.如權(quán)利要求1所述的方法,其特征在于還包括確定所述第一移動(dòng)設(shè)備離開所述網(wǎng)絡(luò);以及舉行第二競(jìng)選,以便從網(wǎng)絡(luò)的通信連接的設(shè)備中選擇另一個(gè)設(shè)備來(lái)操作所述注冊(cè)表。
12.如權(quán)利要求11所述的方法,其特征在于,所述離開是所述第一設(shè)備的如下情況中選擇的一種斷電、進(jìn)入睡眠狀態(tài)、脫離網(wǎng)絡(luò)范圍以及降低操作功能。
13.如權(quán)利要求12所述的方法,其特征在于,降低操作功能是如下情況中選擇的一種重新分配處理器資源、重新分配存儲(chǔ)資源、丟失網(wǎng)絡(luò)帶寬、降低處理器速度以及丟失足以操作所述注冊(cè)表的可用存儲(chǔ)空間。
14.如權(quán)利要求1所述的方法,其特征在于還包括監(jiān)視無(wú)線接口以確認(rèn)是否處于任一網(wǎng)絡(luò)范圍內(nèi);以及確定所述網(wǎng)絡(luò)處于所述無(wú)線接口的范圍內(nèi)。
15.如權(quán)利要求1所述的方法,其特征在于還包括將所述注冊(cè)表分發(fā)到多個(gè)所述網(wǎng)絡(luò)的通信連接的設(shè)備中,以便可以在所述第一設(shè)備意外地轉(zhuǎn)為不可用時(shí)由第二設(shè)備重構(gòu)注冊(cè)表。
16.如權(quán)利要求1所述的方法,其特征在于還包括使通信連接到所述網(wǎng)絡(luò)的設(shè)備形成自發(fā)專用分組;以及定期舉行后續(xù)競(jìng)選,以便確保最有能力的設(shè)備充當(dāng)與所述網(wǎng)絡(luò)通信連接的設(shè)備的本地主機(jī)。
17.在一種包括間歇地與之通信連接的移動(dòng)設(shè)備的網(wǎng)絡(luò)中,一種方法包括確定第一移動(dòng)設(shè)備的第一簡(jiǎn)檔,所述簡(jiǎn)檔包括所述第一移動(dòng)設(shè)備提供的服務(wù);定期運(yùn)用策略來(lái)選擇操作注冊(cè)表的本地主機(jī),所述注冊(cè)表至少存儲(chǔ)與所述網(wǎng)絡(luò)通信連接的設(shè)備所提供或需要的服務(wù),所述選擇至少部分根據(jù)所述第一簡(jiǎn)檔來(lái)決定;接收關(guān)于哪個(gè)設(shè)備是本地主機(jī)的通知;以及將所述第一簡(jiǎn)檔的至少一部分發(fā)布到所述本地主機(jī)中。
18.如權(quán)利要求17所述的方法,其特征在于,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)設(shè)備是經(jīng)預(yù)先授權(quán)充當(dāng)本地主機(jī)的設(shè)備集中的一員來(lái)選擇所述設(shè)備作為本地主機(jī)。
19.如權(quán)利要求17所述的方法,其特征在于,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)設(shè)備是被信任的設(shè)備集中的一員來(lái)選擇所述設(shè)備作為本地主機(jī)。
20.如權(quán)利要求17所述的方法,其特征在于,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)設(shè)備當(dāng)前是否是本地主機(jī)來(lái)選擇所述設(shè)備作為本地主機(jī)。
21.如權(quán)利要求17所述的方法,其特征在于,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)設(shè)備與所述網(wǎng)絡(luò)保持通信連接的可能性來(lái)選擇所述設(shè)備作為本地主機(jī)。
22.如權(quán)利要求17所述的方法,其特征在于,運(yùn)用所述策略來(lái)選擇本地主機(jī)包括至少部分根據(jù)以下的一部分或全部設(shè)備特征的權(quán)衡計(jì)分來(lái)選擇一種設(shè)備作為本地主機(jī)處理器的數(shù)目;處理器的速度;存儲(chǔ)空間;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)活動(dòng);以及估計(jì)電源最長(zhǎng)使用時(shí)間。
23.如權(quán)利要求17所述的方法,其特征在于還包括接收對(duì)第二移動(dòng)設(shè)備所提供的第一服務(wù)的第一請(qǐng)求;以及將所述第一請(qǐng)求重寫成對(duì)類似于所述第一服務(wù)且可由第三設(shè)備提供的第二服務(wù)的第二請(qǐng)求。
24.如權(quán)利要求23所述的方法,其特征在于還包括確定所述第二移動(dòng)設(shè)備不可用并對(duì)此作出響應(yīng)而重寫所述第一請(qǐng)求。
25.如權(quán)利要求24所述的方法,其特征在于還包括通過(guò)確定所述第二設(shè)備的負(fù)荷來(lái)對(duì)服務(wù)請(qǐng)求進(jìn)行負(fù)荷平衡,如果負(fù)荷超過(guò)閾值,則重寫第一請(qǐng)求。
26.一種系統(tǒng),它包括具有第一簡(jiǎn)檔的第一移動(dòng)設(shè)備;以及具有第二簡(jiǎn)檔且通過(guò)網(wǎng)絡(luò)與所述第一移動(dòng)設(shè)備通信連接的第二移動(dòng)設(shè)備;所述第一和第二移動(dòng)設(shè)備經(jīng)配置,參與在所述第一和第二設(shè)備之中進(jìn)行的第一競(jìng)選,從而選出操作注冊(cè)表的本地主機(jī),所述注冊(cè)表用于至少存儲(chǔ)與所述網(wǎng)絡(luò)通信連接的設(shè)備所提供的服務(wù),所述第一競(jìng)選至少部分根據(jù)所述第一簡(jiǎn)檔和第二簡(jiǎn)檔來(lái)決定。
27.如權(quán)利要求26所述的系統(tǒng),其特征在于,所述第一競(jìng)選包括所述第一和第二移動(dòng)設(shè)備比較如下特征中選擇的一些特征現(xiàn)有本地主機(jī)的狀態(tài);與所述網(wǎng)絡(luò)保持通信連接的可能性;處理器的數(shù)目;處理器的速度;存儲(chǔ)空間;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)活動(dòng);估計(jì)電源最長(zhǎng)使用時(shí)間;平臺(tái)配置、軟件配置;歷史信息;以及預(yù)計(jì)將來(lái)的資源可用性。
28.如權(quán)利要求26所述的系統(tǒng),其特征在于還包括所述第一設(shè)備,它經(jīng)配置,接收已經(jīng)贏得第一競(jìng)選的通知,對(duì)此作出響應(yīng)而接收所述第二移動(dòng)設(shè)備所提供或需要的服務(wù)的標(biāo)識(shí),并將所述標(biāo)識(shí)的服務(wù)存儲(chǔ)在所述注冊(cè)表中。
29.在一種包括間歇地與之通信連接的移動(dòng)設(shè)備的網(wǎng)絡(luò)中,一種產(chǎn)品包括具有相關(guān)數(shù)據(jù)的機(jī)器可訪問(wèn)媒體,其中所述數(shù)據(jù)在被訪問(wèn)時(shí)使機(jī)器執(zhí)行如下操作確定第一移動(dòng)設(shè)備的第一簡(jiǎn)檔;參與在與所述網(wǎng)絡(luò)通信連接的設(shè)備之中的第一競(jìng)選,從而選出操作注冊(cè)表的本地主機(jī),所述注冊(cè)表用于至少存儲(chǔ)與所述網(wǎng)絡(luò)通信連接的設(shè)備所提供的服務(wù),所述第一競(jìng)選至少部分根據(jù)所述第一簡(jiǎn)檔來(lái)決定;接收贏得所述第一競(jìng)選的所述第一移動(dòng)設(shè)備的通知;以及在所述注冊(cè)表中至少存儲(chǔ)所述第一移動(dòng)設(shè)備所提供的服務(wù)。
30.如權(quán)利要求29所述的產(chǎn)品,其特征在于,用于參與所述第一競(jìng)選的數(shù)據(jù)還包括在被訪問(wèn)時(shí)使所述機(jī)器執(zhí)行如下操作的數(shù)據(jù)至少部分根據(jù)以下的一部分和所有設(shè)備特征的權(quán)衡計(jì)分來(lái)選擇作為本地主機(jī)的設(shè)備現(xiàn)有本地主機(jī)的狀態(tài);與所述網(wǎng)絡(luò)保持通信連接的可能性;處理器的數(shù)目;處理器的速度;存儲(chǔ)空間;網(wǎng)絡(luò)吞吐量;網(wǎng)絡(luò)活動(dòng);估計(jì)電源最長(zhǎng)使用時(shí)間;平臺(tái)配置、軟件配置;歷史信息;以及預(yù)計(jì)將來(lái)的資源可用性。
31.如權(quán)利要求29所述的產(chǎn)品,其特征在于,所述機(jī)器可訪問(wèn)媒體還包括在被訪問(wèn)時(shí)使所述機(jī)器執(zhí)行如下操作的數(shù)據(jù)對(duì)贏得所述競(jìng)選作出響應(yīng),從第二移動(dòng)設(shè)備接收所述第二移動(dòng)設(shè)備所提供或需要的服務(wù)的標(biāo)識(shí);以及將所述標(biāo)識(shí)的服務(wù)存儲(chǔ)在所述注冊(cè)表中。
全文摘要
目前采用全局注冊(cè)表、諸如微軟公司提供的注冊(cè)表(uddi.microsoft.com)或惠普公司提供的注冊(cè)表(uddi.hp.com)來(lái)注冊(cè)聯(lián)網(wǎng)設(shè)備所提供或需要的服務(wù)。遺憾的是,這些注冊(cè)表是高度集中的且設(shè)計(jì)成用于長(zhǎng)期服務(wù)的信息庫(kù),因此不符合移動(dòng)設(shè)備如膝上型電腦、個(gè)人數(shù)字助理以及其它網(wǎng)絡(luò)地址可能頻繁改變的設(shè)備的工作要求。再者,當(dāng)此類移動(dòng)設(shè)備構(gòu)成專用網(wǎng)時(shí),可能不提供對(duì)集中信息庫(kù)的訪問(wèn)。為解決此問(wèn)題,可將本地網(wǎng)絡(luò)的設(shè)備配置為根據(jù)這些設(shè)備的特征動(dòng)態(tài)地從接到本地網(wǎng)絡(luò)的設(shè)備中選擇本地主機(jī),而選中的設(shè)備操作本地網(wǎng)絡(luò)的注冊(cè)表。
文檔編號(hào)H04L29/08GK1532723SQ0314347
公開日2004年9月29日 申請(qǐng)日期2003年9月27日 優(yōu)先權(quán)日2003年3月21日
發(fā)明者R·C·克瑙爾哈斯, S·H·羅賓遜, R C 克瑙爾哈斯, 羅賓遜 申請(qǐng)人:英特爾公司