使用应用元数据和客户端更新使能远程受管应用的执行的制作方法

文档序号:6485461阅读:151来源:国知局
使用应用元数据和客户端更新使能远程受管应用的执行的制作方法
【专利摘要】示例实施例涉及通过从云服务器向客户端设备传送应用元数据和客户端更新使能够执行远程受管应用。在示例实施例中,云服务器维护描述远程受管应用的应用元数据。为了使客户端设备能够远程执行该应用,云服务器向客户端设备发送使客户端设备能够执行远程受管应用的应用元数据和对应的客户端更新。
【专利说明】使用应用元数据和客户端更新使能远程受管应用的执行
【背景技术】
[0001]在一些场景中,用户可能希望使用客户端计算设备在本地执行软件应用,但可能由于多种原因不能这样做。例如,如果设备缺少具有足够处理能力的硬件,则该设备可能不能最佳地执行资源密集型应用。作为另一示例,应用可能未在本地安装,并且用户可能没有安装该应用的管理权限。在这些场景中的每个中,客户端设备可以替代地使用远程协议来访问在本地执行应用的远程服务器。尽管应用在服务器上运行,但是用户可以与远程受管应用交互,仿佛其在客户端上本地运行那样。
【专利附图】

【附图说明】
[0002]下面的详细描述参照附图,其中:
[0003]图1是示例云服务器计算设备的框图,该示例云服务器计算设备用于通过向客户端设备提供应用元数据及对应的客户端更新使能远程受管应用的执行;
[0004]图2是示例客户端计算设备的框图,该示例客户端计算设备用于通过从云服务器接收应用元数据和对应的客户端更新使能远程受管应用的执行;
[0005]图3是与客户端计算设备、管理员计算设备、远程更新服务器以及远程应用主机通信的示例服务器计算设备的框图,该示例服务器计算设备用于使客户端计算设备能够远程执行应用;
[0006]图4A是由云服务器执行的示例方法的流程图,该示例方法用于从管理用户接收应用元数据且向客户端设备转发该元数据和对应的客户端更新。
[0007]图4B是由客户端计算设备执行的示例方法的流程图,该示例方法用于从云服务器接收应用元数据和对应的客户端更新并且利用该元数据和更新来执行远程受管应用;
[0008]图5A是由云服务器计算设备执行的示例方法的流程图,该示例方法用于从管理用户接收应用元数据、验证客户端设备并且向被验证的客户端设备转发该元数据和对应的客户端更新;以及
[0009]图5B是由客户端计算设备执行的示例方法的流程图,该示例方法用于向云服务器提供验证信息、从云服务器接收应用元数据及对应的客户端更新并且利用该元数据和更新来执行远程受管应用。
【具体实施方式】
[0010]如上面详述的,远程协议使客户端设备能够在本地访问在远程服务器上主管的应用。例如,假设用户想要执行3D计算机辅助设计(CAD)应用,但是客户端设备缺少具有在本地执行该CAD应用的足够处理能力的硬件。为了解决此问题,用户可以使用网络来将客户端设备连接至执行该CAD应用的远程主机(host)。然后,客户端设备可以从远程主机接收图形信息并显示该图形信息,同时向服务器传送键盘、鼠标和/或触摸输入。以此方式,用户可以利用远程主机的资源,同时仍仿佛其在客户端设备本身上执行一样与应用交互。
[0011]各种服务器体系结构可以被用来帮助网络中的客户端设备远程执行应用。例如,被称为虚拟桌面基础架构(VDI)代理(broker)的服务器可以存储关于远程主机和在那些主机上可利用的应用的信息。然后,基于来自网络中的客户端设备的请求,VDI代理可以向客户端提供连接信息,使得客户端设备可以连接至远程主机,以访问远程受管应用。
[0012]在当前VDI基础架构中,VDI代理典型地以对关于每个远程受管应用的客户端需求不可知的方式维护应用信息。因此,该代理通常不知道为了使能远程执行每个应用而由客户端设备需要的解码器、驱动、管理工具以及其它软件。结果,即使客户端可以从该代理接收必要的连接信息,但客户端仍可能缺少成功地执行该远程受管应用的适当软件。
[0013]本文公开的示例实施例通过提供远程应用主管基础架构来解决这些问题,该远程应用主管基础架构使用云服务器来管理用于支持执行远程应用的远程应用元数据和客户端更新的分配。例如,在一些实施例中,云服务器维护对远程受管应用进行描述的应用元数据。为了使客户端设备能够远程执行应用,云服务器向客户端设备发送应用元数据及对应的客户端更新,该应用元数据及对应的客户端更新使客户端设备能够执行该远程受管应用。然后,客户端可以安装该客户端更新,连接至在元数据中指定的远程主机,并且执行特定的远程受管应用,同时使用所安装的客户端更新来支持执行应用。
[0014]以此方式,本文公开的示例实施例提供一种远程应用主管框架,该远程应用主管框架大大简化了客户端设备的配置。特别地,通过使用云服务器管理客户端更新,示例实施例最少化人工标识和安装由客户端用来支持执行远程受管应用的客户端更新。此外,由于可从任何连接互联网的位置访问云服务器,所以不管每个客户端的位置如何,每个客户端均可以接收适当的元数据及客户端更新。结果,客户端设备可以简单地从任何位置连接至单个云服务器,接收应用元数据和适当的更新,并且将其本身配置为允许用户访问远程受管应用。
[0015]现参照附图,图1是示例云服务器计算设备100的框图,该云服务器计算设备100用于通过向客户端设备提供应用元数据134和对应的客户端更新132来使能执行远程受管应用。云服务器计算设备100可以是像图2的客户端计算设备这样的客户端设备可通过互联网访问的任何计算设备。在图1的实施例中,云服务器计算设备100包括处理器110和机器可读存储介质120。
[0016]处理器110可以是一个或多个中央处理单元(CPU)、微处理器和/或适于获取和执行在机器可读存储介质120中存储的指令的其它硬件设备。处理器110可以提取、解码和执行指令122、124、126、128,以如下面描述的那样使客户端能够执行远程受管应用。作为获取和执行指令的替代或除获取和执行指令以外,处理器110可以包括用于执行指令122、124、126、128中的一个或多个的功能的包括多个电子组件的一个或多个电路。
[0017]机器可读存储介质120可以是存储可执行指令的任何电子的、磁性的、光学的或其它物理存储设备。因此,机器可读存储介质120可以是例如随机存取存储器(RAM)、电可擦写可编程只读存储器(EEPROM)、存储驱动器、光盘等等。如下面详细描述的,机器可读存储介质120可以被编码有用于使客户端能够执行远程受管应用的可执行指令。
[0018]元数据接收指令122可以最初地从管理用户接收应用元数据130。例如,管理用户可以使用像基于网页的应用这样的基于网络的接口来连接至云服务器计算设备100。然后,管理用户可以向服务器100提供元数据130,从而标识可用的远程主机设备和由那些主机设备支持的应用。当从管理用户接收元数据130时,元数据接收指令122可以接着将所接收的元数据130存储在服务器计算设备100可访问的存储设备中。
[0019]对每个应用来说,所接收的应用元数据130可以包括远程受管应用的标识以及主管该应用的对应主机设备的位置。该远程受管应用的标识可以包括例如特定应用的名称以及该应用的描述(例如,类别、功能概述等)。此外,在元数据130中包括的位置信息可以是足以允许客户端设备随后连接至主机设备的任何信息。作为一个示例,位置信息可以包括该主机设备的互联网协议(IP)地址及端口。在一些实现中,位置信息可以进一步包括配置信息,如要由客户端用于与主机设备通信的通信协议(例如,西特里克斯(Citrix)独立计算体系结构(ICA)、微软远程桌面协议(RDP)等等)的标识以及关于所标识的协议的设置。
[0020]然后,通信建立指令124可以通过互联网连接与客户端设备建立通信。例如,特定的客户端设备可以以预定的统一资源定位符(URL)访问服务器100,作为响应,服务器100可以与该客户端建立通信会话。在一些实现中,建立指令124还可以接收客户端登录凭证,如用户标识符以及对应的验证参数(例如,密码)。
[0021]在与客户端建立连接之后,更新提供指令126可以向客户端设备提供客户端更新132,以使客户端能够执行远程受管应用。例如,在与客户端建立通信之后,服务器100可以首先标识要使客户端可利用的远程受管应用。服务器100可以维护应用许可信息,该应用许可信息标识由管理用户指定的被允许访问每个可用应用的用户。在从客户端设备接收客户端标识符(例如,用户标识符、IP地址等等)之后,服务器100然后可以通过访问所存储的应用许可信息来标识要使客户端设备可利用的应用。
[0022]接下来,对于要使客户端可利用的每个远程受管应用,更新提供指令126可以向客户端设备传送任何可用的客户端更新132。作为响应,客户端设备可以安装从服务器100接收的每个更新,以使客户端设备能够远程执行远程受管应用。
[0023]每个客户端更新132可以是向客户端设备提供支持远程受管应用的执行所需要的功能或其它被用来支持远程受管应用的执行的功能的任何指令集。例如,客户端更新132可以是在执行应用期间由客户端设备用于对由主机设备提供的数据流进行解码的解码器。客户端更新132还可以是由客户端用于与像虚拟专用网络(VPN)客户端这样的远程主机连接的应用。作为另一示例,客户端更新132可以是在执行远程受管应用时用于改善客户端设备的性能的硬件驱动,如视频接口驱动或音频接口驱动。此外,客户端更新132可以是用于使管理用户能够远程地连接至客户端设备的管理工具更新。最后,作为最后一个示例,客户端更新132可以是用于使资源能够从客户端设备重定向至主机设备(例如,通用串行总线(USB)重定向、打印机重定向等等)的本地重定向器。
[0024]客户端更新132的资源可以随实施例变化。在一些实现中,云服务器100可以从管理用户接收客户端更新132,并且将所接收的客户端更新132存储在可访问的存储设备上。例如,当向云服务器100提供关于特定远程受管应用的元数据130时,管理用户还可以上传被用来支持执行该特定应用的任何客户端更新。在其它实现中,在从管理用户接收元数据130之后,云服务器100可以从远程服务器获取客户端更新132。例如,云服务器100可以向远程服务器提供在元数据130中包括的应用标识符,并且作为响应,接收关于对应应用的任何适用的客户端更新132。
[0025]除了向客户端提供客户端更新132之外,云服务器计算设备100还可以向客户端设备传送应用元数据134。更具体地,元数据传送指令128可以向客户端设备传送关于每个远程受管应用的元数据134。和元数据130—样,所传送的元数据134可以标识特定远程受管应用、主管该应用的主机设备的位置以及由客户端用于访问该主机设备的任何附加信息。因此,结合客户端更新132,元数据134可以足够客户端随后连接至主机设备并开始远程受管应用的远程执行。
[0026]图2是示例客户端计算设备200的框图,该客户端计算设备200用于使能够通过从云服务器接收应用元数据234和对应的客户端更新232来执行远程受管应用。客户端计算设备200可以是例如笔记本计算机、台式计算机、一体化系统、瘦客户端(thin client)、工作站、平板计算设备、移动电话或适于执行下面描述的功能的任何其它计算设备。在图2的实施例中,客户端计算设备200包括处理器210和机器可读存储介质220。
[0027]和图1的处理器110—样,处理器210可以是一个或多个CPU、微处理器和/或适于获取和执行指令的其它硬件设备。处理器210可以提取、解码和执行指令222、224、226、228,以实现下面描述的远程受管应用的执行程序。处理器210还可以或作为替代包括用于执行一个或多个指令222、224、226、228的功能的电路。和图1的存储介质120 —样,机器可读存储介质220可以是存储可执行指令的任何物理存储设备。
[0028]登录凭证提供指令222可以最初地向预定位置处的可访问互联网的服务器提供登录凭证230。例如,客户端计算设备200可以连接至云服务器,如图1的云服务器100。服务器的预定位置可以是客户端计算设备200可经由互联网访问的统一资源定位符(URL),在一些情况下,该URL可以被预装到客户端200的操作系统中。在一些实现中,当操作系统初始化时,操作系统可以自动地连接至预定的URL,从而帮助客户端计算设备200在不需要用户知道预定URL的条件下的自动配置。
[0029]不论服务器100的位置在哪儿,服务器100都可以最初地向客户端200提供登录界面。然后,客户端200可以将该登录界面输出到可用显示器上,接收登录凭证230的输入,并且向云服务器转发该登录凭证230。例如,用户可以输入像用户名这样的用户标识符以及像密码这样的对应验证参数,然后,客户端200可以向云服务器转发所输入的数据。
[0030]当向服务器成功地验证用户时,元数据接收指令224然后可以接收与所提供的登录凭证230对应的应用元数据234。如上面详述的,元数据234可以标识远程受管应用以及对应主机设备的位置。在一些实现方式中,服务器可以提供对所输入的登录凭证230特有的元数据234,使得该服务器向每个用户提供定制化的元数据。
[0031]在接收元数据234之前、与接收元数据234同时或在接收元数据234之后,客户端更新安装指令226可以接收客户端更新232,客户端更新232使能够远程执行远程受管应用。客户端更新232可以是用于支持应用的执行的任何指令集,如解码器、VPN客户端、驱动、管理工具等等。然后,安装指令226可以在客户端200上安装客户端更新232,使得客户端200然后可以成功地执行远程受管应用。例如,客户端200可以将客户端更新232复制到预定的存储位置,或在更新是可执行文件时执行更新232。
[0032]最后,远程应用执行指令228可以通过连接至在元数据232中指定的远程主机来执行远程受管应用,同时利用所安装的客户端更新232来使能够执行应用。例如,执行指令228可以初始化用于连接至远程主机的远程协议(例如,ICA、RDP等等),与远程主机建立连接,并且开始从主机接收远程图形数据,同时向主机提供输入数据。以此方式,客户端200的用户可以与远程受管应用交互,仿佛在客户端200本地执行该应用一样。[0033]图3是示例云服务器计算设备350的框图,该云服务器计算设备350经由互联网345与客户端计算设备300、管理员计算设备330、远程更新服务器335以及远程应用主机340通信以使客户端计算设备330能够远程执行应用。如图3中说明和下面描述的,服务器计算设备350可以与客户端计算设备300通信,以提供应用元数据和客户端更新,使得客户端300可以访问远程应用主机340,以远程地执行应用。
[0034]如所说明的,客户端计算设备300可以包括多个模块310-318,同时云服务器计算设备350可以包括多个模块352-368。每个模块可以包括在机器可读存储介质上编码的并可由各个设备300、350的处理器执行的一系列指令。此外或作为替代,每个模块可以包括一个或多个硬件设备,此一个或多个硬件设备包括用于实现下面描述的功能的电路。
[0035]和图2的客户端计算设备200 —样,客户端计算设备300可以是笔记本、台式机、平板、工作站、移动设备或适于执行下面描述的功能的任何其它设备。如下面详述的,客户端300可以包括用于使用户能够执行远程受管应用的一系列模块310-318。
[0036]客户端登录模块310可以最初地呈现由服务器计算设备350传送的登录屏幕。例如,在客户端300的操作系统初始化时,客户端登录模块310可以连接至预定URL处的服务器350,从服务器350接收登录界面,并且向用户显示该登录界面。作为响应,用户可以将登录凭证输入到登录界面中,如用户名和密码。然后,客户端登录模块310可以向服务器计算设备350传送所输入的凭证。上面结合图2的登录凭证提供指令222,提供了与客户端登录丰旲块310的不例实现相关的进一步细节。
[0037]然后,元数据接收模块312可以接收对由系统管理员使特定客户端可利用的应用进行描述的应用元数据。例如,接收模块312可以接收由服务器350传送的元数据,该元数据包括一个或多个应用的标识,如应用的名称及应用的描述。元数据还可以包括标识关于每个应用的主机设备340的位置的信息,如IP地址和端口号。上面结合图2的元数据接收指令224,提供了与元数据接收模块312的示例实现相关的进一步细节。
[0038]然后,客户端更新接收模块314可以从服务器350接收关于每个远程受管应用的一个或多个客户端更新。特别地,更新接收模块314可以接收与每个应用相关的被用来支持执行应用的一个或多个文件,如解码器、VPN客户端或驱动。然后,接收模块314可以通过例如运行可执行的安装或将更新文件(多个更新文件)复制至预定位置,安装每个客户端更新。上面结合图2的客户端更新安装指令226,提供了与客户端更新接收模块314的示例实现相关的进一步细节。
[0039]在元数据接收模块312接收应用元数据之后,链接增加模块316然后可以将关于远程受管应用的链接增加到客户端300的操作系统的用户界面中。例如,增加模块316可以增加按键、超链接或其它用户界面元素,按键、超链接或其它用户界面元素在由用户选择时执行对应的远程受管应用。用户从而可以通过简单地点击、触摸或其它方式激活关于期望应用的链接来启动远程受管应用。
[0040]当选择关于特定应用的链接时,远程应用执行模块318然后可以触发对应的远程受管应用的执行。例如,执行模块318可以确定特定远程主机340的位置,初始化用于连接至远程主机340的协议,与主机340建立连接,并且开始应用的远程执行。上面结合图2的远程应用执行指令228,提供了与远程应用执行模块318的示例实现相关的进一步细节。
[0041]和客户端计算设备300 —样,管理员计算设备330可以是台式机、笔记本、工作站、移动设备或用于使系统管理员能够向服务器计算设备350提供应用元数据的任何其它计算设备。管理员计算设备330可以最初地与服务器350建立连接,接收管理员用户界面,并且向管理用户显示该用户界面。
[0042]然后,管理员可以提供标识远程受管应用和可用的远程应用主机340的信息。例如,管理员可以指定应用的名称以及应用的远程主机340的位置。在一些实现中,管理员还可以指定由服务器350用于控制对远程受管应用的访问的应用许可。例如,管理员可以指定将被允许执行每个远程受管应用的用户的用户标识符。此外,管理员还可以上传关于远程受管应用的客户端更新。在收集应用元数据以及任何许可和客户端更新数据之后,管理员计算设备330然后可以向服务器计算设备350传送该数据。
[0043]远程更新服务器335可以是适于存储客户端更新以及向云服务器计算设备350传送该更新的任何计算设备。例如,远程更新服务器335可以维护关于多个远程受管应用中的每个的更新文件清单。当从云服务器350接收标识特定应用的请求时,远程更新服务器335可以从存储器获取任何相关的客户端更新文件,并且向云服务器350传送此更新。
[0044]远程应用主机340可以是适于代表特定客户端设备(如客户端计算设备300)在本地执行应用的任何计算设备。因此,每个应用主机340可以包括用于执行特定应用的指令。当从特定客户端接收请求时,应用主机340可以开始执行所请求的应用的实例,通过网络345向客户端提供用于执行应用的图形数据,并且随后通过网络345从客户端接收输入数据。然后,应用主机340可以处理应用中的输入,并且向客户端提供被更新的图形数据。通过重复此过程,应用主机340可以使客户端的用户能够与客户端上的应用交互,仿佛该客户端在本地执行该应用一样。
[0045]和图1的云服务器100 —样,云服务器计算设备350可以是适于执行下面描述的功能的可由客户端300通过互联网345访问的任何服务器。如下面详述的,服务器350可以包括用于使客户端设备能够执行远程受管应用的一系列模块352-368。
[0046]用户界面模块352可以管理用于向管理员和客户端提供用户界面的过程。因此,用户界面模块352可以最初地向管理员计算设备330提供用户界面。该界面可以首先从管理员请求登录信息,并且在接收该登录信息时请求验证模块354确定是否正确地验证了该管理员。如果正确地验证了该管理员,则界面模块352可以呈现附加界面,该附加界面允许管理员标识要供客户端300利用的远程受管应用,和对要被授予对每个远程受管应用的许可的特定客户端进行标识的许可数据。然后,服务器350可以将应用信息存储在存储器370的应用元数据376中,并且将该许可数据存储到存储器370的客户端数据374中。
[0047]用户界面模块352还可以呈现用来使客户端能够访问应用元数据376的客户端界面。界面模块352可以最初地呈现客户端登录界面,该客户端登陆界面请求客户端标识符(例如,用户名)和对应的验证参数(例如,密码)。当接收标识符和验证参数时,界面模块352可以请求验证模块354确定是否正确地验证了用户。如果正确地验证了用户,那么客户端更新模块356和应用元数据模块364可以如下面详述的那样继续。
[0048]验证模块354可以基于向各登录界面提供的登录信息,管理用于验证管理员和客户端的过程。在接收管理员标识符和验证参数时,验证模块354可以访问存储器370的管理员数据372,以确定关于所提供的标识符存储的验证参数是否与所接收的验证参数匹配。如果匹配,则验证模块354可以确定正确地验证了管理员。类似地,当接收用户标识符和验证参数时,验证模块354可以访问存储器370的客户端数据374,以确定关于所提供的标识符存储的验证参数是否与所接收的验证参数匹配,并且如果匹配,则确定正确地验证了该
客户端。
[0049]客户端更新模块356可以管理用于获得关于特定远程受管应用的更新的过程以及用于向特定客户端传送该更新的过程。尽管下面详细描述了客户端更新模块356的组件,但是上面结合图1的更新提供指令126,提供了与模块356的示例实现相关的附加细节。
[0050]管理员更新接收模块358可以从管理员计算设备330接收关于特定远程受管应用的客户端更新。例如,在一些实现中,由用户界面模块352提供的管理员界面可以允许管理员向服务器350上传关于特定应用的客户端更新。作为响应,服务器350可以将该更新存储在存储器370的客户端更新378中。
[0051]在其它实现中,服务器更新获取模块360可以从远程更新服务器335下载客户端更新。例如,当接收标识远程受管应用的元数据时,更新获取模块360可以连接至远程更新服务器335,提供远程受管应用的标识,并且从更新服务器335下载客户端更新。作为响应,服务器350可以接着将所接收的更新存储在存储器370的客户端更新378中。
[0052]在获得关于远程受管应用的一个或多个客户端更新之后,更新传送模块362可以向特定客户端设备300提供该客户端更新。例如,传送模块362可以标识在由元数据传送模块368向客户端300发送的元数据中包括的应用,从存储器370获取适用的更新,并且向客户端300提供该更新。如上面详述的,客户端300然后可以安装更新,以准备远程受管应用的执行。
[0053]应用元数据模块364可以管理用于从管理员计算设备330获得应用元数据并向客户端300传送该应用元数据的过程。尽管下面详细描述了应用元数据模块364的组件,但是上面结合图1的元数据接收指令122和元数据传送指令128,提供了与模块364的示例实现相关的附加细节。
[0054]元数据接收模块366可以最初地通过由用户界面模块352呈现的管理员用户界面接收应用元数据。例如,管理员可以与管理员计算设备330交互,以向由特定远程应用主机340远程地主管的每个应用提供应用元数据。元数据可以包括每个应用的标识以及对应主机设备的位置(例如,IP地址和端口号)。作为响应,云服务器350可以将元数据376存储在存储器设备370中。
[0055]然后,元数据传送模块368可以在特定客户端成功登录时向客户端计算设备300传送所存储的元数据。例如,元数据传送模块368可以标识客户端,确定特定客户端被授权执行的那些应用,以及向客户端提供关于所授权的应用的所存储的元数据376。通过结合由更新传送模块362传送的更新使用元数据376,客户端300从而可以通过连接至所标识的远程应用主机340远程地执行每个远程受管应用。
[0056]存储设备370可以是用于维护可由云服务器计算设备350访问的数据的任何硬件存储设备。例如,存储设备370可以包括一个或多个硬盘驱动器、固态驱动器、磁带驱动器和/或任何其它存储设备。存储设备可以位于云服务器350中和/或与云服务器350通信的另一设备中。如上面详述的,存储设备可以维护管理员数据372、客户端数据374、应用元数据376以及客户端更新378。
[0057]图4A是由云服务器计算设备100执行的示例方法400的流程图,该示例方法400用于从管理用户接收应用元数据并且向客户端设备转发元数据及对应的客户端更新。尽管下面参照图1的云服务器计算设备100描述方法400的执行,但是用于执行方法400的其它合适的设备将对本领域技术人员而言是显而易见的,如图3的云服务器计算设备350。方法400可以以存储在机器可读存储介质(如存储介质120)上的可执行指令的形式和/或以电路的形式实现。
[0058]方法400可以在框405中开始并继续至框410,在框410中,云服务器100可以从管理用户接收应用元数据130。例如,管理用户可以连接至由服务器100主管的基于网页的应用,并且上传对可用的远程主机设备和那些主机设备支持的应用进行标识的元数据130。
[0059]接下来,在框415中,云服务器100可以与特定客户端设备建立互联网连接。在框420中,云服务器100然后可以向客户端提供由客户端用来使能够远程执行应用的任何更新。如上面详述的,每个客户端更新132可以是向客户端设备提供支持远程受管应用的执行所需要的功能或其它被用来支持远程受管应用的执行的功能的指令集。
[0060]最后,在框425中,云服务器100可以向客户端传送应用元数据134。此外,应用元数据134可以包括每个远程受管应用的标识以及主管该应用的主机设备的位置。然后,方法400可以继续至框430,在框430中,方法400可以停止。
[0061]图4B是由客户端计算设备200执行的示例方法450的流程图,该示例方法450用于从云服务器接收应用元数据234及对应的客户端更新232并且利用元数据234和更新232来执行远程受管应用。尽管下面参照图2的客户端计算设备200描述方法450的执行,但是用于执行方法400的其它合适设备将对本领域技术人员而言是显而易见的,如图3的客户端计算设备300。方法450可以以在机器可读存储介质(如存储介质220)上存储的可执行指令的形式和/或以电路的形式实现。
[0062]方法450可以在框455中开始并继续至框460,在框460中,客户端计算设备200可以向云服务器提供登录凭证230。登录凭证230可以包括例如用户名和密码。
[0063]接下来,在框465中,客户端200可以接收对远程受管应用进行标识的应用元数据234。元数据234可以包括应用的标识(例如,名称、简单描述等等)以及适于连接至远程主机的信息(例如,IP地址和端口)。在框470中,客户端200然后可以接收用于支持远程受管应用的执行的客户端更新232,并且安装客户端更新232。例如,客户端更新232可以是驱动、解码器或支持应用的执行的任何其它指令集。
[0064]最后,在客户端200安装更新232之后,方法450可以继续至框475,在框475中,客户端200可以通过连接至远程主机并利用用来支持执行的客户端更新232,执行远程受管应用。方法450可以随后继续至框480,在框480中,方法450可以停止。
[0065]图5A是由云服务器计算设备350执行的示例方法500的流程图,该示例方法500用于从管理用户接收应用元数据、验证客户端设备300以及向经验证的客户端设备300转发该元数据及对应的客户端更新。尽管下面参照图3的云服务器计算设备350描述方法500的执行,但是用于执行方法500的其它合适的设备将对本领域技术人员而言是显而易见的。方法500可以以存储在机器可读存储介质上的可执行指令的形式和/或以电路的形式实现。
[0066]方法500可以在框502中开始并继续至框504,在框504中,服务器350可以从管理用户接收应用元数据。应用元数据可以标识一个或多个远程受管应用及用于每个应用的对应主机设备340。接下来,在框506中,服务器350可以从管理员计算设备330或远程更新服务器335接收客户端更新。客户端更新可以是用于支持客户端执行特定远程受管应用的任何文件或文件集。
[0067]在框508中,服务器350然后可以从特定客户端设备300接收访问请求。例如,客户端300可以在操作系统初始化例程期间通过互联网345连接至服务器350。作为响应,在框510中,服务器350然后可以向客户端300提供登陆界面,该登陆界面请求用户标识符和验证参数。
[0068]在框512中,服务器350可以基于所提供的用户标识符和验证参数确定客户端是否正确地被验证。例如,服务器350可以访问存储设备370,以确定关于所提供的用户标识符的被存储的验证参数是否与所输入的验证参数相匹配。如果用户未被验证,则方法500可以继续至框522,在框522中,方法500可以停止。
[0069]否则,当用户被正确地验证时,方法500可以继续至框514。在框514中,服务器350然后可以标识由管理员使特定客户端300可利用的应用。例如,服务器350可以访问来自存储器370的许可信息,以确定已使特定客户端可利用哪些远程受管应用。
[0070]接下来,在框516中,服务器350可以向客户端300传送关于第一个远程受管应用的应用元数据。在框518中,服务器350然后可以向客户端300传送关于远程受管应用的任何可用客户端更新。在传送应用元数据和全部可用更新之后,方法500然后可以继续至框520,在框520中,服务器350可以确定是否存在使客户端可利用的附加远程受管应用。如果存在,方法500可以返回至框516和518,以传送关于下一个应用的元数据和更新,并且服务器350可以继续此过程,直至已向客户端传送全部元数据和更新。当服务器350已传送关于全部可用应用的元数据和更新时,方法500可以继续至框522,在框522中,方法500可以停止。
[0071]图5B是由客户端计算设备300执行的示例方法550的流程图,该示例方法550用于向云服务器350提供验证信息、从云服务器350接收应用元数据和对应的客户端更新以及利用该元数据和更新来执行远程受管应用。尽管下面参照图3的客户端计算设备300描述方法500的执行,但是用于执行方法550的其它合适的设备将对本领域技术人员而言是显而易见的。方法550可以以存储在机器可读存储介质上的可执行指令的形式和/或以电路的形式实现。
[0072]方法550可以在框552中开始并继续至框554,在框554中,客户端300可以在客户端300的操作系统的初始化时或在客户端300的操作系统的初始化期间访问预定URL处的云服务器。例如,客户端300可以在初始化其网络接口之后访问互联网可访问的URL处的云服务器350。
[0073]接下来,在框556中,客户端300可以从云服务器350接收客户端登录界面,并且显示该登录界面。在框558中从用户接收登录信息之后,客户端300可以在框560中向云服务器350传送该登录信息。
[0074]假设客户端被云服务器350正确地验证,那么客户端300可以开始在框562中从服务器350接收应用元数据,并且在框564中从服务器350接收对应的客户端更新。以此方式,客户端300可以接收由管理员使用户可利用的关于每个远程受管应用的应用元数据以及任何适用的客户端更新。[0075]在接收关于每个远程受管应用的应用元数据之后,方法550可以继续至框566,在框566中,客户端300可以输出关于每个远程受管应用的链接。例如,客户端300可以显示图标、超链接或在选择时启动远程受管应用的其它界面元素。
[0076]在框568中,客户端300然后可以接收关于特定远程受管应用的所显示的链接的用户选择。接下来,在框570中,客户端300可以通过初始化适当的协议并且连接至所指定的远程主机340来启动所选择的应用。在终止该远程受管应用之后,方法550然后可以继续至框572,在框572中,方法550可以停止。
[0077]前述公开描述了用于通过分配来自基于云的服务器的应用元数据和客户端更新,使能够远程应用主管框架的多个示例实施例。以此方式,本文公开的实施例使能够简单地管理远程应用主管框架,因为客户端可以自动地被配置为通过简单地连接至服务器并接收适当的元数据和客户端更新来远程地执行应用。
【权利要求】
1.一种用于使应用能够远程执行的云服务器计算设备,所述云服务器计算设备包括: 处理器,用于: 接收由管理用户提供的应用元数据,所述应用元数据标识远程受管应用及主管所述应用的对应的主机设备的位置, 与客户端设备建立通信, 向所述客户端设备提供客户端更新,所述客户端更新使所述客户端设备能够远程执行所述远程受管应用,以及 通过连接至所述对应的主机设备并使用所述客户端更新,向所述客户端设备传送所述应用元数据,以使所述客户端设备能够远程执行所述远程受管应用。
2.根据权利要求1所述的云服务器计算设备,其中所述云服务器计算设备进一步包括: 存储设备,用于存储关于可利用更新的每个远程受管应用的所述客户端更新。
3.根据权利要求2所述的云服务器计算设备,其中所述处理器进一步用于: 在向所述客户端设备提供所述客户端更新之前,从所述管理用户接收所述客户端更新,以及 将所接收的客户端更新存储在所述存储设备上。
4.根据权利要求2所述的云服务器计算设备,其中所述处理器进一步用于: 通过向远程服务器提供所述远程受管应用的标识,从所述远程服务器获取所述客户端更新,以及 将所获取的客户端更新存储在所述存储设备上。
5.根据权利要求1所述的云服务器计算设备,其中所述处理器进一步用于: 从所述客户端设备接收客户端标识符和验证参数,以及 基于由所述管理用户指定的所接收的客户端标识符和许可数据,选择向所述客户端设备传送的所述应用元数据及所述客户端更新。
6.根据权利要求1所述的云服务器计算设备,其中所述客户端更新包括以下至少一种: 解码器,由所述客户端设备用于对将由所述主机设备提供的数据流进行解码, 虚拟专用网(VPN)客户端,由所述客户端设备用于连接至所述主机设备, 硬件驱动,用于在执行所述远程受管应用时改善所述客户端设备的性能, 管理工具更新,用于使所述管理用户能够远程地连接至所述客户端设备,以及 本地设备重定向器,用于使资源能够从所述客户端设备重定向至所述主机设备。
7.一种用于使应用能够远程执行的由云服务器计算设备执行的方法,所述方法包括: 所述云服务器计算设备呈现管理用户界面,以使管理用户能够标识由客户端设备执行的远程受管应用; 通过所述管理用户界面接收应用元数据,所述元数据标识所述远程受管应用及对应的主机设备; 接收客户端更新,以使所述客户端设备能够远程执行所述远程受管应用; 向所述客户端设备提供所述客户端更新;以及 向所述客户端设备传送所述应用元数据,以使所述客户端设备通过连接至所述对应的主机设备并使用所述客户端更新能够远程执行所述远程受管应用。
8.根据权利要求7所述的方法,进一步包括: 呈现客户端登录界面,以接收客户端标识符和对应的验证参数; 从所述客户端设备接收所述客户端标识符和所述验证参数;以及基于由所述管理用户指定的所述客户端标识符和许可数据,选择用于向所述客户端设备传送的所述客户端更新及所述应用元数据。
9.根据权利要求7所述的方法,其中接收客户端更新包括以下之一: 通过所述管理用户界面从所述管理用户接收所述客户端更新,以及 基于向远程服务器提供所述远程受管应用的标识,从所述远程服务器接收所述客户端更新。
10.根据权利要求7所述的方法,其中所述客户端更新包括以下至少一种: 解码器,由所述客户端设备用于对将由所述主机设备提供的数据流进行解码, 虚拟专用网(VPN)客户端,由所述客户端设备用于连接至所述主机设备, 硬件驱动,用于在执行所述远程受管应用时改善所述客户端设备的性能, 管理工具更新,用于使所 述管理用户能够远程地连接至所述客户端设备,以及 本地设备重定向器,用于使资源能够从所述客户端设备重定向至所述主机设备。
11.一种机器可读存储介质,被编码有用于配置远程受管应用的能由客户端计算设备的处理器执行的指令,所述机器可读存储介质包括: 用于响应于登录界面的显示而向预定位置处的服务器提供登录凭证的指令; 用于接收与所提供的登录凭证对应的应用元数据的指令,其中所述元数据标识远程受管应用和对应的主机设备的位置; 用于安装从所述服务器接收的客户端更新的指令,所述客户端更新使所述客户端计算设备能够远程执行所述远程受管应用;以及 用于通过连接至所述远程主机并使用所安装的客户端更新来执行所述远程受管应用的指令。
12.根据权利要求11所述的机器可读存储介质,其中所述预定位置是被预装到所述客户端计算设备的操作系统内的统一资源定位符(URL)。
13.根据权利要求12所述的机器可读存储介质,其中所述操作系统在所述操作系统初始化时自动地连接至预定URL处的所述服务器。
14.根据权利要求11所述的机器可读存储介质,进一步包括: 用于在所述客户端计算设备的操作系统的用户界面中增加关于所述远程受管应用的指令,其中所述链接在被选择时触发该指令去执行。
15.根据权利要求11所述的机器可读存储介质,所述登录凭证包括所述客户端计算设备的用户的用户名和对应的密码。
【文档编号】G06F9/44GK104040522SQ201180076194
【公开日】2014年9月10日 申请日期:2011年12月22日 优先权日:2011年12月22日
【发明者】弗莱彻·利夫伦斯 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1