CN103842982B - 用于本地生成的手势和过渡图形与终端控制服务的交互的方法和系统 - Google Patents

用于本地生成的手势和过渡图形与终端控制服务的交互的方法和系统 Download PDF

Info

Publication number
CN103842982B
CN103842982B CN201280034077.XA CN201280034077A CN103842982B CN 103842982 B CN103842982 B CN 103842982B CN 201280034077 A CN201280034077 A CN 201280034077A CN 103842982 B CN103842982 B CN 103842982B
Authority
CN
China
Prior art keywords
screen data
terminal device
client terminal
renewal
data
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.)
Expired - Fee Related
Application number
CN201280034077.XA
Other languages
English (en)
Other versions
CN103842982A (zh
Inventor
S·D·维尔克
P·欣克斯
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 CN103842982A publication Critical patent/CN103842982A/zh
Application granted granted Critical
Publication of CN103842982B publication Critical patent/CN103842982B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • 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
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

用于实现本地生成的过渡图形与虚拟化主机计算机服务的交互的方法和系统包括在客户端装置的显示装置处接收由用户发布以控制当前在显示装置处呈现的屏幕数据的控制命令。将控制命令传输到主机计算机服务以用于处理。主机计算机服务处理控制命令并返回更新屏幕数据到客户端装置。响应于接收到更新屏幕数据,客户端装置识别与控制命令相关联的期望屏幕效果。在客户端装置处将从主机计算机服务接收的更新屏幕数据同与期望屏幕效果相关联的数据一起封装,以在客户端装置处生成视觉响应。响应于控制命令,将封装的屏幕效果返回到显示装置以用于呈现。

Description

用于本地生成的手势和过渡图形与终端控制服务的交互的方 法和系统
技术领域
本发明涉及实现客户端装置与远程服务器装置之间的内容通信,并且更具体地,使得能够针对由远程服务器装置提供的内容在客户端装置处本地生成过渡图形。
背景技术
随着瘦客户端和智能终端的出现和日益普及,各种技术已经演进为在这些装置上提供服务。利用远程控制服务的技术(例如终端服务,应用发布,终端仿真器等)被用于发送图像数据到终端或瘦客户端。图像数据在瘦客户端/终端上被本地呈现,以及来自终端/瘦客户端的命令/反馈被发送回到下层的基于服务器的操作系统(OS)以用于解释。结果,通过终端协议发送给瘦客户端/终端的任何图形交互仅在原始的OS上生成。尽管一些交互(例如本地鼠标呈现)被本地进行,但是这种交互在价值上是有限的。
随着共享服务的普及度的上升,越来越多的应用被移入“云”中以用于共享。随着更多的装置(例如平板以及智能电话)被生成并且更多与终端服务相关的应用被移到云,在主要作为经典的基于桌面的系统的云OS与从边缘平板/智能电话装置期望的默认体验之间形成了分歧。例如,智能电话和平板装置包括诸如过渡、刷(swipe)手势等的特征,而基于云的OS图形主要是单页面刷新、视频、滚动页面等。
一种解决该分歧的方式是尝试这种过渡/手势等并将这种过渡/手势等嵌入到在云OS上执行的传统桌面应用中。然而,从开发立场和网络资源立场上已经证明这种努力是非常高成本的。例如,所有在云OS处针对终端服务生成的过渡必须通过网络传输到平板/智能电话装置,从而导致巨大的数据突发的传输,导致更高的带宽使用率。这意味着:改变/移动的屏幕数据的每个单个像素必须从基于云的应用传输到边缘设备(例如平板电脑,智能电话等)处的终端服务。
在允许在不对在服务器上执行的应用进行改变的情况下执行针对边缘装置而设计的特征时,最小化网络资源使用率将是有利的。在保持并服务于来自中央位置的内容时,允许在边缘装置处本地发生过渡也将是有利的。将客户端-服务器执行层与用户交互层分离以提供具有对在云OS上执行的应用的部分的最小改变的更高成本效益的技术也将是有利的。
正是在该背景下,本发明的实施例出现。
发明内容
本发明的实施例提供了用于使本地生成的过渡图形能够与在云中执行的虚拟化主机计算机服务进行交互的方法和系统。为了提供用于提供本地生成的过渡图形的高效技术,传统地在云上执行的应用被分为两个元件——客户端侧或边缘装置应用元件以及在云OS上执行的服务器侧应用元件。客户端侧应用被配置为提供低价值数据、本地过渡以及高速缓存离线功能,而服务器侧应用被配置为提供高价值事务、安全数据、高性能所需数据等。在客户端侧应用与服务器侧应用元件之间建立通信接口。具体地,技术/应用(例如终端服务应用,虚拟桌面应用等)提供了用于处理从服务器侧应用到客户端侧应用元件以及到本地客户端装置处的控制系统(例如手势控制器)的通信的接口。
各种实施例考虑来自用户或应用逻辑的改变在客户端装置的显示装置上呈现的屏幕的请求。在一个实施例中,应用逻辑请求是从在云中操作的服务器上执行的服务器侧应用接收的。在另一个实施例中,通过显示装置处或客户端装置的显示部分处的用户交互来获得屏幕调整请求。响应于该请求,向客户端装置实行指示客户端侧应用执行过渡效果的通信,该过渡效果严格按照在客户端装置的显示装置处更新和显示变化的屏幕的相关部分的请求而编排。
若干不同实施例此处作为示例而提出。
在一个实施例中,公开了一种用于使本地生成的过渡图形能够与虚拟化主机计算机服务进行交互的处理器实现方法。该方法包括在客户端装置的显示装置处接收控制命令。该控制命令由用户发布以控制当前在显示装置处呈现的屏幕数据。在客户端装置处识别与该控制命令相关联的手势的期望屏幕效果。以输入命令的形式,将该控制命令传输到主机计算机服务以用于处理。在主机计算机服务处处理该控制命令,并且将针对当前在显示装置处呈现的屏幕数据的更新屏幕数据传输到客户端装置。在客户端装置处接收更新屏幕数据。将从主机计算机服务接收的更新屏幕数据同与在客户端装置处识别的期望手势相关联的数据(例如,提供期望屏幕效果的过渡图形)一起封装,以在客户端装置处生成视觉响应。响应于该控制命令,将封装的屏幕效果返回给显示装置以进行呈现。封装的屏幕效果包括在更新屏幕数据的呈现期间提供视觉响应的过渡图形。
在另一个实施例中,公开了一种用于使本地生成的手势和过渡图形能够与虚拟化主机计算机服务进行交互的处理器实现方法。该方法包括在客户端装置的显示装置处接收选择命令。该选择命令由用户发布,请求对当前在显示装置处呈现的当前屏幕数据的更新。将该选择命令传输到主机计算机服务以用于处理。主机计算机服务处理该选择命令并将更新屏幕数据传输到客户端装置。除了更新屏幕数据,在服务器处还针对更新屏幕数据识别期望手势,并将期望手势与更新屏幕数据一起传输给客户端。客户端装置接收更新屏幕数据以及期望手势,其需要将与来自主机计算机服务的更新屏幕数据一起呈现的视觉响应。期望手势支配要对当前在显示装置处呈现的屏幕数据进行的调整,以包括针对该手势的期望屏幕效果。客户端装置识别期望屏幕效果,其能够提供针对该手势的视觉响应。在客户端装置处,将更新屏幕数据同与用于生成视觉响应的期望屏幕效果相关联的数据一起封装。响应于该选择命令,将封装的数据返回给显示装置以进行呈现。封装的数据的呈现包括在更新屏幕数据的呈现期间与期望手势相关的屏幕效果过渡的呈现。
在又一个实施例中,公开了一种用于实现本地生成的手势和过渡图形与虚拟化主机计算机服务的交互的系统。该系统包括虚拟化主机计算机服务的服务器以及具有用于呈现屏幕数据的显示装置的客户端装置。服务器执行服务器侧应用,该服务器侧应用被配置为从客户端装置的显示装置接收控制命令。该控制命令由用户发布以控制当前在显示装置处呈现的屏幕数据。服务器侧应用还被配置为处理该控制命令来识别更新屏幕数据,以返回到客户端装置来呈现。客户端装置执行客户端侧应用。客户端侧应用被配置为:(a)解释从接收装置获得的控制命令以识别与该控制命令相关联的期望手势;(b)传输手势命令给服务器侧应用以用于处理;(c)解释从服务器侧应用传输到显示装置的更新屏幕数据;(d)获取当前在显示装置处呈现的当前屏幕数据;(e)通过捆绑当前屏幕数据、更新屏幕数据以及提供期望屏幕效果的过渡图形来生成封装的屏幕数据,以生成针对期望手势的视觉响应;以及(f)将封装的屏幕数据返回给客户端装置的显示装置以进行呈现,其中封装的屏幕数据包括提供从当前屏幕数据到更新屏幕数据的过渡的具有期望屏幕效果的过渡图形。
通过结合附图和权利要求作出的以下详细描述,本发明将易于理解。
附图说明
通过结合附图的以下详细描述,本发明将易于理解。
图1图示了本发明的一个实施例中的标识各个模块以及系统内的各个模块之间的交互的简化框图,该交互用于实现更新屏幕数据的通信以及提供本地生成的手势和过渡图形。
图2a标识了本发明的一个实施例中的通过系统的各个模块和组件的信息流程。
图2b标识了本发明的可替换实施例中的通过系统的各个模块和组件的信息流程。
图3a图示了本发明的一个实施例中的被遵循以在客户端处更新屏幕数据的过程。
图3b图示了本发明的一个实施例中的在屏幕数据更新的传输期间随时间的数据分布。
图4图示了本发明的一个实施例中的实现本地生成的手势和过渡图形与虚拟化主机计算机服务的交互所涉及的各个步骤的处理流程图。
图5图示了本发明的可替换实施例中的实现本地生成的手势和过渡图形与虚拟化主机计算机服务的交互所涉及的各个步骤的处理流程图。
具体实施方式
现在将描述用于在虚拟环境内实现本地生成的手势和过渡图形与虚拟化主机计算机服务的交互的若干示例性实施例。对于本领域技术人员来说将显而易见的是,本发明可以在没有此处阐明的某些或全部特定细节的情况下实践。尽管参考虚拟环境全面地描述了实施例,但是本发明的教导可以扩展到常规的计算环境,例如客户端-服务器环境。
本发明定义了实现在客户端装置处本地生成手势和过渡图形与云中的虚拟化主机计算机服务进行交互的方法和系统。图1图示了在实现本地生成的手势和过渡图形与主机计算机服务的交互时使用的系统的简化示意。虚拟化主机计算机服务包括执行服务器侧应用(1.3b)的服务器(1.6),该服务器侧应用(1.3b)被配置为处理包括高性能需求的高价值事务并提供安全数据。在一个实施例中,服务器可以在执行云OS的虚拟机(例如服务器虚拟机)上执行。基于数据中心的应用的部分在服务器虚拟机上执行。在一个实施例中,基于数据中心的应用包括两个组件。在服务器虚拟机上提供的第一组件被配置为执行客户端-服务器处理,以及,第二组件在客户端装置上提供,并被配置为执行用户交互处理。作为在服务器(1.6)上执行的服务器侧应用(1.3b)的第一组件进行所有重载数据处理。在一个实施例中,服务器执行云操作系统(OS)。服务器侧应用(1.3b)通过主机服务应用接口(1.5)与客户端装置(1.1)交互。服务器侧应用(1.3b)还与服务器上的数据库(1.7)交互,以获得用于处理的数据。数据库(1.7)也被客户端装置使用以存储与手势命令相关的信息。
客户端装置(1.1)使用有线或无线连接而被连接到因特网。客户端装置(1.1)可以采取任何数量的形式。客户端装置的示例包括计算机、膝上型电脑、个人计算机、平板计算装置、移动计算装置(例如平板计算装置)、智能电话、个人数字助理等等。客户端装置(1.1)采取基于数据中心的应用的第二组件,该第二组件被表示为客户端侧应用元件(1.3a),以在客户端装置(1.1)处执行本地处理。第二组件被配置为处理低价值数据、高速缓存离线功能并生成本地过渡。
在一个实施例中,在客户端装置(1.1)中提供了终端服务类型的应用(1.4),用于客户端和服务器装置之间的通信。终端服务应用(1.4)提供客户端装置(1.1)和服务器(1.6)之间的客户端侧接口。客户端处的终端服务应用(1.4)通过主机服务应用接口(1.5)与服务器(1.6)通信。终端服务应用还与本地客户端中的其他组件和客户端侧应用元件一起处理来自和去往客户端装置中的控制系统(例如手势控制系统)的通信。结果是客户端装置和主机计算机服务之间的通信,其中客户端装置提供严格按照在客户端装置的显示装置处更新和显示变化的屏幕的相关部分的请求而编排的过渡效果。在可替换实施例中,可以使用虚拟机接口来代替终端服务应用,以提供用于客户端和服务器装置之间的通信的客户端侧接口。
云OS主要是运行WindowsTM等OS的经典的基于桌面的服务。结果,由执行云OS的服务器提供的任何数据包括单页面刷新、页面滚动、视频等,且不具有较新的边缘装置被配置以提供的与手势相关联的动画特征,例如翻页、手指刷等。此处描述的各个实施例提供了用于将在客户端边缘装置(例如智能电话,平板等)中可用的较新的功能(例如手势,图形过渡)与从在主机计算机服务上执行的远程应用接收的屏幕数据进行整合而不必修改远程应用的方式。进一步地,在本地客户端装置处提供手势和过渡图形,导致网络资源上的负载减少,这是因为网络负载仅处理对屏幕数据的更新/改变,而不是过渡图形。针对期望手势的过渡图形标识了在更新屏幕数据的呈现期间在显示装置处提供视觉响应的期望屏幕效果。这导致网络资源的最优使用。
本发明的其他方面将从结合通过示例的方式图示本发明原理的附图作出的以下详细描述中变得显而易见。
图2a图示了用于更新需要过渡事件的屏幕的数据流程序列。在一个实施例中,在显示装置处接收的用户交互触发更新在客户端装置的显示装置处呈现的屏幕的请求。在一个实施例中,用户交互具有控制命令(2a.1)的形式,例如页面向下、页面向上、向左刷、向右刷等,其由用户发布以用于控制当前在显示装置处呈现的屏幕数据。控制命令通过参考在客户端装置处保持的映射表来识别由用户指定的期望手势。映射表将各种控制命令映射到由键盘和鼠标命令定义的不同手势。将参考图3a来描述关于识别期望手势的更多细节。然后,期望手势命令由本地终端通过反向信道服务作为输入命令(即键盘/鼠标命令)传输到主机服务以用于处理。
与本地终端服务应用对接的主机服务应用从客户端装置(2a.2)接收具有输入命令形式的手势命令,并发送输入命令给服务器侧应用。服务器侧应用处理输入命令以识别适当的应用工作负荷作为屏幕更新数据。在一个实施例中,服务器侧应用可以查询对服务器(即主机应用服务)来说可用的服务器数据库,以获得与屏幕更新相关的工作负荷。
对屏幕更新工作负荷(即数据)进行封装并将其返回到客户端装置的显示装置以用于本地呈现。封装的屏幕更新被配置为在工作负荷中绘制屏幕更新作为单个更新。此外,封装的屏幕更新包括对客户端装置上的本地应用(即客户端侧应用)基于控制命令生成用于在呈现更新屏幕数据时执行过渡的过渡数据的请求。过渡数据标识了期望屏幕效果,其在客户端装置的显示装置处生成视觉响应。
客户端侧应用拦截封装的屏幕更新并编排针对屏幕更新的过渡。客户端侧应用识别用于实现期望手势的一个或多个过渡图形(即屏幕效果)。应该注意的是,过渡图形能够根据在实现手势时使用的技术以及根据客户端装置而不同。不管所使用的技术或客户端装置如何,客户端侧应用都将识别在封装的屏幕更新中接收的更新屏幕数据,并将过渡图形与更新屏幕数据进行整合。
在一个实施例中,客户端侧应用在客户端装置中的第一本地缓存中存储当前在客户端装置的显示装置上呈现的屏幕数据。客户端侧应用还接收封装的屏幕数据到客户端装置内的第二本地缓存中以用于进一步处理。在一个实施例中,在接收到封装的屏幕数据时,客户端侧应用从第一本地缓存中获取当前屏幕数据以及从第二本地缓存中获取封装的屏幕数据,并在客户端装置处本地生成需要的过渡图形。在一个实施例中,客户端侧应用识别当前和更新屏幕数据的不同帧,并在客户端装置处,在当前屏幕数据的最后一帧和更新屏幕数据的第一帧之间整合过渡图形。过渡图形提供期望屏幕效果,其在提供动画过渡时的呈现期间将旧的和新的帧混合在一起。被整合的过渡图形的一些示例包括交叉叠化、杂志翻页动画、简单替换等。
上述在旧的和新的屏幕数据之间整合过渡图形的技术不仅适用于整个页面刷新,还适用于刷新小门户窗口,其中可以使用相同或类似的技术来部署更适于小区域的过渡效果。
在图2b中图示的另一个实施例中,外部业务逻辑(2b.2b)可以触发在整个屏幕或部分屏幕刷新期间提供过渡图形的请求。这个实施例与图2a中图示的实施例的区别在于接收过渡请求的方式。在图2a中,针对屏幕刷新请求的请求是通过用户交互作为控制命令而提供的,而在图2b中的实施例中,屏幕刷新请求由被嵌入到外部应用中的外部业务逻辑提供。在一个实施例中,外部应用在执行云OS的云中的服务器上执行。将由外部应用触发的屏幕刷新请求转发到服务器上的主机服务以用于处理。在主机服务中执行的服务器侧应用识别该请求并与服务器侧数据库交互,以获得针对该请求的更新屏幕数据(2b.3)。在该实施例中,服务器侧应用还识别手势(2b.4)命令,该应用期望该手势(2b.4)命令与更新屏幕数据整合,以便当在客户端装置的显示装置处呈现时生成视觉响应。在该实施例中,映射表被保持在服务器上,将控制映射到手势。服务器侧应用查阅映射表以识别期望手势。服务器侧应用封装更新屏幕数据以及期望手势以生成封装的屏幕数据,并传输封装的屏幕数据到客户端装置以用于呈现。如参考图2a所提及的,客户端装置拦截封装的屏幕数据,识别用于提供针对与封装的屏幕数据一起接收的所识别的手势的期望屏幕效果的过渡图形,并在合适的位置处合并过渡图形,以在更新屏幕数据被呈现在客户端装置处时生成视觉响应。在一个实施例中,期望的动画通过在当前呈现的屏幕数据和更新屏幕数据的帧之间整合过渡图形将当前呈现的屏幕数据与更新屏幕数据进行混合。在另一个实施例中,在更新屏幕数据的呈现之前、期间或之后呈送期望的动画。
传统的应用可以被视为客户端系统与应用执行系统之间的交互。在传统的系统中,在客户端装置处捕获控制命令,并解释该控制命令以识别输入命令,例如键盘/鼠标命令。将输入命令传输到在云中的服务器上执行的基于数据中心的应用。基于数据中心的应用主要是不具备任何动画的经典的基于桌面的应用。服务器处理请求,识别更新屏幕数据,并直接将更新屏幕数据转发到显示装置以用于呈现。根据当前在显示装置上呈现的数据的类型,将更新屏幕数据呈现在显示装置上作为单页面刷新或滚动或视频。另一方面,本发明的各个实施例提供了用于拦截直接向着显示装置的更新屏幕数据以及在客户端装置处修改更新屏幕数据以包括期望过渡图形并将修改后的屏幕数据返回到显示装置的方式。修改后的屏幕数据包括屏幕效果特征,其通常可能对服务器装置中的应用来说不可用,但是可以在客户端装置处可用。
图3a图示了本发明的一个实施例中的在提供过渡图形与终端控制服务的交互时使用的过程。使用客户端装置的显示装置来呈现当前屏幕数据。由客户端侧应用捕获显示装置处的用户交互。作为控制当前在显示装置上呈现的屏幕数据的控制命令来接收用户交互。在一个实施例中,由客户端侧应用使用被保持在客户端装置处的映射表来解释控制命令。映射表将控制命令映射到期望手势。例如,“向左刷”命令可以被映射到“页面向下”手势,“向右刷”命令可以被映射到“页面向上”手势,“向上刷”可以被映射到“鼠标轮向上”手势,“向下刷”命令可以被映射到“鼠标轮向下”手势等等。图3a中的映射表图示了被映射到一些手势的控制命令的采样。
对控制命令进行解释以便以输入命令形式识别期望手势命令,且通过客户端和服务器装置中的相应接口将输入命令(键盘/鼠标命令)传输到服务器侧应用。服务器侧应用识别与手势命令相关联的更新屏幕数据,并将更新屏幕数据作为要在显示装置处呈现的新的瞬时屏幕数据进行传输。在一个实施例中,更新屏幕数据被识别并作为帧缓冲数据而提供。对于关于获得帧缓冲数据以在客户端装置的显示装置上刷新屏幕数据的更多信息,可以参考共同拥有的2010年5月20日提交的名称为“Methods for Interfacing with aVirtualized Computing Service over a Network using a Lightweight Client”的美国专利申请号No.12/784,454以及于2010年5月20日提交的名称为“Systems andAlgorithm for Interfacing with a Virtualized Computing Service over a Networkusing a Lightweight Client”的美国专利申请No.12/784,468,这些美国专利申请以其整体通过引用合并在此。
更新屏幕数据从服务器到客户端装置的传输由短时间段上的带宽数据中的尖峰识别,如图3b中所示。客户端装置的操作系统(OS)检测在网络上到来的传输数据中的突发,并拖延在客户端装置的显示装置处呈现更新屏幕数据。取而代之,客户端装置OS拦截直接去往显示装置的新的更新瞬时屏幕数据,并将其转发到客户端侧应用以用于处理。在一个实施例中,客户端装置OS在拦截时将更新屏幕数据存储在本地缓存中。在这个实施例中,然后,客户端装置OS发送信号给客户端侧应用以指示可用于处理的新数据。在另一个实施例中,客户端装置OS直接转发更新屏幕数据到客户端侧应用,以用于在不存储在本地缓存中的情况下进行处理。客户端装置OS知道等待客户端侧应用在显示装置处呈现之前处理更新屏幕数据。用于等待的时间段可以等效于更新屏幕数据的传输所耗费的时间。在一个实施例中,客户端装置OS在与更新屏幕数据从服务器装置的传输所耗费的时间等效的时间段内发布等待命令。
在一个实施例中,在接收到由客户端装置OS转发的更新屏幕数据时,客户端侧应用查询并从本地缓存中获取当前在显示装置处呈现的当前屏幕数据,在该本地缓存处,在显示装置处呈现期间存储该当前屏幕数据。在一个实施例中,用于存储当前屏幕数据的本地缓存与存储更新屏幕数据的本地缓存不同。在另一个实施例中,当前屏幕数据和更新屏幕数据可以不同地存储在公共本地缓存中。
客户端侧应用还识别需要被包括以在呈现更新屏幕数据时提供针对期望手势的屏幕过渡效果的过渡图形。这个操作由图3a中的箭头‘A’指示。基于在用户交互中提供的手势命令来识别过渡图形。客户端侧应用将所获取的当前屏幕数据与更新屏幕数据以及用于提供屏幕效果的过渡图形进行捆绑,并将捆绑的屏幕数据转发到客户端装置OS。在一个实施例中,客户端装置OS通过允许过渡图形嵌入到当前屏幕数据的最后一帧和更新屏幕数据的第一帧之间,将简单控制命令(例如“页面向下”)转换为书,以在当前呈现的屏幕数据和新请求的更新屏幕数据之间提供生成视觉响应的期望过渡效果。这与传统方法不同,在传统方法中,服务器的桌面OS会将页面向上命令解释为意指先前的页面,并且更新屏幕数据将包括被直接返回给显示装置以在没有任何动画图形的情况下进行呈现的先前页面数据。过渡图形的拦截、解释以及整合都在客户端装置处本地完成。使用上面提及的方法,客户端侧应用可以提供下述能力:随着较新的特征在客户端装置处发展/可用以及当较新的特征在客户端装置处发展/可用时,合并较新的特征,以实现合并在服务器应用中通常不可用的这些特征的数据的呈现。不需要修改服务器上的应用以提供这些新特征。相反,在一个实施例中,如果需要的话,可以通过更新被保持在客户端装置以及客户端侧应用处的映射表来在客户端装置处提供所有的过渡动画。
在一个实施例中,可以生成新的服务器侧应用以处理客户端装置上的显示装置处的用户交互。服务器侧应用将识别需要与被传输给客户端装置的更新屏幕数据一起包括的必要手势命令。手势命令由客户端侧应用解释,以使用被保持在客户端装置处的映射表来定义期望过渡。手势命令由客户端侧OS处理,以提供需要的过渡图形,由此在显示装置处屏幕更新的呈现期间提供屏幕过渡效果。屏幕过渡效果生成当在客户端装置处呈现时适于从控制命令识别的期望手势的视觉响应。应该注意的是,在上面提及的实施例中,手势命令的解释和适当过渡图形的呈现基本上实时完成。
因此,当前实施例定义了下述方法:该方法允许将数据和分析应用服务从用户交互式和沉浸式技术分割,从而允许类似本机的客户端装置接口分层放置在传统的基于云的应用的顶部上,由此使得能够将在客户端装置处可用的新特征与在客户端装置的显示装置处呈现的屏幕数据进行合并。换句话说,服务器侧应用被允许操纵客户端-服务器处理,并且客户端侧应用被设计为操纵用户接口处理,其包括在显示装置处提供屏幕过渡效果的本地过渡。
图4图示了一个实施例中的用于使本地生成的过渡图形与虚拟化主机计算机服务进行交互的方法的处理流程。该方法在操作410处开始,其中在客户端装置的显示装置或显示部分处接收控制命令。控制命令可以通过显示装置处的用户交互而提供,其中,用户交互被设计为控制在其上呈现的屏幕数据。例如,用户交互可以包括在显示装置上呈现当前屏幕数据时在显示装置上手指向左、向右、向上或向下刷、手指触摸/轻叩等。通过客户端侧应用来捕获和解释用户交互,以识别手势命令。将具有输入命令形式的手势命令(例如键盘/鼠标命令)传输到主机计算机服务以用于处理,如在操作420中所示。在主机计算机服务内的服务器侧应用处处理手势命令,以及识别适当的更新屏幕数据,如在操作430中所示。服务器侧应用可以访问服务器侧数据库以基于从客户端装置接收的手势命令来识别和获取要传输到客户端装置的适当屏幕数据作为更新。响应于手势命令,将被识别的屏幕数据返回到客户端装置。
客户端装置的操作系统接收并拦截直接去往显示装置的更新屏幕数据,并将更新屏幕数据移交给客户端侧应用以用于进一步处理,如在操作440中所示。在一个实施例中,客户端装置OS在本地缓存(即第二本地缓存)中存储更新屏幕数据,并发送信号给客户端侧应用。响应于接收到的信号,客户端侧应用获取当前在显示装置处呈现的且存储在第一本地缓存中的当前屏幕数据以及来自第二本地缓存的更新屏幕数据,并将这两种屏幕数据与期望过渡图形一起捆绑,并转发捆绑的屏幕数据到客户端装置OS。如之前提及的,存储当前屏幕数据的本地缓存可以与用于存储更新屏幕数据的本地缓存不同。在另一个实施例中,单个本地缓存用于存储当前屏幕数据和更新屏幕数据两者。在这个实施例中,这两种屏幕数据不同地存储在公共本地缓存内。
客户端装置OS接收与过渡图形一起捆绑的屏幕数据,该过渡图形提供旧屏幕数据(即当前屏幕数据)和新屏幕数据(即更新屏幕数据)之间的期望手势所需的屏幕过渡效果,以在呈现屏幕数据时在显示装置处生成视觉响应。为了实行当前和更新屏幕数据之间的期望动画,客户端装置OS识别当前屏幕数据的最后一帧和更新屏幕数据的第一帧。然后,客户端装置OS在当前屏幕数据的最后一帧和更新屏幕数据的第一帧之间合并过渡图形,并生成包含当前屏幕数据、更新屏幕数据以及在两者之间合并的过渡图形的封装的屏幕数据,如在操作450中所示。将带有期望屏幕效果的封装的屏幕数据返回给显示装置以用于呈现,如在操作460中所示。所呈现的过渡图形生成将旧应用功能与在边缘装置(例如,边缘平板,智能电话等)处可用的新功能进行混合的视觉响应,而不必修改在服务器上执行的旧应用。
图5图示了本发明的另一个实施例中的用于实现本地生成的过渡图形与虚拟化主机计算机服务的交互的可替换方法。该方法在操作510处开始,其中,在客户端装置和显示装置处接收选择命令。选择命令是在显示装置处从用户接收的,其中用户在显示装置处呈现的屏幕上选择可用选项。将选择命令传输到主机计算机服务以用于处理,如在操作520中所示。选择命令由服务器侧应用处理以识别满足选择命令的屏幕数据。此外,服务器侧应用识别期望手势以用于与所识别的屏幕数据一起呈现。服务器侧应用返回更新屏幕数据,如在操作530中所示,以及,服务器侧应用将期望手势返回给客户端装置,以用于在客户端装置的显示装置上呈现,如在操作540中所示。可以使用在服务器装置处保持的映射表来识别期望手势。在更新屏幕数据的呈现期间,期望手势支配要在显示装置处进行的调整。
客户端装置OS拦截更新屏幕数据以及期望手势,并将数据和期望手势交给客户端侧应用以用于处理,该更新屏幕数据以及期望手势识别要在由服务器返回的更新屏幕数据的呈现期间包括的期望屏幕效果。客户端侧应用响应于从客户端装置OS接收到数据,识别与适合于更新屏幕数据的期望手势相对应的过渡图形(即期望屏幕效果),并将过渡图形信息与更新屏幕数据合并,并生成封装的屏幕数据,其包括针对期望手势的过渡图形,如在操作550中所示。
客户端装置OS接收带有过渡图形的封装的更新屏幕数据,并返回封装的屏幕数据以用于在显示装置处呈现,如在操作560中所示。封装的屏幕数据的呈现包括带有期望过渡图形的更新屏幕数据。过渡图形在更新屏幕数据的呈现期间生成视觉响应,从而丰富了用户在显示装置处的交互体验。
此处描述的各个实施例教导了允许在客户端装置处本地生成过渡、同时使用于呈现的内容能够被集中地服务的技术。实施例描述了为了实时处理过渡而在客户端装置和显示装置(即终端)之间的编排。过渡编排在客户端处利用从服务器侧接收的更新屏幕数据完成。这种形式的本地编排减少了网络资源上的压力,同时提供了利用在较新边缘装置内可用的较新用户接口设计特征的能力。
此处描述的各个实施例的屏幕数据可以具有使用帧缓冲处理技术的帧缓冲数据的形式,其优化了由远程主机计算机服务处理或预处理的数据的呈送。在一个实施例中,远程计算机装置可以是虚拟机,其处理数据或应用,并生成用于在呈现装置(例如客户端装置的显示装置)上显示的屏幕数据。此处描述的各个实施例中使用的客户端装置中的一些包括台式计算机、膝上型计算机、平板、智能电话、瘦或胖终端装置或者其他计算装置。对于描述帧缓冲数据的处理的更多信息,可以参考于2010年5月20日提交的名称为“Methods forInterfacing with a Virtualized Computing Service over a Network using a Lightweight Client”的中请No.12/784,454以及于2010年5月20日提交的名称为“Systems andAlgorithm for Interfacing with a Virtualized Computing Service over a Networkusing a Lightweight Client”的申请No.12/784,468,这些申请以其整体通过引用合并在此。
考虑到上述实施例,应当理解的是,本发明可以采用涉及在计算机系统中存储的数据的各种计算机实现操作。这些操作是需要物理量的物理操纵的那些操作。通常,但不必须,这些量采取能够被存储、传输、组合、比较以及以其他方式操纵的电或磁信号的形式。进一步地,所执行的操纵通常被称为诸如产生、识别、确定或比较之类的术语。
此处描述的形成本发明的一部分的任何操作都是有用的机器操作。本发明还涉及用于执行这些操作的装置或设备。该设备可以是为了需要的目的而特别构造的,或者其可以是由存储在计算机中的计算机程序选择性激活或配置的通用计算机。特别地,各种通用机器可以与根据此处的教导而编写的计算机程序一起使用,或者,构造更专门的设备以执行所需的操作可以是更方便的。
本发明还可以被体现为计算机可读介质上的计算机可读代码。计算机可读介质是能够存储数据的任何数据存储装置,该数据随后可以被计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附着存储器(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其他光学和非光学数据存储装置。计算机可读介质还可以分布在网络耦合计算机系统上,使得计算机可读代码以分布式的方式被存储和执行。
然而,对于本领域技术人员来说将显而易见的是,可以在没有这些特定细节中的一些或全部的情况下实践本发明。在其他的实例中,没有详细地描述公知的处理操作,以免不必要地混淆本发明。
尽管为了理解清楚的目的已经相当详细地描述了前述发明,但是将显而易见的是,可以在本发明的范围内实践特定的改变和修改。相应地,目前的实施例应被认为是说明性的而不是限制性的,且本发明不限于此处给出的细节,但是可以在本发明的范围内加以修改。

Claims (11)

1.一种用于使本地生成的过渡图形能够与虚拟化主机计算机服务进行交互的处理器实现方法,包括:
在客户端装置的显示装置处接收(410)控制命令,该控制命令由用户发布以控制当前在显示装置处呈现的屏幕数据;
其特征在于,该方法进一步包括:
在客户端装置处识别(420)与该控制命令相关联的键盘或鼠标命令;
将与该控制命令相关联的键盘或鼠标命令传输(430)到主机计算机服务以用于处理;
在客户端装置处接收(440)针对在显示装置处呈现的屏幕数据的更新屏幕数据,该更新屏幕数据是作为处理该键盘或鼠标命令的结果而从主机计算机服务传输的;
在客户端装置处将从主机计算机服务接收的更新屏幕数据同客户端装置处与控制命令相关联的数据一起封装(450),以在客户端装置处生成封装的屏幕数据;以及
响应于该控制命令,将封装的屏幕数据返回(460)给显示装置以进行呈现。
2.如权利要求1的方法,其中该更新屏幕数据是作为帧缓冲数据从虚拟化主机计算机服务接收的。
3.如权利要求1的方法,其中识别(420)键盘或鼠标命令包括:
使用在客户端装置的显示装置处接收的控制命令,在客户端装置处查询映射表;以及
从映射表中选择被映射到该控制命令的键盘或鼠标命令。
4.如权利要求1的方法,其中封装(450)更新屏幕数据进一步包括:
由客户端装置拦截由主机计算机服务传输到显示装置的更新屏幕数据;
在客户端装置处获取与针对控制命令的过渡图形相关的数据;以及
将更新屏幕数据与针对控制命令的过渡图形数据一起封装,以生成封装的屏幕数据,其中该封装的屏幕数据内的过渡图形数据提供在客户端装置的显示装置处更新屏幕数据的呈现期间的过渡。
5.如权利要求4的方法,进一步包括:
从客户端处的本地缓存中获取与当前在客户端装置处呈现的屏幕相关的当前屏幕数据;以及
将当前屏幕数据与包括更新屏幕数据的封装的屏幕数据整合,该整合提供在显示装置处更新屏幕数据的呈现期间的期望过渡。
6.如权利要求1的方法,其中所述控制命令是选择命令,该选择命令由用户在客户端装置的显示装置处发布,请求对针对当前在显示装置处呈现的数据的当前屏幕数据的更新。
7.一种用于使本地生成的手势和过渡图形能够与虚拟化主机计算机服务进行交互的系统,包括:
具有用于呈现屏幕数据的显示装置的客户端装置,该客户端装置执行客户端侧应用,该客户端侧应用被配置为:
从显示装置接收控制命令,该控制命令由用户发布以控制当前在显示装置处呈现的屏幕数据;
其特征在于,该客户端侧应用进一步被配置为:
拦截从显示装置获得的控制命令以识别与该控制命令相关联的键盘或鼠标命令;
传输与该控制命令相关联的键盘或鼠标命令给主机计算机服务以用于处理;
接收作为处理该键盘或鼠标命令的结果而从主机计算机服务传输的更新屏幕数据;
将从主机计算机服务接收的更新屏幕数据同与控制命令相关联的数据一起封装以生成封装的屏幕数据;以及
返回封装的屏幕数据给客户端装置的显示装置以用于呈现。
8.如权利要求7的系统,其中该客户端侧应用进一步被配置为:
拦截由主机计算机服务传输到显示装置的更新屏幕数据;
获取当前在显示装置处呈现的当前屏幕数据;以及
通过捆绑当前屏幕数据、更新屏幕数据以及与控制命令相关的过渡图形来封装更新屏幕数据,
其中该封装的屏幕数据包括提供从当前屏幕数据到更新屏幕数据的过渡的过渡图形。
9.如权利要求8的系统,进一步包括执行服务器侧应用的虚拟化主机计算机服务的服务器,该服务器侧应用被配置为:
从客户端装置接收键盘或鼠标命令;以及
处理该键盘或鼠标命令以识别更新屏幕数据,以用于返回给客户端装置来呈现。
10.如权利要求9的系统,进一步包括:客户端装置处的第一本地缓存,用于存储当前在显示装置处呈现的当前屏幕数据;以及第二本地缓存,用于存储接收自服务器侧应用的更新屏幕数据。
11.如权利要求9的系统,进一步包括:客户端装置处的映射表,用于存储不同控制命令到键盘或鼠标命令的映射。
CN201280034077.XA 2011-06-08 2012-06-08 用于本地生成的手势和过渡图形与终端控制服务的交互的方法和系统 Expired - Fee Related CN103842982B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161494862P 2011-06-08 2011-06-08
US61/494862 2011-06-08
PCT/US2012/041772 WO2012170965A1 (en) 2011-06-08 2012-06-08 Methods and system for locally generated gesture and transition graphics interaction with terminal control services

Publications (2)

Publication Number Publication Date
CN103842982A CN103842982A (zh) 2014-06-04
CN103842982B true CN103842982B (zh) 2017-11-17

Family

ID=47296507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280034077.XA Expired - Fee Related CN103842982B (zh) 2011-06-08 2012-06-08 用于本地生成的手势和过渡图形与终端控制服务的交互的方法和系统

Country Status (3)

Country Link
EP (1) EP2718834A4 (zh)
CN (1) CN103842982B (zh)
WO (1) WO2012170965A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516229B (zh) * 2014-10-15 2020-02-28 中兴通讯股份有限公司 一种更新虚拟桌面的方法和装置
CN111431948B (zh) * 2020-06-15 2020-10-16 广东睿江云计算股份有限公司 一种框架与内容分离的云桌面优化显示方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747086B1 (en) * 2005-07-28 2010-06-29 Teradici Corporation Methods and apparatus for encoding a shared drawing memory
WO2010120586A1 (en) * 2009-04-15 2010-10-21 Wyse Technology Inc. Method and system for rendering composite view of an application

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050835B2 (en) * 2001-12-12 2006-05-23 Universal Display Corporation Intelligent multi-media display communication system
US7956848B2 (en) * 2007-09-04 2011-06-07 Apple Inc. Video chapter access and license renewal
US20100268762A1 (en) * 2009-04-15 2010-10-21 Wyse Technology Inc. System and method for scrolling a remote application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747086B1 (en) * 2005-07-28 2010-06-29 Teradici Corporation Methods and apparatus for encoding a shared drawing memory
WO2010120586A1 (en) * 2009-04-15 2010-10-21 Wyse Technology Inc. Method and system for rendering composite view of an application

Also Published As

Publication number Publication date
CN103842982A (zh) 2014-06-04
EP2718834A1 (en) 2014-04-16
EP2718834A4 (en) 2015-04-29
WO2012170965A1 (en) 2012-12-13

Similar Documents

Publication Publication Date Title
US10719571B2 (en) Virtualized rendering
US9965151B2 (en) Systems and methods for graphical user interface interaction with cloud-based applications
CN102918490B (zh) 与在平板计算装置的虚拟桌面内显示的远程应用交互
US9606629B2 (en) Systems and methods for gesture interaction with cloud-based applications
US9886189B2 (en) Systems and methods for object-based interaction with cloud-based applications
US10817086B2 (en) Touch support for remoted applications
CN102567074B (zh) 一种面向虚拟机的usb设备重定向方法
US20230152936A1 (en) 3D Interactions with Web Content
CN104350495B (zh) 在全景显示中管理对象以导航电子表格
US11016653B2 (en) Methods and system for locally generated gesture and transition graphics interaction with terminal control services
CN103412701B (zh) 远程桌面图像处理方法及装置
CN107077348B (zh) 跨设备的经分割的应用呈现
WO2013036959A1 (en) Systems and methods for gesture interaction with cloud-based applications
US10839572B2 (en) Contextual virtual reality interaction
WO2021180183A1 (zh) 图像处理方法和图像显示设备、存储介质和电子设备
CN107301038A (zh) 应用生产设备、系统、方法和非临时性计算机可读媒介
Ponto et al. CGLXTouch: A multi-user multi-touch approach for ultra-high-resolution collaborative workspaces
US11175791B1 (en) Augmented reality system for control boundary modification
CN108701045A (zh) 计算机设备中客户操作系统屏幕截图方法和装置
CN103842982B (zh) 用于本地生成的手势和过渡图形与终端控制服务的交互的方法和系统
WO2014064535A2 (en) Systems and methods for object-based interaction with cloud-based applications
US7949705B1 (en) Dynamic desktop switching for thin clients
US11069091B2 (en) Systems and methods for presentation of and interaction with immersive content
US10930036B2 (en) Bar chart optimization
WO2014076581A2 (en) Systems and methods for graphical user interface interaction with cloud-based applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171117