亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于跨設(shè)備和web服務(wù)使瀏覽器緩存同步的編程模型的制作方法

文檔序號(hào):6348587閱讀:264來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于跨設(shè)備和web服務(wù)使瀏覽器緩存同步的編程模型的制作方法
用于跨設(shè)備和web服務(wù)使瀏覽器緩存同步的編程模型
背景技術(shù)
web服務(wù)器經(jīng)常存儲(chǔ)一組數(shù)據(jù)對(duì)象,例如HTML頁(yè)面、媒體對(duì)象、數(shù)據(jù)倉(cāng)庫(kù)(data store)和可執(zhí)行腳本,這些數(shù)據(jù)對(duì)象被提供給web瀏覽器并且從而被再現(xiàn)以呈現(xiàn)一組構(gòu)成網(wǎng)站的網(wǎng)頁(yè)。web瀏覽器典型地包括瀏覽器緩存,其中可以存儲(chǔ)接收的項(xiàng)目以便在隨后再現(xiàn)的網(wǎng)頁(yè)中重新使用,從而提高web瀏覽器的性能,節(jié)省web服務(wù)器的資源并且可選地在不能訪問(wèn)web服務(wù)器時(shí)提供有限的再現(xiàn)網(wǎng)頁(yè)的能力。與計(jì)算機(jī)系統(tǒng)內(nèi)的其他類(lèi)型的數(shù)據(jù)對(duì)象 (例如用戶(hù)文檔、應(yīng)用和操作系統(tǒng)二進(jìn)制文件以及應(yīng)用配置信息)形成對(duì)照的是,瀏覽器緩存中包含的數(shù)據(jù)對(duì)象典型地被認(rèn)為是臨時(shí)的和一次性的。

發(fā)明內(nèi)容
提供這個(gè)發(fā)明內(nèi)容部分以便以簡(jiǎn)化的形式引入概念的選擇,這些概念在下面具體實(shí)施方式
中進(jìn)一步加以描述。本發(fā)明內(nèi)容部分并不預(yù)期識(shí)別要求保護(hù)的主題的關(guān)鍵因素或基本特征,也不預(yù)期用來(lái)限制要求保護(hù)的主題的范圍。web技術(shù)的發(fā)展已經(jīng)導(dǎo)致更加復(fù)雜類(lèi)型的網(wǎng)站,所述網(wǎng)站可以結(jié)合在web瀏覽器內(nèi)執(zhí)行的web應(yīng)用。構(gòu)成這樣的網(wǎng)站和web應(yīng)用的數(shù)據(jù)對(duì)象經(jīng)常存儲(chǔ)在瀏覽器緩存中,并且可能希望的是在web服務(wù)器不可訪問(wèn)時(shí),例如在web瀏覽器未連接到網(wǎng)絡(luò)時(shí)或者在web 服務(wù)器離線時(shí),允許這樣的網(wǎng)站的再現(xiàn)以及這樣的web應(yīng)用的執(zhí)行。這樣的數(shù)據(jù)對(duì)象也可以存儲(chǔ)在若干類(lèi)型的瀏覽器緩存(例如存儲(chǔ)瀏覽器托管的應(yīng)用的應(yīng)用資源的應(yīng)用緩存以及存儲(chǔ)從網(wǎng)站取回的數(shù)據(jù)對(duì)象(例如HTML文檔和圖像)的內(nèi)容緩存)中。當(dāng)代用戶(hù)經(jīng)常利用一組計(jì)算機(jī)(例如便攜式計(jì)算機(jī)、工作站和手機(jī)設(shè)備),并且這些計(jì)算機(jī)可以共同地向用戶(hù)呈現(xiàn)計(jì)算環(huán)境,例如用戶(hù)的文檔、安裝的應(yīng)用、應(yīng)用和操作系統(tǒng)配置信息、用戶(hù)簡(jiǎn)檔、不同個(gè)人(例如目錄中存儲(chǔ)的聯(lián)系人)的表示等等。而且,可以使這些計(jì)算機(jī)的特定方面同步以提高跨所有這樣的計(jì)算機(jī)的計(jì)算環(huán)境的一致性。然而,各計(jì)算機(jī)可以包含具有瀏覽器緩存的瀏覽器,其內(nèi)容可以不同,因?yàn)橛脩?hù)與每個(gè)計(jì)算機(jī)不同地交互。 如果瀏覽器緩存的內(nèi)容包括擴(kuò)展的重要數(shù)據(jù)對(duì)象集合,例如離線可用的應(yīng)用和保存的用戶(hù)文檔,那么這樣的web緩存在這樣的計(jì)算機(jī)之中的分歧可能導(dǎo)致特定于計(jì)算機(jī)的差別,例如不一致的可用應(yīng)用集合、存儲(chǔ)的文檔的沖突版本以及媒體庫(kù)中的差異。為了降低這樣的不一致性和版本沖突,可以使這樣的計(jì)算機(jī)的瀏覽器緩存同步。 在共享計(jì)算環(huán)境的一組計(jì)算機(jī)之中,計(jì)算機(jī)可以被配置成針對(duì)改動(dòng)監(jiān)視其瀏覽器緩存的狀態(tài),并且依照各種不同的同步策略與其他計(jì)算機(jī)的瀏覽器緩存同步。該瀏覽器緩存同步也可以包含在這樣的計(jì)算機(jī)之中的一般計(jì)算環(huán)境的同步中,從而提高同步進(jìn)程的效率并且節(jié)省計(jì)算資源。此外,可以提供編程接口(programmatic interface)以便例如通過(guò)請(qǐng)求不同數(shù)據(jù)對(duì)象的同步并且通過(guò)識(shí)別關(guān)于瀏覽器緩存的同步策略的信息而允許在web瀏覽器中執(zhí)行的應(yīng)用與瀏覽器緩存同步交互。通過(guò)維持用戶(hù)利用的不同計(jì)算機(jī)的瀏覽器緩存的一致性,這些技術(shù)可以促進(jìn)用戶(hù)的數(shù)據(jù)對(duì)象和計(jì)算環(huán)境的一致性。為了實(shí)現(xiàn)前面的和相關(guān)的目的,以下描述和附圖闡明了特定的說(shuō)明性方面和實(shí)現(xiàn)方式。其表示了其中可以采用一個(gè)或多個(gè)方面的不同方式中的僅僅一些。當(dāng)結(jié)合附圖考慮時(shí),本公開(kāi)內(nèi)容的其他方面、優(yōu)點(diǎn)和新穎特征根據(jù)以下詳細(xì)描述將變得清楚明白。


圖1為示出涉及一組以具有瀏覽器緩存的瀏覽器為特征的計(jì)算機(jī)的示例性方案的部件框圖。圖2為示出涉及一組以具有可同步瀏覽器緩存的瀏覽器為特征的計(jì)算機(jī)的示例性方案的部件框圖。圖3為示出被配置成使計(jì)算機(jī)上的瀏覽器的瀏覽器緩存與遠(yuǎn)程計(jì)算機(jī)的遠(yuǎn)程倉(cāng)庫(kù)同步的示例性系統(tǒng)的部件框圖。圖4為包含被配置成實(shí)施本文闡述的一個(gè)或多個(gè)規(guī)定的處理器可執(zhí)行指令的示例性計(jì)算機(jī)可讀介質(zhì)的圖示。圖5為計(jì)算環(huán)境主機(jī)與不同計(jì)算環(huán)境再現(xiàn)設(shè)備的示例性交互的圖示。圖6示出了其中可以實(shí)現(xiàn)本文闡述的一個(gè)或多個(gè)規(guī)定的示例性計(jì)算環(huán)境。
具體實(shí)施例方式現(xiàn)在參照附圖描述要求保護(hù)的主題,在所有附圖中,相似的附圖標(biāo)記用來(lái)表示相似的元件。在以下描述中,出于解釋的目的,闡述了許多特定的細(xì)節(jié),以便提供對(duì)于要求保護(hù)的主題的透徹理解。然而,可能明顯的是,可以在沒(méi)有這些特定細(xì)節(jié)的情況下實(shí)施要求保護(hù)的主題。在其他情況下,結(jié)構(gòu)以框圖形式示出以便有利于描述要求保護(hù)的主題。在計(jì)算領(lǐng)域中,web服務(wù)器可以向不同的訪問(wèn)者提供網(wǎng)頁(yè)的內(nèi)容。在較早幾代網(wǎng)站中,這樣的內(nèi)容典型地僅僅涉及簡(jiǎn)單類(lèi)型的數(shù)據(jù)對(duì)象,例如HTML文檔、結(jié)合到這樣的HTML 文檔中的圖形以及客戶(hù)端JavMcript腳本。這些數(shù)據(jù)對(duì)象被輸送到web瀏覽器,該web瀏覽器代表用戶(hù)再現(xiàn)構(gòu)成網(wǎng)站的網(wǎng)頁(yè)。在web瀏覽器的早期發(fā)展中,開(kāi)發(fā)了瀏覽器緩存,其中在接收到一些或所有這樣的數(shù)據(jù)對(duì)象時(shí)可以存儲(chǔ)這些數(shù)據(jù)對(duì)象以便供以后重新使用,從而通過(guò)避免數(shù)據(jù)對(duì)象的冗余下載提高了 web瀏覽器的性能并且節(jié)省了服務(wù)器上的計(jì)算資源的消耗。如果服務(wù)器不可訪問(wèn),例如如果服務(wù)器離線或者如果計(jì)算機(jī)未連接到網(wǎng)絡(luò),那么瀏覽器緩存中存儲(chǔ)的數(shù)據(jù)對(duì)象也可以用來(lái)再現(xiàn)內(nèi)容的表示。盡管對(duì)這樣的數(shù)據(jù)對(duì)象的緩存可以通過(guò)降低冗余網(wǎng)絡(luò)傳輸而提高了 web瀏覽器的性能,但是這些數(shù)據(jù)對(duì)象被認(rèn)為是臨時(shí)的和一次性的。許多瀏覽器包含作為臨時(shí)空間節(jié)省機(jī)制的刪除瀏覽器緩存的內(nèi)容的選項(xiàng),因?yàn)檫@些項(xiàng)目經(jīng)??赡茉谟脩?hù)下次訪問(wèn)網(wǎng)站期間再次獲得。當(dāng)代的網(wǎng)站經(jīng)常涉及比前幾代web發(fā)展中更高級(jí)類(lèi)型的內(nèi)容。特別地,網(wǎng)站可能結(jié)合一個(gè)或多個(gè)應(yīng)用,其包含可執(zhí)行二進(jìn)制文件、數(shù)據(jù)源和用戶(hù)數(shù)據(jù)對(duì)象,例如用戶(hù)生成的文檔。這些應(yīng)用也可以涉及多樣的數(shù)據(jù)對(duì)象集合,這些對(duì)象可以由web瀏覽器在呈現(xiàn)該應(yīng)用時(shí)使用并且可以存儲(chǔ)在瀏覽器緩存中。而且,瀏覽器緩存可以存儲(chǔ)可以用來(lái)在網(wǎng)站不可訪問(wèn)時(shí)(例如當(dāng)計(jì)算機(jī)未連接到網(wǎng)絡(luò)時(shí)或者當(dāng)網(wǎng)站離線時(shí))提供對(duì)于網(wǎng)站特定方面的訪問(wèn)的數(shù)據(jù)對(duì)象。鑒于這些擴(kuò)展的能力,瀏覽器緩存中存儲(chǔ)的數(shù)據(jù)對(duì)象包括用戶(hù)計(jì)算環(huán)境的重要部分。當(dāng)代的瀏覽器也可以提供不同類(lèi)型的多個(gè)緩存;例如,包含可以在web瀏覽器中執(zhí)行的應(yīng)用的應(yīng)用資源的數(shù)據(jù)對(duì)象可以存儲(chǔ)在瀏覽器應(yīng)用緩存中,而從訪問(wèn)的網(wǎng)站取回的諸如HTML文檔和嵌入其中的圖像之類(lèi)的數(shù)據(jù)對(duì)象可以存儲(chǔ)在瀏覽器內(nèi)容緩存中。這兩種類(lèi)型的緩存可以以類(lèi)似的方式提升web瀏覽器的性能,但是在特定緩存中存儲(chǔ)資源可以提供附加的優(yōu)點(diǎn)(例如,用戶(hù)可以能夠請(qǐng)求在保留應(yīng)用緩存的內(nèi)容的同時(shí)清空內(nèi)容緩存)?,F(xiàn)代計(jì)算環(huán)境中的另一個(gè)趨勢(shì)涉及用戶(hù)可以利用的增長(zhǎng)的計(jì)算機(jī)范圍。例如,用戶(hù)經(jīng)??梢岳脗€(gè)人工作站,筆記本、手掌或者口袋形狀因素的便攜式計(jì)算機(jī),手機(jī),媒體播放器,照相機(jī)和游戲控制臺(tái)。盡管這些計(jì)算機(jī)可能具有專(zhuān)門(mén)用途和方案,但是用戶(hù)可以將所有這些計(jì)算機(jī)看作一起構(gòu)成計(jì)算環(huán)境。而且,計(jì)算環(huán)境可以包含大而多樣的數(shù)據(jù)對(duì)象(例如媒體對(duì)象、文檔、應(yīng)用和操作系統(tǒng)首選項(xiàng)(operating system preferences))集合,并且這些數(shù)據(jù)對(duì)象可以跨所有這樣的計(jì)算機(jī)而被共享。例如,可以自動(dòng)地同步這些數(shù)據(jù)對(duì)象以便提供更一致的用戶(hù)體驗(yàn),使得一個(gè)計(jì)算機(jī)上的計(jì)算環(huán)境的變化(例如新媒體對(duì)象或應(yīng)用的添加或者文檔的改動(dòng))可以自動(dòng)地在整個(gè)計(jì)算環(huán)境中傳播。圖1示出了一個(gè)示例性方案(Scenario)IO,其中用戶(hù)12可以操作一組共享存儲(chǔ)了數(shù)據(jù)對(duì)象集合(例如文檔32集合)的計(jì)算機(jī),包括工作站14、筆記本計(jì)算機(jī)觀和手機(jī)設(shè)備 30。每個(gè)計(jì)算機(jī)也配備有可以用來(lái)再現(xiàn)應(yīng)用22的瀏覽器16,該應(yīng)用包含可以輸送到各計(jì)算機(jī)且存儲(chǔ)在與瀏覽器16關(guān)聯(lián)的瀏覽器緩存20中的數(shù)據(jù)對(duì)象M集合。數(shù)據(jù)對(duì)象M可以包括例如包含應(yīng)用22的邏輯和用戶(hù)界面的應(yīng)用二進(jìn)制文件、存儲(chǔ)用戶(hù)12選擇的各種不同的設(shè)置和首選項(xiàng)的應(yīng)用配置以及利用應(yīng)用22創(chuàng)建的各種不同的文檔,其可以在瀏覽器16中作為用戶(hù)文檔26呈現(xiàn)給用戶(hù)12。附加的數(shù)據(jù)對(duì)象可以存儲(chǔ)在計(jì)算環(huán)境18中,但是存儲(chǔ)在瀏覽器緩存20之外,例如文檔32集合。而且,這些計(jì)算機(jī)的計(jì)算環(huán)境18可以共享一些或所有數(shù)據(jù)對(duì)象;例如,可以在這些計(jì)算機(jī)之中共享作為數(shù)據(jù)對(duì)象存儲(chǔ)在計(jì)算環(huán)境18中的文檔32以便可在跨其共享計(jì)算環(huán)境18的所有計(jì)算機(jī)上訪問(wèn)。然而,如果這些不同計(jì)算機(jī)中的每一個(gè)包含具有瀏覽器緩存的瀏覽器,并且如果這樣的瀏覽器緩存結(jié)合了構(gòu)成用戶(hù)計(jì)算環(huán)境的重要部分的數(shù)據(jù)對(duì)象,那么可能出現(xiàn)問(wèn)題。 因?yàn)榍皫状鸀g覽器中的瀏覽器緩存僅僅存儲(chǔ)臨時(shí)的和一次性的數(shù)據(jù)對(duì)象,所以即使計(jì)算環(huán)境中的數(shù)據(jù)對(duì)象同步,計(jì)算機(jī)的瀏覽器緩存也可能不包含在該同步中。因此,構(gòu)成用戶(hù)計(jì)算環(huán)境的不同計(jì)算機(jī)的瀏覽器緩存可以有差異,導(dǎo)致不同計(jì)算機(jī)上的不同計(jì)算環(huán)境(例如瀏覽器緩存中存儲(chǔ)的文檔的不同版本,或者不同計(jì)算機(jī)上可用的瀏覽器存儲(chǔ)的應(yīng)用的不同集合)。如圖1的示例性方案10中進(jìn)一步所示,即使計(jì)算環(huán)境18中的文檔32和其他數(shù)據(jù)對(duì)象在計(jì)算機(jī)之中自動(dòng)同步,各瀏覽器緩存20的內(nèi)容也可能失去同步。作為第一個(gè)實(shí)例,包括第一文檔(“文檔1”)的數(shù)據(jù)對(duì)象M可能以不同版本存在于每個(gè)計(jì)算機(jī)中,這可能在文檔在不同的設(shè)備上不同的時(shí)間更新但不同步的情況下出現(xiàn)。作為第二個(gè)實(shí)例,數(shù)據(jù)對(duì)象M可能存在于一個(gè)瀏覽器緩存20中,但不存在于另一個(gè)瀏覽器緩存20中;例如,稱(chēng)為“文檔3” 的數(shù)據(jù)對(duì)象M包含在工作站14的瀏覽器緩存20中,但是不包含在筆記本計(jì)算機(jī)觀的瀏覽器緩存20中。作為第三個(gè)實(shí)例,應(yīng)用22可以存儲(chǔ)于一些計(jì)算機(jī)中以供離線訪問(wèn),但不存儲(chǔ)于其他計(jì)算機(jī)中;例如,在該示例性方案10中,“應(yīng)用”應(yīng)用20存儲(chǔ)于工作站14和筆記本計(jì)算機(jī)觀上以供離線訪問(wèn),但不存儲(chǔ)在手機(jī)設(shè)備30上。盡管這些差異中的一些可能在用戶(hù)12選擇(例如來(lái)自用戶(hù)12的從手機(jī)設(shè)備30中排除應(yīng)用22的指令)時(shí)或者基于邏輯原理(例如由于存儲(chǔ)空間、性能或硬件限制的原因而無(wú)能力利用手機(jī)設(shè)備30執(zhí)行應(yīng)用22)而出現(xiàn),但是在其他情況下,這些差異可能是不希望的且可避免的,但是仍然可能由于使構(gòu)成用戶(hù)12的計(jì)算環(huán)境的計(jì)算機(jī)的瀏覽器緩存20同步的機(jī)制不存在而出現(xiàn)。圖2示出了以該技術(shù)的實(shí)施例為特征的示例性方案40。在圖2的示例性方案40 中,工作站14、筆記本計(jì)算機(jī)觀和手機(jī)設(shè)備30可以再次分別包括與被配置成存儲(chǔ)例如可能屬于應(yīng)用22的數(shù)據(jù)對(duì)象M的瀏覽器緩存20耦合的瀏覽器16。這些計(jì)算機(jī)也可以共同地構(gòu)成跨所有這樣的計(jì)算機(jī)共享的包含數(shù)據(jù)對(duì)象(例如文檔32)集合的計(jì)算環(huán)境18,這些數(shù)據(jù)對(duì)象在這樣的計(jì)算機(jī)之中同步以便向用戶(hù)呈現(xiàn)更一致的計(jì)算環(huán)境。然而,在該示例性方案40中,所述計(jì)算機(jī)中的一個(gè)或多個(gè)也可以包含示例性系統(tǒng)42,該示例性系統(tǒng)被配置成使各計(jì)算機(jī)的瀏覽器16的瀏覽器緩存20與遠(yuǎn)程計(jì)算機(jī)的遠(yuǎn)程倉(cāng)庫(kù)同步,例如與另一個(gè)計(jì)算機(jī)的瀏覽器16的瀏覽器緩存20同步。該示例性系統(tǒng)42可以包括瀏覽器緩存監(jiān)視部件44, 該部件可以監(jiān)視瀏覽器緩存20,其被配置成檢測(cè)向?yàn)g覽器緩存20寫(xiě)入數(shù)據(jù)對(duì)象M,例如創(chuàng)建、編輯或刪除緩存的數(shù)據(jù)對(duì)象對(duì)。該示例性系統(tǒng)42也可以包括瀏覽器緩存同步部件46, 該部件可以被配置成在瀏覽器緩存監(jiān)視部件44檢測(cè)到所述寫(xiě)入時(shí),使瀏覽器緩存20與遠(yuǎn)程倉(cāng)庫(kù)(例如另一個(gè)計(jì)算機(jī)的瀏覽器緩存20)同步。作為第一個(gè)實(shí)例,手機(jī)設(shè)備30中實(shí)現(xiàn)的瀏覽器緩存監(jiān)視部件44可以檢測(cè)向?yàn)g覽器緩存20寫(xiě)入“文檔1”數(shù)據(jù)對(duì)象24的最近版本,并且可以將數(shù)據(jù)對(duì)象M輸送給筆記本計(jì)算機(jī)觀的瀏覽器緩存20 (例如或者通過(guò)與瀏覽器緩存20直接交互、通過(guò)向筆記本計(jì)算機(jī)觀的瀏覽器緩存同步部件46提供數(shù)據(jù)對(duì)象M 以便寫(xiě)入到其瀏覽器緩存20等等)。筆記本計(jì)算機(jī)28的瀏覽器緩存監(jiān)視部件44又可以檢測(cè)“文檔1”數(shù)據(jù)對(duì)象M的寫(xiě)入(代替數(shù)據(jù)對(duì)象M的早期1. 1版本),并且瀏覽器緩存同步部件46可以將更新的數(shù)據(jù)對(duì)象M輸送給工作站14的瀏覽器緩存20。作為圖2中所示的第二個(gè)實(shí)例,瀏覽器緩存監(jiān)視部件44可以檢測(cè)“文檔3”數(shù)據(jù)對(duì)象M的寫(xiě)入及其不存在于筆記本計(jì)算機(jī)觀的瀏覽器緩存20中,并且依據(jù)該檢測(cè),工作站 14的瀏覽器緩存同步部件46可以將“文檔3”數(shù)據(jù)對(duì)象M輸送給筆記本計(jì)算機(jī)觀的瀏覽器緩存20。作為第三個(gè)實(shí)例,筆記本計(jì)算機(jī)觀的瀏覽器緩存監(jiān)視部件20可以檢測(cè)包括應(yīng)用22的應(yīng)用資源的數(shù)據(jù)對(duì)象M的存儲(chǔ),并且筆記本計(jì)算機(jī)觀的瀏覽器緩存同步部件46 可以在檢測(cè)到這樣的數(shù)據(jù)對(duì)象M不存在于手機(jī)設(shè)備30的瀏覽器緩存20中時(shí),將這些數(shù)據(jù)對(duì)象M發(fā)送給手機(jī)設(shè)備30。通過(guò)這種方式,可以將不同計(jì)算機(jī)的瀏覽器緩存20帶入同步, 從而向用戶(hù)呈現(xiàn)一致的計(jì)算環(huán)境(包括“文檔1”數(shù)據(jù)對(duì)象M的當(dāng)前版本、“文檔3”數(shù)據(jù)對(duì)象M的存在以及應(yīng)用22在所有計(jì)算機(jī)上的可用性)。更一般地,且考慮到這些方案,圖3呈現(xiàn)了這里討論的技術(shù)的示例性實(shí)施例42,作為被配置成使計(jì)算機(jī)52上的瀏覽器16的瀏覽器緩存20與遠(yuǎn)程計(jì)算機(jī)M的遠(yuǎn)程倉(cāng)庫(kù)56 同步的示例性系統(tǒng)42。該示例性系統(tǒng)42可以包括瀏覽器緩存監(jiān)視部件44,該部件可以被配置成檢測(cè)將至少一個(gè)數(shù)據(jù)對(duì)象M寫(xiě)入瀏覽器緩存20中;以及瀏覽器緩存同步部件46, 該部件可以被配置成在瀏覽器緩存監(jiān)視部件44檢測(cè)到所述寫(xiě)入時(shí),使瀏覽器緩存20與遠(yuǎn)程倉(cāng)庫(kù)56同步。示例性系統(tǒng)58可以包含例如指令集合,該指令集合存儲(chǔ)在計(jì)算機(jī)52的存儲(chǔ)器58中并且可以在處理器60上執(zhí)行以便支持瀏覽器緩存20以及計(jì)算機(jī)52的計(jì)算環(huán)境與一組特定用戶(hù)利用的其他計(jì)算機(jī)(例如遠(yuǎn)程計(jì)算機(jī)的同步。這些技術(shù)的另一個(gè)實(shí)施例涉及計(jì)算機(jī)可讀介質(zhì),該介質(zhì)包含被配置成應(yīng)用這里給出的技術(shù)的處理器可執(zhí)行指令。圖5中示出了可以以這些方式設(shè)計(jì)的一種示例性計(jì)算機(jī)可讀介質(zhì),其中實(shí)現(xiàn)方式70包括計(jì)算機(jī)可讀介質(zhì)72(例如⑶-R、DVD-R或者硬盤(pán)驅(qū)動(dòng)器盤(pán)片), 在該介質(zhì)上編碼了計(jì)算機(jī)可讀數(shù)據(jù)74。該計(jì)算機(jī)可讀數(shù)據(jù)74又包含被配置成依照這里闡述的原理操作的計(jì)算機(jī)指令76集合。在一個(gè)這樣的實(shí)施例中,處理器可執(zhí)行指令76可以被配置成實(shí)現(xiàn)這樣的系統(tǒng),該系統(tǒng)被配置成使計(jì)算機(jī)上的瀏覽器的瀏覽器緩存與遠(yuǎn)程計(jì)算機(jī)的遠(yuǎn)程倉(cāng)庫(kù)同步,例如圖3的示例性系統(tǒng)42。本領(lǐng)域普通技術(shù)人員可以設(shè)計(jì)出被配置成依照這里給出的技術(shù)操作的許多這樣的計(jì)算機(jī)可讀介質(zhì)。這里討論的技術(shù)可以被設(shè)計(jì)成具有許多方面的變型,并且一些變型可能相對(duì)于這些和其他技術(shù)的其他變型呈現(xiàn)附加的優(yōu)點(diǎn)和/或減少缺點(diǎn)。而且,一些變型可以組合地實(shí)現(xiàn),并且一些組合可能通過(guò)協(xié)同合作而表現(xiàn)出附加的優(yōu)點(diǎn)和/或減少的缺點(diǎn)。這些變型可以結(jié)合到不同的實(shí)施例(例如圖3的示例性系統(tǒng)42)中以便賦予這樣的實(shí)施例單獨(dú)的和/ 或協(xié)同的優(yōu)點(diǎn)??梢栽谶@些技術(shù)的實(shí)施例之中變化的第一方面涉及可以在瀏覽器緩存20與遠(yuǎn)程倉(cāng)庫(kù)56之間執(zhí)行的同步類(lèi)型。使數(shù)據(jù)對(duì)象同步的進(jìn)程可以具有許多變量,這些變量可以不同地調(diào)節(jié)以適合不同的方案。作為第一個(gè)實(shí)例,同步可以由許多事件觸發(fā)。在一個(gè)這樣的實(shí)施例中,同步可以在瀏覽器緩存監(jiān)視部件44檢測(cè)到將數(shù)據(jù)對(duì)象M寫(xiě)入到瀏覽器緩存20 之后即時(shí)地觸發(fā)。盡管即時(shí)同步可以提供瀏覽器緩存20與遠(yuǎn)程倉(cāng)庫(kù)56之間的高程度的同步,但是該觸發(fā)可能例如因每次寫(xiě)入時(shí)建立計(jì)算機(jī)52與遠(yuǎn)程計(jì)算機(jī)M之間的連接和/或因在短時(shí)間幀內(nèi)為在短時(shí)間幀內(nèi)更新若干次的數(shù)據(jù)對(duì)象M建立一系列連接和數(shù)據(jù)傳輸而為低效的。在另一個(gè)這樣的實(shí)施例中,可以在瀏覽器監(jiān)視部件44檢測(cè)到寫(xiě)入時(shí),但是在滿足特定閾值之后,例如在定義的閾值時(shí)段過(guò)去而沒(méi)有進(jìn)一步寫(xiě)入到瀏覽器緩存20之后和/ 或在定義的閾值量的數(shù)據(jù)寫(xiě)入到瀏覽器緩存20之后,觸發(fā)同步??商鎿Q地或者此外,可以由遠(yuǎn)程計(jì)算機(jī)M觸發(fā)同步;例如,遠(yuǎn)程計(jì)算機(jī)M可以發(fā)送使瀏覽器緩存20與遠(yuǎn)程倉(cāng)庫(kù)56 同步的通知給計(jì)算機(jī)52,并且瀏覽器緩存同步部件46可以被配置成在接收到來(lái)自遠(yuǎn)程計(jì)算機(jī)M的通知時(shí)執(zhí)行該同步。這種類(lèi)型的配置在具有對(duì)等關(guān)系的計(jì)算機(jī),例如其中可以改動(dòng)任一個(gè)計(jì)算機(jī)52的瀏覽器緩存20的兩個(gè)計(jì)算機(jī)之間可能是有利的。作為另一個(gè)實(shí)例, 可以周期性地,例如在每周的基礎(chǔ)上在預(yù)定的時(shí)間,或者在自最近的同步以來(lái)過(guò)去特定時(shí)間量之后觸發(fā)同步。作為又一個(gè)可替換方案,可以基于其他因素例如在檢測(cè)到處理器60空閑閾值時(shí)間段時(shí)或者在檢測(cè)到網(wǎng)絡(luò)帶寬的可用性時(shí)觸發(fā)同步。作為這個(gè)第一方面的第二變型,同步可以以許多方式出現(xiàn)。作為第一個(gè)實(shí)例,計(jì)算機(jī)20可以簡(jiǎn)單地向遠(yuǎn)程計(jì)算機(jī)M輸送在計(jì)算機(jī)20上變化的任何數(shù)據(jù)對(duì)象M而不檢查遠(yuǎn)程倉(cāng)庫(kù)56的內(nèi)容。該配置可能例如在遠(yuǎn)程計(jì)算機(jī)M包括僅接收來(lái)自計(jì)算機(jī)52的更新的檔案服務(wù)器的情況下是合適的。作為第二個(gè)實(shí)例,瀏覽器緩存同步部件46可以查詢(xún)遠(yuǎn)程計(jì)算機(jī)M的遠(yuǎn)程倉(cāng)庫(kù)56的內(nèi)容,并且可以比較各數(shù)據(jù)對(duì)象M以確定遠(yuǎn)程倉(cāng)庫(kù)56中丟失或過(guò)時(shí)的且應(yīng)當(dāng)更新的數(shù)據(jù)對(duì)象對(duì)。可替換地,瀏覽器緩存同步部件46可以將瀏覽器緩存20 的內(nèi)容列表輸送給遠(yuǎn)程計(jì)算機(jī)M以便與遠(yuǎn)程倉(cāng)庫(kù)56的內(nèi)容進(jìn)行比較,并且可以從遠(yuǎn)程計(jì)算機(jī)M接收要執(zhí)行的操作列表以便使瀏覽器緩存20和遠(yuǎn)程倉(cāng)庫(kù)56同步。在任一實(shí)施例中,該比較可以考慮許多因素,例如數(shù)據(jù)對(duì)象24的修改日期、數(shù)據(jù)對(duì)象M的大小或類(lèi)型、歸因于不同數(shù)據(jù)對(duì)象M的版本標(biāo)識(shí)符和/或代表數(shù)據(jù)對(duì)象M的內(nèi)容的哈希碼(hash code)。 瀏覽器緩存同步部件46于是可以將要輸送的數(shù)據(jù)對(duì)象M發(fā)送給遠(yuǎn)程計(jì)算機(jī)M以便使瀏覽器緩存20和遠(yuǎn)程倉(cāng)庫(kù)56同步??商鎿Q地或者此外,瀏覽器緩存同步部件46也可以請(qǐng)求遠(yuǎn)程計(jì)算機(jī)M上新存儲(chǔ)的或較近更新的數(shù)據(jù)對(duì)象對(duì),并且可以在瀏覽器緩存20中接收到這樣的數(shù)據(jù)對(duì)象M時(shí)存儲(chǔ)這些數(shù)據(jù)對(duì)象??商鎿Q地或者此外,如果發(fā)現(xiàn)數(shù)據(jù)對(duì)象M在瀏覽器緩存M和遠(yuǎn)程倉(cāng)庫(kù)56中均改變,那么瀏覽器緩存同步部件46和/或遠(yuǎn)程計(jì)算機(jī)M 可以確定是否將數(shù)據(jù)對(duì)象M的表示之一選作權(quán)威性的并且可以代替非權(quán)威性的表示。可替換地,可能的是合并數(shù)據(jù)對(duì)象M的表示以產(chǎn)生包含所有這樣的改變的混合數(shù)據(jù)對(duì)象24, 并且利用混合數(shù)據(jù)對(duì)象M代替所述兩種情況。說(shuō)明一些可變同步復(fù)雜性的該第二變型的一個(gè)特征涉及在遠(yuǎn)程倉(cāng)庫(kù)56中發(fā)現(xiàn)瀏覽器緩存20中不存在的數(shù)據(jù)對(duì)象。這樣的數(shù)據(jù)對(duì)象M在自從上次同步以來(lái)新存儲(chǔ)在遠(yuǎn)程倉(cāng)庫(kù)56中的情況下可能存在,或者在這樣的數(shù)據(jù)對(duì)象M從瀏覽器緩存20中移除的情況下可能存在。在一個(gè)這樣的實(shí)施例中,如果瀏覽器緩存同步部件46在遠(yuǎn)程倉(cāng)庫(kù)56中檢測(cè)到瀏覽器緩存20中不存在的數(shù)據(jù)對(duì)象對(duì),那么它可以請(qǐng)求遠(yuǎn)程計(jì)算機(jī)M從遠(yuǎn)程倉(cāng)庫(kù)56中移除數(shù)據(jù)對(duì)象M (從而假定從瀏覽器緩存20中移除)。相反地,瀏覽器緩存同步部件46可以被配置成從遠(yuǎn)程倉(cāng)庫(kù)56接收從瀏覽器緩存20移除已經(jīng)從遠(yuǎn)程倉(cāng)庫(kù)56移除的數(shù)據(jù)對(duì)象M 的請(qǐng)求,并且可以相應(yīng)地動(dòng)作以維持同步??商鎿Q地或者此外,瀏覽器緩存監(jiān)視部件44可以盡力檢測(cè)瀏覽器緩存20中至少一個(gè)移除的數(shù)據(jù)對(duì)象M的移除,并且瀏覽器緩存同步部件46于是可以請(qǐng)求遠(yuǎn)程計(jì)算機(jī)M從遠(yuǎn)程倉(cāng)庫(kù)56中移除數(shù)據(jù)對(duì)象M (從而假定新添加到遠(yuǎn)程倉(cāng)庫(kù)56)。在又一個(gè)實(shí)施例中,瀏覽器緩存監(jiān)視部件被配置成檢測(cè)從瀏覽器緩存20中移除至少一個(gè)移除的數(shù)據(jù)對(duì)象24,并且可以請(qǐng)求從遠(yuǎn)程倉(cāng)庫(kù)56中移除這樣的移除的數(shù)據(jù)對(duì)象24。其后在遠(yuǎn)程倉(cāng)庫(kù)56中識(shí)別的任何數(shù)據(jù)對(duì)象M都可以假定最近已被添加到遠(yuǎn)程倉(cāng)庫(kù)56。在又一個(gè)實(shí)施例中,瀏覽器緩存20和/或遠(yuǎn)程倉(cāng)庫(kù)56可以維持對(duì)各數(shù)據(jù)對(duì)象倉(cāng)庫(kù)進(jìn)行修改的日志,并且可以檢查或比較這樣的日志以便確定精確的同步操作。作為該第一方面的第三變型,這些技術(shù)可以選擇性地應(yīng)用于web瀏覽器提供的特定數(shù)據(jù)緩存。由于web瀏覽器接收的數(shù)據(jù)對(duì)象可能在不同的上下文中是有用的(例如屬于應(yīng)用的應(yīng)用資源以及在網(wǎng)頁(yè)的再現(xiàn)中使用的內(nèi)容型數(shù)據(jù)對(duì)象,例如HTML文檔、樣式表和嵌入的媒體對(duì)象),因而web瀏覽器可以在不同的緩存(例如被配置成存儲(chǔ)應(yīng)用資源的應(yīng)用緩存以及被配置成存儲(chǔ)內(nèi)容型數(shù)據(jù)對(duì)象的內(nèi)容緩存)中存儲(chǔ)這樣的數(shù)據(jù)對(duì)象。本文涉及的同步技術(shù)可以以各種不同的方式應(yīng)用到這樣的緩存的內(nèi)容。作為第一個(gè)實(shí)例,同步可以均勻地應(yīng)用到所有這樣的緩存中的所有數(shù)據(jù)對(duì)象。作為第二個(gè)實(shí)例,同步可以?xún)H僅適用于這樣的特定緩存,這些緩存被配置成存儲(chǔ)更重要值的數(shù)據(jù)對(duì)象(例如應(yīng)用緩存)以及忽略被配置成存儲(chǔ)不那么有用的數(shù)據(jù)對(duì)象的數(shù)據(jù)緩存的內(nèi)容。作為第三個(gè)實(shí)例,同步可以不同地應(yīng)用到這樣的緩存;例如,應(yīng)用緩存可以完全地且在頻繁的基礎(chǔ)上同步,而內(nèi)容緩存可以?xún)H僅關(guān)于其中存儲(chǔ)的數(shù)據(jù)對(duì)象的部分(例如最近時(shí)間幀中獲取或訪問(wèn)的數(shù)據(jù)對(duì)象)而同步,并且可以在不那么嚴(yán)格的時(shí)間表上同步。該第一方面的附加變型可能涉及更復(fù)雜的同步形式。作為第一個(gè)實(shí)例,瀏覽器緩存同步部件46和/或遠(yuǎn)程倉(cāng)庫(kù)56可以被配置成僅僅使數(shù)據(jù)對(duì)象M的部分同步,例如使與至少一個(gè)同步數(shù)據(jù)對(duì)象準(zhǔn)則匹配的數(shù)據(jù)對(duì)象M子集同步。例如,瀏覽器緩存同步部件46 可以被配置成僅僅使包含用戶(hù)數(shù)據(jù)文件的數(shù)據(jù)對(duì)象M和/或僅僅使包含應(yīng)用二進(jìn)制文件的數(shù)據(jù)對(duì)象M和/或僅僅使屬于特定用戶(hù)或應(yīng)用的數(shù)據(jù)對(duì)象M和/或僅僅使不超過(guò)特定數(shù)據(jù)大小的數(shù)據(jù)對(duì)象M同步。因此,瀏覽器緩存同步部件46可以忽略同步期間瀏覽器緩存20中存儲(chǔ)的其他數(shù)據(jù)對(duì)象M。作為第二個(gè)實(shí)例,可以設(shè)計(jì)這樣的同步策略,該同步策略描述同步的各個(gè)不同方面,例如同步觸發(fā)策略(例如同步可以開(kāi)始的情況集合)、同步類(lèi)型策略(例如單向同步與雙向同步)、數(shù)據(jù)對(duì)象比較策略(例如按照其比較數(shù)據(jù)對(duì)象的兩種表示以檢測(cè)差別的準(zhǔn)則)、數(shù)據(jù)對(duì)象類(lèi)型合并策略(例如可以合并的數(shù)據(jù)對(duì)象M的類(lèi)型以及用于這樣做的邏輯)和/或數(shù)據(jù)對(duì)象沖突解決策略(例如按照其解決數(shù)據(jù)對(duì)象M的不同表示的邏輯)。可能有利的是,定義描述各種各樣的同步形式的若干同步策略(例如不經(jīng)常的同步期間應(yīng)用的第一同步策略以及頻繁增量同步期間應(yīng)用的第二同步策略)。而且,同步策略可以由計(jì)算機(jī)52或者由遠(yuǎn)程計(jì)算機(jī)M根據(jù)其間的關(guān)系而定義。本領(lǐng)域普通技術(shù)人員可以設(shè)計(jì)用于在實(shí)現(xiàn)本文所討論的技術(shù)的同時(shí)發(fā)起和執(zhí)行瀏覽器緩存20和遠(yuǎn)程計(jì)算機(jī)M的同步的許多技術(shù)。可以在這些技術(shù)的實(shí)施例之中變化的第二方面涉及實(shí)現(xiàn)方式的架構(gòu)。作為第一個(gè)實(shí)例,瀏覽器緩存監(jiān)視部件44和瀏覽器緩存同步部件46可以在計(jì)算機(jī)52內(nèi)以各種不同的方式執(zhí)行。在第一這樣的實(shí)施例中,瀏覽器緩存監(jiān)視部件44可以被配置成在計(jì)算機(jī)52上在瀏覽器16內(nèi)例如作為瀏覽器16的部分或者其中安裝的插件而執(zhí)行。該實(shí)現(xiàn)方式在瀏覽器緩存監(jiān)視部件44主要承擔(dān)監(jiān)視瀏覽器緩存20的變化的任務(wù)以便觸發(fā)瀏覽器緩存監(jiān)視部件46的同步的情況下可能是有幫助的,因?yàn)檫@樣的變化很可能僅在瀏覽器16執(zhí)行時(shí)才出現(xiàn)。相比之下以及可替換地或者此外,瀏覽器緩存同步部件46可以被配置成在計(jì)算機(jī)52上作為瀏覽器16之外的進(jìn)程而執(zhí)行,例如作為計(jì)算機(jī)52的后臺(tái)服務(wù)而執(zhí)行。這可能是有利的,因?yàn)橥娇赡芾缤ㄟ^(guò)使改變的數(shù)據(jù)對(duì)象M同步而不干擾網(wǎng)頁(yè)的再現(xiàn)和瀏覽器16執(zhí)行應(yīng)用20并且通過(guò)允許瀏覽器緩存20與遠(yuǎn)程倉(cāng)庫(kù)56的同步在這樣的應(yīng)用20不執(zhí)行時(shí)以及甚至在瀏覽器16不執(zhí)行的情況下發(fā)生而與瀏覽器16獨(dú)立地發(fā)生。例如,當(dāng)計(jì)算機(jī)52連接到網(wǎng)絡(luò)時(shí),但是當(dāng)用戶(hù)12不在使用瀏覽器16時(shí)(例如當(dāng)計(jì)算機(jī)52空閑時(shí)),瀏覽器緩存同步部件46可以從遠(yuǎn)程倉(cāng)庫(kù)56中取回一些更新的數(shù)據(jù)對(duì)象M并且將它們存儲(chǔ)在瀏覽器緩存20中,并且即使計(jì)算機(jī)52處于離線狀態(tài)下,當(dāng)用戶(hù)12請(qǐng)求使用這些數(shù)據(jù)對(duì)象M (例如調(diào)用結(jié)合了這樣的web對(duì)象M的應(yīng)用22)時(shí),這樣的對(duì)象可以在瀏覽器16中使用。作為該第二方面的第二個(gè)實(shí)例,這些技術(shù)的實(shí)施例的架構(gòu)可以在實(shí)現(xiàn)這里描述的特征的同時(shí)說(shuō)明計(jì)算機(jī)M內(nèi)的其他進(jìn)程的動(dòng)作。例如,可能有利的是將瀏覽器緩存同步部件46實(shí)現(xiàn)為在瀏覽器16之外執(zhí)行的進(jìn)程,但是該獨(dú)立性可以允許這兩個(gè)進(jìn)程的競(jìng)爭(zhēng)性干擾。作為第一個(gè)實(shí)例,瀏覽器緩存同步部件46可能試圖代替瀏覽器16使用的數(shù)據(jù)對(duì)象M, 從而造成數(shù)據(jù)侵犯錯(cuò)誤。作為第二個(gè)實(shí)例,瀏覽器緩存同步部件46和瀏覽器16中的每一個(gè)可以更新數(shù)據(jù)對(duì)象24,并且如果不使用對(duì)象同步構(gòu)造,那么可能出現(xiàn)競(jìng)爭(zhēng)狀況,導(dǎo)致數(shù)據(jù)丟失和潛在的邏輯問(wèn)題。為了避免這樣的問(wèn)題并且改進(jìn)這些技術(shù)的實(shí)現(xiàn)方式,瀏覽器緩存監(jiān)視部件44和/或?yàn)g覽器緩存同步部件46可以考慮其他進(jìn)程的動(dòng)作。作為第一個(gè)實(shí)例, 瀏覽器緩存同步部件46可以在使數(shù)據(jù)對(duì)象M與遠(yuǎn)程倉(cāng)庫(kù)56同步之前請(qǐng)求數(shù)據(jù)對(duì)象M的訪問(wèn)鎖(例如信號(hào)量或互斥),并且可以在完成數(shù)據(jù)對(duì)象M的同步時(shí)釋放數(shù)據(jù)對(duì)象M的鎖。 可替換地或者此外,瀏覽器緩存監(jiān)視部件44可以被配置成在檢測(cè)到瀏覽器緩存同步部件 46對(duì)瀏覽器16使用的數(shù)據(jù)對(duì)象M的更新時(shí)通知瀏覽器16更新的數(shù)據(jù)對(duì)象M的可用性, 并且瀏覽器可以在瀏覽器16的操作中的方便時(shí)刻(例如在數(shù)據(jù)對(duì)象M未被積極使用時(shí))重新加載更新的數(shù)據(jù)對(duì)象對(duì)。作為該第二方面的第三個(gè)實(shí)例,瀏覽器緩存同步部件46執(zhí)行的同步可以包含在計(jì)算環(huán)境18與遠(yuǎn)程倉(cāng)庫(kù)56的更廣泛的同步中。在第一個(gè)這樣的實(shí)現(xiàn)方式中,兩個(gè)計(jì)算機(jī)可以共享存儲(chǔ)在瀏覽器緩存20之內(nèi)以及存儲(chǔ)在瀏覽器緩存20之外但是存儲(chǔ)在計(jì)算環(huán)境18 之內(nèi)的數(shù)據(jù)對(duì)象M(例如計(jì)算機(jī)52的文件系統(tǒng)中存儲(chǔ)的文件、操作系統(tǒng)存儲(chǔ)的用戶(hù)簡(jiǎn)檔以及數(shù)據(jù)庫(kù)中存儲(chǔ)的記錄)。同步進(jìn)程可以被設(shè)計(jì)成在單個(gè)同步期間使許多數(shù)據(jù)對(duì)象系統(tǒng)中存儲(chǔ)和訪問(wèn)的大而多樣的數(shù)據(jù)對(duì)象M集合(包括瀏覽器緩存20中存儲(chǔ)的數(shù)據(jù)對(duì)象同步。這可能是有幫助的,例如用于允許用戶(hù)12規(guī)定應(yīng)用到所有數(shù)據(jù)對(duì)象M的單個(gè)同步策略而不管這樣的數(shù)據(jù)對(duì)象M如何被存儲(chǔ),以及用于代替實(shí)現(xiàn)獨(dú)立地(以及可能沖突地)使不同數(shù)據(jù)對(duì)象M集合同步的多個(gè)同步部件,而允許一個(gè)部件執(zhí)行這樣的數(shù)據(jù)對(duì)象對(duì)的同步。在一個(gè)這樣的實(shí)施例中,計(jì)算環(huán)境18可以代表可部署的計(jì)算環(huán)境,并且遠(yuǎn)程計(jì)算機(jī)M可以包括計(jì)算環(huán)境主機(jī)。為了降低構(gòu)成當(dāng)代計(jì)算環(huán)境的對(duì)象的復(fù)雜多樣性和分散化, 可以設(shè)計(jì)計(jì)算環(huán)境的可部署表示,其中將構(gòu)成計(jì)算環(huán)境的對(duì)象組織成數(shù)據(jù)對(duì)象層次,其可以由計(jì)算環(huán)境主機(jī)托管。該計(jì)算環(huán)境主機(jī)可以被配置成存儲(chǔ)包括用戶(hù)12的計(jì)算環(huán)境18的整個(gè)計(jì)算機(jī)集合的表示;在這樣的計(jì)算機(jī)之中協(xié)調(diào)計(jì)算環(huán)境18的同步;存儲(chǔ)計(jì)算環(huán)境18 的權(quán)威表示(例如攜帶解決版本沖突的優(yōu)先級(jí)的數(shù)據(jù)對(duì)象M的特定表示);和/或管理計(jì)算環(huán)境18或者其部分到特定計(jì)算機(jī)52 (例如新添加的計(jì)算機(jī))的部署。(可以理解的是,該方案中的遠(yuǎn)程倉(cāng)庫(kù)56可能不一定與計(jì)算環(huán)境主機(jī)82上的瀏覽器緩存相應(yīng),該計(jì)算環(huán)境主機(jī) 82可以包括這樣的文件服務(wù)器,該文件服務(wù)器甚至不包含瀏覽器,而是改為例如代表被分配來(lái)存儲(chǔ)可部署計(jì)算環(huán)境84的計(jì)算環(huán)境主機(jī)82的文件系統(tǒng)的部分。)可以將數(shù)據(jù)對(duì)象層次輸送給不同的設(shè)備以表示相同的計(jì)算環(huán)境(包括相同的用戶(hù)簡(jiǎn)檔、應(yīng)用、數(shù)據(jù)文件等等),并且每個(gè)設(shè)備可以基于設(shè)備的能力以一致但是定制的方式再現(xiàn)計(jì)算環(huán)境(例如用于從附接到工作站的鍵盤(pán)設(shè)備接收數(shù)據(jù)條目的硬鍵盤(pán)接口以及用于從手機(jī)設(shè)備接收數(shù)據(jù)條目的觸摸屏軟件鍵盤(pán)接口)。因此,可部署的計(jì)算環(huán)境的用戶(hù)可以以平臺(tái)和設(shè)備獨(dú)立的方式與可部署的計(jì)算環(huán)境交互,同時(shí)也實(shí)現(xiàn)相對(duì)于可替換的訪問(wèn)技術(shù)的至少一些優(yōu)點(diǎn),例如同步或異步調(diào)用、標(biāo)準(zhǔn)操作的批處理以及移動(dòng)代理。而且,如果構(gòu)成計(jì)算環(huán)境18的數(shù)據(jù)對(duì)象M在可部署計(jì)算環(huán)境內(nèi)以均勻的方式表示且以一致的方式管理(而不管通過(guò)其訪問(wèn)這樣的數(shù)據(jù)對(duì)象 M的特定數(shù)據(jù)對(duì)象系統(tǒng)如何),那么可以設(shè)計(jì)一組服務(wù)以應(yīng)用到計(jì)算環(huán)境的所有數(shù)據(jù)對(duì)象。 然而,本領(lǐng)域普通技術(shù)人員可以設(shè)計(jì)其中可以應(yīng)用這里討論的技術(shù)的許多這樣的方案。圖5示出了一種這樣的方案80,其中計(jì)算環(huán)境可以由計(jì)算環(huán)境主機(jī)82托管,該計(jì)算環(huán)境主機(jī)可以存儲(chǔ)和管理可部署計(jì)算環(huán)境84。計(jì)算環(huán)境主機(jī)82也可以代表諸如手機(jī)設(shè)備86、個(gè)人筆記本計(jì)算機(jī)90和公共工作站94之類(lèi)的不同設(shè)備以及也代表具有不同訪問(wèn)特權(quán)的不同類(lèi)型的用戶(hù)以不同的方式再現(xiàn)可部署計(jì)算環(huán)境84。因此,計(jì)算環(huán)境的再現(xiàn)反映了跨暴露相同的應(yīng)用、用戶(hù)簡(jiǎn)檔、殼配置(shell configuration)、用戶(hù)數(shù)據(jù)對(duì)象等等的所有設(shè)備的一致計(jì)算環(huán)境。因此,用戶(hù)可以通過(guò)高性能筆記本計(jì)算機(jī)訪問(wèn)計(jì)算環(huán)境的全功能版本92、在低功率手機(jī)設(shè)備86上訪問(wèn)計(jì)算環(huán)境的精簡(jiǎn)版本88以及通過(guò)公共終端94的web 瀏覽器86訪問(wèn)計(jì)算環(huán)境的瀏覽器兼容且面向隱私的版本98。在每個(gè)這樣的設(shè)備的能力支持計(jì)算環(huán)境的再現(xiàn)的程度上,由于根據(jù)每個(gè)設(shè)備的能力調(diào)節(jié)的可部署計(jì)算環(huán)境84的再現(xiàn)而可以呈現(xiàn)一致的用戶(hù)界面和數(shù)據(jù)集合??梢詫⒂?jì)算環(huán)境的更新向后傳播到計(jì)算環(huán)境主機(jī)82,并且可以自動(dòng)地使其與其他設(shè)備同步。不同的設(shè)備也可以通過(guò)與其他設(shè)備共享本地存儲(chǔ)的數(shù)據(jù)并且通過(guò)控制其他設(shè)備或者由其他設(shè)備控制而協(xié)作。因此,計(jì)算環(huán)境可以因而設(shè)計(jì)和呈現(xiàn)為云計(jì)算架構(gòu),包括表達(dá)為跨形成相同計(jì)算環(huán)境的協(xié)作門(mén)戶(hù)(portal)(具有特定于設(shè)備的屬性)網(wǎng)格的所有設(shè)備(“客戶(hù)端”)的一致再現(xiàn)的設(shè)備獨(dú)立表示(“云”)。特別是關(guān)于計(jì)算環(huán)境的應(yīng)用,可部署計(jì)算環(huán)境84可以包括應(yīng)用集合、應(yīng)用資源和由此創(chuàng)建的數(shù)據(jù)對(duì)象的表示。而且,計(jì)算環(huán)境主機(jī)82可以將服務(wù)應(yīng)用于構(gòu)成數(shù)據(jù)對(duì)象層次32的不同對(duì)象,并且數(shù)據(jù)對(duì)象以其存儲(chǔ)于可部署計(jì)算環(huán)境84中的通用格式可以有利于服務(wù)的一致可用性和應(yīng)用,而不管向其應(yīng)用的數(shù)據(jù)對(duì)象的性質(zhì)如何。關(guān)于該第二方面,如果計(jì)算機(jī)52以代表計(jì)算環(huán)境主機(jī)82管理的可部署計(jì)算環(huán)境 84的計(jì)算環(huán)境18為特征,那么這里討論的技術(shù)可以以與其相關(guān)的特定優(yōu)點(diǎn)實(shí)現(xiàn)。作為第一個(gè)實(shí)例,如果計(jì)算環(huán)境主機(jī)82用作遠(yuǎn)程計(jì)算機(jī)M,那么可能有利的是將瀏覽器緩存20表示為計(jì)算環(huán)境18的一部分。而且,如果遠(yuǎn)程倉(cāng)庫(kù)56包括計(jì)算環(huán)境主機(jī)82管理的可部署計(jì)算環(huán)境84的表示,那么可以一起執(zhí)行包括瀏覽器緩存20的整個(gè)計(jì)算環(huán)境18的同步。例如, 可以設(shè)計(jì)這樣的計(jì)算環(huán)境部件,其管理計(jì)算機(jī)52的大的數(shù)據(jù)對(duì)象M集合與計(jì)算環(huán)境主機(jī) 82的同步,包括存儲(chǔ)在瀏覽器緩存20之內(nèi)的數(shù)據(jù)對(duì)象M以及存儲(chǔ)在其他數(shù)據(jù)對(duì)象系統(tǒng)中且可通過(guò)其他數(shù)據(jù)對(duì)象系統(tǒng)訪問(wèn)的數(shù)據(jù)對(duì)象M,例如文件系統(tǒng)中的文件、系統(tǒng)注冊(cè)表中存儲(chǔ)的配置信息和操作系統(tǒng)存儲(chǔ)的用戶(hù)簡(jiǎn)檔。同步于是可以在瀏覽器緩存20的內(nèi)容以及計(jì)算環(huán)境18的其余部分上均勻地執(zhí)行,并且其他服務(wù)(例如認(rèn)證服務(wù)和壓縮服務(wù))可以被設(shè)計(jì)且均勻地應(yīng)用到所有這樣的數(shù)據(jù)對(duì)象M。再次,可能希望的是作為單個(gè)同步進(jìn)程和/或在單個(gè)部件中執(zhí)行所有這樣的對(duì)象M的同步,所述單個(gè)部件例如使可部署計(jì)算環(huán)境84的所有數(shù)據(jù)對(duì)象M與計(jì)算環(huán)境主機(jī)82同步的計(jì)算環(huán)境部件。而且,計(jì)算環(huán)境主機(jī)82也可以處理將這樣的數(shù)據(jù)對(duì)象輸送給共享計(jì)算環(huán)境的其他計(jì)算機(jī),使得每個(gè)計(jì)算機(jī)M可以主要與計(jì)算環(huán)境主機(jī)82通信,但是仍然可以接收在其他計(jì)算機(jī)M上最初創(chuàng)建或最近更新的數(shù)據(jù)對(duì)象對(duì)。作為該第二方面的第四個(gè)實(shí)例,瀏覽器緩存監(jiān)視部件44和/或?yàn)g覽器緩存同步部件46可以以同步編程接口為特征,該同步編程接口可以允許在瀏覽器16之內(nèi)執(zhí)行的應(yīng)用 22與瀏覽器緩存20中的數(shù)據(jù)對(duì)象M的同步交互。作為第一個(gè)實(shí)例,同步編程接口可以允許應(yīng)用22識(shí)別同步的細(xì)節(jié),例如數(shù)據(jù)對(duì)象M的上次同步的日期以及數(shù)據(jù)對(duì)象M的來(lái)源。 在一個(gè)這樣的實(shí)施例中,同步編程接口可以包括被配置成公開(kāi)同步的至少一個(gè)同步策略的至少一個(gè)屬性的至少一個(gè)同步策略公開(kāi)操作以及被配置成設(shè)置至少一個(gè)同步策略的至少一個(gè)屬性的至少一個(gè)同步策略設(shè)置操作。例如,應(yīng)用主機(jī)可以供應(yīng)應(yīng)用,其按固定時(shí)間表更新特定應(yīng)用資源,例如每個(gè)星期日午夜供應(yīng)新的防病毒定義數(shù)據(jù)庫(kù)的防病毒軟件供應(yīng)商。 應(yīng)用主機(jī)因而可以將應(yīng)用22配置成經(jīng)由同步編程接口指示瀏覽器緩存同步部件46在預(yù)定時(shí)間更新包括該應(yīng)用資源的數(shù)據(jù)對(duì)象對(duì)。應(yīng)用22也可以使用同步編程接口以識(shí)別數(shù)據(jù)對(duì)象M的上次這樣的同步的日期和時(shí)間(例如以便在病毒定義數(shù)據(jù)庫(kù)過(guò)期的情況下通知用戶(hù)12),和/或限制數(shù)據(jù)對(duì)象M僅僅與應(yīng)用主機(jī)識(shí)別的受信任來(lái)源同步(例如,使得病毒定義數(shù)據(jù)庫(kù)僅可以直接從防病毒軟件供應(yīng)商處獲取)??商鎿Q地或者此外,瀏覽器緩存同步部件46可以暴露同步編程接口,該同步編程接口被配置成調(diào)用瀏覽器緩存同步部件46以便使瀏覽器緩存20 (或者其部分)與遠(yuǎn)程倉(cāng)庫(kù)M同步。例如,可以允許應(yīng)用22調(diào)用由瀏覽器緩存同步部件46通過(guò)同步編程接口的操作對(duì)特定數(shù)據(jù)對(duì)象M的同步(例如,如果防病毒應(yīng)用的用戶(hù)請(qǐng)求即時(shí)更新病毒定義數(shù)據(jù)庫(kù))。此外,同步編程接口可以以熟悉而良好確立的方式實(shí)現(xiàn),其可以允許應(yīng)用方便地且沒(méi)有顯著的重新設(shè)計(jì)地利用接口。例如,被設(shè)計(jì)成支持在web瀏覽器16中執(zhí)行的應(yīng)用22 的web瀏覽器插件可以暴露基于Javakript的同步編程接口,例如作為可以在Javakript 中調(diào)用以便在瀏覽器緩存20中讀寫(xiě)不同數(shù)據(jù)對(duì)象M的操作集合??商鎿Q地或者此外,同步編程接口可以支持更高級(jí)的語(yǔ)言,例如諸如Java和0#之類(lèi)的面向?qū)ο蟮恼Z(yǔ)言;可以暴露計(jì)算環(huán)境的更復(fù)雜的細(xì)節(jié),例如同步服務(wù)的調(diào)度、本地緩存的新鮮度和策略以及包括計(jì)算環(huán)境的計(jì)算機(jī)的關(guān)系(例如,所述計(jì)算機(jī)用作特定數(shù)據(jù)對(duì)象的權(quán)威表示的主機(jī));和/或可以包括允許更強(qiáng)大的編程訪問(wèn)的更復(fù)雜的編程構(gòu)造(例如可以通知應(yīng)用諸如特定數(shù)據(jù)對(duì)象的同步之類(lèi)的計(jì)算環(huán)境事件的事件訂閱和數(shù)據(jù)饋送)。通過(guò)這種方式,編程接口可以以復(fù)雜的方式暴露計(jì)算環(huán)境的寬泛的各種各樣的方面,同時(shí)遵守可以由開(kāi)發(fā)者容易地采用而不必利用不同編程技術(shù)重新設(shè)計(jì)或重寫(xiě)其大部分的熟悉的編程模型。本領(lǐng)域普通技術(shù)人員可以在實(shí)現(xiàn)這里討論的技術(shù)時(shí)設(shè)計(jì)出許多架構(gòu)及其特征??梢栽谶@些技術(shù)的實(shí)施例之中變化的第三方面涉及可以包含在其不同實(shí)現(xiàn)方式中的特定于數(shù)據(jù)對(duì)象的特征。作為第一個(gè)實(shí)例,應(yīng)用22請(qǐng)求存儲(chǔ)于瀏覽器緩存20中的數(shù)據(jù)對(duì)象M可以具有一個(gè)或多個(gè)不尋常的屬性,例如大的數(shù)據(jù)對(duì)象或者許多關(guān)聯(lián)的數(shù)據(jù)對(duì)象的集合。一些瀏覽器緩存20可能不能夠適應(yīng)這樣的緩存。例如,瀏覽器緩存20可以對(duì)特定數(shù)據(jù)對(duì)象施加大小限制,并且特定數(shù)據(jù)對(duì)象M可能太大而不能存儲(chǔ)于瀏覽器緩存20 中(例如,可以提供用于應(yīng)用22離線訪問(wèn)的大數(shù)據(jù)庫(kù))。相反地,瀏覽器16可以被配置成將這樣的數(shù)據(jù)對(duì)象M存儲(chǔ)在瀏覽器緩存20之外和計(jì)算環(huán)境18中,例如文件系統(tǒng)中的文件, 并且在瀏覽器緩存20中存儲(chǔ)對(duì)存儲(chǔ)于瀏覽器緩存20之外的數(shù)據(jù)對(duì)象M的引用。而且,瀏覽器緩存監(jiān)視部件44可以被配置成監(jiān)視存儲(chǔ)于瀏覽器緩存20之外的數(shù)據(jù)對(duì)象M的更新, 連同監(jiān)視存儲(chǔ)在瀏覽器緩存20之內(nèi)的數(shù)據(jù)對(duì)象M的更新;和/或?yàn)g覽器緩存同步部件46 可以被配置成使存儲(chǔ)于瀏覽器緩存20之外的這樣的數(shù)據(jù)對(duì)象對(duì)連同存儲(chǔ)在瀏覽器緩存20 之內(nèi)的數(shù)據(jù)對(duì)象M同步。作為該第三方面的第二個(gè)實(shí)例,存儲(chǔ)在瀏覽器緩存20中的數(shù)據(jù)對(duì)象M可以包括被配置成在瀏覽器16之內(nèi)執(zhí)行的應(yīng)用22的應(yīng)用資源。瀏覽器緩存監(jiān)視部件44和/或?yàn)g覽器緩存同步部件46可以被配置成以特定的方式處理這樣的數(shù)據(jù)對(duì)象對(duì)。在第一個(gè)這樣的方案中,數(shù)據(jù)對(duì)象M可以包括應(yīng)用安裝包,該安裝包可以被調(diào)用以便在瀏覽器16之內(nèi)安裝應(yīng)用22。瀏覽器緩存同步部件46因此可以被配置成在接收到來(lái)自遠(yuǎn)程計(jì)算機(jī)M的數(shù)據(jù)對(duì)象M時(shí)調(diào)用應(yīng)用安裝包以安裝應(yīng)用22。作為第二個(gè)實(shí)例,數(shù)據(jù)對(duì)象M與之關(guān)聯(lián)的應(yīng)用 22可以與應(yīng)用主機(jī)關(guān)聯(lián),并且可以被配置成在諸如連接的上下文或者斷開(kāi)的上下文之類(lèi)的應(yīng)用主機(jī)連接上下文中執(zhí)行。在一個(gè)這樣的方案中,數(shù)據(jù)對(duì)象M可以包括離線應(yīng)用資源, 并且應(yīng)用22可以被配置成當(dāng)應(yīng)用22在斷開(kāi)的上下文中執(zhí)行時(shí)使用離線應(yīng)用資源。本領(lǐng)域普通技術(shù)人員可以在實(shí)現(xiàn)這里討論的技術(shù)時(shí)設(shè)計(jì)出用于針對(duì)特定類(lèi)型的數(shù)據(jù)對(duì)象M配置瀏覽器緩存監(jiān)視部件44和/或?yàn)g覽器緩存同步部件46的許多技術(shù)。盡管以特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語(yǔ)言描述了主題,但是應(yīng)當(dāng)理解的是, 所附權(quán)利要求中限定的主題不一定限于上面描述的特定特征或動(dòng)作。相反地,上面描述的特定特征和動(dòng)作被公開(kāi)為實(shí)施權(quán)利要求的實(shí)例形式。當(dāng)在本申請(qǐng)中使用時(shí),術(shù)語(yǔ)“部件”、“模塊”、“系統(tǒng)”、“接口”等等通常意在表示計(jì)算機(jī)相關(guān)的實(shí)體,其為硬件、硬件和軟件的組合、軟件或者執(zhí)行中的軟件。例如,部件可以是但不限于處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行文件、執(zhí)行線程、程序和/或計(jì)算機(jī)。舉例而言,運(yùn)行于控制器上的應(yīng)用以及該控制器可以是部件。一個(gè)或多個(gè)部件可以駐留于進(jìn)程和/或執(zhí)行線程中并且部件可以本地化于一個(gè)計(jì)算機(jī)上和/或分布在兩個(gè)或更多計(jì)算機(jī)之間。此外,要求保護(hù)的主題可以實(shí)現(xiàn)為使用標(biāo)準(zhǔn)編程和/或工程技術(shù)以產(chǎn)生軟件、固件、硬件或者其任意組合以便控制計(jì)算機(jī)實(shí)施所公開(kāi)的主題的方法、裝置或者制品。在本文中使用的術(shù)語(yǔ)“制品”意在涵蓋可從任何計(jì)算機(jī)可讀設(shè)備、載體或介質(zhì)中訪問(wèn)的計(jì)算機(jī)程序。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,在不脫離要求保護(hù)的主題的范圍或精神的情況下可以對(duì)該配置做出許多修改。圖6和下面的討論提供了實(shí)現(xiàn)本文闡述的一個(gè)或多個(gè)規(guī)定的實(shí)施例的適當(dāng)計(jì)算環(huán)境的簡(jiǎn)要一般描述。圖6的操作環(huán)境是適當(dāng)操作環(huán)境的僅僅一個(gè)實(shí)例,并且并不意在暗示關(guān)于操作環(huán)境的使用或功能的范圍的任何限制。示例計(jì)算設(shè)備包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、移動(dòng)設(shè)備(例如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、媒體播放器等等)、多處理器系統(tǒng)、消費(fèi)電子器件、微型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任何上面的系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。盡管不是所要求的,在由一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行的“計(jì)算機(jī)可讀指令”的一般上下文中描述了若干實(shí)施例。計(jì)算機(jī)可讀指令可以經(jīng)由計(jì)算機(jī)可讀介質(zhì)分布(在下文中討論)。計(jì)算機(jī)可讀指令可以實(shí)現(xiàn)為執(zhí)行特定任務(wù)或者實(shí)現(xiàn)特定抽象數(shù)據(jù)類(lèi)型的程序模塊,例如函數(shù)、對(duì)象、應(yīng)用編程接口(API)、數(shù)據(jù)結(jié)構(gòu)等等。典型地,計(jì)算機(jī)可讀指令的功能可以根據(jù)需要被組合或分布于不同的環(huán)境中。圖6示出了包括被配置成實(shí)施本文提供的一個(gè)或多個(gè)實(shí)施例的計(jì)算設(shè)備102的系統(tǒng)100的實(shí)例。在一個(gè)配置中,計(jì)算設(shè)備102包括至少一個(gè)處理單元106和存儲(chǔ)器108。取決于計(jì)算設(shè)備的確切配置和類(lèi)型,存儲(chǔ)器108可以是易失性的(諸如例如RAM)、非易失性的 (諸如例如ROM、閃存等等)或者這二者的某種組合。該配置通過(guò)虛線104示于圖6中。在其他實(shí)施例中,設(shè)備102可以包括附加的特征和/或功能。例如,設(shè)備102也可以包括附加的存儲(chǔ)裝置(例如可移除的和/或不可移除的),包括但不限于磁性存儲(chǔ)裝置、光學(xué)存儲(chǔ)裝置等等。這樣的附加存儲(chǔ)裝置在圖6中由存儲(chǔ)裝置110示出。在一個(gè)實(shí)施例中, 實(shí)施本文提供的一個(gè)或多個(gè)實(shí)施例的計(jì)算機(jī)可讀指令可以處于存儲(chǔ)裝置110中。存儲(chǔ)裝置 110也可以存儲(chǔ)實(shí)施操作系統(tǒng)、應(yīng)用程序等等的其他計(jì)算機(jī)可讀指令。計(jì)算機(jī)可讀指令也可以加載在存儲(chǔ)器108中以供例如處理單元106執(zhí)行。本文中使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”包括計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的易失性的和非易失性的、可移除的和不可移除的介質(zhì),用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令或其他數(shù)據(jù)之類(lèi)的信息。存儲(chǔ)器108和存儲(chǔ)裝置110是計(jì)算機(jī)存儲(chǔ)介質(zhì)的實(shí)例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于RAM、ROM、EEPR0M、閃存或者其他存儲(chǔ)技術(shù)、 CD-ROM、數(shù)字多功能盤(pán)(DVD )或其他光學(xué)存儲(chǔ)裝置、盒式磁帶、磁帶、磁盤(pán)存儲(chǔ)裝置或其他磁性存儲(chǔ)設(shè)備或者可以用來(lái)存儲(chǔ)希望的信息且可以由設(shè)備102訪問(wèn)的任何其他介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是設(shè)備102的一部分。設(shè)備102也可以包括允許設(shè)備102與其他設(shè)備通信的通信連接(一個(gè)或多個(gè))116。 通信連接(一個(gè)或多個(gè))116可以包括但不限于調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡(NIC)、集成網(wǎng)絡(luò)接口、射頻發(fā)射器/接收器、紅外端口、USB連接或者用于將計(jì)算設(shè)備102連接到其他計(jì)算設(shè)備的其他接口。通信連接(一個(gè)或多個(gè))116可以包括有線連接或者無(wú)線連接。通信連接(一個(gè)或多個(gè))116可以發(fā)送和/或接收通信媒體。術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”可以包括通信介質(zhì)。通信介質(zhì)典型地在諸如載波或其他傳輸機(jī)制之類(lèi)的“調(diào)制數(shù)據(jù)信號(hào)”中含有計(jì)算機(jī)可讀指令或其他數(shù)據(jù),并且包括任何信息輸送介質(zhì)。術(shù)語(yǔ)“調(diào)制數(shù)據(jù)信號(hào)”可以包括這樣的信號(hào),該信號(hào)具有其以這樣的方式設(shè)置或改變以便在該信號(hào)中編碼信息的一個(gè)或多個(gè)特性。設(shè)備102可以包括輸入設(shè)備(一個(gè)或多個(gè))114,例如鍵盤(pán)、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、 觸摸輸入設(shè)備、紅外照相機(jī)、視頻輸入設(shè)備和/或任何其他輸入設(shè)備。諸如一個(gè)或多個(gè)顯示器、揚(yáng)聲器、打印機(jī)和/或任何其他輸出設(shè)備之類(lèi)的輸出設(shè)備(一個(gè)或多個(gè))112也可以包含在設(shè)備102中。輸入設(shè)備(一個(gè)或多個(gè))114和輸出設(shè)備(一個(gè)或多個(gè))112可以經(jīng)由有線連接、無(wú)線連接或者其任意組合連接到設(shè)備102。在一個(gè)實(shí)施例中,來(lái)自另一個(gè)計(jì)算設(shè)備的輸入設(shè)備或輸出設(shè)備可以用作用于計(jì)算設(shè)備102的輸入設(shè)備(一個(gè)或多個(gè))114或輸出設(shè)備 (一個(gè)或多個(gè))112。計(jì)算設(shè)備102的部件可以通過(guò)諸如總線之類(lèi)的不同互連連接。這樣的互連可以包括外圍部件互連(PCI)(例如PCI Express)、通用串行總線(USB)、火線(IEEE 1394)、光學(xué)總線結(jié)構(gòu)等等。在另一個(gè)實(shí)施例中,計(jì)算設(shè)備102的部件可以由網(wǎng)絡(luò)互連。例如,存儲(chǔ)器 108可以由位于不同物理位置的通過(guò)網(wǎng)絡(luò)互連的多個(gè)物理存儲(chǔ)單元組成。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,用來(lái)存儲(chǔ)計(jì)算機(jī)可讀指令的存儲(chǔ)設(shè)備可以跨網(wǎng)絡(luò)分布。例如,可經(jīng)由網(wǎng)絡(luò)118訪問(wèn)的計(jì)算設(shè)備120可以存儲(chǔ)執(zhí)行本文提供的一個(gè)或多個(gè)實(shí)施例的計(jì)算機(jī)可讀指令。計(jì)算設(shè)備102可以訪問(wèn)計(jì)算設(shè)備120并且下載一部分或所有計(jì)算機(jī)可讀指令以便執(zhí)行??商鎿Q地,計(jì)算設(shè)備102可以根據(jù)需要下載計(jì)算機(jī)可讀指令的片段,或者一些指令可以在計(jì)算設(shè)備102處執(zhí)行并且一些指令可以在計(jì)算設(shè)備120處執(zhí)行。本文提供了實(shí)施例的不同操作。在一個(gè)實(shí)施例中,所描述的一個(gè)或多個(gè)操作可以構(gòu)成一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)的計(jì)算機(jī)可讀指令,這些指令在由計(jì)算設(shè)備執(zhí)行的情況下將使得計(jì)算設(shè)備執(zhí)行所描述的操作。描述一些或所有操作的順序不應(yīng)當(dāng)被解釋為暗示這些操作一定是順序相關(guān)的。受益于本說(shuō)明書(shū)的本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解可替換的排序。此外,應(yīng)當(dāng)理解的是,不是所有的操作一定存在于本文提供的每個(gè)實(shí)施例中。而且,措詞“示例性”在本文中用來(lái)表示用作示例、實(shí)例或例證。本文中描述為“示例性”的任何方面或設(shè)計(jì)不一定要解釋為相對(duì)于其他方面或設(shè)計(jì)是有利的。相反地,措詞示例性的使用意在以具體的方式給出若干概念。當(dāng)在本申請(qǐng)中使用時(shí),措詞“或者”意在表示包容性“或者”而不是排他性“或者”。換言之,除非另有說(shuō)明或者根據(jù)上下文顯然可見(jiàn), “X采用A或者B”意在表示任何自然的包容性置換。換言之,如果X采用A ;X采用B ;或者 X采用A和B 二者,那么在前面任何情況下都滿足“X采用A或者B”。此外,本申請(qǐng)和所附權(quán)利要求書(shū)中使用的冠詞“一”一般可以解釋為表示“一個(gè)或多個(gè)”,除非另有規(guī)定或者根據(jù)上下文可知指的是單數(shù)形式。
此外,盡管針對(duì)一個(gè)或多個(gè)實(shí)現(xiàn)方式示出和描述了本公開(kāi)內(nèi)容,但是本領(lǐng)域技術(shù)人員基于本說(shuō)明書(shū)和附圖的閱讀和理解應(yīng)當(dāng)想到等效的變動(dòng)和修改。本公開(kāi)內(nèi)容包括所有這樣的修改和變動(dòng)并且僅由以下權(quán)利要求書(shū)的范圍限制。特別是考慮到上面描述的部件 (例如元件、資源等等)執(zhí)行的不同功能,除非另有說(shuō)明,用來(lái)描述這樣的部件的術(shù)語(yǔ)意在與執(zhí)行所描述的部件的規(guī)定功能的任何部件相應(yīng)(例如即功能上等效),即使結(jié)構(gòu)上不等效于執(zhí)行本文示出的本公開(kāi)內(nèi)容的示例性實(shí)現(xiàn)方式中的功能的公開(kāi)結(jié)構(gòu)。此外,盡管可能僅僅針對(duì)若干實(shí)現(xiàn)方式之一公開(kāi)了本公開(kāi)內(nèi)容的特定特征,但是這樣的特征可以與可能對(duì)于任何給定或特定應(yīng)用而言是所需的和有利的其他實(shí)現(xiàn)方式的一個(gè)或多個(gè)其他特征相組合。此外,就措詞“包含”、“擁有”、“具有”、“帶有”及其變體用在詳細(xì)說(shuō)明書(shū)或權(quán)利要求書(shū)中而言, 這樣的措詞預(yù)期以類(lèi)似于措詞“包括”的方式而是包容性的。
權(quán)利要求
1.一種被配置成使計(jì)算機(jī)(52)上的瀏覽器(16)的瀏覽器緩存(20)與遠(yuǎn)程計(jì)算機(jī)(54) 的遠(yuǎn)程倉(cāng)庫(kù)(56)同步的系統(tǒng)(42),該系統(tǒng)(42)包括瀏覽器緩存監(jiān)視部件(44),其被配置成檢測(cè)將至少一個(gè)數(shù)據(jù)對(duì)象(24)寫(xiě)入瀏覽器緩存(20)中,以及瀏覽器緩存同步部件(46),其被配置成在瀏覽器緩存監(jiān)視部件(44)檢測(cè)到所述寫(xiě)入時(shí)使瀏覽器緩存(20)與遠(yuǎn)程倉(cāng)庫(kù)(56)同步。
2.權(quán)利要求1的系統(tǒng),瀏覽器緩存同步部件被配置成在接收到來(lái)自遠(yuǎn)程計(jì)算機(jī)的使瀏覽器緩存與遠(yuǎn)程倉(cāng)庫(kù)同步的通知時(shí)使瀏覽器緩存與遠(yuǎn)程倉(cāng)庫(kù)同步。
3.權(quán)利要求1的系統(tǒng),瀏覽器緩存同步部件被配置成依照至少一個(gè)同步策略使瀏覽器緩存與遠(yuǎn)程倉(cāng)庫(kù)同步。
4.權(quán)利要求3的系統(tǒng),選自同步策略集合的至少一個(gè)同步策略包括 同步觸發(fā)策略;同步類(lèi)型策略; 數(shù)據(jù)對(duì)象比較策略; 數(shù)據(jù)對(duì)象類(lèi)型合并策略;以及數(shù)據(jù)對(duì)象沖突解決策略。
5.權(quán)利要求3的系統(tǒng),至少一個(gè)同步策略由遠(yuǎn)程計(jì)算機(jī)定義。
6.權(quán)利要求1的系統(tǒng)瀏覽器緩存包含在計(jì)算機(jī)的計(jì)算環(huán)境中,并且所述至少一個(gè)數(shù)據(jù)對(duì)象存儲(chǔ)在計(jì)算機(jī)的計(jì)算環(huán)境中。
7.權(quán)利要求6的系統(tǒng)計(jì)算環(huán)境包括可部署計(jì)算環(huán)境;遠(yuǎn)程計(jì)算機(jī)包括被配置成管理計(jì)算環(huán)境的計(jì)算環(huán)境主機(jī);并且瀏覽器緩存同步部件包括被配置成使計(jì)算環(huán)境與計(jì)算環(huán)境主機(jī)同步的計(jì)算環(huán)境部件。
8.權(quán)利要求1的系統(tǒng),瀏覽器緩存同步部件通過(guò)以下方式被配置為瀏覽器緩存中存儲(chǔ)的數(shù)據(jù)對(duì)象在使數(shù)據(jù)對(duì)象同步之前,請(qǐng)求來(lái)自計(jì)算機(jī)的數(shù)據(jù)對(duì)象的訪問(wèn)鎖;以及當(dāng)完成數(shù)據(jù)對(duì)象的同步時(shí),釋放數(shù)據(jù)對(duì)象的訪問(wèn)鎖。
9.權(quán)利要求1的系統(tǒng),瀏覽器緩存同步部件包括同步編程接口,該同步編程接口包括 被配置成公開(kāi)至少一個(gè)同步策略的至少一個(gè)屬性的至少一個(gè)同步策略公開(kāi)操作,以及被配置成設(shè)置至少一個(gè)同步策略的至少一個(gè)屬性的至少一個(gè)同步策略設(shè)置操作。
10.權(quán)利要求9的系統(tǒng),同步編程接口包括被配置成調(diào)用瀏覽器緩存同步部件以使瀏覽器緩存與遠(yuǎn)程倉(cāng)庫(kù)同步的同步調(diào)用操作。
11.權(quán)利要求1的系統(tǒng),瀏覽器緩存中存儲(chǔ)的至少一個(gè)數(shù)據(jù)對(duì)象包括與被配置成在瀏覽器中執(zhí)行的應(yīng)用關(guān)聯(lián)的應(yīng)用資源。
12.權(quán)利要求11的系統(tǒng) 數(shù)據(jù)對(duì)象包括應(yīng)用安裝包,并且瀏覽器緩存同步部件被配置成在接收到來(lái)自遠(yuǎn)程計(jì)算機(jī)的數(shù)據(jù)對(duì)象時(shí)調(diào)用應(yīng)用安裝包以便安裝應(yīng)用。
13.權(quán)利要求12的系統(tǒng),所述應(yīng)用與應(yīng)用主機(jī)關(guān)聯(lián)且被配置成在應(yīng)用主機(jī)連接上下文中執(zhí)行,該應(yīng)用主機(jī)連接上下文選自包括連接上下文和斷開(kāi)的上下文的應(yīng)用主機(jī)連接上下文集合。
14.權(quán)利要求13的系統(tǒng)數(shù)據(jù)對(duì)象包括離線應(yīng)用資源,并且所述應(yīng)用被配置成當(dāng)該應(yīng)用在斷開(kāi)的上下文中執(zhí)行時(shí)使用離線應(yīng)用資源。
15.一種被配置成使具有可部署計(jì)算環(huán)境(84)的計(jì)算機(jī)(52)上的瀏覽器(16)的瀏覽器緩存(20)與包括被配置成管理計(jì)算環(huán)境(84)的計(jì)算環(huán)境主機(jī)(82)的遠(yuǎn)程計(jì)算機(jī)(54) 的遠(yuǎn)程倉(cāng)庫(kù)(56)同步的系統(tǒng)(42),該系統(tǒng)(42)包括瀏覽器緩存監(jiān)視部件(44),其被配置成在計(jì)算機(jī)(52)上在瀏覽器(16)之內(nèi)執(zhí)行并且檢測(cè)將至少一個(gè)數(shù)據(jù)對(duì)象(24)寫(xiě)入瀏覽器緩存(20)中,包括瀏覽器緩存(20)中至少一個(gè)移除的數(shù)據(jù)對(duì)象(24)的移除,以及瀏覽器緩存同步部件(46),其被配置成在計(jì)算機(jī)(52)上作為瀏覽器(16)之外的進(jìn)程而執(zhí)行,并且被配置成當(dāng)瀏覽器緩存監(jiān)視部件(44)檢測(cè)到所述寫(xiě)入時(shí),依照至少一個(gè)同步策略使與至少一個(gè)同步數(shù)據(jù)對(duì)象準(zhǔn)則匹配的瀏覽器緩存(20)中的數(shù)據(jù)對(duì)象(24)與遠(yuǎn)程倉(cāng)庫(kù)(56)同步,并且當(dāng)接收到來(lái)自遠(yuǎn)程計(jì)算機(jī)(54)的使瀏覽器緩存(20)與遠(yuǎn)程倉(cāng)庫(kù)(56)同步的通知時(shí), 依照遠(yuǎn)程計(jì)算機(jī)(54)定義的至少一個(gè)同步策略使與至少一個(gè)同步數(shù)據(jù)對(duì)象準(zhǔn)則匹配的瀏覽器緩存(20)中的數(shù)據(jù)對(duì)象(24)與遠(yuǎn)程倉(cāng)庫(kù)(56)同步;以及向應(yīng)用(22)暴露同步編程接口,該同步編程接口包括被配置成公開(kāi)至少一個(gè)同步策略的至少一個(gè)屬性的至少一個(gè)同步策略公開(kāi)操作; 被配置成設(shè)置至少一個(gè)同步策略的至少一個(gè)屬性的至少一個(gè)同步策略設(shè)置操作;以及被配置成調(diào)用瀏覽器緩存同步部件(46)以使瀏覽器緩存(20)與遠(yuǎn)程倉(cāng)庫(kù)(56)同步的同步調(diào)用操作。
全文摘要
計(jì)算機(jī)用戶(hù)可以使用包括一組計(jì)算機(jī)的計(jì)算環(huán)境,這些計(jì)算機(jī)分別以具有包含許多類(lèi)型的數(shù)據(jù)對(duì)象的瀏覽器緩存的web瀏覽器為特征,所述數(shù)據(jù)對(duì)象包括應(yīng)用資源和用戶(hù)生成的數(shù)據(jù)文件。然而,瀏覽器緩存的內(nèi)容對(duì)計(jì)算機(jī)的計(jì)算環(huán)境有重大貢獻(xiàn),并且每個(gè)計(jì)算機(jī)呈現(xiàn)的計(jì)算環(huán)境可能有差異,從而提供不一致的計(jì)算環(huán)境。替代地,包括計(jì)算環(huán)境的計(jì)算機(jī)的瀏覽器緩存的內(nèi)容可以跨計(jì)算機(jī)而同步。此外,瀏覽器緩存可以與計(jì)算環(huán)境的其他數(shù)據(jù)對(duì)象(例如文件系統(tǒng)的相關(guān)部分)同步;同步可以實(shí)現(xiàn)為與應(yīng)用獨(dú)立地且甚至在瀏覽器不執(zhí)行時(shí)執(zhí)行的瀏覽器外的進(jìn)程;并且同步可以通過(guò)web應(yīng)用可以與之交戶(hù)的編程訪問(wèn)而暴露。
文檔編號(hào)G06F15/16GK102349062SQ201080011292
公開(kāi)日2012年2月8日 申請(qǐng)日期2010年2月19日 優(yōu)先權(quán)日2009年3月11日
發(fā)明者哈奈-西哈尼 A., 帕拉斯尼斯 A., 班達(dá)卡 A., 舒克拉 D., 穆罕默德 F., 希勒里奧 I., 恩德雷斯 R. 申請(qǐng)人:微軟公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1