日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

用于對數(shù)據(jù)處理設(shè)備與數(shù)據(jù)服務進行全無線同步的系統(tǒng)和方法

文檔序號:6409708閱讀:240來源:國知局
專利名稱:用于對數(shù)據(jù)處理設(shè)備與數(shù)據(jù)服務進行全無線同步的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及網(wǎng)絡(luò)數(shù)據(jù)服務的領(lǐng)域。更為特別的是,本發(fā)明涉及一種用于將無線數(shù)據(jù)處理設(shè)備同步于無線消息傳遞服務的設(shè)備和方法。
背景技術(shù)
在過去的若干年間已經(jīng)推行了多種無線數(shù)據(jù)處理設(shè)備。這其中包括手持型PalmVIIx之類的個人數(shù)字助理(“PDA”)、具有數(shù)據(jù)處理能力的蜂窩電話(例如那些支持無線應用協(xié)議(“WAP”)的蜂窩電話),此外還包括ResearchIn Motion(“RIM”)于最近開發(fā)的BlackberryTM無線尋呼機這類無線消息傳遞設(shè)備。
一般來說,Palm這類個人數(shù)字助理只提供了有限的無線消息傳遞能力(例如即時消息傳遞和基本的因特網(wǎng)訪問)。舉例來說,這些設(shè)備通常需要用戶手動建立經(jīng)由因特網(wǎng)服務供應商(“ISP”)的因特網(wǎng)連接或是與公司服務器建立連接,以便檢查電子郵件消息。
雖然RIM Blackberry這種公司消息傳遞系統(tǒng)提供了更全面的消息傳遞能力,但是這些系統(tǒng)也存在著極大限制。特別地,這些系統(tǒng)使用的是只在滿足一定條件時才將消息重定向到無線設(shè)備的電子郵件“重定向”或“轉(zhuǎn)發(fā)”技術(shù)。這些條件則稱為“重定向事件”,例如,這些條件可以包括表明用戶并未在公司臺式機上工作的指示(例如從臺式機底座上取走無線設(shè)備、在臺式機上啟動了屏幕保護程序等等)或是由用戶發(fā)起的手動重定向命令(例如借助于無線設(shè)備或公司臺式機)。在美國專利6,219,694(“System and Methodfor Pushing Information From a Host System to a Mobile Data CommunicationDevice Having a Shared Electronic Address”)中描述了這樣的信息重定向系統(tǒng)。
這樣一來,這些系統(tǒng)(實際上)不能在無線設(shè)備與公司的電子郵件數(shù)據(jù)庫之間提供完全同步。舉例來說,由于消息只在一定條件下才會重定向到無線設(shè)備(例如出現(xiàn)重定向事件之后),因此在任何指定時間點,無線設(shè)備只能包含不完全的電子郵件數(shù)據(jù)集合。此外,即使有效地將消息轉(zhuǎn)發(fā)到無線設(shè)備,無線設(shè)備上保存的電子郵件數(shù)據(jù)與電子郵件數(shù)據(jù)庫也不會實現(xiàn)真正的同步。例如,在無線設(shè)備上執(zhí)行的某些事務沒有通過無線方式而在電子郵件服務上得到更新,其中舉例來說,所述事務可以是表明用戶已經(jīng)查看過消息、刪除消息、將消息從一個文件夾移動到另一個文件夾等等的指示。
此外,無線設(shè)備只能對發(fā)送和接收消息這樣的基本電子郵件功能進行控制。更高級的電子郵件管理功能則必須在用戶臺式機上進行設(shè)定(例如配置電子郵件過濾器、輸出電子郵件簽名、口令之類的安全設(shè)定等等)。
此外,先前的消息傳遞系統(tǒng)需要用到公司臺式機,當用戶在辦公室時,所述設(shè)備必須連接在臺式機上。與此相關(guān)的問題在于這其中不僅需要用到公司臺式機,而且還必須使用允許所述臺式機直接與無線設(shè)備進行通信的軟件以及專用“底座”來對其進行配置。
因此,目前需要一種用于在無線設(shè)備與消息傳遞服務(例如公司的電子郵件帳戶)之間提供完全同步和管理的系統(tǒng)和方法。此外還需要一種用于接收和發(fā)送電子郵件消息的無線設(shè)備,其中所述設(shè)備不需要公司臺式機或是任何那些在臺式機上安裝和運行的軟件。

發(fā)明內(nèi)容
在這里公開了一種用于將數(shù)據(jù)處理設(shè)備完全同步于消息傳遞服務的系統(tǒng)。該系統(tǒng)的一個實施例包括一個無線數(shù)據(jù)處理設(shè)備;一個保持消息以及其他那些代表了用戶的信息的消息傳送服務;以及一個用于在無線設(shè)備與消息傳送服務之間保持消息以及其他信息同步的同步邏輯。
附圖簡述從以下結(jié)合附圖所進行的詳細描述中可以更好地理解本發(fā)明,其中

圖1描述的是用于實現(xiàn)本發(fā)明的原理的示范性網(wǎng)絡(luò)架構(gòu)。
圖2描述的是用于對數(shù)據(jù)進行壓縮的系統(tǒng)的一個實施例。
圖3a~c描述的是相關(guān)電子郵件消息的一個示范性序列。
圖4描述的是通過使用在先前消息中找到的冗余數(shù)據(jù)來壓縮數(shù)據(jù)的方法的一個實施例。
圖5描述的是用于執(zhí)行基于狀態(tài)的壓縮的設(shè)備的一個實施例。
圖6描述的是基于狀態(tài)的數(shù)據(jù)壓縮格式的一個實施例。
圖7描述的是根據(jù)本發(fā)明實施例而被用于對數(shù)據(jù)進行壓縮的碼字表。
圖8描述的是結(jié)合碼字來對數(shù)據(jù)進行壓縮的方法的一個實施例。
圖9描述的是協(xié)調(diào)多個其他壓縮模塊之間的數(shù)據(jù)壓縮任務的文本壓縮模塊。
圖10描述的是根據(jù)一個本發(fā)明實施例的壓縮數(shù)據(jù)格式。
圖11描述的是用于在無線設(shè)備與服務之間同步消息事務的系統(tǒng)的一個實施例。
圖12描述的是用于在無線設(shè)備與服務之間對消息事務進行同步的系統(tǒng)的改進實施例。
圖13描述的是用于確定是否進入批處理模式的方法。
圖14描述的是使用了多級批處理的發(fā)明實施例。
圖15描述的是使用了按順序控制功能的發(fā)明實施例。
圖16描述的是將同步標識碼映射到標準的標識碼的發(fā)明實施例。
圖17描述的是用于檢測和解決數(shù)據(jù)對象版本沖突的發(fā)明實施例。
圖18描述的是取代刪除命令和新建命令而將移動命令傳送到無線設(shè)備的發(fā)明實施例。
圖19a和b描述的是用于產(chǎn)生移動命令的方法的實施例。
具體實施例方式
在以下描述中,出于說明目的而對很多細節(jié)進行了闡述,以便提供關(guān)于本發(fā)明的全面理解。然而對本領(lǐng)域技術(shù)人員來說,很明顯,本發(fā)明可以在不具備其中某些特定細節(jié)的情況下得到實施。在其他實例中,為了避免本發(fā)明的基本原理不清楚,眾所周知的結(jié)構(gòu)和設(shè)備都是以框圖形式顯示的。
示范性網(wǎng)絡(luò)架構(gòu)圖1描述了用于實施這里所述的壓縮技術(shù)的網(wǎng)絡(luò)架構(gòu)的一個實施例。圖1描述的“客戶站點”120可以是供多個服務器103與客戶機110進行通信的任何局域網(wǎng)或廣域網(wǎng)。例如,所述客戶站點可以包括由單個公司維護的所有服務器和客戶機。并且在這里可以對服務器103進行配置,以便為網(wǎng)絡(luò)用戶提供多種不同的消息傳遞和組件服務102(例如電子郵件、即時消息傳遞、口歷等等)。在一個實施例中,這些服務是由Microsoft ExchangeTM提供的。然而,本發(fā)明的基本原理并不局限于任何一種特定的消息傳遞/組件平臺。
在本發(fā)明的一個實施例中,接口100將服務102保持的數(shù)據(jù)對象(例如電子郵件消息、即時消息、日歷數(shù)據(jù)等等)經(jīng)由外部數(shù)據(jù)網(wǎng)絡(luò)170和/或無線服務供應商網(wǎng)絡(luò)171轉(zhuǎn)發(fā)到多個無線數(shù)據(jù)處理設(shè)備(在圖1中是用無線設(shè)備130表示的)。舉例來說,如果服務102包括電子郵件數(shù)據(jù)庫,那么接口100會將任何一封到達服務102上的用戶郵箱的新電子郵件傳送到用戶的無線數(shù)據(jù)處理設(shè)備130(經(jīng)由一個或多個網(wǎng)絡(luò)170和/或171)。作為選擇或補充,服務102可以在請求時將電子郵件提供給用戶的本地計算機(例如客戶機110)(也就是說,由此用戶會在離開辦公室時在其無線設(shè)備130上收到電子郵件,當在辦公室時,用戶是在其個人計算機110上收到電子郵件的)。與此可逆地,從用戶無線數(shù)據(jù)處理設(shè)備130發(fā)送的電子郵件是經(jīng)由接口100傳送到服務102的。
在一個實施例中,接口100是一個適合與特定服務120一起工作的軟件模塊。然而應該指出的是,接口100可以在符合本發(fā)明基本原理的同時通過硬件方式或是軟件與硬件的組合方式來實現(xiàn)。
在一個實施例中,外部數(shù)據(jù)網(wǎng)絡(luò)170包括多個服務器/客戶機(未顯示)以及其他那些用于在接口100與無線設(shè)備130之間傳送數(shù)據(jù)的網(wǎng)絡(luò)硬件(例如路由器、集線器等等)。在一個實施例中,接口100將數(shù)據(jù)封裝在一個或多個數(shù)據(jù)包中,其中包含了一個用于識別無線設(shè)備130的地址(例如24比特的Mobitex訪問號(“MAN#”))。外部數(shù)據(jù)網(wǎng)絡(luò)179則將數(shù)據(jù)包傳送到無線服務供應商171,該服務供應商轉(zhuǎn)而將分組經(jīng)由無線通信鏈路傳送到無線設(shè)備130。在一個實施例中,所述無線服務供應商網(wǎng)絡(luò)是一個雙向?qū)ず艟W(wǎng)絡(luò)。然而在符合本發(fā)明基本原理的同時,在這里也可以使用多種其他類型的網(wǎng)絡(luò)(例如CDMA2000、PCS等等)。
應該指出的是,網(wǎng)絡(luò)服務供應商網(wǎng)絡(luò)171與外部數(shù)據(jù)網(wǎng)絡(luò)170(以及關(guān)聯(lián)的接口100)可以由同一機構(gòu)所擁有/運營,作為選擇,外部數(shù)據(jù)網(wǎng)絡(luò)170的擁有者/運營商也可以從無線服務供應商網(wǎng)絡(luò)那里租用無線服務。本發(fā)明的基本原理并不局限于任何特定的服務方案。
在本發(fā)明的一個實施例中,服務102(例如電子郵件數(shù)據(jù)庫)與無線數(shù)據(jù)處理設(shè)備130是完全同步的。因此,在無線設(shè)備130上執(zhí)行的任何操作都會在服務102上自動更新,在服務102上執(zhí)行的任何事務都會自動反映給設(shè)備130。這種同步更新可以包括但不局限于設(shè)備配置修改、日歷更新、電子郵件消息更新、即時消息、待辦事宜列表更新和/或任何其他類型的個人信息管理事務或公司數(shù)據(jù)管理事務(在下文中將其稱為“消息事務”)。例如,當用戶使用設(shè)備130查看電子郵件消息時,一個表明用戶查看了消息的指示將會發(fā)送到服務102(經(jīng)由接口100)。相應地,如果用戶隨后經(jīng)由客戶機110連接到電子郵件,那么電子郵件將會呈現(xiàn)出已被查看的狀態(tài)。其他那些諸如刪除消息、編檔活動(例如將消息移動到特定文件夾)、消息響應、會議確認/添加等操作則是在服務102上自動反映的,這樣一來,(如果正在使用其中一個設(shè)備的話)在服務102、設(shè)備130和/或客戶機110之間提供了完全的同步。
當前的消息傳遞系統(tǒng)沒有提供完全的無線設(shè)備同步。同樣,這些系統(tǒng)還是需要用戶具有配備了用于無線設(shè)備連接的底座的臺式機,以便接收某些類型的同步更新。這種情況的一個原因在于先前的系統(tǒng)是以相對低效的方式處理消息事務的,這些系統(tǒng)僅僅使用了有限的壓縮技術(shù),由此完全同步變得不切實際。同樣,為了實現(xiàn)完全的無線同步,本發(fā)明的實施例使用了以下給出的一種或多種壓縮和/或消息處理技術(shù)。
基于狀態(tài)的壓縮圖2更詳細地描述了無線數(shù)據(jù)處理設(shè)備130以及接口100的某些方面。在一個實施例中,數(shù)據(jù)處理設(shè)備130包括一個本地數(shù)據(jù)壓縮/解壓縮模塊225(在下文中將其稱為“編解碼模塊225”)和一個本地消息高速緩存器210。本地編解碼模塊225則使用這里描述的各種壓縮技術(shù)來對輸出數(shù)據(jù)進行壓縮,并且對輸入數(shù)據(jù)進行解壓縮。
本地消息高速緩存器210包括一個用于臨時保存輸入消息的輸入隊列211和一個用于保存輸出消息的輸出隊列212。盡管在圖2中將本地消息高速緩存器210描述為分離的邏輯單元,但是所述高速緩存器也可以只包含一個根據(jù)高速緩存替換策略來保存輸入和輸出消息的單個存儲塊。在一個實施例中,消息是利用先入先出(“FIFO”)替換策略而被保存在輸入隊列和/或輸出隊列中的。然而在這里也可以使用符合本發(fā)明的基本原理的多種其他緩存替換技術(shù)。例如,在這里可以實施最近最少使用(“LRU”)策略,在這種策略中,與更頻繁使用的消息相比,本地編解碼模塊225極少使用的消息在緩存器中保存的時段相對較短。如下所述,本地編解碼模塊225更頻繁使用的消息通常包含了構(gòu)成通用電子郵件線程的一部分的消息,而較少使用的消息則包括垃圾郵件或“兜售信息(spam)”(換言之,對這些消息來說,只存在一種單獨和單向的消息傳遞)。
在一個實施例中,接口100包括一個遠程數(shù)據(jù)壓縮/解壓縮模塊220(在下文中將其稱為“編解碼模塊220”)和一個具有遠程輸入隊列201以及遠程輸出隊列202的遠程消息高速緩存器200。編解碼模塊220根據(jù)這里描述的技術(shù)對傳送到無線數(shù)據(jù)處理設(shè)備130的消息進行壓縮,并且對接收自數(shù)據(jù)處理設(shè)備130的消息進行解壓縮。遠程消息高速緩存器200臨時保存了向/從數(shù)據(jù)處理設(shè)備130傳送的消息(例如通過使用以上描述的多種高速緩存替換算法)。在一個實施例中,在接口100上實施的高速緩存替換策略與無線設(shè)備130上實施的策略是相同的(換言之,這樣一來,高速緩存的內(nèi)容在遠程高速緩存器200與本地高速緩存器210之間是同步的)。
圖3a~c對用于描述本發(fā)明不同方面的示范性電子郵件消息序列進行了說明。圖3a描述的是在邏輯上分為報頭信息部分305和文本信息部分310的序列(與多數(shù)電子郵件消息相類似)中的初始電子郵件消息300。此外在圖3a中還顯示了一個附件320,它表示的是附著在消息上的文檔以及一個可以由發(fā)送方(也就是John Smith的)的電子郵件客戶端自動插入所述消息中的電子簽名。
圖3b描述的是用戶Roger Collins為了應答初始電子郵件消息所傳送的序列中的第二電子郵件消息301。如新報頭信息335所示,這個消息直接傳送到初始發(fā)送方John Smith,并且傳送到初始電子郵件消息所抄送的用戶Tom Webster。此外,所述消息還抄送到初始消息送抵群組中的其他每個人。這個能在大多數(shù)電子郵件客戶端找到的“回復全部”的特征提供了一種允許個人的公共群組查看電子郵件消息序列的簡單機制。
如圖3b所示,實際上,在新的電子郵件消息中復制了初始電子郵件消息的文本310。這個“答復歷史”的特征是大多數(shù)電子郵件客戶端所共有的,由此允許對公共群組中某個人的注解序列進行追蹤,所述追蹤是從一個電子郵件消息到下一個電子郵件消息。此外這其中還描述了由應答方(RogerCollins)電子郵件系統(tǒng)在初始電子郵件文本各行的開端插入的多個字符316。這個特征是某些(但是并非全部)電子郵件系統(tǒng)所共有的,它使得用戶能對新舊文本加以區(qū)分。
因此,即使在電子郵件序列中的初始電子郵件答復之后,電子郵件歷史(也就是從先前消息中復制的文本部分和附件)也還是表示了整個消息的一個相當大的部分,由此導致要在無線網(wǎng)絡(luò)上傳送電子郵件文本部分和電子郵件報頭部分中的大量冗余信息。
圖3c描述的是第二電子郵件收件人答復第二電子郵件發(fā)件人以及抄送群組中所有其他成員的序列中的最終電子郵件消息302。如所述,電子郵件消息302中的唯一非冗余信息是若干行文本355。所有群組成員的電子郵件地址與先前兩個消息中的地址都是相同的(盡管是在不同的域中切換的,但是基本地址都是相同的),此外,在這里復制了包括附件320在內(nèi)的來自先前消息300、301的文本和報頭,并且只對它們進行了少許修改(例如電子郵件系統(tǒng)插入了附加的“>”字符)。
本發(fā)明的一個實施例是通過利用這種高冗余度來壓縮電子郵件消息的。特別地,在這里將會使用指向冗余部分的指針來取代那些在高速緩存器200、201保存的先前電子郵件消息中識別的一部分新的消息,而不是發(fā)送新的電子郵件消息所包含的實際內(nèi)容。例如在消息302中,來自消息301的所有冗余內(nèi)容都可以由一個在用戶無線設(shè)備高速緩存器保存的消息中標識冗余內(nèi)容的指針所替換。以下將對這些和其他壓縮技術(shù)進行更詳細的描述。
圖4描述的是通過使用在先前消息中找到的冗余內(nèi)容來壓縮消息的方法的一個實施例。這個實施例是相對于圖5來進行描述的,其中圖5更詳細地描述了消息接口100的某些方面。在400,接口100收到一個將要傳送到特定無線數(shù)據(jù)處理設(shè)備130的消息(或一組消息)。在405中,通過對這個消息進行分析來確定它是否包含了那些在先前消息中找到的冗余數(shù)據(jù)。在一個實施例中,這個處理是借助了圖5所示的消息標識邏輯500來完成的,其中所述消息標識邏輯500對先前電子郵件消息進行掃描,以便查找那些包含冗余數(shù)據(jù)的消息。
消息標識邏輯500可以使用多種消息標識參數(shù)505來搜索消息。例如在一個實施例中,消息標識邏輯一開始嘗試確定所述新消息是否是消息序列中的最新的一個消息。在這里,消息標識邏輯500可以使用多種技術(shù)來做出這種判定。例如在一個實施例中,消息標識邏輯500會在消息的主題字段中搜索那些表明所述新消息是答復先前消息的字串。如果識別出這些字符串,那么消息標識邏輯500可以在序列中尋找最近的消息(例如根據(jù)那些在主題字段中發(fā)現(xiàn)的文本)。回過來參考圖3a~c,舉例來說,一旦收到消息302,那么消息標識邏輯500可以根據(jù)其主題字段中包含“REPatent Issues”這一事實而將消息302識別為序列的一部分。標識邏輯500可以忽略RE(如果消息是轉(zhuǎn)發(fā)的,則忽略FW)并且在文本中掃描另一個與主題字段剩余部分(即“Patent Issues”)相匹配的消息,此外還對主題報頭包含該文本的最近的先前消息進行識別。
如果消息主題不包含RE或FW這類表明消息是某個序列的一部分的字符,那么消息標識邏輯500可以使用不同的識別參數(shù)505集合來識別先前消息。例如在一個實施例中,消息標識邏輯500會搜索那些在報頭中列舉了新消息發(fā)送方(例如將其作為收件人)的最近消息。此外,消息標識邏輯500還可以搜索某些表明消息包含相關(guān)數(shù)據(jù)的關(guān)鍵字或單詞組合(例如圖3a~c中描述的電子簽名315)。在一個實施例中,消息標識邏輯500可以產(chǎn)生一個區(qū)分優(yōu)先級的消息子集,其中所述子集(基于所定義的參數(shù)505)是最有可能包含了那些在新消息中找到的內(nèi)容的候選者。
如果在410判定先前消息中沒有冗余數(shù)據(jù),那么在420中將會通過應用另外的壓縮技術(shù)來壓縮消息,以下對其中某些技術(shù)進行了描述。然而,如果先前消息中存在冗余數(shù)據(jù),那么在415,冗余數(shù)據(jù)將會由那些對無線設(shè)備130的高速緩存器210上(或是接口100的告訴緩存器200中的,這取決于消息傳送的方向)的冗余數(shù)據(jù)進行標識的指針/偏移所取代。如圖5所述,在一個實施例中,這種處理是由基于狀態(tài)的壓縮邏輯510完成的,其中所述邏輯是通過使用消息標識邏輯500識別的消息來產(chǎn)生指針/偏移的。
圖6描述的是基于狀態(tài)的壓縮邏輯510所生成的基于狀態(tài)的壓縮格式的一個實施例。如所示,該格式包括由偏移602、612,長度603、613以及消息標識數(shù)據(jù)604、614分離的一個或多個非冗余數(shù)據(jù)組塊601、610、620,其中所述消息標識數(shù)據(jù)識別的是來自先前消息的數(shù)據(jù)組塊。舉例來說,如果使用圖6的壓縮格式來對圖3c所示的消息302進行編碼,那么可以將新文本302作為非冗余數(shù)據(jù)601加以保存,并且所有的消息301都可以通過特定消息ID 604來進行識別,在所述消息ID之后則是一個用于標識從何處開始拷貝來自消息301的內(nèi)容的偏移602,以及一個用于對從所述偏移所識別的地址點開始讀取的內(nèi)容量進行指示的長度603。
同樣,如果由基于狀態(tài)的壓縮邏輯510來對那些源自圖3b的消息301進行編碼,那么新的文本部分340可以作為非冗余數(shù)據(jù)601加以保存。此外,電子郵件系統(tǒng)316自動插入的各個“>”字符都可以作為由偏移和長度所識別的冗余數(shù)據(jù)行所分離的非冗余數(shù)據(jù)來進行傳送(換言之,在由新消息中的長度/偏移所識別的消息300的各冗余行末端將會插入新的非冗余“>”)。
在一個實施例中,當用戶長期未曾接收消息時,在電子郵件服務102上,在其收件箱中可能會建立很多相關(guān)消息(例如消息300~302)。因此在一個實施例中,接口100將會通過使用那些指向尚未到達用戶無線設(shè)備高速緩存器的消息的指針來應用上述基于狀態(tài)的壓縮技術(shù)。也就是說,一旦用戶重新連接到服務,那么接口100會確定將群組中的消息(保存在服務102上的用戶收件箱中)在無線數(shù)據(jù)處理設(shè)備130的高速緩存器210中的保存位置。
再次參考圖4和5,一旦基于狀態(tài)的壓縮邏輯510結(jié)束壓縮消息,則可以將那些經(jīng)過壓縮的消息515傳送到用戶無線設(shè)備130。做為選擇,在420也可以使用另外的壓縮技術(shù)(如下所述)來對消息進行進一步壓縮。一旦充分地壓縮了消息,則所述消息將會傳送到無線設(shè)備(在425),在那里可以使用編解碼模塊225來對其進行解壓縮。
上文是在接口100的環(huán)境中對基于狀態(tài)的壓縮技術(shù)進行描述的,其中接口100在向無線設(shè)備130傳送消息之前對消息進行了壓縮。然而應該了解,在將消息傳送到接口100之前,無線設(shè)備130也可以執(zhí)行相同的壓縮技術(shù)(例如長度/偏移可以識別遠程消息高速緩存器200中保存的冗余數(shù)據(jù))。此外,雖然上文是相對于電子郵件消息來進行描述的,但是所述壓縮技術(shù)也可用于壓縮多種其他消息類型(例如新聞組文章、即時消息、HTML文檔等等)。
補充/備選的壓縮技術(shù)作為對于上述基于狀態(tài)的壓縮技術(shù)的補充或替換,在這里還可以使用多種另外的壓縮技術(shù)。
在本發(fā)明的一個實施例中,常見的字符和字符串(也就是那些經(jīng)常在無線設(shè)備130與接口100之間傳送的內(nèi)容)是用相對較小的碼字編碼的,不常見的字符或字符串則是用相對較大的碼字編碼的。為了能以這種方式來對數(shù)據(jù)進行編碼,在這里執(zhí)行統(tǒng)計分析來識別常見字符串。其中根據(jù)統(tǒng)計分析而產(chǎn)生了一個與圖7所述表格相類似的查找表,并且在無線設(shè)備130與接口100上保持了所述查找表。如所示,某些像是“@good.com”這類用于公司電子郵件域的字符串以及“(408)720-”之類的公司電話號碼前六位數(shù)字可能是很常見的。這樣一來,使用相對較小的碼字來替換這些常見比特串可以產(chǎn)生極大的壓縮量。回過來參考消息300~302,通過使用這種壓縮技術(shù),可以用一個只具有若干比特的短碼字來替換在每個消息報頭中多次遇到的域“@good.com”。
在一個實施例中可以為接口100與無線數(shù)據(jù)處理設(shè)備130之間傳送的不同類型的數(shù)據(jù)產(chǎn)生不同的查找表,由此在識別常見字符串時將會實現(xiàn)更大的精度。例如,在這里可以與那些對公司通訊錄進行壓縮的碼字所不同的碼字集合來壓縮電子郵件消息。因此,對最常見的電子郵件域來說,用于壓縮電子郵件消息的碼字表中有可能包含了相對較小的碼字,而公司通訊錄很可能也包含了用于公司地址和公司電話號碼的一部分的相對較小的碼字。
此外在一個實施例中可以為某種類型的數(shù)據(jù)內(nèi)部的各個字段產(chǎn)生唯一的碼字表。例如,在這里可以將一個與用于電子郵件消息剩余字段的碼字表所不同的碼字表用于電子郵件報頭字段。同樣,在這里為公司通訊錄的“地址”字段產(chǎn)生的碼字表可以與用于“電子郵件地址”字段的碼字表不同,由此在生成碼字集的時候?qū)崿F(xiàn)更高的精度。
與采用統(tǒng)計方式為各個字段產(chǎn)生并傳送一個碼字表所不同,作為選擇或是補充,本發(fā)明的一個實施例涉及的是與英語字典相類似的“已知”碼字的字典,由此不需要將字典與數(shù)據(jù)一起傳送。例如在一個實施例中,可以將無線設(shè)備130和/或接口100上保持的拼寫檢查字典用于壓縮內(nèi)容。與發(fā)送電子郵件消息的實際文本所不同,所述消息中的每個單詞都是通過其在拼寫檢查詞典中的條目來進行標識的(例如,單詞“meeting”可以由條目#3944所替換)。
其中一種特別適合前述壓縮類型的數(shù)據(jù)類型則是在大多數(shù)公司電子郵件服務器上保持的公司通訊錄。在本發(fā)明的一個實施例中,公司通訊錄最初是通過一個與客戶機110的直接連接而同步的(參見圖1)。在初始同步時(例如在無線設(shè)備直接連接到客戶機110的時候)將會產(chǎn)生針對常見字母和“標記”(例如姓名、地區(qū)碼、電子郵件域))的統(tǒng)計。然后,所述統(tǒng)計和標記將被用于壓縮上述數(shù)據(jù)。此后,任何相對于通信錄的改變都是無線傳送的。在后續(xù)更新時,雙方(無線設(shè)備130與接口100)的壓縮器都會查閱所收集的較早統(tǒng)計值,由此在不傳送任何新統(tǒng)計值或單詞的情況下進行壓縮。
所述更新可以代表整個通信錄的一小部分,但是仍可能表示大量字節(jié),當在指定公司對使用中的全部無線設(shè)備成倍地進行所述更新的時候則更是如此。因此,如上所述,通過減少傳送通信錄更新所需要的數(shù)據(jù)量,可以極大節(jié)約傳送成本。此外,由于所述通信錄相對于客戶機上的可用存儲器而言過于龐大,因此通過在客戶機上以壓縮形式保存通信錄,可以允許保存更多條目。
在一個實施例中,為了節(jié)約附加空間,只有公司通訊錄的某些字段才是以無線方式進行同步的。舉例來說,只有姓名、地址、電子郵件和電話號碼字段可以采用無線方式進行更新。然后則可以在無線設(shè)備再次直接連接到客戶機110的時候更新通信錄的所有字段。
圖8描述了用于產(chǎn)生碼字表的方法的一個實施例。在810中對由標準的Huffman壓縮算法所使用的某些字節(jié)串的出現(xiàn)進行了計數(shù)。在820則根據(jù)某個字段類型的固有邊界而為所述字段產(chǎn)生某些“標記”。舉例來說,如上所述,在這里可以將電子郵件地址分成“.com”以及如上所述的用于電子郵件字段的“@good.com”。而電話號碼則可以分成“(650)”以及用于通訊錄字段的“(650)620-”。
在830,通過使用與等同于計數(shù)比特串出現(xiàn)的方式來計算標記的出現(xiàn),并且假設(shè)如果出現(xiàn)一個四字節(jié)標記,則為所述計數(shù)加4。在840中產(chǎn)生了所有字母以及出現(xiàn)過一次以上的標記的碼字表(也可以是出現(xiàn)過一次以上的最高的N個標記)。所述碼字表的一部分將會包含標記本身。在850,通過使用字符和標記的碼字表來壓縮每一個記錄,然后在860中,碼字表和壓縮記錄都被發(fā)送到無線設(shè)備130。
在一個實施例中,碼字表是由時戳之類的唯一號碼識別的。接口100和無線設(shè)備130將會保存所述表。在無線設(shè)備130上可以仍舊將記錄保持在壓縮狀態(tài),以便節(jié)約空間,并且只在打開記錄的時候才對所述記錄進行解壓縮。在后續(xù)同步上,無線設(shè)備130可以請求對公司詞典進行更新。作為請求的一部分,無線設(shè)備130可以包括分配給碼字表的唯一號碼。如果無線設(shè)備130因為某種原因而不具有初始碼字表,那么它可以通過發(fā)送一個ID的特殊符號而向接口100發(fā)出通知(例如通過使用一個代表ID的“0”)。同樣,如果主機因為某種原因而沒有識別出ID,那么它可以忽略初始碼字表并且創(chuàng)建新的碼字表。
然而在大多數(shù)情況下,無線設(shè)備130和接口100將會就ID的內(nèi)容達成一致,更新的壓縮將會使用先前計算得到的已有碼字表。例如,與現(xiàn)有雇員具有相同電子郵件域和電話前綴的新雇員將會恰當?shù)剡M行壓縮。由于所述更新應該是總的通信錄的一小部分,因此所述更新很可能會非常類似于現(xiàn)有數(shù)據(jù)。
本發(fā)明的一個實施例是將字母數(shù)字字符(例如標準的ASCII文本)轉(zhuǎn)換成專有的可變比特字符格式,由此為常見字符分配相對較少的比特,并且為不常見的字符分配相對較多的比特。而在一個特定實施例中則是為大多數(shù)字符分配6個比特,并且為所有其他比特分配12個比特。這個實施例則可以通過如下所述的換碼功能而與如上所述的另一種壓縮形式無縫整合(例如消息指針生成、碼字查詢等等)。
大多數(shù)消息中都具有ASCII文本。舉例來說,電子郵件中的TO字段或通訊錄條目中的姓名通常都包括ASCII文本。大多數(shù)ASCII文本使用了7個比特/字符。典型的例外情況則是類似 或的重音字符。然而文本字段中的大多數(shù)文本實際上都由a~z、0~9、空格以及少量符號組成。
如上所述的使用碼字表的文本壓縮是一種對大量文本進行編碼的有效方式,因為它收集了關(guān)于指定字符出現(xiàn)頻率的統(tǒng)計信息并且以更少比特來表示更頻繁出現(xiàn)的字符。例如,字母“e”比字母“k”出現(xiàn)的更頻繁,因此可以假設(shè)所述字母是在3個比特中表示的。此外它還特別適合壓縮特定數(shù)據(jù)字段中的數(shù)據(jù),所述特定數(shù)據(jù)字段已知是,相同字符串的出現(xiàn)是有規(guī)則的(例如電子郵件域“@good.com”)。然而,與之相關(guān)的一個問題在于所述技術(shù)需要使用經(jīng)過編碼的文本來發(fā)送和保存統(tǒng)計信息。對少量文本(例如很短的電子郵件消息)來說,這將會變得不切實際。
一個六比特的字符格式代表了64個字符(26=64)。在一個實施例中,以下符號是使用六個比特編碼的便于表示字串末尾的零、“a”到“z”、“0”到“9”、“空格”以及大多數(shù)常見符號(例如點、逗號、制表符、換行、@、括弧、!、冒號、分號、單雙引號等等)。上述值占了64個值中的48個值,由此僅僅剩余16個值。
在一個實施例中,剩余的16個值將被用于下列換碼值(1)其中四個值與接下來的6個比特組合,從而允許在兩個6比特值中對任何可能的ASCII值進行編碼。它顧及了任何大寫字母、不在前十位的符號、重音字符等等。舉例來說,二進制值60、61、62和63各自可以識別另外的6比特值,其中包含了基本字符信息。由此規(guī)定了具有附加的256個字符的編碼(4*64=256),對于編碼整個US-ASCII字符集來說,這都是綽綽有余的。
(2)轉(zhuǎn)換鍵鎖定。在后續(xù)轉(zhuǎn)換鎖定鍵關(guān)閉移位之前將會一直開啟轉(zhuǎn)換。對字母來說,這種操作類似于大寫鎖定。對數(shù)字和符號來說,這種操作則不會有任何效果。作為選擇,第二組數(shù)值可以在開啟轉(zhuǎn)換鎖定時定義(例如另外的“前十位”符號列表)。
在一個實施例中,剩余的11個六比特字符都是“可安裝換碼值”,由此提供了一個或多個標準或定制的壓縮器。例如,電子郵件中的TO、FROM、CC以及BCC字段全都包含在由分號分離的電子郵件地址列表中。同樣,在這里還可以定義下列特殊換碼值(1)客戶/用戶的電子郵件地址可以轉(zhuǎn)換成一個六比特值;(2)客戶/用戶域可以轉(zhuǎn)換成一個六比特值(例如將“@Good.Com”變成六個比特);(3)“常見”域名和后綴可以轉(zhuǎn)換成一個六比特值以及一個六比特變元(舉例來說,“常見”列表可以是最常見姓名中的64個姓名,并且可以包括“@aol.com”、“@webrv.com”、“.com”、“.net”、“.org”、“.gov”、“.us”、“.uk”等等);以及(4)電子郵件中“最近使用”的姓名可以轉(zhuǎn)換成一個六比特值以及一個六比特變元。消息中的別處則是所取決的電子郵件ID。所述變元可以包括用于識別字段(TO、FROM、CC或BCC)的兩個比特,以及用于識別所述字段中的前十六個電子郵件地址的四個比特。
新字符可以無縫地與上述其他壓縮類型結(jié)合使用(例如碼字、重復字符、LZ壓縮、字典查找和/或查閱在先消息)。如圖9所述的一個實施例,文本壓縮模塊900根據(jù)如上所述的6比特字符格式來對文本進行壓縮,并且在多種其他壓縮模塊之間協(xié)調(diào)壓縮功能,在所述實施例中,這其中包含了一個通過查閱在先高速緩存信號來壓縮消息的基于狀態(tài)的壓縮模塊910(如上所述),此外還包括一個使用碼字(如上所述,舉例來說,通過編碼經(jīng)過統(tǒng)計分析的標記以及查閱拼寫檢查字典等等)來壓縮常見字符的碼字壓縮模塊920,此外,如替換壓縮模塊930所示,在所述系統(tǒng)上也可以使用多種其他類型的壓縮,以便獲取更高的壓縮等級(例如標準的LZ壓縮)。
圖10描述的是依照本發(fā)明這個實施例編碼的電子郵件消息302(來自圖3c)的示范性部分。從電子郵件消息302的右上角開始,文本壓縮模塊900開始編碼第一組字符(也就是說,它是以收件人字段“To”開始的)。結(jié)合各個字符,所述模塊與其他壓縮模塊910、920、930進行協(xié)調(diào),以便確定這些模塊是否可以實現(xiàn)更大的壓縮。如果不能,則文本壓縮模塊900根據(jù)六比特字符格式來對文本進行編碼。然而,如果可以結(jié)合其他壓縮模塊910、920、930之一來獲取更高壓縮度,則文本壓縮模塊900會將壓縮任務切換到所述模塊,并且插入一個表明所述模塊完成壓縮任務的位置的“換碼”比特序列。
舉例來說,如圖10所示,前三個字符(“TO”)之后的換碼序列“110010”表明碼字生成模塊920將對后續(xù)數(shù)據(jù)部分進行壓縮。在操作中,一旦到達電子郵件消息中的這個點,則碼字生成模塊920會向文本壓縮模塊900告知它可以使用碼字(例如使用標記化的電子郵件地址)來獲得更高的壓縮度。相應地,換碼序列“110010”之后的序列“1011001000”是表示標記化電子郵件地址“Collins,Roger”<rcollins@_good.com>的碼字。做為選擇,在這里也可以根據(jù)系統(tǒng)所用特定碼字集(舉例來說,其中一個用于個人的姓名,另一個則用于域“@good.com”)而使用兩個或更多碼字來對電子郵件地址進行編碼。然后如圖10所示,文本壓縮模塊900可以選擇標記化電子郵件地址之后的編碼處理(也就是說,在回車字符之后跟隨的是文本“FROM”)。
在電子郵件報頭信息被編碼之后,新文本塊355是通過使用6比特字符格式而被編碼的。當然,根據(jù)碼字生成模塊920使用的碼字和/或系統(tǒng)上的先前電子郵件,新文本塊355的某些部分也可以通過使用碼字和/或指向先前消息的指針而被編碼。緊隨文本塊355的是,在對消息進行了分析之后,基于狀態(tài)的壓縮模塊910向文本壓縮模塊900告知它可以通過識別那些在先前消息中發(fā)現(xiàn)的內(nèi)容而實現(xiàn)更高的壓縮度。同樣,在這里將會產(chǎn)生一個換碼序列“110011”,以便指示基于狀態(tài)的壓縮模塊910從該點開始執(zhí)行壓縮。然后,基于狀態(tài)的壓縮邏輯910使用一個消息ID碼來識別先前電子郵件消息(表示的是信息301),此外還產(chǎn)生表明電子郵件消息內(nèi)部具體內(nèi)容的偏移和長度(例如使用如上所述的一種或多種基于狀態(tài)的壓縮技術(shù))。
應該指出的是,圖10所示的具體實施例只是出于描述目的。根據(jù)系統(tǒng)所用碼字和/或系統(tǒng)上保存的先前消息,電子郵件消息302的實際編碼可以不同于所描述的內(nèi)容。舉例來說,如上所述,文本塊355可以通過使用碼字和/或指向先前消息的指針來進行編碼,并且可以使用六比特字符格式來進行編碼。
此外還可以使用多種補充/備選的壓縮技術(shù)(例如替換壓縮模塊930所表示的技術(shù))。在一個實施例中,某些類型的數(shù)據(jù)并不是在無線數(shù)據(jù)處理設(shè)備130與接口100之間以無線方式傳送的。例如在一個實施例中,當設(shè)備在相當一段時間未能接收到消息(例如一個星期),一開始只會將消息報頭傳送到設(shè)備130,由此可以避免過長的下載周期(也就是將所有那些在無效周期接收的消息全都傳送到設(shè)備)。作為選擇或是補充,在一個實施例中,如果在延長的時段仍未與設(shè)備取得聯(lián)系,那么在設(shè)備恢復聯(lián)機時只會把相對較新的消息(例如在24小時周期接收的)傳送到所述設(shè)備。同樣,在一個實施例中,當用戶是抄送收件人和/或當電子郵件來自不同于用戶收件箱的文件夾時,只有將電子郵件報頭信息(例如指示主題和發(fā)件人的信息)才會被傳送到無線設(shè)備130。
在一個實施例中,在設(shè)備130上僅僅更新了某些字段。例如對公司或個人通信錄來說,只有姓名、電子郵件地址和電話號碼字段會在設(shè)備130上得到同步。如果設(shè)備直連到客戶機,那么可以更新所有字段。
在一個實施例中,在將電子郵件消息傳送到設(shè)備130之前,從所述消息中剝離了某些細節(jié),從而使得所述消息更為簡潔。舉例來說,在這里只傳送某些指定的報頭信息(例如To、From、CC、日期、主題、正文等等)。同樣,在這里也可以截斷超過某個大小的主題行(例如20個字符之后)。此外,在這里還可以不傳送附件以及多種格式的對象(例如嵌入的圖片)。在一個實施例中,當用戶在輸出消息上將其自身列舉為抄送(CC)收件人的時候,這個消息是不會回送到無線設(shè)備130的。
雖然可以不將附件傳送到無線設(shè)備130,但是在一個實施例中,用戶仍舊可以將附件從無線設(shè)備轉(zhuǎn)發(fā)給其他人(當然,所述附件是保存在電子郵件服務器上的)。此外在一個實施例中,響應于來自無線設(shè)備130的用戶命令,可以將附件發(fā)送給一臺傳真機。因此,如果用戶離開辦公室并且需要檢查某個特定附件,那么他可以輸入附近傳真機的號碼并且將此信息傳送到接口100。然后,接口100使用一個用于附件的文件類型(例如Word、PowerPoint等等)的查看器來打開附件,以及使用用戶輸入的傳真號碼并經(jīng)由傳真機調(diào)制解調(diào)器來傳送文檔。因此,用戶是可以在未曾在設(shè)備上接收附件的情況下查看所述附件的。
消息事務的批處理如圖11所示,在某些條件下,在設(shè)備130與服務102之間保持完全同步有可能會耗費大量無線帶寬。舉例來說,如果用戶在延長的時段或時間中離開范圍(例如將設(shè)備關(guān)閉),那么在無線設(shè)備回到范圍以內(nèi)的時候,有可能會有多個消息連續(xù)從接口100傳送到無線設(shè)備130。當然,用戶在某些情況下是根本不必處在范圍以外的。與此相反,用戶可能只是連續(xù)接收/傳送很多電子郵件消息。
如所述,一旦用戶開始在設(shè)備130上查看消息,那么消息事務更新將會連續(xù)不斷地發(fā)送到接口100。舉例來說,在用戶讀取消息1的時候,一個表明消息已被讀取的指示將會傳送到接口100。這個處理之后可以是在來自接口100的確認(例如表明接收到信息)。同樣,當用戶讀取并且隨后刪除消息2時,那些表明已經(jīng)讀取并刪除了消息的單獨指示將會分別傳送到接口100,隨后則是對各個事務進行確認。
由于設(shè)備130與接口100之間的每一個單獨數(shù)據(jù)傳輸都可以包含大量開銷(設(shè)備地址130、服務地址102之類的報頭信息以及多種其他類型的報頭/控制信息),并且因為各個消息都有可能需要來自接口100的確認,所以以這種方式進行的消息同步可能會耗費大量帶寬。換句話說,實際數(shù)據(jù)(例如數(shù)據(jù)庫更新)與控制數(shù)據(jù)(例如報頭數(shù)據(jù))之間的比率相對較低。此外,這類連續(xù)數(shù)據(jù)傳送往往要消耗明顯更多的功率(舉例來說,由于設(shè)備的無線電裝置沒有足夠長的空閑時間以進入低功率模式)。
因此,在本發(fā)明的一個實施例中,在某些條件下(如下所述)將會對設(shè)備130與接口100之間的數(shù)據(jù)事務進行組合或是執(zhí)行批處理,以便節(jié)約帶寬。舉例來說,如圖12所述,在這個實施例中,在對設(shè)備與服務102進行同步之前,在數(shù)據(jù)處理設(shè)備上執(zhí)行了多個消息事務。隨后,包含所有同步更新(例如查看和刪除消息、答復消息等等)的單獨傳送1201將會傳送到接口100,其后則是表明接收到了更新的單獨確認1202。
同樣,在某些條件下,在傳送到設(shè)備130之前,可以對服務102上的數(shù)據(jù)庫修改執(zhí)行批處理。舉例來說,如果用戶在辦公室閱讀和答復一系列電子郵件消息(例如來自客戶機110),那么由于上文闡述的原因,在相互獨立的情況下,將各個消息事務傳送到無線設(shè)備130有可能并不是非常有效的。同樣,在一個實施例中將會合并這些事務(或是其子集)并且將其同時傳送到無線設(shè)備130。
如圖12所示,在發(fā)起批處理的特定條件以及組合消息的特定方式可以分別以無線設(shè)備130和/或接口100中配置的處理參數(shù)1210、1220為基礎(chǔ)。例如在一個實施例中,如果用戶在相當長的時間段(例如2天)都沒有檢查消息,則觸發(fā)批處理。在這種情況下則預計一旦用戶開始檢查消息,那么他/她將會在相對較短的時段中執(zhí)行大量消息事務。然而應該指出的是,在這里可以在符合本發(fā)明基本原理的同時使用多種不同的批處理觸發(fā)器(例如預定時段中的兩個或更多的連續(xù)消息事務,由最終用戶設(shè)定的手動觸發(fā)等等)。
一旦觸發(fā)批處理,則可以對周期性間隔(例如每隔10分鐘)上執(zhí)行的消息事務進行組合,并且在各個間隔末端傳送所述事務。作為選擇或補充,一旦所組合的消息事務達到某個預定閾值(例如基于事務絕對數(shù)目和/或合并事務內(nèi)部包含的數(shù)據(jù)量),則可以同時傳送所組合的消息。此外也可以在符合本發(fā)明基本原理的同時使用多種其他消息組合參數(shù)。
在圖13中描述了用于執(zhí)行消息事務批處理的方法的一個實施例。在1301中,對當前信息事務條件進行評估(例如消息事務執(zhí)行頻率、發(fā)起上一個消息事務的時間等等)。在1305,確定當前條件是否匹配于執(zhí)行批處理所需要的閾值條件。舉例來說,如上所述,如果用戶的無線數(shù)據(jù)處理設(shè)備130在預定時段處于范圍以外和/或如果用戶在某個時段中沒有檢查其電子郵件,則可以調(diào)用批處理模式。
如果不滿足條件,那么在1310,系統(tǒng)仍處于標準的消息事務模式。然而如果滿足條件,那么在1315,系統(tǒng)(也就是無線設(shè)備130和/或接口100)將會根據(jù)所建立的批處理參數(shù)來處理消息。例如,設(shè)備130和/或接口100可以在這個階段組合那些在一個預定時段中發(fā)生的消息事務(或是那些導致產(chǎn)生指定數(shù)量的事務或是如上所述的數(shù)據(jù)量的消息事務)。
在1325中對是否再次滿足標準的消息處理條件進行判定。舉例來說,如果用戶的數(shù)據(jù)處理設(shè)備在進入批處理模式之后的預定時段均處于范圍以內(nèi),并且用戶周期性接收和快速答復消息,則這有可能導致系統(tǒng)恢復到標準的消息傳送模式。依照系統(tǒng)結(jié)構(gòu),不同的附加/替換條件可能會導致系統(tǒng)進入標準的消息處理模式。
多級批處理在本發(fā)明的一個實施例中則使用了兩級批處理一級是在客戶站點120,另一級是在位于外部數(shù)據(jù)網(wǎng)絡(luò)170上的數(shù)據(jù)中心。這個實施例是相對于圖14而被描述的,其中所述附圖14顯示的是一個以可通信方式經(jīng)由出站網(wǎng)關(guān)1413耦合到客戶站點、經(jīng)由無線網(wǎng)關(guān)1411耦合到無線網(wǎng)絡(luò)171的數(shù)據(jù)中心1410。
批處理邏輯1400在客戶站點提供了第一級批處理。特別地,在一個實施例中,當用戶同時執(zhí)行一組消息事務時,在將消息事務傳送到數(shù)據(jù)中心1410之前,批處理邏輯1400會在邏輯上組合這些消息事務。例如,當用戶刪除一批電子郵件消息或是將其從一個文件夾移動到另一個文件夾的時候,單獨刪除/移動事物組成的塊是作為一個整體傳送的(即與傳送一系列單獨的刪除/移動并等待來自中心1410的等量單獨確認相反)。此外,消息事務塊臨時保存在遠程消息高速緩存器200(如上文相對圖2所述)或客戶站點的備選高速緩存器中。
在數(shù)據(jù)中心1410,一開始就將執(zhí)行了批處理的消息事務保存在一個輔助高速緩存器中,并且在此將其稱為“消息交換機”1412。在接收和保存了消息事務塊之后,消息交換機會向批處理邏輯1400發(fā)送一個塊應答,所述邏輯隨后從遠程消息高速緩存器200中刪除消息事務塊。作為選擇,批處理邏輯1400可以在某個預定時間段內(nèi)或發(fā)生了某個預定事件之后繼續(xù)保存消息事務塊(例如在收到表明無線設(shè)備130已經(jīng)成功接收了消息事務的指示之前)。
如果將無線電設(shè)備有效連接到無線網(wǎng)絡(luò),那么消息事務是作為一個整體從消息交換機1412轉(zhuǎn)發(fā)到無線設(shè)備(經(jīng)由無線網(wǎng)關(guān)1411)的。例如,在這里可以同時傳送表明已經(jīng)將10個消息從用戶“收件箱”移動到用戶“已保存郵件”文件夾的指示。然后,無線設(shè)備130可以使用它所接收的所有10個消息事務的單個確認來做出響應。作為選擇,如果沒有成功接收到其中一個消息事務,那么無線設(shè)備130可以請求與整個群組相反的單獨的消息事務(如下文名為“消息事務的順序傳遞”的部分中詳細描述的那樣)。
在一個實施例中,除了在客戶站點上由批處理邏輯1400執(zhí)行第一級批處理之外(或是作為替換),消息交換機1412還執(zhí)行了第二級批處理。特別地,與處理大量消息事務相反,消息交換機1412只對在一個時段上生成的消息事務序列執(zhí)行批處理(例如“刪除10個消息”)。例如,用戶通常是在客戶站點逐一讀取新的電子郵件消息,并且用戶可以在一整天里不斷添加新的待辦列表表目和日歷條目。在一個實施例中,當這些單獨的消息事務出現(xiàn)在服務102上的時候,它們將會從接口100傳送到消息交換機1412。例如,當用戶讀取一個單獨的新電子郵件消息時,一個表明消息已被讀取的指示將會傳送到消息交換機1412。同樣,當用戶產(chǎn)生一個新的日歷條目時,這個新條目將會自動傳送到消息交換機1412。
在一個實施例中,消息交換機1412會在將多種個人消息事務傳送到無線設(shè)備130之前將其聚集起來。如果無線設(shè)備130有效連接到無線網(wǎng)絡(luò),那么在將消息作為一個整體傳送到無線設(shè)備130之前,所述消息交換機1412可以將一定數(shù)量的消息事務組合在一起和/或?qū)⒛切┰谀硞€時段出現(xiàn)的消息事務組合在一起。當無線設(shè)備130沒有在無線網(wǎng)絡(luò)上進行有效通信時,消息交換機1412可以組合所有消息事務,一旦無線設(shè)備聯(lián)機,則所述交換機會將所述事務作為一個整體來進行傳送。在一個實施例中,消息交換機1412和/或批處理邏輯1400可以根據(jù)以上相對圖12所描述的批處理參數(shù)1210和1220來對消息事務執(zhí)行批處理。
按照順序的傳遞為使無線設(shè)備130能與這里所描述的服務102完全同步,不但可靠傳遞往返于無線設(shè)備的消息事務非常重要,而且按照恰當順序傳遞消息事務也是非常重要的(例如按照其在服務上出現(xiàn)的相同順序)。舉例來說,如果用戶在服務102上創(chuàng)建新文件夾,然后將若干條消息移動到該文件夾中,那么創(chuàng)建文件夾的事務必須是在移動事務之前為無線設(shè)備所接收。
雖然Mobitex這類無線網(wǎng)絡(luò)確保了可靠的數(shù)據(jù)傳遞,但是它們未必確保所傳遞的數(shù)據(jù)能夠按順序到達。此外,雖然諸如傳輸控制協(xié)議(“TCP”)之類的網(wǎng)絡(luò)協(xié)議確保了按照順序的數(shù)據(jù)傳遞,但是這些協(xié)議都是假設(shè)發(fā)送節(jié)點和接收節(jié)點始終有效,因此未必適合其中某個節(jié)點(即無線設(shè)備)在較長時段內(nèi)失效的系統(tǒng)。
同樣,圖14中描述的本發(fā)明的一個實施例在客戶站點、數(shù)據(jù)中心和/或無線設(shè)備分別是使用順序控制邏輯1500、1510和1520來確保按順序的傳遞消息事務的。在操作中,客戶站點上的各個消息事務都被分配了一個順序碼,所述順序碼表示的是產(chǎn)生消息事務的相關(guān)順序。在一個實施例中,在將一系列消息事務傳送到無線設(shè)備130時(或從無線設(shè)備130傳送到接口100時),在接收到所有先前順序消息事務之前,無線設(shè)備130(或接口100)不會執(zhí)行特定消息事務。因此,如果無線設(shè)備130接收了按照從1~3和從5~10的順序來進行編碼的消息事務,那么它可以執(zhí)行消息事務1~3,但在接收到消息事務4之前是不會執(zhí)行消息事務5的。
在一個實施例中,如果無線設(shè)備在某個指定時段之后沒有接收到消息事務4(例如由于消息事務在傳送過程中丟失),那么無線設(shè)備130會向數(shù)據(jù)中心1410和/或接口100發(fā)送一個重傳消息事務4的請求。然后,在接口100和/或數(shù)據(jù)中心1410中運行的順序控制邏輯1500或1510分別會從遠程消息高速緩存器200或者消息交換機1412傳送消息事務4。
一旦成功接收到消息事務4,則無線設(shè)備130會向接口100和/或消息交換機1412發(fā)出通知,由此允許從遠程消息高速緩存器200和/或消息交換機1412中刪除消息事務(也就是假設(shè)已經(jīng)滿足了這里描述的其他高速緩存清除條件)。在一個實施例中,無線設(shè)備可以發(fā)送一個與用于各個消息事務的單獨通知相反的塊通知。例如,無線設(shè)備130可以發(fā)送一個成功接收到消息1~10的單獨通知(或是某些備選的消息事務號碼),而不是只發(fā)送一個表明接收到消息事務4的通知,由此允許根據(jù)所述單獨通知,從遠程消息高速緩存器200和/或消息交換機1412中刪除所有消息。應該指出的是,以上闡述的連續(xù)事務號碼只是出于說明目的。在符合本發(fā)明基本原理的同時也可以通過使用各種備選順序碼來指示消息事務順序。
標識碼分配每一個電子郵件消息、日歷條目、待辦事宜列表條目等等都由服務102分配了唯一標識碼。舉例來說,如果所述服務是Microsoft Exchange,則為每個新的數(shù)據(jù)對象產(chǎn)生了一個128字節(jié)的標識碼。相應地,在將無線設(shè)備130完全同步于服務102的時候有必要提供某些機制,以便確保不會將重復的標識碼分配給兩個不同的數(shù)據(jù)對象。舉例來說,如果服務102和無線設(shè)備130能夠獨立產(chǎn)生數(shù)據(jù)對象,那么它們有可能同時使用同一標識碼來產(chǎn)生數(shù)據(jù)對象,由此將會引發(fā)沖突。
一種用于解決這個問題的機制是要求無線設(shè)備130在每次產(chǎn)生新數(shù)據(jù)對象時都從服務102那里請求新的標識碼。這種方案的潛在問題在于根據(jù)無線網(wǎng)絡(luò)速度,所述無線設(shè)備130可能要花費過長時間來獲取標識碼。例如,在輸入新的電子郵件消息或日歷條目之前,如果需要等待好幾秒,則可以認為這個時間量是不合理的。
作為選擇,在一個實施例中,所有可能數(shù)據(jù)對象碼的范圍是在無線設(shè)備130與服務103之間劃分的。換句話說,在這里將所有可能碼中的一定百分比(例如1/2)的碼分配給無線設(shè)備130,并且將剩余的可能碼分配給服務103。在操作中,當在無線設(shè)備上產(chǎn)生新數(shù)據(jù)對象(例如新的“待辦事宜”列表條目)時,無線設(shè)備130只從預指定范圍內(nèi)選擇一個數(shù)據(jù)對象碼,由此防止在服務102上發(fā)生沖突。而在一個特定實施例中則是將所有負碼分配給了無線設(shè)備130,并且將所有正碼分配給了服務102。如果使用的是32比特(4字節(jié))的碼,那么這將會產(chǎn)生2,147,483,648(231)個負碼以及2,147,483,648(231)個正碼。然而應該指出的是,分割代碼的特定方式與本發(fā)明的基本原理無關(guān)。
在將無線設(shè)備完全同步于服務時,其中存在的另一個潛在問題是很多服務使用的標準數(shù)據(jù)對象標識碼不必太大。如上所述,Microsoft Exchange是產(chǎn)生一個128字節(jié)(1024比特)的碼來識別各個唯一數(shù)據(jù)對象的。
相應地,在圖16描述的本發(fā)明的一個實施例中,接口100包括對象標識碼映射邏輯1600,以便將標準數(shù)據(jù)對象標識碼1620(例如MicrosoftExchange所用的128字節(jié)碼)映射成專門供這里所描述的同步系統(tǒng)使用而產(chǎn)生的數(shù)據(jù)對象標識碼1610(在下文中將其稱為“同步系統(tǒng)標識碼”)。如所述,對象標識碼映射邏輯1600保持了一個數(shù)據(jù)對象標識表1605,其中每一個標準標識碼1620都與一個相應的同步系統(tǒng)標識碼1610相關(guān)聯(lián)。如上所述,在一個實施例中,同步系統(tǒng)標識碼1610的長度是32比特,由此顯著減少了經(jīng)由無線網(wǎng)絡(luò)傳送的信息量。此外如圖16所示,負標識碼1610識別的是由無線設(shè)備130創(chuàng)建的數(shù)據(jù)對象,正標識碼1610識別的則是在服務102上創(chuàng)建的數(shù)據(jù)對象(例如從本地臺式機PC)。
數(shù)據(jù)對象沖突判決由于可以將數(shù)據(jù)對象副本保留在無線設(shè)備130和服務102上,因此本發(fā)明的一個實施例使用了一種以邏輯方式來確保在無線設(shè)備130與服務102上并行修改同一數(shù)據(jù)對象的技術(shù)。例如在一個實施例中,版本號是與各個數(shù)據(jù)對象相關(guān)聯(lián)的。在每次修改數(shù)據(jù)對象的時候,所述版本碼都會得到修改,以便表示新的版本。
在圖17所述的一個實施例中,接口100和/或無線數(shù)據(jù)處理設(shè)備130分別包含了用于檢測何時發(fā)生版本沖突的沖突檢測邏輯1700和1701,以及通過執(zhí)行一種或多種預定義沖突判決技術(shù)來解決版本沖突的沖突判決邏輯1710。舉例來說,在圖17中,數(shù)據(jù)對象X的版本1的副本一開始保存在無線設(shè)備130和服務102上。其中舉例來說,版本1可以是日歷條目或待辦事宜列表條目的初始版本。數(shù)據(jù)對象X的第1版的副本將會在服務102和無線設(shè)備130上同時修改,由此分別產(chǎn)生了版本21和22,進而出現(xiàn)了版本沖突。其中一種可能出現(xiàn)這種情況的方式是用戶在無線設(shè)備130上修改了數(shù)據(jù)對象X,同時用戶的行政助理在服務102上也修改了數(shù)據(jù)對象X。隨后,無線設(shè)備130嘗試用版本22來更新服務102,同樣,服務102嘗試用版本21來更新更新無線設(shè)備130。
在一個實施例中,分別在接口100和/或無線設(shè)備130上執(zhí)行的沖突檢測邏輯1700、1701將會對版本沖突進行檢測。作為響應,沖突檢測邏輯1700、1701觸發(fā)沖突判決邏輯1710、1711,所述邏輯則嘗試應用一種或多種沖突判決技術(shù)來解決沖突。在這里可以使用多種技術(shù)來解決沖突。例如在一個實施例中,服務102上的數(shù)據(jù)對象的版本(版本21)將被自動保留,用戶則被告知并未輸入其從無線設(shè)備130上執(zhí)行的數(shù)據(jù)對象修改。所述通知可以由新版本(版本22)的可視指示和/或一個表明為何不能輸入修改的解釋來完成。作為選擇,在一個實施例中,用戶也可以從數(shù)據(jù)處理設(shè)備得到在兩個可能版本之間進行選擇的提示。一旦做出選擇,則將選定版本保存在無線設(shè)備130和服務102上。如果另一個人嘗試輸入未被選定的版本(例如用戶的行政助理),則可以通知這個人可能隨后被通知。在一個實施例中,選定版本是以輸入者為基礎(chǔ)的。舉例來說,在這里可以對本發(fā)明的一個實施例進行配置,以便始終接受用戶生成的版本(而不是用戶行政助理)。因此,如果用戶從無線設(shè)備130或者直接在服務102(也就是從連接到服務102的臺式機)上修改數(shù)據(jù)對象X,那么用戶修改將會優(yōu)先于任何其他修改而被接受。
應該指出的是,上述具體沖突判決技術(shù)只是出于例示目的。在符合本發(fā)明基本原理的同時,沖突判決邏輯1710、1711也可以使用不同的附加沖突判決技術(shù)。
完全無線同步和零臺式機安裝上述高級壓縮和消息處理技術(shù)允許無線設(shè)備130完全同步于服務102。例如在本發(fā)明的一個實施例中,消息傳遞服務的所有主要組件都是在無線設(shè)備130上完全同步的。舉例來說,如果所述服務是Microsoft Exchange,那么這些組件包括電子郵件、電子日歷、聯(lián)系人、任務和便箋。相應地,所有用戶事務(消息編檔、待辦事宜列表條目等等)都會在沒有底座的情況下在無線設(shè)備上保持最新狀態(tài)。
在一個實施例中,不但消息得到了同步,而且服務102的整個狀態(tài)也得到了同步。舉例來說,這個狀態(tài)信息可以包括創(chuàng)建新文件夾、刪除舊文件夾、將消息歸檔到文件夾中、從設(shè)備中讀取消息、標記未讀消息、刪除電子郵件、新消息到達、將消息復制到一個文件夾中、歸檔消息和/或其他任何對在服務上保持的郵箱產(chǎn)生了影響的事務。
此外在一個實施例中,無線設(shè)備130是以無線方式提供的。因此,一旦在服務上啟用用戶帳戶,那么所有初始用戶數(shù)據(jù)都是以無線方式發(fā)送的。舉例來說,這些數(shù)據(jù)可以包括初始聯(lián)系人(例如通信錄)、便箋、任務和日歷數(shù)據(jù),在一個實施例中,一開始可以在無線設(shè)備130上安裝唯一的加密密鑰,以便對設(shè)備與服務之間的通信進行加密(例如借助于設(shè)備安裝軟件)。
在一個實施例中,即使無線設(shè)備130上的數(shù)據(jù)完全同步,也還是可以使用老化算法(aging algorithm)來節(jié)省設(shè)備上的空間。例如,在指定時間點,所述服務可以保存了40,000個數(shù)據(jù)對象(例如電子郵件消息、日歷條目等等),然而,無線設(shè)備(具有少量存儲器)則只能保存20,000個數(shù)據(jù)對象。因此在一個實施例中,無線設(shè)備130只保存那些最長時間沒有修改或以其他方式操作(例如從一個文件夾移動到另一個文件夾)的數(shù)據(jù)對象。在一個實施例中,用戶可以規(guī)定自動刪除的消息類型(舉例來說,所述消息類型可以僅僅是“發(fā)送郵件”文件夾中的消息,也可以是任何超出了一個月的消息等等)。然而一旦從設(shè)備上刪除了消息,那么通常能夠從服務中恢復所述消息。
舉例來說,用戶可以基于一個或多個規(guī)定變量(例如創(chuàng)建者、客戶機、發(fā)件人、收件人、日期范圍等等)而請求從服務102那里重傳某些數(shù)據(jù)對象。同樣,在一個實施例中,如果用戶從用戶臺式機上操作那些已經(jīng)從無線設(shè)備130上刪除的數(shù)據(jù)對象(例如將電子郵件消息從一個文件夾移動到另一個文件夾),那么所述數(shù)據(jù)對象將會重傳到無線設(shè)備并且保存在目的文件夾中。
即使系統(tǒng)“停機”(例如數(shù)據(jù)網(wǎng)絡(luò)170和/或無線服務供應商網(wǎng)絡(luò)171),本發(fā)明的一個實施例也會保持同步事件。舉例來說,如上所述,任何在系統(tǒng)停機時間之中發(fā)生的同步事件可以分別在處于數(shù)據(jù)中心1410和/或接口100的批處理高速緩存器1412或200之一得到保持。因此,即使接口100停機一段時間,數(shù)據(jù)網(wǎng)絡(luò)170不可用,無線設(shè)備130關(guān)閉、離開覆蓋范圍或是損壞,同步更新仍舊是可以得到保持的。一旦系統(tǒng)的所有部分再次正常工作,則可以對隊列中的同步更新進行處理。
在接口100的一個實施例中,“移動”事件是以一種有效方式而被檢測和處理的。如圖18所示,在服務102與接口100之間,當消息(或其他數(shù)據(jù)對象)在Microsoft Exchange之類的消息傳遞系統(tǒng)上從一個文件夾移動到另一個文件夾(例如從“已發(fā)送郵件”文件夾移動到“已保存郵件”文件夾,從“收件箱”文件夾移動到“已讀取郵件”文件夾等等)的時候,在目的文件夾的位置將會產(chǎn)生所述消息的一個新副本,然后則從源文件夾中刪除原始消息。作為選擇,在這里也可以一開始就從源文件夾中刪除消息,然后在目的文件夾中重建所述消息。在復制基本消息之前或之后將刪除命令傳送到無線設(shè)備130,這種處理是一種用于執(zhí)行移動事務的低效方法。因此如圖18所示,接口100的一個實施例是通過使用數(shù)據(jù)對象(也就是消息)標識碼、源文件夾和/或目的文件夾而將“刪除”命令與“新建”命令合并成一個單獨的“移動”命令,由此顯著減少了經(jīng)由無線網(wǎng)絡(luò)傳送的信息量。
為了以這種方式向無線設(shè)備130提供移動命令,系統(tǒng)(例如接口100)首先必須識別所要移動的消息。所述接口的一個實施例則是單獨或以組合方式使用圖19a和/或圖19b所闡述的方法來對消息進行識別的。首先參考圖19a,在1900,接口100檢測到已經(jīng)從文件夾A中刪除了消息X。在1910,接口100嘗試確定所述刪除是否形成了移動命令的一部分。同樣,該接口還對用戶帳戶中的其他文件夾進行搜索,以便查找相同消息。如果在文件夾B之類的特定文件夾中發(fā)現(xiàn)相同消息,那么在1930,所述接口會將一個移動命令傳送到無線設(shè)備130,其中所述命令表示的是將消息X從文件夾A移動到文件夾B。然而,如果沒有在另一個文件夾中找到消息X,那么它會向無線設(shè)備傳送一個刪除命令,以便指示從文件夾A中刪除消息X。
現(xiàn)在參考圖19b,在一個實施例中,接口100一開始檢測到消息X已經(jīng)到達文件夾B。作為響應,接口100對數(shù)據(jù)對象標識碼表1605(舉例來說,參見圖16)進行搜索,以便確定與消息X相關(guān)聯(lián)的標識碼匹配。如果發(fā)現(xiàn)匹配(在1970確定),則接口100將一個移動命令傳送到無線設(shè)備130,以便指示應該將消息X從文件夾A移動到文件夾B。然而如果沒有找到標識碼匹配,那么接口100會向無線設(shè)備傳送一個刪除命令,以便指示應該從文件夾A中刪除消息X。
當無線設(shè)備130與服務102在一個很長的時段中“失去聯(lián)系”時,這時有可能已經(jīng)累積了大量需要同步的事務。因此在一個實施例中,為了節(jié)省設(shè)備上的帶寬和時間(例如不使之為未同步數(shù)據(jù)所淹沒),只有某些數(shù)據(jù)的典型部分可以傳送。舉例來說,如果無線設(shè)備130關(guān)閉兩周,那么只有消息報頭將會傳送到所述設(shè)備(也就是不傳送消息主體)。其基本原因在于用戶不可能會希望/需要在設(shè)備上讀取早前的所有郵件。
在一個實施例中,在經(jīng)過很長時段之后將數(shù)據(jù)傳送到設(shè)備的具體方式是由用戶選擇的。因此,用戶可以選擇一個時段,其中在這個時段之后只有報頭才被發(fā)送(例如一周以前、從未等等)。在任何情況下,用戶都可以在傳送報頭之后請求完整的消息主體。
正如這里所使用的那樣,“零桌面安裝”指的是無線設(shè)備在用戶臺式機上未曾安裝任何客戶機軟件的情況下正常運作的能力。由于如上所述,無線設(shè)備可以訪問所有消息傳遞特征(例如設(shè)備選項管理、消息傳遞服務結(jié)構(gòu)、消息過濾器、輸出電子郵件簽名、安全設(shè)定等等),因此本發(fā)明的一個實施例不需要臺式機。這個特征在當前的消息傳遞系統(tǒng)并不可用,因為當前無線設(shè)備只支持所有消息傳遞功能的一個子集。同樣,當前系統(tǒng)還需要臺式機軟件以及一個底座來完成同步處理。
在一個實施例中,無線設(shè)備的結(jié)構(gòu)設(shè)置將會得到保存,并且會在消息傳遞服務器上不斷得到更新。因此,如果曾經(jīng)丟失了設(shè)備設(shè)置(例如因為設(shè)備初始化或丟失),那么所述設(shè)置會與消息傳遞數(shù)據(jù)一起自動恢復。實際上,在一個實施例中,由于不會存在不與消息傳遞服務器同步并為所述設(shè)備所獨有的數(shù)據(jù),因此沒有必要一直對所述設(shè)備進行備份。
此外在一個實施例中,軟件升級是以無線方式傳送到設(shè)備的,由此完全清除了設(shè)備與臺式機之間的任何必要鏈路。所述軟件升級可以包括設(shè)備操作系統(tǒng)升級以及應用的安裝程序。
本發(fā)明的實施例可以包括上文所闡述的不同步驟。這些步驟可以用機器可執(zhí)行指令實施。其中可以使用這些指令而使得通用或?qū)S锰幚砥鲌?zhí)行某些步驟。作為選擇,這些步驟也可以由包含了用于執(zhí)行這些步驟的硬件邏輯的具體硬件元件來執(zhí)行,或是由那些經(jīng)過編程的計算機組件以及定制的硬件組件來實施。
本發(fā)明的部件還可以作為一個用于保存機器可執(zhí)行指令的機器可讀介質(zhì)而被提供。所述機器可讀介質(zhì)可以包括但不局限于軟盤、光盤、CD-ROM、磁光盤、ROM、RAM、EPROM、EEPROM、磁卡或光卡、傳播介質(zhì)或是適合保存電子指令的其他類型的媒體/機器可讀介質(zhì)。舉例來說,本發(fā)明可以作為一個計算機程序而被下載,其中所述程序是借助了載波或其他傳播介質(zhì)中包含的數(shù)據(jù)信號并且經(jīng)由一條通信鏈路(例如調(diào)制解調(diào)器或網(wǎng)絡(luò)連接)而被從遠程計算機(例如服務器)傳遞到一臺發(fā)起請求的計算機的(例如客戶機)。
在以上描述中,出于說明目的而對許多細節(jié)進行了闡述,以便提供關(guān)于本發(fā)明的全面理解。然而對于本領(lǐng)域技術(shù)人員來說,很明顯,本發(fā)明可以在不具備其中一些特定細節(jié)的情況下得到實施。例如,雖然在這里是將本發(fā)明作為一個在服務器103上執(zhí)行的服務102的接口100來進行描述的(參見圖1),但是應該了解,本發(fā)明的基本原理也可以在經(jīng)由網(wǎng)絡(luò)傳送數(shù)據(jù)的單獨的客戶機上實現(xiàn)。此外,雖然本發(fā)明是在無線數(shù)據(jù)處理設(shè)備的環(huán)境中描述的,但是通過實施本發(fā)明的基本原理,也可以在包括有線和無線在內(nèi)的近乎所有連網(wǎng)環(huán)境中對數(shù)據(jù)進行壓縮。因此,本發(fā)明的范圍和實質(zhì)是根據(jù)下列權(quán)利要求判定的。
權(quán)利要求
1.一種系統(tǒng),包括一個無線數(shù)據(jù)處理設(shè)備;一個保持了代表用戶的數(shù)據(jù)對象的消息傳遞服務;以及同步裝置,用于在無線網(wǎng)絡(luò)上的所述無線設(shè)備與所述消息傳遞服務之間保持所述數(shù)據(jù)對象的同步,其中所述同步裝置將那些在所述服務發(fā)起的數(shù)據(jù)對象事務更新傳送到所述無線設(shè)備,并且將那些在所述無線設(shè)備發(fā)起的數(shù)據(jù)對象事務更新傳送到所述服務。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述數(shù)據(jù)對象包括電子郵件消息。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述數(shù)據(jù)對象包括電子日歷數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述數(shù)據(jù)對象包括待辦事宜列表數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中所述數(shù)據(jù)對象包括聯(lián)系信息。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述同步裝置還包括壓縮裝置,用于對在所述無線設(shè)備與所述服務之間傳送的所述消息和其他信息進行壓縮。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述同步裝置還包括批處理裝置,用于在所述無線數(shù)據(jù)處理設(shè)備與所述消息傳遞服務之間傳送所述更新之前組合數(shù)據(jù)對象事務更新群組。
8.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述數(shù)據(jù)處理設(shè)備包括控制裝置,以使所述用戶從所述數(shù)據(jù)處理設(shè)備修改所述消息傳遞服務的配置參數(shù)。
9.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述服務和所述無線數(shù)據(jù)處理設(shè)備是以無線方式完全同步的,并且沒有將所述無線設(shè)備直接耦合到用以運行所述服務的網(wǎng)絡(luò)。
10.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述同步裝置對包括在電子郵件文件夾之間消息的移動在內(nèi)的消息事務更新進行同步。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述消息事務更新中的一個更新包括表明所述用戶已經(jīng)從所述無線數(shù)據(jù)處理設(shè)備查看了消息的指示。
12.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述同步裝置還包括第一批處理裝置,它被配置在所述服務運作的客戶站點;以及第二批處理裝置,它被配置在以可通信方式耦合在所述無線數(shù)據(jù)處理設(shè)備與所述客戶站點之間的數(shù)據(jù)中心上。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述第一批處理裝置在傳送所述數(shù)據(jù)對象事務之前會在所述客戶站點對用戶同時執(zhí)行的數(shù)據(jù)對象事務進行組合,并且其中所述第二批處理裝置對那些并未被所述用戶同時執(zhí)行的數(shù)據(jù)對象事務進行組合。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中由所述用戶同時執(zhí)行的所述數(shù)據(jù)對象事務包括一組由所述用戶同時刪除的電子郵件消息。
15.根據(jù)權(quán)利要求7所述的系統(tǒng),還包括順序傳遞裝置,用于確保所述組合數(shù)據(jù)對象事務更新在其相應目的地是以正確的順序得到執(zhí)行的。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述順序傳遞裝置在接收到所有在先事務更新之前是不允許所述無線數(shù)據(jù)處理設(shè)備執(zhí)行特定事務更新的。
17.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述同步裝置還包括數(shù)據(jù)對象標識(ID)碼分配裝置,用于為所述無線數(shù)據(jù)處理設(shè)備與所述消息傳遞服務之間的新的數(shù)據(jù)對象分配多個可能標識碼。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中將負ID碼分配給了在所述無線設(shè)備上生成的數(shù)據(jù)對象,并且將正碼分配給了在所述消息傳遞服務上生成的ID碼。
19.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述同步裝置還包括數(shù)據(jù)對象沖突判決裝置,用于確?;谝粋€或多個沖突判決參數(shù)來解決在所述無線設(shè)備與所述服務上進行的特定數(shù)據(jù)對象副本的同時修改。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述數(shù)據(jù)對象沖突判決裝置產(chǎn)生與各個數(shù)據(jù)對象修改相關(guān)聯(lián)的新版本號。
21.一種用于對無線設(shè)備和服務進行同步的方法,包括將多個第一標識碼與無線設(shè)備相關(guān)聯(lián),以及將多個第二標識碼與消息服務相關(guān)聯(lián),其中所述無線設(shè)備在生成新數(shù)據(jù)對象的時候僅僅使用了來自所述多個第一標識碼的標識碼,并且所述消息服務在產(chǎn)生新數(shù)據(jù)對象時只使用來自所述多個第一標識碼的標識碼;以及當在所述消息服務上創(chuàng)建新數(shù)據(jù)對象時,自動將一個包含所述新數(shù)據(jù)對象的更新傳送到所述無線設(shè)備,并且當在所述無線設(shè)備上創(chuàng)建新數(shù)據(jù)對象時,自動將一個包含所述新數(shù)據(jù)對象的更新傳送到所述消息服務。
22.根據(jù)權(quán)利要求21所述的方法,還包括在所述消息服務上合并所述數(shù)據(jù)對象的多個事務;以及將合并后的所述數(shù)據(jù)對象的所述多個事務作為一個整體傳送到所述無線設(shè)備。
23.根據(jù)權(quán)利要求21所述的方法,還包括在運行所述消息服務的客戶站點上合并成由用戶同時執(zhí)行的所述數(shù)據(jù)對象的事物;將涉及所述數(shù)據(jù)對象的單獨事務以及涉及所述數(shù)據(jù)對象的所述合并事務傳送到一個以可通信方式耦合在所述客戶站點與所述無線設(shè)備之間的數(shù)據(jù)中心;在所述數(shù)據(jù)中心,合并所述數(shù)據(jù)對象的所述組合事務和/或所述數(shù)據(jù)對象的所述單獨事務,以便產(chǎn)生所述事務的第二層組合;以及將所述事務的所述第二層合并作為一個整體傳送到所述無線設(shè)備。
24.根據(jù)權(quán)利要求22所述的方法,還包括除了所述數(shù)據(jù)對象的所述多個事務中的一個或多個事務,所述無線設(shè)備接收幾乎全部事務;所述無線設(shè)備請求只重傳所述多個事務中的一個或多個所述事務。
25.根據(jù)權(quán)利要求24所述的方法,還包括按順序?qū)ι婕八鰯?shù)據(jù)對象的事務進行編號,其中在接收和執(zhí)行所述一個或多個事務之前,所述無線設(shè)備將會禁止執(zhí)行那些在涉及所述數(shù)據(jù)對象的所述一個或多個事務之后出現(xiàn)的事務。
26.根據(jù)權(quán)利要求21所述的方法,其中某些所述數(shù)據(jù)對象包含了電子郵件消息。
27.根據(jù)權(quán)利要求26所述的方法,其中所述事務包括發(fā)送新的電子郵件消息。
28.根據(jù)權(quán)利要求27所述的方法,其中所述事務包括刪除電子郵件消息。
29.根據(jù)權(quán)利要求21所述的方法,還包括在將所述數(shù)據(jù)對象傳送到無線設(shè)備和/或所述服務之前對其進行壓縮。
30.根據(jù)權(quán)利要求21所述的方法,還包括對所述服務和所述無線設(shè)備同時修改的數(shù)據(jù)對象之間的版本沖突進行檢測;以及使用一種或多種沖突判決技術(shù)來解決所述版本沖突。
31.根據(jù)權(quán)利要求30所述的方法,其中所述沖突判決技術(shù)之一包括保留在所述服務上執(zhí)行的修改,并且相應地更新所述無線設(shè)備。
32.根據(jù)權(quán)利要求21所述的方法,還包括將所述多個第一和第二數(shù)據(jù)對象標識碼映射到一個通常由所述消息服務使用的標識碼集合。
33.根據(jù)權(quán)利要求32所述的方法,其中所述消息服務是MicrosoftExchange。
34.一種用于對無線設(shè)備和服務進行同步的系統(tǒng),包括一個以通信方式耦合在所述服務與所述無線設(shè)備之間的接口,其中所述接口是安裝和配置了所述服務的客戶站點執(zhí)行的,由此響應于所述服務上的數(shù)據(jù)對象事務而將數(shù)據(jù)對象事務更新提供給所述無線設(shè)備,并且響應于所述無線設(shè)備上的數(shù)據(jù)對象事務而將數(shù)據(jù)對象事務更新提供給所述服務;以及一個以通信方式耦合在所述無線設(shè)備與所述接口之間的數(shù)據(jù)中心,其中在將所述數(shù)據(jù)對象事務更新成功傳送到所述無線設(shè)備之前,所述數(shù)據(jù)中心將會臨時保存所述數(shù)據(jù)對象事務更新。
35.根據(jù)權(quán)利要求34所述的系統(tǒng),還包括批處理邏輯,用于在將所述數(shù)據(jù)對象事務更新傳送到所述無線設(shè)備和/或所述接口之前,將所述數(shù)據(jù)對象事務更新組合在一起。
36.根據(jù)權(quán)利要求35所述的系統(tǒng),其中所述批處理邏輯還包括一個在所述接口實施的第一級批處理邏輯,其中在傳送所述數(shù)據(jù)對象事務更新之前,所述第一級批處理邏輯會對用戶同時執(zhí)行的數(shù)據(jù)對象事務更新進行組合;以及一個在所述數(shù)據(jù)中心實施的第二級批處理邏輯,其中在將所述數(shù)據(jù)對象事務更新傳送到所述無線設(shè)備之前,所述第二級批處理邏輯會對所述用戶單獨執(zhí)行的數(shù)據(jù)對象事務更新進行組合。
37.根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述接口將所述服務上的兩個或多個數(shù)據(jù)對象事務合并成一個等價的單獨數(shù)據(jù)對象事務,以便傳送到所述無線設(shè)備。
38.根據(jù)權(quán)利要求37所述的系統(tǒng),其中所述兩個或多個數(shù)據(jù)對象事務包括從源位置刪除數(shù)據(jù)對象的刪除命令,以及在目的位置復制所述數(shù)據(jù)對象的新建命令,并且其中被傳送到所述無線設(shè)備的所述單個數(shù)據(jù)對象事務是一個移動命令。
39.根據(jù)權(quán)利要求38所述的系統(tǒng),其中所述移動命令包括所述數(shù)據(jù)對象的標識、所述源位置的標識以及所述目的位置的標識。
40.根據(jù)權(quán)利要求38所述的系統(tǒng),其中如果所述刪除命令是在所述新建命令之前,則所述接口通過在所述服務中搜索所述數(shù)據(jù)對象,以便在所述刪除命令之后在所述服務上的所述新位置識別所述對象,從而確定所述這兩個數(shù)據(jù)對象事務等價于一個單獨的移動命令。
41.根據(jù)權(quán)利要求38所述的系統(tǒng),其中如果所述新建命令處于所述刪除命令之前,那么所述接口通過對具有數(shù)據(jù)對象標識碼的表進行搜索,以便確定所述數(shù)據(jù)對象是否在所述新建命令之前已經(jīng)存在于一個不同的位置,從而確定所述這兩個數(shù)據(jù)對象事務等價于一個單獨的移動命令。
全文摘要
在這里公開了一種數(shù)據(jù)處理設(shè)備(130)完全同步于消息傳遞服務(120)的系統(tǒng)。該系統(tǒng)的一個實施例包括一個無線數(shù)據(jù)處理設(shè)備;一個保持了消息(102)和代表了用戶的其他信息(102)的消息傳遞服務;以及同步邏輯,所述同步邏輯用于在無線設(shè)備與消息傳遞服務之間保持所述消息和其他信息的同步。
文檔編號G06F12/00GK1656454SQ03811930
公開日2005年8月17日 申請日期2003年3月26日 優(yōu)先權(quán)日2002年3月29日
發(fā)明者J·弗蘭德, M·貝爾希, R·柯林斯, M·貝內(nèi)特 申請人:卓越技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1