应用上下文在设备之间的零点击共享的制作方法

文档序号:7990481阅读:233来源:国知局
应用上下文在设备之间的零点击共享的制作方法
【专利摘要】当第一客户端设备位于第二客户端设备的预定接近程度内时,第一客户端设备通过向第二客户端设备发送与第一应用相关联的应用信息来执行到第二客户端设备的切换操作。当执行切换操作时,第一应用具有第一客户端设备用户接口状态。响应于接收到来自第一客户端设备或系统的应用信息,第二客户端设备或系统以与第一客户端设备用户接口状态相对应的初始用户接口状态执行与第一应用相对应的第二应用。
【专利说明】应用上下文在设备之间的零点击共享
【技术领域】
[0001]所公开的实施方式总体上涉及无线通信,更具体地涉及通过无线通信连接在两个设备之间转移对一个或更多个应用的使用。
【背景技术】
[0002]具有多个设备如一个或更多个智能电话、平板电脑、笔记本电脑等的用户可能想要从使用一个设备切换到使用另一设备,同时继续使用或访问相同的应用或内容。例如,为了使用最适合给定任务的设备,用户可能想要从一个设备转移到另一设备。例如,易于从智能电话中阅读电子邮件,但由于电话键盘的尺寸限制而难以回复邮件。用户可以在电话上开始消息的草稿,但更喜欢使用具有较大键盘的平板电脑来完成草稿。在另一示例中,用户使用平板电脑或智能电话开始视频的播放,但会更喜欢在具有较大屏幕的设备如电视机或笔记本电脑上继续观看视频。在又一示例中,用户可能使用固定电话开始电话呼叫,但想要使用利用蜂窝连接的移动电话来继续电话呼叫,或者用户可能使用利用蜂窝连接的移动电话开始电话呼叫,但想要使用固定电话来继续电话呼叫。

【发明内容】

[0003]在一些实施方式中,包括第二客户端设备或系统以及在相应用户的控制下的第一客户端设备或系统的分布式系统执行如下方法:该方法包括第一客户端设备或系统执行第一应用。该方法还包括第一客户端或系统执行切换操作,该切换操作包括当第一客户端设备或系统位于第二客户端设备或系统的预定接近程度内时,向第二设备或系统发送与第一应用相关联的应用信息。当执行切换操作时,第一应用具有第一客户端设备用户接口状态。响应于接收到来自第一客户端设备或系统的应用信息,第二客户端设备或系统以与第一客户端设备用户接口状态相对应的初始用户接口状态执行与第一应用相对应的第二应用。
[0004]在一些实施方式中,包括第二客户端设备或系统以及在相应用户的控制下的第一客户端设备或系统的分布式系统执行如下方法:该方法包括第一客户端设备或系统执行第一应用。该方法还包括第一客户端或系统执行切换操作,该切换操作包括当第一客户端设备或系统位于第二客户端设备或系统的预定接近程度内时,向第二设备或系统发送与第一应用相关联的应用信息。当执行切换操作时,第一应用具有第一客户端设备用户接口状态。此外,第一客户端设备或系统从另一客户端设备或系统接收与第三应用相关联的应用信息,作为响应,以与该另一客户端设备或系统的用户接口状态相对应的初始用户接口状态执行与第三应用相对应的第二应用。
[0005]在一些实施方式中,非暂态计算机可读存储介质存储由客户端设备或系统的一个或更多个处理器执行的一个或更多个程序,该一个或更多个程序包括指令,在由一个或更多个处理器执行该指令时,使得客户端设备或系统执行上述方法。
[0006]此外,在一些实施方式中,多个客户端设备存储相同的一个或更多个程序或操作上等同的程序,并且被配置成在相应的切换操作中发送应用信息或接收应用信息。【专利附图】

【附图说明】
[0007]为了更好地理解所公开的实施方式,应当结合以下附图参照下面的【具体实施方式】,在附图中,贯穿所有的图,相似的附图标记指代相应的部分。
[0008]图1是根据一个实施方式的用于使得能够在设备之间转移应用状态的系统的框图。
[0009]图2是示出根据一些实施方式的客户端设备或系统的框图。
[0010]图3A至图3C包括示出根据一些实施方式的用于将相应应用的应用状态发送至另一客户端设备或系统的客户端设备或系统的操作的方法的流程图。
[0011]图4A至图4C包括示出根据一些实施方式的便于将用户对应用的使用从第一客户端设备或系统转换到第二设备或系统的方法的流程图。
[0012]图5A至图5C包括示出根据一些实施方式的将多个正在运行的应用的应用状态从第一客户端设备或系统发送至第二客户端设备或系统的方法的流程图。
[0013]图6包括示出根据一些实施方式的将正在运行的应用的应用状态从第一客户端设备或系统发送至第二客户端设备或系统的方法的流程图。
【具体实施方式】
[0014]应当理解,尽管术语“第一”、“第二”等在本文中可以用于描述各种元件,但这些元件不应当受到这些术语的限制。这些术语仅用于区分一个元件与另一元件。例如,第一应用可以被称为第二应用,并且类似地,第二应用可以被称为第一应用,而不改变描述的意思,只要所有出现的“第一应用”一致地被重新命名并且所有出现的第二应用一致地被重新命名即可。第一应用和第二应用均是应用,但他们不是同一应用。
[0015]本文中所使用的术语仅出于描述特定实施方式的目的,而并不意在限制权利要求。如实施方式和所附权利要求的描述中所使用的,除非上下文另外明确指出,单数形式“一个(a)”、“一个(an)”和“该(the)”意在也包括复数形式。还应当理解,本文中所使用的术语“和/或”指代并且包括相关联的所列出的项目中的一个或更多个项目的任意以及所有可能组合。还应当理解,术语“包括(comprises)”和/或“包括(comprising)”在说明书中使用时指明所陈述的特征、整体、步骤、操作、元件和/或部件的存在,但并不排除一个或更多个其他特征、整体、步骤、操作、元件、部件和/或其组的存在或添加。
[0016]如本文中所使用的,根据上下文,术语“如果(if)”可以被理解为表示“当(when)”或“在…时(upon)”或“响应于确定”或“根据确定”或“响应于检测到”所陈述的先决条件为真。类似地,根据上下文,短语“如果确定[所陈述的先决条件为真]”或“如果[所陈述的先决条件为真]”或“当[所陈述的先决条件为真]”可以被理解为表示“当确定”或“响应于确定”或“根据确定”或“当检测到”或“响应于检测到”所陈述的先决条件为真。
[0017]现将详细参照各种实施方式,附图中示出了这些实施方式的示例。在下面的详细描述中,为了提供对所描述的实施方式的透彻理解,阐述了大量具体的细节。然而,一些实施方式可以在不具有这些具体细节的情况下来实施。在其他情况下,未对已知的方法、过程、部件和电路进行详细描述,以避免不必要地模糊实施方式的方面。
[0018]图1是示出具有两个或更多个客户端设备或系统102 (下文中称为客户端102)的分布式系统100的框图。分布式系统100通常还包括一个或更多个通信网络120以及多个应用服务器或服务器系统,如一个或更多个消息服务器130以及一个或更多个多媒体服务器 140。
[0019]在一些实施方式中,客户端102-1和102-2中的每个具有用于处理近场通信(NFC)的NFC模块104、用于处理网络通信的网络模块106、下面将更详细地讨论的应用转移模块108以及一个或更多个应用程序110、112、114。NFC模块104-1和104-2使得能够在具有NFC功能的设备之间进行NFC通信。在一些实施方式中,客户端102上的应用包括一个或更多个消息应用110、一个或更多个多媒体应用112以及可选地还有其他应用114。如下面更详细地描述的,在一些实现中,当用户使两个客户端102具有较近的接近程度(例如,在彼此的NFC通信距离内,这通常表示彼此IOcm内,但可选地表示5cm或4cm内)时,客户端之一(例如,客户端102-1)上的一个或更多个应用(例如,活动应用或前台应用)的应用状态被转移至另一客户端(例如,客户端102-2)。
[0020]消息服务器130包括一个或更多个消息服务器应用131、存储由服务器130支持的消息服务的多个用户的消息账户信息135的消息数据库133以及可选地还有其他数据库137。例如,消息服务器130可以是Gmail服务器、不同于Gmail服务器的电子邮件服务器、或即时消息服务器。多媒体服务器140包括一个或更多个多媒体服务器应用141、包括多媒体账户信息145的一个或更多个多媒体数据库143、以及可选地还有其他数据库147。多媒体服务器140的示例包括YouTube服务器、在线电台服务器和社交游戏服务器。
[0021]在一些实现中,在其移动蜂窝电话(客户端102-1)上使用客户端消息应用110-1(例如,Gmail)阅读电子邮件消息的用户可能替代地想要在附近的具有较大的键盘和较大的显示屏的台式计算机(客户102-2)上回复该消息。为此,用户使其移动蜂窝电话102-1与计算机102-2具有较近的接近程度。两个客户端102均具有NFC模块104。客户端102-1中的NFC模块104-1检测计算机104-2的存在,并且在移动电话102-1与计算机102-2之间建立NFC通信连接。在该示例中包括用户的账户标识符(例如,用户名@域名.com)和消息标识符的消息应用110-1的当前状态被通过NFC连接发送至计算机102-2。可选地,客户端102-1中的消息应用110-1也通过通信网络120与消息服务器130通信,以确保服务器130具有关于客户端102-1当前所显示的消息的最新状态。计算机102-2接收来自电话102-1的消息应用102-1的当前状态,作为响应,计算机102-2中的消息应用110-2经由通信网络120从消息服务器130中下载电子邮件消息的副本。从用户的观点来看,他一坐在计算机102-2的显示器前面,他在电话102-1上阅读的相同的电子邮件消息现在就显示在计算机102-2的显示屏上,并且他可以开始使用计算机102-2的键盘来键入他的回复。
[0022]图2是示出根据一些实施方式的客户端设备或系统(客户端)102的框图。客户端102通常包括一个或更多个处理器202 (也称作处理单元或CPU)、存储器204、近场通信(NFC)收发器(发送器和接收器)206、一个或更多个网络或其他通信接口 208、用户接口 205(通常包括包括显示设备和键盘、鼠标、触摸垫、触摸屏或其他输入设备)、以及用于互连这些部件的一个或更多个通信总线209。通信总线209可选地包括互连并且控制系统部件之间的通信的电路(有时也称为芯片组)。存储器204通常包括高速随机存取存储器如DRAM、SRAM,DDR RAM或其他随机存取固态存储设备;以及可选地包括非易失性存储器如一个或更多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器204可选地包括位于远离CPU202的一个或更多存储设备。存储器204或者存储器203内的非易失性存储设备包括非暂态计算机可读存储介质。在一些实施方式中,存储器204或者非暂态计算机可读存储介质存储由一个或更多个处理器202来执行的以下程序和/或模块以及数据结构、或者其子集:
[0023]?操作系统210,其包括用于处理各种基本系统服务的过程以及用于执行依赖于硬件的任务的过程;
[0024]?网络通信模块(或指令)106,其用于经由一个或更多个网络接口 208 (有线或无线)以及一个或更多个通信网络120 (图1)如因特网、其他广域网、局域网、城域网等,将客户端102连接至其他计算机(例如,消息服务器130或多媒体服务器140);
[0025]?近场通信模块104,其用于使用近场通信,经由NFC收发器206将客户端102连接至其他客户端、设备或系统;
[0026]?应用注册模块212,其保存一个或更多个应用的应用注册信息214,该一个或更多个应用被注册用于与其他客户端设备或系统信息共享其应用状态;例如,应用注册信息214可以包括消息应用110的信息,消息应用110被注册以当检测到触发条件时与另一设备(例如,客户端102-2)共享其应用状态;
[0027]?应用转移模块108,其用于当检测到触发条件时将一个或更多个应用(例如,使用应用注册模块212注册以共享应用状态的应用)的应用状态转移至另一设备(例如,客户端102-2);以及
[0028]?一个或更多个应用110、112、114如消息应用1120、浏览器或多媒体应用112、以及可选地一个或更多个其他应用114。
[0029]在一些实现中,近场通信模块104包括NFC检测模块220和NFC通信模块222。NFC检测模块220检测预定接近程度内的另一具有NFC功能的设备或系统的存在,并且当检测到预定接近程度内的另一具有NFC功能的设备或系统的存在时通知客户端102。预定接近程度通常是在两个设备之间成功地建立NFC通信通道(也称为NFC连接)或成功地进行NFC通信所需要的接近程度。然而,环境条件可以影响形成NFC连接的能力,预定接近程度通常不大于10cm,并且在一些实现中需要两个设备彼此在5cm或4cm内。NFC通信模块222经由NFC收发器206处理客户端102与其他设备之间的通信,如一个或更多个应用的应用状态或应用状态信息的发送或接收。
[0030]在一些实现中,对于每个注册的应用,应用注册信息214包括下列中的一个或更多个:应用程序标识符、多用途因特网邮件扩展(mime)类型以及使得应用转移应用能够获得注册的应用的应用状态的信息(例如,过程名、对API的参考等)。可选地,应用注册信息214由客户端102保存为可搜索的数据库、表或列表。
[0031]在一些实现中,相应应用程序在执行期间存储其自己的应用状态信息,从而应用状态时常被更新。依赖于正在运行的应用的类型,一个应用与另一应用的应用状态的信息类型和大小(例如,存储应用状态所需要的存储器的量)将会不同,并且可以被本地存储(例如,存储在客户端102上)或被远程存储如存储在远程定位的服务器上。
[0032]在一些实施方式中,消息应用110本地存储消息应用状态信息224以及用户标识符或账户名226。用户标识符或账户名226指示其消息或其他信息正在被消息应用110显示的用户或账户。依赖于消息应用110的当前应用上下文,消息应用状态信息224包括下列中的至少之一:由用户当前查看或处理的消息的标识符以及消息的格式、标识由客户端102当前显示的消息列表的信息、标识由客户端102当前显示的会话列表(有时称为消息线索)的信息、标识其联系信息由客户端当前显示的联系的信息等。消息应用状态信息248可以被本地保存在客户端102处或被远程保存在消息服务器上。
[0033]在一些实施方式中,浏览器或多媒体应用112本地存储浏览器应用状态信息228。在一些实现中,浏览器应用状态信息228是或者包括当前被查看的文档的URL,并且被本地保存在客户端102处。可选地,浏览器应用状态信息228是或者包括另外的信息,如下列中的一个或更多个:文档位置、播放位置、用户输入的内容或对所显示的文件的修改等。
[0034]可选地,其他应用114如果被提供则依赖于应用的类型存储各种类型的应用状态信息230。
[0035]上述模块、应用或程序中的每个对应于可由客户端102的一个或更多个处理器执行的指令集,用于执行上述功能。上述模块、应用或程序(即,指令集)不需要被实现为单独的软件程序、过程或模块,从而这些模块的各种子集在各种实施方式中可以被组合或以其他方式被重新布置。在一些实施方式中,可选地,存储器203存储上述模块的子集以及数据结构。此外,存储器203可以存储上面未描述的另外的模块和数据结构。
[0036]图3A至图3C包括示出根据一些实施方式的客户端设备或系统(为了便于引用,下文中称为客户端)的操作的方法300的流程图。方法300由第一客户端如上面参照图1和图2描述的客户端102-1来执行。指示相应应用被注册用于与其他设备共享应用状态(例如,消息应用状态224或浏览器应用状态228)的相应应用(例如,消息应用110、浏览器/多媒体应用112)的注册信息(例如,214,图2)被保留在存储器中(302)。将相应应用的应用状态存储在客户端102的存储器中或存储在位于远离客户端处的服务器的存储器中(304)。在相应应用的执行期间,应用状态根据需要被动态地更新和存储在存储器中。
[0037]检测转移触发条件(306),该转移触发条件用于将相应应用的应用状态转移至另一设备客户端(例如,从第一客户端102-1转移至第二客户端102-2,图1)。触发条件是在第一客户端102-1的预定接近程度内存在另一设备(例如,第二客户端102-2) (308)。这在本文中有时称为“零点击”共享的“零点击”触发条件。如上面所指出的,预定接近程度通常是在两个设备之间成功地建立NFC通信通道(也称为NFC连接)或成功地进行NFC通信所需要的接近程度。在各种实现中,预定接近程度不大于10厘米、5厘米或4厘米。在一些实现中,除了检测另一设备的NFC场之外,必须检测“撞击(bump)”(例如,使用客户端102-1中的一个或更多个加速度计),包括两个客户端设备已经物理接触。在一些实现中,用户除了使两个设备达到预定接近程度内之外不需要采取任何动作,因此,这有时被称为“零点击”共享。
[0038]在一些实现中,触发条件还包括在第一客户端102-1与第二客户端102-2之间成功地建立近场通信连接(310)。可选地,第一客户端102-1会需要发送用户认证信息以与第二客户端102-2成功地建立近场通信连接。
[0039]当检测到触发条件时,客户端102-1根据存储的注册信息(214,图2)来确定相应应用(例如,在客户端102-1的前台中运行的应用)被注册用于应用状态共享(312),并且向第二客户端102-2发送相应应用的应用状态(314)。为了便于说明方法300,应当假定仅应用状态待被发送至另一设备的应用(如果存在的话)是前台应用,其中前台应用是在第一客户端102-1的最顶层或前台应用窗口中正在运行的应用。然而,在一些实现中,如下面参照图5A至图5C更详细地描述的,多于一个应用的应用状态被第一客户端102-1发送至第二客户端102-2。
[0040]可选地,当发送完成时,向相应应用(在客户端102处)通知应用状态已经被发送至客户端102-2 (316)。在一些实施方式中,可选地,客户端102-1可以响应于该通知(例如,在应用状态的发送结束时)改变相应应用的应用状态(318)。例如,在相应应用为浏览器应用的情况下,浏览器应用可以在接收到应用状态已经被发送的通知之后终止。在相应应用为电子邮件应用的另一示例中,在接收到应用状态已经被发送到另一客户端的通知之后,草稿消息或正在被重新查看的消息被关闭,这是因为假定用户将在客户端102-2处重新使用电子邮件应用。在相应应用是多媒体播放器的又一示例中,在多媒体播放器状态被发送并且其通知被提供至多媒体播放器之后,通过第一客户端102-1进行的视频/音频的播放被停止。
[0041]在一些实现中,相应应用是在客户端102-1的前台应用窗口中正在执行的前台应用(322,图3B ;332,图3C)。通常在客户端设备如移动电话或平板电脑中,仅存在一个前台应用。在一些实现中,相应应用的应用状态包括下列中的至少之一:一个或更多个未发送消息草稿、正在进行的电话呼叫的状态信息、视频内容的播放位置、音频内容的播放位置、消息账户标识符、未发送消息草稿的消息标识符、当前查看的消息的消息标识符、与相应应用相关联的mime类型(324)。播放位置通常是时间戳和/或帧编号。消息标识符可以是未发送消息草稿的消息标识符或在客户端102-1处的前台中当前正在查看的消息的消息标识符。在一些实现中,请求来自相应应用的应用状态的副本(334)(例如,应用转移模块108请求来自相应应用的应用状态,然后将该应用状态转移至第二客户端102-2 )。
[0042]可选地,当相应应用的应用状态被远程存储(例如,对于在线应用)时,从相应的服务器请求来自相应应用的应用状态的副本,并且该副本被下载至第一客户端102-1,然后被转移至第二客户端102-1。或者,当相应应用的应用状态被远程存储(例如,对于在线应用)时,由第二客户端102-2从相应的服务器请求相应应用的应用状态的副本,并且该副本被直接下载至第二客户端102-2。
[0043]在一些实施方式中,使用近场通信向第二客户端102-2发送应用状态的至少一部分(336 )。此外,在一些实现中,使用不同于近场通信的无线通信如蓝牙通信或WiFi通信来发送应用状态的至少另一部分(338)。在发送应用状态将超过时间阈值量(例如,0.5秒)的示例实现中,由NFC转移应用状态的一部分,并且使用另一无线通信通道转移剩余部分。在又一其他实现中,使用第一客户端设备或系统与第二设备或系统之间的近场通信连接来整体地发送应用状态(340)。
[0044]方法300通常由指令支配,这些指令被存储在相应客户端102-1中的非暂态计算机可读存储介质中并且由相应客户端设备或系统102的一个或更多个处理器来执行。图3A至图3C所示的操作中的每个操作通常对应于计算机可读指令,这些计算机可读指令被存储在相应客户端102-1中的计算机存储器或非暂态计算机可读存储介质中并且由相应客户端102-1的一个或更多个处理器来执行。非暂态计算机可读存储介质包括如上面关于图2描述的客户端102-1的一个或更多个存储器设备。存储在客户端102-1的非暂态计算机可读存储介质上的计算机可读指令通常是源代码、汇编语言代码或目标代码。[0045]另外,应当指出,本文中关于方法400、500和600 (例如,分别对应图4A至图4C、图5A至图5C以及图6)描述的其他处理的细节也以类似的方式可应用于上面关于图3A至图3C描述的方法300。例如,触发条件和所转移的状态信息可以具有本文中参照方法400、500和600描述的各种方法的特征中的一个或更多个。为了简洁,在此不再重复这些细节。
[0046]现在关注如图4A至图4C中的流程图所示的由用户将应用的使用从一个客户端设备(例如,第一客户端102-1)转换到另一设备(例如,第二客户端102-2)的方法400。在处于相应用户的控制下的第一客户端102-1处,可选地,将被注册以与其他设备或系统共享应用信息的应用的注册信息保留在第一客户端102-1的存储器中(402)。参见图2应用注册信息214。第一应用正在运行在第一客户端102-1上(404)。如上所述,正在运行的应用的应用状态通常由第一客户端102-1存储。
[0047]当第一应用正在运行时,客户端102-1执行切换操作(406)。在一些实施方式中,切换操作由应用转移模块108执行或受应用转移模块108的控制。当客户端102-1检测到其位于第二设备的预定接近程度内时,切换操作开始(414)。换句话说,当客户端102-1检测到第二客户端的接近时,切换操作开始。在一些实现中,由NFC检测模块220 (图2)检测这种接近。如上所述,当第二客户端距第一客户端102-110cm、5cm或4cm以内时,通常检测到第二客户端的接近(416)。
[0048]在一些实现中,作为切换操作(406)的一部分,客户端102-1向正在运行的应用(第一应用)请求其当前应用状态的副本(418)。或者,应用转移模块108直接访问正在运行的应用的状态信息。客户端102-1向客户端102-2发送与第一应用相关联的应用信息(例如,前面所提到的状态信息)(420)。
[0049]在第二客户端102-2处,可选地,保留被注册以与其他设备或系统共享应用信息的应用的注册信息(412)。当两个设备在预定接近程度内时,第二客户端102-2也检测第一客户端1021的接近(422)。作为上述切换操作的一部分,第二客户端102-2接收来自第一客户端102-1的应用信息(424)。响应于接收到来自第一客户端102-1的应用信息,第二客户端102-2以与第一客户端设备用户接口状态相对应的初始用户接口状态来执行与第一应用相对应的第二应用(426)。在一些实施方式中,第二客户端102-2处于控制第一客户端102-1的相同用户的控制之下。然而,除非另外说明,否则无论第一客户端和第二客户端是否处于相同的用户的控制之下,切换操作406都被执行。
[0050]在一些实施方式中,当第二设备或系统被第一设备或系统物理接触时,切换操作发生。例如,加速度计可以用于一个或两个设备中以检测接触/撞击,这用于确保切换响应于有意的动作,从而避免意外切换。
[0051]现参照图4B,如上面所指出的,第二客户端102-2接收来自第一客户端102_1的应用状态信息(424)。所接收的应用状态信息的示例包括第一应用的mime类型和/或第一应用的内容。在一些实施方式中,客户端102-2存储所接收的应用状态信息并且将所接收的状态信息传递至第二应用(430)。在客户端102-2上不存在对应于mime类型的第二应用的一些实施方式中,提示控制第二客户端102-2的用户下载与第一应用相对应的第二应用(432)。此外,第二客户端102-2响应于用户指令来下载相应的第二应用(例如,经由通信网络120从主服务器下载)(434)。第二客户端102-2以与第一客户端设备用户接口状态相对应的初始用户接口状态执行与第一应用相对应的第二应用(426)。例如,第二应用是能够处理与第一应用相同的类型(例如,mime类型)的内容的应用。
[0052]在一些实施方式中,如果与第一应用相对应的第二应用还未被作为第二客户端102-2中的前台应用来执行,则响应于接收到来自第一客户端102-1的应用信息,第二客户端102-2将与第一应用相对应的第二应用作为前台应用来执行(440)。在其中当执行切换操作时第二应用没有正在运行的一些实施方式中,第二客户端102-2在预定时间段内自动开始执行第二应用(442)。例如,预定时间段为0.5秒,使得第二应用的开始对用户来说是不明显的。
[0053]在一些实现中,第一应用和第二应用是相同应用类型的两个不同应用的实例(450)。在其他实现中,第一应用和第二应用是相同应用的两个实例(452)。在又一些其他实现中,第一应用和第二应用是均处理相同的一个或多个内容类型(例如,一个或多个mime类型)的应用,但可选地是不同类型的应用(例如,阅读器/播放器与编辑器)。
[0054]在一个示例中,第一应用和第二应用均是电子邮件应用(例如,两个不同的电子邮件应用、或相同的电子邮件应用的两个实例)(454)。注意,当两个应用均是电子邮件应用时,通常要求两个客户端102处于同一用户或实体的控制之下,以保护可能包含在该用户或实体的电子邮件账户中的保密信息。
[0055]在另一不例中,第一应用和第二应用均是多媒体播放器(456)。在又一不例中,第一应用和第二应用是用于音频通信或音频/视频通信的通信应用(458)。
[0056]在第一应用和第二应用均是电子邮件应用的情况的一些实施方式中,第一客户端设备用户接口状态包括特定消息或会话线索的显示,与第一客户端设备用户接口状态相对应的初始用户接口状态包括所述特定消息或会话线索的显示。在另一示例中,第一客户端设备用户接口状态包括未发送草稿消息的显示,与第一客户端设备用户接口状态相对应的初始用户接口状态包括所述未发送草稿消息的显示。在又一示例中,第一客户端设备用户接口状态包括与用户指定的搜索查询相对应的第一会话列表的显示,与第一客户端设备用户接口状态相对应的初始用户接口状态包括与所述用户指定的搜索查询相对应的第二会话列表的显不。在一些实现中,第一列表和第二列表相同,或者,当客户端设备中的一个的显不器比另一个客户端设备小时,一个列表短于另一列表。
[0057]在第一应用和第二应用均是多媒体应用的情况的一些实施方式中,第一客户端设备用户接口状态包括第一多媒体项目在第一播放位置处的播放,与第一客户端设备用户接口状态相对应的初始用户接口状态包括第一多媒体项目在与第一播放位置相对应的第二播放位置处的播放。在一些实施方式中,第二播放位置相对于第一播放位置具有预定的偏移。例如,为了确保切换不导致用户错过任何内容,第二客户端设备处的初始用户接口状态在播放中可以比第一客户端设备用户接口状态早预定的偏移(例如,早0.5秒至3.0秒)。
[0058]在一些实施方式中,对于第一应用和第二应用均是用于音频通信或音频/视频通信的通信应用的情况,当执行切换操作时,第二客户端的初始用户接口状态对应于第二客户端到与第一客户端的通信连接相同的目标的通信连接。
[0059]在一些实施方式中,作为应用状态的一部分被发送的应用内容选自由以下内容构成的组:URL、相应地址簿条目的联系信息、标识所显示的地图的信息、标识所显示的地图以及用于在两个位置之间行进的方向的集合的信息。例如,响应于接收到来自第一客户端102-1的应用状态,第二客户端102-2使用包括在所接收的应用状态中的mime类型来确定第二客户端是否具有与第一应用相对应的第二应用。如果确定第二客户端不具有带有匹配的mime类型的第二应用,则第二客户端102-2显示下载与mime类型相对应的相应第二应用的提示,响应于用户指令下载相应第二应用,并且执行第二应用。
[0060]参照图4C,第一客户端102-1不仅可以将相应应用的应用信息(在本文中有时称为状态信息)切换至另一客户端(例如,客户端102-2)(如由操作406表示的),而且也可以在切换操作期间接收来自另一客户端的应用信息(470 )。例如,在上述切换操作406之后的某时间之后,用户可能想要将同一应用或另一应用的状态转移回第一客户端102-1。通常,第一应用102-1在接收到切换操作时可能不具有正在运行的应用或不具有在前台中运行的应用。然而,在其他实现中,可以使用各种其他机制来确定第一客户端102-1是否应当接受来自另一客户端的应用信息。
[0061]通常响应于检测到触发操作来执行第二切换操作,第二切换操作类似上面所描述的切换操作。触发条件如上所述,因此在此不重复描述。在该第二切换操作中,第一客户端102-1从另一客户端设备或系统接收第三应用的应用信息(例如,状态信息)(472)。例如,所接收的应用信息包括mime类型和应用内容和/或状态信息。上面已经描述了这种信息,因而在此不再重复。通常,所接收的应用信息由第一客户端102-1存储并且被传递至与第三应用相对应的相应应用(例如,第四应用)(474)。在一些实现中,根据所接收的应用信息中指定的mime类型来确定待使用的相应应用。由第一客户端设备以与从其接收应用信息的其他客户端设备或系统处的用户接口相对应的初始用户接口来执行与第三应用相对应的相应应用(例如,第四应用)(476)。
[0062]方法400通常由指令支配,这些指令被存储在相应客户端102-1中的非暂态计算机可读存储介质中并且由相应客户端设备或系统102的一个或更多个处理器来执行。图4A至图4C中所示的操作中的每个操作通常对应于计算机可读指令,这些计算机可读指令被存储在相应客户端102-1中的计算机存储器或非暂态计算机可读存储介质中并且由相应客户端102-1的一个或更多个处理器来执行。非暂态计算机可读存储介质包括如上面关于图2描述的客户端102-1的一个或更多个存储器设备。存储在客户端102-1的非暂态计算机可读存储介质上的计算机可读指令通常是源代码、汇编语言代码或目标代码。
[0063]另外,应当指出,本文中关于方法300、500和600(例如,分别对应图3A至图3C、图5A至图5C以及图6)所描述的其他处理的细节也以类似的方式可应用于上面关于图4A至图4C描述的方法400。例如,触发条件和所转移的状态信息可以具有本文中参照方法300、500和600描述的各种方法的特征中的一个或更多个。为了简洁,在此不再重复这些细节。
[0064]图5A至图5C包括示出根据一些实施方式的客户端设备或系统(为了便于引用,在下文中称为客户端)的操作的方法500的流程图。方法500由客户端设备或系统如上面参照图1和图2描述的第一客户端102-1来执行。第一客户端102-1执行具有一个或多个检查点的多个正在运行的应用,每个检查点标识执行断点,在该执行断点处相应应用可以被暂停以及随后被重新开始(502)。将对应于相应应用的检查点的多个正在运行的应用中的每个相应应用的相应应用的应用状态动态地存储在客户端的存储器中或存储在远离客户端的位置处的服务器的存储器中(504)。检测用于将正在运行的应用的应用状态转移至另一设备客户端(例如,从第一客户端102-1转移至第二客户端102-2,图1)的转移触发条件(506)。可选地,客户端102可选地等待多个正在运行的应用进入他们各自的检查点并且暂停多个正在运行的应用的执行(508、511)。或者,在一些实现中,当检测到触发条件时,当相应的正在运行的应用到达相应的正在运行的应用的检查点时,第一客户端102-1暂停多个正在运行的应用中的相应的正在运行的应用(509)。
[0065]将多个正在运行的应用的所存储的应用状态发送至客户端102-2 (512)。在一些实施方式中,向正在运行的应用中的每个应用通知应用状态已经被发送至第二客户端设备(514)。
[0066]参照图5B,在一些实施方式中,检测转移触发条件(506)包括检测第一客户端102-1的预定接近程度内的另一客户端设备或系统(例如,第二客户端102-2)的存在(308 )。此外,如上所述,在一些实施方式中,预定接近程度是在两个设备间成功地建立NFC通信通道(也称为NFC连接)或成功地进行NFC通信所需要的接近程度(507)。在一些实现中,检测转移触发条件包括建立NFC通道(310)。在一些实施方式中,转移触发条件包括第一客户端设备或系统的用户的指令(例如,按压触敏显示器上的按钮或对象)(526)。然而,在很多实现中,除了使两个设备彼此靠近之外,不需要其他的用户动作。
[0067]参照图5C,在一些实施方式中,仅在检测到多个活动应用的暂停之后,第一客户端102-1开始发送多个正在运行的应用的所存储的应用状态(528)。或者,在一些实施方式中,第一客户端102-1在检测到相应活动应用的暂停之后在不等待其他仍正在运行的应用的暂停的情况下,向第二设备或系统发送应用的所存储的应用状态(530)。在一些实施方式中(图5A至图5C中未示出),第一客户端102-1在预定数量的应用已经被暂停之后,发送多个正在运行的应用的所存储的应用状态。
[0068]在一些实施方式中,为了使得将应用状态从第一客户端102-1转移至第二客户端102-2的延迟最小化,转移触发条件包括在不形成NFC连接的情况下检测第二设备的NFC场。在一些实施方式中,在已经暂停了多个正在运行的应用之后或在暂停多个正在运行的应用的执行的处理的同时,第一客户端102-1建立与第二客户端102-2的NFC连接。
[0069]在一些实现中,第一客户端102-1将用户认证信息作为应用状态的一部分发送至第二客户端102-2 (532)。
[0070]如上所述,在一些实施方式中,使用近场通信向第二客户端102-2发送应用状态的至少一部分(336 )。此外,在一些实现中,使用无线通信如蓝牙通信或WiFi通信而非近场通信来发送应用状态的至少另一部分(338)。在又一些其他实现中,使用第一客户端设备或系统与第二设备或系统之间的近场通信连接来整体地发送应用状态(340)。
[0071]方法500通常由指令支配,这些指令被存储在相应客户端102-1中的非暂态计算机可读存储介质中并且由相应客户端设备或系统102的一个或更多个处理器来执行。图5A至图5C所示的操作中的每个操作通常对应于计算机可读指令,这些计算机可读指令被存储在相应客户端102-1中的计算机存储器或非暂态计算机可读存储介质中并且由相应客户端102-1的一个或更多个处理器来执行。非暂态计算机可读存储介质包括如上面关于图2所描述的客户端102-1的一个或更多个存储器设备。存储在客户端102-1的非暂态计算机可读存储介质上的计算机可读指令通常是源代码、汇编语言代码或目标代码。
[0072]另外,应当指出,本文中关于方法300、400和600 (例如,分别对应图3A至图3C、图4A至图4C以及图6)描述的其他处理的细节也以类似的方式可应用于上面关于图5A至图5C描述的方法500。例如,触发条件和所转移的状态信息可以具有本文中参照方法300、400和600描述的各种方法的特征中的一个或更多个。为了简洁,在此不再重复这些细节。
[0073]图6包括示出根据一些实施方式的客户端设备或系统的操作的方法600的流程图。方法600由客户端设备或系统如上面参照图1和图2描述的第一客户端102-1来执行。客户端102-1执行具有一个或更多个检查点的正在运行的应用,每个检查点标识执行断点,在执行断点处正在运行的应用可以被暂停以及随后被重新开始(602)。将对应于相应应用的检查点的相应正在运行的应用的应用状态动态地存储在客户端的存储器中或远离客户端的位置处的服务器的存储器中(604)。检测用于将相应应用的应用状态转移至另一设备客户端(例如,从第一客户端102-1转移至第二客户端102-2,图1)的转移触发条件(606)。在一些实施方式中,转移触发条件包括在第一客户端设备或系统的预定接近程度内存在第二客户端设备或系统(306,也参见上面参照图5B的描述)。此外,在一些实施方式中,预定接近程度是近场通信的预定接近程度(308,图5B,上面参照图5B所描述的)。在一些实施方式中,转移触发条件包括第一客户端设备或系统的用户的指令(例如,按压触敏显示器上的按钮或对象)(526,上面参照图5B所描述的)。
[0074]方法600通常由指令支配,这些指令被存储在相应客户端102-1中的非暂态计算机可读存储介质中并且由相应客户端设备或系统102的一个或更多个处理器来执行。图6所示的操作中的每个操作通常对应于计算机可读指令,这些计算机可读指令被存储在相应客户端102-1中的计算机存储器或非暂态计算机可读存储介质中并且由相应客户端102-1的一个或更多个处理器来执行。非暂态计算机可读存储介质包括如上面关于图2描述的客户端102-1的一个或更多个存储器设备。存储在客户端102-1的非暂态计算机可读存储介质上的计算机可读指令通常是源代码、汇编语言代码或目标代码。
[0075]另外,应当指出,本文中关于方法300、400和500(例如,分别对应图3A至图3C、图4A至图4C以及图5A至图5C)描述的其他处理的细节也以类似的方式可应用于上面关于图6描述的方法600。例如,触发条件和所转移的状态信息可以具有本文中参照方法300、400和500描述的各种方法的特征中的一个或更多个。为了简洁,在此不再重复这些细节。
[0076]为了说明的目的,已经参照具体的实施方式描述了前面的说明。然而,上面说明性的讨论并不意在是穷尽的或将本发明限制于所公开的精确形式。鉴于上面的教示,很多修改和变化是可能的。为了最好地说明本发明的原理及其实际应用,选择和描述了这些实施方式,从而使得本领域技术人员能够最好地利用本发明,并且具有各种修改的各种实施方式同样适合于预期的特定用途。
【权利要求】
1.一种便于将用户对应用的使用从第一客户端设备或系统转换到第二设备或系统的方法,包括: 在处于相应用户的控制下的所述第一客户端设备或系统处: 执行第一应用; 执行切换操作,包括:当所述第一客户端设备或系统位于所述第二客户端设备或系统的预定接近程度内时,向所述第二设备或系统发送与所述第一应用相关联的应用信息; 其中,当执行所述切换操作时,所述第一应用具有第一客户端设备用户接口状态; 在所述第一客户端设备或系统处,响应于接收到来自另一客户端设备或系统的与第二应用相关联的应用信息: 以与所述另一客户端设备或系统的用户接口状态相对应的初始用户接口状态执行与所述第二应用相对应的第三应用。
2.根据权利要求1所述的方法,其中,响应于接收到与第二应用相关联的所述应用信息而执行所述第三应用包括:从与所述第二应用相对应的所述第三应用未作为前台应用执行的系统状态转换成与所述第二应用相对应的所述第三应用作为所述前台应用执行的系统状态。
3.根据前述权利要求中任一项所述的方法,其中,所述另一客户端设备或系统处于所述相应用户的控制之下。
4.根据前述权利要求中任一项所述的方法,其中,所述预定接近程度不大于4厘米。
5.根据权利要求1至4中任一项所述的方法,其中,所述第二应用和所述第三应用是相同应用的两个实例。
6.根据权利要求1至4所述的方法,其中,所述第二应用和所述第三应用是相同应用类型的两个不同应用的实例。
7.根据权利要求1至4中任一项所述的方法,其中,所述第二应用和所述第三应用均是电子邮件应用。
8.根据权利要求7所述的方法,其中,所述初始用户接口状态包括特定消息或会话线索的显示,并且与所述初始用户接口状态相对应的所述另一客户端设备或系统的所述用户接口状态包括所述特定消息或会话线索的显示。
9.根据权利要求7所述的方法,其中,所述初始用户接口状态包括未发送草稿消息的显示,并且与所述初始用户接口状态相对应的所述另一客户端设备或系统的所述用户接口状态包括所述未发送草稿消息的显示。
10.根据权利要求7所述的方法,其中,所述初始用户接口状态包括与用户指定的搜索查询相对应的第一会话列表的显示,并且与所述初始用户接口状态相对应的所述另一客户端设备或系统的所述用户接口状态包括与所述用户指定的搜索查询相对应的第二会话列表的显不。
11.根据权利要求1至4中任一项所述的方法,其中,所述第二应用和所述第三应用均是多媒体播放器。
12.根据权利要求11所述的方法,其中,所述初始用户接口状态包括第一多媒体项目在第一播放位置处的播放,并且与所述初始用户接口状态相对应的所述另一客户端设备或系统的所述用户接口状态包括所述第一多媒体项目在与所述第一播放位置相对应的第二播放位置处的播放。
13.根据权利要求12所述的方法,其中,所述第二播放位置相对于所述第一播放位置具有预定的偏移。
14.根据权利要求1至4中任一项所述的方法,其中,所述第二应用和所述第三应用是用于音频通信或音频/视频通信的通信应用。
15.根据权利要求14所述的方法,其中,所述第一客户端设备或系统的所述初始用户接口状态以及所述另一客户端设备或系统的所述用户接口状态均对应于到同一目标的相应通信连接。
16.根据前述权利要求中任一项所述的方法,其中,当所述另一客户端设备或系统被所述第一设备或系统物理接触时,执行所述切换操作。
17.根据权利要求1至4中任一项所述的方法,其中,所述应用信息包括多用途因特网邮件扩展类型和应用内容。
18.根据权利要求17所述的方法,其中,所述应用内容选自由下列内容构成的组:URL、相应地址簿条目的联系信息、标识所显示的地图的信息、标识所显示的地图和用于在两个位置之间行进的方向的集合的信息。
19.根据权利要求17所述的方法,其中,在所述第二客户端设备或系统处,响应于接收到来自所述第一客户端设备或系统的所述应用信息,根据对所述第二客户端设备或系统不具有与所述多用途因特网邮件扩展类型相对应的第四应用的确定,显示下载与所述多用途因特网邮件扩展类 型相对应的相应第四应用的提示,响应于用户指令下载所述相应第四应用,并且执行所述第四应用。
20.一种第一客户端设备或系统,包括: 一个或更多个通信接口,其包括近场通信收发器; 一个或更多个处理器;以及 存储器,其存储由所述一个或更多个处理器执行的一个或更多个程序,所述一个或更多个程序包括用于执行以下操作的指令: 在处于相应用户的控制下的所述第一客户端设备或系统处: 执行第一应用; 执行切换操作,包括:当所述第一客户端设备或系统位于第二客户端设备或系统的预定接近程度内时,向所述第二设备或系统发送与所述第一应用相关联的应用信息,其中,当执行所述切换操作时,所述第一应用具有第一客户端设备用户接口状态; 在所述第一客户端设备或系统处,响应于接收到来自另一第一客户端设备或系统的与第二应用相关联的应用信息: 以与所述另一客户端设备或系统的用户接口状态相对应的初始用户接口状态执行与所述第二应用相对应的第三应用。
21.根据权利要求20所述的客户端设备或系统,其中,响应于接收到与第二应用相关联的所述应用信息而执行所述第三应用包括:从与所述第二应用相对应的所述第三应用未作为前台应用执行的系统状态转换成与所述第二应用相对应的所述第三应用作为所述前台应用执行的系统状态。
22.根据权利要求20至21中任一项所述的客户端设备或系统,其中,所述另一客户端设备或系统处于所述相应用户的控制之下。
23.根据权利要求20至22中任一项所述的客户端设备或系统,其中,所述预定接近程度不大于4厘米。
24.根据权利要求20至23中任一项所述的客户端设备或系统,其中,所述第二应用和所述第三应用是相同应用的两个实例。
25.根据权利要求20至23中任一项所述的客户端设备或系统,其中,所述第二应用和所述第三应用是相同应用类型的两个不同应用的实例。
26.根据权利要求20至23中任一项所述的客户端设备或系统,其中,所述第二应用和所述第三应用均是电子邮件应用。
27.根据权利要求26所述的客户端设备或系统,其中,所述初始用户接口状态包括特定消息或会话线索的显示,并且与所述初始用户接口状态相对应的所述另一客户端设备或系统的所述用户接口状态包括所述特定消息或会话线索的显示。
28.根据权利要求26所述的客户端设备或系统,其中,所述初始用户接口状态包括未发送草稿消息的显示,并且与所述初始用户接口状态相对应的所述另一客户端设备或系统的所述用户接口状态包括所述未发送草稿消息的显示。
29.根据权利要求26所述的客户端设备或系统,其中,所述初始用户接口状态包括与用户指定的搜索查询相对应的第一会话列表的显示,并且与所述初始用户接口状态相对应的所述另一客户端设备或系统的所述用户接口状态包括与所述用户指定的搜索查询相对应的第二会话列表的显示。
30.根据权利要求20至23中任一项所述的客户端设备或系统,其中,所述第二应用和所述第三应用均是多媒体播放器。
31.根据权利要求30所述的客户端设备或系统,其中,所述初始用户接口状态包括第一多媒体项目在第一播放位置处的播放,并且与所述初始用户接口状态相对应的所述另一客户端设备或系统的所述用户接口状态包括所述第一多媒体项目在与所述第一播放位置相对应的第二播放位置处的播放。
32.根据权利要求31所述的客户端设备或系统,其中,所述第二播放位置相对于所述第一播放位置具有预定的偏移。
33.根据权利要求20至23中任一项所述的客户端设备或系统,其中,所述第二应用和所述第三应用是用于音频通信或音频/视频通信的通信应用。
34.根据权利要求33所述的客户端设备或系统,其中,所述第一客户端设备或系统的所述初始用户接口状态以及所述另一客户端设备或系统的所述用户接口状态均对应于到同一目标的相应通信连接。
35.根据权利 要求20至34中任一项所述的客户端设备或系统,其中,当所述另一客户端设备或系统被所述第一设备或系统物理接触时,执行所述切换操作。
36.根据权利要求20至23中任一项所述的客户端设备或系统,其中,所述应用信息包括多用途因特网邮件扩展类型和应用内容。
37.根据权利要求36所述的客户端设备或系统,其中,所述应用内容选自由下列内容构成的组:URL、相应地址簿条目的联系信息、标识所显示的地图的信息、标识所显示的地图和用于在两个位置之间行进的方向的集合的信息。
38.根据权利要求36所述的客户端设备或系统,在所述第二客户端设备或系统处,响应于接收到来自所述第一客户端设备或系统的所述应用信息,根据对所述第二客户端设备或系统不具有与所述多用途因特网邮件扩展类型相对应的第四应用的确定,显示下载与所述多用途因特网邮件扩展类型相对应的相应第四应用的提示,响应于用户指令下载所述相应第四应用,并且执行所述第四应用。
39.一种非暂态计算机可读存储介质,其存储由第一客户端设备或系统的一个或更多个处理器执行的一个或更多个程序,所述一个或更多个程序包括用于执行以下操作的指令: 执行第一应用; 执行切换操作,包括: 当所述第一客户端设备或系统位于第二客户端设备或系统的预定接近程度内时,向所述第二设备或系统发送与所述第一应用相关联的应用信息; 其中,当执行所述切换操作时,所述第一应用具有第一客户端设备用户接口状态; 响应于接收到来自另一客户端设备或系统的与第二应用相关联的应用信息: 以与所述另一客户端设备或系统的用户接口状态相对应的初始用户接口状态执行与所述第二应用相对应的第三应用。
40.根据权利要求39所述的非暂态计算机可读存储介质,所述一个或更多个程序还包括用于执行根据权利要求2至17中任一项所述的方法的指令。
41.一种便于将用户对应 用的使用从第一客户端设备或系统转换到第二设备或系统的方法,包括: 在处于相应用户的控制下的所述第一客户端设备或系统处: 执行第一应用;以及 执行切换操作,包括:当所述第一客户端设备或系统位于所述第二客户端设备或系统的预定接近程度内时,向所述第二设备或系统发送与所述第一应用相关联的应用信息;其中,当执行所述切换操作时,所述第一应用具有第一客户端设备用户接口状态; 在所述第二客户端设备或系统处,响应于接收到来自所述第一客户端设备或系统的所述应用信息: 以与所述第一客户端设备用户接口状态相对应的初始用户接口状态执行与所述第一应用相对应的第二应用。
42.根据权利要求41所述的方法,其中,响应于接收到与所述第一应用相关联的所述应用信息执行所述第二应用包括:从与所述第一应用相对应的所述第二应用未作为前台应用执行的系统状态转换成与所述第一应用相对应的所述第二应用作为所述前台应用执行的系统状态。
43.根据权利要求41所述的方法,其中,所述第二客户端设备或系统处于所述相应用户的控制之下。
【文档编号】H04L29/08GK103765924SQ201280028274
【公开日】2014年4月30日 申请日期:2012年5月8日 优先权日:2011年5月9日
【发明者】詹森·帕克斯, 尼古拉斯·朱利安·佩利, 杰弗里·威廉·哈米尔顿, 罗伯特·威廉·哈米尔顿, 马尔滕·W·霍夫特 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1