專利名稱:家庭間設備發現方法和系統的制作方法
技術領域:
本發明涉及網絡家居技術領域,更為具體地,涉及一種與DLNA協議相兼容的家庭間設備發現方法和系統。
背景技術:
隨著信息技術的飛速發展,尤其是互聯網和傳感網(物聯網)技術的迅速發展,3C(計算機、通信、家電)合一的加快,形式多樣的數字化產品如網絡電視、網絡收音機、數字視頻廣播傳輸與接收系統、網絡冰箱、網絡DVD、掌上電腦及智能移動電話等正把人們生活的各個角落融入到網絡中。數字家庭網絡在集成協同環境中把各種計算機、數字電子設備、照明能源控制設備和安全報警控制設備等連接在一起,形成了一個多層次統一的網絡,實現了家庭資源的共享和管理。
從數字家庭網絡內的設備管理角度來看,基于DLNA協議的家庭間設備發現方法按傳輸協議可以劃分為基于SIP和基于VPN協議兩類,現有的家庭間設備發現方法需要建立兩個家庭間網關的直接連接,并且需要對設備發現消息中包含的URL進行改寫,改寫方法為將URL中包含的IP地址和端口號替換為對端家庭有意義的IP和端口號,不同IP地址均替換為對端家庭同一 IP,包含不同IP的URL連接在對端家庭以不同的端口號進行區分,因此通常僅能實現一對一的家庭間設備發現。圖1示出了現有技術中基于DLNA協議的一對一模式下家庭間設備發現過程。如圖1所示,當第一家庭內的DMC (Digital Media Controller,數字媒體控制器)設備或DMP (Digital Media Player,數字媒體播放器)設備需要與第二家庭內的DLNA設備建立連接時,首先需要將含有M-SEARCH字段的請求消息通過本地SSDP代理發送至本地SSDP中繼,然后經由VPN通道中繼該SSDP消息至第二家庭的DSSDP中繼,第二家庭的SSDP中繼再將該請求消息發送至第二家庭的本地SSDP代理,進而發送至第二家庭中的需要建立連接的DMR和DMS,第二家庭中的DMR和DMS根據該請求消息發出的檢索響應再經過同樣的路徑(本地SSDP代理一本地SSDP中繼一VPN隧道一對端家庭的SSDP中繼一對端家庭的SSDP代理)才能到達發出請求消息的DMC或者DMP。可以看出,現有的這種設備發現方法首先需要兩個家庭間建立直接的連接,操作較為復雜,尤其是基于VPN進行連接通信,需要預先進行復雜的配置,用戶體驗不好;另外,現有的這種設備方法通常只能實現一對一的家庭間設備發現,而不能實現多對一或一對多家庭間的設備發現,從而限制了方法的適用范圍。
發明內容
鑒于上述問題,本發明的目的是提供一種能夠實現一對多以及多對一模式的家庭間設備發現的方法和系統。根據本發明的一個方面,提供了一種與DLNA協議相兼容的家庭間設備發現方法,包括建立公網注冊服務器,通過擴展的DLNA協議完成各家庭DMC設備在所述注冊服務器上的注冊,所述注冊服務器中保留有各家庭的DMC設備的注冊信息;第一 DMC設備從所述注冊服務器獲取對端家庭的在線DMC設備列表,并根據所述列表向所述注冊服務器請求檢索所述列表中的第二 DMC設備信息;所述對端家庭的第二 DMC設備根據所述注冊服務器轉發的檢索請求獲取本地家庭內的DMS或者DMR設備的響應,并將所述響應返回所述注冊服務器;注冊服務器將收到的響應返回給第一 DMC設備;其中,所述擴展的DLNA協議定義了 DMC設備上下線通告消息、DMC設備描述文件以及DMC服務描述文件。根據本發明的另一方面,提供了一種與DLNA協議相兼容的家庭間設備發現系統,所述系統通過公網注冊服務器實現分屬于不同家庭的第一 DMC設備對第二 DMC設備的發現,其中,所述注冊服務器中保留有各家庭 的DMC設備的注冊信息,所述注冊信息由各家庭DMC設備通過擴展的DLNA協議在所述注冊服務器上的注冊完成;所述第一 DMC設備從所述注冊服務器獲取對端家庭的在線DMC設備列表,并根據所述列表向所述注冊服務器請求檢索所述列表中的第二 DMC設備信息;所述對端家庭的第二 DMC設備根據所述注冊服務器轉發的檢索請求獲取本地家庭內的DMS或者DMR設備的響應,并將所述響應返回所述注冊服務器;注冊服務器將收到的響應轉發給第一 DMC設備;其中,所述擴展的DLNA協議定義了DMC設備上下線通告消息、DMC設備描述文件以及DMC服務描述文件。本發明提供的針對廣域網的環境,對DLNA協議在設備注冊、設備查詢、設備檢索以及服務訂閱方面進行了擴展,實現了一對多模式的家庭間的設備發現。與現有技術相比,本發明在以下方面具有優勢(I)更大的適用范圍。現有方法通常只能實現一對一的家庭間設備發現,而本方法可以實現以一對多的模式同時發現多個對端家庭內的DLNA設備,進一步擴大了 DLNA協議的適用范圍;(2)良好的用戶體驗。現有方法需要在兩個家庭間建立直接的連接,操作較為復雜,尤其是基于VPN進行連接通信,需要預先進行復雜的配置,用戶體驗不好;而本發明提出的家庭間設備發現方法和系統不需要復雜的額外配置,提升了操作的簡易性與用戶體驗;(3)良好的擴展性。現有方法需要對端家庭的代理服務器同時監聽多個端口(Port),增加了代理服務器的負擔,擴展性不好,也增加了“端口占用”沖突的概率;同時,當家庭內增加新的DLNA設備時,需要與對端家庭的代理服務器協商增加新的監聽端口,額外增加了家庭間設備發現的成本;而對于本發明提出的家庭間設備發現的方法和系統,當家庭增加新的DLNA設備或提供的服務發生變化時,對端家庭可以通過設備查詢和服務訂閱自動獲得這些變更,進一步降低了家庭間設備依賴的耦合性,具有良好的擴展性。為了實現上述以及相關目的,本發明的一個或多個方面包括后面將詳細說明并在權利要求中特別指出的特征。下面的說明以及附圖詳細說明了本發明的某些示例性方面。然而,這些方面指示的僅僅是可使用本發明的原理的各種方式中的一些方式。此外,本發明旨在包括所有這些方面以及它們的等同物。
通過參考以下結合附圖的說明及權利要求書的內容,并且隨著對本發明的更全面理解,本發明的其它目的及結果將更加明白及易于理解。在附圖中
圖1為現有技術中基于DLNA協議的一對一模式下家庭間設備發現過程示意圖;圖2為根據本發明實施例的家庭間設備發現方法的流程圖;圖3為根據本發明實施例的一對多模式的家庭間設備發現過程示意圖;圖4為根據本發明實施例的DMC設備注冊流程示意圖;圖5為根據本發明實施例的家庭間設備檢索流程示意圖;
圖6為根據本發明實施例的DMC設備服務訂閱流程示意圖;圖7為根據本發明實施例的家庭間設備發現系統的方框示意圖。在所有附圖中相同的標號指示相似或相應的特征或功能。
具體實施例方式在下面的描述中,出于說明的目的,為了提供對一個或多個實施例的全面理解,闡述了許多具體細節。然而,很明顯,也可以在沒有這些具體細節的情況下實現這些實施例。在其它例子中,為了便于描述一個或多個實施例,公知的結構和設備以方框圖的形式示出。以下將結合附圖對本發明的具體實施例進行詳細描述。在本發明下述實施例所涉及的概念中,DLNA設備是DMC設備、DMR設備以及DMS設備的統稱。圖2示出了根據本發明實施例的家庭間設備發現方法的流程圖。如圖2所示,本發明提供的家庭間設備發現方法,包括如下步驟S210 :建立公網注冊服務器,通過擴展的DLNA協議完成各家庭DMC設備在注冊服務器上的注冊,注冊服務器保存各家庭的DMC設備的注冊信息;S220 :第一 DMC設備從注冊服務器獲取對端家庭的在線DMC設備列表,并根據該列表向注冊服務器請求檢索列表中的第二 DMC設備信息;S230 :對端家庭的第二 DMC設備根據注冊服務器轉發的檢索請求獲取本地家庭內的DMS (數字媒體服務器)或者DMR (數字媒體渲染器)設備的響應,并將該響應返回所述注冊服務器;S240 :注冊服務器將收到的響應返回給第一 DMC設備。通過圖2所示的流程可以看出,本發明的實現依賴于公網上的DLNA注冊服務器的建立,建立了注冊服務器后,每個家庭的DMC(Digital MediaController,數字媒體控制器)設備都可以向該注冊服務器注冊,通過擴展DLNA協議,實現DLNA協議下DMC設備的注冊與查詢,以及DMC設備發現消息在廣域網的傳輸,從而實現了對端家庭間DMC設備的發現。本方法借助于建立在公網上的注冊服務器,能夠實現以一對多的模式同時發現多個對端家庭內的DMC設備,進一步擴大了 DLNA協議的適用范圍。圖3示出了根據本發明實施例的一對多模式的家庭間設備發現過程。如圖3所示,借助于建立在公網上的注冊服務器,一個家庭內DMC設備通過注冊服務器發現兩個對端家庭DMR (數字媒體渲染器)或DMS設備的過程包括四個階段,分別為設備注冊、設備查詢、設備檢索與服務訂閱,這些階段相輔相成,互為依托,其中設備注冊是設備查詢的基礎,而設備查詢是設備檢索和服務訂閱的基礎,以下分別對此展開論述。設備注冊按照DLNA協議,DMC設備上下線時,不需要對外發布上下線通告,為實現一對多模式的家庭間DMC設備的發現,首先建立用于公網設備注冊的注冊服務器,然后通過擴展的DLNA協議,完成各家庭DMC設備在服務器上的注冊。其中,擴展的DLNA協議定義了 DMC設備上下線通告消息、DMC設備描述文件以及DMC服務描述文件。圖4示出了根據本發明實施例的DMC設備注冊的具體流程。如圖4所示,DMC設備上線(步驟S410)后,首先需要與注冊服務器建立websocket連接(步驟S420),如果連接成功,則DMC設備發布上線通告消息給注冊服務器(步驟S430),注冊服務器解析通告消息并獲取該DMC設備的DMC設備描述文件(步驟S440),然后,注冊服務器解析DMC設備描述文件,并獲取DMC服務描述文件(步驟S450),進而解析DMC服務描述文件,完成注冊(步驟S460),最后輸出結果,結束注冊過程(步驟S470)。
通過上述注冊過程,注冊服務器保留了各家庭DMC設備的注冊信息,從而使得將設備檢索消息同時發往多個家庭成為可能,而這個過程并不需要用戶的手動配置。上述對DLNA協議進行的擴展,包括定義DMC設備上下線通告消息、DMC設備描述文件以及DMC服務描述文件。其中,DMC設備上下線通告消息定義如下〈notify〉〈name〉設備名字〈/name〉〈cache-control〉設備超時時間〈/cache-control〉<location>URL</location><USN> 設備的 UUID: :1p: port</USN><type>alive 或 byebye〈/type>〈/notify〉上述消息中,“設備的UUID”是由DLNA協議定義的,為確保在廣域網的唯一性,擴展為“設備的UUID::1p:p0rt”作為該設備在注冊服務器注冊時的唯一標識。其中〈type〉字段的值表明了消息類型,值若為“alive”表明是上線,值若為“byebye”表明是下線。注冊服務器若收到下線消息,將相應DMC從注冊列表中刪除即可。注冊服務器在收到DMC通過websocket發送的上線通告消息之后,對該通告消息進行解析,獲得設備的URL,該URL唯一標識了設備描述文件,然后注冊服務器發送以下消息獲取DMC設備描述文件<getDevice><location>URL</location></getDevice>DMC設備收到上述消息后,將DMC設備描述文件發送給注冊服務器。但在現有的DLNA協議中,僅對DMR和DMS定義了設備描述文件,設備描述文件的格式如下(以下僅列出了 DLNA定義的關鍵字段)< xml version="l. 0" >〈root xmlns=//urn: schemas-upnp-org: device-l-CO<specVersion>〈major〉I〈/major〉<minor>0</minor>
</specVersion>〈URLBase〉所有相對 URL 的前綴〈/URLBase〉〈device〉<deviceType>urn:schemas-upnp-org:device:deviceType:v</deviceType><friendlyName> 設備名稱〈/friendlyName〉…<UDN>uuid:UUID</UDN><iconList>〈icon〉<mimetype> 圖標格式〈/mimetype〉〈width〉圖標寬度〈/width〉〈height〉圖標高度〈/height〉〈depth〉顏色深度〈/depth〉<url> 圖標 URL〈/url>〈/icon〉…</iconList〉<serviceList>〈service〉<serviceType>urn:schemas-upnp-org:service:serviceType:v</serviceType><serviceId>urn:upnp-org:serviceld:serviceID</serviceld>〈SCPDURL〉服務描述文件 URL〈/SCPDURL><controlURL> 控制 URL</controlURL><eventSubURL> 事件訂閱 URL〈/eventSubURL></service)</serviceList>…<deviceList></deviceList><presentationURL> 用于展現的 URL〈/presentationURL>〈/device〉〈/root〉
由于現有的DLNA協議沒有針對DMC定義DMC設備描述文件,為實現家庭間的設備發現,本發明對現有的DLNA協議定義的設備描述文件格式進行修改,在擴展的DLNA協議中額外定義DMC設備描述文件,具體包括I)、在〈deviceType〉字段,增加DMC設備類型;2)、DMC是控制設備,因此刪除〈controlURL〉字段;3)、<presentationURL>標識的URL通常只對局域網有意義,因此刪除該字段;4)、〈eventSubURL>字段,雖然事件訂閱URL仍然保留,但其作用已經發生變化,對于DMR和DMS而言,可以通過該字段獲得自身所提供服務相關變量的變更通知,而對于DMC而言,注冊服務器通過該字段向DMC訂閱事件通知后,若家庭內DMR或DMS發出上線通告消息,則注冊服務器可以收到DMC轉發的通告消息,具體消息格式將會在面的實施例表述中
全A屮
口 ED ο注冊服務器收到DMC發送的設備描述文件之后,解析提取出〈serviceld〉和〈SCPDURL〉字段,然后發送注冊服務獲取消息給DMC,消息格式定義如下<getService>
〈SCPDURL〉服務描述文件 URL〈/SCPDURL></getService>DMC收到該消息后,將DMC服務描述文件發送給注冊服務器。同樣,現有的DLNA協議中沒有針對DMC定義服務描述文件,在本發明的一個具體實施方式
中,在保證與DLNA協議兼容的情況下,對DLNA協議進行了擴展,定義DMC服務描述文件格式如下< xml version="l. 0" ><scpd xmlns=//urn: schemas-upnp-org: service-lO<specVersion>〈major〉I〈/major〉<minor>0</minor></specVersion><actionList>〈action〉<name>GetDeviceList</name><argumentList><argument><name>deviceType</name>〈direction〉in〈/direction)<reIatedStateVariabIe>deviceTypeInfo</reIatedStateVariabIe></argument)<argument><name>deviceList</name>〈direction>out〈/direction〉<reIatedStateVariabIe>deviceListInfo</reIatedStateVariabIe></argument〉</argumentLi st>〈/action〉〈action〉<name>SearchDevice</name>〈argumentLi st>〈argument〉<name>deviceType</name>
〈direction〉in〈/direction〉<reIatedStateVariabIe>deviceTypeInfo</reIatedStateVariabIe></argument〉〈argument〉<name>deviceList</name>〈direction>out〈/direction)
<reIatedStateVariabIe>deviceListInfo</reIatedStateVariabIe></argument〉〈argument〉<name>max_time</name><direction>in</direction〉<reIatedStateVariabIe>timeInfo</reIatedStateVariabIe></argument〉</argumentLi st>〈/action〉</actionList><serviceStateTable><stateVariable sendEvents="no"><name>deviceTypeInfo</name><dataType>string</dataType〉</stateVariable>〈stateVariable sendEvents=〃yes〃><name>deviceListInfo</name><dataType>string</dataType〉</stateVariable〉〈stateVariable sendEvents=〃no〃><name>timeInfo</name><dataType>time</dataType〉</stateVariable)</serviceStateTable></scpd>在上述DMC服務描述文件中,定義了 GetDeviceList和SearchDevice兩個action,其中,對于GetDeviceList,其參數為urn:schemas-upnp-org:device:MediaRender 或urn:schemas-upnp-org:device:MediaServer用于獲取對端家庭內DMC已經發現的DMR或DMS設備的列表;對于SearchDevice,其參數為“urn:schemas-upnp-org:device:MediaRender 或urn:schemas-upnp-org:device:MediaServer
用于搜索對端家庭內DMR或DMS設備的列表。注冊服務器通過對GetDeviceList的調用,獲得當前DMC設備已知的DMR或DMS設備列表,具體是哪種設備列表,取決于調用參數deviceType。注冊服務器通過對后者的調用,可以讓DMC設備發出搜索消息,且該搜索的有效期為maX_time,在該有效期內發現的DMR或DMS設備列表都將被反饋給服務器。在服務狀態變量中,deviceListlnfo變量的sendEvents屬性值為“yes”,表明注冊服務器可以訂閱該變量,如果該變量被訂閱,則家庭內任何DMR或DMS上下線的通告消息都將由DMC設備轉發給注冊服務器。注冊服務器在獲取服務描述文件之后,將DMC設備提供的DMC設備描述信息和DMC服務描述信息在注冊服務器進行注冊。DMC設備在向對端家庭發送設備檢索消息之前,首先需要向注冊服務器發送設備查詢消息,以從注冊服務器獲得對端家庭在線DMC的設備列表。其中,DMC設備查詢消息的格式定義如下〈message〉<action>getOnlineDevice</action〉〈/message〉注冊服務器收到上述消息后,向DMC返回當前在線的對端家庭的DMC或DMP設備列表消息,列表中包含對應設備的<USN>字段及其服務描述信息(見前述的DMC服務描述文件),消息格式定義如下〈message〉<deviceList>〈device〉<USN> 設備的 UUID: :1p: port</USN><serviceDescription> 服務描 述信息〈/serviceDescription〉〈/device〉〈device〉......〈/device〉</deviceList>〈/message〉DMC設備上線之后,首先需要從注冊服務器獲得當前在線的對端家庭DMC設備列表,然后向注冊服務器發送設備檢索消息,該消息中包括需要檢索的對端家庭DMC設備的USN值,以及需要執行的服務操作(action)的名字及相應參數。注冊服務器收到檢索消息后,匹配其中的USN字段,根據USN字段的值將消息轉發給對端家庭的DMC設備,對端家庭DMC收到檢索消息后,從中剝離出M-SEARCH消息,并多播來自對端家庭的SSDPM-SEARCH消息,并且獲取本地家庭內DMS或DMR設備的響應,之后將響應發送給注冊服務器。每當收到來自對端家庭的檢索響應后,注冊服務器負責將響應轉發給設備檢索DMC。圖5示出了根據本發明實施例的家庭間設備檢索流程示意圖,如圖5所示,首先,DMC設備獲取對端家庭在線DMC設備列表(步驟S510);然后,DMC設備從該設備列表中選擇對端家庭的DMC設備,并通過注冊服務器發送針對該DMC設備(對端家庭的)的檢索消息(步驟S520);對端家庭收到檢索消息后,剝離M-SEARCH消息(步驟S530);判斷是否為SearchDevice 調用(步驟 S540)。如果是SearchDevice調用,則進入步驟S550 :對端家庭多播M-SEARCH消息,并將檢索響應返回給注冊服務器;反之,如果不是SearchDevice調用,則進入步驟S560 :對端家庭返回已知的DMR或者DMS設備列表給注冊服務器。最后,服務器將從對端家庭接收的檢索響應轉發給提出檢索請求的DMC設備(步驟 S570)。在上述流程中,需要對DLNA定義的SSDP M-SEARCH設備檢索消息進行擴展,增加如下三個字段REM0TE-H0ME、SERVICE-ACTION 和 SERVICE-PARAMETERS,這三個字段是可選的,擴展后的消息格式如下
M_SEARCH*HTTP/1 · IHOST:239. 255. 255. 250:1900MAN:"ssdp:discover"MX:seconds to delay responseST:search targetUSER-AGENT:OS/version UPnP/1.1 product/versionREMOTE-HOME:對端家庭 USN 列表SERVICE-ACTI ON: GetDeviceList 或者 SearchDevice SERVICE-PARAMETERS:deviceType;max-time 或 deviceType對于上述擴展的三個字段,其用法說明如下(I)家庭內的DMR或DMS在解析收到的M-SEARCH消息時,應該忽略上述擴展的三個字段;(2)若DMC僅檢索家庭內的DMR或DMS設備,則M-SEARCH消息中需要忽略上述擴展的三個字段;(3)若DMC需要檢索對端家庭內的DMR或DMS設備,則必須附帶上述三個字段,并將M-SEARCH消息發往服務器,注冊服務器解析該消息,提取REMOTE-HOME字段的值,匹配當前在線的對端家庭DMC設備,根據匹配的結果,將檢索消息發送給相應的DMC設備。DMC設備收到消息后,根據SERVICE-ACTI0N字段的值,調用相關的服務操作,若為GetDeviceList操作,則返回當前已知的DMR或DMS設備,若為SearchDevice,則在家庭內多播SSDP M-SEARCH消息,并且獲取本地家庭內DMS或DMR設備的響應,之后將響應發送給注冊服務器,多播消息的有效期為max-time。另外,在本發明的一個優選實施方式中,DMC設備還可以訂閱對端家庭內DMC設備提供的服務變量,根據DMC服務描述文件,可進行事件訂閱的變量為deviceListlnfo。如果訂閱了 deviceListlnfo,則當對端家庭內有DMR或DMS上下線時,多個對端家庭內的DMC也會收到相應的上下線通告。圖6示出了根據本發明實施例的DMC設備服務訂閱流程。如圖6所示,根據本發明實施例的DMC設備服務訂閱流程包括如下步驟S610 =DMC設備獲取對端家庭在線DMC設備列表,獲得事件定閱URL ;
S620 :從DMC設備列表中選擇DMC設備,通過注冊服務器發送DMC設備訂閱消息;S630 :對端家庭收到訂閱消息,將訂閱者添加至訂閱者列表中;S640 :當有DMR/DMS上下線時,檢測訂閱者列表及其max-time是否超時,max-time是請求的訂閱有效時間;如果超時,則進入步驟S650,否則,進入步驟S660 ;S650 :刪除超時的訂閱者;S660 :將上述上下線通告通過注冊服務器轉發給訂閱者;S670 :處理結束。在上述流程中,需要對DLNA協議定義的事件訂閱消息格式,以及上下線通告消息格式進行擴展,以使得一個家庭可以同時訂閱多個對端家庭內的服務,也可以使得上下線通告消息可以同時被多個對端家庭收到。以下分別對事件訂閱消息和上下線消息展開論 述。現有的DLNA協議中定義的事件訂閱消息格式如下SUBSCRIBE 事件 URL HTTP/1.1HOST:服務所在主機服務所在主機的端口號CALLBACKS服務提供者向訂閱者發送消息時采用的URL>NT:upnp:eventTIMEOUT: Second-請求的訂閱有效時間該消息中CALLBACK字段的值是一個絕對形式的URL。注冊服務器要發送事件通知消息時,會向該URL發送HTTP POST請求,將事件消息的內容傳遞給訂閱者。然而對于跨家庭的服務訂閱而言,HOST和CALLBACK字段沒有意義,因此,在本發明實施例提供的擴展的 DLNA 協議中,增加了 REMOTE-HOME、STATEVARIABLE 和 LOCAL-HOME 字段,刪除了 HOST 和CALLBACK字段,更改后的消息訂閱格式如下SUBSCRIBE 事件 URL HTTP/1.1REMOTE-HOME:對端家庭 USN 列表STATEVARIABLE:訂閱的服務變量NT:upnp:eventTIMEOUT: Second-請求的訂閱有效時間LOCAL-HOME:本家庭內 DMC 的 USN其中TIMEOUT的值對應圖6中的max-time。注冊服務器在收到訂閱消息后,根據REMOTE-HOME字段的值,匹配相應在線的對端家庭DMC (可能有多個),并將訂閱消息轉發給對端家庭DMC。對于DMR或DMS的上下線通告消息而言,當對端家庭內DMR或DMS上下線時,會發出上下線通告,現有的DLNA協議定義的上下線通告格式為NOTIFY相TTP/1.1HOST: 239. 255. 255. 250:1900CACHE-CONTROL: max-age=設備超時時間LOCATION:設備描述文件URLNT:檢索目標NTS:ssdp:alive 或 ssdp:byebye
SERVER:操作系統/版本UPnP/1. O產品/版本USN:設備的 UUID家庭內的DMC設備收到上線通告后,會附加上自身的USN以及訂閱者的USN,然后由注冊服務器轉發給仍在有效訂閱期內的訂閱者。其中訂閱者的USN對應訂閱消息中的LOCAL-HOME字段,DMC設備自身的USN對應上線消息中的LOCAL-HOME字段,訂閱者收到的上線消息為擴展后的通告消息,其格式為N0TIFY*HTTP/1.1HOST:239. 255. 255. 250:1900CACHE-CONTROL: max-age=設備超時時間
LOCATION:設備描述文件URLNT:檢索目標NTS:ssdp:alive 或 ssdp:byebyeSERVER:操作系統/版本UPnP/1. O產品/版本USN:設備的 UUIDREMOTE-HOME:訂閱者 USNLOCAL-HOME:本家庭內 DMC 的 USN如上參照附圖和具體實施方式
描述了根據本發明的家庭間設備發現方法,相應地,本發明還提供一種與該方法想對應的家庭間設備發現系統。圖7示出了根據本發明實施例的家庭間設備發現系統700的方框示意圖。如圖7所示,家庭間設備發現系統700包括設立在公網的注冊服務器710和至少兩個家庭間的設備,家庭間設備發現系統700通過注冊服務器710實現分屬于不同家庭的第一 DMC設備720對第二 DMC設備730的發現,其中,注冊服務器710中保留有各家庭的DMC設備的注冊信息,該注冊信息由各家庭DMC設備通過擴展的DLNA協議在所述注冊服務器上注冊完成;第一 DMC設備720從注冊服務器710獲取對端家庭的在線DMC設備列表,并根據該列表向注冊服務器710請求檢索列表中的第二 DMC設備730信息;對端家庭的第二 DMC設備730根據注冊服務器710轉發的檢索請求獲取本地家庭內的DMS或者DMR設備的響應,并將所獲取的響應返回所述注冊服務器710 ;注冊服務器將收到的所述響應返回給第一DMC設備;其中,擴展的DLNA協議定義了 DMC設備上下線通告消息、DMC設備描述文件以及DMC服務描述文件。如上參照附圖以示例的方式描述根據本發明的家庭間設備發現方法和系統。但是,本領域技術人員應當理解,對于上述本發明所提出的家庭間設備發現方法和系統,還可以在不脫離本發明內容的基礎上做出各種改進。因此,本發明的保護范圍應當由所附的權利要求書的內容確定。
權利要求
1.一種家庭間設備發現方法,包括建立公網注冊服務器,通過擴展的DLNA協議完成各家庭DMC設備在所述注冊服務器上的注冊,所述注冊服務器中保留有各家庭的DMC設備的注冊信息;第一 DMC設備從所述注冊服務器獲取對端家庭的在線DMC設備列表,并根據所述列表向所述注冊服務器請求檢索所述列表中的第二 DMC設備信息;所述對端家庭的第二 DMC設備根據所述注冊服務器轉發的檢索請求獲取本地家庭內的DMS或者DMR設備的響應,并將所述響應返回所述注冊服務器;所述注冊服務器將收到的所述響應返回給第一 DMC設備;其中,所述擴展的DLNA協議定義了 DMC設備上下線通告消息、DMC設備描述文件以及DMC服務描述文件。
2.如權利要求1所述的家庭間設備發現方法,其中,在所述擴展的DLNA協議中,所述DMC設備上下線通告消息定義了上下線的DMC設備的名稱、URL以及所述DMC設備在所述注冊服務器注冊時的唯一標識;所述DMC設備描述文件由所述DMC設備的URL唯一標識,在所述DMC設備描述文件的 〈deviceType〉字段中增加了 DMC 設備類型,刪除了〈controlURL〉字段、〈presentationURL〉 字段,以及將〈eventSubURL〉字段定義為向訂閱事件通知的注冊服務器發送DMC設備轉發的通告消息;所述DMC服務描述文件定義了 GetDeviceList和SearchDevice兩個行為,所述注冊服務器通過對所述GetDeviceList的調用獲得當前DMC設備已知的DMR或DMS設備列表, 所述注冊服務器通過對所述SearchDevice的調用讓所述DMC設備發出具有有效期的搜索消息;以及,在所述有效期內發現的DMR或DMS設備列表被反饋給所述注冊服務器;所述注冊服務器在獲取所述DMC服務描述文件之后,將所述DMC設備提供的設備描述信息和服務描述信息在所述注冊服務器進行注冊。
3.如權利要求2所述的家庭間設備發現方法,其中,通過擴展的DLNA協議完成各家庭 DMC設備在所述注冊服務器上的注冊的過程包括所述DMC設備在與所述注冊服務器建立連接后向所述注冊服務器發布DMC設備上線通告消息;所述注冊服務器根據對所述上線通告消息的解析獲取所述DMC設備的DMC設備描述文件;所述注冊服務器根據對所述DMC設備描述文件的解析獲取所述DMC設備的DMC服務描述文件;所述注冊服務器根據對所述DMC服務描述文件的解析完成所述DMC設備的注冊。
4.如權利要求2所述的家庭間設備發現方法,其中,所述DMC設備上下線通告消息的定義如下<notify>〈name〉設備名字〈/name〉<cache-control> 設備超時時間〈/cache_control><location>URL</location><USN> 設備的 UUID: :1p:port〈/USN></notify>其中,所述“設備的UUID: :1p:p0rt”為所述設備在所述注冊服務器注冊時的唯一標識。
5.如權利要求2所述的家庭間設備發現方法,其中,所述注冊服務器根據對所述DMC設備描述文件的解析獲取所述DMC設備的DMC服務描述文件的過程包括所述注冊服務器收到所述DMC設備發送的DMC設備描述文件之后,解析提取出 <serviceld>和〈SCPDURL〉字段,然后發送如下格式的服務獲取消息給所述DMC設備 <getService>〈SCPDURL〉服務描述文件 URL〈/SCPDURL>〈controlURL〉控制 URL〈/controlURL></getService>所述DMC設備根據收到的服務獲取消息后發送所述DMC服務描述文件給所述注冊服務器。
6.如權利要求2所述的家庭間設備發現方法,其中,所述DMC設備上下線通告消息還定義了設備超時時間。
7.如權利要求2所述的家庭間設備發現方法,其中,所述第一DMC設備向所述注冊服務器請求檢索第二 DMC設備信息的過程中,所述第一 DMC設備向所述注冊服務器發送的設備檢索消息包括所述第二 DMC設備的USN值;以及所述注冊服務器需要執行的服務操作,所述服務操作的名字和參數在所述第二 DMC設備提供的服務描述文件中有描述,至少包括以下操作(1)“GetDeviceList,,服務操作,其參數為“urn: schemas-upnp-org: device:MediaRen der”或“urn: schemas-upnp-org: device:MediaServer”,用于獲取對端家庭內 DMC 已經發現的DMR或DMS設備的列表;(2)“SearchDevice,,服務操作,其參數為“urn: schemas-upnp-org: device:MediaRend er”或“urn: schemas-upnp-org: device:MediaServer”,用于搜索對端家庭內 DMR 或 DMS 設備的列表。
8.如權利要求7所述的家庭間設備發現方法,其中,所述DMC設備通過訂閱對端家庭內 DMC設備提供的對端家庭內DMC的服務變量獲取對端家庭內有DMR或DMS上下線時的上下線通告。
9.如權利要求8所述的家庭間設備發現方法,其中,所述對端家庭內DMC設備在收到家庭內的上下線通告后,附加上自身的USN以及訂閱者的USN,然后由所述注冊服務器轉發給有效訂閱期內的訂閱者。
10.一種家庭間設備發現系統,所述系統通過公網注冊服務器實現分屬于不同家庭的第一 DMC設備對第二 DMC設備的發現,其中,所述注冊服務器中保留有各家庭的DMC設備的注冊信息,所述注冊信息由各家庭DMC 設備通過擴展的DLNA協議在所述注冊服務器上的注冊完成;所述第一 DMC設備從所述注冊服務器獲取對端家庭的在線DMC設備列表,并根據所述列表向所述注冊服務器請求檢索所述列表中的第二 DMC設備信息;所述對端家庭的第二 DMC設備根據所述注冊服務器轉發的檢索請求獲取本地家庭內的DMS或者DMR設備的響應,并將所述響應返回所述注冊服務器;所述注冊服務器將收到的所述響應返回給第一 DMC設備;其中,所述擴展的DLNA協議定義了 DM C設備上下線通告消息、DMC設備描述文件以及DMC服務描述文件。
全文摘要
本發明提供了一種家庭間設備發現方法和系統,其中的方法包括建立公網注冊服務器,通過擴展的DLNA協議完成各家庭DMC設備在注冊服務器上的注冊,注冊服務器中保留有各家庭的DMC設備的注冊信息;第一DMC設備從注冊服務器獲取對端家庭的在線DMC設備列表,并根據列表向注冊服務器請求檢索列表中的第二DMC設備信息;對端家庭的第二DMC設備根據注冊服務器轉發的檢索請求獲取本地家庭內的DMS或者DMR設備的響應,并將響應返回所述注冊服務器;其中,擴展的DLNA協議定義了DMC設備上下線通告消息、DMC設備描述文件以及DMC服務描述文件。本發明實現了一對多模式的家庭間的設備發現。
文檔編號H04L12/28GK103001959SQ20121049887
公開日2013年3月27日 申請日期2012年11月29日 優先權日2012年11月29日
發明者張騫, 趙立軍, 劉錚, 楊明, 劉婕妤, 包蕊 申請人:東軟集團股份有限公司