Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6175681B2 - USB device server - Google Patents
[go: Go Back, main page]

JP6175681B2 - USB device server - Google Patents

USB device server Download PDF

Info

Publication number
JP6175681B2
JP6175681B2 JP2014007213A JP2014007213A JP6175681B2 JP 6175681 B2 JP6175681 B2 JP 6175681B2 JP 2014007213 A JP2014007213 A JP 2014007213A JP 2014007213 A JP2014007213 A JP 2014007213A JP 6175681 B2 JP6175681 B2 JP 6175681B2
Authority
JP
Japan
Prior art keywords
usb device
data
usb
unit
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014007213A
Other languages
Japanese (ja)
Other versions
JP2015135630A (en
Inventor
栄植 林
栄植 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silex Technology Inc
Original Assignee
Silex Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silex Technology Inc filed Critical Silex Technology Inc
Priority to JP2014007213A priority Critical patent/JP6175681B2/en
Publication of JP2015135630A publication Critical patent/JP2015135630A/en
Application granted granted Critical
Publication of JP6175681B2 publication Critical patent/JP6175681B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、通信制御技術に関し、特に、ネットワークとUSBデバイスとを連結するUSBデバイスサーバに関する。   The present invention relates to a communication control technique, and more particularly to a USB device server that connects a network and a USB device.

従来、USB(Universal Serial Bus)規格に準拠したUSBポートを備えるパーソナルコンピュータ等のホストデバイスはUSBポートを介してUSBデバイス(周辺機器)と、データの授受を行うことができる。USBデバイスは、USB規格に準拠して通信を行う周辺機器であり、例えば、スピーカー、モニター、USBメモリ、ハードディスク装置、プリンタ、キーボード、マウス、オーディオプレイヤー等である。   Conventionally, a host device such as a personal computer having a USB port conforming to the USB (Universal Serial Bus) standard can exchange data with a USB device (peripheral device) via the USB port. The USB device is a peripheral device that performs communication in conformity with the USB standard, such as a speaker, a monitor, a USB memory, a hard disk device, a printer, a keyboard, a mouse, and an audio player.

また、LAN(Local Area Network)等のネットワークに接続された1台以上のホストデバイスが、ネットワークを介してUSBデバイスを利用し得るように、ネットワークとUSBデバイスとを連結するUSBデバイスサーバが知られている(特許文献1参照)。   There is also known a USB device server that links a network and a USB device so that one or more host devices connected to a network such as a LAN (Local Area Network) can use the USB device via the network. (See Patent Document 1).

また、ホストデバイスと周辺機器との間での通信に際してデータを圧縮するか否かを決定する技術が知られている(特許文献2参照)。   Further, a technique for determining whether or not to compress data during communication between a host device and a peripheral device is known (see Patent Document 2).

特開2008−287453号公報JP 2008-287453 A 特開2001−102935号公報JP 2001-102935 A

特許文献2の技術は、送信すべきデータの量等に応じて圧縮をするか否かの基準となる閾値を変動させて、その閾値とデータを特定の圧縮方式(ランレングス圧縮、ハフマン符号化等)で圧縮したときの圧縮率とに基づいて圧縮するか否かの決定をする技術であるが、送信すべきデータの内容によってはその特定の圧縮方式が必ずしも効率的な伝送に適したものになるとは限らない。   In the technique of Patent Document 2, a threshold value that is a criterion for determining whether or not to perform compression is changed in accordance with the amount of data to be transmitted, and the threshold value and data are converted into a specific compression method (run-length compression, Huffman coding). Etc.), depending on the content of the data to be transmitted, the specific compression method is not always suitable for efficient transmission. It does not always become.

そこで、本発明は、データを圧縮するか否かを決定する特許文献2の技術とは異なる方法で、ホストデバイスがUSBデバイスと通信する際においてネットワーク上での効率的なデータ伝送を実現し得るUSBデバイスサーバを提供する。   Therefore, the present invention can realize efficient data transmission on the network when the host device communicates with the USB device by a method different from the technique of Patent Document 2 that determines whether or not to compress data. A USB device server is provided.

本発明の一態様に係るUSBデバイスサーバは、USB(Universal Serial Bus)デバイスへ接続するためのインタフェースである第1接続部と、ホストデバイスが接続されたネットワークに接続するためのインタフェースである第2接続部と、複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報を記憶する記憶部と、前記第1接続部に接続されたUSBデバイスの属性を特定する特定部と、前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、前記ホストデバイスと前記第1接続部に接続された前記USBデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備えるUSBデバイスサーバである。   A USB device server according to an aspect of the present invention includes a first connection unit that is an interface for connecting to a USB (Universal Serial Bus) device and a second interface that is connected to a network to which a host device is connected. A connection unit, a storage unit that stores relationship information in which each of a plurality of compression methods is associated with an attribute of a USB device, a specifying unit that specifies an attribute of a USB device connected to the first connection unit, and Data transmitted and received between the selection unit that selects a compression method according to the attribute specified by the specifying unit based on the relationship information, and the USB device connected to the host device and the first connection unit A USB device comprising: a control unit that controls to be transmitted on the network in a state compressed by the compression method selected by the selection unit. Is Susaba.

本発明の一態様に係るUSBデバイスサーバは、ホストデバイスがUSBデバイスと通信する際にネットワーク上での効率的なデータ伝送を実現し得る。   The USB device server according to an aspect of the present invention can realize efficient data transmission over a network when the host device communicates with the USB device.

実施の形態に係る通信システムのネットワーク構成図である。It is a network block diagram of the communication system which concerns on embodiment. 通信システムにおけるUSBデバイスサーバのハードウェア構成図である。It is a hardware block diagram of the USB device server in a communication system. USBデバイスサーバの機能ブロック図である。It is a functional block diagram of a USB device server. USBデバイスサーバが保持する関係情報のデータ構成及び内容例を示す図である。It is a figure which shows the data structure and content example of the relationship information which a USB device server hold | maintains. USBデバイスサーバの制御部の機能ブロック図である。It is a functional block diagram of the control part of a USB device server. 通信システムにおけるホストデバイスの機能ブロック図である。It is a functional block diagram of the host device in a communication system. USBデバイスサーバにおける通信制御処理を示すフローチャートである。It is a flowchart which shows the communication control process in a USB device server. ホストデバイスにおけるUSBデバイス制御処理を示すフローチャートである。It is a flowchart which shows the USB device control process in a host device. USBデバイスサーバを介したデバイス間の通信シーケンスを示す図である。It is a figure which shows the communication sequence between the devices via a USB device server. 変形例に係るUSBデバイス制御処理を示すフローチャートである。It is a flowchart which shows the USB device control process which concerns on a modification.

ホストデバイスがUSBデバイスと通信する際にネットワーク上での効率的なデータ伝送を実現すべく、本発明の一態様に係るUSBデバイスサーバは、USB(Universal Serial Bus)デバイスへ接続するためのインタフェースである第1接続部と、ホストデバイスが接続されたネットワークに接続するためのインタフェースである第2接続部と、複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報を記憶する記憶部と、前記第1接続部に接続されたUSBデバイスの属性を特定する特定部と、前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、前記ホストデバイスと前記第1接続部に接続された前記USBデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備え、前記USBデバイスの属性は、クラス識別情報で表され、前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したクラス識別情報により前記属性を特定し、前記関係情報は、互いに異なる2つの圧縮方式をそれぞれ、第1クラスを示すクラス識別情報、第2クラスを示すクラス識別情報と対応付け、前記選定部は、前記第1接続部に接続されたUSBデバイスから取得されたクラス識別情報が第1クラスを示す場合には、前記関係情報で第1クラスに対応付けられた圧縮方式を選定するUSBデバイスサーバである。 In order to realize efficient data transmission over a network when a host device communicates with a USB device, a USB device server according to one aspect of the present invention is an interface for connecting to a USB (Universal Serial Bus) device. A first connection unit, a second connection unit that is an interface for connecting to a network to which a host device is connected, and a memory that stores relation information in which each of a plurality of compression methods is associated with an attribute of a USB device A specifying unit that specifies an attribute of a USB device connected to the first connection unit, a selection unit that selects a compression method according to the attribute specified by the specifying unit based on the relationship information, Data to be transmitted / received between the host device and the USB device connected to the first connection unit is selected by the selection unit. And a control unit that controls to be transmitted on the network in a compressed state by condensation method, the attributes of the USB device is represented by the class identification information, the identification unit connected to the first connecting portion The attribute is specified by the class identification information acquired from the USB device, and the relation information corresponds to two different compression methods, respectively, class identification information indicating the first class and class identification information indicating the second class. In addition, when the class identification information acquired from the USB device connected to the first connection unit indicates the first class, the selection unit selects a compression method associated with the first class in the relationship information. USB device server to be selected .

ここで、USBデバイスの属性とは、USBデバイスがホストデバイスとの間で通信するデータがどのような性質を有するものであるかを表すものをいう。属性の例としては、音声データを通信するUSBデバイスであることを示す属性、画像データを通信するUSBデバイスであることを示す属性等が挙げられる。なお、従来の知識や理論或いはシミュレーションに基づいて、USBデバイスの属性毎に好適な圧縮方式を定めるよう関係情報を設定して運用されることが想定される。また、選定された圧縮方式での圧縮は、その選定された圧縮方式で定まる圧縮アルゴリズムによるデータ変換を実現するソフトウェア又はハードウェアによりなされ、このデータ変換の対象は、ネットワーク上で伝送されるべきデータの少なくとも一部である。また、制御部による制御は、外部の機器(ホストデバイス等)の制御でも自機(USBデバイスサーバ)自身の制御であってもよい。   Here, the attribute of the USB device refers to what property the data that the USB device communicates with the host device has. Examples of attributes include an attribute indicating a USB device that communicates audio data, an attribute indicating a USB device that communicates image data, and the like. It is assumed that the operation is performed by setting the related information so as to determine a suitable compression method for each attribute of the USB device based on conventional knowledge, theory, or simulation. In addition, compression by the selected compression method is performed by software or hardware that realizes data conversion by a compression algorithm determined by the selected compression method, and this data conversion target is data to be transmitted on the network. Is at least part of. The control by the control unit may be control of an external device (host device or the like) or control of the own device (USB device server) itself.

上記構成により、関係情報としてUSBデバイスの属性毎に好適な圧縮方式を定めておくことで、USBデバイスの属性に応じて複数の圧縮方式のうち1つが選定されてデータが圧縮されるようになるので、ユーザは特別な操作をすることなくネットワーク上での効率的なデータ伝送が実現され得る。   With the above configuration, by determining a suitable compression method for each USB device attribute as related information, one of a plurality of compression methods is selected according to the USB device attribute and the data is compressed. Therefore, the user can realize efficient data transmission on the network without performing a special operation.

例えば、前記制御部は、前記USBデバイスからUSB規格に準拠して送信されたデータを、前記第1接続部を介して受信し、当該データを前記選定部により選定された圧縮方式で圧縮した上で、前記ネットワークで送信可能な形式に変換してから前記第2接続部を介して前記ネットワークに送出することとしてもよい。   For example, the control unit receives data transmitted from the USB device in conformity with the USB standard via the first connection unit, and compresses the data using the compression method selected by the selection unit. Then, it may be converted into a format that can be transmitted by the network and then sent to the network via the second connection unit.

これにより、USBデバイスがホストデバイスのUSBポートに直接的に接続している場合と同様のデータを送出すると、USBデバイスから送出されたデータがUSBデバイスサーバにより圧縮されてホストデバイスへと伝送されることとなる。このためネットワーク上での伝送遅延が低減され得るので、データを圧縮する機能を有しないUSBデバイスでもネットワーク上のホストデバイスと円滑に通信し得るようになる。   As a result, when the same data as when the USB device is directly connected to the USB port of the host device is sent, the data sent from the USB device is compressed by the USB device server and transmitted to the host device. It will be. For this reason, since transmission delay on the network can be reduced, even a USB device that does not have a data compression function can smoothly communicate with a host device on the network.

また、例えば、前記制御部は、前記USBデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該USBデバイスからのデータのうち、ホストデバイスからのUSBリクエストブロック(URB)に応答する応答データに対して、当該圧縮方式で定まるデータ変換を施すことにより行うこととしてもよい。 In addition, for example, the control unit responds to the USB request block (URB) from the host device among the data from the USB device, with respect to the compression by the selected compression method for the data from the USB device. for the response data may be performed by performing data conversion determined by the compression method.

これにより、USBデバイスがホストデバイスのURB(USB Request Block)に応じてホストデバイスへと送信するデータ、即ちUSBデバイスの属性が表れると想定されるデータが、その属性に対応する好適な圧縮方式で圧縮されるので効率的な伝送が実現され得る。   As a result, the data that the USB device transmits to the host device according to the URB (USB Request Block) of the host device, that is, the data that is assumed to show the attribute of the USB device, is a suitable compression method corresponding to the attribute. Since it is compressed, efficient transmission can be realized.

また、前記制御部は、前記選定された圧縮方式で圧縮したデータにヘッダを付加して前記ネットワークに送出し、前記ヘッダに当該圧縮方式を示す情報を含ませることとしてもよい。   The control unit may add a header to the data compressed by the selected compression method and send the data to the network, and may include information indicating the compression method in the header.

これにより、ネットワークを介して圧縮されたデータを受信したホストデバイスが、ヘッダを参照することにより圧縮方式を特定してその圧縮方式に呼応した伸長を施せるようになり、USBデバイスが送出したデータを抽出できるようになる。   As a result, the host device that has received the compressed data via the network can specify the compression method by referring to the header and perform decompression according to the compression method. It can be extracted.

また、前記第2接続部を介してホストデバイスからUSBデバイスについての情報の要求が受信された場合に、前記制御部は、前記第1接続部に接続されたUSBデバイスから取得した当該USBデバイスの情報と前記選定部により選定された圧縮方式を示す情報とを前記第2接続部を介してホストデバイスへ送信することとしてもよい。   Further, when a request for information about the USB device is received from the host device via the second connection unit, the control unit acquires the USB device acquired from the USB device connected to the first connection unit. Information and information indicating the compression method selected by the selection unit may be transmitted to the host device via the second connection unit.

これにより、ホストデバイスは、USBデバイスを利用しようとする際にUSBデバイスについての情報を要求することで、そのUSBデバイスへ送信するURB等のデータを圧縮するための圧縮方式を知ることができるようになる。   As a result, the host device requests the information about the USB device when trying to use the USB device, so that the host device can know the compression method for compressing the data such as URB transmitted to the USB device. become.

また、前記制御部は、前記USBデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該USBデバイスからのデータのうち、特定のデータのみに対して施し、当該特定のデータ以外のデータに対しては施さないこととしてもよい。   In addition, the control unit performs compression by the selected compression method on the data from the USB device only for specific data among the data from the USB device, and other than the specific data. It is good also as not giving to data.

これにより、圧縮を施すメリットの少ないデータ(例えばコマンド、ステータス等といった少量のデータ)に圧縮を施さないことも可能となる。   As a result, it is also possible not to compress data that has little merit in performing compression (for example, a small amount of data such as commands and statuses).

また、前記制御部は、前記選定部により選定された圧縮方式を示す情報を、前記ネットワークを介してホストデバイスに送信し、前記制御部は更に、前記ホストデバイスから前記ネットワークを通じて送信されたデータを、前記第1接続部を介して受信し、当該データを前記選定部により選定された圧縮方式に呼応する伸長方式で伸長した上で、USB規格に準拠して送信するための形式に変換してから前記第1接続部を介して前記USBデバイスへ送信することとしてもよい。   The control unit transmits information indicating the compression method selected by the selection unit to the host device via the network, and the control unit further transmits the data transmitted from the host device through the network. The data is received via the first connection unit, and the data is expanded by an expansion method corresponding to the compression method selected by the selection unit, and then converted into a format for transmission in accordance with the USB standard. To the USB device via the first connection unit.

これにより、USBデバイスサーバは、ホストデバイスに圧縮方式を伝達し、ホストデバイスがその圧縮方式で圧縮したデータを、ネットワークを介して受信するので、ネットワーク上での効率的なデータ伝送が実現され得る。   Thereby, the USB device server transmits the compression method to the host device, and the host device receives the data compressed by the compression method via the network, so that efficient data transmission over the network can be realized. .

また、前記USBデバイスの属性は、クラス識別情報で表され、前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したクラス識別情報により前記属性を特定し、前記関係情報は、互いに異なる2つの圧縮方式をそれぞれ、第1クラスを示すクラス識別情報、第2クラスを示すクラス識別情報と対応付け、前記選定部は、前記第1接続部に接続されたUSBデバイスから取得されたクラス識別情報が第1クラスを示す場合には第2クラスを示す場合とは異なる圧縮方式を選定することとしてもよい。ここで、クラス識別情報はUSBデバイスの機能の種別を示す情報である。   Further, the attribute of the USB device is represented by class identification information, and the specifying unit specifies the attribute by class identification information acquired from the USB device connected to the first connection unit, and the relation information is: Two different compression methods are associated with class identification information indicating a first class and class identification information indicating a second class, respectively, and the selection unit is acquired from a USB device connected to the first connection unit When the class identification information indicates the first class, a different compression method may be selected from when the class identification information indicates the second class. Here, the class identification information is information indicating the type of function of the USB device.

これにより、関係情報として機能別に適切な圧縮方式を定めることができるようになる。   This makes it possible to determine an appropriate compression method for each function as the related information.

また、前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したデバイスディスクリプタ又はインターフェイスディスクリプタに基づいて前記属性を特定することとしてもよい。   The specifying unit may specify the attribute based on a device descriptor or an interface descriptor acquired from a USB device connected to the first connection unit.

これにより、USBデバイスサーバは、そのUSBデバイスからデバイスディスクリプタ又はインターフェイスディスクリプタを取得することでそのUSBデバイスのデータをネットワーク上で圧縮するための適切な圧縮方式を選定することが可能になる。   Accordingly, the USB device server can select an appropriate compression method for compressing data of the USB device on the network by acquiring the device descriptor or the interface descriptor from the USB device.

また、前記第1クラスはオーディオクラスであり、前記第2クラスはストレージクラスであり、前記関係情報は、第1クラスを示すクラス識別情報とハフマン圧縮方式とを対応付けていることとしてもよい。   The first class may be an audio class, the second class may be a storage class, and the relationship information may associate class identification information indicating the first class with a Huffman compression method.

これにより、オーディオクラスのUSBデバイスとホストデバイスとが送受する音声データをハフマン圧縮方式で圧縮することができるので、ある程度高効率で圧縮され、ネットワーク上での効率的なデータ伝送が実現され得る。なお、音声データについてハフマン圧縮方式で圧縮を施すことは、例えば左右の2チャネルのステレオ音声においては、両チャネル間の音声の差分データを抽出しその差分データに対してハフマン圧縮を施すことである。なお、ハフマン圧縮は、各データ値の出現確率を事前に求め、出現確率の高い文字を短い符号で、出現確率の低い文字を長い符号で表現することで、平均符号長を最小とするものである。   As a result, the audio data transmitted and received between the audio class USB device and the host device can be compressed by the Huffman compression method, so that the data can be compressed with high efficiency to some extent and efficient data transmission on the network can be realized. Note that compressing audio data by the Huffman compression method means that, for example, in stereo audio of two channels on the left and right, differential data of audio between both channels is extracted and Huffman compression is performed on the difference data. . Huffman compression is the one that minimizes the average code length by obtaining the appearance probability of each data value in advance and expressing characters with a high appearance probability with short codes and characters with a low appearance probability with long codes. is there.

また、前記USBデバイスサーバは更に、前記関係情報を更新する更新部を備えることとしてもよい。   The USB device server may further include an update unit that updates the relationship information.

これにより、運用に際して特定の属性を有するUSBデバイスに一層有効な圧縮方式が判明した場合等において、ホストデバイス又はユーザの指示等により、USBデバイスの属性と圧縮方式との対応関係を変更し得るようになる。   As a result, when a more effective compression method is found for a USB device having a specific attribute during operation, the correspondence relationship between the attribute of the USB device and the compression method can be changed according to the instruction of the host device or the user. become.

また、本発明の一態様に係る制御プログラムは、USB規格に準拠してUSBデバイスに送信するためのデータを、当該USBデバイスと接続されたUSBデバイスサーバに対してネットワークを介して送信するための処理を、プロセッサを備えるホストデバイスに実行させるための制御プログラムであって、前記処理は、前記USBデバイスサーバから前記USBデバイスの属性を示す情報を受信する受信ステップと、複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報に基づいて、前記受信ステップにおいて受信された情報が示す属性に応じて複数の圧縮方式のうちの1つを選定する選定ステップと、前記USB規格に準拠して前記USBデバイスに送信するためのデータを、前記選定ステップにおいて選定された圧縮方式で圧縮して前記USBデバイスサーバに対して前記ネットワークを介して送信する送信ステップとを含み、前記受信ステップで受信される前記USBデバイスの属性を示す情報は、前記USBデバイスサーバが前記USBデバイスから取得したクラス識別情報を示す情報であり、前記関係情報は、互いに異なる2つの圧縮方式をそれぞれ、第1クラスを示すクラス識別情報、第2クラスを示すクラス識別情報と対応付け、前記選定ステップでは、前記受信ステップで受信されたクラス識別情報を示す情報が、第1クラスを示す場合には、前記関係情報で第1クラスに対応付けられた圧縮方式を選定する制御プログラムである。 A control program according to an aspect of the present invention is a program for transmitting data to be transmitted to a USB device in conformity with the USB standard to a USB device server connected to the USB device via a network. A control program for causing a host device including a processor to execute processing, wherein the processing includes receiving a step of receiving information indicating an attribute of the USB device from the USB device server, and each of a plurality of compression methods. A selection step for selecting one of a plurality of compression methods according to the attribute indicated by the information received in the reception step based on the relationship information in which the attribute of the USB device is associated, and conforming to the USB standard The data to be transmitted to the USB device is stored in the pressure selected in the selection step. Look including a transmission step of compressing in a manner to transmit over the network to the USB device server, information indicating the attributes of the USB device that is received by the receiving step, the USB device server said USB Information indicating class identification information acquired from a device, wherein the relation information associates two different compression methods with class identification information indicating a first class and class identification information indicating a second class, respectively, and the selection In the step, when the information indicating the class identification information received in the reception step indicates a first class, the control program selects a compression method associated with the first class in the relationship information .

この制御プログラムによってホストデバイスは、USBデバイスの属性に応じて圧縮方式を選定してデータを効率的に圧縮してネットワーク上を伝送させ得るようになる。   With this control program, the host device can select a compression method according to the attributes of the USB device and efficiently compress the data to be transmitted over the network.

なお、これらの包括的又は具体的な各種態様には、装置、システム、方法、集積回路、コンピュータプログラム、コンピュータで読み取り可能な記録媒体等の1つ又は複数の組み合わせが含まれる。   These comprehensive or specific various aspects include one or a plurality of combinations of an apparatus, a system, a method, an integrated circuit, a computer program, a computer-readable recording medium, and the like.

以下、実施の形態について、図面を参照しながら説明する。   Hereinafter, embodiments will be described with reference to the drawings.

ここで示す実施の形態は、いずれも本発明の好ましい一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。   Each of the embodiments shown here shows a preferred specific example of the present invention. Accordingly, the numerical values, shapes, materials, components, component arrangement and connection forms, steps (steps) and order of steps, and the like shown in the following embodiments are examples and limit the present invention. is not. Among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims indicating the highest concept of the present invention are constituent elements that can be arbitrarily added. Each figure is a mimetic diagram and is not necessarily illustrated strictly.

各実施の形態では、主に、USBデバイスと、ネットワークに接続されたホストデバイスとの通信を中継する際に、USBデバイスの属性に応じて選定した圧縮方式でデータを圧縮してネットワーク上に伝送するよう制御するUSBデバイスサーバについて説明する。   In each embodiment, when relaying communication between a USB device and a host device connected to the network, the data is compressed on the compression method selected according to the attribute of the USB device and transmitted over the network. A USB device server that performs control will be described.

(実施の形態1)
以下、本発明の一態様としての実施の形態について説明する。
(Embodiment 1)
Embodiments as one embodiment of the present invention will be described below.

(構成)
図1は、実施の形態に係る通信システム10のネットワーク構成図である。
(Constitution)
FIG. 1 is a network configuration diagram of a communication system 10 according to an embodiment.

通信システム10は、イーサネット(登録商標)ケーブルで接続された有線LAN等のネットワーク20を介して複数の機器間で通信を行うためのシステムである。ネットワーク20に接続された機器には、ホストデバイス200a、ホストデバイス200b、USBデバイスサーバ100が含まれる。   The communication system 10 is a system for performing communication between a plurality of devices via a network 20 such as a wired LAN connected by an Ethernet (registered trademark) cable. The devices connected to the network 20 include a host device 200a, a host device 200b, and a USB device server 100.

ここで、USBデバイスサーバ100は、USBデバイス300a及びUSBデバイス300bとそれぞれUSBケーブル30a、30bを介して接続されており、USBデバイスをネットワークに接続された機器から利用可能にする機能を有する。USBデバイスサーバ100の働きにより、ホストデバイス200a及びホストデバイス200bは、USBデバイス300a或いはUSBデバイス300bを利用することができる。なお、USBデバイスサーバ100は、各USBデバイスが排他的に1台のホストデバイスと通信を行うように機能する。有線LAN等のネットワーク20は、例えばIEEE802.3規格に準拠したものである。   Here, the USB device server 100 is connected to the USB device 300a and the USB device 300b via the USB cables 30a and 30b, respectively, and has a function of making the USB device usable from a device connected to the network. By the operation of the USB device server 100, the host device 200a and the host device 200b can use the USB device 300a or the USB device 300b. The USB device server 100 functions so that each USB device communicates exclusively with one host device. The network 20 such as a wired LAN is compliant with, for example, the IEEE 802.3 standard.

ホストデバイス200a、200bは、プロセッサ、メモリ、イーサネットコントローラ、表示装置等を備えるパーソナルコンピュータ、通信機器等である。USBデバイス300a、300bは、USB規格に準拠して通信を行う周辺機器であり、例えば、スピーカー、モニター、USBメモリ、ハードディスク装置、プリンタ、キーボード、マウス、オーディオプレイヤー等である。なお、USB規格は、USBImplementers Forum,Inc.により管理されている。また、USBデバイス300a、300bは、それぞれUSBケーブル30a、30bを挿抜自在であっても、USBケーブル30a、30bと一体化されていてもよい。つまり、USBデバイス300a、300b自身がUSBデバイスサーバ100に備わるUSB規格のインタフェース(I/F)コネクタに対し、直接的に挿抜自在であってもよい(例えば、上述のUSBメモリ等)。   The host devices 200a and 200b are personal computers, communication devices, and the like that include a processor, a memory, an Ethernet controller, a display device, and the like. The USB devices 300a and 300b are peripheral devices that perform communication in conformity with the USB standard, such as a speaker, a monitor, a USB memory, a hard disk device, a printer, a keyboard, a mouse, and an audio player. Note that the USB standard is USBImplementers Forum, Inc. It is managed by. Further, the USB devices 300a and 300b may be capable of inserting and removing the USB cables 30a and 30b, respectively, or may be integrated with the USB cables 30a and 30b. That is, the USB devices 300a and 300b themselves may be directly detachable with respect to the USB standard interface (I / F) connector provided in the USB device server 100 (for example, the above-described USB memory or the like).

以下、USBデバイスサーバ100の構成について説明する。   Hereinafter, the configuration of the USB device server 100 will be described.

図2は、通信システム10におけるUSBデバイスサーバ100のハードウェア構成図である。   FIG. 2 is a hardware configuration diagram of the USB device server 100 in the communication system 10.

USBデバイスサーバ100は、プロセッサ101と、記憶装置102と、ネットワーク通信インタフェース(I/F)103と、USB通信インタフェース(I/F)104とバス105とを備える通信装置である。ここで、記憶装置102は、ROM及びRAMといったメモリ等であり、ネットワーク通信I/F103は、イーサネットコントローラ、LANポート(イーサネット端子)等である。また、USB通信I/F104は、USBコントローラ、USBケーブルのコネクタを挿抜可能なUSBポート等である。USB通信I/F104は、ここでは複数のUSBポートを備えることとして説明するが、必ずしも複数なくてもよい。   The USB device server 100 is a communication device that includes a processor 101, a storage device 102, a network communication interface (I / F) 103, a USB communication interface (I / F) 104, and a bus 105. Here, the storage device 102 is a memory such as a ROM and a RAM, and the network communication I / F 103 is an Ethernet controller, a LAN port (Ethernet terminal), or the like. The USB communication I / F 104 is a USB controller, a USB port through which a USB cable connector can be inserted and removed, and the like. Although the USB communication I / F 104 is described as having a plurality of USB ports here, a plurality of USB communication I / Fs 104 are not necessarily required.

図3は、USBデバイスサーバ100の機能ブロック図である。   FIG. 3 is a functional block diagram of the USB device server 100.

USBデバイスサーバ100は、機能面においては、第1接続部110、第2接続部120、記憶部130、特定部140、選定部150、制御部160及び更新部170を有し、通信制御処理(後述)を実行する。   The USB device server 100 has a first connection unit 110, a second connection unit 120, a storage unit 130, a specifying unit 140, a selection unit 150, a control unit 160, and an update unit 170 in terms of functions, and communication control processing ( (To be described later).

ここで、第1接続部110は、USB通信I/F104等により実現され、USBデバイスとの間でUSB規格に従ってデータの送受信を行うためのインタフェースとして機能する。   Here, the first connection unit 110 is realized by the USB communication I / F 104 or the like, and functions as an interface for transmitting / receiving data to / from the USB device according to the USB standard.

また、第2接続部120は、ネットワーク通信I/F103等により実現され、ネットワーク20に接続されたホストデバイスとの間で、データの送受信を行うためのインタフェースとして機能する。なお、第2接続部120によるデータの送受信は、ネットワークインタフェース層にイーサネットを用い、USB規格で送受信されるデータ(USBデータ)をカプセル化してTCP/IPプロトコルに基づいて行われる。   The second connection unit 120 is realized by the network communication I / F 103 or the like, and functions as an interface for transmitting / receiving data to / from a host device connected to the network 20. Data transmission / reception by the second connection unit 120 is performed based on the TCP / IP protocol by using Ethernet as the network interface layer and encapsulating data (USB data) transmitted / received in the USB standard.

記憶部130は、記憶装置102により実現され、圧縮方式とUSBデバイスの属性とを対応付けた関係情報400を記憶する他、プロセッサに各機能を実行させるための制御プログラムを記憶している。ここで、関係情報400について説明する。   The storage unit 130 is realized by the storage device 102 and stores relationship information 400 in which the compression method and the attribute of the USB device are associated with each other, and also stores a control program for causing the processor to execute each function. Here, the relationship information 400 will be described.

図4は、関係情報400のデータ構成及び内容例を示す図である。関係情報400は、同図に示すように、クラス識別情報401と圧縮方式402とを対応付けた情報である。クラス識別情報401は、USBデバイスの属性である機能種別を区別する情報(デバイスクラスを示す情報)である。また、圧縮方式402は、圧縮方式を識別する情報である。   FIG. 4 is a diagram illustrating a data configuration and content example of the relationship information 400. The relationship information 400 is information in which class identification information 401 and a compression method 402 are associated with each other as shown in FIG. The class identification information 401 is information (information indicating a device class) for distinguishing a function type that is an attribute of the USB device. The compression method 402 is information for identifying the compression method.

この関係情報は、製造者、運用管理者等により設定されるものであり、経験的又は理論的な考察、或いはシミュレーションに基づいて、USBデバイスの属性毎に好適な圧縮方式が定められている。図4の内容例では、音声データを扱う機能を示すオーディオクラスには、一定ビットごとに文字列を区切り、区切られた後の文字列を統計的に処理して、出現確率がより高いパターンに対してより短い符号を与えてデータ圧縮するハフマン圧縮という圧縮方式が対応付けられ、一方、大容量記憶機能を示すストレージクラス(マスストレージクラス)には、あるデータの着目している位置から始まる記号列が、それより以前に出現していたかを探し、その記号列をその出現位置と長さのポインタに置き換えてデータ圧縮するLZ77圧縮という圧縮方式が対応付けられていることを例示している。なお、音声データを扱う機能を有するUSBデバイスには、例えばマイク、スピーカー等がある。また、大容量記憶機能を有するUSBデバイスにはUSBメモリ、ハードディスク装置等がある。   This relationship information is set by a manufacturer, an operation manager, or the like, and a suitable compression method is determined for each attribute of the USB device based on empirical or theoretical considerations or simulations. In the content example of FIG. 4, in the audio class indicating the function of handling audio data, a character string is delimited for each constant bit, and the delimited character string is statistically processed to form a pattern having a higher appearance probability. On the other hand, a compression method called Huffman compression, which compresses data by giving a shorter code, is associated. On the other hand, a storage class (mass storage class) indicating a large-capacity storage function has a symbol that starts from a position in which certain data is focused It is illustrated that a compression method called LZ77 compression in which data is compressed by searching whether a column has appeared before that and replacing the symbol string with a pointer of its appearance position and length is exemplified. Note that USB devices having a function of handling audio data include, for example, a microphone and a speaker. USB devices having a large capacity storage function include a USB memory and a hard disk device.

再びUSBデバイスサーバ100の機能構成要素の説明に戻る。   Returning to the description of the functional components of the USB device server 100 again.

特定部140は、制御部160の制御により第1接続部110を介してUSBデバイスから受信されたデバイス情報等から、そのUSBデバイスの属性を特定する機能を有する。具体的には、USBデバイスから受信されたデバイスディスクリプタ又はインターフェイスディスクリプタからデバイスクラスを示すクラス識別情報を抽出して、第1接続部110に接続されたUSBデバイスの属性として特定する機能である。   The specifying unit 140 has a function of specifying the attribute of the USB device from device information received from the USB device via the first connection unit 110 under the control of the control unit 160. Specifically, this is a function of extracting class identification information indicating a device class from a device descriptor or interface descriptor received from a USB device and specifying it as an attribute of the USB device connected to the first connection unit 110.

選定部150は、記憶部130に記憶されている関係情報400を参照して、特定部140により特定されたUSBデバイスの属性に応じて、1つの圧縮方式を選定して制御部160に伝える機能を有する。例えば、特定部140に特定されたUSBデバイスの属性がオーディオクラスを示していれば、関係情報400(図4参照)においてクラス識別情報401がオーディオクラスに対応する圧縮方式402で示される圧縮方式(図4の内容例ではハフマン圧縮)を選定する。   The selection unit 150 refers to the relationship information 400 stored in the storage unit 130, selects one compression method according to the attribute of the USB device specified by the specification unit 140, and transmits it to the control unit 160 Have For example, if the attribute of the USB device specified by the specifying unit 140 indicates an audio class, the class identification information 401 in the relationship information 400 (see FIG. 4) indicates the compression method (indicated by the compression method 402 corresponding to the audio class). In the content example of FIG. 4, Huffman compression) is selected.

制御部160は、第2接続部120を介してネットワーク20に接続されている機器(ホストデバイス等)及び第1接続部110を介して接続されているUSBデバイスとの通信を制御する機能を有する。特に、ホストデバイスと第1接続部110に接続されたUSBデバイスとの間で送受されるデータが、選定部150から伝えられた圧縮方式で圧縮された状態でネットワーク20上を伝送されるよう制御する機能を有する。   The control unit 160 has a function of controlling communication with a device (such as a host device) connected to the network 20 via the second connection unit 120 and a USB device connected via the first connection unit 110. . In particular, control is performed so that data transmitted and received between the host device and the USB device connected to the first connection unit 110 is transmitted on the network 20 in a state compressed by the compression method transmitted from the selection unit 150. Has the function of

図5は、制御部160の構成要素である機能ブロックを示す。同図に示すように、制御部160は、ネットワーク通信部161、圧縮伸長制御部162及びUSB通信部163を有す。ここで、ネットワーク通信部161は、TCP/IPの各種プロトコルに従ってネットワーク20での通信を行うよう制御する機能を担う。圧縮伸長制御部162は、関係情報400で示される複数の圧縮方式それぞれに対応した圧縮アルゴリズム及び伸長アルゴリズムに基づくデータ変換を行うためのハードウェア又はソフトウェアから実現される機構を有し、データの圧縮及び伸長を行う機能を担う。また、USB通信部163は、USB規格に従って通信を行うよう制御する機能を担う。   FIG. 5 shows functional blocks that are components of the control unit 160. As shown in the figure, the control unit 160 includes a network communication unit 161, a compression / decompression control unit 162, and a USB communication unit 163. Here, the network communication unit 161 has a function of controlling communication on the network 20 according to various TCP / IP protocols. The compression / decompression control unit 162 includes a compression algorithm corresponding to each of a plurality of compression methods indicated by the relationship information 400 and a mechanism realized by hardware or software for performing data conversion based on the decompression algorithm, and compresses data. And the function of performing expansion. In addition, the USB communication unit 163 has a function of controlling to perform communication according to the USB standard.

これらの構成要素により、制御部160は、USBデバイスからUSB規格に準拠して送信されたデータを、第1接続部110を介して受信し、そのデータを選定部150に選定された圧縮方式で圧縮した上でカプセル化してから第2接続部120を介してネットワーク20に送出する。このカプセル化は、TCP/IPの各階層の各プロトコルで定められた形式に合致させるべく、ネットワーク20に送出すべきデータに各種制御情報を含むヘッダ等の付加を行うことである。また、選定部150から伝えられた圧縮方式での圧縮は、その圧縮方式で定まるデータ変換を、送信すべきデータ(後述するようにデータの一部でもよい)に施すことにより実行される。逆に、ネットワーク20上にホストデバイスから送信されたデータを、第2接続部120を介して受信した場合には、制御部160は、そのデータをデカプセル化したのち、その圧縮方式に呼応する伸長を施してから第1接続部110を介してUSBデバイスへ転送する。なお、デカプセル化は、カプセル化の逆の処理であり各種制御情報を含むヘッダ等を除去することである。なお、制御部160は、USBデバイスから受信されたデバイス情報を特定部140に伝える機能や、ネットワーク20を介してホストデバイスから関係情報400の更新要求を受信した場合に更新部170に関係情報400を更新させる機能も有する。なお、この更新要求は、クラス識別情報と圧縮方式との組(各々を対応付けた形態)を示す情報を伴ってなされる。   With these components, the control unit 160 receives data transmitted from the USB device in conformity with the USB standard via the first connection unit 110, and uses the compression method selected by the selection unit 150. After being compressed and encapsulated, it is sent to the network 20 via the second connection unit 120. This encapsulation is to add a header including various control information to data to be transmitted to the network 20 so as to conform to a format defined by each protocol of each layer of TCP / IP. Further, the compression by the compression method transmitted from the selection unit 150 is executed by performing data conversion determined by the compression method on the data to be transmitted (may be a part of the data as will be described later). Conversely, when data transmitted from the host device on the network 20 is received via the second connection unit 120, the control unit 160 decapsulates the data and then decompresses the data in accordance with the compression method. Are transferred to the USB device via the first connection unit 110. Note that decapsulation is the reverse process of encapsulation, and is to remove a header or the like including various control information. Note that the control unit 160 has a function of transmitting the device information received from the USB device to the specifying unit 140, or the update unit 170 receives the update information of the related information 400 via the network 20 when the related information 400 is received. It also has a function for updating. This update request is made with information indicating a set of class identification information and a compression method (a form in which each is associated).

また、更新部170は、制御部160から関係情報400を更新する指示を受けて記憶部130に記憶されている関係情報400を更新する機能を有する。   The update unit 170 has a function of receiving the instruction to update the relationship information 400 from the control unit 160 and updating the relationship information 400 stored in the storage unit 130.

なお、特定部140、選定部150、制御部160及び更新部170の全部又は一部の機能は、USBデバイスサーバ100を構成する記憶装置102に格納された制御プログラムをプロセッサ101が実行することにより実現される。   Note that all or some of the functions of the specifying unit 140, the selection unit 150, the control unit 160, and the update unit 170 are performed by the processor 101 executing a control program stored in the storage device 102 configuring the USB device server 100. Realized.

以下、ホストデバイス200a、200bにおける通信に係る機能について説明する。   Hereinafter, functions related to communication in the host devices 200a and 200b will be described.

図6は、ホストデバイス200aの機能ブロック図である。   FIG. 6 is a functional block diagram of the host device 200a.

ホストデバイス200aは、同図に示すように、アプリケーションプログラム部201、USBデバイスドライバ部202、圧縮伸長制御部203及びネットワーク通信制御部204を有する。   As shown in the figure, the host device 200a includes an application program unit 201, a USB device driver unit 202, a compression / decompression control unit 203, and a network communication control unit 204.

ここで、アプリケーションプログラム部201は、USBデバイスを利用した処理を行うアプリケーションプログラムをプロセッサにより実行する機能を有する。このアプリケーションプログラムは、USBデバイスサーバ100に、利用可能なUSBデバイスの情報(例えば一覧情報)を要求し、ユーザ入力に応じて選択されたUSBデバイスとデータの授受を行う処理を含む。なお、このアプリケーションプログラムは、ユーザ入力等により取得した、ネットワーク20を介して通信するためのUSBデバイスサーバ100のアドレス(例えばMAC(Media Access Control)アドレス)を利用する。   Here, the application program unit 201 has a function of executing, by a processor, an application program that performs processing using a USB device. This application program includes a process of requesting information (for example, list information) of available USB devices from the USB device server 100 and exchanging data with a USB device selected in accordance with user input. This application program uses the address (for example, MAC (Media Access Control) address) of the USB device server 100 for communication via the network 20 obtained by user input or the like.

USBデバイスドライバ部202は、USB規格に従ってUSBデバイスと通信をするためのデバイスドライバをプロセッサにより実行する機能を有する。   The USB device driver unit 202 has a function of causing a processor to execute a device driver for communicating with a USB device in accordance with the USB standard.

圧縮伸長制御部203は、1以上の圧縮方式各々に対応した圧縮アルゴリズム及び伸長アルゴリズムに基づくデータ変換を行うためのハードウェア又はソフトウェアから実現される機構を有し、データの圧縮及び伸長を行う機能を有する。即ち、圧縮伸長制御部203はUSBデバイスドライバ部202が出力したデータを圧縮してネットワーク通信制御部204に入力し、ネットワーク通信制御部204が出力したデータを伸長してUSBデバイスドライバ部202に入力する。   The compression / decompression control unit 203 includes a compression algorithm corresponding to each of one or more compression methods and a mechanism realized by hardware or software for performing data conversion based on the decompression algorithm, and a function for compressing and decompressing data Have That is, the compression / decompression control unit 203 compresses the data output from the USB device driver unit 202 and inputs it to the network communication control unit 204, and decompresses the data output from the network communication control unit 204 and inputs it to the USB device driver unit 202. To do.

また、ネットワーク通信制御部204は、TCP/IPの各種プロトコルに従ってネットワーク20での通信を行うよう制御(カプセル化、デカプセル化等)する機能を有する。これらの構成要素により、ホストデバイス200aは、アプリケーションプログラムに基づいてUSBデバイスに送信するためのデータの少なくとも一部を圧縮してカプセル化してネットワーク20に送出する。また、USBデバイスが送信したデータをネットワーク20から受信してデカプセル化して伸長して、アプリケーションプログラムにおいて利用できるようにする。これにより、圧縮されたデータがネットワーク20上で伝送されることとなり、通信帯域負荷が低減され、また、非圧縮の場合と比べて伝送遅延が低減される。   The network communication control unit 204 has a function of performing control (encapsulation, decapsulation, etc.) so as to perform communication on the network 20 in accordance with various TCP / IP protocols. With these components, the host device 200a compresses and encapsulates at least a part of data to be transmitted to the USB device based on the application program, and transmits the compressed data to the network 20. Further, the data transmitted by the USB device is received from the network 20 and decapsulated and decompressed so that it can be used in the application program. As a result, the compressed data is transmitted on the network 20, the communication band load is reduced, and the transmission delay is reduced as compared with the case of non-compression.

(動作)
以下、上述の構成を備える通信システム10における各機器類の動作を説明する。
(Operation)
Hereinafter, the operation of each device in the communication system 10 having the above-described configuration will be described.

図7は、USBデバイスサーバにおける通信制御処理を示すフローチャートである。この通信制御処理は、USBデバイスサーバ100において、USBデバイスが接続されてからホストデバイスにUSBデバイスを利用させるために実行される処理である。ここでは、USBデバイスサーバ100にUSBデバイス300a、300bが接続された状態を前提として(図1参照)、ホストデバイス200aがUSBデバイス300aを利用する場合を例として通信制御処理について説明する。   FIG. 7 is a flowchart showing communication control processing in the USB device server. This communication control process is a process executed in the USB device server 100 in order for the host device to use the USB device after the USB device is connected. Here, assuming that the USB devices 300a and 300b are connected to the USB device server 100 (see FIG. 1), the communication control processing will be described by taking as an example the case where the host device 200a uses the USB device 300a.

USBデバイスサーバ100の制御部160は、第1接続部110の各USBポートに接続されたUSBデバイス300a、300bからUSBデバイスの情報(デバイスディスクリプタ等)を取得する(ステップS11)。即ち、制御部160は、USBデバイス300a、300bそれぞれに対してUSB規格に従ってコントロール転送によるコンフィギュレーションを行うよう制御し、この結果としてUSBデバイス300a、300bからデバイスディスクリプタが取得される。   The control unit 160 of the USB device server 100 acquires USB device information (device descriptor and the like) from the USB devices 300a and 300b connected to the USB ports of the first connection unit 110 (step S11). That is, the control unit 160 controls the USB devices 300a and 300b to perform configuration by control transfer according to the USB standard, and as a result, device descriptors are acquired from the USB devices 300a and 300b.

なお、デバイスディスクリプタには、USBデバイスの製造者IDや製品ID等の情報が含まれ、またデバイスクラスの情報が含まれている場合もある。コンフィギュレーションにより、USBデバイスサーバ100は、各USBデバイスと通信するために必要な情報を取得して、通信用の適切なドライバを選択することができる。制御部160は、デバイスディスクリプタにデバイスクラスの情報が含まれていなければUSBデバイスからインターフェイスディスクリプタを取得し、デバイスの情報(デバイスディスクリプタ、インターフェイスディスクリプタ)を特定部140に伝えることにしてもよい。特定部140では、デバイスの情報からデバイスクラスを示すクラス識別情報を抽出してUSBデバイスの属性として特定する。   The device descriptor includes information such as the manufacturer ID and product ID of the USB device, and may also include device class information. According to the configuration, the USB device server 100 can acquire information necessary for communication with each USB device and select an appropriate driver for communication. If the device descriptor does not include device class information, the control unit 160 may acquire the interface descriptor from the USB device and transmit the device information (device descriptor, interface descriptor) to the specifying unit 140. The identifying unit 140 extracts class identification information indicating a device class from the device information and identifies it as an attribute of the USB device.

続いて、USBデバイスサーバ100の選定部150は、記憶部130に記憶されている関係情報を参照し、USBデバイス300a、300bそれぞれについて、特定部140が特定したUSBデバイスの属性に応じて圧縮方式を選定する(ステップS12)。接続されている各USBデバイスについて選定した圧縮方式は、制御部160に伝えられる。   Subsequently, the selection unit 150 of the USB device server 100 refers to the relationship information stored in the storage unit 130, and compresses each of the USB devices 300a and 300b according to the attribute of the USB device specified by the specifying unit 140. Is selected (step S12). The compression method selected for each connected USB device is transmitted to the control unit 160.

その後、ホストデバイス200aからのUSBデバイス情報の要求を、第2接続部120を介して取得した制御部160は(ステップS13)、USBデバイス300a、300bについての情報と選定された圧縮方式の情報とを返信する(ステップS14)。返信するUSBデバイス300a、300bについての情報は、USBデバイス300a、300bから取得したデバイスの情報に基づいたものである。ホストデバイス200aは、取得した各USBデバイスの情報を表示装置に表示し、必要に応じてユーザによる選択等の操作を受けて通信相手となるUSBデバイスを決定し、USBデバイスとの通信を開始することとなる。
ここではUSBデバイス300aに対して通信を開始するものとして説明を続ける。この通信は、USBデバイスに対するデータ(URB(USB Request Block)等)を、USBデバイスサーバ100から取得した圧縮方式によって圧縮することで行われる。
After that, the control unit 160 that has acquired the request for USB device information from the host device 200a via the second connection unit 120 (step S13), information on the USB devices 300a and 300b, information on the selected compression method, Is returned (step S14). The information about the USB devices 300a and 300b to be returned is based on the device information acquired from the USB devices 300a and 300b. The host device 200a displays the acquired information on each USB device on the display device, determines a USB device to be a communication partner in response to an operation such as selection by the user as required, and starts communication with the USB device. It will be.
Here, the description will be continued assuming that communication with the USB device 300a is started. This communication is performed by compressing data (URB (USB Request Block) or the like) for the USB device by a compression method acquired from the USB device server 100.

ホストデバイス200aとUSBデバイス300aとが通信する場合、制御部160は、USBデバイス300aについて選択された圧縮方式で圧縮又は呼応する伸長方式で伸長してネットワーク20上での通信が行われるよう制御する(ステップS15)。即ち、制御部160は、ホストデバイス200aから受信したデータを選定された圧縮方式に呼応する伸長方式で伸長してUSBデバイス300aに転送し、USBデバイス300aからのデータを、選定された圧縮方式で圧縮してホストデバイス200aに転送する。   When the host device 200a and the USB device 300a communicate with each other, the control unit 160 performs control so that communication on the network 20 is performed by decompressing the USB device 300a using the compression method selected or decompressing in response to the decompression method. (Step S15). That is, the control unit 160 decompresses the data received from the host device 200a by the decompression method corresponding to the selected compression method and transfers the data to the USB device 300a, and the data from the USB device 300a by the selected compression method. It compresses and transfers to the host device 200a.

図8は、ホストデバイス200aが行うUSBデバイス制御処理を示すフローチャートである。このUSBデバイス制御処理は、ホストデバイス200aのユーザの操作に応じて(例えば、ホストデバイス上のキー入力、ホストデバイス自身に備わっているPush-SWの押下など)、USBデバイス300aを利用するために行われる処理である。例えば、ユーザがUSBデバイスの1つであるプリンタでホストデバイス上の書類ファイルを印刷したい場合や、特定のUSBメモリにホストデバイス上のファイルを記録したい場合等に実行される。   FIG. 8 is a flowchart showing USB device control processing performed by the host device 200a. This USB device control processing is performed in order to use the USB device 300a in accordance with the operation of the user of the host device 200a (for example, key input on the host device, pressing of the Push-SW provided on the host device itself). This is a process to be performed. For example, it is executed when a user wants to print a document file on the host device with a printer that is one of the USB devices, or when a user wants to record a file on the host device in a specific USB memory.

ホストデバイス200aは、ユーザの操作に応じたアプリケーションプログラム部201の制御により、USBデバイスサーバ100に対してUSBデバイス情報の要求を送信する(ステップS21)。または、ステップS21の代わりに、USBデバイス情報をUSBデバイスサーバ100自身が、ホストデバイス200aに送信してもよい。これは例えば、ネットワーク通信制御部204により、ネットワーク20においてTCP(Transmission Control Protocol)セッションを確立して、USBデバイスサーバ100との間で予め定めているコマンドを送信することにより実現される。   The host device 200a transmits a request for USB device information to the USB device server 100 under the control of the application program unit 201 according to the user's operation (step S21). Alternatively, instead of step S21, the USB device server 100 itself may send the USB device information to the host device 200a. This is realized, for example, by establishing a TCP (Transmission Control Protocol) session in the network 20 by the network communication control unit 204 and transmitting a predetermined command to the USB device server 100.

これに対応して、USBデバイスサーバ100からデバイスの情報と圧縮方式とが送信されるので、ホストデバイス200aはこれらを、ネットワーク20を介して受信する(ステップS22)。上述のステップS14によりUSBデバイス300a、300bの情報が取得されるので、ホストデバイス200aは、取得した情報を表示装置に表示し、ユーザによる選択等の操作に応じて通信相手のUSBデバイスを決定して、USBデバイスとの通信を開始する。通信相手のUSBデバイスが決定されると、デバイスの情報に基づいて対応するデバイスドライバを選択し、通信の準備をする。   Correspondingly, the device information and the compression method are transmitted from the USB device server 100, so the host device 200a receives these via the network 20 (step S22). Since the information of the USB devices 300a and 300b is acquired in step S14 described above, the host device 200a displays the acquired information on the display device, and determines the USB device of the communication partner according to the operation such as selection by the user. Communication with the USB device is started. When the USB device of the communication partner is determined, the corresponding device driver is selected based on the device information, and preparation for communication is made.

ここでは、ホストデバイス200aがUSBデバイス300aと通信することとして説明を続ける。ホストデバイス200aは、USBデバイス300aに対するデータ(URB等)を、ステップS22において取得した圧縮方式によって圧縮し、USBデバイスサーバ100に送信し、USBデバイスサーバ100から転送されるUSBデバイス300aからのデータ(URBへの応答データ等)を、その取得した圧縮方式に呼応する伸長方式によって伸長して利用する(ステップS23)。なお、ホストデバイス200aにおける圧縮は、USBデバイスドライバ部202の出力するUSBデバイス向けのデータに対して、圧縮伸長制御部203により実行される。そして圧縮がなされたデータがネットワーク通信制御部204によりカプセル化されネットワーク20に送信される。また、伸長は、ネットワーク通信制御部204の出力する、デカプセル化されたデータに対して、圧縮伸長制御部203により実行される。そして伸長がなされたデータがUSBデバイスドライバ部202に伝えられる。   Here, the description will be continued assuming that the host device 200a communicates with the USB device 300a. The host device 200a compresses data (URB or the like) for the USB device 300a by the compression method acquired in step S22, transmits the data to the USB device server 100, and transfers data from the USB device 300a (transferred from the USB device server 100). The response data to the URB, etc.) is decompressed and used by the decompression method corresponding to the acquired compression method (step S23). The compression in the host device 200a is executed by the compression / decompression control unit 203 on the data for the USB device output from the USB device driver unit 202. The compressed data is encapsulated by the network communication control unit 204 and transmitted to the network 20. Decompression is executed by the compression / decompression control unit 203 on the decapsulated data output from the network communication control unit 204. Then, the decompressed data is transmitted to the USB device driver unit 202.

以下、通信システム10におけるホストデバイスとUSBデバイスとの間でのデータ送受に係る動作について説明する。   Hereinafter, operations related to data transmission / reception between the host device and the USB device in the communication system 10 will be described.

図9は、ホストデバイス200aとUSBデバイスサーバ100とUSBデバイス300aとの間での通信シーケンスを示す図である。   FIG. 9 is a diagram illustrating a communication sequence among the host device 200a, the USB device server 100, and the USB device 300a.

ここでは、USBデバイス300aが、スピーカーである例を用いて説明する。   Here, description will be given using an example in which the USB device 300a is a speaker.

ホストデバイス200aは、アプリケーションプログラム部201及びUSBデバイスドライバ部202により、USBデバイス300aを制御するためにURBを生成する(ステップS51)。ここでは、ホストデバイス200aにおける音声ファイルに含まれる音声データをスピーカーで再生させるために、URBにその音声データ等が一定量だけ格納されるものとする。なお、前提として、既にUSBデバイスサーバ100は、スピーカーであるUSBデバイス300aからオーディオクラスを示す情報を含むデバイスディスクリプタを取得して、図4に例示する関係情報400に基づいてハフマン圧縮方式を選定しているものとする。そして、ホストデバイス200aは、既にその圧縮方式の情報をUSBデバイスサーバ100から取得しているものとする(図8、ステップS22)。   In the host device 200a, the application program unit 201 and the USB device driver unit 202 generate a URB for controlling the USB device 300a (step S51). Here, in order for audio data included in an audio file in the host device 200a to be reproduced by a speaker, a certain amount of the audio data and the like is stored in the URB. As a premise, the USB device server 100 has already acquired a device descriptor including information indicating an audio class from the USB device 300a that is a speaker, and selects a Huffman compression method based on the relationship information 400 illustrated in FIG. It shall be. Then, it is assumed that the host device 200a has already acquired the compression method information from the USB device server 100 (FIG. 8, step S22).

ホストデバイス200aの圧縮伸長制御部203は、生成されたURBに対して、USBデバイス300aについてUSBデバイスサーバ100で選定された圧縮方式に対応した圧縮アルゴリズムによるデータ変換を施すことで圧縮する(ステップS52)。即ち、ハフマン圧縮により、URBが圧縮されることになる。   The compression / decompression control unit 203 of the host device 200a compresses the generated URB by performing data conversion on the USB device 300a using a compression algorithm corresponding to the compression method selected by the USB device server 100 (step S52). ). That is, URB is compressed by Huffman compression.

続いて、ホストデバイス200aのネットワーク通信制御部204は、圧縮されたURBをカプセル化してネットワーク20に送信するよう制御する(ステップS53)。   Subsequently, the network communication control unit 204 of the host device 200a performs control so that the compressed URB is encapsulated and transmitted to the network 20 (step S53).

USBデバイスサーバ100では、第2接続部120を介してURBを受信し(ステップS54)、制御部160のネットワーク通信部161でURBをデカプセル化し(ステップS55)、圧縮伸長制御部162でURBを伸長する(ステップS56)。この伸長は、ハフマン圧縮の逆変換である。そして、伸長したURBを、制御部160のUSB通信部163が第1接続部110を介してUSBデバイス300aに送信する(ステップS57)。   The USB device server 100 receives the URB via the second connection unit 120 (step S54), decapsulates the URB by the network communication unit 161 of the control unit 160 (step S55), and decompresses the URB by the compression / decompression control unit 162. (Step S56). This expansion is an inverse transformation of Huffman compression. Then, the USB communication unit 163 of the control unit 160 transmits the decompressed URB to the USB device 300a via the first connection unit 110 (step S57).

USBデバイス300aは、URBを受信し(ステップS58)、URBに応じた処理を行い(ステップS59)、処理結果を表す応答データを送信する(ステップS60)。具体的には、USBデバイス300aは、音声データを受信してその音声データに基づき音声をスピーカーで再生し、処理結果として例えば正常に再生した旨の応答データをUSBデバイスサーバ100に送信する。   The USB device 300a receives the URB (step S58), performs processing according to the URB (step S59), and transmits response data representing the processing result (step S60). Specifically, the USB device 300a receives the audio data, reproduces the audio with a speaker based on the audio data, and transmits, as a processing result, for example, response data indicating normal reproduction to the USB device server 100.

これに対応して、USBデバイスサーバ100では、USB通信部163が第1接続部110を介して応答データを受信して(ステップS61)、圧縮伸長制御部162で応答データをハフマン圧縮する(ステップS62)。そして、ネットワーク通信部161で圧縮済の応答データをカプセル化して、URBの送信元であったホストデバイス200aに対してネットワーク20を介して送信する(ステップS63)。   Correspondingly, in the USB device server 100, the USB communication unit 163 receives the response data via the first connection unit 110 (step S61), and the compression / decompression control unit 162 performs Huffman compression on the response data (step S61). S62). Then, the response data compressed by the network communication unit 161 is encapsulated and transmitted via the network 20 to the host device 200a that is the transmission source of the URB (step S63).

ホストデバイス200aでは、応答データを受信すると(ステップS64)、ネットワーク通信制御部204で応答データをデカプセル化し(ステップS65)、圧縮伸長制御部203で応答データを伸長する(ステップS66)。この伸長も、ハフマン圧縮の逆変換である。そして、ホストデバイス200aは、伸長した応答データに応じた処理を行う(ステップS67)。応答データに応じた処理は、例えば、応答データが異常の旨を示す場合にはエラーメッセージを表示装置に表示する処理である。また、応答データが正常の旨を示す場合には、既にステップS51においてURBに格納した音声データに後続する一定量の音声データについてスピーカーで再生させるために、ステップS51〜S67を繰り返すよう制御する処理である。   When the host device 200a receives the response data (step S64), the network communication control unit 204 decapsulates the response data (step S65), and the compression / decompression control unit 203 decompresses the response data (step S66). This expansion is also an inverse transformation of Huffman compression. Then, the host device 200a performs processing according to the expanded response data (step S67). The process according to the response data is, for example, a process of displaying an error message on the display device when the response data indicates an abnormality. If the response data indicates normality, a process of controlling to repeat steps S51 to S67 in order to reproduce a certain amount of audio data following the audio data already stored in the URB in step S51 by the speaker. It is.

このようにURBへの格納データを順次切り替えてステップS51〜S67が繰り返し実行されることにより、ホストデバイス200aにおける音声ファイルの内容がUSBデバイス300a(スピーカー)において再生されるようになる。   As described above, by sequentially switching the data stored in the URB and repeatedly executing steps S51 to S67, the contents of the audio file in the host device 200a are reproduced on the USB device 300a (speaker).

(実施の形態2)
以下、上述した実施の形態におけるホストデバイス200a、200bが行うUSBデバイス制御処理(図8参照)の一部を変更した実施の形態2(変形例)について説明する。
(Embodiment 2)
The second embodiment (modification) in which a part of the USB device control processing (see FIG. 8) performed by the host devices 200a and 200b in the above-described embodiment is changed will be described below.

図10は、USBデバイス制御処理の変形例を示すフローチャートである。同図に示すUSBデバイス制御処理を、ホストデバイス200aが行い、USBデバイス300aを利用するものとして説明する。なお、実施の形態1と同じ点については説明を省略する。   FIG. 10 is a flowchart showing a modification of the USB device control process. It is assumed that the USB device control process shown in the figure is performed by the host device 200a and uses the USB device 300a. Note that the description of the same points as in the first embodiment will be omitted.

ホストデバイス200aは、ユーザの操作に応じたアプリケーションプログラム部201の制御により、USBデバイスサーバ100に対してUSBデバイス情報の要求を送信する(ステップS21)。   The host device 200a transmits a request for USB device information to the USB device server 100 under the control of the application program unit 201 according to the user's operation (step S21).

これに対応して、USBデバイスサーバ100からデバイスの情報が送信されるので、ホストデバイス200aはこれを、ネットワーク20を介して受信する(ステップS22a)。実施の形態1と異なり、USBデバイスサーバ100は圧縮方式の情報は送信しない。   Correspondingly, device information is transmitted from the USB device server 100, so the host device 200a receives it via the network 20 (step S22a). Unlike the first embodiment, the USB device server 100 does not transmit compression method information.

そして、ホストデバイス200a自体が、実施の形態1におけるUSBデバイスサーバ100と同様の方法(図7、ステップS12)で圧縮方式を選定する(ステップS22b)。   Then, the host device 200a itself selects a compression method by the same method (FIG. 7, step S12) as the USB device server 100 in the first embodiment (step S22b).

その後は、実施の形態1と同様に、ホストデバイス200aは、USBデバイス300aに対するデータ(URB等)を、選定した圧縮方式によって圧縮しUSBデバイスサーバ100に送信する。そして、USBデバイスサーバ100から転送されるUSBデバイス300aからのデータ(URBへの応答データ等)を、選定した圧縮方式に呼応する伸長方式によって伸長して利用する(ステップS23)。   Thereafter, as in the first embodiment, the host device 200a compresses the data (URB or the like) for the USB device 300a by the selected compression method and transmits the data to the USB device server 100. Then, the data from the USB device 300a transferred from the USB device server 100 (response data to URB, etc.) is decompressed and used by the decompression method corresponding to the selected compression method (step S23).

なお、ホストデバイス200bもホストデバイス200aと同様の処理を行い得る。また、このようなステップS22bにおける圧縮方式の選定を行うためには、ホストデバイス200a、200bは、メモリに上述した関係情報400を保持しておき、その関係情報400に基づいて選定を行うことになる。   The host device 200b can perform the same processing as the host device 200a. In addition, in order to select the compression method in step S22b, the host devices 200a and 200b hold the relationship information 400 described above in the memory and perform selection based on the relationship information 400. Become.

(その他の実施の形態等)
以上、USBデバイスサーバを含む通信システムの各実施の態様について説明したが、上述した各実施の態様は一例にすぎず、各種の変更が可能であることは言うまでもない。
(Other embodiments, etc.)
The embodiments of the communication system including the USB device server have been described above. However, the embodiments described above are merely examples, and it is needless to say that various modifications can be made.

上述の実施の形態で示したネットワーク20は、イーサネットによる有線LANであることとしたが、必ずしもイーサネットによる有線LANでなくてもよく、例えばIEEE802.11シリーズの規格に従った無線LAN部分を含んでいてもよい。   The network 20 shown in the above-described embodiment is a wired LAN based on Ethernet. However, the network 20 is not necessarily a wired LAN based on Ethernet, and includes, for example, a wireless LAN portion according to the IEEE 802.11 series standard. May be.

上述の実施の形態では、USBデバイスの属性によって予め関係情報により圧縮方式が定まっており、変化することがないこととした。しかし、USBデバイスサーバが、ホストデバイスの性能を示す情報やネットワークの通信状態を示す情報を取得して、これらに応じて圧縮方式を変更することとしてもよい。例えば、関係情報によりデフォルトの圧縮方式を定め、ホストデバイスの性能が所定閾値より低い場合に限ってそのデフォルトの圧縮方式を、予め定めた別の一層処理負担の低い圧縮方式に変更することとしてもよい。また、ネットワークの通信状態(通信帯域の使用率等)が所定状態である場合に限ってデフォルトの圧縮方式を変更するようにしてもよい。なお、ネットワークの通信状態に応じて動的に圧縮方式を変更してもよい。   In the above-described embodiment, the compression method is determined in advance by the relationship information depending on the attribute of the USB device, and does not change. However, the USB device server may acquire information indicating the performance of the host device and information indicating the communication state of the network and change the compression method according to these. For example, a default compression method may be determined based on relationship information, and the default compression method may be changed to another predetermined compression method with a lower processing load only when the performance of the host device is lower than a predetermined threshold. Good. In addition, the default compression method may be changed only when the network communication state (communication band usage rate or the like) is in a predetermined state. Note that the compression method may be dynamically changed according to the communication state of the network.

また、USBデバイスサーバとホストデバイスとの間の通信は、TCP/IPに準拠した上で、両者間で取り決めた独自プロトコルに従って各種情報(USBデバイスの論理的な接続状態を切り替えるための情報等)の授受を行うものであってもよい。   In addition, communication between the USB device server and the host device conforms to TCP / IP, and various information (information for switching the logical connection state of the USB device, etc.) according to a proprietary protocol decided between the two. It may be a thing which gives and receives.

また、上述の実施の形態では、USBデバイスサーバとホストデバイスとが圧縮方式の情報を共有するために、ホストデバイスからのUSBデバイス情報の要求に対応して圧縮方式の情報がUSBデバイスサーバから送信されることとした。しかし、圧縮方式の情報は、圧縮されてネットワークを伝送されるデータのヘッダ(ネットワーク伝送用にカプセル化によって付加したヘッダ)に含めることとしてもよい。このヘッダは、USBデバイスサーバとホストデバイスとの間で取り決めた独自プロトコルに従ったものとしてもよい。特に、動的に圧縮方式が変更される場合にはヘッダに圧縮方式の情報を含めることが有効となる。   In the above-described embodiment, since the USB device server and the host device share the compression method information, the compression method information is transmitted from the USB device server in response to the USB device information request from the host device. It was decided to be done. However, the compression method information may be included in a header of data that is compressed and transmitted over the network (a header added by encapsulation for network transmission). This header may be in accordance with a unique protocol negotiated between the USB device server and the host device. In particular, when the compression method is dynamically changed, it is effective to include the compression method information in the header.

上述の実施の形態では、関係情報を図4でテーブル形式のものとして表現したが、必ずしもテーブル形式でなくても、USBデバイスの属性と圧縮方式との対応を示す情報であればよく、その情報は例えばプログラムにおける処理構造として表現されていてもよい。   In the above-described embodiment, the relationship information is expressed in the table format in FIG. 4, but the information may not be necessarily in the table format but may be information indicating the correspondence between the attribute of the USB device and the compression method. May be expressed as a processing structure in a program, for example.

上述の実施の形態では、USBデバイスの属性は、デバイスクラスを示すクラス識別情報により定まることとした。しかし、USBデバイスから取得される情報(デバイスディスクリプタ等)に含まれ、かつ、USBデバイスがホストデバイスとの間で通信するデータ(データ全部又は一部)がどのような性質を有するものであるかを表す情報により定まることとしてもよい。例えば、USBデバイスの属性は、製造者ID及び製品IDにより定まることとしてもよい。例えば、製造者ID及び製品IDで特定される特定製造者の特定製品(例えばスキャナ)の場合には、画像データを高効率で圧縮すべく圧縮方式をLZ77圧縮とするように、関係情報を定めておいてもよい。また、例えば、特定製造者の特定製品のデータ受信用バッファのサイズに合わせた圧縮単位で圧縮するような圧縮方式を対応付けるように関係情報を定めておいてもよい。また、USBデバイスサーバは、USBデバイスから取得した転送方式や転送方向の情報を用いてデフォルトの圧縮方式を変更するようにしてもよい。例えば、アイソクロナス転送で、OUT方向(出力方向)の転送である場合に音声データの転送であると推定して、圧縮方式をハフマン圧縮とする等である。   In the above-described embodiment, the attribute of the USB device is determined by the class identification information indicating the device class. However, what properties are included in the information (device descriptor etc.) acquired from the USB device and the data (all or part of the data) that the USB device communicates with the host device? It may be determined by information representing For example, the attribute of the USB device may be determined by the manufacturer ID and the product ID. For example, in the case of a specific product (for example, a scanner) of a specific manufacturer specified by the manufacturer ID and the product ID, the related information is defined so that the compression method is LZ77 compression in order to compress the image data with high efficiency. You may keep it. Further, for example, the relationship information may be determined so as to associate a compression method that compresses data in a compression unit that matches the size of the data reception buffer of a specific product of a specific manufacturer. The USB device server may change the default compression method using the transfer method and transfer direction information acquired from the USB device. For example, in the case of isochronous transfer and transfer in the OUT direction (output direction), it is estimated that the transfer is audio data, and the compression method is Huffman compression.

また、USBデバイスの属性に応じて選定した圧縮方式に対応する圧縮アルゴリズムによるデータ変換を、ネットワーク上を伝送するデータのうち、一部だけに施してもよい。また、一度に送信するデータが一定基準よりも少量である場合には圧縮を施さないようにしてもよい。これにより、例えば、コマンド、ステータス等は圧縮されないこととなる。また、USBデバイスがハードディスク装置である場合において、USBデバイスサーバ又はホストデバイスから送信するデータが、既に圧縮されていることを示す特定の拡張子を有するファイルの内容データである場合に圧縮しないこととしてもよい。この場合の特定の拡張子は、例えば、JPEG(Joint Photographic Experts Group)圧縮されたファイルに付されるJPG、ZIP圧縮されたファイルに付されるZIP等である。   In addition, data conversion by a compression algorithm corresponding to a compression method selected according to the attribute of the USB device may be performed on only a part of the data transmitted on the network. Further, when the amount of data transmitted at a time is smaller than a certain standard, compression may not be performed. Thereby, for example, commands, statuses, and the like are not compressed. Further, when the USB device is a hard disk device, the data transmitted from the USB device server or the host device is not compressed when the content data of the file having a specific extension indicating that the data is already compressed. Also good. The specific extension in this case is, for example, JPG attached to a JPEG (Joint Photographic Experts Group) compressed file, ZIP attached to a ZIP compressed file, or the like.

また、USBデバイスサーバは、USBデバイスが圧縮伸長機能を有する場合において、自ら圧縮する代わりにそのUSBデバイスに圧縮したデータを送信させ、自ら伸長する代わりに圧縮したままのデータを送信してそのUSBデバイスに伸長させてもよい。   In addition, when the USB device has a compression / decompression function, the USB device server causes the USB device to transmit the compressed data instead of compressing itself, and transmits the compressed data instead of decompressing itself. The device may be stretched.

なお、上述した各機器類による各種処理(図7〜10に示す処理等)の全部又は一部は、各機器類のハードウェアにより実行されても、ソフトウェアにより実行されてもよい。なお、ソフトウェアによる処理の実行は、各機器類に含まれるプロセッサがメモリに記憶された制御プログラムを実行することにより実現されるものである。また、その制御プログラムを記録媒体に記録して頒布や流通させてもよい。例えば、頒布された制御プログラムを機器類にインストールして、機器類のプロセッサに実行させることで、機器類に各種処理(図7〜10に示す処理等)を行わせることが可能となる。   It should be noted that all or part of the various processes (such as the processes shown in FIGS. 7 to 10) performed by each device described above may be executed by hardware of each device or software. The execution of processing by software is realized by a processor included in each device executing a control program stored in a memory. Further, the control program may be recorded on a recording medium and distributed or distributed. For example, by installing the distributed control program in the devices and causing the processors of the devices to execute, it is possible to cause the devices to perform various processes (such as the processes illustrated in FIGS. 7 to 10).

その他、上述した各実施の形態に対して当業者が当然に思いつく各種変形を施して得られる形態、又は、各実施の形態で示した構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。   In addition, a form obtained by subjecting each of the above-described embodiments to various modifications that a person skilled in the art can naturally conceive, or a form realized by arbitrarily combining the components and functions shown in each of the embodiments. It is included in the scope of the present invention.

本発明は、ネットワークに接続された機器(ホストデバイス)がUSBデバイスを使用する場合に利用可能である。   The present invention can be used when a device (host device) connected to a network uses a USB device.

10 通信システム
20 ネットワーク
30a、30b USBケーブル
100 USBデバイスサーバ
101 プロセッサ
102 記憶装置
103 ネットワーク通信I/F
104 USB通信I/F
105 バス
110 第1接続部
120 第2接続部
130 記憶部
140 特定部
150 選定部
160 制御部
161 ネットワーク通信部
162 圧縮伸長制御部
163 USB通信部
170 更新部
200a、200b ホストデバイス
201 アプリケーションプログラム部
202 USBデバイスドライバ部
203 圧縮伸長制御部
204 ネットワーク通信制御部
300a、300b USBデバイス
DESCRIPTION OF SYMBOLS 10 Communication system 20 Network 30a, 30b USB cable 100 USB device server 101 Processor 102 Storage device 103 Network communication I / F
104 USB communication I / F
105 Bus 110 First connection unit 120 Second connection unit 130 Storage unit 140 Identification unit 150 Selection unit 160 Control unit 161 Network communication unit 162 Compression / decompression control unit 163 USB communication unit 170 Update unit 200a, 200b Host device 201 Application program unit 202 USB device driver unit 203 Compression / decompression control unit 204 Network communication control unit 300a, 300b USB device

Claims (12)

USB(Universal Serial Bus)デバイスへ接続するためのインタフェースである第1接続部と、
ホストデバイスが接続されたネットワークに接続するためのインタフェースである第2接続部と、
複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報を記憶する記憶部と、
前記第1接続部に接続されたUSBデバイスの属性を特定する特定部と、
前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、
前記ホストデバイスと前記第1接続部に接続された前記USBデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備え
前記USBデバイスの属性は、クラス識別情報で表され、
前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したクラス識別情報により前記属性を特定し、
前記関係情報は、互いに異なる2つの圧縮方式をそれぞれ、第1クラスを示すクラス識別情報、第2クラスを示すクラス識別情報と対応付け、
前記選定部は、前記第1接続部に接続されたUSBデバイスから取得されたクラス識別情報が第1クラスを示す場合には、前記関係情報で第1クラスに対応付けられた圧縮方式を選定する
USBデバイスサーバ。
A first connection unit that is an interface for connecting to a USB (Universal Serial Bus) device;
A second connection unit that is an interface for connecting to a network to which a host device is connected;
A storage unit that stores relationship information in which each of a plurality of compression methods is associated with an attribute of a USB device;
A specifying unit for specifying an attribute of the USB device connected to the first connecting unit;
A selection unit that selects a compression method according to the attribute specified by the specifying unit based on the relationship information;
Control that data transmitted and received between the host device and the USB device connected to the first connection unit is transmitted over the network in a state compressed by the compression method selected by the selection unit and a control unit which,
The attribute of the USB device is represented by class identification information,
The specifying unit specifies the attribute by class identification information acquired from a USB device connected to the first connection unit,
The relationship information associates two different compression methods with class identification information indicating the first class and class identification information indicating the second class, respectively.
When the class identification information acquired from the USB device connected to the first connection unit indicates the first class, the selection unit selects a compression method associated with the first class using the relationship information. USB device server.
前記制御部は、前記USBデバイスからUSB規格に準拠して送信されたデータを、前記第1接続部を介して受信し、当該データを前記選定部により選定された圧縮方式で圧縮した上で、前記ネットワークで送信可能な形式に変換してから前記第2接続部を介して前記ネットワークに送出する
請求項1記載のUSBデバイスサーバ。
The control unit receives data transmitted from the USB device in conformity with the USB standard via the first connection unit, and after compressing the data by the compression method selected by the selection unit, The USB device server according to claim 1, wherein the USB device server is converted to a format that can be transmitted through the network, and then transmitted to the network via the second connection unit.
前記制御部は、前記USBデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該USBデバイスからのデータのうち、ホストデバイスからのUSBリクエストブロック(URB)に応答する応答データに対して、当該圧縮方式で定まるデータ変換を施すことにより行う
請求項2記載のUSBデバイスサーバ。
Wherein the control unit, the compression in the selected compression scheme for data from the USB device, of the data from the USB device, the response data that responds to the USB request block (URB) from the host device The USB device server according to claim 2, wherein the data conversion is performed by performing data conversion determined by the compression method.
前記制御部は、前記選定された圧縮方式で圧縮したデータにヘッダを付加して前記ネットワークに送出し、前記ヘッダに当該圧縮方式を示す情報を含ませる
請求項3記載のUSBデバイスサーバ。
The USB device server according to claim 3, wherein the control unit adds a header to the data compressed by the selected compression method and transmits the data to the network, and includes information indicating the compression method in the header.
前記第2接続部を介してホストデバイスからUSBデバイスについての情報の要求が受信された場合に、前記制御部は、前記第1接続部に接続されたUSBデバイスから取得した当該USBデバイスの情報と前記選定部により選定された圧縮方式を示す情報とを前記第2接続部を介してホストデバイスへ送信する
請求項2記載のUSBデバイスサーバ。
When a request for information about a USB device is received from a host device via the second connection unit, the control unit receives information about the USB device acquired from the USB device connected to the first connection unit, and The USB device server according to claim 2, wherein information indicating the compression method selected by the selection unit is transmitted to a host device via the second connection unit.
前記制御部は、前記USBデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該USBデバイスからのデータのうち、特定のデータのみに対して施し、当該特定のデータ以外のデータに対しては施さない
請求項2記載のUSBデバイスサーバ。
The control unit compresses the data from the USB device in the selected compression method only for specific data among the data from the USB device, and converts the data to data other than the specific data. The USB device server according to claim 2, which is not applied to the USB device server.
前記制御部は、前記選定部により選定された圧縮方式を示す情報を、前記ネットワークを介してホストデバイスに送信し、
前記制御部は更に、前記ホストデバイスから前記ネットワークを通じて送信されたデータを、前記第1接続部を介して受信し、当該データを前記選定部により選定された圧縮方式に呼応する伸長方式で伸長した上で、USB規格に準拠して送信するための形式に変換してから前記第1接続部を介して前記USBデバイスへ送信する
請求項1記載のUSBデバイスサーバ。
The control unit transmits information indicating the compression method selected by the selection unit to the host device via the network,
The control unit further receives data transmitted from the host device through the network via the first connection unit, and decompresses the data in a decompression method corresponding to the compression method selected by the selection unit. The USB device server according to claim 1, wherein the data is converted into a format for transmission in conformity with the USB standard and then transmitted to the USB device via the first connection unit.
前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したデバイスディスクリプタ又はインターフェイスディスクリプタに基づいて前記属性を特定する
請求項記載のUSBデバイスサーバ。
The specifying unit, USB device server of claim 1, wherein identifying the attribute based on the device descriptor or the interface descriptor obtained from the USB device connected to the first connecting portion.
前記第1クラスはオーディオクラスであり、前記第2クラスはストレージクラスであり、
前記関係情報は、第1クラスを示すクラス識別情報とハフマン圧縮方式とを対応付けている
請求項記載のUSBデバイスサーバ。
The first class is an audio class, the second class is a storage class,
The relationship information, USB device server of claim 1, wherein the association with the class identification information and Huffman compression scheme illustrating a first class.
前記USBデバイスサーバは更に、
前記関係情報を更新する更新部を備える
請求項記載のUSBデバイスサーバ。
The USB device server further includes
USB device server of claim 1, further comprising an update unit that updates the relationship information.
USB規格に準拠してUSBデバイスに送信するためのデータを、当該USBデバイスと接続されたUSBデバイスサーバに対してネットワークを介して送信するための処理を、プロセッサを備えるホストデバイスに実行させるための制御プログラムであって、
前記処理は、
前記USBデバイスサーバから前記USBデバイスの属性を示す情報を受信する受信ステップと、
複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報に基づいて、前記受信ステップにおいて受信された情報が示す属性に応じて複数の圧縮方式のうちの1つを選定する選定ステップと、
前記USB規格に準拠して前記USBデバイスに送信するためのデータを、前記選定ステップにおいて選定された圧縮方式で圧縮して前記USBデバイスサーバに対して前記ネットワークを介して送信する送信ステップとを含み、
前記受信ステップで受信される前記USBデバイスの属性を示す情報は、前記USBデバイスサーバが前記USBデバイスから取得したクラス識別情報を示す情報であり、
前記関係情報は、互いに異なる2つの圧縮方式をそれぞれ、第1クラスを示すクラス識別情報、第2クラスを示すクラス識別情報と対応付け、
前記選定ステップでは、前記受信ステップで受信されたクラス識別情報を示す情報が、第1クラスを示す場合には、前記関係情報で第1クラスに対応付けられた圧縮方式を選定する
制御プログラム。
For causing a host device including a processor to execute processing for transmitting data to be transmitted to a USB device in conformity with the USB standard to a USB device server connected to the USB device via a network. A control program,
The process is
A receiving step of receiving information indicating an attribute of the USB device from the USB device server;
A selection step of selecting one of the plurality of compression methods according to the attribute indicated by the information received in the reception step based on the relationship information in which each of the plurality of compression methods is associated with the attribute of the USB device. When,
Including a transmission step of compressing data to be transmitted to the USB device in compliance with the USB standard using the compression method selected in the selection step and transmitting the data to the USB device server via the network. See
The information indicating the attribute of the USB device received in the receiving step is information indicating the class identification information acquired from the USB device by the USB device server,
The relationship information associates two different compression methods with class identification information indicating the first class and class identification information indicating the second class, respectively.
In the selection step, when the information indicating the class identification information received in the reception step indicates a first class, a control program for selecting a compression method associated with the first class in the relationship information .
前記処理は、更に、USBデバイスサーバに対して前記USBデバイスの属性を示す情報を要求する要求ステップを含むThe process further includes a requesting step of requesting information indicating the attribute of the USB device from the USB device server.
請求項11記載の制御プログラム。  The control program according to claim 11.
JP2014007213A 2014-01-17 2014-01-17 USB device server Active JP6175681B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014007213A JP6175681B2 (en) 2014-01-17 2014-01-17 USB device server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014007213A JP6175681B2 (en) 2014-01-17 2014-01-17 USB device server

Publications (2)

Publication Number Publication Date
JP2015135630A JP2015135630A (en) 2015-07-27
JP6175681B2 true JP6175681B2 (en) 2017-08-09

Family

ID=53767403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014007213A Active JP6175681B2 (en) 2014-01-17 2014-01-17 USB device server

Country Status (1)

Country Link
JP (1) JP6175681B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6701826B2 (en) * 2016-03-10 2020-05-27 富士通株式会社 Information processing apparatus, system, method and program
JP6753612B2 (en) * 2017-06-30 2020-09-09 サイレックス・テクノロジー株式会社 Device server and device server control method
CN112306931B (en) * 2020-11-20 2023-07-04 广州安凯微电子股份有限公司 Method, system and storage medium for realizing usb host controller by software
JP7716107B2 (en) * 2022-08-31 2025-07-31 サイレックス・テクノロジー株式会社 Device server, network system, device server control method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10294769A (en) * 1997-04-17 1998-11-04 Furukawa Electric Co Ltd:The Relay device
JP4406709B2 (en) * 2004-12-24 2010-02-03 ソニー株式会社 USB peripheral device and method for selecting device class
JP5686590B2 (en) * 2010-12-24 2015-03-18 キヤノンイメージングシステムズ株式会社 Client apparatus, device control apparatus, control method thereof, and device control system

Also Published As

Publication number Publication date
JP2015135630A (en) 2015-07-27

Similar Documents

Publication Publication Date Title
EP1753186B1 (en) Method and device for facilitating efficient data transfer via a wireless communication network
CN105723674B (en) For the dynamically method of binding head field specifier in Network Control Protocol
EP1152582A2 (en) Transparent telecommunications system and apparatus
JP5696724B2 (en) Relay device, relay system, relay method, program, and computer-readable recording medium recording the program
JP6175681B2 (en) USB device server
KR20050098875A (en) Information processing device, information processing method, and computer program
WO2011160495A1 (en) Feedback method and device for header compression feedback information
JP2008524879A (en) File transmission method, system, virtual printer apparatus and restoration apparatus in network
CN103503381B (en) The method of data transmission of device redirection, Apparatus and system
CN118645129A (en) Intelligent mobile hard disk and its use method
JP5248640B2 (en) Electronics
WO2013078614A1 (en) Audio compression algorithm selection method, device and communication system in scenario of virtual desktop
JP2006339855A (en) Network control apparatus, encoding system conversion apparatus, and content data reproduction system
TW201436533A (en) System and method of transmitting data stream
CN113891346B (en) CPRI configuration method, CPRI configuration device, CPRI, base station unit and CPRI system
US10768845B2 (en) Storage device and data output method for storage device
JP5839705B2 (en) Remote control system, remote control device, remote control method, and remote control program
JP2010087625A (en) Remote desktop system, client apparatus, server, method for selecting communication system, program, and recording medium
CN105657451A (en) Method and system for simultaneously uploading video file and transcoding
CN100401671C (en) Method for transmitting files
JP3840215B2 (en) COMMUNICATION DEVICE, METHOD, DEVICE CONTROL DEVICE, METHOD, AND PROGRAM
JP2009077024A (en) TCP packet communication device and related technology
CN119767007B (en) Video compression method, device, medium and product
JP4276120B2 (en) Image transmission device
JP4047854B2 (en) Device-to-device serial communication method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161214

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161214

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170616

R150 Certificate of patent or registration of utility model

Ref document number: 6175681

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250