l|||||||||||||ll||l||||||||l|||||||||||||||||||||l|||||||||||||||||||l|||||||||||||||||||| US 20040268012A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2004/0268012 A1 Ferguson (54) (43) Pub. Date: USER RESOURCE SHARING THROUGH (52) Dec. 30, 2004 US. Cl. ............................................................ .. 710/313 THE USB INTERFACE (76) Inventor: Patrick Lee Ferguson, Cypress, TX (US) (57) ABSTRACT Correspondence Address: HEWLETT-PACKARD DEVELOPMENT A method of sharing user resources in a computer system COMPANY Intellectual Property Administration R0‘ BOX 272 400 through a universal serial bus (USB) interface. The method may involve, not necessarily in this order, associating at Fort Collins CO 80527_2400 (Us) least one USB device With a ?rst user and at least another ’ (21) Appl. No.: USB device With a second user; assigning the ?rst user to a 10/461,895 ?rst USB port; assigning the second user to a second USB _ port; permitting the ?rst user to temporarily assume control (22) Flled: Jun‘ 13’ 2003 of the computer system through the ?rst USB port for Publication Classi?cation (51) operation of the at least one USB device; and blocking the Int. Cl.7 ................................................... .. G06F 13/20 second user from access to the computer system While the ?rst user has temporary control of the computer system. 300 335 ?/?/ 311 f/ 321 Transmitter -— Receiver Host Com uter sysfefn . s 309 // HOSTsystem Computer‘ __ Manageabili‘fy sw'l'ch _ f/ 313 , System M I _ 5 Jr u tl- ys em . SWIM M 323 Transmitter —— Receiver Transmitter ?/ — Receiver ?/ 1 Host Computer _ User l [331 // 3 7 327 _ Multn-System _ Swwch Tronsmltter — Recelver 337 User Host Computer _ System 319 Transmitter 329 [339 Receiver 4 User Patent Application Publication Dec. 30, 2004 Sheet 1 0f 5 US 2004/0268012 A1 sh) mom/22N O8SN5 S 3 L Q 2 m E 8 : P C . Q28\~\v H 5/] 5/)Hmi mo~\~\‘ \ . \\L3.ab2?twé0m:c1p. |_sut<.Lz6?m2E“8c:o3?. .3 N 5: 8; $509156 E963 // HON _ILEPDSQIE Q // L,uGtoiEIu E963 mom Patent Application Publication Dec. 30, 2004 Sheet 3 0f 5 US 2004/0268012 A1 .404 408 USB \r / R145 Hub Cir'cui‘rry 406 ' \ Tr'ansrni’r’rer Core USB Hos’r Controller‘ 402 / Fig. 4 504 505 / RJ' 45 USB Hub Circuitry 502 Receiver 506 Fig. 5 Patent Application Publication Dec. 30, 2004 Sheet 4 0f 5 ‘601 US 2004/0268012 A1 use 2.0 Controller Host I Split Start USB 2.0 Signaling 607 Transaction Split Complete Transactio Extension Transmitte Extension 629 Function 611 = 613 Forward Extension Signaling 617 Transaction Request Return Transaction Results 619 Extension Function Extension Receiver 621 625 USB 2.0 Hub (Downstream) USB1.1 Signaling Execute Full/ Low Speed Transaction USB 1.1 Device USB1.1 USB 1.1 Device Device ‘ USB 1.1 Device 627 627 627 627: Fig. 6 Patent Application Publication Dec. 30, 2004 Sheet 5 0f 5 US 2004/0268012 A1 701 USB 2.0 Host Controller ' USB 2.0 Hub 711 709 USB 1.1 Downstream Dec. 30, 2004 US 2004/0268012 A1 USER RESOURCE SHARING THROUGH THE USB INTERFACE requirements. The USB standard requires strict adherence to these transaction latency and electrical requirements, Which limits the USB extension distance, rather than alloW the several hundred meters of a typical KVM mode. CROSS-REFERENCE TO RELATED APPLICATIONS [0008] In addition, the USB requirements prevent the use [0001] The present application is related to the following of a KVM sWitch because a sWitch may degrade the USB US. applications Which are incorporated herein in their signaling and further reduce the overall extension distance. entireties: US. application Ser. No. , ?led , entitled “USB Interface Extension Through Split Transac tion Protocol” by Ferguson (Attorney Docket No. P01 4020); US. application Ser. No. , ?led , entitled “Extension of USB Functionality Through ShadoWing of a Remote USB Host Controller” by Ferguson (Attorney Docket No. P01-3865); and US. application Ser. No. , ?led , entitled “Method of KVM Extension Using USB to Legacy Adapters” by Ferguson (Attorney Docket No. P01-3866). BACKGROUND OF INVENTION [0002] 1. Field of the Invention [0003] The present disclosure relates generally to increas ing the functionality of a computer USB port and, more speci?cally, to implementing the sWitching of USB devices KVM interfaces also enable multiple users to simulta neously access a single computer system Which aggravates the problems of a KVM sWitch When USB signaling is introduced. Old methods of sWitching PS/2 keyboard and mouse interfaces include physically passing a keyboard and mouse from user to user. In another solution, a PS/2 sWitch has the ability to block devices to a user When another user’s device is in operation to avoid user contention. One obvious disadvantage of the these old methods is that all but one user is blocked While another user controls the computer. [0009] Many other problems and disadvantages of the prior art Will become apparent to one skilled in the art after comparing such prior art With the present invention as described herein. BRIEF DESCRIPTION OF THE FIGURES betWeen users Without the need for a separate sWitching device. [0010] Abetter understanding of the present invention can be obtained When the folloWing detailed description in [0004] 2. Description of the Related Art conjunction With the folloWing ?gures. [0005] Preventing multiple users from simultaneously [0011] FIG. 1 is a block diagram of a basic computer interface extension solution in accordance With embodi ments of the present invention. accessing computer resources is a problem in USB computer system architectures. This problem becomes increasingly advanced When users access peripherals in computer inter face extension solutions. For example, a standard computer interface, or a keyboard, video display and a mouse, must be located close to the computer to Which it is attached. A keyboard/video/mouse (KVM) extender enables a computer interface to be located at a greater distance from the com puter than is typically possible With a standard interface. For example, a company can place all its employees’ computers in a rack-mounted system in a locked room and yet still provide a standard KVM interface at each employee’s desk. To the employee, it appears as though the computer is still located at the employee’s desk. This centraliZation of com [0012] FIG. 2 is a block diagram of another basic com puter interface extension solution Wherein a manageability sWitch is introduced into the solution in accordance With embodiments of the present invention. [0013] FIG. 3 is a block diagram of a computer interface extension solution Wherein a manageability sWitch and multi-system sWitches are introduced into the solution in accordance With embodiments of the present invention. [0014] FIG. 4 is a simpli?ed block diagram of exemplary transmitter circuitry components that are used in an exten sion transmitter in accordance With embodiments of the puters enables companies to maintain tighter security over their computers and also simpli?es the computers’ mainte nance by locating them in a single place. present invention. [0006] In addition, a KVM sWitch can enable multiple computers to be accessed by means of a single set of keyboard, video display and mouse. This is convenient in the receiver circuitry components that are used in an extension receiver in accordance With embodiments of the present invention. situation in Which a user accesses multiple computers such [0016] FIG. 6 is a How diagram of the extension topology and operational How of a basic computer interface extension solution incorporating USB split transactions in accordance With embodiments of the present invention. as an application server, a Web or email server and a game box. With a KVM sWitch, the user can access multiple computers With a single interface, thus reducing the cost of both components and maintenance. [0007] Although, the KVM extension mode of operation typically supports some standard user I/O protocols, or “legacy” protocols, such as PS/2, analog video, and serial communications, a universal serial bus (USB) connection presents several problems. Most interface extensions such as KVM use simple, loW frequency data rates and protocols, [0015] FIG. 5 is a simpli?ed block diagram of exemplary [0017] FIG. 7 is a diagram of data How of the method of the claimed subject matter as it applies to a USB multi-user sWitch in accordance With embodiments of the present invention. [0018] The components in the ?gures are not necessarily to scale, emphasis instead being placed upon illustrating the Whether using either analog or digital signal types. HoWever, USB has a very complex signaling protocol, data packet principles of the invention. In the ?gures, like reference structure and electrical speci?cation, as Well as short latency ferent vieWs. numerals designate corresponding parts throughout the dif Dec. 30, 2004 US 2004/0268012 A1 DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT systems, methods, features and advantages be included Within this description, be Within the scope of the invention, and be protected by the accompanying claims. [0019] Certain but not other aspects of the invention are computer system through a universal serial bus (USB) interface. The method may involve, not necessarily in this [0023] FIG. 1 is a block diagram of a basic computer interface extension solution 100 according to principles of the present invention. Although the solution 100 is illus order, associating at least one USB device With a ?rst user and at least another USB device With a second user; assign trated as having a host computer system 101 With an extension transmitter 103 (herein referred to as “transmit ing the ?rst user to a ?rst USB port; assigning the second user to a second USB port; permitting the ?rst user to ter”), for ease of understanding certain but not other prin ciples of the present invention, the solution 100 is illustrative temporarily assume control of the computer system through of only one of many embodiments that may be realiZed in realized through a method of sharing user resources in a the ?rst USB port for operation of the at least one USB device; and blocking the second user from access to the computer system While the ?rst user has temporary control of the computer system. [0020] In certain but not other embodiments, the blocking of the second user from access to the computer system is limited to devices assigned to the ?rst user. In some instances, the at least one USB device of the method is selected from the group consisting of a keyboard, a mouse, a joystick, and a USB human interface class device. The blocking of the method typically requires identi?cation of the at least one device and may includes a number of different identi?cation techniques. For example, the identi ?cation of the at least one device could include identifying a device class for the at least one device, it could include identifying the device through an application program that is resident on the computer system, it could include monitoring a USB device driver for the at least one USB device, or it could include snooping of USB transactions that occur betWeen the at least one USB device and the computer system. [0021] Still other aspects of the present invention are realiZed through a USB communication system for sharing user resources. The USB communication system may include a host computer system having a USB host control ler, a ?rst USB hub circuitry, and transmitter circuitry. The USB host controller may be con?gured to operate using a split transaction for the USB communications. In the illus trated embodiment, the USB communication system also includes receiver circuitry that has a second USB hub circuitry for receiving a non-USB format of USB commu nication signals as the signals appear betWeen split start and split complete transaction operations at the host computer system. The illustrated transmitter circuitry is con?gured to forWard the non-USB formatted USB communication sig accordance With principles of the present invention. The transmitter 103 is connected to an extension receiver 105 (herein referred to as “receiver” Which is connected to a user 107. The user 107 is representative of standard user interface products such as a keyboard, mouse, monitor, serial port, audio devices, USB ports, etc. The solution 100 is commonly implemented as a KVM extension, hoWever, as Will be understood When vieWing the description of the invention, the solution 100 includes more than typical KVM extension capabilities. For example, as described in greater detail herein, the same type of sWitching currently employed for PS/2 sWitching is implemented With USB interface devices. The ?exibility and expandability of USB is used to assign individual ports to different users Which alloWs enhanced sWitching control through the USB operational model. The USB sWitch is embedded in the USB topology and removes the need for a separate sWitching device. Further, although data travels bi-directionally betWeen the host computer system 101 and the user 107, in accordance With USB speci?cation terminology, the transmitter 103 and the receiver 105 are labeled as though data transfer occurs only in one direction, i.e., from the host computer system 101 to the user 107. [0024] The transmitter 103 and receiver 105 are connected With a single cable such as a cable compatible With all versions of category 5, 6, 7, or better cables. The connection could also be made With ?ber optic or other type of high speed data transmission cabling. The distance betWeen the transmitter 103 and receiver 105 ranges approximately 300 meters. In this manner are the user interface devices of the user 107 alloWed to communicate effectively With the host computer system 101 across long distances, “long” as com pared to user/host communication distances in a system Without the transmitter 103/receiver 105 pair. Although illustrated external to the host 101, the transmitter 103 may be positioned internal to the host computer system 101 and nals across an extension betWeen the transmitter circuitry and the receiver circuitry. A user transaction lockout ?lter use an internal connector With the motherboard of the may be placed betWeen the ?rst USB hub circuitry and the second USB hub circuitry that performs snooping of the USB communication signals that appear betWeen the split start and the split complete transaction operations at the host [0025] FIG. 2 is a block diagram of another basic com puter interface extension solution 200 Wherein a manage computer system. At least one USB user interface device is communicatively coupled to the receiver circuitry and system 101. ability sWitch 205 is introduced into the solution, Which includes multiple host computer systems 201 and 203. The solution 200 also includes multiple transmitters 207 and 209, and multiple receivers 211 and 213 that support the communication extension for multiple users 215 and 217, respectively. The manageability sWitch 205 encompasses receives USB communication signals from the second USB hub circuitry. These USB communication signals may cor respond to the non-USB formatted communication signals that appear betWeen the split start and split complete trans action operations at the host computer system. One or more users may share the host computer system through the technology used to map a speci?c user to a speci?c system, to converge a large number of systems to a small number of users for system administration or head trader access, and to receiver circuitry and the transmitter circuitry. share a single system betWeen tWo or more users. [0022] Other systems, methods, features and advantages [0026] FIG. 3 is a block diagram of a computer interface extension solution 300 Wherein a manageability sWitch 309 and multi-system sWitches 331 and 333 are introduced into the solution 300. The multi-system sWitches 331 and 333 of the invention Will be or Will become apparent to one With skill in the art upon examination of the folloWing ?gures and detailed description. It is intended that all such additional Dec. 30, 2004 US 2004/0268012 A1 enable users 335 and 337 to access multiple transmitter/ receiver pairs; i.e. a transmitter/receiver pair 311 and 321 and a transmitter/receiver pair 313 and 323 in the case of user 335 and a transmitter/receiver pair 315 and 325 and a transmitter/receiver pair 317 and 327 in the case of user 337. An administrative user 339 is also illustrated that provides the capability to monitor the users 337 and 335 and make adjustments to the solution 300 con?guration if necessary. The administrative user 339 accesses the manageability cation link represented by R145 connector 505. Due at least in part to the transmitter core 406, the USB hub 404 operation is as de?ned in USB 2.0 speci?cation chapter 11 Which describes the USB 2.0 to 1.1 translation requirements for split transactions. [0031] The split transaction protocol de?ned in the USB 2.0 speci?cation de?nes the converting of transactions betWeen 2.0 signaling and 1.1 signaling through a hub. The sWitch 309 via a transmitter/receiver pair 319 and 329. transmitter 402 implements the USB hub 404 Which attaches using 2.0 signaling to the host controller 405. All devices [0027] In general, users are assigned to each USB port such that each user’s collection of ports may be used to devices, thus requiring the split transaction protocol as assume control of the user interface of a host computer de?ned in the USB 2.0 speci?cation and described further system 341 and temporarily block other users for a speci?ed period of time. In the illustrated embodiment, blocking is herein. The split transaction protocol de?nes separate start and complete transactions betWeen the host controller 405 limited to devices assigned to the user. This includes but is not limited to keyboard, mouse, joystick, and USB HID be completed doWnstream from the transmitter hub 404. (human interface device) class devices. The operation requires the identi?cation of a device and device class through host applications, through USB device drivers, through snooping of USB transactions, or any combination of hardWare and softWare tools to identify the device and/or the device class. [0028] Once devices are identi?ed and assigned to users, transactions to and from the devices can be monitored by a device on the bus, such as a hub 703 (see FIG. 7). The hub 703 then identi?es Which device is in communication to the doWnstream from the transmitter hub 404 attach as 1.1 and the 2.0 hub to alloW the sloWer USB 1.1 transaction to [0032] This split transaction format provides an opportu nity to hide the extension electrical layer and latency. The transaction requests and responses are transported across the extension media to and from the receiver in a non-USB format Where the transaction is re-initiated as USB 1.1 transactions. The transmitter circuitry 402 manages the upstream 2.0 communication and the receiver circuitry 502 manages the doWnstream 1.1 communication. The extension device control of the host computer system 341 by tempo rarily disabling the doWnstream ports assigned to other users latency is absorbed in the latency betWeen the start and compete split transactions Which tolerate the additional latency and the true bus transaction latency still meets the USB speci?cation since it is contained entirely betWeen the receiver and the local doWnstream devices (e.g., betWeen the receiver 105 and the user 107). to prevent responses. All device addresses doWnstream of temporarily disabled ports must be knoWn and transactions addressed to these devices must respond With a NAK handshake to avoid the disconnect of the device for lack of [0033] FIG. 6 is a How diagram of the extension topology and operational How of a basic computer interface extension solution incorporating USB split transactions according to certain but not other aspects of the present invention. In the host via non-NAK (“negative acknowledgement”) responses, i.e., real data, and assigns the user that oWns that response. In the meantime, all temporarily disabled ports should forWard a token of some sort, generate bogus trans actions, or other meaningless activity to avoid being put into suspend mode. Although described in relation to the illus trated hub 703, the user sWitch hub may be implemented at any point in the USB topology, including the root hub. [0029] FIG. 4 is a simpli?ed block diagram of exemplary transmitter circuitry components 402 that are used in an extension transmitter (e.g., transmitter 103) according to certain but not other principles of the present invention. The transmitter circuitry components 402 employ the techniques of the claimed subject matter. The transmitter circuitry components 402 are con?gured to support the transmitter 103 in an extension solution such as the extension solution illustrated embodiment, a USB 2.0 Host Controller 601 operates at a host computer Where USB 2.0 signaling 603 begins a split start transaction 605 (also knoWn as a ‘start split’ transaction). An extension transmitter 607 includes a USB 2.0 hub 609 and an extension function 611. The extension function 611 coordinates extension signaling 613 such that non-USB signals may be forWarded by a forWard transaction request 615 to an extension receiver 617. The extension receiver 617 includes an extension function 619 that operates in conjunction With another USB 2.0 hub 621. With the assistance of at least the extension function 619, the USB hub 621 performs USB 1.1 signaling 623 to execute full/loW speed transactions 625 With at least one USB 1.1 device 627. 100. HoWever, unlike transmitter circuitry of the prior art, [0034] the transmitter circuitry 402 includes a USB hub 404 and USB host controller 405. The USB hub and host controller 404 and 405 are introduced such that the transmitter cir USB 2.0 host controller 601 by passing from a USB 1.1 device 627 to the USB 2.0 hub 621 Where the extension function 619 aids in the extension signaling 613 to send return transaction results 629. A split complete transaction cuitry components 402 operate With a USB protocol to In a similar manner, USB signals are sent to the support USB devices such as a keyboard and mouse oper 631 may then begin for the particular USB signaling that is ating at the user 107 end of the solution 100. The transmitter being extended. components 402 also include a transmitter core 406 and a communication link to a receiver, e.g., receiver 105, repre sented by R145 connector 408. [0030] FIG. 5 is a simpli?ed block diagram of exemplary receiver circuitry components 502 that are used in an extension receiver (e.g., receiver 105) that operates accord ing to and complements the transmitter circuitry components 402. The receiver circuitry components 502 include a USB hub component 504, a receiver core 506, and a communi [0035] In other Words, the USB 2.0 host controller 601 communicates With the extension transmitter 607, Which includes the upstream USB 2.0 hub 609 and the extension function 611, via USB 2.0 signaling 603. The extension function 611 communicates via extension signaling 613 With the corresponding extension function 619 in the extension receiver 617. As previously stated, the extension receiver 617 includes the doWnstream USB 2.0 hub 621. The exten sion receiver 617 communicates via USB 1.1 signaling 623 Dec. 30, 2004 US 2004/0268012 A1 to several USB 1.1 devices 627. In accordance With USB speci?cation terminology, the terms “upstream” and “doWn stream” With respect to the USB 2.0 hub 609 and the USB 2.0 hub 621 are used in compliance With the speci?cation terminology although, as Will be understood by those of ordinary skill in the art and vieWing this disclosure, in actual practice the communication is bi-directional so that What is upstream in one eXample could be doWnstream in another, and vice versa. [0036] FIG. 7 is a diagram of the data How of the method of the claimed subject matter as it applies to a USB multi user sWitch. A USB 2.0 host controller 701 communicates With a USB 2.0 hub 703 in order to communicate With USB 1.1 devices 705. The USB 2.0 hub 703 communicates USB 2.0 upstream 707 and USB 1.1 doWnstream 709. A user transaction lockout ?lter 711, that may include snooping functions for pulling ID information and monitoring and controlling bus activity, is introduced to facilitate the non USB signals that are the subject of the extension as previ ously described more fully herein. [0037] In the illustrated embodiment, the USB 2.0 hub 703 function is best implemented in a USB 2.0 hub that only alloWs USB 1.1 connections doWnstream. This creates a natural split in the USB topology betWeen 2.0 and 1.1 device transactions that can easily be intercepted during the con 4. The method of claim 1 Wherein the blocking requires identi?cation of the at least one device. 5. The method of claim 4 Wherein the identi?cation of the at least one device includes identifying a device class for the at least one device. 6. The method of claim 4 Wherein the identi?cation of the at least one device comprises identifying through an appli cation program that is resident on the computer system. 7. The method of claim 4 Wherein the identi?cation of the at least one device includes monitoring a USB device driver for the at least one USB device. 8. The method of claim 4 Wherein the identi?cation of the at least one device comprises snooping of USB transactions that occur betWeen the at least one USB device and the computer system. 9. The method of claim 8 Wherein signaling type for the snooping is selected from the group consisting of USB 1.1 protocol, USB 2.0 protocol, and split transaction protocol Within the USB 2.0 de?nition. 10. A USB communication system for sharing user resources comprising: version process. Using the split start and complete token a host computer system having a USB host controller, a requests, doWnstream transactions can be ?ltered before being initiated on the doWnstream ports. This avoids con ?rst USB hub circuitry, and transmitter circuitry, the USB host controller being con?gured to operate using tention conditions associated With real-time snooping and interception of transactions already initiated on the bus. a split transaction for the USB communications; [0038] Although a system and method has been described, receiver circuitry having a second USB hub circuitry that the invention is not intended to be limited to the speci?c form set forth herein, but on the contrary, it is intended to cover such alternatives, modi?cations, and equivalents, as can be reasonably included Within the spirit and scope of the signals as the signals appear betWeen split start and split complete transaction operations at the host com invention as de?ned by the appended claims. [0039] While various embodiments of the invention have been described, it Will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible that are Within the scope of this invention. receives a non-USB format of USB communication puter system, the transmitter circuitry being con?gured to forWard the non-USB formatted USB communica tion signals across an extension betWeen the transmitter circuitry and the receiver circuitry; a user transaction lockout ?lter disposed betWeen the ?rst system through a universal serial bus (USB) interface com USB hub circuitry and the second USB hub circuitry that performs snooping of the USB communication signals that appear betWeen the split start and the split complete transaction operations at the host computer prising: system; What is claimed is: 1. A method of sharing user resources in a computer associating at least one USB device With a ?rst user and at least another USB device With a second user; assigning the ?rst user to a ?rst USB port; assigning the second user to a second USB port; permitting the ?rst user to temporarily assume control of the computer system through the ?rst USB port for at least one USB user interface device communicatively coupled to the receiver circuitry that receives USB communication signals from the second USB hub cir cuitry, the USB communication signals corresponding to the non-USB formatted communication signals that appear betWeen the split start and split complete trans action operations at the host computer system; and operation of the at least one USB device; and one or more users sharing the host computer system blocking the second user from access to the computer system While the ?rst user has temporary control of the computer system. through the receiver circuitry and the transmitter cir cuitry. 2. The method of claim 1 Wherein the blocking of the 11. The USB communication system for sharing user second user from access to the computer system is limited to devices assigned to the ?rst user. 3. The method of claim 1 Wherein the at least one USB resources of claim 10 Wherein the one or more users that cuitry are con?gured to block other users of the devices that device is selected from the group consisting of a keyboard, are controlled by the one or more users. a mouse, a joystick, and a USB human interface class device. share the host computer system through the receiver cir
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement