KR101945840B1 - Server device connecting usb device, client device connecting server device, device driving method and device sharing method - Google Patents

Server device connecting usb device, client device connecting server device, device driving method and device sharing method Download PDF

Info

Publication number
KR101945840B1
KR101945840B1 KR1020110147706A KR20110147706A KR101945840B1 KR 101945840 B1 KR101945840 B1 KR 101945840B1 KR 1020110147706 A KR1020110147706 A KR 1020110147706A KR 20110147706 A KR20110147706 A KR 20110147706A KR 101945840 B1 KR101945840 B1 KR 101945840B1
Authority
KR
South Korea
Prior art keywords
usb
driver
client
client device
server
Prior art date
Application number
KR1020110147706A
Other languages
Korean (ko)
Other versions
KR20130078645A (en
Inventor
김경식
Original Assignee
삼성전자 주식회사
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 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR1020110147706A priority Critical patent/KR101945840B1/en
Publication of KR20130078645A publication Critical patent/KR20130078645A/en
Application granted granted Critical
Publication of KR101945840B1 publication Critical patent/KR101945840B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

본 발명은 USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법에 관한 것이다. 본 발명에 따른 네트워크를 통하여 클라이언트 디바이스와 연결되는 서버 디바이스는 USB 디바이스가 연결되는 USB 연결부와; 상기 USB 디바이스를 상기 클라이언트 디바이스와 공유하기 위한 USB over IP 드라이버와; 상기 USB 디바이스가 상기 클라이언트 디바이스에 연결되도록 상기 USB over IP를 제어하고, 상기 클라이언트 디바이스에 포함되어 있는 리소스를 이용하여 상기 USB 디바이스를 구동하는 가상 드라이버 모듈을 갖는 USB 디바이스 전용(redirection) 관리부를 포함한다. 이에 의해 USB 디바이스의 드라이버가 없는 상황에서도 USB 디바이스를 구동시킬 수 있는 USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법이 제공된다.The present invention relates to a server device to which a USB device is connected, a client device connected to the server device, a device driving method, and a device sharing method. A server device connected to a client device through a network according to the present invention includes a USB connection unit to which a USB device is connected; A USB over IP driver for sharing the USB device with the client device; And a USB device redirection manager having a virtual driver module for controlling the USB over IP to connect the USB device to the client device and for driving the USB device using resources included in the client device . Thereby, a server device to which a USB device capable of driving the USB device is connected, a client device to be connected to the server device, a device driving method, and a device sharing method are provided even in the absence of a USB device driver.

Description

USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법{SERVER DEVICE CONNECTING USB DEVICE, CLIENT DEVICE CONNECTING SERVER DEVICE, DEVICE DRIVING METHOD AND DEVICE SHARING METHOD}TECHNICAL FIELD [0001] The present invention relates to a server device to which a USB device is connected, a client device connected to the server device, a device driving method, and a device sharing method.

본 발명은 USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법에 관한 것으로서, 보다 상세하게는 네트워크를 통하여 USB 디바이스를 클라이언트 디바이스와 공유할 수 있는 USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법에 대한 것이다.The present invention relates to a server device to which a USB device is connected, a client device connected to the server device, a device driving method, and a device sharing method, and more particularly to a USB device capable of sharing a USB device with a client device via a network A server device to be connected, a client device connected to the server device, a device driving method, and a device sharing method.

USB(Universal Serial Bus) 디바이스는 마우스, 키보드, 프린터, 모뎀, 스피커 등과 같은 컴퓨터 주변기기와 컴퓨터를 연결하기 위한 인터페이스의 규격화하기 위해 개발된 직렬 포트의 일종으로, USB를 이용하면 디바이스의 설치와 제거를 쉽고, 빠르게 할 수 있어 현재 대부분의 PC 표준 장비로 채택되고 있다.USB (Universal Serial Bus) device is a kind of serial port developed to standardize the interface for connecting computer peripherals such as mouse, keyboard, printer, modem, speaker and so on. It is easy and fast, and it is being adopted as the most standard PC equipment at present.

최근에는, USB 디바이스가 물리적으로 연결되어 있는 호스트 디바이스뿐만 아니라 원격의 클라이언트 장치에서도 TCP/IP 네트워크를 통해 USB 디바이스를 사용할 수 있는 USB over IP 또는 USB over Network 기술이 사용되고 있다. 현재 USB over IP는 상용화 소프트웨어까지 개발되어 있다. In recent years, USB over IP or USB over Network technology has been used to allow USB devices to be used over TCP / IP networks in remote client devices as well as host devices to which USB devices are physically connected. Currently, USB over IP has been developed to commercialization software.

클라이언트 장치에 연결된 USB 디바이스는 클라이언트 장치에 직접 연결될 수 있는 USB 디바이스와 동일하게 작동하며, 클라이언트 장치의 드라이버 및 어플리케이션에 의하여 억세스 된다.The USB device connected to the client device operates in the same manner as the USB device which can be directly connected to the client device, and is accessed by the driver and application of the client device.

한편, 최근에는 컴퓨터, 가전 제품 및 모바일 기기를 포함하는 클라우드 환경이 조성되어 직접적으로 USB 디바이스가 연결되어 있지 않더라도 USB 디바이스에 대한 다양한 접근이 활발해 지고 있다.Meanwhile, recently, a cloud environment including computers, home appliances, and mobile devices has been created, and various approaches to USB devices are becoming active even if USB devices are not directly connected.

본 발명에 따른 일 실시예는 USB 디바이스의 드라이버가 없는 상황에서도 USB 디바이스를 구동시킬 수 있는 USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법을 제공한다.One embodiment of the present invention provides a server device to which a USB device capable of driving a USB device is connected, a client device connected to the server device, a device driving method, and a device sharing method even in the absence of a USB device driver.

또한, 본 발명에 따른 일 실시예는 복수의 전자 디바이스를 포함하는 클라우드 환경에서 USB 디바이스에 대한 접근성을 향상시킨다.Further, an embodiment according to the present invention improves accessibility to USB devices in a cloud environment including a plurality of electronic devices.

또한, 본 빌명에 따른 실시예는 디바이스가 포함하고 있는 시스템의 제약, 구체적으로 플랫폼 또는 운영 체계와 무관하게 USB 디바이스의 활용을 가능하게 하는 USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법을 제공한다.Embodiments according to the present invention may also be applied to a server device to which a USB device is connected that enables utilization of a USB device regardless of the constraints of the system, specifically a platform or an operating system, , A device driving method, and a device sharing method.

본 발명의 일 실시예에 따른 네트워크를 통하여 클라이언트 디바이스와 연결되는 서버 디바이스는 USB 디바이스가 연결되는 USB 연결부와; 상기 USB 디바이스를 상기 클라이언트 디바이스와 공유하기 위한 USB over IP 드라이버와; 상기 USB 디바이스가 상기 클라이언트 디바이스에 연결되도록 상기 USB over IP를 제어하고, 상기 클라이언트 디바이스에 포함되어 있는 리소스를 이용하여 상기 USB 디바이스를 구동하는 가상 드라이버 모듈을 갖는 USB 디바이스 전용(redirection) 관리부를 포함한다.A server device connected to a client device through a network according to an embodiment of the present invention includes a USB connection unit to which a USB device is connected; A USB over IP driver for sharing the USB device with the client device; And a USB device redirection manager having a virtual driver module for controlling the USB over IP to connect the USB device to the client device and for driving the USB device using resources included in the client device .

상기 가상 드라이버 모듈은 상기 클라이언트 디바이스에 포함되어 있는 USB 드라이버, 파일 시스템 드라이버 및 커널 디바이스 드라이버 중 적어도 하나를 이용하여 상기 USB 디바이스를 구동할 수 있다.The virtual driver module may drive the USB device using at least one of a USB driver, a file system driver, and a kernel device driver included in the client device.

상기 클라이언트 디바이스의 운영체계와 상이한 운영체계를 가질 수 있다 And may have an operating system different from the operating system of the client device

상기 USB 디바이스 전용 관리부는, 상기 리소스를 포함하는 상기 클라이언트 디바이스를 검색하고, 검색된 클라이언트 디바이스와의 연결을 제어하는 클라이언트 접속 모듈과; 상기 USB 디바이스를 이용하는 어플리케이션과 상기 가상 드라이버 모듈 간의 데이터 입출입을 제어하는 드라이버 인터페이스 모듈을 더 포함할 수 있다.Wherein the USB device dedicated management unit comprises: a client connection module for searching the client device including the resource and controlling a connection with the searched client device; And a driver interface module for controlling data input / output between the application using the USB device and the virtual driver module.

상기 가상 드라이버 모듈은 상기 클라이언트 디바이스가 제공하는 파워, RAM 중 적어도 하나를 이용하여 상기 USB 디바이스를 구동할 수 있다.The virtual driver module may drive the USB device using at least one of power and RAM provided by the client device.

한편, 본 발명의 다른 실시예에 따른 네트워크를 통하여 서버 디바이스에 연결되는 클라이언트 디바이스는 상기 서버 디바이스에 연결되어 있는 USB 디바이스를 상기 네트워크를 통하여 연결하기 위한 가상 USB 컨트롤러와; 상기 USB 디바이스를 구동시키기 위한 리소스와; 상기 서버 디바이스의 요청에 따라 상기 USB 디바이스를 연결하도록 상기 가상 USB 컨트롤러를 제어하고, 상기 리소스를 상기 서버 디바이스에 제공하는 USB 디바이스 전용(redirection) 관리부를 포함한다. Meanwhile, the client device connected to the server device through the network according to another embodiment of the present invention includes a virtual USB controller for connecting the USB device connected to the server device through the network; A resource for driving the USB device; And a USB device redirection manager for controlling the virtual USB controller to connect the USB device at the request of the server device and providing the resource to the server device.

한편, 본 발명의 다른 실시예에 따른 USB 디바이스가 연결되며, 네트워크를 통하여 클라이언트 디바이스와 연결되는 서버 디바이스의 디바이스 구동방법은 상기 USB 디바이스를 구동시키기 위한 리소스를 포함하는 클라이언트 디바이스를 검색하는 단계와; 상기 검색된 클라이언트 디바이스와 상기 USB 디바이스를 상기 네트워크를 통하여 연결시키는 단계와; 상기 클라이언트 디바이스에 포함되어 있는 리소스를 제공받는 단계와; 상기 리소스를 이용하여 상기 USB 디바이스를 구동하는 단계를 포함할 수 있다.In another aspect of the present invention, there is provided a method of operating a server device connected to a USB device according to another embodiment of the present invention, the method comprising: searching for a client device including a resource for driving the USB device; Connecting the searched client device and the USB device through the network; Receiving a resource included in the client device; And driving the USB device using the resource.

상기 리소스를 제공받는 단계는, 상기 클라이언트 디바이스에 포함되어 있는 USB 드라이버, 파일 시스템 드라이버 및 커널 디바이스 드라이버 중 적어도 하나를 제공받을 수 있다.The receiving of the resource may include receiving at least one of a USB driver, a file system driver, and a kernel device driver included in the client device.

또한, 본 발명의 다른 실시예에 따른 USB 디바이스가 연결되어 있는 서버 디바이스와 네트워크를 통하여 연결되는 클라이언트 디바이스의 디바이스 공유방법은 상기 서버 디바이스의 요청에 따라, USB 디바이스를 상기 네트워크를 통하여 연결하는 단계와; 상기 USB 디바이스를 구동시키기 위한 리소스를 상기 서버 디바이스에 제공하는 단계를 포함하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method of sharing a device between a server device connected to a USB device and a client device connected through a network, the method comprising: connecting a USB device through the network, ; And providing resources to the server device for driving the USB device.

이상 설명한 바와 같이, 본 발명의 일 실시예에 따르면, USB 디바이스의 드라이버가 없는 상황에서도 USB 디바이스를 구동시킬 수 있는 USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법이 제공된다.As described above, according to the embodiment of the present invention, even when there is no USB device driver, a server device to which a USB device capable of driving the USB device is connected, a client device connected to the server device, A sharing method is provided.

또한, 본 발명의 일 실시예에 따르면 복수의 전자 디바이스를 포함하는 클라우드 환경에서 USB 디바이스에 대한 접근성이 향상된다.Further, according to an embodiment of the present invention, accessibility to a USB device is improved in a cloud environment including a plurality of electronic devices.

또한, 본 발명의 일 실시예에 따르면 디바이스가 포함하고 있는 시스템의 제약, 구체적으로 플랫폼 또는 운영 체계와 무관하게 USB 디바이스의 활용을 가능하게 하는 USB 디바이스가 연결되는 서버 디바이스, 서버 디바이스에 연결되는 클라이언트 디바이스, 디바이스 구동방법 및 디바이스 공유방법이 제공된다.In addition, according to an embodiment of the present invention, there is provided a device, comprising: a server device to which a USB device enabling a USB device to utilize regardless of a constraint of a system, specifically a platform or an operating system, A device, a device driving method, and a device sharing method are provided.

도 1은 본 발명의 일 실시예예 따른 서버 디바이스 및 클라이언트 디바이스의 개략도이고,
도 2는 도 1에 따른 서버 디바이스 및 클라이언트 디바이스의 제어 블럭도이고,
도 3은 본 발명의 다른 실시예에 따른 서버 디바이스 및 클라이언트 디바이스의 제어블럭도이고,
도 4는 본 발명의 일 실시예에 따른 서버 디바이스 및 클라이언트 디바이스의 디바이스 공유 방법을 설명하기 위한 제어 흐름도이다.
1 is a schematic diagram of a server device and a client device according to an embodiment of the present invention,
FIG. 2 is a control block diagram of a server device and a client device according to FIG. 1,
3 is a control block diagram of a server device and a client device according to another embodiment of the present invention,
4 is a control flowchart for explaining a device sharing method of a server device and a client device according to an embodiment of the present invention.

이하, 첨부한 도면을 참고로 하여 본 발명의 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예들에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙이도록 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art to which the present invention pertains. The present invention may be embodied in many different forms and is not limited to the embodiments described herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and the same or similar components are denoted by the same reference numerals throughout the specification.

도 1은 본 발명의 일 실시예예 따른 서버 디바이스 및 클라이언트 디바이스의 개략도이다. 도시된 바와 같이, 서버 디바이스(100)는 USB 디바이스(300) 및 클라이언트 디바이스(200)와 연결될 수 있다. 1 is a schematic diagram of a server device and a client device according to one embodiment of the present invention. As shown, the server device 100 may be connected to the USB device 300 and the client device 200.

USB(Universal Serial Bus) 디바이스(300)는 USB 인터페이스를 가진 주변 기기로서, 프린터, 스캐너, 저장 매체, 키보드, 마우스, 키보드, 모뎀, 스피커, 캠코더, 카메라, 터치 패널 등을 포함할 수 있다.The USB (Universal Serial Bus) device 300 may include a printer, a scanner, a storage medium, a keyboard, a mouse, a keyboard, a modem, a speaker, a camcorder, a camera, a touch panel and the like as a peripheral device having a USB interface.

서버 디바이스(100)는 USB 디바이스(300)가 연결될 수 있는 모든 전자장치를 포함할 수 있으며, 컴퓨터 시스템, 텔레비전, 휴대폰을 포함하는 각종 모바일 단말기, 전자액자 등으로 구현될 수 있다. 서버 디바이스(100)는 USB 디바이스(300)가 내부 또는 외부의 인터페이스를 통하여 직접 연결되어 있는 호스트 디바이스를 의미하며, 클라이언트 디바이스(300)는 서버 디바이스(100)를 통하여 USB 디바이스(300)에 연결될 수 있는 호스트 디바이스를 의미한다. USB 디바이스(300)는 USB 케이블(미도시) 또는 USB 접속단자(미도시)를 통하여 서버 디바이스(100)에 연결될 수 있다.The server device 100 may include any electronic device to which the USB device 300 can be connected and may be implemented as a computer system, a television, various mobile terminals including a cellular phone, an electronic frame, and the like. The server device 100 refers to a host device in which the USB device 300 is directly connected through an internal or external interface and the client device 300 can be connected to the USB device 300 through the server device 100 Quot; host device " The USB device 300 may be connected to the server device 100 via a USB cable (not shown) or a USB connection terminal (not shown).

도시된 바와 같이, 클라이언트 디바이스(200)는 네트워크를 통하여 서버 디바이스(100)에 연결될 수 있으며, 컴퓨터 시스템, 개인 모바일 단말기, 텔레비전 등으로 구현될 수 있다. 네트워크는 인터넷, 이더넷, 무선랜, 토큰링 중 하나를 포함할 수 있으며, 본 실시예에 따른 서버 디바이스(100)는 클라이언트 디바이스(200)와 TCP/IP 프로토콜을 통하여 연결되어 있다. 본 실시예는 USB 디바이스(300)가 물리적으로 연결되어 있는 호스트 디바이스(서버 디바이스(100))뿐만 아니라 원격의 클라이언트 장치(클라이언트 디바이스(300))에서도 TCP/IP 프로토콜을 통해 USB 디바이스(200)를 사용할 수 있는 USB over IP 또는 USB over Network 기술을 일례로 하여 설명된다. As shown, the client device 200 may be connected to the server device 100 via a network, and may be implemented as a computer system, a personal mobile terminal, a television, or the like. The network may include one of the Internet, Ethernet, wireless LAN, and token ring, and the server device 100 according to the present embodiment is connected to the client device 200 through the TCP / IP protocol. The present embodiment is not limited to the USB device 200 through the TCP / IP protocol in the remote client device (client device 300) as well as the host device (server device 100) to which the USB device 300 is physically connected It is described as an example of USB over IP or USB over Network technology that can be used.

본 실시예예 따른 클라이언트 디바이스(200)는 USB 디바이스(300)를 구동시키기 위한 리소스(resource)를 포함하고 있으며, 네트워크를 통하여 리소스를 서버 디바이스(100)에게 제공한다. 클라이언트 디바이스(200)는 네트워크를 통하여 서버 디바이스(100)와 연결되면 USB 디바이스(300)의 USB 패킷을 서버 디바이스(100)와 공유하고, 리소스를 전용(redirection)하기 위하여 리소스 전용 패킷을 서버 디바이스(100)에 제공한다. 이하 도 2를 참조하여 구체적으로 설명한다. The client device 200 according to the present embodiment includes a resource for driving the USB device 300 and provides the resource to the server device 100 through the network. The client device 200 shares a USB packet of the USB device 300 with the server device 100 when connected to the server device 100 through the network and transmits a resource dedicated packet to the server device 100 in order to redirect the resource 100). This will be described in detail with reference to Fig.

도 2는 도 1에 따른 서버 디바이스 및 클라이언트 디바이스의 제어 블록도이다. 도시된 바와 같이, 서버 디바이스(100)는 USB 디바이스(300)와 연결 되는 USB 연결부(110), 연결된 USB 디바이스(300)를 클라이언트 디바이스(200)와 가상으로 공유하기 위한 USB over IP 드라이버(120), 제1 USB 디바이스 전용(redirection) 관리부(130), 어플리케이션(140)를 포함한다. 클라이언트 디바이스(200)는 가상 USB 컨트롤러(210), 리소스(220), 제2 USB 디바이스 전용 관리부(230)를 포함한다. 2 is a control block diagram of a server device and a client device according to FIG. As shown, the server device 100 includes a USB connection unit 110 connected to the USB device 300, a USB over IP driver 120 for sharing the connected USB device 300 with the client device 200, A first USB device redirection management unit 130, and an application 140. The client device 200 includes a virtual USB controller 210, a resource 220, and a second USB device dedicated management unit 230.

USB 연결부(110)를 통하여 USB 디바이스(300)가 서버 디바이스(100)에 연결되면, USB 컨트롤러(미도시)를 통하여 Enumeration과정이 진행된다. Enumeraion은 서버 디바이스(100)가 USB 디바이스(300)의 Endpoint type과 개수, 제품 종류 등을 결정하는 과정으로, 이 과정에서 서버 디바이스(100)는 USB 디바이스(300)에게 디바이스 어드레스를 할당하고, 디바이스 Descriptor 및 Configuration Descriptor와 같은 셋업 데이터, 즉 연결정보를 USB 디바이스(300)로부터 가져와서 설정함으로써 데이터를 송수신할 수 있도록 준비한다. 이러한 과정은 서버 디바이스(100)의 시스템 소프트웨어와 USB 디바이스(300)의 USB 논리 디바이스 간에 연결정보를 송수신함으로써 수행된다.When the USB device 300 is connected to the server device 100 through the USB connection unit 110, an enumeration process is performed through a USB controller (not shown). Enumeration is a process in which the server device 100 determines the endpoint type, number and product type of the USB device 300. In this process, the server device 100 assigns a device address to the USB device 300, And acquires setup information such as a descriptor and a configuration descriptor, that is, connection information, from the USB device 300, thereby preparing to transmit and receive data. This process is performed by transmitting and receiving the connection information between the system software of the server device 100 and the USB logical device of the USB device 300.

USB over IP 드라이버(120)는 클라이언트 디바이스(200)와 USB 디바이스(300)가 연결되도록 연결정보를 저장하고, 클라이언트 디바이스(200)를 USB 디바이스(300)에 연결시키기 위한 가상 접속 어드레스를 할당하고, 가상 접속 어드레스와 디바이스 어드레스를 맵핑시킴으로써 클라이언트 디바이스(200)를 USB 디바이스(300)에 연결한다. 또한, USB over IP 드라이버(120)는 클라이언트 디바이스(300)의 네트워크 주소, 즉 IP 어드레스를 저장하고, 맵핑된 가상 접속 어드레스를 통하여 저장되어 있던 연결정보를 클라이언트 디바이스(300)로 전송한다. The USB over IP driver 120 stores connection information for connecting the client device 200 and the USB device 300 and allocates a virtual connection address for connecting the client device 200 to the USB device 300, And connects the client device 200 to the USB device 300 by mapping the virtual connection address and the device address. The USB over IP driver 120 stores the network address of the client device 300, that is, the IP address, and transmits the stored connection information to the client device 300 through the mapped virtual connection address.

제1 USB 디바이스 전용 관리부(130)는 USB 디바이스(300)가 클라이언트 디바이스(200)에 연결되도록 USB over IP드라이버(120)를 제어하고, 클라이언트 디바이스(200)에 포함되어 있는 리소스(220)를 이용하여 USB 디바이스(300)를 구동하는 가상 드라이버 모듈(131)을 포함한다. 본 실시예에 따른 서버 디바이스(100)는 USB 디바이스(300)가 연결되는 USB 연결부(110)를 포함하고 있지만, USB 디바이스(300)를 구동시키거나 USB 디바이스(300)가 제공하는 컨텐츠를 실행 또는 재생시키기 위한 리소스를 포함하지 않을 수 있다. 예를 들어, USB 디바이스(300)를 제어하기 위한 USB 호스트 컨트롤러 및 컨트롤러 드라이버는 서버 디바이스(100)에 구비되어 있지만, USB 디바이스(300)의 구동을 지원하기 위한 USB 코어, USB 클래스 드라이버, USB 드라이버 등을 포함하지 않는 경우, 서버 디바이스(100)는 USB 디바이스(300)에 억세스 하는 것이 불가능 할 수 있다. 또한, 서버 디바이스(100)가 USB 디바이스(300)를 구동하기 위한 파워가 부족하거나 RAM의 용량이 부족할 수도 있다. 본 발명에서는 서버 디바이스(100)가 USB 디바이스(300)를 구동하기 위하여 필요한 이러한 요소들을 리소스로 정의한다. 만약 리소스가 부족하여 USB 디바이스(300)를 구동하지 못하는 경우, 서버 디바이스(100)는 클라이언트 디바이스(200)의 리소스(220)를 이용하여 USB 디바이스(300)를 구동시킬 수 있다. 제1 USB 디바이스 전용 관리부(130)는 이와 같이 클라이언트 디바이스(200)의 리소스(220)를 활용하여 USB 디바이스(300)를 구동시키고, 리소스(220)와 서버 디바이스(100)의 어플리케이션(140)의 중간 인터페이스를 담당한다.The first USB device dedicated management unit 130 controls the USB over IP driver 120 to connect the USB device 300 to the client device 200 and uses the resource 220 included in the client device 200 And a virtual driver module 131 for driving the USB device 300. The server device 100 according to the present embodiment includes the USB connection unit 110 to which the USB device 300 is connected but may be configured to operate the USB device 300 or to execute the content provided by the USB device 300 And may not include resources for playback. For example, although the USB host controller and the controller driver for controlling the USB device 300 are provided in the server device 100, a USB core, a USB class driver, a USB driver Etc., the server device 100 may not be able to access the USB device 300. [ In addition, the server device 100 may have insufficient power for driving the USB device 300, or the capacity of the RAM may be insufficient. In the present invention, the server device 100 defines these elements necessary for driving the USB device 300 as a resource. The server device 100 can operate the USB device 300 using the resource 220 of the client device 200 if the resource can not be operated and the USB device 300 can not be operated. The first USB device dedicated management unit 130 drives the USB device 300 by utilizing the resource 220 of the client device 200 and transmits the resource 220 and the application 140 of the server device 100 It is responsible for the intermediate interface.

어플리케이션(140)은 USB 디바이스(300)에 억세스하여 실행되는 최상위 소프트웨어를 의미하며, 클라이언트 디바이스(200)의 리소스(220) 없이는 USB 디바이스(300)에 억세스하는 것이 불가능하다. 다시 말하면, 가상 드라이버 모듈(131)는 어플리케이션(140)이 USB 디바이스(300)에 억세스하는 것이 가능하도록 리소스(220)를 전용(redirection)하는 역할을 한다.The application 140 refers to the highest level software executed by accessing the USB device 300 and it is impossible to access the USB device 300 without the resource 220 of the client device 200. [ In other words, the virtual driver module 131 plays a role of redirecting the resource 220 so that the application 140 can access the USB device 300.

클라이언트 디바이스(200)의 가상 USB 컨트롤러(210)는 USB over IP 드라이버(120)와 통신하면서 USB 디바이스(300)의 데이터 송수신을 제어한다. 즉, 가상 USB 컨트롤러(210)는 USB 패킹을 수신 및 파싱하여 마치 USB 디바이스(300)가 클라이언트 디바이스(200)에 직접적으로 연결되어 있는 것처럼 작동하도록 USB 디바이스(300)와 클라이언트 디바이스(200)의 중간 인터페이스 역할을 한다. The virtual USB controller 210 of the client device 200 controls data transmission and reception of the USB device 300 while communicating with the USB over IP driver 120. [ The virtual USB controller 210 receives and parses the USB packing so that the USB device 300 is in the middle of the USB device 300 and the client device 200 to act as if the USB device 300 is directly connected to the client device 200. [ It serves as an interface.

리소스(220)는 상술한 바와 같이 USB 디바이스(300)를 구동시키기 위하여 필요한 소프트웨어적 또는 하드웨어적 구성을 의미하며, USB 드라이버, 파일 시스템 드라이버, 커널 디바이스 드라이버, 파워 및 RAM 중 적어도 하나를 포함할 수 있다.The resource 220 refers to a software or hardware configuration necessary for driving the USB device 300 as described above and may include at least one of a USB driver, a file system driver, a kernel device driver, have.

제2 USB 디바이스 전용 관리부(230)는 서버 디바이스(100)의 요청에 따라 USB 디바이스(300)를 연결하도록 가상 USB 컨트롤러(210)를 제어하고, 리소스(220)를 상기 서버 디바이스(100)에 제공한다. 제2 USB 디바이스 전용 관리부(230)는 제1 USB 디바이스 전용 관리부(130)에 대응하는 구성을 포함할 수 있으며, 클라이언트 디바이스(200)가 호스트 디바이스로 작동하는 경우, 다른 디바이스와 연결되어 리소스를 제공받을 수도 있다.The second USB device dedicated management unit 230 controls the virtual USB controller 210 to connect the USB device 300 at the request of the server device 100 and provides the resource 220 to the server device 100 do. The second USB device-dedicated management unit 230 may include a configuration corresponding to the first USB device-dedicated management unit 130. When the client device 200 operates as a host device, the second USB device- You can get it.

도 3은 본 발명의 다른 실시예에 따른 서버 디바이스 및 클라이언트 디바이스의 제어블럭도이다. 도시된 바와 같이, 본 실시예에 따른 제1 USB 디바이스 전용 관리부(130)는 클라이언트 접속 모듈(133)과 드라이버 인터페이스 모듈(135)을 더 포함한다. 또한, 클라이언트 디바이스(200)는 USB 드라이버(221)와 파일 시스템 드라이버(223)를 포함한다. 본 실시예에 따른 USB 드라이버(221)와 파일 시스템 드라이버(223)는 USB 디바이스(300)를 구동하는데 필요한 리소스이며 서버 디바이스(100)에는 구비되어 있지 않다.3 is a control block diagram of a server device and a client device according to another embodiment of the present invention. As shown in the figure, the first USB device-dedicated management unit 130 according to the present embodiment further includes a client connection module 133 and a driver interface module 135. The client device 200 also includes a USB driver 221 and a file system driver 223. The USB driver 221 and the file system driver 223 according to the present embodiment are resources required to drive the USB device 300 and are not provided in the server device 100. [

클라이언트 접속 모듈(133)은 리소스, 즉 서버 디바이스(100)가 USB 디바이스(300)를 구동시키기 위하여 필요한 USB 드라이버(221)와 파일 시스템 드라이버(223)를 포함하는 클라이언트 디바이스(200)를 검색하고, 검색된 클라이언트 디바이스와의 연결을 제어한다. 즉, 클라이언트 접속 모듈(133)은 USB 드라이버(221) 또는 파일 시스템 드라이버(223)와 같은 리소스 공유를 위하여 USB over IP드라이버(120)를 통하여 호스트 디바이스로서 USB 디바이스(300)와 가상 연결을 유지하고 이를 관리한다. 클라이언트 접속 모듈(133)은 검색된 클라이언트 디바이스의 리스트를 저장하고 있다가 향후 재 접속이 필요한 경우 저장된 리스트를 활용하여 클라이언트 디바이스에 접속을 요청할 수 있다. 이런 경우, 클라이언트 디바이스를 검색하여 가상으로 USB 디바이스를 연결하는 시간이 단축될 것이다. 또한, 클라이언트 접속 모듈(133)은 외부 서버와 같은 특정 정보 제공자로부터 리소스를 포함하는 클라이언트 디바이스의 정보를 수신할 수도 있다. The client connection module 133 searches the client device 200 including the USB driver 221 and the file system driver 223 that are necessary for the server device 100 to operate the USB device 300, And controls the connection with the retrieved client device. That is, the client connection module 133 maintains a virtual connection with the USB device 300 as a host device through the USB over IP driver 120 for resource sharing such as the USB driver 221 or the file system driver 223 And manage it. The client connection module 133 stores the list of searched client devices, and can request a connection to the client device using a stored list in the future when reconnection is required. In this case, the time to connect the USB device by searching the client device will be shortened. In addition, the client connection module 133 may receive information of a client device including a resource from a specific information provider such as an external server.

드라이버 인터페이스 모듈(135)은 어플리케이션(140)과 가상 드라이버 모듈(131) 사이의 인터페이스이며, 가상 드라이버 모듈(131)을 통하여 입출력되는 데이터를 TCP/IP 페이로드로 변환한다. The driver interface module 135 is an interface between the application 140 and the virtual driver module 131 and converts data input and output through the virtual driver module 131 into a TCP / IP payload.

USB 드라이버(221)와 파일 시스템 드라이버(223)는 USB 디바이스(300)를 구동시켜 USB 디바이스(300)가 제공할 수 있는 컨텐츠를 재생시키고, 어플리케이션(140)의 억세스가 가능하도록 하는 리소스에 해당한다. USB 디바이스(300)와 파일 시스템 드라이버(223)는 모든 전자 디바이스에 존재하거나 필수적으로 구비되는 드라이버가 아닌 특정 디바이스에 포함되어 있거나 특정 플랫폼 또는 운영체계에서 지원되는 드라이버 중 하나의 예시에 해당한다.The USB driver 221 and the file system driver 223 correspond to a resource that drives the USB device 300 to reproduce the content that the USB device 300 can provide and enable access to the application 140 . The USB device 300 and the file system driver 223 are examples of one of the drivers included in a specific device or supported on a specific platform or operating system, not necessarily existing or necessarily provided in all electronic devices.

본 실시예에 따른 서버 디바이스(100)와 클라이언트 디바이스(200)는 상이한 운영체계를 가질 수 있다. 예를 들어, 서버 디바이스(100)의 운영체계 A에서 지원하는 파일 시스템은 USB 메모리의 컨텐츠를 리드하는 것을 제공하지만 라이트를 제공하지 않을 수 있다. 운영체계 A에서 컨텐츠의 라이트를 지원할 경우 이를 지원하는 다른 운영체계와 분쟁 또는 라이센스 문제가 발생할 소지가 존재할 수 있다. 본 실시예에 따를 경우, 서버 디바이스(100)에 컨텐츠의 라이트를 지원하는 드라이버가 포함되어 있지 않더라도 이를 지원하는 클라이언트 디바이스(200)의 드라이버를 이용하여 사용자는 컨텐츠의 라이트를 구현할 수 있다. 예컨대, 방송신호를 녹화하는 PVR(personal video recorder) 어플리케이션의 경우 특정 운영체계의 파일 시스템을 사용하고 있다. 하지만, 텔레비전에 존재하는 파일 시스템이 라이트를 지원하지 않는다면, 이를 지원하는 다른 운영체계의 파일 시스템을 가상으로 연결하여 사용할 수 있을 것이다. 이를 의해 특정 플랫폼 또는 운영체계에 종속된 디바이스 드라이버 또는 파일 시스템 드라이버를 다른 플랫폼 또는 운영체계로 포팅(porting) 없이 사용할 수 있다. 따라서, 본 실시예는 운영체계 간 포팅을 필요로 하는 파일 시스템과 드라이버에 활용될 것이다.The server device 100 and the client device 200 according to the present embodiment may have different operating systems. For example, the file system supported by the operating system A of the server device 100 provides for reading the contents of the USB memory but may not provide a write. If operating system A supports writing content, there may be conflicts or licensing issues with other operating systems that support it. According to the present embodiment, even if the server device 100 does not include a driver for supporting content writing, the user can implement writing of content using the driver of the client device 200 supporting the content. For example, a PVR (personal video recorder) application for recording a broadcast signal uses a file system of a specific operating system. However, if the file system existing on the television does not support the write, the file system of another operating system supporting it can be virtually connected. This allows device drivers or file system drivers that depend on a particular platform or operating system to be used without porting to another platform or operating system. Therefore, the present embodiment will be applied to a file system and a driver that require porting between operating systems.

정리하면, 클라이언트 디바이스(200)는 어플리케이션(140)이 USB 디바이스(300) 내의 컨텐츠, 즉 파일에 억세스할 수 있도록 디스크의 마운트 경로를 포함하는 파일 시스템 드라이버(223)의 리소스를 가상 드라이버 모듈(131)을 통하여 제공한다. 서버 디바이스(100)는 연결되어 있는 USB 디바이스(300)의 파일 시스템 드라이버를 지원하지 못하지만 클라이언트 디바이스(200)의 파일 시스템 드라이버(223)를 가상 드라이버로 제공받아 USB 디바이스(300)의 컨텐츠에 대한 파일 입출력을 수행한다.The client device 200 transfers resources of the file system driver 223 including the mount path of the disk to the virtual driver module 131 so that the application 140 can access contents in the USB device 300, ). The server device 100 does not support the file system driver of the connected USB device 300 but receives the file system driver 223 of the client device 200 as a virtual driver and stores the file I / O is performed.

도 4는 본 발명의 일 실시예에 따른 서버 디바이스 및 클라이언트 디바이스의 디바이스 공유 방법을 설명하기 위한 제어 흐름도이다. 도 4를 참조하여 서버 디바이스(100)와 클라이언트 디바이스(200)의 디바이스 구동방법 및 디바이스 공유방법에 대하여 정리하면 다음과 같다.4 is a control flowchart for explaining a device sharing method of a server device and a client device according to an embodiment of the present invention. Referring to FIG. 4, a device driving method and a device sharing method of the server device 100 and the client device 200 will be summarized as follows.

우선, USB 디바이스(300)가 연결되면, 클라이언트 접속 모듈(133)은 USB 디바이스(300)를 구동시키기 위한 리소스를 포함하는 클라이언트 디바이스를 검색한다(S10).First, when the USB device 300 is connected, the client connection module 133 searches for a client device including a resource for driving the USB device 300 (S10).

클라이언트 접속 모듈(133)은 USB over IP 드라이버(120)를 통하여 검색된 클라이언트 디바이스(200)와 USB 디바이스(300)를 네트워크를 통하여 가상으로 연결한다(S20).The client connection module 133 virtually connects the client device 200 and the USB device 300 retrieved through the USB over IP driver 120 via the network (S20).

클라이언트 디바이스(200)는 USB 드라이버, 파일 시스템 드라이버 및 커널 디바이스 드라이버, 파워, RAM 등과 같이 USB 디바이스(300)를 구동시키기 위한 리소스를 서버 디바이스(100)에 제공한다(S30).The client device 200 provides the server device 100 with resources for driving the USB device 300 such as a USB driver, a file system driver, and a kernel device driver, power, RAM, and the like (S30).

가상 드라이버 모듈(131)은 클라이언트 디바이스(200)로부터 제공된 리소스를 이용하여 USB 디바이스(300)를 구동시키고(S40), 드라이버 인터페이스 모듈(135)은 어플리케이션(140)과 가상 드라이버 모듈(131) 간의 데이터 입출력을 제어하여 어플리케이션(140)의 USB 디바이스(300)로의 억세스를 제어한다.The virtual driver module 131 drives the USB device 300 using the resources provided from the client device 200 at step S40 and the driver interface module 135 transfers data between the application 140 and the virtual driver module 131 And controls access to the USB device 300 of the application 140 by controlling input / output.

비록 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명이 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다.Although several embodiments of the present invention have been shown and described, those skilled in the art will appreciate that various modifications may be made without departing from the principles and spirit of the invention . The scope of the invention will be determined by the appended claims and their equivalents.

100 : 서버 디바이스 110 : USB 연결부
120 : USB over IP 드라이버 130 : 제1 USB 디바이스 전용 관리부
131 : 가상 드라이버 모듈 133 : 클라이언트 접속 모듈
135 : 드라이버 인터페이스 모듈 140 : 어플리케이션
200 : 클라이언트 디바이스 210 : 가상 USB 컨트롤러
220 : 리소스 221 : USB 드라이버
223 : 파일 시스템 드라이버 230 : 제2 USB 디바이스 전용 관리부
300 : USB 디바이스
100: server device 110: USB connection part
120: USB over IP driver 130: First USB device dedicated management unit
131: virtual driver module 133: client connection module
135: Driver interface module 140: Application
200: client device 210: virtual USB controller
220: Resource 221: USB Driver
223: File system driver 230: Second USB device dedicated management unit
300: USB device

Claims (15)

서버 디바이스에 있어서,
USB 디바이스가 접속되는 USB 접속부와;
클라이언트 디바이스와 통신하는 통신부와;
복수의 클라이언트 디바이스에 관한 정보를 수신하고,
상기 수신된 복수의 클라이언트 디바이스의 리스트를 저장하고,
상기 저장된 리스트 중 상기 접속된 USB 디바이스에 대응하는 드라이버를 가진 클라이언트 디바이스를 식별하고,
상기 식별된 클라이언트 디바이스로 상기 USB 디바이스에 대응하는 드라이버를 요청하고,
상기 요청에 따라 상기 클라이언트 디바이스의 드라이버를 이용하여 상기 USB 디바이스에 액세스하고,
상기 서버 디바이스에서 실행되는 어플리케이션이 상기 액세스된 USB 디바이스와 데이터를 송수신하도록 제어하는 프로세서를 포함하는 것을 특징으로 하는 서버 디바이스.
A server device comprising:
A USB connection unit to which the USB device is connected;
A communication unit for communicating with the client device;
Receiving information about a plurality of client devices,
Storing a list of the received plurality of client devices,
Identifying a client device having a driver corresponding to the connected USB device in the stored list,
Requesting a driver corresponding to the USB device to the identified client device,
Accessing the USB device using the driver of the client device according to the request,
And a processor for controlling the application executed in the server device to send and receive data to and from the accessed USB device.
제1항에 있어서,
상기 드라이버는 상기 클라이언트 디바이스에 포함되어 있는 USB 드라이버, 파일 시스템 드라이버 및 커널 디바이스 드라이버 중 적어도 하나를 포함하는 것을 특징으로 하는 서버 디바이스.
The method according to claim 1,
Wherein the driver includes at least one of a USB driver, a file system driver, and a kernel device driver included in the client device.
제2항에 있어서,
상기 클라이언트 디바이스의 운영체계와 상이한 운영체계를 갖는 서버 디바이스.
3. The method of claim 2,
A server device having an operating system different from the operating system of the client device.
제1항에 있어서,
상기 프로세서는, 상기 드라이버를 포함하는 상기 클라이언트 디바이스를 검색하고, 검색된 클라이언트 디바이스와의 연결을 제어하는 것을 특징으로 하는 서버 디바이스.
The method according to claim 1,
Wherein the processor searches the client device including the driver and controls connection with the retrieved client device.
제1항에 있어서,
상기 프로세서는, 상기 클라이언트 디바이스가 제공하는 파워, RAM 중 적어도 하나를 이용하여 상기 USB 디바이스에 액세스하는 것을 특징으로 하는 서버 디바이스.
The method according to claim 1,
Wherein the processor accesses the USB device using at least one of power and RAM provided by the client device.
클라이언트 디바이스에 있어서,
서버 디바이스와 통신하는 통신부와;
상기 서버 디바이스로 상기 클라이언트 디바이스에 포함된 드라이버에 관한 정보를 전송하고,
상기 서버 디바이스의 요청에 따라 상기 서버 디바이스에 접속되어 있는 USB 디바이스에 대응하는 드라이버를 이용하여 상기 서버 디바이스가 상기 USB 디바이스에 액세스 가능하게 하는 프로세서를 포함하고,
상기 드라이버는, 상기 서버 디바이스에서 실행되는 어플이케이션이 상기 USB 디바이스와 데이터를 송수신 가능하게 하는 것을 특징으로 하는 클라이언트 디바이스.
In a client device,
A communication unit for communicating with the server device;
Transmits information about the driver included in the client device to the server device,
And a processor for enabling the server device to access the USB device using a driver corresponding to the USB device connected to the server device at the request of the server device,
Wherein the driver enables the application running on the server device to transmit and receive data with the USB device.
제6항에 있어서,
상기 드라이버는 USB 드라이버, 파일 시스템 드라이버, 커널 디바이스 드라이버 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 디바이스.
The method according to claim 6,
Wherein the driver comprises at least one of a USB driver, a file system driver, and a kernel device driver.
제6항에 있어서,
상기 서버 디바이스의 운영체계와 상이한 운영체계를 갖는 클라이언트 디바이스.
The method according to claim 6,
The client device having an operating system different from the operating system of the server device.
USB 디바이스가 접속되는 서버 디바이스의 디바이스 구동방법에 있어서,
서로 다른 드라이버를 포함하는 복수의 클라이언트 디바이스에 관한 정보를 수신하는 단계와;
상기 수신된 복수의 클라이언트 디바이스의 리스트를 저장하는 단계와;
상기 저장된 리스트 중 상기 접속된 USB 디바이스에 대응하는 드라이버를 가진 클라이언트 디바이스를 식별하는 단계와;
상기 식별된 클라이언트 디바이스로 상기 USB 디바이스에 대응하는 드라이버를 요청하는 단계와;
상기 요청에 따라 상기 클라이언트 디바이스의 드라이버를 이용하여 상기 USB 디바이스에 액세스하는 단계와;
상기 서버 디바이스에서 실행되는 어플리케이션이 상기 액세스된 USB 디바이스와 데이터를 송수신하도록 하는 단계를 포함하는 것을 특징으로 하는 서버 디바이스의 디바이스 구동방법.
A device driver method of a server device to which a USB device is connected,
The method comprising: receiving information about a plurality of client devices including different drivers;
Storing a list of the received plurality of client devices;
Identifying a client device having a driver corresponding to the connected USB device in the stored list;
Requesting a driver corresponding to the USB device to the identified client device;
Accessing the USB device using the driver of the client device according to the request;
And causing the application executed by the server device to send and receive data to and from the accessed USB device.
제9항에 있어서,
상기 드라이버는, 상기 클라이언트 디바이스에 포함되어 있는 USB 드라이버, 파일 시스템 드라이버 및 커널 디바이스 드라이버 중 적어도 하나를 포함하는 것을 특징으로 하는 서버 디바이스의 디바이스 구동방법.
10. The method of claim 9,
Wherein the driver includes at least one of a USB driver, a file system driver, and a kernel device driver included in the client device.
클라이언트 디바이스의 디바이스 공유방법에 있어서,
서버 디바이스와 통신하는 단계와;
상기 서버 디바이스로 상기 클라이언트 디바이스에 포함된 드라이버에 관한 정보를 전송하는 단계와;
상기 서버 디바이스의 요청에 따라 상기 서버 디바이스에 접속되어 있는 USB 디바이스에 대응하는 드라이버를 이용하여 상기 서버 디바이스가 상기 USB 디바이스에 액세스 가능하게 하는 단계를 포함하고,
상기 드라이버는 상기 서버 디바이스에서 실행되는 어플리케이션이 상기 USB 디바이스와 데이터를 송수신 가능하게 하는 것을 특징으로 하는 클라이언트 디바이스의 디바이스 공유방법.
A device sharing method of a client device,
Communicating with a server device;
Transmitting information on a driver included in the client device to the server device;
Causing the server device to access the USB device using a driver corresponding to the USB device connected to the server device at the request of the server device,
Wherein the driver enables an application running on the server device to send and receive data with the USB device.
제1항에 있어서,
상기 프로세서는, 상기 클라이언트 디바이스로부터 상기 USB 디바이스에 대응하는 드라이버를 수신하고, 상기 수신된 드라이버에 기초하여 가상의 드라이버를 생성하는 서버 디바이스.
The method according to claim 1,
Wherein the processor receives a driver corresponding to the USB device from the client device and generates a virtual driver based on the received driver.
제12항에 있어서,
상기 프로세서는, 상기 실행되는 어플리케이션의 상기 USB 디바이스에 대한 접속 요청을 상기 클라이언트 디바이스를 통해 상기 가상의 드라이버로 전송하고, 상기 가상의 드라이버를 통해 수신되는 상기 USB 디바이스의 출력 정보를 상기 클라이언트 디바이스를 통해 상기 어플리케이션으로 전송하는 서버 디바이스.
13. The method of claim 12,
Wherein the processor transmits a request for connection to the USB device of the executed application to the virtual driver through the client device and transmits output information of the USB device received through the virtual driver to the virtual device via the client device To the application.
제9항에 있어서,
상기 클라이언트 디바이스로부터 상기 USB 디바이스에 대응하는 드라이버를 수신하는 단계와;
상기 수신된 드라이버에 기초하여 가상의 드라이버를 생성하는 단계를 포함하는 서버 디바이스의 디바이스 구동방법.
10. The method of claim 9,
Receiving a driver corresponding to the USB device from the client device;
And generating a virtual driver based on the received driver.
제14항에 있어서,
상기 실행되는 어플리케이션의 상기 USB 디바이스에 대한 접속 요청을 상기 클라이언트 디바이스를 통해 상기 가상의 드라이버로 전송하는 단계와;
상기 가상의 드라이버를 통해 수신되는 상기 USB 디바이스의 출력 정보를 상기 클라이언트 디바이스를 통해 상기 어플리케이션으로 전송하는 단계를 포함하는 서버 디바이스의 디바이스 구동방법.
15. The method of claim 14,
Transmitting a connection request for the USB device of the executed application to the virtual driver through the client device;
And transmitting the output information of the USB device received through the virtual driver to the application via the client device.
KR1020110147706A 2011-12-30 2011-12-30 Server device connecting usb device, client device connecting server device, device driving method and device sharing method KR101945840B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110147706A KR101945840B1 (en) 2011-12-30 2011-12-30 Server device connecting usb device, client device connecting server device, device driving method and device sharing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110147706A KR101945840B1 (en) 2011-12-30 2011-12-30 Server device connecting usb device, client device connecting server device, device driving method and device sharing method

Publications (2)

Publication Number Publication Date
KR20130078645A KR20130078645A (en) 2013-07-10
KR101945840B1 true KR101945840B1 (en) 2019-02-12

Family

ID=48991549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110147706A KR101945840B1 (en) 2011-12-30 2011-12-30 Server device connecting usb device, client device connecting server device, device driving method and device sharing method

Country Status (1)

Country Link
KR (1) KR101945840B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123166A1 (en) * 2004-12-07 2006-06-08 Cisco Technology, Inc., A Corporation Of California Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers
JP2007272643A (en) * 2006-03-31 2007-10-18 Nec Corp Usb (universal serial bus) device sharing system, interface unit of server used by it, and its action method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123166A1 (en) * 2004-12-07 2006-06-08 Cisco Technology, Inc., A Corporation Of California Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers
JP2007272643A (en) * 2006-03-31 2007-10-18 Nec Corp Usb (universal serial bus) device sharing system, interface unit of server used by it, and its action method

Also Published As

Publication number Publication date
KR20130078645A (en) 2013-07-10

Similar Documents

Publication Publication Date Title
CN102763095B (en) Portable storage interface
JP5753665B2 (en) Client, mediation server and method for providing cloud storage
US20110087726A1 (en) Cloud server, client terminal, device, and method of operating cloud server and client terminal
JP2019091494A (en) Emulated endpoint configuration
KR101705596B1 (en) Server device connecting usb device and device sharing method
US20060159110A1 (en) Open service gateway initiative-based home gateway apparatus and device registration method thereof
US20070168046A1 (en) Image information apparatus and module unit
JP2013512512A (en) Method for interfacing with virtualized computing services over a network using lightweight clients
CN1617515A (en) Simple and dynamic configuration of network devices
CA2841140C (en) Rights control method and apparatus for digital living network alliance
JP2008210115A (en) System for operating usb device of local terminal on remote computer, method therefor and program therefor
US20100146123A1 (en) Resource allocation method of each terminal apparatus using resource management system and resource management server apparatus
US20090019192A1 (en) Usb transmission system and related method for accessing data in a first usb specification with a speed of a second usb specification
CN105007329A (en) PCIe-based network sharing storage system and storage method thereof
TW201327206A (en) Remote management system, remote management apparatus, and remote management method
US9460030B2 (en) Host device and slave device controlling method
US20120182981A1 (en) Terminal and method for synchronization
US20060129700A1 (en) Bridging a local bus with a data network
JP2013016166A (en) System and method for providing remote device driver
WO2023246486A1 (en) Method and apparatus for creating connector
RU2607274C2 (en) Information processing device, information processing system and program
US10742776B1 (en) Accelerating isochronous endpoints of redirected USB devices
US20070106743A1 (en) Sharing disc changers among multiple user devices
KR101945840B1 (en) Server device connecting usb device, client device connecting server device, device driving method and device sharing method
JP6086183B2 (en) Information processing system, information processing method, server, control method thereof, and control program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant