具有分级更新的远程显示.pdf

上传人:小** 文档编号:177521 上传时间:2018-01-31 格式:PDF 页数:38 大小:4.14MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380010368.X

申请日:

2013.02.19

公开号:

CN104137050A

公开日:

2014.11.05

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 3/14申请日:20130219|||公开

IPC分类号:

G06F3/14

主分类号:

G06F3/14

申请人:

西里克斯系统公司

发明人:

A·苏雷施; J·里维拉

地址:

美国佛罗里达州

优先权:

2012.02.22 US 13/402,179

专利代理机构:

北京市金杜律师事务所 11256

代理人:

酆迅;王冬

PDF下载: PDF下载
内容摘要

这里描述基于用户的焦点(510)的定位向用户(500)提供具有分级更新的显示的系统和方法。可以通过跟踪例如用户的眼的定位、鼠标光标在显示内的定位、应用视窗在显示内的定位或者其组合来确定用户的焦点(510)的定位。基于用户的焦点(510)的定位,可以将显示划分成多个显示区域(520,530,540),并且可以比如通过对用户正在聚焦于的显示区域(520)设置优先级来对显示区域进行排名。可以基于显示区域的排名确定显示区域的显示质量(例如透射率、图像分辨率、图像压缩程度等),由此向基于用户正在活跃地注视的内容的区域提供更高显示/图像质量。

权利要求书

1.  一种或者多种具有在其上存储的计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在由处理器执行时使所述处理器:
从客户端设备接收标识用户焦点在显示区内的定位的信息;
基于标识所述用户焦点的所述定位的所述信息对所述显示区的多个显示区域进行排名;以及
向所述客户端设备传输所述多个显示区域中的至少一个显示区域,所述至少一个显示区域用基于其对应排名的显示质量来传输。

2.
  根据权利要求1所述的一种或者多种非瞬态计算机可读介质,其中对所述多个显示区域进行排名包括:
基于所述用户焦点的所述定位标识所述多个显示区域中的主显示区域;
标识所述多个显示区域中的次显示区域,所述次显示区域不同于所述主显示区域;
用第一显示质量传输所述主显示区域;以及
用第二显示质量传输所述次显示区域,所述第一显示质量高于所述第二显示质量。

3.
  根据权利要求2所述的一种或者多种非瞬态计算机可读介质,其中对所述多个显示区域进行排名包括标识所述多个显示区域中的第三显示区域,其中:
所述次显示区域比所述第三显示区域接近所述主显示区域更接近所述主显示区域;以及
所述次显示区域的所述显示质量高于所述第三显示区域的显示质量。

4.
  根据权利要求2所述的一种或者多种非瞬态计算机可读介质,具有在其上存储的附加计算机可执行指令,所述附加计算机可执行指令在由所述处理器执行时使所述处理器:
检测在所述次显示区域中的图像改变;以及
响应于检测到在所述次显示区域中的所述图像改变,防止传输所述次显示区域的更新的帧。

5.
  根据权利要求1所述的一种或者多种非瞬态计算机可读介质,其中所述显示区域的所述显示质量包括图像分辨率、图像传输速率和图像压缩程度中的至少一项。

6.
  根据权利要求1所述的一种或者多种非瞬态计算机可读介质,其中:
接收标识所述用户焦点的所述定位的信息包括响应于所述用户焦点的所述定位改变多于预定阈值来接收所述信息;以及
对所述多个显示区域进行排名包括基于所述用户焦点的定位改变来更新用于所述多个显示区域的排名。

7.
  根据权利要求1所述的一种或者多种非瞬态计算机可读介质,具有在其上存储的附加计算机可执行指令,所述附加计算机可执行指令在由所述处理器执行时使所述处理器:
标识所述用户焦点相对于所述多个显示区域中的显示区域的定位;以及
选择与所述用户焦点的标识的所述定位对应的主显示区域。

8.
  根据权利要求7所述的一种或者多种非瞬态计算机可读介质,其中标识所述用户焦点相对于所述多个显示区域中的显示区域的所述定位包括确定输入设备指示器在所述显示区中的定位。

9.
  根据权利要求7所述的一种或者多种非瞬态计算机可读介质,其中标识所述用户焦点相对于所述多个显示区域中的显示区域的所述定位包括确定在所述显示区中的视窗焦点。

10.
  一种方法,包括:
从客户端设备接收标识用户焦点在显示区中的定位的信息;
标识所述显示区的主显示区域,所述主显示区域与所述用户焦点在所述显示区中的所述定位关联;
设置所述主显示区域的显示质量高于与所述主显示区域不同的次显示区域的显示质量;以及
向所述客户端设备传输所述主显示区域和所述次显示区域中的 至少一个显示区域。

11.
  根据权利要求10所述的方法,还包括:
标识所述显示区的第三显示区域,其中所述次显示区域比所述第三显示区域接近所述主显示区域更接近所述主显示区域;以及
设置所述次显示区域的所述显示质量高于所述第三显示区域的显示质量。

12.
  根据权利要求10所述的方法,还包括:
检测在所述次显示区域中的图像改变;以及
响应于检测到在所述次显示区域中的所述图像改变,防止传输所述次显示区域的更新的帧。

13.
  根据权利要求10所述的方法,其中所述主显示区域的所述显示质量包括图像分辨率、图像传输速率和图像压缩程度中的至少一项。

14.
  根据权利要求10所述的方法,其中:
接收标识所述用户焦点的所述定位的信息包括响应于所述用户焦点的所述定位从第一显示区域改变成与所述第一显示区域不同的第二显示区域来接收所述信息;以及
标识所述显示区的所述主显示区域包括标识所述第二显示区域为所述主显示区域。

15.
  根据权利要求10所述的方法,还包括:
确定所述用户焦点的所述定位已经改变成在所述显示区中的新显示区域,
其中标识所述显示区的所述主显示区域包括标识所述新显示区域为所述主显示区域。

16.
  根据权利要求15所述的方法,其中确定所述用户焦点的所述定位已经改变成在所述显示区中的所述新显示区域包括确定与所述用户焦点关联的输入设备指示器的定位已经改变成在所述显示区中的所述新显示区域中的定位。

17.
  根据权利要求15所述的方法,其中确定所述用户焦点的所述定位已经改变成在所述显示区中的所述新显示区域包括确定应用 视窗的至少一部分在所述新显示区域内。

18.
  根据权利要求10所述的方法,还包括:
从所述客户端设备接收标识另一用户焦点在所述显示区中的定位的信息;
标识显示区的另一主显示区域,所述另一主显示区域与所述另一用户焦点的所述定位关联;以及
将所述另一主显示区域的显示质量设置成所述主显示区域的所述显示质量。

19.
  根据权利要求10所述的方法,还包括:
检测在所述主显示区域中的图像改变;以及
响应于检测到在所述主显示区域中的所述图像改变,执行所述传输步骤。

20.
  一种系统,包括:
客户端设备,具有被配置为对显示区进行显示的显示屏幕,所述显示区包括第一显示区域和第二显示区域;以及
服务器,包括:
处理器;以及
存储器,具有在其上存储的计算机可执行指令,所述计算机可执行指令在由所述处理器执行时使所述处理器:
确定用户的焦点在所述显示区内的定位已经从所述第二显示区域改变成所述第一显示区域;
向所述第一显示区域指派第一传输速率;
向所述第二显示区域指派第二传输速率,所述第二传输速率低于所述第一传输速率;
以所述第一传输速率向所述客户端设备传输所述第一显示区域的帧;以及
以所述第二传输速率向所述客户端设备传输所述第二显示区域的帧。

说明书

具有分级更新的远程显示
技术领域
这里描述的方面涉及远程计算机访问和虚拟桌面构架。更具体而言,这里描述的方面提供用于基于用户的焦点在可视显示区内的定位减少在客户端设备访问在远程定位的主机设备上的托管的资源时的视频显示生成所需要的带宽的方法和系统。
背景技术
传统上,个人计算机包括各自在持续基础上被所有者或者监管者个别管理的操作系统、应用和用户设置的组合。然而许多组织现在使用桌面虚拟化以提供用于解决它们的用户的可变需要的更灵活选项。在桌面虚拟化中,可以从用户的物理计算设备(例如智能电话、膝上型、桌面型计算机)分离用户的计算环境(例如操作系统、应用和/或用户设置)。使用客户端-服务器技术,“虚拟化的桌面”可以存储于远程服务器中并且由远程服务器监管而不是存储于客户端计算设备的本地存储装置中。
有若干不同类型的桌面虚拟化系统。作为示例,虚拟桌面构架(VDI)是指在服务器上驻留的虚拟机内部运行用户桌面的过程。VDI和其它基于服务器的桌面虚拟化系统可以为每个用户提供个性化的桌面而允许集中的管理和安全性。在这样的系统中的服务器可以包括用于虚拟桌面影像和系统配置信息的存储装置以及用于提供虚拟桌面并且允许用户互连到它们的软件部件。例如VDI服务器可以包括用于创建和维护多个虚拟机的一个或者多个管理程序(虚拟机管理器)、用于管理这些管理程序的软件、连接代理以及用于调配和管理虚拟桌面的软件。
可以使用单个虚拟化服务器或者互连为服务器网格的服务器组 合来实施桌面虚拟化系统。多服务器桌面虚拟化系统通常包括用于提供公共系统管理门户并且维护全局状态信息的附加计算设备和/或共享存储装置。这样的系统通常将外部共享存储装置与在虚拟化服务器内的数据库和企业服务器软件一起用来管理系统。
在虚拟化的桌面系统中,从监管虚拟桌面的远程服务器向显示虚拟桌面的客户端计算设备传输大量数据、比如用来在客户端计算设备处生成虚拟桌面的图像的数据。在现有系统中,为整个虚拟桌面显示区周期性地传输用于虚拟桌面的更新,从而占用大量网络资源。
发明内容
鉴于前述背景,下文表示本公开内容的简化发明内容以便提供对这里描述的一些方面的基本理解。这一发明内容不是广泛概述并且未旨在标识重要或者关键要素或者界定权利要求的范围。以下发明内容仅以简化形式表示各种描述的方面,作为以下提供的更具体描述的前序。
为了解决以上不足和将在阅读公开内容时实现的附加益处,这里的方面描述一种向客户端设备高效地和成本有效地递送显示图像数据而维持高程度图像质量的系统。方面包括一种分级显示系统和方法,该分级显示系统和方法包括:从客户端设备接收标识用户的焦点在显示区中的定位的信息;标识显示区的主显示区域,主显示区与用户的焦点在显示区中的定位关联;设置主显示区域的显示质量高于与主显示区域不同的次显示区域的显示质量;以及向客户端设备传输主显示区域和次显示区域中的至少一个显示区域。在一些方面中,主显示区域的显示质量可以包括图像分辨率、图像传输速率和图像压缩程度中的至少一项。
在附加方面中,该分级显示系统和方法包括:标识显示区的第三显示区域,其中次显示区域比第三显示区域接近主显示区域更接近主显示区域;以及设置次显示区域的显示质量高于第三显示区域 的显示质量。该分级显示系统和方法还可以包括:检测在次显示区域中的图像改变;以及响应于检测到在次显示区域中的图像改变,防止传输次显示区域的更新的帧。相似地,该分级显示系统和方法也可以包括:检测在主显示区域中的图像改变;以及响应于检测到在主显示区域中的图像改变,执行传输步骤。
该分级显示系统和方法也可以包括:接收标识用户的焦点的定位的信息包括响应于用户的焦点的定位从第一显示区域改变成与第一显示区域不同的第二显示区域来接收信息;并且标识显示区的主显示区域包括标识第二显示区域为新的主显示区域。该系统和方法也可以包括:确定用户的焦点的定位已经改变成在显示区中的新显示区域,其中标识显示区的主显示区域包括标识新显示区域为主显示区域。确定用户的焦点的定位已经改变成在显示区中的新显示区域可以包括确定与用户的焦点关联的输入设备指示器的定位已经改变成在显示区中的新显示区域中的定位。确定用户的焦点的定位已经改变成在显示区中的新显示区域也可以包括确定应用视窗的至少部分在新显示区域内。
在更多方面中,该分级显示系统和方法可以包括:从客户端设备接收标识第二用户的焦点在显示区中的定位的信息;标识显示区的第二主显示区域,第二主显示区域与第二用户的焦点的定位关联;并且将第二主显示区域的显示质量设置成主显示区域的显示质量。
附图说明
已经这样用一般措词描述公开内容的方面,现在将参照附图,这些附图未必按比例绘制,并且在附图中:
图1图示其中可以实施公开内容的各种方面的示例操作环境。
图2图示可以根据这里描述的一个或者多个示例方面使用的设备。
图3图示可以根据这里描述的一个或者多个示例方面使用的设备。
图4图示根据这里描述的一个或者多个示例方面的提供分级显示的示例概述方法。
图5图示根据这里描述的一个或者多个示例方面的用户定位的示例。
图6图示根据这里描述的一个或者多个示例方面的检测用户定位改变的示例方法。
图7图示根据这里描述的一个或者多个示例方面的用户定位改变的示例。
图8图示根据这里描述的一个或者多个示例方面的对显示区进行排名的示例方法。
图9图示根据这里描述的一个或者多个示例方面的包括多个显示区域的示例显示区。
图10图示根据这里描述的一个或者多个示例方面的包括多个显示区域的另一示例显示区。
图11图示根据这里描述的一个或者多个示例方面的包括多个显示区域的附加示例显示区。
图12图示根据这里描述的一个或者多个示例方面的确定多个主显示区域的示例方法。
图13图示根据这里描述的一个或者多个示例方面的包括多个主显示区域的示例显示区。
图14A-B图示根据这里描述的一个或者多个示例方面的示例梯度显示区。
图15图示根据这里描述的一个或者多个示例方面的传输显示区的示例方法。
图16图示根据这里描述的一个或者多个示例方面的示例传输的显示区。
图17图示根据这里描述的一个或者多个示例方面的传输显示区域的示例方法。
图18图示根据这里描述的一个或者多个示例方面的示例传输的 显示区域。
图19图示根据这里描述的一个或者多个示例方面的传输显示区域的另一示例方法。
图20图示根据这里描述的一个或者多个示例方面的具有圆形显示区域的示例显示区。
图21图示根据这里描述的一个或者多个示例方面的具有圆形显示区域的另一示例显示区。
图22图示根据这里描述的一个或者多个示例方面的具有矩形显示区域的示例显示区。
图23图示根据这里描述的一个或者多个示例方面的具有矩形显示区域的另一示例显示区。
具体实施方式
在对各种实施例的以下描述中参照附图,这些附图形成其部分,并且在附图中通过示例示出其中可以实现这里描述的方面的各种实施例。将理解可以利用其它实施例并且可以进行结构和功能修改而未脱离本公开内容的范围和精神实质。
如本领域技术人员将在阅读以下公开内容时认识的那样,可以体现这里描述的各种方面为方法、数据处理系统或者计算机程序产品。因而那些方面可以采用全硬件实施例、全软件实施例或者组合软件和硬件方面的实施例的形式。另外,这样的方面可以采用由一个或者多个计算机可读存储介质存储的计算机程序产品的形式,该一个或者多个计算机可读存储介质具有在存储介质中或者上体现的计算机可读程序代码或者指令。可以利用任何适当计算机可读存储介质、包括硬盘、CD-ROM、光存储设备、磁存储设备和/或其任何组合。此外,可以用经过信号传导介质、比如金属接线、光纤和/或无线传输介质(例如空气和/或空间)行进的电磁波的形式在源与目的地之间传送如这里描述的代表数据或者事件的各种信号。
图1图示在可以根据公开内容的一个或者多个示例实施例使用 的示例计算环境100中的通用计算设备101(例如计算机服务器106a)的示例框图。根据一个或者多个方面,通用计算设备101可以是在配置为提供用于客户端访问设备的虚拟机的单服务器或者多服务器桌面虚拟化系统中的服务器106a。通用计算设备101可以具有用于控制服务器及其关联部件的总体操作的处理器103,这些部件包括随机存取存储器(RAM)105、只读存储器(ROM)107、输入/输出(I/O)模块109和存储器115。
I/O模块109可以包括通用计算设备101的用户可以用来提供输入的鼠标、键区、触屏、扫描仪、光学读取器和/或触笔(或者其它输入设备),并且也可以包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示设备中的一项或者多项。软件可以存储于存储器115和/或其它存储装置内以向处理器103提供用于使通用计算设备101能够执行各种功能的指令。例如存储器115可以存储由通用计算设备101使用的软件、比如操作系统117、应用119和关联数据库121。备选地,可以用硬件或者固件(未示出)体现用于通用计算设备101的计算机可执行指令中的一些或者所有计算机可执行指令。
通用计算设备101可以在支持与一个或者多个远程计算机、比如终端140(也称为客户端设备)的连接的联网环境中操作。终端140可以是包括以上关于通用计算设备101描述的单元中的许多或者所有单元的个人计算机或者服务器。在图1中描绘的网络连接包括局域网(LAN)125和广域网(WAN)129、但是也可以包括其它网络。在LAN联网环境中使用时,通用计算设备101可以通过网络接口或者适配器123连接到LAN 125。在WAN联网环境中使用时,通用计算设备101可以包括用于通过WAN 129、比如计算机网络130(例如因特网)建立通信的调制解调器127或者其它网络接口。将理解所示网络连接为示例并且可以使用在计算机之间建立通信链路的其它手段。
通用计算设备101和/或终端140也可以是包括各种其它部件、 比如电池、扬声器和天线(未示出)的移动终端(例如移动电话、智能电话、PDA、笔记本计算机等)
公开内容用许多其它通用或者专用计算系统环境或者配置操作。适合用于与公开内容使用的熟知计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或者膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程客户电子器件、网络PC、小型计算机、大型机计算机、包括以上系统或者设备中的任何系统或者设备的分布式计算环境等。
如图1中所示,一个或者多个客户端设备140可以与一个或者多个服务器106a-106n(这里通称为“服务器106”)通信。在一些实施例中,计算环境100可以包括在服务器106与客户端机器140之间安装的装置。该装置可以管理客户端/服务器连接并且在一些情况下可以使在多个后端服务器106之中的客户端连接负荷平衡。
客户端机器140可以在一些实施例中称为单个客户端机器140或者单组客户端机器140,而服务器106可以称为单个服务器106或者单组服务器106。在一些实施例中,单个客户端机器140与多于一个服务器106通信,而在其它实施例中,单个服务器106与多于一个客户端机器140通信。在又一些实施例中,单个客户端机器140与单个服务器106通信。
客户端机器140可以在一些实施例中用以下术语中的任何术语指代:客户端机器140;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远程机器;客户端节点;端点;端点节点;或者第二机器。服务器106在一些实施例中可以用以下术语中的任何术语指代:服务器、本地机器;远程机器;服务器群、主机计算设备或者第一机器。
在一些实施例中,客户端机器140可以是虚拟机。虚拟机可以是任何虚拟机,而在一些实施例中,虚拟机可以是由Citrix Systems、IBM、VMware开发的管理程序或者任何其它管理程序来管理的任何虚拟机。在一些方面中,虚拟机可以由管理程序管理,而在方面中, 虚拟机可以由在服务器106上执行的管理程序或者在客户端140上执行的管理程序管理。
客户端机器140可以执行、操作或者另外提供应用,该应用可以是以下各项中的任何一项:软件;程序;可执行指令;虚拟机;管理程序;网络浏览器;基于网络的客户端;客户端-服务器应用;瘦客户端计算客户端;ActiveX控件;Java小程序;与通过网际协议(VoIP)通信、比如软IP电话之上的语音有关的软件;用于流式视频和/或音频的应用;用于有助于实时数据通信的应用;HTTP客户端;FTP客户端;Oscar客户端;Telnet客户端;或者任何其它可执行指令集。更多其它实施例包括客户端设备140,该客户端设备显示由在服务器106或者其它远程定位的机器上远程执行的应用生成的应用输出。在这些实施例中,客户端设备140可以在应用窗、浏览器或者其它输出窗中显示应用输出。在一个示例中,应用是桌面,而在其它示例中,应用是生成桌面的应用。桌面可以包括为其中可以集成本地和/或远程应用的操作系统的实例提供用户界面的图形shell。如这里使用的应用是在已经加载操作系统的实例(以及可选地也加载桌面)之后执行的程序。
服务器106在一些实施例中执行远程表示客户端或者其它客户端或者程序,该远程表示客户端或者其它客户端或者程序使用瘦客户端或者远程显示协议以捕获由在服务器106上执行的应用生成的显示输出并且向远程客户端140传输应用显示输出。瘦客户端或者远程显示协议可以是以下协议中的任何协议:佛罗里达的劳德代尔堡的西里克斯(Citrix)股份有限公司制造的独立计算架构(ICA)协议;或者华盛顿的雷德蒙的微软公司制造的远程桌面协议(RDP)。
计算环境可以包括多于一个服务器106A-106N,从而服务器106A-106N被在逻辑上一起分组成服务器群106。服务器群106可以包括在地理上分散并且在逻辑上一起分组成服务器群106的服务器106或者相互近邻定位并且在逻辑上一起分组成服务器群106的服务器106。在服务器群106内的在地理上分散的服务器106A-106N 可以在一些实施例中使用WAN、MAN或者LAN来通信,其中可以将不同地理地区表征为:不同大陆;大陆的不同地区;不同国家;不同州、不同城市;不同校园;不同房间;或者前述地理位置的任何组合。在一些实施例中,可以监管服务器群106作为单个实体,而在其它实施例中,服务器群106可以包括多个服务器群106。
在一些实施例中,服务器群106可以包括执行基本上相似类型的操作系统平台(例如、华盛顿的雷德蒙的微软公司制造的WINDOWS NT、UNIX、LINUX或者SNOW LEPARD)的服务器106。在其它实施例中,服务器群106可以包括执行第一类型的操作系统平台的第一组服务器106和执行第二类型的操作系统平台的第二组服务器106。服务器群106在其它实施例中可以包括执行不同类型的操作系统平台的服务器106。
服务器106在一些实施例中可以是任何服务器类型。在其它实施例中,服务器106可以是以下服务器类型中的任何服务器类型:文件服务器;应用服务器;网络服务器;代理服务器;装置;网络装置;网关;应用网关;网关服务器;虚拟化服务器;开发服务器;SSL VPN服务器;防火墙;网络服务器;应用服务器或者作为主控应用服务器;执行活跃目录的服务器106;或者执行应用加速程序的服务器106,该应用加速程序提供防火墙功能、应用服务器或者负荷平衡功能。在一些实施例中,服务器106可以是包括远程认证拨号访问用户服务的RADIUS服务器。在服务器106包括装置的实施例中,服务器106可以是以下制造商中的任何制造商制造的装置:西里克斯应用网络小组;银峰系统股份有限公司;河床技术股份有限公司;F5网络股份有限公司;或者瞻博网络股份有限公司。一些实施例包括第一服务器106A,该第一服务器从客户的机器140接收请求、向第二服务器106n转发请求并且用来自第二服务器106n的响应对客户端机器140生成的请求做出响应。第一服务器106A可以获取可用于客户机器140的应用的枚举以及与应用服务器106关联的地址信息,该应用服务器主控在应用的枚举内标识的应用。第一服 务器106A然后可以使用网络接口表示对客户端的请求的响应并且与客户端140直接通信以向客户端140提供对标识的应用的访问。
服务器106可以在一些实施例中执行以下应用中的任何应用:使用瘦客户端协议以向客户端发送应用显示数据的瘦客户端应用;远程显示表示应用;西里克斯系统股份有限公司的CITRIX ACCESS SUITE的任何部分、比如METAFRAME或者CITRIX PRESENATION SERVER;微软公司制造的MICROSOFT WINDOWS Terminal Services;或者西里克斯系统股份有限公司开发的ICA客户端。另一实施例包括服务器106,该服务器是应用服务器、比如:提供电邮服务的电邮服务器、比如微软公司制造的MICROSOFT EXCHANGE;网络或者因特网服务器;桌面共享服务器;协作服务器;或者任何其它类型的应用服务器。更多其它实施例包括服务器106,该服务器执行以下类型的主控的服务器应用中的任何类型的主控的服务器应用:西里克斯在线业务股份有限公司提供的GOTOMEETING;加利福尼亚的圣克拉拉的网迅(WebEx)股份有限公司提供的WEBEX;或者微软公司提供的Microsoft Office LIVE MEETING。
客户端机器140可以在一些实施例中是寻求访问由服务器106提供的资源的客户端节点。在其它实施例中,服务器106可以向客户端140或者客户端节点提供对主控的资源的访问。服务器106在一些实施例中作为主控节点工作,从而它与一个或者多个客户端140或者服务器106通信。在一些实施例中,主控节点可以标识并且向一个或者多个客户端140或者服务器106提供与主控请求的应用的服务器106关联的地址信息。在更多其它实施例中,主控节点可以是服务器群106、客户端140、客户端节点140的群集或者装置。
一个或者多个客户端140和/或一个或者多个服务器106可以通过在计算环境100内的机器与装置之间安装的网络130传输数据。网络130可以包括一个或者多个子网络并且可以安装于在计算环境100内包括的客户端140、服务器106、计算机器和装置的任何组合之间。在一些实施例中,网络130可以是:局域网(LAN);城域 网(MAN);广域网(WAN);由位于客户端机器140与服务器106之间的多个子网络130组成的主网络104;具有私用子网络的主公用网络130(例如因特网);具有公用子网络的主私用网络130;或者具有私用子网络的主私用网络130。更多其它实施例包括网络130,该网络可以是以下网络类型中的任何网络类型:点到点网络;广播网络;电信网络;数据通信网络;计算机网络;ATM(异步传输模式)网络;SONET(同步光网络)网络;SDH(同步数字分级)网络;无线网络;有线网络;或者包括无线链路的网络,其中无线链路可以是红外线信道或者卫星频带。网络130的网络拓扑在不同实施例中可以不同,可能的网络拓扑包括:总线网络拓扑;星型网络拓扑;环形网络拓扑;基于转发器的网络拓扑;或者分层星型网络拓扑。附加实施例可以包括使用协议以在移动设备之中通信的移动电话网络的网络,其中协议可以是以下协议中的任何协议:AMPS;TDMA;CDMA;GSM;GPRS UMTS;或者能够在移动设备之中传输数据的任何其它协议。
在图2中图示计算设备200的一个实施例,其中图1A中所示客户端机器140和服务器106可以被部署为这里图示和描述的计算设备200的任何实施例或者在该任何实施例上被执行。在计算设备200内包括与以下部件通信的系统总线250:中央处理单元221;主存储器222;存储装置存储器228;输入/输出(I/O)控制器223;显示器设备224A-224N;安装设备216;以及网络接口218。在一个实施例中,存储装置存储器228包括:操作系统、软件例程和客户端代理220。I/O控制器223在一些实施例中还连接到键盘226和指示设备227。其它实施例可以包括连接到多于一个输入/输出设备230A-230N的I/O控制器223。
图3图示计算设备300的一个实施例,其中图1中所示客户端机器140和服务器106可以被部署为这里图示和描述的计算设备300的任何实施例或者在该任何实施例上被执行。在计算设备300内包括与以下部件通信的系统总线350:网桥370和第一I/O设备330a。 在另一实施例中,网桥370还与主中央处理单元321通信,其中中央处理单元321还可以与第二I/O设备330b、主存储器322和高速缓存存储器340通信。在中央处理单元321内包括I/O端口、存储器端口303和主处理器。
计算机器300的实施例可以包括以以下部件配置中的任何部件配置为特征的中央处理单元321:对从主存储器单元322取读的指令做出响应并且处理这些指令的逻辑电路;微处理器单元、比如:英特尔公司制造的微处理器单元;摩托罗拉公司制造的微处理器单元;加利福尼亚的圣克拉拉的全美达公司制造的微处理器单元;比如国际商业机器制造的处理器;处理器,比如超微半导体制造的处理器;或者逻辑电路的任何其它组合。中央处理单元321的更多其它实施例可以包括以下各项的任何组合:微处理器、微控制器、具有单个处理核的中央处理单元、具有两个处理核的中央处理单元或者具有多于两个处理核的中央处理单元。
尽管图3图示包括单个中央处理单元321的计算设备300,但是在一些实施例中,计算设备300可以包括一个或者多个处理单元321。在这些实施例中,计算设备300可以存储和执行在被执行时指引一个或者多个处理单元321同时执行指令或者对单条数据同时执行指令的固件或者其它可执行指令。在其它实施例中,计算设备300可以存储和执行在被执行时指引一个或者多个处理单元各自执行指令组的分节的固件或者其它可执行指令。例如每个处理单元321可以被指令执行程序的部分或者在程序内的特定模块。
在一些实施例中,处理单元321可以包括一个或者多个处理核。例如处理单元321可以具有两核、四核、八核等。在一些实施例中,处理单元321可以包括一个或者多个并行处理核。处理单元321的处理核可以在一些实施例中访问作为全局地址空间的可用存储器,或者在其它实施例中,在计算设备300内的存储器可以被分段并且指派给在处理单元321内的特定核。在一些实施例中,在计算设备300中的一个或者多个处理核或者处理器可以各自访问本地存储器。 在更多其它实施例中,可以在一个或者多个处理器或者处理核之中共享在计算设备300内的存储器,而其它存储器可以被特定处理器或者处理器子集访问。在计算设备300包括多于一个处理单元的实施例中,可以在单个集成电路(IC)中包括多个处理单元。这些多个处理器在一些实施例中可以被可以称为单元互连总线的内部高速总线链接在一起。
在计算设备300包括一个或者多个处理单元321或者包括包含一个或者多个处理核的处理单元321的实施例中,处理器可以对多条数据同时执行单个指令(SIMD)或者在其它实施例中可以对多条数据(MIMD)同时执行多个指令。在一些实施例中,计算设备100可以包括任何数目的SIMD和MIMD处理器。
计算设备300在一些实施例中可以包括图形处理器或者图形处理单元(未示出)。图形处理单元可以包括软件和硬件的任何组合并且还可以输入图形数据和图形指令、根据输入的数据和指令渲染图形并且输出渲染的图形。在一些实施例中,可以在处理单元321内包括图形处理单元。在其它实施例中,计算设备300可以包括一个或者多个处理单元321,其中至少一个处理单元321专用于处理和渲染图形。
计算机器300的一个实施例包括经由也称为后侧总线的次总线与高速缓存存储器340通信的中央处理单元321,而计算机器300的另一实施例包括经由系统总线350与高速缓存存储器通信的中央处理单元321。本地系统总线350可以在一些实施例中也被中央处理单元用来与多于一个类型的I/O设备330a-330n通信。在一些实施例中,本地系统总线350可以是以下类型的总线中的任何类型的总线:VESA VL总线;ISA总线;EISA总线;多通道架构(MCA)总线;PCI总线;PCI-X总线;PCI-快速总线;或者NuBus。计算机器300的其它实施例包括I/O设备330a-330n,该I/O设备包括与中央处理单元321通信的视频显示器224。计算机器300的更多其它版本包括经由以下连接中的任何连接来连接到I/O设备330a-330n的处理器 321:HyperTransport、Rapid I/O或者InfiniBand。计算机器300的更多实施例包括使用本地互连总线来与一个I/O设备330a通信并且使用直接连接来与第二I/O设备330b通信的处理器321。
计算设备300在一些实施例中包括主存储器单元322和高速缓存存储器340。高速缓存存储340可以是任何存储器类型并且在一些实施例中可以是以下类型的存储器中的任何类型的存储器:SRAM;BSRAM;或者EDRAM。其它实施例包括高速缓存存储器340和主存储器单元322,该主存储器单元可以是以下类型的存储器中的任何类型的存储器:静态随机存取存储器(SRAM)、突发SRAM或者同步突发SRAM(BSRAM);动态随机存取存储器(DRAM);快速页面模式DRAM(FPM DRAM);增强型DRAM(EDRAM)、扩展式数据输出RAM(EDO RAM);扩展式数据输出DRAM(EDO DRAM);突发扩展式数据输出DRAM(BEDO DRAM);增强型DRAM(EDRAM);同步DRAM(SDRAM);JEDEC SCRAM;PC100SDRAM;双数据速率SDRAM(DDR SDRAM);增强型SDRAM(ESDRAM);SyncLink DRAM(SLDRAM);直接Rambus DRAM(DRDRAM);铁电RAM(FRAM);或者任何其它类型的存储器。更多实施例包括可以经由以下各项访问主存储器322的中央处理单元321:系统总线350;存储器端口303;或者允许处理器321访问存储器322的任何其它连接、总线或者端口。
计算设备200/300的一个实施例提供对于以下安装设备216中的任何安装设备的支持:CD-ROM驱动、CD-R/RW驱动、DVD-ROM驱动、各种格式的带驱动、USB设备、可引导介质、可引导CD、用于GNU/Linux分发的可引导CD、比如硬驱动或者适合用于安装应用或者软件的任何其它设备。应用可以在一些实施例中包括客户端代理220或者客户端代理220的任何部分。计算设备200/300还可以包括存储设备228,该存储设备可以是一个或者多个硬盘驱动或者一个或者多个独立盘冗余阵列;其中存储设备被配置为存储操作系统、软件、程序应用或者客户端代理220的至少部分。 计算设备200、300的又一实施例包括用作存储设备228的安装设备216。
计算设备200、300还可以包括用于通过多种连接对接到局域网(LAN)、广域网(WAN)或者因特网的网络接口218,这些连接包括但不限于标准电话线、LAN或者WAN链路(例如802.11、T1、T3、56kb、X.25、SNA、DECNET)、宽带连接(例如ISDN、帧总计、ATM、吉比特以太网、在SONET之上的以太网)、无线连接或者上述连接中的任何或者所有连接的某个组合。也可以使用多种通信协议(例如TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布式数据接口(FDDI)、RS 232、RS485、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、CDMA、GSM、WiMax和直接异步连接)来建立连接。计算设备200、300的一个版本包括能够经由任何类型和/或形式的网关或者隧道传输协议、比如安全套接字层(SSL)或者传送层安全(TLS)或者Citrix Systems,Inc.制造的Citrix网关协议与附加计算设备200’、300’通信的网络接口218。网络接口218的版本可以包括以下版本中的任何版本:内置式网络适配器;网络接口卡;PCMCIA网卡;卡总线网络适配器;无线网络适配器;USB网络适配器;调制解调器;或者适合用于将计算设备、200、300对接到能够通信并且实现这里描述的方法和系统的网络的任何其它设备。
计算设备200、300的实施例包括以下各项中的任何一项:I/O设备230a-230n;键盘226;指示设备227;鼠标;跟踪板;光笔;跟踪球;麦克风、绘图写字板;视频显示器;扬声器;喷墨打印机;激光打印机;以及颜料升华打印机;或者能够实现这里描述的方法和系统的任何其它输入/输出设备。I/O控制器223可以在一些实施例中连接到多个I/O设备230a-230n以控制一个或者多个I/O设备。I/O设备230a-230n的一些实施例可以被配置为提供存储或者安装介质216,而其它实施例可以提供用于接收USB存储设备的通用串行总线(USB)接口、比如Twintech Industry,Inc.制造的设备的USB 闪存驱动线。更多其它实施例包括I/O设备230,该I/O设备可以是在系统总线250与外部通信总线、比如:USB总线;Apple Desktop总线;RS-232串行连接;SCSI总线;FireWire总线;FireWire 800总线;以太网总线;AppleTalk总线;吉比特以太网总线;异步传输模式总线;HIPPI总线;Super HIPPI总线;SerialPlus总线;SCI/LAMP总线;FibreChannel总线;或者串行附着小型计算机系统接口总线之间的网桥。
在一些实施例中,计算机器200、300可以连接到多个显示器设备224a-224n,在其它实施例中,计算设备100可以连接到单个显示设备224,而在更多其它实施例中,计算设备200、300连接到属于相同显示器类型或者形式的显示器设备224a-224n或者属于不同类型或者形式的显示器设备。显示器设备224a-224n的实施例可以被以下各项支持和启用:一个或者多个I/O设备230a-230n;I/O控制器223;I/O设备230a-230n和I/O控制器223的组合;能够支持显示器设备224a-224n的硬件和软件的组合;用于对接、通信、连接或者另外使用显示器设备224a-224n的任何类型和/或形式的视频适配器、视频卡、驱动器和/或库。计算设备200、300可以在一些实施例中被配置为使用一个或者多个显示器设备224A-224N,这些配置包括:具有用于对接到多个显示器设备224A-224N的多个连接器;具有多个视频适配器而每个视频适配器连接到显示器设备224A-224N中的一个或者多个显示器设备;具有被配置为支持多个显示器224A-224N的操作系统;使用在计算设备200内包括的电路和软件以连接到并且使用多个显示器设备224A-224N;以及在主计算设备200和多个次计算设备上执行软件以使主计算设备200能够使用次计算设备的显示器作为用于主计算设备200的显示器设备224A-224N。计算设备200的更多其它实施例可以包括多个次计算设备提供的并且经由网络连接到主计算设备200的多个显示器设备224A-224N。
在一些实施例中,计算机器200可以执行任何操作系统,而在 其它实施例中,计算机器200可以执行以下操作系统中的任何操作系统:MICROSOFT WINDOWS操作系统的版本、比如WINDOWS3.x;WINDOWS 95;WINDOWS 98;WINDOWS 2000;WINDOWS NT 3.51;WINDOWS NT 4.0;WINDOWS CE;WINDOWS XP;WINDOWS VISTA;以及WINDOWS 7;Unix和Linux操作系统的不同发布;苹果电脑制造的MAC OS的任何版本;国际商业机器制造的OS/2;任何嵌入式操作系统;任何实时操作系统;任何开源操作系统;任何私用操作系统;用于移动计算设备的任何操作系统;或者任何其它操作系统。在更多另一实施例中,计算机器200可以执行多个操作系统。例如计算机器200可以执行PARALLELS或者可以执行或者管理虚拟机的另一虚拟化平台,该虚拟机执行第一操作系统,而计算机器200执行与第一操作系统不同的第二操作系统。
可以在以下计算设备中的任何计算设备中体现计算机器200:计算工作站;桌面型计算机;膝上型或者笔记本计算机;服务器;手持计算机;移动电话;便携电信设备;媒体播放设备;游戏系统;移动计算设备;上网本;苹果电脑制造的IPOD系列设备中的设备;索尼公司制造的PLAYSTATION系列设备中的任何设备;任天堂公司制造的Nintendo系列设备中的任何设备;微软公司制造的XBOX系列设备中的任何设备;或者能够通信并且具有充分处理器能力和存储器容量以实现这里描述的方法和系统的充分处理器能力和存储器容量的任何其它类型和/或形式的计算、远程通信或者媒体设备。在其它实施例中,计算机器100可以是移动设备、比如以下移动设备中的任何移动设备:具有JAVA功能的蜂窝电话或者个人数字助理(PDA)、比如都是摩托罗拉公司制造的i55sr、i58sr、i85s、i88s、i90c、i95cl或者im1100;京瓷制造的6035或者7135;三星电子有限公司制造的i300或者i300;帕尔姆(Palm)制造的TREO 180、270、600、650、680、700p、700w或者750智能电话;具有与设备一致的不同处理器、操作系统和输入设备的任何计算设备;或者能够实现这里描述的方法和系统的任何其它移动计算设备。在更多其 它实施例中,计算设备200可以是以下移动计算设备中的任何移动计算设备:行动研究有限公司(Research In Motion Limited)制造的任何一个系列Blackberry或者其它手持设备;苹果电脑制造的iPhone manufactured by Apple Computer;Palm Pre;Pocket PC;Pocket PC Phone;或者任何其它手持移动设备。
在一些实施例中,计算设备200可以具有与设备一致的不同处理器、操作系统和输入设备。例如在一个实施例中,计算设备200是Palm,Inc.制造的TREO 180、270、600、650、680、700p、700w或者750智能电话。在这些实施例中的一些实施例中,TREO智能电话在Palm操作系统的控制之下操作并且包括触笔输入设备以及五向导航设备。
在其它实施例中,计算设备200是移动设备、比如具有JAVA功能的蜂窝电话或者个人数字助理(PDA)、比如都是由伊利诺伊的绍姆堡的摩托罗拉公司制造的i55sr、i58sr、i85s、i88s、i90c、i95cl或者im1100、日本京都的京瓷制造的6035或者7135或者韩国首尔的三星电子有限公司制造的i300或者i300。在一些实施例中,计算设备200是芬兰的诺基亚或者瑞典隆德的索尼爱立信移动通信AB制造的移动设备。
在更多其它实施例中,计算设备200是Blackberry手持或者智能电话、比如行动研究有限公司制造的设备、包括Blackberry 7100系列、8700系列、7700系列、7200系列、Blackberry 7520或者BlackberryPearl 8100。在更多其它实施例中,计算设备200是智能电话、Pocket PC、Pocket PC Phone或者支持Microsoft Windows Mobile Software的其它手持移动电话。另外,计算设备200可以是任何工作站、桌面型计算机、膝上型或者笔记本计算机、服务器、手持计算机、移动电话、任何其它计算机或者能够通信并且具有用于执行这里描述的操作的充分处理器能力和存储器容量的其它形式的计算或者电信设备。
在一些实施例中,计算设备200是数字音频播放器。在这些实 施例之一中,计算设备200是数字音频播放器、比如加利福尼亚的库比蒂诺的苹果电脑制造的Apple IPOD、IPOD Touch、IPOD NANO和IPOD SHUFFLE设备线。在这些实施例中的另一实施例中,数字音频播放器可以作为便携媒体播放器和作为海量存储设备二者工作。在其它实施例中,计算设备200是数字音频播放器、比如新泽西的里奇菲尔德公园的美国三星电子制造的DigitalAudioPlayer Select MP3播放器或者伊利诺伊的绍姆堡的摩托罗拉股份有限公司制造的Motorola m500或者m25 Digital Audio Players。在更多其它实施例中,计算设备200是便携媒体播放器、比如创新技术有限公司制造的Zen Vision W、Zen Vision系列、Zen Portable Media Center设备或者Digital MP3线的MP3播放器。在更多其它实施例中,计算设备200是支持如下文件格式的便携媒体播放器或者数字音频播放器,这些文件格式包括但不限于MP3、WAV、M4A/AAC、WMA保护的AAC、AIFF、可听音频书、Apple无损音频文件格式和.mov、.m4v和.mp4 MPEG-4(H.264/MPEG-4 AVC)音频文件格式。
在一些实施例中,计算设备200包括设备组合、比如与数字音频播放器或者便携媒体播放器组合的移动电话。在这些实施例中的一个实施例中,计算设备200是Motorola RAZR或者Motorola ROKR线的数字音频播放器和移动电话组合。在这些实施例中的另一实施例中,计算设备200是加利福尼亚的库比蒂诺的苹果电脑制造的iPhone智能电话。
图1-3示出示例桌面虚拟化系统的高级架构。如图所示,桌面虚拟化系统可以是单服务器或者多服务器系统、包括被配置为向一个或者多个客户端访问设备140提供虚拟桌面和/或虚拟应用的至少一个虚拟化服务器106。如这里所用,桌面是指其中可以主控和/或执行一个或者多个应用的图形环境或者空间。桌面可以包括为其中可以集成本地和/或远程应用的操作系统的实例提供用户界面的图形shell。应用如这里所用是在已经加载操作系统的实例(以及可选地也加载桌面)之后执行的程序。操作系统的每个实例可以是物理的 (例如每设备一个操作系统)或者虚拟的(例如在单个设备上运行的OS的许多实例)。可以在本地设备上执行或者在远程定位的设备上执行(例如远程化)每个应用。
以上参照图1-3描述的系统和架构以及其它系统和架构可以用来实施以下描述的功能。作为简介,可以基于当前用户焦点位置(例如基于眼跟踪、鼠标光标定位、视窗焦点等)将显示区划分成分级或者设置优先级的区域。可以用比显示的未与用户焦点位置关联的部分更好的图像质量从服务器向客户端传输用于与显示区的与用户焦点位置关联的部分的显示数据。例如在用户正在主要聚焦于一个应用视窗、例如字处理应用时,服务器可以发送用于该视窗的比用户发送的用于第二视窗的显示数据更高显示质量的显示数据,该第二视窗尽管也可视、但是不是用户的关注焦点。
图4图示根据这里描述的一个或者多个示例方面的提供分级显示的示例概述方法。在一些实施例中,一个或者多个服务器、比如服务器106可以执行步骤410-440。在步骤410中,服务器106可以比如从客户端设备140(例如从在客户端设备上运行的应用、从连接到客户端设备的外围设备等)接收标识用户的焦点的定位(例如用户正在注视)的信息。在一些实施例中,信息可以标识用户的焦点相对于客户端设备、比如相对于视频显示器、显示区域和/或与客户端设备集成和/或连接到客户端设备的定位传感器的定位。信息可以由服务器106经由位于网络、比如LAN 125、WAN 129和/或因特网中的一个或者多个通信信道从客户端设备140接收。在一些实施例中,服务器106可以请求来自客户端设备140和/或连接到客户端设备的外围设备的定位信息。在其它实施例中,客户端设备140和/或连接到客户端设备的外围设备可以传输定位信息而无请求。例如可以在预定时段(比如周期性地,比如每X毫秒)传输信息。在一些实施例中,预定时间段的长度可以是在服务器106与客户端设备140之间的连接会话(例如ICA会话)内的预定义的时间分片,从而在每个时间分片到期时传输信息。也可以响应于事件(例如检测到用 户的焦点的定位改变)传输信息。
任何设备、包括服务器106、客户端设备140、另一计算设备、传感器等可以确定用户的焦点的定位。为了简洁,公开内容将描述客户端设备、比如客户端设备140为确定用户的焦点的定位。客户端设备140可以用若干方式确定用户的焦点的定位。例如客户端设备140可以使用定位传感器(例如相机、比如RGB相机、IR相机、3D相机、音频传感器、比如麦克风、眼跟踪设备或者配置为感测用户的焦点的定位的任何其它传感器)、检测输入设备指示器(例如鼠标光标、文本光标、另一指针等)的定位和/或检测另一图形用户界面(GUI)元素(例如应用窗、比如活跃或者顶级应用窗)的定位。在一些实施例中,客户端设备140可以通过使用定位传感器以跟踪用户的焦点定位(例如用户正在注视的地方)来确定用户的焦点的定位。另外,客户端设备140和/或传感器可以使用跟踪的焦点定位以标识用户的焦点相对于客户端设备、比如相对于具有若干显示区域的视频显示器和/或定位传感器(例如相机)的定位。例如客户端设备140可以标识与用户的末端(例如眼、头、手、肘、躯干、关节等)对应的用户坐标集。另外,客户端设备140可以基于传感器标识的坐标集创建一个或者多个图像映射(例如图像映射、深度映射、音频映射等)和/或用户骨骼模型。在一些实施例中,客户端设备140可以向服务器106传输信息、比如用户坐标、图像映射和/或用户骨骼模型。在一些方面中,客户端设备例如通过向会话主机或者服务器报告感兴趣的坐标来仅向服务器提供关于当前用户焦点位置的反馈,并且服务器然后对坐标设置优先级、确定显示区域并且渲染和调度显示区域用于传输。
在接收坐标信息之后,服务器106可以对在坐标集中的一个或者若干坐标设置优先级。在一些实施例中,服务器106可以使一般指示用户的焦点在显示区中的定位的一个或者多个坐标(例如眼、头和/或手)优先于一般未指示该定位的坐标(例如肘、躯干、关节)。例如服务器106可以对与用户的眼对应的坐标设置优先级以便例如 跟踪用户的视觉焦点(例如用户正在注视的在视频显示中的显示区域)。可以使用任何眼跟踪技术来跟踪用户的眼。例如可以通过跟踪用户的瞳孔和/或虹膜的定位来跟踪用户的眼定位。在一些实施例中,可以通过角膜反射跟踪来确定瞳孔和/或虹膜定位。在这一类型的跟踪中,光源、比如红外线光源可以照射用户的眼的角膜从而创建特定反射图案。反射图案可以被图像传感器、比如配置为检测红外线光的图像传感器(例如3D相机)用来确定用户的瞳孔和/或虹膜的定位并且因此确定用户的眼的定位。作为另一示例,服务器106(或者客户端140)可以确定与用户的头和/或手对应的坐标以便跟踪例如用户的身体或者视觉焦点。用户的头的定位可以指示用户的焦点的显示区域。例如,如果用户的头在视频显示的左一半,则可以确定用户正在聚焦于显示的左一半。相似地,用户的手和/或手指的定位可以比如在用户指向在视频显示中的对应显示区域时例如指示用户的焦点在显示上的定位。
取代经由定位传感器跟踪用户的焦点的定位,客户端设备140可以基于容易可用于服务器的信息、比如响应于在虚拟桌面和/或虚拟应用中的用户活动而生成的信息确定用户的焦点的定位。例如客户端设备140可以通过如将参照图10在以下示例中进一步具体描述的那样检测输入设备指示器、比如鼠标光标、文本光标或者其它指示器的定位来确定用户的焦点的定位。客户端设备140也可以通过如将参照图11在以下示例中进一步具体描述的那样检测GUI元素、比如具有输入焦点的应用视窗的定位来确定用户的焦点的定位。
图5图示根据这里描述的一个或者多个示例方面的用户定位的示例。如图所示,相对于包括三个显示区域、比如第一显示区域520、第二显示区域530和第三显示区域540的显示区对用户500进行定位。虽然图5图示具有三个显示区域的示例显示区,但是相关领域平台技术人员将容易认识显示区可以包括任何数目的显示区域。在图5中,用户的焦点510、比如用户的眼的焦点在第一显示区域520内。如先前描述的那样,定位传感器、比如相机可以跟踪用户的焦 点510、比如用户的眼的焦点(例如如图所示如在显示区域520内)。在一些实施例中,服务器106可以基于用户的眼的检测到的焦点对显示区域设置优先级。例如,如将在以下示例中进一步具体描述的那样,服务器106可以基于用户的眼的检测到的焦点位置对在显示区中的显示区域进行排名。如图5中所示,服务器106可以从最重要到最不重要对显示区域排名如下:第一显示区域520、第二显示区域530和第三显示区域540。如将在以下示例中进一步具体描述的那样,显示区域排名还可以影响每个显示区域的显示质量。在一些实例中,用户的焦点510可以跨越多个显示区域、比如显示区域520和530。在这些实例中,服务器106可以在相同水平对显示区域520和530进行排名。备选地,服务器106可以将显示区域520和530之一选择为具有比另一显示区域更高的优先级。
图6图示根据这里描述的一个或者多个示例方面的检测用户定位改变的示例方法。图7图示根据这里描述的一个或者多个示例方面的用户定位改变的示例。在一些实例中,用户的焦点的定位改变可以使服务器106对显示区域重新排名。在步骤610中,服务器106可以检测用户的焦点的定位改变。例如参照图7,用户700可以将他的或者她的焦点从第一用户焦点定位710(在第一显示区域720内的焦点)改变成第二用户焦点定位720(在第三显示区域740内的焦点),并且服务器106可以在步骤610中检测改变。在步骤620中,服务器106可以确定用户的焦点的定位改变是否满足和/或超过预定移动阈值。在一些实施例中,预定阈值可以依赖于一个或者多个显示区域的位置。例如在图7中,预定阈值可以是在两个显示区域之间的虚拟边界、比如在第一显示区域720与第二显示区域730之间的边界。在这一示例中,如果用户的焦点从在第一显示区域720内改变成在第二显示区域730内,则服务器106可以确定用户的焦点从第一显示区域720向第二显示区域730的定位改变超过预定阈值。相似地,如果用户的焦点如图7中所示从在第一显示区域720内改变成在第三显示区域740内,则服务器106可以在步骤620中确定 用户的焦点的定位改变超过预定阈值。在步骤630中,响应于确定定位改变超过预定移动阈值,服务器106可以对显示区域重新排名(例如重设优先级)。例如,如果用户的焦点从在第一显示区域720内改变成在第三显示区域740内,则服务器106可以通过标识显示区640为主显示区域将显示区730重新排名为次显示区域而显示区720为第三显示区域。在一些实施例中,在客户端设备和/或连接到客户端设备的传感器跟踪用户的焦点的定位时,客户端设备和/或传感器可以响应于确定定位改变超过预定移动阈值向服务器106传输用户的焦点的更新的定位。
回顾图4,在步骤420中,服务器106可以基于用户的焦点的检测到和/或接收的定位对多个显示区域进行排名。图8图示根据这里描述的一个或者多个示例方面的对显示区进行排名的示例方法。在步骤810中,服务器106可以确定用来对显示区域进行排名的用户跟踪类型。如先前描述的那样,用户跟踪类型包括但不限于使用定位传感器(例如相机)、跟踪输入设备指示器(例如鼠标光标)的定位和检测另一GUI元素(例如应用视窗)的定位。例如回顾图7,用户的眼可以聚焦于在显示区域720内的区域,鼠标光标可以在显示区域730内,并且聚焦应用视窗可以在显示区域740内。然后,如果服务器106在步骤810中确定使用鼠标光标跟踪,则服务器106可以使显示区域730优先于显示区域720和740。在步骤820中,基于跟踪类型(例如鼠标光标跟踪),服务器106可以确定主显示区域、比如包括用户的焦点的定位的显示区域(例如如果鼠标光标在显示区域730内则为显示区域730)。在步骤830中,服务器106可以确定一个或者多个次显示区域。在一些实施例中,次显示区域可以与主显示区域相邻。在步骤840中,服务器106可以确定一个或者多个第三显示区域。在一些实施例中,第三显示区域可以在显示区中比次显示区域远离主显示区域更远离主显示区域。在附加方面中,第三显示区域可以与第二显示区域相邻。虽然前述步骤包括确定主、次和第三显示区域,但是服务器106可以未确定第三显示 区域。例如在图7的图示中,在将显示区划分成三个显示区域720、730和740时,服务器106可以确定显示区域730为主显示区域而显示区域720和730二者为次显示区域。另外,显示区不限于三个显示区域。实际上,服务器106可以将显示区划分成任何数目的显示区域。
图9图示根据这里描述的一个或者多个示例方面的包括多个显示区域的示例显示区900。如图所示,服务器106可以将显示区900划分成五个区域。服务器106可以确定显示区域910是主显示区域(例如如果用户的焦点的定位在显示区域910内)。服务器106也可以确定图示为与主显示区域910相邻的两个区域的显示区域920是次显示区域。服务器106还可以确定图示为与次显示区域920相邻的两个区域的显示区域930是第三显示区域。在示例显示区900中,次显示区域920可以比第三显示区域930接近主显示区域910更接近主显示区域910。虽然图9表示显示区900为在单个监视器中的显示区,但是显示区900可以跨越多个监视器。在多监视器系统中,可以将显示区900划分成若干显示区域。例如每个监视器可以包括一个显示区域(例如在3监视器系统中的3个显示区域)。备选地,每个监视器可以包括多个显示区域(例如如果每个监视器具有3个显示区域则为在3监视器系统中的9个显示区域)。
图10图示根据这里描述的一个或者多个示例方面的包括多个显示区域的另一示例显示区100。在这一示例中,服务器106可以确定输入设备指示器、比如鼠标光标1040在预定显示区域1010内。响应于这一确定,服务器106可以确定显示区域1010是主显示区域。服务器106可以确定图示为包围主显示区域1010的区域的预定显示区域1020是次显示区域。服务器106还可以确定图示为与次显示区域1020相邻的区域的预定显示区域1030是第三显示区域。虽然可以预定多个显示区域的定位(例如显示区域的定位未响应于光标1040的定位改变而改变),但是无需预定多个显示区域。取而代之,服务器106可以响应于检测到光标1040的定位来确定多个显示区域 (例如1010、1020和1030)的定位和大小。在一些实施例中,服务器106可以确定主显示区域1010在光标1040的部分、比如顶端或者质心以上、右侧、以下和左侧延伸预定数目的像素。例如服务器106可以确定主显示区域1010在光标1040的质心以上、右侧、以下或者左侧延伸200个像素。在这一示例中,主显示区域1010将包括高度为400个像素而宽度为400个像素的区域。服务器106可以相似地确定次显示区域1020和第三显示区域1030的定位和大小。例如次显示区域1020可以从主显示区域1010的每侧延伸附加200个像素,而第三显示区域1030可以从次显示区域1020的每侧延伸附加200个像素。备选地,服务器106可以确定显示区1000的其余部分是第三显示区域1030。
图11图示根据这里描述的一个或者多个示例方面的包括多个显示区域的附加示例显示区1100。服务器106可以基于其它GUI元素、比如应用视窗的定位对显示区域进行排名。在一些实施例中,服务器106可以比如通过维持应用视窗的z顺序或者跟踪哪个视窗具有输入焦点来跟踪GUI元素的重叠顺序并且基于重叠顺序对显示区域进行排名。例如服务器106可以确定包括应用视窗1110(例如按照z顺序的顶部视窗)和/或由应用视窗110构成的显示区域是主显示区域。服务器106可以确定包括应用视窗1120(例如按照z顺序与顶部视窗相邻的视窗)或者其对用户可视的部分和/或由应用视窗1120或者其对用户可视的部分构成的显示区域是次显示区域。服务器106可以相似地对包括附加应用视窗或者由附加应用视窗构成的区域进行排名。在包括两个应用视窗的图11中,服务器106可以确定显示区1100的其余部分(例如显示区域1130)是第三显示区域。在其它实施例中,服务器106可以确定包括应用视窗1110和1120或者其可视部分和/或由应用视窗1110和1120或者其可视部分构成的显示区域是主显示区域而背景区域1130是次显示区域。
服务器106也可以将单个应用视窗划分成多个显示区域。在一些实施例中,服务器106可以基于在应用中的预先存在的逻辑划分 来划分应用视窗。例如在徒手绘图应用中,服务器106可以确定包括绘图应用的画布区域和/或由绘图应用的画布区域构成的显示区域是主显示区域。服务器106可以确定包括绘图应用的其它区域、比如工具栏、菜单栏、框架区等和/或由执行其它区域构成的显示区域是次显示区域。服务器106也可以确定包括显示区的其余部分和/或由显示区的其余部分构成的显示区域是第三显示区域。在附加实施例中,服务器106可以基于用户的焦点的定位(例如坐标)划分应用视窗。例如,如果用户的眼聚焦于在绘图应用内的特定坐标,则服务器106可以确定包括坐标和从坐标延伸预定半径的圆形区域和/或由该坐标和该圆形区域构成的显示区域是主显示区域。服务器106也可以确定绘图应用的其余部分是次显示区域。
在一些实施例中,服务器106可以基于应用和/或应用视窗的预定排名对显示区域进行排名。例如服务器106可以按照以下优先级顺序对三个应用预先排名:应用A、应用B和应用C。因而,显示区域排名可以基于这一应用预先排名。例如,如果用于应用A、B和C的视窗打开,则服务器106可以确定包括应用A(或者其对用户可视的部分)和/或由应用A(或者其对用户可视的部分)构成的显示区域是主显示区域、包括应用B(或者其对用户可视的部分)和/或由应用B(或者其对用户可视的部分)构成的显示区域是次显示区域和/或、包括应用C(或者其对用户可视的部分)和/或由应用C(或者其对用户可视的部分)构成的显示区域是第三显示区域。在一些实例中,预先排名的应用的仅子集可以打开和/或正在运行。例如在仅应用A和C打开时,服务器106可以确定包括应用A和/或由应用A构成的显示区域是主显示区域、包括应用C和/或由应用C构成的显示区域是次显示区域而显示区的其余部分是第三显示区域。在附加实施例中服务器106可以基于应用和/或应用视窗白名单设置和/或黑名单设置对显示区域进行排名。例如服务器106可以生成应用白名单(或者从用户接收应用白名单)并且向在应用白名单上的应用授予主显示区域状态。相似地,服务器106可以生成应用白名 单(或者从用户接收应用白名单)并且向在应用白名单上的应用授予次、第三等显示区域状态。应用白名单可以包括具有频繁图像改变的应用、比如视频播发器应用或者一般需要呈现高分辨率图像的应用、比如相片编辑应用。在另一方面,应用黑名单可以包括具有频繁图像改变的应用、比如文件管理器应用或者一般无需呈现高分辨率图像的应用、比如桌面工具栏。多个列表可以由服务器106生成和/或接收。例如服务器106可以生成被授予的主显示区域状态的第一应用列表、被授予的次显示区域状态的第二应用列表和被授予的第三显示区域状态的第三应用列表。可以生成和/或接收任何数目的应用列表。
图12图示根据这里描述的一个或者多个示例方面的确定多个主显示区域的示例方法。图13图示根据这里描述的一个或者多个示例方面的包括多个主显示区域的示例显示区。在步骤1210中,服务器106可以比如在跟踪多于一个用户或者多于一个用户焦点定位时确定多个主显示区域存在。例如服务器106可以比如基于来自客户端设备和/或传感器的反馈来确定第一用户的焦点在显示区域1310中而第二用户的焦点在显示区域1320中。备选地,服务器106可以确定单个用户正在聚焦于在显示区1300中的多个定位。可以基于一个或者多个用户跟踪类型进行这一确定。例如服务器106可以如果用户的眼聚焦于在显示区域1310内的区域则确定用户的焦点在显示区域1310内的区域上而如果输入设备指示器、比如光标的定位在显示区域1320内则用户的焦点也在显示区域1320内的区域上。作为另一示例,服务器106可以基于应用视窗位于显示区域1310来确定用户正在聚焦于显示区域1310而基于另一应用视窗位于显示区域1320来确定用户也正在聚焦于显示区域1320。服务器106基于先前描述的聚焦跟踪技术中的任何聚焦跟踪技术、包括使用定位传感器(例如相机等)、跟踪输入设备指示器(例如鼠标光标等)的定位、检测图形用户界面(GUI)元素(例如应用视窗等)的定位或者其组合进行这样的确定。在步骤1220中,服务器106可以基于第一焦点 定位确定第一主显示区域(例如显示区域1310)。在步骤1230中,服务器106可以基于第二焦点定位确定第二主显示区域(例如显示区域1320)。在步骤1240中,服务器106可以标识附加显示区域(例如显示区域1330)为次、第三等显示区域。虽然前文描述包括两个主显示区域,然而显示区可以包括任何数目的主显示区域。
图14A-B图示根据这里描述的一个或者多个示例方面的示例梯度显示区。在示例显示区1400中,用户的焦点的定位可以在显示区1400的如标号1410描绘的中心附近。服务器160可以沿着显示区1400的垂线对包括用户的焦点的定位的显示区域设置优先级。从用户的焦点的区域移开的区域可以用梯度方式接收较低优先级。在示例显示区1420中,用户的焦点的定位可以在显示区1420的如标号1430描绘的左上角附近。服务器106可以在显示区1420中的点对包括用户的焦点的定位的显示区域设置优先级。比如以圆形方式从用户的焦点的区域移开的区域可以用梯度方式接收较低优先级。
图20图示根据这里描述的一个或者多个示例方面的具有圆形显示区域2010、2020和2030的示例显示区2000。用户的焦点的定位可以是标号2040指示的坐标。基于坐标,服务器106可以动态确定主显示区域2010,该主显示区域以径向方式从坐标2040延伸预定距离2050(例如X个像素)从而形成圆形主显示区域2010。服务器106也可以动态确定次显示区域2020,该次显示区域以径向方式从坐标2040延伸附加预定距离2060(例如Y个像素)从而形成圆形次显示区域202。预定距离2050和2060可以是相同或者不同长度。服务器106可以确定显示区2000的其余部分是第三显示区域2030。在一些实施例中,如果用户的焦点的定位在显示区2000的中心区域(例如非拐角区域)内,则服务器106可以动态生成圆形显示区域。
图21图示根据这里描述的一个或者多个示例方面的具有圆形显示区域2110、2120和2130的另一示例显示区210,这些圆形显示区域指示用户的焦点的定位从图20中所示坐标2040向图21中所示坐标2140的移位。在一些实施例中,用于引起改变或者重新指派显示 区域的预定移动阈值可以是在两个显示区域之间的虚拟边界。例如,如果用户的焦点的定位从在原有主显示区域2010内的区域改变成在该区域以外的区域(例如从定位2040改变成定位2140),则服务器106可以确定焦点定位移位超过移动阈值并且可以相应地重新指派显示区域。例如如图21中所示,服务器106可以响应于定位移位来生成新的主显示区域2110、新的次显示区域2120和新的第三显示区域2130。
图22图示根据这里描述的一个或者多个示例方面的具有矩形显示区域2210、2220和2230的示例显示区2200。与示例显示区2000相似,服务器106可以基于用户的焦点(例如坐标2240)的定位动态确定主、次和第三显示区域。在一些实施例中,主显示区域2210可以从焦点定位2240延伸预定对角距离2250从而形成方形显示区域。在其它实施例中,主显示区域2210可以从焦点定位2240延伸预定水平(和/或竖直)距离2260从而形成方形或者矩形显示区域。相似地,次显示区域2220可以从焦点定位2240延伸附加对角距离2270或者水平(和/或竖直)距离2280从而形成方形或者矩形显示区域。服务器106可以确定显示区2000的其余部分是第三显示区域2230。在一些实施例中,如果用户的焦点的定位在显示区的拐角区域内,则服务器106可以创建矩形显示区域。
图23图示根据这里描述的一个或者多个示例方面的具有矩形显示区域2310、2320和2330的另一示例显示区2300。在一些实施例中,服务器106可以基于带宽可用性更新一个或者多个显示区域的大小。如果网络带宽减少(例如由增加的网络流量引起),则服务器106可以检测这一减少并且减少向客户端设备传输的信息量。可以例如通过减少一般以比其它显示区域更高的显示质量传输的主显示区域2310的大小(如箭头2340指示的那样)来减少信息量。服务器106可以通过例如如将在以下描述的示例中进一步具体描述的那样减少其它显示区域(例如以更高质量传输的显示区域)的大小或者减少一个或者多个显示区域的显示质量来相似地减少传输的信 息量。在另一方面,如果服务器106检测到带宽增加,则服务器106可以比如通过增加主显示区域2310的大小来增加传输的信息量。
参照图4,在步骤430中,服务器106可以确定用于在步骤420中排名的显示区域的显示质量。在公开内容的一些方面中,显示区域的显示质量可以对应于显示区域的排名。例如可以向主显示区域指派高显示质量,可以向次显示区域指派中显示质量,而可以向第三显示区域指派低显示质量。显示质量可以依赖于若干因素。在一些实施例中,可以通过调整图像传输速率、比如图像刷新速率来调整显示质量。一般而言,服务器106可以以较大频率传输较高排名的显示区域。用于每个显示区域的帧传输速率也可以依赖于连接服务器106和客户端设备140的网络类型(例如LAN、WAN等)。例如在LAN环境中,服务器106可以以每秒25至30个帧传输包括主显示区域的帧、以每秒20至25个帧传输包括次显示区域的帧和以每秒15至20个帧传输包括第三显示区域的帧。在显示区包括附加显示区域时,服务器106可以以例如每秒10至15个帧或者每秒少于10个帧传输那些帧。在WAN环境中,服务器106可以以与以上关于LAN环境描述的速率相似的速率传输帧。服务器106也可以基于主导条件(例如流量数量、带宽可用性、安全性等)调整传输速率。
在一些实施例中,可以通过调整图像的细节水平、比如通过调整图像分辨率来调整显示质量。例如服务器106可以以第一分辨率传输包括主显示区域的帧、以比第一分辨率更低的第二分辨率传输包括次显示区域的帧和以比第二分辨率更低的第三分辨率传输包括第三显示区域的帧。服务器106可以将水平分辨率、竖直分辨率或者其组合调整成全分辨率的分数、比如全水平分辨率的1/2、全水平分辨率的1/4、全竖直分辨率的1/2和/或全竖直分辨率的1/4并且基于对应分辨率传输帧。例如服务器106可以以全竖直和水平分辨率传输包括主显示区域的帧、以1/2水平分辨率和全竖直分辨率传输包括次显示区域的帧以及以1/4水平分辨率和全竖直分辨率传输包括 第三显示区域的帧。在一些实施例中,服务器106可以调整色空间分辨率,该色空间包括图像照度和色度信息。在这些实施例中,服务器106可以用以上描述的方式(例如全分辨率、1/2分辨率等)调整照度的细节水平、色度的细节水平或者其组合。在一些实施例中,也可以通过调整图像压缩程度(例如范围从每采样8至14位)来调整显示质量。例如服务器106可以以第一压缩程度传输包括主显示区域的帧、以比第一压缩程度更大的第二压缩程度传输包括次显示区域的帧和以比第二压缩程度更大的第三压缩程度传输包括第三显示区域的帧。
可以通过组合传输频率、细节水平和/或图像压缩程度中的任一项来调整显示质量。在一些实施例中,服务器106可以确定指示用于每个显示区域的分辨率和图像压缩量的图像质量值(例如范围从10至100的值,100是最高显示质量)。80至100的图像质量值可以指示高显示质量(例如在用户未看见失真时的质量),60至80的图像质量值可以指示中显示质量(例如其中用户看见一些、但是最少失真的质量)等。此外,服务器106可以对于被指派图像质量值的每个显示区域确定传输速率。
在一些实施例中,显示质量可以依赖于服务器106利用的图像或者视频编码类型。每个编码类型可以提供影响显示质量的若干可调整参数(例如参数1、参数2和参数3)。服务器106可以对于每个显示区域确定每个参数的水平(例如高、中和低,其中高指示用于给定的参数的最高水平)并且相应地调整显示质量参数。例如服务器106可以以用于参数1的高水平、用于参数2的高水平和用于参数3的高水平传输包括主显示区域的帧。相似地,服务器106可以以用于参数1的高水平、用于参数2的中水平和用于参数3的中水平传输包括次显示区域的帧。可以对于显示区域中的每个显示区域确定任何参数水平组合,从而显示区域被排名越高,显示质量就越高。在调整参数水平时,服务器106还可以考虑在服务器或者客户端设备处的可用存储器和计算能力数量或者网络的带宽。作为代 表示例,服务器106可以利用H.264编码。H.264编码包括若干参数,这些参数包括(1)可以开启(例如高水平)或者关闭(例如低水平)的加权的预测、(2)可以设置成1、4、5或者6的子像素运动估计、(3)可以设置成1至4的参考帧以及(4)可以设置成菱形运动估计(“DIA”)、六边形运动估计(“HEX”)、不均匀多边形运动估计(“UMH”)和逐次消元穷尽搜索运动估计(“ESA”)的运动估计。服务器106可以基于显示区域的排名调整用于每个显示区域的H.264参数。
在步骤440中,服务器106可以基于一个或者多个显示区域的如服务器106分别在步骤420和430中确定的排名和显示质量向客户端设备140传输至少一个显示区域。在一些实施例中,服务器106可以向客户端设备传输包括多个显示区域的显示区。图15图示根据这里描述的一个或者多个示例方面的传输显示区的示例方法。图16图示根据这里描述的一个或者多个示例方面的示例传输的显示区。在步骤1510中,服务器106可以以第一显示质量生成主显示区域、比如显示区域1610。例如服务器106可以以第一分辨率(例如高分辨率)、以第一压缩程度(例如低压缩程度)或者其组合生成区域1610。在步骤1520中,服务器106可以以第二显示质量生成第二显示区域、比如显示区域1620。例如服务器106可以以第二分辨率(例如中分辨率)、以第二压缩程度(例如中压缩程度)或者其组合生成区域1620。在步骤1530中,服务器106可以以第三显示质量生成第三显示区域、比如显示区域1630。例如服务器106可以以第三分辨率(例如低分辨率)、以第三压缩程度(例如高压缩程度)或者其组合生成区域1630。在步骤1540中,服务器106可以组合以它们的相应图像质量生成的主显示区域1610、次显示区域1620和第三显示区域1630。例如服务器106可以通过级联显示区域1610、1620和1630来生成单个显示区。在步骤1550中,服务器106可以向客户端设备传输显示区1600(例如级联的显示区域1610、1620和1630)。备选地,服务器106可以未级联显示区域1610、1620和1630、 但是可以代之以向客户端设备分离地传输显示区域1610、1620和1630。在客户端设备运行的客户端应用可以基于接收的应用显示数据渲染包括显示区域1610、1620和1630的显示区。
在一些实施例中,服务器106可以向客户端设备个别地传输显示区域。图17图示根据这里描述的一个或者多个示例方面的传输显示区域的示例方法。图18图示根据这里描述的一个或者多个示例方面的示例传输的显示区域。在步骤1710中,服务器106可以生成主显示区域、比如显示区域1810。为了生成主显示区域1810,服务器106可以标识主显示区域1810的第一拐角、比如右上角1801和主显示区域的大小(例如如它延伸至左下角1802那样)。备选地,服务器106可以检测包括应用视窗和/或由应用视窗构成的显示区域以生成主显示区域1810。这样可以是应用视窗跨越整个显示区域1810的情况。在步骤1720中,服务器106可以确定主显示区域1810的显示质量(例如传输速率、细节水平和/或图像压缩程度)。在步骤1730中,服务器106可以以确定的显示质量向客户端设备传输主显示区域1810。例如在显示质量按照图像压缩程度、图像分辨率或者其组合变化时,服务器106可以以第一图像压缩程度(例如低图像压缩程度)、第一图像分辨率(例如高分辨率)或者其组合向客户端设备传输主显示区域1810。服务器106可以用相似方式生成和传输次显示区域1820和第三显示区域1830。例如服务器106可以以第二图像压缩程度(例如中图像压缩程度)、第二图像分辨率(例如中分辨率)或者其组合向客户端设备传输次显示区域1820。相似地,服务器106可以以第三图像压缩程度(例如高图像压缩程度)、第三图像分辨率(例如低分辨率)或者其组合向客户端设备传输第三显示区域1830。服务器106可以在相同时间(例如在相同数据分组中)、依次或者在不同时间(例如如将在以下示例中进一步具体描述的那样以不同刷新速率)传输显示区域。
在一些实施例中,在显示质量按照传输(例如刷新)速率变化时,服务器106可以以对应传输速率传输主显示区域1810。例如, 如果主显示区域1810具有每秒30帧的传输速率,则服务器106可以生成主区域1810的更新的帧并且以每秒30个帧传输更新。在一些实施例中,传输的图像可以具有例如范围从0至100的图像质量值代表的对应图像压缩程度和/或图像分辨率。例如服务器106可以以每秒30个帧和以图像质量值80(例如在全分辨率和中压缩程度)传输主显示区域1810的更新。服务器106可以以每秒20个帧和以图像质量值60(例如在全水平分辨率和1/2竖直分辨率以及中压缩程度)生成和传输次显示区域1820的更新。服务器106可以以每秒15个帧和以图像质量值50(例如在全水平分辨率和1/2竖直分辨率以及高压缩程度)生成和传输第三显示区域1830的更新。
图19图示根据这里描述的一个或者多个示例方面的传输显示区域的另一示例方法。在步骤1910中,服务器106可以检测在一个或者多个显示区域中的图像改变。例如,如果显示区域包括字处理应用,则图像改变可以在用户向字处理应用中键入文本时出现。图像改变可以在显示区域中的GUI元素(例如鼠标光标、应用视窗等)对定位进行移位时、比如在用户从显示区域的一个区域向另一区域拖动元素时出现。在检测到图像改变时,服务器106在步骤1920中可以标识具有图像改变的显示区域的显示质量。例如,如果图像改变在主显示区域中出现,则服务器106可以标识显示质量为高传输速率、高图像分辨率、低图像压缩程度或者其组合。作为另一示例,如果图像改变在次显示区域中出现,则服务器106可以标识显示质量为中传输速率、中图像分辨率、中图像压缩程度或者其组合。在步骤1930中,服务器106可以生成和/或排队具有图像改变的显示区域的更新的帧用于传输。例如服务器106可以向显示缓冲器添加显示区域的帧。
在步骤1940中,服务器106可以确定是否向客户端设备传输更新的帧。这一确定可以依赖于具有图像改变的显示区域的显示质量。例如,如果服务器106检测到在次显示区域中的图像改变,则服务器106可以在步骤1930中确定通过投掷向队列添加的帧来防止传输次显示区域的更新的帧。随后,服务器106可以返回到步骤1910 以等待另一图像改变。备选地,如果服务器106检测到在主显示区域中的图像改变,则服务器106在步骤1950中可以确定通过传输在步骤1930中排队的主显示区域来传输主显示区域的更新的帧。在一些实施例中,可以比用于排名较低的显示区域的更新的帧更频繁地传输用于排名较高的显示区域的更新的帧。例如服务器106可以对于在主显示区域中出现的图像每个图像改变传输用于主显示区域的更新的帧,而对于在次显示区域中出现的图像每隔一个图像改变传输用于次显示区域的更新的帧。
虽然以上描述示例实施例,但是根据希望的具体推荐过程可以用任何希望的方式组合、划分、省略和/或扩充各种特征和步骤以及可以添加其它步骤。本专利的范围应当仅由所附权利要求限定。

具有分级更新的远程显示.pdf_第1页
第1页 / 共38页
具有分级更新的远程显示.pdf_第2页
第2页 / 共38页
具有分级更新的远程显示.pdf_第3页
第3页 / 共38页
点击查看更多>>
资源描述

《具有分级更新的远程显示.pdf》由会员分享,可在线阅读,更多相关《具有分级更新的远程显示.pdf(38页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104137050A43申请公布日20141105CN104137050A21申请号201380010368X22申请日2013021913/402,17920120222USG06F3/1420060171申请人西里克斯系统公司地址美国佛罗里达州72发明人A苏雷施J里维拉74专利代理机构北京市金杜律师事务所11256代理人酆迅王冬54发明名称具有分级更新的远程显示57摘要这里描述基于用户的焦点510的定位向用户500提供具有分级更新的显示的系统和方法。可以通过跟踪例如用户的眼的定位、鼠标光标在显示内的定位、应用视窗在显示内的定位或者其组合来确定用户的焦点510的定位。基于用。

2、户的焦点510的定位,可以将显示划分成多个显示区域520,530,540,并且可以比如通过对用户正在聚焦于的显示区域520设置优先级来对显示区域进行排名。可以基于显示区域的排名确定显示区域的显示质量例如透射率、图像分辨率、图像压缩程度等,由此向基于用户正在活跃地注视的内容的区域提供更高显示/图像质量。30优先权数据85PCT国际申请进入国家阶段日2014082186PCT国际申请的申请数据PCT/US2013/0267082013021987PCT国际申请的公布数据WO2013/126338EN2013082951INTCL权利要求书3页说明书20页附图14页19中华人民共和国国家知识产权局1。

3、2发明专利申请权利要求书3页说明书20页附图14页10申请公布号CN104137050ACN104137050A1/3页21一种或者多种具有在其上存储的计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在由处理器执行时使所述处理器从客户端设备接收标识用户焦点在显示区内的定位的信息;基于标识所述用户焦点的所述定位的所述信息对所述显示区的多个显示区域进行排名;以及向所述客户端设备传输所述多个显示区域中的至少一个显示区域,所述至少一个显示区域用基于其对应排名的显示质量来传输。2根据权利要求1所述的一种或者多种非瞬态计算机可读介质,其中对所述多个显示区域进行排名包括基于所述用户焦点的所述定位。

4、标识所述多个显示区域中的主显示区域;标识所述多个显示区域中的次显示区域,所述次显示区域不同于所述主显示区域;用第一显示质量传输所述主显示区域;以及用第二显示质量传输所述次显示区域,所述第一显示质量高于所述第二显示质量。3根据权利要求2所述的一种或者多种非瞬态计算机可读介质,其中对所述多个显示区域进行排名包括标识所述多个显示区域中的第三显示区域,其中所述次显示区域比所述第三显示区域接近所述主显示区域更接近所述主显示区域;以及所述次显示区域的所述显示质量高于所述第三显示区域的显示质量。4根据权利要求2所述的一种或者多种非瞬态计算机可读介质,具有在其上存储的附加计算机可执行指令,所述附加计算机可执行。

5、指令在由所述处理器执行时使所述处理器检测在所述次显示区域中的图像改变;以及响应于检测到在所述次显示区域中的所述图像改变,防止传输所述次显示区域的更新的帧。5根据权利要求1所述的一种或者多种非瞬态计算机可读介质,其中所述显示区域的所述显示质量包括图像分辨率、图像传输速率和图像压缩程度中的至少一项。6根据权利要求1所述的一种或者多种非瞬态计算机可读介质,其中接收标识所述用户焦点的所述定位的信息包括响应于所述用户焦点的所述定位改变多于预定阈值来接收所述信息;以及对所述多个显示区域进行排名包括基于所述用户焦点的定位改变来更新用于所述多个显示区域的排名。7根据权利要求1所述的一种或者多种非瞬态计算机可读。

6、介质,具有在其上存储的附加计算机可执行指令,所述附加计算机可执行指令在由所述处理器执行时使所述处理器标识所述用户焦点相对于所述多个显示区域中的显示区域的定位;以及选择与所述用户焦点的标识的所述定位对应的主显示区域。8根据权利要求7所述的一种或者多种非瞬态计算机可读介质,其中标识所述用户焦点相对于所述多个显示区域中的显示区域的所述定位包括确定输入设备指示器在所述显示区中的定位。9根据权利要求7所述的一种或者多种非瞬态计算机可读介质,其中标识所述用户焦点相对于所述多个显示区域中的显示区域的所述定位包括确定在所述显示区中的视窗焦权利要求书CN104137050A2/3页3点。10一种方法,包括从客户。

7、端设备接收标识用户焦点在显示区中的定位的信息;标识所述显示区的主显示区域,所述主显示区域与所述用户焦点在所述显示区中的所述定位关联;设置所述主显示区域的显示质量高于与所述主显示区域不同的次显示区域的显示质量;以及向所述客户端设备传输所述主显示区域和所述次显示区域中的至少一个显示区域。11根据权利要求10所述的方法,还包括标识所述显示区的第三显示区域,其中所述次显示区域比所述第三显示区域接近所述主显示区域更接近所述主显示区域;以及设置所述次显示区域的所述显示质量高于所述第三显示区域的显示质量。12根据权利要求10所述的方法,还包括检测在所述次显示区域中的图像改变;以及响应于检测到在所述次显示区域。

8、中的所述图像改变,防止传输所述次显示区域的更新的帧。13根据权利要求10所述的方法,其中所述主显示区域的所述显示质量包括图像分辨率、图像传输速率和图像压缩程度中的至少一项。14根据权利要求10所述的方法,其中接收标识所述用户焦点的所述定位的信息包括响应于所述用户焦点的所述定位从第一显示区域改变成与所述第一显示区域不同的第二显示区域来接收所述信息;以及标识所述显示区的所述主显示区域包括标识所述第二显示区域为所述主显示区域。15根据权利要求10所述的方法,还包括确定所述用户焦点的所述定位已经改变成在所述显示区中的新显示区域,其中标识所述显示区的所述主显示区域包括标识所述新显示区域为所述主显示区域。。

9、16根据权利要求15所述的方法,其中确定所述用户焦点的所述定位已经改变成在所述显示区中的所述新显示区域包括确定与所述用户焦点关联的输入设备指示器的定位已经改变成在所述显示区中的所述新显示区域中的定位。17根据权利要求15所述的方法,其中确定所述用户焦点的所述定位已经改变成在所述显示区中的所述新显示区域包括确定应用视窗的至少一部分在所述新显示区域内。18根据权利要求10所述的方法,还包括从所述客户端设备接收标识另一用户焦点在所述显示区中的定位的信息;标识显示区的另一主显示区域,所述另一主显示区域与所述另一用户焦点的所述定位关联;以及将所述另一主显示区域的显示质量设置成所述主显示区域的所述显示质量。

10、。19根据权利要求10所述的方法,还包括检测在所述主显示区域中的图像改变;以及响应于检测到在所述主显示区域中的所述图像改变,执行所述传输步骤。20一种系统,包括权利要求书CN104137050A3/3页4客户端设备,具有被配置为对显示区进行显示的显示屏幕,所述显示区包括第一显示区域和第二显示区域;以及服务器,包括处理器;以及存储器,具有在其上存储的计算机可执行指令,所述计算机可执行指令在由所述处理器执行时使所述处理器确定用户的焦点在所述显示区内的定位已经从所述第二显示区域改变成所述第一显示区域;向所述第一显示区域指派第一传输速率;向所述第二显示区域指派第二传输速率,所述第二传输速率低于所述第一。

11、传输速率;以所述第一传输速率向所述客户端设备传输所述第一显示区域的帧;以及以所述第二传输速率向所述客户端设备传输所述第二显示区域的帧。权利要求书CN104137050A1/20页5具有分级更新的远程显示技术领域0001这里描述的方面涉及远程计算机访问和虚拟桌面构架。更具体而言,这里描述的方面提供用于基于用户的焦点在可视显示区内的定位减少在客户端设备访问在远程定位的主机设备上的托管的资源时的视频显示生成所需要的带宽的方法和系统。背景技术0002传统上,个人计算机包括各自在持续基础上被所有者或者监管者个别管理的操作系统、应用和用户设置的组合。然而许多组织现在使用桌面虚拟化以提供用于解决它们的用户的。

12、可变需要的更灵活选项。在桌面虚拟化中,可以从用户的物理计算设备例如智能电话、膝上型、桌面型计算机分离用户的计算环境例如操作系统、应用和/或用户设置。使用客户端服务器技术,“虚拟化的桌面”可以存储于远程服务器中并且由远程服务器监管而不是存储于客户端计算设备的本地存储装置中。0003有若干不同类型的桌面虚拟化系统。作为示例,虚拟桌面构架VDI是指在服务器上驻留的虚拟机内部运行用户桌面的过程。VDI和其它基于服务器的桌面虚拟化系统可以为每个用户提供个性化的桌面而允许集中的管理和安全性。在这样的系统中的服务器可以包括用于虚拟桌面影像和系统配置信息的存储装置以及用于提供虚拟桌面并且允许用户互连到它们的软。

13、件部件。例如VDI服务器可以包括用于创建和维护多个虚拟机的一个或者多个管理程序虚拟机管理器、用于管理这些管理程序的软件、连接代理以及用于调配和管理虚拟桌面的软件。0004可以使用单个虚拟化服务器或者互连为服务器网格的服务器组合来实施桌面虚拟化系统。多服务器桌面虚拟化系统通常包括用于提供公共系统管理门户并且维护全局状态信息的附加计算设备和/或共享存储装置。这样的系统通常将外部共享存储装置与在虚拟化服务器内的数据库和企业服务器软件一起用来管理系统。0005在虚拟化的桌面系统中,从监管虚拟桌面的远程服务器向显示虚拟桌面的客户端计算设备传输大量数据、比如用来在客户端计算设备处生成虚拟桌面的图像的数据。。

14、在现有系统中,为整个虚拟桌面显示区周期性地传输用于虚拟桌面的更新,从而占用大量网络资源。发明内容0006鉴于前述背景,下文表示本公开内容的简化发明内容以便提供对这里描述的一些方面的基本理解。这一发明内容不是广泛概述并且未旨在标识重要或者关键要素或者界定权利要求的范围。以下发明内容仅以简化形式表示各种描述的方面,作为以下提供的更具体描述的前序。0007为了解决以上不足和将在阅读公开内容时实现的附加益处,这里的方面描述一种向客户端设备高效地和成本有效地递送显示图像数据而维持高程度图像质量的系统。方面包括一种分级显示系统和方法,该分级显示系统和方法包括从客户端设备接收标识用户说明书CN1041370。

15、50A2/20页6的焦点在显示区中的定位的信息;标识显示区的主显示区域,主显示区与用户的焦点在显示区中的定位关联;设置主显示区域的显示质量高于与主显示区域不同的次显示区域的显示质量;以及向客户端设备传输主显示区域和次显示区域中的至少一个显示区域。在一些方面中,主显示区域的显示质量可以包括图像分辨率、图像传输速率和图像压缩程度中的至少一项。0008在附加方面中,该分级显示系统和方法包括标识显示区的第三显示区域,其中次显示区域比第三显示区域接近主显示区域更接近主显示区域;以及设置次显示区域的显示质量高于第三显示区域的显示质量。该分级显示系统和方法还可以包括检测在次显示区域中的图像改变;以及响应于检。

16、测到在次显示区域中的图像改变,防止传输次显示区域的更新的帧。相似地,该分级显示系统和方法也可以包括检测在主显示区域中的图像改变;以及响应于检测到在主显示区域中的图像改变,执行传输步骤。0009该分级显示系统和方法也可以包括接收标识用户的焦点的定位的信息包括响应于用户的焦点的定位从第一显示区域改变成与第一显示区域不同的第二显示区域来接收信息;并且标识显示区的主显示区域包括标识第二显示区域为新的主显示区域。该系统和方法也可以包括确定用户的焦点的定位已经改变成在显示区中的新显示区域,其中标识显示区的主显示区域包括标识新显示区域为主显示区域。确定用户的焦点的定位已经改变成在显示区中的新显示区域可以包括。

17、确定与用户的焦点关联的输入设备指示器的定位已经改变成在显示区中的新显示区域中的定位。确定用户的焦点的定位已经改变成在显示区中的新显示区域也可以包括确定应用视窗的至少部分在新显示区域内。0010在更多方面中,该分级显示系统和方法可以包括从客户端设备接收标识第二用户的焦点在显示区中的定位的信息;标识显示区的第二主显示区域,第二主显示区域与第二用户的焦点的定位关联;并且将第二主显示区域的显示质量设置成主显示区域的显示质量。附图说明0011已经这样用一般措词描述公开内容的方面,现在将参照附图,这些附图未必按比例绘制,并且在附图中0012图1图示其中可以实施公开内容的各种方面的示例操作环境。0013图2。

18、图示可以根据这里描述的一个或者多个示例方面使用的设备。0014图3图示可以根据这里描述的一个或者多个示例方面使用的设备。0015图4图示根据这里描述的一个或者多个示例方面的提供分级显示的示例概述方法。0016图5图示根据这里描述的一个或者多个示例方面的用户定位的示例。0017图6图示根据这里描述的一个或者多个示例方面的检测用户定位改变的示例方法。0018图7图示根据这里描述的一个或者多个示例方面的用户定位改变的示例。0019图8图示根据这里描述的一个或者多个示例方面的对显示区进行排名的示例方法。0020图9图示根据这里描述的一个或者多个示例方面的包括多个显示区域的示例显说明书CN1041370。

19、50A3/20页7示区。0021图10图示根据这里描述的一个或者多个示例方面的包括多个显示区域的另一示例显示区。0022图11图示根据这里描述的一个或者多个示例方面的包括多个显示区域的附加示例显示区。0023图12图示根据这里描述的一个或者多个示例方面的确定多个主显示区域的示例方法。0024图13图示根据这里描述的一个或者多个示例方面的包括多个主显示区域的示例显示区。0025图14AB图示根据这里描述的一个或者多个示例方面的示例梯度显示区。0026图15图示根据这里描述的一个或者多个示例方面的传输显示区的示例方法。0027图16图示根据这里描述的一个或者多个示例方面的示例传输的显示区。0028。

20、图17图示根据这里描述的一个或者多个示例方面的传输显示区域的示例方法。0029图18图示根据这里描述的一个或者多个示例方面的示例传输的显示区域。0030图19图示根据这里描述的一个或者多个示例方面的传输显示区域的另一示例方法。0031图20图示根据这里描述的一个或者多个示例方面的具有圆形显示区域的示例显示区。0032图21图示根据这里描述的一个或者多个示例方面的具有圆形显示区域的另一示例显示区。0033图22图示根据这里描述的一个或者多个示例方面的具有矩形显示区域的示例显示区。0034图23图示根据这里描述的一个或者多个示例方面的具有矩形显示区域的另一示例显示区。具体实施方式0035在对各种实。

21、施例的以下描述中参照附图,这些附图形成其部分,并且在附图中通过示例示出其中可以实现这里描述的方面的各种实施例。将理解可以利用其它实施例并且可以进行结构和功能修改而未脱离本公开内容的范围和精神实质。0036如本领域技术人员将在阅读以下公开内容时认识的那样,可以体现这里描述的各种方面为方法、数据处理系统或者计算机程序产品。因而那些方面可以采用全硬件实施例、全软件实施例或者组合软件和硬件方面的实施例的形式。另外,这样的方面可以采用由一个或者多个计算机可读存储介质存储的计算机程序产品的形式,该一个或者多个计算机可读存储介质具有在存储介质中或者上体现的计算机可读程序代码或者指令。可以利用任何适当计算机可。

22、读存储介质、包括硬盘、CDROM、光存储设备、磁存储设备和/或其任何组合。此外,可以用经过信号传导介质、比如金属接线、光纤和/或无线传输介质例如空气和/或空间行进的电磁波的形式在源与目的地之间传送如这里描述的代表数据或者事件的各种信号。0037图1图示在可以根据公开内容的一个或者多个示例实施例使用的示例计算环境说明书CN104137050A4/20页8100中的通用计算设备101例如计算机服务器106A的示例框图。根据一个或者多个方面,通用计算设备101可以是在配置为提供用于客户端访问设备的虚拟机的单服务器或者多服务器桌面虚拟化系统中的服务器106A。通用计算设备101可以具有用于控制服务器及。

23、其关联部件的总体操作的处理器103,这些部件包括随机存取存储器RAM105、只读存储器ROM107、输入/输出I/O模块109和存储器115。0038I/O模块109可以包括通用计算设备101的用户可以用来提供输入的鼠标、键区、触屏、扫描仪、光学读取器和/或触笔或者其它输入设备,并且也可以包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示设备中的一项或者多项。软件可以存储于存储器115和/或其它存储装置内以向处理器103提供用于使通用计算设备101能够执行各种功能的指令。例如存储器115可以存储由通用计算设备101使用的软件、比如操作系统117、应用119和关联数据库12。

24、1。备选地,可以用硬件或者固件未示出体现用于通用计算设备101的计算机可执行指令中的一些或者所有计算机可执行指令。0039通用计算设备101可以在支持与一个或者多个远程计算机、比如终端140也称为客户端设备的连接的联网环境中操作。终端140可以是包括以上关于通用计算设备101描述的单元中的许多或者所有单元的个人计算机或者服务器。在图1中描绘的网络连接包括局域网LAN125和广域网WAN129、但是也可以包括其它网络。在LAN联网环境中使用时,通用计算设备101可以通过网络接口或者适配器123连接到LAN125。在WAN联网环境中使用时,通用计算设备101可以包括用于通过WAN129、比如计算机。

25、网络130例如因特网建立通信的调制解调器127或者其它网络接口。将理解所示网络连接为示例并且可以使用在计算机之间建立通信链路的其它手段。0040通用计算设备101和/或终端140也可以是包括各种其它部件、比如电池、扬声器和天线未示出的移动终端例如移动电话、智能电话、PDA、笔记本计算机等0041公开内容用许多其它通用或者专用计算系统环境或者配置操作。适合用于与公开内容使用的熟知计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或者膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程客户电子器件、网络PC、小型计算机、大型机计算机、包括以上系统或者设备中的任何系统或。

26、者设备的分布式计算环境等。0042如图1中所示,一个或者多个客户端设备140可以与一个或者多个服务器106A106N这里通称为“服务器106”通信。在一些实施例中,计算环境100可以包括在服务器106与客户端机器140之间安装的装置。该装置可以管理客户端/服务器连接并且在一些情况下可以使在多个后端服务器106之中的客户端连接负荷平衡。0043客户端机器140可以在一些实施例中称为单个客户端机器140或者单组客户端机器140,而服务器106可以称为单个服务器106或者单组服务器106。在一些实施例中,单个客户端机器140与多于一个服务器106通信,而在其它实施例中,单个服务器106与多于一个客户。

27、端机器140通信。在又一些实施例中,单个客户端机器140与单个服务器106通信。0044客户端机器140可以在一些实施例中用以下术语中的任何术语指代客户端机器140;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远程机器;客户端节点;端点;端点节点;或者第二机器。服务器106在一些实施例中可以用以下术语中的任说明书CN104137050A5/20页9何术语指代服务器、本地机器;远程机器;服务器群、主机计算设备或者第一机器。0045在一些实施例中,客户端机器140可以是虚拟机。虚拟机可以是任何虚拟机,而在一些实施例中,虚拟机可以是由CITRIXSYSTEMS、IBM、VMWARE开。

28、发的管理程序或者任何其它管理程序来管理的任何虚拟机。在一些方面中,虚拟机可以由管理程序管理,而在方面中,虚拟机可以由在服务器106上执行的管理程序或者在客户端140上执行的管理程序管理。0046客户端机器140可以执行、操作或者另外提供应用,该应用可以是以下各项中的任何一项软件;程序;可执行指令;虚拟机;管理程序;网络浏览器;基于网络的客户端;客户端服务器应用;瘦客户端计算客户端;ACTIVEX控件;JAVA小程序;与通过网际协议VOIP通信、比如软IP电话之上的语音有关的软件;用于流式视频和/或音频的应用;用于有助于实时数据通信的应用;HTTP客户端;FTP客户端;OSCAR客户端;TELN。

29、ET客户端;或者任何其它可执行指令集。更多其它实施例包括客户端设备140,该客户端设备显示由在服务器106或者其它远程定位的机器上远程执行的应用生成的应用输出。在这些实施例中,客户端设备140可以在应用窗、浏览器或者其它输出窗中显示应用输出。在一个示例中,应用是桌面,而在其它示例中,应用是生成桌面的应用。桌面可以包括为其中可以集成本地和/或远程应用的操作系统的实例提供用户界面的图形SHELL。如这里使用的应用是在已经加载操作系统的实例以及可选地也加载桌面之后执行的程序。0047服务器106在一些实施例中执行远程表示客户端或者其它客户端或者程序,该远程表示客户端或者其它客户端或者程序使用瘦客户端。

30、或者远程显示协议以捕获由在服务器106上执行的应用生成的显示输出并且向远程客户端140传输应用显示输出。瘦客户端或者远程显示协议可以是以下协议中的任何协议佛罗里达的劳德代尔堡的西里克斯CITRIX股份有限公司制造的独立计算架构ICA协议;或者华盛顿的雷德蒙的微软公司制造的远程桌面协议RDP。0048计算环境可以包括多于一个服务器106A106N,从而服务器106A106N被在逻辑上一起分组成服务器群106。服务器群106可以包括在地理上分散并且在逻辑上一起分组成服务器群106的服务器106或者相互近邻定位并且在逻辑上一起分组成服务器群106的服务器106。在服务器群106内的在地理上分散的服务。

31、器106A106N可以在一些实施例中使用WAN、MAN或者LAN来通信,其中可以将不同地理地区表征为不同大陆;大陆的不同地区;不同国家;不同州、不同城市;不同校园;不同房间;或者前述地理位置的任何组合。在一些实施例中,可以监管服务器群106作为单个实体,而在其它实施例中,服务器群106可以包括多个服务器群106。0049在一些实施例中,服务器群106可以包括执行基本上相似类型的操作系统平台例如、华盛顿的雷德蒙的微软公司制造的WINDOWSNT、UNIX、LINUX或者SNOWLEPARD的服务器106。在其它实施例中,服务器群106可以包括执行第一类型的操作系统平台的第一组服务器106和执行第。

32、二类型的操作系统平台的第二组服务器106。服务器群106在其它实施例中可以包括执行不同类型的操作系统平台的服务器106。0050服务器106在一些实施例中可以是任何服务器类型。在其它实施例中,服务器106可以是以下服务器类型中的任何服务器类型文件服务器;应用服务器;网络服务器;代理服务器;装置;网络装置;网关;应用网关;网关服务器;虚拟化服务器;开发服务器;SSL说明书CN104137050A6/20页10VPN服务器;防火墙;网络服务器;应用服务器或者作为主控应用服务器;执行活跃目录的服务器106;或者执行应用加速程序的服务器106,该应用加速程序提供防火墙功能、应用服务器或者负荷平衡功能。。

33、在一些实施例中,服务器106可以是包括远程认证拨号访问用户服务的RADIUS服务器。在服务器106包括装置的实施例中,服务器106可以是以下制造商中的任何制造商制造的装置西里克斯应用网络小组;银峰系统股份有限公司;河床技术股份有限公司;F5网络股份有限公司;或者瞻博网络股份有限公司。一些实施例包括第一服务器106A,该第一服务器从客户的机器140接收请求、向第二服务器106N转发请求并且用来自第二服务器106N的响应对客户端机器140生成的请求做出响应。第一服务器106A可以获取可用于客户机器140的应用的枚举以及与应用服务器106关联的地址信息,该应用服务器主控在应用的枚举内标识的应用。第一。

34、服务器106A然后可以使用网络接口表示对客户端的请求的响应并且与客户端140直接通信以向客户端140提供对标识的应用的访问。0051服务器106可以在一些实施例中执行以下应用中的任何应用使用瘦客户端协议以向客户端发送应用显示数据的瘦客户端应用;远程显示表示应用;西里克斯系统股份有限公司的CITRIXACCESSSUITE的任何部分、比如METAFRAME或者CITRIXPRESENATIONSERVER;微软公司制造的MICROSOFTWINDOWSTERMINALSERVICES;或者西里克斯系统股份有限公司开发的ICA客户端。另一实施例包括服务器106,该服务器是应用服务器、比如提供电邮服。

35、务的电邮服务器、比如微软公司制造的MICROSOFTEXCHANGE;网络或者因特网服务器;桌面共享服务器;协作服务器;或者任何其它类型的应用服务器。更多其它实施例包括服务器106,该服务器执行以下类型的主控的服务器应用中的任何类型的主控的服务器应用西里克斯在线业务股份有限公司提供的GOTOMEETING;加利福尼亚的圣克拉拉的网迅WEBEX股份有限公司提供的WEBEX;或者微软公司提供的MICROSOFTOFCELIVEMEETING。0052客户端机器140可以在一些实施例中是寻求访问由服务器106提供的资源的客户端节点。在其它实施例中,服务器106可以向客户端140或者客户端节点提供对主。

36、控的资源的访问。服务器106在一些实施例中作为主控节点工作,从而它与一个或者多个客户端140或者服务器106通信。在一些实施例中,主控节点可以标识并且向一个或者多个客户端140或者服务器106提供与主控请求的应用的服务器106关联的地址信息。在更多其它实施例中,主控节点可以是服务器群106、客户端140、客户端节点140的群集或者装置。0053一个或者多个客户端140和/或一个或者多个服务器106可以通过在计算环境100内的机器与装置之间安装的网络130传输数据。网络130可以包括一个或者多个子网络并且可以安装于在计算环境100内包括的客户端140、服务器106、计算机器和装置的任何组合之间。。

37、在一些实施例中,网络130可以是局域网LAN;城域网MAN;广域网WAN;由位于客户端机器140与服务器106之间的多个子网络130组成的主网络104;具有私用子网络的主公用网络130例如因特网;具有公用子网络的主私用网络130;或者具有私用子网络的主私用网络130。更多其它实施例包括网络130,该网络可以是以下网络类型中的任何网络类型点到点网络;广播网络;电信网络;数据通信网络;计算机网络;ATM异步传输模式网络;SONET同步光网络网络;SDH同步数字分级网络;无线网络;有线网络;或者包括无线链路的网络,其中无线链路可以是红外线信道或者卫星频带。网络130的说明书CN104137050A1。

38、07/20页11网络拓扑在不同实施例中可以不同,可能的网络拓扑包括总线网络拓扑;星型网络拓扑;环形网络拓扑;基于转发器的网络拓扑;或者分层星型网络拓扑。附加实施例可以包括使用协议以在移动设备之中通信的移动电话网络的网络,其中协议可以是以下协议中的任何协议AMPS;TDMA;CDMA;GSM;GPRSUMTS;或者能够在移动设备之中传输数据的任何其它协议。0054在图2中图示计算设备200的一个实施例,其中图1A中所示客户端机器140和服务器106可以被部署为这里图示和描述的计算设备200的任何实施例或者在该任何实施例上被执行。在计算设备200内包括与以下部件通信的系统总线250中央处理单元22。

39、1;主存储器222;存储装置存储器228;输入/输出I/O控制器223;显示器设备224A224N;安装设备216;以及网络接口218。在一个实施例中,存储装置存储器228包括操作系统、软件例程和客户端代理220。I/O控制器223在一些实施例中还连接到键盘226和指示设备227。其它实施例可以包括连接到多于一个输入/输出设备230A230N的I/O控制器223。0055图3图示计算设备300的一个实施例,其中图1中所示客户端机器140和服务器106可以被部署为这里图示和描述的计算设备300的任何实施例或者在该任何实施例上被执行。在计算设备300内包括与以下部件通信的系统总线350网桥370和。

40、第一I/O设备330A。在另一实施例中,网桥370还与主中央处理单元321通信,其中中央处理单元321还可以与第二I/O设备330B、主存储器322和高速缓存存储器340通信。在中央处理单元321内包括I/O端口、存储器端口303和主处理器。0056计算机器300的实施例可以包括以以下部件配置中的任何部件配置为特征的中央处理单元321对从主存储器单元322取读的指令做出响应并且处理这些指令的逻辑电路;微处理器单元、比如英特尔公司制造的微处理器单元;摩托罗拉公司制造的微处理器单元;加利福尼亚的圣克拉拉的全美达公司制造的微处理器单元;比如国际商业机器制造的处理器;处理器,比如超微半导体制造的处理器。

41、;或者逻辑电路的任何其它组合。中央处理单元321的更多其它实施例可以包括以下各项的任何组合微处理器、微控制器、具有单个处理核的中央处理单元、具有两个处理核的中央处理单元或者具有多于两个处理核的中央处理单元。0057尽管图3图示包括单个中央处理单元321的计算设备300,但是在一些实施例中,计算设备300可以包括一个或者多个处理单元321。在这些实施例中,计算设备300可以存储和执行在被执行时指引一个或者多个处理单元321同时执行指令或者对单条数据同时执行指令的固件或者其它可执行指令。在其它实施例中,计算设备300可以存储和执行在被执行时指引一个或者多个处理单元各自执行指令组的分节的固件或者其它。

42、可执行指令。例如每个处理单元321可以被指令执行程序的部分或者在程序内的特定模块。0058在一些实施例中,处理单元321可以包括一个或者多个处理核。例如处理单元321可以具有两核、四核、八核等。在一些实施例中,处理单元321可以包括一个或者多个并行处理核。处理单元321的处理核可以在一些实施例中访问作为全局地址空间的可用存储器,或者在其它实施例中,在计算设备300内的存储器可以被分段并且指派给在处理单元321内的特定核。在一些实施例中,在计算设备300中的一个或者多个处理核或者处理器可以各自访问本地存储器。在更多其它实施例中,可以在一个或者多个处理器或者处理核之中共享在计算设备300内的存储器。

43、,而其它存储器可以被特定处理器或者处理器子集访说明书CN104137050A118/20页12问。在计算设备300包括多于一个处理单元的实施例中,可以在单个集成电路IC中包括多个处理单元。这些多个处理器在一些实施例中可以被可以称为单元互连总线的内部高速总线链接在一起。0059在计算设备300包括一个或者多个处理单元321或者包括包含一个或者多个处理核的处理单元321的实施例中,处理器可以对多条数据同时执行单个指令SIMD或者在其它实施例中可以对多条数据MIMD同时执行多个指令。在一些实施例中,计算设备100可以包括任何数目的SIMD和MIMD处理器。0060计算设备300在一些实施例中可以包括。

44、图形处理器或者图形处理单元未示出。图形处理单元可以包括软件和硬件的任何组合并且还可以输入图形数据和图形指令、根据输入的数据和指令渲染图形并且输出渲染的图形。在一些实施例中,可以在处理单元321内包括图形处理单元。在其它实施例中,计算设备300可以包括一个或者多个处理单元321,其中至少一个处理单元321专用于处理和渲染图形。0061计算机器300的一个实施例包括经由也称为后侧总线的次总线与高速缓存存储器340通信的中央处理单元321,而计算机器300的另一实施例包括经由系统总线350与高速缓存存储器通信的中央处理单元321。本地系统总线350可以在一些实施例中也被中央处理单元用来与多于一个类型。

45、的I/O设备330A330N通信。在一些实施例中,本地系统总线350可以是以下类型的总线中的任何类型的总线VESAVL总线;ISA总线;EISA总线;多通道架构MCA总线;PCI总线;PCIX总线;PCI快速总线;或者NUBUS。计算机器300的其它实施例包括I/O设备330A330N,该I/O设备包括与中央处理单元321通信的视频显示器224。计算机器300的更多其它版本包括经由以下连接中的任何连接来连接到I/O设备330A330N的处理器321HYPERTRANSPORT、RAPIDI/O或者INNIBAND。计算机器300的更多实施例包括使用本地互连总线来与一个I/O设备330A通信并且。

46、使用直接连接来与第二I/O设备330B通信的处理器321。0062计算设备300在一些实施例中包括主存储器单元322和高速缓存存储器340。高速缓存存储340可以是任何存储器类型并且在一些实施例中可以是以下类型的存储器中的任何类型的存储器SRAM;BSRAM;或者EDRAM。其它实施例包括高速缓存存储器340和主存储器单元322,该主存储器单元可以是以下类型的存储器中的任何类型的存储器静态随机存取存储器SRAM、突发SRAM或者同步突发SRAMBSRAM;动态随机存取存储器DRAM;快速页面模式DRAMFPMDRAM;增强型DRAMEDRAM、扩展式数据输出RAMEDORAM;扩展式数据输出D。

47、RAMEDODRAM;突发扩展式数据输出DRAMBEDODRAM;增强型DRAMEDRAM;同步DRAMSDRAM;JEDECSCRAM;PC100SDRAM;双数据速率SDRAMDDRSDRAM;增强型SDRAMESDRAM;SYNCLINKDRAMSLDRAM;直接RAMBUSDRAMDRDRAM;铁电RAMFRAM;或者任何其它类型的存储器。更多实施例包括可以经由以下各项访问主存储器322的中央处理单元321系统总线350;存储器端口303;或者允许处理器321访问存储器322的任何其它连接、总线或者端口。0063计算设备200/300的一个实施例提供对于以下安装设备216中的任何安装设。

48、备的支持CDROM驱动、CDR/RW驱动、DVDROM驱动、各种格式的带驱动、USB设备、可引导介质、可引导CD、用于GNU/LINUX分发的可引导CD、比如硬驱动或者适合用于安装应用或者软件的任何其它设备。应用可以在一些实施例中包括客户端代理220或者客户说明书CN104137050A129/20页13端代理220的任何部分。计算设备200/300还可以包括存储设备228,该存储设备可以是一个或者多个硬盘驱动或者一个或者多个独立盘冗余阵列;其中存储设备被配置为存储操作系统、软件、程序应用或者客户端代理220的至少部分。计算设备200、300的又一实施例包括用作存储设备228的安装设备216。。

49、0064计算设备200、300还可以包括用于通过多种连接对接到局域网LAN、广域网WAN或者因特网的网络接口218,这些连接包括但不限于标准电话线、LAN或者WAN链路例如80211、T1、T3、56KB、X25、SNA、DECNET、宽带连接例如ISDN、帧总计、ATM、吉比特以太网、在SONET之上的以太网、无线连接或者上述连接中的任何或者所有连接的某个组合。也可以使用多种通信协议例如TCP/IP、IPX、SPX、NETBIOS、以太网、ARCNET、SONET、SDH、光纤分布式数据接口FDDI、RS232、RS485、IEEE80211、IEEE80211A、IEEE80211B、IEEE80211G、CDMA、GSM、WIMAX和直接异步连接来建立连接。计算设备200、300的一个版本包括能够经由任何类型和/或形式的网关或者隧道传输协议、比如安全套接字层SSL或者传送层安全TLS或者CITRIXSYSTEMS,INC制造的CITRIX网关协议与附加计算设备200、300通信的网络接口218。网络接口218的版本可以包括以下版本中的任何版本内置式网络适配器;网络接口卡;PCMCIA网卡;卡总线网络适配器;无线网络适配器;USB网络适配器;调制解调器;或者适合用于将计算设备、200、300对接到能够通信并且实现这里描述的方法和系统的网络的任何其它设备。0065计算设备。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1