两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

恢復(fù)會話狀態(tài)的制作方法

文檔序號:11160864閱讀:419來源:國知局
恢復(fù)會話狀態(tài)的制造方法與工藝

本公開一般地涉及會話狀態(tài),并且具體地涉及向服務(wù)器提供會話狀態(tài)信息。

現(xiàn)在的計算通常取決于物理設(shè)備之間的鏈接。例如,當用戶設(shè)備被放錯地方或變得不可操作時,數(shù)據(jù)可能丟失。另外,移動設(shè)備之間的狀態(tài)對于用戶而言可能是麻煩或不直觀的。



技術(shù)實現(xiàn)要素:

公開主題涉及一種向服務(wù)器提供狀態(tài)信息的系統(tǒng)。該計算機系統(tǒng)包括一個或多個處理器以及包括存儲在其中的指令的機器可讀介質(zhì),該指令在由處理器執(zhí)行時使得處理器執(zhí)行操作,操作包括訪問用于web應(yīng)用的文檔對象模型(DOM),DOM對應(yīng)于表示web應(yīng)用的第一狀態(tài)的樹狀結(jié)構(gòu);以及基于DOM向服務(wù)器提供web應(yīng)用的第一狀態(tài)的指示。該操作還包括確定在系統(tǒng)處已經(jīng)發(fā)生預(yù)定事件,該預(yù)定事件指示不同于web應(yīng)用的第一狀態(tài)的web應(yīng)用的第二狀態(tài)將被提供給服務(wù)器,以及向服務(wù)器并且響應(yīng)于該確定提供與DOM的更新版本相對應(yīng)的web應(yīng)用的第二狀態(tài)的指示。

公開主題還涉及一種包括存儲在其中的指令的機器可讀介質(zhì),該指令在由處理器執(zhí)行時使得處理器執(zhí)行操作,操作包括訪問用于web應(yīng)用的文檔對象模型(DOM),DOM對應(yīng)于表示web應(yīng)用的第一狀態(tài)的樹狀結(jié)構(gòu);以及基于DOM向服務(wù)器提供web應(yīng)用的第一狀態(tài)的指示。該操作還包括確定在系統(tǒng)處已經(jīng)發(fā)生預(yù)定事件,該預(yù)定事件指示不同于web應(yīng)用的第一狀態(tài)的web應(yīng)用的第二狀態(tài)將被提供給服務(wù)器,以及向服務(wù)器并且響應(yīng)于該確定提供與DOM的更新版本相對應(yīng)的web應(yīng)用的第二狀態(tài)的指示。另外,該操作包括確定系統(tǒng)的狀態(tài)信息,該狀態(tài)信息包括窗口位置數(shù)據(jù)、滾動位置數(shù)據(jù)、文件夾創(chuàng)建數(shù)據(jù)、應(yīng)用位置數(shù)據(jù)、打開窗口信息、最小化窗口信息以及顯示設(shè)置信息中的至少一個,以及向服務(wù)器提供所確定狀態(tài)信息的指示,以用于從服務(wù)器的后續(xù)檢索。

公開主題進一步涉及一種用于向服務(wù)器提供會話狀態(tài)的系統(tǒng)。所述系統(tǒng)包括一個或多個處理器以及包括存儲在其中的指令的機器可讀介質(zhì),該指令在由處理器執(zhí)行時使得處理器執(zhí)行操作,該操作包括:確定關(guān)于在系統(tǒng)上運行的一個或多個應(yīng)用已經(jīng)發(fā)生第一預(yù)定事件,該第一預(yù)定事件指示用于一個或多個應(yīng)用的第一會話狀態(tài)將被提供給服務(wù)器。該操作還包括向服務(wù)器并且響應(yīng)于確定已經(jīng)發(fā)生第一預(yù)定事件來發(fā)送用于一個或多個應(yīng)用的第一會話狀態(tài);以及確定關(guān)于一個或多個應(yīng)用已經(jīng)發(fā)生第二預(yù)定事件,該第二預(yù)定事件指示用于一個或多個應(yīng)用的第二會話狀態(tài)將被提供給服務(wù)器。另外,該操作包括向服務(wù)器并且響應(yīng)于確定已經(jīng)發(fā)生第二預(yù)定事件來發(fā)送用于一個或多個應(yīng)用的第二會話狀態(tài),以及向服務(wù)器提供用于第一會話狀態(tài)和第二會話狀態(tài)中的每一個的場境信息,該場境信息用于向用戶提供用于將第一會話狀態(tài)與第二會話狀態(tài)進行區(qū)分的場境。

公開主題還涉及一種包括存儲在其中的指令的機器可讀介質(zhì),該指令在由系統(tǒng)執(zhí)行時使得系統(tǒng)執(zhí)行操作,該操作包括:確定關(guān)于在系統(tǒng)上運行的一個或多個應(yīng)用已經(jīng)發(fā)生第一預(yù)定事件,該第一預(yù)定事件指示用于一個或多個應(yīng)用的第一會話狀態(tài)將被提供給服務(wù)器。該操作還包括向服務(wù)器并且響應(yīng)于確定已經(jīng)發(fā)生第一預(yù)定事件來發(fā)送用于一個或多個應(yīng)用的第一會話狀態(tài);以及確定關(guān)于一個或多個應(yīng)用已經(jīng)發(fā)生第二預(yù)定事件,該第二預(yù)定事件指示用于一個或多個應(yīng)用的第二會話狀態(tài)將被提供給服務(wù)器。該操作進一步包括向服務(wù)器并且響應(yīng)于確定已經(jīng)發(fā)生第二預(yù)定事件來發(fā)送用于一個或多個應(yīng)用的第二會話狀態(tài),向服務(wù)器提供用于第一會話狀態(tài)和第二會話狀態(tài)中的每一個的場境信息,該場境信息用于向用戶提供用于將第一會話狀態(tài)與第二會話狀態(tài)進行區(qū)分的場境,以及向服務(wù)器發(fā)送對檢索在先會話的請求。另外,該操作包括從服務(wù)器并且響應(yīng)于該發(fā)送來接收用于第一會話狀態(tài)和第二會話狀態(tài)的場境信息,響應(yīng)于接收到的場境信息來接收對第一會話狀態(tài)或第二會話狀態(tài)的用戶選擇;以及基于接收到的用戶選擇來從服務(wù)器接收第一會話狀態(tài)或第二會話狀態(tài)。

應(yīng)理解的是根據(jù)以下詳細描述,主題技術(shù)的其它配置將變得對于本領(lǐng)域的技術(shù)人員而言顯而易見,其中,以圖示的方式示出并描述了主題技術(shù)的各種配置。如將認識到的,主題技術(shù)能夠有其它和不同配置,并且其多個細節(jié)能夠在各種其它方面進行修改,全部不脫離主題技術(shù)的范圍。因此,應(yīng)將附圖和詳細描述視為本質(zhì)上是說明性而非限制性的。

附圖說明

在所附權(quán)利要求中闡述了主題技術(shù)的一些特征。然而,出于說明的面對,在以下各圖中闡述了主題技術(shù)的若干實施方式。

圖1圖示向服務(wù)器提供會話狀態(tài)信息的示例性網(wǎng)絡(luò)環(huán)境。

圖2圖示根據(jù)本技術(shù)的各方面的向服務(wù)器提供會話狀態(tài)信息的客戶端設(shè)備的示例性過程。

圖3圖示根據(jù)本技術(shù)的各方面的具有用于不同會話狀態(tài)的場境信息的示例性用戶界面。

圖4圖示根據(jù)本技術(shù)的各方面的客戶端設(shè)備向服務(wù)器提供會話的示例性過程。

圖5在概念上圖示實現(xiàn)主題技術(shù)的一些實施方式的電子系統(tǒng)。

具體實施方式

下面結(jié)合附圖而闡述的詳細描述意圖作為主題技術(shù)的各種配置的描述,而不意圖表示可在其中實施主題技術(shù)的僅有配置。附圖被結(jié)合在本文中,并且組成詳細描述的一部分。詳細描述出于提供主題技術(shù)的透徹理解的目的而包括特定細節(jié)。然而,主題技術(shù)不限于在本文中闡述的特定細節(jié),并且可以在沒有這些特定細節(jié)的情況下實施。在一些情況下,以框圖形式示出了結(jié)構(gòu)和組件以便避免使主題技術(shù)的概念混淆。

如上所述,現(xiàn)在的計算通常取決于物理設(shè)備之間的鏈接。例如,當用戶設(shè)備被放錯地方或變得不可操作時,數(shù)據(jù)可能丟失。另外,移動設(shè)備之間的狀態(tài)對于用戶而言可能是麻煩或不直觀的。

通常,狀態(tài)信息報但不限于由坐標定義的窗口定位和位置(例如,x、y、z坐標)、窗口和應(yīng)用內(nèi)的滾動條位置、用于瀏覽器或應(yīng)用的打開窗口或最小化窗口狀態(tài)、顯示設(shè)置、活動標簽信息以及窗口內(nèi)的所有標簽或用應(yīng)用啟動程序創(chuàng)建的文件夾。除上述之外,狀態(tài)信息包括用于web應(yīng)用的文檔對象模型(DOM)。

DOM對應(yīng)于表示web應(yīng)用的當前黃臺的樹狀結(jié)構(gòu)。文檔對象模型(DOM)是用于表示web應(yīng)用文檔中的對象并與之相交互的跨平臺且語言無關(guān)的約定??梢酝ㄟ^對對象使用方法來處理和操縱DOM樹中的對象。web應(yīng)用的狀態(tài)可以完全由其DOM表示,并且保存DOM以用于稍后檢索允許web應(yīng)用從其被保存時刻開始的完整(或基本上完整)再現(xiàn)。

在這方面,本公開支持向服務(wù)器提供狀態(tài)信息。訪問用于web應(yīng)用的DOM,該DOM對應(yīng)于表示web應(yīng)用的第一狀態(tài)的樹狀結(jié)構(gòu)?;贒OM向服務(wù)器提供web應(yīng)用的第一狀態(tài)的指示,并且進行在系統(tǒng)處發(fā)生預(yù)定事件的確定,該預(yù)定事件指示不同于web應(yīng)用的第一狀態(tài)的web應(yīng)用的第二狀態(tài)將被提供給服務(wù)器。響應(yīng)于該確定,將基于DOM的更新版本而提供web應(yīng)用的第二狀態(tài)的指示。在示例性方面,本公開支持確定附加狀態(tài)信息(例如,由坐標定義的窗口定位和位置、窗口的和在應(yīng)用內(nèi)的滾動條位置、用于瀏覽器或應(yīng)用的打開窗口或最小化窗口狀態(tài)、顯示設(shè)置、活動標簽信息以及窗口內(nèi)的所有標簽或者用應(yīng)用啟動程序創(chuàng)建的文件夾),并向服務(wù)器提供該附加狀態(tài)信息的指示。

本公開進一步涉及向用戶呈現(xiàn)例如與用戶參與的在先會話相對應(yīng)的不同會話狀態(tài)的表示(例如,經(jīng)由用戶接口)。用戶可以從多個在先會話狀態(tài)中選擇會話狀態(tài)。響應(yīng)于該選擇,用戶的計算設(shè)備可以恢復(fù)與該會話狀態(tài)相關(guān)聯(lián)的會話信息。然而,為了向用戶提供足夠的用于每個在先會話的信息,可能期望向用戶呈現(xiàn)與在先會話相關(guān)聯(lián)的場境信息。此外,當參與當前會話時,可能期望計算設(shè)備確定要在哪個點處確定用于存儲到服務(wù)器的新會話何時將被觸發(fā)。

在這方面,本公開還支持向服務(wù)器提供會話狀態(tài)。進行關(guān)于在系統(tǒng)上運行的一個或多個應(yīng)用已經(jīng)發(fā)生第一預(yù)定事件的確定,該第一預(yù)定事件指示用于一個或多個應(yīng)用的第一會話狀態(tài)將被提供給服務(wù)器。響應(yīng)于確定第一預(yù)定事件已經(jīng)發(fā)生,用于一個或多個應(yīng)用的第一會話狀態(tài)被發(fā)送到服務(wù)器。進行關(guān)于一個或多個應(yīng)用已經(jīng)發(fā)生第二預(yù)定事件的確定,該第二預(yù)定事件指示用于一個或多個應(yīng)用的第二會話狀態(tài)將被提供給服務(wù)器。響應(yīng)于確定第二預(yù)定事件已經(jīng)發(fā)生,用于一個或多個應(yīng)用的第二會話狀態(tài)被發(fā)送到服務(wù)器。另外,向服務(wù)器提供用于第一會話狀態(tài)和第二會話狀態(tài)中的每一個的場境信息,該場境信息用于向用戶提供用于將第一會話狀態(tài)與第二會話狀態(tài)進行區(qū)分的場境。

圖1圖示向服務(wù)器提供會話狀態(tài)信息的示例性網(wǎng)絡(luò)環(huán)境100。網(wǎng)絡(luò)環(huán)境100包括計算設(shè)備102、104和106(在下文中“102-106”)和計算系統(tǒng)110。計算設(shè)備102-106和計算系統(tǒng)110可以通過網(wǎng)絡(luò)108相互通信。計算系統(tǒng)110可以包括一個或多個計算設(shè)備112(例如,一個或多個服務(wù)器)以及一個或多個計算機可讀存儲設(shè)備114(例如,一個或多個數(shù)據(jù)庫)。

計算設(shè)備102-106中的每一個可以表示各種形式的處理設(shè)備。示例性處理設(shè)備可以包括臺式計算機、膝上型計算機、手持式計算機、個人數(shù)字助理(PDA)、蜂窩式電話、網(wǎng)絡(luò)設(shè)施、相機、智能電話、增強型通用分組無線電服務(wù)(EGPRS)移動電話、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺或任何這些數(shù)據(jù)處理設(shè)備或其它數(shù)據(jù)處理設(shè)備的組合??梢韵蛴嬎阍O(shè)備102-106和112提供對在任何其它計算系統(tǒng)102-106和112上執(zhí)行或存儲的應(yīng)用軟件的訪問或者接收該應(yīng)用軟件。

計算設(shè)備112可以是具有處理器、存儲器以及用于向電子設(shè)備提供內(nèi)容的通信能力的任何系統(tǒng)或設(shè)備。在一些示例性方面,服務(wù)器110可以是單個計算設(shè)備,例如計算機服務(wù)器。在其它實施例中,服務(wù)器110可以表示一起工作以執(zhí)行服務(wù)器計算機的動作(例如,云計算)的多于一個的計算設(shè)備。此外,計算設(shè)備112可以表示各種形式的服務(wù)器,包括但不限于web服務(wù)器、應(yīng)用服務(wù)器、代理服務(wù)器、網(wǎng)絡(luò)服務(wù)器、同步服務(wù)器或服務(wù)器群。

在一些方面,計算設(shè)備可以通過通信接口(未示出)進行無線通信,該通信接口在必要的情況下可以包括數(shù)字信號處理電路。通信接口可以支持各種模式或協(xié)議下的通信,例如全球移動通信系統(tǒng)(GSM)語音呼叫、短信息服務(wù)(SMS)、增強型通訊服務(wù)(EMS)或多媒體消息收發(fā)服務(wù)(MMS)消息收發(fā)、碼分多址(CDMA)、時分多址(TDMA)、個人數(shù)字蜂窩(PDC)、寬帶碼分多址(WCDMA)、CDMA2000或通用分組無線電系統(tǒng)(GPRS)等。例如,通信可以通過射頻收發(fā)機(未示出)發(fā)生。另外,短距離通信可以例如使用藍牙、WiFi或其它此類收發(fā)機發(fā)生。在一些方面,網(wǎng)絡(luò)環(huán)境100可以是分布式客戶端/服務(wù)器系統(tǒng),其跨越一個或多個網(wǎng)絡(luò),例如網(wǎng)絡(luò)108。

網(wǎng)絡(luò)108可以是連接任何數(shù)目的移動客戶端、固定客戶端以及服務(wù)器的大的計算機網(wǎng)絡(luò),例如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、因特網(wǎng)、蜂窩網(wǎng)絡(luò)或其組合。此外,網(wǎng)絡(luò)108可以包括但不限于以下網(wǎng)絡(luò)拓撲中的任何一個或多個,包括總線網(wǎng)絡(luò)、星形網(wǎng)絡(luò)、環(huán)形網(wǎng)絡(luò)、網(wǎng)狀網(wǎng)絡(luò)、星形總線網(wǎng)絡(luò)、樹形或?qū)蛹壘W(wǎng)絡(luò)等。在一些方面,每個客戶端(例如,計算設(shè)備102-106)與服務(wù)器(例如,服務(wù)器110)之間的通信可以經(jīng)由虛擬專用網(wǎng)(VPN)、安全殼(SSH)隧道或其它安全網(wǎng)絡(luò)連接發(fā)生。

在示例性方面,計算設(shè)備(例如,計算設(shè)備102-106中的任何一個)訪問用于web應(yīng)用(例如,在計算設(shè)備的瀏覽器內(nèi)示出)的DOM,該DOM對應(yīng)于表示web應(yīng)用的第一狀態(tài)的樹狀結(jié)構(gòu)。計算設(shè)備基于DOM向服務(wù)器(例如,服務(wù)器110)提供web應(yīng)用的第一狀態(tài)的指示。計算設(shè)備確定在設(shè)備處已經(jīng)發(fā)生預(yù)定事件,該預(yù)定事件指示不同于web應(yīng)用的第一狀態(tài)的web應(yīng)用的第二狀態(tài)將被提供給服務(wù)器。計算設(shè)備向服務(wù)器并且響應(yīng)于該確定提供與DOM的更新版本相對應(yīng)的web應(yīng)用的第二狀態(tài)的指示。

在其它示例性方面,計算設(shè)備(例如,計算設(shè)備102-106中的任何一個)確定關(guān)于在設(shè)備上運行的一個或多個應(yīng)用已經(jīng)發(fā)生第一預(yù)定時間,第一預(yù)定事件指示用于一個或多個應(yīng)用的第一會話狀態(tài)將被提供給服務(wù)器(例如,服務(wù)器110)。計算設(shè)備向服務(wù)器并且響應(yīng)于確定第一預(yù)定事件已經(jīng)發(fā)生來發(fā)送用于一個或多個應(yīng)用的第一會話狀態(tài)。計算設(shè)備確定關(guān)于一個或多個應(yīng)用已經(jīng)發(fā)生第二預(yù)定事件,該第二預(yù)定事件指示用于一個或多個應(yīng)用的第二會話狀態(tài)將被提供給服務(wù)器。計算設(shè)備向服務(wù)器并且響應(yīng)于確定第二預(yù)定事件已經(jīng)發(fā)生來發(fā)送用于一個或多個應(yīng)用的第二會話狀態(tài),并且向服務(wù)器提供用于第一會話狀態(tài)和第二會話狀態(tài)中的每一個的場境信息,該場境信息用于向用戶提供將第一會話狀態(tài)與第二會話狀態(tài)進行區(qū)分的場境。

因此,可以保存web應(yīng)用的DOM狀態(tài)或者響應(yīng)于確定一個或多個預(yù)定事件來保存會話狀態(tài)信息和場境信息。替換地或另外,可以保存用于應(yīng)用的其它狀態(tài)信息。如上所述,該狀態(tài)信息包括但不限于由坐標定義的窗口定位和位置(例如,x、y、z坐標)、窗口和應(yīng)用內(nèi)的滾動條位置、用于瀏覽器或應(yīng)用的打開窗口或最小化窗口狀態(tài)、顯示設(shè)置、活動標簽信息以及窗口內(nèi)的所有標簽或用應(yīng)用啟動程序創(chuàng)建的文件夾。

因此,當涉及將用戶活動的狀態(tài)保存在該設(shè)備上時,可以減少或消除用戶對一個物理設(shè)備的依賴性。允許用戶保存其當前狀態(tài)并且從狀態(tài)被保存的同一設(shè)備或者從該狀態(tài)的不同設(shè)備恢復(fù),使得設(shè)備可任意處理但數(shù)據(jù)不是。本公開允許通過保存信息狀態(tài)和狀態(tài)會話(例如,在基于云的服務(wù)器中)而進行設(shè)備的狀態(tài)的完整或基本是完整的備份,具有檢索狀態(tài)以用于從狀態(tài)被保存的最后時刻開始進行該狀態(tài)的活動的無縫恢復(fù)的選項。在一些方面,本公開將表示與該狀態(tài)有關(guān)的用戶的活動的某個狀態(tài)的靜態(tài)圖像備份到服務(wù)器,具有在任何時間從任何設(shè)備檢索該狀態(tài)并提供從狀態(tài)最后被保存時開始的副本的選項。

圖2圖示根據(jù)本技術(shù)的各方面的客戶端設(shè)備向服務(wù)器提供會話狀態(tài)的示例性過程200。出于說明性目的,示例性過程200的框在本文中被描述為并行地或線性地發(fā)生。然而,示例性過程200的多個框可以并行地發(fā)生。另外,可以按照與所示順序不同的順序執(zhí)行示例性過程200的框和/或可以不執(zhí)行示例性過程200的框中的一個或多個。此外,雖然參考圖1中的系統(tǒng)討論了過程200,但應(yīng)注意的是過程200不限于此類,并且可以應(yīng)用于不同的系統(tǒng)和配置。

在示例性過程200中,客戶端設(shè)備(例如,102-106中的任何一個)訪問web應(yīng)用DOM并在框202處向服務(wù)器112提供web應(yīng)用的第一狀態(tài)。服務(wù)器在框204處從客戶端設(shè)備接收web應(yīng)用DOM的第一狀態(tài)并保存第一狀態(tài)DOM以用于后來的檢索或進一步計算。在示例性方面,在框204處提供的DOM的第一狀態(tài)表示整體DOM。訪問并保存web應(yīng)用的整體DOM提供用于在稍后階段檢索web應(yīng)用的狀態(tài)的方式。

在框206處由客戶端設(shè)備(例如,102-106中的任何一個)檢查一組預(yù)定事件。第一預(yù)定事件是要測試的預(yù)定義條件。例如,預(yù)定事件可以是從DOM的第一狀態(tài)被保存的時間開始已經(jīng)流逝的特定時間段(例如,從保存第一狀態(tài)開始的5分鐘)。替選地或另外,預(yù)定事件可以與網(wǎng)絡(luò)資源可用性的水平有關(guān),例如,其中網(wǎng)絡(luò)資源可用性低于閾值可用性水平。例如,如果在網(wǎng)絡(luò)上存在輕業(yè)務(wù),則這可能是測試保存DOM的第二狀態(tài)的良好時機。此外,可以通過跟蹤對DOM的改變來觸發(fā)預(yù)定事件,其中,在DOM中存在閾值量的累積改變(例如,10%、25%、50%變化)。

在一些方面,在預(yù)定事件是流逝預(yù)定時間段的情況下,客戶端設(shè)備(例如,102-106中的任何一個)捕捉DOM的第二狀態(tài)并向服務(wù)器112提供第二狀態(tài)的指示。第二狀態(tài)的指示可以是在DOM的第一狀態(tài)與DOM的第二狀態(tài)之間的差異。在這種情況下,在DOM的第二狀態(tài)與DOM的第一狀態(tài)之間的差異不一定需要滿足用于在DOM的第一狀態(tài)與DOM的第二狀態(tài)之間的變化的閾值變化量(Δ)。

在預(yù)定事件是網(wǎng)絡(luò)資源可用性的情況下,意味著在網(wǎng)絡(luò)上存在足夠低的高業(yè)務(wù),以指示使設(shè)備采用DOM的第二狀態(tài)的帶寬可用性,客戶端設(shè)備(例如,102-106中的任何一個)捕捉DOM的第二狀態(tài)并將第二狀態(tài)的指示提供給服務(wù)器112。第二狀態(tài)的指示可以是在DOM的第一狀態(tài)與DOM的第二狀態(tài)之間的差異。在這種情況下,在DOM的第二狀態(tài)與DOM的第一狀態(tài)之間的差異不一定需要滿足用于在DOM的第一狀態(tài)與DOM的第二狀態(tài)之間的顯著改變的閾值變化量。

如上所述,在其中預(yù)定事件對應(yīng)于流逝預(yù)定時間段和/或網(wǎng)絡(luò)資源的可用性的情況下,在DOM的第一狀態(tài)與第二狀態(tài)之間的差異不一定需要滿足用于向服務(wù)器112發(fā)送第二狀態(tài)的指示的閾值。這提供了當在預(yù)定事件已經(jīng)同時發(fā)生的情況下缺少網(wǎng)絡(luò)資源并且在DOM的第一狀態(tài)與DOM的第二狀態(tài)之間幾乎沒有檢測到改變時,不向服務(wù)器提供第二狀態(tài)的增加的靈活性。

另外,預(yù)定事件可以是在DOM內(nèi)累積的閾值量,意味著在DOM的第一狀態(tài)與DOM的第二狀態(tài)之間的改變滿足預(yù)設(shè)置閾值(例如,對應(yīng)于DOM中的顯著變化)。在該情況下,客戶端設(shè)備(例如,102-106中的任何一個)捕捉DOM的第二狀態(tài),并且如框208中所示向服務(wù)器112提供DOM的第二狀態(tài)的指示。在在判定框206處沒有發(fā)生預(yù)定事件的情況下,系統(tǒng)等待直至預(yù)定事件已經(jīng)發(fā)生。

在一些方面,在框210處提供給服務(wù)器的DOM的第二狀態(tài)表示在第一狀態(tài)與第二狀態(tài)之間的計算的變化量。服務(wù)器112接收web應(yīng)用DOM的第二狀態(tài)的指示,并且根據(jù)在框212處接收的DOM的第二狀態(tài)的指示來更新第一狀態(tài)web應(yīng)用DOM。在一些方面,服務(wù)器112在其不具有用于立即處理第二狀態(tài)的資源的情況下可以保存第二狀態(tài)以用于稍后與DOM的第一狀態(tài)一起處理。服務(wù)器112稍后可以用在第二狀態(tài)的指示上提供的信息來更新DOM的第一狀態(tài),并且將第一狀態(tài)保存為第一狀態(tài)的更新版本。服務(wù)器可以保持第一狀態(tài)的各版本和第二狀態(tài)的指示(在其被提供時),或者可以在更新第一狀態(tài)之后刪除第一狀態(tài)和第二狀態(tài)的指示,并且僅將第一狀態(tài)的更新版本保持為將在請求時提供的web應(yīng)用的當前狀態(tài)。后者更加高效,因為保持早先狀態(tài)的各版本可能要求更多的存儲器資源。

在示例性方面,客戶端設(shè)備(例如,102-106中的任何一個)可以在框218處從服務(wù)器請求更新狀態(tài)web應(yīng)用DOM。響應(yīng)于該請求,服務(wù)器112在框220處檢索(例如,從存儲器)更新狀態(tài)web應(yīng)用DOM,并在框222處將第一狀態(tài)的更新版本發(fā)送到客戶端設(shè)備??蛻舳嗽O(shè)備在框224處接收web應(yīng)用的更新狀態(tài)以供在設(shè)備內(nèi)使用。此外,如在框220處,在服務(wù)器112處生成的DOM可以包括DOM的整個更新版本。在框202處的web應(yīng)用的DOM狀態(tài)可以對應(yīng)于web應(yīng)用的當前JavaScript狀態(tài),并且可以從系統(tǒng)的RAM訪問。

圖3圖示根據(jù)本技術(shù)的各方面的具有用于不同會話狀態(tài)的場境信息的示例性用戶界面300。場境信息可以是但不限于,用于分類不同的狀態(tài)會話的會話的時間314、會話內(nèi)的活動的性質(zhì)316、會話發(fā)生的日期318、在該會話期間使用的應(yīng)用320和會話名稱312(例如,可以按字母順序布置)。在一個或多個實施方式中,場境信息可以包括用于第一會話狀態(tài)和第二會話狀態(tài)中的每一個的截屏。場境信息還可以包括通過第一會話狀態(tài)和第二會話狀態(tài)訪問的web資源的指示。

在一些方面,可以將會話的時間314指示為會話開始時的時間和/或會話結(jié)束時的時間,用于會話的時間條目可以響應(yīng)于用戶請求而按照時間順序或倒時間順序被存儲在存儲器中,允許用戶在300中更容易地識別要從多個會話狀態(tài)中還原哪個會話狀態(tài)。

會話316的活動的性質(zhì)是用于布置設(shè)備的會話狀態(tài)的替選。用戶可以基于與會話有關(guān)的活動來存儲會話。例如,可以將活動分類為使用基于云的服務(wù)或使用用于在客戶端設(shè)備(例如,102-106中的任何一個)上進行編輯的應(yīng)用來編輯在線文檔。用于會話的活動的另一示例可以是在線玩游戲或使用客戶端設(shè)備上的應(yīng)用。此外,活動可以是例如使用web應(yīng)用瀏覽器來瀏覽在線內(nèi)容或者在web上沖浪。

在一些方面,可以基于會話發(fā)生的日期318來布置會話狀態(tài)?;顒拥娜掌谔峁┯糜诙x會話狀態(tài)的另一替選,在一個或多個實施方式中,活動的日期可以按周、月或年被分組??梢韵蛴脩籼峁├鐚υ诮o定年內(nèi)的某個月中產(chǎn)生的活動的會話狀態(tài)的搜索。在示例性方面,可以向用戶提供用于選擇用戶可以在時間上向回多遠以檢索會話狀態(tài)的界面。

替選地或另外,在會話狀態(tài)320期間使用的應(yīng)用可以提供用于布置狀態(tài)會話的手段。例如,應(yīng)用可以是文字文件編輯應(yīng)用、在線游戲應(yīng)用、電子郵件提供商或在線文檔應(yīng)用。在不同應(yīng)用與會話狀態(tài)相關(guān)聯(lián)地運行的情況下,可以用兩個條目保存會話狀態(tài),每個應(yīng)用一個條目。狀態(tài)會話可以進一步通過向用戶提供保存會話狀態(tài)并且指派由用戶指定的名稱的選項來保存會話狀態(tài),其中,會話狀態(tài)的名稱可以按字母順序布置。這可以向用戶提供用于從會話狀態(tài)的按字母順序列表中選擇會話狀態(tài)的選項。

在一些方面,客戶端設(shè)備(例如,102-106中的任何一個)訪問與其在設(shè)備內(nèi)的活動有關(guān)的一系列場境信息,其中,該場境信息(例如,312-320)向用戶提供用于不同分類中搜索與其活動有關(guān)的先前會話狀態(tài)的手段。這提供了在選擇會話狀態(tài)方面的更多靈活性以及在多個會話之間進行區(qū)分并基于會話狀態(tài)場境信息來選擇要檢索的會話狀態(tài)的能力。一旦用戶基于場境信息選擇了會話狀態(tài),客戶端設(shè)備(例如,102-106中的任何一個)就向服務(wù)器發(fā)送用于從服務(wù)器檢索所選會話狀態(tài)并傳遞到客戶端設(shè)備的請求。

在一些方面,可以向用戶給予關(guān)于如何保存會話狀態(tài)和基于哪些場境信息的選項。例如,可以向用戶給予用于僅按日期布置和保存會話(如果由用戶指定)的選項。替選地,可以由客戶端設(shè)備(例如,102-106中的任何一個)來應(yīng)用用于所有上述場境信息或場境信息的子集(312-320)的默認設(shè)置。

圖4圖示根據(jù)本技術(shù)的各方面的客戶端設(shè)備(例如,102-106中的任何一個)向服務(wù)器提供會話的示例性過程400。出于說明性目的,示例性過程400的框在本文中被描述為并行地或線性地發(fā)生。然而,示例性過程400的多個框可以并行地發(fā)生。另外,可以按照與所示順序不同的順序執(zhí)行示例性過程400的框和/或可以不執(zhí)行示例性過程400的框中的一個或多個。此外,雖然參考圖1中的系統(tǒng)討論了過程400,但應(yīng)注意的是過程400不限于此類,并且可以應(yīng)用于不同的系統(tǒng)和配置。

在示例性過程400中,客戶端設(shè)備(例如,102-106中的任何一個)在框402處檢查預(yù)定事件的發(fā)生。該預(yù)定事件是要由客戶端設(shè)備測試的預(yù)定義條件。例如,預(yù)定事件可以是檢測到下述中的一個或多個已經(jīng)發(fā)生:用戶已經(jīng)從系統(tǒng)登出、用戶已經(jīng)從在系統(tǒng)內(nèi)運行的應(yīng)用中的一個或多個登出、另一個用戶已經(jīng)登錄到客戶端設(shè)備、用于在系統(tǒng)內(nèi)運行的應(yīng)用中的一個或多個的預(yù)定閾值時間段中的不活動時段、先前不運行的新的活動類型(例如,打開新的應(yīng)用)或者由用戶進行的對不同會話的活動中的切換(例如,切換到會話可以是新的會話狀態(tài)或者從服務(wù)器112檢索的預(yù)先保存的會話狀態(tài))。

在已經(jīng)發(fā)生與會話狀態(tài)有關(guān)的預(yù)定事件的情況下,會話狀態(tài)被保存,并且在框404處由客戶端設(shè)備(例如,102-106中的任何一個)連同其場境信息一起被發(fā)送到服務(wù)器112。會話狀態(tài)可以包括所有運行的web應(yīng)用的DOM、由例如其(x、y、z)坐標定義的窗口定位和位置、窗口的并且在應(yīng)用內(nèi)的滾動條位置、用于瀏覽器或應(yīng)用的打開窗口或最小化窗口、顯示設(shè)置、活動標簽信息以及窗口內(nèi)的所有標簽或者用應(yīng)用啟動程序創(chuàng)建的文件夾。場境信息可以是會話狀態(tài)開始的時間、會話內(nèi)的活動的性質(zhì)、會話發(fā)生的日期和/或在該會話期間使用的應(yīng)用。

服務(wù)器112作為回答而在框406處接收會話狀態(tài)和會話狀態(tài)的場境信息,并在框408處保存該會話和場境信息以供稍后檢索。在框402處,在沒有發(fā)生預(yù)定事件的情況下,客戶端設(shè)備(例如,102-106中的任何一個)保持對預(yù)定事件的發(fā)生的檢查,直至對于至少預(yù)定事件的發(fā)生檢查是肯定的。

此外,客戶端設(shè)備(例如,102-106中的任何一個)在框410處檢查第二預(yù)定事件發(fā)生。第二預(yù)定事件是將由客戶端設(shè)備(例如,102-106中的任何一個)測試的預(yù)定義條件,例如,第二預(yù)定事件可以是與第一預(yù)定事件相同的集合、第一預(yù)定事件的子集或者具有附加預(yù)定事件的第一預(yù)定事件的子集。預(yù)定事件可以檢測到下述中的一個或多個已經(jīng)發(fā)生:用戶已經(jīng)從系統(tǒng)登出、用戶已經(jīng)從在系統(tǒng)內(nèi)運行的應(yīng)用中的一個或多個登出、另一個用戶已經(jīng)登錄到客戶端設(shè)備、用于在系統(tǒng)內(nèi)運行的應(yīng)用中的一個或多個的預(yù)定閾值時間段中的不活動時段、先前不運行的新的活動類型(例如,打開新的應(yīng)用)或者由用戶進行的到不同會話的活動中的切換(例如,切換到會話可以是新的會話狀態(tài)或者從服務(wù)器112檢索的預(yù)先保存會話狀態(tài))。

在第二預(yù)定事件已經(jīng)發(fā)生的情況下,客戶端設(shè)備(例如,102-106中的任何一個)在框412處將該會話狀態(tài)連同其場境信息一起發(fā)送到服務(wù)器112。服務(wù)器112作為回答而在框414處接收會話狀態(tài)和會話狀態(tài)的場境信息并在框416處保存該會話狀態(tài)和場境信息以供稍后檢索。在沒有發(fā)生預(yù)定事件的情況下,客戶端設(shè)備在框410處保持檢查,直至對于第二預(yù)定事件的發(fā)生檢查是肯定的。

在一個或多個實施方式中,如果預(yù)定事件例如是檢測到用于在系統(tǒng)上運行的應(yīng)用中的一個或多個的預(yù)定閾值時間段中的不活動,則在將第二會話狀態(tài)發(fā)送到服務(wù)器112之前可能需要在第一會話狀態(tài)與第二會話狀態(tài)之間的比較??赡苄枰摫容^以驗證在第二狀態(tài)與需要發(fā)送第二會話狀態(tài)的第一狀態(tài)之間是否存在任何改變。例如,可以將在第一會話狀態(tài)與第二會話狀態(tài)之間的改變檢測為設(shè)備的狀態(tài)信息中的改變、如在檢測窗口位置的改變、用于web應(yīng)用的滾動條的改變或者運行的web應(yīng)用的DOM的改變。在第一會話狀態(tài)與第二會話狀態(tài)之間的改變可以是在第一會話狀態(tài)期間沒有打開的處于第二會話狀態(tài)的新應(yīng)用的開始。

在一些示例性方面且在后續(xù)時間,客戶端設(shè)備(例如,102-106中的任何一個)在框440處從服務(wù)器112請求在先會話狀態(tài)(例如,從而恢復(fù)用戶參與的在先會話)。在框442處,服務(wù)器112檢索關(guān)于與客戶端設(shè)備或用戶帳戶相關(guān)地保存的狀態(tài)會話的場境信息,并在框444處將該場境信息發(fā)送至客戶端設(shè)備??蛻舳嗽O(shè)備(例如,102-106中的任何一個)在框446處接收場境信息并基于不同的場境信息向用戶提供用于所有會話狀態(tài)的界面。例如,呈現(xiàn)的場境信息可以包括如在圖3中指示的不同參數(shù)。用戶界面向用戶提供用于在框448處基于會話狀態(tài)的場境信息來選擇期望會話狀態(tài)的選項??蛻舳嗽O(shè)備在框450處從服務(wù)器112請求用于檢索的所選會話狀態(tài)。服務(wù)器112如在框452處檢索所請求會話并在框454處將所請求會話狀態(tài)發(fā)送到客戶端設(shè)備,該客戶端設(shè)備作為回答在框456處接收所請求會話狀態(tài)以供顯示和使用。

圖5在概念上圖示可以用于實現(xiàn)主題技術(shù)的實施方式的計算系統(tǒng)500,諸如服務(wù)器112和無線客戶端設(shè)備(例如,102-106中的任何一個)。電子系統(tǒng)500可以是服務(wù)器、計算機、電話、PDA、膝上計算機、平板計算機、具有嵌入其中或與之耦合的一個或多個處理器的電視或任何其它種類的電子設(shè)備。這種電子系統(tǒng)包括各種類型的計算機可讀介質(zhì)和用于各種其它類型的計算機可讀介質(zhì)的接口。電子系統(tǒng)500包括總線508、處理器512、系統(tǒng)存儲器504、只讀存儲器(ROM)510、永久性存儲設(shè)備502、輸入設(shè)備接口514、輸出設(shè)備接口506以及網(wǎng)絡(luò)接口516。

總線508共同地表示通信地連接電子系統(tǒng)500的許多內(nèi)部設(shè)備的所有系統(tǒng)、外圍設(shè)備以及芯片組總線。例如,總線608將處理器512與ROM 510、系統(tǒng)存儲器504以及持久性存儲設(shè)備502通信地連接。

從這些不同存儲器單元,處理器512檢索要執(zhí)行的指令和要處理的數(shù)據(jù)以便執(zhí)行本公開的過程。處理單元在不同實施方式中可以是單個處理器或多核處理器。

ROM 510存儲處理器512和電子系統(tǒng)的其它模塊所需的靜態(tài)數(shù)據(jù)和指令。另一方面,持久性存儲設(shè)備502是讀寫存儲器設(shè)備。此設(shè)備是即使當電子系統(tǒng)500關(guān)掉時也存儲指令和數(shù)據(jù)的非易失性存儲器單元。本公開的一些實施方式使用大容量存儲設(shè)備(諸如磁盤或光盤及其相應(yīng)磁盤驅(qū)動器)作為持久性存儲設(shè)備502。

其它實施方式使用可移動存儲設(shè)備(諸如軟盤、閃速驅(qū)動器以及其相應(yīng)磁盤驅(qū)動)作為持久性存儲設(shè)備502。類似于持久性存儲設(shè)備502,系統(tǒng)存儲器504是讀寫存儲器設(shè)備。然而,不同于存儲設(shè)備502,系統(tǒng)存儲器504是易失性讀寫存儲器,諸如隨機存取存儲器。系統(tǒng)存儲器504存儲處理器在運行時需要的一些指令和數(shù)據(jù)。在一些實施方式中,本公開的過程被存儲在系統(tǒng)存儲器504、永久存儲設(shè)備502和/或ROM 510中。例如,各種存儲器單元包括用于根據(jù)各種實施方式來處理會話狀態(tài)信息的指令。從這些不同存儲器單元,處理器512檢索要執(zhí)行的指令和要處理的數(shù)據(jù)以便執(zhí)行一些實施方式的過程。

總線508還連接到輸入和輸出設(shè)備接口514和506。輸入設(shè)備接口514使得用戶能夠向電子系統(tǒng)傳送信息和選擇命令。與輸入設(shè)備接口514一起使用的輸入設(shè)備包括例如字母數(shù)字鍵盤和定點設(shè)備(也稱為“光標控制設(shè)備”)。輸出設(shè)備接口506使得例如能夠顯示由電子系統(tǒng)500生成的圖像。與輸出設(shè)備接口506一起使用的輸出設(shè)備包括例如打印機和顯示設(shè)備,諸如陰極射線管(CRT)和液晶顯示器(LCD)。一些實施方式包括諸如充當輸入和輸出設(shè)備兩者的觸摸屏之類的設(shè)備。

最后,如圖5中所示,總線508還將電子系統(tǒng)500通過網(wǎng)絡(luò)接口516耦合到網(wǎng)絡(luò)(未示出)。以這種方式,計算機可以是計算機網(wǎng)絡(luò)(諸如局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)或內(nèi)部網(wǎng))或網(wǎng)絡(luò)的網(wǎng)絡(luò)(諸如因特網(wǎng))的一部分??梢耘c本公開相結(jié)合地使用電子系統(tǒng)500的任何或所有部件。

許多上述特征和應(yīng)用被實現(xiàn)為被指定為記錄在計算機可讀存儲介質(zhì)(也稱為計算機可讀介質(zhì))上的一組指令的軟件過程。當這些指令被一個或多個處理單元(例如,一個或多個處理器、處理器的核或其它處理單元)執(zhí)行時,其促使處理單元執(zhí)行指令中所指示的動作。計算機可讀介質(zhì)的示例包括但不限于CD-ROM、閃速驅(qū)動、RAM芯片、硬驅(qū)、EPROM等。計算機可讀介質(zhì)不包括無線地或通過有線連接傳遞的載波和電子信號。

在本說明書中,術(shù)語“軟件”意圖包括常駐于只讀存儲器中的固件或存儲于磁性存儲中的應(yīng)用,其可以被讀取到存儲器中以便由處理器處理。并且,在一些實施方式中,本本公開的多個軟件方面可以被實現(xiàn)為較大程序的子部分,同時仍是本本公開的不同軟件方面。在一些實施方式中,還可以將多個軟件方面實現(xiàn)為單獨程序。最后,一起實現(xiàn)這里所述的軟件方面的單獨程序的任何組合在本公開的范圍內(nèi)。在一些實施方式中,軟件程序當被安裝成在一個或多個電子系統(tǒng)上操作時定義執(zhí)行并實行軟件程序的操作的一個或多個特定機器實施方式。

可以用任何形式的編程語言(包括編譯或解釋語言或者說明或過程語言)來編寫計算機程序(也稱為程序、軟件、軟件應(yīng)用、腳本或代碼),并且可以將其以任何形式部署,包括作為隊列程序或作為模塊、組件、子例程、對象或適合于在計算環(huán)境中使用的其它單元。計算機程序可以但不需要對應(yīng)于文件系統(tǒng)中的文件??梢詫⒊绦虼鎯υ诒3制渌绦蚧驍?shù)據(jù)(例如,存儲在標記語言文檔中的一個或多個腳本)的文件的一部分中、專用于正在討論中的程序的單個文件中或者在多個協(xié)調(diào)文件(例如,存儲一個或多個模塊、子程序或代碼部分的文件)中??梢詫⒂嬎銠C程序部署成在一個計算機上或者在位于一個地點處或跨多個地點分布并被通信網(wǎng)絡(luò)互連的多個計算機上。

可以用數(shù)字電子電路、計算機軟件、固件或硬件來實現(xiàn)上述這些功能??梢允褂靡粋€或多個計算機程序產(chǎn)品來實現(xiàn)所述技術(shù)??梢詫⒖删幊烫幚砥骱陀嬎銠C包括在移動設(shè)備中或者封裝為移動設(shè)備。過程和邏輯流程可以由一個或多個可編程處理器和由一個或多個可編程邏輯電路執(zhí)行??梢詫⑼ㄓ煤蛯S糜嬎阍O(shè)備和存儲設(shè)備通過通信網(wǎng)絡(luò)互連。

一些實施方式包括電子部件,例如微處理器、在機器可讀或計算機可讀介質(zhì)(替換地稱為計算機可讀存儲介質(zhì)、機器可讀介質(zhì)或機器可讀存儲介質(zhì))中存儲計算機程序指令的存儲和存儲器。此類計算機可讀介質(zhì)的一些示例包括RAM、ROM、只讀緊湊式磁盤(CD-ROM)、科技路緊湊式磁盤(CD-R)、可重寫緊湊式磁盤(CD-RW)、只讀數(shù)字式多功能磁盤(例如,DVD-ROM、雙層DVD-ROM)、多種可記錄/可重疊DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、閃存(例如,SD卡、迷你SD卡、微型SD卡等)、磁性和/或固態(tài)硬驅(qū)、只讀和可記錄磁盤、超密度光盤、任何其它光學(xué)或磁性介質(zhì)以及軟盤。計算機可讀介質(zhì)可以存儲可被至少一個處理單元執(zhí)行并包括用于執(zhí)行各種操作的指令集的計算機程序。計算機程序或計算機代碼的示例包括例如由編譯程序產(chǎn)生的機器代碼以及包括高級代碼的文件,其由計算機、電子部件或微處理器使用解釋程序來執(zhí)行。

雖然以上討論主要提及執(zhí)行軟件的微處理器或多核處理器,但一些實施方式由一個或多個集成電路執(zhí)行,例如專用集成電路(ASIC)或現(xiàn)場可編程門陣列(FPGA)。在一些實施方式中,此類集成電路執(zhí)行被存儲在電路本身上的指令。

如在本說明書和本說明書的任何權(quán)利要求中所使用的術(shù)語“計算機”、“服務(wù)器”、“處理器”以及“存儲器”全部指代電子或其它技術(shù)設(shè)備。這些術(shù)語不包括人或人群。出于本說明書的目的,術(shù)語顯示或正在顯示意指在電子設(shè)備上顯示。如在本申請的本說明書和任何權(quán)利要求中所使用的術(shù)語“計算機可讀介質(zhì)”完全局限于以可被計算機讀取的形式存儲數(shù)據(jù)的有形物理對象。這些術(shù)語不包括任何無線信號、有線下載信號以及任何其它短暫信號。

為了提供與用戶的交互,在本說明書中描述的主題的實施方式可以在計算機上實現(xiàn),該計算機具有用于向用戶顯示信息的顯示設(shè)備(例如,CRT(陰極射線管)或LCD(液晶顯示器)監(jiān)視器)和用戶可以用來向計算機提供輸入的鍵盤和定點設(shè)備,例如鼠標或軌跡球。也可以使用其它種類的設(shè)備來提供與用戶的交互;例如,提供給用戶的反饋可以是任何形式的傳感反饋,例如,視覺反饋、聽覺反饋或觸覺反饋;并且可以以任何形式接收來自用戶的輸入,包括聲學(xué)、話音或觸覺輸入。另外,計算機可以通過向和從用戶所使用的設(shè)備發(fā)送文檔和接收文檔來與用戶相交互;例如,通過響應(yīng)于從網(wǎng)絡(luò)瀏覽器接收到的請求而向用戶的客戶端設(shè)備上的網(wǎng)絡(luò)瀏覽器發(fā)送網(wǎng)頁。

在本說明書中描述的主題的實施例可以在計算系統(tǒng)中實現(xiàn),該計算系統(tǒng)包括例如作為數(shù)據(jù)服務(wù)器的后端部件或者包括例如應(yīng)用服務(wù)器之類的中間件部件或者包括前端部件,例如具有用戶可以通過其與在本說明書中描述的主題的實施方式相交互的圖形用戶接口或網(wǎng)絡(luò)瀏覽器的客戶端計算機或者一個或多個此類后端、中間件或前端部件的任何組合??梢杂脭?shù)字數(shù)據(jù)通信的任何形式或介質(zhì)(例如,通信網(wǎng)絡(luò))來將系統(tǒng)的組件互連。通信互連網(wǎng)絡(luò)的示例包括局域網(wǎng)(“LAN”)和廣域網(wǎng)(“WAN”)、互聯(lián)網(wǎng)(例如,因特網(wǎng))以及端對端互連網(wǎng)絡(luò)(例如,自組式端對端互連網(wǎng)絡(luò))。

計算系統(tǒng)可以包括客戶端和服務(wù)器。客戶端和服務(wù)器一般地相互遠離并通常通過通信網(wǎng)絡(luò)進行交互??蛻舳撕头?wù)器的關(guān)系借助于在各計算機上運行且相互具有客戶-服務(wù)器關(guān)系的計算機程序發(fā)生。在一些實施例中,服務(wù)器向客戶頓設(shè)備發(fā)射數(shù)據(jù)(例如,HTML頁面)(例如,出于向和從與客戶端設(shè)備相交互的用戶顯示數(shù)據(jù)和接收用戶輸入的目的)??梢栽诜?wù)器處從客戶端設(shè)備接收在客戶端設(shè)備處生成的數(shù)據(jù)(例如,用戶交互的結(jié)果)。

應(yīng)理解的是公開的過程中的步驟的任何特定順序或分級結(jié)構(gòu)是示例性方法的舉例說明。基于設(shè)計偏好,應(yīng)理解的是過程/流程圖中的步驟的特定順序或分級結(jié)構(gòu)可以被重新布置,或者所有所示步驟都被執(zhí)行。一些步驟可同時地執(zhí)行。例如,多重任務(wù)和并行處理可能是有利的。此外,不應(yīng)將上述實施例中的各種系統(tǒng)部件的分離理解為在所有實施例中都要求此類分離,并且應(yīng)理解的是所述程序部件和系統(tǒng)一般地可以在單個軟件產(chǎn)品中被集成在一起或者封裝到多個軟件產(chǎn)品中。

提供先前的描述是為了使得本領(lǐng)域的技術(shù)人員能夠?qū)嵤┍疚乃龅母鞣N方面。對這些方面的各種修改對于本領(lǐng)域的技術(shù)人員而言將是顯而易見的,并且可將本文所述的一般原理應(yīng)用于其它方面。因此,權(quán)利要求并不意圖局限于本文所示的各方面,而是根據(jù)依照語言權(quán)利要求的全范圍,其中,以單數(shù)方式對元件的提及并被意圖意指“一個且僅一個”,除非具體地這樣說明,而是“一個或多個”。除非另外具體地說明,術(shù)語“一些”指代一個或多個。男性的代詞(即,他的)包括女性和中性性別(例如,她的或它的),并且反之亦然。標題和副標題(如果有的話)僅僅是為了方便而使用的且并不限制本本公開。

諸如“方面”之類的短語并不意味著此類方面對于主題技術(shù)而言必不可少,或者此類方面適用于主題技術(shù)的所有配置。關(guān)于一方面的公開可適用于所有配置或者一個或多個配置。諸如方面之類的短語可指代一個或多個方面且反之亦然。諸如“配置”之類的短語并不意味著此類實施例對于主題技術(shù)而言必不可少,或者此類實施例適用于主題技術(shù)的所有配置。涉及配置的公開可以應(yīng)用于所有配置或者一個或多個配置,諸如配置之類的短語可以指代一個或多個配置且反之亦然。

權(quán)利要求書(按照條約第19條的修改)

1.一種用于向服務(wù)器提供狀態(tài)信息的系統(tǒng),所述系統(tǒng)包括:

一個或多個處理器;以及

機器可讀介質(zhì),所述機器可讀介質(zhì)包括存儲在其中的指令,所述指令在由處理器執(zhí)行時使得所述處理器執(zhí)行操作,所述操作包括:

訪問用于web應(yīng)用的文檔對象模型(DOM),所述DOM對應(yīng)于表示所述web應(yīng)用的第一狀態(tài)的樹狀結(jié)構(gòu);

基于所述DOM向服務(wù)器提供所述web應(yīng)用的第一狀態(tài)的指示;

確定在系統(tǒng)處已經(jīng)發(fā)生預(yù)定事件,所述預(yù)定事件指示不同于所述web應(yīng)用的所述第一狀態(tài)的所述web應(yīng)用的第二狀態(tài)將被提供給所述服務(wù)器;以及

向所述服務(wù)器并且響應(yīng)于所述確定來提供與所述DOM的更新版本相對應(yīng)的所述web應(yīng)用的第二狀態(tài)的指示,其中,所述第二狀態(tài)的指示包括所確定的在所述第一狀態(tài)和所述第二狀態(tài)之間的變化量。

2.根據(jù)權(quán)利要求1所述的系統(tǒng),所述操作進一步包括:

確定所述系統(tǒng)的狀態(tài)信息,所述狀態(tài)信息包括下述中的至少一個:窗口位置數(shù)據(jù)、滾動位置數(shù)據(jù)、文件夾創(chuàng)建數(shù)據(jù)、應(yīng)用位置數(shù)據(jù)、打開窗口信息、最小化窗口信息以及顯示設(shè)置信息;以及

向所述服務(wù)器提供所確定的狀態(tài)信息的指示,以用于從所述服務(wù)器的后續(xù)檢索。

3.根據(jù)權(quán)利要求1所述的系統(tǒng),所述操作進一步包括:

向所述服務(wù)器發(fā)送用于檢索所述web應(yīng)用的所述第二狀態(tài)的請求;以及

從所述服務(wù)器并且響應(yīng)于所述發(fā)送來接收對應(yīng)于所述web應(yīng)用的所述第二狀態(tài)的DOM信息。

4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,所述DOM信息包括使用所述web應(yīng)用的所述第二狀態(tài)的指示在所述服務(wù)器處生成的所述DOM的更新版本的整體。

5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述DOM對應(yīng)于所述web應(yīng)用的當前javascript狀態(tài)。

6.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述DOM從所述系統(tǒng)的RAM被訪問。

7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,提供給所述服務(wù)器的所述第一狀態(tài)的指示對應(yīng)于所述DOM的整體。

8.根據(jù)權(quán)利要求1所述的系統(tǒng),進一步包括:計算在所述web應(yīng)用的所述第一狀態(tài)與所述web應(yīng)用的所述第二狀態(tài)之間的變化量。

9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,確定所述預(yù)定事件已經(jīng)發(fā)生包括:確定所計算的變化量滿足或超過在所述web應(yīng)用的所述第一狀態(tài)與所述web應(yīng)用的所述第二狀態(tài)之間的閾值變化量。

10.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,確定所述預(yù)定事件已經(jīng)發(fā)生包括確定關(guān)于所述web應(yīng)用的所述第一狀態(tài)已經(jīng)流逝了閾值時間段。

11.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,確定所述預(yù)定事件已經(jīng)發(fā)生包括:

確定用于所述系統(tǒng)的網(wǎng)絡(luò)資源可用性水平;以及

確定所確定的網(wǎng)絡(luò)資源可用性水平低于閾值可用性水平。

12.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述服務(wù)器是用于同步用于所述系統(tǒng)的所述web應(yīng)用的會話的同步服務(wù)器。

13.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述web應(yīng)用是從web服務(wù)器訪問的網(wǎng)頁。

14.一種包括存儲在其中的指令的機器可讀介質(zhì),所述指令在由系統(tǒng)執(zhí)行時使得所述系統(tǒng)執(zhí)行操作,所述操作包括:

訪問用于web應(yīng)用的文檔對象模型(DOM),所述DOM對應(yīng)于表示所述web應(yīng)用的第一狀態(tài)的樹狀結(jié)構(gòu);

基于所述DOM向服務(wù)器提供所述web應(yīng)用的所述第一狀態(tài)的指示;

確定在所述系統(tǒng)處已經(jīng)發(fā)生預(yù)定事件,所述預(yù)定事件指示不同于所述web應(yīng)用的所述第一狀態(tài)的所述web應(yīng)用的第二狀態(tài)將被提供給所述服務(wù)器;

向所述服務(wù)器并且響應(yīng)于所述確定來提供與所述DOM的更新版本相對應(yīng)的所述web應(yīng)用的所述第二狀態(tài)的指示;

確定在所述web應(yīng)用外的所述系統(tǒng)的狀態(tài)信息,所述狀態(tài)信息包括下述中的至少一個:窗口位置數(shù)據(jù)、滾動位置數(shù)據(jù)、文件夾創(chuàng)建數(shù)據(jù)、應(yīng)用位置數(shù)據(jù)、打開窗口信息、最小化窗口信息以及顯示設(shè)置信息;以及

向所述服務(wù)器提供所確定的狀態(tài)信息的指示,以用于從所述服務(wù)器的后續(xù)檢索。

15.一種用于向服務(wù)器提供會話狀態(tài)的系統(tǒng),所述系統(tǒng)包括:

一個或多個處理器;以及

機器可讀介質(zhì),所述機器可讀介質(zhì)包括存儲在其中的指令,所述指令在由所述處理器執(zhí)行時使得所述處理器執(zhí)行操作,所述操作包括:

確定關(guān)于在所述系統(tǒng)上運行的一個或多個應(yīng)用已經(jīng)發(fā)生第一預(yù)定事件,所述第一預(yù)定事件指示用于所述一個或多個應(yīng)用的第一會話狀態(tài)將被提供給所述服務(wù)器;

向所述服務(wù)器并且響應(yīng)于確定所述第一預(yù)定事件已經(jīng)發(fā)生來發(fā)送用于所述一個或多個應(yīng)用的所述第一會話狀態(tài);

至少部分地基于確定關(guān)于所述一個或多個應(yīng)用的所述第一會話狀態(tài)已經(jīng)流逝了閾值時間段來確定關(guān)于所述一個或多個應(yīng)用已經(jīng)發(fā)生第二預(yù)定事件,所述第二預(yù)定事件指示用于所述一個或多個應(yīng)用的第二會話狀態(tài)將被提供給所述服務(wù)器;

向所述服務(wù)器并且響應(yīng)于確定所述第二預(yù)定事件已經(jīng)發(fā)生來發(fā)送用于所述一個或多個應(yīng)用的所述第二會話狀態(tài);以及

向所述服務(wù)器提供用于所述第一會話狀態(tài)和所述第二會話狀態(tài)中的每一個的場境信息,所述場境信息用于向用戶提供用于將所述第一會話狀態(tài)與所述第二會話狀態(tài)進行區(qū)分的場境。

16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述場境信息包括用于所述第一會話狀態(tài)和所述第二會話狀態(tài)中的每一個的截屏、或者用于所述第一會話狀態(tài)和所述第二會話狀態(tài)中的每一個的會話結(jié)束時間。

17.根據(jù)權(quán)利要求14所述的機器可讀介質(zhì),其中,確定在所述系統(tǒng)處已經(jīng)發(fā)生所述預(yù)定事件包括:確定關(guān)于所述web應(yīng)用的第一狀態(tài)已經(jīng)流逝了閾值時間段。

18.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述場境信息包括針對所述第一會話狀態(tài)和所述第二會話狀態(tài)中的每一個被訪問的web資源的指示。

19.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,確定所述第一預(yù)定事件或所述第二預(yù)定事件已經(jīng)發(fā)生包括下述中的至少一個:檢測用戶已經(jīng)從所述系統(tǒng)登出或者已經(jīng)從所述一個或多個應(yīng)用中的至少一個登出、

登錄檢測為關(guān)于所述系統(tǒng)或所述一個或多個應(yīng)用中的至少一個的不同用戶、檢測關(guān)于所述系統(tǒng)或所述一個或多個應(yīng)用中的至少一個的預(yù)定閾值時間中的不活動、檢測關(guān)于所述系統(tǒng)或所述一個或多個應(yīng)用中的至少一個的新的活動類型、或者檢測對不同會話的切換。

20.根據(jù)權(quán)利要求15所述的系統(tǒng),所述操作進一步包括:

向所述服務(wù)器發(fā)送用于檢索在先會話的請求;

從所述服務(wù)器并且響應(yīng)于所述發(fā)送來接收用于所述第一會話狀態(tài)和所述第二會話狀態(tài)的所述場境信息;

響應(yīng)于所接收的場境信息來接收對所述第一會話狀態(tài)或所述第二會話狀態(tài)的用戶選擇;以及

基于所接收的用戶選擇來從所述服務(wù)器接收所述第一會話狀態(tài)或所述第二會話狀態(tài)。

21.一種包括存儲在其中的指令的機器可讀介質(zhì),所述指令在由系統(tǒng)執(zhí)行時使得所述系統(tǒng)執(zhí)行操作,所述操作包括:

確定關(guān)于在所述系統(tǒng)上運行的一個或多個應(yīng)用已經(jīng)發(fā)生第一預(yù)定事件,所述第一預(yù)定事件指示用于所述一個或多個應(yīng)用的第一會話狀態(tài)將被提供給所述服務(wù)器;

向所述服務(wù)器并且響應(yīng)于確定所述第一預(yù)定事件已經(jīng)發(fā)生來發(fā)送用于所述一個或多個應(yīng)用的所述第一會話狀態(tài);

確定關(guān)于所述一個或多個應(yīng)用已經(jīng)發(fā)生第二預(yù)定事件,所述第二預(yù)定事件指示用于所述一個或多個應(yīng)用的第二會話狀態(tài)將被提供給所述服務(wù)器;

向所述服務(wù)器并且響應(yīng)于確定所述第二預(yù)定事件已經(jīng)發(fā)生來發(fā)送用于所述一個或多個應(yīng)用的所述第二會話狀態(tài)的指示,所述第二會話狀態(tài)的指示表示所確定的在所述第一狀態(tài)和所述第二狀態(tài)之間的變化量;

向所述服務(wù)器提供用于所述第一會話狀態(tài)和所述第二會話狀態(tài)中的每一個的場境信息,所述場境信息用于向用戶提供用于將所述第一會話狀態(tài)與所述第二會話狀態(tài)進行區(qū)分的場境;

向所述服務(wù)器發(fā)送用于檢索在先會話的請求;

從所述服務(wù)器并且響應(yīng)于所述發(fā)送來接收用于所述第一會話狀態(tài)和所述第二會話狀態(tài)的場境信息;

響應(yīng)于所接收的場境信息,接收對所述第一會話狀態(tài)或所述第二會話狀態(tài)的用戶選擇;以及

基于所接收的用戶選擇來從所述服務(wù)器接收所述第一會話狀態(tài)或所述第二會話狀態(tài)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
高碑店市| 台湾省| 甘泉县| 弋阳县| 三都| 贵南县| 鞍山市| 丽江市| 邛崃市| 宣城市| 周宁县| 营山县| 长泰县| 永嘉县| 大港区| 辽中县| 都安| 利川市| 兴海县| 咸阳市| 高阳县| 仙游县| 南乐县| 彭山县| 新野县| 名山县| 桂东县| 大方县| 马鞍山市| 万安县| 宁安市| 衡南县| 田林县| 错那县| 清水县| 宁津县| 仁寿县| 信阳市| 石阡县| 侯马市| 江城|