CN102656578A - 用于在第一机器上显示与第二机器的驱动器关联的数据而不必映射该驱动器的方法和系统 - Google Patents

用于在第一机器上显示与第二机器的驱动器关联的数据而不必映射该驱动器的方法和系统 Download PDF

Info

Publication number
CN102656578A
CN102656578A CN2010800551822A CN201080055182A CN102656578A CN 102656578 A CN102656578 A CN 102656578A CN 2010800551822 A CN2010800551822 A CN 2010800551822A CN 201080055182 A CN201080055182 A CN 201080055182A CN 102656578 A CN102656578 A CN 102656578A
Authority
CN
China
Prior art keywords
client
drive
calculation element
computing device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800551822A
Other languages
English (en)
Other versions
CN102656578B (zh
Inventor
G·莫姆驰劳威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN102656578A publication Critical patent/CN102656578A/zh
Application granted granted Critical
Publication of CN102656578B publication Critical patent/CN102656578B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer And Data Communications (AREA)

Abstract

描述了用于在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据而不必明确地将该客户机驱动器映射到该远程计算装置上的方法和系统。在客户计算装置上执行的第一客户机代理与远程计算装置建立用户会话。第一客户机代理将标识客户计算装置的客户机驱动器的数据发送到在远程计算装置上执行的第二客户机代理。第二客户机代理接收与客户机驱动器关联的数据,并且使用所接收的与客户机驱动器关联的数据在该用户会话的上下文中建立壳链接。第二客户机代理在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据。

Description

用于在第一机器上显示与第二机器的驱动器关联的数据而不必映射该驱动器的方法和系统
相关申请的交叉引用
本申请要求2010年12月9日提交的、标题为“Methods and Systems forDisplaying,on a First Machine,Data Associated with a Drive of a SecondMachine,Without Mappling the Drive”、序列号为61/285016的美国申请的优先权,出于任何和所有目的,该美国申请的全部公开内容通过引用被整体包含于此。
技术领域
本公开涉及用于显示标识网络驱动器的特征的数据的方法和系统。本公开尤其涉及用于在远程计算装置上显示与客户计算装置的驱动器关联的数据而不必映射该驱动器的方法和系统。
背景技术
在用于将远程生成的桌面环境的显示与本地提供的存储装置的列表相集成的传统环境中,标识本地提供的存储装置的特征的数据没有被包含到远程生成的桌面环境中。例如,一些传统系统可能将网络驱动器映射为本地卷,但通常不会使标识所映射的网络驱动器的特征的数据对桌面环境的用户可用。在其他传统系统中,提供对存储装置的统一命名规约(UNC)链接。然而,这些类型的系统通常不允许显示标识存储装置的特征的数据,例如,类型(名称/标签、图标、装置类别)、盘大小或可用空间。这些系统可能产生不方便的和潜在地不直观的终端用户体验,特别是在有多种可用的存储装置(例如,USB驱动器、CD-ROM驱动器、硬盘驱动器、软盘驱动器、网络映射的驱动器、共享,服务器驱动器和远程客户机驱动器的组合等)的情况下。
图1A描述了现有系统的屏幕截图,其中没有提供标识由机器提供的驱动器的特征的数据并且其中将客户计算装置的驱动器映射为远程计算装置上的本地驱动器。在这个示例中,没有显示卷名或定制的图标或驱动器类型的图标。这样的环境可能导致不方便的且可能不直观的终端用户体验。
发明内容
从最广义的解释,本公开描述用于在远程计算装置上执行的虚拟桌面中列举客户计算装置的客户机驱动器而不必明确地在该远程计算装置上映射该客户机驱动器的方法和系统。本发明给用户提供使用客户计算装置通过远程计算装置上的虚拟桌面访问该客户计算装置上的客户机驱动器的能力。该方法允许用户访问和查看驱动器信息(例如驱动器的类型,驱动器上空间的可用性、驱动器的容量)而不必明确地将该驱动器映射到远程计算装置。
本申请针对用于在远程计算装置上显示与客户计算装置的驱动器关联的数据而不必将该驱动器映射到该远程计算装置的方法和系统。
在一个方面,本发明涉及用于在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据而不必明确地将该客户机驱动器映射到该远程计算装置上。在客户计算装置上执行的第一客户机代理建立与远程计算装置的用户会话。第一客户机代理将标识客户计算装置的客户机驱动器的数据发送到在远程计算装置上执行的第二客户机代理。第二客户机代理接收与客户计算装置的客户机驱动器关联的数据。第二客户机代理在用户会话的上下文中使用所接收的与客户计算装置的客户机驱动器关联的数据生成壳链接。壳链接可包括包含用于访问客户计算装置的客户机驱动器的信息的数据对象。第二客户机代理在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据。
在一个实施例中,客户机驱动器还包括通用串行总线(USB)闪存驱动器。在进一步的实施例中,第二客户机代理拦截由客户计算装置生成的对于USB闪存驱动器的装置通知,并响应于所拦截的装置通知修改USB闪存驱动器壳链接。在一个实施例中,与客户计算装置的客户机驱动器关联的数据还包括客户机驱动器的盘空间数据。在一个实施例中,与客户计算装置的客户机驱动器关联的数据还包括客户机驱动器的图形数据表示。在一个实施例中,与客户计算装置的客户机驱动器关联的数据还包括构成客户机驱动器的卷名的用户指定的字母数字串。在一个实施例中,第二客户机代理生成壳链接的标识符。在另一个实施例中,第二客户机代理将所述壳链接的标识符注册在由远程计算装置上执行的操作系统提供的注册表中。在一个实施例中,第二机代理响应于安全策略禁止显示客户机驱动器。在一个实施例中,远程计算装置在光标移至在远程计算装置上显示的客户机驱动器上时显示与客户计算装置的客户机驱动器关联的数据。
在又一个方面,本发明涉及用于在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据而不必明确地将该客户机驱动器映射到该远程计算装置上的系统。该系统包括客户计算装置和远程计算装置。该客户计算装置包括第一客户机代理,所述第一客户机代理与远程计算装置建立用户会话并且将标识客户计算装置的客户机驱动器的数据发送到在该远程计算装置上执行的第二客户机代理。该远程计算装置包括第二客户机代理,所述第二客户机代理接收与客户计算装置的客户机驱动器关联的数据、在所述用户会话的上下文中使用所接收的与客户计算装置的客户机驱动器关联的数据生成壳链接,并且将与客户计算装置的客户机驱动器关联的数据显示在远程计算装置上执行的虚拟桌面中。壳链接可包括包含用于访问客户计算装置的客户机驱动器的信息的数据对象。
在一个实施例中,客户机驱动器还包括通用串行总线(USB)闪存驱动器。在另一个实施例中,第二客户机代理拦截由客户计算装置生成的对于USB闪存驱动器的装置通知,并响应于所拦截的装置通知来修改USB闪存驱动器壳链接。在一个实施例中,与客户计算装置的客户机驱动器关联的数据还包括客户机驱动器的盘空间数据。在一个实施例中,与客户计算装置的客户机驱动器关联的数据还包括客户机驱动器的图形数据表示。在一个实施例中,与客户计算装置的客户机驱动器关联的数据还包括构成客户机驱动器的卷名的用户指定的字母数字串。在一个实施例中,第二客户机代理生成壳链接的标识符。在另一个实施例中,第二客户机代理将所述壳链接的标识符注册在由远程计算装置上执行的操作系统提供的注册表中。在一个实施例中,第二代理响应于安全策略禁止显示客户机驱动器。在一个实施例中,远程计算装置在当光标移至在远程计算装置上显示的客户机驱动器上时显示与客户计算装置的客户机驱动器关联的数据。
在下面的附图和说明中详细阐述了本发明的各种实施例的细节。
附图说明
通过参考下述结合附图的描述,本公开的前述和其它目的、方面、特征和优点将会更加明显并更易于理解,其中:
图1A是描述了系统的实施例的屏幕截图,其中标识网络计算环境中的客户计算装置的驱动器的特征的数据没有被描绘在远程计算装置的驱动器列举中,并且其中该客户计算装置的驱动器被映射为该远程计算装置上的本地驱动器;
图1B是描述包括与远程机器通信的本地机器的网络环境的实施例的框图;
图1C-1F是描述适用于此处所描述的方法和系统的计算机的实施例的框图;
图2是描述用于在网络计算环境中的远程计算装置上显示与该网络计算环境中的客户计算装置的驱动器关联的数据而不必在该远程计算装置上映射该驱动器的系统的一个实施例的框图;
图3A是描述用于在网络计算环境中的远程计算装置上显示与该网络计算环境中的客户计算装置的客户机驱动器关联的数据而不必在该远程计算装置上映射该驱动器的方法的一个实施例的流程图;
图3B是描述用于在网络计算环境中的远程计算装置上显示与该网络计算环境中的客户计算装置的客户机驱动器关联的数据而不必在该远程计算装置上映射该客户机驱动器的方法的又一个实施例的流程图;
图4是描述了其中将标识网络计算环境中的客户计算装置的驱动器的特征的数据描绘在远程计算装置的驱动器列举中而不必在该远程计算装置上映射该驱动器的系统的实施例的屏幕截图;
图5是描述了其中将标识网络计算环境中的客户计算装置的驱动器的特征的数据描绘在远程计算装置的驱动器列举中而不必在该远程计算装置上映射该驱动器的系统的实施例的又一个屏幕截图;以及
图6是描述了其中将标识网络计算环境中的客户计算装置的驱动器的特征的数据描绘在远程计算装置的驱动器列举中而不必在该远程计算装置上映射该驱动器的系统的实施例的又一个屏幕截图。
具体实施方式
现参考图1B,描述了网络环境的实施例。总的来说,网络环境包括经由一个或者多个网络104与一个或者多个远程机器106a-106n(总的还称为服务器106或者远程机器106)通信的一个或者多个本地机器102a-102n(总的还称为本地机器102、客户机102、客户节点102、客户机器102、客户计算机102、客户装置102、端点102或端点节点102)。在一些实施例中,本地机器102既有作为客户节点寻求访问服务器所提供资源的能力,也有作为服务器向其他客户机102a-102n提供对所寄载的资源的访问的能力。
虽然图1B示出的网络104是位于本地机器102和远程机器106之间,本地机器102和远程机器106还可以位于相同的网络104上。网络104可为局域网(LAN)(例如公司内网),城域网(MAN),或者广域网(WAN)(例如因特网或万维网)。在一些实施例中,在本地机器102和远程机器106之间可以有多个网络104。在这些实施例的一个中,网络104’(未示出)可为专用网并且网络104可为公网。在这些实施例的另一个中,网络104可为专用网并且网络104’可为公网。在又一个实施例中,网络104和104’可都为专用网。而在另一实施例中,网络104和104’可都为公网。
网络104可以是任何类型和/或形式的网络,并且可包括任意下述网络:点对点网络,广播网络,广域网,局域网,电信网络,数据通信网络,计算机网络,ATM(异步传输模式)网络,SONET(同步光纤网络)网络,SDH(同步数字体系)网络,无线网络和有线网络。在一些实施例中,网络104可以包括无线链路,诸如红外信道或者卫星频带。网络104的拓扑可为总线型、星型或环型网络拓扑。网络104可以具有对于本领域普通技术人员所熟知的、能够支持此处描述的操作的任何这样的网络拓扑。网络可包括利用用于移动装置间通信的任一或一些协议的移动电话网络,这些协议包括:AMPS、TDMA、CDMA、GSM、GPRS或UMTS。在一些实施例中,不同类型的数据可以通过不同协议传输。在其他实施例中,同一类型的数据可通过不同协议传输。
在一些实施例中,系统可包括多个逻辑分组的远程机器106。在这些实施例的一个中,服务器的逻辑分组可以被称为服务器群。在这些实施例的又一个中,远程机器106可为地理上分散的。在其他实施例中,服务器群可以作为单个实体被管理。仍在其他实施例中,服务器群包括多个服务器群。每个服务器群内的远程机器106可能是异构的---一个或多个远程机器106可根据一种类型的操作系统平台(例如,WINDOWS NT、WINDOWS 2003、WINDOWS2008,WINDOWS 7或WINDOWS Server 2008R2,所有这些都是由华盛顿州Redmond的Microsoft公司出品的)操作,而一个或多个其它远程机器106可根据另一类型的操作系统平台(例如,Unix或Linux)操作。
每个服务器群的远程机器106不必与同一服务器群中的另一个远程机器106在物理上接近。因此,逻辑上分组为服务器群的远程机器106组可以是使用广域网(WAN)连接或城域网(MAN)连接来互联的。例如,服务器群可包括物理上位于不同大陆或大陆、国家、州、城市、校园或房间的不同区域的远程机器106。如果远程机器106使用局域网(LAN)连接或一些直连形式进行连接,则可增加服务器群中的远程机器106间的数据传送速度。
远程机器106可以是文件服务器、应用服务器、web服务器、代理服务器、设备、网络设备、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSL VPN服务器,或防火墙。在一些实施例中,远程机器106提供远程认证拨入用户服务,并且可被称为RADIUS服务器。在其他实施例中,远程机器106可以有作为应用服务器或者作为主应用服务器工作的能力。仍在其他实施例中,远程机器106是刀片服务器。而在其他实施例中,远程机器106执行向用户或客户计算机102提供对计算环境访问的虚拟机。
在一个实施例中,远程机器106可包括活动目录。远程机器106可以是应用加速设备。对于其中远程机器106是应用加速设备的实施例,远程机器106可提供包括防火墙功能、应用防火墙功能,或负载平衡功能的功能。在一些实施例中,远程机器106包括诸如由位于美国加州San Jose的Citrix应用网络组、位于美国加州Mountain View,的Silver Peak Systems公司、位于美国加州San Francisco的Riverbed Technology公司、位于美国华盛顿州Seattle的F5 Networks公司或位于美国加州Sunnyvale的JuniperNetworks公司制造的设备系列中的一个的设备。
在一些实施例中,远程机器106代表本地机器102的用户执行应用。在其他实施例中,远程机器106执行虚拟机,该虚拟机提供执行会话,在该执行会话中应用代表本地机器102的用户来执行。在这些实施例的一个中,该执行会话是所寄载的桌面会话。在这些实施例的另一个中,该执行会话提供对计算环境的访问,该计算环境包括如下的一个或多个:应用、多个应用、桌面应用、以及在其中可执行一个或多个应用的桌面会话。
在一些实施例中,本地机器102与远程机器106通信。在一个实施例中,本地机器102与服务器群中的远程机器106之一直接通信。在又一个实施例中,本地机器102执行程序邻近应用(a program neighborhood application)以与服务器群内的远程机器106通信。在又一个实施例中,远程机器106提供主节点的功能。在一些实施例中,本地机器102通过网络104与服务器群中的远程机器106通信。例如通过网络104,本地机器102可以请求执行服务器群中的远程机器106a-106n所寄载的各种应用,并接收应用执行结果的输出进行显示。在一些实施例中,只有主节点提供这样的功能,即识别和提供与远程机器106b相关的地址信息所需的功能,所述远程机器106b寄载所请求的应用。
在一个实施例中,远程机器106提供web服务器的功能。在又一个实施例中,远程机器106a接收来自本地机器102的请求,将该请求转发到第二远程机器106b,并用远程机器106b对该请求的响应来对本地机器102的请求进行响应。在又一个实施例中,远程机器106a获得对本地机器102可用的应用的列举,以及与寄载由该应用的列举所识别的应用的远程机器106b相关联的地址信息。在又一个实施例中,远程机器106使用web接口提供对本地机器102的请求的响应。在一个实施例中,本地机器102直接与远程机器106通信以访问所识别的应用。在又一个实施例中,本地机器102接收通过执行远程机器106上所识别的应用而产生的输出数据,例如显示数据。
在一些实施例中,远程机器106或服务器群可运行一个或多个应用,例如提供瘦客户端计算的应用或远程显示表示应用。在一个实施例中,远程机器106或服务器群作为应用来执行Citrix Systems有限公司的CITRIXACCESS SUITE的任一部分(例如产品METAFRAME或CITRIX PRESENTATIONSERVER),由Citrix Systems有限公司出品的任何下列产品:CITRIX XENAPP、CITRIX XENDESKTOP、CITRIX ACCESS GATEWAY,和/或微软公司出品的MICROSOFT WINDOWS终端服务中的任意一个。在又一个实施例中,该应用是由位于美国佛罗里达州Fort Lauderdale的Citrix Systems有限公司开发的ICA客户机。仍在又一个实施例中,远程机器106可以运行应用,例如,该应用可以是提供诸如由位于美国华盛顿州Redmond的微软公司制造的MICROSOFT EXCHANGE的电子邮件服务的应用服务器、web或Internet服务器,或桌面共享服务器,或协同服务器。在又一个实施例中,任何应用可以包括任何类型的所寄载的服务或产品,例如位于美国加利福尼亚州SantaBarbara的Citrix Online Division公司提供的GOTOMEETING,位于美国加利福尼亚州Santa Clara的WebEx有限公司提供的WEBEX,或者位于美国华盛顿州Redmond的微软公司提供的Microsoft Office LIVE MEETING。
本地机器102可以执行、操作或者以其它方式提供应用,该应用可为任何类型和/或形式的软件、程序或者可执行指令,例如任何类型和/或形式的web浏览器、基于web的客户机、客户机-服务器应用、瘦客户端计算客户机、ActiveX控件、或者Java小应用程序、或者可以在本地机器102上执行的任意其它类型和/或形式的可执行指令。在一些实施例中,该应用可以是代表本地机器102在远程机器106上执行的基于服务器或者基于远程的应用。在其他实施例中,远程机器106可以使用任意瘦-客户端协议、表示层协议或远程显示协议来显示输出到本地机器102,所述协议例如由位于美国佛罗里达州Ft.Lauderdale的Citrix Systems有限公司出品的独立计算架构(ICA)协议;由位于美国华盛顿州Redmond的微软公司出品的远程桌面协议(RDP);X11协议;由AT&T贝尔实验室出品的虚拟网络计算(VNC)协议;由位于美国加里福尼亚州Sunnyvale和位于以色列Raanana的Qumranet有限公司出品的SPICE协议;由加里福尼亚州Milpita s的VESA公司出品的Net2Display协议;由位于加拿大不列颠哥伦比亚省的Burnaby的Teradici公司出品的PC-over-IP协议;由加里福尼亚州San Jose的Wyse Technology有限公司出品的TCX协议;由纽约州纽约市的哥伦比亚大学开发的THINC协议;或由马萨诸塞州Chelmsford的Desktone有限公司开发的Virtual-D协议。该应用可使用任何类型的协议,并且它可为,例如,HTTP客户端、FTP客户端、Oscar客户端或Telnet客户端。在其它实施例中,该应用包括与互联网协议电话(VoIP)通信相关的任何类型的软件,例如软IP电话。在进一步的实施例中,该应用包括与实时数据通信相关的任一应用,例如用于流式传输视频和/或音频的应用。
本地机器102和远程机器106可以被部署为任意类型和形式的计算装置和/或在其上执行,例如能够与任意类型和形式的网络通信并且执行此处所描述的操作的计算机、网络装置或设备。图1C和1D描述了用于实施本地机器102或远程机器106的实施例的计算装置100的框图。如图1C和1D所示,每个计算装置100包括中央处理单元121和主存储器单元122。如图1C所示,计算装置100可包括存储装置128、安装装置116、网络接口118、I/O控制器123、显示装置124a-124n、键盘126和诸如鼠标的指示装置127。存储装置128可包括但不限于操作系统、软件和客户机代理120。如图1D所示,每个计算装置100也可包括另外的可选部件,例如存储器端口103、桥170、一个或多个输入/输出装置130a-130n(总的使用标号130表示)以及与中央处理单元121通信的高速缓冲存储器140。
中央处理单元121是响应并处理从主存储器单元122取出的指令的任意逻辑电路。在一些实施例中,中央处理单元121由微处理器单元提供,例如:由位于美国加利福尼亚州Mountain View的Intel公司制造的微处理器单元;由位于美国伊利诺伊州Schaumburg的Motorola公司制造的微处理器单元;由位于美国加利福尼亚州Santa Clara的Transmeta公司制造的微处理器单元;RS/6000处理器,由位于美国纽约州White Plains的InternationalBusiness Machines公司制造的微处理器单元;或者由位于美国加利福尼亚州Sunnyvale的Advanced Micro Devices公司制造的微处理器单元。计算装置100可以基于这些处理器中的任意一种,或者能够如此处所述方式运行的任意其它处理器。
主存储器单元122可以是能够存储数据并允许微处理器121直接访问任意存储位置的一个或多个存储器芯片,例如静态随机存取存储器(SRAM)、突发SRAM或同步突发SRAM(BSRAM)、动态随机存取存储器(DRAM)、快速页模式DRAM(FPM DRAM)、增强DRAM(EDRAM)、扩展数据输出RAM(EDO RAM)、扩展数据输出DRAM(EDO DRAM)、突发扩展数据输出DRAM(BEDO DRAM)、增强DRAM(EDRAM)、同步DRAM(SDRAM)、JEDEC SRAM、PC100SDRAM、双倍数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、直接内存总线DRAM(DRDRAM)或铁电RAM(FRAM)。主存储器122可以基于上述存储器芯片的任意一种,或者能够如此处所述方式运行的任意其它可用存储器芯片。在图1C所示的实施例中处理器121通过系统总线150(在下面进行更详细的描述)与主存储器122进行通信。图1D描述了在其中处理器通过存储器端口103直接与主存储器122通信的计算装置100的实施例。例如,在图1D中主存储器122可以是DRDRAM。
图1D描述其中主处理器121通过有时被称为后端总线的次级总线直接与高速缓存存储器140通信的实施例。其他实施例中,主处理器121使用系统总线150与高速缓存存储器140通信。高速缓存存储器140通常有比主存储器122更快的响应时间,并且通常由SRAM、BSRAM或EDRAM提供。在图1C所示的实施例中,处理器121通过本地系统总线150与各种I/O装置130进行通信。可以使用各种不同的总线将中央处理单元121连接到任意I/O装置130,包括VESA VL总线、ISA总线、EISA总线、微通道体系结构(MCA)总线、PCI总线、PCI-X总线、PCI-Express总线或NuBus。对于I/O装置是视频显示器124的实施例,处理器121可以使用高级图形端口(AGP)与显示器124通信。图1D描述了在其中主处理器121通过HYPERTRANSPORT、RAPIDIO、或INFINIBAND通信技术直接与I/O装置130b通信的计算机100的实施例。图1D也描述了在其中本地总线和直接通信相混合的实施例:处理器121使用本地互连总线与I/O装置130a通信同时直接与I/O装置130b通信。
计算装置100中可以有多种I/O装置130a-130n。输入装置包括键盘、鼠标、触控板、轨迹球、话筒,和绘图板。输出装置包括视频显示器、扬声器、喷墨打印机、激光打印机和热升华打印机。如图1C所示,I/O装置可以由I/O控制器123控制。I/O控制器可以控制一个或多个I/O装置,例如键盘126和指示装置127(如鼠标或光笔)。此外,I/O装置还可以为计算装置100提供存储和/或安装介质116。在其它实施例中,计算装置100可以提供USB连接(未示出)以接纳手持USB存储装置,例如由位于美国加利福尼亚州Los Alamitos的Twintech Industry有限公司生产的USB闪存驱动系列装置。
再次参考图1C,计算装置100可以支持任意适当的安装装置116,例如用于接纳诸如3.5英寸、5.25英寸磁盘或ZIP磁盘的软盘的软盘驱动器、CD-ROM驱动器、CD-R/RW驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、USB装置、硬盘驱动器或适于安装软件和程序的任意其它装置。计算装置100还可以包括存储装置,诸如一个或者多个硬盘驱动器或者独立磁盘冗余阵列,用于存储操作系统和其它相关软件,以及用于存储诸如涉及客户机代理120的任意程序的应用软件程序。或者,可以使用安装装置116的任意一种作为存储装置。此外,操作系统和软件可从可引导介质运行,可引导介质例如是可引导CD,诸如KNOPPIX,其为一种用于GNU/Linux的可引导CD,可自knoppix.net作为GNU/Linux一个发行版获得。
此外,计算装置100可以包括网络接口118以通过多种连接来与网络104对接,所述连接包括但不限于标准电话线路、LAN或WAN链路(例如802.11、T1、T3、56kb、X.25、SNA、DECNET)、宽带连接(如I SDN、帧中继、ATM、千兆以太网、基于SONET的以太网(Ethernet-over-SONET))、无线连接、或上述任意或全部的某种组合。可使用多种通信协议(例如TCP/IP、IPX、SPX、NetBIOS、Ethernet、ARCNET、SONET、SDH、光纤分布数据接口(FDDI)、RS232、IEEE802.11、IEEE802.11a、IEEE802.11b、IEEE802.11g、CDMA、GSM、WiMax和直接异步连接)来建立连接。在一个实施例中,计算装置100可以通过任意类型和/或形式的网关或诸如安全套接字层(SSL)或传输层安全(TLS),或由位于美国佛罗里达州Ft.Lauderdale的Citrix Systems公司制造的Citrix网关协议的隧道协议来与其他计算装置100’通信。网络接口118可以包括内置网络适配器、网络接口卡、PCMCIA网络卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器或适用于将计算装置100对接到能够通信并执行这里所说明的操作的任意类型的网络的任意其它装置。
在一些实施例中,计算装置100可以包括多个显示装置124a-124n或与其相连,这些显示装置各自可以是相同或不同的类型和/或形式。因而,任意一种I/O装置130a-130n和/或I/O控制器123可以包括任何类型和/或形式的适当的硬件、软件或硬件和软件的组合,以支持、允许或提供通过计算装置100连接和使用多个显示装置124a-124n。例如,计算装置100可以包括任意类型和/或形式的视频适配器、视频卡、驱动器和/或库,以与显示装置124a-124n对接、通信、连接或以其他方式使用显示装置124a-124n。在一个实施例中,视频适配器可以包括多个连接器以与多个显示装置124a-124n对接。在其它实施例中,计算装置100可以包括多个视频适配器,每个视频适配器与显示装置124a-124n中的一个或多个连接。在一些实施例中,计算装置100的操作系统的任一部分都可以被配置用于使用多个显示器124a-124n。在其它实施例中,显示装置124a-124n中的一个或多个可以由一个或多个其它计算装置提供,诸如(例如通过网络)与计算装置100连接的计算装置100a和100b。这些实施例可以包括被设计和构造来使用另一个计算机的显示装置作为计算装置100的第二显示装置124a的任何类型的软件。本领域的普通技术人员应认识和理解可以将计算装置100配置成拥有多个显示装置124a-124n的各种方式和实施例。
在进一步的实施例中,I/O装置130可以是系统总线150和外部通信总线之间的桥,所述外部通信总线如USB总线、Apple桌面总线、RS-232串行连接、SCSI总线、FireWire总线、FireWire800总线、以太网总线、AppleTalk总线、千兆位以太网总线、异步传输模式总线、HIPPI总线、超级HIPPI总线、SerialPlus总线、SCI/LAMP总线、光纤信道总线、串行SCSI总线。
图1C和1D中所描述的类型的计算装置100通常地在操作系统的控制下运行,所述操作系统控制任务的调度和对系统资源的访问。计算装置100可运行任何操作系统,诸如任意版本的MICROSOFT WINDOWS操作系统;不同发行版本的Unix和Linux操作系统;用于Macintosh计算机的MAC OS的任意版本;任意嵌入式操作系统;任意实时操作系统;任意开源操作系统;任意专有操作系统;任意用于移动计算装置的操作系统,或者能够在计算装置上运行且执行此处所描述的操作的任意其它操作系统。典型的操作系统包括但不限于:WINDOWS 3.x、WINDOWS 95、WINDOWS98、WINDOWS 2000、WINDOWSNT 3.51、WINDOWS NT 4.0、WINDOWS 7、WINDOWS CE、WINDOWS XP和WINDOWSVISTA,所有这些均由位于美国华盛顿州Redmond的微软公司出品;由位于美国加利福尼亚州Cupert ino的苹果计算机公司出品的MAC OS;由位于美国纽约州Armonk的国际商业机器公司出品的OS/2;以及由位于美国犹他州Salt Lake City的Caldera公司发布的可免费使用的Linux操作系统或者任意类型和/或形式的Unix操作系统,以及其它。
计算装置100可以是任意工作站、电话、台式计算机、膝上型或笔记本电脑、服务器、掌上电脑、移动电话或其他便携电信装置、媒体播放装置、游戏系统、移动计算装置,或能够通信并有足够的处理器能力和存储容量以执行此处所述的操作的任意其它类型和/或形式的计算、电信或者媒体装置。例如,计算机装置100可包括由位于美国加利福尼亚州Cupertino的苹果计算机公司出品的IPOD系列装置、由位于日本东京的索尼公司出品的PLAYSTATION2、PLAYSTATION3或PERSONAL PLAYSTATION PORTABLE(PSP)装置,由位于日本京都的Nintendo有限公司出品的NINTENDO DS、NINTENDOGAMEBOY、NINTENDO GAMEBOY ADVANCED或NINTENDO REVOLUTION装置,或者由位于美国华盛顿州Redmond的微软公司出品的XBOX或XBOX 360装置。
在一些实施例中,计算装置100可以有不同的处理器、操作系统以及符合该装置的输入装置。例如,在一个实施例中,计算装置100是由Palm有限公司出品的TREO180、270、600、650、680、700p、700w/wx、750、755p、800w、Centro或Pro智能电话。在这些实施例的一些中,TERO智能电话是在PalmOS操作系统的控制下操作并且包括笔输入装置以及五向导航装置。
在其他实施例中,计算装置100是移动装置,例如,JAVA使能蜂窝电话或个人数字助理(PDA),诸如i55sr、i58sr、i85s、i88s、i90c、i95c1、i335、i365、i570、I576、i580、i615、i760、i836、i850、i870、i880、i920、i930、ic502、ic602、ic902、i776或im1100,以上这些均由位于美国伊利诺伊州Schaumburg的摩托罗拉公司制造;由位于日本京都的Kyocera公司制造的6035或7135;或者由位于韩国首尔的Samsung电子有限公司制造的i300或i330。在一些实施例中,计算装置100是由位于芬兰的诺基亚公司制造或由位于瑞典Lund的Sony Ericsson Mobile Communications AB公司制造的移动装置。
在其他实施例中,计算装置100是黑莓(Blackberry)手持或智能电话,诸如由Research In Motion有限公司制造的装置,包括黑莓7100系列、8700系列、7700系列、7200系列、黑莓7520、黑莓PEARL 8100、8700系列、8800系列、黑莓Storm、黑莓Bold、黑莓Curve 8900、黑莓Pearl Flip。在其他实施例中,计算装置100是智能电话、Pocket PC、Pocket PC电话,或支持Microsoft Windows Mobile Software的其它手持移动装置。此外,计算装置100可以是任意工作站、台式计算机、膝上型或笔记本电脑、服务器、掌上电脑、移动电话、任意其它计算机、或能够通信并有足够的处理器能力和存储容量以执行此处所述操作的其它形式的计算或者电信装置。
在一些实施例中,计算装置100是数字音频播放器。在这些实施例的一个中,计算装置100是诸如由位于美国加利福尼亚州Cupertino的苹果计算机公司制造的Apple IPOD、IPOD Touch、IPOD NANO和IPOD SHUFFLE系列装置的数字音频播放器。在这些实施例的又一个中,数字音频播放器可作为便携媒体播放器和作为大容量存储装置来工作。在其他实施例中,计算装置100是诸如由位于美国新泽西州Ridgefield Park的Samsung ElectronicsAmerica公司制造的DigitalAudioPlayer Select MP3播放器,或由位于美国伊利诺伊州Schaumburg的Motorola公司制造的Motorola m500或m25的数字音频播放器。在其他实施例中,计算装置100是便携媒体播放器,诸如由Creative Technologies有限公司制造的Zen Vision W、Zen Vision系列、Zen Portable Media Center装置或Digital MP3系列的MP3播放器。仍在其他实施例中,计算装置100是支持以下文件格式的便携媒体播放器或数字音频播放器,这些文件格式包括但不限于MP3、WAV、M4A/AAC、WMAProtected AAC、AIFF、Audible有声读物、Apple Lossless音频文件格式和.mov、.m4v以及.mp4MPEG-4(H.264/MPEG-4AVC)视频文件格式。
在一些实施例中,计算装置100包括装置的组合,例如与数字音频播放器或便携媒体播放器相组合的移动电话。在这些实施例的一个中,计算装置100是组合数字音频播放器和移动电话的Motorola RAZR或Motorola ROKR系列。在这些实施例的又一个中,计算装置100是由位于加利福尼亚州Cupertino的苹果公司制造的iPhone系列智能电话中的装置。
在一个实施例中,计算装置102a可从远程机器106请求资源,同时向客户机102b提供远程机器106的功能。在这样的实施例中,就从远程机器106(其可以被称为服务器)接收数据而言,计算装置102a可以被称为客户机,而就第二客户机102b而言,计算装置102a可以被称为服务器。在又一个实施例中,客户机102可代表客户机102上的用户从远程机器106请求资源。
如图1E所示,计算装置100可以包括多个处理器,并且可以提供用于对不只一个数据片同时执行多个指令或者同时执行一个指令的功能。在一些实施例中,计算装置100可包括具有一个或多个核的并行处理器。在这些实施例的一个中,计算装置100是共享内存并行装置,具有多个处理器和/或多个处理器核,将所有可用内存作为一个全局地址空间进行访问。在这些实施例的又一个中,计算装置100是分布式存储器并行装置,具有多个处理器,每个处理器仅访问本地存储器。在这些实施例的又一个中,计算装置100既有共享的存储器又有仅由特定处理器或处理器子集访问的存储器。在这些实施例的又一个中,如多核微处理器的计算装置100将两个或多个独立处理器组合在一个封装中,通常在一个集成电路(IC)中。在这些实施例的又一个中,计算装置100包括具有单元宽带引擎(CELL BROADBAND ENGINE)架构的芯片,并包括高能处理器单元以及多个协同处理单元,高能处理器单元和多个协同处理单元通过内部高速总线连接在一起,可以将内部高速总线称为单元互连总线。
在一些实施例中,处理器提供用于对多个数据片同时执行单个指令(SIMD)的功能。其他实施例中,处理器提供用于对多个数据片同时执行多个指令(MIMD)的功能。又一个实施例中,处理器可以在单个装置中使用SIMD和MIMD核的任意组合。
在一些实施例中,计算装置100可包括图形处理单元。图1F所示的这些实施例的一个中,计算装置100包括至少一个中央处理单元121和至少一个图形处理单元。在这些实施例的又一个中,计算装置100包括至少一个并行处理单元和至少一个图形处理单元。在这些实施例的又一个中,计算装置100包括任意类型的多个处理单元,多个处理单元中的一个包括图形处理单元。
在一个实施例中,资源可以是程序、应用、文档、文件、多个应用、多个文件、可执行程序文件、桌面环境、计算环境或对本地计算装置102的用户可用的其他资源。可以经由多种访问方法将资源传送到本地计算装置102,所述访问方法包括但不限于:传统的直接安装在本地计算装置102上,经由应用流式传输的方法传送到本地计算装置102、将经由第三计算装置106b上的资源的执行所产生的并且经由表示层协议向本地计算装置102传输的输出数据传送到本地计算装置102,将通过经由在远程计算装置106上执行的虚拟机执行资源所产生的输出数据传送到本地计算装置102,或者从连接到本地计算装置102的可移动存储装置(例如USB装置)执行并产生输出数据,或经由在本地计算装置102上执行的虚拟机执行并产生输出数据。在一些实施例中,本地计算装置102将通过资源的执行所产生的输出数据传输到另一个客户计算装置102b。
在一些实施例中,本地计算装置102的用户连接到远程计算装置106并且在本地计算装置102上查看在远程计算装置106上生成的远程桌面环境的本地版本的显示,其包括多个数据对象。在这些实施例的一个中,通过远程计算装置106(或通过第二远程计算装置106b)将至少一个资源提供给用户并且将其显示在远程桌面环境中。然而,可能存在通过本地计算装置102对用户可用的资源。例如,本地计算装置102可提供对本地盘驱动器、经由网络104可用的驱动器、可移动存储装置(例如,软盘、CD/DVD,可移动盘(例如USB驱动器)等等)或其他装置128的访问,而且用户可能希望访问该装置128以存储或检索与由远程计算装置106代表用户执行的资源结合使用的数据。在这些实施例的又一个中,用户可以通过与由远程计算装置106生成的远程桌面环境交互来作出从装置128检索数据或在装置128上存储数据的请求。
现参考图2,所示框图描述用于在网络计算环境中的远程计算装置106上显示与该网络计算环境中的客户计算装置102的驱动器128b关联的数据而不必在该远程计算装置106上映射该驱动器128b的系统200的一个实施例。总的来说,系统200包括在远程计算装置106上执行的第二客户机代理202和在客户计算装置102上执行的第一客户机代理204。第二客户机代理202接收标识由客户计算装置102提供的驱动器128b的特征的数据。第二客户机代理202拦截由在远程计算装置106上执行的操作系统对由远程计算装置106提供的驱动器128的列举的请求。响应于所拦截的请求,第二客户机代理202指示在由远程计算装置提供的驱动器的列举中显示所接收的由客户计算装置102提供的数据,而不必映射驱动器。在一些实施例中,标识驱动器的特征的数据可包括而不限于用户指定的名称或标签(包括而不限于用户指定的驱动器标签-本地磁盘、CD/DVD驱动器、网络驱动器-和用户指定的驱动器号-C、D、E等),驱动器的类型(硬盘驱动器、可移动驱动器、CD-ROM、DVD、软盘驱动器、网络映射的驱动器、客户机共享等),装置类别、在桌面环境中表示驱动器的图形数据(例如,图标)以及盘的大小(包括,例如,盘的总大小和盘上可用空间的大小)。在这些实施例的一个中,驱动器的类型是由驱动器标签指示的。
仍参考图2,更具体地,第二客户机代理202在远程计算装置106上执行。在一个实施例中,该远程计算装置106是如上文结合图1B-1F所描述的计算装置。在一些实施例中,第二客户机代理202包括接收器,该接收器用于从在客户计算装置102上执行的第一客户机代理204接收标识由客户计算装置102提供的驱动器128b的特征的数据。在这些实施例的一个中,例如,第二客户机代理202包括被提供为动态链接库的接收器。在这些实施例的又一个中,第二客户机代理202包括被提供为网络重定向器文件系统驱动程序的接收器。在这些实施例的又一个中,第二客户机代理202是根据表示层协议与第一客户机代理204通信的表示层协议代理;例如,第二客户机代理202和第一客户机代理204可以根据上文结合图1B所述的任何表示层协议进行通信。在其他实施例中,第二客户机代理202被称为网络提供者组件并且执行驱动器列举、驱动器的映射和取消映射以及壳链接的创建和删除,所述壳链接识别驱动器128b而不使用映射。
在一些实施例中,第二客户机代理202与在远程计算装置106上执行的壳(shell)进行通信。该壳是向计算装置的用户提供用户接口的软件。在一个实施例中,壳可以用第三方的壳来补充或替代。在MICROSOFT WINDOW中,缺省壳是EXPLORER,其确定桌面的配置(例如,任务栏、通知区域、开始菜单等)。
在一些实施例中,第一客户机代理204在本地计算装置102上执行。在一个实施例中,该本地计算装置102是如上文结合图1B-1F所述的计算装置。在又一个实施例中,第一客户机代理204是在本地计算装置102上执行的表示层协议代理的一部分。在又一个实施例中,第一客户机代理204与表示层协议代理进行通信。
在一些实施例中,第一客户机代理204与在客户计算装置102上执行的壳通信。该壳是向计算装置的用户提供用户接口的软件。在一个实施例中,壳可以用第三方的壳来补充或替代。在MICROSOFT WINDOW中,缺省壳是EXPLORER,其确定桌面的配置(例如,任务栏、通知区域、开始菜单等)。
在一些实施例中,驱动器128是如上文结合图1B-1D所述的存储装置128。在其他实施例中,驱动器128是可移动存储装置,例如USB驱动器。在其他实施例中,驱动器128是诸如磁盘驱动器或磁带驱动器的介质装置。在进一步的实施例中,举例来说,驱动器128可以是存储区域网络中的存储装置。
在一些实施例中,驱动器128是机器100外部的组件。在这些实施例的一个中,驱动器128是机器100b,例如网络可访问的驱动器。在其他实施例中,驱动器128是闪速存储器数据存储装置。在进一步的实施例中,驱动器128被物理地连接到机器100(即包括连接到机器100的外部装置也包括被嵌入到机器100中的内部装置)或无线地连接到机器100。
在一些实施例中,驱动器128是客户机共享。在这些实施例的一个中,该客户机共享充当到第三机器100上的驱动器128c的快捷方式。在这些实施例的又一个中,该客户机共享充当安全标签。在这些实施例的又一个中,有被分配不同级别的权限的多个客户机共享。在这些实施例的又一个中,机器100的一些用户被允许访问该客户机共享而其他用户不可以访问该客户机共享。在这些实施例的又一个中,驱动器128包括客户机目录和子目录、本地客户机共享以及对该客户机可访问的其他共享。在这些实施例的又一个中,该系统包括用户接口,该用户接口允许管理员控制当由远程计算装置106生成与客户计算装置102的驱动器128b关联的数据的显示时需要考虑哪些类型的共享、子目录或其他驱动器128。
现参考图3A,所示流程图描述用于在网络计算环境中的远程计算装置上显示与该网络计算环境中的客户计算装置的驱动器关联的数据而不必在该远程计算装置上映射该驱动器的方法的一个实施例。总的来说,该方法300包括由在远程计算装置上执行的第二客户机代理202接收标识由客户计算装置提供的驱动器的特征的数据(302)。该方法包括由第二客户机代理拦截在远程计算装置上执行的操作系统对由远程计算装置提供的驱动器的列举的请求(304)。响应于所拦截的请求,该方法包括由第二客户机代理202指示在由远程计算装置提供的驱动器的列举中显示所接收的由客户计算装置提供的数据而不必映射驱动器(306)。
仍参考图3A,更具体地,在远程计算装置上执行的第二客户机代理202接收标识由客户计算装置提供的驱动器的特征的数据(302)。在一个实施例中,第二客户机代理202从第一客户机代理204接收该数据,所述第一客户机代理204在客户计算装置102上执行。在又一个实施例中,作为根据表示层协议建立的通信会话的一部分,第二客户机代理202通过在第二客户机代理202和第一客户机代理204之间建立的虚通道接收该数据。
在一些实施例中,第二客户机代理202向第一客户机代理204发送对该数据的请求。在这些实施例的一个中,第二客户机代理202发起数据检索请求(例如,当第二客户机代理202接收新的装置128已经连接到客户计算装置102的指示时,或当第二客户机代理202接收用户已经登录到客户计算装置102的指示时)。在其他实施例中,第一客户机代理204将该数据传输到第二客户机代理202而不必先接收到对该传输的请求。在一个实施例中,第一客户机代理204收集所请求的数据并将所收集的数据传输到第二客户机代理202。在又一个实施例中,第一客户机代理204访问应用编程接口(API)以检索该数据。例如,并且不限于,第一客户机代理204可以使用诸如“GetLogicalDrives”、“GetDriveType”、“DeviceIoControl”、“GetVolumeInformation”、“GetVolumeInformationByHandle”或“GetDiskFreeSpace”的API来检索该数据。在又一个实施例中,第一客户机代理204可以在每当装置128b首次连接到客户计算装置102时检索该装置128b的数据(例如,在“即插即用”场景中);在这样的实施例中,第一客户机代理204可使用API(例如,举例来说,RegisterDeviceNotification API)来从在客户计算装置102上执行的操作系统的组件(例如,OS即插即用管理器)接收关于装置128b的到达或移除的通知。在又一个实施例中,第一客户机代理204可以(但不限于)根据MICROSOFT WINDOWS API(例如,但不限于GetSystemMetrics、WTSQuerySessionInformation、GetCurrentProcessId或ProcessIdToSessionld)生成命令、将该命令发送到在客户计算装置102上执行的操作系统,以及将从该操作系统接收的响应发送到第二客户机代理202。
在一些实施例中,当检索UNC映射的驱动器128b的数据时,第一客户机代理204访问由在客户计算装置102上执行的操作系统提供的注册表。在这些实施例的一个中,第一客户机代理204在该注册表内识别壳链接,该壳链接在当前用户的会话的上下文中识别远程驱动器(例如,HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\<SessionID>\MyComputer\Namespace\<GUID>,其中,SessionID标识用户/终端服务会话,而GUID是该壳链接的唯一标识符);第一客户机代理204接着可以检索与所识别的壳链接关联的且识别驱动器128b的名称或标签的附加细节(例如,通过访问诸如HKEY_CLASSES_ROOT\CLSID\<GUID>的注册键并检索键值,所述键值从该键或子键识别所映射的驱动器的键值)。在这些实施例的又一个中,与GUID关联的一个或多个注册键识别附加的数据,诸如总的盘大小、可用盘空间、缺省图标等。在其他实施例中,第一客户机代理204使用API检索由客户计算装置102提供的一个或多个驱动器128b的列表;例如,第一客户机代理204可访问WNetEnumResource API或WNetGetConnection API。
在一些实施例中,第一客户机代理204将驱动器128b的图形数据表示(例如,图标)传输到第二客户机代理202。在其他实施例中,第二客户机代理202响应于从第一客户机代理204接收的驱动器类型的标识来指示生成表示驱动器128b的图形数据。
第二客户机代理拦截由在远程计算装置上执行的操作系统对由远程计算装置提供的驱动器的列举的请求(304)。在一些实施例中,第二客户机代理202拦截操作系统对其中一个所列举的驱动器的特征的显示的请求。在这些实施例的一个中,第二客户机代理202拦截列举、映射和I/O重定向请求。
在一些实施例中,第二客户机代理202从第一客户机代理204接收客户计算装置102的用户已经生成对标识所列举驱动器的特征的数据的请求的指示。在这些实施例的一个中,例如,用户可以与远程生成的桌面环境的本地显示交互以便请求由远程计算装置106提供的和由客户计算装置102提供的驱动器128的列举,或者请求驱动器128的特征,例如名称、类型,或驱动器大小。在这些实施例的又一个中,第二客户机代理202发送该指示到操作系统以进行处理。在这些实施例的又一个中,操作系统生成用于从远程计算装置106检索所请求的数据的命令(例如查询驱动器128的驱动器大小)。在这些实施例的又一个中,第二客户机代理202拦截所生成的命令并且确定对该命令的响应应该包括标识由客户计算装置102提供的驱动器128b的特征的数据。
响应于所拦截的请求,第二客户机代理202指示在由远程计算装置提供的驱动器的列举中显示所接收的由客户计算装置102提供的数据,而不必映射该驱动器(306)。在一个实施例中,第二客户机代理202作出显示所接收的数据而不必映射所识别的驱动器128b的决定。在又一个实施例中,第二客户机代理202将至少一个注册表条目(例如,壳链接)与所接收的数据相关联,所述注册表条目被存储在专用于与客户计算装置102的会话的操作系统环境中。在又一个实施例中,所关联的注册表条目表示驱动器128b。在又一个实施例中,远程计算装置106上的壳(例如,WINDOWS Explorer)充当缺省壳,并且代表用户读取这些链接并且将它们呈现在用户接口单元中,该用户接口单元列举对客户计算装置102的用户可用的驱动器128a、b。
在一个实施例中,客户计算装置102的用户通过使用指示装置(例如鼠标)将光标移至在远程生成的桌面环境的本地显示中显示的并且表示驱动器128的图标上,来生成对标识驱动器128的盘大小的数据的请求;第一客户机代理204拦截所生成的请求并且将所拦截的请求发送到第二客户机代理202,该第二客户机代理202将该拦截的请求转发到在远程计算装置106上执行的操作系统进行处理;作为处理该拦截的请求的一部分,第二客户机代理202可以与该操作系统通信以便指示显示标识由客户计算装置102提供的驱动器128b的特征的数据。在又一个实施例中,第二客户机代理202指示显示标识由驱动器128b提供的空间的总量的数据。在又一个实施例中,第二客户机代理202指示显示标识驱动器128b上可用空间量的数据。
在一个实施例中,第二客户机代理202指示显示标识构成驱动器128b的卷名的用户指定的字母数字串的数据。在又一个实施例中,举例来说,客户计算装置102的终端用户已经指定卷名-而不是驱动器号-并且使用所指定的卷名将驱动器128b与其他驱动器(例如由远程计算装置102提供的驱动器128a或其他驱动器128)相区别;接着,第二客户机代理202指示在由远程计算装置106和客户计算装置102提供的驱动器128的列举中以诸如“[客户计算装置上的驱动器号]:on[客户计算装置的名称]”(例如,“C onMachineName”)的格式显示卷名。
在一些实施例中,第二客户机代理202从第一客户机代理204接收由机器102提供的驱动器128b的驱动器号和机器102的机器名称。在这些实施例的一个中,第二客户机代理202生成以\\机器名称\驱动器号为格式的符号链接,例如UNC链接。在这些实施例的又一个中,第二客户机代理202生成以\\客户机\驱动器号为格式的符号链接,例如UNC链接。在这些实施例的又一个中,第二客户机代理202指示在远程生成的桌面环境中显示该UNC链接,而不是指示操作系统挂载由客户计算装置102提供的驱动器128b。在这些实施例的又一个中,第二客户机代理202除了指示操作系统挂载由客户计算装置102提供的驱动器128b之外,还指示在远程生成的桌面环境中显示UNC链接。
在一个实施例中,第二客户机代理202在接收标识驱动器128b的特征的数据的同时还接收驱动器128b的图形数据表示;例如,第二客户机代理202可接收表示驱动器128b的图标。在又一个实施例中,第二客户机代理202指示在由远程计算装置106和客户计算装置102共同提供的驱动器128的列举中显示所收到的图标。在又一个实施例中,第二客户机代理202指示为不同类型的驱动器128显示不同的图标。例如,第二客户机代理202可能接收代表由客户计算装置102提供的驱动器128b的第一图标和代表由客户计算装置102提供的第二驱动器128b的第二图标;用户可采用对于不同驱动器显示不同图标以确定驱动器的类型(例如,USB、CD-ROM、硬盘驱动器等)。在其他实施例中,第二客户机代理202从第一客户机代理204接收驱动器128b的驱动器类型的标识,并且识别由远程计算装置106存储的图形数据,以用于生成驱动器128b的表示。
在一些实施例中,第二客户机代理202拦截在远程计算装置106上执行的操作系统对由远程计算装置106提供的驱动器列举的请求,并且确定阻止由远程计算装置106提供的至少一个驱动器的显示。在这些实施例的一个中,举例来说,远程计算装置106正在将来自客户计算装置102的数据转发到第三机器106b;在这样的实施例中,可能是出于安全或其他策略理由,不显示机器106的驱动器,该机器106是生成远程桌面环境的机器和终端用户从其访问该远程桌面环境的机器之间的中间设备。
在其他实施例中,第二客户机代理202拦截在远程计算装置106上执行的操作系统对由远程计算装置106提供的驱动器的列举的请求,并且确定不显示标识由客户计算装置102提供的驱动器128b的特征的数据。在这些实施例的一个中,举例来说,由于安全或其他策略理由,阻止客户计算装置102的用户访问客户计算装置102的任何硬件或软件资源,并且仅允许其访问由远程计算装置106提供的资源。
现参考图3B,所示流程图描述用于在网络计算环境中的远程计算装置106上执行的虚拟桌面中显示与客户计算装置102的驱动器128b相关联的数据而不必明确地映射驱动器128b的方法的又一个实施例。总的来说,该方法310包括在客户计算装置102上执行的客户机代理204建立与远程计算装置106的用户会话(步骤312)。在步骤314,客户机代理204将标识客户计算装置102的客户机驱动器128b的数据发送到在远程计算装置106上执行的客户机代理202。在步骤316,在远程计算装置106上执行的客户机代理202接收与客户计算装置102的客户机驱动器128b关联的数据。在步骤318,在远程计算装置106上执行的客户机代理202使用所接收的与客户机驱动器128b关联的数据在用户会话的上下文中建立壳链接。在步骤320,在远程计算装置106上执行的客户机代理202在远程计算装置106上执行的虚拟桌面中显示与客户计算装置102的客户机驱动器128b关联的数据。
仍参考图3B,更具体地,在步骤312,在客户计算装置102上执行的客户机代理204建立与远程计算装置106的用户会话。客户机代理204可以使用本领域任何公知的方法或如此处描述的连接和通信方法来与远程计算装置106建立用户会话。用户能访问在远程计算装置106上执行的虚拟桌面。由远程计算装置106提供的不同环境提供不同的终端用户体验和安全需求,影响本地桌面环境驱动器和远程客户机驱动器的可用性和可视性。例如,在一个环境中,客户计算装置102根本不显示本地客户机桌面并且直接连接到虚拟桌面架构(VDI)上的全屏远程桌面。在一些实施例中,可能需要访问本地存储的数据,并且可以通过本公开的特征在远程计算装置106上的虚拟桌面环境中很容易地完成。
在步骤314,客户机代理204将标识客户计算装置128b的客户机驱动器128b的数据发送到在远程计算装置106上执行的客户机代理202。在一些实施例中,第一客户机代理204一旦建立与远程计算装置106的连接就发送标识客户机驱动器128b的数据。在一些实施例中,第一客户机代理204发送标识所有客户机驱动器128的数据。在其他实施例中,第一客户机代理204发送仅标识客户计算装置102的预先确定的客户机驱动器128的数据。在一些实施例中,客户机驱动器128是在用户连接时被预先确定的。在其他实施例中,客户机驱动器是由管理员预先确定的。在一些实施例中,第一客户机代理204在接收来自远程计算装置106的请求后发送标识一个或多个客户机驱动器128的数据到远程计算装置106。在一些实施例中,客户机代理响应于策略来忽略、禁止或以其他方式省略传输与客户机驱动器128b关联的数据。在一些实施例中,该省略是出于安全的目的,确保在所识别的客户机驱动器128b中存储的敏感信息对远程计算装置106不可见。这在多个用户能访问远程计算装置106或以其他方式共享由远程计算装置106利用的资源的情况下是尤其重要的。
在一些实施例中,第一代理204在通过诸如即插即用的装置检测机制识别客户机驱动器128时发送标识客户机驱动器128b的数据。在一些实施例中,该装置检测机制可以通过在2004年9月29日提交的、标题为“System andMethod for Event Detection and Re-Direction Over a Network Using aPresentation Level Protocol”、序号为10/711647的美国专利申请中描述的方式来实现,出于任何和所有目的,该美国专利申请的全部公开内容通过应用被全部包含于此。在一些实施例中,客户机驱动器128b是可移动驱动器,例如通用串行总线(USB)闪存驱动器,第一客户机代理204与客户计算装置102上的操作系统和注册表通信以便接收装置通知(例如装置到达客户计算装置102或从客户计算装置102移除)和接收可能包含关于该USB装置的信息的装置变化通知。在一些实施例中,第一客户机代理204将装置通知发送到第二客户机代理202,第二客户机代理202响应于接收来自装置检测机制的消息,在虚拟桌面中为该可移动的客户机驱动器128b生成新的壳链接或删除已有的壳链接。在其他实施例中,第二客户机代理202仅在接收来自用户的明确指令之后,为该可移动的客户机驱动器128b生成新的壳链接或删除已有的壳链接。
在步骤316,在远程计算装置106上执行的客户机代理接收与客户计算装置102的客户机驱动器128b关联的数据。在一些实施例中,第一客户机代理204将与客户机装置102关联的所有数据发送到第二客户机代理202。在一些实施例中,第一客户机代理204发送与客户机装置102关联的最少数据并且第二客户机代理使用所接收的数据来计算与客户机驱动器128b相关的统计数据或其他信息。在一些实施例中,第一客户机代理204发送客户机驱动器128b的图形数据表示。这样的图形数据可包括标识或表示客户机驱动器类型(例如,可移动盘、CD-ROM和硬盘)的图标。在一些实施例中,与客户机驱动器关联的数据可包括构成该客户机驱动器的卷名的用户指定的字母数字串。
在步骤318,在远程计算装置上执行的客户机代理使用所接收的与客户机驱动器关联的数据在用户会话的上下文中生成壳链接。在一些实施例中,壳链接包括包含用于访问客户计算装置的客户机驱动器的信息的数据对象。在其他实施例中,壳链接是包含用于访问该壳的命名空间中的另一个对象的信息的数据对象。在一些实施例中,第二客户机代理生成所述壳连接的标识符并且将该标识符加入到虚拟桌面的操作系统的注册表。在一些实施例中,标识符被称为全局唯一标识符,或GUID。使用GUID确保任何壳链接都是被唯一地标识的而不管在该系统中所涉及或包含的客户机或远程计算装置的数量。在一些实施例中,由在远程计算装置上执行的虚拟桌面的操作系统来处理壳链接。在远程计算装置上的虚拟桌面的上下文中执行的Window壳(即Explorer)将客户计算装置的客户机驱动器128b和与虚拟桌面关联的任何本地或网络驱动器一起显示。当用户选择所显示的壳链接时,Windows壳处理到相应的客户机目标驱动器的重定向,因为在虚拟桌面环境中没有明确地映射该驱动器。当用户将光标移至所显示的壳链接上时,Windows壳显示与客户计算装置上相应的客户机驱动器关联的数据。可以由用户确定当光标移至所显示的壳链接上时显示的信息。在一些实施例中,所显示的信息是在制造时或由系统管理员预先确定的。在一些实施例中,响应于壳链接的右击或时间阈值设置,可以显示不同类型的信息。
在步骤320,在远程计算装置上执行的客户机代理在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据。在一些实施例中,远程计算装置只显示与客户机驱动器关联的数据。在其他实施例中,远程计算装置可以显示与客户机驱动器关联的数据以及其是对用户可访问的所列举的或未被映射的驱动器的指示。
现参考图4,所示屏幕截图描述其中第二客户机代理202指示显示标识由机器102提供的驱动器128b的特征的数据的系统的示例。如图4所示,将卷名(D:on GEORGY-DEV1)与表示驱动器128b的图标显示在一起。图4也描述了其中将驱动器的类型(CD/DVD驱动器)和驱动器128b的图形表示列在一起的实施例。
现参考图5,所示屏幕截图描述其中第二客户机代理202指示显示标识由机器102提供的驱动器128b的特征的数据的系统的又一个示例。在一些实施例中,如图5所示,当客户计算装置102的终端用户使用指示装置(例如鼠标)将光标移至驱动器128b的表示上时,可以显示附加数据,例如驱动器128b上的可用空间量或者驱动器128b的总的盘大小。
现参考图6,所示屏幕截图描述了其中将标识网络计算环境中的客户计算装置的驱动器的特征的数据描绘在远程计算装置的驱动器列举中,而不必在该远程计算装置上映射该驱动器的系统的实施例。如图6所示,该系统没有将驱动器128b作为本地驱动器映射到远程计算装置106;通过将驱动器128b指定为远程驱动器而不是相应的本地驱动器就证明了这一点。
在一些实施例中,此处所述的方法和系统的实现给由多个联网机器提供的硬件和软件的用户提供了无缝的体验。例如,此处所述的方法和系统提供在远程生成的桌面中显示标识驱动器128b的特征的数据的功能,而不是将驱动器128b映射到远程计算装置106并由远程计算装置106根据对该远程装置106可用的符号来给所映射的驱动器分配驱动器号,从而改善了终端用户体验。
应该理解,上文描述的系统可提供这些组件的任意多个或每一个并且这些组件可以在独立机器上提供,或者在一些实施例中,可在分布式系统的多个机器上提供。可以使用编程和/或工程技术将上文所描述的系统和方法实现为方法、装置或产品以提供软件、固件、硬件或上述的任何组合。此外,上述系统和方法可作为在一件或多件产品上实现或在其中实现的一个或多个计算机可读程序而被提供。此处使用的术语“产品”旨在包括从一个或多个计算机可读的装置、固件、可编程逻辑、存储器装置(例如,EEPROM、ROM、PROM、RAM、SRAM等)、硬件(例如,集成电路芯片、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)、电子装置、计算机可读的非易失存储单元(例如,CD-ROM、软盘、硬盘等)可访问的或嵌入其中的代码或逻辑。所述产品可以是从经由网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外信号等提供对计算机可读程序的访问的文件服务器可访问的。所述产品可以是闪存卡或磁带。所述产品包括硬件逻辑以及嵌入在计算机可读介质中由处理器执行的软件或可编程代码。通常,计算机可读程序可以任何编程语言来实现,如LISP、PERL、C、C++、C#、PROLOG,或者诸如JAVA的任何字节码语言。软件程序可以作为目标代码被存储在一件或多件产品上或其中。
已经描述了用于在网络计算环境中的远程计算装置上显示与网络计算环境中的客户计算装置的驱动器关联的数据而不必在远程计算装置上映射该驱动器的方法和系统的某些实施例,对本领域技术人员而言,显而易见可以使用包含本发明的概念的其他实施例。

Claims (20)

1.一种用于在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据,而不必明确地将该客户机驱动器映射到远程计算装置上的方法,所述方法包括:
(a)由在客户计算装置上执行的第一客户机代理建立与远程计算装置的用户会话;
(b)由在客户计算装置上执行的第一客户机代理发送标识客户计算装置的客户机驱动器的数据到在远程计算装置上执行的第二客户机代理;
(c)由第二客户机代理接收与客户计算装置的客户机驱动器关联的数据;
(d)由第二客户机代理在所述用户会话的上下文中使用所接收的与客户计算装置的客户机驱动器关联的数据生成壳链接,其中,所述壳链接包括数据对象,所述数据对象包含用于访问客户计算装置的客户机驱动器的信息;以及
(e)由第二客户机代理在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据。
2.根据权利要求1所述的方法,其中,所述客户机驱动器还包括通用串行总线(USB)闪存驱动器。
3.根据权利要求2所述的方法,其中步骤(a)还包括由在客户计算机器上执行的第一客户机代理拦截由客户计算装置生成的对于USB闪存驱动器的装置通知,将该装置通知发送到在远程计算装置上执行的第二客户机代理,以及由第二客户机代理响应于所拦截的装置通知来修改所述USB闪存驱动器壳链接。
4.根据权利要求1所述的方法,其中与客户计算装置的客户机驱动器关联的数据还包括客户机驱动器的盘空间数据。
5.根据权利要求1所述的方法,其中与客户计算装置的客户机驱动器关联的数据还包括客户机驱动器的图形数据表示。
6.根据权利要求1所述的方法,其中与客户计算装置的客户机驱动器关联的数据还包括构成客户机驱动器的卷名的用户指定的字母数字串。
7.根据权利要求1所述的方法,还包括由第二客户机代理生成壳链接的标识符。
8.根据权利要求6所述的方法,还包括由第二客户机代理将所述壳链接的标识符注册在由远程计算装置上执行的操作系统提供的注册表中。
9.根据权利要求1所述的方法,还包括由第二客户机代理响应于安全策略禁止显示客户机驱动器。
10.根据权利要求1所述的方法,还包括由远程计算装置在当光标移至远程计算装置上所显示的客户机驱动器上时,显示与客户计算装置的客户机驱动器关联的数据。
11.一种用于在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据,而不必明确地将该客户机驱动器映射到所述远程计算装置上的系统,所述系统包括:
客户计算装置,其包括:
在客户计算装置上执行的第一客户机代理,
所述第一客户机代理建立与远程计算装置的用户会话;并且
将标识客户计算装置的客户机驱动器的数据发送到在远程计算装置上执行的第二客户机代理;
远程计算装置,其包括:
在远程计算装置上执行的第二客户机代理,
所述第二客户机代理接收与客户计算装置的客户机驱动器关联的数据;
在所述用户会话的上下文中使用所接收的与客户计算装置的客户机驱动器关联的数据生成壳链接,
其中,所述壳链接包括数据对象,所述数据对象包含用于访问客户计算装置的客户机驱动器的信息;以及
在远程计算装置上执行的虚拟桌面中显示与客户计算装置的客户机驱动器关联的数据。
12.根据权利要求11所述的系统,其中,所述客户机驱动器还包括通用串行总线(USB)闪存驱动器。
13.根据权利要求12所述的系统,其中第一客户机代理拦截由客户计算装置生成的对于USB闪存驱动器的装置通知,将该装置通知发送到在远程计算装置上执行的第二客户机代理,并且第二客户机代理响应于所拦截的装置通知来修改USB闪存驱动器壳链接。
14.根据权利要求11所述的系统,其中与客户计算装置的客户机驱动器关联的数据还包括客户机驱动器的盘空间数据。
15.根据权利要求11所述的系统,其中与客户计算装置的客户机驱动器关联的数据还包括客户机驱动器的图形数据表示。
16.根据权利要求11所述的系统,其中与客户计算装置的客户机驱动器关联的数据还包括构成客户机驱动器的卷名的用户指定的字母数字串。
17.根据权利要求11所述的系统,其中,第二客户机代理生成壳链接的标识符。
18.根据权利要求16所述的系统,其中,第二客户机代理将所述壳链接的标识符注册在由远程计算装置上执行的操作系统提供的注册表中。
19.根据权利要求11所述的系统,其中,第二客户机代理响应于安全策略禁止显示客户机驱动器。
20.根据权利要求11所述的系统,其中,远程计算装置在当光标移至远程计算装置上所显示的客户机驱动器上时,显示与客户计算装置的客户机驱动器关联的数据。
CN2010800551822A 2009-12-09 2010-12-09 用于在第一机器上显示与第二机器的驱动器关联的数据而不必映射该驱动器的方法和系统 Active CN102656578B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US28501609P 2009-12-09 2009-12-09
US61/285016 2009-12-09
PCT/US2010/059720 WO2011072142A2 (en) 2009-12-09 2010-12-09 Methods and systems for displaying, on a first machine, data associated with a drive of a second machine, without mapping the drive

Publications (2)

Publication Number Publication Date
CN102656578A true CN102656578A (zh) 2012-09-05
CN102656578B CN102656578B (zh) 2013-11-20

Family

ID=44083066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800551822A Active CN102656578B (zh) 2009-12-09 2010-12-09 用于在第一机器上显示与第二机器的驱动器关联的数据而不必映射该驱动器的方法和系统

Country Status (4)

Country Link
US (2) US8667050B2 (zh)
EP (1) EP2510456B1 (zh)
CN (1) CN102656578B (zh)
WO (1) WO2011072142A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014101870A1 (en) * 2012-12-29 2014-07-03 Huawei Technologies Co., Ltd. Virtual Desktop Infrastructure (VDI) Login Acceleration
WO2014180234A1 (zh) * 2013-10-21 2014-11-13 中兴通讯股份有限公司 虚拟桌面重现、推送的方法、装置及虚拟桌面系统
CN106295341A (zh) * 2016-08-11 2017-01-04 浪潮电子信息产业股份有限公司 基于虚拟化的企业数据中心安全解决方法
CN111600810A (zh) * 2020-04-01 2020-08-28 西南电子技术研究所(中国电子科技集团公司第十研究所) 航电系统虚通道链路实时创建方法
CN113419799A (zh) * 2013-04-09 2021-09-21 思杰系统有限公司 使用云同步数据提供本机桌面

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918490B (zh) * 2010-04-01 2014-07-23 思杰系统有限公司 与在平板计算装置的虚拟桌面内显示的远程应用交互
US8438220B2 (en) * 2010-06-30 2013-05-07 International Business Machines Corporation Method for optimizing remote object implementations
WO2012094330A1 (en) 2011-01-03 2012-07-12 Planetary Data LLC Community internet drive
US8688734B1 (en) 2011-02-04 2014-04-01 hopTo Inc. System for and methods of controlling user access and/or visibility to directories and files of a computer
US9201709B2 (en) * 2011-05-20 2015-12-01 Citrix Systems, Inc. Shell integration for an application executing remotely on a server
CN102255902A (zh) * 2011-07-06 2011-11-23 中兴通讯股份有限公司 一种网络设备功能共享的方法及装置
US9916184B2 (en) 2011-12-02 2018-03-13 International Business Machines Corporation Data relocation in global storage cloud environments
US8713658B1 (en) 2012-05-25 2014-04-29 Graphon Corporation System for and method of providing single sign-on (SSO) capability in an application publishing environment
US9419848B1 (en) 2012-05-25 2016-08-16 hopTo Inc. System for and method of providing a document sharing service in combination with remote access to document applications
US8856907B1 (en) 2012-05-25 2014-10-07 hopTo Inc. System for and methods of providing single sign-on (SSO) capability in an application publishing and/or document sharing environment
US9239812B1 (en) 2012-08-08 2016-01-19 hopTo Inc. System for and method of providing a universal I/O command translation framework in an application publishing environment
CN103873924B (zh) * 2012-12-12 2017-09-05 华为技术有限公司 一种视频重定向的方法、装置、系统
US9628329B2 (en) * 2014-03-21 2017-04-18 Citrix Systems, Inc. Ubiquitous collaboration in managed applications
US10289346B2 (en) * 2014-09-19 2019-05-14 Saul B. Troen Apparatus providing wireless access to storage devices
USD762727S1 (en) * 2014-12-30 2016-08-02 Microsoft Corporation Display screen with icon
US10791103B2 (en) * 2016-10-28 2020-09-29 Vmware, Inc. Adapting remote display protocols to remote applications
US10817472B2 (en) * 2017-10-23 2020-10-27 Dropbox, Inc. Storage organization system with associated storage utilization values
US10904325B2 (en) * 2018-05-04 2021-01-26 Citrix Systems, Inc. WebRTC API redirection with screen sharing
US11201947B2 (en) * 2020-04-21 2021-12-14 Citrix Systems, Inc. Low latency access to application resources across geographical locations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101040249A (zh) * 2003-06-27 2007-09-19 索夫特斯扣普有限公司 虚拟桌面—元-组织和控制系统
WO2009108579A2 (en) * 2008-02-26 2009-09-03 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
CN101582926A (zh) * 2009-06-15 2009-11-18 中国电信股份有限公司 实现远程媒体播放重定向的方法和系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812129A (en) * 1994-01-03 1998-09-22 International Business Machines Corp. Method and system for accessing functions of a user interface environment from processes running outside of the user interface environment
US6094684A (en) * 1997-04-02 2000-07-25 Alpha Microsystems, Inc. Method and apparatus for data communication
US6621505B1 (en) * 1997-09-30 2003-09-16 Journee Software Corp. Dynamic process-based enterprise computing system and method
US7107534B1 (en) * 1998-03-24 2006-09-12 Adaptec, Inc. Storage area network administration
US7401068B2 (en) * 2003-09-30 2008-07-15 International Business Machines Corporation Method, system, and storage medium for providing web-based electronic research and presentation functions via a document creation application
TWI264658B (en) * 2004-11-04 2006-10-21 Universal Scient Ind Co Ltd Method for universal storage
US7653781B2 (en) * 2006-02-10 2010-01-26 Dell Products L.P. Automatic RAID disk performance profiling for creating optimal RAID sets
US8478860B2 (en) * 2006-03-14 2013-07-02 Strong Bear L.L.C. Device detection system for monitoring use of removable media in networked computers
US20070260702A1 (en) * 2006-05-03 2007-11-08 University Of Washington Web browser architecture for virtual machine access
US8099520B2 (en) * 2006-06-23 2012-01-17 Pro Softnet Corporation System and method for storing and accessing data
FR2911744B1 (fr) * 2007-01-19 2009-04-03 Canon Kk Procede de gestion de l'acces a au moins un contenu et/ou au moins un service, produit programme d'ordinateur, moyen de stockage et dispositif d'acces correspondants
US8612972B2 (en) * 2007-06-27 2013-12-17 Microsoft Corporation Running add-on components in virtual environments
EP2224339A3 (en) * 2007-09-12 2011-03-16 Citrix Systems, Inc. Methods and systems for generating desktop environments providing integrated access to remote and local resources
US8515946B2 (en) * 2008-02-28 2013-08-20 Microsoft Corporation Location description for federation and discoverability
CN102084354A (zh) * 2008-04-05 2011-06-01 社会传播公司 基于共享虚拟区域通信环境的装置和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101040249A (zh) * 2003-06-27 2007-09-19 索夫特斯扣普有限公司 虚拟桌面—元-组织和控制系统
WO2009108579A2 (en) * 2008-02-26 2009-09-03 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
CN101582926A (zh) * 2009-06-15 2009-11-18 中国电信股份有限公司 实现远程媒体播放重定向的方法和系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014101870A1 (en) * 2012-12-29 2014-07-03 Huawei Technologies Co., Ltd. Virtual Desktop Infrastructure (VDI) Login Acceleration
US8819139B2 (en) 2012-12-29 2014-08-26 Futurewei Technologies, Inc. Virtual desktop infrastructure (VDI) login acceleration
US8924478B2 (en) 2012-12-29 2014-12-30 Futurewei Technologies, Inc. Virtual desktop infrastructure (VDI) login acceleration
CN113419799A (zh) * 2013-04-09 2021-09-21 思杰系统有限公司 使用云同步数据提供本机桌面
WO2014180234A1 (zh) * 2013-10-21 2014-11-13 中兴通讯股份有限公司 虚拟桌面重现、推送的方法、装置及虚拟桌面系统
CN106295341A (zh) * 2016-08-11 2017-01-04 浪潮电子信息产业股份有限公司 基于虚拟化的企业数据中心安全解决方法
CN111600810A (zh) * 2020-04-01 2020-08-28 西南电子技术研究所(中国电子科技集团公司第十研究所) 航电系统虚通道链路实时创建方法
CN111600810B (zh) * 2020-04-01 2021-11-19 西南电子技术研究所(中国电子科技集团公司第十研究所) 航电系统虚通道链路实时创建方法

Also Published As

Publication number Publication date
EP2510456A2 (en) 2012-10-17
US20110137974A1 (en) 2011-06-09
EP2510456A4 (en) 2013-12-18
US9929893B2 (en) 2018-03-27
US8667050B2 (en) 2014-03-04
WO2011072142A3 (en) 2011-09-22
US20140040755A1 (en) 2014-02-06
CN102656578B (zh) 2013-11-20
EP2510456B1 (en) 2017-10-18
WO2011072142A2 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
CN102656578B (zh) 用于在第一机器上显示与第二机器的驱动器关联的数据而不必映射该驱动器的方法和系统
CN105159521B (zh) 用表示远程应用的用户界面元素更新停靠栏的方法和系统
CN104303151B (zh) 用于在服务器上远程执行的应用的壳集成
CN102804140B (zh) 用于将设备驱动程序导入到客户计算环境中的方法和系统
CN103649936B (zh) 在移动设备上针对在服务器上远程执行的应用的外壳集成
CN102202049B (zh) 用于多虚拟机设备的网络策略实现
EP2368182B1 (en) Systems and methods for facilitating migration of virtual machines among a plurality of physical machines
EP2394212B1 (en) Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
EP3005084B1 (en) Driver installation for targeted and not-connected devices
CN102272726A (zh) 便于异构处理器池虚拟化的系统和方法
CN103168325A (zh) 用于本地用户体验的显示管理
CN102971706A (zh) 将信息从安全虚拟机重定向到不安全虚拟机
EP2997463B1 (en) Extraction of operating system-specific characteristics via a communication interface
CN104115471A (zh) 托管的服务中的客户端带宽模拟
CN104487932B (zh) 用于远程应用和桌面的语音识别支持
US11625289B2 (en) Systems and methods for filesystem-based computer application communication
Thiyagarajan et al. The framework of Internet of Things services
KR20210119174A (ko) 전자 장치 및 이의 제어 방법
CN102754092A (zh) 用于优化对虚拟盘映像的至少一个块进行归档的过程的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant