專利名稱:路由選擇的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及從客戶機至多個服務(wù)器之一的消息的路由選擇和從服務(wù)器返回至客戶機的應(yīng)答消息的路由選擇。本發(fā)明特別涉及消息的適配來實現(xiàn)此路由選擇。
通過定義客戶機與服務(wù)器能生成例如無線電手機的電子設(shè)備的功能。服務(wù)器提供資源的一項業(yè)務(wù)或一組業(yè)務(wù)??蛻魴C通過將請求消息發(fā)送給合適的服務(wù)器來接入這些業(yè)務(wù)。隨后將該接入的結(jié)果作為應(yīng)答消息返回給客戶機。
然而,此設(shè)備可以具有提供相似業(yè)務(wù)的多個相似資源。這些重復(fù)業(yè)務(wù)可能相互獨立,在任何一個時間多個業(yè)務(wù)之中只有一個業(yè)務(wù)是合適的。這些重復(fù)資源之中的每個資源將具有相關(guān)的服務(wù)器。
因此,需要路由選擇裝置來為業(yè)務(wù)的請求消息選擇從始發(fā)客戶機至多個重復(fù)服務(wù)器之中合適的一個服務(wù)器的路由,并且為應(yīng)答消息選擇從合適的服務(wù)器至始發(fā)客戶機的路由。這樣的路由選擇裝置是公知的。然而,這樣的裝置是復(fù)雜的并且具有存儲器以便將消息識別符與始發(fā)客戶機相關(guān)。此識別符在此消息中發(fā)送給此合適的資源并且在應(yīng)答消息中返回。然后,接入此存儲器以識別此應(yīng)答應(yīng)傳送至的始發(fā)客戶機。
希望提供一種路由選擇裝置,此路由選擇裝置為業(yè)務(wù)的請求消息選擇從始發(fā)客戶機至多個重復(fù)服務(wù)器之中合適的一個服務(wù)器的路由,并且能為來自此合適服務(wù)器的應(yīng)答消息選擇路由至始發(fā)客戶機,但此路由選擇裝置不必存儲接收的對于每個請求消息的信息,而能正確地為接收的應(yīng)答信息選擇路由。
根據(jù)本發(fā)明的一個方面,提供一種引向器,用于為消息選擇從客戶機至多個服務(wù)器之中選擇的一個服務(wù)器的路由以接入資源,并且用于為此資源的應(yīng)答選擇從此選擇的服務(wù)器至客戶機的路由,其中每條消息具有其始發(fā)地的指示、其目的地的指示和消息正文,它包括第一輸入裝置,用于從客戶機接收第一輸入消息,表示其始發(fā)地為此客戶機和其目的地為路由選擇裝置;第一輸出裝置,用于提供第一輸出消息給此選擇的服務(wù)器,表示其始發(fā)地為此客戶機和其目的地為此選擇的服務(wù)器;第二輸入裝置,用于從此選擇的服務(wù)器接收第二輸入消息以響應(yīng)第一輸出消息,表示其始發(fā)地為此選擇服務(wù)器和其目的地為路由選擇裝置而且具有識別此客戶機的指示作為附加項;和第二輸出裝置,用于提供第二輸出消息給這一個客戶機以響應(yīng)第二輸入消息,表示其始發(fā)地為路由選擇裝置和其目的地為這一個客戶機;安排所述引向器為作為輸出消息的輸入消息選擇路由,通過修改第一輸入消息的目的地的指示生成第一輸出消息,并且通過修改第二輸入消息的目的地的指示與始發(fā)地的指示而且通過從第二輸入消息中除去此附加項來生成第二輸出消息。
應(yīng)認識到此引向器與客戶機接口,就好像它是提供此客戶機所請求的業(yè)務(wù)的資源的服務(wù)器而不是客戶機和服務(wù)器之間的中介。而且,此引向器不存儲諸如將客戶機與消息或服務(wù)器相關(guān)的路由選擇表的信息。
此引向器最好應(yīng)通過重新格式化接收的消息來為這些消息選擇路由。具體地,通過重新格式化其始發(fā)地與目的地的指示,并且在需要時,通過除去此附加項來編輯此消息。
可將此引向器安排為修改具有不同于第一輸入消息的格式并且也不同于輸出消息的格式的預(yù)定格式的第二輸入消息。第二輸入消息的格式通過給之加上此附加項而可以不同。
此客戶機最好使用識別所要求的業(yè)務(wù)的符號資源地址。此符號地址將此引向器識別為接入提供此業(yè)務(wù)的服務(wù)器的控制器。
無線電手機可以包括此引向器和具有存儲器的處理器裝置,用于通過在客戶機與服務(wù)器之間通信來執(zhí)行手機的功能??蛻魴C、服務(wù)器和引向器均是實體并且具體地是同一基本類別的特殊形式的目標,其中一些實體可以在手機內(nèi),而其他實體可以在輔助設(shè)備內(nèi)。
該無線電手機也可以包括耦合到處理器裝置的接口,用于耦合到輔助設(shè)備并與之通信以增強手機的功能;和路由選擇裝置,耦合到處理器裝置,并且安排為通過允許在手機中生成代理實體用于與此手機中的實體進行事務(wù)處理、在此輔助設(shè)備中生成代理實體用于與此輔助設(shè)備中的實體進行事務(wù)處理并且通過利用接口在此手機與輔助設(shè)備之間通信而在手機中的實體與輔助設(shè)備中的實體之間提供通信。此接口可以包括無線電收發(fā)信機。
可將該手機中的路由選擇裝置安排為將手機內(nèi)的每個實體與任務(wù)相關(guān)并利用一個或多個任務(wù)內(nèi)事務(wù)處理和在需要時利用任務(wù)間通信在始發(fā)任務(wù)中的始發(fā)實體與目的任務(wù)中的目的實體之間提供通信,每個事務(wù)處理涉及與同一任務(wù)相關(guān)的兩個實體,在需要時,所述路由選擇裝置安排為通過在始發(fā)與目的任務(wù)相同時允許始發(fā)實體與目的實體的事務(wù)處理并且在始發(fā)與目的任務(wù)不同時允許在始發(fā)任務(wù)中生成代理實體用于與始發(fā)實體進行事務(wù)處理、在目的任務(wù)中生成代理實體用于與目的實體進行事務(wù)處理而且通過利用接口在始發(fā)與目的任務(wù)之間通信來在始發(fā)實體與目的實體之間提供通信。
可將該客戶機安排為利用識別業(yè)務(wù)的符號地址請求此業(yè)務(wù)。將該路由選擇裝置則安排為從此符號地址中確定在手機或始發(fā)任務(wù)內(nèi)是否提供此業(yè)務(wù)。此業(yè)務(wù)可以由用作此客戶機的服務(wù)器的引向器來提供。
為了更好理解本發(fā)明和理解本發(fā)明如何進行實施,現(xiàn)在將僅利用示例描述附圖,其中
圖1與2表示無線電手機和輔助設(shè)備;圖3表示手機與輔助設(shè)備之間的電話機特性的劃分;圖4表示連接層;圖5a與5b表示符號路由選擇表;圖6示意地表示手機與輔助設(shè)備內(nèi)的任務(wù);圖7表示應(yīng)用程序目標與服務(wù)器目標;圖8表示任務(wù)間消息傳送;圖9表示代理目標;圖10a與10b表示任務(wù)間消息傳送;圖11a表示利用引向器的消息的路由選擇;圖11b表示消息的重新格式化;圖12表示引向器和引向的服務(wù)器目標;和圖13a與13b表示單個任務(wù)內(nèi)的消息路由選擇。
圖1與2表示手持便攜式無線電通信設(shè)備,下面稱為終端或無線電手機2。終端2足夠小以致于能手持并且大小最好為能裝入夾克上衣的口袋內(nèi)。此終端利用無線電波與其他終端或設(shè)備通信。
終端2具有用戶接口,此接口包括用于輸入的具有鍵24a的鍵盤24與麥克風(fēng)20和用于輸出的揚聲器18與顯示器14。鍵盤24與顯示器14的大小必定受終端2的大小的限制。終端2由控制器4進行控制并且利用電池26來供電??刂破?從麥克風(fēng)20與鍵盤24中接收信號并提供信號給顯示器14與揚聲器18,終端2具有接口34和無線電收發(fā)信機3,此接口和無線電收發(fā)信機用于在終端2的外部通信。接口34通過總線32連接到控制器。此接口可以包括用于無線電或紅外通信的收發(fā)信機和/或用于直接電連接的端口。無線電收發(fā)信機3是連接到天線28與控制器4的射頻收發(fā)信機,它安排為通過射頻接口30通信。此無線電收發(fā)信機3包括用于調(diào)制從控制器4接收的信號的調(diào)制器8和用于將調(diào)制信號提供給天線28的發(fā)射機6。此無線電收發(fā)信機3也包括接收機12,此接收機處理在天線28上接收到的信號并將這些信號提供給解調(diào)器10,此解調(diào)器10給控制器4提供解調(diào)的信號。終端2具有通過總線與控制器4連接的RAM存儲器16。此終端也具有連接到控制器4的SIM存儲器22,提供允許終端2用作移動電話機的信息。在用作移動電話機時,移動終端2通過天線28發(fā)射與接收射頻信號。
終端2通過接口34連接到輔助設(shè)備40的接口42。接口34與接口42之間的連接36可以通過許多方式來實現(xiàn)。例如,能使用無線電波。一個合適的無線電通信協(xié)議是“WAP結(jié)構(gòu)版本1998年4月30日”中所述的無線應(yīng)用協(xié)議(WAP),這要求接口34包括WAP堆棧和無線電收發(fā)信機并且要求接口42同樣包括WAP堆棧和無線電收發(fā)信機。另一合適的協(xié)議是其內(nèi)容引入在此作為參考的共同待審的英國專利申請?zhí)?820859.8中所述的藍牙協(xié)議,此協(xié)議要求接口34與接口42包括低功率RF收發(fā)信機。
雖然在圖1與2中示出單個輔助設(shè)備40,但終端2能同時與多個這樣的輔助設(shè)備進行連接。雖然分開示出收發(fā)信機4/天線28與接口34,但這些設(shè)備可以集成在一起。
利用控制器4與存儲器16的組合來提供終端2的基本功能。輔助設(shè)備40可以通過總線32與接口34由控制器4接入并因而增強終端2的功能。
終端2具有許多基本能力,包括涉及其無線電通信才干的系統(tǒng)能力(不管其涉及WAP、Bluetooth、GSM、AMPS還是其他通信協(xié)議)和允許終端提供數(shù)據(jù)庫、個人組織器、字處理器與網(wǎng)絡(luò)瀏覽器的特性的其他能力。這些基本能力以相干方式集成在一起以提供終端的特性。
電話機的基本能力在邏輯組中構(gòu)造為資源。通過“服務(wù)器”接入每個資源。服務(wù)器封裝資源以提供用于接入此資源的接口?!皯?yīng)用程序”通過服務(wù)器接入資源并且將這些資源與邏輯鏈接在一起以提供終端的特性。這些應(yīng)用程序與資源通過連接層(CL)進行連接。
圖3表示用作電話機的終端2的功能的劃分,此電話機示意地具有呼叫服務(wù)器50,封裝電話機的能力以發(fā)出與接收電話呼叫;SMS服務(wù)器52,封裝發(fā)出與接收短消息業(yè)務(wù)(SMS)消息的電話能力;和電話簿服務(wù)器#254,封裝將名稱與電話號碼相關(guān)的數(shù)據(jù)庫。此電話機具有能用于查找由電話簿服務(wù)器#254提供服務(wù)的電話簿數(shù)據(jù)庫內(nèi)的名稱的名稱查找應(yīng)用程序56和能用于通過呼叫服務(wù)器50發(fā)出呼叫的快速撥號應(yīng)用程序58。輔助設(shè)備40具有封裝將電話號碼與名稱相關(guān)的數(shù)據(jù)庫的電話簿服務(wù)器#162和用于生成與編輯文本消息的文本消息應(yīng)用程序64。服務(wù)器50、52與54和電話機內(nèi)的應(yīng)用程序56與58互相連接并通過連接層70連接到服務(wù)器62和輔助設(shè)備中的應(yīng)用程序64。連接層70利用接口34與42和連接36在終端2與輔助設(shè)備40之間提供通信。在輔助設(shè)備40通過連接層連接到此電話機時,文本消息應(yīng)用程序64可以通過電話機來利用并用于接入此SMS服務(wù)器52,另外,名稱查找應(yīng)用程序56可以通過輔助設(shè)備40中的電話簿服務(wù)器#162接入輔助設(shè)備中的電話薄。
終端2中的控制器4一般是利用代碼控制的微處理器。在終端內(nèi)可能具有需要由控制器并行完成的許多同時功能。然而,此控制器可能一次只能完成一塊代碼并且將不得不指派任務(wù)給這些功能。此上下文中的任務(wù)指派表示控制器以循環(huán)方式分配其處理資源。即,它在指定順序的一序列任務(wù)之中的每個任務(wù)上花費短的時間周期并隨后重復(fù)此順序。任務(wù)因此進行時分多路復(fù)用但在邏輯上是不同的。結(jié)果,在幾個序列任務(wù)的處理過程中,完成執(zhí)行功能所需的任務(wù)。使用任務(wù)允許平衡控制器上的處理負載。
應(yīng)用程序是控制器4上運行的代碼塊。此應(yīng)用程序在存儲器中定義為目標。在終端2中使用存儲器16。此目標在存儲器中具有允許尋址它的目標地址并且是連接層(CL)基本類別的特殊形式。此應(yīng)用程序使用一個或多個服務(wù)器的業(yè)務(wù)來生成特性并且能提供這些特性給用戶。
服務(wù)器利用標準接口封裝資源,這是存儲在存儲器中的目標。在終端2中使用存儲器16。此目標在存儲器中具有允許尋址它的目標地址并且是連接層(CL)基本類別的特殊形式。每個服務(wù)器通過控制資源或其他服務(wù)器來提供業(yè)務(wù),這提供標準接口給資源,只能通過連接層70接入此資源。
應(yīng)用程序使用表示要求的業(yè)務(wù)的符號資源地址而不利用服務(wù)器的目標地址來接入服務(wù)器。
在圖4中更詳細地示出連接層70。此連接層是通信管理器(CM)80與信息協(xié)議82的組合。單個通信管理器控制每個任務(wù)。CM 80利用涉及此消息的始發(fā)目標與此消息的目的目標的事務(wù)處理在任務(wù)內(nèi)的目標之間發(fā)送消息(任務(wù)內(nèi)消息)。消息協(xié)議82控制任務(wù)之間消息(任務(wù)間消息)的路由選擇。此任務(wù)間通信可以采用諸如WAPBluetooth的許多通信形式之中任何一種通信形式或至另一設(shè)備或至另一任務(wù)的總線。
每個通信管理器具有符號路由選擇表。此符號路由選擇表包含用于每個目標(每個應(yīng)用程序與服務(wù)器)的表目,并且通信管理器80互連以定義其任務(wù),即本地任務(wù)。應(yīng)用程序不具有符號地址并且每個應(yīng)用程序目標地址與缺省的符號地址相關(guān)。連接到通信管理器80的每個服務(wù)器具有與識別利用它封裝的資源提供的業(yè)務(wù)的符號地址相關(guān)的其目標地址。在圖5a中表示出圖3中用于電話機2的符號路由選擇表的一個示例,假定所有的應(yīng)用程序與服務(wù)器都在同一任務(wù)內(nèi)。在圖5b中示出圖3中用于輔助設(shè)備40的符號路由選擇表的一個示例,假定所有的應(yīng)用程序與服務(wù)器都在同一任務(wù)內(nèi)。為簡潔起見,圖3中所使用的標號示意地用作目標地址。
通信管理器80能使用符號路由選擇表來從利用應(yīng)用程序提供的符號地址中識別與那個符號地址相關(guān)的服務(wù)器是否在此本地任務(wù)內(nèi)并且提供此相關(guān)目標地址給此應(yīng)用程序。如果應(yīng)用程序所請求的業(yè)務(wù)不在本地任務(wù)內(nèi),則通信管理器80將控制傳送到消息協(xié)議82。此消息協(xié)議82將此請求從原始通信管理器發(fā)送給相連到合適服務(wù)器的通信管理器。任何合適的協(xié)議可以用于發(fā)送這些任務(wù)外部消息。任務(wù)之間的通信是異步的。
該通信管理器對任務(wù)內(nèi)消息進行排序。它處理諸如需要在其本地任務(wù)之外和從其本地任務(wù)之外接收的那些任務(wù)外部消息。此通信管理器一次處理一個消息并且此通信管理器最好在服務(wù)于接收的任務(wù)外部消息之前清除任務(wù)內(nèi)消息。
連接層70將資源的物理位置隱藏在標準接口后面。CL提供一種間接消息路由選擇機構(gòu),此機構(gòu)允許應(yīng)用程序通過發(fā)送請求消息使用符號尋址來接入合適的服務(wù)器和它封裝的資源。CL允許服務(wù)器通過發(fā)送應(yīng)答消息將接入的結(jié)果返回給合適的應(yīng)用程序。應(yīng)用程序能接入資源而不知道或關(guān)心在哪里實施此資源或控制此資源的服務(wù)器。此資源因此可能在終端2或輔助設(shè)備40內(nèi)。此應(yīng)用程序只需知道資源的符號地址和用于與連接層接口以便能接入和使用此資源的協(xié)議。
圖6表示前面根據(jù)圖1與2所述的終端2、連接36和輔助設(shè)備40。此圖示意地表示是輔助設(shè)備的任務(wù)901與902和終端的任務(wù)903、904與905如何通過連接層70互相連接。邏輯上,可以認為任務(wù)包括利用通信管理器鏈接的應(yīng)用程序與服務(wù)器。自身在任務(wù)內(nèi)的CM使用符號路由選擇表定義它控制的任務(wù)內(nèi)的目標(即,應(yīng)用程序與服務(wù)器)。此CM和任務(wù)中的目標存儲在存儲器的“本地”部分中。指針在此本地存儲器內(nèi)可以用于指向同一任務(wù)內(nèi)的目標。指針應(yīng)不用于從一個任務(wù)指向另一任務(wù),這是因為這可能在任務(wù)之間引起沖突,并且應(yīng)在據(jù)此理解術(shù)語“指針”的使用。
消息協(xié)議82互連每個通信管理器80。圖6表示不同任務(wù)90i的獨立性,利用虛線表示任務(wù)邊界,并且這些任務(wù)邊界不重疊。每個任務(wù)90i具有與消息協(xié)議82進行雙向通信的相關(guān)通信管理器80i。此任務(wù)也包括許多目標100。這些目標可以是應(yīng)用程序102或服務(wù)器104。這些服務(wù)器封裝資源106。
任務(wù)內(nèi)的目標不能直接與另一目標通信,它只能與此任務(wù)的通信管理器80通信。通信管理器80有效地從其請求的業(yè)務(wù)/資源中去耦這些應(yīng)用程序。此應(yīng)用程序只需向通信管理器80請求所需的業(yè)務(wù),此通信管理器80隨后接入所需資源。此資源可能在與此應(yīng)用程序相同的任務(wù)內(nèi)或可能在同一設(shè)備或不同設(shè)備內(nèi)的另一任務(wù)內(nèi)但通過消息協(xié)議82鏈接到原始任務(wù)。目的服務(wù)器在它自己的任務(wù)內(nèi)從通信管理器80接收請求并應(yīng)答那個通信管理器80,通信管理器80保證為此應(yīng)答選擇路由返回至正確的應(yīng)用程序。
圖7表示通信管理器80中面向目標的封裝。下面稱為鏈路層(CL)類別的基本或抽象類別110具有三個部分名稱112、屬性114和功能116。抽象CL類別具有兩種特殊形式120與130。特殊形式120代表應(yīng)用程序目標102。特殊形式120具有名稱122、屬性124(空)和功能126。特殊形式130代表服務(wù)器目標并具有名稱132、屬性134(空)和功能136。特殊形式120與130具有單個功能126,即RECVMESSAGE(接收消息)功能。特殊形式本身不具有屬性。
抽象類別的特殊形式使用抽象CL類別110的屬性114和功能116。抽象類別110包括目標地址與符號資源地址作為屬性。抽象CL類別110的功能包括SENDREQUEST(發(fā)送請求)功能和SENDRESPONSE(發(fā)送應(yīng)答)功能。抽象CL類別110的所有目標因此共享相同屬性114與功能118。應(yīng)用程序目標102還具有RECVMESSAGE功能126。服務(wù)器目標104還具有RECVMESSAGE功能136。目標只能調(diào)用同一任務(wù)的另一目標中的功能(與之進行事務(wù)處理)。
第一目標(應(yīng)用程序或服務(wù)器)能請求第二目標(服務(wù)器)封裝的資源的業(yè)務(wù),這通過發(fā)送消息給此另一服務(wù)器并從中接收應(yīng)答消息來實現(xiàn)。對于同一任務(wù)內(nèi)的第一與第二目標,CM80中的事務(wù)處理如下。如果第二目標不在本地任務(wù)內(nèi),則CM 80不同地操作。
在圖8中示出任務(wù)內(nèi)通信的處理。通信管理器80在應(yīng)用程序102與封裝應(yīng)答106的服務(wù)器104之間協(xié)調(diào)通信。此應(yīng)用程序與服務(wù)器在同一任務(wù)90內(nèi)。此應(yīng)用程序希望接入業(yè)務(wù),它知道它要求的業(yè)務(wù)和此業(yè)務(wù)的符號地址,但它不知道提供此業(yè)務(wù)的服務(wù)器的目標地址。此應(yīng)用程序給通信管理器80提供符號地址并作為應(yīng)答接收指向合適的服務(wù)器的指針*SERV。此通信管理器使用其符號路由選擇表來執(zhí)行此功能。
此應(yīng)用程序具有目標地址APP,并且指向此應(yīng)用程序的指針表示為*APP。此服務(wù)器具有目標地址SERV,并且指向服務(wù)器目標的指針表示為*SERV。此應(yīng)用程序通過利用變元*APP、*SERV和*MSG調(diào)用功能SENDREQUEST(發(fā)送請求)來給此服務(wù)器發(fā)送消息MSG,其中*MSG是指向消息MSG的指針。此功能將指向始發(fā)第一目標的指針(即,第一目標的地址)、指向第二目標的指針(即,第二目標的地址)和指向定義所要求業(yè)務(wù)的消息正文的指針用作其變元,此通信管理器對此消息進行排序并隨后通過調(diào)用服務(wù)器中的功能RECVMESSAGE將此消息向前傳送給此服務(wù)器,此RECVMESSAGE功能具有其變元*APP、*SERV和*MSG。此RECVMESSAGE功能將指向第一始發(fā)目標的指針(即,第一目標的地址)、指向第二目的目標的指針(即,第二目標地址)和指向消息正文的指針作為其變元。此服務(wù)器接收此消息,并處理此消息以接入資源106,此服務(wù)器隨后朝向此應(yīng)用程序發(fā)送應(yīng)答消息(RMSG),這通過調(diào)用應(yīng)用程序目標102中的功能SENDRESPONSE(發(fā)送應(yīng)答)來實現(xiàn)。此功能具有變元*SERV、*APP和指向應(yīng)答消息RMSG的指針*RMSG。通信處理器80將此消息放置在其內(nèi)部隊列上。然后通過調(diào)用應(yīng)用程序目標中的功能RECVMESSAGE將應(yīng)答消息RMSG發(fā)送給此應(yīng)用程序。RECVMESSAGE功能具有*SERV、*APP和*RMSG作為其變元。因而,此應(yīng)用程序接收此應(yīng)答消息。
因此將明白第一目標通過發(fā)送消息利用通信管理器80與第二目標62通信。這些消息是涉及一個或多個事務(wù)處理的特殊類型的消息。通過從中始發(fā)此消息的目標調(diào)用此消息所指向(與之進行事務(wù)處理)的目標中的功能來啟動任務(wù)內(nèi)消息。此功能包括指向始發(fā)目標的指針、指向目的目標的指針和指向消息正文的指針。此消息、第一目標和第二目標都在由CM 80分配給單個本地任務(wù)的本地存儲空間內(nèi)。以這種方式,任務(wù)內(nèi)的消息傳送與其他任務(wù)中的消息傳送完全隔離。然而,在應(yīng)用程序請求接入的服務(wù)器或其他服務(wù)器不在與那個應(yīng)用程序相同的本地任務(wù)中時,出現(xiàn)問題。目的目標不在同一本地任務(wù)中,此問題通過在與始發(fā)任務(wù)相同的本地任務(wù)內(nèi)生成代理目標并且在與目的目標相同的本地任務(wù)中生成代理目標來解決。始發(fā)任務(wù)中的代理目標將始發(fā)目標視為目的目標并與此始發(fā)目標進行事務(wù)處理。目的任務(wù)中的代理目標將目的目標視為始發(fā)目標并與此目的目標進行事務(wù)處理。
代理目標封裝用于在任務(wù)之間發(fā)送消息的機構(gòu)。結(jié)果,第一任務(wù)中的第一目標通過與第一任務(wù)中的代理目標進行事務(wù)處理能將消息發(fā)送給第二任務(wù)中的第二目標。此后此代理目標通過消息協(xié)議82管理從第一任務(wù)至第二任務(wù)的通信。
圖9表示包括代表連接層(CL)代理的特殊形式140的通信管理器80中的面向目標的封裝。此特殊形式140代表代理目標108。特殊形式140具有名稱142、屬性144(空)和功能146。此特殊形式140具有兩個功能SEND REQUEST功能和SEND RESPONSE功能。調(diào)用CL代理目標中的SEND REQUEST功能和SEND RESPONSE功能的效果不同于調(diào)用應(yīng)用程序或服務(wù)器目標中的SEND REQUEST或SENDRESPONSE時引起的效果。此代理目標代表在另一任務(wù)中執(zhí)行的目標,此目標從來不是消息的最后目的地而是任務(wù)之間的接口。
在圖10a與10b中示出任務(wù)內(nèi)通信的處理。包括始發(fā)任務(wù)的通信管理器80、目的任務(wù)的通信管理器80和內(nèi)部鏈接消息協(xié)議82的連接層協(xié)調(diào)始發(fā)任務(wù)中的應(yīng)用程序102與目的任務(wù)中封裝資源106的服務(wù)器104之間的通信。此應(yīng)用程序102希望接入業(yè)務(wù)。與以前在任務(wù)內(nèi)通信中一樣,此應(yīng)用程序?qū)⑺栀Y源的符號地址提供給始發(fā)任務(wù)的通信管理器80。通信管理器80不能在其路由選擇表中找到相關(guān)的目標地址,這是因為符號地址與另一任務(wù)中提供的業(yè)務(wù)相關(guān),因此知道所需業(yè)務(wù)在它控制的任務(wù)的外部。通信管理器生成代理服務(wù)器并將指向代理服務(wù)器目標的指針*P-SERV返回給此應(yīng)用程序102。始發(fā)任務(wù)中的通信管理器80也在其資源路由選擇表中生成臨時表目,將接收的符號資源地址與生成的代理服務(wù)器的目標地址P-SERV相關(guān)。將此臨時表目標記為代理。應(yīng)用程序102在接收到指向代理服務(wù)器的指針時調(diào)用此代理服務(wù)器中的SENDREQUEST功能。SENDREQUEST功能具有指向應(yīng)用程序102的指針*APP、指向代理服務(wù)器的指針*P-SERV和指向正在發(fā)送的消息正文的指針*MSG作為其變元。通信管理器80通過接入連接層70中的消息協(xié)議82來應(yīng)答此代理服務(wù)器中SENDREQUEST的調(diào)用。此消息協(xié)議82將消息越過任務(wù)邊界從始發(fā)任務(wù)傳送到目的任務(wù)。發(fā)送的任務(wù)之外消息包括始發(fā)應(yīng)用程序102的地址APP、與指針*P-SERV相關(guān)的符號資源地址和正在發(fā)送的消息的地址。
目的任務(wù)中的通信管理器80接收越過任務(wù)邊界發(fā)送的消息。從其中包含的符號資源地址中,它認識到所要求的業(yè)務(wù)在它控制的任務(wù)內(nèi)。
通信管理器80因此生成具有地址P-OBJ的代理目標109。通信管理器80接入其符號路由選擇表以獲得與此符號資源地址相關(guān)的目標地址SERV。通信管理器80隨后在越過任務(wù)邊界在此消息中接收的應(yīng)用程序地址APP與生成的代理目標109的地址之間進行相關(guān)。此相關(guān)最好使代理目標的地址與地址APP相同。然后,通信管理器80分配包含消息MSG并利用指向它自己任務(wù)的指針*MSG來指向的存儲器的部分。
之后,通信管理器80調(diào)用服務(wù)器104中的RECVMESSAGE功能。RECVMESSAGE功能具有指向代理目標109的指針*P-OBJ、指向服務(wù)器104的指針*SERV和指向現(xiàn)在在目的任務(wù)內(nèi)的消息正文的指針*MSG作為其變元。結(jié)果,RECVMESSAGE功能的變元只是目的任務(wù)內(nèi)的指針。此事務(wù)處理不越過任務(wù)邊界。此服務(wù)器接收MSG并處理之以接入資源106,它隨后將應(yīng)答消息(RMSG)發(fā)回給此請求的始發(fā)地。此應(yīng)答消息通過調(diào)用代理目標109中的功能SENDRESPONSE來發(fā)送。此功能具有*SERV、*P-OBJ和指向此應(yīng)答消息正文的指針*RMSG作為變元。代理目標中的功能SENDRESPONSE不言明地表示通過調(diào)用此功能發(fā)送的消息預(yù)定用于另一任務(wù)。通信管理器80隨后利用信息協(xié)議82越過任務(wù)邊界將應(yīng)答消息從其任務(wù)回傳給始發(fā)任務(wù)。此通信管理器將其符號路由選擇表用于利用符號資源地址代替服務(wù)器104的地址(SERV),并且它利用它以前生成的代理目標109的地址與應(yīng)用程序102的地址之間的相關(guān)性來越過任務(wù)邊界在此消息中發(fā)送此符號地址、應(yīng)用程序地址APP和應(yīng)答消息RMSG的地址。通信管理器80隨后釋放代理目標109,除去代理目標地址與始發(fā)應(yīng)用程序地址APP之間的相關(guān)性并重新分配保持此消息MSG的存儲器部分。
始發(fā)任務(wù)18中的通信管理器通過消息協(xié)議82從目的任務(wù)中接收任務(wù)之外消息。通信管理器80將保持此消息RMSG的存儲器16的部分分配給它控制的任務(wù),它利用它以前生成的包含在從目的任務(wù)中接收的消息中的符號資源地址與代理服務(wù)器108的地址之間的相關(guān)性來調(diào)用應(yīng)用程序102中的SENDRESPONSE功能。此功能將指向代理服務(wù)器的指針*P-SERV、指向應(yīng)用程序102的*APP和指向現(xiàn)在為同一任務(wù)的一部分的應(yīng)答消息的*RMSG作為其變元。將認識到,功能SENDRESPONSE的所有變元都是始發(fā)任務(wù)中的指針。此事務(wù)處理不越過任務(wù)邊界。因而,此應(yīng)用程序102接收應(yīng)答消息RMSG。通信管理器80隨后釋放代理服務(wù)器108,從其符號路由選擇表中除去代理服務(wù)器的地址與符號資源地址的相關(guān)性并重新分配保持消息RMSG的存儲器16的部分。
服務(wù)器給任何應(yīng)用程序提供一組業(yè)務(wù)并能位于終端2內(nèi)部或外部。連接層將來自應(yīng)用程序的請求傳送給合適的服務(wù)器。某一資源的缺省服務(wù)器是連接層傳送那個資源的所有請求給之的服務(wù)器。
終端與輔助設(shè)備的組合或終端自身可以包含兩個或多個類似資源,即,提供利用同一符號資源地址識別的同一業(yè)務(wù)的資源。每個類似資源都具有服務(wù)器。這表示將具有重復(fù)服務(wù)器。例如,可能具有重復(fù)電話薄,一個電話簿在終端2中,而另一個電話簿在輔助設(shè)備中。這兩個電話薄都具有其自己的服務(wù)器。作為另一示例,用作多模式電話機的終端2將具有用于發(fā)出與接收呼叫的兩種類型的資源和重復(fù)服務(wù)器,每個資源使用一個服務(wù)器。第一重復(fù)服務(wù)器接入第一蜂窩/無繩系統(tǒng),而第二重復(fù)服務(wù)器接入第二蜂窩/無繩系統(tǒng)。此蜂窩系統(tǒng)可以是用于GSM、AMPS、UMTS等的系統(tǒng)。此無繩系統(tǒng)可以是DECT。此電話機可以具有蜂窩/蜂窩雙模式或蜂窩/無繩雙模式。
在具有重復(fù)服務(wù)器時,引向器則必須在重復(fù)服務(wù)器之間進行更高級的控制與仲裁。引向器在任何一個時間定義哪個重復(fù)服務(wù)器是缺省服務(wù)器。此引向器可以是重復(fù)服務(wù)器之一或者可以是完全不同的實體。
引向器是路由器,為請求選擇路由至正確的資源并將來自資源的任何應(yīng)答返回給發(fā)出此請求的始發(fā)應(yīng)用程序。
圖11a表示如何為消息選擇路由,示出兩個獨立的應(yīng)用程序APP1152與APP2 154。每個應(yīng)用程序能請求接入重復(fù)服務(wù)器SERV1 156與SERV2 158的資源。將請求消息160發(fā)送給仲裁哪個重復(fù)服務(wù)器是缺省服務(wù)器的引向器150。引向器150將此請求消息162發(fā)送給在此示例中為SERV1 156的缺省重復(fù)服務(wù)器。服務(wù)器SERV1 156執(zhí)行其功能并將應(yīng)答消息164返回給引向器150,引向器150在應(yīng)答中提供應(yīng)答消息166給應(yīng)用程序APP1 152。引向器150接收用于控制仲裁處理的輸入信號151。因而根據(jù)信號151、信號160或這兩個信號的組合,此引向器選擇服務(wù)器SERV1與SERV2之中哪個服務(wù)器來與消息162一樣為此消息選擇路由。
消息160、162、164與166之中的每一個消息識別特定消息的始發(fā)地與目的地,消息160識別始發(fā)應(yīng)用程序APP1 152為始發(fā)地并識別引向器150為目的地。
此引向器修改消息160以生成消息162。重新格式化此消息,以使此消息162將缺省服務(wù)器識別為目的地,不改變始發(fā)地的識別。
缺省服務(wù)器知道這是引向的服務(wù)器并且它只能從此引向器中接收消息。由服務(wù)器SERV1 156生成的應(yīng)答消息164識別缺省服務(wù)器SERV1為始發(fā)地并識別引向器150為目的地。此應(yīng)答消息還識別始發(fā)應(yīng)用程序。這可以利用始發(fā)應(yīng)用程序APP1 152的地址附加到消息164的末尾的格式來實現(xiàn)。
引向器修改從缺省重復(fù)服務(wù)器SERV1 156接收的應(yīng)答消息164,重新格式化此消息。除去消息164的附加項,將引向器150識別為始發(fā)地并將始發(fā)應(yīng)用程序APP1 152識別為目的地,將修改的應(yīng)答消息作為消息166發(fā)送給始發(fā)應(yīng)用程序。
圖11b是表示每個不同的消息160、162、164與166的定義的始發(fā)地與定義的目的地以及消息是否具有附加的附加地址的表。
圖12表示如何能利用連接層的面向目標的封裝來實施引向器150和引向服務(wù)器156與158,前面已參照圖7描述了基本類別110和實際的服務(wù)器特殊形式130。引向器是形成為基本類別110的特殊形式170的目標,它具有其屬性,即,所有引向服務(wù)器的表,它具有功能SENDRESPONSE、SENDRESPONSE與RECVMESSAGE作為其功能174。
引向服務(wù)器是形成為自身為基本類別110的特殊形式的基本類別180的特殊形式190的目標。特殊形式180或其特殊形式190都不具有屬性。特殊形式180具有SENDREQUEST與SENDRESPONSE的功能。代表引向服務(wù)器的特殊形式190具有RECVMESSAGE的功能。
圖13a與13b表示如何通過一個目標調(diào)用另一目標的功能來傳送消息160、162、164與166。應(yīng)用程序APP1通過發(fā)送識別要求的業(yè)務(wù)的符號資源地址給此應(yīng)用程序的任務(wù)的通信管理器來請求業(yè)務(wù)。假定此引向器在同一任務(wù)中,則此通信管理器通過接入其符號路由選擇表來返回指向引向器目標的指針*DIR。否則,如前所述將生成代理。
應(yīng)用程序APP1調(diào)用引向器目標中的功能SENDREQUEST。此功能具有指向此消息的始發(fā)地(即,應(yīng)用程序APP1)的指針*APP、指向此消息的目的地(即,此引向器)的*DIR和指向發(fā)送的消息正文的*MSG作為其變元。
引向器執(zhí)行其仲裁處理并確定它控制的哪個重復(fù)服務(wù)器是缺省服務(wù)器,在此實例中缺省服務(wù)器為服務(wù)器SERV1。引向器調(diào)用目標SERV1中的SENDREQUEST功能。此功能具有指向消息的有效始發(fā)地(即,應(yīng)用程序APP1)的*APP、指向此消息的目的地(即,服務(wù)器SERV1)的*SERV1和指向發(fā)送的消息正文的*MSG作為其變元。在通信管理器中對此消息進行排序,此通信管理器隨后調(diào)用目標SERV1中的功能RECEIVEMESSAGE(接收消息)。此功能具有指向此消息的有效始發(fā)地(即,應(yīng)用程序APP)的*APP、指向此消息的目的地(即,服務(wù)器SERV1)的*SERV1和指向發(fā)送的消息正文的*MSG作為其變元。
服務(wù)器SERV1執(zhí)行其功能并通過調(diào)用引向器目標中的功能SENDRESPONSE(參見圖13b)來朝向始發(fā)應(yīng)用程序發(fā)回應(yīng)答消息。此功能具有指向此消息的始發(fā)地(即,服務(wù)器SERV1)的*SERV1、指向此消息的目的地(即,此引向器)的*DIR和指向正在發(fā)送的應(yīng)答消息正文的*RMSG作為其變元。此應(yīng)答消息包括指向始發(fā)應(yīng)用程序的指針*APP。此應(yīng)答消息在通信管理器中進行排序,此通信管理器隨后調(diào)用引向器目標中的功能RECEIVEMESSAGE(接收消息)。此功能具有指向此消息的始發(fā)地(即,服務(wù)器SERV1)的*SERV1、指向此消息的目的地(即,此引向器)的*DIR和指向此應(yīng)答消息正文的*RMSG作為其變元。
此引向器處理此消息,它調(diào)用應(yīng)用程序目標APP1中的功能SENDRESPONSE。此功能具有指向此消息的始發(fā)地(即,此引向器)的*DIR、指向此消息的目的地(即,應(yīng)用程序APP1)的*APP1和指向此應(yīng)答消息正文的*RMSG作為其變元。此消息由通信管理器進行排序,此通信管理器隨后調(diào)用應(yīng)用程序APP1中的功能RECEIVEMESSAGE。此功能具有指向此消息的始發(fā)地(即,此引向器)的*DIR、指向此消息的目的地(即,應(yīng)用程序APP1)的*APP1和指向此應(yīng)答消息正文的*RMSG作為其變元。
前面的說明描述本發(fā)明的優(yōu)選實施例和本發(fā)明的優(yōu)選應(yīng)用程序。應(yīng)認識到,可以利用其他實施例與應(yīng)用程序而不背離要求保護的本發(fā)明的范疇。
權(quán)利要求
1.一種引向器,用于為消息選擇從客戶機至多個服務(wù)器之中選擇的一個服務(wù)器的路由來接入資源,并用于為資源的應(yīng)答選擇從此選擇的服務(wù)器至此客戶機的路由,其中每個消息具有其始發(fā)地的指示、其目的地的指示和消息正文,包括第一輸入裝置,用于從客戶機中接收第一輸入消息,表示其始發(fā)地為此客戶機和其目的地為路由選擇裝置;第一輸出裝置,用于提供第一輸出消息給此選擇的服務(wù)器,表示其始發(fā)地為此客戶機和其目的地為此選擇的服務(wù)器;第二輸入裝置,用于從此選擇的服務(wù)器中接收第二輸入消息以響應(yīng)第一輸出消息,表示其始發(fā)地為此選擇的服務(wù)器和其目的地為此路由選擇裝置并具有識別此客戶機的指示作為附加項;和第二輸出裝置,用于提供第二輸出消息給這一個客戶機以響應(yīng)第二輸入消息,表示其始發(fā)地為此路由選擇裝置和其目的地為這一個客戶機;安排所述引向器為作為輸出消息的輸入消息選擇路由,通過修改第一輸入消息的目的地的指示生成第一輸出消息,并通過修改第二輸入消息的目的地的指示與始發(fā)地的指示而且通過從第二輸入消息中除去此附加項來生成第二輸出消息。
2.一種無線電手機,包括引向器,如權(quán)利要求1所述;處理器裝置,包括存儲器,用于通過在客戶機與服務(wù)器之間進行通信來執(zhí)行此手機的功能。
3.根據(jù)權(quán)利要求2的無線電手機,其中所述多個服務(wù)器之中的每一個服務(wù)器接入用于根據(jù)不同的無線電通信標準發(fā)出和/或接收呼叫的裝置。
4.根據(jù)任何一項前面權(quán)利要求所述的引向器或手機,其中此引向器還包括具有用于接收輸入的第三輸入裝置并且為響應(yīng)此而從多個服務(wù)器之中確定此選擇的服務(wù)器的仲裁裝置。
5.根據(jù)任何一項前面權(quán)利要求所述的引向器或手機,其中此引向器安排為修改具有不同于第一輸入消息的格式的預(yù)定格式的第二輸入消息。
6.根據(jù)任何一項前面權(quán)利要求所述的引向器或多模式手機,其中第二輸入消息的格式與第一輸入消息的格式的不同之處在于它在其末尾具有此附加項。
7.根據(jù)任何一項前面權(quán)利要求所述的引向器或手機,其中所述客戶機、選擇的服務(wù)器和引向器分別是第一、第二與第三目標,每個目標是同一基本類別的特殊形式。
8.根據(jù)任何一項前面權(quán)利要求所述的引向器或手機,其中從始發(fā)目標發(fā)送消息給目的目標涉及目的目標中的功能的調(diào)用。
9.根據(jù)權(quán)利要求8所述的引向器或手機,其中此功能將指向此始發(fā)目標的地址的指針或此始發(fā)目標的地址和指向此目的目標的地址的指針或此目的目標的地址用作其變元。
10.根據(jù)從屬于權(quán)利要求2時的任何一項前面權(quán)利要求的手機,其中在處理器裝置內(nèi)定義此客戶機。
11.根據(jù)權(quán)利要求10的手機,其中在此手機的處理器裝置內(nèi)或在此輔助設(shè)備內(nèi)定義此引向器。
12.根據(jù)權(quán)利要求11的手機,其中在此手機的處理器裝置中或在此輔助設(shè)備中定義此選擇的服務(wù)器。
13.根據(jù)從屬于權(quán)利要求7時的權(quán)利要求10-12之中任何一項權(quán)利要求的手機,其中第三目標封裝來提供業(yè)務(wù)的資源。
14.根據(jù)從屬于權(quán)利要求7時的權(quán)利要求10-13之中任何一項權(quán)利要求的手機,其中第二目標封裝用于重新格式化消息的裝置。
15.根據(jù)任何一項前面權(quán)利要求所述的手機,其中將此客戶機安排為利用識別業(yè)務(wù)的符號地址來請求此業(yè)務(wù)并且為響應(yīng)此而接收識別控制至提供此業(yè)務(wù)的重復(fù)服務(wù)器的接入的引向器的地址。
全文摘要
一種引向器,用于為消息選擇從客戶機至多個服務(wù)器之中選擇的一個服務(wù)器的路由來接入資源,并用于為資源的響應(yīng)選擇從此選擇的服務(wù)器至此客戶機的路由。每個消息具有其始發(fā)地的指示、其目的地的指示和消息正文。消息正文包括:第一輸入裝置,用于從客戶機中接收第一輸入消息;第一輸出裝置,用于給此選擇的服務(wù)器提供第一輸出消息;第二輸入裝置,用于從此選擇的服務(wù)器中接收第二輸入消息以響應(yīng)第一輸出消息,即識別此客戶機的指示;和第二輸出裝置,用于提供第二輸出消息給這一個客戶機以響應(yīng)第二輸入消息,表示其始發(fā)地為路由選擇裝置和其目的地為這一個客戶機。
文檔編號H04L12/28GK1352847SQ00806132
公開日2002年6月5日 申請日期2000年2月10日 優(yōu)先權(quán)日1999年2月12日
發(fā)明者E·斯塔格 申請人:諾基亞移動電話有限公司