本申請(qǐng)是國(guó)際申請(qǐng)日為2011年11月18日、于2013年7月12日進(jìn)入中國(guó)國(guó)家階段、國(guó)家申請(qǐng)?zhí)枮?01180065010.8、名稱(chēng)為“計(jì)算對(duì)象的上下文歷史”的中國(guó)發(fā)明專(zhuān)利申請(qǐng)的分案申請(qǐng)。
相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求對(duì)通過(guò)引用將其內(nèi)容結(jié)合于此如同在這里完全闡述一樣的、名稱(chēng)為“User Interaction in a Computer Operating System”的、于2010年11月18日提交的第61/415,243號(hào)美國(guó)臨時(shí)申請(qǐng)的優(yōu)先權(quán)。
技術(shù)領(lǐng)域
本文涉及用于與計(jì)算機(jī)操作系統(tǒng)的用戶(hù)交互的系統(tǒng)和技術(shù)。
背景技術(shù):
計(jì)算機(jī)(例如,臺(tái)式PC、膝上型計(jì)算機(jī)、上網(wǎng)本計(jì)算機(jī)、平板計(jì)算機(jī)或者智能電話(huà))用來(lái)操作的核心結(jié)構(gòu)可以包括基本輸入和輸出系統(tǒng)或者BIOS、操作系統(tǒng)和其它部件,這些部件可以被稱(chēng)為占用為操作計(jì)算機(jī)提供基本功能的軟件“?!???梢栽诘谝淮谓油ê鸵龑?dǎo)計(jì)算機(jī)時(shí)訪(fǎng)問(wèn)BIOS,并且BIOS可以提供用于計(jì)算機(jī)的基本功能,比如標(biāo)識(shí)、測(cè)試和初始化系統(tǒng)設(shè)備,這些系統(tǒng)設(shè)備包括存儲(chǔ)為了引導(dǎo)計(jì)算機(jī)而進(jìn)一步需要的代碼的存儲(chǔ)設(shè)備。用于操作系統(tǒng)的代碼可以存儲(chǔ)于這樣的附加設(shè)備上,并且可以提供計(jì)算機(jī)的進(jìn)一步引導(dǎo)直至它被完全引導(dǎo)并且準(zhǔn)備好操作。
操作系統(tǒng)一般用作在計(jì)算機(jī)硬件與計(jì)算機(jī)的用戶(hù)之間和在硬件與用戶(hù)向計(jì)算機(jī)上加載的應(yīng)用之間的接口。操作系統(tǒng)可以提供多種功能。例如,操作系統(tǒng)可以提供圖形用戶(hù)界面(GUI),計(jì)算機(jī)的用戶(hù)可以通過(guò)該GUI從計(jì)算機(jī)接收輸出并且可以通過(guò)該GUI向計(jì)算機(jī)提供輸入。操作系統(tǒng)也可以提供各種第三方應(yīng)用在其上執(zhí)行的平臺(tái),其中操作系統(tǒng)提供應(yīng)用所需要的服務(wù)并且也提供如下機(jī)制,應(yīng)用可以通過(guò)該機(jī)制與其它資源(比如其它應(yīng)用、外圍設(shè)備(例如,打印機(jī)、相機(jī)等)和與操作系統(tǒng)本身提供的服務(wù))通信。
技術(shù)實(shí)現(xiàn)要素:
本文描述可以被實(shí)施為用于計(jì)算設(shè)備的操作系統(tǒng)的一部分或者在包括多個(gè)不同計(jì)算設(shè)備的系統(tǒng)中實(shí)施的系統(tǒng)和技術(shù)。例如,各種機(jī)制可以用來(lái)同步計(jì)算設(shè)備與在基于云的系統(tǒng)中存儲(chǔ)的數(shù)據(jù),由此使主控的計(jì)算機(jī)服務(wù)器系統(tǒng)可用于公眾的成員訪(fǎng)問(wèn)系統(tǒng),并且系統(tǒng)轉(zhuǎn)而提供各種服務(wù),比如數(shù)據(jù)存儲(chǔ)和備份、文檔存儲(chǔ)、電子郵件尋路由和處置以及其它有用服務(wù)。計(jì)算設(shè)備可以是如下形式,該形式具有相對(duì)小的本地存儲(chǔ)裝置并且因此在主控的服務(wù)器系統(tǒng)存儲(chǔ)用戶(hù)的數(shù)據(jù)。附加地,可以配置設(shè)備以使得它實(shí)質(zhì)上持續(xù)連接到網(wǎng)絡(luò)(例如,無(wú)線(xiàn)網(wǎng)絡(luò))并且經(jīng)由網(wǎng)絡(luò)連接到因特網(wǎng)。作為結(jié)果,設(shè)備上的各種部件可以被布置用于根據(jù)接近常通方式操作。
例如,在下文描述的某些實(shí)現(xiàn)方式中,計(jì)算機(jī)可以在各種時(shí)間點(diǎn)拍攝“快照”以記錄在相同時(shí)間使用什么對(duì)象(例如,應(yīng)用、程序、文件)。從這些“快照”可以推斷用戶(hù)偏好于讓某些對(duì)象在相同時(shí)間在他的或者她的計(jì)算機(jī)上打開(kāi)。例如,用戶(hù)可以偏好于在工作于字處理文檔時(shí)聽(tīng)音樂(lè)。這樣,在用戶(hù)打開(kāi)字處理文檔時(shí),計(jì)算機(jī)將識(shí)別已經(jīng)拍攝的許多“快照”,其中音樂(lè)程序和字處理程序二者在相同時(shí)間打開(kāi)。在另一示例中,用戶(hù)可以工作于某個(gè)字處理文檔。先前記錄的“快照”可以指示在創(chuàng)建字處理文檔時(shí)持久搜索對(duì)象也在計(jì)算機(jī)上活躍。這樣的共同出現(xiàn)可以指示文檔被用戶(hù)創(chuàng)建以包含由持久搜索生成的信息。例如,如果用戶(hù)從持久搜索結(jié)果向剪貼板復(fù)制信息、創(chuàng)建文檔、并且然后向文檔中粘貼搜索結(jié)果或者其它復(fù)制的數(shù)據(jù),則可以形成就該點(diǎn)而言的更強(qiáng)推斷。這一信息也可以被與字處理文檔關(guān)聯(lián)地存儲(chǔ)為元數(shù)據(jù)。
更具體而言,可以將電子記錄器實(shí)施為計(jì)算機(jī)設(shè)備的操作系統(tǒng)的一部分。記錄器可以監(jiān)視設(shè)備上的過(guò)程,并且可以被編程用于查詢(xún)活動(dòng)列表,這些活動(dòng)被視為用于登錄設(shè)備的相關(guān)活動(dòng)。例如,記錄器可以檢查任何應(yīng)用在設(shè)備上的實(shí)例化、媒體文件的加載(例如,歌曲或者電影的播放)或者通信會(huì)話(huà)(比如聊天會(huì)話(huà))的開(kāi)始和其它這樣的事件。在記錄器識(shí)別相關(guān)事件時(shí),它可以拍攝設(shè)備的當(dāng)前狀態(tài)的快照,比如記錄哪些其它應(yīng)用打開(kāi)、當(dāng)前加載什么網(wǎng)頁(yè)、當(dāng)前與什么其它用戶(hù)通信等。記錄器可以記下關(guān)于當(dāng)前狀態(tài)的這樣的要點(diǎn),并且可以當(dāng)在系統(tǒng)上識(shí)別其它這樣的事件時(shí)反復(fù)這樣做。也基本上同時(shí)地,在這樣的事件出現(xiàn)時(shí),系統(tǒng)可以在日志中搜尋出現(xiàn)的相同或者相似事件的先前實(shí)例,并且可以標(biāo)識(shí)設(shè)備在那些事件出現(xiàn)時(shí)的狀態(tài)的細(xì)節(jié)。系統(tǒng)然后可以自動(dòng)實(shí)例化細(xì)節(jié)中的某些細(xì)節(jié)(例如,打開(kāi)在先前時(shí)間打開(kāi)的應(yīng)用、打開(kāi)在先前時(shí)間打開(kāi)的網(wǎng)頁(yè)或者其它內(nèi)容源、聯(lián)系在先前時(shí)間與之出現(xiàn)對(duì)話(huà)的用戶(hù))。備選地,操作系統(tǒng)可以顯示先前狀態(tài)的這樣的方面的列表,用戶(hù)可以選擇方面中的一個(gè)或者多個(gè)方面,并且系統(tǒng)然后可以實(shí)例化選擇的方面。
在某些實(shí)現(xiàn)方式中,這樣的系統(tǒng)和技術(shù)可以提供一個(gè)或者多個(gè)優(yōu)點(diǎn)。例如,用戶(hù)與計(jì)算機(jī)系統(tǒng)的交互可以提供關(guān)于用戶(hù)在使用計(jì)算機(jī)系統(tǒng)時(shí)的個(gè)人偏好的更多信息而未顯式地要求用戶(hù)提交他的或者她的偏好。取而代之,可以通過(guò)行為趨勢(shì)推斷這樣的偏好。附加地,用戶(hù)可以通過(guò)僅需點(diǎn)擊打開(kāi)一個(gè)對(duì)象而不是多個(gè)對(duì)象來(lái)節(jié)省時(shí)間,因?yàn)橛?jì)算機(jī)將識(shí)別用戶(hù)偏好于讓某些對(duì)象在相同時(shí)間打開(kāi)并且在用戶(hù)已經(jīng)打開(kāi)第一對(duì)象之后為她自動(dòng)打開(kāi)其它對(duì)象。
在一些實(shí)施例中,一種計(jì)算機(jī)實(shí)施的對(duì)象跟蹤方法包括:第一次實(shí)例化計(jì)算設(shè)備上的操作系統(tǒng)對(duì)象;自動(dòng)標(biāo)識(shí)如下上下文元數(shù)據(jù),該上下文元數(shù)據(jù)定義在實(shí)例化操作系統(tǒng)對(duì)象時(shí)在計(jì)算設(shè)備上的打開(kāi)的除了實(shí)例化的操作系統(tǒng)對(duì)象之外的對(duì)象的狀態(tài);以及與操作系統(tǒng)對(duì)象相關(guān)地存儲(chǔ)標(biāo)識(shí)上下文元數(shù)據(jù),其中上下文元數(shù)據(jù)標(biāo)識(shí)在實(shí)例化操作系統(tǒng)對(duì)象時(shí)在操作系統(tǒng)中活躍的一個(gè)或者多個(gè)對(duì)象。一些實(shí)現(xiàn)方式還包括在關(guān)閉操作系統(tǒng)對(duì)象時(shí)接收用于實(shí)例化操作系統(tǒng)對(duì)象的后續(xù)請(qǐng)求,以及調(diào)用在上下文元數(shù)據(jù)中標(biāo)識(shí)的次級(jí)對(duì)象。
在一些實(shí)例中,調(diào)用次級(jí)對(duì)象包括起動(dòng)在第一次實(shí)例化操作系統(tǒng)對(duì)象時(shí)的打開(kāi)的一個(gè)或者多個(gè)應(yīng)用。該方法還可以包括向存儲(chǔ)的上下文元數(shù)據(jù)添加與在接收后續(xù)請(qǐng)求時(shí)活躍的對(duì)象對(duì)應(yīng)的信息。附加地,該方法可以包括標(biāo)識(shí)在實(shí)例化操作系統(tǒng)對(duì)象之時(shí)與除了操作系統(tǒng)對(duì)象之外的對(duì)象的用戶(hù)交互,以及向存儲(chǔ)的上下文元數(shù)據(jù)添加關(guān)于用戶(hù)交互的信息。
在附圖和下文描述中闡述一個(gè)或者多個(gè)實(shí)施例的細(xì)節(jié)。其它特征和優(yōu)點(diǎn)將從描述和附圖以及從權(quán)利要求變得清楚。
附圖說(shuō)明
圖1是用于提供計(jì)算設(shè)備的延遲的鎖定的過(guò)程的概念圖。
圖2A是使用上下文對(duì)象的操作系統(tǒng)的概念圖。
圖2B是使用上下文對(duì)象的操作系統(tǒng)的備選實(shí)施例的概念圖。
圖3是用于維持計(jì)算設(shè)備上的存儲(chǔ)器控制的系統(tǒng)的概念圖。
圖4是利用在計(jì)算機(jī)過(guò)程之間的消息傳遞提供線(xiàn)程親合性的系統(tǒng)的概念圖。
圖5是提供無(wú)狀態(tài)環(huán)境中的狀態(tài)信息的系統(tǒng)的概念圖。
圖6是跨越網(wǎng)絡(luò)為計(jì)算設(shè)備提供成像的系統(tǒng)的概念圖。
圖7是提供計(jì)算設(shè)備的遠(yuǎn)程監(jiān)視和控制的系統(tǒng)的概念圖。
圖8是用于提供在計(jì)算設(shè)備上高速緩存集中存儲(chǔ)于主控的計(jì)算機(jī)系統(tǒng)上的數(shù)據(jù)的系統(tǒng)的概念圖。
圖9是用于提供計(jì)算設(shè)備的延遲的鎖定的過(guò)程的流程圖。
圖10A是用于管理操作系統(tǒng)中的上下文對(duì)象的過(guò)程的流程圖。
圖10B是用于管理操作系統(tǒng)中的上下文對(duì)象的備選過(guò)程的流程圖。
圖11是用于維持計(jì)算設(shè)備上的存儲(chǔ)器控制的過(guò)程的流程圖。
圖12是用于利用在計(jì)算機(jī)過(guò)程之間的消息傳遞提供線(xiàn)程親和性的過(guò)程的流程圖。
圖13是用于提供無(wú)狀態(tài)環(huán)境中的狀態(tài)信息的過(guò)程的流程圖。
圖14是跨越網(wǎng)絡(luò)為計(jì)算設(shè)備提供成像的過(guò)程的流程圖。
圖15是用于提供計(jì)算設(shè)備的遠(yuǎn)程監(jiān)視和控制的過(guò)程的流程圖。
圖16是用于提供在計(jì)算設(shè)備上高速緩存集中存儲(chǔ)于主控的計(jì)算機(jī)系統(tǒng)上的數(shù)據(jù)的過(guò)程的流程圖。
圖17示出可以用來(lái)實(shí)施這里描述的技術(shù)的計(jì)算機(jī)設(shè)備和移動(dòng)計(jì)算機(jī)設(shè)備的示例。
各種附圖中的相似標(biāo)號(hào)指示相似單元。
具體實(shí)施方式
本文描述用于例如使用在計(jì)算設(shè)備(比如移動(dòng)智能電話(huà))上運(yùn)行的操作系統(tǒng)的元素來(lái)提供用戶(hù)與設(shè)備的交互的系統(tǒng)和技術(shù)。系統(tǒng)和技術(shù)可以提供可以與一個(gè)或者多個(gè)主控的服務(wù)器系統(tǒng)通信并且可以從服務(wù)器系統(tǒng)服務(wù)的各種操作系統(tǒng)部件。具體而言,可以設(shè)計(jì)操作系統(tǒng)以使得運(yùn)行它在執(zhí)行它的時(shí)間中的多數(shù)時(shí)間有因特網(wǎng)連接。作為結(jié)果,可以設(shè)計(jì)由操作系統(tǒng)執(zhí)行的操作中的許多操作以假設(shè)網(wǎng)絡(luò)連接可用并且依賴(lài)于高速緩存技術(shù)或者其它橋接方式直至可以恢復(fù)網(wǎng)絡(luò)連接。具體而言,這里描述的設(shè)備可以具有與一個(gè)或者多個(gè)蜂窩電話(huà)網(wǎng)絡(luò)的數(shù)據(jù)部分通信以達(dá)到因特網(wǎng)的接近總是連接的無(wú)線(xiàn)數(shù)據(jù)接口。
圖1是用于提供計(jì)算設(shè)備的延遲的鎖定的過(guò)程的概念圖。一般而言,系統(tǒng)提供一種用于允許便攜計(jì)算設(shè)備的用戶(hù)采取動(dòng)作以關(guān)停便攜計(jì)算設(shè)備而不立即關(guān)停設(shè)備的機(jī)制。作為結(jié)果,如果用戶(hù)在采取這樣的動(dòng)作之后改變他的或者她的想法,則用戶(hù)可以重新激活設(shè)備而無(wú)需采取對(duì)于這一特征而言原本如果設(shè)備將在用戶(hù)采取這樣的動(dòng)作時(shí)立即關(guān)停則將另外需要的其它步驟。
在該圖中,示出在這一情況下為具有翻蓋翻蓋(clamshell)設(shè)計(jì)的膝上型計(jì)算機(jī)的便攜計(jì)算設(shè)備的三個(gè)不同狀態(tài)。在第一階段102中,計(jì)算機(jī)打開(kāi)并且操作,并且時(shí)間是中午12點(diǎn)鐘。計(jì)算機(jī)上的顯示器108指示鎖定定時(shí)器已經(jīng)被設(shè)置成10秒。這里通過(guò)示例提供顯示器108,但是在實(shí)際使用中,設(shè)備不會(huì)顯示定時(shí)器上剩余的數(shù)量,并且定時(shí)器不會(huì)已經(jīng)在狀態(tài)102所示點(diǎn)開(kāi)始操作。
在狀態(tài)104,在五秒之后,顯示器被關(guān)閉到計(jì)算機(jī)的基部——如下動(dòng)作,該動(dòng)作將正常地使計(jì)算機(jī)立即開(kāi)始進(jìn)入休眠或者其它形式的不活躍模式。這樣的改變將包括使計(jì)算機(jī)上的微處理器掉電、關(guān)斷顯示器108、關(guān)斷冷卻扇和其它關(guān)聯(lián)機(jī)制、使圖形處理單元(GPU)掉電以及在設(shè)備上執(zhí)行其它功率節(jié)省技術(shù)。雖然未由狀態(tài)104示出,但是設(shè)備在它已經(jīng)被關(guān)閉僅數(shù)秒時(shí)尚未完全掉電或者開(kāi)始掉電,因?yàn)樵谶@一示例中,設(shè)備具有在它甚至將開(kāi)始關(guān)停序列之前的10秒內(nèi)置延遲(并且甚至可以有在該序列開(kāi)始之后的某一不確定時(shí)間直至設(shè)備經(jīng)過(guò)它可以被重新激活的點(diǎn)而無(wú)大量用戶(hù)介入,比如錄入解鎖口令)。取而代之,可以比如通過(guò)關(guān)斷顯示器108來(lái)使有限數(shù)目的特征掉電以便向用戶(hù)給予設(shè)備在掉電這樣的印象。但是重新激活設(shè)備可以在這一點(diǎn)無(wú)需比再次打開(kāi)設(shè)備更多的任何動(dòng)作。
在關(guān)閉設(shè)備之后的14秒和9秒之后,在狀態(tài)106,例如打開(kāi)設(shè)備,因?yàn)橛脩?hù)的設(shè)備決定他們不想停止使用設(shè)備并且取而代之需要使用設(shè)備來(lái)執(zhí)行附加工作。由于定時(shí)器被設(shè)置成在10秒之后到期,所以設(shè)備尚未向它的休眠或者其它掉電狀態(tài)轉(zhuǎn)變。取而代之,設(shè)備上的需要大量時(shí)間來(lái)恢復(fù)功率的所有系統(tǒng)已經(jīng)保持上電,并且僅有限系統(tǒng)已經(jīng)被掉電,比如顯示器108。也在這一示例中,定時(shí)器已經(jīng)再次被重置成10秒,從而使得如果用戶(hù)再次關(guān)閉設(shè)備,則它不會(huì)在閉合之后的10秒內(nèi)開(kāi)始進(jìn)入休眠或者其它不活躍模式。也在某些實(shí)施例中,設(shè)備可以響應(yīng)于一個(gè)輸入而不是另一輸入來(lái)立即進(jìn)入睡眠。例如,錄入控制鍵組合可以使設(shè)備立即進(jìn)入睡眠,并且錄入這樣的組合可以被假設(shè)為用戶(hù)更有意圖。對(duì)照而言,關(guān)閉翻蓋翻蓋設(shè)備可以實(shí)施預(yù)定延遲,因?yàn)檫@樣的動(dòng)作可以更可能被預(yù)計(jì)為暫時(shí)動(dòng)作(例如,在用戶(hù)將設(shè)備從一個(gè)地點(diǎn)移向下一地點(diǎn)時(shí))。
用于開(kāi)始使設(shè)備掉電的過(guò)程的特定延遲時(shí)間可以由設(shè)備的用戶(hù)設(shè)置。例如,如果用戶(hù)不想最大化電池節(jié)省并且頻繁關(guān)閉他們的計(jì)算機(jī)并且然后立即或者之后不久確定他們想要再次開(kāi)始在他們的計(jì)算機(jī)上工作,則用戶(hù)可以設(shè)置用于定時(shí)器在設(shè)備開(kāi)始使它的各種系統(tǒng)掉電以進(jìn)入睡眠或者休眠模式之前倒計(jì)時(shí)的相對(duì)長(zhǎng)的時(shí)段。
盡管這里將設(shè)備示出為具有翻蓋布置,該翻蓋布置將在計(jì)算機(jī)的鉸鏈附近包括開(kāi)關(guān),從而使得可以在翻蓋關(guān)閉并且他們的計(jì)算機(jī)可以確定進(jìn)入掉電模式時(shí)按下開(kāi)關(guān),但是也可以使用其它實(shí)現(xiàn)方式。例如,平面觸屏寫(xiě)字板或者平板計(jì)算機(jī)可以允許用戶(hù)通過(guò)按壓設(shè)備的前表面、后表面或者外圍邊緣上的電源按鈕來(lái)使它掉電。這樣的動(dòng)作可以使設(shè)備上的顯示器立即關(guān)斷以便向用戶(hù)給予設(shè)備正在完全掉電這樣的印象。然而,設(shè)備上的其它子系統(tǒng)(比如微處理器、存儲(chǔ)器控制器、圖形處理單元和其它這樣的子系統(tǒng))可以如上文討論的那樣在超時(shí)延遲的持續(xù)時(shí)間內(nèi)保持接通。
除了使系統(tǒng)掉電之外,定時(shí)器還可以用來(lái)延遲開(kāi)始在計(jì)算設(shè)備(比如所示計(jì)算設(shè)備)上重置的安全裝置。例如,可以布置某些計(jì)算設(shè)備以使得在它們被置于睡眠模式或者其它不活躍模式時(shí)用戶(hù)將請(qǐng)求口令或者其它安全機(jī)制以使設(shè)備恢復(fù)完全活躍模式。在沒(méi)有這里討論的定時(shí)器的情況下,用戶(hù)如果他們關(guān)閉他們的設(shè)備或者以其它方式使它不活躍并且然后快速想起他們需要再次使用設(shè)備,則可能被迫重新錄入他們的口令。在具有定時(shí)器(比如這里討論的定時(shí)器實(shí)現(xiàn)方式)的情況下,用戶(hù)可以在他們已經(jīng)完成某個(gè)操作以使他們的設(shè)備不活躍之后快速按壓按鈕或者打開(kāi)設(shè)備,并且他們可以讓用于設(shè)備的主頁(yè)或者桌面接近立即向他們顯示而無(wú)需他們重新錄入他們的口令或者其它證明信息以解鎖設(shè)備。簡(jiǎn)言之,設(shè)備上的從解鎖狀態(tài)到鎖定狀態(tài)的轉(zhuǎn)變可以被有意地延遲確定的和用戶(hù)可選的時(shí)間段。
以這一方式,這里描述的系統(tǒng)和方法可以提供用戶(hù)與計(jì)算設(shè)備的更方便體驗(yàn)。設(shè)備可以在用戶(hù)已經(jīng)指示掉電命令之后略微延遲它的掉電,并且這樣的延遲可以用來(lái)如果用戶(hù)快速改變他的或者她的想法則允許設(shè)備快速上電。在相同時(shí)間,掉電延遲可以相對(duì)短,從而使得設(shè)備未用完過(guò)量電池功率。
圖2A是使用上下文對(duì)象的操作系統(tǒng)的概念圖。一般而言,上下文對(duì)象是操作系統(tǒng)對(duì)象,該操作系統(tǒng)對(duì)象已經(jīng)隨它或者為它存儲(chǔ)關(guān)于上下文的信息,對(duì)象先前已經(jīng)在該上下文中存在于操作系統(tǒng)中,包括通過(guò)描述在第一對(duì)象已經(jīng)在操作系統(tǒng)中被創(chuàng)建和/或活躍時(shí)已經(jīng)在操作系統(tǒng)中存在和活躍的其它對(duì)象。例如,在下文描述的某些實(shí)現(xiàn)方式中,計(jì)算機(jī)可以在各種時(shí)間點(diǎn)拍攝“快照”以記錄在相同時(shí)間使用什么對(duì)象(例如,應(yīng)用、程序、文件)。從這些“快照”可以推斷用戶(hù)偏好于讓某些對(duì)象在相同時(shí)間在他的或者她的計(jì)算機(jī)上打開(kāi)。
在該圖中,以基本翻蓋膝上型計(jì)算機(jī)的形式示出計(jì)算機(jī)202,但是計(jì)算機(jī)202可以采取其它形式,比如智能電話(huà)、觸屏寫(xiě)字板或者平板設(shè)備。在計(jì)算機(jī)202的屏幕上示出對(duì)象的多個(gè)可視表示,并且這些可視表示包括在計(jì)算機(jī)202上加載的應(yīng)用的圖標(biāo)和表示。例如,圖標(biāo)208代表比如通過(guò)存儲(chǔ)于計(jì)算機(jī)202上的持久存儲(chǔ)裝置上或者從計(jì)算機(jī)202可訪(fǎng)問(wèn)的服務(wù)器系統(tǒng)來(lái)從計(jì)算機(jī)202可訪(fǎng)問(wèn)的特定字處理文檔。例如,計(jì)算機(jī)202可以存儲(chǔ)cookie或者其它機(jī)制,它可以通過(guò)該cookie或者其它機(jī)制向服務(wù)器系統(tǒng)標(biāo)識(shí)它本身以指示與服務(wù)器系統(tǒng)的向計(jì)算機(jī)202的用戶(hù)注冊(cè)的賬戶(hù)。計(jì)算機(jī)202可以使用這樣的機(jī)制以便從服務(wù)器系統(tǒng)獲得信息,比如獲得代表圖標(biāo)208的文檔的數(shù)據(jù)。用戶(hù)可以然后通過(guò)選擇圖標(biāo)208來(lái)調(diào)用文檔。
小部件或者小配件212由計(jì)算機(jī)202的顯示器上的時(shí)鐘代表并且指示也可以在計(jì)算機(jī)202上顯示的對(duì)象類(lèi)型。小部件或者小配件212可以采用多種熟悉形式并且可以從第三方被提供為代碼,這些第三方草擬應(yīng)用以補(bǔ)充以其它方式在設(shè)備202上加載的操作系統(tǒng)上可用的功能。新聞饋送214以新聞聚合器的形式代表在設(shè)備202上運(yùn)行的活躍應(yīng)用,該新聞聚合器向計(jì)算機(jī)202的用戶(hù)示出新近當(dāng)前事件更新。
圖標(biāo)204以計(jì)算機(jī)202將執(zhí)行的持久搜索的形式代表對(duì)象。持久搜索是由設(shè)備(比如計(jì)算機(jī)202)自動(dòng)重復(fù)的搜索。例如,計(jì)劃去歐洲度假的用戶(hù)可以建立去歐洲的航空公司航班的持久搜索,從而使得如果航班在某一價(jià)格變得可用則可以立即通知用戶(hù)。
框206、210指示可以與對(duì)象208和204之一關(guān)聯(lián)地保存的上下文數(shù)據(jù)。例如,框210指示用于文檔或者字處理文檔(比如文檔208)的上下文信息。在框210中示出各種字段以指示可以隨對(duì)象保存的上下文信息類(lèi)型。例如,對(duì)象包括描述它屬于的對(duì)象類(lèi)型的名稱(chēng)和關(guān)于計(jì)算機(jī)202上存儲(chǔ)的所有其它對(duì)象唯一標(biāo)識(shí)對(duì)象的標(biāo)識(shí)號(hào)。
框210也示出初始地創(chuàng)建對(duì)象的時(shí)間和在創(chuàng)建對(duì)象208時(shí)也在計(jì)算機(jī)202上打開(kāi)的對(duì)象的列表。附加地,框210包括在上次使用對(duì)象208時(shí)打開(kāi)的其它對(duì)象的列表。在這一示例中,用戶(hù)在創(chuàng)建字處理對(duì)象208時(shí)和上次使用它時(shí)均回顧網(wǎng)站www.test.com。也在創(chuàng)建字處理文檔時(shí),持久搜索對(duì)象204在計(jì)算機(jī)202上活躍。這樣的共同出現(xiàn)可以指示文檔被用戶(hù)創(chuàng)建以包含由持久搜索生成的信息。例如,如果用戶(hù)從持久搜索結(jié)果向剪貼板復(fù)制信息、創(chuàng)建文檔并且然后向文檔中粘貼搜索結(jié)果或者其它復(fù)制的數(shù)據(jù),則可以形成就這一點(diǎn)而言的又一更強(qiáng)推斷。也可以如框210中所示與對(duì)象208關(guān)聯(lián)地存儲(chǔ)這樣的信息(例如,通過(guò)確定上次何時(shí)保存文檔、由當(dāng)時(shí)打開(kāi)的其它應(yīng)用共享文檔中的什么信息,因此指示在文檔與對(duì)象之間復(fù)制內(nèi)容)。
框210也示出文檔對(duì)象208已經(jīng)與之交互的對(duì)象。在這一示例中,文檔208已經(jīng)與應(yīng)用web打印機(jī)交互,這可以指示已經(jīng)在該打印機(jī)上打印出文檔208??梢源鎯?chǔ)在對(duì)象之間的特定直接交互,因?yàn)樗鼈兛梢蕴峁┰趯?duì)象與其它對(duì)象之間的尤其強(qiáng)連接的指示。這樣的連接可以用來(lái)標(biāo)識(shí)用戶(hù),該用戶(hù)是對(duì)象在特定情形中的預(yù)計(jì)用戶(hù)。
框206指示已經(jīng)與對(duì)象204關(guān)聯(lián)地存儲(chǔ)的上下文信息。同樣,對(duì)象的名稱(chēng)包括唯一標(biāo)識(shí)號(hào)以及創(chuàng)建對(duì)象的時(shí)間。如框206中所示,四個(gè)不同其它對(duì)象在創(chuàng)建持久搜索對(duì)象204時(shí)活躍。這些其它對(duì)象包括字處理文檔、電子表格文檔和在創(chuàng)建持久搜索對(duì)象時(shí)在計(jì)算機(jī)202上查看的兩個(gè)不同網(wǎng)頁(yè)???06也指示持久搜索對(duì)象已經(jīng)與計(jì)算機(jī)202上的地圖應(yīng)用和聯(lián)系人應(yīng)用交互。訪(fǎng)問(wèn)日志也指示用戶(hù)已經(jīng)訪(fǎng)問(wèn)對(duì)象的時(shí)間并且也可以包括指示用戶(hù)與對(duì)象做過(guò)什么的信息。
使用這里所示的信息,可以用計(jì)算機(jī)202向用戶(hù)提供多種服務(wù)。例如,在下次在計(jì)算機(jī)202上起動(dòng)對(duì)象208時(shí),計(jì)算機(jī)202可以查看信息框210(實(shí)際上是計(jì)算機(jī)202或者另一設(shè)備上存儲(chǔ)的數(shù)據(jù),但是框210在這一幅圖中代表這樣的數(shù)據(jù))以確定設(shè)備202的用戶(hù)在特定文檔也已經(jīng)打開(kāi)以用于字處理時(shí)已經(jīng)頻繁讓www.test.com網(wǎng)頁(yè)在瀏覽器中打開(kāi)。這樣的確定可以在適當(dāng)境況中用來(lái)在打開(kāi)文檔時(shí)自動(dòng)起動(dòng)瀏覽器,其中網(wǎng)頁(yè)在瀏覽器中活躍。以這樣的方式,用戶(hù)可以通過(guò)選擇用于與多個(gè)推斷有關(guān)的應(yīng)用之一的僅一個(gè)圖標(biāo)來(lái)使這些應(yīng)用被激活。在一些實(shí)現(xiàn)方式中,計(jì)算機(jī)202可以在響應(yīng)于存儲(chǔ)的元數(shù)據(jù)實(shí)例化對(duì)象之前請(qǐng)求用戶(hù)的準(zhǔn)許。如果用戶(hù)提供準(zhǔn)許,則實(shí)例化對(duì)象。如果用戶(hù)拒絕準(zhǔn)許,則不實(shí)例化程序。計(jì)算機(jī)202還可以在元數(shù)據(jù)中存儲(chǔ)用戶(hù)的提供或者拒絕這樣的準(zhǔn)許的歷史。
圖2B是與圖2A相似的使用上下文對(duì)象的操作系統(tǒng)的概念圖。在該圖中,圖標(biāo)228代表比如通過(guò)存儲(chǔ)于計(jì)算機(jī)202上的持久存儲(chǔ)裝置或者從計(jì)算機(jī)202可訪(fǎng)問(wèn)的服務(wù)器系統(tǒng)從計(jì)算機(jī)202可訪(fǎng)問(wèn)的特定圖像文件。例如,計(jì)算機(jī)202可以存儲(chǔ)cookie或者其它機(jī)制,它可以通過(guò)該cookie或者其它機(jī)制向服務(wù)器系統(tǒng)標(biāo)識(shí)它本身以指示與服務(wù)器系統(tǒng)的向計(jì)算機(jī)202的用戶(hù)注冊(cè)的賬戶(hù)。計(jì)算機(jī)202可以使用這樣的機(jī)制以便從服務(wù)器系統(tǒng)獲得信息,比如獲得代表圖標(biāo)208的文檔的數(shù)據(jù)。用戶(hù)可以然后通過(guò)選擇圖標(biāo)228來(lái)調(diào)用文檔。
圖標(biāo)224以聊天窗口的形式代表對(duì)象。聊天窗口允許用戶(hù)與計(jì)算設(shè)備(比如計(jì)算機(jī)或者智能電話(huà))的另一用戶(hù)通信。在一些實(shí)例中,聊天程序允許兩個(gè)或者更多人通過(guò)來(lái)回鍵入寫(xiě)入的消息來(lái)通信。在其它實(shí)例中,聊天程序有助于發(fā)送和接收用于聊天的音頻或者視頻。
框226、230指示可以與對(duì)象228和224之一關(guān)聯(lián)地保存的上下文數(shù)據(jù)。例如,框230指示用于文檔或者字處理文檔(比如圖像文件228)的上下文信息。在框230中示出各種字段以指示可以隨對(duì)象保存的上下文信息類(lèi)型。例如,對(duì)象包括描述它屬于的對(duì)象類(lèi)型的名稱(chēng)和關(guān)于計(jì)算機(jī)202上存儲(chǔ)的所有其它對(duì)象唯一標(biāo)識(shí)對(duì)象的標(biāo)識(shí)號(hào)。
框230也示出初始地創(chuàng)建對(duì)象的時(shí)間和在創(chuàng)建對(duì)象228時(shí)也在計(jì)算機(jī)202上打開(kāi)的對(duì)象的列表。附加地,框230包括在上次使用對(duì)象228時(shí)打開(kāi)的其它對(duì)象的列表和在創(chuàng)建和上次使用對(duì)象時(shí)存在的人的列表。不同方法可以用來(lái)確定在創(chuàng)建和使用對(duì)象時(shí)存在的各方。例如,運(yùn)行對(duì)象的程序可以請(qǐng)求針對(duì)存在的各方的用戶(hù)輸入。在另一示例中,計(jì)算機(jī)202可以通過(guò)基于存儲(chǔ)的數(shù)據(jù)庫(kù)感測(cè)用戶(hù)的語(yǔ)音或者通過(guò)基于存儲(chǔ)的數(shù)據(jù)庫(kù)檢測(cè)與某些個(gè)人關(guān)聯(lián)的設(shè)備來(lái)自動(dòng)確定哪些方存在。
參照?qǐng)D2B,用戶(hù)X如框230所示在創(chuàng)建對(duì)象時(shí)在與用戶(hù)Y和與用戶(hù)Z聊天。用戶(hù)X在上次使用對(duì)象時(shí)與用戶(hù)Z聊天。框230還指示用戶(hù)X在創(chuàng)對(duì)象建的時(shí)間存在并且用戶(hù)X和用戶(hù)Y在上次使用對(duì)象時(shí)均存在。可以將存在的用戶(hù)標(biāo)識(shí)為使用計(jì)算機(jī)202,即使用戶(hù)中的僅一個(gè)用戶(hù)可能實(shí)際上在“駕車(chē)”,標(biāo)識(shí)為在用鼠標(biāo)或者觸板進(jìn)行選擇并且用鍵盤(pán)或者其它輸入設(shè)備錄入文字。以這一方式,可以將在附近(即在與計(jì)算機(jī)202相同的房間中或者在從計(jì)算機(jī)202的某個(gè)距離(例如15英尺)內(nèi))的個(gè)人包括為使用計(jì)算機(jī),其中計(jì)算機(jī)202自動(dòng)確定存在的各方。在其它實(shí)例中,存在的用戶(hù)可以在被計(jì)算機(jī)202提示時(shí)或者在他們自己自愿時(shí)肯定地標(biāo)識(shí)他們本身為使用計(jì)算機(jī)202。
這樣的共同出現(xiàn)可以指示圖像文件是用戶(hù)X用來(lái)自用戶(hù)Y和用戶(hù)Z的輸入而創(chuàng)建的。例如,如果用戶(hù)從持久搜索結(jié)果向剪貼板復(fù)制信息、創(chuàng)建文檔并且然后向文檔中粘貼搜索結(jié)果或者其它復(fù)制的數(shù)據(jù),則可以形成就這一點(diǎn)而言的又一更強(qiáng)推斷。也可以如框230中所示與對(duì)象228關(guān)聯(lián)地存儲(chǔ)這樣的信息,該信息提示通過(guò)在用戶(hù)X、用戶(hù)Y和用戶(hù)Z之間的協(xié)作創(chuàng)建對(duì)象。
框226指示已經(jīng)與對(duì)象224關(guān)聯(lián)地存儲(chǔ)的上下文信息。對(duì)象的名稱(chēng)包括創(chuàng)建對(duì)象的時(shí)間。在這一示例中,聊天窗口可以指示與誰(shuí)聊天,這唯一標(biāo)識(shí)對(duì)象。對(duì)象可以包括關(guān)于計(jì)算機(jī)上的其它對(duì)象唯一標(biāo)識(shí)對(duì)象的標(biāo)識(shí)號(hào)。如框226中所示,兩個(gè)不同其它對(duì)象在創(chuàng)建聊天窗口224時(shí)活躍。那些其它對(duì)象包括在創(chuàng)建聊天對(duì)象時(shí)在計(jì)算機(jī)202上查看的圖像文件和另一聊天窗口。
使用這里所示的信息,可以用計(jì)算機(jī)202向用戶(hù)提供多種服務(wù)。例如,在下次在計(jì)算機(jī)202上起動(dòng)對(duì)象228時(shí),計(jì)算機(jī)202可以查看信息框230(實(shí)際上是計(jì)算機(jī)202或者另一設(shè)備上存儲(chǔ)的數(shù)據(jù),但是框230在這一幅圖中代表這樣的數(shù)據(jù))以確定設(shè)備202的用戶(hù)X在工作于這一特定圖像文件時(shí)與用戶(hù)Y和用戶(hù)Z頻繁協(xié)作。這樣的確定可以在適當(dāng)境況中用來(lái)在打開(kāi)圖像文件時(shí)自動(dòng)起動(dòng)與用戶(hù)Y和/或用戶(hù)Z的聊天窗口。以這樣的方式,用戶(hù)X可以通過(guò)選擇用于與多個(gè)推斷有關(guān)的應(yīng)用之一的僅一個(gè)圖標(biāo)來(lái)使這些應(yīng)用被激活。
類(lèi)似地,在下次起動(dòng)對(duì)象224從而起動(dòng)在用戶(hù)X與用戶(hù)Z之間的聊天時(shí),可以通過(guò)分析框226中的信息來(lái)起動(dòng)與用戶(hù)Y的又一聊天窗口和/或圖像文件對(duì)象228。
在另一實(shí)現(xiàn)方式中,計(jì)算機(jī)202可以使用計(jì)算機(jī)來(lái)標(biāo)識(shí)某些用戶(hù)(可以例如在提示用戶(hù)向計(jì)算機(jī)202錄入他的或者她的標(biāo)識(shí)時(shí)或者在計(jì)算機(jī)202感測(cè)在計(jì)算機(jī)202附近或者在從計(jì)算機(jī)202的某個(gè)距離內(nèi)的一個(gè)或者多個(gè)用戶(hù)時(shí)將個(gè)人標(biāo)識(shí)為“使用計(jì)算機(jī)”)。例如,在涉及到圖2B的場(chǎng)景中,計(jì)算機(jī)可以感測(cè)用戶(hù)X與用戶(hù)Y和/或用戶(hù)Z的存在。由于框230將對(duì)象228標(biāo)識(shí)為被用戶(hù)X、用戶(hù)Y和用戶(hù)Z共同協(xié)作,所以這些各方中的一方或者多方的存在在被計(jì)算機(jī)202檢測(cè)到時(shí)可以提示計(jì)算機(jī)202自動(dòng)加載對(duì)象228。在一些實(shí)施例中,除非在對(duì)象228的上下文元數(shù)據(jù)中標(biāo)識(shí)的人中的至少兩個(gè)人在關(guān)閉操作系統(tǒng)對(duì)象時(shí)存在,否則計(jì)算機(jī)202將不會(huì)自動(dòng)加載對(duì)象228。響應(yīng)于接收在對(duì)象的上下文元數(shù)據(jù)中標(biāo)識(shí)的人中的至少一個(gè)人或者在一些實(shí)例中至少兩個(gè)人的指示,計(jì)算機(jī)202實(shí)例化操作系統(tǒng)對(duì)象228。
可以使用涉及到不同計(jì)算機(jī)程序和應(yīng)用的各種其它實(shí)現(xiàn)方式。例如,用戶(hù)可以偏好于在使用字處理程序之時(shí)聽(tīng)音樂(lè)。這樣,計(jì)算機(jī)可以記住這樣的趨勢(shì)(使用關(guān)于上述框描述的元數(shù)據(jù))并且在用戶(hù)打開(kāi)字處理程序時(shí)自動(dòng)實(shí)例化音樂(lè)播放程序。另一用戶(hù)可以偏好于當(dāng)在字處理程序中工作時(shí)收聽(tīng)特定專(zhuān)輯或者藝術(shù)家。在這些情況下,計(jì)算機(jī)可以從用戶(hù)對(duì)程序的以往使用(或者對(duì)特定字處理文檔的以往訪(fǎng)問(wèn))識(shí)別她的偏好并且自動(dòng)實(shí)例化音樂(lè)播放程序和自動(dòng)開(kāi)始播放用戶(hù)的優(yōu)選藝術(shù)家、專(zhuān)輯或者歌曲。
在其它實(shí)例中,計(jì)算機(jī)可以存儲(chǔ)用戶(hù)往往在實(shí)例化其它程序或者對(duì)象時(shí)關(guān)閉或者關(guān)停某些程序或者對(duì)象這樣的元數(shù)據(jù)。例如,用戶(hù)可以往往無(wú)論何時(shí)實(shí)例化聊天窗口都關(guān)閉媒體播放器。用戶(hù)在這一場(chǎng)景中可以發(fā)現(xiàn)在試圖維持使用聊天應(yīng)用的對(duì)話(huà)之時(shí)在媒體播放器上播放媒體讓人分心。這樣,用戶(hù)當(dāng)在聊天窗口中開(kāi)始對(duì)話(huà)之后不久關(guān)停媒體播放器程序。計(jì)算機(jī)可以記住這一趨勢(shì)(使用關(guān)于上述框描述的元數(shù)據(jù))并且無(wú)論何時(shí)實(shí)例化聊天窗口都自動(dòng)關(guān)停媒體播放器(和可能的其它相似媒體播放器)。在一些實(shí)例中,計(jì)算機(jī)可以無(wú)論何時(shí)實(shí)例化任何聊天窗口都關(guān)停媒體播放器。在其它示例中,計(jì)算機(jī)可以?xún)H如果實(shí)例化的聊天窗口包括與某些個(gè)人的聊天則關(guān)停媒體播放器。這樣的確定可以基于一般關(guān)于聊天應(yīng)用而存儲(chǔ)的元數(shù)據(jù)或者關(guān)于使用聊天應(yīng)用與具體人的交互而存儲(chǔ)的元數(shù)據(jù)。用戶(hù)也可以提供他或者她自己的個(gè)人設(shè)置或者偏好。
圖3是用于維持計(jì)算機(jī)設(shè)備305上的存儲(chǔ)器控制的系統(tǒng)300的概念圖。示例系統(tǒng)300可以包括控制在設(shè)備305上執(zhí)行軟件應(yīng)用310的操作系統(tǒng)330。在一個(gè)實(shí)現(xiàn)方式中,設(shè)備105可以是包含操作系統(tǒng)330的蜂窩電話(huà),操作系統(tǒng)330能夠同時(shí)執(zhí)行若干軟件應(yīng)用。在備選實(shí)現(xiàn)方式中,計(jì)算設(shè)備305可以是膝上型計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理或者其它適當(dāng)計(jì)算設(shè)備。
在設(shè)備305是電話(huà)的一個(gè)實(shí)現(xiàn)方式中,在接通電話(huà)之后,可以從持久存儲(chǔ)器320加載電話(huà)的操作系統(tǒng)330,并且操作系統(tǒng)330可以向用戶(hù)呈現(xiàn)包含預(yù)定圖標(biāo)顯示的圖形用戶(hù)界面。每個(gè)圖標(biāo)可以是可為用戶(hù)所用的應(yīng)用或者用于應(yīng)用的代理;在被選擇時(shí),選擇的圖標(biāo)如果必要?jiǎng)t可以向操作系統(tǒng)330傳遞關(guān)聯(lián)應(yīng)用的參數(shù)和在存儲(chǔ)器中的文件位置,操作系統(tǒng)330轉(zhuǎn)而可以執(zhí)行應(yīng)用310。每個(gè)執(zhí)行的應(yīng)用使用電話(huà)的持久存儲(chǔ)器320的段;隨著應(yīng)用繼續(xù)運(yùn)行,它的存儲(chǔ)器要求可以增加。隨著用戶(hù)執(zhí)行更多應(yīng)用310或者運(yùn)行的應(yīng)用310消耗附加存儲(chǔ)器,電話(huà)的存儲(chǔ)器320可以最終變得不足以適應(yīng)應(yīng)用310的存儲(chǔ)器需求。
在示例性實(shí)現(xiàn)方式中,存儲(chǔ)器管理系統(tǒng)300可以通過(guò)在持久存儲(chǔ)器320已經(jīng)被耗盡時(shí)終止一個(gè)或者多個(gè)應(yīng)用310并且在用戶(hù)返回到應(yīng)用時(shí)恢復(fù)終止的應(yīng)用來(lái)對(duì)存儲(chǔ)器短缺做出響應(yīng)。在某些實(shí)現(xiàn)方式中,由于終止的應(yīng)用窗口可能被另一應(yīng)用窗口完全或者部分遮蔽,所以用戶(hù)可能未意識(shí)到已經(jīng)終止了應(yīng)用。在用戶(hù)選擇切換回到應(yīng)用時(shí),可以重新起動(dòng)應(yīng)用,并且除了可能在顯示應(yīng)用時(shí)的遲緩響應(yīng)之外,用戶(hù)可能不知道應(yīng)用被暫時(shí)終止。
在示例實(shí)現(xiàn)方式中,操作系統(tǒng)330可以根據(jù)用戶(hù)與圖形用戶(hù)界面的交互對(duì)應(yīng)用310排行,并且每個(gè)應(yīng)用310可以響應(yīng)于來(lái)自操作系統(tǒng)的信號(hào)生成和保存關(guān)于它的當(dāng)前狀態(tài)的信息。應(yīng)用可以自行保存這樣的狀態(tài)信息或者可以向操作系統(tǒng)330提供信息,操作系統(tǒng)330轉(zhuǎn)而可以向持久存儲(chǔ)裝置(例如,閃存)保存信息。
如果存儲(chǔ)器320被耗盡,則操作系統(tǒng)330可以終止一個(gè)或者多個(gè)排行的應(yīng)用310并且稍后響應(yīng)于用戶(hù)請(qǐng)求重建終止的應(yīng)用。例如,一旦操作系統(tǒng)330已經(jīng)加載,則用戶(hù)可以選擇文檔查看應(yīng)用以讀取存儲(chǔ)的文檔。隨后,在文檔查看器仍然在運(yùn)行之時(shí),用戶(hù)可以打開(kāi)web瀏覽器并且開(kāi)始因特網(wǎng)沖浪。在web瀏覽會(huì)話(huà)的中間,用戶(hù)響應(yīng)于電子郵件已經(jīng)到達(dá)這樣的通知可以選擇電話(huà)的電子郵件應(yīng)用以回顧新郵件。隨著用戶(hù)閱讀電子郵件,用戶(hù)可以嘗試運(yùn)行日歷應(yīng)用以創(chuàng)建用于在電子郵件中提到的事件的提醒。
在示例性實(shí)現(xiàn)方式中,隨著用戶(hù)打開(kāi)新應(yīng)用,操作系統(tǒng)330可以根據(jù)一個(gè)或者多個(gè)動(dòng)態(tài)標(biāo)準(zhǔn)對(duì)應(yīng)用310排行。這里,操作系統(tǒng)330可以用以下方式按照重要性的降序?qū)\(yùn)行應(yīng)用310排行:電子郵件應(yīng)用、web瀏覽器和文檔查看器。這樣的排序可以按照各種方式出現(xiàn)。例如,可以將應(yīng)用分離成各種類(lèi)別,比如必需業(yè)務(wù)應(yīng)用、娛樂(lè)應(yīng)用等。在一些實(shí)現(xiàn)方式中,操作系統(tǒng)330可以識(shí)別特定應(yīng)用在它在后臺(tái)中時(shí)處于休眠,因此它可以將該應(yīng)用分類(lèi)為低優(yōu)先級(jí)。但是另一應(yīng)用可以持續(xù)通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)信息(例如,消息接發(fā)程序)并且因此可以被排行為更高優(yōu)先級(jí)應(yīng)用。在一些實(shí)現(xiàn)方式中,將應(yīng)用劃分成兩個(gè)類(lèi)別:可見(jiàn)應(yīng)用和不可見(jiàn)應(yīng)用。不可見(jiàn)應(yīng)用(即窗口對(duì)用戶(hù)不可見(jiàn)的那些應(yīng)用)比可見(jiàn)應(yīng)用排行更低。在備選實(shí)現(xiàn)方式中,應(yīng)用的開(kāi)發(fā)者可以自行對(duì)應(yīng)用分類(lèi),或者用戶(hù)可以對(duì)應(yīng)用分類(lèi)或者以其它方式排行,并且可以向操作系統(tǒng)330提供這樣的分類(lèi)或者排行。
隨著用戶(hù)與應(yīng)用310交互,每個(gè)應(yīng)用可以生成和保存關(guān)于應(yīng)用的當(dāng)前狀態(tài)的信息。例如,在應(yīng)用進(jìn)入其中它可以在任何時(shí)間被操作系統(tǒng)330關(guān)閉的狀態(tài)(例如,應(yīng)用不再對(duì)用戶(hù)可見(jiàn))時(shí),操作系統(tǒng)330可以通知應(yīng)用保存它的當(dāng)前狀態(tài)。
返回到例示性示例,由于電話(huà)的存儲(chǔ)器320可能不足以一次運(yùn)行所有四個(gè)應(yīng)用,所以操作系統(tǒng)330可以在它打開(kāi)日歷應(yīng)用時(shí)選擇終止最低排行應(yīng)用(在這一示例中為文檔查看器),因?yàn)樗呀?jīng)用完存儲(chǔ)器。在備選實(shí)現(xiàn)方式中,操作系統(tǒng)330可以預(yù)測(cè)即將來(lái)臨的存儲(chǔ)器短缺并且終止一個(gè)或者多個(gè)應(yīng)用以防止存儲(chǔ)器用完。例如,如果當(dāng)前可用存儲(chǔ)器數(shù)量降至預(yù)定閾值以下,則操作系統(tǒng)可以關(guān)閉低排行應(yīng)用以將當(dāng)前可用存儲(chǔ)器數(shù)量帶到閾值以上。在備選實(shí)現(xiàn)方式中,操作系統(tǒng)330可以比較應(yīng)用310的即將到來(lái)的存儲(chǔ)器請(qǐng)求與當(dāng)前可用存儲(chǔ)器數(shù)量;如果請(qǐng)求的數(shù)量超過(guò)當(dāng)前可用數(shù)量,則操作系統(tǒng)將關(guān)閉一個(gè)或者多個(gè)應(yīng)用。
在這樣的情形中,操作系統(tǒng)330可以標(biāo)識(shí)一個(gè)或者多個(gè)最低排行應(yīng)用并且暫時(shí)終止它們。操作系統(tǒng)330也可以設(shè)置標(biāo)志作為可能需要在稍后時(shí)間(例如,在存儲(chǔ)器釋放時(shí))自動(dòng)重新起動(dòng)的應(yīng)用的指示。
選擇待關(guān)閉的應(yīng)用可以通過(guò)其它技術(shù)而出現(xiàn)。例如,操作系統(tǒng)330可以確定特定應(yīng)用所需要的存儲(chǔ)器數(shù)量并且然后標(biāo)識(shí)可以釋放該存儲(chǔ)器數(shù)量加上某一開(kāi)銷(xiāo)存儲(chǔ)器安全區(qū)的其它操作應(yīng)用。作為一個(gè)示例,應(yīng)用可以請(qǐng)求3000K的額外存儲(chǔ)器,并且三個(gè)其它應(yīng)用可能各自能夠分別釋放2000K、3000K和35000K的存儲(chǔ)器。操作系統(tǒng)330可以確定可以通過(guò)關(guān)閉前兩個(gè)程序來(lái)實(shí)現(xiàn)對(duì)存儲(chǔ)器的最少“損壞”或者可用存儲(chǔ)器的最佳使用,因?yàn)樗鼈冏罱咏仄冉枰拇鎯?chǔ)器數(shù)量。備選地,操作系統(tǒng)可以被編程用于偏好于關(guān)閉盡可能少的應(yīng)用。在這樣的情形中,在該示例中將關(guān)閉第三個(gè)應(yīng)用。
一旦用戶(hù)已經(jīng)完成使用日歷應(yīng)用,則用戶(hù)可以選擇返回到文檔查看應(yīng)用。在操作系統(tǒng)330檢測(cè)到用戶(hù)嘗試返回到已經(jīng)被暫時(shí)關(guān)閉的文檔查看應(yīng)用時(shí),操作系統(tǒng)330可以使用保存的狀態(tài)信息來(lái)重建應(yīng)用。
為了這樣做,操作系統(tǒng)330可以先感測(cè)用于訪(fǎng)問(wèn)文檔查看應(yīng)用的命令,并且可以從存儲(chǔ)的標(biāo)志察覺(jué)這樣的應(yīng)用活躍、但是已經(jīng)被暫時(shí)關(guān)閉。操作系統(tǒng)330然后可以起動(dòng)應(yīng)用并且向應(yīng)用傳遞保存的狀態(tài)信息以使得可以用應(yīng)用在它被暫時(shí)關(guān)閉時(shí)的形式或者基本上用它在它被暫時(shí)關(guān)閉時(shí)的形式重建它。備選地,應(yīng)用可以已經(jīng)與操作系統(tǒng)配合存儲(chǔ)了它自己的狀態(tài)信息,并且可以自己訪(fǎng)問(wèn)和實(shí)施這樣的信息。
圖4是利用在計(jì)算機(jī)過(guò)程之間的消息傳遞提供線(xiàn)程親合性的系統(tǒng)的概念圖。一般而言,系統(tǒng)示出一對(duì)過(guò)程,該對(duì)過(guò)程在計(jì)算設(shè)備上執(zhí)行并且相互通信以在過(guò)程之間傳遞信息。例如,一個(gè)過(guò)程可以將消息與關(guān)于第二過(guò)程將如何對(duì)消息做出響應(yīng)或者反應(yīng)的信息一起向第二過(guò)程傳遞,并且第二過(guò)程一旦它已經(jīng)對(duì)消息做出響應(yīng)或者反應(yīng)則可以向第一過(guò)程提供確認(rèn)。更具體地參照?qǐng)D4,系統(tǒng)400包括第一過(guò)程402和第二過(guò)程404。過(guò)程402、404二者可以在單個(gè)計(jì)算設(shè)備以時(shí)間重疊方式同時(shí)或者基本上同時(shí)執(zhí)行。
第一過(guò)程402可以例如是顯示一個(gè)或者多個(gè)文檔412的文檔管理程序。文檔管理程序可以例如是字處理應(yīng)用或者在Web瀏覽器中實(shí)施字處理應(yīng)用的Web應(yīng)用。在某些實(shí)例中,Web瀏覽器可以是操作系統(tǒng)的一部分,其中Web瀏覽器是用于操作系統(tǒng)的僅有本機(jī)應(yīng)用,并且所有其它應(yīng)用作為Web應(yīng)用內(nèi)的Web應(yīng)用來(lái)操作。
第二過(guò)程404示出執(zhí)行地圖應(yīng)用414。例如,在系統(tǒng)中運(yùn)行的不同Web應(yīng)用可以訪(fǎng)問(wèn)基于服務(wù)器的地圖服務(wù)并且可以用公知方式提供信息以用于使用地圖地理的圖形瓦片來(lái)顯示地理位置。例如,可以使用別針或者其它圖標(biāo)在地圖上指示執(zhí)行過(guò)程402、404的設(shè)備的用戶(hù)的位置。也可以在設(shè)備上將單獨(dú)過(guò)程402、404表示為單個(gè)Web瀏覽器的單獨(dú)標(biāo)簽頁(yè),其中過(guò)程互為沙盒,包括通過(guò)一般防止在不同域之間的通信出現(xiàn)于Web瀏覽器內(nèi)的實(shí)現(xiàn)方式。
在過(guò)程402、404之間傳遞的箭頭集合指示可以從過(guò)程之一向另一過(guò)程以及相反傳達(dá)的消息和信息。例如,可以初始地從過(guò)程402向過(guò)程404發(fā)送消息406。例如,消息可以指示將引起用于過(guò)程404的顯示改變的信息。在這一示例中,例如,消息406可以包括可以用來(lái)使地圖應(yīng)用414中顯示的地圖的不同區(qū)域被示出的緯度和經(jīng)度或者地址描述。
附加地,過(guò)程402可以向過(guò)程404傳遞關(guān)于過(guò)程404將執(zhí)行涉及消息406的一個(gè)或者多個(gè)命令的方式的信息。在這一示例中,信息是按照優(yōu)先級(jí)命令408的形式。優(yōu)先級(jí)命令408可以向過(guò)程404通知它應(yīng)當(dāng)向它的涉及消息406的執(zhí)行給予的優(yōu)先級(jí)。例如,如果過(guò)程402不是時(shí)間敏感的過(guò)程形式,則優(yōu)先級(jí)命令408可以指示對(duì)消息406的響應(yīng)不會(huì)被過(guò)程404視為高優(yōu)先級(jí)。
可以根據(jù)特定境況向過(guò)程404單獨(dú)或者一起和直接或者間接傳遞消息406和優(yōu)先級(jí)命令408。例如,當(dāng)在單個(gè)更大消息中一起傳遞消息406和優(yōu)先級(jí)命令408時(shí),過(guò)程404可以解析更大消息以標(biāo)識(shí)消息的消息部分和在消息內(nèi)嵌入的優(yōu)先級(jí)命令。在其它示例中,可以隨消息406包括附加信息,并且可以如對(duì)于過(guò)程402和過(guò)程404被編程用于操作和互操作的方式而言適合的那樣標(biāo)識(shí)和處理附加信息。過(guò)程402和過(guò)程404的互操作性可以由兩個(gè)過(guò)程維持,這些過(guò)程符合用于格式化在過(guò)程之間的通信的應(yīng)用編程接口(API)或者其它相似標(biāo)準(zhǔn)。
在某些實(shí)現(xiàn)方式中,過(guò)程404可以向處理器402傳遞回消息。一個(gè)這樣的消息是確認(rèn)410,該確認(rèn)410向過(guò)程402指示過(guò)程404已經(jīng)完全作用于消息406。在某些實(shí)現(xiàn)方式中,確認(rèn)410可以簡(jiǎn)單地通過(guò)過(guò)程404響應(yīng)于接收消息406向過(guò)程402提供回信息而出現(xiàn)。在這一具體示例中,這樣的信息可以包括可以向由過(guò)程402管理的文檔412中自動(dòng)集成的、由應(yīng)用404確定的地圖區(qū)域的圖像。
以這一方式,可以通過(guò)允許一個(gè)過(guò)程向另一過(guò)程傳達(dá)附加信息來(lái)增強(qiáng)過(guò)程間通信,該附加信息包括過(guò)程何時(shí)是在Web瀏覽器應(yīng)用中在沙盒環(huán)境中運(yùn)行的單獨(dú)窗口或者標(biāo)簽頁(yè)的部分。這樣的通信可以允許第一過(guò)程控制另一過(guò)程執(zhí)行某個(gè)代碼的方式、包括第二過(guò)程向代碼的執(zhí)行給予的優(yōu)先級(jí)。作為結(jié)果,可以提供在過(guò)程之間的更緊密互操作性而仍然維持防止過(guò)程之一非法控制或者影響其它過(guò)程之一的高安全性水平。
圖5是在無(wú)狀態(tài)環(huán)境中提供狀態(tài)信息的系統(tǒng)的概念圖。一般而言,系統(tǒng)500使用服務(wù)器系統(tǒng)502以代表服務(wù)器系統(tǒng)502的特定用戶(hù)保存關(guān)于登錄到服務(wù)器系統(tǒng)502的各種設(shè)備上的瀏覽器應(yīng)用的狀態(tài)的最新?tīng)顟B(tài)信息。例如,在瀏覽器是設(shè)備(比如計(jì)算設(shè)備504)上的操作系統(tǒng)的僅有本機(jī)應(yīng)用時(shí),可以持續(xù)向服務(wù)器系統(tǒng)502上傳并且在服務(wù)器系統(tǒng)502中更新?tīng)顟B(tài)信息。以這樣的方式,如果用戶(hù)關(guān)斷計(jì)算設(shè)備504或者以其它方式移向另一計(jì)算設(shè)備并且從另一計(jì)算設(shè)備登錄到服務(wù)器系統(tǒng)502,則可以向在該另一設(shè)備上運(yùn)行的應(yīng)用復(fù)制用于瀏覽器應(yīng)用的狀態(tài)信息,其中該應(yīng)用也可以在其中Web瀏覽器應(yīng)用為僅有本機(jī)應(yīng)用的操作系統(tǒng)中運(yùn)行,并且所有其它應(yīng)用是在瀏覽器應(yīng)用內(nèi)運(yùn)行的web應(yīng)用。同樣,如果用戶(hù)關(guān)閉一個(gè)設(shè)備上的會(huì)話(huà)并且稍后啟動(dòng)相同設(shè)備,則這里討論的技術(shù)可以使用在服務(wù)器系統(tǒng)而不是在設(shè)備本身上存儲(chǔ)的狀態(tài)數(shù)據(jù)來(lái)重建會(huì)話(huà)。作為結(jié)果,系統(tǒng)可以操作而無(wú)需用于在設(shè)備上存儲(chǔ)這樣的信息的過(guò)量存儲(chǔ)器,并且可以在設(shè)備之間更容易共享狀態(tài)信息。
系統(tǒng)500在這一示例中包括通過(guò)網(wǎng)絡(luò)506(比如因特網(wǎng)和有關(guān)連接網(wǎng)絡(luò))與服務(wù)器系統(tǒng)502通信的計(jì)算設(shè)備504??梢匀菁{服務(wù)器系統(tǒng)502作為向系統(tǒng)500的用戶(hù)提供各種Web服務(wù)的系統(tǒng)中的更大數(shù)據(jù)中心的一部分。例如,服務(wù)器系統(tǒng)502可以包括一個(gè)或者多個(gè)Web服務(wù)器,該Web服務(wù)器可以提供用于生成用于在計(jì)算設(shè)備504上顯示的文檔的HTML代碼。
計(jì)算設(shè)備504包括多個(gè)特定部件,這些部件允許存儲(chǔ)用于將通常為無(wú)狀態(tài)應(yīng)用的瀏覽應(yīng)用的狀態(tài)信息以使得可以在稍后時(shí)間在設(shè)備504上或者在另一設(shè)備上復(fù)制計(jì)算設(shè)備504的狀態(tài)。例如,如果用戶(hù)將設(shè)備504置于睡眠模式或者關(guān)斷設(shè)備504,則在操作系統(tǒng)允許設(shè)備504完全進(jìn)入睡眠模式之前可以已經(jīng)向服務(wù)器系統(tǒng)502保存了(例如,在用戶(hù)利用web瀏覽器執(zhí)行他的或者她的最后動(dòng)作時(shí))或者可以向服務(wù)器系統(tǒng)502上傳了設(shè)備504的最當(dāng)前狀態(tài)。例如,如果設(shè)備504被編程用于每當(dāng)設(shè)備504上的狀態(tài)信息有改變時(shí)上傳狀態(tài)信息改變的指示符,則狀態(tài)信息可以先前已經(jīng)存儲(chǔ)于服務(wù)器系統(tǒng)502。狀態(tài)信息除了為了重建設(shè)備的狀態(tài)而需要的其它相關(guān)信息之外還可以包括用于當(dāng)前顯示于設(shè)備上的頁(yè)面的文檔對(duì)象模型(DOM)。
現(xiàn)在參照可以在設(shè)備504中實(shí)施的特定部件,示出瀏覽器應(yīng)用510,并且瀏覽器應(yīng)用510可以是在設(shè)備504上本機(jī)執(zhí)行的僅有應(yīng)用??梢栽谠O(shè)備504上單獨(dú)存儲(chǔ)HTML 508以使得瀏覽器應(yīng)用510可以渲染它。HTML 508可以采用多種形式并且可以在一個(gè)或者多個(gè)示例中被表示為文檔對(duì)象模型(DOM)樹(shù)。設(shè)備504也可以存儲(chǔ)和實(shí)施JavaScript 512和JavaScript變量514。例如,在渲染HTML 508時(shí),HTML可以包括指向?qū)⒃谠O(shè)備504上運(yùn)行的各種JavaScript程序的指針或者對(duì)這些程序的調(diào)用。這些程序在執(zhí)行時(shí)可以取回或者生成在程序的操作中需要的變量或者其它信息。
用戶(hù)接口516也可以被存儲(chǔ)于設(shè)備上并且可以代表各種參數(shù),這些參數(shù)包括在設(shè)備504的可視顯示器或者屏幕上顯示的內(nèi)容的當(dāng)前表示。例如,用戶(hù)界面516可以存儲(chǔ)關(guān)于瀏覽器的什么標(biāo)簽頁(yè)在特定時(shí)間打開(kāi)的信息和/或操作系統(tǒng)是否支持特定類(lèi)型的應(yīng)用(比如在瀏覽器的頂部之上顯示的浮動(dòng)窗格)作為特征狀態(tài),以及可以用來(lái)描述設(shè)備504上的顯示的當(dāng)前狀態(tài)并且可以進(jìn)一步用來(lái)重構(gòu)與設(shè)備504上的當(dāng)前顯示的信息匹配的顯示的其它適當(dāng)信息。
網(wǎng)頁(yè)保存應(yīng)用518也可以被實(shí)施于設(shè)備504上,并且可以跟蹤瀏覽器510和其它瀏覽器或者在設(shè)備504上執(zhí)行的其它程序的當(dāng)前狀態(tài)。例如,網(wǎng)頁(yè)保存應(yīng)用518可以截獲對(duì)或者來(lái)自設(shè)備504上的特定部件的調(diào)用以確定關(guān)于由瀏覽器510代表的內(nèi)容或者關(guān)于其它信息已經(jīng)進(jìn)行的改變。網(wǎng)頁(yè)保存應(yīng)用518然后可以使通信由設(shè)備504生成并且被引向服務(wù)器系統(tǒng)502以指示在瀏覽器510的當(dāng)前狀態(tài)中已經(jīng)進(jìn)行的改變。例如,設(shè)備504可以向服務(wù)器系統(tǒng)502提供如下信息,該信息指示已經(jīng)打開(kāi)瀏覽器標(biāo)簽頁(yè)并且也提供用于該標(biāo)簽頁(yè)的URL。
網(wǎng)頁(yè)保存應(yīng)用518和設(shè)備504上的其它部件也可以具有對(duì)圖像520的數(shù)據(jù)存儲(chǔ)庫(kù)的訪(fǎng)問(wèn)權(quán)。在某些方面中,圖像520簡(jiǎn)單地是操作系統(tǒng)級(jí)圖像,比如用于為了運(yùn)行設(shè)備504和重建設(shè)備504的狀態(tài)而需要的一般圖標(biāo)和其它基本信息的圖像。圖像也可以是網(wǎng)頁(yè)上的圖像或者由設(shè)備504上的Web應(yīng)用使用的圖像,并且可以代表網(wǎng)頁(yè)保存應(yīng)用518存儲(chǔ)圖像以用于在應(yīng)用518中或者由應(yīng)用518稍后訪(fǎng)問(wèn)。
在一個(gè)示例中使用這里描述的系統(tǒng)500,可以捕獲并且向服務(wù)器系統(tǒng)502上傳用戶(hù)的設(shè)備的當(dāng)前狀態(tài)。用戶(hù)然后可以比如通過(guò)從家用計(jì)算機(jī)移向網(wǎng)絡(luò)計(jì)算機(jī)來(lái)移向另一計(jì)算設(shè)備并且在用戶(hù)已經(jīng)引導(dǎo)另一設(shè)備并且可能提供證書(shū)以向服務(wù)器系統(tǒng)502標(biāo)識(shí)他們自己(人工或者經(jīng)由另一設(shè)備上的保存的cookie)時(shí)可以讓設(shè)備504的完全狀態(tài)在工作計(jì)算機(jī)或者其它這樣的設(shè)備被復(fù)制。作為結(jié)果,用戶(hù)可以從一個(gè)設(shè)置向另一設(shè)置切換或者可以回到他們更方便地離開(kāi)并且可以能夠更高效地使用設(shè)備504上的應(yīng)用的地方。例如,如果用戶(hù)建立應(yīng)用或者代表用戶(hù)在瀏覽器501中執(zhí)行的Web應(yīng)用,則用戶(hù)可能想要保持那些Web應(yīng)用在稍后時(shí)間或者在另一設(shè)備運(yùn)行。例如,用戶(hù)可能偏好于讓電子郵件Web應(yīng)用、文檔編輯應(yīng)用、地圖應(yīng)用和一般web瀏覽窗口始終打開(kāi),并且狀態(tài)復(fù)制技術(shù)可以無(wú)論用戶(hù)何時(shí)從一個(gè)機(jī)器移向另一機(jī)器都允許用戶(hù)這樣做而無(wú)需人工重建狀態(tài)。
圖6是跨越網(wǎng)絡(luò)為計(jì)算設(shè)備提供成像的系統(tǒng)600的概念圖(其中這里的圖像是系統(tǒng)映像而不是圖形圖像,比如照片)。一般而言,系統(tǒng)600包括多種設(shè)備,比如可以通過(guò)網(wǎng)絡(luò)606(比如因特網(wǎng))與主控的服務(wù)器系統(tǒng)602通信的移動(dòng)計(jì)算設(shè)備604。除了提供各種主控的服務(wù)(比如搜索引擎服務(wù)、地圖服務(wù)、電子郵件服務(wù)、文檔管理服務(wù)等)之外,主控的服務(wù)器系統(tǒng)602也可以與設(shè)備604上的操作系統(tǒng)配合以便管理設(shè)備604上的操作系統(tǒng)。例如,設(shè)備604上的操作系統(tǒng)可以是具有形式為Web瀏覽器的單個(gè)本機(jī)應(yīng)用的操作系統(tǒng),并且在設(shè)備604上執(zhí)行的其它應(yīng)用可以作為Web瀏覽器中的Web應(yīng)用來(lái)這樣做。這樣的方式可以最小化需要存儲(chǔ)于設(shè)備604上并且由設(shè)備604管理的本機(jī)應(yīng)用的數(shù)目。附加地,如這里描述的那樣,這樣的布置可以簡(jiǎn)化設(shè)備604可以由主機(jī)計(jì)算機(jī)系統(tǒng)602管理的方式。
在這一示例中,將設(shè)備604示出為存儲(chǔ)圖像608。圖像可以定義什么部件持久存儲(chǔ)于設(shè)備604上。例如,圖像608可以包括超出設(shè)備604上的固件以外的基本操作系統(tǒng),具體為程序,其中單個(gè)程序可以是設(shè)備上的操作系統(tǒng)的圖像的一部分,該操作系統(tǒng)具有形式為Web瀏覽器的單個(gè)本機(jī)應(yīng)用。一般而言,圖像可以用來(lái)保證多個(gè)計(jì)算機(jī)具有它們中的部件的共同基線(xiàn)以便提高用于管理和維持這樣的計(jì)算機(jī)的可操作性的能力。具體而言,公司可能想要某一數(shù)目的軟件部件可用于它的雇員而其它部件不可用,因此它可以定義圖像并且可以在首次部署雇員的機(jī)器時(shí)在機(jī)器上安裝該圖像。
在這一示例內(nèi),服務(wù)器系統(tǒng)602與設(shè)備604和從系統(tǒng)602接收服務(wù)的其它設(shè)備配合以便維持或者修復(fù)設(shè)備上的圖像。如圖中所示,服務(wù)器602可以在提供這樣的服務(wù)時(shí)運(yùn)用多個(gè)特定部件。例如,可以提供圖像接口610以與遠(yuǎn)程設(shè)備(比如設(shè)備604)交互。圖像接口610可以例如與設(shè)備通信以驗(yàn)證每個(gè)設(shè)備上的圖像仍然準(zhǔn)確。例如,在不允許向設(shè)備添加應(yīng)用時(shí),比如在僅有本機(jī)應(yīng)用是瀏覽器而附加應(yīng)用是未被持久存儲(chǔ)的web應(yīng)用時(shí),哈??梢杂稍O(shè)備604上的本機(jī)部件組成,并且可以存儲(chǔ)和比較該哈希與每當(dāng)引導(dǎo)設(shè)備604時(shí)計(jì)算的后續(xù)哈希。如果哈希不匹配,則這可以指示已經(jīng)危及了用于設(shè)備604上的操作系統(tǒng)的核心部件。在這樣的情形中,設(shè)備604可以向圖像接口610發(fā)送消息,該消息可以使接口610轉(zhuǎn)而使服務(wù)器系統(tǒng)602的其它部件執(zhí)行某些操作。
例如,圖像重構(gòu)器616可以被編程用于標(biāo)識(shí)、收集和組裝用于圖像的特定部件,該圖像可以是用于設(shè)備604的替換圖像。圖像重構(gòu)器616可以初始地查看圖像索引618以標(biāo)識(shí)假設(shè)安裝于設(shè)備604上的圖像的形式。例如,可以針對(duì)設(shè)備604提供用于操作系統(tǒng)的特定修訂號(hào)。備選地,按照不同制造商或者用戶(hù)基礎(chǔ)的設(shè)備可以各自具有定制圖像,但是單個(gè)制造商提供的線(xiàn)中的設(shè)備可以具有共同圖像。因此,圖像索引618可以能夠接收用于設(shè)備或者操作設(shè)備的公司的制造商和機(jī)型的標(biāo)識(shí)符,并且標(biāo)識(shí)將響應(yīng)于來(lái)自這樣的設(shè)備的請(qǐng)求而構(gòu)建的圖像(其中圖像可以從由系統(tǒng)存儲(chǔ)的共同可交換部件構(gòu)建)。
在這一示例中,圖像可以由圖像片段構(gòu)建。例如,操作系統(tǒng)的某些級(jí)別可以是圖像的一部分,并且模塊操作系統(tǒng)中的每個(gè)級(jí)別可以是用于圖像的單獨(dú)片段。同樣,共同級(jí)別中的不同特征也可以被視為和存儲(chǔ)為單獨(dú)圖像片段。圖像重構(gòu)器616或者圖像更新器614可以使用來(lái)自圖像索引618的信息,該信息例如可以將圖像標(biāo)識(shí)符映射到組成整個(gè)圖像的各種片段或者部件。
同樣,用戶(hù)設(shè)備映射622也可以執(zhí)行功能,比如先前針對(duì)圖像索引618描述的功能,包括通過(guò)將特定用戶(hù)或者用戶(hù)組或者特定機(jī)器類(lèi)型映射到特定圖像。例如,設(shè)備的用戶(hù)可以登錄系統(tǒng)602并且可以被提供一個(gè)或者多個(gè)網(wǎng)頁(yè),用戶(hù)可以在該網(wǎng)頁(yè)上針對(duì)他們想要在他們的設(shè)備604上呈現(xiàn)的圖像選擇特定部件或者片段??梢耘c用于用戶(hù)的標(biāo)識(shí)符關(guān)聯(lián)地保存這些部件,從而使得對(duì)重建圖像的后續(xù)嘗試可以自動(dòng)選擇由用戶(hù)先前選擇的那些部件。
利用重構(gòu)的圖像,圖像更新器614與可以控制這里討論的在部件之間的一般操作和協(xié)調(diào)的操作接口612配合可以通過(guò)圖像接口610和網(wǎng)絡(luò)606向設(shè)備604供應(yīng)更新的圖像。比如在服務(wù)器系統(tǒng)602已經(jīng)通過(guò)網(wǎng)絡(luò)606意外或者有意地擦除(wipe)設(shè)備604時(shí),更新可以包括用于設(shè)備604的整個(gè)圖像。
在某些實(shí)現(xiàn)方式中,可以運(yùn)用服務(wù)器系統(tǒng)602以從設(shè)備604遠(yuǎn)程擦除圖像并且在一些實(shí)例中用新圖像替換圖像。例如,如果設(shè)備604被竊,則系統(tǒng)602可以擦除設(shè)備604上的圖像并且可以使用可以向設(shè)備604上的固件中并入的標(biāo)識(shí)符以防止設(shè)備604再次獲得圖像。備選地,設(shè)備604可以被系統(tǒng)602遠(yuǎn)程擦除并且然后可以被恰當(dāng)所有者恢復(fù),從而使得一旦所有者已經(jīng)驗(yàn)證設(shè)備回到恰當(dāng)控制中,服務(wù)器系統(tǒng)602然后可以向設(shè)備604提供新的和更新的圖像。
例如,在初始地引導(dǎo)設(shè)備604時(shí),公共密鑰可以存儲(chǔ)于固件的小型只讀段中,并且密鑰可以用來(lái)檢查設(shè)備604上的內(nèi)核。可以比如通過(guò)創(chuàng)建原有標(biāo)識(shí)符的相同哈希函數(shù)運(yùn)行部件來(lái)檢驗(yàn)密鑰或者不同標(biāo)識(shí)符(比如設(shè)備上的操作系統(tǒng)部件中的一個(gè)或者多個(gè)操作系統(tǒng)部件的哈希版本或者其它哈希版本(在密鑰本身是哈希版本時(shí))與在引導(dǎo)時(shí)間在設(shè)備上的部件。如果未產(chǎn)生匹配,則這可以指示已經(jīng)危及設(shè)備604(因?yàn)楹诵拇a在它不應(yīng)已經(jīng)改變時(shí)已經(jīng)改變)并且某人已經(jīng)嘗試改變?cè)O(shè)備600上的本機(jī)文件以比如將設(shè)備604轉(zhuǎn)變成傀儡(bot)或者用于其它目的。
在操作棧的低級(jí)別的通信接口然后可以在用戶(hù)可以干擾引導(dǎo)序列之前產(chǎn)生與服務(wù)器系統(tǒng)602的網(wǎng)絡(luò)連接,并且可以指示圖像中的失敗已經(jīng)出現(xiàn)于設(shè)備604上。服務(wù)器系統(tǒng)602然后可以使用上文討論的部件以構(gòu)建用于設(shè)備604的新圖像并且向設(shè)備604傳送新圖像。設(shè)備604然后可以用新圖像替換潛在毀壞的圖像并且用新圖像操作,包括通過(guò)完成危及的圖像。
設(shè)備604也可以向服務(wù)器系統(tǒng)602傳遞回危及的圖像或者表征危及的圖像的數(shù)據(jù)。服務(wù)器系統(tǒng)602然后可以分析危及的圖像嘗試確定什么引起危及。例如,服務(wù)器系統(tǒng)602可以比較危及的圖像與來(lái)自被服務(wù)器系統(tǒng)602分配相同初始圖像的其它設(shè)備的危及的圖像。如果標(biāo)識(shí)了多個(gè)匹配的危及的圖像,則這樣的標(biāo)識(shí)可以指示單個(gè)實(shí)體對(duì)抗設(shè)備的協(xié)調(diào)攻擊已經(jīng)出現(xiàn)。
因此,以這里描述的方式,遠(yuǎn)程重新成像系統(tǒng)600可以提供用于以方便方式更新設(shè)備(比如設(shè)備604)的機(jī)制。例如,由于設(shè)備604未持久存儲(chǔ)大量代碼,因此對(duì)圖像的頻繁更新可以提供對(duì)設(shè)備604的用戶(hù)的最少破壞。如上文討論的使用云發(fā)表的圖像數(shù)據(jù)也可以提供用于擦除特定客戶(hù)端設(shè)備并且然后從服務(wù)器系統(tǒng)602對(duì)它們重新成像的方便方式。附加地,服務(wù)器系統(tǒng)602可以能夠通過(guò)簡(jiǎn)單地使用一起組成整個(gè)圖像的可交換部件并且然后將那些部件的組合映射到用戶(hù)設(shè)備映射數(shù)據(jù)庫(kù)622中的特定設(shè)備來(lái)存儲(chǔ)用于大量不同用戶(hù)設(shè)備的圖像,以便能夠從跨越所有設(shè)備或者特定大設(shè)備組而共同的構(gòu)建塊的相對(duì)唯一組合重構(gòu)特定圖像。
圖7是提供計(jì)算設(shè)備的遠(yuǎn)程監(jiān)視和控制的系統(tǒng)700的概念圖。一般而言,系統(tǒng)700涉及計(jì)算設(shè)備702,該計(jì)算設(shè)備702可以是以便攜計(jì)算設(shè)備(比如智能電話(huà)或者平板計(jì)算機(jī)或者膝上型計(jì)算機(jī))的形式。計(jì)算設(shè)備702可以是加載有很輕操作系統(tǒng)的設(shè)備,該操作系統(tǒng)比如是僅有形式為Web瀏覽器的本機(jī)應(yīng)用的操作系統(tǒng),并且其中以在Web瀏覽器上運(yùn)行的Web應(yīng)用的形式提供其它應(yīng)用。與上文描述的其它設(shè)備一樣,設(shè)備702可以通過(guò)網(wǎng)絡(luò)708(比如因特網(wǎng))交互以與臺(tái)式計(jì)算機(jī)706中的服務(wù)器系統(tǒng)704通信。臺(tái)式計(jì)算機(jī)706可以是由與擁有計(jì)算設(shè)備702相同的人擁有的計(jì)算機(jī)。例如,用戶(hù)可以在工作地或者家里具有臺(tái)式計(jì)算機(jī)并且可以在路上使用便攜計(jì)算設(shè)備702。這里描述的系統(tǒng)700可以涉及通過(guò)使欺詐者或者類(lèi)似人更難以干擾用于設(shè)備702的操作系統(tǒng)并且提供檢查用于檢查惡意代碼或者內(nèi)容的機(jī)會(huì)來(lái)提供計(jì)算設(shè)備中的更大安全性。
圖中的示例棧示出用于在引導(dǎo)過(guò)程期間的較早階段標(biāo)識(shí)安全漏洞的一個(gè)示例機(jī)制。棧在這一示例中被相對(duì)壓縮并且在它的最低級(jí)別包括可以在固件中實(shí)施的BIOS 716。BIOS可以執(zhí)行用于BIOS的傳統(tǒng)操作并且也可以包括用于與服務(wù)器系統(tǒng)704建立有限網(wǎng)絡(luò)連接的代碼。有限連接在這一示例中用來(lái)從設(shè)備702向服務(wù)器系統(tǒng)704(在引導(dǎo)過(guò)程已經(jīng)達(dá)到可以容易被黑客的級(jí)別之前)或者從服務(wù)器系統(tǒng)704向設(shè)備702報(bào)告惡意活動(dòng)。作為一個(gè)示例,用戶(hù)可以發(fā)現(xiàn)設(shè)備702已經(jīng)被竊并且可以使用計(jì)算機(jī)706登錄到計(jì)算機(jī)系統(tǒng)704。用戶(hù)然后可以請(qǐng)求擦除、關(guān)停設(shè)備702或者它可以拍攝當(dāng)前用戶(hù)的圖片并且報(bào)告設(shè)備702的當(dāng)前位置或者其它適當(dāng)動(dòng)作。在下次引導(dǎo)設(shè)備702時(shí),BIOS 716可以通過(guò)由網(wǎng)絡(luò)硬件718發(fā)送的消息通知服務(wù)器系統(tǒng)704,網(wǎng)絡(luò)硬件718可以包括用于執(zhí)行無(wú)線(xiàn)通信的機(jī)制。服務(wù)器系統(tǒng)704可以用狀態(tài)消息做出回應(yīng)。通常,狀態(tài)消息可以指示所有事物都好。然而,由于用戶(hù)已經(jīng)登錄并且報(bào)告設(shè)備702遺失,所以服務(wù)器系統(tǒng)704在這一示例中向設(shè)備702指示已經(jīng)有問(wèn)題。
服務(wù)器系統(tǒng)704如在網(wǎng)絡(luò)708與設(shè)備702之間的返回箭頭所示可以提供用于設(shè)備702的后續(xù)操作的指令。例如服務(wù)器系統(tǒng)704可以通知設(shè)備702比如在設(shè)備702感測(cè)到有人在設(shè)備702上鍵入時(shí)拍攝設(shè)備702的用戶(hù)的數(shù)字圖像。已經(jīng)完全引導(dǎo)的設(shè)備702可以自動(dòng)上傳圖片而未通知當(dāng)前用戶(hù)(假定為竊賊)。附加地,這樣的圖像可以伴隨有指示設(shè)備702的當(dāng)前位置的GPS數(shù)據(jù)。以這一方式,執(zhí)法當(dāng)局可以知道前往何處發(fā)現(xiàn)設(shè)備702并且也可以具有特定用戶(hù)在設(shè)備702被竊之時(shí)使用設(shè)備這樣的證據(jù)。
用于引導(dǎo)設(shè)備702的棧的其余部分也相對(duì)緊湊。例如在已經(jīng)使用BIOS代碼716來(lái)進(jìn)行基本安全檢查之后,可以執(zhí)行用于操作系統(tǒng)714的代碼并且可以起動(dòng)操作系統(tǒng)的基本部件。作為操作系統(tǒng)起動(dòng)的部分或者作為相似、但是單獨(dú)動(dòng)作的部分,然后可以打開(kāi)服務(wù)712并且使服務(wù)712在設(shè)備702上可用,并且可以起動(dòng)應(yīng)用710、比如用于操作系統(tǒng)714的專(zhuān)用本機(jī)Web瀏覽器應(yīng)用。
也可以自動(dòng)和定期、包括在已經(jīng)出現(xiàn)完全引導(dǎo)之后執(zhí)行安全檢查。例如看門(mén)狗定時(shí)器702可以在設(shè)備702上運(yùn)行并且可以使設(shè)備702上的安全性被定期檢查。例如這里所示棧可以在它自己的系統(tǒng)分區(qū)中并且在它被更新時(shí)可以讓功能應(yīng)用于它的代碼以便創(chuàng)建哈希值。在觸發(fā)看夢(mèng)定時(shí)器720時(shí),如果操作系統(tǒng)是其中這些部件中的每個(gè)部件總是在棧中并且除了在更新期間之外不變,則可以對(duì)棧在當(dāng)時(shí)包含的無(wú)論任何內(nèi)容執(zhí)行相似哈希。然后可以比較新哈希與用于棧的存儲(chǔ)的哈希(也可以對(duì)棧中的少于所有部件執(zhí)行哈希)。如果值已經(jīng)改變,則可以通知服務(wù)器系統(tǒng)704并且服務(wù)器系統(tǒng)704可以隨后向設(shè)備702發(fā)送出信號(hào)以比如鎖定設(shè)備、擦除設(shè)備702上的存儲(chǔ)裝置、重新格式化設(shè)備上的存儲(chǔ)介質(zhì)或者執(zhí)行其它這樣的操作。服務(wù)器系統(tǒng)704也可以通過(guò)備份信道、比如工作電子郵件或者文字消息通知來(lái)通知設(shè)備702的合法用戶(hù)。
設(shè)備702在向服務(wù)器系統(tǒng)704報(bào)告問(wèn)題時(shí)可以在發(fā)現(xiàn)問(wèn)題時(shí)立即或者更晚時(shí)間報(bào)告。例如BIOS 716可以生成用于指示設(shè)備702的問(wèn)題的標(biāo)識(shí)符。BIOS 716然后可以允許棧的其它部件被執(zhí)行以便使設(shè)備702有完全特征。一旦完全引導(dǎo)設(shè)備702,可以使網(wǎng)絡(luò)硬件718向服務(wù)器系統(tǒng)704提供標(biāo)識(shí)符使得服務(wù)器系統(tǒng)704知道和理解設(shè)備702具有問(wèn)題并且使得服務(wù)器系統(tǒng)704可以向設(shè)備702發(fā)送適當(dāng)消息、比如用于重新引導(dǎo)的消息并且重新引導(dǎo)一個(gè)或者多個(gè)特定過(guò)程而且擦除設(shè)備702上的存儲(chǔ)介質(zhì)或者重新格式化設(shè)備702上的存儲(chǔ)介質(zhì)。
圖8是提供在計(jì)算設(shè)備上高速緩存集中存儲(chǔ)于主控的計(jì)算機(jī)系統(tǒng)上的數(shù)據(jù)的系統(tǒng)的概念圖。一般而言,系統(tǒng)800使用計(jì)算設(shè)備802上的存儲(chǔ)裝置808以用作為用于服務(wù)器系統(tǒng)804上的存儲(chǔ)裝置810的高速緩存。以這樣的方式,可以通過(guò)在許多境況中允許高速緩存的數(shù)據(jù)808停留在設(shè)備802并且在相對(duì)更少實(shí)例中需要通過(guò)網(wǎng)絡(luò)806的往返以便加速處理來(lái)使設(shè)備802的操作更高效和迅速。這里可以如同上文討論的其它設(shè)備實(shí)施設(shè)備802為具有如下操作系統(tǒng),對(duì)于該操作系統(tǒng)而言Web瀏覽器是僅有應(yīng)用并且其它應(yīng)用作為Web瀏覽器Web應(yīng)用來(lái)操作。也可以在設(shè)備802上實(shí)施針對(duì)圖7討論的棧。
在該圖中,示出設(shè)備802存儲(chǔ)三個(gè)特定值:A、B和C。類(lèi)似地,服務(wù)器系統(tǒng)804以對(duì)應(yīng)方式以A和B形式存儲(chǔ)那些值中的兩個(gè)值。服務(wù)器系統(tǒng)804也存儲(chǔ)用于D的值。示出存儲(chǔ)裝置810中的用于A和B的值而在它們周?chē)欣ㄌ?hào)以指示那些項(xiàng)目為“臟”并且可以未被嘗試訪(fǎng)問(wèn)存儲(chǔ)裝置810的其它設(shè)備所信任,因?yàn)樗鼈兛赡芤呀?jīng)在存儲(chǔ)裝置808中被設(shè)備802改變。實(shí)質(zhì)上,服務(wù)器系統(tǒng)804操作如同設(shè)備802已經(jīng)檢查這些值一樣——即使另一設(shè)備針對(duì)它們產(chǎn)生請(qǐng)求,服務(wù)器系統(tǒng)804仍然可以查詢(xún)?cè)O(shè)備802以獲得它們的最新值并且從設(shè)備802重獲對(duì)它們的控制。也如圖該圖中所示,僅項(xiàng)目B如存儲(chǔ)裝置808中的項(xiàng)目B上的撇號(hào)所示已經(jīng)在設(shè)備802相對(duì)于從服務(wù)器系統(tǒng)804獲得的項(xiàng)目的版本有改變。
在操作之時(shí),設(shè)備802可以執(zhí)行造成用于項(xiàng)目A、B和/或C的值改變的各種操作。在適當(dāng)時(shí)間點(diǎn),設(shè)備802可以向服務(wù)器系統(tǒng)804提交這樣的改變,該服務(wù)器系統(tǒng)又可以更新存儲(chǔ)裝置810中的用于項(xiàng)目的值。設(shè)備802也可以指示使用項(xiàng)目來(lái)完成它,并且作為響應(yīng),服務(wù)器系統(tǒng)804可以解除將項(xiàng)目標(biāo)記為系統(tǒng)800中的受控類(lèi)型的值。以這一方式,可以在設(shè)備802上運(yùn)行的Web應(yīng)用與用于服務(wù)器系統(tǒng)804的數(shù)據(jù)存儲(chǔ)庫(kù)之間方便地高速緩存數(shù)據(jù)。
圖9是用于提供計(jì)算設(shè)備的延遲鎖定的過(guò)程的流程圖。一般而言,該過(guò)程可以在被布置成用于在用戶(hù)比如通過(guò)關(guān)閉翻蓋設(shè)備的蓋或者通過(guò)按壓寫(xiě)字板設(shè)備上的按鈕或者其它部件以將它置于安全睡眠模式來(lái)關(guān)閉設(shè)備時(shí)延遲從活躍模式轉(zhuǎn)向安全或者鎖定模式、比如睡眠模式的計(jì)算設(shè)備上執(zhí)行。在這一示例中,安全睡眠模式是如下模式,用戶(hù)在該模式中必須錄入口令或者執(zhí)行另一相似操作以解鎖設(shè)備以便再次使用它。一般而言,這樣的設(shè)備稱(chēng)為bing鎖定,因?yàn)樗撕?jiǎn)單地恢復(fù)接通設(shè)備之外還需要用于重新激活的活躍輸入。
這里描述的過(guò)程有意地引入的延遲可以允許用戶(hù)在他們指示他們想要設(shè)備進(jìn)入睡眠或者鎖定模式之后在用戶(hù)在完全將它置于睡眠模式之前快速改變他們的想法并且需要再次使用設(shè)備的情況下在短時(shí)間段內(nèi)返回到設(shè)備。在延遲被適當(dāng)定時(shí)并且短暫時(shí),這樣的延遲可以向過(guò)程引入最少安全負(fù)擔(dān),因?yàn)榍‘?dāng)和原有用戶(hù)可能貫穿延遲時(shí)段停留在設(shè)備附近使得擅入者不能在設(shè)備向鎖定模式轉(zhuǎn)變之前拿走它。
該過(guò)程始于框302,其中它開(kāi)始監(jiān)視計(jì)算設(shè)備以確定用戶(hù)是否已經(jīng)指示它應(yīng)當(dāng)執(zhí)行特定動(dòng)作。在框304,該過(guò)程接收關(guān)于鎖定時(shí)間的用戶(hù)輸入。例如用戶(hù)可以配置他們的計(jì)算設(shè)備以便具有在將設(shè)備改變成睡眠模式之前的可以針對(duì)特定用戶(hù)而變化的延遲。例如在這一實(shí)例中,用戶(hù)可以標(biāo)識(shí)9秒的延遲以便提供用于用戶(hù)改變他的或者她的想法并且重建設(shè)備的活躍狀態(tài)的充分時(shí)間。響應(yīng)于用戶(hù)的關(guān)于用于鎖定設(shè)備的延遲時(shí)間的輸入,在框506,該過(guò)程調(diào)整用于設(shè)備的鎖定時(shí)間參數(shù)。這樣的參數(shù)可以持久存儲(chǔ)于設(shè)備上使得從一個(gè)會(huì)話(huà)到另一會(huì)話(huà),用于鎖定設(shè)備的延遲時(shí)段相同,并且用戶(hù)可以開(kāi)始感覺(jué)舒適,因?yàn)槿绻麜r(shí)間尚未到期,則他們將能夠使設(shè)備快速?gòu)?fù)活。
在框908,該過(guò)程標(biāo)識(shí)設(shè)備已經(jīng)比如通過(guò)用戶(hù)關(guān)閉設(shè)備上的殼蓋以推動(dòng)設(shè)備上的功率開(kāi)關(guān)或者通過(guò)用戶(hù)直接按壓用于關(guān)斷設(shè)備或者將它移入睡眠模式的開(kāi)關(guān)從打開(kāi)配置移向關(guān)閉配置。這里討論的相關(guān)轉(zhuǎn)變是如下轉(zhuǎn)變,該轉(zhuǎn)變需要大量用戶(hù)輸入以返回到用于設(shè)備的活躍可操作模式使得它多于簡(jiǎn)單地將設(shè)備從關(guān)閉配置移向打開(kāi)配置,這可以關(guān)斷屏幕、但是容易可逆,因?yàn)槲存i定設(shè)備并且大量部件尚未響應(yīng)于模式改變而掉電。然而為了向用戶(hù)給予已經(jīng)接收他們的輸入這樣的反饋,即使正在延遲將設(shè)備移向需要大量用戶(hù)輸入來(lái)恢復(fù)的睡眠模式,仍然可以在設(shè)備從打開(kāi)配置移向關(guān)閉配置之后立即閃爍設(shè)備上的屏幕。
在框910,該過(guò)程啟動(dòng)與在時(shí)間超速到期時(shí)鎖定設(shè)備連結(jié)的關(guān)停定時(shí)器。時(shí)間參數(shù)在這一實(shí)例中是用戶(hù)在框904選擇的并且設(shè)備在塊906應(yīng)用的參數(shù)。例如設(shè)備可以一旦它被關(guān)閉就閃爍屏幕并且啟動(dòng)9秒倒計(jì)數(shù)定時(shí)器、但是可以直至定時(shí)器到期才移向不同模式。因此在912,該過(guò)程反復(fù)檢查以確定設(shè)置的定時(shí)器是否已經(jīng)到期。如果它未到期,則該過(guò)程在塊914檢查是否已經(jīng)打開(kāi)設(shè)備。如果已經(jīng)打開(kāi)設(shè)備,則該過(guò)程返回到在塊902監(jiān)視計(jì)算設(shè)備。隨后,用戶(hù)可以設(shè)置輸入用于鎖定定時(shí)器的新時(shí)間或者可以再次將設(shè)備從打開(kāi)配置移向關(guān)閉配置并且因此重復(fù)這里討論的動(dòng)作中的一些或者所有動(dòng)作。
一旦定時(shí)器已經(jīng)到期,該過(guò)程然后在框916鎖定設(shè)備。設(shè)備的這樣的鎖定除了需要用戶(hù)解鎖輸入以將設(shè)備帶回到活躍狀態(tài)之外也可以涉及到減緩設(shè)備上的特定處理器或者完全去除供給它們的功率、關(guān)斷顯示屏幕、關(guān)斷空氣流通扇和汲取電功率的其它項(xiàng)目并且等待用戶(hù)重新激活和解鎖設(shè)備。
圖10A是用于管理操作系統(tǒng)中的上下文對(duì)象的過(guò)程的流程圖。一般而言,該過(guò)程涉及到關(guān)聯(lián)操作系統(tǒng)中的對(duì)象與元數(shù)據(jù),該元數(shù)據(jù)描述在創(chuàng)建那些對(duì)象時(shí)和/或當(dāng)在設(shè)備上改變或者另外操控它們時(shí)在它們周?chē)纳舷挛摹?/p>
該過(guò)程始于1002,其中在操作系統(tǒng)中實(shí)例化對(duì)象。對(duì)象可以采用多種形式并且這里出于示例目的而為可以在字處理應(yīng)用中編輯的字處理文檔。在框1004,該過(guò)程標(biāo)識(shí)上下文元數(shù)據(jù),該上下文元數(shù)據(jù)定義其它打開(kāi)對(duì)象在啟動(dòng)時(shí)間的狀態(tài)。例如用戶(hù)可以讓W(xué)eb瀏覽器向特定URL打開(kāi)并且該過(guò)程可以存儲(chǔ)用于Web瀏覽器和用于URL的標(biāo)識(shí)符。這樣的上下文元數(shù)據(jù)如果它指示用戶(hù)在查看網(wǎng)頁(yè)、然后決定在字處理程序中關(guān)于網(wǎng)頁(yè)做筆記則可以是相關(guān)的。因此,它可以有益于創(chuàng)建和存儲(chǔ)在瀏覽器應(yīng)用中的網(wǎng)頁(yè)URL與字處理應(yīng)用中的字處理文檔之間的相關(guān)性。并且作為結(jié)果,在框1006存儲(chǔ)上下文元數(shù)據(jù),并且在框1008存儲(chǔ)關(guān)于實(shí)例化的對(duì)象的信息。
在框1010,可以在某一時(shí)間之后、比如在用戶(hù)向字處理文檔中鍵入信息并且完成編輯文檔之后關(guān)閉對(duì)象,并且隨后可以比如在用戶(hù)想要編輯文檔更多一些時(shí)接收用于打開(kāi)對(duì)象的請(qǐng)求。在重新打開(kāi)對(duì)象時(shí),各種其它應(yīng)用可以在當(dāng)時(shí)運(yùn)行,并且它們可以再次與用戶(hù)打開(kāi)這一文檔的原因相關(guān)。同樣例如瀏覽器可以向與用戶(hù)相關(guān)的話(huà)題并且通過(guò)延伸向作為對(duì)象的文檔打開(kāi)。
作為結(jié)果并且為了捕獲這樣的信息,在塊1012,該過(guò)程用關(guān)于打開(kāi)對(duì)象而不是實(shí)例化的對(duì)象的信息更新上下文元數(shù)據(jù)。因此,可以在用戶(hù)連續(xù)打開(kāi)、關(guān)閉和操控對(duì)象時(shí)創(chuàng)建、添加到和更新用于對(duì)象的元數(shù)據(jù)貯存庫(kù),該元數(shù)據(jù)貯存庫(kù)可以是代表對(duì)象本身的域文件的部分——其中向它添加的數(shù)據(jù)代表對(duì)象在如在相同時(shí)間執(zhí)行的其它應(yīng)用定義的每個(gè)境況中的上下文和關(guān)于那些其它應(yīng)用在做什么的信息。因此在框1014中,用戶(hù)經(jīng)歷關(guān)閉和打開(kāi)對(duì)象的其它循環(huán),并且更新元數(shù)據(jù)。
這樣的上下文元數(shù)據(jù)可以在它被確定為充分指示用戶(hù)的意圖時(shí)最終用來(lái)執(zhí)行自動(dòng)動(dòng)作。例如在用戶(hù)打開(kāi)文檔時(shí)系統(tǒng)可以向?yàn)g覽器中的搜索引擎自動(dòng)執(zhí)行搜索并且可以隨文檔顯示搜索結(jié)果——如果上下文元數(shù)據(jù)的分析指示用戶(hù)通常在打開(kāi)文檔時(shí)執(zhí)行搜索(例如,如果文檔跟蹤用于公司的估價(jià)并且搜索用于公司的當(dāng)前估價(jià)使得他或者她可以向文檔中剪切和粘貼它)。
圖10B是用于管理操作系統(tǒng)中的上下文對(duì)象的過(guò)程的流程圖。與圖10A中所示過(guò)程一樣,該過(guò)程涉及到關(guān)聯(lián)操作系統(tǒng)中的對(duì)象與元數(shù)據(jù),該元數(shù)據(jù)描述在創(chuàng)建那些對(duì)象時(shí)和/或當(dāng)在設(shè)備上改變或者另外操控它們時(shí)在它們周?chē)纳舷挛摹?/p>
該過(guò)程始于1022,其中記錄對(duì)計(jì)算設(shè)備上打開(kāi)的第一操作系統(tǒng)對(duì)象的第一預(yù)定義動(dòng)作的第一次出現(xiàn)。在框1024,記錄在與第一操作系統(tǒng)對(duì)象相同的時(shí)間對(duì)計(jì)算設(shè)備上打開(kāi)的第二操作系統(tǒng)對(duì)象的第二預(yù)定義動(dòng)作的第一次出現(xiàn)。對(duì)象可以采用多種形式、比如字處理文檔、圖像文件、顯示特定URL的web瀏覽器等。
接著在塊1026將分別涉及第一操作系統(tǒng)對(duì)象和第二操作系統(tǒng)對(duì)象的第一和第二預(yù)定義動(dòng)作相關(guān)。在框1028存儲(chǔ)相關(guān)狀態(tài),該狀態(tài)包括涉及第一和第二操作系統(tǒng)對(duì)象的相關(guān)動(dòng)作。維持?jǐn)?shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)存儲(chǔ)相關(guān)狀態(tài)。存儲(chǔ)這些狀態(tài)提供在特定時(shí)間關(guān)于各種對(duì)象采取的動(dòng)作的歷史、因此存儲(chǔ)對(duì)象相關(guān)歷史。這樣做允許計(jì)算機(jī)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)以取回涉及到特定對(duì)象的每個(gè)相關(guān)狀態(tài)使得可以確定在各種對(duì)象之間的關(guān)系。
在框1030標(biāo)識(shí)對(duì)第一操作系統(tǒng)對(duì)象的第一預(yù)定義動(dòng)作的第二次出現(xiàn)。在框1032然后比較第二次出現(xiàn)與數(shù)據(jù)庫(kù)中的包括對(duì)第一操作系統(tǒng)對(duì)象的第一預(yù)定義動(dòng)作的相關(guān)狀態(tài)。該比較產(chǎn)生如在框1034所示對(duì)第二操作系統(tǒng)對(duì)象的第二預(yù)定義動(dòng)作與對(duì)第一操作系統(tǒng)對(duì)象的第一預(yù)定義動(dòng)作有關(guān)這樣的確定。因而在框1036實(shí)例化第二操作系統(tǒng)對(duì)象??梢酝ㄟ^(guò)在任何給定的時(shí)間拍攝計(jì)算機(jī)上打開(kāi)的對(duì)象的“快照”來(lái)建立相關(guān)性。也可以如上文關(guān)于圖2A和2B描述的那樣通過(guò)存儲(chǔ)涉及個(gè)別對(duì)象的元數(shù)據(jù)來(lái)確定相關(guān)性,其中元數(shù)據(jù)包括關(guān)于其它對(duì)象或者用戶(hù)的信息。
圖11是用于維持計(jì)算設(shè)備上的存儲(chǔ)器控制的過(guò)程的流程圖。該過(guò)程1100可以例如由系統(tǒng)、比如系統(tǒng)400執(zhí)行。然而另一系統(tǒng)或者系統(tǒng)組合可以用來(lái)執(zhí)行過(guò)程1100。
參照?qǐng)D11,過(guò)程1100圖示應(yīng)用在用于管理計(jì)算設(shè)備上的潛在存儲(chǔ)器短缺的示例方法中的生命周期。該方法始于步驟1105,其中執(zhí)行應(yīng)用。例如操作系統(tǒng)可以響應(yīng)于用戶(hù)請(qǐng)求或者在另一應(yīng)用要求時(shí)從持久存儲(chǔ)器加載應(yīng)用。接著在步驟1110,系統(tǒng)400確定應(yīng)用的狀態(tài)是否已經(jīng)改變。在一些實(shí)現(xiàn)方式中,應(yīng)用監(jiān)視器220可以記住應(yīng)用何時(shí)取得聚焦、何時(shí)已經(jīng)創(chuàng)建新應(yīng)用或者何時(shí)已經(jīng)終止應(yīng)用。在一個(gè)備選實(shí)施例中,除了上文提到的改變之外或者取代這些改變,應(yīng)用管理器還可以監(jiān)視用系統(tǒng)的用戶(hù)輸入(例如按鍵、鼠標(biāo)電極、觸筆或者手指敲擊等)以確定應(yīng)用何時(shí)已經(jīng)改變狀態(tài)。
如果未檢測(cè)到狀態(tài)改變,則該方法繼續(xù)步驟1115,其中系統(tǒng)確定儲(chǔ)存器短缺是否存在。如果系統(tǒng)確定系統(tǒng)存儲(chǔ)器短缺確實(shí)存在,則該方法繼續(xù)下文討論的步驟1130。然而如果存儲(chǔ)器短缺未存在,則重復(fù)步驟1110。
一旦檢測(cè)到狀態(tài)改變,該方法繼續(xù)步驟1120。在步驟1120,生成和存儲(chǔ)狀態(tài)信息。由于可以在任何時(shí)間取消在某些狀態(tài)中的應(yīng)用,所以在應(yīng)用監(jiān)視器檢測(cè)到狀態(tài)改變之后,應(yīng)用監(jiān)視器可以通知應(yīng)用生成并且在持久存儲(chǔ)器中存儲(chǔ)狀態(tài)信息。在示例實(shí)現(xiàn)方式中,狀態(tài)信息可以包括用來(lái)重建應(yīng)用如同應(yīng)用在它被終止之前一樣的信息。例如狀態(tài)信息可以包括但不限于應(yīng)用的窗口在顯示器上的位置、用戶(hù)對(duì)應(yīng)用文件進(jìn)行的任何改變和用戶(hù)的優(yōu)選查看模式。一旦生成狀態(tài)信息,應(yīng)用可以向持久存儲(chǔ)器存儲(chǔ)狀態(tài)信息。
在生成和保存狀態(tài)信息之后,該方法繼續(xù)步驟1115,其中系統(tǒng)確定存儲(chǔ)器短缺是否存在。如果系統(tǒng)確定存儲(chǔ)器已經(jīng)用完,則內(nèi)核可以通知應(yīng)用終止器通過(guò)取消一個(gè)或者多個(gè)應(yīng)用來(lái)使存儲(chǔ)器可用。在備選實(shí)現(xiàn)方式中,內(nèi)核可以確定存儲(chǔ)器是否變得稀缺。內(nèi)核可以通過(guò)比較來(lái)自應(yīng)用的存儲(chǔ)器請(qǐng)求與當(dāng)前可用存儲(chǔ)器來(lái)檢測(cè)迫在眉睫的存儲(chǔ)器短缺。內(nèi)核也可以確定可用存儲(chǔ)器數(shù)量是否低于預(yù)定閾值。在檢測(cè)到短缺時(shí),內(nèi)核可以采取步驟以釋放足夠存儲(chǔ)器以保證選擇的應(yīng)用將具有充分存儲(chǔ)器以繼續(xù)正常操作。
如果系統(tǒng)已經(jīng)確定需要存儲(chǔ)器,則該方法繼續(xù)步驟1130,其中應(yīng)用終止器確定應(yīng)用是否為最低排行應(yīng)用、即應(yīng)用是否在應(yīng)用分級(jí)的底部。如果應(yīng)用未在分級(jí)224的底部,則該方法返回到步驟1110,其中系統(tǒng)監(jiān)視應(yīng)用的狀態(tài)改變。如果應(yīng)用在分級(jí)的底部,則該方法繼續(xù)步驟1140,其中取消應(yīng)用。在一些實(shí)現(xiàn)方式中,應(yīng)用終止器確定應(yīng)用是否為程序棧中的最后應(yīng)用。如果是這樣,則取消應(yīng)用和任何關(guān)聯(lián)線(xiàn)程。
在步驟1150,系統(tǒng)確定是否應(yīng)當(dāng)恢復(fù)應(yīng)用。在示例實(shí)現(xiàn)方式中,如果系統(tǒng)檢測(cè)到用戶(hù)嘗試返回到取消的應(yīng)用,則該方法返回到步驟1105,其中使用存儲(chǔ)的狀態(tài)信息來(lái)恢復(fù)應(yīng)用。例如系統(tǒng)可以檢測(cè)用戶(hù)嘗試關(guān)閉或者最小化覆蓋取消的應(yīng)用的窗口。作為響應(yīng),系統(tǒng)400從持久存儲(chǔ)器加載用于應(yīng)用的狀態(tài)信息并且使用存儲(chǔ)的信息以恢復(fù)應(yīng)用。
如果系統(tǒng)400未檢測(cè)到嘗試與取消的應(yīng)用交互,則該方法返回到步驟1150,其中系統(tǒng)400再次確定是否恢復(fù)應(yīng)用。
圖12是用于用在計(jì)算機(jī)過(guò)程之間的消息傳遞提供線(xiàn)程親和性的過(guò)程的流程圖。一般而言,這里示出該過(guò)程為出現(xiàn)于在單個(gè)計(jì)算機(jī)上執(zhí)行的過(guò)程之間。例如兩個(gè)過(guò)程可以代表在設(shè)備上運(yùn)行并且被布置用于相互沙盒以便保護(hù)設(shè)備41上的存儲(chǔ)器免于其它應(yīng)用的兩個(gè)不同應(yīng)用。該過(guò)程始于塊1202,其中實(shí)例化每個(gè)過(guò)程。
在塊106并且在過(guò)程已經(jīng)運(yùn)行一段時(shí)間之后,過(guò)程可以確定它需要過(guò)程B的動(dòng)作或者需要從過(guò)程B接收回信息。并且作為結(jié)果,在框106,過(guò)程A傳遞具有信息的消息,該信息定義過(guò)程B需要代表過(guò)程A對(duì)多快工作于消息。因此,在塊108,過(guò)程B接收消息并且在塊110從優(yōu)先級(jí)信息分離消息的正文。過(guò)程B然后使用優(yōu)先級(jí)信息或者可以從過(guò)程A隨消息傳遞的其它信息以確定如何處置消息。例如過(guò)程A可能需要關(guān)于計(jì)算機(jī)設(shè)備的當(dāng)前狀態(tài)的報(bào)告以便完成它的工作,并且如果等待信息以這樣完成將明顯減緩用戶(hù)立即需要的過(guò)程,則過(guò)程A可以提供信息,該信息可以過(guò)程B使它的操作優(yōu)先于所有其它操作。因此在框1212,過(guò)程B可以基于優(yōu)先級(jí)信息改變它的聚焦。例如如果過(guò)程B先前經(jīng)過(guò)長(zhǎng)久、但是非時(shí)間敏感的過(guò)程工作,則它可以保存用于這樣的活動(dòng)的狀態(tài)信息并且可以擱置它的工作直至過(guò)程B已經(jīng)對(duì)過(guò)程A做出響應(yīng)。以這一方式,過(guò)程可以用方便方式相互來(lái)回通信以便提供針對(duì)通過(guò)過(guò)程產(chǎn)生的請(qǐng)求的更聚焦響應(yīng)。
圖13是用于提供無(wú)狀態(tài)環(huán)境中的狀態(tài)信息的過(guò)程的流程圖。一般而言,該過(guò)程涉及到跟蹤應(yīng)用、比如web瀏覽器的窗格或者在web瀏覽器中運(yùn)行的一個(gè)或者多個(gè)web應(yīng)用的狀態(tài)改變并且向存儲(chǔ)關(guān)于那些改變的信息的服務(wù)器系統(tǒng)傳遞這樣的信息。針對(duì)相同用戶(hù)而登錄的以后計(jì)算機(jī)然后可以從服務(wù)器系統(tǒng)獲得狀態(tài)信息并且可以相應(yīng)地重建上次保存的狀態(tài)。
該過(guò)程始于框1302,其中用戶(hù)以正常方式操作計(jì)算設(shè)備。計(jì)算設(shè)備可以執(zhí)行操作系統(tǒng),該操作系統(tǒng)執(zhí)行形式為Web瀏覽器的單個(gè)本機(jī)應(yīng)用并且其它應(yīng)用在Web瀏覽器以?xún)?nèi)運(yùn)行、比如作為Web應(yīng)用來(lái)運(yùn)行。瀏覽器中的每個(gè)窗格和每個(gè)Web應(yīng)用可以出于安全目的而在它自己的隔離過(guò)程中被沙盒。
在塊1304,該過(guò)程定期或者響應(yīng)于設(shè)備上的狀態(tài)改變而保存設(shè)備上的一個(gè)或者多個(gè)活躍DOM的圖像。這樣的活動(dòng)可以出現(xiàn)于相關(guān)狀態(tài)是網(wǎng)頁(yè)的當(dāng)前狀態(tài)、比如用戶(hù)是否與網(wǎng)頁(yè)上的活躍內(nèi)容(例如JavaScript創(chuàng)建的內(nèi)容)交互時(shí)。取代DOM信息或者除了該信息之外也可以包括其它狀態(tài)信息以便完全捕獲設(shè)備的和設(shè)備中的不同過(guò)程的當(dāng)前狀態(tài)。例如可以維持和更新設(shè)備上的每個(gè)活躍過(guò)程的列表并且也可以更新定義那些過(guò)程的當(dāng)前狀態(tài)的特定參數(shù)。這樣的信息可以在相同時(shí)間或者以后向服務(wù)器上傳,該服務(wù)器向計(jì)算設(shè)備提供信息,并且服務(wù)器系統(tǒng)可以組織信息使得可以以后重構(gòu)設(shè)備的上次保存的狀態(tài)。
在塊1308,針對(duì)這樣的重構(gòu)的請(qǐng)求出現(xiàn)。例如用于向與第一設(shè)備相同的用戶(hù)經(jīng)由服務(wù)器系統(tǒng)注冊(cè)的設(shè)備的引導(dǎo)過(guò)程可以自動(dòng)到達(dá)服務(wù)器系統(tǒng)以獲得用于注冊(cè)的設(shè)備的用戶(hù)賬戶(hù)的最新近狀態(tài)信息。服務(wù)器系統(tǒng)然后可以訪(fǎng)問(wèn)用于特定設(shè)備的存儲(chǔ)的圖像(其中用戶(hù)或者用戶(hù)組)可以定義用于他們的設(shè)備的圖像,設(shè)備將在它們被引導(dǎo)時(shí)自動(dòng)拍攝這些圖像。設(shè)備也可以使用與圖像的部件關(guān)聯(lián)的數(shù)據(jù)以重構(gòu)網(wǎng)頁(yè)和其它對(duì)象到它們?cè)谟脩?hù)上次使用向用戶(hù)的與服務(wù)器系統(tǒng)的賬戶(hù)注冊(cè)的計(jì)算機(jī)時(shí)的狀態(tài),無(wú)論更早的計(jì)算機(jī)和更晚的計(jì)算機(jī)是否系統(tǒng)或者互不相同。
在框1314,該過(guò)程顯示頁(yè)面和其它對(duì)象而它們的先前保存狀態(tài)不變。
圖14是跨越網(wǎng)絡(luò)為計(jì)算設(shè)備提供成像的過(guò)程的流程圖。一般而言,這里示出該過(guò)程出現(xiàn)于與主控的服務(wù)器系統(tǒng)通信的一個(gè)或者多個(gè)客戶(hù)端設(shè)備上。僅出于示例目的而提供在這一示例中示出的特定工作劃分,并且其它動(dòng)作可以在不同實(shí)現(xiàn)方式中由相似部件或者由不同部件進(jìn)行。這里所示過(guò)程主要涉及到存儲(chǔ)用于構(gòu)造圖像的圖像數(shù)據(jù),這些圖像各自定義客戶(hù)端設(shè)備將在它被引導(dǎo)時(shí)如何操作。在主控的中心服務(wù)器系統(tǒng)存儲(chǔ)和構(gòu)造圖像,并且在引導(dǎo)時(shí)間向客戶(hù)端設(shè)備提供圖像數(shù)據(jù)。
該過(guò)程始于框1402,其中多個(gè)不同客戶(hù)端設(shè)備以普通方式由設(shè)備的用戶(hù)操作。每個(gè)用戶(hù)可以比如在框1404在他們的特定設(shè)備上為圖像建立參數(shù)并且可以向主控的服務(wù)器系統(tǒng)提交設(shè)備圖像,該服務(wù)器系統(tǒng)可以在框1406接收?qǐng)D像。例如用戶(hù)可以想要在他們引導(dǎo)他們的設(shè)備時(shí)加載特定應(yīng)用(比如Web應(yīng)用)并且可以想要以特定方式設(shè)置設(shè)備上的設(shè)置。
在框1408,服務(wù)器系統(tǒng)比較用于特定設(shè)備的圖像與在服務(wù)器系統(tǒng)的存儲(chǔ)的數(shù)據(jù)。例如服務(wù)器系統(tǒng)可以存儲(chǔ)一起組成各種不同圖像的部件并且可以簡(jiǎn)單地存儲(chǔ)每個(gè)部件的一個(gè)副本和將部件映射到用于客戶(hù)端設(shè)備的每個(gè)圖像的基本文字或者相似文件。例如數(shù)的二進(jìn)制列表可以用來(lái)標(biāo)識(shí)整個(gè)圖像,其中列表中的每個(gè)位置可以標(biāo)識(shí)可以存在于或者可以未存在于特定圖像中的特定部件,并且其中針對(duì)特定設(shè)備在該位置存在一可以向服務(wù)器系統(tǒng)指示設(shè)備在它的圖像中具有特定部件。因此例如在框1410,該過(guò)程用更小同義詞替換設(shè)備圖像的部分。在剛才描述的示例中,同義詞可以是簡(jiǎn)單位值,而在其它實(shí)現(xiàn)方式中,同義詞可以是對(duì)于系統(tǒng)中的特定部件而言唯一的文字?jǐn)?shù)字標(biāo)識(shí)符。
在框1412,服務(wù)器系統(tǒng)隨設(shè)備標(biāo)識(shí)符保存減少大小的圖像,該設(shè)備標(biāo)識(shí)符指向?qū)儆谔囟▓D像的設(shè)備。例如系統(tǒng)可以在一個(gè)位置存儲(chǔ)用于特定部件的代碼并且可以與上文討論的二進(jìn)制流一起并且在其它位置存儲(chǔ)對(duì)于設(shè)備而言唯一的設(shè)備標(biāo)識(shí)符。
在以后時(shí)間,特定設(shè)備可以如框1414所示請(qǐng)求圖像,并且服務(wù)器系統(tǒng)可以在塊1416訪(fǎng)問(wèn)用于該設(shè)備的圖像并且擴(kuò)展它。作為一個(gè)示例,設(shè)備可以每當(dāng)它被引導(dǎo)時(shí)請(qǐng)求圖像并且可以在它關(guān)斷時(shí)未本地存儲(chǔ)它的圖像。這樣的擴(kuò)展可以涉及到遍歷二進(jìn)制列表、比如上文隨服務(wù)器系統(tǒng)討論的二進(jìn)制列表并且收集其中列表中的每個(gè)值是一而不是零的部件。也可以使用其它用于收集部件或者另外構(gòu)建用于設(shè)備的圖像的技術(shù)。
在框1418,服務(wù)器系統(tǒng)向客戶(hù)端設(shè)備傳輸回它已經(jīng)構(gòu)建的圖像,在框1420,客戶(hù)端設(shè)備加載圖像并且允許設(shè)備由設(shè)備的用戶(hù)完全操作。并且使用這里討論的技術(shù),特別是在大量設(shè)備關(guān)于主控的系統(tǒng)操作,可以在系統(tǒng)以跨越系統(tǒng)減少大小的方式存儲(chǔ)圖像數(shù)據(jù)。
圖15是用于提供計(jì)算設(shè)備的遠(yuǎn)程監(jiān)視和控制的過(guò)程的流程圖。一般而言,該過(guò)程通過(guò)在操作系統(tǒng)棧中的低級(jí)別進(jìn)行安全檢查以便減少黑客在檢查出現(xiàn)的級(jí)別以下的級(jí)別進(jìn)入棧來(lái)為客戶(hù)端計(jì)算設(shè)備提供安全性。
該過(guò)程始于框1502,其中用戶(hù)接通設(shè)備。在框1504,設(shè)備訪(fǎng)問(wèn)它的引導(dǎo)固件并且以熟悉方式開(kāi)始引導(dǎo)過(guò)程。固件可以是bios的部分或者設(shè)備上的其它結(jié)構(gòu)。固件也可以包括用于在設(shè)備與主控的服務(wù)器系統(tǒng)之間的無(wú)線(xiàn)傳輸?shù)臋C(jī)制,并且在框1506,該過(guò)程使用這樣的功能以向主控的服務(wù)器系統(tǒng)發(fā)送消息。消息可以視為用于標(biāo)識(shí)設(shè)備自從設(shè)備上次向主控的服務(wù)器系統(tǒng)報(bào)到起的境況改變的請(qǐng)求。在框1508,服務(wù)器系統(tǒng)接收消息并且標(biāo)識(shí)設(shè)備和設(shè)備的參數(shù)。例如主控的服務(wù)器系統(tǒng)可以使用設(shè)備標(biāo)識(shí)符以確定與設(shè)備相關(guān)的任何事件是否已經(jīng)出現(xiàn)、比如設(shè)備的用戶(hù)報(bào)告設(shè)備已經(jīng)被竊并且應(yīng)當(dāng)被封鎖或者擦除或者重新格式化它。附加地,設(shè)備的標(biāo)識(shí)可以如關(guān)于圖14討論的那樣用來(lái)標(biāo)識(shí)用于設(shè)備的圖像并且開(kāi)始收集部件,這些部件用于向設(shè)備提供回圖像用于進(jìn)一步引導(dǎo)設(shè)備。
在框1510,服務(wù)器系統(tǒng)訪(fǎng)問(wèn)關(guān)于設(shè)備的存儲(chǔ)的信息、比如緊接上文關(guān)于設(shè)備的用戶(hù)的報(bào)告和設(shè)備是否已經(jīng)被竊而討論的信息。在框1512,服務(wù)器系統(tǒng)生成和傳輸用于將對(duì)設(shè)備執(zhí)行的動(dòng)作的數(shù)據(jù)。如關(guān)于圖14討論的那樣,這樣的動(dòng)作可以包括設(shè)備將在引導(dǎo)時(shí)執(zhí)行的提供用于設(shè)備的圖像。這樣的動(dòng)作也可以涉及將關(guān)于設(shè)備實(shí)施的安全性。例如,如果引導(dǎo)固件發(fā)送的消息指示自從最新近更新起已經(jīng)改變?cè)O(shè)備上的棧的部分,則將對(duì)設(shè)備執(zhí)行的動(dòng)作可以包括擦除設(shè)備或者重新格式化設(shè)備上的存儲(chǔ)結(jié)構(gòu)、比如閃存或者硬驅(qū)動(dòng)??梢皂憫?yīng)于來(lái)自設(shè)備的用戶(hù)的、設(shè)備已經(jīng)被竊這樣的外部指示來(lái)執(zhí)行相似動(dòng)作。因此,對(duì)設(shè)備的動(dòng)作可以響應(yīng)于在引導(dǎo)時(shí)間從設(shè)備接收的信息或者響應(yīng)于未從設(shè)備接收、但是從外部源、比如調(diào)入報(bào)告的用戶(hù)接收的其它信息。
在框1514,客戶(hù)端設(shè)備接收數(shù)據(jù)和指令,并且在框1516,客戶(hù)端設(shè)備使用引導(dǎo)固件以處理已經(jīng)接收的數(shù)據(jù)和/或執(zhí)行已經(jīng)接收的指令??梢越邮盏钠渌?lèi)型的指令包括用于報(bào)告回關(guān)于設(shè)備的信息使得可以恢復(fù)設(shè)備的指令。例如設(shè)備可以如上文討論的那樣使用機(jī)載相機(jī)來(lái)拍攝數(shù)字照片嘗試捕獲使用設(shè)備的竊賊的圖像并且可以將照片與指示設(shè)備的位置的GPS數(shù)據(jù)一起傳輸回。
圖16是用于提供在計(jì)算設(shè)備上高速緩存集中存儲(chǔ)于主控的計(jì)算機(jī)系統(tǒng)上的數(shù)據(jù)的過(guò)程的流程圖。一般而言,該過(guò)程指示用于基于web的計(jì)算設(shè)備如何可以一般存儲(chǔ)于主控的服務(wù)器系統(tǒng)、但是也可以向與主控的服務(wù)器系統(tǒng)通信的客戶(hù)端設(shè)備上高速緩存并且依賴(lài)于主控的服務(wù)器系統(tǒng)用于操作設(shè)備上的應(yīng)用,這些應(yīng)用包括Web瀏覽器中的Web應(yīng)用。
該過(guò)程始于塊1602和1604,其中客戶(hù)端設(shè)備和主控的服務(wù)器設(shè)備二者存儲(chǔ)用于設(shè)備的基于賬戶(hù)的信息。例如每個(gè)設(shè)備或者系統(tǒng)可以存儲(chǔ)用于設(shè)備的用戶(hù)ID,該用戶(hù)ID將設(shè)備相關(guān)到與主控的服務(wù)器系統(tǒng)的特定用戶(hù)賬戶(hù)。在框1606,客戶(hù)端設(shè)備請(qǐng)求服務(wù)器側(cè)信息,并且在框1608,主控的服務(wù)器系統(tǒng)獲得請(qǐng)求的信息并且向客戶(hù)端設(shè)備傳輸它。主控的服務(wù)器系統(tǒng)也可以存儲(chǔ)用于標(biāo)識(shí)將來(lái)將對(duì)請(qǐng)求信息進(jìn)行的改變的信息。在某些實(shí)現(xiàn)方式中,主控的服務(wù)器系統(tǒng)可以假設(shè)將編輯向客戶(hù)端設(shè)備提供的用于編輯的任何信息使得主控的服務(wù)器系統(tǒng)可以在向客戶(hù)端設(shè)備傳遞這樣的數(shù)據(jù)時(shí)標(biāo)記或者至少臨時(shí)標(biāo)記它為臟。在框1612,客戶(hù)端設(shè)備接收請(qǐng)求的信息,并且響應(yīng)于用戶(hù)與客戶(hù)端設(shè)備的交互,它可以修改請(qǐng)求的信息。在適當(dāng)時(shí)間,從客戶(hù)端設(shè)備向主控的服務(wù)器系統(tǒng)傳輸回修改的信息。這樣的適當(dāng)時(shí)間可以由向服務(wù)器系統(tǒng)定期提供回信息的時(shí)鐘或者由特定事件——比如用戶(hù)選擇應(yīng)用中的定義的控件——確定。
在框1616,服務(wù)器系統(tǒng)取回修改的信息,并且在框1616,它使用存儲(chǔ)的信息以標(biāo)識(shí)對(duì)請(qǐng)求的信息的改變。例如系統(tǒng)可以比較從客戶(hù)端設(shè)備接收回的信息與先前標(biāo)記為臟的信息以確定是否已經(jīng)對(duì)向客戶(hù)端設(shè)備給予的信息進(jìn)行任何相關(guān)改變。在框1620,服務(wù)器系統(tǒng)可以用信息的更新的子集替換子集。因此例如在系統(tǒng)確定沒(méi)有在系統(tǒng)上的臟數(shù)據(jù)與從客戶(hù)端設(shè)備接收回的數(shù)據(jù)之間的匹配時(shí),服務(wù)器系統(tǒng)可以插入來(lái)自客戶(hù)端設(shè)備的改變的信息。
圖17示出可以隨這里描述的技術(shù)使用的通用計(jì)算機(jī)設(shè)備1700和通用移動(dòng)計(jì)算機(jī)設(shè)備1750的示例。計(jì)算設(shè)備1700旨在于代表各種形式的數(shù)字計(jì)算機(jī),比如膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、工作站、個(gè)人數(shù)字助理、服務(wù)器、刀片服務(wù)器、主機(jī)和其它適當(dāng)計(jì)算機(jī)。計(jì)算設(shè)備1750旨在于代表各種形式的移動(dòng)設(shè)備,比如個(gè)人數(shù)字助理、蜂窩電話(huà)、智能電話(huà)和其它相似計(jì)算設(shè)備。這里所示部件、它們的連接和關(guān)系及其功能意味著僅為示例性而并非意味著限制在本文中描述和/或要求保護(hù)的本發(fā)明的實(shí)現(xiàn)方式。
計(jì)算設(shè)備1700包括處理器1702、存儲(chǔ)器1704、存儲(chǔ)設(shè)備1706、連接到存儲(chǔ)器1704和高速擴(kuò)展端口1710的高速接口1708以及連接到低速總線(xiàn)1714和存儲(chǔ)設(shè)備1706的低速接口1712。使用各種總線(xiàn)來(lái)互連并且可以在共同母板上裝配或者以如適當(dāng)?shù)钠渌绞窖b配部件1702、1704、1706、1708、1710和1712中的每個(gè)部件。處理器1702可以處理用于在計(jì)算設(shè)備1700內(nèi)執(zhí)行的指令,這些指令包括在存儲(chǔ)器1704中或者在存儲(chǔ)設(shè)備1706上存儲(chǔ)的用于在外部輸入/輸出設(shè)備(比如耦合到高速接口1708的顯示器1716)上顯示用于GUI的圖形信息的指令。在其它實(shí)現(xiàn)方式中,多個(gè)處理器和/或多個(gè)總線(xiàn)可以如適當(dāng)?shù)哪菢优c多個(gè)存儲(chǔ)器和存儲(chǔ)器類(lèi)型一起使用。也可以連接多個(gè)計(jì)算設(shè)備1700,其中每個(gè)設(shè)備提供必需操作的部分(例如,作為服務(wù)器組、成組刀片服務(wù)器或者多處理器系統(tǒng))。
存儲(chǔ)器1704存儲(chǔ)計(jì)算設(shè)備1700內(nèi)的信息。在一個(gè)實(shí)現(xiàn)方式中,存儲(chǔ)器1704是一個(gè)或者多個(gè)易失性存儲(chǔ)器單元。在另一實(shí)現(xiàn)方式中,存儲(chǔ)器1704是一個(gè)或者多個(gè)非易失性存儲(chǔ)器單元。存儲(chǔ)器1704也可以是另一形式的計(jì)算機(jī)可讀介質(zhì),比如磁盤(pán)或者光盤(pán)。
存儲(chǔ)設(shè)備1706能夠提供用于計(jì)算設(shè)備1700的海量存儲(chǔ)。在一個(gè)實(shí)現(xiàn)方式中,存儲(chǔ)設(shè)備1706可以是或者包含計(jì)算機(jī)可讀介質(zhì),比如軟盤(pán)設(shè)備、硬盤(pán)設(shè)備、光盤(pán)設(shè)備或者帶設(shè)備、閃存或者其它相似固態(tài)存儲(chǔ)器設(shè)備或者如下設(shè)備的陣列,這些設(shè)備包括存儲(chǔ)區(qū)域網(wǎng)絡(luò)或者其它配置中的設(shè)備??梢栽谛畔⑤d體中有形地體現(xiàn)計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品也可以包含在被執(zhí)行時(shí)執(zhí)行一種或者多種方法(比如上文描述的方法)的指令。信息載體是計(jì)算機(jī)或者機(jī)器可讀介質(zhì),比如存儲(chǔ)器1704、存儲(chǔ)設(shè)備1706、在處理器1702上的存儲(chǔ)器或者傳播的信號(hào)。
高速控制器1708管理用于計(jì)算設(shè)備1700的帶寬密集操作,而低速控制器1712管理更低帶寬密集操作。這樣的功能分配僅為示例性。在一個(gè)實(shí)現(xiàn)方式中,高速控制器1708耦合到存儲(chǔ)器1704、顯示器1716(例如,通過(guò)圖形處理器或者加速器)并且耦合到可以接受各種擴(kuò)展卡(未示出)的高速擴(kuò)展端口1710。在該實(shí)現(xiàn)方式中,低速控制器1712耦合到存儲(chǔ)設(shè)備1706和低速擴(kuò)展端口1714??梢园ǜ鞣N通信端口(例如,USB、藍(lán)牙、以太網(wǎng)、無(wú)線(xiàn)以太網(wǎng))的低速擴(kuò)展端口可以例如通過(guò)網(wǎng)絡(luò)適配器耦合到一個(gè)或者多個(gè)輸入/輸出設(shè)備(比如鍵盤(pán)、指點(diǎn)設(shè)備、掃描儀)或者聯(lián)網(wǎng)設(shè)備(比如交換機(jī)或者路由器)。
如圖中所示,可以用多個(gè)不同形式實(shí)施計(jì)算設(shè)備1700。例如,可以將它實(shí)施為標(biāo)準(zhǔn)服務(wù)器1720或者多次實(shí)施于成組這樣的服務(wù)器中。也可以將它實(shí)施為架式服務(wù)器系統(tǒng)1724的一部分。附加地,可以在個(gè)人計(jì)算機(jī)(比如膝上型計(jì)算機(jī)1722)中實(shí)施它。備選地,來(lái)自計(jì)算設(shè)備1700的部件可以與移動(dòng)設(shè)備(未示出)(比如設(shè)備1750)中的其它部件組合。這樣的設(shè)備中的每個(gè)設(shè)備可以包含計(jì)算設(shè)備1700、1750中的一個(gè)或者多個(gè)計(jì)算設(shè)備,并且整個(gè)系統(tǒng)可以由相互通信的多個(gè)計(jì)算設(shè)備1700、1750組成。
計(jì)算設(shè)備1750包括處理器1752、存儲(chǔ)器1764和輸入/輸出設(shè)備(比如顯示器1754、通信接口1766和收發(fā)器1768)以及其它部件。設(shè)備1750也可以具有用于提供附加存儲(chǔ)的存儲(chǔ)設(shè)備,比如微驅(qū)動(dòng)或者其它設(shè)備。使用各種總線(xiàn)來(lái)互連部件1750、1752、1764、1754、1766和1768中的每個(gè)部件,并且可以在共同母板上或者以如適當(dāng)?shù)钠渌绞窖b配部件中的若干部件。
處理器1752可以執(zhí)行計(jì)算設(shè)備1750內(nèi)的指令,這些指令包括在存儲(chǔ)器1764中存儲(chǔ)的指令。可以將處理器實(shí)施為包括分離以及多個(gè)模擬和數(shù)字處理器的芯片的芯片集。處理器可以例如提供設(shè)備1750的其它部件的協(xié)調(diào),比如控制用戶(hù)界面、由設(shè)備1750運(yùn)行的應(yīng)用和設(shè)備1750的無(wú)線(xiàn)通信。
處理器1752可以通過(guò)控制接口1758和耦合到顯示器1754的顯示器接口1756與用戶(hù)通信。顯示器1754可以例如是TFT LCD(薄膜晶體管液晶顯示器)或者OLED(有機(jī)發(fā)光二極管)顯示器或者其它適當(dāng)顯示器技術(shù)。顯示器接口1756可以包括用于驅(qū)動(dòng)顯示器1754以向用戶(hù)呈現(xiàn)圖形和其它信息的適當(dāng)電路裝置??刂平涌?758可以從用戶(hù)接收命令并且轉(zhuǎn)換它們以用于向處理器1752提交。附加地,可以提供與處理器1752通信的外部接口1762以便實(shí)現(xiàn)設(shè)備1750與其它設(shè)備的近區(qū)域通信。外部接口1762可以例如在一些實(shí)現(xiàn)方式中提供有線(xiàn)通信或者在其它實(shí)現(xiàn)方式中提供無(wú)線(xiàn)通信,并且也可以使用多個(gè)接口。
存儲(chǔ)器1764存儲(chǔ)計(jì)算設(shè)備1750內(nèi)的信息??梢詫⒋鎯?chǔ)器1764實(shí)施為一個(gè)或者多個(gè)計(jì)算機(jī)可讀介質(zhì)、一個(gè)或者多個(gè)易失性存儲(chǔ)器單元或者一個(gè)或者多個(gè)非易失性存儲(chǔ)器單元中的一項(xiàng)或者多項(xiàng)。也可以提供擴(kuò)展存儲(chǔ)器1774并且該擴(kuò)展存儲(chǔ)器可以通過(guò)可以例如包括SIMM(單列直插存儲(chǔ)器模塊)卡接口的擴(kuò)展接口1772連接到設(shè)備1750。這樣的擴(kuò)展存儲(chǔ)器1774可以提供用于設(shè)備1750的額外存儲(chǔ)空間或者也可以存儲(chǔ)用于設(shè)備1750的應(yīng)用或者其它信息。具體而言,擴(kuò)展存儲(chǔ)器1774可以包括用于實(shí)現(xiàn)或者補(bǔ)充上文描述的過(guò)程的指令并且也可以包括安全信息。因此,例如,可以提供擴(kuò)展存儲(chǔ)器1774作為用于設(shè)備1750的安全模塊并且可以用允許安全使用設(shè)備1750的指令對(duì)擴(kuò)展存儲(chǔ)器1774編程。附加地,可以經(jīng)由SIMM卡將安全應(yīng)用與附加信息一起提供,比如以不可黑客方式將標(biāo)識(shí)信息放置于SIMM卡上。
如下文討論的那樣,存儲(chǔ)器可以例如包括閃存和/或NVRAM存儲(chǔ)器。在一個(gè)實(shí)現(xiàn)方式中,在信息載體中有形地體現(xiàn)計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品包含在被執(zhí)行時(shí)執(zhí)行一種或者多種方法(比如上文描述的方法)的指令。信息載體是計(jì)算機(jī)或者機(jī)器可讀介質(zhì),比如存儲(chǔ)器1764、擴(kuò)展存儲(chǔ)器1774、在處理器1752上的存儲(chǔ)器或者可以例如通過(guò)收發(fā)器1768或者外部接口1762接收的傳播的信號(hào)。
設(shè)備1750可以通過(guò)可以在必要時(shí)可以包括數(shù)字信號(hào)處理電路裝置的通信接口1766無(wú)線(xiàn)地通信。通信接口1766可以在各種模式或者協(xié)議(比如GSM語(yǔ)音呼叫、SMS、EMS或者M(jìn)MS消息接發(fā)、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS以及其它模式或者協(xié)議)之下提供通信??梢岳缤ㄟ^(guò)射頻收發(fā)器1768出現(xiàn)這樣的通信。附加地,可以比如使用藍(lán)牙、WiFi或者其它這樣的收發(fā)器(未示出)出現(xiàn)短程通信。附加地,GPS(全球定位系統(tǒng))接收器模塊1770可以向設(shè)備1750提供附加的與導(dǎo)航和位置有關(guān)的無(wú)線(xiàn)數(shù)據(jù),該數(shù)據(jù)可以如適當(dāng)?shù)哪菢佑稍谠O(shè)備1750上運(yùn)行的應(yīng)用使用。
設(shè)備1750也可以使用音頻編碼解碼器1760來(lái)可聽(tīng)地通信,該編碼解碼器1760可以從用戶(hù)接收口述信息并且將它轉(zhuǎn)換成可用數(shù)字信息。音頻編碼解碼器1760可以同樣地比如通過(guò)例如在設(shè)備1750的頭戴式受話(huà)器中的揚(yáng)聲器生成用于用戶(hù)的可聽(tīng)聲音。這樣的聲音可以包括來(lái)自語(yǔ)音電話(huà)呼叫的聲音、可以包括記錄的聲音(例如,語(yǔ)音消息、音樂(lè)文件等)并且也可以包括由在設(shè)備1750上操作的應(yīng)用所生成的聲音。
如圖中所示,可以用多個(gè)不同形式實(shí)施計(jì)算設(shè)備1750。例如,可以將它實(shí)施為蜂窩電話(huà)1780。也可以將它實(shí)施為智能電話(huà)1782、個(gè)人數(shù)字助理或者其它相似移動(dòng)設(shè)備的一部分。
可以在數(shù)字電子電路裝置、集成電路裝置、特殊設(shè)計(jì)的ASIC(專(zhuān)用集成電路)、計(jì)算機(jī)硬件、固件、軟件和/或其組合中實(shí)現(xiàn)這里描述的系統(tǒng)和技術(shù)的各種實(shí)現(xiàn)方式。這些各種實(shí)現(xiàn)方式可以包括在可編程系統(tǒng)上可執(zhí)行和/或可解譯的一個(gè)或者多個(gè)計(jì)算機(jī)程序中的實(shí)現(xiàn)方式,該可編程系統(tǒng)包括可以是特殊或者通用的至少一個(gè)可編程處理器、至少一個(gè)輸入設(shè)備和至少一個(gè)輸出設(shè)備,該可編程處理器被耦合用于從存儲(chǔ)系統(tǒng)接收數(shù)據(jù)和指令以及向存儲(chǔ)系統(tǒng)傳輸數(shù)據(jù)和指令。
這些計(jì)算機(jī)程序(也被稱(chēng)為程序、軟件、軟件應(yīng)用或者代碼)包括用于可編程處理器的機(jī)器指令并且可以用高級(jí)過(guò)程和/或面向?qū)ο蟮木幊陶Z(yǔ)言和/或用匯編/機(jī)器語(yǔ)言來(lái)實(shí)施。如這里所用,術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”、“計(jì)算機(jī)可讀介質(zhì)”指代用來(lái)向可編程處理器提供機(jī)器指令和/或數(shù)據(jù)的任何計(jì)算機(jī)程序產(chǎn)品、裝置和/或設(shè)備(例如,磁盤(pán)、光盤(pán)、存儲(chǔ)器、可編程邏輯器件(PLD)),該可編程處理器包括接收機(jī)器指令作為機(jī)器可讀信號(hào)的機(jī)器可讀介質(zhì)。術(shù)語(yǔ)“機(jī)器可讀信號(hào)”指代用來(lái)向可編程處理器提供機(jī)器指令和/或數(shù)據(jù)的任何信號(hào)。
為了提供與用戶(hù)的交互,可以在計(jì)算機(jī)上實(shí)施這里描述的系統(tǒng)和技術(shù),該計(jì)算機(jī)具有用于向用戶(hù)顯示信息的顯示設(shè)備(例如,CRT(陰極射線(xiàn)管)或者LCD(液晶顯示器)監(jiān)視器)以及用戶(hù)可以用來(lái)向計(jì)算機(jī)提供輸入的鍵盤(pán)和指點(diǎn)設(shè)備(例如,鼠標(biāo)或者跟蹤球)。其它種類(lèi)的設(shè)備也可以用來(lái)提供與用戶(hù)的交互;例如,向用戶(hù)提供的反饋可以是任何形式的感官反饋(例如,可視反饋、聽(tīng)覺(jué)反饋或者觸覺(jué)反饋);并且可以用包括聲音、話(huà)音或者觸覺(jué)輸入的任何形式接收來(lái)自用戶(hù)的輸入。
可以在計(jì)算系統(tǒng)中實(shí)施這里描述的系統(tǒng)和技術(shù),該計(jì)算系統(tǒng)包括后端部件(例如,作為數(shù)據(jù)服務(wù)器)或者包括中間件部件(例如,應(yīng)用服務(wù)器)或者包括前端部件(例如,具有如下圖形用戶(hù)界面或者Web瀏覽器的客戶(hù)端計(jì)算機(jī),用戶(hù)可以通過(guò)該圖形用戶(hù)界面或者Web瀏覽器與這里描述的系統(tǒng)和技術(shù)的實(shí)現(xiàn)方式交互)或者這樣的后端、中間件或者前端部件的任何組合。系統(tǒng)的部件可以由任何數(shù)字?jǐn)?shù)據(jù)通信形式或者介質(zhì)(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)和因特網(wǎng)。
計(jì)算系統(tǒng)可以包括客戶(hù)端和服務(wù)器??蛻?hù)端和服務(wù)器一般相互遠(yuǎn)離并且通常通過(guò)通信網(wǎng)絡(luò)交互。借助在相應(yīng)計(jì)算機(jī)上運(yùn)行并且相互具有客戶(hù)端-服務(wù)器關(guān)系的計(jì)算機(jī)程序產(chǎn)生客戶(hù)端和服務(wù)器關(guān)系。
已經(jīng)描述了許多實(shí)施例。然而,將理解,可以進(jìn)行各種修改而不脫離本發(fā)明的精神實(shí)質(zhì)和范圍。例如,已經(jīng)關(guān)于電視廣告描述了本文的許多內(nèi)容,但是也可以解決其它形式的將來(lái)的基于查看者資格的廣告,比如電臺(tái)廣告和在線(xiàn)視頻廣告。
附加地,在圖中描繪的邏輯流程無(wú)需所示的特定順序或者依次順序以實(shí)現(xiàn)所需結(jié)果。附加地,可以提供其它步驟或者可以從描述的流程消除步驟并且可以向描述的系統(tǒng)添加或者從描述的系統(tǒng)去除其它部件。因而,其它實(shí)施例在所附權(quán)利要求的范圍內(nèi)。