基于移动设备的物理位置对资源访问进行中介调节转让专利

申请号 : CN201180048407.6

文献号 : CN103348353B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : R·玛扎费里M·杜尔斯玛D·哈克特L·拉博克兹法尔维

申请人 : 西里克斯系统公司

摘要 :

提供用于使得与资源相关联的屏幕图像的位置在显示设备上被调节的一种或多种方法、设备、系统或计算机可读介质。在一些实施方式中,调节可以至少部分地基于确定控件元件接收到焦点。在一些实施方式中,所述资源可以与应用(诸如可以从客户端设备远程托管的电子邮件应用)相关。在一些实施方式中,对于一个或多个资源的访问可以被控制或中介调节。访问权限可以至少部分地基于对客户端设备的地理位置的确定。当所述客户端设备位于安全区域中时,可以为所述客户端设备提供对于该资源的访问。当所述客户端设备没有位于安全区域中时,不可以为客户端设备提供对于该资源的访问或不可以提供对于该资源的完全访问。

权利要求 :

1.一种基于移动设备的物理位置对资源访问进行中介调节的方法,包括:通过第一计算设备代表第二计算设备执行应用,导致应用资源由所述第一计算设备托管以用于与所述应用的执行相关的所述第二计算设备,其中所述应用资源包括一个或多个授权的位置的指示,在所述一个或多个授权的位置中对于所述应用资源的访问被授权;

接收指示所述第二计算设备的位置的信息;

至少通过比较所述第二计算设备的所述位置与所述一个或多个授权的位置的至少一个来确定所述第二计算设备的所述位置是安全位置;以及响应于确定所述第二计算设备的所述位置是安全位置,通过所述第一计算设备为所述第二计算设备提供对于所述应用资源的访问,并且将指示所述应用资源的应用输出数据传送至所述第二计算设备。

2.根据权利要求1所述的方法,其中所述应用资源包括一个或多个电子邮件。

3.根据权利要求1所述的方法,其中指示所述应用资源的所述应用输出数据包括由所述应用产生的绘制命令和图像。

4.根据权利要求1所述的方法,其中所述应用资源包括一个或多个远程文件。

5.根据权利要求1所述的方法,还包括:

在所述第一计算设备处接收指示所述第二计算设备的第二位置的信息;

确定所述第二计算设备的所述第二位置是非安全位置;以及

响应于确定所述第二计算设备的所述第二位置是非安全位置,限制对于所述应用资源的访问。

6.根据权利要求5所述的方法,还包括:

将图形或音频数据传送至指示对于所述应用资源的访问被限制的所述第二计算设备。

7.根据权利要求5所述的方法,还包括:

响应于限制对于所述应用资源的访问,使得从与所述第二计算设备相关联的显示屏幕中移除所述应用资源。

8.根据权利要求1所述的方法,其中指示所述第二计算设备的位置的所述信息包括所述第二计算设备的GPS位置信息。

9.根据权利要求1所述的方法,其中确定所述第二计算设备的所述位置是安全位置包括确定所述第二计算设备的所述位置是在当前出现事件的阈值距离内。

10.根据权利要求1所述的方法,其中所述应用资源包括电子邮件,其中所述电子邮件包括所述一个或多个授权的位置的指示,并且所述一个或多个授权的位置的指示包括授权所述电子邮件的接收者在其中访问所述电子邮件的至少一个位置的指示。

11.根据权利要求1所述的方法,其中,所述应用输出数据包括用于显示所述应用的界面,其中根据指示所述第二计算设备的位置的信息确定在所述界面中的一个或多个项目的显示。

12.一种基于移动设备的物理位置对资源访问进行中介调节的系统,包括:服务器,被配置成:

通过第一计算设备代表第二计算设备执行应用,导致应用资源由所述第一计算设备托管以用于与所述应用的执行相关的所述第二计算设备,其中所述应用资源包括一个或多个授权的位置的指示,在所述一个或多个授权的位置中对于所述应用资源的访问被授权;

接收指示所述第二计算设备的位置的信息,

至少通过比较所述第二计算设备的所述位置与所述一个或多个授权的位置的至少一个来确定所述第二计算设备的所述位置是安全位置,以及响应于确定所述第二计算设备的所述位置是安全位置,通过所述第一计算设备为所述第二计算设备提供对于所述应用资源的访问,并且将指示所述应用资源的应用输出数据传送至所述第二计算设备。

13.根据权利要求12所述的系统,其中所述应用资源包括一个或多个电子邮件。

14.根据权利要求12所述的系统,其中指示所述应用资源的所述应用输出数据包括由所述应用产生的绘制命令和图像。

15.根据权利要求12所述的系统,其中所述应用资源包括一个或多个远程文件。

16.根据权利要求12所述的系统,其中所述服务器还被配置成:接收指示所述第二计算设备的第二位置的信息,

确定所述第二计算设备的所述第二位置是非安全位置,以及

响应于确定所述第二计算设备的所述第二位置是非安全位置,限制对于所述应用资源的访问。

17.根据权利要求16所述的系统,其中所述服务器还被配置成:将图形或音频数据传送至指示对于所述应用资源的访问被限制的所述第二计算设备。

18.根据权利要求16所述的系统,其中所述服务器还被配置成:响应于限制对于所述应用资源的访问,使得从与所述第二计算设备相关联的显示屏幕中移除所述应用资源。

19.根据权利要求12所述的系统,其中指示所述第二计算设备的位置的所述信息包括所述第二计算设备的GPS位置信息。

20.根据权利要求12所述的系统,其中使得所述服务器确定所述第二计算设备的所述位置是安全位置包括使得所述服务器确定所述第二计算设备的所述位置是在当前出现事件的阈值距离内。

21.一种基于移动设备的物理位置对资源访问进行中介调节的方法,包括:通过第一计算设备代表第二计算设备执行第一应用,导致第一应用资源由所述第一计算设备托管以用于与所述第一应用的执行相关的所述第二计算设备,其中所述第一应用资源包括一个或多个授权的位置的指示,在所述一个或多个授权的位置中对于所述第一应用资源的访问被授权;

通过所述第一计算设备代表第三计算设备执行第二应用,导致第二应用资源由所述第一计算设备托管以用于与所述第二应用的执行相关的所述第三计算设备,其中所述第二应用资源包括一个或多个授权的位置的指示,在所述一个或多个授权的位置中对于所述第二应用资源的访问被授权;

接收指示所述第二计算设备的位置的信息;

至少通过比较所述第二计算设备的所述位置与所述第一应用资源的所述一个或多个授权的位置的至少一个来确定所述第二计算设备的所述位置是安全位置;

响应于确定所述第二计算设备的所述位置是安全位置,至少部分地基于对第一许可证的消费而为所述第二计算设备提供对于所述第一应用资源的访问并且将指示所述第一应用资源的应用输出数据传送至所述第二计算设备;

接收指示所述第三计算设备的位置的信息;

至少通过匹配所述第三计算设备的所述位置与在其中授权了对于所述第二应用资源的访问的所述一个或多个授权的位置的至少一个来确定所述第三计算设备的所述位置是安全位置;以及响应于确定所述第三计算设备的所述位置是安全位置,至少部分地基于对第二许可证的消费而为所述第三计算设备提供对于所述第二应用资源的访问并且将指示所述第二应用资源的应用输出数据传送至所述第三计算设备。

说明书 :

基于移动设备的物理位置对资源访问进行中介调节

[0001] 相关申请的交叉引用
[0002] 本申请是2010年10月6日提交的发明名称为“基于移动设备的物理位置对资源访问进行中介调节(MEDIATING RESOURCE ACCESS BASED ON A PHYSICAL LOCATION OF A MOBILE DEVICE)”的共同未决的美国临时专利申请序列号61/390,345的非临时申请,且要求其优先权。通过引用将上述申请的全部内容结合于此。

技术领域

[0003] 本公开一般涉及在客户端设备上地显示远程执行应用。具体而言,本公开涉及基于客户端设备的物理位置授权对于资源的访问。

背景技术

[0004] 被装配成执行远程应用且从任意位置和通过任意网络访问远程资源的移动设备的激增极大地增加了对于控制是否向移动设备发送远程内容的需要。使用移动设备来显示能够潜在地访问且显示敏感信息的远程执行应用可能造成安全性风险。减轻这种风险的一种方式可以包括,仅为移动设备提供被认定为在公共位置查看是安全的那些资源的访问。确定移动设备是否位于公共位置内可以包括确定移动设备使用什么类型的网络来访问远程应用和远程资源。
[0005] 以这种方式限制应用和资源访问可能在用户使用安全网络但在不安全物理位置访问资源或应用时造成问题。例如,安全的网络状态可能并不指示实际或底层条件,从而使得实际上不应当向特定客户端设备提供或授权访问权限。

发明内容

[0006] 下文中给出了一个简要的概述,以提供对本公开的一些方面的基本理解。此概述并非是对本公开的详尽的综述。它既不旨在识别本公开的重要或关键元素,也不旨在限定本公开的范围。作为下面的说明的序言,下面的概述仅以简化形式提出本公开的一些概念。
[0007] 本公开的方面涉及用于中介调节(mediating)对于一个或多个资源的访问的方法、装置、计算机可读介质和系统。
[0008] 本公开的方面针对当设备物理上位于不安全位置时减轻与在诸如移动设备的设备上显示敏感信息相关联的安全问题。
[0009] 本公开的方面涉及基于设备(例如移动设备)的物理位置来中介调节对于应用和资源的访问。在一些实施方式中,可以接收与设备(例如客户端设备)的当前位置相关联的信息。诸如一个或多个服务器的一个或多个其他设备可以确定所述客户端设备是否位于被预定为安全区域的区域中。响应于确定所述信息指示所述客户端设备位于被预定为安全区域的区域中,服务器可以使得为所述客户端设备提供对于内容(诸如对包括远程应用输出的远程内容)的访问。在一些实施方式中,服务器可以托管远程内容。在一些实施方式中,输出可以包括远程应用产生的绘制命令和图像。在一些实施方式中,远程内容可以包括一个或多个远程文件。
[0010] 在一些实施方式中,可以做出所述客户端设备已经改变位置的确定。例如,可以做出所述客户端设备从安全区域移动到为非安全区域或者不安全区域的区域的确定。响应于确定所述客户端设备从安全区域移动到为非安全区域或不安全区域的区域,可以部分或完全限制对于资源的访问。在一些实施方式中,对于资源的访问可以至少部分地基于一个或多个条件,诸如所确定的客户端设备的位置。
[0011] 本公开的方面针对使得在诸如移动设备的设备上显示一个或多个应用。所述应用可以从触摸屏幕接收输入。可以在被配置成经由触摸屏幕接收输入的操作系统的上下文内显示应用。在一些实施方式中,一个或多个应用可以远程地产生。
[0012] 在一些实施方式中,焦点事件可以被截获且焦点事件的通知可以被接收且发送到设备,诸如移动计算设备。焦点事件可以与在远程计算机上执行的远程应用相关。事件通知可以从远程计算机传输到该设备。在一些实施方式中,可以在该设备上显示在远程计算机上执行的远程应用。当接收到事件通知时,该设备可以变更对远程应用的显示。
[0013] 在一些实例中,当远程应用内的特定控件或编辑字段接收到焦点时,例如可以在诸如移动设备的设备的显示器上,显示虚拟键盘。当该控件或编辑字段失焦时,虚拟键盘可以隐藏。在一些实施方式中,当响应于接收焦点的控件或编辑字段显示虚拟键盘时,应用可以滚动(pan,例如向上或向下卷动),以防止虚拟键盘覆盖控件或编辑字段。
[0014] 在一些实施方式中,可以调节与应用的一部分相关联的缩放水平。可以响应于确定应用的该部分中的控件或编辑字段具有焦点而调节缩放水平。缩放水平调节可以包括放大或缩小。控件可以包括列表框、组合框或其他类似控件中的一个或多个。在容纳该控件的应用的部分上的放大可以使用通过在设备上执行的操作系统提供的本地缩放功能或在设备上执行的客户端(例如,CITRIX RECEIVER/ICA CLIENT)提供的定制缩放功能实现。在一些实施方式中,此处描述的方法和系统可以允许可以使用本地滑动块功能代替在应用内提供的滑动块控件。
[0015] 当用户显示远程应用或桌面时,用户可以智能地在标题栏、滚动条、窗口边缘或者与远程应用相关联的窗口的其他特征上进行缩放或滚动。因而并不是试图手动伸缩这些特征,用户可以按照如下方式与远程应用交互,该方式与用户与被修改为在设备上执行且主要接收触摸屏幕输入的应用进行交互的方式基本相同。例如,当用户在远程应用的一部分上放置焦点达到一个预定时间周期(例如0.3秒)时,系统可以利用本地自动缩放控件来自动缩放接收焦点的远程应用部分。自动缩放可以包括对远程应用部分的坐标的校验以及然后对于该部分进行缩放。在一些实施方式中,缩放可以包括在用户触摸远程应用内的控件时在设备上显示缩放泡(zooming bubble)。
[0016] 本公开的方面针对通过在诸如移动设备的设备上执行的应用,向访问远程应用的用户提供本地用户体验。在一些实施方式中,在设备上执行的应用可以包括思杰系统发布的CITRIX RECEIVER。在其他实施方式中,设备可以包括IPHONE或IPAD。
[0017] 本公开的方面针对减轻试图在诸如移动设备的设备上显示远程应用所产生的显示问题。在一些实施方式中,可以变更一个或多个现有和/或显示的应用,以有利于远程应用的显示,从而使得这些有利应用适当地显示远程应用。例如,图11说明适当显示的远程应用的示例,其中焦点的文本控件1108可以向上卷动、定位和/或自动调节大小,从而使得虚拟键盘1114不交叠文本控件,并且使得在使用键盘1114将数据输入到文本控件1108时用户可以查看该数据。在图11中,可以取代手工启动,自动弹出或启动键盘。

附图说明

[0018] 下面的附图示意了某些实施方式,其中相同的附图标记表示相同的元件。这些示意的实施方式应被理解为是对本公开的说明,且不以任意方式进行限制。
[0019] 图1A示出其中可以实施本公开的各个方面的网络环境。
[0020] 图1B和1C示出其中可以实施本公开的各个方面的计算设备。
[0021] 图2A示出用于在外部显示设备上以用户可配置的显示布局显示多个资源的系统。
[0022] 图2B示出用于将一个或多个资源的显示映射到一个或多个显示设备的系统。
[0023] 图2C示出描绘一个系统的屏幕截图,所述系统用于在外部显示设备上以用户可配置的显示布局显示多个资源,其中所述用户可配置的显示布局被说明性地分割成网格。
[0024] 图2D示出描绘一个系统的屏幕截图,所述系统用于在外部显示设备上以用户可配置的显示布局动态显示多个资源。
[0025] 图3A示出描绘多个屏幕空间的框图,所述多个屏幕空间由附接到一个或多个外部显示设备的移动计算设备提供。
[0026] 图3B示出描绘提供多个屏幕空间的移动计算设备的框图。
[0027] 图3C示出描绘由虚拟图形驱动器管理的多个屏幕空间的逻辑表示的框图。
[0028] 图4示出描绘用于变更移动设备上的远程应用的显示的系统的框图。
[0029] 图5示出描绘用于变更在移动设备上的远程应用的显示的方法的流程图。
[0030] 图6示出描绘用于基于设备的物理位置来中介调节资源的方法的流程图。
[0031] 图7示出根据本公开的一个或多个方面的对显示图像的调节。
[0032] 图8示出根据本公开的一个或多个方面的对选择工具和显示屏幕的调节。
[0033] 图9示出根据本公开的一个或多个方面的可以向资源提供的访问。
[0034] 图10示出根据本公开的一个或多个方面的可以强加于资源上的限制。
[0035] 图11示出根据本公开的一个或多个方面的对显示图像的调节。

具体实施方式

[0036] 在下面各个实施方式的描述中,对附图进行了参考,附图构成本公开的一部分,且其中通过说明示出可以实践本公开的一个或多个方面的各种实施方式。应当理解,可以利用其他实施方式,且可以在不偏离本公开的范围的条件下做出结构或功能修改。
[0037] 在下面的描述中,讨论了元件之间的各种连接。这些连接是一般性的,且除非明确指明,可以是直接或间接的、有线或无线的,而且本说明书并不旨在就这方面进行限制。
[0038] 根据本公开的各个方面,描述了用于使得在显示屏幕上显示虚拟键盘的装置、系统、计算机可读介质和方法。在一些实施方式中,当控件(诸如可编辑控件)接收到焦点时,可以自动显示键盘。在一些实施方式中,可以响应于键盘的显示而调节可编辑控件和/或显示器的其他方面。
[0039] 根据本公开的各个方面,描述了用于控制或选择性提供对于资源的访问的装置、系统、计算机可读介质和方法。在一些实施方式中,关于是否授权对于资源的访问的确定可以至少部分地基于设备的位置,诸如移动设备的位置。在一些实施方式中,可以结合显示屏幕使用一个或多个指示来指示资源受到选择性访问。
[0040] 图1A示出计算环境101,其可以包括一个或多个客户机102A-102N(此处被统称为“客户机(多个)102”),该一个或多个客户机102A-102N可以与一个或多个服务器106A-106N(此处一般称为“服务器(多个)106”)通信。在客户机(多个)102和服务器(多个)106之间安设有一个或多个网络,诸如网络104。
[0041] 在一些实施方式中,计算环境101可以包括应用装备(appliance)。应用装备可以安装在服务器(多个)106和客户机(多个)102之间。应用装备可以管理客户端/服务器连接,且在一些情况中可以对多个后端服务器之间的客户端连接进行负载均衡。
[0042] 客户机(多个)102可以被称为单个客户机102或单组客户机102,而服务器(多个)106可以被称为单个服务器106或单组服务器106。在一些实施方式中,单个客户机102可以与多于一个的服务器106通信。在一些实施方式中,单个服务器106可以与多于一个的客户机102通信。在一些实施方式中,单个客户机102可以与单个服务器106通信。
[0043] 在一些实施方式中,客户机102可以由以下术语其中任意一个指代:客户机(多个)102;客户端(多个);客户端计算机(多个);客户端设备(多个);客户端计算设备(多个);本地机器;远程机器;客户端节点(多个);端点(多个);端点节点(多个);或第二机器。在一些实施方式中,服务器106可以由以下术语其中任意一个指代:服务器(多个);本地机器;远程机器;服务器农场(多个);主计算设备(多个);或第一机器(多个)。
[0044] 在一些实施方式中,客户端设备102可以包括虚拟机。在一些实施方式中,虚拟机可以包括任意虚拟机,诸如XenSolutions、思杰系统、IBM、VMware开发的管理程序(hypervisor)或任意其他管理程序所管理的虚拟机。在一些实施方式中,虚拟机可以由在服务器106上执行的管理程序或在客户端102上执行的管理程序来管理。
[0045] 在一些实施方式中,客户机102可以执行、操作或提供选自以下其中一个或多个的应用:软件;程序;可执行指令;虚拟机;管理程序;web浏览器;基于web的客户端;客户端-服务器应用;瘦客户端计算客户端;ActiveX控件;Java小程序;比如软IP电话之类的与网际协议语音(VoIP)通信相关联的软件;用于流传输视频和/或音频的应用;用于促进实时数据通信的应用;HTTP客户端;FTP客户端;Oscar客户端;Telnet客户端;或可执行指令的任意其他集合。另外的实施方式可以包括客户端设备102,其显示由在服务器106或其他远程布置的机器上远程执行的应用所产生的输出。在这些实施方式中,客户端设备102可以在应用窗口、浏览器或其他输出窗口中显示应用输出。
[0046] 当在此使用时,桌面表示其中可以托管和/或执行一个或多个应用的图形环境或空间。桌面可以包括针对操作系统实例(其中可以集成本地和/或远程应用)提供用户接口的图形内核。当在此使用时,应用是在操作系统的实例(以及可选地还有桌面)被装载之后执行的程序。操作系统的每个实例可以是物理的(例如每个设备一个操作系统)或虚拟(例如运行在单个设备上的多个OS实例)的。每个应用可以在本地设备上执行,或可以在远程设备上(例如远程地)执行。
[0047] 在一些实施方式中,服务器106可以执行远程呈现客户端或使用瘦客户端或远程显示协议的其他客户端或程序,以捕获在服务器106上执行的应用所产生的显示输出。服务器106可以向远程客户端102传输应用显示输出。瘦客户端或远程显示协议可以包括以下其中一个或多个:佛罗里达州劳德代尔堡思杰系统公司制造的独立计算体系结构(ICA)协议;华盛顿雷德蒙德的微软公司制造的远程桌面协议(RDP)。
[0048] 计算环境可以包括多于一个的服务器106A-106N。在一些实施方式中,服务器106A-106N可以是逻辑分组在一起的服务器农场106。服务器农场106可以包括地理分散且逻辑分组在一起的服务器106,或彼此相邻布置且逻辑分组在一起的服务器106。在一些实施方式中,服务器农场106内地理分散的服务器106A-106N例如可以使用WAN、MAN或LAN通信。在一些实施方式中,不同地理区域可以表征为:不同大陆;大陆的不同区域;不同国家;
不同州;不同城市;不同学校;不同房间;或前述地理位置的任意组合。在一些实施方式,服务器农场106可以作为单个实体来管理。在一些实施方式中,服务器农场106可以包括多个服务器农场106和/或作为多个实体来管理。
[0049] 在一些实施方式中,服务器农场106可以包括执行基本类似类型的操作系统平台(例如,华盛顿雷德蒙德的微软公司制造的WINDOWS NT、UNIX、LINUX或SNOW LEOPARD)的服务器106。在一些实施方式中,服务器农场106可以包括执行第一类型的操作系统平台的第一组服务器106以及执行第二类型的操作系统平台的第二组服务器106,其中第一和第二类型的操作系统平台可以是不同的平台。在一些实施方式中,服务器农场106可以包括执行不同类型的操作系统平台的服务器106。
[0050] 在一些实施方式中,服务器106可以是任意服务器类型。例如,服务器106可以是以下服务器类型其中任意一个:文件服务器;应用服务器;web服务器;代理服务器;应用装备(appliance);网络应用装备;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;SSL VPN服务器;防火墙;网络服务器;应用服务器或作为主应用服务器;执行有效目录的服务器106;或执行提供防火墙功能性、应用功能性或负载均衡功能性的应用加速程序的服务器
106。在一些实施方式中,服务器106可以是包括远程认证拨号用户服务的RADIUS服务器。在服务器106包括应用装备的实施方式中,服务器106可以是以下制造商其中任意一个制造的应用装备:思杰应用网络集团;银峰系统(Silver Peak Systems)公司;河床技术(Riverbed Technology)公司;F5网络(F5 Networks)公司;或瞻博网络(Juniper Networks)公司。一些实施方式可以包括第一服务器106A,其从客户机102接收请求,向第二服务器106B转发请求,以及使用来自第二服务器106B的响应来响应客户机102所产生的请求。第一服务器106A可以获取对于客户机102可用的应用的详表以及与托管应用详表内所识别应用的应用服务器106相关联的地址信息。第一服务器106A然后可以使用网络接口给出对于客户端请求的响应,且与客户端102通信以向客户端102提供对于所识别的应用的访问。在一些实施方式中,第一服务器106A可以直接与客户端102通信以向客户端102提供对于所识别的应用的访问。
[0051] 在一些实施方式中,服务器106可以执行以下应用其中一个或多个:使用瘦客户端协议向客户端传输应用显示数据的瘦客户端应用;远程显示呈现应用;思杰系统公司的CITRIX ACCESS SUITE的任意部分,比如METAFRAME或CITRIX PRESENTATION SERVER或XenApp或XenDesktop;微软公司制造的MICROSOFT WINDOWS终端服务;或思杰系统公司开发的ICA客户端。在一些实施方式中,服务器106可以包括诸如以下的应用服务器:诸如微软公司制造的MICROSOFT EXCHANGE之类提供电子邮件服务的电子邮件服务器;网络或因特网服务器;桌面共享服务器;协作服务器;或任意其他类型的应用服务器。在一些实施方式中,服务器106可以执行以下类型的托管服务器应用其中任意一个:Citrix Online Division公司提供的GOTOMEETING;加利福利亚的Santa Clara市的WebEx公司提供的WEBEX;微软公司提供的Microsoft Office LIVE MEETING。
[0052] 在一些实施方式中,客户机102包括寻求对于服务器106提供的资源的进行访问的客户端节点。在一些实施方式中,服务器106可以为客户端102或客户端节点提供对于托管资源的访问。在一些实施方式中,服务器106可以用作主节点,使得它与一个或多个客户端或服务器106通信。在一些实施方式中,主节点可以识别与托管请求应用的服务器106相关联的地址信息且向一个或多个客户端102或服务器106提供。在一些实施方式中,主节点可以包括服务器农场106、客户端102、客户端节点102集群或应用装备。
[0053] 一个或多个客户端102和/或一个或多个服务器106可以通过安装在计算环境101内的机器和应用装备之间的网络传输数据。网络104可以包括一个或多个网络和/或子网,且可以安装在包括在计算环境101内的客户端102、服务器106、计算机和应用装备的任意组合之间。在一些实施方式中,网络104可以包括以下一个或多个:局域网(LAN);城域网(MAN);广域网(WAN);包括位于客户机102和服务器106之间的多个子网络104的主干网104;具有专用子网104的主干公共网络104;具有公共子网104的主干专用网络104;或具有专用子网104的主干专用网络104。在一些实施方式中,网络104可以包括以下网络类型其中一个或多个:点到点网络;广播网络;电信网络;数据通信网络;计算机网络;ATM(异步传输模式)网络;SONET(同步光网络)网络;SDH(同步数字分层)网络;无线网络;有线网络;或包括无线链路的网络104,其中无线链路可以是红外通道或卫星频带。在不同实施方式中,网络104的网络拓扑可以不同。在一些实施方式中,可以利用的网络拓扑可以包括:总线网络拓扑;星型网络拓扑;环形网络拓扑;基于中继器的网络拓扑;或分层星型网络拓扑。在一些实施方式中,网络104可以包括使用协议在移动设备之间通信的移动电话网络,其中协议可以包括以下协议其中一个或多个:AMPS;TDMA;CDMA;GSM;GPRS UMTS;或能够在移动设备之间传输数据的任意其他协议。
[0054] 图1B中示出了计算设备100。在一些实施方式中,图1A中示出的客户机102和/或服务器106被部署为在此处示出和描述的计算设备100的任意实施方式和/或在其上执行。计算设备100内包括有:系统总线150,其可以与以下组件其中一个或多个通信:中央处理单元121;主存储器122;存储器128;输入/输出(I/O)控制器(CTRL)123;显示设备(多个)124A-
124N;安装设备116;以及网络接口118。在一些实施方式中,存储器128可以包括以下一个或多个:操作系统;软件例行程序以及客户端代理120。在一些实施方式中,I/O控制器123可以连接或通信耦合到键盘126和指点设备127。一些实施方式可以包括连接或通信耦合到一个或多个输入/输出设备130A-130N的I/O控制器123。在一些实施方式中,计算设备100可以包括固件、硬件和/或软件,以有利于计算设备的位置的确定。例如,GPS功能性可以通过计算设备100提供,以有利于计算设备100的位置的确定。
[0055] 图1C示出计算设备100的另一实施方式,其中图1A中示出的客户机102和/或服务器106被部署为在此处示出和描述的计算设备100的任意实施方式和/或在其上执行。图1C的计算设备100中包括系统总线150,其可以与以下组件其中一个或多个通信:桥170和第一I/O设备130A。在一些实施方式中,桥170可以与诸如主中央控制单元的主处理单元121通信。处理单元121可以与第二I/O设备130B、主存储器122和缓存存储器140中的一个或多个通信。处理单元121中可以包括有一个或多个I/O端口、存储器端口130和/或主处理器。
[0056] 计算机100的实施方式可以包括处理单元121,该处理单元121包括以下组件配置其中一个或多个:逻辑电路,其响应于且处理从主存储器单元122取得的指令并对其进行处理;微处理器单元,诸如:英特尔公司制造的微处理器单元、摩托罗拉公司制造的微处理器单元;加利福利亚的圣克拉拉市的全美达公司制造的微处理器单元;RS/6000处理器,诸如国际商业机器公司制造的那些;诸如高级微设备制造的那些处理器;或者逻辑电路的任意其他组合。在一些实施方式中,处理单元121可以包括以下任意组合:微处理器、微控制器、具有单个处理核的中央处理单元、具有两个处理核的中央处理单元或者具有多于一个处理核的中央处理单元。
[0057] 尽管图1C示出了包括单个处理单元121的计算设备100,但是在一些实施方式中计算设备100可以包括任意数目的处理单元121。在一些实施方式中,计算设备100可以存储或访问可执行固件或其他可执行指令,当被执行时,所述可执行固件或可执行指令引导一个或多个处理单元121执行指令。可执行指令可以应用于一条或多条数据。在一些实施方式中,指令可以同时或基本同时在多于一个处理单元121上执行。在一些实施方式中,计算设备100可以存储或访问可执行固件或其他可执行指令,当被执行时,所述可执行固件或可执行指令引导一个或多个处理单元每个均执行一组指令的一部分。例如,每个处理单元121可以被指令为执行程序的一部分或程序内的特定模块。
[0058] 在一些实施方式中,处理单元121可以包括一个或多个处理核。例如,处理单元121可以具有两个核、四个核、八个核等。在一些实施方式中,处理单元121可以包括一个或多个并行处理核。在一些实施方式中,处理单元121的处理核可以将可用存储器作为全局地址空间进行访问。在一些实施方式中,计算设备100内的处理器可以被分段且分配给处理单元121内的特定核。在一些实施方式中,计算设备100中的一个或多个处理核或处理器可以访问本地存储器。在一些实施方式中,可以在一个或多个处理器或处理器核之间共享计算设备100内的存储器,而其他存储器可以被特定处理器或处理器的子集访问。在一些实施方式中,诸如在计算设备100包括多于一个处理单元的实施方式中,多个处理单元可以被包括在单个集成电路(IC)中。在一些实施方式中,多个处理器可以通过内部高速总线链接在一起,该内部高速总线可以被称为元件互连总线。
[0059] 在一些实施方式中,诸如在计算设备100包括一个或多个处理单元121或者包括处理单元121包括一个或多个处理核的实施方式中,处理器可以同时对多条数据执行单个指令(SIMD)。在一些实施方式中,多个处理器可以同时对多条数据执行多个指令(MIMD)。在一些实施方式中,计算设备100可以包括任意数目的SIMD和MIMD处理器。
[0060] 在一些实施方式中,计算设备100可以包括图形处理器或图形处理单元(未示出)。图形处理单元可以包括固件、软件和硬件的任意组合。图形处理单元可以输入图形数据和图形指令,根据输入的数据和指令渲染图形且输出渲染的图形。在一些实施方式中,图形处理单元可以被包括在处理单元121中。在一些实施方式中,计算设备100可以包括一个或多个处理单元121,其中至少一个处理单元121可以专用于处理和渲染图形。
[0061] 在一些实施方式中,处理单元121可以经由还已知为后端总线的辅助总线与缓存存储器140通信。在一些实施方式中,计算机100可以包括可以经由系统总线150与缓存存储器140通信的处理单元121。在一些实施方式中,系统总线150也可以被处理单元使用以与多于一种类型的I/O设备130A-130N通信。在一些实施方式中,系统总线150可以包括以下类型的总线其中一个或多个:VESA VL总线;ISA总线;EISA总线;微通道体系结构(MCA)总线;PCI总线;PCI-X总线;PCI-Express总线或NuBus。在一些实施方式中,I/O设备130A-130N可以包括与处理单元121通信的视频显示器(例如显示设备124)。在一些实施方式中,计算机100可以包括处理器121,该处理器121经由以下连接其中一个或多个连接到I/O设备130A-130N:HyperTransport、Rapid I/O或InfiniBand。在一些实施方式中,计算机100可以包括使用局部互连总线与第一I/O设备(例如I/O设备130A)通信且使用直接连接与第二I/O设备(例如I/O设备130B)通信的处理器121。
[0062] 在一些实施方式中,计算设备100可以包括主存储器单元122和缓存存储器140。存储器中的一个或多个可以包括SRAM、BSRAM或EDRAM其中的一个或多个。在一些实施方式中,缓存存储器140和主存储器单元122可以包括以下一个或多个:静态随机存取存储器(SRAM)、突发式SRAM或异步突发式SRAM(BSRAM);动态随机存取存储器(DRAM);快速页切换模式RAM(FPM DRAM);增强DRAM(EDRAM);扩展数据输出RAM(EDO RAM);扩展数据输出DRAM(EDO DRAM);突发式扩展数据输出DRAM(BEDODRAM);增强DRAM(EDRAM);同步DRAM(SDRAM);JEDEC SRAM;PC100SDRAM;双倍数据率SDRAM(DDR SDRAM);增强SDRAM(ESDRAM);SyncLink DRAM(SLDRAM);Direct Rambus DRAM(DRDRAM);铁电RAM(FRAM);或任意其他类型的存储器。
在一些实施方式中,处理单元121可以经由以下来访问主存储器122:系统总线150;存储器端口103;或允许处理单元121访问处理器122的任意其他连接、总线或端口。
[0063] 在一些实施方式中,可以提供对于一个或多个安装设备116的支持,安装设备诸如是以下类型的安装设备:CD-ROM驱动、CD-R/RW驱动、DVD-ROM驱动、各种格式的磁带驱动、USB驱动,可引导介质、可引导CD、用于诸如KNOPPIX 的GNU/Linux分发的可引导CD、硬盘驱动或适于安装应用或软件的任意其他类型的设备。在一些实施方式中,应用可以包括客户端代理120或客户端代理120的任意部分。计算设备100可以包括存储设备128,该存储设备128可以包括一个或多个硬盘驱动和/或独立磁盘的一个或多个冗余阵列。存储设备可以配置成存储操作系统、软件、程序应用或客户端代理120的至少一部分。在一些实施方式中,安装设备116可以用作存储设备128。
[0064] 计算设备100可以包括网络接口118,以通过各种连接而接口连接到局域网(LAN)、广域网(WAN)或因特网器,所述各种连接包括但不限于标准电话线,LAN或WLAN链接(例如802.11、T1、T3、56kb、X.25、SNA、DECNET)、宽带连接(例如ISDN、帧中继、ATM、千兆比特以太网、SONET上以太网)、无线连接或上述连接其中任意或全部的某种组合。连接也可以使用各种通信协议(例如TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布数据接口(FDDI)、RS232、RS485、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、CDMA、GSM、WiMax和直接异步连接)建立。计算设备100可以包括能够经由任意类型或形式的网关或隧道协议与附加计算设备100′通信的网络接口118,所述任意类型或形式的网关或隧道协议诸如是安全套接字层(SSL)或传输层安全(TLS)或思杰系统公司制造的Citrix网关协议。网络接口118的版本可以包括以下一个或多个:嵌入式网络适配器、网络接口卡;PCMCIA网卡;卡总线网络适配器;无线网络适配器;USB网络适配器;调制解调器;或适于将计算设备100接口连接到网络的、能够通信并且执行此处描述的各种动作的任意其他设备。
[0065] 在一些实施方式中,I/O设备130A-130N包括以下一个或多个:键盘126;指点设备127;鼠标;轨迹板;光笔;轨迹球;麦克风;绘图板;视频显示器;扬声器;喷墨打印机;激光打印机和热升华打印机;或能够执行此处描述的各种动作的任意其他输入/输出设备。在一些实施方式中,I/O控制器123可以连接到多个I/O设备130A-130N,以控制一个或多个I/O设备。I/O设备130A-130N的一些实施方式可以被配置成提供存储或安装介质116。在一些实施方式中,I/O设备130A-130N中的一个或多个可以提供用于接收USB存储设备的通用串行总线(USB)接口,诸如Twintech Industry公司制造的设备的USB闪存驱动线。在一些实施方式中,I/O设备130可以包括或提供位于系统总线150和外部通信总线之间的桥,所述总线诸如:USB总线;Apple桌面总线;RS-232串行连接;SCSI总线;FireWire总线;FireWire 800总线;以太网总线;AppleTalk总线;千兆比特以太网总线;异步传输模式总线;HIPPI总线;超HIPPI总线;SerialPlus总线;SCI/LAMP总线;FibreChannel总线;或串行连接的小型计算机系统接口总线。
[0066] 在一些实施方式中,计算机100可以连接到多个显示设备124A-124N。在一些实施方式中,计算设备100可以连接到单个显示设备124。在一些实施方式中,计算设备100可以连接到属于相同类型或形式的显示器的显示设备124A-124N,或连接到属于不同类型或形式的显示设备。显示设备124A-124N的实施方式可以通过以下一个或多个来支持或实现:一个或多个I/O设备130A-130N;I/O控制器123;I/O设备(多个)130A-130N与I/O控制器123的组合;能够支持显示设备124A-124N的硬件和软件的任意组合;用于接口连接、通信、连接或使用显示设备124A-124N的任意类型和/或形式的视频适配器、视频卡、驱动器和/或库。在一些实施方式中,计算设备100可以被配置成使用一个或多个显示设备124A-124N,且这些配置可以包括:使得多个连接器接口连接到多个显示设备124A-124N;具有多个视频适配器,每个视频适配器连接到显示设备124A-124N中的一个或多个;使得操作系统被配置成支持多个显示设备器124A-124N;使用包括在计算设备100中的电路和软件以便连接到并且使用显示设备124A-124N;以及执行主计算设备100和多个辅助计算设备上的软件,以使得主计算设备100能够将辅助计算设备的显示器作为用于主计算设备100的显示设备124A-124N来使用。在一些实施方式中,计算设备100可以包括由一个或多个辅助计算设备提供且经由网络连接到主计算设备100的多个显示设备124A-124N。
[0067] 在一些实施方式中,计算机100可以执行任意操作系统。例如,计算机100可以执行以下操作系统其中任意一个:诸如WINDOWS 3.x;WINDOWS 95;WINDOWS 98;WINDOWS 2000;WINDOWS NT 3.51;WINDOWS NT 4.0;WINDOWS CE;WINDOWS XP;WINDOWS VISTA;和WINDOWS 
7之类MICROSOFT WINDOWS操作系统的版本;Unix和Linux操作系统的不同版本;苹果计算机制造的MAC OS的任意版本;国际商业机器制造的OS/2;任意嵌入式操作系统;任意实时操作系统;任意开源操作系统;任意专属操作系统;用于移动计算设备的任意操作系统;或任意其他操作系统。在一些实施方式中,计算机100可以执行多个操作系统。例如,计算机100可以执行PARALLELS或另一可视化平台,该PARALLELS或另一可视化平台可以执行或管理执行第一操作系统的虚拟机,而计算机100可以执行不同于第一操作系统的第二操作系统。
[0068] 在一些实施方式中,计算机100可以在以下设备其中一个或多个中实施:计算工作站;台式计算机;膝上或笔记本电脑;服务器、手持式计算机;移动电话;便携式电信设备;媒体播放设备;游戏系统;移动计算设备;上网本;苹果计算机制造的IPOD设备系列的设备;索尼公司制造的PLAYSTATION设备系列其中任意一个;Nintendo公司制造的Nintendo设备系列中的任意一个;微软公司制造的XBOX设备系列中的任意一个;或者能够通信且具有足够的处理器能力和存储器容量来执行此处描述的动作的任意其他类型或形式的计算设备、电信设备或媒体设备。在一些实施方式中,计算机100可以包括诸如以下移动设备其中任意一个的移动设备:支持JAVA的蜂窝电话或个人数字助理(PDA),诸如i55sr、i58sr、i85s、i88s、i90c、i95cl或im1100,它们全都由摩托罗拉公司制造;京瓷制造的6035或7135;三星电子有限公司制造的i300或i330;Palml公司制造的TREO 180、270、600、650、680、700p、700w或750智能电话;具有不同处理器、操作系统和与设备相一致的输入设备的任意计算设备;或配置成执行此处描述的动作的任意其他移动计算设备。在其他实施方式中,计算设备100可以包括以下设备其中任意一个:黑莓的任意一个系列或移动研究有限公司制造的其他手持式设备;苹果计算机制造的iPhone;Palm Pre;口袋式PC;口袋式PC电话;或任意其他手持式移动设备。
[0069] 在一些实施方式中,计算设备100可以具有不同处理器、操作系统和与设备相一致的输入设备。例如,计算设备100可以包括Palm公司制造的TREO 180、270、600、650、680、700p、700w或750智能电话。在一些实施方式中,TREO智能电话可以在PalmOS操作系统的控制下操作,且可以包括指示笔输入设备以及5向导航器设备。
[0070] 在一些实施方式中,计算设备100可以包括诸如支持JAVA的蜂窝电话或个人数字助理(PDA),诸如i55sr、i58sr、i85s、i88s、i90c、i95cl或im1100,它们全都由伊利诺伊州的邵姆堡的摩托罗拉公司制造;日本东京的京瓷制造的6035或7135;或韩国首尔的三星电子有限公司制造的i300或i330。在一些实施方式中,计算设备100可以包括芬兰的诺基亚制造或瑞典隆德的索尼爱立信移动通信公司制造的移动设备。
[0071] 在一些实施方式中,计算设备100可以包括黑莓手持式或智能手机,诸如移动研究有限公司制造的设备,包括黑莓7100系列、8700系列、7700系列、7200系列、黑莓7520或黑莓Pearl 8100。在一些实施方式中,计算设备100可以包括智能手机,口袋式PC、口袋式PC电话或支持Microsoft Windows Mobile软件的任意手持式移动设备。此外,计算设备100可以包括任意工作站、台式计算机、膝上或笔记本电脑、服务器、手持式计算机、移动电话、任意其他计算机、或能够通信且具有执行此处描述的操作的足够的处理器能力和存储器容量的其他形式的计算设备或电信设备。
[0072] 在一些实施方式中,计算设备100可以包括数字音频播放器。在一些实施方式中,计算设备100可以包括诸如加利福利亚州的库珀蒂诺的苹果计算机制造的苹果IPOD、IPOD Touch、IPOD NANO和IPOD SHUFFLE设备线之类的数字音频播放器。在一些实施方式中,数字音频播放器可以用作便携式媒体播放器和海量存储设备二者。在一些实施方式中,计算设备100可以包括数字音频播放器,诸如纽约里奇菲尔德公园的美国三星电子制造的DigitalAudioPlayer Select MP3播放器,或者伊利诺伊州的邵姆堡的摩托罗拉公司制造的摩托罗拉m500或m25数字音频播放器。在一些实施方式中,计算设备100可以包括便携式媒体播放器,诸如创新科技公司制造的Zen Vision W、Zen Vision系列、Zen便携式媒体中心设备或MP3播放器的数字MP3线。在一些实施方式中,计算设备100可以包括支持如下文件格式的便携式媒体播放器或数字音频播放器,所述文件格式包括但不限于MP3、WAV、M4A/AAC、WMA保护AAC、AIFF、Audible audiobook、苹果无损音频文件格式以及.mov、.m4v和.mp4MPEG-4(H.264/MPEG-4 AVC)视频文件格式。
[0073] 在一些实施方式中,计算设备100可以包括设备的组合,诸如移动电话与数字音频播放器或便携式媒体播放器组合。在一些实施方式中,计算设备100可以包括组合数字音频播放器和移动电话的摩托罗拉RAZR或摩托罗拉ROKR线。在一些实施方式中,计算设备100可以包括加利福利亚州库珀蒂诺的苹果计算机制造的iPhone智能电话。
[0074] 参考图2A,示出系统的框图。该系统可以使得一个或多个资源(诸如显示屏幕或图形的一个或多个部分或一个或多个窗口)在一个或多个显示设备上显示。简要概述,该系统可以包括设备,诸如可以与一个或多个外部显示设备202a-n通信的移动计算设备102。图2A示出具有本地显示器201的移动计算设备102,不过在一些实施方式中可以使用没有本地显示器的设备。移动计算设备102可以执行多个资源204a-n(统称为204)。窗口管理服务或系统206和虚拟图形驱动器208可以管理与多个资源204中的每一个相关联的输出数据的位置和大小。在一些实施方式中,输出数据的显示可以至少部分地基于用户可配置的显示布局。在一些实施方式中,移动计算设备102可以向外部显示设备202传输与资源204中的一个或多个相关联的输出数据。在一些实施方式中,移动计算设备102可以在建立与外部显示设备
202的连接时传输输出数据。在一些实施方式中,移动计算设备102可以向设备的本地显示器201传输与多个资源204中的每一个相关联的输出数据。在一些实施方式中,移动计算设备102可以向本地显示器201传输与多个资源204中的一个或多个相关联的输出数据,且向外部显示设备202a-n传输与多个资源204中的其他资源相关联的输出数据。
[0075] 如上所述,移动计算设备102可以与多个资源204相关。在一些实施方式中,一个或多个资源204可以包括可执行资源。简单地参考图4,在一些实施方式中,资源204中的一个或多个可以托管或存储在一个或多个设备处,诸如远程计算机401处。在一些实施方式中,移动计算设备102可以包括上面结合图1A-1C描述的客户端102。在一些实施方式中,移动计算设备102可以显示与由移动计算设备102执行的多个资源204a-n中的资源204a相关联的输出数据。在一些实施方式中,移动计算设备102可以显示与多个资源204中的每一个相关联的输出数据。
[0076] 在一些实施方式中,,多个资源204中的资源可以包括但不限于:数据文件、可执行文件、配置文件、应用、桌面环境(本身可以包括供用户执行的多个应用)、计算环境图像(诸如虚拟机图像)、操作系统软件或执行计算环境图像所需的其他应用,和/或可以可选地根据本公开的一个或更多方面经历修改、重定位或重新调整大小的一个或多个窗口或显示图形。在一些实施方式中,资源可以根据本公开的一个或多个方面而经历条件或选择性访问。
[0077] 在一些实施方式中,移动计算设备102可以包括窗口管理服务206,允许外部显示设备202显示与在移动计算设备102上执行的资源204中的一个或多个相关联的输出数据。在一些实施方式中,窗口管理服务206可以允许基本同时在外部显示设备202或本地显示器
201上查看在移动设备102上运行的一个或多个资源。在一些实施方式中,资源204的输出可以排他性地在本地显示器201或外部显示设备202上查看。在一些实施方式中,窗口管理服务206可以与虚拟图形驱动器208结合来管理在外部显示设备202和本地显示器201上显示的窗口的显示布局。在一些实施方式中,虚拟图形驱动器208可以是管理虚拟屏幕帧缓冲器的驱动器级组件,该管理虚拟屏幕帧缓冲器存储可以在移动计算设备102上的本地显示器
201或外部显示设备202上显示的输出数据。在一些实施方式中,窗口管理服务206可以与虚拟图形驱动器208结合,来管理用于显示输出数据的屏幕空间的边界和大小以及在哪个显示设备上显示输出数据。
[0078] 在一些实施方式中,外部显示设备202可以接收与资源204中的一个或多个相关联的输出数据,且以用户可配置的显示布局显示输出数据。在一些实施方式中,外部显示设备202可以包括向其连接移动计算设备102的坞站。在一些实施方式中,外部显示设备202可以包括用于例如经由蓝牙、Wi-Fi或其他网络协议与移动计算设备102无线通信的接收器,如上面结合图1A-1C描述。在一些实施方式中,外部显示设备202可以包括上面结合图1B-1C描述的显示设备124。
[0079] 参考图2B,示出系统的框图。该系统可以配置成在一个或多个显示设备201和/或202上映射移动计算设备102的一个或多个资源204的显示。在一些实施方式中,窗口管理服务206可以管理虚拟屏幕空间210。虚拟屏幕空间210可以映射到本地显示器201以及一个或多个外部显示设备202。窗口管理服务206可以在虚拟屏幕空间210上定位与一个或多个资源204的用户界面相关联的输出数据,以指定将在哪里显示每个用户界面。在一些实施方式中,窗口管理服务206可以根据一个或多个用户偏好定位输出数据。在一些实施方式中,窗口管理服务206可以根据策略定位输出数据。在一些实施方式中,窗口管理服务206可以基于与输出数据相关联的资源204定位输出数据。
[0080] 窗口管理服务206可以与虚拟图形驱动器208通信,以向本地显示器201和一个或多个外部显示设备202传输与资源204的用户界面相关联的输出数据。在一些实施方式中,窗口管理服务206可以从虚拟屏幕空间210向虚拟图形驱动器208传输输出数据和相关坐标。在一些实施方式中,虚拟图形驱动器208可以在虚拟屏幕帧缓冲器中存储输出数据。在一些实施方式中,虚拟图形驱动器208可以向本地显示器201和外部显示设备202传输虚拟屏幕帧缓冲器中的条目。在一些实施方式中,虚拟图形驱动器208可以基于帧缓冲器中条目的位置向本地显示器201或外部显示设备202传输虚拟屏幕帧缓冲器中的条目。
[0081] 图2C示出显示布局的屏幕截图。在一些实施方式中,显示布局可以是用户可配置的。外部显示设备202可以以图2C的布局显示资源204中的一个或多个的输出数据。如图所示,在一些实施方式中,资源204的输出数据可以以网格显示布局来显示。网格显示布局可以包括布置中的一个或多个单元。单元可以显示与资源相关联的输出数据。在一些实施方式中,多于一个单元显示与相同资源相关联的输出数据。在一些实施方式中,单元可以显示与一个或多个资源相关联的输出数据。在一些实施方式中,多个单元可以显示与特定资源相关联的输出数据。例如,多个单元可以显示与特定资源相关联的输出数据的相应部分。
[0082] 在一些实施方式中,单元可以是均匀大小。在一些实施方式中,单元可以是不同大小。单元可以以任意配置布置。在一些实施方式中,单元可以按照行、列或其两者布置。单元可以具有与网格中的单元位置相关联的描述符。此描述符可以指示单元在行中的位置。在图2C中示意的屏幕截图中,用于资源204a的单元可以具有描述符“1-1”、用于资源204b的单元可以具有描述符“1-2”,用于资源204c的单元可以具有描述符“1-3”,用于资源204d的单元可以具有描述符“2-1”,且用于资源204n的单元可以具有描述符“2-2”。在其他实施方式中,单元可以被编号,例如“单元1”、“单元2”等。然而,可以使用选择本领域技术人员已知的描述符的任意系统。
[0083] 在一些实施方式中,窗口管理服务206可以根据在本地显示器201或外部显示设备202上显示的资源204配置网格显示布局。在一些实施方式中,服务206可以根据被显示的资源204的数目配置网格显示布局。在一些实施方式中,服务206可以在资源204的用户界面中根据内容的大小和数量配置网格显示布局。例如,如果外部显示设备202显示具有可比内容数量的4个资源,则窗口管理服务206可以使用4个均匀单元配置网格显示布局。在另一示例中,如果外部显示设备202显示4个资源且一个资源包括三倍于其他资源的内容,则窗口管理服务206可以在第一行中使用三个均匀单元并在第二行中的单个单元来配置网格显示布局。第二行中的单个单元可以是第一行中单元的宽度的三倍。在一些实施方式中,窗口管理服务206可以配置网格显示布局以预留用于显示关于被显示资源的信息(诸如资源的菜单)的单元。在一些实施方式中,窗口管理服务206可以配置网格显示布局以预留用于允许用户配置网格显示布局的单元。
[0084] 参考图2D,示出显示布局的屏幕截图。显示布局可以是用户可配置的。布局可以提供或包括动态显示布局,其中外部显示设备202可以显示与多个资源204相关联的输出数据。在一些实施方式中,在外部显示设备202上显示用于资源204的输出数据的窗口可以动态地定位和调整大小。窗口管理服务206可以根据策略、资源204或任意其他输入、说明和方法将针对资源的用户接口定位在缺省位置且选择缺省大小。窗口管理服务206可以对重叠的用户界面进行排序,使得较高排序的用户界面遮挡较低排序的用户界面。窗口管理服务206可以向虚拟图形驱动器208传输反映隐藏的输出数据。用户例如可以通过点击和拖拽窗口或窗口边缘重新定位窗口或重新调整窗口的大小。在一些实施方式中,虚拟图形驱动器
208可以检测用户对窗口的改变,且向窗口管理服务206传输关于用户对窗口做出的改变的信息。窗口管理服务206可以处理改变且向虚拟图形驱动器208传输更新的输出数据。在一些实施方式中,用户可以将针对资源204的用户界面移动到本地显示器201或外部显示设备
202上的任意位置。在一些实施方式中,用户可以将用于资源204的用户界面移动到不同显示设备。在一些实施方式中,更新的输出数据可以指示一个用户界面大小增加,或位置已经被调节为遮挡另一用户界面。在一些实施方式中,更新的输出数据可以指示一个用户界面大小减小,或位置已经被调节为使得另一用户界面的更多部分将可见。
[0085] 参考图3A,示出系统的框图。如图3A所示,移动计算设备102可以提供一个或多个虚拟屏幕空间210。移动计算设备可以附接或耦合到一个或多个外部显示设备。
[0086] 如图3A所示且如上所述,移动计算设备102可以包括虚拟图形驱动器208和虚拟屏幕210。虚拟屏幕210可以包括多个虚拟屏幕空间310和312a-n。虚拟屏幕空间310可以是用于移动计算设备102上的本地显示器201的本地显示屏幕空间。其他虚拟屏幕空间312a-n可以是对应于外部显示设备202的显示的扩展屏幕空间。窗口管理服务206和虚拟图形驱动器208可以管理虚拟屏幕210。在一些实施方式中,虚拟图形驱动器208可以使用虚拟屏幕帧缓冲器来管理移动计算设备的本地显示器201且改变本地显示器201的屏幕分辨率。在一些实施方式中,虚拟图形驱动器208可以使用虚拟屏幕帧缓冲器来管理扩展屏幕空间312且改变扩展屏幕空间312的分辨率。
[0087] 在一些实施方式中,虚拟图形驱动器208可以分配且管理虚拟屏幕空间310、312a-n中的一个或多个以及虚拟屏幕帧缓冲器。在一些实施方式中,一个或多个虚拟屏幕空间和虚拟屏幕帧缓冲器可以具有独立于其他屏幕空间和帧缓冲器的分辨率。在一些实施方式中,与多个资源中204的一个或多个相关联的输出数据可以驻留在虚拟屏幕空间310、312a-n其中任意一个中。在一些实施方式中,可选地取决于设备的能力,扩展屏幕空间312a-n其中的一个或多个可以与至少一个外部显示设备202相关联。
[0088] 在一些实施方式中,窗口管理服务206和虚拟图形驱动器208可以分配和管理外部显示设备202上与多个资源相关联的输出数据的显示。在一些实施方式中,与资源204a相关联的输出数据可以显示在移动计算设备102上,与资源204b相关联的输出数据可以显示在一个外部显示设备202a上,且与资源204a相关联的输出数据可以显示在另一外部显示设备202b上。在一些实施方式中,窗口管理设备206可以识别外部显示设备202其中之一,以用于基于资源204a的类型显示由资源204a产生的输出数据。例如,窗口管理服务206可以确定呈现视频的资源类型可以显示在电视屏幕上,而呈现文字处理应用的资源类型可以呈现在膝上电脑的显示器上。
[0089] 参考图3B,示出移动计算设备102的框图。如图所示,移动计算设备102可以向虚拟屏幕210提供潜在变化分辨率的虚拟屏幕空间310,312a-n。如图3B所示,虚拟屏幕210可以包括本地显示屏幕空间310,其对应于具有320像素×240像素的分辨率的移动计算设备102的本地显示器201。虚拟屏幕210可以包括:扩展屏幕312a,其对应于具有1024像素×768像素的分辨率的外部显示设备202的显示;扩展屏幕312n-1,其对应于具有800像素×600像素的分辨率的外部显示设备202的显示;以及扩展屏幕312n,其对应于具有640像素×480像素的分辨率的外部显示设备202的显示。在一些实施方式中,虚拟屏幕210可以包括本地显示屏幕空间310和任意数目的任意分辨率的扩展屏幕312。在一些实施方式中,整个虚拟屏幕空间210可以映射到单个虚拟屏幕帧缓冲器。在一些实施方式中,虚拟屏幕空间210可以映射到多个缓冲器。
[0090] 参考图3C,示出了由虚拟图形驱动器管理的多个屏幕空间的表示的框图。图3C的表示可以是实际表示或逻辑表示。在一些实施方式中,虚拟图形驱动器208可以管理虚拟屏幕帧缓冲器中具有不同分辨率的多个虚拟屏幕空间。在一些实施方式中,移动计算设备的本地显示器201可以是主显示器,且对应于扩展屏幕312a的外部显示设备202可以用作辅助显示器。在一些实施方式中,与本地显示屏幕空间310上的资源204相关联的输出数据可以显示在本地显示器201上且与扩展屏幕空间312a上的资源204相关联的输出数据可以显示在与扩展屏幕空间312a相关联的外部显示设备202上。
[0091] 图4中示出了系统。图4的系统可以对应于结合图2B描述的系统且可以与其结合操作。图4的系统可以包括移动计算设备102,诸如此处描述的任意移动设备。移动计算设备102可以执行和/或存储一个或多个资源204。在一些实施方式中,资源204可以包括在移动计算设备102上执行的应用。在一些实施方式中,至少一个资源可以包括在移动设备102上执行的操作系统,以使得其他资源在操作系统的上下文内执行。移动设备102可以执行窗口管理服务206,该窗口管理服务206可以与移动设备102上执行的其他应用通信。窗口管理服务206可以与虚拟图形驱动208或移动设备102上执行的资源或应用204通信。移动计算设备
102可以执行虚拟图形驱动器208,且可以存储用于产生虚拟屏幕空间210的缓冲器,所述缓冲器可以包括用于本地显示屏幕空间210a的缓冲器。移动设备102可以与移动设备102的本地显示器201通信,该本地显示器201上可以显示资源204产生的应用输出。移动设备102可以与远程计算机501通信,该远程计算机501可以执行一个或多个资源405A-405N(一般被称为远程资源405),在一些实施方式中,该一个或多个资源405A-405N可以是远程应用405。远程计算机401可以执行远程客户端401。
[0092] 在一些实施方式中,在移动设备102上执行的资源204可以是被配置成接受通过触摸屏幕输入的数据的应用。例如,资源204可以是典型地不从触摸屏幕接收数据的应用的修改版本。这些修改的应用204可以接收用户经由移动设备102的触摸屏幕输入的数据,且可以修改为提供典型的触摸屏幕输入功能,比如虚拟键盘或虚拟滚动菜单。例如,作为APPLE发布的网络浏览器的SAFARI的版本可以被修改,以在用户选择或对于诸如文本框的编辑控件给出焦点时向上滚动。SAFARI可以被修改为向上滚动应用以适应于在浏览器上显示的虚拟键盘,且使得用户可以在虚拟键盘上键入的同时查看文本框。
[0093] 在一些实施方式中,移动设备102可以与远程计算机401通信。远程计算机401可以包括服务器、客户端和任意其他计算机。在一些实施方式中,远程计算机401可以包括执行一个或多个应用的远程应用服务器。移动设备102可以在虚拟通道上与远程计算机401通信。在一些实施方式中,虚拟通道可以建立在网络上且可以被称为控制虚拟通道。在一些实施方式中,虚拟通道可以是无缝虚拟通道。控制虚拟通道可以用于远程处理(remote)控制命令以及其他各种各样的命令,而无缝虚拟通道可以用于远程处理应用窗口、任务栏、系统托盘等。因而,在一些实施方式中,一个或多个虚拟通道可以遥控不同功能和内容。在一些实施方式中,虚拟通道可以通过在移动设备102上执行的窗口管理服务206建立。在一些实施方式中,虚拟通道可以通过在远程计算机401上执行的远程处理客户端410和窗口管理服务206二者建立。在一些实施方式中,虚拟通道可以使用诸如ICA协议的一个或多个协议促进通信发送。
[0094] 在一些实施方式中,远程计算机401可以执行远程处理客户端401。远程处理客户端410可以被称为控制虚拟通道或无缝虚拟通道,且可以是对应于由客户端410使用的虚拟通道以向移动设备102传输数据且从移动设备102接收数据的远程处理应用。在一些实施方式中,远程处理客户端410可以与窗口管理服务206合作来修改远程应用405以用于在移动设备102上的远程显示。窗口管理服务206可以包括思杰系统发布的CITRIX RECEIVER。在一些实施方式中,远程处理客户端410可以与远程应用405通信,以截获远程应用405可能产生的事件通知和数据。具体而言,远程处理客户端410可以使用由远程应用405中的一个或多个提供的应用编程接口来执行对一个或多个控件的基于事件的检测。例如,在一些实施方式中,至少一个远程应用405(例如405B)可以包括在远程计算机401上执行的操作系统。在一些实施方式中,远程处理客户端410可以使用使得对操作系统405B可用的应用程序接口,截获由远程应用405B内的控件产生的事件。可以通过远程处理客户端410基于控件是否具有焦点或基于感兴趣的控件的预定列表来选择控件。在一些实施方式中,控件可以包括用户与其交互的应用中的对象,例如文本框、下拉菜单、单选按钮、按钮、复选框、编辑框、组合框等。控件也可以被称为字段。在一些实施方式中,远程处理客户端410可以通过登记与应用405B相关联的通信接口来截获控件产生事件,以在应用405B内出现焦点变化事件时接收通知。例如,远程客户端401可以在对象或控件接收焦点(例如用户选择应用内的文本框)时接收通知。
[0095] 远程处理客户端410可以在虚拟通道上与远程计算机206通信。在一些实施方式中,远程处理客户端410可以在虚拟通道上向窗口管理服务206发送截获的事件通知。在其他实施方式中,远程处理客户端410可以传输用于控件的位置坐标、控件类型、控件的内容、控件的窗口句柄和/或用于控件的父窗口信息。窗口管理服务206可以从远程处理客户端410接收信息,且使用接收的信息调节本地显示器201上的应用204的显示。调节显示可以包括滚动、缩放或以其他方式修改应用204的显示。
[0096] 在一些实施方式中,远程计算机401可以执行一个或多个资源405。在一些实施方式中,这些资源可以包括应用。在其他实施方式中,至少一个资源可以包括在远程计算机401上执行的操作系统。在这些实施方式中,其他应用405可以在操作系统的场合内执行。在一些实例中,应用405可以被称为远程应用405。
[0097] 图5中示出了根据本公开的一个或多个方面的方法500。图5的方法可以用于变更移动设备上远程应用的显示。在远程计算机上执行的应用可以截获响应于远程应用内的控件接收焦点而产生的焦点事件通知(步骤502)。远程计算机可以向移动计算设备转发所接收的或所截获的焦点事件通知(步骤505)。当接收到焦点事件通知时,在移动计算设备上执行的应用可以响应于接收到通知且根据与事件相关联的信息修改远程应用的显示(步骤510)。
[0098] 根据本公开的一个或多个方面,在远程计算机上执行的应用可以截获焦点事件通知(步骤502)。在一些实施方式中,应用可以是在远程计算机410上执行的远程处理客户端410。在一些实施方式中,应用可以是在远程计算机401上执行的任意应用,且能够勾住由远程计算机401上执行的应用发布的函数调用。在一些实施方式中,远程计算机410上执行的应用可以包括WFSHELL、EXE(ICACTLS.DLL)内的组件。在一些实施方式中,应用可以是管理在远程计算机401和移动设备102之间建立的控制或无缝虚拟通道的应用。在一些实施方式中,焦点事件通知可以包括当远程应用内的控件或字段接收焦点(例如,用户选择或突出显示控件或字段)时,由远程计算机401上执行的远程应用发布的调用。在一些实施方式中,控件可以包括任何对象或控件,诸如:编辑框、文本框、备忘录字段、组合框、下拉菜单、滑动块、列表框或任意其他类似的对象或控件。该功能例如可以包括诸如“焦点组合框”的功能或产生指示控件接收焦点的通知的任意其他功能。在一些实施方式中,应用可以使用通过WINDOWS 7UI AUTOMATION应用程序接口而促进的基于事件的检测。在一些实施方式中,应用可以使用通过任意API促进的基于事件的检测。在一些实施方式中,应用可以使用与特定控件和/或特定功能相关联的COM接口来登记由这些API提供的通知。
[0099] 在一些实施方式中,应用可以向移动设备102转发所截获的焦点事件通知(步骤505)。应用可以在截获或接收通知时转发通知。在一些实施方式中,应用可以响应于接收到通知向移动设备102发送附加信息。该附加信息可以包括:接收焦点的控件的类型(例如组合框、文本框);接收焦点的控件的名称或标识符;应用内控件的坐标的位置(在控件在应用输出中定位在何处);控件的内容(例如分配给控件的值、与控件相关联的字符串等);控件的窗口句柄;显示控件窗口的窗口标识符;显示控件的父窗口的位置或坐标;或可以用于确定通过移动设备102显示的应用输出内控件的位置的任意附加信息。
[0100] 在移动计算设备102上执行的应用可以响应于接收焦点事件通知和与控件相关联的信息,修改远程应用的显示(步骤510)。在一些实施方式中,该应用可以包括在移动设备102上执行的窗口管理服务206。在其他实施方式中,应用可以包括能够从远程计算机401接收事件和控件信息,且使用它来修改本地显示器201上显示的输出的任意应用。响应于接收到焦点事件通知,窗口管理服务206可以通过向上滚动显示来修改远程应用的显示以适应于虚拟键盘或虚拟选择器,可以缩放到显示的一部分,可以显示缩放泡,或可以执行这些动作的组合。在一些实施方式中,窗口管理服务206可以通过自动缩放修改远程应用的显示。
[0101] 在一些实施方式中,该方法还包括在修改远程应用的显示之前确定虚拟键盘或选择器是否隐藏具有焦点的控件。在一些实施方式中,窗口管理服务206可以确定虚拟键盘或选择器是否隐藏控件,且当确定控件被隐藏时,窗口管理服务206可以滚动或缩放应用的显示以允许控件变得可见。在一些实施方式中,在移动设备102上执行的客户端或窗口管理服务206可以使得虚拟键盘或虚拟选择器响应于来自用户的输入而被显示。例如,用户可以选择或激活移动设备102上显示的控件。当激活时,该控件可以使得移动设备102上的客户端显示虚拟键盘或虚拟选择器。因而,虚拟键盘或虚拟选择器的显示可能不是自动的,而是可能需要用户输入。在一些实施方式中,在移动设备102上执行的客户端可以被修改以使得当对于在移动设备102上显示的远程应用窗口内显示的可编辑字段给出焦点时,客户端可以自动显示虚拟键盘或虚拟选择器。类似地,当从可编辑字段移除焦点时,客户端可以可选地自动隐藏虚拟键盘或虚拟选择器。
[0102] 在一些实施方式中,该方法可以包括通过在应用的显示中包括控件值来修改应用的显示。例如,当接收到事件通知和控件信息时,窗口管理服务206可以确定控件是否是具有关联值的控件类型。当确定控件具有关联值时,窗口管理服务206可以修改远程应用的显示以包括接收的值。例如,如果一个或多个字符串与已经接收焦点的组合框相关联时,窗口管理服务206可以修改显示以显示包括那些字符串的组合框。在其他方面中,在移动设备102上执行的客户端或窗口管理服务206可以使用移动设备102本地的本地控件以显示远程控件或显示代表远程控件的图形。例如,当在应用中呈现远程Windows组合框时,客户端可以显示和/或使用本地iPad选择器控件。因而,在移动设备102上显示的远程应用可能看上去像本地移动设备102应用,且可以包括至少一些本地功能性。
[0103] 在一些实施方式中,方法500可以包括将移动设备102上的控件的动作传回远程应用的附加步骤。例如,在远程计算机401上执行的应用A可以产生应用输出,该应用输出可以显示在远程计算机401上的应用输出窗口中。由应用A产生的应用输出可以传输到移动设备102,在那里它可以在移动设备102上的应用输出窗口内显示。移动设备102上的应用输出窗口可以称为本地应用窗口且可以显示远程产生的应用输出。在一些实施方式中,当远程产生的应用输出内的可编辑组合框字段接收焦点时,客户端或窗口管理服务206可以截获焦点事件且可以显示或调用本地虚拟选择器控件,例如iPad选择器控件。在本地应用窗口内且在远程产生的应用输出中,可以显示本地的虚拟选择器控件。用户可以与本地控件交互以产生输入。一旦使用控件产生输入,客户端或窗口管理服务206可以向远程计算机401传输输入。当接收到输入时,远程计算机401可以将控件输入注入到由应用A产生的实际应用输出内显示的实际控件。接收的控件输入的注入可以使用Windows UI Automation API完成。
[0104] 图6中示出了方法600。方法600可以用于基于移动设备的物理位置来对资源和应用访问进行中介调节。在一些实施方式中,在远程计算机/服务器上执行的应用或服务可以接收用于移动设备的位置信息(步骤602)。该位置信息可以包括通过移动设备获得且通过移动设备发送到远程计算机/服务器的GPS坐标。在一些实施方式中,移动设备可以使用在移动设备上执行的应用获得GPS坐标,且该应用可以与GPS设备(多个)或组件(多个)通信,该GPS设备(多个)或组件(多个)可以从一个或多个卫星接收通信,以获得移动设备在此时间点的坐标位置。因而,GPS坐标就它们可以是移动设备在特定时间点的坐标的意义上而言是基于时间的。当接收到用于移动设备的位置信息时,一个或多个应用或服务可以确定移动设备的位置是否是“安全”位置(步骤604)。可以结合步骤604进行确定的一个或多个应用或服务可以在远程计算机或服务器上运行,以增强安全性。可以通过将移动设备的位置坐标与“安全”坐标的列表进行比较来做出步骤604的确定。步骤604可以包括确定坐标是否对应于被认定为“安全”的区域。在一些实施方式中,“安全”位置可以是如下任意位置,当移动设备位于该位置时移动设备可以访问敏感和安全信息和应用。当做出移动设备处于“安全”位置的确定时,一个或多个应用或服务可以修改应用的输出(步骤606),使得为移动设备提供对于安全和敏感信息的访问。可以执行步骤606的修改的一个或多个应用或服务可以与可以执行步骤604的确定的一个或多个应用或服务不同。当做出移动设备并未处于“安全”位置的确定时,一个或多个应用或服务可以修改应用的输出(步骤706),以使得限制移动设备访问安全和敏感信息。一旦输出被修改,输出就可以被传输到移动设备(步骤608),输出可以在该移动设备处用户显示。
[0105] 本公开的方面可以涉及改善或增强例如与一个或多个应用相关联的用户体验。图7示出显示屏幕的前后透视图。特别地,结合图7的顶部的“前”屏幕截图(#1),用户可以手动键入输入,该输入使得虚拟键盘702-1弹出且显示在屏幕上。虚拟键盘702-1可以隐藏或遮挡一个或多个屏幕图像708,诸如用户旨在使用键盘702-1进行编辑的部分708-1。
[0106] 对照地,且结合图7的底部的“后”屏幕截图(#2),屏幕图像708可以根据本公开的一个或多个方面滚动。例如,部分708-2可以向上滚动,以允许用户对于整个部分708-2的持续可见性以及访问。虚拟键盘702-2(可以类似于键盘702-1)可以在屏幕图像708的一部分或部分708-2接收焦点时自动显示。例如,部分708-2或包括在其中的元件或字段的用户选择可以使得键盘702-2被显示。
[0107] 图8示出另一“前后”用户体验或透视图,此次应用于可以可选地在远程会话中运行的因特网浏览器应用(INTERNET EXPLORER)内部显示的框列表。在“前”屏幕截图(#1)中,用户可能必须手动放大以从包括在窗口804-1中的列表810-1挑选条目。与此对照,在可能已经使用本公开的一个或多个方面产生的“后”屏幕截图(#2)中,客户端或窗口管理服务可以自动显示本地选择器控件,该本地选择器控件可以用于从窗口804-2的列表810-2中所列举的条目中进行挑选或选择。在一些方面中,可以响应于确定应用内的可编辑字段接收到焦点,而显示选择器控件。相对于窗口804-1,窗口804-2可以是缩小版本。客户端或窗口管理服务可以促进任意数目的操作(诸如放大或缩小)以有利于查看、选择或使用。操作可以响应于接收焦点的列表或显示或窗口的其他部分而自动启动。
[0108] 本公开的方面涉及控制、调节或中介调节对于一个或多个资源的访问。在一些实施方式中,诸如客户端设备的设备可以确定或报告位置信息。例如,客户端设备可以使用GPS技术确定其自己的位置。客户端设备可以向一个或多个设备(诸如一个或多个服务器)报告其确定的位置(诸如GPS坐标)。一个或多个服务器可以根据客户端设备的位置控制或中介调节对于一个或多个资源的访问。客户端设备可以包括一个或多个移动设备。
[0109] 如上所述,客户端设备可以获得它自己的GPS位置信息。当获得其物理位置时,客户端设备可以向一个或多个设备(诸如计算机)传输物理位置信息。该计算机可以包括远程计算机和/或远程服务器。客户端设备可以连接到计算机以访问资源和应用,诸如电子邮件客户端或电子邮件和/或其他资源(文档、单个数据元素或汇聚的数据元素、应用、网站等)。在计算机上执行的应用可以将客户端设备的物理位置与安全位置列表(例如,预定坐标列表或位置列表)进行比较。如果计算机确定客户端设备处于“安全”位置,则可以向客户端设备给予对于一个或多个资源/应用(例如电子邮件)的访问。
[0110] 图9示出客户端设备显示屏幕的屏幕截图。在图9中,示出用户电子邮件的收件箱中的三封电子邮件。所有三个资源/电子邮件均可以正常地显示,且用户可以点击电子邮件中的任意一封以查看邮件的完整状态。顶部电子邮件已经被发件人Donovan Hackett使用电子邮件应用保密特征标记为敏感。例如,Donovan可能已经在准备具有图9中示出的主题“成本报告(Cost reports)”的电子邮件时,使用与电子邮件应用相关联的图形用户界面(GUI)选择了一个或多个保密控件或特征。
[0111] 在一些实施方式中,附加特征可以与源自Donovan Hackett的电子邮件结合使用以指示保密特征与之相关。例如,可以显示彩色标记或挂锁图标,以向客户端设备的用户指示与电子邮件相关联的发件人选择了保密控件。如果客户端设备处于“安全”位置,则标记可以是绿色或挂锁可以表示为“非锁定”状态,由此向用户指示用户具有对于电子邮件的访问(例如完全访问)。任意数目的指示可以用于传达与电子邮件或其他资源相关联的保密状态信息。例如,当浏览或卷动其电子邮件收件箱的用户使用与之相关联的保密控件突出显示特定电子邮件时,客户端设备可以播放音频消息,该音频消息描述与突出显示的电子邮件相关联的保密控件。
[0112] 继续上述示例,如果客户端设备的用户使用位于被确定为并非是“安全”位置的位置中的客户端设备,则用户可能不能访问被标记为敏感的一个或多个电子邮件。在一些实施方式中,电子邮件可能被禁用且如果用户选择该电子邮件,它不能打开。如图10所示,被标记为敏感的来自Donovan Hackett的顶部电子邮件可以显示为灰色或以其他方式被画上阴影,且在该电子邮件上可以显示小挂锁图标(锁定状态)以指示它的不可用性。这可以响应于客户端设备处于非安全位置而执行。在一些实施方式中,如果客户端设备并非处于“安全”位置,不可访问或不可用的电子邮件甚至不能在显示屏幕中出现。这种特征对于防止非授权用户获知电子邮件的存在、电子邮件的主题、电子邮件的发件人或与电子邮件相关联的任意其他细节是有用的。
[0113] 在一些实施方式中,可以将不能确定或报告位置信息(例如GPS位置信息)的客户端设备作为就好像它一直处于非安全位置中那样来对待。提出这种处理可以帮助确保不危及与电子邮件相关联的安全性。在一些实施方式中,电子邮件应用可以配置成允许发件人指定接收者可以或不可以查看邮件的位置。
[0114] 在一些实施方式中,位置可以被定义为边界通过GPS坐标序列限定的地理区域。该地理区域描述还可以包括用于GPS坐标序列中相邻点之间的线的一些说明。
[0115] 在一些实施方式中,可以包括或指定潜在感兴趣的预先确定和/或预先定义区域(例如合法权限,诸如国家、大陆、城市、乡村或州)的集合或组。这些区域可以被指定为安全或非安全。在一些实施方式中,一个或多个管理员或个人可以基于非安全位置限制访问而不是确定位置是否安全。在一些实施方式中,一组用户可以提供关于特定位置安全或不安全的反馈。网络或服务提供商或运营商可以至少部分地基于反馈确定特定位置安全或不安全。
[0116] 在一些实施方式中,位置信息(例如GPS位置信息)可以用作策略的输入。策略引擎可以至少部分地基于策略做出一个更多判定以控制对于资源(例如应用)的访问的类型或级别。在一些实施方式中,对于网络(例如企业网络)或一个或多个服务器、数据库或存储库的认证可以依赖于客户端设备位置。例如,通过访问网关或到网络上的服务器的成功认证可以依赖于客户端设备提供的位置信息。
[0117] 在一些实施方式中,一个或多个限制可以基于客户端设备的位置而强加在数据或内容(诸如电子文档)上。例如,一个或多个策略(诸如智能访问策略)可以使用位置信息来判定是否以及如何对于各种资源授权访问。通常提供公共访问的内容所有者或提供者可以基于不同于IP地址的位置坐标(例如GPS坐标)所定义的实际地理位置来限制访问的一部分。内容所有者/提供者可能由于任意数目的原因而希望限制内容。例如,可能希望限制内容为特定目的或事件,例如允许诸如公司会议或诉讼案件这样的特定定位事件的消费。在一些实施方式中,可以做出客户端设备处于事件阈值距离内的确定,且对资源的访问可以基于确定。对于事件强加在区域“本地”内的事件覆盖的非消费策略,可以帮助确保亲自或实况出席保持高。例如,足球队可以在球队运动场附近强加非消费策略以帮助促进票务销售。作为另一示例,排除对于事件阈值距离内事件的广播或其他细节的访问可以包括将事件预定距离内的区域预先确定为非安全区域。一个或多个策略或限制可以帮助控制不应离站消费的内容(例如敏感SmartAuditor记录或商务文件)。
[0118] 在一些实施方式中,卖方、管理员、其他个人或用户可能希望将某些资源(例如应用)的可用性限制于某些合法权限内的用户,也许因为他们符合和/或不符合这些区域内有效的规则(例如欧洲数据自由法律或加密输出限制)或许可证条件。基于客户端设备位置的应用公布的过滤或应用输出数据的传输可以用于限制对于资源的访问。因而,当访问受限时,可以不启动或打开资源。对于诸如平滑漫游、会话重连或会话共享之类的使用情况,新位置可以提供推动力,以当发生重连时隐藏或关闭正在运行的应用且做出新位置不具有与原先位置相同许可的确定。
[0119] 在一些实施方式中,策略确定可以用作输入以帮助驱动业务模型。例如,可以基于一个或多个策略判定确立或修改应用许可协议或基于消费的服务费用协议。第一位置中的终端用户可以引起源自第一池的许可证的消费,而第二位置中的终端用户可以引起来自第二池的许可证的消费。类似地,可以针对使用相同或类似的服务,对处于两个不同位置中的两个用户收取基于不同用途的费用。这些特征可以使得卖方能够针对不同市场提供各种价格出价。
[0120] 在一些实施方式中,可以做出是否记录资源(诸如会话或会话中的应用)的确定。还可以确定与记录相关联的术语和条件。例如,诸如SmartAuditor之类的记录应用可以自动判定是否记录在特定通道上呈现的资源。在一些实施方式中,做出是否记录特定应用或是否记录特定信息通道的确定。这种判定可以用于影响如何处理记录。例如,可以确定记录长度或用于记录的保持周期。可以考虑各种基于位置的风险和企业持有的遵守性考虑或通过法律考虑来推动判定。例如,某些管辖区域可能不允许在任意或某些环境下记录或可以限制可以被记录的信息的类型。
[0121] 尽管已经在附图中描述和示出特定示例性实施方式,应当理解这些实施方式仅仅是针对此处描述的方面仅是说明而非限制。另外,可以以硬件、可编程器件、固件、软件或其组合实现此处描述的实施方式或其特征中的一些。本公开的方面可以在处理器可读存储介质或机器可读介质中实施,所述介质诸如是磁性(例如硬盘驱动、软盘驱动)、光学(例如,压缩光盘、数字多功能光盘等)或半导体存储介质(易失性和非易失性)。
[0122] 本公开的方面可以容易地应用于或适合于在一个或多个通信系统上操作。这些通信系统可以包括计算机网络、电视网络、卫星网络、电话和蜂窝网络等。
[0123] 尽管并不要求,但是此处描述的各个方面可以实施为方法、数据处理系统和/或存储可执行指令的瞬时性和/或非瞬时性计算机可读介质。因此,这些方面可以具有如下形式:完全硬件实施方式,完全软件实施方式,完全固件实施方式,或组合软件、固件和硬件方面的实施方式。功能性可以驻留在单个计算设备中,或可以跨越多个计算设备/平台分布,多个计算设备/平台可选地经由一个或多个网络彼此连接。此外,此处描述的结构组件可以可选地在公共外壳或外罩内的一个或多个设备之间分布。
[0124] 此处描述的表示内容、数据、信息或事件的各种信号可以以通过信号传导介质传播的电磁波的形式在源和目的地之间传送,所述信号传导介质诸如是金属线、光纤和/或无线传输介质(例如空气和/或空间)。
[0125] 各种方法和动作可以跨越一个或多个计算服务器、数据库以及一个或多个网络操作。功能性可以以任意方式分布,或可以位于单个计算设备(例如服务器、数据库、客户端计算机等)中。正如在此所讨论的那样,资源(例如应用、数据或内容项目等)可以在各种时间且以各种形式分布到中间/网络组件和/或客户端设备。此处描述的分布和传输技术可以有效利用(leverage)现有组件和基础设施,以在其他因素和成本外最小化功耗、操作复杂度、足迹大小、用户和管理管理等。
[0126] 此处描述的方法学动作和处理可以依赖于特定机器或装置。例如,显示屏幕中的一个或多个部分可以通过计算机(例如服务器)和/或客户端设备(例如移动设备)调节,以在显示的控件接收焦点时适应于虚拟键盘或其他数据输入工具。作为另一示例,在客户端设备处对于一个或多个资源的访问可以通过计算机控制。更一般地,一个或多个装置可以包括一个或多个处理器和存储指令的存储器,当被执行时,所述指令使得一个或多个装置执行此处描述的方法学动作和处理。再者,此处描述的方法学动作和处理可以执行各种功能,包括使得项目(例如(1)可选地包括控件元件的显示屏幕的一部分,(2)经受保密或访问控制的资源等)变换成不同状态或事物(例如(1)适应于虚拟键盘或其他数据输入工具的显示屏幕的调节部分,(2)收到控制的资源等)。
[0127] 已经在说明性实施方式方面描述了本公开的方面。本领域技术人员从对本公开的回顾中可以想得到在所附权利要求书范围内的各种其他实施方式、修改和变型。例如,本领域技术人员将意识到附图中说明的步骤可以以不同于所陈述顺序的顺序执行,且根据本公开的方面,所示出的一个或多个步骤可以是可选的。