CN103595790B - 设备远程访问的方法、瘦客户端和虚拟机 - Google Patents

设备远程访问的方法、瘦客户端和虚拟机 Download PDF

Info

Publication number
CN103595790B
CN103595790B CN201310567832.7A CN201310567832A CN103595790B CN 103595790 B CN103595790 B CN 103595790B CN 201310567832 A CN201310567832 A CN 201310567832A CN 103595790 B CN103595790 B CN 103595790B
Authority
CN
China
Prior art keywords
bus
remote
driver
remote access
pdd
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.)
Active
Application number
CN201310567832.7A
Other languages
English (en)
Other versions
CN103595790A (zh
Inventor
陈震
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310567832.7A priority Critical patent/CN103595790B/zh
Publication of CN103595790A publication Critical patent/CN103595790A/zh
Priority to EP14861685.7A priority patent/EP3029912B1/en
Priority to PCT/CN2014/083153 priority patent/WO2015070640A1/zh
Priority to US15/056,400 priority patent/US10042664B2/en
Application granted granted Critical
Publication of CN103595790B publication Critical patent/CN103595790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

本发明公开了一种设备远程访问的方法、瘦客户端和虚拟机。所述方法包括:瘦客户TC端的总线过滤驱动器接收虚拟机VM端对TC端的物理设备的远程访问请求;总线过滤驱动器将远程访问请求转换为物理设备驱动器能够读取的远程操作指令;总线过滤驱动器向物理设备驱动器发送远程操作指令,远程操作指令用于指示物理设备驱动器驱动物理设备执行读写操作并返回携带有读写操作的执行结果的远程响应数据。本发明的设备远程访问的方法、瘦客户端和虚拟机,能够实现VM端对TC端的物理设备的远程访问,并且由于未修改设备驱动程序,因此TC端能够继续正常访问该物理设备。

Description

设备远程访问的方法、瘦客户端和虚拟机
技术领域
本发明涉及通信技术领域,尤其涉及一种设备远程访问的方法、瘦客户端和虚拟机。
背景技术
在桌面云***的应用场景下,用户可以在远端数据中心的虚拟机(VirtualMachine,VM端),通过网络,实现对本地瘦客户端(Thin Client,TC)所连接的物理设备的远程访问,例如TC端通过通用串行总线(Universal SerialBus,USB)接口连接的智能卡等物理设备。
通常,VM端可以通过重定向技术,实现上述远程访问。也就是将TC端的物理设备驱动器中设备驱动程序修改为重定向驱动程序,使该重定向驱动程序能够读取携带有VM端请求访问TC端的物理设备的远程操作指令,从而使VM端能够实现对该物理设备的远程访问。
但是,由于修改后的重定向驱动程序无法读取TC端的操作指令,因此TC端无法继续正常访问该物理设备。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,如何在不修改TC端的设备驱动程序的情况下,实现VM端对TC端的物理设备的远程访问。
解决方案
为了解决上述问题,在第一方面,本发明提供了一种设备远程访问的方法,用于桌面云***,包括:TC端的总线过滤驱动器接收VM端对所述TC端的物理设备的远程访问请求;所述总线过滤驱动器将所述远程访问请求转换为所述物理设备驱动器能够读取的远程操作指令;所述总线过滤驱动器向所述物理设备驱动器发送所述远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作并返回携带有所述读写操作的执行结果的远程响应数据。
结合第一方面,在第一种可能的实现方式中,在所述总线过滤驱动器向所述物理设备驱动器发送所述远程操作指令之后,还包括:所述总线过滤驱动器接收所述物理设备经由所述物理设备驱动器返回的所述远程响应数据;所述总线过滤驱动器向所述VM端发送所述远程响应数据。
结合第一方面或其上述可能的实现方式,在第二种可能的实现方式中,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述总线过滤驱动器为通用串行总线过滤驱动器,所述远程访问请求为远程通用串行总线请求消息,所述远程操作指令和本地操作指令为本地通用串行总线请求消息,所述远程响应数据和本地响应数据为本地通用串行总线应答消息。
为了解决上述问题,在第二方面,本发明提供了一种设备远程访问的方法,用于桌面云***,包括:VM端的虚拟总线驱动器接收所述VM端的应用程序对所述VM端的虚拟设备驱动器的虚拟操作指令;所述虚拟总线驱动器将所述虚拟操作指令转换为所述TC端的总线过滤驱动器能够读取的远程访问请求;所述虚拟总线驱动器向所述TC端发送所述远程访问请求,所述远程访问请求用于指示所述总线过滤驱动器将所述远程访问请求转换为所述TC端的物理设备驱动器能够读取的远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
结合第二方面,在第一种可能的实现方式中,在所述虚拟总线驱动器向所述TC端发送所述远程访问请求之后,包括:所述虚拟总线驱动器接收所述TC端发送的远程响应数据;所述虚拟总线驱动器经由所述虚拟设备驱动器向所述应用程序发送所述远程响应数据。
结合第二方面或其上述可能的实现方式,在第二种可能的实现方式中,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述虚拟总线驱动器为虚拟通用串行总线驱动器,所述远程访问请求为远程通用串行总线请求消息,所述虚拟操作指令为本地通用串行总线请求消息,所述远程响应数据为本地通用串行总线应答消息。
为了解决上述问题,在第三方面,本发明提供了一种TC端,包括总线过滤驱动器和物理设备驱动器,所述总线过滤驱动器用于,接收VM端对所述TC端的物理设备的远程访问请求;将所述远程访问请求转换为所述物理设备驱动器能够读取的远程操作指令;向所述物理设备驱动器发送所述远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
结合第三方面,在第一种可能的实现方式中,所述物理设备驱动器还用于,接收所述物理设备的所述远程响应数据并转发给所述总线过滤驱动器;所述总线过滤驱动器还用于,接收所述物理设备驱动器的所述远程响应数据并转发给所述VM端。
结合第三方面或其上述可能的实现方式,在第二种可能的实现方式中,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述总线过滤驱动器为通用串行总线过滤驱动器,所述远程访问请求为远程通用串行总线请求消息,所述远程操作指令和本地操作指令为本地通用串行总线请求消息,所述远程响应数据本地响应数据为本地通用串行总线应答消息。
为了解决上述问题,在第四方面,本发明提供了一种VM端,包括虚拟总线驱动器和虚拟设备驱动器,所述虚拟总线驱动器用于,接收所述VM端的应用程序对所述VM端的虚拟设备驱动器的虚拟操作指令;将所述虚拟操作指令转换为所述TC端的总线过滤驱动器能够读取的远程访问请求;向所述TC端发送所述远程访问请求,所述远程访问请求用于指示所述总线过滤驱动器将所述远程访问请求转换为所述TC端的物理设备驱动器能够读取的远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
结合第四方面或其上述可能的实现方式,在第二种可能的实现方式中,所述虚拟总线驱动器还用于,接收所述VM端的所述远程响应数据并转发给所述虚拟设备驱动器;所述虚拟设备驱动器还用于,接收所述虚拟总线驱动器的所述远程响应数据并转发给所述应用程序。
结合第四方面或其上述可能的实现方式,在第三种可能的实现方式中,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
结合第四方面的第三种可能的实现方式,在第四种可能的实现方式中,所述虚拟总线驱动器为虚拟通用串行总线驱动器,所述远程访问请求为远程通用串行总线请求消息,所述虚拟操作指令为本地通用串行总线请求消息,所述远程响应数据为本地通用串行总线应答消息。
有益效果
通过TC端的总线过滤驱动器接收VM端对TC端的物理设备的远程访问请求,并将其转换为TC端的物理设备驱动器能够读取的操作指令,根据本发明实施例的设备远程访问的方法、瘦客户端和虚拟机,能够实现VM端对TC端的物理设备的远程访问,并且由于未修改设备驱动程序,因此TC端能够继续正常访问该物理设备。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出根据本发明实施例1的设备远程访问的方法的流程图;
图2示出根据本发明实施例2的设备远程访问的方法的流程图;
图3示出根据本发明实施例3的设备远程访问的方法的流程图;
图4示出根据本发明实施例4的设备远程访问的方法的流程图;
图5示出根据本发明实施例5的TC端的框图;
图6示出根据本发明实施例6的TC端的框图;
图7示出根据本发明实施例7的VM端的框图;
图8示出根据本发明实施例8的VM端的框图;
图9示出根据本发明实施例9的TC端的框图;
图10示出根据本发明实施例10的VM端的框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
图1示出根据本发明一实施例的设备远程访问的方法的流程图。如图1所示,该设备远程访问的方法主要包括:
步骤S110、TC端的总线过滤驱动器接收VM端对所述TC端的物理设备的远程访问请求。
具体地,在桌面云的应用场景下,本地TC端和远程VM端通过网络连接。TC端连接有一个或多个物理设备。TC端设置有总线过滤驱动器。若VM端的应用程序要访问TC端所连接的物理设备,则TC端可以从VM端接收对TC端的物理设备的远程访问请求。其中,远程访问请求携带有VM端的应用程序请求访问TC端的物理设备的信息。其中,物理设备可以通过各种总线接口,例如USB接口,连接到TC端。根据物理设备的类型,可以相应地设置总线过滤驱动器的类型。例如:若智能卡通过USB接口连接到TC端,则总线过滤驱动器为USB总线过滤驱动器。物理设备可以为智能卡或其他设备。
此外,远程访问请求还可以携带有物理设备的标识信息,TC端可以根据该标识信息,确定VM端所要访问的具体物理设备;和/或可以携带有VM端的标识信息,TC端可以根据该标识信息,确定该远程访问请求来自具体哪个VM端和/或VM端的具体哪个应用程序。
步骤S120、所述总线过滤驱动器将所述远程访问请求转换为所述物理设备驱动器能够读取的远程操作指令。
具体地,TC端的总线过滤驱动器首先判断所接收到的指令是否为VM端的远程访问请求。总线过滤驱动器仅处理所接收到的VM端的远程访问请求,而对其他指令不进行处理。若是,则总线过滤驱动器根据该远程访问请求,生成对TC端对应的物理设备驱动器的远程操作指令,也就是将该远程访问请求转换为TC端对应的物理设备驱动器能读取的远程操作指令。
步骤S130、所述总线过滤驱动器向所述物理设备驱动器发送所述远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作并返回携带有所述读写操作的执行结果的远程响应数据。
举例而言,总线过滤驱动器向物理设备驱动器发送远程操作指令。物理设备驱动器根据该远程操作指令,生成物理设备能够读取的远程驱动指令,并将该远程驱动指令发送至物理设备。物理设备根据该远程驱动指令,执行相应的读写操作,根据读写操作的执行结果,生成远程响应数据,并将远程响应数据返回至物理设备驱动器。其中,物理设备执行的读写操作可以包括:读取物理设备中已有的数据,如VM端用于鉴权的用户身份信息;或者将数据写入到物理设备。其中,远程响应数据中可以包括VM端的标识信息,TC端可以根据该标识信息,确定向具体哪个VM端发送远程响应数据;还可以携带有TC端的标识信息,VM端可以根据该标识信息,确定该响应数据来自具体哪个TC端。
此外,由于未修改设备驱动程序,因此物理设备驱动器仍然能够响应于TC端的应用程序发来的本地访问请求,从而保证TC端的应用程序可以继续访问物理设备,而不受VM端的远程访问请求的影响。
在一种可能的实现方式中,所述物理设备驱动器可以接收所述TC端的应用程序对所述物理设备的本地操作指令;所述物理设备驱动器根据所述本地操作指令,驱动所述物理设备执行读写操作并返回携带有所述读写操作的执行结果的本地响应数据。
具体地,若物理设备驱动器接收到本地TC端的应用程序发来的本地操作指令,则据此生成物理设备能够读取的本地驱动指令,并将该本地驱动指令发送至物理设备。物理设备根据该本地驱动指令,执行相应的读写操作,例如读取物理设备中已有的数据(如VM端用于鉴权的用户身份信息)或者将数据写入到物理设备。物理设备根据读写操作的执行结果,生成本地响应数据,并将该本地响应数据返回至物理设备驱动器。物理设备驱动器据此向TC端的该应用程序转发该本地响应数据。
举例而言,用户可以在TC端请求远程登录到远端数据中心即VM端的桌面云***。桌面云***读取连接到TC端的智能卡中的数据进行鉴权操作,在鉴权成功后,用户可以在TC端远程登录到VM端。若用户还需要登录本地TC端的应用程序,则用户可以继续读取本地TC端的智能卡中的数据,针对本地TC端的应用程序进行鉴权操作。
需要说明的是,可以根据各指令到达物理设备驱动器的先后顺序,依次处理本地操作指令和远程操作指令,从而依次响应于TC端的本地访问请求和VM端的远程访问请求。
这样,通过TC端的总线过滤驱动器接收VM端对TC端的物理设备的远程访问请求,并将其转换为TC端的物理设备驱动器能够读取的操作指令,能够实现VM端对TC端的物理设备的远程访问,并且由于未修改设备驱动程序,因此TC端能够继续正常访问该物理设备。
此外,由于该总线过滤驱动器无需对本地已有的USB指令做任何修改,因此相比于现有技术中USB重定向的方法,本实施例的方法适用于TC端已有的各种应用程序和各种物理设备,并且不会影响物理设备远程访问的速度。由于未使用PC/SC协议,因此相比于现有技术中PC/SC协议重定向的方法,本实施例的方法无需物理设备支持PC/SC协议,从而具有很好的兼容性。
实施例2
图2示出根据本发明实施例2的一设备远程访问的方法的流程图。图2中标号与图1中相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
如图2所示,图2所示的方法与图1所示的方法的主要区别在于:步骤S130之后,总线过滤驱动器还可以接收物理设备经由物理设备驱动器返回的远程响应数据,并向VM端发送远程响应数据。
在一种可能的实现方式中,步骤S110可以具体包括以下步骤:
步骤S210、TC端的设备服务器接收VM端发送的对物理设备的远程访问请求;
步骤S220、总线过滤驱动器接收TC端的设备服务器发送的对物理设备的远程访问请求。
具体地,TC端设置有设备服务器。设备服务器可以通过网络,接收VM端基于TC端与VM端之间的网络传输协议发来的数据,例如VM端对TC端的物理设备的远程访问请求,则设备服务器将该远程访问请求转发给总线过滤驱动器,以使总线过滤驱动器处理该远程访问请求。其中,TC端的设备服务器还可以首先基于TC端与VM端之间的网络传输协议,解析所接收到的数据以得到远程访问请求后,再发送给总线过滤驱动器。
举例而言,如果物理设备驱动器接收到总线过滤驱动器发来的远程操作指令,则据此生成远程响应数据的流程,具体可以包括以下步骤:
步骤S230、物理设备驱动器根据所接收到的总线过滤驱动器的远程操作指令,生成物理设备能够读取的远程驱动指令;
步骤S240、物理设备驱动器将该远程驱动指令发送至物理设备;
步骤S250、物理设备根据所接收到的该远程驱动指令,执行相应的读写操作,并根据读写操作的执行结果,生成远程响应数据;
步骤S260、物理设备将该远程响应数据发送至物理设备驱动器。
在一种可能的实现方式中,步骤S130之后,还可以具体包括以下步骤:
步骤S270、物理设备驱动器将所接收到的远程响应数据转发至总线过滤驱动器;
步骤S280、总线过滤驱动器将所接收到的远程响应数据转发至TC端的设备服务器;
步骤S290、设备服务器将所接收到的远程响应数据转发至VM端。
具体地,设备服务器可以接收总线过滤驱动器发来的数据,例如TC端的物理设备的远程响应数据,则设备服务器可以通过TC端与VM端之间连接的网络,将该远程响应数据转发给VM端,以使VM端处理该远程响应数据。其中,为了满足网络传输的需要,TC端的设备服务器还可以先将远程响应数据转换为支持TC端和VM端的网络传输协议的数据后,再发送给VM端。
在一种可能的实现方式中,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
在一种可能的实现方式中,所述总线过滤驱动器为通用串行总线过滤驱动器,所述远程访问请求为远程通用串行总线请求消息,所述远程操作指令和本地操作指令为本地通用串行总线请求消息,所述远程响应数据和本地响应数据为本地通用串行总线应答消息。
举例而言,若物理设备是通过USB接口连接到TC端的智能卡,则TC端相应地设置有USB总线过滤驱动器。USB总线过滤驱动器可以接收VM端的远程通用串行总线请求消息(USB Request Block,URB),该远程URB请求消息携带有对该智能卡的远程访问请求的信息;据此生成本地URB请求消息(USB Request Block,URB),并向智能卡驱动器发送该本地URB请求消息,该本地请求URB消息携带有对该智能卡的远程操作指令的信息。本地TC端的应用程序也可以向智能卡驱动器发送本地URB请求消息。智能卡执行对应的读写操作,生成本地URB应答消息,并向智能卡驱动器返回该本地URB应答消息,该本地URB应答消息携带有远程响应数据或本地响应数据的信息。智能卡驱动器根据本地URB应答消息的内容,向USB总线过滤驱动器返回该远程响应数据,或向本地TC端的应用程序返回该本地响应数据。
此外,TC端的设备服务器还可以检测用户是否将物理设备***TC端。若检测到有物理设备***TC端,则TC端的设备服务器向VM端发送对应于该物理设备的***通知,以使VM端据此加载与该物理设备对应的虚拟设备。TC端的设备服务器还可以接收VM端发来的对该物理设备的查询请求或者主动查询设备信息,并根据所查询该物理设备的设备信息,向VM端发送该设备信息,以使VM端加载与该物理设备对应的虚拟设备。其中,设备信息可以包括该物理设备的设备类型和设备标识等设备信息。另外,TC端的设备服务器还可以检测是否有物理设备自TC端拔出。若检测到有物理设备自TC端拔出,则TC端的设备服务器向VM端发送对应于该物理设备的拔出通知,以使VM端卸载与该物理设备对应的虚拟设备,以使VM端的虚拟设备与TC端的物理设备实现同步加载与同步卸载。其中,拔出通知也可以携带有该物理设备的设备信息,以使VM端确定所要卸载的具体虚拟设备。
实施例3
图3示出根据本发明实施例3的一设备远程访问的方法的流程图。如图3所示,该设备远程访问的方法主要包括:
步骤S310、VM端的虚拟总线驱动器接收所述VM端的应用程序对所述VM端的虚拟设备驱动器的虚拟操作指令。
具体地,VM端设置有虚拟总线驱动器和虚拟设备驱动器。VM端根据对TC端的物理设备进行远程访问的需要,通过在VM端设置虚拟总线驱动器和虚拟设备驱动器的方式,使VM端加载一个与TC端的该物理设备对应的虚拟设备。若VM端的应用程序要访问TC端的该物理设备,则VM端的虚拟总线驱动器可以接收到所述VM端的应用程序对所述VM端的虚拟设备驱动器的虚拟操作指令。其中,物理设备可以通过各种总线接口,例如通用串行总线(Universal Serial Bus,USB)接口,连接到TC端。根据物理设备的类型,可以相应地设置VM端的虚拟总线驱动器的类型。例如:若智能卡通过USB接口连接到TC端,则VM端的虚拟总线驱动器可以设置为虚拟USB总线驱动器。此外,物理设备可以为智能卡或其他设备。
步骤S320、所述虚拟总线驱动器将所述虚拟操作指令转换为所述TC端的总线过滤驱动器能够读取的远程访问请求。
具体地,虚拟总线驱动器根据该虚拟操作指令,生成对TC端对应的物理设备的远程访问请求,也就是将该虚拟操作指令转换为TC端对应的总线过滤驱动器能读取的远程访问请求。其中,远程访问请求携带有VM端的应用程序请求访问TC端对应的物理设备的信息;还可以携带有物理设备的标识信息,以使TC端可以根据该标识信息,确定VM端所要访问的具体物理设备;和/或可以携带有VM端的标识信息,以使TC端可以根据该标识信息,确定该远程访问请求来自具体哪个VM端和/或VM端的具体哪个应用程序。
步骤S330、所述虚拟总线驱动器向所述TC端发送所述远程访问请求。
具体地,远程访问请求,用于指示总线过滤驱动器将远程访问请求转换为TC端的物理设备驱动器能够读取的远程操作指令。该远程操作指令,用于指示物理设备驱动器驱动对应的物理设备执行读写操作,并返回携带有读写操作的执行结果的远程响应数据。
这样,通过VM端的虚拟总线驱动器接收到VM端的应用程序对TC端的物理设备的虚拟操作指令,并将其转换为TC端的总线过滤驱动器能够读取的远程访问请求,能够实现VM端的应用程序对TC端的物理设备的远程访问。
实施例4
图4示出根据本发明实施例4的一设备远程访问的方法的流程图。图4中标号与图3中相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
如图4所示,图4所示的方法与图3所示的方法的主要区别在于:VM端的虚拟总线驱动器经由VM端的设备服务器,向TC端发送远程访问请求,和/或接收TC端的远程响应数据。
在一种可能的实现方式中,步骤S330可以具体包括以下步骤:
步骤S430、虚拟总线驱动器向VM端的设备服务器发送远程访问请求;
步骤S440、设备服务器将所接收到的远程访问请求转发至TC端。
具体地,VM端的设备服务器可以接收虚拟总线驱动器发来的数据,例如TC端的物理设备的远程响应数据,则设备服务器可以通过TC端与VM端之间连接的网络,将该远程访问请求转发给TC端,以使TC端处理该远程访问请求。其中,为了满足网络传输的需要,设备服务器还可以先将远程响应数据转换为支持TC端和VM端的网络传输协议的数据后,再发送给VM端。
在一种可能的实现方式中,步骤S330之后,还可以包括以下步骤:
步骤S450、VM端的设备服务器接收TC端发来的远程响应数据;
步骤S460、设备服务器将所接收到的远程响应数据转发至虚拟总线驱动器;
步骤S470、虚拟总线驱动器将所接收到的远程响应数据转发至虚拟设备驱动器;
步骤S480、虚拟设备驱动器将所接收到的远程响应数据转发至TC端的应用程序。
具体地,设备服务器可以通过网络,接收VM端基于TC端与VM端之间的网络传输协议发来的数据,例如TC的物理设备的远程响应数据,则设备服务器将该远程响应数据转发给虚拟总线驱动器,以使虚拟总线驱动器处理该远程响应数据求。其中,TC端的设备服务器还可以首先基于TC端与VM端之间的网络传输协议,解析所接收到的数据以得到远程响应数据后,再发送给虚拟总线驱动器。
在一种可能的实现方式中,步骤S310可以具体包括以下步骤:
步骤S410、虚拟设备驱动器接收VM端的应用程序发来的虚拟操作指令;
步骤S420、虚拟设备驱动器将所接收到的虚拟操作指令转发至虚拟总线驱动器。
具体地,若VM端的虚拟设备驱动器可以接收到所述VM端的应用程序对VM端的虚拟操作指令,也就是该应用程序需要访问TC端对应的物理设备,则虚拟总线驱动器将该虚拟操作指令转发给虚拟总线驱动器,以使虚拟总线驱动器处理该虚拟操作指令。
在一种可能的实现方式中,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
在一种可能的实现方式中,所述虚拟总线驱动器为虚拟通用串行总线驱动器,所述远程访问请求为远程通用串行总线请求消息,所述虚拟操作指令为本地通用串行总线请求消息,所述远程响应数据为本地通用串行总线应答消息。
举例而言,若VM端的设备服务器接收到TC端发来的***通知,则可以据此加载与TC端的物理设备对应的虚拟设备。若VM端之前未安装过该虚拟设备,则初始化该虚拟设备,以加载该虚拟设备。若VM端之前已经安装过该虚拟设备,则根据该虚拟设备的安装信息,直接加载该虚拟设备的驱动程序,以加载该虚拟设备。VM端加载该虚拟设备之后,即在VM端上设置了与该虚拟设备对应的虚拟设备驱动器。此外,VM端加载该虚拟设备之后,可以通过***消息,提示VM端有新的虚拟设备加载,以使VM端的应用程序可以正常访问该虚拟设备。其中,VM端的设备服务器可以接收到TC端主动发来的设备信息,例如该物理设备的设备类型和设备标识等信息;也可以主动查询设备信息,并接收TC端据此返回的设备信息。此外,若设备服务器接收到TC端发来的物理设备的拔出通知,则可以据此卸载对应的虚拟设备,以使VM端的虚拟设备与TC端的物理设备实现同步加载与同步卸载。其中,拔出通知也可以携带有该物理设备的设备信息,以使VM端确定所要卸载的具体是哪个虚拟设备。
实施例5
图5示出根据本发明实施例5的一TC端的框图。如图5所示,该TC端主要包括:总线过滤驱动器510和物理设备驱动器520。其中,总线过滤驱动器510用于,接收VM端对所述TC端的物理设备530的远程访问请求;将所述远程访问请求转换为所述物理设备驱动器520能够读取的远程操作指令;向所述物理设备驱动器520发送所述远程操作指令,所述远程操作指令用于指示所述物理设备驱动器520驱动所述物理设备530执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
在一种可能的实现方式中,所述物理设备驱动器520用于,接收所述TC端的应用程序对所述物理设备的本地操作指令;根据所述本地操作指令,驱动所述物理设备执行读写操作并返回携带有所述读写操作的执行结果的本地响应数据。
其中,该TC端用于实现设备远程访问的具体机制和有益效果,可以参考图1及其相关描述。
实施例6
图6示出根据本发明实施例6的一TC端的框图。图6中标号与图5中相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
如图6所示,图6所示的TC端与图5所示的TC端的主要区别在于:还包括设备服务器610。
具言之,所述设备服务器610,用于接收所述VM端的远程访问请求并转发给所述总线过滤驱动器510。所述总线过滤驱动器510,还用于接收所述设备服务器610的所述远程访问请求。
在一种可能的实现方式中,所述物理设备驱动器520还用于,接收所述物理设备530的所述远程响应数据并转发给所述总线过滤驱动器510。所述总线过滤驱动器510还用于,接收所述物理设备驱动器520的所述远程响应数据并转发给所述设备服务器610。所述设备服务器610还用于,接收所述总线过滤驱动器510的所述远程响应数据并转发给所述VM端。
在一种可能的实现方式中,所述物理设备530为通过通用串行总线连接到所述TC端的智能卡。
在一种可能的实现方式中,所述总线过滤驱动器510为通用串行总线过滤驱动器,所述远程访问请求为远程通用串行总线请求消息,所述远程操作指令和本地操作指令为本地通用串行总线请求消息,所述远程响应数据本地响应数据为本地通用串行总线应答消息。
其中,该TC端用于实现设备远程访问的具体机制和有益效果,可以参考图2及其相关描述。
实施例7
图7示出根据本发明实施例7的一VM端的框图。如图7所示,该VM端主要包括:虚拟总线驱动器710和虚拟设备驱动器720。其中,所述虚拟总线驱动器710用于,接收所述VM端的应用程序对所述VM端的虚拟设备驱动器720的虚拟操作指令;将所述虚拟操作指令转换为所述TC端的总线过滤驱动器能够读取的远程访问请求;向所述TC端发送所述远程访问请求,所述远程访问请求用于指示所述总线过滤驱动器将所述远程访问请求转换为所述TC端的物理设备驱动器能够读取的远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
其中,该VM端用于实现设备远程访问的具体机制和有益效果,可以参考图3及其相关描述。
实施例8
图8示出根据本发明实施例8的一VM端的框图。图8中标号与图7中相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
如图8所示,图8所示的VM端与图7所示的VM端的主要区别在于:还包括设备服务器810。
具言之,所述设备服务器810,用于接收所述虚拟总线驱动器710的所述远程访问请求并转发给所述VM端。
在一种可能的实现方式中,所述设备服务器810还用于,接收所述VM端的所述远程响应数据并转发给所述虚拟总线驱动器。所述虚拟总线驱动器710还用于,接收所述设备服务器810的所述远程响应数据并转发给所述虚拟设备驱动器720。所述虚拟设备驱动器720还用于,接收所述虚拟总线驱动器710的所述远程响应数据并转发给所述应用程序。
在一种可能的实现方式中,所述虚拟设备驱动器720还用于,接收所述应用程序的所述虚拟操作指令并转发给所述虚拟总线驱动器710。所述虚拟总线驱动器710还用于,接收所述虚拟设备驱动器720的所述虚拟操作指令。
在一种可能的实现方式中,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
在一种可能的实现方式中,所述虚拟总线驱动器710为虚拟通用串行总线驱动器,所述远程访问请求为远程通用串行总线请求消息,所述虚拟操作指令为本地通用串行总线请求消息,所述远程响应数据为本地通用串行总线应答消息。
其中,该VM端用于实现设备远程访问的具体机制和有益效果,可以参考图4及其相关描述。
实施例9
图9示出了本发明的实施例9的一TC端的结构框图。所述TC端1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述TC端1100包括处理器(processor)1110、通信接口(CommunicationsInterface)1120、存储器(memory array)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于存放文件。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:使瘦客户TC端的总线过滤驱动器接收虚拟机VM端对所述TC端的物理设备的远程访问请求;使所述总线过滤驱动器将所述远程访问请求转换为所述物理设备驱动器能够读取的远程操作指令;使所述总线过滤驱动器向所述物理设备驱动器发送所述远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作并返回携带有所述读写操作的执行结果的远程响应数据。
在一种可能的实施方式中,该程序还可用于:使所述物理设备驱动器接收所述TC端的应用程序对所述物理设备的本地操作指令;使所述物理设备驱动器根据所述本地操作指令,驱动所述物理设备执行读写操作并返回携带有所述读写操作的执行结果的本地响应数据。
在一种可能的实施方式中,该程序还可用于:使所述总线过滤驱动器接收所述VM端经由所述TC端的设备服务器发送的对所述物理设备的远程访问请求。
在一种可能的实施方式中,该程序还可用于:在所述总线过滤驱动器向所述物理设备驱动器发送所述远程操作指令之后,使所述总线过滤驱动器接收所述物理设备经由所述物理设备驱动器返回的所述远程响应数据;所述总线过滤驱动器经由所述设备服务器,向所述VM端发送所述远程响应数据。
实施例10
图10示出了本发明的实施例10的一VM端的结构框图。所述VM端1200可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述VM端1200包括处理器(processor)1210、通信接口(CommunicationsInterface)1220、存储器(memory array)1230和总线1240。其中,处理器1110、通信接口1220、以及存储器1230通过总线1240完成相互间的通信。
通信接口1220用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
处理器1210用于执行程序。处理器1210可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1230用于存放文件。存储器1230可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1230也可以是存储器阵列。存储器1230还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:使VM端的虚拟总线驱动器接收所述VM端的应用程序对所述VM端的虚拟设备驱动器的虚拟操作指令;使所述虚拟总线驱动器将所述虚拟操作指令转换为所述TC端的总线过滤驱动器能够读取的远程访问请求;使所述虚拟总线驱动器向所述TC端发送所述远程访问请求,所述远程访问请求用于指示所述总线过滤驱动器将所述远程访问请求转换为所述TC端的物理设备驱动器能够读取的远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
在一种可能的实施方式中,该程序还可用于:使所述虚拟总线驱动器接收所述应用程序经由所述虚拟设备驱动器发送的对所述虚拟设备的虚拟操作指令。
在一种可能的实施方式中,该程序还可用于:使所述虚拟总线驱动器经由所述VM端的设备服务器向所述TC端发送所述远程访问请求。
在一种可能的实施方式中,该程序还可用于:在所述虚拟总线驱动器向所述TC端发送所述远程访问请求之后,使所述虚拟总线驱动器接收所述TC端经由所述VM端的设备服务器发送的远程响应数据;所述虚拟总线驱动器经由所述虚拟设备驱动器向所述应用程序发送所述远程响应数据。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (16)

1.一种设备远程访问的方法,用于桌面云***,其特征在于,包括:
瘦客户TC端的总线过滤驱动器接收虚拟机VM端对所述TC端的物理设备的远程访问请求;
所述总线过滤驱动器将所述远程访问请求转换为所述物理设备驱动器能够读取的远程操作指令;
所述总线过滤驱动器向所述物理设备驱动器发送所述远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作并返回携带有所述读写操作的执行结果的远程响应数据。
2.根据权利要求1所述的方法,其特征在于,所述总线过滤驱动器向所述物理设备驱动器发送所述远程操作指令之后,还包括:
所述总线过滤驱动器接收所述物理设备经由所述物理设备驱动器返回的所述远程响应数据;
所述总线过滤驱动器向所述VM端发送所述远程响应数据。
3.根据权利要求1或2所述的方法,其特征在于,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
4.根据权利要求3所述的方法,其特征在于,所述总线过滤驱动器为通用串行总线过滤驱动器,所述远程访问请求为远程通用串行总线请求消息,所述远程操作指令和本地操作指令为本地通用串行总线请求消息,所述远程响应数据和本地响应数据为本地通用串行总线应答消息。
5.一种设备远程访问的方法,用于桌面云***,其特征在于,包括:
VM端的虚拟总线驱动器接收所述VM端的应用程序对所述VM端的虚拟设备驱动器的虚拟操作指令;
所述虚拟总线驱动器将所述虚拟操作指令转换为TC端的总线过滤驱动器能够读取的远程访问请求;
所述虚拟总线驱动器向所述TC端发送所述远程访问请求,所述远程访问请求用于指示所述总线过滤驱动器将所述远程访问请求转换为所述TC端的物理设备驱动器能够读取的远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
6.根据权利要求5所述的方法,其特征在于,在所述虚拟总线驱动器向所述TC端发送所述远程访问请求之后,包括:
所述虚拟总线驱动器接收所述TC端发送的远程响应数据;
所述虚拟总线驱动器经由所述虚拟设备驱动器向所述应用程序发送所述远程响应数据。
7.根据权利要求5或6所述的方法,其特征在于,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
8.根据权利要求7所述的方法,其特征在于,所述虚拟总线驱动器为虚拟通用串行总线驱动器,所述远程访问请求为远程通用串行总线请求消息,所述虚拟操作指令为本地通用串行总线请求消息,所述远程响应数据为本地通用串行总线应答消息。
9.一种TC端,其特征在于,包括总线过滤驱动器和物理设备驱动器,所述总线过滤驱动器用于,
接收VM端对所述TC端的物理设备的远程访问请求;
将所述远程访问请求转换为所述物理设备驱动器能够读取的远程操作指令;
向所述物理设备驱动器发送所述远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
10.根据权利要求9所述的TC端,其特征在于,
所述物理设备驱动器还用于,接收所述物理设备的所述远程响应数据并转发给所述总线过滤驱动器;
所述总线过滤驱动器还用于,接收所述物理设备驱动器的所述远程响应数据并转发给所述VM端。
11.根据权利要求9或10所述的TC端,其特征在于,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
12.根据权利要求11所述的TC端,其特征在于,所述总线过滤驱动器为通用串行总线过滤驱动器,所述远程访问请求为远程通用串行总线请求消息,所述远程操作指令和本地操作指令为本地通用串行总线请求消息,所述远程响应数据本地响应数据为本地通用串行总线应答消息。
13.一种VM端,其特征在于,包括虚拟总线驱动器和虚拟设备驱动器,所述虚拟总线驱动器用于,
接收所述VM端的应用程序对所述VM端的虚拟设备驱动器的虚拟操作指令;
将所述虚拟操作指令转换为TC端的总线过滤驱动器能够读取的远程访问请求;
向所述TC端发送所述远程访问请求,所述远程访问请求用于指示所述总线过滤驱动器将所述远程访问请求转换为所述TC端的物理设备驱动器能够读取的远程操作指令,所述远程操作指令用于指示所述物理设备驱动器驱动所述物理设备执行读写操作,并返回携带有所述读写操作的执行结果的远程响应数据。
14.根据权利要求13所述的VM端,其特征在于,
所述虚拟总线驱动器还用于,接收所述VM端的所述远程响应数据并转发给所述虚拟设备驱动器;
所述虚拟设备驱动器还用于,接收所述虚拟总线驱动器的所述远程响应数据并转发给所述应用程序。
15.根据权利要求13或14所述的VM端,其特征在于,所述物理设备为通过通用串行总线连接到所述TC端的智能卡。
16.根据权利要求15所述的VM端,其特征在于,所述虚拟总线驱动器为虚拟通用串行总线驱动器,所述远程访问请求为远程通用串行总线请求消息,所述虚拟操作指令为本地通用串行总线请求消息,所述远程响应数据为本地通用串行总线应答消息。
CN201310567832.7A 2013-11-14 2013-11-14 设备远程访问的方法、瘦客户端和虚拟机 Active CN103595790B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310567832.7A CN103595790B (zh) 2013-11-14 2013-11-14 设备远程访问的方法、瘦客户端和虚拟机
EP14861685.7A EP3029912B1 (en) 2013-11-14 2014-07-28 Remote accessing method and corresponding system
PCT/CN2014/083153 WO2015070640A1 (zh) 2013-11-14 2014-07-28 设备远程访问的方法、瘦客户端和虚拟机
US15/056,400 US10042664B2 (en) 2013-11-14 2016-02-29 Device remote access method, thin client, and virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310567832.7A CN103595790B (zh) 2013-11-14 2013-11-14 设备远程访问的方法、瘦客户端和虚拟机

Publications (2)

Publication Number Publication Date
CN103595790A CN103595790A (zh) 2014-02-19
CN103595790B true CN103595790B (zh) 2017-01-04

Family

ID=50085770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310567832.7A Active CN103595790B (zh) 2013-11-14 2013-11-14 设备远程访问的方法、瘦客户端和虚拟机

Country Status (4)

Country Link
US (1) US10042664B2 (zh)
EP (1) EP3029912B1 (zh)
CN (1) CN103595790B (zh)
WO (1) WO2015070640A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595790B (zh) 2013-11-14 2017-01-04 华为技术有限公司 设备远程访问的方法、瘦客户端和虚拟机
CN104881315A (zh) * 2014-10-27 2015-09-02 深圳市京华科讯科技有限公司 基于桌面虚拟化技术的存储设备映射方法及***
CN105404503A (zh) * 2015-10-22 2016-03-16 成都卫士通信息产业股份有限公司 一种支持多终端远程并行访问智能卡的方法
US10635816B2 (en) * 2016-04-04 2020-04-28 Wyse Technology L.L.C. Restricting reprogramming of a redirected USB device
RU2628919C1 (ru) * 2016-04-18 2017-08-22 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов на распределённой системе виртуальных машин
CN105871926B (zh) * 2016-06-17 2019-07-19 山东大学 一种基于桌面虚拟化的usb设备安全共享方法及***
CN107463369B (zh) * 2017-06-30 2020-10-16 北京北信源软件股份有限公司 一种虚拟桌面的接入设备控制方法与装置
CN107357743A (zh) * 2017-07-28 2017-11-17 郑州云海信息技术有限公司 一种控制usb设备的方法及装置
CN108512928A (zh) * 2018-04-08 2018-09-07 上海微穹信息科技有限公司 云端虚拟机及其文件管理方法、***、虚拟机瘦客户端
CN108494871B (zh) * 2018-04-08 2022-02-22 上海微穹信息科技有限公司 云端虚拟机及其图像识别方法、***和虚拟机瘦客户端
US10430371B1 (en) * 2018-08-07 2019-10-01 Dell Products L.P. Accelerating redirected USB devices that perform bulk transfers
US11119968B2 (en) * 2018-08-07 2021-09-14 Dell Products L.P. Increasing cache hits for USB request blocks that target a redirected USB device
US10742776B1 (en) * 2019-02-04 2020-08-11 Dell Products L.P. Accelerating isochronous endpoints of redirected USB devices
US10901773B2 (en) 2019-04-11 2021-01-26 Red Hat, Inc. Sharing devices between virtual machines in view of power state information
US11294693B2 (en) * 2020-04-14 2022-04-05 Ncr Corporation Virtualized transaction terminal platform
US20230195313A1 (en) * 2021-12-16 2023-06-22 Vmware, Inc. Storage device i/o performance in remote computing environments
US11989419B2 (en) 2022-07-08 2024-05-21 VMware LLC Storage device write performance in remote computing environments

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1233009A (zh) * 1998-03-20 1999-10-27 太阳微***公司 封装程序供远程执行的方法和装置
CN101827101A (zh) * 2010-04-20 2010-09-08 中国人民解放军理工大学指挥自动化学院 基于可信隔离运行环境的信息资产保护方法
EP2369479A2 (en) * 2006-01-24 2011-09-28 Citrix Systems, Inc. Methods and systems for providing access to a computing environment
CN103312744A (zh) * 2012-03-12 2013-09-18 ***通信集团黑龙江有限公司 一种基于云桌面的业务办理方法、平台及***

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904489B2 (en) * 2001-10-23 2005-06-07 Digi International Inc. Methods and systems for remotely accessing universal serial bus devices
US20060107269A1 (en) * 2004-11-17 2006-05-18 International Business Machines Corporation Virtual device hub
US8504707B2 (en) * 2004-12-07 2013-08-06 Cisco Technology, Inc. Method and system for sending and receiving USB messages over a data network
US20060161415A1 (en) * 2005-01-18 2006-07-20 Microsoft Corporation Driver handler object framework
JP4127315B2 (ja) * 2006-05-24 2008-07-30 株式会社日立製作所 デバイス管理システム
DE112009004968T5 (de) * 2009-03-12 2012-07-12 Hewlett-Packard Development Co., L.P. Dynamische Fernperipherieanbindung
JP5743174B2 (ja) * 2009-03-18 2015-07-01 日本電気株式会社 シンクライアントサーバシステム及びusbデバイスのドライバの管理方法
US8370510B2 (en) * 2009-12-18 2013-02-05 Microsoft Corporation Remote application presentation over a public network connection
US8949436B2 (en) 2009-12-18 2015-02-03 Alcatel Lucent System and method for controlling peer-to-peer connections
US20130139185A1 (en) * 2011-11-30 2013-05-30 Oracle International Corporation Intercepting and tracing interface routine transactions
US10742698B2 (en) * 2012-05-29 2020-08-11 Avaya Inc. Media contention for virtualized devices
US9069572B2 (en) * 2012-07-27 2015-06-30 Prolific Technology Inc. Replacement of inbox driver with third party driver
WO2014067080A1 (zh) * 2012-10-31 2014-05-08 华为技术有限公司 发送云服务器地址的方法、设备
CN103595790B (zh) 2013-11-14 2017-01-04 华为技术有限公司 设备远程访问的方法、瘦客户端和虚拟机
US9338167B2 (en) * 2014-02-28 2016-05-10 Ncr Corporation Self-service terminal (SST) thin client

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1233009A (zh) * 1998-03-20 1999-10-27 太阳微***公司 封装程序供远程执行的方法和装置
EP2369479A2 (en) * 2006-01-24 2011-09-28 Citrix Systems, Inc. Methods and systems for providing access to a computing environment
CN101827101A (zh) * 2010-04-20 2010-09-08 中国人民解放军理工大学指挥自动化学院 基于可信隔离运行环境的信息资产保护方法
CN103312744A (zh) * 2012-03-12 2013-09-18 ***通信集团黑龙江有限公司 一种基于云桌面的业务办理方法、平台及***

Also Published As

Publication number Publication date
CN103595790A (zh) 2014-02-19
EP3029912B1 (en) 2018-10-24
WO2015070640A1 (zh) 2015-05-21
EP3029912A1 (en) 2016-06-08
US10042664B2 (en) 2018-08-07
EP3029912A4 (en) 2016-09-21
US20160179565A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
CN103595790B (zh) 设备远程访问的方法、瘦客户端和虚拟机
CN110196729B (zh) 应用程序更新方法、设备和装置及存储介质
CN105450759A (zh) 一种***镜像的管理方法和装置
CN107666493B (zh) 一种数据库配置方法及其设备
CN105281937B (zh) 服务器、服务管理***及服务管理方法
CN109947408B (zh) 消息推送方法及装置、存储介质和电子设备
CN102043645A (zh) 一种加载插件的方法及装置
CN103955441A (zh) 一种设备管理***、方法及一种io扩展接口
CN104011698A (zh) 基于从相应的主应用程序数据导出的标识符来访问补充数据
CN110083399A (zh) 小程序运行方法、计算机设备及存储介质
CN106161189A (zh) 即时通信的离线通信方法及装置
CN107291486A (zh) 一种操作***的安装方法和装置
CN105573872B (zh) 数据存储***的硬盘维护方法和装置
CN104517067B (zh) 访问数据的方法、装置及***
CN110769064A (zh) 一种用于离线推送消息的***、方法和设备
CN102662879B (zh) 基于Windows操作***对多路外部设备的输入的处理方法及***
WO2016095644A1 (zh) 数据库的高可用解决方法和装置
CN105144073A (zh) 可移除存储设备身份和配置信息
CN102495815B (zh) I/o数据访问中断的处理方法和***以及设备
CN102053862B (zh) 一种即时通讯软件中的素材文件的检验方法和设备
JP5519583B2 (ja) 仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラム
CN104765704A (zh) 一种移动通讯装置及电子设备
CN112350921A (zh) 消息处理方法、终端及存储介质
JP5146880B2 (ja) 情報管理装置、情報管理システム、情報管理プログラム、及び情報管理方法
CN107783722B (zh) 数据传输方法和数据转发装置

Legal Events

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

Effective date of registration: 20220223

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.