(57)【要約】【課題】ホストデバイスがＵＳＢデバイスと通信する際にネットワーク上での効率的なデータ伝送を実現し得るＵＳＢデバイスサーバを提供する。【解決手段】ＵＳＢデバイスサーバ１００は、ＵＳＢデバイスへ接続する第１接続部１１０と、ホストデバイスが接続されたネットワークに接続する第２接続部１２０と、複数の圧縮方式の各々とＵＳＢデバイスの属性とを対応付けた関係情報を記憶する記憶部１３０と、第１接続部１１０に接続されたＵＳＢデバイスの属性を特定する特定部１４０と、関係情報に基づいて、特定部１４０により特定された属性に応じて圧縮方式を選定する選定部１５０と、ホストデバイスと第１接続部１１０に接続されたＵＳＢデバイスとの間で送受されるデータが選定部１５０により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部１６０とを備える。【選択図】図３
2015135630.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ（Universal Serial Bus）デバイスへ接続するためのインタフェースである第１接続部と、
ホストデバイスが接続されたネットワークに接続するためのインタフェースである第２接続部と、
複数の圧縮方式の各々とＵＳＢデバイスの属性とを対応付けた関係情報を記憶する記憶部と、
前記第１接続部に接続されたＵＳＢデバイスの属性を特定する特定部と、
前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、
前記ホストデバイスと前記第１接続部に接続された前記ＵＳＢデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備える
ＵＳＢデバイスサーバ。
【請求項２】
前記制御部は、前記ＵＳＢデバイスからＵＳＢ規格に準拠して送信されたデータを、前記第１接続部を介して受信し、当該データを前記選定部により選定された圧縮方式で圧縮した上で、前記ネットワークで送信可能な形式に変換してから前記第２接続部を介して前記ネットワークに送出する
請求項１記載のＵＳＢデバイスサーバ。
【請求項３】
前記制御部は、前記ＵＳＢデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該ＵＳＢデバイスからのデータのうち、ホストデバイスからのＵＳＢリクエストブロック（ＵＲＢ）に応答する応答データの少なくとも一部に対して、当該圧縮方式で定まるデータ変換を施すことにより行う
請求項２記載のＵＳＢデバイスサーバ。
【請求項４】
前記制御部は、前記選定された圧縮方式で圧縮したデータにヘッダを付加して前記ネットワークに送出し、前記ヘッダに当該圧縮方式を示す情報を含ませる
請求項３記載のＵＳＢデバイスサーバ。
【請求項５】
前記第２接続部を介してホストデバイスからＵＳＢデバイスについての情報の要求が受信された場合に、前記制御部は、前記第１接続部に接続されたＵＳＢデバイスから取得した当該ＵＳＢデバイスの情報と前記選定部により選定された圧縮方式を示す情報とを前記第２接続部を介してホストデバイスへ送信する
請求項２記載のＵＳＢデバイスサーバ。
【請求項６】
前記制御部は、前記ＵＳＢデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該ＵＳＢデバイスからのデータのうち、特定のデータのみに対して施し、当該特定のデータ以外のデータに対しては施さない
請求項２記載のＵＳＢデバイスサーバ。
【請求項７】
前記制御部は、前記選定部により選定された圧縮方式を示す情報を、前記ネットワークを介してホストデバイスに送信し、
前記制御部は更に、前記ホストデバイスから前記ネットワークを通じて送信されたデータを、前記第１接続部を介して受信し、当該データを前記選定部により選定された圧縮方式に呼応する伸長方式で伸長した上で、ＵＳＢ規格に準拠して送信するための形式に変換してから前記第１接続部を介して前記ＵＳＢデバイスへ送信する
請求項１記載のＵＳＢデバイスサーバ。
【請求項８】
前記ＵＳＢデバイスの属性は、クラス識別情報で表され、
前記特定部は、前記第１接続部に接続されたＵＳＢデバイスから取得したクラス識別情報により前記属性を特定し、
前記関係情報は、互いに異なる２つの圧縮方式をそれぞれ、第１クラスを示すクラス識別情報、第２クラスを示すクラス識別情報と対応付け、
前記選定部は、前記第１接続部に接続されたＵＳＢデバイスから取得されたクラス識別情報が第１クラスを示す場合には第２クラスを示す場合とは異なる圧縮方式を選定する
請求項１〜７のいずれか一項に記載のＵＳＢデバイスサーバ。
【請求項９】
前記特定部は、前記第１接続部に接続されたＵＳＢデバイスから取得したデバイスディスクリプタ又はインターフェイスディスクリプタに基づいて前記属性を特定する
請求項８記載のＵＳＢデバイスサーバ。
【請求項１０】
前記第１クラスはオーディオクラスであり、前記第２クラスはストレージクラスであり、
前記関係情報は、第１クラスを示すクラス識別情報とハフマン圧縮方式とを対応付けている
請求項８記載のＵＳＢデバイスサーバ。
【請求項１１】
前記ＵＳＢデバイスサーバは更に、
前記関係情報を更新する更新部を備える
請求項８記載のＵＳＢデバイスサーバ。
【請求項１２】
ＵＳＢ規格に準拠してＵＳＢデバイスに送信するためのデータを、当該ＵＳＢデバイスと接続されたＵＳＢデバイスサーバに対してネットワークを介して送信するための処理を、プロセッサを備えるホストデバイスに実行させるための制御プログラムであって、
前記処理は、
前記ＵＳＢデバイスサーバから前記ＵＳＢデバイスの属性を示す情報を受信する受信ステップと、
前記受信ステップにおいて受信された情報が示す属性に応じて複数の圧縮方式のうちの１つを選定する選定ステップと、
前記ＵＳＢ規格に準拠して前記ＵＳＢデバイスに送信するためのデータを、前記選定ステップにおいて選定された圧縮方式で圧縮して前記ＵＳＢデバイスサーバに対して前記ネットワークを介して送信する送信ステップとを含む
制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御技術に関し、特に、ネットワークとＵＳＢデバイスとを連結するＵＳＢデバイスサーバに関する。
【背景技術】
【０００２】
従来、ＵＳＢ（Universal Serial Bus）規格に準拠したＵＳＢポートを備えるパーソナルコンピュータ等のホストデバイスはＵＳＢポートを介してＵＳＢデバイス（周辺機器）と、データの授受を行うことができる。ＵＳＢデバイスは、ＵＳＢ規格に準拠して通信を行う周辺機器であり、例えば、スピーカー、モニター、ＵＳＢメモリ、ハードディスク装置、プリンタ、キーボード、マウス、オーディオプレイヤー等である。
【０００３】
また、ＬＡＮ（Local Area Network）等のネットワークに接続された１台以上のホストデバイスが、ネットワークを介してＵＳＢデバイスを利用し得るように、ネットワークとＵＳＢデバイスとを連結するＵＳＢデバイスサーバが知られている（特許文献１参照）。
【０００４】
また、ホストデバイスと周辺機器との間での通信に際してデータを圧縮するか否かを決定する技術が知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２８７４５３号公報
【特許文献２】特開２００１−１０２９３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献２の技術は、送信すべきデータの量等に応じて圧縮をするか否かの基準となる閾値を変動させて、その閾値とデータを特定の圧縮方式（ランレングス圧縮、ハフマン符号化等）で圧縮したときの圧縮率とに基づいて圧縮するか否かの決定をする技術であるが、送信すべきデータの内容によってはその特定の圧縮方式が必ずしも効率的な伝送に適したものになるとは限らない。
【０００７】
そこで、本発明は、データを圧縮するか否かを決定する特許文献２の技術とは異なる方法で、ホストデバイスがＵＳＢデバイスと通信する際においてネットワーク上での効率的なデータ伝送を実現し得るＵＳＢデバイスサーバを提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るＵＳＢデバイスサーバは、ＵＳＢ（Universal Serial Bus）デバイスへ接続するためのインタフェースである第１接続部と、ホストデバイスが接続されたネットワークに接続するためのインタフェースである第２接続部と、複数の圧縮方式の各々とＵＳＢデバイスの属性とを対応付けた関係情報を記憶する記憶部と、前記第１接続部に接続されたＵＳＢデバイスの属性を特定する特定部と、前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、前記ホストデバイスと前記第１接続部に接続された前記ＵＳＢデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備えるＵＳＢデバイスサーバである。
【発明の効果】
【０００９】
本発明の一態様に係るＵＳＢデバイスサーバは、ホストデバイスがＵＳＢデバイスと通信する際にネットワーク上での効率的なデータ伝送を実現し得る。
【図面の簡単な説明】
【００１０】
【図１】実施の形態に係る通信システムのネットワーク構成図である。
【図２】通信システムにおけるＵＳＢデバイスサーバのハードウェア構成図である。
【図３】ＵＳＢデバイスサーバの機能ブロック図である。
【図４】ＵＳＢデバイスサーバが保持する関係情報のデータ構成及び内容例を示す図である。
【図５】ＵＳＢデバイスサーバの制御部の機能ブロック図である。
【図６】通信システムにおけるホストデバイスの機能ブロック図である。
【図７】ＵＳＢデバイスサーバにおける通信制御処理を示すフローチャートである。
【図８】ホストデバイスにおけるＵＳＢデバイス制御処理を示すフローチャートである。
【図９】ＵＳＢデバイスサーバを介したデバイス間の通信シーケンスを示す図である。
【図１０】変形例に係るＵＳＢデバイス制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
ホストデバイスがＵＳＢデバイスと通信する際にネットワーク上での効率的なデータ伝送を実現すべく、本発明の一態様に係るＵＳＢデバイスサーバは、ＵＳＢ（Universal Serial Bus）デバイスへ接続するためのインタフェースである第１接続部と、ホストデバイスが接続されたネットワークに接続するためのインタフェースである第２接続部と、複数の圧縮方式の各々とＵＳＢデバイスの属性とを対応付けた関係情報を記憶する記憶部と、前記第１接続部に接続されたＵＳＢデバイスの属性を特定する特定部と、前記関係情報に基づいて、前記特定部により特定された属性に応じて圧縮方式を選定する選定部と、前記ホストデバイスと前記第１接続部に接続された前記ＵＳＢデバイスとの間で送受されるデータが、前記選定部により選定された圧縮方式で圧縮された状態で前記ネットワーク上を伝送されるよう制御する制御部とを備えるＵＳＢデバイスサーバである。
【００１２】
ここで、ＵＳＢデバイスの属性とは、ＵＳＢデバイスがホストデバイスとの間で通信するデータがどのような性質を有するものであるかを表すものをいう。属性の例としては、音声データを通信するＵＳＢデバイスであることを示す属性、画像データを通信するＵＳＢデバイスであることを示す属性等が挙げられる。なお、従来の知識や理論或いはシミュレーションに基づいて、ＵＳＢデバイスの属性毎に好適な圧縮方式を定めるよう関係情報を設定して運用されることが想定される。また、選定された圧縮方式での圧縮は、その選定された圧縮方式で定まる圧縮アルゴリズムによるデータ変換を実現するソフトウェア又はハードウェアによりなされ、このデータ変換の対象は、ネットワーク上で伝送されるべきデータの少なくとも一部である。また、制御部による制御は、外部の機器（ホストデバイス等）の制御でも自機（ＵＳＢデバイスサーバ）自身の制御であってもよい。
【００１３】
上記構成により、関係情報としてＵＳＢデバイスの属性毎に好適な圧縮方式を定めておくことで、ＵＳＢデバイスの属性に応じて複数の圧縮方式のうち１つが選定されてデータが圧縮されるようになるので、ユーザは特別な操作をすることなくネットワーク上での効率的なデータ伝送が実現され得る。
【００１４】
例えば、前記制御部は、前記ＵＳＢデバイスからＵＳＢ規格に準拠して送信されたデータを、前記第１接続部を介して受信し、当該データを前記選定部により選定された圧縮方式で圧縮した上で、前記ネットワークで送信可能な形式に変換してから前記第２接続部を介して前記ネットワークに送出することとしてもよい。
【００１５】
これにより、ＵＳＢデバイスがホストデバイスのＵＳＢポートに直接的に接続している場合と同様のデータを送出すると、ＵＳＢデバイスから送出されたデータがＵＳＢデバイスサーバにより圧縮されてホストデバイスへと伝送されることとなる。このためネットワーク上での伝送遅延が低減され得るので、データを圧縮する機能を有しないＵＳＢデバイスでもネットワーク上のホストデバイスと円滑に通信し得るようになる。
【００１６】
また、例えば、前記制御部は、前記ＵＳＢデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該ＵＳＢデバイスからのデータのうち、ホストデバイスからのＵＳＢリクエストブロック（ＵＲＢ）に応答する応答データの少なくとも一部に対して、当該圧縮方式で定まるデータ変換を施すことにより行うこととしてもよい。
【００１７】
これにより、ＵＳＢデバイスがホストデバイスのＵＲＢ（USB Request Block）に応じてホストデバイスへと送信するデータ、即ちＵＳＢデバイスの属性が表れると想定されるデータが、その属性に対応する好適な圧縮方式で圧縮されるので効率的な伝送が実現され得る。
【００１８】
また、前記制御部は、前記選定された圧縮方式で圧縮したデータにヘッダを付加して前記ネットワークに送出し、前記ヘッダに当該圧縮方式を示す情報を含ませることとしてもよい。
【００１９】
これにより、ネットワークを介して圧縮されたデータを受信したホストデバイスが、ヘッダを参照することにより圧縮方式を特定してその圧縮方式に呼応した伸長を施せるようになり、ＵＳＢデバイスが送出したデータを抽出できるようになる。
【００２０】
また、前記第２接続部を介してホストデバイスからＵＳＢデバイスについての情報の要求が受信された場合に、前記制御部は、前記第１接続部に接続されたＵＳＢデバイスから取得した当該ＵＳＢデバイスの情報と前記選定部により選定された圧縮方式を示す情報とを前記第２接続部を介してホストデバイスへ送信することとしてもよい。
【００２１】
これにより、ホストデバイスは、ＵＳＢデバイスを利用しようとする際にＵＳＢデバイスについての情報を要求することで、そのＵＳＢデバイスへ送信するＵＲＢ等のデータを圧縮するための圧縮方式を知ることができるようになる。
【００２２】
また、前記制御部は、前記ＵＳＢデバイスからのデータについての前記選定された圧縮方式での圧縮を、当該ＵＳＢデバイスからのデータのうち、特定のデータのみに対して施し、当該特定のデータ以外のデータに対しては施さないこととしてもよい。
【００２３】
これにより、圧縮を施すメリットの少ないデータ（例えばコマンド、ステータス等といった少量のデータ）に圧縮を施さないことも可能となる。
【００２４】
また、前記制御部は、前記選定部により選定された圧縮方式を示す情報を、前記ネットワークを介してホストデバイスに送信し、前記制御部は更に、前記ホストデバイスから前記ネットワークを通じて送信されたデータを、前記第１接続部を介して受信し、当該データを前記選定部により選定された圧縮方式に呼応する伸長方式で伸長した上で、ＵＳＢ規格に準拠して送信するための形式に変換してから前記第１接続部を介して前記ＵＳＢデバイスへ送信することとしてもよい。
【００２５】
これにより、ＵＳＢデバイスサーバは、ホストデバイスに圧縮方式を伝達し、ホストデバイスがその圧縮方式で圧縮したデータを、ネットワークを介して受信するので、ネットワーク上での効率的なデータ伝送が実現され得る。
【００２６】
また、前記ＵＳＢデバイスの属性は、クラス識別情報で表され、前記特定部は、前記第１接続部に接続されたＵＳＢデバイスから取得したクラス識別情報により前記属性を特定し、前記関係情報は、互いに異なる２つの圧縮方式をそれぞれ、第１クラスを示すクラス識別情報、第２クラスを示すクラス識別情報と対応付け、前記選定部は、前記第１接続部に接続されたＵＳＢデバイスから取得されたクラス識別情報が第１クラスを示す場合には第２クラスを示す場合とは異なる圧縮方式を選定することとしてもよい。ここで、クラス識別情報はＵＳＢデバイスの機能の種別を示す情報である。
【００２７】
これにより、関係情報として機能別に適切な圧縮方式を定めることができるようになる。
【００２８】
また、前記特定部は、前記第１接続部に接続されたＵＳＢデバイスから取得したデバイスディスクリプタ又はインターフェイスディスクリプタに基づいて前記属性を特定することとしてもよい。
【００２９】
これにより、ＵＳＢデバイスサーバは、そのＵＳＢデバイスからデバイスディスクリプタ又はインターフェイスディスクリプタを取得することでそのＵＳＢデバイスのデータをネットワーク上で圧縮するための適切な圧縮方式を選定することが可能になる。
【００３０】
また、前記第１クラスはオーディオクラスであり、前記第２クラスはストレージクラスであり、前記関係情報は、第１クラスを示すクラス識別情報とハフマン圧縮方式とを対応付けていることとしてもよい。
【００３１】
これにより、オーディオクラスのＵＳＢデバイスとホストデバイスとが送受する音声データをハフマン圧縮方式で圧縮することができるので、ある程度高効率で圧縮され、ネットワーク上での効率的なデータ伝送が実現され得る。なお、音声データについてハフマン圧縮方式で圧縮を施すことは、例えば左右の２チャネルのステレオ音声においては、両チャネル間の音声の差分データを抽出しその差分データに対してハフマン圧縮を施すことである。なお、ハフマン圧縮は、各データ値の出現確率を事前に求め、出現確率の高い文字を短い符号で、出現確率の低い文字を長い符号で表現することで、平均符号長を最小とするものである。
【００３２】
また、前記ＵＳＢデバイスサーバは更に、前記関係情報を更新する更新部を備えることとしてもよい。
【００３３】
これにより、運用に際して特定の属性を有するＵＳＢデバイスに一層有効な圧縮方式が判明した場合等において、ホストデバイス又はユーザの指示等により、ＵＳＢデバイスの属性と圧縮方式との対応関係を変更し得るようになる。
【００３４】
また、本発明の一態様に係る制御プログラムは、ＵＳＢ規格に準拠してＵＳＢデバイスに送信するためのデータを、当該ＵＳＢデバイスと接続されたＵＳＢデバイスサーバに対してネットワークを介して送信するための処理を、プロセッサを備えるホストデバイスに実行させるための制御プログラムであって、前記処理は、前記ＵＳＢデバイスサーバから前記ＵＳＢデバイスの属性を示す情報を受信する受信ステップと、前記受信ステップにおいて受信された情報が示す属性に応じて複数の圧縮方式のうちの１つを選定する選定ステップと、前記ＵＳＢ規格に準拠して前記ＵＳＢデバイスに送信するためのデータを、前記選定ステップにおいて選定された圧縮方式で圧縮して前記ＵＳＢデバイスサーバに対して前記ネットワークを介して送信する送信ステップとを含む制御プログラムである。
【００３５】
この制御プログラムによってホストデバイスは、ＵＳＢデバイスの属性に応じて圧縮方式を選定してデータを効率的に圧縮してネットワーク上を伝送させ得るようになる。
【００３６】
なお、これらの包括的又は具体的な各種態様には、装置、システム、方法、集積回路、コンピュータプログラム、コンピュータで読み取り可能な記録媒体等の１つ又は複数の組み合わせが含まれる。
【００３７】
以下、実施の形態について、図面を参照しながら説明する。
【００３８】
ここで示す実施の形態は、いずれも本発明の好ましい一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、並びに、ステップ（工程）及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【００３９】
各実施の形態では、主に、ＵＳＢデバイスと、ネットワークに接続されたホストデバイスとの通信を中継する際に、ＵＳＢデバイスの属性に応じて選定した圧縮方式でデータを圧縮してネットワーク上に伝送するよう制御するＵＳＢデバイスサーバについて説明する。
【００４０】
（実施の形態１）
以下、本発明の一態様としての実施の形態について説明する。
【００４１】
（構成）
図１は、実施の形態に係る通信システム１０のネットワーク構成図である。
【００４２】
通信システム１０は、イーサネット（登録商標）ケーブルで接続された有線ＬＡＮ等のネットワーク２０を介して複数の機器間で通信を行うためのシステムである。ネットワーク２０に接続された機器には、ホストデバイス２００ａ、ホストデバイス２００ｂ、ＵＳＢデバイスサーバ１００が含まれる。
【００４３】
ここで、ＵＳＢデバイスサーバ１００は、ＵＳＢデバイス３００ａ及びＵＳＢデバイス３００ｂとそれぞれＵＳＢケーブル３０ａ、３０ｂを介して接続されており、ＵＳＢデバイスをネットワークに接続された機器から利用可能にする機能を有する。ＵＳＢデバイスサーバ１００の働きにより、ホストデバイス２００ａ及びホストデバイス２００ｂは、ＵＳＢデバイス３００ａ或いはＵＳＢデバイス３００ｂを利用することができる。なお、ＵＳＢデバイスサーバ１００は、各ＵＳＢデバイスが排他的に１台のホストデバイスと通信を行うように機能する。有線ＬＡＮ等のネットワーク２０は、例えばＩＥＥＥ８０２．３規格に準拠したものである。
【００４４】
ホストデバイス２００ａ、２００ｂは、プロセッサ、メモリ、イーサネットコントローラ、表示装置等を備えるパーソナルコンピュータ、通信機器等である。ＵＳＢデバイス３００ａ、３００ｂは、ＵＳＢ規格に準拠して通信を行う周辺機器であり、例えば、スピーカー、モニター、ＵＳＢメモリ、ハードディスク装置、プリンタ、キーボード、マウス、オーディオプレイヤー等である。なお、ＵＳＢ規格は、ＵＳＢＩｍｐｌｅｍｅｎｔｅｒｓ Ｆｏｒｕｍ，Ｉｎｃ．により管理されている。また、ＵＳＢデバイス３００ａ、３００ｂは、それぞれＵＳＢケーブル３０ａ、３０ｂを挿抜自在であっても、ＵＳＢケーブル３０ａ、３０ｂと一体化されていてもよい。つまり、ＵＳＢデバイス３００ａ、３００ｂ自身がＵＳＢデバイスサーバ１００に備わるＵＳＢ規格のインタフェース（Ｉ／Ｆ）コネクタに対し、直接的に挿抜自在であってもよい（例えば、上述のＵＳＢメモリ等）。
【００４５】
以下、ＵＳＢデバイスサーバ１００の構成について説明する。
【００４６】
図２は、通信システム１０におけるＵＳＢデバイスサーバ１００のハードウェア構成図である。
【００４７】
ＵＳＢデバイスサーバ１００は、プロセッサ１０１と、記憶装置１０２と、ネットワーク通信インタフェース（Ｉ／Ｆ）１０３と、ＵＳＢ通信インタフェース（Ｉ／Ｆ）１０４とバス１０５とを備える通信装置である。ここで、記憶装置１０２は、ＲＯＭ及びＲＡＭといったメモリ等であり、ネットワーク通信Ｉ／Ｆ１０３は、イーサネットコントローラ、ＬＡＮポート（イーサネット端子）等である。また、ＵＳＢ通信Ｉ／Ｆ１０４は、ＵＳＢコントローラ、ＵＳＢケーブルのコネクタを挿抜可能なＵＳＢポート等である。ＵＳＢ通信Ｉ／Ｆ１０４は、ここでは複数のＵＳＢポートを備えることとして説明するが、必ずしも複数なくてもよい。
【００４８】
図３は、ＵＳＢデバイスサーバ１００の機能ブロック図である。
【００４９】
ＵＳＢデバイスサーバ１００は、機能面においては、第１接続部１１０、第２接続部１２０、記憶部１３０、特定部１４０、選定部１５０、制御部１６０及び更新部１７０を有し、通信制御処理（後述）を実行する。
【００５０】
ここで、第１接続部１１０は、ＵＳＢ通信Ｉ／Ｆ１０４等により実現され、ＵＳＢデバイスとの間でＵＳＢ規格に従ってデータの送受信を行うためのインタフェースとして機能する。
【００５１】
また、第２接続部１２０は、ネットワーク通信Ｉ／Ｆ１０３等により実現され、ネットワーク２０に接続されたホストデバイスとの間で、データの送受信を行うためのインタフェースとして機能する。なお、第２接続部１２０によるデータの送受信は、ネットワークインタフェース層にイーサネットを用い、ＵＳＢ規格で送受信されるデータ（ＵＳＢデータ）をカプセル化してＴＣＰ／ＩＰプロトコルに基づいて行われる。
【００５２】
記憶部１３０は、記憶装置１０２により実現され、圧縮方式とＵＳＢデバイスの属性とを対応付けた関係情報４００を記憶する他、プロセッサに各機能を実行させるための制御プログラムを記憶している。ここで、関係情報４００について説明する。
【００５３】
図４は、関係情報４００のデータ構成及び内容例を示す図である。関係情報４００は、同図に示すように、クラス識別情報４０１と圧縮方式４０２とを対応付けた情報である。クラス識別情報４０１は、ＵＳＢデバイスの属性である機能種別を区別する情報（デバイスクラスを示す情報）である。また、圧縮方式４０２は、圧縮方式を識別する情報である。
【００５４】
この関係情報は、製造者、運用管理者等により設定されるものであり、経験的又は理論的な考察、或いはシミュレーションに基づいて、ＵＳＢデバイスの属性毎に好適な圧縮方式が定められている。図４の内容例では、音声データを扱う機能を示すオーディオクラスには、一定ビットごとに文字列を区切り、区切られた後の文字列を統計的に処理して、出現確率がより高いパターンに対してより短い符号を与えてデータ圧縮するハフマン圧縮という圧縮方式が対応付けられ、一方、大容量記憶機能を示すストレージクラス（マスストレージクラス）には、あるデータの着目している位置から始まる記号列が、それより以前に出現していたかを探し、その記号列をその出現位置と長さのポインタに置き換えてデータ圧縮するＬＺ７７圧縮という圧縮方式が対応付けられていることを例示している。なお、音声データを扱う機能を有するＵＳＢデバイスには、例えばマイク、スピーカー等がある。また、大容量記憶機能を有するＵＳＢデバイスにはＵＳＢメモリ、ハードディスク装置等がある。
【００５５】
再びＵＳＢデバイスサーバ１００の機能構成要素の説明に戻る。
【００５６】
特定部１４０は、制御部１６０の制御により第１接続部１１０を介してＵＳＢデバイスから受信されたデバイス情報等から、そのＵＳＢデバイスの属性を特定する機能を有する。具体的には、ＵＳＢデバイスから受信されたデバイスディスクリプタ又はインターフェイスディスクリプタからデバイスクラスを示すクラス識別情報を抽出して、第１接続部１１０に接続されたＵＳＢデバイスの属性として特定する機能である。
【００５７】
選定部１５０は、記憶部１３０に記憶されている関係情報４００を参照して、特定部１４０により特定されたＵＳＢデバイスの属性に応じて、１つの圧縮方式を選定して制御部１６０に伝える機能を有する。例えば、特定部１４０に特定されたＵＳＢデバイスの属性がオーディオクラスを示していれば、関係情報４００（図４参照）においてクラス識別情報４０１がオーディオクラスに対応する圧縮方式４０２で示される圧縮方式（図４の内容例ではハフマン圧縮）を選定する。
【００５８】
制御部１６０は、第２接続部１２０を介してネットワーク２０に接続されている機器（ホストデバイス等）及び第１接続部１１０を介して接続されているＵＳＢデバイスとの通信を制御する機能を有する。特に、ホストデバイスと第１接続部１１０に接続されたＵＳＢデバイスとの間で送受されるデータが、選定部１５０から伝えられた圧縮方式で圧縮された状態でネットワーク２０上を伝送されるよう制御する機能を有する。
【００５９】
図５は、制御部１６０の構成要素である機能ブロックを示す。同図に示すように、制御部１６０は、ネットワーク通信部１６１、圧縮伸長制御部１６２及びＵＳＢ通信部１６３を有す。ここで、ネットワーク通信部１６１は、ＴＣＰ／ＩＰの各種プロトコルに従ってネットワーク２０での通信を行うよう制御する機能を担う。圧縮伸長制御部１６２は、関係情報４００で示される複数の圧縮方式それぞれに対応した圧縮アルゴリズム及び伸長アルゴリズムに基づくデータ変換を行うためのハードウェア又はソフトウェアから実現される機構を有し、データの圧縮及び伸長を行う機能を担う。また、ＵＳＢ通信部１６３は、ＵＳＢ規格に従って通信を行うよう制御する機能を担う。
【００６０】
これらの構成要素により、制御部１６０は、ＵＳＢデバイスからＵＳＢ規格に準拠して送信されたデータを、第１接続部１１０を介して受信し、そのデータを選定部１５０に選定された圧縮方式で圧縮した上でカプセル化してから第２接続部１２０を介してネットワーク２０に送出する。このカプセル化は、ＴＣＰ／ＩＰの各階層の各プロトコルで定められた形式に合致させるべく、ネットワーク２０に送出すべきデータに各種制御情報を含むヘッダ等の付加を行うことである。また、選定部１５０から伝えられた圧縮方式での圧縮は、その圧縮方式で定まるデータ変換を、送信すべきデータ（後述するようにデータの一部でもよい）に施すことにより実行される。逆に、ネットワーク２０上にホストデバイスから送信されたデータを、第２接続部１２０を介して受信した場合には、制御部１６０は、そのデータをデカプセル化したのち、その圧縮方式に呼応する伸長を施してから第１接続部１１０を介してＵＳＢデバイスへ転送する。なお、デカプセル化は、カプセル化の逆の処理であり各種制御情報を含むヘッダ等を除去することである。なお、制御部１６０は、ＵＳＢデバイスから受信されたデバイス情報を特定部１４０に伝える機能や、ネットワーク２０を介してホストデバイスから関係情報４００の更新要求を受信した場合に更新部１７０に関係情報４００を更新させる機能も有する。なお、この更新要求は、クラス識別情報と圧縮方式との組（各々を対応付けた形態）を示す情報を伴ってなされる。
【００６１】
また、更新部１７０は、制御部１６０から関係情報４００を更新する指示を受けて記憶部１３０に記憶されている関係情報４００を更新する機能を有する。
【００６２】
なお、特定部１４０、選定部１５０、制御部１６０及び更新部１７０の全部又は一部の機能は、ＵＳＢデバイスサーバ１００を構成する記憶装置１０２に格納された制御プログラムをプロセッサ１０１が実行することにより実現される。
【００６３】
以下、ホストデバイス２００ａ、２００ｂにおける通信に係る機能について説明する。
【００６４】
図６は、ホストデバイス２００ａの機能ブロック図である。
【００６５】
ホストデバイス２００ａは、同図に示すように、アプリケーションプログラム部２０１、ＵＳＢデバイスドライバ部２０２、圧縮伸長制御部２０３及びネットワーク通信制御部２０４を有する。
【００６６】
ここで、アプリケーションプログラム部２０１は、ＵＳＢデバイスを利用した処理を行うアプリケーションプログラムをプロセッサにより実行する機能を有する。このアプリケーションプログラムは、ＵＳＢデバイスサーバ１００に、利用可能なＵＳＢデバイスの情報（例えば一覧情報）を要求し、ユーザ入力に応じて選択されたＵＳＢデバイスとデータの授受を行う処理を含む。なお、このアプリケーションプログラムは、ユーザ入力等により取得した、ネットワーク２０を介して通信するためのＵＳＢデバイスサーバ１００のアドレス（例えばＭＡＣ（Media Access Control）アドレス）を利用する。
【００６７】
ＵＳＢデバイスドライバ部２０２は、ＵＳＢ規格に従ってＵＳＢデバイスと通信をするためのデバイスドライバをプロセッサにより実行する機能を有する。
【００６８】
圧縮伸長制御部２０３は、１以上の圧縮方式各々に対応した圧縮アルゴリズム及び伸長アルゴリズムに基づくデータ変換を行うためのハードウェア又はソフトウェアから実現される機構を有し、データの圧縮及び伸長を行う機能を有する。即ち、圧縮伸長制御部２０３はＵＳＢデバイスドライバ部２０２が出力したデータを圧縮してネットワーク通信制御部２０４に入力し、ネットワーク通信制御部２０４が出力したデータを伸長してＵＳＢデバイスドライバ部２０２に入力する。
【００６９】
また、ネットワーク通信制御部２０４は、ＴＣＰ／ＩＰの各種プロトコルに従ってネットワーク２０での通信を行うよう制御（カプセル化、デカプセル化等）する機能を有する。これらの構成要素により、ホストデバイス２００ａは、アプリケーションプログラムに基づいてＵＳＢデバイスに送信するためのデータの少なくとも一部を圧縮してカプセル化してネットワーク２０に送出する。また、ＵＳＢデバイスが送信したデータをネットワーク２０から受信してデカプセル化して伸長して、アプリケーションプログラムにおいて利用できるようにする。これにより、圧縮されたデータがネットワーク２０上で伝送されることとなり、通信帯域負荷が低減され、また、非圧縮の場合と比べて伝送遅延が低減される。
【００７０】
（動作）
以下、上述の構成を備える通信システム１０における各機器類の動作を説明する。
【００７１】
図７は、ＵＳＢデバイスサーバにおける通信制御処理を示すフローチャートである。この通信制御処理は、ＵＳＢデバイスサーバ１００において、ＵＳＢデバイスが接続されてからホストデバイスにＵＳＢデバイスを利用させるために実行される処理である。ここでは、ＵＳＢデバイスサーバ１００にＵＳＢデバイス３００ａ、３００ｂが接続された状態を前提として（図１参照）、ホストデバイス２００ａがＵＳＢデバイス３００ａを利用する場合を例として通信制御処理について説明する。
【００７２】
ＵＳＢデバイスサーバ１００の制御部１６０は、第１接続部１１０の各ＵＳＢポートに接続されたＵＳＢデバイス３００ａ、３００ｂからＵＳＢデバイスの情報（デバイスディスクリプタ等）を取得する（ステップＳ１１）。即ち、制御部１６０は、ＵＳＢデバイス３００ａ、３００ｂそれぞれに対してＵＳＢ規格に従ってコントロール転送によるコンフィギュレーションを行うよう制御し、この結果としてＵＳＢデバイス３００ａ、３００ｂからデバイスディスクリプタが取得される。
【００７３】
なお、デバイスディスクリプタには、ＵＳＢデバイスの製造者ＩＤや製品ＩＤ等の情報が含まれ、またデバイスクラスの情報が含まれている場合もある。コンフィギュレーションにより、ＵＳＢデバイスサーバ１００は、各ＵＳＢデバイスと通信するために必要な情報を取得して、通信用の適切なドライバを選択することができる。制御部１６０は、デバイスディスクリプタにデバイスクラスの情報が含まれていなければＵＳＢデバイスからインターフェイスディスクリプタを取得し、デバイスの情報（デバイスディスクリプタ、インターフェイスディスクリプタ）を特定部１４０に伝えることにしてもよい。特定部１４０では、デバイスの情報からデバイスクラスを示すクラス識別情報を抽出してＵＳＢデバイスの属性として特定する。
【００７４】
続いて、ＵＳＢデバイスサーバ１００の選定部１５０は、記憶部１３０に記憶されている関係情報を参照し、ＵＳＢデバイス３００ａ、３００ｂそれぞれについて、特定部１４０が特定したＵＳＢデバイスの属性に応じて圧縮方式を選定する（ステップＳ１２）。接続されている各ＵＳＢデバイスについて選定した圧縮方式は、制御部１６０に伝えられる。
【００７５】
その後、ホストデバイス２００ａからのＵＳＢデバイス情報の要求を、第２接続部１２０を介して取得した制御部１６０は（ステップＳ１３）、ＵＳＢデバイス３００ａ、３００ｂについての情報と選定された圧縮方式の情報とを返信する（ステップＳ１４）。返信するＵＳＢデバイス３００ａ、３００ｂについての情報は、ＵＳＢデバイス３００ａ、３００ｂから取得したデバイスの情報に基づいたものである。ホストデバイス２００ａは、取得した各ＵＳＢデバイスの情報を表示装置に表示し、必要に応じてユーザによる選択等の操作を受けて通信相手となるＵＳＢデバイスを決定し、ＵＳＢデバイスとの通信を開始することとなる。
ここではＵＳＢデバイス３００ａに対して通信を開始するものとして説明を続ける。この通信は、ＵＳＢデバイスに対するデータ（ＵＲＢ（USB Request Block）等）を、ＵＳＢデバイスサーバ１００から取得した圧縮方式によって圧縮することで行われる。
【００７６】
ホストデバイス２００ａとＵＳＢデバイス３００ａとが通信する場合、制御部１６０は、ＵＳＢデバイス３００ａについて選択された圧縮方式で圧縮又は呼応する伸長方式で伸長してネットワーク２０上での通信が行われるよう制御する（ステップＳ１５）。即ち、制御部１６０は、ホストデバイス２００ａから受信したデータを選定された圧縮方式に呼応する伸長方式で伸長してＵＳＢデバイス３００ａに転送し、ＵＳＢデバイス３００ａからのデータを、選定された圧縮方式で圧縮してホストデバイス２００ａに転送する。
【００７７】
図８は、ホストデバイス２００ａが行うＵＳＢデバイス制御処理を示すフローチャートである。このＵＳＢデバイス制御処理は、ホストデバイス２００ａのユーザの操作に応じて（例えば、ホストデバイス上のキー入力、ホストデバイス自身に備わっているPush-SWの押下など）、ＵＳＢデバイス３００ａを利用するために行われる処理である。例えば、ユーザがＵＳＢデバイスの１つであるプリンタでホストデバイス上の書類ファイルを印刷したい場合や、特定のＵＳＢメモリにホストデバイス上のファイルを記録したい場合等に実行される。
【００７８】
ホストデバイス２００ａは、ユーザの操作に応じたアプリケーションプログラム部２０１の制御により、ＵＳＢデバイスサーバ１００に対してＵＳＢデバイス情報の要求を送信する（ステップＳ２１）。または、ステップＳ２１の代わりに、ＵＳＢデバイス情報をＵＳＢデバイスサーバ１００自身が、ホストデバイス２００ａに送信してもよい。これは例えば、ネットワーク通信制御部２０４により、ネットワーク２０においてＴＣＰ（Transmission Control Protocol）セッションを確立して、ＵＳＢデバイスサーバ１００との間で予め定めているコマンドを送信することにより実現される。
【００７９】
これに対応して、ＵＳＢデバイスサーバ１００からデバイスの情報と圧縮方式とが送信されるので、ホストデバイス２００ａはこれらを、ネットワーク２０を介して受信する（ステップＳ２２）。上述のステップＳ１４によりＵＳＢデバイス３００ａ、３００ｂの情報が取得されるので、ホストデバイス２００ａは、取得した情報を表示装置に表示し、ユーザによる選択等の操作に応じて通信相手のＵＳＢデバイスを決定して、ＵＳＢデバイスとの通信を開始する。通信相手のＵＳＢデバイスが決定されると、デバイスの情報に基づいて対応するデバイスドライバを選択し、通信の準備をする。
【００８０】
ここでは、ホストデバイス２００ａがＵＳＢデバイス３００ａと通信することとして説明を続ける。ホストデバイス２００ａは、ＵＳＢデバイス３００ａに対するデータ（ＵＲＢ等）を、ステップＳ２２において取得した圧縮方式によって圧縮し、ＵＳＢデバイスサーバ１００に送信し、ＵＳＢデバイスサーバ１００から転送されるＵＳＢデバイス３００ａからのデータ（ＵＲＢへの応答データ等）を、その取得した圧縮方式に呼応する伸長方式によって伸長して利用する（ステップＳ２３）。なお、ホストデバイス２００ａにおける圧縮は、ＵＳＢデバイスドライバ部２０２の出力するＵＳＢデバイス向けのデータに対して、圧縮伸長制御部２０３により実行される。そして圧縮がなされたデータがネットワーク通信制御部２０４によりカプセル化されネットワーク２０に送信される。また、伸長は、ネットワーク通信制御部２０４の出力する、デカプセル化されたデータに対して、圧縮伸長制御部２０３により実行される。そして伸長がなされたデータがＵＳＢデバイスドライバ部２０２に伝えられる。
【００８１】
以下、通信システム１０におけるホストデバイスとＵＳＢデバイスとの間でのデータ送受に係る動作について説明する。
【００８２】
図９は、ホストデバイス２００ａとＵＳＢデバイスサーバ１００とＵＳＢデバイス３００ａとの間での通信シーケンスを示す図である。
【００８３】
ここでは、ＵＳＢデバイス３００ａが、スピーカーである例を用いて説明する。
【００８４】
ホストデバイス２００ａは、アプリケーションプログラム部２０１及びＵＳＢデバイスドライバ部２０２により、ＵＳＢデバイス３００ａを制御するためにＵＲＢを生成する（ステップＳ５１）。ここでは、ホストデバイス２００ａにおける音声ファイルに含まれる音声データをスピーカーで再生させるために、ＵＲＢにその音声データ等が一定量だけ格納されるものとする。なお、前提として、既にＵＳＢデバイスサーバ１００は、スピーカーであるＵＳＢデバイス３００ａからオーディオクラスを示す情報を含むデバイスディスクリプタを取得して、図４に例示する関係情報４００に基づいてハフマン圧縮方式を選定しているものとする。そして、ホストデバイス２００ａは、既にその圧縮方式の情報をＵＳＢデバイスサーバ１００から取得しているものとする（図８、ステップＳ２２）。
【００８５】
ホストデバイス２００ａの圧縮伸長制御部２０３は、生成されたＵＲＢに対して、ＵＳＢデバイス３００ａについてＵＳＢデバイスサーバ１００で選定された圧縮方式に対応した圧縮アルゴリズムによるデータ変換を施すことで圧縮する（ステップＳ５２）。即ち、ハフマン圧縮により、ＵＲＢが圧縮されることになる。
【００８６】
続いて、ホストデバイス２００ａのネットワーク通信制御部２０４は、圧縮されたＵＲＢをカプセル化してネットワーク２０に送信するよう制御する（ステップＳ５３）。
【００８７】
ＵＳＢデバイスサーバ１００では、第２接続部１２０を介してＵＲＢを受信し（ステップＳ５４）、制御部１６０のネットワーク通信部１６１でＵＲＢをデカプセル化し（ステップＳ５５）、圧縮伸長制御部１６２でＵＲＢを伸長する（ステップＳ５６）。この伸長は、ハフマン圧縮の逆変換である。そして、伸長したＵＲＢを、制御部１６０のＵＳＢ通信部１６３が第１接続部１１０を介してＵＳＢデバイス３００ａに送信する（ステップＳ５７）。
【００８８】
ＵＳＢデバイス３００ａは、ＵＲＢを受信し（ステップＳ５８）、ＵＲＢに応じた処理を行い（ステップＳ５９）、処理結果を表す応答データを送信する（ステップＳ６０）。具体的には、ＵＳＢデバイス３００ａは、音声データを受信してその音声データに基づき音声をスピーカーで再生し、処理結果として例えば正常に再生した旨の応答データをＵＳＢデバイスサーバ１００に送信する。
【００８９】
これに対応して、ＵＳＢデバイスサーバ１００では、ＵＳＢ通信部１６３が第１接続部１１０を介して応答データを受信して（ステップＳ６１）、圧縮伸長制御部１６２で応答データをハフマン圧縮する（ステップＳ６２）。そして、ネットワーク通信部１６１で圧縮済の応答データをカプセル化して、ＵＲＢの送信元であったホストデバイス２００ａに対してネットワーク２０を介して送信する（ステップＳ６３）。
【００９０】
ホストデバイス２００ａでは、応答データを受信すると（ステップＳ６４）、ネットワーク通信制御部２０４で応答データをデカプセル化し（ステップＳ６５）、圧縮伸長制御部２０３で応答データを伸長する（ステップＳ６６）。この伸長も、ハフマン圧縮の逆変換である。そして、ホストデバイス２００ａは、伸長した応答データに応じた処理を行う（ステップＳ６７）。応答データに応じた処理は、例えば、応答データが異常の旨を示す場合にはエラーメッセージを表示装置に表示する処理である。また、応答データが正常の旨を示す場合には、既にステップＳ５１においてＵＲＢに格納した音声データに後続する一定量の音声データについてスピーカーで再生させるために、ステップＳ５１〜Ｓ６７を繰り返すよう制御する処理である。
【００９１】
このようにＵＲＢへの格納データを順次切り替えてステップＳ５１〜Ｓ６７が繰り返し実行されることにより、ホストデバイス２００ａにおける音声ファイルの内容がＵＳＢデバイス３００ａ（スピーカー）において再生されるようになる。
【００９２】
（実施の形態２）
以下、上述した実施の形態におけるホストデバイス２００ａ、２００ｂが行うＵＳＢデバイス制御処理（図８参照）の一部を変更した実施の形態２（変形例）について説明する。
【００９３】
図１０は、ＵＳＢデバイス制御処理の変形例を示すフローチャートである。同図に示すＵＳＢデバイス制御処理を、ホストデバイス２００ａが行い、ＵＳＢデバイス３００ａを利用するものとして説明する。なお、実施の形態１と同じ点については説明を省略する。
【００９４】
ホストデバイス２００ａは、ユーザの操作に応じたアプリケーションプログラム部２０１の制御により、ＵＳＢデバイスサーバ１００に対してＵＳＢデバイス情報の要求を送信する（ステップＳ２１）。
【００９５】
これに対応して、ＵＳＢデバイスサーバ１００からデバイスの情報が送信されるので、ホストデバイス２００ａはこれを、ネットワーク２０を介して受信する（ステップＳ２２ａ）。実施の形態１と異なり、ＵＳＢデバイスサーバ１００は圧縮方式の情報は送信しない。
【００９６】
そして、ホストデバイス２００ａ自体が、実施の形態１におけるＵＳＢデバイスサーバ１００と同様の方法（図７、ステップＳ１２）で圧縮方式を選定する（ステップＳ２２ｂ）。
【００９７】
その後は、実施の形態１と同様に、ホストデバイス２００ａは、ＵＳＢデバイス３００ａに対するデータ（ＵＲＢ等）を、選定した圧縮方式によって圧縮しＵＳＢデバイスサーバ１００に送信する。そして、ＵＳＢデバイスサーバ１００から転送されるＵＳＢデバイス３００ａからのデータ（ＵＲＢへの応答データ等）を、選定した圧縮方式に呼応する伸長方式によって伸長して利用する（ステップＳ２３）。
【００９８】
なお、ホストデバイス２００ｂもホストデバイス２００ａと同様の処理を行い得る。また、このようなステップＳ２２ｂにおける圧縮方式の選定を行うためには、ホストデバイス２００ａ、２００ｂは、メモリに上述した関係情報４００を保持しておき、その関係情報４００に基づいて選定を行うことになる。
【００９９】
（その他の実施の形態等）
以上、ＵＳＢデバイスサーバを含む通信システムの各実施の態様について説明したが、上述した各実施の態様は一例にすぎず、各種の変更が可能であることは言うまでもない。
【０１００】
上述の実施の形態で示したネットワーク２０は、イーサネットによる有線ＬＡＮであることとしたが、必ずしもイーサネットによる有線ＬＡＮでなくてもよく、例えばＩＥＥＥ８０２．１１シリーズの規格に従った無線ＬＡＮ部分を含んでいてもよい。
【０１０１】
上述の実施の形態では、ＵＳＢデバイスの属性によって予め関係情報により圧縮方式が定まっており、変化することがないこととした。しかし、ＵＳＢデバイスサーバが、ホストデバイスの性能を示す情報やネットワークの通信状態を示す情報を取得して、これらに応じて圧縮方式を変更することとしてもよい。例えば、関係情報によりデフォルトの圧縮方式を定め、ホストデバイスの性能が所定閾値より低い場合に限ってそのデフォルトの圧縮方式を、予め定めた別の一層処理負担の低い圧縮方式に変更することとしてもよい。また、ネットワークの通信状態（通信帯域の使用率等）が所定状態である場合に限ってデフォルトの圧縮方式を変更するようにしてもよい。なお、ネットワークの通信状態に応じて動的に圧縮方式を変更してもよい。
【０１０２】
また、ＵＳＢデバイスサーバとホストデバイスとの間の通信は、ＴＣＰ／ＩＰに準拠した上で、両者間で取り決めた独自プロトコルに従って各種情報（ＵＳＢデバイスの論理的な接続状態を切り替えるための情報等）の授受を行うものであってもよい。
【０１０３】
また、上述の実施の形態では、ＵＳＢデバイスサーバとホストデバイスとが圧縮方式の情報を共有するために、ホストデバイスからのＵＳＢデバイス情報の要求に対応して圧縮方式の情報がＵＳＢデバイスサーバから送信されることとした。しかし、圧縮方式の情報は、圧縮されてネットワークを伝送されるデータのヘッダ（ネットワーク伝送用にカプセル化によって付加したヘッダ）に含めることとしてもよい。このヘッダは、ＵＳＢデバイスサーバとホストデバイスとの間で取り決めた独自プロトコルに従ったものとしてもよい。特に、動的に圧縮方式が変更される場合にはヘッダに圧縮方式の情報を含めることが有効となる。
【０１０４】
上述の実施の形態では、関係情報を図４でテーブル形式のものとして表現したが、必ずしもテーブル形式でなくても、ＵＳＢデバイスの属性と圧縮方式との対応を示す情報であればよく、その情報は例えばプログラムにおける処理構造として表現されていてもよい。
【０１０５】
上述の実施の形態では、ＵＳＢデバイスの属性は、デバイスクラスを示すクラス識別情報により定まることとした。しかし、ＵＳＢデバイスから取得される情報（デバイスディスクリプタ等）に含まれ、かつ、ＵＳＢデバイスがホストデバイスとの間で通信するデータ（データ全部又は一部）がどのような性質を有するものであるかを表す情報により定まることとしてもよい。例えば、ＵＳＢデバイスの属性は、製造者ＩＤ及び製品ＩＤにより定まることとしてもよい。例えば、製造者ＩＤ及び製品ＩＤで特定される特定製造者の特定製品（例えばスキャナ）の場合には、画像データを高効率で圧縮すべく圧縮方式をＬＺ７７圧縮とするように、関係情報を定めておいてもよい。また、例えば、特定製造者の特定製品のデータ受信用バッファのサイズに合わせた圧縮単位で圧縮するような圧縮方式を対応付けるように関係情報を定めておいてもよい。また、ＵＳＢデバイスサーバは、ＵＳＢデバイスから取得した転送方式や転送方向の情報を用いてデフォルトの圧縮方式を変更するようにしてもよい。例えば、アイソクロナス転送で、ＯＵＴ方向（出力方向）の転送である場合に音声データの転送であると推定して、圧縮方式をハフマン圧縮とする等である。
【０１０６】
また、ＵＳＢデバイスの属性に応じて選定した圧縮方式に対応する圧縮アルゴリズムによるデータ変換を、ネットワーク上を伝送するデータのうち、一部だけに施してもよい。また、一度に送信するデータが一定基準よりも少量である場合には圧縮を施さないようにしてもよい。これにより、例えば、コマンド、ステータス等は圧縮されないこととなる。また、ＵＳＢデバイスがハードディスク装置である場合において、ＵＳＢデバイスサーバ又はホストデバイスから送信するデータが、既に圧縮されていることを示す特定の拡張子を有するファイルの内容データである場合に圧縮しないこととしてもよい。この場合の特定の拡張子は、例えば、ＪＰＥＧ（Joint Photographic Experts Group）圧縮されたファイルに付されるＪＰＧ、ＺＩＰ圧縮されたファイルに付されるＺＩＰ等である。
【０１０７】
また、ＵＳＢデバイスサーバは、ＵＳＢデバイスが圧縮伸長機能を有する場合において、自ら圧縮する代わりにそのＵＳＢデバイスに圧縮したデータを送信させ、自ら伸長する代わりに圧縮したままのデータを送信してそのＵＳＢデバイスに伸長させてもよい。
【０１０８】
なお、上述した各機器類による各種処理（図７〜１０に示す処理等）の全部又は一部は、各機器類のハードウェアにより実行されても、ソフトウェアにより実行されてもよい。なお、ソフトウェアによる処理の実行は、各機器類に含まれるプロセッサがメモリに記憶された制御プログラムを実行することにより実現されるものである。また、その制御プログラムを記録媒体に記録して頒布や流通させてもよい。例えば、頒布された制御プログラムを機器類にインストールして、機器類のプロセッサに実行させることで、機器類に各種処理（図７〜１０に示す処理等）を行わせることが可能となる。
【０１０９】
その他、上述した各実施の形態に対して当業者が当然に思いつく各種変形を施して得られる形態、又は、各実施の形態で示した構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１１０】
本発明は、ネットワークに接続された機器（ホストデバイス）がＵＳＢデバイスを使用する場合に利用可能である。
【符号の説明】
【０１１１】
１０  通信システム
２０  ネットワーク
３０ａ、３０ｂ  ＵＳＢケーブル
１００  ＵＳＢデバイスサーバ
１０１  プロセッサ
１０２  記憶装置
１０３  ネットワーク通信Ｉ／Ｆ
１０４  ＵＳＢ通信Ｉ／Ｆ
１０５  バス
１１０  第１接続部
１２０  第２接続部
１３０  記憶部
１４０  特定部
１５０  選定部
１６０  制御部
１６１  ネットワーク通信部
１６２  圧縮伸長制御部
１６３  ＵＳＢ通信部
１７０  更新部
２００ａ、２００ｂ  ホストデバイス
２０１  アプリケーションプログラム部
２０２  ＵＳＢデバイスドライバ部
２０３  圧縮伸長制御部
２０４  ネットワーク通信制御部
３００ａ、３００ｂ  ＵＳＢデバイス
【図１】
2015135630.tif 000003
【図２】
2015135630.tif 000004
【図３】
2015135630.tif 000005
【図４】
2015135630.tif 000006
【図５】
2015135630.tif 000007
【図６】
2015135630.tif 000008
【図７】
2015135630.tif 000009
【図８】
2015135630.tif 000010
【図９】
2015135630.tif 000011
【図１０】
2015135630.tif 000012