日韩中文字幕久久久97都市激情,久久91网,亚洲天堂最新,国产精品嫩草影院九色,亚洲午夜精品一本二本,精品少妇一区二区三区蜜桃,av一道本

在服務(wù)器和用戶之間形成數(shù)據(jù)流的方法

文檔序號(hào):7567277閱讀:315來(lái)源:國(guó)知局
專利名稱:在服務(wù)器和用戶之間形成數(shù)據(jù)流的方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及計(jì)算機(jī)網(wǎng)絡(luò),尤其涉及諸如電子郵件應(yīng)用之類用戶和服務(wù)器應(yīng)用之間通信的方法。
背景技術(shù)
電子郵件已經(jīng)成為通信的重要方法。電子郵件系統(tǒng)一般包括服務(wù)器部件(例如,微軟的交換服務(wù)器(Microsoft Exchange Server))以及用戶部件(例如,Microsoft Outlook或Microsoft Outlook Express)。一般把這些部件配置成在計(jì)算機(jī)設(shè)備(例如,服務(wù)器、個(gè)人計(jì)算機(jī)(PC)、膝上計(jì)算機(jī)和個(gè)人數(shù)字助理(PDA))上執(zhí)行的軟件應(yīng)用程序。
經(jīng)常,為了促進(jìn)通信,諸如電子郵件系統(tǒng)的用戶部件和服務(wù)器部件之類的用戶和服務(wù)器同意一種通信協(xié)議。協(xié)議提出一些規(guī)則,這些規(guī)則定義通信期間各方的預(yù)期性能,例如,請(qǐng)求和響應(yīng)的預(yù)期序列。復(fù)雜的協(xié)議具有處理未預(yù)期性能的規(guī)則。
當(dāng)改進(jìn)用戶和服務(wù)器部件時(shí),把改進(jìn)的版本分發(fā)給最終用戶。為了利用新部件特征和網(wǎng)絡(luò)特征,通常的情況是發(fā)明新的通信協(xié)議。當(dāng)服務(wù)器部件的安裝基礎(chǔ)有效時(shí),用戶部件可以具有通過(guò)一組協(xié)議用所選擇的服務(wù)器部件的以前版本協(xié)議進(jìn)行通信的能力。
在有些情況中,在較早協(xié)議上編制較晚協(xié)議而不是大規(guī)模地更換它們。在這種情況中,可以由協(xié)議單元來(lái)編制較晚協(xié)議,可以啟動(dòng)或禁止這些協(xié)議單元以便對(duì)較早協(xié)議進(jìn)行模擬。同樣,當(dāng)用戶部件的安裝基礎(chǔ)有效時(shí),服務(wù)器部件可以具有通過(guò)協(xié)議用所選擇的用戶部件的以前版本協(xié)議進(jìn)行通信的能力。
發(fā)明概要本發(fā)明提供用于改進(jìn)的用戶和服務(wù)器通信的一種系統(tǒng)和方法。尤其,本發(fā)明針對(duì)可以在用戶和服務(wù)器之間的通信中使用的一種改進(jìn)的協(xié)議。本發(fā)明對(duì)于電子郵件服務(wù)器環(huán)境具有特定的關(guān)聯(lián)性,但是可以在其它用戶和服務(wù)器網(wǎng)絡(luò)中利用這里描述的特征。
根據(jù)本發(fā)明的一個(gè)方面,電子郵件服務(wù)器部件可以提供有差錯(cuò)的數(shù)據(jù)目標(biāo)的差錯(cuò)信息來(lái)代替由于一個(gè)數(shù)據(jù)目標(biāo)中存在差錯(cuò)而使整個(gè)響應(yīng)集失效。電子郵件服務(wù)器部件可以從電子郵件用戶部件接收為多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求和電子郵件用戶部件有能力處理有差錯(cuò)的電子郵件數(shù)據(jù)目標(biāo)的一個(gè)指示。響應(yīng)于請(qǐng)求和指示,電子郵件服務(wù)器部件可以檢索多個(gè)電子郵件數(shù)據(jù)目標(biāo),對(duì)于每個(gè)電子郵件數(shù)據(jù)目標(biāo),如果在打開電子郵件數(shù)據(jù)目標(biāo)中沒(méi)有差錯(cuò)發(fā)生,則把電子郵件數(shù)據(jù)目標(biāo)發(fā)送給電子郵件用戶部件。然而,如果在打開電子郵件數(shù)據(jù)目標(biāo)中發(fā)生差錯(cuò),則電子郵件服務(wù)器部件把差錯(cuò)消息發(fā)送給電子郵件用戶部件。
根據(jù)本發(fā)明的另一個(gè)方面,電子郵件服務(wù)器部件可以把進(jìn)展數(shù)據(jù)(progress data)提供給電子郵件用戶部件,以致電子郵件用戶部件可以跟蹤來(lái)自電子郵件服務(wù)器部件的下載的進(jìn)展。電子郵件用戶部件發(fā)送為多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求和電子郵件用戶部件有能力處理進(jìn)展模式數(shù)據(jù)的一個(gè)指示。響應(yīng)于請(qǐng)求和指示,電子郵件服務(wù)器部件檢索多個(gè)電子郵件數(shù)據(jù)目標(biāo),并把進(jìn)展模式數(shù)據(jù)與多個(gè)數(shù)據(jù)目標(biāo)一起提供給電子郵件用戶部件。進(jìn)展模式數(shù)據(jù)可以包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)的大小、每個(gè)目標(biāo)的大小、目標(biāo)的數(shù)目、目標(biāo)是否為與信息、附加信息或這些項(xiàng)目的任何組合相關(guān)聯(lián)的文件夾。
根據(jù)本發(fā)明的又一個(gè)方面,電子郵件用戶部件發(fā)送的請(qǐng)求可以表示對(duì)于請(qǐng)求的響應(yīng)沒(méi)有大小的限制,如果需要的話,允許電子郵件服務(wù)器部件填充一個(gè)緩沖器。電子郵件用戶部件發(fā)送一個(gè)請(qǐng)求中的多個(gè)子請(qǐng)求,每個(gè)子請(qǐng)求請(qǐng)求電子郵件服務(wù)器部件處的一個(gè)操作以及包括大小信息。響應(yīng)于每個(gè)子請(qǐng)求,如果大小信息包括電子郵件服務(wù)器部件預(yù)期范圍內(nèi)的大小極限,則電子郵件服務(wù)器部件把響應(yīng)限制到大小極限。如果大小信息包括電子郵件服務(wù)器部件預(yù)期范圍外的大小極限,則電子郵件服務(wù)器部件尋找大小信息中的新的大小極限。新的大小極限可以是任意的,諸如“填充可用的緩沖器”。
附圖簡(jiǎn)述

圖1是通過(guò)網(wǎng)絡(luò)連接的計(jì)算機(jī)的示意圖。
圖2是示意圖,示出可用于實(shí)施本發(fā)明的一個(gè)實(shí)施例的示例計(jì)算機(jī)系統(tǒng)。
圖3是示意圖,描繪具有電子郵件用戶部件和電子郵件服務(wù)器部件的多種版本的一種環(huán)境。
圖4是協(xié)議圖,示出電子郵件用戶部件和電子郵件服務(wù)器部件之間的協(xié)議協(xié)商過(guò)程的一個(gè)例子。
圖5是示意圖,示出電子郵件網(wǎng)絡(luò)的一個(gè)例子,其中電子郵件用戶部件和電子郵件服務(wù)器部件具有固定大小通信緩沖器。
圖6A是協(xié)議圖,示出需要兩個(gè)請(qǐng)求—響應(yīng)周期來(lái)完成一個(gè)快速傳送操作的一個(gè)示例協(xié)議。
圖6B是協(xié)議圖,示出需要單個(gè)請(qǐng)求—響應(yīng)周期來(lái)完成一個(gè)快速傳送操作的一個(gè)示例協(xié)議。
圖7A是流程圖,描繪用于把電子郵件消息主體發(fā)送到電子郵件用戶部件的一個(gè)示例過(guò)程。
圖7B是根據(jù)本發(fā)明一個(gè)方面的流程圖,描繪用于把電子郵件消息主體發(fā)送到電子郵件用戶部件的一個(gè)過(guò)程。
圖8A是程序圖,示出全項(xiàng)目傳送模式。
圖8B是程序圖,示出先傳送標(biāo)頭模式。
圖8C是程序圖,示出只傳送標(biāo)頭模式。
圖8D是程序圖,示出先傳送標(biāo)頭模式或只傳送標(biāo)頭模式的例外情況。
圖9是示意圖,示出隨時(shí)間變化的電子郵件用戶部件的原籍電子郵件服務(wù)器部件。
圖10是協(xié)議圖,示出用于同步電子郵件用戶部件和電子郵件服務(wù)器部件之間的電子郵件文件夾的一個(gè)示例協(xié)議。
圖11A是流程圖,描繪使部分狀態(tài)區(qū)最優(yōu)化的示例過(guò)程。
圖11B是根據(jù)本發(fā)明的流程圖,描繪使部分狀態(tài)區(qū)最優(yōu)化的一個(gè)過(guò)程。
圖12是示意圖,示出電子郵件文件夾層次。
圖13是根據(jù)本發(fā)明的一個(gè)方面,示出用于同步和保持電子郵件消息存儲(chǔ)器的同步的一個(gè)示例協(xié)議的協(xié)議圖。
圖14A是協(xié)議圖,示出在ROP級(jí)處傳送差錯(cuò)信息的一個(gè)示例協(xié)議。
圖14B是根據(jù)本發(fā)明的一個(gè)方面的協(xié)議圖,示出用于在每消息基礎(chǔ)上傳送差錯(cuò)信息的一個(gè)示例協(xié)議。
圖15A是流程圖,描繪用于在ROP電平上生成差錯(cuò)信息的一個(gè)過(guò)程。
圖15B是根據(jù)本發(fā)明的流程圖,描繪用于在每消息基礎(chǔ)上生成差錯(cuò)信息的一個(gè)過(guò)程。
圖16A是協(xié)議圖,示出用于執(zhí)行快速傳送操作的一個(gè)示例協(xié)議。
圖16B是根據(jù)本發(fā)明的一個(gè)方面,示出用于提供在執(zhí)行快速傳送操作的同時(shí)提供進(jìn)展信息的一個(gè)示例協(xié)議的協(xié)議圖。
圖17A是流程圖,描繪用于流式輸出一組消息的一個(gè)過(guò)程。
圖17B是根據(jù)本發(fā)明的一個(gè)方面,示出用于流式輸出一組消息與進(jìn)展信息的一個(gè)過(guò)程的流程圖。
圖18是示意圖,其中把在電子郵件服務(wù)器部件處的相同數(shù)據(jù)目標(biāo)的改變作為結(jié)果通知多個(gè)電子郵件用戶部件。
圖19A是流程圖,描繪通知多個(gè)簽約用戶的一個(gè)過(guò)程。
圖19B是根據(jù)本發(fā)明的一個(gè)方面,描繪用于通知多個(gè)簽約用戶的一個(gè)過(guò)程的流程圖。
圖20是根據(jù)本發(fā)明的一個(gè)方面,描繪用于提供使用所要求代碼頁(yè)的電子郵件消息的一個(gè)過(guò)程的流程圖。
本發(fā)明的詳細(xì)說(shuō)明在進(jìn)行本發(fā)明的各個(gè)實(shí)施例的描述之前,現(xiàn)在將先提供可以實(shí)現(xiàn)本發(fā)明的各個(gè)實(shí)施例的計(jì)算機(jī)和網(wǎng)絡(luò)環(huán)境的說(shuō)明。雖然并非要求,但是可以通過(guò)計(jì)算機(jī)執(zhí)行的程序來(lái)實(shí)施本發(fā)明。一般,程序包括執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的例行程序、目標(biāo)、部件、數(shù)據(jù)結(jié)構(gòu)等。這里所使用的術(shù)語(yǔ)“程序”的內(nèi)涵可以是一致動(dòng)作的單個(gè)程序模塊或多個(gè)程序模塊。這里所使用的術(shù)語(yǔ)“計(jì)算機(jī)”包括在電氣上執(zhí)行一個(gè)或多個(gè)程序的任何設(shè)備,諸如個(gè)人計(jì)算機(jī)(PC)、手持設(shè)備、多處理器系統(tǒng)、基于微處理器的可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、圖形板PC、主計(jì)算機(jī)、具有微處理器、或微控制器、路由器、網(wǎng)關(guān)、集線器等的消費(fèi)電器。可以在分布式計(jì)算環(huán)境中使用本發(fā)明,在該環(huán)境中通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,可以使程序存儲(chǔ)于本地或遠(yuǎn)程存儲(chǔ)器存儲(chǔ)裝置中。
現(xiàn)在將參考圖1描述可以使用本發(fā)明的網(wǎng)絡(luò)化環(huán)境的一個(gè)例子。示例網(wǎng)絡(luò)包括在通過(guò)云表示的網(wǎng)絡(luò)11上相互通信的數(shù)臺(tái)計(jì)算機(jī)10。網(wǎng)絡(luò)11可以包括任何已知部件,諸如路由器、網(wǎng)關(guān)、集線器等,并允許計(jì)算機(jī)10通過(guò)有線和/或無(wú)線媒體進(jìn)行通信。當(dāng)通過(guò)網(wǎng)絡(luò)11相互交互作用時(shí),一臺(tái)或多臺(tái)計(jì)算機(jī)的作用如同用戶、服務(wù)器或相對(duì)于其它計(jì)算機(jī)的同位體。因此,可以在用戶、服務(wù)器、同位體或它們的組合上實(shí)施本發(fā)明的各個(gè)實(shí)施例,雖然這里包含的特定實(shí)施例并不涉及所有這些類型的計(jì)算機(jī)。
參考圖2,在圖中示出計(jì)算機(jī)基本配置的一個(gè)例子,可以實(shí)施這里描述的本發(fā)明的全部或一部分。在它的最基本配置中,計(jì)算機(jī)10一般包括至少一個(gè)處理單元14和存儲(chǔ)器16。處理單元14執(zhí)行指令以進(jìn)行根據(jù)本發(fā)明的各個(gè)實(shí)施例的任務(wù)。在進(jìn)行這種任務(wù)時(shí),處理單元14可以把電子信號(hào)發(fā)送到計(jì)算機(jī)10的其它部分和發(fā)送到計(jì)算機(jī)10外部的設(shè)備以導(dǎo)致相同的結(jié)果。根據(jù)計(jì)算機(jī)10的確切配置和類型,存儲(chǔ)器16可以是易失性的(諸如RAM),非易失性的(諸如ROM或快閃存儲(chǔ)器)或兩者的某種組合。在圖2中通過(guò)虛線18示出這種最基本的配置。此外,計(jì)算機(jī)還可以具有附加的特征/功能性。例如,計(jì)算機(jī)10還可以包括附加的存儲(chǔ)單元(可拆卸的201和/或不可拆卸的202)包括,但是不限于,磁盤或光盤或磁帶。計(jì)算機(jī)存儲(chǔ)媒體包括為了存儲(chǔ)信息,以任何方法或技術(shù)實(shí)施的易失性和非易失性、可拆卸和不可拆卸媒體包括計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。計(jì)算機(jī)存儲(chǔ)媒體包括,但是不限于,RAM、ROM、EEPROM、快閃存儲(chǔ)器、CD-ROM、數(shù)字通用盤(DVD)或其它光學(xué)存儲(chǔ)器、盒式磁帶、磁帶、磁盤存儲(chǔ)器或其它磁性存儲(chǔ)器件、或可以用來(lái)存儲(chǔ)所需要信息和計(jì)算機(jī)10可以訪問(wèn)的任何其它媒體。任何如此的計(jì)算機(jī)存儲(chǔ)媒體可以是計(jì)算機(jī)10的一部分。
計(jì)算機(jī)10最好還包括允許設(shè)備與其它設(shè)備進(jìn)行通信的通信連接205。通信連接是通信媒體的一個(gè)例子。通信媒體一般在諸如載波或其它傳送機(jī)構(gòu)之類的調(diào)制數(shù)據(jù)信號(hào)中實(shí)施計(jì)算機(jī)可讀出指令、數(shù)據(jù)指令、程序模塊或其它數(shù)據(jù),以及包括任何信息傳送媒體。作為例子,但是不作為限制,術(shù)語(yǔ)“通信媒體”包括諸如有線網(wǎng)絡(luò)或直接—有線連接之類的有線媒體以及諸如聲音、RF(射頻)、紅外線之類的無(wú)線媒體和其它無(wú)線媒體。這里所使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀出媒體”包括計(jì)算機(jī)存儲(chǔ)媒體和通信媒體兩者。
計(jì)算機(jī)10還可以具有諸如鍵盤、鼠標(biāo)、筆、話音設(shè)備、觸摸輸入設(shè)備等的輸入設(shè)備204。還可以包括諸如顯示器20、揚(yáng)聲器、打印機(jī)等輸出設(shè)備203。所有這些設(shè)備本技術(shù)領(lǐng)域中是眾知的,這里不需要多述。
本發(fā)明針對(duì)用于改進(jìn)的用戶和服務(wù)器通信的一種系統(tǒng)和方法,尤其,針對(duì)一種改進(jìn)的協(xié)議,這種協(xié)議可以用于用戶和服務(wù)器之間的通信。本發(fā)明特別與電子郵件服務(wù)器環(huán)境相關(guān),但是可以把這里描述的特征利用于其它用戶和服務(wù)器網(wǎng)絡(luò)。然而,為了便于說(shuō)明,參考用戶/服務(wù)器電子郵件環(huán)境來(lái)描述本發(fā)明。
可以在具有兩種或多種版本的用戶應(yīng)用程序或部件和/或兩種或多種版本的服務(wù)器應(yīng)用程序或部件的用戶/服務(wù)器環(huán)境中實(shí)施本發(fā)明。為此,圖3示出方框圖,圖中示出網(wǎng)絡(luò)電子郵件環(huán)境中用戶和服務(wù)器部件兩者的多種版本。一般,配置用戶和服務(wù)器部件,以致它們是可反向地兼容的。即,用戶部件能夠與服務(wù)器部件的最新的和傳統(tǒng)的(legacy)版本進(jìn)行通信,反之亦然。建立一組協(xié)議以在多種版本之間進(jìn)行通信。協(xié)議組可以構(gòu)成數(shù)個(gè)不同的協(xié)議,每個(gè)協(xié)議是自含的。另一種方法是,一組協(xié)議部件可以是可得到的,并使用特定部件來(lái)配置協(xié)議組中的特定協(xié)議。
在任何情況中,在圖3示出的網(wǎng)絡(luò)電子郵件環(huán)境中,最新版本電子郵件用戶部件303使用協(xié)議307與最新版本電子郵件服務(wù)器部件306進(jìn)行通信為最佳。然而,使用協(xié)議組中的其它協(xié)議(例如,圖3中的協(xié)議308和309),最新電子郵件服務(wù)器部件306也能夠與所選擇的以前版本電子郵件用戶部件,例如電子郵件用戶部件302和電子郵件用戶部件301進(jìn)行通信。使用諸如協(xié)議310和311之類的協(xié)議,電子郵件用戶部件303也能夠與所選擇的以前版本電子郵件服務(wù)器部件,例如電子郵件服務(wù)器部件305和電子郵件服務(wù)器部件304進(jìn)行通信。
一般,如這里所使用,為了描述本發(fā)明的協(xié)議的目的,“最新”電子郵件(服務(wù)器或用戶)部件或最新版本電子郵件(服務(wù)器或用戶)部件是已經(jīng)知道其新特征或正在描述的特征的一種服務(wù)器或用戶部件,并且可以根據(jù)這些特征進(jìn)行利用、實(shí)施和/或動(dòng)作。雖然在整個(gè)本文件中使用術(shù)語(yǔ)來(lái)描述已經(jīng)知道本發(fā)明的協(xié)議的各個(gè)方面的用戶和服務(wù)器部件,但是該術(shù)語(yǔ)還包括只知道正在描述的特定方面,或正在描述的一個(gè)以上的方面的一些部件。同樣“以前的”電子郵件部件或以前版本的電子郵件部件是不知道本發(fā)明的協(xié)議的各個(gè)方面和不能根據(jù)本發(fā)明的協(xié)議的各個(gè)方面動(dòng)作的一種部件。
經(jīng)常使用協(xié)議協(xié)商過(guò)程來(lái)建立用戶和服務(wù)器(例如,最新版本電子郵件服務(wù)器部件306和最新版本電子郵件用戶部件303)之間的協(xié)議。雖然這種協(xié)議協(xié)商是已知的,但是為了讀者的利益,提供電子郵件用戶部件401(圖4)和電子郵件服務(wù)器部件402(也是圖4)之間的協(xié)議協(xié)商過(guò)程的簡(jiǎn)單說(shuō)明。在電子郵件用戶部件401和電子郵件服務(wù)器部件402通信會(huì)話的早期,電子郵件用戶部件401把消息403發(fā)送到電子郵件服務(wù)器部件402,例如,該消息包括按用戶部件版本商標(biāo)的形式的用戶版本信息。電子郵件服務(wù)器部件402用消息404來(lái)響應(yīng)消息403,例如,所述消息404包括按服務(wù)器部件版本商標(biāo)形式的服務(wù)器版本信息。
可以在多種方式中使用用戶和服務(wù)器版本信息,試圖建立電子郵件用戶部件401和電子郵件服務(wù)器部件402之間的通信。例如,可以使用版本信息來(lái)選擇繼續(xù)進(jìn)行通信的合適的協(xié)議,或決定是否還有可能進(jìn)一步通信。例如,在建立協(xié)議時(shí),可以使用版本信息來(lái)啟動(dòng)和/或禁止可得到的特定協(xié)議方面或部件。
電子郵件服務(wù)器部件可以并行接收和處理來(lái)自多個(gè)電子郵件用戶部件的請(qǐng)求。除非另行明確地指出,所示出的單個(gè)用戶只是為了簡(jiǎn)化附圖和所伴隨的說(shuō)明。
本發(fā)明的電子郵件網(wǎng)絡(luò)利用請(qǐng)求和響應(yīng)交換而在網(wǎng)絡(luò)中的用戶和服務(wù)器部件之間傳遞詢問(wèn)和數(shù)據(jù),實(shí)際上,在電子郵件網(wǎng)絡(luò)中用于實(shí)施用戶和服務(wù)器之間通信的基礎(chǔ)通信網(wǎng)絡(luò)傳送機(jī)構(gòu)會(huì)影響協(xié)議的性能。例如,在使用遠(yuǎn)程過(guò)程調(diào)用(RPC)作為基礎(chǔ)通信網(wǎng)絡(luò)傳送機(jī)構(gòu)的電子郵件網(wǎng)絡(luò)中,使單個(gè)遠(yuǎn)程過(guò)程調(diào)用具有較大容量(例如,32KB)要比使數(shù)個(gè)遠(yuǎn)程過(guò)程調(diào)用具有較小容量(例如,2KB)更有效。改進(jìn)這種電子郵件網(wǎng)絡(luò)的性能的一種已知方法是對(duì)多個(gè)請(qǐng)求和/或響應(yīng)進(jìn)行緩沖,以便在單個(gè)遠(yuǎn)程過(guò)程調(diào)用中發(fā)送。
作為一個(gè)例子,圖5示出電子郵件用戶部件501和電子郵件服務(wù)器部件502之間的請(qǐng)求和響應(yīng)交換。電子郵件用戶部件501和電子郵件服務(wù)器部件502的每一個(gè)具有固定大小的通信緩沖器503、504、505和506。緩沖器503、504、505和506是暫時(shí)保存數(shù)據(jù)的存儲(chǔ)器的保留區(qū)域。在把緩沖器503的內(nèi)容發(fā)送到緩沖器504之前,電子郵件用戶部件501通過(guò)用一個(gè)或多個(gè)子請(qǐng)求或遠(yuǎn)程操作(ROP)填充緩沖器503而開始請(qǐng)求—響應(yīng)周期。
在緩沖器504中接收之后,電子郵件服務(wù)器部件502按次序處理每個(gè)ROP,并把對(duì)應(yīng)的結(jié)果寫入緩沖器505。每個(gè)ROP確實(shí)都產(chǎn)生某些結(jié)果。結(jié)果可以包括電子郵件用戶部件501請(qǐng)求的數(shù)據(jù),例如,一組特定的電子郵件消息。電子郵件服務(wù)器部件502監(jiān)測(cè)緩沖器505,當(dāng)它接近充滿時(shí)(例如,所剩余的小于8KB),電子郵件服務(wù)器部件502把任何未處理的ROP寫入緩沖器505的末端,并把緩沖器505發(fā)送到緩沖器506。然后當(dāng)緩沖器503變成再次充滿時(shí)電子郵件用戶部件501通過(guò)把未處理的ROP寫入緩沖器503以便再提交給電子郵件服務(wù)器部件502而開始新的請(qǐng)求—響應(yīng)周期。
響應(yīng)的大小一般平均大于請(qǐng)求的大小。為了這個(gè)原因,一般配置響應(yīng)緩沖器505和506的大小使之大于請(qǐng)求緩沖器503和504的大小。在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于32KB大小的請(qǐng)求緩沖器503和504,確定響應(yīng)緩沖器505和506的最優(yōu)化大小為96KB,為3比1的比值。在一個(gè)實(shí)施例中,電子郵件用戶部件能夠配置任何緩沖器503、504、505和506的大小。
使用緩沖器的某些電子郵件網(wǎng)絡(luò)(例如在圖5中示出的電子郵件網(wǎng)絡(luò))可以使用電子郵件用戶部件和電子郵件服務(wù)器部件之間的快速傳送模式。快速傳送模式包括諸如ROP之類的至少分成兩類的用戶請(qǐng)求導(dǎo)致服務(wù)器處的快速傳送數(shù)據(jù)源初始化的一些請(qǐng)求,以及導(dǎo)致從快速傳送數(shù)據(jù)源到用戶的有效數(shù)據(jù)傳送的一些請(qǐng)求。例如,快速傳送數(shù)據(jù)源可以是數(shù)據(jù)庫(kù)表格。快速傳送數(shù)據(jù)源的作用為數(shù)據(jù)準(zhǔn)備暫時(shí)存儲(chǔ),這些數(shù)據(jù)啟動(dòng)以后的請(qǐng)求,使所服務(wù)的數(shù)據(jù)比春他可能情況具有較小的延遲。有時(shí)第二類快速傳送模式請(qǐng)求通過(guò)明確地指定響應(yīng)的大小而尋找得到有效的數(shù)據(jù)傳送,例如,可以把響應(yīng)的大小設(shè)置成較少響應(yīng)額外開銷的整個(gè)用戶接收緩沖器的大小。
圖6A示出具有至少兩個(gè)請(qǐng)求—響應(yīng)周期的快速傳送操作。在第一請(qǐng)求601中,ROP(例如,F(xiàn)XPrepare)對(duì)服務(wù)器502上的快速傳送數(shù)據(jù)源進(jìn)行初始化。在服務(wù)器處,只處理FXPrepare(即,使快速傳送數(shù)據(jù)源初始化),并在第一響應(yīng)602中返回它的結(jié)果。在第二請(qǐng)求603中,ROP(例如,F(xiàn)XGetBuffer)請(qǐng)求服務(wù)器從快速傳送數(shù)據(jù)源填充緩沖器505。服務(wù)器使快速傳送數(shù)據(jù)源出空到緩沖器,并在第二響應(yīng)604中返回結(jié)果。如果電子郵件服務(wù)器部件的輸出緩沖器505在快速傳送數(shù)據(jù)源出空之前已經(jīng)充滿,則可以要求另外的FXGetBuffer。
圖6B示出只具有單個(gè)請(qǐng)求—響應(yīng)周期的快速傳送操作。在第一請(qǐng)求605中,通過(guò)電子郵件服務(wù)器部件502處理FXPrepare和FXGetBuffer兩者,并在第一響應(yīng)606中返回兩種操作的結(jié)果。在電子郵件服務(wù)器部件502處FXGetBuffer可以采用FXPrepare的結(jié)果,因?yàn)槊鞔_地定義每個(gè)緩沖器503、504、505和506的一部分為共享數(shù)據(jù)表格。希望減少請(qǐng)求—響應(yīng)周期數(shù),因?yàn)檫@樣導(dǎo)致更有效地傳送數(shù)據(jù)。當(dāng)緩沖器505太滿以致不能保存FXGetBuffer ROP的結(jié)果時(shí),可能發(fā)生比只具有單個(gè)請(qǐng)求—響應(yīng)周期具有更多的周期的快速傳送操作。
可以理解,除非另行特別指定,在整個(gè)本申請(qǐng)中的圖6A和6B以及相似附圖中的ROP是示意性的,實(shí)際上可以通過(guò)一系列ROP來(lái)實(shí)施它們。
一般,ROP結(jié)果的大小與ROP請(qǐng)求的大小不同。預(yù)測(cè)ROP結(jié)果的大小經(jīng)常是不可能的。當(dāng)使用數(shù)據(jù)壓縮技術(shù)來(lái)減小ROP結(jié)果的大小時(shí),預(yù)測(cè)ROP結(jié)果的大小甚至更困難。不能夠預(yù)測(cè)ROP結(jié)果的大小可以防止協(xié)議的人工調(diào)諧,以減小完成特定用戶操作所需要的請(qǐng)求—響應(yīng)周期數(shù)目,例如,保證在單個(gè)請(qǐng)求—響應(yīng)周期中把所有新消息下載到用戶。協(xié)議的人工協(xié)調(diào)包括人工配置協(xié)議請(qǐng)求、響應(yīng)和/或ROP的序列和/或大小。
根據(jù)本發(fā)明的一個(gè)方面,通過(guò)規(guī)定關(guān)鍵ROP(例如,F(xiàn)XGetBuffer)不受預(yù)測(cè)它們的結(jié)果大小的要求的約束而自動(dòng)地使請(qǐng)求—響應(yīng)周期的數(shù)目減至最少。作為替代,通過(guò)電子郵件服務(wù)器部件502處理這種ROP直到達(dá)到緩沖器505(它和緩沖器506是相同的)的極限。
作為一個(gè)例子,在包括多個(gè)版本的電子郵件服務(wù)器部件的一個(gè)環(huán)境中,可以對(duì)于以前版本服務(wù)器部件和最新版本服務(wù)器部件定義單獨(dú)的ROP。最新版本不受預(yù)測(cè)它們的結(jié)果大小的要求的約束。在下列表格中表示這些ROP的特征
以前版本服務(wù)器部件的ROP在結(jié)構(gòu)上與存在的現(xiàn)有技術(shù)ROP相似。即,ROP預(yù)測(cè)和確定必須為了保存響應(yīng)而保留的輸出緩沖器(例如,發(fā)送緩沖器505)的大小。相反,最新版本服務(wù)器部件的輸出緩沖器的確定大小是不預(yù)測(cè)的,而是設(shè)置一個(gè)值超過(guò)以前版本服務(wù)器部件預(yù)期最大值,例如,設(shè)置到大于32KB的一個(gè)值。定義輸出緩沖器的大小超過(guò)服務(wù)器部件預(yù)期的一個(gè)值的事實(shí)發(fā)信號(hào)給服務(wù)器部件使之尋找新的大小極限參數(shù),例如,它可以是為服務(wù)器部件填充輸出緩沖器。這些特征自動(dòng)地使請(qǐng)求—響應(yīng)周期數(shù)減至最少,而處理ROP的電子郵件服務(wù)器部件的復(fù)雜度只增加了一點(diǎn)點(diǎn)。
注意,例如,在上述表格中和整個(gè)本申請(qǐng)的相似表格中所示出的參數(shù)的排序不必定與通過(guò)電子郵件用戶部件或電子郵件服務(wù)器部件在網(wǎng)絡(luò)上發(fā)送的參數(shù)或存儲(chǔ)在存儲(chǔ)器中的參數(shù)的排序相關(guān),除非同時(shí)發(fā)生對(duì)于相反情況的明確的陳述。此外,為了清楚起見,可以忽略未改變的參數(shù)。
在電子郵件網(wǎng)絡(luò)中,協(xié)議的一般任務(wù)中之一是得到電子郵件用戶部件和電子郵件服務(wù)器部件之間的數(shù)據(jù)目標(biāo)(例如,電子郵件消息)的傳送。這種數(shù)據(jù)目標(biāo)的進(jìn)一步例子包括可以包括含有電子郵件消息和其它數(shù)據(jù)目標(biāo)的電子郵件文件夾,以及文件夾相關(guān)聯(lián)信息(FAI)數(shù)據(jù)目標(biāo),例如,它可以包括處理電子郵件消息的規(guī)則,或定義如何顯示文件夾所包含的數(shù)據(jù)目標(biāo)。數(shù)據(jù)目標(biāo)對(duì)于電子郵件用戶部件可以是含糊的,即,電子郵件用戶部件可能無(wú)法解譯數(shù)據(jù)目標(biāo)的內(nèi)容。另一方法是,可以由定名稱的特性來(lái)構(gòu)成數(shù)據(jù)目標(biāo),例如電子郵件消息可以包括一些特性,這些特性的名稱為“到”、“從”、“主題”、“重要”、“主體1”、“主體2”、“主體3”、“附件1”、“附件2”,依次類推。
由于只傳送一部分?jǐn)?shù)據(jù)目標(biāo)的協(xié)議能力,在數(shù)據(jù)目標(biāo)是含糊的電子郵件網(wǎng)絡(luò)上,由定名稱的特性構(gòu)成數(shù)據(jù)目標(biāo)的電子郵件網(wǎng)絡(luò)的一個(gè)優(yōu)點(diǎn)是改進(jìn)協(xié)議性能的潛力。具有定名稱的特性允許發(fā)送數(shù)據(jù)目標(biāo)的特定特性而無(wú)需發(fā)送整個(gè)數(shù)據(jù)目標(biāo)。
例如,可以由一組標(biāo)頭特性和一組主體特性來(lái)構(gòu)成電子郵件消息。電子郵件用戶部件的需要是如此的,協(xié)議先傳送標(biāo)頭特性,較晚時(shí)間再傳送或并不傳送主體特性。這個(gè)特征允許用戶在下載所有消息的整體之前先觀看數(shù)個(gè)消息的標(biāo)頭信息。使用這個(gè)特征,通過(guò)必定可以影響協(xié)議性能的用戶部件可以達(dá)到帶寬利用方面取得更精密的控制。此外,用戶部件可以使用這個(gè)特征而導(dǎo)致帶寬利用的減少(例如,可以只對(duì)所選擇的標(biāo)頭下載主體),這在低帶寬環(huán)境中是特別需要的。
如果配置服務(wù)器部件使之在兩個(gè)獨(dú)立的請(qǐng)求—響應(yīng)周期(即,標(biāo)頭和主體各一個(gè)請(qǐng)求—響應(yīng)周期)中發(fā)送主體和標(biāo)頭特性,則不需提高協(xié)議的性能。例如,如果電子郵件用戶部件的需要是如此的,致使它同時(shí)需要標(biāo)頭和主體特性兩者,則與單個(gè)請(qǐng)求—響應(yīng)周期可以檢索標(biāo)頭和主體兩者的情況比較,會(huì)降低協(xié)議的性能。因此,啟動(dòng)由定名稱特性構(gòu)成的數(shù)據(jù)目標(biāo)的簡(jiǎn)單動(dòng)作的本身不足以自動(dòng)地產(chǎn)生提高的協(xié)議性能。提高的協(xié)議性能的獲得要取決于對(duì)構(gòu)成數(shù)據(jù)目標(biāo)的特性的選擇以及協(xié)議如何使用它們。可以根據(jù)許多因素來(lái)進(jìn)行選擇,這些因素包括最新和以前版本電子郵件用戶部件的需要以及最新和以前版本電子郵件服務(wù)器部件的需要。電子郵件用戶部件的需要的例子包括滿足顯示不同信息的不同緊迫程度以及符合電子郵件用戶部件所設(shè)置的優(yōu)選。電子郵件服務(wù)器部件需要的例子包括有效地存儲(chǔ)和檢索數(shù)據(jù)以及有效地處理協(xié)議請(qǐng)求。
傳統(tǒng)的現(xiàn)有技術(shù)電子郵件環(huán)境利用可以通過(guò)定名稱特性構(gòu)成的數(shù)據(jù)目標(biāo),例如,可以包括定名稱特性的標(biāo)頭組和主體組的電子郵件消息,以致可以分開請(qǐng)求兩個(gè)組和/或分開處理。另一個(gè)現(xiàn)有技術(shù)例子是一種電子郵件消息,其中定名稱特性的主體組包括多個(gè)版本的電子郵件消息主體,例如,按諸如明文、超文本標(biāo)簽語(yǔ)言(HTML)、普適文本格式(RFT格式)等等多個(gè)電子郵件消息格式。在這種情況中,現(xiàn)有技術(shù)電子郵件服務(wù)器部件可以按許多方式響應(yīng)電子郵件消息的主體的協(xié)議請(qǐng)求。復(fù)雜度最小的響應(yīng)可以是發(fā)送所有版本的電子郵件消息主體,但是這個(gè)響應(yīng)會(huì)導(dǎo)致帶寬利用的增加。
圖7A描繪以前(現(xiàn)有技術(shù))版本電子郵件服務(wù)器部件用來(lái)響應(yīng)這種情況的部分過(guò)程。在步驟701中,電子郵件服務(wù)器部件檢查每個(gè)電子郵件消息主體的格式。如果格式中之一是預(yù)定的標(biāo)準(zhǔn)格式(例如,RFT),則過(guò)程轉(zhuǎn)移到步驟703,并把標(biāo)準(zhǔn)格式電子郵件消息主體發(fā)送到請(qǐng)求電子郵件用戶部件。如果沒(méi)有一個(gè)格式是預(yù)定標(biāo)準(zhǔn)格式,則步驟701轉(zhuǎn)移到步驟702,把電子郵件消息主體版本中之一轉(zhuǎn)換成標(biāo)準(zhǔn)格式。當(dāng)只有單個(gè)電子郵件消息主體的版本但此電子郵件消息主體不是協(xié)議所要求的標(biāo)準(zhǔn)格式時(shí),還可以使用圖7A描繪的子過(guò)程。
圖7B描繪根據(jù)本發(fā)明的最新版本電子郵件服務(wù)器部件使用的部分過(guò)程。在步驟704中,為BEST_BODY(最佳主體)標(biāo)志檢查導(dǎo)致電子郵件服務(wù)器部件使用本子過(guò)程的協(xié)議請(qǐng)求。對(duì)于是最新版本并且希望執(zhí)行與標(biāo)志相關(guān)聯(lián)的功能的電子郵件用戶部件,使用本例子中的標(biāo)志和這里使用的其它標(biāo)志。可以使用其它表示。例如,如果檢測(cè)到最新電子郵件用戶部件,則可以通過(guò)缺省值來(lái)執(zhí)行功能。
在任何情況中,如果沒(méi)有找到BEST_BODY標(biāo)志,則步驟704轉(zhuǎn)移到步驟701,并且如參考圖7A描述的那樣繼續(xù)進(jìn)行。
如果找到標(biāo)志,則過(guò)程轉(zhuǎn)移到步驟705,在該步驟中選擇用于發(fā)送到請(qǐng)求電子郵件用戶部件的最佳電子郵件消息主體。如果只有單個(gè)電子郵件消息主體與所請(qǐng)求的電子郵件消息相關(guān)聯(lián),則這是最佳的。如果可得到數(shù)個(gè)電子郵件消息主體,例如,具有不同的格式,則電子郵件服務(wù)器部件根據(jù),例如,電子郵件消息主體格式(例如,RFT、HTML、明文)的預(yù)定等級(jí)從它們中間選擇最佳的。然后過(guò)程進(jìn)行到步驟703,在該步驟中,把所選擇的電子郵件消息主體發(fā)送到電子郵件用戶部件。在本實(shí)施例中,電子郵件用戶部件可能能夠顯示多種電子郵件消息主體格式,因此使電子郵件服務(wù)器部件不需要把電子郵件消息主體轉(zhuǎn)換成標(biāo)準(zhǔn)格式。此外,如果需要的話,電子郵件用戶部件可以把最佳電子郵件消息主體轉(zhuǎn)換成標(biāo)準(zhǔn)格式。
因?yàn)闇p輕了電子郵件服務(wù)器部件轉(zhuǎn)換電子郵件消息主體的任務(wù),所以本發(fā)明提供了改進(jìn)的性能。此外,最新版本電子郵件服務(wù)器部件可以響應(yīng)來(lái)自以前版本電子郵件用戶部件的協(xié)議請(qǐng)求,而只適度地增加了復(fù)雜度。
可以使用ROP來(lái)復(fù)制電子郵件服務(wù)器部件和電子郵件用戶部件之間的電子郵件文件夾。例如,可以通過(guò)Synchfolder ROP進(jìn)行同步文件夾的請(qǐng)求。在電子郵件用戶部件能夠顯示非標(biāo)準(zhǔn)電子郵件消息主體格式時(shí),它可以在Synchfolder ROP中設(shè)置BEST_BODY標(biāo)志來(lái)表示電子郵件服務(wù)器部件可以從可得到電子郵件消息主體中選擇最佳格式,而不是要求服務(wù)器返回標(biāo)準(zhǔn)格式的電子郵件消息主體。電子郵件服務(wù)器部件可以恰當(dāng)?shù)靥幚砭哂谢虿痪哂蠦EST_BODY標(biāo)志的ROP,而只適度地增加了復(fù)雜度。例如,用于與以前版本和最新版本服務(wù)器通信的ROP可以包括下面表格中設(shè)置的特征
圖8A-8C示出在電子郵件服務(wù)器部件和電子郵件用戶部件之間傳送電子郵件消息組的幾種不同的現(xiàn)有模式。對(duì)于每種模式,每個(gè)電子郵件消息具有包括標(biāo)頭組和主體組的定名稱的特性,并且在文件夾中包括數(shù)個(gè)電子郵件消息。圖8A示出全項(xiàng)目傳送模式。示意圖示出傳送第一電子郵件消息標(biāo)頭801,然后在第二電子郵件消息標(biāo)頭803之前傳送第一電子郵件消息主體802,然后第二電子郵件消息主體804,依次類推,直到已經(jīng)傳送了電子郵件消息組。圖8B示出先傳送標(biāo)頭模式。在這個(gè)模式中,傳送第一電子郵件消息標(biāo)頭805,然后第二電子郵件消息標(biāo)頭806,依次類推,直到已經(jīng)傳送了所有電子郵件消息標(biāo)頭,只有此時(shí)才傳送第一電子郵件消息主體807,然后第二電子郵件消息主體808,依次類推,直到已經(jīng)傳送了電子郵件消息組。圖8C示出只傳送標(biāo)頭模式。如該名稱所暗示,根據(jù)傳送電子郵件消息組的請(qǐng)求只傳送電子郵件消息標(biāo)頭809。只有根據(jù)另外的明確請(qǐng)求才傳送電子郵件消息主體810。例如,在這些模式的任何一種中,對(duì)于特定的電子郵件消息主體,更高優(yōu)先級(jí)電子郵件用戶部件請(qǐng)求可以暫時(shí)中斷傳送序列。
電子郵件文件夾是請(qǐng)求傳送一組電子郵件消息的目標(biāo)的一個(gè)例子。然而,電子郵件文件夾可以包括不同于電子郵件消息的數(shù)據(jù)目標(biāo)。如上所述,經(jīng)常參考電子郵件消息標(biāo)頭和電子郵件消息主體來(lái)定義傳送模式,諸如先傳送標(biāo)頭模式和只傳送標(biāo)頭模式。在這些傳送模式中,試圖傳送沒(méi)有很好地定義的定名稱特性的標(biāo)頭組和/或定名稱特性的主體組的數(shù)據(jù)目標(biāo)可能會(huì)導(dǎo)致協(xié)議失效。本發(fā)明的一個(gè)方面通過(guò)對(duì)于沒(méi)有很好地定義的定名稱特性的標(biāo)頭組和/或定名稱特性的主體組的數(shù)據(jù)目標(biāo)始終全部傳送而不是只傳送一部分而避免了這種情況。通過(guò)圖8D的例子示出這個(gè)實(shí)施例。在這個(gè)例子中,電子郵件服務(wù)器部件和電子郵件用戶部件之間的傳送可以發(fā)生在只傳送標(biāo)頭模式中。因此,首先傳送第一電子郵件消息標(biāo)頭811,然后數(shù)據(jù)目標(biāo)812變成下一個(gè)傳送候選者。對(duì)于數(shù)據(jù)目標(biāo)812,諸如FAI,沒(méi)有很好地定義定名稱特性的標(biāo)頭組,所以傳送整個(gè)數(shù)據(jù)目標(biāo)。傳送的下一個(gè)候選者具有很好定義的定名稱特性(即,候選數(shù)據(jù)目標(biāo)擁有所有的定名稱特性,這些定名稱特性是電子郵件用戶部件明確地定義的、作為屬于定名稱特性的標(biāo)頭組的)的標(biāo)頭組,所以只傳送電子郵件消息標(biāo)頭813。
實(shí)施本發(fā)明的這個(gè)方面的一種方法的例子是使用可以包括在同步ROP(諸如上述Synchfolder ROP)中的、諸如IGNORE_MODE_ON_FAI之類的標(biāo)志。電子郵件服務(wù)器部件可以恰當(dāng)?shù)靥幚砭哂谢虿痪哂蠭GNORE-MODE_ON_FAI標(biāo)志的ROP,而只適度地增加了復(fù)雜度。ROP可以包括下表中設(shè)置的特征,以復(fù)制電子郵件服務(wù)器部件和電子郵件用戶部件之間電子郵件文件夾
一般使電子郵件消息尋址到一個(gè)或多個(gè)電子郵件網(wǎng)絡(luò)用戶。如果電子郵件服務(wù)器部件接收電子郵件消息而存儲(chǔ),則認(rèn)為傳遞了該電子郵件消息。電子郵件網(wǎng)絡(luò)可以有數(shù)個(gè)電子郵件服務(wù)器部件。一般,電子郵件網(wǎng)絡(luò)協(xié)議具有某些策略,這些策略對(duì)電子郵件網(wǎng)絡(luò)用戶為了新消息而必須檢查的電子郵件服務(wù)器部件的數(shù)量進(jìn)行限制。普通的例子是原籍服務(wù)器策略,它提供只由一個(gè)特定電子郵件服務(wù)器部件(稱之為用戶的原籍服務(wù)器)接收尋址到特定電子郵件網(wǎng)絡(luò)用戶的電子郵件消息。在這種情況中,例如,當(dāng)周期性地檢查新電子郵件消息或登記新電子郵件消息的通知時(shí),電子郵件用戶部件只考慮配置原籍服務(wù)器。
圖9示出即使一種簡(jiǎn)單的原籍服務(wù)器策略例子也可能具有復(fù)雜性。在圖9示出的例子中,首先指定特定電子郵件服務(wù)器部件901作為特定電子郵件網(wǎng)絡(luò)用戶的原籍服務(wù)器。隨時(shí)間的變化,一般為了管理的目的,把為用戶指定的原籍服務(wù)器改變成不同的電子郵件服務(wù)器部件903和905。例如,電子郵件服務(wù)器部件901、903和905可以是物理上不同的,或邏輯上不同的,或是不同版本的。從時(shí)間T0到T1,電子郵件用戶部件902可以只與電子郵件服務(wù)器部件901進(jìn)行通信,然后電子郵件用戶部件904可以只與電子郵件服務(wù)器部件903進(jìn)行通信直到T2,然后電子郵件用戶部件906可以只與電子郵件服務(wù)器部件905進(jìn)行通信。電子郵件用戶部件902、904和906可以是相同的或不同的。在時(shí)間T2之后,電子郵件服務(wù)器部件901和903可以存在或不存在。這些復(fù)雜性特別與接著討論的電子郵件消息存儲(chǔ)器復(fù)制相關(guān)。
電子郵件服務(wù)器部件可以把電子郵件消息存儲(chǔ)器在明確的電子郵件消息存儲(chǔ)器中,例如,可以使用眾知的數(shù)據(jù)庫(kù)技術(shù)來(lái)實(shí)施這種電子郵件消息存儲(chǔ)器。電子郵件服務(wù)器部件可以具有一個(gè)或多個(gè)如此的消息存儲(chǔ)器。電子郵件網(wǎng)絡(luò)用戶可以具有原籍消息存儲(chǔ)器。改變?cè)⒋鎯?chǔ)器可以具有如改變?cè)?wù)器所述的同樣的作用。
某些電子郵件網(wǎng)絡(luò)協(xié)議包括把部分電子郵件消息存儲(chǔ)器復(fù)制到電子郵件用戶部件的本地存儲(chǔ)器設(shè)備中的能力。把部分遠(yuǎn)程電子郵件消息存儲(chǔ)器復(fù)制到本地電子郵件存儲(chǔ)設(shè)備可以改進(jìn)協(xié)議性能和/或感覺(jué)的協(xié)議性能,例如,通過(guò)在明確的電子郵件網(wǎng)絡(luò)用戶請(qǐng)求觀看所有新的電子郵件消息之前把它們復(fù)制到本地電子郵件存儲(chǔ)設(shè)備中。這種復(fù)制還可以提供附加的電子郵件用戶部件功能,例如,使電子郵件網(wǎng)絡(luò)用戶在網(wǎng)絡(luò)連接中斷期間觀看電子郵件消息。
在電子郵件網(wǎng)絡(luò)環(huán)境中,簡(jiǎn)單的復(fù)制可能較快就變成無(wú)效。例如,如果電子郵件服務(wù)器部件具有與特定電子郵件網(wǎng)絡(luò)用戶相關(guān)聯(lián)的一個(gè)電子郵件消息,并且該消息在用戶部件處已經(jīng)為網(wǎng)絡(luò)用戶復(fù)制過(guò),以及為該電子郵件網(wǎng)絡(luò)用戶的新的電子郵件消息到達(dá),則根據(jù)簡(jiǎn)單的復(fù)制請(qǐng)求仍要求必須發(fā)送兩個(gè)電子郵件消息。如果在復(fù)制兩個(gè)電子郵件消息之后,另一個(gè)新電子郵件消息到達(dá),則根據(jù)簡(jiǎn)單的復(fù)制請(qǐng)求仍要求現(xiàn)在必須發(fā)送三個(gè)電子郵件消息,依次類推。某些電子郵件網(wǎng)絡(luò)協(xié)議配備有電子郵件消息存儲(chǔ)器的遞增復(fù)制,以減輕這個(gè)問(wèn)題。在遞增復(fù)制中,只在根據(jù)復(fù)制請(qǐng)求必須發(fā)送以前的成功遞增復(fù)制之后才出現(xiàn)對(duì)于電子郵件消息存儲(chǔ)器的改變,例如,在由于最后成功的遞增復(fù)制的僅有改變是新電子郵件消息的到達(dá)時(shí),那么根據(jù)遞增復(fù)制請(qǐng)求只需要發(fā)送新電子郵件消息。
圖10示出配備遞增復(fù)制的協(xié)議的更詳細(xì)的例子。可以把電子郵件消息存儲(chǔ)器細(xì)分成電子郵件文件夾。每個(gè)電子郵件文件夾可以獨(dú)立于其它文件夾而復(fù)制,在復(fù)制過(guò)程上提供更精細(xì)的控制。在這個(gè)例子中,把遞增復(fù)制稱為同步,因?yàn)樗◤碾娮余]件用戶部件501到電子郵件服務(wù)器部件502以及從電子郵件服務(wù)器部件502到電子郵件用戶部件501來(lái)傳播改變。在同步請(qǐng)求1001之后,電子郵件服務(wù)器部件502處理Synchfolder ROP。ROP包括folderID(文件夾識(shí)別符)參數(shù)(未示出)以及stateblob0(狀態(tài)區(qū))參數(shù)。folderID參數(shù)識(shí)別作為同步請(qǐng)求1001的目標(biāo)的電子郵件文件夾。stateblob0參數(shù)包括信息,這種信息允許電子郵件服務(wù)器部件502確定自從最后同步以來(lái)電子郵件文件夾已經(jīng)發(fā)生了什么改變,如果有改變的話。如果請(qǐng)求1001表示電子郵件用戶部件501對(duì)于目標(biāo)文件夾的始終第一的同步請(qǐng)求,則電子郵件服務(wù)器部件502比較空文件夾而確定在電子郵件消息存儲(chǔ)器中的目標(biāo)電子郵件文件夾是否改變。作為對(duì)于請(qǐng)求1001的響應(yīng)1002,電子郵件服務(wù)器部件502把任何改變發(fā)送到電子郵件用戶部件501,包括任何電子郵件消息和/或已經(jīng)添加到目標(biāo)文件夾中的其它數(shù)據(jù)目標(biāo)以及任何電子郵件消息和/或已經(jīng)從目標(biāo)文件夾刪除的其它數(shù)據(jù)目標(biāo)的列表。電子郵件服務(wù)器部件502還創(chuàng)建表示目標(biāo)文件夾的狀態(tài)的新的stateblob1,它將緊接在同步之后存在于電子郵件用戶部件501上,并且還在響應(yīng)1002中發(fā)送該stateblob1。當(dāng)電子郵件用戶部件501發(fā)送對(duì)于請(qǐng)求1001中相同文件夾的下一個(gè)同步請(qǐng)求1003時(shí),則請(qǐng)求1003將包括用響應(yīng)1002返回的相同的stateblob1作為參數(shù)。如前所述,電子郵件服務(wù)器部件502將使用包括在stateblob1中的信息來(lái)確定在目標(biāo)文件夾中已經(jīng)發(fā)生什么改變,如果有改變的話。并且在響應(yīng)1004中把這些改變與新創(chuàng)建的stateblob2一起返回給電子郵件用戶部件501。
如果stateblob數(shù)據(jù)目標(biāo)的大小較大,它可能對(duì)于協(xié)議性能有負(fù)面影響,因?yàn)樗桥c每個(gè)電子郵件文件夾同步請(qǐng)求一起發(fā)送到電子郵件服務(wù)器部件的,并且它也來(lái)自電子郵件服務(wù)器部件。在配備電子郵件文件夾同步的某些電子郵件網(wǎng)絡(luò)協(xié)議中,一組消息changeID數(shù)據(jù)目標(biāo)可以構(gòu)成大部分stateblob,所述消息changeID(改變識(shí)別符)數(shù)據(jù)目標(biāo)可識(shí)別電子郵件用戶部件已經(jīng)看到的電子郵件消息的改變。當(dāng)把已改變的電子郵件消息傳送到電子郵件用戶和/或服務(wù)器部件時(shí),可以說(shuō)電子郵件消息改變已經(jīng)被該部件看到。
消息changeID數(shù)據(jù)目標(biāo)一個(gè)目的是唯一地可以識(shí)別在整個(gè)電子郵件網(wǎng)絡(luò)的情況中的電子郵件消息的改變。在使用原籍服務(wù)器策略的電子郵件網(wǎng)絡(luò)中,用戶的原籍服務(wù)器可以負(fù)責(zé)使消息changeID數(shù)據(jù)目標(biāo)與以前未看到的電子郵件消息改變相關(guān)聯(lián)。例如,原籍服務(wù)器可以使用包括serverID(服務(wù)器識(shí)別符)數(shù)據(jù)目標(biāo)和串號(hào)的消息changeID數(shù)據(jù)目標(biāo)。serverID數(shù)據(jù)目標(biāo)可以使用諸如全球化唯一識(shí)別符之類的眾知技術(shù)來(lái)唯一地識(shí)別在整個(gè)電子郵件網(wǎng)絡(luò)的情況中電子郵件服務(wù)器部件。當(dāng)這種識(shí)別符本身的大小很大時(shí),可以把serverID數(shù)據(jù)目標(biāo)替代由電子郵件服務(wù)器部件所保持的識(shí)別符查找表中的索引。例如,寬度為6字節(jié)的、電子郵件服務(wù)器部件的本地的計(jì)數(shù)器可以提供串號(hào),每當(dāng)電子郵件服務(wù)器部件接收用于存儲(chǔ)的、以前未看到的電子郵件消息時(shí),就遞增所述串號(hào)。
為了討論的目的,例如,可以通過(guò)“S11”表示消息changeID數(shù)據(jù)目標(biāo),其中‘S1’表示第一電子郵件服務(wù)器部件的serverID數(shù)據(jù)目標(biāo),而‘1’表示串號(hào)。例如,可以通過(guò)“S11,S12,S13”來(lái)表示一組消息changeID數(shù)據(jù)目標(biāo),其中“S11”、“S12”、“S13”是具有serverID S1的電子郵件服務(wù)器部件所使用的連續(xù)的消息changeID數(shù)據(jù)目標(biāo)。
在由表示電子郵件用戶部件所看到的電子郵件消息改變的一組消息changeID數(shù)據(jù)目標(biāo)(“看到的消息改變”組,a“Message Changes Seen”set)構(gòu)成大部分狀態(tài)區(qū)時(shí),已經(jīng)開發(fā)某些技術(shù)來(lái)對(duì)組進(jìn)行編碼以便減少它的大小,例如,可以把組“S11,S12,S13,S14”編碼成“S11-4”。此外,電子郵件服務(wù)器部件可以保證它使用的串號(hào)總是增加的。在該情況中,可以把非鄰近的“看到的消息改變”組,例如,“S11,S13,S15,S17”,編碼成“S11-7”,即,當(dāng)范圍包括最小和最大串號(hào)時(shí),不會(huì)丟失功能。
在圖9描繪的一種情況中,“看到的消息改變”組可以包括由不同于當(dāng)前原籍服務(wù)器(例如,S3)的電子郵件服務(wù)器部件(例如,S1,S2)創(chuàng)建的消息changeID數(shù)據(jù)目標(biāo)。可以把當(dāng)前原籍服務(wù)器創(chuàng)建的消息changeID數(shù)據(jù)目標(biāo)稱為本土消息changeID,可以把其它電子郵件服務(wù)器部件創(chuàng)建的消息changeID數(shù)據(jù)目標(biāo)稱為外來(lái)消息changeID。用于與以前版本電子郵件服務(wù)器部件通信的電子郵件網(wǎng)絡(luò)協(xié)議未曾配備在每電子郵件服務(wù)器部件基礎(chǔ)上作為包括最小和最大串號(hào)范圍的非鄰近外來(lái)消息changeID序列的最優(yōu)化。下列表格示出本發(fā)明的實(shí)施例中包括這種最優(yōu)化的利益。
本發(fā)明的一個(gè)實(shí)施例使用包括下面表格中設(shè)置的特征的ROP,以得到電子郵件服務(wù)器部件和電子郵件用戶部件之間的電子郵件文件夾的同步。電子郵件服務(wù)器部件可以執(zhí)行改進(jìn)的狀態(tài)區(qū)編碼技術(shù),而只適度地增加了復(fù)雜度。
圖11A和11B描繪可以分別由以前版本服務(wù)器和最新版本服務(wù)器所使用的以響應(yīng)Synchfolder ROP的子過(guò)程之間的差異。圖11A示出步驟1101、1102和1103。在步驟1101處,構(gòu)建初始“看到的消息改變”組。在步驟1102處,使“看到的消息改變”組(是本土消息changeID數(shù)據(jù)目標(biāo))的成員最優(yōu)化。在步驟1103處,把經(jīng)最優(yōu)化的“看到的消息改變”組添加到可以與響應(yīng)一起發(fā)送到請(qǐng)求同步的電子郵件用戶部件的狀態(tài)區(qū)數(shù)據(jù)目標(biāo)中。圖11B包括附加步驟1104,該步驟示出“看到的消息改變”組成員是在“看到的消息改變”組之前,用改進(jìn)的最優(yōu)化而加以最優(yōu)化的外來(lái)的消息changeID數(shù)據(jù)目標(biāo),在步驟1103處加至狀態(tài)區(qū)數(shù)據(jù)目標(biāo)中。
在把電子郵件消息存儲(chǔ)器細(xì)分為電子郵件文件夾,可在同步過(guò)程上提供更精細(xì)的控制時(shí),它不會(huì)自動(dòng)地提供協(xié)議性能的改進(jìn),而可能導(dǎo)致協(xié)議性能的降級(jí)。例如,某些協(xié)議要求每個(gè)消息存儲(chǔ)文件夾獨(dú)立地同步。一般,每個(gè)同步操作都具有一些額外開銷,而該額外開銷可能是較大的。利用狀態(tài)區(qū)數(shù)據(jù)目標(biāo)的同步操作是可能具有較大額外開銷的操作的一個(gè)例子。在同步整個(gè)消息存儲(chǔ)的情況中,與要求較少同步操作的協(xié)議比較,要求每個(gè)消息存儲(chǔ)文件夾獨(dú)立地同步的協(xié)議可能處于不利地位。
對(duì)于電子郵件用戶部件,同步整個(gè)消息存儲(chǔ)和保持同步是一個(gè)要求的目標(biāo)。傳統(tǒng)的現(xiàn)有技術(shù)電子郵件用戶部件已經(jīng)探索來(lái)達(dá)到這個(gè)目標(biāo),甚至當(dāng)它對(duì)協(xié)議性能造成較大的負(fù)面影響時(shí)。本發(fā)明的一個(gè)方面是能夠通過(guò)利用深層次表格而使負(fù)面協(xié)議影響最小,同時(shí)達(dá)到這個(gè)目標(biāo)。傳統(tǒng)的現(xiàn)有技術(shù)電子郵件服務(wù)器部件不能提供深層次表格。
在把電子郵件消息存儲(chǔ)器細(xì)分成電子郵件文件夾時(shí),可以把這些電子郵件文件夾組成層次。圖12示出電子郵件文件夾層次的一個(gè)例子。在圖12中,文件夾1204是文件夾1203的子文件夾。文件夾1203依次是文件夾1202的子文件夾。文件夾1201是根文件夾。根文件夾不是任何其它文件夾的子文件夾。所有其它文件夾都是以文件夾1201處為根的文件夾層次的成員。一般,文件夾層次中的每個(gè)文件夾對(duì)于每個(gè)其它文件夾沒(méi)有直接關(guān)系。文件夾可能只對(duì)它的子文件夾有直接關(guān)系。文件夾也可以對(duì)把作為其子文件夾的任何文件夾具有直接關(guān)系。在許多情況中,可能只有每個(gè)文件夾都與之有直接關(guān)系的文件夾才是層次的根文件夾。
深層次表格可以包括有關(guān)文件夾層次中每個(gè)文件夾的信息。在深層次表格中,每個(gè)文件夾可以具有一個(gè)行。深層次表格中的信息是如此的,以致可以使用該信息來(lái)判定在特定時(shí)間期間的電子郵件文件夾的內(nèi)容是否已經(jīng)改變。可以使用在時(shí)間周期開始處取得的文件夾的行的拷貝與時(shí)間周期結(jié)束處取得的文件夾的行的拷貝進(jìn)行簡(jiǎn)單的比較而執(zhí)行在特定時(shí)間期間的電子郵件文件夾的改變的判定。在一個(gè)實(shí)施例中,深層次表格的每個(gè)行包括下列屬性
任何時(shí)候當(dāng)對(duì)文件夾的內(nèi)容作出改變時(shí),可以更新在深層次表格中的電子郵件文件夾的行的屬性。為了有效實(shí)施深層次表格的更新,申請(qǐng)人已經(jīng)發(fā)現(xiàn)具有對(duì)于深層次表格的快速和直接關(guān)系是有幫助的。至少,申請(qǐng)人已經(jīng)發(fā)現(xiàn)當(dāng)試圖訪問(wèn)深層次表格時(shí),應(yīng)該有小的和可預(yù)測(cè)的間接級(jí)數(shù)。例如,在文件夾層次中的任意等級(jí)處定位的一個(gè)深層次表格將不提供可預(yù)測(cè)的間接級(jí)數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,為了這個(gè)原因,深層次表格可以與電子郵件網(wǎng)絡(luò)用戶的電子郵件消息存儲(chǔ)器文件夾層次的根文件夾相關(guān)聯(lián)。
可以把電子郵件服務(wù)器部件和電子郵件用戶部件之間的通信分割成通信會(huì)話。在會(huì)話之間可能發(fā)生電子郵件消息存儲(chǔ)器同步的丟失,例如,在網(wǎng)絡(luò)連接中斷期間。為了在通信會(huì)話的開始處再建立電子郵件消息存儲(chǔ)器同步,用于與以前版本電子郵件服務(wù)器部件通信的某些協(xié)議為文件夾層次中的每個(gè)文件夾使用Synchfolder ROP。一般,某些文件夾的內(nèi)容在會(huì)話之間不會(huì)改變。具有未改變的文件夾作為目標(biāo)的Synchfolder ROP導(dǎo)致“null synch”(零同步)。雖然“null synch”不會(huì)造成把任何文件夾改變傳送給電子郵件用戶部件,但是它還是具有與之相關(guān)聯(lián)的額外開銷,例如,可能是較大的一個(gè)狀態(tài)區(qū)數(shù)據(jù)目標(biāo)。
圖13示出本發(fā)明的實(shí)施例,它了利用深層次表格避免產(chǎn)生這種“nullsynch”。在第一請(qǐng)求1301中,電子郵件用戶部件501把請(qǐng)求深層次表格的ROP(例如,GetHierarchyTable)發(fā)送到電子郵件服務(wù)器部件502。在第一響應(yīng)1302中,把深層次表格的拷貝提供給電子郵件用戶部件501。一般,電子郵件用戶部件501將具有前拷貝的深層次表格。電子郵件用戶部件501可以通過(guò)對(duì)兩份拷貝進(jìn)行一行一行的比較而快速判定電子郵件服務(wù)器部件502上用戶電子郵件消息存儲(chǔ)器中的哪個(gè)文件夾已經(jīng)改變。接著,使用ROP(例如,Synchfolder)以只對(duì)已經(jīng)改變的那些文件夾進(jìn)行同步。如需要的話可重復(fù)請(qǐng)求1303和響應(yīng)1304使改變的文件夾同步。在同步成功之后,可以更新深層次表格的電子郵件用戶部件的拷貝使之與響應(yīng)1302中發(fā)送的最新拷貝相匹配。如果電子郵件用戶部件501沒(méi)有深層次表格的以前拷貝,則可以使具有最新拷貝一行的所有文件夾同步。
一旦已經(jīng)建立用戶的電子郵件消息存儲(chǔ)器的同步,就可通過(guò)周期性地重復(fù)上述會(huì)話步驟的開始(例如,輪詢)電子郵件服務(wù)器部件)來(lái)保持同步,但是這個(gè)方案具有缺點(diǎn)。例如,輪詢周期可能比用戶的電子郵件消息存儲(chǔ)器改變之間的周期短得多。在該情況中,相當(dāng)多的深層次表格比較將表示文件夾未經(jīng)改變。實(shí)際上,這種比較是浪費(fèi)力量,所以可以避免它們的一種協(xié)議可能是更有效的。
某些電子郵件網(wǎng)絡(luò)包括一種用于電子郵件用戶部件的設(shè)施,例如,當(dāng)特定電子郵件文件夾的內(nèi)容改變時(shí)向電子郵件服務(wù)器部件預(yù)約給予通知。某些以前版本電子郵件用戶部件使用如此的設(shè)施,通過(guò)創(chuàng)建與用戶文件夾層次中的每個(gè)文件夾相關(guān)聯(lián)的改變通知的獨(dú)立的預(yù)約,來(lái)保持用戶電子郵件消息存儲(chǔ)器的同步。在本發(fā)明的一個(gè)實(shí)施例中,電子郵件用戶部件可以僅創(chuàng)建與深層次表格相關(guān)聯(lián)的改變通知的單個(gè)預(yù)約。單個(gè)預(yù)約更為有效,因?yàn)樾枰^少的ROP來(lái)創(chuàng)建它以及服務(wù)器方面的資源消耗較少。
進(jìn)一步參考圖13,根據(jù)本發(fā)明的一個(gè)方面,當(dāng)最新版本電子郵件用戶部件501在與電子郵件服務(wù)器部件502的通信會(huì)話的開始處的第一請(qǐng)求1301中使用GetHierarchyTable ROP時(shí),自動(dòng)地使電子郵件用戶部件501預(yù)約在響應(yīng)1302中返回的、與深層次表格相關(guān)聯(lián)的改變通知。例如,當(dāng)在電子郵件用戶部件處的用戶電子郵件消息存儲(chǔ)器中的電子郵件文件夾發(fā)生變化時(shí),把電子郵件消息添加到文件夾中,還如上所述地也更新深層次表格。深層次表格的改變觸發(fā)了給電子郵件用戶部件501的通知報(bào)警1305。當(dāng)根據(jù)預(yù)約由請(qǐng)求1301設(shè)置通知報(bào)警時(shí),這不是明確的請(qǐng)求一響應(yīng)周期的一部分。因此,使用本發(fā)明提供的通知系統(tǒng)導(dǎo)致電子郵件網(wǎng)絡(luò)的額外開銷小得多。
單個(gè)預(yù)約可以產(chǎn)生許多通知。在一個(gè)實(shí)施例中,使用無(wú)連接的網(wǎng)絡(luò)傳送機(jī)構(gòu),例如,用戶數(shù)據(jù)報(bào)協(xié)議/因特網(wǎng)協(xié)議(UDP/IP),來(lái)傳送報(bào)警,但是可以使用任何合適的網(wǎng)絡(luò)傳送機(jī)構(gòu)。響應(yīng)于該報(bào)警,電子郵件用戶部件501把包括ROP(例如,GetNotification)的請(qǐng)求1306發(fā)送給電子郵件服務(wù)器部件502。在響應(yīng)1307中,把深層次表格的任何經(jīng)改變的行(即,對(duì)應(yīng)于觸發(fā)通知的經(jīng)改變的文件夾的行)發(fā)送到電子郵件用戶部件501。然后電子郵件用戶部件501使用ROP(例如,Synchfolder)而僅對(duì)已經(jīng)改變的文件夾進(jìn)行同步。
例如,多個(gè)電子郵件用戶部件可以預(yù)約與相同數(shù)據(jù)目標(biāo)(例如,相同文件夾)相關(guān)聯(lián)的改變通知,以提供協(xié)作功能。如圖18所示,電子郵件用戶部件1801、1802和1803對(duì)于與位于電子郵件服務(wù)器部件1804處的相同數(shù)據(jù)目標(biāo)(未示出)相關(guān)聯(lián)的改變通知進(jìn)行預(yù)約。電子郵件用戶部件1803把ROP 1805發(fā)送給電子郵件服務(wù)器部件1804,形成數(shù)據(jù)目標(biāo)的改變。作為改變的結(jié)果,電子郵件服務(wù)器部件1804把改變通知1806、1807和1808發(fā)送到電子郵件用戶部件1801、1802和1803。例如,改變通知可以攜帶的信息很少超過(guò)正在識(shí)別的已改變的數(shù)據(jù)目標(biāo),以致電子郵件用戶部件無(wú)法判定這是特定變化的起因。例如,如果數(shù)據(jù)目標(biāo)是電子郵件文件夾,則改變通知1806、1807和1808可以導(dǎo)致每個(gè)電子郵件用戶部件1801、1802和1803啟動(dòng)已改變文件夾的同步。由于在本例子中電子郵件用戶部件1803是負(fù)責(zé)改變的,所以結(jié)果將是“null sych”(零同步)。
既于上面討論的原因,希望排除產(chǎn)生“null sych”的同步。然而,所描述的通知行為不可能總是不需要的,而且某些電子郵件用戶部件可能依賴它。本發(fā)明的一個(gè)方面是提供電子郵件用戶部件有能力配置最新版本電子郵件服務(wù)器部件的通知行為,以便改進(jìn)協(xié)議性能同時(shí)向以前版本電子郵件用戶部件提供未改變的通知行為。
圖19A描繪以前版本電子郵件服務(wù)器部件可以提供的通知行為。圖19B描繪根據(jù)本發(fā)明的一個(gè)方面從可配置的通知行為。例如,在圖19B中示出的例子中,如果需要,最新版本電子郵件用戶部件可以通過(guò)提供帶有請(qǐng)求的標(biāo)志,IGNORE_OWN標(biāo)志,來(lái)指揮能夠進(jìn)行圖19B中的通知行為的電子郵件服務(wù)器部件。
在步驟1901處,選擇要通知的簽約用戶組中的下一個(gè)候選者。在步驟1904處,檢查簽約的IGNORE_OWN標(biāo)志。如果不存在標(biāo)志,則步驟1904轉(zhuǎn)移到步驟1902,在該步驟中,把通知發(fā)送給候選簽約用戶。如果找到標(biāo)志,則步驟1904轉(zhuǎn)移到步驟1905,在該步驟中,再次檢查簽約,判定是否簽約用戶觸發(fā)這個(gè)通知。例如,可以通過(guò)檢查用于設(shè)置簽約的會(huì)話的通信會(huì)話識(shí)別符(“sessionID”)來(lái)作出這個(gè)判定。例如,sessionID可以包括全球性唯一識(shí)別符以及6字節(jié)串號(hào)。如果兩者匹配,則通知將受抑。結(jié)果是引起通知的電子郵件用戶部件將不能接收到該通知。然后子過(guò)程進(jìn)行到步驟1903,如下所述。
如果簽約用戶沒(méi)有觸發(fā)通知,則與簽約相關(guān)聯(lián)的sessionID與同通知的起因相關(guān)聯(lián)的sessionID不相同,步驟1905轉(zhuǎn)移到步驟1902,在該步驟中,發(fā)送通知。然后過(guò)程進(jìn)行到步驟1903,在該步驟中,作出是否有更多簽約用戶要通知的判定。如果有,則子過(guò)程返回到步驟1901,否則結(jié)束這個(gè)子過(guò)程。
如上所述,例如,利用電子郵件消息的高速緩沖存儲(chǔ)器的電子郵件用戶部件可以通過(guò)ROP來(lái)請(qǐng)求本地用戶數(shù)據(jù)存儲(chǔ)和電子郵件服務(wù)器部件處可得到的數(shù)據(jù)存儲(chǔ)之間的消息或其它數(shù)據(jù)目標(biāo)的同步。電子郵件用戶部件可以同樣請(qǐng)求從服務(wù)器存儲(chǔ)器把要求消息拷貝到用戶存儲(chǔ)器。在任一種情況中,都可使用快速傳送模式來(lái)作出請(qǐng)求。
一般,為了同步或拷貝而請(qǐng)求諸如文件之類的消息或其它數(shù)據(jù)時(shí),請(qǐng)求(例如,ROP)包括所有消息要求同步的的指示。例如,電子郵件服務(wù)器部件利用上述狀態(tài)區(qū)特征可以自動(dòng)地構(gòu)成這個(gè)列表。對(duì)于以前版本(以前技術(shù))電子郵件服務(wù)器部件,在ROP請(qǐng)求中的一個(gè)消息或數(shù)據(jù)目標(biāo)中的差錯(cuò)會(huì)導(dǎo)致請(qǐng)求中所有項(xiàng)目的失效。在圖14A中示出這個(gè)過(guò)程,其中在步驟1401處用指定用于拷貝或同步的messageID(消息識(shí)別符)組來(lái)發(fā)送包括ROP(例如,F(xiàn)XPrepare)的一個(gè)請(qǐng)求。在電子郵件服務(wù)器部件502處設(shè)置快速傳送機(jī)構(gòu),并在步驟1402處把快速傳送ID(識(shí)別符)發(fā)送給電子郵件用戶部件501。例如,然后電子郵件用戶部件501通過(guò)包括FXGetBuffer ROP的一個(gè)請(qǐng)求來(lái)請(qǐng)求數(shù)據(jù)目標(biāo)的拷貝或同步(步驟1403)。當(dāng)電子郵件服務(wù)器部件502試圖打開所請(qǐng)求的消息時(shí),一個(gè)或多個(gè)消息或其它數(shù)據(jù)目標(biāo)會(huì)發(fā)生差錯(cuò)。差錯(cuò)的例子包括消息或數(shù)據(jù)目標(biāo)受到破壞、服務(wù)器失效、電子郵件服務(wù)器部件502缺少存儲(chǔ)器或檢測(cè)到數(shù)據(jù)目標(biāo)的病毒。
在發(fā)生差錯(cuò)之后,在步驟1404處,電子郵件服務(wù)器部件502在形成的數(shù)據(jù)流中把致命的ROP差錯(cuò)發(fā)送給電子郵件用戶部件501。這樣,同步失敗,對(duì)于messageID組中的消息不進(jìn)行同步或拷貝,并且電子郵件用戶部件501接收不到狀態(tài)區(qū)或相似的更新信息。然后電子郵件用戶部件501必須在另一個(gè)時(shí)間請(qǐng)求數(shù)據(jù)目標(biāo)的同步或拷貝。如果差錯(cuò)不是固定在電子郵件服務(wù)器部件502處的,有可能繼續(xù)發(fā)送差錯(cuò)消息,而messageID組中的消息可能永遠(yuǎn)不予同步或拷貝。
根據(jù)本發(fā)明的一個(gè)方面,最新版本電子郵件服務(wù)器部件可以發(fā)送關(guān)于特定數(shù)據(jù)目標(biāo)(例如,電子郵件消息)的差錯(cuò)信息來(lái)代替致命的ROP差錯(cuò),以致只有該數(shù)據(jù)目標(biāo)同步失敗。這個(gè)特征允許發(fā)送和同步或拷貝在ROP或其它請(qǐng)求中的消息或其它數(shù)據(jù)目標(biāo),即使在響應(yīng)中包括具有差錯(cuò)的消息或其它數(shù)據(jù)目標(biāo)。
作為如何處理目標(biāo)一特定的差錯(cuò)的一個(gè)例子,最新版本電子郵件服務(wù)器部件可以在具有目標(biāo)差錯(cuò)的數(shù)據(jù)目標(biāo)的數(shù)據(jù)流中發(fā)送差錯(cuò)消息。在這個(gè)例子中,為了便于參考起見,把差錯(cuò)指定為FXErrorInfo。如下進(jìn)一步描述,如果需要的話,F(xiàn)XErrorInfo可以包括諸如具有差錯(cuò)的數(shù)據(jù)目標(biāo)的messageID之類的消息,以及關(guān)于消息為何失效的附加信息。
圖14B示出一種同步,其中在消息M3中發(fā)生差錯(cuò)。差錯(cuò)產(chǎn)生在FXGetBuffe響應(yīng)1405中,該響應(yīng)包括消息M1和消息M2,后面跟隨FXErrorInfo,然后是消息M4。FXErrorInfo信息允許電子郵件用戶部件501知道哪個(gè)消息具有差錯(cuò),并且對(duì)響應(yīng)中的所有其它消息進(jìn)行同步。如果差錯(cuò)消息FXErrorInfo包括有關(guān)差錯(cuò)原因的信息,則相應(yīng)地可以使信息在用戶部件上起作用,例如,向用戶顯示差錯(cuò)消息。
下面表格示出FXErrorInfo可以采用的格式的例子
可以看到,示例格式包括版本屬性、差錯(cuò)代碼以及messageID。此外,如果需要的話,可以添加一個(gè)或多個(gè)屬性。此外,如上所述,可以定義用于傳送差錯(cuò)細(xì)節(jié)的輔助字段,這樣,可以定義用于確定差錯(cuò)細(xì)節(jié)的字段大小(例如,一個(gè)陣列)的屬性,并且可以提供一個(gè)字段,例如,這個(gè)字段可以是用于傳送差錯(cuò)細(xì)節(jié)的未構(gòu)成的陣列。如上所述,電子郵件用戶部件501可以按要求處理差錯(cuò)細(xì)節(jié)。
FXErrorInfo允許完成第一響應(yīng)的同步,例如,在提供給電子郵件用戶部件501的狀態(tài)區(qū)或其它信息中產(chǎn)生的。因?yàn)楝F(xiàn)在電子郵件用戶部件是通過(guò)M4來(lái)同步的,所以用于同步的下一個(gè)請(qǐng)求1406可在M4之后(例如,M5和M6)形成于具有消息的響應(yīng)1407中。
為了指示電子郵件用戶部件501是最新版本,因此能夠處理FXErrorInfo消息,例如,可以定義一個(gè)標(biāo)志FXRecoverMode,這可以與請(qǐng)求同步或拷貝的ROP一起發(fā)送。電子郵件用戶部件501可以使用其它指示來(lái)向電子郵件服務(wù)器部件502傳送它能處理的FXErrorInfo消息。
當(dāng)電子郵件服務(wù)器部件502把一個(gè)或多個(gè)消息或其它數(shù)據(jù)目標(biāo)發(fā)送給電子郵件用戶部件501時(shí),到電子郵件用戶部件的數(shù)據(jù)流可以分開,或通過(guò)特性標(biāo)記(例如,ptag)來(lái)定義。例如,消息列表可以包括每個(gè)消息的開始消息ptag和結(jié)束消息ptag。在開始和結(jié)束ptag之間可以是特性列表ptag和主題ptag,它們可以具有字符串的特性。主題本身跟隨主題ptag。可以包括其它特性tags。
在發(fā)送消息中發(fā)生差錯(cuò)的情況中,可以提供FXErrorInfo作為ptag,并且可以具有二進(jìn)制特性,諸如是通過(guò)上述表格定義的。數(shù)據(jù)流跟隨一個(gè)成功的消息和一個(gè)有差錯(cuò)發(fā)生在其中的消息的一個(gè)例子。在發(fā)生差錯(cuò)的情況中,不使用該特定消息的結(jié)束消息ptag,而ptag FXErrorInfo是該消息的最后ptag。
ptagMessageListStartptagMessageStartptagPropListptagSubj ect[PT_STRING]“備注你的電子郵件”...
ptagMessageEndptageMessageStart
...
ptagFXErrorInfo[PT_BINARY][內(nèi)容如表格所描述]ptagMessageStart...
ptagMessageEndptagMessageListEnd圖15A示出一些步驟,電子郵件服務(wù)器部件502可以利用這些步驟把消息傳送到以前版本電子郵件用戶部件501。在步驟1501處開始,例如,通過(guò)把消息組放置在快速傳送數(shù)據(jù)存儲(chǔ)器中而準(zhǔn)備消息組。在步驟1502處,例如,當(dāng)消息緊接置于在電子郵件服務(wù)器部件502的發(fā)送緩沖器中之后,消息就開始形成流式輸出。如果當(dāng)流式輸出消息時(shí)發(fā)生差錯(cuò),則在步驟1504中,使致命的ROP差錯(cuò)也以流式輸出到電子郵件用戶部件501。然后子過(guò)程結(jié)束。如果在流式輸出消息時(shí),沒(méi)有發(fā)生差錯(cuò),則在步驟1503處作出組中是否有更多消息的判定。如果有,則過(guò)程回路返回步驟1502,在該步驟中,把下一個(gè)消息形成流式輸出。如果沒(méi)有,則子過(guò)程結(jié)束。
圖15B示出一個(gè)過(guò)程,用于由最新版本電子郵件服務(wù)器部件502來(lái)處理消息組。根據(jù)電子郵件用戶部件是最新版本還是以前版本,所采用的步驟是不同的。步驟1501-1504是以前版本電子郵件用戶部件采用的步驟,并且與前面段落中相同參考號(hào)的那些步驟相同。
在步驟1502處,如果在消息流中發(fā)現(xiàn)差錯(cuò),則在步驟1505處作出請(qǐng)求是否包括諸如FXRecoverMode之類的標(biāo)志的判定。如果請(qǐng)求包括標(biāo)志,則電子郵件用戶部件501是最新版本,并且步驟1505轉(zhuǎn)移到步驟1506,在該步驟中,把FXErrorInfo形成流式輸出到電子郵件用戶部件501。然后過(guò)程可以繼續(xù)進(jìn)行到步驟1503。如果請(qǐng)求不包括標(biāo)志,則步驟1505轉(zhuǎn)移到步驟1504,在該步驟中,使致命的ROP差錯(cuò)作為流輸出。然后結(jié)束子過(guò)程。
可以看到,在請(qǐng)求中出現(xiàn)標(biāo)志,則允許通過(guò)流式輸出FXErrorInfo來(lái)代替失效和發(fā)送致命的ROP差錯(cuò),從而繼續(xù)進(jìn)行流式過(guò)程。最新版本電子郵件用戶部件501發(fā)送所述標(biāo)志。以前版本電子郵件用戶部件不包括標(biāo)志,因此,差錯(cuò)導(dǎo)致流式輸出致命的ROP差錯(cuò),如上所述。
在另一個(gè)實(shí)施例中,如果需要,可以發(fā)送消息或其它數(shù)據(jù)目標(biāo)的特定特性的差錯(cuò)消息(例如,F(xiàn)XErrorInfo)來(lái)代替整個(gè)消息。例如,可以為消息的主體或?yàn)橄⒌母郊l(fā)送FXErrorInfo。然后電子郵件用戶部件501可以同步或拷貝無(wú)差錯(cuò)地成功地發(fā)送的特性,并且只有具有差錯(cuò)的特性不進(jìn)行同步或拷貝。
某些時(shí)候,消息或其它數(shù)據(jù)目標(biāo)可以是跨越多個(gè)FXGetBuffe響應(yīng)的足夠大小。為了處理這種消息,電子郵件用戶部件501可以包括卷回邏輯,以致在接收差錯(cuò)消息之后,它可以放下任何接收到的部分消息,然后進(jìn)行合適地接收進(jìn)一步消息。
有時(shí),可能要求電子郵件用戶部件提供關(guān)于諸如電子郵件消息之類數(shù)據(jù)目標(biāo)的拷貝和同步的進(jìn)展的反饋。根據(jù)本發(fā)明的一個(gè)方面,最新版本電子郵件用戶部件501可以確定它能夠處理進(jìn)展模式,例如,當(dāng)請(qǐng)求數(shù)據(jù)目標(biāo)的同步或拷貝時(shí),通過(guò)把諸如PROGRESS_MODE之類的一個(gè)標(biāo)志發(fā)送給電子郵件服務(wù)器部件502。作為響應(yīng),最新版本電子郵件服務(wù)器部件502可以與消息一起發(fā)送多種信息,諸如所有消息的總的大小、消息的總數(shù)以及每個(gè)消息的總的大小或這些中的任何一個(gè)或它們的組合。
例如,如在圖16A中所示,對(duì)于以前版本電子郵件用戶部件501,電子郵件用戶部件501根據(jù)消息組的快速傳送請(qǐng)求(1601和1603)來(lái)接收消息。在圖16A中,在兩個(gè)響應(yīng)1604和1606中接收消息。在使用快速傳送機(jī)構(gòu)的以前版本電子郵件用戶部件501中,不提供正在流式輸出到用戶的消息的進(jìn)展指示。
然而,如在圖16B中所示,響應(yīng)1607是對(duì)于電子郵件用戶部件的消息組的請(qǐng)求的,電子郵件服務(wù)器部件502可以提供要傳送的數(shù)據(jù)目標(biāo)的總數(shù)以及所有數(shù)據(jù)目標(biāo)的總的大小。在圖16中用“Pall”來(lái)表示這個(gè)信息。最新版本電子郵件服務(wù)器部件502還可以提供每個(gè)消息的大小,在圖16B中用“P1,P2,P3,...”來(lái)表示。此外,如果需要的話,與每個(gè)消息和與整個(gè)消息組相關(guān)聯(lián)的信息可以包括有關(guān)每個(gè)消息是FAI還是實(shí)際電子郵件消息的附加信息。在一個(gè)實(shí)施例中,即使傳送零個(gè)數(shù)據(jù)目標(biāo),在圖16B中通過(guò)“Pall”表示的信息也始終響應(yīng)于快速傳送請(qǐng)求而發(fā)送,以便簡(jiǎn)化數(shù)據(jù)流的處理。
在下列表格中示出所傳送的所有數(shù)據(jù)目標(biāo)的大小和數(shù)量的格式的例子。
可以看到,對(duì)于FAI數(shù)據(jù)目標(biāo)的數(shù)量、所有FAI數(shù)據(jù)目標(biāo)的總的大小、要傳送的電子郵件消息的數(shù)量以及要傳送的所有電子郵件消息的總的大小可以定義獨(dú)立的屬性。可以按需要把其它組合和附加屬性添加到格式中。
下面表格示出用于大小和可以與每個(gè)消息一起提供的其它信息的一種格式。
可以看到,格式包括下一個(gè)消息的大小以及下一個(gè)消息是否為FAI。
圖17A和17B示出一些步驟,用于分別根據(jù)以前版本電子郵件部件和最新版本電子郵件部件使消息組形成流。圖17A中的步驟與圖15A中的步驟1501-1503相似。對(duì)于圖17B,例如,已經(jīng)由最新版本電子郵件用戶部件501與發(fā)送了帶有ROP的PROGRESS_MODE標(biāo)志。在步驟1701處準(zhǔn)備消息組之后,作出標(biāo)志是否存在的判定。如果存在的話,則在步驟1702中發(fā)送進(jìn)展數(shù)據(jù)總數(shù),然后過(guò)程進(jìn)行到步驟1502,在該步驟中,使第一消息形成流。如果不存在標(biāo)志,則步驟1701直接轉(zhuǎn)移到步驟1502。
在使第一消息形成流之后,過(guò)程進(jìn)行到步驟1703,在該步驟中,作出是否可得到標(biāo)志的判定。如果可得到標(biāo)志,則步驟1703轉(zhuǎn)移到步驟1704,在該步驟中,使每個(gè)消息進(jìn)展數(shù)據(jù)形成流。然后過(guò)程進(jìn)行到早先描述的步驟1503。如果未得到標(biāo)志,則步驟1703直接轉(zhuǎn)移到步驟1503。
下面陳述最新服務(wù)器部件把數(shù)據(jù)發(fā)送到最新用戶部件的數(shù)據(jù)流的例子。數(shù)據(jù)流相似于上述數(shù)據(jù)流,但是另外包括,例如,可以具有二進(jìn)制特性的進(jìn)展總數(shù)據(jù)的ptag(ptagIncrSyncProgressMode)。此外,對(duì)于每個(gè)消息,提供每消息進(jìn)展數(shù)據(jù),例如作為ptagIncrSyncProgressModePerMsg。
ptagIncrSyncProgressMode [PT_BINARY][內(nèi)容如表格所描述]ptagMessageListStartptagIncrSyncProgressModePerMsg [PT_BINARY][內(nèi)容如表格所描述]ptagMessageStartptagPropListptagSubject [PT_STRING]“備注你的電子郵件”...
ptagMessageEndptagIncrSyncProgressModePerMsg [PT_BINARY][內(nèi)容如表格所描述]ptagMessageStart...
ptagMessageEndptagIncrSyncProgressModePerMsg [PT_BINARY][內(nèi)容如表格所描述]
ptagMessageStart...
ptagMessageEndptagMessageListEnd在所示的例子中,在消息列表之前以及在每個(gè)消息之前,分別對(duì)包括進(jìn)展總數(shù)據(jù)(ptagIncrSyncProgressMode)的ptag以及消息進(jìn)展數(shù)據(jù)(ptagIncrSyncProgressModePerMsg)的ptag進(jìn)行定位。然而,可以使數(shù)據(jù)目標(biāo)的流的結(jié)構(gòu)反向,以致可以把進(jìn)展數(shù)據(jù)包括在消息中或消息列表中。又可能使數(shù)據(jù)目標(biāo)的流的結(jié)構(gòu)反向,以便完全消除限定消息和/或消息列表的ptag。
接收進(jìn)展數(shù)據(jù)的電子郵件用戶部件可以利用這個(gè)數(shù)據(jù)來(lái)確定來(lái)自電子郵件服務(wù)器部件的數(shù)據(jù)目標(biāo)的同步或拷貝的進(jìn)展,以及可以利用每消息進(jìn)展數(shù)據(jù)來(lái)確定每個(gè)獨(dú)立的消息的進(jìn)展。例如,在監(jiān)測(cè)關(guān)于同步的進(jìn)展的實(shí)時(shí)信息中,這個(gè)信息是有幫助的。
現(xiàn)有可以用來(lái)存儲(chǔ)電子郵件消息或其它數(shù)據(jù)目標(biāo)的數(shù)個(gè)不同的字符組。例如,ASCII是最普遍用于存儲(chǔ)英語(yǔ)字符的。然而,對(duì)于存儲(chǔ)所有語(yǔ)言的字符,ASCII是不夠的,因?yàn)樗腔?-位字符的。因此,ASCII代碼只可以用于256個(gè)字符,這對(duì)于英語(yǔ)是足夠的,但是對(duì)于有更多字符的語(yǔ)言是不夠的。另一方面,單碼(unicode)是每個(gè)字符使用16位(2字節(jié))的字符組,因此能夠包括比ASCII多的字符。單碼可以有65,536個(gè)字符,因此可以用于對(duì)世界上幾乎所有的語(yǔ)言進(jìn)行編碼。在單碼中包括ASCII字符。
一般,以前版本電子郵件用戶部件501具有指定的代碼頁(yè),或字符組和/或與之相關(guān)聯(lián)的語(yǔ)言。例如,特定版本的電子郵件用戶部件501可以具有德文代碼頁(yè),而另一個(gè)版本可以具有ANSI代碼頁(yè)。有時(shí),可能要求電子郵件用戶部件501接收字符組中的電子郵件而不是指定的代碼頁(yè)。根據(jù)本發(fā)明的一個(gè)方面,最新用戶部件可以強(qiáng)制電子郵件服務(wù)器部件提供按單碼的所有電子郵件。一旦電子郵件用戶部件501接收電子郵件,就可以把單碼電子郵件轉(zhuǎn)換成用戶的代碼頁(yè),或另一方面,可以按單碼格式來(lái)保存。
為了確定電子郵件用戶部件501調(diào)用按單碼提供的電子郵件,例如,電子郵件用戶部件501可以把諸如FORCEUNICODE之類的標(biāo)志提供給電子郵件服務(wù)器部件502。標(biāo)志可以與諸如ROP之類的請(qǐng)求一起提供。如果電子郵件服務(wù)器部件502是最新版本的,則電子郵件服務(wù)器部件502可以提供單碼版本的電子郵件(如果可得到的話),或可以按其它字符組把電子郵件消息轉(zhuǎn)換成單碼。
圖20示出一些步驟,用于根據(jù)本發(fā)明的一個(gè)方面提供消息的特定字符組。在步驟2001處開始,電子郵件服務(wù)器部件502從它的數(shù)據(jù)存儲(chǔ)器檢索消息。在步驟2002處,作出是否存在FORCEUNICODE標(biāo)志的判定。如果不存在,則步驟2002轉(zhuǎn)移到步驟2003,在該步驟中,電子郵件服務(wù)器部件502提供按電子郵件用戶部件指定的代碼頁(yè)的電子郵件消息,如果需要的話,則進(jìn)行轉(zhuǎn)換。
如果存在FORCEUNICODE標(biāo)志,則步驟2002轉(zhuǎn)移到步驟2004,在該步驟中,作出消息是否按單碼存儲(chǔ)的判定。如果是的,則步驟2004轉(zhuǎn)移到步驟2005,在該步驟中,按單碼字符組把消息提供給電子郵件用戶部件501。如果消息沒(méi)有按單碼存儲(chǔ),則步驟2004轉(zhuǎn)移到步驟2006,在該步驟中,把消息轉(zhuǎn)換成單碼,然后過(guò)程繼續(xù)進(jìn)行到步驟2005,在該步驟中,按單碼把消息提供給電子郵件用戶部件。
從而為了完整性而結(jié)合這里引用的、包括公開出版物、專利申請(qǐng)以及專利等的所有參考資料引入于此作參考,其參考程度又似各參考資料可單獨(dú)地和特定地確定加以引入作為參考和所有這些參考資料作為一個(gè)整體來(lái)加以表示。
除非這里另行規(guī)定或通過(guò)上下文清楚地否認(rèn),在描述本發(fā)明的上下文中(特別在下面權(quán)利要求書的上下文中),把術(shù)語(yǔ)“a(一個(gè))”和“an(一個(gè))”和“the(該)”以及相似指示物的使用解釋為包括單數(shù)和復(fù)數(shù)兩者。除非另行注明,術(shù)語(yǔ)“comprising(包括)”、“having(具有)”、“including(包括)”、以及“containing(包含)”解釋為無(wú)盡頭的術(shù)語(yǔ)(即,意思為“包括,但是不限于,”)。除非這里另行規(guī)定,只打算把這里詳述的值的范圍作為一種簡(jiǎn)化方法,以個(gè)別地涉及落在范圍中的每個(gè)獨(dú)立值,并好象在這里對(duì)其個(gè)別進(jìn)行詳述那樣把每個(gè)獨(dú)立值引入在說(shuō)明書中。除非這里另行規(guī)定或通過(guò)上下文清楚地相抵觸,可以按任何合適的次序來(lái)執(zhí)行這里描述的所有方法。只打算以這里提供的任何或所有例子、或示例語(yǔ)言(例如,“諸如”)的使用來(lái)較好地闡明本發(fā)明,不造成對(duì)于本發(fā)明的范圍的限制,并且除非另行要求。對(duì)于本發(fā)明實(shí)踐的基本部分,本說(shuō)明書中沒(méi)有語(yǔ)言該解釋為指出的任何非專利申請(qǐng)部分。
這里描述了本發(fā)明的較佳實(shí)施例,包括發(fā)明人已知的執(zhí)行本發(fā)明的最佳模式。當(dāng)閱讀上述說(shuō)明書時(shí),熟悉本技術(shù)領(lǐng)域的人員會(huì)明白這些較佳實(shí)施例的改變。發(fā)明人期望熟練的技術(shù)人員適當(dāng)?shù)厥褂眠@種改變,并且發(fā)明人設(shè)想不同于這里的特別描述而實(shí)踐本發(fā)明。因此,象可應(yīng)用的法律所允許那樣,本發(fā)明包括在這里所附的權(quán)利要求書中引用的主題的所有修改和等效物。此外,除非這里另行規(guī)定或另外通過(guò)上下文清楚地相抵觸,本發(fā)明包括在所有可能改變中的上述單元的任何組合。
權(quán)利要求
1.包含在計(jì)算機(jī)可讀出媒體中的一種數(shù)據(jù)分組包括識(shí)別電子郵件用戶部件的第一數(shù)據(jù)字段;包括對(duì)于多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求的第二數(shù)據(jù)字段;以及包括電子郵件用戶部件能夠處理有差錯(cuò)的電子郵件數(shù)據(jù)目標(biāo)的一個(gè)指示的第三數(shù)據(jù)字段。
2.如權(quán)利要求1所述的數(shù)據(jù)分組,其特征在于,所述指示包括與請(qǐng)求包括在一起的一個(gè)標(biāo)志。
3.如權(quán)利要求1所述的數(shù)據(jù)分組,其特征在于,所述請(qǐng)求包括用于同步文件夾的一個(gè)請(qǐng)求,在所述文件夾中設(shè)置有電子郵件數(shù)據(jù)目標(biāo)。
4.如權(quán)利要求1所述的數(shù)據(jù)分組,其特征在于,所述請(qǐng)求包括對(duì)于電子郵件消息的拷貝的一個(gè)請(qǐng)求。
5.具有計(jì)算機(jī)可執(zhí)行指令的一種計(jì)算機(jī)可讀出媒體,所述指令包括從電子郵件用戶部件接收用于多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求以及所述電子郵件用戶部件能夠處理有差錯(cuò)的電子郵件數(shù)據(jù)目標(biāo)的一個(gè)指示;以及響應(yīng)于所述請(qǐng)求和所述指示,檢索多個(gè)電子郵件數(shù)據(jù)目標(biāo);以及對(duì)于各個(gè)電子郵件數(shù)據(jù)目標(biāo)如果在打開電子郵件數(shù)據(jù)目標(biāo)中沒(méi)有發(fā)生差錯(cuò),則把電子郵件數(shù)據(jù)目標(biāo)發(fā)送給電子郵件用戶部件,以及如果在打開電子郵件數(shù)據(jù)目標(biāo)中發(fā)生差錯(cuò),則把差錯(cuò)消息發(fā)送給電子郵件用戶部件。
6.如權(quán)利要求5所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述差錯(cuò)消息包括電子郵件數(shù)據(jù)目標(biāo)的版本信息。
7.如權(quán)利要求6所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述版本信息包括16位整數(shù)。
8.如權(quán)利要求5所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述差錯(cuò)消息包括電子郵件數(shù)據(jù)目標(biāo)的識(shí)別信息。
9.如權(quán)利要求8所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述識(shí)別信息包括32位整數(shù)。
10.如權(quán)利要求8所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述識(shí)別信息包括全球性唯一的識(shí)別符(GUID)以及6字節(jié)串號(hào)。
11.如權(quán)利要求5所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述差錯(cuò)消息包括有關(guān)差錯(cuò)的信息。
12.如權(quán)利要求11所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述有關(guān)差錯(cuò)的信息包括用于傳遞差錯(cuò)細(xì)節(jié)的陣列的大小。
13.如權(quán)利要求5所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述指示包括與所述請(qǐng)求包括在一起的一個(gè)標(biāo)志。
14.如權(quán)利要求5所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述請(qǐng)求包括1個(gè)有電子郵件數(shù)據(jù)目標(biāo)設(shè)置在其中的文件夾同步的請(qǐng)求。
15.如權(quán)利要求5所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述請(qǐng)求包括對(duì)于電子郵件消息的拷貝的一個(gè)請(qǐng)求。
16.具有計(jì)算機(jī)可執(zhí)行指令的一種計(jì)算機(jī)可讀出媒體,所述指令包括從電子郵件用戶部件發(fā)送用于多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求以及所述電子郵件用戶部件能夠處理有差錯(cuò)的電子郵件數(shù)據(jù)目標(biāo)的一個(gè)指示;以及對(duì)于每個(gè)電子郵件數(shù)據(jù)目標(biāo)如果電子郵件數(shù)據(jù)目標(biāo)不包含差錯(cuò),則在電子郵件用戶部件處接收電子郵件數(shù)據(jù)目標(biāo)和拷貝電子郵件數(shù)據(jù)目標(biāo),以及如果電子郵件數(shù)據(jù)目標(biāo)包含差錯(cuò),則接收差錯(cuò)消息。
17.如權(quán)利要求16所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述差錯(cuò)消息包括對(duì)于電子郵件數(shù)據(jù)目標(biāo)的識(shí)別。
18.如權(quán)利要求16所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述差錯(cuò)消息包括有關(guān)差錯(cuò)的信息。
19.如權(quán)利要求16所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述差錯(cuò)消息包括與所述請(qǐng)求包括在一起的一個(gè)標(biāo)志。
20.如權(quán)利要求16所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述請(qǐng)求包括1個(gè)有電子郵件數(shù)據(jù)目標(biāo)設(shè)置在其中的文件夾同步的請(qǐng)求。
21.如權(quán)利要求16所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述請(qǐng)求包括對(duì)于電子郵件消息的拷貝的一個(gè)請(qǐng)求。
22.包含在計(jì)算機(jī)可讀出媒體中的一種數(shù)據(jù)分組包括識(shí)別有關(guān)電子郵件數(shù)據(jù)目標(biāo)的識(shí)別信息的第一數(shù)據(jù)字段;以及包括電子郵件數(shù)據(jù)目標(biāo)的差錯(cuò)代碼的第二數(shù)據(jù)字段。
23.如權(quán)利要求22所述的數(shù)據(jù)分組,進(jìn)一步包括表示所述電子郵件數(shù)據(jù)目標(biāo)的版本信息的第三數(shù)據(jù)字段。
24.如權(quán)利要求23所述的數(shù)據(jù)分組,其特征在于,所述第三數(shù)據(jù)字段包括16位整數(shù)。
25.如權(quán)利要求22所述的數(shù)據(jù)分組,進(jìn)一步包括表示電子郵件數(shù)據(jù)目標(biāo)的識(shí)別信息的第三數(shù)據(jù)字段。
26.如權(quán)利要求25所述的數(shù)據(jù)分組,其特征在于,所述第三數(shù)據(jù)字段包括32位整數(shù)。
27.如權(quán)利要求25所述的數(shù)據(jù)分組,其特征在于,所述第三數(shù)據(jù)字段包括全球性唯一的識(shí)別符(GUID)以及6字節(jié)串號(hào)。
28.如權(quán)利要求22所述的數(shù)據(jù)分組,進(jìn)一步包括有關(guān)差錯(cuò)的信息的第三數(shù)據(jù)字段,所述差錯(cuò)是與差錯(cuò)代碼相關(guān)的。
29.如權(quán)利要求28所述的數(shù)據(jù)分組,其特征在于,所述有關(guān)差錯(cuò)的信息包括用于傳遞差錯(cuò)細(xì)節(jié)的陣列的大小。
30.包含于計(jì)算機(jī)可讀出媒體中的一種數(shù)據(jù)分組包括識(shí)別電子郵件用戶部件的第一數(shù)據(jù)字段;包括對(duì)于多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求的第二數(shù)據(jù)字段;以及包括電子郵件用戶部件能夠處理進(jìn)展模式數(shù)據(jù)的一個(gè)指示的第三數(shù)據(jù)字段。
31.如權(quán)利要求30所述的數(shù)據(jù)分組,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括每個(gè)電子郵件數(shù)據(jù)目標(biāo)的大小。
32.如權(quán)利要求30所述的數(shù)據(jù)分組,其特征在于,所述指示包括與請(qǐng)求包括在一起的一個(gè)標(biāo)志。
33.如權(quán)利要求30所述的數(shù)據(jù)分組,其特征在于,所述請(qǐng)求包括1個(gè)有電子郵件數(shù)據(jù)目標(biāo)設(shè)置在其中的文件夾同步的請(qǐng)求。
34.如權(quán)利要求30所述的數(shù)據(jù)分組,其特征在于,所述請(qǐng)求包括對(duì)于電子郵件消息的拷貝的一個(gè)請(qǐng)求。
35.如權(quán)利要求30所述的數(shù)據(jù)分組,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)數(shù)據(jù)目標(biāo)的大小。
36.如權(quán)利要求30所述的數(shù)據(jù)分組,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)的數(shù)量。
37.如權(quán)利要求36所述的數(shù)據(jù)分組,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括在多個(gè)電子郵件數(shù)據(jù)目標(biāo)中完全的文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)的大小。
38.如權(quán)利要求30所述的數(shù)據(jù)分組,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中的電子郵件消息的數(shù)量。
39.如權(quán)利要求38所述的數(shù)據(jù)分組,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中的總的電子郵件消息的大小。
40.如權(quán)利要求30所述的數(shù)據(jù)分組,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括是否每個(gè)目標(biāo)都是文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)。
41.具有計(jì)算機(jī)可執(zhí)行指令的一種計(jì)算機(jī)可讀出媒體,所述指令包括從電子郵件用戶部件接收用于多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求以及所述電子郵件用戶部件能夠處理進(jìn)展模式數(shù)據(jù)的一個(gè)指示;以及響應(yīng)于所述請(qǐng)求和所述指示,檢索多個(gè)電子郵件數(shù)據(jù)目標(biāo);以及把進(jìn)展模式數(shù)據(jù)與多個(gè)數(shù)據(jù)目標(biāo)一起提供給電子郵件用戶部件,所述進(jìn)展模式數(shù)據(jù)包括每個(gè)電子郵件數(shù)據(jù)目標(biāo)的大小。
42.如權(quán)利要求41所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述指示包括與請(qǐng)求包括在一起的一個(gè)標(biāo)志。
43.如權(quán)利要求41所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述請(qǐng)求包括一個(gè)有電子郵件數(shù)據(jù)目標(biāo)設(shè)置在其中的文件夾同步的請(qǐng)求。
44.如權(quán)利要求41所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述請(qǐng)求包括對(duì)于電子郵件消息的拷貝的一個(gè)請(qǐng)求。
45.如權(quán)利要求41所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括多個(gè)數(shù)據(jù)目標(biāo)的大小。
46.如權(quán)利要求41所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括在多個(gè)數(shù)據(jù)目標(biāo)中的文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)的數(shù)量。
47.如權(quán)利要求46所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括在多個(gè)數(shù)據(jù)目標(biāo)中的總的文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)的大小。
48.如權(quán)利要求41所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中的電子郵件消息的數(shù)量。
49.如權(quán)利要求48所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中的總的電子郵件消息的大小。
50.如權(quán)利要求41所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括是否每個(gè)目標(biāo)都是文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)。
51.具有計(jì)算機(jī)可執(zhí)行指令的一種計(jì)算機(jī)可讀出媒體,所述指令包括從電子郵件用戶部件接收用于多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求以及所述電子郵件用戶部件能夠處理進(jìn)展模式數(shù)據(jù)的一個(gè)指示;以及響應(yīng)于所述請(qǐng)求和所述指示,檢索多個(gè)電子郵件數(shù)據(jù)目標(biāo);以及把進(jìn)展模式數(shù)據(jù)與多個(gè)數(shù)據(jù)目標(biāo)一起提供給電子郵件用戶部件,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)的大小。
52.如權(quán)利要求51所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述指示包括與請(qǐng)求包括在一起的一個(gè)標(biāo)志。
53.如權(quán)利要求51所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述請(qǐng)求包括一個(gè)用有電子郵件數(shù)據(jù)目標(biāo)設(shè)置在其中的文件夾同步的請(qǐng)求。
54.如權(quán)利要求51所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述請(qǐng)求包括對(duì)于電子郵件消息的拷貝的一個(gè)請(qǐng)求。
55.如權(quán)利要求51所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括多個(gè)數(shù)據(jù)目標(biāo)中每一個(gè)數(shù)據(jù)目標(biāo)的大小。
56.如權(quán)利要求51所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括在多個(gè)數(shù)據(jù)目標(biāo)中的文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)的數(shù)量。
57.如權(quán)利要求56所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括在多個(gè)數(shù)據(jù)目標(biāo)中的總的文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)的大小。
58.如權(quán)利要求51所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中的電子郵件消息的數(shù)量。
59.如權(quán)利要求58所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中的總的電子郵件消息的大小。
60.如權(quán)利要求51所述的計(jì)算機(jī)可讀出媒體,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括是否每個(gè)目標(biāo)都是文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)。
61.一種計(jì)算機(jī)執(zhí)行的方法包括從電子郵件用戶部件發(fā)送用于多個(gè)電子郵件數(shù)據(jù)目標(biāo)的一個(gè)請(qǐng)求以及所述電子郵件用戶部件能夠處理進(jìn)展模式數(shù)據(jù)的一個(gè)指示;以及在電子郵件服務(wù)器部件處,響應(yīng)于所述請(qǐng)求和所述指示,檢索多個(gè)電子郵件數(shù)據(jù)目標(biāo)和多個(gè)電子郵件數(shù)據(jù)目標(biāo)的進(jìn)展模式數(shù)據(jù);以及在電子郵件用戶部件處,接收進(jìn)展模式數(shù)據(jù)和利用所述進(jìn)展模式數(shù)據(jù)來(lái)監(jiān)測(cè)多個(gè)數(shù)據(jù)目標(biāo)到電子郵件用戶部件的發(fā)送進(jìn)展。
62.如權(quán)利要求61所述的方法,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)的大小。
63.如權(quán)利要求61所述的方法,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)數(shù)據(jù)目標(biāo)中每一個(gè)數(shù)據(jù)目標(biāo)的大小。
64.如權(quán)利要求61所述的方法,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括在多個(gè)數(shù)據(jù)目標(biāo)中的文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)的數(shù)量。
65.如權(quán)利要求64所述的方法,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括在多個(gè)數(shù)據(jù)目標(biāo)中的總的文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)的大小。
66.如權(quán)利要求61所述的方法,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中的電子郵件消息的數(shù)量。
67.如權(quán)利要求66所述的方法,其特征在于,所述進(jìn)展模式數(shù)據(jù)包括多個(gè)電子郵件數(shù)據(jù)目標(biāo)中的總的電子郵件消息的大小。
68.如權(quán)利要求61所述的方法,其特征在于,所述進(jìn)展模式數(shù)據(jù)進(jìn)一步包括是否每個(gè)目標(biāo)都是文件夾相關(guān)聯(lián)信息(FAI)目標(biāo)。
69.具有計(jì)算機(jī)可執(zhí)行指令的一種計(jì)算機(jī)可讀出媒體,所述指令包括從電子郵件用戶部件接收請(qǐng)求中的多個(gè)子請(qǐng)求,每個(gè)子請(qǐng)求請(qǐng)求電子郵件服務(wù)器部件處的一個(gè)操作,以及包括大小信息;以及響應(yīng)于每個(gè)子請(qǐng)求如果大小信息包括電子郵件服務(wù)器部件預(yù)期范圍內(nèi)的大小極限,則把響應(yīng)限制于大小極限;以及如果大小信息包括電子郵件服務(wù)器部件預(yù)期范圍之外的大小極限,則在大小信息中尋找新的大小極限。
70.如權(quán)利要求69所述的計(jì)算機(jī)可讀出媒體,進(jìn)一步包括,如果大小信息包括電子郵件服務(wù)器部件預(yù)期范圍之外的大小極限,則利用響應(yīng)填充電子郵件服務(wù)器部件的緩沖器。
71.一種計(jì)算機(jī)執(zhí)行的方法包括在電子郵件用戶部件處創(chuàng)建請(qǐng)求中的多個(gè)子請(qǐng)求,每個(gè)子請(qǐng)求在電子郵件服務(wù)器部件處請(qǐng)求一次操作,以及包括大小信息;以及把請(qǐng)求發(fā)送給電子郵件服務(wù)器部件;在電子郵件服務(wù)器部件處接收請(qǐng)求;以及響應(yīng)于每個(gè)子請(qǐng)求如果大小信息包括電子郵件服務(wù)器部件預(yù)期范圍內(nèi)的大小極限,則把響應(yīng)限制于大小極限;以及如果大小信息包括電子郵件服務(wù)器部件預(yù)期范圍之外的大小極限,則在大小信息中尋找新的大小極限。
72.如權(quán)利要求71所述的方法,進(jìn)一步包括,如果大小信息包括電子郵件服務(wù)器部件預(yù)期范圍之外的大小極限,則利用響應(yīng)填充電子郵件服務(wù)器部件的緩沖器。
全文摘要
改進(jìn)用戶和服務(wù)器通信的一種系統(tǒng)和方法,尤其,可以在諸如電子郵件環(huán)境之類的用戶和服務(wù)器之間的通信中使用的一種改進(jìn)的協(xié)議。在改進(jìn)通信中規(guī)定有許多特征。電子郵件服務(wù)器可以為電子郵件消息提供最佳消息主體,如果在數(shù)據(jù)目標(biāo)中沒(méi)有較好地定義所請(qǐng)求的一個(gè)特性或一些特性,則可以傳送整個(gè)數(shù)據(jù)目標(biāo),可以提供用于跟蹤下載進(jìn)程的進(jìn)展數(shù)據(jù),以及可以發(fā)送有差錯(cuò)的數(shù)據(jù)目標(biāo)的差錯(cuò)信息。電子郵件改變?cè)陔娮余]件服務(wù)器部件處可得以最優(yōu)化,即使在另一個(gè)電子郵件服務(wù)器部件處發(fā)生電子郵件改變。電子郵件服務(wù)器可以把發(fā)生于文件夾中的改變表格保存在相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)器中,以及可以把發(fā)生在表格中的改變通知簽約的電子郵件用戶部件。
文檔編號(hào)H04L12/58GK1518304SQ20031012455
公開日2004年8月4日 申請(qǐng)日期2003年12月31日 優(yōu)先權(quán)日2003年1月3日
發(fā)明者J·R·沃仁, M·鐘, K·弗羅伊利奇, N·A·包尼拉, R·R·諾維特斯基, A·頓, R·E·格雷, A·哈特維爾, S·F·格得達(dá)得, B·包威爾, J R 沃仁, 包尼拉, 匚 , 摶晾 , 格得達(dá)得, 格雷, 諾維特斯基 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1