CN103649936B - 在移动设备上针对在服务器上远程执行的应用的外壳集成 - Google Patents

在移动设备上针对在服务器上远程执行的应用的外壳集成 Download PDF

Info

Publication number
CN103649936B
CN103649936B CN201280031449.3A CN201280031449A CN103649936B CN 103649936 B CN103649936 B CN 103649936B CN 201280031449 A CN201280031449 A CN 201280031449A CN 103649936 B CN103649936 B CN 103649936B
Authority
CN
China
Prior art keywords
client device
communication identifier
identifier list
unknowable
application
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
CN201280031449.3A
Other languages
English (en)
Other versions
CN103649936A (zh
Inventor
G·莫姆奇洛维
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems 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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN103649936A publication Critical patent/CN103649936A/zh
Application granted granted Critical
Publication of CN103649936B publication Critical patent/CN103649936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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

Abstract

这里描述的系统和方法针对允许跨设备一致地和动态地漫游应用。其它方面包括跨相异设备以一致和完整方式漫游特定于每个应用的应用特性、数据或者内容、特定于每个应用或者内容的用户偏好、比如固定或者取消固定以及特定于每个应用的用户历史以提供与本机设备用户接口的无缝集成。应用特性可以包括由应用支持的不同选项、任务组或者内容组、动态改变的用户接口以及基于应用状态或者用户动作的任务或者内容。在另一方面中,这里描述的系统和方法无缝集成漫游与原生设备、比如平板计算机或者智能电话的用户接口。这里描述的系统和方法使分布式和相异设备环境中的“工作转移”可实现并且极为可用。

Description

在移动设备上针对在服务器上远程执行的应用的外壳集成
有关申请的交叉引用
本申请要求对2011年5月20日提交的、标题为"SystemsandMethodsforProvidingShellIntegrationonaMobileDeviceforanApplicationExecutingRemotelyonaServer"的第61/488,612号临时美国申请和2011年5月20日提交、标题为"SystemsandMethodsforProvidingShellIntegrationforanApplicationExecutingRemotelyonaServer"的第61/488,593号临时美国申请的优先权,其二者的内容出于所有目的通过完全引用结合于此。
技术领域
本公开内容总体涉及在移动设备上显示在服务器上远程执行的应用。具体而言,本公开内容针对在移动设备上为在服务器上远程执行的应用提供外壳(shell)集成。
背景技术
通过计算和联网能力的发展,公司和用户日益使用移动计算设备以远程执行应用。然而在许多实例中,在移动设备上使用远程执行的应用可能尤其鉴于移动计算设备的一些限制而提供繁琐的用户体验。
目前有用于跨设备和操作系统平台漫游应用的工具。也有用于数据同步以及跨设备同步用户偏好的工具、比如微软漫游简档。然而这些解决方案不相交并且可能未被所有设备或者OS平台支持。
发明内容
鉴于前述背景,以下呈现本公开内容的简化发明内容以便提供这里描述的一些方面的基本理解。这一发明内容不是总括性概述,并且它未旨在于标识重要或者关键要素或者界定权利要求的范围。以下发明内容仅以简化形式呈现各种描述的方面作为对以下提供的更具体描述的前序。
移动设备迅速渗透全球消费者空间和企业。用户期望很高:设备需要是个人化的、友好的和交互式的。信息需要被快速地访问。遵循“工作转移”想法的用户期待能够在他们在如下设备与设备之间漫步时能够同样轻松地完成他们的工作:桌面计算机、膝上计算机、平板计算机或者电话。如今,尽管存在用于跨设备漫游应用、同步数据或者用户偏好的一些解决方案,但是这些解决方案经常是分离的并且缺乏完整支持。托管的应用体验在移动设备上特别繁琐。
利用这里描述的系统和方法,作为示例而无任何限制,银行家可以在他的桌面计算机上编辑文档。后期他访问网站并且固定(pin)它,因此可以在下次快速地启动它。然后,银行家带着他的IPAD(或者其它平板计算设备)漫步到会议室中并且枚举应用。使用所指定的手势、比如按压和保持、双击或者两手指挥动,银行家打开MSWord使用的新近文档——包括银行家在桌面计算机上刚才编辑的文档——的直接视图,并且能够直接打开最新近文档。相似地,用户可以获得web浏览器的定制任务的直接视图、URL历史和固定的网站并且能够直接打开它们。在平板计算设备上时,银行家也可以打开一些新文档和网站。然后,用户离开办公室回家并且在路上使用他们的安卓手机以获得托管的应用,并且能够快速启动他们在平板计算设备上刚才编辑的最新近文档。
这里描述的系统和方法涉及允许跨设备一致地和动态地漫游应用。其它方面包括跨相异设备以一致和完整方式漫游特定于每个应用的应用特性、数据或者内容、特定于每个应用或者内容的用户偏好、比如固定或者取消固定以及特定于每个应用的用户历史以提供与本机设备用户接口的无缝集成。应用特性可以包括由应用支持的不同选项、任务组或者内容组、动态改变的用户接口以及基于应用状态或者用户动作的任务或者内容。在另一方面中,这里描述的系统和方法无缝集成漫游与原生设备、比如平板计算机或者智能电话的用户接口。在一些实施例中,本地设备用户接口用来递送无缝和直观的终端用户体验。此外,使用具有与本机客户端用户接口一致的外壳皮肤的会话中用户接口可以提供跨多个和迅速出现的新设备的最佳利用。这里描述的系统和方法使得分布式和相异设备环境中的“工作转移”可实现并且极为可用。
在附图和以下描述中阐述这里描述的方法和系统的各种实施例的细节。
附图说明
公开内容的前述和其它目的、方面、特征以及优点将通过参照结合附图进行的以下描述而变得更清楚并且被更佳理解,在附图中:
图1A图示根据这里描述的一个或者多个方面的网络环境的实施例,这些网络环境向可以执行应用程序的计算设备提供远程访问;
图1B和图1C是描绘根据这里描述的一个或者多个方面的计算设备的实施例的框图;
图2图示根据这里描述的一个或者多个方面的用于在移动设备上为在服务器上远程执行的应用提供外壳集成的系统的框图;
图3图示根据这里描述的一个或者多个方面的定制的目的地列表的屏幕截图;
图4图示根据这里描述的一个或者多个方面的用于字处理器的目的地列表的屏幕截图;
图5图示根据这里描述的一个或者多个方面的用于web浏览器的目的地列表的屏幕截图;
图6图示根据这里描述的一个或者多个方面的用于字处理器的目的地列表在移动设备上的屏幕截图;
图7图示根据这里描述的一个或者多个方面的用于web浏览器的目的地列表在移动设备上的屏幕截图;
图8图示根据这里描述的一个或者多个方面的来自会话中移动设备外壳皮肤的用于字处理器的目的地列表在移动设备上的屏幕截图;
图9图示根据这里描述的一个或者多个方面的来自会话中移动设备外壳皮肤的用于web浏览器的目的地列表在移动设备上的屏幕截图;
图10图示根据这里描述的一个或者多个方面的用于执行外壳集成的方法的流程图;并且
图11图示根据这里描述的一个或者多个方面的用于执行外壳集成的方法的流程图。
图12图示根据这里描述的一个或者多个方面的平板计算机优化触摸友好外壳皮肤的另一实施例在移动设备上的屏幕截图。
这里描述的方法和系统的特征和优点将根据在与附图结合阐述以下具体描述中变得更清楚,在附图中,相似标号全篇标识对应要素。在附图中,相似标号一般指示相同、功能相似和/或结构相似要素。
具体实施方式
在以下各种实施例的描述中参照附图,这些附图形成该描述的部分,并且在附图中通过示例示出各种实施例,可以在这些实施例中实现这里描述的方面。将理解可以利用其它实施例并且可以进行结构和功能修改而未脱离本公开内容的范围和精神实质。
为了阅读以下各种实施例的描述,说明书的章节及其相应内容的以下描述可以有帮助:
章节A描述可以对于实践这里描述的一个或者多个实施例有用的网络环境和计算环境;
章节B描述用于在移动设备上为在服务器上远程执行的应用提供外壳集成的系统的实施例;并且
章节C描述用于在移动设备上为在服务器上远程执行的应用提供外壳集成的方法的实施例。
可以组合或者分开使用实施例的各种方面。每个描述的实施例在性质上为示例而未旨在于限制,除非如此明示。
章节A:网络和计算环境
如本领域技术人员将在阅读以下公开内容时理解的那样,这里描述的各种方面可以体现为方法、数据处理系统或者计算机程序产品。因而那些方面可以采用全硬件实施例、全软件实施例或者组合软件和硬件方面的实施例这样的形式。另外,这样的方面可以采用一个或者多个计算机可读存储介质存储的计算机程序产品这样的形式,该一个或者多个计算机可读存储介质具有在存储介质中或者上体现的计算机可读程序代码或者指令。可以利用任何适当计算机可读存储介质,该计算机可读存储介质包括硬盘、CD-ROM、光学存储设备、磁存储设备和/或其任何组合。此外,可以用经过信号传导介质、比如金属接线、光纤和/或无线传输介质(例如空气和/或空间)行进的电磁波的形式在源与目的地之间传送代表如这里描述的数据或者事件的各种信号。
图1A图示计算环境101的一个实施例,该计算环境包括与一个或者多个服务器106A-106N(这里统称为“服务器106”)通信的一个或者多个客户端机器102A-102N(这里称为“客户端机器102”)。在客户端机器102与服务器106之间安装网络。
在一个实施例中,计算环境101可以包括在服务器106与客户端机器102之间安装的装置。这一装置可以管理客户端/服务器连接并且在一些情况下可以在多个后端服务器之中负载均衡客户端连接。
客户端机器102可以在一些实施例中称为单个客户端机器102或者单组客户端机器102,而服务器106可以称为单个服务器106或者单组服务器106。在一个实施例中,单个客户端机器102与多于一个服务器106通信,而在另一实施例中,单个服务器106与多于一个客户端机器102通信。在更多另一实施例中,单个客户端机器102可以与单个服务器106通信。
客户端机器102可以在一些实施例中被以下术语中的任何术语引用:客户端机器102;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远程机器;客户端节点;端点;端点节点;或者第二机器。服务器106在一些实施例中可以被以下术语中的任何术语引用:服务器、本地机器;远程机器;服务器群、主机计算设备或者第一机器。
在一个实施例中,客户端机器102可以是虚拟机102C。在一些实施例中,虚拟机102C可以由管理程序、比如CitrixSystems公司开发、销售的Xen管理程序、Microsoft公司开发和销售的Hyper-V、EMC开发和销售的ESX或者任何其它管理程序管理。
客户端机器102可以在一些实施例中执行、操作或者提供应用,该应用可以是以下各项中的任何项:软件;程序;可执行指令;虚拟机;管理程序;web浏览器;基于web的客户端;客户端-服务器应用;瘦客户端计算客户端;ActiveX控件;Java小程序;与网际协议语音(VoIP)通信有关的软件、比如软IP电话;用于流式输送视频和/或音频的应用;用于有助于实时数据通信的应用;HTTP客户端;FTP客户端;Oscar客户端;Telnet客户端;或者任何其它可执行指令集。更多其它实施例包括客户端设备102,该客户端设备显示在服务器106或者其它处在远程的机器上远程执行的应用生成的应用输出。在这些实施例中,客户端设备102可以在应用视窗、浏览器或者其它输出视窗中显示应用输出。在一个实施例中,应用是桌面,而在其它实施例中,应用是生成桌面的应用。
服务器106在一些实施例中执行远程呈现客户端或者其它客户端或者程序,该客户端或者程序使用瘦客户端或者远程显示协议以捕获在服务器106上执行的应用生成的显示输出并且向远程客户端102发送应用显示输出。瘦客户端或者远程显示协议可以是以下协议中的任何协议:Ft.Lauderdale,Florida的CitrixSystems公司制造的独立计算架构(ICA)协议;或者Redmond,Washington的Microsoft公司制造的远程桌面协议(RDP)。
计算环境可以包括多于一个服务器106A-106N,从而服务器106A-106N在逻辑上一起分组成服务器群106。服务器群106可以包括地理上分散并且逻辑上分组成服务器群106的服务器106或者位置相互邻近并且逻辑上分组成服务器群106的服务器106。在服务器群106内的地理上分散的106A-106N可以在一些实施例中使用WAN、MAN或者LAN来通信,其中可以表征不同地理区域为:不同大陆;大陆的不同地区;不同国家;不同州;不同城市;不同校园;不同房间;或者前述地理位置的任何组合。在一些实施例中,服务器群106可以被管理为单个视图,而在其它实施例中,服务器群106可以包括多个服务器群106。
在一些实施例中,服务器群106可以包括服务器106,这些服务器执行基本上相似类型的操作系统平台(例如Redmond,Washington的Microsoft公司制造的WINDOWSNT、UNIX、LINUX或者SNOWLEOPARD)。在其它实施例中,服务器群106可以包括执行第一类型的操作系统平台的第一组服务器106和执行第二类型的操作系统平台的第二组服务器106。服务器群106在其它实施例中可以包括执行不同类型的操作系统平台的服务器106。
服务器106在一些实施例中可以是任何服务器类型。在其它实施例中,服务器106可以是以下服务器类型中的任何服务器类型:文件服务器;应用服务器;web服务器;代理服务器;装置;网络装置;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;SSLVPN服务器;防火墙;web服务器;应用服务器或者作为主控应用服务器;执行活动目录的服务器106;或者执行应用加速程序的服务器106,该应用加速程序提供防火墙功能、应用功能或者负载均衡功能。在一些实施例中,服务器106可以是包括远程认证拨号用户服务的RADIUS服务器。在服务器106包括装置的实施例中,服务器106可以是以下制造商中的任何制造商制造的装置:CitrixApplicationNetworkingGroup;SilverPeakSystems公司;RiverbedTechnology公司;F5Network公司;或者Juniper网络公司。一些实施例包括第一服务器106A,该第一服务器从客户端机器102接收请求、向第二服务器106B转发请求并且用来自第二服务器106B的响应对客户端机器102生成的请求做出响应。第一服务器106A可以获取可用于客户端机器102的应用的枚举以及与应用服务器106关联的地址信息,该应用服务器托管在应用枚举内标识的应用。第一服务器106A然后可以使用web接口来呈现对客户端的请求的响应并且与客户端102直接通信以向客户端102提供对标识的应用的访问。
服务器106可以在一些实施例中执行以下应用中的任何应用:瘦客户端应用,该瘦客户端应用使用瘦客户端协议以向客户端发送应用显示数据;远程显示呈现应用;CitrixSystems公司的CITRIXACCSSSUITE的任何部分、比如XENAPP或者CITRIXPRESENTATIONSERVER;Microsoft公司制造的MICROSOFTWINDOWS终端服务;或者CitrixSystems公司开发的ICA客户端。另一实施例包括服务器106,该服务器是应用服务器、比如:电子邮件应用,该电子邮件应用提供电子邮件服务、比如Microsoft公司制造的MICROSOFTEXCHANGE;web或者因特网服务器;桌面共享服务器;协作服务器;或者任何其它类型的应用服务器。更多其它实施例包括服务器106,该服务器执行以下类型的托管的服务器应用中的任何服务器应用:CitrixOnlineDivision公司提供的GOTOMEETING;SantaClara,California的WebEx公司提供的WEBEX;或者Microsoft公司提供的MicrosoftOfficeLIVEMEETING。
客户端机器102在一些实施例中可以是客户端节点,该客户端节点寻求访问服务器106提供的资源。在其它实施例中,服务器106可以向客户端102或者客户端节点提供对托管的资源的访问。服务器106在一些实施例中作为主控节点工作,从而它可以与一个或者多个客户端102或者服务器106通信。在一些实施例中,主控节点可以标识并且向一个或者多个客户端102或者服务器106提供与托管请求的应用的服务器106关联的地址信息。在更多其它实施例中,主控节点可以是服务器群106、客户端102、客户端节点102的群集或者装置。
一个或者多个客户端102和/或一个或者多个服务器106可以通过在计算环境101内的机器和装置之间安装的网络104发送数据。网络104可以包括一个或者多个子网络并且可以安装于在计算环境101内包括的客户端102、服务器106、计算机器和装置的任何组合之间。在一些实施例中,网络104可以是:局域网(LAN);城域网(MAN);广域网(WAN);主要网络104,该主要网络包括位于客户端机器102与服务器106之间的多个子网络104;具有私用子网络104的主要公用网络104;具有公用子网络104的主要私用网络104;或者具有私用子网络104的主要私用网络104。另外更多实施例包括网络104,该网络可以是以下网络类型中的任何网络类型:点到点网络;广播网络;电信网络;数据通信网络;计算机网络;ATM(异步传送模式)网络;SONET(同步光网络)网络;SDH(同步数字分级)网络;无线网络;有线网络;或者包括无线链路的网络104,其中无线链路可以是红外线信道或者卫星频带。网络104的网络拓扑可以在不同实施例内不同,可能的网络拓扑包括:总线网络拓扑;星型网络拓扑;环形网络拓扑;基于中继器的网络拓扑;或者分层星型网络拓扑。附加实施例可以包括使用协议以在移动设备之间通信的移动电话网络的网络104,其中协议可以是以下各项中的任何项:AMPS;TDMA;CDMA;GSM;GPRSUMTS;EV-DO;LTE;或者能够在移动设备之间发送数据的任何其它协议、比如802.11、蓝牙和近场通信。
在图1B中图示计算设备100的一个实施例,可以部署图1中所示客户端机器102和服务器106为这里图示和描述的计算设备100的任何实施例和/或在该任何实施例上执行。在计算设备100内包括系统总线150,该系统总线与以下部件通信:中央处理单元121;主存储器122;存储装置存储器128;输入/输出(I/O)控制器123;显示设备124A-124N;安装设备116;以及网络接口118。在一个实施例中,存储装置存储器128包括:操作系统、软件例程和客户端代理120。I/O控制器123在一些实施例中还连接到键盘126和指示设备127。其它实施例可以包括连接到多于一个输入/输出设备130A-130N的I/O控制器123。
图1C图示计算设备100的一个实施例,其中可以部署图1中所示客户端机器102和服务器106为这里图示和描述的计算设备100的任何实施例和/或在该任何实施例上执行。在计算设备100内包括与以下部件通信的系统总线150:网桥170和第一I/O设备130A。在另一实施例中,网桥170还与主要中央处理单元121通信,其中中央处理单元121还可以与第二I/O设备130B、主存储器122和高速缓存存储器140通信。在中央处理单元121内包括I/O端口、存储器端口103和主处理器。
计算机器100的实施例可以包括以下部件配置中的任何部件配置表征的中央处理单元121:对从主存储器单元122取读的指令做出响应并且处理这些指令的逻辑电路;微处理器单元、比如Intel公司制造的微处理器单元、Motorola公司制造的微处理器单元、SantaClara,California的Transmeta公司制造的微处理器单元;RS/6000处理器、比如国际商务机器公司制造的处理器;处理器、比如AdvancedMicroDevices制造的处理器;或者逻辑电路的任何其它组合。中央处理单元122的更多其它实施例可以包括以下各项的任何组合:微处理器、微控制器、具有单个处理内核的中央处理单元、具有两个处理内核的中央处理单元或者具有多于一个处理内核的中央处理单元。
尽管图1C图示包括单个中央处理单元121的计算设备100,但是在一些实施例中,计算设备100可以包括一个或者多个处理单元121。在这些实施例中,计算设备100可以存储和执行固件或者其它可执行指令,这些指令在被执行时指引一个或者多个处理单元121同时执行指令或者对单条数据同时执行指令。在其它实施例中,计算设备100可以存储和执行固件或者其它可执行指令,这些指令在被执行时指引一个或者多个处理单元各自执行一组指令的一部分。例如可以指导每个处理单元121执行程序的部分或者程序内的特定模块。
在一些实施例中,处理单元121可以包括一个或者多个处理内核。例如处理单元121可以具有两个内核、四个内核、八个内核等。在一个实施例中,处理单元121可以包括一个或者多个并行处理内核。处理单元121的处理内核可以在一些实施例中访问作为全局地址空间的可用存储器,或者在其它实施例中,可以分割并且向处理单元121内的特定内核指派存储器计算设备100内的存储器。在一个实施例中,计算设备100中的一个或者多个处理内核或者处理器可以各自访问本地存储器。在更多另一实施例中,可以在一个或者多个处理器或者处理内核之间共享计算设备100内的存储器,而其它存储器可以由特定处理器或者处理器子集访问。在计算设备100包括多于一个处理单元的实施例中,可以在单个集成电路(IC)中包括多个处理单元。这些多个处理器在一些实施例中可以由称为单元互连总线的内部高速总线链接在一起。
在计算设备100包括一个或者多个处理单元121或者如下处理单元121、该处理单元包括一个或者多个处理内核的实施例中,处理器可以对多条数据同时执行单个指令(SIMD),或者在其它实施例中可以对多条数据同时执行多个指令(MIMD)。在一些实施例中,计算设备100可以包括任何数目的SIMD和MIMD处理器。
计算设备100在一些实施例中可以包括图形处理器或者图形处理单元(未示出)。图形处理单元可以包括软件和硬件的任何组合并且还可以输入图形数据和图形指令、根据输入的数据和指令呈现图形并且输出呈现的图形。在一些实施例中,可以在处理单元121内包括图形处理单元。在其它实施例中,计算设备100可以包括一个或者多个处理单元121,其中至少一个处理单元121专用于处理和呈现图形。
计算机器100的一个实施例包括经由也称为后侧总线的次级总线与高速缓存存储器140通信的中央处理单元121,而计算机器100的另一实施例包括经由系统总线150与高速缓存存储器通信的中央处理单元121。本地系统总线150可以在一些实施例中也由中央处理单元用来与多于一个类型的I/O设备130A-130N通信。在一些实施例中,本地系统总线150可以是以下类型的总线中的任何类型:VESAVL总线;ISA总线;EISA总线;微通道架构(MCA)总线;PCI总线;PCI-X总线;PCI-快速总线;AGP总线;或者NuBus。计算机器100的其它实施例包括I/O设备130A-130N,该I/O设备是与中央处理单元121通信的视频显示器124。计算机器100的更多其它版本包括经由以下连接中的任何连接来连接到I/O设备130A-130N的处理器121:HyperTransport、快速I/O或者InfiniBand。计算机器100的更多实施例包括使用本地互连总线来与一个I/O设备130A通信并且使用直接连接来与第二I/O设备130B通信的处理器121。
计算设备100在一些实施例中包括主存储器单元122和高速缓存存储器140。高速缓存存储器140可以是任何存储器类型并且在一些实施例中可以是以下存储器类型中的任何类型:SRAM;BSRAM;或者EDRAM。其它实施例包括高速缓存存储器140和主存储器单元122,该主存储器单元可以是以下类型的存储器中的任何类型:静态随机存取存储器(SRAM)、突发SRAM或者同步突发SRAM(BSRAM);动态随机存取存储器(DRAM);快速页面模式DRAM(FPMDRAM);增强DRAM(EDRAM)、扩展数据输出RAM(EDORAM);扩展数据输出DRAM(EDODRAM);突发扩展数据输出DRAM(BEDODRAM);增强DRAM(EDRAM);同步DRAM(SDRAM);JEDECSRAM;PC100SDRAM;双数据速率SDRAM(DDRSDRAM);增强SDRAM(ESDRAM);同步链路DRAM(SLDRAM);直接RambusDRAM(DRDRAM);铁电RAM(FRAM);基于忆阻器的存储器;或者任何其它类型的存储器。更多实施例包括可以经由以下各项访问主存储器122的中央处理单元121:系统总线150;存储器端口103;或者允许处理器121访问存储器122的任何其它连接、总线或者端口。
计算设备100的一个实施例为以下安装设备116中的任何安装设备提供支持:CD-ROM驱动、CD-R/RW驱动、DVD-ROM驱动、各种格式的磁带驱动器、USB设备、安全数字卡、NetBoot或者iPXE固件、可引导介质、可引导CD、用于GNU/Linux分发如的可引导CD、硬盘驱动器或者适合于安装应用或者软件的任何其它设备。应用在一些实施例中可以包括客户端代理120或者客户端代理120的任何部分。计算设备100还可以包括存储设备128,该存储设备可以是一个或者多个硬盘驱动器或者一个或者多个独立盘冗余阵列;其中存储设备被配置用于存储操作系统、软件、程序应用或者客户端代理120的至少部分。计算设备100的又一实施例包括用作存储设备128的安装设备116。
计算设备100还可以包括用于通过多种连接接口到局域网(LAN)、广域网(WAN)或者因特网的网络接口118,这些连接包括但不限于标准电话线、LAN或者WAN链路(例如802.11、T1、T3、56kb、X.25、SNA、DECNET)、宽带连接(例如ISDN、帧中继、ATM、吉比特以太网、在SONET之上的以太网)、无线连接,或者上述各项中的任何项或者全部的某个组合。也可以使用多种通信协议(例如TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布式数据接口(FDDI)、RS232、RS485、IEEE802.11、IEEE802.11a、IEEE802.11b、IEEE802.1lg、CDMA、GSM、WiMax和直接异步连接)来建立连接。计算设备100的一个版本包括能够经由任何类型和/或形式的网关或者隧道协议与附加计算设备100’通信的网络接口118,该网关或者隧道协议比如是安全套接字层(SSL)或者传送层安全(TLS)或者CitrixSystems公司制造的Citrix网关协议。网络接口118的版本可以包括以下各项中的任何项:内置网络适配器;网络接口卡;PCMCIA网络卡;卡总线网络适配器;无线网络适配器;USB网络适配器;调制解调器;或者适合于将计算设备100对接到能够通信的网络并且实现这里描述的方法和系统的任何其它设备。
计算设备100的实施例包括以下I/O设备130A-130N中的任何一个I/O设备:键盘126;指示设备127;鼠标;跟踪板;光笔;跟踪球;麦克风;绘图平板;视频显示器;扬声器;喷墨打印机;激光打印机;和染料升华打印机;或者能够实现这里描述的方法和系统的任何其它输入/输出设备。I/O控制器123可以在一些实施例中连接到多个I/O设备103A-130N以控制一个或者多个I/O设备。I/O设备103A-130N的一些实施例可以被配置用于提供存储装置或者安装介质116,而其它可以提供用于接收USB存储设备的通用串行总线(USB)接口、比如TwintechIndustry公司制造的USB闪盘产品线。更多其它实施例包括I/O设备130,该I/O设备可以是在系统总线150与外部通信总线之间的网桥,该外部通信总线比如是:USB总线;AppleDesktopBus;RS-232串行连接;SCSI总线;FireWire总线;FireWire800总线;以太网总线;AppleTalk总线;吉比特以太网总线;异步传输模式总线;HIPPI总线;超级HIPPI总线;SerialPlus总线;SCI/LAMP总线;FibreChannel总线;或者串行附着小型计算机系统接口总线。
在一些实施例中,计算机器100可以连接到多个显示器设备124A-124N,在其它实施例中,计算设备100可以连接到单个显示器设备124,而在更多其它实施例中,计算设备100连接到是相同类型或者形式的显示器设备124A-124N或者是不同类型或者形式的显示器设备。显示器设备124A-124N的实施例可以由以下各项支持和实现:一个或者多个I/O设备130A-130N;I/O控制器123;I/O设备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的更多其它实施例可以包括多个次级计算设备提供的并且经由网络连接到主计算设备100的多个显示器设备124A-124N。
在一些实施例中,计算机器100可以执行任何操作系统,而在其它实施例中,计算机器100可以执行以下操作系统中的任何操作系统:MICROSOFTWINDOWS操作系统的版本、比如WINDOWS3.x;WINDOWS95;WINDOWS98;WINDOWS2000;WINDOWSNT3.51;WINDOWSNT4.0;WINDOWSCE;WINDOWSXP;和WINDOWSVISTA;Unix和Linux操作系统的不同发布;AppleComputer公司制造的MACOS的任何版本;国际商务机器公司制造的OS/2;任何嵌入式操作系统;任何实时操作系统;任何开源操作系统;任何私有操作系统;用于移动计算设备的任何操作系统;或者任何其它操作系统。在更多另一实施例中,计算机器100可以执行多个操作系统。例如计算机器100可以执行PARALLELS或者另一虚拟化平台,该虚拟化平台可以执行或者管理虚拟机,该虚拟机执行第一操作系统,而计算机器100执行与第一操作系统不同的第二操作系统。
可以在以下计算设备中的任何计算设备中体现计算机器100:计算工作站;桌面计算机;膝上或者笔记本计算机;服务器;手持计算机;移动电话;便携电信设备;媒体播放设备;游戏系统;移动计算设备;上网本;Apple公司制造的IPOD设备系列的设备;Sony公司制造的PLAYSTATION设备系列的任何设备;Nintendo公司制造的Nintendo设备系列的任何设备;Microsoft公司制造的XBOX设备系列的任何设备;或者任何其它类型和/或形式的计算、电信或者媒体设备,该设备能够通信并且具有用于实现这里描述的方法和系统的充分处理器能力和存储器容量。在其它实施例中,计算机器100可以是移动设备、比如以下移动设备中的任何移动设备:支持JAVA功能的蜂窝电话或者个人数字助理(PDA)、比如i55sr、i58sr、i85s、i88s、i90c、i95cl或者im1100,所有这些是Motorola公司制造的;Kyocera制造的6035或者7135;SamsungElectronics有限公司制造的i300或者i330;Palm公司制造的TREO180、270、600、650、680、700p、700w或者750智能电话;任何计算设备,该计算设备具有与设备一致的不同处理器、操作系统和输入设备;或者能够实现这里描述的方法和系统的任何其它移动计算设备。在更多其它实施例中,移动计算设备100可以是以下移动计算设备中的任何移动计算设备:ResearchInMotion有限公司制造的任一系列的Blackberry或者其它手持设备;AppleComputer制造的iPhone;PalmPre;PocketPC;PocketPC电话;或者任何其它手持移动设备。
在一些实施例中,计算设备100可以具有与设备一致的不同处理器、操作系统和输入设备。例如在一个实施例中,计算设备100是Palm公司制造的TREO180、270、600、650、680、700p、700w或者750智能电话。在这些实施例中的一些实施例中,TERO智能电话是在PalmOS操作系统的控制之下操作的并且包括触笔输入设备以及五向导航器设备。
在其它实施例中,计算设备100是移动设备、比如支持JAVA功能的蜂窝电话或者个人数字助理(PDA)、比如i55sr、i58sr、i85s、i88s、i90c、i95cl或者im1100,所有这些是Schaumburg,Illinois的Motorola公司制造的;Kyoto,Japan的Kyocera制造的6035或者7135;或者Seoul,Korea的SamsungElectronics有限公司制造的i300或者i330。在一些实施例中,计算设备100是Finland的Nokia或者Lund,Sweden的SonyEricssonMobileCommunicationAB制造的移动设备。
在更多其它实施例中,计算设备100是Blackberry手持或者智能电话、比如ResearchInMotion有限公司制造的设备、包括Blackberry7100系列、8700系列、7700系列、7200系列、Blackberry7520或者BlackberryPearl8100。在更多其它实施例中,计算设备100是智能电话、PocketPC、PocketPC电话或者支持MicrosoftWindowsMobile软件的其它手持移动设备。另外,计算设备100可以是任何工作站、桌面计算机、膝上或者笔记本计算机、服务器、手持计算机、移动电话、任何其它计算机或者能够通信并且具有用于执行这里描述的操作的充分处理器功率和存储器容量的其它形式的计算或者电信设备。
在一些实施例中,计算设备100是数字音频播放器。在这些实施例之一中,计算设备100是数字音频播放器、比如Cupertino,California的AppleComputer公司制造的AppleIPOD、IPODTouch、IPODNANO和IPODSHUFFLE设备产品。在这些实施例中的另一实施例中,数字音频播放器可以作为便携媒体播放器和海量存储设备二者工作。在其它实施例中,计算设备100是数字音频播放器、比如RidgefieldPark,NJ的SamsungElectronicsAmerica制造的DigitalAudioPlayerSelectMP3播放器或者Schaumburg,IL的Motorola公司制造的Motorolam500或者m25数字音频播放器。在更多其它实施例中,计算设备100是便携媒体播放器、比如CreativeTechnologies公司制造的ZenVisionW、ZenVision系列、ZenPortableMediaCenter设备或者DigitalMP3系列的MP3播放器产品。在更多其它实施例中,计算设备100是支持文件格式的便携媒体播放器或者数字音频播放器,这些文件格式包括但不限于MP3、WAV、M4A/AAC、WMA保护的AAC、AIFF、Audible有声书、Apple无损音频文件格式以及.mov、.m4v和.mp4MPEG-4(H.264/MPEG-4AVC)音频文件格式。
在一些实施例中,计算设备100包括设备的组合、比如与数字音频播放器或者便携媒体播放器组合的移动电话。在这些实施例之一中,计算设备100是MotorolaRAZR或者MotorolaROKR系列的组合数字音频播放器和移动电话产品。在这些实施例中的另一实施例中,计算设备100是Cupertino,California的AppleComputer制造的iPhone智能电话。
图1A-1C在性质上为示例,并且一个或者多个硬件和/或软件销售商、设备、服务和其它示例的具体标识无限制。随着开发每个相应服务或者设备的更新版本,可以也使用或者取而代之使用这样的新版本以及这里未列举的其它新服务和设备。
章节B:用于在移动设备上为在服务器上远程执行的应用提供外壳集成的系统
参照图2,描述框图,该框图图示用于在移动设备上为在服务器上远程执行的应用提供外壳集成的示例系统200。简要概述,系统200包括服务器106。在服务器106上执行的服务器代理210与在服务器106上执行的托管的应用220通信。在一些实施例中,托管的应用220在新创建的用户会话内执行。在一些实施例中,托管的应用220在现有用户会话内执行。服务器代理210与外壳皮肤生成器240通信。服务器代理210通过网络104与客户端代理230通信。在一些实施例中,外壳皮肤生成器240通过网络104与客户端代理230通信。在一些实施例中,外壳皮肤生成器240与在服务器106上执行的用户会话的操作系统的外壳250通信。在一些实施例中,外壳皮肤生成器240与服务器106的操作系统的外壳250通信。在一些实施例中,服务器代理210通过远程呈现层协议、比如这里描述的远程呈现层协议,与客户端代理230通信。客户端代理230在移动计算设备102上执行。在一些实施例中,在服务器106上执行的外壳250在桌面环境中提供用户接口元素的显示。这一外壳250可以不同地称为取景器、图形用户接口(GUI)、视窗或者X视窗接口或者任何其它相似术语。在一些实施例中,外壳250根据与应用220关联的属性数据显示与远程应用220关联的图形数据。
仍然参照图2并且更具体而言,客户端代理230在移动计算设备102上执行。虽然称为客户端代理,但是在一些实施例中,客户端代理230可以称为接收器、本地客户端、本地客户端进程、本地客户端代理或者任何其它相似术语。在一个实施例中,移动计算设备是任何类型的智能电话或者平板。在另一实施例中,移动计算设备是移动计算设备102,该移动设备连接到服务器106以访问可用于移动计算设备102的用户的一个或者多个资源。在更多另一实施例中,客户端代理230是呈现层协议代理的部分。在另一实施例中,客户端代理230与呈现层协议代理通信。在各种实施例中,客户端代理可以包括软件、硬件或者硬件和软件的任何组合。
服务器代理210在远程计算设备106上执行。与客户端代理230一样,在一些实施例中,服务器代理可以称为远程代理、远程客户端、远程进程、服务器进程或者任何其它相似术语。在一个实施例中,远程计算设备是如结合图1A-1C描述的计算设备。在另一实施例中,服务器代理210是呈现层协议代理的部分。在更多另一实施例中,服务器代理210与呈现层协议代理通信。在各种实施例中,服务器代理可以包括软件、硬件或者硬件和软件的任何组合。
外壳皮肤生成器240在远程计算设备106上执行。与客户端代理230和服务器代理210一样,在一些实施例中,外壳皮肤生成器240可以称为外壳代理、外壳皮肤引擎、外壳引擎、皮肤引擎或者任何其它相似术语。在一个实施例中,远程计算设备是如结合图1A-1C描述的计算设备。在另一实施例中,外壳皮肤生成器240是呈现层协议代理的部分。在更多另一实施例中,外壳皮肤生成器240与呈现层协议代理通信。在一些实施例中,外壳皮肤生成器240可以包括软件、硬件或者软件和硬件的任何组合。
在一个实施例中,外壳250是向计算设备的用户提供用户接口的软件。在一个实施例中,可以用第三方外壳补充或者替换外壳250。在MICROSOFTWINDOWS中,默认外壳是确定桌面的配置(例如任务栏、通知区域、启动菜单等)的EXPLORER。虽然称为外壳,但是如以上讨论的那样,外壳也可以称为GUI、finder、explorer、视窗接口或者任何其它相似术语。
在一些实施例中,客户端代理230包括用于从服务器代理210接收与在远程机器106上生成的桌面环境关联的数据的接收器(例如虚拟机接收器)。在这些实施例之一中,例如客户端代理230包括可以以例如动态链接库(.dll)部件提供的接收器,该接收器从服务器代理210接收视窗创建和视窗进程数据用于在显示在远程机器106上生成的视窗的本地版本时使用。在一些实施例中,客户端代理230可以通过一个或者多个连接来接收数据、比如输出数据和视窗属性数据。在一个实施例中,可以将一个或者多个连接复用为一个或者多个虚拟信道。这样的复用可以允许不同虚拟信道具有不同带宽限制或者不同优先级而仍然是单个传送层连接的部分。这可以减少需要的传送层开销并且提供SSL或者VPN隧道能力而仍然允许在外壳皮肤生成器240与客户端代理230之间或者在服务器代理210与客户端代理230之间的每信道压缩、缓冲和通信优先级管理。在一些实施例中,这样的虚拟信道可以专用于具体内容类型或者目的。例如,如以下更具体讨论的那样,第一高优先级虚拟信道可以专用于传输输出数据,而第二低优先级虚拟信道可以专用于传输视窗属性数据、应用任务引用、用户内容、偏好等。在一些实施例中,可以打开或者关闭虚拟信道而无需取消建立或者重新建立它们在其上通信的传送层连接。
现在参照图3,描绘跳跃列表或者目的地列表(也就是J列表或者D列表)的一个示例实施例的屏幕截图。目的地列表提供对公共应用任务或者内容的快速和容易访问。目的地列表提供用于启动应用的新实例、用于固定或者取消固定应用到工具栏和关闭应用的手段。用户可以通过右击任务栏中的应用图标来访问跳跃列表。图3描绘定制的跳跃列表。默认地,跳跃列表包含通过SHAddToRecentDocs函数为基于文件的应用自动填充的新近类别301。这一函数向外壳250的新近使用的文档列表添加使用的“项”(文档)。除了上传它的新近文档列表之外,外壳250向用户的新近目录添加快捷方式。操作系统任务栏使用该列表和新近目录以填充跳跃列表中的新近项列表。如果应用的文件类型具有注册的句柄(这无需是默认句柄),则外壳250代表应用自动完成工作。任何时候用户双击具有注册的句柄的文件类型,在OS启动应用之前,它代表应用自动调用SHAddToRecentDocs,该函数将项插入到新近列表中并最终插入到跳跃列表。相同自动行为在使用OS公共文件对话框以通过应用打开文件时出现。OS向跳跃列表中自动插入项,除非应用特别地去除这一功能。用户也具有从他们的跳跃列表去除任何项的选项。通过从跳跃列表显式地去除项,将该项插入到去除的项列表中。
图4描绘在桌面计算环境上的用于字处理器403的目的地列表401的屏幕截图。在一些实施例中,外壳皮肤生成器240生成的皮肤可以与定制组合。在一些实施例中,外壳皮肤生成器240生成的皮肤可以在移动设备102上显示可以包含预定项404、405、406的定制内容的目的地列表。图5描绘在桌面计算环境中的用于web浏览器503的目的地列表501的屏幕截图。目的地列表501具有预定项505。
通常用户将从多个设备访问远程托管的应用和其它资源。例如用户可以在工作位置的瘦客户端设备、从住所位置的桌面或者膝上计算机和/或当在除了工作或者住所位置之外的位置或者甚至在工作或者住所位置时从平板,智能电话,或者其它移动设备访问远程托管的资源。无论每个特定设备使用的外壳如何,这里描述的方面提供跨所有设备的一致用户体验。
图6描绘在平板、例如来自Apple公司的品牌平板上使用原生设备的接口外观呈现的用于字处理器403的定制目的地列表603的屏幕截图601。D列表603可以由在原生设备上执行的客户端软件(例如接收器)生成并且包括预定项404、405、406的定制内容。图7描绘在平板上使用原生设备的接口外观呈现的并且具有内容项505的用于web浏览器503的定制目的地列表703的屏幕截图701。图8描绘来自会话中平板外壳皮肤并且具有内容项404、405、406的用于字处理器403的定制目的地列表的屏幕截图。图9描绘来自会话中平板外壳皮肤并且具有内容项505的来自web浏览器503的定制目的地列表的屏幕截图。对内容或定制任务的固定和解除固定可以取决于基于外壳项或外壳链接用户接口呈现的末端设备而借助于预定的手势支持。接口因此可以不要求附加的显式用户接口部件。
图12图示根据这里描述的一个或者多个方面的平板优化触摸友好外壳皮肤的另一实施例在移动设备上的屏幕截图。具体而言,已经用触摸友好方式重新皮肤化和呈现MICROSOFTWINDOWS7桌面的启动菜单(现在在左上部中)和任务栏(在底部)。此外,已经用更大的触摸友好图标呈现通向最喜欢文档或者应用的桌面快捷方式。已经保留个性化的桌面背景图像。作为整体,已经优化桌面用于平板使用。
章节C:用于为在服务器上远程执行的应用提供外壳集成的方法
根据一个或者多个示例方面,可以将目的地列表从操作系统外壳去耦合并且将它们动态地与任何设备集成且与该设备的原生接口外观保持一致,从而实现这里描述的系统和方法。参照图10,在一些实施例中,在服务器106上执行的目的地列表解析器或者目的地列表管理器部件可以抽象化内部目的地列表的管理从而提供用于发现目的地列表并且读取和向列表写入的方法。在通过引用而结合于此、标题为“ShellIntegrationforanApplicationExecutingRemotelyonaServer”、于2012年5月17日提交的第13/474,238号美国申请中用附加细节描述解析。
在步骤1001中,移动设备102向用户呈现用户接口,用户可以通过该用户接口选择一个或者多个远程托管的资源。在一些实施例中,在移动设备102上执行的客户端代理230枚举托管的应用220。在步骤1003中,用户打开或者指导设备102打开特定于应用的上下文菜单。在一些实施例中,上下文菜单与目的地列表等效。在一些实施例中,上下文菜单与目的地列表相同。在一些实施例中,用户使用在应用图标之上的两手指敲击手势来打开特定于应用的上下文菜单。在一些实施例中,用户根据端点移动设备102使用其它指明的手势、比如长按或者双击。
在步骤1005中,客户端代理230向服务器106发送对取回目的地列表信息的请求。在一些实施例中,客户端代理230通过远程呈现层协议向服务器发送请求。在一些实施例中,客户端代理230通过CitrixNfUse协议发送对取回目的地列表信息的请求。在一些实施例中,以具体协议格式取回目的地列表信息。在一些实施例中,在枚举应用220期间取回目的地列表信息。在一些实施例中,可以在移动计算设备102上高速缓存目的地列表信息。
在一些实施例中,XML中继用控制器产生对于应用220的请求。在一些实施例中,控制器可以是独立管理架构(IMA)控制器。在一些实施例中,控制器可以是桌面递送控制器(DDC)。在一些实施例中,向IMA工作器委托请求。在一些实施例中,向虚拟桌面装置(VDA)工作站委托请求。在一些实施例中,通过Citrix连接代理协议(CBP)向IMA工作器或者VDA工作站委托请求,该协议使用目的地列表解析器以将每应用的目的地列表信息读取成预定协议格式并且将它返回给调用链。在一些实施例中,也可以在用于每个应用的IMA数据存储库或者DDC数据方案中高速缓存目的地列表信息。在一些实施例中,可以在运行期更新高速缓存。
在步骤1007中,客户端代理230接收目的地列表信息。在一些实施例中,客户端代理230以预定协议格式接收D列表信息。在步骤1009中,使用本地用户接口在列表中不透明地呈现应用220的类别和外壳对象。本地用户接口可以与客户端代理230集成。例如在iOS(iPad或者iPhone客户端设备)上,可以使用模型-视图-控制器设计模式来管理和呈现D列表。NSDictionary或者NSMutableDictionary对象可以用来管理D列表信息为关键字和值的关联。UIPopoverController和UITableView可以用来显示D列表信息的分层列表。在表中的每个单元可以是用来显示杂项内容、比如图像或者图标(UIImage)、文字(UITextField)或者标注(UILabel)等的UITableViewCell对象。目标动作和委托协议方法可以用来接受用户输入并且触发对D列表目的地项的对应动作。在一些实施例中,本地用户接口可以与本机设备用户接口无缝集成。
在步骤1011中,用户点击或者敲击外壳项、比如文档引用、由此向客户端代理230提供用户对D列表项的选择输入。在步骤1013中,客户端代理230可以用文档引用启动应用220或者另外可以基于选择的D列表项执行某个其它任务。在一些实施例中,托管的应用220直接启动文档或者内容(例如MicrosoftWord加载文档)。在一些实施例中,用户点击或者敲击外壳链接(例如任务)。客户端代理230用任务作为命令行变元启动应用220。托管的应用220通过执行任务(例如web浏览器打开新标签)开始。
参照图11,在另一方面中,使用客户端设备的用户可以使用本地接收器连接到远程桌面会话以获得情境菜单/D列表信息。在步骤1101中,客户端代理230可以建立与外壳皮肤引擎240的连接。在一些实施例中,客户端代理230代之以建立与服务器代理210的连接,该服务器代理与外壳皮肤引擎240通信。在一些实施例中,在客户端代理230与外壳皮肤引擎240之间的连接是呈现层协议。在步骤1103中,外壳皮肤引擎240可以在服务器106的外壳之上生成外壳皮肤并且在步骤1105中可以呈现与移动计算设备102(比如iPad、iPhone或者Android)背景和分辨率一致的大应用图标。外壳皮肤可以基于客户端设备102。在一些实施例中,基于通过远程呈现层协议协商的移动计算设备102的能力选择皮肤。在一些实施例中,这些能力包括本地设备类型、操作系统主要和次要版本号以及显示分辨率。在一些实施例中,外壳皮肤引擎240生成将用于任何任意移动计算设备102的默认皮肤。在一些实施例中,外壳皮肤用来给予在移动设备102上的外壳更换的幻觉。在一些实施例中,可以防止explorer启动外壳的桌面或者任务栏。
在步骤1107中,用户例如使用在应用图标之上的两手指敲击手势来选择或打开特定于应用的上下文菜单。在一些实施例中,用户根据移动计算设备102的输入能力使用其它指明的手势以打开特定于应用的上下文菜单、比如长按或者双击。
在步骤1109中,外壳皮肤引擎240例如通过使用目的地列表解析器以将用于应用220的目的地列表信息读取成预定协议格式并且用它不透明地填充会话中弹出菜单来基于用户输入确定、标识和/或生成D列表项,该会话中弹出菜单具有应用的类别和外壳对象。可以用移动/客户端计算设备102的接口外观呈现具有应用类别和外壳对象的会话中弹出菜单。
在步骤1111中,用户点击或者敲击外壳/D列表项、比如文档引用。在步骤1113中,客户端和/或服务器基于选择的项采取某个动作。例如外壳皮肤可以例如用ShellExecute或者ShellExecuteEx调用不透明地启动文档或者内容。在一些实施例中,已经注册的文件类型关联(FTA)保证启动相应应用(例如MicrosoftWord加载文档)。
在一些实施例中,用户点击或者敲击外壳链接(例如任务)。外壳皮肤以任务作为命令行参数启动应用。托管的应用220通过执行任务(例如因特网浏览器打开新标签)开始。
在一些实施例中,外壳皮肤引擎240生成的外壳皮肤向实际外壳250委托处置包括FTA的多个进程、通过自动调用SHAddToRecentDocs在每应用和每用户基础上管理新近文档、作为直接用户动作或者间接应用动作的结果而更新目的地列表文件。在一些实施例中,漫游简档可以用来跨用户使用的相异设备在自动目的地列表中保留定制目的地列表的应用特性以及用户的偏好和历史。在一些实施例中,漫游简档或者映射的网络驱动或者备选数据同步解决方案可以用来保证对来自不同瘦客户端主机的基于文件的内容的统一访问。
参照图12,在一些实施例中,可以使用C#和/或XAML来将外壳皮肤引擎240实现为单独应用。实际外壳250、例如MicrosoftWindows外壳(浏览器)仍然可以在后台中执行。可以在默认视窗桌面前面(在Z-顺序前面)呈现外壳皮肤引擎240。因此,用户可以未知实际外壳250的存在。可以通过使用视窗消息和/或视窗程序挂钩、例如通过使用SetWindowHookEx来实现鲁棒地管理在实际外壳250、外壳皮肤引擎240和用户可以操作的任何应用或者内容视窗之间的恰当Z顺序。
在一些实施例中,可以通过利用CitrixShareFile、MicrosoftSkyDrive或者其它基于云的存储介质来实现远程资源服务器。
在一些实施例中,保留每个应用的特性而无这里描述的系统的显式管理。在一些实施例中,目的地列表解析器、相应协议和用户接口不透明地处置它们。例如在用户接口中呈现InternetExplorer的打开新标签页、StartInPrivateBrowsing、WindowsMediaPlayer的播放所有音乐、MicrosoftWord的新近文档列表、定制特定于本机应用的任何选项、web应用或者网站。也可以并入应用的固定或者取消固定并且可以使它分别与在客户端代理230中选择或者取消选择应用同义。从任何移动计算设备102固定和取消固定内容或者定制任务也由这里描述的系统和方法支持,并且在一些实施例中,上行CitrixNfUse协议用来相应地更新每应用和每用户数据存储库。在一些实施例中,内容无需物理地存在于移动计算设备102并且无需可直接由客户端代理230访问。取而代之,在一些实施例中,在移动计算设备102向用户仅呈现引用和可视元素,而应用220使用的实际内容驻留于服务器106或者另一远程可访问的数据存储库。在其它实施例中,内容可以物理地存在于移动计算设备102和客户端代理230或者直接可由移动计算设备102和客户端代理230访问、例如通过使用映射的网络驱动器或者辅助的数据同步解决方案。
使用这里描述的一个或者多个方面,在用户访问来自多个不同客户端设备、例如来自桌面计算机、膝上计算机、平板计算机、智能电话等的远程资源时一致地呈现特定于用户的内容。例如在设备之间漫游之时,服务器可以维护用于用户的集中式配置设置,并且在服务器的外壳皮肤引擎可以生成关于资源图标、图标取向、任务栏图标、任务栏图标顺序和与每个资源关联的目的地列表项的信息。服务器还可以基于设备——用户访问来自该设备的内容——生成皮肤并且向设备发送皮肤信息和特定于用户的内容信息用于向用户呈现。
尽管已经在附图中描述和示出某些示例实施例,但是将理解这样的实施例仅举例说明而不是限制这里描述的方法和系统。此外,有可能在硬件、可编程器件、固件、软件或者其组合中实施这里描述的方法和系统或者它的特征中的一些特征。这里也可以在处理器可读存储介质或者机器可读介质、比如磁(例如硬驱动、软驱动)、光学(例如紧致盘、数字万用盘等)或者半导体存储介质(易失性和非易失性)中体现这里描述的方法和系统或者这里描述的方法和系统的部分。

Claims (18)

1.一种在客户端设备上为在远程资源服务器上远程执行的应用提供外壳集成的方法,包括:
解析与资源关联的目的地列表以生成平台不可知目的地列表;
在所述远程资源服务器处存储设备不可知偏好信息,其中所述设备不可知偏好信息包括所述平台不可知目的地列表;
从在所述客户端设备
上执行的虚拟机接收器接收对于所述偏好信息的请求,其中所述请求包括基于所述资源的目的地列表请求;
以设备不可知格式向所述虚拟机接收器发送所述偏好信息,其中所述偏好信息包括所述平台不可知目的地列表信息,以用于以所述客户端设备的第一用户接口格式呈现所述目的地列表信息;
从所述客户端设备接收基于在所述客户端设备处接收的用户输入而修改的偏好信息;以及
在所述远程资源服务器处基于接收的所述修改的偏好信息更新所述设备不可知偏好信息。
2.根据权利要求1所述的方法,其中所述偏好信息还包括以下项中的一个或更多个:用户偏好、应用选项、远程资源列表和所述远程资源列表中的所述远程资源中的每个远程资源的所述远程资源列表的呈现顺序。
3.根据权利要求1所述的方法,包括使用独立于设备的目的地列表协议来发送所述平台不可知目的地列表信息。
4.根据权利要求1所述的方法,还包括:
从具有与所述客户端设备不同的操作系统平台的第二客户端设备接收基于所述资源的第二目的地列表请求;以及
向在所述第二客户端设备上执行的虚拟机接收器发送所述平台不可知目的地列表信息,以用于以基于所述第二客户端设备的第二用户接口格式呈现所述目的地列表信息,所述第二用户接口格式与所述第一用户接口格式不同。
5.根据权利要求1所述的方法,其中所述平台不可知目的地列表包括选自外壳项、外壳链接、应用特定信息、用户偏好信息、历史信息、固定的目的地、频繁目的地和新近目的地中的多个项。
6.根据权利要求1所述的方法,其中发送所述平台不可知目的地列表信息包括响应于所述客户端设备对所述资源的枚举来发送所述平台不可知目的地列表信息。
7.一种在客户端设备上为在远程资源服务器上远程执行的应用提供外壳集成的方法,包括:
在所述远程资源服务器处存储设备不可知偏好信息;
在远程托管的虚拟桌面处基于与所述客户端设备关联的用户接口格式生成外壳皮肤;
使用图形通道通过远程呈现层协议向在所述客户端设备上执行的虚拟机接收器发送生成的所述外壳皮肤;
从所述虚拟机接收器接收对于所述偏好信息的请求;
生成具有所述客户端设备的所述用户接口格式的所述偏好信息;
使用所述图形通道通过所述远程呈现层协议向在所述客户端设备上执行的所述虚拟机接收器发送去往所述客户端设备的生成的所述偏好信息;
从所述客户端设备接收修改的偏好信息;以及
在所述远程资源服务器处基于接收的所述修改的偏好信息而更新所述设备不可知偏好信息。
8.根据权利要求7所述的方法,其中所述偏好信息包括用户偏好、应用选项、远程资源列表、所述远程资源列表的呈现顺序和所述远程资源列表中的所述远程资源中的每个远程资源的目的地列表信息。
9.根据权利要求8所述的方法,还包括:
解析与资源关联的目的地列表以生成平台不可知目的地列表;
在所述远程资源服务器位置处存储所述平台不可知目的地列表信息;
从所述客户端设备接收基于所述资源的目的地列表请求;
生成具有所述客户端设备的所述用户接口格式的所述目的地列表信息;以及
使用所述图形通道通过所述远程呈现层协议向在所述客户端设备上执行的所述虚拟机接收器发送去往所述客户端设备的生成的所述目的地列表信息。
10.根据权利要求9所述的方法,其中所述平台不可知目的地列表包括选自外壳项、外壳链接、应用特定信息、用户偏好信息、历史信息、固定的目的地、频繁目的地和新近目的地中的多个项。
11.根据权利要求9所述的方法,还包括:
从具有与所述客户端设备不同的操作系统平台的第二客户端设备接收基于所述资源的第二目的地列表请求;以及
生成具有所述第二客户端设备的用户接口格式的所述目的地列表信息;以及
使用所述图形通道通过所述远程呈现层协议向在所述第二客户端设备上执行的虚拟机接收器发送去往所述第二客户端设备的生成的所述目的地列表信息,
其中所述客户端设备的所述用户接口格式与所述第二客户端设备的所述用户接口格式不同。
12.根据权利要求9所述的方法,其中从所述客户端设备接收包括通过远程呈现层协议接收所述目的地列表请求。
13.根据权利要求9所述的方法,其中发送生成的所述目的地列表信息是对从所述客户端设备发起的对所述资源的枚举的响应。
14.一种客户端设备,包括:
处理器;以及
存储器,其存储计算机可读指令,所述计算机可读指令在由所述客户端设备执行时使所述客户端设备执行:
向远程资源服务器设备发送源于在所述客户端设备上执行的虚拟机接收器的第一请求,所述第一请求包括对于设备不可知配置设置的请求;
接收所述设备不可知配置设置,其中所述接收包括在所述客户端设备上对远程资源的枚举期间接收目的地列表信息;以及
由所述虚拟机接收器基于所述设备不可知配置设置而格式化一个或者多个用于向用户显示的远程资源,所述格式化基于与所述客户端设备关联的图形用户接口。
15.根据权利要求14所述的客户端设备,其中所述设备不可知配置设置标识多个远程资源、与所述多个远程资源中的每个远程资源关联的图标的呈现顺序、以及与所述多个远程资源中的每个远程资源关联的一个或者多个目的地列表项。
16.根据权利要求15所述的客户端设备,其中所述客户端设备包括触屏平板设备,并且其中对于设备不可知配置设置的请求包括基于与远程资源图标关联的预定义手势输入的、对于目的地列表项的请求。
17.根据权利要求14所述的客户端设备,其中所述指令还使得所述客户端设备执行通过远程呈现层协议传送所述设备不可知配置设置。
18.根据权利要求14所述的客户端设备,其中所述指令还使得所述客户端设备执行在所述客户端设备上高速缓存所述设备不可知配置设置,并且在后续启动所述虚拟机接收器期间应用高速缓存的所述设备不可知配置设置。
CN201280031449.3A 2011-05-20 2012-05-18 在移动设备上针对在服务器上远程执行的应用的外壳集成 Active CN103649936B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161488593P 2011-05-20 2011-05-20
US201161488612P 2011-05-20 2011-05-20
US61/488,593 2011-05-20
US61/488,612 2011-05-20
PCT/US2012/038623 WO2012162158A1 (en) 2011-05-20 2012-05-18 Shell integration on a mobile device for an application executing remotely on a server

Publications (2)

Publication Number Publication Date
CN103649936A CN103649936A (zh) 2014-03-19
CN103649936B true CN103649936B (zh) 2016-03-16

Family

ID=47175789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280031449.3A Active CN103649936B (zh) 2011-05-20 2012-05-18 在移动设备上针对在服务器上远程执行的应用的外壳集成

Country Status (4)

Country Link
US (2) US9032062B2 (zh)
EP (1) EP2710486B1 (zh)
CN (1) CN103649936B (zh)
WO (1) WO2012162158A1 (zh)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9201709B2 (en) * 2011-05-20 2015-12-01 Citrix Systems, Inc. Shell integration for an application executing remotely on a server
US9361131B1 (en) * 2011-06-24 2016-06-07 Amazon Technologies, Inc. Network resource access via a mobile shell
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US20130097416A1 (en) * 2011-10-18 2013-04-18 Google Inc. Dynamic profile switching
US20130145256A1 (en) * 2011-12-02 2013-06-06 Verizon Patent And Licensing Inc. Context-dependent syling for documents
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
WO2013169845A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for scrolling nested regions
JP2015519656A (ja) 2012-05-09 2015-07-09 アップル インコーポレイテッド ユーザインタフェースオブジェクトを移動し、ドロップするためのデバイス、方法及びグラフィカルユーザインタフェース
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
EP2847662B1 (en) 2012-05-09 2020-02-19 Apple Inc. Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
CN104508618B (zh) 2012-05-09 2018-01-05 苹果公司 用于针对在用户界面中执行的操作提供触觉反馈的设备、方法和图形用户界面
CN104487928B (zh) 2012-05-09 2018-07-06 苹果公司 用于响应于手势而在显示状态之间进行过渡的设备、方法和图形用户界面
KR101956082B1 (ko) 2012-05-09 2019-03-11 애플 인크. 사용자 인터페이스 객체를 선택하는 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
CN105260049B (zh) 2012-05-09 2018-10-23 苹果公司 用于响应于用户接触来显示附加信息的设备、方法和图形用户界面
US9222788B2 (en) 2012-06-27 2015-12-29 Microsoft Technology Licensing, Llc Proactive delivery of navigation options
US9684398B1 (en) 2012-08-06 2017-06-20 Google Inc. Executing a default action on a touchscreen device
US9239727B1 (en) 2012-10-17 2016-01-19 Amazon Technologies, Inc. Configurable virtual machines
US10001918B2 (en) 2012-11-21 2018-06-19 Algotec Systems Ltd. Method and system for providing a specialized computer input device
RU2541935C2 (ru) 2012-12-25 2015-02-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ развертывания предварительно сконфигурированного программного обеспечения
RU2523113C1 (ru) 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ целевой установки сконфигурированного программного обеспечения
WO2014105278A1 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for determining whether to scroll or select contents
WO2014105279A1 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for switching between user interfaces
AU2013368440B2 (en) 2012-12-29 2017-01-05 Apple Inc. Device, method, and graphical user interface for navigating user interface hierarchies
WO2014105275A1 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture
WO2014105277A2 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
CN103970469B (zh) * 2013-02-05 2015-12-23 腾讯科技(深圳)有限公司 移动终端返回主屏幕的方法及移动终端
US9069608B2 (en) * 2013-03-06 2015-06-30 Vmware, Inc. Method and system for providing a roaming remote desktop
US9521188B1 (en) * 2013-03-07 2016-12-13 Amazon Technologies, Inc. Scheduled execution of instances
US20140279511A1 (en) * 2013-03-14 2014-09-18 Moneygram International, Inc. Systems and Methods for Management of Local Devices
US8805972B1 (en) * 2013-06-26 2014-08-12 Kaspersky Lab Zao Multi-platform operational objective configurator for computing devices
US10011120B2 (en) 2013-07-25 2018-07-03 The Hillman Group, Inc. Single heating platen double-sided sublimation printing process and apparatus
US9403394B2 (en) 2013-07-25 2016-08-02 The Hillman Group, Inc. Modular sublimation transfer printing apparatus
US9731534B2 (en) 2013-07-25 2017-08-15 The Hillman Group, Inc. Automated simultaneous multiple article sublimation printing process and apparatus
US9333788B2 (en) 2013-07-25 2016-05-10 The Hillman Group, Inc. Integrated sublimation transfer printing apparatus
US9120326B2 (en) 2013-07-25 2015-09-01 The Hillman Group, Inc. Automatic sublimated product customization system and process
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
CN103616992B (zh) * 2013-11-13 2017-10-17 华为技术有限公司 应用程序控制方法和装置
US9544373B2 (en) 2013-12-24 2017-01-10 Dropbox, Inc. Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections
US9423922B2 (en) 2013-12-24 2016-08-23 Dropbox, Inc. Systems and methods for creating shared virtual spaces
US10067652B2 (en) 2013-12-24 2018-09-04 Dropbox, Inc. Providing access to a cloud based content management system on a mobile device
US9521190B2 (en) * 2014-03-20 2016-12-13 Dell Products L.P. Dynamic session transformation
US9519471B2 (en) 2014-12-31 2016-12-13 Microsoft Technology Licensing, Llc Surfacing visual representations of universal applications
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
FR3034218A1 (fr) * 2015-03-27 2016-09-30 Orange Procede d'acces rapide a des fonctionnalites d'application
US10067653B2 (en) 2015-04-01 2018-09-04 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US10025758B2 (en) * 2015-04-27 2018-07-17 Microsoft Technology Licensing, Llc Support for non-native file types in web application environment
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US9876852B2 (en) 2015-07-23 2018-01-23 Microsoft Technology Licensing, Llc Coordinating actions across platforms
US9962979B2 (en) 2015-08-05 2018-05-08 The Hillman Group, Inc. Semi-automated sublimation printing apparatus
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US9880735B2 (en) * 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US9823919B2 (en) 2015-12-30 2017-11-21 Microsoft Technology Licensing, Llc Controlled deployment of application feature in mobile environment
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
EP4020940A1 (en) 2017-08-28 2022-06-29 Bright Data Ltd. Content fetching by selecting tunnel devices
US11003468B2 (en) * 2018-11-07 2021-05-11 Citrix Systems, Inc. Preloading of application on a user device based on content received by the user device
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
WO2020202135A2 (en) 2019-04-02 2020-10-08 Luminati Networks Ltd. System and method for managing non-direct url fetching service
US11323449B2 (en) * 2019-06-27 2022-05-03 Citrix Systems, Inc. Unified accessibility settings for intelligent workspace platforms
CN110908609B (zh) * 2019-11-22 2021-09-17 苏州浪潮智能科技有限公司 一种磁盘处理的方法、系统、设备及可读存储介质
US11418713B2 (en) * 2020-04-02 2022-08-16 Qualcomm Incorporated Input based launch sequences for a camera application
CN112000394B (zh) * 2020-08-27 2024-01-09 北京百度网讯科技有限公司 用于访问小程序的方法、装置、设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101167069A (zh) * 2005-04-22 2008-04-23 微软公司 文件对等同步的系统和方法
US20090177794A1 (en) * 2008-01-04 2009-07-09 International Business Machines Corporation Subscriber driven media agnostic content delivery across networks
CN102713886A (zh) * 2010-01-21 2012-10-03 微软公司 跨越多个计算设备的漫游应用设置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020111995A1 (en) * 2001-02-14 2002-08-15 Mansour Peter M. Platform-independent distributed user interface system architecture
US7191233B2 (en) * 2001-09-17 2007-03-13 Telecommunication Systems, Inc. System for automated, mid-session, user-directed, device-to-device session transfer system
US20050066037A1 (en) * 2002-04-10 2005-03-24 Yu Song Browser session mobility system for multi-platform applications
CA2494122A1 (en) 2002-07-31 2004-02-12 Truecontext Corporation Contextual computing system
US7386855B2 (en) * 2002-08-12 2008-06-10 Ntt Docomo, Inc. Application mobility service
CN100463469C (zh) * 2002-10-25 2009-02-18 国际商业机器公司 在多通道上共享应用程序会话信息的方法、装置和系统
US20050021935A1 (en) * 2003-06-18 2005-01-27 Openwave Systems Inc. Method and system for downloading configurable user interface elements over a data network
JP4261281B2 (ja) * 2003-07-11 2009-04-30 富士通株式会社 スキン生成方法、プログラム及び装置
US7509672B1 (en) * 2004-04-01 2009-03-24 Compuware Corporation Cross-platform single sign-on data sharing
US8073926B2 (en) * 2005-01-07 2011-12-06 Microsoft Corporation Virtual machine image server
US7784031B1 (en) * 2005-04-01 2010-08-24 Adobe Systems, Inc. Methods and apparatus for establishing configuration settings between applications
US7617214B2 (en) * 2006-01-31 2009-11-10 Dell Products L.P. Porting security application preferences from one system to another
US8086698B2 (en) * 2006-06-02 2011-12-27 Google Inc. Synchronizing configuration information among multiple clients
US20080005238A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Roaming consistent user representation information across devices and applications
US8136100B1 (en) * 2006-08-29 2012-03-13 Adobe Systems Incorporated Software installation and icon management support
US20080126929A1 (en) * 2006-11-29 2008-05-29 Microsoft Corporation Remote ui for smart devices
US20090119678A1 (en) * 2007-11-02 2009-05-07 Jimmy Shih Systems and methods for supporting downloadable applications on a portable client device
US9612847B2 (en) * 2008-02-05 2017-04-04 Microsoft Technology Licensing, Llc Destination list associated with an application launcher
US9753712B2 (en) * 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
US9747141B2 (en) * 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US9137338B2 (en) * 2010-01-22 2015-09-15 Microsoft Technology Licensing, Llc Multi-link remote protocol
US8793650B2 (en) * 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101167069A (zh) * 2005-04-22 2008-04-23 微软公司 文件对等同步的系统和方法
US20090177794A1 (en) * 2008-01-04 2009-07-09 International Business Machines Corporation Subscriber driven media agnostic content delivery across networks
CN102713886A (zh) * 2010-01-21 2012-10-03 微软公司 跨越多个计算设备的漫游应用设置

Also Published As

Publication number Publication date
EP2710486B1 (en) 2021-06-30
US20120297041A1 (en) 2012-11-22
US10244039B2 (en) 2019-03-26
EP2710486A4 (en) 2014-12-03
US9032062B2 (en) 2015-05-12
EP2710486A1 (en) 2014-03-26
WO2012162158A1 (en) 2012-11-29
US20150201008A1 (en) 2015-07-16
CN103649936A (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
CN103649936B (zh) 在移动设备上针对在服务器上远程执行的应用的外壳集成
US11281360B2 (en) Display management for native user experiences
US10929344B2 (en) Trusted file indirection
US9471335B2 (en) Shell integration for an application executing remotely on a server
US8046695B2 (en) Methods and systems for incorporating at least one window from a first desktop environment having a first themed graphical display into a second desktop environment having a second themed graphical display
US11762634B2 (en) Systems and methods for seamlessly integrating multiple products by using a common visual modeler
US20130212576A1 (en) Tagging Physical Resources in a Cloud Computing Environment
US8332459B2 (en) Federation of composite applications
US20110302495A1 (en) Interpreting a Gesture-Based Instruction to Selectively Display A Frame of an Application User Interface on a Mobile Computing Device
US20140143305A1 (en) Apparatus and system for providing software service using software virtualization and method thereof
CN104115471A (zh) 托管的服务中的客户端带宽模拟
US20130166622A1 (en) Using Mobile Device Location Data with Remote Resources
US20160274777A1 (en) Intelligent taskbar shortcut menu for webpage control
US10579219B2 (en) Speech recognition support for remote applications and desktops
CN114860401B (zh) 异构云桌面调度系统、方法、服务系统、装置及介质
US10812565B2 (en) Systems and methods to configure metadata
US20240096233A1 (en) Training platform for training a user on an application
Jackson et al. Exploring Android App Development: The Lingo of Android and Building Your First Hello World App!

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant