CN1976310B - Communication method using bus interface over a network - Google Patents

Communication method using bus interface over a network Download PDF

Info

Publication number
CN1976310B
CN1976310B CN200610100129.5A CN200610100129A CN1976310B CN 1976310 B CN1976310 B CN 1976310B CN 200610100129 A CN200610100129 A CN 200610100129A CN 1976310 B CN1976310 B CN 1976310B
Authority
CN
China
Prior art keywords
usb
remote
remote system
client
equipment
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.)
Expired - Fee Related
Application number
CN200610100129.5A
Other languages
Chinese (zh)
Other versions
CN1976310A (en
Inventor
萨斯·K·库玛
明·特朱明·霍格
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.)
Broadcom Corp
Zyray Wireless Inc
Original Assignee
Zyray Wireless 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 Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN1976310A publication Critical patent/CN1976310A/en
Application granted granted Critical
Publication of CN1976310B publication Critical patent/CN1976310B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

A method and system for universal serial bus (USB) re-direct (USB-R) over a network may comprise receiving at a local client device via a network, remote client device detection data corresponding to a remote client device that is plugged into a remote system. The local client device may request access to the remote client device that is plugged into the remote system by communicating device access data. The remote client device that is plugged into the remote system may be mapped as a USB device at the local client device. The local client device may receive information from the remote system via the network, confirming the requested access to the remote client device that is plugged into the remote system.

Description

The method communicating by bus interface in network
Technical field
The present invention relates to network interface field, more particularly, relate to a kind of method and system that USB (USB) is redirected (USB-R) of realizing in network.
Background technology
In nineteen ninety-five, exploitation obtains alliance of the initial You Yi of USB (USB) company.The main purpose of USB is to define outside expansion bus, thereby ancillary equipment can be connected to simply on personal computer (PC) as phone being connected to insertion metope jack.The ease for use of USB and low cost make it highly successful on market, and global most ancillary equipment provides commercial city to carry out development according to its technical specification.
A task of systems soft ware is exactly to provide unified system view for all application software.Can adopt systems soft ware to hide hard-wired details, thereby it is portable that application software is more easily transplanted.Systems soft ware can be managed the dynamic connection of ancillary equipment and remove.This stage is called enumerates (enumeration), and comprising communicating by letter with ancillary equipment and then finding the device drives that it should be installed, if this driving uninstalled words still, systems soft ware should be written into.During enumerating, each ancillary equipment has been assigned with a unique address, for use in the data transmission of run duration.At run duration, host PC starts the processing to certain peripherals, and each ancillary equipment is accepted its processing separately and correspondingly made response.In addition, host PC software is integrated into ancillary equipment in system energy conservation mechanism, without user intervention, can manage all system energy.
Hub can will provide additional connectivity to be connected to additional ancillary equipment for USB ancillary equipment and the energy being managed that is connected ancillary equipment.Hub can be identified the dynamic connection of ancillary equipment, and provides the equipment energy for peripheral operation.The hub that can be new connection distributes a unique address, and the hub of cascade at most can be up to for example five layers.At run duration, hub can be used as two action translator, also can be as required up cable to main frame forward usb signal and at descending cable to device forwards usb signal.
Can adopt USB ancillary equipment to ask to obtain the processing that host PC sends.Ancillary equipment can be made response to controlling to process, and for example, request obtains the details about equipment and configuration thereof.Ancillary equipment usable criterion usb data form is to main frame transmission data or from host receiving data.To/from the normal data of PC main frame, moving and the data interpretation of ancillary equipment, the minor variations that adds PC host software can be USB and brings very large flexibility, can change hardly the software of PC main frame.The transmission rate of USB 1.1 ancillary equipment is 12Mb/s or 1.5Mb/s.
USB 2.0 standards are developed by USB 1.1 standards, and more high performance interface can be provided.The connector of USB1.1 and at full speed cable can be supported the USB 2.0 of higher rate without any change.More high transfer rate is by consult to decide between equipment and equipment, if certain ancillary equipment is not supported higher rate, the link transmission speed of equipment room by with this ancillary equipment, determine lower than 12Mb/s or 1.5Mb/s, be transmission rate operation.External USB 2.0 hubs may have different signaling rates on its each port.USB 2.0 is used the 40x multiplier of USB 2.0, and for high speed USB 2.0 ancillary equipment that connected, USB 2.0 hub input rates are that 480Mb/s and output speed are 480Mb/s; And for USB 1.1 ancillary equipment that connected, USB 2.0 hub input and output speed are 12Mb/s or 1.5Mb/s.USB 2.0 hubs can match the suitable data rate of the data rate that its downlink port is sent and connected device.The more high data rate of USB 2.0 likely provides new ancillary equipment, and for example, the performance of accessible more high bandwidth rear video conference camera can be better.
Systems soft ware can obtain the what's new that (comprehend) comprises USB 2.0 ancillary equipment, can optimize like this its performance, detect the also better configuration of this ancillary equipment of recommendation connection of sub-optimal configuration, for example, described sub-optimal configuration is to be for example connected to comprising on USB 1.1 hubs USB 2.0 ancillary equipment to be connected on USB 1.1 hubs.USB 2.0 hubs can be used for receiving the high speed processing of higher frame rate, and they are transferred in high speed USB 2.0 ancillary equipment and USB 1.1 ancillary equipment by data.Data rate function may need to increase the complexity of hub and the interim buffer memory of inputting high-speed data for preserving interim buffer memory.Under the situation of communicating by letter with USB 2.0 ancillary equipment that have been connected, hub forwards high speed signal to the USB2.0 uplink and downlink cable suitable.Can make like this USB 2.0 ancillary equipment can use most of bandwidth of USB 2.0.
In order to communicate with USB 1.1 ancillary equipment, USB 2.0 hubs should comprise a kind of mechanism, and this mechanism support is for mating with the realization of downstream plant ability with the data rate of downstream plant performance.This hub can be used for the conversion of managing data rate from the high data rate of console controller to the low speed data rate of USB 1.1 equipment.
USB device can be managed by local usb host controller and suitable host software, and then USB device is configured, operates, is monitored and manages.But, in order to make can to support some USB device with the main frame of limited local intelligent, when can local entity during local entity based on to remote location transmitted signal, can on this remote location, carry out USB and process.For example, in client/server arranges, wherein client computer is the intelligent terminal with limited local processing capacity, supports that ancillary equipment provides flexibility, as USB 1.1 ancillary equipment such as keyboard, mouse and printers but can be.
With reference to accompanying drawing and the present invention hereinafter described, by the comparison of the present invention and traditional solution, those skilled in the art can more clearly understand restriction and the shortcoming of traditional solution.
Summary of the invention
In network, realize the method and system that USB (USB) is redirected (USB-R), can in conjunction with shown at least one width accompanying drawing or described in absolutely prove, and can obtain more complete description in the claims.
According to an aspect of the present invention, provide a kind of method communicating by bus interface in network, the method comprises:
By network, on local client equipment, receive with the corresponding remote client devices of the remote client devices that is connected to remote system and detect data;
Described local client device request access is connected to the described remote client devices of described remote system; And
The described remote client devices that is connected to described remote system is mapped as to the USB device on described local client equipment.
Preferably, the method further comprise the described remote client devices with being connected to described remote system is corresponding described in receiving remote client device detect data and output to the operating system that is arranged in described local client equipment.
Preferably, the method further comprises and according to described output, in described local client equipment Inspection, is connected to the described remote client devices of described remote system.
Preferably, the method further comprises by device access data are sent in described remote system through described network, and described local client device request access is connected to the described remote client devices of described remote system.
Preferably, the method further comprises that the device access data to being sent in described remote system by described network encode.
Preferably, the method is further included in described local client equipment, the corresponding described remote client devices of the described remote client devices with being connected to described remote system is detected to data and translate to corresponding USB device detection event.
Preferably, the method further comprises the described USB device that the described remote client devices that is connected to described remote system is expressed as to described local client equipment.
Preferably, the method is further included in described local client equipment and from described remote system, receives information by described network, confirms being connected to the described access request of the described remote client devices of described remote system.
Preferably, described remote client devices is remote USB client device.
Preferably, described remote client devices is long-range non-USB client device.
According to an aspect of the present invention, a kind of machine readable storage is provided, has wherein stored the computer program that at least comprises a code segment, this program can be transmitted by bus interface in network, described at least one code segment can be carried out by machine, and then makes machine complete following step:
By network, on local client equipment, receive with the corresponding remote client devices of the remote client devices that is connected to remote system and detect data;
Described local client device request access is connected to the described remote client devices of described remote system; And
The described remote client devices that is connected to described remote system is mapped as to the USB device on described local client equipment.
Preferably, this machine readable storage also comprises code, for described in the described remote client devices with being connected to described remote system is corresponding receiving remote client device detect data and output to the operating system that is positioned at described local client equipment.
Preferably, this machine readable storage also comprises code, for according to described output, is connected to the described remote client devices of described remote system in described local client equipment Inspection.
Preferably, this machine readable storage also comprises code, and for by device access data are sent to described remote system through described network, described local client device request access is connected to the described remote client devices of described remote system.
Preferably, this machine readable storage also comprises code, for the device access data that are sent to described remote system by described network are encoded.
Preferably, this machine readable storage also comprises code, for at described local client equipment, the corresponding described remote client devices of the described remote client devices with being connected to described remote system is detected to data and translate to corresponding USB device detection event.
Preferably, this machine readable storage also comprises code, for the described remote client devices that is connected to described remote system being expressed as to the described USB device of described local client equipment.
Preferably, this machine readable storage also comprises code, for receiving information by described network from described remote system at described local client equipment, confirms being connected to the described access request of the described remote client devices of described remote system.
Preferably, described remote client devices is remote USB client device.
Preferably, described remote client devices is long-range non-USB client device.
According to an aspect of the present invention, provide a kind of system communicating by bus interface in network, this system comprises:
For receiving on local client equipment by network with the corresponding Terminal Server Client of remote client devices that is connected to remote system, establish the processor that respectively detects data;
Described processor can make described local client device request access be connected to the described remote client devices of described remote system; And
Described processor can be mapped as the USB device on described local client equipment by the described remote client devices that is connected to described remote system.
Preferably, described processor can the described remote client devices with being connected to described remote system is corresponding described in receiving remote client device detect data and output to the operating system that is arranged in described local client equipment.
Preferably, described processor can be connected to according to described output the described remote client devices of described remote system in described local client equipment Inspection.
Preferably, described processor can be by being sent to device access data in described remote system through described network, and request access is connected to the described remote client devices of described remote system.
Preferably, described processor is encoded to the device access data that are sent in described remote system by described network
Preferably, described processor can, at described local client equipment, detect data by the corresponding described remote client devices of the described remote client devices with being connected to described remote system and be converted to corresponding USB device detection event.
Preferably, described processor can be expressed as the described remote client devices that is connected to described remote system the described USB device of described local client equipment.
Preferably, described processor can receive information by described network from described remote system at described local client equipment, confirms being connected to the described access request of the described remote client devices of described remote system.
Preferably, described remote client devices is remote USB client device.
Preferably, described remote client devices is long-range non-USB client device.
Preferably, the described processor that is positioned at local client equipment is network interface controller.
Below with accompanying drawing in, will further illustrate the details of above-mentioned and other advantage, innovative point and specific embodiment of the present invention.
Accompanying drawing explanation
Fig. 1 is the driver of USB subsystem and the block diagram of control unit interface that can be combined with the embodiment of the present invention;
Fig. 2 is redirected according to the USB between local system and remote system of the embodiment of the present invention block diagram connecting;
Fig. 3 is according to the block diagram of the exemplary architecture that realizes the redirected client rs PC of USB of the embodiment of the present invention;
Fig. 4 is the block diagram of the single computer USB system with USB 2.0 hubs that can be combined with the embodiment of the present invention;
Fig. 5 a is according to the location of the embodiment of the present invention and determines the exemplary steps flow chart that is connected to the USB device in Terminal Server Client;
Fig. 5 b is according to the location of the embodiment of the present invention and determines the exemplary steps flow chart that is connected to the non-USB device in Terminal Server Client;
Fig. 6 is connected to the exemplary steps flow chart of the equipment in Terminal Server Client according to the access of the embodiment of the present invention.
Embodiment
A kind of method and system of realizing USB (USB) redirected (USB-R) in network comprises: by network, on local client equipment, receive with the corresponding remote client devices of the remote client devices that is connected to remote system and detect data.By transmission equipment visit data, this local client equipment can request access be connected to the described remote client devices of described remote system.The described remote client devices that is connected to described remote system can be mapped as the USB device on described local client equipment.Local client equipment receives the information from remote system by network, and confirms being connected to the access request of the remote client devices of remote system.
USB be redirected without by USB device physical connection in local system, although because physical device may be positioned at remote port, local system can utilize the USB device of any type.Can shine upon USB function by software, and simulate different equipment, for example, in local system, connected device looks like usb memory stick and stores content and can be mapped to file or the catalogue in remote system.When being mapped to local system, the seeming as user has just inserted new USB device of this equipment.When mapping finishes, this equipment seems as user, USB device to be extracted.Diversity and the alliance of remote system service become flexible and changeable, because mapping and USB function are redirected in local area network (LAN), complete.
Fig. 1 is the driver of USB subsystem and the block diagram of control unit interface that can be combined with the embodiment of the present invention.As shown in Figure 1, comprising client driver 102, usb driver (USBD) 104, Host Controller Driver device (HCD) 106, main controller hardware module 108 and USB device module 110.
Client driver 102 can comprise suitable logic, circuit and/or code, can be used for by the additional USB device of USBD 104 management.USBD 104 can comprise suitable logic and/or code, can be used for realizing the exchanges data between main frame and additional USB ancillary equipment.Additional peripheral devices can be by sharing USB bandwidth by the agreement based on token of host schedules.HCD 106 can be used for for main controller 108 resource allocation and deallocations provide abstract (abstraction), thereby provides guaranteed service for USB device 110.HCD 106 can be provided for carrying out required abstract software interface.HCD 106 may be arranged in the lowermost layer of software stack, and with a client, i.e. USB driver (USBD).
USBD can be mapped to suitable HCD by the request from a plurality of clients, and HCD can manage a plurality of main controllers conversely.Main controller 108 can comprise suitable logic, circuit and/or code, is used to the input and output of main system storage that high speed bus interface is provided.When data buffer storage need to fill or empty, main controller 108 will be notified USB system.USB device module 110 can comprise a plurality of USB device, as flash memory device, network camera, digital camera, modulator-demodulator, printer, scanner, mouse, keyboard or phone.
When connecting upper USB device 110, hub detects this variation, and hub driver is from this hub reception notification.Hub driver utilizes information that hub provides from USBD requesting service identifier.USBD is conversely to hub driver Returning equipment identifier.For each USB device 110, before equipment can be used, may require multinomial configuration.Equipment configuration comprises the USB parameter of the equipment of setting and the usb host resource of minute pairing equipment visibility.Configuration software description to each possible configuration by fetch equipment descriptor request.This Information Availability is in being written into particular clients, and as device driver, and device driver is initial and equipment reciprocation is also equipment option and installment.Equipment configuration the end points on equipment can be set and return can be by USBD client the set of interfaces for transfer of data.Initial configuration can be used the default setting of interface and the default bandwidth of each end points.While selecting initial configuration, USBD equipment also can allow client specified interface.USB system can be verified and supports that whether the required resource of end points is available and correspondingly distribute required bandwidth.
Fig. 2 is redirected according to the USB between local system and remote system of the embodiment of the present invention block diagram connecting.As shown in Figure 2, comprising client rs PC 204, long-range PC 206 and the ethernet link 208 that connects client rs PC 204 and long-range PC 206.Long-range PC 206 comprises supervisor console 210 and resource module 212.
Client rs PC 204 can comprise suitable logic, circuit and/or code, for asking information or the application from server.Client rs PC 204 can comprise firmware and/or other code, and for by communication protocol, the USB device that is connected to long-range PC 206 being mapped to client rs PC 204, this communication protocol can be the Ethernet protocol that for example ethernet link 208 is used.Supervisor console 210 can comprise USB redirection of virtualization and mapping software, and then by the communication protocol such as ethernet link 208 etc., the USB device that is connected to long-range PC 206 is mapped to client rs PC 204.Resource module 212 can comprise actual USB device and/or software mapping simulation resource, and simulation resource can be by the communication protocol mapping such as ethernet link 208 grades to client rs PC 204.
Virtual and the mapping software of remote USB-R or other code can provide the establishment of device map, the termination of device map and transmission and receive virtual USB-R order and data in network.Remote USB-R is virtual can provide USB device virtual with mapping software or other code equally, for the USB order from USB-R and data are translated to shone upon equipment or data.In one embodiment of the invention, due to the interdependency between USB-R hardware, USB-R firmware or other code and network interface controller (NIC), these parts can be integrated into one single chip, thereby reduce costs and provide better integrated solution.The system of integration USB-R equipment is installed, according to the mapping occurring in USB-R virtualization software, can has various additional USB device.
Fig. 3 is according to the block diagram of the exemplary architecture that realizes the redirected client of USB of the embodiment of the present invention.As shown in Figure 3, comprising client rs PC 304, memory module 306, USB, be redirected subsystem 302 and ethernet link 316.USB is redirected subsystem 302 can comprise register 310, peripheral parts interconnected (PCI) bridge 312 and processor, and processor can be counted as network interface controller (NIC) 314.
Client rs PC 304 can comprise suitable logic, circuit and/or code, for asking information or the application from server.Client rs PC 304 can be by being mapped to client rs PC 304 such as communication protocols such as ethernet links 316 by the USB device that is connected to long-range PC.Client rs PC 304 can be stored data, and by the canned data in pci bus or local bus access memory module 306.USB is redirected subsystem 302 can comprise USB redirection of virtualization and mapping software, thereby by the communication protocol such as ethernet link 316 grades, the USB device that is connected to long-range PC is mapped to client rs PC 304.In one embodiment of the invention, interdependency due to 314 of USB-R hardware, USB-R firmware or other code and network interface controllers (NIC), these parts can be integrated into one single chip, thereby reduce costs and provide better integrated solution.Register 310 can comprise suitable logic, circuit and/or code, for managing and/or translate by the USB device that is connected to long-range PC, by ethernet link 316, receives the data that obtain.PCI bridge 312 can comprise suitable logic, circuit and/or code, for receiving the data obtain and extend out bus by PCI or PCI and be connected to client rs PC 304 and storage 306 from being connected to the USB device of long-range PC.NIC 314 can comprise suitable logic, circuit and/or code, can receive data from being connected to the USB device of long-range PC.By receiving data from sending work station, NIC 314 can be a plurality of network building-out equipment service is provided, and as work station and printer etc., by this data encoding, is particular data packet format, as ethernet packet format, and the data that received are sent to register 310 and PCI bridge 312.The firmware that USB is redirected (USB-R) subsystem 302 can be embedded in USB-R hardware, and can monitor USB-R hardware capability and network traffics, carries out USB to the conversion between ethernet traffic at USB-R hardware and 314 of NIC simultaneously.
Firmware and NIC 314 that USB is redirected subsystem 302 can translate the packet receiving from long-range PC by ethernet link 316.If data accepted bag is USB 1.1 packets, send it to open master interface (OHCI), and if data accepted bag is high speed USB 2.0 packets, send it to expansion master interface (EHCI).At long-range PC end, can in software, simulate OHCI and EHCI function, this software can be used for receiving oneself connecting the device access information of USB device, and the data that receive is sent to the NIC 314 of local client by ethernet link 316.
USB is redirected subsystem 302 and can be used for operating part USB main controller function, for client rs PC 304 and operating system (OS), is equivalent to the main controller based on PCI.Can keep main control register and memory interface structure, without any great change.Except the data serial on USB, these data can be sent in LAN with coding form or be received by ethernet link 316, thereby can not affect usb bus regularly.In an exemplary embodiments of the present invention, data transmission fault can be solved by OS or other timeouts of BIOS level.In one embodiment of the invention, according to its energy consumption demand, be connected to the not restriction of USB device number of long-range PC, because be connected to the virtual unit that the equipment of remote system can be mapped as native client end system.
Fig. 4 is the block diagram of the single computer USB system with USB 2.0 hubs that can be combined with the embodiment of the present invention.As shown in Figure 4, comprising server 401, USB 2.0 hubs 411 and USB 1.1 equipment 412.Server 401 comprises suitable logic, circuit and/or code, can be used for processing the various requests from client computer, for example, print, or the access control of voice mail, Email and fax services etc.Server 401 also can be used for processing mass data.USB 2.0 hubs 411 comprise suitable logic, circuit and/or code, can be used for increasing the USB port number on personal computer (PC).USB 1.1 EM equipment module 412 can be flash memory device, network camera, digital camera, modulator-demodulator, printer, scanner, mouse, keyboard or phone.
USB system 400 can be used for several USB device 412 to be connected in the main controller on server 401 by a series of USB 2.0 hubs 411.USB device and hub have relevant pipeline or logic channel, and described pipeline or the logic channel main controller from server 401 is connected to the logic entity on the equipment that is called end points.
Each end points can transmit data in a direction, is input to equipment or exports from equipment, so each pipeline is unidirectional.All USB device have two such pipeline/end points at least, for the end points 0 of the equipment on control bus.On each equipment, there is the input and output pipeline that is numbered 0.According to transport-type, these pipelines can be divided into four kinds of different types, control transmission, synchronous transmission, interruption transmission and bulk transfer.Control transmission and can be used for for the short and small of equipment and simply order, and the condition responsive of controlling pipeline numbering 0 from bus.Can use synchronous transmission, have given pace to guarantee but possibility obliterated data, as real-time voice or video.Interrupt transmitting the equipment that can be used for the reliable response fast of needs or limited delay, for example, pointing device and keyboard.Bulk transfer can be used for a large amount of fragmentary transmission, can use all residual available bandwidth, but can not guarantee bandwidth or delay, for example, and file transfer.
When USB 1.1 equipment 412 are connected to the main controller on server 401 by the hub 411 in bus, main controller is given the 7 unique bit addresses in this devices allocation bus.Then main controller registration (poll) bus data flow, normally completes with polling mode, if like this less than from the explicitly calling for of main controller, all devices all cannot transmit any data in bus.
The USB device 412 that is connected to bus has a device descriptor, and a descriptor has one or more configuration descriptors.Each configures descriptor again one or more interface descriptor, and for describing some characteristic of equipment, so it can be used for different objects, and for example, camera can have Audio and Video interface.These interface descriptor have again the interface setting of an acquiescence and may have the setting of more replacement interfaces, and these interface settings have again endpoint descriptor.End points can and be replaced between interface setting and reuse at a plurality of interfaces.
If high-speed equipment is connected in full speed hub, its data rate will be reduced at full speed.High-speed hubs have and are called the specific function of processing transfer interpreter, full speed flow bus and low speed bus flow can be isolated from high speed flow.Processing transfer interpreter in High-speed hubs can play the complete independent function of bus at full speed as the full speed having connected and low-speed device.
Fig. 5 a is according to the location of the embodiment of the present invention and determines the exemplary steps flow chart that is connected to the USB device in Terminal Server Client.As shown in Figure 5 a, this typical flow process is from step 502.In step 504, long-range PC USB re-positioning device driver is arranged in long-range PC.In step 506, USB device is inserted in long-range PC.In step 508, the operating system of long-range PC detects the USB device of up-to-date insertion.In an embodiment of the present invention, the device driver of long-range PC detects the USB device of up-to-date insertion, and is reported to the operating system of long-range PC.In step 510, the operating system in long-range PC is registered and is enumerated the USB device of new insertion.For example, for the USB device of a plurality of new insertions, each in them is registered separately and is enumerated, thereby can be detected by client rs PC.In step 512, the USB of long-range PC is redirected the USB device that subsystem must be looked for novelty and be inserted.In step 514, by for example ethernet link, the equipment Inspection information of the USB device of newly inserting is sent in goal systems.In step 516, goal systems receives the Ethernet data bag that comprises equipment Inspection information from long-range PC.In step 518, the USB of goal systems is redirected firmware the equipment Inspection information of the USB device of newly inserting is outputed in the operating system of goal systems.In step 520, the operating system of goal systems detects the USB device of new insertion and is written into particular device and drives.In step 522, the appliance applications of goal systems can with long-range PC in the USB device of new insertion communicate.Finally this control flow finishes in step 524.
Fig. 5 b is according to the location of the embodiment of the present invention and determines the exemplary steps flow chart that is connected to the non-USB device in Terminal Server Client.As shown in Figure 5 b, this flow process starts from step 552.In step 554, long-range PC device driver is arranged in long-range PC.In step 556, non-USB device is inserted into long-range PC upper, as for improving serial advanced technology attachment feeder apparatus (SATA), Redundant Array of Independent Disks (RAID) (RAID), small computer system interface (SCSI) equipment, IEEE1394 live wire compatible equipment, PCI equipment, the PCI Express equipment of network attached storage (NAS) performance.In step 558, the operating system of long-range PC detects the non-USB device of new insertion.In an embodiment of the present invention, the device driver of long-range PC detects the non-USB device of up-to-date insertion, and is reported to the operating system of long-range PC.In step 560, the operating system of long-range PC is registered and is enumerated the non-USB device of new insertion.For example, for the non-USB device of a plurality of new insertions, each equipment should be registered separately and be enumerated, thereby client rs PC can be detected.In step 562, the USB of long-range PC is redirected subsystem can require (claim) new non-USB device of inserting.In step 564, the equipment Inspection information exchange of the non-USB device of newly inserting is crossed to ethernet link and be sent in goal systems.In step 566, goal systems receives the Ethernet data bag that comprises equipment Inspection information from long-range PC.In step 568, the USB of goal systems is redirected firmware the equipment Inspection information of the non-USB device of newly inserting is outputed in the operating system of goal systems.In step 570, the operating system of goal systems detects the non-USB device of new insertion and is written into particular device and drives.The non-USB device of the new insertion on long-range PC can be mapped to client rs PC, and can be shown as the USB device in client rs PC.In step 572, the appliance applications of goal systems can with long-range PC in the non-USB device of new insertion communicate.Finally this control flow finishes in step 574.
Fig. 6 is connected to the exemplary steps flow chart of the equipment in Terminal Server Client according to the access of the embodiment of the present invention.As shown in Figure 6, this typical process starts from step 602.In step 604, goal systems is attempted the USB device that access is positioned at the new insertion of long-range PC, for example, carries out read and/or write.In step 606, the USB of goal systems is redirected subsystem and sends to long-range PC above to request coding and by it, to access the USB device of the new insertion that is positioned at long-range PC.In step 608, the USB of long-range PC is redirected subsystem driver and from goal systems, receives the Ethernet data bag that comprises device access information.In step 610, the device driver of the USB device of the new insertion on the redirected subsystem driver of the USB of long-range PC and long-range PC is mutual.In step 612, the USB of long-range PC is redirected subsystem and Host Controller Driver device (HCD) can complete the access to the USB device of the new insertion on long-range PC.In step 614, the USB of long-range PC is redirected subsystem driver and will completes packet and be sent to goal systems, the completing of devices illustrated dial-tone stage.Finally this control flow finishes in step 616.
Another embodiment of the present invention can provide a kind of machine readable storage, wherein stored computer program, this program comprises the code segment that at least one machine can move, thereby makes machine carry out at local area network (LAN) (LAN) step that described USB (USB) is redirected (USB-R).
In an embodiment of the present invention, USB is redirected subsystem by the Fast Ethernet link between client and remote system, can provide from FTP client FTP to the transparent equipment access that is attached to the various resources of remote system.At FTP client FTP, the form that these remote resources can USB device is presented in client operating system software.In this, can provide the USB device of newtype, in local system, be shown as local USB device, but this USB function may be arranged in the remote system on network.
Physical device type, as keyboard, mouse, storage or other USB device, can pass through mapping software dynamic-configuration, and new USB device can be presented in local system.The operation of USB re-positioning device is the same with all other local USB device, but local system alternately may be by network redirection in shone upon remote system.When USB-R mapping process finishes, for local system, the demonstration of new USB device is equivalent under USB Root Hub the same, wherein can use additional host software equipment to drive, so that USB device can operate.The operation that host software is carried out can be caught and translate to USB-R firmware, is encapsulated as the form of network packet and is sent to the remote system with USB-R virtualization software by network.USB-R virtualization software comprises user interface, allows user's select target NIC, and local resource is mapped to the USB-R of remote system and determines to be shown as which kind of USB device type in goal systems.In addition, USB-R virtualization software convertible order and data from target USB-R equipment, and be shone upon resource by this order and data virtual.
The method and system communicating by bus interface in network can comprise processor, as network interface controller (NIC) 314, this network interface controller can pass through network, as the Ethernet of ethernet link 316 uses, at local client equipment, receive with the corresponding remote client devices of remote client devices and detect data, remote client devices comprises and being inserted in such as the actual USB in the remote system of long-range PC 206 and non-USB device.NIC 314 can be connected to the remote client devices on long-range PC 206 by request access.NIC 314 can be mapped as the USB device such as the local client equipment of client rs PC 204 by the remote client devices being connected on long-range PC 206.
NIC 314 can detect data by the corresponding remote client devices of the remote client devices with being connected to long-range PC 206 having received and output to the operating system that is arranged in local client PC 304.According to the output of receiving remote client device detection data, NIC 314 can be in local client equipment Inspection to the remote client devices that is connected to long-range PC 206.By device access data are sent to long-range PC 206 by the network such as ethernet link 316, NIC 314 can request access be connected to the remote client devices of long-range PC 206.NIC 314 can, by the network such as ethernet link 316, arrive long-range PC 206 by the device access data encoding having transmitted.At local client PC 304, NIC 314 can detect the corresponding remote client devices of the remote client devices with being connected to long-range PC 206 data and translate to corresponding USB device detection event.NIC 314 can be expressed as the remote client devices that is connected to long-range PC 206 USB device of local client PC 304.In local client PC 304, NIC 314 can be by the network such as ethernet link 316 from long-range PC 206 reception information to confirm being connected to the access request of the remote client devices of long-range PC 206.Remote client devices can be remote USB client device.Remote client devices can be also long-range non-USB client device, as for improving serial advanced technology attachment feeder apparatus (SATA), Redundant Array of Independent Disks (RAID) (RAID), small computer system interface (SCSI) equipment, IEEE 1394 live wire compatible equipments, PCI equipment, the PCIExpress equipment of network attached storage (NAS) performance.
Therefore, the present invention can be by hardware, software or soft and hardware in conjunction with realizing.The present invention can be at least one computer system realizes with centralized system, or is realized with dispersing mode by the different piece being distributed in the computer system of several interconnection.Any computer system or the miscellaneous equipment that can realize described method is all applicatory.The combination of conventional software and hardware can be the general-purpose computing system that computer program is installed, and by installing and carry out described program-con-trolled computer system, it is moved by described method.
The present invention can also implement by computer program, and described program package, containing whole features that can realize the inventive method, when it is installed in computer system, by operation, can be realized method of the present invention.Computer program in presents refers to: any expression formula that can adopt one group of instruction that any program language, code or symbol write, this instruction group makes system have information processing capability, directly to realize specific function, or after carrying out following one or two step, a) convert other Languages, coding or symbol to; B) with different forms, reproduce, realize specific function.
Although the present invention describes by several specific embodiments, it will be appreciated by those skilled in the art that, without departing from the present invention, can also carry out various conversion and be equal to alternative the present invention.In addition, for particular condition or concrete condition, can make various modifications to the present invention, and not depart from the scope of the present invention.Therefore, the present invention is not limited to disclosed specific embodiment, and should comprise the whole execution modes that fall within the scope of the claims in the present invention.

Claims (1)

1. the method communicating by bus interface in network, is characterized in that, described method comprises:
By described network, on local client equipment, receive with the corresponding remote client devices of the remote client devices that is connected to remote system and detect data;
By network, device access data are sent to remote system, described local client device request access is connected to the described remote client devices of described remote system;
The described remote client devices that is connected to described remote system is mapped as to the USB device on described local client equipment, wherein, by USB redirection of virtualization and mapping software, and by ethernet link, the described remote client devices that is connected to described remote system is mapped as to the USB device on described local client equipment;
The device access data that are sent in described remote system by described network are encoded; And
At described local client equipment, by described network, from described remote system, receive information, confirm being connected to the described access request of the described remote client devices of described remote system;
Described method further comprise the described remote client devices with being connected to described remote system is corresponding described in receiving remote client device detect data and output to the operating system that is arranged in described local client equipment;
Described method further comprises and according to described output, in described local client equipment Inspection, is connected to the described remote client devices of described remote system;
Described method is further included in described local client equipment, the corresponding described remote client devices of the described remote client devices with being connected to described remote system is detected to data and translate to corresponding USB device detection event;
Described method further comprises the described USB device that the described remote client devices that is connected to described remote system is expressed as to described local client equipment;
By USB, be redirected subsystem and network interface and translate the packet receiving from remote system by ethernet link, if the packet receiving is USB1.1 packet, send it to open master interface, if the packet receiving is USB2.0 packet, send it to expansion master interface; At described remote system end, the open master interface function of simulation and expansion master interface function in software, described software is used for receiving and the device access information that is connected to the described remote client devices of described remote system, and the data that receive are sent to described local client equipment by ethernet link; Described USB is redirected subsystem by the Fast Ethernet link between client and remote system, can provide from FTP client FTP to the transparent equipment access that is attached to the various resources of remote system;
Described remote system comprises redirection of virtualization and mapping software, its for the establishment of device map is provided, the termination of device map and in network transmission with receive virtual redirect command and data, and for the USB order from redirected and data are translated to shone upon equipment or data;
When described remote client devices is remote USB client device, locates and determine that the remote USB client device being connected in remote system comprises the following steps:
Remote USB client device re-positioning device driver is arranged in remote system;
Remote USB client device is inserted in remote system;
The operating system of remote system detects the USB device of up-to-date insertion, and is reported to the operating system of remote system;
Operating system in remote system is registered and is enumerated the remote USB client device of new insertion;
The USB of remote system is redirected the remote USB client device that subsystem must be looked for novelty and be inserted;
By ethernet link, the equipment Inspection information of the remote USB client device newly inserting is sent in goal systems;
Goal systems receives the Ethernet data bag that comprises equipment Inspection information from remote system;
The USB of goal systems is redirected firmware the equipment Inspection information of the remote USB client device newly inserting is outputed in the operating system of goal systems;
The operating system of goal systems detects the remote USB client device of new insertion and is written into particular device and drives;
The appliance applications of goal systems can with remote system in the remote USB client device of new insertion communicate;
When described remote client devices is long-range non-USB client device, locates and determine that the long-range non-USB client device being connected in remote system comprises the following steps:
Remote system device driver is arranged in remote system;
Long-range non-USB client device is inserted in remote system;
The operating system of remote system detects the long-range non-USB client device of new insertion;
The device driver of remote system detects the long-range non-USB client device of up-to-date insertion, and is reported to the operating system of remote system;
The operating system of remote system is registered and is enumerated the long-range non-USB client device of new insertion;
The USB of remote system is redirected the long-range non-USB client device that subsystem must be looked for novelty and be inserted;
The equipment Inspection information exchange of the long-range non-USB client device newly inserting is crossed to ethernet link to be sent in goal systems;
Goal systems receives the Ethernet data bag that comprises equipment Inspection information from remote system;
The USB of goal systems is redirected firmware the equipment Inspection information of the long-range non-USB client device newly inserting is outputed in the operating system of goal systems;
The operating system of goal systems detects the long-range non-USB client device of new insertion and is written into particular device and drives;
The long-range non-USB client device of the new insertion in remote system can be mapped to local client equipment, and can be shown as the USB device on local client equipment;
The appliance applications of goal systems can with remote system in the long-range non-USB client device of new insertion communicate.
CN200610100129.5A 2005-07-08 2006-06-28 Communication method using bus interface over a network Expired - Fee Related CN1976310B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69763405P 2005-07-08 2005-07-08
US60/697,634 2005-07-08

Publications (2)

Publication Number Publication Date
CN1976310A CN1976310A (en) 2007-06-06
CN1976310B true CN1976310B (en) 2014-04-16

Family

ID=38126116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610100129.5A Expired - Fee Related CN1976310B (en) 2005-07-08 2006-06-28 Communication method using bus interface over a network

Country Status (1)

Country Link
CN (1) CN1976310B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818486B2 (en) * 2008-08-15 2010-10-19 Icron Technologies Corporation Method and apparatus for connecting USB devices to a remote computer
US8937930B2 (en) 2009-11-19 2015-01-20 Qualcomm, Incorporated Virtual peripheral hub device and system
US20120182939A1 (en) 2011-01-14 2012-07-19 Qualcomm Incorporated Telehealth wireless communication hub and service platform system
JP2015510138A (en) 2011-12-05 2015-04-02 クゥアルコム・インコーポレイテッドQualcomm Incorporated Telehealth wireless communication hub device and service platform system
CN103873537A (en) * 2012-12-18 2014-06-18 无锡中科物联网基础软件研发中心有限公司 Remote sharing method and system for USB (Universal Serial Bus) device
US9804977B2 (en) * 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2341954A (en) * 1998-09-28 2000-03-29 Netcore Inc Sharing an image processing device via a local area network
CN1261699A (en) * 1999-01-21 2000-08-02 国际商业机器公司 Method and device of shared browser
JP2003256351A (en) * 2002-03-04 2003-09-12 Yamaha Corp Usb hub

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2341954A (en) * 1998-09-28 2000-03-29 Netcore Inc Sharing an image processing device via a local area network
CN1261699A (en) * 1999-01-21 2000-08-02 国际商业机器公司 Method and device of shared browser
JP2003256351A (en) * 2002-03-04 2003-09-12 Yamaha Corp Usb hub

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Takahiro Hirofuchi, Eiji Kawai, Kazutoshi Fujikawa, HidediSunahara,.USB/IP-a Peripheral Bus Extension for Device Sharing overIP Network.Proceedings of Usenix Annual Technical Conference.2005,47-60. *

Also Published As

Publication number Publication date
CN1976310A (en) 2007-06-06

Similar Documents

Publication Publication Date Title
EP1753190B1 (en) Method and system for USB re-direct over a network
CN111656336B (en) PCIE sending and receiving method, device, equipment and system
CA2657827C (en) Method and apparatus for distributing usb hub functions across a network
KR101219910B1 (en) Unified multi-transport medium connector architecture
US7356636B2 (en) Virtualized PCI switch
EP1750401B1 (en) USB 1.1 over a high speed link
US20070005867A1 (en) Virtual peripheral device interface and protocol for use in peripheral device redirection communication
CN109445905B (en) Virtual machine data communication method and system and virtual machine configuration method and device
CN1976310B (en) Communication method using bus interface over a network
TW201720123A (en) NVM express controller for remote access of memory and I/O over ethernet-type networks
CN110837488B (en) Message transmission method and device
CN105739930A (en) Storage framework as well as initialization method, data storage method and data storage and management apparatus therefor
US10216664B2 (en) Remote resource access method and switching device
CN112199314B (en) Universal USB device cross-platform transparent transmission method based on network
CN100493018C (en) Communication method via bus interface of network and and system thereof
EP2300925B1 (en) System to connect a serial scsi array controller to a storage area network
JP5482263B2 (en) Endpoint sharing system and data transfer method
US9658970B1 (en) Interconnection of peripheral devices on different electronic devices
KR102518287B1 (en) Peripheral component interconnect express interface device and operating method thereof
CN113220238B (en) Method for realizing universal SAS controller interface
TWI345711B (en)
Shu Storage Protocols
CN117294697A (en) USB device redirection method, device, network device and medium

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

Granted publication date: 20140416

Termination date: 20150628

EXPY Termination of patent right or utility model