以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明によるサーバ位置情報生成装置の一実施形態を説明するための説明図である。図1(a)は、直方体状の2台のサーバラック1の位置関係を示した外観模式図である。図1(b)は、サーバラック1の内部構成例を示したブロック図である。本発明のサーバ位置情報生成装置の一実施形態としてのコントローラ11は、サーバラック1の1構成要素として、サーバラック1に上部にサーバラック1に一体として構成されている。
なお、サーバラック1は、複数のラックマウント型サーバ等を積み重ねて収納する棚を備えている。また、サーバラック1は、例えば複数のサーバの稼働状態を監視したり、監視結果を外部のサーバに対して通報したりするためのコンピュータ等を備えている場合がある。その場合、本実施形態のコントローラ11は、サーバラック1が備える収納棚の一つに着脱可能に収納してもよいし、サーバの稼働状態を監視するコンピュータを用いてそれと一体として構成するようにしてもよい。
図1(b)に示したように、コントローラ11は、各部を制御する制御部10と、通信ポート12、13、14、及び15と、認識開始ボタン16と、記憶部17と、出力部18とを備えている。制御部10は、CPU(central processing unit)を有し、記憶部15等に記憶されている所定のプログラムを実行することで動作する。制御部10は、通信ポート12、13、14、及び15を介して入出力される信号に基づいて、複数のサーバラック1の設置位置を認識するための処理を行う。より具体的には、制御部10は、通信ポート12、13、14、及び15を介して所定の信号を入出力することによって他サーバラック1の識別情報を含む第1情報を取得し、取得した所定の情報に基づいて自サーバラック1と通信ポート12、13、14、及び15に接続されている1又は複数の他サーバラック1との間の自装置を基準とした位置関係を表す所定の情報を生成する処理を行う。
また、図1(a)に示したように、本実施形態のサーバラック1は、通信ケーブルや無線通信回線からなる通信媒体2を介して他のサーバラック1と接続することができる。図1(a)に示した例では、左側のサーバラック1の通信ポート13と、右側のサーバラック1の通信ポート15とが、通信媒体2を介して接続されている。
サーバラック1には事前にユニークID(Identification;識別情報)が割り当てられ、コントローラ11の記憶部17に書き込まれている。
通信ポート12、13、14、及び15は、隣接するサーバラック1の通信ポート12、13、14、又は15と接続することで、互いに所定の通信を行う。なお、図1ではコントローラ11がサーバラック1上部に、コントローラ11が有する通信ポート12、13、14及び15がサーバラック1上部に4方向に向けて設置されている。
ここで、複数のサーバラック1は、例えば格子状(あるいは碁盤目状)や多角形状、同心円状等の所定の配列関係に従って配置される。格子状(あるいは碁盤目状)の配列とは、直方体状の各サーバラック1の各垂直面のいずれかが互いに対向するように、複数のサーバラック1が縦又は横に整列して各サーバラック1が配列された状態を意味する。ただし、縦又は横の各列の間隔は一定の場合も一定でない場合も含むこととする。また、各サーバラック1は、上から見て平行状態に設置される場合に限らず、例えば各頂点が最接近するように設置されてもよい。多角形状あるいは同心円状の配列とは、上から見て中心から周辺に向かって大きさが増大する多角形の辺上に又は円周上に各サーバラック1が配列された状態を意味する。また、配列関係は、例えば、直線状、L字状、コの字状といった矩形や円に限らない任意の形状に配列される関係であってもよい。なお、本願では、配列関係とは、複数のサーバラック1を配置する場合の基準となる配置の関係を示す(言い換えればサーバラックを配置可能な位置を示す)ものである。そして、位置関係とは、その配列関係に従って実際にサーバラック1を実際に配置した場合の配置の関係を示すものである。なお、本実施形態においては、サーバラック1が格子状に配列される場合の例について説明するため、サーバラック1の形状は上から見て矩形の構造を有している。しかしながら、サーバラック1が多角形状または同心円状に配置される場合には、サーバラック1の形状が多角形柱状となっており各面に通信ポートが備えられていてよい。またはサーバラック1の形状は円柱状となっており、その外周面に通信ポートが所定の間隔で備えられていてもよい。
なお、図1(a)に示した場合は、2台のサーバラック1の配置例を示したものである。この場合、2台のサーバラック1の各垂直面の1つが互いに対向しているということで考えれば、格子状の配列の1形態であると考えることができる。そして、図1(a)に示した通信ポート12、13、14、及び15は、各サーバラック1を格子状の配列関係に従って配列する場合に、各サーバラック1が対向する4方向に対応付けて配置されている、と考えることができる。
また、ここでは通信ポートは、通信ポート12、13、14、及び15の4ポートとしているが、必ずしも数は4ポートとは限らない。通信ポート間の通信には(すなわち通信媒体2としては)、ケーブルを使用した有線接続や、赤外線通信、可視光通信、NFC(Near Field Communication)、微弱無線等の無線通信が考えられる。通信ポート12、13、14、及び15は、制御部10と接続されており、制御部10は、通信ポート12、13、14、及び15を使用して隣接するサーバラック1のコントローラ11(すなわち制御部10)と相互に通信する。
サーバラック1を設置する時には、サーバラック1の通信ポート12、13、14、又は15と隣接するサーバラック1の通信ポート12、13、14、又は15同士を接続する。この時、通信ポート12、13、14、及び15同士は必ず1対1で接続される。たとえば、サーバラック1、4台を図2及び図3に示したように田の字形に設置する場合を考える。ここで、図2は4台のサーバラック1の配置状況を示した外観模式図である。図3は4台のサーバラック1の配置状況を示した平面図である。この場合、左奥のサーバラック1(サーバラックAとする)の通信ポート13と右奥のサーバラック1(サーバラックBとする)の通信ポート15とを、所定の通信媒体2で接続する。また、サーバラックBの通信ポート14と右手前のサーバラック1(サーバラックDとする)の通信ポート12を、所定の通信媒体2で接続する。また、サーバラックDの通信ポート15と左手前のサーバラック1(サーバラックCとする)の通信ポート13を、所定の通信媒体2で接続する。そして、サーバラックCの通信ポート12とサーバラックAの通信ポート14を、所定の通信媒体2で接続する。
また、認識開始ボタン16は、制御部10に複数のサーバラック1の設置位置を自動認識するための処理を開始させるためのボタンである。ユーザがこの認識開始ボタン16を押下した場合に、制御部10は所定の認識処理を開始する。
また、出力部18は、通信装置や表示装置から構成され、制御部10の指示に従って所定の情報を送信したり、表示したりする。出力部18は、制御部10が生成したサーバラック1と通信ポート12、13、14、及び15に接続されている1又は複数の他サーバラック1との間の自装置を基準とした位置関係を表す所定の情報(本願ではこれを探索結果テーブルと呼ぶ。)を出力する。さらに、出力部18は、制御部10が通信ポート12、13、14、及び15を介して取得した他サーバラック1で生成された、他サーバラック1を基準とした当該他サーバラック1とさらに他サーバラック1との位置関係を表す所定の情報(すなわち探索結果テーブル)を出力する。
複数のサーバラック1を設置し、その間を所定の通信媒体2で接続した後、設置位置の自動認識を開始するためには、複数のサーバラック1のうちのいずれかのサーバラック1のコントローラ11で自動認識開始の操作を行う。この操作は、例えばユーザが認識開始ボタン16を押下することで行う。ただし、これに限らず、サーバラック1の外部から何らかのI/F(interface)を経由したコマンド実行の操作とすることなどが考えられる。認識が開始されると、コントローラ11は通信ポート12、13、14、及び15経由で隣接するサーバラック1のコントローラ11と通信を行い、ユニークIDを交換する。これにより、コントローラ11は、隣にサーバラック1が設置されているか否かを検知するとともに、設置されている場合には、隣に設置されているサーバラック1のユニークIDを入手する。また、ユニークID交換に使用した通信ポート12、13、14、及び15を識別することで、隣接サーバラック1が設置されている方向を入手することができる。このユニークIDの交換を再帰的に進めていくことで、最終的にサーバラック1の配置状況を自動的に得ることができる。例えば、図2のようにサーバラック1、4台が設置されている場合には、図3のような配置状況が得られる。
次に、図4から図15を参照して、4台のサーバラック1が図4に示したように設置されている場合の動作例についてより具体的に説明する。図4は、4台のサーバラック1の配置例を示した外観模式図である。
なお、図4に示した例では、4台のサーバラック1が図2及ぶ図3に示したように格子状の配列関係に従って設置されている。図4に示した4台のサーバラック1は、左上(すなわち左奥)をサーバラックA(ユニークIDはA)、右上(すなわち右奥)をサーバラックB(ユニークIDはB)、左下(すなわち左手前)をサーバラックC(ユニークIDはC)、そして右下(すなわち右手前)をサーバラックD(ユニークIDはD)とする。また、各サーバラック1は、コントローラ11の前面左に認識開始ボタン16を備えている。また、サーバラック1(サーバラックA)は、内部の出力部18が、ネットワーク4を介して、管理端末3に接続されている。管理端末3では、サーバラックAから送られてきた情報を元に、各サーバラック1の設置状態を認識する処理を行う。
なお、図4に示した例では、サーバラックAの通信ポート13とサーバラックBの通信ポート15を、通信媒体2としての所定の通信ケーブルで接続している。また、サーバラックBの通信ポート14とサーバラックDの通信ポート12を、通信媒体2としての所定の通信ケーブルで接続している。また、サーバラックDの通信ポート15とサーバラックCの通信ポート13を、通信媒体2としての所定の通信ケーブルで接続している。また、サーバラックCの通信ポート12とサーバラックAの通信ポート14を、通信媒体2としての所定の通信ケーブルで接続している。この状態でサーバラックAの認識開始ボタン16をユーザが押すと、各サーバラック1が所定の処理を行うことで、各サーバラック1の設置状態が自動認識され、認識された状況がサーバラックAから管理端末3に送信される。
図5は、図4に示した設置例において、各サーバラック1で生成される探索結果テーブルの内容を示している。探索結果テーブルは、上述したように、あるサーバラック1を基準とした当該サーバラック1と他のサーバラック1との位置関係を表す情報である。図5(a)は、この探索結果テーブルの構成の一例を示した図である。探索結果テーブル41は、自装置のユニークIDを含んでいる。探索結果テーブル41は、さらに、通信ポート12に接続されている他装置すなわち他のサーバラック1のユニークID、通信ポート13に接続されている他のサーバラック1のユニークID、通信ポート14に接続されている他のサーバラック1のユニークID、及び通信ポート15に接続されている他のサーバラック1のユニークIDを含んで構成される。ただし、通信ポートに他のサーバラック1が接続されていない場合には、未接続である旨を示すデータが設定される。
図5(b)は、図4に示した例においてサーバラックCで生成される探索結果テーブル42の内容を示している。図5(c)は、図4に示した例においてサーバラックDで生成される探索結果テーブル43の内容を示している。図5(d)は、図4に示した例においてサーバラックBで生成される探索結果テーブル44の内容を示している。そして、図5(e)は、図4に示した例においてサーバラックAで生成される探索結果テーブル45の内容を示している。
図5(b)に示したように、サーバラックCで生成される探索結果テーブル42は、自ユニークID「C」、通信ポート12「A」、及び通信ポート13「D」の内容を有している。また、図5(c)に示したように、サーバラックDで生成される探索結果テーブル43は、自ユニークID「D」、通信ポート12「B」、及び通信ポート15「C」の内容を有している。また、図5(d)に示したように、サーバラックBで生成される探索結果テーブル44は、自ユニークID「B」、通信ポート14「D」、及び通信ポート15「A」の内容を有している。そして、図5(e)に示したように、サーバラックAで生成される探索結果テーブル45は、自ユニークID「A」、通信ポート13「B」、及び通信ポート14「C」の内容を有している。
図6は、位置情報の認識処理において制御部10が実行するメインルーチンを示したフローチャートである。各制御部10は、電源投入後、図6に示した処理を実行する。また、図7は、他のサーバラック1から探索要求を受けた場合に実行される処理である探索要求割り込み処理を示したフローチャートである。図7に示した探索要求割り込み処理は、図6に示したメインルーチン、図7に示した探索要求割り込み処理、又は図8に示した探索処理の実行中に、他のサーバラック1から探索要求を受けた場合に実行される。この探索要求割り込み処理は、他の処理を実行中であっても他の処理に優先して実行される割り込み処理である。例えば、探索要求割り込み処理は、探索要求割り込み処理中であってもネスト割り込みを受け付け(すなわち多重割り込みを許可し)、後で発生した探索要求に対する処理が優先して実行される。図8は、探索処理を示したフローチャートである。図8に示した探索処理では、各通信ポート12〜15における接続の有無や接続がある場合に接続先を確認するための処理が行われる。
図9は、本動作例で認識される各サーバラック1の位置関係を示した図である。
図10は、本動作例における各通信ポート12〜15及び各通信媒体2並びにネットワーク4における信号の入出力あるいは各通信ポートにおける接続有無の確認動作の順序を示した説明するための図である。記号S1からS25の順で信号の入出力や接続有無の確認動作が行われる。
そして、図11から図15が、サーバラックA、サーバラックB、サーバラックC、及びサーバラックDの動作を示したシーケンス図である。ここで、図11から図15は、この順で連続する動作の流れを示している。すなわち、例えば、図11の動作に続いて、図12の動作が行われる。
各サーバラック1において、各コントローラ11は、動作を開始すると直ちに探索要求割り込みを許可する(図6のステップS101)。探索要求とは、各サーバラック1において探索処理を実行することを要求するコマンドである。各コントローラ11は通信ポート12、13、14、又は15からこの探索要求を受け取ると、全ての処理を中断し探索要求割り込み処理を実行する。探索要求割り込み処理が完了すると、元々の処理を中断した箇所から処理を再開する。コントローラ11(すなわち制御部10)は、起動後に、探索要求を許可した後は、認識開始ボタン16が押されるまで無限ループで待機する(ステップS102で「NO」からステップS102の繰り返し)。なお、無限ループによる待機中であっても、探索要求が届いた場合には探索要求割り込み処理が実行される。また、上述したように、探索要求割り込みは多重割り込みができる。
この状態でサーバラックAの認識開始ボタン16が押されたとする(図11のA101)。サーバラックAでは図6のステップS102〜S104に示した通り、認識開始ボタン16が押されたことによって、探索済みフラグを立てたのち(図6のステップS102でYESからステップS103、図11のA102)、探索処理を実行する(ステップS104、図11のA103)。ここで、探索済みフラグは、図8の探索処理が実行開始済みであることを示すフラグである。探索済みフラグは、認識開始ボタン16が押されることによって図6のステップS104で探索処理が開始される場合、又は、図7のステップS204で探索処理が開始される場合に、ステップS103又はステップS203で探索処理が呼び出される前に立てられるフラグである。初期状態では、この探索済みフラグは下げられている(すなわち立てられていない)。
サーバラックAは、図6のステップS104で図8に示した探索処理を呼び出すと、まず通信ポート12に他のサーバラック1が接続されているか否かを確認する(図8のステップS301、図11のA104)。この図11のA104の動作が、図10の矢印S1に対応している。今回、サーバラックAの通信ポート12には何も接続されていないため(図8のステップS301でNOのため)、続けて通信ポート13の接続確認へ進む(図8のステップS305、図11のA105)。ここでは、サーバラックAの通信ポート13にはサーバラックBが接続されているため、サーバラックAは通信ポート13に探索要求を送信する(図8のステップS305でYESからステップS306、図11のA106)。この図11のA106の探索要求送信の動作が、図10の矢印S2に対応している。
サーバラックBでは、探索要求を通信ポート15から受け取り、探索要求割り込み処理を開始する(図6のステップS102の繰り返しから図7の探索要求割り込みの呼び出し、図11のB101)。なお、図7の探索要求割り込み処理は、多重割り込みを許可している。そのため、図11から図15では、1回目の割り込み処理呼び出しを「探索要求割り込み処理(1)呼び出し」として示し、1回目の割り込み処理中の2回目の割り込み処理呼び出しを「探索要求割り込み処理(2)呼び出し」として示している。この場合、サーバラックBでは探索済みフラグはまだ立っていないので、探索済みフラグを立て(図7のステップS201でNOからステップS203、図11のB102)、探索処理を実行する(図7のステップS204、図11のB103)。
次に、図8のフローチャートに記した探索処理に基づき、サーバラックBは通信ポート12に他のサーバラック1が接続されているか否かを確認する(図8のステップS301、図11のB104)。この図11のB104の動作が、図10の矢印S3に対応している。今回、サーバラックBの通信ポート12には何も接続されていないため(図8のステップS301でNOのため)、続けて通信ポート13の接続確認へ進む(図8のステップS305、図11のB105)。この図11のB105の動作が、図10の矢印S4に対応している。今回、サーバラックBの通信ポート13には何も接続されていないため(図8のステップS305でNOのため)、続けて通信ポート14の接続確認へ進む(図8のステップS309、図11のB106)。サーバラックBの通信ポート14にはサーバラックDが接続されているため、通信ポート14に探索要求を送信する(図8のステップS309でYESからステップS310、図11のB107)。この図11のB107の探索要求送信の動作が、図10の矢印S5に対応している。
サーバラックDでは、探索要求を通信ポート12から受け取り、探索要求割り込み処理を開始する(図6のステップS102の繰り返しから図7の探索要求割り込みの呼び出し、図11のD101)。サーバラックDでは探索済みフラグはまだ立っていないので、探索済みフラグを立て(図7のステップS201でNOからステップS203、図11のD102)、探索処理を実行する(図7のステップS204、図11のD103)。
次に、図8のフローチャートに記した探索処理に基づき、サーバラックDは通信ポート12に他のサーバラック1が接続されているか否かを確認する(図8のステップS301、図11のD104)。サーバラックDの通信ポート12にはサーバラックBが接続されているため、通信ポート12に探索要求を送信する。(図8のステップS301でYESからステップS302、図11のD105)。この図11のD105の探索要求送信の動作が、図10の矢印S6に対応している。
サーバラックBでは、この探索要求を通信ポート14から受け取り、探索要求割り込み処理を開始する(図8のステップS310の探索要求(図11のB107)に対する応答の待機中に図7の探索要求割り込みの呼び出し、図12のB108)。この場合、サーバラックBでは、図11のB101で図7の探索要求割り込み処理を呼び出し済みでまだ復帰していないので、図12のB108は「探索要求割り込み処理(2)呼び出し」となる。また、この場合、サーバラックBでは既に探索済みフラグが立っている(図11のB102で探索済みフラグが立っている)。そのため、サーバラックBは通信ポート14に対し自身のユニークIDのBを返答する(図7のステップS201でYESからステップS202、図12のB109)。この図12のB109のユニークID返信動作が、図10の矢印S7に対応している。そして、サーバラックBは図12のB108で呼び出した探索要求割り込み処理(2)を終了する(図7のステップS207、図12のB110)。
サーバラックDでは通信ポート12からユニークIDとしてBを受け取るが(図8のステップS303、図12のD106)、探索結果テーブルが送られてこないため(図8のステップS304)、続けて通信ポート13の接続確認へ進む(図8のステップS305、図12のD107)。この図12のD107の動作が、図10の矢印S8に対応している。今回、サーバラックDの通信ポート13には何も接続されていないため(図8のステップS305でNO)、続けて通信ポート14の接続確認へ進む(図8のステップS309、図12のD108)。この図12のD108の動作が、図10の矢印S9に対応している。今回、サーバラックDの通信ポート14には何も接続されていないため(図8のステップS309でNO)、続けて通信ポート15の接続確認へ進む(図8のステップS313、図12のD109)。サーバラックDの通信ポート15にはサーバラックCが接続されているため(図8のステップS313でYES)、通信ポート15に探索要求を送信する(図8のステップS314、図12のD110)。この図12のD110の探索要求送信の動作が、図10の矢印S10に対応している。
サーバラックCでは、この探索要求を通信ポート13から受け取り、探索要求割り込み処理を開始する(図6のステップS102の繰り返しから図7の探索要求割り込みの呼び出し、図12のC101)。サーバラックCでは探索済みフラグはまだ立っていないので、探索済みフラグを立て(図7のステップS201でNOからステップS203、図12のC102)、探索処理を実行する(図7のステップS204、図12のC103)。
次に、図8のフローチャートに記した探索処理に基づき、サーバラックCは通信ポート12に他のサーバラック1が接続されているか否かを確認する(図8のステップS301、図12のC104)。サーバラックCの通信ポート12にはサーバラックAが接続されているため、通信ポート12に探索要求を送信する(図8のステップS301でYESからステップS302、図12のC105)。この図12のC105の探索要求送信の動作が、図10の矢印S11に対応している。
サーバラックAでは、この探索要求を通信ポート14から受け取り、探索要求割り込み処理を開始する(図8のステップS306の探索要求(図11のA106)に対する応答の待機中に図7の探索要求割り込みの呼び出し、図12のA107)。この場合、サーバラックAでは既に探索済みフラグが立っている(図11のA102で探索済みフラグが立っている)。そのため、サーバラックAは通信ポート14に対し自身のユニークIDのAを返答する(図7のステップS201でYESからステップS202、図12のA108)。この図12のA108のユニークID返信動作が、図10の矢印S12に対応している。そして、サーバラックAは図12のA107で呼び出した探索要求割り込み処理を終了する(図7のステップS207、図12のA109)。
サーバラックCでは通信ポート12からユニークIDとしてAを受け取るが(図8のステップS303、図12のC106)、続けて探索結果テーブルが送られてこないため(図8のステップS304)、続けて通信ポート13の接続確認へ進む(図8のステップS305、図12のC107)。サーバラックCの通信ポート13にはサーバラックDが接続されているため(図8のステップS305でYES)、通信ポート13に探索要求を送信する(図8のステップS306、図12のC108)。この図12のC108の探索要求送信の動作が、図10の矢印S13に対応している。
サーバラックDでは、探索要求を通信ポート15から受け取り、探索要求割り込み処理を開始する(図8のステップS314の探索要求(図12のD110)に対する応答の待機中に図7の探索要求割り込みの呼び出し、図13のD111)。この場合、サーバラックDでは、図11のD101で図7の探索要求割り込み処理を呼び出し済みでまだ復帰していないので、図13のD111は「探索要求割り込み処理(2)呼び出し」となる。また、この場合、サーバラックDでは既に探索済みフラグが立っている(図11のD102で探索済みフラグが立っている)。そのため、サーバラックDは通信ポート15に対し自身のユニークIDのDを返答する(図7のステップS201でYESからステップS202、図13のD112)。この図13のD112のユニークID返信動作が、図10の矢印S14に対応している。そして、サーバラックDは探索要求割り込み処理(2)を終了する(図7のステップS207、図13のD113)。
サーバラックCでは通信ポート13からユニークIDとしてDを受け取るが(図8のステップS307、図13のC109)、続けて探索結果テーブルが送られてこないため(図8のステップS308)、続けて通信ポート14の接続確認へ進む(図8のステップS309、図12のC110)。この図13のC110の動作が、図10の矢印S15に対応している。今回、サーバラックCの通信ポート14には何も接続されていないため(図8のステップS309でNO)、続けて通信ポート15の接続確認へ進む(図8のステップS313、図13のC111)。この図13のC111の動作が、図10の矢印S16に対応している。
今回、サーバラックCの通信ポート15には何も接続されていないため(図8のステップS313でNO)、サーバラックCは探索結果テーブルを作成する(図8のステップS317、図13のC112)。上述したように、探索結果テーブルは、例えば、図5(a)に示したフォーマットで、当該探索結果テーブルを作成したサーバラック1のユニークIDと、サーバラック1の各通信ポート12、13、14、及び15に接続されているサーバラック1のユニークIDとが記載される。
この場合、サーバラックCのユニークIDはC、通信ポート12に接続された隣接するサーバラック1のユニークIDはA、通信ポート13に接続された隣接するサーバラック1のユニークIDはD、通信ポート14と通信ポート15は未接続である。したがって、図13のC112でサーバラックCが生成する探索結果テーブルは、図5(b)に示した探索結果テーブル42となる。
サーバラックCは探索結果テーブルを生成すると、探索処理から復帰する(図8のステップS318、図13のC113)。サーバラックCは、図7のフローチャートのステップS204で探索処理から探索要求割り込み処理に戻り、次に探索要求元に自ユニークIDを送信する(図7のステップS205、図13のC114)。サーバラックCは、図12のC101で、サーバラックDの通信ポート15からサーバラックCの通信ポート13への探索要求に応じて探索処理を開始していた。そのため、サーバラックCは、ここでは通信ポート13に対して自ユニークIDのCを送信する。
また、サーバラックCは、続けて図13のC112で作成した探索結果テーブル42を通信ポート13に送信する(図7のステップS206、図13のC115)。これらの図13のC114の動作とC115の動作とが、図10の矢印S17(図13ではS17a及びS17bと表記)に対応している。次に、サーバラックCは、探索要求割り込み処理から復帰する(図7のステップS207、図13のC116)。ここで、サーバラックCは、図6のステップS102へ戻り、ステップS102の処理を繰り返し実行する。
サーバラックDでは、通信ポート15からユニークID「C」を受け取るとともに(図8のステップS315、図13のD114)、探索結果テーブル42を受け取る(図8のステップS316、図13のD115)。次に、サーバラックDは、探索結果テーブルの作成を開始する(図8のステップS317、図13のD116)。この場合、サーバラックDのユニークIDはD、通信ポート12に接続された隣接するサーバラック1のユニークIDはB、通信ポート15に接続された隣接するサーバラック1のユニークIDはC、通信ポート13と通信ポート14は未接続である。したがって、サーバラックDが生成する探索結果テーブルは図5(c)に示した探索結果テーブル43となる。サーバラックDは探索結果テーブルを43生成すると、図8の探索処理から復帰する(図8のステップS318、図13のD117)。サーバラックDは、図7のフローチャートのステップS204で探索処理から探索要求割り込み処理に戻り、次に探索要求元に自ユニークIDを送信する(図7のステップS205、図14のD118)。サーバラックDは、図11のD101でのサーバラックBの通信ポート14からサーバラックDの通信ポート12への探索要求に応じて探索処理を開始していた。そのため、サーバラックCは、ここでは通信ポート12に対して自ユニークIDのDを送信する。
また、サーバラックDは、続けて図13のD116で作成した探索結果テーブル43と、図13のD115でサーバラックCから受け取った探索結果テーブル42とを通信ポート12に送信する(図7のステップS206、図14のD119)。これらの図14のD118の動作とD119の動作とが、図10の矢印S18(図14ではS18a及びS18bと表記)に対応している。次に、サーバラックDは、探索要求割り込み処理から復帰する(図7のステップS207、図14のD120)。ここで、サーバラックDは、図6のステップS102へ戻り、ステップS102の処理を繰り返し実行する。
サーバラックBは、通信ポート14からユニークID「D」を受け取るとともに(図8のステップS311、図14のB111)、探索結果テーブル42及び43を受け取る(図8のステップS312、図14のB112)。サーバラックBは、続けて通信ポート15の接続確認へ進む(図8のステップS313、図14のB113)。サーバラックBの通信ポート15にはサーバラックAが接続されているため(図8のステップS313でYES)、通信ポート15に探索要求を送信する(図8のステップS314、図14のB114)。この図14のB114の探索要求送信の動作が、図10の矢印S19に対応している。
サーバラックAでは、この探索要求を通信ポート13から受け取り、探索要求割り込み処理を開始する(図8のステップS306の探索要求(図11のA106)に対する応答の待機中に図7の探索要求割り込みの呼び出し、図14のA110)。この場合、サーバラックAでは既に探索済みフラグが立っている(図11のA102で探索済みフラグが立っている)。そのため、サーバラックAは通信ポート13に対し自身のユニークIDのAを返答する(図7のステップS201でYESからステップS202、図14のA111)。この図14のA111のユニークID返信動作が、図10の矢印S20に対応している。そして、サーバラックAは図14のA110で呼び出した探索要求割り込み処理を終了する(図7のステップS207、図14のA112)。
サーバラックBでは、通信ポート15からユニークID「A」を受け取る(図8のステップS315、図14のB115)。次に、サーバラックBは、探索結果テーブルの作成を開始する(図8のステップS317、図14のB116)。この場合、サーバラックBのユニークIDはB、通信ポート14に接続された隣接するサーバラック1のユニークIDはD、通信ポート15に接続された隣接するサーバラック1のユニークIDはA、通信ポート12と通信ポート13は未接続である。したがって、サーバラックBが生成する探索結果テーブルは図5(d)に示した探索結果テーブル44となる。サーバラックBは探索結果テーブルを44生成すると、図8の探索処理から復帰する(図8のステップS318、図14のB117)。サーバラックBは、図7のフローチャートのステップS204で探索処理から探索要求割り込み処理に戻り、次に探索要求元に自ユニークIDを送信する(図7のステップS205、図14のB118)。サーバラックBは、図11のB101でのサーバラックAの通信ポート13からサーバラックBの通信ポート15への探索要求に応じて探索処理を開始していた。そのため、サーバラックBは、ここでは通信ポート15に対して自ユニークIDのBを送信する。
また、サーバラックBは、続けて図14のB116で作成した探索結果テーブル44と、図14のD119でサーバラックDから受け取った探索結果テーブル42及び43とを通信ポート15に送信する(図7のステップS206、図14のB119)。これらの図14のB118の動作とB119の動作とが、図10の矢印S21(図14ではS21a及びS21bと表記)に対応している。次に、サーバラックBは、探索要求割り込み処理から復帰する(図7のステップS207、図15のB120)。ここで、サーバラックBは、図6のステップS102へ戻り、ステップS102の処理を再び繰り返し実行する。
サーバラックAは、通信ポート13からユニークID「B」を受け取るとともに(図8のステップS307、図14のA113)、探索結果テーブル42、43及び44を受け取る(図8のステップS308、図14のA114)。サーバラックAは、続けて通信ポート14の接続確認へ進む(図8のステップS309、図15のA115)。サーバラックAの通信ポート14にはサーバラックCが接続されているため(図8のステップS309でYES)、通信ポート14に探索要求を送信する(図8のステップS310、図15のA116)。この図15のA116の探索要求送信の動作が、図10の矢印S22に対応している。
サーバラックCでは、探索要求を通信ポート12から受け取り、探索要求割り込み処理を開始する(図6のステップS102での待機中に図7の探索要求割り込みの呼び出し、図15のC116)。この場合、サーバラックCでは、既に探索済みフラグが立っている(図12のC102で探索済みフラグが立っている)。そのため、サーバラックCは通信ポート12に対し自身のユニークIDのAを返答する(図7のステップS201でYESからステップS202、図15のC117)。この図15のC117のユニークID返信動作が、図10の矢印S23に対応している。そして、サーバラックCは探索要求割り込み処理を終了する(図7のステップS207、図15のC118)。ここで、サーバラックCは、図6のステップS102へ戻り、ステップS102の処理を再び繰り返し実行する。
サーバラックAでは、通信ポート14からユニークID「C」を受け取る(図8のステップS311、図15のA117)。次に、サーバラックAは、通信ポート15の接続確認へ進む(図8のステップS313、図12のA118)。この図15のA118の動作が、図10の矢印S24に対応している。通信ポート15は未接続なため(図8のステップS313でNO)、サーバラックAは、探索結果テーブルの作成を開始する(図8のステップS317、図15のA119)。この場合、サーバラックAのユニークIDはA、通信ポート13に接続された隣接するサーバラック1のユニークIDはB、通信ポート14に接続された隣接するサーバラック1のユニークIDはC、通信ポート12と通信ポート15は未接続である。したがって、サーバラックAが生成する探索結果テーブルは図5(e)に示した探索結果テーブル45となる。サーバラックAは探索結果テーブル45を生成すると、図8の探索処理から復帰する(図8のステップS318、図15のA120)。サーバラックAは、図6のフローチャートのステップS104で探索処理からメインルーチンに戻り、次にすべての探索結果テーブル42、43、44及び45を管理端末3に送信する(図6のステップS105、図15のA121)。この図15のA121の動作が、図10の矢印S25に対応している。
管理端末3ではサーバラックAから探索結果テーブル42、43、44、及び45を受け取ると、これらのテーブルから次の各サーバラック1間の位置関係を抽出することができる。すなわち、サーバラックAの通信ポート13側にはサーバラックBが位置していることを抽出することができる。サーバラックBの通信ポート15側にはサーバラックAが位置していることを抽出することができる。サーバラックBの通信ポート14側にはサーバラックDが位置していることを抽出することができる。サーバラックDの通信ポート12側にはサーバラックBが位置していることを抽出することができる。サーバラックDの通信ポート15側にはサーバラックCが位置していることを抽出することができる。サーバラックCの通信ポート13側にはサーバラックDが位置していることを抽出することができる。サーバラックCの通信ポート12側にはサーバラックAが位置していることを抽出することができる。サーバラックAの通信ポート14側にはサーバラックCが位置していることを抽出することができる。管理端末3は、4台のサーバラック1が図3に示した格子状の配列関係に従って設置されているという前提条件にもとづいて、最終的にサーバラックA、B、C、及びDが図9に示した平面上の位置関係を有して設置されていることを認識することができる。なお、管理端末3は、各サーバラックが格子状に設置されることをあらかじめ記憶部等に記憶しているものとする。これにより、管理端末3は、各サーバラックの位置関係に基づいて、格子状のどこに各サーバラックが位置するのかを判定する。たとえば、管理端末3は、受け取った検索結果テーブルから一つのサーバラックを特定する。そして、そのサーバラックの位置を基準に、他のサーバラックが基準としてサーバラックに対してどの位置に設置されているのかを判定する。
以上のように、管理端末3では、探索結果テーブル42、43、44、及び45に基づいて図9に示したような位置関係を認識することができる。ただし、この位置関係は、4台のサーバラック1の相対的な位置関係であり、各サーバラック1の絶対的な位置までを特定したものではない。例えば、図9の位置関係を平面上で90度毎で回転させたとしても、探索結果テーブル42、43、44、及び45から抽出される位置関係との矛盾は生じない。したがって、図9に示した位置関係において絶対的な位置を認識するには、管理端末3に少なくとも1台のサーバラック1がどこに配置されているのかという情報を提供しなければならない。例えば、ユーザが管理端末3に対してサーバラックAの絶対的な位置情報を入力したり、ユーザがサーバラックAに対して、サーバラックAの絶対的な位置情報を入力してこれを管理端末3に送信したりすることで、管理端末3にその情報を提供する。なお、図9に示したように、4台のサーバラック1を格子状の配列関係を前提として配置する場合には任意の1台のサーバラック1の絶対的な位置が分かれば、各サーバラック1の絶対的な位置を認識することができる。しかしながら、例えば、9台のサーバラック1が正方形状に配置されている場合、中心に位置する1台のサーバラック1の位置を特定したとしても各サーバラック1の絶対的な位置を特定することはできない。そのサーバラック1を中心に回転した位置関係も成り立つからである。このような場合には、その中心に位置する1台とは異なるサーバラック1の絶対的な位置を特定すれば、各サーバラック1の絶対的な位置を認識することができる。
また、図6に示したメインルーチンでは、ステップS103で立てた探索済みフラグを、例えば、電源の再投入によってリセットすることのほか、次のようにしてリセットすることができる。例えば、図6に示したフローチャートにおいて、ステップS105からステップS102へ戻る流れの中に、自サーバラック1と他の各ラックサーバ1に対して探索済みフラグを初期化することを指示する命令を送信する処理を挿入する。例えば、サーバラックAが自サーバラック1(すなわち自動認識ボタン16が押されたサーバラック1)であるとすれば、サーバラックAが、サーバラックAの探索済みフラグを初期化するとともに、他のサーバラックB、C及びDに対して探索済みフラグを初期化せよとの命令を送出する。この場合、サーバラックB及びCに対しては、サーバラックAから、直接、探索済みフラグの初期化命令を入力することができる。他方、サーバラックDに対しては、サーバラックAから、サーバラックB又はCを介して転送することで、探索済みフラグの初期化命令を送信することができる。
以上のサーバラック1間、または管理端末3間の通信の順序と内容について、図10を参照して、以下にまとめる。図10のS1からS25の符号がついた矢印が各通信又は内部動作を示しており、同符号の1から25の数字は通信の順序を示している。以下、各通信又は内部動作の内容についてまとめる。
S1:サーバラックAが通信ポート12接続確認
S2:サーバラックAからサーバラックBに探索要求送信
S3:サーバラックBが通信ポート12接続確認
S4:サーバラックBが通信ポート13接続確認
S5:サーバラックBからサーバラックDに探索要求送信
S6:サーバラックDからサーバラックBに探索要求送信
S7:サーバラックBからサーバラックDにユニークID返信
S8:サーバラックDが通信ポート13接続確認
S9:サーバラックDが通信ポート14接続確認
S10:サーバラックDがサーバラックCに探索要求送信
S11:サーバラックCがサーバラックAに探索要求送信
S12:サーバラックAがサーバラックCにユニークID返信
S13:サーバラックCがサーバラックDに探索要求送信
S14:サーバラックDがサーバラックCにユニークID返信
S15:サーバラックCが通信ポート14接続確認
S16:サーバラックCが通信ポート15接続確認
S17:サーバラックCがユニークIDをサーバラックDに返信するとともに探索結果テーブル42をサーバラックDに送信
S18:サーバラックDがユニークIDをサーバラックBに返信するとともに探索結果テーブル42及び43をサーバラックBに送信
S19:サーバラックBがサーバラックAに探索要求送信
S20:サーバラックAがサーバラックBにユニークID返信
S21:サーバラックBがユニークIDをサーバラックAに返信するとともに探索結果テーブル42、43及び44をサーバラックAに送信
S22:サーバラックAがサーバラックCに探索要求送信
S23:サーバラックCがサーバラックAにユニークID返信
S24:サーバラックAが通信ポート15接続確認
S25:サーバラックAが探索結果テーブル42、43、44、及び45を管理端末3に送信
本実施形態のサーバラック1によれば次のような効果を得ることができる。
第1の効果は、サーバ及びサーバラック管理の効率化である。本実施形態により、サーバラック1の設置位置を自動認識することが可能となる。特許文献1で述べたような構成ではサーバラックの設置位置は手動で設定する必要があったが、本実施形態を用いることでこの手順を自動化することができる。これにより、特許文献1に記載されているような各サーバラック内での各サーバの位置の自動認識技術と本実施形態とを組み合わせることで、特別な操作や作業を必要とせずに、サーバをサーバラックに設置するだけで、サーバがマシン室内のどこに設置されているか自動的に設定可能となる。これにより、サーバ管理をより効率的に行うことが可能となる。
第2の効果は、導入コスト削減である。特許文献2に記載されている構成では本実施形態と同様の機能を実現するためにマシン室の工事が必要であったが、本実施形態を使用することでマシン室の工事無しでこの機能を実現可能となる。
第3の効果は、導入条件緩和である。特許文献2に記載されている構成では、サーバラック上部とマシン室天井間の見通しを確保する必要があり、空調設備や配管等の既存設備の設置状況によっては導入が困難な場合が存在した。一方、本実施形態ではそのような導入時の条件が無く、既存マシン室へも容易に導入可能となっている。
次に、上記実施形態の変形例について説明する。まず、サーバラック1間が有線の通信媒体2を用いて通信を行う場合の変形例について説明する。
まず、サーバラック1が通路を挟んで設置されている場合や、隙間を空けて設置されている場合について考える。このような場合、各サーバラック1の通信ポート間の接続に使用するケーブルを、隙間があるときに使用するケーブルと、隙間が無いときに使用するケーブルとの2種類として対応することができる。すなわち、隣接するサーバラック1同士の接続に使用する隣接サーバラック接続ケーブルと、間に通路等の空きスペースを挟んだ場合に使用するスペーサ挿入接続ケーブルの2種類のケーブルを用意する。そして、各通信ポート間をどちらか一方のケーブルを使用して接続する。また、サーバラック1のコントローラ11には通信ポート間の接続に、どちらの種類のケーブルが使用されているのかを認識するための構成を追加する。
例えば、図16のように、ユニークIDがAからLの12台のサーバラック1が設置されているものとする。通路5を挟んだ部分のサーバラック1間の接続にはスペーサ挿入接続ケーブル22が使用され、それ以外の接続には隣接サーバラック接続ケーブル21が使用されている。この状態で、どれか1か所のサーバラック1搭載のコントローラ11に対し、認識開始の操作を行う。すると、ユニークIDの交換が再帰的に行われ、最終的には図17のような認識結果を得ることができる。スペーサ挿入接続ケーブル21が使用されている部分については、間を空けてサーバラック1が設置されていると認識され、図17の認識結果にもそれが反映される。
なお、隣接サーバラック接続ケーブル21及びスペーサ挿入接続ケーブル22は、例えば次のようにして構成することができる。隣接サーバラック接続ケーブル21及びスペーサ挿入接続ケーブル22を、通信用の1又は複数の芯線と、ケーブル種別識別用の1又は複数の芯線とを有するケーブルとして構成する。そして、ケーブル種別認識用の芯線には所定のインピーダンスを接続する。このインピーダンスの有無や値を、隣接サーバラック接続ケーブル21とスペーサ挿入接続ケーブル22とで異ならせておく。コントローラ11では、インピーダンスの有無や値を検知するための回路を設けて、そのケーブル種別識別用の芯線に接続されているインピーダンスの有無や値を検知することで、ケーブルの種別を識別することができる。
そしてこのようなサーバラック1の設置されている位置の認識処理を行うに当たり管理端末3は、どのサーバラック1が他のサーバラック1と接続されているケーブルの種別(隣接サーバラック接続ケーブル21またはスペーサ挿入接続ケーブル22の種別)と、そのケーブルにより接続している他のサーバラック1の通信ポート番号を対応付けた情報をサーバラック1から取得する。そして、管理端末3は、各サーバラック1の設置状態を把握した上で、スペーサ挿入接続ケーブル22によって接続されている2つのサーバラック1の間については、間を空けてサーバラック1が設置されていると認識する。
別の変形例として、図18に示したように、サーバラック1、3台が不等間隔の間を空けて設置されている場合を考える。各サーバラック1の通信ポート間は隣接サーバラック接続ケーブル21又はスペーサ挿入ケーブル221若しくは222を使い、有線接続されている。スペーサ挿入ケーブル221又は222は設定用のスイッチを持っており、挿入するスペーサの数を自由に設定可能とする。スペーサ挿入ケーブル221又は222は、図16に示したスペーサ挿入接続ケーブル22と同様に使用することができるケーブルである。この場合、スペーサ挿入ケーブル221とスペーサ挿入ケーブル222は、上記の設定用のスイッチを異なる状態に切り替えることで、設定状態が異なっている。すなわち、スペーサ挿入ケーブル221が1台分の間が開いた状態、スペーサ挿入ケーブル222が2台分の間が開いた状態を示すものとして使用される。
また、ケーブル21又は221若しくは222に接続して使用する図19のようなコーナー挿入アダプタ5も用意し、接続を行う。コーナー挿入アダプタ5はケーブル21又は221若しくは222同士を2本まで接続可能なアダプタで、サーバラック1間に最大で1個挿入することができる。コーナー挿入アダプタ5にはケーブル接続ポートA又はBの2つが90度の角度をつけて設置されている。コントローラ11はサーバラック1間の接続に使用されているケーブル21又は221若しくは222を最大2本まで、コーナー挿入アダプタ5を1個まで正しく認識できる。また、コントローラ11は接続されたスペーサ挿入ケーブル221又は222の設定値、およびコーナー挿入アダプタ5の接続ポートA・Bのどちらが自身に近い側に接続されているかを認識できるものとする。これらの設定状態も、上述したように、例えば各ケーブル21又は221若しくは222に、設定用の芯線を設け、ケーブル21又は221若しくは222内又はコーナー挿入アダプタ5内で(接続ポートA及びB毎に)当該芯線に所定のインピーダンスを接続したり、非接続としたりすること等でコントローラ11によって識別可能とすることができる。
ここでは、図18に示したサーバラックA、B及びCの設置例では、まっすぐ直線状に間を空けて設置されているサーバラックA・B間には、スペーサ挿入数2を設定したスペーサ挿入ケーブル222を使用する。また、サーバラックA・C間は隣接サーバラック接続ケーブル21・コーナー挿入アダプタ5・スペーサ挿入数1を設定したスペーサ挿入ケーブル221を使用して接続する。この状態でサーバラックAのコントローラ11に対して認識開始の操作を行うと、サーバラックAのコントローラ11はサーバラックCとの間に隣接サーバラック接続ケーブル21・コーナー挿入アダプタ5・スペーサ挿入ケーブル221が挿入されていることを認識する。この時、コーナー挿入アダプタ5のケーブル接続ポートAがサーバラックA側に、ケーブル接続ポートBがサーバラックC側に向いている。サーバラックAはコーナー挿入アダプタ5の接続ポートA側が自身の方向に向いていることから、サーバラックCは自身から見て左方向に位置していると判断できる。また、コーナー挿入アダプタ5の先にスペーサ挿入数1を設定したスペーサ挿入ケーブル221が接続されていることから、結果的にサーバラックCはサーバラックAから見て前に1マス、左方向に2マスの場所に位置すると認識できる。サーバラックA・B間ではスペーサ挿入数2のスペーサ挿入ケーブル222が使用されているため、スペーサが2マス分だけ挿入される。最終的には図20のように3台のサーバラック1の設置位置が認識される。
そしてこのようなサーバラック1の設置されている位置の認識処理を行うに当たり管理端末3は、どのサーバラック1のどの通信ポートとコーナー挿入アダプタ5のどの接続ポートとがどのケーブル種別のケーブルを介して接続されているのかの情報をサーバラック1から取得する。またそのコーナー挿入アダプタ5の他の接続ポートが、他のどのサーラック1とどのケーブルを介して接続されているのかの情報をサーバラック1から取得する。そしてこのような取得した情報と、各サーバラック1の設置状態を把握した上で、各サーバラック1と他のサーバラック1との位置関係を認識する。
図18を参照して説明した変形例ではスペーサを挿入するために専用のスペーサ挿入ケーブルを用意している。しかし、これと異なり、サーバラック1のコントローラ11の通信ポート横にスペーサ挿入数を設定するスイッチを設置し、ケーブルは1種類のみとするような例も考えられる。
また、上記の変形例では複数のスペーサを挿入するためにスペーサ挿入ケーブルにスイッチを設けた例について記述したが、スペーサ挿入ケーブルを複数直列に接続したものをサーバラック1間の接続に使用するような例も考えられる。例えば、スペーサを2つ入れる場合には、スペーサ接続ケーブル2本をつなぎ合わせたものを使用してサーバラック1間を接続することで、同様の効果が得られるようにした例が考えられる。
また、ここまでの変形例では、サーバラック1間の接続に有線ケーブルを使用した場合について記述したが、無線通信によって通信を行う例も考えられる。
また、ここまでの変形例では、各サーバラック1に搭載される通信ポートは4ポートとして記述しているが、必ずしも4ポートとは限らない。例えば、通信ポートがサーバラック1の8方向に合計8ポート設置されるような例も考えられる。また、サーバラック1を直線状に設置するような場合に、通信ポートが2ポートしか設置されないような例も考えられる。
また、上記の実施形態又はその変形例では、通信ポート12〜15等の複数の通信ポートのうち、当該通信ポートの向きと接続先のサーバラック1との向きが対応するように使用する通信ポートを選択している。すなわち、例えば、図1の模式図でみれば、左側のサーバラック1では4個の通信ポートのうち右側のサーバラック1の方向に向いている通信ポート13を用いて、右側のサーバラック1との接続が行われている。また、右側のサーバラック1では4個の通信ポートのうち左側のサーバラック1の方向に向いている通信ポート15を用いて、左側のサーバラック1との接続が行われている。しかしながら、複数の通信ポートの向きと、接続先のサーバラック1の配置方向との関係は、必ずしも対応(あるいは対向)するものでなくてもよい。例えば、接続媒体2を有線ケーブルとする場合、4個の通信ポートを異なる4方向に向けて設置するのではなく、1方向に並べて設置するようにしてもよい。ただし、4個の通信ポートのそれぞれには、あらかじめ複数のサーバラック1の配列関係に応じた複数の方向にそれぞれ対応付けておく。例えば、水平方向に並べた4個の通信ポートのうち左端の通信ポートを左方向に配置されたサーバラック1に対する接続用としておく。その右隣の通信ポートを後ろ方向に配置されたサーバラック1に対する接続用としておく。さらにその右隣の通信ポートを手前方向に配置されたサーバラック1に対する接続用としておく。そして、右端の通信ポートを左方向に配置されたサーバラック1に対する接続用としておく。また、このように通信ポートを配置する場合には、例えば各通信ポートのそばに接続方向を明示した画像等を表示して、対応付けられている方向を示すことが望ましい。
なお、本発明の実施の形態やその変形例は、上記のものに限定されない。例えば、有線用の構成と無線用の構成との両者を備えることで、通信ポートを有線と無線の両方に対応するものとしたり、管理端末3が備える配置位置の認識機能をサーバラック1のコントローラ11に備えるようにしたりといった変形を適宜行うことができる。また、本発明の実施形態としてのコントローラ11は、CPUとそのCPUで実行されるプログラムとを用いて構成することができる。その場合のプログラムは、コンピュータ読み取り可能な記録媒体や通信回線を介して流通させることができる。
なお、本発明の実施の形態の基本構成は、図21のブロック図のように示すことができる。すなわち、本発明の一実施形態としてのサーバ設置位置認識装置200は、複数の接続部201と、制御部202と、記憶部203と、出力部204とを備えている。サーバ設置位置認識装置200は、所定の配列関係に従って設置されている複数のサーバラックの設置位置を認識するための装置である。記憶部203は自装置200に設定されている識別情報を記憶する。複数の接続部201は、他装置(すなわち自装置200とは異なるサーバ設置位置認識装置200)との間で識別情報を表す信号を含む所定の信号を入出力するものであって、サーバ設置位置認識装置200の配列関係に応じた複数の方向にそれぞれ対応付けられている。制御部22は、接続部201を介して所定の信号を入出力することによって他装置の識別情報を含む第1情報を取得し、取得した第1情報に基づいて自装置と接続部201に接続されている1又は複数の他装置との間の自装置を基準とした位置関係を表す第2情報を生成する。出力部204は第2情報を出力する。
ここで、サーバ設置位置認識装置200は、図1を参照して説明したサーバラック1又はコントローラ11に対応する構成である。複数の接続部201は、通信ポート12から15に対応する構成である。制御部202は、制御部10に対応する構成である。記憶部203は、記憶部17に対応する構成である。そして、出力部204は、出力部18に対応する構成である。また、所定の配列関係とは、例えば上述した格子状の配列関係である。識別情報とはユニークIDに対応する。第1情報は、ユニークIDや探索結果テーブル、スペーサの挿入数、コーナー挿入アダプタの挿入の有無、向き等を表す情報に対応するものである。第2情報は探索結果テーブルに対応する。
以上、本発明について説明したが、本発明では、例えば本発明の装置をサーバラックに備えるあるいは一体として構成するとともに、複数の本発明の装置間を複数の接続部を介して接続する。そして、接続部を介して所定の信号を入出力することで、生成部によって、自装置と接続部に接続されている1又は複数の他装置との間の自装置を基準とした位置関係を表す第2情報を生成する。ここで、本発明が前提とするサーバラックは所定の配列関係を前提として配置されている。すなわち、本発明が前提とするサーバラックは、例えば格子状(あるいは碁盤目状)や多角形状、同心円状等の所定の配列関係に従って配置されている。したがって、各サーバラックについて第2情報を生成することで、複数のサーバラックのその配列関係における位置関係を把握することができる。ここで本発明は、サーバラックに複数の上記接続部を設けてその間を接続するということを特徴とするものである。よって、本発明によれば、例えばマシン室に特別な工事などを行うことなく、簡易な構成で、所定の配列関係に従って設置されている複数のサーバラックの位置情報を生成することができる。