CN102301360A - 有选择地向多个发送计算机传送外围设备的数据 - Google Patents

有选择地向多个发送计算机传送外围设备的数据 Download PDF

Info

Publication number
CN102301360A
CN102301360A CN2009801557518A CN200980155751A CN102301360A CN 102301360 A CN102301360 A CN 102301360A CN 2009801557518 A CN2009801557518 A CN 2009801557518A CN 200980155751 A CN200980155751 A CN 200980155751A CN 102301360 A CN102301360 A CN 102301360A
Authority
CN
China
Prior art keywords
computer
sending
data
computing machine
peripherals
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
CN2009801557518A
Other languages
English (en)
Other versions
CN102301360B (zh
Inventor
J.M.金
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102301360A publication Critical patent/CN102301360A/zh
Application granted granted Critical
Publication of CN102301360B publication Critical patent/CN102301360B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • G06F13/107Terminal emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Landscapes

  • Engineering & Computer Science (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)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种网络布置包括经由网络连接到多个发送计算机的接收计算机。在接收计算机和多个发送计算机中的第一发送计算机之间建立第一会话,其中所述第一会话涉及向第一发送计算机提供被附着到接收计算机的外围设备的数据,并且其中向所述第一发送计算机中的外围设备的第一设备驱动器提供外围设备的数据。在接收计算机和多个发送计算机中的第二发送计算机之间建立第二会话,其中所述第二会话涉及向第二发送计算机提供被附着到接收计算机的外围设备的数据,并且其中向所述第二发送计算机中的外围设备的第二设备驱动器提供外围设备的数据。

Description

有选择地向多个发送计算机传送外围设备的数据
背景技术
许多企业转向其中向用户所处的本地计算机提供中央服务器的计算资源的网络布置。可以有选择地向由在本地计算机处的用户建立的会话分配在一个或多个中央服务器处集中的计算资源(例如,软件应用、处理资源、存储资源等)。
提供协议以便使在本地计算机处的用户能够经由计算机网络访问并共享远程计算机(例如,中央服务器)的桌面。一个这种协议是由微软公司提供的远程桌面协议(Remote Desktop Protocol RDP),以便经由网络连接提供远程显示和输入能力。可以使用的另一协议是来自Hewlett Packard(惠普)公司的远程图形软件(Remote Graphics Software RGS)协议。RGS被设计成充分利用远程计算机的计算机和图形资源以便递送在本地计算机处的交互式远程访问。经由网络向本地计算机传送远程计算机的桌面视频数据,所述本地计算机在其窗口中本地显示所述桌面视频数据。RGS被设计成用于经由网络提供桌面视频数据的快速捕获、压缩和传输。RGS还允许把音频数据从远程计算机发送到本地计算机以便在本地计算机的音频设备上输出。RGS还捕获在本地计算机的用户键盘和鼠标输入,并且向远程计算机发送所述键盘和鼠标输入以便由远程计算机的操作系统和在所述远程计算机上运行的应用处理。RGS还允许把其它外围设备(例如,诸如存储设备)的数据从本地计算机传送到远程计算机。
当把本地计算机连接到多个远程计算机时,必须把多个重复的(duplicate)外围设备附着到本地计算机以供对应的远程计算机使用。使用重复的外围设备增加了必须附着到本地计算机的硬件设备的数目,并且可能导致复杂度和成本的增加。
附图说明
相对于以下附图以举例形式描述本发明的一些实施例:
图1是包括本地计算机和远程计算机的示例性布置的框图,其中可以结合本发明的实施例;
图2是依照一个实施例在本地计算机执行的过程的流程图;和
图3是依照一个实施例在远程计算机执行的过程的流程图。
具体实施方式
图1图示了其中(用户所处的)本地计算机100能够经由数据网络104连接到多个远程计算机102之一的布置。尽管在图1中只描绘了一个本地计算机100和两个远程计算机102,不过应当注意,可以存在多个本地计算机100和多于两个的远程计算机102。
本地计算机100能够在所述本地计算机100和远程计算机102之间建立的会话中使用所述远程计算机102的资源。例如,本地计算机100可以使用远程计算机102的图形资源,其中所述远程计算机102经由网络104向本地计算机100递送所述远程计算机的桌面视频数据以便在本地计算机100的显示设备106中显示。本地计算机100还可以使用远程计算机102的音频资源,其中所述远程计算机102经由网络104向本地计算机100递送所述远程计算机的音频数据以便由所述本地计算机100的音频输出设备107(例如,耳机、扬声器等)输出。
一个或多个用户接口设备108也被附着到本地计算机100。把用户接口设备108的状态变化从本地计算机100经由数据网络104传送到远程计算机102。用户接口设备108可以是依照HID标准的人机接口设备(HID),如在通用串行总线(USB)中所描述,用于人机接口设备(HID)的设备类别定义,固件说明书,版本1.11,2001年6月27日。HID设备108可以是鼠标、键盘、滚动球型输入设备、平板等。
图1还示出了被附着到本地计算机100的另一输入外围设备109。在示出的例子中,输入外围设备109可以是用于接受智能卡的智能卡读取器,所述智能卡包含用户安全信息以便允许用户访问本地计算机100和多个远程计算机102之一。智能卡包含用于存储用户安全信息的存储设备。当智能卡被插入到智能卡读取器109中时,所述智能卡读取器109从所述智能卡中获取安全信息并且把所述安全信息提供到本地计算机100。随后,本地计算机100向用户想要访问的远程计算机102中选择的一个远程计算机102提供安全信息以供所述选择的远程计算机102确定是否允许用户访问。
依照一些实施例,智能卡读取器109可用于多个远程计算机102,以致不必重复所述智能卡读取器109——对于每个对应的远程计算机102一个智能卡读取器。用于与多个远程计算机102使用一个智能卡读取器109的能力增强了效率并且避免了硬件的重复。依照这种方式,一个智能卡读取器109可以同时连接到多个远程计算机102。每个这种远程计算机102都会看见智能卡读取器109的虚拟图像。
远程计算机102包括用于模拟智能卡读取器109的相应虚拟驱动器150。虚拟驱动器150与每个对应远程计算机102中的智能卡读取器设备驱动器152相交互。在每个远程计算机102中提供智能卡软件应用154以便提供与智能卡读取器109相关联的安全任务。例如,智能卡软件应用154可以向智能卡读取器设备驱动器152发送轮询请求以便获得已经可以由智能卡读取器109从智能卡中读取的任何数据。轮询请求被智能卡读取器设备驱动器152转送到虚拟驱动器150,所述虚拟驱动器150继而经由网络102通过各种中间组件(下面进一步描述)把所述轮询请求发送到本地计算机100。
通过使用每个远程计算机102中的虚拟驱动器150来模拟智能卡读取器109,不必在远程计算机处提供实际的智能卡读取器。一个或多个远程计算机102可以在任何给定时间被连接到本地计算机100。从而,可以使一个智能卡读取器109表现为在连接到本地计算机100的远程计算机处的多个虚拟设备。应当注意,一个或多个其它远程计算机102在该给定时间可能未被连接到本地计算机,因此在此类其它远程计算机102中的智能卡应用154将不能访问被附着到本地计算机100的智能卡读取器109。结果,在此类其它远程计算机102中的虚拟驱动器150可能必须模拟智能卡读取器109的存在,即便此类其它远程计算机未被连接到本地计算机100。模拟智能卡读取器109的存在涉及虚拟驱动器150从智能卡应用154送回对请求的响应,即便智能卡读取器109目前是不可访问的。由虚拟驱动器150发送的响应可以是用于表明智能卡读取器109没有接收新的数据的响应。
作为选择,代替从智能卡应用154发送轮询请求,所述智能卡应用154可以等待来自智能卡读取器109的输入事件,其中所述输入事件表明智能卡已经被插入到所述智能卡读取器109中。
把由智能卡应用154从智能卡读取器109接收的安全信息与在远程计算机102的存储装置132中存储的安全信息数据库156中的安全信息相比较。安全信息数据库156存储多个用户的安全信息,所述用户被授权访问远程计算机102。
在其它实现方式中,代替智能卡读取器,输入外围设备109可以是用于控制用户访问本地计算机100和远程计算机102的另一类型的输入安全设备(例如,用于键入安全码的小键盘等)。在又一其它实现方式中,输入外围设备109可以是其它类型的外围设备,诸如USB耳机。用户可以希望USB耳机的图像出现在两个远程计算机中的每一个上。
本地计算机100包括用于与智能卡读取器109相交互的结合(coalescing)设备驱动器160。“结合”设备驱动器160是设备驱动器,所述设备驱动器能够有选择地与远程计算机102中选择的不同远程计算机102建立不同的会话以便向选择的远程计算机102发送智能卡数据。例如,用户可以希望连接到不同的远程计算机102。结合设备驱动器160能够与选择的远程计算机102中相应的智能卡设备驱动器152交换信息(数据和控制信息)。结合设备驱动器160允许经由网络104在(连接的远程计算机102中)智能卡应用154和(在本地计算机100中的)智能卡读取器109之间的交互。另外,当本地计算机100被连接到多个远程计算机102时,结合设备驱动器160能够结合来自远程计算机的多个呼叫。例如,如果输入外围设备109是USB耳机,那么结合驱动器109可以把来自多个远程计算机的音频数据混合到一个流中以便在USB耳机输出。另一方面,如果输入外围设备109是智能卡读取器,那么结合驱动器109可以执行更多的智能功能,包括提供用于存储某些信息的高速缓冲存储器。
数据网络104可以依照网际协议(IP)传送数据。HID设备108和智能卡读取器109可以经由到本地计算机100中的USB控制器112的通用串行总线(USB)链路110(有线或无线USB链路)被附着到本地计算机100。在上述实现方式中,与HID设备108或智能卡读取器109相关的任何数据采用USB数据的形式,所述USB数据在经由数据网络104传递的IP分组中被传送到远程计算机102。尽管在描述的实施例中参考“USB”和“IP”,不过应当注意,依照一些实施例的技术可以适用于依照其它类型的协议的数据分组。
本地计算机100被认为是“接收系统”,并且每个远程计算机102被认为是“发送系统”。因而,本地计算机100包括接收器软件114,并且远程计算机102包括发送器软件116。发送器软件116用于经由数据网络104向本地计算机100(接收系统)中的接收器软件114发送远程计算机102(发送系统)的桌面视频数据和音频数据,其中在显示设备106处显示桌面视频数据,并且由音频输出设备107输出音频数据。注意,由发送器软件116发送的桌面视频数据和音频数据是实际的再现(rendering)视频数据和再现音频数据,其可以由相应的显示设备和音频输出设备再现。再现视频数据和再现音频数据不同于在源视频文件(例如,MPEG文件)或源音频文件中包含的数据,其必须被转换为可以由相应的输出设备再现的格式。
远程计算机102中的发送器软件116从远程计算机102中的视频子系统136中接收视频数据。视频子系统136的视频数据可由被附着到远程计算机102的显示设备显示。然后发送器软件116对被发送到接收器软件114的视频数据应用压缩,所述接收器软件114然后可以在显示设备106显示视频数据之前对视频数据执行解压缩。
类似地,发送器软件116从远程计算机102中的音频子系统137中接收音频数据。音频子系统137的音频数据可以由被附着到远程计算机102的音频输出设备输出。发送器软件116还向被发送到接收器软件114的音频数据应用压缩,所述接收器软件114然后可以在音频输出设备107处输出音频数据之前对音频数据执行解压缩。
注意,在一些实现方式中实际的显示设备或音频输出设备不必连接到远程计算机102的视频子系统136或音频子系统137;然而在其它实现方式中,显示设备或音频输出设备可以被连接到远程计算机102。
在一些实施例中,发送器软件116和接收器软件114依照来自Hewlett-Packard(惠普)公司的远程图形软件(RGS)协议。RGS被设计成充分利用远程计算机的计算机和图形资源以便递送从本地计算机的交互式远程访问。在不同的实施例中,发送器软件116和接收器软件114可以依照来自微软公司的远程桌面协议(RDP)操作,以便经由网络连接提供远程显示和输入能力。在进一步实施例中,发送器软件116和接收器软件114可以依照其它技术。
结合设备驱动器160与USB控制器112相交互以便执行关于智能卡读取器109的操作。另外,本地计算机100中的设备驱动器118与USB控制器112相交互以便执行关于HID设备108的操作。例如,设备驱动器118可以接收HID设备108变化的指示(诸如当用户已经移动鼠标、启动键盘、移动滚动球型输入设备、相对于平板移动输入设备等时)。
分别通过在本地计算机100和远程计算机102中的网络接口120和122提供在本地计算机100和远程计算机102之间发送的(包括HID设备数据和智能卡数据)数据。每个网络接口120和122包括物理网络接口控制器以及协议堆栈,包括IP协议堆栈。网络接口120经由数据网络104在相应的IP分组中向远程计算机102发送USB数据(智能卡数据和/或HID数据)。IP分组被远程计算机102中的网络接口122接收,所述远程计算机102从IP分组中提取USB智能卡数据和/或HID数据。
在发送器软件116从接收器软件114接收的智能卡数据被转送到虚拟驱动器150,所述虚拟驱动器150继而向智能卡读取器设备驱动器152发送智能卡数据以便转送到智能卡应用154。
在发送器软件116处接收的HID设备数据被转送到虚拟内插器(interposer)124。虚拟内插器124拦截来自远程计算机102中的HID设备驱动器126的呼叫,所述呼叫打算送给被附着到本地计算机100的远程HID设备108。虚拟内插器124防止对远程外围设备的呼叫到达远程计算机102中操作系统的较低级(内核)设备驱动器。
每个远程计算机102中的其它设备驱动器(未示出)可以创建分别被提供到音频子系统137和视频子系统136的音频数据和视频数据,以便被相应的输出设备再现,诸如被连接到本地计算机100和远程计算机102的相应输出设备。
远程计算机102还包括一个或多个软件应用134。一个软件应用134可以接收并处理来自HID设备108的更新信息。
本地计算机100包括被连接到存储器139的一个或多个中央处理器(CPU)138。本地计算机100的软件模块(诸如接收器软件114和设备驱动器118)可在(多个)CPU 138上执行。
远程计算机102类似地包括被连接到存储装置132的一个或多个CPU 140。远程计算机102的软件模块可在(多个)CPU 140上执行,所述软件模块诸如(多个)软件应用134、设备驱动器126、虚拟内插器124、虚拟驱动器150、智能卡读取器设备驱动器152、智能卡应用154和发送器软件116。
图2图示了由本地计算机100执行的过程。本地计算机100(在202)与第一远程计算机102建立连接(或会话)。建立这种连接涉及接收器软件114与第一远程计算机102的相应发送器软件116建立连接。
在已经与第一远程计算机102建立连接之后,本地计算机100中的结合设备驱动器160(在204)从智能卡读取器109接收信息,诸如用于表明智能卡已经被插入到智能卡读取器109中的指示。接收的信息(例如,用户安全证书)可以被结合驱动器160高速缓存(以供将来使用)。结合设备驱动器160然后(在206)与第一远程计算机102的智能卡应用154相交互以便执行关于智能卡读取器109的任务。
稍后,本地计算机100(在208)与第二远程计算机102建立另一连接(或会话)。在与第二远程计算机102连接之后,结合软件160知道它保持连接到智能卡读取器109。结合软件160(在210)向第二远程计算机102发送模拟的卡插入事件以便向第二远程计算机表明已经在智能卡读取器109接收了智能卡。注意,结合驱动器160已经高速缓存了用户安全证书,所述用户安全证书可以在请求时被提供到第二远程计算机102。结合设备驱动器160然后(在212)与第二远程计算机102的智能卡应用154相交互以便执行关于智能卡读取器109的任务。
如果稍后从智能卡读取器109中移除智能卡,那么结合驱动器160能够向所有连接的远程计算机发送智能卡移除事件。
图3图示了在远程计算机102执行的依照实施例的过程。如果虚拟驱动器150检测到远程计算机102被连接到本地计算机100,那么虚拟驱动器150(在302)实现在远程计算机102中的智能卡应用154和被附着到本地计算机100的智能卡读取器109之间的交互。
然而,如果虚拟驱动器150检测到远程计算机102未被连接到本地计算机100,那么虚拟驱动器150(在304)执行智能卡读取器的模拟以便模拟智能卡读取器的存在,即使所述智能卡读取器未被连接。在其模拟模式中,虚拟驱动器150处理来自智能卡应用154的请求并且提供对此类请求的响应。注意在一些其它实例中,如果未连接智能卡读取器,那么虚拟驱动器150可以选择停止模拟智能卡读取器。
加载上述软件(包括图1的接收器软件114、结合驱动器160、设备驱动器118、发送器软件116、虚拟驱动器150、智能卡读取器设备驱动器152、虚拟内插器124和设备驱动器126)的指令以便在处理器(诸如图1中的一个或多个CPU 139、140)上执行。所述处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器)或其它控制或计算设备。“处理器”可以指的是单个组件或多个组件(例如,一个CPU或多个CPU)。
(软件的)数据和指令被存储在相应的存储设备中,所述存储设备被实现为一个或多个计算机可读或计算机可用存储介质。存储介质包括不同形式的存储器,包括半导体存储设备,诸如动态或静态随机访问存储器(DRAM或SRAM)、可擦除和可编程的只读存储器(EPROM)、电可擦除和可编程的只读存储器(EEPROM)和闪速存储器;磁盘,诸如固定、软盒可拆卸磁盘;其它磁介质,包括磁带;和光介质,诸如光盘(CD)或数字视频盘片(DVD)。注意,上面论述的软件的指令可以在一个计算机可读或计算机可用存储介质上提供,或作为选择,可以在可能具有多个节点的大型系统中分布的多个计算机可读或计算机可用存储介质上提供。这种计算机可读或计算机可用存储介质或媒体被认为是产品(或制造产品)的一部分。产品或制造产品可以指的是任何制造的单个组件或多个组件。
在以上描述中,阐明了许多细节以便提供对本发明的理解。然而,本领域技术人员应当理解,本发明可以在没有这些细节的情况下实施。虽然已经相对于有限的实施例公开了本发明,不过那些本领域技术人员据此应当理解许多变型和变化。所附权利要求旨在覆盖落入本发明的真正精神和范围内的这种变型和变化。

Claims (14)

1.一种在包括经由网络连接到多个发送计算机的接收计算机的网络布置中使用的方法,包括:
在接收计算机和多个发送计算机中的第一发送计算机之间建立第一会话,其中所述第一会话涉及向所述第一发送计算机提供被附着到所述接收计算机的外围设备的数据,其中向所述第一发送计算机中的外围设备的第一设备驱动器提供所述外围设备的数据;并且
在所述接收计算机和多个发送计算机中的第二发送计算机之间建立第二会话,其中所述第二会话涉及向所述第二发送计算机提供被附着到所述接收计算机的外围设备的数据,其中向所述第二发送计算机中的外围设备的第二设备驱动器提供所述外围设备的数据。
2.如权利要求1所述的方法,其中建立第一和第二会话包括建立其中在接收计算机和所述第一和第二发送计算机中的虚拟驱动器之间发生通信的第一和第二会话,其中所述虚拟驱动器将模拟在对应的第一和第二发送计算机中的外围设备。
3.如权利要求2所述的方法,其中所述第一和第二设备驱动器将与所述第一和第二发送计算机中的相应虚拟驱动器相交互。
4.如权利要求2所述的方法,其中建立第一和第二会话包括建立其中在接收计算机中的结合驱动器和对应的第一和第二发送计算机之间发生通信的第一和第二会话,其中所述结合驱动器能够有选择地与所述第一和第二发送计算机中的不同发送计算机通信。
5.如权利要求1所述的方法,进一步包括:
所述接收计算机经由网络远程访问在多个发送计算机中的每一个中的资源;并且
所述接收计算机向在多个发送计算机之一中的用户输入设备驱动器发送在被附着到所述接收计算机的用户输入设备处所接收的用户输入。
6.如权利要求5所述的方法,其中远程访问资源包括远程访问视频资源,其中从远程计算机之一向所述接收计算机发送再现视频数据。
7.如权利要求1所述的方法,其中在所述第一和第二会话中提供外围设备的数据包括提供输入安全设备的数据。
8.如权利要求1所述的方法,其中在所述第一和第二会话中提供外围设备的数据包括提供智能卡读取器的数据。
9.如权利要求1所述的方法,其中在所述第一和第二会话中提供外围设备的数据包括提供通用串行总线(USB)设备的数据。
10.一种第一计算机,包括:
处理器;
可在所述处理器上执行的虚拟驱动器,用于模拟被连接到第二计算机的外围设备,所述第二计算机经由网络被连接到第一计算机;和
可在所述处理器上执行的发送器软件,用于有选择地在所述第一计算机和第二计算机之间建立连接,其中:
如果所述第一计算机被连接到所述第二计算机,那么所述虚拟驱动器实现在所述第一计算机中的软件应用和被附着到所述第二计算机的外围设备之间的交互,并且
如果所述第一计算机未被连接到所述第二计算机,那么所述虚拟驱动器作为被附着到所述第二计算机的外围设备的模拟器起作用以便模拟所述外围设备的存在,即使所述外围设备是不可访问的。
11.如权利要求10所述的第一计算机,其中所述虚拟驱动器将模拟输入安全设备。
12.如权利要求10所述的第一计算机,进一步包括用于接收关于被附着到所述第二计算机的用户接口设备的更新的设备驱动器,和用于存储再现视频数据以便在显示设备上输出的视频子系统,其中所述发送器软件可执行来向所述第二计算机发送所述再现视频数据以便在所述第二计算机处显示。
13.一种包括至少一个计算机可读存储介质的产品,包含当执行时用于使接收计算机进行如下操作的指令:
有选择地经由网络与多个发送计算机中的不同的发送计算机建立会话;
当在所述接收计算机和第一发送计算机之间建立会话时从结合设备驱动器向多个发送计算机中的第一发送计算机发送输入外围设备的数据,其中所述输入外围设备被附着到所述接收计算机,并且其中所述输入外围设备的数据被提供到所述第一发送计算机中的输入外围设备的第一设备驱动器;并且
当在所述接收计算机和第二发送计算机之间建立会话时从所述结合设备驱动器向多个发送计算机中的第二发送计算机发送输入外围设备的数据,其中向所述第二发送计算机中的输入外围设备的第二设备驱动器提供所述输入外围设备的数据。
14.如权利要求13所述的产品,其中所述输入外围设备借助通用串行总线链路被附着到所述接收计算机。
CN200980155751.8A 2009-01-29 2009-01-29 有选择地向多个发送计算机传送外围设备的数据 Expired - Fee Related CN102301360B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2009/032377 WO2010087829A1 (en) 2009-01-29 2009-01-29 Selectively communicating data of a peripheral device to plural sending computers

Publications (2)

Publication Number Publication Date
CN102301360A true CN102301360A (zh) 2011-12-28
CN102301360B CN102301360B (zh) 2015-08-05

Family

ID=42395878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980155751.8A Expired - Fee Related CN102301360B (zh) 2009-01-29 2009-01-29 有选择地向多个发送计算机传送外围设备的数据

Country Status (6)

Country Link
US (1) US8762544B2 (zh)
CN (1) CN102301360B (zh)
BR (1) BRPI0920478B1 (zh)
DE (1) DE112009004075T5 (zh)
GB (1) GB2479103B (zh)
WO (1) WO2010087829A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003878A (zh) * 2014-11-26 2017-08-01 株式会社Ntt都科摩 信息通信终端、外围设备协作方法及程序

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001553B2 (en) * 2007-06-25 2011-08-16 Microsoft Corporation Aggregate computer system via coupling of computing machines
TW201033810A (en) * 2009-03-03 2010-09-16 Asustek Comp Inc System for sharing and method for managing hardware apparatus
DE112009004968T5 (de) * 2009-03-12 2012-07-12 Hewlett-Packard Development Co., L.P. Dynamische Fernperipherieanbindung
WO2010123523A1 (en) * 2009-04-24 2010-10-28 Citrix Systems, Inc. Methods and systems for preventing a local display device from displaying data generated by a remote computing device
US8781119B2 (en) 2010-12-14 2014-07-15 Nxp, B.V. User-controlled Random-ID generation function for smartcards
US9092608B2 (en) * 2010-12-14 2015-07-28 Nxp B.V. Random-ID function for smartcards
KR101251250B1 (ko) * 2011-07-01 2013-04-08 알서포트 주식회사 원격 디바이스 드라이버를 이용한 원격 제어 시스템 및 원격 디바이스 드라이버를 이용한 원격 제어 방법
CN103135879B (zh) * 2011-11-28 2016-07-06 联想(北京)有限公司 显示方法、显示装置和电子设备
US9268517B2 (en) * 2011-12-07 2016-02-23 Adobe Systems Incorporated Methods and systems for establishing, hosting and managing a screen sharing session involving a virtual environment
US8928727B1 (en) * 2012-09-06 2015-01-06 Google Inc. Sharing input device data in a multiway video conference provided in an online social network
EP2950229B1 (en) * 2014-05-28 2018-09-12 Nxp B.V. Method for facilitating transactions, computer program product and mobile device
CN107111570A (zh) * 2015-01-30 2017-08-29 惠普发展公司有限责任合伙企业 在显示设备机械地连接和断开时持续维持用户会话的计算机系统
US10757748B2 (en) 2017-07-19 2020-08-25 Hewlett-Packard Development Company, L.P. Device and display device having attached mode and detached mode
EP4024242B1 (en) * 2020-12-29 2023-08-30 HID Global GmbH Reader device and method of configuring the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551592A (zh) * 2003-05-06 2004-12-01 精工爱普生株式会社 数据传输控制装置、电子设备及数据传输控制方法
CN1669015A (zh) * 2003-07-11 2005-09-14 微软公司 解析用以流化数据的分布式拓扑结构
US20060020702A1 (en) * 2002-05-21 2006-01-26 Microsoft Corporation Methods and systems for a receiver to allocate bandwidth among incoming communications flows
CN1910566A (zh) * 2002-03-28 2007-02-07 索尼电子有限公司 提供和控制子突发数据传递的方法和系统
CN101258478A (zh) * 2005-09-07 2008-09-03 微软公司 高级图形流

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327613B1 (en) 1998-01-12 2001-12-04 Adaptec, Inc. Method and apparatus for sharing peripheral devices over a network
US6801952B2 (en) * 1998-08-31 2004-10-05 Nortel Networks Limited Method and devices for providing network services from several servers
US6895588B1 (en) * 1999-04-09 2005-05-17 Sun Microsystems, Inc. Remote device access over a network
US8762540B2 (en) * 2004-09-01 2014-06-24 Hewlett-Packard Development Company, L.P. Managing multiple remote computing sessions displayed on a client device
US7941508B2 (en) * 2006-09-29 2011-05-10 Hewlett-Packard Development Company, L.P. Associating multiple devices with remote computers
US20080320500A1 (en) 2007-06-25 2008-12-25 Microsoft Corporation Remote human interface device in an aggregate computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1910566A (zh) * 2002-03-28 2007-02-07 索尼电子有限公司 提供和控制子突发数据传递的方法和系统
US20060020702A1 (en) * 2002-05-21 2006-01-26 Microsoft Corporation Methods and systems for a receiver to allocate bandwidth among incoming communications flows
CN1551592A (zh) * 2003-05-06 2004-12-01 精工爱普生株式会社 数据传输控制装置、电子设备及数据传输控制方法
CN1669015A (zh) * 2003-07-11 2005-09-14 微软公司 解析用以流化数据的分布式拓扑结构
CN101258478A (zh) * 2005-09-07 2008-09-03 微软公司 高级图形流

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨毅,张跃冬: "计算机外围设备的网格化研究和实现", 《计算机应用研究》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003878A (zh) * 2014-11-26 2017-08-01 株式会社Ntt都科摩 信息通信终端、外围设备协作方法及程序
CN107003878B (zh) * 2014-11-26 2020-07-24 株式会社Ntt都科摩 信息通信终端、外围设备协作方法及存储介质

Also Published As

Publication number Publication date
CN102301360B (zh) 2015-08-05
WO2010087829A1 (en) 2010-08-05
GB2479103A (en) 2011-09-28
BRPI0920478A2 (pt) 2015-12-22
US8762544B2 (en) 2014-06-24
GB201112677D0 (en) 2011-09-07
GB2479103B (en) 2014-01-01
US20110283002A1 (en) 2011-11-17
BRPI0920478B1 (pt) 2020-03-17
DE112009004075T5 (de) 2013-02-07

Similar Documents

Publication Publication Date Title
CN102301360B (zh) 有选择地向多个发送计算机传送外围设备的数据
CN204595844U (zh) Usb多电脑切换器
CN113079216B (zh) 一种云应用的实现方法、装置、电子设备及可读存储介质
US20170201563A1 (en) Video data providing method, video playback method, device, and system
CN107527222A (zh) 信息处理方法和装置及系统
CN108989381A (zh) 一种远程交互方法及系统
CN102378976A (zh) 使用多个处理器的图像压缩加速
CN103345855B (zh) 一种用于教学的投影切换系统和投影切换方法
CN108696649A (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN102891851A (zh) 虚拟桌面访问控制方法、设备及系统
CN102301361B (zh) 在通过网络连接的第一与第二计算机之间的流中传送数据
CN100353330C (zh) 一种基于ip网络的磁盘镜像方法
CN102301359B (zh) 通过计算机之间的网络提供用户接口装置处的变化的指示
WO2023179395A1 (zh) 一种数据传输系统、方法、服务系统、设备及存储介质
CN103678244A (zh) 一种不使用应用处理器的智能设备
CN112748893A (zh) 无线投屏方法、装置及系统
CN112328356B (zh) Android与Windows的互通方法、装置、存储介质及计算机设备
CN113590243A (zh) 能源企业项目创建方法、装置、计算机设备及介质
CN103914453A (zh) 本地资源访问方法、本地资源访问装置和电子设备
CN113835816A (zh) 一种虚拟机桌面显示方法、装置、设备及可读存储介质
CN112395043A (zh) 一种校园私有云部署方案及系统
US6618685B1 (en) Non-invasive testing of smart cards
CN102387118A (zh) 一种数据输出方法及装置
TWI691859B (zh) 依服務指令進行身份確認以執行對應服務之系統及方法
CN115694860A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150805