(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
<第1の実施形態>
以下、図面を参照して、本発明の第1の実施形態について説明する。
図1は、本発明の通信システム100の一実施形態を示す概略図である。通信システム100は、アクセスポイント(以下で説明する図面ではAPと表す)として機能する通信装置10a〜10eと、クライアント(以下で説明する図面ではCLと表す)20とを含む。通信装置10a〜10eは、それぞれ有線LAN(図示せず)に接続されており、通信装置10a〜10eの間のデータ通信は、主に有線LANを介して行われる。一方、通信装置10a〜10eとクライアント20との間のデータ通信は、主に無線LANを介して行われる。
【0011】
通信装置10a〜10eは、電話回線に接続されたモデム(図示せず)や光回線に接続された光回線終端装置(図示せず)に接続され、インターネットやWAN(Wide Area Network)等のネットワークを介して、種々のデータサーバ(図示せず)とクライアント20との間でデータ通信を行う装置である。通信装置10a〜10eの例として、無線LANルータ等の通信装置が想定される。
【0012】
クライアント20は、電波を介したデータ通信が可能なスマートフォンやPC、タブレット型端末、家電、センサ等の通信装置である。クライアント20は、無線LANを介して、通信接続を要求するプローブ要求(Probe Request)をブロードキャストし、当該プローブ要求に対してプローブ応答(Probe Response)を送信したアクセスポイントとの間で無線通信接続を確立する。プローブ要求には、クライアント20の最大通信速度を示す情報が含まれる。
【0013】
図2は、本発明の第1の実施形態に係る通信装置10aの詳細な構成を示すブロック図である。以下、通信装置10aの構成について説明する。なお、通信装置10b〜10eも通信装置10aと同様の構成を有する。
【0014】
通信装置10aは、CPU(Central Processing Unit)110と、PHYチップ120と、無線LANインタフェース130と、有線LANインタフェース140と、記憶装置150とを備える。CPU110、PHYチップ120、無線LANインタフェース130、有線LANインタフェース140および記憶装置150は、銅等の配線で接続される。
【0015】
CPU110は、種々のプログラムを実行する演算装置である。CPU110は、ROM(Read Only Memory)に保存された本発明の選択的通信接続プログラムをRAM(Random Access Memory)に展開して実行することにより、本発明の選択的通信接続方法を実現する。選択的通信接続プログラムには、プログラムモジュールである制御部111、情報共有部112、スコア算出部113、接続要否判断部114および接続処理部115が含まれる。
【0016】
制御部111は、通信装置10aの機能を実現する中心的な役割を果たし、他のプログラムモジュールや機能部を制御して、種々の処理を実行する。制御部111は、通信装置10aがクライアント20からプローブ要求を受信した場合、PHYチップ120の電波強度測定部122からクライアント20の電波強度を取得すると共に、当該プローブ要求に含まれるクライアント20の最大通信速度を取得する。制御部111は、クライアント20の電波強度および最大通信速度を、
図9に示すようなクライアント情報テーブル152に登録する。
【0017】
図9は、クライアント情報テーブル152の一例を示す図である。クライアント情報テーブル152には、無線通信接続を要求している接続要求クライアントの最大通信速度および電波強度と、アクセスポイントと既に無線通信接続を確立した接続済クライアントの最大通信速度が登録される。なお、
図9に示すクライアント情報テーブルには、1の接続済クライアントの最大通信速度が登録されているが、複数のクライアントが通信装置10aと無線通信接続を確立している場合には、複数の接続済クライアントの最大通信速度が登録される。
【0018】
また、制御部111は、通信装置10aがクライアント20からプローブ要求を受信した場合、
図10に示すようなアクセスポイントスコアテーブル153に接続要求クライアントの情報および接続済クライアントの情報を、通信装置10aの識別情報と関連付けて登録する。
【0019】
図10は、アクセスポイントスコアテーブル153の一例を示す図である。アクセスポイントスコアテーブル153には、接続要求クライアントの情報、接続済クライアントの情報およびスコアが、アクセスポイント識別情報と関連付けて登録される。接続要求クライアントの情報には、アクセスポイント識別情報によって識別されるアクセスポイントが接続要求クライアントからプローブ要求を受信したか否かを示す情報と、接続要求クライアントの最大通信速度および電波強度が含まれる。接続済クライアントの情報には、アクセスポイント識別情報によって識別されるアクセスポイントが接続済クライアントを有するか否かを示す情報と、接続済クライアントの最大通信速度が含まれる。
【0020】
情報共有部112は、通信システム100に含まれる複数のアクセスポイントの間で共有すべき情報である共有対象情報を送受信して共有するプログラムモジュールである。共有対象情報には、(1)接続要求クライアントからのプローブ要求の受信の有無を示す情報、(2)接続済クライアントの有無を示す情報、(3)接続要求クライアントの最大通信速度および接続済クライアントの最大通信速度、(4)アクセスポイントが受信した接続要求クライアントの電波の強度が含まれる。
【0021】
通信装置10aがクライアント20からプローブ要求を受信した場合、情報共有部112は、アクセスポイントスコアテーブル153を参照して、自機の識別情報に関連付けられている共有対象情報を取得し、当該共有対象情報を他のアクセスポイントに送信する。情報共有部112は、他のアクセスポイントから共有対象情報を受信すると、当該共有対象情報を、当該他のアクセスポイントの固有識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。
【0022】
また、情報共有部112は、他のアクセスポイントに情報共有要求をブロードキャストする。情報共有要求は、プローブ要求を受信していないアクセスポイントが、共有対象情報を他のアクセスポイントに提供するための要求である。通信装置10aが他のアクセスポイントから情報共有要求を受信した場合、情報共有部112は、自機がクライアント20からプローブ要求を受信していないときに限り、接続済クライアントの情報を、共有対象情報として他のアクセスポイントに送信する。
【0023】
スコア算出部113は、
図11に示すようなスコア算出ポリシーに従い、アクセスポイントスコアテーブル153に登録された情報を用いて、通信システム100に含まれる各アクセスポイントについて、接続要求クライアントの接続先としての優先度を示す値であるスコアを算出するプログラムモジュールである。具体的には、スコア算出部113は、スコア算出対象のアクセスポイントが接続要求クライアントからプローブ要求を受信した場合、上位の優先度を示す値(例えば、「10」)を当該アクセスポイントのスコアの暫定値とする。一方、スコア算出対象のアクセスポイントが接続要求クライアントからプローブ要求を受信していない場合、スコア算出部113は、下位の優先度を示す値(例えば、「0」)を当該アクセスポイントのスコアとする。なお、下位の優先度を示す値の代わりに、プローブ要求を受信していない旨を示す情報(例えば、NULL等)を当該アクセスポイントのスコアとしてもよい。
【0024】
また、スコア算出部113は、接続済クライアントの有無を示す情報に基づき、プローブ要求を受信したアクセスポイントに接続済クライアントが無いか否か判断し、接続済クライアントが無い場合は、上位の優先度を示す値(例えば、「10」)を当該アクセスポイントのスコアに加算する。一方、プローブ要求を受信したアクセスポイントに接続済クライアントが有る場合、スコア算出部113は、接続要求クライアントの最大通信速度と接続済クライアントの最大通信速度とを比較し、これらのクライアントの最大通信速度が同一であるとき、中位の優先度を示す値(例えば、「5」)を当該アクセスポイントのスコアに加算する。一方、これらのクライアントの最大通信速度が異なる場合、スコア算出部113は、当該アクセスポイントのスコアに値を加算しない。
【0025】
さらに、スコア算出部113は、接続要求クライアントからアクセスポイントが受信したプローブ要求の電波強度と、閾値(例えば、「−60dBm」)とを比較し、接続要求クライアントの電波強度が閾値以上である場合は、上位の優先度を示す値(例えば、「10」)を当該アクセスポイントのスコアに加算する。当該閾値は、通信装置10aとのデータ通信において、クライアント20が自機の最大通信速度(理論値)を実現できる程度の電波強度とすることができる。一方、接続要求クライアントの電波強度が閾値未満である場合、スコア算出部113は、当該アクセスポイントのスコアに値を加算しない。スコア算出部113は、このようにして算出したアクセスポイントのスコアをアクセスポイントスコアテーブル153に登録する。
【0026】
接続要否判断部114は、スコア算出部113が算出したスコアに基づき、接続要求クライアントとの間で無線通信接続を確立する必要があるか否か判断するプログラムモジュールである。具体的には、接続要否判断部114は、スコア算出部113が算出したスコアのうち自機のスコアが最高である場合に、接続要求クライアントと無線通信接続を確立する必要が有ると判断する。ここで、自機のスコアと同一のスコアを有する他のアクセスポイントが存在する場合、接続要否判断部114は、自機が受信した接続要求クライアントのプローブ要求の電波強度が、当該同一のスコアを有する他のアクセスポイントが受信した接続要求クライアントのプローブ要求の電波強度よりも高いときに、接続要求クライアントと無線通信接続を確立する必要が有ると判断する。
【0027】
接続処理部115は、接続要求クライアントとの間で無線通信接続を確立する接続処理を実行するプログラムモジュールである。接続処理部115は、接続要否判断部114が接続要求クライアントと無線通信接続を確立する必要があると判断した場合に、接続要求クライアントとの間で無線通信接続を確立する接続処理を実行する。
【0028】
PHYチップ120は、OSI参照モデルの第1層である物理層の処理を実行する半導体集積回路である。PHYチップ120は、CPU110と無線LANインタフェース130および有線LANインタフェース140との間に配置され、データのシリアル化やパラレル化、電気信号のD/A変換、A/D変換、増幅等の処理を行う。また、PHYチップ120は、データ送受信部121と、電波強度測定部122とを備えている。
【0029】
データ送受信部121は、クライアント20やモデム等の外部装置との間で通信されるデータを送受信する論理回路である。データ送受信部121は、無線LANインタフェース130および有線LANインタフェース140から受信したデータをCPU110に転送し、また、CPU110から受信したデータを無線LANインタフェース130および有線LANインタフェース140に転送する。
【0030】
電波強度測定部122は、クライアント20から受信した電波信号の強度(RSSI:Received Signal Strength Indicator)を測定する論理回路である。電波強度測定部122は、クライアント20からプローブ要求を受信すると、当該プローブ要求を構成する電波信号の強度を測定する。電波強度測定部122は、制御部111の要求に応じて、電波信号の強度の測定結果を制御部111に提供する。
【0031】
無線LANインタフェース130は、PHYチップ120から受信したアナログ信号を、無線LANを介して、クライアント20や外部装置に送信すると共に、クライアント20や外部装置から受信したアナログ信号をPHYチップ120に供給する。
【0032】
有線LANインタフェース140は、PHYチップ120から受信したアナログ信号を、有線LANを介して、他のアクセスポイントや外部装置に送信すると共に、他のアクセスポイントや外部装置から受信したアナログ信号をPHYチップ120に供給する。
【0033】
記憶装置150は、種々のデータやプログラム、データテーブルが保存される記憶装置であり、ROMやRAMによって構成することができる。記憶装置150には、アクセスポイント情報151が保存されると共に、上述したクライアント情報テーブル152およびアクセスポイントスコアテーブル153が構築される。アクセスポイント情報151は、通信システム100に含まれるアクセスポイント10a〜10eの識別情報であり、
図10に示すようなアクセスポイントスコアテーブル153に予め登録される。アクセスポイントの識別情報として、アクセスポイントのMACアドレス等を用いることができる。
【0034】
図3は、第1の実施形態に係る通信装置10aが有する主要なプログラムモジュールを示すブロック図である。通信装置10aは、主要なプログラムモジュールとして、上述した情報共有部112、スコア算出部113、接続要否判断部114および接続処理部115を備える。
【0035】
図4は、本発明の第1の実施形態に係る通信システム100で実行される処理の一例を示すシーケンス図である。
図4に示す例では、
図1に示すように、アクセスポイント10a,10b,10cがクライアント20の電波圏内に配置されていると共に、クライアント20がアクセスポイント10a,10b,10cの電波圏内に配置されていると仮定する。以下、
図4を参照して、クライアント20がアクセスポイント10bと無線通信接続を確立する際に実行される処理のシーケンスについて説明する。
【0036】
クライアント20は、通信システム100に含まれるアクセスポイント10a〜10eのいずれかと無線通信接続を確立する場合、無線LANを介して、プローブ要求をブロードキャストする。クライアント20からプローブ要求を受信したアクセスポイント10a,10b,10cは、有線LANを介して、共有対象情報を他のアクセスポイントに送信すると共に、情報共有要求をブロードキャストする。クライアント20からプローブ要求を受信していないアクセスポイント10d,10eは、他のアクセスポイントから情報共有要求を受信すると、自機以外のアクセスポイントに共有対象情報を送信する。
【0037】
次に、プローブ要求を受信したアクセスポイント10a,10b,10cは、スコア算出処理を実行して、通信システム100に含まれるアクセスポイント10a〜10eについてスコアを算出し、自機がクライアント20と無線通信接続を確立する必要があるか否か判断する。そして、クライアント20と無線通信接続を確立する必要があると判断したアクセスポイント10bのみが、クライアント20にプローブ応答を返信し、接続処理を実行してクライアント20との間で無線通信接続を確立する。
【0038】
図5および
図6は、本発明の第1の実施形態に係る通信装置が実行する処理を示すフローチャートである。以下、アクセスポイント10aがクライアント20からプローブ要求を受信した場合について説明する。
【0039】
図5に示す処理は、ステップS100から開始し、ステップS101でアクセスポイント10aの制御部111が、プローブ要求を送信した接続要求クライアント20の電波強度を電波強度測定部122から取得すると共に、当該プローブ要求に含まれる接続要求クライアント20の最大通信速度を取得し、クライアント情報テーブル152に登録する。
【0040】
ステップS102では、制御部111は、接続要求クライアント20からプローブ要求を受信した旨を示す情報と、接続要求クライアント20の電波強度と、接続要求クライアント20の最大通信速度を、アクセスポイント10aの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。ここで、制御部111は、クライアント情報テーブル152に接続済クライアントの最大通信速度が登録されている場合、接続要求クライアントの情報に加え、接続済クライアントが有る旨を示す情報と、当該接続済クライアントの最大通信速度を、アクセスポイント10aの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。一方、クライアント情報テーブル152に接続済クライアントの最大通信速度が登録されていない場合、制御部111は、接続要求クライアントの情報に加え、接続済クライアントが無い旨を示す情報を、アクセスポイント10aの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。
【0041】
ステップS103では、情報共有部112は、記憶装置150に保存されているアクセスポイント情報151を参照して共有対象情報を送信すべき他のアクセスポイント、すなわち、自機以外のアクセスポイントを特定し、当該アクセスポイントに共有対象情報を送信する。ここで、情報共有部112は、アクセスポイント情報151に接続済クライアントが有る旨を示す情報が登録されている場合、プローブ要求を受信した旨を示す情報と、接続要求クライアント20の最大通信速度および電波強度と、接続済クライアントが有る旨を示す情報と、当該接続済クライアントの最大通信速度を、共有対象情報として他のアクセスポイントに送信する。一方、アクセスポイント情報151に接続済クライアントが無い旨を示す情報が登録されている場合、情報共有部112は、プローブ要求を受信した旨を示す情報と、接続要求クライアント20の最大通信速度および電波強度と、接続済クライアントが無い旨を示す情報を、共有対象情報として他のアクセスポイントに送信する。
【0042】
ステップS104では、情報共有部112は、他のアクセスポイント10b〜10eに情報共有要求をブロードキャストする。ステップS105では、情報共有部112は、他のアクセスポイントから共有対象情報を受信したか否か判断する。他のアクセスポイントから共有対象情報を受信していない場合(NO)、情報共有部112は、ステップS105を再び実行する。一方、他のアクセスポイントから共有対象情報を受信した場合(YES)、ステップS106に処理が進む。
【0043】
ステップS106では、情報共有部112は、他のアクセスポイントから受信した共有対象情報をアクセスポイントスコアテーブル153に登録する。ここで、情報共有部112は、他のアクセスポイントからプローブ要求を受信した旨を示す情報を受信した場合には、プローブ要求を受信した旨を示す情報と、接続要求クライアントの最大通信速度および電波強度を、当該他のアクセスポイントの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。一方、他のアクセスポイントからプローブ要求を受信していない旨を示す情報を受信した場合には、情報共有部112は、プローブ要求を受信していない旨を示す情報を、当該他のアクセスポイントの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。また、情報共有部112は、他のアクセスポイントから接続済クライアントが有る旨を示す情報を受信した場合には、接続済クライアントが有る旨を示す情報と、接続済クライアントの最大通信速度を、当該他のアクセスポイントの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。一方、他のアクセスポイントから接続済クライアントが無い旨を示す情報を受信した場合には、情報共有部112は、接続済クライアントが無い旨を示す情報を、当該他のアクセスポイントの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。
【0044】
ステップS107では、スコア算出部113が、当該他のアクセスポイントについて、
図8に示すスコア算出処理を実行し、当該他のアクセスポイントのスコアを算出する。ステップS108では、情報共有部112は、アクセスポイントスコアテーブル153を参照して、全てのアクセスポイントから共有対象情報を受信したか否か判断する。情報共有部112は、アクセスポイントスコアテーブル153に登録されているアクセスポイント識別情報によって識別される全てのアクセスポイントについてスコアを算出しているか否か判断することにより、全てのアクセスポイントから共有対象情報を受信したか否か判断することができる。
【0045】
全てのアクセスポイントから共有対象情報を受信していない場合(NO)、ステップS105に処理が戻る。一方、全てのアクセスポイントから共有対象情報を受信した場合(YES)、
図6に示すステップS109に処理が進む。ステップS109では、接続要否判断部114が、アクセスポイントスコアテーブル153を参照して、自機のスコアと他のアクセスポイントのスコアとを比較し、自機のスコアが最も高いか否か判断する。自機のスコアが最も高いスコアでない場合(NO)、ステップS115で処理が終了する。一方、自機のスコアが最も高いスコアである場合(YES)、ステップS110に処理が進む。
【0046】
ステップS110では、接続要否判断部114は、アクセスポイントスコアテーブル153を参照して、自機のスコアと他のアクセスポイントのスコアとを比較し、自機のスコアと同じスコアのアクセスポイントが有るか否か判断する。自機のスコアと同じスコアのアクセスポイントが無い場合(NO)、ステップS112に処理が進む。一方、自機のスコアと同じスコアのアクセスポイントが有る場合(YES)、ステップS111に処理が進む。ステップS111では、接続要否判断部114は、アクセスポイントスコアテーブル153を参照して、自機の識別情報に関連付けられている接続要求クライアント20の電波強度(すなわち、自機が受信した接続要求クライアント20の電波強度)と、自機のスコアと同じスコアのアクセスポイントの識別情報に関連付けられている接続要求クライアント20の電波強度(すなわち、同じスコアのアクセスポイントが受信した接続要求クライアント20の電波強度)とを比較し、自機が受信した接続要求クライアント20の電波強度が最も高いか否か判断する。自機が受信した接続要求クライアント20の電波強度が最も高いものではない場合(NO)、ステップS115で処理が終了する。一方、自機が受信した接続要求クライアント20の電波強度が最も高い場合(YES)、ステップS112に処理が進む。
【0047】
ステップS112では、接続処理部115が、プローブ要求を送信したクライアント20にプローブ応答を送信する。ステップS113では、接続処理部115は、クライアント20との間で接続処理を実行する。ステップS114では、接続処理部115は、プローブ要求に含まれるクライアント20の最大通信速度を示す情報を、接続済クライアントの最大通信速度としてクライアント情報テーブル152に登録し、ステップS115で処理が終了する。
【0048】
図7は、本発明の第1の実施形態に係る通信装置が実行する処理を示すフローチャートである。
図7に示す処理は、クライアント20からプローブ要求を受信していないアクセスポイント、すなわち、クライアント20の電波圏外に配置されているアクセスポイントが、自機の共有対象情報を他のアクセスポイントに提供するための処理である。以下、アクセスポイント10dが他のアクセスポイントから情報共有要求を受信した場合について説明する。
【0049】
図7に示す処理はステップS200から開始し、ステップS201でアクセスポイント10dの情報共有部112が、アクセスポイントスコアテーブル153を参照して、自機がプローブ要求を受信したか否か判断する。本実施形態では、アクセスポイントスコアテーブル153内のプローブ要求の有無を示す情報が登録されるカラムの初期値はNULLであり、プローブ要求を受信した場合には、
図5に示すステップS102において当該カラムにプローブ要求を受信した旨の情報が登録される。このため、情報共有部112は、当該カラムに登録された情報を参照することにより、自機がプローブ要求を受信したか否か判断することができる。
【0050】
自機がプローブ要求を受信した場合(YES)、ステップS203で処理が終了する。一方、自機がプローブ要求を受信していない場合(NO)、ステップS202に処理が進む。ステップS202では、情報共有部112は、記憶装置150に保存されているアクセスポイント情報151を参照して共有対象情報を送信すべき他のアクセスポイント、すなわち、自機以外のアクセスポイント10a〜10c、10eを特定し、当該アクセスポイントに共有対象情報を送信し、ステップS203で処理が終了する。ここで、情報共有部112は、クライアント情報テーブル152を参照し、接続済クライアントの最大通信速度が登録されているときは、当該接続済クライアントが有る旨を示す情報と、当該接続済クライアントの最大通信速度と、プローブ要求を受信していない旨を示す情報を、共有対象情報として他のアクセスポイントに送信する。一方、クライアント情報テーブル152に接続済クライアントの最大通信速度が登録されていない場合、情報共有部112は、接続済クライアントが無い旨を示す情報と、プローブ要求を受信していない旨を示す情報を、共有対象情報として他のアクセスポイントに送信する。
【0051】
図8は、スコア算出処理の一実施形態を示すフローチャートである。
図8は、ステップS300から開始し、ステップS301でスコア算出部113が、変数Scoreを「0」で初期化する。ステップS302では、スコア算出部113は、アクセスポイントスコアテーブル153を参照して、スコア算出対象のアクセスポイントがプローブ要求を受信したか否か判断する。スコア算出対象のアクセスポイントがプローブ要求を受信していない場合(NO)、ステップS310に処理が進む。一方、スコア算出対象のアクセスポイントがプローブ要求を受信した場合(YES)、ステップS303に処理が進む。ステップS303では、スコア算出部113は、変数Scoreに「10」を設定する。
【0052】
ステップS304では、スコア算出部113は、アクセスポイントスコアテーブル153を参照して、スコア算出対象のアクセスポイントに接続済クライアントが無いか否か判断する。スコア算出対象のアクセスポイントに接続済クライアントが無い場合(YES)、ステップS305に処理が進む。ステップS305では、スコア算出部113は、変数Scoreに設定されている値に「10」を加算し、ステップS308に処理が進む。一方、スコア算出対象のアクセスポイントに接続済クライアントが有る場合(NO)、ステップS306に処理が進む。
【0053】
ステップS306では、スコア算出部113は、アクセスポイントスコアテーブル153を参照して、スコア算出対象のアクセスポイントの識別情報に関連付けられている接続要求クライアントの最大通信速度と接続済クライアントの最大通信速度とを比較し、これらのクライアントの最大通信速度が同じであるか否か判断する。これらのクライアントの最大通信速度が異なる場合(NO)、ステップS308に処理が進む。一方、これらのクライアントの最大通信速度が同じである場合(YES)、ステップS307に処理が進む。ステップS307では、スコア算出部113は、変数Scoreに設定されている値に「5」を加算する。
【0054】
ステップS308では、スコア算出部113は、アクセスポイントスコアテーブル153を参照して、スコア算出対象のアクセスポイントの識別情報に関連付けられている接続要求クライアントの電波強度が閾値(例えば「−60dBm」等)以上であるか否か判断する。接続要求クライアントの電波強度が閾値未満である場合(NO)、ステップS310に処理が進む。一方、接続要求クライアントの電波強度が閾値以上である場合(YES)、ステップS309に処理が進む。ステップS309では、スコア算出部113は、変数Scoreにポイント「10」を加算する。ステップS310では、スコア算出部113は、変数Scoreに設定されている値を、アクセスポイントスコアテーブル153にスコアとして登録し、ステップS311で処理が終了する。
【0055】
第1の実施形態では、以下の効果を奏する。すなわち、スコア算出部113が、他のクライアントと無線通信接続を確立していないアクセスポイントに上位の優先度を与えるため、当該アクセスポイントが、優先的に接続要求クライアントと無線通信接続を確立する。これにより、当該アクセスポイントと他のクライアントとの間のデータ通信に起因する待機時間が発生し得ないため、新たに接続したクライアントと当該アクセスポイントとの間のラウンドトリップタイムを低減できる。
【0056】
また、スコア算出部113は、スコア算出対象のアクセスポイントに接続済クライアントが存在する場合、接続要求クライアントの最大通信速度と接続済クライアントの最大通信速度とを比較し、これらのクライアントの最大通信速度が同じである場合は、当該アクセスポイントに対して中位の優先度を与える。一方、スコア算出部113は、これらのクライアントの最大通信速度が異なる場合は、当該アクセスポイントに対して下位の優先度を与える。これにより、接続要求クライアントと同じ最大通信速度を有する接続済クライアントと無線通信接続を確立しているアクセスポイントが、優先的に接続要求クライアントと無線通信接続を確立する。このため、高速通信の接続要求クライアントが、低速通信の接続済クライアントと無線通信接続を確立しているアクセスポイントではなく、高速通信の接続済クライアントと無線通信接続を確立しているアクセスポイントと優先的に無線通信接続を確立することができる。その結果、接続済クライアントと当該アクセスポイントとの間のデータ通信に起因する待機時間(すなわち、新たに接続したクライアントの待機時間)を抑制できると共に、新たに接続したクライアントと当該アクセスポイントとの間のデータ通信に起因する待機時間(すなわち、接続済クライアントの待機時間)を抑制することができる。したがって、接続対象のアクセスポイントに接続済クライアントが有る場合においても、クライアントとアクセスポイントとの間のラウンドトリップタイムを低減することができる。
【0057】
さらに、スコア算出部113は、接続要求クライアントの電波の強度が閾値以上のアクセスポイントに対して上位の優先度を与えると共に、接続要求クライアントの電波の強度が閾値未満のアクセスポイントに対して下位の優先度を与える。これにより、受信電波強度の高いアクセスポイントが、優先的に接続要求クライアントと無線通信接続を確立する。このため、アクセスポイントおよびクライアントが強度の高い電波を用いてデータ通信を行うことができ、当該データ通信における実行速度を高めることができ、クライアントとアクセスポイントとの間のラウンドトリップタイムを低減することができる。
【0058】
さらに、接続要否判断部114は、自機のスコアと同一のスコアを有する他のアクセスポイントが存在する場合、自機に対する接続要求クライアントの電波の強度が、当該他のアクセスポイントが受信した接続要求クライアントの電波の強度よりも高いとき、接続要求クライアントと無線通信接続を確立する必要が有ると判断する。これにより、受信電波強度の高いアクセスポイントが、優先的に接続要求クライアントと無線通信接続を確立する。このため、アクセスポイントおよびクライアントが強度の高い電波を用いてデータ通信を行うことができ、当該データ通信における実行速度を高めることができ、クライアントとアクセスポイントとの間のラウンドトリップタイムを低減することができる。
【0059】
<第2の実施形態>
図12は、本発明の第2の実施形態に係るアクセスポイント管理装置30の詳細な構成を示すブロック図である。第2の実施形態では、通信システム100は、通信装置10a〜10eと、アクセスポイント管理装置30とを含み、アクセスポイント管理装置30が、接続要求クライアントと接続すべきアクセスポイントを決定する。本実施形態では、通信装置10a〜10eは、スコア算出部113、接続要否判断部114およびアクセスポイントスコアテーブル153を含まない構成とすることができる。
【0060】
アクセスポイント管理装置30は、有線LANネットワークを介して通信装置10a〜10eと通信可能な情報処理装置であり、接続要求クライアントと接続すべき通信装置を決定し、当該通信装置と接続要求クライアントとの無線通信接続を確立させる。アクセスポイント管理装置30は、CPU310と、有線LANインタフェース340と、記憶装置350とを備える。
【0061】
CPU310は、種々のプログラムを実行する演算装置である。CPU310は、ROMに保存された本発明の選択的通信接続プログラムをRAMに展開して実行することにより、本発明の選択的通信接続方法を実現する。選択的通信接続プログラムには、プログラムモジュールである制御部311、共有情報取得部312、スコア算出部313、接続先決定部314および接続処理部315が含まれる。
【0062】
制御部311は、アクセスポイント管理装置30の機能を実現する中心的な役割を果たし、他のプログラムモジュールや機能部を制御して、種々の処理を実行する。共有情報取得部312は、通信システム100に含まれるアクセスポイントから共有対象情報を取得するプログラムモジュールである。共有情報取得部312は、アクセスポイントが接続要求クライアントからプローブ要求を受信した旨の通知(プローブ要求通知)を受信すると、有線LANを介して情報共有要求をブロードキャストし、アクセスポイントから共有対象情報を取得する。
【0063】
スコア算出部313は、第1の実施形態のスコア算出部113と同様に、アクセスポイントスコアテーブル153に登録された情報を用いて、通信システム100に含まれる各アクセスポイントについてスコアを算出するプログラムモジュールである。接続先決定部314は、スコア算出部313が算出したスコアに基づき、接続要求クライアントとの間で無線通信接続を確立すべきアクセスポイントを決定するプログラムモジュールである。接続処理部315は、接続先決定部314がアクセスポイントと接続要求クライアントとの間で無線通信接続を確立させるプログラムモジュールである。
【0064】
図13は、第2の実施形態に係るアクセスポイント管理装置30が有する主要なプログラムモジュールを示すブロック図である。アクセスポイント管理装置30は、主要なプログラムモジュールとして、上述した共有情報取得部312、スコア算出部313、接続先決定部314および接続処理部315を含む。
【0065】
図14は、本発明の第2の実施形態に係る通信システム100で実行される処理の一例を示すシーケンス図である。
図14に示す例では、第1の実施形態の
図1と同様に、アクセスポイント10a,10b,10cがクライアント20の電波圏内に配置されていると共に、クライアント20がアクセスポイント10a,10b,10cの電波圏内に配置されていると仮定する。以下、
図14を参照して、クライアント20がアクセスポイント10bと無線通信接続を確立する際に実行される処理のシーケンスについて説明する。
図14には、アクセスポイント10eについて図示していないが、アクセスポイント10eの挙動は、アクセスポイント10dと同様である。
【0066】
クライアント20は、通信システム100に含まれるアクセスポイントと無線通信接続を確立する場合、無線LANを介して、プローブ要求をブロードキャストする。クライアント20からプローブ要求を受信したアクセスポイント10a,10b,10cは、有線LANを介して、プローブ要求通知をアクセスポイント管理装置30に送信する。アクセスポイント管理装置30は、アクセスポイントからプローブ要求通知を受信すると、アクセスポイント情報151を参照して通信システム100に含まれる全てのアクセスポイントを特定し、有線LANを介して、これらのアクセスポイントに情報共有要求を送信する。
【0067】
アクセスポイント10a〜10eは、アクセスポイント管理装置30から情報共有要求を受信すると、自機の共有対象情報をアクセスポイント管理装置30に送信する。ここで、クライアント20からプローブ要求を受信したアクセスポイント10a,10b,10cは、プローブ要求を受信した旨の情報と共に、クライアント20の最大通信速度および電波強度をアクセスポイント管理装置30に送信する。一方、クライアント20からプローブ要求を受信していないアクセスポイント10d,10eは、プローブ要求を受信していない旨の情報をアクセスポイント管理装置30に送信する。また、これらのアクセスポイントは、接続済クライアントが有る場合には、接続済クライアントが有る旨の情報と共に、当該接続済クライアントの最大通信速度をアクセスポイント管理装置30に送信する。一方、接続済クライアントが無い場合には、アクセスポイントは、接続済クライアントが無い旨の情報をアクセスポイント管理装置30に送信する。
【0068】
アクセスポイント管理装置30は、アクセスポイント10a〜10eから共有対象情報を受信すると、スコア算出処理を実行して、通信システム100に含まれるアクセスポイントについてスコアを算出する。そして、アクセスポイント管理装置30は、算出したアクセスポイントのスコアに基づいて、クライアント20と無線通信接続を確立すべきアクセスポイントを決定し、当該アクセスポイントに対し、プローブ応答指示を送信する。アクセスポイント10bは、アクセスポイント管理装置30からプローブ応答指示を受信すると、クライアント20にプローブ応答を返信し、クライアント20との間で無線通信接続を確立する。
【0069】
図15は、本発明の第2の実施形態に係るアクセスポイント管理装置30が実行する処理を示すフローチャートである。
図15に示す処理は、アクセスポイント管理装置30が通信装置10a〜10eのいずれか1つからプローブ要求通知を受信することにより、ステップS400から開始する。なお、複数の通信装置からほぼ同時にプローブ要求通知を受信することも考えられるため、アクセスポイント管理装置30が1の通信装置からプローブ要求通知を受信して
図15に示す処理を実行した場合、一定期間、当該処理を実行しない構成とすることができる。
【0070】
ステップS401では、アクセスポイント管理装置30の共有情報取得部312は、通信システム100に含まれるアクセスポイントに情報共有要求を送信する。ステップS402では、共有情報取得部312は、アクセスポイントから共有対象情報を受信したか否か判断する。アクセスポイントから共有対象情報を受信していない場合(NO)、共有情報取得部312は、ステップS402を再び実行する。一方、アクセスポイントから共有対象情報を受信した場合(YES)、ステップS403に処理が進む。
【0071】
ステップS403では、共有情報取得部312は、アクセスポイントから受信した共有対象情報をアクセスポイントスコアテーブル153に登録する。ここで、共有情報取得部312は、アクセスポイントからプローブ要求を受信した旨を示す情報を受信した場合には、プローブ要求を受信した旨を示す情報と、接続要求クライアントの最大通信速度および電波強度を、当該アクセスポイントの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。一方、アクセスポイントからプローブ要求を受信していない旨を示す情報を受信した場合には、共有情報取得部312は、プローブ要求を受信していない旨を示す情報を、当該アクセスポイントの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。また、共有情報取得部312は、アクセスポイントから接続済クライアントが有る旨を示す情報を受信した場合には、接続済クライアントが有る旨を示す情報と、接続済クライアントの最大通信速度を、当該アクセスポイントの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。一方、アクセスポイントから接続済クライアントが無い旨を示す情報を受信した場合には、共有情報取得部312は、接続済クライアントが無い旨を示す情報を、当該アクセスポイントの識別情報と関連付けてアクセスポイントスコアテーブル153に登録する。
【0072】
ステップS404では、スコア算出部313が、当該アクセスポイントについて、
図8に示すスコア算出処理を実行し、当該アクセスポイントのスコアを算出する。ステップS405では、共有情報取得部312は、アクセスポイントスコアテーブル153を参照して、全てのアクセスポイントから共有対象情報を受信したか否か判断する。共有情報取得部312は、アクセスポイントスコアテーブル153に登録されているアクセスポイント識別情報によって識別される全てのアクセスポイントについてスコアを算出しているか否か判断することにより、全てのアクセスポイントから共有対象情報を受信したか否か判断することができる。
【0073】
全てのアクセスポイントから共有対象情報を受信していない場合(NO)、ステップS402に処理が戻る。一方、全てのアクセスポイントから共有対象情報を受信した場合(YES)、S406に処理が進む。ステップS406では、接続先決定部314が、アクセスポイントスコアテーブル153を参照して、スコアが最も高いアクセスポイントを特定する。ステップS407では、接続先決定部314は、特定したアクセスポイントが複数であるか否か判断する。特定したアクセスポイントが1つである場合(NO)、ステップS409に処理が分岐する。一方、特定したアクセスポイントが複数である場合(YES)、ステップS408に処理が分岐する。ステップS408では、接続先決定部314は、アクセスポイントスコアテーブル153を参照し、当該特定した複数のアクセスポイントのうち電波強度が最も高いアクセスポイントを特定する。ステップS408では、接続処理部315が、接続先決定部314が特定したアクセスポイントにプローブ応答指示を送信し、ステップS410で処理が終了する。
【0074】
第2の実施形態では、第1の実施形態が奏する効果に加えて以下の効果を奏する。すなわち、アクセスポイント管理装置30が、接続要求クライアントと接続すべきアクセスポイントを決定し、当該アクセスポイントと接続要求クライアントとの無線通信接続を確立させる。このため、プローブ要求を受信したアクセスポイントが、接続要求クライアントと接続すべきか否か判断する実施形態に比べて、アクセスポイントの処理負担を軽減することができる。
【0075】
<第3の実施形態>
第3の実施形態では、第1の実施形態のスコア算出部113、及び第2の実施形態のスコア算出部313は、接続要求クライアントの最大通信速度と接続済クライアントの最大通信速度とを比較し、これらのクライアントの最大通信速度の差異が閾値以下であるアクセスポイントに対して中位の優先度を与えるスコアを算出する。当該閾値は、最大通信速度が実質的に同一であると認められる任意の値(0以上)とすることができる。また、スコア算出部113は、これらのクライアントの最大通信速度の差異が閾値を超えるアクセスポイントに対して下位の優先度を与えるスコアを算出する。すなわち、これらのクライアントの最大通信速度が完全に同一でなくても、実質的に同一である場合には、スコア算出部113は、アクセスポイントに対して中位の優先度を与える。これにより、第3の実施形態では、第1の実施形態、及び第2の実施形態が奏する効果に加え、接続要求クライアントと接続済クライアントの最大通信速度が実質的に同一である場合にも、アクセスポイントに対して中位の優先度を与えることができ、クライアントとアクセスポイントとの間のラウンドトリップタイムを低減することが可能なアクセスポイントの候補数を増やすことができる。
【0076】
<第4の実施形態>
上述した実施形態では、通信システム100において1の接続済クライアントがアクセスポイントと無線通信接続を確立している場合について説明したが、複数の接続済クライアントがアクセスポイントと無線通信接続を確立している場合には、これらの接続済クライアントと当該アクセスポイントとの間のデータ通信により、新たに接続するクライアントの待機時間が増大することも想定される。このため、第4の実施形態では、スコア算出対象のアクセスポイントに接続済クライアントが複数存在する場合、第1の実施形態のスコア算出部113、及び第2の実施形態のスコア算出部313は、接続要求クライアントの最大通信速度と接続済クライアントの最大通信速度が同じであっても、当該アクセスポイントに対して下位の優先度を与えるスコアを算出する。一方、スコア算出対象のアクセスポイントに接続済クライアントが1つ存在し、かつ、接続要求クライアントの最大通信速度と接続済クライアントの最大通信速度が同じである場合は、スコア算出部113は、上述した実施形態と同様に、当該アクセスポイントに対して中位の優先度を与えるスコアを算出する。これにより、複数の接続済クライアントと無線通信接続を確立しているアクセスポイントよりも、1の接続済クライアントと無線通信接続を確立しているアクセスポイントが、優先的に接続要求クライアントと無線通信接続を確立する。このため、他の接続済クライアントと当該アクセスポイントとの間のデータ通信に起因する待機時間(すなわち、新たに接続したクライアントの待機時間)を抑制できると共に、新たに接続したクライアントと当該アクセスポイントとの間のデータ通信に起因する待機時間(すなわち、他の接続済クライアントの待機時間)を抑制することができる。したがって、通信システム100に複数の接続済クライアントと無線通信接続を確立しているアクセスポイントが存在する場合においても、クライアントとアクセスポイントとの間のラウンドトリップタイムを低減することができる。
【0077】
<その他の実施形態>
上述した実施形態では、CPU110が、プログラムモジュールである制御部111、情報共有部112、スコア算出部113、接続要否判断部114および接続処理部115をRAMに展開して実行するが、他の実施形態では、これらのプログラムモジュールを論理回路に実装して、上述した処理を実行してもよい。また、上述した実施形態では、アクセスポイントのスコアを算出するためのパラメータとして、クライアントの最大通信速度(理論値)を使用するが、他の実施形態では、クライアントが実現可能な最大通信速度(実測値)を使用してもよい。
【0078】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0079】
本発明は上述した実施形態に限られたものではなく、本発明の趣旨を逸脱しない範囲で適宜変更することが可能である。
【課題】複数のアクセスポイントを含む通信システムにおいて、クライアントとアクセスポイントとの間のラウンドトリップタイムを低減することが可能な通信装置、アクセスポイント管理装置、選択的通信接続方法および選択的通信接続プログラムを提供すること。
【解決手段】本発明の通信装置10aは、アクセスポイントとして機能し、第1のクライアント20から無線通信接続を要求された場合に、他のアクセスポイントとの間で共有すべき共有対象情報を送受信し、当該共有対象情報を用いて、自機および他のアクセスポイントについて第1のクライアント20の接続先としての優先度を示すスコアを算出する。そして、当該スコアに基づき、第1のクライアント20との間で無線通信接続を確立する必要があるか否か判断し、無線通信接続を確立する必要があると判断した場合に、第1のクライアント20との間で無線通信接続を確立する。