專利名稱:為網(wǎng)絡(luò)內(nèi)通信選擇傳輸機(jī)制的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及計算機(jī)和計算機(jī)相關(guān)技術(shù)。更具體地,本 發(fā)明涉及用于為網(wǎng)絡(luò)內(nèi)通信選擇傳輸機(jī)制的系統(tǒng)和方法。
背景技術(shù):
計算機(jī)和通信技術(shù)持續(xù)快速發(fā)展。實(shí)際上,計算機(jī)和通信 技術(shù)涉及人們?nèi)粘I畹脑S多方面。例如,現(xiàn)今消費(fèi)者正在使 用的很多裝置都在裝置的內(nèi)部具有小型計算機(jī)。這些小型計算 機(jī)具有不同的大小和復(fù)雜度。這些小型計算機(jī)包括所有從一個 微型控制器到全功能的完整計算機(jī)系統(tǒng)。例如,這些小型計算 機(jī)可以是微型控制器等單片計算機(jī)、控制器等單板型計算機(jī)、IBM-PC兼容機(jī)等典型臺式計算機(jī)等。計算機(jī)一般具有一個或多個處于計算機(jī)核心的處理器。處理器通常與不同的外部輸入和輸出相互連接,用來管理特定的 計算機(jī)或裝置。例如,可以將自動調(diào)溫器中的處理器連接到用 于選擇溫度設(shè)置的按鈕、連接到暖爐或空調(diào)以改變溫度、連接 到溫度傳感器以讀取當(dāng)前溫度并將其顯示在顯示器上。很多電器、裝置等包括一個或多個小型計算機(jī)。例如,自 動調(diào)溫器、暖爐、空調(diào)系統(tǒng)、電冰箱、電話、打字機(jī)、汽車、 自動售貨機(jī)以及很多不同種類的工業(yè)設(shè)備,現(xiàn)在一般在其內(nèi)部 都具有小型計算機(jī)或處理器。計算機(jī)軟件使這些計算機(jī)的處理 器運(yùn)行并指示處理器如何執(zhí)行某些任務(wù)。例如,在自動調(diào)溫器 上運(yùn)行的計算機(jī)軟件可以在達(dá)到特定溫度時使空調(diào)停止運(yùn)轉(zhuǎn), 或可以在需要時打開加熱器。通常將作為裝置、電器、工具等的一部分的這些類型的小
型計算機(jī)稱為嵌入式裝置或嵌入式系統(tǒng)(在此可以互換使用術(shù) 語"嵌入式裝置"和"嵌入式系統(tǒng),,)。嵌入式系統(tǒng)通常是指作為更 大的系統(tǒng)的一部分的計算機(jī)硬件和軟件。嵌入式系統(tǒng)可以沒有 鍵盤、鼠標(biāo)和/或監(jiān)視器等典型輸入和輸出裝置。通常,在每個 嵌入式系統(tǒng)的核心是一個或多個處理器。照明系統(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)的各燈提供 啟動特定的照明模式的控制。可以將嵌入式系統(tǒng)連接到照明系 統(tǒng)內(nèi)的各開關(guān)。這些嵌入式系統(tǒng)可以指示開關(guān)對各燈或整個照 明系統(tǒng)通電或斷電。類似地,可以將嵌入式系統(tǒng)連接到照明系 統(tǒng)內(nèi)的各燈。通過嵌入式系統(tǒng)可以控制每一個獨(dú)立的燈的亮度 或電源狀態(tài)。安全系統(tǒng)也可以包含嵌入式系統(tǒng)。嵌入式系統(tǒng)可以用來控 制構(gòu)成安全系統(tǒng)的各安全傳感器。例如,嵌入式系統(tǒng)可以提供 對每個安全傳感器自動通電的控制??梢詫⑶度胧较到y(tǒng)連接到 各安全傳感器中的每一個。例如,可以將嵌入式系統(tǒng)連接到運(yùn) 動傳感器。如果檢測到運(yùn)動,則嵌入式系統(tǒng)可以對各運(yùn)動傳感 器自動通電,并提供啟動運(yùn)動傳感器的控制。啟動運(yùn)動傳感器可以包括提供對位于運(yùn)動傳感器內(nèi)的LED通電、從運(yùn)動傳感器 的輸出端口輸出警報等指令。嵌入式系統(tǒng)還可以連接到監(jiān)視門 的傳感器。當(dāng)門被打開或關(guān)閉時,嵌入式系統(tǒng)可以對監(jiān)視門的 傳感器提供啟動指令。類似地,可以將嵌入式系統(tǒng)連接到監(jiān)視 窗戶的傳感器。如果窗戶被打開或關(guān)閉,則嵌入式系統(tǒng)可以提 供啟動監(jiān)視窗戶的傳感器的指令。一些嵌入式系統(tǒng)還可以用來控制例如蜂窩式電話等無線產(chǎn)
品。嵌入式系統(tǒng)可以提供對蜂窩式電話的LED顯示器通電的指 令。嵌入式系統(tǒng)還可以啟動蜂窩式電話內(nèi)的音頻揚(yáng)聲器從而向 用戶提供關(guān)于蜂窩式電話的音頻通知。家用電器也可以包含嵌入式系統(tǒng)。家用電器可以包括通常 在傳統(tǒng)廚房中使用的電器,例如,爐、電冰箱、微波爐等。家 用電器還可以包括與用戶的健康和舒適相關(guān)的電器。例如,按 摩躺椅可以包含嵌入式系統(tǒng)。嵌入式系統(tǒng)可以根據(jù)用戶的偏好 提供使椅子的背部自動傾斜的指令。嵌入式系統(tǒng)還可以根據(jù)用 戶的偏好提供啟動在椅子內(nèi)引起躺椅內(nèi)振動的振動組件的指 令。家庭中通常備有的其它產(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) 視和/或控制它們??梢詫⑵渌度胧较到y(tǒng)連接到包括局域網(wǎng)、 廣域網(wǎng)等的計算機(jī)網(wǎng)絡(luò)。在此所使用的術(shù)語"計算機(jī)網(wǎng)絡(luò)"(或簡 稱為"網(wǎng)絡(luò)")是指通過通信路徑相互連接 一 系列節(jié)點(diǎn)的任何系 統(tǒng)。術(shù)語"節(jié)點(diǎn)"是指可以作為計算機(jī)網(wǎng)絡(luò)的 一部分連接的任何 裝置。嵌入式系統(tǒng)可以是網(wǎng)絡(luò)節(jié)點(diǎn)。網(wǎng)絡(luò)節(jié)點(diǎn)的其它例子包括 計算機(jī)、個人數(shù)字助理(personal digital assistant, PDA)、以及 蜂窩式電話等。一些嵌入式系統(tǒng)可以使用計算機(jī)網(wǎng)絡(luò)向其它計算裝置提供 數(shù)據(jù)和/或服務(wù)??梢蕴峁┰S多不同種類的服務(wù)。服務(wù)的一些例 子包括提供某位置的溫度數(shù)據(jù)、提供監(jiān)視數(shù)據(jù)、提供天氣信 息、提供音頻流、以及提供視頻流等。
可以相互連接節(jié)點(diǎn)以形成對等(peer-to-peer)網(wǎng)絡(luò)。對等計 算機(jī)網(wǎng)絡(luò)是依賴于網(wǎng)絡(luò)中參與方的計算能力和帶寬的網(wǎng)絡(luò),而 不是將其集中在數(shù)量相對較少的服務(wù)器中。對等網(wǎng)絡(luò)通常用于 通過大量的自組織(ad hoc)連接來連接節(jié)點(diǎn)。計算機(jī)網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)可以配置成通過TCP/IP等基于連接的 協(xié)i義(connection-based protocol)向其它節(jié)點(diǎn)發(fā)送消息?;?連接的協(xié)議可以提供從發(fā)送器到接收器的包的可靠傳遞。因此, 如果使用基于連接的協(xié)議向網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送消息,則通??梢垣@ 得高質(zhì)量的服務(wù)。作為通過基于連接的協(xié)議發(fā)送消息的替代,至少 一些節(jié)點(diǎn) 可以配置成使用多(multicast)技術(shù)向其它網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送消息。 在計算機(jī)網(wǎng)絡(luò)的環(huán)境中,術(shù)語"多播"是指向網(wǎng)絡(luò)上多于一個的 節(jié)點(diǎn)同時發(fā)送消息的處理。多播與廣播的不同之處在于多播 意味著向網(wǎng)絡(luò)內(nèi)特定的節(jié)點(diǎn)組發(fā)送消息,而廣播是指向網(wǎng)絡(luò)上的所有節(jié)點(diǎn)發(fā)送消息。在一些情況下,可優(yōu)選通過基于連接的協(xié)議向其它網(wǎng)絡(luò)節(jié) 點(diǎn)發(fā)送消息。然而,在另一些情況下,可優(yōu)選通過多播向其它 網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送消息。通過與節(jié)點(diǎn)為對等網(wǎng)絡(luò)等網(wǎng)絡(luò)內(nèi)通信選擇 適當(dāng)?shù)膫鬏敊C(jī)制(即,基于連接的協(xié)議或多播)的方式相關(guān)的 改進(jìn),可以獲得益處。發(fā)明內(nèi)容公開了用于為對等網(wǎng)絡(luò)等網(wǎng)絡(luò)中的通信選擇傳輸機(jī)制的系 統(tǒng)和方法。在示例性實(shí)施例中,網(wǎng)絡(luò)中的發(fā)布方(publisher ) 節(jié)點(diǎn)判斷網(wǎng)絡(luò)中多少個預(yù)訂方(subscriber)節(jié)點(diǎn)預(yù)訂了接收關(guān) 于由發(fā)布方節(jié)點(diǎn)所保持的數(shù)據(jù)的通知消息。發(fā)布方節(jié)點(diǎn)還判斷 發(fā)布方節(jié)點(diǎn)配置成支持多少個可用連接。如果可用連接的數(shù)量
超過預(yù)訂方的數(shù)量,則發(fā)布方節(jié)點(diǎn)通過基于連接的協(xié)議(例如,TCP/IP)將通知消息發(fā)送給預(yù)訂方節(jié)點(diǎn)。如果預(yù)訂方節(jié)點(diǎn)的數(shù)量超過可用連接的數(shù)量,則發(fā)布方節(jié)點(diǎn)通過多播將通知消息發(fā) 送給預(yù)訂方節(jié)點(diǎn)。如果發(fā)布方節(jié)點(diǎn)通過多播向預(yù)訂方節(jié)點(diǎn)發(fā)送通知消息,則 發(fā)布方節(jié)點(diǎn)可以根據(jù)是否從發(fā)布方節(jié)點(diǎn)可靠地接收了通知消息 從預(yù)訂方接收一個或多個連接請求。當(dāng)發(fā)布方節(jié)點(diǎn)接收來自預(yù) 訂方節(jié)點(diǎn)的連接請求時,發(fā)布方節(jié)點(diǎn)可以判斷發(fā)布方節(jié)點(diǎn)是否 配置成支持至少一個附加連接。如果是,則發(fā)布方節(jié)點(diǎn)可以接 受該連接請求。如果發(fā)布方節(jié)點(diǎn)未配置成支持至少一個附加連 接,則發(fā)布方節(jié)點(diǎn)可以判斷請求預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì)量要求是 否高于至少 一 個當(dāng)前連接的預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì)量要求。如果 是,則發(fā)布方節(jié)點(diǎn)可以終止與請求預(yù)訂方節(jié)點(diǎn)相比具有較低服 務(wù)質(zhì)量要求的預(yù)訂方節(jié)點(diǎn)的當(dāng)前連接,并且開放與請求預(yù)訂方 節(jié)點(diǎn)的連接。如果發(fā)布方節(jié)點(diǎn)正通過基于連接的協(xié)議發(fā)送通知消息,則 在某些時間點(diǎn),請求與發(fā)布方節(jié)點(diǎn)連接的預(yù)訂方節(jié)點(diǎn)的數(shù)量可 能超過可用連接的數(shù)量。如果發(fā)生這種情況,則發(fā)布方節(jié)點(diǎn)可 以將通過基于連接的協(xié)議發(fā)送通知消息切換成通過多播發(fā)送通 知消息。
通過以下結(jié)合附圖的說明和所附權(quán)利要求書,本發(fā)明的示 例性實(shí)施例將變得更充分明顯。應(yīng)當(dāng)理解,這些附圖僅用于示 出示例性實(shí)施例,因此,不應(yīng)視為是對本發(fā)明的范圍的限制, 通過使用以下附圖,更具體和詳細(xì)地說明本發(fā)明的示例性實(shí)施例,其中
圖l是示出根據(jù)實(shí)施例用于為計算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)間的通信選擇適當(dāng)?shù)膫鬏敊C(jī)制的系統(tǒng)的框圖;圖2是示出根據(jù)實(shí)施例發(fā)布方如何判斷是使用基于連接的協(xié)議還是使用多播向預(yù)訂方發(fā)送通知消,t,的流程圖;圖3是示出當(dāng)發(fā)布方開始通過多播發(fā)送通知消息時,根據(jù)實(shí)施例的預(yù)訂方的操作的流程圖;圖4是示出響應(yīng)于從預(yù)訂方接收到連接請求,根據(jù)實(shí)施例的發(fā)布方的操作的流程圖;圖5是示出根據(jù)實(shí)施例的發(fā)布方內(nèi)的各種功能組件的框圖; 圖6是示出根據(jù)實(shí)施例的預(yù)訂方內(nèi)的各種功能組件的框圖; 圖7是根據(jù)實(shí)施例所配置的嵌入式系統(tǒng)中可以使用的硬件組件的框圖;圖8示出可以實(shí)施本系統(tǒng)和方法的示例性照明系統(tǒng);圖9示出可以實(shí)施本系統(tǒng)和方法的示例性安全系統(tǒng);以及圖10示出可以實(shí)施本系統(tǒng)和方法的示例性家用控制器系統(tǒng)。
具體實(shí)施方式
現(xiàn)在參照
本發(fā)明的各種實(shí)施例,其中相同的附圖 標(biāo)記表示相同或功能類似的元件。這里,如在附圖中一般性地 說明并示出的,可以以很多種不同的結(jié)構(gòu)來配置和設(shè)計本發(fā)明 的實(shí)施例。因此,以下對如圖所示的本發(fā)明的若干示例性實(shí)施 例的更詳細(xì)的說明,不像權(quán)利要求那樣旨在限制本發(fā)明的范圍, 而僅僅是本發(fā)明的實(shí)施例的代表。在這里專用的詞"示例性"意味著"用作例子、實(shí)例或圖示"。 在這里作為"示例性"說明的任何實(shí)施例不必解釋為比其它實(shí)施 例優(yōu)選或有利。盡管在附圖中示出了實(shí)施例的多種方面,但除
非特別指出,否則附圖不必按比例畫出??梢宰鳛橛嬎銠C(jī)軟件、電子硬件或二者的組合來實(shí)現(xiàn)這里 所公開的實(shí)施例的很多特征。為了清楚地說明硬件和軟件的這 種可互換性, 一般按照各種組件的功能對其進(jìn)行說明。作為硬 件還是軟件來實(shí)現(xiàn)這種功能取決于具體的應(yīng)用和施加在整個系 統(tǒng)上的設(shè)計限制。本領(lǐng)域技術(shù)人員可以針對每個具體的應(yīng)用以 不同的方式來實(shí)現(xiàn)所述功能,但是這種實(shí)現(xiàn)決定不應(yīng)被解釋為 致使脫離了本發(fā)明的范圍。在作為計算機(jī)軟件實(shí)現(xiàn)所述功能的情況下,這種軟件可以 包括位于存儲裝置內(nèi)和/或作為電信號通過系統(tǒng)總線或網(wǎng)絡(luò)發(fā) 送的任何類型的計算機(jī)指令或計算機(jī)可執(zhí)行代碼。實(shí)現(xiàn)與這里 所說明的組件相關(guān)的功能的軟件可以包括單個指令或很多指 令,可以通過幾個不同的代碼段、在不同的程序間、跨幾個存 儲裝置分配該軟件。圖l是示出根據(jù)實(shí)施例用于為計算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)間的通 信選擇適當(dāng)?shù)膫鬏敊C(jī)制的系統(tǒng)IOO的框圖。網(wǎng)絡(luò)中的至少 一 些節(jié) 點(diǎn)可能具有網(wǎng)絡(luò)中的其它節(jié)點(diǎn)感興趣的數(shù)據(jù)。例如,網(wǎng)絡(luò)可以 包括溫度傳感器,網(wǎng)絡(luò)中的至少其它一些節(jié)點(diǎn)可能對由溫度傳 感器所檢測到的關(guān)于當(dāng)前溫度的通知感興趣。作為另 一 例子, 網(wǎng)絡(luò)可以包括門傳感器,網(wǎng)絡(luò)中的一個或多個節(jié)點(diǎn)(例如,警 報系統(tǒng))可能對關(guān)于門是打開的還是關(guān)閉的通知感興趣??梢岳脴?biāo)識符和位置標(biāo)記該數(shù)據(jù)。網(wǎng)絡(luò)中的節(jié)點(diǎn)可以預(yù) 訂關(guān)于給定標(biāo)識符的數(shù)據(jù),并且可以接收關(guān)于共享其位置的數(shù)據(jù)的通知消息。例如,假定節(jié)點(diǎn)A在位置L1和L2,節(jié)點(diǎn)B在位 置L2和L3。如果節(jié)點(diǎn)B發(fā)布數(shù)據(jù)Dl,節(jié)點(diǎn)A預(yù)訂數(shù)據(jù)D1,那么 節(jié)點(diǎn)A接收對D1的更新。在此使用的術(shù)語"發(fā)布方節(jié)點(diǎn)"(或簡稱為"發(fā)布方")是指 向網(wǎng)絡(luò)中的一個或多個其它節(jié)點(diǎn)發(fā)送關(guān)于數(shù)據(jù)的通知消息的節(jié) 點(diǎn)。術(shù)語"預(yù)訂方節(jié)點(diǎn)"(或簡稱為"預(yù)訂方")是指從發(fā)布方接 收關(guān)于數(shù)據(jù)的通知消息的節(jié)點(diǎn)。圖l所示的系統(tǒng)100包括發(fā)布方102。發(fā)布方102具有若干預(yù)訂方104所需的數(shù)據(jù)106。發(fā)布方102 將關(guān)于數(shù)據(jù)106的通知消息108發(fā)送給預(yù)訂方104。發(fā)布方102可以通過TCP/IP等基于連接的協(xié)議向預(yù)訂方104 發(fā)送通知消息108。有利地,基于連接的協(xié)議可以提供從發(fā)送方 到接收方的包的可靠傳遞。因此,如果使用基于連接的協(xié)議, 則通??梢垣@得高質(zhì)量的服務(wù)。然而,基于連接的協(xié)議的一個 缺點(diǎn)是發(fā)布方102能夠支持的連接的數(shù)量可能是有限的。如果 數(shù)據(jù)106與網(wǎng)絡(luò)內(nèi)的許多節(jié)點(diǎn)有關(guān),并且對于關(guān)于數(shù)據(jù)106的通 知消息108存在許多預(yù)訂方104,則發(fā)布方102可能難以支持與所有預(yù)訂方104的連^r。作為對基于連接的協(xié)議的替代,發(fā)布方102可以通過多播將 通知消息108發(fā)送給預(yù)訂方104。有利地,如果使用多播,則與 如果使用基于連接的協(xié)議相比,可以將通知消息10 8發(fā)送給更多 數(shù)量的預(yù)訂方104。然而,多播的一個缺點(diǎn)是其不總是完全可 靠的??赡茉诎l(fā)送過程中丟失通過多播發(fā)送的通知消息108,并 且有時不能將通知消息108傳遞給至少一些預(yù)訂方104。盡管對 于 一 些預(yù)訂方104來說這可能不是問題,但是對于其它預(yù)訂方 104,接收所發(fā)送的每一通知消息108可能是非常重要的。例如, 對于警報系統(tǒng)來說,無論何時門傳感器檢測到門被打開就向其 通知可能是非常重要的。如果對于預(yù)訂方104來說接收所發(fā)送的 每一通知消息108是非常重要的,那么預(yù)訂方104通常優(yōu)選通過 基于連接的協(xié)議接收通知消息108 。圖l所示的系統(tǒng)100配置成自動判斷在發(fā)布方102和對接收 關(guān)于發(fā)布方10 2的數(shù)據(jù)10 6的通知消息10 8感興趣的預(yù)訂方10 4之
間的適當(dāng)?shù)膫鬏敊C(jī)制(即,多播或基于連接的協(xié)議)。在某一時間點(diǎn)(例如,當(dāng)發(fā)布方102開始向預(yù)訂方104發(fā)送通知消息108 時),發(fā)布方102對于通過多播還是通過基于連接的協(xié)議發(fā)送通 知消息108進(jìn)行初始判斷。如果發(fā)布方102不能支持與所有預(yù)訂 方104的連接,那么發(fā)布方102可以通過多4番發(fā)送通知消息108。 然而,如果發(fā)布方102能夠支持與所有預(yù)訂方104的連接,那么 發(fā)布方102可以選擇通過基于連接的協(xié)議發(fā)送通知消息108。即使發(fā)布方102開始通過多播發(fā)送通知消息108, —個或多 個預(yù)訂方104也可能判斷為多播未提供足夠高的服務(wù)質(zhì)量,可能 向發(fā)布方102請求連接。如果出現(xiàn)這種情況,則發(fā)布方102接受 其能夠支持的盡可能多的連接。因此,除通過多播發(fā)送通知消 息10 8以外,發(fā)布方10 2還可以通過基于連接的協(xié)議將通知消息 108發(fā)送給網(wǎng)絡(luò)中的預(yù)訂方104的子集112。因此,可能發(fā)生發(fā)布 方10 2通過多播和基于連接的協(xié)議兩者發(fā)送通知消息10 8 。如果 發(fā)布方102接收到多于其能夠支持的連接請求,那么發(fā)布方102 將基于預(yù)訂方104對接收具有高質(zhì)量服務(wù)的通知消息108所分配 的重要程度,判斷哪個預(yù)定方104接收連接。將在后面對此進(jìn)行 更詳細(xì)地討論。圖2是示出根據(jù)實(shí)施例發(fā)布方10 2如何判斷是使用基于連接 的協(xié)議還是使用多播將通知消息10 8發(fā)送給預(yù)訂方10 4的流程 圖。根據(jù)所示方法200,發(fā)布方102獲得202網(wǎng)絡(luò)中的其它節(jié)點(diǎn)可 能感興趣的數(shù)據(jù)106。發(fā)布方102判斷204在該網(wǎng)絡(luò)中存在多少個預(yù)訂了接收關(guān)于 數(shù)據(jù)10 6的通知消息10 8的預(yù)訂方10 4 ??梢酝ㄟ^預(yù)訂協(xié)議進(jìn)行該 判斷,在預(yù)訂協(xié)議中,發(fā)布方10 2通知該網(wǎng)絡(luò)上的潛在預(yù)定方10 4 關(guān)于數(shù)據(jù)106的可用性,并且預(yù)定方104進(jìn)行應(yīng)答表示他們對數(shù) 據(jù)106感興趣??蛇x地,預(yù)訂方104可以使用請求特定數(shù)據(jù)106
的多播來詢問潛在發(fā)布方102。發(fā)布方102使用這兩種方法中的 任何一種方法獲得該網(wǎng)絡(luò)中預(yù)訂方104的總數(shù)。同樣,根據(jù)所示 的方法200,發(fā)布方102還確定206發(fā)布方102能夠支持的連接數(shù)量。發(fā)布方102將預(yù)訂方104的數(shù)量(如在步驟204中所確定的) 和可用連接的數(shù)量(如在步驟206中所確定的)進(jìn)行比較208。 如果預(yù)定方104的數(shù)量超過可用連接的數(shù)量,那么發(fā)布方102通 過多播將通知消息108發(fā)送210給預(yù)訂方104。然而,如果預(yù)訂方 104的數(shù)量未超過可用連接的數(shù)量,那么發(fā)布方102通過TCP/IP 等基于連接的協(xié)議將通知消息10 8發(fā)送212給預(yù)訂方10 4 。如上所述,如果發(fā)布方102通過多播發(fā)送210通知消息108, 則 一 個或多個預(yù)訂方104可能判斷為多播未提供足夠高的服務(wù) 質(zhì)量,可能向發(fā)布方102請求連接。如果出現(xiàn)這種情況,那么除 通過多^番發(fā)送通知消息108以外,發(fā)布方102還可以通過基于連 接的協(xié)議將通知消息108發(fā)送給網(wǎng)絡(luò)中的某些預(yù)訂方104。圖3是示出在發(fā)布方102開始通過多播發(fā)送通知消息108時, 根據(jù)實(shí)施例的預(yù)訂方104的操作的流程圖。預(yù)訂方104首先檢查 302是否存在對于通知108中的數(shù)據(jù)106的連接。如果存在連接, 那么預(yù)訂方104忽略304多播的通知消息108。另夕卜,響應(yīng)于通過 多播接收306通知消息108,預(yù)訂方104判斷308多播是否提供足 夠高的服務(wù)質(zhì)量。例如,如果對于預(yù)定方104來i兌,可靠地接收 所發(fā)送的每一通知消息108是重要的,那么預(yù)訂方104可能判斷 為多播未提供其所需要的足夠高的服務(wù)質(zhì)量。然而,如果對于 預(yù)訂方104來說,可靠地接收所發(fā)送的每一通知消息108不重要, 那么預(yù)訂方104可能判斷為多播提供了其所需要的足夠高的服 務(wù)質(zhì)量。在一些實(shí)施例中,預(yù)訂方104可以保持針對^:據(jù)106的服務(wù) 質(zhì)量(QOS)參數(shù)。QOS參數(shù)表示對于預(yù)定方104來說,可靠 接收所發(fā)送的每一通知消息108有多重要。在一些實(shí)施例中, QOS參數(shù)可以具有一個范圍的值,包括最大值和最小值。如果 設(shè)置QOS參數(shù)等于其最大值,則這意味著對于預(yù)訂方104來說, 可靠地接收所發(fā)送的每一通知消息108是非常重要的。相反,如 果設(shè)置QOS參數(shù)等于其最小值,則這意味著對于預(yù)訂方104來 說,可靠地接收所發(fā)送的每一通知消息108不是非常重要的。為了判斷多播對于從發(fā)布方10 2接收關(guān)于數(shù)據(jù)10 6的通知消 息108是否提供足夠高的服務(wù)質(zhì)量,預(yù)訂方104可以將對于數(shù)據(jù) 106的QOS參數(shù)和閾值進(jìn)行比較。如果QOS參數(shù)超過閾值,那么 多播未提供足夠高的服務(wù)質(zhì)量。然而,如果QOS參數(shù)未超過閾 值,那么多播的確提供了足夠高的服務(wù)質(zhì)量??梢杂深A(yù)訂方104 的用戶預(yù)先設(shè)置QOS參數(shù)和閾值。如果預(yù)訂方104判斷為308多播未提供預(yù)訂方104所需要的 足夠高的服務(wù)質(zhì)量,則預(yù)訂方104可以向發(fā)布方102請求310連 接。然而,如果多播的確提供了預(yù)訂方104所需要的足夠高的服 務(wù)質(zhì)量,那么可以配置預(yù)訂方104不向發(fā)布方102請求312連接。圖4是示出響應(yīng)于從預(yù)訂方104接收到402連接請求,根據(jù)實(shí) 施例的發(fā)布方102的操作的流程圖。當(dāng)發(fā)布方102接收到連接請 求時,發(fā)布方102可能已開放了與一個或多個其它預(yù)訂方104的 連接,并且可能不能支持附加的連接。根據(jù)所示方法400,發(fā)布 方102判斷404其是否可以支持附加的連接。如果發(fā)布方102能夠支持附加的連接,那么發(fā)布方102接受 406該連接請求,并開放408與預(yù)訂方104的連接。然而,如果發(fā) 布方102判斷為404其不能支持附加的連接,那么發(fā)布方102判斷 410:與當(dāng)前所連接的預(yù)訂方104中的至少一個相比,接收高質(zhì) 量的服務(wù)對于發(fā)送該連接請求的預(yù)訂方104 (請求預(yù)訂方104 )
來說是否更為重要。這可能涉及將發(fā)送該連接請求的預(yù)訂方104的QOS參數(shù)與當(dāng)前所連接的預(yù)訂方104的QOS參數(shù)進(jìn)行比較。如果發(fā)布方102判斷為410:與當(dāng)前所連接的預(yù)訂方104中的 至少一個相比,接收高質(zhì)量的服務(wù)對于請求預(yù)訂方104來說更為 重要,那么發(fā)布方102終止412其中一個現(xiàn)有連接。終止的連接 通常是與高質(zhì)量的服務(wù)最不重要的預(yù)訂方104的連接。例如,發(fā) 布方102可以終止與具有最低QOS參數(shù)的預(yù)訂方104的連接(在 實(shí)施例中,高QOS參數(shù)表示高質(zhì)量的服務(wù)是重要的)。除終止412 該連接外,發(fā)布方102還接受406來自請求預(yù)訂方104的連接請 求,并開》文408與請求預(yù)訂方104的連接。如果預(yù)訂方104判斷為 410:與請求預(yù)訂方104相比,接收高質(zhì)量的月良務(wù)對于當(dāng)前所連 接的各預(yù)訂方104來說更為重要,那么發(fā)布方102拒絕414該連接請求。現(xiàn)在將討論幾個例子。假定發(fā)布方102具有許多節(jié)點(diǎn)感興趣 的數(shù)據(jù)106(例如,當(dāng)前外部溫度)。結(jié)果,可能存在許多希望 接收關(guān)于數(shù)據(jù)106的通知消息108的預(yù)訂方104。然而,假定對于 任一預(yù)訂方104來說,可靠地接收所發(fā)送的每一通知消息108都 不是極其重要的。在這種情況下,發(fā)布方102可以通過多播發(fā)送 關(guān)于數(shù)據(jù)106的通知消息108。如果對于任一預(yù)訂方104來說,可 靠地接收通知消息108都不是非常重要的,那么可能發(fā)生沒有預(yù) 訂方104試圖開放與發(fā)布方102的連接。然而,假定存在少數(shù)幾個對他們來說可靠地接收通知消息 108重要的預(yù)訂方104。例如,在數(shù)據(jù)106為當(dāng)前外部溫度的情況 下,顯示器可能希望每當(dāng)外部溫度改變時就通知它。在發(fā)布方 102正在多播通知消息108但是存在少數(shù)幾個希望接收高質(zhì)量的 服務(wù)的預(yù)訂方104的情況下,這些預(yù)訂方104中的每一個可以從 發(fā)布方102發(fā)現(xiàn)直接連接,并向發(fā)布方102請求該直接連接。
如果希望接收高質(zhì)量的服務(wù)的預(yù)訂方104的數(shù)量增加,則可能發(fā)生發(fā)布方102不再能夠支持與每一預(yù)訂方104的連接。如果 發(fā)生這種情況,則發(fā)布方102保持對發(fā)布方102可以支持的盡可 能多的預(yù)訂方104開放的連接。發(fā)布方102可以選擇高質(zhì)量的服 務(wù)最為重要的預(yù)訂方104來接收直接連接。作為另 一 例子,假定只有少數(shù)幾個預(yù)訂方10 4對接收關(guān)于發(fā) 布方102的數(shù)據(jù)106的通知消息108感興趣。如果發(fā)布方102能夠 支持與各預(yù)訂方104的連接,則發(fā)布方102可以開放與預(yù)訂方104 的連接,并通過基于連接的協(xié)議發(fā)送通知消息108。即使對于預(yù) 訂方104來說接收高質(zhì)量的服務(wù)不是特別重要,這也可能發(fā)生。 如果預(yù)訂方104的數(shù)量增加使得發(fā)布方102不再能夠支持與每一 預(yù)訂方104的連接,那么發(fā)布方102可以關(guān)閉與預(yù)訂方104的連 接,并可以開始向預(yù)訂方104多播通知消息108。注意,這樣可 能導(dǎo)致一些預(yù)訂方104向發(fā)布方102請求連接。圖5是示出根據(jù)實(shí)施例的發(fā)布方502內(nèi)的各種功能組件的框 圖。發(fā)布方502包括獲得網(wǎng)絡(luò)中的其它節(jié)點(diǎn)可能感興趣的數(shù)據(jù) 106的數(shù)據(jù)獲取模塊514。網(wǎng)絡(luò)中的其它節(jié)點(diǎn)可以預(yù)訂接收關(guān)于 由數(shù)據(jù)獲取模塊514所獲得的數(shù)據(jù)10 6的通知消息10 8 。發(fā)布方502還可以包括多播協(xié)議棧516??梢耘渲枚嗖f(xié)議 棧516以通過多4番向網(wǎng)絡(luò)中的其它節(jié)點(diǎn)發(fā)送消息(例如,通知消 息108 )。發(fā)布方502還可以包括基于連接的協(xié)議棧518。可以配置基 于連接的協(xié)議棧518以從網(wǎng)絡(luò)中的其它節(jié)點(diǎn)接受連接或者另外 與網(wǎng)絡(luò)中的其它節(jié)點(diǎn)建立連接,并通過基于連接的協(xié)議向網(wǎng)絡(luò) 中的其它節(jié)點(diǎn)發(fā)送消息(例如,通知消息108)??梢允褂玫幕?于連接的協(xié)議棧518的例子為TCP/IP協(xié)議棧。發(fā)布方502還可以包括預(yù)訂方發(fā)現(xiàn)模塊520。可以配置預(yù)定
方發(fā)現(xiàn)模塊520以判斷在該網(wǎng)絡(luò)中存在多少對接收關(guān)于由數(shù)據(jù) 獲取模塊514所獲得的數(shù)據(jù)106的通知消息108感興趣的預(yù)訂方 104。
發(fā)布方502還可以包括容量判斷模塊522??梢耘渲萌萘颗?斷模塊5 2 2以判斷發(fā)布方5 0 2能夠支持的連接數(shù)量。
發(fā)布方502還可以包括通信選擇模塊524??梢耘渲猛ㄐ胚x 才奪模塊524以選擇在該網(wǎng)絡(luò)中將通知消息108發(fā)送給預(yù)訂方104 的機(jī)制(即,通過多播或者通過基于連接的協(xié)議)。連接管理器 526可以如以上圖2所示以及結(jié)合圖2所討_淪的那樣運(yùn)行。
發(fā)布方502還可以包括連接管理器526。可以配置連接管理 器5 2 6以判斷是否從預(yù)訂方10 4接受連接請求。連接管理器5 2 6 可以如圖4所示以及結(jié)合圖4所討論的那樣運(yùn)行。
圖6是示出根據(jù)實(shí)施例的預(yù)訂方604內(nèi)的各種功能組件的框 圖。預(yù)訂方604可以包括多播協(xié)議棧616??梢耘渲枚嗖f(xié)議棧 616以通過多播從網(wǎng)絡(luò)中的其它節(jié)點(diǎn)(例如,發(fā)布方102)接收 消息(例如,通知消息108)。
預(yù)訂方604還可以包括基于連接的協(xié)議棧618??梢耘渲没?于連接的協(xié)議棧618以從網(wǎng)絡(luò)中的其它節(jié)點(diǎn)接受連接或者另外 與網(wǎng)絡(luò)中的其它節(jié)點(diǎn)建立連接,并通過基于連接的協(xié)議從網(wǎng)絡(luò) 中的其它節(jié)點(diǎn)(例如,發(fā)布方102)接收消息(例如,通知消息 108)。可以使用的基于連接的協(xié)議棧618的例子為T C P /1P協(xié)議 棧。
預(yù)訂方604還包括服務(wù)質(zhì)量(QOS)評估模塊628。如果預(yù) 訂方604開始通過多播從發(fā)布方102接收通知消息108 ,那么QOS 評估模塊628判斷多播是否為預(yù)訂方604提供了足夠高的服務(wù)質(zhì) 量。QOS評估模塊628可以如圖3所示以及結(jié)合圖3所述的那樣運(yùn)行。
19
發(fā)布方節(jié)點(diǎn)102可以是嵌入式系統(tǒng)。 一些或全部預(yù)訂方節(jié)點(diǎn) 10 4也可以是嵌入式系統(tǒng)。圖7是示出根據(jù)實(shí)施例所配置的嵌入 式系統(tǒng)702中可使用的硬件組件的框圖??梢栽O(shè)置中央處理單元 (CPU) 708或處理器以控制嵌入式系統(tǒng)702的操作,該嵌入式 系統(tǒng)702包括其通過總線710與CPU 708連接的其它組件。CPU 708可以作為微型處理器、微型控制器、數(shù)字信號處理器或本技 術(shù)領(lǐng)域已知的其它裝置來實(shí)現(xiàn)。CPU 708基于存儲在存儲器內(nèi) 的程序代碼進(jìn)行邏輯和算術(shù)運(yùn)算。在某些實(shí)施例中,存儲器714 可以是包括在CPU 708內(nèi)的板上(on-board)存儲器。例如,樣i型 控制器通常包括一定量的板上存儲器。
嵌入式系統(tǒng)702還可以包括網(wǎng)絡(luò)4妄口 712。網(wǎng)絡(luò)4I: 口 712允許 嵌入式系統(tǒng)702與以下網(wǎng)絡(luò)連接,該網(wǎng)絡(luò)可以是尋呼(pager)網(wǎng) 絡(luò)、蜂窩式網(wǎng)絡(luò)、全球通信網(wǎng)絡(luò)、因特網(wǎng)、計算機(jī)網(wǎng)絡(luò)、電話 網(wǎng)絡(luò)等。網(wǎng)絡(luò)接口712才艮據(jù)可應(yīng)用網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議運(yùn)行。
嵌入式系統(tǒng)702還可以包括存儲器714。存儲器714可以包括 用于存儲臨時數(shù)據(jù)的隨機(jī)存取存儲器(RAM)??蛇x地或者另 外,存儲器714可以包括用于存儲固定代碼和配置數(shù)據(jù)等更永久 數(shù)據(jù)的只讀存儲器(ROM)。存儲器714還可以作為硬盤驅(qū)動器 等磁存儲裝置來實(shí)現(xiàn)。存儲器714可以是能夠存儲電子信息的任 何類型的電子裝置。
嵌入式系統(tǒng)702還可以包括一個或多個便于與其它裝置通 信的通信端口716。嵌入式系統(tǒng)702還可以包括鍵盤、鼠標(biāo)、操 縱桿、觸摸屏、監(jiān)視器、揚(yáng)聲器、打印機(jī)等輸入/輸出裝置718。
當(dāng)然,圖7僅示出嵌入式系統(tǒng)702的一種可能配置??梢岳?用各種其它結(jié)構(gòu)和組件。
可以在若干情況下使用本系統(tǒng)和方法。圖8示出可以實(shí)施本 系統(tǒng)和方法的系統(tǒng)的 一 個實(shí)施例。圖8是示出包括照明控制器系
統(tǒng)808的照明系統(tǒng)800的一個實(shí)施例的框圖。圖8的照明系統(tǒng)800 可以包含在家庭中的多個房間中。如圖所示,系統(tǒng)800包括房間 A 802、房間B 804和房間C 806。盡管圖8中示出了三個房間, 但是可以在家庭、公寓或其它環(huán)境內(nèi)的任意數(shù)量和類型的房間 中實(shí)施系統(tǒng)800。
照明控制器系統(tǒng)808可以監(jiān)視并控制系統(tǒng)800內(nèi)的附加嵌入 式系統(tǒng)和組件。在一個實(shí)施例中,房間A 802和房間B 804各自 包4舌開關(guān)組件814、 818。開關(guān)組件814、 818還可以包4舌次級嵌 入式系統(tǒng)816、 820。次級嵌入式系統(tǒng)816、 820可以4姿收來自照 明控制器系統(tǒng)808的指令。然后,次級嵌入式系統(tǒng)816、 820可以 執(zhí)行這些指令。該指令可以包括對各種燈組件810、 812、 822 和824通電和斷電。該指令還可以包括調(diào)暗或者增加各種燈組件 810、 812、 822和824的亮度。該指令還可以包括以各種模式設(shè) 置燈組件810、 812、 822和824的亮度。次級嵌入式系統(tǒng)816、 820 便于照明控制器系統(tǒng)808監(jiān)視并控制位于房間A 802和房間B 804中的每一個燈組件810、 812、 822和824。
照明控制器系統(tǒng)808還可以直接向所示房間C 806中的包括 次級嵌入式系統(tǒng)828的燈組件826提供指令。照明控制器系統(tǒng)808 可以指示次級嵌入式系統(tǒng)828對獨(dú)立的燈組件826斷電或通電。 類似地,從照明控制器系統(tǒng)8 0 8接收的指令可以包括調(diào)暗或增加 獨(dú)立的燈組件8 2 6的亮度。
照明控制器系統(tǒng)808還可以監(jiān)視系統(tǒng)800內(nèi)的獨(dú)立燈組件 830和832,并直接向其提供指令。這些指令可以包括與前述指 令類似的指令。
圖9是可以實(shí)施本發(fā)明的該系統(tǒng)和方法的系統(tǒng)的另 一 實(shí)施 例。圖9是示出安全系統(tǒng)900的框圖。在房間A 902、房間B904 和房間C 906中實(shí)施所述實(shí)施例中的安全系統(tǒng)900。這些房間可
以在家庭或其它封閉環(huán)境的界限內(nèi)。還可以在開放環(huán)境中實(shí)施
系統(tǒng)900,其中房間A902、 B 904和C 906分別表示區(qū)域或邊界。 系統(tǒng)900包括安全控制器系統(tǒng)908。安全控制器系統(tǒng)908監(jiān)視 系統(tǒng)900內(nèi)的各種組件并接收來自系統(tǒng)900內(nèi)的各種組件的信 息。例如,運(yùn)動傳感器914、 918可以包括次級嵌入式系統(tǒng)916。 當(dāng)通過次級嵌入式系統(tǒng)916、920^r測到運(yùn)動時,運(yùn)動傳感器914、 918可以監(jiān)視運(yùn)動的即時空間,并向安全控制器系統(tǒng)908報警。 安全控制器系統(tǒng)908還可以向系統(tǒng)900內(nèi)的各種組件提供指令。 例如,安全控制器泉統(tǒng)908可以向次級嵌入式系統(tǒng)916、 920|是供 指令以對窗戶傳感器910、 922和門傳感器912、 924通電或斷電。 在一個實(shí)施例中,當(dāng)窗戶傳感器910、 922檢測到窗戶的運(yùn)動時, 次級嵌入式系統(tǒng)916、 920通知安全控制器系統(tǒng)908。類似地,當(dāng) 門傳感器912、 924檢測到門的運(yùn)動時,次級嵌入式系統(tǒng)916、 920 通知安全控制器系統(tǒng)908。次級嵌入式系統(tǒng)916、 920可以指示運(yùn) 動傳感器914、 918以啟動位于運(yùn)動傳感器914、 918內(nèi)的LED(未 示出)。
安全控制器系統(tǒng)908還可以監(jiān)視系統(tǒng)900內(nèi)的各組件,并直 接向其提供指令。例如,安全控制器系統(tǒng)908可以監(jiān)視運(yùn)動傳感 器930或窗戶傳感器932,并向其提供通電或斷電的指令。安全 控制器系統(tǒng)908還可以指示運(yùn)動傳感器930和窗戶傳感器932以 啟動傳感器930和932內(nèi)的LED(未示出)或音頻警凈艮通知。
組成系統(tǒng)900的每一個獨(dú)立的組件也可以包含次級嵌入式 系統(tǒng)。例如,圖9示出包含次級嵌入式系統(tǒng)928的門傳感器926。 安全控制器系統(tǒng)908可以以與前述方式類似的方式監(jiān)^L次級嵌 入式系統(tǒng)928并向其提供指令。
圖IO是示出家用控制系統(tǒng)1000的一個實(shí)施例的框圖。家用 控制系統(tǒng)1000包括便于監(jiān)視例如照明系統(tǒng)800、安全系統(tǒng)900等
各種系統(tǒng)的家用控制器1008。家用控制系統(tǒng)1000允許用戶通過 一個或多個嵌入式系統(tǒng)來控制各種組件和系統(tǒng)。在 一 個實(shí)施例 中,家用控制器系統(tǒng)10 0 8以與前面結(jié)合圖8和9所述的相同的方 式監(jiān)視并提供信息。在所示實(shí)施例中,家用控制器1008通過次 級嵌入式系統(tǒng)1020向加熱組件1024才是供指令。加熱組件1024可 以包括在居住場所或辦公室中通常備有的暖爐或其它加熱裝 置。家用控制器系統(tǒng)1008可以通過次級嵌入式系統(tǒng)1020提供對 加熱組件1024通電或斷電的指令。類似地,家用控制器10 0 8可以監(jiān)視制冷組件10 3 0等家用控 制系統(tǒng)1000內(nèi)的組件,并直接向其提供指令。制冷組件1030可 以包括在居住場所或辦公室中通常備有的空調(diào)或其它制冷裝 置。中央家用控制器1008可以指示制冷組件1030根據(jù)中央嵌入 式系統(tǒng)1008所收集的溫度讀數(shù)通電或斷電。家用控制系統(tǒng)1000 以與前面結(jié)合圖8和9說明的方式類似的方式運(yùn)行??梢允褂酶鞣N不同的技術(shù)和方法表示信息和信號。例如, 可以用電壓、電流、電^茲波、》茲場或#立子、光場或并立子或其4壬 意組合來表示在以上說明中提到的數(shù)據(jù)、指令、命令、信息、 信號、位、符號以及碼片(chip)。結(jié)合這里所公開的實(shí)施例而說明的各種說明性的邏輯塊、 模塊、電路和算法步驟可以作為電子硬件、計算機(jī)軟件或二者 的組合來實(shí)現(xiàn)。為了清楚地說明硬件和軟件的這種可互換性, 以上主要按照功能對各種說明性的組件、塊、模塊、電路和步 驟進(jìn)行了說明。作為硬件還是軟件來實(shí)現(xiàn)這種功能取決于具體 的應(yīng)用和施加于整個系統(tǒng)上的設(shè)計限制。本領(lǐng)域技術(shù)人員可以 對每一個具體的應(yīng)用以不同的方式實(shí)現(xiàn)所述功能,但是該實(shí)現(xiàn) 決定不應(yīng)當(dāng)解釋為致使脫離了本發(fā)明的范圍??梢允褂迷O(shè)計用于執(zhí)行這里所述的功能的通用處理器、數(shù)
字信號處理器(DSP)、專用集成電路(ASIC, application specific integrated circuit)、 場可編程門陣歹'J信號(FPGA , field programmable gate array signal)或其它可編禾呈邏4辱裝置、離散門 或晶體管邏輯、離散硬件組件或其任意組合來實(shí)現(xiàn)或者執(zhí)行結(jié) 合這里所公開的實(shí)施例而說明的各種說明性的邏輯塊、模塊和 電路。通用處理器可以是微型處理器,但是可選擇地,處理器 可以是任何傳統(tǒng)的處理器、控制器、微型控制器或者狀態(tài)機(jī)。 還可以作為計算裝置的組合來實(shí)現(xiàn)處理器,例如,DSP和微型 處理器的組合、多個微型處理器、結(jié)合DSP核的一個或多個微 型處理器或者任何其它這種配置。可以直接在硬件中、在由處理器執(zhí)行的軟件模塊中或者在 二者的組合中實(shí)現(xiàn)結(jié)合這里所公開的實(shí)施例而說明的方法或者 算法的步驟。可以將軟件模塊存儲于RAM存儲器、閃存、ROM 存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可 移動盤、CD-ROM或者本領(lǐng)域已知的任何其它形式的存儲介質(zhì) 中。將示例性存儲介質(zhì)連接到處理器使得處理器可以從存儲介 質(zhì)讀取信息以及向存儲介質(zhì)寫入信息??蛇x擇地,可以將存儲 介質(zhì)集成到處理器??梢詫⑻幚砥骱痛鎯橘|(zhì)置于ASIC中???以將ASIC置于用戶終端中??蛇x擇地,可以將處理器和存儲介 質(zhì)作為離散組件置于用戶終端中。這里所公開的方法包括用于實(shí)現(xiàn)所述方法的一個或多個步 驟或動作。方法步驟和/或動作可以在不脫離本發(fā)明的范圍的情 況下彼此互換。換句話說,除非實(shí)施例的適當(dāng)操作需要特定順 序的步驟或動作,否則可以在不脫離本發(fā)明的范圍的情況下改 變特定步驟和/或動作的順序和/或使用。盡管示出并說明了本發(fā)明的特定實(shí)施例和應(yīng)用,但是應(yīng)當(dāng) 理解,本發(fā)明不限于這里所公開的精確配置和組件??梢栽诓?脫離本發(fā)明的精神和范圍的情況下,在這里所公開的本發(fā)明的 方法和系統(tǒng)的配置、操作和詳細(xì)內(nèi)容中進(jìn)行對本領(lǐng)域技術(shù)人員 來說顯而易見的各種變形、改變和變化。 工業(yè)應(yīng)用本發(fā)明可應(yīng)用于嵌入式系統(tǒng)。
權(quán)利要求
1.一種由網(wǎng)絡(luò)中的發(fā)布方節(jié)點(diǎn)實(shí)現(xiàn)的、用于為所述網(wǎng)絡(luò)中的通信選擇適當(dāng)傳輸機(jī)制的方法,該方法包括判斷所述網(wǎng)絡(luò)中的多少個預(yù)訂方節(jié)點(diǎn)預(yù)訂了接收關(guān)于由所述發(fā)布方節(jié)點(diǎn)保持的數(shù)據(jù)的通知消息;判斷所述發(fā)布方節(jié)點(diǎn)配置成支持多少個可用連接;如果可用連接的數(shù)量超過預(yù)訂方的數(shù)量,則通過基于連接的協(xié)議將所述通知消息發(fā)送給所述預(yù)訂方節(jié)點(diǎn);以及如果預(yù)訂方節(jié)點(diǎn)的數(shù)量超過可用連接的數(shù)量,則通過多播將所述通知消息發(fā)送給所述預(yù)訂方節(jié)點(diǎn)。
2. 根據(jù)權(quán)利要求l所述的方法,其特征在于,還包括如 果所述發(fā)布方節(jié)點(diǎn)通過多播向所述預(yù)訂方節(jié)點(diǎn)發(fā)送所述通知消 息,則接收來自至少 一 個請求預(yù)訂方節(jié)點(diǎn)的至少 一 個連接請求。
3. 根據(jù)權(quán)利要求l所述的方法,其特征在于,還包括 如果所述發(fā)布方節(jié)點(diǎn)通過多播向所述預(yù)訂方節(jié)點(diǎn)發(fā)送所述通知消息,則接收來自請求預(yù)訂方節(jié)點(diǎn)的連接請求;以及 判斷是否接受所述連接請求。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,判斷是否接 受所述連接請求包括判斷所述發(fā)布方節(jié)點(diǎn)是否配置成支持至少一個附加連接;以及如果所述發(fā)布方節(jié)點(diǎn)配置成支持至少一個附加連接,則接 受所述連接請求。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,如果所述發(fā) 布方節(jié)點(diǎn)未配置成支持至少一個附加連接,則判斷是否接受所 述連接請求包括判斷所述請求預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì)量要求是 否高于至少一個當(dāng)前連接的預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì)量要求。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括如 果所述請求預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì)量要求高于至少 一 個當(dāng)前連接的預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì)量要求,貝'J:終止具有比所述請求預(yù)訂方節(jié)點(diǎn)低的服務(wù)質(zhì)量要求的預(yù)訂 方節(jié)點(diǎn)的當(dāng)前連接;以及開放與所述請求預(yù)訂方節(jié),泉的連接。
7. 根據(jù)權(quán)利要求l所述的方法,其特征在于,還包括當(dāng) 請求與所述發(fā)布方節(jié)點(diǎn)連接的預(yù)訂方節(jié)點(diǎn)的數(shù)量超過所述可用 連接的數(shù)量時,將通過所述基于連接的協(xié)議發(fā)送所述通知消,包, 切換成通過多播發(fā)送所述通知消息。
8. 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述網(wǎng)絡(luò)是 對等網(wǎng)絡(luò)。
9. 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述基于連 接的協(xié)議是TCP/IP。
10. 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述發(fā)布方 節(jié)點(diǎn)是嵌入式系統(tǒng)。
11. 一種用于實(shí)現(xiàn)為網(wǎng)絡(luò)中的通信選擇適當(dāng)傳輸機(jī)制的方 法的發(fā)布方節(jié)點(diǎn),所述發(fā)布方節(jié)點(diǎn)包括處理器;與所述處理器電子通信的存儲器;存儲在所述存儲器中的指令,可執(zhí)行所述指令以實(shí)現(xiàn)包括 以下步驟的方法判斷所述網(wǎng)絡(luò)中的多少個預(yù)訂方節(jié)點(diǎn)預(yù)訂了接收關(guān)于由所 述發(fā)布方節(jié)點(diǎn)保持的數(shù)據(jù)的通知消息;判斷所述發(fā)布方節(jié)點(diǎn)配置成支持多少個可用連接;如果可用連接的數(shù)量超過預(yù)訂方節(jié)點(diǎn)的數(shù)量,則通過基于 連接的協(xié)議將所述通知消息發(fā)送給所述預(yù)訂方節(jié)點(diǎn);以及如果預(yù)訂方節(jié)點(diǎn)的數(shù)量超過可用連接的數(shù)量,則通過多播將所述通知消息發(fā)送給所述預(yù)訂方節(jié)點(diǎn)。
12. 根據(jù)權(quán)利要求ll所述的發(fā)布方節(jié)點(diǎn),其特征在于,還包括如果所述發(fā)布方節(jié)點(diǎn)通過多播向所述預(yù)訂方節(jié)點(diǎn)發(fā)送所 述通知消息,則接收來自至少一個請求預(yù)訂方節(jié)點(diǎn)的至少一個 連接請求。
13. 根據(jù)權(quán)利要求ll所述的發(fā)布方節(jié)點(diǎn),其特征在于,所 述方法還包4舌如果所述發(fā)布方節(jié)點(diǎn)通過多播向所述預(yù)訂方節(jié)點(diǎn)發(fā)送所述 通知消息,則接收來自請求預(yù)訂方節(jié)點(diǎn)的連接請求;以及 判斷是否接受所述連接請求。
14. 根據(jù)權(quán)利要求13所述的發(fā)布方節(jié)點(diǎn),其特征在于,判 斷是否接受所述連接請求包括判斷所述發(fā)布方節(jié)點(diǎn)是否配置成支持至少一個附加連接;以及如果所述發(fā)布方節(jié)點(diǎn)配置成支持至少一個附加連接,則接 受所述連接請求。
15. 根據(jù)權(quán)利要求14所述的發(fā)布方節(jié)點(diǎn),其特征在于,如 果所述發(fā)布方節(jié)點(diǎn)未配置成支持至少一個附加連接,則判斷是 否接受所述連接請求包括判斷所述請求預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì) 量要求是否高于至少一個當(dāng)前連接的預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì)量要 求。
16. —種計算機(jī)可讀介質(zhì),包含用于實(shí)現(xiàn)由網(wǎng)絡(luò)中的發(fā)布 方節(jié)點(diǎn)實(shí)現(xiàn)的、為所述網(wǎng)絡(luò)中的通信選擇適當(dāng)傳輸機(jī)制的方法 的可執(zhí)行指令,所述方法包括判斷所述網(wǎng)絡(luò)中的多少個預(yù)訂方節(jié)點(diǎn)預(yù)訂了接收關(guān)于由所 述發(fā)布方節(jié)點(diǎn)保持的數(shù)據(jù)的通知消息;判斷所述發(fā)布方節(jié)點(diǎn)配置成支持多少個可用連接;如果可用連接的數(shù)量超過預(yù)訂方的數(shù)量,則通過基于連接的協(xié)議將所述通知消息發(fā)送給所述預(yù)訂方節(jié)點(diǎn);以及如果預(yù)訂方節(jié)點(diǎn)的數(shù)量超過可用連接的數(shù)量,則通過多播 將所述通知消息發(fā)送給所述預(yù)訂方節(jié)點(diǎn)。
17. 根據(jù)權(quán)利要求16所述的計算機(jī)可讀介質(zhì),其特征在于, 所述方法還包括如果所述發(fā)布方節(jié)點(diǎn)通過多播向所述預(yù)訂方 節(jié)點(diǎn)發(fā)送所述通知消息,則接收來自至少一個請求預(yù)訂方節(jié)點(diǎn) 的至少一個連接請求。
18. 根據(jù)權(quán)利要求16所述的計算機(jī)可讀介質(zhì),其特征在于, 所述方法還包括如果所述發(fā)布方節(jié)點(diǎn)通過多播向所述預(yù)訂方 節(jié)點(diǎn)發(fā)送所述通知消息,則接收來自請求預(yù)訂方節(jié)點(diǎn)的連接請 求;以及判斷是否接受所述連接請求。
19. 根據(jù)權(quán)利要求18所述的計算機(jī)可讀介質(zhì),其特征在于,判斷是否接受所述連接請求包括判斷所述發(fā)布方節(jié)點(diǎn)是否配置成支持至少一個附加連接;以及如果所述發(fā)布方節(jié)點(diǎn)配置成支持至少一個附加連接,則接 受所述連接請求。
20. 根據(jù)權(quán)利要求19所述的計算機(jī)可讀介質(zhì),其特征在于, 如果所述發(fā)布方節(jié)點(diǎn)未配置成支持至少一個附加連接,則判斷 是否接受所述連接請求包括判斷所述請求預(yù)訂方節(jié)點(diǎn)的服務(wù) 質(zhì)量要求是否高于至少一個當(dāng)前連接的預(yù)訂方節(jié)點(diǎn)的服務(wù)質(zhì)量 要求。
全文摘要
網(wǎng)絡(luò)中的發(fā)布方節(jié)點(diǎn)判斷該網(wǎng)絡(luò)中的多少個預(yù)訂方節(jié)點(diǎn)預(yù)訂了接收關(guān)于由發(fā)布方節(jié)點(diǎn)所保持的數(shù)據(jù)的通知消息。發(fā)布方節(jié)點(diǎn)還判斷發(fā)布方節(jié)點(diǎn)配置成支持多少個可用連接。如果可用連接的數(shù)量超過預(yù)訂方的數(shù)量,則發(fā)布方節(jié)點(diǎn)通過基于連接的協(xié)議將通知消息發(fā)送給預(yù)訂方節(jié)點(diǎn)。如果預(yù)訂方節(jié)點(diǎn)的數(shù)量超過可用連接的數(shù)量,則發(fā)布方節(jié)點(diǎn)通過多播將通知消息發(fā)送給預(yù)訂方節(jié)點(diǎn)。如果發(fā)布方節(jié)點(diǎn)通過多播將通知消息發(fā)送給預(yù)訂方節(jié)點(diǎn),則發(fā)布方節(jié)點(diǎn)可以根據(jù)是否從發(fā)布方可靠接收了通知消息從預(yù)訂方接收一個或多個連接請求。
文檔編號H04L12/18GK101120577SQ20068000467
公開日2008年2月6日 申請日期2006年2月7日 優(yōu)先權(quán)日2005年12月16日
發(fā)明者布賴恩特·伊斯特漢 申請人:松下電工株式會社