專利名稱:在網(wǎng)絡(luò)通信中壓縮報(bào)文的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本申請(qǐng)通常涉及網(wǎng)絡(luò)通信和通信裝置,特別涉及壓縮往返于這種裝置的報(bào)文。
背景技術(shù):
作為配置為操作繼續(xù)發(fā)展的通信設(shè)備和通信網(wǎng)絡(luò),設(shè)備用戶期望從他們的設(shè)備獲得大量的功能?,F(xiàn)代的移動(dòng)設(shè)備往往能夠起如web瀏覽、信息下載等的這種作用,這已經(jīng)典型地在大的和更強(qiáng)大的個(gè)人電腦(PC)上支持。然而,PC通常具有比無(wú)線設(shè)備大的和快的處理器,以及訪問通信資源和電能供給,其比在所述無(wú)線設(shè)備上受到更少的限制。而且,隨在PC上的計(jì)算能力增加,應(yīng)用變得更大,由此否定了PC的一些資源優(yōu)點(diǎn)。
在無(wú)線設(shè)備上支持這類功能和應(yīng)用,不僅僅是到所述無(wú)線設(shè)備的軟件應(yīng)用或操作系統(tǒng)的移植問題。這些功能所基于的下面的協(xié)議、傳輸機(jī)制和數(shù)據(jù)格式,往往不為無(wú)線通信而優(yōu)化。例如,可擴(kuò)展標(biāo)注語(yǔ)言(XML)很快成為用于在不同計(jì)算機(jī)系統(tǒng)之間交換數(shù)據(jù)的大多數(shù)公共方案的其中一個(gè),特點(diǎn)在于相對(duì)大的文檔大小,以及由此不適合于經(jīng)無(wú)線或其它窄帶通信系統(tǒng)傳送。大量數(shù)據(jù)的傳輸在有線和無(wú)線設(shè)備中都耗費(fèi)有限的設(shè)備資源,包括通信資源和動(dòng)力資源二者。因此,還存在對(duì)往返于網(wǎng)絡(luò)設(shè)備的信息的更有效傳輸?shù)男枰?br>
在這里公開的系統(tǒng)和方法提供了在網(wǎng)絡(luò)通信中壓縮報(bào)文,以避免或減輕上面介紹的至少一些缺點(diǎn)。
發(fā)明內(nèi)容
一種經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文(messaging)的方法,所述設(shè)備和服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言在所述設(shè)備和所述服務(wù)之間共享的元素描述符的預(yù)定知識(shí)。所述方法包括以下步驟在所述服務(wù)和所述設(shè)備之間建立通信;通過消除與所述元素?cái)?shù)據(jù)值有關(guān)的元素描述符來(lái)制定包括元素?cái)?shù)據(jù)值的壓縮報(bào)文;基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序保持所述元素?cái)?shù)據(jù)值的次序;把元素?cái)?shù)據(jù)值設(shè)置在用于把相鄰的元素?cái)?shù)據(jù)值區(qū)分開的各自的分隔符中,所述分隔符指示所述元素?cái)?shù)據(jù)值的給定順序的開始和結(jié)束;以及在使用所共享的元素描述符預(yù)定知識(shí)的接收下、經(jīng)所述網(wǎng)絡(luò)發(fā)送用于隨后解釋的壓縮報(bào)文。
在這里的說(shuō)明提供了一種經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的方法,所述設(shè)備和服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言在所述設(shè)備和所述服務(wù)之間共享的元素描述符的預(yù)定知識(shí)。所述方法包括以下步驟經(jīng)所述網(wǎng)絡(luò)接收包括具有與所述元素?cái)?shù)據(jù)值有關(guān)的缺失元素描述符的元素?cái)?shù)據(jù)值的壓縮報(bào)文,相鄰的元素?cái)?shù)據(jù)值由各自的分隔符區(qū)分開,所述分隔符指示所述元素?cái)?shù)據(jù)值的給定順序的開始和結(jié)束;通過關(guān)聯(lián)所包含的具有各自元素描述符的元素?cái)?shù)據(jù)值、使用共享的元素描述符的預(yù)定知識(shí)來(lái)重構(gòu)所述壓縮報(bào)文,所述元素?cái)?shù)據(jù)值的次序基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序;以及解釋所重構(gòu)的壓縮報(bào)文以用于在運(yùn)行環(huán)境中的隨后的使用。
還提供了一種經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的方法,所述設(shè)備和服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言在所述設(shè)備和所述服務(wù)之間共享的元素描述符的預(yù)定知識(shí)。所述方法包括以下步驟用于在所述服務(wù)和所述設(shè)備之間建立通信的裝置;用于制定包括元素?cái)?shù)據(jù)值和缺失元素描述符的壓縮報(bào)文的裝置;用于基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序保持所述元素?cái)?shù)據(jù)值的次序的裝置;用于把所述元素?cái)?shù)據(jù)值設(shè)置在用于把相鄰元素?cái)?shù)據(jù)值區(qū)分開的各自的分隔符中的裝置;以及用于經(jīng)所述網(wǎng)絡(luò)發(fā)送用于接收時(shí)的隨后解釋的壓縮報(bào)文的裝置。
還提供了一種經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的方法,所述設(shè)備和服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言在所述設(shè)備和所述服務(wù)之間共享的元素描述符的預(yù)定知識(shí)。所述方法包括以下步驟用于經(jīng)所述網(wǎng)絡(luò)接收包括具有缺失元素描述符的元素?cái)?shù)據(jù)值的壓縮報(bào)文,相鄰的元素?cái)?shù)據(jù)值按各自的分隔符來(lái)區(qū)分;用于使用為重構(gòu)所述壓縮報(bào)文的共享的元素描述符的預(yù)定知識(shí)的裝置,所述元素?cái)?shù)據(jù)值的次序基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序;以及用于為在運(yùn)行環(huán)境中的隨后使用而解釋所述重構(gòu)的壓縮報(bào)文的裝置。
還公開了一種計(jì)算機(jī)程序產(chǎn)品,用于配置經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的終端設(shè)備,所述設(shè)備和所述服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言的共用于所述設(shè)備和所述服務(wù)的元素描述符的預(yù)定知識(shí)。所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀媒質(zhì);存儲(chǔ)在計(jì)算機(jī)可讀媒質(zhì)上的壓縮報(bào)文模塊,用于通過消除與所述元素?cái)?shù)據(jù)值有關(guān)的元素描述符來(lái)制定包括元素?cái)?shù)據(jù)值的壓縮報(bào)文;以及所述模塊用于配置所述設(shè)備,以基于按照結(jié)構(gòu)化定義語(yǔ)言的所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序來(lái)保持所述元素?cái)?shù)據(jù)值的次序,配置所述元素?cái)?shù)據(jù)值,以設(shè)置在用于把相鄰元素?cái)?shù)據(jù)值區(qū)分開的各自的分隔符中,所述分隔符指示所述元素?cái)?shù)據(jù)值的給定順序的開始和結(jié)束。
附圖的簡(jiǎn)要說(shuō)明在這里公開的示范性系統(tǒng)和方法的這些和其它特征將在下面參照附圖的詳細(xì)說(shuō)明中變得更明顯,其中
圖1是網(wǎng)絡(luò)系統(tǒng)的方框圖;圖2是圖1系統(tǒng)的設(shè)備方框圖;圖3是圖1系統(tǒng)的第一壓縮報(bào)文系統(tǒng)拓?fù)浣Y(jié)構(gòu)的方框圖;;圖3b是圖3a的系統(tǒng)拓?fù)浣Y(jié)構(gòu)的另一個(gè)例子;圖4是圖1系統(tǒng)的第二壓縮報(bào)文系統(tǒng)拓?fù)浣Y(jié)構(gòu)的方框圖;圖5是圖3a的設(shè)備消息轉(zhuǎn)換器的方框圖;圖6是圖3a的壓縮編序服務(wù)模塊的方框圖;以及圖7示出了壓縮報(bào)文協(xié)議的流程圖。
具體實(shí)施例方式
網(wǎng)絡(luò)系統(tǒng)參照?qǐng)D1,網(wǎng)絡(luò)系統(tǒng)10包括許多普通的終端裝置11,用于通過請(qǐng)求/響應(yīng)消息105經(jīng)由耦合的廣域網(wǎng)(WAN)16與由數(shù)據(jù)服務(wù)器18和關(guān)聯(lián)的信息源20提供的一個(gè)或多個(gè)普通信息服務(wù)13交互,例如但不限于因特網(wǎng)。數(shù)據(jù)服務(wù)器18有效地提供設(shè)備11訪問信息服務(wù)13的信息源20。普通的終端裝置11例如可以是、但不限于個(gè)人電腦22、無(wú)線設(shè)備12、PDA、無(wú)人售貨亭等等。普通的信息服務(wù)13可以是Web服務(wù)和/或其它服務(wù),例如而不是限于SQL數(shù)據(jù)庫(kù)、基于IDL的CORBA和RMVIIOP系統(tǒng),以及COM/DCOM組件。而且,系統(tǒng)10可以具有網(wǎng)絡(luò)網(wǎng)關(guān)24,用于經(jīng)由局域網(wǎng)(LAN)26把臺(tái)式計(jì)算機(jī)終端22連接到信息服務(wù)13。而且,系統(tǒng)10還可以具有無(wú)線網(wǎng)絡(luò)14,用于把無(wú)線設(shè)備12連接到WAN16。
例如,無(wú)線設(shè)備12是適合于在無(wú)線通信網(wǎng)絡(luò)14內(nèi)部操作的無(wú)線通信設(shè)備,例如至少具有數(shù)據(jù)和可能的話音通信能力的雙向通信設(shè)備。無(wú)線網(wǎng)絡(luò)網(wǎng)關(guān)15提供在無(wú)線網(wǎng)絡(luò)14和WAN 16之間的連接,以及執(zhí)行作為無(wú)線設(shè)備尋址、以及儲(chǔ)存和轉(zhuǎn)發(fā)往返于無(wú)線設(shè)備12的數(shù)據(jù)的這種功能。取決于由無(wú)線設(shè)備12提供的功能,其可以操作為例如而不限于數(shù)據(jù)消息設(shè)備、雙向傳呼機(jī)、具有數(shù)據(jù)報(bào)文能力的移動(dòng)電話、無(wú)線因特網(wǎng)用具、數(shù)據(jù)通信設(shè)備(有或者沒有電話能力),和/或配置為連同計(jì)算機(jī)系統(tǒng)或其它電子設(shè)備一起操作的無(wú)線調(diào)制解調(diào)器,然而在這里和無(wú)線設(shè)備12有關(guān)。考慮到其它設(shè)備和計(jì)算機(jī)(未示出)可以經(jīng)由WAN16和不同于如圖1所示的相關(guān)網(wǎng)絡(luò)連接到數(shù)據(jù)服務(wù)器18。為了簡(jiǎn)化起見,普通的終端裝置11、無(wú)線設(shè)備12和個(gè)人電腦22以下將一起稱為“設(shè)備11”。為了簡(jiǎn)化起見,Web服務(wù)例如選擇為代表系統(tǒng)10的以下描述中的信息消息。然而,如果期望,考慮到其它普通的信息服務(wù)可以被web服務(wù)代替。而且,為了簡(jiǎn)化起見,系統(tǒng)10的網(wǎng)絡(luò)14、16、26以下將一起稱作“網(wǎng)絡(luò)16”。
再次參照?qǐng)D1,當(dāng)與web服務(wù)13的數(shù)據(jù)服務(wù)器18通信時(shí),設(shè)備11分別發(fā)送與接收請(qǐng)求/響應(yīng)消息105。設(shè)備11可以通過使用以消息報(bào)頭信息和關(guān)聯(lián)數(shù)據(jù)內(nèi)容的形式的請(qǐng)求/響應(yīng)消息105而作為web服務(wù)13的web客戶機(jī)操作,例如從聯(lián)機(jī)的商人請(qǐng)求和接收產(chǎn)品價(jià)格和可獲得性。web服務(wù)13是系統(tǒng)的一個(gè)例子,為了給設(shè)備11的用戶提供實(shí)用性,在設(shè)備11上的客戶應(yīng)用程序302(參見圖2)用其可經(jīng)由網(wǎng)絡(luò)16交互。
為了滿足web服務(wù)13的合適的請(qǐng)求/響應(yīng)消息105,為了把適當(dāng)?shù)纳虡I(yè)邏輯(方法)陳列給設(shè)備11的客戶應(yīng)用程序302(參見圖2),數(shù)據(jù)服務(wù)器18可以經(jīng)由不同的協(xié)議(例如而不是限于HTTP和組件API)與信息源20通信。經(jīng)由數(shù)據(jù)服務(wù)器18,設(shè)備11可以訪問與數(shù)據(jù)服務(wù)器18通信的任何信息源20。數(shù)據(jù)服務(wù)器18還可以包含web服務(wù)13接口軟件,例如而不是限于WSDL和BPEL。信息源20例如可以是在數(shù)據(jù)服務(wù)器18的本地?cái)?shù)據(jù)存儲(chǔ)器,或者是與web服務(wù)器(未示出)有關(guān)遠(yuǎn)程存儲(chǔ)器。
而且,數(shù)據(jù)服務(wù)器18和信息源20可以包括分配的web服務(wù)13,以及經(jīng)由包括不是如圖1所示的直接連接的因特網(wǎng)的網(wǎng)絡(luò)通信。信息源20可被看作是其數(shù)據(jù)對(duì)設(shè)備11可利用的信源。所述數(shù)據(jù)可以是或者由設(shè)備11請(qǐng)求、或者在不是首先被請(qǐng)求時(shí)由信息源20發(fā)送給設(shè)備11。將理解的是,可期望,信息源20可以結(jié)合數(shù)據(jù)服務(wù)器18或者為web服務(wù)13簡(jiǎn)化數(shù)據(jù)交換的其它裝置。
設(shè)備11的應(yīng)用程序302(參見圖2)可以使用信息源20的商業(yè)(bussiness)邏輯,類似于在對(duì)象上的呼叫方法(或者功能)??紤]到客戶應(yīng)用程序302對(duì)信息源20來(lái)說(shuō),可以經(jīng)由網(wǎng)絡(luò)16通過消息105直接地下載/上載到設(shè)備11。而且考慮到設(shè)備11可以經(jīng)由網(wǎng)絡(luò)16與一個(gè)或多個(gè)web服務(wù)13通信。還考慮到,如果期望的話,設(shè)備11可以直接耦合到信息源20,由此繞過數(shù)據(jù)服務(wù)器18。在選擇的實(shí)施中,數(shù)據(jù)服務(wù)器18的功能可以并入網(wǎng)關(guān)15、24或信息源20,如以下說(shuō)明的。
服務(wù)器環(huán)境通常,web服務(wù)13已經(jīng)成為銜接基礎(chǔ)結(jié)構(gòu)和應(yīng)用的傳統(tǒng)的基于瀏覽器和客戶服務(wù)器的TCP/IP的代替物。原先開始作為普通機(jī)器到機(jī)器(M2M)的通信協(xié)議,web服務(wù)13變成了對(duì)于任何服務(wù)到服務(wù)(S2S)或服務(wù)到用戶(S2C)通信的標(biāo)準(zhǔn)。基于一組標(biāo)準(zhǔn)協(xié)議(例如WSDL、SOAP、UDDI),web服務(wù)13可以提供例如基于XML的平臺(tái)中性通信管道(platform neutral communication pipe),其可以支持同步和/或異步通信消息105。圖1的系統(tǒng)10最好涉及S2C模型,以及服務(wù)從一些普通的終端設(shè)備11操作的web服務(wù)13的用戶。
參照?qǐng)D1,web服務(wù)13提供由設(shè)備11的客戶應(yīng)用程序302(參見圖2)使用的信息報(bào)文105。可選地或另外,web服務(wù)13可以接收和使用由設(shè)備11提供的信息報(bào)文105,或者執(zhí)行以設(shè)備11上運(yùn)行的客戶應(yīng)用程序302代表的任務(wù)。web服務(wù)13可以看作是數(shù)據(jù)服務(wù)器18的軟件服務(wù),其可以在一些實(shí)施中實(shí)現(xiàn)接口程序,以及可以通過消息105與經(jīng)網(wǎng)絡(luò)104通過例如簡(jiǎn)單對(duì)象存取協(xié)議(SOAP)的適當(dāng)?shù)耐ㄐ艆f(xié)議暴露的客戶設(shè)備11進(jìn)行通信,這些實(shí)施可以是使用在通用發(fā)現(xiàn)說(shuō)明和集成(UDDI)中注冊(cè)的Web服務(wù)描述語(yǔ)言(WSDL)所表示的。SOAP是定義了對(duì)消息105的XML格式的規(guī)范,包括在SOAP元素中封裝的形成良好的XML片段。SOAP的其它部分規(guī)定了如何表示如XML的程序數(shù)據(jù),以及如何使用SOAP去執(zhí)行遠(yuǎn)程過程調(diào)用(RPC)。所述SOAP的任意部分用來(lái)實(shí)現(xiàn)RPC類型的應(yīng)用,其中SOAP請(qǐng)求消息105包含隨時(shí)調(diào)用功能,以及傳送到所述功能的參數(shù)是從客戶設(shè)備11發(fā)送的,以及web服務(wù)13返回具有運(yùn)行功能的結(jié)果的響應(yīng)消息105。SOAP還支持文檔類型的應(yīng)用,其中SOAP消息105是XML文檔的包裝。SOAP的另一任意部分定義了HTTP綁定(也就是報(bào)頭),然而一些SOAP實(shí)施支持MSMQ、MQ系列、SMTP或TCP/IP傳輸協(xié)議。可選地,web服務(wù)13可以使用其它已知的通信協(xié)議,消息105格式,以及所述接口程序可以對(duì)與設(shè)備11的通信用上述之外的其它web服務(wù)語(yǔ)言表示。
通信設(shè)備再次參照?qǐng)D1和2,設(shè)備11例如是而不限于移動(dòng)電話、PDA、雙向傳呼機(jī)或雙模式通信設(shè)備。設(shè)備11包括網(wǎng)絡(luò)連接接口200,例如無(wú)線收發(fā)機(jī)、有線網(wǎng)絡(luò)接口卡或調(diào)制解調(diào)器,經(jīng)由線路218耦合到設(shè)備基礎(chǔ)結(jié)構(gòu)204。連接接口200是在設(shè)備11到網(wǎng)絡(luò)16的操作期間可連接的,例如由RF鏈路到無(wú)線網(wǎng)絡(luò)14,其使設(shè)備11能夠經(jīng)由網(wǎng)絡(luò)16彼此和與外部系統(tǒng)(例如web服務(wù)13)通信、以及能夠協(xié)調(diào)在客戶應(yīng)用程序302和web服務(wù)13之間的請(qǐng)求/響應(yīng)消息105。網(wǎng)絡(luò)16支持在設(shè)備11和外部系統(tǒng)之間的請(qǐng)求/響應(yīng)消息中的數(shù)據(jù)傳輸,外部系統(tǒng)連接到網(wǎng)絡(luò)16。網(wǎng)絡(luò)16還可以支持在設(shè)備11和在網(wǎng)絡(luò)16外的設(shè)備之間的電話呼叫的話音通信。在無(wú)線設(shè)備12內(nèi)的網(wǎng)絡(luò)連接接口200的特殊設(shè)計(jì)將取決于無(wú)線設(shè)備12打算在其中操作的無(wú)線通信網(wǎng)絡(luò)14。例如,去往北美市場(chǎng)的無(wú)線設(shè)備12可以包括設(shè)計(jì)為在MobitexTM移動(dòng)通信系統(tǒng)或DataTACTM移動(dòng)通信系統(tǒng)內(nèi)操作的網(wǎng)絡(luò)連接接口200,然而為在歐洲使用而設(shè)計(jì)的無(wú)線設(shè)備12可以結(jié)合通用分組無(wú)線服務(wù)(GPRS)網(wǎng)絡(luò)連接接口200。還期待其它類型的無(wú)線設(shè)備和數(shù)據(jù)傳輸協(xié)議,例如不限于CDMA。
再次參照?qǐng)D2,設(shè)備11還具有通過線路222耦合到設(shè)備基礎(chǔ)結(jié)構(gòu)204的用戶接口202,與用戶(未示出)交互。用戶接口202包括一個(gè)或多個(gè)用戶輸入設(shè)備,例如但不限于QWERTY鍵盤、小鍵盤、方向桿、指示筆、鼠標(biāo)、話筒和例如LCD屏幕顯示器和/或揚(yáng)聲器的用戶輸出設(shè)備。如果屏幕是觸敏的,那么顯示器還可以被用作由設(shè)備基礎(chǔ)結(jié)構(gòu)204控制的用戶輸入設(shè)備。用戶接口202是由設(shè)備11的用戶使用的,以協(xié)調(diào)經(jīng)系統(tǒng)10(參見圖1)的請(qǐng)求/響應(yīng)消息105,如同由客戶機(jī)運(yùn)行環(huán)境206的客戶應(yīng)用程序302使用的,以下還將描述。
再次參照?qǐng)D2,設(shè)備11的操作是由設(shè)備基礎(chǔ)結(jié)構(gòu)204啟動(dòng)的。設(shè)備基礎(chǔ)結(jié)構(gòu)204包括計(jì)算機(jī)處理器208和相關(guān)的存儲(chǔ)器模塊210。計(jì)算機(jī)處理器208通過運(yùn)行相關(guān)的指令來(lái)處理網(wǎng)絡(luò)接口200、用戶接口202和設(shè)備11的客戶機(jī)運(yùn)行環(huán)境206的操作,指令是由位于存儲(chǔ)器模塊210中的操作系統(tǒng)和客戶應(yīng)用程序302提供。而且,考慮到設(shè)備基礎(chǔ)結(jié)構(gòu)204可以包括耦合到處理器208的計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì)212,用于給處理器208提供指令、和/或裝載/更新存儲(chǔ)器模塊210中的客戶應(yīng)用程序302。計(jì)算機(jī)可讀媒質(zhì)212可以包括硬件和/或軟件,例如僅舉例來(lái)說(shuō)是磁盤、磁帶、諸如CD/DVDROM的光學(xué)可讀媒質(zhì)、以及存儲(chǔ)卡。在所有情況下,計(jì)算機(jī)可讀媒質(zhì)212可以采取以下形式,小磁盤、軟盤、盒式磁帶、硬盤驅(qū)動(dòng)器、固態(tài)存儲(chǔ)卡、或在存儲(chǔ)器模塊210中提供的RAM。應(yīng)當(dāng)注意到上述列出例子的計(jì)算機(jī)可讀媒質(zhì)212可以單獨(dú)或者組合地使用。還考慮到,給處理器208和/或去裝載/更新在存儲(chǔ)器模塊210中的指令可以由web服務(wù)13(或第三方信源)經(jīng)網(wǎng)絡(luò)16(參見圖1)提供,以配置設(shè)備11與web服務(wù)13交互作用。
參照?qǐng)D2,設(shè)備11通過客戶機(jī)運(yùn)行環(huán)境206運(yùn)行應(yīng)用程序302,其把應(yīng)用程序302轉(zhuǎn)換為本機(jī)代碼,本機(jī)代碼是由設(shè)備基礎(chǔ)結(jié)構(gòu)204中的處理器208運(yùn)行的。可選地,應(yīng)用程序302可以作為本機(jī)代碼被運(yùn)行、或者由設(shè)備11上的另一個(gè)軟件模塊或操作系統(tǒng)解釋。總之,組件組件應(yīng)用程序302是在由設(shè)備11提供的終端運(yùn)行環(huán)境中工作的。
再次參照?qǐng)D1,由設(shè)備11提供的客戶機(jī)運(yùn)行環(huán)境可以配置為使設(shè)備11作為web服務(wù)13的web客戶機(jī)操作。設(shè)備11的客戶機(jī)運(yùn)行環(huán)境最好是能夠產(chǎn)生、管理(hosting)和運(yùn)行設(shè)備11上的客戶應(yīng)用程序302。而且,客戶機(jī)運(yùn)行環(huán)境的特定功能可以例如但不限于包括支持語(yǔ)言、協(xié)調(diào)存儲(chǔ)器分配、連網(wǎng)、在I/O操作期間管道理數(shù)據(jù)、協(xié)調(diào)設(shè)備11的輸出設(shè)備上的圖形,提供對(duì)面向類別的核心對(duì)象的存取以及支持文件/庫(kù)。由設(shè)備11實(shí)現(xiàn)的運(yùn)行環(huán)境的例子例如但不限于包括微軟的公共語(yǔ)言運(yùn)行時(shí)間(CLR)、Sun微系統(tǒng)的Java運(yùn)行環(huán)境(JRE),其簡(jiǎn)化在web服務(wù)13和設(shè)備11之間的網(wǎng)絡(luò)消息105的產(chǎn)生、發(fā)送和接收。
壓縮消息結(jié)構(gòu)參照?qǐng)D3a,圖1的系統(tǒng)10的簡(jiǎn)單表示,壓縮報(bào)文的一個(gè)基本概念是文檔或“消息”105簡(jiǎn)化為基本表示,以減輕傳送中的開銷。在壓縮之前用于這些消息105的初始編碼語(yǔ)法可以完全是任意的,只要所述語(yǔ)法符合結(jié)構(gòu)化定義語(yǔ)言。因而,壓縮報(bào)文系統(tǒng)40具有廣泛的應(yīng)用,由于其提供了對(duì)于適用Web服務(wù)13、SyncML或者任何其它對(duì)無(wú)線或其它類型強(qiáng)制通信鏈路為預(yù)定協(xié)議的所謂的“閑聊(chatty)”的解決辦法。壓縮消息105可以經(jīng)任何采用有壓縮消息管道30(經(jīng)網(wǎng)絡(luò)16實(shí)現(xiàn)——參見圖1)的無(wú)線或有線的物理路徑進(jìn)行交換。所述管道30的每個(gè)終點(diǎn)28與34、數(shù)據(jù)服務(wù)器18和設(shè)備11根據(jù)消息105是基于哪一個(gè)而分別定義了為結(jié)構(gòu)化定義語(yǔ)言所固有的元數(shù)據(jù)定義的共享知識(shí)的邊界。
所述結(jié)構(gòu)化定義語(yǔ)言可用于構(gòu)造作為連續(xù)系列的元數(shù)據(jù)記錄的消息105,其包含表示資源特殊屬性的許多預(yù)定元素,以使每個(gè)元素具有一個(gè)或多個(gè)值。每個(gè)元數(shù)據(jù)圖表典型地但不限于定義了以下特性有限數(shù)量的元素、每個(gè)元素的名稱、以及每個(gè)元素的含義。舉例的元數(shù)據(jù)圖表例如但不限于包括都柏林核心(DC)、英美編目規(guī)則(AACR2)、政府信息定位器服務(wù)(GILS)、編碼的存檔說(shuō)明(EAD)、IMS全球知識(shí)集團(tuán)(IMS)、以及澳大利亞政府定位器服務(wù)(AGLS)。編碼語(yǔ)法允許消息105的元數(shù)據(jù)是由設(shè)備消息轉(zhuǎn)換器44和壓縮順序化服務(wù)48處理,編碼方案例如但不限于包括XML、HTML、XHTML、XSML、RDF、機(jī)器可讀目錄(MARC)、WSDL、SOAP、以及多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)。
再次參照?qǐng)D3a,中間方服務(wù)終點(diǎn)28終止面向信息源20的壓縮消息管道30。所述終點(diǎn)28辨別所述壓縮消息105要被發(fā)送到和從設(shè)備11接收的邊界。壓縮報(bào)文管道30是雙向的路徑,通過其壓縮消息105流。壓縮報(bào)文管道30存在于在數(shù)據(jù)服務(wù)器18(擔(dān)當(dāng)中間方服務(wù)器)和設(shè)備11上的報(bào)文終點(diǎn)28與34之間。所述終點(diǎn)28和34負(fù)責(zé)消息105的減少和恢復(fù),如以下說(shuō)明的。壓縮報(bào)文管道30不是必定用于無(wú)線或其它的特定物理拓?fù)浣Y(jié)構(gòu),盡管其優(yōu)點(diǎn)特別相應(yīng)于無(wú)線和其它受限的通信媒質(zhì)。所述設(shè)備終點(diǎn)34終止和發(fā)起由設(shè)備11使用的壓縮消息105、安裝在設(shè)備11上的多個(gè)普通軟件應(yīng)用程序302(參見圖2)。所述終點(diǎn)34與所述中間方服務(wù)終點(diǎn)28共享壓縮消息105格式的知識(shí)(基于共享結(jié)構(gòu)化定義結(jié)構(gòu)化定義語(yǔ)言)?;谒龉蚕碇R(shí)的壓縮編碼方案的可預(yù)測(cè)性能夠在初始未壓縮和壓縮消息105格式之間進(jìn)行包含在消息105中的數(shù)據(jù)的轉(zhuǎn)換或“編組(marshalling)”與“去編組(unmarshalling)”。
再次參照?qǐng)D3a,壓縮報(bào)文系統(tǒng)40的設(shè)備消息轉(zhuǎn)換器44與壓縮編序服務(wù)48在壓縮消息管道30的相對(duì)終點(diǎn)34、28操作。設(shè)備消息轉(zhuǎn)換器44與壓縮編序服務(wù)48具有在它們之間共享的結(jié)構(gòu)化定義語(yǔ)言中的描述符的次序與語(yǔ)法的預(yù)定知識(shí)??紤]到所述預(yù)定知識(shí)可以在消息105開始之前傳送,和/或可以是消息105的初始組件報(bào)頭,一旦接收就由此給接收方告知所述壓縮消息105的期望的內(nèi)容格式。如上所述,設(shè)備消息轉(zhuǎn)換器44與壓縮編序服務(wù)48具有初始消息105格式的知識(shí),所述轉(zhuǎn)換器44與服務(wù)48通過消除或還原消息中的開銷信息來(lái)壓縮開銷信息,同時(shí)保持所包含的按照共享結(jié)構(gòu)化定義結(jié)構(gòu)化定義語(yǔ)言的消息數(shù)據(jù)。因此,匹配了終點(diǎn)28、34映射與去映射操作,以及所述初始消息格式是預(yù)定的和可預(yù)測(cè)的。
參照?qǐng)D3a,所述設(shè)備消息轉(zhuǎn)換器44存在于設(shè)備11上,以使壓縮消息105與設(shè)備11結(jié)合。所述設(shè)備轉(zhuǎn)換器44可以實(shí)現(xiàn)為設(shè)備11的運(yùn)行環(huán)境206(參見圖2)中的軟件、和/或可以是設(shè)備基礎(chǔ)結(jié)構(gòu)204的操作系統(tǒng)的一部分??紤]到設(shè)備轉(zhuǎn)換器44還可以實(shí)現(xiàn)為硬件、或是硬件和軟件的綜合。設(shè)備消息轉(zhuǎn)換器44或者傳送壓縮消息105到其它系統(tǒng)或設(shè)備11上的軟件應(yīng)用程序302,或者首先把所述壓縮消息105轉(zhuǎn)換回與所述信息源20(參見圖1)消息有關(guān)的消息格式、然后傳送所轉(zhuǎn)換的消息105到另一個(gè)系統(tǒng)或應(yīng)用程序302。
參照?qǐng)D5,如以下描述的,所述設(shè)備消息轉(zhuǎn)換器44的轉(zhuǎn)換功能可以取決于初始格式(也就是從信息源20來(lái)的)、或者目的系統(tǒng)、或者設(shè)備11的應(yīng)用程序。所述消息轉(zhuǎn)換器44在兩個(gè)模式的任何一個(gè)中操作。在第一模式中,所述壓縮消息105由編序/解序模塊62解壓縮為初始消息格式,以及然后由消息轉(zhuǎn)換器44使用所解壓縮的消息105傳送到特定的軟件應(yīng)用程序302。所述編序/解序模塊62管理由設(shè)備11接收的或者從設(shè)備11發(fā)送的壓縮/解壓縮的消息105。在第二模式中,壓縮消息105由設(shè)備11的軟件應(yīng)用程序302直接使用,由此繞過模塊62的解壓縮處理。還考慮到設(shè)備11上的一些系統(tǒng)或軟件應(yīng)用程序302可以配置為處理壓縮消息105格式,而其它的可以配置為用于由信息源20(參見圖1)提供的原始未壓縮的消息105格式。
再次參照?qǐng)D5,設(shè)備消息轉(zhuǎn)換器44包括耦合到應(yīng)用程序處理器64的編序/解序模塊62,該應(yīng)用程序處理器64作為用于與消息105交互的軟件應(yīng)用程序302的翻譯器。消息轉(zhuǎn)換器44還具有應(yīng)用程序映射層66,其是由應(yīng)用程序處理器64使用,在需要時(shí)翻譯消息105。應(yīng)用程序映射層66持有由應(yīng)用程序處理器64使用的映射信息,以用于消息105與其它定義的消息格式的轉(zhuǎn)換(也就是在信息源20格式和設(shè)備11上的軟件應(yīng)用程序302格式之間)。所接收的壓縮消息105是以原始信息源格式(即按接收的)與其它設(shè)備11組件或軟件應(yīng)用程序302交換的、或者可以被傳送到應(yīng)用程序處理器64以用于轉(zhuǎn)換,其中設(shè)備11上的接收應(yīng)用程序302規(guī)定了其自己的消息格式。類似地,以其它格式輸出的消息105是傳送到應(yīng)用程序處理器64以用于轉(zhuǎn)換為信息源格式,然后發(fā)送給模塊62例如用于壓縮,由此產(chǎn)生用于經(jīng)消息管道30(參見圖3a)傳送的已轉(zhuǎn)換/已壓縮的消息105??紤]到應(yīng)用程序處理器64可以對(duì)消息105的壓縮或解壓縮的型式進(jìn)行操作,以用于格式轉(zhuǎn)換目的。
再次參照?qǐng)D3a,中間方服務(wù)器18是壓縮報(bào)文系統(tǒng)40的操作中的組件。中間方服務(wù)器18提供有暴露于信息源20或者其它服務(wù)供應(yīng)商的管道終點(diǎn)28,以用于傳送壓縮消息105到設(shè)備11。中間方服務(wù)器18具有壓縮編序服務(wù)48,其保持有一組應(yīng)用程序映射表(maps)69(參見圖6),以允許初始消息格式被壓縮和傳送到設(shè)備11作為消息105,最好是用于多種結(jié)構(gòu)化定義語(yǔ)言的多個(gè)消息格式,例如但不限于XML或簡(jiǎn)單對(duì)象存取協(xié)議(SOAP)。
參照?qǐng)D6,中間方服務(wù)18(參見圖3a)的壓縮編序服務(wù)模塊48把從信息源20接收的用信息源格式表示的消息105變換為壓縮消息,反之亦然。編序/解序模塊68執(zhí)行消息105的壓縮/解壓縮,應(yīng)用程序映射表69持有用于壓縮消息105和與一個(gè)或多個(gè)信息源20有關(guān)的所定義的消息格式之間的轉(zhuǎn)換,所述信息源可以包括許多不同的結(jié)構(gòu)化定義語(yǔ)言。所述應(yīng)用程序映射表69提供了允許對(duì)任意數(shù)量消息格式的編碼/解碼的可插的支持。
參照?qǐng)D1和3a,壓縮報(bào)文系統(tǒng)40的應(yīng)用程序的一個(gè)例子擴(kuò)展了在web服務(wù)13的信息源20和無(wú)線設(shè)備12之間的XML消息105的傳送。以這個(gè)方案,中間方服務(wù)器18上的應(yīng)用程序映射表26(參見圖6)包括應(yīng)用程序映射表26,其接受由信息源20使用的消息格式。消息服務(wù)和無(wú)線設(shè)備終點(diǎn)28與34一前一后地操作,以從XML消息分離與恢復(fù)開銷信息。在這個(gè)舉例的應(yīng)用程序中,中間方服務(wù)器18作為XML服務(wù)器,無(wú)線設(shè)備12作為XML客戶機(jī),以使所述消息管道30基于所述XML語(yǔ)法的XML元數(shù)據(jù)的包括順序與含義的描述符(也就是共享結(jié)構(gòu)化定義語(yǔ)言)的共享知識(shí)傳遞壓縮消息105,。
參照?qǐng)D3b,示出了壓縮報(bào)文系統(tǒng)40的另一個(gè)例子,其中有XML客戶機(jī)設(shè)備101與SOAP客戶機(jī)設(shè)備102,其中兩者都與web服務(wù)13進(jìn)行通信。壓縮報(bào)文管道401對(duì)XML結(jié)構(gòu)化定義語(yǔ)言格式的共享知識(shí)進(jìn)行操作,而壓縮報(bào)文管道402對(duì)SOAP結(jié)構(gòu)化定義語(yǔ)言格式的共享知識(shí)進(jìn)行操作。信息源20具有用于直接與SOAP客戶機(jī)設(shè)備102通信的WSDL接口,以及通過中間方服務(wù)器18與XML客戶機(jī)設(shè)備101間接地通信。因此,中間方服務(wù)器18使用應(yīng)用程序映射表69(見圖6),用于把SOAP消息105的消息格式(在服務(wù)器18與信源20之間)轉(zhuǎn)換為XML。所述結(jié)構(gòu)化定義語(yǔ)言格式的轉(zhuǎn)換允許所述SOAP基于信息源20與XML客戶機(jī)設(shè)備102傳遞壓縮的消息105,其中所壓縮的消息105是基于由各自的壓縮消息管道401、402使用的共享結(jié)構(gòu)化定義處理的。
壓縮消息協(xié)議所述共享結(jié)構(gòu)化定義語(yǔ)言的壓縮消息定義用來(lái)編組與不編組順利地來(lái)自文檔(消息105)的壓縮消息105。壓縮消息定義可以具有以下屬性1.由唯一的名稱標(biāo)識(shí);2.定義出現(xiàn)在消息105中的命令字段的列表;2.1.字段可以是嵌套的消息定義;2.2.字段可以具有多樣性;2.2.1相同字段可以在多個(gè)時(shí)間出現(xiàn);2.2.2所述字段的出現(xiàn)是連續(xù)的;以及2.3.保持字段的次序。
所述消息到其壓縮形式的一個(gè)可能映射減輕了對(duì)以下分隔符的使用,例如但不限于“<”表示順序的開始;“>”表示順序的結(jié)束;以及符號(hào)“,”連同符號(hào)“”分隔多個(gè)值以區(qū)分?jǐn)?shù)組。
參照?qǐng)D7,給定所述消息105的已知消息定義,例如XML,最好是使用以下壓縮消息協(xié)議700來(lái)壓縮
1.利用消息定義名稱標(biāo)記XML消息105的頂節(jié)點(diǎn),示為702,以使得標(biāo)識(shí)XML文檔順序的開始(注意上面的點(diǎn)1);2.以預(yù)定順序保持字段的次序,在704保留所包含字段數(shù)據(jù)的同時(shí)分離由XML定義描述的開銷元數(shù)據(jù)語(yǔ)法(注意上面的2.3),識(shí)別在轉(zhuǎn)換器44和服務(wù)48(見圖3a)之間共享操作細(xì)節(jié)的同時(shí)可以處理所述字段次序順序;3.在706在消息內(nèi)包含的每一個(gè)字段值例如設(shè)置在“<>”分隔符中;4.為了保持字段次序的預(yù)定順序,在708不具有值的字段置為空的分隔符“<>”,注意上面的1和2,或者是另外考慮的;5.在710表示嵌入的消息定義的字段具有限定在一對(duì)匹配的“<>”內(nèi)的所有子字段(注意上面的2.1);以及6.在712具有多樣性的字段被編碼,以使其所有的多個(gè)值在分隔符“<>”內(nèi)表示,以及每個(gè)值還由“,”限定(注意上面的2.2.1與2.2.2)。通過包括例如不同于<>的“”字符,空的順序可以不同于一個(gè)零元素。
考慮到所述協(xié)議700假定壓縮從信息源20到設(shè)備11的消息105。然而,顯然所述設(shè)備消息轉(zhuǎn)換器44與壓縮編序服務(wù)48(參見圖5與6)最好還可以執(zhí)行消息105的解壓縮,同時(shí)處理設(shè)備11發(fā)起的并且或者去往信息源20、或者去往支持初始消息格式的另一個(gè)接受方(例如網(wǎng)絡(luò)10的另一個(gè)設(shè)備11——參見圖1)的消息105。
壓縮消息例子以下例子用來(lái)示出預(yù)定的結(jié)構(gòu)化定義語(yǔ)言格式的XML消息如何可以表示為壓縮消息105,如由模塊62、68(參見圖5與6)處理的。
例子1消息定義描述了稱為MyMsg的消息。MyMsg減輕了稱為D1和D2的兩個(gè)附加的消息定義。消息定義的整個(gè)設(shè)置定義為以下描述的結(jié)構(gòu)化定義語(yǔ)言,包括元數(shù)據(jù)標(biāo)記F1、F2、F3、F4、F5、F6、D1、D2、G1、G2、G3、H1、H2
MyMsgF1字段F2字段F3字段F4允許許多值的字段F5嵌套的消息定義D1F6嵌套的消息定義D2,允許多樣性D1G1字段G2字段G3允許多樣性D2H1字段H2字段鑒于MyMsg的上述定義,到中間方服務(wù)終點(diǎn)28(用于把來(lái)自信息源20的消息轉(zhuǎn)變到設(shè)備11,見圖3a)的輸入的消息105可以如下<MyMsg>
<F1>val1</F1>
<F2></F2>
<F3>val3</F3>
<F4>val4</F4><F4>val42</F4><F4>val43</F4>
<D1>
<G1>gval1</G1>
<G2>gval2</G2>
<G3>gval31</G3><G3>gval31</G3>
</D1>
<D2><H1>h1val1</H1><H2>h2val1</H2>
<D2><H1>h1val2</H1><H2>h2val2</H2>
<D2><H1>h1val3</H1><H2>h2val3</H2>
</MyMsg>
上面應(yīng)當(dāng)注意到,未壓縮的MyMsg消息105包括由元數(shù)據(jù)標(biāo)記F1、F2、F3、F4、F5、F6、D1、D2、G1、G2、G3、H1、H2包封的兩個(gè)字段值“val”。因此,根據(jù)圖7的上述壓縮協(xié)議700壓縮的對(duì)等壓縮MyMsg消息105然后表現(xiàn)為<MyMsg(步驟702)<val1>(步驟706)<>(步驟708)<val3>
<val41,val42,val43>(步驟712)<<gval1><gval2><gval31,gval32>>(步驟710)<<<h1val1><h2val2>>,(步驟710和712)<<h1val2><h2val2>>,<<h1val3><h2val3>>>
>
同時(shí)使用步驟704保持字段的次序。應(yīng)當(dāng)考慮到,所述MyMsg消息105的全部元數(shù)據(jù)標(biāo)記F1、F2、F3、F4、F5、F6、D1、D2、G1、G2、G3、H1、H2已經(jīng)從所述壓縮的型式中消除了。
類似方法可能慣于使用對(duì)信息源20的WSDL定義壓縮SOAP報(bào)文。舉例來(lái)說(shuō),對(duì)于GoogleTMweb服務(wù)13的WSDL用于在以下說(shuō)明如何壓縮SOAP消息105。應(yīng)該注意的是,與僅僅包含字段值的壓縮型式相比,以下對(duì)未壓縮的SOAPGoogleSearchResult報(bào)文105將需要多少存儲(chǔ)器件以用于傳輸。
例子2這個(gè)例子示出了如何使用圖7中的壓縮報(bào)文協(xié)議700格式化GoogleSearchResult壓縮消息105。對(duì)于GoogleSearchResult的定義是直接從表示結(jié)構(gòu)化定義語(yǔ)言的WSDL中取出的GoogleSearchResult<xsdcomplexType name=“GoogleSearchResult”>
<xsdall>
<xsdelement name=“documentFiltering”type=“xsdboolean”/>
<xsdelement name=“searchComments”type=“xsdstring”/>
<xsdelement name=“estimatedTotalResultsCount”type=“xsdint”/>
<xsdelement name=“estimateIsExact”type=“xsdboolean”/>
<xsdelementname=“resultElements”type=“typensResultElementArray”/>
<xsdelement name=“searchQuery”type=“xsdstring”/>
<xsdelement name=“startIndex”type=XXxsdint”/>
<xsdelement name=“endlndex”type=“xsdint”/>
<xsdelement name=“searchTips”type=“xsdstring”/>
<xsdelementname=“directoryCategories”type=“typensDirectoryCategoryArray”/>
<xsdelement name=“searchTime”type=“xsddouble”/>
</xsdall>
</xsdcomplexType>
ResultElement和ResultElementArray<xsdcomplexTypename=“ResultElementArray”>
<xsdcomplexContent>
<xsdrestrictionbase=“soapencArray”>
<xsdattributeref=“soapencarrayType”wsdlarrayType=“typensResultElement[]”/>
</xsdrestriction>
</xsdcomplexContent>
</xsdcomplexType>
<xsdcornplextypename=“ResultElement”>
<xsdall>
<xsdelement name=“summary”type=“xsdstring”/>
<xsdelement name=“URL”type=“xsdstring”/>
<xsdelement name=“snippet”type=“xsdstring”/>
<xsdelement name=“title”type=“xsdstring”/>
<xsdelement name=“cachedSize”type=“xsdstring”/>
<xsdelement name=“relatedInformationPresent”type=“xsdboolean”/>
<xsdelement name=“hostName”type=“xsdstring”/>
<xsdelementname=“directoryCategory”type=“typensDirectoryCategory”/>
<xsdelementname=“directoryTitle”type=“xsdstring”/>
</xsdall>
</xsdcomplexType>
DirectoryCategory和DirectoryCategoryArray<xsdcomplexTypename=“DirectoryCategoryArray”>
<xsdcomplexContent>
<xsdrestrictionbase=“soapencArray”>
<xsdattributeref =“soapencarrayType”wsdlarrayType=“typensDirectoryCategory[]”/>
</xsdrestriction>
</xsdcomplexContent>
</xsdcomplexType>
<xsdcomplexType name=“DirectoryCategory”>
<xsdall>
<xsdelement name=“fullViewableName”type=“xsdstring”/>
<xsdelement name=“specialEncoding”type=“xsdstring”/>
</xsdall>
</xsdcomplexType>
以壓縮形式的示例結(jié)果GoogleSearchResult消息105,然后表現(xiàn)為以下<GoogleSearchResult>
<false>
<some search comments>
<3>
<true>
<<<summary string>
<http//theurl>
<snippetstring>
<title string>
<cached size string>
<true>
<hostname string>
< <fullviewablename string>
<specialencoding string>
>
<directory title string>
>,< <another summary.string>
<http//theurl2>
<another snippet string>
<another title string>
<another cached size string>
<true>
<another hostname string>
<<fullviewablename string2>
<specialencoding string2>
>
<another directory title string>
>
>
<some search query string>
<1>
<3>
<search tips>
<< <fullviewablename string>
<specialencoding string>
>,< <ffillviewablename string b>
<specialendoding string b>
>,< <fullvieablename string c>
<specialencoding string c>
>
>
<2.34>
>
參照?qǐng)D4,示出了所述壓縮報(bào)文系統(tǒng)拓?fù)浣Y(jié)構(gòu)的另一個(gè)例子。在所述第二個(gè)拓?fù)浣Y(jié)構(gòu)中,壓縮編序服務(wù)模塊48與服務(wù)提供者13處的信息源20相結(jié)合??梢苿?dòng)中間方服務(wù)可以包含于沿壓縮消息管道30的壓縮消息105的傳送中,但是在這個(gè)方案中作為簡(jiǎn)單的傳送。無(wú)線設(shè)備11和其消息轉(zhuǎn)換器44實(shí)質(zhì)上如上所述進(jìn)行操作,以將壓縮消息105和設(shè)備11結(jié)合。
當(dāng)機(jī)密或另外的敏感信息是由信息源20提供時(shí),例如在圖4中示出的集成是特別有利的。在這種情況下,沒有中間組件,例如中間方服務(wù)器18(參見圖3a)對(duì)于壓縮/解壓縮消息105是需要的。例如,由在服務(wù)供應(yīng)商13的加密模塊54加密的機(jī)密信息保持加密,直到由在無(wú)線設(shè)備11的類似模塊54解密,反之亦然,以提供端到端保密。
應(yīng)當(dāng)理解,上述說(shuō)明是對(duì)涉及不同的系統(tǒng)、方法與制造的舉例。在系統(tǒng)10與壓縮消息協(xié)議700上的許多變化將對(duì)所屬領(lǐng)域技術(shù)人員是明顯的,這種明顯的變化在如這里描述與要求的系統(tǒng)與方法的范圍之內(nèi),不論是否特意說(shuō)明。例如,盡管在所述附圖中示出了一個(gè)無(wú)線設(shè)備12、數(shù)據(jù)服務(wù)器18與信息源20,所述數(shù)據(jù)服務(wù)器18典型地提供了可能經(jīng)由不同通信網(wǎng)絡(luò)16的用于許多設(shè)備11、12的服務(wù),以及通過不同的直接或基于網(wǎng)絡(luò)的線路訪問許多信息源20和相關(guān)的web服務(wù)。類似地,任何網(wǎng)絡(luò)16和任何信息源20可以與多種數(shù)據(jù)服務(wù)器18通信。盡管在圖1中示出了無(wú)線設(shè)備12、14和無(wú)線網(wǎng)絡(luò)網(wǎng)關(guān)15,本系統(tǒng)和方法還適用于其它類型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、通信系統(tǒng)和設(shè)備。例如,處理資源和通信鏈路帶寬力圖不限制于臺(tái)式計(jì)算機(jī)系統(tǒng)和有線通信鏈路,也用于無(wú)線設(shè)備和無(wú)線通信網(wǎng)絡(luò),但是數(shù)據(jù)大小的壓縮還提供經(jīng)由有線線路的快速文檔傳輸。因此,在這里說(shuō)明的系統(tǒng)和方法可以連同有線或無(wú)線通信系統(tǒng)與設(shè)備實(shí)現(xiàn)。
而且,壓縮報(bào)文系統(tǒng)在兩個(gè)拓?fù)浣Y(jié)構(gòu)中獲得應(yīng)用。第一拓?fù)浣Y(jié)構(gòu)適用于中間方服務(wù)器18代替信息源20執(zhí)行消息壓縮的情況。在第二拓?fù)浣Y(jié)構(gòu)中,信息源20本身壓縮用于傳送到設(shè)備11的消息。盡管分別地描述了每個(gè)拓?fù)浣Y(jié)構(gòu),應(yīng)當(dāng)理解設(shè)備11可以配置為與支持任一拓?fù)浣Y(jié)構(gòu)的信息源20通信。同時(shí)期待設(shè)備11可以與許多信息源20通信,這些信息源中的一些支持第一拓?fù)浣Y(jié)構(gòu)、其它的支持第二拓?fù)浣Y(jié)構(gòu)。
權(quán)利要求
1.一種經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的方法,所述設(shè)備和所述服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言的共用于所述設(shè)備和所述服務(wù)的元素描述符的預(yù)定知識(shí),所述方法包括以下步驟建立所述服務(wù)和所述設(shè)備之間的通信;通過消除與所述元素?cái)?shù)據(jù)值有關(guān)的元素描述符來(lái)制定包括元素?cái)?shù)據(jù)值的壓縮消息;基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序保持所述元素?cái)?shù)據(jù)值的次序;把所述元素?cái)?shù)據(jù)值設(shè)置在用于把相鄰元素?cái)?shù)據(jù)值區(qū)分開的各自的分隔符中,所述分隔符指示所述元素?cái)?shù)據(jù)值給定順序的開始和結(jié)束;以及在使用所共享元素描述符的預(yù)定知識(shí)接收時(shí),經(jīng)所述網(wǎng)絡(luò)發(fā)送用于隨后解釋的壓縮消息。
2.按照權(quán)利要求1的壓縮報(bào)文的方法,其中所述結(jié)構(gòu)化定義語(yǔ)言包括許多表示資源的特殊屬性的元素描述符,每個(gè)元素具有一個(gè)或多個(gè)元素?cái)?shù)據(jù)值。
3.按照權(quán)利要求2的壓縮報(bào)文的方法,其中所述結(jié)構(gòu)化定義語(yǔ)言已經(jīng)定義了從以下組選擇的特性,包括有限數(shù)量的元素描述符、每個(gè)元素描述符的名稱、以及用于每個(gè)元素描述符的含義。
4.按照權(quán)利要求2的壓縮報(bào)文的方法,其中所述結(jié)構(gòu)化定義語(yǔ)言是從以下組中選擇的,包括XML、HTML、XHTML、XSML、RDF、機(jī)器可讀目錄(MARC)、WSDL、BPEL、SOAP和多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)。
5.按照權(quán)利要求2的壓縮報(bào)文的方法,還包括標(biāo)識(shí)具有消息定義名稱的壓縮消息的頂節(jié)點(diǎn)的步驟,所述頂節(jié)點(diǎn)用于表示與所述元素描述符有關(guān)的元素?cái)?shù)據(jù)值的順序的開始。
6.按照權(quán)利要求5的壓縮報(bào)文的方法,還包括設(shè)置不具有在壓縮消息中作為空分隔符的值的元素描述符的步驟,該元素描述符用于保持所述字段元素次序的預(yù)定順序。
7.按照權(quán)利要求6的壓縮報(bào)文的方法,還包括設(shè)置不具有作為空分隔符的值、而且以識(shí)別字符區(qū)分的元素?cái)?shù)組描述符的步驟。
8.按照權(quán)利要求6的壓縮報(bào)文的方法,還包括劃界元素描述符的所有子字段的步驟,所述子字段表示在一對(duì)匹配的分隔符內(nèi)部嵌入的消息定義。
9.按照權(quán)利要求8的壓縮報(bào)文的方法,還包括劃界具有許多連續(xù)元素?cái)?shù)據(jù)值的元素描述符的步驟,以使其多個(gè)元素?cái)?shù)據(jù)值的每一個(gè)表示在一對(duì)匹配的分隔符內(nèi)部,以及在所述對(duì)的匹配分隔符內(nèi)部還劃界其所包含的元素?cái)?shù)據(jù)值的每一個(gè)。
10.按照權(quán)利要求2的壓縮報(bào)文的方法,其中所述壓縮消息是在各自的關(guān)聯(lián)所述服務(wù)與所述設(shè)備的消息處理終點(diǎn)而制定和解釋的,以使所述壓縮報(bào)文在雙向路徑上實(shí)現(xiàn)。
11.按照權(quán)利要求10的壓縮報(bào)文的方法,還包括在所述壓縮消息的傳送開始之前、在所述設(shè)備與所述服務(wù)之間建立共享的元素描述符的預(yù)定知識(shí)。
12.按照權(quán)利要求10的壓縮報(bào)文的方法,還包括在所述壓縮消息開始時(shí)設(shè)置指示符的步驟,所述指示符用于識(shí)別被用來(lái)定義所述元素描述符的預(yù)定知識(shí)的結(jié)構(gòu)化定義語(yǔ)言。
13.按照權(quán)利要求10的壓縮報(bào)文的方法,還包括通過重新插入與所述包含的元素?cái)?shù)據(jù)值有關(guān)的各自元素描述符來(lái)重構(gòu)所述壓縮消息的步驟,所述重構(gòu)的消息用于運(yùn)行環(huán)境中隨后的使用。
14.按照權(quán)利要求10的壓縮報(bào)文的方法,還包括通過直接使用所述包含的元素?cái)?shù)據(jù)值在運(yùn)行環(huán)境中直接解釋所述壓縮的消息的步驟。
15.按照權(quán)利要求10的壓縮報(bào)文的方法,還包括從許多格式選擇用于所述結(jié)構(gòu)化定義語(yǔ)言的消息格式的步驟。
16.按照權(quán)利要求15的壓縮報(bào)文的方法,還包括按照所述許多格式在所述服務(wù)的信息源的第一消息格式和所述設(shè)備的第二消息格式之間進(jìn)行轉(zhuǎn)換的步驟。
17.按照權(quán)利要求16的方法,其中在所述第一消息格式和所述第二消息格式之間的轉(zhuǎn)換是由所述服務(wù)執(zhí)行的。
18.按照權(quán)利要求9的壓縮報(bào)文的方法,其中所述服務(wù)是從以下組中選擇的普通的已定義方案的服務(wù),包括web服務(wù)、數(shù)據(jù)庫(kù)服務(wù)和基于IDL的CORBA服務(wù)。
19.按照權(quán)利要求18的方法,其中所述設(shè)備是從以下組中選擇的,包括個(gè)人計(jì)算機(jī)、無(wú)線設(shè)備、PDA、自助服務(wù)信息站(kiosk)和臺(tái)式終端。
20.按照權(quán)利要求19的方法,其中所述設(shè)備配置為作為所述服務(wù)的客戶機(jī)。
21.按照權(quán)利要求9的方法,其中在所述設(shè)備和所述服務(wù)之間的通信是從包括同步通信和異步通信的組中選擇的。
22.一種經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的方法,所述設(shè)備和所述服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言的共用于所述設(shè)備和所述服務(wù)的元素描述符的預(yù)定知識(shí),所述方法包括以下步驟經(jīng)所述網(wǎng)絡(luò)接收包括具有與所述元素?cái)?shù)據(jù)值有關(guān)的缺失元素描述符的元素?cái)?shù)據(jù)值的壓縮消息,相鄰的元素?cái)?shù)據(jù)值由各自的分隔符區(qū)分開,所述分隔符指示所述元素?cái)?shù)據(jù)值的給定順序的開始和結(jié)束;通過關(guān)聯(lián)所述包含的具有各自元素描述符的元素?cái)?shù)據(jù)值、使用共享的元素描述符的預(yù)定知識(shí)來(lái)重構(gòu)所述壓縮消息,所述元素?cái)?shù)據(jù)值的次序基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序;以及解釋所述重構(gòu)的壓縮消息以用于在運(yùn)行環(huán)境中隨后的使用。
23.按照權(quán)利要求22的壓縮報(bào)文的方法,其中所述結(jié)構(gòu)化定義語(yǔ)言包括許多表示資源特殊屬性的所述元素描述符,每個(gè)元素具有一個(gè)或多個(gè)所述元素?cái)?shù)據(jù)值。
24.按照權(quán)利要求23的壓縮報(bào)文的方法,其中所述結(jié)構(gòu)化定義語(yǔ)言已經(jīng)定義了從以下組選擇的特性,包括有限數(shù)量的元素描述符、每個(gè)元素描述符的名稱、以及用于每個(gè)元素描述符的含義。
25.按照權(quán)利要求23的壓縮報(bào)文的方法,其中所述結(jié)構(gòu)化定義語(yǔ)言是從以下組中選擇的,包括XML、HTML、XHTML、XSML、RDF、機(jī)器可讀目錄(MARC)、WSDL、BPEL、SOAP和多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)。
26.按照權(quán)利要求23的壓縮報(bào)文的方法,還包括識(shí)別具有消息定義名稱的壓縮消息的頂節(jié)點(diǎn)的步驟,所述頂節(jié)點(diǎn)用于表示與所述元素描述符有關(guān)的元素?cái)?shù)據(jù)值的順序的開始。
27.按照權(quán)利要求23的壓縮報(bào)文的方法,還包括解釋不具有在壓縮消息中作為空分隔符的值的元素描述符的步驟,該元素描述符用于保持所述字段元素次序的預(yù)定順序。
28.按照權(quán)利要求27的壓縮報(bào)文的方法,還包括解釋元素描述符的所有子字段的步驟,所述子字段表示在一對(duì)匹配的分隔符之內(nèi)的嵌入的消息定義。
29.按照權(quán)利要求28的壓縮報(bào)文的方法,還包括根據(jù)分隔符解釋許多連續(xù)元素?cái)?shù)據(jù)值的元素描述符的步驟,以使所述多個(gè)元素?cái)?shù)據(jù)值的每一個(gè)表示在一對(duì)匹配的分隔符內(nèi)部,以及在所述對(duì)的匹配分隔符內(nèi)部劃界元素?cái)?shù)據(jù)值包含的每個(gè)元素描述符。
30.按照權(quán)利要求23的壓縮報(bào)文的方法,其中所述壓縮消息是在各自的關(guān)聯(lián)所述服務(wù)與所述設(shè)備的消息終點(diǎn)而制定和解釋的,以使所述壓縮報(bào)文在雙向路徑上實(shí)現(xiàn)。
31.按照權(quán)利要求30的壓縮報(bào)文的方法,還包括在所述壓縮消息的傳送開始之前、在所述設(shè)備與所述服務(wù)之間建立共享的元素描述符的預(yù)定知識(shí)的步驟。
32.按照權(quán)利要求30的壓縮報(bào)文的方法,還包括在所述壓縮消息開始時(shí)讀取指示符的步驟,所述指示符用于識(shí)別被用來(lái)定義所述元素描述符的預(yù)定知識(shí)的結(jié)構(gòu)化定義語(yǔ)言。
33.按照權(quán)利要求30的壓縮報(bào)文的方法,還包括通過重新插入與所述包含的元素?cái)?shù)據(jù)值有關(guān)的各自元素描述符來(lái)重構(gòu)所述壓縮消息的步驟,所述重構(gòu)的消息用于在運(yùn)行環(huán)境中隨后的使用。
34.按照權(quán)利要求30的壓縮報(bào)文的方法,還包括通過直接使用所述包含的元素?cái)?shù)據(jù)值在運(yùn)行環(huán)境中直接解釋所述壓縮的消息的步驟。
35.按照權(quán)利要求30的壓縮報(bào)文的方法,還包括從許多格式選擇用于所述結(jié)構(gòu)化定義語(yǔ)言的消息格式的步驟。
36.按照權(quán)利要求35的壓縮報(bào)文的方法,還包括按照所述許多格式在所述服務(wù)的信息源的第一消息格式和所述設(shè)備的第二消息格式之間進(jìn)行轉(zhuǎn)換的步驟。
37.按照權(quán)利要求36的方法,其中在所述第一消息格式和所述第二消息格式之間的轉(zhuǎn)換是由所述服務(wù)執(zhí)行的。
38.按照權(quán)利要求29的壓縮報(bào)文的方法,其中所述服務(wù)是從以下組中選擇的普通的已定義方案的服務(wù),包括web服務(wù)、數(shù)據(jù)庫(kù)服務(wù)和基于IDL的CORBA服務(wù)。
39.按照權(quán)利要求38的方法,其中所述設(shè)備是從以下組中選擇的,包括個(gè)人計(jì)算機(jī)、無(wú)線設(shè)備、PDA、自助服務(wù)信息站和臺(tái)式終端。
40.按照權(quán)利要求39的方法,其中所述設(shè)備配置為作為所述服務(wù)的客戶機(jī)。
41.按照權(quán)利要求29的方法,其中在所述設(shè)備和所述服務(wù)之間的通信是從包括同步通信和異步通信的組中選擇的。
42.一種經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的方法,所述設(shè)備和所述服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言的共用于所述設(shè)備和所述服務(wù)的元素描述符的預(yù)定知識(shí),所述方法包括以下步驟建立所述服務(wù)和所述設(shè)備之間的通信的裝置;用于制定包括元素?cái)?shù)據(jù)值和缺失(absent)元素描述符的壓縮消息的裝置;用于基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序保持所述元素?cái)?shù)據(jù)值的次序的裝置;用于把所述元素?cái)?shù)據(jù)值設(shè)置在用于把相鄰元素?cái)?shù)據(jù)值區(qū)分開的各自的分隔符中的裝置;以及用于一接收就經(jīng)所述網(wǎng)絡(luò)發(fā)送用于隨后解釋的壓縮消息的裝置。
43.一種經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的方法,所述設(shè)備和所述服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言的共用于所述設(shè)備和所述服務(wù)的元素描述符的預(yù)定知識(shí),所述方法包括以下步驟用于經(jīng)所述網(wǎng)絡(luò)接收包括具有缺失元素描述符的元素?cái)?shù)據(jù)值的壓縮消息,相鄰的元素?cái)?shù)據(jù)值按各自的分隔符來(lái)區(qū)分;用于使用為重構(gòu)所述壓縮消息的、共享的元素描述符的預(yù)定知識(shí)的裝置,所述元素?cái)?shù)據(jù)值的次序基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序;以及用于為在運(yùn)行環(huán)境中隨后的使用而解釋所述重構(gòu)的壓縮消息的裝置。
44.一種計(jì)算機(jī)程序產(chǎn)品,用于配置經(jīng)網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間壓縮報(bào)文的終端設(shè)備,所述設(shè)備和所述服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言的共用于所述設(shè)備和所述服務(wù)的元素描述符的預(yù)定知識(shí),所述方法包括以下步驟計(jì)算機(jī)可讀媒質(zhì);存儲(chǔ)在計(jì)算機(jī)可讀媒質(zhì)上的壓縮消息模塊,用于通過消除與所述元素?cái)?shù)據(jù)值有關(guān)的元素描述符來(lái)制定包括元素?cái)?shù)據(jù)值的壓縮消息;以及所述模塊用于配置所述設(shè)備,基于按照結(jié)構(gòu)化定義語(yǔ)言的所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序來(lái)保持所述元素?cái)?shù)據(jù)值的次序,配置所述元素?cái)?shù)據(jù)值,以設(shè)置在用于把相鄰元素?cái)?shù)據(jù)值區(qū)分開的各自的分隔符中,所述分隔符指示所述元素?cái)?shù)據(jù)值給定順序的開始和結(jié)束。
全文摘要
一種壓縮經(jīng)由網(wǎng)絡(luò)在基于方案的服務(wù)和設(shè)備之間的報(bào)文的方法,所述設(shè)備和服務(wù)具有基于結(jié)構(gòu)化定義語(yǔ)言在所述設(shè)備和所述服務(wù)之間共享的元素描述符的預(yù)定知識(shí)。所述方法包括以下步驟在所述服務(wù)和設(shè)備之間建立通信;通過消除與元素?cái)?shù)據(jù)值有關(guān)的元素描述符來(lái)制定包括元素?cái)?shù)據(jù)值的壓縮報(bào)文;基于所述元素描述符和所述元素?cái)?shù)據(jù)值的預(yù)定順序保持所述元素?cái)?shù)據(jù)值的次序;把元素?cái)?shù)據(jù)值設(shè)置在用于把相鄰的元素?cái)?shù)據(jù)值區(qū)分開的各自的分隔符中,所述分隔符指示所述元素?cái)?shù)據(jù)值的給定順序的開始和結(jié)束;以及在使用所共享的元素描述符預(yù)定知識(shí)的接收下、經(jīng)所述網(wǎng)絡(luò)發(fā)送用于隨后解釋的壓縮報(bào)文。
文檔編號(hào)H04L29/08GK1751492SQ200480004265
公開日2006年3月22日 申請(qǐng)日期2004年2月13日 優(yōu)先權(quán)日2003年2月14日
發(fā)明者邁克爾·希尼菲爾德, 布賴恩·R·戈林 申請(qǐng)人:捷訊研究有限公司