掌桥专利:专业的专利平台
掌桥专利
首页

从用户设备提供最近的应用视图

文献发布时间:2023-06-19 11:55:48


从用户设备提供最近的应用视图

技术领域

本公开总体上涉及用于提供用户最近使用的应用的视图的技术,并且更具体地,涉及用于提供由在除用于显示视图的用户设备之外的一个或多个用户设备上执行的一个或多个最近使用的应用显示的用户界面的视图的技术。

背景技术

众所周知,信息技术的用户有时期望访问他们最近使用的应用的视图。例如,用户可以在一个时间点停止使用一个或多个应用(例如,由于被高优先级任务中断),然后在稍后的时间点(例如,当中断结束时)恢复从事他们在中断时正在从事的任务。在这种情况下,对于用户而言,查看他们先前正在使用的一个或多个应用的用户界面的内容通常是有用的,这是由于用户界面在用户被中断时出现。

各种用例说明了提供最近使用的应用的视图的价值。在一些情况下,最近使用的应用的用户界面的内容对于用户可能是有用的,从而使用户可以避免不必要地执行先前完成的任务。例如,最近使用的应用的用户界面的视图可以指示先前输入了特定的用户数据,从而使得用户能够避免重新输入先前输入的信息和/或查看和/或重新使用先前输入的数据。类似地,最近使用的应用的用户界面的视图可以包括从应用输出的结果,该结果由用于执行先前完成的任务的应用产生。在另一示例中,用户在他们被中断时可能正在使用应用来阅读文档,并且中断时的应用的用户界面的视图可以指示文档中的用户最后阅读的特定位置,从而使得用户能够稍后使用相同的应用或不同的应用从文档内的正确点恢复阅读文档。本领域技术人员将认识到,前述示例不是穷举的,并且存在提供最近使用的应用的视图的有用性的许多其他的示例,其涉及其他特定用例、反映特定应用的操作和/或取决于用户正在执行的一个或多个特定任务。

发明内容

现代信息技术用户经常使用多个不同的计算设备来满足他们的工作和/或个人计算需求,并且频繁地从一个计算设备移动到另一个计算设备。在这些情况下,用户越来越期望能够从除他们当前正在使用的计算设备之外的一个或多个计算设备获得一个或多个最近使用的应用的视图。当应用在除用户当前正在使用的计算设备之外的计算设备上运行时,特别是当其他计算设备包括诸如智能电话或平板电脑之类的移动设备时,用于提供最近使用的应用的视图的先前技术在提供最近使用的应用的视图方面具有缺点。

例如,一些先前的计算系统仅允许用户查看他们当前正在使用的在计算设备上最近执行的应用。就此而言,一些现有的移动计算设备允许用户通过按钮按下或按钮按下组合在移动设备上显示最近执行的应用的视图。例如,在由苹果Inc.制造的某些

一些先前的虚拟工作空间已提供了最近使用的应用的视图,这些应用被远程地托管,并且例如使用诸如浏览器或工作空间客户端之类的客户端程序来通过虚拟工作空间访问。通过这些系统,用户可以从一个计算设备移动到另一个计算设备,并且获得通过虚拟工作空间最近访问的应用的视图。然而,出于性能的目的,在移动设备上执行的应用通常被设计为直接在它们所使用的移动设备的硬件上执行的“本机”应用,因此无法通过先前的虚拟工作空间应用提供给用户。由于先前的虚拟工作空间应用仅提供通过虚拟工作空间应用提供的托管应用的最近应用视图,因此它们不提供用户最近使用且直接在用户的移动设备上执行的本机应用的视图。

为了解决先前技术的上述和其他缺点,在本文描述了用于提供用户最近使用的应用的视图的新技术。在所公开的技术中,响应于检测到用户已停止使用在用户设备上执行的应用,捕获在用户设备上执行的应用的最后任务视图。在用户设备上执行的应用的最后任务视图包括当用户停止使用在用户设备上执行的应用时由在用户设备上执行的应用在用户设备上显示的用户界面的内容。将在用户设备上执行的应用的最后任务视图从用户设备发送到服务器(例如,虚拟工作空间服务器),并且存储到位于服务器中的最近应用视图储存库中。

将用户最近使用的应用的视图(包括在用户设备上执行的应用的最后任务视图)从最近应用视图储存库输出到在服务器上执行的查看器应用。然后,在服务器上执行的查看器应用向用户显示用户最近使用的应用的视图。

在一些实施例中,用户设备可以是移动设备,并且在用户设备上执行的应用可以是在移动设备上执行的本机应用。在用户设备上执行的应用的最后任务视图可以是当用户停止使用在移动设备上执行的本机应用时由在移动设备上执行的本机应用在移动设备的显示设备上显示的用户界面的捕获图像。

在一些实施例中,通过在服务器上执行的查看器应用向用户显示用户最近使用的应用的视图还可以包括:将用户最近使用的应用的视图从服务器发送到除移动设备之外的用户设备;以及在除移动设备之外的用户设备的显示设备中显示的用户界面中显示用户最近使用的应用的视图。

在一些实施例中,检测到用户已停止使用在用户设备上执行的应用可以包括以下项或由以下项组成:检测到在用户设备上执行的应用的用户界面已移动到在用户设备的显示设备中显示的图形用户界面的后台。当在用户设备上执行的应用的用户界面移动到在用户设备的显示设备中显示的图形用户界面的后台时,在用户设备上执行的应用的最后任务视图可以包括以下项或由以下项组成:由在用户设备上执行的应用显示的用户界面的内容。

在一些实施例中,检测到用户已停止使用在用户设备上执行的应用可以包括以下项或由以下项组成:检测到在用户设备上执行的应用已关闭。当在用户设备上执行的应用关闭时,在用户设备上执行的应用的最后任务视图可以包括以下项或由以下项组成:由在用户设备上执行的应用显示的用户界面的内容。

在一些实施例中,进一步响应于检测到用户已停止使用在用户设备上执行的应用,还可以捕获与在用户设备上执行的应用的最后任务视图相对应的元数据。可以将与在用户设备上执行的应用的最后任务视图相对应的元数据从用户设备发送到服务器。可以将与在用户设备上执行的应用的最后任务视图相对应的元数据存储在服务器中的最近应用视图储存库中,并且将其从服务器中的最近应用视图储存库输出到在服务器上执行的查看器应用。可以捕获与在用户设备上执行的应用的最后任务视图相对应的各种特定类型的元数据,并且将其从用户设备发送到服务器。这样的元数据的示例可以包括但不限于:标识在用户设备上执行的应用的元数据、指示在用户设备上执行的应用最近被使用的时间的元数据、标识用户设备的元数据和/或与对应的最后任务视图相关的各种其他的元数据。

在一些实施例中,在服务器上执行的查看器应用可以显示用户最近使用的应用的视图以及与在用户设备上执行的应用的最后任务视图相对应的元数据。

在一些实施例中,最近应用视图储存库可以存储与用户最近使用的应用的视图中的每个视图相对应的元数据。在服务器上执行的查看器应用可以通过根据与用户最近使用的应用的视图中的每个示图相对应的元数据组织用户最近使用的应用的视图,来显示用户最近使用的应用的视图。然后,用户最近使用的应用的视图可以被显示为根据与用户最近使用的应用的视图中的每个示图相对应的元数据而组织的形式。

在一些实施例中,显示用户最近使用的应用的视图还可以包括:检测用户对用户最近使用的应用的视图之一的选择;以及显示用户最近使用的应用的示图中的所选视图的较大版本。

在一些实施例中,可以在用户设备上捕获多个最后任务视图。当用户停止使用对应的应用时,在用户设备上捕获的最后任务视图中的每个最后任务视图可以包括以下项或由以下项组成:在用户设备上执行的对应的应用的用户界面的内容。可以将在用户设备上捕获的多个最后任务视图作为一组一起从用户设备发送到服务器。因此,用户最近使用的应用的视图可以包括在用户设备上捕获的多个最后任务视图。

在一些实施例中,用户最近使用的应用的视图还可以包括在台式计算机上捕获的至少一个最后任务视图。在台式计算机上捕获的最后任务视图可以包括以下项或由以下项组成:由在台式计算机上执行的应用显示的用户界面的内容,并且是在用户停止使用在台式计算机上执行的应用时捕获的。

在一些实施例中,用户最近使用的应用的视图还可以包括当用户停止使用至少部分地在主机服务器上执行的远程托管应用时捕获的、包括该远程托管应用的用户界面的内容的至少一个最后任务视图。显示用户最近使用的应用的视图还可以包括:检测用户对当用户停止使用远程托管应用时捕获的包括远程托管应用的用户界面的内容的最后任务视图的选择;以及响应于检测到用户对当用户停止使用远程托管应用时捕获的包括远程托管应用的用户界面的内容的最后任务视图的选择,恢复在主机服务器上执行远程托管应用。

在一些实施例中,服务器是虚拟工作空间服务器,并且虚拟工作空间应用在虚拟工作空间服务器上执行,并且向用户提供虚拟工作空间。用户可以通过虚拟工作空间应用访问在虚拟工作空间服务器上执行的查看器应用。

本文中所描述的技术的实施例可以提供对先前解决方案的显著改进。例如,所公开的技术的实施例可以使得用户能够获得在除当前正在使用的计算设备之外的计算设备上执行的一个或多个最近使用的应用的视图,包括在作为诸如智能电话或平板电脑之类的移动设备的另一计算设备上运行的最近使用的应用的视图。这样的最近使用的应用可以包括直接在它们所使用的移动设备的硬件上执行的“本机”应用。

附图说明

通过如附图中所示的特定实施例的以下描述,前述和其他目的、特征和优点将变得清楚明白,在附图中,类似的附图标记贯穿不同的附图指代类似的部件。附图的元件不一定按比例绘制,而是将重点放在说明各个实施例的原理上。

图1是示出了所公开的技术的一些实施例中的用于提供用户最近使用的应用的视图的组件的第一示例的框图;

图2是示出了在所公开的技术的一些实施例中提供的用户界面的第一示例的框图,该用户界面向用户显示用户最近使用的应用的视图;

图3是示出了在所公开的技术的一些实施例中提供的用户界面的第二示例的框图,该用户界面显示用户最近使用的应用的视图以及相应的元数据;

图4是示出了所公开的技术的一些实施例中的用户设备的示例的框图,其中,在用户设备上捕获多个最后任务视图的集合,然后,将其作为一组从用户设备发送到虚拟工作空间服务器;

图5是示出了在所公开的技术的一些实施例的操作期间执行的步骤的第一流程图;以及

图6是示出了在所公开的技术的一些实施例的操作期间执行的步骤的第二流程图。

具体实施方式

现在将参考附图来描述实施例。仅通过示例的方式并出于说明的目的来提供这些实施例。权利要求的范围不限于附图中所示的和/或在本文以其他方式描述的特定实施例的示例。

可以以具有技术意义的任何方式组合本文中所描述的特定实施例、示例和实施方式的各个特征。据此,组合这样的特征以形成所有可能的组合、排列和/或变型,除非这样的组合、排列和/或变型在本文中已被明确地排除和/或在技术上不可行。认为在本文档中存在对所有这样的组合、排列和/或变型的支持。

如本文中所描述的,响应于检测到用户已停止使用应用,捕获在用户设备上执行的应用的最后任务视图。在用户设备上执行的应用的最后任务视图包括当用户停止使用在用户设备上执行的应用时正在由在用户设备上执行的应用在用户设备上显示的用户界面的内容。将在用户设备上执行的应用的最后任务视图从用户设备发送到虚拟工作空间服务器,并且存储到位于虚拟工作空间服务器中的最近应用视图储存库中。将用户最近使用的应用的视图(包括在用户设备上执行的应用的最后任务视图)从最近应用视图储存库输出到在虚拟工作空间服务器上执行的查看器应用。查看器应用向用户显示用户最近使用的应用的视图。

图1是示出了所公开的技术的一些实施例中的用于提供用户最近使用的应用的视图的组件的第一示例的框图。如图1中所示,用户可以使用多个用户设备,并且出于说明的目的而由用户设备100、用户设备102、用户设备104和用户设备106示出。例如,用户设备100可以是移动设备,诸如智能电话、平板计算机、电子书阅读器或属于用户的一些其他类型的移动计算设备。用户设备102和用户设备106可以各自是膝上型计算机或台式计算机。用户设备104可以是任何特定类型的用户设备。

图1中所示的用户设备中的每个用户设备包括处理电路,该处理电路可以包括以下项或由以下项组成:可操作以执行存储在用户设备的存储器中的应用和操作系统的程序代码的一个或多个中央处理单元(CPU)和相关联的硬件电路。例如,用户设备100被示出为包括处理电路110,并且用户设备106被示出为包括处理电路116。

图1中所示的用户设备中的每个用户设备还包括存储器,该存储器可以包括以下项或由以下项组成:随机存取存储器(RAM)和只读存储器(ROM)的一些组合,并且用于:i)存储在用户设备的处理电路上可执行的程序代码;以及ii)存储由这样的程序代码生成和/或访问的数据。例如,用户设备100被示出为包括存储器112,并且用户设备106被示出为包括存储器118。存储在每个用户设备的存储器中的程序代码可以包括一个或多个应用和操作系统。

例如,存储在存储器112中且在用户设备100中的处理电路110上执行的应用126被示出为包括本机应用128。本机应用128可以是移动设备100本机的应用,即,被专门设计为在包括正在移动设备100上执行的特定操作系统的移动设备上本地执行的应用。总所周知,通过在移动设备上本地执行,诸如本机应用128的本机应用可以在没有高水平的移动设备发射器使用的情况下操作,因此可以提供高水平的性能和低电池利用率。例如,本机应用128的一些实施例可以被专门设计为在运行Apple的

在另一示例中,也如图1中所示,在用户设备106的处理电路116上执行的应用可以包括存储在存储器118中的虚拟工作空间客户端应用160。在一些实施例中,虚拟工作空间客户端应用160可以被具体实施为Web浏览器。备选地,虚拟工作空间应用160可以被具体实施为在用户设备106的处理电路116上执行的且与虚拟工作空间应用158相对应的专用工作空间客户端应用。

图1中所示的用户设备中的每个用户设备还包括显示设备,该显示设备包括电子视觉显示器或由电子视觉显示器组成。在一些实施例中,触摸屏输入设备可以层叠在用户设备的电子视觉显示器的顶部。例如,用户设备100被示出为包括显示设备114,并且用户设备106被示出为包括显示设备120。

图1中所示的用户设备中的每个用户设备的显示设备显示图形用户界面,该图形用户界面包括以下项或由以下项组成:由在用户设备中执行的一个或多个对应应用生成的一个或多个用户界面。例如,显示设备114显示GUI 130,GUI 130可以包括由本机应用128生成的本机应用UI 132,并且显示设备120显示GUI 162,GUI 162可以包括由虚拟工作空间客户端应用160生成的虚拟工作空间UI 164。

本领域技术人员将认识到,除了图1中所示的那些以外,用户设备中的每个用户设备还可以包括其他软件组件、硬件组件、设备和相关联的电路。例如,用户设备100可以是诸如智能电话的移动设备,因此可以另外包括诸如相机、麦克风、扬声器等的智能电话设备。

图1的示例中所示的组件还包括虚拟工作空间服务器108。虚拟工作空间服务器108与用户设备100、102、104和106分离并相对于用户设备100、102、104和106独立操作。通过一个或多个计算机和/或数据通信网络(例如,LAN、WAN等),在虚拟工作空间服务器108与用户设备100、102、104和106中的每个用户设备之间提供通信。虚拟工作空间服务器108可以由一个或多个物理服务器计算机和/或经由管理程序在这样的物理服务器计算机上执行的一个或多个虚拟机组成。虚拟工作空间服务器108包括处理电路122,该处理电路122可以包括以下项或由以下项组成:可操作以执行均存储在存储器124中的一个或多个应用和操作系统的程序代码的一个或多个中央处理单元(CPU)和相关联的硬件电路。存储器124由随机存取存储器(RAM)和只读存储器(ROM)的一些组合组成,并且可以用于:i)存储在处理电路122上可执行的程序代码;以及ii)存储由这样的程序代码生成和/或访问的数据。存储在存储器124中且在处理电路122上可执行的程序代码可以包括应用和操作系统。例如,存储器124存储由用户通过虚拟工作空间应用158访问的托管应用156。托管应用156中的每个应用可以包括任何特定类型的应用。提供给用户的托管应用156可以包括以下项中由以下项组成:一个或多个虚拟桌面等和/或一个或多个虚拟化应用。在图1的说明性示例中,托管应用156被示出为包括查看器应用146、托管应用150、托管应用152和托管应用154。

在一些实施例中,虚拟工作空间应用158可以在向用户提供对托管应用156中的任何应用的访问之前管理用户的认证和/或可以负责基于授予用户的预定义授权集合来控制用户对托管应用156内的特定应用和/或应用的特征的访问。在一些实施例中,虚拟工作空间应用158可以作为与由虚拟工作空间客户端应用160提供的客户端呈客户端/服务器分布式应用关系的服务器来操作,并且用户可以通过由虚拟工作空间客户端应用160生成的虚拟工作空间UI 164访问托管应用156中的任何应用。

最近应用视图储存库140存储视图142。视图142是用户最近使用的应用的用户界面的图像,例如一些预配置数量的最近使用的应用的用户界面的图像。视图142中的每个视图是在用户最后使用对应的最近使用的应用时捕获的,例如,响应于检测到用户不再使用该应用。最近应用视图储存库140还可以被具体实施为存储视图元数据144,该视图元数据144是与视图142中的每个视图相对应的元数据。视图元数据144可以用于当向用户显示视图142时组织视图142。视图元数据144中的一些或全部也可以与视图142一起向用户显示。最近应用视图储存库140可以被具体实施为一个或多个数据库的组等。在一些实施例中,最近应用视图储存库140由用户设备中的每个用户设备通过存储在存储器124中且在处理电路122上执行的应用编程接口访问,该应用编程接口在图1中出于说明的目的由API 138示出。在一些实施例中,最近应用视图储存库140可以由查看器应用146通过存储在存储器124中且在处理电路122上执行的应用编程接口访问,该应用编程接口在图1中出于说明的目的由API 148示出。例如可以分别使用表述性状态转移(REST)型API来具体实施API 138和API148。

在一些实施例中,API 138和/或API 148可以是托管应用156内的应用,并且由用户和/或图1中所示的用户设备通过虚拟工作空间应用158访问。

在图1的示例中所示的组件的操作期间,当用户正在使用用户设备100时,在用户设备100上执行的程序代码(例如,本机应用128)检测到用户已停止使用本机应用128。响应于检测到用户已停止使用本机应用128,在用户设备100上执行的程序代码捕获本机应用128的最后任务视图134。例如,响应于检测到用户已停止使用本机应用128,本机应用128捕获最后任务视图134并将最后任务视图134存储在存储器112中。本机应用128的最后任务视图134可以包括本机应用UI 132在本机应用128检测到用户已停止使用本机应用128时的内容。最后任务视图134例如可以由以下项组成或包括以下项:包含由本机应用128在本机应用128检测到用户已停止使用本机应用128时捕获的本机应用UI 132的图像的图像文件。

本机应用128可以是执行多个任务的应用,并且最后任务视图134可以是示出了当用户停止使用本机应用128时由用户通过本机应用128正在执行的最后任务的本机应用128的用户界面的图像。例如,一些电子邮件应用提供允许用户创建电子邮件消息的一个任务以及允许用户安排会议的另一个任务。在本机应用128是这样的多任务电子邮件应用且在用户停止使用本机应用128时用户正在使用本机应用128来编写电子邮件消息的示例中,最后任务视图134将是示出了当用户停止使用本机应用128时存在的由本机应用128在执行的电子邮件消息编写任务的用户界面的图像。类似地,在当用户停止使用本机应用128时用户正在使用本机应用128来安排会议,最后任务视图134将是示出了当用户停止使用本机应用128时存在的由本机应用128正在执行的会议安排任务的用户界面的图像。在一些实施例中,当本机应用128检测到用户从本机应用128内的第一任务切换到第二任务时,本机应用128可以捕获最后任务视图134。

将最后任务视图134从用户设备100发送到虚拟工作空间服务器108,然后作为用户最近使用的应用的视图142内的视图之一存储到最近应用视图储存库140中。例如,最后任务视图134可以由在用户设备100中执行的本机应用128和/或操作系统发送到API 138,并API 138将最后任务视图134作为视图142中的视图之一存储在最近应用视图储存库140内。

将用户最近使用的应用的视图142(包括本机应用128的最后任务视图134)从最近应用视图储存库140输出到查看器应用146。例如,查看器应用146可以使用API 148从最近应用视图储存库140中提取用户最近使用的应用的视图142。然后,由查看器应用146向用户显示用户最近使用的应用的视图142。例如,当用户正在使用用户设备106时,查看器应用146可以将用户最近使用的应用的视图142发送到用户设备106,使得在用户设备106的显示设备120中向用户显示用户最近使用的应用的视图142,例如,在由虚拟工作空间客户端应用160生成的虚拟工作空间UI 164内。

在一些实施例中,在用户设备100中执行的程序代码(例如,在用户设备100中执行的本机应用128和/或操作系统)可以至少部分地通过检测本机应用UI 132已移动到GUI130的后台来检测用户已停止使用本机应用128。在这样的实施例中,本机应用128的最后任务视图134可以包括以下项或由以下项组成:本机应用UI 132移动到GUI 130的后台时的本机应用UI 132的内容。

在一些实施例中,在用户设备100中执行的程序代码(例如,在用户设备100中执行的本机应用128和/或操作系统)可以至少部分地通过检测本机应用128已被关闭(即,用户已关闭用户设备100上的本机应用128)来检测用户已停止使用本机应用128。在这样的实施例中,本机应用128的最后任务视图134可以包括以下项或由以下项组成:在用户设备100上关闭本机应用128时的本机应用UI 132的内容。

在一些实施例中,进一步响应于检测到用户已停止使用在用户设备上执行的应用,在用户设备100上执行的程序代码(例如,本机应用128)可以捕获本机应用128的对应于最后任务视图134的元数据。例如,本机应用128可以在用户停止使用本机应用128时捕获与最后任务视图134相对应的视图元数据136。

可以在将最后任务视图134从用户设备100发送到虚拟工作空间服务器108的同时也将与本机应用128的最后任务视图134相对应的视图元数据136从用户设备100发送到虚拟工作空间服务器108。例如,可以由本机应用128和/在或用户设备100中执行的操作系统将视图元数据136发送到API 138,并且API 138将视图元数据136作为存储在最近应用视图储存库140中的视图元数据144的一部分进行存储。

将视图元数据144(包括与本机应用128的最后任务视图134相对应的视图元数据136)从最近应用视图储存库140输出到查看器应用146。例如,查看器应用146可以使用API148从最近应用视图储存库140中提取与用户最近使用的应用的视图相对应的视图元数据144。

然后,查看器应用146可以向用户显示视图元数据144。例如,当用户正在使用用户设备106时,查看器应用146可以将视图元数据144发送到用户设备106,使得在用户设备106的显示设备120中向用户显示视图元数据144,例如在由虚拟工作空间客户端应用160生成的虚拟工作空间UI 164内。

可以在用户设备100上捕获与最后任务视图134相对应的各种特定类型的元数据,并且将其从用户设备100发送到虚拟工作空间服务器108。这样的元数据的示例可以包括但不限于:标识本机应用128的元数据、指示最近使用本机应用128的时间的元数据、标识用户设备100的元数据和/或与对应的最后任务视图相关的各种其他的元数据。

在一些实施例中,视图元数据144可以包括与用户最近使用的应用的视图142中的每个视图相对应的元数据的集合。

图2是示出了可以由所公开的技术的一些实施例提供的虚拟工作空间UI 164的第一示例的框图。例如,当用户正在使用用户设备106时,图2中所示的虚拟工作空间UI 164的示例显示用户最近使用的应用的视图142。如图2的示例中所示,用户最近使用的应用的视图142可以包括在不同的用户设备和/或计算机系统上执行的应用的视图。例如,视图142可以包括位于向用户显示的视图的列表内的最顶部位置处且在列表中后跟由虚拟工作空间服务器108从用户设备100接收的最后任务视图134的视图200。

最后任务视图134在列表中后跟视图202。视图202由工作空间服务器108从用户设备102接收。视图202是例如响应于检测到用户不再使用在用户设备102上执行的应用而在用户最后使用该应用时存在并捕获的由该应用生成的用户界面的视图(例如,图像)。例如,用户设备102可以是台式计算机或膝上型计算机,因此视图202可以是在台式计算机或膝上型计算机上捕获的最后任务视图。因此,视图202可以包括以下项或由以下项组成:由在台式计算机或膝上型计算机上执行的应用显示的用户界面的内容,因此可以是已响应于检测到用户停止使用在台式计算机或膝上型计算机上执行的应用而捕获的。

视图202在列表中后跟视图204。视图204是例如响应于检测到用户停止使用托管应用150而在用户最后使用该应用时存在并捕获的由托管应用150生成(例如,并且在虚拟工作空间UI 164内显示)的用户界面的视图(例如,图像)。因此,视图204是响应于检测到用户已停止使用至少部分地在主机服务器(例如,虚拟工作空间服务器108)上执行的远程托管应用(例如,托管应用150)而捕获的最后任务视图的示例,该视图包括以下项或由以下项组成:远程托管应用的用户界面的内容。

视图204在列表中后跟视图206,该视图206由工作空间服务器108从用户设备104接收,并且是例如响应于检测到用户停止使用在用户设备104上执行的应用而捕获的在用户最后使用该应用时存在的由该应用生成的用户界面的视图(例如,图像)。视图204后跟视图206,然后是视图208以及可能的一些其他的视图。

列出视图142中的视图的顺序可以由查看器应用146响应于视图元数据144的全部或部分而确定。例如,视图元数据144可以包括与视图142中的每个视图相对应的元数据。查看器应用146可以使用反映与视图142中的每个视图相对应的元数据中的一些或全部的排序来组织视图142。例如,视图元数据144可以包括对应于视图142中的每个视图的时间,该时间指示用户最后使用生成从中捕获了对应的视图的用户界面的应用的时间(例如,捕获对应的视图的时间)。然后,查看器应用146可以基于与每个视图相对应的时间在列表中排序视图142中的视图,例如,使得与更近时间相对应的视图位于更接近列表的顶部的位置。在另一示例中,查看器应用146可以基于每个视图的元数据来组织显示了示图142中的视图的方式,该元数据标识生成从中捕获视图的用户界面,使得同一应用的视图(例如,在不同的设备上捕获的)被分组在一起。在另一示例中,查看器应用146可以基于每个视图的元数据来组织显示视图142中的视图的方式,该元数据标识在其上捕获每个视图的设备,使得在同一设备上捕获的视图被分组在一起。前述示例不是限制性的,并且查看器应用146可以基于与视图142中的视图相对应的、可以被捕获并发送到虚拟工作空间服务器108并被存储在视图元数据144中的各种特定类型的元数据中的任何一个或多个来组织显示视图142中的视图的方式。

在一些实施例中,响应于检测到用户已选择了虚拟工作空间UI164内的视图142中的视图之一(例如,通过检测用户在虚拟工作空间UI 164中的视图142的显示内已点击了视图142中的视图之一),查看器应用146可以通过使所选视图的较大版本显示在虚拟工作空间UI 164中来改变所选视图的显示。例如,查看器应用146可以通过将虚拟工作空间UI 164中的最后任务视图134的原始显示对象替换为最后任务视图134的较大显示(例如,将其替换为是虚拟工作空间UI 164内的最后任务视图134的原始显示两倍大的最后任务视图134的显示)来响应检测到用户已点击了虚拟工作空间UI 164中的最后任务视图134的显示。

在一些实施例中,响应于检测到用户已选择了虚拟工作空间UI 164内的视图142中的视图之一(例如,通过检测用户在虚拟工作空间UI 164中的视图142的显示内已点击了视图142中的视图之一),查看器应用146可以恢复在主机服务器上执行远程托管应用。例如,查看器应用146可以通过恢复在虚拟工作空间服务器108上执行托管应用150来响应检测到用户已点击了虚拟工作空间UI 164中的视图204的显示。在这样的实施例中,与视图204相对应的元数据的集合可以包括使得能够恢复执行托管应用150的信息。例如,这样的元数据可以包括以下项或由以下项组成:标识托管应用150的应用配置信息(诸如,独立计算架构(ICA)文件等)以及虚拟工作空间服务器108的标识符。

图3是示出了可以由所公开的技术的一些实施例提供的虚拟工作空间UI 164的第二示例的框图。图3中所示的虚拟工作空间UI 164的示例显示与视图142中的每个视图相对应的元数据的集合。如图3的示例中所示,与视图200相对应的元数据300可以在视觉上接近视图200显示,与最后任务视图134相对应的元数据302可以在视觉上接近最后任务视图134显示,元数据304可以在视觉上接近视图202显示,与视图204相对应的元数据306可以在视觉上接近视图204显示,与视图206相对应的元数据308可以在视觉上接近视图206显示,与视图208相对应的元数据310可以在视觉上接近视图208显示,并且针对视图142中的每个视图依此类推。在图3中提供元数据相对于对应的视图的特定定位仅出于说明的目的,而不是限制性的。可以以使得用户能够在视觉上将元数据的每个集合与对应的视图关联的任何特定的方式提供与特定视图相对应的元数据的显示。另外,例如响应于检测到一个或多个预定用户动作,诸如用户点击诸如菜单项、按钮和/或视图142内的一个或多个单独视图之类的显示对象,一个或多个对应的视图的元数据的显示可以与虚拟工作空间UI 164的初始显示一起提供或可以在虚拟工作空间UI 164的初始显示之后提供。

图4是示出了所公开的技术的一些实施例中的用户设备的示例的框图,其中,在用户设备上捕获多个最后任务视图的集合,然后将其作为从用户设备100发送到虚拟工作空间服务器108的一组(或“批”)最后任务视图保存以供稍后一起发送。在图4的示例中,本机应用128是在用户设备100上执行的多个应用中的一个应用。在图4的示例中,在用户设备100上执行的多个应用被示出为包括应用400和应用402。当捕获到最后任务视图134时,该最后任务视图134被添加到在图4中由集中应用视图和关联元数据400示出的先前捕获的最后任务视图的集合和元数据的对应集合。鉴于最后任务视图134和对应的视图元数据136对应于本机应用128,集中应用视图和关联元数据400还包括对应于应用400的最后任务视图404和对应的视图元数据406以及对应于应用402的最后任务视图408和对应的视图元数据410。鉴于最后任务视图134是响应于检测到用户已停止使用本机应用128而捕获的由本机应用128生成的用户界面的图像,最后任务视图404是响应于检测到用户已停止使用应用400而捕获的由应用400生成的用户界面的图像,并且最后任务视图408是响应于检测到用户已停止使用应用402而捕获的由应用402生成的用户界面的图像。集中应用视图和关联元数据400中的最后任务视图和对应的元数据中的每一个在用户停止使用对应的应用时捕获并保存,但是稍后作为一组最后任务视图和元数据的对应集合一起发送到虚拟工作空间服务器108,例如,发送到API 138。在优化资源利用率方面(例如,在当用户设备100被具体实施为诸如智能电话或平板电脑之类的移动设备时的电池利用率方面),最后任务视图的组和对应的元数据的这种类型的成批传输可能是有利的。打开移动设备的发射器通常会招致电池使用方面的显著成本。因此,减少移动设备的发射器打开的次数将增加移动设备的电池寿命。在用户设备100是移动设备的实施例中,与每次捕获最后任务视图时打开用户设备100的发射器相反,可以通过仅在每次发送一组任务视图和元数据的对应集合时打开一次用户设备100的发射器例如以便发送集中应用视图和关联元数据400中的全部的最后任务视图和元数据来提高用户设备100的电池寿命。例如,用户设备100的操作系统可以例如基于用户设备100中的执行这样的发送的资源的可用性来安排将集中应用视图和关联元数据400发送到虚拟工作空间服务器108上的API 138的定时。例如,用户设备100的操作系统可以响应于检测到用户设备100将要进入屏幕保护模式和/或响应于检测到用户设备100将要显示锁定屏幕而安排将最后任务视图的组和元数据的对应集合(诸如,集中应用视图和关联元数据400)发送到API 138。在这样的定时,操作系统可以使那些先前未发送的最后任务视图和元数据的对应集合从用户设备106发送到虚拟工作空间服务器108的API 138。

图5是示出了在所公开的技术的一些实施例的操作期间执行的步骤的第一流程图。如图5中所示,在步骤500,响应于检测到用户已停止使用在用户设备上执行的应用,在用户设备上执行的程序代码捕获在用户设备上执行的应用的最后任务视图。在用户设备上执行的应用的最后任务视图包括当用户停止使用在用户设备上执行的应用时由在用户设备上执行的应用在用户设备上显示的用户界面的内容。同样在步骤500,将在用户设备上执行的应用的最后任务视图从用户设备发送到虚拟工作空间服务器。

在步骤502,将在用户设备上执行的应用的最后任务视图存储到虚拟工作空间服务器中的最近应用视图储存库中。

在步骤504,将用户最近使用的应用的视图从最近应用视图储存库输出到在虚拟工作空间服务器上执行的查看器应用。在步骤504输出的用户最近使用的应用的视图包括在用户设备上执行的应用的最后任务视图。

在步骤506,在虚拟工作空间服务器上执行的查看器应用向用户显示用户最近使用的应用的视图。

图6是示出了在所公开的技术的一些实施例的操作期间执行的步骤的第二流程图。

在步骤600,将在移动设备上执行的应用的最后任务视图发送到服务器。

在步骤602,将在移动设备上执行的应用的最后任务视图存储到服务器中的最近应用视图储存库中。

在步骤604,从最近应用视图储存库输出用户最近使用的应用的视图,该视图包括在移动设备上执行的应用的最后任务视图。

在步骤606,在除移动设备之外的用户设备的显示设备中显示的用户界面中向用户显示用户最近使用的应用的视图。

虽然上面的描述提供了使用各种特定术语来指示特定系统、设备和/或组件的实施例的示例,但是这样的术语仅是说明性的,并且仅出于方便和简要说明的目的。所公开的系统不限于包括或涉及由上面所使用的术语标识的系统、设备和/或组件的实施例。

本文中所公开的技术的各方面可以被具体实施为系统、方法或计算机程序产品。因此,可以使用硬件、软件(包括固件、常驻软件、微代码等)或软件与硬件的组合来具体实施本文中所描述的元件。此外,本文中所示的实施例的功能可以采取计算机程序产品的形式,该计算机程序产品至少部分地具体实施在其上存储有用于使一个或多个处理器执行这些功能的计算机可读程序代码的一个或多个非暂时性计算机可读存储介质中。

可以利用一个或多个非暂时性计算机可读存储介质的任何组合。非暂时性计算机可读存储介质的示例包括但不限于光盘(例如,CD或DVD)、光学存储设备、磁盘、磁存储设备、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)和/或前述各项的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是可以包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序的任何非暂时性有形介质。

附图包括根据一个或多个实施例的方法、装置和计算机程序产品的框图和流程图。将理解的是,这样的附图中的框中的一个或多个框以及这些框的组合可以由计算机程序指令实现。可以在处理电路上执行这些计算机程序指令以形成专用硬件。计算机程序指令可以进一步加载到一个或多个计算设备上以产生机器,使得在计算设备上执行的指令创建用于实现一个或多个框中指定的功能的装置。计算机程序指令还可以存储在计算机可读存储器中,该计算机可读存储器可以指导一个或多个计算设备以特定方式工作,使得存储在计算机可读存储器中的指令产生包括实现在一个或多个框中指定的功能的指令装置的制品。计算机程序指令可以进一步加载到一个或多个计算设备上以使得执行一系列操作步骤来产生计算机实现的过程,使得在计算设备上执行的指令提供用于实现在一个或多个框中指定的功能的步骤。

本领域普通技术人员还将理解的是,可以在不脱离本文中所描述的发明构思的情况下对所示实施例进行修改和改变。

相关技术
  • 从用户设备提供最近的应用视图
  • 提供以三维视图实施屏幕转换的用户界面的方法及设备
技术分类

06120113106641