平码五不中公式规律
  • / 23
  • 下载费用:30 金币  

恢复会话状态.pdf

关 键 ?#21097;?/dt>
恢复 会话 状态
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580035327.5

申请日:

2015.08.19

公开号:

CN106663015A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 著录事项变更IPC(主分类):G06F 9/445变更事项:申请人变更前:谷歌公司变更后:谷歌有限责任公司变更事项:地址变更前:美国加利福尼亚州变更后:美国加利福尼亚州|||实质审查的生效IPC(主分类):G06F 9/445申请日:20150819|||公开
IPC分类号: G06F9/445; G06F17/30 主分类号: G06F9/445
申请人: 谷歌公司
发明人: 亚历山大·弗里德里希·库舍尔; 阿尔伯特·斯科特·博登哈默
地址: 美国加利福尼亚州
优?#28909;ǎ?/td> 2014.08.27 US 14/470,899
专利代理机构: 中原信达知识产权代理有限责任公司 11219 代理人: 周亚荣;安翔
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580035327.5

授权公告号:

||||||

法律状态公告日:

2018.02.09|||2017.06.06|||2017.05.10

法律状态类型:

著录事项变更|||实质审查的生效|||公开

摘要

向服务器系统状态信息包括访问用于web应用的文档对象模型(DOM),DOM对应于表示web应用的第一状态的树状结构。基于DOM向服务器提供web应用的第一状态的指示。进行在系统处已经发生预定事件的确定,该预定事件指示不同于web应用的第一状态的web应用的第二状态将被提供给服务器。响应于该确定,向服务器提供对应于DOM的更新版本的web应用的第二状态的指示。

权利要求书

1.?#24674;?#29992;于向服务器提供状态信息的系统,所述系统包括:
一个或多个处理器;以及
机器可读介?#21097;?#25152;述机器可读介质包括存储在其中的指令,所述指令在由处理器执行
时使得所述处理器执行操作,所述操作包括:
访问用于web应用的文档对象模型(DOM),所述DOM对应于表示所述web应用的第一状态
的树状结构;
基于所述DOM向服务器提供所述web应用的第一状态的指示;
确定在系统处已经发生预定事件,所述预定事件指示不同于所述web应用的所述第一
状态的所述web应用的第二状态将被提供给所述服务器;以及
向所述服务器并且响应于所述确定来提供与所述DOM的更新版本相对应的所述web应
用的第二状态的指示。
2.根据权利要求1所述的系统,所述操作进一步包括:
确定所述系统的状态信息,所述状态信息包括下述中的至少一个:窗口?#24674;?#25968;据、滚动
?#24674;?#25968;据、文件夹创建数据、应用?#24674;?#25968;据、打开窗口信息、最小化窗口信息以及显示设置
信息;以及
向所述服务器提供所确定的状态信息的指示,以用于从所述服务器的后续检索。
3.根据权利要求1所述的系统,所述操作进一步包括:
向所述服务器发送用于检索所述web应用的所述第二状态的请求;以及
从所述服务器并且响应于所述发送来接收对应于所述web应用的所述第二状态的DOM
信息。
4.根据权利要求3所述的系统,其中,所述DOM信息包括使用所述web应用的所述第二状
态的指示在所述服务器处生成的所述DOM的更新版本的整体。
5.根据权利要求1所述的系统,其中,所述DOM对应于所述web应用的当前javascript状
态。
6.根据权利要求1所述的系统,其中,所述DOM从所述系统的RAM被访问。
7.根据权利要求1所述的系统,其中,提供给所述服务器的所述第一状态的指示对应于
所述DOM的整体。
8.根据权利要求1所述的系统,进一步包括:计算在所述web应用的所述第一状态与所
述web应用的所述第二状态之间的变化量。
9.根据权利要求8所述的系统,其中,提供所述第二状态的指示包括向所述服务器提供
所计算的变化量。
10.根据权利要求8所述的系统,其中,确定所述预定事件已经发生包括:确定所计算的
变化量满足或超过在所述web应用的所述第一状态与所述web应用的所述第二状态之间的
阈?#24403;?#21270;量。
11.根据权利要求1所述的系统,其中,确定所述预定事件已经发生包括确定关于所述
web应用的所述第一状态已经流逝?#31639;?#20540;时间段。
12.根据权利要求1所述的系统,其中,确定所述预定事件已经发生包括:
确定用于所述系统的网络资源可用?#36816;?#24179;;以及
确定所确定的网络资源可用?#36816;?#24179;低于阈值可用?#36816;?#24179;。
13.根据权利要求1所述的系统,其中,所述服务器是用于同步用于所述系统的所述web
应用的会话的同步服务器。
14.根据权利要求1所述的系统,其中,所述web应用是从web服务器访问的网页。
15.?#24674;?#21253;括存储在其中的指令的机器可读介?#21097;?#25152;述指令在由系统执行时使得所述
系统执行操作,所述操作包括:
访问用于web应用的文档对象模型(DOM),所述DOM对应于表示所述web应用的第一状态
的树状结构;
基于所述DOM向服务器提供所述web应用的所述第一状态的指示;
确定在所述系统处已经发生预定事件,所述预定事件指示不同于所述web应用的所述
第一状态的所述web应用的第二状态将被提供给所述服务器;
向所述服务器并且响应于所述确定来提供与所述DOM的更新版本相对应的所述web应
用的所述第二状态的指示;
确定所述系统的状态信息,所述状态信息包括下述中的至少一个:窗口?#24674;?#25968;据、滚动
?#24674;?#25968;据、文件夹创建数据、应用?#24674;?#25968;据、打开窗口信息、最小化窗口信息以及显示设置
信息;以及
向所述服务器提供所确定的状态信息的指示,以用于从所述服务器的后续检索。
16.?#24674;?#29992;于向服务器提供会话状态的系统,所述系统包括:
一个或多个处理器;以及
机器可读介?#21097;?#25152;述机器可读介质包括存储在其中的指令,所述指令在由所述处理器
执行时使得所述处理器执行操作,所述操作包括:
确定关于在所述系统上运行的一个或多个应用已经发生第一预定事件,所述第一预定
事件指示用于所述一个或多个应用的第一会话状态将被提供给所述服务器;
向所述服务器并且响应于确定所述第一预定事件已经发生来发送用于所述一个或多
个应用的所述第一会话状态;
确定关于所述一个或多个应用已经发生第二预定事件,所述第二预定事件指示用于所
述一个或多个应用的第二会话状态将被提供给所述服务器;
向所述服务器并且响应于确定所述第二预定事件已经发生来发送用于所述一个或多
个应用的所述第二会话状态;以及
向所述服务器提供用于所述第一会话状态和所述第二会话状态中的每一个的场境信
息,所述场境信息用于向用户提供用于将所述第一会话状态与所述第二会话状态进行区分
的场?#22330;?br />
17.根据权利要求16所述的系统,其中,所述场境信息包括用于所述第一会话状态和所
述第二会话状态中的每一个的截屏。
18.根据权利要求16所述的系统,其中,所述场境信息包括用于所述第一会话状态和所
述第二会话状态中的每一个的会话结束时间。
19.根据权利要求16所述的系统,其中,所述场境信息包括针对所述第一会话状态和所
述第二会话状态中的每一个被访问的web资源的指示。
20.根据权利要求16所述的系统,其中,确定所述第一预定事件或所述第二预定事件已
经发生包括下述中的至少一个:检测到用户已经从所述系统登出或者已经从所述一个或多
个应用中的至少一个登出、检测到关于所述系统或所述一个或多个应用中的至少一个登录
为另一个用户、检测到关于所述系统或所述一个或多个应用中的至少一个的预定阈值时间
中的不活动、检测到关于所述系统或所述一个或多个应用中的至少一个的新的活动类型、
或者检测到向另一个会话的切换。
21.根据权利要求16所述的系统,所述操作进一步包括:
向所述服务器发送用于检索在先会话的请求;
从所述服务器并且响应于所述发送来接收用于所述第一会话状态和所述第二会话状
态的所述场境信息;
响应于所接收的场境信息来接收对所述第一会话状态或所述第二会话状态的用户选
择;以及
基于所接收的用户选择来从所述服务器接收所述第一会话状态或所述第二会话状态。
22.?#24674;?#21253;括存储在其中的指令的机器可读介?#21097;?#25152;述指令在由系统执行时使得所述
系统执行操作,所述操作包括:
确定关于在所述系统上运行的一个或多个应用已经发生第一预定事件,所述第一预定
事件指示用于所述一个或多个应用的第一会话状态将被提供给所述服务器;
向所述服务器并且响应于确定所述第一预定事件已经发生来发送用于所述一个或多
个应用的所述第一会话状态;
确定关于所述一个或多个应用已经发生第二预定事件,所述第二预定事件指示用于所
述一个或多个应用的第二会话状态将被提供给所述服务器;
向所述服务器并且响应于确定所述第二预定事件已经发生来发送用于所述一个或多
个应用的所述第二会话状态;
向所述服务器提供用于所述第一会话状态和所述第二会话状态中的每一个的场境信
息,所述场境信息用于向用户提供用于将所述第一会话状态与所述第二会话状态进行区分
的场境;
向所述服务器发送用于检索在先会话的请求;
从所述服务器并且响应于所述发送来接收用于所述第一会话状态和所述第二会话状
态的场境信息;
响应于所接收的场境信息,接收对所述第一会话状态或所述第二会话状态的用户选
择;以及
基于所接收的用户选择来从所述服务器接收所述第一会话状态或所述第二会话状态。

说明书

恢复会话状态

背景技术

本公开?#35805;?#22320;涉及会话状态,并且具体地涉及向服务器提供会话状态信息。

现在的计算通常取决于物理设备之间的链接。例如,当用户设备被放错地方或变
得不可操作时,数据可能丢失。另外,移动设备之间的状态对于用户而言可能是麻烦或?#24674;?br />观的。

发明内容

公开主题涉及?#24674;?#21521;服务器提供状态信息的系统。该计算机系统包括一个或多个
处理器以及包括存储在其中的指令的机器可读介?#21097;?#35813;指令在由处理器执行时使得处理器
执行操作,操作包括访问用于web应用的文档对象模型(DOM),DOM对应于表示web应用的第
一状态的树状结构;以及基于DOM向服务器提供web应用的第一状态的指示。该操作还包括
确定在系统处已经发生预定事件,该预定事件指示不同于web应用的第一状态的web应用的
第二状态将被提供给服务器,以及向服务器并且响应于该确定提供与DOM的更新版本相对
应的web应用的第二状态的指示。

公开主题还涉及?#24674;?#21253;括存储在其中的指令的机器可读介?#21097;?#35813;指令在由处理器
执行时使得处理器执行操作,操作包括访问用于web应用的文档对象模型(DOM),DOM对应于
表示web应用的第一状态的树状结构;以及基于DOM向服务器提供web应用的第一状态的指
示。该操作还包括确定在系统处已经发生预定事件,该预定事件指示不同于web应用的第一
状态的web应用的第二状态将被提供给服务器,以及向服务器并且响应于该确定提供与DOM
的更新版本相对应的web应用的第二状态的指示。另外,该操作包括确定系统的状态信息,
该状态信息包括窗口?#24674;?#25968;据、滚动?#24674;?#25968;据、文件夹创建数据、应用?#24674;?#25968;据、打开窗口
信息、最小化窗口信息以及显示设置信息中的至少一个,以及向服务器提供所确定状态信
息的指示,以用于从服务器的后续检索。

公开主题进一步涉及?#24674;?#29992;于向服务器提供会话状态的系统。所述系统包括一个
或多个处理器以及包括存储在其中的指令的机器可读介?#21097;?#35813;指令在由处理器执行时使得
处理器执行操作,该操作包括:确定关于在系统上运行的一个或多个应用已经发生第一预
定事件,该第一预定事件指示用于一个或多个应用的第一会话状态将被提供给服务器。该
操作还包括向服务器并且响应于确定已经发生第一预定事件来发送用于一个或多个应用
的第一会话状态;以及确定关于一个或多个应用已经发生第二预定事件,该第二预定事件
指示用于一个或多个应用的第二会话状态将被提供给服务器。另外,该操作包括向服务器
并且响应于确定已经发生第二预定事件来发送用于一个或多个应用的第二会话状态,以及
向服务器提供用于第一会话状态和第二会话状态中的每一个的场境信息,该场境信息用于
向用户提供用于将第一会话状态与第二会话状态进行区分的场?#22330;?br />

公开主题还涉及?#24674;?#21253;括存储在其中的指令的机器可读介?#21097;?#35813;指令在由系统执
行时使得系统执行操作,该操作包括:确定关于在系统上运行的一个或多个应用已经发生
第一预定事件,该第一预定事件指示用于一个或多个应用的第一会话状态将被提供给服务
器。该操作还包括向服务器并且响应于确定已经发生第一预定事件来发送用于一个或多个
应用的第一会话状态;以及确定关于一个或多个应用已经发生第二预定事件,该第二预定
事件指示用于一个或多个应用的第二会话状态将被提供给服务器。该操作进一步包括向服
务器并且响应于确定已经发生第二预定事件来发送用于一个或多个应用的第二会话状态,
向服务器提供用于第一会话状态和第二会话状态中的每一个的场境信息,该场境信息用于
向用户提供用于将第一会话状态与第二会话状态进行区分的场境,以及向服务器发送对检
索在先会话的请求。另外,该操作包括从服务器并且响应于该发送来接收用于第一会话状
态和第二会话状态的场境信息,响应于接收到的场境信息来接收对第一会话状态或第二会
话状态的用户选择;以及基于接收到的用户选择来从服务器接收第一会话状态或第二会话
状态。

应理解的是根据以下详?#35813;?#36848;,主题技术的其它配置将变得对于本领域的技术人
员而言显而易见,其中,以图示的方式示出并描述了主题技术的各种配置。如将认识到的,
主题技术能够有其它和不同配置,并且其多个?#38468;?#33021;够在各种其它方面进行修?#27169;?#20840;部不
脱离主题技术的?#27573;А?#22240;此,应将附图和详?#35813;?#36848;视为本质上是说明性而非限制性的。

附图说明

在所附权利要求中阐述了主题技术的一些特征。然而,出于说明的面对,在以下各
图中阐述了主题技术的若干实施方式。

图1图示向服务器提供会话状态信息的示例性网络环?#22330;?br />

图2图示根据本技术的各方面的向服务器提供会话状态信息的客户端设备的示例
性过程。

图3图示根据本技术的各方面的具有用于不同会话状态的场境信息的示例性用户
界面。

图4图示根据本技术的各方面的客户端设备向服务器提供会话的示例性过程。

图5在概念上图示实现主题技术的一些实施方式的电子系统。

具体实施方式

下面结合附图而阐述的详?#35813;?#36848;意图作为主题技术的各种配置的描述,而不意图
表示可在其中实施主题技术的仅?#20449;?#32622;。附图被结合在本文中,并且组?#19978;晗该?#36848;的一部
分。详?#35813;?#36848;出于提供主题技术的透彻理解的目的而包括特定?#38468;凇?#28982;而,主题技术不限于
在本文中阐述的特定?#38468;冢?#24182;且可以在没有这些特定?#38468;?#30340;情况下实施。在一些情况下,以
框图?#38382;?#31034;出了结构和组件以便避免使主题技术的概念混淆。

如上所述,现在的计算通常取决于物理设备之间的链接。例如,当用户设备被放错
地方或变得不可操作时,数据可能丢失。另外,移动设备之间的状态对于用户而言可能是麻
烦或?#24674;?#35266;的。

通常,状态信息报但不限于由坐标定义的窗口定位和?#24674;?例如,x、y、z坐标)、窗
口和应用内的滚动条?#24674;謾?#29992;于浏览器或应用的打开窗口或最小化窗口状态、显示设置、活
动标签信息以及窗口内的所有标签或用应用启动程序创建的文件夹。除上述之外,状态信
息包括用于web应用的文档对象模型(DOM)。

DOM对应于表示web应用的当前黄台的树状结构。文档对象模型(DOM)是用于表示
web应用文档中的对象并与之相交互的跨平台且语言无关的约定。可以通过对对象使用方
法来处理和操纵DOM树中的对象。web应用的状态可以完全由其DOM表示,并?#20918;?#23384;DOM以用
于稍后检索允许web应用从其被保存时刻开始的完整(或基本上完整)再现。

在这方面,本公开支持向服务器提供状态信息。访问用于web应用的DOM,该DOM对
应于表示web应用的第一状态的树状结构。基于DOM向服务器提供web应用的第一状态的指
示,并且进行在系统处发生预定事件的确定,该预定事件指示不同于web应用的第一状态的
web应用的第二状态将被提供给服务器。响应于该确定,将基于DOM的更新版本而提供web应
用的第二状态的指示。在示例性方面,本公开支持确定附加状态信息(例如,由坐标定义的
窗口定位和?#24674;謾?#31383;口的和在应用内的滚动条?#24674;謾?#29992;于浏览器或应用的打开窗口或最小
化窗口状态、显示设置、活动标签信息以及窗口内的所有标签或者用应用启动程序创建的
文件夹),并向服务器提供该附加状态信息的指示。

本公开进一步涉及向用户呈现例如与用户参与的在先会话相对应的不同会话状
态的表示(例如,经由用户接口)。用户可?#28304;?#22810;个在先会话状态中选择会话状态。响应于该
选择,用户的计算设备可以恢复与该会话状态相关联的会话信息。然而,为了向用户提供足
够的用于每个在先会话的信息,可能期望向用户呈现与在先会话相关联的场境信息。此外,
当参与当前会话时,可能期望计算设备确定要在哪个点处确定用于存储到服务器的新会话
?#38382;?#23558;被触发。

在这方面,本公开还支持向服务器提供会话状态。进行关于在系统上运行的一个
或多个应用已经发生第一预定事件的确定,该第一预定事件指示用于一个或多个应用的第
一会话状态将被提供给服务器。响应于确定第一预定事件已经发生,用于一个或多个应用
的第一会话状态被发送到服务器。进行关于一个或多个应用已经发生第二预定事件的确
定,该第二预定事件指示用于一个或多个应用的第二会话状态将被提供给服务器。响应于
确定第二预定事件已经发生,用于一个或多个应用的第二会话状态被发送到服务器。另外,
向服务器提供用于第一会话状态和第二会话状态中的每一个的场境信息,该场境信息用于
向用户提供用于将第一会话状态与第二会话状态进行区分的场?#22330;?br />

图1图示向服务器提供会话状态信息的示例性网络环境100。网络环境100包括计
算设备102、104和106(在下文中“102-106”)和计算系统110。计算设备102-106和计算系统
110可以通过网络108相互通信。计算系统110可以包括一个或多个计算设备112(例如,一个
或多个服务器)以及一个或多个计算机可读存储设备114(例如,一个或多个数据库)。

计算设备102-106中的每一个可以表示各?#20013;问?#30340;处理设备。示例性处理设备可
以包括台式计算机、膝上型计算机、手持式计算机、个人数?#31181;?#29702;(PDA)、蜂窝式电话、网络
设施、相机、智能电话、增强型通用分组无线电服务(EGPRS)移动电话、媒体播放器、导航设
备、电子邮件设备、游戏控制台或任何这些数据处理设备或其它数据处理设备的组合。可以
向计算设备102-106和112提供对在任何其它计算系统102-106和112上执行或存储的应用
软件的访问或者接收该应用软件。

计算设备112可以是具有处理器、存储器以及用于向电子设备提供内容的通信能
力的任何系统或设备。在一些示例性方面,服务器110可以是单个计算设备,例如计算机服
务器。在其它实施例中,服务器110可以表示一起工作以执行服务器计算机的动作(例如,云
计算)的多于一个的计算设备。此外,计算设备112可以表示各?#20013;问?#30340;服务器,包括但不限
于web服务器、应用服务器、代理服务器、网络服务器、同步服务器或服务器群。

在一些方面,计算设备可以通过通信接口(未示出)进行无线通信,该通信接口在
必要的情况下可以包括数字信号处理电路。通信接口可以支?#25351;?#31181;模式或协议下的通信,
例如全球移动通信系统(GSM)语音呼?#23567;?#30701;信息服务(SMS)、增强型通讯服务(EMS)或多媒体
消息收发服务(MMS)消息收发、码分多址(CDMA)、时分多址(TDMA)、个人数?#22336;?#31389;(PDC)、宽
带码分多址(WCDMA)、CDMA2000或通用分组无线电系统(GPRS)?#21462;?#20363;如,通信可以通过射频
收发机(未示出)发生。另外,短距离通信可以例如使用蓝牙、WiFi或其它此类收发机发生。
在一些方面,网络环境100可以是分布式客户端/服务器系统,其跨越一个或多个网络,例如
网络108。

网络108可以是连接任?#38382;?#30446;的移动客户端、固定客户端以及服务器的大的计算
机网络,例如局域网(LAN)、广域网(WAN)、因特网、蜂窝网络或其组合。此外,网络108可以包
括但不限于以下网络拓扑中的任何一个或多个,包括总线网络、?#20999;?#32593;络、环形网络、网状
网络、?#20999;?#24635;线网络、树形或层级网络?#21462;?#22312;一些方面,每个客户端(例如,计算设备102-
106)与服务器(例如,服务器110)之间的通信可以经由虚拟专用网(VPN)、安全壳(SSH)隧道
或其它安全网络连接发生。

在示例性方面,计算设备(例如,计算设备102-106中的任何一个)访问用于web应
用(例如,在计算设备的浏览器内示出)的DOM,该DOM对应于表示web应用的第一状态的树状
结构。计算设备基于DOM向服务器(例如,服务器110)提供web应用的第一状态的指示。计算
设备确定在设?#22797;?#24050;经发生预定事件,该预定事件指示不同于web应用的第一状态的web应
用的第二状态将被提供给服务器。计算设备向服务器并且响应于该确定提供与DOM的更新
版本相对应的web应用的第二状态的指示。

在其它示例性方面,计算设备(例如,计算设备102-106中的任何一个)确定关于在
设备上运行的一个或多个应用已经发生第一预定时间,第一预定事件指示用于一个或多个
应用的第一会话状态将被提供给服务器(例如,服务器110)。计算设备向服务器并且响应于
确定第一预定事件已经发生来发送用于一个或多个应用的第一会话状态。计算设备确定关
于一个或多个应用已经发生第二预定事件,该第二预定事件指示用于一个或多个应用的第
二会话状态将被提供给服务器。计算设备向服务器并且响应于确定第二预定事件已经发生
来发送用于一个或多个应用的第二会话状态,并且向服务器提供用于第一会话状态和第二
会话状态中的每一个的场境信息,该场境信息用于向用户提供将第一会话状态与第二会话
状态进行区分的场?#22330;?br />

因此,可以保存web应用的DOM状态或者响应于确定一个或多个预定事件来保存会
话状态信息?#32479;?#22659;信息。替换地或另外,可以保存用于应用的其它状态信息。如上所述,该
状态信息包括但不限于由坐标定义的窗口定位和?#24674;?例如,x、y、z坐标)、窗口和应用内的
滚动条?#24674;謾?#29992;于浏览器或应用的打开窗口或最小化窗口状态、显示设置、活动标签信息以
及窗口内的所有标签或用应用启动程序创建的文件夹。

因此,当涉及将用户活动的状态保存在该设备上时,可以减少或消除用户对一个
物理设备的?#35272;?#24615;。允许用户保存其当前状态并且从状态被保存的同一设备或者从该状态
的不同设备恢复,使得设备可?#25105;?#22788;理但数据不是。本公开允许通过保存信息状态和状态
会话(例如,在基于云的服务器中)而进行设备的状态的完整或基本是完整的备份,具有检
索状态以用于从状态被保存的最后时刻开始进行该状态的活动的无缝恢复的选项。在一些
方面,本公开将表示与该状态有关的用户的活动的某个状态的静态图像备份到服务器,具
有在任?#38382;?#38388;从任何设备检索该状态并提供从状态最后被保存时开始的副本的选项。

图2图示根据本技术的各方面的客户端设备向服务器提供会话状态的示例性过程
200。出于说明?#38405;?#30340;,示例性过程200的框在本文中被描述为并行地或线性地发生。然而,
示例性过程200的多个框可以并行地发生。另外,可以按照与所示顺序不同的顺序执行示例
性过程200的框和/或可以?#24674;?#34892;示例性过程200的框中的一个或多个。此外,虽然参考图1
中的系统讨论了过程200,但应注意的是过程200不限于此类,并且可以应用于不同的系统
和配置。

在示例性过程200中,客户端设备(例如,102-106中的任何一个)访问web应用DOM
并在框202处向服务器112提供web应用的第一状态。服务器在框204处从客户端设备接收
web应用DOM的第一状态并保存第一状态DOM以用于后来的检索或进一步计算。在示例性方
面,在框204处提供的DOM的第一状态表示整体DOM。访问并保存web应用的整体DOM提供用于
在稍后阶段检索web应用的状态的方式。

在框206处由客户端设备(例如,102-106中的任何一个)检查一组预定事件。第一
预定事件是要测试的预定义条件。例如,预定事件可以是从DOM的第一状态被保存的时间开
始已经流逝的特定时间段(例如,从保存第一状态开始的5分钟)。替选地或另外,预定事件
可以与网络资源可用性的水平有关,例如,其中网络资源可用性低于阈值可用?#36816;?#24179;。例
如,如果在网络上存在轻业务,则这可能是测试保存DOM的第二状态的良好?#34987;?#27492;外,可以
通过跟踪对DOM的改变来触发预定事件,其中,在DOM中存在阈值量的累积改变(例如,10%、
25%、50%变化)。

在一些方面,在预定事件是流逝预定时间段的情况下,客户端设备(例如,102-106
中的任何一个)捕捉DOM的第二状态并向服务器112提供第二状态的指示。第二状态的指示
可以是在DOM的第一状态与DOM的第二状态之间的差异。在这种情况下,在DOM的第二状态与
DOM的第一状态之间的差异不一定需要满足用于在DOM的第一状态与DOM的第二状态之间的
变化的阈?#24403;?#21270;量(Δ)。

在预定事件是网络资源可用性的情况下,意味着在网络上存在足够低的高业务,
以指示使设备采用DOM的第二状态的带宽可用性,客户端设备(例如,102-106中的任何一
个)捕捉DOM的第二状态并将第二状态的指示提供给服务器112。第二状态的指示可以是在
DOM的第一状态与DOM的第二状态之间的差异。在这种情况下,在DOM的第二状态与DOM的第
一状态之间的差异不一定需要满足用于在DOM的第一状态与DOM的第二状态之间的显著改
变的阈?#24403;?#21270;量。

如上所述,在其中预定事件对应于流逝预定时间段和/或网络资源的可用性的情
况下,在DOM的第一状态与第二状态之间的差异不一定需要满足用于向服务器112发送第二
状态的指示的阈值。这提供?#35828;?#22312;预定事件已经同时发生的情况下缺少网络资源并且在
DOM的第一状态与DOM的第二状态之间几乎没有检测到改变时,不向服务器提供第二状态的
增加的灵活性。

另外,预定事件可以是在DOM内累积的阈值量,意味着在DOM的第一状态与DOM的第
二状态之间的改变满足预设置阈值(例如,对应于DOM中的显著变化)。在该情况下,客户端
设备(例如,102-106中的任何一个)捕捉DOM的第二状态,并且如框208中所示向服务器112
提供DOM的第二状态的指示。在在判定框206处没有发生预定事件的情况下,系统等待直至
预定事件已经发生。

在一些方面,在框210处提供给服务器的DOM的第二状态表示在第一状态与第二状
态之间的计算的变化量。服务器112接收web应用DOM的第二状态的指示,并且根据在框212
处接收的DOM的第二状态的指示来更新第一状态web应用DOM。在一些方面,服务器112在其
不具有用于立即处理第二状态的资源的情况下可以保存第二状态以用于稍后与DOM的第一
状态一起处理。服务器112稍后可以用在第二状态的指示上提供的信息来更新DOM的第一状
态,并且将第一状态保存为第一状态的更新版本。服务器可以保持第一状态的各版本和第
二状态的指示(在其被提供时),或者可以在更新第一状态之后?#22659;?#31532;一状态和第二状态的
指示,并且仅将第一状态的更新版本保持为将在请求时提供的web应用的当前状态。后者更
加高效,因为保持早先状态的各版本可能要求更多的存储器资源。

在示例性方面,客户端设备(例如,102-106中的任何一个)可以在框218处从服务
器请求更新状态web应用DOM。响应于该请求,服务器112在框220处检索(例如,从存储器)更
新状态web应用DOM,并在框222处将第一状态的更新版本发送到客户端设备。客户端设备在
框224处接收web应用的更新状态以供在设备内使用。此外,如在框220处,在服务器112处生
成的DOM可以包括DOM的整个更新版本。在框202处的web应用的DOM状态可以对应于web应用
的当前JavaScript状态,并且可?#28304;?#31995;统的RAM访问。

图3图示根据本技术的各方面的具有用于不同会话状态的场境信息的示例性用户
界面300。场境信息可以是但不限于,用于分类不同的状态会话的会话的时间314、会话内的
活动的性质316、会话发生的日期318、在该会话期间使用的应用320和会话名称312(例如,
可以按字母顺序布置)。在一个或多个实施方式中,场境信息可以包括用于第一会话状态和
第二会话状态中的每一个的截屏。场境信息还可以包括通过第一会话状态和第二会话状态
访问的web资源的指示。

在一些方面,可以将会话的时间314指示为会话开始时的时间和/或会话结束时的
时间,用于会话的时间条目可以响应于用户请求而按照时间顺序或倒时间顺序被存储在存
储器中,允许用户在300中更容易地识别要从多个会话状态中还原哪个会话状态。

会话316的活动的性质是用于布置设备的会话状态的替选。用户可以基于与会话
有关的活动来存储会话。例如,可以将活动分类为使用基于云的服务或使用用于在客户端
设备(例如,102-106中的任何一个)上进行编辑的应用来编辑在线文档。用于会话的活动的
另一示例可以是在线玩游戏或使用客户端设备?#31995;?#24212;用。此外,活动可以是例如使用web应
用浏览器来浏览在线内容或者在web上冲浪。

在一些方面,可以基于会话发生的日期318来布置会话状态。活动的日期提供用于
定义会话状态的另一替选,在一个或多个实施方式中,活动的日期可以按周、月或年被分
组。可以向用户提供例如对在给定年内的某个月中产生的活动的会话状态的搜索。在示例
性方面,可以向用户提供用于选择用户可以在时间上向回多远以检索会话状态的界面。

替选地或另外,在会话状态320期间使用的应用可以提供用于布置状态会话的手
段。例如,应用可以是文字文件编辑应用、在线游戏应用、电子邮件提供商或在线文档应用。
在不同应用与会话状态相关联地运行的情况下,可以用两个条目保存会话状态,每个应用
一个条目。状态会话可以进一步通过向用户提供保存会话状态并且指派由用户指定的名称
的选项来保存会话状态,其中,会话状态的名称可以按字母顺序布置。这可以向用户提供用
于从会话状态的按字母顺序列表中选择会话状态的选项。

在一些方面,客户端设备(例如,102-106中的任何一个)访问与其在设备内的活动
有关的一系列场境信息,其中,该场境信息(例如,312-320)向用户提供用于不同分类中搜
索与其活动有关的先前会话状态的手段。这提供了在选择会话状态方面的更多灵活性以及
在多个会话之间进行区分并基于会话状态场境信息来选择要检索的会话状态的能力。一旦
用户基于场境信息选择了会话状态,客户端设备(例如,102-106中的任何一个)就向服务器
发送用于从服务器检索所选会话状态并传递到客户端设备的请求。

在一些方面,可以向用户给予关于如何保存会话状态和基于哪些场境信息的选
项。例如,可以向用户给予用于仅按日期布置和保存会话(如果由用户指定)的选项。替选
地,可以由客户端设备(例如,102-106中的任何一个)来应用用于所有上述场境信息或场境
信息的子集(312-320)的默认设置。

图4图示根据本技术的各方面的客户端设备(例如,102-106中的任何一个)向服务
器提供会话的示例性过程400。出于说明?#38405;?#30340;,示例性过程400的框在本文中被描述为并
行地或线性地发生。然而,示例性过程400的多个框可以并行地发生。另外,可以按照与所示
顺序不同的顺序执行示例性过程400的框和/或可以?#24674;?#34892;示例性过程400的框中的一个或
多个。此外,虽然参考图1中的系统讨论了过程400,但应注意的是过程400不限于此类,并且
可以应用于不同的系统和配置。

在示例性过程400中,客户端设备(例如,102-106中的任何一个)在框402处检查预
定事件的发生。该预定事件是要由客户端设备测试的预定义条件。例如,预定事件可以是检
测到下述中的一个或多个已经发生:用户已经从系统登出、用户已经从在系统内运行的应
用中的一个或多个登出、另一个用户已经登录到客户端设备、用于在系统内运行的应用中
的一个或多个的预定阈值时间段中的不活动时段、先前不运行的新的活动类型(例如,打开
新的应用)或者由用户进行的对不同会话的活动中的切换(例如,切换到会话可以是新的会
话状态或者从服务器112检索的预先保存的会话状态)。

在已经发生与会话状态有关的预定事件的情况下,会话状态被保存,并且在框404
处由客户端设备(例如,102-106中的任何一个)连同其场境信息一起被发送到服务器112。
会话状态可以包括所有运行的web应用的DOM、由例如其(x、y、z)坐标定义的窗口定位和位
置、窗口的并且在应用内的滚动条?#24674;謾?#29992;于浏览器或应用的打开窗口或最小化窗口、显示
设置、活动标签信息以及窗口内的所有标签或者用应用启动程序创建的文件夹。场境信息
可以是会话状态开始的时间、会话内的活动的性质、会话发生的日期和/或在该会话期间使
用的应用。

服务器112作为回答而在框406处接收会话状态和会话状态的场境信息,并在框
408处保存该会话?#32479;?#22659;信息以供稍后检索。在框402处,在没有发生预定事件的情况下,客
户端设备(例如,102-106中的任何一个)保持对预定事件的发生的检查,直至对于至少预定
事件的发生检查是肯定的。

此外,客户端设备(例如,102-106中的任何一个)在框410处检查第二预定事件发
生。第二预定事件是将由客户端设备(例如,102-106中的任何一个)测试的预定义条件,例
如,第二预定事件可以是与第一预定事件相同的集合、第一预定事件的子集或者具有附加
预定事件的第一预定事件的子集。预定事件可以检测到下述中的一个或多个已经发生:用
户已经从系统登出、用户已经从在系统内运行的应用中的一个或多个登出、另一个用户已
经登录到客户端设备、用于在系统内运行的应用中的一个或多个的预定阈值时间段中的不
活动时段、先前不运行的新的活动类型(例如,打开新的应用)或者由用户进行的到不同会
话的活动中的切换(例如,切换到会话可以是新的会话状态或者从服务器112检索的预先保
存会话状态)。

在第二预定事件已经发生的情况下,客户端设备(例如,102-106中的任何一个)在
框412处将该会话状态连同其场境信息一起发送到服务器112。服务器112作为回答而在框
414处接收会话状态和会话状态的场境信息并在框416处保存该会话状态?#32479;?#22659;信息以供
稍后检索。在没有发生预定事件的情况下,客户端设备在框410处保持检查,直至对于第二
预定事件的发生检查是肯定的。

在一个或多个实施方式中,如果预定事件例如是检测到用于在系统上运行的应用
中的一个或多个的预定阈值时间段中的不活动,则在将第二会话状态发送到服务器112之
前可能需要在第一会话状态与第二会话状态之间的比较。可能需要该比较以验证在第二状
态与需要发送第二会话状态的第一状态之间是否存在任何改变。例如,可以将在第一会话
状态与第二会话状态之间的改变检测为设备的状态信息中的改变、如在检测窗口?#24674;?#30340;改
变、用于web应用的滚动条的改变或者运行的web应用的DOM的改变。在第一会话状态与第二
会话状态之间的改变可以是在第一会话状态期间没有打开的处于第二会话状态的新应用
的开始。

在一些示例性方面且在后续时间,客户端设备(例如,102-106中的任何一个)在框
440处从服务器112请求在先会话状态(例如,从而恢复用户参与的在先会话)。在框442处,
服务器112检索关于与客户端设备或用户帐户相关地保存的状态会话的场境信息,并在框
444处将该场境信息发送至客户端设备。客户端设备(例如,102-106中的任何一个)在框446
处接收场境信息并基于不同的场境信息向用户提供用于所有会话状态的界面。例如,呈现
的场境信息可以包括如在图3中指示的不同?#38382;?#29992;户界面向用户提供用于在框448处基于
会话状态的场境信息来选择期望会话状态的选项。客户端设备在框450处从服务器112请求
用于检索的所选会话状态。服务器112如在框452处检索所请求会话并在框454处将所请求
会话状态发送到客户端设备,该客户端设备作为回答在框456处接收所请求会话状态以供
显示和使用。

图5在概念上图示可以用于实现主题技术的实施方式的计算系统500,诸如服务器
112和无线客户端设备(例如,102-106中的任何一个)。电子系统500可以是服务器、计算机、
电话、PDA、膝上计算机、平板计算机、具有?#24230;?#20854;中或与之耦?#31995;?#19968;个或多个处理器的电视
或任何其它种类的电子设备。这种电子系统包括各种类型的计算机可读介质和用于各种其
它类型的计算机可读介质的接口。电子系统500包括总线508、处理器512、系统存储器504、
只读存储器(ROM)510、永久?#28304;?#20648;设备502、输入设备接口514、输出设备接口506以及网络
接口516。

总线508共同地表示通信地连接电子系统500的许多内部设备的所有系统、外围设
备以及芯片组总线。例如,总线608将处理器512与ROM 510、系统存储器504以及持久?#28304;?#20648;
设备502通信地连接。

从这些不同存储器单元,处理器512检索要执行的指令和要处理的数据以便执行
本公开的过程。处理单元在不同实施方式中可以是单个处理器或多核处理器。

ROM 510存储处理器512和电子系统的其它模块所需的静态数据和指令。另一方
面,持久?#28304;?#20648;设备502是?#21015;?#23384;储器设备。此设备是即使当电子系统500关掉?#24065;?#23384;储指
令和数据的?#19988;资源?#20648;器单元。本公开的一些实施方式使用大容量存储设备(诸如磁盘
或光盘及其相应磁盘驱动器)作为持久?#28304;?#20648;设备502。

其它实施方式使用可移动存储设备(诸如软盘、?#20102;?#39537;动器以及其相应磁盘驱动)
作为持久?#28304;?#20648;设备502。类似于持久?#28304;?#20648;设备502,系统存储器504是?#21015;?#23384;储器设备。
然而,不同于存储设备502,系统存储器504是?#36164;?#24615;?#21015;?#23384;储器,诸如随机存取存储器。系
统存储器504存储处理器在运行时需要的一些指令和数据。在一些实施方式中,本公开的过
程被存储在系统存储器504、永久存储设备502和/或ROM 510中。例如,各种存储器单元包括
用于根据各种实施方式来处理会话状态信息的指令。从这些不同存储器单元,处理器512检
索要执行的指令和要处理的数据以便执行一些实施方式的过程。

总线508还连接到输入和输出设备接口514和506。输入设备接口514使得用户能够
向电子系统传送信息和选择命令。与输入设备接口514一起使用的输入设备包括例如字母
数字键盘和定点设备(也称为“光标控制设备”)。输出设备接口506使?#32654;?#22914;能够显示由电
子系统500生成的图像。与输出设备接口506一起使用的输出设备包括例如打印机和显示设
备,诸如阴极射线管(CRT)和液晶显示器(LCD)。一些实施方式包括诸如充当输入和输出设
备两者的触摸屏之类的设备。

最后,如图5中所示,总线508还将电子系统500通过网络接口516耦?#31995;?#32593;络(未示
出)。以这种方式,计算机可以是计算机网络(诸如局域网(“LAN”)、广域网(“WAN”)或内部
网)或网络的网络(诸如因特网)的一部分。可以与本公开相结?#31995;?#20351;用电子系统500的任何
或所有部件。

许多上述特征和应用被实现为?#24674;?#23450;为记录在计算机可读存储介质(也称为计算
机可读介质)?#31995;?#19968;组指令的软件过程。当这些指令被一个或多个处理单元(例如,一个或
多个处理器、处理器的核或其它处理单元)执行时,其促使处理单元执行指令中所指示的动
作。计算机可读介质的示例包括但不限于CD-ROM、?#20102;?#39537;动、RAM芯片、硬驱、EPROM?#21462;?#35745;算
机可读介质?#35805;?#25324;无线地或通过有线连接传递的载波和电子信号。

在本说明书中,术语“软件?#24065;?#22270;包括常驻于只读存储器中的固件或存储于?#21028;源?br />储中的应用,其可以被读取到存储器中以便由处理器处理。并且,在一些实施方式中,本本
公开的多个软件方面可以被实现为较大程序的子部分,同时仍是本本公开的不同软件方
面。在一些实施方式中,还可以将多个软件方面实现为单独程序。最后,一起实现这里所述
的软件方面的单独程序的任何组合在本公开的?#27573;?#20869;。在一些实施方式中,软件程序当被
安装成在一个或多个电子系统上操作时定义执行并实行软件程序的操作的一个或多个特
定机器实施方式。

可以用任何?#38382;?#30340;编程语言(包括编译或解释语言或者说明或过程语言)来编写
计算机程序(也称为程序、软件、软件应用、脚本或代码),并且可以将其以任何?#38382;?#37096;署,包
括作为队列程序或作为模块、组件、子例程、对象或适合于在计算环?#25345;?#20351;用的其它单元。
计算机程序可以但不需要对应于文件系统中的文件。可以将程序存储在保持其它程序或数
据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于正在讨论
中的程序的单个文件中或者在多个协调文件(例如,存储一个或多个模块、子程序或代码部
分的文件)中。可以将计算机程序部署成在一个计算机上或者在位于一个地点处或跨多个
地点分布并被通信网络互连的多个计算机上。

可以用数字电子电路、计算机软件、固件或硬件?#35789;?#29616;上述这些功能。可以使用一
个或多个计算机程序产品?#35789;?#29616;所述技术。可以将可编程处理器和计算机包括在移动设备
中或者封装为移动设备。过程和逻辑流程可以由一个或多个可编程处理器和由一个或多个
可编程逻辑电?#20998;?#34892;。可以将通用和专用计算设备和存储设备通过通信网络互连。

一些实施方式包括电子部件,例如微处理器、在机器可读或计算机可读介质(替换
地称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令
的存储和存储器。此类计算机可读介质的一些示例包括RAM、ROM、只读紧凑式磁盘(CD-
ROM)、科技?#26041;?#20945;式磁盘(CD-R)、可重写紧凑式磁盘(CD-RW)、只读数字式多功能磁盘(例
如,DVD-ROM、双层DVD-ROM)、多种可记录/可重叠DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪
存(例如,SD卡、?#38405;鉙D卡、微型SD卡等)、磁性和/或固态硬驱、只读和可记?#21363;?#30424;、超密度光
盘、任何其它光学或磁性介质以及软盘。计算机可读介质可?#28304;?#20648;可?#24674;?#23569;一个处理单元
执行并包括用于执行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包
括例如由编译程序产生的机器代码以及包括高级代码的文件,其由计算机、电子部件或微
处理器使用解?#32479;?#24207;来执行。

虽然以上讨论主要提及执行软件的微处理器或多核处理器,但一些实施方式由一
个或多个集成电?#20998;?#34892;,例如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实
施方式中,此类集成电?#20998;?#34892;被存储在电路本身?#31995;?#25351;令。

如在本说明书和本说明书的任何权利要求中所使用的术语“计算机”、“服务器”、
“处理器?#24065;?#21450;“存储器”全部?#22797;?#30005;子或其它技术设备。这些术语?#35805;?#25324;人或人群。出于本
说明书的目的,术语显示或正在显示意指在电子设备上显示。如在本申请的本说明书和任
何权利要求中所使用的术语“计算机可读介质”完全局限于以可被计算机读取的?#38382;?#23384;储
数据的?#34892;?#29289;理对象。这些术语?#35805;?#25324;任何无线信号、有线下载信号以及任何其它短暂信
号。

为了提供与用户的交互,在本说明书中描述的主题的实施方式可以在计算机上实
现,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显
示器)监视器)和用户可以用来向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。
也可以使用其它种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形
式的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何?#38382;?#25509;收来自用户
的输入,包括声学、话音或触觉输入。另外,计算机可以通过向和从用户所使用的设备发送
文档和接收文档来与用户相交互;例如,通过响应于从网络浏览器接收到的请求而向用户
的客户端设备?#31995;?#32593;络浏览器发送网页。

在本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括例如
作为数据服务器的后端部件或者包括例如应用服务器之类的中间件部件或者包括前端部
件,例如具有用户可以通过其与在本说明书中描述的主题的实施方式相交互的图形用户接
口或网络浏览器的客户端计算机或者一个或多个此类后端、中间件或前端部件的任何组
合。可以用数字数据通信的任何?#38382;?#25110;介质(例如,通信网络)来将系统的组件互连。通信互
连网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网(例如,因特网)以及端对端互
连网络(例如,自组式端对端互连网络)。

计算系统可以包括客户端和服务器。客户端和服务器?#35805;?#22320;相互远离并通常通过
通信网络进行交互。客户端和服务器的关系借助于在各计算机上运行且相互具有客户-服
务器关系的计算机程序发生。在一些实施例中,服务器向客户顿设备发射数据(例如,HTML
页面)(例如,出于向和从与客户端设备相交互的用户显示数据和接收用户输入的目的)。可
以在服务器处从客户端设备接收在客户端设?#22797;?#29983;成的数据(例如,用户交互的结果)。

应理解的是公开的过程中的步骤的任何特定顺序或分级结构是示例性方法的举
例说明。基于设?#30772;?#22909;,应理解的是过程/流程图中的步骤的特定顺序或分级结构可以?#24674;?br />新布置,或者所有所示步骤都?#24674;?#34892;。一些步骤可同时地执行。例如,多重任务和并行处理
可能是有利的。此外,不应将上述实施例中的各种系统部件的分离理解为在所有实施例中
都要求此类分离,并且应理解的是所述程序部件和系统?#35805;?#22320;可以在单个软件产?#20998;?#34987;集
成在一起或者封装到多个软件产?#20998;小?br />

提供先前的描述是为了使得本领域的技术人员能够实施本文所述的各种方面。对
这些方面的各?#20013;?#25913;对于本领域的技术人员而言将是显而易见的,并且可将本文所述的一
般原理应用于其它方面。因此,权利要求并不意图局限于本文所示的各方面,而是根据依照
语言权利要求的全?#27573;В?#20854;中,以单数方式对元件的提?#23433;?#34987;意图意指“一个且仅一个?#20445;?#38500;
非具体地这样说明,而是“一个或多个”。除非另外具体地说明,术语“一些”?#22797;?#19968;个或多
个。?#34892;?#30340;代词(即,他的)包括女性和?#34892;?#24615;别(例如,她的或它的),并且反之亦然。标题和
副标题(如果有的话)仅仅是为了方便而使用的?#20063;?#19981;限制本本公开。

诸如“方面”之类的短语并不意味着此类方面对于主题技术而言必不可少,或者此
类方面适用于主题技术的所?#20449;?#32622;。关于一方面的公开可适用于所?#20449;?#32622;或者一个或多个
配置。诸如方面之类的短语可?#22797;?#19968;个或多个方面且反之亦然。诸如“配置”之类的短语并
不意味着此类实施例对于主题技术而言必不可少,或者此类实施例适用于主题技术的所有
配置。涉及配置的公开可以应用于所?#20449;?#32622;或者一个或多个配置,诸如配置之类的短语可
以?#22797;?#19968;个或多个配置且反之亦然。

权利要求书(按照条约第19条的修改)

1.?#24674;?#29992;于向服务器提供状态信息的系统,所述系统包括:

一个或多个处理器;以及

机器可读介?#21097;?#25152;述机器可读介质包括存储在其中的指令,所述指令在由处理器执行
时使得所述处理器执行操作,所述操作包括:

访问用于web应用的文档对象模型(DOM),所述DOM对应于表示所述web应用的第一状态
的树状结构;

基于所述DOM向服务器提供所述web应用的第一状态的指示;

确定在系统处已经发生预定事件,所述预定事件指示不同于所述web应用的所述第一
状态的所述web应用的第二状态将被提供给所述服务器;以及

向所述服务器并且响应于所述确定来提供与所述DOM的更新版本相对应的所述web应
用的第二状态的指示,其中,所述第二状态的指示包括所确定的在所述第一状态和所述第
二状态之间的变化量。

2.根据权利要求1所述的系统,所述操作进一步包括:

确定所述系统的状态信息,所述状态信息包括下述中的至少一个:窗口?#24674;?#25968;据、滚动
?#24674;?#25968;据、文件夹创建数据、应用?#24674;?#25968;据、打开窗口信息、最小化窗口信息以及显示设置
信息;以及

向所述服务器提供所确定的状态信息的指示,以用于从所述服务器的后续检索。

3.根据权利要求1所述的系统,所述操作进一步包括:

向所述服务器发送用于检索所述web应用的所述第二状态的请求;以及

从所述服务器并且响应于所述发送来接收对应于所述web应用的所述第二状态的DOM
信息。

4.根据权利要求3所述的系统,其中,所述DOM信息包括使用所述web应用的所述第二状
态的指示在所述服务器处生成的所述DOM的更新版本的整体。

5.根据权利要求1所述的系统,其中,所述DOM对应于所述web应用的当前javascript状
态。

6.根据权利要求1所述的系统,其中,所述DOM从所述系统的RAM被访问。

7.根据权利要求1所述的系统,其中,提供给所述服务器的所述第一状态的指示对应于
所述DOM的整体。

8.根据权利要求1所述的系统,进一步包括:计算在所述web应用的所述第一状态与所
述web应用的所述第二状态之间的变化量。

9.根据权利要求8所述的系统,其中,确定所述预定事件已经发生包括:确定所计算的
变化量满足或超过在所述web应用的所述第一状态与所述web应用的所述第二状态之间的
阈?#24403;?#21270;量。

10.根据权利要求1所述的系统,其中,确定所述预定事件已经发生包括确定关于所述
web应用的所述第一状态已经流逝?#31639;?#20540;时间段。

11.根据权利要求1所述的系统,其中,确定所述预定事件已经发生包括:

确定用于所述系统的网络资源可用?#36816;?#24179;;以及

确定所确定的网络资源可用?#36816;?#24179;低于阈值可用?#36816;?#24179;。

12.根据权利要求1所述的系统,其中,所述服务器是用于同步用于所述系统的所述web
应用的会话的同步服务器。

13.根据权利要求1所述的系统,其中,所述web应用是从web服务器访问的网页。

14.?#24674;?#21253;括存储在其中的指令的机器可读介?#21097;?#25152;述指令在由系统执行时使得所述
系统执行操作,所述操作包括:

访问用于web应用的文档对象模型(DOM),所述DOM对应于表示所述web应用的第一状态
的树状结构;

基于所述DOM向服务器提供所述web应用的所述第一状态的指示;

确定在所述系统处已经发生预定事件,所述预定事件指示不同于所述web应用的所述
第一状态的所述web应用的第二状态将被提供给所述服务器;

向所述服务器并且响应于所述确定来提供与所述DOM的更新版本相对应的所述web应
用的所述第二状态的指示;

确定在所述web应用外的所述系统的状态信息,所述状态信息包括下述中的至少一个:
窗口?#24674;?#25968;据、滚动?#24674;?#25968;据、文件夹创建数据、应用?#24674;?#25968;据、打开窗口信息、最小化窗口
信息以及显示设置信息;以及

向所述服务器提供所确定的状态信息的指示,以用于从所述服务器的后续检索。

15.?#24674;?#29992;于向服务器提供会话状态的系统,所述系统包括:

一个或多个处理器;以及

机器可读介?#21097;?#25152;述机器可读介质包括存储在其中的指令,所述指令在由所述处理器
执行时使得所述处理器执行操作,所述操作包括:

确定关于在所述系统上运行的一个或多个应用已经发生第一预定事件,所述第一预定
事件指示用于所述一个或多个应用的第一会话状态将被提供给所述服务器;

向所述服务器并且响应于确定所述第一预定事件已经发生来发送用于所述一个或多
个应用的所述第一会话状态;

至少部分地基于确定关于所述一个或多个应用的所述第一会话状态已经流逝?#31639;?#20540;
时间段来确定关于所述一个或多个应用已经发生第二预定事件,所述第二预定事件指示用
于所述一个或多个应用的第二会话状态将被提供给所述服务器;

向所述服务器并且响应于确定所述第二预定事件已经发生来发送用于所述一个或多
个应用的所述第二会话状态;以及

向所述服务器提供用于所述第一会话状态和所述第二会话状态中的每一个的场境信
息,所述场境信息用于向用户提供用于将所述第一会话状态与所述第二会话状态进行区分
的场?#22330;?br />

16.根据权利要求15所述的系统,其中,所述场境信息包括用于所述第一会话状态和所
述第二会话状态中的每一个的截屏、或者用于所述第一会话状态和所述第二会话状态中的
每一个的会话结束时间。

17.根据权利要求14所述的机器可读介?#21097;?#20854;中,确定在所述系统处已经发生所述预定
事件包括:确定关于所述web应用的第一状态已经流逝?#31639;?#20540;时间段。

18.根据权利要求15所述的系统,其中,所述场境信息包括针对所述第一会话状态和所
述第二会话状态中的每一个被访问的web资源的指示。

19.根据权利要求15所述的系统,其中,确定所述第一预定事件或所述第二预定事件已
经发生包括下述中的至少一个:检测用户已经从所述系统登出或者已经从所述一个或多个
应用中的至少一个登出、

登录检测为关于所述系统或所述一个或多个应用中的至少一个的不同用户、检测关于
所述系统或所述一个或多个应用中的至少一个的预定阈值时间中的不活动、检测关于所述
系统或所述一个或多个应用中的至少一个的新的活动类型、或者检测对不同会话的切换。

20.根据权利要求15所述的系统,所述操作进一步包括:

向所述服务器发送用于检索在先会话的请求;

从所述服务器并且响应于所述发送来接收用于所述第一会话状态和所述第二会话状
态的所述场境信息;

响应于所接收的场境信息来接收对所述第一会话状态或所述第二会话状态的用户选
择;以及

基于所接收的用户选择来从所述服务器接收所述第一会话状态或所述第二会话状态。

21.?#24674;?#21253;括存储在其中的指令的机器可读介?#21097;?#25152;述指令在由系统执行时使得所述
系统执行操作,所述操作包括:

确定关于在所述系统上运行的一个或多个应用已经发生第一预定事件,所述第一预定
事件指示用于所述一个或多个应用的第一会话状态将被提供给所述服务器;

向所述服务器并且响应于确定所述第一预定事件已经发生来发送用于所述一个或多
个应用的所述第一会话状态;

确定关于所述一个或多个应用已经发生第二预定事件,所述第二预定事件指示用于所
述一个或多个应用的第二会话状态将被提供给所述服务器;

向所述服务器并且响应于确定所述第二预定事件已经发生来发送用于所述一个或多
个应用的所述第二会话状态的指示,所述第二会话状态的指示表示所确定的在所述第一状
态和所述第二状态之间的变化量;

向所述服务器提供用于所述第一会话状态和所述第二会话状态中的每一个的场境信
息,所述场境信息用于向用户提供用于将所述第一会话状态与所述第二会话状态进行区分
的场境;

向所述服务器发送用于检索在先会话的请求;

从所述服务器并且响应于所述发送来接收用于所述第一会话状态和所述第二会话状
态的场境信息;

响应于所接收的场境信息,接收对所述第一会话状态或所述第二会话状态的用户选
择;以及

基于所接收的用户选择来从所述服务器接收所述第一会话状态或所述第二会话状态。

关于本文
本文标题:恢复会话状态.pdf
链接地址:http://www.pqiex.tw/p-6091766.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 三分彩实时开奖 湖北11选5复试怎么算 ewin棋牌手机版最新版下载 秒速飞艇开奖网 天津11选5手机 双色球028历史记录 青鹏棋牌离线奖励领取 双色球复式投注计算表 快彩网极速快3计划 加拿大卑斯开奖快乐8