CN104038535A - 在虚拟应用环境下改善用户体验的方法及虚拟应用系统 - Google Patents

在虚拟应用环境下改善用户体验的方法及虚拟应用系统 Download PDF

Info

Publication number
CN104038535A
CN104038535A CN201410216436.4A CN201410216436A CN104038535A CN 104038535 A CN104038535 A CN 104038535A CN 201410216436 A CN201410216436 A CN 201410216436A CN 104038535 A CN104038535 A CN 104038535A
Authority
CN
China
Prior art keywords
client
server end
peripheral hardware
virtual
server
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.)
Pending
Application number
CN201410216436.4A
Other languages
English (en)
Inventor
黄荣
杨月威
王杨帆
孙玮
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.)
BEIJING CHINAFUTURE INFORMATION TECHNOLOGY Inc
Beijing Chnfuture Information Tech Co Ltd
Original Assignee
BEIJING CHINAFUTURE INFORMATION TECHNOLOGY 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 BEIJING CHINAFUTURE INFORMATION TECHNOLOGY Inc filed Critical BEIJING CHINAFUTURE INFORMATION TECHNOLOGY Inc
Priority to CN201410216436.4A priority Critical patent/CN104038535A/zh
Publication of CN104038535A publication Critical patent/CN104038535A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种在虚拟应用环境下改善用户体验的方法及虚拟系统,应用于包括客户端与服务器端的虚拟应用系统,该方法包括:客户端将调用客户端的本地资源所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;该服务器端的被虚拟的应用程序根据该操作指令调用该服务器端的虚拟资源控制管理器;该虚拟资源控制管理器将该操作指令转换为客户端本地资源请求指令,并将其通过该虚拟通道发送至该客户端;该客户端的本地资源控制管理器根据该客户端本地资源请求指令调用本地资源,并将调用结果返回该服务器端。上述技术方案可在虚拟化环境下为用户的应用带来便利,以实现在虚拟应用环境下获得接近于本地应用程序的操作体验。

Description

在虚拟应用环境下改善用户体验的方法及虚拟应用系统
本案是申请号:201110435152.0,发明名称《在虚拟应用环境下改善用户体验的方法及虚拟应用系统》,优先权日2010.12.22的专利申请的分案申请。
技术领域
本发明涉及虚拟化技术领域,特别是涉及一种在虚拟应用环境下改善用户体验的方法及其虚拟应用系统。
背景技术
近年来,虚拟化技术风起云涌,出现了服务器虚拟化技术、桌面虚拟化技术、应用虚拟化技术、存储虚拟化技术以及网络虚拟化技术等。当前,虚拟化技术的优势已经得到了业界的普遍认可,虚拟化技术所具备的提高资源利用率和节能环保的特性也得到了越来越多高性能计算机用户的青睐,虚拟化技术的普及和推广成为信息化技术发展的必然趋势。
应用虚拟化的基本概念可以追溯到主机和哑终端或瘦客户端时代。被虚拟化的应用利用一种非常小的瘦客户端应用来显示它们的“逻辑视图”(典型情况下就是应用用户界面),这一瘦客户端应用在很多种操作系统和硬件上运行。该应用的“物理端”应用被托管在企业的数据中心。
按照最简单的方式,通过网络连接,在虚拟应用系统的客户端设备与服务器端之间所传输的唯一数据是客户端的屏幕、键盘及鼠标的移动。
应用虚拟化是对终端用户设备应用的抽象化。也就是说,将应用彻底从客户端的用户设备中移走,在服务器端运行。简单的说,这意味着没有应用程序或数据需要加载或存放到PC、笔记本电脑、或移动设备等,因为应用虚拟化使得这些应用能够透明地从一个集中的服务器上或集中的地点来运行。
基于虚拟应用技术的原理,在通过虚拟应用系统操作应用程序时的基本流程如下:
步骤A:用户在虚拟应用系统的客户端上输入用户名、密码等信息并提交给虚拟应用系统的服务器端;
步骤B:虚拟应用系统的服务器端将登录请求转发给用户认证系统;
步骤C:如果是合法用户,虚拟应用系统的服务器端为该用户建立用户会话,并将该用户有权访问的虚拟应用信息返回给用户;
步骤D:用户选择要访问的虚拟应用程序,与虚拟应用系统服务器端协商启动虚拟应用时的选项及参数,例如分辨率、颜色位深等;
步骤E:虚拟应用系统的服务器端在为该用户开辟的隔离的会话空间中启动“物理”的虚拟应用程序;
即,用户调用的虚拟应用程序实际上运行于服务器端,特别是运行于为该用户开辟的隔离的会话空间,也就是说服务器端运行了被虚拟的应用程序;
步骤F:虚拟应用程序启动后,将其用户界面的图像信息压缩或者转换成绘图指令后发往虚拟应用系统的客户端;
步骤G:虚拟应用系统的客户端将用户界面信息用虚拟应用系统的客户端所使用的操作系统所能理解的绘图指令在用户终端上绘制出虚拟应用的用户界面;
步骤H:用户通过鼠标、键盘操作虚拟应用程序;
步骤I:虚拟应用系统的客户端实时将当前发生的鼠标事件及坐标信息和键盘扫描码发送给虚拟应用系统的服务器端;
步骤J:虚拟应用系统的服务器端接收到虚拟应用系统的客户端发过来的鼠标、键盘信息,并将该信息转换为虚拟应用系统的服务器端所在服务器操作系统能理解的信息;
步骤K:虚拟应用系统的服务器端将鼠标、键盘事件及坐标信息等发送到用户隔离的会话空间中的“物理”的虚拟应用程序;
步骤L:“物理”的虚拟应用程序处理发过来的鼠标、键盘事件,做出相应的反应,例如鼠标点击到按钮上,按钮产生下陷的动画效果等;
即,用户在客户端发出的指令,控制的是服务器端的虚拟应用程序的运行;
步骤M:虚拟应用系统的服务器端检测用户界面的变化情况,将变化后的用户界面或者只是将区域性的变化的部分用户界面经过步骤F所描述的处理方式处理后再发送到虚拟应用系统的客户端,并重复步骤F至步骤M的过程;
步骤N:如果用户关闭虚拟应用程序,虚拟应用系统的服务器端则关闭在隔离用户环境中的“物理”的虚拟应用程序,注销该用户的登录,并通知虚拟应用系统的客户端关闭程序。
虚拟应用技术解决了应用程序的输入输出逻辑(应用程序界面)与计算逻辑指令隔离的问题,使得用户只要具备网络条件,就可以在不同的终端上获得与被虚拟的应用程序按其原本的方式实际运行后一致的用户界面和操作方式,但虚拟应用技术的缺陷也是非常明显的。
虚拟应用无时无刻都需要保持网络连接,在虚拟应用程序上的任何操作都需要先将操作的信息发送到虚拟应用系统的服务器端,经过虚拟应用系统的服务器端处理后重新绘制出变化的用户界面再返回给虚拟应用系统的客户端之后用户才能获得刚才操作的实际响应。例如,当用户在用户界面上的文本输入框中键入某个字符时,在虚拟应用系统的客户端上看到的虚拟应用界面上不会立即出现用户刚才键入的字符,要等到这个键盘事件发送到虚拟应用系统的服务器端,完成虚拟应用程序用户界面重绘并返回给虚拟应用系统客户端之后才能看到用户刚才键入的字符。一旦网络质量下降到不能正常地完成虚拟应用系统服务器端和虚拟应用系统客户端之间的网络通信,在虚拟应用系统客户端上看到的用户界面将停顿在最后一幅画面上,如果用户正在录入数据,则用户界面无法及时显示用户所输入的数据,则无法继续操作。同时,用户每键入一个字符,客户端都立即将该字符发送至服务器端,则当用户输入较多字符时,需要依次执行多次网络通信。即使网络通信质量良好,该多次网络通信也将严重降低用户界面显示字符的速度。
因此,通过应用虚拟化技术用户获得了像本地应用程序一样的用户界面,但是却难以获得与本地应用程序一样的操作体验。
另外,虚拟化技术还存在如下问题:在企业应用场景中,应用程序经常需要支持不同的外设,以银行业务终端应用为例,应用程序需要连接指纹识别仪,配合用户名/密码信息来对业务系统操作人员进行身份认证;需要连接金融卡读卡器以识别客户的银行卡并完成客户所需的金融业务;需要连接二代身份证读卡器以识别客户的身份;需要连接打印机以完成业务单据的打印等等。这些外设的支持在本地应用程序中并没有什么问题,只要有相应的驱动程序和开发接口,本地应用程序总能通过针对开发接口编程来实现其业务功能,但将这些外设放到应用虚拟化环境中来使用时,问题就来了:被虚拟的应用程序实际上是安装、部署以及运行在虚拟应用系统的服务器端,而实际的外设却是连接在远程的虚拟应用系统的客户端上,被虚拟的应用程序从其所在的操作系统中根本无法枚举这些外部设备,也就是说被虚拟的应用程序根本意识不到这些外设的存在,因此也就无法正常地完成相应的业务功能,使得用户感到不便。
除此之外,虚拟化技术还需要考虑对客户端的本地资源的访问。例如,企业应用中有一项企业通讯录业务功能,上面列出了员工的电话号码,那么很自然的,企业客户会提出“点击员工电话号码后就能向该电话号码拨号”的业务功能,同样的,企业客户会自然地想到使用移动终端的固有特征来作为企业应用系统使用者用户身份认证信息的补充和加强,例如,每个生产出来的手机都有一个全球唯一移动设备识别号,即IMEI(International Mobile EquipmentIdentity)号;每块手机使用的SIM(Subscriber Identity Module)卡都有唯一的客户识别码,即IMSI(International Mobile Subscriber Identity)号,如果是移动终端的本地应用程序,可以通过移动终端提供的API实现该功能,而在应用虚拟化环境中,实际运行被虚拟的应用程序的虚拟应用系统服务器本地并没有移动终端上所具备的相应API,具有相应API的移动终端上又没有实际的应用程序运行,这样又再次体现了虚拟应用的操作不能获得像本地应用程序那样的操作体验。
发明内容
本发明解决的技术问题在于,提供一种在虚拟应用环境下改善用户体验的方法及其虚拟应用系统,用于降低虚拟应用程序输入文本后的回显时延。
进一步的,实现虚拟应用系统客户端对本地资源的访问。
进一步的,实现虚拟应用系统客户端上传本地资源的速度。
进一步的,实现在应用层实现虚拟应用系统的客户端支持其客户端外设。
进一步的,实现在驱动层实现虚拟应用系统的客户端支持其客户端外设。
本发明公开了一种在虚拟应用环境下改善用户体验的方法,用于降低虚拟应用程序输入文本后的回显时延,应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:步骤1,用户在该客户端输入字符,该客户端拦截该字符;步骤2,该客户端缓存该字符,并且,该客户端的用户显示界面实时显示该字符;步骤3,该客户端将用户此次输入所缓存的所有字符通过客户端与服务器端间的虚拟通道发送至该服务器端;步骤4,该服务器端根据接收到的字符产生用户显示界面的更新信息,该更新信息被发送至该客户端;步骤5,该客户端根据该更新信息更新用户显示界面。
本发明还公开了一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于降低虚拟应用程序输入文本后的回显时延,该客户端进一步包括:拦截模块,用于拦截用户在该客户端输入的字符;缓存模块,用于缓存该拦截模块所拦截的字符;显示模块,用于对该拦截模块所拦截的字符进行实时显示;该虚拟通道用于传送用户此次输入所缓存的所有字符至该服务器端,以及,传送该服务器端产生的一更新信息至该客户端;该服务器端根据接收到的字符产生该更新信息,该更新信息是该客户端更新该显示模块的用户显示界面的依据。
本发明还公开了一种在虚拟应用环境下改善用户体验的方法,用于实现虚拟应用系统客户端对本地资源的访问,该方法应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:步骤1,客户端将调用客户端的本地资源所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;步骤2,该服务器端的被虚拟的应用程序根据该操作指令调用该服务器端的虚拟资源控制管理器;步骤3,该虚拟资源控制管理器将该操作指令转换为客户端本地资源请求指令,并将其通过该虚拟通道发送至该客户端;步骤4,该客户端的本地资源控制管理器根据该客户端本地资源请求指令调用本地资源,并将调用结果返回该服务器端。
本发明还公开了一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于实现虚拟应用系统客户端对本地资源的访问,该服务器端加载有被虚拟的应用程序,并且设置有虚拟资源控制管理器;该被虚拟的应用程序在收到通过该虚拟通道传送来的调用客户端本地资源所产生的操作指令时,调用该虚拟资源控制管理器,该虚拟资源控制管理器将该操作指令转换为客户端本地资源请求指令,并将其通过该虚拟通道发送至该客户端;该客户端具有本地资源控制管理器,用于根据该客户端本地资源请求指令调用客户端的本地资源,并将调用结果返回该服务器端。
本发明还公开了一种在虚拟应用环境下改善用户体验的方法,用于在驱动层实现虚拟应用系统的客户端支持其客户端外设,该方法应用于包括客户端与服务器端的虚拟应用系统,包括:步骤1,该客户端将其所连接的所有外设的外设信息发送至该服务器端;步骤2,该客户端将用户操作客户端的一外设所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;步骤3,该服务器端根据该操作指令产生调用该外设的I/O请求数据包;步骤4,该服务器端根据该外设信息判断该I/O请求数据包是否用于调用该客户端的外设,对调用该客户端的外设的I/O请求数据包进行拦截,通过该虚拟通道将其转发至该客户端;步骤5,该客户端依据该I/O请求数据包,驱动该外设。
本发明还公开了一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于在驱动层实现虚拟应用系统的客户端支持其客户端外设,该客户端包括设备控制管理器,该设备控制管理器将该客户端所连接的所有外设的外设信息发送至该服务器端;该服务器端包括虚拟设备控制管理器以及虚拟设备总线驱动,该虚拟设备控制管理器接收该外设信息,该虚拟设备总线驱动用于根据该外设信息拦截与该外设有关的指令;该服务器端的操作系统根据传送到该服务器端的用户操作该客户端的一外设所产生的操作指令,产生调用该外设的I/O请求数据包;其中,该虚拟设备总线驱动根据该外设信息判断该I/O请求数据包是否用于调用该客户端的外设,对调用该客户端的外设的I/O请求数据包进行拦截,通过该虚拟通道将该I/O请求数据包转发至该客户端,供该客户端依据该I/O请求数据包,驱动该外设。
通过上述技术方案可以有效改善用户体验,丰富虚拟化环境下的功能应用,降低虚拟应用程序输入文本后的回显时延,实现虚拟应用系统客户端对本地资源的访问,加快了客户端上传本地资源的速度。实现在应用层实现虚拟应用系统的客户端支持其客户端外设,实现在驱动层实现虚拟应用系统的客户端支持其客户端外设,在虚拟化环境下为用户的应用带来便利,以实现在虚拟应用环境下获得接近于本地应用程序的操作体验。
附图说明
图1A所示为本发明的在虚拟应用环境下改善用户体验的方法的流程图;
图1B所示为本发明的虚拟应用系统的结构示意图;
图2A所示为一种在虚拟应用环境下改善用户体验的方法的流程图;
图2B所示为本发明的虚拟应用系统的结构示意图;
图2C所示为一种在虚拟应用环境下提高数据传输速度的流程图;
图3A所示为一种在虚拟应用环境下改善用户体验的方法的流程图;
图3B所示为本发明的虚拟应用系统的结构示意图;
图4A所示为一种在虚拟应用环境下改善用户体验的方法的流程图;
图4B所示为本发明的虚拟应用系统的结构示意图;
图5所示为客户端连入网络的示意图;
图6所示为本发明的虚拟应用系统的结构示意图。
具体实施方式
本发明用于在虚拟应用环境下提供更多的应用,提高运行效率,进一步改善用户体验。该虚拟应用环境可包括:Citrix和微软的应用虚拟化环境。
本发明公开了一种在虚拟应用环境下改善用户体验的方法,具体涉及的是一种降低虚拟应用程序输入文本后显示时延的方法,用于解决现有技术中,由于在客户端的用户界面每输入一个字符都需要先连接服务器端而带来的客户端的显示滞后,降低用户体验满意度的问题。
请参阅图1A所示为一种在虚拟应用环境下改善用户体验的方法的流程图。
步骤101,当用户在该客户端输入字符,该客户端拦截该字符;
步骤102,该客户端缓存该字符,并且,该客户端的用户显示界面实时显示该字符;
步骤103,该客户端将用户此次输入所缓存的所有字符通过客户端与服务器端间的虚拟通道发送至该服务器端;
步骤104,该服务器端根据接收到的字符产生用户显示界面的更新信息,该更新信息被发送至该客户端;
步骤105,该客户端根据该更新信息更新用户显示界面。
请参阅图1B所示为本发明的虚拟应用系统的结构示意图,特别是字符输入操作体验本地化子系统的结构示意图,用于执行上述方法。
虚拟应用系统10具有客户端1以及服务器端2。客户端1的应用层加载有虚拟应用程序11、拦截模块12、缓存模块13以及本地化交互通道管理器14。客户端1的驱动层中设置有键盘驱动15。服务器端2可设置在一应用服务器中。服务器端2的应用层中设置有本地化交互通道服务模块21,被虚拟的应用程序22以及服务器端处理单元23。
本地化交互通道管理器14与本地化交互通道服务模块21配合使用,以实现客户端1以及服务器端2间的虚拟通道。
服务器端2加载有该被虚拟的应用程序22,根据现有技术可知,被虚拟的应用程序22的用户界面发送到客户端1的虚拟应用程序11,由虚拟应用程序11绘制并展现出被虚拟的应用程序22的用户界面。用户可在该用户界面进行操作,输入字符。
以下结合图1B具体介绍上述方法的实现过程。
服务器端2加载被虚拟的应用程序22,将被虚拟的应用程序22的用户界面发送到客户端的虚拟应用程序11,由虚拟应用程序11绘制并在显示模块中展现出被虚拟的应用程序22的用户界面,该用户界面中包括一文本输入框。
步骤101具体包括:用户在客户端1的文本输入框中输入字符,该字符的输入可以通过敲击客户端的键盘或虚拟软键盘的方式实现。键盘被敲击后产生硬件中断,键盘驱动15获得对应所输入字符的键盘扫描码。
该客户端在收到用户的输入动作所对应的键盘扫描码后,调用拦截模块12,该拦截模块12拦截该键盘扫描码,避免依照现有技术的方式而将其直接发送到该服务器端。即,避免每输入一字都与服务器端进行一次网络通信,从而降低网络通信的次数,进而降低时延带来的等待。
该拦截模块12可通过多种形式实现,即,可以在应用层或键盘驱动层或通过硬件中断的方式实现。例如该拦截模块12为一键盘HOOK,在键盘驱动15获得键盘扫描码后,调用键盘HOOK拦截该键盘扫描码。
步骤102具体包括:该拦截模块12将拦截到的字符(也就是键盘扫描码)放入缓存模块13,同时利用本地化交互通道管理器14将拦截到的字符发送至虚拟应用程序11,该虚拟应用程序11利用其本地界面程序将该字符实时显示在客户端的显示模块(图中未示)上。
循环执行步骤101、102,直到用户输入完成并发出提交命令时,执行步骤103。客户端将此次输入所缓存的所有字符从缓存模块13中取出,通过虚拟通道一并发送到该服务器端。
步骤104具体包括:该服务器端2的被虚拟的应用程序22在其用户显示界面中填入所收到的所有字符,该服务器端监测该被虚拟的应用程序的用户显示界面发生的变化,计算界面变化数据从而得到用户显示界面的更新信息。
即,服务器端2接收到键盘扫描码后将其换算成字符串,并构造键盘消息,发送到被虚拟的应用程序22。被虚拟的应用程序22收到键盘消息并进行程序运行,从而在相应的文本输入框中一次性填入所收到的字符串,并通过用户界面显示出字符串。服务器端处理单元23监测到被虚拟的应用程序22的用户界面发生变化,计算界面变化差量,生成用户界面更新信息发往客户端1。
同时,被虚拟的应用程序22在运行时可将该字符串以特定字符显示格式进行显示,这样服务器端处理单元23将监测到该字符的显示格式变化,从而在更新信息中增加字符显示格式信息。该字符显示格式可以包括字体、字号、字形、颜色、间距、是否下划线、字符特效等。
步骤105具体包括:客户端1的虚拟应用程序11收到用户界面更新信息,更新信息中指定的用户界面区域,显示出已输入的所有字符串。
该客户端可为移动或非移动的终端,包括PC机、智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备。对于移动终端的连接网络方式,可以通过运营商的SIM卡上网实现和互联网的连接,也可能是通过WIFI连接入互联网,或其他方式接入互联网和服务器连接。对于平板电脑,其采用虚拟键盘来实现字符输入,在HOOK方式上使用软键盘钩子方式进行字符输入的截获操作。
本发明还公开了一种在虚拟应用环境下改善用户体验的方法,具体涉及的是一种用于实现虚拟应用系统客户端对本地资源的访问的方法。用于解决在现有技术中,虚拟应用系统中的客户端无法访问本地资源,用户体验满意度低的问题。
如图2A所示为一种在虚拟应用环境下改善用户体验的方法的流程图。
步骤201,客户端将调用客户端的本地资源所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;
步骤202,该服务器端的被虚拟的应用程序根据该操作指令调用该服务器端的虚拟资源控制管理器;
步骤203,该虚拟资源控制管理器将该操作指令转换为客户端本地资源请求指令,并将其通过该虚拟通道发送至该客户端;
步骤204,该客户端的本地资源控制管理器根据该客户端本地资源请求指令调用本地资源,并将调用结果返回该服务器端。
请参阅图2B所示为本发明的虚拟应用系统的结构示意图,特别是本地系统资源访问支持子系统的结构示意图,用于执行上述方法。
虚拟应用系统10具有客户端1以及服务器端2。客户端1的应用层加载有虚拟应用程序11、本地化交互通道管理器14以及本地资源控制管理器16,本地资源控制管理器16用于执行对本地资源的访问。服务器端2可设置在一应用服务器中。服务器端2具有本地化交互通道服务模块21、被虚拟的应用程序22以及虚拟资源控制管理器24。虚拟资源控制管理器24用于在服务器端虚拟出与客户端本地资源响应特征相同的虚拟资源,提供在虚拟应用系统下的客户端本地资源的调用接口。
本地化交互通道管理器14与本地化交互通道服务模块21配合使用,以实现客户端1以及服务器端2间的虚拟通道。
以下结合图2B具体介绍上述方法的实现过程。
服务器端2加载被虚拟的应用程序22,将被虚拟的应用程序22的用户界面发送到客户端的虚拟应用程序11,由虚拟应用程序11绘制并在客户端的显示模块中展现出被虚拟的应用程序22的用户界面。
步骤201具体包括:用户在虚拟应用程序11的用户界面上操作使用客户端的本地资源的业务功能,该本地资源包括获取电话号码本、查看照片、拨打电话、发送短信等。
在收到用户操作本地资源的输入信号(例如打开电话号码本)后,客户端对应产生一操作该本地资源的操作指令。客户端通过该虚拟通道将该操作指令发送到该服务器端。
步骤202具体包括:服务器端2的本地化交互通道服务模块21将该操作指令发送至该被虚拟的应用程序22,被虚拟的应用程序22根据该操作指令而运行,调用虚拟资源控制管理器24。
步骤203具体包括:当该虚拟资源控制管理器24判断该操作指令不是针对服务器端的本地资源而是针对客户端的本地资源的操作指令时,将操作指令转换成客户端的本地资源请求指令,并将该本地资源请求指令通过本地化交互通道服务21、本地化交互通道管理器14转发到客户端上的本地资源控制管理器16。
即,当该虚拟资源控制管理器24判断该操作指令不是针对服务器端的本地资源而是针对客户端的本地资源的操作指令时,该虚拟资源控制管理器24依据该操作指令发出一可以被客户端上的本地资源控制管理器16所直接执行的本地资源请求指令,以实现对客户端本地资源的调用。
步骤204具体包括:本地资源控制管理器16根据客户端的本地资源请求指令调用实际的客户端本地资源(打开电话号码本,显示电话号码列表)。本地资源控制管理器16通过本地化交互通道服务21、本地化交互通道管理器14以及虚拟资源控制管理器24将客户端的本地资源调用结果返回给被虚拟的应用程序22。
该将调用结果返回该服务器端的步骤可通过调用返回、进程通信、事件通知的方式实现。
被虚拟的应用程序22将访问到的客户端的本地资源(例如电话号码列表)显示在用户界面上,并将其通过虚拟通道发送至客户端进行显示。
在访问本地资源时可循环执行上述步骤,例如,打开电话号码本后,还可进一步查看一条电话号码的详细记录内容,编辑电话号码的内容等。在输入电话号码的内容时,可采用图1A所述方法,降低显示时延。另外,还可将客户端的图片上传至服务器端。
另外,由于客户端本地的数据资源可传送到服务器端,故而在服务器端也可使用该本地的数据资源。
该客户端可为移动或非移动的终端,包括PC机、智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备。对于移动终端的连接网络方式,可以通过运营商的SIM卡上网实现和互联网的连接,也可能是通过WIFI连接入互联网,或其他方式接入互联网和服务器连接。
更进一步的,在虚拟应用操作过程中,通常情况下所需要传输的数据仅为虚拟应用系统的服务器的界面信息和虚拟应用系统的客户端的鼠标和键盘事件和坐标信息。在这种情况下,虚拟应用系统的服务器与虚拟应用系统的客户端的数据传输量很少,也就是说虚拟应用所需的带宽很小。
可是,一旦虚拟应用系统的客户端依照图2A、2B方式进行本地资源的上传,例如对虚拟应用系统的服务器进行大量图片或者大型文件传输,所产生的数据包量将会增加数百倍,此时虚拟应用的交互式响应弊端就会非常明显,即:交互式传输导致数据包数量倍增,原有带宽不足;并且由于下行优先原则,当数据包碰撞,上行数据包将会被下行数据包所抵消。发送顺序容易发生混乱。
虚拟应用所支持的标准的网络协议包括:TCP/IP、SPX、IPX、NETBEUI、NWLINK,经测试,在实际的数据传输普遍使用TCP/IP。在虚拟化环境下数据传输速度仅为10-100k/s。该速度对需传输大量图片和文件的用户来讲无法接受。故而本发明提出一种在虚拟应用环境下提高数据上传速度的方法。本发明通过对数据包进行校验的方式保证数据传输的正确性。另外,在保证正确性的前提下可通过提高数据发送频率提高数据传输速度。
该步骤203进一步包括,该客户端本地资源请求指令被服务器端分装为N个指令数据包Servern,n=1,2,……N,该服务器端依照一频率向该客户端依次发送该指令数据包Servern
即,每个指令数据包Servern对应请求目标客户端本地资源中的一部分,所有指令数据包Servern所请求的部分共同组成一完整的目标客户端本地资源。且每个指令数据包Servern中均包括标明所请求的本地资源的顺序的id信息。各个数据包的大小遵循虚拟应用系统的限制,例如5k。该频率可设置得较高,以提高传输速度,例如在通常的10m/s的网络速度的环境下,可不设任何延迟的依次发送该指令数据包,如果每个包5k,则该频率为(10m/s)/5k。该步骤204进一步包括:该客户端依次针对接收到的每个该指令数据包Servern,分别依据每个该客户端本地资源请求指令提取相应的客户端本地资源,并分别将该客户端本地资源封装成对应该指令数据包Servern的响应数据包Clientn,n=1,2,……N,发送给该服务器端;
即,客户端根据指令数据包Server1请求的内容,提取对应的本地资源,封装为Client1,以此类推。客户端收到该指令数据包Servern的顺序可能与其原始发送的顺序不同。客户端根据收到该指令数据包Servern的顺序再依次发出该响应数据包Clientn。客户端可仍依照该频率发出该响应数据包Clientn
步骤204之后进一步包括:
步骤205,该服务器端对接收到的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;
该服务器端可依据接收到的该响应数据包的顺序,依次进行校验。
该服务器端可利用多线程在已经收到响应数据包且指令数据包未完全发送完毕的情况下,同时继续指令数据包的发送以及对响应数据包开始校验,从而节约了数据传输的整体时间。
步骤206,该服务器端重新发送与该丢弃的响应数据包ClientN对应的指令数据包ServerN至该客户端,跳转执行步骤204,直到所有响应数据包Clientn都校验正确;
步骤207,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。
由于每个响应数据包与每个指令数据包对应,故而每个响应数据包中也能体现出该id信息。该服务器端根据该id信息对从各个响应数据包中提取的数据进行排序,从而复原该本地资源的原始顺序,进而将其整合在一起,使得所请求的本地资源实现了从客户端至服务器端的传送。
在上述过程中,由于服务器端可对接收到的本地资源进行重新排序,故而降低了对上传过程中的数据包的顺序要求,即使顺序被完全打乱,也可恢复原貌。另外,由于本发明的服务器端以较高频率传送指令数据包,并可同时对所收到的响应数据包进行处理提高数据处理速度,且对错误包可进行重新发送,以提高数据传输的正确性。使得在保证正确性的前提下,数据传输的速度得到了提高。
通过本申请的方法提高传输速度后,在10m/s的环境中,在普通低配的服务器和同样配置的客户端上,数据上传实际速度可达到7.7m/s。
为提高上传速度,本发明还公开另一实施例。
步骤203进一步包括:该服务器端向该客户端发送一总指令数据包,其中包括有该客户端本地资源请求指令的所有信息;
即,此次并非由多个指令数据包分别传送该客户端本地资源请求指令,而是由一个总指令数据包整体传送,以尽量避免由多个下行数据包带来的与上行数据的更高碰撞几率。提高整体数据上传速度。
步骤204进一步包括:
步骤401,该客户端根据该客户端本地资源请求指令对应提取相应的客户端本地资源;
步骤402,该客户端将该本地资源封装为至少一个响应数据包Clientn,n=1,2,……N,依次发送至该服务器端;
其中,每个响应数据包中均包括标明所携带的本地资源的顺序的id信息。
步骤204之后进一步包括:
步骤205,该服务器端对接收到的所有的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;
该服务器端可依据接收到的该响应数据包的顺序,依次进行校验。
步骤206,该服务器端重新发送与该丢弃的响应数据包ClientN对应的指令数据包ServerN至该客户端,跳转执行步骤204,直到所有响应数据包Clientn都校验正确;
更为具体的,该服务器端根据丢弃的响应数据包中的id信息确定所需提取的本地资源信息,生成一客户端本地资源请求指令,从而重新生成该对应的指令数据包ServerN。该步骤206具体执行的是,该服务器重新发送与该校验错误的响应数据包ClientN对应的指令数据包ServerN至客户端,该客户端根据该指令数据包提取响应的本地资源,再次封装成一个响应数据包ClientN,发送至该服务器端进行重新校验,如依然校验错误,循环该步骤,如果最终校验正确,执行后续步骤。
步骤207,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。
由于该服务器端向该客户端发送一总指令数据包,从而尽可能的避免了下行数据包与上行数据包的冲突,提高了速度。另外,由于本发明的服务器端以较高频率传送指令数据包,并可同时对所收到的响应数据包进行处理提高数据处理速度,且对错误包可进行重新发送,数据传输的整体速率得以提高并保证了正确性。
为提高上传速度,本发明还公开另一实施例。请参阅图2C所示。
步骤203进一步包括:该服务器端向该客户端发送一总指令数据包Server,其中包括有该客户端本地资源请求指令的所有信息;
即,此次并非由多个指令数据包分别传送该客户端本地资源请求指令,而是由一个总指令数据包整体传送,以尽量避免由多个下行数据包带来的与上行数据的更高碰撞几率。
步骤204进一步包括:
步骤401’,该客户端根据该总指令数据包中的该客户端本地资源请求指令对应提取相应的客户端本地资源;
步骤402’,该客户端将部分的该客户端本地资源封装为响应数据包,发送至该服务器端;
由于在虚拟应用系统下每个数据包的大小有限制,故而一般不可能将所有本地资源放在一个响应数据包中。该客户端从提取出的客户端本地资源中选取第一部分封装为响应数据包,并在其中加入标明该响应数据包中的本地资源在所有本地资源中的顺序的id信息。
步骤403’,该客户端本地触发一指令数据包Servern,n=2,……N,并根据该指令数据包Servern封装另一部分的该本地资源为响应数据包Clientn,发送至该服务器端,n加1,重复执行步骤403’,直至所有的该本地资源均发送至该服务器端;
由于本地资源的第一部分已经被封装并发送,则当前需要触发针对后续部分的本地资源的指令数据包。故而,此时从Server2开始,每触发对应一部分本地资源的一个指令数据包,对应封装并发送该部分本地资源
该步骤403’为在发送第一个响应数据包Client1后,客户端为继续发送后续的本地资源,故而,此时,在本地自主触发后续的发送动作从Server2开始,依次将各个部分的本地资源主动发送,即,每触发一个ServerN,对应发送一个ClientN,在发送一ClientN后,触发下一个ServerN,直到全部本地资源本发送。
步骤204之后进一步包括:
步骤205,该服务器端对接收到的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;
该服务器端依据接收到的该响应数据包的顺序,依次进行校验。
步骤206,该服务器端将对应该校验错误的响应数据包ClientN所携带的数据的客户端本地资源请求指令,封装为指令数据包ServerN,发送至该客户端,客户端提取对应的本地资源重新封装为ClientN,跳转执行步骤205,直到所有响应数据包Clientn都校验正确;
步骤207,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。
通过该自主触发的方式实现的效果在于:由于该服务器端向该客户端发送一总指令数据包,从而尽可能的避免了下行数据包与上行数据包的冲突。提高了速度。
本发明还公开了一种在虚拟应用环境下改善用户体验的方法,可以实现虚拟应用系统的客户端支持其客户端外设。用于解决在现有技术中,虚拟应用系统中的客户端无法访问其连接的外设,用户体验满意度低的问题。支持方式包括两种:一种是在应用层支持,一种是在驱动层支持。在应用层中实现对客户端外设的支持,可以大大减少信息交互次数,改善访问外设的性能,但是需要根据具体的被虚拟的应用程序进行定制。驱动层支持虽然不能减少信息交互次数,但是具有交互的通用性,一次定制可以支持一类外设。
以下详细说明一种在应用层实现虚拟应用系统的客户端支持其客户端外设的方法。
如图3A所示为一种在虚拟应用环境下改善用户体验的方法的流程图。
步骤301,客户端将访问客户端的外设所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;
步骤302,该服务器端的被虚拟的应用程序根据该操作指令调用访问该外设的API调用指令;
步骤303,该服务器端拦截该API调用指令并将其通过客户端与服务器端间的虚拟通道发送至该客户端;
步骤304,该客户端解析该API调用指令,封装成该客户端的操作系统所能识别的API调用指令;
步骤305,该客户端根据该操作系统所能识别的API调用指令在应用层访问相应的外设。
请参阅图3B所示为本发明的虚拟应用系统的结构示意图,特别是外设支持本地化子系统的结构示意图,用于执行上述方法。
虚拟应用系统10具有客户端1以及服务器端2。客户端1的应用层加载有虚拟应用程序11、设备控制管理器17、设备驱动18、设备总线驱动19、设备控制器110以及本地化交互通道管理器14。服务器端2可设置在一应用服务器中。服务器端2的应用层中设置有本地化交互通道服务模块21,被虚拟的应用程序22以及拦截模块25。
本地化交互通道管理器14与本地化交互通道服务模块21配合使用,以实现客户端1以及服务器端2间的虚拟通道。
以下结合图3B具体介绍上述方法的实现过程。该外设例如为蓝牙打印机。
服务器端2加载该被虚拟的应用程序22,被虚拟的应用程序22的用户界面发送到客户端1的虚拟应用程序11,由虚拟应用程序11绘制并展现出被虚拟的应用程序22的用户界面。
步骤301具体包括:用户在虚拟应用程序11的用户界面上操作使用外设的业务功能,该客户端在接到用户的输入信号后产生一对应的操作指令,该操作指令经过虚拟应用系统的虚拟通道发送到服务器端2。
步骤302具体包括:服务器端2的本地化交互通道服务模块21将该操作指令发送至该被虚拟的应用程序22,被虚拟的应用程序22根据该操作指令而运行,调用访问该外设的API调用指令。该API调用指令包括访问外设所用的API名称及调用参数。
即,步骤302的调用API调用指令的步骤,可视为应用层在调用外设接口。API调用指令可视为外设接口。由于用户在客户端使用的应用程序实际上在服务器端运行,也就是服务器端运行该被虚拟的应用程序。因而,当用户访问客户端的外设时,实际上需由该被虚拟的应用程序访问客户端连接的外设,即,将客户端的外设重定向到服务器端。因此,服务器端预先设置有该外设的驱动程序(例如一虚拟打印机驱动)和相关的应用程序,以配合该API调用指令实现对外设的访问。被虚拟的应用程序22根据该操作指令所调用的具体的API调用指令等同于现有技术中非虚拟化环境下客户端的应用程序对客户端外设的API调用指令。
步骤303具体包括:该API调用指令被调用时触发拦截模块25,该拦截模块25拦截该API调用指令,不发送至该服务器端的设备驱动。
在一实施例中,该拦截模块25例如为应用HOOK,其预先被定制为与被虚拟的应用程序22相关联。即,该API调用指令被调用时触发应用HOOK的钩子函数,API调用指令被拦截下来,不发送到服务器端的设备驱动。
在一实施例中,该服务器端在应用层内部拦截访问外设的API调用指令,或者,在应用层外部拦截访问外设的API调用指令。即,在应用层内部或外部拦截调用外设接口。
在本发明中,拦截模块25拦截应用层调用外设接口包括两种方式,第一:应用层的拦截模块25自己封装调用外设的接口,可以称为应用层的内部。即,服务器端为实现对外设设备的访问预先设置有外设接口,该外设接口可以是安装设备驱动过程中一并安装的或者依据操作系统通用的标准设置。服务器端应用层替换该服务器端原始提供的外设接口,将其封装成可直接通过虚拟通道访问客户端的外设接口。第二:应用层的拦截模块25调用服务器端操作系统API钩子函数的方式封装外设提供的外设接口,即:应用层不替换服务器端提供的外设接口,只是使用API钩子函数的方式,HOOK该外设接口提供的接口,替换为预先设置的执行指令,以将该外设接口封装成可直接通过虚拟通道访问客户端的外设接口,这种情况可以表述为应用层的外部。对于第一种情况,这些外设接口可能都会被该调用该外设的应用所使用,因此拦截模块需要拦截所有的API调用指令,对于第二种情况,拦截模块将只拦截外设接口中被该操作指令调用部分的API调用指令。
此外,拦截模块25按虚拟通道协议封装被调用的该API调用指令,并将其通过本地化交互通道服务21发送到本地化交互通道管理器14。所述封装的方式包括按照所调用API函数声明原样封装或者按照本领域技术人员可以想见的便于客户端远程调用的其他格式转换后封装。
步骤304具体包括:本地化交互通道管理器14将封装的API调用指令拆封,并按照客户端的操作系统能识别的格式将拆封的API调用指令重新封装成适用于客户端的操作系统访问外设的API调用指令,然后转发到设备控制管理器17。该重新封装就是将数据还原成客户端操作系统下等价的API及参数。
步骤305具体包括:该操作系统所能识别的API调用指令被发送往客户端的操作系统,产生I/O请求,该I/O请求被发送往与该外设对应的设备驱动,该设备驱动调用设备总线驱动,产生外设控制指令并发送到设备控制器,该设备控制器根据该外设控制指令完成对该外设的调用。
该步骤305的详细实现方式如下:
由于是应用层支持,设备控制管理器17将API调用指令发往客户端的操作系统。根据现有技术可知,客户端根据该API调用指令产生I/O请求,通过外设与驱动的映射关系,I/O请求被发送到外设对应的设备驱动18,调用客户端所安装的实际的外设驱动程序。设备驱动18随之调用设备总线驱动19,产生外设控制指令,然后发送到设备控制器110。设备控制器110与外设通信,操作外设,完成业务功能,例如打印等。
通过该应用层支持的方式可以实现客户端对外设的访问,同时,信息交互次数较少,访问外设的性能较高。
以下详细说明一种在驱动层实现虚拟应用系统的客户端支持其客户端外设的方法。通过在服务器端直接产生调用外设的I/O请求数据并发送至客户端的方式,实现驱动层的外设支持。
参阅图4A所示为一种在虚拟应用环境下改善用户体验的方法的流程图。
步骤401,该客户端将其所连接的所有外设的外设信息发送至该服务器端;
步骤402,该客户端将用户操作客户端的一外设所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;
步骤403,该服务器端根据该操作指令产生调用该外设的I/O请求数据包;
步骤404,该服务器端根据该外设信息判断该I/O请求数据包是否用于调用该客户端的外设,对调用该客户端的外设的I/O请求数据包进行拦截,通过该虚拟通道将其转发至该客户端;
步骤405,该客户端依据该I/O请求数据包,驱动该外设。
请参阅图4B所示为本发明的虚拟应用系统的结构示意图,特别是又一种的外设支持本地化子系统的结构示意图,用于执行上述方法。
虚拟应用系统10具有客户端1以及服务器端2。客户端1的应用层加载有虚拟应用程序11、设备控制管理器17、虚拟设备驱动111、设备驱动18、设备总线驱动19、设备控制器110以及本地化交互通道管理器14。服务器端2可设置在一应用服务器中。服务器端2的应用层中设置有本地化交互通道服务模块21,被虚拟的应用程序22,虚拟设备控制管理器26以及虚拟设备总线驱动27。虚拟设备控制管理器26用于管理被虚拟的应用程序22对外设的访问,记录并转发设备控制指令和通信数据。虚拟设备总线驱动27用于拦截被虚拟应用程序访问外设时发出的I/O请求。服务器端还安装了该外设的驱动程序和使用该外设的应用程序。虚拟设备总线驱动27用于加载外设的驱动程序、卸载外设的驱动程序、虚拟出与实际外设响应特征相同的虚拟设备和/或枚举虚拟设备。该虚拟设备为将客户端的外设重定向到服务器端时,该服务器端创建的和客户端的该外设相同的虚拟设备,其连接在虚拟总线上,被虚拟的应用程序对虚拟设备的访问都会通过虚拟通道发送到客户端进行实际设备的访问。用户关闭应用或取消重定向时,该虚拟设备被取消。
本地化交互通道管理器14与本地化交互通道服务模块21配合使用,以实现客户端1以及服务器端2间的虚拟通道。
以下结合图4B具体介绍上述方法的实现过程。
步骤401具体包括:
步骤4011,该客户端的设备控制管理器加载用户选择连接的所有外设的虚拟设备驱动;
步骤4012,该客户端的设备控制管理器将用户选择的所有外设的该外设信息发送至该服务器端的虚拟设备控制管理器,该虚拟设备控制管理器通知该服务器端的虚拟设备总线驱动拦截与该外设有关的指令。
更详而言之,步骤401通过如下方式实现,在客户端启动后,该客户端的设备控制管理器17枚举出终端的外设。用户选择要支持的外设。根据用户的选择,设备控制管理器17加载相应的外设的虚拟设备驱动111。设备控制管理器17通过本地化交互通道管理器14、本地化交互通道服务21通知虚拟设备控制管理器26具体要支持的外设是什么。虚拟设备控制管理器26通知虚拟设备总线驱动27准备拦截与该外设相关的所有通信。
服务器端2加载该被虚拟的应用程序22,在客户端2与服务器端建立连接后,被虚拟的应用程序22的用户界面发送到客户端1的虚拟应用程序11,由虚拟应用程序11绘制并展现出被虚拟的应用程序22的用户界面。
步骤402通过如下方式实现,用户在虚拟应用程序11的用户界面上操作使用外设的业务功能,从而产生一操作指令,该操作指令经过虚拟应用系统的虚拟通道发送到虚拟应用系统服务器端2。该被虚拟的应用程序22根据该操作指令运行。
步骤403通过如下方式实现,被虚拟的应用程序22调用访问外设的API调用指令。在驱动层外设支持的模式下,不会触发拦截模块25的钩子函数,不用对被虚拟的应用程序的任何API调用指令进行拦截。API调用指令被服务器端的操作系统转换成对应的I/O请求数据包,被直接发送到设备驱动上。设备驱动调用虚拟设备总线驱动27。
在一优化实施方式中,该I/O请求数据包可以包括I/O请求的底层的通信数据,如USB设备的URB数据包等。
另外,由于本发明可将API调用指令直接转换成I/O请求数据包,故而,预先一次性定制一种API调用指令所对应的I/O请求数据包,则可以支持一类外设,无需依具体的被虚拟的应用程序的变化而变化,从而具有较好的通用性。
步骤404通过如下方式实现,虚拟设备总线驱动27根据该外设信息检测到当前I/O请求数据包针对的是要访问用户选定的外设(虚拟设备),于是拦截这些I/O请求数据包,不发送到服务器端本地的设备控制器,而是通过虚拟设备控制管理器26、本地化交互通道服务21、本地化交互通道管理器14转发到客户端上的设备控制管理器17。设备控制管理器17用于管理客户端上实际的对外设的访问操作。
该虚拟设备总线驱动27通过在虚拟设备总线上拦截或者以过滤驱动的方式进行拦截。过滤驱动的方式是公知技术。对于虚拟设备总线拦截,由于总线驱动是处于设备驱动的下层,所有针对设备驱动的访问,都会通过总线,之后才到达设备,因而在总线上也能够实现拦截。
最后,步骤405通过如下方式实现,设备控制管理器17调用相应的虚拟设备驱动111。虚拟设备驱动111将I/O请求数据包发送到实际的设备总线驱动19。设备总线驱动19产生外设控制指令,然后发送到设备控制器110。设备控制器110与外设通信,操作外设,完成业务功能。
即,虚拟设备驱动111根据该I/O请求数据包,依照现有的外设的设备驱动的步骤执行对设备的驱动。
当将服务器端的被虚拟的应用程序的用户界面重定向到客户端后,在客户端不使用客户端原有的设备驱动,本发明在客户端设置了虚拟设备驱动111。虚拟设备驱动111用于虚拟出与外设原有驱动程序相同的操作行为,由于服务器端已经产生了用于调用外设的I/O请求数据包,因此,该虚拟设备驱动111只负责将要实际调用设备的I/O请求数据包下发到设备,并把设备返回的信息通过网络传回服务器端,不负责具体产生驱动数据。可见,客户端可以不设置实体设备驱动。
该步骤405之后还包括:该客户端将该外设的运行处理结果通过该虚拟通道传回该服务器端的虚拟设备总线驱动,该虚拟设备总线驱动将该运行处理结果反馈给服务器端的被虚拟的应用程序22。被虚拟的应用程序22根据该运行处理结果依据上述步骤对虚拟设备进行访问,访问结果再次通过虚拟通道发送到客户端进行实际设备的访问,直到用户结束访问。
以上各个技术方案中所述的该客户端可为移动或非移动的终端,包括PC机、智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备等。请参阅图5所示为客户端连入网络的示意图。
客户端可通过其网络装置连接入互联网,进而通过web服务器,连接至设置有虚拟应用系统服务器端的应用服务器。
对于移动终端的连接网络方式,可以通过运营商的SIM卡上网实现和互联网的连接,也可能是通过WIFI连接入互联网,或其他方式接入互联网和服务器连接。以实现客户端与虚拟应用系统服务器端的初始连接。
如图6所示为本发明的虚拟应用系统的结构示意图。其可以同时包括字符输入操作体验本地化子系统、本地系统资源访问支持子系统以及两种外设支持本地化子系统。即,本发明的虚拟应用系统可以一并解决上述三种子系统分别解决的问题。
基于图6所示,本地化交互通道管理器14用于解析并处理服务器端转发的被虚拟的应用程序22与本地资源控制管理器16之间、被虚拟的应用程序22与拦截模块12之间或者被虚拟的应用程序22与设备控制管理器17之间的通信数据。
本地化交互通道服务模块21用于转发虚拟应用系统服务器端、虚拟资源控制管理器24、虚拟设备控制管理器26、拦截模块25与客户端各模块的通信数据
通过上述技术方案可以有效改善用户体验,丰富虚拟化环境下的功能应用,降低虚拟应用程序输入文本后的回显时延,实现虚拟应用系统客户端对本地资源的访问。实现在应用层实现虚拟应用系统的客户端支持其客户端外设,实现在驱动层实现虚拟应用系统的客户端支持其客户端外设,在虚拟化环境下为用户的应用带来便利,以实现在虚拟应用环境下获得接近于本地应用程序的操作体验。

Claims (32)

1.一种在虚拟应用环境下改善用户体验的方法,用于实现虚拟应用系统客户端对本地资源的访问,其特征在于,该方法应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:
步骤1,客户端将调用客户端的本地资源所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;
步骤2,该服务器端的被虚拟的应用程序根据该操作指令调用该服务器端的虚拟资源控制管理器;
步骤3,该虚拟资源控制管理器将该操作指令转换为客户端本地资源请求指令,并将其通过该虚拟通道发送至该客户端;
步骤4,该客户端的本地资源控制管理器根据该客户端本地资源请求指令调用本地资源,并将调用结果返回该服务器端。
2.如权利要求1所述的方法,其特征在于,该将调用结果返回该服务器端的步骤可通过调用返回、进程通信、事件通知的方式实现。
3.如权利要求1或2所述的方法,其特征在于,该客户端包括移动终端,该移动终端包括智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备。
4.如权利要求1所述的方法,其特征在于,步骤3进一步包括:
该服务器端依照一频率向该客户端依次发送指令数据包Servern,n=1,2,……N,该指令数据包Servern携带有该客户端本地资源请求指令;
步骤4进一步包括:该客户端依次针对接收到的每个该指令数据包Servern,分别依据每个该客户端本地资源请求指令提取相应的客户端本地资源,并分别将该客户端本地资源封装成对应该指令数据包Servern的响应数据包Clientn,n=1,2,……N,发送给该服务器端;
步骤4之后还包括:
步骤5,该服务器端对接收到的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;
步骤6,该服务器端重新发送与该丢弃的响应数据包ClientN对应的指令数据包ServerN至该客户端,跳转执行步骤4,直到所有响应数据包Clientn都校验正确;
步骤7,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。
5.如权利要求1所述的方法,其特征在于,步骤3进一步包括:该服务器端向该客户端发送一总指令数据包,其中包括有该客户端本地资源请求指令的所有信息;
步骤4进一步包括:
步骤401,该客户端根据该客户端本地资源请求指令对应提取相应的客户端本地资源;
步骤402,该客户端将该本地资源封装为至少一个响应数据包Clientn,n=1,2,……N,依次发送至该服务器端;
步骤4之后进一步包括:
步骤51,该服务器端对接收到的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;
步骤61,该服务器端将对应该校验错误的响应数据包ClientN所携带的数据的客户端本地资源请求指令,封装为指令数据包ServerN,发送至该客户端,跳转执行步骤401,直到所有响应数据包Clientn都校验正确;
步骤71,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。
6.如权利要求1所述的方法,其特征在于,步骤3进一步包括:该服务器端向该客户端发送一总指令数据包Server,其中包括有该客户端本地资源请求指令的所有信息;
步骤4进一步包括:
步骤401’,该客户端根据该客户端本地资源请求指令对应提取相应的客户端本地资源;
步骤402’,该客户端将该客户端本地资源的一部分封装为响应数据包,发送至该服务器端;例如把本地资源的第一部分封装起来并发送。
步骤403’,该客户端本地触发一指令数据包Servern,n=2,……N,并根据该指令数据包封装另一部分的该本地资源为响应数据包Clientn,发送至该服务器端,n加1,重复执行步骤403’,直至所有的该本地资源均发送至该服务器端;
步骤4之后进一步包括:
步骤51,该服务器端对接收到的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;
步骤61,该服务器端将对应该校验错误的响应数据包ClientN所携带的数据的客户端本地资源请求指令,封装为指令数据包ServerN,发送至该客户端,客户端提取对应的本地资源重新封装为ClientN,发送至服务器端,跳转执行步骤51,直到所有响应数据包Clientn都校验正确;
步骤71,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。
7.如权利要求4、5或6所述的方法,其特征在于,该步骤5或51中,该服务器端依据接收到的该响应数据包的顺序,依次进行校验。
8.如权利要求4所述的方法,其特征在于,如果该服务器端在该步骤3未完全执行完毕时收到了该响应数据包,则同时执行步骤5和步骤3。
9.如权利要求4所述的方法,其特征在于,该步骤4中,该客户端依照该频率发送该响应数据包至该服务器端。
10.一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于实现虚拟应用系统客户端对本地资源的访问,其特征在于,
该服务器端加载有被虚拟的应用程序,并且设置有虚拟资源控制管理器;
该被虚拟的应用程序在收到通过该虚拟通道传送来的调用客户端本地资源所产生的操作指令时,调用该虚拟资源控制管理器,该虚拟资源控制管理器将该操作指令转换为客户端本地资源请求指令,并将其通过该虚拟通道发送至该客户端;
该客户端具有本地资源控制管理器,用于根据该客户端本地资源请求指令调用客户端的本地资源,并将调用结果返回该服务器端。
11.如权利要求10所述的系统,其特征在于,该客户端通过调用返回、进程通信、事件通知的方式将调用结果返回该服务器端。
12.如权利要求10或11所述的系统,其特征在于,该客户端包括移动终端,该移动终端包括智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备。
13.一种在虚拟应用环境下改善用户体验的方法,用于在应用层实现虚拟应用系统的客户端支持其客户端外设,其特征在于,该方法应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:
步骤1,客户端将访问客户端的外设所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;
步骤2,该服务器端的被虚拟的应用程序根据该操作指令调用访问该外设的API调用指令;
步骤3,该服务器端拦截该API调用指令并将其通过客户端与服务器端间的虚拟通道发送至该客户端;
步骤4,该客户端解析该API调用指令,封装成该客户端的操作系统所能识别的API调用指令;
步骤5,该客户端根据该操作系统所能识别的API调用指令在应用层访问相应的外设。
14.如权利要求13所述的方法,其特征在于,该步骤3进一步包括:该API调用指令被调用时触发该服务器端的应用HOOK,该应用HOOK拦截该API调用指令,不发送至该服务器端的设备驱动。
15.如权利要求13所述的方法,其特征在于,该API调用指令包括访问外设所用的API名称及调用参数。
16.如权利要求13所述的方法,其特征在于,该步骤3进一步包括:该服务器端在应用层内部或者外部拦截该API调用指令。
17.如权利要求13所述的方法,其特征在于,该步骤5进一步包括:该操作系统所能识别的API调用指令被发送往客户端的操作系统,据以产生I/O请求,该I/O请求被发送往与该外设对应的客户端的设备驱动,该设备驱动调用客户端的设备总线驱动,以产生外设控制指令并发送到客户端的设备控制器,该设备控制器根据该外设控制指令完成对该外设的调用。
18.一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于在应用层实现虚拟应用系统的客户端可支持其客户端外设,其特征在于,包括:
该服务器端设置有被虚拟的应用程序以及拦截模块,该被虚拟的应用程序根据该服务器端所接收到的访问客户端的外设所产生的操作指令调用访问该外设的API调用指令,该拦截模块拦截该API调用指令并将其通过客户端与服务器端间的虚拟通道发送至该客户端;
该客户端设置有设备控制管理器,该设备控制管理器解析该API调用指令,封装成该客户端的操作系统所能识别的API调用指令,借以在应用层访问相应的外设。
19.如权利要求18所述的系统,其特征在于,该拦截模块为应用HOOK,该API调用指令被发出时触发应用HOOK,该应用HOOK拦截该API调用指令,不发送至该服务器端的设备驱动。
20.如权利要求18所述的系统,其特征在于,该API调用指令包括访问外设所用的API名称及调用参数。
21.如权利要求18所述的系统,其特征在于,该客户端还包括设备驱动、设备总线驱动以及设备控制器,该操作系统所能识别的API调用指令被发送往客户端的操作系统,产生I/O请求,该I/O请求被发送往与该外设对应的设备驱动,该设备驱动调用设备总线驱动,产生外设控制指令并发送到设备控制器,该设备控制器根据该外设控制指令完成对该外设的调用。
22.如权利要求18所述的系统,其特征在于,该服务器端安装有该外设的驱动程序和使用该外设的应用程序。
23.一种在虚拟应用环境下改善用户体验的方法,用于在驱动层实现虚拟应用系统的客户端支持其客户端外设,其特征在于,该方法应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:
步骤1,该客户端将其所连接的所有外设的外设信息发送至该服务器端;
步骤2,该客户端将用户操作客户端的一外设所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;
步骤3,该服务器端根据该操作指令产生调用该外设的I/O请求数据包;
步骤4,该服务器端根据该外设信息判断该I/O请求数据包是否用于调用该客户端的外设,对调用该客户端的外设的I/O请求数据包进行拦截,通过该虚拟通道将其转发至该客户端;
步骤5,该客户端依据该I/O请求数据包,驱动该外设。
24.如权利要求23所述的方法,其特征在于,该步骤1进一步包括:
步骤11,该客户端的设备控制管理器加载用户选择的所有外设的虚拟设备驱动;
步骤12,该客户端的设备控制管理器将用户选择的所有外设的该外设信息发送至该服务器端的虚拟设备控制管理器,该虚拟设备控制管理器通知该服务器端的虚拟设备总线驱动拦截与该外设有关的指令。
25.如权利要求24所述的方法,其特征在于,该步骤3进一步包括:
该服务器端根据该操作指令发出访问外设的API调用指令,将该API调用指令转换为I/O请求数据包,发送该I/O请求数据包至服务器端的设备驱动,该设备驱动调用该虚拟设备总线驱动。
26.如权利要求25所述的方法,其特征在于,该步骤5进一步包括:
该客户端的设备控制管理器接收该I/O请求数据包并调用该客户端的虚拟设备驱动,该虚拟设备驱动将该I/O请求数据包发送到该客户端的设备总线驱动,该设备总线驱动产生外设控制命令并发送到客户端的设备控制器,该设备控制器根据该外设控制命令驱动该外设。
27.如权利要求23所述的方法,其特征在于,该步骤4在的拦截步骤包括在虚拟设备总线上拦截或者以过滤驱动的方式拦截。
28.如权利要求23所述的方法,其特征在于,该步骤5之后还包括:该客户端将该外设的运行处理结果通过该虚拟通道传回该服务器端的虚拟设备总线驱动,该虚拟设备总线驱动将该运行处理结果反馈给服务器端的被虚拟的应用程序。
29.一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于在驱动层实现虚拟应用系统的客户端支持其客户端外设,其特征在于,
该客户端包括设备控制管理器,该设备控制管理器将该客户端所连接的所有外设的外设信息发送至该服务器端;
该服务器端包括虚拟设备控制管理器以及虚拟设备总线驱动,该虚拟设备控制管理器接收该外设信息,该虚拟设备总线驱动用于根据该外设信息拦截与该外设有关的指令;
该服务器端的操作系统根据传送到该服务器端的用户操作该客户端的一外设所产生的操作指令,产生调用该外设的I/O请求数据包;
其中,该虚拟设备总线驱动根据该外设信息判断该I/O请求数据包是否用于调用该客户端的外设,对调用该客户端的外设的I/O请求数据包进行拦截,通过该虚拟通道将该I/O请求数据包转发至该客户端,供该客户端依据该I/O请求数据包,驱动该外设。
30.如权利要求29所述的系统,其特征在于,该客户端还包括虚拟设备驱动、设备总线驱动、设备控制器,该客户端的设备控制管理器接收该I/O请求数据包并调用该客户端的虚拟设备驱动,该虚拟设备驱动将该I/O请求数据包发送到该客户端的设备总线驱动,该设备总线驱动产生外设控制命令并发送到客户端的设备控制器,该设备控制器根据该外设控制命令驱动该外设。
31.如权利要求29所述的系统,其特征在于,该虚拟设备总线驱动通过在虚拟设备总线上拦截或者过滤驱动的方式进行拦截。
32.如权利要求29所述的系统,其特征在于,该服务器端安装有该外设的驱动程序和使用该外设的应用程序。
CN201410216436.4A 2010-12-22 2011-12-22 在虚拟应用环境下改善用户体验的方法及虚拟应用系统 Pending CN104038535A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410216436.4A CN104038535A (zh) 2010-12-22 2011-12-22 在虚拟应用环境下改善用户体验的方法及虚拟应用系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201010601581.6 2010-12-22
CN201010601581 2010-12-22
CN201410216436.4A CN104038535A (zh) 2010-12-22 2011-12-22 在虚拟应用环境下改善用户体验的方法及虚拟应用系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2011104351520A Division CN102685196A (zh) 2010-12-22 2011-12-22 在虚拟应用环境下改善用户体验的方法及虚拟应用系统

Publications (1)

Publication Number Publication Date
CN104038535A true CN104038535A (zh) 2014-09-10

Family

ID=46816555

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410216436.4A Pending CN104038535A (zh) 2010-12-22 2011-12-22 在虚拟应用环境下改善用户体验的方法及虚拟应用系统
CN2011104351520A Pending CN102685196A (zh) 2010-12-22 2011-12-22 在虚拟应用环境下改善用户体验的方法及虚拟应用系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2011104351520A Pending CN102685196A (zh) 2010-12-22 2011-12-22 在虚拟应用环境下改善用户体验的方法及虚拟应用系统

Country Status (1)

Country Link
CN (2) CN104038535A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461731A (zh) * 2014-10-23 2015-03-25 杭州华三通信技术有限公司 一种动态资源扩展中虚拟机资源回收方法和装置
CN105653936A (zh) * 2014-11-12 2016-06-08 江苏威盾网络科技有限公司 一种基于网络沙盒技术的桌面虚拟化系统及方法
CN107291460A (zh) * 2017-06-06 2017-10-24 深圳Tcl新技术有限公司 电视终端及编译服务器代码控制方法和存储介质
CN110297976A (zh) * 2019-06-26 2019-10-01 百度在线网络技术(北京)有限公司 基于云检索的推荐方法、装置、设备及可读存储介质
CN110769048A (zh) * 2019-10-17 2020-02-07 山东乾云启创信息科技股份有限公司 本地与远程虚拟桌面的无缝衔接方法及系统
CN110865870A (zh) * 2019-11-14 2020-03-06 北京西山居互动娱乐科技有限公司 一种基于钩子技术的应用调用方法及装置
CN111569417A (zh) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 一种云游戏的外设数据传输方法及系统

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051695B (zh) * 2012-12-13 2015-12-02 广东好帮手电子科技股份有限公司 一种利用手机对车载应用软件进行信息输入的方法及系统
CN103186405B (zh) * 2013-02-25 2016-05-11 北京网御星云信息技术有限公司 一种实现设备的统一控制方法和装置
CN103218321A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 基于一体机的端口映射方法
CN103269370A (zh) * 2013-05-22 2013-08-28 北京奇虎科技有限公司 浏览器扩展推荐的显示方法、客户端、服务器及系统
CN103390141A (zh) * 2013-06-28 2013-11-13 无锡华御信息技术有限公司 一种防止对屏幕拍照的反泄密方法
CN103886198B (zh) * 2014-03-17 2016-12-07 腾讯科技(深圳)有限公司 一种数据处理的方法、终端、服务器及系统
CN104202119B (zh) * 2014-08-26 2018-04-27 联想(北京)有限公司 一种数据发送方法、系统及电子设备
CN104639636A (zh) * 2015-02-06 2015-05-20 黎建军 一种基于移动车辆的智能化信息管理系统
CN107432050B (zh) * 2015-03-27 2021-03-30 华为技术有限公司 一种移动终端、基站、系统及运行应用的方法
CN105846863B (zh) * 2016-05-31 2019-07-05 青岛海信电器股份有限公司 一种基于蓝牙的操作方法及设备
CN106970717A (zh) * 2017-03-24 2017-07-21 海马云(天津)信息技术有限公司 服务器文本信息输入的方法和装置
CN108038729B (zh) * 2017-12-18 2022-01-11 Oppo广东移动通信有限公司 奖励发放方法、装置以及服务器
CN108197976B (zh) * 2017-12-18 2022-03-18 Oppo广东移动通信有限公司 奖励发放方法、装置以及服务器
CN108199926A (zh) * 2018-01-31 2018-06-22 维沃移动通信有限公司 一种移动终端虚拟系统的搭建方法、相关设备及系统
CN111324216B (zh) * 2020-02-19 2024-05-14 北京视博云信息技术有限公司 云端应用的字符输入方法、装置及系统
CN111818085B (zh) * 2020-07-24 2022-10-21 广州彩熠灯光股份有限公司 以太网的图形显示系统、处理显示方法、服务端及客户端
CN112748831A (zh) * 2020-12-23 2021-05-04 湖南麒麟信安科技股份有限公司 一种通过桌面快捷方式打开虚拟应用的方法、装置及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575458A (zh) * 2001-08-22 2005-02-02 皮尔雷斯系统公司 用于能够对专用网络资源进行访问的输出管理系统和方法
CN1829220A (zh) * 2005-03-04 2006-09-06 联想(北京)有限公司 一种具有存储功能的usb设备在网络计算机上的映射方法
CN1841285A (zh) * 2005-03-28 2006-10-04 联想(北京)有限公司 一种网络计算机远程监控的方法
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
CN101841761A (zh) * 2010-02-09 2010-09-22 北京华夏未来信息技术有限公司 用于移动通信网络的www内容发布方法、运营方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1319001C (zh) * 2001-09-27 2007-05-30 雅虎公司 互联网关键字的解析方法及系统
US7554685B2 (en) * 2002-07-26 2009-06-30 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus, program execution method and program producing method
CN100438435C (zh) * 2005-10-12 2008-11-26 腾讯科技(深圳)有限公司 一种限制浏览器访问网络地址的方法
US8159495B2 (en) * 2006-06-06 2012-04-17 Microsoft Corporation Remoting sub-pixel resolved characters
CN101472236A (zh) * 2007-12-26 2009-07-01 北京华夏未来信息技术有限公司 一种应用系统发布的方法和装置
CN102405461A (zh) * 2009-04-21 2012-04-04 迪吉多电子股份有限公司 服务器装置、服务器-客户端系统、服务器程序及记录有该服务器程序的记录介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575458A (zh) * 2001-08-22 2005-02-02 皮尔雷斯系统公司 用于能够对专用网络资源进行访问的输出管理系统和方法
CN1829220A (zh) * 2005-03-04 2006-09-06 联想(北京)有限公司 一种具有存储功能的usb设备在网络计算机上的映射方法
CN1841285A (zh) * 2005-03-28 2006-10-04 联想(北京)有限公司 一种网络计算机远程监控的方法
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
CN101841761A (zh) * 2010-02-09 2010-09-22 北京华夏未来信息技术有限公司 用于移动通信网络的www内容发布方法、运营方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461731A (zh) * 2014-10-23 2015-03-25 杭州华三通信技术有限公司 一种动态资源扩展中虚拟机资源回收方法和装置
CN104461731B (zh) * 2014-10-23 2018-06-15 新华三技术有限公司 一种动态资源扩展中虚拟机资源回收方法和装置
CN105653936A (zh) * 2014-11-12 2016-06-08 江苏威盾网络科技有限公司 一种基于网络沙盒技术的桌面虚拟化系统及方法
CN107291460A (zh) * 2017-06-06 2017-10-24 深圳Tcl新技术有限公司 电视终端及编译服务器代码控制方法和存储介质
CN107291460B (zh) * 2017-06-06 2021-02-05 深圳Tcl新技术有限公司 电视终端及编译服务器代码控制方法和存储介质
CN110297976A (zh) * 2019-06-26 2019-10-01 百度在线网络技术(北京)有限公司 基于云检索的推荐方法、装置、设备及可读存储介质
CN110769048A (zh) * 2019-10-17 2020-02-07 山东乾云启创信息科技股份有限公司 本地与远程虚拟桌面的无缝衔接方法及系统
CN110769048B (zh) * 2019-10-17 2022-04-05 山东乾云启创信息科技股份有限公司 本地与远程虚拟桌面的无缝衔接方法及系统
CN110865870A (zh) * 2019-11-14 2020-03-06 北京西山居互动娱乐科技有限公司 一种基于钩子技术的应用调用方法及装置
CN110865870B (zh) * 2019-11-14 2022-08-12 北京西山居互动娱乐科技有限公司 一种基于钩子技术的应用调用方法及装置
CN111569417A (zh) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 一种云游戏的外设数据传输方法及系统

Also Published As

Publication number Publication date
CN102685196A (zh) 2012-09-19

Similar Documents

Publication Publication Date Title
CN104038535A (zh) 在虚拟应用环境下改善用户体验的方法及虚拟应用系统
CN101889427B (zh) 用于移动通信网络的应用系统发布方法及系统
US8738815B2 (en) System and method for virtualizing the peripherals in a terminal device to enable remote management via removable portable media with processing capability
CN108829528B (zh) 内容分享方法和装置、消息处理方法和装置
US6119155A (en) Method and apparatus for accelerating navigation of hypertext pages using compound requests
US9935813B2 (en) Virtual window screen rendering using application connectors
CN100463469C (zh) 在多通道上共享应用程序会话信息的方法、装置和系统
US8103738B2 (en) Micro-client for internet appliance
US8762544B2 (en) Selectively communicating data of a peripheral device to plural sending computers
CN104363226B (zh) 一种登录操作系统的方法、装置及系统
CN101676875A (zh) Linux终端无缝访问远程Windows应用程序的方法及其装置
US6738027B1 (en) Method and apparatus for configuration using a portable electronic configuration device
EP1902378A1 (en) A method and system of computer remote control that optimized for low bandwidth network and low level personal communication terminal device
US6526439B1 (en) Method and apparatus for accelerating navigation of hypertext pages using compound requests
CN105812421A (zh) 一种基于Android平台的远程控制方法及装置
CN103513858A (zh) 远程协助方法及装置
CN103108016A (zh) 于虚拟桌面开启文档的云系统以及于虚拟桌面开启文档的方法
CN111831947B (zh) 应用系统、数据处理方法、计算机系统和存储介质
CN107643930A (zh) 应用运行方法及云服务器
CN107133101A (zh) IoT系统中的自适应计算迁移中间件
CN112099888A (zh) 画面显示方法、系统和零终端
EP1043649A2 (en) Method and apparatus for dynamically configuring device using device code
US7827329B2 (en) Character interactive input/output
CN102968807B (zh) 图像自动生成方法和系统
CN110673970A (zh) 一种基于web应用的跨进程调用系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100085 room B, block B307, No. 9, 3rd Street, Beijing, Haidian District

Applicant after: Beijing Huaxia future information technology Limited by Share Ltd

Address before: 100085 room B, block B307, No. 9, 3rd Street, Beijing, Haidian District

Applicant before: Beijing ChinaFuture Information Technology Inc.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: BEIJING CHINAFUTURE INFORMATION TECHNOLOGY INC. TO: BEIJING CHNFUTURE INFORMATION TECHNOLOGY CO., LTD.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140910