用于在服务器上远程执行的应用的壳集成的制作方法

xiaoxiao2020-7-22  6

【专利下载】Tel:18215660330

用于在服务器上远程执行的应用的壳集成的制作方法
【专利摘要】本文中所描述的方法和系统涉及提供用于在服务器上远程执行的应用的壳集成。通过提供用于在服务器上执行的应用的壳集成,该系统提供了无缝的用户体验,其中用户感知到本地执行的应用和远程执行的应用之间较小差别或没有差别。操作系统中新的可用性增强,诸如目的地列表(也称为跳转列表)、缩略图工具栏、叠加图标、进度条、和网站与壳(IE9)的集成,可能仅在本地Os环境中有效,并且完全不能集成在远程环境中。本发明的一个目的是集成这些壳的能力,并且实现用户的一致桌面体验。
【专利说明】用于在服务器上远程执行的应用的壳集成
[0001] 相关申请的夺叉引用
[0002] 本申请是于2011年5月20日提交的、标题为"Systems and Methods for Providing Shell Integration for an Application Executing Remotely on a Server,' 的美国专利申请61/488, 593的非临时申请,美国专利申请61/488, 593的内容出于全部的 目的通过引用整体而结合于此。

【技术领域】
[0003] 本公开内容总体上涉及在服务器上远程执行的应用。特别地,本公开内容涉及提 供用于在服务器上远程执行的应用的壳集成。

【背景技术】
[0004] 通过计算和网络能力的进步,公司和用户越来越多地使用远程执行的应用。然而, 在许多实例中,远程执行的应用的使用可能提供繁琐的用户体验,其中本地操作系统的视 觉和功能可用性增强并未集成在远程环境中。此外,当用户尝试与远程执行的应用同时地 相互作用时,这样的集成的缺少可能引起用户的困惑。


【发明内容】

[0005] 鉴于上述背景,为了提供本文中所描述的一些方面的基本理解,以下给出本公开 内容的简化总结。这个总结不是全面的总结,而是旨在标识主要或关键的元素,或者描绘权 利要求的范围。以下总结仅以简化的形式给出各个描述的方面,作为下面所提供的更详细 的描述的序幕。
[0006] 本文中所描述的方法和系统涉及用于提供在服务器上远程执行的应用的壳集成。 通过提供用于在服务器上执行的应用的壳集成,该系统提供了无缝的用户体验,其中用户 感知到本地执行的应用和远程执行的应用之间较小差别或没有差别。操作系统中新的可用 性增强,诸如目的地列表(也称为跳转列表)、缩略图工具栏、叠加图标、进度条、和网站与壳 (IE9)的集成,可能仅在本地0S环境中有效,并且完全不能在远程环境中集成。本发明的一 个目的是集成这些壳的能力,并实现用户的一致桌面体验。
[0007] 目的地列表(Destination List)构成每个应用的微型开始菜单,该微型开始菜单 提供对内容和用户每日执行的任务的容易访问。目的地列表准许用户打开应用、锁定或解 锁应用以及关闭窗口。目的地列表可以包含用户任务、自定义类别、已知类别(例如"最近项 目"或"经常使用的项目")、锁定的类别。在一些实施例中,壳项目是可锁定的。目的地列 表范围可从空白目的地列表到任何默认的排列、已知或自定义类别、壳链接和壳项目。目的 地列表可以是静态的(在应用的安装时被创建)或动态的。目的地列表对于本地和远程应用 可以是分离的(未分组的)。目的地列表对于本地和远程应用可以是合并的(分组的)。在一 些实施例中,在列表内,合并或者分离各个类别和项目可以基于本地的或者远程的访问。
[0008] 缩略图工具栏提供到特定窗口的关键命令的访问而不会使用户还原或激活应用 的窗口。激活的工具栏控制能够嵌入在该窗口的缩略图预览中。
[0009] 通过在按钮上小的叠加的显示,应用能够通过它的任务栏按钮将某些通知和状态 通信给用户。图标叠加作为状态的场景通知来服务,并且旨在取消对于分离的通知区域状 态图标的需要。
[0010] 任务栏按钮能够用于显示进度条。这使得窗口能够提供进度信息给用户,而用户 不用必须切换到窗口自身。用户在瞥见其它窗口中出现的一个或多个操作的进度的同时, 能够在另一个应用中保持工作。该任务栏按钮还能够显示操作暂停或者操作已经遇到错 误,并且需要用户干预。
[0011] 根据一个方面,一种方法可以包括:在本地计算设备处,从远程计算设备上接收目 的地列表,该目的地列表对应于在远程计算设备上执行的应用;在本地计算设备处,基于在 远程计算设备上执行的对应的应用,实例化存根可执行程序;以及将目的地列表与存根可 执行程序相关联。
[0012] 另一个方面可以进一步包括:输出包括目的地列表的用户界面用于显示;在客户 端设备处截取在所述目的地列表上选择项目的用户输入,所述项目对应于在从所述远程计 算设备接收的目的地列表中的项目;以及将截取的输入发生到远程技术设备,用于递送到 该应用。
[0013] 一些方面可以包括:生成对应于接收的目的地列表的本地列表,其中所述本地目 的地列表包括未在接收的目的地列表中的至少一个用户可选择项目;以及输出基于接收的 目的地列表和本地目的地列表的组合目的地列表用于显不。
[0014] 其它方面可以包括这里所描述的一个或多个其它特征,并且可以包括用指令编程 的计算机可读基质,该指令在被执行时,配置设备执行所列举的特征中的一个或者多个。
[0015] 另一个方面可以包括计算机可读介质存储指令,用于配置设备显示包括任务栏图 标的用户界面,该任务栏图标对应于在本地计算设备上执行的第一应用和在远程计算设备 上执行的第二应用,其中图形用户界面被配置为一旦接收到与该任务栏图标相关联的第一 用户输入,显示目的地列表,该目的地列表包括对应于本地计算机设备上的目的地的至少 一个列表项和对应于远程计算设备上的目的地的至少一个目的地列表项。
[0016] 在一些变化中,目的地列表可以被划分成本地的部分和远程的部分,和/或可以 包括缩略图工具栏项目、叠加标记和/或进度条信息。
[0017] 本文中所描述的方法和系统的各种实施例的细节将在下面的附图和描述中进行 阐述。

【专利附图】

【附图说明】
[0018] 通过参照结合附图的下述说明,本公开内容的上述和其它目的、方面、特征和优点 将变得更明显并且更好地被理解,其中:
[0019] 图1A图示了根据本文中所描述的一个或多个方面的提供到能够执行应用程序的 计算设备的远程访问的网络环境的实施例。
[0020] 图1B和图1C为根据本文中所描述的一个或多个方面的图示计算设备的实施例的 框图。
[0021] 图2为根据本文中所描述的一个或多个方面的图示用于提供在服务器上远程执 行的应用的壳集成。
[0022] 图3为根据本文中所描述的一个或多个方面的跳转列表或者目的地列表的一个 实施例的屏幕截图。
[0023] 图4为根据本文中所描述的一个或多个方面的用于远程执行应用的默认目的地 列表的屏幕截图。
[0024] 图5为根据本文中所描述的一个或多个方面的、在不需要场景而启动锁定的表示 层协议引擎时出现错误的时候所显示的错误对话框的屏幕截图。
[0025] 图6为根据本文中所描述的一个或多个方面的仅用"关闭窗口"选项远程地执行 应用的非常受限的目的地列表的屏幕截图。
[0026] 图7为根据本文中所描述的一个或多个方面的锁定的媒体播放器的屏幕截图。
[0027] 图8图示了根据本文中所描述的一个或多个方面的自动和自定义的目的地的存 储的屏幕截图。
[0028] 图9图示了根据本文中所描述的一个或多个方面更换Internet Explorer8的自 定义目的地列表的屏幕截图。
[0029] 图10为根据本文中所描述的一个或多个方面的表示记事本的自动目的地列表的 自定义应用的屏幕截图。
[0030] 图11A至11D图示了根据本文中所描述的一个或多个方面的用于目的地列表的选 项中的一些选项的视觉图像。
[0031] 图12图示了根据本文中所描述的一个或多个方面的具有自定义"Citrix接收器" 类别和"参数选择"任务的自定义Internet Explorer8目的地列表的屏幕截图。
[0032] 图13图示了根据本文中所描述的一个或多个方面的虽然针对应用的目的地列表 仍然可用、但是仅有选项Close-Window,以防止锁定。
[0033] 图14为根据本文中所描述的一个或多个方面的图示媒体播放器缩略图工具栏的 屏幕截图。
[0034] 图15图示了根据本文中所描述的一个或多个方面的在远程执行应用的场景中的 置加图标。
[0035] 图16A-D图示了根据本文中所描述的一个或多个方面的用于远程执行的应用的 进度条的各种状态。
[0036] 图17图示了根据本文中所描述的一个或多个方面的用于通信网站的IE9目的地 列表任务的屏幕截图。
[0037] 图18图示了根据本文中所描述的一个或多个方面的控制视频的IE9缩略图工具 栏按钮的屏幕截图。
[0038] 图19图示了根据本文中所描述的一个或多个方面的在指示预约通知的Outlook Web Access网络图标中的叠加图标的屏幕截图。
[0039] 图20图示了根据本文中所描述的一个或多个方面的针对目的地列表执行壳集成 的方法的流程图。
[0040] 根据下面结合附图而阐述的详细描述中,本文中所描述的方法和系统的特征和优 点将变得更明显,其中相似的参考标号贯穿全文标识对应的元素。附图中,相似的参考号通 常指示相同的、功能类似的和/或结构上类似的元素。 具体实施例
[0041] 在各种实施例的以下描述中,对形成了本文的一部分的附图做出参考,其中以示 例的方式示出各种实施例,其各种实施例中,可以实践本文中所描述的方面。应当理解,可 以利用其它实施例,并且可以做出结构和功能修改而不背离本公开内容的范围和精神。
[0042] 出于阅读下面各种实施例的描述的目的,说明书的章节和它们各自的内容的下面 说明可以有所帮助:
[0043] 章节A描述了可以用于实践本文中所描述的一个或多个实施例的网络环境和计 算环境;
[0044] 章节B描述了用于提供用于在服务器上远程执行的应用的壳集成的系统的实施 例;以及
[0045] 章节C描述了用于为服务器上远程执行的应用提供壳集成的方法的实施例。
[0046] 可以组合或单独使用实施例的各个方面。每个描述的实施例实质上是说明性的, 而并不旨在是限制的,除非明确地声明。
[0047] 章节A :网络和计算环境
[0048] 如同本领域的技术人员阅读下面的公开内容时将理解的,本文中所描述的各个方 面可以体现为方法、数据处理系统或者计算机程序产品。因此,这些方面可以采取以下的形 式:完全硬件实施例、完全软件实施例或组合软件和硬件方面实施例。此外,这样的方面可 以采取由一个或者多个计算机可读存储介质存储的计算机程序产品的形式,该一个或者多 个计算机可读存储介质具有体现在该存储介质中或体现在该存储介质上的计算机可读程 序代码或指令。可以利用任何适当的计算机可读存储介质,包括硬盘、⑶-ROM、光学存储器 设备、磁存储器设备和/或它们的任何组合。此外,如本文中所描述的表示数据或项目的各 种信号可以在来源和目的地之间通过例如金属丝、光纤和/或无线传输介质(例如空气和/ 或空间)的信号传输介质以电磁波传输的形态传输。
[0049] 图1A图示了计算环境101的一个实施例,该计算环境101包括与一个或多个服 务器106A?106N (在本文中通常被称为"(多个)服务器106")通信的一个或多个客户机 102A?102N (在本文中通常被称为"(多个)客户机102")。在(多个)客户机102和(多个) 服务器106之间安装有网络。
[0050] 在一个实施例中,计算环境101能够包括在(多个)服务器106和(多个)客户机102 之间安装的装置。这个装置能够管理客户端/服务器连接,并且在一些情况下,能够在多个 后端服务器之中负载平衡客户端连接。
[0051] 在一些实施例中,(多个)客户机102可以被称为单个客户机102或单组客户机 102,而(多个)服务器106可以被称为单个服务器106或单组服务器106。在一个实施例中, 单个客户机102与多于一个服务器106进行通信,而在另一实施例中,单个服务器106与多 于一个客户机102进行通信。在又一实施例中,单个客户机102与单个服务器106进行通 ?目。
[0052] 在一些实施例中,客户机102可以引用以下术语中的任何一个:(多个)客户机 102 ;(多个)客户端;(多个)客户端计算机;(多个)客户端设备;(多个)客户端计算设备;本 地机器;远程机器;(多个)客户端节点;(多个)端点;(多个)端点节点或者第二机器。在一 些实施例中,服务器106可以引用以下术语中的任何一个:(多个)服务器、本地机器、远程 机器、(多个)服务器群、(多个)主机计算设备或(多个)第一机器。
[0053] 在一个实施例中,客户机102可以是虚拟机102C。在一些实施例中,可以通过虚拟 机102C可以由超级管理程序(Hypervisor)来管理,超级管理程序诸如由Citrix Systems 有限公司开发和销售的Xen超级管理程序、由Microsoft公司开发和销售的Hyper-V、由 EMC开发和销售的ESX、或者任何其它超级管理程序。
[0054] 在一些实施例中,客户机102可以执行、操作或另外地提供可以是以下应用中的 任何一个的应用:软件;程序;可执行指令;虚拟机;超级管理程序; web浏览器;基于web 的客户端;客户端-服务器应用、瘦客户端(thin-client)的计算客户端;ActiveX控制; Java小应用程序;与提供互联网协议(VoIP)通信的语音有关的软件、像软IP电话软件;用 于流式视频和/或流式音频的应用;用于促进实时数据通信的应用;HTTP客户端;FTP客户 端;Oscar客户端;Telnet客户端;或者任何其它的可执行指令的集合。还有其它实施例包 括客户端设备102,该客户端设备102显示由在服务器106或者其它远程放置的机器上远 程执行的应用所生成的应用输出。在这些实施例中,客户端设备102可以在应用窗口、浏览 器或者其它输出窗口中显示的应用输出。在一个实施例中,该应用是桌面,而在其他实施例 中,该应用是生成桌面的应用。
[0055] 在一些实施例中,服务器106执行远程呈现客户端或其它客户端或程序,它们使 用瘦客户端协议或远程显示协议,以捕获由在服务器106上执行的应用所生成的显示输 出,并且将该应用显示输出传输到远程客户端102。该瘦客户端协议或远程显示协议可以 是以下协议中的任一种:由佛罗里达州,Ft. Lauderdale的Citrix Systems有限公司制造 的独立计算结构(ICA)协议;或者由华盛顿州,Redmond的微软公司制造的远程桌面协议 (RDP)。
[0056] 计算环境可以包括多于一个服务器106A-106N,以使得服务器106A-106N逻辑地 分组成服务器群106。服务器群106可以包括在服务器群106中地理分散并逻辑地分组到 一起的服务器106,或者在服务器群106中彼此邻近放置并且逻辑地分组到一起的服务器 106。在一些实施例中,在服务器群106内地理分散的服务器106A-106N可以使用WAN、MAN 或LAN通信,其中,不同的地理区域可以表征为:不同的洲;一个洲的不同区域;不同的国 家;不同的州;不同的城市;不同的校园;不同的房间;或者前述地理位置的任何组合。在一 些实施例中,服务器群106可以作为单个实体进行管理,而在其它实施例中,服务器群106 可以包括多个服务器群106。
[0057] 在一些实施例中,服务器群106可以包括这样的服务器106,该服务器106执行大 体相似类型的操作系统平台(例如,UNIX、LINUX SNOW LEOPARD、或者由华盛顿州,Redmond 的微软公司制造的WINDOWS NT)。在其它实施例中,服务器群106可以包括执行第一类型的 操作系统平台的第一组服务器106,和执行第二类型的操作系统平台的第二组服务器106。 在其它实施例中,服务器群106可以包括执行不同类型的操作系统平台的服务器106。
[0058] 在一些实施例中,服务器106可以是任何服务器类型。在其它实施例中,服务器 106可以是以下服务器类型的任一种:文件服务器;应用服务器;web服务器;代理服务器; 装置;网络装置;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;SSL VPN服务 器;防火墙;web服务器;应用服务器或作为主应用服务器;执行活跃目录的服务器106 ;或 者执行提供防火墙功能、应用功能或者负载平衡功能的应用加速程序的服务器106。在一 些实施例中,服务器106可以是包括远程认证拨号用户服务的RADIUS服务器。在服务器 106包括装置的实施例中,服务器106可以为由以下制造商的任一个制造的装置:Citrix Application Networking Group ;Silver Peak Systems 有限公司;Riverbed Technology 有限公司;F5Networks有限公司;或者Juniper Networks有限公司。一些实例包括这样的 第一服务器106A,该第一服务器106A从客户机102接收请求、向第二服务器106B转发该请 求、以及用来自第二服务器106B的响应而响应于客户机102生成的请求。第一服务器106A 可以获得对于客户机102可用的应用的列举,以及与托管在应用的列举中所识别的应用的 应用服务器106相关联的地址信息。然后,第一服务器106A可以使用web接口给出对于客 户的请求的响应,并且与客户端102直接通信,以提供客户端102到所识别的应用的接入。
[0059] 在一些实施例中,服务器106可以执行以下应用的任一个:使用瘦客户端协议来 将应用显示数据传输给用户的瘦客户端应用;远程显示呈现应用;Citrix Systems有限公 司的 CITRIX ACCESS SHTE 的任何部分,像 XENAPP 或者 CITRIX PRESENTATION SERVER;微 软公司制造的MICROSOFT WINDOWS终端服务;或者由Citrix Systems有限公司开发的ICA 客户端。另一实施例包括是应用服务器的服务器106,该应用服务器诸如:提供电子邮件服 务的电子邮件服务器(诸如由微软公司制造的MICROSOFT EXCHANGE) ;web或者因特网服务 器;桌面共享服务器;协作服务器;或者任何其它类型的应用服务器。另外其它实例包括执 行以下类型的托管的服务器应用中的任一种的服务器106:由Citrix Online Division有 限公司提供的G0T0MEETING ;由加利福尼亚州,Santa Clara的WebEx WEBEX有限公司提供 的WEBEX;或者由微软公司提供的Microsoft Office LIVE MEETING。
[0060] 在一些实施例中,客户机102可以是寻求接入由服务器106提供的资源的客户端 节点。在其它实施例中,服务器106可以提供客户端102或具有到托管的资源的接入的客 户端节点。在一些实施例中,服务器106作为主节点而工作,以使得它与一个或多个客户端 102或服务器106进行通信。在一些实施例中,主节点可以识别并且提供与托管请求的应用 的服务器106到一个或多个客户端102或服务器106相关联的地址信息。在另外的其它实 施例中,主节点可以是服务器群106、客户端102、用户节点102的簇、或者装置。
[0061] 一个或多个客户端102和/或一个或多个服务器106可以在计算环境101内通过 安装在机器和装置之间的网络104来传输数据。网络104可以包括一个或多个子网络,并 且可以被安装在包含于计算环境101内的客户端102、服务器106、计算机器和装置的任何 组合之间。在一些实施例中,网络104可以是:局域网(LAN);城域网(MAN);广域网(WAN); 位于客户机102和服务器106之间的包括多个子网络104的主网络104 ;具有私人子网络 104的主公用网104 ;具有公共子网络104的主私人网络104 ;或者具有私人子网络104的 主私人网络104。又进一步的实施例包括可以为以下网络类型的任一种的网络104 :点对点 网络;广播网络;电信网络;数据通信网络;计算机网络;ATM (异步传输模式)网络;S0NET (同步光纤网络)网络;SDH (同步数字体系)网络;无线网络;有线网络;或者包含无线链路 的网络104,其中无线链路可以为红外线信通或者卫星频带。网络104的网络拓扑在不同的 实施例中可以不同,可能的网络拓扑包括:总线网络拓扑;星形网络拓扑;环形网络拓扑结 构;基于中继器的网络拓扑;或者分层星状网络拓扑结构。附加的实施例可以包括使用协 议以在移动设备之中进行通信的移动电话网络的网络104,其中该协议可以是以下的任一 种:AMPS ;TDMA ;CDMA ;GSM ;GPRS UMTS ;EV-DO ;LTE ;或者能够在移动设备之中传输数据的 任何其它协议,像802. 11、蓝牙和近场通信。
[0062] 图1B中描述的为计算设备100的实施例,其中图1A中所图示的客户机102和服 务器106可以被部署为本文中所图示和描述的计算设备100的任何实施例和/或在本文中 所图示和描述的计算设备100的任何实施例上被执行。包含在计算设备100内的是与以下 部件一起进行通信的系统总线150 :中央处理单元121 ;主存储器122 ;存储内存128 ;输入 /输出(I/O)控制器123 ;显示设备124A-124N;安装设备116 ;以及网络接口 118。在一个 实施例中,存储内存128包括:操作系统、软件例程和客户端代理120。在一些实施例中,1/ 0控制器123进一步连接至键盘126和定点设备127。其它实施例可以包括连接至多于一 个输入/输出设备130A-130N的I/O控制器123。
[0063] 图1C描述了计算设备100的一个实施例,其中在图1A中所图示的客户机102和 服务器106可以被部署为本文中所图示和所描述的计算设备100的任何实施例和/或在本 文中所图示和所描述的计算设备1〇〇的任何实施例上被执行。包含在计算设备1〇〇内的是 与以下部件一起通信的系统总线150 :网桥170和第一 I/O设备130A。在另一个实施例中, 网桥170进一步与主中央处理单元121通信,其中中央处理单元121可以进一步与第二1/ 0设备130B、主存储器122和缓存存储器140进行通信。包括在中央处理单元121内的是 I/O端口、存储端口 103和主处理器。
[0064] 计算机器100的一个实施例可以包括中央处理单元121,以下面部件配置的任一 个为特征:响应于并且处理来自主存储单元122的指令的逻辑电路;微处理器单元,诸如: 由英特尔公司制造的那些,由摩托罗拉公司制造的那些,由加利福尼亚州,Santa Clara的 Transmeta 公司制造的那些;RS/6000 处理器,诸如由 International Business Machines 制造的那些;处理器,诸如由Advanced Micro Devices制造的处理器;或者逻辑电路的任 何其它组合。中央处理单元122的其它实施例可以包括以下的任何组合:微处理器、微控制 器、具有单个处理核的中央处理单元、具有两个处理核的中央处理单元、或者具有多于一个 处理核的中央处理单元。
[0065] 虽然图1C描述了包括单个中央处理单元121的计算设备100,但是在一些实施例 中,计算设备100可以包括一个或多个处理单元121。在这些实施例中,计算设备100可以 存储和执行固件或其它可执行的指令,该固件或者其它可执行的指令在被执行时,指导一 个或多个处理单元121同时执行指令或在单片数据上同时执行指令。在其它实施例中,计 算设备100可以存储和执行固件或者其它可执行的指令,该固件或者可执行指示在被执行 时,指导一个或多个处理单元每个执行指令组的一部分。例如,可以指示每个处理单元121 执行程序的一部分或程序内的特定模块。
[0066] 在一些实施例中,处理单元121可以包括一个或多个处理核。例如,处理单元121 可以具有两个核、四个核、八个核等。在一个实施例中,处理单元121可以包括一个或多个 并行处理核。在一些实施例中,处理单元121的处理核可以接入作为全局地址空间的可用 内存,或者在其它实施例中,计算设备100内的存储器可以被分段并且被分配给处理单元 121内的特定核。在一个实施例中,计算设备100中的一个或多个处理核或处理器可以每 个接入本地存储器。在又一实施例中,计算设备100内的存储器可以在一个或者多个处理 器或者处理核之中共享,而其他存储器可以由特定处理器或者处理器的子集接入。在计算 设备100包括多于一个处理单元的实施例中,多个处理单元可以包括在单个集成电路(IC) 中。在一些实施例中,这些多个处理器可以通过内部高速总线链接在一起,该内部告诉总线 可以被称为单元互联总线。
[0067] 在计算设备100包括一个或多个处理单元121,或者处理单元121包括一个或多个 处理核的实施例中,该处理器可以在多片数据上同时执行单个指令(SMD),或者在其它实 施例中,可以在多片数据上同时执行多个指令(SMD)。在一些实施例中,计算设备100可以 包括任何数目的SMD和MMD处理器。
[0068] 在一些实施例中,计算设备100可以包括图像处理器或者图像处理单元(未示出)。 图形处理单元可以包括软件和硬件的任何组合,并且可以进一步输入图形和图形指令,从 所输入的数据和指令渲染图形,并且输出所渲染的图形。在一些实施例中,图形处理单元可 以被包括在处理单元121内。在其它实施例中,计算设备100可以包括一个或多个处理单 元121,其中至少一个处理单元121专用于处理和渲染图形。
[0069] 计算机器100的一个实例包括经由也称为后端总线的次级总线与缓存存储器140 进行通信的中央处理单元121,而计算机器100的另一个实例包括经由系统总线150与缓存 存储器进行通信的中央处理单元121。在一些实施例中,本地系统总线150还可以由中央处 理单元用于与多于一种类型的I/O设备130A-130N进行通信。在一些实施例中,本地系统 总线150可以是以下类型的总线的任一种:VESA VL总线;ISA总线;EISA总线;微通道架 构(MCA)总线;PCI总线;PCI-X总线;PCI-Express总线;AGP总线;或者NuBus。计算设备 100的其它实施例包括I/O设备130A-130N,该I/O设备130A-130N是与中央处理单元121 通信的视频显示器124。计算机器100的另外其它版本包括经由以下连接中的任一种连接 至I/O设备130A-130N的处理器121 :超传输、快速I/O或者InfiniBand。计算设备100的 进一步实例包括使用本地互联总线与一个I/O设备130A进行通信以及使用直接连接与第 二I/O设备130B进行通信的处理器121。
[0070] 在一些实施例中,计算设备100包括主存储单元122和缓存器140。缓存器 140可以是任何存储器类型,并且在一些实施例中可以是以下类型的存储器中的任一种: SRAM ;BSRAM ;或者EDRAM。其它实施例包括缓存存储器140和主存储单元122,该主存储 单元122可以是以下类型的存储器的任一种:静态随机存取存储器(SRAM) ;BurSt SRAM或 SynchBurst SRAM (BSRAM);动态随机存取存储器(DRAM);快速页面模式DRAM (FPM DRAM); 增强的DRAM (EDRAM);扩展数据输出RAM (EDO RAM);扩展数据输出DRAM (EDO DRAM);突 发的扩展数据输出 DRAM (BEDO DRAM);增强的 DRAM (EDRAM);同步的 DRAM (SDRAM) JEDEC SRAM ;PC100SDRAM ;双数据速率 SDRAM(DDR SDRAM);增强的 SDRAM(ESDRAM);SyncLink DRAM (SLDRAM);Direct Rambus DRAM (DRDRAM)、铁电体 RAM (FRAM);基于存储器的忆阻器;或者 其它类型的存储器。进一步的实施例包括经由以下可以接入主存储器122的中央处理单元 121 :系统总线150 ;存储器端口 103 ;或者允许处理器121接入存储器122的任何其它连接、 总线或端口。
[0071] 计算设备100的一个实施例提供对于以下安装设备116中的任一个提供支持: ⑶-ROM驱动器、⑶-R/RW驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、USB设备、安全数 码卡、NetBoot或iPXE固件、可引导介质、可引导⑶、用于GNU/Linux分布的可引导⑶(诸 如KNOPPIX⑧)、适合于安装应用或者软件的硬盘驱动或任何其它设备。在一些实施例 中,应用可以包括客户端代理120或者客户端代理120的任何部分。计算设备100可以进 一步包括可以是一个或多个硬盘驱动器或者独立盘的一个或多个冗余阵列的存储器设备 128 ;其中该存储器设备被配置为以存储操作系统、软件、程序应用或者客户端代理120的 至少一部分。计算设备100的进一步实施例包括用作存储器设备128的安装设备116。
[0072] 计算设备100可以进一步包括网络接口 118,以通过各种连接而连接到局域网 (LAN)、广域网(WAN)或英特网,各种连接包括但不限于标准电话线、LAN或WAN链路(例如, 802. 11、T1、T3、56kb、X. 25、SNA、DECNET)、宽带连接(例如,ISDN、帧中继、ATM、千兆以太网、 通过SONET的以太网)、无线连接或上述的任何或者全部的一些组合。还可以使用各种通 信协议(例如,TCP/IP、IPX、SPX、NetBIOS、Ethernet、ARCNET、SONET、SDH、光纤分布式数据 接口(FDDI)、RS232、RS485、IEEE802. 11、IEEE802. 11a、IEEE802. lib、IEEE802. llg、CDMA、 GSM、WiMax和直接的异步连接)来建立连接。计算设备100的一个版本包括经由网关或隧 道协议的任何类型和/或形式能够与附加的计算设备100'进行通信的网络接口 118,网关 或隧道协议诸如安全套接层(SSL)或者传输层安全性(TLS)、或者由Citrix System有限公 司制造的Citrix网关协议。网络接口 118的版本可以包括以下的任一种:嵌入的网络适配 器;网络接口卡;PCMCIA网络卡;插卡总线网络适配器;无线网络适配器;USB网络适配器; 调制解调器;或者适于将计算设备100连接到能够通信的网络并且适于执行本文中所描述 的方法和系统的任何其它设备。
[0073] 计算设备100的实施例包括下面I/O设备130A-130N的任一种:键盘126、定点设 备127、鼠标、轨迹板、光电笔、轨迹球、麦克风、绘图板、视频显不器、扬声器、喷墨打印机、激 光打印机和染料热升华打印机、或者能够执行本文中所描述的方法和系统的任何其它输入 /输出设备。在一些实施例中,I/O控制器123可以连接到多个I/O设备103A-130N,以控 制一个或多个I/O设备。I/O设备130A-130N的一些实施例可以被配置为提供存储或安装 介质116,而其它实施例可以提供通用串行总线USB接口用于接收USB存储器设备,诸如由 Twintech Industry有限公司制造的设备的USB闪存驱动器线。另外的其它实施例包括可 以是系统总线150和外部通信总线之间的网桥的I/O设备130,系统总线150和外部通信总 线诸如:USB总线;苹果桌面总线;RS-232串行连接;SCSI总线;火线总线;火线800总线; 以太网总线;AppleTalk总线;Gigabit Ethernet总线;异步传输模式总线;HIPPI总线;超 级HIPPI总线;SerialPlus总线;SCI/LAMP总线;FibreChannel总线;或串行连接的小型计 算机系统接口总线。
[0074] 在一些实施例中,计算设备100可以连接至多个显示设备124A-124N,在其它实例 中,计算设备100可以连接在单个显示设备124,而在另外的其它实例中,计算设备100连接 至是相同类型或形式的显示器的显示设备124A-124N,或连接至是不同类型或形式的的显 示器的显示设备。显示设备124A-124N的实施例可以由以下的来支持或者使能:一个或多 个I/O设备130A-130N ;1/0控制器123 ;(多个)1/0设备130A-130N和I/O控制器123的组 合;能够支持显示设备124A-124N的硬件和软件的任意组合;用于连接、通信、相接或另外 地使用显示设备124A-124N的任何类型和/或形式的视频适配器、视频卡、驱动器和/或程 序库。在一些实施例中,计算设备100可以被配置为使用一个或多个显示设备124A-124N, 这些配置包括:具有多个连接器,以连接到多个显示设备124A-124N ;具有多个视频适配 器,每个视频适配器连接到一个或多个显示设备124A-124N ;具有被配置为支持多个显示 器124A-124N的操作系统;使用包括在计算设备100内的电路和软件以连接和使用多个显 示设备124A-124N ;以及在主计算设备100和多个次级计算设备上执行软件,以使得主计算 设备100能够将次级计算设备的显示器用作用于主计算设备100的显示设备124A-124N。 计算设备100的另外其它实施例可以包括由多个次级计算设备所提供并且经由网络连接 至主计算设备1〇〇的显示设备124A-124N。
[0075] 在一些实施例中,计算机器100可以执行任何操作系统,而在其它实例中,计算机 器100可以执行任何以下操作系统MICROSOFT WINDOWS操作系统的版本,诸如WIND0WS3. X, WIND0WS95, WIND0WS98, WIND0WS2000, WINDOWS NT3. 5U WINDOWS NT4. 0, WINDOWS CE, WINDOWS XP和WINDOWS VISTA ;Unix和Linux操作系统的不同发行版;由苹果电脑公司制造 的MAC 0S任何版本;由International Business Machines制造的OS/2;任何嵌入式操作 系统;任何实时操作系统;任何开源操作系统;任何专属操作系统;用于移动计算设备的任 何操作系统;或者任何其它操作系统。在另外一些实施例中,计算机器1〇〇可以执行多个操 作系统。例如,计算机器100可以执行PARALLELS或者能够执行或管理执行第一操作系统 的虚拟机的另一虚拟化平台,而计算机器100执行与第一操作系统不同的第二操作系统。
[0076] 计算机器100可以体现在以下计算设备的任一个中:计算工作站;台式电脑;膝上 型电脑或笔记本电脑;服务器;手提电脑;移动电话;便携电讯设备;媒体播放设备;游戏 系统;手机计算设备;上网本;由苹果电脑公司制造的IP0D家族设备的设备;由Sony公司 制造的PLAYSTATION家族设备的任一个;由任天堂公司制造的任天堂家族设备的任一个; 由微软公司制造的ΧΒ0Χ家族设备的任一个;能够通信并且具有足够的处理器功率和存储 器能力以执行本文中所描述的方法和系统的任何其他类型和/或形式的计算机、通信或媒 体设备。在其它实施例中,计算设备100可以是移动设备,诸如以下移动设备中的任一个: 支持JAVA的蜂窝电话或者个人数字助理(PDA),诸如全部由摩托罗拉公司制造的i55sr、 i58sr、i85s、i88s、i90c、i95cl 或 imllOO ;由 Kyocera 公司制造的 6035 或 7135 ;由三星电 子有限公司制造的i300或i330 ;由Palm股份有限公司制造的TRE0180、270、600、650、680、 700p、700w或750智能手机;具有不同的处理器、操作系统和与该设备一致的输入设备的任 何计算设备;或者能够执行本文中所描述的方法和系统的任何其它移动计算设备。在另外 一些实施例中,计算设备100可以是以下面移动计算设备的任一种:Blackberry的任何一 个系列;或者由Research In Motion Limited制造的其它手提设备;由苹果电脑公司制造 的 iPhone ;Palm Pre ;Pocket PC ;Pocket PC Phone 或任何其它手提移动设备。
[0077] 在一些实施例中,计算设备100可以具有与该设备一致的不同处理器、操作系统 和输入设备。例如,在一个实施例中,计算设备100是由Palm有限公司制造的TRE0180、 270、600、650、680、700?、700?或750智能手机。在一些这样的实施例中,了1?0智能手机在 PalmOS操作系统的控制下进行操作,并且包括手写输入设备及五向导航设备。
[0078] 在其它实施例中,计算设备100是移动设备,诸如支持JAVA的移动电话或个人数 字助理(PDA),诸如全部由伊利诺斯州,Schaumburg的摩托罗拉公司制造的i55sr、i58sr、 i85s、i88s、i90c、i95cl或imllOO ;由日本京都的Kyocera制造的6035或7135 ;或者由韩 国首尔三星电子有限公司制造的i300或i330。在一些实施例中,计算设备100是由芬兰的 诺基亚或瑞典德隆的索尼爱立信移动通信AB制造的移动设备。
[0079] 在另外的其他实施例中,计算设备100为黑莓手持或智能手机,例如由Research In Motion Limited 制造的设备,包括 Blackberry7100 系列、8700 系列、7700 系列、7200 系 列、Blackberry7520、或者Blackberry Pearl8100。在又是其他实施例中,计算设备100是 支持 Microsoft Windows Mobile 软件的智能手机、Pocket PC、Pocket PC Phone 或其它手 持移动设备。此外,计算设备100可以是任何工作站、台式电脑、便携式电脑或笔记本电脑、 服务器、手持计算机、移动电话、任何其它计算机、或能够通信并且具有足够的处理器功率 和存储器能力以执行本文中所描述的操作的其它形式的计算或电讯设备。
[0080] 在一些实施例中,计算设备100是数字音频播放器。在这些实施例的一个中,计 算设备100是数字音频播放器,例如由加利福尼亚州,Cupertino的苹果电脑公司制造的 Apple IPOD、IPOD Touch、IP0D ΝΑΝΟ和IPOD SHUFFLE系列的设备。在这些实施例的另一 个中,数字音频播放器可以作为便携媒体播放器以及作为大容量存储设备而工作。在其它 实施例中,计算设备100是数字音频播放器,诸如由美国新泽西州,Ridgefield Park的三星 电子制造的DigitalAudioPlayer Select MP3播放器、或者由伊利诺州,Schaumburg的摩 托罗拉有限公司制造的Motorola m500或m25数字音频播放器。在另一些其它实施例中, 计算设备100是便携媒体播放器,诸如Zen Vision W、Zen Vision系列、Zen便携式媒体中 心设备、或者由Creative Technologies有限公司制造的MP3播放器的数字MP3线。在另 外的其它实施例中,计算设备100是便携媒体播放器或数字音频播放器,支持包括但不适 于以下的文件格式: 损音频文件格式和.mov、. m4v和.mp4MPEG-4 (H. 264/MPEG-4AVC)视频文件格式。
[0081] 在一些实施例中,计算设备100包括设备的组合,诸如与数字音频播放器或便携 媒体播放器组合的移动手机。在这些实施例的一个中,计算设备100是摩托罗拉RAZR或者 组合数字音频播放器和移动电话的摩托罗拉R0KR系列。在这些实施例的另一个中,计算设 备100为由加利福尼亚州,Cupertino的苹果电脑公司制造的iPhone智能手机。
[0082] 图1A?1C在性质上是说明性的,并且一个或多个硬件和/或软件销售商、设备、 服务的具体标识和其它实施例是非限制性的。随着开发出每个相应服务或设备的更新版 本,还可以使用为或替代地使用这样的新版本,以及在本文中未列出的其它新的服务和设 备。
[0083] 章节B :为在服务器上远程执行的应用提供壳集成的系统
[0084] 参照图2,示出了图示用于提供用于在服务器上远程执行的应用的壳集成的说明 性系统200的框图。在简要的概观中,系统200包括服务器106。在服务器106上执行的 服务器代理210与在服务器106上执行的托管应用220通信。在一些实施例中,托管应用 220在新创建的用户会话内执行。在一些实施例中,托管应用220在已有的用户会话内执 行。服务器代理210通过网络104与客户端代理230进行通信。在一些实施例中,服务器 代理210通过远程表示层协议(诸如在本文中所描述的那些)与客户端代理230的通信。客 户端代理230在客户端计算设备102上执行,并且可以与客户端设备102的操作系统的壳 240进行通信。壳240可以与本地过程250进行通信。
[0085] 在一些实施例中,在服务器上执行的过程生成输出数据和窗口属性数据。输出数 据和窗口属性数据由服务器代理210传输到客户端代理230。在一些实施例中,该过程还 可以被称为远程应用220或托管应用220。在其它实施例中,在客户端计算设备102上执 行的本地过程从客户端代理230接收输出或图形数据和窗口属性数据,并且指导所接收的 图示或窗口属性数据在桌面环境中显示。在一些实施例中,在客户端设备102上执行的壳 240在桌面环境中提供用户界面元件的显示。这个壳可以不同地被称为寻检器(finder)、图 形用户界面(GUI)、窗口或X窗口界面、或者任何其它类似的术语。在一些实施例中,壳240 根据与应用220关联的属性数据,显示与远程应用220相关联的图形数据。
[0086] 仍参照图2,并且更详细地,客户端代理230在本地计算设备102上执行。虽然被 称为客户端代理,但是在一些实施例中,客户端代理230可以被称为接收器、本地客户端、 本地客户端过程、本地客户端代理或任何其它相似的术语。在一个实施例中,本地计算设 备是如结合图1A-1C所描述的计算设备。在另一个实施例中,本地计算设备是客户端设备 102,连接到服务器106以接入对于本地计算设备102的用户可用的一个或多个资源。在另 一些其它实施例中,客户端代理230是表示层协议代理的一部分。在另一个实施例中,客户 端代理230使用表示层协议代理进行通信。在各种实施例中,客户端代理可以包括软件、硬 件或硬件与软件的任何组合。
[0087] 服务器代理210在远程计算设备106上执行。正如客户端代理230,在一些实施例 中,服务器代理可以被称为远程代理、远程客户端、远程过程、服务器过程或任何其它相似 的术语。在一个实施例中,远程计算设备是如结合图1A-1C所描述的计算设备。在另一个 实施例中,服务器代理210是表示层协议代理的一部分。在又一实施例中,服务器代理210 使用表示层协议代理进行通信。在各种实施例中,服务器代理可以包括软件、硬件或硬件与 软件的任何组合。
[0088] 在一些实施例中,客户端代理230包括接收器(例如,虚拟机接收器),该接收器用 于从服务器代理210接收在远程机器106上生成的、与桌面环境关联的数据。在这些实施 例的一个中,例如,客户端代理230包括接收器-以示例的方式,其可以被提供为动态链接 库(.dll)部件-该接收器从服务器代理210接收窗口创建和窗口过程数据,用于在显示 远程机器106上生成的窗口的本地版本中使用。在一些实施例中,客户端代理230可以通 过一个或多个连接接收数据,例如输入数据和窗口属性数据。在一个实施例中,一个或多 个连接可以被多路复用到一个或多个虚拟信道中。这样的多路复用可以允许不同的虚拟信 道具有不同的带宽限制或不同的优先级,同时仍为单个传输层连接的一部分。这可以减小 需要的传输层开销,并且提供SSL或VPN隧道容量,同时仍允许服务器代理210和客户端代 理230之间通信优先级的每通道压缩、缓冲和管理。在一些实施例中,这样的虚拟信道可以 专用于特定内容类型或目的。例如,第一高优先级的虚拟信道可以专用于输出数据的传输, 而第二低优先级的虚拟信道可以专用于任务栏缩略图的传输,在下面有更详细地讨论。在 一些实施例中,可以打开或关闭虚拟信道,而不需要废除或重建它们通过其进行通信的传 输层连接。
[0089] 在一个实施例中,壳240是向计算设备的用户提供用户界面的软件。在一个实施 例中,可以用第三方的壳补充和取代壳240。在MICROSOFT WINDOWS中,默认的壳是确定桌 面的配置(例如,工具栏、通知区域、开始菜单等)的EXPLORER。如上面所讨论的,虽然被称 为壳,该壳还可以被称为⑶I、寻检器(finder)、探测器(explorer)、窗口界面或任何其它相 似的术语。
[0090] 在一些实施例中,客户端代理230包括与壳240通信以修改桌面的显示的功能。 在这些实施方式的一个中,客户端代理230包括发送指令到操作系统中的元件的发射器, 该操作系统中的元件生成和维持在桌面环境中的数据显示。在这些实施例的另一个中,客 户端代理230包括为客户端代理230提供用于存储窗口属性数据或者传输显示指令给所述 操作系统的功能的部件;例如,客户端代理230可以包括用于维护或修改任务栏数据的动 态链接库部件。在一些实施例中,发射器与客户端代理230中的接收器进行通信,该客户端 代理230中的接收器从服务器代理210接收窗口属性数据和输出数据。在这些实施方式的 一个中,客户端代理230内的接收器从服务器代理210接收数据,并且将所接收的数据转发 到发射器,该发射器基于所转发的数据向操作系统发送指令。在其它实施例中,客户端代理 230包括用于存储从服务器代理210接收的数据的元件,例如,以示例的方式,窗口属性数 据。
[0091] 在一些实施例中,客户端代理230从具有目的地列表的用户的交互到服务器代理 210传输数据。在一些实施例中,用户在目的地列表中的壳项目(Shell Item)或者壳链接 (Shell Link)上点击。客户端代理230接收具有列表的用户交互,并且将该数据传输到服 务器代理210。服务器代理210与托管应用220进行通信。托管应用220接收信息,并且 处理信息。在一些实施例中,托管应用220响应于用户的交互,可以打开由用户所请求的文 档。在一些实施例中,托管应用220可以响应于用户交互而启动第二应用。
[0092] 参照图3,示出了跳转列表或者目的地列表的一个实施例的屏幕截图。目的地列表 提供到普通应用任务或内容的快速且容易的接入。目的地列表提供手段或机制以启动应用 的新实例,以将应用锁定或者解锁到任务栏,并且关闭应用。用户可以例如通过正确地点击 任务栏中应用的图标,可以接入跳转列表。图3图示了自定义的跳转列表。默认地,跳转列 表包含最近的类别,该最近的类别通过SHAddToRecentDocs功能、针对基于文件的应用的 自动地被填充。这一功能将使用的"项目"(文档)添加到最近使用的文档的壳的240列表。 除了更新它的最近文件的列表,壳240将快捷键添加到用户的最近的文件夹。操作系统任 务栏使用该列表和最近的文件夹来填充跳转列表中的最近项目的列表。如果应用的文件类 型具有注册的处理机(这不必是默认的处理机),壳240代表该应用自动地做该工作。任何 时候用户双击具有注册的处理机的文件类型,在0S启动该应用之前,它可以代表该应用自 动地调用SHAddToRecentDocs,这在最近的列表中插入项目,并且最终地插入到跳转列表最 近类别中。在使用0S通用文件对话框通过应用打开文件时,可以出现相同的自动行为。0S 可以自动地将项目插入到跳转列表中,除非该应用明确地去除了这个功能。用户还可以具 有从它们的(多个)跳转列表中去除任何项目的选项。通过从跳转列表明确地去除项目,它 被插入到去除后的项目列表中。
[0093] 参照图4-6,图中图示的是现有技术的屏幕截图,其证明了没有利用壳集成的远程 应用的行为的问题。现在参照图4,示出了针对远程执行的应用220的默认目的地列表401 的屏幕截图。对于远程执行的应用220,为默认的跳转列表中示出的表示层协议引擎和表示 层协议图标的名称和"HDX插件"(或依赖于客户端版本的"客户端引擎")名称的每个实例 创建该默认的跳转列表。应用220可以被锁定,并且当然,稍后启动的尝试导致错误,因为 表示层协议引擎并未被提供有输入参数。图5图示了在不需要场景而启动锁定的表示层协 议引擎的时候所显示的错误对话框501。图6图示了仅用"关闭窗口"选项远程地执行应用 220的非常受限的目的地列表的屏幕截图601。图7图示了锁定的媒体播放器的屏幕截图。
[0094] 图8描述了用于自动和自定义的目的地的存储的屏幕截图。例如,目的地,诸如锁 定的类别和已知的类别,可以存储在automaticDestinations-ms文件中,而诸如任务,自 定义的类别和用户任务,可以存储在customDestinations-ms文件中。目的地列表文件被 转化(versioned)并且由多个矩阵(壳项目和壳链接)的一个矩阵(类别)组成。在一些实施 例中,除非另外表明,全部的数值为十进制格式。
[0095] 以下表1说明了可以用于封装整个自定义目的地列表文件的最外层的结构的格 式。
[0096]

【权利要求】
1. 一种方法,包括: 在本地计算设备处,从远程计算设备接收目的地列表,所述目的地列表对应于在所述 远程计算设备上执行的应用; 在所述本地计算设备处,基于在远程计算设备上执行的所述对应的应用,实例化存根 可执行程序;以及 将所述目的地列表与所述存根可执行程序相关联。
2. 根据权利要求1所述的方法,进一步包括: 输出包括所述目的地列表的用户界面用于显示; 在客户端设备处截取在所述目的地列表上选择项目的用户输入,所述项目对应于从所 述远程计算设备所接收的目的地列表中的项目;以及 将所截取的输入发送给所述远程计算设备,用于递送给所述应用。
3. 根据权利要求2所述的方法,进一步包括: 生成对应于所接收的目的地列表的本地目的地列表,其中所述本地目的地列表包括不 在所接收的目的地列表中的至少一个用户可选择项目;以及 输出基于所接收的目的地列表和所述本地目的地列表的组合目的地列表用于显示。
4. 根据权利要求3所述的方法,其中输出所述组合目的地列表用于显示包括:在与所 接收的目的地列表相关联的、又不在所述本地目的地列表上的全部列表元素上显示预先确 定的标记。
5. 根据权利要求1所述的方法,其中所述相关联基于应用标识符。
6. 根据权利要求5所述的方法,进一步包括:在所述本地计算设备处,将与所述应用相 同的应用标识符指派给所述存根可执行程序。
7. 根据权利要求2所述的方法,进一步包括: 从所述远程计算设备接收已更新的目的地列表;以及 基于所接收的已更新的目的地列表,来更新所述输出的目的地列表。
8. 存储计算机可执行指令的一个或多个计算机可读介质,所述计算机可执行指令在被 执行时,促使本地计算设备执行: 在所述本地计算设备处,从远程计算设备接收目的地列表,所述目的地列表对应于在 所述远程计算设备上执行的应用; 在所述本地计算设备处,基于在远程计算设备上执行的所述对应的应用,实例化存根 可执行程序;以及 将所述目的地列表与所述存根可执行程序相关联。
9. 根据权利要求8所述的计算机可读介质,所述介质进一步包括用于以下操作的指 令: 输出包括所述目的地列表的用户界面用于显示; 在客户端设备处截取在所述目的地列表上选择项目的用户输入,所述项目对应于从所 述远程计算设备所接收的目的地列表中的项目;以及 将所截取的输入发送给所述远程计算设备,用于递送给所述应用。
10. 根据权利要求9所述的计算机可读介质,所述介质进一步包括用于以下操作的指 令: 生成对应于所接收的目的地列表的本地目的地列表,其中所述本地的目的地列表包括 不在所接收的目的地列表中的至少一个用户可选择项目;以及 输出基于所接收的目的地列表和所述本地目的地列表的组合目的地列表用于显示。
11. 根据权利要求8所述的计算机可读介质,其中所述相关联基于应用标识符。
12. 根据权利要求11所述的计算机可读介质,所述介质进一步包括:用于在所述本地 计算设备处将与所述应用相同的应用标识符分配给所述存根可执行程序的指令。
13. 根据权利要求8所述的计算机可读介质,其中所述应用是web浏览器,并且其中所 接收的目的地列表对应于由所述web浏览器所接收的网站。
14. 存储计算机可执行指令的一个或多个计算机可读介质,所述计算机可执行指令在 被执行时,促使本地计算设备配置并且输出包括任务栏图标的图形用户界面用于显示,所 述任务栏图标对应于在所述本地计算设备上执行的第一应用和在远程计算设备上执行的 第二应用两者,其中所述图形用户界面被配置为一旦接收到与所述任务栏图标相关联的第 一用户输入就显示目的地列表,所述目的地列表包括对应于所述本地计算设备上的目的地 的至少一个列表项目和对应于所述远程计算设备上的目的地的至少一个目的地列表项目。
15. 根据权利要求14所述的计算机可读介质,其中所述目的地列表包括第一离散部分 和第二离散部分,所述第一离散部分包括对应于所述本地计算设备的全部列表项目,所述 第二离散部分包括对应于所述远程计算设备的全部列表项目,其中所述第一离散部分显示 对应于存储在所述本地计算设备上的文档的至少一个列表项目,并且所述第二离散部分显 示对应于存储在所述远程计算设备上的文档的至少一个目的地列表项目。
16. 根据权利要求14所述的计算机可读介质,其中所述图形用户界面进一步被配置为 与对应于所述远程计算设备的每个目的地列表项目一起显示叠加图标。
17. 根据权利要求14所述的计算机可读介质,其中所述图形用户界面进一步被配置为 与所述任务栏图标一起显示叠加图标。
18. 根据权利要求14所述的计算机可读介质,其中所述图形用户界面进一步被配置为 显示具有对应于所述远程计算设备的进度指示的第二任务栏图标。
19. 根据权利要求18所述的计算机可读介质,其中所述进度指示包括,在所述进度不 处于第一状态时的第一颜色,以及在所述进度处于第二状态时的第二颜色。
20. 根据权利要求14所述的计算机可读介质,其中对应于所述远程计算设备上的目的 地的至少一个目的地列表项目,包括缩略图工具栏项目。
【文档编号】G06F9/54GK104303151SQ201280024292
【公开日】2015年1月21日 申请日期:2012年5月18日 优先权日:2011年5月20日
【发明者】G·莫姆奇洛维, A·米尔 申请人:西里克斯系统公司

最新回复(0)