CN107851035A - 在设备之间传输应用状态 - Google Patents
在设备之间传输应用状态 Download PDFInfo
- Publication number
- CN107851035A CN107851035A CN201680025232.XA CN201680025232A CN107851035A CN 107851035 A CN107851035 A CN 107851035A CN 201680025232 A CN201680025232 A CN 201680025232A CN 107851035 A CN107851035 A CN 107851035A
- Authority
- CN
- China
- Prior art keywords
- application
- computing device
- equipment
- status
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 13
- 230000000737 periodic effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 239000011469 building brick Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1094—Inter-user-equipment sessions transfer or sharing
Abstract
公开一种用于在设备之间传输应用状态的系统和方法。服务器存储在第一设备上操作的应用的状态对象。所述服务器从第二设备接收对于与所述第一计算设备相关联的设备状态信息的请求。响应于所述请求,所述服务器向所述第二设备提供所述设备状态信息,所述设备状态信息包括在所述第一设备上操作的应用的应用枚举。响应于接收到所述应用枚举中的应用中的所选的一个应用,所述服务器向所述第二设备提供与所述所选应用相对应的状态对象,并且所述第二设备使用由所述状态对象提供的状态来打开所述应用的本地实例。
Description
技术领域
本技术总体上涉及在不同设备之间传输应用状态。
背景技术
用户经常跨与用户账户相关联的多个设备与多个应用进行交互。例如,用户可以在用户的移动设备上开始任务(例如,写电子邮件),切换到不同的活动,并且然后尝试在不同的设备(例如,膝上型计算机)上继续原始任务。在另一设备上继续该任务可能需要额外的时间来加载和/或执行用于继续该任务的程序和/或加载继续该任务所需的信息。在某些情况下,用于继续任务的对应应用可能不可用。
发明内容
本技术提供了用于在设备之间传输应用状态的系统和由计算机实现的方法。在一个或多个实施方式中,一种由计算机实现的方法包括:从第一计算设备接收与在所述第一计算设备上操作的应用相对应的一个或多个状态对象;从远离所述第一计算设备的第二计算设备接收对于与所述第一计算设备相关联的设备状态信息的请求;响应于所述请求而向第二计算设备提供设备状态信息,所述设备状态信息包括在第一计算设备上操作的应用的应用枚举;从第二计算设备接收与所提供的枚举中的所选应用相对应的应用选择;以及响应于接收到应用选择,向第二计算设备提供所接收的一个或多个状态对象中的与所选应用相对应的状态对象。其他方面包括用于实现由计算机实现的方法的对应系统、装置和计算机程序产品。
在一个或多个实施方式中,一种由计算机实现的方法包括:从服务器接收在与用户账户相关联的一个或多个远程计算设备上操作的应用的应用枚举;提供应用枚举以用于在与用户账户相关联的全局应用界面处显示;在全局应用界面处接收与所提供的应用枚举中的所选应用相对应的应用选择;基于所接收的应用选择来向服务器请求与所选应用相对应的状态对象;以及接收从服务器请求的状态对象。其他方面包括用于实现由计算机实现的方法的对应系统、装置、和计算机程序产品。
在一个或多个实施方式中,一种系统包括一个或多个处理器以及具有存储在其上的指令的存储器介质。该指令在被执行时使得所述一个或多个处理器:针对第一计算设备存储与在第一计算设备上操作的应用相对应的一个或多个状态对象;从远离第一计算设备的第二计算设备接收对于在第一计算设备上操作的应用的应用枚举的请求;响应于所述请求,提供应用枚举;从第二计算设备接收与所提供的枚举中的所选应用相对应的应用选择;以及响应于接收到应用选择,向第二计算设备提供所存储的一个或多个状态对象中的与所述所选应用相对应的状态对象。其他方面包括用于实现前述系统的对应装置、方法、和计算机程序产品。
应当理解,本技术的其它配置通过以下详细描述对于本领域技术人员将显而易见,其中通过说明的方式示出和描述了本技术的各个配置。如将认识到的,本技术能够具有其他和不同的配置,并且其若干细节能够在各个其他方面进行修改,而不脱离本技术的范围。因此,附图和详细描述在本质上被认为是说明性的而不是限制性的。
附图说明
将参照附图进行详细描述:
图1是用于在设备之间传输应用状态的示例系统的图。
图2描绘用于在设备之间传输应用状态的示例组件和数据流。
图3描绘用于在设备之间传输应用状态的示例用户界面。
图4描绘用于在设备之间传输应用状态的示例过程的流程图。
图5是描绘与在设备之间传输应用状态结合使用的示例电子系统的图。
具体实施方式
下面阐述的详细描述旨在作为本技术的各个配置的描述,并不旨在表示可以实践本技术的仅有的配置。附图并入本文,并构成详细描述的一部分。详细描述包括具体细节,目的是提供对本技术的透彻理解。然而,本领域技术人员将清楚并显而易见的是,本技术不限于本文所阐述的具体细节,并且可以在没有这些具体细节的情况下实践。在一些实例下,众所周知的结构和组件以框图形式示出,以避免模糊本技术的概念。
本技术提供了一种在设备之间传输应用状态的机制。提供了一种服务器,其接收和存储与在与用户账户相关联的计算设备上操作的应用相对应的状态对象。与用户账户相关联的客户端设备(例如,计算机或智能电话)可以请求查看在与用户账户相关联的其它设备上操作的应用。在接收到这样的请求时,服务器可以向客户端设备提供与其他设备相关联的设备状态信息,包括在设备上操作的应用的应用枚举(例如,列表或其他表示)。然后,客户端设备基于从应用枚举中的用户选择来向服务器通知所选的一个应用,并且服务器提供先前接收的一个或多个存储的状态对象中与所选应用相对应的状态对象。
在客户端侧,客户端设备可以确定该客户端设备的用户所认证的与用户账户相关联的一个或多个计算设备。例如,客户端设备可以向服务器查询(例如,通过查询用户账户)与该用户账户相关联(或该用户账户所认证)的设备。然后可以将所确定的计算设备的设备枚举提供给在客户端设备上操作的全局应用界面。在一个或多个实施方式中,全局应用界面提供了跨所有链接到用户账户的设备对状态信息(例如,作为状态对象)的“全局”管理和传输。在从全局应用界面接收到与一个或多个计算设备相对应的用户选择时,客户端设备可以从服务器请求所选设备的设备状态信息。然后,服务器向客户端设备发送设备状态信息,包括在所选计算设备上操作的应用的应用枚举,并且客户端设备向全局应用界面提供该应用枚举。
用户然后可以从提供的应用枚举中选择一个应用。在接收到所选的应用时,客户端设备从服务器请求并接收与所选应用相对应的状态对象。然后,客户端设备可以使用该状态对象来打开所选应用的本地实例,其状态和设置与当前在所选计算设备之一上操作的所选应用的远程实例完全相同。
例如,可以使用全局应用界面来查看当前在连接到用户账户的设备上操作的所有应用,或者在服务器处存储了状态信息的所有应用。可以从按设备排序的显示的应用群组中显示应用,或者在一些实施方式中,可以向用户显示设备群组,并且向用户呈现所显示的设备中的所选设备的应用。在一些实施方式中,全局应用界面可以在用户执行预定手势(例如,在桌面上的捏缩或捏放手势)时显示。
系统的操作和全局应用程序接口可能是双向的。例如,用户可以使用全局应用界面来实例化当前在另一个设备上运行的应用的本地实例。替选地,用户可以将当前在用户的设备上操作的应用的表示拖放到在全局应用界面中显示的另一设备的表示,以将状态对象传输到另一设备,并在另一设备上打开该应用的实例。
图1是根据本技术的一个或多个方面的,用于在设备之间传输应用状态的示例系统100的图。系统100可以包括一个或多个计算设备101、102,一个或多个集中式服务器103,和远程存储104(例如,数据库)。计算设备101、102均可以是智能电话、GPS导航设备、或个人计算机、平板计算机、PDA、或者具有嵌入其中或附接至其的一个或多个位置感知计算设备的电视或其它显示设备等。
根据各个实施方式,计算设备101和102可以绑定到用户账户105。因此,用户106通过向用户账户105认证来被授权使用相应设备101、102的某些特征。用户账户105可以是例如基于云或基于web的用户账户,或者可以是企业账户(例如,LDAP账户),并且可以用作多个设备的通用账户。在这方面,与用户账户相关来存储的信息可以集中位于第三计算设备上,例如在服务器103上(例如,在“数据云”中)。服务器103可以通过网络107(例如,LAN、WAN、WiFi、蜂窝网络、或互联网)可操作地连接到例如第一计算设备101和第二计算设备102。远程存储104可以存储与用户账户105相关的信息(例如,状态对象)。服务器103和远程存储104的功能可以在同一个物理服务器上实现或在多个服务器当中分布。此外,远程存储104可以存取任何形式,诸如关系数据库、面向对象的数据库、文件结构、基于文本的记录、或其他形式的数据存储库。
计算设备101、102可以在在设备上操作的应用的状态对象内存储(例如,本地存储)信息设置和状态信息。状态对象可以是与每个应用相关联的存储器驻留(memory-resident)数据对象。在应用关闭之后,每个状态对象可以像cookie一样保持在存储器中和/或保持在本地非易失性存储器中。可以将状态对象或其中的信息自动传送到服务器103以供存储在远程存储104处。在另一方面,只有在应用或应用正在其上操作的设备已经向用户账户105注册和/或认证时,或者当被用户106手动授权或启动时,状态对象或其中的信息才可以被传送。
每个计算设备101、102可以被配置为连接到服务器103并且使本地状态信息与存储在远程存储103中的状态对象同步。在一个方面,第一计算设备101可以向服务器103发送一个或多个状态对象,并且服务器103可以接收状态对象并将其存储在远程存储103中,使得即使当设备101离线时它们仍可以被访问并与第二计算设备102同步。服务器103还可以存储其他信息,包括每个设备、应用、或状态对象最后一次同步的时间。
状态对象的同步、存储、和/或传输可以在不同类型的计算设备101、102之间进行。例如,可以在智能电话以及台式计算机或膝上型计算机上安装各个应用。只要这些应用和/或其在上操作的设备与用户账户105相关联,就可以将应用的状态对象上传并存储在远程存储103上以供任何设备访问。
计算设备101和102、服务器103、和存储104之间的各个连接可以通过有线或无线连接进行。计算设备101和102可以共同位于限定的区域内。例如,设备可以连接到同一个LAN或WiFi网络。计算设备101和102可以在不同的位置,诸如在用户的家和工作地点。
根据各个方面,计算设备101和102可以被配置为加载和执行用于供与服务器103交互以及用于管理或传输状态对象的一个或多个用户界面108a、108b。用户界面108可以是由桌面操作系统或移动操作系统提供的桌面界面,或由在设备上执行并由操作系统管理的独立应用(例如,web浏览器或支持web的应用)提供的用户界面。可以使用例如预定手势来打开界面108。例如,用户106可以在计算设备102的触摸屏上执行捏放手势(例如,反捏)以打开界面108b。如将进一步讨论的,每个设备的用户界面108可以用于在全局层级审查在与用户账户105链接的设备上操作的应用以及本地打开在与用户界面108(例如,作为全局应用界面操作)相关联的设备上的那些应用中的所选应用。
服务器103可以接收和存储与用户账户105相关联的设备的状态对象,并且在从所述设备之一接收到对状态信息的请求时,服务器103可以确定哪些计算设备当前与用户账户105相关联(例如,向其注册)和/或当前向用户账户105认证。然后,服务器可以基于该确定来向所述设备中的一个或多个提供跨与账户链接的设备操作的所有应用的枚举。例如,计算设备102可以请求与用户账户105链接的设备的枚举。服务器103然后可以确定当前与该账户链接的设备,并且向用户界面108b提供设备的枚举以供显示给用户106。
然后,用户106可以在用户界面108b处选择设备中的一个以在设备102上本地打开。在这点上,服务器103可以从界面108b接收与设备枚举中的所选计算设备相对应的设备选择。响应于接收到设备选择,服务器103可以确定在所选计算设备上操作的应用的应用枚举,并向界面108b提供该应用枚举。然后,用户106可以从应用枚举中选择应用,并且计算设备102向服务器103提供所选的应用。然后,服务器103从例如远程存储104检索与所选应用相对应的状态对象,并向计算设备102提供该状态对象。计算设备102从服务器103接收状态对象,并且然后基于接收到的状态对象打开所选应用的本地实例。打开本地实例,其中状态和设置与当前在所选计算设备上操作的所选应用的远程实例完全相同。
图2描绘了根据本技术的一个或多个方面的,用于在设备之间传输应用状态的示例组件和数据流。系统200可以包括用于促进不同计算设备101、102和远程服务器103之间的通信的一个或多个应用编程接口(API)202。在一个方面,API 202可以位于服务器103上,并且被提供给与用户账户105相关地操作的计算设备。通过使用API 202,计算设备101可以将应用状态信息——包括设置和状态——保持在服务器103,以供与用户账户105链接的其他设备——诸如计算设备102——访问。
在一个或多个实施方式中,通过例如在用户对用户账户105被授权时向服务器103注册应用,该应用被授权存储状态对象206。以这种方式,每个应用变成“与账户链接(account-linked)”,并且在用户账户105中与该应用在其上安装和操作的对应设备相关联。
在一个或多个实施方式中,计算设备101可以存储在设备101上操作的应用的应用特定状态信息,诸如应用状态和设置(和/或配置信息),并且然后在服务器103上对该信息做镜像以供生成该应用在其他设备上的其他实例。如图2所描绘,当信息由应用的第一实例204存储或更新时,状态对象206可以在服务器103处自动做镜像、存储或更新。另外地或替选地,可以按照来自服务器103的请求——例如当服务器103从与账户链接的设备接收到类似的请求时,向服务器103提供状态对象206。
在一个或多个实施方式中,与API 202同时在服务器103上运行的信息监视服务可以监视服务器103存储的信息。在与账户链接的设备中的任何一个上更新应用时,服务器103可以向所有注册的设备广播信号,通知它们存储的信息被更新。在一个或多个实施方式中,每个设备可以向服务器103注册事件侦听器,并且服务器103可以通过调用其注册的事件侦听器来通知注册的设备。在一个或多个实施方式中,每个应用可以周期性地调用API202来更新存储在存储设备104中的状态对象。
如先前所述,对API 202的访问可以基于对用户账户105的认证或与用户账户105的关联。在这方面,存储在存储103中的状态对象206的传输可以仅对可以与用户账户105可验证地相关联的设备101、102可用。例如,在设备101处对用户账户105进行用户认证时,设备101可以向服务器103提供状态对象206以用于存储在存储104中。在设备102处对用户账户105进行用户认证时,设备102可以从与用户账户105链接的所有设备请求和接收状态对象,包括由设备101提供的状态对象206。类似地,一旦信息已经在存储104中被存储或更新,则服务器103经由API 202可以向例如第二计算设备102操作的应用208的第二实例提供状态对象206。
在所描绘的示例中,服务器103从设备101接收与在第一计算设备101上操作的应用的第一实例204相对应的状态对象206。设备101可以例如访问API 202以上传状态对象206。状态对象206的上传可以在与状态对象相对应的应用启动时或者在设备101启动时发生,例如,在应用或设备101向用户账户105认证时。然后,在应用或设备101的操作期间,状态对象206可以周期性地更新到服务器103。
服务器103从计算设备102接收对于与计算设备101相关联的设备状态信息的请求。该请求通常可以针对与用户账户105链接的所有设备的设备状态信息,或与计算设备101相对应的设备状态信息。响应于该请求,服务器向计算设备102提供所请求的信息,包括例如在计算设备101上操作的应用的枚举210。然后,枚举210可以显示在由设备102提供的界面108b上。
服务器103然后可以从设备102接收与所提供的枚举210中的所选应用相对应的应用选择。响应于接收到该应用选择,服务器103可以访问存储设备104、检索状态对象206(由设备101提供)并且向设备102提供状态对象206。然后,设备102可以基于接收到的状态对象206来打开所选应用的第二本地实例208。在这方面,第二实例208可以包括与第一实例204完全相同的应用设置和状态,该第一实例204当前可以在一个或多个远程计算设备的相应一个上操作。
在一个或多个实施方式中,服务器103可以从设备接收在不同设备上打开在该设备上操作的应用的远程实例的指示,其中该远程实例具有与当前实例的设置和状态完全相同的设置和状态。例如,服务器103可以基于来自设备101上的第一实例204的状态对象206来从设备101接收在设备102上打开第二实例208的请求。在这方面,操作设备101的用户106可以将状态对象206传输到设备102并且发起远程实例的生成。该请求可以通过用户手势在用户界面108a处发起。例如,用户106可以将与状态对象206相对应的应用的表示拖动到设备102的表示。
服务器103可以从计算设备101接收状态对象206和计算设备102的标识。然后可以基于接收到的设备102的标识和设备102的预定注册信息将状态对象206发送到计算设备102。例如,服务器103可以在设备注册时提供配置选项,并且用户可以选择什么类型的应用可以被传输和/或在正被注册的设备上自动打开。在一个或多个实施方式中,服务器103可以在没有设备标识的情况下接收状态对象206,并且保持状态对象206直到其被传递到下一个可操作地连接的设备为止(例如,当下一个设备向用户账户105认证时)。另外或替选地,服务器103可以保持状态对象206,直到下一次所识别的设备可操作地连接到服务器103为止。
图3描绘了根据本技术的一个方面的,用于在设备之间传输应用状态的示例用户界面108。用户界面108可以显示在客户端计算设备101、102的显示屏幕302上。显示屏幕302可以是触敏的,诸如通过与屏幕表面的接触和触摸相关手势来接收输入。显示屏幕302可以显示用于执行、管理、和/或操纵一个或多个应用和/或应用特征的多个图标、虚拟按钮和其他控件。
用户界面108可以与例如操作系统的主界面302(例如,作为虚拟桌面)或诸如web浏览器308或社交网络应用的应用的主界面302整合或从主界面302访问。在这方面,用户界面108当被激活时可以显示在虚拟桌面的上方并且至少部分地与其重叠,该虚拟桌面包括例如一个或多个应用或应用特征。在一些方面,用户界面108可以浮动,并且可以由用户重新定位。用户界面108可以例如由操作系统提供的或嵌入相关联的应用内的指令(例如嵌入在网页内的脚本语言)生成。
用户界面108可以通过例如由显示屏幕302显示的虚拟桌面上执行的用户手势304来访问。例如,用户手势304可以是通过指针设备——诸如使用鼠标在按住动作按钮同时执行的拖动动作,或者诸如单个或多个(例如,两个、三个、四个或更多个)手指的滑动、捏缩动作、或捏放动作的触摸相关手势,或者用于以信号通知设备以激活用户界面108的其他预定手势。用户手势304可以是从x1到x2的两个点之间的预定模式的连续滑动。在一个或多个实施方式中,可以通过激活(例如,点击或敲击)与显示在例如显示屏幕302的虚拟桌面上的用户界面108相对应的图标或其他表示306来激活用户界面108。
用户界面108当被激活时可以显示与用户账户105链接的设备的枚举308。枚举308可以例如基于由服务器103提供的设备信息来确定。例如,当用户界面108被激活时,用户界面108可以向服务器108发送对于设备信息的请求,并且服务器103可以将包括枚举308的设备信息返回给用户界面108。在这方面,枚举308中的设备可以被限制为先前已经向用户账户105注册的设备。一旦显示了枚举308,用户便可以从枚举308中选择一个或多个设备(例如,图3的“Dev 2”)来查看在所选的设备上操作的应用。响应于该选择,用户界面108可以请求并且服务器103可以提供在所选计算设备上操作的应用的应用枚举310。
设备101、102接收应用枚举310并在用户界面108上显示应用枚举310。应用枚举310可以包括在所选设备(例如,“Dev 2”)上操作的每个应用(例如,图3中的“App 1”至“App9”)的诸如图标的表示。枚举310中的应用可以限于例如对于托管应用的对应的已注册设备先前向用户账户105注册的应用。一旦显示了枚举310,用户就可以从枚举310中选择要从服务器103接收其状态信息的一个或多个应用。响应于该选择,用户界面108可以请求并且服务器103可以向设备提供与所选应用相对应的状态对象206。当接收到状态对象206时,设备可以基于接收到的状态对象来打开所选应用的本地实例。在这方面,本地实例包括与当前在所选设备(例如,“Dev 2”)上操作的所选应用的远程实例完全相同的应用设置和状态。
虽然图3描绘了在为所选设备显示枚举310之前显示枚举308,但是可以在界面108上一起显示所有设备的应用或所有设备的应用的子集,例如在不首先选择设备的情况下。例如,在激活用户界面108时,服务器103可以提供向用户账户105注册的所有设备的所有应用。枚举308可以与枚举310(现在包括所有应用)一起显示,并且可以选择或取消选择设备以在枚举310中显示应用的子集。
另外或者替选地,用户界面108可以显示在与用户界面108相同的设备上操作的一个或多个应用。用户可以将应用的本地实例的表示拖动到例如在枚举308中显示的设备之一,使得将本地实例的状态对象206发送到所选设备。在应用没有本地活动实例的情况下,服务器103可以将先前存储的状态对象206发送到所选设备。
如前所述,可以基于从服务器103接收的状态对象206来打开所选应用的本地实例,其中该本地实例具有与所选应用的远程实例完全相同的应用设置和状态。在一个示例中,所选应用可以是web浏览器,其中该web浏览器的远程实例例如在移动设备上操作。接收到的状态对象206可以包括web浏览器的远程实例的网络浏览历史和/或web浏览器的远程实例当前打开的至少一个网页。然后可以自动打开web浏览器的本地实例以在该远程实例中用户最后查看的网页中的位置处查看该网页。另外或替选地,本地实例可以被自动配置为允许根据该远程实例的web浏览历史来导航网页。例如,一旦web浏览器打开,用户就可以选择“后退(back)”按钮以在web浏览器的远程实例中查看的网页的历史中向后导航。
图4描绘了根据本技术的方面的用于在设备之间传输应用状态的示例过程400的流程图。为了说明的目的,本文参考图1、图2和图3的组件描述示例过程400。进一步为了说明的目的,示例过程400的框在本文中被描述为以串行或线性方式发生。然而,示例过程400的多个框可以并行地发生。此外,示例过程400的框不需要按照所示的顺序执行,和/或不需要执行示例过程400的一个或多个框。
在所描绘的示例流程图中,服务器103向用户账户105注册多个设备——包括第一计算设备101和第二计算设备102(402)。第一计算设备101和/或第二计算设备可以是例如诸如智能电话、或笔记本计算机、平板计算机的移动设备,或者台式计算机。虽然描绘了设备的注册,但是服务器103可以单独或分组地向用户账户105注册应用,使得可以在向用户账户105注册的所有设备(或设备的子集)之间更新注册的应用。一旦向用户账户105注册应用和/或设备,该应用和/或设备就可以存储与用户账户105相关的状态对象206。
服务器103从例如第一计算设备101接收与在设备101上操作的应用相对应的一个或多个状态对象206(404)。如前所述,当应用的实例在设备上开始时,状态对象206可以被存储,并且可以例如以周期性的间隔被更新到服务器103。在一个或多个实施方式中,设备的用户可以选择注册将向服务器103提供其状态对象的应用。例如,用户可以打开界面108并选择设备上的一个或多个应用以供向用户账户105注册。用户还可以随时选择取消注册应用。
服务器103从例如设备102接收对向用户账户105注册的设备的设备枚举308的请求(406),并且响应于对该设备枚举的请求,服务器105向设备102提供设备枚举308(408)。该请求可以从用户界面108b接收并经由API 202提供给服务器103。对设备枚举308的请求可以响应于用户的动作来提供,或者可以在用户界面被实例化时由用户界面108自动进行。在一个或多个实施方式中,用户界面108可以周期性地轮询服务器103以确定新设备是否已注册,并且相应地更新枚举308。
服务器103接收对于与设备101相关联的设备状态信息的请求,包括应用的应用枚举310(410)。在所描绘的示例中,对设备状态信息的请求将设备101标识为从设备枚举308中被选择。响应于对设备状态信息的请求,服务器103向设备102提供设备101的设备状态信息,包括在设备101上操作的应用的应用枚举310(412)。根据各方面,在服务器103向设备102提供设备状态信息(和/或设备枚举)之前,需要向用户账户105认证设备102(请求设备)。此外,可以从请求设备上的用户界面108接收对设备状态信息的请求,并且可以向请求设备上的用户界面108提供设备状态信息。根据各个实施方式,用户界面108与用户账户105链接,并且可以为用户提供用于向用户账户105认证设备102的机制。服务器103在被授权时,向用户界面108提供设备状态信息以供显示应用枚举310。
服务器103然后从设备102接收与所提供的枚举310的所选应用相对应的应用选择(例如,由用户做出)(414),并且响应于接收到该应用选择,服务器103向设备102提供与所选应用相对应的状态对象206(416)。如前所述,提供状态对象206以用于基于从远程实例接收到的状态对象来打开所选应用的本地实例。新的本地实例可以包括应用设置和状态,其与向用户账户105注册的包括设备101的一个或多个远程计算设备中的相应远程计算设备上当前正在操作或操作过的所选应用的远程实例完全相同。在一些方面,状态对象先前也可以由先前在同一个设备上操作的应用的实例接收和存储。
另外,用户可以使用用户界面108将状态对象206传输到远程设备,以供例如当该用户下一次使用该远程设备时自动打开(例如,无需用户作出进一步的动作)该设备上的相应应用的实例。在这方面,状态对象206(对应于用户界面108处的所选应用)由服务器108从例如设备101接收,并且与在设备102上操作的远程应用的指示一起提供给设备102,以供以状态对象所提供的状态来执行该应用的远程实例。设备102接收该指示并使用来自接收到的状态对象的信息来打开对应的应用。设备102(或界面108b)可以在打开应用之前首先请求用户确认。
上述示例过程400中的许多特征以及相关应用可以被实现为被指定为记录在计算机可读存储介质(也称为计算机可读介质)上的指令集的软件过程。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核心、或其他处理单元)执行时,它们使得处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质本身不包括无线地或通过有线连接传递的载波和电子信号。
术语“软件”意在在合适的情况下包括驻留在只读存储器中的固件或存储在磁性存储设备中的应用,其可以被读入存储器中以供处理器处理。此外,在一些实施方式中,本公开的多个软件方面可以被实现为较大程序的子部分,同时保持本公开的不同的软件方面。在一些实施方式中,多个软件方面也可以被实现为单独的程序。最后,一起实现这里描述的软件方面的单独程序的任何组合都在本公开的范围内。在一些实施方式中,软件程序在被安装来在一个或多个电子系统上操作时,定义执行和实施软件程序的操作的一个或多个特定的机器实施方式。
计算机程序(也称为程序、软件、软件应用、脚本、或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明式或过程语言,并且可以以任何形式部署,包括作为独立程序或作为适用于计算环境的模块、组件、子例程、对象、或其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在文件的保持其他程序或数据的部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序、或代码部分的文件)中。可以将计算机程序部署为在一个计算机上或多个计算机上执行,该多个计算机位于一个站点、或者跨多个站点分布并通过通信网络互连。
图5是示出根据本技术的一个或多个方面的,用于结合在设备之间传输应用状态来使用的示例电子系统500的示图。电子系统500可以是用于执行与计算设备100的操作相关联的软件、或者过程400的一个或多个部分或步骤、或者由图1至图4提供的组件和过程的计算设备。在各个实施方式中,电子系统500可以代表第一计算设备101或第二计算设备102、或服务器103。在这方面,电子系统500可以是个人计算机或诸如平板计算机、膝上型计算机、智能电话、PDA是移动设备,或者具有嵌入其中或耦合至其的一个或多个处理器的其它触摸屏或电视,或者任何其他类型的具有无线连接性的计算机相关电子设备。
电子系统500可以包括各个类型的计算机可读介质和用于各个其他类型的计算机可读介质的接口。在所描绘的示例中,电子系统500包括总线508、处理单元512、系统存储器504、只读存储器(ROM)510、持久存储设备502、输入设备接口514、输出设备接口506、和一个或多个网络接口516。在一些实施方式中,电子系统500可以包括其他计算设备或电路或者与其他计算设备或电路整合以用于先前描述的各个组件和过程的操作。
总线508总体表示通信地连接电子系统500的众多内部设备的所有系统、外围设备、和芯片组总线。例如,总线508将处理单元512与ROM 510、系统存储器504、和持久存储设备502通信地连接。
从这些各个存储器单元,处理单元512检索为了执行本过程要执行的指令和要处理的数据。处理单元在不同实施方式中可以是单个处理器或多核处理器。
ROM 510存储处理单元512和电子系统的其他模块所需的静态数据和指令。另一方面,持久存储设备502是读写存储器设备。该设备是即使在电子系统500关闭时也存储指令和数据的非易失性存储器单元。本公开的一些实施方式使用大容量存储设备(例如磁盘或光盘及其对应的磁盘驱动器)作为持久存储设备502。
其他实施方式使用可移动存储设备(例如软盘、闪存驱动器及其对应的盘驱动器)作为持久存储设备502。与持久存储设备502相似,系统存储器504是读写存储器设备。然而,与存储设备502不同,系统存储器504是易失性读写存储器,例如随机存取存储器。系统存储器504存储处理器在运行时需要的一些指令和数据。在一些实施方式中,本公开的过程存储在系统存储器504、持久存储设备502、和/或ROM510中。从这些各个存储器单元,处理单元512检索为了执行一些实施方式的过程要执行的指令和要处理的数据。
总线508还连接到输入设备接口514和输出设备接口506。输入设备接口514使得用户能够向电子系统传输信息并选择命令。与输入设备接口514一起使用的输入设备包括例如字母数字键盘和指示设备(也称为“光标控制设备”)。输出设备接口506例如使得能够显示电子系统500生成的图像。与输出设备接口506一起使用的输出设备包括例如打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施方式包括诸如用作输入和输出设备二者的触摸屏的设备。
最后,如图5所示,总线508还通过网络接口516将电子系统500耦合到网络(未示出)。网络接口516可以包括例如无线接入点(例如,蓝牙或WiFi)或用于连接到无线接入点的无线电电路。网络接口516还可以包括用于将计算机连接到诸如局域网(“LAN”)、广域网(“WAN”)、无线LAN、或内联网等的计算机网络的一部分或诸如互联网的网中网的硬件(例如,以太网硬件)。电子系统500的任何或所有组件可以结合本公开使用。
上述功能可以在计算机软件、固件或硬件中实现。这些技术可以使用一个或多个计算机程序产品来实现。可编程处理器和计算机可以包括在移动设备中或封装为移动设备。过程和逻辑流程可以由一个或多个可编程处理器和一个或多个可编程逻辑电路执行。通用和专用计算设备和存储设备可以通过通信网络互连。
一些实施方式包括诸如微处理器、存储和存储器的电子组件,其在机器可读或计算机可读介质(或称为计算机可读存储介质、机器可读介质、或机器可读存储介质)中存储计算机程序指令。这样的计算机可读介质的一些示例包括RAM、ROM、只读压缩光盘(CD-ROM)、可记录压缩光盘(CD-R)、可重写压缩光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各个可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如,SD卡、迷你SD卡、微型SD卡等)、磁性和/或固态硬盘驱动器、只读和可记录Blu-光盘、超密度光盘、任何其他光学或磁性介质、和软盘。计算机可读介质可以存储可由至少一个处理单元执行并且包括用于实施各个操作的指令集的计算机程序。计算机程序或计算机代码的示例包括诸如由编译器产生的机器代码以及由计算机、电子组件、或微处理器使用解释器执行的包括更高级别的代码的文件。
虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但是一些实施方式由一个或多个集成电路——诸如专用集成电路(ASIC))或现场可编程门阵列(FPGA)执行。在一些实施方式中,这样的集成电路执行存储在电路本身上的指令。
如本说明书和本申请的任何权利要求中所使用的,术语“计算机”、“服务器”、“处理器”、和“存储器”全都指代电子或其他技术设备。这些术语不包括人或人的群体。出于说明书的目的,术语显示意指在电子设备上显示。如本说明书和本申请的任何权利要求中所使用的,术语“计算机可读介质”完全限于以计算机可读的形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号、和任何其他短暂信号。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备——例如CRT(阴极射线管)或LCD(液晶显示器)监视器,,以及键盘和指示设备——例如鼠标或轨迹球,用户通过其可以向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音、或触觉输入。此外,计算机可以通过向用户使用的设备发送文档并从其接收文档来与用户进行交互;例如,通过响应于从web浏览器接收到的请求,向用户的客户端设备上的web浏览器发送网页。
本说明书中描述的主题的实施例可以在包括后端组件——例如作为数据服务器、或包括中间件组件——例如应用服务器、或包括前端组件——例如具有用户通过其可以与本说明书中描述的主题的实施方式交互的图形用户界面或web浏览器的客户端计算机、或者一个或多个这样的后端、中间件或前端组件的任何组合的计算系统中实现。系统的组件可以通过任何数字数据通信形式或介质——例如通信网络互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互连网络(例如互联网)、和对等网络(例如,点对点对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是依靠在相应计算机上运行并且彼此之间具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器向客户端设备传送数据(例如,HTML页面)(例如,为了向与客户端设备交互的用户显示数据并从该用户接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备生成的数据(例如,用户交互的结果)。
本领域技术人员将理解,本文描述的各个说明性的框、模块、元素、组件、方法和算法可以实现为电子硬件、计算机软件、或两者的组合。为了说明硬件和软件的这种可互换性,已经在其功能方面一般地描述了各个说明性的框、模块、元素、组件、方法和算法。这样的功能是被实现为硬件还是软件取决于特定应用和施加在整个系统上的设计约束。技术人员可以针对每个特定应用以不同的方式实现所描述的功能。在不脱离本技术的范围的情况下,各个组件和框可以不同地布置(例如,以不同的顺序布置或以不同的方式划分)。
应当理解,所公开的过程中的步骤的具体顺序或层次是示例方法的说明。基于设计偏好,可以理解,可以重新排列过程中的步骤的具体顺序或层次。一些步骤可以同时执行。随附的方法权利要求以样本顺序呈现各个步骤的元素,并不意味着限于所呈现的特定顺序或层次。
提供前面的描述以使得本领域的任何技术人员能够实践本文描述的各个方面。前面的描述提供了本技术的各个示例,并且本技术不限于这些示例。对这些方面的各个修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其它方面。因此,权利要求不旨在限于本文所示的方面,而是被赋予与语言权利要求一致的全部范围,其中对单数形式的元素的引用除非具体如此陈述否则并不旨在意指“一个且仅一个”,,而是意指“一个或多个”。除非另有说明,否则术语“一些”指代一个或多个。男性人称代词(例如,他的)包括女性和中性的性别(例如,她的和它的),反之亦然。标题和副标题——如果有的话——仅用于方便,并且不限制本。
如本文所使用的术语网站可以包括网站的任何方面,包括一个或多个网页、用于托管或存储web相关内容的一个或多个服务器等等。因此,术语网站可以与术语网页和服务器互换使用。“被配置为”、“可操作以”、和“经过编程以”的谓语词不暗示对主语进行任何特定的有形或无形的修改,而是意图可互换使用。例如,被配置为监视和控制操作或组件的处理器也可以意指处理器被编程以监视和控制操作或处理器可操作以监视和控制操作。同样地,被配置为执行代码的处理器可以被解释为被编程为执行代码或可操作以执行代码的处理器。
诸如“方面”的短语并不暗示这样的方面对于本技术是至关重要的,或者这样的方面适用于本技术的所有配置。与一个方面相关的公开可以应用于所有配置或一个或多个配置。一个方面可以提供一个或多个示例。诸如方面的短语可以指代一个或多个方面,并且反之亦然。诸如“实施例”的短语并不暗示这样的实施例对于本技术是至关重要的,或者这样的实施例适用于本技术的所有配置。与一个实施例相关的公开可以适用于所有实施例或一个或多个实施例。一个实施例可以提供一个或多个示例。诸如“实施例”的短语可以指代一个或多个实施例,反之亦然。诸如“配置”的短语并不暗示这样的配置对于本技术是至关重要的,或者这样的配置适用于本技术的所有配置。与一个配置相关的公开可以适用于所有配置或一个或多个配置。一个配置可以提供一个或多个示例。诸如“配置”的短语可以指代一个或多个配置,反之亦然。
词语“示例”在本文中用于意指“用作示例或说明”。本文中描述为“示例”的任何方面或设计不一定被解释为比其他方面或设计优选或有利。
本领域普通技术人员已知或稍后将知道的本公开全文描述的各个方面的元素的所有结构和功能等同物通过引用明确地并入本文,并且旨在被权利要求书所涵盖。此外,无论本文所公开的任何内容是否明确地在权利要求书中记载,这些公开都不意图公共所用。权利要求元素不应根据35U.S.C.§112第六段的规定来解释,除非该元素使用短语“用于……的装置”明确地叙述,或者在方法权利要求的情况下该元素使用短语“用于……的步骤”叙述。此外,在描述或权利要求书中使用术语“包含”、“具有”等等的情况下,该术语旨在以类似于术语“包括”在“包括”在权利要求中用作过渡词时的解释的方式包含。
Claims (20)
1.一种方法,包括:
从第一计算设备接收与在所述第一计算设备上操作的应用相对应的一个或多个状态对象;
从远离所述第一计算设备的第二计算设备接收对于与所述第一计算设备相关联的设备状态信息的请求;
响应于所述请求而向所述第二计算设备提供所述设备状态信息,所述设备状态信息包括在所述第一计算设备上操作的所述应用的应用枚举;
从所述第二计算设备接收与所提供的枚举中的所选应用相对应的应用选择;以及
响应于接收到所述应用选择,向所述第二计算设备提供所接收的一个或多个状态对象中的与所述所选应用相对应的状态对象。
2.根据权利要求1所述的方法,还包括:
在接收所述一个或多个状态对象之前,向用户账户注册包括所述第一计算设备和所述第二计算设备的多个设备。
3.根据权利要求2所述的方法,还包括:
在向所述第二计算设备提供所述设备状态信息之前,确定所述第二计算设备已向所述用户账户认证。
4.根据权利要求2所述的方法,还包括:
在接收对于设备状态信息的请求之前,接收对于向所述用户账户注册的设备的设备枚举的请求;以及
响应于对于所述设备枚举的请求,提供所述设备枚举。
5.根据权利要求4所述的方法,其中,所述对于设备状态信息的请求将所述第一计算设备识别为选自所述设备枚举。
6.根据权利要求2所述的方法,其中,从所述第二计算设备上的全局应用界面接收所述对于设备状态信息的请求,并且向所述第二计算设备上的所述全局应用界面提供所述设备状态信息,所述全局应用界面与所述用户账户链接,其中,向所述第二计算设备上的所述全局应用界面提供所述设备状态信息以用于显示所述应用枚举。
7.根据权利要求1所述的方法,其中,以周期性间隔从所述第一计算设备接收与在所述第一计算设备上操作的应用相对应的更新状态对象。
8.根据权利要求1所述的方法,其中,将与所述所选应用相对应的状态对象与在所选计算设备上操作并且与所述状态对象相对应的远程应用的指示一起提供给所述第二计算设备,以用于以所述状态对象提供的状态来执行所述远程应用。
9.根据权利要求1所述的方法,其中,所述第一计算设备或所述第二计算设备是移动设备。
10.一种方法,包括:
从服务器接收在与用户账户相关联的一个或多个远程计算设备上操作的应用的应用枚举;
提供所述应用枚举以用于在与所述用户账户相关联的全局应用界面处显示;
在所述全局应用界面处接收与所提供的应用枚举中的所选应用相对应的应用选择;
基于所接收的应用选择来向所述服务器请求与所述所选应用相对应的状态对象;以及
接收从所述服务器请求的状态对象。
11.根据权利要求10所述的方法,包括:
基于所接收的状态对象来打开所述所选应用的本地实例,所述本地实例包括与当前在所述一个或多个远程计算设备中的相应远程计算设备上操作的所述所选应用的远程实例相同的应用设置和状态。
12.根据权利要求11所述的方法,包括:
其中,所述相应远程计算设备是移动设备。
13.根据权利要求11所述的方法,其中,所述所选应用包括web浏览器,并且所接收的状态对象包括所述所选应用的所述远程实例的web浏览历史和所述所选应用的所述远程实例当前打开的至少一个网页,
其中,所述所选应用的所述本地实例打开以在所述远程实例最后查看的网页中的位置处查看所述网页,并且所述本地实例被配置为允许根据所述远程实例的所述web浏览历史来导航网页。
14.根据权利要求10所述的方法,包括:
基于由所述服务器提供的设备信息来确定所述一个或多个远程计算设备的设备枚举;
提供所述设备枚举以用于在所述全局应用界面处显示;
在所述全局应用界面处接收与所述所选应用的所述远程实例正操作于的相应远程计算设备相对应的设备选择,所述相应远程计算设备是在所述设备枚举中识别的;以及
响应于接收到所述设备选择而从所述服务器请求所述应用枚举,其中所述应用枚举是针对所述相应远程计算设备。
15.根据权利要求10所述的方法,包括:
响应于在显示屏幕处做出的用户手势而生成所述全局应用界面。
16.一种系统,包括:
一个或多个处理器;以及
存储器介质,具有存储在其上的指令,所述指令在被执行时使所述一个或多个处理器:
针对第一计算设备存储与在所述第一计算设备上操作的应用相对应的一个或多个状态对象;
从远离所述第一计算设备的第二计算设备接收对于在所述第一计算设备上操作的所述应用的应用枚举的请求;
响应于所述请求,向所述第二计算设备提供所述应用枚举;
从所述第二计算设备接收与所提供的枚举中的所选应用相对应的应用选择;以及
响应于接收到所述应用选择,向所述第二计算设备提供所存储的一个或多个状态对象中的与所述所选应用相对应的状态对象。
17.根据权利要求16所述的系统,其中,所述指令在被执行时还使得所述一个或多个处理器:
在接收所述一个或多个状态对象之前,向用户账户注册包括所述第一计算设备和所述第二计算设备的多个设备。
18.根据权利要求17所述的系统,其中,所述指令在被执行时还使所述一个或多个处理器:
在接收对于设备状态信息的请求之前,从所述第二计算设备接收对于向所述用户账户注册的设备的设备枚举的请求;以及
响应于对于所述设备枚举的请求,向所述第二计算设备提供所述设备枚举。
19.根据权利要求17所述的系统,其中,从所述第二计算设备上的全局应用界面接收对于设备状态信息的请求,并且向所述第二计算设备上的所述全局应用界面提供所述设备状态信息,所述全局应用界面与所述用户账户链接,其中,向所述第二计算设备上的所述全局应用界面提供所述设备状态信息以用于显示所述应用枚举。
20.根据权利要求17所述的系统,其中,将与所述所选应用相对应的状态对象与在所述所选计算设备上操作并且与所述状态对象相对应的远程应用的指示一起提供给所述第二计算设备,以用于以所述状态对象提供的状态来执行所述远程应用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/828,450 US20170054767A1 (en) | 2015-08-17 | 2015-08-17 | Transferring application state between devices |
US14/828,450 | 2015-08-17 | ||
PCT/US2016/040537 WO2017030662A1 (en) | 2015-08-17 | 2016-06-30 | Transferring application state between devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107851035A true CN107851035A (zh) | 2018-03-27 |
Family
ID=56413902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680025232.XA Pending CN107851035A (zh) | 2015-08-17 | 2016-06-30 | 在设备之间传输应用状态 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20170054767A1 (zh) |
EP (1) | EP3338183A1 (zh) |
JP (2) | JP6649403B2 (zh) |
KR (2) | KR102060676B1 (zh) |
CN (1) | CN107851035A (zh) |
DE (1) | DE112016003732T5 (zh) |
GB (1) | GB2556448B (zh) |
WO (1) | WO2017030662A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959052A (zh) * | 2018-06-29 | 2018-12-07 | 河南工业大学 | 判断智能移动终端不同app使用状态的方法及系统 |
CN110058902A (zh) * | 2019-04-29 | 2019-07-26 | 上海连尚网络科技有限公司 | 信息处理方法、电子设备和计算机可读介质 |
CN110955465A (zh) * | 2019-12-16 | 2020-04-03 | 宁波奥克斯电气股份有限公司 | 一种设备状态获取方法 |
CN111240547A (zh) * | 2020-01-08 | 2020-06-05 | 华为技术有限公司 | 跨设备任务处理的交互方法、电子设备及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11379618B2 (en) * | 2017-06-01 | 2022-07-05 | International Business Machines Corporation | Secure sensitive personal information dependent transactions |
US11074116B2 (en) * | 2018-06-01 | 2021-07-27 | Apple Inc. | Direct input from a remote device |
JP2020154695A (ja) * | 2019-03-20 | 2020-09-24 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
KR102193040B1 (ko) * | 2019-09-05 | 2020-12-21 | 주식회사 틸론 | Vdi 환경에서의 가상 데스크톱에 설치된 어플리케이션을 어플리케이션 가상화 형태로 실행하거나 가상 데스크톱 접속으로 전환하는 방법, 및 가상화 서버 |
US11044279B1 (en) * | 2019-12-19 | 2021-06-22 | Capital One Services, Llc | Systems and methods for secure browser session transfer |
US20230393860A1 (en) * | 2022-06-03 | 2023-12-07 | Kyndryl, Inc. | Automatic application configuration synchronization based on data analytics |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882092A (zh) * | 2010-05-11 | 2010-11-10 | 中兴通讯股份有限公司 | 一种应用程序的管理方法及装置 |
CN103503364A (zh) * | 2011-04-01 | 2014-01-08 | 英特尔公司 | 跨平台的应用程序使用连续性 |
US20140359637A1 (en) * | 2013-06-03 | 2014-12-04 | Microsoft Corporation | Task continuance across devices |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9357031B2 (en) * | 2004-06-03 | 2016-05-31 | Microsoft Technology Licensing, Llc | Applications as a service |
EP2200383B1 (en) * | 2008-12-18 | 2013-06-19 | Koninklijke KPN N.V. | Method of determining a location of a mobile device and method of managing a list for use in such a method |
US8954597B2 (en) * | 2010-06-28 | 2015-02-10 | Hulu, LLC | Method and apparatus for synchronizing paused playback across platforms |
US8473577B2 (en) * | 2010-10-13 | 2013-06-25 | Google Inc. | Continuous application execution between multiple devices |
US8171137B1 (en) * | 2011-05-09 | 2012-05-01 | Google Inc. | Transferring application state across devices |
US20130041790A1 (en) * | 2011-08-12 | 2013-02-14 | Sivakumar Murugesan | Method and system for transferring an application state |
US8819798B2 (en) * | 2011-12-29 | 2014-08-26 | Ebay Inc. | System and method for transferring states between electronic devices |
US10620797B2 (en) * | 2012-06-29 | 2020-04-14 | Spotify Ab | Systems and methods for multi-context media control and playback |
US8990343B2 (en) * | 2012-07-30 | 2015-03-24 | Google Inc. | Transferring a state of an application from a first computing device to a second computing device |
US10425471B2 (en) * | 2012-10-02 | 2019-09-24 | Razer (Asia-Pacific) Pte. Ltd. | Multi-tasker |
KR20150125526A (ko) * | 2014-04-30 | 2015-11-09 | 삼성전자주식회사 | 클라우드 서버, 화상형성장치 및 인쇄 제어 방법 |
US9430142B2 (en) * | 2014-07-17 | 2016-08-30 | Facebook, Inc. | Touch-based gesture recognition and application navigation |
US10200824B2 (en) * | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
-
2015
- 2015-08-17 US US14/828,450 patent/US20170054767A1/en not_active Abandoned
-
2016
- 2016-06-30 DE DE112016003732.5T patent/DE112016003732T5/de active Pending
- 2016-06-30 KR KR1020197019328A patent/KR102060676B1/ko active IP Right Grant
- 2016-06-30 JP JP2017556700A patent/JP6649403B2/ja active Active
- 2016-06-30 EP EP16739358.6A patent/EP3338183A1/en not_active Withdrawn
- 2016-06-30 KR KR1020177031464A patent/KR101998313B1/ko active IP Right Grant
- 2016-06-30 CN CN201680025232.XA patent/CN107851035A/zh active Pending
- 2016-06-30 GB GB1716702.4A patent/GB2556448B/en active Active
- 2016-06-30 WO PCT/US2016/040537 patent/WO2017030662A1/en active Application Filing
-
2020
- 2020-01-16 JP JP2020005294A patent/JP7340466B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882092A (zh) * | 2010-05-11 | 2010-11-10 | 中兴通讯股份有限公司 | 一种应用程序的管理方法及装置 |
CN103503364A (zh) * | 2011-04-01 | 2014-01-08 | 英特尔公司 | 跨平台的应用程序使用连续性 |
US20140359637A1 (en) * | 2013-06-03 | 2014-12-04 | Microsoft Corporation | Task continuance across devices |
Non-Patent Citations (1)
Title |
---|
DAG JOHANSEN,HÅVARD JOHANSEN,ROBBERT VAN RENESSE: "Environment mobility: moving the desktop around", 《PROCEEDINGS OF THE 2ND WORKSHOP ON MIDDLEWARE FOR PERVASIVE AND AD-HOC COMPUTING》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959052A (zh) * | 2018-06-29 | 2018-12-07 | 河南工业大学 | 判断智能移动终端不同app使用状态的方法及系统 |
CN110058902A (zh) * | 2019-04-29 | 2019-07-26 | 上海连尚网络科技有限公司 | 信息处理方法、电子设备和计算机可读介质 |
CN110058902B (zh) * | 2019-04-29 | 2022-04-12 | 上海连尚网络科技有限公司 | 信息处理方法、电子设备和计算机可读介质 |
CN110955465A (zh) * | 2019-12-16 | 2020-04-03 | 宁波奥克斯电气股份有限公司 | 一种设备状态获取方法 |
CN111240547A (zh) * | 2020-01-08 | 2020-06-05 | 华为技术有限公司 | 跨设备任务处理的交互方法、电子设备及存储介质 |
WO2021139768A1 (zh) * | 2020-01-08 | 2021-07-15 | 华为技术有限公司 | 跨设备任务处理的交互方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3338183A1 (en) | 2018-06-27 |
GB2556448A (en) | 2018-05-30 |
JP2018526695A (ja) | 2018-09-13 |
JP7340466B2 (ja) | 2023-09-07 |
KR101998313B1 (ko) | 2019-10-01 |
KR102060676B1 (ko) | 2019-12-30 |
DE112016003732T5 (de) | 2018-05-09 |
JP2020074164A (ja) | 2020-05-14 |
KR20170130605A (ko) | 2017-11-28 |
GB201716702D0 (en) | 2017-11-29 |
JP6649403B2 (ja) | 2020-02-19 |
WO2017030662A1 (en) | 2017-02-23 |
KR20190083004A (ko) | 2019-07-10 |
US20170054767A1 (en) | 2017-02-23 |
GB2556448B (en) | 2021-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107851035A (zh) | 在设备之间传输应用状态 | |
US10996828B2 (en) | Method and system for configuring selection of contextual dashboards | |
US10459607B2 (en) | Expandable application representation | |
US8448093B2 (en) | Hierarchical organization chart for mobile applications | |
US9584583B2 (en) | Desktop and mobile device integration | |
TWI522893B (zh) | 用於顯示基於行爲的使用者介面之版面配置(build)之方法、系統、電子裝置及電腦程式產品 | |
US20140344951A1 (en) | Kid mode user interface with application-specific configurability | |
US9239707B2 (en) | Model framework for applications | |
EP3221778A1 (en) | Tab sweeping and grouping | |
CN102640101A (zh) | 用于提供用户接口的方法及装置 | |
US20190295439A1 (en) | Cross-application feature linking and educational messaging | |
CN107835981A (zh) | 在设备之间传送通知 | |
CN104641343A (zh) | 共享数字对象 | |
US11036354B2 (en) | Integrating desktop and mobile devices | |
US20190138164A1 (en) | User interface for efficient user-software interaction | |
US11693541B2 (en) | Application library and page hiding | |
JP7324286B2 (ja) | 適応型アプリケーション内メッセージング | |
US20220365637A1 (en) | Ephemeral navigation bar | |
Pérez Blanco | NoSQL databases in cross-platform development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |