亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于為與無線設備進行通信而壓縮/解壓數(shù)據的方法和系統(tǒng)的制作方法

文檔序號:6569933閱讀:241來源:國知局
專利名稱:用于為與無線設備進行通信而壓縮/解壓數(shù)據的方法和系統(tǒng)的制作方法
技術領域
本發(fā)明通常涉及網絡數(shù)據服務領域。更具體地,本發(fā)明涉及一種用于為 與無線設備通信而壓縮和解壓數(shù)據的方法及系統(tǒng)。
背景技術
在過去的幾年里多種無線數(shù)據處理設備被引入。這些設備包括具備數(shù)據處理能力(例如那些包括無線應用協(xié)議("WAP")支持)的諸如手持Treo650、 蜂窩電話之類的無線個人數(shù)字助理("PDA"),以及最近地無線消息傳遞 設備。隨著無線設備使用的增加,傳送數(shù)據到無線設備或從無線設備傳出數(shù)據 變得越來越重要,但是它也很麻煩。例如,無線/移動設備被公知具有低的帶 寬、長的等待時間、慢的處理器、小的內存以及小的屏幕。沒有一個用于為 傳送到無線設備以及從無線設備傳送的壓縮/解壓數(shù)據的常規(guī)方法被設計來 考慮移動設備的這些局限性。因此,高度壓縮的數(shù)據傳送到無線設備以及從 無線設備傳送是必要的。當使用基于超文本標識語言(XML)協(xié)議時,該問 題將更加嚴重。例如,XML解析用諸如桌面系統(tǒng)之類的較大型系統(tǒng)可以相 對輕松的完成,但由于這些設備的局限性,使用傳統(tǒng)的壓縮/解壓方法時用無 線/移動設備工作比較差。發(fā)明內容在一個實施方式中,公開了一種用于無線設備保持當前數(shù)據的系統(tǒng)。該 系統(tǒng)包括在網絡中與設備通信的服務器。該服務器具有壓縮器/解壓器(編解 解碼器)以通過網絡服務描述來識別簡單對象訪問協(xié)議(SOAP)消息。服務器處的編解碼器還根據網絡服務描述來壓縮SOAP消息以便被壓縮的 SOAP消息能夠被傳送到所述設備。服務器具有數(shù)據同步器來傳送壓縮的 SOAP消息到所述設備。服務器還解壓縮被壓縮的SOAP消息。在另一個實施方式中,公開了一種方法。該方法包括通過網絡服務描述 識別SOAP消息。該方法還包括根據網絡服務描述來壓縮SOAP消息以便被 壓縮的SOAP消息能夠被傳送到所述設備。然后被壓縮的消息被傳送到設 備。該方法還包括解壓被壓縮的SOAP消息。


通過下面的結合附圖的詳細描述,本發(fā)明將被更好地理解,其中 圖1顯示了實現(xiàn)本發(fā)明的單元的網絡的一個實施方式; 圖2顯示了在服務器和設備之間傳送的用于壓縮和解壓數(shù)據的架構的一 個實施方式;圖3顯示了在服務器中簡單對象訪問協(xié)議組件的上下文的一個實施方式;圖4顯示了使用網絡服務描述語言和簡單對象訪問協(xié)議壓縮/解壓字典 進行數(shù)據壓縮和解壓的過程的一個實施方式;圖5顯示了用于字典生成的過程的一個實施方式;圖6顯示了用于執(zhí)行基于有限狀態(tài)機壓縮數(shù)據的過程的一個實施方式; 圖7顯示了用于執(zhí)行基于有限狀態(tài)機解壓縮數(shù)據的過程的一個實施方 式;以及圖8顯示了可以被實施的設備和或服務器的計算機系統(tǒng)。
具體實施方式
根據用于為與無線設備通信的壓縮和解壓數(shù)據的機制的一種實施方式。在下面的描述中為了便于解釋,許多特定的細節(jié)被列出以提供對本發(fā)明的完 全理解。然而,對于本領域的的技術人員來說,本發(fā)明可以沒有這些特定細 節(jié)而實施是顯而易見的。在其它實例中,已知的結構和設備以框圖的形式顯 示以避免模糊本發(fā)明潛在的原理。在說明書中提到的"一個實施方式"或"實施方式"指描述的與實施方 式有關的特定的特征、結構或特性被包括在本發(fā)明的至少一個實施方式中。 在說明書中許多地方都出現(xiàn)短語"在一個實施方式中"沒有必要都指相同的 實施方式。圖1顯示了網絡架構的一個實施方式。"用戶位置"120在圖1中示出 并且可以是任何的局域或廣域網絡,許多服務器103通過該局域或廣域網絡 和客戶端110通信。例如,用戶位置120可以包括由單個企業(yè)維護的所有服 務器和客戶端。服務器103可以為網絡使用者提供許多的不同消息和群組軟件服務102 (如電子郵件,即時信息,日歷等等)。然而,本發(fā)明的潛在原則不局限 于任何特定的消息/群組軟件平臺。在一個實施方式中,通過外部數(shù)據網絡170和/或無線服務提供方網絡 171,接口 100轉發(fā)由服務器102維護的數(shù)據對象(如電子郵件,即時消 息,日歷等等)到多個無線數(shù)據處理設備(在圖1中由設備130表示)。例 如,服務器103作為用于網絡服務的傳遞無線網絡數(shù)據到許多移動設備130 的代理。在一個實施方式中,接口 100是適于與特定服務102—起工作的軟件模 塊。然而,需要指出,接口 IOO可以在硬件或任何硬件與軟件的結合中實施 而同時仍然遵從本發(fā)明的潛在原則。在一個實施方式中,外部數(shù)據網絡170包括多個數(shù)據庫,服務器/客戶 端(沒有示出)以及用于在接口 100和設備130之間傳輸數(shù)據的其它網絡硬件(如路由器、網絡集線器等等)。在一個實施方式中,接口 100在具有識別所述設備130地址的一個或多個分組中(如像32-比特Mobitex訪問 號碼("MAN#"))壓縮數(shù)據。外部數(shù)據網絡170傳送分組到無線服務提供方網絡171,繼而通過無線 通信鏈路傳送分組(或在那里包含的數(shù)據)到設備130。在一個實施方式中, 無線服務提供方網絡是CDMA 2000網絡。然而,可以使用許多其他網絡類 型(如,Mobitex, GPRS, PCS等等),而同時仍然遵從本發(fā)明的潛在原則。需要指出,網絡服務提供方網絡171和外部數(shù)據網絡170 (以及關聯(lián)的 接口 100)可以被相同的組織擁有/操作,或可選擇地,外部數(shù)據網絡170的 所有者/操作者可以從無線服務提供方網絡租用無線服務。本發(fā)明的潛在原則 不局限于任何特定服務安排。圖2顯示了用于壓縮和解壓將在服務器204和設備202之間傳送的數(shù)據 的架構的一個實施方式。在顯示的實施方式中,客戶端側206和企業(yè)端側 220??蛻舳藗?06包括與服務器204連接并通信的無線處理客戶端或設備 (設備)202。設備202包括任何具有移動計算機系統(tǒng)或設備的設備,如膝 上電腦、移動電話(如移動蜂窩電話、智能手機等等)、個人數(shù)字助理(PDA)、 掌上電腦等等。服務器204還與提供網絡服務和基于網絡服務的企業(yè)應用程 序234的網絡服務企業(yè)服務器(企業(yè)服務器)通信。服務器204和企業(yè)服務 器220通過網絡互相通信是可以預期的。設備202和服務器204通過外露的 網絡服務以及網絡服務應用234與后端企業(yè)服務器通信。網絡實例可以包括 局域網(LAN)、廣域網(WAN)、城域網(MAN)、互聯(lián)網、內聯(lián)網等 等。此外,網絡與無線網絡連接并通信。服務器204可以包括由加利福尼亞, 圣克拉拉(Santa Clara)的卓越技術(Good Technology)公司提供的 GoodLinkTM服務器、卓越訪問網絡服務器(Good Access Web Service, GAWS) 服務器等。網絡服務企業(yè)服務器的實例包括由德國Walldorf的SAP AG研發(fā)的網絡應用服務器以及由NY的Armonk的國際商用機器公司(IBM )研 發(fā)的全球網絡應用服務器。在一個實施方式中,在設備202和服務器204之間的數(shù)據通信通過新 SOAP 218執(zhí)行。新SOAP 218表示用于傳送到移動設備202以及從移動設 備202傳送的被壓縮的數(shù)據。新SOAP 218也可以包括壓縮的XML。這種數(shù) 據的壓縮采用使用網絡服務描述語言(WSDL) 238的服務器204處的SOAP 壓縮器/解壓器222執(zhí)行。WSDL 238被用來獲得關于作為WSDL 238數(shù)據相 關的信息,該信息是使用標準XML時描述哪種SOAP消息可能會出現(xiàn)的元 數(shù)據文檔。換句話說,有WSDL 238意味著由網絡服務提供的多種操作并且 知道怎樣使用它們。在一個實施方式中,在SOAP編解碼器222的SOAP 編碼器可以從WSDL 238中得到SOAP消息和一些信息,并通過新SOAP 218 使用服務器數(shù)據同步器(同步服務器數(shù)據)224、設備數(shù)據同步器(同步設 備數(shù)據)210、以及服務器和設備可靠性消息226、 212產生將要通過空氣發(fā) 送到設備202的比特串。然后,在SOAP編解碼器222的SOAP解碼器或 解壓器用從WADL 238獲得比特串和一些信息以產生初始SOAP消息232。在一個實施方式中,處理器204包括SOAP編解碼器222、處理器數(shù)據 同步224、新SOAP壓縮或SOAP編解碼器字典(字典)228、新SOAP壓 縮生成器或SOAP編解碼器字典生成器(字典生成器)230以及服務器可靠 消息傳遞218。服務器204與應用描述文檔(ADF)存儲240連接以與ADF 242通信??蛻舳?02包括通過服務器204通信的ADF214、服務器形成呈 現(xiàn)器216、設備數(shù)據同步210以及設備可靠消息傳遞212。 SOAP 232允許服 務器204和企業(yè)應用234 (通過網絡服務以及網絡服務企業(yè)服務器)以支持 用于高效網絡通信的公共數(shù)據傳輸協(xié)議??蛻舳?02也包括在服務器204中 與SOAP編解碼器222通信的名稱值-SOAP編解碼器208。服務器204和企 業(yè)服務器是XML文檔的發(fā)送方和接收方。SOAP指用于XML應用編程接口 (API)的標準的基于XML的協(xié)議。 XML被看作是高度規(guī)則、人類可讀、靈活并且詳細的。SOAP通常使用超文 本傳輸協(xié)議(HTTP)來幫助XML消息傳遞。例如代替使用HTTP來請求 被下載的超文本消息傳遞語言(HTML)記錄并在瀏覽器中顯示,SOAP通 過HTTP請求發(fā)送XML消息并接受回復,如果有,可以通過HTTP響應。 典型地,SOAP交互作用在SOAP消息發(fā)送方、接收方或兩者的SOAP節(jié)點 之間發(fā)生。此外,SOAP消息包括三個主要模塊,比如封裝、報頭和主體。 封裝被看作是一個通信的單元。報頭包括通信的特征和質量,同時主體包括 具有消息名稱的變元或文檔的消息。在顯示的實施方式中,SOAP 232通過在服務器204的SOAP編解碼器 222以及在企業(yè)應用網絡服務的SOAP終端點236被使用。新SOAP 218在 設備可靠消息傳遞212和服務器可靠消息傳遞226之間傳送,兩者分別在設 備202和服務器204中。WSDL 238提供在使用標準XML時描述SOAP消 息218、 232是什么的元數(shù)據文檔。WSDL 238也包含其它元數(shù)據是可以預 期的。在WSDL 238中使用元數(shù)據,由網絡服務提供的多種操作是己知的, 并且它們怎樣被使用也是己知的。在編解碼器222中的SOAP編碼器或壓縮器接收到SOAP消息232和 SOAP編解碼器字典228 (例如,通過來自WSDL (例如,WSDL描述238) 的一些受損的信息),來產生意圖通過無線傳輸?shù)淖止?jié)流。然后,字節(jié)流通 過數(shù)據同步224和服務器204上的服務器可靠消息傳遞226,作為到設備可 靠消息傳遞212的新的SOAP 218被傳送到設備20。在一個實施方式中, SOAP編解碼器222由字典228幫助,該字典228在服務器204處的字典生 成器230使用WSDL 238產生。字典228規(guī)定XML消息中的預期單元、它 們的數(shù)據類型和其它有用的信息具體化。只有當不經常發(fā)生的WSDL 238中 的內容發(fā)生改變時字典228才改變。 一旦字典228以獨立的覆蓋從被壓縮的消息發(fā)送。然后用于壓縮消息的相同字典228被用來隨后不壓縮或解壓消息。 在一個實施方式中,使用產生高壓縮率的有限狀態(tài)機(FSM) SOAP方法來 執(zhí)行壓縮。在另一個實施方式中,使用同樣可以產生高壓縮率也可以容易處 理任何不能預料的數(shù)據的封裝SOAP方法來執(zhí)行壓縮。在一個實施方式中,使用封裝的SOAP方法,單元和屬性的編碼被執(zhí)行。 使用WSDL,我們可以確定哪個單元名稱將在消息中。在編解碼器222中, 那些單元名稱被收集并指定一個預期的頻率。例如 一旦已知"用戶"單元 將要出現(xiàn),同時"用戶"單元是一個重復的單元,"用戶"有頻率l并且"用 戶"被指定為平均陣列大小(AVERAGE—ARRAY—SIZE)(如8)的頻率。用戶的孩子(如"名稱")繼承它們父母的頻率,所以"名稱"也有AVERAGE—ARRAY—SIZE的頻率。如果單元是可選的,那么只有所需值的 一半被添加。統(tǒng)計預期值基于最大和最小出現(xiàn)值被計算出來。因為在解碼時,SOAP編解碼器222可以記住下一終端單元將是什么, 所以最后單元被合并計算為一個單獨的終端單元(END—ELEMENT)記號。 對于未預測到的XML,如未知單元(UNKNOWN—ELEMENT)和未知屬性 (UNKNOWN—ATTRIBUTE),則添加一些其它的特定記號。所以當單元 在不在表格中的原始XML中被遇到,那么UNKNOWN—ELEMENT被發(fā)送 以在解碼時用足夠信息來重構XML。盡管遇到未知單元或屬性時壓縮率會 有一點損失,但數(shù)據被保留。通過包含在WSDL238中的各種消息和操作來 計算頻率。然后霍夫曼比特編碼被計算并設定。這樣,被經常使用的記號可 能占用最少的比特數(shù)?;舴蚵忍鼐幋a是霍夫曼編碼表示算法的一部分,該 霍夫曼編碼表示算法用于基于將被壓縮的文檔中的符號的出現(xiàn)頻率而對文 檔的無耗壓縮。此外,如定義名稱空間(DEFINE—NAMESPACE)和改變默認名稱空間 (CHANGE—DEFAULT_NAMESPACE)的兩個附加記號也被添加,每當XML定義一個命名空間(如xmlns:prefix= 'um:ws')或改變默認的命名 空間(如xmlns= 'um:foo')時,這些記號被使用。由于它們也不經常發(fā) 生,所以指定頻率為0。另外,SOAP差錯可以從服務器204中返回,即使 不確定在WSDL238中。因此, 一個或多個下面的單元也被添加為一個低的 頻率(0.1):評語差錯、差錯編碼、差錯字符串等等。這些是SOAP差 錯中的標準單元。關于數(shù)據內容編碼,在WADL 238中的XML模式的一個特性允許知道 與單元相關聯(lián)的數(shù)據的類型。例如已知"名稱(Name)"是一個字符串,"年齡(Age)"是一個32比特的整數(shù),"?;?Alive)"是一個布爾變 量,"用戶(Customer)"是一個單元容器等等。通過知道類型,不同的方 法可以被用來壓縮不同的數(shù)據。例如由于一個布爾變量占用一個單獨的比 特,其中0表示偽,l表示真,8個之間互相鄰近的布爾變量可以占用一個 單獨的8-比特字節(jié),這樣原始數(shù)據占用從32到40字節(jié)(從"真"長度*8 到"偽誤"長度*8)。此外,對于一個或多個下面的編碼也被提供(1) xsd:布爾變量;(2)非負整數(shù)類型;(3)標記的整數(shù)類型(如xsd:整 型(int) ; xsd:長整型(long) ; xsd:短整型(short)等等);(4) xsd: 浮點數(shù)(float)以及XSd:雙精度型(double) ; (5) XSd:字節(jié);(6) XSd: 基數(shù)64二進制;(7) XSd:混合二進制;(8) XSd:日期;(9) XSd:時間;(10) XSd:日期時間;(11) XSd:持續(xù)時間;XSd:字符串或任何沒有另外特指的;(12) xsd: Q名稱(QName)。此外,XML模式可以指定來自列舉的單元的數(shù)據內容。例如名稱為 "顏色"的單元只有3個可能的值;紅色、綠色或藍色。代替發(fā)送作為長度前綴和3、 4或5字節(jié)字符串的顏色長度的數(shù)據內容,而僅僅需要使用2個比特,比如00用于紅色;Ol用于綠色;10用于藍色。這些比特存儲在字典228中。僅假設一個值在列舉之外的情況下被使用,則比特編碼被用來存儲未預測到的值。這樣,如果發(fā)現(xiàn)黃色,ll被發(fā)送并經常用于這種類型的編碼 跟隨。實際的比特編碼可以使用霍夫曼編碼來計算,其中簡化具有較低的霍 夫曼頻率的意料之外的值。一些XML數(shù)據有重復字符串。應用描述(如AAC文檔)就是這的一 個好的實例。壓縮器可以被用來在XML中建立類型字符串數(shù)據的字符串表。 然后,頻率被計數(shù)并且霍夫曼編碼被計算。例如字符串"帳戶(Account)" 可以被設定為一些比特(如OIOI)并且字符串"Xyzzy"可以被分配一些比 特。在輸出流的第一部分,字符串表被發(fā)送。然后,每當遇到字符串則只使 用比特編碼。XML模式也可以有提供關于附加信息形式或數(shù)值類型的附加 的元數(shù)據,這些叫做分段(facet)。例如可以指定最小值為1000且最大 值為1015的整數(shù)。 一般來說,值越接近0,則占有越少的比特數(shù)。這樣,最 小值被減去,從0到15移動范圍,僅僅需要4個比特來表示。在一個實施方式中,當使用FSM SOAP方法時,F(xiàn)SM編碼被用于傳送 到設備202以及從設備202傳出的數(shù)據的壓縮和解壓縮。使用根據FSM編 碼的WSDL238,輸入數(shù)據的重要形式可以被觀察并已知。例如形式不僅 提供內容數(shù)據的類型而且還提供數(shù)據的結構,如單元是怎樣被排列的等等。 例如首先出現(xiàn)SOAP的封裝,然后是SOAP主體,并且然后或是用戶查詢 (QueryForCustomers)或是實例單元。如果用戶查詢被確定,隨后是單元名 稱。對于實例單元,隨后是用戶單元。在被壓縮的輸出流中任何信息的編碼 選擇被執(zhí)行。在一個實施方式中,然后,由數(shù)據的結構形式決定的輸入數(shù)據的多個單 元被繪制在SOAP消息中來形成FSM。自動機通過轉換(箭頭)從一種狀 態(tài)到另一種狀態(tài)(例如FSM圖中的圓到圓)。然后FSM圖與數(shù)據類型信 息一起被存儲到字典228的FSM字典中。SOAP報頭和SOAP差錯被自動 添加,因為在沒有該WSDL238指示時,SOAP報頭和SOAP差錯可以是消息的一部分。當在SOAP編解碼器222的編碼器遇到SOAP封裝時,因為可 以預期,編碼器不傳送到輸出流。當編碼器遇到SOAP主體,該編碼器發(fā)送 1比特。如果下一個是實例單元,發(fā)送0比特。從實例單元,下一個遇到用 戶單元。因為該處沒有選擇所以不發(fā)送比特。從多用戶單元,下一個發(fā)現(xiàn)的 是用戶單元,因為可以預期所以也不發(fā)送比特。從用戶到名稱也不發(fā)送比特。 在該處,名稱是類型字符串,所以字符串內容被發(fā)送。當使用封裝的SOAP 方法時,可以用相同的規(guī)則發(fā)送對于在SOAP編解碼器222中封裝的編解碼 器來說所保持的內容數(shù)據。在FSM圖中,保活(Alive)和孩子(Child)單元是可選的。所以,例 如在年齡之后,可以在?;?、孩子以及用戶終端單元中任選一個。也可以有 循環(huán)。孩子單元可以重復,所以有兩個選擇發(fā)現(xiàn)另一個孩子單元或發(fā)現(xiàn)用 戶終端單元。相似地,從用戶終端單元,可以發(fā)現(xiàn)另一個用戶單元或用戶終 端單元。當在兩種東西之間選擇時, 一方被設置為O并且另一方被設置為1。 比特編碼的設置可以使用霍夫曼編碼。然后,用一個或多個下面的參數(shù)來計 算頻率具有較少權重的可選單元(因為它們可能很少在該處出現(xiàn))、具有較多權重的重復單元(因為它們的預期值較高,例如當知道一個單元會重復0到5次時,在這種情況下,平均被看到3次。同樣,在遠離的地方,下 一個發(fā)現(xiàn)的單元很有可能是定義中的下一個單元)。在一個實施方式中,由于在XML中的多數(shù)結構數(shù)據不再被需要所以被 高度壓縮。然而,在SOAP編解碼器222中的FSM編解碼器可能不處理意 料之外的單元,因為沒有用于添加到未預測到的單元的轉換的空間。在這種 情況下,在一個實施方式中,如果發(fā)現(xiàn)未預測到的單元,F(xiàn)SM編解碼器可能 放棄并且允許在SOAP編解碼器222中的FSM編解碼器來處理未預測到的 單元。在一個實施方式中,在XML模式中通過跟蹤每個路徑FSM被產生。在許多情況中,多種的和完全不同的路徑包括共享結構。例如在銷售網絡服務中,有在XML模式中表示的帳戶商業(yè)對象,作為具有帳戶id、名稱、主 要接觸、地址、URL、電話號碼等子單元的帳戶單元。該帳戶對象可能相當 大。網絡服務可以有多種處理帳戶對象的操作。該多種操作的實例包括更新 帳戶、建立帳戶、査詢所有帳戶以及通過名稱査詢帳戶等等。接著銷售網絡 服務實例,如果帳戶對象有m個狀態(tài)并且通過WSDL 238被使用n次,那 么認為有m*n個狀態(tài)被在字典中占用大量空間的單獨的帳戶類型占用。子 FSM是自身健全的FSM,但它是從父親FSM中命名的。這樣,帳戶類型占 用n個狀態(tài)并且被訪問m次。不是模式中的每個類型被拉出到子FSM中。 簡化那些被訪問多于一次并且其m氣(它們可能被占用的狀態(tài)數(shù))超過預定 義的門限的類型。在字典228中使用預先計算的FSM字典不同于基于壓縮算法的傳統(tǒng)內 容,如可以在壓縮程序中發(fā)現(xiàn)的LZW。 LZW僅僅尋找在比特(如32k) 的滑動窗口中比特的形式。在一個實施方式中,通過產生的FSM, SOAP FSM 利用來自WSDL 238的已知的結構和內容形式,并且將它存儲到將被用于壓 縮和解壓兩者的字典228中。圖3顯示了在服務器204中的SOAP的組件302-328的上下文的一個實 施例。配置時間組件包括應用描述(AppDef) Webswell代理(Webswdl Broker, WB) (AppDefWB) 302、 AppDef控制臺用戶界面(AppDef控制 臺UI) 304、 AppDef管理器306以及SOAP編解碼器字典生成器308。運行 時間組件包括重新查詢控制臺UI 316、網絡服務(WS)執(zhí)行器318、預訂 管理器320、 WS請求/響應消息處理器322、 SOAP編碼器/解碼器或壓縮器/ 解壓器324、訪問消息處理器326以及可靠消息傳遞(對話)328。配置時間 以及運行時間組件兩者的其它組件包括SOAP編解碼器字典管理器310、數(shù) 據同步器312以及數(shù)據庫314。圖4顯示了使用網絡服務描述語言和簡單對象訪問協(xié)議壓縮/解壓字典 的數(shù)據壓縮和解壓過程的一個實施方式。在處理塊402中,從WSDL中產 生SOAP編解碼器字典。在一個實施方式中,為了壓縮數(shù)據或SOAP消息, 新產生的字典和引入的XML消息在處理塊404中遍歷。結果,然后輸出比 特流在處理塊404中產生。隨后字典被重新用于如WSDL描述的來自于網 絡服務的每個XML消息。在一個實施方式中,在處理塊406中,為了不壓 縮或解壓數(shù)據或SOAP消息,字典和輸入或引入的比特流被遍歷。作為結果, 隨后產生輸出XML消息。圖5是顯示字典產生過程的一個實施方式。在處理塊502中,WSDL被 讀入。在一個實施方式中,在處理塊504中WSDL的操作隨后被分析。在 決定塊506中,按照在WSDL中是否有附加操作做出決定。如果不再有操 作,過程在終端塊504中結束。如果有附加的操作,在處理塊508中用于 SOAP封裝和SOAP主體的FSM字典的狀態(tài)被產生。在一個實施方式中,在處理塊510中產生用于SOAP主體的操作的單元 名稱的狀態(tài)。此外,隨后輸入參數(shù),并且然后產生每個單元以及它們子單元 的狀態(tài)。在處理塊512中,產生來自SOAP主體的操作響應的單元名稱的狀 態(tài)。然后,隨后輸出參數(shù),并且產生每個單元以及它們子單元的狀態(tài)。如果 有,差錯參數(shù)也隨后,并且產生每個單元以及它們子單元的狀態(tài)。在決定塊 506中,按照是否還有任何操作來做出決定。如果有則過程繼續(xù)到處理塊508。 如果沒有,過程在終端塊514中終止。圖6顯示了用于執(zhí)行基于有限狀態(tài)機數(shù)據壓縮的過程的實施方式。在一 個實施方式中,在處理塊602中,決定以前產生的FSM起始狀態(tài)(如圖4和 圖5中提及所描述的)。起始狀態(tài)被看作當前狀態(tài)。在處理塊604中,壓縮 比特流被打開用于讀取。在決定塊606中,按照是否當前狀態(tài)是終端單元來做出決定。在一個實17施方式中,當前狀態(tài)是終端單元,在處理塊608中XML終端單元的輸出過 程繼續(xù)。在決定塊610中,按照是否只有一個下面的步驟來做出另一個決定。 如果只有一個下面的步驟,則推動當前步驟到在處理塊616中的下一個狀態(tài)。 如果當前狀態(tài)是如決定塊618所稱的最終狀態(tài),過程在終端塊624終止。如 果當前狀態(tài)不是最終狀態(tài),過程繼續(xù)到決定塊606來決定是否當前狀態(tài)是終 端單元。返回參考決定塊610,如果存在多個下一個狀態(tài),在處理塊612中到下 一個可能狀態(tài)的每個轉換有與它們相關聯(lián)的比特編碼。這些比特才被讀入直 到發(fā)現(xiàn)匹配轉換。當前狀態(tài)被推動到在處理塊614中具有匹配轉換的下一個 狀態(tài)。如果當前狀態(tài)是在決定塊618中的終端狀態(tài),過程在轉換塊624中終 止。否則,過程繼續(xù)到決定塊606。返回參考決定塊606,在一個實施方式中,如果當前狀態(tài)不是終端單元,, 過程繼續(xù)來自處理塊620中當前狀態(tài)名稱的XML狀態(tài)單元的輸出。如果當 前狀態(tài)是在決定塊622中的葉狀態(tài)(如有內容數(shù)據),在處理塊624中, 過程繼續(xù)讀取來自在XML中的比特流和輸出數(shù)據的內容數(shù)據。在處理塊608 中,過程繼續(xù)XML終端單元的輸出。另一方面,如果當前狀態(tài)不是葉狀態(tài), 按照是否只有一個下一個狀態(tài)過程來繼續(xù)決定塊610。圖7顯示了用于執(zhí)行基于有限狀態(tài)機數(shù)據解壓縮過程的實施方式。對于 執(zhí)行基于FSM的數(shù)據解壓或不壓縮,F(xiàn)SM的起始狀態(tài)在處理塊702中被確 定。在處理塊704中,XML被解析。在處理塊706中,下一個單元從解析 后的XML中重新獲得。然后,在決定塊708中確定從當前狀態(tài)到具有匹配 單元名稱的下一個狀態(tài)的轉換。如果沒有發(fā)現(xiàn)那種轉換,過程在終端塊720 終止(如誤差被丟棄)。如果發(fā)現(xiàn)那種轉換,該轉換是否有比特編碼在決 定塊710中被確定。如果與轉換相關聯(lián)的比特編碼被發(fā)現(xiàn),則在處理塊716中比特編碼被發(fā)出。如果沒有發(fā)現(xiàn)這種比特編碼或一旦比特編碼被發(fā)出,過程按照當前狀態(tài)在決定塊712中是否有內容數(shù)據的決定來繼續(xù)。如果有內容數(shù)據,該內容數(shù) 據從處理塊718的XML發(fā)出。如果沒有發(fā)現(xiàn)該種內容或一旦內容數(shù)據從 XML中發(fā)出,過程按照是否很多XML在決定塊714中被解析來繼續(xù)。如果 沒有很多XML被解析,過程在終端塊722中被解析。如果有很多XML將 被解析,過程繼續(xù)從在處理塊706中解析的XML的網絡單元重新獲得。圖8顯示了可以實施的設備130和或服務器103中的計算機系統(tǒng)800。 計算機系統(tǒng)800包括用于傳送信息的系統(tǒng)總線820以及用于處理信息的與總 線820連接的處理器810。根據一個實施方式,處理器810使用微型處理器 的處理器的摩托羅拉(Motorola) ARM家族中的一個來實施。然而,本領域 的普通的技術人員將意識到可以使用其它的處理器。計算機系統(tǒng)800還包括連接到總線820的用于存儲將要被處理器810執(zhí) 行的信息和指令的隨機訪問存儲器(RAM)或其它動態(tài)存儲設備825 (在這 里指主存)。主存825也可以被用于存儲臨時變量或在由處理器810執(zhí)行指 令期間的其它中間信息。計算機系統(tǒng)800也可以包括只讀存儲器(ROM)和 /或與總線820連接的用于存儲狀態(tài)信息和處理器810使用的指令的其它狀態(tài) 存儲設備826。如磁盤或光盤以及它們相應驅動之類的數(shù)據存儲設備825也可以連接到 計算機系統(tǒng)800來用于存儲信息和指令。計算機系統(tǒng)800也可以通過I/O接 口 830連接到第二 I/O總線850。許多I/O設備可以連接到包括顯示設備824、 輸入設備(如字母數(shù)字輸入設備823和/或指針控制設備822)的I/O總線850。通信設備821用于通過網絡170訪問其它的計算機(服務器或客戶端)。 通信設備821可以包括調制解調器、網絡接口卡或其它如那些用于連接到以 太網、令牌網或其它類型網絡之類的接口設備的已知的接口設備。本發(fā)明的實施方式可以包括上面例舉的許多步驟。這些步驟可以被包含在機器可執(zhí)行指令中。所述指令可以被用來使用通用目的或專用目的處理器 來執(zhí)行某個步驟??商鎿Q地,這些步驟可以通過包括用于執(zhí)行步驟的硬接線 邏輯或通過編程的計算機組件和用戶硬件組件的任何結合的特定硬件組件 來執(zhí)行。本發(fā)明的單元也可以提供用于存儲機器可執(zhí)行的指令的機器可讀介質。機器可讀介質可以包括但不局限于軟盤、光盤、CD-ROM以及磁性光盤、 ROM、 RAM、 EPROM、 EEPROM、磁性或光學插件、傳播媒介或適合于存 儲電子指令的其它類型的媒介/機器可讀介質。例如,本發(fā)明可以下載做為計 算機程序,該程序可以經由通信鏈路(如調制解調器或網絡連接)以包含在載波或其它傳播媒介中的數(shù)字信號的方式從遠程的計算機(如服務器) 傳送到請求計算機(如客戶端)。為了說明,通過前面的描述許多特定的細節(jié)被列出以提供對本發(fā)明的完 全理解。然而,沒有這些特定的細節(jié)本發(fā)明可以被實施,對本領域的技術人 員來說是顯而易見的。例如當說明了在服務器103執(zhí)行的到服務102的接 口 100 (見圖1)時,則顯而易見的是本發(fā)明的潛在原則可以在傳送數(shù)據到 網絡的單一客戶端中被實施。因此,本發(fā)明的范圍和實質可以根據所附的權 利要求來確定。
權利要求
1、一種系統(tǒng),該系統(tǒng)包括設備,該設備與服務器互傳數(shù)據;以及所述服務器,該服務器在網絡上與所述設備通信,該服務器包括壓縮器/解壓器,用于通過網絡服務描述來識別簡單對象訪問協(xié)議消息,和根據所述網絡服務描述來壓縮所述簡單對象訪問協(xié)議消息以使得被壓縮的簡單對象訪問協(xié)議消息能夠被傳送到所述設備;以及數(shù)據同步器,用于傳送被壓縮的簡單對象訪問協(xié)議消息到所述設備。
2、 根據權利要求1所述的系統(tǒng),其中所述網絡服務描述由網絡服務描 述語言提供,所述網絡服務描述語言包括具有所述網絡服務描述的元數(shù)據文 檔,所述網絡服務描述包括與所述數(shù)據相關的描述性信息,所述描述性信息 包括與網絡服務操作相關的信息。
3、 根據權利要求1所述的系統(tǒng),其中所述壓縮器/解壓器還通過一個或 多個應用描述文檔來識別所述簡單對象訪問協(xié)議消息。
4、 根據權利要求1所述的系統(tǒng),其中所述被壓縮的簡單對象訪問協(xié)議 消息包括將被無線地傳送到所述設備的比特流。
5、 根據權利要求1所述的系統(tǒng),其中所述服務器還包括通過所述網絡 服務描述語言來產生字典的字典生成器。
6、 根據權利要求5所述的系統(tǒng),其中所述壓縮器/解壓器還通過遍歷所 述字典以及引入的超文本標識語言消息來壓縮所述簡單對象訪問協(xié)議消息,以產生輸出的比特流。
7、 根據權利要求5所述的系統(tǒng),其中所述壓縮器/解壓器還通過遍歷字 典以及引入的比特流來解壓縮所述簡單對象訪問協(xié)議消息,以產生輸出的超 文本標識語言消息。
8、 根據權利要求1所述的系統(tǒng),其中所述網絡服務描述語言存在于網 絡服務服務器,所述網絡服務服務器通過網絡與所述服務器連接。
9、 根據權利要求1所述的系統(tǒng),其中所述網絡服務描述還包括附屬于 對所述簡單對象訪問協(xié)議消息的識別的信息。
10、 一種方法,該方法包括 通過網絡服務描述來識別簡單對象訪問協(xié)議消息; 根據所述網絡服務描述來壓縮所述簡單對象訪問協(xié)議消息以使得被壓縮的簡單對象訪問協(xié)議消息能夠從服務器傳送到設備;以及 傳送所述被壓縮的簡單對象訪問協(xié)議消息到所述設備。
11、 根據權利要求IO所述的方法,其中所述網絡服務描述由網絡服務 描述語言提供,所述網絡服務描述語言包括具有網絡服務描述的元數(shù)據文 檔,所述網絡服務描述包括與數(shù)據相關的描述性信息,所述描述性信息包括 與網絡服務操作相關的信息。
12、 根據權利要求10所述的方法,其中對所述簡單對象訪問協(xié)議消息 的識別還包括通過一個或多個應用描述文檔來識別所述簡單對象訪問協(xié)議 消息。
13、 根據權利要求10所述的方法,該方法還包括通過所述網絡服務描 述語言來產生字典。
14、 根據權利要求13所述的方法,該方法還包括通過遍歷所述字典以 及引入的超文本標識語言消息來壓縮所述簡單對象訪問協(xié)議消息,以產生輸 出的比特流。
15、 根據權利要求13所述的方法,該方法通過遍歷所述字典以及引入 的比特流來解壓縮所述簡單對象訪問協(xié)議消息,以產生輸出的超文本標識語 言消息。
16、 一種機器可讀介質,在該機器可讀介質上存儲有表示指令集的數(shù)據, 當所述指令集由機器執(zhí)行時,該機器可讀介質使得所述機器-通過網絡服務描述來識別簡單對象訪問協(xié)議消息; 根據所述網絡服務描述來壓縮所述簡單對象訪問協(xié)議消息,以使得被壓 縮的簡單對象訪問協(xié)議消息能夠從服務器傳送到設備;以及 傳送所述被壓縮的簡單對象訪問協(xié)議消息到所述設備。
17、 根據權利要求16所述的機器可讀介質,其中所述網絡服務描述由 網絡服務描述語言提供,所述網絡服務描述語言包括具有網絡服務描述的元 數(shù)據文檔,所述網絡服務描述包括與數(shù)據相關的描述性信息,所述描述性信 息包括與網絡服務操作相關的信息。
18、 根據權利要求16所述的機器可讀介質,其中當所述指令集由所述 機器執(zhí)行時,該機器可讀介質還促使所述機器通過所述網絡服務描述語言來 產生字典。
19、 根據權利要求18所述的機器可讀介質,其中當所述指令集由所述 機器執(zhí)行時,該機器可讀介質還使得機器通過遍歷所述字典以及引入的超文 本標識語言消息來壓縮所述簡單對象訪問協(xié)議消息,以產生輸出的比特流。
20、 根據權利要求18所述的機器可讀介質,其中當所述指令集由所述 機器執(zhí)行時,該機器可讀介質還使得機器通過遍歷所述字典以及引入的比特 流來解壓縮所述簡單對象訪問協(xié)議消息,以產生輸出的超文本標識語言消 息。
全文摘要
公開了一種系統(tǒng)。該系統(tǒng)包括在網絡上與設備通信的服務器。服務器具有壓縮器/解壓器以通過網絡服務描述來識別簡單對象訪問協(xié)議(SOAP)消息。服務器處的壓縮器/解壓器還根據網絡服務描述來壓縮SOAP消息以便被壓縮的SOAP消息能夠被傳送到所述設備。服務器具有數(shù)據同步器以傳送被壓縮的SOAP消息到所述設備。
文檔編號G06F15/16GK101326509SQ200680046282
公開日2008年12月17日 申請日期2006年12月6日 優(yōu)先權日2005年12月8日
發(fā)明者A·布盧姆, C·德雷珀 申請人:卓越技術公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1