(57)【要約】【課題】無線通信装置を、複数のホスト機器によって共用可能にする。【解決手段】無線通信装置１は、無線通信により接続されたホスト機器２ａ〜２ｃからの制御に応じて動作する。ホスト一覧情報１５には、無線接続可能な１つ以上のホスト機器２ａ〜２ｃが登録される。接続制御部１３は、ホスト一覧情報１５に登録されたホスト機器２ａ〜２ｃのそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う。処理部１４は、接続制御部１３の要求に応じて接続状態とされたホスト機器から受信した制御情報に応じて所定の処理を行う。ホスト探索部１２は、周囲に存在するホスト機器２ａ〜２ｃを探索し、無線接続可能なホスト機器を検出するとそのホスト機器をホスト一覧情報１５に登録する。ここで、接続制御部１３とホスト探索部１２の各処理は並行して繰り返し実行される。【選択図】図１
2009200669.tif 000002
【特許請求の範囲】
【請求項１】
無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置において、
無線接続可能な１つ以上の前記ホスト機器を登録したホスト一覧情報を記憶するホスト一覧情報記憶部と、
前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う接続制御部と、
前記接続制御部の要求に応じて接続状態とされた前記ホスト機器から受信した制御情報に応じて所定の処理を行う処理部と、
を有することを特徴とする無線通信装置。
【請求項２】
周囲に存在する前記ホスト機器を探索し、無線接続可能な前記ホスト機器を検出すると当該ホスト機器を前記ホスト一覧情報に登録するホスト探索部を有し、
前記接続制御部により、前記ホスト一覧情報に登録された前記各ホスト機器に対して接続および切断の要求が繰り返されている間にも、前記ホスト探索部による前記ホスト機器の探索および前記ホスト一覧情報の更新の処理が並行して繰り返し実行されることを特徴とする請求項１記載の無線通信装置。
【請求項３】
前記ホスト探索部は、前記ホスト機器を検出順に前記ホスト一覧情報に登録し、
前記接続制御部は、前記ホスト一覧情報に登録された順番で、登録された前記ホスト機器のそれぞれに対して接続および切断の要求を行うことを特徴とする請求項２記載の無線通信装置。
【請求項４】
前記接続制御部は、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して、一定時間ごとに接続および切断の要求を繰り返すことを特徴とする請求項３記載の無線通信装置。
【請求項５】
前記接続制御部は、前記ホスト一覧情報に登録された１つのホスト機器に接続された状態において、当該ホスト機器から要求された１つのイベントが前記処理部に実行され、当該イベントの実行が終了されると、当該ホスト機器との無線通信を切断して、前記ホスト一覧情報に登録された別の前記ホスト機器に対する接続動作を実行することを特徴とする請求項３記載の無線通信装置。
【請求項６】
無線通信により接続された無線デバイスを制御する無線通信装置において、
前記無線デバイスに実行させるイベントの情報を発行するイベント要求発行部と、
少なくとも前記無線デバイスと接続されていない場合に、前記イベント要求発行部から発行されたイベントの情報を一時的に蓄積するイベント蓄積部と、
前記無線デバイスと接続されると、前記イベント蓄積部から、前記無線デバイスに対して要求済みでないイベントの情報を読み出し、当該イベントの実行を前記無線デバイスに対して要求するイベント要求処理部と、
を有することを特徴とする無線通信装置。
【請求項７】
無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置における通信制御方法であって、
ホスト登録部が、無線接続可能な１つ以上の前記ホスト機器を、記憶部に記憶されたホスト一覧情報に登録し、
接続制御部が、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う、
ことを特徴とする通信制御方法。
【請求項８】
無線通信により接続された無線デバイスを制御する無線通信装置における通信制御方法であって、
少なくとも前記無線デバイスと接続されていない場合に、イベント要求発行部から前記無線デバイスに実行させるイベントの情報が発行されると、イベント蓄積制御部が、発行されたイベントの情報を記憶部に一時的に蓄積し、
イベント要求処理部が、前記無線デバイスと接続されると、前記無線デバイスに対して要求済みでないイベントの情報を前記記憶部から読み出し、当該イベントの実行を前記無線デバイスに対して要求する、
ことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信により他の機器と通信する無線通信装置、およびその装置における通信制御方法に関し、特に、無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置、無線通信により接続された無線デバイスを制御する無線通信装置、およびこれらの装置における通信制御方法に関する。
【背景技術】
【０００２】
ＵＳＢ（Universal Serial Bus）は、主としてＰＣ（Personal Computer）と周辺機器とを接続するために開発されたインタフェース規格である。このＵＳＢは現在、多くの周辺機器に採用されて広く普及している。また、ＵＳＢ２．０では、最大４８０Ｍｂｐｓの速度で通信することが可能である。このようなＵＳＢでは、ＰＣ（ホスト）と周辺機器（デバイス）との間は、通信ケーブルによって物理的に接続される。以下、物理ケーブルを用いて接続するＵＳＢ規格を、“有線ＵＳＢ”と称する。
【０００３】
これに対して、近年標準化されたワイヤレスＵＳＢでは、ホストとデバイスとの接続は、物理的なケーブルの代わりにＵＷＢ（Ultra Wide Band）に基づいた無線通信で行われる（例えば、非特許文献１，２参照）。このワイヤレスＵＳＢでは、ホストとデバイスとの距離が３ｍで４８０Ｍｂｐｓ、１０ｍで１１０Ｍｂｐｓの速度での通信が可能である。また、ワイヤレスＵＳＢは、ＵＳＢ２．０でのホストとデバイスとの接続の基本的なアーキテクチャ（プロトコル）を踏襲しており、有線ＵＳＢと同様に、１台のホストに１２８台のデバイスが同時に接続できる。また、１台のデバイスは同時に複数のホストと接続することはできない。
【０００４】
有線ＵＳＢでのホストとデバイスとの接続処理は、物理的なケーブルでの接続を契機として、ケーブルを介してデバイスからホストに対して、デバイスのディスクリプション（デバイス自身の情報）を通知することから開始される。また、切断処理は、ケーブルを抜去することで行われる。このように、有線ＵＳＢの場合、切断／接続の処理は手動によるケーブルの抜き差しで実現される。
【０００５】
一方、ワイヤレスＵＳＢでの接続処理では、ケーブルの抜き差しという手順は必要なくなる。また、セキュリティ確保のため、デバイスとホストとは、“アソシエーション”と呼ばれる規定された手順に従って、コネクションコンテキスト（Connection Context）と呼ばれる機器同士の通信に必要な情報を共有し、このプロセスを実施したホストとデバイスのみが接続を行うことができる（例えば、非特許文献３参照）。デバイスとホストはこのプロセスによって、接続対象のホスト情報またはデバイス情報を取得し、管理する。この後、ホストは、ＵＷＢの無線通信により自身の情報をブロードキャストで周辺機器に通知する。デバイスは、ブロードキャストの送信元ホストと事前にアソシエーションを実施していれば、そのホストに対して接続要求を行う。ホストは、その接続要求を受信し、そのデバイスと事前にアソシエーションを実施していれば、そのデバイスに対して接続許可のシーケンスを開始する。また、切断処理は、ホストまたはデバイスから接続相手に対して切断要求を発行することによって実現される。
【非特許文献１】“Wireless Universal Serial Bus Specification, Revision 1.0”、２００５年５月１２日、USB Implementers Forum, Inc.、インターネット＜URL : http:// www.usb.org/developers/wusb/wusb＿2007＿0214.zip＞
【非特許文献２】“Distributed Medium Access Control (MAC) For Wireless Networks release 1.01”、２００５年１２月８日、WiMedia Alliance, Inc.、インターネット＜URL : http://www.wimedia.org/en/index.asp＞
【非特許文献３】“Association Models Supplement to the Certified Wireless Universal Serial Bus Revision 1.0”、２００６年３月２日、USB Implementers Forum, Inc.、インターネット＜URL : http:// www.usb.org/developers/wusb/wusb＿2007＿0214.zip＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、ＵＳＢデバイスの利用シーンとして、１台のデバイスを複数のホストで必要に応じて利用する場合が想定される。例えば、オフィスなどで、ＵＳＢ対応プリンタ（デバイス）を複数のＰＣ（ホスト）で共有するケースなどである。前述のように、ＵＳＢ規格では１つのデバイスが同時に複数のホストと接続することはできない。このため、有線ＵＳＢでは、そのプリンタを利用したい場合には、物理的にケーブルを差し替えるといった手作業が必要となり、利便性が悪かった。
【０００７】
一方、ワイヤレスＵＳＢでは、ケーブルの抜き差しといった手作業は不要となる。しかし、ホストを切り替えたい時は、現在接続されているＰＣからのプリンタ出力処理が終了した後、人の手作業により、ＰＣまたはプリンタから切断処理のための操作を行い、さらに、プリンタに接続しようとしている別のＰＣに対する接続要求のための操作を行う、という手順が必要となる。このように、ワイヤレスＵＳＢの場合でも、ケーブルの抜き差しという手順が無くなるにもかかわらず、結局は人手を介さなければならず、無線化した恩恵が得られないという問題があった。
【０００８】
また、ワイヤレスＵＳＢでは、プリンタに接続しようとしているＰＣが複数台存在する場合において、プリンタがどのＰＣとの接続を選択するかのルールについても、特に何も決められていない。このため、デバイスが期待していないホストに接続してしまう、または、接続されるホストに偏りが生じる可能性があるといった問題もあった。
【０００９】
本発明はこのような点に鑑みてなされたものであり、複数のホスト機器によって無線通信を通じて共用可能とされた無線通信装置、そのホスト側の無線通信装置、およびこれらの装置における通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置が提供される。この無線通信装置は、無線接続可能な１つ以上の前記ホスト機器を登録したホスト一覧情報を記憶するホスト一覧情報記憶部と、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う接続制御部と、前記接続制御部の要求に応じて接続状態とされた前記ホスト機器から受信した制御情報に応じて所定の処理を行う処理部と、を有する。
【００１１】
ここで、ホスト一覧情報記憶部には、この無線通信装置と無線接続可能なホスト機器を１つ以上登録可能とされている。接続制御部は、ホスト機器に対して無線通信による接続要求および切断要求を行う機能を備え、ホスト一覧情報に登録されたホスト機器のそれぞれに対して順次、接続および切断の要求を繰り返して行うことにより、それぞれのホスト機器に順次接続されていくように制御する。そして、接続制御部の要求に応じて１のホスト機器と接続状態とされ、そのホスト機器から制御情報が受信されると、処理部において、その制御情報に応じた所定の処理が行われる。
【００１２】
また、上記目的を達成するために、無線通信により接続された無線デバイスを制御する無線通信装置が提供される。この無線通信装置は、前記無線デバイスに実行させるイベントの情報を発行するイベント要求発行部と、少なくとも前記無線デバイスと接続されていない場合に、前記イベント要求発行部から発行されたイベントの情報を一時的に蓄積するイベント蓄積部と、前記無線デバイスと接続されると、前記イベント蓄積部から、前記無線デバイスに対して要求済みでないイベントの情報を読み出し、当該イベントの実行を前記無線デバイスに対して要求するイベント要求処理部と、を有する。
【００１３】
ここで、イベント要求発行部は、無線デバイスに所定のイベントを実行させたい場合に、そのイベントの情報を発行する。イベント蓄積部には、少なくとも無線デバイスと接続されていない状態において、イベント要求発行部から発行されたイベントの情報が一時的に蓄積される。そして、無線デバイスと接続されると、イベント要求処理部により、無線デバイスに対して要求済みでないイベントの情報がイベント蓄積部から読み出され、そのイベントの実行が無線デバイスに対して無線通信を通じて要求される。
【発明の効果】
【００１４】
ホスト機器からの制御に応じて動作する上記の無線通信装置によれば、複数のホスト機器から共用されて動作することができる。
また、無線デバイスを制御する上記の無線通信装置によれば、同様な構成の複数の無線通信装置により無線デバイスを共用する際に、その無線デバイスにイベントの実行を確実に要求できる。
【発明を実施するための最良の形態】
【００１５】
以下、実施の形態について図面を参照して詳細に説明する。
図１は、実施の形態に係る無線通信装置の概要を示す図である。
図１に示す無線通信装置１は、無線通信により１つのホスト機器と接続して、接続したホスト機器からの制御の下で動作する装置である。なお、ここでは例として、３つのホスト機器２ａ〜２ｃを図示している。この無線通信装置１は、無線通信Ｉ／Ｆ（インタフェース）１１、ホスト探索部１２、接続制御部１３、および処理部１４を備えている。また、無線通信装置１内の記憶装置には、ホスト一覧情報１５が記憶される。
【００１６】
無線通信Ｉ／Ｆ１１は、ホスト機器との間で無線通信を行うためのＩ／Ｆ回路である。なお、無線通信規格としては、後述するワイヤレスＵＳＢなどを適用可能である。
ホスト探索部１２は、周囲に存在するホスト機器を無線通信Ｉ／Ｆ１１を通じて探索し、無線接続可能なホスト機器を検出すると、そのホスト機器をホスト一覧情報１５に登録する。また、このようなホスト機器の探索は間隔を空けて繰り返し実行され、新たに検出されたホスト機器がホスト一覧情報１５に登録されるとともに、検出されなくなったホスト機器の登録情報はホスト一覧情報１５から削除される。また、ホスト一覧情報１５には、例えば、ホスト探索部１２によって検出された順番でホスト機器が登録される。
【００１７】
接続制御部１３は、ホスト一覧情報１５に登録されたホスト機器との無線通信の接続／切断動作を制御する。具体的には、ホスト一覧情報１５に登録されたそれぞれのホスト機器に対して、１台ずつ順次、無線通信による接続／切断の要求を繰り返し行う。また、接続制御部１３は、例えば、ホスト一覧情報１５に登録された順番で、ホスト機器に対して順次接続の要求を行う。
【００１８】
処理部１４は、接続状態となっているホスト機器から無線通信により受信された制御情報に応じて、所定の処理を行う。従って、接続制御部１３によって接続先のホスト機器が順次切り替えられていくと、処理部１４では、接続されたそれぞれのホスト機器からの制御情報に応じて処理が実行されるので、それぞれのホスト機器から個別に要求された処理をそれぞれ実行することが可能となる。
【００１９】
なお、接続制御部１３は、例えば、ホスト一覧情報１５に登録されたホスト機器のそれぞれに対して、一定時間ごとに接続および切断の要求を繰り返すことで、接続先を切り替える。あるいは、ホスト一覧情報に登録された１つのホスト機器に接続された状態において、このホスト機器から要求された１つのイベントが処理部１４によって実行され、このイベントの実行が終了されたときに、このホスト機器との無線通信を切断して、ホスト一覧情報１５に登録された別のホスト機器に対する接続動作を実行するようにしてもよい。
【００２０】
以上の無線通信装置１では、接続制御部１３の制御により、複数のホスト機器のそれぞれに対する無線接続を自律的に切り替えていくことで、処理の要求元のホスト機器のすべてに仮想的に接続して、それぞれのホスト機器から要求された処理を処理部１４において実行することが可能となる。従って、１つのホスト機器のみに接続してそのホスト機器の制御の下で動作可能である無線通信装置１を、仮想的に複数のホスト機器によって共用できるようになる。
【００２１】
次に、上記の無線通信装置およびホスト機器からなる通信システムの具体例を挙げ、各装置の処理について詳しく説明する。ここでは、無線通信規格の例としてワイヤレスＵＳＢを利用した場合について説明する。
【００２２】
図２は、実施の形態に係る通信システムの例を示すシステム構成図である。
図２に示す通信システムは、ワイヤレスＵＳＢデバイス１００と、このワイヤレスＵＳＢデバイス１００に対するホスト機器として機能するワイヤレスＵＳＢホスト２００ａ〜２００ｃとから構成される。ここでは例として、ワイヤレスＵＳＢデバイス１００がプリンタであるものとし、ワイヤレスＵＳＢホスト２００ａ〜２００ｃがそれぞれＰＣであるものとする。すなわち、ＰＣであるワイヤレスＵＳＢホスト２００ａ〜２００ｃのそれぞれは、ワイヤレスＵＳＢデバイス１００に対して無線接続してプリントを要求することで、所望の画像をプリントアウトさせることが可能となっている。
【００２３】
なお、ここでは例として３つのワイヤレスＵＳＢホスト２００ａ〜２００ｃを示しているが、ワイヤレスＵＳＢホストとしては何台存在しても構わない。また、ワイヤレスＵＳＢデバイス、ワイヤレスＵＳＢホストについては、それぞれプリンタやＰＣ以外の様々な情報処理機器として実現可能である。また、以下の説明では、ワイヤレスＵＳＢデバイスを“デバイス”と略称し、ワイヤレスＵＳＢホストを“ホスト”と略称する。
【００２４】
図３は、デバイスのハードウェア構成例を示すブロック図である。
図３に示すように、プリンタとして構成されるデバイス１００は、無線通信Ｉ／Ｆ１０１、マイクロコンピュータ１０２、メモリ１０３、入力部１０４、表示部１０５、およびプリントモジュール１０６を備えており、これらのうち無線通信Ｉ／Ｆ１０１を除く各ブロックは、バス１０７を通じて相互に接続されている。
【００２５】
無線通信Ｉ／Ｆ１０１は、ＵＷＢに従って無線により信号を送受信するためＩ／Ｆ回路であり、ＲＦ（Radio Frequency）回路や信号の変復調回路、アンテナなどを備えている。この無線通信Ｉ／Ｆ１０１は、マイクロコンピュータ１０２により制御されるワイヤレスＵＳＢの通信手順に従って、ホストとの無線通信を行う。
【００２６】
マイクロコンピュータ１０２は、デバイス１００全体の制御をつかさどる制御処理回路であり、メモリ１０３などに記憶されたプログラムをＣＰＵ（Central Processing Unit）により実行することで、デバイス１００内の各部を制御する。メモリ１０３は、ＲＯＭ（Read Only Memory）／ＲＡＭ（Random Access Memory）などから構成され、マイクロコンピュータ１０２での処理で利用される各種のデータなどが格納される。
【００２７】
入力部１０４は、ユーザによって操作される各種のスイッチを備え、それらのスイッチに対する入力操作に応じた制御信号を、マイクロコンピュータ１０２に対して出力する。表示部１０５は、例えばＬＥＤ（Light Emitting Diode）などから構成され、マイクロコンピュータ１０２から指示された情報を視覚的にユーザに通知する。
【００２８】
プリントモジュール１０６は、用紙差し込み部や用紙送り機構、印字機構などから構成され、マイクロコンピュータ１０２による制御の下で、このマイクロコンピュータ１０２から転送された画像データに基づく画像を、セットされた用紙に印刷する。
【００２９】
図４は、ホストのハードウェア構成例を示すブロック図である。なお、本実施の形態では、図２に示したホスト２００ａ〜２００ｃは同じハードウェア構成とされればよいので、ここではこれらをまとめてホスト２００としている。
【００３０】
図４に示すように、ＰＣとして構成されるホスト２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ（Hard Disk Drive）２０３、グラフィック処理部２０４、入力Ｉ／Ｆ２０５、および無線通信Ｉ／Ｆ２０６によって構成され、これらはバス２０７を介して相互に接続されている。
【００３１】
ＣＰＵ２０１は、ホスト２００全体に対する制御をつかさどる。ＲＡＭ２０２は、ＣＰＵ２０１に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。ＨＤＤ２０３には、ＯＳ（Operating System）やアプリケーションプログラム、各種データが格納される。
【００３２】
グラフィック処理部２０４には、モニタ２０４ａが接続されている。このグラフィック処理部２０４は、ＣＰＵ２０１からの命令に従って、モニタ２０４ａの画面上に画像を表示させる。入力Ｉ／Ｆ２０５には、例えばキーボード２０５ａやマウス２０５ｂなどの入力デバイスが接続されている。この入力Ｉ／Ｆ２０５は、入力デバイスからの信号を、バス２０７を介してＣＰＵ２０１に送信する。
【００３３】
無線通信Ｉ／Ｆ２０６は、ＵＷＢに従って無線により信号を送受信するためのＩ／Ｆ回路であり、ＲＦ回路、信号の変復調回路、アンテナなどを備えている。この無線通信Ｉ／Ｆ２０６は、ＣＰＵ２０１により制御されるワイヤレスＵＳＢの通信手順に従って、デバイス１００との無線通信を行う。
【００３４】
次に、デバイス１００における複数のホストとの接続機能について説明する。まず、図５は、デバイスが備える処理機能の例を示すブロック図である。
デバイス１００は、大別して、無線通信制御部１１０と、接続制御部１２０と、デバイス制御部１３０を備えている。これらの各ブロックでの処理は、例えば、マイクロコンピュータ１０２によって所定のプログラムが実行されることで実現される。
【００３５】
無線通信制御部１１０は、無線通信Ｉ／Ｆ１０１を通じて、ワイヤレスＵＳＢ規格の通信手順に従ってホストと無線通信するための機能であり、接続制御部１２０からの接続や切断などの要求に応じて動作する。
【００３６】
接続制御部１２０は、無線通信制御部１１０を制御して、ホストとの接続／切断やホストとの間のデータ送受信などの処理を行う。また、接続されたホストとデバイス制御部１３０との間のデータ送受信を仲介する。
【００３７】
デバイス制御部１３０は、接続制御部１２０を介してホストからの制御情報を受けることで、デバイス１００固有のアプリケーションを実行する機能であり、本実施の形態では、プリントモジュール１０６における印刷動作を制御する。
【００３８】
また、図５に示すように、接続制御部１２０は、ホスト切り替え制御部１２１と、アソシエーション制御部１２２と、周辺ホスト探索制御部１２３とを具備している。また、これらの機能で利用される情報として、デバイス１００のメモリ１０３には、接続ホスト一覧情報１４１と、コネクションコンテキスト（以下、ＣＣと略称する）一覧情報１４２と、周辺ホスト一覧情報１４３とが格納される。
【００３９】
ホスト切り替え制御部１２１は、複数のホスト（ここでは、ホスト２００ａ〜２００ｃ）のそれぞれに対して無線通信の接続先を順次切り替えることで、これらの複数のホストからデバイス１００が共用されているように振る舞うことを可能にするための機能である。後述するように、ホスト切り替え制御部１２１は、接続ホスト一覧情報１４１に登録された、接続可能なホストを順次選択して接続し、デバイス１００に実行させるべき処理の要求を受け付ける。
【００４０】
アソシエーション制御部１２２は、ワイヤレスＵＳＢで規定された、ホストへの接続に先立ってホストとの間で必ず実行されるアソシエーションと呼ばれる通信処理を制御する。このアソシエーションでは、後述するように、機器同士の通信時の暗号化のために必要な情報であるＣＣが、ホストとデバイス１００との間で共有される。アソシエーション制御部１２２は、アソシエーションが完了したホストに対応するＣＣを、ＣＣ一覧情報１４２に登録する。
【００４１】
周辺ホスト探索制御部１２３は、デバイス１００の周辺に存在するホストを探索し、検出されたホストを周辺ホスト一覧情報１４３に登録する。ここで、周辺ホスト一覧情報１４３に登録され、かつ、ＣＣ一覧情報１４２に対応するＣＣが登録されたホストが、現在接続可能なホストとなり、ホスト切り替え制御部１２１は、このような判定の結果、接続可能と判定したホストを接続ホスト一覧情報１４１に登録し、この登録情報に基づいて接続先のホストを切り替える。
【００４２】
以下、ホストとの接続までの処理について説明する。まず、図６は、アソシエーションの手順を概略的に説明するための図である。
ワイヤレスＵＳＢでは、ホストとデバイスとが無線により通信することから、データ転送時のセキュリティが強化されている。アソシエーションは、データ通信を行う際に暗号化で用いる鍵情報を交換するための処理である。アソシエーションの手順は、非特許文献３の“CABLE ASSOCIATION MODEL”および“NUMERIC ASSOCIATION MODEL”として規定されており、この手順によりＣＣがホストとデバイスとの間で交換される。この手順は、接続を開始する前に実施しておく必要がある。
【００４３】
ＣＣは、ホスト固有のＩＤ（ＣＨＩＤ：Connection Host ID）と、デバイス固有のＩＤ（ＣＤＩＤ：Connection Device ID）と、ホスト−デバイス間での固有のキーであって暗号化に用いられるコネクションキー（ＣＫ：Connection Key）とから構成される。ホストとデバイスとは、ＵＳＢケーブルまたは無線を用いて、前述した規格に従って互いのＣＨＩＤ、ＣＤＩＤを交換するとともに、ＣＫを生成し、これらの情報を互いに保持する。
【００４４】
ＣＣは、特定のホストと特定のデバイスとの間に固有に存在する。このため、デバイスが複数のホストと接続可能とするためには、各ホストと個別にアソシエーションを実行する必要がある。図６の例では、タイミングＴ１１〜Ｔ１３において、デバイス１００とホスト２００ａ〜２００ｃのそれぞれとの間でアソシエーションが実行されている。
【００４５】
そして、これらのアソシエーションの実行後のタイミングＴ１４では、ホスト２００ａには、ホスト２００ａ自身のＣＨＩＤと、デバイス１００のＣＤＩＤと、これらの機器間で固有のＣＫとが保持される。同様に、ホスト２００ｂには、ホスト２００ｂ自身のＣＨＩＤと、デバイス１００のＣＤＩＤと、これらの機器間で固有のＣＫとが保持され、ホスト２００ｃには、ホスト２００ｃ自身のＣＨＩＤと、デバイス１００のＣＤＩＤと、これらの機器間で固有のＣＫとが保持される。また、デバイス１００では、デバイス１００自身のＣＤＩＤと、ホスト２００ａ〜２００ｃのそれぞれのＣＨＩＤおよびそれぞれとの間で固有のＣＫとが保持される。
【００４６】
図７は、ＣＣ一覧情報のデータ構成例を示す図である。
デバイス１００では、上記のアソシエーションはアソシエーション制御部１２２による制御の下で実行される。アソシエーション制御部１２２は、アソシエーションを実行したホストとの間で共有するＣＣを、ＣＣ一覧情報１４２に登録して管理する。すなわち、図７に示すように、ＣＣ一覧情報１４２には、デバイス１００自身のＣＤＩＤ、アソシエーション済みのホストのＣＨＩＤ、およびこれらとの間で固有のＣＫが登録されている。さらに、図７の例では、アソシエーション済みのホストの数（すなわちＣＣの数）が“実装ＣＣ数”として記憶されている。
【００４７】
なお、以上のアソシエーションは、ホストとデバイスとの接続に先立って１度実行されればよく、接続の度に実行される必要はない。
接続対象とする各ホストとのアソシエーションが実行されると、デバイス１００は、例えば電源投入・起動の直後などのホストと接続していない状態において、周辺ホスト探索制御部１２３の制御によって、無線チャネルのスキャンを行って周囲に存在するホストを探索し、検出されたホストを周辺ホスト一覧情報１４３に登録する。
【００４８】
ここで、図８は、１つのＵＷＢ無線チャネルとワイヤレスＵＳＢチャネルとの関係を示す図である。
デバイス１００の周辺ホスト探索制御部１２３は、周囲に存在するホストを探し出すために、まず、ＵＷＢに基づいた無線チャネル（ＵＷＢ無線チャネル）をスキャンして、その中の１つを選択する。図８に示すように、ＵＷＢ無線チャネルは、約６５ｍｓｅｃの周期で繰り返し生成されるスーパーフレームによって構成されている。
【００４９】
ワイヤレスＵＳＢでは、スーパーフレーム内の予約した時間帯（ＤＲＰ  ＷＵＳＢ）において、ＭＭＣ（Micro-scheduled Management Command）と呼ばれる制御パケットを用いてデータ通信やデータ通信制御などを行う。図８に示すように、このＭＭＣパケットが連続して現れるシーケンスをワイヤレスＵＳＢチャネルと呼び、このワイヤレスＵＳＢチャネルでは、あるＭＭＣパケットが後続のＭＭＣパケットを指し示すようなチェーン構造が形成されている。
【００５０】
図９は、ＭＭＣパケットにおけるＣＨＩＤの格納位置を示す図である。
デバイス１００の周辺ホスト探索制御部１２３は、無線通信制御部１１０を制御することで、ＵＷＢ無線チャネルを選択すると、そのチャネルからワイヤレスＵＳＢチャネルをスキャンし、接続相手のホストのＣＨＩＤを得る。図９に示すように、ＭＭＣパケットの送信元ホストのＣＨＩＤは、ワイヤレスＵＳＢチャネルを構成する各ＭＭＣに含まれる情報要素（ＩＥ：Information Element）のうち、ホストインフォメーションＩＥ（ＷＨＯＳＴＩＮＦＯ＿ＩＥ：Wireless USB Host Information IE）に設定されている。周辺ホスト探索制御部１２３は、ＭＭＣパケット内のホストインフォメーションＩＥを監視し、得られたＣＨＩＤを周辺ホスト一覧情報１４３に登録する。
【００５１】
図１０は、デバイスがホストを探索する際の処理シーケンスの例を示す図である。
この図１０では、例として、デバイス１００が、ホスト２００ａ，２００ｂを順に検出する場合の処理手順を示している。なお、この図１０におけるデバイス１００の処理は、周辺ホスト探索制御部１２３によって制御される。
【００５２】
図１０において、デバイス１００は、ＵＷＢ無線チャネルをスキャンして、その中の１つを選択し（ステップＳ２１）、さらに、ワイヤレスＵＳＢチャネルをスキャンする（ステップＳ２２）。そして、ワイヤレスＵＳＢチャネルのＭＭＣパケットを監視する（ステップＳ２３）。一方、ホスト２００ａは、ＭＭＣパケットのホストインフォメーションＩＥに自機のＣＨＩＤ（ここでは“ＡＡ”）を設定し、ブロードキャストで送信する（ステップＳ２４）。デバイス１００は、ホスト２００ａからのホストインフォメーションＩＥを検出すると、そこに設定されていたＣＨＩＤを周辺ホスト一覧情報１４３に登録する（ステップＳ２５）。
【００５３】
また、デバイス１００はさらにＵＷＢ無線チャネルのスキャンを実行して別のＵＷＢ無線チャネルを選択し（ステップＳ２６）、ワイヤレスＵＳＢチャネルをスキャンする（ステップＳ２７）。そして、ワイヤレスＵＳＢチャネルのＭＭＣパケットを監視する（ステップＳ２８）。ここで、ホスト２００ｂが、ＭＭＣパケットのホストインフォメーションＩＥに自機のＣＨＩＤ（ここでは“ＢＢ”）を設定し、ブロードキャストで送信すると（ステップＳ２９）、デバイス１００はこのホストインフォメーションＩＥを検出し、そこに設定されていたＣＨＩＤを周辺ホスト一覧情報１４３に登録する（ステップＳ３０）。
【００５４】
このように、デバイス１００は、ＵＷＢチャネルのスキャン・選択、およびワイヤレスＵＳＢチャネルのホストインフォメーションＩＥの監視を繰り返すことで、周囲に存在するホストを検出して、そのＣＨＩＤを順次周辺ホスト一覧情報１４３に登録していく。また、そのような処理において、ホストインフォメーションＩＥを一定時間受信しなかったホストがある場合には、そのホストのＣＨＩＤを周辺ホスト一覧情報１４３から削除する（ステップＳ３１）。
【００５５】
図１１は、周辺ホスト一覧情報のデータ構成例を示す図である。
図１１に示すように、周辺ホスト一覧情報１４３には、上記の処理によって検出されたホストのＣＨＩＤが登録されて管理される。ここで、ＣＨＩＤは、例えば上記の処理によってホストが検出された順番で登録される。また、図１１の例では、前回検出された時刻をホストごとに保持しており、周辺ホスト探索制御部１２３は、ここに保持された時刻を基準として、上記のステップＳ３１において、対応するホストが一定時間検出されないことを判定することができる。さらに、図１１の例では、登録されているホストの数が“周辺ホスト実装数”として記憶されている。
【００５６】
以上の図６および図１０の手順により、ＣＣ一覧情報１４２および周辺ホスト一覧情報１４３にホストに関する情報が登録されると、デバイス１００は、ホスト切り替え制御部１２１の制御により、ホストとの接続を開始することが可能になる。ホスト切り替え制御部１２１は、ＣＣ一覧情報１４２に登録されたホスト（すなわち、アソシエーション済みのホスト）のＣＨＩＤと、周辺ホスト一覧情報１４３に登録されたホスト（すなわち、現在通信可能な範囲内に存在するホスト）のＣＨＩＤとを比較し、これらの両方に含まれているホストを現在接続可能であると判定して、接続ホスト一覧情報１４１に登録する。この状態で、接続ホスト一覧情報１４１に登録されたホストに対して接続することが可能になる。
【００５７】
図１２は、接続ホスト一覧情報のデータ構成例を示す図である。
図１２に示すように、接続ホスト一覧情報１４１には、上記処理により現在接続可能と判定されたホストのＣＨＩＤがホストＩＤ保持部１４１ａに登録される。ここで、ＣＨＩＤは、例えば、周囲からホストが検出された順番（すなわち、周辺ホスト一覧情報１４３に登録された順番）で、ホストＩＤ保持部１４１ａに登録される。また、図１２の例では、ホストＩＤ保持部１４１ａには、直前に接続した際の接続時間が記憶されている。
【００５８】
さらに、図１２の例では、次接続ホストインデックス番号１４１ｂと、接続対象ホスト数１４１ｃも設定されている。次接続ホストインデックス番号１４１ｂは、ホストＩＤ保持部１４１ａに登録されたＣＨＩＤの中から次に接続先とするホストのＣＨＩＤを指示するための情報であり、ホストＩＤ保持部１４１ａの行番号で表される。接続対象ホスト数１４１ｃは、ホストＩＤ保持部１４１ａに登録されたホスト数（すなわち、現在通信可能なホスト数）を示している。
【００５９】
図１３は、デバイスと複数のホストとが接続する際の処理シーケンスを示す図である。
この図１３では、例として、デバイス１００が、ホスト２００ａ，２００ｂに対して順に接続していく場合の処理手順を示している。上記の図６および図１０の手順により、ＣＣ一覧情報１４２および周辺ホスト一覧情報１４３にホストに関する情報が登録されると、デバイス１００のホスト切り替え制御部１２１は、現在ＣＣ一覧情報１４２に登録されているＣＨＩＤが、周辺ホスト一覧情報１４３に登録されているか否かを、例えば周辺ホスト一覧情報１４３の登録順に判定していく。そして、両方に登録されているＣＨＩＤを、接続ホスト一覧情報１４１に登録する（ステップＳ４１）。
【００６０】
次に、ホスト切り替え制御部１２１は、接続ホスト一覧情報１４１の次接続ホストインデックス番号１４１ｂが指示しているホストのＣＨＩＤを読み出し、そのホストに対して接続を要求するように、無線通信制御部１１０に対して指令する。ここでは例として、ホスト２００ａに対する接続を要求するものとする。これとともに、ホスト切り替え制御部１２１は、次接続ホストインデックス番号１４１ｂの値をインクリメントする（ステップＳ４２）。なお、次接続ホストインデックス番号１４１ｂは、初期状態においては、ホストＩＤ保持部１４１ａの先頭の行番号に設定されればよい。
【００６１】
無線通信制御部１１０は、無線通信Ｉ／Ｆ１０１を通じて、ホスト２００ａに対して接続を要求するためのＤＮ＿Ｃｏｎｎｅｃｔコマンドを送信する。このとき、接続要求元として、デバイス１００自身のＣＤＩＤが設定される。ＤＮ＿Ｃｏｎｎｅｃｔコマンドを受信したホスト２００ａは、ＭＭＣパケットの中に、接続を許可するためのコネクトアクノーレッジＩＥ（ＷＣＯＮＮＥＣＴＡＣＫ＿ＩＥ：Wireless USB Connect Acknowledge IE）を設定して、デバイス１００に対して応答する。
【００６２】
コネクトアクノーレッジＩＥが設定されたＭＭＣパケットをデバイス１００が受信し、デバイス１００とホスト２００ａとの間でエニュメレーションが正常に実行されると、デバイス１００とホスト２００ａとは接続状態となる（ステップＳ４４）。なお、接続状態においては、例えば、ホスト２００ａから印刷を要求するコマンドが発行され、これを受信したデバイス１００では、受信したコマンドがデバイス制御部１３０に引き渡される。これにより、ホスト２００ａから要求された画像のプリント動作が実行される。
【００６３】
ここで、デバイス１００の周辺ホスト探索制御部１２３は、ホスト２００ａとの接続状態である間にも、図１０で説明した処理手順（例えば、ステップＳ２１，Ｓ２２，Ｓ２３，Ｓ２５）を例えば一定期間ごとに実行して、通信可能範囲に存在するホストを探索し、その探索結果を基に周辺ホスト一覧情報１４３を更新する。周辺ホスト一覧情報１４３に変更があった場合、ホスト切り替え制御部１２１は、その変更に応じて接続ホスト一覧情報１４１を更新する（ステップＳ４５）。
【００６４】
また、ホスト切り替え制御部１２１は、例えば、ホスト２００ａへの接続開始から一定時間が経過すると、接続中のホスト２００ａに対して切断を要求するように、無線通信制御部１１０に対して指令する（ステップＳ４６）。なお、切断要求は、この他に例えば、ホスト２００ａから要求された１つのイベントが終了したことを契機に行われてもよい。このようなイベントの例としては、１枚分の画像のプリントなどを適用可能である。また、ホスト切り替え制御部１２１は、イベントの終了を、例えばデバイス制御部１３０からの通知によって判断することができる。
【００６５】
無線通信制御部１１０は、切断要求に応じて、ホスト２００ａに対して、切断を要求するためのＤＮ＿Ｄｉｓｃｏｎｎｅｃｔコマンドを送信する。このとき、接続要求元として、デバイス１００自身のＣＤＩＤが設定される。ＤＮ＿Ｄｉｓｃｏｎｎｅｃｔコマンドを受信したホスト２００ａは、ＭＭＣパケットの中に、デバイスとの無線通信を切断するためのデバイスディスコネクトＩＥ（ＷＤＥＶ＿ＤＩＳＣＯＮＮＥＣＴ＿ＩＥ：Wireless USB Device Disconnect IE）を設定して、デバイス１００に対して応答する。これにより、ホスト２００ａとデバイス１００との無線通信が切断される。
【００６６】
ホスト２００ａとの無線通信が切断されると、ホスト切り替え制御部１２１は、ステップＳ４２での処理と同様に、接続ホスト一覧情報１４１の次接続ホストインデックス番号１４１ｂが指示しているホストのＣＨＩＤを読み出す。ここでは読み出されたＣＨＩＤがホスト２００ｂのものであるとすると、ホスト切り替え制御部１２１は、ホスト２００ｂに対して接続を要求するように、無線通信制御部１１０に対して指令する。これとともに、ホスト切り替え制御部１２１は、次接続ホストインデックス番号１４１ｂの値をインクリメントする（ステップＳ４７）。
【００６７】
無線通信制御部１１０は、無線通信Ｉ／Ｆ１０１を通じて、接続要求元としてデバイス１００自身のＣＤＩＤを設定したＤＮ＿Ｃｏｎｎｅｃｔコマンドを、ホスト２００ｂに対して送信する。ＤＮ＿Ｃｏｎｎｅｃｔコマンドを受信したホスト２００ｂは、ＭＭＣパケットの中にコネクトアクノーレッジＩＥを設定してデバイス１００に対して応答する。この後、デバイス１００とホスト２００ｂとの間のエニュメレーションが正常に実行されると、デバイス１００とホスト２００ｂとは接続状態となり（ステップＳ４８）、デバイス１００のデバイス制御部１３０は、ホスト２００ｂからのコマンドに応じた処理を実行する。
【００６８】
また、ステップＳ４５の場合と同様に、ホスト２００ｂとの接続中においても、通信可能範囲に存在するホストを探索し、その探索結果を基に必要に応じて周辺ホスト一覧情報１４３を更新する。そして、周辺ホスト一覧情報１４３の変更に応じて、接続ホスト一覧情報１４１も更新される（ステップＳ４９）。
【００６９】
さらに、ホスト２００ｂへの接続開始から一定時間が経過したとき、あるいは、ホスト２００ｂから要求された１つのイベントが終了したときに、ホスト切り替え制御部１２１は、接続中のホスト２００ｂに対して切断を要求するように無線通信制御部１１０に指令する（ステップＳ５０）。無線通信制御部１１０は、切断要求に応じて、ホスト２００ｂに対してＤＮ＿Ｄｉｓｃｏｎｎｅｃｔコマンドを送信し、ホスト２００ｂはこのコマンドに応じて、デバイス１００との無線通信を切断する。
【００７０】
以後、上記のステップＳ４２，Ｓ４７のように、接続ホスト一覧情報１４１を基に次の接続先を特定して、接続／切断を行う処理が繰り返される。これにより、デバイス１００に対する接続先のホストが、デバイス１００側の自律的な制御によって、接続ホスト一覧情報１４１に登録された順に切り替えられていく。このような動作により、複数のホストが１つのデバイスを共用しているような動作が実現される。
【００７１】
また、複数のホストに対して接続先を順次切り替えていく間、デバイス１００は周囲に存在するホストを定期的に探索し、その結果に応じて周辺ホスト一覧情報１４３および接続ホスト一覧情報１４１を更新していく。このように、デバイス１００は、接続の対象とするホストを自律的に検出しながら接続先のホストを順次切り替えていくことで、デバイス１００に処理を要求しようとしている新たなホストと確実に接続できるとともに、処理の要求が終了したホストと無駄な通信を継続しなくて済むようになる。
【００７２】
図１４は、周辺ホストの探索処理と接続先の切り替え処理との関係を示す図である。
図１４において、ステップＳ６１〜Ｓ６５は、図１３のステップＳ４５，Ｓ４６、およびステップＳ４９，Ｓ５０において、周辺ホスト探索制御部１２３によって実行される処理の詳細であり、これらの処理内容は図１０で説明した通りである。すなわち、ステップＳ６１〜Ｓ６４は図１０のステップＳ２１〜Ｓ２３，Ｓ２５（およびステップＳ２６〜Ｓ２８，Ｓ３０）にそれぞれ対応し、ステップＳ６５はステップＳ３１に対応する。
【００７３】
また、図１４のステップＳ７１〜Ｓ７３は、図１３のステップＳ４１，Ｓ４２，Ｓ４５，Ｓ４６，Ｓ４９，Ｓ５０において、ホスト切り替え制御部１２１によって実行される処理の詳細である。これらのうち、ステップＳ７２，Ｓ７３の処理内容は、図１３のステップＳ４２，Ｓ４６、およびステップＳ４７，Ｓ５０で説明した通りである。また、ステップＳ７１の処理は、図１３のステップＳ４１の処理と同じであるとともに、この処理は、図１３のステップＳ４５，Ｓ４９でも、周囲に存在するホストが探索され、その結果が周辺ホスト一覧情報１４３に反映されるたびに実行される。
【００７４】
図１３で説明したように、周辺ホスト探索制御部１２３による周辺ホストの探索処理（ステップＳ６１〜Ｓ６５）と、ホスト切り替え制御部１２１による接続先ホストの切り替え処理（ステップＳ７１〜Ｓ７３）とは、並行して実行される。例として図１３の処理手順に従えば、ステップＳ７２，Ｓ７３の処理により１つのホストに対して接続／切断が実行されるたびに、その接続から切断までの間に、ステップＳ６１〜Ｓ６５の処理が、周囲に存在するホスト数の分だけ繰り返される。そして、ホストの探索の結果がステップＳ６４，Ｓ６５の処理により周辺ホスト一覧情報１４３に反映された後、その周辺ホスト一覧情報１４３が次のステップＳ７１の処理においてホスト切り替え制御部１２１により参照され、接続ホスト一覧情報１４１が必要に応じて更新される。
【００７５】
次に、上記のように複数のホストへ接続可能なデバイス１００に対して処理を要求するのに好適な、ホストの構成例について説明する。図１５は、ホストが備える処理機能の例を示すブロック図である。
【００７６】
図１５に示すホスト２００は、大別して、無線通信制御部２１０と、接続制御部２２０と、アプリケーション制御部２３０と、イベント蓄積部２４０とを備えている。これらのうち、無線通信制御部２１０、接続制御部２２０、およびアプリケーション制御部２３０の各処理は、例えば、ＣＰＵ２０１によって所定のプログラムが実行されることで実現される。また、イベント蓄積部２４０は、ＨＤＤ２０３またはＲＡＭ２０２などの記憶装置において実現される。
【００７７】
無線通信制御部２１０は、無線通信Ｉ／Ｆ２０６を通じて、ワイヤレスＵＳＢ規格の通信手順に従ってデバイスと無線通信するための機能であり、接続制御部２２０からの接続や切断などの要求に応じて動作する。
【００７８】
接続制御部２２０は、無線通信制御部２１０を制御して、デバイスとの接続／切断やデバイスとの間のデータ送受信などの処理を行う。また、接続されたデバイスとアプリケーション制御部２３０との間のデータ送受信を仲介する。
【００７９】
アプリケーション制御部２３０は、デバイス１００を利用するアプリケーションが実行される機能であり、接続制御部２２０を介して、デバイス１００に対して所定のイベントの実行を要求する。本実施の形態では、デバイス１００において所望の画像のプリントを実行させることが可能となっている。
【００８０】
イベント蓄積部２４０には、接続制御部２２０の制御の下で、アプリケーション制御部２３０から要求されたイベントの情報が一時的に蓄積される。
また、図１５に示すように、接続制御部２２０は、アソシエーション制御部２２１と、デバイス接続制御部２２２と、イベント蓄積制御部２２３とを具備している。また、これらの機能で利用される情報として、ホスト２００のＨＤＤ２０３あるいはＲＡＭ２０２には、ＣＣ一覧情報２５１が格納される。
【００８１】
アソシエーション制御部２２１は、ワイヤレスＵＳＢで規定された、ホストへの接続に先立ってデバイス１００との間で実行されるアソシエーションを制御する。アソシエーションの手順は前述の通りであり、ＣＣ一覧情報２５１には、アソシエーションが完了したデバイス１００に対応するＣＣが登録される。
【００８２】
デバイス接続制御部２２２は、ＣＣ一覧情報２５１を参照し、ここに登録されたデバイス１００からの接続／切断の要求に応じて、無線通信制御部２１０を介してデバイス１００との接続／切断の動作を制御する。そして、デバイス１００に実行させるイベントがアプリケーション制御部２３０から要求されると、このイベント要求を無線通信制御部２１０に通知して、接続されたデバイス１００に送信させる。
【００８３】
イベント蓄積制御部２２３は、アプリケーション制御部２３０から要求されたイベントの情報を、イベント蓄積部２４０に一時的に記憶する。ここで、複数のホストによりデバイス１００を共用する場合、前述のように１台のホストが常時デバイス１００に接続されてはいない。このため、デバイス１００と接続されていない状態では、デバイス１００に対してイベントの実行を要求することができない。そこで、イベント蓄積制御部２２３は、アプリケーション制御部２３０からイベント要求を受け付けたときに、デバイス１００と接続されていなければ、そのイベント情報をイベント蓄積部２４０に一時的に記憶した後、デバイス１００と接続されたときにそのイベント情報をデバイス接続制御部２２２に読み出して、デバイス１００に対してイベントの実行を要求できるようにする。
【００８４】
図１６は、デバイスに対してイベントを要求する際のホスト内の各部の処理シーケンスを示す図である。
ホスト２００に対するユーザの操作入力により、デバイス１００に実行させるイベント（例えば印刷）が要求されると、アプリケーション制御部２３０は、この操作入力に応じて、要求されたイベントの情報を接続制御部２２０に通知する（ステップＳ８１）。なお、イベント情報の通知は、ユーザの操作入力が行われたタイミングに限らず、例えば、あらかじめ設定された時刻に、あるいは、所定のアプリケーションの処理により要求されたタイミングで、自動的に行われてもよい。
【００８５】
接続制御部２２０では、アプリケーション制御部２３０からイベント情報をデバイス接続制御部２２２が受け付け、現在のデバイス１００との接続状態を判定する。このとき、デバイス１００との無線通信が未接続状態であった場合には、デバイス接続制御部２２２は、通知されたイベント情報の蓄積が必要と判定し（ステップＳ８２）、このイベント情報をイベント蓄積部２４０に一時的に蓄積するように、イベント蓄積制御部２２３に対して要求する（ステップＳ８３）。イベント蓄積制御部２２３は、要求に応じて、イベント情報をイベント蓄積部２４０に蓄積する（ステップＳ８４）。また、デバイス接続制御部２２２はさらに、アプリケーション制御部２３０に対して、通知されたイベントが正常に実行されたことを示す応答を行う（ステップＳ８５）。なお、デバイス１００との未接続状態において、アプリケーション制御部２３０からさらにイベント情報が通知された場合には、上記の処理手順によりそのイベント情報がイベント蓄積部２４０に蓄積される。
【００８６】
そして、デバイス接続制御部２２２は、デバイス１００からの接続要求のためのＤＮ＿Ｃｏｎｎｅｃｔコマンドの受信を検出すると、デバイスに対して接続を許可するためのコネクトアクノーレッジＩＥを返信するなど、接続のための処理を実行する（ステップＳ８６）。これによってデバイス１００との接続状態に遷移したことを判定すると、デバイス接続制御部２２２は、イベント蓄積部２４０に蓄積された未処理イベントの要求が可能と判定し（ステップＳ８７）、未処理イベントの情報の読み出しをイベント蓄積制御部２２３に対して要求する（ステップＳ８８）。
【００８７】
イベント蓄積制御部２２３は、イベント蓄積部２４０から未処理イベントの情報を読み出し、デバイス接続制御部２２２に受け渡す（ステップＳ８９）。デバイス接続制御部２２２は、イベント蓄積制御部２２３からのイベント情報を基に、イベントを要求するための送信データを生成し、無線通信制御部２１０に出力してデバイス１００に対して送信させる（ステップＳ９０）。
【００８８】
この後、例えば、接続開始から一定時間が経過したとき、あるいは、１つのイベントの要求が完了したときに、デバイス１００からの切断要求に応じて、ホスト２００とデバイス１００とが切断される。そして、切断状態においてアプリケーション制御部２３０からイベント情報が通知されると、上記の手順によりその情報がイベント蓄積部２４０に蓄積される。
【００８９】
また、図示しないが、デバイス１００との接続状態においてアプリケーション制御部２３０からイベント情報が通知された場合には、デバイス接続制御部２２２は、そのイベント情報をイベント蓄積部２４０に蓄積させることなく、イベントの実行要求をデバイス１００に対して行うようにすればよい。
【００９０】
あるいは、デバイス１００との接続／未接続に関係なく、アプリケーション制御部２３０から通知されたイベント情報はすべて一旦イベント蓄積部２４０に蓄積され、デバイス接続制御部２２２は、デバイス１００との接続状態において、イベント蓄積部２４０から未処理イベントの情報を蓄積順に読み出し、イベントの実行要求をデバイス１００に対して行うようにしてもよい。
【００９１】
以上のホスト２００の処理によれば、デバイス１００との未接続状態においてアプリケーション制御部２３０からイベントの実行が要求されると、そのイベント情報が一旦イベント蓄積部２４０に蓄積されて、接続状態に遷移したときに、蓄積されたイベント情報に基づくイベントの実行が要求される。従って、デバイス１００と常時接続されていない場合でも、アプリケーション制御部２３０から要求されたイベントを、その要求を拒否することなく確実にデバイス１００に実行させることができる。
【００９２】
また、イベント情報がイベント蓄積部２４０に蓄積されたときに、アプリケーション制御部２３０に対してはイベントの実行が完了したことを示す応答が行われるので、アプリケーション制御部２３０の仕様（すなわち、デバイス１００を利用可能なアプリケーションの仕様）を、デバイス１００に連続的に接続して処理するホストに実装されるものと同じとすることができる。従って、既存のアプリケーションを実行可能な汎用性の高いホストを実現できる。
【００９３】
なお、以上の実施の形態におけるデバイスおよびホストの処理機能は、コンピュータによって実現することができる。その場合には、上記のデバイスおよびホストがそれぞれ有すべき処理機能の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
【００９４】
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、そのプログラムを、サーバコンピュータからネットワークを介して他のコンピュータに転送することもできる。
【００９５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、そのプログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９６】
（付記１）  無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置において、
無線接続可能な１つ以上の前記ホスト機器を登録したホスト一覧情報を記憶するホスト一覧情報記憶部と、
前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う接続制御部と、
前記接続制御部の要求に応じて接続状態とされた前記ホスト機器から受信した制御情報に応じて所定の処理を行う処理部と、
を有することを特徴とする無線通信装置。
【００９７】
（付記２）  周囲に存在する前記ホスト機器を探索し、無線接続可能な前記ホスト機器を検出すると当該ホスト機器を前記ホスト一覧情報に登録するホスト探索部を有し、
前記接続制御部により、前記ホスト一覧情報に登録された前記各ホスト機器に対して接続および切断の要求が繰り返されている間にも、前記ホスト探索部による前記ホスト機器の探索および前記ホスト一覧情報の更新の処理が並行して繰り返し実行されることを特徴とする付記１記載の無線通信装置。
【００９８】
（付記３）  前記ホスト探索部は、前記ホスト機器を検出順に前記ホスト一覧情報に登録し、
前記接続制御部は、前記ホスト一覧情報に登録された順番で、登録された前記ホスト機器のそれぞれに対して接続および切断の要求を行うことを特徴とする付記２記載の無線通信装置。
【００９９】
（付記４）  前記接続制御部は、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して、一定時間ごとに接続および切断の要求を繰り返すことを特徴とする付記３記載の無線通信装置。
【０１００】
（付記５）  前記接続制御部は、前記ホスト一覧情報に登録された１つのホスト機器に接続された状態において、当該ホスト機器から要求された１つのイベントが前記処理部に実行され、当該イベントの実行が終了されると、当該ホスト機器との無線通信を切断して、前記ホスト一覧情報に登録された別の前記ホスト機器に対する接続動作を実行することを特徴とする付記３記載の無線通信装置。
【０１０１】
（付記６）  前記ホスト探索部は、周囲に存在する前記ホスト機器の探索により、前記ホスト一覧情報に登録されている前記ホスト機器が検出されなかった場合には、当該ホスト機器の登録情報を前記ホスト一覧情報から削除することを特徴とする付記２記載の無線通信装置。
【０１０２】
（付記７）  あらかじめ接続対象として認証された前記ホスト機器が登録された認証ホスト一覧情報を記憶する認証ホスト一覧情報記憶部を有し、
前記ホスト探索部は、周囲から検出された前記ホスト機器のうち、前記認証ホスト一覧情報記憶部に登録されている前記ホスト機器を、前記ホスト一覧情報に登録することを特徴とする付記２記載の無線通信装置。
【０１０３】
（付記８）  無線通信により接続された無線デバイスを制御する無線通信装置において、
前記無線デバイスに実行させるイベントの情報を発行するイベント要求発行部と、
少なくとも前記無線デバイスと接続されていない場合に、前記イベント要求発行部から発行されたイベントの情報を一時的に蓄積するイベント蓄積部と、
前記無線デバイスと接続されると、前記イベント蓄積部から、前記無線デバイスに対して要求済みでないイベントの情報を読み出し、当該イベントの実行を前記無線デバイスに対して要求するイベント要求処理部と、
を有することを特徴とする無線通信装置。
【０１０４】
（付記９）  前記イベント要求発行部から発行されたイベントの情報が前記イベント蓄積部に蓄積されると、当該イベントの実行が完了したことを示す応答情報を前記イベント要求発行部に通知するイベント蓄積制御部を有することを特徴とする付記８記載の無線通信装置。
【０１０５】
（付記１０）  前記イベント要求処理部は、前記無線デバイスからの接続要求を待機し、前記接続要求の受信に応じて前記無線デバイスとの接続状態に遷移すると、前記イベント蓄積部からのイベントの情報の読み出しを開始することを特徴とする付記９記載の無線通信装置。
【０１０６】
（付記１１）  無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置における通信制御方法であって、
ホスト登録部が、無線接続可能な１つ以上の前記ホスト機器を、記憶部に記憶されたホスト一覧情報に登録し、
接続制御部が、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う、
ことを特徴とする通信制御方法。
【０１０７】
（付記１２）  無線通信により接続された無線デバイスを制御する無線通信装置における通信制御方法であって、
少なくとも前記無線デバイスと接続されていない場合に、イベント要求発行部から前記無線デバイスに実行させるイベントの情報が発行されると、イベント蓄積制御部が、発行されたイベントの情報を記憶部に一時的に蓄積し、
イベント要求処理部が、前記無線デバイスと接続されると、前記無線デバイスに対して要求済みでないイベントの情報を前記記憶部から読み出し、当該イベントの実行を前記無線デバイスに対して要求する、
ことを特徴とする通信制御方法。
【図面の簡単な説明】
【０１０８】
【図１】実施の形態に係る無線通信装置の概要を示す図である。
【図２】実施の形態に係る通信システムの例を示すシステム構成図である。
【図３】デバイスのハードウェア構成例を示すブロック図である。
【図４】ホストのハードウェア構成例を示すブロック図である。
【図５】デバイスが備える処理機能の例を示すブロック図である。
【図６】アソシエーションの手順を概略的に説明するための図である。
【図７】ＣＣ一覧情報のデータ構成例を示す図である。
【図８】１つのＵＷＢ無線チャネルとワイヤレスＵＳＢチャネルとの関係を示す図である。
【図９】ＭＭＣパケットにおけるＣＨＩＤの格納位置を示す図である。
【図１０】デバイスがホストを探索する際の処理シーケンスの例を示す図である。
【図１１】周辺ホスト一覧情報のデータ構成例を示す図である。
【図１２】接続ホスト一覧情報のデータ構成例を示す図である。
【図１３】デバイスと複数のホストとが接続する際の処理シーケンスを示す図である。
【図１４】周辺ホストの探索処理と接続先の切り替え処理との関係を示す図である。
【図１５】ホストが備える処理機能の例を示すブロック図である。
【図１６】デバイスに対してイベントを要求する際のホスト内の各部の処理シーケンスを示す図である。
【符号の説明】
【０１０９】
１  無線通信装置
２ａ，２ｂ，２ｃ  ホスト機器
１１  無線通信Ｉ／Ｆ
１２  ホスト探索部
１３  接続制御部
１４  処理部
１５  ホスト一覧情報
【図１】
2009200669.tif 000003
【図２】
2009200669.tif 000004
【図３】
2009200669.tif 000005
【図４】
2009200669.tif 000006
【図５】
2009200669.tif 000007
【図６】
2009200669.tif 000008
【図７】
2009200669.tif 000009
【図８】
2009200669.tif 000010
【図９】
2009200669.tif 000011
【図１０】
2009200669.tif 000012
【図１１】
2009200669.tif 000013
【図１２】
2009200669.tif 000014
【図１３】
2009200669.tif 000015
【図１４】
2009200669.tif 000016
【図１５】
2009200669.tif 000017
【図１６】
2009200669.tif 000018