CN101203842B - 使图形窗口修改命令能够被应用到远程生成的图形窗口的方法和系统 - Google Patents

使图形窗口修改命令能够被应用到远程生成的图形窗口的方法和系统 Download PDF

Info

Publication number
CN101203842B
CN101203842B CN2006800184206A CN200680018420A CN101203842B CN 101203842 B CN101203842 B CN 101203842B CN 2006800184206 A CN2006800184206 A CN 2006800184206A CN 200680018420 A CN200680018420 A CN 200680018420A CN 101203842 B CN101203842 B CN 101203842B
Authority
CN
China
Prior art keywords
graphical window
user
window
machine
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.)
Expired - Fee Related
Application number
CN2006800184206A
Other languages
English (en)
Other versions
CN101203842A (zh
Inventor
R·玛哈简
I·J·雷彻特林
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101203842A publication Critical patent/CN101203842A/zh
Application granted granted Critical
Publication of CN101203842B publication Critical patent/CN101203842B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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

Abstract

描述了关于使图形窗口修改命令能够被应用到远程生成的图形窗口的技术。在一个实例中,一个处理过程在一个远程终端会话中检测用于修改远程生成的应用程序图形窗口的用户命令。所述处理过程确定是在显示所述远程生成的应用程序图形窗口的本地机器(104A)上还是在生成所述远程的应用程序图形窗口的远程机器(102A)上发起所述用户命令。

Description

使图形窗口修改命令能够被应用到远程生成的图形窗口的方法和系统
背景技术
远程终端会话支持产品,例如由微软公司提供的终端服务TM产品,使客户机和服务器之间能够进行远程终端会话。所述远程终端会话(RTS)能够使得图形用户界面窗口(在下文中,称为“图形窗口”),例如应用程序图形窗口,在服务器上生成。RTS使得远程生成的图形窗口的表示,例如位图图像,显示在客户机上。所述客户机也可以自己生成客户机上显示的应用程序图形窗口。所述客户机的用户可以参与本地生成的应用程序图形窗口和远程生成的应用程序图形窗口之一或全部。存在对为本地生成的应用程序图形窗口和远程生成的应用程序图形窗口提供相似功能的技术的持续需求。
发明概述
描述了关于使图形窗口修改命令能够被应用到远程生成的图形窗口的技术。在一个实施例中,一个处理过程在一个远程终端会话中检测用于修改远程生成的应用程序图形窗口的用户命令。所述处理过程确定是在显示所述远程生成的应用程序图形窗口的本地机器上还是在生成所述远程生成的应用程序图形窗口的远程机器上发起所述用户命令。
附图的简要描述
图1-6根据一个实施例示出了一个用于使图形窗口修改命令能够被应用到远程生成的图形窗口的示例性系统。
图7根据一个实施例示出了一个用于使图形窗口修改命令能够被应用到远程生成的图形窗口的示例性系统。
图8-9根据一个实施例示出了一种用于使图形窗口修改命令能够被应用到远程生成的图形窗口的系统配置的示例性过程图。
图10根据一个实施例示出了用于使图形窗口修改命令能够被应用到远程生成的图形窗口的环境中的示例性系统、设备和组件。
图11根据一个实施例示出了一个用于使图形窗口修改命令能够被应用到远程生成的图形窗口的示例性过程图。
详细描述
概观
在一个单机的计算情景中,用户使用一台被配置为生成包括一个或多个应用程序图形窗口的用户界面的机器。所述用户可能希望修改单独的应用程序图形窗口。例如,所述用户可能希望通过移动图形窗口或调整图形窗口的尺寸来修改单独的应用程序图形窗口。在移动/调整尺寸的过程中,所述机器的操作系统一般会提供所述图形窗口的一些可视化指示,从而所述用户能够目视新的图形窗口尺寸和/或位置。在移动/调整尺寸的过程中,至少一些操作系统允许用户选择所述应用程序图形窗口如何显示。例如,一些操作系统允许用户从完整窗口模式或轮廓模式中选择。在移动/调整尺寸的过程中,完整窗口模式不断地更新实质上的整个应用程序图形窗口。当所述用户结束移动/调整尺寸命令且所述移动/调整尺寸完成时,结束所述更新。在轮廓模式下,在移动/调整尺寸的过程中,生成一条指示所述图形窗口的新位置/尺寸的虚线。当所述移动/调整尺寸的过程完成时(例如,通过抬起鼠标键),所述虚线消失,并且所述应用程序图形窗口被更新到新的位置/尺寸。
远程终端会话包括作为服务器的第一远程机器,其被配置为向作为客户端的第二本地机器提供远程数据。正如与在单机的配置中一样,所述用户使用的本地机器可以被配置为生成一个或多个本地生成的应用程序图形窗口,并且可以进一步允许用户指定用于所述本地生成的应用程序图形窗口的移动/调整尺寸操作的模式。运行在远程机器上的应用程序能够生成服务器应用程序图形窗口。所述远程终端会话被配置为使得服务器应用程序图形窗口的输出或图形能被发送到本地机器。在本地机器上创建代理窗口,并且在所述代理图形窗口上描绘服务器应用程序的图形以创建远程生成的服务器应用程序图形窗口的本地表示。本实施例使得本地机器的用户所选的移动/调整尺寸的模式能够被应用到远程生成的应用程序图形窗口。至少一些实施例达到了无缝的移动/调整尺寸操作,从而用户可能无法基于移动/调整尺寸的特征区分本地生成的应用程序图形窗口与远程生成的应用程序图形窗口。
从一般意义上说,在至少一些本实施例中,用于修改包含在远程终端会话中的图形窗口的用户命令从客户机被发送到生成图形窗口的服务器。可以在服务器上处理所述命令,其随后相应地更新所述图形窗口。所述更新随后被发送到和反映在客户端。或者,所述命令可以被发回客户机。所述客户机可以在客户端实现所述命令,并把数据发回到服务器,从而允许服务器再同步所述图形窗口以反映客户端的修改。
示例性系统
用于解释的目的,共同地考虑图1-6,其示出了系统100,所述系统被配置为支持远程机器102和本地机器104之间通过网络106的远程终端会话。远程机器102被配置为生成服务器应用程序图形窗口110。本领域的技术人员将意识到,虽然服务器应用程序图形窗口110被可视化地呈现于此以用于解释,但是本实施例无需在远程机器上实际地生成可视化图像即可工作。所述远程终端会话为将远程机器的服务器应用程序图形窗口110的表示通过网络106发送到本地机器104提供了一种手段。例如,所述表示可以是位图图像等。所述远程终端会话还可使在本地机器104的客户机桌面114上生成代理图形窗口112。服务器应用程序图形窗口的表示,在此被指定为远程生成的应用程序图形窗口116,可以被描绘或显示在代理图形窗口112上面。为了便于说明,也在本地机器104的客户机桌面114上示出了本地或客户机生成的应用程序图形窗口118。为了便于解释,在此,从位于被配置为显示本地和远程生成的应用程序图形窗口的机器的用户的观点角度,使用了术语“本地”和“远程”。而且,为了便于阐述,远程生成的应用程序图形窗口116在此被示为占用代理图形窗口112的区域的一个子集。在许多实例中,在基本上所有的代理图形窗口上描绘远程生成的应用程序图形窗口116,从而所述代理图形窗口不可见。此外,虽然在此示出的应用程序图形窗口一般近似于矩形,然而至少一些实施例适于采用包括不规则形状的任何形状的应用程序图形窗口。系统100被配置为使图形窗口修改命令能够被应用到远程生成的图形窗口116。在这个特定的实施例中,系统100还可被配置为支持用于应用程序图形窗口移动/调整尺寸的用户所选模式,无论所述图形窗口是本地生成还是远程生成的。
为了解释,假定本地机器104的用户已经为本地机器104选择了图形窗口移动/调整尺寸的轮廓模式。进一步假定用户希望将本地生成的应用程序图形窗口118从图1所显示的第一尺寸扩大到图3所显示的更大的尺寸。用户可以通过发起图形窗口移动/调整尺寸过程的多种用户命令实现这样一个移动。例如,一种类型的用户命令是通过系统菜单的系统命令。能够发起图形窗口移动/调整尺寸过程的其它类型的用户命令可以包括声音识别、基于姿势识别的照相机,以及键盘输入,等等。另外一种用户命令包括在图形窗口上移动鼠标光标且当拖动到一个新的位置时按下并按住鼠标按键。例如,用户可以在本地生成的图形窗口的边缘上点击,比如象通常在120处所显示的本地生成的应用程序图形窗口118的右下边缘。例如,用户可以压下并按住鼠标按键并向下拖到右侧,如通常由箭头202所指示的那样。本地机器104创建本地生成的应用程序图形窗口118的跟随鼠标运动的轮廓204,直至释放鼠标按键,例如通常在206所显示的。鼠标按键的释放表示用户完成了尺寸的调整。一旦用户完成了尺寸的调整,本地生成的应用程序图形窗口118即被调整为与轮廓204相匹配,这可以从图3中看出来。
现在进一步假定用户希望完成远程生成的应用程序图形窗口116的尺寸调整。用户可能或不能够区分远程生成的应用程序图形窗口116是本地生成的应用程序图形窗口,还是远程生成的应用程序图形窗口。例如,用户可以在其感觉是远程生成的应用程序图形窗口116的右下角的地方点击,如通常在402处显示的那样。用户看到远程生成的应用程序图形窗口116,但是从远程终端会话的角度来看,用户是在其上绘有远程生成的应用程序图形窗口116的下层的代理窗口112上进行点击。系统100被配置为检测关于移动/调整代理图形窗口112尺寸的用户命令,并将所述命令转发到服务器端。
在这个实施例中,用户在远程生成的应用程序图形窗口116和/或下层的代理图形窗口112的右下边缘或角落上向下点击鼠标。假定用户在402处点击并开始向下拖动到右侧,如通常由箭头502所指示的那样。系统100响应地生成代理图形窗口112跟随用户光标506的轮廓504,直至用户释放或向上点击光标,例如在图5中由光标506所指示的位置。在拖动操作期间,轮廓504的一部分位于远程应用程序的图形窗口区域的外面。同样地,在这种用户已经选择了轮廓模式的情况下,在本地机器104上处理用于移动/调整尺寸的用户命令,以响应于客户机的命令开始移动/调整尺寸。
一旦用户调整尺寸的命令结束,所述代理图形窗口112被更新为轮廓504的尺寸。然后,远程机器相对于更新后的代理图形窗口的尺寸/位置更新应用程序图形窗口110。一个相应的更新后的远程生成的应用程序图形窗口116被发送到本地机器104,以使远程生成的应用程序图形窗口116与代理图形窗口112同步,这可以从图6中看出来。系统100允许远程生成的应用程序图形窗口的移动/调整尺寸功能,所述移动/调整尺寸功能近似或模仿对本地生成的应用程序图形窗口的移动/调整尺寸功能。虽然为了解释,上面描述了调整图形窗口的尺寸,然而,图形窗口的移动可以以相似的方式进行处理。
上面和下面描述的实施例是在现在通常遇到的计算环境的背景下描述的。可以通过计算机可执行指令或代码手段来执行多种实例,例如由个人计算机或PC之类的计算机所执行的程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。
可以在除PC以外的计算机系统配置中实现多种实例。例如,可以在手持设备、多处理器系统、基于微处理器或可编程的消费型电子产品、网络PC、小型计算机、大型计算机、蜂窝电话等设备中实现多种实施例。而且,随着技术的继续发展,可以在尚未被识别的类型的设备上实现多种实施例。例如,随着处理能力单位成本继续降低,以及无线技术的发展,类似于现在的蜂窝电话的计算设备可以在单个移动设备中实现现在的PC、摄像机、蜂窝电话等功能。所述单个设备在一个情景中可以作为服务器,而在另一个情景中可作为客户机。这只是所描述的实施例现有的和正发展的多个实例中的一个。
在此使用的术语“服务器”和“客户机”并不是暗示两个设备任何相对的性能。客户机可以拥有比服务器更高、更低或相等的处理性能。相反,在这篇文档中,名称“服务器”和“客户机”描述两个组件的相对关系。例如,第一或服务器设备远离第二或客户机设备的计算体验。
虽然可以如上面所建议的那样,将多种实施例合并到多种类型的操作环境中,在示例性通用计算设备的上下文下,在图11中仅描述了一个示例性的环境,所述环境稍后将在该文档的章节标题“示例性操作环境”下进行更加详细的描述。
考虑图7,其示出了被配置为对用户相对于本地生成的应用程序图形窗口和远程生成的应用程序图形窗口的修改命令提供相似外观或用户界面的系统100A。系统100A被配置为支持通过网络106A进行远程机器102A和本地机器104A之间的远程终端会话。
远程机器102A包括一个服务器远程应用程序管理器702、一个图形窗口管理器704,以及一个或多个运行在服务器操作系统(OS)708上的服务器应用程序706。本地机器104A包括一个客户机远程应用程序管理器710,并且可以包括一个或多个运行在客户机操作系统(OS)714上的客户机应用程序712。像在此使用的服务器应用程序706和客户机应用程序712的例子可以包括打开图形界面的任何代码手段。例如,这样的应用程序可以包括文字处理应用程序、电子制表软件应用程序、消息通信应用程序、记事本类型应用程序、图形应用程序、例如由微软公司提供的Windows Explorer品牌文件浏览器一类的文件浏览器工具、控制面板工具、添加硬件、网络连接、以及视频游戏的图形工具等等。
配置系统100A,从而位于本地机器104A的用户可以修改例如应用程序图形窗口118A的本地生成的应用程序图形窗口,以及例如远程生成的应用程序图形窗口116A的远程生成的应用程序图形窗口,所述修改例如移动/调整尺寸,并且可以在这两种情况中接收相似的或同样的用户界面。例如,如果用户已经为移动/调整图形窗口尺寸的操作选择了轮廓模式,那么系统100A被配置为向本地生成的应用程序图形窗口和远程生成的应用程序图形窗口提供轮廓模式的移动/调整尺寸操作。
系统100A被配置为确定用户选择的本地机器的移动/调整尺寸模式。然后,系统100A被配置成基于用户为应用程序图形窗口移动/调整尺寸操作所选择的模式处理用户图形窗口移动/调整尺寸的命令,无论图形窗口是本地生成还是远程生成的。有关本地生成的应用程序图形窗口的用户命令在本地机器上以传统的方式进行处理。系统100A被配置为基于用户选择的模式处理有关远程生成的应用程序图形窗口的用户命令。如果用户已经选择了完整图象模式,所述命令在服务器端进行处理,而结果显示在客户端。如果用户已经选择了轮廓模式,那么系统100A被配置为在客户机代理图形窗口112A上发起移动/调整尺寸命令,然后,服务器端应用程序图形窗口110A被相应地更新,以再同步代理图形窗口112A和远程生成的应用程序图形窗口116A。下面关于完成上面提及的功能描述系统100A的几个组件。
服务器远程应用程序管理器702被配置为促进服务器端的远程终端会话功能。所述服务器远程应用程序管理器被配置为管理服务器应用程序706,使得服务器应用程序图形窗口110A的表示可以在远程终端会话中被发送到本地机器104A。所述服务器远程应用程序管理器702也被配置为便于从服务器到客户端传递关于服务器应用程序图形窗口110A的数据。例如,在服务器上可以运行多个应用程序,然而只有一个所述应用程序远离客户机104A。在一些实施例中,所述服务器远程应用程序管理器702被配置为确保来自适当的应用程序窗口的数据被发送到客户机。
图形窗口管理器704被配置为处理用户关于单独的服务器图形窗口的交互。图形窗口管理器处理与单独图形窗口的交互,它是以通过例如在应用程序的图标上点击鼠标的用户命令运行单独的图形窗口开始的。图形窗口管理器响应于用户的命令而打开图形窗口,并且,有关图形窗口的随后用户命令通过图形窗口管理器来指示。在这个实例中,服务器远程应用程序管理器702还被配置为要求图形窗口管理器704向服务器远程应用程序管理器702通知关于任何图形窗口相关事件。然后,图形窗口管理器向服务器远程应用程序管理器通知何时运行新的图形窗口、何时移动和/或调整图形窗口的尺寸、以及最小化等事件。服务器远程应用程序管理器702被配置为分析它从图形窗口管理器704接收到的信息,并且确定哪些信息,如果有的话,是与远程终端会话中远离客户机的图形窗口相关的。服务器远程应用程序管理器也被配置为向客户机转发有关远程终端会话中涉及的图形窗口的信息。例如,服务器远程应用程序管理器702可以向客户机发送信息,以便于服务器应用程序图形窗口和相应的客户机代理图形窗口之间的同步。
客户机远程应用程序管理器710被配置为和服务器建立远程终端会话,并且处理与远程终端会话相关的服务器的互连。客户机远程应用程序管理器也被配置为使在本地机器104A上生成代理图形窗口112A,以及使在代理图形窗口112A上,以远程生成的应用程序图形窗口116A的形式,描绘服务器应用程序图形窗口110A的表示。客户机远程应用程序管理器710还被配置为至少部分地基于从服务器远程应用程序管理器702接收的关于相应的服务器应用程序图形窗口110A的信息,处理关于客户机的代理图形窗口112A的尺寸和尺度的细节。
客户机远程应用程序管理器710也被配置为接收关于本地机器104A的移动/调整尺寸的模式的信息。例如,并且象上面所提及的,在一些实施例中,本地机器可以处于轮廓模式或完整窗口模式。客户机远程应用程序管理器710被配置为与服务器远程应用程序管理器702共享本地机器的移动/调整尺寸模式。
客户机远程应用程序管理器710也被配置为将关于单独的代理图形窗口的客户机命令转发到远程机器102A,在那里所述命令由服务器远程应用程序管理器702接收。服务器远程应用程序管理器被配置为在服务器端与图形窗口管理器704协作地实现客户机命令。
系统100A被配置为检测关于修改例如代理图形窗口112A的远程终端会话中所涉及的图形窗口的用户命令。例如,可以由客户机远程应用程序管理器710或者在服务器端例如由服务器远程应用程序管理器702来完成这样的检测。例如,服务器远程应用程序管理器702可以被配置为评估关于代理图形窗口112A的窗口命令,以检测用户是否正在鼓动图形窗口相对于代理图形窗口112A进行移动或调整尺寸。用户可以采用多种可能方法中的一种来开始图形窗口的移动/调整尺寸。例如,用户可以发送一个图形窗口移动/调整尺寸的适当的系统命令,例如通过使用系统的菜单。在另一个例子中,用户可以在图形窗口的标题/边界上按压鼠标按键,然后拖动图形窗口。例如,为了实现图形窗口移动/调整尺寸的命令,用户可以在图形窗口的非工作空间的部分点击鼠标。这样的非工作空间的部分可以包括边缘(图1-6示出的)或标题720等,如关于代理图形窗口112A所指示的那样。在许多配置中,如果用户希望调整图形窗口的尺寸,则用户在图形窗口的边缘上点击,而如果用户希望移动图形窗口,则在标题上点击。
在一个检测到移动/调整尺寸的实例中,系统100A还被配置为将图形窗口的移动和图形窗口的尺寸调整区别开。基于如上提及的本地机器是处于完整图象模式还是轮廓模式,系统100A被配置为采取适当的行动来完成用户的命令。在一种这样的特定系统配置的例子中,服务器远程应用程序管理器702被配置为检测用户关于远程机器102A和本地机器104A之间的远程终端会话的代理图形窗口的移动/调整尺寸命令。服务器远程应用程序管理器702也被配置为与用户所选的完整图象模式或轮廓模式的移动/调整尺寸模式相一致地采取适当的行动来完成移动/调整尺寸的命令。
在这个实例中,服务器远程应用程序管理器702被配置为确定用户命令是否关于相对于远程终端会话中所涉及的图形窗口的窗口/调整尺寸操作。一旦确定正在发起移动、调整尺寸命令,服务器远程应用程序管理器702即基于用户选择的图形窗口移动/调整尺寸的模式采取行动。在这个特定的实施例中,如果移动/调整尺寸的模式是完整图象,那么服务器远程应用程序管理器702在服务器上处理所述命令,并且相应地更新服务器应用程序图形窗口110A。当更新服务器应用程序图形窗口时,相应的表示被发送到客户机,并且所述表示被显示为更新后的远程生成的应用程序图形窗口116A。代理图形窗口112A的尺寸或位置被调整为对应于所述更新后的远程生成的应用程序图形窗口116A。
此外,在这个实施例中,当用户选择的移动/调整尺寸的模式是轮廓模式时,服务器远程应用程序管理器702被配置为向客户机远程应用程序管理器710发送用户命令。在客户机桌面116A上生成反映用户命令的代理图形窗口112A的轮廓。一旦完成客户机命令之后,关于代理图形窗口的新尺寸和/或位置的位置数据被发送到远程机器,在那里,服务器应用程序图形窗口被更新为与新的代理图形窗口同步。更新后的表示被发送到本地机器,并被显示为更新后的远程生成的应用程序图形窗口116A,所述应用程序图形窗口被描绘在代理图形窗口112A上。
替换或额外地,对于上面提及的区分轮廓模式和完整图象模式的实施例而言,系统100A可以以同样的方式处理完整图像和轮廓模式。例如,不管用户选择什么模式,例如轮廓或完整图像,系统100可以在服务器接收用户移动/调整尺寸的命令,并且将用户移动/调整尺寸的命令和/或相关数据发送到客户机。可以在客户端发起用户命令,而在随后更新服务器端,从而使服务器和客户机再同步。同样地,在一些实例中,系统100A可以决定在服务器端发起所有的用户命令,而不考虑用户选择的修改模式。
考虑图8-9,其共同地示出了过程800,所述过程提供了一个系统100A是如何为用户关于本地生成的应用程序图形窗口和远程生成的应用程序图形窗口的移动/调整尺寸的命令提供相似的用户界面的例子。当然,系统100A只提供了一种结构性配置,所述配置能够为本地生成的和远程生成的应用程序图形窗口承兑用户选择的移动/调整尺寸的模式。图8-9包含一种情景,在所述情景中,本地机器104A的用户已经为本地机器104A的应用程序图形窗口选择了轮廓移动/调整尺寸的模式。如上所提及的,其它实施例可以以同样的方式而不是区分二者地处理轮廓模式和完整图象模式。同样地,虽然是在窗口移动/调整尺寸情景的上下文中提供了该例子,但是该过程可以被应用到其它的用户命令,以修改远程生成的应用程序窗口。
在步骤802,在本地机器的代理图形窗口上检测用户按下鼠标按键的命令。在步骤804,鼠标按键按下的通知被发送到客户机远程应用程序管理器710。由于服务器远程应用程序管理器702还没有指示客户机远程应用程序管理器发起客户端的尺寸调整,所以,在步骤806,所述过程继续将鼠标按键按下的信息转发到服务器端。
在步骤806,鼠标按键按下的通知从客户端被发送到服务器端。在这个特定配置中,鼠标按键按下的通知从客户机远程应用程序管理器710被发送到服务器远程应用程序管理器702。在步骤808,服务器远程应用程序管理器将鼠标按键按下的通知转发到服务器应用程序图形窗口110A。
在步骤810,在服务器应用程序窗口110A开始图形窗口的尺寸调整。在至少一些实施例中,用户行为的检测在用户行为发生之后进行。例如,用户可以在窗口的一个角落上点击,并开始用鼠标拖动窗口,所述窗口的尺寸调整过程在用户点击之后的时间开始。同样地,从用户的角度来看,直到用户的行为实际上开始之后,才在服务器应用程序窗口上开始图形窗口的尺寸调整。这样的实施例避免了其中处理过程错误地预测用户打算开始调整尺寸的命令,并开始关联的尺寸调整的情况。
在步骤812,所述过程向服务器远程应用程序管理器702发送一个通知,声明正在调整一个特定图形窗口的尺寸。某些实施例可以发送一个带有适当参数的通知,以声明正在移动图形窗口或调整图形窗口的尺寸,所述参数用以区分正在进行的是移动还是尺寸调整。在某些配置中,该事件的关联参数可以指示移动/调整尺寸的类型。
在步骤814,一个获取图形窗口参数的请求从服务器远程应用程序管理器702被发送到服务器应用程序图形窗口110A。利用所述获取图形窗口参数的请求来确保在客户机上对代理图形窗口的尺寸调整不超过由服务器强加的限制。在步骤816,所述过程从服务器应用程序图形窗口710向服务器远程应用程序管理器702发送图形窗口参数。
在步骤818,所述过程从服务器端向客户端发送图形窗口参数。在这个特定配置中,从服务器远程应用程序管理器702向客户机远程应用程序管理器710发送所述图形窗口参数。
在步骤820,所述过程计算所需要的鼠标位置。该步骤解决了与本地和远程机器之间的通信相关联的潜在等待时间的问题。例如,当用户在客户端的代理图形窗口上的第一位置点击鼠标按键,并开始将鼠标移动到一个新的位置时,等待时间或延迟可以导致用户已经将鼠标移动或拖曳到了第二位置。为了避免错误的结果,在服务器检测到的鼠标输入被施加回客户机之前,鼠标被有效地放回到所述第一位置。该步骤有效地将状态还原到用户“点击”鼠标的时间点。
为了解释,假定当用户点击鼠标时鼠标在本地机器上位于x0y0,并且因为等待时间,在数据从服务器返回到客户端的随后时间点,鼠标位于x1y1。该步骤将鼠标移回到x0y0,发起点击,然后快速地将鼠标拖回到x1y1。这样一个过程对于用户来说通常很快,以致于无法检测。该步骤用于避免下述情形:用户在一个应用程序图形窗口上点击并且将鼠标拖动到另一个图形窗口上,由于缺乏这样一个等待时间的调整,所述过程可能彻底地错过第一应用程序图形窗口,并开始拖动第二应用程序图形窗口。该步骤将鼠标还原到原始位置,然后将它移动到新的位置。在许多实例中,该过程发生的非常快,以致于用户只是看见一个拖动的图形窗口出现在鼠标出现过的最后位置。
在步骤822,所述过程从服务器端向客户端发送移动/调整尺寸开始的信息,例如从服务器远程应用程序管理器702向客户机远程应用程序管理器710发送。该步骤用于从服务器端向客户端发送正确的鼠标位置。
在步骤824,所述过程获取关于服务器端图形窗口位置的数据。关于图形窗口的数据可以指示右边缘、左边缘、角落、标题等等。所述过程至少部分地利用该数据,来确定是否应该进行尺寸的调整。所以该步骤提供了允许所述过程确定用户所打算的命令的信息。例如,用户是否打算扩展图形窗口的右侧,或者用户是否打算将图形窗口扩展到底部和右侧。
在步骤826,所述过程将客户端代理窗口的位置与服务器端图形窗口的位置进行比较。服务器发送的鼠标位置包含相对于服务器的坐标。该过程将服务器坐标转换成客户机坐标。在某些实例中可以去掉该步骤。转换由服务器发送的鼠标位置,从而将鼠标位置映射到客户机代理图形窗口上。例如,在至少一些实施例中,为矩形窗口形状实行的进行如下转换:
●鼠标光标X=客户机窗口矩形左侧+服务器上窗口和鼠标位置的偏移量X
●鼠标光标Y=客户机窗口矩形顶部+服务器上窗口和鼠标位置的偏移量Y
矩形图形窗口形状是一种常见的形状,其提供了解释的基础。本领域的技术人员将意识到所述过程也适于用于其它的图形窗口形状。
在步骤828,所述过程阻塞图形窗口的更新到达服务器端。到这时,所述过程意识到在客户端正在进行尺寸的调整,或者将要进行尺寸调整。通过设置某种类型的标记,告知服务器端停止更新应用程序图形窗口,直至完成尺寸的调整等来实现该步骤。从服务器的观点来看,用户已经停止移动鼠标,但是尺寸的调整还会发生。这样的步骤可以用于节省处理资源。
在步骤830,所述过程从客户机远程应用程序管理器710向代理图形窗口112A发送一个模拟鼠标按键按下的命令。该步骤用于完成在步骤802处检测到的原始鼠标按键按下命令。回想如果在步骤802没有对服务器端产生鼠标按键按下命令,但是该命令最终会被发送到服务器端。步骤830用于在客户机完成在步骤802检测到的原始鼠标按键按下命令。
在步骤832,所述过程请求一个对应于在步骤802检测到的原始鼠标按键按下的位置的相对图形窗口位置。例如,所述请求针对将鼠标按键按下的位置与相对图形窗口位置相关联。例如,该点是否对应于图形窗口的右边缘、左边缘、右下角等?
在步骤834,所述过程向客户机远程应用程序管理器查询从对应于步骤806的鼠标按键按下位置的鼠标位置转换来的鼠标位置数据。在步骤836,客户机远程应用程序管理器710返回对应于鼠标位置的鼠标位置数据。
在步骤838,所述过程开始在客户端进行图形窗口的尺寸调整。在步骤840,所述过程结束在客户端进行的图形窗口的尺寸调整。
在步骤842,所述过程接收图形窗口的尺寸调整已经完成的通知。在步骤844,所述过程退出调整尺寸状态。例如,客户机远程应用程序管理器710可以以鼠标按键抬起命令的形式接收通知,以退出调整尺寸的过程。
在步骤846,鼠标按键抬起命令从客户端被发送到服务器端,例如从客户机远程应用程序管理器710到服务器远程应用程序管理器702。在步骤848,客户机远程应用程序管理器向服务器应用程序图形窗口提供鼠标按键抬起命令。连续步骤844-848对应于关于步骤804-808所描述的鼠标按键按下命令,并用于还原系统或过程的正常状态。
在步骤850,所述过程结束服务器应用程序图形窗口上的图形窗口的尺寸调整。在步骤852,所述过程重新开始关于服务器应用程序图形窗口的服务器更新。在步骤854,所述过程提供图形窗口改变位置通知。
在步骤856,所述过程从服务器端向客户端更新代理图形窗口位置和/或尺寸。在步骤858,所述过程更新远程应用程序代理图形窗口112A的位置和/或尺寸。
关于图8-9所描述的步骤仅为用户相对于本地生成的应用程序图形窗口和远程生成的应用程序图形窗口的移动/调整尺寸的命令实现相似的用户界面提供了一个示例性实施例。其它的实施例可以包含更少或更多的步骤来实现相似的功能。
示例性系统环境
图10表示了一种示例性的系统或计算环境1000,其被配置为使得图形窗口修改模式能够被应用到远程生成的图形窗口。系统1000包括一个以第一机器1001和第二机器1002的形式的通用计算系统。在该实例中,所述第一和第二机器被配置为支持远程终端会话,从而所述第一和第二机器中的任何一个可以作为用户在其上进行操作的本地机器,而所述第一和第二机器中的另一个可以作为远程或服务器机器。
第一机器1001的组件可以包括但不局限于一个或多个处理器1004(例如:任何微处理器、控制器等等)、系统存储器1006、以及耦合多种系统组件的系统总线1008。所述一个或多个处理器1004处理多种计算机可执行指令,以控制第一机器1001的操作,以及与其它电子计算设备进行通信。所述系统总线1008代表几种类型中任意数量的总线结构,包括存储总线或存储控制器、外围总线、加速图形端口、以及使用多种总线结构中的任意一种的处理器或局部总线。
系统1000包括多种计算机可读介质,其中所述介质可以是任何可由第一机器1001访问的介质,并且包括易失性和非易失性介质,可移动的和不可移动的介质。所述系统存储器1006包括易失性存储器形式的计算机可读介质,例如随机存取存储器(RAM)1010,和/或非易失性存储器,例如只读存储器(ROM)1012。基本输入/输出系统(BIOS)1014保存便于例如在启动期间在第一机器1001内部的组件之间进行信息传递的基本例程,所述基本输入/输出系统被存储在ROM 1012中。RAM1010一般包含可由所述处理器1004周昂的一个或多个立即访问的和/或当前在其上进行操作的数据和/或程序模块。
第一机器1001可以包括其它可移动/不可移动、易失性/非易失性的计算机存储介质。作为例子,硬盘驱动器1016读取和写入不可移动的、非易失性的磁性介质(未示出),磁盘驱动器1018读取和写入可移动的、非易失性的磁盘1020(例如“软盘”),以及光盘驱动器1022读取和/或写入可移动的、非易失性的光盘1024,例如CD-ROM、数字通用盘(DVD)、或任何其它类型的光学介质。在这个例子中,硬盘驱动器1016、磁盘驱动器1018,以及光盘驱动器1022都通过一个或多个数据介质接口1026被连接到系统总线1008。所述盘驱动器及关联的计算机可读介质为第一机器1001提供了计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。
在硬盘1016、磁盘1020、光盘1024、ROM 1012,和/或RAM 1010上可以存储任意数量的程序模块,例如包括操作系统1026、一个或多个应用程序1028、其它程序模块1030,以及程序数据1032。每个这样的操作系统1026、应用程序1028、其它程序模块1030,以及程序数据1032(或它们的某些组合)可以包括在此描述的系统和方法的实施例。
用户可以通过诸如键盘1034和定点设备1036(例如“鼠标”)的任意数目的多种不同输入设备与第一机器1001通过接口连接。其它的输入设备1038(没有明确地示出)可以包括麦克风、操纵杆、游戏手柄、控制器、圆盘式卫星天线、串行端口、扫描仪、和/或类似的设备。通过耦合到系统总线1008的输入/输出接口1040将这些以及其它的输入设备连接到处理器1004,但是也可以采用诸如并行端口、游戏端口、和/或通用串行总线(USB)的其它接口和总线结构来连接。
通过诸如视频适配器1044的接口,可以将监视器1042或其它类型的显示设备连接到系统总线1008。除了监视器1042,其它的输出外围设备可以包括诸如扬声器(未示出)和打印机1046的组件,所述扬声器和打印机可以通过输入/输出接口1040被连接到第一机器1001。
第一机器1001可以利用到诸如第二机器1002的一台或多台远程计算机的逻辑连接来运行在网络环境中。举个例子,所述第二机器1002可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、对等设备或其它普通的网络节点,等等。第二机器1002被示为一种可以包括在此相对于第一机器1001描述的多种或所有元素和特征的便携式计算机。
第一机器1001和第二机器1002之间的逻辑连接被描述为一种局域网(LAN)1050和一般的广域网(WAN)1052。这样的网络环境在办公室、企业范围的计算机网络、内联网、以及因特网中是很普遍的。当在LAN网络环境中实施时,所述第一机器1001通过网络接口或适配器1054被连接到本地网络1050。当在WAN网络环境中实施时,所述第一机器1001一般包括用于通过广域网1052建立通信的调制解调器1056或其它装置。可内置或外置于第一机器1001的所述调制解调器1056可以通过输入/输出接口1040或其它适当的机制被连接到系统总线1008。所示出的网络连接是示例性的,并且可以采用其它建立第一和第二机器1001、1002之间的通信连接的手段。
在例如以系统1000为例示出的网络环境中,相对于第一机器1001所描述的程序模块或它的一部分可以被存储在远程存储器存储设备中。例如,利用第二机器1002的存储器设备保存远程应用程序1058。虽然认识到,诸如操作系统1026的应用程序和其它可执行程序组件在不同的时期驻留在所述第一机器1001的不同存储组件中,并且由所述第一机器的处理器1004执行,但是为了便于说明,在此将这样的程序和组件示为离散的块。
示例性过程
图11示出了一个用于使图形窗口修改命令能够被应用到远程生成的图形窗口的示例性过程1100。不希望将描述所述过程所采取的顺序解释为一种限制,而且可以按照任意的顺序组合多个所描述的过程块来实现所述过程。此外,可以用任何适合的硬件、软件、固件或它们的组合实现所述过程。
在块1102,所述过程在远程终端会话中检测用于修改远程生成的应用程序图形窗口的用户命令。远程终端会话能够提供远程应用能力。远程终端会话用于从第一或服务器机器向第二或客户机机器遥控应用程序图形窗口。在客户机机器上创建代理窗口,并且在代理窗口上描绘来自服务器应用程序图形窗口的显示数据,以创建远程生成的应用程序图形窗口。用户可以利用多种方法来发出关于修改图形窗口的命令。例如,如本领域的技术人员应该认识到,用户可通过使用系统菜单来向窗口发送一个适当的系统命令。在另一个例子中,用户可以在图形窗口的标题或边界上按压鼠标按键,然后拖动图形窗口。用户输入的其它多种例子可以包括声音识别命令以及照相机检测到的用户动作,等等。
在一些实施例中,在客户机机器检测关于代理图形窗口的用户修改命令。在其它的实施例中,将关于代理图形窗口的用户输入或命令自动发送到服务器机器,作为远程终端会话的一部分。在这样实例中,可以在服务器机器上检测关于窗口修改的用户命令。上面对照图7只描述了被配置为检测关于远程生成的应用程序图形窗口的用户窗口修改命令的系统的一个例子。
在块1104,所述过程确定是在显示所述远程生成的应用程序图形窗口的本地机器上还是在生成远程生成的应用程序图形窗口的远程机器上发起所述用户命令。在一些实施例中,可以在服务器发起所有的修改。在其它的实施例中,可以在客户机发起所有的修改。在另外的实施例中,在服务器上发起某些用户修改命令,而在客户机发起其它的用户修改命令。块1106-1116只提供了一个示例性的例子,所述例子示出了如何实现这样的判断和如何完成客户机修改命令,使得在第一情景中,在服务器发起所述用户命令,而在第二情景中,在客户机发起所述用户命令。
对照块1106-1116所描述的所述过程基于例如完整图象模式或轮廓模式的用户为客户机修改模式选择的模式调整所述过程。在某些环境下,与其它过程相比,这样的实施例可能能够提供一个从美学观点上更加令人愉快的用户界面。如上面所注释的,其它的示例性过程同样地对待所有的修改模式而不是区别对待这些可利用的模式并相应地定制所述响应。
在这个特定的实施例中,在块1106,所述过程确定所述客户机机器是否处于轮廓模式中。在一些实例中,用户先前已经选择了图形窗口移动/调整尺寸的模式,或者由于没有进行这样的用户选择,所述客户机机器可以缺省地进入特定模式。在任一种情况中,可以从客户机机器向服务器机器分发所述图形窗口移动/调整尺寸的模式。例如,所述客户机机器可以自动地报告它的图形窗口移动/调整尺寸的模式。在其它的配置中,所述服务器机器可以向客户机机器查询窗口移动/调整尺寸的模式。在这些实例中,如果客户机机器处于轮廓模式,那么所述过程前进到块1108,否则,所述过程前进到块1110。
在块1108,所述过程向客户机机器传送关于用户移动/调整尺寸命令的数据。然后,所述过程前进到块1112。
在块1110,所述过程在服务器机器上发起用户移动/调整尺寸命令。例如,可以更新所述服务器应用程序图形窗口以反映用户命令。用于更新客户机代理图形窗口的通信用于更新客户机,并且更新后的服务器应用程序图形窗口被遥控并被描绘在所述更新后的代理图形窗口上。
在块1112,所述过程在客户机机器的代理图形窗口上发起图形窗口的移动/调整尺寸。在一个实施例中,客户机从服务器机器接收移动/调整尺寸的开始信息,并且在远程应用程序的代理图形窗口上开始相应的移动/尺寸调整。开始所述图形窗口移动/调整尺寸的方式可以依赖于所述用户发出的移动/调整尺寸的命令原始是怎样开始的。例如,如果用户是利用系统菜单开始移动/调整尺寸,那么可以利用一个适当的系统命令将系统命令消息传递到代理图形窗口。对于鼠标发起的移动/调整尺寸,所述客户机在代理图形窗口上执行相应的动作。
在块1114,响应于在客户端代理图形窗口上完成用户命令,所述过程更新服务器应用程序图形窗口。在块1116,所述过程传送被更新后的服务器应用程序图形窗口,以再同步所述远程生成的应用程序窗口和所述客户机代理图形窗口。
虽然已经以结构特征和/或方法专用的语言描述了关于使图形窗口修改命令能够被应用到远程生成的图形窗口的实施例,但是应该理解,所附权利要求的主题不必限定为所描述的具体特征或方法。相反地,所述具体特征和方法为上面和下面所描述的概念提供了实施的例子。

Claims (9)

1.一种用于使图形窗口修改命令能够被应用到远程生成的图形窗口的方法,包括:
在第一机器生成一个应用程序图形窗口;
与远程终端会话相一致地向第二机器发送所述应用程序图形窗口的一个表示;
检测来自所述第二机器、用于修改所述表示的用户命令;
确定用户为客户机修改模式所选择的模式是完整图像模式还是轮廓模式;
当确定用户所选择的模式是轮廓模式时:
向所述第二机器传送关于所述用户命令的数据,以允许所述第二机器修改相应的客户机代理图形窗口;
在所述客户机代理图形窗口上发起所述用户命令;
响应于在客户机代理图形窗口上完成所述用户命令,更新所述应用程序窗口以对应于所述客户机代理图形窗口;以及
向所述第二机器传送所述应用程序窗口的更新后的表示;
当确定用户所选择的模式是完整图像模式时:
在所述第一机器发起所述用户命令。
2.根据权利要求1所述的方法,其特征在于,所述检测包括检测正在进行的用户命令。
3.根据权利要求1所述的方法,其特征在于,所述检测包括检测用户鼠标按键按下点击。
4.根据权利要求3所述的方法,其特征在于,所述传送包括传送关于当鼠标按键按下点击发生时所述鼠标所处的第一位置和更新后的第二鼠标位置的数据。
5.根据权利要求1所述的方法,其特征在于,所述更新包括接收关于所述客户机代理图形窗口的参数,以及相应地更新所述应用程序图形窗口。
6.根据权利要求1所述的方法,其特征在于,所述用于修改所述表示的用户命令包括用于调整所述表示的尺寸的用户命令。
7.根据权利要求1所述的方法,其特征在于,用户为客户机修改模式所选择的模式关于图形窗口的移动或图形窗口的尺寸调整中的至少一种。
8.一种用于使图形窗口修改命令能够被应用到远程生成的图形窗口的系统,包括:
用于在第一机器生成一个应用程序图形窗口的装置;
用于与远程终端会话相一致地向第二机器发送所述应用程序图形窗口的一个表示的装置;
用于检测来自所述第二机器、用于修改所述表示的用户命令的装置;
用于确定用户为客户机修改模式所选择的模式是完整图像模式还是轮廓模式的装置;
当确定用户所选择的模式是轮廓模式时,所述系统还包括:
用于向所述第二机器传送关于所述用户命令的数据,以允许所述第二机器修改相应的客户机代理图形窗口的装置;
用于在所述客户机代理图形窗口上发起所述用户命令的装置;
用于响应于在客户机代理图形窗口上完成所述用户命令,更新所述应用程序窗口以对应于所述客户机代理图形窗口的装置;以及
用于向所述第二机器传送所述应用程序窗口的更新后的表示的装置;
当确定用户所选择的模式是完整图像模式时,所述系统还包括:
用于在所述第一机器发起所述用户命令的装置。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括用于接收一个指示所述第二机器的用户所选的图形窗口修改模式的通信的装置,其中用户所选的图形窗口修改模式关于图形窗口的移动或图形窗口的尺寸调整中的至少一种。
CN2006800184206A 2005-06-21 2006-05-05 使图形窗口修改命令能够被应用到远程生成的图形窗口的方法和系统 Expired - Fee Related CN101203842B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/158,229 2005-06-21
US11/158,229 US7533189B2 (en) 2005-06-21 2005-06-21 Enabling a graphical window modification command to be applied to a remotely generated graphical window
PCT/US2006/017568 WO2007001632A2 (en) 2005-06-21 2006-05-05 Enabling a graphical window modification command to be applied to a remotely generated graphical window

Publications (2)

Publication Number Publication Date
CN101203842A CN101203842A (zh) 2008-06-18
CN101203842B true CN101203842B (zh) 2010-05-19

Family

ID=37574801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800184206A Expired - Fee Related CN101203842B (zh) 2005-06-21 2006-05-05 使图形窗口修改命令能够被应用到远程生成的图形窗口的方法和系统

Country Status (9)

Country Link
US (2) US7533189B2 (zh)
EP (1) EP1896975A4 (zh)
JP (1) JP5123176B2 (zh)
KR (1) KR20080026532A (zh)
CN (1) CN101203842B (zh)
BR (1) BRPI0609921A2 (zh)
MX (1) MX2007014548A (zh)
RU (1) RU2420797C2 (zh)
WO (1) WO2007001632A2 (zh)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130104062A1 (en) 2011-09-27 2013-04-25 Z124 Unified desktop input segregation in an application manager
US9678624B2 (en) 2011-09-27 2017-06-13 Z124 Unified desktop triad control user interface for a phone manager
US9268518B2 (en) 2011-09-27 2016-02-23 Z124 Unified desktop docking rules
US9405459B2 (en) 2011-08-24 2016-08-02 Z124 Unified desktop laptop dock software operation
US9715252B2 (en) 2011-08-24 2017-07-25 Z124 Unified desktop docking behavior for window stickiness
US9529494B2 (en) 2011-09-27 2016-12-27 Z124 Unified desktop triad control user interface for a browser
US7533189B2 (en) 2005-06-21 2009-05-12 Microsoft Corporation Enabling a graphical window modification command to be applied to a remotely generated graphical window
US7636794B2 (en) * 2005-10-31 2009-12-22 Microsoft Corporation Distributed sensing techniques for mobile devices
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7817991B2 (en) * 2006-02-14 2010-10-19 Microsoft Corporation Dynamic interconnection of mobile devices
KR100775554B1 (ko) * 2006-03-10 2007-11-15 주식회사 케이티프리텔 콘텐츠 기반의 다이나믹 바탕화면 서비스 제공 방법 및시스템
TW200813806A (en) * 2006-06-27 2008-03-16 Ibm Method, program, and data processing system for modifying shape of display object
US20080120570A1 (en) * 2006-11-22 2008-05-22 Bluetie, Inc. Methods for managing windows within an internet environment and systems thereof
US20080238929A1 (en) * 2007-03-30 2008-10-02 Nadim Abdo Local Themeing Of Remote Applications
US8286082B2 (en) 2007-09-12 2012-10-09 Citrix Systems, Inc. Methods and systems for providing, by a remote machine, access to a desk band associated with a resource executing on a local machine
US20100164839A1 (en) * 2008-12-31 2010-07-01 Lyons Kenton M Peer-to-peer dynamically appendable logical displays
US8676926B2 (en) * 2009-04-15 2014-03-18 Wyse Technology L.L.C. System and method for handling remote drawing commands
US8863237B2 (en) 2009-04-15 2014-10-14 Wyse Technology L.L.C. Remote-session-to-go method and apparatus
US9553953B2 (en) 2009-04-15 2017-01-24 Dell Products L.P. Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application
US20100268762A1 (en) * 2009-04-15 2010-10-21 Wyse Technology Inc. System and method for scrolling a remote application
US9448815B2 (en) 2009-04-15 2016-09-20 Wyse Technology L.L.C. Server-side computing from a remote client device
US9189124B2 (en) 2009-04-15 2015-11-17 Wyse Technology L.L.C. Custom pointer features for touch-screen on remote client devices
US9578113B2 (en) 2009-04-15 2017-02-21 Wyse Technology L.L.C. Method and apparatus for transferring remote session data
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US20110066971A1 (en) * 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices
US20110219331A1 (en) * 2010-03-02 2011-09-08 International Business Machines Corporation Window resize on remote desktops
CN102270152A (zh) * 2010-06-07 2011-12-07 华东师范大学 面向掌上型移动设备的远程应用程序系统
US8266551B2 (en) * 2010-06-10 2012-09-11 Nokia Corporation Method and apparatus for binding user interface elements and granular reflective processing
US8335991B2 (en) * 2010-06-11 2012-12-18 Microsoft Corporation Secure application interoperation via user interface gestures
US9021402B1 (en) 2010-09-24 2015-04-28 Google Inc. Operation of mobile device interface using gestures
US8607158B2 (en) * 2010-12-09 2013-12-10 International Business Machines Corporation Content presentation in remote monitoring sessions for information technology systems
US8806360B2 (en) 2010-12-22 2014-08-12 International Business Machines Corporation Computing resource management in information technology systems
US20120192100A1 (en) * 2011-01-25 2012-07-26 Motorola-Mobility, Inc. Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
US20120216152A1 (en) * 2011-02-23 2012-08-23 Google Inc. Touch gestures for remote control operations
TW201239675A (en) * 2011-03-18 2012-10-01 Acer Inc Handheld devices, and related data transmission methods
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US10417018B2 (en) 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US9843665B2 (en) * 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10983747B2 (en) * 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US10976981B2 (en) * 2011-07-15 2021-04-13 Vmware, Inc. Remote desktop exporting
US20160124698A1 (en) 2011-08-24 2016-05-05 Z124 Unified desktop triad control user interface for an application launcher
US20130080932A1 (en) 2011-09-27 2013-03-28 Sanjiv Sirpal Secondary single screen mode activation through user interface toggle
US11416131B2 (en) 2011-09-27 2022-08-16 Z124 Unified desktop input segregation in an application manager
US9703468B2 (en) * 2011-09-27 2017-07-11 Z124 Unified desktop independent focus in an application manager
EP2784641B1 (en) * 2011-11-24 2018-11-28 LG Electronics Inc. User interface display method and device using same
US9164544B2 (en) 2011-12-09 2015-10-20 Z124 Unified desktop: laptop dock, hardware configuration
US8996729B2 (en) 2012-04-12 2015-03-31 Nokia Corporation Method and apparatus for synchronizing tasks performed by multiple devices
CN104137064B (zh) 2011-12-28 2018-04-20 诺基亚技术有限公司 应用切换器
CN104020968B (zh) * 2013-02-28 2019-02-26 中兴通讯股份有限公司 控制共享屏幕显示的方法及装置
US10430036B2 (en) * 2012-03-14 2019-10-01 Tivo Solutions Inc. Remotely configuring windows displayed on a display device
EP2648096A1 (en) 2012-04-07 2013-10-09 Samsung Electronics Co., Ltd Method and system for controlling display device and computer-readable recording medium
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
US9201563B2 (en) * 2012-10-10 2015-12-01 Google Inc. Mobile device friendly window management for remote desktop
US9679344B2 (en) * 2012-10-24 2017-06-13 Nubo Software Server-based fast remote display on client devices
US9380562B1 (en) 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for providing notifications from a virtual device to a disconnected physical device
US9380523B1 (en) 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for connecting roaming mobile devices to a virtual device platform
US9380456B1 (en) 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform
US9697629B1 (en) 2013-01-22 2017-07-04 Hypori, Inc. System, method and computer product for user performance and device resolution settings
US9819593B1 (en) 2013-01-22 2017-11-14 Hypori, Inc. System, method and computer program product providing bypass mechanisms for a virtual mobile device platform
US9667703B1 (en) 2013-01-22 2017-05-30 Hypori, Inc. System, method and computer program product for generating remote views in a virtual mobile device platform
US9619673B1 (en) 2013-01-22 2017-04-11 Hypori, Inc. System, method and computer program product for capturing touch events for a virtual mobile device platform
KR102163909B1 (ko) * 2013-06-14 2020-10-12 삼성전자주식회사 무선 통신 시스템에서 어플리케이션 데이터를 디스플레이하기 위한 방법 및 장치
US9912724B2 (en) * 2013-12-06 2018-03-06 Vmware, Inc. Moving objects of a remote desktop in unstable network environments
TWI509454B (zh) * 2014-02-17 2015-11-21 Noodoe Corp 基於動作偵測之作業啟始方法及系統,及相關電腦程式產品
JP6280435B2 (ja) * 2014-04-28 2018-02-14 富士通コンポーネント株式会社 プログラム、中継装置及び情報処理装置
US10082941B2 (en) * 2015-05-20 2018-09-25 Vmware, Inc. Optimizing window move actions for remoted applications
CN105159672B (zh) * 2015-08-28 2019-08-30 小米科技有限责任公司 远程协助方法和客户端
US10564829B2 (en) * 2016-03-25 2020-02-18 Vmware, Inc. Optimizing window resize actions for remoted applications
US20180218056A1 (en) * 2017-01-30 2018-08-02 Netzyn, Inc. System and method for reducing perceived latency in a display-server computing system
CN107390970A (zh) * 2017-06-15 2017-11-24 深信服科技股份有限公司 文本框展示方法、服务器、用户终端及存储介质
US11449213B1 (en) * 2021-02-26 2022-09-20 Citrix Systems, Inc. Host to client drag-and-drop operation
US11669361B1 (en) * 2021-04-01 2023-06-06 Ai-Blockchain, Inc. System, method and program product for optimizing computer processing power in cloud computing systems

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298432A (ja) * 1987-05-29 1988-12-06 Hitachi Ltd ウィンドウ操作処理方式
US5043919A (en) * 1988-12-19 1991-08-27 International Business Machines Corporation Method of and system for updating a display unit
US5255361A (en) * 1988-12-19 1993-10-19 International Business Machines Corporation Method of and system for updating a display unit
US5263134A (en) * 1989-10-25 1993-11-16 Apple Computer, Inc. Method and apparatus for controlling computer displays by using a two dimensional scroll palette
US5553223A (en) * 1990-04-03 1996-09-03 U S West Advanced Technologies, Inc. Method and system of selectively transmitting display formats and data between a host computer and an intelligent terminal
DE69523593T2 (de) * 1994-06-17 2002-09-26 Intel Corp Vorrichtung und verfahren zur aufteilung der anwendung in einer graphischen benutzerschnittstelle
GB2296114A (en) * 1994-12-13 1996-06-19 Ibm Updating display screens of local and remote workstations
US6437803B1 (en) * 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US5757925A (en) * 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US6901435B1 (en) * 1999-06-17 2005-05-31 Bmc Software, Inc. GUI interpretation technology for client/server environment
US6971110B1 (en) * 2000-02-19 2005-11-29 Hewlett-Packard Development Company, L.P. System and method to pace event sharing collaboration across multiple distributed applications
EP1215570A1 (en) 2000-12-13 2002-06-19 Pentap Technologies AG Providing a windows-based user interface
US7376695B2 (en) * 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US6989836B2 (en) * 2002-04-05 2006-01-24 Sun Microsystems, Inc. Acceleration of graphics for remote display using redirection of rendering and compression
JP2003345716A (ja) * 2002-05-29 2003-12-05 Matsushita Electric Ind Co Ltd 遠隔操作システム及び遠隔操作方法並びにその方法の実行に使用される記録媒体
US7046134B2 (en) * 2002-06-27 2006-05-16 Axeda Corporation Screen sharing
US7140024B2 (en) * 2002-07-29 2006-11-21 Silicon Graphics, Inc. System and method for managing graphics applications
US20040128399A1 (en) * 2002-12-31 2004-07-01 Motorola, Inc. Media stream control system and protocol
US20050278698A1 (en) * 2003-02-03 2005-12-15 John Verco Multi-window based graphical user interface (GUI) for web applications
US7676675B2 (en) * 2003-06-06 2010-03-09 Microsoft Corporation Architecture for connecting a remote client to a local client desktop
KR100982511B1 (ko) * 2003-10-08 2010-09-16 삼성전자주식회사 원격 제어 장치 및 방법
US7275212B2 (en) * 2003-10-23 2007-09-25 Microsoft Corporation Synchronized graphics and region data for graphics remoting systems
US7487454B2 (en) * 2004-04-26 2009-02-03 Microsoft Corporation Managing arbitrary window regions for more effective use of screen space
US7533189B2 (en) 2005-06-21 2009-05-12 Microsoft Corporation Enabling a graphical window modification command to be applied to a remotely generated graphical window

Also Published As

Publication number Publication date
EP1896975A4 (en) 2012-09-19
BRPI0609921A2 (pt) 2010-05-11
CN101203842A (zh) 2008-06-18
RU2420797C2 (ru) 2011-06-10
JP2008544399A (ja) 2008-12-04
US7533189B2 (en) 2009-05-12
US7757004B2 (en) 2010-07-13
MX2007014548A (es) 2008-01-16
KR20080026532A (ko) 2008-03-25
WO2007001632A3 (en) 2007-09-27
WO2007001632A2 (en) 2007-01-04
EP1896975A2 (en) 2008-03-12
US20060288306A1 (en) 2006-12-21
JP5123176B2 (ja) 2013-01-16
US20090193340A1 (en) 2009-07-30
RU2007147629A (ru) 2009-06-27

Similar Documents

Publication Publication Date Title
CN101203842B (zh) 使图形窗口修改命令能够被应用到远程生成的图形窗口的方法和系统
US10198101B2 (en) Multi-touch manipulation of application objects
US20090327871A1 (en) I/o for constrained devices
US20080229197A1 (en) Dynamic and intelligent hover assistance
CN107077348B (zh) 跨设备的经分割的应用呈现
EP3714355B1 (en) Expanding physical motion gesture lexicon for an automated assistant
WO2018010021A1 (en) Pointer control in a handheld computer by way of hid commands
US20230054717A1 (en) Ui control generation and trigger methods, and terminal
JP6287861B2 (ja) 情報処理装置、情報処理方法、及び、プログラム記憶媒体
US20180090027A1 (en) Interactive tutorial support for input options at computing devices
CN111352499B (zh) 一种应用控制的方法、装置、终端设备和介质
EP4290361A1 (en) Display control method and apparatus for pointer in window, device, and storage medium
US20190041997A1 (en) Pointer control in a handheld computer by way of hid commands
KR101506006B1 (ko) 터미널 환경의 서버 기반 컴퓨팅 시스템에서 동적 표시되는 마우스 ui 지원을 위한 터치 스크린 단말 장치 및 마우스 ui 지원 방법
KR20150009376A (ko) 터미널 환경의 서버 기반 컴퓨팅 시스템에서 마우스 ui 지원을 위한 터치 스크린 단말 장치 및 마우스 ui 지원 방법
JP7085311B2 (ja) 情報処理装置、情報処理システム、情報処理方法、情報処理プログラム
JP2013109564A (ja) 情報処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
C06 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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100519

Termination date: 20140505