專利名稱:向外部裝置提供家庭網(wǎng)絡(luò)裝置服務(wù)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的方法和設(shè)備涉及由家庭網(wǎng)絡(luò)裝置提供的服務(wù),更具體地說,涉及允許外部裝置使用由家庭網(wǎng)絡(luò)中的家庭網(wǎng)絡(luò)裝置提供的本地服務(wù)。
背景技術(shù):
web服務(wù)技術(shù)允許在web(萬維網(wǎng))中分布的系統(tǒng)提供獨立于平臺、編程語言等的可共同操作的服務(wù)??赏ㄟ^使用諸如XML(可擴展標(biāo)記語言)、SOAP(簡單對象訪問協(xié)議)、WSDL(web服務(wù)描述語言)和UDDI(統(tǒng)一描述、發(fā)現(xiàn)和集成)標(biāo)準(zhǔn)的標(biāo)準(zhǔn)實現(xiàn)web服務(wù)。圖1是用于解釋提供web服務(wù)的程序的概念示圖。參照圖1,基本上由服務(wù)提供者、服務(wù)客戶機和服務(wù)注冊處構(gòu)建web服務(wù)。首先,服務(wù)提供者在諸如UDDI注冊處的服務(wù)注冊處中注冊服務(wù)信息,服務(wù)客戶機從服務(wù)注冊處獲得所述服務(wù)信息。更具體地,服務(wù)客戶機獲得具有描述web服務(wù)的文檔,也就是,描述服務(wù)的WSDL文件的站點的地址。在那之后,服務(wù)客戶機下載用于服務(wù)的WSDL文件。在這里,WSDL文檔或文件是用于服務(wù)的描述規(guī)范,服務(wù)客戶機使用WSDL文檔來獲得用于調(diào)用服務(wù)的信息。更具體地,下載WSDL文件的服務(wù)客戶機通過使用WSDL文件中的信息產(chǎn)生用于服務(wù)調(diào)用的SOAP消息。服務(wù)客戶機將SOAP消息發(fā)送到服務(wù)提供者來調(diào)用服務(wù)。
這種web服務(wù)技術(shù)用于諸如郵政編碼搜索服務(wù)和內(nèi)容提供服務(wù)的簡單服務(wù),或者用于諸如B2B(商戶到商戶)交易服務(wù)的復(fù)雜服務(wù)。近來,已經(jīng)將這種web服務(wù)技術(shù)用于家庭網(wǎng)絡(luò)裝置。由于以智能的方式在網(wǎng)絡(luò)中構(gòu)建諸如數(shù)字TV、數(shù)字音響和數(shù)字打印機的家庭網(wǎng)絡(luò)裝置,因此需要使用web服務(wù)訪問由家庭網(wǎng)絡(luò)裝置提供的家庭網(wǎng)絡(luò)裝置服務(wù)的技術(shù),從而控制家庭網(wǎng)絡(luò)裝置并共享內(nèi)容。
在這種情況下,家庭網(wǎng)絡(luò)裝置必須直接安裝web服務(wù)引擎,從而通過web服務(wù)提供它的服務(wù)。web服務(wù)引擎表示用于這些諸如XML、SOAP和WSDL技術(shù)的基本web服務(wù)相關(guān)技術(shù)的一系列軟件應(yīng)用。
圖2和圖3是用于解釋將家庭網(wǎng)絡(luò)裝置服務(wù)提供給家庭網(wǎng)絡(luò)的外部裝置的傳統(tǒng)的程序的示圖。圖2顯示家庭網(wǎng)絡(luò)中的媒體服務(wù)器將家庭網(wǎng)絡(luò)裝置服務(wù)直接提供給外部客戶機的情況。在這種情況下,在家庭網(wǎng)絡(luò)裝置中直接安裝提供web服務(wù)所需的引擎。這樣,提供web服務(wù)的家庭網(wǎng)絡(luò)裝置必須將WSDL文檔,也就是家庭網(wǎng)絡(luò)裝置服務(wù)的規(guī)范直接提供給外部裝置。因此,家庭網(wǎng)絡(luò)裝置可處理以SOAP消息的形式發(fā)送的服務(wù)調(diào)用。也就是,當(dāng)家庭網(wǎng)絡(luò)裝置安裝支持XML、SOAP和WSDL標(biāo)準(zhǔn)的web服務(wù)引擎時,家庭網(wǎng)絡(luò)裝置不需要其它裝置的支持就可提供web服務(wù)。
圖3顯示提供家庭網(wǎng)絡(luò)裝置服務(wù)的家庭網(wǎng)絡(luò)裝置不具有公共IP(互聯(lián)網(wǎng)協(xié)議)地址的情況。在這種情況下,具有私有IP的家庭網(wǎng)絡(luò)裝置通過具有公共IP地址的家庭網(wǎng)關(guān)將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置。家庭網(wǎng)關(guān)在外部裝置和家庭網(wǎng)絡(luò)裝置之間簡單執(zhí)行地址轉(zhuǎn)換處理并路由在服務(wù)調(diào)用期間發(fā)送的消息,并且執(zhí)行返回處理。在這種情況下,家庭網(wǎng)絡(luò)裝置也必須直接安裝web服務(wù)引擎。
盡管大多數(shù)當(dāng)前提供的web服務(wù)僅采用諸如XML、SOAP和WSDL標(biāo)準(zhǔn)的基本標(biāo)準(zhǔn),但是必須考慮將來的諸如用于web服務(wù)的安全、服務(wù)策略和可靠管理的關(guān)于高級技術(shù)的技術(shù)需求。為了滿足這些技術(shù)需求,家庭網(wǎng)絡(luò)上的所有家庭網(wǎng)絡(luò)裝置必須安裝支持前面所述的高級技術(shù)的web服務(wù)引擎。因此,因為需要安裝web服務(wù)引擎,所以不能經(jīng)濟地使用計算資源或盤資源。
具體地說,具有相對少量資源的裝置不能直接安裝這種web服務(wù)引擎。
發(fā)明內(nèi)容
本發(fā)明的示例性的、非限制性的實施例克服了上述缺點和其它上面沒描述的缺點。另外,本發(fā)明不需要克服上述缺點,并且本發(fā)明的示例性的、非限制性的實施例可以不克服上述的任何問題。本發(fā)明的一方面在于提供一種能夠?qū)崿F(xiàn)OSGi綁定包的設(shè)備和方法,其中,所述OSGi綁定包在OSGi家庭網(wǎng)關(guān)中提供web服務(wù)功能,以允許家庭網(wǎng)絡(luò)裝置通過web服務(wù)將家庭網(wǎng)絡(luò)服務(wù)提供給外部裝置,而不用直接安裝web服務(wù)引擎。
根據(jù)本發(fā)明的實施例的另一方面,提供一種將家庭網(wǎng)絡(luò)服務(wù)提供給外部裝置的方法,包括(a)獲得關(guān)于由家庭網(wǎng)絡(luò)中的至少一個網(wǎng)絡(luò)裝置提供的本地服務(wù)的信息;(b)基于獲得的信息產(chǎn)生包括關(guān)于web服務(wù)的信息的文檔以允許外部裝置調(diào)用本地服務(wù);(c)將產(chǎn)生的文檔分配給外部裝置,并且接收基于分配的文檔產(chǎn)生的web服務(wù)調(diào)用消息;以及(d)響應(yīng)于接收的web服務(wù)調(diào)用消息將本地服務(wù)從家庭網(wǎng)絡(luò)提供給外部裝置。
在上述方面,(d)可包括當(dāng)接收到web服務(wù)調(diào)用消息時,通過使用至少一個OSGi綁定包調(diào)用網(wǎng)絡(luò)裝置的本地服務(wù);通過使用OSGi綁定包接收本地服務(wù)作為本地服務(wù)調(diào)用的結(jié)果,并且將本地服務(wù)提供給外部裝置。另外,該方法還可包括在外部裝置中產(chǎn)生處理用于本地服務(wù)的web服務(wù)調(diào)用的第一OSGi綁定包,其中(d)包括(d1)在第一OSGi綁定包中,通過控制本地服務(wù)的第二OSGi綁定包調(diào)用本地服務(wù);(d2)在第一OSGi綁定包中,從第二OSGi綁定包接收本地服務(wù)調(diào)用的結(jié)果值;(d3)接收從第一OSGi綁定包接收的本地服務(wù)調(diào)用的結(jié)果值;(d4)將接收的結(jié)果值轉(zhuǎn)換為與web服務(wù)調(diào)用消息相應(yīng)的響應(yīng)消息;以及(d5)將轉(zhuǎn)換的響應(yīng)消息發(fā)送到發(fā)送web服務(wù)調(diào)用消息的外部裝置。
另外,(d1)可包括將調(diào)用消息轉(zhuǎn)換為JAVA對象;將轉(zhuǎn)換的JAVA對象發(fā)送到第一OSGi綁定包;以及在第一OSGi綁定包中,將發(fā)送的JAVA對象發(fā)送到第二OSGi綁定包以允許第二OSGi綁定包調(diào)用本地服務(wù)。
根據(jù)本發(fā)明的實施例的另一方面,提供一種計算機可讀記錄介質(zhì),該計算機可讀記錄介質(zhì)具有包含在其上的當(dāng)由計算機執(zhí)行時執(zhí)行上述方法的程序。
根據(jù)本發(fā)明的實施例的另一方面,提供一種將家庭網(wǎng)絡(luò)服務(wù)提供給外部裝置的設(shè)備,包括產(chǎn)生單元,通過使用關(guān)于由家庭網(wǎng)絡(luò)中的至少一個網(wǎng)絡(luò)裝置提供的本地服務(wù)的信息產(chǎn)生文檔以允許外部裝置調(diào)用本地服務(wù);分配單元,將產(chǎn)生的文檔分配給外部裝置;接收單元,從接收分配的文檔的外部裝置接收基于文檔產(chǎn)生的web服務(wù)調(diào)用消息;以及web服務(wù)提供單元,響應(yīng)于接收的web服務(wù)調(diào)用消息,將本地服務(wù)從家庭網(wǎng)絡(luò)提供給外部裝置。
在本發(fā)明的實施例的上述方面中,產(chǎn)生單元可在外部裝置中產(chǎn)生處理用于本地服務(wù)的web服務(wù)調(diào)用的第一OSGi綁定包;web服務(wù)提供單元可允許第一OSGi綁定包通過控制本地服務(wù)的第二OSGi綁定包調(diào)用本地服務(wù),從第一OSGi綁定包接收本地服務(wù)調(diào)用的結(jié)果值,所述第一OSGi綁定包從第二OSGi綁定包接收本地服務(wù)調(diào)用的結(jié)果值,將接收的結(jié)果值轉(zhuǎn)換為與web服務(wù)調(diào)用消息相應(yīng)的響應(yīng)消息,并將轉(zhuǎn)換的響應(yīng)消息發(fā)送到發(fā)送web服務(wù)調(diào)用消息的外部裝置。另外,web服務(wù)提供單元可以以JAVA對象的形式接收結(jié)果值,并且以SOAP消息的形式將結(jié)果值轉(zhuǎn)換為響應(yīng)消息。
通過下面結(jié)合附圖對本發(fā)明的示例性實施例進行的詳細描述,上述和其它特點和優(yōu)點將會變得更加清楚,其中,相同的標(biāo)號是指相同的項,其中圖1是用于解釋提供web服務(wù)的程序的概念示圖;圖2是用于解釋家庭網(wǎng)絡(luò)裝置將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的傳統(tǒng)程序的示圖;圖3是用于解釋家庭網(wǎng)絡(luò)裝置通過家庭網(wǎng)關(guān)將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的傳統(tǒng)程序的示圖;圖4是顯示OSGi系統(tǒng)的結(jié)構(gòu)的示圖;圖5是顯示根據(jù)本發(fā)明的實施例的將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的系統(tǒng)的結(jié)構(gòu)的示圖;圖6是顯示根據(jù)本發(fā)明的實施例的將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的程序的順序的流程圖;圖7是顯示根據(jù)本發(fā)明的實施例的通過OSGi網(wǎng)關(guān)提供web服務(wù)的綁定包的結(jié)構(gòu)的示圖;圖8是顯示根據(jù)本發(fā)明的實施例的OSGi網(wǎng)關(guān)的結(jié)構(gòu)的示圖;圖9是顯示根據(jù)本發(fā)明的實施例的web服務(wù)驅(qū)動器的結(jié)構(gòu)的示圖;圖10是根據(jù)本發(fā)明的實施例的用于解釋web服務(wù)驅(qū)動器中使用的API的表;圖11是根據(jù)本發(fā)明的實施例的用于解釋將家庭網(wǎng)絡(luò)裝置服務(wù)的WSDL文檔分配給外部裝置的程序的流程圖;以及圖12是根據(jù)本發(fā)明的實施例的用于解釋外部裝置通過web服務(wù)使用家庭網(wǎng)絡(luò)裝置服務(wù)的程序的流程圖。
具體實施例方式
圖4是顯示OSGi系統(tǒng)的結(jié)構(gòu)的示圖。
OSGi提供執(zhí)行服務(wù)的框架。OSGi框架是用于家庭網(wǎng)關(guān)的服務(wù)的標(biāo)準(zhǔn)API規(guī)范。如圖4所示,OSGi框架在JAVA虛擬機上操作。在框架上,非常靈活地執(zhí)行服務(wù)分配、服務(wù)集成、服務(wù)管理等。在框架上OSGi提供諸如HTTP、服務(wù)管理和日志服務(wù)的基本服務(wù)。服務(wù)提供者在OSGi框架以O(shè)SGi綁定包的形式分配它們自己的服務(wù)來提供服務(wù)。具體地說,OSGi提供諸如通用即插即用(UPnP)、Jini和HAVi的普通家庭網(wǎng)絡(luò)技術(shù),從而OSGi系統(tǒng)可保護在支持不同家庭網(wǎng)絡(luò)技術(shù)的不同類型裝置之間的互操作。
這里,在OSGi框架上實現(xiàn)執(zhí)行提供web服務(wù)所需的功能的OSGi綁定包,因此,家庭網(wǎng)絡(luò)裝置可通過web服務(wù)提供家庭網(wǎng)絡(luò)裝置服務(wù)。根據(jù)這里描述的系統(tǒng),家庭網(wǎng)絡(luò)裝置可僅通過使用傳統(tǒng)的家庭網(wǎng)絡(luò)技術(shù)通過web服務(wù)將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置。
圖5是顯示根據(jù)本發(fā)明的實施例的將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的系統(tǒng)的結(jié)構(gòu)的示圖。在實施例中,假設(shè)家庭網(wǎng)絡(luò)以UPnP技術(shù)操作。
如圖5所示,在OSGi家庭網(wǎng)關(guān)上實現(xiàn)處理web服務(wù)相關(guān)功能的web服務(wù)提供者綁定包,從而OSGi家庭網(wǎng)關(guān)代替家庭網(wǎng)絡(luò)裝置執(zhí)行web服務(wù)相關(guān)功能。在OSGi家庭網(wǎng)關(guān)上實現(xiàn)的web服務(wù)提供者綁定包基于關(guān)于家庭網(wǎng)絡(luò)裝置服務(wù)的信息寫出WSDL文檔。所述信息是由家庭網(wǎng)絡(luò)裝置以UPnP服務(wù)的形式提供的,并且在OSGi家庭網(wǎng)關(guān)上的web服務(wù)提供者綁定包將WSDL文檔分配給外部裝置。換句話說,web服務(wù)提供者綁定包在UDDI(統(tǒng)一描述、發(fā)現(xiàn)和集成)注冊處中注冊WSDL文檔。外部客戶機裝置下載WSDL文檔并根據(jù)WSDL文檔執(zhí)行web服務(wù)調(diào)用。
客戶機裝置通過發(fā)送SOAP消息執(zhí)行web服務(wù)調(diào)用。響應(yīng)于用于web服務(wù)調(diào)用的SOAP消息,OSGi家庭網(wǎng)關(guān)將SOAP消息轉(zhuǎn)換為UPnP動作來調(diào)用家庭網(wǎng)絡(luò)裝置的本地服務(wù)。OSGi家庭網(wǎng)關(guān)將由本地服務(wù)調(diào)用產(chǎn)生的值轉(zhuǎn)換為SOAP消息,并且將SOAP消息發(fā)送到外部客戶機裝置。
圖6是顯示根據(jù)本發(fā)明的實施例的將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的程序的順序的流程圖。
根據(jù)本發(fā)明的實施例,OSGi家庭網(wǎng)關(guān)產(chǎn)生包括關(guān)于家庭網(wǎng)絡(luò)裝置的本地服務(wù)的信息的WSDL文檔,并且將WSDL文檔分配給外部裝置(610)。當(dāng)接收到由下載WSDL文檔的外部客戶機裝置發(fā)送的web服務(wù)調(diào)用消息時(620),調(diào)用相關(guān)的本地服務(wù)(630)。將由本地服務(wù)調(diào)用產(chǎn)生的值轉(zhuǎn)換為SOAP消息(640),并且響應(yīng)于web服務(wù)調(diào)用將SOAP消息發(fā)送到外部裝置(650)。
圖7是顯示根據(jù)本發(fā)明的實施例的通過OSGi網(wǎng)關(guān)提供web服務(wù)的綁定包的結(jié)構(gòu)的示圖。
如圖7所示,在OSGi框架上駐留處理web服務(wù)相關(guān)功能的web服務(wù)驅(qū)動器。web服務(wù)驅(qū)動器通過使用在OSGi框架中注冊的家庭網(wǎng)絡(luò)裝置服務(wù)產(chǎn)生WSDL文檔和web服務(wù)提供者綁定包,并且執(zhí)行相關(guān)的SOAP消息處理。
以UPnP服務(wù)的形式將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的家庭網(wǎng)絡(luò)裝置通過UPnP驅(qū)動器以O(shè)SGi服務(wù)的形式注冊家庭網(wǎng)絡(luò)裝置服務(wù)。同時,UPnP驅(qū)動器產(chǎn)生控制家庭網(wǎng)絡(luò)裝置服務(wù)的UPnP CP綁定包,并且在OSGi框架中注冊由UPnP CP綁定包提供的服務(wù)。當(dāng)注冊由UPnP CP綁定包提供的服務(wù)時,web服務(wù)驅(qū)動器產(chǎn)生web服務(wù)提供者綁定包和作為由家庭網(wǎng)絡(luò)裝置提供的本地服務(wù)的規(guī)范的WSDL文檔。在這里,在WSDL文檔中描述OSGi框架上由web服務(wù)提供者綁定包提供的服務(wù)的地址,并且外部web服務(wù)客戶機裝置根據(jù)在WSDL文檔中描述的信息調(diào)用web服務(wù)提供者綁定包的服務(wù)。
圖8是顯示根據(jù)本發(fā)明的實施例的OSGi網(wǎng)關(guān)的結(jié)構(gòu)的示圖。
參照圖8,OSGi網(wǎng)關(guān)800包括產(chǎn)生單元810、服務(wù)注冊單元820、分配單元830、接收單元840和web服務(wù)提供單元890。web服務(wù)提供單元890包括本地服務(wù)調(diào)用單元850、本地服務(wù)接收單元860、轉(zhuǎn)換單元870和發(fā)送單元880。
服務(wù)注冊單元820將家庭網(wǎng)關(guān)裝置提供的本地服務(wù)注冊為OSGi服務(wù)。產(chǎn)生單元810基于關(guān)于在服務(wù)注冊單元820中注冊的本地服務(wù)的信息產(chǎn)生WSDL文檔。分配單元830將由產(chǎn)生單元810產(chǎn)生的WSDL文檔分配給外部裝置。
接收單元840從外部web服務(wù)客戶機裝置接收用于web服務(wù)調(diào)用的SOAP消息。
響應(yīng)于外部web服務(wù)調(diào)用,web服務(wù)提供單元890調(diào)用由家庭網(wǎng)絡(luò)裝置提供的本地服務(wù),并且作為web服務(wù)調(diào)用的響應(yīng)返回本地服務(wù)調(diào)用的結(jié)果值。更具體地,當(dāng)接收單元840接收用于web服務(wù)調(diào)用的SOAP消息時,本地服務(wù)調(diào)用單元850調(diào)用相關(guān)的本地服務(wù)。盡管在圖中沒有顯示,但是可包括用于將SOAP消息轉(zhuǎn)換為用于本地服務(wù)調(diào)用的命令的部件??赏ㄟ^接收單元840或本地服務(wù)調(diào)用單元850執(zhí)行該部件的功能。本地服務(wù)接收單元860從家庭網(wǎng)絡(luò)裝置接收由本地服務(wù)調(diào)用單元850調(diào)用產(chǎn)生的值。轉(zhuǎn)換單元870將通過本地服務(wù)接收單元860接收的結(jié)果值轉(zhuǎn)換為SOAP消息。發(fā)送單元880將從轉(zhuǎn)換單元870輸出的SOAP消息發(fā)送到調(diào)用web服務(wù)的外部客戶機裝置。在OSGi網(wǎng)關(guān)中以至少一個OSGi綁定包實現(xiàn)這些部件。也就是,可以以執(zhí)行各個功能的各個綁定包實現(xiàn)所述部件?;蛘?,可以以執(zhí)行所有功能的單個綁定包實現(xiàn)所述部件。在這種情況下,所述部件包括用于執(zhí)行相關(guān)功能的API。將參照圖9描述其詳細的示例。
圖9是顯示根據(jù)本發(fā)明的實施例的web服務(wù)驅(qū)動器的結(jié)構(gòu)的示圖。
如圖9所示,web服務(wù)驅(qū)動器包括三個部件,也就是WS翻譯器910、SOAP處理器920和WS收聽器930。另外,web服務(wù)驅(qū)動器包括web服務(wù)部署描述符940,提供用于在OSGi框架上部署的并與設(shè)置信息相關(guān)的web服務(wù)的WSDL文檔。
WS翻譯器910通過使用在OSGi框架中注冊的綁定包產(chǎn)生WSDL文檔和web服務(wù)提供者綁定包。WS收聽器930接收用于從外部裝置發(fā)送的web服務(wù)調(diào)用的SOAP消息,并提供處理SOAP消息的功能。SOAP處理器920執(zhí)行分析和轉(zhuǎn)換SOAP消息的功能。在圖10中詳細顯示使用這些部件的API的示例。
圖11是根據(jù)本發(fā)明的實施例的用于解釋將家庭網(wǎng)絡(luò)裝置服務(wù)的WSDL文檔分配給外部裝置的程序的流程圖。在實施例中,假設(shè)用于家庭網(wǎng)絡(luò)的中間件技術(shù)是基于UPnP的。在圖11中涉及的API與傳統(tǒng)的API相應(yīng),也與圖10描述的API相應(yīng)。
用于將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的家庭網(wǎng)絡(luò)裝置(以下,稱為UPnP裝置)將家庭網(wǎng)絡(luò)裝置服務(wù)廣告給UPnP驅(qū)動器(1)。由于UPnP驅(qū)動器主要作為控制點參與UPnP網(wǎng)絡(luò),因此這種方案是可用的。UPnP驅(qū)動器導(dǎo)入相關(guān)服務(wù)(2)并產(chǎn)生用于控制在本地導(dǎo)入的服務(wù)而安裝的虛擬UPnP CP綁定包(3)。在OSGi服務(wù)注冊處中注冊由UPnP CP綁定包提供的服務(wù)(4),并且通過將get Service消息發(fā)送到OSGi服務(wù)注冊處由web服務(wù)驅(qū)動器識別注冊的服務(wù)(5)。識別注冊的服務(wù)的web服務(wù)驅(qū)動器基于信息和相關(guān)信息產(chǎn)生WSDL文檔和相關(guān)的web服務(wù)提供者綁定包(6和7)。在這里,web服務(wù)提供者綁定包被構(gòu)建為執(zhí)行與由UPnP裝置提供的服務(wù)中的操作相同的操作。在web服務(wù)驅(qū)動器注冊web服務(wù)提供者綁定包(8)和與web服務(wù)提供者綁定包相關(guān)的服務(wù)(9)之后,外部web服務(wù)客戶機裝置下載WSDL文件(10)。作為結(jié)果,完成用于將由家庭網(wǎng)絡(luò)裝置提供本地服務(wù)導(dǎo)出到外部裝置的程序。
圖12是根據(jù)本發(fā)明的實施例的用于解釋外部裝置通過web服務(wù)使用家庭網(wǎng)絡(luò)裝置服務(wù)的程序的流程圖。圖12中涉及的API是指傳統(tǒng)的API和圖10中描述的API。
在外部web服務(wù)客戶機通過使用下載的WSDL文件中的信息產(chǎn)生SOAP消息之后,外部web服務(wù)客戶機裝置將SOAP消息發(fā)送到包括在WSDL文件中的地址,從而調(diào)用與WSDL文件相關(guān)的服務(wù)(21)。web服務(wù)驅(qū)動器的WS收聽器通過HTTP服務(wù)接收SOAP消息(22)并通過使用SOAP處理器將SOAP消息轉(zhuǎn)換為JAVA對象(23)。在那之后,WS收聽器將JAVA對象發(fā)送到web服務(wù)提供者綁定包(24)。當(dāng)web服務(wù)提供者綁定包以O(shè)SGi調(diào)用方式調(diào)用虛擬UPnP CP(25)時,虛擬UPnP CP通過使用UPnP驅(qū)動器在內(nèi)部將相關(guān)的服務(wù)調(diào)用轉(zhuǎn)換為UPnP動作,并且在家庭網(wǎng)絡(luò)中調(diào)用UPnP裝置的服務(wù)(26和27)。在那之后,以JAVA對象的形式接收服務(wù)結(jié)果的WS收聽器通過使用SOAP處理器將服務(wù)的結(jié)果轉(zhuǎn)換為SOAP消息,并且將SOAP消息發(fā)送到外部web服務(wù)客戶機裝置(28)。
本發(fā)明的實施例可被寫為計算機程序,并且可在使用計算機可讀記錄介質(zhì)執(zhí)行程序的通用數(shù)字計算機中實現(xiàn)。
計算機可讀記錄介質(zhì)的示例包括磁存儲介質(zhì)(例如,ROM、軟盤、硬盤等)、光記錄介質(zhì)(例如,CD-ROMs或DVD)、和諸如載波的存儲介質(zhì)(例如,通過互聯(lián)網(wǎng)傳輸)。
根據(jù)本發(fā)明,以O(shè)SGi家庭網(wǎng)關(guān)實現(xiàn)web服務(wù)相關(guān)功能,從而家庭網(wǎng)絡(luò)裝置可通過web服務(wù)將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置,而不必在其中直接安裝web服務(wù)引擎。另外,即使在必須將滿足諸如安全、交易處理、可靠管理和服務(wù)策略的技術(shù)需求的部件添加到web服務(wù)引擎的情況下,OSGi家庭網(wǎng)關(guān)可充分地滿足所述技術(shù)需求,從而可以減少家庭網(wǎng)絡(luò)裝置的計算資源和盤資源。
盡管已經(jīng)參照其示例性實施例詳細地顯示和描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離由權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可以對其進行形式和細節(jié)的各種改變。示例性實施例應(yīng)該被認為僅是描述性的而不是用于限制的目的。因此,本發(fā)明的范圍不是由本發(fā)明的詳細描述限定的,而是由權(quán)利要求來限定,并且在該范圍內(nèi)的所有差異將被解釋為包括在本發(fā)明中。
權(quán)利要求
1.一種將家庭網(wǎng)絡(luò)服務(wù)提供給外部裝置的方法,包括(a)獲得關(guān)于由家庭網(wǎng)絡(luò)中的至少一個網(wǎng)絡(luò)裝置提供的本地服務(wù)的信息;(b)基于獲得的信息產(chǎn)生文檔,所述文檔包括關(guān)于web服務(wù)的信息以允許外部裝置調(diào)用本地服務(wù);(c)將產(chǎn)生的文檔分配給外部裝置,并且接收基于分配的文檔產(chǎn)生的web服務(wù)調(diào)用消息;以及(d)響應(yīng)于接收web服務(wù)調(diào)用消息,將本地服務(wù)從家庭網(wǎng)絡(luò)提供給外部裝置。
2.如權(quán)利要求1所述的方法,其中,家庭網(wǎng)絡(luò)是UPnP網(wǎng)絡(luò),以及在(a)中,基于UPnP廣告消息獲得關(guān)于本地服務(wù)的信息。
3.如權(quán)利要求1所述的方法,其中在(b)中產(chǎn)生的文檔是WSDL文檔,以及在(c)中,通過在UDDI注冊處中注冊WSDL文檔來分配WSDL文檔。
4.如權(quán)利要求1所述的方法,其中(d)包括響應(yīng)于接收web服務(wù)調(diào)用消息,至少一個OSGi綁定包調(diào)用網(wǎng)路裝置的本地服務(wù);使用OSGi綁定包接收本地服務(wù)作為本地服務(wù)調(diào)用的結(jié)果,并且將本地服務(wù)提供給外部裝置。
5.如權(quán)利要求4所述的方法,還包括產(chǎn)生處理用于本地服務(wù)的web服務(wù)調(diào)用的第一OSGi綁定包,其中(d)包括(d1)在第一OSGi綁定包中,通過控制本地服務(wù)的第二OSGi綁定包調(diào)用本地服務(wù);(d2)在第一OSGi綁定包中,從第二OSGi綁定包接收由本地服務(wù)調(diào)用產(chǎn)生的值;(d3)接收從第一OSGi綁定包接收的本地服務(wù)調(diào)用結(jié)果值;(d4)將接收的本地服務(wù)調(diào)用結(jié)果值轉(zhuǎn)換為與web服務(wù)調(diào)用消息相應(yīng)的響應(yīng)消息;以及(d5)將轉(zhuǎn)換的響應(yīng)消息發(fā)送到外部裝置。
6.如權(quán)利要求5所述的方法,其中,web服務(wù)調(diào)用消息和響應(yīng)消息是SOAP消息。
7.如權(quán)利要求6所述的方法,其中(d1)包括將調(diào)用消息轉(zhuǎn)換為JAVA對象;將轉(zhuǎn)換的JAVA對象發(fā)送到第一OSGi綁定包;以及在第一OSGi綁定包中,將發(fā)送的JAVA對象發(fā)送到第二OSGi綁定包,以允許第二OSGi綁定包調(diào)用本地服務(wù)。
8.如權(quán)利要求7所述的方法,其中在(d4)中將JAVA對象轉(zhuǎn)換為SOAP消息。
9.一種具有包含在其上的當(dāng)由計算機執(zhí)行時執(zhí)行如權(quán)利要求1的方法的程序的計算機可讀記錄介質(zhì)。
10.一種將家庭網(wǎng)絡(luò)裝置服務(wù)提供給外部裝置的設(shè)備,包括產(chǎn)生單元,通過使用關(guān)于由家庭網(wǎng)絡(luò)中的至少一個網(wǎng)絡(luò)裝置提供的本地服務(wù)的信息產(chǎn)生文檔,以允許外部裝置調(diào)用本地服務(wù);分配單元,將產(chǎn)生的文檔分配給外部裝置;接收單元,從外部裝置接收web服務(wù)調(diào)用消息,其中,基于分配到外部裝置的文檔產(chǎn)生web服務(wù)調(diào)用消息;以及web服務(wù)提供單元,響應(yīng)于接收web服務(wù)調(diào)用消息的接收單元,將本地服務(wù)從家庭網(wǎng)絡(luò)提供給外部裝置。
11.如權(quán)利要求10所述的設(shè)備,其中,產(chǎn)生單元基于UPnP廣告消息獲得關(guān)于本地服務(wù)的信息,家庭網(wǎng)絡(luò)是UPnP網(wǎng)絡(luò)。
12.如權(quán)利要求10所述的設(shè)備,其中,文檔是WSDL文檔,以及其中,分配單元在UDDI注冊處中注冊WSDL文檔。
13.如權(quán)利要求10所述的設(shè)備,其中,響應(yīng)于接收web服務(wù)調(diào)用消息的接收單元,web服務(wù)提供單元通過使用至少一個OSGi綁定包調(diào)用網(wǎng)絡(luò)裝置的本地服務(wù),作為本地調(diào)用通過使用OSGi綁定包接收本地服務(wù)的結(jié)果,并且將本地服務(wù)提供給外部裝置。
14.如權(quán)利要求13所述的設(shè)備,其中,產(chǎn)生單元產(chǎn)生處理用于外部裝置對本地服務(wù)的web服務(wù)調(diào)用的第一OSGi綁定包,以及其中,web服務(wù)提供單元允許第一OSGi綁定包通過控制本地服務(wù)的第二OSGi綁定包調(diào)用本地服務(wù);從第一OSGi綁定包接收本地服務(wù)調(diào)用的結(jié)果值,所述第一OSGi綁定包從第二OSGi綁定包接收本地服務(wù)調(diào)用的結(jié)果值;將接收的結(jié)果值轉(zhuǎn)換為與web服務(wù)調(diào)用消息相應(yīng)的響應(yīng)消息;并將轉(zhuǎn)換的響應(yīng)消息發(fā)送到外部裝置。
15.如權(quán)利要求14所述的設(shè)備,其中,web服務(wù)調(diào)用消息和響應(yīng)消息是SOAP消息。
16.如權(quán)利要求15所述的設(shè)備,其中,web服務(wù)提供單元將web服務(wù)調(diào)用消息轉(zhuǎn)換為JAVA對象,并且將轉(zhuǎn)換的JAVA對象發(fā)送到第一OSGi綁定包,以允許第一OSGi綁定包使用JAVA對象通過控制本地服務(wù)的第二OSGi綁定包調(diào)用本地服務(wù)。
17.如權(quán)利要求16所述的設(shè)備,其中,web服務(wù)提供單元以JAVA對象的形式接收結(jié)果值,并且以SOAP消息的形式將結(jié)果值轉(zhuǎn)換為響應(yīng)消息。
全文摘要
將由家庭網(wǎng)路中的家庭網(wǎng)絡(luò)裝置提供的本地服務(wù)提供給外部裝置的方法和設(shè)備。OSGi網(wǎng)關(guān)通過使用關(guān)于由家庭網(wǎng)絡(luò)裝置提供的本地服務(wù)的信息產(chǎn)生WSDL文件,并且分配WSDL文檔以允許外部裝置通過使用web服務(wù)調(diào)用本地服務(wù)。響應(yīng)于從外部裝置接收的SOAP消息,在家庭網(wǎng)路中調(diào)用家庭網(wǎng)絡(luò)中的本地服務(wù)。將本地服務(wù)調(diào)用的響應(yīng)消息轉(zhuǎn)換為SOAP消息,并且將SOAP消息發(fā)送到外部裝置。因此,家庭網(wǎng)絡(luò)裝置可通過web服務(wù)將家庭網(wǎng)絡(luò)服務(wù)提供給外部裝置,而不用直接安裝web服務(wù)引擎。
文檔編號H04L29/06GK1949731SQ20061013181
公開日2007年4月18日 申請日期2006年10月12日 優(yōu)先權(quán)日2005年10月12日
發(fā)明者金齊旭 申請人:三星電子株式會社