TWI339052B - Method for streaming data between a server and a client - Google Patents

Method for streaming data between a server and a client Download PDF

Info

Publication number
TWI339052B
TWI339052B TW092136042A TW92136042A TWI339052B TW I339052 B TWI339052 B TW I339052B TW 092136042 A TW092136042 A TW 092136042A TW 92136042 A TW92136042 A TW 92136042A TW I339052 B TWI339052 B TW I339052B
Authority
TW
Taiwan
Prior art keywords
email
data
mail
message
request
Prior art date
Application number
TW092136042A
Other languages
English (en)
Other versions
TW200421802A (en
Inventor
Joseph R Warren
Min Zhong
Karl Froelich
Nicole A Bonilla
Robert R Novitskey
Alec Dun
Ronald Eric Gray
Aaron Hartwell
Steven F Goddard
Brendan Power
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200421802A publication Critical patent/TW200421802A/zh
Application granted granted Critical
Publication of TWI339052B publication Critical patent/TWI339052B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

U39052 疚、發明說明: 【發明所為之技術領域】 本發明大體上屬於電腦網路,更明確地說,係屬於在 端與飼服器應用程式之間進行通訊之方法,例如電子 郵件應用程式^ 【先前技術】 電子郵件已經成為一種重要的通訊方法。電子郵件系 統一般典型中包括-词服器元件(如,微# Exchange Server) '以及一客戶端元件(如,黴軟〇ut丨〇〇k或微軟 Outlook Expres小一般典型中,這些元件為軟體應用程 式,其經組態可在計算機裝置上(如祠服器、個人電腦' 笨記型電腦、以及個人數位助理)執行。 為了協助通訊,一客戶端與伺服器,例如客戶端元件 與一電子郵件系統的一伺服器元件,通常會同意採用某一 通訊協定。該通訊協定設定了規則,定義在通訊過程中, 每一個部份應進行之程序,例如’預期之請求與回應的順 序。複雜的通訊協定則擁有町處理非預期程序之規則。 如改良客戶端與伺服器元件’可將該經改良之版本散 佈給终端使用者。為了利用新的元件特徵以及網路特徵, 在通常的情形中,會發明〆新的通訊協定。雖然已安裝之 伺服器元件基底非常重要,一客戶端元件可具有藉由一組 通訊協定,和伺服器元件中所選的先前版本進行通訊之能 力β 3 1339052 在某些情形中,較新版的通訊協定係建構於先前版本 之通訊協k上’而非將之整個取代。在此情形下,可利用 通訊協定項目來建構一較新版的通訊協定,可啟用或停用 這些通訊協定項目,以便模擬先前版本之通訊協定。同樣 地,雖然已安裝之客戶端元件基底非常重要,一祠服器元 件可具有藉由一通訊協定,和客戶端元件中所選的先前版 本進行通訊之能力。 本發明提供了此種系統與方法。可由此處提供之本發 明的描述,了解本發明之此類與其他特徵,以及額外的創 造性特徵。 【發明内容】 本發明提供一用來改良客戶端和伺服器之通訊的_ :統與方法。更明確地說,本發明係關於一改良之通訊 疋其可用於—客戶端與一伺服器之間的通訊。本發明 別相關於一電子郝彳生y-! atz sa ja 甩子郵件伺服Is環境,但此處描述之特徵 用在其他客^5㈣Λ 备户端與伺服器網路。 根據本發明_能 一電子郵“ L樣對於-帶有-錯誤之資料物件 個錯誤,而使:誤資訊’不會因為發生 自-電子郵件回應失敗*該電子郵件伺服器元件 物件之-喑虫彳《疋件’接收請求複丨個電子郵件資 可處理帶有/及一指示,指示該電子郵件客戶端元 服器元件可^^-電子郵件請物件子郵件 •该清求與指示,而取回複數個電子郵件 4 料物件,A g β 生錯誤,則=::前述電子郵件資料物件時,沒有發 端元件Λ/電子料資料物件傳送至該電子郵件客戶 誤,該電子郵“若開啟該電子卸件資料物件時發生-錯 件客戶端元件。 息至該電子郵 根據本發明另—態樣,一 進度資料給—電子郵上電子郵件伺服器元件可提供 端元件可追縱自Μ 件’使得該電子郵件客戶 度。該件錢^件㈣-下載之進 度該電子郵件客片端元 料物件之―请求.以…傳逆4求複數個電子郵件資 件可處理進指示該電子郵件客戶端元 請求與指- 。該電子郵件祠服器元件可回應該 ==,而取回複數個電子郵件資料物件並提供進 度模式資料以及該複數個資料物件給該電 元件。進度棋式資料可包括 客戶端 针了包括该複數個電子郵件資料物件之 每-物件之大小、物件之數目、 央關聯資訊、額外資訊、或這些項目之任何組合。與資科 發明另—態樣,由一電子郵件客戶端元件傳送 "未可心示不限制對該請求之回應的大小,在有需要的 時候’允許一電子郵件词服器元件填滿一緩衝區。該電子 郵件客戶端元件可在—請求t傳送複數個子請求 請求係請求在一電子郵件伺服器元件上進 括大小資訊。在回應每—子諸灰#…作業並包 大小限制,且該限制介”子郵:=大:資訊包括- 圍中,則該電子郵件词服器::件所預期之範 服器疋件會將將一回應限制於該大 5 1339052 路11互相通訊 小限制中:若該大小資訊包括一大小限制,且該限制 電子郵件伺服器元件所預期之範圍外則該電子郵件 器兀件會在該大小資訊中尋找一新的大小限制。該新 小限制可以是任意的’例「填滿可用緩衝區」。 【實施方式】 描述本發明之複數個具體實施例的其中之一之前 先敘述可實作本發明之各種具體實施例的電腦與網 境。雖然並非必要條件,本發明可由電腦所執行的一 進行實作。-般而纟,程式包括常式、物件、元件、 結構及其他可進行特定工作或實作特定柚象資料種 相似者。在此處’「程式J 一詞,可涵蓋一單一程式 或可共同動作之多重程式模組。在此處,「電腦」_ 括任何可透過電流執行一或複數個程式之裝置,例如 電腦(PC)、手持式裝£、多處理器系統、以微處理 基礎之可程式化消費性電子產品、網路P C、迷你電 平板PC、主機電腦、具有一微處理器或微控制器之 性應用裝置、路由器、閘道、集線器及其相似者。本 亦可於分散式運算環境中實作,其中係以透過一通訊 連接之遠端處理裝置來執行工作β在一分散式運算 中’程式可位在本機與遠端記憶储存裝置中。 參照第1囷,描述一本發明可使用之網路環境的 施例。該示範性網路包括複數個電腦10,其間透過 以—片雲朵的形式代表。網路u可 位在 伺服 的大 ,會 路環 程式 資料 類之 模組 詞包 個人 器為 腦、 消費 發明 網路 環境 一實 —網 包括 6 1339052 複數個已為人熟知的元件,例如路由器、閛道、集線器等, 且允許電is ίο透過有線和/或無線媒介進行通訊。當透過 網路π彼此互動時,這些電腦其中之一或更多個可做為 其他電腦之客戶端、伺服器或對等電腦。於是,本發明之 各種具體實施例可在客戶端、伺服器、對等電腦或其組合 中實作’即使此處包含之特定實施例並未提及這些電腦的 所有種類。 參照第2圖,顯示一電腦之基本組態的一實施例,此 處所述之本發明的全部或一部可於該電腦上實作。在此一 最基本的組態t,電斶10 一般包括至少一處理單元14以 及記憶艘16。處理單元14可執行指令以便根據本發明之 各種具體實施例進行工作。在進行此類工作時,處理單元 Μ可將電子信號傳送至電腦1〇的其他部份以及電腦1〇 以外的裝置,以便引發某些動作。隨著電腦1〇確切的組 態以及種類之不同,記憶體1 6可以為易變(例如RAM )、 非易變(例如ROM或快閃記憶體)、或該二者的某種組 合。在第2圓中,以虛線! 8閑明此種最基本的組態。此 外,該電腦亦可具有額外的特徵/功能。例如,電腦亦 可包括额外儲存區(可移除201和/或不可移除2〇2)包括, 但不限於,磁片、磁帶、或光碟片或光學帶.電腦儲存媒 想包括以任何方法或技術實施,可做為資料之健存區的易 變與非易變、可移除與不可移除媒體,包括電腦可執行指 令、資料結構、程式模組、或其他資料。電腦储存區媒趙 包括,但不限於,RAM、ROM、EEPROM、快閃纪德想、 7 1339052 CD-ROM、數乜多功能影音光碟(DVD)、或其他光學儲存 區、磁性+閘、磁帶、磁碟儲存區、或其他磁性儲存裝置’ 或任何可用來儲存所要資訊,且可供電腦1〇存取之媒 體。任何此種電腦儲存媒體可以是電腦丨〇之一部份。 較佳的情形中,電腦10亦可包括通訊連線2〇5,其可 允許該裝置與另一裝置進行通訊。一通訊連線為一通訊媒 體之一實施例。通訊媒體之具體化呈現,通常為電腦可讀 取指令、資料結構、程式模組、或位在一模組化資料訊號 中之其他資料,該模組化資料訊號如一載波或其他傳輸機 制,且包括任何資訊傳遞媒體。做為例示而非限制,「通 訊媒體」一祠包括有線媒體,如一有線網路或直接有線連 線;以及無線媒體,例如聲波、RF、红外線以及其他無 線媒體此處電腦可讀取媒體J一詞係包括電腦儲存媒 體以及通訊媒體兩者。 電腦10亦可具有輪入裝置204,例如一鍵盤、滑鼠、 筆、聲音輸入裝置、觸控輸入裝置等。亦可包括輸出裝置 2 03,例如一顯不器2〇、擴音器、印表機等。這些裝置皆 為習知技藝者所熟知,毋需於此處詳述。 本發明係直接關於一種系統與方法,其可用於改良之 客戶端與伺服器通訊 更明確地說,係關於一種改良之通 訊協定#可用於-客戶端與-伺服器之間的通訊。本發 明與一電子郵件伺服器環境特別相關,但此處所述之特徵 可】用於其他客戶端與伺服器網路。然而為了敘述之方 便’此處係參照—客戶端/词服器電子郵件環it,來敘述 8 1339052 本發明》 本發明可實作於一客戶端/伺服器環境,其具有二或更
服器應用程式或元件之版本•為達此一目的,第3圏以— 區塊囷闞明在一網路電子郵件環境中,客戶端與伺服器元 件兩者之多重版本。一般而言,該客戶端與伺服器元件經 組態使其可向後相容(backwardly compatible)。也就β 說’一客戶端元件能夠與伺服器元件最近的版本以及先前 版本通訊,且反之亦然。建立一組通訊協定,使其可在該 多重版本間進行通訊。該組通訊協定可含有數種不同的通 訊協定,每一者皆完全獨立。或者是,可利用一組通訊協 定元件,且可利用特定元件去組態該通訊協定纽中的特定 通訊協定。 在第3圈所示的網路電子郵件環境中,在任
圖中之 3 03可和利用—通 服器元件306,進 间服器元件306亦 (如’第3圈Φ夕
和所選的 服器元件 3 05、與電子郵件伺服器元件 版本電子郵件客戶 、與電子郵件客戶 端元件303亦可利 與3 1 1 ’和体& ,例如電子郵件伺服器 304 ’進行通訊》 9 1339052 一般而言·,如此處為了描述本發明之通訊協定時,會 描述一「最新」的電子郵件(伺服器或客戶端)元件,戒 一電子郵件(伺服器或客戶端)元件的一最新版本,所述 的此種伺服器或客戶端元件具有本發明之新穎特性或特 徵,且可利用、實作這些特徵'和/或在這些特徵上作用 雖然在此文件t,利用這些名詞描述可體現本發明之通訊 協定的各種態樣的客戶端與伺服器元件,該名詞亦包括僅 可體現所述之特定態樣之元件,或所述超過一態樣之元 件。相似地,一「先前」電子郵件元件或一電子郵件元件 之先前版本•即為無法體現本發明之通訊協定的態樣,且 無法於其上作用的一元件。 通常會利用一通訊協定協議程序,在一客戶端與一词 服器之間(如,最新版本電子郵件伺服器元件3〇6、以及 最新版本電子卸件客戶端元件303 )建立—通訊協定。雖 然此種通訊協定協議為已知,為了方便閱讀者,仍針對電 子郵件客戶端元件4〇1 (第4圖)以及電子郵件伺服器元 件402 (亦為第4囫)之間的一通訊協定協議程序,提出 簡短的敘述。在電子郵件客戶端元件4〇1與電子郵件伺服 器元件402之間的一通訊工作階段早期,電子郵件客 元件401會傳送一訊息403至電子郵件飼服器元件4 =端 該訊息包括客戶端版本資訊,例如,以—宏戶迪一 谷产端疋件版本 戳記之形式。電子郵件伺服器元件4〇2以訊息4〇4回應: 息403 ,訊息404包括伺服器版本資訊,例如,以一和訊 器元件版本戳記之形式。 词服 10 1339052 可以複數_方式利用該客戶端與伺服器版本資訊,以 便嘗試在電子郵件客戶端元件4〇1以及電子郵件伺服器 π件402之間建立通訊。例如,可利用版本資訊來選擇— 適當的通訊協定以便繼續通訊;或決定將來之通訊是否可 維續進行。例如在建立一通訊協定時’可利用版本資訊來 啟用和/或停用特定可用通訊協定態樣或元件。 一電子郵件伺服器元件可平行接收與處理來自多重電 子郵件客戶端元件之請求。當僅顯示一單一客戶端時,除 非特别指《月,僅是為了簡化圖示以及相關說明。 本發明之電子郵件網路可利用請求與回應之交換, 網路的客戶端與飼服器元件之間傳遞查詢與資料。實 上’當在-電子郵件網路中之客戶端㈣服器之間進行 訊時’―通訊協定之效能可能會受到㈣實作該通訊之 訊網路傳輪機制(料。例如,纟_使用遠端程序呼 (Rpcs)做為通訊網路傳輸機制的電子郵件網路中進 一較大(如,32ΚΒ )的單一谂—如产 遠端程序呼叫,可能比進 數個較小(如,2ΚΒ )的遠端葙皮* 逖知程序呼叫更有效率。已知 可改進此種電子郵件網路之效 能的方法,係緩衝多重請 和/或回應,以便在—單一遠 A ^ ,, 裎序呼叫中來傳輸。 做為一實施例,第5圖顯示_ 斑一雷丰郝杜電子郵件客戶端元件5 與電子郵件伺服器元件5〇2 換。雷+郝株史0 疋間的一請求與回應 換電子郵件客戶端元件501以丨 502夂别且右m〜 及電子郵件伺服器元 各別具有^大小的通訊緩衝區5〇3、5()4、5〇5、 506。緩衝區 503、504、5〇5、 、5〇6為記憶體之保留 1339052 域,可暫時健存資料。電子郵件客戶端元件501在將緩衝 區503之内容傳送至緩衝區504之前,會藉由利用一或複 數個子請求或遠端作業(ROP)填滿煖衝區503,來開始 一請求-回應週期。 當於緩衝區5 04中接收ROP之後,由電子郵件伺服器 元件502依序處理每一 ROP,並將相對應的結果寫入緩衝 區5 05中。每一 R〇p皆會產生某些結果。該結果可包括 電子郵件客戶端元件50 1所請求之資料,例如,一組特定 的電子郵件訊息》電子郵件伺服器元件502可監控緩衝區 505,且當其接近全滿時(如,剩餘空間小於8KB ),電子 郵件伺服器元件502會將任何未處理的R〇P寫入緩衝區 505之末端’並將緩衝區505傳送至緩衝區506。之後, 電子郵件客戶端元件501會開始一新的請求-回應週期, 將未處理之ROP寫入緩衝區503,當緩衝區503再度全滿 時’將之重新提交至電子郵件伺服器元件5〇2。 平均說來,一回應的大小通常大於一請求之大小·因 此,通常會經組態使回應緩衝區505與5〇6之大小大於請 求緩衝區503與504之大小。在本發明之一具體實施例 中,在請求緩衝區503與504之大小為32ΚΒ時,可決定 回應緩衝1 505與506之最佳大小為96Κβ,#比例為i 比3。在-具想實施例+ ’該電子郵件客戶端元件能夠組 態緩衝區503、504、505、與506之杜 如 疋任—者的大小。 某些可利用緩衝區之電子郵件網路 μ崎’例如第5圃中顯 示的電子郵件網路,可在一電子郵 丁 ♦斤端7C件與一電子 12 1339052 郵件伺服器元、件之間,使用一快速傳輸棋式。快速傳輸模 式包括一客戶端提出之請求,例如ROP,且其至少可分成 兩種:會在伺服器上造成一快速傳輸資料來源之初始化的 請求;以及會造成資料自快速傳輸資料來源有效地傳輸至 客戶端的請求。該快速傳輸資料來源可以是,例如,一資 料庫資料表。該快速傳輸資料來源可做為資料的一就绪暫 存區,其可啟用後續請求,該請求係關於將資料以相對於 其他可行方法中,較少延遲的方法提供.有些時候,第二 種快速傳輸模式請求可能會藉由明白地指明回應之大 小’來達到有效的資料傳輸’例如,可設定該回應之大小, 使得整個客戶端可接收較少緩衝區之回應額外負擔。 第6Α圊顯示一快速傳輸作業,其具有至少兩種請求_ 回應週期。在一第一請求601中,一 R〇p(如,FXPrepare ) 可在伺服器502上’初始化一快速傳輸資料來源。在該伺 服器上,僅處理FXPrepare (即,初始化該快速傳輸資料 來源)且將其結果以一第一回應602傳回。在一第二請求 603中’一 ROP (如,FXGetBuffer)可請求伺服器填滿來 自該快速資料來源之緩衝區5 0 5。伺服器可將該快速資料 來源清入緩衝區中,並在一第二回應604中傳回該結果。 若可供s亥電子郵件伺服器元件使用之輸出緩衝區505在 快速資料來源被清空之前便已全滿,可請求額外的 FXGetBuffer ROP。 第6B囷顯示一快速傳輸作業,其僅具有一單一請求-回應週期。在一第一請求605中,電子郵件伺服器元件 13 1339052 502會處理FXPrepare以及FXGetBuffer兩者,且兩個作 業的結果皆會在第一回應606中傳回。在電子郵件祠服器 元件502上,FXPrepare之結果可供FXGetBuffer所用, 因為每一緩衝區503 ' 504、505、與506之一部份,皆被 明確定義為一共享資料資料表。降低請求-回應週期的次 數非常理想’因為這會造成一更有效率的資料傳輸,當緣 衝區505太滿而無法保存一 FXGetBuffer ROP之結果時, 可能會導致一快速傳輸作業具有超過一單一請求_回應避 期。 可以了解,除非另行指明,第6A與6B圓以及本申靖 書中其他相似圊示t之ROP僅為概要圏示,也就是說實 際上可利用一系列的ROP來實作之。 一般而言,一 ROP結果之大小與一 R〇p請求之大小不 同。並非永遠皆可預測一 ROP結果之大小•當利用資料 壓缩技術來減低一 ROP結果之大小時,會更難預測_ R〇i> 结果之大小。無法預測一 ROP結果之大小,會導致無法 手動微調一通訊協定來最小化完成特定客戶端作業所需 之請求-回應週期的數目’例如,確保在一單一請求回應 週期將所有新訊息下載至客戶端。—通訊協定手動微 調包括乎動组態通訊協定請求、回應和/或R〇p之順序和/ 或大小。 根據本發明之一態樣,對於預測其结果之大小的請 求,若指明關鍵ROP (如,FXGetBuffer)不受其拘束, 則可自動將請求_回應週期的數目最小化β此外,電子郵 14 1339052 件伺服器元# 502會處理此種ROP,直到達到緩衝區505 之界限(其和緩衝區506的界限相通)為止》 做為例示,在一包括電子郵件伺服器元件之多重版本 的環境中,可將個別的遠端作業(ROP )定義為先前版本 伺服器元件與最近版本伺服器元件》這些最近版本不受預 測其結果之大小的請求的拘束》將在下表中列出這些ROP 之特徵: 由一通訊協定用來與 先前版伺服器通訊的 遠端作業 由一通訊協定用來與 最近版伺服器通訊的 遠端作業 ROP ID(遠端作業識別) FXGetBufFer FXGetBufFer 多重模式中所用之參數 請求之大小:伺服器必須 在其輸出緩衝區中保留之 大小 諳求之大小:其值經設定 大於先前版本所期望的最 大值,例如一大於32KB 之值。這會通知伺服器去 尋找新的大小限制。 參數 新參數 無資料 大小限制:通知伺服器其 可填滿其輸出緩衝區之界 限。 建構先前版本伺服器元件之ROP,與現有習知的ROP 建構方式相似。也就是說,ROP可預測並指示在該輸出緩 衝區(如,傳送緩衝區505)中並須保留來儲存一回應之 大小。相反地,在一伺服器元件之的一最新版本中,並未 預測所指示的輸出緩衝區大小,反而示設定一個數值,使 1339052 其大於先前版本伺服器元件所期望的最大值’例如將之設 定為一大於32KB之數值•输出緩衝區之大小係以一大於 伺服器元件所期望之數值來設定的這個事實,會通知伺服 器元件去尋找一新的大小限制參數,該參數可以是,例 如,一填滿該伺服器元件之輸出緩衝區。這些特徵會自動 地最小化該請求-回應週期之數目,且僅小幅增加處理該 ROP之一電子郵件伺服器元件的複雜性。 須注意,除非另為相反的敘述,上述表格與本申請書 中其他表格中參數出現的順序,並不必然與,例如該參數 透過網路傳輸、或被一電子郵件客戶端元件或一電子郵件 伺服器兀件儲存於記憶體中的順序β此外,為求明瞭可 忽略未改變的參數。 '·· ^ ' —通訊拗疋的一主要任務為完 成電子郵件客戶端元件與電子郵件伺服器元件之 :件之傳輸,例如電子郵件訊息。此類資料物件的進一步 實施例包括,可包含電子郵件訊息與其他資 郵件資料夹;以及資料夹關聯資訊(Fai) 件電子 可,例如包含處理電子郵件訊息之規則、一牛,其 包含之資料物件應如何顯示。對—電子郵件2義-資料失 言,資料物件可以為不明的;也就是說〜:戶端元件而 端疋件可能無法解譯該資料物件之內$電子郵件客戶 件可以由具名屬性組成,例如,-電子郵資料物 含名為「收件人」、「寄件人」'「主旨」、「中訊息可至少包 L、「主體2」、「主體3j、「财 广似4要性」、「主體 」,件2 J等之屬性。 16 關於這種資料物件 可以由具名屬性組成之電子郵件網
訊協定先傳輸標頭屬性,之後再傳輸主體屬性或不傳輸。 此一特徵允許一使用者可先檢視多個訊息的標頭資訊而 非檢視所有下載中之訊息的整體。利用此一特徵,客戶端 元件可得對頻寬利用進行較細緻之控制,其可正面影筚通 訊協定效能。此外,一客戶端元件可利用此—特徵,而得 到較小的頻寬利用(例如,可以僅下載所選標頭之主艘), 在頻寬較小的環境十此一特徵尤其理想》 若伺服器元件經組態以兩個獨立的請求-回應週斯來 傳送主體與標頭屬性(即分別傳送標頭與主體),通訊協 定之效能並不必然增加。例如,若該電子郵件客戶端元件 之需求係同時需要標頭與主體屬性兩者,則相對於在_單 一請求-回應週期能取回標頭與主體兩者的情形,前者之 通訊協定效能會下降*因此·使資料物件由具名屬性組成 的這一個簡單的動作並不足以自動地導致通訊協定效能 之改良。欲達成通訊協定效能之改良,係隨著組成一資料 物件的屬性選擇、以及一通訊協定可如何利用該屬性而 異。該選擇會隨著複數個因素而不同1包括對最新與先前 1339052 版本之電子部件客户端开 . . 件之需求;以及對最新與弁訢 本之電子郵件伺服器元件 前烟 之需求的實施例包括,滿 尸端兀件 不同資訊,並符合一電子郵杜& 乂便顯不 士一 服器疋件之需求的實施例包括, 有效率的儲存與取回資料、w η & 貢料以及有效率的處理通訊協定請 求。 傳統先前技術的電子郵件環 鄆仟壤境可利用可由具名屬性漁
成之資料物件,例如,一電子郵件訊息可包括 -標頭組語-主艘組,使得兩組可以分別被請求和… 理。另-先前技術的實施例為一電子郵件訊息其中該; 名屬性組的主體包括該電子郵件訊息主體的多重版本令 如,在多重電子郵件訊息格式中,例如純文字、超文" 記語言(HTML)、豐富文本格式(RTF)等等。在此種行 形下,先前技術之電子郵件伺服器元件可利用複數個^ 式,回應一通訊協定對電子郵件訊息主體之請求。複雜度 最低的回應可以傳送電子郵件訊息主趙的所有版本\但此 一回應可能導致増加頻寬利用。 第7Α囷闡明一先前(習知)版本電子郵件伺服器元件 用來回應此一情形的一程序知一部份。在步味7〇丨中電 子郵件伺服器元件會檢視每一電子郵件句自+m ^ τ也息主體之格 式。若該格式之一為一預設的標準格式(如,RTF ),則該 程序會進行到步驟703,且會將該標準格式之電子郵件訊 息主體傳送到提出請求之電子郵件客户端元件。若該格式 18 1339052 驟 準 利 能 服 協 會 例 件 實 若 功 驟 之 擇 子 請 數 子 體 佳 皆非一預設乏標準格式,則步驟701會進行分支到步 702,在ά處將該電子郵件訊息主體版本之一轉換成標 格式》當一電子郵件訊息主體僅有一單一版本時,亦可 用第7Α圖描述之該副程序,但該電子郵件訊息主體可 不是一通訊協定請求之一標準格式。 第7Β圖闡明根據本發明之一最新版本電子郵件伺 器元件所用的一程序的一部份。在步驟7〇4中,一通訊 定請求會導致一電子郵件伺服器元件利用該副程序時, 檢視該通協定的一BEST—BODY (最佳一主體)旗號。本實施 中的該旗號以及此處所用的其他旗號適用於一電子郵 客戶端元件,且該電子郵件客戶端元件為最新版本且欲 作與該旗號相關聯的功能。可以利用其他指示β例如, 偵測到-最新電子郵件客戶端元件時,可預設實作該 能。 在任何情形下 704會分支到步驟 步驟。 ,若未發現該BEST_B〇DY旗號,則步 7〇1’且繼續進行第7A圓與相關敘述 u 利步攝 705,此 κ 最佳電子郵件訊息主體,以便將之傳送至提出請4 :件客戶端元件。若僅有一單_電子郵件訊息“ 之電子郵件訊息相關聯,則其為最佳之 個通•工 ^ ^ 規子邹件mss可用,例如有不同的格式,月 件伺服器元件會根據,例如一預定之電子郵件言 式順序(如,RTF、HTML、純文字),自其" 19 1339052 之後該步鄉會進行到步驟7〇3, 郵件訊息主想傳送至電子郵件客户端元件。電子 例中,電子郵件客戶端元件具體實施 _ 此刊翔不多重電子郵体 體格式,因而使該電子郵件伺 牛訊心主 „ 服器70件不受將電子郵徠邻 心主體轉換成一標準格式 ° 』堉本之拘束》此外,若有食 要,該電子郵件客戶端元件可 換成-不同格式。 件訊息主趙轉 因為電子郵件词服器元件不須進行轉換電子郵件訊息 ^趙之工作,本發明提供了改良之效能。此外,一最新版 本電子郵❹服器元件可回應來自—先前版本電子郵件 客戶端疋件之通訊協定請求,且僅微幅增加其複雜性。 可利用R0P在一電子郵件甸服器元件與-電子郵件客 戶端元件之間’進行—電子郵件資料夾之複製。可利用, 例如同步化資料夹R〇p,提出同步化一資料失之_請 求當電子郵件客戶端元件能顯示非標準電子郵件訊息 主想格式肖’其可在該同步化資料A ROP中,設定 BEST BODY 旗號·,丨、,屈 4t - # Λ 一 號 乂便心不该電子郵件伺服器元件可自所 有可料電子郵件訊息本趙之中選擇最佳格式,❼非請求 伺服器以一標準格式傳回一電子郵件訊息主體。一電子郵 件伺服器元件可適當地處理具有以及不具有best_body旗 號的兩種ROP,且僅微幅增加其複雜性。可用於和先前版 本與最新版本伺服器進行通訊的R〇p可包括,例如,下 表中所列之特性: 20 由一通訊協定用來與 由一通訊協定用來與 先前版伺服器通訊的 最近版伺服器通訊的 遠端作業 遠端作業 ROP ID(遠端作業識別) SynchFolder SynchFolder (同步化資料夾) (同步化資料夾) 新參數 無資料 BEST BODY旗號:若設 定,電子郵件伺服器元件 會選擇最佳電子郵件訊息 主體,並將之傳送至電子 郵件客戶端元件。不必要 將該電子郵件訊息主體轉 換成一預定的標準格式。 1339052 第8A至8C圖顯示在一電子郵件伺服器元件與一電子 郵件客戶端元件之間,傳輸一組電子郵件訊息的數種不同 現有模式。對於每一模式,每一電子郵件訊息擁有具名屬 性,包括一標頭組與一主體組,且在一資料夾中包含複數 個電子郵件訊息。第8A囷闡明一完整項目傳輸模式。此 圖示顯示,正在傳輸一第一電子郵件訊息標頭801,且接 著傳輸一第一電子郵件訊息主體802;之後為一第二電子 郵件訊息標頭803以及接著一第二電子郵件訊息主體804 如此依序,直到該組電子郵件訊息全數傳輸完成。第8 B 圊闡明一標頭優先傳輸模式。在本模式中,先傳輸一第一 電子郵件訊息標頭805,且接著傳輸一第二電子郵件訊息 標頭806如此依序,直到所有電子郵件訊息標頭全數傳輸 完成,且僅在此時才會傳送一第一電子郵件訊息主體 2 1 807,並接著傳輸一第_ 皮士 第一電子郵件訊息主體808如卟从 序,直到該組電子郵饨 此依 訊心、全數傳輪完成。第8C囷Mbb 一僅有標頭傳輸模式。 圈聞明 φ , 如同其名稱所指,在回應傳輪—心 電子郵件訊息的一回 ^ ^ 輸杈 U應時,僅傳輪電子郵件訊 8〇9。僅當回應—額"那件訊息標頬 自主俨81Λ , 卜特疋以時,才會料電子郵件
心主艘81〇。在這些棋式之中的任一者一 W 電子郵件客戶端元件 陡的 凊求,如一特定的電子郵件訊自 趙,可暫時打斷原有的傳輪順序。 主 嗜灰一/子料f料^做為傳輸子郵件訊息之一 靖求的目標的一音故乂, 實施例。然而’―電子郵件資料夹可含有 電子郵件訊息以外之 有 、他資料物件。如上文所討論,傳輸 棋式之疋義經常係參昭 # “,、電子郵件訊息標頭與電子郵件訊 :…例如標頭優先以及僅有標頭傳輪模式。在此類傳 =式:,試圈傳輸資料物件時,可能未完整定義其具名
之 標頭組和/杏胃f M 協定失敗… 艘組,而導致通訊 "避免此一情形,本發明之一態樣提供了資 件當其具名屬性之一標頭組和/或主體並未完整定 永遠可將之整體進行傳輸而非部份傳輸。可利用第 :―圏做為實施例,闞明此一具體實施例。在此實施例中, 電子郵件伺服器疋件與一電子郵件客戶端元件之間 傳輸可發生於-僅有標頭模式中。因此會傳輸一第一 :子郵件訊息標頭811,且之後資料物件812成為下一個 能輪:候選者。一資料物件812之具名屬性的該標頭组可 未疋整定義’例如FAI,所以會傳輸整個資料物件。當 22 1339052 下一個傳輸的候選者確實具有一完整定義之具名屬性的 標頭組(即,該候選資料物件具有該電子郵件客戶端元件 明確定義的所有具名屬性且屬於具名屬性之該標頭組), 此時僅傳輸一電子郵件訊息標頭813。 實作本發明此一態樣的一範例方式係利用一旗號,例 如IGNORE_MODE_ON_FAI,其可被包含於一同步化ROP中, 例如前述之同步化資料夾ROP» —電子郵件伺服器元件可 適當地處理具有以及不具有一 IGNORE_MODE_ON_FAI旗號的 兩種ROP,且僅微幅增加其複雜性。為了達成在一電子郵 件伺服器元件與一電子郵件客戶端元件之間進行一電子 郵件資料失之複製,ROP可包括下表所列之特性: 由一通訊協定用來 由一通訊協定用來與 與先前版飼服器通 最近版伺服器通訊的 訊的遠端作業 遠端作業 ROP ID(遠端作業識別) SynchFolder SynchFolder (同步化資料夾) (同步化資料夾) 新參數 無貢料 IGN0RE_M0DE_0N_FAI 旗號:若設定,則對像是 關聨資訊的資料物件,其 係為未完整定義好名稱特 性的標題組及/或主體組, 無論普及的轉送棋式為 何,該電子郵件伺服器元 件會以整個資料物件回應 一轉送請求。 電子郵件訊息通常係發給一或多位電子郵件網路使用 23 1339052 者。若一電3 之,則可認·ί 具有複數個 件網路通訊 的數目,而' 見的實施例 網路使用者 器元件接受 下,當,例 子郵件訊息 家用伺服器 第9囷 也可以複雜 特定的電子 網路使用者 用伺服器通 件伺服器元 與905可以 同版本•在 僅可和電子 間之前,電. 元件903進 電子郵件伺 902 、 904 、 -郵件伺服器元件接受一電子郵件訊息並儲存 备該電子郵件訊息已傳送。_電子郵件網路可 電子郵件伺服器元件。一般典型中,一電子郵 :定有某些策略,可限制電子郵件伺服器元件 -電子郵件網路使用者必須檢查新訊息…常 為家用词服器策略,其中發給-特定電子郵件 之電Τ郵件訊息,僅可被一特定電子郵件词服 ,也就是該使用者之家用伺服器。在此情形 如’定期檢查新電子郵件訊息或請求通知新電 時,一電子郵件客戶端元件可經組態僅考量該 吁便疋一簡单的家用词服器策略實施例 化·在第9圏所㈣的實施例中,首先會將一 郵件飼服器元卩9G1指定為—特定電子郵件 之家用词服器。隨著時間,指派給使用者的家 常會因為管理上的理由,改變為不同的電子郵 件9〇3與9〇5。電子郵件飼服器元件901、903、 是,例如實際上不同、或邏輯上不同、或為不 T〇時間到τ丨時財,電子郵件客戶端元件902 郵件词服器元件9〇1進行通訊:之後在Μ 子郵件客戶端元件_僅可和電子郵件祠服器 行通訊:且之後電子郵件客戶端元件9〇6可和 服器元件905進行通訊。電子郵件客戶端元件 與9〇6可以是相同的或不同的。在了2時間之 24 1339052 後,電子郵件飼服器元件90!與903可以存在或可以 在。這些複雜化與下列將討論的電子郵件訊息存放區 製尤其相關。 -電子郵件飼服器元件可將電子郵件訊息儲存於 定之電子郵件訊息存放區,例如,利用已知的資料庫 來實作。一電子郵件何服器元件可具有-或複數個此 息儲存區* 一電子郵件網路使用者可具有一家用訊息 區。改變家用訊息儲存區與前述改變可家用伺服器可 相同的效果》 某些電子郵件網路通訊協定包括—能力可將一 郵件訊息存放區之一部份複製到位在—電子郵件客 元件之-種料H設施H端電子郵件訊息存放 部份複製到-本機電子郵件儲存區設施,可改良通訊 效能和/或了解通訊協定效能,W如,藉由在一指定 子郵件網路使用者請求中,請求檢視所有新的電子郵 息之前,將之全部複製到本機電子郵件儲存區設施。 複製亦可提供額外的電子郵件客戶端元件功能,例如 網路連線中斷時,使一電子郵件網路使用者可檢視一 郵件訊息。 在-電子郵件網路環境中,簡單的複製可能很快 成無效率。例如,若-電子郵件錢器元件具有和一 電子郵件網路使用者相„的_種電子郵件訊息且 息已被複製到該網路使用者之客戶端元件,且:新電 件訊息已傳達給該電子郵件網路使用者,仍然需要傳 不存 之複 一指 技術 類訊 儲存 得到 電子 戶端 區之 協定 的電 件訊 此種 ,在 電子 地變 特定 該訊 子郵 送該 25 兩種電子郵 製該兩種電 到達,則仍 簡單的複製 協定已提供 進此—問題 傳送在一先 放區的改變 一的改變是 電子郵件訊 第10囷 詳細實施例 資料失。每 製,對於複 中,將該累 子郵件客戶 變,以及由 件50 1之改 郵件伺服器 包括一資料 大型物件〇 求10 0 1之 物件〇參數 在前一次同 件訊息,以便回應一簡單的複製請求。若 子郵件訊息之後,另外一種新的電子郵件 然需要傳送該三種電子郵件訊息,以便回 請求,其他訊息亦然。某些電子郵件網路 一種電子郵件訊息儲存區的累加複製,以 。在一累加複製t,回應一複製請求時, 前已成功的累加複製之後,一電子郵件訊 ,例如,當在前一次成功的累加複製之後 有一新電子郵件訊息送達時,僅需傳送該 息’來回應一累加複製請求。 顯示,一可提供累加複製之通訊協定的一 •一電子郵件訊息存放區可再分割成電子 一電子郵件資料夾可獨立於其他資料夾 製過程可提供一更細緻的控制。在此實 加複製過程稱為同步化’因為其包括複製 端元件501至電子郵件伺服器元件5〇2 電子郵件伺服器元件502至電子郵件客戶 變。緊跟著一種同步化請求1〇〇1之後, 疋件502會處理一同步化資料夾ROP。該 炎ID參數(此處未顯示)以及一狀態二 參數。該資料夹1D參數可識別為該同步 目標的一電子郵件資料夹。該狀態二位元 包含的資訊可供電子郵件伺服器元件5〇2 步化作業之後,該電子郵件資料夾上發生 在複 訊息 應一 通訊 便改 僅須 息存 ,唯 新的 種更 郵件 而複 施例 由電 之改 端元 電子 ROP 位元 化請 大型 決定 了何 26 1339052 種改變,如果有的話。若請求⑽ 元件…對目標資料夹之第 代表電子郵件客戶端 飼服器元件502可決定該電子 則電子郵件 電子郵件資料夹,相較於一 ·心存放區中之目標 ^ ^ 二的資料决,i 在回應請求刚!的回應1〇〇2由丨纟是否已改變。 中’電子郵件飼服s - V4· …可將任何改變傳送至電广器-件 被加入目標資料夾中之任何電匕括 物件,以及任何已自目户資“ 和或其他資料 或其他資㈣# m 彳郵件訊.。和/ 產生词服器元件5G2亦會 料夾之;如 件〗,其可表示該目標資 料夹之狀態,在同步化作業之後, 1 件客戶端元件50丨上,同時 、 J時也會在回應1002 t傳送該狀 心一位疋大型物件當電 子郵件客戶端元件501替與請 求100丨t相同的資料夾傳送 社+,, 忖尺得送下—同步化請求1 003時,則 0〇3將包括一參數,其係與和回應ι〇〇2 一同傳回之 狀態二位元大型物件1相同。同前述,在回應1〇〇… 電子郵件词服器元件502會利用狀態二位元大型物件,中 包含之資訊來決定在目標資料夹令已發生何種改變如果 有的話,並將該改變和-新產生的狀態二位元大型物件2 一起傳送回電子部件客戶^^件5〇卜 態二位元大型物件資料物件的大小很大,可能 f通訊協定效能帶來負面影牢,因為其會將其與,例如 電子郵件資料夾同步化請求—同傳送至以及傳送自 電子郵件飼服器兀件。在某些用於電子郵件資料炎同步 27 1339052 ,作業之電子郵件網路通訊協定中,狀態二位元大型物件 :以’絕大部份’由-訊息組改變ID資料物件組成,其 ::別-電子郵件客戶端元件已觀察到之 的改變。當經 文變之電子郵件訊息被傳輸到一電子郵件客 二:和,或伺服器元件時,可認定該元件已概察到一電子 郵件訊息之改變。
訊〜'改變ID資料物件的一種目的可以是在一完整 =子郵件網路之脈絡下,獨特地制—電子郵件訊息之改 。在-使用—種家用伺服器策略之電子郵件網路中一 使用者之家用伺服器可負責將一訊息改變資料物件與 一先前未敕察到之電子郵件訊息改變做—關聨。例如,— 家用飼服器可利用至少包含_㈣服器IDf料物件以及 -序號的訊息改變⑴資料物件一飼服器m資料物件可 利用習知技術在-完整電子料祕之脈絡下,獨特地識 別-電子郵㈣服^件,例如全球唯_識別元。雖外此 識別項本身大小可能很大,伺服器ID㈣物 為由電子郵件词服器元件保有之一識別項查閲資料表的 索心該序號可由-計數器提供,例如,寬度為6位元組 位在一電子郵件錢器元件中,每當電子郵件词服器·件 接受-先前觀察到之電子郵件訊息進行储存時,便會:加 之β 代表—第—電子郵件 且1」代表一序號。 為了討論之目的,可利用,例如 息改變ID資料物件,其中r s ^」係 伺服器元件之伺服器ID資料物件, 28 1339052 方式,可以是,例如, 、「si:2」、以及「s丨:3」 服器元件所用的連續訊 表示一訊息组改變ID資料物件的 「Si],S1:2 , S1:3」,其中「 是一伺服器ID為S,之電子郵件词 息改變ID資料物件。 畜一 狀態二位元大型物件之餌 絕大部份係由代表一電子 郵件客戶端元件所觀察到之改银 J <叹燹的一訊息組改變ID資料 物件(一 Γ訊息改變觀察」組)& 所組成時,已發展出某些 技術來編碼該組,以便減小其大 .,,_ 广 丹大小’例如可將r S丨:卜Si:2 ,
Si:3,S丨:4」組編碼成「S丨:1-4丨。^ j此外’一電子郵件伺服 器元件其所使用的序號永遠都是 也|疋增加的。若發生一非連續 之訊息改變觀察組之情形,例如,「
Sl:1, S,:3. S,:5. S,:7j· 可將之編碼成「Si:l-7」,亦即編碼成_ 取·包括最小與最大序 號之範圍,而不會有功能上的損失。 在第9囫所描述的一種情形中,— 訊W改變觀察組可 包括現用家用伺服器(如,s3)以认 从外之其他電子郵件伺服 器元件(如’ Sl’S2)所產生的訊息改變iDf料物件。 現用家用词服器所產生之-訊息改變ID f料物件可
一原生訊息改變ID ;由其他電子翻M €十郵件伺服器元件產生之 一訊息改變ID資料物件可稱為一外 外。卩訊息改變ID。可和 先前版本電子郵件伺服器元件進行 仃通訊之電子郵件網路 通訊協定,並未對非連續性外部訊自并姐— 心改變ID序列提供此 種最佳化,該最佳化係包括以每一電子郵件飼服器 基礎之最小與最大序號的範圍。下表閣明在本發明之 體實施例中加入此種最佳化的優點: 、 29 由一先前版伺服器 (目前家用伺服器分 使用的最佳化 由一最近版伺服器 (目前家用伺服器s3) 使用的最佳化 最佳化之前 Si:l, Sl:3, S|:5, S1:7 觀察到的訊息更動组 S2: 1, S2:3, S2:5, S2:7 S3:1,S3:3, S3:5, S3:7 最佳化之後 Si:1, Si:3, Si:5, Si:7 Si:1-7 觀察到的訊息更動组 S2:l, S2:3, S2:5, S2:7 S2:l-7 S3:l-7 S3:I-7 1339052 本發明之一具體實施例利用之ROP包括下表所列之特 徵,以便達成在一電子郵件伺服器元件與一電子郵件客戶 端元件之間一電手郵件資料夾的同步化*一電子郵件伺服 器元件可實作該改良之狀態二位元大变物件編碼技術,且 僅微幅增加其複雜性。 當與先前版伺服器通 訊時,由一通訊協定 使用的遠端作業結杲 當舆最近版伺服器通 訊時,由一通訊協定 使用的遠端作業結果 ROP IDi遠端作業識別) SynchFolder (同步化資料夾) SynchFolder (同步化資料夾) 用在一新棋式中之未更 動的參數 stateblob:最诖化不分.括 外地訊息changelD資料 物件的非連續組。 stateblob:改谁的啬估化 包括外地訊息change^) 資料物件的非連續組。 第11A圊與第11B囷中,闡明一先前版本伺服器與一 30 1339052 最新版本伺服器,分別用以回應一同步化資料夾R0P之 -副程序間的不同。第11A囷顯示步驟ιι〇ι、n〇2、與 Π〇3。在步驟1101,建構一種初始訊息改變觀察組。在步 驟Π02,該訊息改變觀察組之成員為原生訊息改變id資 料物件者,會被最佺化。在步驟1103,將該最佳化訊息改 變觀察組加至狀態二位元大型物件資料物件其可和一回 應一起傳送至請求該同步化作業之一電子郵件客戶端元 件。第11B围包括額外的步驟1104,其顯示該訊息改變 親察組之成員為外部訊息改變ID資料物件者,亦會在訊 息改變觀察組之前被最佳化’而現在隨著改良之最佳化, 在步称1103中,將之加入一狀態二位元大型物件資料物 件中。 雖然將一電子郵件訊息存放區再分割成電子郵件資料 夾確實對該同步化過程提供了一種更細緻的控制,但這並 不自動地導致通訊協定效能之改良,且可能造成通訊協定 效能之降低。例如,某些通訊協定請求將每一訊息存放區 資料失分別同步化·每一同步化作業通常有某些額外負 擔’且該額外負擔可能很顯著。利用狀態二位元大型物件 資料物件之同步化作業為可擁有顯著額外負擔之作業的 —種實施例。在同步化一個完整訊息儲存區的情形下,請 求將每一訊息存放區資料夾分別進行同步化之通訊協 定,相較於請求較少同步化作之通訊協定,前者可能有能 較不利。 將一完整訊息存放區同步化,並維持同步化,為一電 3 1 子郵件客戶端元件中理想的目標。傳統先前技術電 客戶端元件已试著達到此一目標,即便如此一來可 訊協定效能產生顯著的負面影饗。本發明之一態樣 其可最小化對通訊協定的負面影響,同時利用—深 架構資料表達成此一目標》傳统先前技術電子郵件 元件無法提供一深層階層架構資料表„ 當將電子郵件訊息儲存區再分割成電子郵件 時’可將這些電子郵件資料夾組織成階層架構。黃 顯示一電子郵件資料夾階層架構的一實施例。在筹 令·資料夾1204為資料夾12〇3的一種子資料夾。 12〇3則依序為資料夾ι2〇2的一種子資料夾。資料 一根資料夾。一根資料夾並非任何其他資料夹的一 料失。所有其他資料失皆為以資料夾1201為根資 資料夹階層架構的成員。一般典型中’一資料夾階 中的每一資料失與每一其他資料夾不具有直接參用 料夾可能僅和其子資料失有直接參照。一資料夾亦 何一種為一子資料夾的資料夾有直接參照。在許 中,當每一資料夾皆對一特定資料夾有一直接參照 特定資料失可能為該階層架構中之根資料夾。 種深層階層架構資料表可包含與一資料夹階 尹每資料夾相關之資訊。在該深層階層架搆資制 每。資料夾可具有一資料列。深層階層架構資料表 訊可用來決定在一特定時間範圍内,__電子郵件資 的内容是否已改變。欲決定在一特定時間範圍内, 子郵件 能對通 係在於 層階層 伺服器 資料夾 5 12囷 【12圖 資料夹 夾 1201 種子資 料失之 層架構 I、。一資 可和任 多例子 時,該 層架構 I·表中, 中的資 料夾中 一電子 32 1339052 郵件資料夾之改變,可將在該時間範圍的開始對一資料夾 之資料列所做的複本,與在該時間範圍的結尾對一資料失 之資料列所做的複本做一簡單之比較。在一具體實施例 中,該深層階層架構資料表之每一資料列包括下列屬性: 屬性名稱 屬性類型 附註 資料夾識別 FID FID類型包含一全球 唯一識別元(GUID)和 六位元組的一序號。這 個值可用來獨一無二 地辨識在一 一電子郵件網路的環 境中之一電子郵件資 料夾。 PR_LOCAL_COMMIT_TIME_MAX Timestamp 任何時候更新這個時 間戳記,修改該資料夾 的内容。 PR_DELETED_COUNT_TOTAL QWORD 這個值係從該資料夾 曾經刪除項目之全部 數量的一計數 每當一資料夾之内容發生改變時,便會更新在一深層 階層架構資料表中的一電子郵件資料夹之資料列的屬 性。為了有效實作一深層階層架構資料表之更新,申請人 已發現對深層階層架構資料表建立一快速且直接之參 照,有助於達成此一目標。至少,申請人已發現當嘗試存 33 1339052 取深層階層架構資料表時,應有一種少數且其 之問接取值的層級。例如,將一深層階層架構 於一資料夾階層架搆中之一任意層級定,並不 測之數目之間接取值的層級β因為此種理由, 一種具體實施例中,一種深層階層架搆資料表 子郵件網路使用者之電子郵件訊息存放區資 構的根資料夾相關聯。 可以將在一電子郵件客戶端元件與一電子 元件之間進行之通訊分割成通訊工作陏段。在 間’可能發生電子郵件訊息存放區同步化之損 在一網路連線中斷的情形中。為了在一通訊工 始重新建立電子郵件訊息存放區同步化,某些 本電子郵件伺服器元件進行通訊之通訊協定, 階層架搆中之每一資料夾採用一同步化資料决 典型中’在工作階段之間,這些資料失中某些 谷會改變。-同步化資料夾ROP以一種未改 做為其目標,會導致一 Γ虛無同步化」。雖然 步化」並不會導致任何資料夾之改變被傳輸至 客戶端元件,其卻仍然擁有—額外負擔與之 如 狀態二位元大型物件資料物件,而此種 以是非常顯著。 第13困闡明本發明之一種具體實施例,其 一冰層階層架構資料表,來避免此種r虚無同 在第一請求1301中,電子郵件客戶端元件 數目可預測 資料表定位 會提供可預 在本發明之 可以和一電 料失階層架 郵件伺服器 工作階段之 i失,例如, 作階段的開 可和先前版 會對資料失 ;· ROP。一般 資料夾的内 變之資料夾 一 「虚無同 一電子郵件 相關聯,例 而外負擔可 可藉由利用 步化」結果, 501可項電 34 1339052 子郵件伺服器元件502傳送一 R〇p (如,取得階層架構資 料表),請求一深層階層架構資料表。在一第一回應13〇2 中會提供該深層階層架構資料表的一複本給電子郵件客 戶端元件501。一般典型中,電子郵件客戶端元件5〇1會 擁有該深層階層架構資料表的一種先前複本。電子郵件客 戶端元件501可將該兩種複本進行資枓列對資料列之比 對’而迅速決定在電子郵件伺服器元件502上之使用者之 電子郵件訊息存放區中,哪些資料夾已發生改變。接著, 僅會利用ROP (如,同步化資料夾)來同步化已發生改變 之資料夾》可在必要時重複請求13〇3與回應13〇4,以便 同步化該已改變之資料夾。在成功進行同步化之後,可更 新該電子郵件客戶端元件的深層階層架構資料表之複 本,以便與在回應1 302中傳送的最新複本相符。若電子 郵件客戶端元件501沒有一深層階層架構資料表的先前 複本,則可同步化在該最新複本中擁有一資料列的所有資 料夾。 一旦已建立一種使用者之電子郵件訊息存放區之同步 化,可藉由定期重複上述工作階段步驟的開頭(即,輪詢 電子郵件伺服器元件),來維持同步化,但此一方法有某 些缺點。例如,輪詢時期可能比一使用者之電子郵件訊息 儲存區的改變之間的時期短得多。在此種情形下在深^ 階層架構資料表之比較中,會有相對較多的比較指出並沒 有資料夾被改變。此種比較實際上是白費氣力,所以一種 可避免此情形之通訊協定應當較有效率。 35 1339052 某=子料網路包括—種㈣,可供—電子郵件客 尸^件訂閲在,例如一特定電子郵件資料夹之内容改變 時,接受一電子郵件祠服器元件的通知•某些先前版本電 子郵件客戶端元件會使用此種設m與一使用者的資 料夾階層架構中每一資料夹相關聯之改變通知產生一獨 立的訂閱,藉此維持一使用者之電子郵件訊息存放區的同 步化。在本發明的-種具想實施例t,_電子郵件客戶端 元件對與該深層陪屠架搆資料表相關聨的改變通知僅可 產生—單—訂閱,一單一訂閱較有效率因為僅需較少 ROP便可建立,且消耗較少伺服器方面的資源。 進一步參照第13圖,當一最新版本電子郵件客戶端元 件501根據本發明之一態樣,在和一電子郵件伺服器元件 5〇2之一通訊工作階段的開始,便在一第一請求13〇丨中, 利用一獲取階層架構資料表R〇p,電子郵件客戶端元件 ⑻可自動地訂閱在回應13〇2中傳回的與該深層階層架 構資料表相關聯之改I當在電子郵件客戶端元件的一使 用者之電子##訊息存放㊣中的一電子卸#資料夹發生 一改變時,例如將一電子郵件訊息加至該資料失,亦會如 前述方法更新肖深廣階層架搆資料表。纟生於深層階層架 構資料表之改變會引起對電子郵件客戶端元件5〇1的一 雖然該通知警告係回應請求1301提出之 利 額 通知警告1305。 訂閱,期並非一特定請求 用本發明提出之通知系统 -回應週期的一部份。因此, ’對電子郵件網珞造成較小的 外負擔》 36 丄幻9〇52 一早—訂閱可導致多個通知。在一具體實施例中會 考j用一種非連結導向網路傳輸機制,例如 tf, ^ , 氏两有貢料包通 協疋/網際網路通訊協定(UDP/IP ),來傳送笔生 可釗田ν λ- 疋言〇 ’但亦 叫用任何適當的網路傳輸機制。為了回應該警告,電子 :件客戶端元# 5〇1會將帶有一 R〇p (如,獲取通知): ''請求1306傳送至電子郵件伺服器元件5〇2。在回應 中,將任何已改變之深層階層架構資料表的資 Λ J只付夕(即, 目對應於一種已改變之資料夾的資料列且其引發該通知) 傳送至電子郵件客戶端元件5〇丨。之後電子郵件客戶端元 件501會利用R〇p (如,同步化資料夾)來同步化已改變 之資料夹β 對於與該相同資料物件(如,相同的電子郵件資料失) 相關聯的改變通知,多重電子郵件客戶端元件可訂閲之, 例如,提供協力功能。如第18圓所闌明,電子郵件客戶 蠕元件1801、1802、與1803已訂閱與位在電子郵件词服 器元件1804上的相同資料物件(此處未顯示)相關聯的 改變通知。電子郵件客戶端元件18〇3將一 R〇p 18〇5傳送 至電子郵件伺服器元件1 8〇4,並導致資料物件的一改變。 因為該改變,電子郵件伺服器元件i 8〇4會向電子郵件客 戶端元件1801 ' 1802、與1 803送出改變通知18〇6、18〇7、 與1 808。除了識別已改變之資料物件的資料之外,改變 通知僅可攜帶少數資訊,使得,例如一電子郵件客戶端元 件不會決定其為造成一特定改變之原因·若該資料物件 為’如一電子郵件資料失’則改變通知I 8〇6、1 8〇7、與 37 1339052 1 808 m * - 導致每一電子郵件客戶端元件1801、18 初私儿 ^ a 〇03 °該已改變資料夾之同步化。在此實施例中,既然係 7電子郵件客戶端元件丨803造成該改變,其結果將為一 「虛無同步化」。 " 基於前文討究的原因,消除會造成一「虛無同步化」 之同步化作業,是非常理想的。然而,所述的通知行為並 非永遠為一不受歡迎之行為,且某些電子郵件客戶端元件 可能須仰賴之。本發明之一態樣在於提出一電子郵件客戶 端π件,其具有組態一最新版本電子郵件伺服器元件之通 知行為的能力,以便改良通訊協定效能,同時向先前版本 電子郵件客戶端元件提供未改變之通知行為。 第19八圖闞明可由先前版本電子郵件伺服器元件提供 之通知行為。第1 9Β囷闞明根據本發明之一態樣的可組態 之通知行為。若有需要,一最新電子郵件客戶端元件可指 不一電子郵件伺服器元件,其能夠進行第19Β圖中之通知 行為,例如藉由和一請求一起供應一旗號,在第19Β囷的 實施例中,為一種略過-自身旗號。 在步驟1901,會選擇該組訂閱者中下一個將被告之的 候選者。在步驟19〇4 ,會檢視該訂閲之略過_自身旗號。 若旗號未出現,步驟1904會分支到步驟1902 ,在該處將 通知傳送至候選的訂閱者。若發現該旗號,步驟1 904 會分支到步驟1905,在該處再次檢視該訂閱以便決定訂 閱者是否引發此一通知。可藉由’例如檢視用來進行訂閱 之工作隋段的一通訊工作階段識別項(「工作階段1D」), 38 1339052 來進行此一決定。一種工作階段ID,例如,可 一全球唯一識別元以及一 6位元組之序號。亦會 檢視該工作階段ID與其原因是否相關聯。若二 則會抑制該通知。一種结果可能是引起一通知的 件客戶端元件,並不會也接收該通知。之後副程 至步称1903,如下所述。 若訂閱者並未引發該通知,則與該訂閱關聯 段ID和與通知的原因關聯的工作階段ID並不才 驟1905會分支到傳送該通知的步驟1 902。之後 進行到步驟1903,在該處會決定是否需要通知 者。若需要,副程序回到步驟I 90 I,否則該副程 如前所述,利用電子郵件訊息之快取儲存區 郵件客戶端元件可請求,例如透過一 ROP ,將 戶端資料存放區以及電子郵件伺服器元件上可 存放區之間的訊息或其他資料物件進行同步化。 客戶端元件可利用類似的方法提出請求,將來自 放區的訊息複製到客戶端健存區中》在任一種情 利用一快速傳輸模式來進行請求。 一般典51中,當請求訊息或其他資料例如檔 步化或複製時’該請求(如,ROP )包括一種指 所有欲進行同步化之訊息。一電子郵件词服器 用,例如,上述之狀態二位元大型物件特徵,自 此一清單。對於先前版本(先前技術)電子郵件 件,在一 ROP請求+的一訊息或資料物件的_ 至少包含 在該通知 者相符, 一電子郵 序會進行 的工作階 同,而步 該過程會 更多訂閲 .序結束。 的一電子 一本機客 用的資料 電子郵件 伺服器存 形中,可 案進行同 示,指出 元件可利 動地建構 伺服器元 錯誤,會 39 1339052 引發該請求中所有項目的錯誤。在第14A圖中顯示此—過 程’在該處將帶有一 ROP的一請求(如,FXPrepare )和 經指派將進行複製或同步化的一訊息ID組一起於步麻 14〇1進行傳輸。在電子郵件伺服器元件502上設定一快 速傳輪機制,且在步驟1402將一快速傳輸ID傳輸至電子 郵件客戶端元件501。之後電子郵件客戶端元件501會透 過一種帶有,例如,一種FXGetBufferROP的請求,請求 將該資料物件複製或同步化(步驟! 4〇3 )。當電子郵件祠 服器το件5〇2嘗試開啟所請求的訊息時在—或複數個訊 息或其他資料物件t會發生一錯誤。錯誤例子包括—訊息 或資料物件已損壞、飼服器錯誤、電子郵件伺服器元件 5〇2記愧體將用盡、或偵測到該資料物件中有—病毒。 在錯誤之後,電子郵件伺服器元件5〇2會在步驟14〇4 中,於串流至電子郵件客戶端元件5〇1的資料中傳送一 ,重R0P錯誤。因此當同步化失敗時電子郵件客戶端 兀件501並未同步化或複製該訊息⑴組中的訊息而且 也未接收狀態二位元大型物件或類似的更新資訊。之後電 :郵件客戶端元件501必須在一其他時間請求將該資料 件同步化或複製。若-錯誤並未固定於電子郵件伺服器 元件502處’有可能繼續 得达錯誤訊息,且該訊息ID組 甲的訊息可能;^τ a 1 水遠不會破同步化或複製。 根據本發明之一能崧 λ ^ -= 〜,—最新電子郵件伺服器元件可 傳送關於特定資料物件 件了 而非-嚴重Rf)p⑻ 電子郵件訊息)錯誤資訊 董R0P錯誤|伸竹# + 使得僅有該物件之同步化會失敗。 40 1339052 此一特徵使得,即便在該回應中包括帶有一錯誤的訊息或 其他資料物件時,一 ROP或其他請求中的訊息或其他資 料物件仍能被傳輸與同步化或複製。 一種如何處理一物件專一之錯誤的實施例中,對於帶 有一物件錯誤之資料物件,一最新電子郵件伺服器元件可 在一資料流中傳送一錯誤訊息》在此實施例中,為了參照 的方便,將該錯誤稱為 FXErrorlnfo。若需要時,如下文 將進一步描述,FXErrorlnfo可包括的資訊,例如錯誤之 資料物件的訊息ID、以及關於訊息為何失敗的額外資訊 等。 第14B圖顯示一同步化,在一訊息M3中出現一種錯 誤。該錯誤會產生一 FXGetBuffer回應1405,其包括訊息 Μι、與訊息 M2,其後跟著 FXErrorlnfo '與訊息 M4。 FXErrorlnfo資訊使得電子郵件客戶端元件501可知道何 種訊息帶有一錯誤,並同步化該回應中之所有其他訊息。 若錯誤訊息FXErrorlnfo包括關於該錯誤之理由的資訊, 該客戶端元件可隨之利用該資訊,例如藉由向一使用者顯 示一錯誤訊息。 下表顯示FXErrorlnfo可用之格式的一實施例:
FXErrorlnfo 屬性名稱 屬性類型 註解 版本 WORD 這個結構的版本 錯誤碼 DWORD 4 1 訊息識別 MID MID類型包含一全球 唯一識別元(GUID)及 六位元組的一序號。這 是產生該錯誤之訊息 的訊息識別》 … 可在此加上零或更多 屬性。 輔助攔位大小 UL0NG 依循此陣列的大小 輔助攔位 BYTE array(位元組陣列) 一無特定架構的的陣 列用於通訊錯誤細節 1339052 如此處可發現,這些示範性格式包括一版本屬性、一 錯誤碼、以及一訊息ID。此外,若有需要,可加入一或 複數個屬性。更進一步,如前所述,可替通訊錯誤詳細資 料定義一輔助欄位。同樣地*可定義一屬性來命定錯誤詳 細資料之欄位大小(如,一陣列),且可以用,例如可用 於通訊錯誤詳細資料的一種未建構之陣列,來提出一攔 位。如前所述,可隨電子郵件客戶端元件501之需求來處 理錯誤詳細資料。 FXErrorlnfo使得第一回應之同步化得以完成,例如將 一狀態二位元大型物件或其他資訊提供給電子郵件客戶 端元件 5 0 1。因為該電子郵件客戶端元件現正透過訊息 M4來進行同步化,下一個請求同步化的請求1406,可造 成一回應1407,其具有M4之後的訊息(如M5、與M6 )。 42 為了指出一電子郵件客戶端元件501為一最新版本, 並因而可以處理FXErr〇rInf〇訊息可定義_旗號,例如, FX恢復模式,其可一請求的步化或複製的R〇p _同傳 檢。電子郵件客戶端元#5〇1可利用其他指示,和能夠處 理FXErrorUfo訊息的電子郵件伺服器元件5〇2進行通訊· 當電子郵件伺服器元件502將一或複數個訊息或其他 資料物件傳送至電子郵件客戶端元件5〇1時,串流至電子 郵件客戶端元件之資料可以是單獨的或由内容標琏定義 (如,ptag )。例如,一訊息清單可包括每一訊息的—開 始訊息ptag以及一種結尾訊息ptag,在開始與 、^ Ptag 之間,可以為_内容清單ptag,以及一主題ptag,其可擁 有一字串的内容。該主題ptag其後可跟著該主題本身· 可包括其他内容標籤。 在傳輸一訊息時發生一錯誤的情形中,可以—
Ptag 之 形式提供該FXErrorlnfo,且其可擁有二元屬性,例如上 表中所定義者* 一跟隨於後之資料資料流的一實施 •具 有一成功訊息以及一錯誤發生於其中的訊息兩者 發生的情形令,結尾訊息ptag並未用於該特定訊肩, ’且 ptag FXErrorlnfo為該訊息之最終ptag。 ptagMessageListStart ptagMessageStart ptagPropList ptagSubjeet [PT—STRING〕 "Re: Your email” ptagMessageEnd 43 1339052 笫 i 圓賴示 ptagMessageStart ptagFXErrorlnfo [ PT_BINARY ) [内容如由表令所描述〕 ptagMessageStart ptagMessage End ptagMessageListEnd w州服器元件5〇2可戶 訊息傳輸至一先前版本電子郵件完 _ 邱忏各戶端兀件501 驟。自步驟1501處開始,籌備訊* 询祇〜組,例如藉由并 组置於快速傳輸資料儲存區中。在步 J υ z * 開 i 輪出訊息,例如緊接在將其至於電子郵件伺服器元 之傳送緩衝區中之後。若當串流輸出訊息時發 誤,則會在步驟15〇4中.將一嚴重R〇p錯誤串流^ 郵件客戶端元件501。之後結束該副程序。若,=与 訊息時,未發生一錯誤.則在步驟15〇3令會決定士 是否有更多訊息。若然,該程序會週期回步秣丨 該處將下一個訊息串流輸出。若否,則該結束副程 第15B囷顯示一電子郵件伺服器元件5〇2的一邊 本可用來處理一訊息組的一種程序。隨著電子郵件每 元件為一最新版本或一先前版本,所用的步驟也會 步驟1501至1504為一先前版本電子郵件客戶端元十 之步驟,且其和上述段落中具有相同參照塢號的多 同。 來將 的步 訊息 串流 502 一錯 電子 流該 組中 ,在 〇 新版 戶端 同。 所用 驟相 44 若在步驟1502中,當串流該訊息時菊 在步驟1505決定該請求是否包括一旗號 式。若該請求包含旗號,則該電子郵件客 •'最新版本,且步驟15〇5分支到步驟 串流至電子郵件客戶端元件 續進行到步驟1 503。若該請求並未包括旗 分支到步驟1504,在該處將一嚴重R〇p 之後結束該副程序。 如此處可發現,在請求中出現旗裁 FXErrorlnfo串流輸出,而非使其失敗並 錯誤’使得該串流過程可繼續進行。該旗 件客戶端元件50 1之一最新版本所傳送。 元件之先前版本並未包括該旗號’因此一 嚴重R0P錯誤串流輸出,如前所述。 若有需要,在另一種具體實施例中, 他資料物件之特定内容傳送出錯誤訊息(3 可以是,而非替一個完整訊息。例如,可替 或—訊息之一附件,傳送出FXErrorlnfo 件客戶端元件501可將已成功傳出且沒 進行同步化或複製,且僅有具有錯誤之内 或複製。 有時候,一訊息或其他資料物件的大 多重FXGetBuffer回應。為了處理此類訊 戶端元件501可包括回捲邏輯,使其可處 l現一錯誤,則會 ,例如FX恢復模 戶端元件501為 1 506,在該處將 5(Π。該過程可繼 號,則步驟1 505 錯誤串流輸出。 :,會藉由將一 傳送一嚴重ROP 號係由一電子郵 電子郵件客戶端 錯誤會導致將一 可替一訊息或其 ^ * FXErrorlnfo ) 一訊息之主體、 。之後,電子郵 有—錯誤之内容 容未進行同步化 小可能足以合併 息’電子郵件客 置任何部份接收 1339052 之訊息’並處理之,以便在接收一錯誤訊息之後適當地接 收進—步的訊息。
在某些時候,一電子郵件客戶端元件玎能需要對資料 物件,例如電子郵件訊息,之複製或同步化’提供回饋, 根據本發明之一態樣,一電子郵件客戶端元件501之—最 新版本可指示其能處理進度模式,例如當提出同步化或複 製資料物件之請求時,藉由將一旗號,例如進度—棋式, 傳送至—電子郵件伺服器元件502。為了回應,一電子郵 件词服器元件502的一最新版本可隨著訊息傳送複數個 資訊,例如所有訊息的總計大、訊息總數、以及,每—訊 息的總計大小、或任和前述之組合。 例如,如第]6®中所示,對於一先前版本電子郵件客 戶端元件50丨,其回應一訊息組之一快速傳輸請求(1 6〇 i 與1603 )時,電子郵件客戶端元件5〇1會接收該訊息。 在第16A圖_,在兩種回應丨6〇4與16〇6中接收訊息,在 利用一快速傳輸機制之先前版本電子郵件客戶端元件^ 中,並未對將串流至客戶端之訊息提供—進度指示。
然而,如第16B囷中所示,為電子郵件客戶 出之一訊息組的請求之一回應16〇7,電子郵件飼服器 件502可提供將被傳輸之資料物件總數、以印將被傳輪 所有資料物件的總計大小,在第〖6B囷中以「p " 示該資訊。-電子郵件词服器元冑5G2之_最新版本二 提供每一訊息之大小,在第16B圊中,以「p丨,p2,p” 表示。此外’…要,與每一訊息以及整植訊2息相3關 46 1339052 的資訊可包括關於每一訊息是否為 FAI或一真正電子郵 件訊息之額外資訊。在一具體實施例中,為了簡化資料資 料流之處理,永遠會回應一快速傳輸請求,傳輸在第16B 圓t以「PaM」表示之資訊,即使並未傳輸任何資料物件。 下表顯示所有正被傳輸之資料物件之大小與數目之格 式的一實施例。
IncrSyncProgressMode 屬性名稱 屬性類型 註解 Version WORD (例如一 16位元整數) 這個結構的版本 CassocMsgs DWORD (例如一 32位元整數) 要轉送的FAI資料物件 之數目 UTotalAssocMsgSize QWORD (例如一 64位元整數) 要轉送的所有FAI資料 物件之全部大小 cnormalMsgs DWORD 要轉送的電子郵件訊 息之數目 UTotalNormalMsgSize QWORD 要轉送的所有電子郵 件訊息之全部大小 如此處可發現,可將獨立屬性定義成FAI資料物件的 數目、所有FAI資料物件之總計之大小、將傳輸之電子郵 件訊息的數目、以及將傳輸之電子郵件訊息的總計大小。 可以隨需要將其他組合與額外屬性加入至格式中。 下表顯示大小的一種格式以及可和每一訊息一起提供 之其他資訊。 47
IacrSyncProgressModePerMsg
屬性名稱 屬性類型 註解 訊息大小 LONG 下一個訊息的大小 FAI旗號 BOOL 指示下一個訊息是否 為FAI 如如此處可發現,該格式包括下一訊息之大小以及該 1339052 下一訊息是否為FAI。 第17A與17B圓分別顯示根據電子郵件元件之一先前 版本以及電子郵件元件之一最新版本,串流一訊息組之步 驟•第17A圖中之步麻與第15A圖中之步邾1501至1503 相似。在第17B圖中,一最新電子郵件客戶端元件 501 將進度_模式旗號與,例如一 R0P,一起傳送。當在步驟 1701蕃備訊息組之後,會決定該旗號是否出現。若然, 則在步驟1702中傳送進度全鱧資料,且該過程之後進行 到步驟1502,在該處串流第一訊息•若旗號未出現,則 步驟1701直接分支到步驟1 502 < 在串流第一訊息之後,該過程進行到步驟1 7 0 3,在該 處會決定該旗號是否可用。若然,則步称i 7〇3分支到步 称1704,在該處串流每一訊息進度資料。之後該過程進 行到先前所述之步驟1 503。若該旗號不可用,步称17〇3 會直接分支到步驟1 503。 下文舉出一實施例’可將資料進行串流,供一最新伺 服器元件將資料傳送至一種最新客戶端元件。該資料之資 料流與上述資料的資料流類似,但額外白紅冰亦站, Λ叩包括進度總計資料 之 Ptag ( ptaglncrSyncProgressMode),甘-Γ 诚 士 }其可擁有,例如, 48 1339052 二元屬性。此外,對於每一訊息,提供每一訊息進度資料, 例如 » 以 ptaglncrSyncProgressModePerMsg0
PtaglncrSyncProgressMode C PT_BINARY ] 〔内容如由表中所描述〕 ptagMessageListStart
PtaglncrSyncProgressModePerMsg ( PT_BINARY ) 〔内容如由表中所描述〕 ptagMessageStart ptagPropList ptagSubject C PT_STRING ] "Re: Your email" ptagMessageEnd
PtaglncrSyncProgressModePerMsg C PT BINARY ) 〔内容如由表中所描述〕 ptagMessageStart ptagMessageEnd
PtaglncrSyncProgressModePerMsg [ PT_BINARY ) [内容如由表中所描述〕 ptagMessageStart ptagMessageEnd ptagMessageListEnd 在所示的實施例中,ptag 包括進度總計資料 (PtaglncrSyncProgressMode )以及用於訊息進度資料 49 1339052 (ptaglncrSyncProgressModePerMsg )之 ptag,分別 息清單以及每一訊息之前定位這些ptag。然而,可以 資料物件之資料流結構,以便使得訊息或訊息清單中 包括進度資料。更可能進一步修正資料物件之資料 構’以便將界定訊息和/或訊息清單之ptag整個消除 一接收進度資料之電子郵件客戶端元件可利用此 料來決定來自電子郵件伺服器元件之資料物件進行 化或複製之進度,並可利用該每一訊息進度資料,來 每一個別訊息之進度。該資訊對於,例如,在監控關 同步化作業之實時進度的資訊實,頗有助益β 還有複數個不同的字元集可用來儲存一電子郵件 或其他資料物件β例如,在儲存英文字元時,最常用 是ASCII。然而,Ascn不足以儲存所有語言的字元 為其係以8位元字元為基礎。因此,ASCU編碼僅能供 個字元使用,$對英文雖然足夠,對於有更多字元的 却不夠。另-方面’統_字元編碼(Unie〇de ),係對 字元利用16 #元(2位元组)的字元集因此能夠 比ASC Π更多的字元。統-字元編碼可用於65, 536 元因此可用於編碼幾乎全世界所有的語言。統一字 碼t包括了 Ascn字元集。 一二般 '言,電子郵件客户端元件501之先前版本 扎疋的字碼頁’或與之相關聯的字元集和/或語言 —電子郵件客戶端元件5〇1的一特定版本可擁有 字碼頁且—其他版本可擁有- ANSI字瑪頁。在 在訊 修正 可以 流結 〇 一資 同步 決定 於― 訊息 的便 ,因 ^ 256 語言 每一 涵蓋 個字 元編 擁有 。例 一德 某些 50 1339052 時候,可能需要一電子郵件客 碼頁以外之字元霁的你工 端元件501接收指定的字 u果的電子郵 最新客戶端元件可強迫一 根據本發明之一態樣,一 元編碼來提供所有電子郵電子郵件词服器元件以統一字 501接收該電子郵徠''旦電子郵件客戶端元件 呷彳千,可牌統一定_ , 成客戶端之字嗎Λ 7C•蝙碣之電子郵件轉換
Θ貝,或可維持其A 為了指示—電子郵件客戶端、-為統一字元編瑪格式· 統一字元編码提供,電子郵;^件川請求電子郵件以 如,提供一&# ,, 干客戶端元件501可以,例 如提供旗號,例如強迫統一 „a ^ Μ .ηη 予疋編碼,至電子郵件伺 服器疋件502 ·該旗號可 ROP . ^ ^ ^ π求—起提出,例如以一 R〇P若電子郵件词服器元件502 A ^ —- 2為—最新版本,且若統 一子疋編碼版本可用或可將 蚝 技垃^ 丹他予几集之電子郵件訊息 w 郵件伺服器元件502可提供 該電子郵件之統一字元編碼版本。 、 第20圖顯示根據本發明之_ , .占徕,將一訊息以一特定 子疋集提供之步騸<自步驟2〇(η ㈣200 1開始•電子郵件飼服器 凡件502自其資料儲存區取回一 — w •思*在步驟2002,決 疋該強迫統一字元編碼旗號是否出現,若否,則步驟“Μ 分支到步驟2003,在該處電子郵件伺服器元件5〇2以電 子郵件客戶端元件所指定之字元編碼提供電子郵件訊 息’若有必要會進行轉換。 若強迫统一字元編碼旗號出現' 則步驟2〇〇2分支到步 脒2004,在该處決定該訊息是否以蛛一字元編碼儲存· 若然,步驟2004分支到步驟2005,在該處以統—字元編 5 1 1339052 瑀字元集將該訊息提供給電子郵件客户端元件501。若該 訊息並未以統一字元編碼儲存,則步骒2004分支到步麻 2006’在該處將該訊息轉換成統一字元編碼,且之後該過 程逋續至步驟2005,在該處以統一字元编碼字元集將該 訊息提供給電子郵件客戶端元件。 此處引注之所有參考文獻,包括刊物、專利應用程式、 以及專利,皆於此處納入,如同個別且特定指明每一參考 文獻般,並於此處全部提出》
此處利用「一」、「一種」、「該」等詞以及相似的指示 詞來描述本發明時(特別是在下列申請專利範圍之脈絡 中)’應理解其同時包含單數與複數,除非此處特別指明 或明顯與上下文相抵觸《「至少包含」、「擁有」、r包括」、 「含有」等詞,應理解為開放性語詞,(即,代表r包括 但不限於」)’除非另行註明。此處詳述數值的範圍,僅係 欲提供一種快速的方法來個別指稱每一獨立且落在該範 圍間的數值’除非此處另行指明,且每一獨立數值皆被納 入本說明書中,如同已於此處個別詳述《所有此處敘述之 方法’皆可以適當的順序來執行,除非另有相反的說名或 明顯與上下文相抵觸《此處所使用之任何與所有實施例或 示範性語言(如,「例如」),僅係為了更完善地闡明本發 明,且不對本發明之範圍構成限制,除非另有不同之申請 專利範圍。說明說中所有文字不應被視其係指示任何非申 請專利範圍之要件對於實作本發明有實質重要性。 此處敘述本發明之較佳具體實施例,包括發明者已知 5 2 1339052 的實行本發明之最佳模式。習之技藝人士藉由閱讀前述敘 述可輕易發現這些較佳具施例的變形。發明者㈣ 、之技藝人士將適當運用此類變形且發明者已設想到本 發月可以此處特定敘述以外之方法來實行。相對應地在 可次用法律允許的範圍内,本發明包括所附申請專利範圍 中詳述之專利標的之所有修改與等價物。此外,以其任何 可能的變形將任何前述項目所做的任何組合皆為本發明 所涵蓋’除非此處另行指明,或明顯與上下文相抵觸。
【圊式簡單說明】 第1圓為一由網路連接之電腦的概要囷示。 第2圖為一概要囷示,闌明一可用於實作本發明之一 種示範性具體實施例的電腦系統。 第3囷為一概要圏示,描述一種同時具有電子郵件客 戶端元件與電子郵件伺服器元件之多重版本的環境。 第4圏為一種通訊協定囫示,顯示在—電子郵件客戶 端元件以及一電子郵件伺服器元件之間的一種通訊協定 協議程序之一種實施例。
第5囷為一概要固示,顯示—電子郵件網路之實施 例,其甲,電子郵件客戶端元件與電子郵件伺服器元件具 有固定大小之通訊緩衝區。 ' 第6A圊為一種通訊協定囷示,顯示_ 不fe性通訊協 定,其需要兩個請求-回應週期,以便完忐 &疋成一快速傳輸作 業。 53 丄: 第 6B _ - — 囷為—種通訊協定圆示’頰示一示範性通訊協 、需要一單一請求-回應遇期,以便完成一快速傳輸 作業》
第 7 A 阐為-流程囷,描述傳送一電子郵件訊息主體至 一電子郵件客户端元件的一種示範性程序β 第 7 Β 1»
園為一流程囷,描述根據本發明之一態樣傳送一 電子郵彳Φ ^11 A 卞訊息主體至一電子郵件客戶端元件的一種實施 例程序。 第8A囷為— 第8B围為— 第8C闽為— 第8D圓為— 頭傳輸模式的_ 序列圓,闡明一種完整項目傳輸模式。 序列圓,闡明一種標頭第一之傳輪模式。 序列囷,閣明一種僅有標頭之傳輸模式。 序列圓,闞明一種標頭第一或一種僅有標 家用.Vi為—概要圓示,顯示一電子郵件客戶端元件 件伺服器元件正隨著時間而改變。 第10囷為一種通訊協 ^ . i -r η ^ 疋圓不顯不一示範性通訊 疋,其可同步化_電子郵 Ε π ^ ^ Μ 客戶端疋件與一電子郵件伺 器70件之間的電子郵件資料失。 第1 1 Α囷為一流程囷, φ .立 榀述最佳化一種狀態二位元 型物件之_部份的_示範性程序。 第11B囫為一流程囷, —位元大型物件之一部份 第12囷為一概要囷示, 態 構 插述根據本發明最佳化一種狀 的一實施例程序。 闞明一電子郵件資料失階層架 54 1339052 炫艰讯勘疋圓不,顯示一示範性通讯協 定,其可根據本發明之一態樣同步化並維持一電子二 息存放區之同步化。 第14A圖為一種通訊協定 两不種不範性通訊 協疋,其可在ROP層級傳遞錯誤資訊。 第mb®為一種通訊協定困示,顯示_種示範性通訊 協定’其可根據本發明之-態樣,以每_訊息為基礎^ ROP層級傳遞錯誤資訊。 第15A圓為一流程圖,描述一種程序可在R〇p層級 生錯誤資訊。 第15B圖為一流程圖,描述一種程序可根據本發明之 一態樣*以每一訊息為基礎,產生錯誤資訊。 第16A圓為一種通訊協定圖示,顯示一示範性通訊協 定可進行一快速傳輸作業。 第16B囷為一種通訊協定囷示,顯示一示範性通訊協 疋,可根據本發明之一態樣,在進行一快速傳輸作業時提 供進度資訊。 第17A圖為一流程圊,描述一種程序可串流輸出一訊 息組》 第17B圖為一流程圖,描述_種程序可根據本發明之 一態樣,將進度資訊隨著一訊息組奉流輸出。 第18圖為多重電子郵件客戶端元件的一種概要圓 示’其正因為在一電子郵件伺服器元件上該相同資料物件 之改變,而接受通知β 55 1339052 第19A圊為一流程囷,描述_種程序可通知多重訂閱 描述一種程序可根據本發明之 描述一種程序其可使用根據本 ’提供一電子郵件訊息。 11 網路 16記憶體 20顯示器 202不可移除儲存區 204輸入裝置 1 803 電子郵 第19B圊為一流程囷, 一態樣通知多重訂閱者。 第20囷為一流程囷, 發明之一態樣的理想字碼表 【元件代表符號簡單說明】 10電雎 14處理單元 1 8最基本組態 201可移除儲存區 2〇3輸出裝置 205 通訊連線 先前版本電子郵件客戶端元件 最新版本電子郵件客戶端元件 305先前版本電子郵件伺服器元件 最新版本電子郵件伺肢器元件 308,309,310,311 通訊協定 501 ’ 902 , 904 , 906 , 1801 , 1802 301 , 302 303 304, 306 307, 401, 件客戶端元件 905,1 804電子郵件伺服器元件 404伺服器版本資訊 504,506接收緩衝區 402 , 502 , 902 , 903 , 403客戶端版本資訊 503 ’ 505傳送緩衝區 56 1339052 601, 603 801 802 803 804 809 810 1001 1201 1303 1304 1401 605’ 1301 第一請求 6 02,6 06,13 02 第一回應 第二請求 004第二回應 805’ 811第—電子郵件訊息標頭 806第一電子郵件訊息主體 807第二電子郵件訊息標頭 808第二電子郵件訊息主體 8 1 3電子郵件訊息標頭 電子郵件訊息主體 8 1 2電子郵件訊息主體? ’ 1002,1〇〇3,1〇〇4同步化資料夾 根資料夾 1202,1203,1204資料夾 ’ 1 305,1307,1601,1603,1605 請求 ,1306, 1602, 1604, 1606, 1607, 1608 回應 ,1402,1403,1404,1405,1406,1407 傳輪步驟
57

Claims (1)

  1. Lf m換頁卞3咏_谋竹年e月修正 拾、申請專利範圍: 卜一種其上儲存有電腦可執行. 雜mu 電腦可讀取儲存媒 體,該等指令用以執行一方法,該 Μ方法包含以下步称: 自一電子郵件客戶端元件接 Φ , 明未,其係請求複數個 電子郵件資料物件,以及 β⑷一 M 不其指示該電子郵件客 戶鸲兀件能夠處理一錯誤資訊, 龢加亦 錯邊資訊用以指示該等複 數個電子郵件資料物件中一 g* . 電子郵件資料物件在開啟 時發生一錯誤; 取回該等複數個電子郵件資料榀姓 _ . ^ β α # %件心應該請求與該指 不,及 對於該等電子郵件資料物件之每—者而言: 若開啟該電子郵件資料物件時未發^錯誤,則將該電 子郵件資料物件傳輪至該電子郵件客戶端元件,及 若開啟該電子郵件資料物件時發生一錯誤,則將包括 此電子郵件資料物件 錯誤#3fl的一錯誤訊息傳輪至該 電子郵件客戶端元件。 2.如申請專利範圍第1 電腦可磺取儲存媒體’其中該錯 誤貢訊至少包含該電子郵杜咨μ 1 L 电卞鄄件身枓物件之版本資訊。 3.如申請專利範圍第2項之電 本資訊至少包含—16位元整數 腦可讀取儲存媒體,其中該版 4.如申請專利範圍第1 該錯 疋览腦可讀取儲存媒體,其令 誤資訊至少包含該電子郝 郵件資料物件之識別資訊。 58 年月曰修(更)正替換頁j 5.如申請專利範圍第4項之電腦可讀取儲存媒體,其中該識 別資訊至少包含一 3 2位元整數。 6·如申請專利範圍第4項之電腦可讀取儲存媒體,其中該識 別資訊至少包含一全球唯一識別元(GUID)以及一 6位元組 之序號。
    •如申請專利範圍第1項之電腦可讀取儲存媒體,其中該錯 誤資訊至少包含關於該錯誤之資訊。 8.如申請專利範圍第7項之電腦可讀取儲存媒體,其中關於 i錯誤之資訊包括通訊錯誤詳細資料之一陣列的大小。 一如申吻專利範圍第丨項之電腦可讀取儲存媒體其中該指 示至少包含隨著該請求的一旗號。 申°月專利範圍第1項之電腦可讀取健存媒體,其中該請 Φ 莖乂包3將資料夹進行同步化的一請求該資料夹為該 專電子郵件資料物件所在之處。 求至少包含一請 θ和1唄之電腦可讀取儲存媒體,其 其係清求電子郵件訊息之一複本 12.體, 一種其上儲存有電腦 該等指令用以執行_ 可執行指令之電腦可讀取儲存媒 方法’該方法包含以下步驟· 59 丄 雜iS3 · 自電子郵件客戶端元件傳送一 < $ 雷早郗杜咨送叫求’其係請求複數個 電子郵件身料物件,以及 戶端元彳日不,其指示該電子郵件客 尸端凡件能夠處理— 赵資訊,該錯誤資訊用以指示該等複 數個電子郵件資料物 時發生—錯誤;以& 肖-電子郵件資料物件在開啟 對於該等電子郵件資料物件之每一者而言: 若該電子郵件資料物件未包含—錯誤’則於該電子郵 件客戶端元件虛,垃 晁接收該電子郵件資料物件並複製該電 子郵件資料物件;及 若該電子郵件資料物件包含一錯誤,則接收包括此電 子郵件資料物件之錯誤資訊的_錯誤訊息。 申月專利範圍第12項之電腦可讀取儲存媒趙,其中該 錯誤資訊至少包含該電子郵件資料物件之一識別。 如申凊專利範圍第12項之電腦可讀取儲存媒體其中該 錯誤資訊至少包含關於該錯誤之資訊。 Λ 1:,如申請專利範圍第12項之電腦可讀取儲存媒體,其中該 才曰示至〉、包含隨著該請求的一旗號。 16·如申請專利範圍第12項之電腦可讀取儲存媒體,其中該 清求至少包含將一資料夾進行同步化的一請求,該資料夹為 該等電子郵件資料物件所在之處。 1 7·如申請專利範圍第1 2項之電腦可讀取儲存媒體,其中該 60 年 曰修(更)正瞽換择 請求至少 求,其係請求電子郵件訊息之一複本 18.—種用认 下步驟:…電子郵件飼服器元件的方法,該方法包含以 電子自郵—件電二郵件客戶端元件接收—請求,其係請求複數個 电卞郅件資料板从 戶端元件能夠處理丄以及接收—指示,其指示該電子郵件客 數個電子郵杜 肖误資訊’該錯誤資訊用以指示該等複 數個電子郵件資料 時發生—錯誤; +肖疋電子郵件資料物件在開啟 示取及回該等複數個電子郵件資料物件以回應該請求與該指 對於*玄等電子郵件資料物件之每一者而言: 子郵料料切4錯誤1將該電 子郵件資料物件傳輪至該電子郵件客戶端元件及 此電m該電子郵件請物件時發生—錯誤,則將包括 =郵件資料物件之錯誤資訊的_錯誤訊息傳輸至該 電子郵件客戶端元件。 =:種用於-電子郵件客戶元件的方法,該方法包含以下 傳送傳v請求A其係請求複數個電子郵件資料物件,以及 :送-…其指示該電子郵件客戶端元件能夠處 資訊,.錯誤資訊用以指示該等複數個電子中 一特定電子料資料物件在開啟時發生 件中 對於該等電子郵件資料物件之每一者而言i以及 若該電子郵件資料物件未包含—錯誤。,則於該電子郵 61 29 端元件處’接收該電子郵件資料物件並複製該 子郵件資料物件;及 若該電子郵件資料物件包含一錯誤,則接收包括此電 子郵件資料物件之錯誤資訊的_錯誤訊息。 〇.種具有電腦可執行指令之電腦可讀取儲存媒體,該等 指令用以執行至少包含以下步驟: χ 自-電子郵件客戶端元件接收—請求,其係請求複數個 電子郵件資料物件,及接收_指示,其指示該電子郵件客戶 端70件能夠處理進度模式資料,該等複數個電子郵件資料物 牛包括電子郵件訊息及資料夹關聯資訊(FAI)物件; 回應該請求與該指示,取回該等複數個電子郵件資料物 件; 若該電子郵件客戶端元件能夠處理進度模式資料,則將 進度模式資料連同該等複數個資料物件一起提供至該電子 郵件客戶端元件’該進度模式資料至少包含包括在該等複數 個電子郵件資料物件中的該電子郵件訊息之每一者的大小 及該等FAI物件之每一者的大小;及 若該電子郵件客戶端元件無法處理進度模式資料,則將 請求的該等複數個資料物件提供至該電子郵件客戶端元件。 21.如申請專利範团第20項之電腦可讀取儲存媒體其中該 指示至少包含隨著該請求的一旗號。 .如申明專利範圍第2〇項之電腦可讀取儲存媒體其中診 請求至少包含將-資料爽進行同步化的一請求,㉟資料失為 62
    年月曰修(£)正令次 該等電子郵件資料物件所在之處。 23. 如申請專利範圍第2〇項之電腦可讀取儲存媒體其中該 請求至少包含一請求,其係請求電子郵件訊息之一複本。 24. 如申請專利範圍第2〇項之電腦可讀取儲存媒體其中該 進度模式資料更包括該等複數個資料物件之大小。 25. 如申請專利範圍第2〇項之電腦可讀取儲存媒體其中該 進度模式資料更包括該等複數個物件中資料夾關聯資訊 鲁 (FAI)物件之數目。 26. 如申,青專利範圍第25項之電腦可讀取儲存媒體其中該 進度模式資料更包括該等複數個物件中資料夾關聯資訊 (FAI)物件全體之大小。 7.如申叫專利範圍第2〇項之電腦可讀取儲存媒體其中該 進又模式資料更包括該等複數個電子郵件資料物件中電子 φ 郵件訊息之數目。 可讀取儲存媒體,其中該 件中電子郵件訊息的總 28·如申5奮專利範圍第27項之電腦 進度模式資料更包括該等複數個物 腦可讀取儲存媒體,其中該 否為一資料夾關聯資訊 29.如申請專利範圍第2〇項之電腦可讀 進度模式資料更包括每一物件是否為一 63 (FAI)物件β 3〇·—種具有電腦可執行指令之電腦可讀取儲存媒體,該等 才曰令用以執行至少包含以下步驟: 傳送一請求,其係請求複數個電子郵件資料物件,以及 傳送一指示,其指示進度模式係所求的,該等複數個電子郵 件資料物件包括電子郵件訊息及資料夾關聯資訊(FA。物 件;及 回應該請求與該指示,而接收進度模式資料連同該等複 數個電子郵件資料物件’該進度模式資料至少包含-指示 符,其指示每一電子郵件物件係一電子郵件訊息或一資料夹 關聯資訊(fai)物件,Λ中該FAI物件不具有完整定義的—標 頭組具名屬性及/或一主體組具名屬性。 31.如巾料㈣㈣綱之電腦可讀取儲存㈣,其中該 指不至少包含隨著該請求的一旗號。 ^ 如申請專利範圍第30項 铁* Ε …w项取摊仔蜾骽,其中切 >、包含將一資料夾進行同步化的一請求該、 該等電子郵件資料物件所在之處 〃,爽為 3·如申Μ專利範圍第3〇項電 嗜灰$小“ 可讀取儲存媒體,其中 淆求至少包含一請求, Τ 兵係μ求電子郵 該 料物件之 複 卿讀取儲存媒 64 I335HS2—--------------.. 年月 ‘日修(更)止? __- - —·*~* — ···· --- 進度模式資料更包括該等複數個資料物件之每一者的大小。 35. 如申請專利範圍第30項之電腦可讀取儲存媒體其中該 進度模式資料更包括該等複數個物件中資料夹關聯資訊 (FAI)物件之數目及該等複數個物件中電子郵件訊息之數目。 36. 如申印專利範圍第35項之電腦可讀取儲存媒體其中該 進度模式資料更包括該等複數個物件中資料夾關聯資訊 (FAI)物件全體之大小。 A如申請專利範圍第3〇項之電腦可讀取儲存媒體,其中該 進度模式資料更包括該等複數個電子郵件資料物件中電子 郵件訊息之數目》 .如申請專利範U37項之電腦可讀取儲存媒體其中該 進度模式資料更包括該等複數個物件中電子郵件訊息的總〆 S十大小。 資 電 包 39.如申清專利範圍第3〇項之電腦可讀取儲存媒體,其中 料夹關聯資訊(FAI)物件包括以下一或多者:包含用以處理 子郵件訊息的規則的物件,及定義將如何顯示—資料夹所 含的電子郵件資料物件的物件。 40. -種電腦實施的方法,至少包含以下步雄: 自一電子料客戶端元件料―請求及至 郵件伺服器元件,該請立 艰 •係Μ求複數個電子郵件資料物件以 65 年刀 及該指示係指示該電子郝 _ 郵件客戶端元件能夠處理進度 資料,該進度模式資料 又供式 ,匕括該等電子郵件資料物件係一電子 郵件訊息或一資料夾關A 夹關聯資訊㈣物件,該FAI物件包括以 ^ 匕a用W處理電子郵件訊息的規則的—物件, 及定義將如何顯示一杳+3|_ + /夹所匕含的電子郵件資料物件的 一物件;及 在該電子郵件客戶# 上 端7G件處接收該進度模式資料,並 用該進度模式資料夾 來现控s亥等複數個資料物件被傳送至該 電子郵件客戶端元件之侓 # ^ ^ 傳送進度’其中S亥電子郵件伺服器元 件回應該請求及玆扣+ X扣不,而取回該等複數個電子郵件資料物 件及該等複數個電子郵件資料物件之進度模式資料。 申-旁專利範圍第40項之方法,其中該進度資料至少包 含該等複數個電子郵件資料物件之大小。 2. 如申叫專利範圍第4〇項之方法其中該進度模式資料至 少包含該等複數個資料物件之每一者的大小。 3. 如申M專利範圍第4〇項之方法其中該進度模式資料至 乂包含該等複數個物件中資料失關聯資訊(fai)物件之數目。 44.如申请專利範圍第43項之方法其中該進度模式資料至 ^包含該等複數個物件中資料夾關聯資訊(fai)物件全體之 大小β 45.如申請專利範圍第4〇項之方法其中該進度模式資料至 66 1339052, I ·. · —··%· ..... ! .貧 > . 1________________ 一 少包合該等複數個電子郵件資料物件中電子郵件訊息之數 目° 46.如申請專利範圍第45項之方法,其中該進度模式資料至 少包含該等複數個物件中電子郵件訊息總數之大小。
    67
TW092136042A 2003-01-03 2003-12-18 Method for streaming data between a server and a client TWI339052B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43786903P 2003-01-03 2003-01-03
US10/367,161 US7620688B2 (en) 2003-01-03 2003-02-14 Progress mode for electronic mail component

Publications (2)

Publication Number Publication Date
TW200421802A TW200421802A (en) 2004-10-16
TWI339052B true TWI339052B (en) 2011-03-11

Family

ID=32511093

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092136042A TWI339052B (en) 2003-01-03 2003-12-18 Method for streaming data between a server and a client

Country Status (16)

Country Link
US (1) US7620688B2 (zh)
EP (3) EP1631025B9 (zh)
JP (1) JP4438989B2 (zh)
KR (1) KR101021385B1 (zh)
CN (1) CN100433733C (zh)
AT (2) ATE378758T1 (zh)
AU (1) AU2003268611B2 (zh)
BR (1) BR0306065A (zh)
CA (2) CA2452527C (zh)
DE (2) DE60317453T2 (zh)
HK (1) HK1066953A1 (zh)
MX (1) MXPA03011674A (zh)
MY (1) MY137065A (zh)
PL (1) PL364157A1 (zh)
RU (1) RU2331920C2 (zh)
TW (1) TWI339052B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002311585A1 (en) * 2002-06-06 2003-12-22 Crescendo Networks Ltd. System and method for connecting multiple slow connections to multiple fast connections
US7111039B2 (en) 2002-11-20 2006-09-19 Microsoft Corporation System and method for using packed compressed buffers for improved client server communications
US7650403B2 (en) 2002-11-20 2010-01-19 Microsoft Corporation System and method for client side monitoring of client server communications
US7386590B2 (en) 2003-01-03 2008-06-10 Microsoft Corporation System and method for improved synchronization between a server and a client
US20150195231A1 (en) * 2004-09-30 2015-07-09 Nahush Mahajan System and Method for Avoiding Loops in Automatic Message Processing
KR100659584B1 (ko) * 2004-12-07 2006-12-20 한국전자통신연구원 메시지 교환 방법
US7788237B2 (en) * 2004-12-17 2010-08-31 Microsoft Corporation Method and system for tracking changes in a document
US8291063B2 (en) * 2005-03-04 2012-10-16 Netapp, Inc. Method and apparatus for communicating between an agent and a remote management module in a processing system
US8090810B1 (en) 2005-03-04 2012-01-03 Netapp, Inc. Configuring a remote management module in a processing system
US7899680B2 (en) * 2005-03-04 2011-03-01 Netapp, Inc. Storage of administrative data on a remote management device
US7805629B2 (en) * 2005-03-04 2010-09-28 Netapp, Inc. Protecting data transactions on an integrated circuit bus
US9282081B2 (en) * 2005-07-28 2016-03-08 Vaporstream Incorporated Reduced traceability electronic message system and method
US7610345B2 (en) 2005-07-28 2009-10-27 Vaporstream Incorporated Reduced traceability electronic message system and method
US7471218B2 (en) * 2006-09-18 2008-12-30 National Semiconductor Corporation Methods and systems for efficiently storing and retrieving streaming data
CN100417074C (zh) * 2006-09-30 2008-09-03 中兴通讯股份有限公司 一种无线局域网ip组播传输异常的快速检测方法
US20090037735A1 (en) * 2007-08-01 2009-02-05 O'farrell David Method and system for delivering secure messages to a computer desktop
US8396928B2 (en) * 2007-09-21 2013-03-12 Smartbrief, Inc. Methods and systems for handling electronic message content for electronic communications devices
US8407296B2 (en) * 2007-09-24 2013-03-26 Smartbrief, Inc. Multiple and multi-part message methods and systems for handling electronic message content for electronic communications devices
US8949344B2 (en) * 2008-09-15 2015-02-03 Microsoft Corporation Asynchronous queued messaging for web applications
CN101583150B (zh) * 2009-06-18 2011-04-20 中兴通讯股份有限公司 一种无线接入点检测无线终端异常的方法及装置
US8504818B2 (en) * 2010-04-15 2013-08-06 Microsoft Corporation Method and system for reliable protocol tunneling over HTTP
US9307483B2 (en) * 2011-12-14 2016-04-05 Qualcomm Incorporated Systems and methods for transmitting and receiving discovery and paging messages
US10158594B2 (en) 2015-09-16 2018-12-18 Microsoft Technology Licensing, Llc Group headers for differentiating conversation scope and exposing interactive tools
US11405345B2 (en) 2016-11-01 2022-08-02 Microsoft Technology Licensing, Llc E-mail with smart reply and roaming drafts
US10516630B2 (en) 2016-11-01 2019-12-24 Microsoft Technology Licensing, Llc Switching synchronization systems for synchronizing server/client data
US10812434B2 (en) 2017-03-23 2020-10-20 Blackberry Limited Apparatus and method for maintaining message databases in eventual consistency distributed database systems
FR3064437A1 (fr) * 2017-03-24 2018-09-28 Orange Procede de recommandation d'une pile de communication
US11347375B2 (en) * 2018-03-21 2022-05-31 Atlassian Pty Ltd. Digital task management using an intermediary single-account issue inbox system
CN114124925B (zh) * 2020-08-25 2023-05-12 华为技术有限公司 一种电子邮件的同步方法及电子设备

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63205747A (ja) 1987-02-13 1988-08-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 通信方法及びデータ処理システム
RU2095857C1 (ru) 1989-01-17 1997-11-10 Филипс Электроникс Н.В. Способ передачи информации с использованием носителя данных, носитель информации и устройство для воспроизведения информации с такого носителя
DE69220093T2 (de) 1992-06-18 1997-12-04 Ibm Verarbeitungsnetzwerk für verteilte anwendungsprogramme.
US5537551A (en) * 1992-11-18 1996-07-16 Denenberg; Jeffrey N. Data compression method for use in a computerized informational and transactional network
US5325361A (en) 1992-12-01 1994-06-28 Legent Corporation System and method for multiplexing data transmissions
JP3184763B2 (ja) * 1995-06-07 2001-07-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチメディア直接アクセス記憶装置及びフォーマット方法
US5923846A (en) * 1995-11-06 1999-07-13 Microsoft Corporation Method of uploading a message containing a file reference to a server and downloading a file from the server using the file reference
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
WO1998010580A1 (fr) 1996-09-03 1998-03-12 Toyota Jidosha Kabushiki Kaisha Controleur de communications d'information et systeme correspondant
US6377978B1 (en) * 1996-09-13 2002-04-23 Planetweb, Inc. Dynamic downloading of hypertext electronic mail messages
US6233318B1 (en) 1996-11-05 2001-05-15 Comverse Network Systems, Inc. System for accessing multimedia mailboxes and messages over the internet and via telephone
JP3318503B2 (ja) 1997-02-27 2002-08-26 京セラ株式会社 無線通信システム
JPH1168987A (ja) 1997-08-15 1999-03-09 Sony Corp 情報通信システム、情報通信端末、サーバ装置および情報通信方法
US6073137A (en) * 1997-10-31 2000-06-06 Microsoft Method for updating and displaying the hierarchy of a data store
AU757557B2 (en) * 1997-11-13 2003-02-27 Intellectual Ventures I Llc File transfer system
US6324587B1 (en) 1997-12-23 2001-11-27 Microsoft Corporation Method, computer program product, and data structure for publishing a data object over a store and forward transport
US6167402A (en) * 1998-04-27 2000-12-26 Sun Microsystems, Inc. High performance message store
FI105971B (fi) 1998-04-30 2000-10-31 Nokia Mobile Phones Ltd Menetelmä ja laitteisto sähköpostin käsittelemiseksi
US6134582A (en) 1998-05-26 2000-10-17 Microsoft Corporation System and method for managing electronic mail messages using a client-based database
US20010054115A1 (en) * 1998-05-29 2001-12-20 Tabitha Ferguson System and method for bundling information
US6438585B2 (en) * 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US6886030B1 (en) 1998-08-18 2005-04-26 United Video Properties, Inc. Electronic mail system employing a low bandwidth link for e-mail notifications
CA2275840A1 (en) * 1998-08-18 2000-02-18 Lucent Technologies Inc. Generalized messaging construct
US6639687B1 (en) * 1998-09-08 2003-10-28 International Business Machines Corporation Progress indicator for multiple actions
US6917965B2 (en) 1998-09-15 2005-07-12 Microsoft Corporation Facilitating annotation creation and notification via electronic mail
US6324544B1 (en) * 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
JP3603936B2 (ja) 1999-01-22 2004-12-22 株式会社ソニー・コンピュータエンタテインメント 電子メール広告システム
US6449634B1 (en) 1999-01-29 2002-09-10 Digital Impact, Inc. Method and system for remotely sensing the file formats processed by an E-mail client
WO2000057612A2 (en) 1999-03-22 2000-09-28 Webxi Application layer protocol
US6304898B1 (en) 1999-10-13 2001-10-16 Datahouse, Inc. Method and system for creating and sending graphical email
US6993559B2 (en) 2000-02-14 2006-01-31 Bigbow.Com, Inc. System, method, apparatus and computer program product for operating a web site by electronic mail
US6684088B1 (en) 2000-03-01 2004-01-27 Axi Mobile Ltd. System and method for displaying electronic mail messages on a low bandwidth device
EP2237580B1 (en) 2000-04-10 2013-01-09 Research In Motion Limited System and method for indicating the state of a message
JP2001339422A (ja) 2000-05-25 2001-12-07 Mitsubishi Electric Corp メールデータ管理システム
WO2002021749A2 (en) 2000-09-08 2002-03-14 Plumtree Software Providing a personalized web page by accessing different servers
KR100453459B1 (ko) 2000-09-26 2004-10-15 인터렉스 가부시키가이샤 전자메일을 광고매체로 이용하기 위한 시스템 및 방법
US6934734B2 (en) 2000-12-04 2005-08-23 International Business Machines Corporation Method and apparatus for managing and presenting changes to an object in a data processing system
FI20002854A (fi) * 2000-12-22 2002-06-23 Nokia Corp Etälataamisen tilaindikaattorit langattomissa lyhyen kantaman laitteissa
CA2329891A1 (en) 2000-12-29 2002-06-29 Subsecond Technology Inc. Method and apparatus for remote database maintenance and access
JP2002208959A (ja) 2001-01-09 2002-07-26 Casio Comput Co Ltd 電子メールサーバ装置、電子メール転送制御方法及び記録媒体
AUPR444601A0 (en) 2001-04-17 2001-05-17 Pro-Super Holdings Limited Business tracking system
JP3798263B2 (ja) 2001-06-01 2006-07-19 三菱電機株式会社 電子メールサーバ及び電子メールキャッシュ方法及び電子メールキャッシュプログラム
US7149813B2 (en) 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US20030177171A1 (en) 2002-01-22 2003-09-18 Brown Bruce Loring Electronic mail retrieval
US20030231207A1 (en) * 2002-03-25 2003-12-18 Baohua Huang Personal e-mail system and method
US6868143B1 (en) 2002-10-01 2005-03-15 Bellsouth Intellectual Property System and method for advanced unified messaging
US20040068544A1 (en) * 2002-10-08 2004-04-08 Bellsouth Intellectual Property Corporation Multi-user e-mail client and alert schema
US7386590B2 (en) * 2003-01-03 2008-06-10 Microsoft Corporation System and method for improved synchronization between a server and a client
US7366760B2 (en) * 2003-01-03 2008-04-29 Microsoft Corporation System and method for improved client server communications of email messages

Also Published As

Publication number Publication date
AU2003268611B2 (en) 2009-07-09
EP1631024B1 (en) 2013-01-16
EP1435711B1 (en) 2007-11-14
RU2003137881A (ru) 2005-06-10
DE60335218D1 (de) 2011-01-13
EP1631024A2 (en) 2006-03-01
EP1435711A1 (en) 2004-07-07
EP1631025B1 (en) 2010-12-01
EP1631025A3 (en) 2006-05-17
DE60317453T2 (de) 2008-03-06
US20040133643A1 (en) 2004-07-08
CN1518304A (zh) 2004-08-04
TW200421802A (en) 2004-10-16
CN100433733C (zh) 2008-11-12
CA2452527A1 (en) 2004-07-03
MXPA03011674A (es) 2005-02-25
JP2004215279A (ja) 2004-07-29
DE60317453D1 (de) 2007-12-27
CA2841691C (en) 2015-02-17
HK1066953A1 (en) 2005-04-01
BR0306065A (pt) 2005-05-17
ATE490632T1 (de) 2010-12-15
US7620688B2 (en) 2009-11-17
KR20040062891A (ko) 2004-07-09
RU2331920C2 (ru) 2008-08-20
ATE378758T1 (de) 2007-11-15
EP1631024A3 (en) 2006-05-31
JP4438989B2 (ja) 2010-03-24
CA2841691A1 (en) 2004-07-03
AU2003268611A1 (en) 2004-07-22
KR101021385B1 (ko) 2011-03-14
EP1631025A2 (en) 2006-03-01
EP1631025B9 (en) 2011-12-21
MY137065A (en) 2008-12-31
CA2452527C (en) 2016-08-23
PL364157A1 (en) 2004-07-12

Similar Documents

Publication Publication Date Title
TWI339052B (en) Method for streaming data between a server and a client
TWI269557B (en) System and method for improved synchronization between a server and a client
TWI379204B (en) System and method for improved client server communications of email messages
AU2012200888B2 (en) System and method for improved synchronization between a server and a client
AU2014200931A1 (en) System and method for improved synchronization between a server and a client

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees