国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于本地存儲和遠程存儲的電子消息的混合呈現(xiàn)的系統(tǒng)和方法

      文檔序號:6532710閱讀:241來源:國知局
      用于本地存儲和遠程存儲的電子消息的混合呈現(xiàn)的系統(tǒng)和方法
      【專利摘要】一種電子消息收發(fā)客戶端將遠程存儲中可用的電子消息的子集的副本高速緩存在用戶設(shè)備的本地存儲中。當用戶設(shè)備處于在線狀態(tài)時,該客戶端提供電子消息的混合呈現(xiàn),以使得用戶能夠并發(fā)地查看關(guān)于已經(jīng)被高速緩存在本地存儲中的電子消息的信息以及關(guān)于僅存儲在遠程存儲中的電子消息的信息。該客戶端還向用戶設(shè)備的用戶呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài),并且使得用戶能夠?qū)Υ鎯υ诒镜卮鎯χ械谋桓咚倬彺娴碾娮酉⒁约按鎯υ谶h程存儲中的電子消息執(zhí)行搜索。
      【專利說明】用于本地存儲和遠程存儲的電子消息的混合呈現(xiàn)的系統(tǒng)和方法
      [0001]背景
      [0002]許多現(xiàn)代電子郵件客戶機提供本地高速緩存以供對電子郵件消息和其它數(shù)據(jù)的快速且離線的訪問。這樣的本地高速緩存可包括還存儲在電子郵件服務(wù)器上的用戶郵箱的完整副本。在過去的十年中,有限存儲限額呈指數(shù)級增長,并且現(xiàn)在許多是千兆字節(jié)大小。對于大部分用戶而言,提供對極端陳舊數(shù)據(jù)的離線訪問有很少或幾乎沒有用途的。此外,由于郵箱已經(jīng)變得如此地大,從電子郵件服務(wù)器下載郵箱數(shù)據(jù)已經(jīng)變得越來越不便使用,并且在不嚴重影響性能的情況下本地地對這些數(shù)據(jù)進行操作也已經(jīng)變得越來越困難。同樣,如果電子郵件客戶端安裝在其上的設(shè)備具有有限的存儲覆蓋區(qū)(如在許多現(xiàn)代移動設(shè)備中的情形那樣),則本地高速緩存可能消耗掉無法接受數(shù)量的可用存儲空間。
      [0003]一些移動電子郵件客戶端試圖通過僅下載和本地存儲電子郵件服務(wù)器上可用的用戶電子郵件的子集來解決上述問題。這樣的子集可按照滾動時間窗口來定義。例如,在任何給定時間可在本地高速緩存中維持僅在過去七天內(nèi)接收到的電子郵件。在某些實現(xiàn)中,時間窗口的大小可被固定,而在其它實現(xiàn)中,時間窗口的大小可由用戶配置。
      [0004]盡管這樣的移動電子郵件客戶端能夠通過僅下載最近接收的電子郵件來限制對本地高速緩存的存儲要求,但這些電子郵件客戶端未向用戶提供關(guān)于僅駐留在電子郵件服務(wù)器上的較早電子郵件消息的狀態(tài)的啟示或任何信息。通常,這樣的較早的電子郵件消息僅可通過展寬時間窗口(在支持可配置時間窗口的那些實現(xiàn)中)、通過對照這些較早電子郵件運行搜索、或者通過增量式地下載更多項來訪問。在每一種情形中,較早電子郵件的副本必須被存儲在本地高速緩存中,從而消耗了用戶移動設(shè)備上的附加存儲空間。

      【專利附圖】

      【附圖說明】
      [0005]合并在此并作為說明書一部分的附圖與說明書一起示出了本發(fā)明的實施例,且進一步用于解釋本發(fā)明的原理的作用,并且使相關(guān)領(lǐng)域的技術(shù)人員能夠?qū)崿F(xiàn)并使用本發(fā)明。
      [0006]圖1是提供了根據(jù)一實施例的本地存儲和遠程存儲的電子消息的混合呈現(xiàn)的示例系統(tǒng)的框圖。
      [0007]圖2是描繪了根據(jù)一實施例的可用于以混合方式呈現(xiàn)本地存儲和遠程存儲的電子消息的顯示區(qū)域的框圖。
      [0008]圖3描繪了根據(jù)一實施例的用于提供本地存儲和遠程存儲的電子消息的混合呈現(xiàn)的方法的流程圖。
      [0009]圖4描繪了根據(jù)一實施例的用于呈現(xiàn)與本地存儲和遠程存儲的電子消息的容器相關(guān)聯(lián)的混合狀態(tài)的方法的流程圖。
      [0010]圖5描繪了根據(jù)一實施例的用于呈現(xiàn)與本地存儲和遠程存儲的電子消息的容器相關(guān)聯(lián)的混合狀態(tài)的進一步方法的流程圖。
      [0011]圖6描繪了根據(jù)一實施例的用于執(zhí)行對本地存儲和遠程存儲的電子消息的混合搜索的方法的流程圖。
      [0012]圖7描繪了根據(jù)一實施例的用于執(zhí)行對本地存儲和遠程存儲的電子消息的混合搜索的進一步方法的流程圖。
      [0013]圖8是可用于實現(xiàn)各實施例的基于處理器的示例系統(tǒng)的框圖。
      [0014]當結(jié)合其中相同的附圖標記標識對應(yīng)的元素的附圖時,本發(fā)明的特征和優(yōu)點將從以下闡述的詳細描述中變得更加顯而易見。在附圖中,相同的參考標號一般指相同的、功能上相似的和/或結(jié)構(gòu)上相似的元素。其中元素第一次出現(xiàn)的附圖由對應(yīng)的參考標號中最左側(cè)的數(shù)字指示。

      【具體實施方式】
      [0015]1.引言
      [0016]以下詳細描述參考示出本發(fā)明的示例性實施例的附圖。但是,本發(fā)明的范圍不限于這些實施例,而是由所附權(quán)利要求書定義。因此,諸如所示實施例的修改版本之類的在附圖所示之外的實施例仍然由本發(fā)明所包含。
      [0017]本說明書中對“一個實施例”、“實施例”、“示例實施例”等的引用指的是所述實施例可包括特定的特征、結(jié)構(gòu)或特點,但是每一實施例不一定包括該特定的特征、結(jié)構(gòu)或特點。此外,這些短語不一定指相同的實施例。此外,當結(jié)合實施例描述具體特征、結(jié)構(gòu)或特性時,應(yīng)當理解在相關(guān)領(lǐng)域的技術(shù)人員的知識范圍內(nèi)能夠結(jié)合其他實施例來實現(xiàn)具體特征、結(jié)構(gòu)或特性,無論是否被顯式地描述。
      [0018]本文描述的各實施例將遠程存儲中可用的電子消息的子集的副本下載到用戶設(shè)備的本地存儲。這使得用戶設(shè)備的用戶能夠在甚至用戶設(shè)備處于離線狀態(tài)時訪問他或她的電子消息的子集。當用戶設(shè)備處于在線狀態(tài)時,本文描述的各實施例提供電子消息的混合呈現(xiàn),以使得用戶能夠并發(fā)地查看關(guān)于已被高速緩存在本地存儲中的電子消息的信息以及僅存儲在遠程存儲中的電子消息的信息??梢砸詿o縫的方式將關(guān)于這些電子消息的信息呈現(xiàn)給用戶,以使得給予用戶這樣一種印象,所有的電子消息都是單個統(tǒng)一儲存庫的一部分,盡管關(guān)于這些電子消息的信息和這些電子消息的內(nèi)容可能是從不同存儲獲得的。此外,當用戶設(shè)備處于在線狀態(tài)時,用戶能夠查看關(guān)于遠程存儲的電子消息的信息和/或遠程存儲的電子消息的內(nèi)容,而無需將這些遠程存儲的電子消息復(fù)制到本地存儲。
      [0019]由于本文描述的各實施例僅下載和本地存儲遠程存儲中可用的用戶電子消息的子集,因此這些實施例降低了下載電子消息所需的網(wǎng)絡(luò)帶寬量、將本地存儲的電子消息與遠程存儲同步所要求的處理功率量、以及本地存儲所消耗的存儲空間量。
      [0020]此外,本文描述的各實施例表示對于僅下載和本地存儲用戶遠程存儲的電子消息的子集的常規(guī)電子消息收發(fā)客戶端的一種改進,由于如上文在【背景技術(shù)】部分所討論的,這樣的常規(guī)電子消息收發(fā)客戶端未向用戶提供關(guān)于僅駐留在遠程存儲中的電子消息的信息或者提供對僅駐留在遠程存儲中的電子消息的訪問。相反,為了獲得對僅駐留在遠程存儲中的電子消息的訪問,這樣的常規(guī)電子消息收發(fā)客戶端可要求用戶展寬用于確定哪些電子消息被本地高速緩存的時間窗口、對照這樣的較早電子郵件運行搜索、或者增量式地下載更多電子消息。在每一情形中,遠程存儲的電子消息僅可通過將其復(fù)制到本地存儲才能夠在用戶設(shè)備上被查看,從而消耗了存儲空間。相反地,如以上所提及的,本文描述的各實施例允許用戶查看關(guān)于遠程存儲的電子消息的信息和/或遠程存儲的電子消息的內(nèi)容,而無需將這些遠程存儲的電子消息下載到本地存儲。
      [0021]在其中存儲在容器中的一些電子消息被高速緩存在用戶設(shè)備的本地存儲中而存儲在容器中的一些電子消息僅在遠程存儲中可用的場景中,本文描述的各實施例還能夠向用戶設(shè)備的用戶呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài)。該混合狀態(tài)可包括例如描述容器中具有特定狀態(tài)(例如,已包括或未包括在容器中、已讀或未讀、標記或未標記等等)的電子消息的數(shù)目的項計數(shù)。
      [0022]一般而言,在其中混合狀態(tài)包括容器的項計數(shù)的實施例中,該項計數(shù)可通過對本地項計數(shù)和差量求和來確定。本地項計數(shù)表示存儲在用戶設(shè)備的本地存儲中被包括在容器中并且具有特定狀態(tài)的電子消息的數(shù)目。差量表示遠程項計數(shù)和本地項計數(shù)之間的最近已知差,其中遠程項計數(shù)表示存儲在遠程存儲中被包括在容器中并且具有特定狀態(tài)的電子消息的數(shù)目。通過以此方式確定容器的項計數(shù),本文描述的各實施例能夠向用戶呈現(xiàn)整個容器的更新項計數(shù),即便用戶在用戶設(shè)備處于離線狀態(tài)時采取了僅改變本地項計數(shù)的某一動作。此外,通過以此方式確定容器的項計數(shù),本文描述的各實施例能夠向用戶呈現(xiàn)同步過程期間整個容器的更新項計數(shù),其中這樣的更新項計數(shù)反映了因這些同步過程導(dǎo)致的對本地項計數(shù)的改變。
      [0023]另外,本文描述的各實施例還能夠使得用戶設(shè)備的用戶能夠?qū)Υ鎯υ谟脩粼O(shè)備的本地存儲中的高速緩存電子消息以及對存儲在遠程存儲中的電子消息執(zhí)行搜索,其中當用戶設(shè)備被確定連接到電子消息收發(fā)服務(wù)器時電子消息收發(fā)服務(wù)器可訪問該遠程存儲??梢栽谙嗤腉UI中呈現(xiàn)對照本地和遠程存儲的搜索所獲得的搜索結(jié)果。當用戶請求查看搜索結(jié)果中標識的并且在本地存儲中高速緩存的電子消息的內(nèi)容時,從本地存儲獲得電子消息的內(nèi)容。當用戶請求查看搜索結(jié)果中標識的并且僅在遠程存儲中可用的電子消息的內(nèi)容時,將從遠程存儲獲得未高速緩存在本地存儲中的電子消息的內(nèi)容。
      [0024]I1.用于電子消息的混合呈現(xiàn)的示例系統(tǒng)
      [0025]圖1是提供了根據(jù)一實施例的本地存儲和遠程存儲的電子消息的混合呈現(xiàn)的示例系統(tǒng)100的框圖。如此處所使用的,術(shù)語“電子消息”旨在廣泛地表示可用電子形式(即作為信號)傳送的任何類型的消息或信息項。電子消息的示例包括但不限于電子郵件消息、文本消息、微博發(fā)布、日歷條目、任務(wù)、筆記、聯(lián)系人等。
      [0026]如圖1所示,系統(tǒng)100包括至少一個電子消息收發(fā)服務(wù)器102和能夠經(jīng)由網(wǎng)絡(luò)104與其通信連接的至少一個用戶設(shè)備106。
      [0027]電子消息收發(fā)服務(wù)器102旨在表示被配置成從各個其它實體(包括其它電子消息收發(fā)服務(wù)器)接收電子通信以及向其發(fā)送電子通信的基于處理器的電子設(shè)備。電子消息收發(fā)服務(wù)器102被進一步配置成與安裝在用戶設(shè)備(諸如用戶設(shè)備106)上的電子消息收發(fā)客戶端交互以使得其用戶能夠訪問已被電子消息收發(fā)服務(wù)器102接收的電子消息以及經(jīng)由電子消息收發(fā)服務(wù)器102將電子消息發(fā)送給其它用戶設(shè)備。由電子消息收發(fā)服務(wù)器接收和發(fā)送的電子消息的副本可被存儲在遠程存儲132中。遠程存儲132旨在廣泛地表示適合于存儲電子消息的副本的任何存儲設(shè)備或系統(tǒng)。
      [0028]在一個實施例中,電子消息收發(fā)服務(wù)器102為多個用戶中的每一個用戶管理電子通信的單獨儲存庫,其中每一個這樣的儲存庫可被存儲在遠程存儲132中。多個用戶中的每一個用戶可通過使用合適的電子消息收發(fā)客戶端與電子消息收發(fā)服務(wù)器102交互來訪問他或她的儲存庫的至少一部分。在其中電子通信包括電子郵件的實施例中,這樣的儲存庫可包括用戶電子郵件郵箱。如本領(lǐng)域公知的,用戶電子郵件郵箱可進一步包括任何數(shù)目的子郵箱。
      [0029]網(wǎng)絡(luò)104旨在表示適合于促進電子設(shè)備(諸如電子消息收發(fā)服務(wù)器102和用戶設(shè)備106)之間的通信的任何類型的網(wǎng)絡(luò)或網(wǎng)絡(luò)的組合。網(wǎng)絡(luò)104可包括例如但不限于廣域網(wǎng)、局域網(wǎng)、專用網(wǎng)絡(luò)、公共網(wǎng)絡(luò)、分組網(wǎng)絡(luò)、電路交換網(wǎng)絡(luò)、有線網(wǎng)絡(luò)和/或無線網(wǎng)絡(luò)。
      [0030]用戶設(shè)備106旨在表示能夠執(zhí)行安裝在其上的一個或多個軟件組件的基于處理器的電子設(shè)備。僅作為示例而非限制,用戶設(shè)備106可包括個人計算機、膝上型計算機、平板計算機、智能電話、智能電視、游戲控制臺、個人媒體播放器、個人數(shù)字助理、嵌入式設(shè)備坐坐寸寸ο
      [0031]如圖1中進一步所示,用戶設(shè)備106包括安裝在其上的電子消息收發(fā)客戶端110。電子消息收發(fā)客戶端110包括軟件,該軟件在由用戶設(shè)備106執(zhí)行時與電子消息收發(fā)服務(wù)器102交互以使得用戶能夠草擬、發(fā)送、接收、審閱、組織以及以其它方式管理電子消息。在其中電子消息包括電子郵件消息的實施例中,電子消息收發(fā)客戶端110可包括電子郵件客戶端,諸如由美國華盛頓州雷蒙德市的微軟公司發(fā)布的MICROSOFT? OUTLOOK?的版本。然而,該示例并非旨在進行限制。
      [0032]用戶設(shè)備106還包括顯示器112,所安裝的軟件組件可在其上渲染供用戶設(shè)備的用戶查看的圖形內(nèi)容。例如,電子消息收發(fā)客戶端110被配置成致使圖形用戶界面(⑶I) 132被渲染到顯示器112。⑶1132包括用戶可藉由其來調(diào)用電子消息收發(fā)客戶端110的各種功能和特征的裝置。
      [0033]用戶設(shè)備106進一步包括本地存儲114,其在本文中也可被稱為本地高速緩存。本地存儲114旨在廣泛地表示適合于在用戶設(shè)備106上存儲電子消息的任何類型的存儲設(shè)備或系統(tǒng)。電子消息收發(fā)客戶端110被配置成經(jīng)由網(wǎng)絡(luò)104周期性地與電子消息收發(fā)服務(wù)器102交互以獲得對遠程存儲132中的電子消息收發(fā)客戶端110可用的電子消息的副本并且將這些副本存儲在本地存儲114中。例如,在其中電子消息收發(fā)包括電子郵件的實施例中,電子消息收發(fā)客戶端100可經(jīng)由網(wǎng)絡(luò)104周期性地與電子消息收發(fā)服務(wù)器102交互以獲得來自存儲在遠程存儲132中的用戶郵箱的電子郵件的副本并且將這些復(fù)制的電子郵件存儲在本地存儲114中。一旦電子消息的副本已被存儲在本地存儲114中,電子消息收發(fā)客戶端110就可使得電子消息以及關(guān)于電子消息的信息可供用戶設(shè)備106的用戶訪問,即便在用戶設(shè)備106不能連接到電子消息收發(fā)服務(wù)器102時也是如此。
      [0034]在一實施例中,電子消息收發(fā)客戶端110和/或電子消息收發(fā)服務(wù)器102被配置成使得僅電子消息中對遠程存儲132中的電子消息收發(fā)客戶端110可用的子集能夠被下載以供存儲在本地存儲114中。例如,在其中電子消息收發(fā)服務(wù)器104包括電子郵件服務(wù)器的實施例中,遠程存儲132可以存儲用戶電子郵件郵箱的完整副本,并且電子消息收發(fā)客戶端110可用于周期性地下載和本地存儲僅該郵箱中的電子郵件消息的子集的副本。
      [0035]可以使用各種各樣的方法來確定哪一電子消息子集被下載和存儲在本地存儲114中。在一個實施例中,利用滾動時間窗口(在本文中也被稱為“同步窗口”)。根據(jù)這樣的一種方法,僅已經(jīng)在滾動時間窗口內(nèi)被接收的電子消息被下載和存儲在本地存儲114中。時間窗口被認為是“滾動的”,因為它在時間上是向前變動的(例如,最近7天、最近3個月等)。隨著時間窗口變動,不再出現(xiàn)在時間窗口內(nèi)的電子消息“老化”并且從本地存儲114中移除??梢允褂酶鞣N時間分辨率來確定何時要變動時間窗口。例如,在一個實施例中,時間分辨率是I天。
      [0036]取決于實現(xiàn),滾動時間窗口的長度可以由用戶配置或者不可以由用戶配置。例如,在一個實施例中,用戶可以與電子消息收發(fā)客戶端110交互以選擇多個預(yù)定義滾動時間窗口之一,每一個時間窗口具有不同的長度。在一具體實現(xiàn)中,用戶可以在I個月、3個月、6個月和12個月的時間窗口之間進行選擇。在某些實現(xiàn)中,用戶可以選擇不使用時間窗口,在該情形中,存儲在遠程存儲132中的所有電子消息的副本將被下載和存儲在本地存儲114中。然而,這種操作模式與本文描述的處理電子消息的混合呈現(xiàn)的各實施例并非一定密切相關(guān)。
      [0037]注意到,上文提供的對滾動時間窗口的描述僅表示可以藉由其來選擇遠程存儲132中的電子消息的子集以供下載和存儲在本地存儲114中的一種方式??梢允褂闷渌椒?。此外,所使用的方法可取決于電子消息的類型(例如,如果電子消息表示日歷數(shù)據(jù),可以不使用滾動時間窗口)而改變。
      [0038]由于如以上所討論的,電子消息收發(fā)客戶端110將遠程存儲132中可用的用戶電子消息的至少一些電子消息下載和存儲在本地存儲114中,因此電子消息收發(fā)客戶端110可使得用戶能夠獲得關(guān)于存儲在本地存儲114中的任何電子消息的信息并且審閱該電子消息的內(nèi)容,即便在用戶設(shè)備106不能連接到電子消息收發(fā)服務(wù)器102時也是如此。此外,由于電子消息收發(fā)客戶端110可以僅將遠程存儲132中可用的用戶電子消息的子集下載和存儲在本地存儲114中,因此電子消息收發(fā)客戶端110可以減少網(wǎng)絡(luò)104上用于下載電子消息所需的帶寬量、將本地存儲的電子消息與遠程存儲132同步所要求的用戶設(shè)備106的處理功率量、以及與其中將遠程存儲132中可用的所有用戶電子消息復(fù)制到本地存儲114中的實現(xiàn)相比本地存儲114消耗的存儲空間量。
      [0039]同樣如圖1所示,電子消息收發(fā)客戶端110包括混合呈現(xiàn)邏輯122、混合狀態(tài)邏輯124以及混合搜索邏輯126。在一實施例中,這些組件中的每一組件包括由電子消息收發(fā)客戶端110調(diào)用或者形成電子消息收發(fā)客戶端110的一部分的軟件模塊。
      [0040]混合呈現(xiàn)邏輯122用于確定用戶設(shè)備106何時連接到電子消息收發(fā)服務(wù)器102。響應(yīng)于確定用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102,混合呈現(xiàn)邏輯122用于經(jīng)由GUI132提供電子消息的混合呈現(xiàn),以使得用戶能夠并發(fā)地查看關(guān)于已經(jīng)被高速緩存在本地存儲114中的電子消息的信息以及關(guān)于僅存儲在遠程存儲132中的電子消息的信息??梢砸詿o縫的方式將關(guān)于這些電子消息的信息呈現(xiàn)給用戶,以使得給予用戶這樣一種印象,所有的電子消息都是單個統(tǒng)一儲存庫的一部分,盡管關(guān)于這些電子消息的信息和這些電子消息的內(nèi)容可能是從不同存儲獲得的。此外,混合呈現(xiàn)邏輯122用于使得當用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102時,用戶能夠查看關(guān)于存儲在遠程存儲132中的電子消息的信息和/或查看存儲在遠程存儲132中的電子消息的內(nèi)容,而無需將這些遠程存儲的電子消息復(fù)制到本地存儲114。關(guān)于混合呈現(xiàn)邏輯122的操作方式的進一步細節(jié)將在下文中的章節(jié)I1.A中提供。
      [0041]混合狀態(tài)邏輯124用于在其中存儲在容器中的一些電子消息被高速緩存在本地存儲114中而存儲在容器中的一些電子消息僅在遠程存儲132中可用的場景中向用戶設(shè)備106的用戶呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài)。該混合狀態(tài)可包括例如描述容器中具有特定狀態(tài)(例如,已包括或未包括在容器中、已讀或未讀、標記或未標記等等)的電子消息的數(shù)目的項計數(shù)。
      [0042]一般而言,在其中混合狀態(tài)包括容器的項計數(shù)的實施例中,混合狀態(tài)邏輯124可通過對本地項計數(shù)和差量求和來確定該項計數(shù)。本地項計數(shù)表示存儲在本地存儲114中被包括在容器中并且具有特定狀態(tài)的電子消息的數(shù)目。差量表示遠程項計數(shù)和本地項計數(shù)之間的最近已知差,其中遠程項計數(shù)表示存儲在遠程存儲132中被包括在容器中并且具有特定狀態(tài)的電子消息的數(shù)目。通過以此方式確定容器的項計數(shù),混合狀態(tài)邏輯124能夠向用戶呈現(xiàn)整個容器的更新項計數(shù),即便用戶在用戶設(shè)備106處于離線狀態(tài)時采取了僅改變本地項計數(shù)的某一動作之時也是如此。此外,通過以此方式確定容器的項計數(shù),混合狀態(tài)邏輯124能夠向用戶呈現(xiàn)同步過程期間整個容器的更新項計數(shù),其中這樣的更新項計數(shù)反映了因這些同步過程導(dǎo)致的對本地項計數(shù)的改變。關(guān)于混合狀態(tài)邏輯124的操作方式的進一步細節(jié)將在下文中的章節(jié)I1.B中提供。
      [0043]混合搜索邏輯126用于在用戶設(shè)備106被確定連接到電子消息收發(fā)服務(wù)器102時使得用戶設(shè)備106的用戶能夠?qū)Υ鎯υ诒镜卮鎯?14中的被高速緩存的電子消息以及存儲在遠程存儲132中的電子消息執(zhí)行搜索。從對照本地存儲114和遠程存儲132的搜索獲得的搜索結(jié)果兩者可在GUI132中呈現(xiàn)。當用戶請求查看搜索結(jié)果中標識的并且高速緩存在本地存儲中的電子消息的內(nèi)容時,混合搜索邏輯126將從本地存儲114獲得電子消息的內(nèi)容。當用戶請求查看搜索結(jié)果中標識的并且僅在遠程存儲132中可用的電子消息的內(nèi)容時,混合搜索邏輯126將經(jīng)由與電子消息收發(fā)服務(wù)器102的交互從遠程存儲132獲得電子消息的內(nèi)容,而不將該內(nèi)容高速緩存在本地存儲114中。關(guān)于混合搜索邏輯126的操作方式的進一步細節(jié)將在下文中的章節(jié)I1.C中提供。
      [0044]A.示例混合呈現(xiàn)技術(shù)
      [0045]圖2是旨在演示在用戶設(shè)備106被確定連接到電子消息收發(fā)服務(wù)器102時混合呈現(xiàn)邏輯122用于經(jīng)由⑶1312提供電子消息的混合呈現(xiàn)的方式的框圖200。
      [0046]在圖2中,概括地表示⑶1132中由混合呈現(xiàn)邏輯122管理的顯示區(qū)域202。顯示區(qū)域202可包括例如GUI132內(nèi)在其中呈現(xiàn)關(guān)于用戶電子消息的信息的窗口或查看窗格。這樣的信息可廣泛地包括關(guān)于電子消息的任何信息項。例如,在其中電子消息包括電子郵件消息的實施例中,這樣的信息可包括但不限于,電子郵件消息的發(fā)送方、電子郵件消息的主題、電子郵件消息被發(fā)送的日期和/或時間、電子郵件消息被接收的日期和/或時間、關(guān)于電子郵件消息的狀態(tài)信息(例如,已讀、未讀、被標記、未被標記)等等。
      [0047]可以取決于實現(xiàn)按照各種各樣的方式來組織顯示區(qū)域202內(nèi)顯示的關(guān)于電子消息的信息。例如,可以將這樣的信息以表或列表的形式呈現(xiàn),其中關(guān)于每一電子消息的信息被顯示在表的對應(yīng)行中或者作為列表中的對應(yīng)項來顯示。根據(jù)另一實現(xiàn),關(guān)于電子消息的信息可與表示對應(yīng)電子消息的圖標相關(guān)聯(lián)地呈現(xiàn)。還可使用其它呈現(xiàn)方式。
      [0048]可以對關(guān)于電子消息的信息進行排序,或者根據(jù)一個或多個系統(tǒng)定義和/或用戶定義的準則來以其它方式進行組織。例如,關(guān)于電子消息的信息可基于電子消息接收的日期和時間來排序。在其中電子消息被呈現(xiàn)為列表的實施例中,對這樣的排序準則的使用可導(dǎo)致關(guān)于最近接收的電子消息的信息出現(xiàn)在列表的開頭,而關(guān)于最舊接收的電子消息的信息出現(xiàn)在列表的末尾。然而,這僅僅是一個示例,并且可以使用各種各樣的準則來排序或以其它方式組織關(guān)于電子消息的信息。
      [0049]在其中電子消息包括存儲在可包括子郵箱和/或子文件夾的電子郵件郵箱中的電子郵件消息的實施例中,在顯示窗口 202中顯示關(guān)于其的信息的電子郵件消息可包括存儲在特定郵箱、子郵箱或子文件夾中的電子郵件消息。
      [0050]如圖2進一步示出的,顯示區(qū)域202的第一部分204用于呈現(xiàn)關(guān)于落入同步窗口內(nèi)的電子消息的信息。如以上所討論的,這樣的同步窗口可被用來確定要將哪些電子消息從遠程存儲132復(fù)制到本地存儲114。在一實施例中,由于在顯示區(qū)域202的第一部分204中顯示關(guān)于其的信息的電子消息被存儲在本地存儲114中,混合呈現(xiàn)邏輯122從本地存儲114而非從遠程存儲132獲得關(guān)于在顯示區(qū)域202的第一部分204內(nèi)顯示的電子消息信息。這樣的數(shù)據(jù)可被稱為“離線”可用,如圖2中所表示的。
      [0051]同樣如圖2所示出的,顯示區(qū)域202的第二部分206用于呈現(xiàn)關(guān)于落在同步窗口之外并且因而未存儲在本地存儲114中的電子消息的信息。在一實施例中,由于顯示區(qū)域202的第二部分206中顯示關(guān)于其的信息的電子消息未被存儲在本地存儲114中,混合呈現(xiàn)邏輯122在確定用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102時經(jīng)由與電子消息收發(fā)服務(wù)器102的交互從遠程存儲132獲得在顯示區(qū)域202的第二部分206內(nèi)顯示的電子消息信息。這樣的數(shù)據(jù)可被稱為非“離線”可用,如圖2中所表示的。
      [0052]通過在如圖2所示的相同顯示區(qū)域202中并發(fā)地呈現(xiàn)關(guān)于本地高速緩存在本地存儲114中的電子消息的信息以及關(guān)于遠程存儲在遠程存儲132中的電子消息的信息,混合呈現(xiàn)邏輯122可向用戶提供這樣一種印象,所有的電子消息均是單個統(tǒng)一儲存庫的一部分,即便混合呈現(xiàn)邏輯122可能從不同存儲獲得關(guān)于這些電子消息的信息以及這些電子消息的內(nèi)容也如此。換言之,混合呈現(xiàn)邏輯122可向用戶提供他們具有對存儲在遠程存儲132中的所有電子消息的訪問權(quán)的感覺,即便混合呈現(xiàn)邏輯122可從本地存儲114獲得一些電子消息以及關(guān)于那些電子消息的信息也如此。
      [0053]為了達成這一混合效果,混合呈現(xiàn)邏輯122可以按照基本相同的形式和/或方式來呈現(xiàn)關(guān)于本地存儲和遠程存儲的電子消息的信息,以使得用戶無法容易地確定哪些電子消息是本地存儲的而哪些電子消息是遠程存儲的。然而,在一替換實施例中,可以提供可用于將本地存儲的電子消息與遠程存儲的電子消息相區(qū)分的某種視覺指示。
      [0054]在某些實施例中,對于在顯示區(qū)域202中呈現(xiàn)關(guān)于其的信息的每一電子消息,還呈現(xiàn)了藉由其用戶可致使這些電子消息的內(nèi)容被顯示在GUI132中的一種裝置。例如,該裝置可包括與關(guān)于每一電子消息的信息相關(guān)聯(lián)地呈現(xiàn)的組件,該組件在與用戶交互時致使該電子消息的內(nèi)容被顯不在GUI132內(nèi)。例如,在其中關(guān)于每一電子消息的信息被顯不為列表中的項的實施例中,用戶能夠通過點擊列表中的對應(yīng)項來查看電子消息的內(nèi)容。還可利用其它用戶界面組件來促進對在顯示區(qū)域202中呈現(xiàn)關(guān)于其的信息的電子消息的內(nèi)容的選擇性查看。
      [0055]進一步根據(jù)圖2所示的示例實施例,一旦用戶選擇了供查看的電子消息,混合呈現(xiàn)邏輯122就將獲得電子消息的內(nèi)容并將這些內(nèi)容顯示在GUI132內(nèi)。如果所選電子消息的副本被存儲在本地存儲114中,則混合呈現(xiàn)邏輯122將從本地存儲114獲得電子消息的內(nèi)容。然而,如果所選電子消息的副本未存儲在本地存儲114(即,所選電子消息在同步窗口外部),則混合呈現(xiàn)邏輯122將經(jīng)由與電子消息收發(fā)服務(wù)器102的交互從遠程存儲132獲得電子消息的內(nèi)容。在此后一情形中,混合呈現(xiàn)邏輯122將不會作為呈現(xiàn)過程的一部分將遠程存儲的電子消息的副本存儲在本地存儲114中。也就是說,盡管遠程存儲的電子消息的內(nèi)容可能被臨時緩存在用戶設(shè)備106的存儲器內(nèi)以促進對其的顯示,但一旦用戶關(guān)閉了GUI132中用于查看遠程存儲的電子消息的內(nèi)容的部分,這些緩存的數(shù)據(jù)就可被丟棄。當然,在某些情景(例如,出于性能的原因)中,混合呈現(xiàn)邏輯122可致使遠程存儲的電子消息的副本被存儲在本地存儲114內(nèi)也是可能的。
      [0056]在一個實施例中,混合呈現(xiàn)邏輯122初始地可僅在顯示區(qū)域202內(nèi)呈現(xiàn)關(guān)于落入同步窗口的電子消息的信息,即便其已經(jīng)確定用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102也如此。進一步根據(jù)這樣的實施例,混合呈現(xiàn)邏輯122可提供⑶1132內(nèi)的一組件,用戶可與該組件交互以致使關(guān)于落在同步窗口外部的電子消息的信息也以如上所述的混合方式顯示在顯示區(qū)域202內(nèi)。這樣的交互式組件可包括或者伴隨有對其功能的視覺指示。例如,這樣的交互式組件可包括或伴隨有陳述“服務(wù)器上有更多消息,請點擊此處查看”、“點擊此處以查看更多消息”或類似內(nèi)容的文本。然而,這些僅僅是示例并且不以任何方式進行限制。
      [0057]注意到,對顯示區(qū)域202的描繪僅通過解說來提供。顯示區(qū)域202取決于實現(xiàn)可以是任何大小或形狀。此外,整個顯示區(qū)域202可能無法在⑶1132和/或顯示器112內(nèi)一次查看,并且可以使用滾動或本領(lǐng)域公知的其它類似機制來查看顯示區(qū)域202的所選部分。
      [0058]此外,盡管圖2可表現(xiàn)為建議將關(guān)于包括在同步窗口內(nèi)的電子消息的信息呈現(xiàn)為與關(guān)于不在同步窗口內(nèi)的電子消息的信息分開的連續(xù)單元,這些信息貫穿顯示區(qū)域202被混合也是完全可能的。例如,在其中信息被呈現(xiàn)為列表的一實施例中,列表中呈現(xiàn)關(guān)于其的信息的第一電子消息可以在同步窗口外部,列表中呈現(xiàn)關(guān)于其的信息的第二電子消息可以在同步窗口內(nèi)部,而列表中呈現(xiàn)關(guān)于其的信息的第三電子消息可以在同步窗口外部。換言之,顯示區(qū)域202的部分204和206可被混合或混雜的。這可能例如由于排列這些信息的方式或者出于其它原因而發(fā)生。
      [0059]圖3描繪了根據(jù)一實施例的用于提供本地存儲和遠程存儲的電子消息的混合呈現(xiàn)的方法的流程圖300。流程圖300的方法可例如由上文參考圖1的系統(tǒng)100所描述的混合呈現(xiàn)邏輯122來執(zhí)行。然而,該方法不限于該實施例,并且可以完全由其它組件或系統(tǒng)來實現(xiàn)。
      [0060]如圖3所示,流程圖300的方法開始于步驟302,其中在渲染到用戶設(shè)備的顯示器的GUI中顯示關(guān)于一個或多個第一電子消息的信息,其中該一個或多個第一電子消息的內(nèi)容被存儲在用戶設(shè)備的本地存儲中。例如,這一步驟可能需要向渲染到用戶設(shè)備106的顯示器112的GUI132顯示關(guān)于在同步窗口內(nèi)的電子消息的信息,其中這些電子消息被存儲在用戶設(shè)備106的本地存儲114中。
      [0061]在步驟304,作出關(guān)于用戶設(shè)備是否連接到電子消息收發(fā)服務(wù)器的判斷。例如,這一步驟可能需要確定用戶設(shè)備106是否連接到電子消息收發(fā)服務(wù)器106??梢允褂酶鞣N各樣的方法來確定這樣的連接是否存在,包括但不限于,要求用戶設(shè)備106與電子消息收發(fā)服務(wù)器102之間的消息交換,或者簡單地確定用戶設(shè)備106具有到網(wǎng)絡(luò)104的工作連接。
      [0062]在步驟306,響應(yīng)于至少確定用戶設(shè)備連接到電子消息收發(fā)服務(wù)器,關(guān)于一個或多個第二電子消息的信息與關(guān)于一個或多個第一電子消息的信息并發(fā)地顯示在GUI中,其中一個或多個第二電子消息的內(nèi)容被存儲在電子消息收發(fā)服務(wù)器能夠訪問的遠程存儲中而非本地存儲中。例如,這一步驟可能需要響應(yīng)于至少確定用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102,向渲染到用戶設(shè)備106的顯示器112的⑶1132顯示關(guān)于未存儲在同步窗口內(nèi)的電子消息的信息,其中這些電子消息被存儲在電子消息收發(fā)服務(wù)器102能訪問的遠程存儲132中而非本地存儲114中。
      [0063]在一個實施例中,流程圖300的方法可進一步包括在⑶I內(nèi)提供用戶界面組件,用戶可與該用戶界面組件交互以致使關(guān)于一個或多個第二電子消息的信息與關(guān)于一個或多個第一電子消息的信息并發(fā)地顯示在CTI中。進一步根據(jù)這樣的實施例,步驟306可響應(yīng)于至少確定用戶設(shè)備連接到電子消息收發(fā)服務(wù)器并且用戶已經(jīng)與用戶界面組件交互來執(zhí)行。如上參考圖2所討論的,這樣的用戶界面組件可包括或伴隨由對其功能的視覺指示。例如,這樣的交互式組件可包括或伴隨有陳述“服務(wù)器上有更多消息,請點擊此處查看”、“點擊此處以查看更多消息”或類似內(nèi)容的文本。
      [0064]在另一實施例中,流程圖300的方法還可包括在⑶I內(nèi)提供用戶界面組件,用戶可與該用戶界面組件交互以致使一個或多個第一電子消息中所選的一個第一電子消息的內(nèi)容顯示在⑶I中,并且隨后響應(yīng)于確定用戶已經(jīng)與用戶界面組件交互,從本地存儲獲得一個或多個第一電子消息中所選的一個第一電子消息的內(nèi)容以供顯示在GUI中。
      [0065]在另一實施例中,流程圖300的方法還可包括在⑶I內(nèi)提供用戶界面組件,用戶可與該用戶界面組件交互以致使一個或多個第二電子消息中所選的一個第二電子消息的內(nèi)容顯示在⑶I中,并且隨后響應(yīng)于確定用戶已經(jīng)與用戶界面組件交互,從遠程存儲獲得一個或多個第二電子消息中所選的一個第二電子消息的內(nèi)容以供顯示在GUI中,而無需將一個或多個第二電子消息中所選的一個第二電子消息的內(nèi)容的副本保存在本地存儲中。
      [0066]B.用于混合狀態(tài)信息的呈現(xiàn)的示例技術(shù)
      [0067]圖4描繪了藉由其混合狀態(tài)邏輯124可操作用于在其中存儲在容器中的一些電子消息被高速緩存在本地存儲114中而存儲在容器中的一些電子消息僅在遠程存儲132中可用的場景中向用戶設(shè)備106的用戶呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài)的過程的流程圖400。該容器可包括例如用于存儲用戶電子消息的全部或子集的文件夾。流程圖400的方法聚焦于其中在啟動電子消息收發(fā)客戶端110之后首先向用戶呈現(xiàn)混合狀態(tài)的方式。在流程圖400的方法中,混合狀態(tài)包括描述容器中具有特定狀態(tài)的電子消息數(shù)目的項計數(shù)。這樣的特定狀態(tài)可包括例如但不限于:被包括在容器中或未被包括在容器中、已讀或未讀、標記或未標記等等。
      [0068]僅出于解說的目的,流程圖400的方法現(xiàn)在將參考如上參考圖1描述的系統(tǒng)100的各組件來描述。然而,相關(guān)領(lǐng)域技術(shù)人員將領(lǐng)會該方法也可通過其它組件或系統(tǒng)來實現(xiàn)。
      [0069]如圖4所示,流程圖400的方法開始于步驟402,其中啟動電子消息收發(fā)客戶端110。取決于實現(xiàn),這一步驟可用各種各樣的方式進行。例如,這一步驟可在用戶設(shè)備106的用戶經(jīng)由與用戶設(shè)備106的操作系統(tǒng)或其某一其他組件的交互啟動電子消息收發(fā)客戶端110時進行。
      [0070]在步驟402之后,控制流去往步驟404,在步驟404期間混合狀態(tài)邏輯124加載與容器相關(guān)聯(lián)的一個或多個本地項計數(shù),其中這樣的本地項計數(shù)被存儲在用戶設(shè)備106的本地存儲(例如,本地存儲114)中。根據(jù)這一方法,本地項計數(shù)包括存儲在本地存儲114中的被包括在容器中且具有特定狀態(tài)的電子消息數(shù)目的表示。可針對不同類型的狀態(tài)來維護本地項計數(shù)。例如,對于給定容器,可被維護的本地項計數(shù)表示:容器中被存儲在本地存儲114中的電子消息的數(shù)目;容器中已讀或未讀且存儲在本地存儲114中的電子消息的數(shù)目,標記或未標記且存儲在本地存儲114中的電子消息的數(shù)目等等。
      [0071]在步驟404之后,控制流去往步驟406,在步驟406期間混合狀態(tài)邏輯126加載與容器相關(guān)聯(lián)的一個或多個差量,其中這樣的差量被存儲在用戶設(shè)備106的本地存儲(例如,本地存儲114)中。根據(jù)這一方法,差量表示容器的遠程項計數(shù)與本地項計數(shù)之間的最近已知差,其中遠程項計數(shù)表示存儲在遠程存儲132中的包括在容器中且具有特定狀態(tài)的電子消息的數(shù)目。
      [0072]在步驟406之后,控制流去往步驟408,在步驟408期間混合狀態(tài)邏輯124通過對在步驟404期間加載的每一本地項計數(shù)與在步驟406期間加載的對應(yīng)差量求和來計算容器的項計數(shù)。例如,這一步驟可能需要將本地項計數(shù)與差量相加,該本地項計數(shù)指定包括在容器中且存儲在本地存儲114中的項的總數(shù),該差量指定包括在容器中且存儲在遠程存儲132中的項的總數(shù)與本地項計數(shù)之間的最近已知差。作為另一示例,這一步驟可能需要將本地項計數(shù)與差量相加,該本地項計數(shù)指定包括在容器中且存儲在本地存儲114中的未讀項的總數(shù),該差量指定包括在容器中且存儲在遠程存儲132中的未讀項的總數(shù)與本地項計數(shù)之間的最近已知差。
      [0073]在步驟408期間,混合狀態(tài)邏輯124還將如此計算的項計數(shù)呈現(xiàn)給⑶1132以使得它們可被用戶設(shè)備106的用戶查看。這一步驟可包括在指示這些項計數(shù)與已針對其計算項計數(shù)的容器相對應(yīng)的位置或方式來顯示項計數(shù)(例如,在容器的圖標表示旁邊、在顯示關(guān)于容器中的電子消息的信息的導(dǎo)航面板的狀態(tài)欄中等等)。
      [0074]在步驟408之后,控制流去往判決步驟410,在判決步驟410期間混合狀態(tài)邏輯124確定用戶設(shè)備106是否連接到電子消息收發(fā)服務(wù)器102。可以使用各種各樣的方法來確定這樣的連接是否存在,包括但不限于,要求用戶設(shè)備106與電子消息收發(fā)服務(wù)器102之間的消息交換,或者簡單地確定用戶設(shè)備106具有到網(wǎng)絡(luò)104的工作連接。
      [0075]如圖4所示,如果在判決步驟406期間確定用戶設(shè)備106未連接到電子消息收發(fā)服務(wù)器102,則控制返回至步驟408,在步驟408期間混合狀態(tài)邏輯126繼續(xù)將容器的項計數(shù)示為容器的本地項計數(shù)以及在步驟406期間獲得的對應(yīng)差量的總和。注意到,盡管用戶設(shè)備106是離線的,但在步驟404期間加載的本地項計數(shù)可作為用戶設(shè)備106的用戶執(zhí)行多個動作中的任一個動作的結(jié)果來更新,如下文將參考圖5的流程圖500所討論的。從而,在用戶設(shè)備106離線時在步驟408期間顯示的容器的項計數(shù)將是容器的最當前本地項計數(shù)(如受到用戶離線活動的影響)加上在步驟406期間獲得的對應(yīng)差量的總和。注意到,在某些實施例中,當混合狀態(tài)邏輯124確定用戶設(shè)備106未連接到電子消息收發(fā)服務(wù)器102并且特定容器的差量大于零(指示存在遠程存儲132中可用的但未高速緩存在本地存儲114中的電子消息)時,隨后混合狀態(tài)邏輯124可致使呈現(xiàn)通知用戶遠程存儲132中有附加電子消息可用的指示符。例如,這樣的指示符可包括呈現(xiàn)到GUI132的文本,該文本陳述“存在更多的項,連接至服務(wù)器以查看”,但這僅僅是一個示例。進一步根據(jù)這樣的實施例,當特定容器的差量為零(指示遠程存儲132中可用的所有電子消息被高速緩存在本地存儲114中)時,可以不呈現(xiàn)這樣的指示。
      [0076]然而,如果在判決步驟410期間確定用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102,則控制流去往步驟412,在步驟412期間發(fā)起同步過程,該同步過程旨在將存儲在本地存儲114中的電子消息的狀態(tài)與存儲在遠程存儲132中的電子消息的狀態(tài)同步。執(zhí)行這樣的同步過程是因為存儲在本地存儲114和/或遠程存儲132中的電子消息的狀態(tài)在用戶設(shè)備106離線時或者在電子消息收發(fā)客戶端110未運行時可能改變(并且因此變得不同步)。例如,在用戶設(shè)備106離線時或者在電子消息收發(fā)客戶端110未運行時,用戶可能已經(jīng)改變了存儲在本地存儲114中的一個或多個電子消息的狀態(tài)。作為另一示例,在用戶設(shè)備106離線時或者在電子消息收發(fā)客戶端110未運行時,電子消息收發(fā)服務(wù)器102可能已經(jīng)改變了對電子消息收發(fā)客戶端110可用且存儲在遠程存儲132中的一個或多個電子消息的狀態(tài)。還可使用這樣的同步過程來從本地存儲114移除已穿行到同步窗口外部的電子消息。
      [0077]在正在執(zhí)行同步過程時,混合狀態(tài)邏輯124將繼續(xù)將容器的項計數(shù)顯示為容器的本地項計數(shù)與在步驟406期間獲得的對應(yīng)差量的總和。在正在執(zhí)行同步過程時,本地項計數(shù)由于這樣的同步過程(例如,由于將新的電子消息添加到本地存儲114)而改變也是可能的。從而,在同步正在進行時顯示的容器的項計數(shù)將是容器的最當前本地項計數(shù)(如受到同步過程的影響)加上在步驟406期間獲得的對應(yīng)差量的總和。
      [0078]如判決步驟414所示,一旦確定在步驟412期間發(fā)起的同步過程完成,控制流去往步驟416。在步驟416期間,混合狀態(tài)邏輯124獲得容器的新遠程項計數(shù)和新本地項計數(shù),因為這些項計數(shù)可能已作為同步過程的結(jié)果而改變。在步驟416期間,混合狀態(tài)邏輯124還通過確定每一新的遠程項計數(shù)和每一對應(yīng)新的本地項計數(shù)之差來計算容器的新差量。在這一步驟期間,混合狀態(tài)邏輯124還將新計算的差量存儲在用戶設(shè)備106的本地存儲中,從而用新計算的差量來替換先前計算的差量。
      [0079]在步驟416之后,控制流去往步驟418,在步驟418期間混合狀態(tài)邏輯124通過對在步驟416期間獲得的每一本地項計數(shù)與在該步驟期間計算的對應(yīng)差量求和來計算容器的項計數(shù)。在步驟418期間,混合狀態(tài)邏輯124還將如此計算的項計數(shù)呈現(xiàn)給⑶1132以使得它們可被用戶設(shè)備106的用戶查看。
      [0080]圖5描繪了藉由其混合狀態(tài)邏輯124可操作用于在其中存儲在容器中的一些電子消息被高速緩存在本地存儲114中而存儲在容器中的一些電子消息僅在遠程存儲132中可用的場景中向用戶設(shè)備106的用戶呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài)的附加過程的流程圖500。流程圖500的方法聚焦于在用戶已經(jīng)經(jīng)由電子消息收發(fā)客戶端110執(zhí)行了改變電子消息的狀態(tài)的動作之后呈現(xiàn)混合狀態(tài)的方式。與流程圖400的情形中一樣,混合狀態(tài)包括描述容器中具有特定狀態(tài)的電子消息數(shù)目的項計數(shù)。
      [0081]僅出于解說的目的,流程圖500的方法現(xiàn)在將參考如上參考圖1描述的系統(tǒng)100的各組件來描述。然而,相關(guān)領(lǐng)域技術(shù)人員將領(lǐng)會該方法也可通過其它組件或系統(tǒng)來實現(xiàn)。
      [0082]如圖5所示,流程圖500的方法開始于步驟502,其中用戶利用電子消息收發(fā)客戶端110對位于容器中的一個或多個電子消息執(zhí)行動作,以使得容器中具有特定狀態(tài)的電子消息的總數(shù)改變。這樣的動作可包括例如,將電子消息添加到容器、從容器中刪除或以其它方式移除電子消息、讀取容器中未讀的電子消息、標記容器中未標記的電子消息等等。
      [0083]在判決步驟504,響應(yīng)于確定步驟502的動作已經(jīng)進行,混合狀態(tài)邏輯124確定已對其執(zhí)行了該動作的電子消息是否被存儲在本地存儲114中。如果對其執(zhí)行了該動作的電子消息被存儲在本地存儲114中,則混合狀態(tài)邏輯124將相應(yīng)地遞增或遞減容器的相關(guān)本地項計數(shù),如步驟506所示的。因而,例如,如果用戶已從容器刪除了電子消息并且被刪除的電子消息被高速緩存在本地存儲114中,則混合狀態(tài)邏輯124將該容器的本地項計數(shù)遞減一。作為另一示例,如果用戶已讀取了容器中的未讀電子消息并且被讀取的電子消息被高速緩存在本地存儲114中,則混合狀態(tài)邏輯124將該容器的本地未讀項計數(shù)遞減一。此夕卜,混合狀態(tài)邏輯124還可將該容器的本地已讀項計數(shù)遞增一。
      [0084]然而,如果混合狀態(tài)邏輯124在判決步驟504期間確定已對其執(zhí)行了步驟502的動作的電子消息未被存儲在本地存儲114中(即,它們僅存儲在遠程存儲132中),則混合狀態(tài)邏輯124將相應(yīng)地遞增或遞減容器的相關(guān)差量,如步驟508所示的。從而,例如,如果用戶已從容器刪除了電子消息并且被刪除的電子消息未被高速緩存在本地存儲114中,則混合狀態(tài)邏輯124將表示容器中遠程存儲項的總數(shù)與容器的本地項計數(shù)之差的差量遞減一。作為另一示例,如果用戶已讀取了容器中的未讀電子消息并且被讀取的電子消息未被高速緩存在本地存儲114中,則混合狀態(tài)邏輯124將表示容器中未讀的遠程存儲項的總數(shù)與容器的本地未讀項計數(shù)之差的差量遞減一。此外,混合狀態(tài)邏輯124還可將表示容器中已讀的遠程存儲項的總數(shù)與容器的本地已讀項計數(shù)之差的差量遞增一。
      [0085]在步驟506或508之后,控制流去往步驟510,在步驟510期間混合狀態(tài)邏輯124通過對容器的本地項計數(shù)與對應(yīng)的差量求和來計算容器的項計數(shù)。在步驟510期間,混合狀態(tài)邏輯124還將如此計算的項計數(shù)呈現(xiàn)給GUI132以使得它們可被用戶設(shè)備106的用戶查看。
      [0086]在步驟510之后,控制流去往步驟512,在步驟512期間發(fā)起同步過程,該同步過程旨在將存儲在本地存儲114中的電子消息的狀態(tài)與存儲在遠程存儲132中的電子消息的狀態(tài)同步。電子消息收發(fā)客戶端110可根據(jù)系統(tǒng)定義的或用戶定義的時間表、響應(yīng)于特定事件的發(fā)生等等來發(fā)起這樣的同步過程。這樣的同步過程可能是必要的,因為存儲在本地存儲114和/或遠程存儲132中的電子消息的狀態(tài)自從進行先前同步以來可能已經(jīng)改變(并且因此變得不同步)。例如,自從進行先前同步以來,用戶可能已經(jīng)改變了存儲在本地存儲114中的一個或多個電子消息的狀態(tài)。作為另一示例,自從進行先前同步以來,電子消息收發(fā)服務(wù)器102可能已經(jīng)改變對電子消息收發(fā)客戶端110可用且存儲在遠程存儲132中的一個或多個電子消息的狀態(tài)。還可使用這樣的同步過程來從本地存儲114移除已穿行到同步窗口外部的電子消息。
      [0087]在正在執(zhí)行同步過程時,混合狀態(tài)邏輯124將繼續(xù)將容器的項計數(shù)顯示為容器的本地項計數(shù)與對應(yīng)差量的總和。在正在執(zhí)行同步過程時,本地項計數(shù)將由于這樣的同步過程(例如,由于將新的電子消息添加到本地存儲114)而改變也是可能的。從而,在正在進行同步時顯示的容器的項計數(shù)將是容器的最當前本地項計數(shù)(如受到同步過程的影響)加上對應(yīng)差量的總和。
      [0088]如判決步驟514所示,一旦確定在步驟512期間發(fā)起的同步過程完成,控制流去往步驟516。
      [0089]在步驟516期間,混合狀態(tài)邏輯124獲得容器的新遠程項計數(shù)和新本地項計數(shù),因為這些項計數(shù)可能已經(jīng)作為同步過程的結(jié)果而改變。在步驟516期間,混合狀態(tài)邏輯124還通過確定每一新的遠程項計數(shù)和每一對應(yīng)新的本地項計數(shù)之差來計算容器的新差量。在這一步驟期間,混合狀態(tài)邏輯124還將新計算的差量存儲在用戶設(shè)備106的本地存儲中,從而用新計算的差量來替換先前計算的差量。
      [0090]在步驟516之后,控制流去往步驟518,在步驟518期間混合狀態(tài)邏輯124通過對在步驟516期間獲得的每一本地項計數(shù)與在該步驟期間計算的對應(yīng)差量求和來計算容器的項計數(shù)。在步驟518期間,混合狀態(tài)邏輯124還將如此計算的項計數(shù)呈現(xiàn)給⑶1132以使得它們可被用戶設(shè)備106的用戶查看。
      [0091]現(xiàn)在將提供簡單的示教示例來幫助解說可以如何利用上述流程圖400和500的方法來向用戶呈現(xiàn)混合狀態(tài)信息。出于這些示例的目的,假定電子消息是電子郵件,相關(guān)容器是稱為“郵箱”的文件夾,而要顯示的項計數(shù)是郵箱項計數(shù)。
      [0092]進一步假定,在啟動電子消息收發(fā)客戶端110(并且因此觸發(fā)流程圖400的方法)之前,郵箱的本地項計數(shù)是50,而郵箱項的差量是150(即,在計算郵箱項的差量時,郵箱中有200個遠程存儲的項和50個本地存儲的項)。
      [0093]現(xiàn)在,假定電子消息收發(fā)客戶端根據(jù)流程圖400的步驟402啟動而混合狀態(tài)邏輯124如上文闡釋地根據(jù)步驟404來加載郵箱的本地項計數(shù)并且如上文闡釋地根據(jù)步驟406來加載郵箱項的差量。隨后,在步驟408期間,混合狀態(tài)邏輯124將郵箱的項計數(shù)計算為郵箱的本地項計數(shù)(50)與郵箱項的差量(150)的總和,總而得到200的項計數(shù)?;旌蠣顟B(tài)邏輯124隨后進一步根據(jù)步驟408經(jīng)由⑶1132將這一項計數(shù)呈現(xiàn)給用戶。
      [0094]為進一步解說可以如何利用流程圖400和500的方法來向用戶呈現(xiàn)混合狀態(tài)信息,假定在用戶設(shè)備106處于離線狀態(tài)時,用戶添加了 5個新的電子郵件到郵箱。由于這一動作改變了郵箱的狀態(tài),這將觸發(fā)流程圖500的步驟502。此外,由于這一動作涉及本地存儲的電子郵件,它將導(dǎo)致根據(jù)步驟506郵箱的本地項計數(shù)被遞增5 (從而產(chǎn)生55的本地項計數(shù))。隨后在步驟510期間,郵箱的項計數(shù)將被示為205 (55的本地項計數(shù)加上150的差量)。因而,對于用戶而言就好像他或她離線采取的動作影響了整個郵箱的狀態(tài),而非僅僅是存儲在本地存儲114中的那些電子郵件。
      [0095]為進一步解說可以如何利用流程圖400和500的方法來向用戶呈現(xiàn)混合狀態(tài)信息,假定在用戶設(shè)備106離線時,電子消息收發(fā)服務(wù)器102代表用戶接收郵箱中的20封新電子郵件,并且將它們存儲在遠程存儲132中,而且還刪除了在滾動時間窗口之外并且因此之前僅被存儲在遠程存儲132中的郵箱中的40封較早的電子郵件。這導(dǎo)致郵箱的遠程項計數(shù)為180。還假定在如以上所討論的用戶設(shè)備106處于離線狀態(tài)時向郵箱添加5封新電子郵件之后,用戶關(guān)閉用戶設(shè)備106的電源。稍后,用戶重新打開用戶設(shè)備106的電源并且啟動電子消息收發(fā)客戶端110,從而觸發(fā)流程圖400的步驟402。
      [0096]在該情形中,在步驟404期間,混合狀態(tài)邏輯124加載收件箱的本地項計數(shù)(本地項計數(shù)=55),在步驟406期間,混合狀態(tài)邏輯124加載郵箱項的差量(差量=150),而在步驟408期間,混合狀態(tài)邏輯124將郵箱的項計數(shù)呈現(xiàn)為205 (55+150)。接著,在判決步驟410中,控制流去往步驟412,因為混合狀態(tài)邏輯124確定用戶設(shè)備106現(xiàn)在連接到電子消息收發(fā)服務(wù)器102。
      [0097]在步驟412,發(fā)起同步。作為同步的結(jié)果,郵箱中的20封新電子郵件被下載到本地存儲114,從而導(dǎo)致郵箱本地項計數(shù)從55遞增為75。在同步進行的同時,混合狀態(tài)邏輯124繼續(xù)將收件箱項計數(shù)顯示為本地項計數(shù)(現(xiàn)在為75)與郵箱項的差量(150)的總和(等于225)。在同步過程期間,在郵箱中本地創(chuàng)建的5封電子郵件被上傳到遠程存儲132,從而將遠程項計數(shù)從180增加到185。
      [0098]在步驟416期間,混合狀態(tài)邏輯124獲得同步后本地和遠程項計數(shù)。在這一情形中,在同步之后,收件箱的本地項計數(shù)將是75而收件箱的遠程項計數(shù)將是185。因此,在步驟416期間,混合狀態(tài)邏輯124將收件箱項的差量計算為110。接著,在步驟418期間,混合狀態(tài)邏輯124將收件箱項計數(shù)顯示為185,它是收件箱的本地項計數(shù)(75)與收件箱項的差量(110)的總和。
      [0099]C.用于執(zhí)行混合搜索的示例技術(shù)
      [0100]圖6描繪了藉由其混合搜索邏輯126可操作用于根據(jù)一實施例對本地存儲和遠程存儲的電子消息執(zhí)行混合搜索的第一方法的流程圖600。僅出于解說的目的,現(xiàn)在將參考上文參考圖1描述的系統(tǒng)100的各組件來描述流程圖600的方法。然而,相關(guān)領(lǐng)域技術(shù)人員將領(lǐng)會該方法也可通過其它組件或系統(tǒng)來實現(xiàn)。
      [0101]如圖6所示,流程圖600的方法開始于步驟602,在步驟602期間,用戶將查詢輸入到用戶設(shè)備106并且發(fā)起搜索。該查詢可被提交的方式以及該搜索可被發(fā)起的方式可取決于實現(xiàn)。例如,在一個實施例中,GUI132提供用戶可用來鍵入查詢的文本輸入框以及用戶可激活以發(fā)起搜索的搜索按鈕。然而,這僅僅是一個示例,并且可以使用各種各樣公知的用戶輸入機制來提交查詢和發(fā)起搜索。
      [0102]在步驟604,混合搜索邏輯126基于步驟602期間提交的查詢對照存儲在本地存儲114中的電子消息本地地執(zhí)行搜索?;旌纤阉鬟壿?26可利用各種各樣公知搜索算法中的任一種算法來確定應(yīng)該將存儲在本地存儲114中的哪些電子消息標識為匹配步驟602期間輸入的查詢。如果混合搜索邏輯126確定存儲在本地存儲114中的任何電子消息均匹配該查詢,則混合搜索邏輯126在⑶1132中呈現(xiàn)關(guān)于那些電子消息的信息。所呈現(xiàn)的信息可廣泛地包括關(guān)于電子消息的任何信息項。例如,在其中電子消息包括電子郵件消息的實施例中,這樣的信息可包括但不限于,電子郵件消息的發(fā)送方、電子郵件消息的主題、電子郵件消息被發(fā)送的日期和/或時間、電子郵件消息被接收的日期和/或時間、關(guān)于電子郵件消息的狀態(tài)信息(例如,已讀、未讀、被標記、未被標記)等等。
      [0103]在某些實施例中,對于作為在步驟604期間執(zhí)行的本地搜索的結(jié)果而呈現(xiàn)關(guān)于其的信息的每一匹配電子消息,還呈現(xiàn)了藉由其用戶可致使這些電子消息的內(nèi)容被顯示在⑶1132中的一種裝置。例如,該裝置可包括與關(guān)于每一電子消息的信息相關(guān)聯(lián)地呈現(xiàn)的組件,該組件在與用戶交互時致使電子消息的內(nèi)容被顯示在GUI132內(nèi)。進一步根據(jù)這些實施例,一旦用戶已經(jīng)選擇了供查看的電子消息,混合搜索邏輯126將從本地存儲114獲得電子消息的內(nèi)容并且在⑶1132內(nèi)顯示這些內(nèi)容。
      [0104]在步驟604之后,控制流去往判決步驟606,在判決步驟606期間,混合搜索邏輯126確定是否存在遠程存儲132中可用但未高速緩存在本地存儲114中的電子消息。作出這一判斷的方式可取決于實現(xiàn)而變化。例如,在一個實施例中,混合搜索邏輯126通過確定正被使用的基于時間的同步窗口可能導(dǎo)致僅遠程存儲132中可用的電子消息的子集被高速緩存在本地存儲114中來確定遠程存儲132中可用的電子消息未被高速緩存在本地存儲114中。然而,也可使用其他技術(shù)。
      [0105]如果混合搜索邏輯126在判決步驟606期間確定不存在遠程存儲132中可用的電子消息且也沒有電子消息被高速緩存在本地存儲114中,則流程圖600的方法結(jié)束。然而,如果混合搜索邏輯126在判決步驟606期間確定存在遠程存儲132中可用的未被高速緩存在本地存儲114中的電子消息,則控制流去往判決步驟608。
      [0106]在判決步驟608期間,混合搜索邏輯126確定用戶設(shè)備106是否連接到電子消息收發(fā)服務(wù)器102??梢允褂酶鞣N各樣的方法來確定這樣的連接是否存在,包括但不限于,要求用戶設(shè)備106與電子消息收發(fā)服務(wù)器102之間的消息交換,或者簡單地確定用戶設(shè)備106具有到網(wǎng)絡(luò)104的工作連接。
      [0107]如果混合搜索邏輯126在判決步驟608期間確定用戶設(shè)備106未連接到電子消息收發(fā)服務(wù)器102,則流程圖600的方法結(jié)束。然而,如果混合搜索邏輯126在判決步驟608期間確定用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102,則控制流去往步驟610。
      [0108]在步驟610期間,混合搜索邏輯致使用戶界面組件在⑶1132內(nèi)顯示,當該用戶界面組件被用戶激活時,將致使電子消息收發(fā)服務(wù)器102基于步驟602期間提交的查詢來對存儲在遠程存儲132中的可用電子消息執(zhí)行搜索并且返回標識出任何匹配電子消息的列表。這樣的用戶界面組件可包括或伴隨有對其功能的視覺指示。例如,用戶界面組件可包括或伴隨有陳述“繼續(xù)在服務(wù)器上搜索”、“僅本地項被搜索,因此搜索結(jié)果可能不完整——繼續(xù)在服務(wù)器上搜索”或類似內(nèi)容的文本。然而,這些僅僅是示例并且不旨在進行限制。
      [0109]如果用戶不激活在步驟610期間呈現(xiàn)給⑶1132的用戶界面組件,則流程圖600的方法結(jié)束。然而,如果用戶的確激活了呈現(xiàn)給GUI132的用戶界面組件,如步驟612所示,則控制流去往步驟614。
      [0110]在步驟614期間,電子消息收發(fā)服務(wù)器102基于步驟602期間提交的查詢來對照存儲在遠程存儲132中的可用電子消息執(zhí)行搜索并且返回標識出任何匹配電子消息的列表?;旌纤阉鬟壿?26在⑶1132中呈現(xiàn)關(guān)于匹配電子消息的信息。所呈現(xiàn)的信息可廣泛地包括關(guān)于電子消息的任何信息項。
      [0111]在某些實施例中,對于因步驟614期間執(zhí)行的遠程搜索而呈現(xiàn)關(guān)于其的信息的每一匹配電子消息,還呈現(xiàn)了藉由其用戶可致使這些電子消息的內(nèi)容在GUI132中顯示的裝置。例如,該裝置可包括與關(guān)于每一電子消息的信息相關(guān)聯(lián)地呈現(xiàn)的組件,當用戶與該組件交互時致使該電子消息的內(nèi)容在GUI132內(nèi)顯示。
      [0112]進一步根據(jù)這些實施例,一旦用戶已選擇了供查看的電子消息,混合搜索邏輯126就將獲得電子消息的內(nèi)容并且在GUI132內(nèi)顯示這些內(nèi)容。如果所選電子消息的副本被存儲在本地存儲114中,則混合搜索邏輯126將從本地存儲114獲得電子消息的內(nèi)容。然而,如果沒有所選電子消息的副本被存儲在本地存儲114(即,所選電子消息在同步窗口之外),則混合搜索邏輯126將經(jīng)由與電子消息收發(fā)服務(wù)器102的交互從遠程存儲132獲得電子消息的內(nèi)容。在該后一情形中,混合搜索邏輯126不會作為呈現(xiàn)過程的一部分將遠程存儲的電子消息的副本存儲在本地存儲114中。換言之,盡管遠程存儲的電子消息的內(nèi)容可被臨時緩存在用戶設(shè)備106的存儲器內(nèi)以促進對其的顯示,但一旦用戶已關(guān)閉了 GUI132中用于查看遠程存儲的電子消息的內(nèi)容的部分,則這樣的被緩存的數(shù)據(jù)可被丟棄。
      [0113]圖7描繪了根據(jù)一實施例的用于對本地存儲和遠程存儲的電子消息執(zhí)行混合搜索的第二方法的流程圖700。流程圖700的方法可被認為是流程圖600的方法的變體,并且在本文中被描述為解說可以使用混合搜索的各種替換實現(xiàn)。僅出于解說的目的,流程圖700的方法現(xiàn)在將參考如上參考圖1描述的系統(tǒng)100的各組件來描述。然而,相關(guān)領(lǐng)域技術(shù)人員將領(lǐng)會該方法也可通過其它組件或系統(tǒng)來實現(xiàn)。
      [0114]如圖7所示,流程圖700的方法開始于步驟702,在步驟702期間,用戶將查詢輸入到用戶設(shè)備106并且發(fā)起搜索。該查詢可被提交的方式以及該搜索可被發(fā)起的方式可取決于實現(xiàn)。
      [0115]在步驟704,混合搜索邏輯126基于步驟602期間提交的查詢來對照存儲在本地存儲114中的電子消息本地地執(zhí)行搜索。在步驟704期間執(zhí)行的搜索被封頂,以使得它將不會輸出超過預(yù)定數(shù)目的匹配消息,其中該預(yù)定數(shù)目可少于通過搜索可能標識的匹配消息的總數(shù)。
      [0116]在步驟704期間,混合搜索邏輯126在⑶1132中呈現(xiàn)關(guān)于因封頂本地搜索而標識出的任何電子消息的信息。所呈現(xiàn)的信息可廣泛地包括關(guān)于電子消息的任何信息項。在某些實施例中,對于因步驟704期間執(zhí)行的封頂本地搜索而呈現(xiàn)關(guān)于其的信息的每一匹配電子消息,還呈現(xiàn)了藉由其用戶可致使這些電子消息的內(nèi)容在⑶1132中顯示的裝置。例如,該裝置可包括與關(guān)于每一電子消息的信息相關(guān)聯(lián)地呈現(xiàn)的組件,當用戶與該組件交互時致使該電子消息的內(nèi)容在GUI132內(nèi)顯示。進一步根據(jù)這些實施例,一旦用戶已選擇了供查看的電子消息,混合搜索邏輯126將從本地存儲114獲得電子消息的內(nèi)容并且在⑶1132內(nèi)顯示這些內(nèi)容。
      [0117]根據(jù)流程圖700的方法,作為步驟704的一部分,混合搜索邏輯126還經(jīng)由⑶1132向用戶提供可能存在更多可用的搜索結(jié)果的指示,并且呈現(xiàn)用戶可通過其來激活附加搜索的組件。例如,混合搜索邏輯126可呈現(xiàn)一用戶界面組件,該用戶界面組件包括或伴隨有單詞“更多”,用戶隨后可以在其上點擊以獲得附加搜索結(jié)果。然而,這僅僅是一個示例,并且可以使用各種各樣其他指示和用戶界面組件。如果用戶不激活用戶界面組件,則流程圖700的方法結(jié)束。然而,如果用戶的確激活了用戶界面組件,如步驟706所示,則控制流去往判決步驟708。
      [0118]在判決步驟708期間,混合搜索邏輯126確定用戶設(shè)備106是否連接到電子消息收發(fā)服務(wù)器102??梢允褂酶鞣N各樣的方法來確定這樣的連接是否存在,包括但不限于,要求用戶設(shè)備106與電子消息收發(fā)服務(wù)器102之間的消息交換,或者簡單地確定用戶設(shè)備106具有到網(wǎng)絡(luò)104的工作連接。
      [0119]如果混合搜索邏輯126在判決步驟708期間確定用戶設(shè)備106未連接到電子消息收發(fā)服務(wù)器102,則控制流去往步驟710。在步驟710期間,混合搜索邏輯126基于步驟602期間提交的查詢來對照存儲在本地存儲114中的電子消息執(zhí)行不封頂搜索。在步驟704期間執(zhí)行的搜索是不封頂?shù)?,以使得它將會輸出被確定為匹配的全部消息。
      [0120]在步驟710期間,混合搜索邏輯126在⑶1132中呈現(xiàn)關(guān)于因封頂本地搜索而標識出的任何電子消息的信息。所呈現(xiàn)的信息可廣泛地包括關(guān)于電子消息的任何信息項。
      [0121]在某些實施例中,對于因步驟710期間執(zhí)行的不封頂本地搜索而呈現(xiàn)關(guān)于其的信息的每一匹配電子消息,還呈現(xiàn)了藉由其用戶可致使這些電子消息的內(nèi)容在⑶1132中顯示的裝置。例如,該裝置可包括與關(guān)于每一電子消息的信息相關(guān)聯(lián)地呈現(xiàn)的組件,當用戶與該組件交互時,致使該電子消息的內(nèi)容在⑶1132內(nèi)顯示。進一步根據(jù)這些實施例,一旦用戶已選擇了供查看的電子消息,混合搜索邏輯126將從本地存儲114獲得電子消息的內(nèi)容并且在⑶1132內(nèi)顯示這些內(nèi)容。
      [0122]在步驟710之后,控制流去往判決步驟712,在判決步驟712期間混合搜索邏輯126確定是否存在遠程存儲132中可用的但未高速緩存在本地存儲114中的電子消息。作出這一判斷的方式可取決于實現(xiàn)而變化。例如,在一個實施例中,混合搜索邏輯126通過確定正被使用的基于時間的同步窗口可能導(dǎo)致僅遠程存儲132中可用的電子消息的子集被高速緩存在本地存儲114中來確定存在遠程存儲132中可用的未被高速緩存在本地存儲114中的電子消息。然而,也可使用其他技術(shù)。
      [0123]如果混合搜索邏輯126在判決步驟712期間確定不存在遠程存儲132中可用的且也未被高速緩存在本地存儲114中的電子消息,則流程圖700的方法結(jié)束。然而,如果混合搜索邏輯126在判決步驟712期間確定存在在遠程存儲132中可用但未高速緩存在本地存儲114中的電子消息,則控制流去往步驟714,在步驟714期間混合搜索邏輯126經(jīng)由GUI132向用戶提供不封頂本地搜索的結(jié)果可能是不完整的指示或警告。
      [0124]如以上所提及的,在判決步驟708期間,混合搜索邏輯126確定用戶設(shè)備106是否連接到電子消息收發(fā)服務(wù)器102。如果混合搜索邏輯126在判決步驟708期間確定用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102,則控制流去往判決步驟716。
      [0125]在判決步驟716期間,混合搜索邏輯126確定是否存在遠程存儲132中可用但未高速緩存在本地存儲114中的電子消息。如果混合搜索邏輯126在判決步驟716期間確定不存在在遠程存儲132中可用但也未被高速緩存在本地存儲114中的電子消息,則控制流去往判決步驟718。
      [0126]在判決步驟718期間,混合搜索邏輯126確定相對于用戶設(shè)備106本地存儲的搜索索引是否過時。如果混合搜索邏輯718確定搜索索引未過時,則控制流去往先前描述的步驟710。
      [0127]如果混合搜索邏輯126在判決步驟716期間存在在遠程存儲132中可用但未被高速緩存在本地存儲114中的電子消息,或者如果混合搜索邏輯126在判決步驟718期間確定搜索索引過時,則控制流去往步驟720。在步驟720期間,電子消息收發(fā)服務(wù)器102基于步驟702期間提交的查詢來對照存儲在遠程存儲132中的可用電子消息執(zhí)行不封頂搜索并且返回標識出任何匹配電子消息的列表?;旌纤阉鬟壿?26在⑶1132中呈現(xiàn)關(guān)于匹配電子消息的信息。所呈現(xiàn)的信息可廣泛地包括關(guān)于電子消息的任何信息項。
      [0128]在某些實施例中,對于因步驟720期間執(zhí)行的遠程搜索而呈現(xiàn)關(guān)于其的信息的每一匹配電子消息,還呈現(xiàn)了藉由其用戶可致使這些電子消息的內(nèi)容在GUI132中顯示的裝置。例如,該裝置可包括與關(guān)于每一電子消息的信息相關(guān)聯(lián)地呈現(xiàn)的組件,當用戶與該組件交互時致使該電子消息的內(nèi)容在GUI132內(nèi)顯示。
      [0129]進一步根據(jù)這些實施例,一旦用戶已選擇了供查看的電子消息,混合搜索邏輯126將獲得電子消息的內(nèi)容并且在GUI132內(nèi)顯示這些內(nèi)容。如果所選電子消息的副本被存儲在本地存儲114中,則混合搜索邏輯126將從本地存儲114獲得電子消息的內(nèi)容。然而,如果沒有所選電子消息的副本被存儲在本地存儲114(即,所選電子消息在同步窗口之外),則混合搜索邏輯126將經(jīng)由與電子消息收發(fā)服務(wù)器102的交互從遠程存儲132獲得電子消息的內(nèi)容。在該后一情形中,混合搜索邏輯126不會作為呈現(xiàn)過程的一部分將遠程存儲的電子消息的副本存儲在本地存儲114中。換言之,盡管遠程存儲的電子消息的內(nèi)容可被臨時緩存在用戶設(shè)備106的存儲器內(nèi)以促進對其的顯示,但一旦用戶已關(guān)閉了 GUI132中用于查看遠程存儲的電子消息的部分,則這樣的被緩存的數(shù)據(jù)可被丟棄。
      [0130]根據(jù)一替換實施例,用戶將查詢輸入到用戶設(shè)備106并發(fā)起搜索。如果混合搜索邏輯126確定用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102,則電子消息收發(fā)服務(wù)器102基于查詢來對照存儲在遠程存儲132中的可用電子消息執(zhí)行不封頂搜索,并且返回標識出任何匹配電子消息的列表而無需來自用戶的任何進一步輸入??梢允褂没旌弦晥D在GUI132中呈現(xiàn)關(guān)于匹配電子消息的信息,以使得可以從本地存儲114訪問本地高速緩存的匹配電子消息的內(nèi)容同時可以從遠程存儲132訪問非本地高速緩存的匹配電子消息的內(nèi)容。
      [0131]根據(jù)另一實施例,用戶將查詢輸入到用戶設(shè)備106并發(fā)起搜索?;旌纤阉鬟壿?26對照存儲在本地存儲114中的電子消息執(zhí)行搜索,并且還在用戶設(shè)備106連接到電子消息收發(fā)服務(wù)器102時自動地致使對照遠程存儲132中可用的電子消息運行不封頂搜索。根據(jù)這樣的一個實施例,混合搜索邏輯126可以首先向用戶呈現(xiàn)本地搜索結(jié)果(其可比遠程搜索更快地得到結(jié)果),然后在返回了遠程搜索結(jié)果時呈現(xiàn)在遠程存儲132中可用的全部匹配電子消息的完整混合視圖。所有這些可以在除了提交查詢和發(fā)起搜索之外無需來自用戶的任何進一步輸入的情況下進行。
      [0132]II1.示例性的基于處理器的系統(tǒng)實現(xiàn)
      [0133]圖8描繪了可以被用來實現(xiàn)本文描述的各實施例的示例性的基于處理器的計算機系統(tǒng)800。例如,系統(tǒng)800可用于實現(xiàn)電子消息收發(fā)服務(wù)器102和用戶設(shè)備106中的任一者或兩者,以及它們的各種子組件。對此處所提供的系統(tǒng)800的描述只是為了說明,并非旨在進行限制。實施例也可以在相關(guān)領(lǐng)域的技術(shù)人員所知的其它類型的計算機系統(tǒng)中實現(xiàn)。
      [0134]如圖7所示,系統(tǒng)800包括處理單元802、系統(tǒng)存儲器804,以及將包括系統(tǒng)存儲器804的各種系統(tǒng)組件耦合到處理單元802的總線806。處理單元802可包括一個或多個處理器或處理核心??偩€806表示若干類型的總線結(jié)構(gòu)中的任何一種總線結(jié)構(gòu)的一個或多個,包括存儲器總線或存儲器控制器、外圍總線、加速圖形端口,以及處理器或使用各種總線體系結(jié)構(gòu)中的任何一種的局部總線。系統(tǒng)存儲器804包括只讀存儲器(ROM)808和隨機存取存儲器(RAM) 810?;据斎?輸出系統(tǒng)812 (B1S)儲存在R0M808中。
      [0135]系統(tǒng)800還具有一個或多個以下驅(qū)動器:用于讀寫硬盤的硬盤驅(qū)動器814、用于讀或?qū)懣梢苿哟疟P818的磁盤驅(qū)動器816、以及用于讀或?qū)懼T如⑶ROM、DVDR0M、藍光?盤或其他光介質(zhì)之類的可移動光盤822的光盤驅(qū)動器820。硬盤驅(qū)動器814、磁盤驅(qū)動器816,以及光驅(qū)動器820分別通過硬盤驅(qū)動器接口 824、磁盤驅(qū)動器接口 826,以及光盤驅(qū)動器接口828連接到總線806。驅(qū)動器以及它們相關(guān)聯(lián)的計算機可讀介質(zhì)為計算機提供了對計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,及其他數(shù)據(jù)的非易失存儲器。雖然描述了硬盤、可移動磁盤和可移動光盤,但是,也可以使用諸如閃存卡、數(shù)字視頻盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)等等之類的其他類型的計算機可讀介質(zhì)來存儲數(shù)據(jù)。
      [0136]數(shù)個程序模塊可被儲存在硬盤、磁盤、光盤、ROM或RAM上。這些程序模塊包括操作系統(tǒng)830、一個或多個應(yīng)用程序832、其他程序模塊834以及程序數(shù)據(jù)836。根據(jù)各個實施例,程序模塊可包括可由處理單元802執(zhí)行以執(zhí)行電子消息收發(fā)服務(wù)器102和用戶設(shè)備106以及它們的任何子組件的功能和特征中的任何一者或全部的計算機程序邏輯,如本文別處所描述的。程序模塊還可包括當被處理單元802執(zhí)行時執(zhí)行參考圖2-7示出或描述的任何步驟或操作的計算機程序邏輯。
      [0137]用戶可以通過諸如鍵盤838和指點設(shè)備840之類的輸入設(shè)備向系統(tǒng)800中輸入命令和信息。其它輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲控制器、掃描儀等等。在一個實施例中,結(jié)合顯示器844提供觸摸屏以允許用戶通過向觸摸屏上的一個或多個點施加觸摸(例如通過手指或指示筆)來提供用戶輸入。這些及其他輸入設(shè)備常常通過耦合到總線806的串行端口接口 842連接到處理單元802,但是,也可以通過其他接口,諸如并行端口、游戲端口、通用串行總線(USB)端口,來進行連接。
      [0138]顯示器844還通過諸如視頻適配器846之類的接口連接到總線806。除了顯示器844之外,系統(tǒng)800還可包括其他外圍輸出設(shè)備(未不出),如揚聲器和打印機。
      [0139]系統(tǒng)800通過網(wǎng)絡(luò)接口或適配器850、調(diào)制解調(diào)器852或其它用于在網(wǎng)絡(luò)上建立通信的裝置連接到網(wǎng)絡(luò)848 (例如,局域網(wǎng)或諸如因特網(wǎng)之類的廣域網(wǎng))。調(diào)制解調(diào)器852 (可以是內(nèi)置的或外置的)通過串行端口接口 842連接到總線806。
      [0140]如此處所使用的,術(shù)語“計算機程序介質(zhì)”和“計算機可讀介質(zhì)”用于一般地指代用于實現(xiàn)系統(tǒng)存儲器804、與硬盤驅(qū)動器814相關(guān)聯(lián)的硬盤、可移動磁盤818、可移動光盤822的非瞬態(tài)介質(zhì)(諸如R0M808和RAM810)以及其他介質(zhì)(諸如閃存卡、數(shù)字視頻卡等)。
      [0141]如上文所指示的,計算機程序和模塊(包括應(yīng)用程序832及其他程序模塊834)可被儲存在R0M808、RAM810、硬盤、磁盤或光盤上。這樣的計算機程序也可以通過網(wǎng)絡(luò)接口850或串行端口接口 842來接收。這些計算機程序在由處理單元802執(zhí)行時使得系統(tǒng)800能夠?qū)崿F(xiàn)此處所討論的實施例的特征。相應(yīng)地,這樣的計算機程序表示系統(tǒng)800的控制器。
      [0142]實施例還針對包括存儲在任何計算機可讀介質(zhì)上的軟件的計算機程序產(chǎn)品。這樣的軟件,當在一個或多個數(shù)據(jù)處理設(shè)備中執(zhí)行時,使數(shù)據(jù)處理設(shè)備如此處所描述的那樣操作。實施例可使用現(xiàn)在已知或?qū)碇獣缘娜魏斡嬎銠C可使用或計算機可讀介質(zhì)。計算機可讀介質(zhì)的示例包括但不限于存儲設(shè)備,諸如ROM、RAM、硬盤、軟盤、CD ROM、DVD ROM、Zip盤、磁帶、磁存儲設(shè)備、光存儲設(shè)備、基于MEMS的存儲設(shè)備、基于納米技術(shù)的存儲設(shè)備,等等。
      [0143]在替換實現(xiàn)中,電子消息收發(fā)服務(wù)器102和用戶設(shè)備106以及它們的任何子組件中的每一者可被實現(xiàn)為硬件邏輯/電子電路系統(tǒng)或固件。根據(jù)進一步實施例,這些組件中的一個或多個可被實現(xiàn)在片上系統(tǒng)(SoC)中。SoC可包括集成電路芯片,該集成電路芯片包括以下一個或多個:處理器(如微控制器、微處理器、數(shù)字信號處理器(DSP)等等)、存儲器、一個或多個通信接口、和/或用于執(zhí)行其功能的進一步的電路和/或嵌入的固件。
      [0144]IV.結(jié)語
      [0145]雖然以上描述了不同的實施例,但應(yīng)當理解的是它們只是作為示例而非限制。對于相關(guān)領(lǐng)域的技術(shù)人員顯而易見的是,可以對其做出各種改變而不背離本發(fā)明的精神和范圍。因此,此處所公開的本發(fā)明的寬度和范圍不應(yīng)被上述所公開的示例性實施例所限制,而應(yīng)當僅根據(jù)所附權(quán)利要求書及其等同替換來定義。
      【權(quán)利要求】
      1.一種由安裝在用戶設(shè)備上的電子消息收發(fā)客戶端執(zhí)行的方法,包括: (a)在渲染到所述用戶設(shè)備的顯示器的圖形用戶界面(⑶I)中顯示關(guān)于一個或多個第一電子消息的信息,所述一個或多個第一電子消息的內(nèi)容被存儲在所述用戶設(shè)備的本地存儲中; (b)確定所述用戶設(shè)備是否連接到電子消息收發(fā)服務(wù)器;以及 (c)響應(yīng)于至少確定所述用戶設(shè)備連接到所述電子消息收發(fā)服務(wù)器,在所述GUI中與關(guān)于所述一個或多個第一電子消息的信息并發(fā)地顯示關(guān)于一個或多個第二電子消息的信息,其中所述一個或多個第二電子消息的內(nèi)容被存儲在所述電子消息收發(fā)服務(wù)器能夠訪問的遠程存儲中而非所述本地存儲中。
      2.如權(quán)利要求1所述的方法,其特征在于,進一步包括: 在所述GUI內(nèi)提供組件,用戶能夠與所述組件交互以致使在所述GUI中與關(guān)于所述一個或多個第一電子消息的信息并發(fā)地顯示關(guān)于所述一個或多個第二電子消息的信息; 其中步驟(c)是響應(yīng)于至少確定所述用戶設(shè)備連接到所述電子消息收發(fā)服務(wù)器并且所述用戶已經(jīng)與所述組件交互來執(zhí)行的。
      3.如權(quán)利要求1所述的方法,其特征在于,進一步包括: 在所述GUI內(nèi)提供組件,所述用戶能夠與所述組件交互以致使在所述GUI中顯示所述一個或多個第一電子消 息中所選的一個第一電子消息的內(nèi)容;以及 響應(yīng)于確定所述用戶已經(jīng)與所述組件交互,從所述本地存儲獲得所述一個或多個第一電子消息中所選的一個第一電子消息的內(nèi)容以供在所述GUI中顯示。
      4.如權(quán)利要求1所述的方法,其特征在于,進一步包括: 在所述GUI內(nèi)提供組件,所述用戶能夠與所述組件交互以致使在所述GUI中顯示所述一個或多個第二電子消息中所選的一個第二電子消息的內(nèi)容;以及 響應(yīng)于確定所述用戶已經(jīng)與所述組件交互,從所述遠程存儲獲得所述一個或多個第二電子消息中所選的一個第二電子消息的內(nèi)容以供在所述GUI中顯示而無需將所述一個或多個第二電子消息中所選的一個第二電子消息的內(nèi)容的部分保存在所述本地存儲中。
      5.一種用戶設(shè)備,包括: 顯示器; 處理器執(zhí)行的電子消息收發(fā)客戶端,其包括混合狀態(tài)邏輯,所述混合狀態(tài)邏輯被配置成通過以下操作向所述顯示器呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài): 確定本地項計數(shù),其中所述本地項計數(shù)表示存儲在所述用戶設(shè)備的本地存儲中的被包括在所述容器中且具有特定狀態(tài)的電子消息的數(shù)目; 確定所述用戶設(shè)備是否連接到電子消息收發(fā)服務(wù)器;以及 響應(yīng)于確定所述用戶設(shè)備未連接到所述電子消息收發(fā)服務(wù)器: 從所述本地存儲加載表示遠程項計數(shù)與所述本地項計數(shù)之間的最近已知差的量,其中所述遠程項計數(shù)表示存儲在所述電子消息收發(fā)服務(wù)器可訪問的遠程存儲中的被包括在所述容器中且具有特定狀態(tài)的電子消息的數(shù)目;以及 向所述顯示器呈現(xiàn)所述容器的混合項計數(shù),其中所述容器的混合項計數(shù)是所述本地項計數(shù)和所述量的總和。
      6.如權(quán)利要求5所述的用戶設(shè)備,其特征在于,所述混合狀態(tài)邏輯被進一步配置成通過以下操作向所述顯示器呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài): 響應(yīng)于確定所述用戶設(shè)備連接到所述電子消息收發(fā)服務(wù)器并且在所述本地存儲和所述遠程存儲之間的同步尚未執(zhí)行: 從所述電子消息收發(fā)服務(wù)器獲得新的遠程項計數(shù); 通過確定所述新的遠程項計數(shù)與所述本地項計數(shù)之差來計算新的量;以及向所述顯示器呈現(xiàn)所述容器的新的混合項計數(shù),其中所述容器的新的混合項計數(shù)是所述本地項計數(shù)和所述新的量的總和。
      7.如權(quán)利要求5所述的用戶設(shè)備,其特征在于,所述混合狀態(tài)邏輯被進一步配置成通過以下操作向所述顯示器呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài): 響應(yīng)于確定所述用戶設(shè)備連接到所述電子消息收發(fā)服務(wù)器并且在所述本地存儲和所述遠程存儲之間的同步已經(jīng)執(zhí)行: 獲得由所述同步產(chǎn)生的新的遠程項計數(shù)和新的本地項計數(shù); 通過確定所述新的遠程項計數(shù)與所述新的本地項計數(shù)之差來計算新的量;以及向所述顯示器呈現(xiàn)所述容器的新的混合項計數(shù),其中所述容器的新的混合項計數(shù)是所述新的本地項計數(shù)和所述新的量的總和。
      8.如權(quán)利要求5所述的用戶設(shè)備,其特征在于,所述混合狀態(tài)邏輯被進一步配置成通過以下操作向所述顯示器 呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài): 響應(yīng)于確定所述用戶設(shè)備的用戶已經(jīng)對特定電子消息執(zhí)行了致使所述容器中具有所述特定狀態(tài)的電子消息的總數(shù)改變的一動作: 確定所述特定電子消息是否被存儲在所述本地存儲中; 響應(yīng)于確定所述特定電子消息被存儲在所述本地存儲中,遞增或遞減所述本地計數(shù)以計及所述改變。
      9.如權(quán)利要求5所述的用戶設(shè)備,其特征在于,所述混合狀態(tài)邏輯被進一步配置成通過以下操作向所述顯示器呈現(xiàn)與電子消息的容器相關(guān)聯(lián)的混合狀態(tài): 響應(yīng)于確定所述特定電子消息未被存儲在所述本地存儲中,遞增或遞減所述量以計及所述改變。
      10.一種包括計算機可讀介質(zhì)的計算機程序產(chǎn)品,所述計算機可讀介質(zhì)其上記錄有計算機程序邏輯,所述計算機程序邏輯包括用于使得處理器單元能夠執(zhí)行一種方法的裝置,所述方法包括: (a)從所述用戶設(shè)備的用戶接收查詢; (b)基于所述查詢對照高速緩存在所述用戶設(shè)備的本地存儲中的多個電子消息來執(zhí)行第一搜索; (C)在渲染到所述用戶設(shè)備的顯示器的圖形用戶界面(⑶I)中顯示關(guān)于因所述第一搜索的執(zhí)行而被標識出的至少一個電子消息的信息; (d)確定所述用戶設(shè)備是否連接到電子消息收發(fā)服務(wù)器;以及 (e)響應(yīng)于至少確定所述用戶設(shè)備連接到所述電子消息收發(fā)服務(wù)器,致使對照在所述電子消息收發(fā)服務(wù)器可訪問的遠程存儲中可用的多個電子消息執(zhí)行第二搜索,并且在所述GUI中顯示關(guān)于因所述第二搜索的執(zhí)行而被標識出的至少一個電子消息的信息。
      【文檔編號】G06Q50/32GK104054107SQ201380005810
      【公開日】2014年9月17日 申請日期:2013年1月11日 優(yōu)先權(quán)日:2012年1月18日
      【發(fā)明者】J·B·馬赫德, R·R·諾維特斯基, S·V·阿拉格森, R·E·格雷格, S·克里希納斯瓦米, B·D·威德曼, S·庫馬, J·A·梅色爾斯 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1