(第1の実施形態)
図1は、本発明の実施形態に係る通信装置によって構成されるネットワークを示す図である。ここで、以降に説明する、無線LANにおけるアクセスポイント(以下、AP)とは、IEEE Std 802.11−1999(R2003)に記載されている仕様に従って無線ネットワークを構成して管理する機能を有する管理装置である。APは、Beaconを定期的に送信することによって、無線ネットワークの管理情報をステーション(以下、STA)へ報知する。一方、STAは、Beaconを受信することによってAPが構成する無線ネットワークの管理情報を取得して、APが構成する無線ネットワークへ参加し、APの管理下での通信を行う被管理装置である。
図1の無線LAN通信ネットワークは、通信装置101(以下、STA101)、通信装置102(以下、STA102)、通信装置103(以下、STA103)、アクセスポイント装置104(以下、AP104)によって構成される。AP104が管理するネットワークの識別子をBSS1とする。各STAは、映像入力装置または映像出力装置と接続し、無線LAN通信機能を提供する通信アダプタとして動作する。図1に示す例では、STA101はデジタルビデオカメラ(DVC)105と接続し、無線LAN通信機能を提供する。また、STA102はディスプレー(Display)106と接続し、無線LAN通信機能を提供する。STA103はハードディスクレコーダ(HDR)107と接続し、無線LAN通信機能を提供する。なお、図1では各STAは通信アダプタとするが、後述の図3のような構成にし、映像入力装置または映像出力装置に無線LAN通信機能が組み込まれるようにしてもよい。
図1では、STA101、STA102、STA103がそれぞれ、インフラストラクチャモードでAP104へ接続し、AP104経由で通信できる状態を示している。
図17は、本実施形態に係る各STAがAP104経由で通信できる状態になるときの動作シーケンスを示す図である。
AP104は、Beaconを報知する(F1701)。Beaconを受信したSTA101は、AP104が構成するネットワークの存在を確認するために、Probe RequestをAP104へ送信する(F1702)。Probe Requestを受信したAP104は、STA101へProbe Responseを送信し、AP104が構成するネットワークに関する各種情報を通知する(F1703)。その後、STA101は、AP104への接続を要求するために、AP104へAssociation Requestを送信する(F1704)。AP104は、STA101との接続を認めるか否かを通知するために、Association Requestに対する応答として、STA101へAssociation Responseを送信する(F1705)。接続が認められた場合、STA101とAP104のアソシエートが完了し、STA101がAP104経由で通信できる状態になる。
STA102、STA103も同様に動作することにより、AP104経由で通信できる状態になる。なお、アソシエートの動作シーケンスで送受信されるメッセージのフォーマットの詳細はIEEE802.11規格に記載されている。また、以下の説明では、アソシエートの動作シーケンスの詳細に関する記述を省略する。
また、AP104からのBeaconの報知は、一定時間間隔で定期的に行われる(F1714、F1715、F1720)。また、各STAとAP104のアソシエート完了後も、AP104がSTAを管理するために、各STAは一定時間間隔で定期的にProbe RequestをAP104へ送信する(F1716、F1718、F1721)。AP104は、Probe Requestを受信すると、Probe Responseを返信する(F1717、F1719、F1722)。
図2および図3は、本実施形態に係る通信装置の構成を示す図である。
図2はSTAの構成を示す。CPU201はROM202またはRAM203に格納されている制御プログラムに従ってSTA全体を制御する。なお、後述するSTAの処理は、CPU201がROM202またはRAM203に格納されている制御プログラムに従って各種処理を実行することで行われる。ROM202、RAM203は、CPU201が実行する制御データを格納する。また、RAM203はCPU201のワークエリアとして利用される。デバイスインターフェース204は映像入力装置または映像出力装置と接続するための機器インターフェースである。無線LANインターフェース205は、IEEE802.11に準拠した無線LAN通信を行うための無線LAN通信機能を提供する。距離判定部206は、APあるいは他のSTAとの通信状態における距離を測定してネットワーク構成を変更するか否かを判定する。探索処理部207は、無線通信圏内にある他のSTAの所在を他のSTAから送信される信号を受信することにより探索する。
距離判定部206でのAPあるいは他のSTAとの通信状態における距離の測定には、APあるいは他のSTAから受信される電波の電波強度が用いられる。電波強度が大きくなっていくときには距離が近くなっていると判断し、電波強度が小さくなっていくときは距離が遠くなっていると判断する。また、2つの機器からの電波の電波強度を比較して、強いほうがより近い位置にあると判断する。なお、本説明では、電波強度を例に説明するが、距離の測定には、受信した信号のエラーレートを利用してもよい。エラーレートを用いる場合、エラーレートが小さくなっていくときには距離が近くなっていると判断し、エラーレートが大きくなっていくときは距離が遠くなっていると判断する。また、2つの通信装置からの受信データのエラーレートを比較して、小さいほうがより近い位置にあると判断する。また、各種信号を送信するときに、送信電力値を付加して送信するようにし、受信側での受信電力値(電波強度)と受信した信号に含まれる送信電力値とから信号の減衰率を求め、この値を利用して距離測定を行っても良い。また、複数の方法による距離判定の結果を総合的に利用し、距離を判定してもよい。
図3は、STAが通信アダプタという形態ではなく映像入力装置または映像出力装置に無線LAN通信機能が組み込まれた形態の例である。CPU201、ROM202、RAM203、無線LANインターフェース205、距離判定部206、探索処理部207は図2と同様であるので説明は省略する。ユーザインターフェース304は、ユーザへ表示および操作の機能を提供する。映像入出力処理部308は、映像入力または映像出力の機能を提供する。
図4は、STA101がアクセスポイントとして動作し、STA102とグループを形成する際のシーケンスチャートである。
図4において、STA101がAP104へアソシエートする(F401)。一方、STA102もAP104へアソシエートする(F402)。STA101とSTA102はAP104を経由して通信可能な状態になる。なお、STA102は、通信を開始するか否かを判断してデータ通信を開始するが、ここではSTA102はデータ通信を開始しない場合を記述している。
STA101は、距離判定部206により通信装置間の距離判定処理を行う(F404)。通信装置間の距離判定処理(F404)は、AP104から定期的に送信されるBeaconの受信、ならびに他のSTAが定期的に送信するProbe Requestを傍受することによって行う。また、STA101は、AP104が送信するProbe Responseを傍受し、AP104との距離判定を行ってもよい。
STA101の距離判定部206は、STA101とAP104との通信状態が悪くなりつつあり、無線通信状態の観点から距離が大きくなりつつあるか否かを測定する。また、STA101は、他のSTAからのProbe Requestを傍受できる場合、そのSTAとの距離も判定する。そして、STA101とAP104との通信状態よりも他のSTAとの通信状態のほうが良く、無線通信状態の観点からAP104よりも、他のSTAの方が近い距離にあるか否かを測定する。距離判定部206から測定結果を受けたCPU201は、STA101がAP104から距離が遠くなっている、あるいは他のSTAがAP104よりも近くに移動し、AP104よりも他のSTAの方が近いと判定した場合は、グループ設定を行うと判定する。
ここでは、STA101の距離判定部206において、STA101とAP104との通信状態が悪くなりつつあり、無線通信状態の観点から距離が大きくなりつつあると判定する。さらに、STA101とAP104との通信状態よりもSTA101とSTA102との通信状態のほうが良く、無線通信状態の観点からSTA101とAP104間の距離よりもSTA101とSTA102間の距離が近い距離にあると判定する。従って、STA101は後述のグループ設定を行うと判定する。
グループ設定を行う場合、STA101は、AP104経由でSTA102へグループ設定要求を送信する(F405)。このグループ設定要求は、アクセスポイントモード(APモード)へ移行してネットワークを構成すること、構成するネットワークの識別子を通知する。APモードとは、アクセスポイントとして動作するモードである。なお、グループ設定要求では、ネットワークを構築する周波数チャネル、構築するネットワークで使用する暗号方式、暗号鍵等、新規のネットワークに係る他の情報を通知してもよいが、説明の簡略化のため以降の説明では省略する。図4では、STA101がAPモードへ移行して識別子がBSS2のネットワークを構成することを要求する。グループ設定要求を受信したSTA102は、他のSTAと通信中か否かを判別する。
STA102は、他のSTAと通信中であれば後述の通信中処理を行う。ここでは、STA102は他のSTAと通信していないので、他のSTAと通信中でないと判別し、単独処理を実行する。単独処理では、グループ設定要求を受理するか否かを判定し、判定結果をグループ設定応答として返信する。例えば、STA102は、他のSTAと通信していないときにグループ設定要求を受信すると、他のデバイスからグループ設定要求がなされたことをユーザインターフェースへ表示する。該表示を確認したユーザによるユーザインターフェースの入力に応じてグループ設定を許可するか否かを判別する。
図18は、STA102のディスプレー装置へSTA101のDVC105からグループ設定要求がなされたことを表示する例である。ユーザインターフェースを使用してユーザがグループ設定を許可するか否かを指定する。STA102は、グループ設定要求を受理する場合は、STA101にグループ設定応答(accept)を送信し、拒否する場合は、グループ設定応答(deny)を送信する。図4では、STA102はグループ設定要求を受け入れ、グループ設定応答グループ設定応答(accept)をSTA102に返信し、STA101がこのグループ設定応答を受信する(F406)。
STA101は、グループ設定応答(accept)を受信すると、AP104経由でSTA102へネットワーク移行開始メッセージを送信する(F407)。STA102は、STA101からネットワーク移行開始メッセージを受信するとAckをSTA101へ送信する。STA101は、STA102からAckを受信すると(F408)、ネットワーク移行開始メッセージがSTA102に受理されたことを検知する。
ネットワーク移行開始メッセージが受理されるとSTA101は、AP104との接続を切断し(F409)、端末モードからAPモードへ移行して識別子がBSS2のネットワークを構成する(F411)。STA102も、ネットワーク移行開始メッセージを受理すると、AP104との接続を切断する(F410)。また、STA102は、端末モードで動作してAPモードで動作するSTA101へアソシエートする(F412)。STA101は、STA102からのアソシエートを受けて(F412)、STA102と接続する。ネットワークの移行が完了すると、STA101とSTA102は、STA101がAPとして機能するインフラストラクチャモードの通信を行える。ここで、STA101がAPモードで構成するネットワークでデータ通信を行う場合には、STA101とSTA102との間でデータ通信が行われる(F413)。
APモードで動作中のSTA101は、距離判定部206により、定期的に通信装置間の距離判別処理を実行する(F414)。
図5は、図4の処理後に、STA101がAPモードでの動作を停止し、STA101とSTA102が端末モードでAP104に再度アソシエートする際のシーケンスである。
図5において、STA101がAPモードで動作している最中にも、定期的に通信装置間の距離判別処理を定期的に実行する(F502)。距離判別処理は、STA101がSTA102とデータ通信(F501)を行っているときであっても行われる(F502)。この判定の結果、STA101は、APモードでの動作を停止し、グループ設定での通信を停止するか否かを判定する。この判定は、距離判別処理の結果、無線通信状態の観点からSTA101とグループ設定を要求したSTA102との距離よりもSTA101とAP104との距離の方が近いと判定した場合に、グループ設定での通信を停止すると判定する。グループ設定での通信を停止する場合、STA101はグループ停止をSTA102に送信する(F503)。そして、STA101はSTA102との通信を停止すると共に、APモードから端末モードへ移行し(F504)、AP104へアソシエートする(F505)。その後、AP104経由でデータ通信が行われる(F507)。
一方、STA102は、グループ停止を受信すると(F503)、グループ設定で接続中のSTA101とのデータ通信を停止し、APモードで動作中のSTA101との接続を切断する。そして、AP104へアソシエートする(F506)。その後、AP104経由でデータ通信が行われる(F507)。
図6は、STA101が要求するグループ設定をSTA102が拒否した場合のシーケンスチャートである。
図6において、STA101は、AP104へアソシエートする(F601)。STA102、STA103も、AP104へアソシエートする(F602、F603)。STA101、STA102、STA103は、AP104を経由して通信可能な状態になる。STA101、STA102、STA103は、通信を開始するか否かを判断してデータ通信を開始するが、図6ではデータ通信を開始しない場合を記述している。
AP104にアソシエートしたSTA101は、距離判定部206により定期的に通信装置間の距離判定処理を行う(F604)。距離判定の処理は、AP104から定期的に送信されるBeaconの受信、ならびに他のSTAから定期的に送信されるProbeRequestを傍受することにより行う。STA101は、AP104が送信するProbe Responseを傍受し、AP104との距離判定を行ってもよい。
STA101の距離判定部206は、STA101とAP104との通信状態が悪くなりつつあり、無線通信状態の観点から距離が大きくなりつつあるか否かを測定する。また、STA101は、他のSTAからのProbe Requestを傍受できる場合、そのSTAとの距離も判定する。そして、STA101とAP104との通信状態よりも他のSTAとの通信状態のほうが良く、無線通信状態の観点からAP104よりも、他のSTAの方が近い距離にあるか否かを測定する。距離判定部206は、STA101がAP104から距離が遠くなっている、あるいは他のSTAがAP104よりも近くに移動し、AP104よりも他のSTAの方が近いと判定した場合は、グループ設定を行う。
ここでは、STA101とAP104との通信状態よりもSTA101とSTA102との通信状態のほうが良く、無線通信状態の観点からSTA102の方が近い距離にあると判定する。従って、距離判定部206は、グループ設定を行うと判定する。
グループ設定を行う場合、STA101は、AP104経由でSTA102へグループ設定要求を送信する(F605)。このグループ設定要求は、STA101が端末モードからAPモードへ移行して識別子がBSS2のネットワークを構成することを要求している。
STA102は、グループ設定要求を受信すると、他のSTAと通信中か否かを判別する。STA102は他のSTAと通信中であれば後述の通信中処理を実行する。ここでは、STA102は他のSTAと通信していないので、他のSTAと通信中でないと判別し、単独処理を実行する。単独処理では、グループ設定要求を受理するか否かを判定し、判定結果をグループ設定応答として返信する。例えば、STA102は、STA101からグループ設定要求がなされたことをユーザインターフェースへ表示する。該表示を確認したユーザによるユーザインターフェースの入力に応じてグループ設定を許可するか否かを判別する。図18は、STA102のディスプレーへSTA101のDVC015からグループ設定要求がなされたことを表示する例である。ユーザインターフェースを使用してユーザがグループ設定を許可するか否かを指定する。
本説明では、STA102がグループ設定要求を拒否する場合について説明する。STA102がグループ設定要求を拒否する場合、STA102はSTA101にグループ設定応答(deny)を送信する(F606)。
STA101は、STA102から送信されたグループ設定応答(deny)を受信する(F606)。
STA101がグループ設定応答(deny)を受信すると、AP104へ接続している他のSTAを探索する探索処理を行う(F607)。探索処理は、STA101で行われる場合と、STA101からSTA102へ要求してSTA102が行う場合がある。図6では、STA101で探索処理を行う場合を記述している。図7では、STA102で探索処理を行う場合を記述している。
この探索処理は、他のSTAが送信する信号を受信することにより行なわれる。具体的には、AP104にアソシエートしているSTAが定期的に送信するProbe Requestを傍受し、他のSTAが近傍に存在するか否かを判別する。
なお、図7におけるシーケンスF701、F702、F703、F704、F705、F706は、それぞれ図6におけるF601、F602、F603、F604、F605、F606と同様であるので説明を省略する。図7において、探索処理をSTA102に行わせる場合、STA101はAP104経由でSTA102へ通信装置の探索要求を送信する(F707)。そして、探索処理がSTA102で行われた後(F708)、STA102は、探索の結果を探索応答としてSTA101へ送信する(F709)。STA101は、STA102から探索応答を受信する(F709)。
本説明では、探索処理において無線通信圏内の通信装置としてSTA103が検出されたとする。図7のようにSTA102で探索処理を行った場合は、探索応答でSTA103が検出されたことを通知する。
また、探索処理しても、他のSTAを発見できない場合は、探索処理が失敗したとしてグループ設定のシーケンスを終了する。
探索処理が成功した場合は、グループ設定が行われる。探索処理が成功した場合、STA101は、AP104経由でSTA103へグループ設定要求を送信する(F608、F710)。このグループ設定要求は、STA101がAPモードへ移行して識別子がBSS2のネットワークを構成することを要求している。
STA103は、グループ設定要求を受信すると、STA101からグループ設定要求がなされたことをユーザインターフェースへ表示して、ユーザインターフェースの入力に応じてグループ設定を許可するか否かを判別する。図18は、STA103のディスプレーへSTA101のDVC015からグループ設定要求がなされたことを表示する例である。ユーザインターフェースを使用してユーザがグループ設定を許可するか否かを指定する。STA103がグループ設定要求を受理する場合、STA103はグループ設定要求を受理するグループ設定応答(accept)を送信する(F609、F711)。STA103がグループ設定要求を拒否する場合、STA103はグループ設定要求を拒否するグループ設定応答(deny)を送信する。この場合、SAT101は、探索処理時に他のSTAを発見していれば、そのSTAに対してグループ設定要求を送信する。また、探索処理時に他のSTAを発見していなければ、処理を終了する。
STA101は、グループ設定応答(accept)を受信すると(F609、F711)、STA103へネットワーク移行開始メッセージを送信する(F610)。STA103は、STA101からネットワーク移行開始メッセージを受信するとAckをSTA101へ送信する(F611)。STA101は、STA103からネットワーク移行開始メッセージに対するAckを受信すると(F611)、ネットワーク移行開始メッセージがSTA103に受理されたことを検知する。
STA101は、ネットワークの移行が受理されると、AP104との接続を切断し(F612)、端末モードからAPモードへ移行して識別子がBSS2のネットワークを構成する(F614)。一方、STA103は、Ack送信後に、AP104との接続を切断し(F613)、APモードで動作するSTA101へアソシエートする(F615、F713)。STA101は、STA103からのアソシエートを受けて、STA103と接続する(F615、F713)。ここで、STA103は、STA101がAPモードで構成するネットワークでデータ通信を行う場合には、STA101がAPとして機能するインフラストラクチャモードでSTA101とSTA103との間でデータ通信が開始される(F616、F714)。なお、図7のネットワーク移行処理(F712)は、図6のF610、F611、F612、F613、F614の一連のシーケンスに対応している。
その後、グループ設定のネットワークへ移行したSTA101は、通信装置間の距離判別処理を定期的に実行する(F617、F715)。
図8は、図7の処理後に、STA101がAPモードでの動作を停止し、STA101とSTA103が端末モードでAP104に再度アソシエートする際のシーケンスチャートである。
STA101がAPモードで動作している最中にも、通信装置間の距離判別処理を定期的に実行する(F802)。距離判別処理は、APモードで動作しているSTA101がSTA103とデータ通信(F801)を行っている場合であっても行われる。
この判定の結果、STA101は、APモードでの動作を停止し、グループ設定での通信を停止するか否かを判定する。この判定は、距離判別処理の結果、無線通信状態の観点からSTA101とグループ設定を要求したSTA103との距離よりもSTA101とAP104との距離の方が近いと判定した場合に、グループ設定での通信を停止すると判定する。グループ設定での通信を停止する場合、STA101は、グループ停止をSTA103へ送信する(F803)。STA101はSTA103との通信を停止し、APモードから端末モードへ移行し(F804)、AP104へアソシエートする(F805)。その後、AP104経由でデータ通信が行われる(F808)。
STA103は、グループ停止を受信すると(F803)、グループ設定で接続中のSTA101とのデータ通信を切断してAP104へアソシエートする(F807)。その後、AP104経由でデータ通信が行われる(F808)。
図9は、AP104にアソシエートしているSTA102とSTA103とがデータ通信中に、STA101がグループ設定を要求した場合のシーケンスチャートである。
図9において、STA101はAP104へアソシエートする(F901)。STA102、STA103も、AP104へアソシエートする(F902、F903)。STA101、STA102、STA103はAP104を経由して通信可能な状態になる。各STAは、通信を開始するか否かを判断してデータ通信を開始する。本説明では、STA102とSTA103とがデータ通信を開始する(F904)。
AP104にアソシエートしたSTA101は、上述のように、距離判定部206により通信装置間の距離判定処理を行う(F905)。ここでは、距離判定処理により、STA101は、STA102との距離がAP104との距離よりも近いと判定する。
グループ設定を行う場合、STA101は、AP104経由でSTA102へグループ設定要求を送信する(F906)。このグループ設定要求は、STA101がAPモードへ移行して識別子がBSS2のネットワークを構成することを要求している。
STA102は、グループ設定要求を受信すると、他のSTAと通信中か否かを判別する。ここでは、STA102は、STA103と通信中である。従って、STA102は通信中処理を実行する。通信中処理では、データ通信の相手(STA103)に対して、APモードへ移行して識別子がBSS2のネットワークを構成することを要求するグループ設定要求を送信する(F907)。このグループ設定要求は、STA102がAPモードへ移行して識別子がBSS2のネットワークを構成することを要求している。
グループ設定要求(F907)を受信したSTA103は、グループ設定要求を受理するか否かを判定する。グループ設定要求を受理する場合は、STA102にグループ設定応答(accept)を送信し、拒否する場合は、グループ設定応答(deny)を送信する。本説明では、STA103は、STA102以外の相手とは通信していないので、グループ設定を受理し、グループ設定応答(accept)をSTA102に送信したとする(F908)。また、上述のようにユーザによる選択により、グループ設定要求を受理するか否かを判定してもよい。
STA102は、グループ設定要求がSTA103に受理されると、STA102がAPモードへ移行して識別子がBSS2のネットワークを構成することを通知するグループ設定応答をSTA101へ送信する(F909)。
STA101は、グループ設定応答(F909)を受信すると、STA102へネットワーク移行開始メッセージを送信する(F910)。STA102は、ネットワーク移行開始メッセージ(F910)を受信すると、STA103へネットワーク移行開始メッセージを送信する(F911)。STA103は、STA102からネットワーク移行開始メッセージ(F911)を受信するとAckをSTA102へ送信する(F912)。STA102は、STA103からAckを受信すると(F912)、STA101へAckを送信する(F913)。
STA101では、Ack(F913)を受信すると、AP104との接続を切断し(F914)、APモードで動作するSTA102へアソシエートする(F918)。また、STA101は、STA102がAPモードで構成するネットワークでデータ通信を行う場合には、STA102との間でデータ通信する(F920)。この通信は、STA102がAPとして機能するインフラストラクチャモードで行われる。
一方、STA102は、Ack(F913)を送信すると、AP104との接続を切断し(F915)、端末モードからAPモードへ移行して識別子がBSS2のネットワークを構成する(F917)。その後、STA101、STA103からのアソシエートを受け(F918、F919)、STA101、STA103と接続する。STA102は、STA103とデータ通信中であったので、APモードで動作後も、STA103とデータ通信を継続する(F921)。この通信も、STA102がAPとして機能するインフラストラクチャモードで行われる。また、STA101とデータ通信する場合には、STA102がAPとして機能するインフラストラクチャモードでSTA101とデータ通信を開始する(F920)。
また、STA103は、Ack(F912)を送信すると、AP104との接続を切断する(F916)。そして、APモードで動作するSTA102へアソシエートし(F919)、STA102とのデータ通信を継続する(F921)。
グループ設定のネットワークへ移行したSTA101は、距離判定部206により、定期的に距離判別処理を実行する(F922)。
図10は、図9の処理後に、STA102がAPモードでの動作を停止し、STA101、STA102、STA103が端末モードでAP104に再度アソシエートする際のシーケンスチャートである。
STA101は、APモードで動作するSTA102にアソシエートしている最中にも、距離判定部206により通信装置間の距離判定を行う(F1003)。これは、STA101がSTA102とデータ通信(F1001)を行っているときでも同様である。なお、図10では、STA102はSTA103ともデータ通信(F1002)を行っている。
STA101の距離判定部206による距離判定の結果、STA101は、STA102のAPモードでの動作を停止させ、グループ設定での通信を停止するか否かを判定する。この判定は、距離判別処理の結果、無線通信状態の観点からSTA101とグループ設定を要求したSTA102との距離よりもSTA101とAP104との距離の方が近いと判定した場合に、グループ設定での通信を停止すると判定する。グループ設定での通信を停止する場合、STA101は、グループ停止をSTA102へ送信する(F1004)。その後、STA101は、STA102との接続を切断し、AP104へアソシエートする(F1007)。
STA102は、STA101からのグループ停止を受信すると、STA102にアソシエートしているSTA103へグループ停止を送信する(F1005)。STA102は、グループ停止の送信後、STA101、STA103との接続を切断し、APモードを停止して端末モードへ移行し(F1006)、AP104へアソシエートする(F1008)。
また、STA103は、グループ停止を受信すると(F1005)、STA102との接続を切断し、AP104へアソシエートする(F1009)。
図11は、AP104にアソシエートしているSTA102とSTA103とがデータ通信中に、STA101がグループ設定を要求した場合のシーケンスチャートである。
図11において、STA101がAP104へアソシエートする(F1101)。STA102、STA103もAP104へアソシエートする(F1102、F1103)。STA101、STA102、STA103はAP104を経由して通信可能な状態になる。
各STAは、通信を開始するか否かを判断してデータ通信を開始する。本説明では、STA102とSTA103とがデータ通信を開始する(F1104)。さらに、STA103は、STA102とデータ通信を行うと同時に、AP104およびEthernet(登録商標)経由で外部のネットワークと通信を行う。一例として、STA103が接続するHDR107が、STA102が接続するDisplay106と映像データの通信を行いながら、外部のネットワークから番組表データをダウンロードしている場合が挙げられる。
AP104にアソシエートしたSTA101は、上述のように、距離判定部206により通信装置間の距離判定処理を行う(F1105)。ここでは、距離判定処理により、STA101は、STA102との距離がAP104との距離よりも近いと判定する。
グループ設定を行う場合、STA101は、AP104経由でSTA102へグループ設定要求を送信する(F1106)。このグループ設定要求は、STA101がAPモードへ移行して識別子がBSS2のネットワークを構成することを要求している。
STA102は、グループ設定要求を受信すると、他のSTAと通信中か否かを判別する。ここでは、STA102はSTA103と通信している。従って、STA102は通信中処理を実行する。通信中処理では、データ通信の相手(STA103)に対して、APモードへ移行して識別子がBSS2のネットワークを構成することを要求するグループ設定要求を送信する(F1107)。このグループ設定要求は、STA102がAPモードへ移行して識別子がBSS2のネットワークを構成することを要求している。
グループ設定要求(F1107)を受信したSTA103は、グループ設定要求を受理するか否かを判定する。グループ設定要求を受理する場合は、図9で説明したようにSTA102にグループ設定応答(accept)を送信する。本説明では、STA103は、AP104経由で外部のネットワークと通信を行っているので、グループ設定を拒否すると判定する。STA103は、グループ設定要求を拒否するので、グループ設定応答(deny)をSTA102へ送信する(F1108)。
STA102は、STA103からグループ設定応答(deny)(F1108)を受信したので、グループ設定要求(F1107)が拒否されたと判定する。STA102は、グループ設定要求(F1107)がSTA103に拒否されると、STA102がAPモードへ移行して識別子がBSS2のネットワークを構成することを通知するグループ設定応答(F1109)をSTA101へ送信する。
STA101は、STA102からグループ設定応答(F1109)を受信すると、STA102へネットワーク移行開始メッセージを送信する(F1110)。STA102も、STA101からネットワーク移行開始メッセージを受信すると、STA103へネットワーク移行開始メッセージを送信する(F1111)。
STA103は、ネットワーク移行開始メッセージ(F1111)を受信すると、AckをSTA102に返信する(F1112)。また、STA102は、STA103からAckを受信すると、STA101に対してAckを返信する(F1113)。
STA101は、STA102からAckを受信すると、AP104との接続を切断し(F1115)、APモードを時分割で動作するSTA102へアソシエートする(F1116)。そして、STA101は、STA102からの通信開始の指示を受けるとSTA102とデータ通信し、通信停止の指示を受けるとSTA102とのデータ通信を停止する(F1120、F1121、F1122)。
一方、STA102は、通信相手であるSTA103にグループ設定を拒否されているので、APモードを時分割で実行する。このとき、端末モードでのAP104との接続は維持されるように、端末モードとAPモードとの切り替え時間が決められる。つまり、STA102は、AP104との接続を時分割動作で維持すると共に、APモードを時分割で動作して識別子がBSS2のネットワークを構成する。従って、一定期間は、端末モードでAP104にアソシエートした状態でAP104の管理下でSTA103との通信を行う。また、他の期間は、APモードで動作し、STA102にアソシエートしているSTA101と通信する。
また、STA102は、APモードでの動作を開始する前に、グループ設定を拒否したSTA103に通信停止(F1114)を指示し、STA103との通信を一時停止し、APモードでの動作を開始する。STA102は、APモードで動作中に、STA101からのアソシエートを受けると(F1116)、STA101と接続する。上記時分割動作を行っているSTA102は、端末モードでの動作を開始すると、STA103に対して通信開始(F1117)を指示し、データ通信(F1118)を行う。また、APモードに切り替える前には、STA103に通信停止(F1119)を指示し、STA103との通信を一時的に停止する。また、STA102は、APモードでの動作を開始すると、STA101に対して通信開始(F1120)を指示し、データ通信(F1121)を行う。また、端末モードに切り替える前には、STA101に対して通信停止(F1122)を指示し、STA101との通信を一時停止する。SAT102は、時分割動作中は、上記動作を繰り返し行う。
また、STA103は、STA102からのネットワーク移行開始メッセージに対するAck(F1112)を送信した後に、STA102から通信停止(F1114)を受信すると、STA102との通信を一時停止する。また、端末モードに切り替わったSTA102から通信開始(F1117)が指示されると、STA102と停止していたデータ通信を再開する(F1118)。その後、STA102がAPモードに切り替わる前に送信する通信停止(F1119)を受信すると、STA102との通信を一時停止する。
上述の時分割動作を開始したSTA101は、距離判定部206による距離判別処理を定期的に実行する(F1123)。
図12は、図11の処理後に、STA102がAPモードでの動作を停止し、SAT101がAP104に再度アソシエートする際のシーケンスチャートである。
STA101は、上述の時分割動作中(F1201からF1206)に、定期的に距離判定部206による距離判定処理を行う(F1207)。STA101の距離判定部206による距離判定の結果、STA101は、STA102のAPモードでの動作を停止させ、グループ設定での通信を停止するか否かを判定する。この判定は、距離判別処理の結果、無線通信状態の観点からSTA101とグループ設定を要求したSTA102との距離よりもAP104との距離の方が近いと判定した場合に、グループ設定での通信を停止すると判定する。グループ設定での通信を停止する場合、STA101は、グループ停止をSTA102へ送信する(F1208)。その後、STA101は、STA102との接続を切断し、AP104へアソシエートする(F1210)。
一方、STA102は、STA101からグループ停止を受信するとAPモードと端末モードの時分割動作を停止する(F1209)。STA102は、AP104との接続を維持しているので、以降、AP104の制御下での通信を行う。従って、STA101、STA103との通信は、AP104経由で行うことになる(F1209、F1210)。
また、STA103では、STA102とAP104経由のデータ通信を継続する(F1210)。
図13は、上述のSTA101の動作を記述するフローチャートである。
STA101は、AP104へアソシエートし、AP104と接続する(S1301)。AP104へアソシエートしたSTA101は、必要に応じてAP104管理下でデータ通信を行う。
AP104へアソシエートしたSTA101は、距離判定部206により、通信装置間の距離判定処理を行う(S1302)。上述したように、距離判定処理は、AP104から定期的に送信されるBeacon、Probe Resposeの受信、ならびに他のSTAから定期的に送信されるProbe Requestを傍受することによって行われる。この距離判定の結果により、無線通信状態の観点からAP104よりも距離が近いSTAがあるか否かを判定し、グループ設定を行うか否かを判定する(S1303)。ここで、無線通信状態の観点からAP104よりも距離が近いSTAがある場合は、グループ設定を行うと判定する。
グループ設定を行う場合は、無線通信状態の観点からAP104よりも距離が近いと判定したSTAに対し、AP104経緯でグループ設定要求を送信する(S1304)。このグループ設定要求に対する応答であるグループ設定応答を受信すると、グループ設定応答の内容からグループ設定が受理されたか、拒否されたかを判定する(S1305)。
上記判定の結果、グループ設定が許可(受理)された場合は、S1310へ進む。
また、グループ設定が拒否された場合は、探索処理部207による探索処理を行う(S1306)。なお、探索処理は、上述のようにSTA101自身の探索処理部207により他のSTAの探索を行っても、他のSTAの探索処理部207に探索処理を実行させてもよい。他のSTAに探索処理を行わせる場合は、距離判定部206による距離判定により、AP104よりも無線通信状態の観点から近いと判定したSTAに対して探索要求を送信し、そのSTAに探索処理を行わせる。そして、探索処理を実行したSTAから探索の結果を受け取る。また、STA101自身が探索処理を行い、近傍に存在するSTAを発見できなかった場合(探索失敗)に、AP104よりも無線通信状態の観点から近いと判定したSTAに探索処理を行わせてもよい。また、AP104よりも無線通信状態の観点から近いと判定したSTAに探索処理を行わせ、近傍に存在するSTAを発見できなかった場合(探索失敗)に、STA101自身で探索処理を行ってもよい。さらに、STA101自身と、AP104よりも無線通信状態の観点から近いと判定したSTAとの両方で並行して探索処理を実行し、両STAでの探索結果を利用するようにしてもよい。
また、上述のように探索処理では、APへアソシエートしているSTAから定期的に送信されるProbe Requestを傍受してSTAが近傍に存在するか否かを判別する。探索処理の結果、近傍に存在するSTAを発見し、探索処理が成功したか否かを判別する(S1307)。近傍に存在するSTAを発見できない場合は、探索処理が失敗したと判定し、S1302に戻る。また、探索処理が成功した場合は、探索処理で発見したSTAにAP104経緯でグループ設定要求を送信する(S1308)。このグループ設定要求に対する応答であるグループ設定応答を受信すると、グループ設定応答の内容からグループ設定が受理されたか、拒否されたかを判定する(S1309)。探索処理で発見したSTAにからのグループ設定応答により、グループ設定が拒否された場合は、S1302に戻る。探索処理で発見したSTAにからのグループ設定応答により、グループ設定が許可された場合は、S1310へ進む。
S1310では、グループ設定によるネットワークの移行処理を行う。ここで、図4、図6、図7で説明したネットワークの移行処理では、STA101がAPモードに切り替わり、アクセスポイントとしてネットワークを形成する。また、図9、図11により説明したネットワークの移行処理では、STA101はSTA102に対してネットワーク移行開始を通知し、STA102がアクセスポイントとしてネットワークを形成する。
ネットワークの移行処理が終了すると、必要に応じてデータ通信を行う(S1311)。
次に、STA101は、定期的に実行する通信装置間の距離判定処理を行うか否かを判別する(S1317)。距離判定処理を行う場合は、S1302に戻り、距離判定処理を行わない場合は、必要に応じてデータ通信を継続する(S1311)。
また、S1303においてグループ設定を行わないと判定した場合は、グループ設定での通信を停止するか否かを判定する。グループ設定での通信を行っていない場合は、グループ設定での通信を停止しないので、必要に応じてデータ通信を継続する(S1311)。
また、STA101は、距離判定の結果、無線通信状態の観点から、AP104よりも、S1304又はS1308においてグループ設定要求を送信したSTAとの距離が近いと判定した場合は、グループ設定での通信を停止しないと判定する(S1312)。そして、必要に応じてデータ通信を継続する(S1311)。通信装置間の距離判定の結果、無線通信状態の観点から、S1304またはS1308においてグループ設定要求を送信したSTAよりもAP104との距離が近いと判定した場合に、グループ設定での通信を停止すると判定する。グループ設定での通信を停止する場合は、S1304またはS1308においてグループ設定要求を送信したSTAに対してグループ停止を送信する(S1313)。
STA101は、グループ停止の送信後は、グループ設定において自身がAPモードとして動作しているか否かを判別する(S1314)。自身がAPモードで動作している場合は、APモードでの動作を停止し(S1315)、端末モードでAP104にアソシエートする。また、自身がAPモードで動作していない場合は、AP104にアソシエートしていない状態ならば、端末モードでAP104にアソシエートし、AP104にアソシエートしている状態ならば、AP104の管理下で必要に応じたデータ通信を行う(S1311)。
図14は、STA102の動作を記述するフローチャートである。
STA102は、AP104へアソシエートし、AP104と接続する(S1401)。AP104へアソシエートしたSTA102は、必要に応じてAP104管理下でデータ通信を行う。
STA102は、他のSTAから、グループ設定要求を受信したか否かを判別する(S1402)。グループ設定要求を受信しない場合は、グループ設定要求を監視する。グループ設定要求を受信した場合、他のSTAと通信中か否かを判別する(S1403)。ここで、他のSTAとは、グループ設定要求を送信したSTA以外のSTAである。つまり、グループ設定要求を送信したSTAとSTA102自身との間でグループ設定を行うと、STA102が他のSTAと行っている通信が継続できなくなる可能性がある。そのため、STA102は、他のSTAと通信中か否かにより処理を切り替えるため上記判別を行う。
S1403での判別の結果、他のSTAと通信中の場合は、図15の通信中処理を行う(S1404)。また、他のSTAと通信中ではない場合は、図16の単独処理を行う(S1405)。上述の図4、図6、図7では、STA102は、単独処理を行う。また、図9、図11では、通信中処理を行う。
図15は、STA102の動作における通信中処理を記述するフローチャートである。
通信中処理では、STA102は、データ通信中の通信相手のSTAにグループ設定要求を送信する(S1501)。通信相手のSTAからグループ設定応答を受信すると、受信したグループ設定応答の内容から、グループ設定要求が許可(受理)されたか、拒否されたかを判別する(S1502)。拒否された場合は、時分割動作フラグをONに設定する(S1503)。グループ設定要求が許可(受理)された場合は、S1504に進む。
S1504では、STA102自身がAPモードで動作する内容のグループ設定応答をグループ設定要求送信元のSTAへ送信する。そして、グループ設定応答を送信した相手STAからネットワーク移行開始メッセージを受信すると、図9のF911、F913、F915または図11のF1111、F1113、F1114の処理を行い、上述したネットワークの移行処理を行う(S1505)。
STA102は、時分割動作フラグの設定状態を判別し、時分割動作を行うか否かを判別する(S1506)。時分割動作フラグがONに設定されていて時分割動作を行う場合は、図11で説明したAPモードと端末モードとの時分割動作を行う(S1507、S1508)。時分割動作フラグがONに設定されてなく時分割動作を行わない場合は、APモードで動作し、必要に応じて他のSTAとデータ通信を行う(S1509)。
そして、グループ停止のメッセージを受信したか否かの判別を行う(S1510)。グループ停止のメッセージを受信した場合は、APモードでの動作を停止すると共に(S1511)、グループ設定で接続中のSTAとのデータ通信を停止する(S1512)。
また、時分割動作を行っていたか否かを判定し(S1513)、時分割動作を行っていなかった場合は、グループ設定での通信を開始する前に接続していたAP104にアソシエートし、接続する(S1514)。時分割動作を行っていた場合は(S1513)、AP104と接続した状態を維持しているので、AP104との接続状態を継続して維持する。
また、S1510においてグループ停止のメッセージを受信しなければ、S1506に戻る。
図16は、STA102の動作における単独処理を記述するフローチャートである。
単独処理では、STA102は、グループ設定要求を受理するか否かを判別する(S1601)。この判別は、上述したように、他のデバイスからグループ設定要求がなされたことをユーザインターフェースへ表示し、該表示を確認したユーザによるユーザインターフェースの入力に応じてグループ設定を許可するか否かを判別する。また、グループ設定要求を受理するか否かを予めユーザが設定しておき、該設定に応じて自動的に判別してもよい。
グループ設定要求を受理する場合は、STA102は、グループ設定応答(accept)を、グループ設定要求の送信元のSTAに送信する(S1602)。グループ設定要求を拒否する場合は、STA102は、グループ設定応答(deny)をグループ設定要求の送信元のSTAに送信する(S1608)。
STA102は、グループ設定応答(accept)を送信し(S1602)、グループ設定要求の送信元のSTAからネットワークの移行開始メッセージを受信すると、ネットワークの移行処理を行う(S1603)。図4の場合は、F408、F410、F412の処理を行い、AP104との接続を切断し、APモードで動作するSTA101にアソシエートして接続する。
ネットワークの移行が完了すると、STA102は、APモードで動作中のSTA101の管理下で必要に応じて通信する(S1604)。
STA102は、グループ停止を受信したか否かを判別する(S1605)。グループ停止を受信した場合は、グループ設定で接続中のSTA(STA101)とのデータ通信を停止する(S1606)。そして、AP104にアソシエートし、AP104と接続する(S1607)。
また、STA102は、グループ設定応答(deny)を送信すると(S1608)、探索要求を受信したか否かを判別する(S1609)。探索要求を受信しない場合は処理を終了する。探索要求を受信した場合は、上述した探索処理を実行し(S1610)、探索結果を探索応答として探索要求の送信元に返す。
なお、上記各実施形態ではIEEE802.11標準規格の場合について説明したが、本発明はUWB(Ultra Wide Band)等の他の通信方式においても適用可能である。
上記説明によれば、周囲の機器(AP、STA)との位置関係に応じて、AP以外のSTAがAPモードで動作し、新たなネットワークを構築することにより、効率的に通信を行うことができる。また、APモードで動作してネットワークを構成することにより、インフラストラクチャモードの利点を利用し、アドホックモードで問題となる様々な問題の発生を抑制できる。例えば、アドホックモードに対応していないSTAとも新たなネットワークでの通信が行えるようになる。また、アドホックモードで問題となる相互接続性の問題もなくなる。また、アクセスポイント機能の管理下でのパワーセーブも行える。また、アクセスポイント機能によるセキョリティ管理を行え、アドホックモードよりもセキュリティが向上する。
また、通信状態(位置関係)の変化に応じてシステムのネットワーク構成を変えることができるので、電波環境のよい状態で通信を行うことができる。
本発明は上記実施形態を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記録媒体に格納されたプログラムコードを読み出して実行することによっても達成される。上記コンピュータは、CPUまたはMPU等の制御ユニットも含む。この場合、記憶媒体から読み出されたプログラムコード自体が上記実施形態を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって上記実施形態が実現される場合も含まれる。
さらに、コンピュータに挿入された機能拡張ユニットに備わるメモリにプログラムコードを書き込み、そのプログラムコードの指示に基づき、その機能拡張ユニットの制御部が処理の一部または全部を行い、その処理により上記実施形態を実現する場合も含まれる。