采用中央發(fā)現(xiàn)機制的通信設備及相關方法
【專利摘要】公開了采用中央發(fā)現(xiàn)機制的通信設備及相關方法。該通信設備(1)包括一個或多個參與者(10-13),通過端點,各參與者之間可以相互通信,也可以和網(wǎng)絡中其他設備的參與者(21、31)通信,其中該通信設備包括中央發(fā)現(xiàn)控制器(14),其將參與者(10-13、21、31)的發(fā)現(xiàn)信息存儲到存儲器中,以便為網(wǎng)絡中的參與者(10-13)提供中央發(fā)現(xiàn),當中央發(fā)現(xiàn)控制器(14)檢測到第一參與者的端點與第二參與者的端點之間發(fā)生匹配時,則中央發(fā)現(xiàn)控制器(14)通知第一參與者和第二參與者這一匹配。
【專利說明】采用中央發(fā)現(xiàn)機制的通信設備及相關方法
【技術領域】
[0001]本發(fā)明涉及通信設備領域,特別涉及安裝在家庭網(wǎng)絡中、并適于通過與服務提供商的寬帶連接來操作的家庭網(wǎng)關。
【背景技術】
[0002]家庭網(wǎng)關被廣泛用于將消費者家庭中的設備連接到互聯(lián)網(wǎng)或者其他任何廣域網(wǎng)(WAN)。家庭網(wǎng)關采用例如數(shù)字用戶線(DSL)技術,該技術可實現(xiàn)銅線上的高數(shù)據(jù)率傳輸,或者采用光纖寬帶傳輸系統(tǒng),例如光纖到家(FTTH)或者光纖到戶(FTTP)。
[0003]對很多消費者來說,家庭網(wǎng)絡已經(jīng)成為每天生活的一部分。家庭網(wǎng)絡由一系列異構設備組成,這意味著家庭網(wǎng)絡是由不同種類的設備構成的。所有這些設備需要相互通信。多種解決方案可用于這種互連。家庭網(wǎng)絡采用混合的解決方案,例如無線和有線網(wǎng)絡連接。這些設備組合在一起創(chuàng)建了網(wǎng)絡,從而使用戶可以分享信息和控制家里的設備。家里的網(wǎng)絡設備例如包括家庭網(wǎng)關、機頂盒、電視、個人計算機、平板電腦、智能手機、網(wǎng)絡連接存儲(NAS)設備、打印機和游戲機。
[0004]DDS (Data Distribut1n Service for Real-Time Systems,實時系統(tǒng)數(shù)據(jù)分布服務)是由對象管理組織(OMG)制定的一個標準。它描述了一種以數(shù)據(jù)為中心的發(fā)布-訂閱模式的中間件,該中間件可用來建立分布式實時系統(tǒng)。自2004年它被正式采納為OMG的標準以來,它在很多不同行業(yè)中成為了一項普遍應用的技術,例如航空業(yè)、汽車業(yè)、軍工業(yè)等。DDS標準存在一些商業(yè)的和開源的實現(xiàn)。為了使這些不同的DDS實現(xiàn)相互操作,它們必須執(zhí)行另一項OMG標準,叫做實時發(fā)布-訂閱線協(xié)議-DDS互操作線協(xié)議(DDSI)規(guī)范。DDSI指定了 DDS實體(域、參與者、發(fā)布者、訂閱者、讀取者、寫入者、主題等)如何映射到DDSI實體(域、參與者、端點以及可選地,主題),在參與者/端點之間進行交換的消息格式,以及在參與者/端點之間進行消息交換的有效消息序列和用于發(fā)現(xiàn)DDS域中其他參與者和端點的機制。DDS的最新版本是vl.2,實時發(fā)布-訂閱線協(xié)議(DDSI)的最新版本是v2.1,二者均由OMG通過其網(wǎng)站www.0MG.0rg發(fā)布。
[0005]為了實現(xiàn)互操作能力,所有DDS實現(xiàn)必須執(zhí)行簡單發(fā)現(xiàn)協(xié)議(SDP)。該協(xié)議被分成兩個次協(xié)議:
[0006]1.)簡單參與者發(fā)現(xiàn)協(xié)議(STOP):采用SPDP協(xié)議,所有參與者要通過專門為它們工作的域預先定義/預先配置的地址列表來向同域的所有其他參與者宣告自己的存在以及聯(lián)系信息。每個參與者必須監(jiān)測這些地址并且在本地發(fā)現(xiàn)數(shù)據(jù)存儲區(qū)(LDDS)內(nèi)內(nèi)部維護已發(fā)現(xiàn)的參與者連同它們的聯(lián)系信息的列表。
[0007]2.)簡單端點發(fā)現(xiàn)協(xié)議(SEDP):該協(xié)議從通過SPDP獲得的聯(lián)系信息中獲得多個預先定義的“內(nèi)置”發(fā)現(xiàn)端點的存在和聯(lián)系信息。然后,每個參與者會將自己內(nèi)部所有內(nèi)置發(fā)現(xiàn)端點的信息發(fā)布在這些內(nèi)置發(fā)現(xiàn)端點上。此外,當某個端點的配置發(fā)生變化,或者當建立新的端點時,這一信息也會發(fā)布在內(nèi)置發(fā)現(xiàn)端點上。
[0008]參與者通過端點相互通信。參與者的應用程序代碼向被標記為寫入者端點的端點寫數(shù)據(jù),DDSI確保這些數(shù)據(jù)可以被多個被標記為讀取端點的端點閱讀。讀取端點只從與之“匹配”的特定寫入者端點接收數(shù)據(jù)。在以下情況下,兩個端點被稱為匹配:
[0009]1.它們具有一致的類型(讀取端點匹配寫入端點且反之亦然),
[0010]2.它們具有相同的名稱(DDS主題名),
[0011]3.它們處理相同類型的數(shù)據(jù),
[0012]4.它們的服務傳輸質(zhì)量設置相互兼容。
[0013]為實現(xiàn)這一匹配,每個參與者必須保存一份系統(tǒng)中所有可用參與者的所有端點的最新列表于LDDS中。最后,由于參與者的應用程序代碼可以在該參與者中動態(tài)創(chuàng)建新端點,因此這一信息必須無限期保持可用,這是因為新創(chuàng)建的本地端點可能與之前發(fā)現(xiàn)的端點相匹配。
[0014]當DDS域中只有有限數(shù)量的DDS參與者時,或者DDS參與者運行的設備上有充足的存儲器可用時,執(zhí)行SDP協(xié)議的存儲器需求是可以接受的。然而,當域中有很多具有很多端點的DDS參與者時,低存儲器設備就會很快遇到問題。實際上,每臺設備為SDP數(shù)據(jù)使用的存儲器容量是:參與者數(shù)乘以DDS域中的端點總數(shù)乘以存儲單個端點所需存儲器。遺憾的是,很多情況下,參與者通常只關注一小部分的發(fā)現(xiàn)端點。對正確的DDSI操作來說,只需要和參與者自身的本地端點相匹配的端點。對于只有很少匹配端點的“小”參與者而言,存儲所有這些無用的發(fā)現(xiàn)數(shù)據(jù)可能是一個實際的負擔。
[0015]過濾發(fā)現(xiàn)信息的一個樸素的方法是丟棄所有還未關注的信息即可,但這種方法行不通。被發(fā)現(xiàn)的端點/主題信息可能在以后用到。如果參與者和它的同伴的端點創(chuàng)建順序不同,并且參與者比它的同伴慢一些(有意或無意),那么這種情況就可能發(fā)生。那么匹配就不會發(fā)生,通信也不能實現(xiàn)。
[0016]事實上,很多以嵌入式設備為目標的DDS實現(xiàn)只簡單的對這些設備禁用SDP,并且應用靜態(tài)(手動配置)的發(fā)現(xiàn)數(shù)據(jù)來克服存儲器限制。雖然在靜態(tài)配置環(huán)境下,這種方法可適用于有限數(shù)量的端點,但總的來說,它還是繁瑣且易出錯的,并且不允許系統(tǒng)演變,除非系統(tǒng)中所有參與者/設備都進行更改或重新配置以匹配新系統(tǒng)的配置。
[0017]University of Granada (格拉納達大學)的 Javier Sanchez Monedero 在 2OO9年 9 月 14 日發(fā)表的碩士論文“A DDS Discovery Protocol based on Bloom Filters”( 一種基于布隆過濾器的DDS發(fā)現(xiàn)協(xié)議)中描述了幾種DDS發(fā)現(xiàn)機制的優(yōu)點和缺點。
[0018]通用即插即用(UPnP)采用基于因特網(wǎng)協(xié)議的網(wǎng)絡協(xié)議,簡單服務發(fā)現(xiàn)協(xié)議(SSDP),來對網(wǎng)絡服務和UPnP網(wǎng)絡設備的存在信息進行廣告和發(fā)現(xiàn)。當一個設備加入UPnP網(wǎng)絡時,該發(fā)現(xiàn)協(xié)議允許該設備向網(wǎng)絡中的控制節(jié)點廣告其服務。因此,所采用的發(fā)現(xiàn)消息包含該設備的一些基本特性或它的一項服務,例如,它的類型、標識符和指向更多詳細信息的指針。
[0019]US 20120166556公開了基于分布式散列表(DHT)實時發(fā)布訂閱(RTPS)發(fā)現(xiàn)的方法和設備。參與者通過覆蓋網(wǎng)絡的分布式散列表(DHT)中的參與者同伴進行注冊,獲得將被發(fā)現(xiàn)的相關參與者的位置信息,基于所獲得的相關參與者的位置信息通過與相關參與者同伴交換發(fā)現(xiàn)消息來分享相關參與者的實體的信息。
[0020]KR 101157041 公開了通過擴展SPDP(Simple Participant Discovery Protocol,簡單參與者發(fā)現(xiàn)協(xié)議)消息產(chǎn)生周期來降低通信業(yè)務量的DDS監(jiān)測方法。代理單元建立DDS應用的QoS(Quality of Service,服務質(zhì)量)概要以控制通信域。該代理單元管理安裝在每個節(jié)點中的DDS應用,并通過收集DDS應用產(chǎn)生的監(jiān)測消息經(jīng)由DDS庫單元將DDS應用產(chǎn)生的監(jiān)測消息傳送給管理者單元。
【發(fā)明內(nèi)容】
[0021]該通信設備包括一個或多個參與者,通過端點,各參與者之間可以相互通信,也可以和網(wǎng)絡中其他設備的參與者通信,其中通信設備包括一個中央發(fā)現(xiàn)控制器,其在存儲器中存儲著參與者的發(fā)現(xiàn)信息,例如發(fā)現(xiàn)消息提供的發(fā)現(xiàn)信息,用來為網(wǎng)絡中的參與者提供中央發(fā)現(xiàn)。當中央發(fā)現(xiàn)控制器發(fā)現(xiàn)第一參與者的某個端點與第二參與者的某個端點發(fā)生匹配時,則中央發(fā)現(xiàn)控制器(14)通知第一參與者和第二參與者這一匹配。中央發(fā)現(xiàn)控制器作為隱藏的參與者,只響應參與者的發(fā)現(xiàn)數(shù)據(jù),而不響應分布在網(wǎng)絡中有關主題的消息,這是非常有利的。
[0022]在優(yōu)選實施例中,中央發(fā)現(xiàn)控制器對參與者的已發(fā)現(xiàn)端點的發(fā)現(xiàn)信息進行匹配,這些參與者根據(jù)實時系統(tǒng)數(shù)據(jù)分布服務(DDS)在域中設計為中央發(fā)現(xiàn)。中央發(fā)現(xiàn)控制器尤其適于響應于任意參與者的新端點的發(fā)現(xiàn)信息發(fā)出一個參與者的端點信息,并且中央發(fā)現(xiàn)控制器還適于為配置為采用中央發(fā)現(xiàn)的域中的新定義參與者發(fā)出匹配端點信息。另外,中央發(fā)現(xiàn)控制器存儲著接收到的參與者發(fā)現(xiàn)信息,并且當檢測到參與者的任意端點之間發(fā)生匹配時,發(fā)送相關匹配信息給相關參與者。
[0023]本發(fā)明的另一方面,中央發(fā)現(xiàn)控制器設計為通信設備的設備專用中間件的一部分,該設備專用中間件根據(jù)實時系統(tǒng)數(shù)據(jù)分布服務(DDS)來操作。在優(yōu)選實施例中,該通信設備是安裝在家庭網(wǎng)絡中的CPE設備,例如家庭網(wǎng)關。
[0024]在包括相互通信的多個參與者的網(wǎng)絡,例如DDS域中,提供發(fā)現(xiàn)的方法包括以下步驟:在中央發(fā)現(xiàn)控制器中為參與者存儲發(fā)現(xiàn)信息,其中,當中央發(fā)現(xiàn)控制器發(fā)現(xiàn)第一參與者的某個端點與第二參與者的某個端點發(fā)生匹配時,中央發(fā)現(xiàn)控制器會通知第一參與者和第二參與者這一匹配。特別地,每當中央發(fā)現(xiàn)控制器接收到發(fā)現(xiàn)信息,則存儲該信息,并且當發(fā)現(xiàn)參與者的端點之間發(fā)生匹配時,則向操作這些端點的參與者發(fā)送相關發(fā)現(xiàn)信息。
[0025]本發(fā)明的另一方面,當具有與參與者自身的某個端點的匹配時,參與者只存儲另一個參與者某個端點的發(fā)現(xiàn)信息,并舍棄與其端點沒有匹配的端點的發(fā)現(xiàn)信息。
[0026]在優(yōu)選實施例中,該方法包括以下步驟:當?shù)谝粎⑴c者創(chuàng)建端點時,第一參與者發(fā)送帶有該端點發(fā)現(xiàn)信息的發(fā)現(xiàn)消息給網(wǎng)絡中其他參與者及中央發(fā)現(xiàn)控制器;當中央發(fā)現(xiàn)控制器發(fā)現(xiàn)第一參與者的某個端點與第二參與者的某個端點發(fā)生匹配時,則中央發(fā)現(xiàn)控制器通知第一參與者和第二參與者這一匹配,從而第一參與者知曉其端點與第二參與者的端點相匹配,并開啟第一參與者和第二參與者的端點之間的通信。
【專利附圖】
【附圖說明】
[0027]下面通過示意圖舉例詳細說明本發(fā)明的優(yōu)選實施例,其中:
[0028]圖1示出了包括家庭網(wǎng)關的家庭網(wǎng)絡,其中家庭網(wǎng)關包含中央發(fā)現(xiàn)控制器,以及
[0029]圖2示出了在DDS域中的發(fā)現(xiàn)過程流程圖,該DSS域包括兩個參與者和一個中央發(fā)現(xiàn)控制器。
【具體實施方式】
[0030]以下描述了包含中央發(fā)現(xiàn)處理器的通信設備。在優(yōu)選實施例中,該通信設備為適用于通過寬帶將家庭網(wǎng)絡與服務供應商網(wǎng)絡相連接的CPE設備。為說明清楚,實施例中給出了大量具體細節(jié),以便于對實施例有全面的理解。但對本領域的技術人員而言,很明顯,沒有這些具體細節(jié),本發(fā)明也可以實施。
[0031]該CPE設備是例如家庭網(wǎng)關、路由器、交換機或機頂盒,它包括微控制器、存儲著操作系統(tǒng)和應用的非易失性存儲器和用于CPE設備操作的易失存儲器。CPE設備的操作系統(tǒng)是例如LINUX操作系統(tǒng)和CPE設備特有的中間件,它代表設備的執(zhí)行環(huán)境。設備執(zhí)行環(huán)境包括用來提供例如DSL調(diào)制解調(diào)器功能、網(wǎng)關和交換機功能、FXS功能、VoIP功能和W1-Fi操作的軟件組件。
[0032]圖1示出了包括CPE設備I和端點用戶設備的家庭網(wǎng)絡,CPE設備I例如家庭網(wǎng)關,端點用戶設備例如機頂盒2和個人計算機3。CPE設備I包括多個參與者10-13,它們通過通信總線15耦合在CPE設備I中。機頂盒2和個人計算機3,分別包括參與者21和31,與CPE設備I連接并通過通信總線15與其他參與者10-13連接。
[0033]參與者10_13、21和31利用發(fā)布/訂閱消息傳遞,例如通過利用DDS (實時系統(tǒng)的數(shù)據(jù)分布服務),通過端點進行相互通信。CPE設備I包括中央發(fā)現(xiàn)控制器(CDD) 14,用于參與者10-13、21和31及各自端點的發(fā)現(xiàn)。⑶D 14在CPE設備的存儲器中存儲家庭網(wǎng)絡的參與者10-13、21和31及各自端點的發(fā)現(xiàn)消息,包括發(fā)現(xiàn)信息或發(fā)現(xiàn)數(shù)據(jù)。⑶D 14也本地匹配CPE設備I和家庭網(wǎng)絡中的所有被發(fā)現(xiàn)端點,從而為網(wǎng)絡中的參與者10-13、21和31提供了中央發(fā)現(xiàn)。發(fā)現(xiàn)消息可以被理解為元數(shù)據(jù),其與和主題有關的數(shù)據(jù)不同。發(fā)現(xiàn)信息包括特別是家庭網(wǎng)絡參與者及端點的存在和聯(lián)系消息,還包括例如有關參與者和/或端點的類型或任意標識符的信息。在優(yōu)選實施例中,簡單參與者發(fā)現(xiàn)協(xié)議(srop)用于參與者發(fā)現(xiàn),簡單端點發(fā)現(xiàn)協(xié)議(SEDP)用于端點發(fā)現(xiàn)。
[0034]當⑶D 14發(fā)現(xiàn)參與者10_13、21和31的某個端點發(fā)生新的匹配時,⑶D 14會發(fā)送新類型內(nèi)置端點的相關發(fā)現(xiàn)數(shù)據(jù)給被配置為采用中央發(fā)現(xiàn)的有關參與者10-13、21和31。由于⑶D 14會發(fā)送、分別重發(fā)CPE設備I和/或設備2,3中的所有匹配端點的發(fā)現(xiàn)信息給需要這些信息的參與者10-13、21和31,所以對于參與者10-13、21和31自身不具有與之匹配的本地端點的端點,參與者不再需要存儲這些端點的發(fā)現(xiàn)數(shù)據(jù)。這可以有效節(jié)省存儲器。
[0035]設計CPE設備I時,通過采用⑶D 14來讓參與者10-13執(zhí)行改進的中央發(fā)現(xiàn)協(xié)議,以降低CPE設備I的存儲器消耗。為實現(xiàn)這一改進,參與者10-13的DDS/DDSI實現(xiàn)被改進以支持中央發(fā)現(xiàn)。需要注意的是,不是CPE設備I中的所有參與者都需要采用中央發(fā)現(xiàn),因為有可能不能改變CPE設備I中的所有參與者的DDS/DDSI實現(xiàn),并且在一些情況下,由于速度原因或者因為一些參與者關注家庭網(wǎng)絡設備的大部分端點,讓一些/這些參與者不采用中央發(fā)現(xiàn)會更好。進一步,可以在同一個CPE設備I中采用多個DDS/DDSI實現(xiàn)。
[0036]為方便CPE設備I操作,必須先開啟⑶D 14,再開啟采用中央發(fā)現(xiàn)的參與者10-13、21和31。⑶D 14本身也是一個參與者,因此它對內(nèi)部參與者10-13和家庭網(wǎng)絡設備2、3的外部參與者21、31都是可見的。⑶D 14從不宣告其自身的端點,但由于它作為一個額外的參與者對外部可見,所以它能獲得來自CPE設備I的參與者10-13及其他設備2、3的參與者21、31的所有發(fā)現(xiàn)數(shù)據(jù)。CDD 14將所有這些信息存儲在它的本地發(fā)現(xiàn)數(shù)據(jù)存儲區(qū)(LDDS)中,正如每個參與者在不采用中央發(fā)現(xiàn)時通常所做的那樣。
[0037]⑶D 14有額外的中央發(fā)現(xiàn)內(nèi)置端點,這些端點在需要時用于重傳丟失的發(fā)現(xiàn)數(shù)據(jù)給參與者10_13、21和31。這些端點對外部設備和參與者是不可見的,因為如同內(nèi)置發(fā)現(xiàn)端點,它們不被發(fā)布,并且它們與簡單端點發(fā)現(xiàn)協(xié)議(SEDP)和簡單參與者發(fā)現(xiàn)協(xié)議(STOP)使用的端點很類似。
[0038]當參與者10_13、21、31中的一個通過它常規(guī)的內(nèi)置發(fā)現(xiàn)端點收到端點發(fā)現(xiàn)數(shù)據(jù)時,它會試圖將接收到的端點數(shù)據(jù)和它的本地端點匹配:若匹配,則將該信息存儲在它的本地數(shù)據(jù)存儲區(qū),該存儲區(qū)與簡單參與者發(fā)現(xiàn)協(xié)議使用的本地發(fā)現(xiàn)數(shù)據(jù)存儲區(qū)(LDDS)類似;若不匹配,則舍棄該端點信息。這與無中央發(fā)現(xiàn)的情況不同,在無中央發(fā)現(xiàn)的情況下,每個參與者都需要保留這一信息。這就是節(jié)省存儲器的原因。
[0039]如果設備1-3的一個參與者發(fā)布了新的還未被接收的端點數(shù)據(jù),那么⑶D 14將檢測到該情況并執(zhí)行一項附加操作,例如,檢查它的本地數(shù)據(jù)存儲區(qū)是否有與參與者10-13、
21、31的已存在端點的新匹配,當發(fā)現(xiàn)新匹配時,將在⑶D 14的一個端點上為相關參與者發(fā)布本地數(shù)據(jù)存儲區(qū)中的匹配端點信息。
[0040]參與者10_13、21、31互相監(jiān)測發(fā)現(xiàn)端點,正如它們監(jiān)測不采用中央發(fā)現(xiàn)的參與者的常規(guī)發(fā)現(xiàn)內(nèi)置端點一樣。當它們的一個發(fā)現(xiàn)端點接收到數(shù)據(jù)時,它們會試圖將接收到的端點數(shù)據(jù)和它們的本地端點進行匹配,正如在常規(guī)發(fā)現(xiàn)應用中那樣。匹配將被存儲在它的本地發(fā)現(xiàn)數(shù)據(jù)存儲區(qū),不匹配的數(shù)據(jù)被舍棄。
[0041]所述機制確保各參與者關注的所有端點信息都能到達所有參與者10_13、21、31,同時為不使用中央發(fā)現(xiàn)的參與者保持向后兼容。參與者10-13、21、31不關注的信息將不被這些參與者保留。
[0042]因此,配置為采用中央發(fā)現(xiàn)的參與者,如果只關注家庭網(wǎng)絡中可用端點的一個子集,那么它們需要的存儲器空間會大大降低。另外,沒有配置為采用中央發(fā)現(xiàn)的參與者,或者不知道中央發(fā)現(xiàn)機制的參與者,例如采用DDS/DDSI實現(xiàn)的來自其他供應商的參與者,也適用于采用⑶D 14和/或中央發(fā)現(xiàn)參與者的家庭網(wǎng)絡。
[0043]圖2示出了一個實施例,該實施例描述了網(wǎng)絡(例如DDS域)中的發(fā)現(xiàn)過程,該網(wǎng)絡包括兩個參與者P1、P2和一個中央發(fā)現(xiàn)控制器,例如⑶D 14。當網(wǎng)絡開始運行時,⑶D 14創(chuàng)建一個參與者并宣告其存在,此為步驟100。在下一個步驟102中,參與者Pl在網(wǎng)絡中被創(chuàng)建并宣告其存在。CDD 14接收到包含參與者Pl的元數(shù)據(jù)(也就是發(fā)現(xiàn)數(shù)據(jù))的發(fā)現(xiàn)消息,CDD 14存儲參與者的發(fā)現(xiàn)數(shù)據(jù)并再次重新宣告其存在,此為步驟104。參與者Pl接收帶有CDD 14發(fā)現(xiàn)數(shù)據(jù)的消息,參與者Pl存儲CDD 14的發(fā)現(xiàn)數(shù)據(jù),此為步驟106。域中的參與者可能已經(jīng)有指定的用于發(fā)送消息的ID地址,或采用默認單播地址或組播地址來在域中宣告參與者的存在。
[0044]在下一個步驟108中,參與者Pl宣告讀取者信息,以表明參與者Pl將包括作為特定主題讀取者的端點,在步驟110,參與者Pl向⑶D 14發(fā)送包含讀取者信息的消息。在下一個步驟112中,CDD 14將從參與者Pl發(fā)來的讀取者信息存儲在CPE設備I的存儲器中。然后,參與者P2在域中被創(chuàng)建,并通過發(fā)送發(fā)現(xiàn)消息給參與者Pl和CDD 14來宣告存在,此為步驟114。在步驟116中,參與者Pl存儲參與者P2的發(fā)現(xiàn)數(shù)據(jù)并向參與者P2重新宣告其存在,在步驟118中,CDD 14存儲參與者P2的發(fā)現(xiàn)數(shù)據(jù)并向參與者P2重新宣告其存在。在步驟120中,參與者P2存儲參與者Pl和⑶D 14的發(fā)現(xiàn)數(shù)據(jù)。在下一個步驟122中,參與者Pl再次宣告讀取者信息。讀取者信息被發(fā)送給參與者P2,參與者P2舍棄該信息,因為參與者P2沒有匹配的寫入者,此為步驟124。
[0045]在下一個步驟126中,參與者P2創(chuàng)建寫入者端點,在步驟128中,參與者P2將包含有關寫入者信息的發(fā)現(xiàn)消息發(fā)送給參與者Pl和CDD 14。參與者Pl接收參與者P2的寫入者的發(fā)現(xiàn)數(shù)據(jù),識別出寫入者信息與它的讀取者匹配,并存儲相關發(fā)現(xiàn)數(shù)據(jù),此為步驟130。CDD 14也存儲參與者P2讀取者的發(fā)現(xiàn)數(shù)據(jù),并發(fā)現(xiàn)參與者P2寫入者和參與者Pl讀取者的匹配,此為步驟132。
[0046]響應步驟132,⑶D 14發(fā)送參與者P2的寫入者的發(fā)現(xiàn)數(shù)據(jù)給參與者Pl,此為步驟134,并在步驟136舍棄該信息,因為它在步驟130中已經(jīng)收到過這一信息。⑶D 14也發(fā)送參與者Pl的讀取者的發(fā)現(xiàn)數(shù)據(jù)給參與者P2,此為步驟138。參與者P2接收該包含讀取者信息的消息,識別參與者Pl的讀取者與它的寫入者匹配,并相應地存儲參與者Pl的讀取者的發(fā)現(xiàn)信息,此為步驟140。從而參與者P2識別出在域中存在與它的寫入者信息相匹配的讀取者,并開啟與參與者Pl的讀取者通信,此為步驟142。
[0047]該方法通過包含⑶D 14的通信設備I的微控制器執(zhí)行,并且⑶D 14接收的發(fā)現(xiàn)信息被存儲在通信設備I的非易失性存儲器中。
[0048]因此,域中的參與者僅存儲與自己的某個端點發(fā)生匹配的、另一個參與者的某個端點的發(fā)現(xiàn)數(shù)據(jù)。不匹配該參與者的端點的端點發(fā)現(xiàn)數(shù)據(jù)將被舍棄。域中的參與者不僅向其他參與者發(fā)送發(fā)現(xiàn)數(shù)據(jù),也向該域的中央發(fā)現(xiàn)控制器發(fā)送發(fā)現(xiàn)數(shù)據(jù)。中央發(fā)現(xiàn)控制器作為一個隱藏的參與者運作,因為它不發(fā)送和接收有關主題的消息,但被配置為只發(fā)送和接收其他參與者的發(fā)現(xiàn)數(shù)據(jù)。每當中央發(fā)現(xiàn)控制器接收到發(fā)現(xiàn)數(shù)據(jù)時,便存儲該信息,并且當發(fā)現(xiàn)兩個端點發(fā)生匹配時,便發(fā)送相關發(fā)現(xiàn)數(shù)據(jù)給相關參與者。因此,與存儲每個參與者的所有端點的發(fā)現(xiàn)數(shù)據(jù)的發(fā)現(xiàn)方案相比,只關注域中可用端點的小子集的參與者需要的存儲器大大降低。
[0049]在不脫離本發(fā)明范圍的情況下,本領域的技術人員也可以采用本發(fā)明的其他實施例。對于家庭網(wǎng)絡,中央發(fā)現(xiàn)控制器有利地在家庭網(wǎng)關中安置,但是任意其他通信設備,例如CPE設備或任意支持互聯(lián)網(wǎng)的設備,也可以設計成包含中央發(fā)現(xiàn)控制器。本發(fā)明存在于所附權利要求中。
【權利要求】
1.通信設備(I),包括一個或多個參與者(10-13),所述一個或多個參與者(10-13)通過端點進行相互通信及與網(wǎng)絡中其他設備(2、3)的參與者(21、31)通信,其中: 通信設備包括中央發(fā)現(xiàn)控制器(14),所述中央發(fā)現(xiàn)控制器(14)將存儲參與者(10-13、21、31)的發(fā)現(xiàn)信息存儲到存儲器中,以便為網(wǎng)絡中的參與者(10-13、21、31)提供中央發(fā)現(xiàn),并且 當中央發(fā)現(xiàn)控制器(14)檢測到第一參與者的端點和第二參與者的端點之間的匹配時,中央發(fā)現(xiàn)控制器(14)通知第一和第二參與者該匹配。
2.如權利要求1所述通信設備,其中中央發(fā)現(xiàn)控制器(14)對參與者(10-13、21、31)的被發(fā)現(xiàn)端點的發(fā)現(xiàn)信息進行匹配,這些參與者根據(jù)實時系統(tǒng)數(shù)據(jù)分布服務(DDS)在域中設計為中央發(fā)現(xiàn),并且通信設備采用DDS發(fā)送包含發(fā)現(xiàn)信息的發(fā)現(xiàn)消息。
3.如權利要求1或2所述通信設備,其中中央發(fā)現(xiàn)控制器(14)適于響應于任意參與者(10-13、21、31)的新端點的發(fā)現(xiàn)信息發(fā)出參與者(10-13、21、31)之一的端點信息。
4.如權利要求1、2或3所述通信設備,其中中央發(fā)現(xiàn)控制器(14)適于為設備(1-3)的配置為采用中央發(fā)現(xiàn)的新定義參與者(10-13、21、31)發(fā)出匹配端點信息。
5.如上述權利要求之一所述通信設備,其中中央發(fā)現(xiàn)控制器(14)作為隱藏的參與者,只響應發(fā)現(xiàn)信息,不響應關于網(wǎng)絡中分布的主題的消息。
6.如上述權利要求之一所述通信設備,其中中央發(fā)現(xiàn)控制器(14)存儲接收到的參與者(10-13、21、31)的發(fā)現(xiàn)信息,并且當發(fā)現(xiàn)參與者(10-13、21、31)的任意端點之間發(fā)生匹配時,則發(fā)送相關發(fā)現(xiàn)信息給相關參與者。
7.如上述權利要求之一所述通信設備,其中通信設備是安裝在家庭網(wǎng)絡中的CPE設備(I),例如家庭網(wǎng)關,其中中央發(fā)現(xiàn)控制器(14)被設計為CPE設備(I)的設備專用中間件的一部分。
8.在網(wǎng)絡內(nèi)提供發(fā)現(xiàn)的方法,所述網(wǎng)絡包括通過端點彼此通信的多個參與者(10-13、21、31),所述方法包括以下步驟: 在中央發(fā)現(xiàn)控制器(14)中存儲參與者(10-13、21、31)的發(fā)現(xiàn)信息,以便為網(wǎng)絡的參與者(10-13)提供中央發(fā)現(xiàn), 中央發(fā)現(xiàn)控制器(14)檢測第一參與者的端點與第二參與者的端點之間的匹配(132),以及 中央發(fā)現(xiàn)控制器(14)通知第一參與者和第二參與者這一匹配(134、138)。
9.如權利要求8所述方法,其中: 當具有與參與者自身的某個端點的匹配時,參與者只存儲另一個參與者某個端點的發(fā)現(xiàn)信息,并且 舍棄與其端點沒有匹配的端點的發(fā)現(xiàn)信息。
10.如權利要求8或9所述方法,包括以下步驟:每當中央發(fā)現(xiàn)控制器接收到發(fā)現(xiàn)消息時,則存儲發(fā)現(xiàn)消息,并且當檢測到參與者的端點之間發(fā)生匹配時,發(fā)送相關發(fā)現(xiàn)信息給操作這些端點的參與者。
11.如權利要求8、9或10所述方法,包括以下步驟: 當?shù)谝粎⑴c者(P2)創(chuàng)建一個端點時,第一參與者發(fā)送帶有該端點的發(fā)現(xiàn)信息的發(fā)現(xiàn)消息給網(wǎng)絡中其他參與者及中央發(fā)現(xiàn)控制器(14), 當中央發(fā)現(xiàn)控制器(14)發(fā)現(xiàn)第一參與者的某個端點與第二參與者(Pl)的某個端點發(fā)生匹配時,則中央發(fā)現(xiàn)控制器(14)通知第一參與者和第二參與者該匹配,從而第一參與者(P2)知曉其端點與第二參與者的端點相匹配,并且 開啟第一參與者和第二參與者的端點之間的通信。
12.如上述權利要求8-11之一所述方法,其中中央發(fā)現(xiàn)控制器配置為作為隱藏的參與者,不發(fā)送和接收關于主題的消息,但只發(fā)送和接收參與者的發(fā)現(xiàn)信息。
13.如上述權利要求8-12之一所述方法,其中網(wǎng)絡采用發(fā)布/訂閱方式進行消息傳送,例如實時系統(tǒng)數(shù)據(jù)分布服務(DDS)。
14.通信設備(I),包括微控制器和非易失性存儲器,所述通信設備用來執(zhí)行如權利要求8-13之一所述方法。
15.非暫時性可讀計算的的存儲媒介,其上存儲有用于在微控制器上執(zhí)行如權利要求8-13之一所述的方法的指令。
【文檔編號】H04L12/28GK104426728SQ201410421047
【公開日】2015年3月18日 申請日期:2014年8月22日 優(yōu)先權日:2013年8月23日
【發(fā)明者】布魯諾·德·巴斯, 簡·沃特 申請人:湯姆遜許可公司