JP2015135630A - Usbデバイスサーバ - Google Patents

Usbデバイスサーバ Download PDF

Info

Publication number
JP2015135630A
JP2015135630A JP2014007213A JP2014007213A JP2015135630A JP 2015135630 A JP2015135630 A JP 2015135630A JP 2014007213 A JP2014007213 A JP 2014007213A JP 2014007213 A JP2014007213 A JP 2014007213A JP 2015135630 A JP2015135630 A JP 2015135630A
Authority
JP
Japan
Prior art keywords
usb device
data
usb
unit
compression method
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.)
Granted
Application number
JP2014007213A
Other languages
English (en)
Other versions
JP6175681B2 (ja
Inventor
栄植 林
Eishoku Hayashi
栄植 林
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/ja
Publication of JP2015135630A publication Critical patent/JP2015135630A/ja
Application granted granted Critical
Publication of JP6175681B2 publication Critical patent/JP6175681B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】ホストデバイスがUSBデバイスと通信する際にネットワーク上での効率的なデータ伝送を実現し得るUSBデバイスサーバを提供する。【解決手段】USBデバイスサーバ100は、USBデバイスへ接続する第1接続部110と、ホストデバイスが接続されたネットワークに接続する第2接続部120と、複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報を記憶する記憶部130と、第1接続部110に接続されたUSBデバイスの属性を特定する特定部140と、関係情報に基づいて、特定部140により特定された属性に応じて圧縮方式を選定する選定部150と、ホストデバイスと第1接続部110に接続されたUSBデバイスとの間で送受されるデータが選定部150により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部160とを備える。【選択図】図3

Description

本発明は、通信制御技術に関し、特に、ネットワークとUSBデバイスとを連結するUSBデバイスサーバに関する。
従来、USB(Universal Serial Bus)規格に準拠したUSBポートを備えるパーソナルコンピュータ等のホストデバイスはUSBポートを介してUSBデバイス(周辺機器)と、データの授受を行うことができる。USBデバイスは、USB規格に準拠して通信を行う周辺機器であり、例えば、スピーカー、モニター、USBメモリ、ハードディスク装置、プリンタ、キーボード、マウス、オーディオプレイヤー等である。
また、LAN(Local Area Network)等のネットワークに接続された1台以上のホストデバイスが、ネットワークを介してUSBデバイスを利用し得るように、ネットワークとUSBデバイスとを連結するUSBデバイスサーバが知られている(特許文献1参照)。
また、ホストデバイスと周辺機器との間での通信に際してデータを圧縮するか否かを決定する技術が知られている(特許文献2参照)。
特開2008−287453号公報 特開2001−102935号公報
特許文献2の技術は、送信すべきデータの量等に応じて圧縮をするか否かの基準となる閾値を変動させて、その閾値とデータを特定の圧縮方式(ランレングス圧縮、ハフマン符号化等)で圧縮したときの圧縮率とに基づいて圧縮するか否かの決定をする技術であるが、送信すべきデータの内容によってはその特定の圧縮方式が必ずしも効率的な伝送に適したものになるとは限らない。
そこで、本発明は、データを圧縮するか否かを決定する特許文献2の技術とは異なる方法で、ホストデバイスがUSBデバイスと通信する際においてネットワーク上での効率的なデータ伝送を実現し得るUSBデバイスサーバを提供する。
本発明の一態様に係るUSBデバイスサーバは、USB(Universal Serial Bus)デバイスへ接続するためのインタフェースである第1接続部と、ホストデバイスが接続されたネットワークに接続するためのインタフェースである第2接続部と、複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報を記憶する記憶部と、前記第1接続部に接続されたUSBデバイスの属性を特定する特定部と、前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、前記ホストデバイスと前記第1接続部に接続された前記USBデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備えるUSBデバイスサーバである。
本発明の一態様に係るUSBデバイスサーバは、ホストデバイスがUSBデバイスと通信する際にネットワーク上での効率的なデータ伝送を実現し得る。
実施の形態に係る通信システムのネットワーク構成図である。 通信システムにおけるUSBデバイスサーバのハードウェア構成図である。 USBデバイスサーバの機能ブロック図である。 USBデバイスサーバが保持する関係情報のデータ構成及び内容例を示す図である。 USBデバイスサーバの制御部の機能ブロック図である。 通信システムにおけるホストデバイスの機能ブロック図である。 USBデバイスサーバにおける通信制御処理を示すフローチャートである。 ホストデバイスにおけるUSBデバイス制御処理を示すフローチャートである。 USBデバイスサーバを介したデバイス間の通信シーケンスを示す図である。 変形例に係るUSBデバイス制御処理を示すフローチャートである。
ホストデバイスがUSBデバイスと通信する際にネットワーク上での効率的なデータ伝送を実現すべく、本発明の一態様に係るUSBデバイスサーバは、USB(Universal Serial Bus)デバイスへ接続するためのインタフェースである第1接続部と、ホストデバイスが接続されたネットワークに接続するためのインタフェースである第2接続部と、複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報を記憶する記憶部と、前記第1接続部に接続されたUSBデバイスの属性を特定する特定部と、前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、前記ホストデバイスと前記第1接続部に接続された前記USBデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備えるUSBデバイスサーバである。
ここで、USBデバイスの属性とは、USBデバイスがホストデバイスとの間で通信するデータがどのような性質を有するものであるかを表すものをいう。属性の例としては、音声データを通信するUSBデバイスであることを示す属性、画像データを通信するUSBデバイスであることを示す属性等が挙げられる。なお、従来の知識や理論或いはシミュレーションに基づいて、USBデバイスの属性毎に好適な圧縮方式を定めるよう関係情報を設定して運用されることが想定される。また、選定された圧縮方式での圧縮は、その選定された圧縮方式で定まる圧縮アルゴリズムによるデータ変換を実現するソフトウェア又はハードウェアによりなされ、このデータ変換の対象は、ネットワーク上で伝送されるべきデータの少なくとも一部である。また、制御部による制御は、外部の機器(ホストデバイス等)の制御でも自機(USBデバイスサーバ)自身の制御であってもよい。
上記構成により、関係情報としてUSBデバイスの属性毎に好適な圧縮方式を定めておくことで、USBデバイスの属性に応じて複数の圧縮方式のうち1つが選定されてデータが圧縮されるようになるので、ユーザは特別な操作をすることなくネットワーク上での効率的なデータ伝送が実現され得る。
例えば、前記制御部は、前記USBデバイスからUSB規格に準拠して送信されたデータを、前記第1接続部を介して受信し、当該データを前記選定部により選定された圧縮方式で圧縮した上で、前記ネットワークで送信可能な形式に変換してから前記第2接続部を介して前記ネットワークに送出することとしてもよい。
これにより、USBデバイスがホストデバイスのUSBポートに直接的に接続している場合と同様のデータを送出すると、USBデバイスから送出されたデータがUSBデバイスサーバにより圧縮されてホストデバイスへと伝送されることとなる。このためネットワーク上での伝送遅延が低減され得るので、データを圧縮する機能を有しないUSBデバイスでもネットワーク上のホストデバイスと円滑に通信し得るようになる。
また、例えば、前記制御部は、前記USBデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該USBデバイスからのデータのうち、ホストデバイスからのUSBリクエストブロック(URB)に応答する応答データの少なくとも一部に対して、当該圧縮方式で定まるデータ変換を施すことにより行うこととしてもよい。
これにより、USBデバイスがホストデバイスのURB(USB Request Block)に応じてホストデバイスへと送信するデータ、即ちUSBデバイスの属性が表れると想定されるデータが、その属性に対応する好適な圧縮方式で圧縮されるので効率的な伝送が実現され得る。
また、前記制御部は、前記選定された圧縮方式で圧縮したデータにヘッダを付加して前記ネットワークに送出し、前記ヘッダに当該圧縮方式を示す情報を含ませることとしてもよい。
これにより、ネットワークを介して圧縮されたデータを受信したホストデバイスが、ヘッダを参照することにより圧縮方式を特定してその圧縮方式に呼応した伸長を施せるようになり、USBデバイスが送出したデータを抽出できるようになる。
また、前記第2接続部を介してホストデバイスからUSBデバイスについての情報の要求が受信された場合に、前記制御部は、前記第1接続部に接続されたUSBデバイスから取得した当該USBデバイスの情報と前記選定部により選定された圧縮方式を示す情報とを前記第2接続部を介してホストデバイスへ送信することとしてもよい。
これにより、ホストデバイスは、USBデバイスを利用しようとする際にUSBデバイスについての情報を要求することで、そのUSBデバイスへ送信するURB等のデータを圧縮するための圧縮方式を知ることができるようになる。
また、前記制御部は、前記USBデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該USBデバイスからのデータのうち、特定のデータのみに対して施し、当該特定のデータ以外のデータに対しては施さないこととしてもよい。
これにより、圧縮を施すメリットの少ないデータ(例えばコマンド、ステータス等といった少量のデータ)に圧縮を施さないことも可能となる。
また、前記制御部は、前記選定部により選定された圧縮方式を示す情報を、前記ネットワークを介してホストデバイスに送信し、前記制御部は更に、前記ホストデバイスから前記ネットワークを通じて送信されたデータを、前記第1接続部を介して受信し、当該データを前記選定部により選定された圧縮方式に呼応する伸長方式で伸長した上で、USB規格に準拠して送信するための形式に変換してから前記第1接続部を介して前記USBデバイスへ送信することとしてもよい。
これにより、USBデバイスサーバは、ホストデバイスに圧縮方式を伝達し、ホストデバイスがその圧縮方式で圧縮したデータを、ネットワークを介して受信するので、ネットワーク上での効率的なデータ伝送が実現され得る。
また、前記USBデバイスの属性は、クラス識別情報で表され、前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したクラス識別情報により前記属性を特定し、前記関係情報は、互いに異なる2つの圧縮方式をそれぞれ、第1クラスを示すクラス識別情報、第2クラスを示すクラス識別情報と対応付け、前記選定部は、前記第1接続部に接続されたUSBデバイスから取得されたクラス識別情報が第1クラスを示す場合には第2クラスを示す場合とは異なる圧縮方式を選定することとしてもよい。ここで、クラス識別情報はUSBデバイスの機能の種別を示す情報である。
これにより、関係情報として機能別に適切な圧縮方式を定めることができるようになる。
また、前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したデバイスディスクリプタ又はインターフェイスディスクリプタに基づいて前記属性を特定することとしてもよい。
これにより、USBデバイスサーバは、そのUSBデバイスからデバイスディスクリプタ又はインターフェイスディスクリプタを取得することでそのUSBデバイスのデータをネットワーク上で圧縮するための適切な圧縮方式を選定することが可能になる。
また、前記第1クラスはオーディオクラスであり、前記第2クラスはストレージクラスであり、前記関係情報は、第1クラスを示すクラス識別情報とハフマン圧縮方式とを対応付けていることとしてもよい。
これにより、オーディオクラスのUSBデバイスとホストデバイスとが送受する音声データをハフマン圧縮方式で圧縮することができるので、ある程度高効率で圧縮され、ネットワーク上での効率的なデータ伝送が実現され得る。なお、音声データについてハフマン圧縮方式で圧縮を施すことは、例えば左右の2チャネルのステレオ音声においては、両チャネル間の音声の差分データを抽出しその差分データに対してハフマン圧縮を施すことである。なお、ハフマン圧縮は、各データ値の出現確率を事前に求め、出現確率の高い文字を短い符号で、出現確率の低い文字を長い符号で表現することで、平均符号長を最小とするものである。
また、前記USBデバイスサーバは更に、前記関係情報を更新する更新部を備えることとしてもよい。
これにより、運用に際して特定の属性を有するUSBデバイスに一層有効な圧縮方式が判明した場合等において、ホストデバイス又はユーザの指示等により、USBデバイスの属性と圧縮方式との対応関係を変更し得るようになる。
また、本発明の一態様に係る制御プログラムは、USB規格に準拠してUSBデバイスに送信するためのデータを、当該USBデバイスと接続されたUSBデバイスサーバに対してネットワークを介して送信するための処理を、プロセッサを備えるホストデバイスに実行させるための制御プログラムであって、前記処理は、前記USBデバイスサーバから前記USBデバイスの属性を示す情報を受信する受信ステップと、前記受信ステップにおいて受信された情報が示す属性に応じて複数の圧縮方式のうちの1つを選定する選定ステップと、前記USB規格に準拠して前記USBデバイスに送信するためのデータを、前記選定ステップにおいて選定された圧縮方式で圧縮して前記USBデバイスサーバに対して前記ネットワークを介して送信する送信ステップとを含む制御プログラムである。
この制御プログラムによってホストデバイスは、USBデバイスの属性に応じて圧縮方式を選定してデータを効率的に圧縮してネットワーク上を伝送させ得るようになる。
なお、これらの包括的又は具体的な各種態様には、装置、システム、方法、集積回路、コンピュータプログラム、コンピュータで読み取り可能な記録媒体等の1つ又は複数の組み合わせが含まれる。
以下、実施の形態について、図面を参照しながら説明する。
ここで示す実施の形態は、いずれも本発明の好ましい一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
各実施の形態では、主に、USBデバイスと、ネットワークに接続されたホストデバイスとの通信を中継する際に、USBデバイスの属性に応じて選定した圧縮方式でデータを圧縮してネットワーク上に伝送するよう制御するUSBデバイスサーバについて説明する。
(実施の形態1)
以下、本発明の一態様としての実施の形態について説明する。
(構成)
図1は、実施の形態に係る通信システム10のネットワーク構成図である。
通信システム10は、イーサネット(登録商標)ケーブルで接続された有線LAN等のネットワーク20を介して複数の機器間で通信を行うためのシステムである。ネットワーク20に接続された機器には、ホストデバイス200a、ホストデバイス200b、USBデバイスサーバ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規格に準拠したものである。
ホストデバイス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メモリ等)。
以下、USBデバイスサーバ100の構成について説明する。
図2は、通信システム10におけるUSBデバイスサーバ100のハードウェア構成図である。
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ポートを備えることとして説明するが、必ずしも複数なくてもよい。
図3は、USBデバイスサーバ100の機能ブロック図である。
USBデバイスサーバ100は、機能面においては、第1接続部110、第2接続部120、記憶部130、特定部140、選定部150、制御部160及び更新部170を有し、通信制御処理(後述)を実行する。
ここで、第1接続部110は、USB通信I/F104等により実現され、USBデバイスとの間でUSB規格に従ってデータの送受信を行うためのインタフェースとして機能する。
また、第2接続部120は、ネットワーク通信I/F103等により実現され、ネットワーク20に接続されたホストデバイスとの間で、データの送受信を行うためのインタフェースとして機能する。なお、第2接続部120によるデータの送受信は、ネットワークインタフェース層にイーサネットを用い、USB規格で送受信されるデータ(USBデータ)をカプセル化してTCP/IPプロトコルに基づいて行われる。
記憶部130は、記憶装置102により実現され、圧縮方式とUSBデバイスの属性とを対応付けた関係情報400を記憶する他、プロセッサに各機能を実行させるための制御プログラムを記憶している。ここで、関係情報400について説明する。
図4は、関係情報400のデータ構成及び内容例を示す図である。関係情報400は、同図に示すように、クラス識別情報401と圧縮方式402とを対応付けた情報である。クラス識別情報401は、USBデバイスの属性である機能種別を区別する情報(デバイスクラスを示す情報)である。また、圧縮方式402は、圧縮方式を識別する情報である。
この関係情報は、製造者、運用管理者等により設定されるものであり、経験的又は理論的な考察、或いはシミュレーションに基づいて、USBデバイスの属性毎に好適な圧縮方式が定められている。図4の内容例では、音声データを扱う機能を示すオーディオクラスには、一定ビットごとに文字列を区切り、区切られた後の文字列を統計的に処理して、出現確率がより高いパターンに対してより短い符号を与えてデータ圧縮するハフマン圧縮という圧縮方式が対応付けられ、一方、大容量記憶機能を示すストレージクラス(マスストレージクラス)には、あるデータの着目している位置から始まる記号列が、それより以前に出現していたかを探し、その記号列をその出現位置と長さのポインタに置き換えてデータ圧縮するLZ77圧縮という圧縮方式が対応付けられていることを例示している。なお、音声データを扱う機能を有するUSBデバイスには、例えばマイク、スピーカー等がある。また、大容量記憶機能を有するUSBデバイスにはUSBメモリ、ハードディスク装置等がある。
再びUSBデバイスサーバ100の機能構成要素の説明に戻る。
特定部140は、制御部160の制御により第1接続部110を介してUSBデバイスから受信されたデバイス情報等から、そのUSBデバイスの属性を特定する機能を有する。具体的には、USBデバイスから受信されたデバイスディスクリプタ又はインターフェイスディスクリプタからデバイスクラスを示すクラス識別情報を抽出して、第1接続部110に接続されたUSBデバイスの属性として特定する機能である。
選定部150は、記憶部130に記憶されている関係情報400を参照して、特定部140により特定されたUSBデバイスの属性に応じて、1つの圧縮方式を選定して制御部160に伝える機能を有する。例えば、特定部140に特定されたUSBデバイスの属性がオーディオクラスを示していれば、関係情報400(図4参照)においてクラス識別情報401がオーディオクラスに対応する圧縮方式402で示される圧縮方式(図4の内容例ではハフマン圧縮)を選定する。
制御部160は、第2接続部120を介してネットワーク20に接続されている機器(ホストデバイス等)及び第1接続部110を介して接続されているUSBデバイスとの通信を制御する機能を有する。特に、ホストデバイスと第1接続部110に接続されたUSBデバイスとの間で送受されるデータが、選定部150から伝えられた圧縮方式で圧縮された状態でネットワーク20上を伝送されるよう制御する機能を有する。
図5は、制御部160の構成要素である機能ブロックを示す。同図に示すように、制御部160は、ネットワーク通信部161、圧縮伸長制御部162及びUSB通信部163を有す。ここで、ネットワーク通信部161は、TCP/IPの各種プロトコルに従ってネットワーク20での通信を行うよう制御する機能を担う。圧縮伸長制御部162は、関係情報400で示される複数の圧縮方式それぞれに対応した圧縮アルゴリズム及び伸長アルゴリズムに基づくデータ変換を行うためのハードウェア又はソフトウェアから実現される機構を有し、データの圧縮及び伸長を行う機能を担う。また、USB通信部163は、USB規格に従って通信を行うよう制御する機能を担う。
これらの構成要素により、制御部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を更新させる機能も有する。なお、この更新要求は、クラス識別情報と圧縮方式との組(各々を対応付けた形態)を示す情報を伴ってなされる。
また、更新部170は、制御部160から関係情報400を更新する指示を受けて記憶部130に記憶されている関係情報400を更新する機能を有する。
なお、特定部140、選定部150、制御部160及び更新部170の全部又は一部の機能は、USBデバイスサーバ100を構成する記憶装置102に格納された制御プログラムをプロセッサ101が実行することにより実現される。
以下、ホストデバイス200a、200bにおける通信に係る機能について説明する。
図6は、ホストデバイス200aの機能ブロック図である。
ホストデバイス200aは、同図に示すように、アプリケーションプログラム部201、USBデバイスドライバ部202、圧縮伸長制御部203及びネットワーク通信制御部204を有する。
ここで、アプリケーションプログラム部201は、USBデバイスを利用した処理を行うアプリケーションプログラムをプロセッサにより実行する機能を有する。このアプリケーションプログラムは、USBデバイスサーバ100に、利用可能なUSBデバイスの情報(例えば一覧情報)を要求し、ユーザ入力に応じて選択されたUSBデバイスとデータの授受を行う処理を含む。なお、このアプリケーションプログラムは、ユーザ入力等により取得した、ネットワーク20を介して通信するためのUSBデバイスサーバ100のアドレス(例えばMAC(Media Access Control)アドレス)を利用する。
USBデバイスドライバ部202は、USB規格に従ってUSBデバイスと通信をするためのデバイスドライバをプロセッサにより実行する機能を有する。
圧縮伸長制御部203は、1以上の圧縮方式各々に対応した圧縮アルゴリズム及び伸長アルゴリズムに基づくデータ変換を行うためのハードウェア又はソフトウェアから実現される機構を有し、データの圧縮及び伸長を行う機能を有する。即ち、圧縮伸長制御部203はUSBデバイスドライバ部202が出力したデータを圧縮してネットワーク通信制御部204に入力し、ネットワーク通信制御部204が出力したデータを伸長してUSBデバイスドライバ部202に入力する。
また、ネットワーク通信制御部204は、TCP/IPの各種プロトコルに従ってネットワーク20での通信を行うよう制御(カプセル化、デカプセル化等)する機能を有する。これらの構成要素により、ホストデバイス200aは、アプリケーションプログラムに基づいてUSBデバイスに送信するためのデータの少なくとも一部を圧縮してカプセル化してネットワーク20に送出する。また、USBデバイスが送信したデータをネットワーク20から受信してデカプセル化して伸長して、アプリケーションプログラムにおいて利用できるようにする。これにより、圧縮されたデータがネットワーク20上で伝送されることとなり、通信帯域負荷が低減され、また、非圧縮の場合と比べて伝送遅延が低減される。
(動作)
以下、上述の構成を備える通信システム10における各機器類の動作を説明する。
図7は、USBデバイスサーバにおける通信制御処理を示すフローチャートである。この通信制御処理は、USBデバイスサーバ100において、USBデバイスが接続されてからホストデバイスにUSBデバイスを利用させるために実行される処理である。ここでは、USBデバイスサーバ100にUSBデバイス300a、300bが接続された状態を前提として(図1参照)、ホストデバイス200aがUSBデバイス300aを利用する場合を例として通信制御処理について説明する。
USBデバイスサーバ100の制御部160は、第1接続部110の各USBポートに接続されたUSBデバイス300a、300bからUSBデバイスの情報(デバイスディスクリプタ等)を取得する(ステップS11)。即ち、制御部160は、USBデバイス300a、300bそれぞれに対してUSB規格に従ってコントロール転送によるコンフィギュレーションを行うよう制御し、この結果としてUSBデバイス300a、300bからデバイスディスクリプタが取得される。
なお、デバイスディスクリプタには、USBデバイスの製造者IDや製品ID等の情報が含まれ、またデバイスクラスの情報が含まれている場合もある。コンフィギュレーションにより、USBデバイスサーバ100は、各USBデバイスと通信するために必要な情報を取得して、通信用の適切なドライバを選択することができる。制御部160は、デバイスディスクリプタにデバイスクラスの情報が含まれていなければUSBデバイスからインターフェイスディスクリプタを取得し、デバイスの情報(デバイスディスクリプタ、インターフェイスディスクリプタ)を特定部140に伝えることにしてもよい。特定部140では、デバイスの情報からデバイスクラスを示すクラス識別情報を抽出してUSBデバイスの属性として特定する。
続いて、USBデバイスサーバ100の選定部150は、記憶部130に記憶されている関係情報を参照し、USBデバイス300a、300bそれぞれについて、特定部140が特定したUSBデバイスの属性に応じて圧縮方式を選定する(ステップS12)。接続されている各USBデバイスについて選定した圧縮方式は、制御部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から取得した圧縮方式によって圧縮することで行われる。
ホストデバイス200aとUSBデバイス300aとが通信する場合、制御部160は、USBデバイス300aについて選択された圧縮方式で圧縮又は呼応する伸長方式で伸長してネットワーク20上での通信が行われるよう制御する(ステップS15)。即ち、制御部160は、ホストデバイス200aから受信したデータを選定された圧縮方式に呼応する伸長方式で伸長してUSBデバイス300aに転送し、USBデバイス300aからのデータを、選定された圧縮方式で圧縮してホストデバイス200aに転送する。
図8は、ホストデバイス200aが行うUSBデバイス制御処理を示すフローチャートである。このUSBデバイス制御処理は、ホストデバイス200aのユーザの操作に応じて(例えば、ホストデバイス上のキー入力、ホストデバイス自身に備わっているPush-SWの押下など)、USBデバイス300aを利用するために行われる処理である。例えば、ユーザがUSBデバイスの1つであるプリンタでホストデバイス上の書類ファイルを印刷したい場合や、特定のUSBメモリにホストデバイス上のファイルを記録したい場合等に実行される。
ホストデバイス200aは、ユーザの操作に応じたアプリケーションプログラム部201の制御により、USBデバイスサーバ100に対してUSBデバイス情報の要求を送信する(ステップS21)。または、ステップS21の代わりに、USBデバイス情報をUSBデバイスサーバ100自身が、ホストデバイス200aに送信してもよい。これは例えば、ネットワーク通信制御部204により、ネットワーク20においてTCP(Transmission Control Protocol)セッションを確立して、USBデバイスサーバ100との間で予め定めているコマンドを送信することにより実現される。
これに対応して、USBデバイスサーバ100からデバイスの情報と圧縮方式とが送信されるので、ホストデバイス200aはこれらを、ネットワーク20を介して受信する(ステップS22)。上述のステップS14によりUSBデバイス300a、300bの情報が取得されるので、ホストデバイス200aは、取得した情報を表示装置に表示し、ユーザによる選択等の操作に応じて通信相手のUSBデバイスを決定して、USBデバイスとの通信を開始する。通信相手のUSBデバイスが決定されると、デバイスの情報に基づいて対応するデバイスドライバを選択し、通信の準備をする。
ここでは、ホストデバイス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に伝えられる。
以下、通信システム10におけるホストデバイスとUSBデバイスとの間でのデータ送受に係る動作について説明する。
図9は、ホストデバイス200aとUSBデバイスサーバ100とUSBデバイス300aとの間での通信シーケンスを示す図である。
ここでは、USBデバイス300aが、スピーカーである例を用いて説明する。
ホストデバイス200aは、アプリケーションプログラム部201及びUSBデバイスドライバ部202により、USBデバイス300aを制御するためにURBを生成する(ステップS51)。ここでは、ホストデバイス200aにおける音声ファイルに含まれる音声データをスピーカーで再生させるために、URBにその音声データ等が一定量だけ格納されるものとする。なお、前提として、既にUSBデバイスサーバ100は、スピーカーであるUSBデバイス300aからオーディオクラスを示す情報を含むデバイスディスクリプタを取得して、図4に例示する関係情報400に基づいてハフマン圧縮方式を選定しているものとする。そして、ホストデバイス200aは、既にその圧縮方式の情報をUSBデバイスサーバ100から取得しているものとする(図8、ステップS22)。
ホストデバイス200aの圧縮伸長制御部203は、生成されたURBに対して、USBデバイス300aについてUSBデバイスサーバ100で選定された圧縮方式に対応した圧縮アルゴリズムによるデータ変換を施すことで圧縮する(ステップS52)。即ち、ハフマン圧縮により、URBが圧縮されることになる。
続いて、ホストデバイス200aのネットワーク通信制御部204は、圧縮されたURBをカプセル化してネットワーク20に送信するよう制御する(ステップS53)。
USBデバイスサーバ100では、第2接続部120を介してURBを受信し(ステップS54)、制御部160のネットワーク通信部161でURBをデカプセル化し(ステップS55)、圧縮伸長制御部162でURBを伸長する(ステップS56)。この伸長は、ハフマン圧縮の逆変換である。そして、伸長したURBを、制御部160のUSB通信部163が第1接続部110を介してUSBデバイス300aに送信する(ステップS57)。
USBデバイス300aは、URBを受信し(ステップS58)、URBに応じた処理を行い(ステップS59)、処理結果を表す応答データを送信する(ステップS60)。具体的には、USBデバイス300aは、音声データを受信してその音声データに基づき音声をスピーカーで再生し、処理結果として例えば正常に再生した旨の応答データをUSBデバイスサーバ100に送信する。
これに対応して、USBデバイスサーバ100では、USB通信部163が第1接続部110を介して応答データを受信して(ステップS61)、圧縮伸長制御部162で応答データをハフマン圧縮する(ステップS62)。そして、ネットワーク通信部161で圧縮済の応答データをカプセル化して、URBの送信元であったホストデバイス200aに対してネットワーク20を介して送信する(ステップS63)。
ホストデバイス200aでは、応答データを受信すると(ステップS64)、ネットワーク通信制御部204で応答データをデカプセル化し(ステップS65)、圧縮伸長制御部203で応答データを伸長する(ステップS66)。この伸長も、ハフマン圧縮の逆変換である。そして、ホストデバイス200aは、伸長した応答データに応じた処理を行う(ステップS67)。応答データに応じた処理は、例えば、応答データが異常の旨を示す場合にはエラーメッセージを表示装置に表示する処理である。また、応答データが正常の旨を示す場合には、既にステップS51においてURBに格納した音声データに後続する一定量の音声データについてスピーカーで再生させるために、ステップS51〜S67を繰り返すよう制御する処理である。
このようにURBへの格納データを順次切り替えてステップS51〜S67が繰り返し実行されることにより、ホストデバイス200aにおける音声ファイルの内容がUSBデバイス300a(スピーカー)において再生されるようになる。
(実施の形態2)
以下、上述した実施の形態におけるホストデバイス200a、200bが行うUSBデバイス制御処理(図8参照)の一部を変更した実施の形態2(変形例)について説明する。
図10は、USBデバイス制御処理の変形例を示すフローチャートである。同図に示すUSBデバイス制御処理を、ホストデバイス200aが行い、USBデバイス300aを利用するものとして説明する。なお、実施の形態1と同じ点については説明を省略する。
ホストデバイス200aは、ユーザの操作に応じたアプリケーションプログラム部201の制御により、USBデバイスサーバ100に対してUSBデバイス情報の要求を送信する(ステップS21)。
これに対応して、USBデバイスサーバ100からデバイスの情報が送信されるので、ホストデバイス200aはこれを、ネットワーク20を介して受信する(ステップS22a)。実施の形態1と異なり、USBデバイスサーバ100は圧縮方式の情報は送信しない。
そして、ホストデバイス200a自体が、実施の形態1におけるUSBデバイスサーバ100と同様の方法(図7、ステップS12)で圧縮方式を選定する(ステップS22b)。
その後は、実施の形態1と同様に、ホストデバイス200aは、USBデバイス300aに対するデータ(URB等)を、選定した圧縮方式によって圧縮しUSBデバイスサーバ100に送信する。そして、USBデバイスサーバ100から転送されるUSBデバイス300aからのデータ(URBへの応答データ等)を、選定した圧縮方式に呼応する伸長方式によって伸長して利用する(ステップS23)。
なお、ホストデバイス200bもホストデバイス200aと同様の処理を行い得る。また、このようなステップS22bにおける圧縮方式の選定を行うためには、ホストデバイス200a、200bは、メモリに上述した関係情報400を保持しておき、その関係情報400に基づいて選定を行うことになる。
(その他の実施の形態等)
以上、USBデバイスサーバを含む通信システムの各実施の態様について説明したが、上述した各実施の態様は一例にすぎず、各種の変更が可能であることは言うまでもない。
上述の実施の形態で示したネットワーク20は、イーサネットによる有線LANであることとしたが、必ずしもイーサネットによる有線LANでなくてもよく、例えばIEEE802.11シリーズの規格に従った無線LAN部分を含んでいてもよい。
上述の実施の形態では、USBデバイスの属性によって予め関係情報により圧縮方式が定まっており、変化することがないこととした。しかし、USBデバイスサーバが、ホストデバイスの性能を示す情報やネットワークの通信状態を示す情報を取得して、これらに応じて圧縮方式を変更することとしてもよい。例えば、関係情報によりデフォルトの圧縮方式を定め、ホストデバイスの性能が所定閾値より低い場合に限ってそのデフォルトの圧縮方式を、予め定めた別の一層処理負担の低い圧縮方式に変更することとしてもよい。また、ネットワークの通信状態(通信帯域の使用率等)が所定状態である場合に限ってデフォルトの圧縮方式を変更するようにしてもよい。なお、ネットワークの通信状態に応じて動的に圧縮方式を変更してもよい。
また、USBデバイスサーバとホストデバイスとの間の通信は、TCP/IPに準拠した上で、両者間で取り決めた独自プロトコルに従って各種情報(USBデバイスの論理的な接続状態を切り替えるための情報等)の授受を行うものであってもよい。
また、上述の実施の形態では、USBデバイスサーバとホストデバイスとが圧縮方式の情報を共有するために、ホストデバイスからのUSBデバイス情報の要求に対応して圧縮方式の情報がUSBデバイスサーバから送信されることとした。しかし、圧縮方式の情報は、圧縮されてネットワークを伝送されるデータのヘッダ(ネットワーク伝送用にカプセル化によって付加したヘッダ)に含めることとしてもよい。このヘッダは、USBデバイスサーバとホストデバイスとの間で取り決めた独自プロトコルに従ったものとしてもよい。特に、動的に圧縮方式が変更される場合にはヘッダに圧縮方式の情報を含めることが有効となる。
上述の実施の形態では、関係情報を図4でテーブル形式のものとして表現したが、必ずしもテーブル形式でなくても、USBデバイスの属性と圧縮方式との対応を示す情報であればよく、その情報は例えばプログラムにおける処理構造として表現されていてもよい。
上述の実施の形態では、USBデバイスの属性は、デバイスクラスを示すクラス識別情報により定まることとした。しかし、USBデバイスから取得される情報(デバイスディスクリプタ等)に含まれ、かつ、USBデバイスがホストデバイスとの間で通信するデータ(データ全部又は一部)がどのような性質を有するものであるかを表す情報により定まることとしてもよい。例えば、USBデバイスの属性は、製造者ID及び製品IDにより定まることとしてもよい。例えば、製造者ID及び製品IDで特定される特定製造者の特定製品(例えばスキャナ)の場合には、画像データを高効率で圧縮すべく圧縮方式をLZ77圧縮とするように、関係情報を定めておいてもよい。また、例えば、特定製造者の特定製品のデータ受信用バッファのサイズに合わせた圧縮単位で圧縮するような圧縮方式を対応付けるように関係情報を定めておいてもよい。また、USBデバイスサーバは、USBデバイスから取得した転送方式や転送方向の情報を用いてデフォルトの圧縮方式を変更するようにしてもよい。例えば、アイソクロナス転送で、OUT方向(出力方向)の転送である場合に音声データの転送であると推定して、圧縮方式をハフマン圧縮とする等である。
また、USBデバイスの属性に応じて選定した圧縮方式に対応する圧縮アルゴリズムによるデータ変換を、ネットワーク上を伝送するデータのうち、一部だけに施してもよい。また、一度に送信するデータが一定基準よりも少量である場合には圧縮を施さないようにしてもよい。これにより、例えば、コマンド、ステータス等は圧縮されないこととなる。また、USBデバイスがハードディスク装置である場合において、USBデバイスサーバ又はホストデバイスから送信するデータが、既に圧縮されていることを示す特定の拡張子を有するファイルの内容データである場合に圧縮しないこととしてもよい。この場合の特定の拡張子は、例えば、JPEG(Joint Photographic Experts Group)圧縮されたファイルに付されるJPG、ZIP圧縮されたファイルに付されるZIP等である。
また、USBデバイスサーバは、USBデバイスが圧縮伸長機能を有する場合において、自ら圧縮する代わりにそのUSBデバイスに圧縮したデータを送信させ、自ら伸長する代わりに圧縮したままのデータを送信してそのUSBデバイスに伸長させてもよい。
なお、上述した各機器類による各種処理(図7〜10に示す処理等)の全部又は一部は、各機器類のハードウェアにより実行されても、ソフトウェアにより実行されてもよい。なお、ソフトウェアによる処理の実行は、各機器類に含まれるプロセッサがメモリに記憶された制御プログラムを実行することにより実現されるものである。また、その制御プログラムを記録媒体に記録して頒布や流通させてもよい。例えば、頒布された制御プログラムを機器類にインストールして、機器類のプロセッサに実行させることで、機器類に各種処理(図7〜10に示す処理等)を行わせることが可能となる。
その他、上述した各実施の形態に対して当業者が当然に思いつく各種変形を施して得られる形態、又は、各実施の形態で示した構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
本発明は、ネットワークに接続された機器(ホストデバイス)がUSBデバイスを使用する場合に利用可能である。
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デバイス

Claims (12)

  1. USB(Universal Serial Bus)デバイスへ接続するためのインタフェースである第1接続部と、
    ホストデバイスが接続されたネットワークに接続するためのインタフェースである第2接続部と、
    複数の圧縮方式の各々とUSBデバイスの属性とを対応付けた関係情報を記憶する記憶部と、
    前記第1接続部に接続されたUSBデバイスの属性を特定する特定部と、
    前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、
    前記ホストデバイスと前記第1接続部に接続された前記USBデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備える
    USBデバイスサーバ。
  2. 前記制御部は、前記USBデバイスからUSB規格に準拠して送信されたデータを、前記第1接続部を介して受信し、当該データを前記選定部により選定された圧縮方式で圧縮した上で、前記ネットワークで送信可能な形式に変換してから前記第2接続部を介して前記ネットワークに送出する
    請求項1記載のUSBデバイスサーバ。
  3. 前記制御部は、前記USBデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該USBデバイスからのデータのうち、ホストデバイスからのUSBリクエストブロック(URB)に応答する応答データの少なくとも一部に対して、当該圧縮方式で定まるデータ変換を施すことにより行う
    請求項2記載のUSBデバイスサーバ。
  4. 前記制御部は、前記選定された圧縮方式で圧縮したデータにヘッダを付加して前記ネットワークに送出し、前記ヘッダに当該圧縮方式を示す情報を含ませる
    請求項3記載のUSBデバイスサーバ。
  5. 前記第2接続部を介してホストデバイスからUSBデバイスについての情報の要求が受信された場合に、前記制御部は、前記第1接続部に接続されたUSBデバイスから取得した当該USBデバイスの情報と前記選定部により選定された圧縮方式を示す情報とを前記第2接続部を介してホストデバイスへ送信する
    請求項2記載のUSBデバイスサーバ。
  6. 前記制御部は、前記USBデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該USBデバイスからのデータのうち、特定のデータのみに対して施し、当該特定のデータ以外のデータに対しては施さない
    請求項2記載のUSBデバイスサーバ。
  7. 前記制御部は、前記選定部により選定された圧縮方式を示す情報を、前記ネットワークを介してホストデバイスに送信し、
    前記制御部は更に、前記ホストデバイスから前記ネットワークを通じて送信されたデータを、前記第1接続部を介して受信し、当該データを前記選定部により選定された圧縮方式に呼応する伸長方式で伸長した上で、USB規格に準拠して送信するための形式に変換してから前記第1接続部を介して前記USBデバイスへ送信する
    請求項1記載のUSBデバイスサーバ。
  8. 前記USBデバイスの属性は、クラス識別情報で表され、
    前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したクラス識別情報により前記属性を特定し、
    前記関係情報は、互いに異なる2つの圧縮方式をそれぞれ、第1クラスを示すクラス識別情報、第2クラスを示すクラス識別情報と対応付け、
    前記選定部は、前記第1接続部に接続されたUSBデバイスから取得されたクラス識別情報が第1クラスを示す場合には第2クラスを示す場合とは異なる圧縮方式を選定する
    請求項1〜7のいずれか一項に記載のUSBデバイスサーバ。
  9. 前記特定部は、前記第1接続部に接続されたUSBデバイスから取得したデバイスディスクリプタ又はインターフェイスディスクリプタに基づいて前記属性を特定する
    請求項8記載のUSBデバイスサーバ。
  10. 前記第1クラスはオーディオクラスであり、前記第2クラスはストレージクラスであり、
    前記関係情報は、第1クラスを示すクラス識別情報とハフマン圧縮方式とを対応付けている
    請求項8記載のUSBデバイスサーバ。
  11. 前記USBデバイスサーバは更に、
    前記関係情報を更新する更新部を備える
    請求項8記載のUSBデバイスサーバ。
  12. USB規格に準拠してUSBデバイスに送信するためのデータを、当該USBデバイスと接続されたUSBデバイスサーバに対してネットワークを介して送信するための処理を、プロセッサを備えるホストデバイスに実行させるための制御プログラムであって、
    前記処理は、
    前記USBデバイスサーバから前記USBデバイスの属性を示す情報を受信する受信ステップと、
    前記受信ステップにおいて受信された情報が示す属性に応じて複数の圧縮方式のうちの1つを選定する選定ステップと、
    前記USB規格に準拠して前記USBデバイスに送信するためのデータを、前記選定ステップにおいて選定された圧縮方式で圧縮して前記USBデバイスサーバに対して前記ネットワークを介して送信する送信ステップとを含む
    制御プログラム。
JP2014007213A 2014-01-17 2014-01-17 Usbデバイスサーバ Active JP6175681B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014007213A JP6175681B2 (ja) 2014-01-17 2014-01-17 Usbデバイスサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014007213A JP6175681B2 (ja) 2014-01-17 2014-01-17 Usbデバイスサーバ

Publications (2)

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

Family

ID=53767403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014007213A Active JP6175681B2 (ja) 2014-01-17 2014-01-17 Usbデバイスサーバ

Country Status (1)

Country Link
JP (1) JP6175681B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017162287A (ja) * 2016-03-10 2017-09-14 富士通株式会社 情報処理装置、システム、方法及びプログラム
CN112306931A (zh) * 2020-11-20 2021-02-02 广州安凯微电子股份有限公司 一种软件实现usb主机控制器方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10294769A (ja) * 1997-04-17 1998-11-04 Furukawa Electric Co Ltd:The 中継装置
JP2006180356A (ja) * 2004-12-24 2006-07-06 Sony Corp Usb周辺装置及びそのデバイスクラスの選択方法
JP2012137878A (ja) * 2010-12-24 2012-07-19 Canon Imaging Systems Inc クライアント装置、デバイス制御装置、及びその制御方法、並びにデバイス制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10294769A (ja) * 1997-04-17 1998-11-04 Furukawa Electric Co Ltd:The 中継装置
JP2006180356A (ja) * 2004-12-24 2006-07-06 Sony Corp Usb周辺装置及びそのデバイスクラスの選択方法
JP2012137878A (ja) * 2010-12-24 2012-07-19 Canon Imaging Systems Inc クライアント装置、デバイス制御装置、及びその制御方法、並びにデバイス制御システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017162287A (ja) * 2016-03-10 2017-09-14 富士通株式会社 情報処理装置、システム、方法及びプログラム
CN112306931A (zh) * 2020-11-20 2021-02-02 广州安凯微电子股份有限公司 一种软件实现usb主机控制器方法、系统及存储介质
CN112306931B (zh) * 2020-11-20 2023-07-04 广州安凯微电子股份有限公司 一种软件实现usb主机控制器方法、系统及存储介质

Also Published As

Publication number Publication date
JP6175681B2 (ja) 2017-08-09

Similar Documents

Publication Publication Date Title
EP1089502B1 (en) Method and device for facilitating efficient data transfer via a wireless communicaton network
KR100935798B1 (ko) 네트워크로 문서를 전송하기 위한 방법, 시스템, 가상 프린터 장치, 및 복구 장치
JP4772375B2 (ja) 電子機器およびコンテンツ管理方法
JP5696724B2 (ja) 中継装置,中継システム,中継方法,プログラム,及びプログラムを記録したコンピュータ読み取り可能な記録媒体
EP2887225B1 (en) Communication with accessories
JP2011512730A (ja) テンプレート式のパラメータを使用したメッセージの符号化および復号化
WO2011160495A1 (zh) 一种头压缩反馈信息的反馈方法和设备
JP2006339855A (ja) ネットワーク制御装置、符号化方式変換装置、及びコンテンツデータ再生システム
JP2001168942A (ja) プロトコル変換装置、通信装置、通信プログラム記憶媒体、および通信システム
JP6175681B2 (ja) Usbデバイスサーバ
CN103503381B (zh) 设备重定向的数据传输的方法、装置及系统
JPWO2014207899A1 (ja) 通信装置および通信方法
JP5248640B2 (ja) 電子機器
WO2013078614A1 (zh) 一种虚拟桌面场景下音频压缩算法选择方法、装置及通信系统
JPH11345182A (ja) 電子メ―ル送受信システム、電子メ―ル送受信方法および電子メ―ル送受信プログラムを記録した記録媒体
TW201436533A (zh) 資料流傳輸系統及方法
JP2002297478A (ja) マルチメディアデータ中継システム、マルチメディアデータ中継装置及びマルチメディアデータ中継方法
JP5839705B2 (ja) 遠隔制御システム、遠隔制御装置、遠隔制御方法、および遠隔制御プログラム
JP2010087625A (ja) リモートデスクトップシステム、クライアント装置、サーバ、通信方式選択方法、プログラム及び記録媒体
JP3840215B2 (ja) 通信装置、方法、機器制御装置、方法、及び、プログラム
US10768845B2 (en) Storage device and data output method for storage device
JP4276120B2 (ja) 画像伝送装置
JP6300497B2 (ja) 通信装置およびその制御方法
JP2006126981A (ja) データ転送システム及びデータ転送方法
JP2019068348A (ja) 撮影装置、情報処理方法及びプログラム

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