TWI269557B - System and method for improved synchronization between a server and a client - Google Patents

System and method for improved synchronization between a server and a client Download PDF

Info

Publication number
TWI269557B
TWI269557B TW092136044A TW92136044A TWI269557B TW I269557 B TWI269557 B TW I269557B TW 092136044 A TW092136044 A TW 092136044A TW 92136044 A TW92136044 A TW 92136044A TW I269557 B TWI269557 B TW I269557B
Authority
TW
Taiwan
Prior art keywords
email
request
message
component
mail
Prior art date
Application number
TW092136044A
Other languages
English (en)
Other versions
TW200420044A (en
Inventor
Joseph R Warren
Karl Froelich
Remi A Lemarchand
Ronald Eric Gray
Aaron Hartwell
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 TW200420044A publication Critical patent/TW200420044A/zh
Application granted granted Critical
Publication of TWI269557B publication Critical patent/TWI269557B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

--V . 12695^ 九、發明說明· 【發明所屬之技術領域】 本發明係大體上有關於電腦網路。更特言之,本發明 係有關於一客戶端和一伺服器應用程式(像是一電子郵件應 用程式)之間通訊的方法。 【先前技術】 電子郵件已變成為用於通訊的一重要方法。電子郵辦 系統一般包括一伺服器元件(例如Microsoft Exchange Server)及-客戶端元件(例如 Microsoft Outlook 及 Microsoft 0utl〇〇k Express)。 ^ 些元件一般為組悲以執行在計算裝置(例如伺服器、個人, 腦、膝上型電腦及個人數位助理)上的軟體應用程式。 為了使通訊便利,像是一電子郵件系統的客戶端元件石 一伺服器元件之一客戶端及一伺服器間的通訊協定時常义 需是一致的。通訊協定會在通訊期間定義每一群體所期s 的行為規則,例如該請求和回覆的預期順序。複雜的通訊拉 定具有規則用於處理非預期的行為。 > 山當改善客戶端及伺服器元件時,此改善的版本分發至與 端用戶。為了利用新元件特點和網路特點,經常的情兄' 發明—新的通訊協定。在安裝飼服器元件的基本版之=是令 要的’ -客戶端元件可經由一組協定以飼服器元::1 先前版而具有通訊的能力。 、白、, 在某些情況下,後來協定係建構 將它們整批取代。在這樣的情況下,上’而^ 馮了扠擬早期協定,可 6 12095 歸· si 利用通訊協定項目來建構一較新版的通訊協定,可啟用或停 用這些通訊協定項目,以便模擬先前版本之通訊協定。同 樣地’在安裝客戶端元件的基本版之處是重要的,一伺服器 元件可經由一組協定以客戶端元件之選擇的先前版而具有 通訊的能力。 本發明提供這樣的一種系統及方法。本發明的這些和 其他優點以及額外的發明特點將從在此提供本發明的描述 而顯見。 本毛月係提供用於改善客戶端和伺服器之通訊的一種 系統種方法。更特言之,本發明係有關於可被使用在-客戶和一 4司服哭&日日,, 明係具特相關於:電訊之一經改善的通訊協定。本發 明特點可被利…二服器環境,不過在此描述的發 具他客戶端及伺服器網路。 本^明的一態樣,即使電子 -電子郵件飼服器元件處,可在電:動於另 化這電子郵件的— 习服态兀件處最佳 的第一資料,Α €子郵件伺服器元件係非連續 ,系關於由—電子郵件客卢被_ μ 件訊息的更動。— 戶鳊疋件所見電子郵 子郵件客—電子料㈣^件維護料由該雷 時第二電子=所見電子郵件訊息的更動之第二資料: 于郵件飼服器元件使該非 貝科。此 根據本發、,的第-資料最佳化。 護一存在於—樣,一電子郵件甸服器元件可& 關聯的資料館存之資料夹處之更動的表= 7
通報一訂閱的電子郵 一 客戶鈿70件關於該表裡的變更。維護 一表關於複數個含有雷 s 電子郵件的資料物件之資料夾所作變 更。一電子郵件客戶她 戶碥凡件訂閱該表,而使一通報送至該電 牛客戶端兀件以回應表中的-更動。 對電子#κ 7本發㈣另-態樣’此電子郵件飼服器元件可 ==件客戶端元件抑制該表所造的一更動之通報。此 ΓΓ:服器元件可接收一指示,其係請求不使-通報送 更動的一、“ ^ π件以回應該更動,而是使關於該 L 通報送至該表中除了第—電子郵件客戶端元件之 外的全部訂閱用戶以回應該更動及該指示。 【實施方式】 供本:、广丁進至本發明各種實施例的-描述之前,現將提 ’、X明的各種實施例可實踐於其中之電腦和、4 _四 一 /、τ <电細和連網環境的 太:…’然不是必要,但是可由-電腦執行的程式來實作 本發明。通常’程式包括副程式、物件、元件、資料 其係執行特定任務或實作特殊抽象的資料類型 的術語“程式,,可暗示—單一程式模組或音樂會中表宫斤用的 複數個節目。如在此所用的術語“電腦”包括任何電子式 仃一或更多程式的裝置,例如個人電腦、掌上型裝置、:产 理器系統、以微處理器為基礎可編程的消費性電;、網 人電腦、迷你電腦、平板電腦、大型電腦,及具有—微户理 器或微控制器、路由器、閘道器、集線器等等之消費性'設 本發明也可被使用於分散式計算環境裡’其係為由經7通訊 8 55f 網路連結的遠端處理裝置來執行任務之處。在一分散式計 鼻%丨兄中,辁式模組可位於本地及遠端記憶體儲存裝置兩 裡。 將描述關於第!圖一使用本發明連網環境的例子。此 範例網路包括數個電腦1G在—由—雲團所示的網路η上彼 此通訊肖路i!彳包括許多眾所皆知的元件,例如路由 益閘道盗、集線器等等及允許電腦1 〇經由有線和/或無線 媒體來通訊。當在網路11上彼此互動,-或更多電腦可扮 演相關於其他電腦的客戶端、伺服器或同級裝置。於是, 即使在此所含的特定例子沒指出所有這些類型的電腦,而本 發明各種實施例可被實踐於客戶端m、同級裝置 們的組合。 現請參閱第2圖’其係顯示在此描述本發明的全部或邱 分可被實作於-電腦上之―基本㈣的—範例。在它最基 本的組態中,電腦1 〇 一般包 奴匕括處理早兀14和記憶體16〇 根據本發明各種實施例,處 早疋14執打指令以實行任 務。在實行這樣的任務中,虛 力T處理早70 14可轉送電子訊號至 電腦1 0的其他部分及至雷 ^ 旲至“ 1〇外面的裝置以造成某些結 果。d憶體1 6可為揮發性(如陆撬 描旅機存取記憶體,RAM)、非
揮發性(如唯讀記憶體,R〇M ^ ^ 者的某種組合,取決於精 確組態及電腦10的類型。第2 纽能+从^ 平由虛線18說明這最基本 組態。此外,電腦也可具有附加 10 ^ 号巳/功月匕性。例如,電腦 〇可匕括附加的儲存器(可移除 #勹;而τ 、 和/或非可移除202),其 係包括而不局限於磁碟或光 韦次磁f。電腦儲存媒體包括 1269557 以任何方法或技術所奋从吹 打所貝作用於資汛含電腦可執行的指令、賣 料結構、程式模組或复次 次其他身料的儲存之揮發性和非揮發性 可移除和非可移除媒體。電儲存 4細省1子媒體係包括但不限定友 RAM、ROM、電子古、„人叫《从< t 抹除可、扁程唯讀記憶體(EEpR〇M) 快閃記憶體、唯讀朵;^ ^ (DVDs)或者其他的光儲存裝置 儲存或其他磁性儲存裝置,或任 買九碟(CD-ROM)、數位多用途影音光碎 、磁卡式、磁帶式、磁碟式 何其他可用於儲存想要的資 。任何這樣的電腦儲存媒體
訊且能夠由電腦1〇存取的媒體 可為電腦1 0的一部分。 電腦10也最好含有讓該裝置與其他裝置通訊的通訊連 接2 05。一通汛連接是一通訊媒體的一例子。通訊媒體一般 以經5周’欠的貝料訊號如一載波或其他傳輸機制來實施電 月甸可續取的私々、=貝料結構、程式模組或其他資料,並且通 Λ媒體包括任何身訊傳遞媒體。經由範例,但不限於該等範 例’術邊通訊媒體”包括諸如有線網路或直接連線的有線 媒體以及諸如聽覺的、射頻(RF)、紅外線和其他無線媒體的
無線媒體。在此所使用的術語“電腦可讀取的媒體,,係包括 電腦儲存媒體與通訊媒體兩者。 電腦10也可具有像是滑鼠、光筆、聲控輸入裝置、觸 控輸入裝置等等之輸入裝置2〇4。也可包括像是一顯示器 20、麥克風、一印表機等等之輪出裝置2〇3。 本發明係關於用以改進的客戶端和伺服器通訊之一系 統和一方法,更特言之,其係關於可被使用在一客戶端和一 伺服裔之間的通訊之一改良的通訊協定。本發明係具特相關 10 於-電子郵件伺服器環境,不過在此 用於其他客戶端及飼服器網路。為了 =、二明特點可被利 敫述關於—伺服器/客戶端電子郵件環^。描述’本發明係被 本發明也可實作於一具兩個或=二 释式或元件,及/或兩個或 版本的客戶端應用 件之一客戶端/飼服器環境裡。就這目的而/W式或凡 在一網路電子郵件 °弟3圖說明 大的一 士仏 客戶端和伺服器元件之多)Κ "俜」圖。通常’组態此客戶端和伺服器的元件,所以 它們係相谷於先前版。即山 件所以 件之最近及遺留版通訊,並且反之亦能夠與伺服器元 以在這多個版本之間 一。建立一組通訊協定 訊協定,每-者自身卞、、且通訊協定可構成數個不同通 而用特定元件=!備。或者,可使用-組通訊協定, 無論如:在=組通訊協定内之特定通訊協定。 ^最近版的電子郵件Μ子郵件%境中, 與一最近版的電子郵杜70牛303係使用-通訊協定307 最近版的電子郵件词服 φ 06通訊取佳。然而,這 的電子郵件客戶端-件306也能夠與選擇之先前版 件通訊’例如,電子郵件客戶端元杜 302和電子郵件客 合尸鸲το件 他通訊協定(例如在f 3〇1使用在-組通訊協定裡的其 郵件客戶端元件3〇3,圖/的通訊協定3〇8和3〇9)。電子 服器元件通訊,例彡€此夠與選擇之先前版的電子郵件伺 词服器幻牛3〇6“像電^郵件飼服器元件305和電子郵件 像疋通訊協定3 1 0和3 1 1。 '一般而言,如十 在使用為了描述本發明通訊協定的目 的,一“最~近的”電子郵件(伺服器或客戶端)元件或一電子 郵件(伺服β或客戶端)π件的最近版係為一覺察到所被描 述的新特點或新些特點之伺服器或客戶端元件,並且吁利 用、實作’及/或作用在那些特點上。雖然這文件自始直終 使用這些術語來描述覺察到本發明通訊協定的各種態樣之 伺服器或客戶端元件,這4b術扭A — 1 . 一 1干一術扣也包括僅覺察到所被描述的 特定態樣元件,或所被描述一種 ” Λ上的恶樣兀件。同理,〆 “先前的”電子郵件元件哎一雷 Α 電子郵件元件的先前版係為 一沒覺察到的元件,並且盔法作用 “,、次作用在本發明通訊協定的這些 態樣上。 一通訊協定商議程序時常用 叮❼用求建立在一客戶端和 一 伺服器之間的一通訊協定(例如, 取近版的電子郵件伺服器 兀件306和取近版的電子郵 干各戶鸲兀件303上),雖鈥诘 樣的通訊協定商議是已知,為了 …、、 J π項者&供一在電子郵丰 客戶端元件401(第4圖)和電子郵 卞1J服裔凡件402夕Ρ弓αα 通訊協S商議程序之簡述。在電子郵件客 曰的 子郵件伺服器元件402之η & % 兀牛401和電 之間的一通訊交談期的早 件客戶端元件401將—却自干』電子郵 見心403送給電子 402,該訊息403包括衮 1忏叼服态tl件 匕栝客戶端版資訊例如以一 本戳記的形式。電子郵件— 各戶糕兀件版 干叼服斋兀件4〇2以 自 訊息403,該訊息404包 Λ心404來回應 匕括伺服态版本資邙也丨、 元件版本戳記的形式。 、° j如以一伺服器 月匕以各種方式來使用 用此客戶鳊和伺服器欠^ 圖在電子郵件客戶端元件 °。本貝矾以試 1 和電子郵件伺服器元件402 126^71 ::建立通訊。例如,可用版本資訊來 &適的通訊協定,或判定是否進一步的 通“擇- 立一通訊協定時,可用版本資訊來使例如特〜可能。在建 定態樣或元件致能和/或去能。 、疋D用的通訊協 一電子郵件伺服器元件可平行從多 元件接收和處理請求。在顯示一單一客 件客戶端 地陳沭,π s丨/甘e # ~之處’除非明確 否則僅疋間化圖表和附圖的說明。 本發明的電子郵件網路利用請求和回 路中的安&山i μ 應的父換以在網 路中的客戶端和伺服器元件之間傳遞詢問 可由位於下面的通訊網路傳輸機制影響 士貝」干、, 能,該通訊網路傳輸機制係用來實作胃I矾協定之效 ά ^ ^ 電子郵件網路中客 戶舄和伺服器之間的通訊。例如,在 如位於下面通訊網路傳輸機制,作一較大序呼叫⑽CS) 序啤叫⑼如,32千位元組)比作一較小的單一遠端程 郵件匕千位元組)也許更有效率。已知在這樣的電子 ’中改進效能的一方法係在對於—單 4的傳輸中緩衝暫存多個請求和/或回應。 P —範例’第5圖顯示在—電子郵件客戶端元件501 ::電子郵件伺服器元件502之間的—請求及回應交換。電 件客戶端元件501和電子郵件伺服器元件5〇2每-者皆 具固定大小的通訊緩衝器503、5〇4、5〇5和5〇6。通訊緩 …〇3、5〇4、5〇5和5〇6係記憶體保留區用於臨時保持資 料。在轉送緩衝器503的内容至緩衝器5〇4之前,電子郵件 客戶端元# 5(Π由以丨來填進缓衝器5()3或更多副請求 13 年月曰修(更)正替換買 (SUb-request)或遠端作業(R0Ps)而開始一請求·回應週期 (cycle) 〇
在緩衝器504接收之後,由電子郵件伺服器元件5〇2 依次處理每一遠端作業,並且使對應的結果寫至緩衝器 505。每一遠端作業都確實產生某種結果。此結果可包括 由電子郵件客戶端元件501請求的資料,例如一組特定的電 子郵件訊息。電子郵件伺服器元件5〇2監控緩衝器5〇5並 且當它幾乎全滿(例如,剩下少於8千位元組)時,電子郵件 伺服器元件502使任何未處理的遠端作業寫到緩衝器5〇5 的末端,並且使緩衝器505傳到緩衝器5〇6。當緩衝器5〇3 再次變得全滿時,此時電子郵件客戶端元件5〇1由使未處理 的遠端作業寫到緩衝器503作為再呈送至電子郵件伺服器 元件502而開始一新請求-回應週期(cycle)。
一回應的緩衝器大小-般平均比—請求的缓衝器大小 更大。由於這原因,回應緩衝器505和506的大小一般配置 係比請求緩衝器503和504的大小更大。在本發明的一實施 例中,這些回應緩衝器505和506的最理想大小係定為% 千位元組,對於請求緩衝器503和5〇4係定為32千位元組, 3到1的-比例。在-實施射,電子郵件客戶端元件能夠 配置緩衝器503、504、5 05和506的任何大小。 利用緩衝器的一些電子郵件網路,例如第5圖顯示的電 子郵件網路,可在一電子郵件客戶端元件和一電子郵件伺服 器元件之間使用一快速轉送模式。快速轉送模式包括請求例 如遠端作業(R0Ps),由分成至少兩種類的客戶端:導致在祠 14 0 Q T:—……一 曰绦(更)i替換ι] 服器處快速轉送資料來源的一初始化請求,及導致從快速轉 送資料來源到客戶端之資料有效率的轉送請求。此快速轉送 負料來源也許是例如一資料庫表。此 此决速轉送資料來源充當 一籌備好臨時性貯存資料,其係使資料 貝科要以比可能延遲更少 的延遲來供給以後的請求。有時第二 矛種快速轉送模式的請求 由明確地規定回應的缓衝器大小以尋 <衣達到資料的有效率 轉送,例如回應的大小可設成較少回應管理f之整個客戶端 接收緩衝器的大小。 第6A圖顯示一具至少二個請求-回應週期的一快速轉 送作業。在一第一請求601中,一遠端作業(例如,Fxprepare) 初始化在伺服器502上的一快速轉送資料來源。在伺服器 之處,僅處理FXPrepare(即初始化此快速轉送資料來源), 並在一第一回應602中回傳它的結果。在一第二請求6〇3 中,一遠端作業(例如,:FXGetBuffer)請求伺服器從快速資 料來源填進該缓衝器505。伺服器使快速資料來源掏空轉 至緩衝器,並在一第二回應604中回傳它的結果。如果對於 電子郵件词服器元件之輸出緩衝器5 〇 5在使這個快速資料 來源掏空之前填進,則可能需要附加的FXGetBuffer遠端作 業。 第6B圖顯示一具僅一單一請求_回應週期的一快速轉 送作業。在一第一請求605中,由電子郵件伺服器元件502 處理FXPrepare和FXGetBuffer兩者,並在第一回應606中 傳回兩作業的結果。由於緩衝器503、504、505和506每一 者的一部分明確地定義為一分享的資料表,FXPrepare的結 12 祕§Ψ Ί 果在電子郵件伺服器元件 、 干 處對於FXGetBuffer係可用 的。減少請求_回應週期數 1糸為所期望的,因為它造成 一更有效率的資料轉送。當緩衝 田、後佳1¾ 5〇5是太滿而無法保持 FXGetBuffer遠端作衆沾处里口主 . 麵作業的結果時’可能發生比僅一單一請求 -回應週期更多的一快速轉送作業。 將認知到第6A圖和第6B m 第 圖的运端作業,除非特別陳 述,否則像遍及這個申嗜宏的同" 甲明案的圖式係示意性而實際上它們可 由一系列遠端作業來實作。
一般,遠端作業的結果大小係不同於遠端作t請求的 不可能-直預料_遠端作業的結果大小。當使用資料 壓縮技術來減少一遠端作举的妹 印系扪、、σ果大小時,預料一遠端作業 的結果大小涉甚至更力阳雜 更加困難。不能預料一遠端作業的結果大 t能夠防止一通訊協定的手動調整以使需要完成特定客戶 鳊作業请求-回應週期的數目減到最少、,例如確保在一 請求-回應週期中將所有新訊息下 秋主各尸、。一通訊協定 的手動調整包括手動地組態通訊協 Λ協疋凊求、回應及/或遠端 作業的順序和/或大小。 ^ 依據本發明的一態樣,由扣a μ 土
〜樣由私疋關鍵遠端作業(例如, FXGetBuffeO沒有需要去預料它們的結果大小而使請 應週期的數自動地減到最少。 月’-回 元件之 電子郵 預料它 圖表: 作為一範例,在包括多個版本的電子郵件伺服器 一裱境中,對先前版的電子郵件伺服器元件和近版的 件伺服器元件可分別定義遠端作業。近版沒有需要去 們的結果大小。這些遠端作業的特徵被說明如以下的 16 日修(更)正替換頁 由一通訊協定用來與 先前版伺服器通訊的 遠端作業 由一通訊協定用來與 最近版飼服器通訊的 遠端作業 ROP ID(遠端作業識別) FXGetBufFer FXGetBuffer 多重模式中所用之參數 請求之大小:伺服器必須 在其輸出緩衝區中保留之 大小 .求之大小_ :其值經設定 大於先前版本所期望的最 大值,例如一大於32KB 之值。這會通知伺服器去 尋找新的大小限制。 -------‘, f K'W 參數 新參數 無資料 =通知伺服器其 可填滿其輪出緩衝區之界 限0 ________
對於先前版伺服器元件之遠端作業在構造上類似於存 在的先前遠端作業。即是,遠端作業預料和命令輪出緩衝 器(例如,發送緩衝器505)裡的一大小,其係必須用於保持 一回應所保留的緩衝器。對照之,不預料用於一 ,X u / 取迎版"ί司 服器元件之輸出緩衝器,不過代之為設定一超趟 、飚无則版所 期望之最大的數值,例如大於32千位元組的一鉍 妖值。由飼 服盗元件定義輸出緩衝器的大小超越一期望值的事奋提示 該伺服器元件去尋找一新大小限制參數,其可兔/ ^句例如對該 伺服器元件之輸出緩衝器的填進限制。這此特 一何试自動使請 求-回應週期的數目減到最少,僅有處理這些遠端作業之一 電子郵件伺服器元件的複雜度稍增。 特別提及,除非伴隨著一明確的陳述在上的圖矣 口衣之參數 17 的次序及像遍及這個申請案的圖表需要關連於次序 示在上的圖表之參數的次序及像遍及這,否則靡 需要關連於次序’例如這些參數由一電子郵件客:的圖表不 -電子郵件伺服器元件之任一者轉送於網:二件或 憶f卜,為了清晰㈣的緣故,可省略未ΛΛ於數記 在-電子郵件網路裡,—通訊協定的的參:。 完成資料物件的轉送,例如在電子郵件 係為
元件之間的電子郵件訊息。這樣的更電:郵 步的例子包括含有電子郵件 更進一 杜咨极+ ^ 八他貝抖物件的電子郵 料…的資料物:資 件不透明;即是,一電 ' 彳客戶端70 料物件的内容。或者,資料二=:件可能解釋不清該資 含稱為“收件人,,“:物件可由名稱上的特性例如可包 “主體! 、寄件人,’、“主旨”、“重要性”、 體1 、 主體2” 、 “主許3 ” “ . 2”,等等特性所組成。 、附件r、“附件
八,在由-Γ:通訊協定以轉送的能力僅為-資料物件的〆部 :所::物件不透明之電子郵件網路上,-可由名稱的特 1潛力有Λ子郵件網路的-優點係具改進通訊協定效能 不轉送整“ ’冉上的特性允許資料物件的特殊特性被轉送而 不轉送整者資料物件。 件訊Γ如二:::標題特性及-組主體特性組成-電子郵 電子郵件客戶端元件的需求可如此,所以〆通訊 18
1269557 :定可先轉送該標題特性,然後來轉送主體特性,或都不轉 二此特色允弄一使用者在全部訊息整個下載之前,對數個 訊息觀看其標題資訊。使用這個特色,由該客戶端元件在頻 =利用上#到-更精細的控制’其可正面地影響通訊協定效 外 客戶端元件可使用這個特色以導致較低頻寬利 用(例如’僅對選擇的標題下載主體),其係在低頻寬環境中 特別所想要的。 如果此伺服器元件配置以在兩分離之請求-回應週期 (即用於標題和主體之每者一週期)裡發送主體和標題的特鲁 ^-訊協疋的效能不一定增加。例如,如果電子郵件客戶 端的需求是如此,所以標題和主體的特性兩者必要在同一時 刻,然對一單一請求-回應週期可重新得到標題和主體的一 情況,通訊協定的效能可減小。因此,使能夠由名稱特性組 成資料物件的簡單動作不是自己足以自動地導致改善的通 訊協定效能,達到改善的通訊協定效能確實取決於特性的選 擇,該特性係可組成-資料物件並且如何由一通訊協定使 用那個選擇可取決於包括最近和先前版電子郵件客戶端元 件所需以及最近和先前版電子郵件伺服器元件所需的許多 φ 因素。電子郵件客戶端元件的例子需要包括滿足對於不同資 訊顯不之緊急的不同層級,及順應由一電子郵件客戶端元件 使用者所設定的偏好。電子郵件伺服器元件的例子需要包括 有效率儲存、資料的取得及通訊協定請求的有效率處理。 習知先前技藝電子郵件環境利用可由名稱特性所組成 的資料物件’例如,可包括名稱特性的一組標題和一組主體 19 E2 轉,ο; ^ 1 ' …. 之一電子郵件 另一先前技藝 郵件訊息主體 字、超主體標 的一電子郵件 伺服器元件可 通訊協定請求 電子郵件訊息 第7圖描 實用在這個情 電子郵件伺服 果這些式之一 移至步驟703 到此請求的電 預定標準袼式 轉成標準格式 體的一單一版 是該電子郵件 格式。 第7B圖^ 件使用的一程 伺月民器元件 BEST—BODY (最 和在此使用的 訊息,所以兩組可被分開地請求及/或處理。 例子係為名稱特性的該主體組包括多版電子 ,例如,在多個電子郵件訊息格式中像是純文 記語言(HTML)、豐富文字格式(RTF)等等之處 資訊。處於這個情況中,先前技藝電子郵件 對於電子郵件訊息的主體以許多方式回應一 。最低複雜性的回應也許是送出所有版本的 主體,但這個回應可導致增加的頻寬利用。 況中回應之-程序的—部分。在步驟701, 器元件檢查每一電子郵件訊息主體的格式。 係為預定標準格式(例如,RTF ),然後程 並且使故個標準袼式之電子郵件訊息主體 子郵件客戶線i A , m u 尸^ 7L件。如果沒有一格式係為 則步驟70 1 /分流至使一電子郵件訊息主體 之處的步驟702。當只有一電子郵件訊息 夺也可使用第7 A圖所描述的副程序, 訊息主體或許不是一通訊協定所要的一標 田迷依據本發明由—最近版電子郵件伺服器元 n #分H驟7G4 ’導引由—電子郵件 使用個釗程序的一通訊協定請求以一 佳一主體)旗號來檢查。纟這個例子中的旗號 其他旗號係使用於該電子郵件客戶端元件為
20
曰修(更)正聲換真 -最近版本並且想要實作與旗號關聯的功能之電子郵件祠 服裔70件。可使用其他指示。例如,如果偵測到一個最近的 電子郵件客戶端元件,則可由預設來實作功能。 不管怎樣,如果沒找到聽_B〇DY旗號,則步驟7〇4 分流至步驟701 ’繼續如關於第7A圖所描述。 …如果找到這旗號,程序移到步驟7〇5,其為對於送到該 請求電子郵件客戶端元件所選擇的最佳電子郵件訊息主體 之處。如果僅有—與該請求的電子郵件訊息關聯之單一電子 郵件H主體,則最好。如果有可用的幾個電子郵件訊息 主體’例如,含有不同格式’則該電子郵件飼服器元件根據 列如電子郵件訊息格式的一預定分級(例如豐富文字格式 咖)、超主體標記語言(html)、純文字),從它們當中選 m格式。此時處理行進至步驟⑽,其為使該被選的 戒息主體送到電子郵件客戶端元件之處。在這個 =例卜電子郵件客戶端元件也許能夠顯以個電子郵件 格式,因此這樣使電子郵㈣服器元件擺脫 主體轉變成標準格式的必要性。此外,如果想要 變成不同格子式郵件客戶端元件可使最佳電子郵件訊息主體轉 匕電子郵件⑮服器元件減輕該使電子郵件訊自主 :::::務’本發明提供改進的效能。此外二= 二::器元件可從一先前版電子郵件客戶端元件僅 稍被增加點複雜性而回應於通訊協定的請求。 w逐端作業以在_電子郵件词服器元件和一電子郵 2 1 12695^7;
件客戶端元件之間達到一電子郵件資料夾的複製。可作同 步一資料失的請求例如由一 SynchFolder遠端作業。在一 電子郵件客戶端元件能夠顯示非標準的電子郵件訊息主體 格式之處,可在SynchFolder遠端作業中設定BEST_BODY旗 號以表明電子郵件伺服器元件可從這些可用的電子郵件訊 息主體當中選擇最好的格式,而非請求伺服器以一標準格式 傳回一電子郵件訊息主體。一電子郵件伺服器元件可恰當地 處理遠端作業僅含一稍微增加點複雜性而含有BEST_BODY旗 號和不含BEST_BODY旗號兩者。與先前版和最近版伺服器 通訊的遠端作業可包括,例如,在下表中說明的特徵: 由一通訊協定用來與 先前版伺服器通訊的 遠端作業 由一通訊協定用來與 最近版伺服器通訊的 遠端作業 ROP ID(遠端作業識別) SynchFolder (同步化資料失) SynchFolder (同步化資料夾) 新參數 無資料 BEST BODY旗號:若設 定,電子郵件伺服器元件 會選擇最佳電子郵件訊息 主體,並將之傳送至電子 郵件客戶端元件。不必要 將該電子郵件訊息主體轉 換成一預定的標準格式。
第8A-8C圖顯示在一電子郵件伺服器元件和一電子郵 件客戶端元件之間轉送一組電子郵件訊息的幾個不同現存 22
_____. ,Γ, || , I· r _ Ι·「 — 1喟丨 _ I I 頁 lf^5|7g修(更证替換
模式。對每一模式而言,I 母一電子郵件訊息皆具含一 和一主體組的名稱特性, “喊組 I兑在貝料夾中含有幾個 訊息。第8A圖說明—— 電子郵件 Μ + π 疋整項目轉送模式。此說明顯亍Μ、,, -第-電子郵件訊息標題8。 ::轉- 標題803之前轉送一第一带^ 第一電子郵件訊息 電子郵件訊息主體802,鈇在雷+ 郵件訊息標題803轉送之 …、在電子 1欠得送一第二電子郵件 804依此類推直到已經 I仵Λ心主體 明一標題先轉送模式。在 第8Β圖說 在k換式中,轉送一第一 息標題805,然後轉送一 从 電子郵件訊 ,§ ^ 5ιί P , 弟—電子郵件訊息標題806,依此 類推直到已經轉送所有料郵件依此 第-電子郵件訊息主體δ07, / :臭才疋轉-- 808依此類推直到已:4 —電子郵件訊息主體 明-僅有標題轉送模;Π電子郵件訊息。第8C圖說
Mi 8〇9 式。如名稱建議,僅轉送該電子郵件訊 心私趨809以回應一轉 卞 電子郵件1自士抽 ^且電子郵件訊息的請求。僅轉送 电于那件Λ息主體8 i 〇 這些模式中,可由一更古優先^加清晰明確請求。在任何 時中郵件客戶端元件請求暫 ::送序:’例如’對於-特定電子郵件訊息主體。 求#的之郵件貝枓夾彳以轉送—組電子郵件訊息的-請 气:二:例。然而’電子郵件資料夾可含有除了電子郵件 關::=資料物件。如在上面所討論,經常定義轉送模式 關於電子郵件訊息標題及電子 和僅有標題榦、关^ 牛Λ心主體,如這些先標題 名稱^ 送模式中,對於沒定義好 物件的的—標題組及/或名稱特性的一主體組,轉送資料 的試可能導致通訊協定失敗。本發明的一態樣避免 23 g 8· 30 12^955? 修(更).正轉镇頁) 攻個狀況’藉由對於沒^義好名稱特性的_標題組及/或— ,體組提供那個資料物件,可能總是整個轉送而非—部分轉 可由帛8D圖例子說明這個實施例。纟這個範例中, 在:電子郵件飼服器元件和_電子郵件客戶端元件之間的 轉达可能正發生在一僅有標題模式。於是,
郵件訊息標題811,然後資肖物件812變成次_要轉送: :選者。對於-資胸牛812像是關聯資訊(FAI)沒有完整 定義好其名稱特性的標題組,所以轉送其整個資料物件:a -要轉送的候選者確實有定義好其名稱特性的標題組(即, 候選資料物件確實具有由電子郵件客戶端元件明確定義的 所有名稱特性當作屬於名稱特性的標題組),所以僅轉送— 電子郵件訊息標題8 1 3。 、 實作本發明這個態樣的一方法之_例是透過使用—旗 號像是IGNORE一MODE_ON_FAI可含在一同步遠端作業,其如曰、 在上面描述的SynchFolder遠端作業。一雷辜 电十郅件伺服器元 件可恰當地處理含有IGNORE MODE ON FAT热口占 - - 〜八1供疏及不含
麵_DE_0N_旗號兩者遠端作業僅稍微增加點複雜 性。遠端作業可能包括在下表中說明的特徵以達到在一電 子郵件伺服端元件和-電子郵件客戶端元件之間—電 件資料夾的複製: 2 4 由一通訊協定用來與 由一通訊協定用來與 先前版伺服器通訊的 最近版伺服器通訊的 遠端作業 遠端作業 ROP ID(遠端作業識別) SynchFoIder (同步化資料夾) SynchFoIder (同步化資料夾) 新參數 無資料 IGNORE—MODE一 ON_FAI 旗號:若設定,則對i是 關聯資訊的資料物件,其 係為未完整定義好名稱特 性的標題組及/或主體組, 無論普及的轉送模式為 何,該電子郵件伺服器元 件會以整個資料物件回應 一轉送請求。
電子郵件訊息一般呈至一或更多電子郵件網路使用 者。若一電子郵件伺服器元件可接受儲存,則一電子郵件 伺服器元件訊息可視為被遞送。一電子郵件網路可具有幾 個電子郵件伺服器元件。一般,一電子郵件網路通訊協定對 於限制電子郵件網路用戶必須為新訊息檢查之電子郵件伺 服器元件的數目具有某種策略。一普通的例子係為家用伺 服器策略,其係提供將僅由一特別電子郵件伺服器元件接受 這些呈至一特別電子郵件網路使用者的電子郵件訊息。在 這樣的一情況下,當例如定期檢查新的電子郵件訊息或登錄 新的電子郵件訊息通報時,可組態一電子郵件伺服器元件以 視為僅家用伺服器。 第9圖顯示甚至一簡單家用伺服器策略的例子可具有 複雜性。在由第9圖說明的例子中,一特別電子郵件伺服器 25 元件 9 01 首务指中 疋為—特別電子郵件網 器。過些時候’通常由於管理的原因,使對=的豕用飼服 用飼服器換成不同的電子郵件祠服器元件二戶所指定之家 電子郵件飼服器元件901、903和9〇5可例如杏和州。這些 邏輯…’或者是不同版本。電子郵件客;:上:同或 可從時間T。直到時間71僅與電子郵件飼服二:件咖 訊,然後電子郵件客戶诚_ 疋件901通 I仟客戶鳊兀件904可僅與電 件903通訊直到時間T2,然後 。:器元 可僅與電子郵件伺服器元件9G5通訊。電子戶^件咖 件心叫和9〇6也許是相同或n戶端元 元件901和903在時 λ 電子郵件伺服器 2之後可此存在或可能 一步討論特別有關於電子 子。下 可由-雷m 件儲存複製的這些複雜性。 伺服器元件儲存電子郵件 明破一電子郵件訊息倚藏庫中,該電子郵件二=在清晰 服器元件可且有一^庫技術來實作。一電子郵件飼 網路用冷_/、丨更夕這樣的訊息儲藏庫。一電子郵件 =用戶可具有一家用訊息儲藏…換 可具如所描述變換家用词服器之相同效果。. 侔^些電子郵件網路通訊協定包括一能力以使一電子郵 件訊息儲藏庫的一部分 电卞1 本地儲存設施。使一遠端電早子郵件客戶端元件的一 、電子郵件乱息儲藏庫的一部分複製 到一本地電子郵件儲在< 子叹轭可改進通訊協定的效能和/或感 見、、Λ協疋效旎例如在一清晰明確電子郵件網路用戶請 '觀看那些新電子郵件之前,預先使所有新電子郵件訊息 26 pmm~—~~~Ί 年月日修(更)正替換頁 複製到本地電子郵件儲古< 者存故施。這樣的複製也可提供附加 子郵件客戶端元件功能 % 哇,例如允許一電子郵件網路用戶 網路連通性中斷期間觀看-電子郵件訊息。
在電子郵件網路環境中,簡單複製ί$ &冑彳I 低。例如,如果一電子翻斗 电子郵件伺服器元件具有一與特定電 件網路用戶關聯的一雷;命从 ^ 1 冤子郵件訊息,並且對於網路用戶 言,訊息已經被複絮左佘& m 戶端元件處,而對於那電子郵件 路用戶而言,一新雷早#R Μ ^ 牛訊Μ到達’則仍然需要回應一 單複製請求而必須送出而平7 間 貝k出兩電子郵件訊息。如果在兩電子郵件 訊息的複製之後,另一軿發7 4 午 新電子郵件訊息到達,則仍秋 應一簡單複製請求而必須# ψ 一 f 2各 …、而要回 义肩迗出二電子郵件訊息,依此類 一些電子郵件網路通旬h 疋已提供對電子郵件訊息儲藏庫 之遞增的複製以減輕這個π θ§ 士 ^ 兩職庫 罕、個問碭。在一遞增的複製中,僅 交在必須回應一複製請求而 後所發生的一電子郵計先别成功遞增的複製之 複製係新電子郵件訊息的 的 送出這新電子郵件訊自心=Μ ^之處’則僅需要 °〜回應一遞增複製的請求。 例子第10圖顯示對遞增的複製提供之-通訊協定更詳細的 :子。可使-電子郵件訊息儲藏庫細分成為資= 夹在:不倚賴其他而獨立複製每一電子郵件: ,製處理上更精細的控制。在這個例子中,此遞增= 到=%作同步’因為它包括從電子郵件伺服器元件501 電子:件伺服器元件502之傳送改變以及從電子 件502到電子郵件客戶端元件⑽之傳送改變。接 27 12 綱· 著,一同步請求1001,由電子郵件 c 』服裔疋件502處理一
SynchFolder遠端作業。此遠端 出U口 , 卞茶匕括一 folderlD參數(未示 出)和一 stateblobo參數。f〇lderID來數辨鴣 >数辨識一電子郵件資 讓電子广為同步請求刚之標的。Μ —。參數含有 ^電子郵件伺服器元件㈣判定改變什麼的資訊,如果有更 自從上次同步之後1電子郵件資料夾已發生的資 Λ。如果請求100 i表示由電子 私丁坤仔客戶端兀件501對雷早 郵件資料夾之第一始婉ρη牛& ^主+、 弟曰経同步的凊求,則電子郵件伺服器元件 判定在電子郵件訊息儲藏庫中之標的電子郵件資料夾 比較空資料夾是否已更動,在對請求顧的回應购中, 電子郵件伺服器元件5〇2將任何更動送到電子郵件客戶端 一 括任何電子郵件訊息和/或已經添加至標的資料 Α 何電子郵件讯息的一列表和/或已經從標的資料夾 ,J除^其他的資料物件。電子郵件伺服器元件502也產生一 表丁 ^的貝料夹狀態之一新的,當作在電子郵件 伺服裔το件上立即接於這個同步之後,並且送出$⑻eM〇bi 以口應1002。當電子郵件客戶端元件5〇1送出下一同步請 求1 0 0 3如方含主;^ , Λ Λ vn 0 1中對相同的資料夾時,請求1 0 0 3將 包括作為一參倉f "乂個相同的stateblob!,其係含著回應1 002 回傳。如前,雷早細从h +飼服益元件502將使用含在stateblobi 的資訊以判定爭# 乂丄& 什麼’如果有更動的話,在回應1 〇 〇 4中, 已毛生於標的資料夾並且連同新近產生之Statebl〇b2的那些 更動送至電子郵件客戶端元件5〇1。 果SUtebl〇b資料物件係大大小,它可能反而影響 28 u. 通訊協定效能,因為它含 喪而、、,山 者例如母一電子郵件資料夾同步士主 求而迗出入一電子郵件伺 十人Π 乂 5月 資粗十 止 -7〇件。在一些提 貝抖失之同步電子郵件網路通訊協定中 =郵件 可由挑stateblob大部分 J由辨識電子郵件訊息更動 所έη山 ^ 、、且Λ心changeID資料物侔 所組成,而該電子郵件訊自 针物件 P目, 心更動係由一電子郵件客戶端元件 已見到的。當更動的電子 牛 雷 牛Λ μ被轉迗到那個元件時,一 晃子郵件訊息更動可所頡 丁 件已經見到。 β _、子郵件客戶端和/或飼服器元 郵件資料物件之一目的也許是在整個電子 件……對電子郵件訊息獨一無二地辨識一更 動。在使用一家用伺服哭第政 服σσ i略的一電子郵件網路中,一用卢 的家用伺服器可負責關聯於一 一 δΚ息changeID資料物件含著 先月ij未見的電子郵件今|自兩& ^ 彳邱件訊似更動。例如-家用飼服器可使用 匕3 — serverlD資料物件和一序 〜的 訊心changelD資料 serverlD資料物件可想 比A 物件了獨一無二地辨識在使用眾所 白知的技術像是全球唯一的識別 么 < 正1固冤子郵件網路的環 境中之一電子郵件伺服器元件。丄古揭沾请^ + T k樣的識別在本身為大大 小之處,se⑽m資料物件可取而代之為進人_識別杳詢表 裡的索引,該識別查詢表係由電子郵件❹器元件來维護。 可由計數器提供此序號,例如六位元組的寬度,在一電子郵 件飼服器元#的本& ’只I電子郵件伺服器元件接受一先前 未見的電子郵件訊息的儲存,即該序號遞增。 為了討論的目的,一訊息changeID資料物件可由例如 ‘Ύ I示,其中‘Sl,表示一第一電子郵件伺服器元件之 29
seirveirlD資料物件,且‘i 資料物件組,可由例如 表示一序號。一訊息changelD Si:1,S1:2,S1:3” 表示,其中
Si.2和S!.3係由含有serverlD為8〗的一 電子郵件伺服器元件佶用 J服裔几什便用之連績訊息changem資料物件。 ,,表不由電子郵件客戶端元件(—“觀察到的訊息更 動組)所見到❸電子郵件訊息更動之一訊息心叩⑴資料 物件組大部分組成—stateblQb之處,為了減少它的大小已 “毛展出些技術以使該組編碼,例如,該組‘‘ s〗:丨,s i: 2, L3,S1:4”可編碼為“ Si:1_4” 。此外,一電子郵件飼服器
兀件可確保它使用的序號正在一直增加。在那樣情況下,可 給一非連續之觀察到的訊息更動組例如“ Si:1,1:3, si:5 =•7可編碼Π1:1-7”,即為包括最小和最大序號的一 範圍’沒有功能性的損失。 在第9圖所描述的情節中,觀察到的訊息更動組除了目 前此家用伺服器(例如S3)以外,可包括由電子郵件飼服器 兀件產生的訊息changem資料物件(例如,Si,I)。由目前 豕用伺服器產生的一訊息changeID資料物件稱為一本地訊 息changelD,由其他電子郵件伺服器元件產生的一訊息 g ID為料物件稱為一外地訊息changelD。對與先前版 電子郵件伺服器元件通訊的電子郵件網路通訊協定尚未提 供非連續的外地訊息changeID序列之最佳化作為包括以每 電子郵件伺服器元件為基礎之最小和最大序號的—範圍。下 表說明將這樣的最佳化含在本發明的一實施例裡之益處:
30 由一先前版伺服器 由一最近版伺服器 (目前家用伺服器3) (目前家用伺服器s3) 使用的最佳化 使用的最佳化 最佳化之前的 Si:l3 Sn3? Si:5? Si:7 觀察到的訊息更動 S2:l,S2:3, S2:5, S2:7 组 S 3:1,S 3:3, S3:5, S3:7 最佳化之後的 Si:l, Si:3? Si:55 Si:7 Si:1-7 觀察到的訊息更動 S2:l, S2:3, S2:5, S2:7 S2:l-7 組 S3:l-7 S3:l-7 本發明的一實施例使用遠端作業包括下表中敘述的特 徵以在一電子郵件伺服器元件和一電子郵件客戶端元件之 間達到一電子郵件資料夾的同步。一電子郵件伺服器元件 可實作該改進的stateblob編碼技術此時有僅稍微增加點複 雜性。 當與先前版伺服器通 訊時,由一通訊協定使 用的遠端作業結果 當與最近版伺服器通 訊時,由一通訊協定使 用的遠端作業結果 ROP ID(遠端作業識別) SynchFolder (同步化資料夾) SynchFolder (同步化資料失) 用在一新模式中之未更 動的參數 stateblob:最佳化不包括 外地訊息changelD資料 物件的非連續組。 stateblob:改進的最佳化 包括外地訊息changelD 資料物件的非連續組。 第11A圖和第11 B圖分別描述在可由一先前版伺服写 及一最近版伺服器使用以回應SynchFolder遠端作業的一副程 ytx δ. ^
1269557
序之間的差里。笙 η A -弟UA圖顯示步驟11〇1、11〇2和ΐι〇3。 在步驟?101 ’建構一初始觀察到的訊息更動組。在步驟 1102’最佳化此本地訊息changeiD資料物件的觀 息更動構件。在步冑⑽,最佳化的觀察到的訊息更動组 被添加至敝bl〇b資料物件,其可含著一回應而送給請求 這個同步的-電子郵件客戶端元件。帛11B圖包括附加步 驟1104,λ顯示係為外地訊息changeiD資料物件之觀察到 的訊息更動的構件也在觀察到的訊息更動組前最佳化,現含
有改進的最佳化’在步驟i丄〇3被添加到—“a—資料物 件。 每胃當使一電子郵件訊息儲藏庫細分成電子郵件資料夾確 只,供在同步處理上更精細的控制時,它不自動提供一通訊 :定效能的改進’並且它這可導致在通訊協定效能的惡化。 + 些通訊協定需要使每一訊息儲藏庫資料夾都分別同
^每同步作業一般具有一些管理支出並且那個管理支出 2 =顯著的。利用stateblob資料物件的同步作業係可有 顯著管理支出之作業的一例。在使整個訊息儲藏庫同步的情 /、茜要車乂少同步作業之通訊協定比較而言,需要每一 訊息儲藏資料夾分別同步的通訊協定也許是處於劣勢。 使一整個訊息儲藏庫同步和保持同步是對於一電子郵 上戶端凡件的一理想目標。甚至當它導致在通訊協定效能 八的重要反面影響時,習知先前技藝電子郵件客戶端元件已 Si達到這個目標。本發明的一態樣是當藉由利用-階層架 來達到故個目標時,它能夠使通訊協定效能上的反面影 3 2 月R修ί更)正替換頁 響減到最少。習知先前技藝電子郵件伺服器元件還 —階層架構表。 在電子郵件訊息健藏庫細分成電子郵件資料4 些電子郵件資料夾可被組織到階層架構裡。第i 2 子郵件資料炎階層架構的一例。在第12圖中,資米 係為資料夾丨203的子資料夾。資料夾12〇3依次# 1202的子資料夾。資料夾12〇1是根資料夾。一 不是任何其他資料爽的子資料夾。所有其他資料夾 資料夾1201之資料夾階層架構的成員。通常, 層架構中的每一資料夾都沒有直接參考每一其他 一資料夾可僅有直接參考它的子資料夾,一資料失 接參考它是子資料夾的任何資料夾。在許多情況 是對每個資料夾具有一直接參考之唯一資料失為 的根資料夾。 一深入的階層架構表可在一資料夾階層架構 於每個資料夾的資訊。每一資料夾都可在階層架構 /排。階層架構表中的資訊是如此以致於可用來判 定時期的期間一電子郵件資料夾的内容是否更動。 期的開始一資料夾的一排複製所花費與在時期的 料夾的排複製所花費之簡單比較,可實作在〜特 期間一電子郵件資料夾更動之判定。在一實施例 架構表之每一排都包括下面的屬性: ^ 不能提供 .之處,那 圖顯示電 •夾 1204 ,資料夾 根資料夾 都是源自 資料夾階 資料夾。 也可有直 中,也許 階層架構 中含有關 表中具有 定在一特 使用在時 @束那資 定時期的 +,階層 1269551 一.;-Λ 一, I II , -r*·. -r:-.r^amfr.^:r·
屬性名稱 屬性類型 附註 資料夾識別 FID FED類型包含一全球唯一 識別元(GUID)和六位元 組的一序號。這個值可用 來獨一無二地辨識在一 一電子郵件網路的環境 中之一電子郵件資料夾。 PR—LOCAL_COMMIT—TIME—MAX Timestamp 任何時候更新這個時間 戳記,修改該資料夾的内 容。 PR—DELETED—COUNT—TOTAL QWORD 這個值係從該資料夾曾 經刪除項目之全部數量 的一計數
只要對一資料夾的内容作一變更,可更新一階層架構表 中一電子郵件資料夾的排屬性。為了一階層架構表更新之有 效率實作,應用者發現快速和直接的參考該階層架構表是有 幫助的。最低限度,當應用者嘗試存取這階層架構表時,應 用者發現應該有一小且可預測的間接層級數。例如,在資 料夾階層架構中定位一階層架構表於一任意層級將不提供 一可預測的間接層級數。在本發明的一實施例中,由於這 個原因,一階層架構表可與一電子郵件網路使用者的電子郵 件訊息儲藏貧料爽階層架構的根資料夾關聯。 在一電子郵件客戶端元件和一電子郵件伺服器元件之 間的通訊可分成通訊交談期。在交談期之間,可能發生電子 34
30 =件訊息儲藏庫同步的失落,例如在網路連通性中斷期間。 斜了重新建立電子郵件訊息儲藏庫同步於通訊交談的開始, 對於與先前版電子郵件通訊的—些通訊協定使用— SynchFolder退端作業用於資料夾階層架構中的每一資料 夾。一般,—些資料夾的内容在交談期之間將未更動。、含 未更動資料夾的-SynehF()lder遠端作業作為它的目標導致 :無效同步” ° _然- “無效同步,,不導致任何資料失 :皮轉达到t子郵件客戶端元件,它仍然具有關聯於它的— 管理支出。例如,-stateblGb #料物件,它也許是顯著的。 第13圖說明藉由利用一階層架構表而避免如此“無效 同步的結果之本發明的一實施例。在一第一請求 1301,電子郵件客戶端元件5〇1送出一遠端作業(例如,
GetHierarchyTable)對電子郵件伺服器元件502請求一階層 架構表。在一第一回應1302中,對電子郵件客戶端元件 5〇1提供該階層架構表之複製本。一般,電子郵件客戶端 凡件5 0 1將有該階層架構表之一先前的複製本。電子郵 件客戶端元件501由利用兩份複製本一排排地比對,可迅速 判定在電子郵件伺服器元件502上之用戶電子郵件訊息儲 存的哪個資料夾已更動。其次,使用遠端作業(例如 SynchFolder)以僅使更動的那些資料夾同步。可能須重複請 求1303及回應1 304以使更動的資料夾同步。接著成功的 同步,可更新電子郵件客戶端元件之該階層架構表複製本以 與在回應1302所送的最新複製本相匹配。如果電子郵件 客戶端元件501沒有該階層架構表之一先前複製本,則可
广厂,.‘一—一’’一卜一1—一和 7曰修(更)正替換買 使所有在最新複製本中具一排的資料夾同步。 一旦已經建立一使用者的電子郵件訊息儲藏庫的同 步’可由定期地重複上述的交談期步驟的開始來保持同步 (即,輪詢這個電子郵件伺服器元件),但這個規劃有缺點。 例如,輪詢時期也許比在使用者的電子郵件訊息儲藏庫的更 動之間的-時期更短得多。纟那種情況下,相當多該階層 架構表比對將表明沒有資料夾更動,4樣的比對實際上是 浪費的努力,所以能夠避免如此情況的通訊協定也許更有效
率〇 •丨只个丁穴文助内容時,一些電子 件網路包㈣於-電子郵件客戶端元件以訂閱—電子郵 伺服器元件通報的一設施。一 1义 一些先則版電子郵件客戶端 件糟由在一使用者資料失階> 白層中關聯於每一資料夾之更 通報來產生一分別的訂閱,確♦ 只用这樣的一設施以維持— 用者的電子郵件儲藏庫的同牛 一f4 A 在本發明的一實施例中 電子郵件客戶端元件對關 干對關聯於該階層架構表之 報,可僅產生一單一的訂閱。 尺勡 〜 早一的訂閱係更有效盎 因為需要較少的遠端作業來建 旱
的資源。 匕且消耗較少伺服器這 卞私%的一態樣,當一最 電子郵件客戶端元件501與一 /、電子郵件伺服器元件5〇: 通訊交談期的開始,在—哲 弟一請求1301中使 GetHierarchyTable 遠端作警 · 一,此電子郵件客戶端元科 自動訂閱更動通報,其係聯+人上 你關聯於在回應13〇2中所垣 36 止'關.: I26S557 該階層4#. ± 辑木構表。當一更動發生在電子郵件客戶端元件的一 JB ^ 子郵件訊息健藏庫中的電子郵件資料夾時,例如, 電子郵件訊息被添加到資料夾,如同先前所述也更新這階 曰杀構表。階層架構表之更動觸發一通報警告丨3 〇 5給電 子郵件客戶端元件501。當通報警告回應要求1301所置的 盯閱時,它不是一清晰明確請求-回應週期的一部分。因此, 如由本發明所提供通報系統的運用造成對電子郵件網路管 理支出少得許多。 單5丁閱可造成許多通報。在一實施例中,使用一 沒連接的網路傳輸機制,例如使用者資料訊息協定/網際網 L訊協定(UDP/IP) ’不過可使用任何合適的網路傳輸機制 來遞送該警告。在回應該警告中,電子郵件客戶端元件5〇1 送出一含有一遠端作業的請求1306 (例如,GetN〇tificati〇n)給 電子郵件伺服器元件5〇2。在回應13〇7中,將該階層架構 表之任何更動的排(即,對應於觸發此通報之一更動的資料 炎之這些排)送到電子郵件客戶端元件5〇1。然電子郵件客 戶端元件5〇1使用遠端作業(例如,SynchF〇ider)以僅使更動 的資料夾同步。 可向多個電子郵件客戶端元件訂閱關聯於相同資料物 件的更動通報(例如’相同的電子郵件資料失),例如,提供 合作功能性。如由第18圖戶斤說日月,電子郵件客戶端元件 18〇1、刚2和18G3被訂閱置於電子郵㈣服器元件刪 上之該關聯於才目@資料物件(未示出)的更動通報電子郵件。 客戶知元件1803使一遠端作業
件飼服;: 器元件18°4…的結果,電子郵 子郵件^ 使更動通報lm、1807和咖送到電 辨n= _、18°"°18。3。更動通報除了 子郵件客料物件還可攜載少量資訊,例如可能對一電 客戶端元件沒有方法來判定一特定更動的原因。如 1 果二:物件例如是一電子郵件資料夹、更動通報_、 !繼可導致每一電子郵件客戶端元件BO卜刪 口對更動的資料夾開始同步。在這例中,因為電子郵 〜件1 803負責該更動,結果將是“無效同步”。 為了先前探討的理由’希望消除造成“無效同步”的同 步:’然而’可能不是-直不想要所描述之通報行為,並且 2 =料客戶端元件可能仰賴它。本發明的—態樣係 ::先則版電子郵件客戶端元件未更動的通報行為的同 日,^了改進通訊協定的效能,提供_電子郵件客戶端元件 …最近版電子郵件飼服器元件的一通報行為之能力。 通報二 19===:子郵件_元件提供的 " β依據本毛明的一態樣描述可組態的通 的例子IGNORE-OWN旗號 報叮”、、H希望的話’—最近版電子郵件客戶端元件可 指出在第19Β圖中一電子郵件飼服器元件 ’例如藉由供給含著-請求的旗號,在…中所:為示 者 不 在步驟1901 ’從要被通報 。在步驟1904 ’對訂閱檢查 出現’步驟1 904分流至步驟 的訂閱戶組中選擇下一候選 IGNORE—OWN旗號。如果旗號 1902,其為使—通報送給候 126^57 υυ4分流至步驟 選訂閱戶之處 1 905,其為再次檢查訂閱戶以判定該訂閱戶是否觸發這個通 報之處。例如藉由檢查用來放置這個訂閱之交談期的一通 訊識別(“交談期m”)而做這個判定。交談期ID,例如, 可包括全球唯一識別元和六個位元組的序號。對與它關聯 的原因之交談期ID也檢查這個通報。如果兩者匹配,則 抑制該通報。_結果為產生-通報的—電子郵件客戶端元 件也將不收到那通報。此時副程序行進步驟19〇3,
描述。 如果這個用戶沒觸發此通報,則與訂閱關聯之交談期 卬是與通報的原因關聯之交談期ID不相同,而步驟 分流至步驟19〇2,其為送出這個通報之處。此時處理行進 至步驟B03,其為作-判定是否有更多訂閱戶要被通報之 處。如果有的話,副程序返回步驟19〇1,㈣完成這個副 程序。
如上述,利用電子郵件訊息之快取記憶體儲存的一電子 郵件客戶端元件可例如經由—遠端作業來請求在—本地客 ^端資料儲藏庫和在電子郵件伺服器元件之可用的資料儲 藏庫之間訊息或其他資料物件的同步。電子郵件客=端元 件可類似地請求訊息要從伺服器儲藏庫複製到客戶端儲藏 庠。在任一事件中,可使用一快速轉送模式來作該請求。 -般’當訊息或其他資料例如請求對於資料同步或複製 時,該請求(例如遠端作業)包括想要同步的所有訊阜之一浐 示。…電子郵件飼服器元件藉著例如利:上:: 39
I269fS7 對於先前版(先前技藝) stateblob特色自動建構這個列表 電子郵件伺服器元件,一 ^ . 午 訊心中的一錯誤或一遠端作業請求
中的資料物件錯誤將造成在請求中所有項目的一失敗。在 第14A圖中顯示這個處理,其為含有一遠端作業(例如 FXPrepare)的—請求在步驟i4Gi含著指定為複製或同步的 組messageID(訊息識別)被傳送,在電子郵件飼服器元件 5 〇 2建立一快速轉送機制’並且使一快速轉送! d在步驟】術 傳給電子郵件客戶端元件5Q1。㈣電子郵件客戶端元件 經^含FXGetBuffer遠端作業(步驟14〇3)的一請求而請 求資料物件的複製或同步。#這電子郵件伺服器元件⑽ 嘗試開啟該請求訊息時’一錯誤發生於一或更多訊息或者是 其他資料物件。錯誤的例子包括被破壞的-訊息或一資料 物件、伺服器失敗’這電子郵件伺服器元彳5〇2沒有可用的 記憶體,或這資料物件被偵測出一病毒。 在這錯誤之後,這電子郵件伺服器元件5 0 2將資料串流 中之一致命的遠端作業錯誤在步驟14〇4送至電子郵件客戶 端元件5 0 1。 就這樣,同步生目+ 如 乂失敗,在messagelD(訊息識別)
組内的訊息不被同步或複製,並且電子郵件客戶端元件5〇1 不接收Statebl〇b或類似更新資訊。然後電子郵件客戶端元 件5〇1必須另一次請求該資料物件的同步或複製。如果在 料郵件伺服器元# 502處沒有修補一錯誤,肖誤訊息可能 、羞、績运出,並且在messageID(訊息識別)組之内的訊息絕不 可能被同步或複製。 依據本發明的一態樣,而不是一致命的遠端作業錯誤, 40 ο;
% (更)正替換頁 一最近的電子郵件伺服器元件可送出關於此特定資料物件 的錯誤資訊(例如一電子郵件訊息),因此僅有那個資料物件 的同步失敗。即使一具有錯誤的訊息或其他資料物件被包 括在該回應之内,這個特色允許在一遠端作業或其他請求之 内的訊息或者其他資料物件以被傳送及同步或複製。
作為如何為了處理一特定物件錯誤的一例,一最近的 電子郵件伺服器元件可對具有一物件錯誤的資料物件在一 二貝料串中送出一錯誤訊息。在這個例子中,該錯誤指作 FXErrorInfo。若希望如下更進一步描述,FXErr〇rInf〇能 夠包括像是對具有一錯誤的資料物件之一訊息識別的資 訊,及關於為何訊息失敗的附加資訊。 第14B圖顯示一同步其中—錯誤發生於一訊息μ〗。此 錯誤造成一包括訊息Ml和訊息…接著FXErr〇rinf〇,及然 後訊息 M4 的 FXGetBuffer 回應 14〇5。FxErr〇rinf〇 資訊允 許電子郵件客戶端元件5〇1以知曉哪—訊息有一錯誤,並且 在該回應之内同步所有其他却白 ^ 他訊息。如果錯誤訊息 FXErrorInfo包括關於該錯誤理由 田的身訊,由客戶端元件據
此資訊可作用,例如,由顯示一供▲ 錯秩訊息給一使用者。 下表顯示FXErrorInfo可揼1 取格式的一例:
. FXErrorInfo 屬性名稱 ~~~^ 屬性類型 版本 WORD 錯誤碼 DWORD ------— 註解 〜— 這個結構的版本 -- 4 1 訊息識別 MID MID類型包含一全球唯 一識別元(GUID)及六位 元組的一序號。這是產 生該錯誤之訊息的訊息 識別。 … 可在此加上零或更多屬 性p 輔助欄位大小 UL0NG 依循此陣列的大小 輔助攔位 BYTE array(位元組陣列) 一無特定架構的的陣列 用於通訊錯誤細節 如能所見,範例格式包括一版本屬性、一錯誤碼,及一 訊息識別。此外,如所希望,可加上一或更多屬性。而 且,如上述,可對通訊錯誤細節定義一輔助攔位。這樣, 可對命令這些錯誤細節的攔位大小定義一屬性(例如一陣 列),並且可提供一欄位,其也許是例如一無特定架構的陣 列用於通訊錯誤細節。如上述,可由電子郵件客戶端元件 5 0 1如所希望來處理這些錯誤細節。 FXErrorlnfo允許第一回應的同步要完成,例如造成一 stateblob或者其他資訊要提供給電子郵件客戶端元件501。 因為現透過訊息M4來同步這個電子郵件客戶端元件,下一 個用於同步的請求1 406可導致一具有在M4之後的訊息(例 如M5和M6)之一回應1407。 為了表明一電子郵件客戶端元件501是一最近版,並且 ... · -··--、一 ,.. .·mmssf 因此能夠處理FXErrorInfo訊息可定義〜 FXRecoverMode,其可含著一請求同步或複製的、土〜面旗號例如 送。對電子郵件客戶端元件501可使用其作業而被傳 電子郵件伺服器元件502,其係為、2相示以通報给 FXErrorlnfo訊息。 ^夠處理這個 當電子郵件伺服器元件5 〇2將一或更夕 資料物件送到電子郵件客戶端元件5〇1,^的訊息或其他 如Ptags)來分開或定義將至電子郵件客戶端-性質標籤(例 流。例如,訊息的一列表可對每一訊息包%件的資料串 ptag和一結束訊息ptag。在開始和結束ptags —開始訊息 一性質表ptag和一主旨ptag ,其可具有—字串8之間也許是 旨ptag可緊接著主旨本身。可包括其他的性質。主 貝铋籤。 在一錯誤發生於傳送一訊息的案例中 FXErrorlnfo為一 ptag ,並且可有二進制的随 可提供 上表所定義。一資料串流的一例接著具有—+ 、 像疋由 〆、 —成功的1 ό 一錯誤發生的訊息。在錯誤發生的案例中,斜 4…和 對那個特定訊息 沒使用結束訊息ptag,且對那個訊息ptag FXErrorInfo係為 最後的ptag。 ptagMessageListStart ptagMessageStart ptagPropList ptagSubject〔 PT—STRING〕 nRe: Your email” ptagMessageEnd ptagMessageStart 126篼5哪 (弋· ptagFXErrorlnfo [ PT^BINARY ] 〔内容如由表中所描述〕 ptagMessageStart ptagMessage End ptagMessageListEnd 第15A圖顯示一電子郵件伺服器元件502可利用以 訊息轉送到一先前版電子郵件客戶端元件5〇1。步驟 開始籌備訊例如由置放這個訊息組在快速轉送二1 儲藏庫。在步驟1502,訊息開始串流輸出,例如在置Z 電子郵件伺服器元件502的送出緩衝器之後不久。當法 輸出這個訊息時,如果—錯誤發生,則在步驟η^使: 致命的遠端作業錯誤串流輸出至電子郵件客户端元 5?,後副程序結束。當串流這個訊息時,如果沒有發 生錯决’則在步驟1 503作一判定是否還有訊息在組中。 如果是的,處理回到步驟15G2,其為串流輸出下—訊息之 處。如果不是’然後副程序結束。 第15B圖顯示由一最近版電子郵件饲服器元件5〇2用 於處理-訊息級的一程序。絲的步驟是不同取決於電子 郵件客戶端元件是一最近版或一先前版。步驟15〇1_ 1504是採用一先前版電子郵件客戶端元件的㈣,且與前 段具有這個相同的參考數字的步驟相同。 在步驟15〇2,如果在串流的這個訊息中時發現一錯誤, 則在γ驟1 5 0 5作一判定是否該請求包括像是FxReC〇verM〇de 44
修(更)正替換頁 的一旗號。如果該請求含有這旗號,則電子郵件客戶端元 件501係為一最近版本,且步驟15〇5分流至步驟15〇6,是 否使FXErrorlnfo串流輪出至電子郵件客戶端元件5〇1。然 後處理繼續到步驟1 503。如果該請求不包括這面旗號,則 在步驟1 505分流至步驟1 506。如果是的,處理回到步驟 15 04,其為使一致命的遠端作業錯誤串流輸出之處。如果不 是,然後副程序結束。 如能所見,在請求中旗號的出現允許該串流處理繼續由 讓FXErrorlnfo的一串流輸出,而不是失敗及使一致命的遠 &作業錯誤送出。由一最近版電子郵件客戶端元件501送 出這旗號。先前版電子郵件客戶端元件不包括這旗號,因 此如上述.,一錯誤導致串流輸出一致命的遠端作業錯誤。 如所希望,在另一實施例中,對一訊息或其他資料物件 的特殊性質可送出此錯誤訊息(例如FXErr〇rInf〇),而非對 整個訊息。例如,對一訊息的主體或對一訊息的附加檔 案可送出FXErrorlnfo。電子郵件客戶端元件5〇1然後可同 步或複製這些成功送出而沒有一錯誤的性質,而僅有錯誤的 這些性質不同步或不複製。 有時’一訊息或其他資料物件可有足夠大小,而它跨越 多個FXGetBuffer回應。為了處理這樣的訊息,電子郵件 客戶編元件5 0 1可包括反轉邏輯,所以在接收一錯誤訊息之 後’它可解決任何特地收到的訊息,然後行進至適當接收更 進一步的訊息。 有時’對電子郵件客戶端元件而言,希望被提供關於資
料物件像是一電子郵件訊息之複製或同步的處理。根據本 發明的一態樣,當請求資料物件之複製或同步時,一最近版 電子郵件客戶端幻牛5G1可指示有能力處理進度模式取例如 由將像是PR〇GRESS_MODE的一旗號送給雷子 电于郵件伺服器元件 502。在回應中’―最近版電子郵件㈣器元件逝隨同 Γ息Γ送出各種資訊,例如所有訊息的全部大小、訊息的全 邛數垔、I一訊息的全部大小,或這些的任一者或結合。
例如,如在第16A目中顯示,對一先前版電子:件客 戶端元件5(H,在回應一組訊息的一快速轉送請求(16〇1和 16〇3)中’電子郵件客戶端元件5〇1接收訊息。在第Μ圖 中,在兩個回應16〇4和1606中接收訊息。在使用一快速 7送機制的先前版電子郵件客戶端元件5〇1中,不提供被串 至客戶之訊息的一進度指示。 J而如在第16B圖中所顯示,是對於由電子郵件客 一端το件對一訊息組請求的一回應丨6〇7,電子郵件伺服器 1 5〇2可提供要轉送的資料之一全部數量及要轉送的所 二貝料之王#大小。在第16B圖中由“ pal】,,表示這個資
^ 最近版電子郵件伺服器元件502也可供給每一訊息 夕大小’由在第16B圖中“pp P2、p3、 ·,,來表明。此 包 t日]居’關聯於每一訊息和整組訊息的資訊可 —2附加貝汛’其係關於是否每一訊息為關聯資訊(FAI)或 干、的電子郵件訊息。在一實施例中,一直送出在第1 6Β 圖中由 ‘‘ Ρ ’’ 即 、 &11 表示的這個資訊以回應一快速轉送請求, 為了簡化貝料串流的處理而轉送零資料物件。 46 1269始
對要轉送的所有資料物件之大小和數量的一格式例子 係被顯示於下表。
IncrSyncProgressMode 屬性名稱 屬性類型 註解 Version WORD (例如一 16位元整數) 這個結構的版本 CassocMsgs DWORD (例如一 32位元整數) 要轉送的FAI資料物件 之數目 UTotalAssocMsgSize QWORD (例如一 64位元整數) 要轉送的所有FAI資料 物件之全部大小 CnormalMsgs DWORD 要轉送的電子郵件訊息 之數目 UTotalNormalMsgSize QWORD 要轉送的所有電子郵件 訊息之全部大小 如能所見,分開的屬性可對FAI資料物件之數目、所有 FAI資料物件之全部大小、要轉送的電子郵件訊息之數目, 及要轉送的所有電子郵件訊息之全部大小。如所希望,可 使其他結合和附加的屬性添加到格式中。 下顯示對於可供給每一訊息的大小和其他資訊之一格 式。
IncrSyncProgressModePerMsg 屬性名稱 屬性類型 註解 訊息大小 LONG 下一個訊息的大小 FAI旗號 BOOL 指示下一個訊息是否 為FAI 126辦 f) 如能所見,格式包括下一個訊息的大小及是否下一個訊 息為F AI。 第1 7A圖和第1 7B圖係分別依據一先前版電子郵件元 件及一最近版電子郵件元件來顯示串流一訊息組的步驟。 在第17A圖中的步驟與第15a圖中步驟15〇卜15〇3。對第 17B圖而言,已經送出PROGRESS—MODE旗號,例如由一最近 電子郵件客戶端元件501的遠端作業。在步驟1701中籌 備這個訊息組之後,做一判定是否旗號存在。如果是的話, 則步驟1702中送出進度全體資料,則處理行進至步驟i5〇2, 其為串流輸出第一訊息之處。如果旗號沒有出現,則步驟 1701直接分流至步驟15〇2。 在串流輸出第一訊息之後,處理行進至步驟1 7 〇 3,其 為如果旗號可用的而做一判定之處。如果如此,則步驟 1 703分流至1704步驟,其為串流輸出每訊息的進度資料 之處。此時處理行進至描述得更早前的步驟1 5 〇 3。如果 旗號不可用的,則步驟17〇3直接分流至15〇3步驟。 對於一最近的伺服器元件將資料送到一最近的客戶端 元件之資料串流的一例敘述於下。資料的串流類似於在上 面描述的資料的串流,但是額外包括對於進度總計資料 (ptaglncirSyncProgressMode),其可具有例如二進制性質。 此外,對每一訊息而言,供給每訊息進度資料,例如 ptaglncrSyncProgressModePerMsg 〇 PtaglncrSyncProgressMode 〔 PT—BINARY〕 〔内谷如由表中所描述〕 48 I聊7 . ;
.,... -J ptagMessageListStart
PtaglncrSyncProgressModePerMsg ( ρχ BINARY ) 〔内容如由表中所描述〕 ptagMessageStart ptagPropList ptagSubject〔 PT—STRING〕 ’’Re: Your email·, ptagMessageEnd
PtaglncrSyncProgressModePerMsg ( PT^BINARY ) 〔内容如由表中所描述〕 ptagMessageStart ptagMessageEnd
PtaglncrSyncProgressModePerMsg 〔 PTJBINARY〕 ptagMessageStart
〔内容如由表中所描述〕 ptagMessageEnd ptagMessageListEnd
在所顯示的例子中,ptags包括進度總計資料 (ptaglncrSyncProgressMode), 並且用於訊息進度資料 (PtaglncrSyncProgressModePerMsg)的 ptags 係位在訊息的列表之前, 並且在各別每一訊息之前。然而,可修訂這些資料物件的 串流架構’因此可在這些訊息之内或在訊息列表之内包括這 進度資料。為了整個除去ptags劃出界限訊息和/或訊息列 表,更可能修訂這些資料物件的串流架構。
w 曰修(更)正替換頁 接收進度資料的一電子郵件客戶端元件可利用這個資 料以判定來自電子郵件伺服端元件之資料物件的同步或複 製之進度,並且可利用每一訊息進度資料以判定每一個別訊 息的進度。這個資訊可為有幫助的,例如在即時監測關於 一同步的進度資訊。 有數種不同文字組可用來儲存一電子郵件訊息或其他 資料物件。例如,ASCII(美國訊息交換標準代碼)是最普遍 用來儲存英語字元。然而,ASCII不足以用以儲存所有語 吕字元’因為它是基於8-位元字元。因此,ASCII碼能僅 用在256字元,其係用於英語是足夠的,但對於更多字元的 叩5是不夠的。另一方面,Unicode(統一碼)對每一字元係 使用16位元(兩位元組),所以能比aSCII包括更多字元。 Umcode可具有65,536字元,所以能用來編碼世界上幾乎所 有的語言。Unicode包括在它之内的Ascn文字組。 通⑦,先前版電子郵件客戶端元件501具有 頁或文子組及/或其中關聯的語言。例如,一特定版電子 郵件客戶端元件501可具有一德國碼頁,且另一版本可具有 一 Αππ碼頁。有時,對電子郵件客戶端元件5〇1而言, 想要接收除了指定的碼頁之外以字元組的電子郵件。根據 本發:的另一實施例,一最近客戶端元件可強迫一電子郵件 伺服器元件以用Unicode提供所有電子郵件。一旦由電子 :件客戶端元件50"妾收電子郵件,可使叫_電子郵件 轉成該客戶端的碼頁’或者可維持驗_格式。 為了指示-電子郵件客戶端元件5〇1啼叫以叫。*所 5 0 k供的電子郵件,電子郵件客 各尸铋7L件5〇1可例 是forceunicode旗號,給一雷早命Μ ^供一像 冤子郵件伺服器元件502。一咬 未像是一遠端作業可提供該旗號。若_ 一 6月 件⑽是-最近版,該電子郵件伺服郵件伺服器元 子郵件的一一e版,如果可可提供該電 」用的話,或可使其他 的電子郵件訊息轉成Unic〇de。 ’ 第20圖顯示根據本發明 〜^悲樣用於提供一訊息的一 特疋子7L組之步驟。開始於步 .ςΛ0, /驟2001,電子郵件伺服器元 件502自它的資料健藏庫取得-訊息。在步驟2002,做一 判定是否臟麵麵旗號是出現的。如果沒有,步驟職 分流至步驟则,其為在電子郵件客戶端元件指“碼頁 中電子郵件飼服器元件502提供該電子郵件訊息之處,如果 需要的話將轉碼。 如果FORCEUMCODE旗號是出現的,則步驟2〇〇2分流至 步驟2004’其為做-判定是否該訊息被健存為如 果是如此,步驟2004分流至步驟2〇〇5,其為將該訊息以 Unicode子元組提供給電子郵件客戶端元件5〇1之處。如 果不疋以Unicode字元組儲存這個訊息,步驟2004分流至 使攻個訊息轉變成Unic〇de的步驟2〇〇6,然後處理繼續至 v驟2 0 〇 5 ’其為將該訊息以u n i c 〇 d e字元組提供給電子郵 件客戶端元件之處。 包括刊物、專利申請案、專利及在此所引證的所有參考 案由同樣程度的參考模式合併,即使每一參考案是個別且特 疋心示由參考而合併而在此整個說明。
Um55^ ../', . Γ.、; V.:政 < :乂-,
'' · . .' J 在敘述本發明的上下文中,除非在此指出或由上下文清 楚地牴觸,否則術語“一”、“該,,和“這,,及類似指示物 (特別在下列申請專利範圍的上下文中)之運用係為釋義涵 蓋單數和複數兩者。除非註明,否則術語“包含”、‘‘具 有、包括”和“含有,,釋義為開放式不限定結尾的術語 (即意為“包括,但不限定於”)。在此數值範圍的詳述僅 為意圖當作指個別落在該範圍之内每一分別的數值之簡略 的表達方式。除非在此指出或由上下文清楚地牴觸,否則 此中敘述的所有方法可以任一適當的順序來執行。除非宣 稱,否則任何和所有例子或示範的語言(例如,“像是,,)之 運用僅思圖更好地點出本發明,並不是擺出本發明範圍上的 局限性。在說明書中沒有語言應該譯義當作為對於本發明 的實踐必不可少而任何非申請專利範圍的元件。 在此描述這個發明的較佳實施例包括本發明者已知用 以實現本發明之最好的模式。當閱讀前面的描述時,那些 較佳實施例的變化對於那些一般熟悉此技術的人士可變得 顯見。發明者期望嫻熟技藝者以適當地使用這些變化,並 且除非在此特定敘述,發明者試圖使本發明實施。於是, 如由可適用法律許可,這個發明包括在此所附的申請專利範 圍中之詳述的主題標的之所有修改及對等物。此外,除非 在此指出或由上下文清楚地牴觸,否則本發明涵蓋所有其中 可能的變化之上述元件的任何結合。 12感濟 L圖式簡單說明】 :1圖為由-網路連接之電腦的一概要圖; 弟2圖為. 電腦^ 作本發明的-實施例之-干r 电胞糸統的一概要圖; 不乾 囷為系%含有多版本的電子 一 子郵件伺服端元件 鈿疋件與電 h 件兩者的一%境之一概要圖; 弟4圖為甚苜 勹4不在電子郵件客戶端元件盥 端元件之間一通1 ^ 干,、電子郵件伺服 笫5 m氣。定商議程序的一例之通訊協定圖式; 端元件示—示範電子郵件網路其中電子郵件客戶 -概要圖; 飼服端元件具固定大小的通訊緩衝器之 第6A圖為顯示 速轉送作業之一示範 以元成一快 一需要兩個請求-回應週期 通訊協定的通訊協定圖式; 第6B圖為顯 快速轉送作業之— 不一需要一單一請求-回應週期以 示範通訊協定的通訊協定圖式; 完成一 第7A圖為描繪一示範程序用於使一電子郵件訊息主 體送到一電子郵株旁^ ^ ° 1午客戶&凡件的一流程圖; 第7B圖為描繪一示範程序用於使一電子郵件訊息主
體送到一電子郵俾交ώ wb - /*L 丨1千客戶端兀件的一流程圖; 第8A圖為說明一完整項目轉送模式的一順序圖; 第 囷為說明一標題先轉送模式的一順序圖; 第8C圖為說明一僅有標題轉送模式的一順序圖; 第8D圖為說明對一標題先轉送模式或一僅有標題轉 送模式的一例外之一順序圖;
第9圖顯示一電子郵件 服哭-从应 戶端元件的家用電子郵 服态凡件歷經時間而更動之— P件伺 憐要圖; 第10圖顯示用在一電早 件伺服W - Μ 子郵件客戶端元件和一電子郵 °服益兀件之間同步電子 Ρ 丨汁貝村夾的一示筋 之一通訊協定圖式; 丁乾逋Λ協定 第11 Α圖描繪用於最祛 化一 stateblob的一部分之亍r 程序的一流程圖; 丨刀之不乾 第11 B圖描緣根據本發明 A 土乃用於最佳化一 stateblob的一 4分之示範程序的一流程圖; 弟12圖說明一電子郵株咨斗立十你匕a + 电丁郅件貝枓夾階層架構的一概要圖; 第13圖顯示根據本發明用於一電子郵件訊息健藏庫 的同步及維持同步的-示範通訊協定之—通訊協定圖式; 第14A圖顯不用以通訊辑链咨% 土 一 遇Λ錯為貝讯於遮端作業層級的一 示範通訊協定之一通訊協定圖式; 第14Β圖顯示根據本發明的一態樣用於每訊息的基礎 上通訊錯誤資訊的一示範通却+及中夕—、a — a 軛逋Λ協疋之通訊協定圖式; 第15Α圖描繪用以產生錯誤資訊於遠端作業層級的一 程序之一流程圖; 第15Β圖描繪根據本發明的一態樣用以產生錯誤資訊 於每訊息基礎上的一程序之一流程圖; 第1 6 Α圖顯示用於實現一快速轉送作業的一示範通訊 協定之一通訊協定圖式; 第1 6B圖顯示當根據本發明的一態樣實現一快速轉送 作業時,用於提供進度資訊的一示範通訊協定之一通訊協定 54 圖式; 第1 7 A圖描繪用以串流輸出一組訊息的一程序之一流 程圖; 第1 7B圖描繪根據本發明的一態樣用以串流輸出一組 訊息連同進度資訊的一程序之一流程圖; 第 1 8圖為在一電子郵件伺服器元件相同資料物件之 一更動的結果,通報多個電子郵件客戶端元件之一概要圖; 第1 9 A圖描繪用以通報多個訂閱戶的一程序之一流程
圖; 第1 9B圖描繪根據本發明的一態樣用以通報多個訂閱 戶的一程序之一流程圖;及 第 20圖描繪用以提供一電子郵件訊息的一程序之一 流程圖,該電子郵件訊息根據本發明的一態樣使用一希望之 碼頁。
【元件代表符號簡單說明】 10 電腦 11 網 路 14 處理 單元 16 系 統 記 憶 體 18 電腦 的最基本組態 20 顯 示 器 203 輸出 裝置 204 輸 入 裝 置 205 通訊 連接模組 301 、302 、303 、 401 、 501 電 子 郵 件 客 戶 端 元件 304 、305 、306 、 402 ' 502 電 子 郵 件 /[司 服 器 元件 503 、505 發送緩衝器
126955^ 504、506接收緩衝器 601 快 速 轉 送 作 業 的 一 第 一 602 快 速 轉 送 作 業 的 一 第 ___ 603 快 速 轉 送 作 業 的 一 第 二 604 快 速 轉 送 作 業 的 — 第 二 801 完 整 項 目 轉 送 模 式 之 .— 802 完 整 項 g 轉 送 模 式 之 一 803 完 整 項 a 轉 送 模 式 之 -— 804 完 整 項 a 轉 送 模 式 之 805 標 題 先 轉 送 模 式 之 一 第 806 標 題 先 轉 送 模 式 之 — 第 807 標 題 先 轉 送 模 式 之 一 第 808 標 題 先 轉 送 模 式 之 — 第 809 僅 有 標 題 轉 送 模 式 之 電 810 僅 有 標 題 轉 送 模 式 之 電 811 僅 有 標 題 轉 送 模 式 之 電 812 沒 定 義 好 其 名 稱 特 性 的 物 件 清求 回應 請求 回應
第一電子郵件訊息標題 第一電子郵件訊息主體 第二電子郵件訊息標題 第二電子郵件訊息主體 一電子郵件訊息標題 二電子郵件訊息標題 一電子郵件訊息主體 二電子郵件訊息主體 子郵件訊息標題 子郵件訊息主體 子郵件訊息標題 標題組,所以轉送其整個資料
813資料物件確實具有名益M &碎 冉特性*作屬於名稱特性的 組,所以僅轉送一電子郵件訊息標冑 ’ 9〇1、903、905電子郵件祠服器元件 9〇2、9〇4、9〇6、_、1 802、1 803 電子郵件客 1201根資料夾 1202 、 1203 、 1204 資料夾 56 T76QSS7 ^
95 S 牟、·月冶修(更)正替撓買 1 3 0 1階層架構表之一第一請求 1 3 02階層架構表之一第一回應 1 3 03使更動的資料夾同步之請求 1 3 04使更動的資料夾同步之回應 1 305通報警告 1 805遠端作業 1 806、1 807、1 808 更動通報 57

Claims (1)

  1. 格 125^557- 十、申請專利範圍: 1. -種具電腦可執行的指令之電腦 令至少包含: g取媒體,該指 維護非連續的第一資料於一第一 ^ %子郵枝/ 處,該第一資料係關於由一電子郵件客-司服器元件 郵件訊息更動; &元件所見之電子 維護第二資# 0 一 H φ , $ 一電子郵件伺服器元件声 資料係關於由該雷’該第二 该電子郵件客戶端元件所 更動;及 電子郵件訊息 電子郵件伺服器元件 使該非連續的第一資料於一第 處最佳化。 腦可讀取媒體, 資料至該電子郵 更 件 2·如申請專利範圍第i項所述之電 包含傳送該第:資料和該最佳化的第一 客戶端元件。 行的指令之電腦可 讀取媒體,該指 之複數個資料夾 由於複數個資料夾中之 自動訂閱一電子郵件客戶 傳送一通報至該電子郵件 求 58 的一更動。 4. 如申請專利範圍第3項所述之電腦可讀取媒體,其 中該請求至少包含對一資料夾進行同步化之一請求,該資料 夾為該電子郵件資料物件所在之處。 5. 如申請專利範圍第3項所述之電腦可讀取媒體,其 中該請求至少包含對一電子郵件訊息的一複製本之一請求。 6. 一種具電腦可執行的指令之電腦可讀取媒體,該指 令至少包含:由於複數個資料夾中之一電子郵件資料物件之 一請求,自動訂閱一關於對含有電子郵件資料物件之複數個 資料夾所作出更動的表; 為回應在該表中的一更動,接收一傳送至該電子郵件客 戶端元件之關於與該更動的資料夾相對應之該表中的排 (row)之通報;及 為回應該通報,送出一僅同步已經更動的資料失之請 求。 7.如申請專利範圍第6項所述之電腦可讀取媒體,其 中該請求至少包含對一資料夾進行同步化之一請求,該資料 夾為該電子郵件資料物件所在之處。 5 9 項所述之方法, 其中該指 1 2 ·如申請專利範圍第1 〇 12^557 月專利範圍第6項 中該請求至少包人 π攻之電腩可續取媒 3、t子郵彳訊息的一複製本之_ 二·-種電驅可實作的方 在—電子郵件客戶端元件處,〇包含: 5 丁閲-關於對含有電子 所作出更動的表,該表由番貝科物件之複數個: 在至少一資料二由;電子郵件词服器元件所維 更動,·及…中’造成該等資料物件之至少1 傳送-指^至-電子郵”服器 該電子郵件客戶端元件的一通報。 以凊求沒肩 10 ·如申請專利範圍第9 少包含隨著一請求的一旗號。 11·如申請專利範圍第1〇項所述 至少包含對一資料夾進行同步 法,其中該 息所在之處。 &之1求,該資料炎為 員所述之方法,其中該 體,其 請求。 ‘料夾 ί ; 的一 送至 示至 請求 該訊 請求 60 ^2695S7 至少包含對一電子郵件訊息的-複製本之一 請求 13 -種具電腦可執行的指 可7之電恥可讀取媒體,其係 於執行如申請專利範圍第9項 所述之方法 1 4. 一種具有具體實施— 取媒體,i Φ 1i 貝枓封包於其中的電腦可項 艰,其中該資料封包至少 識別符; 第一資料攔位,其俜句紅 係包括一電子郵件客戶端元件的 第二資料攔位,其係表 電子郵件資料夾中對一 示由該電子郵件客戶端元件在 指示,其係請求關於 電子郵件資料物件所作的更動;及 郵件客戶端元件 該更動的一通報沒有送至該電子 4項所述之電腦可讀取媒體 1 5 .如申清專利範圍第1 其中該指示至少包含隨著—請求的—旗號 1 6 · —種具電腦可執杆 丁的才曰令之電腦可讀取媒體,該指 令至少包含: 維護一關於對含有電子 电于郵件資料物件之複數個資料夾 所作出更動的表; 訂閱一第一電子郵件客 丁各戶知兀件至該表; 6 1
    126955, 接收在至少一資料夾中對於該等資料物件之至少一者 所作的一更動,該更動係由該第一電子郵件客戶端元件所造 成, 接收一指示,其係請求一通報沒有送至該電子郵件客戶 端元件以回應該更動;及 傳送關於該更動的一通報至除了該第一電子郵件客戶 端元件以外之該表的訂閱戶們,以回應該更動及該指示。
    1 7.如申請專利範圍第1 6項所述之電腦可讀取媒體, 其中該指示至少包含隨著一請求的一旗號。 1 8.如申請專利範圍第1 7項所述之電腦可讀取媒體, 其中該請求至少包含對至少一資料爽的進行同步化之一請 求。
    1 9,如申請專利範圍第1 7項所述之電腦可讀取媒體, 其中該請求至少包含對一電子郵件訊息的一複製本之一請 求0
    七、指定代表圖: (一) 、本案指定代表圖為:第19B圖。 (二) 、本代表圖之元件代表符號簡單說明: 1901 得到下一位要被通報的訂閱戶 1904 訂閱戶包括IGNORE_OWN旗號 嗎? 1902 使一通報送給訂閱戶 1903 還有更多訂閱戶要被通報嗎?
    1905 訂閱戶觸發這個通報嗎? 八、本案若有化學式時,請揭示最能顯示發 明特徵的化學式: 無 · 5
TW092136044A 2003-01-03 2003-12-18 System and method for improved synchronization between a server and a client TWI269557B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43786903P 2003-01-03 2003-01-03
US10/367,273 US7386590B2 (en) 2003-01-03 2003-02-14 System and method for improved synchronization between a server and a client

Publications (2)

Publication Number Publication Date
TW200420044A TW200420044A (en) 2004-10-01
TWI269557B true TWI269557B (en) 2006-12-21

Family

ID=32511094

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092136044A TWI269557B (en) 2003-01-03 2003-12-18 System and method for improved synchronization between a server and a client

Country Status (13)

Country Link
US (5) US7386590B2 (zh)
EP (1) EP1435585B1 (zh)
JP (1) JP4633365B2 (zh)
KR (1) KR101034421B1 (zh)
CN (1) CN100481821C (zh)
AU (2) AU2003268734B8 (zh)
BR (1) BR0306066A (zh)
CA (1) CA2452916C (zh)
MX (1) MXPA03011675A (zh)
MY (1) MY144908A (zh)
PL (1) PL364200A1 (zh)
RU (3) RU2346323C2 (zh)
TW (1) TWI269557B (zh)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366760B2 (en) * 2003-01-03 2008-04-29 Microsoft Corporation System and method for improved client server communications of email messages
US7620688B2 (en) * 2003-01-03 2009-11-17 Microsoft Corporation Progress mode for electronic mail component
US7386590B2 (en) 2003-01-03 2008-06-10 Microsoft Corporation System and method for improved synchronization between a server and a client
US8230112B2 (en) * 2003-03-27 2012-07-24 Siebel Systems, Inc. Dynamic support of multiple message formats
US7373602B2 (en) * 2003-05-28 2008-05-13 Microsoft Corporation Method for reading electronic mail in plain text
US7536440B2 (en) * 2003-09-18 2009-05-19 Vulcan Portals Inc. Method and system for email synchronization for an electronic device
US20050076085A1 (en) * 2003-09-18 2005-04-07 Vulcan Portals Inc. Method and system for managing email attachments for an electronic device
US7921162B2 (en) * 2004-07-19 2011-04-05 The Go Daddy Group, Inc. Notification system and method for domain name registrars
US7546613B2 (en) * 2004-09-14 2009-06-09 Oracle International Corporation Methods and systems for efficient queue propagation using a single protocol-based remote procedure call to stream a batch of messages
US20060101064A1 (en) 2004-11-08 2006-05-11 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US8626719B2 (en) * 2004-11-11 2014-01-07 Emc Corporation Methods of managing and accessing e-mail
US8195746B2 (en) * 2005-03-11 2012-06-05 International Business Machines Corporation Automatic off-line availability for document content linked in electronic mail messages
US7305420B2 (en) * 2005-05-25 2007-12-04 Microsoft Corporation Synchronizing modifiable documents with multiple clients using document subsections
US20060277270A1 (en) * 2005-06-03 2006-12-07 Microsoft Corporation Record and playback of server conversations from a device
KR100640401B1 (ko) 2005-07-13 2006-10-30 삼성전자주식회사 모바일 이메일 서버와 클라이언트 단말 간 동기 유지방법과 시스템 및 그 단말
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
US7962585B2 (en) * 2005-08-15 2011-06-14 Microsoft Corporation Partial item change tracking and synchronization
US7844672B2 (en) * 2005-08-25 2010-11-30 International Business Machines Corporation Methods, systems, and computer program products for managing email in a client-server environment
US7454414B2 (en) * 2005-08-30 2008-11-18 International Business Machines Corporation Automatic data retrieval system based on context-traversal history
KR100705238B1 (ko) * 2005-11-15 2007-04-06 엘지전자 주식회사 에러 체크 코드를 이용한 데이터 동기화 방법과 이를 위한이동 통신 단말기 및 서버
US7956358B2 (en) 2006-02-07 2011-06-07 Macronix International Co., Ltd. I-shaped phase change memory cell with thermal isolation
US7962566B2 (en) * 2006-03-27 2011-06-14 Sap Ag Optimized session management for fast session failover and load balancing
US7640249B2 (en) * 2006-03-29 2009-12-29 Sap (Ag) System and method for transactional session management
US9501803B2 (en) * 2007-04-12 2016-11-22 Siemens Industry, Inc. Devices, systems, and methods for monitoring energy systems
US10120733B2 (en) * 2007-08-30 2018-11-06 Red Hat, Inc. Remote procedure call supporting multiple versions
US20090327354A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Notification and synchronization of updated data
US9477727B2 (en) 2008-08-01 2016-10-25 Sybase, Inc. Abstracting data for use by a mobile device having occasional connectivity
US8335762B2 (en) * 2008-10-06 2012-12-18 Microsoft Corporation Resource tracking
US20100153335A1 (en) * 2008-12-12 2010-06-17 Microsoft Corporation Synchronizing multiple classes with disparate schemas in the same collection
US20100268784A1 (en) * 2009-04-17 2010-10-21 Marc Henness Data synchronization system and method
US9336291B2 (en) * 2009-12-30 2016-05-10 Sybase, Inc. Message based synchronization for mobile business objects
US8909662B2 (en) * 2009-12-30 2014-12-09 Sybase, Inc. Message based mobile object with native PIM integration
US8788458B2 (en) 2009-12-30 2014-07-22 Sybase, Inc. Data caching for mobile applications
US10102242B2 (en) 2010-12-21 2018-10-16 Sybase, Inc. Bulk initial download of mobile databases
US8892569B2 (en) 2010-12-23 2014-11-18 Ianywhere Solutions, Inc. Indexing spatial data with a quadtree index having cost-based query decomposition
TWI452472B (zh) * 2011-01-27 2014-09-11 Hon Hai Prec Ind Co Ltd 存取閘道器及其提供雲存儲服務方法
US9002926B2 (en) 2011-04-22 2015-04-07 Go Daddy Operating Company, LLC Methods for suggesting domain names from a geographic location data
US9110807B2 (en) 2012-05-23 2015-08-18 Sybase, Inc. Cache conflict detection
US8874682B2 (en) 2012-05-23 2014-10-28 Sybase, Inc. Composite graph cache management
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US9547704B1 (en) * 2012-10-22 2017-01-17 Google Inc. Email robustness checking
US8806200B2 (en) * 2012-11-30 2014-08-12 Prakash Baskaran Method and system for securing electronic data
RU2527210C1 (ru) * 2013-06-14 2014-08-27 Общество с ограниченной ответственностью "Новые технологии презентаций" Способ и система для передачи данных от веб-сервера клиентским терминальным устройствам посредством локальной беспроводной коммуникационной сети
US9715694B2 (en) 2013-10-10 2017-07-25 Go Daddy Operating Company, LLC System and method for website personalization from survey data
US9684918B2 (en) 2013-10-10 2017-06-20 Go Daddy Operating Company, LLC System and method for candidate domain name generation
US10498777B2 (en) * 2014-03-17 2019-12-03 Citrix Systems, Inc. Real-time push notifications for cloud-based applications
US9660933B2 (en) 2014-04-17 2017-05-23 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates
US9501211B2 (en) 2014-04-17 2016-11-22 GoDaddy Operating Company, LLC User input processing for allocation of hosting server resources
US9953105B1 (en) 2014-10-01 2018-04-24 Go Daddy Operating Company, LLC System and method for creating subdomains or directories for a domain name
US9785663B2 (en) 2014-11-14 2017-10-10 Go Daddy Operating Company, LLC Verifying a correspondence address for a registrant
US9779125B2 (en) 2014-11-14 2017-10-03 Go Daddy Operating Company, LLC Ensuring accurate domain name contact information
US9678799B2 (en) 2015-02-12 2017-06-13 International Business Machines Corporation Dynamic correlated operation management for a distributed computing system
US10587564B2 (en) * 2015-03-05 2020-03-10 Microsoft Technology Licensing, Llc Tracking electronic mail messages in a separate computing system
US10277549B2 (en) * 2015-06-04 2019-04-30 Apple Inc. Prioritized email synchronization with server
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US11340760B2 (en) * 2019-09-06 2022-05-24 Dropbox, Inc. Generating a customized organizational structure for uploading content to a cloud-based storage system
US11329940B2 (en) 2019-10-28 2022-05-10 Microsoft Technology Licensing, Llc Coordinated unread count for email applications
CN113965580A (zh) * 2020-06-29 2022-01-21 北京字节跳动网络技术有限公司 同步消息的方法和装置
CN114124925B (zh) * 2020-08-25 2023-05-12 华为技术有限公司 一种电子邮件的同步方法及电子设备

Family Cites Families (76)

* 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
US5694561A (en) 1994-12-12 1997-12-02 Microsoft Corporation Method and system for grouping and manipulating windows
GB2300991B (en) * 1995-05-15 1997-11-05 Andrew Macgregor Ritchie Serving signals to browsing clients
JP3184763B2 (ja) 1995-06-07 2001-07-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチメディア直接アクセス記憶装置及びフォーマット方法
US5712907A (en) * 1995-09-18 1998-01-27 Open Port Technology, Inc. Pro-active message delivery system and method
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
US5923848A (en) 1996-05-31 1999-07-13 Microsoft Corporation System and method for resolving names in an electronic messaging environment
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 情報通信システム、情報通信端末、サーバ装置および情報通信方法
US6138146A (en) 1997-09-29 2000-10-24 Ericsson Inc. Electronic mail forwarding system and method
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
US6938073B1 (en) * 1997-11-14 2005-08-30 Yahoo! Inc. Method and apparatus for re-formatting web pages
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
US6233316B1 (en) * 1998-01-27 2001-05-15 Dsc Telecom, L.P. Voice enhanced phone card
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
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
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
CA2275840A1 (en) 1998-08-18 2000-02-18 Lucent Technologies Inc. Generalized messaging construct
US6886030B1 (en) 1998-08-18 2005-04-26 United Video Properties, Inc. Electronic mail system employing a low bandwidth link for e-mail notifications
US6505255B1 (en) * 1999-04-29 2003-01-07 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Method for formatting and routing data between an external network and an internal network
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
US6574657B1 (en) * 1999-05-03 2003-06-03 Symantec Corporation Methods and apparatuses for file synchronization and updating using a signature list
US6442748B1 (en) * 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US6304898B1 (en) 1999-10-13 2001-10-16 Datahouse, Inc. Method and system for creating and sending graphical email
US20020055351A1 (en) * 1999-11-12 2002-05-09 Elsey Nicholas J. Technique for providing personalized information and communications services
JP2001197247A (ja) 2000-01-11 2001-07-19 Fuji Xerox Co Ltd 画像データ送受信装置及び通信システム
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
US6438584B1 (en) * 2000-03-07 2002-08-20 Letter Services, Inc. Automatic generation of graphically-composed correspondence via a text email-interface
US6968364B1 (en) * 2000-03-30 2005-11-22 Microsoft Corporation System and method to facilitate selection and programming of an associated audio/visual system
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 メールデータ管理システム
US6732101B1 (en) * 2000-06-15 2004-05-04 Zix Corporation Secure message forwarding system detecting user's preferences including security preferences
US6560883B2 (en) * 2000-06-28 2003-05-13 Snap-On Technologies, Inc. Method and system for conducting wheel alignment
JP2002125090A (ja) 2000-08-01 2002-04-26 Canon Inc 通信装置、通信方法、記憶媒体およびプログラム
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 電子メールサーバ装置、電子メール転送制御方法及び記録媒体
BR0208612A (pt) 2001-03-22 2005-03-15 Michael Chung Método e sistemas para correio eletrônico, marketing alvo e direto na internet, e banner de correio eletrônico
US6973481B2 (en) 2001-03-23 2005-12-06 Emailias Llc System and method for creating and managing forwarding email address
US7224491B2 (en) 2001-03-28 2007-05-29 Minolta Co., Ltd. Data communication apparatus, data communication system, data communication method, control program, and computer readable storage medium stored with control program
AUPR444601A0 (en) 2001-04-17 2001-05-17 Pro-Super Holdings Limited Business tracking system
JP3798263B2 (ja) 2001-06-01 2006-07-19 三菱電機株式会社 電子メールサーバ及び電子メールキャッシュ方法及び電子メールキャッシュプログラム
US20030093565A1 (en) 2001-07-03 2003-05-15 Berger Adam L. System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability
US7149813B2 (en) 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US20030035607A1 (en) * 2001-08-15 2003-02-20 Motorola, Inc. Apparatus for effecting conversion between communication signals in a first signal-form and communication signals in a second signal-form and method of manufacture therefor
US6973384B2 (en) * 2001-12-06 2005-12-06 Bellsouth Intellectual Property Corporation Automated location-intelligent traffic notification service systems and methods
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
US7031973B2 (en) 2002-06-10 2006-04-18 Microsoft Corporation Accounting for references between a client and server that use disparate e-mail storage formats
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
US7366760B2 (en) 2003-01-03 2008-04-29 Microsoft Corporation System and method for improved client server communications of email messages
US7386590B2 (en) 2003-01-03 2008-06-10 Microsoft Corporation System and method for improved synchronization between a server and a client
US7620688B2 (en) 2003-01-03 2009-11-17 Microsoft Corporation Progress mode for electronic mail component
US9209992B2 (en) 2009-12-28 2015-12-08 International Business Machines Corporation Method, data processing program, and computer program product for handling instant messaging sessions and corresponding instant messaging environment

Also Published As

Publication number Publication date
BR0306066A (pt) 2005-06-14
AU2003268734B8 (en) 2010-02-04
KR101034421B1 (ko) 2011-05-12
US7386590B2 (en) 2008-06-10
KR20040062892A (ko) 2004-07-09
US7899872B2 (en) 2011-03-01
AU2010201166B2 (en) 2011-12-01
RU2008127702A (ru) 2010-01-20
TW200420044A (en) 2004-10-01
US20040133644A1 (en) 2004-07-08
JP4633365B2 (ja) 2011-02-16
RU2346323C2 (ru) 2009-02-10
MY144908A (en) 2011-11-30
AU2010201166A1 (en) 2010-04-15
US20110161448A1 (en) 2011-06-30
JP2004213670A (ja) 2004-07-29
RU2008127701A (ru) 2010-01-20
AU2003268734A1 (en) 2004-07-22
EP1435585A1 (en) 2004-07-07
RU2421790C2 (ru) 2011-06-20
EP1435585B1 (en) 2017-03-29
CA2452916C (en) 2013-01-29
MXPA03011675A (es) 2005-06-03
US20130297709A1 (en) 2013-11-07
PL364200A1 (en) 2004-07-12
RU2003138081A (ru) 2005-06-10
CN1522013A (zh) 2004-08-18
US8423621B2 (en) 2013-04-16
CN100481821C (zh) 2009-04-22
US20120209928A1 (en) 2012-08-16
RU2477517C2 (ru) 2013-03-10
US20080208998A1 (en) 2008-08-28
US9590927B2 (en) 2017-03-07
US8473560B2 (en) 2013-06-25
CA2452916A1 (en) 2004-07-03
AU2003268734B2 (en) 2009-12-24

Similar Documents

Publication Publication Date Title
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
CA2452527C (en) Method for streaming data between a server and a client
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