No Working Group K. Muda Internet-Draft Y. Nishida Intended status: Standards Track K. Okada Expires: January 3, 2008 H. Yoshifuji R. Wakikawa Keio University July 2, 2007 Problem Statement of Internet Universal Serial Bus (iUSB) draft-muda-iusb-ps-00.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on January 3, 2008. Copyright Notice Copyright (C) The IETF Trust (2007). Muda, et al. Expires January 3, 2008 [Page 1] Internet-Draft Problem Statement of iUSB July 2007 Abstract This document describes the current status of the technologies that enable USB devices to be operated via networks, and states the need of new solutions and their requirements. This document is a problem statement document; it does not include specific protocol details. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Possible Scenarios . . . . . . . . . . . . . . . . . . . . . . 4 3. USB and iUSB Overview . . . . . . . . . . . . . . . . . . . . 5 4. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 8 5. Selected Solutions of iUSB . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 Intellectual Property and Copyright Statements . . . . . . . . . . 15 Muda, et al. Expires January 3, 2008 [Page 2] Internet-Draft Problem Statement of iUSB July 2007 1. Introduction As high-speed and high-bandwidth communication technologies have been developed and deployed, technologies such as iSCSI [iSCSI] that allows the use of the SCSI protocol over TCP/IP networks, have become more important. In fact, iSCSI-based Storage Area Networks (SAN) has become a cost-effective solution rather than using Fiber Channel. However, although SCSI can support a wide range of peripheral devices, such as hard disk, scanners, CD-ROM, Magneto Optical Disk, it is used only for hard disk recently. This is because technologies including USB and IEEE1394 are more commonly used to control other peripheral devices. Hence, the use of the iSCSI is limited, although controlling peripheral devices via networks can increase or enhance the availability of the devices. On the other hand, USB has become the de-facto technology to control various kinds of peripheral devices such as keyboard, mice, tablet, speakers, microphone, camera, flexible disk, scanner, TV radio tuner, game controller, printer, fingerprint scanner, card reader, and so on. There are several technologies that can operate these USB devices over networks. For example, some vendors provide a set of client and server software to share USB devices between two computers. To share USB devices, users need to install the server software on the computer where the USB devices are plugged in and the client software needs to be be installed on the PCs that control the USB devices. However, since the specification of those technologies have not been defined yet, users always have to use the set of software from the same vendors. Considering this situation, it is highly important for IETF to standardize the specification for iUSB (Internet Universal Serial Bus). Common protocol of iUSB is to be used to share USB devices over IP. The standard for iUSB can enhance the availability of USB devices and will promote more flexible interactions between computers and peripheral devices. Muda, et al. Expires January 3, 2008 [Page 3] Internet-Draft Problem Statement of iUSB July 2007 2. Possible Scenarios With iUSB, the USB devices would be shared over the networks. For example, iUSB would be useful in the following situations: Using devices at remote locations With iUSB, it becomes possible to use USB devices at remote locations as similar as connecting the device to the local computer. For example, it becomes possible to use a scanner at home on a computer at office. With iUSB, devices would not be bound to the computer, but the devices can be shared in larger scale than just a local computer. Control remote computers Input devices, such as keyboard and mice, are one of the most popular USB devices. By sharing USB input devices on iUSB, remote computers on networks can be controlled with one input device. The function may be similar to a KVM switch, but iUSB would not depend on cable length and availability of USB ports on the remote computers. Current products are sold for the purpose of sharing the devices, printers for example. These market-sold products are often used at home or small office where the users want to share an USB device on two or three computers. With iUSB, the scalability of this "device sharing" would increase as it provides more flexible ways of sharing and controlling devices. Muda, et al. Expires January 3, 2008 [Page 4] Internet-Draft Problem Statement of iUSB July 2007 3. USB and iUSB Overview USB Overview The basic way of connecting an USB device and a host is as follows. +--------+ USB Cable +--------+ | USB +---------------------+ Client | | Device +---------------------+ Host | +--------+ +--------+ Figure 1: Basic Diagram of USB Connection +--------+ USB Cable /------\ USB Cable +--------+ | USB +-------------+ USB +-------------+ Client | | Device +-------------+ Hub +-------------+ Host | +--------+ \--++--/ +---++---+ || || || || USB Cable +--------+ USB Cable || || | USB +-------------+| +---++---+ | Device +--------------+ | USB | +--------+ | Device | +--------+ Figure 2: Basic Diagram of USB Connection with an USB Hub A host is connected to the USB device with USB cable, and USB hubs can be used to extend the number of USB ports. iUSB Overview iUSB, which is a function to send and receive USB messages over IP, will have a server and a client. First, here is the terms that need to be defined in an iUSB specification. iUSB Server Muda, et al. Expires January 3, 2008 [Page 5] Internet-Draft Problem Statement of iUSB July 2007 iUSB server is the host where the actual USB device is connected. iUSB Client iUSB client is the host that connects to an iUSB server and use the USB device attatched to the server. Client host connects to the server host, and the client host makes a virtual connection with the USB device, which is connected to the server host. Virtual Connection += = = = = = = = = = = = = = = = = = = = = = = =+ | | +----+----+ USB Cable +--------+ IP Network +----+----+ | USB +-------------+ iUSB +**************| iUSB | | Device +-------------+ Server +**************| Client +---+ +---------+ +--------+ +---+-+---+ | * * | * * | +---------+ USB Cable +--------+ IP Network * * | | USB +-----------+ Server +**************** * | | Device +-----------+ Host +****************** | +----+----+ +--------+ | | | += = = = = = = = = = = = = = = = = = = = = = = = = =+ Virutal Connection Figure 3: An Example Diagram of Explaining the iUSB When the iUSB client connects to an USB device on an iUSB server, a virtual connection will be made between the iUSB client and the shared USB device. In order to define the iUSB specification, we need to define several aspects for iUSB: Packet Format iUSB packets are the IP packets that would contain URB (USB Request Block, the message which is used between an USB device and an USB Host Controller to interact with each other) in its payload. This format should be defined and standardized in order to be sure of the iUSB interoperability. Muda, et al. Expires January 3, 2008 [Page 6] Internet-Draft Problem Statement of iUSB July 2007 How to make a packet The steps of enclosing and extracting the URB's in the IP packet should be standardized in order to be sure of the iUSB interoperability. USB event processing USB event processing is critical in order for making the USB devices to function. This event processing procedure should also be standardized as the method of sending and receiving URB should be the same even in different iUSB vendors. USB ID management USB ID management is another important factor in thinking of iUSB protocol. USB devices on each host is managed with the USB port ID's. Because the ID's are managed on each host, the standardized way of defining and managing USB ID's is necessary in building the iUSB specification. We believe that wireless USB can be refered to define the iUSB. Wireless USB uses packet exchange. We can easily adapt wireless USB specification for iUSB as well. Muda, et al. Expires January 3, 2008 [Page 7] Internet-Draft Problem Statement of iUSB July 2007 4. Problem Statement We perceive that the following issues are needed to be addressed for iUSB technologies. Interoperability iUSB needs to be interoperable among different implementations. Thus, the standardization is required at IETF. iUSB should also be implementable on any platform. To archive this goal, the design of iUSB should be platforms independence. Delay and Loss Tolerant USB is designed for the cable connection between USB client and machine. The USB specification assumes only minimal delay and loss. However, IP infrastructure may cause higher delay and loss than the USB cable. The iUSB must be delay and loss tolerant. Sending USB requests and responses via networks will be delayed due to the link propagation delay and network congestion. Several packets might be lost somewhere in a network. iUSB will need a sophisticated way to conceal these delay and loss of the packets. Network Speed Network speed is one important aspect for using iUSB. According to the USB specification, the transfer rate of High-Speed USB 2.0 is 480Mbps, which is four times faster than 100BASE LAN. Devices that do not require fast USB connection, such as input devices and web cameras, would not have much problems. On the other hand, for devices that require a fast USB connection, such as storage devices, faster network connection is required. iUSB specification must be able to operate over the path which does not guarantee the bandwidth. Security Since iUSB allows USB devices to be accessed over the IP, security should be an important factor for iUSB. For example, because iUSB will transfer device signals over the Internet Protocol, contents of signals, which may contain data such as files and personal information, could be tapped without a proper security. Thus, all the packets of iUSB must be securely transmitted. Authentication and Access Control Muda, et al. Expires January 3, 2008 [Page 8] Internet-Draft Problem Statement of iUSB July 2007 iUSB should also consider authentication and access control. Because iUSB is a device that is on a network, anyone can access to any devices on the networks without a proper authentication and a proper access control. USB Device Discovery Device discovery schemes which can assist users to find available USB devices in a network would increase the availability of iUSB. For example, users need to be able to find where the remote iUSB device is. For example, users need to be able to discover what device is shared over the network. For example, users need to be able to connect to the iUSB device without having confusions of where the device is. Finding available USB devices in a network is necessary for increasing the availability of iUSB. When iUSB connects USB device and machine, they should negotiate the USB device type and ID each other. iUSB must provide this capability as USB ID's are necessary in order to manage the USB devices that are connected to a host. Muda, et al. Expires January 3, 2008 [Page 9] Internet-Draft Problem Statement of iUSB July 2007 5. Selected Solutions of iUSB There are several solutions that exist in market today. USB/IP Project [USBIP] The USB/IP Project aims to develop a general USB device sharing system over IP network and provide Linux kernel implementation and applications. However, the implementation depends on the operating system. Hence, there are several issues to interact with other implementations. Wireless USB [Wireless USB] Wireless USB enables USB devices to be connected through wireless technology. However, it is based on the USB common radio platform and does not support IP. Hence, it can only be used within a single wireless network and cannot traverse the Internet. Other proprietary products We perceive that several vendors provide the technologies that enable USB devices to be controlled via networks. For example, some vendors provide a set of client and server software to share USB devices between two PCs as described above. Some vendors provide sets of special USB HUB and control software. The USB devices connected to the special USB HUB can be controlled via network from the computer where the control software is installed. However, the specification of those technologies are not open to the public and they cannot interact each other. The following are the examples of devices that allow to share USB devices over the network: * FabulaTech, Inc., USB over Network, http://www.fabulatech.com/usb-over-network.html * Silex Technology, USB Device Servers (SX-1000U, SX-2000U2, SX- 2000WG), http://www.silexamerica.com/ index.php?option=com_content&task=view&id=19&Itemid=85 * Netgear, Mini Print Server (PS101), http://www.netgear.com/ Products/PrintServers/WiredPrintServers/PS101.aspx These solutions are independent from each other; the solutions can only interact with the same product. Therefore, a standardized protocol of iUSB is necessary for interoperating various network- shared USB devices. Muda, et al. Expires January 3, 2008 [Page 10] Internet-Draft Problem Statement of iUSB July 2007 6. Security Considerations Because this is a problem statement document, there are no security considerations for this document. Muda, et al. Expires January 3, 2008 [Page 11] Internet-Draft Problem Statement of iUSB July 2007 7. IANA Considerations Because this is a problem statement document, there are no IANA Considerations for this document. Muda, et al. Expires January 3, 2008 [Page 12] Internet-Draft Problem Statement of iUSB July 2007 8. References [iSCSI] J. Satran, at el, ``Internet Small Computer Systems Interface (iSCSI)'', RFC3270, April 2004 [USBIP] USBIP Project: http://sourceforge.net/projects/usbip/ [Wireless USB] The Wireless USB Promoter Group, http://www.usb.org/developers/wusb/ Muda, et al. Expires January 3, 2008 [Page 13] Internet-Draft Problem Statement of iUSB July 2007 Authors' Addresses Keisuke Muda Keio University Faculty of Environment and Information Studies, Keio University 5322 Endo, Fujisawa, Kanagawa 252-8520 Japan Email: muda@sfc.wide.ad.jp Yoshifumi Nishida Keio University Graduate School of Media and Governance, Keio University 5322 Endo, Fujisawa, Kanagawa 252-8520 Japan Email: nishida@sfc.wide.ad.jp Kouji Okada Keio University Graduate School of Media and Governance, Keio University 5322 Endo, Fujisawa, Kanagawa 252-8520 Japan Email: okada@sfc.wide.ad.jp Hideaki Yoshifuji Keio University Graduate School of Media and Governance, Keio University 5322 Endo, Fujisawa, Kanagawa 252-8520 Japan Email: yoshfuji@sfc.wide.ad.jp Ryuji Wakikawa Keio University Faculty of Environment and Information Studies, Keio University 5322 Endo, Fujisawa, Kanagawa 252-8520 Japan Email: ryuji@sfc.wide.ad.jp Muda, et al. Expires January 3, 2008 [Page 14] Internet-Draft Problem Statement of iUSB July 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Muda, et al. Expires January 3, 2008 [Page 15]