非侵入性远程访问应用程序的制作方法

文档序号:7991583阅读:254来源:国知局
非侵入性远程访问应用程序的制作方法
【专利摘要】用于提供远程访问应用程序的系统和方法。服务器远程访问程序可与屏幕抓取应用合作以把屏幕数据提供到客户端计算设备。与所述应用程序相关的显示可由服务器调整大小或裁剪以在所述客户端计算设备上显示。所述客户端可使用从用户界面程序接收输入的客户端远程访问程序连接到所述服务器。
【专利说明】非侵入性远程访问应用程序
【背景技术】
[0001]无处不在的远程访问应用程序和数据由于宽带和无线网络访问的增长和可用性而成为普遍现象。另外,用户使用种类越来越多的客户端设备(例如,移动设备、台式计算设备、笔记本/笔记本计算机/台式计算机等)来访问应用程序和数据。数据可通过3G和4G移动数据网络或无线网络(诸如WiFi和WiMax)而从远程服务器传递到移动设备。大多数移动设备可访问互联网且能够与各种类型的应用程序交互。

【发明内容】

[0002]本文公开了用于非侵入性地提供远程访问在例如服务器上执行的应用程序的系统和方法。根据一些实施,公开一种用于提供远程访问基于服务器的应用程序的方法。方法包括:在服务器计算设备提供远程访问程序;在服务器计算机计算设备从客户端接收通信以访问应用;抓取与应用相关的屏幕数据;从屏幕数据生成演示数据;更新包含应用的对应状态的状态模型;和把演示数据和状态模型传递到客户端。
[0003]根据一些实施,公开另一种提供远程访问基于服务器的应用程序的方法。方法可包括:在服务器计算设备提供远程访问程序;列举与至少一个应用相关的至少一个统一资源定位符(URL);在至少一个URL从客户端接收通信;抓取与至少一个应用相关的屏幕数据,所述至少一个应用与至少一个URL相关;从屏幕数据生成演示数据;和把演示数据传递到客户端。
[0004]根据一些实施,提供一种用于提供非侵入性远程访问应用程序的方法。方法可包括:在服务器计算设备提供服务器远程访问程序;提供屏幕抓取应用,所述屏幕抓取应用监控应用程序生成的显示界面以为了所述显示界面的变化;抓取与显示界面相关的屏幕数据;从屏幕数据生成演示数据;在服务器计算设备接收请求以访问应用程序;更新包含应用程序的对应状态的状态I模型,其中对应状态包括至少一个逻辑元素,所述至少一个逻辑元素包含关于应用程序的显示界面的信息;和响应于请求而使用服务器远程访问程序来传递演示数据和状态模型。
[0005]根据其它的实施,提供一种提供远程访问基于服务器的应用程序的方法,所述方法包括:在服务器计算设备提供远程访问程序;确定在服务器计算设备上执行的应用程序;列举与服务器计算设备确定要执行的每个应用程序相关的统一资源定位符(URL);提供对服务器计算设备确定要执行的每个应用程序的URL的访问;在选定应用程序的URL从客户端计算设备接收选择;和在URL提供远程访问应用程序。
[0006]本领域技术人员在审查以下附图和详细描述之后将明白或可变得明白其它系统、方法、特征和/或优势。意图是,所有此类额外的系统、方法、特征和/或优势应包括在这个描述中且受所附权利要求保护。
【专利附图】

【附图说明】
[0007]附图中的部件不一定是相对于彼此按比例绘制。类似的参考数字在几个视图中指示对应的部分。
[0008]图1是示出通过计算机网络提供远程访问应用程序的系统的简化框图;
[0009]图2A-图2C是示出屏幕抓取(scraping)应用以及服务器和客户端远程访问程序的操作的简化框图;
[0010]图3示出图1系统的状态模型;
[0011]图4示出图1-图3系统中执行的示例操作的流程图;
[0012]图5示出图1-图2系统中执行的示例操作的流程图;和
[0013]图6示出示范性计算环境。
【具体实施方式】
[0014]除非另有定义,否则本文使用的所有技术和科学术语的含义与本领域的一般技术人员通常所理解的含义相同。与本文描述的方法和材料类似或等同的方法和材料可用于实践或测试本公开。虽然实施将被描述为远程访问和查看应用程序,但是本领域那些技术人员将清楚实施并不限于此。
[0015]参考图1和图2A-图2C,示出通过计算机网络提供远程访问应用程序的系统100。系统100可包括一个或多个服务器计算设备102AU02B和一个或多个客户端计算设备112AU12BU12C……112N。客户端计算设备可包括但不限于无线手持设备,诸如例如,通过通信网络110 (诸 如例如互联网)连接到服务器计算设备102A和/或服务器计算设备102B的IPH0NE112A或黑莓112B。类似地,客户端计算设备也可包括通过通信网络110连接到服务器计算设备102A和/或服务器计算设备102B的台式/笔记本个人计算机112C或平板设备112N。应注意,到通信网络110的连接可为任何类型的连接,例如,W1-Fi(IEEE802.1lx),WiMax (IEEE802.16)、以太网、3G、4G 等。
[0016]服务器计算设备102A可连接到第一局域网(LAN)109A且服务器计算设备102B连接到第二局域网(LAN)109B,第一局域网(LAN)109A和第二局域网(LAN)109B连接到通信网络110。应注意,根据本公开,任意数量的服务器计算机可连接到通信网络110。图6示出可用作服务器计算设备102A、服务器计算设备102B或客户端计算设备112A、112B、112C……112N的示范性计算设备。
[0017]如图1示出,客户端远程访问程序在客户端计算设备112A、112B、112C......112N的
处理器118A、118B、118C……118N上执行。客户端远程访问程序提供为存储在客户端计算
设备112A、112B、112C......112N的存储器120A、120B、120C......120N中的可执行命令。客户
端远程访问程序与用户交互程序(诸如例如网页浏览器或本机应用)通信。使用例如客户端计算设备的具有触摸屏114A、114N的图形显示器、图形显示器114B或键盘116B、116C,用户交互程序可显示屏幕数据(来自服务器计算设备102A或102B)或接收用户输入数据以与第一和第二屏幕抓取应用交互。
[0018]服务器远程访问程序107A和107B和客户端远程访问程序可使用标准编程语言来实施,且使用诸如例如本领域那些技术人员所熟知的超文本传输协议(HTTP)、虚拟专用网络(VPN)和安全套接层(SSL)的标准通信技术来使能通信。另外,服务器远程应用的实例可提供在与执行屏幕抓取应用的服务器不同的服务器上。在所述实施中,屏幕数据可通过在执行屏幕抓取应用的服务器和执行服务器远程应用的其它服务器之间的直接连接或网络连接来传递。在一些实施中,服务器远程访问程序107A和107B和客户端远程访问程序使得能够把本公开的方面的实施作为在服务器侧和客户端侧上现有技术的改型。
[0019]如图2A示出,根据一些实施,服务器计算设备102A可执行监控应用程序103A生成的显示界面的屏幕抓取应用105A,以为了可使得显示像素变化的事件。屏幕抓取应用105A存储在存储器106A中,且在服务器计算设备102A的处理器104A上执行。当事件发生时,屏幕抓取应用105A从帧缓冲器(未示出)读取变化的显示区域,且可压缩屏幕图像数据,并把压缩的图像数据发送到各自的服务器远程访问程序107A。服务器远程访问程序107A存储在存储器106A中,且在服务器计算设备102A的处理器104A上执行。根据本公开,如下文所述,屏幕抓取应用105A与应用程序103A的交互提供非侵入性实施以使能远程访问应用程序103A。
[0020]为了提供远程访问应用程序103A,例如,在与应用程序103A相关的列举的URL在客户端计算设备和服务器计算设备102A之间创建通信。特别地,如图2A示出,服务器远程访问程序107A和客户端远程访问程序使能通信。如上所述,通信可通过任何类型的网络进行。应注意,客户端计算设备112A、112B、112C……112N中的任何客户端计算设备可为图2A示出的客户端设备。
[0021]在与客户端计算设备的远程通信会话期间,服务器远程访问程序107A从屏幕抓取应用105A接收屏幕数据。在接收之后,服务器远程访问程序107A生成屏幕图像数据的演示数据109A并把演示数据109A传输到客户端远程访问程序。
[0022]可选或另外地,演示数据109A可根据客户端计算设备112A、112B、112C或112N的硬件能力(例如考虑处理能力、存储器大小、图形显示器的类型和用户界面的类型)生成。因此,服务器计算设备102A可对传递到客户端计算设备的屏幕数据进行缩放或调整大小,使得屏幕数据根据设备的特性来在客户端计算设备112A、112B、112C……112N上显示。因此,如下文所述,参与协作会话的每种类型的设备基于图3的状态模型中包含的信息来呈现具有设备合适的分辨率的用户界面。例如,笔记本计算机生成并传输的演示数据与手持设备(诸如例如IPHONE)生成并传输的演示数据不同。
[0023]在一些实施中,演示数据109A基于应用程序103A的窗口或显示区域的选择来生成。例如,将在客户端计算设备上显示的区域或窗口的选择可在服务器计算设备102A上接收。服务器计算设备102A然后可裁剪屏幕数据,使得只有选择的区域或窗口在演示数据109A中生成且由服务器远程访问程序107A传递到客户端远程访问程序。
[0024]在一些实施中,演示数据109A也可提供到服务器计算设备102A。这使得服务器计算设备102A上的用户能够看到客户端计算设备112A、112B、112C或112N上显示的内容。
[0025]现在参考图2B,在一些实施中,客户端计算设备112A、112B、112C或112N可通过在与应用程序103A和103B中每一个相关的各自列举的URL上访问应用程序103A和103B来与在服务器计算设备102A和102B上运行的应用程序103A和103B交互。因此,客户端计算设备112A、112B、112C或112N可参与跟服务器计算设备 102A和102B的协作会话,且可呈现包含应用程序103A和103B的显示的视图。
[0026]可选或另外地,如下文所述,应用程序103A和103B的显示可通过称为重组的过程呈现,所述重组可基于图3的状态模型中包含的信息。在重组的情况下,应用程序103A和103B无缝地集成到客户端计算设备112A、112B、112C或112N的同一用户界面,使得应用程序103A和103B的视图可同时呈现。可选或另外地,与应用程序103A和103B相关的功能
和控制可在同一用户界面中组合。
[0027]如图2B示出,根据一些实施,服务器计算机102A和102B执行各自的屏幕抓取应用105A和105B,屏幕抓取应用105A和105B监控应用程序103A和103B生成的显示界面,以为了可能使显示像素变化的事件。当事件发生时,屏幕抓取应用105A和105B从帧缓冲器(未示出)读取变化的显示区域,且可压缩屏幕图像数据,并把压缩的图像数据发送到各自的服务器远程访问程序107A和107B。如上所述,屏幕抓取应用105A和105B分别与应用程序103A和应用程序103B的交互提供非侵入性实施,以使得能够远程访问应用程序103A和应用程序103B。图2B环境的其它方面以与相对于图2A描述的方式基本上类似的方式操作。
[0028]现在参考图2C,在一些实施中,客户端计算设备112A、112B、112C……112N中的两个或更多个可通过访问同一列举的URL来与在服务器计算设备102A上运行的应用程序103A协作交互。因此,参与协作会话的客户端计算设备112A、112B、112C……112N中的每一个(和服务器计算设备102A)可呈现在列举的URL可获得的应用程序103A的显示的同步视图。或者,客户端计算设备可与在服务器计算设备102B上运行的应用程序103B交互。
[0029]在与客户端计算设备远程通信会话期间,服务器远程访问程序107A从屏幕抓取应用105A接收屏幕数据。在接收之后,服务器远程访问程序107A生成第一屏幕图像数据的第一演示数据109A,并把第一演示数据109A传输到客户端远程访问程序112A和112N。图2C环境的其它方面以与相对于图2A描述的方式基本上类似的方式操作。
[0030]图2C的环境还提供应用程序103A的协同浏览(共同浏览)。例如,客户端计算设备112A的用户和客户端计算设备112N的用户可能期望参与包括在服务器计算设备102A的应用程序103A的会话。客户端计算设备112A和客户端计算设备112N可使用与用户交互程序(诸如例如网页浏览器)通信的客户端远程访问程序来远程访问应用103A。应用程序103A的共同浏览使得客户端计算设备112A和客户端计算设备112N的用户能够在用户各自的网页浏览器上交互并查看相同`文档、图像等。因此,如果用户客户端计算设备112A从应用程序103A请求信息以进行显示,那么在客户端计算设备112N上运行的会话中的其它浏览器将接收同样的信息。
[0031]在所述实施中,远程访问程序107A可充当代理服务器以拦截来自共同浏览会话中的各种网页浏览器的请求。网页浏览器一旦配置以将远程访问程序107A用作代理服务器就把完整的URL请求发送到远程访问程序107A。远程访问程序107A然后从屏幕抓取应用105A检索与应用程序103A相关的屏幕数据,并把请求的结果发送回网页浏览器。
[0032]网页浏览器可执行客户端远程访问程序(例如,Flash、Si IverI ight、Java)以使得共同浏览会话能够接收信息。另外或替代,HTML5可用以使得网页浏览器能够本机接收信息。因此,网页浏览器可为客户端远程访问程序。
[0033]在一些实施中,在系统100中共同浏览的用户可与多个应用程序103A和103B交互(例如,图2B和图2C的环境的混合)。因此,本公开可提供应用程序103A和103B的重组,其中应用无缝地集成到呈现在参与共同浏览会话的客户端计算设备112A、112B、112C……112N中每一个上的同一用户界面。如下文所述,重组可基于图3的状态模型中包含的信息来提供。[0034]在一些实施中,如图3示出,远程访问程序(服务器和客户端)的操作与状态模型300合作执行。当执行时,客户端远程访问程序根据从用户界面程序接收的用户输入数据来更新状态模型300。远程访问程序可根据更新的状态模型生成控制数据,并把所述控制数据提供到在服务器计算设备102A或102B上运行的应用程序(通过屏幕抓取应用)。应用程序可为在最终用户使用客户端计算设备112A、112B、112C……112N中一个与之交互的服务器计算设备102A或102B上运行的任何应用。
[0035]在从屏幕抓取应用接收到应用数据之后,服务器远程访问程序根据屏幕或应用数据更新状态模型300,根据更新的状态模型生成演示数据,并把所述演示数据提供到客户端计算设备上的用户界面程序。状态模型300包括应用程序的逻辑元素与应用程序的对应状态的相关性,其中逻辑元素呈层次结构顺序。例如,逻辑元素可为组成应用程序用户界面的屏幕、菜单、子菜单、按钮等。这使得客户端设备例如能够本机显示逻辑元素。因此,手机上呈现的应用程序103A的菜单看起来像手机的本机菜单。类似地,台式计算机上呈现的应用程序103A的菜单看起来像台式计算机操作系统的本机菜单。根据本公开的方面,屏幕图像可作为单一逻辑元素在单独的通道传递到客户端。状态模型中可引用屏幕图像以使得客户端远程访问程序能够从单独的通道检索屏幕图像并在客户端上显示所述屏幕图像。因此,在客户端计算设备112A、112B、112C……112N中的每一个上,屏幕将具有基本上类似的外观,但是屏幕也可根据每个设备的特性来缩放。
[0036]状态模型300被确定为使得每个逻辑元素与应用程序的对应状态相关。状态模型300可被确定为使得逻辑元素与用户交互相关。例如,应用程序的逻辑元素被确定为使得逻辑元素包括过渡元素,其中每个过渡元素把状态模型300的变化与控制数据和与之相关的应用代表数据中的一个相关联。
[0037]在一些实施中,状态信息可包括对一个或多个矩形区域的一个或多个引用,所述矩形区域包括应用程序生成的屏幕图像。控制可由客户端远程访问程序提供以使得用户能够在一个或多个矩形区域之间选择,从而在客户端设备上显示。在一些实施中,控制可提供多个应用程序(例如,103A和103B)创建的屏幕图像数据的一个或多个矩形区域之间的选择,以供用户选择。
[0038]在一些实施中,如上文相对于图2A-图2C所述,状态信息可包括关于客户端计算设备的显示的状态的信息。例如,显示分辨率可维持在状态模型300中,状态模型300可根据客户端计算设备的能力用作重构演示数据的部分。状态模型也可包括可用于重组目的的信息。
[0039]图4示出执行以使用状态模型300来提供远程访问基于服务器的应用程序的过程的操作流程图400。在402,在服务器计算设备提供远程访问程序。例如,服务器远程访问程序107A可提供在服务器计算设备102A上,以使得运行互补客户端远程访问程序的客户端计算设备能够进行远程访问。
[0040]在404,从客 户端接收通信。用户可使用在客户端计算设备上的用户交互程序来联系服务器计算设备102A。客户端也可把关于客户端计算设备的特性和能力的信息提供到服务器远程访问程序107A。
[0041]在406,抓取与应用相关的屏幕。应用程序103A生成的显示由屏幕抓取应用105A抓取。在407,如果需要的话,屏幕可被应用程序(服务)缩放或裁剪。在408,生成演示数据以与客户端通信。根据客户端计算设备的特性和能力,服务(即,屏幕抓取应用)可缩放或裁剪提供到客户端计算设备的显示信息,使得显示信息对于客户端计算设备大小适当。
[0042]在410,更新状态模型。如上文所述,状态模型300被确定为使得每个逻辑元素与应用程序的对应状态相关。在单独的通道传递的屏幕图像可作为状态模型中引用的单一逻辑元素。在412,演示数据和状态模型被传递到客户端。传递可通过通信网络110进行。在414,从单独的通道检索屏幕数据,且所述屏幕数据被呈现在客户端设备上供查阅。
[0043]根据一些实施,用户可通过用户交互程序和客户端与服务器远程访问程序的合作来与应用程序103A交互。因此,在416,用户交互可用以更新状态模型,所述状态模型可被返回到服务器计算设备102A以更新应用程序103A。
[0044]因此,鉴于上述情况,提供一种用于非侵入性地提供远程访问在服务器上运行的应用程序的系统和方法。
[0045]图5示出执行以提供远程访问基于服务器的应用程序的过程的操作流程图500。在一些实施中,服务器远程访问程序107A和107B生成一个或多个统一资源定位符(URL),通过使用所述统一资源定位符,客户端计算设备能够连接到在服务器计算设备102A或102B上运行的一个或多个应用程序。每个应用程序可具有与之相关的唯一的URL。URL被传递到客户端计算设备,以使得用户能够选择在服务器计算设备上的应用程序中的一个或多个并与所述应用程序交互。例如,在用户交互程序中,可呈现代表列举的URL中每一个的图标、链接、菜单项等。用户可通过选择合适的图标、链接、菜单项等来选择URL。
[0046]在操作流程500中,上文所述的URL机制用以提供远程访问基于服务器的应用程序。在502,在服务器计算设备提供远程访问程序以列举与一个或多个应用相关的一个或多个URL。例如,服务器远程访问程序107A可提供在服务器计算设备102A上。URL可在客户端计算设备上的用户交互程序内访问,以访问例如在服务器计算设备102A上运行的应用程序103A。服务器远程访问程序107A可确定哪些应用程序在服务器计算设备102A上运行,以列举与每个应用相关的URL并在URL提供对确定的应用程序的访问。
[0047]在504,从客户端接收通信。用户可通过连接到在客户端计算设备上的用户交互程序中提供的列举的URL中的一个或多个来联系服务器计算设备102A。客户端也可把关于客户端计算设备的特性和能力的信息提供到服务器远程访问程序107A。
[0048]在506,抓取与应用相关的屏幕。应用程序103A生成的显示由屏幕抓取应用105A抓取。在508,生成演示数据以与客户端通信。根据客户端计算设备的特性和能力,服务器计算设备102A可缩放、调整大小或裁剪提供到客户端计算设备的显示信息,使得显示信息对于客户端计算设备大小适当。
[0049]在510,演示数据被传递到客户端。传递可通过通信网络110进行。在512,屏幕数据被呈现在客户端设备上供查阅。根据一些实施,用户可通过用户交互程序和客户端与服务器远程访问程序的合作来与应用程序103A交互。因此,用户交互可用以访问用户交互程序中呈现的一个或多个URL。在514,连接可通过选择的URL来建立,使得用户可与不同应用交互或同时与多个应用交互。另外,根据图3,一个以上的客户端计算设备可与应用程序远程交互,以提供其中多个客户端计算设备在列举的URL同时与应用程序交互的协同环境。
[0050]因此,鉴于上述情况,提供又一种用于非侵入性地提供远程访问在服务器上运行的应用程序的系统和方法。
[0051]图6示出可实施示例实施方案和方面的示范性计算环境。计算系统环境只是合适的计算环境的一个实例,而不欲暗示对使用范围或功能的任何限制。
[0052]可使用许多其他通用或专用计算系统环境或配置。可适用的众所周知的计算系统、环境和/或配置的实例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、网络个人计算机(PC)、微型计算机、大型计算机、嵌入式系统、包括以上系统或设备的任一的分布式计算环境等。
[0053]可使用由计算机执行的计算机可执行指令,诸如程序模块。通常,程序模块包括执行特定任务或实施特定的抽象数据类型的例程、程序、对象、组件、数据结构等。可使用分布式计算环境,其中任务由通过通信网络或其它数据传输介质链接的远程处理设备执行。在分布式计算环境中,程序模块和其它数据可位于包括存储器存储设备的本地和远程计算机存储介质中。
[0054]参考图6,用于实施本文所述的方面的示范性系统包括计算设备,诸如计算设备600。在它最基本的配置中,计算设备600通常包括至少一个处理单元602和存储器604。取决于计算设备的具体配置和类型,存储器604可为易失性(诸如随机存取存储器(RAM))、非易失性(诸如只读存储器(ROM)、快闪存储器等)或两者的某一组合。这个最基本的配置在图6中用虚线606示出。
[0055]计算设备600可具有额外的特征/功能。例如,计算设备600可包括额外的存储(可移动和/或不可移动),包括但不限于磁盘或光盘或磁带。此类额外的存储在图6中用可移动存储608和不可移动存储610示出。
[0056]计算设备600通常包括各种有形的计算机可读介质。有形的计算机可读介质可为设备600可访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。
[0057]有形的计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实施的易失性和非易失性及可移动和不可移动介质。存储器604、可移动存储608和不可移动存储610都是计算机存储介质的实例。有形的计算机存储介质包括但不限于RAM、ROM、电可擦除程序只读存储器(EEPR0M)、快闪存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁存储设备或可用以存储期望的信息且计算设备600可访问的任何其它介质。任何此类计算机存储介质可为计算设备600的一部分。
[0058]计算设备600可包含允许设备与其它设备通信的通信连接612。计算设备600也可具有输入设备614,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等。也可包括输出设备616,诸如显示器、音箱、打印机等。所有这些设备都是本领域中公知的,且不必在此详细讨论。
[0059]应理解,本文描述的各种技术可结合硬件或软件或适当时结合两者的组合来实施。因此,本公开主题的方法和装置或其某些方面或部分可采取有形介质中实施的程序代码(即,指令)的形式,所述有形介质诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质,其中当程序代码被加载到机器(诸如计算机)并被机器执行时,机器成为实践本公开主题的装置。在程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、可由处理器读取的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。一个或多个程序可例如通过使用应用程序界面(API)、可重用控件等来实施或使用结合本公开主题描述的过程。此类程序可用高级程序或面向对象的编程语言实施以与计算机系统通信。然而,如果需要的话,程序可用汇编语言或机器语言来实施。在任一情况下,语言可为编译或解释语言且它可与硬件实施组合。
[0060]虽然已用结构特征和/或方法动作特定的语言描述了主题,但是应理解,所附权利要求中限定的主题不一定限于上述具体特征或动作。相反,上述具体特征或动作被公开为实施权利要求的示例形式。
【权利要求】
1.一种提供远程访问至少一个应用程序的方法,其包括: 在服务器计算设备提供服务器远程访问程序; 列举与所述至少一个应用程序相关的至少一个统一资源定位符(URL); 在所述至少一个URL从客户端接收通信; 抓取与所述至少一个应用程序相关的屏幕数据,所述至少一个应用程序与所述至少一个URL相关; 从所述屏幕数据生成演示数据;以及 使用所述服务器远程访问程序把所述演示数据传递到所述客户端计算设备。
2.如权利要求1所述的方法,其还包括:确定所述至少一个应用程序在所述服务器计算设备上执行;和响应于所述确定而列举所述URL。
3.如权利要求1-2中的任一权利要求所述的方法,其还包括为确定要执行的每个应用程序列举唯一的URL。
4.如权利要求3所述的方法,其还使用链接、菜单时间或图标中一个来提供对所述唯一的URL的访问。
5.如 权利要求1-4中的任一权利要求所述的方法,其还包括: 在多个URL从所述客户端计算设备接收多个请求; 抓取与多个应用相关的屏幕数据,所述多个应用与所述多个URL相关; 从所述屏幕数据生成演示数据;以及 把所述演示数据传递到所述客户端计算设备。
6.如权利要求1-5中的任一权利要求所述的方法,其还包括: 在所述至少一个URL从多个客户端计算设备接收请求; 抓取与所述至少一个应用相关的屏幕数据,所述至少一个应用与所述至少一个URL相关; 从所述屏幕数据生成演示数据;以及 使用所述服务器远程访问程序把所述演示数据传递到所述多个客户端计算设备。
7.如权利要求6所述的方法,其还包括:在所述多个客户端计算设备之间提供协作,其中所述演示数据在所述多个客户端计算设备之间是同步的。
8.一种用于提供远程访问应用程序的方法,其包括: 在服务器计算设备提供服务器远程访问程序; 在所述服务器计算设备从客户端计算设备接收通信以访问所述应用程序; 抓取与所述应用程序相关的屏幕数据; 从所述屏幕数据生成演示数据; 更新状态模型以包含所述应用程序的对应状态;以及 使用所述服务器远程访问程序把所述演示数据和所述状态模型传递到所述客户端计算设备。
9.如权利要求8所述的方法,其还包括:根据所述客户端计算设备上的交互更新所述状态模型。
10.如权利要求8-9中的任一权利要求所述的方法,其还包括:接收关于所述客户端计算设备的显示特性的信息。
11.如权利要求10所述的方法,其还包括:根据所述特性缩放或裁剪所述屏幕数据。
12.如权利要求8-11中的任一权利要求所述的方法,其还包括: 在所述服务器计算设备从所述客户端计算设备接收通信以访问第二应用程序; 抓取与所述第二应用程序相关的第二屏幕数据; 从所述第二屏幕数据生成第二演示数据; 更新所述状态模型以包含所述第二应用程序的对应状态;以及使用所述服务器远程访问程序把所述第二演示数据和所述状态模型传递到所述客户端计算设备。
13.如权利要求12所述的方法,其还包括:在所述客户端计算设备上把所述演示数据和所述第二演示数据组合成单一用户界面。
14.如权利要求8-13中的任一权利要求所述的方法,其还包括: 在所述服务器计算设备从多个客户端计算设备接收通信以访问应用;以及 把所述演示数据和所述状态模型传递到所述多个客户端计算设备。
15.如权利要求14所述的方法,其还包括:通过所述状态模型在所述多个客户端计算设备之间使能协作。
16.一种用于提供非侵入性远程访问应用程序的方法,其包括: 在服务器计算设备提供服务器远程访问程序;` 提供屏幕抓取应用,所述屏幕抓取应用监控所述应用程序生成的显示界面以为了所述显示界面的变化; 抓取与所述显示界面相关的屏幕数据; 从所述屏幕数据生成演示数据; 在所述服务器计算设备接收请求以访问所述应用程序; 更新包含所述应用程序的对应状态的状态模型,其中所述对应状态包括至少一个逻辑元素,所述至少一个逻辑元素包含关于所述应用程序的所述显示界面的信息;以及 响应于所述请求而使用所述服务器远程访问程序来传递所述演示数据和所述状态模型。
17.如权利要求16所述的方法,其还包括: 从客户端远程访问程序接收所述请求,所述客户端远程访问程序在逻辑地连接到所述服务器远程访问程序的客户端计算设备上执行。
18.如权利要求16-17中的任一权利要求所述的方法,其还包括: 从第二客户端远程访问程序接收第二请求,所述第二客户端远程访问程序在逻辑地连接到所述服务器远程访问程序的第二客户端计算设备上执行; 在所述服务器计算设备上,使所述演示和所述状态模型在所述客户端计算设备和所述第二客户端计算设备之间同步;以及 把同步演示数据和同步状态模型传递到所述客户端计算设备和所述第二客户端计算设备,使得所述客户端计算设备和所述第二客户端计算设备都显示同样的信息。
19.如权利要求16-18中的任一权利要求所述的方法,其还包括: 从所述状态模型获得所述客户端计算设备的显示的特性;以及 根据所述特性修改所述演示数据。
20.如权利要求16-19中的任一权利要求所述的方法,其还包括: 提供远程访问第二应用程序; 抓取与所述第二应用程序相关的第二屏幕数据以从所述第二屏幕数据生成第二演示数据; 更新所述状态模型以包含所述第二应用程序的对应状态;以及 使用所述状态模型来把所述演示数据和所述第二演示数据组合成单一用户界面。
21.一种提供远程访问基于服务器的应用程序的方法,其包括: 在服务器计算设备上提供远程访问程序; 确定在所述服务器计算设备上执行的应用程序; 列举与所述服务器计算设备确定要执行的每个应用程序相关的统一资源定位符(URL); 提供对所述服务器计算设备确定要执行的每个应用程序的所述URL的访问; 在选定应用程序的所述URL从客户端计算设备接收选择;以及 在所述URL提供远程访问所述应用程序。
22.如权利 要求21所述的方法,其还包括: 抓取与所述选定应用程序相关的屏幕数据; 从所述屏幕数据生成演示数据;以及 把所述演示数据传递到所述客户端计算设备。
23.如权利要求21-22中的任一权利要求所述的方法,其还包括: 在每个都与多个应用程序相关的多个URL接收请求; 抓取与所述多个应用相关的屏幕数据; 从与多个程序相关的所述屏幕数据生成演示数据;以及 把所述演示数据传递到所述客户端计算设备。
24.如权利要求21-23中的任一权利要求所述的方法,其还包括:在多个客户端计算设备之间提供协作。
25.如权利要求21-24中的任一权利要求所述的方法,其还包括: 在所述选定应用程序的所述URL从所述多个客户端计算设备接收选择;以及 在所述URL提供远程访问所述选定应用程序。
26.如权利要求25所述的方法,其还包括:把所述选定应用程序的演示数据的同步视图提供到所述多个客户端。
【文档编号】H04W4/00GK103782541SQ201280039813
【公开日】2014年5月7日 申请日期:2012年8月15日 优先权日:2011年8月15日
【发明者】M·M·托马斯, G·莱曼, M·斯特福尔, D·B·麦克法登, P·J·勒米尔, T·A·塔鲁姆 申请人:卡尔加里科学公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1