專利名稱:利用消息隊列識別以設(shè)備中的消息接收作為目標(biāo)的應(yīng)用的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及通信,尤其涉及用于維持應(yīng)用和傳輸之間關(guān)聯(lián)的系統(tǒng)和方法,從而促進(jìn)響應(yīng)的消息被指向特定應(yīng)用或應(yīng)用實(shí)例的定位。
背景技術(shù):
雖然計算機(jī)仍被用于它們的傳統(tǒng)處理目的,但通信基礎(chǔ)設(shè)施中的進(jìn)展和協(xié)議已經(jīng)將標(biāo)準(zhǔn)計算設(shè)備轉(zhuǎn)換為有價值的通信工具。計算機(jī)在從局域網(wǎng)(LAN)到廣泛到達(dá)的諸如互聯(lián)網(wǎng)的全球區(qū)域網(wǎng)(GAN)的網(wǎng)絡(luò)上相互通信,以及與其它電子設(shè)備通信。諸如移動電話、個人數(shù)字助理(PDA)等等其它電子設(shè)備已經(jīng)經(jīng)歷了相似的變換,。今天,這些無線設(shè)備被廣泛應(yīng)用于不同的通信。舉個例子,雖然模擬移動電話傳統(tǒng)的用于模擬語音通信,但是現(xiàn)在以及未來的移動電話則是一個能夠傳送語音、數(shù)據(jù)、圖像、視頻以及其它多媒體內(nèi)容的強(qiáng)大的通信工具。PDA,曾經(jīng)的便攜日歷和組織工具,現(xiàn)在通常具有諸如E-mail,互聯(lián)網(wǎng)訪問等的網(wǎng)絡(luò)通信能力。隨著無線和有線網(wǎng)絡(luò)構(gòu)架的融合,各種類型的信息能夠在無線和有線終端進(jìn)行通信。
在設(shè)備之間進(jìn)行如此的通信時,在這些設(shè)備上可操作的程序、應(yīng)用、應(yīng)用實(shí)例等等(下文簡稱“應(yīng)用”)通常需要和其它設(shè)備上的應(yīng)用進(jìn)行通信。例如,應(yīng)用層上的一個應(yīng)用產(chǎn)生傳送到更低層軟件結(jié)構(gòu)如傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層以及物理層的消息,在那里該封裝消息通過網(wǎng)絡(luò)傳輸?shù)狡渌O(shè)備。接收設(shè)備接收到的消息在該軟件結(jié)構(gòu)中上移以便最終將原始消息提供給該接收設(shè)備上的一個應(yīng)用。
為了促進(jìn)消息的通信,可以使用消息隊列。通常,消息隊列涉及到從一個應(yīng)用中接收消息并將它們轉(zhuǎn)發(fā)給一個接收方應(yīng)用的功能。該消息隊列作為傳播消息的臨時存儲設(shè)備。這樣的消息隊列通常位于正在發(fā)送和接收該消息的設(shè)備中,并可選地位于邏輯上被放置在發(fā)送和接收設(shè)備之間的網(wǎng)絡(luò)上的中間計算系統(tǒng)中。
消息隊列的使用刪除了來自應(yīng)用本身的消息通信的許多方面。比如當(dāng)通信應(yīng)用之間沒有連接時,消息隊列存儲消息。另一益處是可靠性,因?yàn)橄㈥犃械氖褂锰峁┌踩矣行虻南⑦f送。因此,應(yīng)用消息隊列的一個益處是不需要應(yīng)用開發(fā)者開發(fā)甚至不需要完全了解執(zhí)行消息與他們的應(yīng)用之間的這些有序轉(zhuǎn)送的基礎(chǔ)功能。
當(dāng)消息隊列從傳輸層接收到消息時,它必須知道該消息指向哪個應(yīng)用實(shí)例。它并不總是足以識別出該應(yīng)用類型,這是因?yàn)橹鳈C(jī)可能同時運(yùn)行幾個應(yīng)用軟件實(shí)例。此外,應(yīng)用實(shí)例被暫緩或終止的時候情況變得更為復(fù)雜。因此,當(dāng)消息被激活或重新激活時,它必須被傳遞給正確的應(yīng)用。
在沒有使用消息隊列的地方,不存在這個問題,因?yàn)閼?yīng)用實(shí)例直接激活并使用傳輸協(xié)議實(shí)例。但是,當(dāng)使用消息隊列時,這種關(guān)聯(lián)丟失了。一種解決辦法是在兩端引入消息隊列,以便能夠使用特定的(和可能專用的)協(xié)議或分組報頭來唯一識別正在通信的應(yīng)用。例如,發(fā)送消息隊列添加一個包含唯一標(biāo)識符的專用消息隊列報頭。
但是,這種方法把消息隊列的使用限制到僅當(dāng)兩個通信端支持同種類型消息隊列時的那些情況。這導(dǎo)致了碎片并且從開發(fā)者的觀點(diǎn)來看是不期望的。在這樣一種情況下,開發(fā)者必須制定不同版本的軟件或包括對另一端有和沒有消息隊列的情況的支持。
因此,期望提供一種方式即僅在端到端通信信道的一側(cè)配置消息隊列。還期望能克服在通信端之間為唯一識別該通信對等體而具有(可能專用的)協(xié)議和/或分組報頭的需要。本發(fā)明給現(xiàn)有技術(shù)的這些以及其它問題提供了一個解決方案,并且提供許多勝過實(shí)現(xiàn)消息隊列的現(xiàn)有技術(shù)消息事務(wù)處理的優(yōu)點(diǎn)。
發(fā)明概述為了克服上述現(xiàn)有技術(shù)中的限制,以及為了克服在閱讀并理解了說明書后將變得明顯的其它限制,本發(fā)明公開了一種用于在應(yīng)用之間傳送消息的系統(tǒng)和方法。
根據(jù)本發(fā)明的一個實(shí)施例,提供一種促進(jìn)應(yīng)用之間消息通信的方法。該方法包括獲得應(yīng)用標(biāo)識符,并獲得對應(yīng)出站(outbound)邏輯連接標(biāo)識符,所述對應(yīng)出站邏輯連接標(biāo)識符與來自它們各自的可由應(yīng)用標(biāo)識符識別的應(yīng)用的消息傳遞相關(guān)。應(yīng)用標(biāo)識符和它們對應(yīng)的出站邏輯連接標(biāo)識符之間的關(guān)聯(lián)被建立起來。響應(yīng)的入站(inbound)消息被指向具有與出站邏輯連接標(biāo)識符相關(guān)的應(yīng)用標(biāo)識符的應(yīng)用,該出站邏輯連接標(biāo)識符對應(yīng)于響應(yīng)入站消息的入站邏輯連接標(biāo)識符。
在這樣一個方法的更特定的實(shí)施例中,入站邏輯連接標(biāo)識符與所建立關(guān)聯(lián)的出站邏輯連接標(biāo)識符進(jìn)行比較,并且至少一個匹配于入站邏輯連接標(biāo)識符的出站邏輯連接標(biāo)識符被識別。利用具有與匹配的出站邏輯連接標(biāo)識符建立的關(guān)聯(lián)的應(yīng)用標(biāo)識符,可以識別出響應(yīng)的入站消息將要被指向的應(yīng)用。根據(jù)其它特定實(shí)施例,出站邏輯連接標(biāo)識符可以包括出站傳輸標(biāo)識符、出站套接字標(biāo)識符、分別與傳送進(jìn)程或線程相關(guān)的出站傳送進(jìn)程或線程標(biāo)識符、端口標(biāo)識符、會話標(biāo)識符等。根據(jù)這樣一個方法的又一其它特定實(shí)施例,建立關(guān)聯(lián)包括在每個應(yīng)用標(biāo)識符和它對應(yīng)的出站邏輯連接標(biāo)識符之間創(chuàng)建一個鏈接、通過表中的一個條目使應(yīng)用標(biāo)識符和它們對應(yīng)的出站邏輯連接標(biāo)識符相關(guān)、創(chuàng)建條目表,其中每個條目包括用于傳遞特定消息的應(yīng)用標(biāo)識符和它對應(yīng)的出站邏輯連接標(biāo)識符之一等操作中的任何一個。在一個特定實(shí)施例中,創(chuàng)建條目表包括使用消息隊列(MQ)創(chuàng)建條目表。這樣一種方法也可以通過存儲在計算機(jī)可讀介質(zhì)上的軟件指令來實(shí)現(xiàn)。
根據(jù)本發(fā)明的另一實(shí)施例,提供一種使用消息隊列(MQ)識別出多個應(yīng)用之間作為至少一個響應(yīng)消息的目標(biāo)的應(yīng)用的方法。該方法包括接收應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符,這里出站傳輸標(biāo)識符唯一識別出來自該應(yīng)用標(biāo)識符所識別的應(yīng)用的用于消息傳遞的邏輯連接。應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符之間的關(guān)聯(lián)被建立起來??赡芙邮盏脚c響應(yīng)消息的接收相關(guān)的以及目的地為該應(yīng)用的入站傳輸標(biāo)識符。接著可能通過把入站傳輸標(biāo)識符匹配于出站傳輸標(biāo)識符來識別出一個應(yīng)用作為響應(yīng)消息的目標(biāo)。根據(jù)應(yīng)用標(biāo)識符和所匹配的出站傳輸標(biāo)識符之間的關(guān)聯(lián)來確定該應(yīng)用的特定應(yīng)用標(biāo)識符。在一個特定實(shí)施例中,通過存儲在計算機(jī)可讀介質(zhì)上的軟件指令來實(shí)現(xiàn)這樣一種方法。
根據(jù)本發(fā)明的另一實(shí)施例,提供一種可操作于網(wǎng)絡(luò)上并能夠與至少一個目的地設(shè)備通信消息的源設(shè)備。該源設(shè)備包括為從該源設(shè)備傳送的一個或多個出站消息中的每一個存儲應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系的存儲器。消息隊列(MQ)模塊配置為對入站消息的入站邏輯連接標(biāo)識符和所存儲的聯(lián)系的出站邏輯連接標(biāo)識符進(jìn)行比較。MQ識別出具有與匹配于入站邏輯連接標(biāo)識符的出站邏輯連接標(biāo)識符相聯(lián)的應(yīng)用標(biāo)識符的本地應(yīng)用。
在這樣一種源設(shè)備的更特定的實(shí)施例中,以軟件實(shí)現(xiàn)MQ模塊,并且該源設(shè)備包括處理器,該處理器配置為執(zhí)行MQ軟件以建立應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系,比較入站邏輯連接標(biāo)識符和所存儲聯(lián)系的出站邏輯連接標(biāo)識符,并識別具有與匹配于入站邏輯連接標(biāo)識符的出站邏輯連接標(biāo)識符相聯(lián)的應(yīng)用標(biāo)識符的本地應(yīng)用。在這樣一種源設(shè)備的另一特定實(shí)施例中,MQ模塊進(jìn)一步配置為在存儲器中為從該源設(shè)備通信的每個出站消息建立應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系。
根據(jù)本發(fā)明的另一實(shí)施例,提供一個通過網(wǎng)絡(luò)在應(yīng)用之間傳送信息的系統(tǒng)。該系統(tǒng)包括具有多個用于通過網(wǎng)絡(luò)傳送消息的源應(yīng)用(其可包括應(yīng)用、應(yīng)用實(shí)例、應(yīng)用進(jìn)程/線程等)的源設(shè)備。該系統(tǒng)還包括具有至少一個用于接收消息和響應(yīng)于所接收的消息用于提供應(yīng)答消息的目的地應(yīng)用的目的地設(shè)備。該源設(shè)備包括為從該源設(shè)備通信的多個出站消息中的每一個存儲應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系的存儲器。該源設(shè)備進(jìn)一步包括源消息隊列(MQ)模塊,其配置為比較響應(yīng)消息的入站邏輯連接標(biāo)識符和所存儲的聯(lián)系的出站邏輯連接標(biāo)識符,和識別出具有與匹配于入站邏輯連接標(biāo)識符的出站邏輯連接標(biāo)識符相聯(lián)的應(yīng)用標(biāo)識符的本地應(yīng)用。
在這樣一種系統(tǒng)的更特定的實(shí)施例中,目的地設(shè)備配置為直接發(fā)送和接收消息,而且不使用本地MQ。在另一特定實(shí)施例中,目的地設(shè)備包括不同于源MQ類型的目的地MQ。
表征本發(fā)明的這些以及各種其它優(yōu)點(diǎn)和新穎性特征在附加到這里并于此形成一部分的權(quán)利要求中被特別指出。可是,為了更好地理解本發(fā)明、它的優(yōu)點(diǎn)以及通過它的使用所獲得的目的,應(yīng)該對于此形成了另外一個部分的附圖以及所伴隨的敘述性內(nèi)容進(jìn)行參考,這些內(nèi)容中示出并描述了根據(jù)本發(fā)明的系統(tǒng)和方法的典型示例。
結(jié)合在如下附圖中說明的實(shí)施例來描述本發(fā)明。
圖1是示出其中可應(yīng)用本發(fā)明原理的一個典型網(wǎng)絡(luò)環(huán)境的框圖;圖2是說明分層軟件體系結(jié)構(gòu)中消息隊列的體系布局的代表性示例框圖;圖3A是說明沒有使用消息隊列的應(yīng)用和傳送實(shí)例之間的關(guān)聯(lián)的框圖;
圖3B是說明使用消息隊列的應(yīng)用和傳送實(shí)例之間的傳統(tǒng)關(guān)聯(lián)的分裂的框圖;圖4是說明通過在通信兩端使用消息隊列解決圖3B描述的分裂的一種方式的框圖;圖5是說明根據(jù)本發(fā)明提供應(yīng)用和傳輸標(biāo)識符之間的一種關(guān)聯(lián)的一個實(shí)施例框圖;圖6是說明根據(jù)本發(fā)明維持應(yīng)用和傳輸標(biāo)識符之間關(guān)聯(lián)的一個實(shí)施例框圖;圖7是說明其中通信多方中只有一方使用MQ的實(shí)現(xiàn)ID表的方式的一個發(fā)明詳述在可仿效實(shí)施例的如下說明中,對附圖進(jìn)行了引用,附圖在此形成了該說明的一部分并且其中通過說明示出了可以實(shí)踐本發(fā)明的代表性實(shí)施例。應(yīng)該理解的是,可以應(yīng)用其它實(shí)施例,因?yàn)榭梢赃M(jìn)行結(jié)構(gòu)和操作上的改變而不偏離本通常,本發(fā)明提供一種在應(yīng)用之間傳送消息的系統(tǒng)和方法,其中消息隊列(MQ)被實(shí)現(xiàn)為少于所有通信應(yīng)用,和/或當(dāng)與通信設(shè)備相關(guān)的MQ不使用如協(xié)議和/或分組報頭時。在應(yīng)用標(biāo)識符和它們的對應(yīng)傳輸標(biāo)識符(或其它邏輯連接標(biāo)識符)之間創(chuàng)建關(guān)聯(lián),該對應(yīng)傳輸標(biāo)識符是在從該設(shè)備發(fā)送一則消息之后被提供。當(dāng)響應(yīng)消息被發(fā)送到該應(yīng)用時,該消息必須能夠定位發(fā)送第一個消息的應(yīng)用或應(yīng)用實(shí)例。根據(jù)本發(fā)明,這通過查閱先前創(chuàng)建的應(yīng)用標(biāo)識符和傳輸標(biāo)識符之間的關(guān)聯(lián)來完成。當(dāng)與入站消息相關(guān)的傳輸標(biāo)識符與所創(chuàng)建關(guān)聯(lián)的傳輸標(biāo)識符進(jìn)行比較時,可能探測到與所創(chuàng)建關(guān)聯(lián)的傳輸標(biāo)識符的一個(或多個)的匹配,這進(jìn)而又給目標(biāo)應(yīng)用供應(yīng)適當(dāng)?shù)膽?yīng)用標(biāo)識符。
在一個實(shí)施例中,本發(fā)明把軟件結(jié)構(gòu)包含在包括涉及應(yīng)用間通信的功能的有線和/或移動通信系統(tǒng)中。如前所述,消息排隊方法學(xué)被用于促進(jìn)應(yīng)用之間的通信。圖1是說明其中可應(yīng)用本發(fā)明原理的典型網(wǎng)絡(luò)環(huán)境100的框圖。網(wǎng)絡(luò)環(huán)境100可以包括例如一個或多個無線網(wǎng)絡(luò)102和/或有線網(wǎng)絡(luò)104。一個(多個)無線網(wǎng)絡(luò)102可以表示任何一個或多個已知的或未來的無線網(wǎng)絡(luò)技術(shù),諸如全球移動通信系統(tǒng)(GSM)、通用移動通信系統(tǒng)(UMTS)、個人通信業(yè)務(wù)(PCS)、時分多址(TDMA)、碼分多址(CDMA)、寬帶CDMA(WCDMA)、或其它移動網(wǎng)絡(luò)傳輸技術(shù)。其它無線通信裝置還可以耦合各種終端,諸如短距離無線技術(shù)(如藍(lán)牙)。任何無線設(shè)備106或其它通信終端可被耦合到這樣一個(多個)無線網(wǎng)絡(luò)102,諸如移動電話108和其它移動通信裝置、膝上型電腦或其它便攜式計算機(jī)110、個人數(shù)字助理(PDA)112、或任何由通用無線設(shè)備114表示的能夠經(jīng)無線網(wǎng)絡(luò)102通信的其它類似的終端。由無線設(shè)備116表示的任何數(shù)量的無線設(shè)備可以耦合到無線網(wǎng)絡(luò)102。其它設(shè)備或網(wǎng)絡(luò)元件118、120也可以耦合到無線網(wǎng)絡(luò)102。這樣一個網(wǎng)絡(luò)元件的一個實(shí)例是服務(wù)器118。
一個(多個)有線網(wǎng)絡(luò)104可包括諸如互聯(lián)網(wǎng)的全球區(qū)域網(wǎng)(GAN)、一個或多個廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)等。能夠通信的任何計算設(shè)備或其它終端可經(jīng)由有線網(wǎng)絡(luò)104操作,比如計算機(jī)122、124(包括臺式機(jī)、工作站、膝上型電腦、會議系統(tǒng)等)或能夠經(jīng)網(wǎng)絡(luò)104通信的其它任何類似的計算設(shè)備。其它設(shè)備或網(wǎng)絡(luò)元件126、128也可以耦合到有線網(wǎng)104。例如,服務(wù)器126可以提供內(nèi)容、數(shù)據(jù)等等給任何一個或多個其它計算機(jī)122、124,無線設(shè)備106、116和/或其它服務(wù)器118或其它網(wǎng)絡(luò)元件120、128。用具有程序或應(yīng)用的任何網(wǎng)絡(luò)元件可應(yīng)用本發(fā)明,其中期望與其它程序/應(yīng)用的通信。另外,雖然本發(fā)明在網(wǎng)絡(luò)環(huán)境中尤其有益,但是本發(fā)明同樣適用于其中應(yīng)用或應(yīng)用實(shí)例之間發(fā)生通信的獨(dú)立系統(tǒng)。
在圖1的圖示實(shí)施例中,每一個示出的網(wǎng)絡(luò)元件包括可以與其它網(wǎng)絡(luò)元件中的其它應(yīng)用通信的一個或多個應(yīng)用。例如,無線設(shè)備包括一個(多個)應(yīng)用130,服務(wù)器118和126分別包括一個(多個)應(yīng)用132和134,以及計算設(shè)備122包括一個(多個)應(yīng)用136。用于促進(jìn)此類應(yīng)用之間的通信的軟件通常被稱作應(yīng)用通信“中間件”。
本發(fā)明是針對此類中間件的一方面,即消息隊列,其促進(jìn)此類應(yīng)用130、132、134、136和/或其它應(yīng)用之間的通信。通過網(wǎng)絡(luò)的應(yīng)用數(shù)據(jù)常常被稱作消息。消息隊列在傳輸期間提供網(wǎng)絡(luò)中的一個保存位置來臨時存儲消息。通常,消息隊列(MQ)可位于計算機(jī)、服務(wù)器、或其它發(fā)送消息的系統(tǒng)中,和位于接收消息的系統(tǒng)中。例如,任何網(wǎng)絡(luò)元件106、118、122、126中的任何一個可包括MQ,諸如分別是MQ 140、142、144、146??商娲?,如一個或多個MQ 148所示,MQ可以作為中間計算系統(tǒng)邏輯上位于發(fā)送和接收系統(tǒng)之間。如下更詳細(xì)的描述,本發(fā)明允許應(yīng)用相互之間利用MQ通信,盡管在通信設(shè)備的一個中缺少M(fèi)Q或通信設(shè)備中的MQ之間不相兼容。
無線和有線網(wǎng)絡(luò)通信通常按照分層軟件結(jié)構(gòu)進(jìn)行描述,概略地基于現(xiàn)有技術(shù)中已知的開放式系統(tǒng)互聯(lián)參考模型(OSI)。圖2是說明這樣一種分層軟件結(jié)構(gòu)中消息隊列的結(jié)構(gòu)布置的典型實(shí)例的框圖。這個實(shí)施例假定無線終端200和另一個終端或服務(wù)器(服務(wù)器/終端202)的應(yīng)用之間的無線/蜂窩通信。該終端200包括其包括有應(yīng)用-A 204、應(yīng)用-B 206、直到由應(yīng)用n 208代表的無限制數(shù)量的應(yīng)用的典型應(yīng)用。相似的,該服務(wù)器/終端202包含了包括有應(yīng)用X 210、直到由應(yīng)用m 212代表的無限制數(shù)量的應(yīng)用的典型應(yīng)用。這些應(yīng)用,與任何期望的或需要的應(yīng)用編程接口(API)一起代表每個堆棧的應(yīng)用層。
傳輸控制協(xié)議(TCP)214、216和用戶數(shù)據(jù)報協(xié)議(UDP)218、220堆棧業(yè)務(wù)描述典型的傳輸層協(xié)議。典型地,TCP或UDP協(xié)議被用于移動互聯(lián)網(wǎng)設(shè)備或有線設(shè)備以承載應(yīng)用相關(guān)的消息。互聯(lián)網(wǎng)協(xié)議(IP)222、224堆棧業(yè)務(wù)描述典型的網(wǎng)絡(luò)層協(xié)議,其被用來在基于IP的網(wǎng)絡(luò)上承載數(shù)據(jù)。在圖示的實(shí)施例中,各種無線/蜂窩協(xié)議226、228可代表數(shù)據(jù)鏈路層和傳輸層之間的協(xié)議。這樣的協(xié)議包括,例如短消息業(yè)務(wù)(SMS)、多媒體消息業(yè)務(wù)(MMS)、無線應(yīng)用協(xié)議(WAP)等。結(jié)構(gòu)上,MQ 230、232位于圖2所示實(shí)例中的通信協(xié)議和應(yīng)用之間。終端200和服務(wù)器/終端202之間的連接,如通信信道234所描述的,可以是僅偶發(fā)性可用的不可靠連接。MQ 230、232解決這種情況。但是,如在下面更詳細(xì)描述的,不是所有的設(shè)備都使用MQ。另外,即使通信設(shè)備的每個都使用MQ,該MQ可能在與所傳送的信息相關(guān)的協(xié)議和/或分組報頭方面不兼容。
當(dāng)MQ從傳輸層接收到消息(如TCP 214/216;UDP 218/220等)時,它必須知道該消息指向哪個應(yīng)用和/或應(yīng)用實(shí)例。并非總是足以識別出該應(yīng)用類型,因?yàn)橹鳈C(jī)(如計算機(jī)、移動終端等)可能同時運(yùn)行應(yīng)用軟件的幾個實(shí)例。此外,由于應(yīng)用實(shí)例可被臨時暫停或者甚至被終止的事實(shí),因此情況變得更為復(fù)雜。因此,當(dāng)應(yīng)用或應(yīng)用實(shí)例被激活或者重新被激活時,消息必須被傳遞到正確的應(yīng)用(包括離散的應(yīng)用或應(yīng)用進(jìn)程)或應(yīng)用實(shí)例。
當(dāng)沒有使用MQ時,這個問題不會出現(xiàn)。這是因?yàn)樵搼?yīng)用直接激活并使用該協(xié)議。圖3A描述了這種情況,并說明沒有使用MQ的典型情況的框圖。在圖示的實(shí)例中,應(yīng)用-A的兩個實(shí)例是激活的,即應(yīng)用-A實(shí)例-1 300和應(yīng)用-A實(shí)例-2 302。這種情況下,每個應(yīng)用實(shí)例直接與不同的傳輸協(xié)議實(shí)例相關(guān)。例如,調(diào)用應(yīng)用-A實(shí)例-1 300將調(diào)用傳輸協(xié)議實(shí)例-1 304,調(diào)用應(yīng)用-A實(shí)例-2302將調(diào)用傳輸協(xié)議實(shí)例-2 306。在傳輸層使用TCP的更特定的實(shí)例中,假定應(yīng)用-A實(shí)例-1 300和實(shí)例-2 302對應(yīng)于同時運(yùn)行的兩個瀏覽器應(yīng)用。不使用MQ,每個將打開自己的TCP套接字來發(fā)送超文本傳輸協(xié)議(HTTP)消息。因此,在每個瀏覽器實(shí)例300、302和TCP進(jìn)程304、306之間分別有一一對應(yīng)的關(guān)系。
MQ的使用提供了許多優(yōu)點(diǎn),并因此經(jīng)常期望使用MQ。然而,MQ的使用使得圖3A所示的傳統(tǒng)關(guān)聯(lián)無效。這在圖3B中進(jìn)行描述,其中在應(yīng)用實(shí)例300、302和傳輸實(shí)例304、306之間使用MQ 308。如可看到的,傳輸和應(yīng)用實(shí)例之間的關(guān)聯(lián)是無效的。在更特定的實(shí)例中,再次假定應(yīng)用-A實(shí)例-1 300和實(shí)例-2 302對應(yīng)于同時運(yùn)行的兩個瀏覽器應(yīng)用。瀏覽器的兩個實(shí)例300、302都可向MQ308發(fā)送一個HTTP請求,并且然后被暫?;蚪K止。同時,MQ308向前發(fā)送該消息到目的地。當(dāng)目的地設(shè)備(如服務(wù)器)作出響應(yīng),MQ308必須知道該響應(yīng)指向?yàn)g覽器實(shí)例300、302中的哪個。不幸的是,可能該傳輸使用同一標(biāo)識符,諸如TCP端口號,因此該響應(yīng)不能被指向適當(dāng)?shù)膽?yīng)用實(shí)例。
當(dāng)使用MQ時,通常假定在通信兩端都使用MQ,諸如在客戶端/終端和服務(wù)器。這部分地由于需要唯一識別通信應(yīng)用的事實(shí),包括在應(yīng)用有幾個運(yùn)行的實(shí)例并且每個實(shí)例可以進(jìn)入暫停或終止?fàn)顟B(tài)的地方。如前所述,該MQ必須知道從傳輸層接收到的消息被指向哪個應(yīng)用和應(yīng)用實(shí)例。簡單的解決辦法是在兩端引進(jìn)MQ,和使用特定協(xié)議或分組報頭來唯一識別兩端正在通信的應(yīng)用。這樣一種協(xié)議或分組報頭可能是專門用來完成這個目標(biāo),但是在任何情況下兩個通信端必須支持同類型的MQ。例如,發(fā)送MQ可增加包含唯一標(biāo)識符的專用MQ報頭。這在圖4中進(jìn)行描述,其提供了說明在通信兩端使用MQ的解決辦法的框圖。
在圖4的實(shí)例中,一個應(yīng)用的三個應(yīng)用實(shí)例與終端400相關(guān),包括應(yīng)用-A實(shí)例-1 402、應(yīng)用-A實(shí)例-2 404、應(yīng)用-A實(shí)例-3 406。在終端400提供有一個MQ408,邏輯上在應(yīng)用實(shí)例和傳輸層410之間。所述實(shí)例中通信的另一端是服務(wù)器412,該服務(wù)器包括服務(wù)器應(yīng)用414和邏輯上在服務(wù)器應(yīng)用414和傳輸層418之間的MQ416。傳輸層420也可以沿通信信道出現(xiàn)在各種網(wǎng)絡(luò)元件422。假定服務(wù)器應(yīng)用414要發(fā)送一個消息到應(yīng)用實(shí)例402、404、406中的一個。唯一標(biāo)識符(ID)424被用于唯一識別該通信應(yīng)用。例如,發(fā)送MQ416可向包含唯一ID 424的消息426增加專用MQ報頭來識別接收應(yīng)用實(shí)例??商鎿Q地,發(fā)送MQ416可使用一些具體和可能專用的協(xié)議來為該消息識別目的地應(yīng)用實(shí)例402、404、406。使用與消息426一起傳送的這個唯一ID 424,可以識別出應(yīng)用實(shí)例402、404、406中的適當(dāng)?shù)囊粋€。
然而,這種方法把MQ的使用限制在僅當(dāng)兩個通信端都支持同類型的MQ的情況。這自然導(dǎo)致了碎片,并且從應(yīng)用開發(fā)者的觀點(diǎn)來看是不期望的。例如,可能開發(fā)者必須使用不同版本的軟件,或包括對另外一端有或沒有MQ的情況的支持。本發(fā)明克服了這個問題,并且克服了在通信端之間為唯一識別通信對等體使用可能的專用協(xié)議和/或分組報頭的需要。本發(fā)明還允許MQ使用在甚至僅在端到端通信信道的一側(cè)上部署MQ的情況下。
本發(fā)明規(guī)定了應(yīng)用和傳輸標(biāo)識符的關(guān)聯(lián)的存儲,來促進(jìn)對作為消息目的地的應(yīng)用和/或應(yīng)用實(shí)例的隨后識別。如上所述,這允許MQ使用在甚至僅在端到端通信信道的一側(cè)上部署MQ的情況下,和消除了在兩端實(shí)現(xiàn)MQ的通信信道的每一端對同類型MQ的需要。在本發(fā)明的一個實(shí)施例中,所存儲的應(yīng)用和傳輸標(biāo)識符的相互關(guān)系通過維持一個表(下文稱為“ID-表”)來實(shí)現(xiàn),該表識別出與具體應(yīng)用相關(guān)的應(yīng)用和傳輸。根據(jù)本發(fā)明,所使用的特定標(biāo)識符可以改變,因?yàn)槿魏慰捎玫膽?yīng)用和傳輸標(biāo)識符都會被使用,只要提供了它們之間的相互關(guān)系。例如,可通過把使用由MQ提供的唯一ID來識別的應(yīng)用與使用傳輸協(xié)議實(shí)例的識別所識別的傳輸相關(guān)聯(lián)來提供應(yīng)用/傳輸關(guān)聯(lián)。可以使用其它的應(yīng)用和傳輸標(biāo)識符,如下更詳細(xì)的描述。如此,當(dāng)MQ從傳輸層接收到一個消息時,它可以訪問所存儲的應(yīng)用/傳輸標(biāo)識符的關(guān)聯(lián)來確定該消息被指向哪個應(yīng)用/應(yīng)用實(shí)例。因此,本發(fā)明消除了在通信信道的兩端擁有一個MQ、或至少相同MQ的需要。
圖5是說明根據(jù)本發(fā)明在應(yīng)用和應(yīng)用標(biāo)識符之間提供一種關(guān)聯(lián)的一個實(shí)施例的框圖。在圖5的實(shí)施例中,示出了兩個應(yīng)用實(shí)例,包括應(yīng)用-A實(shí)例-1 500和應(yīng)用-A實(shí)例-2 502。示出了兩個傳輸協(xié)議實(shí)例,包括傳輸協(xié)議實(shí)例-1 504和傳輸協(xié)議實(shí)例-2 506。還使用一個MQ 508來促進(jìn)消息發(fā)送到接收應(yīng)用。然而,MQ 508的邏輯位置中斷了應(yīng)用和應(yīng)用實(shí)例之間的任何關(guān)聯(lián)。根據(jù)本發(fā)明,創(chuàng)建每個消息傳輸?shù)膽?yīng)用和傳輸標(biāo)識符的關(guān)聯(lián),當(dāng)消息目標(biāo)(如服務(wù)器、另外的終端等)響應(yīng)于最初發(fā)送消息的應(yīng)用或應(yīng)用實(shí)例時,該關(guān)聯(lián)隨后可以用于識別正確的應(yīng)用或應(yīng)用實(shí)例。在圖5的圖示實(shí)施例中,應(yīng)用和傳輸標(biāo)識符的關(guān)聯(lián)可以使用本地ID-表510來維持。該ID-表510因此至少維持在消息被發(fā)送時所使用的應(yīng)用標(biāo)識符和傳輸標(biāo)識符的條目,并維持在消息傳輸中使用的對應(yīng)的應(yīng)用和傳輸標(biāo)識符之間的關(guān)聯(lián)。
圖6是說明一個其中維持應(yīng)用和傳輸標(biāo)識符之間的關(guān)聯(lián)的實(shí)施例的圖表。在所述實(shí)施例中,實(shí)現(xiàn)一個ID-表600。ID-表600包括如條目602、604、606、608所表示的一個或多個表的條目,直到由條目610描述的不定數(shù)量的條目。在這樣一個ID-表600的一個實(shí)施例中,只維持應(yīng)用ID 612和傳輸ID 614之間的關(guān)聯(lián)。對于應(yīng)用ID 612,MQ為應(yīng)用或應(yīng)用實(shí)例產(chǎn)生唯一標(biāo)識符,或使用另外一個可用的標(biāo)識符諸如假如操作系統(tǒng)支持時的應(yīng)用進(jìn)程的進(jìn)程號。對于傳輸ID 614,MQ使用任何可用的傳輸標(biāo)識符,諸如假如操作系統(tǒng)支持時的協(xié)議進(jìn)程的進(jìn)程號,或假如傳輸協(xié)議層提供時的套接字號等。對于特定消息,使用應(yīng)用ID 612和傳輸ID 614在ID-表600中創(chuàng)建一個條目。例如,條目602可包括被描述為APP-PROCESS#616的應(yīng)用ID 612和被描述為SOCKET#618的傳輸ID 614的關(guān)聯(lián)。標(biāo)識符614、618的這個關(guān)聯(lián)被維持并被用于響應(yīng)消息被指向的適當(dāng)應(yīng)用/應(yīng)用實(shí)例的隨后識別。
該MQ因此維持一個把特定應(yīng)用連接到特定傳輸?shù)谋?00。在一個實(shí)施例中,該表以這樣一種方式構(gòu)造,即它盡可能地獨(dú)立于操作系統(tǒng)的特征。當(dāng)發(fā)送一個消息時,MQ在本地為應(yīng)用提供唯一的ID 612,并且該唯一的ID被存儲到該表中。該唯一的ID可通過MQ產(chǎn)生,如果MQ有一個可用的進(jìn)程標(biāo)識符(如APP-PROCESS#616)該唯一ID可以是進(jìn)程標(biāo)識符,或可以是應(yīng)用的另一個唯一標(biāo)識符。對應(yīng)的傳輸ID 614也可以存儲到表600,以及可使用傳輸特定的標(biāo)識符來獲得,諸如TCP或UDP套接字號,或進(jìn)程或線程,這取決于環(huán)境支持什么。
在本發(fā)明的一個實(shí)施例中,ID-表600(或其它數(shù)據(jù)結(jié)構(gòu))還包含關(guān)于所使用的標(biāo)識符的特性的信息。例如,應(yīng)用ID類型620和/或傳輸ID類型622可以包括在表600的一個、多個或所有的條目中。例如,應(yīng)用ID類型可以是由MQ產(chǎn)生的唯一ID、進(jìn)程號、或其它類似的指示符。類似地,傳輸ID類型622可以是套接字號、端口號、會話標(biāo)識符、進(jìn)程號、線程號、或其它類似的指示符。作為一個實(shí)例,一些類型的操作系統(tǒng)返回唯一識別TCP進(jìn)程的TCP套接字號。該TCP套接字號可被用作傳輸ID 614,接著傳輸ID類型622可以是一個套接字號或更明確地是TCP套接字號。根據(jù)該操作系統(tǒng),MQ可能得到涉及傳輸?shù)囊恍┢渌鼧?biāo)識符,諸如傳輸進(jìn)程/線程本身的標(biāo)識符而不是套接字號。
除了圖6描述的那些字段之外的附加的和/或不同的字段,可與ID-表600相關(guān)。另外,這樣的標(biāo)識符的關(guān)聯(lián)本身不需要在“表”中。相反,根據(jù)本發(fā)明可以使用能夠維持有關(guān)標(biāo)識符之間的這種關(guān)聯(lián)的任何數(shù)據(jù)結(jié)構(gòu)或鏈接特征。例如,鏈接、指針、鏈接表、數(shù)組等可以用于在應(yīng)用標(biāo)識符和邏輯連接標(biāo)識符(如傳輸標(biāo)識符)之間建立所需要的關(guān)聯(lián)。
圖7是說明其中僅在通信方之一中應(yīng)用MQ的實(shí)現(xiàn)ID-表的一種方式的一個實(shí)施例的框圖。在圖7的實(shí)例中,一個應(yīng)用的三個應(yīng)用實(shí)例與終端700相關(guān),包括應(yīng)用-A實(shí)例-1 702和應(yīng)用-A實(shí)例-2 704和應(yīng)用-A實(shí)例-3 706。在終端700提供有MQ708,其邏輯上位于所述應(yīng)用實(shí)例和傳輸層710之間。與MQ708相關(guān)聯(lián)的是ID-表712,其存儲應(yīng)用和傳輸標(biāo)識符的關(guān)聯(lián),如前描述。在所描述的例子中通信的另一端包括另一個通信設(shè)備,在本例中是服務(wù)器714。該服務(wù)器714包括服務(wù)器應(yīng)用716,并可選地包括邏輯上位于服務(wù)器應(yīng)用716和傳輸層720之間的MQ718。傳輸層722也可以出現(xiàn)在沿通信信道的各種網(wǎng)絡(luò)元件724上。
操作中,諸如應(yīng)用-A實(shí)例-1 702的應(yīng)用或應(yīng)用實(shí)例可以調(diào)用MQ708的業(yè)務(wù)。這樣做的時候,應(yīng)用實(shí)例702識別出目的地。MQ708返回一個唯一的標(biāo)識符給可以在將來使用的應(yīng)用實(shí)例702。MQ708初始化一個傳輸,例如TCP套接字、UDP套接字等。操作系統(tǒng)或傳輸710通常返回一些涉及傳輸信道的標(biāo)識符的類型,無論這是套接字號、進(jìn)程或線程標(biāo)識符等。例如,UNIX型操作系統(tǒng)通常返回一個唯一識別TCP進(jìn)程的TCP套接字號。在另一個實(shí)施例中,標(biāo)識符可以與傳輸進(jìn)程本身相關(guān)。
接著MQ708把應(yīng)用號(如“ID_application”)和傳輸標(biāo)識符(如“ID_transport”)都寫入到ID-表712。如前所述,包括關(guān)于標(biāo)識符特性的信息也是必要的或有利的,例如傳輸類型,以便指示是使用套接字號還是進(jìn)程號識另傳輸。表712被維持直到應(yīng)用702指示它的終止,或一些預(yù)定時間周期已經(jīng)截止而沒有使用,或一些其它的預(yù)定事件發(fā)生。
當(dāng)消息726從服務(wù)器應(yīng)用716到達(dá)時,可能不應(yīng)用MQ718的業(yè)務(wù)??商鎿Q地,服務(wù)器714可以應(yīng)用MQ718,但可能不是與MQ708相同類型的,并且由MQ718使用的任何特定協(xié)議或分組報頭可能對MQ708沒用。在所描述的例子中,消息726不包括任何特定或?qū)S脠箢^來把消息有效負(fù)荷728(和標(biāo)準(zhǔn)報頭)指向應(yīng)用實(shí)例702中正確的一個,并因此不應(yīng)用MQ718的業(yè)務(wù)。
當(dāng)消息726從另一通信端點(diǎn)(有或沒有MQ)到達(dá)時,MQ708確定消息是從哪個套接字或進(jìn)程接收的。MQ708接著查閱ID-表712,并對其中接收到該消息的套接字和ID-表712中的傳輸標(biāo)識符進(jìn)行比較。基于在ID-表712中定位匹配的套接字,可以確定相關(guān)的應(yīng)用進(jìn)程/實(shí)例。在圖7的例子中,相關(guān)的應(yīng)用實(shí)例將識別出應(yīng)用-A實(shí)例-1702。該消息于是被轉(zhuǎn)發(fā)到正確的應(yīng)用實(shí)例,或可替換地存儲到與MQ708相關(guān)的隊列(例如當(dāng)應(yīng)用實(shí)例被暫停時)。
圖8是說明根據(jù)本發(fā)明傳送消息的方式的一個實(shí)施例的消息流程圖。這個實(shí)施例從設(shè)備(例如用于圖8用途的移動終端)的觀點(diǎn)描述通信,該設(shè)備可以向另外的設(shè)備(例如用于圖8用途的服務(wù)器)發(fā)起通信和從該服務(wù)器接收消息。因此,移動終端的模塊包括應(yīng)用進(jìn)程/實(shí)例800、消息隊列(MQ802)、傳輸協(xié)議進(jìn)程/實(shí)例804和用于使應(yīng)用ID和傳輸ID相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)806。在圖示實(shí)施例中,所使用的數(shù)據(jù)結(jié)構(gòu)是ID_表806。
圖8的消息流程包括調(diào)用808 MQ802的業(yè)務(wù)的應(yīng)用800。當(dāng)調(diào)用時,該應(yīng)用識別出消息的目的地。更具體的,應(yīng)用800可以通過應(yīng)用編程接口(API)調(diào)用MQ,并識別目標(biāo)主機(jī)、應(yīng)用和可能還有協(xié)議。也可能是應(yīng)用提議要使用的唯一標(biāo)識符。MQ802返回810唯一應(yīng)用ID給應(yīng)用800。如果該應(yīng)用首先已經(jīng)提出一個ID,那么MQ在返回它之前會檢測它是唯一的。MQ802還初始化812一個傳輸,其導(dǎo)致傳輸804返回814傳輸ID。在一個實(shí)施例中,這包括考慮協(xié)議和創(chuàng)建(fork)進(jìn)程作決定的MQ802。作為響應(yīng),返回進(jìn)程號、套接字號等等?,F(xiàn)在具有應(yīng)用ID和傳輸ID的MQ802,寫入816這個信息到ID_表806或以另外一種方式存儲應(yīng)用ID/傳輸ID關(guān)聯(lián)。應(yīng)用800發(fā)送818一個(多個)消息到MQ 802。MQ 802向ID_表806請求820傳輸ID,接著ID_表806向MQ802返回822傳輸ID以促進(jìn)傳遞824一個(多個)消息到傳輸進(jìn)程。可替代的,MQ802可能已經(jīng)具有來自于傳輸ID的早期返回814的傳輸ID,在這種情況下就不需要附加的請求820和返回822了。
ID_表806如今配備有經(jīng)應(yīng)用800發(fā)送的一個(多個)消息的應(yīng)用ID和傳輸ID的關(guān)聯(lián)。當(dāng)從另一個通信端點(diǎn)接收到826響應(yīng)消息時,MQ802可以確定從哪個套接字/進(jìn)程接收到消息。MQ802向ID_表806請求828該傳輸ID,然后ID_表806返回830該傳輸ID到MQ802。使用發(fā)現(xiàn)的套接字/進(jìn)程,和返回的傳輸ID(也就是套接字、進(jìn)程等),MQ802可以傳遞832響應(yīng)消息到正確的應(yīng)用進(jìn)程/實(shí)例800。
圖9是說明根據(jù)本發(fā)明的一個實(shí)施例向/從多個應(yīng)用實(shí)例傳送消息的方式的一個消息流程圖。為了圖9的描述的目的,假定終端應(yīng)用存在兩個實(shí)例,應(yīng)用實(shí)例-1 900和應(yīng)用實(shí)例-2 902,以及假定這些應(yīng)用實(shí)例在終端和服務(wù)器之間使用專用消息。這些應(yīng)用實(shí)例可以表示任何類型應(yīng)用的多個實(shí)例,例如簿記軟件。在這個特定的例子中,傳輸協(xié)議906可以是UDP,并且應(yīng)用總是假定UDP端口號為“1234”。終端用戶因此同時運(yùn)行兩個應(yīng)用實(shí)例,并且在終端使用MQ904。
應(yīng)用實(shí)例-1 900利用函數(shù)調(diào)用發(fā)送908消息到MQ904。此類消息調(diào)用的例子在下面例1中示出send_message(udp,102.233.242.202,1234,message)例1MQ904接收該函數(shù)調(diào)用,提供910唯一ID“1001”,并返回912該值到應(yīng)用實(shí)例-1 900。然后應(yīng)用實(shí)例-1 900存儲914該ID“1001”,例如存儲該ID到盤,并進(jìn)入暫停狀態(tài)。MQ904調(diào)用916一個UDP套接字到IP主機(jī)“102.233.242.202”和到UDP端口“1234”以及接收918一個UDP套接字號“111”。MQ904存儲920新條目到ID_表922。此類條目的例子在下面表1中示出
表1MQ904發(fā)送924消息到UDP套接字以傳送到服務(wù)器926。
類似的步驟對第二應(yīng)用實(shí)例-2 902中重復(fù)。更具體的,應(yīng)用實(shí)例-2 902利用函數(shù)調(diào)用發(fā)送930消息到MQ904。此類消息調(diào)用的例子在下面的例2中示出send_message(udp,102.233.242.202,1234,message)例2可見,由應(yīng)用實(shí)例-2 902發(fā)送的消息調(diào)用與由應(yīng)用實(shí)例-1 900發(fā)送的消息調(diào)用相同。MQ904接收該函數(shù)調(diào)用,提供932唯一ID“1002”,并返回934該值到應(yīng)用實(shí)例-2 902。然后應(yīng)用實(shí)例-2 902存儲936該ID“1002”,并進(jìn)入暫停狀態(tài)。MQ904調(diào)用938UDP套接字到IP主機(jī)“102.233.242.202”和到UDP端口“1234”以及接收940UDP套接字號“112”。MQ904存儲942新條目到ID_表922。此類條目的例子在下面的表2中示出
表2MQ904發(fā)送944消息到UDP套接字以傳送到服務(wù)器926。
服務(wù)器926從應(yīng)用實(shí)例900、902接收消息并處理響應(yīng)。如在路徑946、948上所描述的,服務(wù)器926將響應(yīng)發(fā)送回終端。應(yīng)當(dāng)注意的是可以以任何順序發(fā)回響應(yīng),并不需要按照它們接收的順序發(fā)回。MQ904從UDP套接字111接收950消息。如在路徑952、954上所描述的來查閱ID_表922,并且MQ904確定消息與具有唯一ID“1001”的應(yīng)用相關(guān)。MQ904利用應(yīng)用ID號存儲956消息。用戶激活958應(yīng)用實(shí)例-1 900。該應(yīng)用從盤中檢索960應(yīng)用ID,并為可能的消息檢查962 MQ904,例如使用“get_message(1001)”函數(shù)調(diào)用。MQ904接收請求,并返回964該消息。以類似的方式,應(yīng)用實(shí)例-2 902可以使用UDP套接字112和唯一ID“1002”從MQ904中檢索它的消息。
本發(fā)明也適用于不同的協(xié)議和不同的軟件體系結(jié)構(gòu)層。例如,雖然為促進(jìn)理解本發(fā)明的目的于此已經(jīng)描述了傳輸標(biāo)識符,本發(fā)明可用于其它邏輯連接標(biāo)識符,這取決于正在傳送消息的體系結(jié)構(gòu)層。本發(fā)明同樣可用于在另一層開始的消息傳輸,例如表示層、會話層、網(wǎng)絡(luò)層等。因此,本發(fā)明提供了進(jìn)程標(biāo)識符和邏輯連接標(biāo)識符的關(guān)聯(lián)來最終定位和引導(dǎo)響應(yīng)消息回到進(jìn)程,即使該進(jìn)程不在應(yīng)用層進(jìn)行操作,或邏輯連接標(biāo)識符位于傳輸層。
圖10是根據(jù)本發(fā)明的一個實(shí)施例用于在應(yīng)用之間促進(jìn)消息通信的方法的流程圖。獲得1000應(yīng)用ID和對應(yīng)的出站邏輯連接ID,例如傳輸ID。出站邏輯連接ID因此對應(yīng)于套接字、端口、會話等,其中將發(fā)送出站消息。邏輯連接ID與來自由它們各自的應(yīng)用ID識別的應(yīng)用的消息傳輸相關(guān)。然后建立應(yīng)用ID和它們的對應(yīng)出站邏輯連接ID的關(guān)聯(lián)1002。例如,通過在ID_表中輸入相關(guān)的應(yīng)用ID和連接ID來建立關(guān)聯(lián)。響應(yīng)于應(yīng)用所發(fā)送的消息的入站消息被指向1004具有與出站邏輯連接ID相關(guān)的應(yīng)用ID的應(yīng)用,其中出站邏輯連接ID對應(yīng)于入站邏輯連接ID。例如,從另一個設(shè)備(例如服務(wù)器)接收到的消息被指向在ID_表中具有鏈接到出站傳輸ID的應(yīng)用ID的應(yīng)用,其中該出站傳輸ID匹配入站傳輸ID。根據(jù)本發(fā)明的一個實(shí)施例,這些操作至少部分地由MQ執(zhí)行。
圖11是用于在多個應(yīng)用之間識別出作為一個響應(yīng)消息目標(biāo)的應(yīng)用的方法的流程圖。接收到1100應(yīng)用標(biāo)識符和出站傳輸ID。從這方面來看,應(yīng)用ID的接收可能涉及唯一ID在MQ的產(chǎn)生,或可替代的可能涉及接收可用于MQ的唯一ID,例如進(jìn)程號。以前述任何一種方式創(chuàng)建1102應(yīng)用ID和出站傳輸ID之間的關(guān)聯(lián)。接收1104與呼入消息相關(guān)的入站傳輸ID。使用前面創(chuàng)建的應(yīng)用標(biāo)識符和出站傳輸ID的關(guān)聯(lián)識別1106目標(biāo)應(yīng)用。例如,入站傳輸ID匹配1108于ID表中的出站傳輸ID,并且根據(jù)這個關(guān)聯(lián)可以確定1110應(yīng)用ID。
本發(fā)明可以用于向/從任何類型設(shè)備中的應(yīng)用傳送消息,該消息可以利用網(wǎng)絡(luò)或其它連接來傳送。此類設(shè)備包括諸如臺式計算機(jī)、工作站、膝上型計算機(jī)之類的計算設(shè)備,或能夠經(jīng)網(wǎng)絡(luò)訪問信息的其它任何計算系統(tǒng)。這些計算設(shè)備還包括諸如內(nèi)容服務(wù)器、存儲服務(wù)器、用于多媒體消息業(yè)務(wù)(MMS)的多媒體消息業(yè)務(wù)中心(MMSC)、用于短消息業(yè)務(wù)(SMS)的短消息業(yè)務(wù)中心(SMSC)之類的網(wǎng)絡(luò)服務(wù)器,或任何能夠通過諸如互聯(lián)網(wǎng)之類網(wǎng)絡(luò)與其它系統(tǒng)和設(shè)備通信的其它網(wǎng)絡(luò)元件。這些設(shè)備還包括移動設(shè)備,其中經(jīng)由無線網(wǎng)絡(luò)完成網(wǎng)絡(luò)訪問,該無線網(wǎng)絡(luò)可能最終耦合到有線網(wǎng)絡(luò),也可以最終不耦合到有線網(wǎng)絡(luò)。這些移動設(shè)備可以是諸如無線/蜂窩電話、個人數(shù)字助理(PDA)的任何類型的無線設(shè)備、或能夠進(jìn)行無線通信的其它無線手持裝置和便攜式計算設(shè)備。這些有線和移動設(shè)備應(yīng)用計算機(jī)電路和軟件來控制和管理傳統(tǒng)的設(shè)備活動以及本發(fā)明提供的功能。硬件、固件、軟件或它們的組合可用于實(shí)現(xiàn)這里所述的各種MQ和鏈接操作。能夠?qū)崿F(xiàn)根據(jù)本發(fā)明的操作的典型移動終端計算系統(tǒng)的例子在圖12中進(jìn)行說明。本領(lǐng)域的技術(shù)人員應(yīng)該理解典型的移動計算環(huán)境1200只表示可能與這些移動設(shè)備相關(guān)的典型的通用功能,并且有線計算系統(tǒng)類似的還包括執(zhí)行這些操作的計算電路。
根據(jù)本發(fā)明適于執(zhí)行MQ功能的典型移動計算布置1200可以與許多不同類型的無線設(shè)備相關(guān)。典型移動計算布置1200包括處理/控制單元1202,例如微處理器、精簡指令集計算機(jī)(RISC)、或其它中央處理模塊。處理單元1202不必是單個設(shè)備,并且可以包括一個或多個處理器。例如,處理單元可以包括主處理器和耦合來與主處理器通信的相關(guān)的從處理器。
處理單元1202控制由程序貯存器/存儲器1204中可用的程序所描述的移動終端的基本功能。因此,處理單元1202能夠執(zhí)行與本發(fā)明相關(guān)的MQ鏈接和應(yīng)用進(jìn)程/實(shí)例標(biāo)識功能。更具體的,程序貯存器/存儲器1204可以包括用于在移動終端上實(shí)現(xiàn)功能和應(yīng)用的操作系統(tǒng)和程序模塊。例如,程序貯存器可以包括一個或多個只讀存儲器(ROM)、閃動ROM、可編程和/或可擦除ROM、隨機(jī)存取存儲器(RAM)、用戶接口模塊(SIM)、無線接口模塊(WIM)、智能卡、或其它可拆卸存儲器設(shè)備等。在本發(fā)明的一個實(shí)施例中,與貯存器/存儲器1204相關(guān)的程序模塊存儲在非易失的電可擦除可編程ROM(EEPROM)、閃動ROM等中,以使信息在移動終端斷電時不被丟失。實(shí)現(xiàn)常規(guī)移動終端操作和根據(jù)本發(fā)明的操作的相關(guān)軟件也可以經(jīng)由數(shù)據(jù)信號發(fā)送到移動計算布置1200,例如經(jīng)由諸如互聯(lián)網(wǎng)和中間無線網(wǎng)絡(luò)的一個或多個網(wǎng)絡(luò)被電子地下載。
處理器1202還耦合到與移動終端相關(guān)的用戶接口1206元件。移動終端的用戶接口1206例如可以包括諸如液晶顯示器的顯示器1208、鍵盤1210、揚(yáng)聲器1212和麥克風(fēng)1214。正如本領(lǐng)域中已知的,這些和其它用戶接口元件耦合到處理器1202??梢允褂闷渌脩艚涌跈C(jī)制,諸如語音命令、開關(guān)、觸摸墊/屏、使用定點(diǎn)設(shè)備的圖形用戶接口、軌跡球、游戲桿、或其它用戶接口機(jī)制。
移動計算布置1200還包括執(zhí)行無線傳輸?shù)膫鹘y(tǒng)電路。數(shù)字信號處理器(DSP)1216可被用于執(zhí)行各種功能,包括模數(shù)(A/D)轉(zhuǎn)換、數(shù)模(D/A)轉(zhuǎn)換、語音編碼/解碼、加密/解密、誤差檢測和糾正、比特流轉(zhuǎn)換、濾波等。通常耦合到天線1220的收發(fā)器1218,發(fā)送輸出的無線信號1222和接收與無線設(shè)備相關(guān)的輸入的無線信號1224。
根據(jù)本發(fā)明,MQ功能例如可以在操作系統(tǒng)或軟件體系結(jié)構(gòu)中被實(shí)現(xiàn)。例如,處理器1202可以在程序貯存器/存儲器1204中存儲的程序模塊的指導(dǎo)下提供MQ功能。應(yīng)用1226和MQ1228程序可以存儲到貯存器/存儲器1204。一個應(yīng)用編程接口(API)1230可被用于促進(jìn)MQ1228和應(yīng)用1226之間的消息傳輸。程序貯存器/存儲器1204也可以存儲所創(chuàng)建的應(yīng)用ID和傳輸ID的關(guān)聯(lián),例如由ID_表1232所描述的。
圖12的移動計算布置1200被提供作為可以應(yīng)用本發(fā)明的原理的計算環(huán)境的典型實(shí)例。根據(jù)這里提供的說明,本領(lǐng)域的技術(shù)人員應(yīng)該理解本發(fā)明同樣可應(yīng)用于各種其它已知和未來的移動和有線計算環(huán)境。例如,桌上計算設(shè)備類似的包括處理器、存儲器、用戶接口和數(shù)據(jù)通信電路。因此,本發(fā)明可應(yīng)用于經(jīng)由網(wǎng)絡(luò)傳送數(shù)據(jù)的任何已知的計算結(jié)構(gòu)。
使用在這里提供的說明,通過使用產(chǎn)生編程軟件、固件、硬件或者它們的任何組合的標(biāo)準(zhǔn)編程和/或工程技術(shù),本發(fā)明可以被實(shí)現(xiàn)為一個機(jī)器、進(jìn)程或制造產(chǎn)品。最后得到的任何具有計算機(jī)可讀程序代碼的一個(多個)程序可以被包含在一個或多個計算機(jī)可用介質(zhì)上,比如盤、光盤、可移動的存儲設(shè)備、諸如RAM、ROM、PROMS之類的半導(dǎo)體存儲器等等。包含執(zhí)行與本發(fā)明相關(guān)功能的代碼的制造產(chǎn)品旨在包含一個計算機(jī)程序,該計算機(jī)程序永久或者臨時存在于任何計算機(jī)可用介質(zhì)上或者存在于傳輸這樣一個程序的任何傳輸介質(zhì)中。傳輸介質(zhì)包括但是不限制為經(jīng)由無線/無線電波通信網(wǎng)、互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)、基于電話/調(diào)制解調(diào)器的網(wǎng)絡(luò)通信、硬布線/電纜通信網(wǎng)、衛(wèi)星通信以及其它固定或者移動網(wǎng)絡(luò)系統(tǒng)/通信鏈路的傳輸。從在這里提供的說明中,本領(lǐng)域技術(shù)人員應(yīng)該很容易能夠把所述的已創(chuàng)建的軟件與適當(dāng)?shù)耐ㄓ没驅(qū)S糜嬎銠C(jī)硬件結(jié)合來創(chuàng)建根據(jù)本發(fā)明的一個系統(tǒng)和方法。
為了例示和說明的目的已經(jīng)提出了本發(fā)明的典型實(shí)施例的上述說明。它不意指窮舉性的或者把本發(fā)明限制為所公開的精確形式??紤]到上述教導(dǎo),許多修改和變化是可能的。因此,本發(fā)明的范圍并非要由這詳細(xì)的說明書來限制,而是由附加到此的權(quán)利要求書來確定。
權(quán)利要求
1.一種用于促進(jìn)應(yīng)用之間消息通信的方法,該方法包括獲得應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符,所述對應(yīng)出站邏輯連接標(biāo)識符與來自可由它們各自的應(yīng)用標(biāo)識符識別的應(yīng)用的消息傳遞相關(guān);建立應(yīng)用標(biāo)識符和它們的對應(yīng)出站邏輯連接標(biāo)識符之間的關(guān)聯(lián);和把響應(yīng)的入站消息指向具有與出站邏輯連接標(biāo)識符相關(guān)的應(yīng)用標(biāo)識符的應(yīng)用,該出站邏輯連接標(biāo)識符對應(yīng)于響應(yīng)的入站消息的入站邏輯連接標(biāo)識符。
2.權(quán)利要求1的方法,進(jìn)一步包括比較入站邏輯連接標(biāo)識符與所建立關(guān)聯(lián)的出站邏輯連接標(biāo)識符,并識別出與入站邏輯連接標(biāo)識符匹配的至少一個出站邏輯連接標(biāo)識符;和使用具有與匹配的出站邏輯連接標(biāo)識符建立的關(guān)聯(lián)的應(yīng)用標(biāo)識符來識別出該響應(yīng)的入站消息所指向的那個應(yīng)用。
3.權(quán)利要求1的方法,其中獲得對應(yīng)出站邏輯連接標(biāo)識符包括獲得出站傳輸標(biāo)識符。
4.權(quán)利要求3的方法,其中獲得出站傳輸標(biāo)識符包括通過傳輸協(xié)議獲得出站套接字標(biāo)識符。
5.權(quán)利要求3的方法,其中獲得出站傳輸標(biāo)識符包括獲得與傳輸進(jìn)程相關(guān)的出站傳輸進(jìn)程標(biāo)識符。
6.權(quán)利要求3的方法,其中獲得出站傳輸標(biāo)識符包括獲得與傳輸線程相關(guān)的出站傳輸線程標(biāo)識符。
7.權(quán)利要求3的方法,其中獲得出站傳輸標(biāo)識符包括獲得基于套接字、端口、傳輸進(jìn)程、傳輸線程和可用于軟件分層的傳輸層的會話中至少一個的標(biāo)識符。
8.權(quán)利要求1的方法,其中建立應(yīng)用標(biāo)識符和它們的對應(yīng)出站邏輯連接標(biāo)識符之間的關(guān)聯(lián)包括在每個應(yīng)用標(biāo)識符和它的對應(yīng)出站邏輯連接標(biāo)識符之間創(chuàng)建一個鏈接。
9.權(quán)利要求1的方法,其中建立應(yīng)用標(biāo)識符和它們的對應(yīng)出站邏輯連接標(biāo)識符之間的關(guān)聯(lián)包括經(jīng)由表中的一個條目把應(yīng)用標(biāo)識符和它們的對應(yīng)出站邏輯連接標(biāo)識符相關(guān)聯(lián)。
10.權(quán)利要求1的方法,其中建立應(yīng)用標(biāo)識符和它們的對應(yīng)出站邏輯連接標(biāo)識符之間的關(guān)聯(lián)包括創(chuàng)建條目表,其中每個條目都包括用于傳輸特定消息的應(yīng)用標(biāo)識符的一個和它的對應(yīng)出站邏輯連接標(biāo)識符。
11.權(quán)利要求10的方法,其中創(chuàng)建條目表包括使用消息隊列(MQ)創(chuàng)建該條目表。
12.權(quán)利要求11的方法,進(jìn)一步包括利用MQ維持該條目表。
13.一種用于使用消息隊列(MQ)在多個應(yīng)用中識別出成為至少一個響應(yīng)消息的目標(biāo)的至少一個應(yīng)用的方法,該方法包括接收應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符,其中出站傳輸標(biāo)識符唯一識別來自該應(yīng)用標(biāo)識符所識別的應(yīng)用的消息傳遞的邏輯連接;創(chuàng)建應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符之間的關(guān)聯(lián);接收與目的地是該應(yīng)用的響應(yīng)消息的接收相關(guān)的入站傳輸標(biāo)識符;通過把入站傳輸標(biāo)識符匹配到出站傳輸標(biāo)識符來識別作為響應(yīng)消息目標(biāo)的應(yīng)用,和根據(jù)應(yīng)用標(biāo)識符和匹配的出站傳輸標(biāo)識符之間的關(guān)聯(lián)確定該應(yīng)用的應(yīng)用標(biāo)識符。
14.權(quán)利要求13的方法,其中接收應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符包括接收多個應(yīng)用標(biāo)識符和對應(yīng)的出站傳輸標(biāo)識符;創(chuàng)建應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符之間的關(guān)聯(lián)包括創(chuàng)建多個關(guān)聯(lián),從對應(yīng)于多個應(yīng)用標(biāo)識符的多個應(yīng)用中傳遞的每個消息一個;接收入站傳輸標(biāo)識符包括接收與目的地為多個應(yīng)用中的一個目標(biāo)應(yīng)用的響應(yīng)消息的接收相關(guān)的入站傳輸標(biāo)識符;和識別作為響應(yīng)消息目標(biāo)的應(yīng)用包括把入站傳輸標(biāo)識符匹配到多個關(guān)聯(lián)的出站傳輸標(biāo)識符中的一個。
15.權(quán)利要求13的方法,其中創(chuàng)建應(yīng)用標(biāo)識符和出站傳輸之間的關(guān)聯(lián)包括創(chuàng)建具有多個條目的ID表,其中每個條目包括應(yīng)用標(biāo)識符之一和出站傳輸標(biāo)識符之一。
16.權(quán)利要求13的方法,其中接收應(yīng)用標(biāo)識符包括接收與該應(yīng)用相關(guān)的現(xiàn)有標(biāo)識符。
17.權(quán)利要求13的方法,其中接收應(yīng)用標(biāo)識符包括在MQ接收對應(yīng)于應(yīng)用的進(jìn)程號。
18.權(quán)利要求13的方法,其中接收應(yīng)用標(biāo)識符包括在MQ產(chǎn)生應(yīng)用標(biāo)識符。
19.權(quán)利要求13的方法,進(jìn)一步包括確定MQ是否有可用的進(jìn)程標(biāo)識符,和其中接收應(yīng)用標(biāo)識符包括如果進(jìn)程標(biāo)識符在MQ可用則使用該進(jìn)程標(biāo)識符作為應(yīng)用標(biāo)識符。
20.權(quán)利要求19的方法,其中接收應(yīng)用標(biāo)識符包括如果進(jìn)程標(biāo)識符不可用則在MQ產(chǎn)生應(yīng)用標(biāo)識符。
21.權(quán)利要求13的方法,進(jìn)一步包括存儲應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符之間的關(guān)聯(lián)。
22.權(quán)利要求13的方法,進(jìn)一步包括把響應(yīng)消息指向由應(yīng)用標(biāo)識符識別的應(yīng)用。
23.權(quán)利要求13的方法,其中多個應(yīng)用包括兩個或更多不同應(yīng)用、應(yīng)用實(shí)例和應(yīng)用進(jìn)程的任意組合。
24.權(quán)利要求13的方法,其中把入站傳輸標(biāo)識符匹配到出站傳輸標(biāo)識符包括對入站傳輸標(biāo)識符與多個已創(chuàng)建的關(guān)聯(lián)進(jìn)行比較以便從具有匹配的出站傳輸標(biāo)識符的已創(chuàng)建關(guān)聯(lián)中定位應(yīng)用標(biāo)識符。
25.可在網(wǎng)絡(luò)上操作的并能夠與至少一個目的地設(shè)備之間傳送消息的源設(shè)備,包括存儲器,為從該源設(shè)備傳送的多個出站消息中的每一個存儲應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系;和消息隊列(MQ)模塊,配置為比較入站消息的入站邏輯連接標(biāo)識符和所存儲的聯(lián)系的出站邏輯連接標(biāo)識符,并識別具有與匹配于入站邏輯連接標(biāo)識符的出站邏輯連接標(biāo)識符相聯(lián)的應(yīng)用標(biāo)識符的本地應(yīng)用。
26.如權(quán)利要求25的源設(shè)備,其中MQ模塊被以軟件實(shí)現(xiàn),并且其中該源設(shè)備包括處理器,該處理器配置為執(zhí)行MQ軟件以建立應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系,比較入站邏輯連接標(biāo)識符和所存儲聯(lián)系的出站邏輯連接標(biāo)識符,并識別具有與匹配于入站邏輯連接標(biāo)識符的出站邏輯連接標(biāo)識符相聯(lián)的應(yīng)用標(biāo)識符的本地應(yīng)用。
27.如權(quán)利要求25的源設(shè)備,其中MQ模塊進(jìn)一步配置為在存儲器中為從源設(shè)備傳送的多個出站消息的每一個建立應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系。
28.如權(quán)利要求25的源設(shè)備,其中該存儲器包括存儲應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系的數(shù)據(jù)結(jié)構(gòu)。
29.如權(quán)利要求28的源設(shè)備,其中該數(shù)據(jù)結(jié)構(gòu)包括應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系表。
30.如權(quán)利要求25的源設(shè)備,其中該存儲器包括存儲應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系的鏈接表。
31.如權(quán)利要求25的源設(shè)備,其中MQ模塊進(jìn)一步配置為將入站消息指向與匹配于入站邏輯連接標(biāo)識符的出站邏輯連接標(biāo)識符相聯(lián)的已識別本地應(yīng)用。
32.如權(quán)利要求25的源設(shè)備,進(jìn)一步包括處理器,其中本地應(yīng)用包括可在處理器上操作的應(yīng)用實(shí)例、可在處理器上操作的不同應(yīng)用、和可在處理器上操作的包括多個消息類別的應(yīng)用進(jìn)程中的任何一個或多個。
33.如權(quán)利要求25的源設(shè)備,其中源設(shè)備包括無線通信裝置和有線計算系統(tǒng)中的任何一個。
34.如權(quán)利要求25的源設(shè)備,其中MQ模塊包括結(jié)構(gòu)上位于與本地應(yīng)用相關(guān)的應(yīng)用層和傳輸層之間的軟件模塊。
35.一種通過網(wǎng)絡(luò)在多個應(yīng)用之間傳送信息的系統(tǒng),包括(a)源設(shè)備,包括用于經(jīng)網(wǎng)絡(luò)傳送消息的多個源應(yīng)用;(b)目的地設(shè)備,包括用于接收一個或多個消息和響應(yīng)于所接收的消息提供應(yīng)答消息的至少一個目的地應(yīng)用;其中源設(shè)備包括(i)存儲器,為從源設(shè)備傳送的多個出站消息中的每一個存儲應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符的聯(lián)系;和(ii)源消息隊列(MQ)模塊,配置為比較應(yīng)答消息的入站邏輯連接標(biāo)識符和所存儲的聯(lián)系的出站邏輯連接標(biāo)識符,和識別出具有與匹配于入站邏輯連接標(biāo)識符的出站邏輯連接標(biāo)識符相聯(lián)的應(yīng)用標(biāo)識符的本地應(yīng)用。
36.如權(quán)利要求35的系統(tǒng),其中該目的地設(shè)備配置為不使用目的地MQ直接發(fā)送和接收消息。
37.如權(quán)利要求35的系統(tǒng),其中該目的地設(shè)備包括不同于源MQ類型的目的地MQ。
38.如權(quán)利要求35的系統(tǒng),其中該多個源應(yīng)用包括離散應(yīng)用、共同應(yīng)用的實(shí)例和應(yīng)用進(jìn)程中的任何一個或多個。
39.如權(quán)利要求35的系統(tǒng),其中該源設(shè)備和該目的地設(shè)備包括無線通信裝置和有線計算系統(tǒng)中的任何一個。
40.如權(quán)利要求35的系統(tǒng),其中該網(wǎng)絡(luò)包括無線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)中的一個或多個。
41.一種其上存儲有指令的計算機(jī)可讀介質(zhì),該指令可由計算系統(tǒng)執(zhí)行,用于通過執(zhí)行步驟促進(jìn)應(yīng)用之間的消息通信,這些步驟包括獲得應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符,所述對應(yīng)出站邏輯連接標(biāo)識符與來自可由它們各自的應(yīng)用標(biāo)識符識別的應(yīng)用的消息傳遞相關(guān);建立應(yīng)用標(biāo)識符和它們對應(yīng)的出站邏輯連接標(biāo)識符之間的關(guān)聯(lián);響應(yīng)的入站消息被指向具有與出站邏輯連接標(biāo)識符相關(guān)的應(yīng)用標(biāo)識符的應(yīng)用,該出站邏輯連接標(biāo)識符對應(yīng)于響應(yīng)入站消息的入站邏輯連接標(biāo)識符。
42.一種其上存儲有指令的計算機(jī)可讀介質(zhì),該指令可由計算系統(tǒng)執(zhí)行,其用于通過執(zhí)行步驟在多個應(yīng)用中識別出作為至少一個響應(yīng)消息的目標(biāo)的至少一個應(yīng)用,這些步驟包括接收應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符,其中出站傳輸標(biāo)識符唯一識別出用于來自該應(yīng)用標(biāo)識符所識別的應(yīng)用的消息傳遞的邏輯連接;創(chuàng)建應(yīng)用標(biāo)識符和出站傳輸標(biāo)識符之間的關(guān)聯(lián);接收與目的地為該應(yīng)用的響應(yīng)消息的接收相關(guān)的入站傳輸標(biāo)識符;和通過把入站傳輸標(biāo)識符匹配于出站傳輸標(biāo)識符來識別出一個應(yīng)用作為響應(yīng)消息的目標(biāo),并根據(jù)應(yīng)用標(biāo)識符和所匹配的出站傳輸標(biāo)識符之間的關(guān)聯(lián)來為應(yīng)用確定應(yīng)用標(biāo)識符。
全文摘要
一種用于促進(jìn)應(yīng)用(130、132、134和136)之間的消息通信(MQ)的系統(tǒng)、裝置和方法。獲得應(yīng)用標(biāo)識符和對應(yīng)出站邏輯連接標(biāo)識符,所述對應(yīng)出站邏輯連接標(biāo)識符與來自可由它們各自的應(yīng)用標(biāo)識符識別的應(yīng)用的消息傳遞相關(guān)。建立應(yīng)用標(biāo)識符和它們的對應(yīng)出站邏輯連接標(biāo)識符之間的關(guān)聯(lián)。響應(yīng)的入站消息被指向具有與出站邏輯連接標(biāo)識符相關(guān)的應(yīng)用標(biāo)識符的應(yīng)用,該出站邏輯連接標(biāo)識符對應(yīng)于響應(yīng)入站消息的入站邏輯連接標(biāo)識符。
文檔編號H04L29/06GK1748390SQ200480003565
公開日2006年3月15日 申請日期2004年1月30日 優(yōu)先權(quán)日2003年2月5日
發(fā)明者J·魯圖 申請人:諾基亞有限公司