CN107066317A - 将应用的状态从第一设备传输至第二设备的方法和系统 - Google Patents

将应用的状态从第一设备传输至第二设备的方法和系统 Download PDF

Info

Publication number
CN107066317A
CN107066317A CN201610882939.4A CN201610882939A CN107066317A CN 107066317 A CN107066317 A CN 107066317A CN 201610882939 A CN201610882939 A CN 201610882939A CN 107066317 A CN107066317 A CN 107066317A
Authority
CN
China
Prior art keywords
computing device
application
state
request
web
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.)
Granted
Application number
CN201610882939.4A
Other languages
English (en)
Other versions
CN107066317B (zh
Inventor
亚历山大·弗里德里希·库舍尔
特朗德·托马斯·维尔纳
赫里斯托·斯特凡诺夫·斯特凡诺夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN107066317A publication Critical patent/CN107066317A/zh
Application granted granted Critical
Publication of CN107066317B publication Critical patent/CN107066317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

所公开的主题涉及用于将应用的状态从第一设备传输至第二设备的方法和系统。在一个方面,一种方法包括从第一计算设备接收将第一应用的状态从第一计算设备传输至第二计算设备的第一请求。该方法进一步包括向第二计算设备发送许可发起传输的第二请求。该方法进一步包括从第二计算设备接收发起传输的许可。该方法进一步包括基于所接收到的许可从第一计算设备接收该第一应用的状态。该方法进一步包括将所接收到的第一应用的状态发送至第二设备。

Description

将应用的状态从第一设备传输至第二设备的方法和系统
分案说明
本申请属于申请日为2013年5月7日的中国发明专利申请201380050072.0的分案申请。
相关申请的交叉引用
本申请要求于2012年7月30日提交的题为“Transferring a State of anApplication from a First Computing Device to a Second Computing Device”的美国专利申请序列号13/562,209的权益,其通过引用全文合并于此。
背景技术
在计算设备上运行的应用能够在该计算设备上的各个位置存储各种文件。例如,应用可以使数据存储在易失性存储器(例如RAM)和非易失性存储器(例如硬盘)中的各个位置。例如,在其它位置中,web浏览器可以将数据存储在cookie文件夹、临时互联网文件夹、收藏文件夹和历史文件夹中。
发明内容
所公开的主题涉及一种用于将应用的状态从第一计算设备传输至第二计算设备的计算机实现的方法。该方法包括从第一计算设备接收将第一计算设备上的第一应用的状态传输至第二计算设备的第一请求。第二计算设备上的第二应用被配置为恢复所述第一应用的状态。该方法进一步包括基于第一请求向第二计算设备发送许可发起第一应用的状态从第一计算设备向第二计算设备传输的第二请求。该方法进一步包括响应于发送第二请求从第二计算设备接收发起第一应用的状态从第一计算设备向第二计算设备传输的许可。该方法进一步包括基于所接收到的许可从第一计算设备接收该第一应用的状态。该方法进一步包括将所接收到的第一应用的状态发送至第二设备。
所公开的主题进一步涉及一种用于将应用的状态从第一计算设备传输至第二计算设备的系统。该系统包括存储器和处理器,该存储器包括用于将应用的状态从第一计算设备传输至第二计算设备的指令。该处理器被配置为执行该指令以从第一计算设备接收将在第一计算设备上的第一应用的状态传输至第二计算设备的第一请求。该第一应用的状态对应于该第一应用在第一计算设备上的第一会话。第二计算设备上的第二应用被配置为恢复该第一应用的状态以在第二应用内继续该第一会话。该处理器进一步被配置为基于该第一请求向第二计算设备发送许可发起将该第一应用的状态从第一计算设备传输至第二计算设备的第二请求。该处理器进一步被配置为响应于发送该第二请求而从第二计算设备接收发起将该第一应用的状态从第一计算设备传输至第二计算设备的许可。该处理器进一步被配置为基于所接收到的许可从第一计算设备接收该第一应用的状态。该处理器进一步被配置为将所接收到的该第一应用的状态发送至第二设备。该处理器进一步被配置为从第二计算设备接收成功接收到该第一应用的状态的确认。该处理器进一步被配置为基于所接收到的确认向第一计算设备发送第二计算设备成功接收到该第一应用的状态的通知,其中该第一应用被配置为基于该通知从第一计算设备去除该第一应用的状态。
所公开的主题进一步涉及一种包括机器可读指令的机器可读介质,该机器可读指令用于使得处理器执行一种用于将应用的状态从第一计算设备传输至第二计算设备的方法。该方法包括从第一计算设备接收用于将该第一计算设备上的第一应用的状态传输至第二计算设备的第一请求。该第二计算设备接近于该第一计算设备。该第二计算设备上的第二应用被配置为恢复该第一应用的状态。该方法进一步包括基于该第一请求向第二计算设备发送许可发起将该状态从第一计算设备传输至第二计算设备的第二请求。该方法进一步包括响应于发送该第二请求而从第二计算设备接收发起将该第一应用的状态从第一计算设备传输至第二计算设备的许可。该许可基于第二计算设备与第一计算设备的接近性。该方法进一步包括基于所接收到的许可从第一计算设备接收该第一应用的状态。该方法进一步包括将所接收到的该第一应用的状态发送至第二设备。
所公开的主题进一步涉及一种将应用的状态从第一计算设备传输至第二计算设备的计算机实现的方法。该方法包括向第二计算设备发送发起传输第一计算设备上的第一应用的状态的请求。第二计算设备上的第二应用被配置为恢复该第一应用的状态。该方法进一步包括响应于发送的请求而从第二计算设备接收发起传输的许可。该方法进一步包括基于所接收到的许可向第二计算设备发送该第一应用的状态。
所公开的主题进一步涉及一种用于将应用的状态从第一计算设备传输至第二计算设备的系统。该系统包括存储器和处理器,该存储器包括用于将应用的状态从第一计算设备传输至第二计算设备的指令。该处理器被配置为执行该指令以基于第二计算设备与第一计算设备的接近性来检测第二计算设备的存在。该处理器进一步被配置为向第二计算设备发送发起传输第一计算设备上的第一应用的状态的请求。第二计算设备上的第二应用被配置为恢复该第一应用的状态。该处理器进一步被配置为响应于发送的请求而从第二计算设备接收发起传输的许可。该处理器进一步被配置为基于所接收到的许可将该第一应用的状态发送至第二计算设备。该处理器进一步被配置为从第二计算设备接收成功传输的指示。该处理器进一步被配置为基于所接收到的指示从第一计算设备去除该第一应用的状态。
所要理解的是,主题技术的其它配置将通过以下详细描述而对于本领域技术人员变得显而易见,其中该主题技术的各种配置通过图示被示出并描述。如将会意识到的,该主题技术支持其它且不同的配置并且其若干细节能够在各个其它方面进行修改,所有这些都并不背离该主题技术的范围。因此,附图和详细描述在本质上要被视为是说明性而非限制性的。
附图说明
该主题技术的某些特征在所附权利要求中给出。然而,被包括以提供进一步理解的附图图示了所公开的方面并且连同描述一起用来解释所公开的方面的原理。在附图中:
图1图示了用于将应用的状态从第一计算设备传输至第二计算设备的架构的示例。
图2是图示来自图1的架构的第一计算设备、第二计算设备和服务器的示例的框图。
图3A图示了用于将应用的状态从第一计算设备传输至第二计算设备的过程的第一示例。
图3B图示了用于将应用的状态从第一计算设备传输至第二计算设备的过程的第二示例。
图4A是与图3A的示例过程相关联的系统的第一示例的图示。
图4B是与图3B的示例过程相关联的系统的第二示例的图示。
图5在概念上图示了可以用来实现该主题技术的一些方面的电子系统。
具体实施方式
以下所给出的详细描述意在作为对主题技术的各种配置的描述而并非意在表示该主题技术可以进行实践的仅有配置。附图被合并于此并且构成该详细描述的一部分。该详细描述出于提供对主题技术的全面理解的目的而包括具体细节。然而,对于本领域技术人员将会清楚并显而易见的是,该主题技术并不局限于这里所给出的具体细节并且可以在没有这些具体细节的情况下进行实践。在一些情况下,公知结构和组件以框图形式示出以免对主题技术的概念造成混淆。
使用第一计算设备上的应用的用户可能希望在第二计算设备上继续使用该应用。作为示例,可以考虑使用基于web的文字处理应用撰写文档的用户。该用户在移动的基于触摸的平板计算机上开始撰写文档。发现在平板计算机的触摸屏上进行打字不如在键盘上打字那样有效,该用户决定继续在其台式计算机上撰写该文档。
在该示例中,该基于web的文字处理应用在计算机设备本地存储操作历史。如这里所使用的短语“操作历史”涵盖了其普遍且常规的含义,包括但并不局限于该用户和/或应用所执行的任意操作。作为示例,如果用户键入了一些文本,则该用户例如能够通过按压CTRL-Z来撤销键入。该用户例如还能够通过按压CTRL-Y而重做该键入。操作能够基于操作历史被撤销和/或重做。
在该示例中,由于基于web的文字处理应用在计算设备的本地存储操作历史,所以用户仅能够在该设备上撤销和/或重做操作。因此,在这种情况下,当用户开始使用台式计算机时,用户将不能撤销或重做其在该文档内的任何操作。
根据主题技术的某些方面,提供了用于将应用的状态从第一计算设备(例如平板计算机)传输至第二计算设备(例如台式计算机)的系统和方法。
如这里所使用的术语“应用状态”和/或“应用的状态”涵盖了其普遍且常规的含义,包括但并不局限于由应用在计算设备上本地生成和/或存储的任意数据。应用状态可以被存储任意长度的时间,并且被存储在计算设备上任意类型的存储器(例如易失性、非易失性)中。
图1图示了用于将应用的状态从第一计算设备传输至第二计算设备的架构100的示例。架构100包括通过网络140连接的计算设备110和服务器170。
计算设备110例如可以是移动计算机、平板计算机、移动设备(例如智能电话或PDA)、台式计算机、机顶盒(例如用于电视)、视频游戏机或者具有适当处理能力、通信能力以及存储器的任意其它设备。每个计算设备110被配置为包括用于接受用户输入的输入设备以及用于向用户显示信息的输出设备。
计算设备110可以连接至网络140。网络140可以包括任意的一个或多个个人域网络(PAN)、局域网(LAN)、校园网(CAN)、城域网(MAN)、广域网(WAN)、宽带网络(BBN)、互联网等。另外,网络140可以包括但并不局限于任意一种或多种以下网络拓扑,包括总线网络、星形网络、环形网络、网状网络、星形-总线网络、树形或层级网络等。
任意一个计算设备110都可以是第一计算设备110A,并且另一个计算设备110可以是第二计算设备110B。例如,在图1中,台式计算机被图示为第一计算设备110A的示例,而膝上计算机被图示为第二计算设备110B的示例。每个计算设备110(例如110A、110B)包括应用。例如,第一计算设备110A包括第一应用,并且第二计算设备110B包括第二应用。
服务器170例如可以是独立服务器、共享服务器、专用服务器、集群/网格服务器(例如服务器群)或者是云服务器。每个服务器170可以包括一个或多个处理器、通信模块和存储器。服务器170可以被配置为在多个服务器之间分布工作负载(例如用于负载平衡)。
图2是图示根据本公开的某些方面的图1的架构100中的第一计算设备110A、第二计算设备110B和服务器170的示例的框图200。
第一计算设备110A包括输入设备202A、输出设备204A、处理器220A、通信模块222A和存储器240A。输入设备202A可以是触摸屏、鼠标、键盘或者使得用户能够向第一计算设备110A提供输入206A的任意其它设备。输出设备204A可以是显示屏。经由输入设备202A接收的输入206A能够在第一计算设备110A上本地进行处理和/或在服务器170上进行处理。
第一计算设备110A经由通信模块222A连接至网络140。通信模块222被配置为与网络140对接以发送和接收信息,诸如数据、请求、响应以及针对网络140上的其它设备的命令。通信模块222A例如可以是调制解调器或以太网卡。
存储器240A包括第一应用250A,其能够被用户用来与第一计算设备110A和/或服务器170进行交互,并且能够被用来向用户显示信息。第一应用250A可以在第一计算设备110A本地安装和/或从服务器170下载。
存储器240A进一步包括能够被处理器220A读取以实现第一应用状态模块242A的软件指令。第一应用250A和/或第一应用状态模块242A所生成和/或存储的数据能够被存储为第一应用状态数据244A。应当注意的是,第一应用状态模块242A可以被实现为第一应用250A的一部分或者与之分离。
第二计算设备110B在许多方面可以类似于第一计算设备110A。例如,第二计算设备110B包括输入设备202B、输出设备204B、处理器220B、通信模块222B和存储器240B。第二输入设备202B可以是触摸屏、鼠标、键盘或者使得用户能够向第二计算设备110B提供第二输入206B的任意其它设备。输出设备204B可以是显示屏。经由输入设备202B接收的输入206B能够在第二计算设备110B上本地进行处理和/或在服务器170上进行处理。
第二计算设备110B经由通信模块222B连接至网络140。通信模块222B被配置为与网络140对接以发送和接收信息,诸如数据、请求、响应以及针对网络140上的其它设备的命令。通信模块222B例如可以是调制解调器或以太网卡。
存储器240B进一步包括能够被处理器220B读取以实现第二应用状态模块242B的软件指令。第二应用250B和/或第二应用状态模块242B所生成和/或存储的数据能够被存储为第二应用状态数据244B。应当注意的是,第二应用状态模块242B可以被实现为第二应用250B的一部分或者与之分离。
计算设备110(例如110A、110B)的处理器(例如220A、220B)被配置为执行指令,诸如被物理编码到处理器(例如220A、220B)中的指令,从存储器(例如240A、240B)读取的指令,或者二者的组合。作为示例,基于从存储器240A读取的指令,第一处理器能够被配置为执行用于将应用(例如250A)的状态(例如244A)从第一计算设备(例如110A)传输至第二计算设备(例如110B)的方法。
例如,考虑第一计算设备110A,一旦来自存储器240A的指令被加载,处理器220A就被配置为向第二计算设备(例如110B)发送发起传输第一计算设备(例如110A)上的第一应用(例如250A)的状态(例如244A)的请求,其中该第二计算设备(例如110B)具有被配置为在第二计算设备(例如110B)上恢复第一应用(例如250A)的状态(例如244A)的第二应用(例如250B)。处理器220A进一步被配置为响应于发送的请求而从第二计算设备(例如110B)接收发起传输的许可。处理器220A进一步被配置为基于所接收到的许可向第二计算设备(例如110B)发送第一应用(例如250A)的状态(例如244A)。
服务器170包括存储器280、处理器260和通信模块262。存储器280包括能够由处理器260读取以实现应用状态服务器模块282的软件指令。应用状态服务器模块282将应用的状态从第一计算设备(例如110A)传输至第二计算设备(例如110B)。应用状态服务器模块282所生成和/或存储的数据(例如临时副本)可以作为应用状态服务器数据284被存储在服务器170的存储器280中。
应用状态服务器模块282从第一计算设备(例如110A)接收将第一计算设备(例如110A)上的第一应用(例如250A)的状态(例如244A)传输至第二计算设备(例如110B)的第一请求。第二计算设备(例如110B)上的第二应用(例如250B)被配置为恢复第一应用(例如250A)的状态(例如244A)。应用状态服务器模块282基于该第一请求向第二计算设备(例如110B)发送许可发起将第一应用(例如250A)的状态(例如244A)从第一计算设备(例如110A)传输至第二计算设备(例如110B)的第二请求。应用状态服务器模块282响应于发送该第二请求而从第二计算设备(例如110B)接收发起将第一应用(例如250A)的状态(例如244A)从第一计算设备(例如110A)传输至第二计算设备(例如110B)的许可。应用状态服务器模块282基于所接收到的许可从第一计算设备(例如110A)接收第一应用(例如250A)的状态(例如244A)。应用状态服务器模块282将所接收到的第一应用(例如250A)的状态(例如244A)发送至第二计算设备(例如110B)。
服务器170经由通信模块262连接至网络140。通信模块262被配置为与网络140对接以发送和接收信息,诸如数据、请求、响应以及针对网络140上的其它设备的命令。通信模块262例如可以是调制解调器或以太网卡。
服务器170的处理器260被配置为执行指令,诸如被物理编码到处理器260中的指令,从存储器280读取的指令,或者二者的组合。作为示例,服务器170的处理器260执行应用状态服务器模块282的指令。
一旦来自存储器280的指令被加载,处理器260就被配置为从第一计算设备(例如110A)接收将第一计算设备(例如110A)上的第一应用(例如250A)的状态(例如244A)传输至第二计算设备(例如110B)的第一请求。第二计算设备(例如110B)上的第二应用(例如250B)被配置为恢复第一应用(例如250A)的状态(例如244A)。处理器260进一步被配置为基于该第一请求向第二计算设备(例如110B)发送许可发起将第一应用(例如250A)的状态(例如244A)从第一计算设备(例如110A)传输至第二计算设备(例如110B)的第二请求。处理器260进一步被配置为响应于发送该第二请求而从第二计算设备(例如110B)接收发起将第一应用(例如250A)的状态(例如244A)从第一计算设备(例如110A)传输至第二计算设备(例如110B)的许可。处理器260进一步被配置为基于所接收到的许可从第一计算设备(例如110A)接收第一应用(例如250A)的状态(例如244A)。处理器260进一步被配置为将所接收到的第一应用(例如250A)的状态(例如244A)发送至第二设备(例如110B)。
图3A-B图示了用于将应用的状态从第一计算设备传输至第二计算设备的过程300A-B的示例。
图3A图示了用于将应用的状态从第一计算设备传输至第二计算设备的过程300A的第一示例。
在步骤310,服务器170从第一计算设备110A接收将第一计算设备110A上的第一应用250A的状态244A传输至第二计算设备110B的第一请求。第二计算设备110B上的第二应用250B被配置为恢复第一应用250A的状态244A。
第一应用250A的状态244A可以包括在第一计算设备110A上生成和/或存储的任意数据(例如本地副本、临时数据)。也就是说,作为第一应用110A的操作结果而出现在第一计算设备110A上的任何信息都能够被认为是应用状态244A的一部分。作为示例,当第一应用250A是文字处理应用时,应用状态244A可以包括用户对其进行工作的文档、操作历史(例如撤销历史、重做历史)、用户设置(例如文件保存位置)、滚动条位置、文字处理应用的窗口位置、临时文件(当该文档被加载到存储器中以便进行编辑时所创建的临时文件)等等。
第一应用250A的状态244A可以以各种格式进行表达。例如,第一应用250A的状态244A可以以文档对象模型(DOM)格式进行表达。作为另一个示例,第一应用250A的状态244A能够被表达为单个存档(例如压缩文件)。
第一计算设备110A和第二计算设备110B可以是类似或不同的。作为示例,第一计算设备110A可以是膝上计算机,而第二计算设备110B可以是平板计算机。类似地,第一计算设备110A可以是智能电话,而第二计算设备110B可以是台式计算机。
在步骤320,服务器170基于该第一请求向第二计算设备110B发送许可发起将第一应用250A的状态244A从第一计算设备110A传输至第二计算设备110B的第二请求。该第二请求可以与第一请求相同。也就是说,该第一请求可以在没有实质性改变的情况下被中继至第二计算设备110B作为第二请求。替选地,第二请求可以由服务器170基于第一请求来生成。
用于许可的第二请求可以以各种方式来实现。例如,服务器170能够使得第二计算设备110B在输出设备204B(例如显示器)上向用户显示通知,并且提示用户经由输入设备202B(例如鼠标)提供输入206B(例如点击按钮)以指示许可。服务器170可以在没有来自用户的任何交互的情况下从第二计算设备110B接收许可。例如,第二计算设备110B能够被预先配置为响应于来自服务器170的请求而提供许可。
在步骤330,服务器170响应于发送该第二请求而从第二计算设备110B接收发起将第一应用250A的状态244A从第一计算设备110A传输至第二计算设备110B的许可。来自第二计算设备110B的许可可以以各种方式被接收。例如,从第二计算设备110B接收的安全令牌能够指示许可发起传输。
在步骤340,服务器170基于所接收到的许可从第一计算设备110A接收第一应用250A的状态244A。
在步骤350,服务器170将所接收到的第一应用250A的状态244A发送至第二设备110B。第二计算设备110B上的第二应用250B能够恢复第一应用250A的状态244A。也就是说,通过使用应用状态244A,第二应用250B能够像第一应用250A那样显现和表现。
在一个方面,服务器170能够从第二计算设备110B接收成功接收了第一应用250A的状态244A的确认。服务器170能够基于所接收的确认向第一计算设备110A发送第一应用250A的状态244A被第二计算设备110B成功接收的通知。发送的通知可以与所接收的确认相同。也就是说,所接收的确认能够在没有实质性改变的情况下被中继至第一计算设备110A作为发送的通知。替选地,发送的通知能够由服务器170基于所接收到的确认来生成。
基于该发送的通知,第一应用250A能够从第一计算设备110A去除状态244A。
图3B图示了用于将应用的状态从第一计算设备传输至第二计算设备的过程300B的第二示例。
在步骤315,第一计算设备110A向第二计算设备110B发送发起传输第一计算设备110A上的第一应用250A的状态244A的请求。第二计算设备110B具有被配置为在第二计算设备110B上恢复第一应用250A的状态244A的第二应用250B。
步骤315中所发送的请求能够以各种方式被触发。例如,当第一计算设备110A检测到存在第二计算设备110B时,能够提供第一通知(例如显示)以指示存在第二计算设备110B。第一计算设备110A能够基于第二计算设备110B与第一计算设备110A的物理接近性和/或网络接近性来检测第二计算设备110B的存在。
作为物理接近性的示例,第一计算设备110A可以基于蓝牙技术来检测第二计算设备110B的存在。类似地,第一计算设备110A可以基于红外、WiFi或者将会使得第二计算设备110B发射可辨识信号的任意其它技术来检测第二计算设备110B的存在。
第一计算设备110A可以基于第二计算设备110B所导致的影响来检测第二计算设备110B的存在。例如,第一计算设备110A可以基于第二计算设备110B所发射的特定声音模式来检测第二计算设备110B。
作为网络接近性的示例,第一计算设备110A能够针对其它计算设备110的存在而探测网络。例如,第一计算设备110A能够针对第二计算设备110B的硬件地址(例如MAC地址)而扫描网络。
第一计算设备110A所提供(例如显示)以指示第二计算设备110B的存在的第一通知可以被配置为接受第一命令(例如第一输入)。该第一命令可以导致第一计算设备110A向第二计算设备110B发送发起将第一应用250A的状态244A从第一计算设备110A传输至第二计算设备110B的请求。
应当注意的是,该第一通知可以要求或不要求用户交互。也就是说,该通知以及相对应的第一命令可以基于第一计算设备的配置而自动发生。
在步骤325,第一计算设备110A响应于该发送的请求而从第二计算设备110B接收发起传输的许可。在步骤325中所接收的许可可以以各种方式被触发。例如,当第一计算设备110A发送发起传输的请求时,第二计算设备110B能够提供(例如显示)指示发起传输的请求的第二通知。第二计算设备110B所提供(例如显示)的第二通知可以被配置为接受第二命令而使得第二计算设备110B向第一计算设备110A发送许可以发起传输。
在步骤335,第一计算设备110A从第二计算设备110B接收该许可,并且基于所接收到的许可向第二计算设备110B发送第一应用250A的状态244A。
在一个方面,第一计算设备110A可以从第二计算设备110B接收第一应用250A的状态244A成功传输的指示。基于所接收到的指示,第一应用250A能够从第一计算设备110A去除状态244A。
应当注意的是,虽然以上关于图1和2的系统对过程300A-B进行了描述,但是过程300A-B并不局限于此,并且能够由其它系统和/或配置来执行。例如,步骤310的第一请求和/或步骤320的许可可以基于步骤315和325中所描述的接近性的检测。也就是说,可以使得第一应用250A的状态244A的传输(例如出于安全原因)取决于第一计算设备110A与第二计算设备110B的接近性。
现在将使用图3A-B的过程300A-B的示例对一个示例进行描述。在图4A所图示的第一示例中,将使用平板计算机作为第一计算设备110A,该平板计算机上的第一web浏览器将被用作第一应用250A,该第一web浏览器上随后被称作第一浏览会话的浏览会话将被用作第一应用250A的状态244A,将使用台式计算机作为第二计算设备110B,并且该台式计算机上的第二web浏览器将被用作第二应用250B。
在该示例中,使用平板计算机110A的用户决定从在线零售商处购买一本书。当用户开始结算过程以完成购买时,该用户被要求输入其送货和账单信息。该用户发现在平板计算机的触摸屏上打字很麻烦,决定切换至台式计算机。
过程300A在用户决定将第一浏览会话244A从平板计算机传输至台式计算机110B时开始。
在步骤310,服务器170从平板计算机110A接收将平板计算机110A上的第一web浏览器250A的第一浏览会话244A传输至台式计算机110B的第一请求。台式计算机110B上的第二web浏览器250B被配置为恢复第一web浏览器250A的浏览244A。
平板计算机110A上的第一浏览会话244A包括与用户的web活动相关的所有文件。例如,该第一浏览会话包括用户所观看的特定网页、相关联的临时文件、cookie、URL历史、窗口和/或标签位置等等。该示例中的第一浏览会话244A以文档对象模型(DOM)格式进行表达。
在步骤320,服务器170基于该第一请求向台式计算机110B发送许可发起将第一web浏览器250A的第一浏览会话244A从平板计算机110A传输至台式计算机110B的第二请求。在该示例中,发送至台式计算机110B的第二请求由服务器170基于从平板计算机110A所接收的第一请求来生成。
台式计算机110B被配置为自动接受来自平板计算机110A的进入传输。因此,台式计算机110B自动向服务器170发送许可。
在步骤330,服务器170从台式计算机110B接收发起从平板计算机110A传输第一web浏览器250A的第一浏览会话244A的许可。
在步骤340,基于所接收的许可,服务器170从平板计算机110A接收第一浏览会话244A。
在步骤350,服务器170将浏览会话244A发送至台式计算机110B。第一浏览会话244A以及基于步骤340的操作所存储(例如作为临时副本)或生成的任意其它数据可以被存储在服务器170上作为应用状态服务器数据284。
台式计算机110B上的第二web浏览器250B随后恢复第一web浏览器250A的第一浏览会话244A。用户随后从台式计算机110B完成购买。
在图4B所图示的第二示例中,将使用台式计算机作为第一计算设备110A,该台式计算机上的第一基于web的文字处理应用将被用作第一应用250A,与该第一基于文本的文字处理应用相关联的文件将被用作第一应用250A的状态244A,将使用膝上计算机作为第二计算设备110B,并且该膝上计算机上的第二基于web的文字处理应用将被用作第二应用250B。
在该示例中,用户处于其办公室中,并且正在使用基于web的文字处理应用来编辑文档。该基于web的应用能够离线创建和/或编辑文档。该用户必须搭乘飞机进行商务旅行以去往另一个位置参加会议。
过程300B在该用户决定将第一基于web的文字处理应用250A的状态244A传输至用户将在其商务旅行时携带的膝上计算机110B时开始。该用户决定传输状态244A,使得其能够访问到其正在编辑的文档的操作历史(例如撤销历史)。
在操作315,台式计算机110A向膝上计算机110B发送发起传输台式计算机110A上的第一基于web的文字处理应用250A的状态244A的请求。膝上计算机110B具有web浏览器,其已经被存储了随后离线使用的基于web的文字处理应用,下文被称作第二基于web的文字处理应用250B。第二基于web的文字处理应用250B被配置为恢复第一基于web的文字处理应用250A的状态244A。
步骤315中所发送的请求在台式计算机110A检测到膝上计算机110B的存在时被触发。台式计算机110A基于从膝上计算机110B所接收到的蓝牙信号来检测膝上计算机110B。
在步骤325,台式计算机110A响应于该发送的请求而从膝上计算机110B接收发起传输的许可。步骤325中的许可为台式计算机110A从膝上计算机110B所接收的安全令牌的形式。
在步骤335,基于所接收到的许可,台式计算机110A将第一基于web的文字处理应用250A的状态244A发送至膝上计算机110B。第二基于web的文字处理应用250A随后恢复状态244A,并且用户随后能够继续在膝上计算机110B上对该文档进行工作。
图5在概念上图示了可以用来实现该主题技术的一些方面的电子系统。例如,图5图示了能够利用其来实现图2的计算设备110或服务器170的计算机系统500的示例。在某些方面,计算机系统500可以使用硬件或者软件和硬件的组合在专用服务器中实现,或者被集成到另一个实体之中,或者跨多个实体进行分布。
计算机系统500(例如计算设备110、服务器170)包括总线508或者用于传输信息的其它通信机制,以及与总线508耦合以便处理信息的处理器502(例如处理器220、处理器260)。作为示例,计算机系统500可以被实现为具有一个或多个处理器502。处理器502可以是通用微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、状态机、门逻辑、离散硬件组件,或者能够执行计算或其它信息操控的任意其它适当实体。
除硬件之外,计算机系统500可以包括创建所讨论的计算机程序的执行环境的代码,例如构成存储在所包括的存储器504(例如存储器240、存储器280)中的处理器固件、协议栈、数据库管理系统、操作系统或者它们中一个或多个的组合的代码,上述存储器504诸如随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除PROM(EPROM)、寄存器、硬盘、可移动盘、CD-ROM、DVD,或者任意其它适当存储设备,其耦合至总线508以便存储要由处理器502执行的信息和指令。处理器502和存储器504可以被补充以专用逻辑电路或者结合于其中。
指令可以存储在存储器504中并且在一个或多个计算机程序产品中实施,上述计算机程序产品即编码在计算机可读介质上以便由计算机系统500执行或者控制其操作的计算机程序指令的一个或多个模块,并且根据本领域技术人员所公知的任意方法,其包括但并不局限于计算机语言,诸如面向数据的语言(例如SQL、dBase)、系统语言(例如C、Objective-C、C++、汇编)、架构语言(例如Java、.NET)和应用语言(例如PHP、Ruby、Perl、Python)。指令还可以以诸如阵列语言、面向方面的语言、汇编语言、编辑语言、命令行接口语言、编译语言、并行编程语言、波形括号语言、数据流语言、数据结构化语言、声明语言、深奥编程语言、扩展语言、第四代语言、功能语言、交互模式语言、解释语言、迭代语言、基于列表的语言、小型语言、基于逻辑的语言、机器语言、宏语言、元程序设计语言、多范例语言、数字分析、非基于英语的语言、面向对象的基于类的语言、面向对象的基于原型语言、越位规则语言、过程语言、反射语言、基于规则的语言、脚本语言、基于栈的语言、同步语言、语义处理语言、视觉语言、wirth语言、嵌入式语言和基于XML的语言的计算机语言来实现。存储器504也可以被用于在要被处理器502执行的指令的执行期间存储临时变量或其它中间信息。
如这里所讨论的计算机程序可以不必对应于文件系统中的文件。程序能够被存储在保存其它程序或数据(例如标记语言文档中所存储的一个或多个脚本)的文件的一部分中,存储在专用于所讨论程序的单个文件中,或者存储在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一台计算机或多台计算机上执行,该多台计算机位于一个地点或者跨多个地点分布并且通过通信网络进行互连。该说明书中所描述的过程和逻辑流程能够由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。
计算机系统500进一步包括诸如磁盘或光盘的数据存储设备506,其耦合至总线508以便存储信息和指令。计算机系统500可以经由输入/输出模块510耦合至各个设备。输入/输出模块510可以是任意的输入/输出模块。输入/输出模块510的示例包括诸如USB端口的数据端口。输入/输出模块510被配置为连接至通信模块512。通信模块512的示例(例如通信模块222、通信模块262)包括网络接口卡,诸如以太网卡和调制解调器。在某些方面,输入/输出模块510被配置为连接至诸如输入设备514(例如输入设备202)和/或输出设备516(例如输出设备204)的多个设备。输入设备514的示例包括键盘以及诸如鼠标或轨迹球的指示设备,用户能够通过其向计算机系统500提供输入。也能够使用其它类型的输入设备514来提供与用户的交互,诸如触觉输入设备、视觉输入设备、音频输入设备或者脑力计算机接口设备。例如,提供给用户的反馈可以是任意形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够以任意形式被接收,包括声音、语音、触觉或脑波输入。输出设备516的示例包括用于向用户显示信息的显示设备,诸如CRT(阴极射线管)或LCD(液晶显示器)监视器。
根据本公开的一个方面,计算设备110可以响应于处理器502执行存储器504中所包含的一个或多个指令的一个或多个序列而使用计算机系统500来实现。这样的指令可以从诸如数据存储设备506的另一个机器可读介质被读入存储器504。执行主存储器504中所包含的指令序列使得处理器502执行这里所描述的过程步骤。多处理布置中的一个或多个处理器也可以被用来执行存储器504中所包含的指令序列。在替选的方面,可以替代软件指令或者与之相结合地使用硬线电路来实现本公开的各个方面。因此,本公开的多个方面并不局限于硬件电路和软件的任何具体组合。
该说明书中所描述的主题的各个方面能够在计算系统中实现,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如计算计算机的前端组件,或者一个或多个这样的后端、中间件或前端组件的任意组合,上述计算计算机具有用户能够通过其与该说明书所描述的主题的实现方式进行交互的图形用户界面或应用。该系统的组件能够通过例如通信网络之类的任意形式或介质的数字数据通信进行互连。通信网络(例如网络140)能够包括例如任意个域网络(PAN)、局域网(LAN)、校园网(CAN)、城域网(MAN)、广域网(WAN)、宽带网络(BBN)、互联网等中的一个或多个。另外,通信网络例如可以包括但并不局限于包括以下网络拓扑中的任意一种或多种:总线网络、星形网络、环形网络、网状网络、星形-总线网络、树形或层级网络等。通信模块例如可以是调制解调器或以太网卡。
计算系统500可以包括计算设备和服务器。计算设备和服务器通常互相远离并且典型地通过通信网络进行交互。计算设备和服务器的关系源自于在相应计算机上运行并且互相具有计算-服务器关系的计算机程序。计算机系统500例如可以是台式计算机、膝上计算机或平板计算机,但是并不局限于此。计算机系统500还可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器、视频游戏机和/或电视机顶盒,但是并不局限于此。
如这里所使用的术语“机器可读存储介质”或“计算机可读介质”是指参与向处理器502提供指令以供执行的任意介质。这样的介质可以采用许多形式,包括但并不局限于非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或磁盘,诸如数据存储设备506。易失性介质包括动态存储器,诸如存储器504。传输介质包括同轴线缆、铜线和光纤,包括包含总线508在内的线路。机器可读介质的常见形式例如包括软盘、软质盘、硬盘、磁带、任意其它磁性介质、CD-ROM、DVD、任意其它光学介质、打孔卡、纸带、任意其它具有孔洞图案的物理介质、RAM、PROM、EPROM、FLASH EPROM、任意其它存储器芯片或卡盒,或者计算机能够从其进行读取的任意其它介质。机器可读存储介质可以是机器可读存储设备、机器可读存储基片、存储器设备、影响机器可读传播信号的事物组合,或者它们中一个或多个的组合。
虽然该说明书包含了许多具体细节,但是这些并不应当被理解为对可以请求保护的范围的限制,相反要被理解为该主题的特定实现方式的描述。在该说明书中以主题技术的单独实现方式为背景所描述的某些特征也能够组合在单个实现方式中来实现。相反,在单个实现方式的背景下描述的各个特征也能够单独在多个实现方式中实现或者以任意适当的子组合形式来实现。此外,虽然特征可以在上文中被描述为以某种组合进行操作并且甚至最初如此要求保护,但是来自所请求保护的组合的一个或多个特征在一些情况下能够从该组合中被去除,并且所请求保护的组合可以针对子组合或子组合的变化形式。
类似地,虽然操作在图中以特定顺序进行描绘,但是这并不应当被理解为要求这样的操作以所示出的特定顺序或连续顺序来执行,或者所有所图示的操作都要被执行,才能实现所期望的结果。在某些环境中,多任务和并行处理可能是有利的。此外,以上所说明的方面中各个系统组件的划分不应当被理解为在所有的方面中要求这样的划分,并且应当理解的是,所描述的程序组件和系统一般能够共同集成在单个软件产品中或者被封装为多个软件产品。
已经在特定方面对该说明书的主题进行了描述,但是其它方面也能够实现并且处于所附权利要求的范围之内。例如,在权利要求中记载的动作可以以不同顺序来执行并且仍然获得所期望的结果。作为一个示例,在附图中描绘的过程并非必然要求所示出的特定顺序或连续顺序来实现所期望的结果。在某些实现方式中,多任务和并行处理可能是有利的。其它变化处于所附权利要求的范围之内。
这些和其它实现方式处于所附权利要求的范围之内。

Claims (19)

1.一种用于将应用的状态从第二计算设备传输至第一计算设备的计算机实现的方法,所述方法包括:
检测第二计算设备的存在,其中所述存在的检测基于所述第二计算设备与第一计算设备的接近性;
从第二计算设备接收发起所述第二计算设备上的第一应用的状态的传输的请求,其中所述第一计算设备上的第二应用被配置为恢复所述第一应用的所述状态;
响应于所接收的请求,将发起所述传输的许可发送至所述第二计算设备;
基于所发送的许可从所述第二计算设备接收所述第一应用的所述状态;以及
将成功传输的指示发送至所述第二计算设备。
2.根据权利要求1所述的计算机实现的方法,其中所述存在的检测基于所述第二计算设备与所述第一计算设备的物理接近性或网络接近性中的至少一个。
3.根据权利要求1所述的计算机实现的方法,所述存在的检测基于所述第二计算设备与所述第一计算设备之间的第一网络连接,其中所述第一网络连接被配置用于短距离通信。
4.根据权利要求1所述的计算机实现的方法,其中所述第一计算设备被配置为基于检测到所述存在而提供指示所述第二计算设备的所述存在的第一通知以显示,其中所述第一通知被配置为接受第一命令以使得所述第二计算设备向所述第一计算设备发送发起所述传输的所述请求。
5.根据权利要求4所述的计算机实现的方法,其中所述第二计算设备被配置为提供指示发起所述传输的所述请求的第二通知以显示,并且其中所述第二通知被配置为接受第二命令以使得所述第一计算设备向所述第二计算设备发送发起所述传输的所述许可。
6.根据权利要求5所述的计算机实现的方法,其中发送至所述第二计算设备的所述许可是作为对所述第二计算设备上的第二通知的响应,所述第二通知指示发起将所述第一应用的所述状态从所述第二计算设备传输至所述第一计算设备的所述请求。
7.根据权利要求1所述的计算机实现的方法,其中所述第二计算设备被配置为基于所接收的通知来从所述第二计算设备去除所述第一应用的所述状态。
8.根据权利要求1所述的计算机实现的方法,其中所述第一应用是第一基于web的应用并且所述第二应用是第二基于web的应用,并且其中所述第一基于web的应用的状态包括所述第一基于web的应用的操作历史。
9.根据权利要求1所述的计算机实现的方法,其中所述第一应用是第一web浏览器并且所述第二应用是第二web浏览器,并且其中所述第一应用的所述状态对应于所述第一web浏览器中的web浏览会话。
10.根据权利要求1所述的计算机实现的方法,其中所述第一应用的所述状态以文档对象模型格式来表达。
11.一种用于将应用的状态从第二计算设备传输至第一计算设备的系统,所述系统包括:
存储器,所述存储器包括用于将应用的状态从第二计算设备传输至第一计算设备的指令;和
处理器,所述处理器被配置为执行所述指令以:
检测第二计算设备的存在,其中所述存在的检测基于所述第二计算设备与第一计算设备的接近性;
从第二计算设备接收发起所述第二计算设备上的第一应用的状态的传输的请求,其中所述第一计算设备上的第二应用被配置为恢复所述第一应用的所述状态;
响应于所接收的请求,将发起所述传输的许可发送至所述第二计算设备;
基于所发送的许可从所述第二计算设备接收所述第一应用的所述状态;以及
将成功传输的指示发送至所述第二计算设备,
其中所述第二计算设备被配置为基于所接收的指示从所述第二计算设备去除所述第一应用的所述状态。
12.根据权利要求11所述的系统,其中所述第二计算设备与所述第一计算设备的接近性是所述第二计算设备与所述第一计算设备的物理接近性或网络接近性中的至少一个。
13.根据权利要求11所述的系统,所述存在的检测基于所述第二计算设备与所述第一计算设备之间的第一网络连接,其中所述第一网络连接被配置用于短距离通信。
14.根据权利要求11所述的系统,其中所述处理器进一步被配置为:
基于检测到所述存在而提供指示所述第二计算设备的所述存在的第一通知以显示,其中所述第一通知被配置为接受第一命令以使得所述第二计算设备向所述第一计算设备发送发起所述传输的所述请求。
15.根据权利要求14所述的系统,其中所述第二计算设备被配置为提供指示发起所述传输的所述请求的第二通知以显示,并且其中所述第二通知被配置为接受第二命令以使得所述第一计算设备向所述第二计算设备发送发起所述传输的所述许可。
16.根据权利要求15所述的系统,其中发送至所述第二计算设备的所述许可是作为对所述第二计算设备上的第二通知的响应,所述第二通知指示发起将所述第一应用的所述状态从所述第二计算设备传输至所述第一计算设备的所述请求。
17.根据权利要求11所述的系统,其中所述第一应用是第一基于web的应用并且所述第二应用是第二基于web的应用,并且其中所述第一基于web的应用的状态包括所述第一基于web的应用的操作历史。
18.根据权利要求11所述的系统,其中所述第一应用是第一web浏览器并且所述第二应用是第二web浏览器,并且其中所述第一应用的所述状态对应于所述第一web浏览器中的web浏览会话。
19.根据权利要求11所述的系统,其中所述第一应用的所述状态以文档对象模型格式来表达。
CN201610882939.4A 2012-07-30 2013-05-07 将应用的状态从第一设备传输至第二设备的方法和系统 Active CN107066317B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/562,209 2012-07-30
US13/562,209 US8990343B2 (en) 2012-07-30 2012-07-30 Transferring a state of an application from a first computing device to a second computing device
CN201380050072.0A CN104662524B (zh) 2012-07-30 2013-05-07 将应用的状态从第一计算设备传输至第二计算设备的方法和系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380050072.0A Division CN104662524B (zh) 2012-07-30 2013-05-07 将应用的状态从第一计算设备传输至第二计算设备的方法和系统

Publications (2)

Publication Number Publication Date
CN107066317A true CN107066317A (zh) 2017-08-18
CN107066317B CN107066317B (zh) 2021-01-29

Family

ID=49996002

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380050072.0A Active CN104662524B (zh) 2012-07-30 2013-05-07 将应用的状态从第一计算设备传输至第二计算设备的方法和系统
CN201610882939.4A Active CN107066317B (zh) 2012-07-30 2013-05-07 将应用的状态从第一设备传输至第二设备的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201380050072.0A Active CN104662524B (zh) 2012-07-30 2013-05-07 将应用的状态从第一计算设备传输至第二计算设备的方法和系统

Country Status (8)

Country Link
US (2) US8990343B2 (zh)
EP (1) EP2880546A4 (zh)
JP (3) JP2015524974A (zh)
CN (2) CN104662524B (zh)
AU (3) AU2013297020A1 (zh)
CA (1) CA2880500C (zh)
IN (1) IN2015DN00884A (zh)
WO (1) WO2014021967A1 (zh)

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
EP3767463B1 (en) 2011-06-05 2024-02-21 Apple Inc. Systems and methods for displaying notifications received from multiple applications
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US8769624B2 (en) 2011-09-29 2014-07-01 Apple Inc. Access control utilizing indirect authentication
US9459781B2 (en) 2012-05-09 2016-10-04 Apple Inc. Context-specific user interfaces for displaying animated sequences
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
EP3809407A1 (en) 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10599742B2 (en) * 2013-08-06 2020-03-24 Adobe Inc. Sharing and consuming web content across multiple devices
US20150088957A1 (en) * 2013-09-25 2015-03-26 Sony Corporation System and methods for managing applications in multiple devices
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9292367B2 (en) * 2014-04-08 2016-03-22 Microsoft Corporation Efficient migration of client-side web state
US11343335B2 (en) 2014-05-29 2022-05-24 Apple Inc. Message processing by subscriber app prior to message forwarding
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
US9990129B2 (en) * 2014-05-30 2018-06-05 Apple Inc. Continuity of application across devices
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
AU2015279544B2 (en) 2014-06-27 2018-03-15 Apple Inc. Electronic device with rotatable input mechanism for navigating calendar application
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
EP3195098A2 (en) 2014-07-21 2017-07-26 Apple Inc. Remote user interface
US20160036923A1 (en) * 2014-08-03 2016-02-04 Microsoft Corporation Efficient Migration of Application State Information
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
US9571536B2 (en) * 2014-08-29 2017-02-14 Microsoft Technology Licensing, Llc Cross device task continuity
CN115695632A (zh) 2014-09-02 2023-02-03 苹果公司 电话用户界面
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
EP3256916B1 (en) 2015-02-12 2023-10-11 Glowforge Inc. Moving material during laser fabrication
US10509390B2 (en) 2015-02-12 2019-12-17 Glowforge Inc. Safety and reliability guarantees for laser fabrication
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10055121B2 (en) 2015-03-07 2018-08-21 Apple Inc. Activity based thresholds and feedbacks
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
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
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
WO2017004195A1 (en) * 2015-06-29 2017-01-05 Google Inc. Transmitting application data for on-device demos
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US20170054767A1 (en) * 2015-08-17 2017-02-23 Google Inc. Transferring application state between devices
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US11082499B2 (en) * 2015-10-19 2021-08-03 Citrix Systems, Inc. Browser server session transfer
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
WO2017117455A1 (en) * 2015-12-29 2017-07-06 Quixey, Inc. Message based application state and card sharing methods for user devices
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
CN106201597B (zh) * 2016-06-30 2019-11-12 宇龙计算机通信科技(深圳)有限公司 一种基于数据迁移进行应用管理的方法及终端
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10466891B2 (en) * 2016-09-12 2019-11-05 Apple Inc. Special lock mode user interface
WO2018098397A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Calibration of computer-numerically-controlled machine
WO2018098396A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Multi-user computer-numerically-controlled machine
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
CN111492673B (zh) * 2018-06-08 2022-02-11 西万拓私人有限公司 用于传输处理状态的方法和听力匹配应用系统
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
KR102436985B1 (ko) 2019-05-31 2022-08-29 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
JP6806351B1 (ja) * 2020-03-06 2021-01-06 株式会社C−Rise 情報処理方法、コンピュータプログラム及び情報処理装置
DE102020204864B4 (de) 2020-04-16 2021-12-23 Continental Teves Ag & Co. Ohg Elastischer transfer und adaption von mobil-client-gesteuerten prozessen in einer edge-cloud-computing-schicht
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11595871B2 (en) * 2020-05-13 2023-02-28 Verizon Patent And Licensing Inc. Systems and methods for securely sharing context between MEC clusters
US11921592B2 (en) * 2020-07-20 2024-03-05 Google Llc Restoration of a computing session
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11489959B2 (en) 2020-12-31 2022-11-01 Dell Products L.P. Multi-device control transfer using Bluetooth LE ranging
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US20220368548A1 (en) 2021-05-15 2022-11-17 Apple Inc. Shared-content session user interfaces
US11650845B2 (en) 2021-05-18 2023-05-16 International Business Machines Corporation Computation sharing among devices using device OS clustering
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
US11599235B1 (en) * 2021-09-21 2023-03-07 Salesforce, Inc. Mobile-generated desktop reminders

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249730A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd アプリケーション実行制御プログラム
CN101667912A (zh) * 2009-10-14 2010-03-10 中国电信股份有限公司 一种网络信息传输方法和系统
CN102422268A (zh) * 2009-03-16 2012-04-18 苹果公司 用于支持多设备协作的框架
US8171137B1 (en) * 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802001B1 (en) * 2002-10-18 2010-09-21 Astute Networks, Inc. System and method for flow control within a stateful protocol processing system
US6886169B2 (en) 2002-11-19 2005-04-26 Nexaweb Technologies, Inc. System and method for stateful web-based computing
DE602004030534D1 (de) * 2003-01-28 2011-01-27 Cellport Systems Inc Ein System und ein Verfahren zum Steuern des Zugriffs von Anwendungen auf geschützte Mittel innerhalb eines sicheren Fahrzeugtelematiksystems
EP1708423A1 (en) * 2005-03-29 2006-10-04 Matsushita Electric Industrial Co., Ltd. Inter-domain context transfer using context tranfer managers
US9864628B2 (en) 2005-08-23 2018-01-09 Blackberry Limited Method and system for transferring an application state from a first electronic device to a second electronic device
JP4892985B2 (ja) * 2006-01-19 2012-03-07 株式会社日立製作所 送信機器およびデータ送受信システム
US8166176B2 (en) 2006-05-31 2012-04-24 Alcatel Lucent Context-aware migration of communication session
US20080126511A1 (en) 2006-07-26 2008-05-29 Appaji Anuradha K Method for Handing Off Applications for WebOS-Enabled User Devices
JP4567031B2 (ja) * 2006-07-26 2010-10-20 三星電子株式会社 WebOS−基盤ユーザ装置のためのアプリケーションをハンドオフする方法
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置
KR100911298B1 (ko) 2007-09-10 2009-08-11 에스케이 텔레콤주식회사 어플리케이션 제어 시스템 및 방법과 이를 위한 이동통신단말기
JP5194673B2 (ja) * 2007-09-26 2013-05-08 株式会社日立製作所 携帯端末、及び情報の送受信方法
US8463921B2 (en) 2008-01-17 2013-06-11 Scipioo Holding B.V. Method and system for controlling a computer application program
US7526559B1 (en) 2008-03-31 2009-04-28 International Business Machines Corporation Transfer of web applications between devices
WO2010055720A1 (ja) * 2008-11-17 2010-05-20 株式会社ソニー・コンピュータエンタテインメント 無線通信端末、その制御方法、及び情報記憶媒体
US8326221B2 (en) 2009-02-09 2012-12-04 Apple Inc. Portable electronic device with proximity-based content synchronization
US8412185B2 (en) 2009-09-14 2013-04-02 Nokia Corporation Method and apparatus for switching devices using near field communication
US8843616B2 (en) 2010-09-10 2014-09-23 Intel Corporation Personal cloud computing with session migration
US8812601B2 (en) * 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249730A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd アプリケーション実行制御プログラム
CN102422268A (zh) * 2009-03-16 2012-04-18 苹果公司 用于支持多设备协作的框架
CN101667912A (zh) * 2009-10-14 2010-03-10 中国电信股份有限公司 一种网络信息传输方法和系统
US8171137B1 (en) * 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices

Also Published As

Publication number Publication date
AU2016201115A1 (en) 2016-03-10
US20150172382A1 (en) 2015-06-18
CN104662524A (zh) 2015-05-27
AU2017225159A1 (en) 2017-10-05
AU2017225159B2 (en) 2019-03-14
EP2880546A1 (en) 2015-06-10
CA2880500A1 (en) 2014-02-06
CN107066317B (zh) 2021-01-29
CN104662524B (zh) 2016-11-02
JP6309575B2 (ja) 2018-04-11
JP2015524974A (ja) 2015-08-27
US9692821B2 (en) 2017-06-27
AU2016201115B2 (en) 2017-06-15
CA2880500C (en) 2018-10-02
IN2015DN00884A (zh) 2015-06-12
JP2016207223A (ja) 2016-12-08
WO2014021967A1 (en) 2014-02-06
AU2013297020A1 (en) 2015-02-19
US8990343B2 (en) 2015-03-24
US20140032706A1 (en) 2014-01-30
EP2880546A4 (en) 2016-03-16
JP2018101446A (ja) 2018-06-28

Similar Documents

Publication Publication Date Title
CN107066317A (zh) 将应用的状态从第一设备传输至第二设备的方法和系统
CN104246659B (zh) 可实例化的手势对象
CN103412644B (zh) 附属设备架构
CN107924393A (zh) 用于语言理解的分布式服务器系统
CN105874725A (zh) 经由云服务器的设备配对
CN105453097B (zh) 受约束驱动程序平台在用户模式下在沙箱中运行驱动程序
CN106412622A (zh) 在播放视频内容时显示弹幕信息的方法和装置
CN106104445A (zh) 可扩展应用表示和任务栏
CN102187314A (zh) 可视地建模、调试和执行面向资源的程序的交互式设计环境
CN107660334A (zh) 跨应用内容播放器
CN106599857A (zh) 图像识别方法、装置、计算机可读存储介质及终端设备
CN107004184A (zh) 通过联网凭证的文档协作
CN106020622A (zh) 用于收藏表情符号的方法和装置
CN109766196A (zh) 一种任务调度方法、装置及设备
CN108351766A (zh) 从移动设备创建和修改应用
CN107408237A (zh) 基于会议角色来引导会议加入者
Eryilmaz et al. Using leap motion to investigate the emergence of structure in speech and language
CN105829998B (zh) 将装置绑定到计算设备
Sangiorgi et al. GAMBIT: Addressing multi-platform collaborative sketching with html5
CN105531661A (zh) 全屏内容查看界面进入
CN108351888A (zh) 生成可推迟数据流
CN107533697A (zh) 经由内容通道插入未保存内容
CN104220959B (zh) 提取网页的流行信息
Awad et al. Web design: Optimizing model for designing E-learning web site
Kabza et al. Designing constructing and operating data in common environment

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant