(57)【要約】【課題】多数のノードを高速に無線で接続すること。【解決手段】ルーティングテーブル１４２は、自ノードから宛先のノードへの方向及び距離に基づいて、ルーティング先として６０Ｇ無線上部１４６ａ、６０Ｇ無線下部１４６ｂ、６０Ｇ無線左部１４６ｃ、６０Ｇ無線右部１４６ｄ又はＷＬＡＮ部１４７を記憶する。ルーティング部１４３は、ルーティングテーブル１４２からテーブル検索されたルーティング先に基づいて、６０Ｇ無線上部１４６ａ、６０Ｇ無線下部１４６ｂ、６０Ｇ無線左部１４６ｃ、６０Ｇ無線右部１４６ｄ又はＷＬＡＮ部１４７にパケットをルーティングする。【選択図】図３Ａ
2015056146.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信方式を用いて他の情報処理装置と通信する第１の通信部と、
第２の通信方式を用いて他の情報処理装置と通信する第２の通信部と、
データの宛先の情報処理装置との距離情報に基づいて、該宛先へデータを送信する通信方式を決定し、決定した通信方式が第１の通信方式である場合には、該データを前記第１の通信部により送信させ、決定した通信方式が第２の通信方式である場合には、該データを前記第２の通信部により送信させる制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
データの宛先の情報処理装置との距離情報に基づいて、該宛先と通信方式とを対応付けて記憶する通信方式記憶部をさらに有し、
前記制御部は、前記通信方式記憶部に基づいて、前記データを送信する通信方式を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
データの宛先の情報処理装置との距離情報を該宛先とを対応付けて記憶する距離記憶部をさらに有し、
前記制御部は、前記距離記憶部に基づいて、前記データを送信する通信方式を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御部は、前記データの送信に要する時間が所定の閾値を超えている場合には、異なる通信方式を用いてデータを送信するように制御することを特徴とする請求項１、２又は３に記載の情報処理装置。
【請求項５】
前記制御部は、前記距離記憶部に記憶された距離情報を所定の閾値と比較することにより、前記データを送信する通信方式を決定し、前記データの送信に要する時間に基づいて、前記閾値を増減させることを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記第１の通信部は、無線を用いて他の情報処理装置と通信し、それぞれ上下左右の情報処理装置と通信する４つの無線通信部を有することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記第１の通信部は、無線を用いて他の情報処理装置と通信し、ビームフォーミングを用いて上下左右の情報処理装置と通信することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
複数の情報処理装置を有する情報処理システムにおいて、
各情報処理装置は、第１の通信方式を用いて他の情報処理装置と通信する第１の通信部を有し、
前記複数の情報処理装置のうちの少なくとも１つの情報処理装置は、第２の通信方式を用いて他の情報処理装置と通信する第２の通信部をさらに有し、
各情報処理装置は、
データの宛先の情報処理装置との距離情報に基づいて、該宛先へデータを送信する通信方式を決定し、決定した通信方式が第１の通信方式である場合には、該データを前記第１の通信部により送信させ、決定した通信方式が第２の通信方式である場合には、該データを前記第２の通信部により送信させる制御部
を有することを特徴とする情報処理システム。
【請求項９】
前記複数の情報処理装置はグループ化され、グループ内の１つの情報処理装置だけが前記第２の通信部を有し、
各情報処理装置は、
宛先と該宛先のグループを識別する識別子とを対応付けて記憶するグループ記憶部をさらに有し、
前記制御部は、前記グループ記憶部に基づいて、前記データを送信する通信方式を決定し、前記第２の通信方式で前記データを送信させる場合に、前記第２の通信部を備える情報処理装置へ前記第１の通信部を用いてデータを転送することを特徴とする請求項８に記載の情報処理システム。
【請求項１０】
情報処理装置が、
データの宛先の情報処理装置との距離情報に基づいて、該宛先へデータを送信する通信方式を決定し、
決定した通信方式を用いてデータを送信する
処理を実行することを特徴とする通信方法。
【請求項１１】
情報処理装置が有するコンピュータに、
データの宛先の情報処理装置との距離情報に基づいて、該宛先へデータを送信する通信方式を決定し、
決定した通信方式を用いてデータを送信させる
処理を実行させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、通信方法及び通信プログラムに関する。
【背景技術】
【０００２】
近年、データセンターやクラウド向けサーバとしてラック内に多数のノードを搭載する高集積サーバが利用されるようになってきている。ここで、ノードとは、ＣＰＵ、メモリ、ストレージ、クロスバースイッチなどを有する情報処理装置である。
【０００３】
ラックには、例えば、数十〜数百のノードが搭載される。また、ノード間の接続には、ケーブル接続とバックプレーン接続がある。図２１は、ケーブル接続の一例を示す図であり、図２２Ａ及び図２２Ｂは、バックプレーン接続の一例を示す図である。図２２Ａは、バックプレーン接続を用いる筐体の前面及び背面を示し、図２２Ｂは、バックプレーン配線パターンの一例を示す。
【０００４】
図２１では、３０台のノード９１が２つのスイッチングノード９２を介してケーブル接続されている。図２２Ａでは、４０台のノード９３が４つのスイッチングノード９４、バックプレーン９５を介して接続されている。なお、図２２Ａでは、上段に筐体の前面が示され、下段に筐体の背面が示されている。
【０００５】
図２１に示すように、ケーブル接続では、ノード数が多くなるとケーブル数が膨大となる。このため、ケーブル接続には、ケーブルコストの増加、ケーブル挿抜による保守の煩わしさ、ケーブル占有面積の増大といった問題がある。
【０００６】
一方、図２２Ｂに示すように、バックプレーン接続では、ノード数が多くなると配線パターン９６が甚大となる。このため、バックプレーン接続には、バックプレーン内配線の困難性、バックプレーンの層数増加、製造コストの増大などの問題がある。また、バックプレーン接続には、バックプレーンの故障によるリスクが増大する、バックプレーン保守時にシステム全体を停止させなければならない、といった問題もある。
【０００７】
そこで、ケーブル接続やバックプレーン接続を用いることなく、筐体内のモジュール間のデータ転送を無線を利用して行う技術が開発されている（例えば、特許文献１参照。）。また、サーバ装置のコンソール部とサーバ装置とを接続するトレイ部がコンソール部と無線で通信を行う従来技術がある（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−６３２９号公報
【特許文献２】特開２００６−１８５４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、無線による通信には、有線による通信と比較して、通信が低速であるという問題がある。一部、有線と同程度高速な無線通信技術が開発されているが、高速な無線通信は、電波が減衰しやすく、遠距離の通信には不向きである。このため、多数の情報処理装置を高速な無線通信で接続する場合、複数の情報処理装置を経由して通信が行われるため、遅延時間が増加し、通信速度が低下する。
【００１０】
本発明は、１つの側面では、多数の情報処理装置を高速に無線で接続することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する情報処理装置は、１つの態様において、第１の通信方式を用いて他の情報処理装置と通信する第１の通信部と、第２の通信方式を用いて他の情報処理装置と通信する第２の通信部と、制御部とを備える。前記制御部は、データの宛先の情報処理装置との距離情報に基づいて、該宛先へデータを送信する通信方式を決定する。そして、前記制御部は、決定した通信方式が第１の通信方式である場合には、前記データを前記第１の通信部により送信させ、決定した通信方式が第２の通信方式である場合には、該データを第２の通信部により送信させる。
【発明の効果】
【００１２】
１実施態様によれば、多数の情報処理装置を高速に無線で接続することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る情報処理システムの構成を示す図である。
【図２】図２は、ＡＰを用いたＷＬＡＮの通信を説明するための図である。
【図３Ａ】図３Ａは、ＸＢの構成を示す図である。
【図３Ｂ】図３Ｂは、他のＸＢの構成を示す図である。
【図４】図４は、ノードの配置を示す図である。
【図５Ａ】図５Ａは、実施例１に係るルーティングテーブルの一例を示す第１の図である。
【図５Ｂ】図５Ｂは、実施例１に係るルーティングテーブルの一例を示す第２の図である。
【図６】図６は、実施例１に係るノードによる送信処理のフローを示すフローチャートである。
【図７】図７は、実施例１に係るノードによる受信処理のフローを示すフローチャートである。
【図８Ａ】図８Ａは、実施例２に係るルーティングテーブルの一例を示す第１の図である。
【図８Ｂ】図８Ｂは、実施例２に係るルーティングテーブルの一例を示す第２の図である。
【図９】図９は、実施例２に係るノードによる送信処理のフローを示すフローチャートである。
【図１０】図１０は、実施例２に係るノードによる受信処理のフローを示すフローチャートである。
【図１１】図１１は、ノードのグループ化の一例を示す図である。
【図１２Ａ】図１２Ａは、実施例３に係るルーティングテーブルの一例を示す第１の図である。
【図１２Ｂ】図１２Ｂは、実施例３に係るルーティングテーブルの一例を示す第２の図である。
【図１２Ｃ】図１２Ｃは、実施例３に係るルーティングテーブルの一例を示す第３の図である。
【図１２Ｄ】図１２Ｄは、実施例３に係るルーティングテーブルの一例を示す第４の図である。
【図１３】図１３は、実施例３に係るノードによる送信処理のフローを示すフローチャートである。
【図１４】図１４は、実施例３に係るノードによる受信処理のフローを示すフローチャートである。
【図１５Ａ】図１５Ａは、実施例４に係るＸＢの構成を示す図である。
【図１５Ｂ】図１５Ｂは、実施例４に係るＸＢの他の構成を示す図である。
【図１６Ａ】図１６Ａは、実施例４に係るルーティングテーブルの一例を示す第１の図である。
【図１６Ｂ】図１６Ｂは、実施例４に係るルーティングテーブルの一例を示す第２の図である。
【図１７】図１７は、実施例４に係るノードによる送信処理のフローを示すフローチャートである。
【図１８】図１８は、実施例５に係るノードによる送信処理のフローを示すフローチャートである。
【図１９】図１９は、実施例６に係る情報処理システムの構成を示す図である。
【図２０】図２０は、通信プログラムを実行するＸＢのハードウェア構成を示す図である。
【図２１】図２１は、ケーブル接続の一例を示す図である。
【図２２Ａ】図２２Ａは、バックプレーン接続を用いる筐体の前面及び背面を示す図である。
【図２２Ｂ】図２２Ｂは、バックプレーン配線パターンの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する情報処理装置、情報処理システム、通信方法及び通信プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例は開示の技術を限定するものではない。
【実施例１】
【００１５】
まず、実施例１に係る情報処理システムの構成について説明する。図１は、実施例１に係る情報処理システムの構成を示す図である。図１に示すように、情報処理システムは、ラック１にＮＷスイッチ２とＡＰ３と９９台のノード１０が搭載された高集積サーバである。なお、ここでは、ラック１に１台のＮＷスイッチ２と９９台のノード１０を搭載しているが、より多くのＮＷスイッチ２やより多くのノード１０あるいはより少ないノード１０を１つのラックに搭載することができる。
【００１６】
ＮＷスイッチ２は、インターネット等の外部ネットワークと接続するためのスイッチである。ＡＰ３は、２．４ＧＨｚ帯及び５ＧＨｚ帯の周波数を使用するＷＬＡＮ（Wireless  Local  Area  Network）のアクセスポイントである。図２は、ＡＰ３を用いたＷＬＡＮの通信を説明するための図である。図２は、ＡＰ３と３つのＳＴＡ（ステーション）４からなる無線システムである。
【００１７】
図２に示すように、ＳＴＡ４は他のＳＴＡ４にデータを転送する場合、ＡＰ３を介してデータを転送する。したがって、ＳＴＡ４の数が多い場合には、ＡＰ３にデータが集中し、輻輳が生じる。また、ＷＬＡＮの通信速度は６００メガビット／秒（Ｍｂｐｓ）程度であり、有線の通信速度は１．０ギガビット／秒（Ｇｂｐｓ）より大きいため、有線の通信に比べてＷＬＡＮの通信速度は遅い。
【００１８】
なお、図２に示す通信のモードはインフラストラクチャモードと呼ばれ、装置間の通信はＡＰ３を介して通信が行われる。一方、ＡＰ３を介さず装置間で直接通信するモードはアドホックモードと呼ばれる。インフラストラクチャモードは多数の装置が通信する場合に適しており、アドホックモードは少数の装置が通信する場合に適している。
【００１９】
ノード１０は、ＣＰＵ１１と、メモリ１２と、ストレージ１３と、ＸＢ１４とを有する情報処理装置である。また、ノード１０は、６０Ｇ無線上用アンテナ１５ａと、６０Ｇ無線下用アンテナ１５ｂと、６０Ｇ無線左用アンテナ１５ｃと、６０Ｇ無線右用アンテナ１５ｄと、ＷＬＡＮ用アンテナ１５ｅとを有する。なお、ノード１０は、筐体内に収容されている。また、６０Ｇ無線上用アンテナ１５ａ、６０Ｇ無線下用アンテナ１５ｂ、６０Ｇ無線左用アンテナ１５ｃ、６０Ｇ無線右用アンテナ１５ｄ及びＷＬＡＮ用アンテナ１５ｅは、ＸＢ１４と接続されている。
【００２０】
ＣＰＵ１１は、メモリ１２からプログラムを読み出して実行する中央処理装置である。メモリ１２は、プログラムやプログラムの実行途中結果などを記憶するＲＡＭ（Random  Access  Memory）である。ストレージ１３は、データを記憶する不揮発性メモリであり、例えば、ＮＡＮＤフラッシュメモリである。また、ストレージ１３は、ノード１０にインストールされたプログラムを記憶する。
【００２１】
ＸＢ１４は、他のノード１０と通信を行うためのクロスバースイッチである。ＸＢ１４は、１つのＬＳＩである。６０Ｇ無線上用アンテナ１５ａは、６０ＧＨｚ帯の周波数を使用する無線通信である６０Ｇ無線のアンテナであり、上向きの方向に設置され、ラック１内で上に隣接するノード１０との通信に用いられる。同様に、６０Ｇ無線下用アンテナ１５ｂは、６０Ｇ無線のアンテナであり、下向きの方向に設置され、ラック１内で下に隣接するノード１０との通信に用いられる。
【００２２】
また、６０Ｇ無線左用アンテナ１５ｃは、６０Ｇ無線のアンテナであり、左向きの方向に設置され、ラック１内で左に隣接するノード１０との通信に用いられる。６０Ｇ無線右用アンテナ１５ｄは、６０Ｇ無線のアンテナであり、右向きの方向に設置され、ラック１内で右に隣接するノード１０との通信に用いられる。
【００２３】
６０Ｇ無線は、通信速度が数Ｇｂｐｓ程度実現可能であり、ＷＬＡＮと比較して高速である。しかしながら、６０Ｇ無線は電波が届きにくく、筐体が電波の障壁となり、１つの６０Ｇ無線モジュールを使用して隣接する上下左右のノード１０と通信するのは困難である。そこで、ノード１０は、隣接する上下左右のノード１０とそれぞれ通信する４つの６０Ｇ無線モジュールを有する。ＷＬＡＮ用アンテナ１５ｅは、ＷＬＡＮのアンテナである。
【００２４】
ノード１０は、所定の閾値より距離が近いノード１０とは６０Ｇ無線を用いて通信を行い、所定の閾値以上の距離があるノード１０とはＷＬＡＮを用いて通信を行う。例えば、図１において、ラック１のＳに位置するノード１０は、Ｄ1に位置するノード１０と通信を行う場合には、距離が近いので、６０Ｇ無線を用いてラック１の下に位置するノードを経由して通信を行う。また、ラック１のＳに位置するノード１０は、Ｄ2に位置するノード１０と通信を行う場合には、距離が遠いので、ＡＰ３を経由してＷＬＡＮで通信を行う。
【００２５】
このように、ノード１０は、所定の閾値より距離が近いノード１０とは６０Ｇ無線を用いて通信を行い、所定の閾値以上の距離があるノード１０とはＷＬＡＮを用いて通信を行う。したがって、ノード１０は、ＡＰ３に輻輳を発生させることなく、多数のノード１０と高速に無線通信を行うことができる。
【００２６】
次に、ＸＢ１４の構成について説明する。図３Ａは、ＸＢ１４の構成を示す図である。図３Ａに示すように、ＸＢ１４は、ホストＩ／Ｆ１４１と、２つのルーティングテーブル１４２と、ルーティング部１４３と、５つのパケット解析部１４４と、５つのＩ／Ｆ１４５とを有する。また、ＸＢ１４は、６０Ｇ無線上部１４６ａと、６０Ｇ無線下部１４６ｂと、６０Ｇ無線左部１４６ｃと、６０Ｇ無線右部１４６ｄと、ＷＬＡＮ部１４７と、ＮＩレジスタ１４８とを有する。
【００２７】
ホストＩ／Ｆ１４１は、自ノードのＣＰＵ１１とのインタフェースであり、ＣＰＵ１１から受け取ったパケットをルーティング部１４３に渡し、ルーティング部１４３から受け取ったパケットを自ノードのＣＰＵ１１に渡す。また、ホストＩ／Ｆ１４１は、自ノードのＣＰＵ１１から受け取ったパケットの宛先をルーティングテーブル１４２に渡す。
【００２８】
ルーティングテーブル１４２は、パケットの宛先からルーティング先を示すルーティング情報を検索する検索テーブルである。ルーティング部１４３は、ホストＩ／Ｆ１４１からパケットを受け取り、ルーティングテーブル１４２から受け取ったルーティング情報及びＮＩレジスタ１４８の情報に基づいてパケットをいずれかのＩ／Ｆ１４５に渡す。また、ルーティング部１４３は、いずれかのパケット解析部１４４からパケットを受け取り、ルーティングテーブル１４２から受け取ったルーティング情報及びＮＩレジスタ１４８の情報に基づいてパケットをホストＩ／Ｆ１４１又はいずれかのＩ／Ｆ１４５に渡す。
【００２９】
パケット解析部１４４は、Ｉ／Ｆ１４５からパケットを受け取り、ＮＩレジスタ１４８の情報に基づいてパケットを解析し、宛先を抽出する。そして、パケット解析部１４４は、抽出した宛先をルーティングテーブル１４２に渡すとともに、パケットをルーティング部１４３に渡す。
【００３０】
Ｉ／Ｆ１４５は、６０Ｇ無線モジュール又はＷＬＡＮ部１４７から受け取った信号をパケットに変換し、対応するパケット解析部１４４に渡す。また、Ｉ／Ｆ１４５は、ルーティング部１４３によりルーティングされたパケットを受け取り、それぞれ対応する６０Ｇ無線モジュール又はＷＬＡＮモジュールに送信を指示する。６０Ｇ無線上部１４６ａ、６０Ｇ無線下部１４６ｂ、６０Ｇ無線左部１４６ｃ及び６０Ｇ無線右部１４６ｄは、６０ＧＨＺ帯の周波数を使用して無線通信を行う６０Ｇ無線モジュールである。
【００３１】
６０Ｇ無線上部１４６ａは、図１に示した６０Ｇ無線上用アンテナ１５ａを用いてラック１内で上に隣接するノード１０と無線通信を行う。６０Ｇ無線下部１４６ｂは、図１に示した６０Ｇ無線下用アンテナ１５ｂを用いてラック１内で下に隣接するノード１０と無線通信を行う。６０Ｇ無線左部１４６ｃは、図１に示した６０Ｇ無線左用アンテナ１５ｃを用いてラック１内で左に隣接するノード１０と無線通信を行う。６０Ｇ無線右部１４６ｄは、図１に示した６０Ｇ無線右用アンテナ１５ｄを用いてラック１内で右に隣接するノード１０と無線通信を行う。
【００３２】
ＷＬＡＮ部１４７は、ＳＴＡ４の機能を備え、ＷＬＡＮを用いてＡＰ３経由で他のノード１０のＷＬＡＮ部１４７と通信を行う。ＮＩレジスタ１４８は、ノードＩＤ（Identifier）、ＩＰ（Internet  Protocol）アドレス、ＭＡＣ（Media  Access  Control）アドレスなど自ノードの情報を記憶するレジスタである。
【００３３】
なお、図３Ａに示すＸＢ１４は、６０Ｇ無線モジュール及びＷＬＡＮ部１４７を有するが、６０Ｇ無線モジュール及びＷＬＡＮ部１４７をＸＢの外に設けることもできる。図３Ｂは、６０Ｇ無線モジュール及びＷＬＡＮ部１４７を外に設けた他のＸＢの構成を示す図である。
【００３４】
図３Ｂに示すように、ＸＢ１４ａは、６０Ｇ無線上部１４６ａ、６０Ｇ無線下部１４６ｂ、６０Ｇ無線左部１４６ｃ、６０Ｇ無線右部１４６ｄ及びＷＬＡＮ部１４７を有しない。ＸＢ１４ａは、外に設けられた６０Ｇ無線上部１０ａ、６０Ｇ無線下部１０ｂ、６０Ｇ無線左部１０ｃ、６０Ｇ無線右部１０ｄ及びＷＬＡＮ部１０ｅを用いて無線通信を行う。
【００３５】
次に、ルーティングテーブル１４２の詳細について図４、図５Ａ及び図５Ｂを用いて説明する。図４は、ノード１０の配置を示す図であり、図５Ａ及び図５Ｂは、実施例１に係るルーティングテーブル１４２の一例を示す図である。図４において、１、２、・・・、１８は、ノード１０をそれぞれ識別する番号を表す。すなわち、図４は、ラック１内に左上から右に向かってノード1、ノード2、・・・、ノード9が配置され、次の段にノード10、ノード11、・・・、ノード18が配置されていることを示す。
【００３６】
図５Ａは、図４に示したノード配置の場合に、ノード1に設定されるルーティングテーブル１４２を示し、図５Ｂは、図４に示したノード配置の場合に、ノード2に設定されるルーティングテーブル１４２を示す。
【００３７】
図５Ａに示すように、ノード1のルーティングテーブル１４２では、パケットの宛先にルーティング先が対応付けられる。図５Ａにおいて、ルーティング先「６０Ｇ無線  右」は、ルーティング先が６０Ｇ無線右部１４６ｄであることを示し、ルーティング先「６０Ｇ無線  下」は、ルーティング先が６０Ｇ無線下部１４６ｂであることを示す。同様に、ルーティング先「６０Ｇ無線  左」は、ルーティング先が６０Ｇ無線左部１４６ｃであることを示し、ルーティング先「６０Ｇ無線  上」は、ルーティング先が６０Ｇ無線上部１４６ａであることを示す。また、ルーティング先「ＷＬＡＮ」は、ルーティング先がＷＬＡＮ部１４７であることを示す。
【００３８】
例えば、パケットの宛先がノード1すなわち自ノードである場合には、ルーティング先は、ホストすなわち自ノードのＣＰＵ１１である。また、パケットの宛先がノード2である場合には、ノード2は右に配置されるので、ルーティング先は、６０Ｇ無線右部１４６ｄである。
【００３９】
また、パケットの宛先がノード3である場合には、ノード3は右方向に配置されるので、ルーティング先は、６０Ｇ無線右部１４６ｄである。また、パケットの宛先がノード10である場合には、ノード10は下に配置されるので、ルーティング先は、６０Ｇ無線下部１４６ｂである。また、パケットの宛先がノード18である場合には、経由するノード１０の数を距離として、ノード18との距離は９であり、例えば距離の閾値を４とするとノード18は遠いので、ルーティング先は、ＷＬＡＮ部１４７である。
【００４０】
また、図５Ｂに示すように、ノード2のルーティングテーブル１４２では、パケットの宛先がノード1である場合には、ノード1は左に配置されるので、ルーティング先は、６０Ｇ無線左部１４６ｃである。また、パケットの宛先がノード2である場合にはルーティング先は、ホストすなわち自ノードのＣＰＵ１１である。
【００４１】
また、パケットの宛先がノード3である場合には、ノード3は右に配置されるので、ルーティング先は、６０Ｇ無線右部１４６ｄである。また、パケットの宛先がノード10である場合には、ノード10は左下に配置されるので、ルーティング先は、６０Ｇ無線下部１４６ｂである。この場合、ルーティング先は、６０Ｇ無線左部１４６ｃであってもよい。また、パケットの宛先がノード18である場合には、経由するノード１０の数を距離として、ノード18との距離は８であり、例えば距離の閾値を４とするとノード18は遠いので、ルーティング先は、ＷＬＡＮ部１４７である。
【００４２】
このように、近距離のノード１０には６０Ｇ無線モジュールへルーティングし、遠距離のノード１０にはＷＬＡＮモジュールへルーティングするようにルーティングテーブル１４２が設定される。このため、ノード１０は、近距離のノード１０へは６０Ｇ無線モジュールを使用することで高速にデータを送信し、遠距離のノード１０へはＷＬＡＮモジュールを使用することで１ホップでデータを送信することができる。したがって、ノード１０は、遠距離のノード１０へも効率よくデータを送信することができる。
【００４３】
次に、実施例１に係るノード１０による送信処理のフローについて説明する。図６は、実施例１に係るノード１０による送信処理のフローを示すフローチャートである。図６に示すように、ノード１０は、ルーティングテーブル１４２を用いて宛先に対するテーブル検索を行い（ステップＳ１）、パケットを該当する無線モジュールへルーティングする（ステップＳ２）。
【００４４】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ３）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ４）。
【００４５】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ５）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ６）。また、ルーティング先が、ＷＬＡＮ部１４７である場合には、ＷＬＡＮ部１４７がＷＬＡＮを用いてパケットを送信する（ステップＳ７）。
【００４６】
次に、実施例１に係るノード１０による受信処理のフローについて説明する。図７は、実施例１に係るノード１０による受信処理のフローを示すフローチャートである。図７に示すように、ノード１０は、パケットを受信する（ステップＳ１１）と、パケットの宛先が自ノードであるか否かを判定する（ステップＳ１２）。その結果、パケットの宛先が自ノードである場合には、ホストへパケットを送信し（ステップＳ２０）、ノード１０は、ＡＣＫを送信元に送信する（ステップＳ２１）。
【００４７】
一方、パケットの宛先が自ノードでない場合には、ノード１０は、ルーティングテーブル１４２を用いて宛先に対するテーブル検索を行い（ステップＳ１３）、パケットを該当する無線モジュールへルーティングする（ステップ１４）。
【００４８】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ１５）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ１６）。
【００４９】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ１７）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ１８）。また、ルーティング先が、ＷＬＡＮ部１４７である場合には、ＷＬＡＮ部１４７がＷＬＡＮを用いてパケットを送信する（ステップＳ１９）。
【００５０】
このように、ノード１０は、ルーティングテーブル１４２を用いてパケットのルーティング先を決めるので、ノード１０からの距離に基づくルーティング先をルーティングテーブル１４２に設定することで、６０Ｇ無線とＷＬＡＮを適切に使い分けることができる。
【００５１】
上述してきたように、実施例１では、ルーティングテーブル１４２は、自ノードから宛先のノード１０への距離に基づいてルーティング先が６０Ｇ無線かＷＬＡＮかを記憶する。したがって、ノード１０は、ルーティングテーブル１４２を検索することにより、６０Ｇ無線とＷＬＡＮを適切に使い分けることができ、情報処理システムは、多数のノード１０を無線で高速に接続することができる。
【００５２】
また、実施例１では、ノード１０は、上下左右の方向に設置された４つの６０Ｇ無線アンテナをそれぞれ用いて上下左右に隣接するノード１０と６０Ｇ無線通信を行う。したがって、ノード１０は、筐体が電波の障害となることを防ぎ、信頼性の高い無線通信を隣接するノード１０と行うことができる。
【実施例２】
【００５３】
ところで、上記実施例１では、自ノードから宛先のノード１０への距離に基づいてルーティング先が６０Ｇ無線かＷＬＡＮかが設定されるルーティングテーブル１４２について説明した。しかしながら、自ノードから宛先のノード１０への距離が設定されたルーティングテーブル１４２を用いてノード１０がルーティング先をＷＬＡＮか６０Ｇ無線かに決定することもできる。そこで、実施例２では、自ノードから宛先のノード１０への距離が設定されたルーティングテーブル１４２を用いてノード１０がルーティング先をＷＬＡＮか６０Ｇ無線かに決定する場合について説明する。
【００５４】
図８Ａ及び図８Ｂは、実施例２に係るルーティングテーブル１４２の一例を示す図である。図８Ａは、図４に示したノード配置の場合に、ノード1に設定されるルーティングテーブル１４２の一例を示し、図８Ｂは、図４に示したノード配置の場合に、ノード2に設定されるルーティングテーブル１４２の一例を示す。
【００５５】
図８Ａに示すように、ノード1のルーティングテーブル１４２では、パケットの宛先にルーティング先と距離Ｄが対応付けられる。ここで、距離Ｄは、宛先までのノード１０のホップ数である。例えば、パケットの宛先がノード1すなわち自ノードである場合には、ルーティング先は、ホストであり、距離Ｄはない。また、パケットの宛先がノード2である場合には、ノード2は右に配置されるので、ルーティング先は、６０Ｇ無線右部１４６ｄであり、距離Ｄは１である。
【００５６】
また、パケットの宛先がノード3である場合には、ノード3はノード2の右に配置されるので、ルーティング先は、６０Ｇ無線右部１４６ｄであり、距離Ｄは２である。また、パケットの宛先がノード9である場合には、ノード9は右端に配置されるので、ルーティング先は、６０Ｇ無線右部１４６ｄであり、距離は８である。また、パケットの宛先がノード10である場合には、ノード10は下に配置されるので、ルーティング先は、６０Ｇ無線下部１４６ｂであり、距離は１である。
【００５７】
また、図８Ｂに示すように、ノード2のルーティングテーブル１４２では、パケットの宛先がノード1である場合には、ノード1は左に配置されるので、ルーティング先は、６０Ｇ無線左部１４６ｃであり、距離Ｄは１である。また、パケットの宛先がノード2である場合にはルーティング先は、ホストすなわち自ノードのＣＰＵ１１であり、距離Ｄはない。
【００５８】
また、パケットの宛先がノード3である場合には、ノード3は右に配置されるので、ルーティング先は、６０Ｇ無線右部１４６ｄであり、距離Ｄは１である。また、パケットの宛先がノード9である場合には、ノード9は右端に配置されるので、ルーティング先は、６０Ｇ無線右部１４６ｄであり、距離Ｄは７である。また、パケットの宛先がノード10である場合には、ノード10は左下に配置されるので、ルーティング先は、６０Ｇ無線下部１４６ｂであり、距離Ｄは２である。この場合、ルーティング先は、６０Ｇ無線左部１４６ｃであってもよい。
【００５９】
このように、宛先のノード１０までの距離Ｄがルーティングテーブル１４２に設定される。このため、ノード１０は、距離Ｄを閾値Ｄthと比較し、Ｄ＞Ｄthの場合には、ＷＬＡＮモジュールを使用し、Ｄ≦Ｄthの場合には６０Ｇ無線モジュールを使用する。したがって、ノード１０は、遠距離のノード１０へも効率よくデータを送信することができる。なお、閾値Ｄthは、ＮＩレジスタ１４８に記憶される。
【００６０】
次に、実施例２に係るノード１０による送信処理のフローについて説明する。図９は、実施例２に係るノード１０による送信処理のフローを示すフローチャートである。図９に示すように、ノード１０は、ルーティングテーブル１４２を用いて宛先に対するテーブル検索を行い（ステップＳ３１）、ルーティング先及び距離Ｄを取得する。そして、ノード１０は、ＤがＤthより大きいか否かを判定し（ステップＳ３２）、ＤがＤthより大きくない場合には、パケットを該当する無線モジュールへルーティングする（ステップＳ３３）。
【００６１】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ３４）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ３５）。
【００６２】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ３６）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ３７）。
【００６３】
一方、ＤがＤthより大きい場合には、ノード１０は、ＷＬＡＮモジュールへルーティングし（ステップＳ３８）、ＷＬＡＮ部１４７がＷＬＡＮを用いてパケットを送信する（ステップＳ３９）。
【００６４】
次に、実施例２に係るノード１０による受信処理のフローについて説明する。図１０は、実施例２に係るノード１０による受信処理のフローを示すフローチャートである。図１０に示すように、ノード１０は、パケットを受信する（ステップＳ４１）と、パケットの宛先が自ノードであるか否かを判定する（ステップＳ４２）。その結果、パケットの宛先が自ノードである場合には、ホストへパケットを送信し（ステップＳ５２）、ノード１０は、ＡＣＫを送信元に送信する（ステップＳ５３）。
【００６５】
一方、パケットの宛先が自ノードでない場合には、ノード１０は、ルーティングテーブル１４２を用いて宛先に対するテーブル検索を行い（ステップＳ４３）、ルーティング先及び距離Ｄを取得する。そして、ノード１０は、ＤがＤthより大きいか否かを判定し（ステップＳ４４）、ＤがＤthより大きくない場合には、パケットを該当する無線モジュールへルーティングする（ステップＳ４５）。
【００６６】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ４６）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ４７）。
【００６７】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ４８）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ４９）。
【００６８】
一方、ＤがＤthより大きい場合には、ノード１０は、ＷＬＡＮモジュールへルーティングし（ステップＳ５０）、ＷＬＡＮ部１４７がＷＬＡＮを用いてパケットを送信する（ステップＳ５１）。
【００６９】
このように、ノード１０は、ルーティングテーブル１４２から取得した距離Ｄと閾値Ｄthとを比較してパケットのルーティング先を決める。したがって、ノード１０からの距離Ｄをルーティングテーブル１４２に設定することで、ノード１０は、６０Ｇ無線とＷＬＡＮを適切に使い分けることができる。
【００７０】
上述してきたように、実施例２では、ルーティングテーブル１４２には、自ノードから宛先のノード１０への距離Ｄが設定される。したがって、ノード１０は、ルーティングテーブル１４２から距離Ｄを検索し、距離Ｄと閾値Ｄthを比較することにより、６０Ｇ無線とＷＬＡＮを適切に使い分けることができ、情報処理システムは、多数のノード１０を無線で高速に接続することができる。
【実施例３】
【００７１】
ところで、上記実施例１及び２では、各ノード１０がＷＬＡＮのＳＴＡ機能を有する場合について説明したが、ＳＴＡ機能を有するノード１０を限定することもできる。そこで、ＳＴＡ機能を有するノード１０を限定する場合について説明する。
【００７２】
まず、ノード１０のグループ化について説明する。図１１は、ノード１０のグループ化の一例を示す図である。図１１に示すように、ノード１０は近接する１２個ごとにグループ化される。例えば、グループ1には、ノード1〜ノード3、ノード10〜ノード12、ノード19〜ノード21及びノード28〜ノード30が含まれ、グループ2には、ノード4〜ノード6、ノード13〜ノード15、ノード22〜ノード24及びノード31〜ノード33が含まれる。また、グループ3には、ノード7〜ノード9、ノード16〜ノード18、ノード25〜ノード27及びノード34〜ノード36が含まれる。
【００７３】
そして、各グループには、１つのノード１０だけがＷＬＡＮのＳＴＡ機能を備える。例えば、グループ1では、ノード11だけがＳＴＡ機能を備える。そして、各ノード１０は、グループ内の他のノード１０と通信する場合には、６０Ｇ無線を用い、グループ外のノード１０と通信する場合にはＷＬＡＮを用いて通信する。
【００７４】
例えば、ノード1は、グループ内のノード3にパケットを送る場合には６０Ｇ無線を用いる。一方、ノード1は、グループ外のノード15にパケットを送る場合には、ＳＴＡ機能を有するノード11を介して、ＷＬＡＮでノード15にパケットを送る。また、ノード1は、ノード11へは６０Ｇ無線を用いてパケットを送る。
【００７５】
このように、ノード１０をグループ化し、ＷＬＡＮのＳＴＡ機能を有するノード１０をグループ内に１つだけに限定することによって、情報処理システムは、ＡＰ３に接続するノードを削減し、ＡＰ３の輻輳を防止することができる。
【００７６】
図１２Ａ〜図１２Ｄは、実施例３に係るルーティングテーブル１４２の一例を示す図である。図１１に示したグループ化で、図１２Ａは、ノード1のルーティングテーブル１４２を示し、図１２Ｂは、ノード2のルーティングテーブル１４２を示す。また、図１１に示したグループ化で、図１２Ｃは、ノード10のルーティングテーブル１４２を示し、図１２Ｄは、ノード11のルーティングテーブル１４２を示す。
【００７７】
図１２Ａ〜図１２Ｄに示すように、ルーティングテーブル１４２は、宛先とルーティング先とグループＩＤとＷＳＴＡを対応付けて記憶する。グループＩＤは、宛先のノード１０が属するグループを識別する識別子である。ＷＳＴＡは、宛先のノード１０がＷＬＡＮのＳＴＡ機能を有するか否かを示し、「０」はＳＴＡ機能を有さないことを示し、「１」はＳＴＡ機能を有することを示す。
【００７８】
例えば、図１２Ａに示すように、ノード1のルーティングテーブル１４２では、パケットの宛先がノード1すなわち自ノードである場合には、ルーティング先はホストであり、グループＩＤは１であり、ＷＳＴＡは０である。また、パケットの宛先がノード2である場合には、ノード2は右に配置されるので、ルーティング先は６０Ｇ無線右部１４６ｄであり、グループＩＤは１であり、ＷＳＴＡは０である。
【００７９】
また、パケットの宛先がノード11である場合には、ノード11はノード1の右下に配置されるので、ルーティング先は６０Ｇ無線下部１４６ｂであり、グループＩＤは１であり、ノード11はＳＴＡ機能を有するのでＷＳＴＡは１である。また、パケットの宛先がノード14である場合には、ノード14は別のグループであり、グループ内でＳＴＡ機能を有するノード11は右下に配置されるので、ルーティング先は、６０Ｇ無線下部１４６ｂであり、グループＩＤは２であり、ノード14はＳＴＡ機能を有するのでＷＳＴＡは１である。
【００８０】
また、図１２Ｂに示すように、ノード2のルーティングテーブル１４２では、例えば、パケットの宛先がノード1である場合には、ノード1は左に配置されるので、ルーティング先は、６０Ｇ無線左部１４６ｃであり、グループＩＤは１であり、ＷＳＴＡは０である。また、パケットの宛先がノード2である場合にはルーティング先は、ホストすなわち自ノードのＣＰＵ１１であり、グループＩＤは１であり、ＷＳＴＡは０である。
【００８１】
また、図１２Ｃに示すように、ノード10のルーティングテーブル１４２では、例えば、パケットの宛先がノード1である場合には、ノード1は上に配置されるので、ルーティング先は、６０Ｇ無線上部１４６ａであり、グループＩＤは１であり、ＷＳＴＡは０である。また、パケットの宛先がノード10である場合にはルーティング先は、ホストすなわち自ノードのＣＰＵ１１であり、グループＩＤは１であり、ＷＳＴＡは０である。
【００８２】
また、図１２Ｄに示すように、ノード11のルーティングテーブル１４２では、例えば、パケットの宛先がノード1である場合には、ノード1は左上に配置されるので、ルーティング先は、６０Ｇ無線上部１４６ａであり、グループＩＤは１であり、ＷＳＴＡは０である。また、パケットの宛先がノード11である場合にはルーティング先は、ホストすなわち自ノードのＣＰＵ１１であり、グループＩＤは１であり、ノード11はＳＴＡ機能を有するのでＷＳＴＡは１である。
【００８３】
次に、実施例３に係るノード１０による送信処理のフローについて説明する。図１３は、実施例３に係るノード１０による送信処理のフローを示すフローチャートである。図１３に示すように、ノード１０は、ルーティングテーブル１４２を用いて宛先に対するテーブル検索を行い（ステップＳ６１）、ルーティング先及びグループＩＤを取得する。そして、ノード１０は、ＧＩＤが自ＧＩＤと等しいか否か、すなわちグループＩＤが自ノードのグループＩＤと等しいか否かを判定し（ステップＳ６２）、ＧＩＤが自ＧＩＤと等しい場合には、パケットを該当する無線モジュールへルーティングする（ステップＳ６３）。
【００８４】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ６４）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ６５）。
【００８５】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ６６）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ６７）。
【００８６】
一方、ＧＩＤが自ＧＩＤと等しくない場合（ステップＳ６２、Ｎｏ）には、別のグループへの送信なので、ノード１０は、自ノードのＷＳＴＡが１であるか否かを判定する（ステップＳ６８）。その結果、自ノードのＷＳＴＡが１でない場合には、ノード１０は、グループ内のＷＳＴＡが１のノード１０に送信する場合の無線モジュールへパケットをルーティングし（ステップＳ６９）、ステップＳ６４〜ステップＳ６７のいずれかに進む。
【００８７】
一方、自ノードのＷＳＴＡが１である場合には、ノード１０は、ＷＬＡＮモジュールへルーティングし（ステップＳ７０）、ＷＬＡＮ部１４７がＷＬＡＮを用いてパケットを送信する（ステップＳ７１）。
【００８８】
次に、実施例３に係るノード１０による受信処理のフローについて説明する。図１４は、実施例３に係るノード１０による受信処理のフローを示すフローチャートである。図１４に示すように、ノード１０は、パケットを受信する（ステップＳ８１）と、パケットの宛先が自ノードであるか否かを判定する（ステップＳ８２）。その結果、パケットの宛先が自ノードである場合には、ホストへパケットを送信し（ステップＳ９４）、ノード１０は、ＡＣＫを送信元に送信する（ステップＳ９５）。
【００８９】
一方、パケットの宛先が自ノードでない場合には、ノード１０は、ルーティングテーブル１４２を用いて宛先に対するテーブル検索を行い（ステップＳ８３）、ルーティング先及びグループＩＤを取得する。そして、ノード１０は、ＧＩＤが自ＧＩＤと等しいか否かを判定し（ステップＳ８４）、ＧＩＤが自ＧＩＤと等しい場合には、パケットを該当する無線モジュールへルーティングする（ステップＳ８５）。
【００９０】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ８６）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ８７）。
【００９１】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ８８）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ８９）。
【００９２】
一方、ＧＩＤが自ＧＩＤと等しくない場合（ステップＳ８４、Ｎｏ）には、別のグループへの送信なので、ノード１０は、自ノードのＷＳＴＡが１であるか否かを判定する（ステップＳ９０）。その結果、自ノードのＷＳＴＡが１でない場合には、ノード１０は、グループ内のＷＳＴＡが１のノード１０に送信する場合の無線モジュールへパケットをルーティングし（ステップＳ９１）、ステップＳ８６〜ステップＳ８９のいずれかに進む。
【００９３】
一方、自ノードのＷＳＴＡが１である場合には、ノード１０は、ＷＬＡＮモジュールへルーティングし（ステップＳ９２）、ＷＬＡＮ部１４７がＷＬＡＮを用いてパケットを送信する（ステップＳ９３）。
【００９４】
このように、グループ外にパケットを送信する場合に、ノード１０は、グループ内でＳＴＡ機能を有するノード１０にパケットを送信し、ＳＴＡ機能を有するノード１０がＷＬＡＮを用いてパケットを送信する。したがって、情報処理システムは、ＡＰ３の輻輳を減らすことができる。
【００９５】
上述してきたように、実施例３では、近接するノード１０がグループ化され、ノード１０は、同一グループ内では６０Ｇ無線でパケットを送信し、別のグループへはＷＬＡＮでパケットを送信する。したがって、ノード１０は、グループＩＤを用いて６０Ｇ無線とＷＬＡＮを適切に使い分けることができ、情報処理システムは、多数のノード１０を無線で高速に接続することができる。なお、ここでは、近接する１２個のノード１０をグループ化したが、情報処理システムは、任意の個数のノード１０をグループ化することができる。
【実施例４】
【００９６】
ところで、上記実施例１〜３では、２つのノード間では、６０Ｇ無線を用いるかＷＬＡＮを用いるかは固定されていた。しかしながら、通信の状態によっては、２つのノード間で使用する無線モジュールを変更したほうが、効率よく通信が行える場合がある。そこで、実施例４では、通信の状態により、２つのノード間で使用する無線モジュールを変更する場合について説明する。
【００９７】
まず、実施例４に係るＸＢの構成について説明する。図１５Ａは、実施例４に係るＸＢの構成を示す図である。なお、ここでは説明の便宜上、図３Ａに示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００９８】
図１５Ａに示すように、ＸＢ１４ｂは、ホストＩ／Ｆ１４１と、２つのルーティングテーブル１４２ｂと、ルーティング部１４３ｂと、５つのパケット解析部１４４ｂと、５つのＩ／Ｆ１４５とを有する。また、ＸＢ１４ｂは、６０Ｇ無線上部１４６ａと、６０Ｇ無線下部１４６ｂと、６０Ｇ無線左部１４６ｃと、６０Ｇ無線右部１４６ｄと、ＷＬＡＮ部１４７と、ＮＩレジスタ１４８と、タイマ１４９と、切替部１５０とを有する。
【００９９】
ルーティングテーブル１４２ｂは、パケットの宛先からルーティング先を示すルーティング情報を検索する検索テーブルであるが、ルーティングテーブル１４２と異なり、２つのルーティング先を有する。
【０１００】
ルーティング部１４３ｂは、ホストＩ／Ｆ１４１又はパケット解析部１４４ｂからパケットを受け取り、ルーティングテーブル１４２ｂから受け取ったルーティング情報及びＮＩレジスタ１４８の情報に基づいてパケットをホストＩ／Ｆ１４１又はＩ／Ｆ１４５に渡す。また、ルーティング部１４３ｂは、ルーティング部１４３と異なり、パケットの転送時間を測定するために、ルーティングする際にタイマ１４９をスタートさせる。
【０１０１】
パケット解析部１４４ｂは、Ｉ／Ｆ１４５からパケットを受け取り、ＮＩレジスタ１４８の情報に基づいてパケットを解析し、宛先を抽出する。そして、パケット解析部１４４ｂは、抽出した宛先をルーティングテーブル１４２ｂに渡すとともに、パケットをルーティング部１４３ｂに渡す。また、パケット解析部１４４ｂは、パケットがＡＣＫである場合には、タイマ１４９をストップする。
【０１０２】
タイマ１４９は、パケットの転送時間を測定するための装置であり、パケットを送信するときにルーティング部１４３ｂによりスタートされ、ＡＣＫを受信したときにパケット解析部１４４ｂによりストップされる。
【０１０３】
切替部１５０は、タイマ１４９を参照してタイマ値を閾値Ｔthと比較し、タイマ値が閾値Ｔthを超えている場合には、ルーティング先を他の無線モジュールに切り替える。このように、切替部１５０がパケットの転送時間に基づいてルーティング先を他の無線モジュールに切り替えることによって、ノード１０ｂは通信状態に応じて無線モジュールを使い分けることができる。ここで、「ノード１０ｂ」とは、実施例４に係るノードを示す。
【０１０４】
なお、図１５Ａに示すＸＢ１４ｂは、６０Ｇ無線モジュール及びＷＬＡＮ部１４７を有するが、６０Ｇ無線モジュール及びＷＬＡＮ部１４７をＸＢの外に設けることもできる。図１５Ｂは、６０Ｇ無線モジュール及びＷＬＡＮ部１４７を外に設けた他のＸＢの構成を示す図である。
【０１０５】
図１５Ｂに示すように、ＸＢ１４ｃは、６０Ｇ無線上部１４６ａ、６０Ｇ無線下部１４６ｂ、６０Ｇ無線左部１４６ｃ、６０Ｇ無線右部１４６ｄ及びＷＬＡＮ部１４７を有しない。ＸＢ１４ｃは、外に設けられた６０Ｇ無線上部１０ａ、６０Ｇ無線下部１０ｂ、６０Ｇ無線左部１０ｃ、６０Ｇ無線右部１０ｄ及びＷＬＡＮ部１０ｅを用いて無線通信を行う。
【０１０６】
図１６Ａ及び図１６Ｂは、実施例４に係るルーティングテーブル１４２ｂの一例を示す図である。図１６Ａは、図４に示したノード配置の場合に、ノード1のルーティングテーブル１４２ｂを示し、図１６Ｂは、図４に示したノード配置の場合に、ノード2のルーティングテーブル１４２ｂを示す。
【０１０７】
図１６Ａ及び図１６Ｂに示すように、ルーティングテーブル１４２ｂは、宛先と２つのルーティング先と使用するルーティング先とを対応付けて記憶する。使用するルーティング先は、ルーティング先1及びルーティング先2のうちのいずれのルーティング先を使用するかを示し、値は１又は２である。
【０１０８】
例えば、図１６Ａに示すように、宛先ノード2に対応するルーティング先1は、ノード2はノード1の右に配置されているので、６０Ｇ無線右部１４６ｄであり、宛先ノード2に対応するルーティング先2は、ＷＬＡＮ部１４７である。また、使用するルーティング先は、ルーティング先1である。また、宛先ノード3に対応するルーティング先1は、ノード3はノード1の右方向に配置されているので、６０Ｇ無線右部１４６ｄであり、宛先ノード3に対応するルーティング先2は、ＷＬＡＮ部１４７である。また、使用するルーティング先は、ルーティング先2である。
【０１０９】
また、図１６Ｂに示すように、宛先ノード2に対応するルーティング先1及びルーティング先2は、ホストであり、使用するルーティング先は、ルーティング先1である。また、宛先ノード3に対応するルーティング先1は、ノード3はノード2の右に配置されているので、６０Ｇ無線右部１４６ｄであり、宛先ノード3に対応するルーティング先2は、ＷＬＡＮ部１４７である。また、使用するルーティング先は、ルーティング先1である。
【０１１０】
このように、ルーティングテーブル１４２ｂに２つのルーティング先を設けることにより、ノード１０ｂは、２つのルーティング先を使い分けて、効率よくパケットを送信することができる。
【０１１１】
次に、実施例４に係るノード１０ｂによる送信処理のフローについて説明する。図１７は、実施例４に係るノード１０ｂによる送信処理のフローを示すフローチャートである。図１７に示すように、ノード１０ｂは、ルーティングテーブル１４２ｂを用いて宛先に対するテーブル検索を行い（ステップＳ１０１）、パケットを該当する無線モジュールへルーティングする（ステップＳ１０２）。このとき、ノード１０ｂは、タイマ１４９をスタートさせる（ステップＳ１０３）。
【０１１２】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ１０４）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ１０５）。
【０１１３】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ１０６）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ１０７）。また、ルーティング先が、ＷＬＡＮ部１４７である場合には、ＷＬＡＮ部１４７がＷＬＡＮを用いてパケットを送信する（ステップＳ１０８）。
【０１１４】
そして、ノード１０ｂは、パケットの送信先のノード１０ｂからＡＣＫを受信する（ステップＳ１０９）と、タイマ１４９をストップする（ステップＳ１１０）。そして、ノード１０ｂは、タイマ値が閾値Ｔthより大きいか否かを判定し（ステップＳ１１１）、タイマ値が閾値Ｔthより大きい場合には、ルーティングテーブル１４２ｂのルーティング先を切り替える（ステップＳ１１２）。
【０１１５】
なお、ノード１０ｂによる受信処理のフローは、図７に示したノード１０による受信処理のフローと同じである。
【０１１６】
上述してきたように、実施例４では、ルーティングテーブル１４２ｂに２つのルーティング先を記憶させ、ノード１０ｂは、パケットの転送時間が所定の閾値Ｔthより大きい場合にルーティング先を切り替える。したがって、ノード１０ｂは、混んでいる無線モジュールを避けてパケットを送信することができ、パケットの送信速度を高速化することができる。
【実施例５】
【０１１７】
なお、上記実施例２では、６０Ｇ無線モジュールを使うかＷＬＡＮ無線モジュールを使うかの閾値Ｄthが固定値である場合について説明した。しかしながら、閾値Ｄthを通信状況に応じて変化させることもできる。そこで、実施例５では、閾値Ｄthを通信状況に応じて変化させる場合について説明する。なお、ラック１の構成、ノード１０の構成、ルーティングテーブル１４２の構成及び受信処理のフローは、実施例２と同一であり、ＸＢの構成は、実施例４と同一であるので、ノード１０ｂによる送信処理のフローについて説明する。ただし、ＮＩレジスタ１４８は、タイマ値の閾値として２つの閾値Ｔth1とＴth2を記憶する。
【０１１８】
図１８は、実施例５に係るノード１０ｂによる送信処理のフローを示すフローチャートである。図１８に示すように、ノード１０ｂは、ルーティングテーブル１４２を用いて宛先に対するテーブル検索を行い（ステップＳ１２１）、ルーティング先及び距離Ｄを取得する。そして、ノード１０ｂは、ＤがＤthより大きいか否かを判定し（ステップＳ１２２）、ＤがＤthより大きくない場合には、ＤがＤthと等しいか否かを判定する（ステップＳ１２３）。その結果、ＤがＤthと等しい場合には、ノード１０ｂは、パケットを該当する無線モジュールへルーティングし（ステップＳ１２４）、タイマ１４９をスタートさせる（ステップＳ１２５）。
【０１１９】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ１２６）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ１２７）。
【０１２０】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ１２８）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ１２９）。
【０１２１】
そして、ノード１０ｂは、パケットの送信先のノード１０ｂからＡＣＫを受信する（ステップＳ１３０）と、タイマ１４９をストップする（ステップＳ１３１）。そして、ノード１０ｂは、タイマ値が閾値Ｔth1より大きいか否かを判定し（ステップＳ１３２）、タイマ値が閾値Ｔth1より大きい場合には、６０Ｇ無線による通信が混んでいるので、閾値Ｄthを１減らす（ステップＳ１３３）。一方、タイマ値が閾値Ｔth1より大きくない場合には、ノード１０ｂは、タイマ値が閾値Ｔth2より小さいか否かを判定し（ステップＳ１３４）、タイマ値が閾値Ｔth2より小さい場合には、６０Ｇ無線による通信が空いているので、閾値Ｄthを１増やす（ステップＳ１３５）。
【０１２２】
一方、ＤがＤthと等しくない場合（ステップＳ１２３、Ｎｏ）には、ノード１０ｂは、パケットを該当する無線モジュールへルーティングする（ステップＳ１３６）。
【０１２３】
そして、ルーティング先が、６０Ｇ無線上部１４６ａである場合には、６０Ｇ無線上部１４６ａが６０Ｇ無線を用いてパケットを送信する（ステップＳ１３７）。また、ルーティング先が、６０Ｇ無線下部１４６ｂである場合には、６０Ｇ無線下部１４６ｂが６０Ｇ無線を用いてパケットを送信する（ステップＳ１３８）。
【０１２４】
また、ルーティング先が、６０Ｇ無線左部１４６ｃである場合には、６０Ｇ無線左部１４６ｃが６０Ｇ無線を用いてパケットを送信する（ステップＳ１３９）。また、ルーティング先が、６０Ｇ無線右部１４６ｄである場合には、６０Ｇ無線右部１４６ｄが６０Ｇ無線を用いてパケットを送信する（ステップＳ１４０）。そして、ノード１０ｂは、送信処理を終了する。
【０１２５】
一方、ＤがＤthより大きい場合には、ノード１０ｂは、ＷＬＡＮモジュールへルーティングし（ステップＳ１４１）、ＷＬＡＮ部１４７がＷＬＡＮを用いてパケットを送信する（ステップＳ１４２）。
【０１２６】
上述してきたように、実施例５では、ノード１０ｂは、パケットの転送時間に基づいて閾値Ｄthを変化させるので、通信状況の変化に応じて適切に６０Ｇ無線とＷＬＡＮとを使い分けることができる。
【実施例６】
【０１２７】
上記実施例１〜５では、４つの６０Ｇ無線モジュールを用いる場合について説明したが、１つの６０Ｇ無線モジュールだけを用いて上下左右のノードと通信することもできる。そこで、１つの６０Ｇ無線モジュールだけを用いて上下左右のノードと通信する場合について説明する。
【０１２８】
図１９は、実施例６に係る情報処理システムの構成を示す図である。なお、ここでは説明の便宜上、図１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。図１９に示すように、情報処理システムは、ラック５にＮＷスイッチ２とＡＰ３と９９台のノード２０が搭載された高集積サーバである。ノード２０は、ノード１０と異なり、筐体の外に６０Ｇ無線モジュール６を備える。
【０１２９】
６０Ｇ無線モジュール６は、ビームフォーミングを使用することによって、上下左右のうちのいずれかのノード２０のみに電波を送信する。ここで、ビームフォーミングとは、電波を細く絞ってとばすことにより、特定の方向だけに電波をとばすことである。
【０１３０】
このように、筐体の外に６０Ｇ無線モジュール６を備え、ビームフォーミングを用いることによって、実施例６に係る情報処理システムは、６０Ｇ無線モジュールの数を減らすことができる。
【０１３１】
なお、実施例１〜６では、ＸＢをハードウェアで実現する場合について説明したが、ＸＢが有するルーティング機能をソフトウェアによって実現することで、同様の機能を有する通信プログラムを得ることができる。そこで、通信プログラムを実行するＸＢのハードウェア構成について説明する。
【０１３２】
図２０は、通信プログラムを実行するＸＢのハードウェア構成を示す図である。図２０に示すように、ＸＢ１４ｄは、ホストＩ／Ｆ１４１と、５つのＩ／Ｆ１４５と、ＭＰＵ（Micro  Processing  Unit）１５１と、フラッシュメモリ１５２と、ＲＡＭ（Random  Access  Memory）１５３とを有する。
【０１３３】
ホストＩ／Ｆ１４１は、自ノードのＣＰＵ１１とのインタフェースであり、ＣＰＵ１１から受け取ったパケットをＭＰＵ１５１に渡し、ＭＰＵ１５１から受け取ったパケットを自ノードのＣＰＵ１１に渡す。Ｉ／Ｆ１４５は、６０Ｇ無線モジュール又はＷＬＡＮモジュールから受け取った信号をパケットに変換し、ＭＰＵ１５１に渡す。また、Ｉ／Ｆ１４５は、ＭＰＵ１５１から受け取ったパケットを信号に変換して接続する６０Ｇ無線モジュール又はＷＬＡＮモジュールに渡す。
【０１３４】
ＭＰＵ１５１は、フラッシュメモリ１５２から通信プログラムを読み出して実行する処理装置である。フラッシュメモリ１５２は、通信プログラムを記憶する不揮発性メモリである。また、フラッシュメモリ１５２は、ルーティングテーブル１４２の情報及びＮＩレジスタ１４８の情報を記憶する。ＲＡＭ１５３は、プログラムの実行途中結果やテーブルなどを記憶するメモリである。ルーティングテーブル１４２の情報及びＮＩレジスタ１４８の情報は、通信プログラムの実行時にフラッシュメモリ１５２から読み出されてＲＡＭ１５３に書き込まれる。
【０１３５】
また、実施例１〜６では、６０ＧＨｚ帯の周波数を使用する６０Ｇ無線及びＷＬＡＮを用いる場合について説明した。しかしながら、本発明は６０Ｇ無線及びＷＬＡＮに限定されるものではなく、通信速度や電波の届く範囲が異なる２種類の無線モジュールあるいは有線通信を適宜組み合わせて用いる場合にも同様に適用することができる。
【符号の説明】
【０１３６】
１，５    ラック
２    ＮＷスイッチ
３    ＡＰ
４    ＳＴＡ
６    ６０Ｇ無線モジュール
１０，２０，９１，９３    ノード
１０ａ，１４６ａ    ６０Ｇ無線上部
１０ｂ，１４６ｂ    ６０Ｇ無線下部
１０ｃ，１４６ｃ    ６０Ｇ無線左部
１０ｄ，１４６ｄ    ６０Ｇ無線右部
１０ｅ，１４７    ＷＬＡＮ部
１１    ＣＰＵ
１２    メモリ
１３    ストレージ
１４，１４ａ，１４ｂ，１４ｃ，１４ｄ    ＸＢ
１５ａ    ６０Ｇ無線上用アンテナ
１５ｂ    ６０Ｇ無線下用アンテナ
１５ｃ    ６０Ｇ無線左用アンテナ
１５ｄ    ６０Ｇ無線右用アンテナ
９２，９４    スイッチングノード
９５    バックプレーン
９６    配線パターン
１４１    ホストＩ／Ｆ
１４２，１４２ｂ    ルーティングテーブル
１４３，１４３ｂ    ルーティング部
１４４，１４４ｂ    パケット解析部
１４５    Ｉ／Ｆ
１４８    ＮＩレジスタ
１４９    タイマ
１５０    切替部
１５１    ＭＰＵ
１５２    フラッシュメモリ
１５３    ＲＡＭ
【図１】
2015056146.tif 000003
【図２】
2015056146.tif 000004
【図３Ａ】
2015056146.tif 000005
【図３Ｂ】
2015056146.tif 000006
【図４】
2015056146.tif 000007
【図５Ａ】
2015056146.tif 000008
【図５Ｂ】
2015056146.tif 000009
【図６】
2015056146.tif 000010
【図７】
2015056146.tif 000011
【図８Ａ】
2015056146.tif 000012
【図８Ｂ】
2015056146.tif 000013
【図９】
2015056146.tif 000014
【図１０】
2015056146.tif 000015
【図１１】
2015056146.tif 000016
【図１２Ａ】
2015056146.tif 000017
【図１２Ｂ】
2015056146.tif 000018
【図１２Ｃ】
2015056146.tif 000019
【図１２Ｄ】
2015056146.tif 000020
【図１３】
2015056146.tif 000021
【図１４】
2015056146.tif 000022
【図１５Ａ】
2015056146.tif 000023
【図１５Ｂ】
2015056146.tif 000024
【図１６Ａ】
2015056146.tif 000025
【図１６Ｂ】
2015056146.tif 000026
【図１７】
2015056146.tif 000027
【図１８】
2015056146.tif 000028
【図１９】
2015056146.tif 000029
【図２０】
2015056146.tif 000030
【図２１】
2015056146.tif 000031
【図２２Ａ】
2015056146.tif 000032
【図２２Ｂ】
2015056146.tif 000033