CN106462454B - 在电子设备之间继续活动 - Google Patents

在电子设备之间继续活动 Download PDF

Info

Publication number
CN106462454B
CN106462454B CN201580028407.8A CN201580028407A CN106462454B CN 106462454 B CN106462454 B CN 106462454B CN 201580028407 A CN201580028407 A CN 201580028407A CN 106462454 B CN106462454 B CN 106462454B
Authority
CN
China
Prior art keywords
activity
electronic device
application
companion electronic
companion
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.)
Active
Application number
CN201580028407.8A
Other languages
English (en)
Other versions
CN106462454A (zh
Inventor
C·S·利纳
K·斯塔顿菲尔德
C·C·詹森
A·R·莱德维斯
D·A·卡特
M·J·克罗查摩尔
J·J·爱罗科
J·M·格兰斯潘
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Priority to CN202010103519.8A priority Critical patent/CN111309465A/zh
Publication of CN106462454A publication Critical patent/CN106462454A/zh
Application granted granted Critical
Publication of CN106462454B publication Critical patent/CN106462454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明所公开的实施方案将源电子设备中的活动传输到配套电子设备。所述源电子设备接收描述在所述源电子设备的第一应用程序中所执行的活动的活动信息、确定针对所述活动信息的活动标识符,并广播包含所述活动标识符的活动通告。当接收到所述活动通告时,所述配套电子设备确定与所述第一应用程序相关联的第二应用程序在所述配套电子设备中是否可用。如果所述第二应用程序可用,则所述配套电子设备从所述源电子设备中请求扩展的活动数据。所述源电子设备通过将扩展的活动数据从所述第一应用程序发送到所述配套电子设备中而作出应答。然后,所述配套电子设备使用所述扩展的活动数据来配置所述第二应用程序,并利用所述配套电子设备中的所述第二应用程序开始执行所述活动。

Description

在电子设备之间继续活动
背景技术
技术领域
本发明所公开的实施方案涉及电子设备。更具体地讲,本发明所公开的实施方案涉及在电子设备之间继续活动。
相关领域
近年来,计算机技术的发展已使制造商能够生产强大的具有各种形状因数的计算设备,从而使用户能够使用如智能电话或平板电脑一样小型便携式设备来执行过去曾需要台式机或膝上型电脑执行的任务。由于这些发展,用户经常拥有并使用多个计算设备,例如在路上使用智能电话、在会议中使用平板电脑以及在办公桌前使用膝上型电脑或台式计算机。
虽然用户可拥有不同的设备,并且每个设备均具有强大的计算能力,但在某些情况下,用户可发现他们所用的设备不适合正在被执行的任务或用户所处的情况。例如,用户可能在具有小显示屏的设备(诸如智能电话)上开始编辑预期较短的电子邮件,然后当实际电子邮件比预期更长时,由于显示屏的尺寸,用户可难以输入并编辑电子邮件中的文本。另选地,用户可能正在台式机上浏览网页或观看电影,但可能由于某种原因不得不离开该台式机所处的房间。虽然用户可获取另一设备并开始该任务,但这很麻烦。
附图说明
图1呈现了示出根据一些实施方案的电子设备的框图。
图2呈现了示出根据一些实施方案的网络环境的框图。
图3呈现了示出根据一些实施方案的用于广播活动通告消息的过程的流程图。
图4呈现了示出根据一些实施方案的用于存储活动信息的过程的流程图,该活动信息描述在配套电子设备中可用的活动。
图5呈现了示出根据一些实施方案的用于请求扩展的活动数据并传输活动的过程的流程图。
图6呈现了示出根据一些实施方案的用于响应于对扩展的活动数据请求的过程的流程图。
图7呈现了示出根据一些实施方案的用于确定第二应用程序在配套电子设备中是否可用的过程的流程图。
图8呈现了示出根据一些实施方案的用于使用标记确定第二应用程序的过程的流程图。
图9呈现了示出根据一些实施方案的用于确定当活动标识符标识存储通告活动的结构中的条目时,第二应用程序是否可用的过程的流程图。
图10呈现了示出根据一些实施方案的用于从两个或更多个活动通告消息中确定最近活动的过程的流程图。
图11呈现了示出根据一些实施方案的活动信息的框图。
图12呈现了示出根据一些实施方案的通告活动表的框图。
图13呈现了示出根据一些实施方案的活动通告消息的框图。
图14呈现了示出根据一些实施方案的可恢复的活动指示的框图。
图15呈现了示出根据一些实施方案的电子设备之间交换的消息的泳道图。
图16呈现了示出根据一些实施方案的彼此邻近的电子设备的框图。
在图中,类似的参考编号是指相同的附图元件。
具体实施方式
提供以下描述以使得本领域的技术人员能够实现和使用所述实施方案,并且以下描述是以特定应用程序及其要求的上下文提供的。各种修改形式对于本领域的技术人员而言将是显而易见的,并且本文中所限定的一般性原则可应用于其他实施方案和应用程序,而不脱离所述实施方案的实质和范围。因此,所述实施方案不限于所示出的实施方案,而是要被赋予符合本文所公开的原理和特征的最宽泛的范围。
在一些实施方案中,电子设备(例如,图1的电子设备100和/或其某些部分)使用被存储在计算机可读存储介质上的代码和/或数据来执行本文所述的一些或全部操作。更具体地讲,电子设备从计算机可读存储介质读取代码和/或数据并在执行所述操作时执行代码和/或使用数据。在这些实施方案中,计算机可读存储介质可以是存储供电子设备使用的代码和/或数据的任何设备或介质或其组合。例如,计算机可读存储介质可包括但不限于易失性存储器或非易失性存储器,诸如半导体存储器(例如,闪存存储器、随机存取存储器(eDRAM、RAM、SRAM、DRAM、DDR、DDR2/DDR3/DDR4 SDRAM等)等)和/或磁存储介质或光学存储介质(例如,磁盘驱动器、磁带、CD、DVD)。在所述实施方案中,计算机可读存储介质不包括非法定计算机可读存储介质诸如瞬态信号。
在一些实施方案中,一个或多个硬件模块被配置为执行本文所述的操作。例如,硬件模块可包括但不限于一个或多个处理器/内核/中央处理单元(CPU)、专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、高速缓存/高速缓存控制器、存储器管理单元、计算单元、嵌入式处理器、图形处理器(GPU)/图形内核、管线和/或可编程逻辑器件。在激活此类硬件模块时,硬件模块执行一些或全部操作。在一些实施方案中,硬件模块包括可通过执行指令(程序代码、固件等)来配置以执行操作的一个或多个通用电路。
在本具体实施方式中,在描述一些实施方案时可参考功能块。一般来讲,功能块包括一个或多个执行所述操作的相互关联的电路、设备和/或机构。在一些实施方案中,至少一些功能块包括执行程序代码(例如,微码、固件、应用程序等)的通用处理电路,该程序代码使得通用处理电路执行所述操作。
概述
所述的实施方案将在源电子设备中执行的活动从源电子设备传输到配套电子设备—一种被称为在配套电子设备中“继续”活动的过程。在所述实施方案中,为执行这种传输,源电子设备将描述在源电子设备的第一应用程序中所执行的活动的信息发送到配套电子设备。然后配套电子设备使用一些或全部信息来配置配套电子设备中的第二应用程序以执行相应活动。一般来讲,活动包括至少部分地在源电子设备中执行并传输到配套电子设备/在配套电子设备中继续的一个或多个操作。活动的实施例包括读取和/或编辑文档(例如,文字处理文档、电子表格、演示文档或其他类型的文档),编写电子邮件消息、电子邮件、语音消息或视频,起草备注,访问(浏览)网站,观看电影,播放音频文件或以其他方式使用应用程序来执行相应操作。
在一些实施方案中,当将活动从源设备传输到配套设备时,源电子设备首先使用无线网络接口(例如蓝牙低功耗(BLE)、ZigBee等)广播活动通告消息(也称为“活动通告”)。在一些实施方案中,源电子设备生成用于在源电子设备的第一应用程序中所执行的活动的活动标识符,并包括活动通告消息中的活动标识符。源电子设备使用描述从第一应用程序接收到的活动的活动信息,通过执行一组操作(例如,散列操作等)来生成活动标识符。下文参考图11更详细地描述活动信息的实施例。
配套电子设备监视网络(例如,蓝牙低功耗网络),以检测与活动通告从其广播的源电子设备中的网络接口相对应的网络接口上的活动通告消息。当检测到来自源电子设备广播的活动通告时,配套电子设备将用于配套电子设备中可用的活动的活动标识符与活动通告消息中的活动标识符进行比较。配套电子设备使用这种比较来确定第二应用程序在配套电子设备中是否可用,其中该第二应用程序可执行与第一应用程序中所执行的活动相对应的活动。
在一些实施方案中,当确定第二应用程序可用时,配套电子设备与源电子设备经通信信道建立通信(例如,使用用于接收活动通告消息的同一无线网络接口或不同的有线和/或无线网络接口)。然后配套电子设备使用该通信信道,从源电子设备为在第一应用程序中执行的活动请求扩展的活动数据。在一些实施方案中,在接收到扩展的活动数据请求时,源电子设备使用相同(或不同)的通信信道向配套电子设备提供扩展的活动数据。一般来讲,扩展的活动数据包括可用于配置配套电子设备中的第二应用程序以继续该活动的信息,诸如与第一应用程序中所执行的活动相关的文档标识符、滚动位置、统一资源定位符(URL)等。
在一些实施方案中,配套电子设备使用活动标识符和/或扩展的活动数据来将第二应用程序配置成执行与源电子设备的第一应用程序中所执行的活动相对应的活动。然后,配套电子设备开始执行配套电子设备的第二应用程序中的活动。例如,在配套电子设备配置第二应用程序之后,用户可使用配套电子设备继续处理用户在源电子设备中正在处理的文档、继续观看用户在源电子设备中正在观看的电影、继续浏览用户在源电子设备中正在浏览的网页等。在一些实施方案中,配套电子设备向源电子设备发送通知以表明活动被传输到第二应用程序。该通知可使得源电子设备和/或第一应用程序执行内务处理任务,诸如删除用于活动的文档草稿、关闭用于活动的打开文档等。
通过执行上文所述的操作用于在配套电子设备中继续在源电子设备中所执行的活动,所述的实施方案使得用户能够无缝地继续任务,而不存在复杂的用户干预。这使得用户能够在所需电子设备上更轻松地执行任务,从而可改善用户对两个或更多个电子设备的总体体验。
电子设备
图1呈现了示出根据一些实施方案的电子设备100的框图。电子设备100包括处理子系统102、存储器子系统104、联网子系统106和显示器子系统108。
处理子系统102是在电子设备100中执行计算操作的功能块。处理子系统102包括一个或多个中央处理单元(CPU)/CPU内核、图形处理单元(GPU)/GPU内核、嵌入式处理器、专用集成电路(ASIC)和/或其他计算机构。
存储器子系统104是存储用于被电子设备100中的其他功能块(例如,处理子系统102等)使用的数据和/或指令的功能块。存储器子系统104包括易失性存储器电路(诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和/或用于存储指令和数据的其他类型的存储器)以及用于控制存储器电路的机构。在一些实施方案中,存储器子系统104包括带有耦接到存储器电路的一个或多个高速缓存的存储器分级结构。在这些实施方案中的一些实施方案中,处理子系统102还包括一个或多个高速缓存,这些高速缓存是存储器分级结构的一部分。
在一些实施方案中,存储器子系统104耦接到一个或多个非易失性高容量海量存储设备(未示出)。例如,存储器子系统104可耦接到磁盘驱动器或光盘驱动器、固态驱动器或另一种类型的海量存储设备。在这些实施方案中,存储器子系统104可被电子设备100用作用于经常使用的数据的快速存取存储装置,而海量存储设备被用于存储使用频率较低的数据。
联网子系统106为功能块,其包括被配置为耦接到有线网络和/或无线网络并在有线网络和/或无线网络上通信(即执行网络操作)的一个或多个设备。例如,联网子系统106可包括BluetoothTM联网系统、蜂窝联网系统(例如,3G/4G网络,诸如UMTS、LTE等)、通用串行总线(USB)联网系统,基于IEEE 802.11、802.15等(例如,ZigBee或Wi-Fi联网系统等)中所述标准的联网系统、以太网联网系统和/或其他联网系统。联网子系统106包括处理器、控制器、无线电部件/天线、插座/插头和/或用于耦接至每个所支持的联网系统、在每个所支持的联网系统上进行通信并处理每个所支持的联网系统的数据和事件的其他设备。在以下描述中,将用于耦接到每个网络系统的网络、在网络上通信、和处理网络上的数据和事件的机构统称为网络系统的“接口”或“网络接口”。
显示子系统108为包括一个或多个设备的功能块,这些设备被配置为在视频接口上为电子设备100显示信息。例如,在一些实施方案中,显示子系统108包括图形处理器(GPU)、图形卡和/或用于显示信息的显示屏。
在一些实施方案中,通信路径(其包括一个或多个总线、线和/或连接)在电子设备100的功能块(处理子系统102、存储器子系统104等)之间耦接,如元件之间的箭头线所示。通信路径用于在元件之间传输命令、数据、事件通知和/或其他信息。
虽然使用了特定部件来描述电子设备100,但是在一些实施方案中,在电子设备100中可能存在不同的部件和/或子系统。例如,电子设备100可包括一个或多个附加处理子系统102、存储器子系统104等。此外,这些子系统中的一者或多者可不存在于电子设备100中,或者子系统的一些或全部功能可被并入其他子系统中。此外,在一些实施方案中,电子设备100可包括图1中未示出的一个或多个附加子系统。例如,电子设备100可包括但不限于数据收集子系统、音频和/或视频子系统、报警子系统、媒体处理子系统和/或输入/输出(I/O)子系统。
电子设备100可为(或可被包括在)执行计算操作的任何设备。例如,电子设备100可为(或可被包括在)台式计算机、膝上型电脑、可佩戴计算设备、平板电脑、智能电话、服务器、网络器材、玩具、视听设备(例如,接收器、机顶盒、Apple TV等)、汽车(例如,汽车接口系统、导航系统、平视显示器等)、家用电器、控制器等和/或它们的组合。(Apple TV是加利福尼亚州库珀蒂诺的Apple Inc的注册商标)。
网络环境
图2呈现了示出根据一些实施方案的网络环境的框图。如在图2中可看出,网络环境200包括源电子设备202、配套电子设备204和第二源电子设备206(统称为“电子设备”)。在一些实施方案中,每个电子设备为类似于电子设备100的电子设备,也就是说,具有与电子设备100类似的子系统。但是,这不是必须的;所述的实施方案可使用可执行本文所述操作的任何电子设备。
源电子设备202和第二源电子设备206为参与与配套电子设备204交换与活动传输操作相关通信的电子设备。在一些实施方案中,源电子设备202(和/或第二源电子设备206)为由配套电子设备204识别并因此能够参与活动传输操作的电子设备。例如,源电子设备202和配套电子设备204均可使用同一账户向服务提供方注册,并可因此通过存储在每个电子设备中的信息识别彼此。例如,在一些实施方案中,源电子设备202和配套电子设备204参与初步配对操作(并经由通过初步配对操作获得的信息识别彼此),例如,如名称为“Predefined Wireless Pairing”、代理人档案号为APL-P22642USP1、由发明人JasonC.Conn、Akshay Mangalam Srivatsa、Craig P.Dooley和Michael Giles在与本发明申请同一天提交的待审的美国专利申请no.xx/xxx,xxx中所述的预定义的配对,如上文所述该专利申请的内容以引用方式并入。在一些实施方案中,源电子设备202和配套电子设备204可参与识别因子(加密密钥、证书等)的设备到设备交换,使得源电子设备202和配套电子设备204随后识别彼此。
在网络环境200中,配套电子设备204可使用无线通信信号208(在图2中使用标记为“通信信号208”的锯齿状线示出)与源电子设备202和第二源电子设备206通信。在一些实施方案中,通信信号208根据对应无线协议被格式化和交换(广播、传输/接收等)—例如,通过无线网络协议,诸如蓝牙、ZigBee、基于802.11的协议和/或其他无线网络协议。在一些实施方案中,一些或全部通信信号208作为有线通信信号(例如,有线以太网、有线LAN、有线WAN等中的信号)被传输。
在一些实施方案中,本文所述的活动传输操作需要源电子设备202和配套电子设备204彼此充分靠近,才能使由每个电子设备发送的通信信号208(以及因此合并的消息)被另一电子设备接收。换句话讲,源电子设备202和配套电子设备204彼此“邻近”,从而实现电子设备之间的消息交换。因此,如本文所用的“邻近”表示从给定电子设备广播/发送的消息可被一个或多个其他电子设备接收的距离。这一距离是由电子设备中的无线电设备(天线、接收器/发射器等)和用于广播/发送消息的特定无线电协议/信号决定的,如受到诸如环境条件(电磁干扰等)、中间物体(家具、墙壁、衣物/袋子等)等因素限制。例如,在一些实施方案中,通信信号208利用预期范围为30米的协议在源电子设备202和配套电子设备204之间交换,并且因此当这些设备彼此距离30米时,这些设备是“邻近”的(但需注意,所期望范围可被上述因素大大改变)。
图16呈现了示出根据一些实施方案的彼此邻近的电子设备的框图。如在图16中可看出,配套电子设备204在源电子设备202的无线电信号(例如,通信信号208)范围1602内,这意味着配套电子设备204可接收从源电子设备202发送的无线电信号。此外,源电子设备202在配套电子设备204的无线电信号(例如,通信信号208)范围1604内,这意味着源电子设备202可接收从配套电子设备204发送的无线电信号。如上文所述,因此,源电子设备202和配套电子设备204彼此“邻近”,从而实现本文所述的消息通信(和对应操作)。但是,源电子设备202和配套电子设备204均不在电子设备1600的无线电信号范围1606内,这意味着源电子设备202和配套电子设备204均不邻近电子设备1600。需注意,图16中的范围1602-1606以不规则形状示出,从而表明来自电子设备的无线电信号具有不规则范围,这取决于电子设备(天线布置等)、上述因素等。
在一些实施方案中,电子设备之间通信的消息、数据等被加密。在这些实施方案中,一些或所有的电子设备例如通过使用共享密钥、从共享密钥得出的密钥和/或一次性密钥执行相应加密和解密操作。例如,如前文所述,在一些实施方案中,源电子设备202和配套电子设备204参与预定义的配对,如名称为“Predefined Wireless Pairing”、代理人档案号为APL-P22642USP1、由发明人Jason C.Conn、Akshay Mangalam Srivatsa、CraigP.Dooley和Michael Giles在与本发明申请同一天提交的待审的美国专利申请no.xx/xxx,xxx中所述,如上文所述该专利申请的内容以引用方式并入。在一些实施方案中,源电子设备202和配套电子设备204通过使用一个或多个加密密钥来加密和解密针对活动传输操作而交换的消息,这些加密密钥是当源电子设备202和配套电子设备204参与预定义的配对时所获得的。
尽管图2中示出了各种电子设备,但在一些实施方案中,这些电子设备的不同布置用于执行本文所述的一些或全部操作。例如,在一些实施方案中,第二源电子设备206不存在。一般来讲,所述的实施方案包括足够的设备,使活动如本文所述在电子设备之间过渡。
广播活动通告消息
图3呈现了示出根据一些实施方案的用于广播活动通告消息的过程的流程图。更具体地讲,在图3中所示的过程中,电子设备(诸如源电子设备202)广播活动通告消息。需注意,图3中所示的操作是作为由一些实施方案执行的操作的一般实施例来呈现的。由一些实施方案执行的操作包括不同的操作和/或按照不同次序执行的操作。另外,虽然使用某些机构(例如,源电子设备202等)来描述这些操作,但在一些实施方案中,使用其他机构执行这些操作。例如,配套电子设备204和第二源电子设备206中的一者或两者可执行类似的操作,以为其广播活动通告消息。
当源电子设备202接收到描述在源电子设备202的第一应用程序中所执行的活动的活动信息时,也就是说,第一应用程序安装在源电子设备202上/在该源电子设备中可用(步骤300),图3所示的过程开始。(下文参考图11更详细地描述活动信息的实施例)。在一些实施方案中,第一应用程序向源电子设备202提供或报告活动信息,例如,向源电子设备202中的操作系统、守护进程或其他过程和/或服务提供或报告活动信息。在一些实施方案中,源电子设备202向第一应用程序查询活动信息。一般来讲,活动信息包括描述至少部分地使用电子设备所执行的活动的信息。活动的实施例包括读取和/或编辑文档(例如,文字处理文档、电子表格、演示文档或其他类型的文档),编写电子邮件消息,起草备注,访问(浏览)网站,观看电影,播放音频文件或以其他方式使用应用程序来执行相应操作。
接着,源电子设备202确定是否过滤接收到的活动信息(步骤302),其包括使用一个或多个标准来舍弃未经进一步处理和/或未在活动通告消息中被广播的活动信息。举例来说,源电子设备202可测量第一应用程序向活动信息提供更新的频率,并且当活动信息更新的频率超过阀值时可舍弃来自第一应用程序的活动信息(其可被称为“节流”来自第一应用程序的活动信息)。又如,源电子设备202可舍弃完全一样或重复的活动信息、不包含对此前报告活动信息的明显改变的活动信息(例如,自动报告“未变化”、报告简单/基本运算/变化等)、报告已被源电子设备202已知的事实的活动信息等。再如,在一些实施方案中,源电子设备202基于不对由活动信息描述的活动进行通告这一指示过滤活动信息。例如,在一些实施方案中,源电子设备202和/或源电子设备202的用户可配置某些活动和/或某些种类的活动作为未对其进行通告的活动。再如,在一些实施方案中,源电子设备202排列活动信息针对其而存在的一些或全部活动(即,可被通告的一些或全部活动),并根据排名舍弃这些活动中的一者或多者。举例来说,源电子设备202可为用户此前已经继续的活动分配更高的排名,而为用户此前尚未继续的活动分配更低的排名。在这些实施方案中的一些实施方案中,源电子设备202使用来自配套电子设备204的消息来确定此前继续了哪些通告的活动以及此前未继续哪些通告的活动,例如消息,诸如下文参考图5步骤510所描述的那些。
如果源电子设备202过滤(例如,舍弃)活动信息(步骤302,是),则过程结束。否则,如果源电子设备202不过滤活动信息(步骤302,否),则源电子设备202将一些或全部活动信息存储在结构中(步骤304)。出于例示性目的,我们描述了将活动信息存储在表格条目中的实施方案,我们将该表格称为“通告活动”表。但需注意,这些实施方案并不限于使用表格来存储活动信息。一些实施方案使用不同的存储机构/结构来存储活动信息,诸如相联阵列、内容可寻址存储器等。
在一些实施方案中,当存储活动信息时,源电子设备202重写和/或移除此前存储在通告活动表中的活动信息。例如,源电子设备202可使用最近最少使用(LRU)算法重写和/或移除通告活动表中的条目。下文参考图12更详细地描述通告活动表的实施例。
接着,源电子设备202确定针对活动信息的活动标识符(步骤306)。一般来讲,活动标识符包括来自活动信息的信息,该信息标识第一应用程序和在第一应用程序中所执行的活动。在一些实施方案中,源电子设备202通过将活动信息分解成可比完整活动信息更有效广播的较小编码表示而生成活动标识符。在这些实施方案中的一些实施方案中,编码表示是一散列活动信息,即,那些输入包括活动信息的散列函数的输出(例如,MD4、MD5、SHA、MurmurHash等)。在一些实施方案中,源电子设备202将活动标识符连同活动信息一起存储在通告活动表中(或源电子设备202用于存储活动信息的无论何种结构)。下文参考图12更详细地描述活动标识符的实施例。
在一些实施方案中,活动标识符包括对域名的表示。例如,在一些实施方案中,当在第一应用程序中执行的活动包括使用域中的资源时,活动信息包含域名,例如,域的统一资源定位符(URL)的至少一部分。在一些实施方案中,源电子设备202通过将一部分或全部域名包括在活动标识符中来确定活动标识符。例如,活动标识符可为用于资源的一部分或全部URL的散列。
在一些实施方案中,活动标识符标识其中源电子设备202存储活动信息的结构中的条目(例如,如上文参考步骤304所述)。举例来说,活动标识符可标识其中源电子设备202存储活动消息的通告活动表中的条目。活动标识符还可包括针对通告活动表自身的标识符。在一些实施方案中,为标识其中源电子设备202存储活动信息的结构中的条目,活动标识符包括:(1)通告活动表中的一散列数据,以标识通告活动表,以及(2)用于存储活动信息的通告活动表中的条目的索引。
接着,源电子设备202将活动标识符包括到活动通告消息中(步骤308)。在一些实施方案中,除活动标识符之外,活动通告消息还包括其他数据。举例来说,在一些实施方案中,当活动标识符包括对与活动相关的在线资源的域名的表示时,活动通告消息包括用于指示的标记。在这些实施方案中,源电子设备202发布标记(例如,将标记设定至预先确定的值诸如1)以表明活动标识符包括对域名的表示。在一些实施方案中,源电子设备202在活动通告消息中发布标记以表明,通告活动可例如通过源电子设备202在扩展的活动数据中包括对应指令(下文更详细地描述扩展的活动数据),以源电子设备202独立地向配套电子设备204提供的方式继续。
在一些实施方案中,活动通告消息包括针对活动/活动信息的时间戳。可表达绝对时间或相对时间的时间戳可表明在第一应用程序中最后执行活动的时间,例如,编辑文档、访问网站、观看电影等的最后时间。在一些实施方案中,时间戳独立于活动/活动信息,也就是说,时间戳表明用户最后与源电子设备202交互的时间,而不论用户的最后交互是否包括用户执行活动。
然后源电子设备202广播活动通告消息(步骤310)。例如,源电子设备202可使用通信信号208广播活动通告消息。在一些实施方案中,源电子设备202在网络环境200中广播/通告活动通告消息,使得网络环境200中的附近设备可接收活动通告消息。例如,在这些实施方案中,源电子设备202使用BluetoothTM通信信道(诸如蓝牙低功耗(BLE))来广播活动通告消息。一些实施方案可在不同的通信信道(诸如对等网络、LAN、互联网等)上广播活动通告消息。需注意,活动广播可发生不止一次,例如,源电子设备202可多次和/或定期地广播相同的活动通告消息。
构建可用的活动表
在一些实施方案中,配套电子设备204存储可用的活动信息,例如,描述在配套电子设备204中可用的活动的活动信息(下文参考图11更详细地描述活动信息的实施例)。例如,在一些实施方案中,配套电子设备204存储针对可用的活动信息的活动标识符。出于例示性目的,我们描述配套电子设备204将可用的活动信息存储在表格中,该表格被我们称为“可用的活动”表(在本公开的下文中更详细地描述可用的活动表的实施例)。需注意,虽然我们描述将可用的活动信息存储在可用的活动表中的实施方案,但实施方案并不限于使用表格来存储可用的活动信息。一些实施方案可使用其他结构来存储可用的活动信息,诸如相联阵列、内容可寻址存储器等。
图4呈现了示出根据一些实施方案的用于将活动消息存储到可用的活动表的过程的流程图,其中该活动信息描述在配套电子设备204中可用的活动。需注意,图4中所示的操作是作为由一些实施方案执行的操作的一般实施例来呈现的。由一些实施方案执行的操作包括不同的操作和/或按照不同次序执行的操作。另外,虽然使用某些机构(例如,配套电子设备204等)来描述这些操作,但在一些实施方案中,使用其他机构执行这些操作。例如,源电子设备202和第二源电子设备206中的一者或两者可执行类似的操作来存储描述对其自身可用的活动的可用活动信息。
当配套电子设备204接收到描述在配套电子设备204的第二应用程序中可用的活动的活动信息(例如,描述可在配套电子设备204中执行的活动的活动信息)时(步骤400),图4所示的过程开始。一般来讲,该活动信息描述可在配套电子设备204的第二应用程序中执行的活动,即配套电子设备204的第二应用程序能够执行的操作或功能。在一些实施方案中,当第二应用程序被安装和/或使用时,第二应用程序报告/提供活动信息。在一些实施方案中,配套电子设备204查询或以其他方式监视第二应用程序,以收集描述在第二应用程序中可用的活动的活动信息。在一些实施方案中,活动信息包括针对尚未在配套电子设备204中执行但能够执行的活动的活动信息(例如,当配套电子设备204中的第二应用程序被安装/更新、启动、使用等时,由第二应用程序报告的活动信息)。
接着,配套电子设备204确定第二活动标识符(步骤402),也就是说,针对活动信息的活动标识符,该活动信息描述在第二应用程序中可用的活动。一般来讲,第二活动标识符标识第二应用程序和在第二应用程序中可用的活动。第二活动标识符可为对描述在第二应用程序中可用的活动的活动信息的编码表示。在一些实施方案中,配套电子设备204通过执行源电子设备202执行以生成针对第一应用程序中执行的活动的活动标识符的一些或全部相同操作而确定第二活动标识符(参见图3的步骤306)。例如,在一些实施方案中,配套电子设备204使用相同的散列函数来生成第二活动标识符,源电子设备202使用该第二活动标识符来生成针对第一应用程序中所执行的活动的活动标识符。
在一些实施方案中,当第二应用程序可执行包括访问域的资源的活动时,针对这一活动的活动信息包括域的域名。在这些实施方案中的一些实施方案中,第二活动标识符为对域名的编码表示,这使得第二应用程序“要求”域名,也就是说,声明第二应用程序可使用域名处的资源,从而使得配套电子设备204可将相应活动传输到第二应用程序中。举例来说,如下文所述,在第二应用程序从互联网的特定站点流式传输电影的情况下,第二活动标识符可为对该站点域名至少某些部分的编码表示。需注意,第二应用程序可不同于第一应用程序(即,在活动通告消息中通告其活动的应用程序),这使得不同于第一应用程序的应用程序能够在配套电子设备204中继续活动。
接着,配套电子设备204将第二活动标识符存储到可用的活动表中(步骤404)。
请求扩展的活动数据并传输活动
在一些实施方案中,当接收到活动通告消息时,电子设备可为通告的活动请求扩展的活动数据,使得通告的活动随后可被传输到电子设备。图5呈现了示出根据一些实施方案的用于请求扩展的活动数据并传输活动的过程的流程图。更具体地讲,在图5所示的过程中,配套电子设备204从源电子设备202中为在源电子设备202的第一应用程序中所执行的活动请求扩展的活动数据。需注意,图5中所示的操作是作为由一些实施方案执行的操作的一般实施例来呈现的。由一些实施方案执行的操作包括不同的操作和/或按照不同次序执行的操作。另外,虽然使用某些机构(例如,源电子设备202、配套电子设备204)来描述这些操作,但在一些实施方案中,使用其他电子设备和/或机构执行这些操作。
当配套电子设备204接收到活动通告消息(例如,从源电子设备202广播的活动通告消息,参见图3步骤310)时,图5所示的过程开始(步骤500)。接着,配套电子设备204确定配套电子设备204是否处于接收状态(步骤502)。一般来讲,当配套电子设备204能够执行活动传输时,其处于接收状态。例如,在一些实施方案中,当设备“唤醒”时(例如,当用户按下按钮来唤醒设备之后显示锁屏时),配套电子设备204转变到接收状态。在一些实施方案中,当配套电子设备204在使用中时,例如,当用户正在使用配套电子设备204中的应用程序时和/或当用户在给定时间段内使用应用程序时,配套电子设备204不处于接收状态。
如果配套电子设备204不处于接收状态(步骤502,否),则过程结束(也就是说,忽略活动通告消息)。否则,如果配套电子设备204处于接收状态(步骤502,是),配套电子设备204确定与第一应用程序相关联的第二应用程序在配套电子设备204中是否可用(步骤504)。一般来讲,这一操作包括确定应用程序在配套电子设备204上是否可用,以继续来自源电子设备202的活动通告消息中所述的活动。下文参考图7至图8更详细描述确定第二应用程序是否可用。
如果第二应用程序不可用(步骤504,否),则过程结束。否则,如果第二应用程序可用(步骤504,是),则配套电子设备204检索第二应用程序的活动信息(步骤506)。举例来说,如参考图7至图8和图11至图12同样更详细地描述,在确定第二应用程序可用之后,配套电子设备204可使用针对第二应用程序的活动标识符来检索活动信息,该活动信息描述可用的活动表中(或配套电子设备204用于存储可用的活动信息的另一结构中)在第二应用程序中可用的活动。在一些实施方案中,配套电子设备202使用检索的活动信息,例如使用检索的活动信息中的应用程序标识符来定制活动是可恢复的指示,例如,如下文参考步骤508和/或图14所述。参考图11更详细地描述应用程序标识符。
接着,配套电子设备204呈现活动可恢复的指示(步骤508)。举例来说,配套电子设备204可在配套电子设备204的显示器中呈现图形图标和/或通知。下文参考图14更详细地描述这些指示。
然后,配套电子设备204确定活动传输是否被接受(步骤510)。在一些实施方案中,配套电子设备204的用户通过对指示执行一定的动作(诸如点击指示、沿一个或多个方向拖曳指示和/或拖曳到一个或多个特定位置等)而接受和/或拒绝活动传输。举例来说,为接受活动传输,用户可用手指(在触摸屏显示器上)轻敲图标/通知并沿第一方向(例如,从左向右、向上、沿圆环顺时针等)拖曳图标/通知。又如,为拒绝活动,用户可用手指轻敲图标/通知并沿第二方向(例如,从右向左、向下、沿圆环逆时针等)拖曳图标/通知。在一些实施方案中,配套电子设备204根据暂停周期(也就是说,通过确定自从呈现指示而用户未执行动作来接受指示/活动传输的时间段)确定活动传输未被接受。
如果活动传输未被接受(步骤510,否),则过程结束。需注意,在一些实施方案中,如果活动传输未被接受,则配套电子设备204发送消息到源电子设备202,以指示活动传输未被接受。如果活动传输被接受(步骤510,是),则配套电子设备204发送消息到源电子设备202,为在第一应用程序中执行的活动请求扩展的活动数据(步骤512)。一般来讲,扩展的活动数据请求包括帮助源电子设备202确定活动的信息,其中扩展的数据是针对该活动请求的。举例来说,在一些实施方案中,配套电子设备204在对扩展的活动数据请求中包括来自活动通告消息的活动标识符。
接着,当响应于扩展的活动数据请求而接收到来自源电子设备202的扩展的活动数据时,配套电子设备204使用扩展的活动数据配置第二应用程序(步骤514)。配置第二应用程序可包括根据扩展的活动数据启动/开始第二应用程序、设定第二应用程序的状态(或引起第二应用程序状态的改变),以及以其他方式配置第二应用程序来执行对应操作。举例来说,配套电子设备204可将扩展的活动数据中的文档/资源标识符、表示文档/资源的信息和/或文档/资源的参考传递到第二应用程序中,以使得第二应用程序访问文档/资源(例如,用于使第二应用程序从位于互联网上的云基存储器访问的针对云存储文档的标识符/表示云存储文档的信息/云存储文档的参考、用于使第二应用程序从数据库访问的针对文档的标识符/表示文档的信息/文档的参考等)。在一些实施方案中,当活动包括编写存储在源电子设备202中的文档时,扩展的活动数据包括文档或表示文档的信息,从而使得配套电子设备204和/或第二应用程序能够在配套电子设备204中使用/重新创建用于第二应用程序的文档。在一些实施方案中,扩展的活动数据包括文档中的编辑,例如,文档中进行编辑的位置和/或内容。在一些实施方案中,扩展的活动数据包括位置信息,诸如媒体文件最后播放/观看/记录的位置(也就是说,媒体文件中回放或记录停止或最后执行的位置),文件中标记的位置、视频游戏中游戏进行的位置/状态(例如,上一次游戏的级别、游戏者上一次所处位置的坐标、赚到的分数和/或成绩,和/或可用于在配套电子设备204中重现源电子设备202上所进行游戏的状态的信息)等。
然后,配套电子设备204开始执行第二应用程序中的活动(步骤516),该活动通常包括在配套电子设备204处开始/启动第二应用程序(如果第二应用程序尚未运行)并根据扩展的活动数据在配套电子设备204处执行第二应用程序。举例来说,配套电子设备204可使得第二应用程序在与通告的活动相关的文档观看和/或编辑模式下开始执行,并可使得第二应用程序滚动到文档中的文档在源电子设备202中被观看/编辑的上一位置。接着,配套电子设备204向源电子设备202发送通知,指示活动被传输(步骤518)。
需注意,一些实施方案可使用活动通告消息中的信息(例如,活动标识符),当扩展的活动数据被传输时或者甚至在请求扩展的活动数据之前开始配置第二应用程序。这些实施方案中的一些实施方案使用活动通告消息中的信息来设定用于第二应用程序的初始背景,以设定第二应用程序的模式(例如,编辑模式、只读模式、电子邮件编写模式、备注编写模式等)。因此,在接收到扩展的活动数据之前,可能一旦活动传输被接收,一些实施方案便可启动和/或配置第二应用程序,从而通过用应用程序启动时间隐藏数据传输时间来改善较慢网络的性能。
在一些实施方案中,配套电子设备204使用不同于通信信号208的信号和/或使用不同于活动通告消息被接收的通信信道/网络接口的通信信道/网络接口发送扩展的活动数据请求。举例来说,配套电子设备204可经蓝牙链路(使用BLE协议)接收活动通告消息,并可经Wi-Fi链路或互联网请求扩展的活动数据。在这些实施方案中,源电子设备202和配套电子设备204使用通信信号208(例如,蓝牙链路)来交换信息,这使得电子设备经不同的通信信道/网络通信。举例来说,在这些实施方案中的一些实施方案中,配套电子设备204创建对等网络(例如,自组Wi-Fi网络),并向源电子设备202提供信息以访问该对等网络。在一些实施方案中,源电子设备202向服务器提供扩展的活动数据,然后配套电子设备204例如通过互联网从服务器接收扩展的活动数据。
根据通告信息过渡到接收状态
虽然我们在图5中描述了接收活动通告消息(图5,步骤500)并确定配套电子设备204是否处于接收状态(图5,步骤502)的实施方案,但一些实施方案根据接收的活动通告消息中的信息过渡到接收状态。在这些实施方案中的一些实施方案中,接收到活动通告消息(例如,如图5的步骤500所示)之后,配套电子设备204不确定配套电子设备204是否处于接收状态,也就是说,图5所示的过程从步骤500前进到步骤504而未执行步骤502的操作。
例如,在一些实施方案中,源电子设备202使用低功耗协议(诸如蓝牙低功耗(BLE)、ZigBee等),利用对应通信信号208广播活动通告消息。设备(诸如配套电子设备204)可使用对应的低功耗机构(诸如对应网络接口内的基带处理器,例如,联网子系统106中的基带处理器)监视从源电子设备202广播的活动通告消息。在这些实施方案中的一些实施方案中,只使用针对配套电子设备204的基带处理器,活动通告消息的接收由配套电子设备204处理,这意味着配套电子设备204能够以其他方式处于空闲状态(例如,使用子系统,诸如低功耗状态的处理子系统)。例如,在一些实施方案中,配套电子设备204可为用户口袋中的处于空闲状态的智能电话,其中当处理子系统(以及通常配套电子设备204)处于低功耗状态时,基带处理器监视活动通告消息。
在一些实施方案中,在识别活动通告消息时,由此基带处理器唤醒处理子系统(并通常可使配套电子设备204从空闲操作状态过渡到更高功耗/更多活动操作状态)以执行后续操作。例如,在一些实施方案中,配套电子设备204可监视活动通告消息并对活动通告消息作出反应,如在代理人档案号为APL-P22643USP1、名称为“Operating Mode Transitionsbased on Advertising Information”、由发明人Craig P.Dooley、Akshay MangalamSrivatsa、Anjali S.Sandesara和Michael Giles在与本发明申请同一天提交的待审的美国专利申请no.xx/xxx,xxx中所述,如上文所述该专利以引用方式并入。在一些实施方案中,配套电子设备204/智能电话可不需要从用户的口袋中取出和激活,便能将配套电子设备204置于接收状态。
对扩展的活动数据请求作出响应
图6呈现了示出根据一些实施方案的用于响应于对扩展的活动数据请求的过程的流程图。更具体地讲,在图6所示的过程中,电子设备(诸如源电子设备202)对来自电子设备(诸如配套电子设备204)的扩展的活动数据请求作出响应。需注意,图6中所示的操作是作为由一些实施方案执行的操作的一般实施例来呈现的。由一些实施方案执行的操作包括不同的操作和/或按照不同次序执行的操作。另外,虽然使用某些机构(例如,源电子设备202、配套电子设备204)来描述这些操作,但在一些实施方案中,使用其他电子设备和/或机构执行这些操作。
如参考图5的步骤512所述,当源电子设备202接收到对扩展的活动数据的请求(步骤600),例如,针对配套电子设备204所传输的扩展的活动数据的请求时,图6所示的过程开始。
接着,源电子设备202使用针对扩展的活动数据的请求中的信息来确定该请求是针对第一应用程序中的扩展的活动数据(步骤602)。例如,如前文所述,针对扩展的活动数据的请求可包括来自活动通告消息的活动标识符(参见图3的步骤308)。在一些实施方案中,源电子设备202执行查找通告活动表(或存储通告的活动信息的其他结构;下文参考图12更详细地描述通告活动表的实施例)中的活动标识符功能。当源电子设备202发现通告活动表中包括来自活动通告消息的活动标识符的条目时,源电子设备202可检索活动信息的条目例如,通过确定针对条目的应用程序标识符是针对第一应用程序的应用程序标识符来确定活动标识符对应于第一应用程序(参考图11至图12更详细地描述活动信息和应用标识符的实施例)。
接着,源电子设备202任选地向第一应用程序发送通知/请求,以执行与活动相关的更新(步骤604)。在一些实施方案中,在向配套电子设备204提供扩展的活动数据之前,该通知使得第一应用程序更新扩展的活动数据。例如,第一应用程序可使用通知来更新上一次滚动/观看的与活动相关的文档的位置并且/或者来执行在传输活动之前与活动相关的结束操作,诸如保存与活动相关的文档、用与活动相关的最新文档草稿更新扩展的活动数据等。
然后,源电子设备202检索针对第一应用程序的扩展的活动数据(步骤606)。在一些实施方案中,源电子设备202请求第一应用程序提供扩展的活动数据。在一些实施方案中,第一应用程序提供一些或全部扩展的活动连同初始活动信息(参见图3步骤300)并且/或者周期性地报告扩展的活动信息(例如每N秒报告,其中N是数字,诸如1、3等;每当事件发生时报告针对第一应用程序的扩展的活动信息,诸如当文档被保存在第一应用程序中,第一应用程序中正在观看的电影被暂停时等)。
接着,源电子设备202向配套电子设备204发送扩展的活动数据(步骤608)。一般来讲,扩展的活动数据包括可用于配置第二应用程序以继续活动的信息,诸如标识用于在第一应用程序中所执行的活动的文档的文档标识符(和/或表示文档的信息,诸如文档的参考)、在第一应用程序中访问/浏览的网页的统一资源定位符(URL)(和/或表示网页/URL的信息,诸如网页/URL的参考)、位置信息(例如,上一次观看/滚动的文档或网页中的位置的指示、视频游戏中上一次播放的位置等)、存储在源电子设备202和/或存储在可在互联网上访问的存储设备(例如“云存储”)或公司网络中的草稿文档副本(和/或表示草稿文档的信息,诸如草稿文档的参考)等。
然后,源电子设备202接收到活动被传输的通知(步骤610),例如,接收到由配套电子设备204发送的通知,如参考图5的步骤518所述。在一些实施方案中,响应于接收到通知,源电子设备202通知第一应用程序活动已被传输(步骤612)。在一些实施方案中,源电子设备202和/或第一应用程序根据接收到通知而执行与活动相关的一个或多个操作,例如,内务处理任务,诸如删除本地存储的文档/文档草稿、关闭打开的文档、关闭应用程序等。
在一些实施方案中,源电子设备202使用不同于通信信号208的信号和/或使用不同于活动通告消息和/或针对扩展的活动数据的请求在其上通信的通信信道/网络接口提供扩展的活动数据。例如,源电子设备202可经蓝牙链路接收针对扩展的活动数据的请求,并可经Wi-Fi链路或互联网提供扩展的活动数据。
使用云配对安全通信
如前文所述,在一些实施方案中,执行活动传输操作的电子设备参与初步配对操作,例如“云配对”操作,诸如预定义的配对,如名称为“Predefined Wireless Pairing”、代理人档案号为APL-P22642USP1、由发明人Jason C.Conn、Akshay Mangalam Srivatsa、Craig P.Dooley和Michael Giles在与本发明申请同一天提交的待审的美国专利申请no.xx/xxx,xxx中所述,如上文所述该专利申请的内容以引用方式并入。在一些实施方案中,电子设备使用在云配对操作中所获取的安全信息(例如,使用在云配对操作中所获取的加密密钥)来加密和解密针对执行活动传输操作而彼此交换的消息。
举例来说,在一些实施方案中,源电子设备202使用在源电子设备202与配套电子设备204一起执行的云配对操作中所获取的加密密钥来加密活动通告消息(参见图3的步骤310)和/或扩展的活动数据(参见图6的步骤608)。在一些实施方案中,配套电子设备204使用在配套电子设备204与源电子设备202一起执行的云配对操作中所获取的相同的安全信息、不同的安全信息和/或来源于在云配对操作中所获取的安全信息的信息来加密针对扩展的活动数据的请求(参见图5的步骤512)和/或活动已被传输的通知(参见图5的步骤518)。
使用活动标识符确定第二应用程序
如前文所述,在一些实施方案中,电子设备确定与第一应用程序相关联的第二应用程序在电子设备中是否可用(以有助于活动到电子设备的可能传输)。图7呈现了示出根据一些实施方案的用于确定第二应用程序在配套电子设备204中是否可用的过程的流程图。图7所示的操作可在图5所示的过程期间例如在步骤504处执行。需注意,图7中所示的操作是作为由一些实施方案执行的操作的一般实施例来呈现的。由一些实施方案执行的操作包括不同的操作和/或按照不同次序执行的操作。另外,虽然使用某些机构(例如,配套电子设备204等)来描述这些操作,但在一些实施方案中,使用其他机构执行这些操作。例如,源电子设备202和第二源电子设备206中的一者或两者可执行类似的操作,以为其自身确定第二应用程序是否可用。
当配套电子设备204确定活动通告消息中的标记是否被发布时(步骤700),图7所示的过程开始。如前文所述,在一些实施方案中,源电子设备202发布活动通告消息中的标记,以指示活动标识符为/包括对通告活动的域名的表示。在这些实施方案中的一些实施方案中,配套电子设备204通过确定标记被发布而确定活动通告消息包括对域名的表示。在本具体实施方式的下文中,例如,参考图11和图13更详细地描述这些标记。
如果活动通告消息中的标记被发布(步骤700,是),则配套电子设备204处理该标记(步骤702)。下文参考图8描述发生在步骤702处的标记的处理。一些实施方案针对活动通告消息中的每个公布的标记重复步骤702(即,参考图8所述的处理),例如,当活动通告消息包括两个或更多个公布的标记时,重复针对每个公布的标记的处理。
如果活动通告消息不包括被公布的标记(步骤700,否),则配套电子设备204将来自活动通告消息的活动标识符与针对在配套电子设备204中可用的活动的活动标识符进行比较(步骤704)。例如,配套电子设备204可在配套电子设备204的可用活动表(或配套电子设备204存储可用的活动信息的其他结构,如前文参考图4所述)中的活动标识符中查找来自活动通告消息的活动标识符。
如果针对活动标识符的查找在可用的活动表中找到匹配条目(步骤706,是),则配套电子设备204确定第二应用程序是其活动标识符被存储在该条目中的应用程序(步骤708)。
如果针对活动标识符的查找未在可用的活动信息中找到匹配(步骤706,否),则配套电子设备204确定与第一应用程序相关联的应用程序在配套电子设备204中不可用(步骤710)。
使用标记确定第二应用程序
如前文所述,一些实施方案公布活动通告消息中的标记。图8呈现了示出根据一些实施方案的用于使用标记确定第二应用程序的过程的流程图。更具体地讲,图8呈现了示出配套电子设备204执行图7的步骤702的过程的流程图。需注意,图8中所示的操作是作为由一些实施方案执行的操作的一般实施例来呈现的。由一些实施方案执行的操作包括不同的操作和/或按照不同次序执行的操作。另外,虽然使用某些机构(例如,配套电子设备204等)来描述这些操作,但在一些实施方案中,使用其他机构执行这些操作。例如,源电子设备202和第二源电子设备206中的一者或两者可为其自身执行类似的操作。
当配套电子设备204确定对应于标记的应用程序时(步骤800),图8所示的过程开始。在一些实施方案中,配套电子设备204使用公布标记的位置和/或标记的值来确定对应于标记的应用程序。例如,当活动通告消息包括可被公布的不止一个标记时,每个标记均可用于标识可用于继续活动的不同应用程序。在一些实施方案中,该标记为多位字段,并且多位字段不同的值标识不同的应用程序。在一些实施方案中,配套电子设备204存储标识标记的位置/值所对应的应用程序的映射。
接着,配套电子设备204确定对应于标记的应用程序在配套电子设备204中是否可用(步骤802)。举例来说,配套电子设备204可检查对应于标记的应用程序是否安装在配套电子设备204中。在一些实施方案中,不执行/跳过步骤802,使得图8所示的过程从步骤800继续到步骤804。举例来说,在使用标记来标识仅预安装的应用程序的实施方案中不执行步骤802,其中已知这些预安装的应用程序在配套电子设备204中可用并且不可被用户卸载。
如果对应于标记的应用程序可用(步骤802,是),则配套电子设备204确定第二应用程序为对应于标记的应用程序(步骤804)。然后过程结束,该过程可包括继续进行图5的步骤506。
如果对应于标记的应用程序在配套电子设备204中不可用(步骤802,否),则过程结束。此时,配套电子设备204可确定第二应用程序不可用(例如,如图5的步骤504,否),或可继续进行图7的步骤704,以通过使用来自活动通告消息的活动标识符来确定第二应用程序是否可用。
在一些实施方案中,图8所示的过程使得不同于第一应用程序的应用程序在配套电子设备204中继续活动。举例来说,假设在以下情况下:第一应用程序为web浏览器,并且在第一应用程序中所执行的活动包括浏览社交媒体网站。在该实施例中,第二应用程序可为社交媒体应用程序,其访问在第一应用程序/web浏览器中访问的资源(例如,社交媒体用户页等)(也就是说,第二应用程序是应用程序而不是web浏览器)。通过使用标记,这些实施方案可配置社交媒体应用程序,以在web浏览器停止的同一位置处继续正在社交媒体网站上执行的活动。又如,在一些实施方案中,第一应用程序为从网站流式传输电影的独立的媒体流应用程序(诸如媒体播放器应用程序),并且第二应用程序为可流式传输电影的web浏览器。通过使用标记,这些实施方案配置web浏览器以继续播放电影,这可包括使用针对活动的扩展的活动数据以使得web浏览器在媒体流应用程序停止的位置处继续播放电影。
在一些实施方案中,源电子设备202设定活动通告消息中的第二标记(或标记的不同值)以表明源电子设备202随后将提供有关如何在配套电子设备204中继续活动的指令/信息。在一些实施方案中,对应于标记的应用程序包括有关如何在配套电子设备204中继续活动的指令/信息。在一些实施方案中,扩展的活动数据提供在配套电子设备204中继续活动的指令/信息。
使用结构存储通告活动确定第二应用程序
如前文参考图3所示,在一些实施方案中,活动通告消息中的活动标识符标识结构(例如,表)中的条目,其中通告活动的电子设备存储针对所通告活动的活动信息。图9呈现了示出根据一些实施方案的用于确定当活动标识符标识这种结构中的条目时,第二应用程序是否可用的过程的流程图。更具体地讲,在图9所示的过程中,配套电子设备204使用活动标识符来确定与第一应用程序相关联的第二应用程序在配套电子设备204中是否可用,其中活动标识符标识源电子设备202存储针对通告活动的活动信息的通告活动表中的条目(下文参考图12更详细地描述通告活动表的实施例)。需注意,图9中所示的操作是作为由一些实施方案执行的操作的一般实施例来呈现的。由一些实施方案执行的操作包括不同的操作和/或按照不同次序执行的操作。另外,虽然使用某些机构(例如,源电子设备202、配套电子设备204)来描述这些操作,但在一些实施方案中,使用其他电子设备和/或机构执行这些操作。
当配套电子设备204接收到活动标识符时,图9中所示的过程开始,其中该活动标识符标识源电子设备202存储针对通告活动的活动信息的通告活动表中的条目(步骤900)。在一些实施方案中,活动标识符包括表标识符和条目索引,表标识符标识通告活动表,其中源电子设备202存储针对通告活动的活动信息,而条目索引标识由表标识符标识的通告活动表中的条目,其中存储了针对通告活动的活动信息。在一些实施方案中,表标识符是一散列通告活动表数据。
接着,配套电子设备204确定针对活动标识符的通告活动表在配套电子设备204中是否可用(步骤902)。在一些实施方案中,配套电子设备204使用活动标识符中的表标识符来确定配套电子设备204是否已存储通告活动表的本地副本。
如果针对活动标识符的通告活动表在配套电子设备204中不可用(步骤902,否),则配套电子设备204从源电子设备202检索通告活动表(步骤904)。在一些实施方案中,配套电子设备204请求源电子设备202发送由来自活动通告消息的活动标识符标识的通告活动表,例如,由表标识符标识的通告活动表。配套电子设备204可传输这种请求,然后源电子设备202可使用通信信号208和/或不同的通信信号/不同的信道响应于该请求。
在一些实施方案中,配套电子设备204周期性地利用源电子设备202同步其通告活动表的本地副本。举例来说,配套电子设备204可使用“推送”机构接收来自源电子设备202的通告活动表的副本,即不发送针对通告活动表副本的请求。
如果针对活动标识符的通告活动表在配套电子设备204可用(步骤902,是),或者在接收到来自源电子设备202的通告活动表之后,配套电子设备204使用活动标识符来检索通告活动表中的活动信息(步骤906)。举例来说,配套电子设备204可从由条目索引所标识的通告活动表的条目中检索活动信息。
在一些实施方案中,图9中所示的操作使得描述不止一个活动的信息能够在单个活动通告消息中被通告。举例来说,在例如由于用于广播活动通告消息的网络协议的限制,活动通告消息的大小受到限制的情况下。在这种情况下,条目标识符(即标识存储活动信息的条目的活动标识符)可比编码表示小(例如,使用比活动标识符更少的位数表示),也就是说,由相同的活动信息产生的活动标识符使得这些实施方案在活动通告消息中携带多个条目标识符。
如前文参考图3所述,所述的实施方案不限于使用表格来存储可用的活动信息。一些实施方案使用不同的结构来存储可用的活动信息,诸如相联阵列、内容可寻址存储器等。在这些实施方案中,活动标识符可标识源电子设备202存储针对通告活动的活动信息的结构中的条目。举例来说,在这些实施方案中,表标识符可标识结构,并且条目索引可标识源电子设备202存储针对通告活动的活动信息的结构中的索引。
同样,虽然我们描述使用一个通告活动表的实施方案,但一些实施方案使用不止一个通告活动表,例如,将针对通告活动的活动信息存储在不同的通告活动表中。
确定最近的活动
如前文所述,网络环境200可包括第二源电子设备,其可广播针对在第二源电子设备中所执行的活动的活动通告消息。同样如前文所述,一些实施方案在活动通告消息中包括时间戳,以指示在活动通告消息中所通告活动上一次执行的时间。图10呈现了示出根据一些实施方案的用于从两个或更多个活动通告消息中确定最近活动的过程的流程图。更具体地讲,在图10所示的过程中,配套电子设备204使用包含在来自源电子设备202的通告(“活动通告”)中的时间戳和包含在来自第二源电子设备206的通告(“第二活动通告”)中的时间戳来确定在活动通告和第二活动通告中所通告的最近活动。需注意,图10中所示的操作是作为由一些实施方案执行的操作的一般实施例来呈现的。由一些实施方案执行的操作包括不同的操作和/或按照不同次序执行的操作。另外,虽然使用某些机构(例如,源电子设备202、配套电子设备204、第二源电子设备206)来描述这些操作,但在一些实施方案中,使用其他电子设备和/或机构执行这些操作。
对于图10所示的过程,假设配套电子设备204已经接收到来自源电子设备202的活动通告,例如,如图5所示。因此,配套电子设备204具有活动通告,包括包含在活动通告中的第一时间戳。
当配套电子设备204接收到第二活动通告时(步骤1000),图10中所示的过程开始。接着,配套电子设备204将包含在活动通告中的第一时间戳与包含在第二活动通告中的第二时间戳进行比较(步骤1002)。举例来说,配套电子设备204可比较这些时间戳以确定哪一者是更新的(也就是说指示更近的时间)。
如果比较表明第一时间戳更新(步骤1004,是),则配套电子设备确定在第一应用程序中所执行的活动(即在活动通告中所通告的活动)是最近的活动(步骤1006)。否则,如果比较表明第二时间戳更新(步骤1004,否),则配套电子设备204确定在第二应用程序中所执行的活动(即在第二活动通告中所通告的活动)是最近的活动(步骤1008)。
在一些实施方案中,配套电子设备204通过仅呈现对于最近通告的活动而言活动是可恢复的这一指示,来减少在配套电子设备204的显示器中向用户呈现的指示的数目(例如,如图14所示)。在一些实施方案中,配套电子设备204使用时间戳来呈现活动是可按顺序恢复的指示,以便根据相关最近程度例如,首先呈现最近的活动,然后以降序方式呈现其他通告的活动。在这些实施方案中,两个或更多个指示可根据对应活动的相关最近程度一个叠一个等地并排呈现。
在一些实施方案中,配套电子设备204使用此前已经继续的活动历史来呈现针对可按顺序恢复的活动的指示。在一些实施方案中,配套电子设备204按照顺序将此前已经继续的活动排得更高,也就是说,将此前已经继续的活动是可恢复的指示呈现在此前未继续的活动是可恢复的指示之前。在一些实施方案中,根据每个对应活动此前已经继续的次数,按照顺序呈现两个或更多个指示。
活动信息
如前文所述,一些实施方案使用描述在电子设备中所执行的活动的活动信息。图11呈现了根据一些实施方案示出活动信息1100、活动信息1110和活动信息1120的框图。需注意,图11所示的活动信息1100、活动信息1110和活动信息1120是作为一些实施方案所用的活动信息格式的一般实施例呈现的。一些实施方案使用不同的格式和/或包括活动信息中的不同信息。
活动信息1100包括应用程序标识符1102,其标识用于执行活动信息1100中所述的活动的应用程序。举例来说,包括字符串com.apple.Keynote的应用程序标识符1102标识应用程序Keynote,一种可用于编辑和查看展示内容的应用程序。活动描述符1104包括字符串EditPresentation,该字符串标识利用应用程序Keynote作为编辑展示内容的方式所执行的活动。包括字符串/数字103的时间戳1106标识上一次执行活动的时间,例如,用户上一次在应用程序Keynote中编辑展示内容的时间。时间戳可指示上一次执行活动的实际时间(例如,挂钟时间(或其代表,诸如系统时间)),或者其可表示自整点之后上一次执行活动以来或自同步事件以来所经过的时间。在一些实施方案中,时间戳可指示上一次使用(例如用户上一次主动使用)源电子设备202的实际时间(例如,绝对/挂钟时间(或其代表,诸如系统时间)),或者其可表示自整点之后上一次使用源电子设备202以来或自同步事件以来所经过的时间。在活动信息1100中,未公布标记1108。
活动信息1110包括应用程序标识符1112,其标识用于执行活动信息1110中所述的活动的应用程序。举例来说,包括字符串com.apple.Mail的应用程序标识符1112标识应用程序Mail,一种可用于编写和发送电子邮件消息的应用程序。活动描述符1114包括字符串ComposeDraft,以标识利用应用程序Mail所执行的活动包括编写消息草稿。包括字符串/数字315的时间戳1116标识上一次执行活动的时间,例如,用户上一次使用Mail编辑草稿的时间。针对活动信息1110的标记1118未被公布。
活动信息1120包括应用程序标识符1122,其标识用于执行活动信息1120中所述的活动的应用程序。举例来说,包括字符串com.apple.Safari的应用程序标识符1122标识应用程序web浏览器Safari。活动描述符1124包括字符串www.evideostreamer.com,其标识用web浏览器访问的域名。在该实施例中,活动描述符1124保存域名,因此活动信息1120中的标记1128为公布的标记1128,以表明活动描述1124包含域名。包括字符串/数字820的时间戳1126标识上一次使用web浏览器来访问移动流网站的时间。
活动信息1130包括应用程序标识符1132,其标识用于执行活动信息1130中所述的活动的应用程序。举例来说,包括字符串com.CompanyA.MediaPlayer的应用程序标识符1132标识应用程序MediaPlayer(在本实施例中其是由开发者CompanyA开发的),一款可用于播放和记录多媒体内容的应用程序。活动描述符1134包括字符串PlayVideo,以标识利用应用程序MediaPlayer所执行的活动包括播放视频,即视频回放。包括字符串/数字902的时间戳1136标识上一次执行活动的时间,例如,用户上一次使用MediaPlayer播放视频的时间。针对活动信息1130的标记1138未被公布。
出于例示性目的,将图11中所示的时间戳计算为来自同步事件的Δ(差值),例如,整点。因此,在图11所示的实施例中,利用活动信息1100所描述的活动是最近的活动,因为时间戳1106表明,自执行利用活动信息1100所描述的活动以来从整点所经过的时间最少。
需注意,虽然图11所示的实施例使用针对应用程序标识符和活动描述符的字符串,但一些实施方案也可使用不同的信息来标识应用程序和/或活动。例如,一些实施方案使用数值标识符作为应用程序标识符和/或活动描述符。在一些实施方案中,应用程序标识符为用于在线“应用程序商店”中对应的应用程序的标识符。在一些实施方案中,应用程序标识符包括一部分或全部捆绑标识符,例如,捆绑ID。同样,虽然所示应用程序标识符与活动描述符分开,但一些实施方案将应用程序标识符和活动描述符组合在单个标识符中。
在一些实施方案中,应用程序开发者提供针对活动描述符(诸如活动描述符1104、活动描述符1114、活动描述符1124和活动描述符1134)的信息。在这些实施方案中,应用程序的开发者可确定针对应用程序的活动数量,并可提供活动描述符的相关值。
通告活动表
图12呈现了示出根据一些实施方案的通告活动表1200的框图。如上文所述,通告活动表1200包括关于已被通告的活动(即,针对其的活动通告消息已经由电子设备(诸如源电子设备202)发送的活动)的信息。需注意,图12中所示的通告活动表是作为被一些实施方案使用的通告活动表的一般实施例来呈现的。一些实施方案以不同的方式表示活动信息,并且/或者包括通告活动表中的或多或少的信息。
由条目索引1206所标识的条目1202存储活动信息1100和活动标识符1204。在该实施例中,使用应用程序标识符1102和活动描述符1104生成活动标识符1204,诸如一散列字符串“com.apple.Keynote::EditPresentation”。
由条目索引1216所标识的条目1212存储活动信息1110和活动标识符1214。在该实施例中,使用应用程序标识符1112和活动描述符1114生成活动标识符1214,诸如一散列字符串“com.apple.Mail::ComposeDraft”。
由条目索引1226所标识的条目1222存储活动信息1120和活动标识符1224。在该实施例中,使用活动描述符1124生成活动标识符1224,诸如一散列字符串www.evideostreamer.com。
由条目索引1236所标识的条目1232存储活动信息1130和活动标识符1234。在该实施例中,使用应用程序标识符1132和活动描述符1134生成活动标识符1234,诸如一散列字符串“com.CompanyA.MediaPlayer::PlayVideo”。
出于例示性目的,条目1202-1232分别存储全部活动信息1100-1130。但需注意,在一些实施方案中,条目1202-1232分别存储仅一部分活动信息1100-1130。例如,一些实施方案在条目1202-1232中不存储时间戳1106-1136。
可用的活动表
在一些实施方案中,上述可用的活动表的格式类似于图12所示的通告活动表1200。但是,可用的活动表中的条目包括针对在对应电子设备(例如,配套电子设备204)中可用的应用程序的应用程序信息。
活动通告消息
图13呈现了示出根据一些实施方案的活动通告1300(例如活动通告消息)的框图。需注意,图13中所示的活动通告消息是作为被一些实施方案使用的活动通告信息的一般实施例来呈现的。一些实施方案以不同的方式对活动通告消息中的字段进行排序,并且/或者包括活动通告消息中的不同信息。
活动通告消息1300任选地包括设备ID字段1302和版本ID字段1304。设备ID字段1302包括标识符,其标识发送活动通告消息1300的设备,例如标识源电子设备202。版本ID字段1304包括版本标识符,诸如配套电子设备204可用于确定如何格式化活动信息1300中的字段和/或信息在字段中如何存储的版本标识符。
活动标识符字段1306包括活动标识符,例如,活动标识符1204-1224中的一者或多者。标记字段1308包括对应于通告活动的一个或多个标记,例如,标记1108-1128。
时间戳字段1310包括针对在活动标识符字段1306中通告的活动的时间戳,例如,时间戳1106-1126中的一者或多者。
可恢复的活动指示
如前文所述,一些实施方案在请求扩展的活动数据之前呈现活动是可恢复的指示。图14呈现了示出根据一些实施方案的可恢复的活动的指示(也就是说,活动是可恢复的指示)的框图。更具体地讲,图14示出了在配套电子设备204的显示器1400上显示的可恢复的活动指示。需注意,图14中所示的可恢复的活动指示是作为被一些实施方案使用的可恢复的活动指示的一般实施例来呈现的。一些实施方案使用不同的可恢复的活动指示,并且/或者以不同的方式呈现可恢复的活动指示。
在例示的实施方案中,配套电子设备204为包括触摸屏显示器1400的智能手机。图14中所示的实施方案处于接收状态,因为显示器1400用显示短语“滑动解锁”的解锁指示器1402示出锁屏。一般来讲,配套电子设备204的用户利用解锁指示器1402执行操作以解锁配套电子设备204,诸如用手指在显示器1400上滑动解锁指示器1402的图形。
可恢复的活动指示1404包括图形,例如,用户可操纵以接受(或拒绝)活动传输的图标。在图14中,可恢复的活动指示1404包括类似于信封的图标,其指示可恢复的活动包括使用邮件应用程序。在一些实施方案中,用户可通过点击/触摸可恢复的活动指示1404和/或通过沿显示器1400上的路径移动可恢复的活动指示1404来接受活动传输。举例来说,在一些实施方案中,用户可通过沿着或靠近路径1406(以虚线示出)触摸并拖曳可恢复的活动指示1404而接受活动传输。
出于例示性目的,可恢复的活动指示1404在配套电子设备204的锁屏中示出。在一些实施方案中,可恢复的活动指示1404可通过使用通知窗口/弹出窗口等在不同的屏幕/位置处示出,例如,在解锁屏处、在菜单栏处。同样,可恢复的活动指示1404的位置、大小、图形、颜色和/或其他视觉特征可在不同的实施方案中有所不同,并且可取决于可被恢复的活动的类型。例如,在一些实施方案中,配套电子设备204根据用于通告活动的应用程序标识符来确定可恢复的活动指示1404中所示的图形。又如,在一些实施方案中,可恢复的活动指示1404在显示器1400的左下角处示出。一些实施方案同时呈现多个可恢复的活动指示器。
需注意,接受(或拒绝)活动传输可包括沿不同于路径1406的路径(例如沿弯曲路径等)移动可恢复的活动指示1404例如到屏幕的顶部。在一些实施方案中,用户可通过点击可恢复的活动指示1404、通过轻敲可恢复的活动指示1404、通过滑动可恢复的活动指示1404、通过执行使用可恢复的活动指示1404的手势等接受活动传输。
自动和手动活动通告
在一些实施方案中,一旦接收到活动信息,源电子设备202便根据检测到的源电子设备202的位置等,例如以预先确定的时间间隔自动广播活动通告。在这些实施方案中,源电子设备202可提供用户可用于打开或关闭活动通告广播的设置,例如,系统偏好。
在一些实施方案中,源电子设备202手动打开活动通告广播,也就是说,等待用户输入才开始广播活动通告。在这些实施方案中的一些实施方案中,在检测到用户的输入时,源电子设备202开始广播活动通告,并继续广播活动通告一段预先确定的时间和/或直到用户提供引导源电子设备202停止活动通告的输入。在一些实施方案中,用于开始和/或停止活动通告的用户输入包括源电子设备202的运动(例如,摇动源电子设备202、以弧形移动源电子设备202、摆动源电子设备202等)、在源电子设备202的触摸屏上执行一个或多个手势、按下按键和/或按钮组合等。
在一些实施方案中,活动通告消息和/或源电子设备202发送到配套电子设备204的消息连同活动通告消息一起(即,除了活动通告消息之外)使得配套电子设备204开始定时器。在一些实施方案中,配套电子设备204保持为如上文所述的接收状态直至此定时器结束。源电子设备202可向配套电子设备204提供定时器的结束时间,或者配套电子设备204可确定结束时间。
在一些实施方案中,配套电子设备204呈现活动是可恢复的指示直至定时器结束,并且如果用户接受该指示,则继续配套电子设备204中的活动,而用户不必执行一个或多个操作(例如,指纹扫描、密码条目等)来解锁配套电子设备204。更具体地讲,配套电子设备204可检测用户已接受指示并可绕过锁屏/解锁操作,允许用户开始使用配套电子设备204,而未解锁配套电子设备204。在一些实施方案中,用户仅可在定时器结束之前绕过锁屏/解锁操作。
活动继续框架
在一些实施方案中,第三方应用程序通过在可参与活动传输操作的电子设备中可用的“活动继续”框架接收对一些或全部活动传输操作的访问,例如,前文参考图3至图10所述的操作。活动继续框架可提供第三方应用程序来访问执行至少一些活动传输操作的操作系统功能、守护进程、过程、服务等。举例来说,在一些实施方案中,电子设备和/或电子设备的操作系统的供应商提供应用编程接口(API),第三方应用程序通过该接口可调用有利于活动传输操作的功能。在一些实施方案中,活动继续框架使得第三方应用程序(和第三方应用程序开发者)从一个电子设备向另一电子设备传输活动,而未执行(或甚至了解)活动继续的底层细节。
例如,在一些实施方案中,为了使第三方应用程序能够参与活动传输操作,第三方应用程序开发者提供了针对第三方应用程序可执行的活动的活动描述符和用于使第三方应用程序被配置为执行活动的方法。在这些实施方案中的一些实施方案中,在电子设备(诸如源电子设备202)中,第三方应用程序调用由活动继续框架所提供的功能,从而提供针对在第三方应用程序中所执行的活动的活动描述符(以及可能扩展的活动数据)。在电子设备(诸如配套电子设备204)中,为了配置第三方应用程序执行活动,活动继续框架可(例如,通过命令行开关或参数,通过使用对象等)将扩展的活动数据传递到第三方应用程序。因此,活动继续框架可有利于第三方应用程序继续活动,而只需应用程序开发者付出最小的努力和最低的花费。
电子设备之间交换的消息
图15呈现了示出根据一些实施方案的电子设备之间交换的消息的泳道图。如可在图15中看出,一段时间以后消息在源电子设备202和配套电子设备204之间交换,首先在时间上出现活动通告1500,随后出现下方消息。虽然图15示出消息以特定顺序交换,但在一些实施方案中,其他消息也发生交换并且/或者消息以不同的顺序交换。一般来讲,所述实施方案中的电子设备交换足够多的消息以实现本文所述的操作。
图15中的消息与由源电子设备202和/或配套电子设备204所执行的两个操作相关。包括通告1500的第一操作为活动通告操作,诸如图3所示的操作。在活动通告操作中,源电子设备202广播至少一个活动通告1500。
包括针对扩展的活动数据的请求1502、针对扩展的活动数据的请求1504和针对活动传输通知的请求1506的第二操作是活动传输操作,诸如图5至图6所示的操作。在活动传输操作中,配套电子设备204借助针对扩展的活动数据的请求1502而对活动通告1500作出响应。当接收到针对扩展的活动数据的请求1502时,源电子设备202通过发送扩展的活动数据1504而作出响应。在一些实施方案中,在配套电子设备204使用扩展的活动数据开始执行第二应用程序中的活动之后,配套电子设备204发送活动传输通知1506使源电子设备202知晓活动已被传输。
前面对实施方案的描述仅仅是为了举例说明和阐述的目的。它们并不是穷举性的,也不是要将实施方案限制为所公开的形式。因此,对于本领域的技术人员而言,许多修改和变型将是显而易见的。因此,上面的公开内容并不旨在对实施方案进行限制。本实施方案的范围由所附权利要求来限定。

Claims (14)

1.一种由配套电子设备执行的方法,包括:
在配套电子设备中,执行以下操作:
接收来自第一源电子设备的活动通告消息,所述活动通告消息包括关于在所述第一源电子设备的第一应用程序中所执行的活动的活动信息的编码表示,所述编码表示是通过对所述活动信息应用创建比所述活动信息小的所述编码表示的函数而创建的,其中所述活动信息包括识别第一应用程序的标识符和识别在第一应用程序中执行的所述活动的活动描述符;
对照多个活动描述符表示来评估所述编码表示以识别所述活动,所述多个活动描述符表示中的每一个包括识别可用应用的标识符和识别使用该可用应用来执行的活动的活动描述符;
基于所述评估来确定与所述活动相关联的第二应用程序在所述配套电子设备处可用,第二应用程序由所述多个活动描述符表示中的至少一个识别,其中第二应用程序不同于第一应用程序;
从所述第一源电子设备为所述活动请求扩展的活动数据;
使用从所述第一源电子设备接收的所述扩展的活动数据来配置所述配套电子设备中的所述第二应用程序,以执行对应活动;以及
在所述配套电子设备的所述第二应用程序中开始执行所述对应活动。
2.根据权利要求1所述的方法,还包括:
在所述配套电子设备中,执行以下操作:
确定所述活动通告消息中的标记被公布,所述标记指示所述活动通告消息包括对所述活动的域名的表示;以及
使用所述标记确定与所述第一应用程序相关联的所述第二应用程序,其中所述对应活动包括所述第二应用程序访问所述域名处的资源。
3.根据权利要求1所述的方法,还包括:
在所述配套电子设备中,执行以下操作:
在请求所述扩展的活动数据之前,呈现所述活动是可恢复的指示,所述指示呈现在所述配套电子设备处;以及
当接收到接受所述指示时,执行所述使用和所述开始操作。
4.根据权利要求1所述的方法,其中所述活动与云存储文档相关联,并且其中所述扩展的活动数据包括针对所述云存储文档的标识符。
5.根据权利要求1所述的方法,还包括:
在所述配套电子设备中,执行以下操作:
向所述第一源电子设备发送通知,以使得所述第一应用程序停止执行所述活动。
6.根据权利要求1所述的方法,还包括:
在所述配套电子设备中,执行以下操作:
接收来自第二源电子设备的第二活动通告消息,所述第二活动通告消息包括关于在所述第二源电子设备中所执行的活动的信息;以及
基于将包含在所述活动通告消息中的时间戳与包含在所述第二活动通告消息中的时间戳进行比较,确定在所述第一源电子设备的所述第一应用程序中所执行的活动是在所述第一源电子设备的所述第一应用程序中所执行的活动和在所述第二源电子设备中所执行的活动中的最近活动。
7.根据权利要求1所述的方法,其中所述活动通告和所述扩展的活动数据使用蓝牙低功耗(BLE)网络协议进行通信。
8.一种配套电子设备,包括:
处理子系统;和
联网子系统;
其中所述处理子系统和所述联网子系统被配置为执行以下操作:
接收来自第一源电子设备的活动通告消息,所述活动通告消息包括关于在所述第一源电子设备的第一应用程序中所执行的活动的活动信息的编码表示,所述编码表示是通过对所述活动信息应用创建比所述活动信息小的所述编码表示的函数而创建的,其中所述活动信息包括识别第一应用程序的标识符和识别在第一应用程序中执行的所述活动的活动描述符;
对照多个活动描述符表示来评估所述编码表示以识别所述活动,所述多个活动描述符表示中的每一个包括识别可用应用的标识符和识别使用该可用应用来执行的活动的活动描述符;
基于所述评估来确定与所述活动相关联的第二应用程序在所述配套电子设备处可用,第二应用程序由所述多个活动描述符表示中的至少一个识别,第二应用程序不同于第一应用程序;
从所述第一源电子设备为所述活动请求扩展的活动数据;
使用从所述第一源电子设备接收的所述扩展的活动数据来配置所述配套电子设备中的所述第二应用程序,以执行对应活动;以及
在所述配套电子设备的所述第二应用程序中开始执行所述对应活动。
9.根据权利要求8所述的配套电子设备,其中所述处理子系统和所述联网子系统还被配置为执行以下操作:
确定所述活动通告消息中的标记被公布,所述标记指示所述活动通告消息包括对所述活动的域名的表示;以及
使用所述标记确定与所述第一应用程序相关联的所述第二应用程序,其中所述对应活动包括所述第二应用程序访问所述域名处的资源。
10.根据权利要求8所述的配套电子设备,其中所述处理子系统和所述联网子系统还被配置为执行以下操作:
在请求所述扩展的活动数据之前,呈现所述活动是可恢复的指示,所述指示呈现在所述配套电子设备中;以及
当接收到接受所述指示时,执行所述使用和所述开始操作。
11.根据权利要求8所述的配套电子设备,其中所述活动与云存储文档相关联,并且其中所述扩展的活动数据包括针对所述云存储文档的标识符。
12.根据权利要求8所述的配套电子设备,其中所述处理子系统和所述联网子系统还被配置为执行以下操作:
向所述第一源电子设备发送通知,以使得所述第一应用程序停止执行所述活动。
13.根据权利要求8所述的配套电子设备,其中所述处理子系统和所述联网子系统还被配置为执行以下操作:
接收来自第二源电子设备的第二活动通告消息,所述第二活动通告消息包括关于在所述第二源电子设备中所执行的活动的信息;以及
基于将包含在所述活动通告消息中的时间戳与包含在所述第二活动通告消息中的时间戳进行比较,确定在所述第一源电子设备的所述第一应用程序中所执行的活动是在所述第一源电子设备的所述第一应用程序中所执行的活动和在所述第二源电子设备中所执行的活动中的最近活动。
14.根据权利要求8所述的配套电子设备,其中所述活动通告和所述扩展的活动数据使用BLE网络协议进行通信。
CN201580028407.8A 2014-05-30 2015-04-07 在电子设备之间继续活动 Active CN106462454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010103519.8A CN111309465A (zh) 2014-05-30 2015-04-07 在电子设备之间继续活动

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462005781P 2014-05-30 2014-05-30
US62/005,781 2014-05-30
US14/586,566 2014-12-30
US14/586,566 US10193987B2 (en) 2014-05-30 2014-12-30 Activity continuation between electronic devices
PCT/US2015/024785 WO2015183414A1 (en) 2014-05-30 2015-04-07 Activity continuation between electronic devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010103519.8A Division CN111309465A (zh) 2014-05-30 2015-04-07 在电子设备之间继续活动

Publications (2)

Publication Number Publication Date
CN106462454A CN106462454A (zh) 2017-02-22
CN106462454B true CN106462454B (zh) 2020-02-21

Family

ID=53016751

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580028407.8A Active CN106462454B (zh) 2014-05-30 2015-04-07 在电子设备之间继续活动
CN202010103519.8A Pending CN111309465A (zh) 2014-05-30 2015-04-07 在电子设备之间继续活动

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010103519.8A Pending CN111309465A (zh) 2014-05-30 2015-04-07 在电子设备之间继续活动

Country Status (6)

Country Link
US (2) US10193987B2 (zh)
EP (2) EP3149579A1 (zh)
KR (5) KR102084577B1 (zh)
CN (2) CN106462454B (zh)
AU (3) AU2015267625B2 (zh)
WO (1) WO2015183414A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5857636B2 (ja) * 2011-11-02 2016-02-10 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US9826343B2 (en) * 2014-05-15 2017-11-21 Lg Electronics Inc. Method and device for transmitting and receiving data by using Bluetooth low energy technology in wireless communication system
US10187770B2 (en) 2014-05-30 2019-01-22 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10237711B2 (en) 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices
US10055567B2 (en) 2014-05-30 2018-08-21 Apple Inc. Proximity unlock and lock operations for electronic devices
US9451438B2 (en) 2014-05-30 2016-09-20 Apple Inc. Predefined wireless pairing
US9549375B2 (en) * 2014-05-30 2017-01-17 Apple Inc. Operating-mode transitions based on advertising information
US9380123B2 (en) * 2014-05-30 2016-06-28 Apple Inc. Activity continuation between electronic devices
US10193987B2 (en) 2014-05-30 2019-01-29 Apple Inc. Activity continuation between electronic devices
KR102369319B1 (ko) 2015-11-17 2022-03-03 삼성전자주식회사 전자 장치 및 전자 장치의 핸드오프 기능 제공 방법
US10430040B2 (en) 2016-01-18 2019-10-01 Microsoft Technology Licensing, Llc Method and an apparatus for providing a multitasking view
US10015230B1 (en) 2016-02-09 2018-07-03 Robert Buergi Copying and pasting among networked devices
US10681182B1 (en) * 2016-04-06 2020-06-09 Uipco, Llc Multi-device work flow management method and system for managing work flow data collection for users across a diverse set of devices and processes by unifying the work process to be data and device agnostic
US20170347226A1 (en) 2016-05-30 2017-11-30 Apple Inc. Copy And Paste Between Devices
US10306586B2 (en) 2016-06-10 2019-05-28 Apple Inc. Coordinated notifications
CN108733458B (zh) * 2018-04-23 2021-03-23 维沃移动通信有限公司 一种播放内容的方法及终端
US20190370094A1 (en) 2018-06-01 2019-12-05 Apple Inc. Direct input from a remote device
WO2020096412A1 (ko) * 2018-11-08 2020-05-14 엘지전자 주식회사 블루투스 기술을 이용하여 오디오 데이터를 수신하기 위한 방법 및 이에 대한 장치
WO2021080364A1 (en) 2019-10-25 2021-04-29 Samsung Electronics Co., Ltd. Method for communicating with external electronic apparatus and electronic apparatus thereof
WO2023080434A1 (ko) * 2021-11-03 2023-05-11 삼성전자 주식회사 지오펜스를 이용하는 전자 장치 및 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103782588A (zh) * 2011-06-28 2014-05-07 亚马逊技术公司 在电子装置之间传输状态信息

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6522875B1 (en) 1998-11-17 2003-02-18 Eric Morgan Dowling Geographical web browser, methods, apparatus and systems
JP2002532922A (ja) 1998-12-04 2002-10-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 活動をサポートするシステム
GB0207454D0 (en) 2002-03-28 2002-05-08 British Telecomm Method of data transfer in mobile and fixed telecommunications systems
US7085595B2 (en) 2003-12-16 2006-08-01 Intel Corporation Power saving in a wireless local area network
WO2005109829A1 (en) 2004-05-06 2005-11-17 Koninklijke Philips Electronics N.V. Method device and program for seamlessly transferring the execution of a software application from a first to a second device
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
JP2007318575A (ja) 2006-05-29 2007-12-06 Hitachi Ltd 通信サービス提供に用いる端末の切替え方法及び端末装置
US8583090B2 (en) 2006-12-29 2013-11-12 Nokia Corporation Transferring task completion to another device
JP5239618B2 (ja) * 2008-08-19 2013-07-17 沖電気工業株式会社 アドレス変換装置、方法及びプログラム、並びにノード
US8850052B2 (en) 2008-09-30 2014-09-30 Apple Inc. System and method for simplified resource sharing
KR101285113B1 (ko) 2008-10-31 2013-07-17 에스케이플래닛 주식회사 컨텐츠 전달 시스템, 방법, 서비스 서버, 이동통신단말기 및 저장 매체
FI20095120A0 (fi) 2009-02-09 2009-02-09 Valtion Teknillinen NFC-leikepöytä ja tähän liittyvä menetelmä
US9306813B2 (en) * 2009-12-23 2016-04-05 Apple Inc. Efficient service advertisement and discovery in a peer-to-peer networking environment with cooperative advertisement
US8473577B2 (en) 2010-10-13 2013-06-25 Google Inc. Continuous application execution between multiple devices
US20120096368A1 (en) 2010-10-14 2012-04-19 Microsoft Corporation Cloud-based virtual clipboard
US8990273B2 (en) 2011-01-13 2015-03-24 Apple Inc. Ad hoc file sharing
GB201109519D0 (en) * 2011-06-07 2011-07-20 Nordic Semiconductor Asa Streamed radio communication
KR101209951B1 (ko) 2011-06-10 2012-12-07 주식회사 캐스트이즈 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법
KR102006741B1 (ko) * 2011-08-24 2019-09-02 삼성전자 주식회사 디바이스의 액티비티 공유 방법 및 시스템
KR20130041600A (ko) 2011-10-17 2013-04-25 주식회사 케이티 이종 플랫폼 단말 간 컨텐츠 이어보기 서비스 제공 장치 및 방법
WO2013091649A2 (en) * 2011-12-22 2013-06-27 Vestas Wind Systems A/S A wind turbine blade ice accretion detector
US9507630B2 (en) 2012-02-09 2016-11-29 Cisco Technology, Inc. Application context transfer for distributed computing resources
WO2013136742A1 (ja) 2012-03-14 2013-09-19 パナソニック株式会社 車載通話装置
US8909886B1 (en) 2012-03-31 2014-12-09 Emc Corporation System and method for improving cache performance upon detecting a migration event
US8751451B2 (en) 2012-04-12 2014-06-10 Nokia Corporation Method and apparatus for facilitating switching between devices
US9003299B2 (en) 2012-06-08 2015-04-07 Apple Inc. Extensible application state preservation architecture
US9098177B2 (en) * 2012-12-13 2015-08-04 Google Technology Holdings LLC Apparatus and methods for facilitating context handoff between devices in a cloud based wireless personal area network
US20140188802A1 (en) 2012-12-31 2014-07-03 Appsense Limited Pull and paste
US9270708B2 (en) 2013-02-20 2016-02-23 Apple Inc. System and method of establishing communication between electronic devices
US8964947B1 (en) 2013-03-11 2015-02-24 Amazon Technologies, Inc. Approaches for sharing data between electronic devices
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9294282B1 (en) * 2013-07-01 2016-03-22 Amazon Technologies, Inc. Cryptographically verified repeatable virtualized computing
US20150012861A1 (en) 2013-07-02 2015-01-08 Dropbox, Inc. Syncing content clipboard
CN104426744A (zh) * 2013-08-30 2015-03-18 中兴通讯股份有限公司 多媒体内容的同步播放方法、服务器、客户端及系统
EP3047700A4 (en) 2013-09-18 2017-02-15 Nokia Technologies OY Bluetooth low energy packets
US9491229B1 (en) 2014-01-24 2016-11-08 Google Inc. Application experience sharing system
US9569620B2 (en) * 2014-02-18 2017-02-14 Dell Products, Lp Method for processing UEFI protocols and system therefor
US10237711B2 (en) 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices
US9380123B2 (en) 2014-05-30 2016-06-28 Apple Inc. Activity continuation between electronic devices
US10193987B2 (en) 2014-05-30 2019-01-29 Apple Inc. Activity continuation between electronic devices
US10187770B2 (en) 2014-05-30 2019-01-22 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
CN107949830B (zh) 2015-08-31 2022-05-06 苹果公司 将与活动相关的信息从源电子装置转发至伴随电子装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103782588A (zh) * 2011-06-28 2014-05-07 亚马逊技术公司 在电子装置之间传输状态信息

Also Published As

Publication number Publication date
US10193987B2 (en) 2019-01-29
KR102191318B1 (ko) 2020-12-15
EP3832463A1 (en) 2021-06-09
KR102084577B1 (ko) 2020-03-04
CN106462454A (zh) 2017-02-22
KR101855866B1 (ko) 2018-06-19
KR20180086514A (ko) 2018-07-31
KR20180050759A (ko) 2018-05-15
US20150350355A1 (en) 2015-12-03
US10708371B2 (en) 2020-07-07
WO2015183414A1 (en) 2015-12-03
AU2018202458B2 (en) 2019-11-21
AU2020200339A1 (en) 2020-02-06
KR20200140944A (ko) 2020-12-16
AU2018202458A1 (en) 2018-04-26
AU2015267625A1 (en) 2016-10-27
KR20200024348A (ko) 2020-03-06
AU2020200339B2 (en) 2021-05-27
KR20160148646A (ko) 2016-12-26
CN111309465A (zh) 2020-06-19
US20190166212A1 (en) 2019-05-30
KR101932395B1 (ko) 2018-12-24
KR102294205B1 (ko) 2021-08-25
AU2015267625B2 (en) 2018-02-22
EP3149579A1 (en) 2017-04-05

Similar Documents

Publication Publication Date Title
CN106462454B (zh) 在电子设备之间继续活动
US11356829B2 (en) Dynamic types for activity continuation between electronic devices
US9948728B2 (en) Continuing an activity commenced on a source device with a companion device
US10667109B2 (en) Forwarding activity-related information from source electronic devices to companion electronic devices
CN110727525B (zh) 用于活动协作的配套应用程序
CN107949830B (zh) 将与活动相关的信息从源电子装置转发至伴随电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant