專利名稱:HAVi及其它網(wǎng)際互聯(lián)設(shè)備中的資源請求轉(zhuǎn)發(fā)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在外部網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)之間交換消息的方法,該方法包括使用由控制設(shè)備提供的應(yīng)用程序接口(API)和/或命令協(xié)議。本發(fā)明還涉及功能控制模塊(FCM)和網(wǎng)際互聯(lián)設(shè)備,尤其是家庭音視頻互用性設(shè)備(HAVi),適合與該方法一起使用。
在本領(lǐng)域中已知在計算機集群系統(tǒng)中轉(zhuǎn)發(fā)輸入的資源請求,而集群連接到一個或多個網(wǎng)絡(luò)。為此目的集群系統(tǒng)包含了一個網(wǎng)關(guān),使集群之外的主機能夠訪問集群中的目的結(jié)點和進(jìn)程。該網(wǎng)關(guān)包含一個消息交換器,由它處理跨越集群邊界進(jìn)出的端口-類型消息。這樣的處理包括讀取傳輸層消息頭中的軟件通信協(xié)議編號,例如TCP/UDP消息頭的端口字段,以確定它是否是源自集群之外某個位置的端口-類型消息。如果是,就找到消息上的端口號位置和協(xié)議類型,用它們來在駐留在消息交換器的存儲器里的一個表格中查找端口特定路由選擇函數(shù)的匹配。如果找到了匹配的表入口,就選擇與該入口相聯(lián)的路由選擇函數(shù)并運行它。該路由選擇函數(shù)通過修改或計算引入消息的目的地址來把消息發(fā)送到集群中正確的計算機結(jié)點,以便把該消息定位給集群中的正確結(jié)點。
所描述的消息交換路由只在一種特定環(huán)境下才能很好地運行,在這種環(huán)境中用戶想要運行和不止一個結(jié)點上的某個特定的眾所周知的端口號相連的應(yīng)用或服務(wù)。這就產(chǎn)生了一個問題,非標(biāo)準(zhǔn)端口號是否以及何時對因特網(wǎng)客戶是未知的,或者端口號何時因為被放置在防火墻之后而不可用。本領(lǐng)域所面對的另一個問題和轉(zhuǎn)發(fā)機制自身有關(guān)已知的轉(zhuǎn)發(fā)機制把一個端口上所有引入請求都轉(zhuǎn)發(fā)給一個地址。因為所有的機制都有默認(rèn)端口號,這意味著在默認(rèn)端口上進(jìn)入的所有請求也都被轉(zhuǎn)發(fā)給相同的地址。
本發(fā)明的一個目的是使運行在任意結(jié)點上的應(yīng)用程序能夠通過網(wǎng)絡(luò)邊界訪問和被訪問,而且不需要網(wǎng)絡(luò)中的所有設(shè)備都實現(xiàn)它們自己的專有IP-網(wǎng)關(guān)。本發(fā)明的另一個目的是提供一種方法,使HAVi設(shè)備能夠沒有任何限制地通過網(wǎng)絡(luò)邊界訪問和被訪問。進(jìn)一步的目標(biāo)是提供適合與這樣的方法一起使用的功能控制模塊(FCM)、設(shè)備和系統(tǒng)。
根據(jù)本發(fā)明的一個方面,憑借權(quán)利要求1中的交換消息的方法實現(xiàn)了一個或多個所提出的目標(biāo)。
基本的新穎性和創(chuàng)造性概念是使用資源請求的URL,以它的匹配內(nèi)容作為轉(zhuǎn)發(fā)它的基礎(chǔ)。實際上,相關(guān)的轉(zhuǎn)發(fā)設(shè)備構(gòu)成了一個應(yīng)用層網(wǎng)關(guān)。一個引入請求的URL中信息的匹配對應(yīng)于匹配它的頭和體中的信息。URL還可以涉及到消息交換。在這兩種情況中相關(guān)技術(shù)優(yōu)勢是簡單的API和/或命令協(xié)議就足以像命令網(wǎng)關(guān)的函數(shù)的裝置一樣開始或停止轉(zhuǎn)發(fā)引入請求,尤其是在與傳輸層中的消息頭的檢查相比時,例如TCP/UDP消息頭中的端口字段。
關(guān)于涉及到消息交換的URL,網(wǎng)關(guān)擔(dān)當(dāng)引入消息的接收者,而且它還依照相關(guān)協(xié)議作出應(yīng)答,直到識別出一個匹配為止,然后消息就可以被轉(zhuǎn)發(fā)了,或者沒有識別出匹配,隨后消息被拒絕。
在進(jìn)一步的實施方案中,控制函數(shù)包括以下操作從請求消息重新構(gòu)造或更改輸入的URL,并把完全或不完全重構(gòu)或更改過的URL轉(zhuǎn)發(fā)給一個響應(yīng)內(nèi)部設(shè)備。這其中的優(yōu)勢是重構(gòu)或更改過的URL更易于轉(zhuǎn)發(fā),替代了與請求相連的特定協(xié)議,該協(xié)議在一些情況下可能非常復(fù)雜。這允許簡單的客戶設(shè)備能夠向與復(fù)雜協(xié)議相連的請求提供至少是最低限度的響應(yīng)。重構(gòu)或更改字符串所要求的技能同樣為本領(lǐng)域所知。URL匹配機制能夠處理不完全重構(gòu)的URL,只要確保重構(gòu)的URL的缺失元素滿足將要被逆向匹配的模式即可,即確保重構(gòu)URL的缺失元素由API和/或命令協(xié)議的REGEXP字段中的通配符所匹配。
在另一種更進(jìn)一步的實施方案中,控制函數(shù)包括一個函數(shù),該函數(shù)把引入請求多播到內(nèi)部網(wǎng)絡(luò)上有與輸入的URL-模式相匹配的地址的多個設(shè)備。這允許多個設(shè)備各自實現(xiàn)URL方案的一部分。這些設(shè)備可以共享單個端口,例如默認(rèn)端口。因而默認(rèn)端口上的轉(zhuǎn)發(fā)對客戶設(shè)備來說可以是透明的。
更進(jìn)一步,控制函數(shù)包括一種操作,用于處理來自多個設(shè)備對轉(zhuǎn)發(fā)請求的響應(yīng),還用于轉(zhuǎn)發(fā)引入請求的URL或部分到特定的一個響應(yīng)內(nèi)部設(shè)備。對控制設(shè)備的任何響應(yīng)都可以通過使用(可上載)組合函數(shù)而組合成一個單一的響應(yīng)。這提供了穩(wěn)定性,因為只要有至少一個內(nèi)部設(shè)備進(jìn)行了響應(yīng),服務(wù)器函數(shù)就在運行中。它還提供了信息集合的優(yōu)勢,例如提供了對信息的縱覽。它進(jìn)一步提供了速度,因為最快的可用服務(wù)將做出響應(yīng)。在對控制設(shè)備沒有響應(yīng)的情況下,資源請求實際上象信息分發(fā)服務(wù)一樣運行。
依照該方法,與資源請求相連的URL被以一種方案-特定方式編碼在請求中。對HTTP版本來說,例如主機名并不總是被包括在消息中,或者請求包括消息中ASCII格式的整個未更改的URL。因特網(wǎng)網(wǎng)關(guān)只接受針對方案的轉(zhuǎn)發(fā)請求,針對這些方案它能夠從實際的資源請求消息解碼出URL。當(dāng)資源請求在因特網(wǎng)網(wǎng)關(guān)被接收時,只在請求-URL與所存儲的轉(zhuǎn)發(fā)地址對應(yīng)的URL-模式相匹配時這個請求才會被轉(zhuǎn)發(fā)給存儲在與網(wǎng)關(guān)相連的表中的轉(zhuǎn)發(fā)地址。
應(yīng)該清楚本發(fā)明的目標(biāo)是資源請求被轉(zhuǎn)發(fā)而且關(guān)于資源請求如何被轉(zhuǎn)發(fā)沒有限制的地方。
依照本發(fā)明的另一個方面,消息交換方法適合用在引入請求與下列之一相連的地方音頻消息,數(shù)字圖像,視頻圖像,音頻-視頻錄制和文檔。此外,消息交換方法適合用在外部網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)與下列之一相連的地方HAVi設(shè)備,個人計算機,網(wǎng)絡(luò)計算機和萬維網(wǎng)服務(wù)器。這其中的優(yōu)勢是互用性和流動的HAVi特征,由完整的IP-功能性所擴展,提供適合在家中進(jìn)行因特網(wǎng)訪問的載體,并且因而使得HAVi對于與廣泛的家庭網(wǎng)絡(luò)互聯(lián)設(shè)備一起使用有相當(dāng)?shù)奈Α?br>
優(yōu)選地,將要被轉(zhuǎn)換的消息與IP-應(yīng)用相連。更優(yōu)選地,將要被轉(zhuǎn)換的消息與HAVi-應(yīng)用相連,而HAVi-應(yīng)用適合與功能控制模塊(FCM)一起合適,F(xiàn)CM提供對應(yīng)用層協(xié)議服務(wù)器端的訪問。由此帶來的優(yōu)勢是任何(HAVi-)設(shè)備都可以有萬維網(wǎng)-服務(wù)器功能;(HAVi-)設(shè)備不需要IP-棧來提供萬維網(wǎng)內(nèi)容;(HAVi-)設(shè)備不需要它自己的唯一IP地址。
優(yōu)選地,提供對應(yīng)用層協(xié)議服務(wù)器端的訪問的功能控制模塊是HAVi-定義的萬維網(wǎng)代理FCM,它包括萬維網(wǎng)服務(wù)器功能。如果一個網(wǎng)關(guān)實現(xiàn)了萬維網(wǎng)服務(wù)器FCM,HAVi-only上的應(yīng)用程序能夠允許對它們的遠(yuǎn)程訪問。對HAVi家庭網(wǎng)絡(luò)的這種訪問使得家庭遠(yuǎn)程控制、電壓從家庭流向因特網(wǎng)、服務(wù)來自家庭的萬維網(wǎng)頁以及能夠運行在因特網(wǎng)服務(wù)器上的其它應(yīng)用程序成為可能。IP-only設(shè)備上的任意瀏覽器都能夠訪問這些服務(wù)器,就像它們訪問普通因特網(wǎng)服務(wù)器那樣。萬維網(wǎng)服務(wù)器FCM提供對引入請求的精確轉(zhuǎn)發(fā)。
提供對應(yīng)用層協(xié)議服務(wù)器端的訪問的功能控制模塊的一種替代對象是HAVi-定義的萬維網(wǎng)代理FCM,它包括TCP/UDP功能。這其中的優(yōu)勢是現(xiàn)有的HAVi應(yīng)用和設(shè)備可以不加變化地保留下來。此外,IP-only設(shè)備可以不加更改并且能夠和使用TCP/UDP FCM的HAVi應(yīng)用程序共同使用。因而TCP/UDP FCM允許HAVi應(yīng)用程序?qū)崿F(xiàn)任意應(yīng)用層協(xié)議,允許訪問協(xié)議(包括新興的點到點因特網(wǎng)協(xié)議)的客戶端和服務(wù)器端。
總之,已知的萬維網(wǎng)代理FCM和萬維網(wǎng)服務(wù)器FCM提供了對多種應(yīng)用層協(xié)議的完全訪問。這兩種FCM基本上為應(yīng)用層協(xié)議的受限集合提供了傳輸層API。TCP/UDP FCM提供對傳輸層協(xié)議的完全訪問它支持TCP/UDP之上的任意應(yīng)用層;它可以用來為現(xiàn)有應(yīng)用程序的輕松移植實現(xiàn)眾所周知的套接字API,并且它還提供了對客戶機/服務(wù)器協(xié)議的服務(wù)器端的訪問。
因而本發(fā)明的另一個基本思想是提供非受限的任意HAVi應(yīng)用程序和對整個(網(wǎng)關(guān))IP-棧的完全訪問。這使得可以為任意相關(guān)協(xié)議而擴展帶有不同API和/或命令協(xié)議的萬維網(wǎng)FCM。關(guān)于無連接協(xié)議,所有的HAVi應(yīng)用程序共享一個IP地址。依照本發(fā)明,請求被多播出去,而且應(yīng)用程序被配置用來過濾相關(guān)的響應(yīng)和數(shù)據(jù)。應(yīng)用程序還可配置用來保留對一個或多個協(xié)議以及一個或多個端口的專有訪問。還可以根據(jù)本發(fā)明限制API和/或命令協(xié)議為基于連接的協(xié)議,例如TCP。
本發(fā)明還與適合依照本發(fā)明與消息交換方法一起使用的因特網(wǎng)網(wǎng)關(guān)設(shè)備以及實踐本發(fā)明的計算機程序有關(guān)。此外,本發(fā)明還與權(quán)利要求14中的系統(tǒng)有關(guān),例如因特網(wǎng)網(wǎng)關(guān)設(shè)備,包括接收單元、轉(zhuǎn)發(fā)單元和控制單元,該系統(tǒng)適合實現(xiàn)本發(fā)明的方法。
從關(guān)于下文描述的實施方案所作的闡述將了解本發(fā)明的這些和其它方面。
圖1描繪了適合與本發(fā)明一起使用的通用萬維網(wǎng)服務(wù)器結(jié)構(gòu);圖2描繪了HAVi的萬維網(wǎng)服務(wù)器擴展的示意規(guī)劃圖;圖3描繪了添加到網(wǎng)關(guān)一端的HAViML服務(wù)器(HAViML是一種基于XML的語言,適于把API和/或命令協(xié)議轉(zhuǎn)換成現(xiàn)有的markup語言,例如XML或SOAP)以及添加到網(wǎng)關(guān)另一端上的IP設(shè)備的HAViML客戶機;圖4描繪了對HAViML和HAVi萬維網(wǎng)服務(wù)器FCM組合的使用。
根據(jù)本發(fā)明的一種實施方案,圖1中示意性地顯示了它的一般結(jié)構(gòu),一共有兩塊,服務(wù)器FCM100和應(yīng)用程序200,它們形成了因特網(wǎng)網(wǎng)關(guān)。服務(wù)器FCM塊100包括套接字監(jiān)聽設(shè)備110、一個或多個套接字處理設(shè)備120、FCM監(jiān)聽設(shè)備130和轉(zhuǎn)發(fā)管理設(shè)備140。應(yīng)用程序塊200包括FCM客戶監(jiān)聽設(shè)備210、一個或多個響應(yīng)設(shè)備220、FCM客戶設(shè)備230和組織設(shè)備240。在操作中,由套接字監(jiān)聽設(shè)備110獲得引入請求,例如HTTP請求,并送往套接字處理設(shè)備120。套接字處理設(shè)備120通過轉(zhuǎn)發(fā)管理設(shè)備140使URL-模式和所存儲的轉(zhuǎn)發(fā)地址相匹配。FCM監(jiān)聽設(shè)備130添加一個轉(zhuǎn)發(fā)代碼,套接字處理設(shè)備120把該請求多播到FCM客戶監(jiān)聽設(shè)備210。應(yīng)用程序塊200的組織設(shè)備240提供一個或多個FCM客戶設(shè)備230以響應(yīng)多播來的請求;響應(yīng)客戶設(shè)備向服務(wù)器FCM塊100上的FCM監(jiān)聽設(shè)備130發(fā)送一個代碼,并向應(yīng)用程序塊200上的響應(yīng)設(shè)備220發(fā)送另一個代碼。響應(yīng)設(shè)備220還向服務(wù)器FCM塊上的FCM監(jiān)聽設(shè)備130發(fā)送一個代碼,隨后130把來自應(yīng)用程序塊的響應(yīng)發(fā)送給套接字處理塊120。套接字處理設(shè)備120隨后僅僅把引入請求轉(zhuǎn)發(fā)給FCM客戶設(shè)備230,230已經(jīng)列出了與引入消息的URL-模式匹配的URL-模式。最后,套接字處理設(shè)備120把應(yīng)用程序塊200的響應(yīng)轉(zhuǎn)發(fā)給因特網(wǎng)上提出請求的客戶機。
網(wǎng)關(guān)設(shè)備包括有控制函數(shù),因而能夠接收三個消息、緩存這些消息、執(zhí)行匹配操作,然后轉(zhuǎn)發(fā)消息到網(wǎng)絡(luò)中的不同地址。當(dāng)然單一的請求也可以包括幾個消息。因而它允許內(nèi)部網(wǎng)絡(luò)中的幾個設(shè)備同時等待指向單一端口的引入請求。
關(guān)于在幾個設(shè)備之間共享一個萬維網(wǎng)服務(wù)器功能的方式因而可能設(shè)備A代替“mysite.com/*.wmp”,設(shè)備B代替“mysite.com/*.txt”等等。至于匹配操作網(wǎng)關(guān)提供一個正則表達(dá)式列表,代替hash值。例如,可以用列出的正則表達(dá)式來匹配包括“give all requests for*.txt”、“all streaming requests”和“subdirectory X”的引入消息。這可能需要到協(xié)議的轉(zhuǎn)換,因為URL可能需要重構(gòu)并轉(zhuǎn)發(fā)到適當(dāng)?shù)姆?wù)器。連接到網(wǎng)關(guān)的服務(wù)器端的設(shè)備需要通過提供列表中的正則表達(dá)式來命令或配置網(wǎng)關(guān)。單個資源的高速緩沖存儲器可能還需要在服務(wù)器端進(jìn)行配置。
圖2提供了HAVi的萬維網(wǎng)服務(wù)器FCM擴展的示意規(guī)劃圖。這個實例描述用來一點任意HAVi應(yīng)用程序能夠提供完整的萬維網(wǎng)服務(wù)器功能。服務(wù)器FCM與提供主頁的http服務(wù)器相連,而該主頁有一個到引擎應(yīng)用程序的鏈接。萬維網(wǎng)服務(wù)器FCM和http服務(wù)器與有一個或多個HAVi盒的遠(yuǎn)程HAVi網(wǎng)絡(luò)相連,而且它們形成了通往一個或多個http客戶機的網(wǎng)關(guān)。用戶接口應(yīng)用程序負(fù)責(zé)網(wǎng)關(guān)的客戶端,引擎應(yīng)用程序負(fù)責(zé)網(wǎng)關(guān)的內(nèi)部設(shè)備(例如,HAVi設(shè)備)端。結(jié)合起來,用戶接口應(yīng)用程序和引擎應(yīng)用程序使得網(wǎng)關(guān)的內(nèi)部(HAVi)設(shè)備端上分布式應(yīng)用程序的實現(xiàn)成為可能。關(guān)于這個結(jié)構(gòu)要考慮兩點。第一點是應(yīng)用程序預(yù)訂端口/子目錄和相關(guān)協(xié)議。關(guān)于此點的實例為ServerProxyServeMe(8080,’FTP’)ServerProxyServeMe(8080,’www.bodlaender.home/tivo’,’HTTP’)要考慮的第二點是因特網(wǎng)瀏覽器能夠向著應(yīng)用程序推進(jìn)。例如<A HREF=’www.bodlaender.home/tive?password=131255>checktivo</a>
圖3描繪了添加到網(wǎng)關(guān)一端的HAViML服務(wù)器(HAViML是一種基于XML的語言,適合把API和/或命令控制協(xié)議現(xiàn)有了標(biāo)記語言,例如XML或SOAP)和添加到網(wǎng)關(guān)另一端上的IP設(shè)備的HAViML客戶機。這個實例用于描述一點HAVi應(yīng)用程序能夠在任意非HAVi設(shè)備上運行。HAViML服務(wù)器與提供主頁的http服務(wù)器相連,而該主頁有一個到HAViML的鏈接。與HAViML服務(wù)器相連的還有一個SE管理器,由代理SE在內(nèi)部網(wǎng)絡(luò)中代表一個或多個遠(yuǎn)程內(nèi)部HAVi設(shè)備。http服務(wù)器形成了通往一個或多個http客戶機的因特網(wǎng)網(wǎng)關(guān)的一部分。HAVi應(yīng)用程序充當(dāng)網(wǎng)關(guān)的客戶端,覆蓋了SE API和/或命令控制上的HJA、消息系統(tǒng)代理和http客戶機&服務(wù)器。關(guān)于這個結(jié)構(gòu)要考慮幾點。第一,整個遠(yuǎn)程棧都可以從索引頁下載。第二,遠(yuǎn)程服務(wù)可以完整地提供任意HAVi應(yīng)用程序。第三,這個結(jié)構(gòu)需要網(wǎng)關(guān)客戶端上的一些分層。HAViML(定義如上)非常適于允許未經(jīng)改動的HAVi應(yīng)用程序運行在IP設(shè)備上。HAViML有兩個缺點一個與安全風(fēng)險有關(guān),另一個與它是專有解決方案有關(guān)。HAViML適合用在始終不需要提供對HAVi家庭網(wǎng)絡(luò)的完全訪問時,以及稍微有些受限的訪問形式更優(yōu)越時。
圖4描繪了對HAViML和HAVi萬維網(wǎng)服務(wù)器FCM組合的使用。這將描述一點HAViML可以是使用服務(wù)器FCM的HAVi應(yīng)用程序。服務(wù)器FCM與提供主頁的http服務(wù)器相連,而該主頁有到HAViML服務(wù)器應(yīng)用程序的鏈接。服務(wù)器FCM和http服務(wù)器與包括一個或多個HAVi盒的遠(yuǎn)程HAVi網(wǎng)絡(luò)相連,并且它們形成了通往一個或多個http客戶機的因特網(wǎng)網(wǎng)關(guān)。與HAViML服務(wù)器相連的還有SE管理器和代理SE。由代理SE表示HAVi網(wǎng)絡(luò)中的一個或多個內(nèi)部HAVi設(shè)備。http服務(wù)器形成了通往一個或多個客戶機的網(wǎng)關(guān)的一部分。HAVi應(yīng)用程序充當(dāng)網(wǎng)關(guān)的客戶端,它覆蓋了SE API和/或命令協(xié)議上的HJA、消息系統(tǒng)代理和與http客戶機分離的http服務(wù)器。關(guān)于這個結(jié)構(gòu)要考慮兩點。第一,HAViML服務(wù)器應(yīng)用程序與消息系統(tǒng)代理和SE管理器相連。第二,HAViML客戶機與消息系統(tǒng)代理、SE API和/或命令協(xié)議、HJA和HJA應(yīng)用程序相連。
在這個實施方案中跨越網(wǎng)關(guān)的流量可以包括下列交換(在HAVi設(shè)備上)SetverProxyServeMe(‘www.bodlaender.home/HPAViML’,’HTTP’)(在HTTP客戶機設(shè)備上)用下列鏈接獲取’www.bodlaender.home’萬維網(wǎng)頁<AHREF=’www.bodlaender.home/HAViML?application=demoapp’>demoHAViML</a>
(在服務(wù)器FCM上,在請求之后)轉(zhuǎn)發(fā)’application=demoapp’給HAVi盒(在HAVi盒上)用HAViML小應(yīng)用程序’demoapp’應(yīng)答(在客戶機設(shè)備上)運行小應(yīng)用程序,啟動普通的HAViML應(yīng)用程序通過下面的實例來描述本發(fā)明的一個方面,與使用資源請求的URL、根據(jù)它的匹配內(nèi)容對其進(jìn)行轉(zhuǎn)發(fā)有關(guān)。參與者為因特網(wǎng)客戶機C、因特網(wǎng)網(wǎng)關(guān)設(shè)備G、家庭網(wǎng)絡(luò)客戶機H1和H2。遵循如下步驟步驟1G獲得一個因特網(wǎng)連接,DNS名為“Philips.com”
(共享郵件服務(wù)器)步驟2H1請求從G轉(zhuǎn)發(fā)郵件協(xié)議ForwardingToStart(“mailto*Gravemdeel*”,H1_address)注冊處理H2請求從G轉(zhuǎn)發(fā)郵件協(xié)議ForwardingToStart(“mailto*Gravemdeel*”,H2_address)注冊處理步驟3C發(fā)送郵件消息“mailtoMaarten.Bodlaender@Philips.com”步驟4G接收郵件消息,解碼該消息的URL并找到該消息的URL到H1的模式的匹配G轉(zhuǎn)發(fā)該郵件消息給H1步驟5H1接收郵件消息(共享HTTP服務(wù)器)步驟6H1請求從G轉(zhuǎn)發(fā)HTTP協(xié)議ForwardingToStart(“HTTP//H1/*”,H1_address)注冊處理H2請求從G轉(zhuǎn)發(fā)HTTP協(xié)議ForwardingToStart(“HTTP//H2/*”,H2_address)注冊處理步驟7C請求萬維網(wǎng)頁http//www.philips.com/H2/index.html步驟8G接收步驟7中的請求,解析出該消息的URL并找到該消息的URL到H2的模式的匹配G轉(zhuǎn)發(fā)該請求消息給H2步驟9H2接收請求,并返回響應(yīng)給G步驟10G把響應(yīng)轉(zhuǎn)回給C
HAVi服務(wù)器FCM的應(yīng)用程序接口的一種實施方案包括網(wǎng)關(guān)連接的服務(wù)器端上的下列方法ServerProxyServeMe(in ProtocolType protocol,in uint portNumber,//如果為0表示protocol的默認(rèn)端口,或任意可用端口in OperationCode opCode,//實現(xiàn)服務(wù)器的回調(diào)方法in short myBufferSize,out short proxyBufferSizeout uint assignedPortNumber)ServerDontServeMe(in uint assigned PortNumber)<Client>OpenRequest(in long cid,//每個并發(fā)請求的唯一標(biāo)識符out OperationCode opCode,//回調(diào)方法(特定的消息處理器)<Client>Receive(in long cid,//每個并發(fā)請求的唯一標(biāo)識符in FileLoc where,in sequence<octet>WebData)//包括部分REQUESTServerProxySend(in long cid,in FileLoc where,in sequence<octet>WebData)//包括部分RESPONSE<Client>CloseRequest(in long cid)HAVi服務(wù)器FCM的應(yīng)用程序接口的另一種實施方案包括網(wǎng)關(guān)連接的客戶端上的下列方法ServerProxyClientServeMe(in String prefix,in short myBufferSize,out short proxyBufferSize,
out uint assigned PortNumber)ServerProxyClientDontServeMe(in uint assigned PortNumber)ServerProxyClientSend(in long cid,in FileLoc where,in sequence<octet>webData)//包含部分RESPONSE客戶機監(jiān)聽器實現(xiàn)下列方法以接收請求<Client>Receive(in long cid,//每個并發(fā)請求的唯一標(biāo)識符in FileLoc where,in sequence<octet>webData)//包含部分REQUESTwhere=FIRST/direct ENDcid上的結(jié)構(gòu)管理,開始緩存請求(MIDDLE)=END派生響應(yīng)器SEND(cid)然而HAVi服務(wù)器FCM的應(yīng)用程序接口的另一種實施方案包括網(wǎng)關(guān)連接的客戶端上的下列方法ServerProxyClientServeMe(in String REGEXP,in short myBufferSize,out short proxyBufferSize,out uint assignedPortNumber)ServerProxyClientDontServeMe(in uint assigned PortNumber)ServerProxyClientSend(in long cid,in FileLoc where,in sequence<octet>webData)//包含部分RESPONSE客戶機監(jiān)聽器實現(xiàn)下列方法以接收請求<Client>Receive(in long cid,//每個并發(fā)請求的唯一標(biāo)識符in FileLoc where,
in sequence<octet>webData)//包含部分REQUESTwhere=FIRST/direct ENDcid上的結(jié)構(gòu)管理,開始緩存請求(MIDDLE)=END派生響應(yīng)器SEND(cid)最后,本發(fā)明還擴展到了計算機程序,尤其是載體上或載體中適于實踐本發(fā)明的計算機程序。程序形式可以是源代碼、目標(biāo)代碼、中間源代碼和部分編譯過的目標(biāo)代碼,或者適合用于實現(xiàn)合乎本發(fā)明的方法的任意其它形式。載體可以是能夠攜帶程序的任意實體或設(shè)備。例如,載體可以包括存儲介質(zhì),或者是可傳送載體,例如電子信號或光信號,可以通過電纜或光纜或者通過電波或其它裝置傳送。當(dāng)程序被具體化在可以由電纜或者其它設(shè)備或裝置直接傳送的信號中時,載體可以由這樣的電纜或者其它設(shè)備裝置構(gòu)成。作為選擇,載體也可以是集成電路,程序被包含在其中,集成電路適合執(zhí)行相關(guān)的處理步驟或用在相關(guān)處理步驟的程序中。
上述一般性的創(chuàng)新和發(fā)明概念使得能夠通過網(wǎng)際互聯(lián)不加任何限制地訪問運行在任意HAVi結(jié)點上的應(yīng)用程序。如果至少有一個連接到網(wǎng)絡(luò)上的HAVi設(shè)備有因特網(wǎng)訪問,那么任意基于IP的應(yīng)用程序可以是HAVi包裝的,或者可以運行在任意HAVi-box上;并且任意HAVi應(yīng)用程序能夠運行完整的萬維網(wǎng)服務(wù)器和/或萬維網(wǎng)客戶機功能;而且任意HAVi應(yīng)用程序能夠運行在任意非HAVi設(shè)備上。
權(quán)利要求
1.一種在外部網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)之間交換消息的方法,該方法包括使用由控制設(shè)備提供的應(yīng)用程序接口(API)和/或命令協(xié)議,API和/或命令協(xié)議包括控制請求轉(zhuǎn)發(fā)的函數(shù),請求包括統(tǒng)一資源定位符(URL),它來自外部網(wǎng)絡(luò)的一個設(shè)備,并且指向與內(nèi)部網(wǎng)絡(luò)的一個設(shè)備相連的地址,借此該函數(shù)包括下列操作a)ForwardingtoAdd(URL-模式,轉(zhuǎn)發(fā)地址)注冊處理;其中URL-模式是一個正則表達(dá)式,轉(zhuǎn)發(fā)地址是一個網(wǎng)絡(luò)地址,例如IP地址或HAVi地址或本地過程地址,這樣在使用過程中URL-模式和轉(zhuǎn)發(fā)地址在控制設(shè)備的內(nèi)部狀態(tài)中可以存儲;和b)ForwardingtoStop(URL-模式,轉(zhuǎn)發(fā)地址);這樣在使用過程中包括在注冊處理中的URL-模式和轉(zhuǎn)發(fā)地址可以從控制設(shè)備的中間狀態(tài)移除;作為轉(zhuǎn)換通往內(nèi)部網(wǎng)絡(luò)設(shè)備的引入消息的基礎(chǔ)。
2.根據(jù)權(quán)利要求1的消息交換方法,其中控制函數(shù)包括下列操作從請求消息重構(gòu)或更改引入URL,轉(zhuǎn)發(fā)完全或不完全重構(gòu)或更改的URL到一個響應(yīng)內(nèi)部設(shè)備。
3.根據(jù)權(quán)利要求1或2的消息交換方法,其中控制函數(shù)包括把引入請求多播到內(nèi)部網(wǎng)絡(luò)上的多個設(shè)備的函數(shù),這些設(shè)備有與引入URL-模式相匹配的地址。
4.根據(jù)權(quán)利要求3的消息交換方法,其中控制函數(shù)包括下列操作處理來自多個設(shè)備的對轉(zhuǎn)發(fā)請求的響應(yīng),并且轉(zhuǎn)發(fā)引入請求的URL或部分到一個特定的響應(yīng)內(nèi)部設(shè)備。
5.根據(jù)權(quán)利要求1-4中任意一個的消息交換方法,適合用在引入請求與下列之一相連的地方音頻消息、數(shù)字圖像、視頻圖像、音頻-視頻記錄和文檔。
6.根據(jù)權(quán)利要求1-4中任意一個的消息交換方法,適合用在外部網(wǎng)絡(luò)和/或內(nèi)部網(wǎng)絡(luò)與下列之一相連的地方HAVi設(shè)備、個人計算機、網(wǎng)絡(luò)計算機和萬維網(wǎng)服務(wù)器。
7.根據(jù)權(quán)利要求6的消息交換方法,其中將要被轉(zhuǎn)換的消息與一個IP應(yīng)用程序相連。
8.根據(jù)權(quán)利要求6的消息交換方法,其中將要被轉(zhuǎn)換的消息與一個HAVi應(yīng)用程序相連,而HAVi應(yīng)用程序適合與功能控制模塊(FCM)一起使用,F(xiàn)CM提供對應(yīng)用層協(xié)議的服務(wù)器端的訪問。
9.一種功能控制模塊(FCM),適合與權(quán)利要求8的方法一起使用,其中FCM是包括萬維網(wǎng)服務(wù)器功能的HAVi萬維網(wǎng)代理FCM。
10.一種功能控制模塊(FCM),適合與權(quán)利要求8的方法一起使用,其中FCM是包括TCP/UDP功能的HAVi萬維網(wǎng)代理FCM
11.一種因特網(wǎng)網(wǎng)關(guān)設(shè)備,適合與1-10中任意一個權(quán)利要求中的消息交換方法一起使用。
12.一個包括指令的計算機程序,其中的指令至少包括定義過程和函數(shù)的代碼,這些過程和函數(shù)將關(guān)于檢查和匹配代碼以及與上述匹配代碼相加的地址重定向而被執(zhí)行,以及使可編程處理設(shè)備有到傳輸硬件的連接或者正在連接傳輸硬件的代碼,以使其變得可操作,從而執(zhí)行1-8的任意一個權(quán)利要求中的消息交換方法中的ForwardingtoAdd和ForwardingtoStop操作。
13.一種傳輸實體,其中的權(quán)利要求12中的計算機程序形成一個部件。
14.一種系統(tǒng),例如因特網(wǎng)網(wǎng)關(guān)設(shè)備,包括-接收單元,接收輸入的請求,請求來自外部網(wǎng)絡(luò),包括一個統(tǒng)一資源定位符(URL);-轉(zhuǎn)發(fā)單元,轉(zhuǎn)發(fā)URL或URL的一部分到通過內(nèi)部網(wǎng)絡(luò)與該系統(tǒng)相連的多個設(shè)備;-控制單元,適合與應(yīng)用程序接口(API)和/或命令協(xié)議一起使用,API和/或命令協(xié)議包括控制引入請求轉(zhuǎn)發(fā)的函數(shù),該函數(shù)包括下列操作a)ForwardingtoAdd(URL-模式,轉(zhuǎn)發(fā)地址)注冊處理;其中URL-模式是一個正則表達(dá)式,轉(zhuǎn)發(fā)地址是一個網(wǎng)絡(luò)地址,例如IP地址或HAVi地址或本地過程地址,這樣在使用過程中URL-模式和轉(zhuǎn)發(fā)地址可以存儲在在控制設(shè)備的內(nèi)部狀態(tài)中;和b)ForwardingtoStop(URL-模式,轉(zhuǎn)發(fā)地址);這樣在使用過程中包括在注冊處理中的URL-模式和轉(zhuǎn)發(fā)地址可以從控制設(shè)備的中間狀態(tài)移除;其中接收和轉(zhuǎn)發(fā)單元是在API和/或命令協(xié)議功能操作的基礎(chǔ)上由控制單元控制的。
全文摘要
本發(fā)明與以匹配URL-模式為基礎(chǔ)的交換消息的方法有關(guān),并且與接收URL的設(shè)備有關(guān),該設(shè)備可配置用來以根據(jù)專用標(biāo)準(zhǔn)定義一組URL的正則表達(dá)式為基礎(chǔ)檢查并匹配URL,如果所檢查的URL與所定義的集合中的一個URL相匹配,就把該URL轉(zhuǎn)發(fā)給已經(jīng)根據(jù)上述正則表達(dá)式用匹配定義在服務(wù)器上注冊過的設(shè)備。本發(fā)明使得運行在任意HAVi結(jié)點上的應(yīng)用程序能夠不受限制地訪問和被訪問。如果至少有一個連接到網(wǎng)絡(luò)上的HAVi設(shè)備有因特網(wǎng)訪問,那么任意基于IP的應(yīng)用程序都可以是HAVi包裝的,并且可以運行在任意HAVi盒上;任意HAVi應(yīng)用程序都能夠提供完整的萬維網(wǎng)服務(wù)器和/或web客戶機功能;任意HAVi應(yīng)用程序都可以運行在任意非HAVi設(shè)備上。
文檔編號G06F15/00GK1393091SQ01803146
公開日2003年1月22日 申請日期2001年7月26日 優(yōu)先權(quán)日2000年8月14日
發(fā)明者M·P·博德拉恩德 申請人:皇家菲利浦電子有限公司