説明

データ通信システム、ユニットおよびデータ通信方法

【課題】情報処理装置と周辺機器との間のUSB規格に準拠したデータ通信を実行するデータ通信システム、ユニットおよびデータ通信方法を提供すること。
【解決手段】データ通信システム10は、メインユニット20と、少なくとも1つのサブユニット50とから構成され、外部装置とUSBプロトコルによるデータ通信を実行する。メインユニットは、USB装置としての機能を提供するためのファンクション提供手段40と、サブユニット50との間のデータ伝送を制御するデータフロー制御手段46とを備える。サブユニット50は、USBデバイス提供手段80と、前記外部装置との信号伝送を実行するバス・インタフェース提供手段82と、前記メインユニットとのデータ交換手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユニバーサル・シリアル・バス(USB)技術に関し、より詳細には、情報処理装置と周辺機器との間のUSB規格に準拠したデータ通信を実行するデータ通信システム、ユニットおよびデータ通信方法に関する。
【背景技術】
【0002】
現在、多くのパーソナル・コンピュータ(PC)などの情報処理装置には、周辺機器を接続するためのインタフェースとして、ユニバーサル・シリアル・バス(USB)インタフェースが標準的に備えられている。また近年、USBの物理層に無線通信技術を適用したワイヤレスUSB(WUSB)規格も提案されている。
【0003】
USBプロトコルにおいては、USBホストとUSBデバイスとの間の通信は、3層モデルを用いて説明される。すなわち、USBシステムは、(1)ホスト−デバイス間の有線や無線による物理的な伝送信号を制御するUSBバス・インタフェース層と、(2)USBホストとUSBデバイスとの通信における、論理的なデータ伝送の端点を提供し管理するUSBデバイス層と、(3)USBホスト上で実行されるクライアント・ソフトウェアと、USBデバイスのファンクションとの論理的な通信を提供するファンクション層とから構成される。
【0004】
PCなどのUSBホストと、周辺機器などのUSBデバイスとは、USBホスト側の通信バッファと、USBデバイス側のエンドポイント(同じく通信用バッファで、第2層に位置する)との論理的な通信路(パイプ)により接続され、第3層においては、USBホスト側のクライアント・ソフトウェアとUSBデバイス側のファンクションとは、少なくとも1つのパイプから構成されるパイプ・バンドル(インタフェースを構成)を介して論理的な通信を行い、周辺機器の各種デバイス機能がUSBホストに提供される。
【0005】
またUSBホストは、ハブを介して複数のUSBデバイスと一対多で接続され、バス上のデータ転送は、USBホスト上の第2層に対応するUSBシステム・ソフトウェアによって制御されている。USBホストによる集中制御形式を採用しているため、USBデバイスは、単一のUSBホストによって制御され、複数のUSBホストによって同時的に共用されることはできなかった。
【0006】
USBデバイスを複数のUSBホスト間で共用させることができると利便性が向上することから、例えば、特開2004−295407号公報(特許文献1)は、上流側コネクタに接続される複数のホストPCの状態を優先度に基づいて監視する接続状態監視CPUと、接続状態監視CPUにより下流側コネクタに接続するホストを切り換えるセレクタとを備えたUSBハブ装置が開示している。
【0007】
しかしながら、上述した従来技術では、上流側ポートの接続状態を監視し、ホスト機器の電源がオフ(あるいは未接続)、またはサスペンド状態となっているかを判断して、上流側ポートと下流側ポートの電気的な接続を切換えるものであり、USBデバイスが同時的に複数のUSBホストにより論理的に認識されるというものではなく、利便性の点から充分なものではなかった。
【特許文献1】特開2004−295407号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明は上記従来技術に鑑みてなされたものであり、複数のUSBホストに接続および認識され、複数のUSBホストから要求に応答して処理を実行し、USB装置間の自由度の高いデータフローを提供するデータ通信システム、ユニットおよびデータ通信方法を提供することを目的とする。
【0009】
また、本発明の他の目的は、簡易な操作でUSBの中継器として機能させることができ、USB装置間の自由度の高いデータフロー制御を可能とするデータ通信システム、ユニットおよびデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、上記課題を解決するために、USBホストやUSBデバイスとしてのファンクションを提供するファンクション提供手段を含むメインユニットと、外部装置との論理的な通信路を提供するUSBデバイス提供手段および無線または有線による外部装置との実質的な通信を実行するUSBバス・インタフェース提供手段とを含むサブユニットとからなる、データ通信システムという構成を採用する。メインユニットは、少なくとも1つのサブユニットと電気的・論理的に接続され、各サブユニットと接続される外部装置とは、各サブユニットのUSBデバイス提供手段によって提供される論理的な通信路を介して接続される。メインユニットは、サブユニットを識別し、メインユニット−サブユニット間またはメインユニットを介したサブユニット間のデータ伝送は、データフロー制御手段によって制御される。
【0011】
上記構成により、例えば、デバイス機能を備えるメインユニットは、サブユニットを介して複数のUSBホストとしての外部装置と接続されて、同時的に各外部装置によって論理的に認識されることが可能となる。メインユニットは、サブユニットを識別することにより要求の送信元を特定し、メインユニットは、各サブユニットからの要求に応答して処理を実行し、複数の外部装置によるデバイス機能の共用を可能とする。また、メインユニットと、複数のサブユニットとの間のデータフローを制御する構成によって、サブユニットに接続される外部装置間の多様な接続様式を提供する中継器としても機能させることが可能となる。
【0012】
すなわち本発明によれば、メインユニットと、少なくとも1つのサブユニットとから構成され、外部装置とUSBプロトコルによるデータ通信を実行するデータ通信システムであって、
前記メインユニットは、
USB装置としての機能を提供するためのファンクション提供手段と、前記サブユニットを識別して前記サブユニットとの間のデータ伝送を制御するデータフロー制御手段とを備え、
前記サブユニットは、
前記外部装置との信号伝送を実行するバス・インタフェース提供手段と、前記データフロー制御手段による調停を受けるUSBデバイス提供手段と、前記メインユニットとのデータ交換手段とを備える、
データ通信システムが提供される。
【0013】
前記USBデバイス提供手段は、USBホストとしての前記外部装置との論理的通信路を確立するためのエンドポイントを提供し、前記データ交換手段は、前記エンドポイントと前記メインユニットとの間のデータ交換を実行することができる。また、前記データフロー制御手段は、データの送信元または送信先の前記サブユニットを識別し、前記外部装置からの処理要求または外部指令に応じて前記サブユニットとの間の前記データ伝送を制御することができる。
【0014】
また本発明によれば、少なくとも1つのサブユニットを装着するためのスロットを備え、外部装置とUSBプロトコルによるデータ通信を実行可能とするメインユニットであって、
前記メインユニットは、
USB装置としての機能を提供するためのファンクション提供手段と、前記外部装置からの処理要求または外部指令に応じて、前記サブユニットとの間のデータ伝送を制御するデータフロー制御手段とを備える
メインユニットが提供される。
【0015】
前記メインユニットは、複数の前記スロットを離間して配設することができる。
【0016】
さらに本発明によれば、
USB装置としての機能を提供するためのメインユニットに装着され、外部装置とUSBプロトコルによるデータ通信を実行可能とするサブユニットであって、
前記サブユニットは、
前記外部装置との信号伝送を実行するバス・インタフェース提供手段と、USBデバイス提供手段と、前記メインユニットとのデータ交換手段とを備える、サブユニットが提供される。
【0017】
前記USBデバイス提供手段は、USBホストとしての前記外部装置との論理的通信路を確立するためのエンドポイントを提供し、前記データ交換手段は、前記エンドポイントと前記メインユニットとの間のデータ交換を実行することができる。また、前記サブユニットは、外部指令に応じて、前記メインユニットとの間のデータ伝送を制御するデータフロー制御手段を備えることができる。さらに、前記サブユニットは、指向性アンテナを備えることができる。前記サブユニットは、データフローを切換えるための外部指令を受付ける指示手段を含むことができる。
【0018】
本発明によれば、さらに、
メインユニットと少なくとも1つのサブユニットとから構成されるデータ通信システムと、外部装置とのUSBプロトコルによるデータ通信方法であって、
前記データ通信方法は、
前記サブユニットと前記外部装置との論理的通信路を確立するステップと、
前記論理的通信路を介して、USBプロトコルにしたがいデータを転送するステップと、
前記サブユニットを識別可能に、前記サブユニットと前記メインユニットとの前記データの交換を実行するステップと
を含む、データ通信方法が提供される。
【0019】
前記データ通信方法は、前記データに応答した要求処理を実行するステップと、
前記要求処理または外部指令に応答して、前記データの交換を制御するステップとを含むことができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明を図面に示した実施形態をもって説明するが、本発明は、図面に示した実施形態に限定されるものではない。
【0021】
図1は、メインユニットとサブユニットを含み構成されるデータ通信システム10のハードウェア構成の実施形態を示すブロック図である。なお図1は、データ通信システム10が、画像形成装置としての機能する場合の一実施形態を示している。データ通信システム10は、メインユニット20と、サブユニットA50aと、サブユニットB50bとを含み構成される。メインユニット20は、CPU22と、ROM24と、メモリ26とを備えており、それぞれ内部バス38で相互接続されて、ユーザ指令されたジョブを実行している。CPU22は、処理プログラムをROM24やNVRAM、EEPROM、EPROM、ハードディスクなどの記憶装置32からメモリ26に読み出し、展開し、指令されたジョブのための処理を実行する。
【0022】
メインユニット20は、操作部28および表示部30を備え、操作部28および表示部30は、それぞれCPU22へと内部バス38を介して接続され、ユーザ・インタフェースを提供する。メインユニット20は、さらに内部バス38に接続されるインタフェース(I/F)36を含み構成され、シリアル・バスおよびパラレル・バスとして構成される接続バス12を介して接続されるサブユニット50との入出力を管理している。プリンタ34は、サブユニット50と通信するUSBホスト(以下、有線・無線のプロトコルにかかわらず、USBプロトコル上のホストとなる外部装置をUSBホストとして参照する。)からの要求を、インタフェース36を介し受信して、CPU22による制御のもとで、印刷処理などの画像形成装置としてのデバイス処理を実行し、通信するUSBホストにデバイス機能を提供している。すなわちメインユニット20は、WUSBプロトコルにおけるファンクション層に対応する、デバイス機能を実行するためのソフトウェアおよびハードウェア処理を提供する。
【0023】
サブユニットA50aは、コントローラ52と、メモリ54と、無線通信部56とを備えており、それぞれ内部バスで接続されて、USBホストAと、UWB(Ultra Wide Band)通信プロトコルをベースとしたワイヤレスUSBプロトコルに準拠した通信リンクを確立している。無線通信部56は、アンテナ64と接続し、UWB高周波回路を含む物理層(UWB
RF PHY)62と、UWBBaseBand回路を含む物理層(UWB BB PHY)60とを含み構成される。UWB−BB物理層60は、おもに信号の変調・復調処理を行い、UWB−RF物理層62は、高周波信号の波形整形などを行い、これらは、マルチバンドOFDM(Multi-band
Orthogonal Frequency Division Multiplexing)方式またはDS−UWB(Direct Sequence UWB)などのIEEE802.15TG3aなどに準拠した通信プロトコルに従った物理層を構成する。
【0024】
サブユニットA50aは、NVRAM58を含み構成され、NVRAM58は、USBホストとのワイヤレスUSB通信を行うための接続コンテキストを格納し、接続先USBホストを識別し、通信データの暗号化・復号化処理の際に用いられる。サブユニットA50aのメモリ54は、接続先のUSBホストAやメインユニット20からの伝送データをバッファリングし、USBプロトコルにおけるエンドポイントを提供する。またメモリ54には、USBホストAから割当てられるデバイス・アドレスや、メインユニット20から割当てられるユニット識別値などの各種設定情報が格納される。
【0025】
コントローラ52は、MAC(媒体アクセス制御)層66を含み、接続先USBホストAとのWUSBプロトコルのデータリンク層に相当する制御を行う。すなわち、サブユニット50は、WUSBプロトコルにおけるWUSBバス・インタフェース層およびWUSB論理デバイス層に対応するソフトウェア処理およびハードウェア処理を提供する。さらに、コントローラ52は、接続バス12を介してメインユニット20と接続されるインタフェース68と接続し、メインユニット20とのデータ伝送を制御する。
【0026】
また、メインユニット20に接続される他方のサブユニットB50bも、サブユニットA50aと同様の構成とされ、メインユニット20ともインタフェースを介して接続され、USBホストBと、ワイヤレスUSB通信を行っている。サブユニットA50aおよびサブユニット50bは、それぞれ接続先のUSBホストから、独立にデバイス・アドレスが割当てられ、メインユニット20からは、唯一のユニット識別値が割当てられて識別される。なお、メインユニット20に接続されるサブユニット50の数は、特に限定されるものではない。また、上述ではWUSB通信による実施形態を示したが、他の実施形態では、有線のUSB1.xやUSB2.0の規格に準拠した物理層およびMAC層を備える構成とし、サブユニット50とUSBホストとを有線接続としてもよい。
【0027】
図2は、メインユニットとサブユニットとを含み構成されるデータ通信システム10の機能構成の実施形態を示すブロック図である。データ通信システム10は、メインユニット20と、サブユニット50aと、サブユニット50bとを含み構成される。メインユニット20は、少なくともひとつのファンクション提供手段40を含み、通信相手となるUSBホストにデバイス機能を提供している。
【0028】
ファンクション提供手段40は、処理部41と、データフロー制御部46とを含み構成される。データフロー制御部46は、サブユニット50を介して要求される複数のUSBホストからの処理要求の衝突の調停などを行い、サブユニット−メインユニット間のデータフローを制御する。処理部41は、各USBホストからの処理要求に応答して、たとえば画像形成装置としての印刷処理などの各種処理を実行する。なお、接続されているサブユニット50を識別するためのユニット識別値は、ユニット識別値記憶部48に格納され管理される。
【0029】
ファンクション提供手段40は、実行待ちの処理を管理するためのジョブキュー記憶部44を含み、データフロー制御部46は、サブユニット50を介したUSBホストからの処理要求を受信し、ジョブ(処理要求)と要求元サブユニット50に割当てられたユニット識別値とを組にして、例えば、処理要求の先着順にジョブキューにエントリする。データフロー制御部46は、エントリ順に、処理に必要なデータをサブユニット50から取得し、処理部41は、データフロー制御部46からデータを受取り、ジョブキューのエントリ順に処理を実行する。例えば印刷処理など、一連の印刷データを受信することが好ましい処理にあっては、データフロー制御部46は、一連の印刷データの受信が完了するまでの間、ジョブ進行中のサブユニット50からの印刷データの読込およびバッファリングを優先して実行する制御とすることができる。また、他の実施形態では、一方のUSBホストからの印刷ジョブを実行中は、他のUSBホストに作業中である旨を通知するデータフロー制御としても良い。
【0030】
メインユニット20のデバイス機能として、例えば、ランダムアクセスが可能なストレージ機能を提供する他の実施形態では、両方のサブユニット50からのデータ(ファイルの断片としての)書込要求やデータ読出要求ごとに順次ジョブキューにエントリし、逐次、サブユニット50からデータを読込んで、フラッシュメモリやHDDなどの記憶装置に書込み、または記憶装置から読出してサブユニット50に受け渡す制御としてもよい。
【0031】
また他の実施形態では、メインユニット20のデバイス機能として、スピーカやディスプレイなどの出力インタフェース機能を提供する場合では、要求の先着順や、USBホストや操作部28により指定されたUSBホストによって、排他的に利用される制御としてもよい。さらに他の実施形態では、メインユニット20のデバイス機能として、キーボードなどの入力インタフェース機能を提供する場合では、各サブユニット50と通信するUSBホストからのポーリングに応じて、状態を通知(インタラプト転送モード)する制御としてもよい。複数のUSBホストからの処理要求の調停処理およびデータフロー制御の方法は、特に限定されるものではなく、提供するデバイス機能に応じた方法を採用することができる。
【0032】
図2に示した実施形態では、また、メインユニット20のファンクション提供手段40は、デバイス情報格納部42を含み構成され、各サブユニット50と通信するUSBホストとのエニュメレーション(接続開始時の初期設定)の際に、自身のデバイス情報を各USBホストへ通知してUSB通信を確立するための情報を格納する。このような情報としては、デバイス・ディスクリプタ、コンフィギュレーション・ディスクリプタ、インタフェース・ディスクリプタ、エンドポイントディスクリプタなどがあり、USBプロトコルで使用されるデバイス情報である。
【0033】
一方、メインユニット20と接続されるサブユニット50は、設定記憶部70と、データ交換部72と、エンドポイント部74を含み構成される。設定記憶部70は、接続先のUSBホストから割当てられるデバイス・アドレスや、メインユニット20から割当てられるユニット識別値を格納する。エンドポイント部74は、コントロール制御用通信に用いられるエンドポイント・ゼロ76と、他のメッセージやデータを送受信するためのエンドポイントn(nは自然数を表し、送信用および受信用を含む複数のエンドポイントから構成される。)78とを含み構成される。なお、エンドポイント・ゼロ76およびエンドポイントn78は、各サブユニット50が備える、RAM(Random Access Memory)やFIFO(First In First Out)などのメモリ54の記憶領域により与えられ、メインユニット20と通信相手のUSBホストとの間を伝送するデータを一時的にバッファリングする。また、各エンドポイントには識別番号が割当てられている。
【0034】
エンドポイント・ゼロ76およびエンドポイントn78は、USBホストからのデータ伝送の端点として機能し、USBホストは、デバイス・アドレスとエンドポイント番号を指定してメッセージやデータの転送を行う。一方、メインユニット20のファンクション提供手段40も、エンドポイント番号を識別してメッセージやデータの送受信を行う。よって、USBホスト上のクライアント・ソフトウェアは、各エンドポイントを介して、デバイスのファンクション提供手段40との論理的な通信を実行する。なお、USBホスト上のバッファとエンドポイントとの論理的な結びつきによる論理的通信路は、一般に、パイプと呼称される。
【0035】
データ交換部72は、USBホストからのメッセージやデータを受取った際にエンドポイント部74の各受信用エンドポイントにバッファリングされるメッセージやデータを読込み、設定記憶部70に格納されるユニット識別値および制御データを添付して、メインユニット20へ送信する処理の制御を実行する。データ転送が正常に完了した際には、該エンドポイントを再び受信可能状態に遷移させる。またデータ交換部72は、メインユニット20からのデータやメッセージを受取り、エンドポイント部74の指定された送信用エンドポイントに書込み処理を行う。なお、送信用エンドポイントに書き込まれたデータやメッセージは、コントローラ52の制御により読出され、USBホストへ転送される。
【0036】
図3は、メインユニットに格納されるユニット識別値情報、およびサブユニットに格納される設定情報のデータ構造の実施形態を示す図である。図3(a)は、メインユニット20に格納されるユニット識別値情報の実施形態を示す。図3(a)に示した実施形態では、ユニット識別値情報100は、項目フィールド100aと、ユニット識別値をエントリするフィールド100bと、各サブユニットに接続されているUSB装置がUSBホストかUSBデバイスかをエントリする接続タイプ・フィールド100cとを含んで構成される。
【0037】
メインユニット20が備えるサブユニット装着のための装着スロット数のレコードが用意され、ユニット識別値には装着順にエントリされてゆき、各装着スロットにサブユニット50が装着されているか否か、装着されている場合にはその識別値を管理している。このユニット識別値を、例えば、処理要求の調停の際に、優先順位としても使用することもできる。なお、サブユニットのタイプがホスト接続タイプかデバイス接続タイプかを登録するフィールド100cの有無は任意であり、USBホストが接続されるサブユニットが装着されることが前提のシステム構成であれば必ずしも要しない。
【0038】
図3(b)は、サブユニットA50aに格納される設定情報の実施形態を示す。図に示した実施形態では、設定情報110は、ユニット識別値をエントリするフィールド110aと、サブユニットA50aと通信しているUSBホストによって割当てられるデバイス・アドレスが登録されるフィールド110bとを含み構成される。また、フィールド110bは、USBホストとの通信が確立しているか否かの判断に用いることができ、デバイス・アドレスのエントリがあれば、USBホストとの通信が確立していると判断することができる。
【0039】
図3(c)は、サブユニットB50bに格納される設定情報の実施形態を示し、同じく、ユニット識別値をエントリするフィールド120aと、デバイス・アドレスが登録されるフィールド120bとを含む。サブユニットA50aと、サブユニットB50bとは、各通信相手のUSBホストから独立してデバイス・アドレスが割当てられ、各サブユニットと通信する各USBホストは、デバイス・アドレスにより通信相手を特定している。一方、サブユニットA50aと、サブユニットB50bとは、メインユニット20から、同メインユニット20内において唯一のユニット識別値が付与され、特定される。
【0040】
図4は、メインユニットにおけるサブユニットの認識処理の実施形態を示すフローチャートである。まず、ステップS100で、メインユニット20の電源オンやバスライン(有線USBの場合など)による電源供給を受けて起動し、処理を開始する。ステップS101で、メインユニット20は、サブユニットへの電源ラインにかかる負荷などを監視し、サブユニット50の新規装着の検出を試み、ステップS102で、新規装着が検出されたか否かの判断を行う。ステップS102の判断で、新規装着が検出されなかった場合には、再びステップS101へループさせ、新規装着を待受ける。
【0041】
一方、ステップS102の判断で、新規サブユニット50の装着を検出した場合は、ステップS103へ処理を分岐し、メインユニット20は、接続されたサブユニット50にユニット識別値を割当てて、ユニット識別値情報100へエントリし、サブユニット50との初期設定を行い、各エンドポイントとの論理的な通信を可能とする。初期設定が完了した以降、ステップS104で、メインユニット20とサブユニット50との間で通信が可能となる。
【0042】
以下、メインユニットおよびサブユニットにUSBホストが接続される際の、デバイス初期設定の制御フローについて説明する。図5は、メインユニットおよびサブユニットと、USBホストとのデバイス初期設定(エニュメレーション)の実施形態を示すフローチャートである。図5に示した実施形態では、既にメインユニット20とサブユニット50とが電気的・論理的に接続されている状態を想定している。
【0043】
図5に示した制御は、ステップS200で、例えば、メインユニット20の操作部28からのオペレータから指示に応じて発行される接続指令を受けて処理が開始される。ステップS201では、サブユニット50は、USBホストに向けて接続要求を送信し、応答を受けて、ステップS202で、セキュリティ・エニュメレーションを開始して相互認証を行う。ステップS203では、USBホストからのGET_DISCRIPTORのコマンドに応答して、デバイス情報格納部に保存されている各種ディスクリプタをUSBホストに通知する。
【0044】
ステップS204では、USBホストからのデバイス・アドレスの設定要求を受けて、サブユニット50は、自身の設定記憶部70へデバイス・アドレスを格納する。ステップS205ではさらに、USBホストからのSET_DESCRIPTORやSET_CONFIGURATIONといったコマンドを受けて、サブユニットやメインユニットは必要な設定処理を行い、USBデバイスとして稼働状態になる。そして、ステップS206で、USBホストとのデータ通信を開始する。なお、上述したエニュメレーション中における、ホスト−データ通信システム間の通信は、各サブユニット50のエンドポイント・ゼロ76から構成されるコントロール制御用の論理的な通信路であるデフォルト・パイプを用いて行うことが可能である。
【0045】
図6は、メインユニットとサブユニットとの通信によって伝送される通信パケットのデータ構造の実施形態を示す。ユニット間パケット130は、ユニット識別値をエントリするフィールド130aと、エンドポイント番号をエントリするフィールド130bと、USBホストのクライアント・ソフトウェアとメインユニット20のファンクションとの間で交換されるデータをエントリするフィールド130cとを含み構成される。メインユニット20と、各サブユニット50との間では、ユニット間パケット130が交換され、ユニット識別値によってサブユニットが識別され、エンドポイント番号によってファンクション提供手段40のインタフェースが識別される。なお、メインユニット20とサブユニット50との通信は、メインユニット20が、送信元また送信先となるサブユニットを特定することができる限りにおいて、いかなる構成や方法によって実現することができる。
【0046】
以下、メインユニットおよびサブユニットによって構成されるUSBシステムにおけるデータフローについて説明する。図7は、メインユニットおよびサブユニットと、2つのUSBホストとを含むUSBシステムの概略構成、およびUSBシステムにおけるデータフローの実施形態を示す概略図である。図7に示した実施形態では、USBシステムは、データ通信システム10と、USBホストA90aと、USBホストB90bとを含んで形成されている。データ通信システム10は、メインユニット20と、メインユニットに接続されるサブユニット50aおよびサブユニット50bとを含み構成され、サブユニットA50aはUSBホストA90aと通信を行い、サブユニットB50bはUSBホストB90bと通信を行っている。
【0047】
図に示した実施形態ではメインユニット20は、USBプロトコルにおけるファンクション層に対応するデバイス機能を提供するためのファンクション提供手段40を含み構成される。各サブユニット50は、USBデバイス層に対応するWUSB論理デバイス(USBデバイス提供手段)80aと、USBバス・インタフェース層に対応するWUSBバス・インタフェース(バス・インタフェース提供手段)82aとを含み構成されている。各サブユニット50のWUSBバス・インタフェース82は、USBホスト90とのワイヤレス通信による実質的な通信を実行している。WUSB論理デバイス80は、コントロール制御用通信に用いられるエンドポイント・ゼロ76と、他のメッセージやデータを送受信するためのエンドポイントn78とを含み構成される。
【0048】
WUSBバス・インタフェース82は、接続先のUSBホスト90から送信されたトークンやハンドシェークなどを含むトランザクション・グループのパケットをデコードし、必要に応じてACKやNAKといったハンドシェークをUSBホスト90へ応答する制御を実行する。またWUSBバス・インタフェース82は、接続先のUSBホスト90からのトランザクション・グループに含まれるデータを、エンドポイント・ゼロ76や受信用のエンドポイントn78へ書込み、エンドポイント・ゼロ76や送信用エンドポイントn78に格納されるデータを読出し、USBホスト90により管理されたスケジュールに従ったデータ転送を行っている。
【0049】
メインユニット20は、各サブユニット50と接続バス12を介して電気的に接続され、ファンクション提供手段40は、接続バス12を介して、各サブユニット50の各エンドポイントとのデータ交換を行い、エンドポイント・ゼロ76の読書き、送信用エンドポイントn78への書込み、および受信用エンドポイントn78からの読出し処理を実行する。
【0050】
なお、いくつかの同一の目的で用いられるエンドポイントn78が集合してインタフェースを構成し、例えば、メインユニット20がプリンタ機能を提供する場合には、プリンタ機能を提供するファンクション提供手段40には、印字コントロール用のインタフェースと、印刷データ受信用のインタフェースとを含み構成され、USBホスト90は、要求処理に応じたインタフェースとのデータ転送を行う。
【0051】
一方、各USBホスト90は、ファンクション層に対応するクライアント・ソフトウェア92と、USBデバイス層に対応するWUSBシステム・ソフトウェア94と、USBバス・インタフェース層に対応するUSBホストコントローラ96とを含み構成される。USBホストコントローラ96は、サブユニット50とのトランザクション・グループを制御し、サブユニット50のWUSBバス・インタフェース82と、データおよびメッセージの交換を実行する。
【0052】
USBシステム・ソフトウェア94は、USBホスト上のバッファ(メモリ26により構成される。)とサブユニット50の各エンドポイントとの論理的通信路(パイプ)の管理を行い、サブユニット50のエンドポイント・ゼロ76aとのコントロール制御用の論理的な接続であるデフォルト・パイプ84を用いて、メインユニット20およびサブユニット50が提供するデバイス機能を管理している。
【0053】
クライアント・ソフトウェア92は、サブユニット50のエンドポイントのセットと関連付けられるパイプ・バンドル86を用いて、メインユニット20のインタフェースを管理する。クライアント・ソフトウェア92は、デバイス機能を利用するために、I/Oリクエスト・パケット(IRPs)によって、USBホスト90上のバッファと、接続先サブユニット50の各エンドポイントとの間のデータ転送要求を行い、メインユニット20のファンクション提供手段40との通信を実行し、デバイス機能を利用している。
【0054】
すなわち、各USBホスト90のクライアント・ソフトウェア92は、接続するサブユニット50のエンドポイントn78とのデータ転送と、メインユニット20とサブユニット50の電気的・論理的な接続によるエンドポイントn78とファンクション提供手段40の通信とにより、メインユニット20のファンクション提供手段40へアクセスし、デバイス機能を利用することが可能となっている。その際は、ファンクション提供手段40は、ユニット識別値によって要求元を特定し、データフロー制御部46によるジョブ管理のもと、要求処理を実行し、デバイス機能を各USBホスト90へ提供することを可能としている。以下、データフロー制御部46におけるジョブ管理の実施形態について、ジョブ管理データのデータ構造を参照しながら説明する。
【0055】
図8は、データ通信システムにおける要求処理の調停処理およびデータフロー制御に使用されるジョブ管理データのデータ構造の実施形態を示す図である。なお図8は、データ通信システム10が、画像形成装置として機能し、プリンタ処理を実行する場合の実施形態を例示している。図8に示した実施形態では、ジョブ管理データ140は、ジョブ番号をエントリするフィールド140aと、ユニット識別値をエントリするフィールド140bと、待ちジョブをエントリするフィールドとを含み構成される。
【0056】
ファンクション提供手段40のデータフロー制御部46は、例えば、印刷要求などの処理要求を受取り、ジョブキュー記憶部44で管理されているジョブ管理データ140へ、ジョブ番号順にエントリしてゆく。データフロー制御部46は、ジョブ管理データ140をルックアップし、ジョブ管理データ140のエントリ順に、要求処理に必要なデータを優先的に取得し、処理部41の作業状態を監視しながら、処理部41へ処理要求およびデータを受け渡す。処理部41は、受取ったジョブを実行して行き、必要に応じてデータフロー制御部46に処理応答を返す。データフロー制御部46は、ジョブの完了と共にエントリを削除および他エントリのジョブ番号の繰り下げ処理を実行する。
【0057】
図8に示した例では、ユニット識別値[1]のサブユニット50と通信しているUSBホストA90aから、印刷要求を受取り、ジョブ管理データ140のジョブ番号[1]に「印刷ジョブ1」がエントリされている。データフロー制御部46は、ジョブ管理データ140に従って、ユニット識別値[1]のサブユニット50からの印刷データを読込むために、エンドポイントからデータを取得して、処理部41に印刷処理の開始を指令する。ジョブ番号[1]の処理を開始した以降に受取った、ユニット識別値[1]のサブユニット50からの印刷ジョブ2およびユニット識別値[2]のサブユニット50からの印刷ジョブ1は、ジョブ管理データ140の下位にエントリされ、ジョブ番号[1]の印刷ジョブ1の実行の際に用いられる印刷データを全て取得してから、順次開始され処理されて行く。
【0058】
上位のジョブに関連するデータ取得が優先的に行われている間は、他のサブユニット50のデータ転送用エンドポイントからの読出処理を待機する。また、一方のサブユニット50からのデータ取得は、データ取得中のサブユニット50に対して、接続バスを優先的に使用させる制御とすることができる。待機中のサブユニット50は、データ転送要求を送付しているUSBホストに対して、NAKやNYETといった否定的なハンドシェークを応答し、USBホストからのデータ伝送を待機させる制御としている。
【0059】
論理デバイス層の機能手段を備える複数のサブユニット50と接続されるメインユニット20と、サブユニットを識別し、要求処理実行およびユニット間のデータフローを制御する手段を含む構成により、USBデバイスとしてのデータ通信システム10は、複数のUSBホストに同時にUSB論理デバイスとして認識され、要求元のUSBホストを識別して要求処理を実行することが可能となり、USBデバイスとしての利便性およびUSB装置間のデータフローの自由度を向上させることができる。この際は、USBホスト側のソフトウェアおよびハードウェア処理の改変を要求しない。また、データフロー制御手段を有する構成により、複数のUSBホストからの処理要求が衝突した場合であっても、円滑に各USBホストからの要求処理を実行することを可能とし、USBデバイスとしての利便性を向上させることができる。
【0060】
また、メインユニット20とサブユニット50とに分離した構成とすることにより、使用環境に応じて、有線接続用のサブユニットとワイヤレス通信用のサブユニットとを使い分けて装着することが可能となり、余分な部品構成(例えば有線・有線の両方の接続に対応させるための構成)を低減させることを可能とする。
【0061】
以上、メインユニット20およびサブユニット50からなるデータ通信システム10は、USBデバイスとしてのみとして機能する場合の実施形態について説明してきた。しかしながら、他の実施形態では、データ通信システム10は、USBOTG(USB On The Go)規格に準拠するデュアル・ロール・デバイス(つまりUSBホストおよびUSBデバイスの両方として同時に機能)として構成とすることもでき、さらに自由度の高いUSB装置間のデータフローを提供することができる。その際には、サブユニット50に、USBホストおよびUSBデバイスとして機能させるための制御を実行するOTGコントローラ、またはUSBホストとして機能させるためのホストコントローラを含む構成とすることができる。以下、メインユニットとサブユニットとの間の、より柔軟なデータフロー制御について説明する。
【0062】
図9には、メインユニット20と、USBホストと通信するサブユニットA50aと、USBデバイス(以下、有線・無線のプロトコルにかかわらず、USBプロトコル上のデバイスとなる外部装置をUSBデバイスとして参照する。)と通信するサブユニットB50bとを含むデータ通信システム10の実施形態の概略構成が示されている。図に示した実施形態では、データ通信システム10は、メインユニット20と、USBホストと通信するサブユニットA50aと、USBデバイスと通信するサブユニットB50bとを含み構成される。メインユニット20は、ファンクション層の機能手段を実現するファンクション・モジュール43を含み構成される。各サブユニット50は、USBバス・インタフェース層の機能手段を実現するUSBバス・インタフェース・モジュール83と、USBデバイス層の機能手段を実現するUSBデバイス・モジュール81とを含み構成される。
【0063】
図に示した実施形態ではメインユニット20は、バス経路選択部160を備え、サブユニット50と、メインユニット20のファンクション・モジュール43とが通信する通常モードと、サブユニット50のUSBバス・インタフェース・モジュール83同士が接続され、中継器として機能するブリッジ動作モードとの切換えを行うことを可能としている。メインユニット20の操作パネルなどで構成される操作部28は、通常モードとブリッジ動作モードの切換え指示を受付け、オペレータからの指示を受けて、経路管理部29へ経路切換要求を発行する。要求を受けた経路管理部29は、バス経路選択部160へ経路切換指令を発行し、通常動作モードとブリッジ動作モードとを切換える。すなわち、経路管理部29は、メインユニット20とサブユニット50との間、またメインユニット20を介したサブユニット間の、論理的なデータフローを制御する手段として機能する。
【0064】
ブリッジ動作モードでは、USBホスト同士またはUSBデバイス同士が接続されると好ましくないため、接続するサブユニットA50aとサブユニットB50bとが、両方ともUSBホスト、または両方ともUSBデバイスであるか否かの判断を行い、USBホストとUSBデバイスとの組合せであると判断された場合に、ブリッジ動作モードに切換える処理を行う制御としてもよい。このような判断は、例えば、ユニット識別値情報100を用いて、フィールド100cのエントリについて、USBホストを「真」とし、USBデバイスを「偽」として排他論理和を算出することにより判断することができるが、いかなる方法によっても判断することができる。
【0065】
図9に示した実施形態では、メインユニット20とサブユニット50とのバス接続は、各サブユニット50のUSBバス・インタフェース・モジュール83とメインユニット20とを結ぶバスライン150と、USBデバイス・モジュール81とメインユニット20とを結ぶバスライン152とを含み構成される。バスライン150およびバスライン152は、バス経路選択部160に接続され、バス経路選択部160は、ファンクション・モジュール43に接続されるバスライン156と接続し、また内部に、バスライン156と、バスライン152aおよびバスライン152bとの接続を切換えるためのスイッチ158aおよびスイッチ158dを含んでいる。さらに、バス経路選択部160は、バスライン150同士を接続させるためのバスライン156と、接続を切換えるためのスイッチ158bとスイッチ158cとを含んでいる。
【0066】
スイッチ158a〜スイッチ158dは、通常動作モードでは、スイッチ158aおよびスイッチ158dがオンとなり、スイッチ158bおよびスイッチ158cがオフとなる。ブリッジ動作モードでは、スイッチ158aおよびスイッチ158dがオフとなり、スイッチ158bおよびスイッチ158cがオンとなる。
【0067】
ブリッジ動作モードでは、有線接続のUSBコネクタを備えたサブユニット同士ではハブまたはリピータとして機能し、接続距離を延長させることができる。有線接続のUSBコネクタを備えたサブユニットと無線接続のWUSBアンテナを備えたサブユニットとの接続では、ホスト・ワイヤ・アダプタやデバイス・ワイヤ・アダプタなどのメディア変換器として機能し、有線および無線が入り混じった利用環境では、さらにUSB装置間のデータフローの自由度を向上させることができる。無線接続のWUSBアンテナを備えたサブユニット同士では、中継器として機能し、ワイヤレスUSB接続の通信可能距離を延長させることが可能となる。
【0068】
なお、上述では、2つのサブユニットと接続するメインユニットとの構成の実施形態をもってバス経路選択における動作について述べたが、3つ以上のサブユニットと接続する場合であってもよく、当業者であれば容易に拡張することができるであろう。3つ以上のサブユニットと接続する場合には、USBホストと通信を行うひとつのサブユニットと、デバイスと通信を行う複数のサブユニットとが選択可能に結線され、USBハブとして機能する構成とすることができる。その際には、リピータ、ハブコントローラ、トランザクション・トランスレータ、ルーティング・ロジックといった、ハブ機能を提供する機能手段を備えるサブユニットまたはメインユニットとして構成させることで実現できる。
【0069】
図10には、モード切換を行うデータ通信システム10の他の実施形態を示す概略構成図を示す。図10に示した実施形態では、メインユニット20のバス経路選択部170と、サブユニット50のバス経路選択部172とによって、メインユニット20のファンクション提供手段40とが通信する通常モードと、サブユニット50のUSBバス・インタフェース・モジュール83同士が接続され中継器として機能するブリッジ動作モードの切換えを行う。メインユニット20の操作パネルなどで構成される操作部28は、通常モードとブリッジ動作モードの切換え指示を受けることを可能とし、オペレータからの指示を受けて経路管理部29へ経路切換の要求を発行する。要求を受けた経路管理部29は、バス経路選択部170と、各サブユニット50のバス経路選択部172へ、切換え指令を発行し、モードを切換える。
【0070】
図10に示した実施形態では、通常モードへの切換指令を受けた経路管理部29は、バス経路選択部170のスイッチ174をオンとする指令を発行し、同時に各サブユニット50のバス経路選択部172へ、通常モードへの切換指令を発行する。指令を受けた各バス経路選択部172は、USBデバイス・モジュール81とメインユニット20とを結ぶバスラインの切換えを行うスイッチ176をオンとし、USBバス・インタフェース・モジュール83とメインユニット20とを結ぶバスラインの切換えを行うスイッチ178をオフとする。
【0071】
ブリッジ動作モードへの切換指令を受けた経路管理部29は、バス経路選択部170のスイッチ174をオフとする指令を発効し、各サブユニット50のバス経路選択部172へ、USBデバイス・モジュール81とメインユニット20とを結ぶバスラインの切換えを行うスイッチ176をオフとし、USBバス・インタフェース・モジュール83とメインユニット20とを結ぶバスラインの切換えを行うスイッチ178をオンとする指令を発行する。バス経路選択部172を含むサブユニット50という構成により、メインユニット20とサブユニット50とのバスラインの複雑化を低減することを可能とする。
【0072】
図11には、モード切換を行うデータ通信システム10のさらに他の実施形態を示す概略構成図を示す。図11に示した実施形態では、図10に示した実施形態と同様のバス経路選択部を含むメインユニット20およびサブユニット50としての構成を有し、モード切換をサブユニット50側から指示する場合の実施形態である。サブユニット50は、オペレータからの切換指示を待受ける、例えばボタンスイッチなどの切換指示部88を含み構成される。切換指示部88は、各サブユニット50のバス経路選択部172の経路切換を制御し、また、メインユニット20からのモード切換の指令に応答してバス経路選択部172の経路選択の制御を行う。
【0073】
例えば、オペレータによりブリッジ動作モードへの切換指示を受けたサブユニットB50bの切換指示部88bは、バス経路選択部172bの経路切換を実行し、同時にメインユニット20の経路管理部29へ、ブリッジ動作モードへ切換通知を行う。サブユニットB50bからの切換通知を受けた経路管理部29は、バス経路選択部170のスイッチ174をオフとし、サブユニットA50aの切換指示部88aに、モード切換指示を発行する。指令を受けたサブユニットA50aの切換指示部88aは、バス経路選択部172aの経路切換を行う。
【0074】
サブユニット50が動作モードの切換指示部を備えるという構成により、操作パネルなどの操作部を備えないメインユニットであっても、サブユニットのボタンスイッチなどの簡易な指示手段によって動作モードの切換指示を行うことが可能となる。
【0075】
以下さらに、メインユニット20と、サブユニット50との装着様式の実施形態について説明する。図12は、メインユニット20と、2つのサブユニット50との装着様式の実施形態を示す概略図である。図12(a)に示した実施形態では、サブユニット50は、指向性アンテナ64を備えるワイヤレスUSBとしての構成されている。図には、各サブユニット50はスロットに装着され、各サブユニット50の指向性アンテナ64の向きが異なっている様子が示されている。指向性アンテナを備えるサブユニットという構成を採用することによって、サブユニット50が近接して配設された場合であっても、サブユニット50間の電波干渉を好適に低減させることができる。
【0076】
図12(b)は、メインユニット20と、2つのサブユニット50との装着様式の他の実施形態を示す。図12(c)は、図12(b)の図において、矢印Y方向からメインユニット20を視た場合のメインユニット20の側面20bを示す側面図である。図には、メインユニット20の側面20bには、サブユニット50を装着するためのスロット49bが配設されている様子が示されている。同様に、他方の側面にもスロット49a(図示せず)が備えられ、サブユニット50をスロット49aに装着することが可能である。離間してサブユニット50を装着するスロットを備えたメインユニット20という構成により、サブユニット50間の電波干渉を好適に低減させることが可能となる。さらに、図12(b)に示した実施形態では、装着スロット49は、メインユニットの対面を構成する側面に配置され、さらに、電波干渉を好適に低減させることが可能としている。
【0077】
なお、上述のメインユニット20と、サブユニット50とから構成されるデータ通信システム10は、画像形成装置としてのデバイス機能を提供する場合の実施形態をもって説明してきたが、データ通信システムが提供するデバイス機能としては、特に限定されるものではない。データ通信システムは、例えば、デジタル・カメラなどの撮像装置、スキャナなどの画像読取装置、ストレージデバイスなどの記録装置としてのデバイス機能を備えることもできる。
【0078】
以上、説明したように、本発明によれば、複数のUSBホストに接続および認識され、複数のUSBホストから要求に応答して処理を実行し、USB装置間の自由度の高いデータフローを提供するデータ通信システム、ユニットおよびデータ通信方法を提供することができる。
【0079】
また、本発明によれば、簡易な操作でUSBの中継器として機能させることができ、USB装置間の自由度の高いデータフロー制御を可能とするデータ通信システム、ユニットおよびデータ通信方法を提供することができる。
【0080】
また、本発明の上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向ブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD、SDメモリ、MOなど装置可読な記録媒体に格納して頒布することができる。
【0081】
これまで本発明を図面に示した実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【0082】
【図1】メインユニットとサブユニットを含み構成されるデータ通信システムのハードウェア構成の実施形態を示すブロック図。
【図2】メインユニットとサブユニットを含み構成されるデータ通信システムの機能構成の実施形態を示すブロック図。
【図3】メインユニットに格納されるユニット識別値情報、およびサブユニットに格納される設定情報のデータ構造の実施形態を示す図。
【図4】メインユニットにおけるサブユニットの認識処理の実施形態を示すフローチャート。
【図5】メインユニットおよびサブユニットと、ホストとのデバイス初期設定の実施形態を示すフローチャート。
【図6】メインユニットとサブユニットとの通信によって伝送される通信パケットのデータ構造の実施形態を示す図。
【図7】データ通信システムと2つのホストとのデータフローの実施形態を示す概略図。
【図8】データ通信システムにおける要求処理の調停処理およびデータフロー制御に使用されるジョブ管理データのデータ構造の実施形態を示す図。
【図9】モード切換可能なデータ通信システムの実施形態を示す概略構成図。
【図10】モード切換可能なデータ通信システムの他の実施形態を示す概略構成図。
【図11】モード切換可能なデータ通信システムのさらに他の実施形態を示す概略構成図。
【図12】メインユニットとサブユニットとの装着様式の実施形態を示す概略図。
【符号の説明】
【0083】
10…データ通信システム、12…接続バス、20…メインユニット、22…CPU、24…ROM、26…メモリ、28…操作部、29…経路管理部、30…表示部、32…記憶装置、34…プリンタ、36…インタフェース(I/F)、38…内部バス、40…ファンクション提供手段、41…処理部、42…デバイス情報格納部、43…ファンクション・モジュール、44…ジョブキュー記憶部、46…データフロー制御部、48…ユニット識別値記憶部、49…スロット、50…サブユニット、52…コントローラ、54…メモリ、56…無線通信部、58…NVRAM、60…物理層(UWB BB PHY)、62…物理層(UWB RF PHY)、64…アンテナ、66…MAC(媒体アクセス制御)層、68…インタフェース、70…設定記憶部、72…データ交換部、74…エンドポイント部、76…エンドポイント・ゼロ、78…エンドポイントn、80…WUSB論理デバイス、81…USBデバイス・モジュール、82…WUSBバス・インタフェース、83…USBバス・インタフェース・モジュール、84…デフォルト・パイプ、86…パイプ・バンドル、88…切換指示部、90…USBホスト(外部装置)、92…クライアント・ソフトウェア、94…USBシステム・ソフトウェア、96…USBホストコントローラ、100…ユニット識別値情報、110…設定情報、120…設定情報、130…ユニット間パケット、140…ジョブ管理データ、150、152、154、156…バスライン、158…スイッチ、160、170、172…バス経路選択部、174、176、178…スイッチ

【特許請求の範囲】
【請求項1】
メインユニットと、少なくとも1つのサブユニットとから構成され、外部装置とUSBプロトコルによるデータ通信を実行するデータ通信システムであって、
前記メインユニットは、
USB装置としての機能を提供するためのファンクション提供手段と、前記サブユニットを識別して前記サブユニットとの間のデータ伝送を制御するデータフロー制御手段とを備え、
前記サブユニットは、
前記外部装置との信号伝送を実行するバス・インタフェース提供手段と、前記データフロー制御手段による調停を受けるUSBデバイス提供手段と、前記メインユニットとのデータ交換手段とを備える、
データ通信システム。
【請求項2】
前記USBデバイス提供手段は、USBホストとしての前記外部装置との論理的通信路を確立するためのエンドポイントを提供し、
前記データ交換手段は、前記エンドポイントと前記メインユニットとの間のデータ交換を実行する、
請求項1に記載のデータ通信システム。
【請求項3】
前記データフロー制御手段は、
データの送信元または送信先の前記サブユニットを識別し、
前記外部装置からの処理要求または外部指令に応じて前記サブユニットとの間の前記データ伝送を制御する、
請求項1または2に記載のデータ通信システム。
【請求項4】
少なくとも1つのサブユニットを装着するためのスロットを備え、外部装置とUSBプロトコルによるデータ通信を実行可能とするメインユニットであって、
前記メインユニットは、
USB装置としての機能を提供するためのファンクション提供手段と、前記外部装置からの処理要求または外部指令に応じて、前記サブユニットとの間のデータ伝送を制御するデータフロー制御手段とを備える
メインユニット。
【請求項5】
前記メインユニットは、
複数の前記スロットを離間して配設する、請求項4に記載のメインユニット。
【請求項6】
USB装置としての機能を提供するためのメインユニットに装着され、外部装置とUSBプロトコルによるデータ通信を実行可能とするサブユニットであって、
前記サブユニットは、
前記外部装置との信号伝送を実行するバス・インタフェース提供手段と、USBデバイス提供手段と、前記メインユニットとのデータ交換手段とを備える、
サブユニット。
【請求項7】
前記USBデバイス提供手段は、USBホストとしての前記外部装置との論理的通信路を確立するためのエンドポイントを提供し、
前記データ交換手段は、前記エンドポイントと前記メインユニットとの間のデータ交換を実行する、
請求項6に記載のサブユニット。
【請求項8】
前記サブユニットは、
外部指令に応じて、前記メインユニットとの間のデータ伝送を制御するデータフロー制御手段を備える
請求項6または7に記載のサブユニット。
【請求項9】
前記サブユニットは、指向性アンテナを備える、
請求項6〜8のいずれか1項に記載のサブユニット。
【請求項10】
前記サブユニットは、データフローを切換えるための外部指令を受付ける指示手段を含む、
請求項6〜9のいずれか1項に記載のサブユニット。
【請求項11】
メインユニットと少なくとも1つのサブユニットとから構成されるデータ通信システムと、外部装置とのUSBプロトコルによるデータ通信方法であって、
前記データ通信方法は、
前記サブユニットと前記外部装置との論理的通信路を確立するステップと、
前記論理的通信路を介して、USBプロトコルにしたがいデータを転送するステップと、
前記サブユニットを識別可能に、前記サブユニットと前記メインユニットとの前記データの交換を実行するステップと
を含む、
データ通信方法。
【請求項12】
前記データ通信方法は、
前記データに応答した要求処理を実行するステップと、
前記要求処理または外部指令に応答して、前記データの交換を制御するステップとを含む、
請求項11に記載のデータ通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate