專利名稱:發(fā)送和接收關(guān)于UPnP事件的信息的方法和設備的制作方法
技術(shù)領域:
本發(fā)明的各方面涉及通用即插即用(UPnP)標準,更具體地說,涉及一種高效地發(fā)送和接收關(guān)于UPnP事件的信息的方法和設備。
背景技術(shù):
由于個人計算機(PC)可自動識別使用即插即用功能的外圍設備,因此用戶可容易地安裝外圍設備。UPnP是一種在網(wǎng)絡上擴展即插即用功能的技術(shù),其允許當裝置(PC、外圍設備、家電等)連接到網(wǎng)絡時自動識別彼此。根據(jù)UPnP標準,網(wǎng)絡裝置大致分為受控裝置(CD)和控制點(CP)。僅被稱為裝置的CD提供服務,而CP控制CD使用服務。
圖1是示出UPnP連網(wǎng)的操作的示圖。參照圖1,UPnP連網(wǎng)包括尋址操作11、發(fā)現(xiàn)操作12、描述操作13、控制操作14、事件觸發(fā)操作15和表征操作16。
在尋址操作11,根據(jù)自動互聯(lián)網(wǎng)協(xié)議(自動IP)方法或動態(tài)主機配置協(xié)議(DHCP)客戶機方法來指定UPnP網(wǎng)絡裝置(裝置和CP)的IP地址。
在發(fā)現(xiàn)操作12,在尋址操作11中指定裝置和CP的IP地址之后,CP根據(jù)簡單服務發(fā)現(xiàn)協(xié)議(SSDP)在網(wǎng)絡上檢測裝置。
在描述操作13,如果CP在發(fā)現(xiàn)操作12在網(wǎng)絡上檢測到裝置,則CP獲得關(guān)于裝置的描述,以確定裝置將要提供的服務。
在控制操作14,如果CP在描述操作13中獲得裝置的描述,則CP基于裝置的描述通過根據(jù)簡單對象訪問協(xié)議(SOAP)調(diào)用動作來控制裝置。
在事件觸發(fā)操作15,裝置根據(jù)通用事件通知架構(gòu)(GENA)發(fā)送用于指示服務的狀態(tài)中的至少一個已經(jīng)改變的事件消息。
在表征操作16,CP連接到裝置的表征統(tǒng)一資源定位符(URL),從而向用戶提供裝置的表征。因此,用戶可使用裝置的表征URL來控制裝置和識別裝置的當前狀態(tài)。
圖2是示出傳統(tǒng)UPnP事件觸發(fā)處理中的操作的示圖。參照圖2,傳統(tǒng)UPnP事件觸發(fā)處理包括以下操作。
首先,為了獲知裝置2提供的服務中的改變,CP1將請求對指示服務的改變的事件的預訂的事件預訂請求消息發(fā)送到裝置2。接下來,在從CP1接收到事件預訂請求消息之后,裝置2將指示CP1成功預訂事件的事件預訂響應消息發(fā)送到CP1。
接下來,裝置2發(fā)送包含指示服務的狀態(tài)的狀態(tài)參數(shù)的當前值的初始事件消息。接下來,當由于服務的至少一個的狀態(tài)改變而出現(xiàn)事件時,裝置2將包含指示服務的狀態(tài)的狀態(tài)參數(shù)的當前值的事件消息發(fā)送到預訂事件的CP1。
如上所述,傳統(tǒng)地,如果裝置2的服務中的至少一個的狀態(tài)改變,則裝置2以服務為單位發(fā)送事件。其后,預訂指示每一服務的狀態(tài)改變的事件的所有CP接收包含關(guān)于服務的狀態(tài)的信息,即其所有的多個狀態(tài)參數(shù)的當前值的事件消息。
也就是說,每一控制點甚至可接收包含不必要的狀態(tài)參數(shù)的事件消息。在此情況下,控制點過濾事件消息或特定狀態(tài)參數(shù),從而增加網(wǎng)絡流量和控制點的負荷。具體地說,在具有較窄帶寬的家庭網(wǎng)絡或具有低的硬件性能的控制點的情況下,該問題變得更加嚴重。
發(fā)明內(nèi)容
本發(fā)明的各方面提供一種考慮到UPnP裝置的特性而高效發(fā)送和接收關(guān)于UPnP事件的信息的方法和設備。
本發(fā)明的一方面還提供一種其上記錄用于在計算機中執(zhí)行該方法的程序的計算機可讀記錄介質(zhì)。
根據(jù)本發(fā)明的一方面,提供一種接收事件信息的方法,該方法包括對于指示服務的狀態(tài)改變中的至少一個的事件請求僅關(guān)于服務的多個狀態(tài)改變的部分的通知;以及接收響應于所述請求的關(guān)于所述部分狀態(tài)改變的信息。
根據(jù)本發(fā)明另一方面,提供一種接收事件信息的設備,該設備包括請求單元,對于通知服務的狀態(tài)改變中的至少一個的事件請求關(guān)于所述服務的多個狀態(tài)改變中的一部分的通知;以及事件觸發(fā)模塊,響應于所述請求接收關(guān)于所述部分狀態(tài)改變的信息。
根據(jù)本發(fā)明另一方面,提供一種計算機可讀介質(zhì),其中,存儲用于在計算機中執(zhí)行接收關(guān)于事件的信息的方法的程序。
根據(jù)本發(fā)明另一方面,提供一種發(fā)送事件信息的方法,該方法包括檢測僅對于服務的多個狀態(tài)改變中的一部分的請求,所述請求作為對指示所述服務的狀態(tài)改變中的至少一個的事件的請求;以及響應于所述請求接收關(guān)于所述部分狀態(tài)改變的信息。
根據(jù)本發(fā)明另一方面,提供一種發(fā)送事件信息的設備,該設備包括檢測單元,檢測僅對于服務的多個狀態(tài)改變中的一部分,所述請求作為對通知所述服務的狀態(tài)改變中的至少一個的事件的請求;以及事件觸發(fā)模塊,響應于所述請求接收關(guān)于所述部分狀態(tài)改變的信息。
根據(jù)本發(fā)明另一方面,提供一種計算機可讀介質(zhì),在其上記錄有用于在計算機中執(zhí)行發(fā)送關(guān)于事件的信息的方法的程序。
通過下面結(jié)合附圖對示例性實施例的詳細描述,本發(fā)明的上述和其他方面和優(yōu)點將會變得更加清楚,其中圖1是示出UPnP連網(wǎng)的操作的示圖;圖2是示出傳統(tǒng)UPnP事件觸發(fā)處理中的操作的示圖;圖3是示出根據(jù)本發(fā)明示例性實施例的擴展事件預訂請求消息和擴展預訂響應消息的格式的示圖;圖4是示出根據(jù)本發(fā)明示例性實施例的擴展事件預訂更新消息的格式的示圖;圖5是根據(jù)本發(fā)明示例性實施例的控制點和裝置的框圖;圖6是示出根據(jù)本發(fā)明示例性實施例的圖5的裝置狀態(tài)提取單元的詳細結(jié)構(gòu)的示圖;圖7是根據(jù)本發(fā)明示例性實施例的擴展事件預訂請求方法的流程圖;圖8是根據(jù)本發(fā)明示例性實施例的處理擴展事件預訂請求的方法的流程圖;圖9是根據(jù)本發(fā)明示例性實施例的由控制點執(zhí)行的擴展事件預訂更新方法的流程圖;圖10是根據(jù)本發(fā)明示例性實施例的由裝置執(zhí)行的擴展事件預訂更新方法的流程圖;圖11是根據(jù)本發(fā)明示例性實施例的接收事件消息的方法的流程圖;以及圖12是根據(jù)本發(fā)明示例性實施例的發(fā)送事件消息的方法的流程圖。
具體實施例方式
在下文中,將參照附圖詳細描述本發(fā)明示例性實施例。
在大多數(shù)情況下,通用即插即用(UPnP)應用到家庭網(wǎng)絡,因此存在各種類型的根據(jù)UPnP操作的裝置。因此,考慮到裝置的特性,例如裝置執(zhí)行的應用程序的特性、裝置的硬件性能等,接收關(guān)于根據(jù)UPnP操作的裝置的服務的多個狀態(tài)改變的僅一部分的信息是高效的。
例如,當控制點(CP)正在執(zhí)行需要指示服務的狀態(tài)的多個狀態(tài)參數(shù)的一部分的應用時,控制點可從裝置僅接收需要的狀態(tài)參數(shù)的當前值。如果控制點的硬件性能低,則控制點從裝置接收事件消息越頻繁,控制點上的負荷越大。在這種情況下,僅當服務的狀態(tài)改變等于或大于預定級別時,控制點才可接收服務的當前值。
因此,在本發(fā)明示例性實施例中,引入擴展模式,在擴展模式中,考慮到控制點的特性,裝置向控制裝置提供關(guān)于服務的一部分狀態(tài)改變的信息,這與現(xiàn)有技術(shù)中的裝置以服務為單位單向地將事件消息發(fā)送到控制點不同。
圖3是示出根據(jù)本發(fā)明示例性實施例的擴展事件預訂請求消息和擴展事件預訂響應消息的格式的示圖。根據(jù)圖3,控制點3發(fā)送擴展事件預訂請求消息,該擴展事件預訂請求消息是通過將作為根據(jù)本實施例的擴展頭的EXSUBREQ頭插入UPnP事件預訂請求消息中獲得的。擴展頭描述多個狀態(tài)參數(shù)的每一個的標識(ID)和預定級別值。
控制點3可通過將擴展頭插入UPnP事件預訂請求消息中來請求裝置4將裝置4的服務的狀態(tài)改變的僅一部分通知給它。更具體地講,控制點3可將記錄所述部分的狀態(tài)參數(shù)的ID的擴展頭插入UPnP事件預訂請求消息中,從而請求裝置4僅當所述狀態(tài)參數(shù)的值改變時,提供所述狀態(tài)參數(shù)的當前值。此外,控制點3可將記錄至少一個狀態(tài)改變的預定級別(值)的擴展頭插入UPnP事件預訂請求消息中,從而請求裝置4僅當狀態(tài)參數(shù)的改變等于或大于預定級別(值)時,提供指示裝置4的服務的狀態(tài)的多個狀態(tài)參數(shù)中的至少一個的當前值。此外,控制點3可將記錄所述部分的狀態(tài)參數(shù)的ID和預定級別(值)的擴展頭插入UPnP事件預訂請求消息中,從而請求裝置4僅當所述部分的狀態(tài)參數(shù)的改變等于或大于預定級別(值)時,提供指示裝置4的服務的狀態(tài)改變的狀態(tài)參數(shù)的當前值。
例如,如圖3所示的擴展事件預訂請求消息的擴展頭的ID字段和級別字段分別記錄狀態(tài)參數(shù)的ID Var 1和預定級別(值)Lev 1。通過將擴展事件預訂請求消息發(fā)送到裝置4,可請求裝置4僅當指示服務的狀態(tài)的狀態(tài)參數(shù)中的狀態(tài)參數(shù)Var 1的值改變大于預定級別(值)Lev 1時,提供狀態(tài)參數(shù)Var 1的當前值。如果擴展頭不包括記錄預定級別(值)Lev 1的級別字段,則意味著請求裝置4每當狀態(tài)參數(shù)Var 1的值改變時,提供狀態(tài)參數(shù)Var 1的當前值。
這里,Lev 1可表示狀態(tài)參數(shù)Var 1的改變值或者狀態(tài)參數(shù)Var 1的值改變的次數(shù)。例如,如果Lev 1是3,則僅當狀態(tài)參數(shù)Var 1的改變級別大于3時或僅當狀態(tài)參數(shù)Var 1改變的次數(shù)大于3時,可請求狀態(tài)參數(shù)Var 1的當前值??苫跔顟B(tài)參數(shù)Var 1的特性或控制點3和裝置4之間的預定協(xié)議,來確定Lev 1表示狀態(tài)參數(shù)Var 1的改變值還是表示狀態(tài)參數(shù)Var 1的值改變的次數(shù)。
當接收到擴展事件預訂請求消息時,裝置4發(fā)送擴展事件預訂響應消息,該擴展事件預訂響應消息是通過將作為根據(jù)本示例性實施例的擴展頭的EXSUBRES頭插入UPnP事件預訂響應消息中而獲得的。擴展頭描述指示能夠處理擴展事件預訂請求的成功或者指示不能處理擴展事件預訂請求的失敗。當裝置4不支持擴展模式時,裝置4發(fā)送包含指示失敗的擴展頭的擴展事件預訂響應消息。當裝置4支持擴展模式時,裝置4發(fā)送包含指示成功的擴展頭的擴展事件預訂響應消息。否則,擴展事件預訂響應消息的擴展頭可記錄每一狀態(tài)參數(shù)的成功值或失敗值。
接下來,僅當裝置4的服務的所述部分狀態(tài)改變時,裝置4將事件消息發(fā)送到如上所述預訂根據(jù)本示例性實施例的擴展事件的控制點3。結(jié)果,控制點3可接收僅包含控制點3期望的狀態(tài)參數(shù)的事件消息。因此,控制點3不接收包含不必要的狀態(tài)參數(shù)的事件消息,從而去除了對于過濾事件消息或特定狀態(tài)參數(shù)的處理的需要。
圖4是示出根據(jù)本發(fā)明示例性實施例的擴展事件預訂更新消息的格式的示圖。參照圖4,控制點3將擴展事件預訂請求消息發(fā)送到裝置4,該擴展事件預訂請求消息是通過將作為根據(jù)本示例性實施例的擴展頭的“ADD”頭和“DELETE”頭插入UPnP事件預訂更新消息而獲得的。擴展頭記錄指示將新的ID添加到先前擴展頭或從先前擴展頭刪除現(xiàn)有ID的內(nèi)容。也就是說,新的ID記錄在“ADD”頭,將被刪除的現(xiàn)有ID記錄在“DELETE”頭。
控制點3必須周期地發(fā)送事件預訂更新消息來維持事件預訂。在本示例性實施例中,控制點3可通過將擴展頭插入UPnP事件預訂更新消息中來請求更新多個狀態(tài)參數(shù)的一部分。也就是說,以狀態(tài)參數(shù)為單位,而不是以服務為單位執(zhí)行事件預訂更新。
例如,參照圖4,擴展事件預訂更新消息的“ADD”頭記錄狀態(tài)參數(shù)的IDVar 2和預定級別值Lev 2。此外,“DELETE”頭記錄現(xiàn)有狀態(tài)參數(shù)的ID Var 1。因此,當狀態(tài)參數(shù)Var 1的值改變時,裝置4忽略此改變。僅當狀態(tài)參數(shù)Var2的值的改變級別等于或大于Lev 2時,裝置4基于接收的擴展事件預訂更新消息發(fā)送包含狀態(tài)參數(shù)Var 2的當前值的事件消息。
由于圖3和圖4示出的擴展頭是HTTP擴展頭,因此當根據(jù)傳統(tǒng)UPnP事件觸發(fā)方法操作的裝置接收到擴展事件預訂請求消息和擴展事件預訂更新消息時,忽略這些擴展頭。因此,擴展事件預訂請求消息和擴展事件預訂更新消息分別處理為UPnP擴展事件預訂請求消息和UPnP擴展事件預訂更新消息。換句話說,本示例性實施例可以與傳統(tǒng)UPnP事件觸發(fā)方法一起使用,而沒有兼容性的問題。
圖5是根據(jù)本發(fā)明示例性實施例的控制點3和裝置4的框圖。參照圖5,控制點3包括尋址模塊31、發(fā)現(xiàn)模塊32、描述模塊33、控制模塊34、事件觸發(fā)模塊35、表征模塊36、狀態(tài)改變選擇器351、擴展事件預訂請求單元352、擴展事件預訂更新單元353、擴展事件預訂響應檢測器354以及擴展事件預訂響應處理器355。裝置4包括尋址模塊41、發(fā)現(xiàn)模塊42、描述模塊43、控制模塊44、事件觸發(fā)模塊45、表征模塊46、擴展事件預訂請求檢測器451、擴展事件預訂更新檢測器452、擴展事件預訂響應單元453以及狀態(tài)參數(shù)提取器454。尋址模塊31執(zhí)行UPnP尋址。詳細地講,尋址模塊31根據(jù)自動互聯(lián)網(wǎng)協(xié)議(IP)地址或者動態(tài)主機配置協(xié)議(DHCP)客戶機方法來指定控制點3的IP地址。發(fā)現(xiàn)模塊32、描述模塊33、控制模塊34、事件觸發(fā)模塊35以及表征模塊36通過使用由尋址模塊31指定的控制點3的IP地址來與控制點3通信。
發(fā)現(xiàn)模塊32執(zhí)行UPnP發(fā)現(xiàn)。詳細地講,發(fā)現(xiàn)模塊32根據(jù)簡單服務發(fā)現(xiàn)協(xié)議(SSDP)根據(jù)從裝置4接收的廣告消息識別出裝置4連接到網(wǎng)絡。
描述模塊33執(zhí)行UPnP描述。詳細地講,描述模塊33從通過由發(fā)現(xiàn)模塊32執(zhí)行的UPnP發(fā)現(xiàn)操作識別的裝置4獲得關(guān)于裝置4的描述。裝置4的描述包括裝置4的產(chǎn)品信息、關(guān)于生產(chǎn)商的信息、裝置4提供的服務列表、裝置4的表征URL等。
控制模塊34執(zhí)行UPnP控制。詳細地講,根據(jù)簡單對象訪問協(xié)議(SOAP),控制模塊34通過基于經(jīng)描述模塊33執(zhí)行的UPnP描述操作獲得的裝置4的描述調(diào)用動作來控制裝置4。
事件觸發(fā)模塊35執(zhí)行UPnP事件操作。詳細地講,根據(jù)通用事件通知架構(gòu)(GENA),事件觸發(fā)模塊35基于通過由描述模塊33執(zhí)行的UPnP描述操作獲得的裝置4的描述(具體地講,服務列表),產(chǎn)生并發(fā)送關(guān)于通知裝置4的服務的至少一個狀態(tài)改變發(fā)生的事件的UPnP事件預訂請求消息;并接收UPnP事件預訂響應消息作為對UPnP事件預訂請求消息的響應。在UPnP事件預訂之后,事件觸發(fā)模塊35接收作為對UPnP事件預訂的響應的事件消息。所述事件消息包含關(guān)于裝置4提供的服務的狀態(tài)的信息。事件觸發(fā)模塊35必須將事件預訂更新消息發(fā)送到裝置4以繼續(xù)接收事件消息。
表征模塊36執(zhí)行UPnP表征操作。具體地講,表征模塊36接收通過由描述模塊33執(zhí)行的UPnP描述操作獲得的裝置4的描述,具體地講,通過訪問裝置4的表征URL接收裝置4的表征;并且將其提供給用戶。隨后,用戶可經(jīng)由裝置4的表征URL控制裝置4,或者識別裝置4的狀態(tài)。
狀態(tài)改變選擇器351選擇裝置4的服務的狀態(tài)改變的一部分。更具體地講,狀態(tài)改變選擇器351根據(jù)從表征模塊36識別裝置4的表征的用戶給定的指示,或者允許控制點3確定裝置4的服務的部分狀態(tài)的預定算法來選擇指示裝置4的服務的狀態(tài)的所述部分狀態(tài)參數(shù)。
此外,狀態(tài)改變選擇器351根據(jù)識別從表征模塊36接收的裝置4的表征的用戶給定的指示,或者允許控制點3確定裝置4的服務的部分狀態(tài)的預定算法來選擇裝置4的服務的至少一個狀態(tài)改變的預定級別。
如下,可以從選擇服務的一部分狀態(tài)改變的上述兩種方法的結(jié)合來選擇服務的一部分狀態(tài)。也就是說,狀態(tài)改變選擇器351根據(jù)識別從表征模塊36接收的裝置4的表征的用戶給定的指示,或者允許控制點3確定裝置4的服務的一部分狀態(tài)的預訂算法來選擇指示服務的狀態(tài)的所述部分狀態(tài)參數(shù),以及選擇的狀態(tài)參數(shù)的預定級別。
此外,狀態(tài)改變選擇器351可重新選擇服務的狀態(tài)改變的一部分以更新裝置4的擴展事件預訂。
對于通知服務的至少一個狀態(tài)改變的事件,擴展事件預訂請求單元352請求裝置4僅通知裝置4的服務的狀態(tài)改變的一部分。更具體地講,擴展事件預訂請求單元352產(chǎn)生記錄由狀態(tài)改變選擇器351選擇的狀態(tài)參數(shù)的ID的擴展頭,并將該擴展頭插入UPnP事件預訂請求消息中,以便請求裝置4僅當選擇的狀態(tài)參數(shù)改變時,提供選擇的狀態(tài)參數(shù)的當前值。
此外,擴展事件預訂請求單元352產(chǎn)生記錄通過狀態(tài)改變選擇器351選擇的至少一個狀態(tài)改變的預定級別(值)的擴展頭,并將該擴展頭插入UPnP事件預訂請求消息,以便請求裝置4僅當狀態(tài)參數(shù)的值改變大于預定級別(值)時,提供指示裝置4的服務的狀態(tài)的至少一個狀態(tài)參數(shù)的當前值。
此外,擴展事件預訂請求單元352產(chǎn)生記錄由狀態(tài)改變選擇器351選擇的一部分狀態(tài)參數(shù)的ID以及預定級別(值)的擴展頭,并將該擴展頭插入UPnP事件預訂請求消息中,以便請求裝置4僅當狀態(tài)參數(shù)的值改變大于預定級別(值)時,提供指示裝置4的服務的狀態(tài)的部分狀態(tài)參數(shù)的當前值。
擴展事件預訂更新單元353基于由狀態(tài)改變選擇器351執(zhí)行的選擇結(jié)果,通過產(chǎn)生指示將新ID添加到現(xiàn)有擴展頭中或者從現(xiàn)有擴展頭刪除現(xiàn)有ID的擴展頭,并將產(chǎn)生的擴展頭插入UPnP事件預訂更新消息中,來請求部分狀態(tài)參數(shù)的更新。此外,擴展事件預訂更新單元353基于由狀態(tài)改變選擇器351執(zhí)行的選擇結(jié)果,通過產(chǎn)生指示改變預定級別(值)的擴展頭,并將該擴展頭插入UPnP事件預訂更新消息中,來請求記錄在現(xiàn)有擴展頭中的預定級別(值)的改變。此外,擴展事件預訂更新單元353可基于由狀態(tài)改變選擇器351執(zhí)行的選擇結(jié)果請求部分狀態(tài)參數(shù)的更新以及預定級別的改變。這里,現(xiàn)有擴展頭指示發(fā)送到裝置4的擴展事件預訂請求消息或擴展事件預訂更新消息的擴展頭。
擴展事件預訂響應檢測器354檢測指示裝置4是否能夠處理擴展事件預訂請求單元352的請求的擴展事件預訂響應。更具體地講,擴展事件預訂響應檢測器354通過解析由事件觸發(fā)模塊35接收的事件預訂響應消息,并且基于解析結(jié)果檢驗擴展事件預訂響應消息來檢測擴展事件預訂響應。
具體地講,當從擴展事件預訂響應消息中檢測到指示不能處理擴展事件預訂請求單元352的請求的擴展頭時,擴展事件預訂響應檢測器354確定裝置4不支持接收根據(jù)本示例性實施例的關(guān)于服務的部分狀態(tài)改變的信息的擴展模式。如果從擴展事件預訂響應消息中檢測到指示能夠處理擴展事件預訂請求單元352的請求的擴展頭時,擴展事件預訂響應檢測器354確定裝置4支持擴展模式。
如果擴展事件預訂響應檢測器354確定裝置4不支持擴展模式,則擴展事件預訂響應處理器355將根據(jù)現(xiàn)有UPnP標準接收關(guān)于服務的所有狀態(tài)改變的信息的基本模式設置為裝置4的事件模式。然而,如果擴展事件預訂響應檢測器354確定裝置4支持擴展模式,則擴展事件預訂響應處理器355將擴展模式設置為裝置4的事件模式。
事件觸發(fā)模塊35發(fā)送包含由擴展事件預訂請求單元352插入的擴展頭的擴展事件預訂請求消息,并且接收作為對擴展事件預訂請求消息的響應的擴展事件預訂響應消息。此外,事件觸發(fā)模塊35發(fā)送包含由擴展事件預訂更新單元353插入的擴展頭的擴展事件預訂更新消息,并且接收作為對擴展事件預訂更新消息的響應的UPnP事件預訂響應消息。
此外,當擴展事件預訂響應處理器355將基本模式設置為裝置4的事件模式時,事件觸發(fā)模塊根據(jù)現(xiàn)有UPnP標準接收包含關(guān)于服務的所有狀態(tài)改變的信息的事件消息。此外,當擴展事件預訂響應處理器355將擴展模式設置為裝置4的事件模式時,事件觸發(fā)模塊35接收包含關(guān)于服務的部分狀態(tài)改變的信息的事件消息。
參照圖5,裝置4包括尋址模塊41、發(fā)現(xiàn)模塊42、描述模塊43、控制模塊44、事件觸發(fā)模塊45、表征模塊46、擴展事件預訂請求檢測器451、擴展事件預訂更新檢測器452、擴展事件預訂響應單元453以及狀態(tài)參數(shù)提取器454。
尋址模塊41執(zhí)行UPnP尋址操作。詳細地講,尋址模塊41根據(jù)自動IP或DHCP客戶機方法指定裝置4的IP地址。發(fā)現(xiàn)模塊42、描述模塊43、控制模塊44、事件觸發(fā)模塊45以及表征模塊46通過使用由尋址模塊41指定的IP地址來與控制點3通信。
發(fā)現(xiàn)模塊42執(zhí)行UPnP發(fā)現(xiàn)。具體地講,發(fā)現(xiàn)模塊42根據(jù)SSDP將廣告消息發(fā)送到存在于裝置4所位于的網(wǎng)絡的控制點3。
描述模塊43執(zhí)行UPnP描述操作。具體地講,描述模塊43將裝置4的描述提供給通過由發(fā)現(xiàn)模塊42執(zhí)行的UPnP發(fā)現(xiàn)操作而發(fā)現(xiàn)裝置4的控制點3。
控制模塊44執(zhí)行UPnP控制。詳細地講,控制模塊44從通過UPnP描述操作獲得裝置4的描述的控制點3接收動作調(diào)用,并且根據(jù)SOAP執(zhí)行與動作調(diào)用相應的動作。
事件觸發(fā)模塊45執(zhí)行UPnP事件觸發(fā)操作。更具體地講,事件觸發(fā)模塊45從通過由描述模塊43執(zhí)行的UPnP描述操作而接收裝置4的描述(具體地講,裝置4的服務列表)的控制點3接收UPnP事件預訂請求消息,并且根據(jù)GENA響應于UPnP事件預訂請求消息產(chǎn)生并發(fā)送UPnP事件預訂響應消息。在UPnP事件預訂之后,事件觸發(fā)模塊45發(fā)送說明裝置4的服務的狀態(tài)的事件消息。事件消息中的第一個事件消息被稱為初始事件消息。
此外,事件觸發(fā)模塊45將事件消息發(fā)送到控制點,并且控制點周期地將UPnP事件預訂更新消息發(fā)送到事件觸發(fā)模塊45。也就是說,在接收UPnP事件預訂更新消息之后,事件觸發(fā)模塊45初始化事件預訂更新的時間。此外,如果更新事件預訂的時間大于事件觸發(fā)模塊45沒有接收到UPnP事件預訂更新消息的時間閾值,則事件觸發(fā)模塊45不將事件消息發(fā)送到必須發(fā)送UPnP事件預訂更新消息的控制點。當接收到UPnP事件預訂更新消息時,事件觸發(fā)模塊45發(fā)送響應于UPnP事件預訂更新消息的消息。
為了繼續(xù)接收事件消息,控制點3必須周期地將事件預訂更新消息發(fā)送到裝置4。
具體地講,根據(jù)本示例性實施例,事件觸發(fā)模塊45從控制點3接收擴展事件預訂請求消息,并且事件觸發(fā)模塊35從控制點3接收擴展事件預訂更新消息。
表征模塊46執(zhí)行UPnP表征操作。詳細地講,表征模塊46發(fā)送通過描述模塊43的UPnP描述操作獲得的裝置4的描述,具體地講,當獲得裝置4的表征URL的控制點3連接到表征URL時,表征模塊46發(fā)送裝置4的表征。
擴展事件預訂請求檢測器451檢測請求通知服務的僅部分狀態(tài)改變的擴展事件預訂請求;也就是說,對通知裝置4的服務的至少一個狀態(tài)改變的事件的請求。詳細地講,擴展事件預訂請求檢測器451解析由事件觸發(fā)模塊45接收的事件預訂請求消息,并且根據(jù)解析結(jié)果檢驗擴展事件預訂請求消息,以便檢測擴展事件預訂請求。
具體地講,擴展事件預訂請求檢測器451從擴展事件預訂請求消息的擴展頭檢測指示裝置4的服務的狀態(tài)的部分狀態(tài)參數(shù)的ID,以便僅當其值改變時,檢測請求所述部分狀態(tài)參數(shù)的當前值的擴展事件預訂請求。此外,擴展事件預訂請求檢測器451從擴展事件預訂請求消息的擴展頭檢測至少一個狀態(tài)參數(shù)的預定級別(值),以便僅當所述狀態(tài)參數(shù)的值改變等于或大于預定級別(值)時,檢測請求至少一個狀態(tài)參數(shù)的當前值的擴展事件預訂請求。此外,擴展事件預訂請求檢測器451從擴展事件預訂請求消息的擴展頭檢測部分狀態(tài)參數(shù)的ID和預定級別(值),以便檢測請求等于或大于預定級別(值)的所述部分狀態(tài)參數(shù)的值改變的擴展事件預訂請求。
擴展事件預訂更新檢測器452解析由事件觸發(fā)模塊45接收的事件預訂請求消息,以檢驗其是否是擴展事件預訂更新消息。如果事件預訂請求消息被檢驗為擴展事件預訂更新消息,則擴展事件預訂更新檢測器452通過檢查擴展事件預訂更新消息的擴展頭來檢測對更新部分狀態(tài)參數(shù)的請求,以確定新ID添加到現(xiàn)有擴展頭還是從現(xiàn)有擴展頭刪除ID。此外,擴展事件預訂更新檢測器452通過檢查擴展事件預訂更新消息的擴展頭來檢測對更新記錄在現(xiàn)有擴展頭中的預定級別(值)的請求,以確定預定級別(值)是否已經(jīng)改變。
如果當前模式是基本模式,也就是說,當裝置4不支持發(fā)送關(guān)于服務的狀態(tài)改變的一部分的信息的擴展模式,則擴展事件預訂響應單元453產(chǎn)生指示不能處理由擴展事件預訂請求檢測器451檢測的請求的擴展頭,并將該擴展頭插入UPnP事件預訂響應消息中。此外,如果裝置4支持擴展模式,則擴展事件預訂響應單元453產(chǎn)生指示能夠處理由擴展事件預訂請求檢測器451檢測的請求的擴展頭,并將該擴展頭插入UPnP事件預訂響應消息中。
狀態(tài)參數(shù)提取器454檢查由擴展事件預訂請求檢測器451或者擴展事件預訂更新檢測器452檢測的請求,更新關(guān)于請求當服務的至少一個狀態(tài)改變時接收關(guān)于狀態(tài)改變的通知的控制點3的信息,并且基于更新的信息提取將被發(fā)送到控制點3的關(guān)于部分狀態(tài)改變的信息。
更具體地講,狀態(tài)參數(shù)提取器454提取與由擴展事件預訂請求檢測器451檢測的ID相應的狀態(tài)參數(shù)的當前值。狀態(tài)參數(shù)提取器454提取狀態(tài)參數(shù)的當前值,其值改變等于或大于由擴展事件預訂請求檢測器451檢測的預定級別(值)。此外,狀態(tài)參數(shù)提取器454提取狀態(tài)參數(shù)的當前值,該狀態(tài)參數(shù)包括在以下狀態(tài)參數(shù)中,所述狀態(tài)參數(shù)的ID被擴展事件預訂請求檢測器451檢測到,并且該狀態(tài)參數(shù)的值改變等于或大于由擴展事件預訂請求檢測器451檢測的預定級別(值)。
狀態(tài)參數(shù)提取器454響應于由擴展事件預訂更新檢測器452檢測的對更新部分狀態(tài)參數(shù)的請求而更新所述部分狀態(tài)參數(shù),并且提取更新的狀態(tài)參數(shù)的當前值。此外,狀態(tài)參數(shù)提取器454響應于由擴展事件預訂更新檢測器452檢測的對更新預定級別(值)而更新請求的預定級別(值),并且提取其值改變等于或大于更新的預定級別(值)的狀態(tài)參數(shù)的當前值。
圖6是示出根據(jù)本發(fā)明示例性實施例的圖5的裝置的狀態(tài)參數(shù)提取器454的詳細結(jié)構(gòu)的示圖。參照圖6,狀態(tài)參數(shù)提取器454包括基本模式控制點(CP)指示器61、擴展模式CP指示器62和63、和預訂CP信息列表64。
基本模式CP指示器61、擴展模式CP指示器62和63基于包括裝置、N個服務和N個狀態(tài)參數(shù)的分級結(jié)構(gòu)。位于最上級的裝置被鏈接到位于另一級的N個服務。所述N個服務被分別鏈接到位于最低級的N個狀態(tài)參數(shù)。
預訂CP信息列表64是關(guān)于預訂事件的控制點的信息的列表,所述事件通知服務的至少一個狀態(tài)改變。這里,關(guān)于控制點的信息包括控制點的ID和由控制點指定的狀態(tài)參數(shù)的預訂級別(值)?;灸J紺P指示器61、擴展模式CP指示器62和63指向包括在預訂CP信息列表64中的關(guān)于控制點的信息。
以服務為單位構(gòu)建基本模式CP指示器61。所述基本模式CP指示器61指示關(guān)于預訂事件的控制點的信息,所述事件通知其鏈接的服務的至少一個狀態(tài)改變,但是基本模式CP指示器61并不支持擴展模式。相反,以狀態(tài)參數(shù)為單位構(gòu)建第一擴展模式CP指示器62和第二擴展模式CP指示器63。所述擴展模式CP指示器62和63指向關(guān)于預訂以下事件和擴展事件兩者的控制點的信息,所述事件通知其鏈接的服務的至少一個狀態(tài),所述擴展事件僅當鏈接的狀態(tài)參數(shù)的值改變時通知鏈接的狀態(tài)參數(shù)的當前值。
狀態(tài)參數(shù)提取器454基于由圖5的事件觸發(fā)模塊45接收的事件預訂請求消息將指示器鏈接添加到基本模式CP指示器61。另外,狀態(tài)參數(shù)提取器454基于由圖5的擴展事件預訂請求檢測器451檢測的請求將指示器鏈接添加到擴展模式CP指示器62和63。此外,狀態(tài)參數(shù)提取器454基于由擴展事件預訂更新檢測器452檢測的請求將指示器鏈接添加到擴展模式CP指示器62和63,或者將指示器鏈接從擴展模式CP指示器62和63中刪除。
另外,狀態(tài)參數(shù)提取器454基于到更新的基本模式CP指示器61或擴展模式CP指示器62和63的指示器鏈接,確定控制點,其中,當服務的至少一個狀態(tài)改變時,所述控制點請求關(guān)于狀態(tài)改變的通知。也就是說,其ID包括在關(guān)于由基本模式CP指示器61指示的控制點的信息中的控制點是請求鏈接到基本模式CP指示器61的服務的所有多個狀態(tài)參數(shù)的控制點。然而,其ID包括在關(guān)于由擴展模式CP指示器62和63指示的控制點的信息中的控制點是僅請求鏈接到擴展模式CP指示器62和63的狀態(tài)參數(shù)的控制點。
狀態(tài)參數(shù)提取器454提取表示鏈接到基本模式CP指示器61的服務的狀態(tài)的所有多個狀態(tài)參數(shù)的當前值,以將它們發(fā)送到由基本模式CP指示器61指示的控制點。另外,狀態(tài)參數(shù)提取器454提取鏈接到擴展模式CP指示器62和63的狀態(tài)參數(shù)的當前值,以將它們發(fā)送到由擴展模式CP指示器62和63指示的控制點。具體地講,如果關(guān)于由擴展模式CP指示器62和63指示的控制點的信息包括狀態(tài)參數(shù)的預訂級別(值),則僅當鏈接的狀態(tài)參數(shù)的值的改變等于或大于預訂級別(值)時,狀態(tài)參數(shù)提取器454提取鏈接到擴展模式CP指示器62和63的狀態(tài)參數(shù)的當前值。
如上所述,可通過僅使用幾個指示器并根據(jù)裝置支持基本模式還是擴展模式改變指示器的定位來構(gòu)建狀態(tài)參數(shù)提取器454。因此,根據(jù)本發(fā)明的示例性實施例的裝置的系統(tǒng)結(jié)構(gòu)比那些傳統(tǒng)UPnP裝置的系統(tǒng)結(jié)構(gòu)更加實用。此外,由示例性實施例的裝置請求的附加資源的數(shù)量比由傳統(tǒng)UPnP裝置請求的附加資源的數(shù)量少。
具體地講,在本示例性實施例中,當裝置4的事件模式被設置為基本模式而沒有被設置為擴展模式時,事件觸發(fā)模塊45根據(jù)現(xiàn)有UPnP標準發(fā)送包含關(guān)于服務的所有狀態(tài)改變的信息的事件消息,其中,在所述擴展模式中,發(fā)送關(guān)于服務的部分狀態(tài)改變的信息。另外,如果裝置4支持擴展模式,則響應于由擴展事件預訂請求檢測器451或擴展事件預訂更新檢測器452檢測的請求,事件觸發(fā)模塊45發(fā)送包含由狀態(tài)參數(shù)提取器454提取的關(guān)于服務的部分狀態(tài)改變的信息的事件消息。
更具體地講,事件觸發(fā)模塊45接收擴展事件預訂請求消息,接著響應于所述擴展事件預訂請求消息,發(fā)送包含由擴展事件預訂響應單元453插入的擴展頭的擴展事件預訂響應消息。另外,當指示服務的狀態(tài)的部分狀態(tài)參數(shù)的值改變時,事件觸發(fā)模塊45發(fā)送包含改變的狀態(tài)參數(shù)的當前值的事件消息。另外,當指示服務的狀態(tài)的至少一個狀態(tài)參數(shù)的值改變等于或大于預訂級別(值)時,事件觸發(fā)模塊45發(fā)送包含所述至少一個狀態(tài)參數(shù)的當前值的事件消息。另外,當指示服務的狀態(tài)的部分狀態(tài)參數(shù)的值改變,并且至少一個改變的狀態(tài)參數(shù)的值改變等于或大于預訂級別(值)時,事件觸發(fā)模塊45發(fā)送包含改變的狀態(tài)參數(shù)的當前值的事件消息。
此外,當接收到擴展事件預訂更新消息時,在部分狀態(tài)參數(shù)被更新時,響應于擴展事件預訂更新消息,事件觸發(fā)模塊45發(fā)送包含更新的狀態(tài)參數(shù)的當前值的事件消息。另外,事件觸發(fā)模塊45發(fā)送包含狀態(tài)參數(shù)的當前值的事件消息,所述狀態(tài)參數(shù)的值改變等于或大于更新的預訂級別(值)。
圖7是根據(jù)本發(fā)明示例性實施例的擴展事件預訂請求方法的流程圖。圖7所示的方法包括由圖3的控制點3根據(jù)時間執(zhí)行的操作。因此,盡管沒有在這里描述,但是參照圖5關(guān)于控制點3的描述也可應用于圖7的方法。
參照圖7,在操作71中,控制點3選擇裝置4提供的服務的部分狀態(tài)改變。更詳細地講,在操作71,控制點3選擇指示裝置4的服務的狀態(tài)的多個狀態(tài)參數(shù)的一部分,或者至少一個狀態(tài)改變的預訂級別(值)??蛇x地,在操作71,控制點3可選擇指示服務的狀態(tài)的部分狀態(tài)參數(shù),并確定選擇的狀態(tài)參數(shù)的預訂級別(值)。
在操作72,控制點3產(chǎn)生UPnP事件預訂請求消息。
在操作73,控制點3根據(jù)本發(fā)明的示例性實施例產(chǎn)生擴展頭,并將其插入到在操作72產(chǎn)生的UPnP事件預訂請求消息,從而請求僅關(guān)于在操作71選擇的狀態(tài)參數(shù)的改變的通知。
更具體地講,在操作73,控制點3產(chǎn)生記錄在操作71選擇的狀態(tài)參數(shù)的ID的擴展頭,并將其插入到UPnP事件預訂請求消息,從而請求僅關(guān)于選擇的狀態(tài)參數(shù)的改變的通知。另外,在操作73的操作中,控制點3產(chǎn)生記錄在操作71選擇的至少一個狀態(tài)改變的預訂級別(值)的擴展頭,并將其插入到UPnP事件預訂請求消息,從而僅當至少一個狀態(tài)參數(shù)的值改變等于或大于預訂級別(值)時,請求指示裝置4的服務的狀態(tài)的所述至少一個狀態(tài)參數(shù)的當前值。在操作73,控制點3產(chǎn)生記錄在操作71選擇的狀態(tài)參數(shù)的ID和預訂級別(值)的擴展頭,并將其插入到UPnP事件預訂請求消息,從而僅當所述狀態(tài)參數(shù)的值改變等于或大于所述預訂級別(值)時,請求指示裝置4的服務的狀態(tài)的部分狀態(tài)參數(shù)的當前值。
在操作74,控制點3發(fā)送包含在操作73插入的擴展頭的擴展事件預訂請求消息。
在操作75,控制點3響應于在操作74發(fā)送的擴展事件預訂請求消息接收擴展事件預訂響應消息。
在操作76,控制點3從在操作75接收的擴展事件預訂響應消息檢測到指示在操作74發(fā)送的擴展事件預訂請求消息中指定的請求不能被處理的擴展頭,確定裝置4不支持擴展模式,并進行操作77。另外,在操作76,控制點3從在操作75接收的擴展事件預訂響應消息檢測到指示在操作74發(fā)送的擴展事件預訂請求消息中指定的請求能夠被處理的擴展頭,確定裝置4支持擴展模式,并進行操作78。
在操作77,控制點3將基本模式設置為裝置4的事件模式,在所述基本模式中,根據(jù)現(xiàn)有UPnP標準接收關(guān)于服務的所有狀態(tài)改變的信息。
在操作78,控制點3將擴展模式設置為裝置4的事件模式,根據(jù)示例性實施例,在所述擴展模式中,接收關(guān)于服務的部分狀態(tài)改變的信息。
圖8是根據(jù)本發(fā)明示例性實施例的處理擴展事件預訂請求的方法的流程圖。圖8的方法包括由圖5的裝置4根據(jù)時間執(zhí)行的操作。因此,盡管沒有在這里描述,但是參照圖4關(guān)于裝置4的描述也可應用于圖8的方法。
參照圖8,在操作81,裝置4接收事件預訂請求消息。
在操作82,裝置4解析在操作81接收的事件預訂請求消息,并且當解析結(jié)果顯示接收的消息是擴展事件預訂請求消息時進行操作83,或者當解析結(jié)果顯示接收的消息是UPnP事件預訂請求消息時進行操作810。
在操作83,裝置4從在操作82檢驗的擴展事件預訂請求消息的擴展頭檢測請求通知關(guān)于裝置4的服務的一部分狀態(tài)改變的擴展事件預訂請求。
更詳細地講,在操作83,裝置4從在操作82接收的擴展事件預訂請求消息的擴展頭檢測部分狀態(tài)參數(shù)的ID,從而僅當指示裝置4的服務的狀態(tài)的所述部分狀態(tài)參數(shù)的值改變時,檢測請求所述部分狀態(tài)參數(shù)的當前值的擴展事件預訂請求。另外,在操作83,裝置4從在操作82接收的擴展事件預訂請求消息的擴展頭檢測至少一個狀態(tài)改變的預訂級別(值),從而僅當狀態(tài)參數(shù)的值改變等于或大于所述預訂級別(值)時,檢測請求指示裝置4的服務的狀態(tài)的至少一個狀態(tài)參數(shù)的當前值的擴展事件預訂請求。此外,在操作83,裝置4從在操作82接收的擴展事件預訂請求消息的擴展頭檢測部分狀態(tài)參數(shù)的ID和預訂級別(值),從而僅當所述部分狀態(tài)參數(shù)的值改變等于或大于預訂級別(值)時,檢測請求指示裝置4的服務的狀態(tài)的所述部分狀態(tài)參數(shù)的當前值的擴展事件預訂請求。
在操作84,裝置4基于在操作83檢測的擴展事件預訂請求,更新關(guān)于控制點的信息,其中,當服務的至少一個狀態(tài)改變時,所述控制點請求關(guān)于狀態(tài)改變的通知。
在操作85,裝置4基于在操作84更新的信息,提取將被發(fā)送到控制點的關(guān)于所述部分狀態(tài)改變的信息。更詳細地講,在操作85,裝置4提取與在操作83檢測的ID相應的狀態(tài)參數(shù)的當前值。另外,在操作85,在狀態(tài)參數(shù)的值改變等于或大于在操作83檢測的預訂級別(值)的情況下,裝置4提取所述狀態(tài)參數(shù)的當前值。另外,在操作85,在與在操作83檢測的ID相應的狀態(tài)參數(shù)所述狀態(tài)參數(shù)的值改變等于或大于在操作83檢測的預訂級別(值)的情況下,裝置4提取當前值。
在操作86,裝置4產(chǎn)生UPnP事件預訂響應消息。
在操作87,裝置4產(chǎn)生記錄成功的擴展頭,并將其插入到在操作86產(chǎn)生的UPnP事件預訂響應消息,所述成功指示裝置4支持擴展模式,在所述擴展模式中,發(fā)送關(guān)于服務的部分狀態(tài)改變的信息。
在操作88,裝置4發(fā)送擴展事件預訂響應消息,所述擴展事件預訂響應消息包含在步驟87插入到UPnP事件預訂響應消息的擴展頭。
在操作89,裝置4將初始事件消息發(fā)送到控制點,所述初始事件消息包含在操作85提取的關(guān)于服務的部分狀態(tài)改變的信息,所述控制點請求關(guān)于服務的所述部分狀態(tài)改變的通知。
在操作810,裝置4更新關(guān)于控制點的信息,所述控制點請求關(guān)于服務的所有狀態(tài)改變的通知,也就是說,所述控制點支持基本模式。
在操作811,裝置4基于在操作810更新的信息,提取關(guān)于服務的所有狀態(tài)改變的信息,所述信息將被發(fā)送到控制點。
在操作812,裝置4產(chǎn)生UPnP事件預訂響應消息。
在操作813,裝置4產(chǎn)生記錄失敗的擴展頭,并將其插入到在操作812產(chǎn)生的UPnP事件預訂響應消息,所述失敗指示裝置4不支持擴展模式,在所述擴展模式中,發(fā)送關(guān)于服務的部分狀態(tài)改變的信息。
在操作814,裝置4發(fā)送包含在操作813插入的擴展頭的擴展事件預訂響應消息。
在操作815,裝置4將初始事件消息發(fā)送到控制點,所述初始事件消息包含在操作811提取的關(guān)于所有狀態(tài)改變的信息,所述控制點支持基本模式。
圖9是根據(jù)本發(fā)明示例性實施例的由圖5的控制點3執(zhí)行的擴展事件預訂更新方法的流程圖。圖9的方法包括由控制點3根據(jù)時間執(zhí)行的操作。因此,盡管沒有在這里描述,但是參照圖5關(guān)于控制點3的描述也可應用于圖9的方法。
參照圖9,在操作91,控制點3重新選擇裝置4的服務的一部分狀態(tài)改變,從而更新關(guān)于裝置4的擴展事件預訂。
在操作92,控制點3產(chǎn)生UPnP事件預訂更新消息。
在操作93,控制點3基于在操作91獲得的重新選擇的結(jié)果產(chǎn)生擴展頭,并將其插入在操作92產(chǎn)生的UPnP事件預訂更新消息,從而請求更新所述部分狀態(tài)參數(shù),所述擴展頭指示沒有記錄在現(xiàn)有擴展頭中的新的ID將被添加,或者記錄在現(xiàn)有擴展頭中的ID將被刪除。另外,在操作93,控制點3基于在操作91獲得的重新選擇的結(jié)果產(chǎn)生擴展頭,并將其插入在操作92產(chǎn)生的UPnP事件預訂更新消息,從而請求改變預訂級別(值),所述擴展頭指示記錄在現(xiàn)有擴展頭中的預訂級別(值)將被改變。另外,在操作93,控制點3可基于在操作91獲得的重新選擇的結(jié)果請求更新部分狀態(tài)參數(shù)和改變預訂級別(值)。
在操作94,控制點3發(fā)送包含在操作93插入的擴展頭的擴展事件預訂更新消息。
圖10是根據(jù)本發(fā)明示例性實施例的由圖5的裝置4執(zhí)行的擴展事件預訂更新方法的流程圖。圖10的方法包括由圖5的裝置4根據(jù)時間執(zhí)行的操作。因此,盡管沒有在這里描述,但是上面參照圖5關(guān)于裝置4的描述也可應用于圖10的方法。
在操作101,裝置4接收事件預訂更新消息。
在操作102,裝置4解析在操作101接收的事件預訂更新消息,并且,當接收的消息是擴展事件預訂更新消息時,進行操作103,或者當接收的消息是UPnP事件預訂更新消息時,進行操作105。
在操作103,裝置4通過檢查在操作102解析的擴展事件預訂更新消息的擴展頭來檢測用于更新部分狀態(tài)參數(shù)的請求,以確定向現(xiàn)有擴展頭添加新的ID還是從現(xiàn)有擴展頭刪除ID。另外,在操作103,裝置4通過檢查在操作102解析的擴展事件預訂更新消息的擴展頭來檢測用于更新記錄在現(xiàn)有擴展頭中的預訂級別(值)的請求,以確定預訂級別(值)是否改變。
在操作104,響應于在操作103檢測的用于更新部分狀態(tài)參數(shù)的請求,裝置4更新所述部分狀態(tài)參數(shù)。另外,在操作104,響應于在操作103檢測的用于更新預訂級別(值)的請求,裝置4更新預訂級別(值)。
在操作105,如果完成在操作104的更新,則裝置4初始化事件預訂已經(jīng)更新時的時間。
在操作106,在操作105初始化時間之后,裝置4發(fā)送響應于UPnP事件預訂更新消息的消息。
圖11是根據(jù)本發(fā)明示例性實施例的接收事件消息的方法的流程圖。圖11的方法包括由圖5的控制點3根據(jù)時間執(zhí)行的操作,因此,雖然未在此描述,但參照圖5關(guān)于控制點3的描述也應用于圖11的方法。
參照圖11,在操作111,控制點3確定裝置4的事件模式被設置為擴展模式還是基本模式,如果確定事件模式被設置為擴展模式,則該方法進行操作112,而如果確定事件模式被設置為基本模式,則該方法進行操作113。
在操作112,控制點3接收事件消息,該事件消息包含關(guān)于裝置4提供的服務的部分狀態(tài)改變的信息。
在操作113,控制點3接收事件消息,該事件消息包含關(guān)于裝置4提供的服務的所有狀態(tài)改變的信息。
圖12是根據(jù)本發(fā)明示例性實施例的發(fā)送事件消息的方法的流程圖。圖12的方法包括由圖5的裝置4根據(jù)時間執(zhí)行的操作,因此,雖然未在此描述,但參照圖5關(guān)于裝置4的以上描述也應用于圖12的方法。
參照圖12,在操作121,裝置4接收動作調(diào)用。
在操作122,裝置4執(zhí)行與在操作121接收的動作調(diào)用相應的動作。
在操作123,當在操作122執(zhí)行動作而導致裝置4的服務的狀態(tài)中的至少一個改變時,裝置4進行操作124,而如果不產(chǎn)生狀態(tài)改變,則裝置4完成該方法。
在操作124,裝置4選擇請求接收關(guān)于所述狀態(tài)改變的通知的控制點。
在操作125,當在操作124中選擇的控制點支持擴展模式時,裝置4進行操作126,而當選擇的控制點支持基本模式時,進行操作127。
在操作126,裝置4發(fā)送包含關(guān)于服務的部分狀態(tài)改變的信息的事件消息。
在操作127,裝置4發(fā)送包含關(guān)于服務的全部狀態(tài)改變的信息的事件消息。
本發(fā)明的上述示例性實施例可確實地實施為計算機可讀程序,或通過使用計算機可讀介質(zhì)執(zhí)行程序而在通用數(shù)字計算機中執(zhí)行。此外,上述示例性實施例中使用的數(shù)據(jù)結(jié)構(gòu)可經(jīng)由各種裝置而記錄在計算機可讀介質(zhì)上。
計算機可讀介質(zhì)的示例包括磁記錄介質(zhì)(ROM、軟盤、硬盤等)以及光學記錄介質(zhì)(CD-ROM、DVD等)。此外,載波(例如在互聯(lián)網(wǎng)上傳輸)可用于實施本發(fā)明的示例性實施例。
本發(fā)明的方面引入擴展模式,其中,發(fā)送包含僅關(guān)于UPnP裝置提供的服務的部分狀態(tài)改變的信息的事件消息,從而允許控制點接收事件消息,每一事件消息僅包含必須的狀態(tài)參數(shù)。因此,與現(xiàn)有技術(shù)不同的是,能夠防止控制點接收包含不必要的狀態(tài)參數(shù)的事件消息,從而無需對事件消息或特定狀態(tài)參數(shù)進行過濾。
具體地說,傳統(tǒng)地,如果控制點具有低的硬件性能,則控制點很可能接收包含裝置的服務的不必要的狀態(tài)參數(shù)的事件消息,從而增加控制點的負荷。反之,根據(jù)本發(fā)明示例性實施例,可根據(jù)控制點的硬件性能調(diào)整將接收的事件消息的數(shù)量。存在這樣的情況根據(jù)由控制點執(zhí)行的應用的特性僅需要狀態(tài)參數(shù)的部分,或狀態(tài)參數(shù)的部分頻繁改變。在此情況下,根據(jù)本發(fā)明示例性實施例,可考慮到應用的特性,更高效地接收僅關(guān)于服務的部分狀態(tài)改變的信息。
此外,本發(fā)明的各方面引入擴展事件預訂更新消息,其請求更新UPnP裝置的服務的狀態(tài)參數(shù)的部分,從而允許控制點預訂用于動態(tài)添加或刪除狀態(tài)參數(shù)的事件。此外,由于根據(jù)本發(fā)明示例性實施例的擴展事件預訂請求消息和擴展事件預訂更新消息是通過使用HTTP擴展頭而形成的,因此甚至可將它們應用于傳統(tǒng)UPnP事件觸發(fā)方法而不會有兼容性問題。因此,根據(jù)本發(fā)明示例性實施例,可減少經(jīng)由家庭網(wǎng)絡發(fā)送的事件消息的總數(shù)量,從而節(jié)省家庭網(wǎng)絡帶寬。
雖然已參照其示例性實施例示出和描述了本發(fā)明,但本領域技術(shù)人員應理解,在不脫離由所附權(quán)利要求限定的本發(fā)明的精神的范圍的情況下,可在形式和細節(jié)上進行各種改變。
權(quán)利要求
1.一種接收事件信息的方法,該方法包括(a)對于指示服務的狀態(tài)改變中的至少一個的事件請求僅關(guān)于所述服務的多個狀態(tài)改變中的一部分的通知;以及(b)響應于所述請求接收關(guān)于部分狀態(tài)改變的信息。
2.如權(quán)利要求1所述的方法,其中,所述事件是通知通用即插即用(UPnP)裝置提供的服務的狀態(tài)改變中的至少一個的事件。
3.如權(quán)利要求1所述的方法,其中,在(a)期間,僅當指示服務的狀態(tài)改變的所述部分狀態(tài)參數(shù)的值改變時,才請求改變的所述部分狀態(tài)參數(shù)的當前值。
4.如權(quán)利要求3所述的方法,其中,在(a)期間,通過將記錄所述部分狀態(tài)參數(shù)的標識的擴展頭插入請求預訂所述事件的消息來請求所述部分狀態(tài)參數(shù)的當前值。
5.如權(quán)利要求4所述的方法,還包括通過將擴展頭插入到請求更新對所述事件的預訂的消息來更新所述部分狀態(tài)參數(shù),所述擴展頭指示添加新標識或從現(xiàn)有擴展頭中刪除狀態(tài)參數(shù)的標識。
6.如權(quán)利要求1所述的方法,其中,在(a)期間,僅當至少一個狀態(tài)參數(shù)的值改變等于或大于預定級別時,才請求指示服務的狀態(tài)改變的狀態(tài)參數(shù)中的所述至少一個的當前值。
7.如權(quán)利要求6所述的方法,其中,在(a)期間,通過將記錄預定級別的擴展頭插入請求對所述事件的預訂的消息來請求所述至少一個狀態(tài)參數(shù)的當前值。
8.如權(quán)利要求7所述的方法,還包括通過將指示改變預定級別的擴展頭插入請求更新對所述事件的預訂的消息來請求改變預定級別。
9.一種接收事件信息的設備,該設備包括請求單元,對于指示服務的狀態(tài)改變中的至少一個事件請求關(guān)于所述服務的多個狀態(tài)改變中的一部分的通知;以及事件觸發(fā)模塊,響應于所述請求接收關(guān)于所述部分狀態(tài)改變的信息。
10.一種在其上實現(xiàn)用于執(zhí)行在計算機中接收事件信息的方法的程序的計算機可讀介質(zhì),該方法包括對于指示服務的狀態(tài)改變中的至少一個的事件請求僅關(guān)于所述服務的多個狀態(tài)改變中的一部分的通知;以及響應于所述請求接收關(guān)于所述部分狀態(tài)改變的信息。
11.一種發(fā)送事件信息的方法,該方法包括(a)檢測僅對于服務的多個狀態(tài)改變中的一部分的請求,所述請求作為對于指示所述服務的狀態(tài)改變中的至少一個的事件的請求;以及(b)響應于所述請求接收關(guān)于部分狀態(tài)改變的信息。
12.如權(quán)利要求11所述的方法,其中,所述事件是通知通用即插即用(UPnP)裝置提供的服務的狀態(tài)改變中的至少一個的事件。
13.如權(quán)利要求11所述的方法,其中,在(a)期間,僅當指示所述服務的狀態(tài)改變的多個狀態(tài)參數(shù)中的一部分的值改變時,才檢測對于狀態(tài)參數(shù)的所述部分的當前值的請求,以及在(b)期間,當狀態(tài)參數(shù)的所述部分的值改變時,發(fā)送包含狀態(tài)參數(shù)的所述部分的當前值的事件消息。
14.如權(quán)利要求13所述的方法,其中,在(a)期間,通過從請求對所述事件的預訂的消息檢測狀態(tài)參數(shù)的所述部分的標識來檢測請求。
15.如權(quán)利要求14所述的方法,還包括通過確定添加新標識還是刪除狀態(tài)參數(shù)的標識來檢測對更新所述狀態(tài)參數(shù)的請求。
16.如權(quán)利要求11所述的方法,其中,在(a)期間,僅當指示服務的狀態(tài)改變的狀態(tài)參數(shù)中的至少一個的值改變等于或大于預定級別時,才檢測用于請求所述狀態(tài)參數(shù)的當前值的請求,以及在(b)期間,當所述狀態(tài)參數(shù)的值改變等于或大于預定級別時,發(fā)送包含所述狀態(tài)參數(shù)的當前值的事件消息。
17.如權(quán)利要求16所述的方法,其中,在(a)期間,通過從請求對所述事件的預定的消息檢測預定級別來檢測所述請求。
18.如權(quán)利要求17所述的方法,還包括通過確定預定級別是否改變來檢測對更新預定級別的請求。
19.一種發(fā)送事件信息的設備,該設備包括檢測單元,檢測僅對于服務的多個狀態(tài)改變的請求中的一部分,所述請求作為對于指示服務的狀態(tài)改變中的至少一個的事件的請求;以及事件觸發(fā)模塊,響應于所述請求接收關(guān)于所述部分狀態(tài)改變的信息。
20.一種在其上實現(xiàn)用于執(zhí)行發(fā)送事件信息的方法的程序的計算機可讀介質(zhì),該方法包括檢測僅對于服務的多個狀態(tài)改變中的一部分的請求,所述請求作為對于指示所述服務的狀態(tài)改變中的至少一個的事件的請求;以及響應于所述請求接收關(guān)于所述部分狀態(tài)改變的信息。
全文摘要
提供一種用于高效發(fā)送和接收關(guān)于即插即用(UPnP)事件的信息的方法和設備。在所述接收事件信息的方法中,對于指示服務的狀態(tài)改變中的至少一個的事件請求關(guān)于所述服務的多個狀態(tài)改變中的一部分的通知;以及響應于所述請求接收關(guān)于所述部分狀態(tài)改變的信息。因此,控制點可接收僅包含必需狀態(tài)參數(shù)的事件消息。
文檔編號H04L12/00GK1968150SQ20061014700
公開日2007年5月23日 申請日期2006年11月9日 優(yōu)先權(quán)日2005年11月9日
發(fā)明者崔哲源 申請人:三星電子株式會社