JP2009200669A - 無線通信装置および通信制御方法 - Google Patents
無線通信装置および通信制御方法 Download PDFInfo
- Publication number
- JP2009200669A JP2009200669A JP2008038284A JP2008038284A JP2009200669A JP 2009200669 A JP2009200669 A JP 2009200669A JP 2008038284 A JP2008038284 A JP 2008038284A JP 2008038284 A JP2008038284 A JP 2008038284A JP 2009200669 A JP2009200669 A JP 2009200669A
- Authority
- JP
- Japan
- Prior art keywords
- host
- event
- wireless communication
- connection
- control unit
- 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.)
- Pending
Links
Images
Abstract
【課題】無線通信装置を、複数のホスト機器によって共用可能にする。
【解決手段】無線通信装置1は、無線通信により接続されたホスト機器2a〜2cからの制御に応じて動作する。ホスト一覧情報15には、無線接続可能な1つ以上のホスト機器2a〜2cが登録される。接続制御部13は、ホスト一覧情報15に登録されたホスト機器2a〜2cのそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う。処理部14は、接続制御部13の要求に応じて接続状態とされたホスト機器から受信した制御情報に応じて所定の処理を行う。ホスト探索部12は、周囲に存在するホスト機器2a〜2cを探索し、無線接続可能なホスト機器を検出するとそのホスト機器をホスト一覧情報15に登録する。ここで、接続制御部13とホスト探索部12の各処理は並行して繰り返し実行される。
【選択図】図1
【解決手段】無線通信装置1は、無線通信により接続されたホスト機器2a〜2cからの制御に応じて動作する。ホスト一覧情報15には、無線接続可能な1つ以上のホスト機器2a〜2cが登録される。接続制御部13は、ホスト一覧情報15に登録されたホスト機器2a〜2cのそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う。処理部14は、接続制御部13の要求に応じて接続状態とされたホスト機器から受信した制御情報に応じて所定の処理を行う。ホスト探索部12は、周囲に存在するホスト機器2a〜2cを探索し、無線接続可能なホスト機器を検出するとそのホスト機器をホスト一覧情報15に登録する。ここで、接続制御部13とホスト探索部12の各処理は並行して繰り返し実行される。
【選択図】図1
Description
本発明は、無線通信により他の機器と通信する無線通信装置、およびその装置における通信制御方法に関し、特に、無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置、無線通信により接続された無線デバイスを制御する無線通信装置、およびこれらの装置における通信制御方法に関する。
USB(Universal Serial Bus)は、主としてPC(Personal Computer)と周辺機器とを接続するために開発されたインタフェース規格である。このUSBは現在、多くの周辺機器に採用されて広く普及している。また、USB2.0では、最大480Mbpsの速度で通信することが可能である。このようなUSBでは、PC(ホスト)と周辺機器(デバイス)との間は、通信ケーブルによって物理的に接続される。以下、物理ケーブルを用いて接続するUSB規格を、“有線USB”と称する。
これに対して、近年標準化されたワイヤレスUSBでは、ホストとデバイスとの接続は、物理的なケーブルの代わりにUWB(Ultra Wide Band)に基づいた無線通信で行われる(例えば、非特許文献1,2参照)。このワイヤレスUSBでは、ホストとデバイスとの距離が3mで480Mbps、10mで110Mbpsの速度での通信が可能である。また、ワイヤレスUSBは、USB2.0でのホストとデバイスとの接続の基本的なアーキテクチャ(プロトコル)を踏襲しており、有線USBと同様に、1台のホストに128台のデバイスが同時に接続できる。また、1台のデバイスは同時に複数のホストと接続することはできない。
有線USBでのホストとデバイスとの接続処理は、物理的なケーブルでの接続を契機として、ケーブルを介してデバイスからホストに対して、デバイスのディスクリプション(デバイス自身の情報)を通知することから開始される。また、切断処理は、ケーブルを抜去することで行われる。このように、有線USBの場合、切断/接続の処理は手動によるケーブルの抜き差しで実現される。
一方、ワイヤレスUSBでの接続処理では、ケーブルの抜き差しという手順は必要なくなる。また、セキュリティ確保のため、デバイスとホストとは、“アソシエーション”と呼ばれる規定された手順に従って、コネクションコンテキスト(Connection Context)と呼ばれる機器同士の通信に必要な情報を共有し、このプロセスを実施したホストとデバイスのみが接続を行うことができる(例えば、非特許文献3参照)。デバイスとホストはこのプロセスによって、接続対象のホスト情報またはデバイス情報を取得し、管理する。この後、ホストは、UWBの無線通信により自身の情報をブロードキャストで周辺機器に通知する。デバイスは、ブロードキャストの送信元ホストと事前にアソシエーションを実施していれば、そのホストに対して接続要求を行う。ホストは、その接続要求を受信し、そのデバイスと事前にアソシエーションを実施していれば、そのデバイスに対して接続許可のシーケンスを開始する。また、切断処理は、ホストまたはデバイスから接続相手に対して切断要求を発行することによって実現される。
"Wireless Universal Serial Bus Specification, Revision 1.0"、2005年5月12日、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"、2005年12月8日、WiMedia Alliance, Inc.、インターネット<URL : http://www.wimedia.org/en/index.asp> "Association Models Supplement to the Certified Wireless Universal Serial Bus Revision 1.0"、2006年3月2日、USB Implementers Forum, Inc.、インターネット<URL : http:// www.usb.org/developers/wusb/wusb_2007_0214.zip>
"Wireless Universal Serial Bus Specification, Revision 1.0"、2005年5月12日、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"、2005年12月8日、WiMedia Alliance, Inc.、インターネット<URL : http://www.wimedia.org/en/index.asp> "Association Models Supplement to the Certified Wireless Universal Serial Bus Revision 1.0"、2006年3月2日、USB Implementers Forum, Inc.、インターネット<URL : http:// www.usb.org/developers/wusb/wusb_2007_0214.zip>
ところで、USBデバイスの利用シーンとして、1台のデバイスを複数のホストで必要に応じて利用する場合が想定される。例えば、オフィスなどで、USB対応プリンタ(デバイス)を複数のPC(ホスト)で共有するケースなどである。前述のように、USB規格では1つのデバイスが同時に複数のホストと接続することはできない。このため、有線USBでは、そのプリンタを利用したい場合には、物理的にケーブルを差し替えるといった手作業が必要となり、利便性が悪かった。
一方、ワイヤレスUSBでは、ケーブルの抜き差しといった手作業は不要となる。しかし、ホストを切り替えたい時は、現在接続されているPCからのプリンタ出力処理が終了した後、人の手作業により、PCまたはプリンタから切断処理のための操作を行い、さらに、プリンタに接続しようとしている別のPCに対する接続要求のための操作を行う、という手順が必要となる。このように、ワイヤレスUSBの場合でも、ケーブルの抜き差しという手順が無くなるにもかかわらず、結局は人手を介さなければならず、無線化した恩恵が得られないという問題があった。
また、ワイヤレスUSBでは、プリンタに接続しようとしているPCが複数台存在する場合において、プリンタがどのPCとの接続を選択するかのルールについても、特に何も決められていない。このため、デバイスが期待していないホストに接続してしまう、または、接続されるホストに偏りが生じる可能性があるといった問題もあった。
本発明はこのような点に鑑みてなされたものであり、複数のホスト機器によって無線通信を通じて共用可能とされた無線通信装置、そのホスト側の無線通信装置、およびこれらの装置における通信制御方法を提供することを目的とする。
上記目的を達成するために、無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置が提供される。この無線通信装置は、無線接続可能な1つ以上の前記ホスト機器を登録したホスト一覧情報を記憶するホスト一覧情報記憶部と、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う接続制御部と、前記接続制御部の要求に応じて接続状態とされた前記ホスト機器から受信した制御情報に応じて所定の処理を行う処理部と、を有する。
ここで、ホスト一覧情報記憶部には、この無線通信装置と無線接続可能なホスト機器を1つ以上登録可能とされている。接続制御部は、ホスト機器に対して無線通信による接続要求および切断要求を行う機能を備え、ホスト一覧情報に登録されたホスト機器のそれぞれに対して順次、接続および切断の要求を繰り返して行うことにより、それぞれのホスト機器に順次接続されていくように制御する。そして、接続制御部の要求に応じて1のホスト機器と接続状態とされ、そのホスト機器から制御情報が受信されると、処理部において、その制御情報に応じた所定の処理が行われる。
また、上記目的を達成するために、無線通信により接続された無線デバイスを制御する無線通信装置が提供される。この無線通信装置は、前記無線デバイスに実行させるイベントの情報を発行するイベント要求発行部と、少なくとも前記無線デバイスと接続されていない場合に、前記イベント要求発行部から発行されたイベントの情報を一時的に蓄積するイベント蓄積部と、前記無線デバイスと接続されると、前記イベント蓄積部から、前記無線デバイスに対して要求済みでないイベントの情報を読み出し、当該イベントの実行を前記無線デバイスに対して要求するイベント要求処理部と、を有する。
ここで、イベント要求発行部は、無線デバイスに所定のイベントを実行させたい場合に、そのイベントの情報を発行する。イベント蓄積部には、少なくとも無線デバイスと接続されていない状態において、イベント要求発行部から発行されたイベントの情報が一時的に蓄積される。そして、無線デバイスと接続されると、イベント要求処理部により、無線デバイスに対して要求済みでないイベントの情報がイベント蓄積部から読み出され、そのイベントの実行が無線デバイスに対して無線通信を通じて要求される。
ホスト機器からの制御に応じて動作する上記の無線通信装置によれば、複数のホスト機器から共用されて動作することができる。
また、無線デバイスを制御する上記の無線通信装置によれば、同様な構成の複数の無線通信装置により無線デバイスを共用する際に、その無線デバイスにイベントの実行を確実に要求できる。
また、無線デバイスを制御する上記の無線通信装置によれば、同様な構成の複数の無線通信装置により無線デバイスを共用する際に、その無線デバイスにイベントの実行を確実に要求できる。
以下、実施の形態について図面を参照して詳細に説明する。
図1は、実施の形態に係る無線通信装置の概要を示す図である。
図1に示す無線通信装置1は、無線通信により1つのホスト機器と接続して、接続したホスト機器からの制御の下で動作する装置である。なお、ここでは例として、3つのホスト機器2a〜2cを図示している。この無線通信装置1は、無線通信I/F(インタフェース)11、ホスト探索部12、接続制御部13、および処理部14を備えている。また、無線通信装置1内の記憶装置には、ホスト一覧情報15が記憶される。
図1は、実施の形態に係る無線通信装置の概要を示す図である。
図1に示す無線通信装置1は、無線通信により1つのホスト機器と接続して、接続したホスト機器からの制御の下で動作する装置である。なお、ここでは例として、3つのホスト機器2a〜2cを図示している。この無線通信装置1は、無線通信I/F(インタフェース)11、ホスト探索部12、接続制御部13、および処理部14を備えている。また、無線通信装置1内の記憶装置には、ホスト一覧情報15が記憶される。
無線通信I/F11は、ホスト機器との間で無線通信を行うためのI/F回路である。なお、無線通信規格としては、後述するワイヤレスUSBなどを適用可能である。
ホスト探索部12は、周囲に存在するホスト機器を無線通信I/F11を通じて探索し、無線接続可能なホスト機器を検出すると、そのホスト機器をホスト一覧情報15に登録する。また、このようなホスト機器の探索は間隔を空けて繰り返し実行され、新たに検出されたホスト機器がホスト一覧情報15に登録されるとともに、検出されなくなったホスト機器の登録情報はホスト一覧情報15から削除される。また、ホスト一覧情報15には、例えば、ホスト探索部12によって検出された順番でホスト機器が登録される。
ホスト探索部12は、周囲に存在するホスト機器を無線通信I/F11を通じて探索し、無線接続可能なホスト機器を検出すると、そのホスト機器をホスト一覧情報15に登録する。また、このようなホスト機器の探索は間隔を空けて繰り返し実行され、新たに検出されたホスト機器がホスト一覧情報15に登録されるとともに、検出されなくなったホスト機器の登録情報はホスト一覧情報15から削除される。また、ホスト一覧情報15には、例えば、ホスト探索部12によって検出された順番でホスト機器が登録される。
接続制御部13は、ホスト一覧情報15に登録されたホスト機器との無線通信の接続/切断動作を制御する。具体的には、ホスト一覧情報15に登録されたそれぞれのホスト機器に対して、1台ずつ順次、無線通信による接続/切断の要求を繰り返し行う。また、接続制御部13は、例えば、ホスト一覧情報15に登録された順番で、ホスト機器に対して順次接続の要求を行う。
処理部14は、接続状態となっているホスト機器から無線通信により受信された制御情報に応じて、所定の処理を行う。従って、接続制御部13によって接続先のホスト機器が順次切り替えられていくと、処理部14では、接続されたそれぞれのホスト機器からの制御情報に応じて処理が実行されるので、それぞれのホスト機器から個別に要求された処理をそれぞれ実行することが可能となる。
なお、接続制御部13は、例えば、ホスト一覧情報15に登録されたホスト機器のそれぞれに対して、一定時間ごとに接続および切断の要求を繰り返すことで、接続先を切り替える。あるいは、ホスト一覧情報に登録された1つのホスト機器に接続された状態において、このホスト機器から要求された1つのイベントが処理部14によって実行され、このイベントの実行が終了されたときに、このホスト機器との無線通信を切断して、ホスト一覧情報15に登録された別のホスト機器に対する接続動作を実行するようにしてもよい。
以上の無線通信装置1では、接続制御部13の制御により、複数のホスト機器のそれぞれに対する無線接続を自律的に切り替えていくことで、処理の要求元のホスト機器のすべてに仮想的に接続して、それぞれのホスト機器から要求された処理を処理部14において実行することが可能となる。従って、1つのホスト機器のみに接続してそのホスト機器の制御の下で動作可能である無線通信装置1を、仮想的に複数のホスト機器によって共用できるようになる。
次に、上記の無線通信装置およびホスト機器からなる通信システムの具体例を挙げ、各装置の処理について詳しく説明する。ここでは、無線通信規格の例としてワイヤレスUSBを利用した場合について説明する。
図2は、実施の形態に係る通信システムの例を示すシステム構成図である。
図2に示す通信システムは、ワイヤレスUSBデバイス100と、このワイヤレスUSBデバイス100に対するホスト機器として機能するワイヤレスUSBホスト200a〜200cとから構成される。ここでは例として、ワイヤレスUSBデバイス100がプリンタであるものとし、ワイヤレスUSBホスト200a〜200cがそれぞれPCであるものとする。すなわち、PCであるワイヤレスUSBホスト200a〜200cのそれぞれは、ワイヤレスUSBデバイス100に対して無線接続してプリントを要求することで、所望の画像をプリントアウトさせることが可能となっている。
図2に示す通信システムは、ワイヤレスUSBデバイス100と、このワイヤレスUSBデバイス100に対するホスト機器として機能するワイヤレスUSBホスト200a〜200cとから構成される。ここでは例として、ワイヤレスUSBデバイス100がプリンタであるものとし、ワイヤレスUSBホスト200a〜200cがそれぞれPCであるものとする。すなわち、PCであるワイヤレスUSBホスト200a〜200cのそれぞれは、ワイヤレスUSBデバイス100に対して無線接続してプリントを要求することで、所望の画像をプリントアウトさせることが可能となっている。
なお、ここでは例として3つのワイヤレスUSBホスト200a〜200cを示しているが、ワイヤレスUSBホストとしては何台存在しても構わない。また、ワイヤレスUSBデバイス、ワイヤレスUSBホストについては、それぞれプリンタやPC以外の様々な情報処理機器として実現可能である。また、以下の説明では、ワイヤレスUSBデバイスを“デバイス”と略称し、ワイヤレスUSBホストを“ホスト”と略称する。
図3は、デバイスのハードウェア構成例を示すブロック図である。
図3に示すように、プリンタとして構成されるデバイス100は、無線通信I/F101、マイクロコンピュータ102、メモリ103、入力部104、表示部105、およびプリントモジュール106を備えており、これらのうち無線通信I/F101を除く各ブロックは、バス107を通じて相互に接続されている。
図3に示すように、プリンタとして構成されるデバイス100は、無線通信I/F101、マイクロコンピュータ102、メモリ103、入力部104、表示部105、およびプリントモジュール106を備えており、これらのうち無線通信I/F101を除く各ブロックは、バス107を通じて相互に接続されている。
無線通信I/F101は、UWBに従って無線により信号を送受信するためI/F回路であり、RF(Radio Frequency)回路や信号の変復調回路、アンテナなどを備えている。この無線通信I/F101は、マイクロコンピュータ102により制御されるワイヤレスUSBの通信手順に従って、ホストとの無線通信を行う。
マイクロコンピュータ102は、デバイス100全体の制御をつかさどる制御処理回路であり、メモリ103などに記憶されたプログラムをCPU(Central Processing Unit)により実行することで、デバイス100内の各部を制御する。メモリ103は、ROM(Read Only Memory)/RAM(Random Access Memory)などから構成され、マイクロコンピュータ102での処理で利用される各種のデータなどが格納される。
入力部104は、ユーザによって操作される各種のスイッチを備え、それらのスイッチに対する入力操作に応じた制御信号を、マイクロコンピュータ102に対して出力する。表示部105は、例えばLED(Light Emitting Diode)などから構成され、マイクロコンピュータ102から指示された情報を視覚的にユーザに通知する。
プリントモジュール106は、用紙差し込み部や用紙送り機構、印字機構などから構成され、マイクロコンピュータ102による制御の下で、このマイクロコンピュータ102から転送された画像データに基づく画像を、セットされた用紙に印刷する。
図4は、ホストのハードウェア構成例を示すブロック図である。なお、本実施の形態では、図2に示したホスト200a〜200cは同じハードウェア構成とされればよいので、ここではこれらをまとめてホスト200としている。
図4に示すように、PCとして構成されるホスト200は、CPU201、RAM202、HDD(Hard Disk Drive)203、グラフィック処理部204、入力I/F205、および無線通信I/F206によって構成され、これらはバス207を介して相互に接続されている。
CPU201は、ホスト200全体に対する制御をつかさどる。RAM202は、CPU201に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。HDD203には、OS(Operating System)やアプリケーションプログラム、各種データが格納される。
グラフィック処理部204には、モニタ204aが接続されている。このグラフィック処理部204は、CPU201からの命令に従って、モニタ204aの画面上に画像を表示させる。入力I/F205には、例えばキーボード205aやマウス205bなどの入力デバイスが接続されている。この入力I/F205は、入力デバイスからの信号を、バス207を介してCPU201に送信する。
無線通信I/F206は、UWBに従って無線により信号を送受信するためのI/F回路であり、RF回路、信号の変復調回路、アンテナなどを備えている。この無線通信I/F206は、CPU201により制御されるワイヤレスUSBの通信手順に従って、デバイス100との無線通信を行う。
次に、デバイス100における複数のホストとの接続機能について説明する。まず、図5は、デバイスが備える処理機能の例を示すブロック図である。
デバイス100は、大別して、無線通信制御部110と、接続制御部120と、デバイス制御部130を備えている。これらの各ブロックでの処理は、例えば、マイクロコンピュータ102によって所定のプログラムが実行されることで実現される。
デバイス100は、大別して、無線通信制御部110と、接続制御部120と、デバイス制御部130を備えている。これらの各ブロックでの処理は、例えば、マイクロコンピュータ102によって所定のプログラムが実行されることで実現される。
無線通信制御部110は、無線通信I/F101を通じて、ワイヤレスUSB規格の通信手順に従ってホストと無線通信するための機能であり、接続制御部120からの接続や切断などの要求に応じて動作する。
接続制御部120は、無線通信制御部110を制御して、ホストとの接続/切断やホストとの間のデータ送受信などの処理を行う。また、接続されたホストとデバイス制御部130との間のデータ送受信を仲介する。
デバイス制御部130は、接続制御部120を介してホストからの制御情報を受けることで、デバイス100固有のアプリケーションを実行する機能であり、本実施の形態では、プリントモジュール106における印刷動作を制御する。
また、図5に示すように、接続制御部120は、ホスト切り替え制御部121と、アソシエーション制御部122と、周辺ホスト探索制御部123とを具備している。また、これらの機能で利用される情報として、デバイス100のメモリ103には、接続ホスト一覧情報141と、コネクションコンテキスト(以下、CCと略称する)一覧情報142と、周辺ホスト一覧情報143とが格納される。
ホスト切り替え制御部121は、複数のホスト(ここでは、ホスト200a〜200c)のそれぞれに対して無線通信の接続先を順次切り替えることで、これらの複数のホストからデバイス100が共用されているように振る舞うことを可能にするための機能である。後述するように、ホスト切り替え制御部121は、接続ホスト一覧情報141に登録された、接続可能なホストを順次選択して接続し、デバイス100に実行させるべき処理の要求を受け付ける。
アソシエーション制御部122は、ワイヤレスUSBで規定された、ホストへの接続に先立ってホストとの間で必ず実行されるアソシエーションと呼ばれる通信処理を制御する。このアソシエーションでは、後述するように、機器同士の通信時の暗号化のために必要な情報であるCCが、ホストとデバイス100との間で共有される。アソシエーション制御部122は、アソシエーションが完了したホストに対応するCCを、CC一覧情報142に登録する。
周辺ホスト探索制御部123は、デバイス100の周辺に存在するホストを探索し、検出されたホストを周辺ホスト一覧情報143に登録する。ここで、周辺ホスト一覧情報143に登録され、かつ、CC一覧情報142に対応するCCが登録されたホストが、現在接続可能なホストとなり、ホスト切り替え制御部121は、このような判定の結果、接続可能と判定したホストを接続ホスト一覧情報141に登録し、この登録情報に基づいて接続先のホストを切り替える。
以下、ホストとの接続までの処理について説明する。まず、図6は、アソシエーションの手順を概略的に説明するための図である。
ワイヤレスUSBでは、ホストとデバイスとが無線により通信することから、データ転送時のセキュリティが強化されている。アソシエーションは、データ通信を行う際に暗号化で用いる鍵情報を交換するための処理である。アソシエーションの手順は、非特許文献3の“CABLE ASSOCIATION MODEL”および“NUMERIC ASSOCIATION MODEL”として規定されており、この手順によりCCがホストとデバイスとの間で交換される。この手順は、接続を開始する前に実施しておく必要がある。
ワイヤレスUSBでは、ホストとデバイスとが無線により通信することから、データ転送時のセキュリティが強化されている。アソシエーションは、データ通信を行う際に暗号化で用いる鍵情報を交換するための処理である。アソシエーションの手順は、非特許文献3の“CABLE ASSOCIATION MODEL”および“NUMERIC ASSOCIATION MODEL”として規定されており、この手順によりCCがホストとデバイスとの間で交換される。この手順は、接続を開始する前に実施しておく必要がある。
CCは、ホスト固有のID(CHID:Connection Host ID)と、デバイス固有のID(CDID:Connection Device ID)と、ホスト−デバイス間での固有のキーであって暗号化に用いられるコネクションキー(CK:Connection Key)とから構成される。ホストとデバイスとは、USBケーブルまたは無線を用いて、前述した規格に従って互いのCHID、CDIDを交換するとともに、CKを生成し、これらの情報を互いに保持する。
CCは、特定のホストと特定のデバイスとの間に固有に存在する。このため、デバイスが複数のホストと接続可能とするためには、各ホストと個別にアソシエーションを実行する必要がある。図6の例では、タイミングT11〜T13において、デバイス100とホスト200a〜200cのそれぞれとの間でアソシエーションが実行されている。
そして、これらのアソシエーションの実行後のタイミングT14では、ホスト200aには、ホスト200a自身のCHIDと、デバイス100のCDIDと、これらの機器間で固有のCKとが保持される。同様に、ホスト200bには、ホスト200b自身のCHIDと、デバイス100のCDIDと、これらの機器間で固有のCKとが保持され、ホスト200cには、ホスト200c自身のCHIDと、デバイス100のCDIDと、これらの機器間で固有のCKとが保持される。また、デバイス100では、デバイス100自身のCDIDと、ホスト200a〜200cのそれぞれのCHIDおよびそれぞれとの間で固有のCKとが保持される。
図7は、CC一覧情報のデータ構成例を示す図である。
デバイス100では、上記のアソシエーションはアソシエーション制御部122による制御の下で実行される。アソシエーション制御部122は、アソシエーションを実行したホストとの間で共有するCCを、CC一覧情報142に登録して管理する。すなわち、図7に示すように、CC一覧情報142には、デバイス100自身のCDID、アソシエーション済みのホストのCHID、およびこれらとの間で固有のCKが登録されている。さらに、図7の例では、アソシエーション済みのホストの数(すなわちCCの数)が“実装CC数”として記憶されている。
デバイス100では、上記のアソシエーションはアソシエーション制御部122による制御の下で実行される。アソシエーション制御部122は、アソシエーションを実行したホストとの間で共有するCCを、CC一覧情報142に登録して管理する。すなわち、図7に示すように、CC一覧情報142には、デバイス100自身のCDID、アソシエーション済みのホストのCHID、およびこれらとの間で固有のCKが登録されている。さらに、図7の例では、アソシエーション済みのホストの数(すなわちCCの数)が“実装CC数”として記憶されている。
なお、以上のアソシエーションは、ホストとデバイスとの接続に先立って1度実行されればよく、接続の度に実行される必要はない。
接続対象とする各ホストとのアソシエーションが実行されると、デバイス100は、例えば電源投入・起動の直後などのホストと接続していない状態において、周辺ホスト探索制御部123の制御によって、無線チャネルのスキャンを行って周囲に存在するホストを探索し、検出されたホストを周辺ホスト一覧情報143に登録する。
接続対象とする各ホストとのアソシエーションが実行されると、デバイス100は、例えば電源投入・起動の直後などのホストと接続していない状態において、周辺ホスト探索制御部123の制御によって、無線チャネルのスキャンを行って周囲に存在するホストを探索し、検出されたホストを周辺ホスト一覧情報143に登録する。
ここで、図8は、1つのUWB無線チャネルとワイヤレスUSBチャネルとの関係を示す図である。
デバイス100の周辺ホスト探索制御部123は、周囲に存在するホストを探し出すために、まず、UWBに基づいた無線チャネル(UWB無線チャネル)をスキャンして、その中の1つを選択する。図8に示すように、UWB無線チャネルは、約65msecの周期で繰り返し生成されるスーパーフレームによって構成されている。
デバイス100の周辺ホスト探索制御部123は、周囲に存在するホストを探し出すために、まず、UWBに基づいた無線チャネル(UWB無線チャネル)をスキャンして、その中の1つを選択する。図8に示すように、UWB無線チャネルは、約65msecの周期で繰り返し生成されるスーパーフレームによって構成されている。
ワイヤレスUSBでは、スーパーフレーム内の予約した時間帯(DRP WUSB)において、MMC(Micro-scheduled Management Command)と呼ばれる制御パケットを用いてデータ通信やデータ通信制御などを行う。図8に示すように、このMMCパケットが連続して現れるシーケンスをワイヤレスUSBチャネルと呼び、このワイヤレスUSBチャネルでは、あるMMCパケットが後続のMMCパケットを指し示すようなチェーン構造が形成されている。
図9は、MMCパケットにおけるCHIDの格納位置を示す図である。
デバイス100の周辺ホスト探索制御部123は、無線通信制御部110を制御することで、UWB無線チャネルを選択すると、そのチャネルからワイヤレスUSBチャネルをスキャンし、接続相手のホストのCHIDを得る。図9に示すように、MMCパケットの送信元ホストのCHIDは、ワイヤレスUSBチャネルを構成する各MMCに含まれる情報要素(IE:Information Element)のうち、ホストインフォメーションIE(WHOSTINFO_IE:Wireless USB Host Information IE)に設定されている。周辺ホスト探索制御部123は、MMCパケット内のホストインフォメーションIEを監視し、得られたCHIDを周辺ホスト一覧情報143に登録する。
デバイス100の周辺ホスト探索制御部123は、無線通信制御部110を制御することで、UWB無線チャネルを選択すると、そのチャネルからワイヤレスUSBチャネルをスキャンし、接続相手のホストのCHIDを得る。図9に示すように、MMCパケットの送信元ホストのCHIDは、ワイヤレスUSBチャネルを構成する各MMCに含まれる情報要素(IE:Information Element)のうち、ホストインフォメーションIE(WHOSTINFO_IE:Wireless USB Host Information IE)に設定されている。周辺ホスト探索制御部123は、MMCパケット内のホストインフォメーションIEを監視し、得られたCHIDを周辺ホスト一覧情報143に登録する。
図10は、デバイスがホストを探索する際の処理シーケンスの例を示す図である。
この図10では、例として、デバイス100が、ホスト200a,200bを順に検出する場合の処理手順を示している。なお、この図10におけるデバイス100の処理は、周辺ホスト探索制御部123によって制御される。
この図10では、例として、デバイス100が、ホスト200a,200bを順に検出する場合の処理手順を示している。なお、この図10におけるデバイス100の処理は、周辺ホスト探索制御部123によって制御される。
図10において、デバイス100は、UWB無線チャネルをスキャンして、その中の1つを選択し(ステップS21)、さらに、ワイヤレスUSBチャネルをスキャンする(ステップS22)。そして、ワイヤレスUSBチャネルのMMCパケットを監視する(ステップS23)。一方、ホスト200aは、MMCパケットのホストインフォメーションIEに自機のCHID(ここでは“AA”)を設定し、ブロードキャストで送信する(ステップS24)。デバイス100は、ホスト200aからのホストインフォメーションIEを検出すると、そこに設定されていたCHIDを周辺ホスト一覧情報143に登録する(ステップS25)。
また、デバイス100はさらにUWB無線チャネルのスキャンを実行して別のUWB無線チャネルを選択し(ステップS26)、ワイヤレスUSBチャネルをスキャンする(ステップS27)。そして、ワイヤレスUSBチャネルのMMCパケットを監視する(ステップS28)。ここで、ホスト200bが、MMCパケットのホストインフォメーションIEに自機のCHID(ここでは“BB”)を設定し、ブロードキャストで送信すると(ステップS29)、デバイス100はこのホストインフォメーションIEを検出し、そこに設定されていたCHIDを周辺ホスト一覧情報143に登録する(ステップS30)。
このように、デバイス100は、UWBチャネルのスキャン・選択、およびワイヤレスUSBチャネルのホストインフォメーションIEの監視を繰り返すことで、周囲に存在するホストを検出して、そのCHIDを順次周辺ホスト一覧情報143に登録していく。また、そのような処理において、ホストインフォメーションIEを一定時間受信しなかったホストがある場合には、そのホストのCHIDを周辺ホスト一覧情報143から削除する(ステップS31)。
図11は、周辺ホスト一覧情報のデータ構成例を示す図である。
図11に示すように、周辺ホスト一覧情報143には、上記の処理によって検出されたホストのCHIDが登録されて管理される。ここで、CHIDは、例えば上記の処理によってホストが検出された順番で登録される。また、図11の例では、前回検出された時刻をホストごとに保持しており、周辺ホスト探索制御部123は、ここに保持された時刻を基準として、上記のステップS31において、対応するホストが一定時間検出されないことを判定することができる。さらに、図11の例では、登録されているホストの数が“周辺ホスト実装数”として記憶されている。
図11に示すように、周辺ホスト一覧情報143には、上記の処理によって検出されたホストのCHIDが登録されて管理される。ここで、CHIDは、例えば上記の処理によってホストが検出された順番で登録される。また、図11の例では、前回検出された時刻をホストごとに保持しており、周辺ホスト探索制御部123は、ここに保持された時刻を基準として、上記のステップS31において、対応するホストが一定時間検出されないことを判定することができる。さらに、図11の例では、登録されているホストの数が“周辺ホスト実装数”として記憶されている。
以上の図6および図10の手順により、CC一覧情報142および周辺ホスト一覧情報143にホストに関する情報が登録されると、デバイス100は、ホスト切り替え制御部121の制御により、ホストとの接続を開始することが可能になる。ホスト切り替え制御部121は、CC一覧情報142に登録されたホスト(すなわち、アソシエーション済みのホスト)のCHIDと、周辺ホスト一覧情報143に登録されたホスト(すなわち、現在通信可能な範囲内に存在するホスト)のCHIDとを比較し、これらの両方に含まれているホストを現在接続可能であると判定して、接続ホスト一覧情報141に登録する。この状態で、接続ホスト一覧情報141に登録されたホストに対して接続することが可能になる。
図12は、接続ホスト一覧情報のデータ構成例を示す図である。
図12に示すように、接続ホスト一覧情報141には、上記処理により現在接続可能と判定されたホストのCHIDがホストID保持部141aに登録される。ここで、CHIDは、例えば、周囲からホストが検出された順番(すなわち、周辺ホスト一覧情報143に登録された順番)で、ホストID保持部141aに登録される。また、図12の例では、ホストID保持部141aには、直前に接続した際の接続時間が記憶されている。
図12に示すように、接続ホスト一覧情報141には、上記処理により現在接続可能と判定されたホストのCHIDがホストID保持部141aに登録される。ここで、CHIDは、例えば、周囲からホストが検出された順番(すなわち、周辺ホスト一覧情報143に登録された順番)で、ホストID保持部141aに登録される。また、図12の例では、ホストID保持部141aには、直前に接続した際の接続時間が記憶されている。
さらに、図12の例では、次接続ホストインデックス番号141bと、接続対象ホスト数141cも設定されている。次接続ホストインデックス番号141bは、ホストID保持部141aに登録されたCHIDの中から次に接続先とするホストのCHIDを指示するための情報であり、ホストID保持部141aの行番号で表される。接続対象ホスト数141cは、ホストID保持部141aに登録されたホスト数(すなわち、現在通信可能なホスト数)を示している。
図13は、デバイスと複数のホストとが接続する際の処理シーケンスを示す図である。
この図13では、例として、デバイス100が、ホスト200a,200bに対して順に接続していく場合の処理手順を示している。上記の図6および図10の手順により、CC一覧情報142および周辺ホスト一覧情報143にホストに関する情報が登録されると、デバイス100のホスト切り替え制御部121は、現在CC一覧情報142に登録されているCHIDが、周辺ホスト一覧情報143に登録されているか否かを、例えば周辺ホスト一覧情報143の登録順に判定していく。そして、両方に登録されているCHIDを、接続ホスト一覧情報141に登録する(ステップS41)。
この図13では、例として、デバイス100が、ホスト200a,200bに対して順に接続していく場合の処理手順を示している。上記の図6および図10の手順により、CC一覧情報142および周辺ホスト一覧情報143にホストに関する情報が登録されると、デバイス100のホスト切り替え制御部121は、現在CC一覧情報142に登録されているCHIDが、周辺ホスト一覧情報143に登録されているか否かを、例えば周辺ホスト一覧情報143の登録順に判定していく。そして、両方に登録されているCHIDを、接続ホスト一覧情報141に登録する(ステップS41)。
次に、ホスト切り替え制御部121は、接続ホスト一覧情報141の次接続ホストインデックス番号141bが指示しているホストのCHIDを読み出し、そのホストに対して接続を要求するように、無線通信制御部110に対して指令する。ここでは例として、ホスト200aに対する接続を要求するものとする。これとともに、ホスト切り替え制御部121は、次接続ホストインデックス番号141bの値をインクリメントする(ステップS42)。なお、次接続ホストインデックス番号141bは、初期状態においては、ホストID保持部141aの先頭の行番号に設定されればよい。
無線通信制御部110は、無線通信I/F101を通じて、ホスト200aに対して接続を要求するためのDN_Connectコマンドを送信する。このとき、接続要求元として、デバイス100自身のCDIDが設定される。DN_Connectコマンドを受信したホスト200aは、MMCパケットの中に、接続を許可するためのコネクトアクノーレッジIE(WCONNECTACK_IE:Wireless USB Connect Acknowledge IE)を設定して、デバイス100に対して応答する。
コネクトアクノーレッジIEが設定されたMMCパケットをデバイス100が受信し、デバイス100とホスト200aとの間でエニュメレーションが正常に実行されると、デバイス100とホスト200aとは接続状態となる(ステップS44)。なお、接続状態においては、例えば、ホスト200aから印刷を要求するコマンドが発行され、これを受信したデバイス100では、受信したコマンドがデバイス制御部130に引き渡される。これにより、ホスト200aから要求された画像のプリント動作が実行される。
ここで、デバイス100の周辺ホスト探索制御部123は、ホスト200aとの接続状態である間にも、図10で説明した処理手順(例えば、ステップS21,S22,S23,S25)を例えば一定期間ごとに実行して、通信可能範囲に存在するホストを探索し、その探索結果を基に周辺ホスト一覧情報143を更新する。周辺ホスト一覧情報143に変更があった場合、ホスト切り替え制御部121は、その変更に応じて接続ホスト一覧情報141を更新する(ステップS45)。
また、ホスト切り替え制御部121は、例えば、ホスト200aへの接続開始から一定時間が経過すると、接続中のホスト200aに対して切断を要求するように、無線通信制御部110に対して指令する(ステップS46)。なお、切断要求は、この他に例えば、ホスト200aから要求された1つのイベントが終了したことを契機に行われてもよい。このようなイベントの例としては、1枚分の画像のプリントなどを適用可能である。また、ホスト切り替え制御部121は、イベントの終了を、例えばデバイス制御部130からの通知によって判断することができる。
無線通信制御部110は、切断要求に応じて、ホスト200aに対して、切断を要求するためのDN_Disconnectコマンドを送信する。このとき、接続要求元として、デバイス100自身のCDIDが設定される。DN_Disconnectコマンドを受信したホスト200aは、MMCパケットの中に、デバイスとの無線通信を切断するためのデバイスディスコネクトIE(WDEV_DISCONNECT_IE:Wireless USB Device Disconnect IE)を設定して、デバイス100に対して応答する。これにより、ホスト200aとデバイス100との無線通信が切断される。
ホスト200aとの無線通信が切断されると、ホスト切り替え制御部121は、ステップS42での処理と同様に、接続ホスト一覧情報141の次接続ホストインデックス番号141bが指示しているホストのCHIDを読み出す。ここでは読み出されたCHIDがホスト200bのものであるとすると、ホスト切り替え制御部121は、ホスト200bに対して接続を要求するように、無線通信制御部110に対して指令する。これとともに、ホスト切り替え制御部121は、次接続ホストインデックス番号141bの値をインクリメントする(ステップS47)。
無線通信制御部110は、無線通信I/F101を通じて、接続要求元としてデバイス100自身のCDIDを設定したDN_Connectコマンドを、ホスト200bに対して送信する。DN_Connectコマンドを受信したホスト200bは、MMCパケットの中にコネクトアクノーレッジIEを設定してデバイス100に対して応答する。この後、デバイス100とホスト200bとの間のエニュメレーションが正常に実行されると、デバイス100とホスト200bとは接続状態となり(ステップS48)、デバイス100のデバイス制御部130は、ホスト200bからのコマンドに応じた処理を実行する。
また、ステップS45の場合と同様に、ホスト200bとの接続中においても、通信可能範囲に存在するホストを探索し、その探索結果を基に必要に応じて周辺ホスト一覧情報143を更新する。そして、周辺ホスト一覧情報143の変更に応じて、接続ホスト一覧情報141も更新される(ステップS49)。
さらに、ホスト200bへの接続開始から一定時間が経過したとき、あるいは、ホスト200bから要求された1つのイベントが終了したときに、ホスト切り替え制御部121は、接続中のホスト200bに対して切断を要求するように無線通信制御部110に指令する(ステップS50)。無線通信制御部110は、切断要求に応じて、ホスト200bに対してDN_Disconnectコマンドを送信し、ホスト200bはこのコマンドに応じて、デバイス100との無線通信を切断する。
以後、上記のステップS42,S47のように、接続ホスト一覧情報141を基に次の接続先を特定して、接続/切断を行う処理が繰り返される。これにより、デバイス100に対する接続先のホストが、デバイス100側の自律的な制御によって、接続ホスト一覧情報141に登録された順に切り替えられていく。このような動作により、複数のホストが1つのデバイスを共用しているような動作が実現される。
また、複数のホストに対して接続先を順次切り替えていく間、デバイス100は周囲に存在するホストを定期的に探索し、その結果に応じて周辺ホスト一覧情報143および接続ホスト一覧情報141を更新していく。このように、デバイス100は、接続の対象とするホストを自律的に検出しながら接続先のホストを順次切り替えていくことで、デバイス100に処理を要求しようとしている新たなホストと確実に接続できるとともに、処理の要求が終了したホストと無駄な通信を継続しなくて済むようになる。
図14は、周辺ホストの探索処理と接続先の切り替え処理との関係を示す図である。
図14において、ステップS61〜S65は、図13のステップS45,S46、およびステップS49,S50において、周辺ホスト探索制御部123によって実行される処理の詳細であり、これらの処理内容は図10で説明した通りである。すなわち、ステップS61〜S64は図10のステップS21〜S23,S25(およびステップS26〜S28,S30)にそれぞれ対応し、ステップS65はステップS31に対応する。
図14において、ステップS61〜S65は、図13のステップS45,S46、およびステップS49,S50において、周辺ホスト探索制御部123によって実行される処理の詳細であり、これらの処理内容は図10で説明した通りである。すなわち、ステップS61〜S64は図10のステップS21〜S23,S25(およびステップS26〜S28,S30)にそれぞれ対応し、ステップS65はステップS31に対応する。
また、図14のステップS71〜S73は、図13のステップS41,S42,S45,S46,S49,S50において、ホスト切り替え制御部121によって実行される処理の詳細である。これらのうち、ステップS72,S73の処理内容は、図13のステップS42,S46、およびステップS47,S50で説明した通りである。また、ステップS71の処理は、図13のステップS41の処理と同じであるとともに、この処理は、図13のステップS45,S49でも、周囲に存在するホストが探索され、その結果が周辺ホスト一覧情報143に反映されるたびに実行される。
図13で説明したように、周辺ホスト探索制御部123による周辺ホストの探索処理(ステップS61〜S65)と、ホスト切り替え制御部121による接続先ホストの切り替え処理(ステップS71〜S73)とは、並行して実行される。例として図13の処理手順に従えば、ステップS72,S73の処理により1つのホストに対して接続/切断が実行されるたびに、その接続から切断までの間に、ステップS61〜S65の処理が、周囲に存在するホスト数の分だけ繰り返される。そして、ホストの探索の結果がステップS64,S65の処理により周辺ホスト一覧情報143に反映された後、その周辺ホスト一覧情報143が次のステップS71の処理においてホスト切り替え制御部121により参照され、接続ホスト一覧情報141が必要に応じて更新される。
次に、上記のように複数のホストへ接続可能なデバイス100に対して処理を要求するのに好適な、ホストの構成例について説明する。図15は、ホストが備える処理機能の例を示すブロック図である。
図15に示すホスト200は、大別して、無線通信制御部210と、接続制御部220と、アプリケーション制御部230と、イベント蓄積部240とを備えている。これらのうち、無線通信制御部210、接続制御部220、およびアプリケーション制御部230の各処理は、例えば、CPU201によって所定のプログラムが実行されることで実現される。また、イベント蓄積部240は、HDD203またはRAM202などの記憶装置において実現される。
無線通信制御部210は、無線通信I/F206を通じて、ワイヤレスUSB規格の通信手順に従ってデバイスと無線通信するための機能であり、接続制御部220からの接続や切断などの要求に応じて動作する。
接続制御部220は、無線通信制御部210を制御して、デバイスとの接続/切断やデバイスとの間のデータ送受信などの処理を行う。また、接続されたデバイスとアプリケーション制御部230との間のデータ送受信を仲介する。
アプリケーション制御部230は、デバイス100を利用するアプリケーションが実行される機能であり、接続制御部220を介して、デバイス100に対して所定のイベントの実行を要求する。本実施の形態では、デバイス100において所望の画像のプリントを実行させることが可能となっている。
イベント蓄積部240には、接続制御部220の制御の下で、アプリケーション制御部230から要求されたイベントの情報が一時的に蓄積される。
また、図15に示すように、接続制御部220は、アソシエーション制御部221と、デバイス接続制御部222と、イベント蓄積制御部223とを具備している。また、これらの機能で利用される情報として、ホスト200のHDD203あるいはRAM202には、CC一覧情報251が格納される。
また、図15に示すように、接続制御部220は、アソシエーション制御部221と、デバイス接続制御部222と、イベント蓄積制御部223とを具備している。また、これらの機能で利用される情報として、ホスト200のHDD203あるいはRAM202には、CC一覧情報251が格納される。
アソシエーション制御部221は、ワイヤレスUSBで規定された、ホストへの接続に先立ってデバイス100との間で実行されるアソシエーションを制御する。アソシエーションの手順は前述の通りであり、CC一覧情報251には、アソシエーションが完了したデバイス100に対応するCCが登録される。
デバイス接続制御部222は、CC一覧情報251を参照し、ここに登録されたデバイス100からの接続/切断の要求に応じて、無線通信制御部210を介してデバイス100との接続/切断の動作を制御する。そして、デバイス100に実行させるイベントがアプリケーション制御部230から要求されると、このイベント要求を無線通信制御部210に通知して、接続されたデバイス100に送信させる。
イベント蓄積制御部223は、アプリケーション制御部230から要求されたイベントの情報を、イベント蓄積部240に一時的に記憶する。ここで、複数のホストによりデバイス100を共用する場合、前述のように1台のホストが常時デバイス100に接続されてはいない。このため、デバイス100と接続されていない状態では、デバイス100に対してイベントの実行を要求することができない。そこで、イベント蓄積制御部223は、アプリケーション制御部230からイベント要求を受け付けたときに、デバイス100と接続されていなければ、そのイベント情報をイベント蓄積部240に一時的に記憶した後、デバイス100と接続されたときにそのイベント情報をデバイス接続制御部222に読み出して、デバイス100に対してイベントの実行を要求できるようにする。
図16は、デバイスに対してイベントを要求する際のホスト内の各部の処理シーケンスを示す図である。
ホスト200に対するユーザの操作入力により、デバイス100に実行させるイベント(例えば印刷)が要求されると、アプリケーション制御部230は、この操作入力に応じて、要求されたイベントの情報を接続制御部220に通知する(ステップS81)。なお、イベント情報の通知は、ユーザの操作入力が行われたタイミングに限らず、例えば、あらかじめ設定された時刻に、あるいは、所定のアプリケーションの処理により要求されたタイミングで、自動的に行われてもよい。
ホスト200に対するユーザの操作入力により、デバイス100に実行させるイベント(例えば印刷)が要求されると、アプリケーション制御部230は、この操作入力に応じて、要求されたイベントの情報を接続制御部220に通知する(ステップS81)。なお、イベント情報の通知は、ユーザの操作入力が行われたタイミングに限らず、例えば、あらかじめ設定された時刻に、あるいは、所定のアプリケーションの処理により要求されたタイミングで、自動的に行われてもよい。
接続制御部220では、アプリケーション制御部230からイベント情報をデバイス接続制御部222が受け付け、現在のデバイス100との接続状態を判定する。このとき、デバイス100との無線通信が未接続状態であった場合には、デバイス接続制御部222は、通知されたイベント情報の蓄積が必要と判定し(ステップS82)、このイベント情報をイベント蓄積部240に一時的に蓄積するように、イベント蓄積制御部223に対して要求する(ステップS83)。イベント蓄積制御部223は、要求に応じて、イベント情報をイベント蓄積部240に蓄積する(ステップS84)。また、デバイス接続制御部222はさらに、アプリケーション制御部230に対して、通知されたイベントが正常に実行されたことを示す応答を行う(ステップS85)。なお、デバイス100との未接続状態において、アプリケーション制御部230からさらにイベント情報が通知された場合には、上記の処理手順によりそのイベント情報がイベント蓄積部240に蓄積される。
そして、デバイス接続制御部222は、デバイス100からの接続要求のためのDN_Connectコマンドの受信を検出すると、デバイスに対して接続を許可するためのコネクトアクノーレッジIEを返信するなど、接続のための処理を実行する(ステップS86)。これによってデバイス100との接続状態に遷移したことを判定すると、デバイス接続制御部222は、イベント蓄積部240に蓄積された未処理イベントの要求が可能と判定し(ステップS87)、未処理イベントの情報の読み出しをイベント蓄積制御部223に対して要求する(ステップS88)。
イベント蓄積制御部223は、イベント蓄積部240から未処理イベントの情報を読み出し、デバイス接続制御部222に受け渡す(ステップS89)。デバイス接続制御部222は、イベント蓄積制御部223からのイベント情報を基に、イベントを要求するための送信データを生成し、無線通信制御部210に出力してデバイス100に対して送信させる(ステップS90)。
この後、例えば、接続開始から一定時間が経過したとき、あるいは、1つのイベントの要求が完了したときに、デバイス100からの切断要求に応じて、ホスト200とデバイス100とが切断される。そして、切断状態においてアプリケーション制御部230からイベント情報が通知されると、上記の手順によりその情報がイベント蓄積部240に蓄積される。
また、図示しないが、デバイス100との接続状態においてアプリケーション制御部230からイベント情報が通知された場合には、デバイス接続制御部222は、そのイベント情報をイベント蓄積部240に蓄積させることなく、イベントの実行要求をデバイス100に対して行うようにすればよい。
あるいは、デバイス100との接続/未接続に関係なく、アプリケーション制御部230から通知されたイベント情報はすべて一旦イベント蓄積部240に蓄積され、デバイス接続制御部222は、デバイス100との接続状態において、イベント蓄積部240から未処理イベントの情報を蓄積順に読み出し、イベントの実行要求をデバイス100に対して行うようにしてもよい。
以上のホスト200の処理によれば、デバイス100との未接続状態においてアプリケーション制御部230からイベントの実行が要求されると、そのイベント情報が一旦イベント蓄積部240に蓄積されて、接続状態に遷移したときに、蓄積されたイベント情報に基づくイベントの実行が要求される。従って、デバイス100と常時接続されていない場合でも、アプリケーション制御部230から要求されたイベントを、その要求を拒否することなく確実にデバイス100に実行させることができる。
また、イベント情報がイベント蓄積部240に蓄積されたときに、アプリケーション制御部230に対してはイベントの実行が完了したことを示す応答が行われるので、アプリケーション制御部230の仕様(すなわち、デバイス100を利用可能なアプリケーションの仕様)を、デバイス100に連続的に接続して処理するホストに実装されるものと同じとすることができる。従って、既存のアプリケーションを実行可能な汎用性の高いホストを実現できる。
なお、以上の実施の形態におけるデバイスおよびホストの処理機能は、コンピュータによって実現することができる。その場合には、上記のデバイスおよびホストがそれぞれ有すべき処理機能の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、そのプログラムを、サーバコンピュータからネットワークを介して他のコンピュータに転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、そのプログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) 無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置において、
無線接続可能な1つ以上の前記ホスト機器を登録したホスト一覧情報を記憶するホスト一覧情報記憶部と、
前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う接続制御部と、
前記接続制御部の要求に応じて接続状態とされた前記ホスト機器から受信した制御情報に応じて所定の処理を行う処理部と、
を有することを特徴とする無線通信装置。
無線接続可能な1つ以上の前記ホスト機器を登録したホスト一覧情報を記憶するホスト一覧情報記憶部と、
前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う接続制御部と、
前記接続制御部の要求に応じて接続状態とされた前記ホスト機器から受信した制御情報に応じて所定の処理を行う処理部と、
を有することを特徴とする無線通信装置。
(付記2) 周囲に存在する前記ホスト機器を探索し、無線接続可能な前記ホスト機器を検出すると当該ホスト機器を前記ホスト一覧情報に登録するホスト探索部を有し、
前記接続制御部により、前記ホスト一覧情報に登録された前記各ホスト機器に対して接続および切断の要求が繰り返されている間にも、前記ホスト探索部による前記ホスト機器の探索および前記ホスト一覧情報の更新の処理が並行して繰り返し実行されることを特徴とする付記1記載の無線通信装置。
前記接続制御部により、前記ホスト一覧情報に登録された前記各ホスト機器に対して接続および切断の要求が繰り返されている間にも、前記ホスト探索部による前記ホスト機器の探索および前記ホスト一覧情報の更新の処理が並行して繰り返し実行されることを特徴とする付記1記載の無線通信装置。
(付記3) 前記ホスト探索部は、前記ホスト機器を検出順に前記ホスト一覧情報に登録し、
前記接続制御部は、前記ホスト一覧情報に登録された順番で、登録された前記ホスト機器のそれぞれに対して接続および切断の要求を行うことを特徴とする付記2記載の無線通信装置。
前記接続制御部は、前記ホスト一覧情報に登録された順番で、登録された前記ホスト機器のそれぞれに対して接続および切断の要求を行うことを特徴とする付記2記載の無線通信装置。
(付記4) 前記接続制御部は、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して、一定時間ごとに接続および切断の要求を繰り返すことを特徴とする付記3記載の無線通信装置。
(付記5) 前記接続制御部は、前記ホスト一覧情報に登録された1つのホスト機器に接続された状態において、当該ホスト機器から要求された1つのイベントが前記処理部に実行され、当該イベントの実行が終了されると、当該ホスト機器との無線通信を切断して、前記ホスト一覧情報に登録された別の前記ホスト機器に対する接続動作を実行することを特徴とする付記3記載の無線通信装置。
(付記6) 前記ホスト探索部は、周囲に存在する前記ホスト機器の探索により、前記ホスト一覧情報に登録されている前記ホスト機器が検出されなかった場合には、当該ホスト機器の登録情報を前記ホスト一覧情報から削除することを特徴とする付記2記載の無線通信装置。
(付記7) あらかじめ接続対象として認証された前記ホスト機器が登録された認証ホスト一覧情報を記憶する認証ホスト一覧情報記憶部を有し、
前記ホスト探索部は、周囲から検出された前記ホスト機器のうち、前記認証ホスト一覧情報記憶部に登録されている前記ホスト機器を、前記ホスト一覧情報に登録することを特徴とする付記2記載の無線通信装置。
前記ホスト探索部は、周囲から検出された前記ホスト機器のうち、前記認証ホスト一覧情報記憶部に登録されている前記ホスト機器を、前記ホスト一覧情報に登録することを特徴とする付記2記載の無線通信装置。
(付記8) 無線通信により接続された無線デバイスを制御する無線通信装置において、
前記無線デバイスに実行させるイベントの情報を発行するイベント要求発行部と、
少なくとも前記無線デバイスと接続されていない場合に、前記イベント要求発行部から発行されたイベントの情報を一時的に蓄積するイベント蓄積部と、
前記無線デバイスと接続されると、前記イベント蓄積部から、前記無線デバイスに対して要求済みでないイベントの情報を読み出し、当該イベントの実行を前記無線デバイスに対して要求するイベント要求処理部と、
を有することを特徴とする無線通信装置。
前記無線デバイスに実行させるイベントの情報を発行するイベント要求発行部と、
少なくとも前記無線デバイスと接続されていない場合に、前記イベント要求発行部から発行されたイベントの情報を一時的に蓄積するイベント蓄積部と、
前記無線デバイスと接続されると、前記イベント蓄積部から、前記無線デバイスに対して要求済みでないイベントの情報を読み出し、当該イベントの実行を前記無線デバイスに対して要求するイベント要求処理部と、
を有することを特徴とする無線通信装置。
(付記9) 前記イベント要求発行部から発行されたイベントの情報が前記イベント蓄積部に蓄積されると、当該イベントの実行が完了したことを示す応答情報を前記イベント要求発行部に通知するイベント蓄積制御部を有することを特徴とする付記8記載の無線通信装置。
(付記10) 前記イベント要求処理部は、前記無線デバイスからの接続要求を待機し、前記接続要求の受信に応じて前記無線デバイスとの接続状態に遷移すると、前記イベント蓄積部からのイベントの情報の読み出しを開始することを特徴とする付記9記載の無線通信装置。
(付記11) 無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置における通信制御方法であって、
ホスト登録部が、無線接続可能な1つ以上の前記ホスト機器を、記憶部に記憶されたホスト一覧情報に登録し、
接続制御部が、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う、
ことを特徴とする通信制御方法。
ホスト登録部が、無線接続可能な1つ以上の前記ホスト機器を、記憶部に記憶されたホスト一覧情報に登録し、
接続制御部が、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う、
ことを特徴とする通信制御方法。
(付記12) 無線通信により接続された無線デバイスを制御する無線通信装置における通信制御方法であって、
少なくとも前記無線デバイスと接続されていない場合に、イベント要求発行部から前記無線デバイスに実行させるイベントの情報が発行されると、イベント蓄積制御部が、発行されたイベントの情報を記憶部に一時的に蓄積し、
イベント要求処理部が、前記無線デバイスと接続されると、前記無線デバイスに対して要求済みでないイベントの情報を前記記憶部から読み出し、当該イベントの実行を前記無線デバイスに対して要求する、
ことを特徴とする通信制御方法。
少なくとも前記無線デバイスと接続されていない場合に、イベント要求発行部から前記無線デバイスに実行させるイベントの情報が発行されると、イベント蓄積制御部が、発行されたイベントの情報を記憶部に一時的に蓄積し、
イベント要求処理部が、前記無線デバイスと接続されると、前記無線デバイスに対して要求済みでないイベントの情報を前記記憶部から読み出し、当該イベントの実行を前記無線デバイスに対して要求する、
ことを特徴とする通信制御方法。
1 無線通信装置
2a,2b,2c ホスト機器
11 無線通信I/F
12 ホスト探索部
13 接続制御部
14 処理部
15 ホスト一覧情報
2a,2b,2c ホスト機器
11 無線通信I/F
12 ホスト探索部
13 接続制御部
14 処理部
15 ホスト一覧情報
Claims (8)
- 無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置において、
無線接続可能な1つ以上の前記ホスト機器を登録したホスト一覧情報を記憶するホスト一覧情報記憶部と、
前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う接続制御部と、
前記接続制御部の要求に応じて接続状態とされた前記ホスト機器から受信した制御情報に応じて所定の処理を行う処理部と、
を有することを特徴とする無線通信装置。 - 周囲に存在する前記ホスト機器を探索し、無線接続可能な前記ホスト機器を検出すると当該ホスト機器を前記ホスト一覧情報に登録するホスト探索部を有し、
前記接続制御部により、前記ホスト一覧情報に登録された前記各ホスト機器に対して接続および切断の要求が繰り返されている間にも、前記ホスト探索部による前記ホスト機器の探索および前記ホスト一覧情報の更新の処理が並行して繰り返し実行されることを特徴とする請求項1記載の無線通信装置。 - 前記ホスト探索部は、前記ホスト機器を検出順に前記ホスト一覧情報に登録し、
前記接続制御部は、前記ホスト一覧情報に登録された順番で、登録された前記ホスト機器のそれぞれに対して接続および切断の要求を行うことを特徴とする請求項2記載の無線通信装置。 - 前記接続制御部は、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して、一定時間ごとに接続および切断の要求を繰り返すことを特徴とする請求項3記載の無線通信装置。
- 前記接続制御部は、前記ホスト一覧情報に登録された1つのホスト機器に接続された状態において、当該ホスト機器から要求された1つのイベントが前記処理部に実行され、当該イベントの実行が終了されると、当該ホスト機器との無線通信を切断して、前記ホスト一覧情報に登録された別の前記ホスト機器に対する接続動作を実行することを特徴とする請求項3記載の無線通信装置。
- 無線通信により接続された無線デバイスを制御する無線通信装置において、
前記無線デバイスに実行させるイベントの情報を発行するイベント要求発行部と、
少なくとも前記無線デバイスと接続されていない場合に、前記イベント要求発行部から発行されたイベントの情報を一時的に蓄積するイベント蓄積部と、
前記無線デバイスと接続されると、前記イベント蓄積部から、前記無線デバイスに対して要求済みでないイベントの情報を読み出し、当該イベントの実行を前記無線デバイスに対して要求するイベント要求処理部と、
を有することを特徴とする無線通信装置。 - 無線通信により接続されたホスト機器からの制御に応じて動作する無線通信装置における通信制御方法であって、
ホスト登録部が、無線接続可能な1つ以上の前記ホスト機器を、記憶部に記憶されたホスト一覧情報に登録し、
接続制御部が、前記ホスト一覧情報に登録された前記ホスト機器のそれぞれに対して順次、無線通信による接続および切断の要求を繰り返し行う、
ことを特徴とする通信制御方法。 - 無線通信により接続された無線デバイスを制御する無線通信装置における通信制御方法であって、
少なくとも前記無線デバイスと接続されていない場合に、イベント要求発行部から前記無線デバイスに実行させるイベントの情報が発行されると、イベント蓄積制御部が、発行されたイベントの情報を記憶部に一時的に蓄積し、
イベント要求処理部が、前記無線デバイスと接続されると、前記無線デバイスに対して要求済みでないイベントの情報を前記記憶部から読み出し、当該イベントの実行を前記無線デバイスに対して要求する、
ことを特徴とする通信制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008038284A JP2009200669A (ja) | 2008-02-20 | 2008-02-20 | 無線通信装置および通信制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008038284A JP2009200669A (ja) | 2008-02-20 | 2008-02-20 | 無線通信装置および通信制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009200669A true JP2009200669A (ja) | 2009-09-03 |
Family
ID=41143731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008038284A Pending JP2009200669A (ja) | 2008-02-20 | 2008-02-20 | 無線通信装置および通信制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009200669A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011139369A (ja) * | 2009-12-28 | 2011-07-14 | Canon Inc | 無線通信システム、無線通信システムの制御方法、及びプログラム |
JP2012080284A (ja) * | 2010-09-30 | 2012-04-19 | Fujitsu Ltd | 電子装置および無線通信制御プログラム |
-
2008
- 2008-02-20 JP JP2008038284A patent/JP2009200669A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011139369A (ja) * | 2009-12-28 | 2011-07-14 | Canon Inc | 無線通信システム、無線通信システムの制御方法、及びプログラム |
JP2012080284A (ja) * | 2010-09-30 | 2012-04-19 | Fujitsu Ltd | 電子装置および無線通信制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11012843B2 (en) | Communication device | |
US20220086925A1 (en) | Information processing apparatus, control method for information processing apparatus, and control method for communication system | |
US8675624B2 (en) | Radiation imaging system, method for radiation imaging system, and computer-readable storage medium | |
US9826116B2 (en) | Image forming apparatus supporting peer to peer connection and method of performing image forming operation thereof | |
US9223522B2 (en) | Wireless communication device configured to perform a response process and a search process | |
EP2645811A2 (en) | Communication device | |
JP5866812B2 (ja) | 無線通信装置 | |
JP6914697B2 (ja) | プログラム、情報処理装置、および通信システム | |
KR20050002799A (ko) | 통신 방법, 통신 시스템 및 통신 장치 | |
US9137390B2 (en) | Communication apparatus | |
US20070073914A1 (en) | Wireless communication apparatus and control method of the apparatus | |
JP6480677B2 (ja) | 通信装置及びその制御方法、コンピュータプログラム | |
JP2011061619A (ja) | 無線通信装置とコンピュータプログラム | |
JP6541715B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP2010245680A (ja) | 画像出力システム、画像出力装置、設定情報共有方法 | |
JP2009200669A (ja) | 無線通信装置および通信制御方法 | |
EP2924955B1 (en) | Apparatus, communication control system, and communication control method | |
JP7059227B2 (ja) | 情報処理装置、制御方法及びプログラム | |
US9554254B2 (en) | Communication apparatus, control method of communication apparatus, and program | |
CN113453308A (zh) | 信息处理装置、控制方法及计算机可读存储介质 | |
JP2019068202A (ja) | 通信装置のためのコンピュータプログラム | |
JP7314354B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP2022059043A (ja) | 通信装置 | |
JP2023176541A (ja) | プログラム、システムおよび方法 | |
JP2023034115A (ja) | 情報処理装置、その制御方法、並びにプログラム |