适配远程台式主机的用户界面的制作方法

文档序号:6374275阅读:200来源:国知局
专利名称:适配远程台式主机的用户界面的制作方法
技术领域
本文中公开的主题涉及远程桌面连接,并且更为具体地涉及对主机的用户界面进行适配以适应远程客户端的用户界面特性。
背景技术
比如触摸敏感设备和分体式系统个人计算机(“PC”)架构的便携式计算设备的增加已经导致更多的远程桌面连接实例,该远程桌面连接从这些通常具有较小的屏幕和触摸界面的便携式计算设备或分体式系统PC的平板部分连接到常规远程PC主机。主机PC的用户界面通常使用具有较小的屏上物体的键盘/鼠标输入范式,以便针对较大的PC显示器尺寸,该较小的屏上物体能够被放大。使用较小的客户端设备导航使用远程桌面连接的主机PC可以包括在远程客户端 上进行平移和缩放来适应主机PC界面。这导致缓慢且不方便的用户体验。

发明内容
基于前述讨论,发明人已经认识到需要用于适配远程台式主机的用户界面的装置和方法。有益地,这种装置和方法可以适配远程台式主机的用户界面,以适应远程客户端的用户界面特性。响应于本领域的当前状态,特别是响应于本领域中利用当前可用远程台式主机还未被完全解决的问题和需求,已经研发了本公开的实施例。相应地,上述实施例已经被研发来提供用于适配远程台式主机的用户界面的装置和方法,该装置和方法克服了本领域的上述问题中的许多或全部。提供了一种装置,该装置具有处理器、存储器和多个模块,该多个模块被配置为在功能上执行下述步骤检测远程客户端和主机之间的远程桌面连接,以及适配主机的用户界面。所述实施例中的至少一部分中的这些模块包括检测模块和适配模块。在一个实施例中,检测模块检测远程客户端和主机之间的远程桌面连接。远程客户端和主机可以具有不同的用户界面特性。在一个实施例中,适配模块适配主机的用户界面,以适应远程客户端的用户界面特性。还提出了一种方法,在所公开的实施例中,该方法主要包括用于执行如上针对所述装置的操作呈现的功能的步骤。在一个实施例中,该方法包括检测远程客户端和主机之间的远程桌面连接。远程客户端和主机可以具有不同的用户界面特性。在一个实施例中,该方法还包括适配主机的用户界面,以适应远程客户端的用户界面特性。还提出了一种计算机程序产品。在一个实施例中,该计算机程序产品包括检测远程客户端和主机之间的远程桌面连接。远程客户端和主机可以具有不同的用户界面特性。在一个实施例中,该计算机程序产品还包括适配主机的用户界面,以适应远程客户端的用户界面特性。整个说明书中对特征、优点的引用或类似语言不暗含所有特征和优点可以在任何单个实施例中实现。相反,关于特征和优点的语言被理解为意味着在至少一个实施中包括的特定特征、优点或特性。因此,整个说明书中的关于特征和优点的讨论和类似语言可以但不必指代同一实施例。此外,上述实施例的所述特征、优点和特性可以以任何合适的方式组合。相关领域的技术人员将认识到,可以在没有一个或多个特定实施例的特定特征或优点的情况下实践上述实施例。在其它实例中,在某些实施例中可以考虑在所有实施例中没有呈现的其它特征和优点。根据下述描述和所附权利要求,上述实施例的这些特征和优点将全部变得更加显而易见,或者上述实施例的这些特征和优点可以通过实践下文中阐述的实施例来学习。


通过参考在附图中例示的特定实施例,将会呈现如上简要描述的实施例的更为具 体的描述。要理解的是,这些附图仅仅描绘一些实施例,并且因此不被认为是限制范围。将通过使用附图,利用其它特征和细节来描述和说明上述实施例。在附图中图I是例示根据本主题的计算机系统的一个实施例的方框示意图;图2是例示根据本主题的用于适配远程台式主机的用户界面的系统的一个实施例的方框示意图;图3是例示根据本主题的计算系统的一个实施例的方框示意图;图4是例示根据本主题的计算系统的一个实施例的透视图;图5是例示根据本主题的计算系统的一个实施例的透视图;图6是例示根据本主题的用于适配远程台式主机的用户界面的装置的一个实施例的方框示意图;图7是例示根据本主题的用于适配远程台式主机的用户界面的方法的一个实施例的流程示意图;图8是例示根据本主题的用于适配远程台式主机的用户界面的方法的另一实施例的流程示意图;和图9是例示根据本主题的用于适配远程台式主机的用户界面的方法的另一实施例的详细流程示意图。
具体实施例方式如本领域技术人员将明白的是,上述实施例的各个方面可以被具体实现为系统、方法或程序产品。相应地,实施例可以采用完全硬件实施例的形式,完全软件实施例(包括固件、常驻软件、宏代码等)的形式,或者组合本文中都可以统称为“电路”、“模块”或“系统”的软件和/或硬件方面的实施例的形式。此外,实施例可以采用包含在存储机器可读代码的一个或多个存储设备中的程序产品的形式。存储设备可以是可触及的、非暂时性的和/或非可传输性的。在本说明书中描述的许多功能单元已经被标记为模块,以便更为特别地强调它们的实现独立性。例如,模块可以被实现为包括定制VLSI电路或门阵列、比如逻辑芯片、晶体管的现货供应的半导体器件或其它分立组件的硬件电路。模块还可以在可编程硬件设备中实现,比如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等。模块还可以在供各种类型的处理器执行的机器可读代码和/或软件中实现。机器可读代码的识别模块例如可以包括一个或多个物理或逻辑可执行代码块,该一个或多个物理或逻辑可执行代码块可以被组织为对象、程序或函数。然而,识别模块的执行不必在物理上放置在一起,而是可以包括存储在不同位置中的不同指令,当在逻辑上连接到一起时,该不同指令包括上述模块并实现该模块的所述目的。实际上,机器可读代码的模块可以是单个指令或多个指令,并且甚至可以分布在若干不同代码段、不同程序以及若干存储器设备上。类似地,在本文中,操作数据可以在模块内识别和例示,并且可以以任何合适的形式实现以及在任何合适类型的数据结构内组织。操作数据可以被收集作为单个数据集,或者可以分布在不同位置上,包括分布在不同存储设备上,并且可以至少部分地仅仅作为电信号存在于系统或网络上。在模块或模块的部分以软件实现的情况下,软件部分存储在一个或多个存储设备上。可以使用一个或多个机器可读介质的任何组合。机器可读存储介质可以是机器可 读信号介质或存储设备。机器可读介质可以是存储机器可读代码的存储设备。存储设备例如可以是但不限于电、磁、光学、电磁、红外、全息、微机械或半导体系统、装置或设备,或者前述的任何合适组合。存储设备的更为具体的示例(非排他性列表)将包括下述具有一个或多个布线的电连接、便携式计算机盘片、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或快闪存储器)、便携式紧凑盘只读存储器(CD-ROM)、光学存储设备、磁性存储设备,或前述的任何合适组合。在本文档的上下文中,计算机可读介质可以是任何可触及介质,该可触及介质可以包含或存储供指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用的程序。机器可读信号介质可以包括例如在基带中或作为载波的一部分传播的数据信号,该数据信号中包含机器可读代码。这种被传播的信号可以采用各种形式中的任何一种,包括但不限于电磁形式、光学形式或它们的任何合适组合。机器可读信号介质可以是任何不是计算机可读存储介质且可以传送、传播或传输供指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用的程序的存储设备。存储设备中包含的机器可读代码可以使用任何合适的介质传输,包括但不限于无线、有线、光纤线缆、射频(RF)等,或者前述的任何合适组合。用于执行实施例的操作的机器可读代码可以以一个或多个编程语言的任何组合编写,包括比如Java、Smalltalk、C++等的面向对象编程语言以及比如“C”编程语言或类似编程语言的常规过程编程语言。机器可读代码可以整体在用户计算机上执行,作为单独的软件包部分在用户计算机上执行,或者部分在用户计算机上以及部分在远程计算机上执行,或者整体在远程计算机或服务器上执行。在后面的情形下,远程计算机可以通过任何类型的网络连接到用户计算机,包括局域网(LAN)或广域网(WAN),或者可以(例如,通过使用互联网服务提供商的互联网)进行去往外部计算机的连接。整个说明书中的对“一个实施例”或“实施例”或类似语言的引用意味着结合该实施例描述的特定特征、结构或特性包括在至少一个实施例中。因此,在整个本说明书中的各处出现的短语“在一个实施例中”或“在实施例中”或类似语言不必都指代同一实施例,而是意味着“一个或多个但不是所有实施例”,除非以其它方式明确指定。术语“包括”、“包含”、“具有”及其变型意味着“包含但不限于”,除非以其它方式明确指定。对术语的枚举式列出不是隐含上述术语中的任何一个或所有是相互排斥的,除非以其它方式明确指定。术语“一”和“该”也指代“一个或多个”,除非以其它方式明确指定。此外,可以按照合适的方式组合上述实施例中的所述特征、结构或特性。在下面的描述中,提供了许多具体细节(比如,编程、软件模块、用户选择、网络交易、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的示例),以便提供对实施例的全面理解。然而,相关领域的技术人员将认识到,可以在没有上述具体细节中的一个或多个的情况下或者利用其它方法、组件、材料等实践各个实施例。在其它实例中,没有详细地示出或描述公知的结构、材料或操作,以便避免混淆本发明的各个方面。下面参照根据实施例的方法、装置、系统和程序产品的示意流程图和/或示意方框图,描述上述实施例的各个方面。将要理解的是,示例流程图和/或示意方框图中的每个块以及示例流程图和/或示意方框图中的块的组合可以利用机器可读代码实现。这些机器 可读代码可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器来制成机器,从而使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现示意流程图和/或示意方框图块中指定的功能/动作的模块。机器可读代码还可以存储在存储设备中,该存储设备可以指导计算机、其它可编程数据处理装置或其它设备来以特定方式作用,从而使得存储设备中存储的指令制成制品,该制品包括实现示意流程图和/或示意方框图块中指定的功能/动作的指令。还可以将机器可读代码加载到计算机、其它可编程数据处理装置或其它设备上,从而使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤来产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令提供实现流程图和/或方框图块中指定的功能/动作的过程。附图中的示意流程图和/或示意方框图例示了根据各个实施例的装置、系统、方法和程序产品的可能实现的体系架构、功能和操作。在这点上,示例流程图和/或示意方框图中的每个块可以表示代码模块、代码段或代码部分,其包括用于实现所指定的逻辑功能的程序代码的一个或多个可执行指令。还应该注意的是,在一些替换实现中,块中记录的功能可以不按照图中记录的顺序出现。例如,取决于所涉及的功能,连续示出的两个块实际上可以是基本上同时执行,或者上述块有时可以按照相反的顺序执行。其它步骤和方法可以被设想为在功能、逻辑或效果上等价与所例示的图形中的一个或多个块或它的一部分。尽管在流程图和/或方框图中可以使用各种箭头类型和直线类型,但是它们被理解为不是限制对应实施例的范围。实际上,可以使用一些箭头或其它连接器来指示仅仅所述实施例的逻辑流。例如,箭头可以指示所述实施例的所列出步骤之间的未被指定的持续时间的等待或监视时段。还将注意的是,方框图和/或流程图中的每个块以及方框图和/或流程图中的块的组合可以利用基于专用硬件的系统或专用硬件和机器可读代码的组合实现,该基于专用硬件的系统执行所指定的功能或动作。图I是例示计算机系统100的一个实施例的示意方框图。计算机系统100包括处理器105、存储器110、IO模块115、图形模块120、显示模块125、基本输入/输出系统(“BIOS”)模块130、网络模块135、通用串行总线(“USB”)模块140、音频模块145、快速外设组件互连(“PCIe”)模块150以及存储模块155。本领域技术人员将认识到,本文描述的实施例中可以使用计算机系统100的其它配置或多个计算机系统100。本文中称为组件的处理器105、存储器110、IO模块115、图形模块120、显示模块125、BIOS模块130、网络模块135、USB模块140、音频模块145、PCIe模块150以及存储模块155可以由一个或多个半导体衬底上的半导体门电路制成。每个半导体衬底可以封装在安装在电路卡上的一个或多个半导体器件中。组件之间的连接可以通过半导体金属层、衬底到衬底的布线、电路卡迹线和/或连接半导体器件的布线。存储器110存储计算机可读程序。如本领域技术人员所公知的,处理器105执行计算机可读程序。计算机可读程序可以可触及地存储在存储模块155中。存储模块155可以包括至少一个固态设备(“SSD”)。另外,存储模块155可以包括硬盘驱动器、光学存储设备、全息存储设备、微机械存储设备等。
处理器105可以包括集成高速缓存来减少存储器115的平均访问时间。集成高速缓存可以存储来自最常使用的存储器110的存储位置的指令和数据的副本。处理器105可以与存储器110和图形模块120通信。另外,处理器105可以与IO模块115通信。IO模块115可以支持并与BIOS模块130、网络模块135、PCIe模块150和存储模块155通信。PCIe模块150可以与IO模块115通信,用于将数据或电力传送到外设设备。PCIe模块150可以包括用于附接外设设备的PCIe总线。PCIe总线可以通过相同的连接集来在逻辑上连接若干外设设备。外设设备可以从打印机、操纵杆、扫描仪等中选择。PCIe模块150还可以包括本领域技术人员公知的扩展卡。BIOS模块130可以通过IO模块115传送指令来引导计算机系统100,从而存储模块155上存储的计算机可读软件指令可以加载、执行以及承担(assume)对计算机系统100的控制。或者,BIOS模块130可以包括嵌入在芯片组上的已编码程序,该程序识别并控制组成计算机系统100的各个设备。网络模块135可以与10模块115通信,从而允许计算机系统100通过网络与其它设备通信。该设备可以包括路由器、桥接器、计算机、打印机等。显示模块125可以与图形模块120通信来显示信息。显示模块125可以是阴极射线管(“CRT”)、液晶显示(“IXD”)监视器等。USB模块140可以通过USB总线与一个或多个USB兼容设备通信。音频模块145可以生成音频输出。图2例示了用于适配远程台式主机的用户界面的系统200的一个实施例。该系统包括主机205、网络215和远程客户端220。主机205可以包括用户界面适配装置210。主机205可以包括远程台式主机,并且可以被具体实现为信息处理设备、计算设备和/或类似设备。主机205可以包括图I的计算机系统100的一个实施例,和/或可以包括图I中的计算系统100的组件的一部分,包括存储器110、用于存储计算机可读程序的存储模块155、和/或执行计算机可读程序的处理器105,如本领域技术人员所知。主机205可以被具体实现为台式计算机、服务器、便携式计算机、平板计算机等。主机205可以被配置为与远程客户端220通信,并且为远程客户端220提供图形界面,以在远程桌面会话期间通过远程桌面连接访问主机205。远程桌面连接可以允许比如图形应用的应用在远程桌面会话期间在主机205上远程运行,同时显示在远程客户端220上。远程桌面连接可以允许远程客户端220连接到和/或控制主机205的登录会话。在一个实施例中,主机205执行操作系统和/或应用,该应用提供、集成和/或执行用于主机205的远程桌面能力的应用。在一个实施例中,远程桌面连接是根据M丨CROSOFT 的远程桌面协议(“RDP”)的远程桌面连接。在其它实施例中,主机205可以使用任何合适的远程桌面应用和/或协议来提供远程桌面连接。网络215可以被具体实现为全球通信网络,比如互联网、局域网(“LAN”)、通过互联网通信的多个LAN、无线局域网(“WLAN”)、或者任何其它合适的通信网络。在一个实施例中,网络215是网络驱动器接口规范(“NDIS”)兼容网络。在某一实施例中,网络215是远程 NDIS (“RNDIS”)网络。远程客户端220可以包括远程桌面客户端,并且可以被具体实现为信息处理设备、计算设备和/或类似设备。远程客户端220可以包括图I的计算机系统100的一个实 施例,和/或可以包括图I中的计算系统100的组件的至少一部分,包括存储器110、用于存储计算机可读程序的存储模块155、和/或执行计算机可读程序的处理器105,如本领域技术人员所知。远程客户端220可以被具体实现为便携式或手持电子/计算设备,比如个人桌面助理(“PDA”)、平板计算机、片状或板状计算机、电子书阅读器、移动电话、智能电话等。在其它实施例中,远程客户端220可以被具体实现为台式计算机、便携式计算机、服务器、大型计算机等。远程客户端220可以被配置为如上所述在远程桌面会话时,通过远程桌面连接与主机205通信。远程桌面连接可以允许远程客户端220运行主机205上的应用。在一个实施例中,远程客户端220执行操作系统和/或应用,该应用提供、集成和/或执行用于远程客户端能力的应用。在一个实施例中,远程客户端220和主机205具有不同的用户界面特性。在某些实施例中,远程客户端220是相对于主机205具有更小的显示器的便携式或手持电子/计算设备。在一个实施例中,远程客户端220的用户界面是触摸敏感式用户界面,并且主机205的用户界面针对具有较小的屏上物体的键盘/鼠标输入范式进行配置,以便针对较大的PC显示器尺寸,该较小的屏上物体能够被放大。使用远程客户端220导航并与主机205的用户界面交互可以使得用户在远程客户端220上进行平移和缩放。因此,主机205包括用户界面适配装置210。用户适配装置可以在远程桌面会话期间,针对远程客户端220和主机205之间的远程桌面连接,适配主机205的用户界面来适应远程客户端220的用户界面特性。用户界面适配装置210可以确定远程客户端220的用户界面/设备特性,并且在远程桌面会话期间,相应地适配主机205的用户界面特性。用户界面适配装置210可以适配主机205的屏幕分辨率、文本尺寸、图标尺寸、输入域尺寸、菜单配置等,从而使得远程客户端220上的用户可以更加容易地通过远程桌面连接与主机205进行交互。用户界面适配装置210可以驻留在主机205中或者与主机205通信。用户界面适配装置210的全部或者一部分可以存储在存储器上并由(例如,主机205的)处理器执行,和/或可以被实现为逻辑硬件。此外,在一个实施例中,用户界面适配装置210可以与远程桌面应用、驱动器等通信和/或集成在一起。
图3是例示计算机系统300的一个实施例的方框示意图。计算机系统300包括基体305和可分离设备315。基体305通过连接310连接到可分离设备315,该连接310包括基体连接310a和可分离设备连接310b。在一个实施例中,基体连接310a和可分离设备连接310b是通用串行总线(USB)连接。或者,基体连接310a和可分离设备连接310b可以是电气电子工程师协会(IEEE) 1394接口(1394)连接、高清多媒体接口(HDMI)连接、定制串行总线连接、定制并行总线连接等。在一个实施例中,如果可分离设备315和基体305相连,则可分离设备315为基体305提供显示器。另外,可分离设备315可以为基体305提供其它功能。在某一实施例中,可分离设备315提供网络连接。基体305可以提供与可分离设备一起使用的附加资源。例如,基体305可以包括海量存储设备,比如硬盘驱动器、微机械存储设备、光学存储设备、全息存储设备等。基体305还可以提供附加的输入设备,比如键盘、鼠标、操纵杆、游戏控制器等。在一个实施例中,基体305包括附加的I/O端口,比如USB端口、1394端口、HDMI端口、外部电源端口等。
在一个实施例中,基体305和可分离设备315两者都包括电源,比如蓄电池(battery)、燃料电池等。在一个实施例中,当基体305与可分离设备315相连时,基体305的电源可以从基体电源向可分离设备315提供能量。当与基体305断开连接时,可分离设备315可以使用设备电源来提供能量。基体305可以监测基体305和可分离设备315之间的连接310。另外,可分离设备315也可以监测基体305和可分离设备315之间的连接310。因此,可分离设备315可以获知连接事件,比如可分离设备315与基体305断开连接,以及可分离设备315连接到基体305。基体305也可以获知每个连接事件。在一个实施例中,可分离设备315和/或基体305可以包括耦接的连接传感器。例如,该连接传感器可以与基体连接310a和/或可分离设备连接310b耦接。因而,在一个实施例中,基体305和/或可分离设备315可以通过连接传感器检测连接事件。该连接传感器可以被具体实现为机械开关、传感器(例如,磁性传感器或电容式传感器)、基体305和可分离设备315之间的电触点和/或类似设备。图4是例示计算机系统400的一个实施例的透视图。计算机系统400例示了图3的计算机系统300的一个实施例。在一个实施例中,计算机系统400是由联想公司生产的Ul双模笔记本。计算机系统400包括基体405和可分离设备415。基体405可以是图3中的基体305。另外,可分尚设备415可以是图3中的可分尚设备315。可分尚设备415被不出为连接到基体405。在所示实施例中,基体405包括键盘430、触摸板435、I/O连接440和光学驱动器445。I/O连接440可以是USB连接、1394连接、HDMI连接等。当可分离设备415连接到基体405时,可分离设备415可以为基体405提供显示器425。在一个实施例中,基体405和可分离设备415两者都包括电源,比如蓄电池、燃料电池等。在一个实施例中,当基体405和可分离设备415相连时,基体405的电源可以向可分离设备415提供能量。或者,可以同时使用基体405的电源和可分离设备415的电源。还参见图1,可分离设备和基体两者中的每个都可以包括处理器105、存储器110、图形模块120、USB模块140和存储模块155中的一个或多个。在一个实施例中,基体上的USB模块140可以是图3中的基体连接310a,以及可分离设备上的USB模块可以是图3中的可分离设备连接310b。基体405和可分离设备415可以通过它们各自的USB模块通信。在一个实施例中,可分离设备415包括显示模块125,而基体405不包括显示模块125。当可分离设备415连接到基体405时,基体上的图形模块120可以通过基体405和可分离设备415的USB模块140,与可分离设备415上的显示模块125通信。因此,基体上的图形模块120可以驱动显示器425,以及从显示器425接收输入。在一个实施例中,可分离设备415上的处理器105发出显示命令,并且将数据显示给可分离设备415上的图形模块120,该图形模块120可以渲染用于基体405上的显示模块125的数据。在一个实施例中,可分离设备415包括网络连接。该网络连接可以与网络通信。在一个实施例中,网络是网络驱动器接口规范(“NDIS”)兼容网络。在某一实施例中,网络是远程NDIS (“RNDIS”)网络。在替换实施例中,网络是无线WAN。基体405可以经由基体405和可分离设备415的USB模块140,通过网络连接与网络通信。在一个实施例中,基体405上的处理器105 (“基体处理器”)的指令集与可分离设 备415的处理器105 (“可分离设备处理器”)的指令集不兼容。基体处理器可以基于X86指令集,而可分离设备处理器可以基于ARM指令集。在一个实施例中,基体处理器和可分离设备处理器中的每个可以执行不同的操作系统。基体处理器可以执行第一操作系统。第一操作系统可以是个人计算机操作系统,比如MICROSOFT WINDOWS 兼容操作系统、APPLE MACINTOSH 兼容操作系统、Linux兼容操作系统等。可分离设备处理器可以执行第二操作系统。第二操作系统可以是蜂窝电话操作系统,比如基于ANDROID 平台架构的操作系统、MICROSOFT WINDOWS 兼容移动操作系统等。图5是例示图4中的计算机系统400的一个实施例的透视图。图5中的计算机系统400被示出为可分离设备415与基体405断开连接。在一个实施例中,可分离设备415通过连接器410连接到基体405。计算机系统400的描述参考图4中的元素,类似编号指代类似元素。连接器410可以是USB连接。在替换实施例中,连接器410通过定制连接器使用USB兼容信号。另外,连接器可以是1394连接器、HDMI连接器等。在某一实施例中,连接器410使用定制接口。当可分离设备415连接到基体405时,支撑件(support)420可以支撑基体405和可分离设备415之间的物理连接。在一个实施例中,可分离设备415可以充当远程客户端220,并且基体405可以充当主机205,并且可分离设备415可以如上针对图2所述,通过远程桌面连接,与主机205通信,控制和/或访问主机205。在一个实施例中,可分离设备415和/或主机405可以响应于可分离设备415与基体405断开连接,发起远程桌面会话。图6例示了用于适配远程台式主机的用户界面的装置600的一个实施例。装置600可以包括图2中描述的用户界面适配装置210的一个实施例。装置600的描述参考图1-5中的元素,类似编号指代类似元素。装置600包括检测模块605、适配模块610、确定模块615、环境存储模块620、转换模块625和分离模块630中的一个或多个。检测模块605检测远程客户端220和主机205之间的远程桌面连接和/或远程桌面会话。远程客户端220和主机205可以具有不同的用户界面特性。用户界面特性可以包括但不限于屏幕分辨率、文本尺寸、图标尺寸、输入域尺寸、菜单配置、交互方法(例如,触摸输入、键盘和鼠标输入)等。在一个实施例中,远程客户端220的用户界面具有触摸敏感式用户界面的用户界面特性,并且主机205的用户界面具有(例如,在发起远程桌面会话的至少一个时间点上)针对键盘和鼠标输入进行配置的用户界面特性。如上所述,远程桌面连接可以是根据MICROSOFT 的RDP协议的远程桌面连接。在其它实施例中,主机205可以使用任何合适的远程桌面应用和/或协议来提供远程桌面连接。在一个实施例中,远程桌面连接在远程桌面会话期间,向远程客户端220的用户界面基本上持续呈现主机205的用户界面特性(例如,主机205的屏幕尺寸和分辨率、图标尺寸等将在客户端的远程桌面界面中持续呈现给客户端)。在一个实施例中,检测模块605通过检测远程客户端220请求远程桌面连接,检测主机205发起远程桌面连接等,来检测远程客户端220和主机205之间的远程桌面连接。在一个实施例中,如上针对图3-5所述,远程客户端220包括可分离设备415,并且主机205包括基体405。在另一实施例中,用于检测远程桌面连接的检测模块605包括响应于分离模块630检测到可分离设备415与基体405分离来检测远程客户端220和主机205之间的远程桌面连接的检测模块605。在一个实施例中,远程客户端220(可分离设备415)可以检测到可分离设备415与基体405分离,并且与之响应,发起到主机205 (基体405)的远程桌面连接。适配模块610适配主机205的用户界面,以适应远程客户端220的用户界面特性。在一个实施例中,适配模块610通过改变主机205的屏幕分辨率、主机205的文本尺寸、主机205的图标尺寸、主机205的输入域尺寸、主机205的菜单配置、和/或其它适用的用户界面特性,适配主机205的用户界面。在一个实施例中,适配模块610使得主机205上的触摸敏感式输入能够适应具有触摸敏感式用户界面的远程客户端220。主机205的用户界面可以包括作为主机操作系统和/或在主机205上执行的应用的一部分的用户界面。适配模块610可以改变主机205的当前用户界面。在另一实施例中,适配模块610通过从所存储的供远程桌面会话期间使用的用户界面环境中提供替换用户界面,来适配主机205的用户界面。 替换用户界面可以作为辅助环境存在于主机205上,并且可以被实现为允许表示主机205上的屏上物体的操作系统外壳(shell)、程序、其它合适方案,并且它们的功能在远程桌面会话期间利用远程客户端上的可用用户界面有效地操纵。主机205上的替换用户界面可以使用更大的图标、不同的屏幕页或嵌套方案、缩小的文本或输入域、下拉菜单等。在一个实施例中,适配模块610响应于检测到远程桌面会话结束,将主机205的用户界面返回到(例如,在适配模块610先前适配用户界面之前的)前一用户界面。确定模块615确定远程客户端220的用户界面特性。在一个实施例中,确定模块615通过从远程客户端220接收用于指定远程客户端220的用户界面特性的消息,确定远程客户端220的用户界面特性。该消息可以与远程桌面发起和/或远程桌面登录过程相关联。例如,远程客户端220可以发送它的用户界面特性、模式编号或其它设备标识符、USB设备类别等,作为远程桌面连接请求的一部分。环境存储模块620存储一个或多个用户界面环境。每个用户界面环境可以适应特定远程客户端220的用户界面特性。适配模块610可以通过从所存储的用户界面环境中选择并加载与远程客户端220和/或远程客户端220的特性对应的特定用户界面环境来适配主机205的用户界面。
转换模块625将远程客户端220的触摸输入持续呈现、传送和/或转换为主机205上的用户界面命令。在某些实施例中,主机205可以支持触摸敏感式界面,并且转换模块625将远程客户端220的触摸输入传送到主机205。在一个实施例中,主机205支持被禁用的触摸敏感式界面。在该实施例中,转换模块625可以在远程桌面会话期间激活主机205上的该触摸敏感特征。分离模块630检测可分离设备415与基体405间的分离。检测模块605可以响应于分离模块630检测到可分离设备415与基体405分离,检测远程桌面连接。在一个实施例中,分离模块630通过如上所述的连接传感器,检测可分离设备415与基体405间的分离。图7例示了用于适配远程台式主机的用户界面的方法700的一个实施例。方法700可以实现图6中的装置600的至少一部分功能。方法700的描述参考图1_6中的元素,相似编号指代相似元素。开始方法700,并且检测模块605检测705远程客户端220和主机205之间的远程 桌面连接。远程客户端220和主机205具有不同的用户界面特性。在一个实施例中,远程客户端220是具有针对触摸敏感式界面配置的用户界面特性的触摸设备。接着,确定模块615确定710远程客户端220的用户界面特性和/或设备特性。确定模块615可以从远程客户端220接收用于指定远程客户端220的用户界面特性的消息。在一个实施例中,确定模块615可以确定远程客户端220的用户界面/设备类型,并且提取所存储的与该用户界面/设备类型对应的用户界面特性。接着,适配模块610适配715主机205的用户界面,以适应远程客户端220的用户界面特性。接着,结束方法700。图8例示了用于适配远程台式主机的用户界面的方法800的另一实施例。方法800可以实现图6中的装置600的至少一部分功能。方法800的描述参考图1_6中的元素,类似编号指代类似元素。开始方法800,并且如果分离模块630检测到805可分离设备415与基体405分离,则确定模块615参考(reference) 810可分离设备415的用户界面特性和/或设备特性。在一个实施例中,检测模块605可以响应于分离模块630检测到可分离设备415与基体405分离,检测可分离设备415和基体405之间的远程桌面连接。接着,适配模块610适配815基体405的用户界面,以适应可分离设备415的用户界面特性,并且结束方法800。图9例示了用于适配远程台式主机的用户界面的方法900的另一实施例。方法900可以实现图6中的装置600的至少一部分功能。方法900的描述参考图1_6中的元素,类似编号指代类似元素。开始方法900,并且如果检测模块605检测到905远程客户端220和主机205之间的远程桌面连接,则确定模块615参考910远程客户端220的用户界面特性、设备特性和/或设备标识符。接着,适配模块610通过向主机205提供与远程客户端220对应和/或适应远程客户端220的替换用户界面,适配815用户界面。当适配模块610检测到920远程桌面会话结束时,适配模块回归925到主机205的原始用户界面,并且结束方法900。实施例可以按照其它特定形式实现。所述实施例在所有方面要被认为仅仅是例示性的,而不是限制性的。因此,本发明的范围由所附权利要求而不是前面描述的具体实施方式
来指示。在权利要求的等价含义或范围内的所有变化都包含在权利要求的范围内。
权利要求
1.一种用户界面适配装置,包括 检测模块,用于检测远程客户端和主机之间的远程桌面连接,所述远程客户端和所述主机具有不同的用户界面特性;以及 适配模块,用于适配所述主机的用户界面,以适应所述远程客户端的用户界面特性。
2.如权利要求I所述的装置,其中,所述远程客户端包括具有针对触摸敏感式界面配置的用户界面特性的触摸设备。
3.如权利要求I所述的装置,还包括确定模块,用于确定所述远程客户端的用户界面特性。
4.如权利要求3所述的装置,其中,所述确定模块确定所述远程客户端的用户界面特性还包括所述确定模块从所述远程客户端接收用于指定所述远程客户端的用户界面特性的消息,所述消息与远程桌面初始化相关联。
5.如权利要求I所述的装置,其中,所述适配模块适配所述主机的用户界面以适应所述远程客户端的用户界面特性还包括所述适配模块改变所述主机的屏幕分辨率、文本尺寸、图标尺寸、输入域尺寸和菜单配置中的一个或多个。
6.如权利要求I所述的装置,还包括环境存储模块,用于存储一个或多个用户界面环境,每个用户界面环境适应特定远程客户端的用户界面特性,其中,所述适配模块适配所述主机的用户界面以适应所述远程客户端的用户界面特性还包括所述适配模块选择与所述远程客户端对应的特定用户界面环境,以供在所述主机上使用。
7.如权利要求I所述的装置,还包括转换模块,用于将所述远程客户端的触摸输入转换为所述主机上的用户界面命令。
8.如权利要求I所述的装置,其中,所述远程客户端包括可分离设备,并且所述主机包括基体,如果所述基体和所述可分离设备相连,则所述可分离设备为所述基体提供显示器。
9.如权利要求8所述的装置,还包括分离模块,用于检测所述可分离设备与所述基体间的分离,其中所述检测模块检测所述远程桌面连接还包括响应于所述分离模块检测到所述可分离设备与所述基体分离,所述检测模块检测所述远程客户端和所述主机之间的远程桌面连接。
10.一种用户界面适配方法,包括 检测远程客户端和主机之间的远程桌面连接,所述远程客户端和所述主机具有不同的用户界面特性;以及 适配所述主机的用户界面,以适应所述远程客户端的用户界面特性。
11.如权利要求10所述的方法,其中,所述远程客户端包括具有针对触摸敏感式界面配置的用户界面特性的触摸设备。
12.如权利要求10所述的方法,其中,适配所述主机的用户界面以适应所述远程客户端的用户界面特性还包括改变所述主机的屏幕分辨率、文本尺寸、图标尺寸、输入域尺寸和菜单配置中的一个或多个。
13.如权利要求10所述的方法,还包括存储一个或多个用户界面环境,每个用户界面环境适应特定远程客户端的用户界面特性,其中,所述适配所述主机的用户界面以适应所述远程客户端的用户界面特性还包括选择与所述远程客户端对应的特定用户界面环境,以供在所述主机上使用。
14.如权利要求10所述的方法,还包括将所述远程客户端的触摸输入转换为所述主机上的用户界面命令。
15.如权利要求10所述的方法,其中,所述远程客户端包括可分离设备,并且所述主机包括基体,如果所述基体和所述可分离设备相连,则所述可分离设备为所述基体提供显示器和网络连接,所述方法还包括检测所述可分离设备与所述基体间的分离,其中检测所述远程桌面连接还包括响应于检测到所述可分离设备与所述基体分离,检测所述远程客户端和所述主机之间的远程桌面连接。
全文摘要
本发明提供了一种用于适配远程台式主机的用户界面的装置和方法。该装置包括处理器、存储器、检测模块和适配模块。检测模块检测远程客户端和主机之间的远程桌面连接。远程客户端和主机可以具有不同的用户界面特性。适配模块适配主机的用户界面,以适应远程客户端的用户界面特性。
文档编号G06F9/46GK102968334SQ20121027057
公开日2013年3月13日 申请日期2012年7月31日 优先权日2011年8月24日
发明者迈克尔·塔诺·马休斯, 斯科特·爱德华兹·凯尔索, 霍华德·洛克, 阿克塞尔·拉米雷斯·弗洛雷斯 申请人:联想(新加坡)私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1