(57)【要約】【課題】待機時間を短縮しつつアクセス競合の発生を抑制する通信装置、通信装置制御方法、通信装置制御プログラム、情報処理装置及び情報処理システムを提供する。【解決手段】経過時間計測部１３３は、設定された待機時間の経過を計測する。判定部１０４は、データの送信先との間の通信経路が使用可能か否かを判定する。送信部１０１は、判定部１０４により通信経路が使用可能と判定されてから、通信経路が使用可能な状態で待機時間が経過した場合、データを送信する。初期値設定部１３２は、送信部１０１によるデータ送信の開始時に、所定時間を単位として生成された、送信先と通信を行う他の無線モジュール１００の初期値とは異なる値の初期値を待機時間として設定する。再設定部１３４は、待機時間が経過した場合に、所定時間を単位として生成された再設定値を待機時間として再設定する。【選択図】図３
2015050601.tif 000002
【特許請求の範囲】
【請求項１】
設定された待機時間の経過を計測する経過時間計測部と、
データの送信先との間の通信経路が使用可能か否かを判定する判定部と、
前記判定部により前記通信経路が使用可能と判定されてから、前記通信経路が使用可能な状態で前記待機時間が経過した場合、データを送信する送信部と、
前記送信部によるデータ送信の開始時に、所定時間を単位として生成された、前記送信先と通信を行う他の通信装置の初期値とは異なる値の初期値を前記待機時間として設定する初期値設定部と、
前記待機時間が経過した場合に、前記所定時間を単位として生成された再設定値を前記待機時間として再設定する再設定部と
を備えたことを特徴とする通信装置。
【請求項２】
前記経過時間計測部は、前記待機時間の経過の計測中に前記判定部により前記通信経路が使用不可能と判定された場合、前記待機時間の残り時間を保持し、次に判定部により前記通信経路が使用可能と判定されると、前記残り時間を前記待機時間として計測を再開することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記再設定部は、送信するデータがあれば前記送信部によりデータが送信された場合に待機時間を再設定し、送信するデータが無ければ前記待機時間が経過した場合に前記待機時間を再設定することを特徴とする請求項１又は請求項２に記載の通信装置。
【請求項４】
前記初期値設定部は、前記送信先と通信を行う通信装置の数を上限として各通信装置のそれぞれ異なるように割当てられた数のうち、自装置に割当てられた数に前記所定時間を乗算した値を初期値とすることを特徴とする請求項１〜３のいずれか一つに記載の通信装置。
【請求項５】
前記再設定部は、前記送信先と通信を行う通信装置の数に前記所定時間を乗算した値を前記再設定値とすることを特徴とする請求項１〜４のいずれか一つに記載の通信装置。
【請求項６】
前記初期値設定部及び前記再設定部は、前記初期値及び前記再設定値のそれぞれを管理装置から取得することを特徴とする請求項１〜５のいずれか一つに記載の通信装置。
【請求項７】
前記初期値設定部は、前記送信先と通信を行う通信装置のそれぞれの送信比率を基に前記初期値を算出し、
前記再設定部は、前記送信先と通信を行う通信装置のそれぞれの送信比率を基に前記再設定値を算出し、
前記送信部は、前記送信比率にしたがいデータを送信する
ことを特徴とする請求項１〜３のいずれか一つに記載の通信装置。
【請求項８】
前記初期値設定部は、前記送信先と通信を行う各通信装置に連番を振った場合に、最初の番号を有する通信装置の送信比率を１として、該装置の送信比率に前記所定時間を乗算した値を該装置の初期値とし、他の番号を有する通信装置は、該装置の一つ前の番号の通信装置の初期値と送信比率とを加算した値に前記所定時間を乗算した値を初期値とすることを特徴とする請求項７に記載の通信装置。
【請求項９】
前記再設定部は、前記送信先と通信を行う各通信装置に連番を振った場合に、自装置の送信比率から１を減算した値を、各通信装置の送信比率を合計した値から減算し、減算結果に前記所定時間を乗算した値を再設定値とすることを特徴とする請求項７又は請求項８に記載の通信装置。
【請求項１０】
前記再設定部は、前記待機時間が経過した場合に、自装置の送信比率に応じたデータの送信を前記送信部に繰り返させ、自装置の送信比率に応じたデータの送信が完了した場合に、前記再設定値を前記待機時間として再設定することを特徴とする請求項９に記載の通信装置。
【請求項１１】
前記初期値設定部及び前記再設定部は、前記送信先と通信を行う各通信装置のそれぞれの送信比率を管理装置から受信することを特徴とする請求項７〜１０のいずれか一つに記載の通信装置。
【請求項１２】
前記判定部は、前記通信経路を用いて送られる信号がない状態が所定の判定期間続いた場合、前記通信経路が使用可能と判定することを特徴とする請求項１〜１１のいずれか一つに記載の通信装置。
【請求項１３】
所定時間を単位として生成された、データの送信先と通信を行う他の通信装置の初期値とは異なる値の初期値を待機時間として設定し、
前記送信先との間の通信経路が使用可能か否かを判定し、
通信経路が使用可能であれば、前記待機時間の経過の計測を開始し、
前記通信経路が使用可能な状態で前記待機時間が経過した場合、データを送信し、
前記所定時間を単位として生成された再設定値を前記待機時間として再設定する
ことを特徴とする通信装置制御方法。
【請求項１４】
所定時間を単位として生成された、データの送信先と通信を行う他の通信装置の初期値とは異なる値の初期値を待機時間として設定し、
前記送信先との間の通信経路が使用可能か否かを判定し、
通信経路が使用可能であれば、前記待機時間の経過の計測を開始し、
前記通信経路が使用可能な状態で前記待機時間が経過した場合、データを送信し、
前記所定時間を単位として生成された再設定値を前記待機時間として再設定する
処理をコンピュータに実行させることを特徴とする通信装置制御プログラム。
【請求項１５】
無線モジュール、演算処理部、記憶部を有する情報処理装置であって、
前記無線モジュールは、
データの送信先との間の通信経路が使用可能か否かを判定する判定部と、
前記判定部により前記通信経路が使用可能と判定されてから、前記通信経路が使用可能な状態で前記待機時間が経過した場合、データを送信する送信部と、
前記送信部によるデータ送信の開始時に、所定時間を単位として生成された、前記送信先と通信を行う自己が搭載された情報処理装置が有する他の無線モジュール及び他の情報処理装置が有する無線モジュールの初期値とは異なる値の初期値を前記待機時間として設定する初期値設定部と、
前記待機時間が経過した場合に、前記所定時間を単位として生成された再設定値を前記待機時間として再設定する再設定部と
を備えたことを特徴とする情報処理装置。
【請求項１６】
アクセスポイント及び複数の情報処理装置を有する情報処理システムであって、
前記情報処理装置は、前記アクセスポイントと通信を行う無線モジュール、演算処理部及び記憶部を有し、
前記無線モジュールは、
前記アクセスポイントとの間の通信経路が使用可能か否かを判定する判定部と、
前記判定部により前記通信経路が使用可能と判定されてから、前記通信経路が使用可能な状態で前記待機時間が経過した場合、データを送信する送信部と、
前記送信部によるデータ送信の開始時に、所定時間を単位として生成された、前記アクセスポイントと通信を行う自己が搭載された情報処理装置が有する他の無線モジュール及び他の情報処理装置が有する無線モジュールの初期値とは異なる値の初期値を前記待機時間として設定する初期値設定部と、
前記待機時間が経過した場合に、前記所定時間を単位として生成された再設定値を前記待機時間として再設定する再設定部と
を備えたことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置制御方法、通信装置制御プログラム、情報処理装置及び情報処理システムに関する。
【背景技術】
【０００２】
近年の無線技術の発達により通信速度の向上が目覚しい。そして、ＩＥＥＥ（The  Institute  of  Electrical  and  Electronics  Engineers,  Inc）８０２．１１ａｃやＩＥＥＥ８０２．１１ａｄといった規格では、数Ｇｂｐｓの通信速度が実現できる。そのため、ＩＥＥＥ８０２．１１ａｃやＩＥＥＥ８０２．１１ａｄの規格は、サーバ間の無線通信への応用が期待されている。
【０００３】
無線によるノード間の通信は、アクセスポイントを介して行われる。ここで、ノードとは、サーバやクライアントなどの通信を行う装置全般を指す。また、アクセスポイントとは、ノード間を相互に接続するなどの無線通信の仲介を行う装置である。
【０００４】
ノード間の通信方式として、アクセス競合を回避するCarrier  Sense  Multiple  Access  with  Collision  Avoidance（ＣＳＭＡ／ＣＡ）方式がある。ＣＳＭＡ／ＣＡ方式では、ノードは、アクセスポイントとの間の通信経路が一定時間以上継続して空いていることを確認してから、通信先のノードへのデータ送信を行う。以下では、通信経路のことを「チャネル」という場合がある。ＣＳＭＡ／ＣＡ方式では、キャリアセンスによりチャネルがアイドルと検知された後のフレームの送信のタイミングをノード毎に変えることで、衝突を回避する。
【０００５】
ここで、ＩＥＥＥ８０２．１１規格では、信号を送信する前の送信信号間隔としてInter  Frame  Space（ＩＦＳ）が定義されている。ＩＦＳには、Short  ＩＦＳ（ＳＩＦＳ）、Point  Coordination  Function（ＰＣＦ）ＩＦＳは、ビジーであったチャネルにおいて電波が検出されなくなった場合に、ノードにおいてチャネルがアイドルに移行したと判断されるまでの期間である。ＩＦＳＩＦＳ（ＰＩＦＳ）及びDistributed  Coordination  Function（ＤＣＦ）ＩＦＳ（ＤＩＦＳ）という３種類のＩＦＳが定義されている。
【０００６】
ＳＩＦＳは、応答のための信号であるACKnowledgement（ＡＣＫ）などに使用する最高の優先度を有するＩＦＳである。各ノードは、そのアドレスがＤＩＦＳ期間経過後、各ノードに割当てられたバックオフタイムが経過した後にアクセスポイントへのデータ送信を行うことができる。ここで、バックオフタイムは、ノード毎に乱数表から発生させた値が設定される。
【０００７】
例えば、あるノードがデータ送信を行った場合、チャネルはビジー状態になる。そのため、あるノードのバックオフタイムが経過しそのノードがアクセスポイントに対してデータ送信を行った場合、他のノードは、その後チャネルがアイドル状態になったことを確認した後、ＤＩＦＳ期間待機し、さらにバックオフタイムのカウントを進める。すなわち、ある時点で最もバックオフタイムが短いノードがその時点の後最初にデータ送信を行うノードとなる。あるノードがアクセスポイントに対してデータ送信を行った場合、他のノードはバックオフタイムを次のカウントまで持ち越す。また、アクセスポイントは、データを受信すると、データの送信元のノードにＡＣＫを返す。そして、データ送信を行いアクセスポイントからＡＣＫを受け取ったノードは、バックオフタイムを再設定する。
【０００８】
例えば、バックオフタイムは、Contention  Window（ＣＷ）内乱数とスロットタイムとを乗算することで算出することができる。ＣＷ内乱数は、ＣＷの値を上限としてランダムに発生する値である。また、スロットタイムは、一定期間である。各ノードは、それぞれ同じＣＷの値及びスロットタイムを有する。
【０００９】
このように、ＣＳＭＡ／ＣＡ方式はノード毎に乱数表から発生させたバックオフタイムを設定することでノード間のアクセス競合を回避する。
【００１０】
従来、無線通信においてアクセス競合を回避する方法として以下のような技術が提案されている。例えば、アクセスポイントから各ノードに対して異なるバックオフ値を設定する従来技術がある。また、アクセスポイントが、ＣＷ内乱数の値にオフセット値を追加してバックオフタイムを算出し、各ノードに対してバックオフタイムを通知する従来技術がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１２−１７８６９４号公報
【特許文献２】特開２００５−６４７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来は、アクセスポイントに接続するノードの数を特定せずに、ＣＷ内乱数値を用いてバックオフタイムを算出する。この点、アクセスポイントに接続するノード数が固定の場合、ＣＷ内乱数値を用いて算出されたバックオフタイムより短い期間でアクセス競合が回避できる場合がある。すなわち、ＣＷ内乱数値を用いてバックオフタイムを算出すると、アクセスポイントに接続するノード数が固定の場合、算出されるバックオフタイムの値によっては無駄な待機時間がノードに強いられるおそれがある。
【００１３】
また、ＣＷ内乱数値を用いてバックオフタイムを算出する場合、同一のバックオフタイムが設定されるノードが２つ以上発生することが考えられる。その場合、アクセス競合が発生してしまう。
【００１４】
この点、アクセスポイントからノードに対して異なるバックオフ値を設定する従来技術を用いた場合、継続するデータがなくなった場合ＣＷ乱数値を用いる方法に戻るため、待機時間の短縮やアクセス競合の発生の抑制は困難である。
【００１５】
また、ＣＷ内乱数値にオフセット値を追加してバックオフタイムを通知する従来技術を用いたとしても、待機時間の短縮やアクセス競合の発生の抑制は困難である。
【００１６】
開示の技術は、上記に鑑みてなされたものであって、待機時間を短縮しつつアクセス競合の発生を抑制する通信装置、通信装置制御方法、通信装置制御プログラム、情報処理装置及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本願の開示する通信装置、通信装置制御方法、通信装置制御プログラム、情報処理装置及び情報処理システムは、一つの態様において、経過時間計測部は、設定された待機時間の経過を計測する。判定部は、データの送信先との間の通信経路が使用可能か否かを判定する。送信部は、前記判定部により前記通信経路が使用可能と判定されてから、前記通信経路が使用可能な状態で前記待機時間が経過した場合、データを送信する。初期値設定部は、前記送信部によるデータ送信の開始時に、所定時間を単位として生成された、前記送信先と通信を行う他の通信装置の初期値とは異なる値の初期値を前記待機時間として設定する。再設定部は、前記待機時間が経過した場合に、前記所定時間を単位として生成された再設定値を前記待機時間として再設定する。
【発明の効果】
【００１８】
本願の開示する通信装置、通信装置制御方法、通信装置制御プログラム、情報処理装置及び情報処理システムの一つの態様によれば、待機時間を短縮しつつアクセス競合の発生を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】図１は、情報処理システムの一例を示す構成図である。
【図２】図２は、サーバの詳細を表す構成図である。
【図３】図３は、無線モジュールの詳細を表すブロック図である。
【図４】図４は、実施例１に係る設定レジスタが格納する情報を示す一例の図である。
【図５】図５は、実施例１において全てのサーバに送信データが有る場合の通信を表すシーケンス図である。
【図６】図６は、実施例１において送信データが無いサーバが存在する場合の通信を表すシーケンス図である。
【図７】図７は、実施例１に係る無線モジュールにおける無線通信処理のフローチャートである。
【図８】図８は、情報処理システムの他の例を示す構成図である。
【図９】図９は、実施例２に係る情報処理システムにおける通信を表すシーケンス図である。
【図１０】図１０は、実施例３に係る設定レジスタが格納する情報を示す一例の図である。
【図１１】図１１は、実施例３に係る情報処理システムにおける通信を表すシーケンス図である。
【図１２】図１２は、実施例４に係る情報処理システムにおける通信を表すシーケンス図である。
【発明を実施するための形態】
【００２０】
以下に、本願の開示する通信装置、通信装置制御方法、通信装置制御プログラム、情報処理装置及び情報処理システムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する通信装置、通信装置制御方法、通信装置制御プログラム、情報処理装置及び情報処理システムが限定されるものではない。
【実施例１】
【００２１】
図１は、情報処理システムの一例を示す構成図である。本実施例に係る情報処理システムでは、複数の情報処理装置（以下、「サーバ」という。）１０とアクセスポイント（Access  Point：ＡＰ）２０がラック１の中に搭載されている。ここで、ラック１の中には、多数のサーバ１０が搭載されることが考えられる。その場合、サーバ１０をLocal  Area  Network（ＬＡＮ）ケーブルなどを用いて接続した場合、多数のケーブルが配置されることになり、ケーブルの管理が煩雑となる。そこで、ラック１内のサーバ１０を無線ＬＡＮを用いてネットワークに接続させることで、配線を簡略化することができる。
【００２２】
図１では、構成の一例としてサーバ１０を３台記載したが、サーバ１０の台数には特に制限は無い。また、図１には、サーバ１０を搭載する空きスペースを３つ記載したがこの数にも特に制限は無い。
【００２３】
また、図１では、１台のアクセスポイント２０を記載したがこれに限らない。例えば、サーバ１０の台数が１台のアクセスポイント２０が管理可能な台数より多い場合には、サーバ１０をグループに分けて、グループ毎に接続先のアクセスポイント２０を異ならせてもよい。以下の説明では、１台のアクセスポイント２０と複数のサーバ１０が属する１つのグループについて説明するが、複数のグループがある場合には、同様の処理がそれぞれのグループにおいて実行される。
【００２４】
サーバ１０とアクセスポイント２０とは、無線通信を用いて相互にデータの送受信を行う。
【００２５】
サーバ１０は、アクセスポイント２０を介して他のサーバ１０及び外部の情報処理装置などの他の情報処理装置と通信を行う。具体的には、サーバ１０は、他の情報処理装置へ送信するデータをアクセスポイント２０へ送信することで、他の情報処理装置へのデータ送信を行う。また、サーバ１０は、他の情報処理装置から送信されたデータをアクセスポイント２０から受信する。
【００２６】
図２は、サーバの詳細を表す構成図である。サーバ１０は、複数のCentral  Processing  Unit（ＣＰＵ）１１、複数のメモリ１２、ストレージ１３及びクロスバスイッチ１４を有する。さらに、サーバ１０は、複数の無線モジュール１００及び各無線モジュールに対応するアンテナ１５を有する。
【００２７】
メモリ１２及びストレージ１３は、ＣＰＵ１１とバスで接続されている。ＣＰＵ１１は、メモリ１２及びストレージ１３に対してデータの読み書きが可能である。ＣＰＵ１１は、ストレージ１３に格納されたプログラム等をメモリ１２に展開する等して実行する。
【００２８】
各ＣＰＵ１１は、クロスバスイッチ１４を介して、各無線モジュール１００のそれぞれと接続する。ＣＰＵ１１は、他の情報処理装置へ送信するデータを、クロスバスイッチ１４を経由して無線モジュール１００へ送信する。また、ＣＰＵ１１は、他の情報処理装置からのデータを、クロスバスイッチ１４を経由して無線モジュール１００から受信する。
【００２９】
無線モジュール１００は、クロスバスイッチ１４から受信したデータを、アンテナ１５を介してアクセスポイント２０へ出力する。また、無線モジュール１００は、他の情報処理装置が送信したデータをアクセスポイント２０から受信する。そして、無線モジュール１００は、受信したデータをＣＰＵ１１へクロスバスイッチ１４を介して送信する。
【００３０】
図３は、無線モジュールの詳細を表すブロック図である。図３に示すように、無線モジュール１００は、送信部１０１、受信部１０２、バックオフタイム設定部１０３、判定部１０４、パケット解析部１０５及びInterface（Ｉ／Ｆ）１０６を有する。
【００３１】
Ｉ／Ｆ１０６は、無線モジュール１００がクロスバスイッチ１４との間でデータの送受信を行う場合のインタフェースである。Ｉ／Ｆ１０６は、クロスバスイッチ１４からデータを受信する。そして、Ｉ／Ｆ１０６は、受信したデータをバックオフタイム設定部１０３へ送信する。また、Ｉ／Ｆ１０６は、他の情報処理装置から送信されたデータをパケット解析部１０５から受信する。そして、Ｉ／Ｆ１０６は、受信したデータをクロスバスイッチ１４へ送信する。
【００３２】
送信部１０１は、他の情報処理装置へ送信するデータの入力をＩ／Ｆ１０６から受ける。そして、送信部１０１は、後述する経過時間計測部１３３からバックオフタイムの経過完了の通知を受信すると、Ｉ／Ｆ１０６から受信したデータを、アンテナ１５を介してアクセスポイント２０へ送信する。
【００３３】
受信部１０２は、他の情報処理装置から送信されたデータを、アンテナ１５を介してアクセスポイント２０から受信する。他の情報処理装置から送信されたデータにはＡＣＫなども含まれる。そして、受信部１０２は、受信した他の情報処理装置からのデータをパケット解析部１０５へ出力する。
【００３４】
また、受信部１０２は、ビーコンをアクセスポイント２０から受信する。そして、受信部１０２は、ビーコンをパケット解析部１０５へ出力する。
【００３５】
また、受信部１０２は、アクセスポイント２０との間の通信経路（チャネル）において信号の検出を行う。以下では、アクセスポイント２０と無線モジュール１００との間のチャネルを、単に「チャネル」という。そして、受信部１０２は、チャネルにおける信号の検出結果を判定部１０４へ出力する。
【００３６】
パケット解析部１０５は、ビーコンやデータを受信部１０２から受信する。そして、パケット解析部１０５は、受信した信号を解析する。
【００３７】
受信した信号がビーコンの場合、パケット解析部１０５は、後述する初期値設定部１３２へビーコンの受信を通知する。
【００３８】
受信した信号がＡＣＫの場合、パケット解析部１０５は、ＡＣＫの受信を後述する再設定部１３４へ通知する。
【００３９】
判定部１０４は、チャネルにおいて信号が検出されなくなってから、アイドル状態に移行したと判定するための期間であるＤＩＦＳ期間を記憶している。
【００４０】
判定部１０４は、チャネルにおける信号検出結果を受信部１０２から受信する。そして、判定部１０４は、信号が検出される状態から信号が検出されない状態に遷移すると、時間の計測を開始する。そして、判定部１０４は、時間の計測を始めてからＤＩＦＳ期間信号が検出されない状態が継続すると、チャネルがアイドル状態に移行したと判定する。以下では、信号が検出されるチャネルの状態を、「ビジー」という。判定部１０４によりチャネルがアイドル状態に移行したと判定された状態が、「通信経路が使用可能」の一例にあたる。
【００４１】
判定部１０４は、アイドル状態に移行したと判定すると、チャネルがアイドル状態である旨の通知をバックオフタイム設定部１０３の経過時間計測部１３３へ出力する。その後、判定部１０４は、受信部１０２から受信したチャネルにおける信号の検出結果を経過時間計測部１３３へ転送する。
【００４２】
これに対して、時間計測開始後ＤＩＦＳ期間経過する前に信号の検出が通知されると、判定部１０４は、チャネルがビジーに遷移したと判定し、時間の計測を終了し、再度信号が検出されない状態に遷移するまで待機する。
【００４３】
バックオフタイム設定部１３０は、設定レジスタ１３１、初期値設定部１３２、経過時間計測部１３３及び再設定部１３４を有している。バックオフタイム設定部１３０は、例えば、Field-Programmable  Gate  Array（ＦＰＧＡ）で実現される。
【００４４】
設定レジスタ１３１は、フリップフロップ等のデータ保持回路である。設定レジスタ１３１には、バックオフタイムの初期値及び再設定値が予め格納されている。ここで、バックオフタイムとは、チャネルがアイドル状態になってから無線モジュール１００がデータ送信を開始するまでの待機時間である。
【００４５】
設定レジスタ１３１は、例えば、バックオフタイムの初期値及び再設定値として図４に示すような情報を保持している。図４は、実施例１に係る設定レジスタが格納する情報を示す一例の図である。図４のテーブル１５０におけるビットの列は、設定レジスタ１３１の各ビットを表している。また、テーブル１５０におけるフィールドの列は、対応するビットに格納されているデータの情報である。そして、テーブル１５０における説明の列は、格納されている各データがどのようなデータであるかの説明である。
【００４６】
本実施例では、設定レジスタ１３１は、３２ビットの空間を有する。そして、図４に示すように、設定レジスタ１３１の８〜３１ビットは、リザーブとして確保されており、使用されていない。
【００４７】
そして、設定レジスタ１３１の４〜７ビットを使用して、再設定値を格納している。例えば、テーブル１５０における説明に記載しているように、４〜７ビットが「０００１」である場合、再設定値はスロットタイムに１を乗算した値である。また、４〜７ビットが「００１０」である場合、再設定値はスロットタイムに２を乗算した値である。
【００４８】
ここで、「スロットタイム」とは、バックオフタイムの最小単位であり、例えば、フレーム１つを送信するのにかかる時間である。すなわち、スロットタイムにｎを乗算した値をバックオフタイムとすることは、送信部１０１は、チャネルがアイドル状態になってからｎ個のスロットタイムが経過するまで、データの送信を待機するということである。
【００４９】
また、設定レジスタ１３１の０〜３ビットを使用して、初期値を格納している。例えば、テーブル１５０における説明に記載しているように、０〜３ビットが「０００１」である場合、初期値はスロットタイムに１を乗算した値である。また、０〜３ビットが「００１０」である場合、初期値はスロットタイムに２を乗算した値である。
【００５０】
ここで、本実施例では、再設定値及び初期値ともに設定レジスタ１３１の４ビット分を用いて情報を格納しているが、さらに大きな値を格納する場合には、設定レジスタ１３１における使用領域を拡大すればよい。
【００５１】
本実施例に係るサーバ１０では、各サーバ１０の無線モジュール１００毎に異なる初期値が割り当てられている。例えば、サーバ１０が３台あり、各サーバ１０に無線モジュール１００が３つずつ搭載されている場合、１×スロットタイム〜９×スロットタイムのいずれかが各無線モジュール１００のそれぞれに異なるように割り当てられている。特に、初期値の割り当ては、各サーバ１０に対して割り当て可能な最短時間から順に１つずつスロットタイムが増えるように割り当てられることが好ましい。例えば、割り当て可能な最短時間が１×スロットタイムの場合、いずれかのサーバ１０に１×スロットタイムを割り当て、その他のサーバ１０に順にスロットタイムを１ずつ増やしたバックオフタイムを割り当てる。
【００５２】
このように、最短時間を割り当てることで、ＤＩＦＳ期間経過後の待機時間を短縮することができる。ただし、ある程度の待機時間を許容できる場合には、単にそれぞれのサーバ１０の初期値が異なればよい。
【００５３】
また、本実施例に係るサーバ１０では、いずれの無線モジュール１００にも同じ再設定値が割当てられている。ここで、本実施例における再設定値は、アクセスポイント２０に接続する全ての無線モジュール１００の数にスロットタイムを乗算した値に一致する。例えば、アクセスポイント２０に接続する無線モジュール１００の数がｎ個であれば、バックオフタイムの再設定値は、ｎ×スロットタイムとすることが好ましい。例えば、アクセスポイント２０に３台のサーバ１０が接続し、それぞれのサーバ１０に３枚の無線モジュール１００が搭載されている場合、再設定値はスロットタイムに９を乗算した値であることが好ましい。
【００５４】
このように、無線モジュール１００の個数にスロットタイムを乗算した値を再設定値とすることで、初期値として最短時間から順に１スロットタイムずつ増やした値を無線モジュール１００に割り当てている場合には、初回の通信以降の待機時間を最短にすることができる。
【００５５】
ただし、ある程度の待機時間を許容できる場合には、初期値はこれ以外の値を取ることができる。例えば、最短の初期値を１×スロットタイム以上とし、その後、所定数のスロットタイムを加えた値を無線モジュール１００に割り当ててもよい。また、バックオフタイムの再設定値も、待機時間を最短にしなくてもよければ、各ノードにおいてバックオフタイムを再設定する時点で、他のノードが有しているバックオフタイムの残り時間よりも長い値であれば、他の値であってもよい。
【００５６】
初期値設定部１３２は、ビーコンを受信した旨の通知をパケット解析部１０５から受ける。そして、初期値設定部１３２は、ビーコン受信の通知を受けると、設定レジスタ１３１の初期値を表すビットを参照し、初期値を取得する。そして、初期値設定部１３２は、取得した初期値を経過時間計測部１３３へバックオフタイムとして設定する。
【００５７】
再設定部１３４は、Ｉ／Ｆ１０６が送信部１０１へ送信したデータと同じデータを受け取ることで、送信データの有無を判定する。
【００５８】
チャネルがアイドル状態になった後バックオフタイムが経過するまでに、送信データが送られてこなかった場合、再設定部１３４は、設定レジスタ１３１から再設定値を取得する。そして、再設定部１３４は、取得した再設定値を経過時間計測部１３３へバックオフタイムとして再設定する。
【００５９】
これに対して、チャネルがアイドル状態になった後バックオフタイムが経過するまでに、送信データが発生した場合、再設定部１３４は、パケット解析部１０５からのＡＣＫの受信の通知を待つ。そして、パケット解析部１０５からＡＣＫの受信の通知を受けると、設定レジスタ１３１から再設定値を取得する。そして、再設定部１３４は、取得した再設定値を経過時間計測部１３３へバックオフタイムとして再設定する。
【００６０】
経過時間計測部１３３は、カウンタを有している。そして、経過時間計測部１３３は、初期値設定部１３２からバックオフタイムの初期値の入力を受けて、カウンタに初期値を設定する。
【００６１】
その後、経過時間計測部１３３は、チャネルがアイドル状態である旨の通知を判定部１０４から受ける。そして、経過時間計測部１３３は、初期値が設定されたカウンタが０になるまでカウントダウンを行う。経過時間計測部１３３は、カウンタが０になると、バックオフタイムの経過を送信部１０１へ通知する。また、経過時間計測部１３３は、バックオフタイムの経過を再設定部１３４へ通知する。
【００６２】
その後、経過時間計測部１３３は、再設定部１３４からバックオフタイムの再設定値の入力を受けて、カウンタに再設定値を設定する。そして、経過時間計測部１３３は、チャネルがアイドル状態である旨の通知を判定部１０４から受け取ると、再設定値のカウントダウンを開始する。経過時間計測部１３３は、再設定値が設定されたカウンタが０になるまでカウントダウンを行う。経過時間計測部１３３は、カウンタが０になると、バックオフタイムの経過を送信部１０１へ通知する。
【００６３】
その後、経過時間計測部１３３は、再設定部１３４からバックオフタイムの再設定値の入力を受けて、カウンタに再設定値を再度設定する。経過時間計測部１３３は、以上の再設定値の設定、時間のカウント及びバックオフタイムの経過の通知を繰り返す。
【００６４】
ただし、経過時間計測部１３３は、カウントダウン中に判定部１０４からチャネルがビジーになった通知を受けると、カウントダウンを中止する。そして、経過時間計測部１３３は、カウントダウン中止前のバックオフタイムを保持しつつ、判定部１０４からチャネルがアイドル状態に遷移した旨の通知を再度受けるまで待機する。その後、経過時間計測部１３３は、カウントダウン中止前の値からバックオフタイムのカウントダウンを再開する。
【００６５】
ここで、本実施例に係る無線モジュール１００におけるバックオフタイムによる通信の競合の回避について説明する。
【００６６】
上述したように、本実施例では、初期値は、無線モジュール１００毎に異なるように割当てられている。そのため、最初に経過時間計測部１３３に設定される初期値は、無線モジュール１００毎に異なる。すなわち、無線モジュール１００のバックオフタイムの初期値の経過が完了するタイミングは重ならない。つまりバックオフタイムの初期値を用いた通信では、競合は発生しない。特に、本実施例では、バックオフタイムの初期値として、最小値を１×タイムスロットとしていずれかのサーバ１０に割り当て、他のサーバ１０には、１つずつタイムスロットを増やした初期値を割り当てている。この場合、１×タイムスロットを初期値として割り当てられたサーバ１０が最初に通信を行い、他のサーバ１０は、カウントダウン中の初期値を持ち越す。
【００６７】
さらに、本実施例では、再設定値は、無線モジュール１００の個数×スロットタイムである。つまり、本実施例では、バックオフタイムが再設定されたサーバ１０は、その時点で最もバックオフタイムが長いサーバ１０より１スロットタイム長いバックオフタイムが設定される。これにより、各無線モジュール１００のバックオフタイムは常に異なることになり、無線モジュール１００同士の通信の競合は発生しない。
【００６８】
送信部１０１は、他の情報処理装置へ送信するデータをＩ／Ｆ１０６から受信する。そして、送信部１０１は、経過時間計測部１３３からバックオフタイムの経過の通知を受けると、Ｉ／Ｆ１０６から受信したデータをアクセスポイント２０へ送信する。ここで、バックオフタイムの経過の通知を受けた時点で、送信するデータが無ければ、送信部１０１は、データ送信は行わずに待機する。
【００６９】
次に、図５及び図６を参照して、本実施例に係る情報処理システムにおける通信の全体的な流れについて説明する。図５は、実施例１において全てのサーバに送信データが有る場合の通信を表すシーケンス図である。図６は、実施例１において送信データが無いサーバが存在する場合の通信を表すシーケンス図である。ここでは、サーバ１０としてサーバ１０Ａ〜１０Ｃがある場合で説明する。また、各サーバ１０Ａ〜１０Ｃには、それぞれ１つの無線モジュール１００が搭載されている。
【００７０】
先ず、図５を参照して、全てのサーバに送信データがある場合について説明する。サーバ１０Ａは、バックオフタイムの初期値が１×スロットタイムである。また、サーバ１０Ｂは、バックオフタイムの初期値が２×スロットタイムである。また、サーバ１０Ｃは、バックオフタイムの初期値が３×スロットタイムである。さらに、サーバ１０Ａ〜１０Ｃのバックオフタイムの再設定値は３×スロットタイムである。
【００７１】
サーバ１０Ａ〜１０Ｃは、チャネルがビジーでなくなった後ＤＩＦＳ期間待機する。その間、チャネルがビジーにならなければ、サーバ１０Ａ〜１０Ｃは、バックオフタイムの初期値をそれぞれの経過時間計測部１３３に設定する。具体的には、サーバ１０Ａの初期値設定部１３２は、期間２０１で表されるバックオフタイムの初期値を経過時間計測部１３３に設定する。ここで、期間２０１で表される小さな四角が１つのスロットタイムを表すものとする。サーバ１０Ｂの初期値設定部１３２は、期間２０２で表されるバックオフタイムの初期値を経過時間計測部１３３に設定する。サーバ１０Ｃの初期値設定部１３２は、期間２０３で表されるバックオフタイムの初期値を経過時間計測部１３３に設定する。
【００７２】
この状態では、サーバ１０Ａのバックオフタイムが最も短い。そのため、サーバ１０Ａの経過時間計測部１３３がバックオフタイムが経過したと判定すると、サーバ１０Ａの送信部１０１は、データ２０４をアクセスポイント２０へ送信する。この時、期間２０２の斜線部分及び期間２０３の斜線部分が、それぞれサーバ１０Ｂ及び１０Ｃのバックオフタイムとして、次の経過時間の計測に繰り越される。図５中の各バックオフタイムのうち斜線で表される期間は、次の経過時間の計測に繰り越される期間である。すなわち、サーバ１０Ｂの経過時間計測部１３３は、１×スロットタイムを次の経過時間の計測に繰り越す。また、サーバ１０Ｃの経過時間計測部１３３は、２×スロットタイムを次の経過時間の計測に繰り越す。
【００７３】
アクセスポイント２０は、データ２０４を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２０５をサーバ１０Ａに送信する。ここで、ＳＩＦＳ期間は、ＤＩＦＳ期間に比べて短い期間として設定されている。これにより、サーバ１０Ｂ又は１０Ｃがデータを送信する前に、アクセスポイント２０はＡＣＫの応答を返すことができる。
【００７４】
サーバ１０Ａの受信部１０２は、ＡＣＫ２０５をアクセスポイント２０から受信する。そして、サーバ１０Ａのパケット解析部１０５は、ＡＣＫ２０５の受信を再設定部１３４へ通知する。サーバ１０Ａの再設定部１３４は、再設定値である３×スロットタイムの期間２０６を経過時間計測部１３３へ再設定する。ここで、図５中の中括弧で範囲が示される期間は再設定期間である。
【００７５】
この場合、サーバ１０Ｂの経過時間計測部１３３は、繰り越した１×スロットタイムである期間２０７をバックオフタイムとする。また、サーバ１０Ｃの経過時間計測部１３３は、繰り越した２×スロットタイムである期間２０８をバックオフタイムとする。
【００７６】
この状態では、サーバ１０Ｂのバックオフタイムが最も短い。そのため、サーバ１０Ｂの経過時間計測部１３３によりバックオフタイムが経過したと判定されると、サーバ１０Ｂの送信部１０１は、データ２０９をアクセスポイント２０へ送信する。この時、期間２０６の斜線部分及び期間２０８の斜線部分が、それぞれサーバ１０Ａ及び１０Ｃのバックオフタイムとして、次の経過時間の計測に繰り越される。
【００７７】
アクセスポイント２０は、データ２０９を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２１０をサーバ１０Ｂに送信する。
【００７８】
サーバ１０Ｂの受信部１０２は、ＡＣＫ２１０をアクセスポイント２０から受信する。そして、サーバ１０Ｂのパケット解析部１０５は、ＡＣＫ２１０の受信を再設定部１３４へ通知する。サーバ１０Ｂの再設定部１３４は、再設定値である３×スロットタイムの期間２１２を経過時間計測部１３３へ再設定する。
【００７９】
この場合、サーバ１０Ａの経過時間計測部１３３は、繰り越した２×スロットタイムである期間２１１をバックオフタイムとする。また、サーバ１０Ｃの経過時間計測部１３３は、繰り越した１×スロットタイムである期間２１３をバックオフタイムとする。
【００８０】
この状態では、サーバ１０Ｃのバックオフタイムが最も短い。そのため、サーバ１０Ｃの経過時間計測部１３３がバックオフタイムが経過したと判定すると、サーバ１０Ｃの送信部１０１は、データ２１４をアクセスポイント２０へ送信する。この時、期間２１１の斜線部分及び期間２１２の斜線部分が、それぞれサーバ１０Ａ及び１０Ｂのバックオフタイムとして、次の経過時間の計測に繰り越される。
【００８１】
アクセスポイント２０は、データ２１４を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２１５をサーバ１０Ｃに送信する。
【００８２】
次に、図６を参照して、送信データが無いサーバが存在する場合について説明する。この場合も、サーバ１０Ａ〜１０Ｃの初期値及び再設定値は、図５の場合と同じである。
【００８３】
サーバ１０Ａ〜１０Ｂは、チャネルがビジーでなくなった後ＤＩＦＳ期間待機する。その間、チャネルがビジーにならなければ、サーバ１０Ａ〜１０Ｂは、バックオフタイムの初期値である期間２２１，２２２及び２２３をそれぞれの経過時間計測部１３３に設定する。
【００８４】
この状態では、サーバ１０Ａのバックオフタイムが最も短い。そのため、サーバ１０Ａの経過時間計測部１３３によるバックオフタイムが経過したと判定されると、サーバ１０Ａの送信部１０１は、データ２２４をアクセスポイント２０へ送信する。この時、期間２２２の斜線部分及び期間２２３の斜線部分が、それぞれサーバ１０Ｂ及び１０Ｃのバックオフタイムとして、次の経過時間の計測に繰り越される。
【００８５】
アクセスポイント２０は、データ２２４を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２２５をサーバ１０Ａに送信する。
【００８６】
サーバ１０Ａの受信部１０２は、ＡＣＫ２２５をアクセスポイント２０から受信する。そして、サーバ１０Ａのパケット解析部１０５は、ＡＣＫ２２５の受信を再設定部１３４へ通知する。サーバ１０Ａの再設定部１３４は、再設定値である３×スロットタイムの期間２２６を経過時間計測部１３３へ再設定する。
【００８７】
この場合、サーバ１０Ｂの経過時間計測部１３３は、繰り越した１×スロットタイムである期間２２７をバックオフタイムとする。また、サーバ１０Ｃの経過時間計測部１３３は、繰り越した２×スロットタイムである期間２２９をバックオフタイムとする。
【００８８】
この状態では、サーバ１０Ｂのバックオフタイムが最も短い。そのため、サーバ１０Ｂの経過時間計測部１３３が、最初にバックオフタイムが経過したと判定する。しかし、サーバ１０Ｂには送信データが無い。そこで、サーバ１０Ｂの再設定部１３４は、再設定値である３×スロットタイムの期間２２８を経過時間計測部１３３へ再設定する。
【００８９】
この場合、サーバ１０Ｂからのデータ送信は無いため、チャネルはビジーにならない。そこで、サーバ１０Ｃ及び１０Ａの経過時間計測部１３３は、バックオフタイムの経過の計測を継続する。また、サーバ１０Ｂの経過時間計測部１３３も、再設定されたバックオフタイムの経過の計測を継続する。
【００９０】
この場合、次にバックオフタイムが短いのはサーバ１０Ｃであるので、サーバ１０Ｃの経過時間計測部１３３が、次にバックオフタイムが経過したと判定する。そして、サーバ１０Ｃの送信部１０１は、データ２３０をアクセスポイント２０へ送信する。この時、期間２２６の斜線部分及び期間２２８の斜線部分が、それぞれサーバ１０Ａ及び１０Ｂのバックオフタイムとして、次の経過時間の計測に繰り越される。
【００９１】
アクセスポイント２０は、データ２３０を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２３１をサーバ１０Ｃに送信する。
【００９２】
サーバ１０Ｃの受信部１０２は、ＡＣＫ２３１をアクセスポイント２０から受信する。そして、サーバ１０Ｃのパケット解析部１０５は、ＡＣＫ２３１の受信を再設定部１３４へ通知する。サーバ１０Ｃの再設定部１３４は、再設定値である３×スロットタイムの期間２３４を経過時間計測部１３３へ再設定する。
【００９３】
この場合、サーバ１０Ａの経過時間計測部１３３は、繰り越した１×スロットタイムである期間２３２をバックオフタイムとする。また、サーバ１０Ｂの経過時間計測部１３３は、繰り越した２×スロットタイムである期間２３３をバックオフタイムとする。
【００９４】
この状態では、サーバ１０Ａのバックオフタイムが最も短い。そのため、サーバ１０Ａの経過時間計測部１３３によりバックオフタイムが経過したと判定されると、サーバ１０Ａの送信部１０１は、データ２３５をアクセスポイント２０へ送信する。この時、期間２３３の斜線部分及び期間２３４の斜線部分が、それぞれサーバ１０Ｂ及び１０Ｃのバックオフタイムとして、次の経過時間の計測に繰り越される。
【００９５】
アクセスポイント２０は、データ２３５を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２３６をサーバ１０Ａに送信する。
【００９６】
次に、図７を参照して、本実施例に係る無線モジュール１００における無線通信処理の流れについて説明する。図７は、実施例１に係る無線モジュールにおける無線通信処理のフローチャートである。
【００９７】
設定レジスタ１３１に、初期値及び設定値がセットされる（ステップＳ１）。
【００９８】
チャネルがビジー状態から信号が検出されない状態に遷移し、その後ビジー状態に遷移せずにＳＩＦＳ期間が経過すると、初期値設定部１３２は、バックオフタイムの初期値を設定レジスタ１３１から取得する。そして、初期値設定部１３２は、初期値をバックオフタイムとして経過時間計測部１３３に設定する（ステップＳ２）。
【００９９】
判定部１０４は、チャネルがアイドル状態か否かを判定する（ステップＳ３）。チャネルがアイドル状態でない場合（ステップＳ３：否定）、チャネルがアイドルになるまで待機する。
【０１００】
これに対して、チャネルがアイドル状態の場合（ステップＳ３：肯定）、判定部１０４は、ＤＩＦＳ期間が経過したか否かを判定する（ステップＳ４）。ＤＩＦＳ期間が経過していない場合（ステップＳ４：否定）、判定部１０４は、ステップＳ３へ戻る。
【０１０１】
これに対して、ＤＩＦＳ期間が経過した場合（ステップＳ４：肯定）、判定部１０４は、ＤＩＦＳ期間の経過を経過時間計測部１３３へ通知する。経過時間計測部１３３は、ＤＩＦＳ期間の経過の通知を受けて、バックオフタイムを減算することで、バックオフタイムの経過の計測を行う（ステップＳ５）。
【０１０２】
経過時間計測部１３３は、バックオフタイムが経過したか否かを判定する（ステップＳ６）。バックオフタイムが経過していない場合（ステップＳ６：否定）、無線モジュール１００は、ステップＳ３へ戻る。
【０１０３】
これに対して、バックオフタイムが経過した場合（ステップＳ６：肯定）、再設定部１３４は、送信データがあるか否かを判定する（ステップＳ７）。送信データが無い場合（ステップＳ７：否定）、再設定部１３４は、ステップＳ１０へ進む。
【０１０４】
一方、送信データがある場合（ステップＳ７：肯定）、送信部１０１は、データをアクセスポイント２０へ送信する（ステップＳ８）。
【０１０５】
その後、再設定部１３４は、ＡＣＫを受信したか否かを判定する（ステップＳ９）。ＡＣＫを受信していない場合（ステップＳ９：否定）、再設定部１３４は、ＡＣＫの受信まで待機する。
【０１０６】
送信データが無い場合（ステップＳ７：否定）又はＡＣＫを受信した場合（ステップＳ９：肯定）、再設定部１３４は、バックオフタイムの再設定値を設定レジスタ１３１から取得する。そして、再設定部１３４は、再設定値をバックオフタイムとして経過時間計測部１３３に設定する（ステップＳ１０）。
【０１０７】
バックオフタイム設定部１０３は、通信が終了したか否かを判定する（ステップＳ１１）。通信が終了していない場合（ステップＳ１１：否定）、バックオフタイム設定部１０３は、ステップＳ３へ戻る。
【０１０８】
これに対して、通信が終了した場合（ステップＳ１１：肯定）、無線モジュール１００は、無線通信処理を終了する。
【０１０９】
以上に説明したように、本実施例に係る情報処理装置は、それぞれの無線モジュールに、１スロットタイムを最小値としてスロットタイムを１つずつ増やした値がバックオフタイムの初期値として割り当てられる。さらに、各無線モジュールには、無線モジュールの総数が再設定値として割り当てられる。これにより、本実施例に係る情報処理装置は、チャネルがアイドル状態になった後の待機時間を短縮することができ、さらに、通信の競合の発生を抑制することができる。
【０１１０】
また、本実施例では、待機時間を最短にするように初期値及び再設定値を選択した。ただし、待機時間に余裕がある場合、初期値は無線モジュール毎に重ならなければよく、再設定値は、いずれの無線モジュールにおいても再設定を行うときに他の無線モジュールの残りのバックオフタイムよりも長い値となるように設定されていればよい。このように初期値及び再設定値を設定した場合でも、通信の競合の発生を抑制することができる。
【実施例２】
【０１１１】
図８は、情報処理システムの他の例を示す構成図である。本実施例に係る情報処理システムは、管理サーバ２によって各サーバ１０が管理されていることが実施例１と異なる。本実施例に係るサーバ１０も図２のブロック図で表される。また、本実施例に係る無線モジュール１００も図３のブロック図で表される。以下では、実施例１と同様の各部の動作については説明を省略する。
【０１１２】
本実施例に係る情報処理システムは、複数のサーバ１０、アクセスポイント２０及びネットワークスイッチ３０がラック１に搭載されている。また、本実施例に係る情報処理システムは、管理サーバ２を有している。
【０１１３】
管理サーバ２は、ネットワークスイッチ３０に接続している。また、アクセスポイント２０は、ネットワークスイッチ３０に接続している。
【０１１４】
管理サーバ２は、アクセスポイント２０及びネットワークスイッチ３０を介して、サーバ１０と通信を行う。
【０１１５】
管理サーバ２は、ネットワークスイッチ３０及びアクセスポイント２０を介して、バックオフタイムの初期値及び再設定値をサーバ１０へ通知する。そして、管理サーバ２は、サーバ１０の設定レジスタ１３１にバックオフタイムの初期値及び設定値を格納させる。以下では、管理サーバ２による初期値及び再設定値の設定をまとめて「バックオフタイム設定」と言う場合がある。管理サーバ２は、各サーバ１０にバックオフタイム設定を行う。例えば、管理サーバ２は、あるサーバ１０にバックオフタイムの設定を行った後、そのサーバ１０からのＡＣＫの返信を受けて、次のサーバ１０にバックオフタイムの設定を行う。
【０１１６】
ここで、本実施例では、管理サーバ２は、ラック１の外に配置されているが、ラック１の中に搭載されてもよい。
【０１１７】
アクセスポイント２０は、アクセスポイント２０に接続された全てのサーバ１０にバックオフタイムが設定された後、適当なタイミングでビーコンを各サーバ１０へ送信する。
【０１１８】
各サーバ１０の受信部１０２は、バックオフタイム設定を管理サーバ２から受信する。そして、受信部１０２は、パケット解析部１０５、Ｉ／Ｆ１０６及びクロスバスイッチ１４を介して、バックオフタイム設定をＣＰＵ１１へ送信する。
【０１１９】
ＣＰＵ１１は、バックオフタイム設定で指定された初期値及び再設定値を取得し、設定レジスタ１３１に格納する。さらに、ＣＰＵ１１は、ＡＣＫの送信を送信部１０１に指示する。
【０１２０】
送信部１０１は、ＡＣＫの送信の指示をＣＰＵ１１から受ける。そして、送信部１０１は、ＳＩＦＳ期間待機した後、ＡＣＫを管理サーバ２へ返す。
【０１２１】
その後、各サーバ１０は、ビーコンを受信後、データの送信処理を開始する。
【０１２２】
次に、図９を参照して、本実施例に係る情報処理システムにおける通信の全体的な流れについて説明する。図９は、実施例２に係る情報処理システムにおける通信を表すシーケンス図である。ここでは、サーバ１０としてサーバ１０Ａ〜１０Ｃがある場合で説明する。また、各サーバ１０Ａ〜１０Ｃには、それぞれ１つの無線モジュール１００が搭載されている。
【０１２３】
情報システムの稼動が開始すると、管理サーバ２は、サーバ１０Ａにバックオフタイム設定２４１を送信する。バックオフタイム設定２４１は、バックオフタイムの初期値が１×スロットタイムであり、再設定値が３×スロットタイムである。
【０１２４】
サーバ１０Ａは、バックオフタイム設定２４１を管理サーバ２から受信し、設定レジスタ１３１に格納する。具体的には、サーバ１０Ａは、受信部１０２でバックオフタイム設定を受信する。そして、受信部１０２は、パケット解析部１０５、Ｉ／Ｆ１０６及びクロスバスイッチ１４を介して、バックオフタイム設定２４１をＣＰＵ１１へ送信する。ＣＰＵ１１は、バックオフタイムで指定された初期値及び再設定値を取得し、設定レジスタ１３１に格納する。そして、サーバ１０Ａの送信部１０１は、ＳＩＦＳ期間待機した後、ＡＣＫ２４２を管理サーバ２へ返す。
【０１２５】
管理サーバ２は、ＡＣＫ２４２を受信した後にＳＩＦＳ期間待機し、その後、バックオフタイム設定２４３をサーバ１０Ｂへ送信する。バックオフタイム設定２４３は、バックオフタイムの初期値が２×スロットタイムであり、再設定値が３×スロットタイムである。
【０１２６】
サーバ１０Ｂは、バックオフタイム設定２４３を管理サーバ２から受信し、設定レジスタ１３１に格納する。そして、サーバ１０Ｂは、ＳＩＦＳ期間待機した後、ＡＣＫ２４４を管理サーバ２へ返す。
【０１２７】
管理サーバ２は、ＡＣＫ２４４を受信した後にＳＩＦＳ期間待機し、その後、バックオフタイム設定２４５をサーバ１０Ｃへ送信する。バックオフタイム設定２４５は、バックオフタイムの初期値が３×スロットタイムであり、再設定値が３×スロットタイムである。
【０１２８】
サーバ１０Ｃは、バックオフタイム設定２４５を管理サーバ２から受信し、設定レジスタ１３１に格納する。そして、サーバ１０Ｃは、ＳＩＦＳ期間待機した後、ＡＣＫ２４６を管理サーバ２へ返す。
【０１２９】
アクセスポイント２０は、管理サーバ２によるサーバ１０Ａ〜１０Ｃに対するバックオフタイム設定が完了すると、ＤＩＦＳ期間の経過を待ち、その後適当なタイミングでビーコン２４７をサーバ１０Ａ〜１０Ｃのそれぞれに送信する。サーバ１０Ａ〜１０Ｃは、アクセスポイント２０からビーコン２４７を受信すると、チャネルがビジー状態でないことを検出した後、ＤＩＦＳ期間待機してチャネルがアイドル状態であることを確認し、無線通信処理を行う。
【０１３０】
図９におけるこの後の無線通信処理は、実施例１と同様であるので説明を省略する。図９では、図５と同様に全てのサーバ１０に送信データがある場合の通信を表しているが、これは通信の一例である。例えば、送信データが無いサーバ１０がある場合には、図９においてサーバ１０Ａ〜１０Ｃがビーコン２４７を受信した後の無線通信処理は、図６で表される無線通信処理のようになる。
【０１３１】
以上に説明したように、本実施例に係る情報処理装置は、管理装置からバックオフタイムの初期値及び再設定値を取得し、取得した初期値及び再設定値を用いて通信を行う。管理装置が各ノードの初期値及び再設定値を統合管理することで、情報処理装置や無線モジュールの個数、すなわちノード数に変更があった場合に、管理装置は、ノード数の変更に合わせて初期値及び再設定値を迅速に変更することができる。すなわち、ノード数の変更が発生した場合にも、チャネルがアイドル状態になった後の待機時間の短縮及びアクセス競合の発生の抑制を適切に実施することができる。
【実施例３】
【０１３２】
次に、実施例３について説明する。本実施例に係る情報処理装置であるサーバ１０及び無線モジュール１００は、それぞれの送信比率に応じて通信量を変更することが実施例１と異なるものである。本実施例に係るサーバ１０も、図２のブロック図で表される。また、本実施例に係る無線モジュール１００も、図３のブロック図で表される。以下の説明では、実施例１と同様の動作を行う各部については説明を省略する。
【０１３３】
本実施例に係る設定レジスタ１３１は、例えば、バックオフタイムの初期値及び再設定値として図１０に示すような情報を保持している。図１０は、実施例３に係る設定レジスタが格納する情報を示す一例の図である。図１０のテーブル１５１におけるビットの列は、設定レジスタ１３１の各ビットを表している。また、テーブル１５１におけるフィールドの列は、対応するビットに格納されているデータの情報である。そして、テーブル１５１における説明の列は、格納されている各データがどのようなデータであるかの説明である。テーブル１５１は、８個の無線モジュール１００がアクセスポイント２０に接続する場合を例に記載されている。
【０１３４】
設定レジスタ１３１の２４〜３１ビットは、リザーブとして残されている。また、設定レジスタ１３１の２１〜２３ビットには、ノード＃８の送信比率が格納されている。また、設定レジスタ１３１の１８〜２０ビットには、ノード＃７の送信比率が格納されている。また、設定レジスタ１３１の１５〜１７ビットには、ノード＃６の送信比率が格納されている。また、設定レジスタ１３１の１２〜１４ビットには、ノード＃５の送信比率が格納されている。また、設定レジスタ１３１の９〜１１ビットには、ノード＃４の送信比率が格納されている。また、設定レジスタ１３１の６〜８ビットには、ノード＃３の送信比率が格納されている。また、設定レジスタ１３１の３〜５ビットには、ノード＃２の送信比率が格納されている。また、設定レジスタ１３１の０〜２ビットには、ノード＃１の送信比率が格納されている。
【０１３５】
ここで、ノード＃１〜＃８は、それぞれの数字をノード番号とする無線モジュール１００を表している。そして、ノード番号は、各無線モジュール１００に予め割り当てられている。
【０１３６】
本実施例では、送信比率は、図１０のように、設定レジスタ１３１の３ビットで表される。例えば、ビット列が００１の場合は送信比率が１、ビット列が０１０の場合は送信比率が２などとして、送信比率として１〜７までの値を表すことができる。ここで、送信比率とは、送信比率の値を比とする比率である。例えば、送信比率が２の場合、送信比率が１の場合に比べて２倍の量の通信を行う。また、送信比率が７の場合、送信比率が１の場合に比べて７倍の量の通信を行う。ただし、本実施例では、ノード＃１の送信比率が１となるように設定されている。
【０１３７】
以下では、ノード番号としてＩ（Ｉ＝１，２，３，４，・・・）が割り当てられている無線モジュール１００を「ノード＃Ｉ」として説明する。
【０１３８】
初期値設定部１３２は、設定レジスタ１３１から各ノード番号に対応する送信比率を取得する。そして、Ｉ＝１の場合、すなわちノード＃１の初期値設定部１３２は、初期値を１×スロットタイムとする。また、Ｉが２以上の場合、ノード＃Ｉの初期値設定部１３２は、ノード＃（Ｉ−１）の初期値をスロットタイムで除算し、除算結果とノード＃（Ｉ−１）の送信比率とを加算した値にスロットタイムを乗算した値を初期値とする。すなわち、ノード＃Ｉの初期値Ｉは次の数式（１）で表される。
【０１３９】
【数１】
2015050601.tif 000003
【０１４０】
そして、各無線モジュール１００の初期値設定部１３２は、アクセスポイント２０からビーコンを受信すると、決定した初期値を経過時間計測部１３３にバックオフタイムとして設定する。
【０１４１】
再設定部１３４は、設定レジスタ１３１から各ノード番号に対応する送信比率を取得する。次に、ノード＃Ｉの再設定部１３４は、各ノードの送信比率の合計し、自ノードであるノード＃Ｉの送信比率から１を減算した値を合計結果から減算し、減算結果にスロットタイムを乗算した値を再設定値とする。すなわち、ノード＃Ｉの再設定値Ｉは次の数式（２）で表される。
【０１４２】
【数２】
2015050601.tif 000004
【０１４３】
そして、再設定部１３４は、バックオフタイムが経過すると、送信データがあるか否かを判定する。送信データがない場合、再設定部１３４は、直ぐに以下のバックオフタイムの再設定処理を行う。これに対して、送信データがある場合、再設定部１３４は、アクセスポイント２０からのＡＣＫの受信を待って、以下のバックオフタイムの再設定処理を行う。
【０１４４】
再設定部１３４の再設定処理について説明する。再設定部１３４は、自ノードの送信比率に応じた回数連続して通信を行った否かを判定する。ここで、自ノードの送信比率に応じた回数とは、例えば、自ノードの送信比率の値である。例えば、自ノードの送信比率が３であれば、自ノードの送信比率に応じた回数とは３回である。すなわち、この場合、再設定部１３４は、３回の通信を連続して行ったか否かを判定する。
【０１４５】
自ノードの送信比率に応じた回数連続して通信を行っていない場合、再設定部１３４は、１×スロットタイムを経過時間計測部１３３に設定する。すなわち、再設定部１３４は、送信比率の値の回数連続して通信が行われるまで、すなわち送信比率の値から１を減算した回数、１×スロットタイムを経過時間計測部１３３に設定することを繰り返す。例えば、送信比率の値が３であれば、再設定部１３４は、バックオフタイムの初期値が経過して通信が行われた後、１×スロットタイムを経過時間計測部１３３に２回設定する。
【０１４６】
そして、送信比率の値の回数連続して通信が行われると、再設定部１３４は、数式（２）を用いて求めた再設定値をバックオフタイムとして経過時間計測部１３３に設定する。
【０１４７】
次に、図１１を参照して、本実施例に係る情報処理システムにおける通信の全体的な流れについて説明する。図１１は、実施例３に係る情報処理システムにおける通信を表すシーケンス図である。ここでは、サーバ１０としてサーバ１０Ａ〜１０Ｄがある場合で説明する。また、各サーバ１０Ａ〜１０Ｄには、それぞれ１つの無線モジュール１００が搭載されている。すなわち、ここではサーバ１０Ａ〜１０Ｄとそれぞれに搭載されている無線モジュール１００とは１対１なので、サーバ１０Ａ〜１０Ｄのそれぞれを１つのノードとして説明する。また、ここでは、サーバ１０Ａ〜１０Ｄのいずれにも送信データがある場合について説明する。
【０１４８】
サーバ１０Ａのノード番号が１であり、サーバ１０Ｂのノード番号が２であり、サーバ１０Ｃのノード番号が３であり、サーバ１０Ｄのノード番号が４である。
【０１４９】
そして、サーバ１０Ａ及び１０Ｂの送信比率は１であり、サーバの１０Ｃの送信比率は２であり、サーバ１０Ｄの送信比率は３である。
【０１５０】
サーバ１０Ａの初期値設定部１３２は、サーバ１０Ａがノード＃１であるので数式（１）より、１×スロットタイムを初期値とする。
【０１５１】
また、サーバ１０Ｂの初期値設定部１３２は、数式（１）より、ノード＃１の初期値をスロットタイムで除算した値（＝１）にノード＃１の送信比率（＝１）を加算し、加算結果にスロットタイムを乗算して初期値を算出する。すなわち、サーバ１０Ｂの初期値設定部１３２は、２×スロットタイムを初期値とする。
【０１５２】
また、サーバ１０Ｃの初期値設定部１３２は、数式（１）より、ノード＃２の初期値をスロットタイムで除算した値（＝２）にノード＃２の送信比率（＝１）を加算し、加算結果にスロットタイムを乗算して初期値を算出する。すなわち、サーバ１０Ｃの初期値設定部１３２は、３×スロットタイムを初期値とする。
【０１５３】
また、サーバ１０Ｄの初期値設定部１３２は、数式（１）より、ノード＃３の初期値をスロットタイムで除算した値（＝３）にノード＃１の送信比率（＝２）を加算し、加算結果にスロットタイムを乗算して初期値を算出する。すなわち、サーバ１０Ｄの初期値設定部１３２は、５×スロットタイムを初期値とする。
【０１５４】
そして、サーバ１０Ａ〜１０Ｄは、チャネルがビジーでなくなった後ＤＩＦＳ期間待機する。その間、チャネルがビジーにならなければ、サーバ１０Ａ〜１０Ｄは、バックオフタイムの初期値をそれぞれの経過時間計測部１３３に設定する。
【０１５５】
具体的には、サーバ１０Ａの初期値設定部１３２は、期間２５１で表されるバックオフタイムの初期値、すなわち１×タイムスロットをバックオフタイムとして経過時間計測部１３３に設定する。サーバ１０Ｂの初期値設定部１３２は、期間２５２で表されるバックオフタイムの初期値、すなわち２×タイムスロットをバックオフタイムとして経過時間計測部１３３に設定する。サーバ１０Ｃの初期値設定部１３２は、期間２５３で表されるバックオフタイムの初期値、具体的には３×タイムスロットをバックオフタイムとして経過時間計測部１３３に設定する。サーバ１０Ｄの初期値設定部１３２は、期間２５４で表されるバックオフタイムの初期値、具体的には５×タイムスロットをバックオフタイムとして経過時間計測部１３３に設定する。
【０１５６】
この状態では、サーバ１０Ａのバックオフタイムが最も短い。そのため、サーバ１０Ａの経過時間計測部１３３によりバックオフタイムが経過したと判定されると、サーバ１０Ａの送信部１０１は、データ２５５をアクセスポイント２０へ送信する。この時、期間２５２、２５３及び２５４の斜線部分が、それぞれサーバ１０Ｂ〜１０Ｄのバックオフタイムとして、次の経過時間の計測に繰り越される。すなわち、サーバ１０Ｂの経過時間計測部１３３は、１×スロットタイムを次の経過時間の計測に繰り越す。また、サーバ１０Ｃの経過時間計測部１３３は、２×スロットタイムを次の経過時間の計測に繰り越す。また、サーバ１０Ｄの経過時間計測部１３３は、４×スロットタイムを次の経過時間の計測に繰り越す。
【０１５７】
アクセスポイント２０は、データ２５５を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２５６をサーバ１０Ａに送信する。
【０１５８】
サーバ１０Ａの受信部１０２は、ＡＣＫ２５６をアクセスポイント２０から受信する。そして、サーバ１０Ａのパケット解析部１０５は、ＡＣＫ２５６の受信を再設定部１３４へ通知する。
【０１５９】
サーバ１０Ａの再設定部１３４は、設定レジスタ１３１から各ノードの送信比率を取得し、数式（２）を用いて再設定値を算出する。具体的には、再設定部１３４は、各ノードの送信比率の合計を求める。ここでは、各ノードの送信比率の合計は７である。次に、再設定部１３４は、送信比率の合計から自ノードの送信比率から１を減算した値を減算する。ここでは、サーバ１０Ａの送信比率は１なので、自ノードの送信比率から１を減算した値を送信比率の合計から減算した値は７である。そして、再設定部１３４は、求めた値にスロットタイムを乗算して再設定値を算出する。すなわち、サーバ１０Ａの再設定部１３４は、７×スロットタイムを再設定値として算出する。
【０１６０】
そして、サーバ１０Ａの再設定部１３４は、再設定値である７×スロットタイムの期間２５７を経過時間計測部１３３へバックオフタイムとして再設定する。
【０１６１】
この場合、サーバ１０Ｂの経過時間計測部１３３は、繰り越した１×スロットタイムである期間２５８をバックオフタイムとする。また、サーバ１０Ｃの経過時間計測部１３３は、繰り越した２×スロットタイムである期間２５９をバックオフタイムとする。また、サーバ１０Ｄの経過時間計測部１３３は、繰り越した４×スロットタイムである期間２６０をバックオフタイムとする。
【０１６２】
この状態では、サーバ１０Ｂのバックオフタイムが最も短い。そのため、サーバ１０Ｂの経過時間計測部１３３によりバックオフタイムが経過したと判定されると、サーバ１０Ｂの送信部１０１は、データ２６１をアクセスポイント２０へ送信する。この時、期間２５７，２５９及び２６０の斜線部分が、それぞれサーバ１０Ａ，１０Ｃ及び１０Ｄのバックオフタイムとして、次の経過時間の計測に繰り越される。
【０１６３】
アクセスポイント２０は、データ２６１を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２６２をサーバ１０Ｂに送信する。
【０１６４】
サーバ１０Ｂの受信部１０２は、ＡＣＫ２６２をアクセスポイント２０から受信する。そして、サーバ１０Ｂのパケット解析部１０５は、ＡＣＫ２６２の受信を再設定部１３４へ通知する。
【０１６５】
サーバ１０Ｂの再設定部１３４は、設定レジスタ１３１から各ノードの送信比率を取得し、数式（２）を用いて再設定値を算出する。具体的には、再設定部１３４は、送信比率の合計から自ノードの送信比率から１を減算した値を減算する。ここでは、サーバ１０Ｂの送信比率は１なので、自ノードの送信比率から１を減算した値を送信比率の合計から減算した値は７である。そして、再設定部１３４は、求めた値にスロットタイムを乗算して再設定値を算出する。すなわち、サーバ１０Ｂの再設定部１３４は、７×スロットタイムを再設定値として算出する。
【０１６６】
そして、サーバ１０Ｂの再設定部１３４は、再設定値である７×スロットタイムの期間２６４を経過時間計測部１３３へバックオフタイムとして再設定する。
【０１６７】
この場合、サーバ１０Ａの経過時間計測部１３３は、繰り越した６×スロットタイムである期間２６３をバックオフタイムとする。また、サーバ１０Ｃの経過時間計測部１３３は、繰り越した１×スロットタイムである期間２６５をバックオフタイムとする。また、サーバ１０Ｄの経過時間計測部１３３は、繰り越した３×スロットタイムである期間２６６をバックオフタイムとする。
【０１６８】
この状態では、サーバ１０Ｃのバックオフタイムが最も短い。そのため、サーバ１０Ｃの経過時間計測部１３３によりバックオフタイムが経過したと判定されると、サーバ１０Ｃの送信部１０１は、データ２６７をアクセスポイント２０へ送信する。この時、期間２６３，２６４，２６６の斜線部分が、それぞれサーバ１０Ａ，１０Ｂ及び１０Ｄのバックオフタイムとして、次の経過時間の計測に繰り越される。
【０１６９】
アクセスポイント２０は、データ２６７を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２６８をサーバ１０Ｃに送信する。
【０１７０】
サーバ１０Ｃの受信部１０２は、ＡＣＫ２６８をアクセスポイント２０から受信する。そして、サーバ１０Ｃのパケット解析部１０５は、ＡＣＫ２６８の受信を再設定部１３４へ通知する。
【０１７１】
サーバ１０Ｃの再設定部１３４は、ＡＣＫ２６８の受信の通知をパケット解析部１０５から受ける。この場合、サーバ１０Ｃの再設定部１３４は、自ノードの送信比率が２であるので、２回目のデータ送信のために、１×スロットタイムである期間２７１を経過時間計測部１３３にバックオフタイムとして設定する。
【０１７２】
この場合、サーバ１０Ａの経過時間計測部１３３は、繰り越した５×スロットタイムである期間２６９をバックオフタイムとする。また、サーバ１０Ｂの経過時間計測部１３３は、繰り越した６×スロットタイムである期間２７０をバックオフタイムとする。また、サーバ１０Ｄの経過時間計測部１３３は、繰り越した２×スロットタイムである期間２７２をバックオフタイムとする。
【０１７３】
この状態では、サーバ１０Ｃのバックオフタイムが最も短い。そのため、サーバ１０Ｃの経過時間計測部１３３によりバックオフタイムが経過したと判定されると、サーバ１０Ｃの送信部１０１は、データ２７３をアクセスポイント２０へ送信する。この時、期間２６９，２７０，２７２の斜線部分が、それぞれサーバ１０Ａ，１０Ｂ及び１０Ｄのバックオフタイムとして、次の経過時間の計測に繰り越される。
【０１７４】
アクセスポイント２０は、データ２７３を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２７４をサーバ１０Ｃに送信する。
【０１７５】
サーバ１０Ｃの受信部１０２は、ＡＣＫ２７４をアクセスポイント２０から受信する。そして、サーバ１０Ｃのパケット解析部１０５は、ＡＣＫ２７４の受信を再設定部１３４へ通知する。
【０１７６】
サーバ１０Ｃの再設定部１３４は、自ノードの送信比率が２であり２回連続でデータ送信を行っているので、設定レジスタ１３１から各ノードの送信比率を取得し、数式（２）を用いて再設定値を算出する。具体的には、再設定部１３４は、送信比率の合計から自ノードの送信比率から１を減算した値を減算する。ここでは、サーバ１０Ｃの送信比率は２なので、自ノードの送信比率から１を減算した値を送信比率の合計から減算した値は６である。そして、再設定部１３４は、求めた値にスロットタイムを乗算して再設定値を算出する。すなわち、サーバ１０Ｃの再設定部１３４は、６×スロットタイムを再設定値として算出する。
【０１７７】
そして、サーバ１０Ｃの再設定部１３４は、再設定値である６×スロットタイムの期間２７７を経過時間計測部１３３へバックオフタイムとして再設定する。
【０１７８】
この場合、サーバ１０Ａの経過時間計測部１３３は、繰り越した４×スロットタイムである期間２７５をバックオフタイムとする。また、サーバ１０Ｂの経過時間計測部１３３は、繰り越した５×スロットタイムである期間２７６をバックオフタイムとする。また、サーバ１０Ｄの経過時間計測部１３３は、繰り越した１×スロットタイムである期間２７８をバックオフタイムとする。
【０１７９】
この状態では、サーバ１０Ｄのバックオフタイムが最も短い。そのため、サーバ１０Ｄの経過時間計測部１３３によりバックオフタイムが経過したと判定されると、サーバ１０Ｄの送信部１０１は、データ２７９をアクセスポイント２０へ送信する。この時、期間２７５，２７６，２７７の斜線部分が、それぞれサーバ１０Ａ〜１０Ｃのバックオフタイムとして、次の経過時間の計測に繰り越される。
【０１８０】
アクセスポイント２０は、データ２７９を受信する。その後、アクセスポイント２０は、ＳＩＦＳ期間待機しチャネルがビジーにならなければ、ＡＣＫ２８０をサーバ１０Ｃに送信する。以下ここで説明した無線通信処理の繰り返しとなる。
【０１８１】
ここで、図１１では、サーバ１０Ａ〜１０Ｄの全てに送信データがある場合を図示したが、送信データが無いサーバ１０がある場合には、送信部１０１はデータの送信を行わない。この場合、再設定部１３４は、ＡＣＫの受信を待たずに送信比率の値の回数に通信回数が達するまで、１×スロットタイムをバックオフタイムとして設定することを繰り返した後、算出した再設定値を経過時間計測部１３３に再設定する。また、ＡＣＫの受信を待たずに再設定処理を行っている間に、送信データが発生した場合には、再設定部１３４は、ＡＣＫの受信を待って再設定処理を行う処理に移行する。
【０１８２】
以上に説明したように、本実施例に係る情報処理装置は、ノード毎に送信比率を設定し、各情報処理装置の送信比率にしたがってバックオフタイムの初期値及び再設定値を、通信が競合しないように決定する。これにより、ノード毎に送信比率が異なる場合でも、チャネルがアイドル状態になった後の待機時間を短縮することができ、さらに、通信の競合の発生を抑制することができる。
【実施例４】
【０１８３】
次に、実施例４に係る情報処理装置について説明する。本実施例に係る情報処理システムは、管理サーバ２によって各サーバ１０及び無線モジュール１００が管理されていることが実施例３と異なる。本実施例に係る情報処理システムは、図８の構成図で表される。また、本実施例に係るサーバ１０も図２のブロック図で表される。また、本実施例に係る無線モジュール１００も図３のブロック図で表される。以下では、実施例１と同様の各部の動作については説明を省略する。
【０１８４】
管理サーバ２は、各無線モジュール１００の送信比率を記憶している。そして、管理サーバ２は、ネットワークスイッチ３０及びアクセスポイント２０を介して、各無線モジュール１００の送信比率の情報を各無線モジュール１００の設定レジスタ１３１に格納させる。設定レジスタ１３１は、例えば図１０に示すような状態で各無線モジュール１００の送信比率の情報を格納する。
【０１８５】
さらに、管理サーバ２は、送信比率の情報を各無線モジュール１００へ送信し、ＳＩＦＳ期間待機した後、各無線モジュール１００にノード番号を通知する。具体的には、管理サーバ２は、ある無線モジュール１００にノード番号を通知した後、ＳＩＦＳ期間経過後にノード番号を通知した先の無線モジュール１００からＡＣＫを受信すると、次の無線モジュール１００にノード番号を通知することを繰り返す。
【０１８６】
ここで、本実施例では、管理サーバ２は、ラック１の外に配置されているが、ラック１の中に搭載されてもよい。
【０１８７】
アクセスポイント２０は、アクセスポイント２０に接続された全ての無線モジュール１００にバックオフタイムが設定された後、適当なタイミングでビーコンを各無線モジュール１００へ送信する。
【０１８８】
各無線モジュール１００は、ビーコンを受信後、データの送信処理を開始する。その後、各無線モジュール１００は、実施例３と同様に、各ノードの送信比率に従って初期値及び再設定値を求め、データの送信を行っていく。
【０１８９】
次に、図１２を参照して、本実施例に係る情報処理システムにおける通信の全体的な流れについて説明する。図１２は、実施例４に係る情報処理システムにおける通信を表すシーケンス図である。ここでは、サーバ１０としてサーバ１０Ａ〜１０Ｄがある場合で説明する。また、本実施例では、各サーバ１０Ａ〜１０Ｄには、それぞれ１つの無線モジュール１００が搭載されている。
【０１９０】
情報システムの稼動が開始すると、管理サーバ２は、サーバ１０Ａ〜１０Ｄに各ノードの送信比率の情報を含む送信比率情報３００を送信する。送信比率情報３００は、ノード＃１及びノード＃２の送信比率は１であり、ノード＃３の送信比率は２であり、ノード＃４の送信比率は３である。
【０１９１】
管理サーバ２は、送信比率情報３００の送信後、ＳＩＦＳ期間待機し、その間チャネルがビジーにならなければ、サーバ１０Ａに対してノード番号情報３０１を送信する。ここでは、サーバ１０Ａのノード番号は１である。
【０１９２】
サーバ１０Ａの受信部１０２は、ノード番号情報３０１を含む信号を受信する。そして、受信部１０２は、受信した信号をパケット解析部１０５へ出力する。パケット解析部１０５は、信号を解析し、ノード番号情報３０１を初期値設定部１３２及び再設定部１３４へ通知する。その後、パケット解析部１０５は、Ｉ／Ｆ１０６及びクロスバスイッチ１４を介してＣＰＵ１１にノード番号を通知する。ＣＰＵ１１は、信号の受信を受けてＡＣＫの送信をクロスバスイッチ１４及びＩ／Ｆ１０６を介して送信部１０１に指示する。送信部１０１は、ＳＩＦＳ期間経過後アクセスポイント２０及びネットワークスイッチ３０を介して、管理サーバ２へＡＣＫ３０２を送信する。
【０１９３】
管理サーバ２は、ＡＣＫ３０２を受信すると、ＳＩＦＳ期間待機し、その間チャネルがビジーにならなければ、サーバ１０Ｂに対してノード番号情報３０３を送信する。ここでは、サーバ１０Ｂのノード番号は２である。
【０１９４】
サーバ１０Ｂの受信部１０２は、ノード番号情報３０２を含む信号を受信する。その後、サーバ１０Ｂは、サーバ１０Ａと同様の処理を行う。そして、送信部１０１は、ＳＩＦＳ期間経過後アクセスポイント２０及びネットワークスイッチ３０を介して、管理サーバ２へＡＣＫ３０４を送信する。
【０１９５】
管理サーバ２は、ＡＣＫ３０４を受信すると、ＳＩＦＳ期間待機し、その間チャネルがビジーにならなければ、サーバ１０Ｃに対してノード番号情報３０５を送信する。ここでは、サーバ１０Ｃのノード番号は３である。
【０１９６】
サーバ１０Ｃの受信部１０２は、ノード番号情報３０５を含む信号を受信する。その後、サーバ１０Ｃは、サーバ１０Ａと同様の処理を行う。そして、送信部１０１は、ＳＩＦＳ期間経過後アクセスポイント２０及びネットワークスイッチ３０を介して、管理サーバ２へＡＣＫ３０６を送信する。
【０１９７】
管理サーバ２は、ＡＣＫ３０６を受信すると、ＳＩＦＳ期間待機し、その間チャネルがビジーにならなければ、サーバ１０Ｄに対してノード番号情報３０７を送信する。ここでは、サーバ１０Ｄのノード番号は４である。
【０１９８】
サーバ１０Ｄの受信部１０２は、ノード番号情報３０７を含む信号を受信する。その後、サーバ１０Ｄは、サーバ１０Ａと同様の処理を行う。そして、送信部１０１は、ＳＩＦＳ期間経過後アクセスポイント２０及びネットワークスイッチ３０を介して、管理サーバ２へＡＣＫ３０８を送信する。
【０１９９】
アクセスポイント２０は、管理サーバ２によるサーバ１０Ａ〜１０Ｄに対するノード番号の通知が完了し、サーバ１０ＤからＡＣＫ３０８が送信された後ＤＩＦＳ期間の経過を待つ。そして、アクセスポイント２０は、ＤＩＦＳ期間経過後適当なタイミングでビーコン３０９をサーバ１０Ａ〜１０Ｄのそれぞれに送信する。サーバ１０Ａ〜１０Ｄは、アクセスポイント２０からビーコン３０９を受信すると、チャネルがビジー状態でないことを検出した後、ＤＩＦＳ期間待機してチャネルがアイドル状態であることを確認し、無線通信処理を行う。図１２における以降の無線通信処理は、実施例３と同様であるので説明を省略する。
【０２００】
以上に説明したように、本実施例に係る情報処理装置は、管理装置から各ノードの送信比率を取得し、取得した送信比率を用いて算出したバックオフタイムの初期値及び再設定値を用いて通信を行う。このように、管理装置が各ノードの送信比率を統合管理することで、送信比率がノード毎に異なっても、ノード数に変更があった場合に、変更に合わせて初期値及び再設定値を迅速に変更することができる。すなわち、送信比率がノード毎に異なる状態でノード数の変更が発生した場合にも、チャネルがアイドル状態になった後の待機時間の短縮及びアクセス競合の発生の抑制を適切に実施することができる。
【符号の説明】
【０２０１】
１  ラック
２  管理サーバ
１０  サーバ
１１  ＣＰＵ
１２  メモリ
１３  ストレージ
１４  クロスバスイッチ
１５  アンテナ
２０  アクセスポイント（ＡＰ）
３０  ネットワークスイッチ
１００  無線モジュール
１０１  送信部
１０２  受信部
１０３  バックオフタイム設定部
１０４  判定部
１０５  パケット解析部
１０６  Ｉ／Ｆ
１３１  設定レジスタ
１３２  初期値設定部
１３３  経過時間計測部
１３４  再設定部
【図１】
2015050601.tif 000005
【図２】
2015050601.tif 000006
【図３】
2015050601.tif 000007
【図４】
2015050601.tif 000008
【図５】
2015050601.tif 000009
【図６】
2015050601.tif 000010
【図７】
2015050601.tif 000011
【図８】
2015050601.tif 000012
【図９】
2015050601.tif 000013
【図１０】
2015050601.tif 000014
【図１１】
2015050601.tif 000015
【図１２】
2015050601.tif 000016