專利名稱:提供計(jì)算機(jī)網(wǎng)絡(luò)上的選擇式組播代理的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及計(jì)算機(jī)和計(jì)算機(jī)相關(guān)技術(shù)。更具體地說,本發(fā)明涉及用于提供計(jì)算機(jī)網(wǎng)絡(luò)上的選擇式組播代理(selectivemulticast proxy)的系統(tǒng)和方法。
背景技術(shù):
計(jì)算機(jī)和通信技術(shù)持續(xù)以快速的步伐前進(jìn)。實(shí)際上,計(jì)算機(jī)和通信技術(shù)涉及人們?nèi)粘I畹暮芏喾矫妗@?,現(xiàn)今消費(fèi)者正在使用的很多裝置,在裝置的內(nèi)部具有小型計(jì)算機(jī)。這些小型計(jì)算機(jī)具有不同的大小和精密度。這些小型計(jì)算機(jī)包括從一個(gè)微型控制器到全功能的完整計(jì)算機(jī)系統(tǒng)的每一種。例如,這些小型計(jì)算機(jī)可能是例如微型控制器的單片計(jì)算機(jī)、例如控制器的單板型計(jì)算機(jī)、例如IBM-PC兼容機(jī)的典型臺式計(jì)算機(jī)等。
計(jì)算機(jī)一般具有一個(gè)或多個(gè)在計(jì)算機(jī)核心的處理器。處理器通常與不同的外部輸入和輸出相互連接,用來管理特定計(jì)算機(jī)或裝置。例如,可以將自動(dòng)調(diào)溫器中的處理器連接到用于選擇溫度設(shè)置的按鈕、連接到暖爐或空調(diào)以改變溫度、連接到溫度傳感器以讀取當(dāng)前溫度并將其顯示在顯示器上。
很多電器、裝置等包括一個(gè)或多個(gè)小型計(jì)算機(jī)。例如,自動(dòng)調(diào)溫器、暖爐、空調(diào)系統(tǒng)、電冰箱、電話、打字機(jī)、汽車、自動(dòng)售貨機(jī)、及很多不同種類的工業(yè)設(shè)備,現(xiàn)在一般在其內(nèi)部具有小型計(jì)算機(jī)或處理器。計(jì)算機(jī)軟件使這些計(jì)算機(jī)的處理器運(yùn)行并指示處理器如何執(zhí)行某個(gè)任務(wù)。例如,在自動(dòng)調(diào)溫器上運(yùn)行的計(jì)算機(jī)軟件可以在達(dá)到特定溫度時(shí)使空調(diào)停止運(yùn)行,或可以在需要時(shí)打開加熱器。
通常將作為裝置、電器、工具等的一部分的這些種類的小型計(jì)算機(jī)稱為嵌入式裝置或嵌入式系統(tǒng)。(這里,術(shù)語“嵌入式裝置”和“嵌入式系統(tǒng)”可互換使用。)嵌入式系統(tǒng)通常指作為更大系統(tǒng)的一部分的計(jì)算機(jī)硬件和軟件。嵌入式系統(tǒng)可以不具有例如鍵盤、鼠標(biāo)、和/或監(jiān)視器的典型的輸入和輸出裝置。通常,在每個(gè)嵌入式系統(tǒng)的核心,是一個(gè)或多個(gè)處理器。
照明系統(tǒng)可以包含嵌入式系統(tǒng)。嵌入式系統(tǒng)可以用于監(jiān)視并控制照明系統(tǒng)的效果。例如,嵌入式系統(tǒng)可以提供調(diào)暗照明系統(tǒng)內(nèi)燈的亮度的控制。作為選擇,嵌入式系統(tǒng)可以提供增加燈的亮度的控制。嵌入式系統(tǒng)可以對照明系統(tǒng)內(nèi)的各燈提供啟動(dòng)特定的照明模式的控制??梢詫⑶度胧较到y(tǒng)連接到照明系統(tǒng)內(nèi)的各開關(guān)。這些嵌入式系統(tǒng)可以指示開關(guān)對各燈或整個(gè)照明系統(tǒng)通電或斷電。類似地,可以將嵌入式系統(tǒng)連接到照明系統(tǒng)內(nèi)的各燈。通過嵌入式系統(tǒng)可以控制每一個(gè)獨(dú)立的燈的亮度或電源狀態(tài)。
安全系統(tǒng)也可以包含嵌入式系統(tǒng)。嵌入式系統(tǒng)可以用來控制組成安全系統(tǒng)的各安全傳感器。例如,嵌入式系統(tǒng)可以提供對每個(gè)安全傳感器自動(dòng)通電的控制??梢詫⑶度胧较到y(tǒng)連接到各安全傳感器中的每一個(gè)。例如,可以將嵌入式系統(tǒng)連接到運(yùn)動(dòng)傳感器。如果檢測到運(yùn)動(dòng),則嵌入式系統(tǒng)可以自動(dòng)給獨(dú)立的運(yùn)動(dòng)傳感器通電,并提供啟動(dòng)運(yùn)動(dòng)傳感器的控制。啟動(dòng)運(yùn)動(dòng)傳感器可以包括提供給位于運(yùn)動(dòng)傳感器內(nèi)的LED通電、從運(yùn)動(dòng)傳感器的輸出端口輸出警報(bào)等指令。嵌入式系統(tǒng)還可以連接到監(jiān)視門的傳感器。當(dāng)門被打開或關(guān)閉時(shí),嵌入式系統(tǒng)可以對監(jiān)視門的傳感器提供指令以使其啟動(dòng)。類似地,可以將嵌入式系統(tǒng)連接到監(jiān)視窗戶的傳感器。如果窗戶被打開或關(guān)閉,則嵌入式系統(tǒng)可以提供啟動(dòng)監(jiān)視窗戶的傳感器的指令。
一些嵌入式系統(tǒng)還可以用來控制例如蜂窩式電話的無線產(chǎn)品。嵌入式系統(tǒng)可以提供給蜂窩式電話的LED顯示器通電的指令。嵌入式系統(tǒng)還可以啟動(dòng)蜂窩式電話內(nèi)的音頻揚(yáng)聲器從而向用戶提供關(guān)于蜂窩式電話的音頻通知。
家用電器也可以包含嵌入式系統(tǒng)。家用電器可以包括在傳統(tǒng)廚房中通常使用的電器,例如,爐、電冰箱、微波爐等。家用電器還可以包括與用戶的健康和舒適相關(guān)的電器。例如,按摩躺椅可以包含嵌入式系統(tǒng)。嵌入式系統(tǒng)可以根據(jù)用戶的偏好提供使椅子的背部自動(dòng)傾斜的指令。嵌入式系統(tǒng)還可以根據(jù)用戶的偏好提供啟動(dòng)在椅子內(nèi)引起躺椅內(nèi)的振動(dòng)的振動(dòng)組件的指令。
在家庭中通常備有的附加產(chǎn)品也可以包含嵌入式系統(tǒng)。例如,可以將嵌入式系統(tǒng)用在廁所內(nèi)以控制用來補(bǔ)充儲水箱中的水的水平位置??梢詫⑶度胧较到y(tǒng)用在噴射式浴缸內(nèi)以控制空氣的流出。
如上所述,嵌入式系統(tǒng)可以用來監(jiān)視或控制很多不同的系統(tǒng)、資源、產(chǎn)品等。隨著因特網(wǎng)和萬維網(wǎng)(World Wide Web)的發(fā)展,嵌入式系統(tǒng)被越來越多地連接到因特網(wǎng),從而可以遠(yuǎn)程地監(jiān)視和/或控制它們。其它嵌入式系統(tǒng)可以被連接到包括局域網(wǎng)、廣域網(wǎng)等的計(jì)算機(jī)網(wǎng)絡(luò)。如這里所用的,術(shù)語“計(jì)算機(jī)網(wǎng)絡(luò)”(或簡稱為“網(wǎng)絡(luò)”)指通過通信路徑將一系列節(jié)點(diǎn)相互連接的任何系統(tǒng)。術(shù)語“節(jié)點(diǎn)”指可以作為計(jì)算機(jī)網(wǎng)絡(luò)的一部分連接的任何裝置。嵌入式系統(tǒng)可以是網(wǎng)絡(luò)節(jié)點(diǎn)。網(wǎng)絡(luò)節(jié)點(diǎn)的其它例子包括計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA,personal digital assistant)、蜂窩式電話等。
一些嵌入式系統(tǒng)可以使用計(jì)算機(jī)網(wǎng)絡(luò)向其它計(jì)算裝置提供數(shù)據(jù)和/或服務(wù)。可以提供很多不同種類的服務(wù)。服務(wù)的一些例子包括提供來自某位置的溫度數(shù)據(jù)、提供監(jiān)視數(shù)據(jù)、提供天氣信息、提供音頻流、提供視頻流等。如這里所用的,術(shù)語“請求方”指從提供方請求服務(wù)的節(jié)點(diǎn)。術(shù)語“提供方”指向請求方提供服務(wù)的節(jié)點(diǎn)。
計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的一些節(jié)點(diǎn)可以被配置為使用組播技術(shù)向網(wǎng)絡(luò)上的其它節(jié)點(diǎn)發(fā)送消息。在計(jì)算機(jī)網(wǎng)絡(luò)背景下,術(shù)語“組播”指向網(wǎng)絡(luò)上的一個(gè)以上的節(jié)點(diǎn)同時(shí)發(fā)送消息的處理。組播與廣播的不同之處在于組播意味著向網(wǎng)絡(luò)內(nèi)的特定節(jié)點(diǎn)組發(fā)送消息,而廣播意味著向網(wǎng)絡(luò)上的全部節(jié)點(diǎn)發(fā)送消息。
正在請求服務(wù)的節(jié)點(diǎn)(即,請求方)可以通過組播向網(wǎng)絡(luò)內(nèi)的其它節(jié)點(diǎn)發(fā)送服務(wù)請求。然而,使用已知的在計(jì)算機(jī)網(wǎng)絡(luò)上應(yīng)用組播技術(shù)來請求服務(wù)的方法出現(xiàn)了一些問題。例如,計(jì)算機(jī)網(wǎng)絡(luò)可能包括一個(gè)或多個(gè)不能接收和/或處理組播消息的資源受限節(jié)點(diǎn)(resource-constrained node)。如果請求方通過組播向網(wǎng)絡(luò)內(nèi)的其它節(jié)點(diǎn)發(fā)送對服務(wù)的請求,則這些資源受限節(jié)點(diǎn)可能不接收(因此有機(jī)會響應(yīng))該服務(wù)請求。
使用已知方法的另一個(gè)問題是通過組播接收服務(wù)請求的每個(gè)節(jié)點(diǎn)通常判斷是否提供所請求服務(wù),如果提供,則響應(yīng)該服務(wù)請求。因?yàn)橐恍┎惶峁┧埱蠓?wù)的節(jié)點(diǎn)可能也處理對服務(wù)的請求,所以這樣的方法在一些情況下可能效率很低。
另外,使用已知方法的又一個(gè)問題是可能發(fā)現(xiàn)網(wǎng)絡(luò)內(nèi)的一個(gè)或多個(gè)節(jié)點(diǎn)在某些方面有缺陷。如果發(fā)生這種情況,可能希望防止這種節(jié)點(diǎn)直接處理組播消息。這可以通過關(guān)閉該節(jié)點(diǎn)上適當(dāng)?shù)慕M播協(xié)議棧(multicast protocol stack)來實(shí)現(xiàn)。然而,在某些情況下可能不希望使用這種方法,因?yàn)檫@可能阻止這種節(jié)點(diǎn)接收和響應(yīng)在網(wǎng)絡(luò)上通過組播發(fā)送的服務(wù)請求。
考慮到前述情況,可以通過與計(jì)算機(jī)網(wǎng)絡(luò)上組播技術(shù)的使用有關(guān)的改進(jìn)來獲得益處。因此,在這里公開了一些便于更高效地處理計(jì)算機(jī)網(wǎng)絡(luò)上的組播請求的示例系統(tǒng)和方法。
發(fā)明內(nèi)容
公開了用于提供計(jì)算機(jī)網(wǎng)絡(luò)上的選擇式組播代理的系統(tǒng)和方法。在示例實(shí)施例中,選擇式組播代理接收多個(gè)不處理組播消息的非組播節(jié)點(diǎn)的注冊。響應(yīng)于對通過組播來自請求方的服務(wù)請求的接收,選擇式組播代理在多個(gè)非組播節(jié)點(diǎn)中識別所請求服務(wù)的一個(gè)或多個(gè)提供方。選擇式組播代理向一個(gè)或多個(gè)提供方發(fā)送請求,而不向計(jì)算機(jī)網(wǎng)絡(luò)上的其它非組播節(jié)點(diǎn)發(fā)送請求。如果選擇式組播代理從一個(gè)或多個(gè)提供方接收一個(gè)或多個(gè)對請求的響應(yīng),則選擇式組播代理向初始請求方發(fā)送響應(yīng)。選擇式組播代理、請求方、以及多個(gè)非組播節(jié)點(diǎn)可以全部位于同一個(gè)局域網(wǎng)內(nèi)。
可以通過基于連接(connection-based)的協(xié)議向一個(gè)或多個(gè)提供方發(fā)送請求。作為選擇,可以通過無連接(connectionless)協(xié)議向一個(gè)或多個(gè)提供方發(fā)送請求。
為了識別所請求服務(wù)的一個(gè)或多個(gè)提供方,可以保持已注冊節(jié)點(diǎn)的數(shù)據(jù)庫。請求可以包括識別所請求服務(wù)的服務(wù)標(biāo)識符。選擇式組播代理可以檢測請求內(nèi)的服務(wù)標(biāo)識符,然后在已注冊節(jié)點(diǎn)的數(shù)據(jù)庫內(nèi)搜索該服務(wù)標(biāo)識符。
多個(gè)非組播(non-multicast)節(jié)點(diǎn)可以包括至少一個(gè)不能處理組播消息的資源受限節(jié)點(diǎn)。作為選擇,或另外,多個(gè)非組播節(jié)點(diǎn)可以包括至少一個(gè)能處理組播消息的能組播(multicast-capable)節(jié)點(diǎn)。通過經(jīng)由組播周期性地發(fā)送代理通告消息,選擇式組播代理可以便于能組播節(jié)點(diǎn)的注冊。
根據(jù)以下結(jié)合附圖的說明和所附權(quán)利要求,本發(fā)明的示例實(shí)施例將變得更充分明顯。應(yīng)當(dāng)理解,這些附圖只說明示例實(shí)施例,因此不應(yīng)考慮為是對發(fā)明范圍的限制,通過使用下列附圖,更具體和詳細(xì)地說明本發(fā)明的示例實(shí)施例,其中
圖1是示出根據(jù)實(shí)施例的用于處理計(jì)算機(jī)網(wǎng)絡(luò)上的組播請求的系統(tǒng)的框圖;圖2是示出圖1所示的實(shí)施例中的選擇式組播代理的操作的流程圖;圖3是示出根據(jù)實(shí)施例配置的選擇式組播代理內(nèi)的各種組件的框圖;圖4是示出根據(jù)實(shí)施例配置的選擇式組播代理內(nèi)的各種附加組件的框圖;圖5是示出根據(jù)實(shí)施例的、圖4中所示組件的操作的流程圖;圖6是可以用在根據(jù)實(shí)施例配置的嵌入式系統(tǒng)中的硬件組件的框圖;圖7示出示例照明系統(tǒng),可以在其中實(shí)現(xiàn)本系統(tǒng)和方法;圖8示出示例安全系統(tǒng),可以在其中實(shí)現(xiàn)本系統(tǒng)和方法;以及圖9示出示例家庭控制器系統(tǒng),可以在其中實(shí)現(xiàn)本系統(tǒng)和方法。
具體實(shí)施例方式
現(xiàn)在參考
本發(fā)明的各種實(shí)施例,其中同樣的附圖標(biāo)記表示相同或功能相似的元件。這里,如在圖中一般性說明和示出的,本發(fā)明的實(shí)施例可以以很多種不同的結(jié)構(gòu)來設(shè)置和設(shè)計(jì)。因此,以下對如圖所示的本發(fā)明的若干示例實(shí)施例的更詳細(xì)的說明,不像權(quán)利要求那樣旨在限制本發(fā)明的范圍,而僅僅是發(fā)明的實(shí)施例的代表。
在這里專用的詞“示例性”意味著“作為實(shí)施例、例子或圖示”。在這里作為“示例性”說明的任何實(shí)施例不必解釋為比其它實(shí)施例優(yōu)選或有利。盡管在附圖中呈現(xiàn)了實(shí)施例的多種方面,但除非特別指出,附圖不必按比例畫出。
這里公開的實(shí)施例的很多特征可以作為計(jì)算機(jī)軟件、電子硬件、或二者的結(jié)合來實(shí)現(xiàn)。為了清楚地說明硬件和軟件的這種可互換性,一般根據(jù)各種組件的功能來對其進(jìn)行說明。這種功能是以硬件實(shí)現(xiàn)還是以軟件實(shí)現(xiàn)取決于具體應(yīng)用和施加在整個(gè)系統(tǒng)上的設(shè)計(jì)限制。本領(lǐng)域的技術(shù)人員針對每個(gè)具體應(yīng)用可以以不同的方式實(shí)現(xiàn)所述功能,但是這種實(shí)現(xiàn)決定不應(yīng)被解釋為脫離了本發(fā)明的范圍。
在所述功能作為計(jì)算機(jī)軟件來實(shí)現(xiàn)的情況下,這種軟件可以包括位于存儲器裝置內(nèi)和/或作為電信號通過系統(tǒng)總線或網(wǎng)絡(luò)發(fā)送的任何種類的計(jì)算機(jī)指令或計(jì)算機(jī)可執(zhí)行代碼。實(shí)現(xiàn)與這里所述的組件相關(guān)的功能的軟件可以包括單個(gè)指令或多個(gè)指令,可以將該軟件分配到若干不同的代碼段,不同的程序中,以及跨越幾個(gè)存儲器裝置。
圖1是示出根據(jù)實(shí)施例的用于處理計(jì)算機(jī)網(wǎng)絡(luò)上的組播請求的系統(tǒng)100的框圖。在單個(gè)局域網(wǎng)(LAN,local area network)內(nèi)實(shí)現(xiàn)圖1中所示的實(shí)施例。LAN包括通過允許LAN上的節(jié)點(diǎn)彼此交互的通信鏈路而連接的多個(gè)節(jié)點(diǎn)。
LAN內(nèi)的一些節(jié)點(diǎn)向其它節(jié)點(diǎn)提供服務(wù)。如上所述,請求方是從提供方請求服務(wù)的節(jié)點(diǎn)。提供方是向請求方提供服務(wù)的節(jié)點(diǎn)。
在圖1中所示的系統(tǒng)100中,請求方102通過組播向LAN內(nèi)的其它節(jié)點(diǎn)發(fā)送對服務(wù)106的請求104??梢詫⒗缬脩魯?shù)據(jù)報(bào)協(xié)議(UDP,User Datagram Protocol)的無連接協(xié)議用作通過組播發(fā)送服務(wù)請求的傳輸協(xié)議??梢詫⑦@種服務(wù)請求稱為UDP組播請求。
LAN中的一些節(jié)點(diǎn)可能不處理組播消息。例如,LAN可以包括一個(gè)或多個(gè)不能接收和/或處理組播消息的資源受限節(jié)點(diǎn)(例如,不具有用于處理組播消息的適當(dāng)?shù)慕M播協(xié)議棧的節(jié)點(diǎn))。作為另一個(gè)例子,LAN可以包括一個(gè)或多個(gè)能夠處理組播消息、但是已經(jīng)被配置或通告為至少暫時(shí)不處理組播消息的節(jié)點(diǎn)。在這里使用的術(shù)語“非組播節(jié)點(diǎn)”指或者因?yàn)椴荒芴幚斫M播消息、或者因?yàn)橐呀?jīng)被配置或通告為不處理組播消息,因而不處理組播消息的節(jié)點(diǎn)。
在所述實(shí)施例中,在LAN上設(shè)置選擇式組播代理108。概括地說,選擇式組播代理108用作請求方102和LAN上不處理請求104的非組播節(jié)點(diǎn)之間的接口。下面,將更詳細(xì)地說明由選擇式組播代理108提供的功能。
LAN內(nèi)的非組播節(jié)點(diǎn)向選擇式組播代理108注冊。下面討論非組播節(jié)點(diǎn)可以向選擇式組播代理108注冊的一些示例方式。選擇式組播代理108保持關(guān)于已經(jīng)向其注冊的非組播節(jié)點(diǎn)的信息110。
當(dāng)選擇式組播代理108接收到對于服務(wù)106的請求104時(shí),其不是簡單地將服務(wù)請求104傳送到向其注冊的全部非組播節(jié)點(diǎn)。相反地,響應(yīng)于對特定服務(wù)106的請求104的接收,選擇式組播代理108確定哪個(gè)(如果有的話)注冊過的非組播節(jié)點(diǎn)能夠提供所請求服務(wù)106。換句話說,選擇式組播代理108從已經(jīng)向其注冊的非組播節(jié)點(diǎn)中識別所請求服務(wù)106的一個(gè)或多個(gè)提供方112。下面討論選擇式組播代理108可以識別所請求服務(wù)106的提供方112的一些示例方式。
服務(wù)請求104可以指定僅由具有服務(wù)106的特定提供方標(biāo)識符116的提供方112提供請求104。作為選擇,服務(wù)請求104可以指定服務(wù)106的全部提供方112提供請求104。在可選擇的實(shí)施例中,選擇式組播代理108可以識別具有相同提供方標(biāo)識符116的所請求服務(wù)106的多于一個(gè)的提供方112。如果發(fā)生這種情況,選擇式組播代理108可以從這些具有相同提供方標(biāo)識符116的提供方中選擇一個(gè)提供方112。可以使用各種算法來做出該選擇。
在所述實(shí)施例中,一旦選擇式組播代理108已經(jīng)識別出一個(gè)或多個(gè)所請求服務(wù)106的提供方112,則其將請求104傳送到提供方112。如果在選擇式組播代理108和特定提供方112之間建立了連接(例如,TCP/IP連接、串行連接等),則選擇式組播代理108可以通過該連接向該提供方112發(fā)送服務(wù)請求104。然而,在選擇式組播代理108和識別出的提供方112之間建立連接不是必需的。例如,選擇式組播代理108可以通過例如UDP單播的無連接協(xié)議向提供方112發(fā)送服務(wù)請求104。
有利地,可以配置選擇式組播代理108,使其僅向識別出的提供方112發(fā)送服務(wù)請求104,而不向其它注冊的非組播節(jié)點(diǎn)(或LAN內(nèi)的其它節(jié)點(diǎn))發(fā)送。因此,對于不提供所請求服務(wù)106的節(jié)點(diǎn)來說,不需要處理對于服務(wù)106的請求104,因此節(jié)約了這些節(jié)點(diǎn)上的計(jì)算資源。
識別出的所請求服務(wù)106的提供方112從選擇式組播代理108接收服務(wù)請求104并響應(yīng)該請求。通過選擇式組播代理108和提供方112之間的連接,或者通過無連接協(xié)議,提供方112可以將對服務(wù)請求104的響應(yīng)114發(fā)送回選擇式組播代理108。選擇式組播代理108可以使用例如UDP單播的無連接協(xié)議將其從提供方112接收的任何響應(yīng)114傳送回初始請求方102。
圖2是示出圖1所示的實(shí)施例中選擇式組播代理108的操作的流程圖。在方法200所示的步驟202中,選擇式組播代理108接收LAN內(nèi)一個(gè)或多個(gè)非組播節(jié)點(diǎn)的注冊。向選擇式組播代理108注冊的非組播節(jié)點(diǎn)可以包括一個(gè)或多個(gè)不能接收和/或處理組播消息的資源受限節(jié)點(diǎn)。作為選擇,或另外,注冊的非組播節(jié)點(diǎn)可能包括一個(gè)或多個(gè)能夠處理組播消息但是已經(jīng)被配置或通告為至少暫時(shí)不處理組播消息的節(jié)點(diǎn)。
在步驟204中,通過組播,選擇式組播代理108從LAN內(nèi)的請求方102接收對于服務(wù)106的請求104。一個(gè)或多個(gè)已經(jīng)向選擇式組播代理108注冊的非組播節(jié)點(diǎn)可能能夠提供所請求服務(wù)106。在步驟206中,選擇式組播代理108判斷哪個(gè)(如果有的話)注冊的非組播節(jié)點(diǎn)能夠提供所請求服務(wù)106。換句話說,選擇式組播代理108從已經(jīng)向其注冊的非組播節(jié)點(diǎn)中識別所請求服務(wù)106的提供方112。下面將討論選擇式組播代理108可以識別所請求服務(wù)106的提供方112的一些示例方式。
如果在步驟206中,選擇式組播代理108判斷為沒有已注冊的非組播節(jié)點(diǎn)能夠提供所請求服務(wù)106,則方法200結(jié)束。如果選擇式組播代理108識別出一個(gè)或多個(gè)所請求服務(wù)106的提供方,則在步驟212中,選擇式組播代理將服務(wù)請求104傳送到提供方112。選擇式組播代理108可以通過已經(jīng)在選擇式組播代理108和提供方112之間建立的一個(gè)或多個(gè)連接向提供方112發(fā)送請求104。作為選擇,選擇式組播代理108可以通過例如UDP單播的無連接協(xié)議向提供方112發(fā)送請求104。
提供方112可以通過將對于服務(wù)請求104的響應(yīng)114發(fā)送回選擇式組播代理108來響應(yīng)服務(wù)請求104。在步驟214中,選擇式組播代理108從提供方112接收一個(gè)或多個(gè)對于服務(wù)請求104的響應(yīng)114。在步驟216中,選擇式組播代理108將響應(yīng)114傳送到初始請求方102。這可以根據(jù)例如UDP單播的無連接協(xié)議完成。
圖3是示出根據(jù)實(shí)施例配置的選擇式組播代理308內(nèi)的各種組件的框圖。所示組件可以實(shí)現(xiàn)處理從LAN內(nèi)的請求方接收的服務(wù)請求304的功能。
如圖所示,選擇式組播代理308可以包括組播服務(wù)器316和請求處理器318。組播服務(wù)器316可被配置為偵聽組播包的特定組播地址和端口,將所接收的包作為請求304傳遞到請求處理器318。
在所述實(shí)施例中,選擇式組播代理308內(nèi)的請求處理器318訪問注冊節(jié)點(diǎn)的數(shù)據(jù)庫320。數(shù)據(jù)庫320可以是選擇式組播代理308的組成模塊或外部模塊。數(shù)據(jù)庫320包括已經(jīng)向選擇式組播代理308注冊的節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識符322。每個(gè)節(jié)點(diǎn)標(biāo)識符322與一個(gè)或多個(gè)服務(wù)標(biāo)識符324相關(guān)聯(lián)。服務(wù)標(biāo)識符324是識別可以由節(jié)點(diǎn)提供的特定服務(wù)的信息。在所述實(shí)施例中,當(dāng)服務(wù)標(biāo)識符324與節(jié)點(diǎn)標(biāo)識符322相關(guān)聯(lián)時(shí),這意味著對應(yīng)于節(jié)點(diǎn)標(biāo)識符322的節(jié)點(diǎn)能夠提供對應(yīng)于服務(wù)標(biāo)識符324的服務(wù)。
如圖所示,對于特定服務(wù)的請求304包括用于識別所請求服務(wù)的服務(wù)標(biāo)識符324。在所述實(shí)施例中,當(dāng)將對于特定服務(wù)的請求304傳遞到請求處理器318時(shí),分析模塊326檢測請求304內(nèi)的服務(wù)標(biāo)識符324。將服務(wù)標(biāo)識符324傳遞到搜索模塊328,搜索模塊328搜索注冊節(jié)點(diǎn)的數(shù)據(jù)庫320內(nèi)的服務(wù)標(biāo)識符324。如果搜索模塊328檢測出與服務(wù)標(biāo)識符324相關(guān)聯(lián)的節(jié)點(diǎn)標(biāo)識符322,則將相應(yīng)的節(jié)點(diǎn)選作所請求服務(wù)的提供方。如果搜索模塊328確定出多于一個(gè)的相同節(jié)點(diǎn)標(biāo)識符322與服務(wù)標(biāo)識符324相關(guān)聯(lián),則這意味著存在多于一個(gè)所請求服務(wù)的具有相同節(jié)點(diǎn)標(biāo)識符322的潛在提供方。如果發(fā)生這種情況,選擇模塊330從已經(jīng)被識別的相同的潛在提供方中選擇所請求服務(wù)的提供方。
在所述實(shí)施例中,一旦請求處理器318已經(jīng)識別出所請求服務(wù)的提供方,其將請求304傳遞到通信模塊332。請求處理器318也可以將識別出的提供方的節(jié)點(diǎn)標(biāo)識符322傳遞到通信模塊332。通信模塊332可被配置為根據(jù)例如TCP/IP的面向連接的協(xié)議進(jìn)行操作。作為選擇,或另外,通信模塊332可被配置為根據(jù)例如UDP的無連接協(xié)議進(jìn)行操作。一旦通信模塊332已經(jīng)從請求處理器318接收到服務(wù)請求304和提供方的節(jié)點(diǎn)標(biāo)識符322,則通信模塊322可以向所請求服務(wù)的提供方發(fā)送請求304。
在發(fā)明人為Bryant Eastham、名稱為“Content-BasedRouting of Data from a Provider to a Requestor”的美國專利No.6,954,798中,說明了關(guān)于選擇式組播代理如何判斷哪個(gè)非組播節(jié)點(diǎn)能夠提供所請求服務(wù)的附加信息。該美國專利的全部內(nèi)容通過引用包含與此。
如上所簡要討論的,選擇式組播代理可以被配置為接收非組播節(jié)點(diǎn)的注冊。換句話說,LAN內(nèi)的非組播節(jié)點(diǎn)可以向選擇式組播代理注冊,使得選擇式組播代理代表它們接收組播請求。向選擇式組播代理注冊的非組播節(jié)點(diǎn)可以包括一個(gè)或多個(gè)能夠處理組播消息的節(jié)點(diǎn)。(能夠處理組播消息的節(jié)點(diǎn)在此可以稱為“能組播節(jié)點(diǎn)”。)之所以將選擇式組播代理配置為能組播節(jié)點(diǎn)的組播代理,有多種理由。例如,如果LAN內(nèi)的能組播節(jié)點(diǎn)在某些方面有缺陷(例如,其有“錯(cuò)誤(bug)”),則LAN管理員可能希望阻止該節(jié)點(diǎn)直接處理組播消息,直到修復(fù)該缺陷。在這種情況下,選擇式組播代理308可以介入并使缺陷節(jié)點(diǎn)的缺陷方面無效。
除了用作代表能組播節(jié)點(diǎn)的組播代理,選擇式組播代理還可以用作不能處理組播請求的資源受限節(jié)點(diǎn)的組播代理。這使得資源受限節(jié)點(diǎn)能夠使用代理它們的非組播請求來響應(yīng)服務(wù)請求,否則,因?yàn)樗鼈儾荒芴幚斫M播,所以它們不能接收這些請求。
圖4是示出根據(jù)實(shí)施例配置的選擇式組播代理408內(nèi)的各種附加組件的框圖。所示組件可以實(shí)現(xiàn)接收非組播節(jié)點(diǎn)的注冊的功能,在所述實(shí)施例中,所述非組播節(jié)點(diǎn)可以是不能處理組播請求的資源受限節(jié)點(diǎn),和/或已經(jīng)被通知或配置為不處理組播請求的能組播節(jié)點(diǎn)。
如圖所示,選擇式組播代理408可以包括連接模塊434。連接模塊434可以被配置為與LAN中的非組播節(jié)點(diǎn)建立連接。在一些實(shí)施例中,可以配置連接模塊434以建立TCP/IP連接。例如,可以通過配置為與LAN中的其它節(jié)點(diǎn)建立TCP/IP連接的TCP/IP協(xié)議棧來實(shí)現(xiàn)連接模塊434的功能。作為選擇,或另外,可以配置連接模塊434來與LAN中的非組播節(jié)點(diǎn)建立其它類型的連接,例如,串行連接。
選擇式組播代理408還可以包括用戶接口436。選擇式組播代理408的用戶可以通過用戶接口436與選擇式組播代理408交互,并向選擇式組播代理408提供指令。例如,LAN管理員可以通過所提供的用戶接口436指示選擇式組播代理408開通到LAN中的非組播節(jié)點(diǎn)的一個(gè)或多個(gè)連接。
選擇式組播代理408還可以包括代理通告模塊438??梢耘渲么硗ǜ婺K438,使其通過組播向LAN上的一個(gè)或多個(gè)組播組周期性地發(fā)送代理通告消息。代理通告消息可以用作通知LAN中的能組播節(jié)點(diǎn)存在選擇式組播代理408。例如,如在下面更詳細(xì)地說明的,代理通告消息可被LAN中的能組播節(jié)點(diǎn)解釋為停止處理組播消息的指令。
圖5是示出根據(jù)實(shí)施例的連接模塊434、用戶接口436、以及代理通告模塊438的操作的流程圖。為了便于向選擇式組播代理408注冊能組播節(jié)點(diǎn),可以執(zhí)行圖5中所示的方法500。
在步驟502中,選擇式組播代理408通過用戶接口436或配置接收指示(例如,從LAN管理員)以開通到能組播節(jié)點(diǎn)的連接。在步驟504中,響應(yīng)在步驟502中接收到的指令,連接模塊434開通到特定的能組播節(jié)點(diǎn)的連接。在其它實(shí)施例中,能組播節(jié)點(diǎn)可以被編程、配置、或通知從而連接到選擇式組播代理308的通信模塊332。
在步驟506中,代理通告模塊438通過組播向包括在步驟502指定的能組播節(jié)點(diǎn)的組播組發(fā)送代理通告消息。代理通告消息可以包括選擇式組播代理408的地址。響應(yīng)于接收到代理通告消息,能組播節(jié)點(diǎn)可以判斷其目前是否連接到選擇式組播代理408(即,代理通告消息中提及的節(jié)點(diǎn))。如果其目前連接到選擇式組播代理408,則作為響應(yīng),能組播節(jié)點(diǎn)應(yīng)該停止處理組播消息。例如,能組播節(jié)點(diǎn)可以終止其組播協(xié)議棧。作為選擇,能組播節(jié)點(diǎn)可以簡單地開始忽略組播消息,而不終止其組播協(xié)議棧。如果能組播節(jié)點(diǎn)目前沒有連接到選擇式組播代理408,則能組播節(jié)點(diǎn)可以選擇連接到選擇式組播代理408,并停止處理組播消息。如果在一些點(diǎn)終止了能組播節(jié)點(diǎn)和選擇式組播代理408之間的連接,則能組播節(jié)點(diǎn)可以重新開始處理組播消息。
在圖5所示的方法500中,示出了在開通與能組播節(jié)點(diǎn)的連接的步驟之后發(fā)生的發(fā)送代理通告消息的步驟。然而,在一些實(shí)施例中,這些步驟可能不按這個(gè)順序發(fā)生。例如,在一些實(shí)施例中,可以配置代理通告模塊438使其周期性地在LAN上發(fā)出代理通告消息。當(dāng)選擇式組播代理408開通到能組播節(jié)點(diǎn)的連接時(shí),能組播節(jié)點(diǎn)可以繼續(xù)接收并處理組播消息,直到發(fā)送下一個(gè)預(yù)定的代理通告消息。
如上所述,網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)可以包括一個(gè)或多個(gè)嵌入式系統(tǒng)。本系統(tǒng)和方法可以在嵌入式系統(tǒng)向其它計(jì)算裝置提供數(shù)據(jù)和/或服務(wù)的計(jì)算機(jī)網(wǎng)絡(luò)中實(shí)現(xiàn)。圖6是可以用在根據(jù)實(shí)施例配置的嵌入式系統(tǒng)602中的硬件組件的框圖??稍O(shè)置中央處理單元(CPU)608或處理器以控制嵌入式系統(tǒng)602的操作,該嵌入式系統(tǒng)602包括其通過總線610連接到CPU 608的其它組件。CPU 608可以作為微型處理器、微型控制器、數(shù)字信號處理器或本領(lǐng)域已知的其它裝置來實(shí)現(xiàn)。CPU 608基于存儲在存儲器內(nèi)的程序代碼執(zhí)行邏輯和算術(shù)運(yùn)算。在某些實(shí)施例中,存儲器614可以是CPU 608所包含的板上(on-board)存儲器。例如,微型控制器經(jīng)常包括一定量的板上存儲器。
嵌入式系統(tǒng)602還可以包括網(wǎng)絡(luò)接口612。網(wǎng)絡(luò)接口612使得嵌入式系統(tǒng)602能夠連接到網(wǎng)絡(luò),該網(wǎng)絡(luò)可以是尋呼機(jī)網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、全球通信網(wǎng)絡(luò)、因特網(wǎng)、計(jì)算機(jī)網(wǎng)絡(luò)、電話網(wǎng)絡(luò)等。網(wǎng)絡(luò)接口612根據(jù)適用網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議來運(yùn)行。
嵌入式系統(tǒng)602還可以包括存儲器614。存儲器614可以包括用于存儲臨時(shí)數(shù)據(jù)的隨機(jī)存取存儲器(RAM)。作為選擇,或另外,存儲器614可以包括用于存儲例如固定代碼和配置數(shù)據(jù)的更為永久的數(shù)據(jù)的只讀存儲器(ROM)。存儲器614還可以實(shí)施為例如硬盤驅(qū)動(dòng)器的磁存儲裝置。存儲器614可以是能夠存儲電子信息的任意類型的電子裝置。
嵌入式系統(tǒng)602還可以包括便于與其它裝置通信的一個(gè)或多個(gè)通信端口616。嵌入式系統(tǒng)602還可以包括輸入/輸出裝置618,例如鍵盤、鼠標(biāo)、操縱桿、觸摸屏、監(jiān)視器、揚(yáng)聲器、打印機(jī)等。
當(dāng)然,圖6僅示出嵌入式系統(tǒng)602的一種可能的配置??梢允褂酶鞣N其它結(jié)構(gòu)和組件。
本系統(tǒng)和方法可以在若干情況下使用。圖7示出實(shí)現(xiàn)本系統(tǒng)和方法的系統(tǒng)的一個(gè)實(shí)施例。圖7是示出包括照明控制器系統(tǒng)708的照明系統(tǒng)700的一個(gè)實(shí)施例的框圖。圖7的照明系統(tǒng)700可以包含于家庭的各種房間中。如圖所示,系統(tǒng)700包括房間A 702、房間B 704、以及房間C 706。盡管在圖7中示出了三個(gè)房間,但是系統(tǒng)700可以在家庭、公寓、或其它環(huán)境的任何數(shù)量和種類的房間中實(shí)現(xiàn)。
照明控制器系統(tǒng)708可以監(jiān)視并控制系統(tǒng)700內(nèi)的附加的嵌入式系統(tǒng)和組件。在一個(gè)實(shí)施例中,房間A 702和房間B 704分別包括開關(guān)組件714、718。開關(guān)組件714、718還可以包括次級嵌入式系統(tǒng)716、720。次級嵌入式系統(tǒng)716、720可以接收來自照明控制器系統(tǒng)708的指令。然后次級嵌入式系統(tǒng)716、720可以執(zhí)行這些指令。指令可以包括對各種燈組件710、712、722和724的通電或斷電。指令還可以包括調(diào)暗或增強(qiáng)各種燈組件710、712、722和724的亮度。指令可以進(jìn)一步包括以各種模式設(shè)置燈組件710、712、722和724的亮度。次級嵌入式系統(tǒng)716、720便于照明控制器系統(tǒng)708監(jiān)視并控制位于房間A 702和房間B 704中的每個(gè)燈組件710、712、722和724。
照明控制器系統(tǒng)708還可以直接向所述房間C 706中的包括次級嵌入式系統(tǒng)728的燈組件726提供指令。照明控制器系統(tǒng)708可以指示次級嵌入式系統(tǒng)728來給獨(dú)立的燈組件726斷電或通電。類似地,從照明控制器系統(tǒng)708接收到的指令可以包括調(diào)暗或增強(qiáng)獨(dú)立的燈組件726的亮度。
照明控制器系統(tǒng)708還可以監(jiān)視系統(tǒng)700內(nèi)的獨(dú)立的燈組件730和732,并直接向其提供指令。這些指令可以包括與前面所述的指令相似的指令。
圖8是實(shí)現(xiàn)本系統(tǒng)和本發(fā)明的方法的系統(tǒng)的又一實(shí)施例。圖8是示出安全系統(tǒng)800的框圖。在房間A 802、房間B 804、和房間C806中實(shí)現(xiàn)所述實(shí)施例中的安全系統(tǒng)800。這些房間可以在家庭或其它封閉環(huán)境的界限內(nèi)。系統(tǒng)800還可以在開放的環(huán)境中實(shí)現(xiàn),其中房間A 802、B 804和C 806分別表示區(qū)域或邊界。
系統(tǒng)800包括安全控制器系統(tǒng)808。安全控制器系統(tǒng)808監(jiān)視系統(tǒng)800內(nèi)的各種組件,并接收來自系統(tǒng)800內(nèi)的各種組件的信息。例如,運(yùn)動(dòng)傳感器814、818可以包括次級嵌入式系統(tǒng)816、820。當(dāng)通過次級嵌入式系統(tǒng)816、820檢測到運(yùn)動(dòng)時(shí),運(yùn)動(dòng)傳感器814、818可以監(jiān)視運(yùn)動(dòng)的即時(shí)空間,并向安全控制器系統(tǒng)808報(bào)警。安全控制器系統(tǒng)808還可以向系統(tǒng)800內(nèi)的各種組件提供指令。例如,安全控制器系統(tǒng)808可以向次級嵌入式系統(tǒng)816、820提供指令以對窗戶傳感器810、822和門傳感器812、824通電或斷電。在一個(gè)實(shí)施例中,當(dāng)窗戶傳感器810、822檢測到窗戶的移動(dòng)時(shí),次級嵌入式系統(tǒng)816、820通知安全控制器系統(tǒng)808。類似地,當(dāng)門傳感器812、824檢測到門的移動(dòng)時(shí),次級嵌入式系統(tǒng)816、820通知安全控制器系統(tǒng)808。次級嵌入式系統(tǒng)816、820可以指示運(yùn)動(dòng)傳感器814、818啟動(dòng)位于運(yùn)動(dòng)傳感器814、818內(nèi)的LED(未視出)。
安全控制器系統(tǒng)808還可以監(jiān)視系統(tǒng)800內(nèi)的各組件,并直接向其提供指令。例如,安全控制器系統(tǒng)808可以監(jiān)視運(yùn)動(dòng)傳感器830或窗戶傳感器832,并向其提供通電或斷電的指令。安全控制器系統(tǒng)808還可以指示運(yùn)動(dòng)傳感器830和窗戶傳感器832啟動(dòng)傳感器830和832內(nèi)的LED(未視出)或音頻警報(bào)通知。
組成系統(tǒng)800的每個(gè)獨(dú)立的組件還可以包括次級嵌入式系統(tǒng)。例如,圖8示出包括次級嵌入式系統(tǒng)828的門傳感器826。安全控制器系統(tǒng)808可以以與前面所述的方式相似的方式監(jiān)視次級嵌入式系統(tǒng)828并向其提供指令。
圖9是說明家庭控制系統(tǒng)900的一個(gè)實(shí)施例的框圖。家庭控制系統(tǒng)900包括家庭控制器908,其便于監(jiān)視例如照明系統(tǒng)700、安全系統(tǒng)800等的各種系統(tǒng)。家庭控制系統(tǒng)900使得用戶能夠通過一個(gè)或多個(gè)嵌入式系統(tǒng)控制各種組件和系統(tǒng)。在一個(gè)實(shí)施例中,家庭控制器系統(tǒng)908以與前面聯(lián)系圖7和圖8所述的方式相同的方式進(jìn)行監(jiān)視并提供信息。在所述實(shí)施例中,家庭控制器908通過次級嵌入式系統(tǒng)920向加熱組件924提供指令。加熱組件924可以包括在居住場所或辦公室中通常備有的暖爐或其它加熱裝置。家庭控制器系統(tǒng)908可以通過次級嵌入式系統(tǒng)920提供對加熱組件924通電或斷電的指令。
類似地,家庭控制器908可以監(jiān)視家庭控制系統(tǒng)900內(nèi)例如制冷組件930的組件并直接向其提供指令。制冷組件930可以包括在居住場所或辦公室中通常備有的空調(diào)或其它制冷裝置。中央家庭控制器908可以指示制冷組件930根據(jù)由中央嵌入式系統(tǒng)908收集的溫度讀數(shù)通電或斷電。家庭控制系統(tǒng)900以與前面聯(lián)系圖7和圖8所說明的方式相似的方式運(yùn)行。
可以使用各種不同的技術(shù)和方法表示信息和信號。例如,可以使用電壓、電流、電磁波、磁場或粒子、光場或粒子、或其任意的組合來表示可能在以上說明中出現(xiàn)的數(shù)據(jù)、指令、命令、信息、信號、位、符號、以及碼片(chip)。
結(jié)合在這里所公開的實(shí)施例所說明的各種說明性的邏輯塊、模塊、電路和算法步驟,可以實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件、或二者的結(jié)合。為了清楚地說明硬件和軟件的這種可交換性,以上主要根據(jù)各種說明性的組件、塊、模塊、電路和步驟的功能,對其進(jìn)行了說明。這種功能是作為硬件實(shí)現(xiàn)還是作為軟件實(shí)現(xiàn)取決于整個(gè)系統(tǒng)的特定應(yīng)用和對整個(gè)系統(tǒng)所施加的設(shè)計(jì)限制。本領(lǐng)域的技術(shù)人員可以對于每個(gè)特定的應(yīng)用以不同的方式實(shí)現(xiàn)所述功能,但是這種實(shí)現(xiàn)決定不應(yīng)解釋為脫離了本發(fā)明的范圍。
可以使用被設(shè)計(jì)為執(zhí)行這里所述功能的通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC,application specificintegrated circuit)、現(xiàn)場可編程門陣列信號(FPGA,fieldprogrammable gate array signal)或其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件、或其任意的組合,來實(shí)現(xiàn)或執(zhí)行結(jié)合這里所公開的實(shí)施例所說明的各種說明性的邏輯塊、模塊和電路。通用處理器可以是微型處理器,但作為選擇,處理器可以是任何傳統(tǒng)的處理器、控制器、微型控制器、或狀態(tài)機(jī)。處理器還可以實(shí)現(xiàn)為計(jì)算裝置的結(jié)合,例如,DSP和微型處理器的結(jié)合、多個(gè)微型處理器、與DSP核心結(jié)合的一個(gè)或多個(gè)微型處理器、或任何其它這樣的配置。
結(jié)合在這里所公開的實(shí)施例說明的方法或算法的步驟可以直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在二者的結(jié)合中實(shí)現(xiàn)。軟件模塊可以存放于RAM存儲器、閃存、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動(dòng)盤、CD-ROM、或本領(lǐng)域已知的任何其它形式的存儲介質(zhì)。示例存儲介質(zhì)連接到處理器使得處理器可以從存儲介質(zhì)讀取信息,并向存儲介質(zhì)寫入信息。作為選擇,可以將存儲介質(zhì)集成到處理器。處理器和存儲介質(zhì)可以位于ASIC中。ASIC可以位于用戶終端中。作為選擇,處理器和存儲介質(zhì)可以作為分離組件位于用戶終端中。
這里公開的方法包括用于實(shí)現(xiàn)所述方法的一個(gè)或多個(gè)步驟或動(dòng)作。方法步驟和/或動(dòng)作可以互相交換,而不脫離本發(fā)明的范圍。換句話說,除非對于實(shí)施例的適當(dāng)操作需要步驟或動(dòng)作的特定順序,可以改變指定步驟和/或動(dòng)作的順序和/或使用,而不脫離本發(fā)明的范圍。
盡管說明并描述了本發(fā)明的具體實(shí)施例和應(yīng)用,但應(yīng)該理解的是,本發(fā)明不局限于這里公開的精確的配置和組件??梢栽谶@里公開的本發(fā)明的方法和系統(tǒng)的配置、操作、以及細(xì)節(jié)中做出對本領(lǐng)域的技術(shù)人員明顯的各種變形、改變、和變化,而不脫離發(fā)明的精神和范圍。
產(chǎn)業(yè)應(yīng)用性本發(fā)明可應(yīng)用到嵌入式系統(tǒng)。
權(quán)利要求
1.一種處理計(jì)算機(jī)網(wǎng)絡(luò)上的組播請求的方法,包括接收多個(gè)不處理組播消息的非組播節(jié)點(diǎn)的注冊;通過組播接收來自請求方的對服務(wù)的請求;在所述多個(gè)非組播節(jié)點(diǎn)中識別所請求服務(wù)的一個(gè)或多個(gè)提供方;以及向所述一個(gè)或多個(gè)提供方發(fā)送所述請求,而不向所述計(jì)算機(jī)網(wǎng)絡(luò)上的其它非組播節(jié)點(diǎn)發(fā)送所述請求。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括從所述一個(gè)或多個(gè)提供方接收至少一個(gè)對所述請求的響應(yīng);以及向所述請求方發(fā)送所述至少一個(gè)響應(yīng)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過基于連接的協(xié)議向所述一個(gè)或多個(gè)提供方發(fā)送所述請求。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過無連接協(xié)議向所述一個(gè)或多個(gè)提供方發(fā)送所述請求。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,識別所述一個(gè)或多個(gè)提供方包括檢測所述請求內(nèi)的用于識別所請求服務(wù)的服務(wù)標(biāo)識符;以及在已注冊節(jié)點(diǎn)的數(shù)據(jù)庫內(nèi)搜索所述服務(wù)標(biāo)識符。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括識別具有相同節(jié)點(diǎn)標(biāo)識符的多個(gè)潛在提供方,其中,識別提供方包括從具有相同節(jié)點(diǎn)標(biāo)識符的所述多個(gè)潛在提供方中選擇所述提供方。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多個(gè)非組播節(jié)點(diǎn)包括至少一個(gè)能夠處理組播消息但已經(jīng)被配置或通知為不處理組播消息的能組播節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,接收所述至少一個(gè)能組播節(jié)點(diǎn)的注冊包括通過組播周期性地發(fā)送代理通告消息。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述方法由選擇式組播代理實(shí)現(xiàn);其中,連接到發(fā)送所述代理通告消息的所述選擇式組播代理的能組播節(jié)點(diǎn)對所述代理通告消息的接收導(dǎo)致只要所述能組播節(jié)點(diǎn)保持連接到所述選擇式組播代理,則所述能組播節(jié)點(diǎn)停止處理組播請求。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多個(gè)非組播節(jié)點(diǎn)包括至少一個(gè)不能處理組播消息的資源受限節(jié)點(diǎn)。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述選擇式組播代理、所述請求方以及所述多個(gè)非組播節(jié)點(diǎn)全部位于同一局域網(wǎng)內(nèi)。
12.一種計(jì)算機(jī)系統(tǒng),其被配置為實(shí)現(xiàn)用于處理計(jì)算機(jī)網(wǎng)絡(luò)上的組播請求的方法,所述計(jì)算機(jī)系統(tǒng)包括處理器;與所述處理器進(jìn)行電子通信的存儲器;存儲在所述存儲器中的指令,所述指令可被執(zhí)行以實(shí)現(xiàn)如下方法,所述方法包括接收多個(gè)不處理組播消息的非組播節(jié)點(diǎn)的注冊;通過組播接收來自請求方的對服務(wù)的請求;在所述多個(gè)非組播節(jié)點(diǎn)中識別所請求服務(wù)的一個(gè)或多個(gè)提供方;以及向所述一個(gè)或多個(gè)提供方發(fā)送所述請求,而不向所述計(jì)算機(jī)網(wǎng)絡(luò)上的其它非組播節(jié)點(diǎn)發(fā)送所述請求。
13.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述方法還包括從所述一個(gè)或多個(gè)提供方接收至少一個(gè)對所述請求的響應(yīng);以及向所述請求方發(fā)送所述至少一個(gè)響應(yīng)。
14.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其特征在于,通過基于連接的協(xié)議向所述一個(gè)或多個(gè)提供方發(fā)送所述請求。
15.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其特征在于,通過無連接協(xié)議向所述一個(gè)或多個(gè)提供方發(fā)送所述請求。
16.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其特征在于,識別所述一個(gè)或多個(gè)提供方包括檢測所述請求內(nèi)的用于識別所請求服務(wù)的服務(wù)標(biāo)識符;以及在已注冊節(jié)點(diǎn)的數(shù)據(jù)庫內(nèi)搜索所述服務(wù)標(biāo)識符。
17.一種計(jì)算機(jī)可讀介質(zhì),其包括用于實(shí)現(xiàn)處理計(jì)算機(jī)網(wǎng)絡(luò)上的組播請求的方法的可執(zhí)行指令,所述方法包括接收多個(gè)不處理組播消息的非組播節(jié)點(diǎn)的注冊;通過組播接收來自請求方的對服務(wù)的請求;在所述多個(gè)非組播節(jié)點(diǎn)中識別所請求服務(wù)的一個(gè)或多個(gè)提供方;以及向所述一個(gè)或多個(gè)提供方發(fā)送所述請求,而不向所述計(jì)算機(jī)網(wǎng)絡(luò)上的其它非組播節(jié)點(diǎn)發(fā)送所述請求。
18.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述方法還包括從所述一個(gè)或多個(gè)提供方接收至少一個(gè)對所述請求的響應(yīng);以及向所述請求方發(fā)送所述至少一個(gè)響應(yīng)。
19.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,通過基于連接的協(xié)議向所述一個(gè)或多個(gè)提供方發(fā)送所述請求。
20.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,通過無連接協(xié)議向所述一個(gè)或多個(gè)提供方發(fā)送所述請求。
21.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,識別所述一個(gè)或多個(gè)提供方包括檢測所述請求內(nèi)的用于識別所請求服務(wù)的服務(wù)標(biāo)識符;以及在已注冊節(jié)點(diǎn)的數(shù)據(jù)庫內(nèi)搜索所述服務(wù)標(biāo)識符。
全文摘要
多個(gè)不處理組播消息的非組播節(jié)點(diǎn)向選擇式組播代理注冊。響應(yīng)通過組播對于來自請求方的服務(wù)請求的接收,選擇式組播代理在多個(gè)非組播節(jié)點(diǎn)中識別一個(gè)或多個(gè)所請求服務(wù)的提供方。選擇式組播代理向一個(gè)或多個(gè)提供方發(fā)送請求,而不向計(jì)算機(jī)網(wǎng)絡(luò)上的其它非組播節(jié)點(diǎn)發(fā)送請求。選擇式組播代理、服務(wù)的請求方、服務(wù)的提供方、以及非組播節(jié)點(diǎn)可以全部位于相同的局域網(wǎng)內(nèi)。
文檔編號H04L12/18GK101091351SQ200680000519
公開日2007年12月19日 申請日期2006年2月7日 優(yōu)先權(quán)日2005年12月16日
發(fā)明者托馬斯·米利根, 布賴恩特·伊斯特漢 申請人:松下電工株式會社