(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】サーバ管理システム及びサーバ管理方法、プログラム
(51)【国際特許分類】
G06F 11/30 20060101AFI20240509BHJP
G06F 1/16 20060101ALI20240509BHJP
G01S 15/42 20060101ALI20240509BHJP
G01S 15/89 20060101ALI20240509BHJP
【FI】
G06F11/30 140A
G06F11/30 151
G06F1/16 312Z
G01S15/42
G01S15/89 Z
(21)【出願番号】P 2023041552
(22)【出願日】2023-03-16
【審査請求日】2023-03-16
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】渡邉 貴文
【審査官】円子 英紀
(56)【参考文献】
【文献】国際公開第2020/003695(WO,A1)
【文献】特開2021-113899(JP,A)
【文献】中国特許出願公開第110012431(CN,A)
【文献】特開平10-027034(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/30
G06F 1/16
G01S 15/42
G01S 15/89
(57)【特許請求の範囲】
【請求項1】
前面及び背面にそれぞれ
1つの超音波送信部と
複数の超音波受信部とを備えるとともに、制御部を備えるサーバを、複数備え、
少なくとも1つの前記サーバの前記制御部は、他の前記サーバの前記超音波送信部から送信された超音波を前記超音波受信部で受信することにより、他の前記サーバとの位置情報を判別するサーバ管理システム。
【請求項2】
更に管理サーバを備え、
複数の前記サーバの前記制御部で、前記位置情報を判別し、該位置情報を前記管理サーバに送信する請求項1に記載のサーバ管理システム。
【請求項3】
前記制御部は、他の前記サーバの前記超音波送信部から送信された超音波をもとに、前記超音波の入射角を算出する請求項1に記載のサーバ管理システム。
【請求項4】
前記制御部は、前記超音波送信部から送信され、他の前記サーバで反射した超音波を前記超音波受信部で受信するまでの時間をもとに、他の前記サーバとの距離を計測する請求項1に記載のサーバ管理システム。
【請求項5】
第1の超音波送信部と、第1の超音波受信部と、第1の制御部とを有する第1のサーバと、
第2の超音波送信部と、第2の超音波受信部と、第2の制御部とを有する第2のサーバと、を備え、
前記第2の超音波受信部が受信した前記第1の超音波送信部から送信された信号の入射角に応じて、第2の制御部は前記第2の超音波送信部から距離測定信号を送信し、
前記第2の超音波送信部から前記距離測定信号を送信した時間と、前記第2の超音波受信部が前記距離測定信号を受信した時間との間の時間差に基づき、前記第2の制御部は前記第1のサーバと前記第2のサーバとの間の位置情報を測定する、
サーバ管理システム。
【請求項6】
前面及び背面にそれぞれ
1つの超音波送信部と
複数の超音波受信部とを備えるとともに、制御部を備えるサーバを、複数備えたサーバ管理システムについて、
少なくとも1つの前記サーバの前記制御部が、他の前記サーバの前記超音波送信部から送信された
超音波を前記超音波受信部で受信することにより、他の前記サーバとの位置情報を判別する工程を備えるサーバ管理方法。
【請求項7】
前面及び背面にそれぞれ1つの超音波送信部と複数の超音波受信部とを備えるとともに、制御部を備えるサーバを、複数備えたサーバ管理システムについて、前記サーバのコンピュータを、
少なくとも1つの前記サーバの前記制御部が、他の前記サーバの前記超音波送信部から送信された超音波を前記超音波受信部で受信することにより、他の前記サーバとの位置情報を判別する工程、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ管理システム及びサーバ管理方法、プログラムに関する。
【背景技術】
【0002】
近年データセンタの規模は拡大しつつあり、データセンタにおける効率的なサーバ管理が求められている。一般に、サーバ自身が持っているマネジメント機能を用いることで、サーバの様々な情報の取得や設定が可能であり、これらの情報の取得や設定によりサーバは管理されている。
【0003】
しかしながら、このようなサーバの管理は、ネットワーク上のアドレスをもとにした管理に限定されており、実環境での保守作業や管理では不都合が多い。
例えば、特定のサーバに対する障害発生時には、保守作業前に当該サーバのIPアドレスを元に当該サーバの設置場所を調べなければならず、大規模なデータセンタでは管理が困難となる。
このように、ネットワーク上のアドレスであるIPアドレスをベースにサーバを管理するだけでは不都合が生じている。
【0004】
そこで、IPアドレスだけでなくサーバの実際の設置位置も合わせて管理することで、保守の容易化と、より高度なサーバ管理を実現できると考えられる。
もっとも、サーバ1台1台への手作業での設置位置の設定は現実的ではなく、設置位置を自動設定する仕組みが必要とされている。
【0005】
関連する技術として、サーバとサーバラックに無線通信モジュールを取り付けて通信を行い、サーバの設置位置を取得する方法が提案されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、この関連技術では、サーバだけでなくサーバラック側にも無線通信モジュール等の部品を追加する必要があるという不都合があった。
【0008】
本発明は、上述の課題を解決するサーバ管理システム及びサーバ管理方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、第1の超音波送信部と、第1の超音波受信部と、第1の制御部とを有する第1のサーバと、第2の超音波送信部と、第2の超音波受信部と、第2の制御部とを有する第2のサーバと、を備え、前記第2の超音波受信部が受信した前記第1の超音波送信部から送信された信号の入射角に応じて、第2の制御部は前記第2の超音波送信部から距離測定信号を送信し、前記第2の超音波送信部から前記距離測定信号を送信した時間と、前記第2の超音波受信部が前記距離測定信号を受信した時間との間の時間差に基づき、前記第2の制御部は前記第1のサーバと前記第2のサーバとの間の位置情報を測定するサーバ管理システムである。
【0010】
また、本発明は、前面及び背面にそれぞれ1つの超音波送信部と複数の超音波受信部とを備えるとともに、制御部を備えるサーバを、複数備え、少なくとも1つの前記サーバの前記制御部は、他の前記サーバの前記超音波送信部から送信された超音波を前記超音波受信部で受信することにより、他の前記サーバとの位置情報を判別するサーバ管理システムである。
【0011】
また、本発明は、前面及び背面にそれぞれ1つの超音波送信部と複数の超音波受信部とを備えるとともに、制御部を備えるサーバを、複数備えたサーバ管理システムについて、少なくとも1つの前記サーバの前記制御部が、他の前記サーバの前記超音波送信部から送信された超音波を前記超音波受信部で受信することにより、他の前記サーバとの位置情報を判別する工程を備えるサーバ管理方法である。
【0012】
また、本発明は、前面及び背面にそれぞれ1つの超音波送信部と複数の超音波受信部とを備えるとともに、制御部を備えるサーバを、複数備えたサーバ管理システムについて、前記サーバのコンピュータを、少なくとも1つの前記サーバの前記制御部が、他の前記サーバの前記超音波送信部から送信された超音を前記超音波受信部で受信することにより、他の前記サーバとの位置情報を判別する工程として機能させるプログラムである。
【発明の効果】
【0013】
本発明によれば、超音波送受信可能な部材を用いるのみで、自動的にサーバの位置情報を管理することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の第1の実施形態のサーバの一部を示す図である。
【
図2】本発明の第1の実施形態のサーバの一部を示す図である。
【
図3】本発明の第1の実施形態のサーバの一部を示す図である。
【
図4】本発明の第1の実施形態のサーバを示す図である。
【
図5】本発明の第1の実施形態のサーバ管理システムを示す図である。
【
図6】本発明の第1の実施形態のサーバ管理システムを示す図である。
【
図7】本発明の第1の実施形態のサーバ管理システムを示す図である。
【
図8】本発明の第1の実施形態のラックサーバを示す図である。
【
図9】本発明の第1の実施形態のラックサーバを示す図である。
【
図10】本発明の第1の実施形態のラックサーバを示す図である。
【
図11】本発明の第1の実施形態のサーバ管理システムを示す図である。
【
図12】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図13】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図14】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図15】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図16】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図17】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図18】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図19】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図20】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図21】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図22】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図23】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図24】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図25】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図26】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図27】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図28】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図29】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図30】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図31】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図32】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図33】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図34】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図35】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図36】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図37】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図38】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図39】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図40】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図41】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図42】本発明の第1の実施形態のサーバ管理方法を示す図である。
【
図43】本発明の第2の実施形態のサーバ管理システム示す図である。
【
図44】本発明の第2の実施形態のサーバ管理システム示す図である。
【
図45】本発明の第2の実施形態のサーバ管理システム示す図である。
【
図46】本発明の第2の実施形態のサーバ管理方法示す図である。
【
図47】本発明の第2の実施形態のサーバ管理方法示す図である。
【
図48】本発明の第2の実施形態のサーバ管理方法示す図である。
【
図49】本発明の第2の実施形態のサーバ管理方法示す図である。
【
図50】本発明の第2の実施形態のサーバ管理方法示す図である。
【
図51】本発明の第2の実施形態のサーバ管理方法示す図である。
【
図52】本発明の第2の実施形態のサーバ管理方法示す図である。
【
図53】本発明の第2の実施形態のサーバ管理方法示す図である。
【
図54】本発明の第2の実施形態のサーバ管理方法示す図である。
【発明を実施するための形態】
【0015】
[第1の実施形態]
<サーバ管理システム>
【0016】
本実施形態のサーバ管理システムの最小構成は、
図55に示すように、サーバ1と、サーバ1に設けられた超音波通信送信部(超音波送信部)2と、サーバ1に設けられた超音波通信受信部(超音波受信部)3と、サーバに設けられた制御部4と、を備える。そして、制御部4は、超音波通信送信部2から送信され、物体で反射した超音波を超音波通信受信部3で受信することで、サーバ1自身と物体との位置情報(サーバ1と物体との相対的な位置関係を示す情報)を判別する。
これにより不要な部材を設けることなく、サーバ1自身のみでサーバ1と物体との位置情報を把握することができる。
【0017】
以下、本実施形態では、サーバ同士が超音波通信を用いて通信するとともに、超音波で測定した対向する位置のサーバとの距離と超音波の入射角からサーバがお互いの位置を算出し、サーバだけでサーバルーム内におけるサーバ設置位置を自動的に設定する例について説明する。
【0018】
<<超音波通信送信部、受信部>>
図1に示すように、本実施形態のサーバ1000には、前面と背面に、超音波通信送信部1002と超音波通信受信部1001が設けられている。具体的には、超音波通信送信部1002は前面及び背面に1個ずつ、超音波通信受信部1001は前面及び背面に4個ずつ設けられている。超音波通信受信部1001は、超音波通信送信部1002の四方を取り囲むように、上下左右に配置されている。
【0019】
なお、超音波通信受信部1001は、厳密に超音波通信送信部1002の上下左右を取り囲む必要はなく、
図2のような配置でも良い。
また、一つの面に配置される超音波通信受信部1001の数は、必ずしも4つである必要ではなく、
図3のように3つであってもよいし、あるいはそれ以外の数であってもよい。また、超音波通信送信部1002は、必ずしも複数ある超音波通信受信部1001の中心に配置しなくても良い。
【0020】
超音波通信送信部1002は超音波を発信することができ、超音波にデータを載せることで通信を行うことができる。超音波を用いて通信を行う具体的な方法については、現在一般的に用いられ、実用化もされている方法によれば足りる。
超音波通信受信部1001は超音波を受信することができ、超音波通信送信部1002によって送信されたデータを取り出すことができる。
なお、以下の説明においてサーバが超音波通信を送信する、又は、受信すると説明することがあるが、それは各サーバの超音波通信送信部1002、又は超音波通信受信部1001を介して行われる超音波通信の送受信を省略して説明したものである。
【0021】
4つある超音波通信受信部1001はマイクロコンピュータ(制御部)に接続されている。マイクロコンピュータは、各超音波通信受信部1001で受信する超音波通信の時間差から、超音波通信の入射角を計算することが可能である。なお、複数の超音波通信受信部を用いて入射角を計算する例として「超音波と無線タグを用いた位置関係推定システムの実装」(The 21st Annual Conference of the Japanese Society for Artificial Intelligence, 2007)という論文が知られている。
【0022】
また、マイクロコンピュータは、超音波通信送信部1002によって送信した超音波が、向かい側のサーバで反射して超音波通信受信部1001で受信されるまでの時間を元に、向かい側のサーバとの間の距離を測定することもできる。
【0023】
なお、一般的にサーバには監視用の温度センサが搭載されていることから、マイクロコンピュータが、温度センサの値を読み取り音速の補正を行うことで、測定精度を向上させることもできる。
温度センサは、サーバ1000に複数設置されているが、なかでもサーバ1000の前面に設置された吸気温度測定用のものを使用すると、サーバ1000内部の発熱の影響を受けずに大気温度を測定することができるので好ましい。
【0024】
<<サーバの構成>>
次に、サーバ1000の構成を
図4に示す。
上述したように、サーバ1000の前面と背面に、それぞれ超音波通信送信部1002と超音波通信受信部1001が設置されている。また、これらはマイクロコンピュータの一種であるBMC(Baseboard Management Controller)1003に接続されており、BMC1003によって制御される。
【0025】
BMC1003は、サーバ1000の管理を行うOS(Operating System)とは独立して動作するマネジメントコントローラであり、サーバ1000の電源管理、センサ監視などを行う目的で搭載されている。
【0026】
なお、本実施形態では、以下ではマイクロコンピュータとして、BMC1003を用いる例について説明するが、超音波通信送信部1002及び超音波通信受信部1001は、必ずしもBMCによって制御される必要はなく、BMCとは別に、超音波通信送信部1002及び超音波通信受信部1001の制御に特化した専用のコントローラを採用しても良い。
【0027】
本実施形態では、上述した超音波通信の入射角の計算や、向かい側のサーバとの距離の測定などは、このBMC1003が超音波通信送信部1002と超音波通信受信部1001を制御することで行われる。
【0028】
BMC1003には、EEPROM(Electrically Erasable Programmable Read―Only Memor)1005が接続されている。このEEPROM1005には、各種のパラメータが保存されている。
EEPROM1005には、サーバ1000製造時に工場において、サーバ1000固有のIDが書き込まれており、これがそのまま保存されている。
【0029】
この固有IDは、サーバ1000を識別するために使用される。固有IDとしては専用の固有IDを設定しても構わないが、必ずしも専用の固有IDを使用する必要はなく、例えばサーバ1000のLANポートのMACアドレスや、サーバ1000のシリアル番号、製造番号、UUIDなどを固有IDとして使用しても良い。
【0030】
また、BMC1003には温度センサ1006が接続され、サーバ1000の温度監視を行っている。
【0031】
<<水平方向のサーバ設置位置の検出方法>>
次に、
図5のようにサーバが設置されている環境を例に、サーバの設置位置を自動的に検出する方法について説明する。以下では、
図5中のサーバ1222を基準とし、隣接するサーバ1212,1232を検出するケースについて説明する。
【0032】
サーバ1222は、サーバラック2022に搭載されている。
一般的に、サーバラックは前後(サーバの前面側と背面側)には開口部があるが、左右には開口部はない。
したがって、サーバ1222からサーバラック2011、2012、2013、2031、2032、2033に搭載されたサーバを見通すことはできるが、サーバラック2021、2023に搭載されたサーバを直接見通すことはできない。
【0033】
超音波はある程度の回折をするため、直接見通すことができない障害物の裏側にも回り込む性質を持っているが、それでもサーバの前面あるいは背面から真横のサーバへ超音波を送り届けるほどの強力な回折は期待できない。
したがって、サーバ1222から、サーバラック2021、2023に搭載されたサーバへ超音波を直接届けることは困難である。
【0034】
このような条件下でサーバ1222の前後左右に位置するサーバを検出する方法を、
図6を用いて説明する。
まず、サーバ1222は、前面の超音波通信送信部1002から、超音波通信である水平方向隣接サーバ探索指示4011を送信する。
【0035】
この水平方向隣接サーバ探索指示4011は、サーバ1222の前面からの超音波が届く範囲にあるサーバ1311、1312、1313、1321、1322、1323、1331、1332、1333で受信される。
【0036】
水平方向隣接サーバ探索指示4011を受け取った各サーバは、この通信の入射角を計算し、「入射角が垂直方向0度かつ水平方向0度」の条件を満たさない場合には、この通信を無視する。
「入射角が垂直方向0度かつ水平方向0度」の条件を満たすサーバは、サーバ1322だけであり、このサーバ1322だけがこの通信を処理する。
【0037】
サーバ1322は水平方向隣接サーバ探索指示4011を受信すると、水平方向隣接サーバ探索指示4011を受信した方向のサーバ、すなわちサーバ1222との間の距離を測定する。
【0038】
具体的には、サーバ1322の背面の超音波通信送信部1002から距離測定信号4002を送信し、サーバ1222の前面を反射してサーバ1322の背面の超音波通信受信部1001で受信されるまでの時間を元に計算する。この時求められたサーバ1222との間の距離をNとする。
【0039】
続けて、サーバ1322は、水平方向隣接サーバ探索指示4011を受信した方向へ向けて、すなわち、サーバ1322の背面の超音波通信送信部1002から、水平方向ID報告要求4012を送信する。
この水平方向ID報告要求4012は、サーバ1211、1212、1213、1221、1222、1223、1231、1232、1233によって受信される。
【0040】
水平方向ID報告要求4012を受け取った各サーバでは、この通信の入射角を計算し、「入射角が垂直方向0度かつ水平方向0度以外」の条件を満たさない場合には、この通信を無視する。
「入射角が垂直方向0度かつ水平方向0度以外」の条件を満たすサーバは、サーバ1212、1232だけであり、このサーバ1212、1232だけがこの通信を処理する。
【0041】
サーバ1212、1232は、水平方向ID報告要求4012を受信すると、水平方向ID報告要求4012に対する応答として、水平方向ID応答4013を返信する。水平方向ID応答4013には、サーバの固有IDが含まれており、受信側において、どのサーバからの通信であるかを識別できるようになっている。
【0042】
ここで、サーバ1212、1232が、直ちに水平方向ID応答4013を送信してしまうと、サーバ1212からの通信とサーバ1232からの通信がサーバ1322に同時に届いてしまい、コリジョンが起きサーバ1322が正しく通信を受け取れない恐れがある。
【0043】
そこで、サーバ1212、1232では水平方向ID報告要求4012の入射角を元に、規定時間待機してから水平方向ID応答4013を送信するようにするのが好ましい。この待機時間は、入射角の正負、および大きさに応じてあらかじめ決めておくものでよく、例えば入射角が+1度~+10度の場合は1秒、+11度~+20度の場合は2秒、+21度~+30度の場合は3秒、+31度~+40度の場合は4秒、-1度~-10度の場合は5秒、-11度~-20度の場合は6秒、-21度~-30度の場合は7秒、-31度~-40度の場合は8秒、のように定めればよい。
【0044】
サーバ1322では、水平方向ID応答4013が最大の待機時間分だけ遅延して応答されることを想定し、通信を待ち続ける必要がある。
サーバ1322は、水平方向ID応答4013を受け取ると、入射角を算出し、続けて水平方向隣接サーバ探索指示4011の送信元であるサーバ1222と、サーバ1212及びサーバ1232との水平方向の距離を計算する。
【0045】
具体的には、サーバ1212からの通信の入射角をθ1、サーバ1232からの通信の入射角をθ2、サーバ1322とサーバ1222との間の距離を上述で求めたN、サーバ1222とサーバ1212の間の距離をX1、サーバ1222とサーバ1232の間の距離をX2とした時に、X1とX2は、X1=Ntanθ1、X2=Ntanθ2として求められる。
【0046】
X1とX2を求めると、サーバ1322は、サーバ1222に対して水平方向隣接サーバ探索結果報告4014を送信する。
水平方向隣接サーバ探索結果報告4014には、サーバ1222の前面の正面方向の距離Nの位置にサーバ1322が位置すること、サーバ1222から左方向の距離X1の位置にサーバ1212が位置すること、サーバ1222から右方向の距離X2の位置にサーバ1232が位置すること、が含まれている。
サーバ1222では、この情報を元に、自身の正面のサーバ1322、左右のサーバ1212、1232の存在及び位置を認識することができる。
【0047】
続けて、サーバ1222は、先ほどとは逆側に、すなわちサーバ1222の背面の超音波通信送信部1002から、水平方向隣接サーバ探索指示4011を送信し、前側と同様の処理を行うことで、サーバ1222は、サーバ1122からの水平方向隣接サーバ探索結果報告4014を受信する。
【0048】
既にサーバ1322経由で左右のサーバ1212、1232は確認済みではあるが、障害物などの影響で見通しがきかずサーバ1322がサーバ1212、1232のいずれかの検出に失敗している可能性を否定できないため、サーバ1122でも再度同じ手順を実行する。
【0049】
サーバ1122が水平方向隣接サーバ探索結果報告4014を返すことで、サーバ1222の背面側の正面に位置するサーバがサーバ1122であること、サーバ1222から左方向の距離X1の位置にサーバ1212が位置すること、サーバ1222から右方向の距離X2の位置にサーバ1232が位置することがわかり、先ほどの結果とあわせてサーバ1222の前後左右のサーバを確実に識別することができる。
【0050】
<<垂直方向のサーバ設置位置の検出方法>>
次に、サーバ1222の上下に位置するサーバを検出する方法について、
図7を用いて説明する。
まず、サーバ1222は、前面の超音波通信送信部1002から、超音波通信である垂直方向隣接サーバ探索指示4201を送信する。この通信は、サーバ1222からの超音波が届く範囲にあるサーバ1311、1312、1313、1321、1322、1323、1331、1332、1333で受信される。
【0051】
垂直方向隣接サーバ探索指示4201を受け取った各サーバでは、この通信の入射角を計算し、「入射角が垂直方向0度かつ水平方向0度」という条件を満たさない場合には、この通信を無視する。
「入射角が垂直方向0度かつ水平方向0度」の条件を満たすサーバは、サーバ1322だけであり、サーバ1322だけがこの通信を処理する。
【0052】
サーバ1322は、垂直方向隣接サーバ探索指示4201を受信すると、垂直方向隣接サーバ探索指示4201を受信した方向のサーバ、すなわちサーバ1222との間の距離を測定する。
【0053】
具体的には、サーバ1322の背面の超音波通信送信部1002から距離測定信号4002を送信し、サーバ1222の前面で反射してサーバ1322の背面の超音波通信受信部1001で受信されるまでの時間を元に計算する。この時求められたサーバ1222との間の距離をNとする。
【0054】
次に、サーバ1322は、垂直方向隣接サーバ探索指示4201を受信した方向へ向けて、すなわち、サーバ1322の背面の超音波通信送信部1002から、垂直方向ID報告要求4022を送信する。
【0055】
この垂直方向ID報告要求4022は、サーバ1211、1212、1213、1221、1222、1223、1231、1232、1233によって受信される。受け取った各サーバでは、この通信の入射角を計算し、「入射角が垂直方向0度以外かつ水平方向0度」という条件を満たさない場合は、この通信を無視する。
【0056】
「入射角が垂直方向0度以外かつ水平方向0度」という条件を満たすサーバは、サーバ1221、1223だけであり、この2つのサーバだけがこの通信を処理する。
サーバ1221、1223では、垂直方向ID報告要求4022に対する応答として、垂直方向応答4023を返信する。垂直方向ID応答4023には、サーバの固有IDが含まれており、受信側でどのサーバからの通信であるかを識別できるようになっている。
【0057】
ここで、サーバ1221、1223から直ちに垂直方向ID応答4023を送信してしまうと、サーバ1221からの通信とサーバ1223からの通信がサーバ1322に同時に届いてしまい、コリジョンが起き、サーバ1322が正しく通信を受け取れない恐れがある。
【0058】
そこで、サーバ1221、1223では、垂直方向ID報告要求4022の入射角を元に規定時間待機してから垂直方向ID応答4023を送信するのが好ましい。
この待機時間は、入射角の正負、および大きさに応じてあらかじめ決めておくものでよく、例えば入射角が+1度~+10度の場合は1秒、+11度~+20度の場合は2秒、+21度~+30度の場合は3秒、+31度~+40度の場合は4秒、-1度~-10度の場合は5秒、-11度~-20度の場合は6秒、-21度~-30度の場合は7秒、-31度~-40度の場合は8秒、のように定めればよい。
【0059】
サーバ1322は、垂直方向ID応答4023を受け取ると、入射角を算出し、続けて垂直方向隣接サーバ探索指示4021の送信元であるサーバ1222との垂直方向の距離を計算する。
【0060】
サーバ1221からの通信の入射角をθ1、サーバ1223からの通信の入射角をθ2、サーバ1322とサーバ1222との間の距離を上述したN、サーバ1222とサーバ1221の間の距離をY1、サーバ1222とサーバ1223の間の距離をY2とすると、Y1とY2は、Y1=Ntanθ1、Y2=Ntanθ2として求められる。
【0061】
Y1とY2を求めると、サーバ1322は、サーバ1222に対して垂直方向隣接サーバ探索結果報告4024を送信する。垂直方向隣接サーバ探索結果報告4024には、サーバ1222の前面の正面方向距離Nの位置にサーバ1322が位置すること、サーバ1222の上方向距離Y1の位置にサーバ1221が位置すること、サーバ1222から下方向距離Y2の位置にサーバ1223が位置すること、が含まれている。
サーバ1222は、この情報を元に、自身の正面のサーバ及び上下のサーバの位置及び存在を認識することができる。
【0062】
続けて、サーバ1222は、先ほどとは逆側に、すなわちサーバ1222の背面の超音波通信送信部1002から、垂直方向隣接サーバ探索指示4021を送信し、前側と同様の処理を行うことで、サーバ1222は、サーバ1122からの垂直方向隣接サーバ探索結果報告4024を受信する。
【0063】
既にサーバ1322経由で上下のサーバ1221、1223は確認済みではあるが、障害物などの影響で見通しがきかず、サーバ1322がサーバ1221、1223のいずれかの検出に失敗している可能性を否定できないため、サーバ1122でも再度同じ手順を実行する。
【0064】
以上の手順で、あるサーバの前後左右上下に隣接するサーバを識別することができた。以上の手順をサーバルームに設置されているすべてのサーバで実行し、その結果を照らし合わせることでサーバ間の位置関係を把握することができ、サーバルーム内でのサーバの設置位置を自動的に認識することができる。
【0065】
結果を照らし合わせるためには、各サーバの位置関係を収集するためサーバ間で通信をする必要があるが、この時に超音波通信をする必要はなく、LAN等の一般的な仕組みを使用して通信をすれば良い。
サーバ1000に搭載されるBMC1003は、一般的にLAN接続されたネットワークに参加しているため、BMC1003間で通信をすることは容易である。
【0066】
<<ラックサーバ>>
図8にラックサーバの前面の例を、
図9にラックサーバの背面の例を示す。いずれの面にも、超音波通信送信部1002と超音波通信受信部1001が配置されている。もっとも、超音波通信送信部1002と超音波通信受信部1001の配置は必ずしもこの例のとおりにする必要はなく、製品ごとの空きスペースに応じて調整をすればよい。
【0067】
次に、ラックサーバの構成例を
図10に示す。ラックサーバの構成は、
図4に示したサーバの構成とほぼ同じであり、
図4との差分についてのみ説明する。
BMC1003を搭載する一般的なサーバ1000は、BMC1003を管理用ネットワーク6000に接続するために、管理用LANポート1004を備えている。これにより、BMC1003は、BMC1003同士と、あるいは後述するサーバ管理ソフトウェアと通信をすることができるようになっている。
【0068】
<<ネットワーク構成>>
次に、サーバ1000を設置しているサーバルーム内のネットワークの構成例を
図11に示す。
サーバルームには、サーバ1000が複数設置されている。これらのサーバ1000の管理用LANポート1004は、管理用ネットワーク6000に接続されている。
【0069】
管理用ネットワーク6000は、業務に使用する業務用ネットワークとは独立した、サーバの監視や管理を行うために使用されるネットワークであり、一般的に各サーバ1000の管理用LANポート1004はこちらのネットワークに接続される。
【0070】
この管理用ネットワーク6000には、管理用サーバ3000が接続されており、管理用サーバ3000ではサーバ1000を管理するためのサーバ管理ソフトウェア3001が動作している。サーバ管理ソフトウェア3001は、各サーバ1000のBMC1003と通信し、サーバ1000の監視などを集中的に行うためのものである。
【0071】
本実施形態は、サーバ管理ソフトウェア3001が、各サーバ1000に位置情報(他のサーバとの相対的な位置関係から定まる位置情報)の探索を指示し、サーバ1000がサーバ管理ソフトウェア3001に位置情報を報告し、サーバ管理ソフトウェア3001上にサーバ1000の位置を表示することを想定している。もっとも、サーバ管理ソフトウェア3001を使わずに、BMC1003同士が位置情報を交換し合い、BMC1003上の管理画面上にサーバ1000の位置を表示しても良い。
【0072】
<サーバ管理方法>
次に、
図12のようにサーバが設置されている場合を例に、本実施形態のサーバの管理方法について説明する。
まず、サーバルームにサーバを設置した際には、サーバ間の超音波通信を阻害する物を設置する前に、サーバ管理ソフトウェア3001に設置したサーバを登録する作業を実施する。
【0073】
例えば、サーバラックには前面や背面に設置するカバーを搭載可能な製品が多くあるが、それらは一旦設置しないでおく。また、サーバの背面に超音波通信を阻害する程度の大量のケーブルを配線する予定がある場合は、まずは最低限のケーブルの配線だけに留めておく。
【0074】
<<隣接サーバ探索処理>>
次に、
図13に示すように、サーバ管理ソフトウェア3001に設置したサーバが登録されると、サーバ管理ソフトウェア3001は、そのサーバに対して隣接サーバ探索指示4001を送信する。なお、管理者がサーバ管理ソフトウェア3001上で操作をすることで隣接サーバ探索指示4001が送信される仕組みとしても良い。
以下では、サーバ管理ソフトウェア3001からサーバ1221に対して、隣接サーバ探索指示4001が送信された例について説明する。
【0075】
<<水平方向のサーバの探索>>
サーバ1221が隣接サーバ探索指示4001を受け取ると、
図14に示すように、まず前後左右の隣接サーバの探索を行う。なお、以下では、
図14のように各ラックの最上段に設置されたサーバを上から見下ろす形であらわした図を用いて説明する。
まず、サーバ1221は、前面の超音波通信送信部1002から超音波通信の水平方向隣接サーバ探索指示4011を送信する。
【0076】
この通信は、サーバ1311、1312、1313、1321、1322、1323、1331、1332、1333で受信される。
水平方向隣接サーバ探索指示4011を受け取った各サーバは、この通信の入射角を計算する。そして、「入射角が垂直方向0度かつ水平方向0度」という条件を満たさない場合には、この通信を無視する。
したがって、サーバ1321以外のサーバでは、この通信は無視される。なお、
図14の縦線の矢印は無視された通信を示す。
結果として、サーバ1321だけが水平方向隣接サーバ探索指示4011を受信して、処理を行う。
【0077】
サーバ1321は、
図15に示すように、水平方向隣接サーバ探索指示4011を受け取った背面側から距離測定信号4002を送信し、サーバ1221で反射した信号を受信するまでの時間から、サーバ1221との間の距離Nを測定する。
【0078】
サーバ1321は、
図16に示すように、水平方向隣接サーバ探索指示4011を受け取った背面側から水平方向ID報告要求4012を送信する。
この通信はサーバ1211、1212、1213、1221、1222、1223、1231、1232、1233で受信される。水平方向ID報告要求4012を受け取った各サーバではこの通信の入射角を計算する。そして、「入射角が水平方向0度以外かつ垂直方向0度」という条件を満たさない場合には、この通信を無視する。
したがって、サーバ1211、1231以外のサーバでは、この通信は無視される。なお、
図15の縦線の矢印は無視された通信を示す。
結果として、サーバ1211、1231だけが水平方向ID報告要求4012の処理を行う。
【0079】
サーバ1211、1231は、
図17に示すように、水平方向ID報告要求4012の入射角を元に、規定時間待機してから水平方向ID応答4013を送信する。上述のとおり、この待機時間は入射角の正負、および大きさに応じてあらかじめ決めておくものである。これにより、サーバ1211、1231からの水平方向ID応答4013が、時間差でサーバ1321によって受信される。
【0080】
水平方向ID応答4013を受け取ったサーバ1321では、
図18に示すように、サーバ1221との距離N、水平方向ID応答4013の水平方向入射角θを元に、サーバ1221と水平方向ID応答4013を送信したサーバの間の距離Xを計算する。
なお、
図18では、サーバ1231からの水平方向ID応答4013の水平方向入射角がθ2の際に、サーバ1231とサーバ1221の間の距離X2を計算する場合の例を示しており、具体的には、X2=Ntanθ2で得られる。同様に、サーバ1211からの水平方向ID応答4013の水平方向入射角がθ1の際、サーバ1211とサーバ1221の間の距離X1は、X1=Ntanθ1で得られる。
【0081】
次に、サーバ1321は、
図19に示すように、水平方向隣接サーバ探索結果報告4014をサーバ1221へ送信する。水平方向隣接サーバ探索結果報告4014には、サーバ1221の正面方向距離Nの位置にサーバ1321が位置すること、サーバ1221から左方向の距離X1の位置にサーバ1211が位置すること、サーバ1221から右方向の距離X2の位置にサーバ1231が位置すること、が含まれている。サーバ1221では、この情報を元に、自身の正面のサーバ1321、左右のサーバ1211、1231の存在及び位置を認識することができる。
【0082】
次に、サーバ1221は背面から超音波通信の水平方向隣接サーバ探索指示4011を送信する。以後、前面側(サーバ1321側)と同じ手順が再度実行される。
既にサーバ1321経由で左右のサーバ1211、1231は確認済みではあるが、障害物などの影響で見通しがきかずサーバ1321がサーバ1211、1231のいずれかの検出に失敗している可能性を否定できないため、サーバ1121でも再度手順を実行する。例えば、サーバ1211とサーバ1321の間に何らかの障害物が置かれていると、サーバ1321側の処理だけではサーバ1211を検出できない。
【0083】
具体的には、
図20に示すように、サーバ1221から送信された水平方向隣接サーバ探索指示4011は、サーバ1121以外のサーバでは無視され、サーバ1121においてのみ処理される。なお、
図20の縦線の矢印は無視された通信を示す。
そして、サーバ1221は、
図21に示すように、距離測定信号4002を送信し、サーバ1221で反射した信号を受信するまでの時間から、サーバ1221との間の距離Nを測定する。
【0084】
そして、サーバ1121は、
図22に示すように、水平方向ID報告要求4012を送信する。この通信は、サーバ1211、1231以外のサーバでは無視され、サーバ1111、1131だけが水平方向ID報告要求4012の処理を行う。なお、
図22の縦線の矢印は無視された通信を示す。
そして、サーバ1111、1131は、
図23に示すように、水平方向ID報告要求4012の入射角を元に、規定時間待機してから水平方向ID応答4013を送信する。
【0085】
水平方向ID応答4013を受け取ったサーバ1121では、サーバ1221との距離N、水平方向ID応答4013の水平方向入射角θを元に、サーバ1221と水平方向ID応答4013を送信したサーバの間の距離Xを計算し、
図24に示すように、水平方向隣接サーバ探索結果報告4014をサーバ1221へ送信する。
以上で、水平方向のサーバの探索が終了する。
【0086】
<<水平方向隣接サーバ探索指示送信処理>>
ここで、水平方向のサーバの探索の処理のうち、隣接サーバ探索指示4001を受け取ったサーバ(上記ではサーバ1221)で行われる処理、すなわち、水平方向隣接サーバ探索指示送信処理のフローについて、
図25を用いて説明する。
【0087】
まず、あるサーバにおいて、隣接サーバ探索指示4001を受け付けると、水平方向隣接サーバ探索指示送信処理は開始される(ステップS11)。
そして、当該サーバは、前面から水平方向隣接サーバ探索指示4011を送信する(ステップS12)。
【0088】
次に、当該サーバは、水平方向隣接サーバ探索結果報告4014を受信したか否かを判別する(ステップS13)。
水平方向隣接サーバ探索結果報告4014を受信した場合は、次のステップS15に進む。
水平方向隣接サーバ探索結果報告4014を受信していない場合は、所定時間が経過したか否かを判別する(ステップS14)。所定時間が経過していない場合は、ステップS13に戻り、所定時間が経過した場合はステップS15に進む。
【0089】
ステップS15では、当該サーバは、背面から水平方向隣接サーバ探索指示4011を送信する。
次に、当該サーバは、水平方向隣接サーバ探索結果報告4014を受信したか否かを判別する(ステップS16)。
水平方向隣接サーバ探索結果報告4014を受信した場合は、次のステップS18に進んで、本処理を終了する。
水平方向隣接サーバ探索結果報告4014を受信していない場合は、所定時間が経過したか否かを判別する(ステップS17)。所定時間が経過していない場合は、ステップS16に戻り、所定時間が経過した場合はステップS18に進んで、本処理を終了する。
【0090】
<<水平方向隣接サーバ探索処理>>
次に、水平方向のサーバの探索の処理のうち、水平方向隣接サーバ探索指示4011を受信したサーバ(上記ではサーバ1311、1312、1313、1321、1322、1323、1331、1332、1333)で行われる処理、すなわち、水平方向隣接サーバ探索処理のフローについて、
図26を用いて説明する。
【0091】
まず、あるサーバにて、水平方向隣接サーバ探索指示4011を受け付けると、水平方向隣接サーバ探索指示送信処理は開始される(ステップS21)。
そして、当該サーバは、受信した水平方向隣接サーバ探索指示4011の入射角を算出する(ステップS22)。
【0092】
次に、算出した入射角について、「垂直方向0度かつ水平方向0度」という条件を満たすか否か判別する(ステップS23)。
入射角が垂直方向0度以外、又は、水平方向0度以外の場合は、ステップ30に進んで、本処理を終了する。
入射角が垂直方向0度かつ水平方向0度のときは、ステップS24に進む。
【0093】
ステップS24では、当該サーバは、距離測定信号4002を送信し、水平方向隣接サーバ探索指示4011を送信したサーバとの間の距離を測定する。
次に、当該サーバは、水平方向ID報告要求4012を送信する(ステップS25)。
【0094】
次に、当該サーバは、上述した規定時間待機する(ステップS26)。
その後、当該サーバは、水平方向ID応答4013を受信したか否か判別する(ステップS27)。水平方向ID応答4013を規定時間内に受信しなかった場合は、ステップS29に進む。
水平方向ID応答4013を1つ以上受信した場合は、ステップS28に進む。
【0095】
ステップS28では、当該サーバは、水平方向ID応答4013の入射角とIDをもとに、水平方向隣接サーバ探索指示4011を送信したサーバと、水平方向ID応答4013を送信したサーバの位置関係を算出する。
次に、当該サーバは、水平方向隣接サーバ探索指示4011を送信したサーバに対し、水平方向隣接サーバ探索結果4014を送信する(ステップS29)。
その後、ステップ30に進んで、本処理を終了する。
【0096】
<<水平方向ID応答処理>>
次に、水平方向のサーバの探索の処理のうち、水平方向ID報告要求4012を受信したサーバで行われる処理、すなわち水平方向ID応答処理のフローについて、
図27を用いて説明する。
【0097】
まず、あるサーバにて、水平方向ID報告要求を受け付けると、水平方向ID応答処理は開始される(ステップS41)。
そして、当該サーバは、受信した水平方向ID報告要求4012の入射角を算出する(ステップS42)。
【0098】
次に、当該サーバは、入射角について「水平方向0度以外かつ垂直方向0度」という条件を満たすか否か判別する(ステップS43)。
入射角が水平方向0度、又は、垂直方向0度以外の場合は、ステップS46に進んで、本処理を終了する。
入射角が水平方向0度以外かつ垂直方向0度の場合は、ステップS44に進む。
【0099】
ステップS44では、当該サーバは、入射角をもとに規定時間待機する。
その次に、当該サーバは、水平方向ID報告要求4012を送信したサーバに対して、水平方向ID応答4013を送信する(ステップS45)。
そして、ステップS46に進んで、本処理を終了する。
【0100】
<<上下方向のサーバの探索>>
前後左右の隣接サーバの探索、すなわち水平方向のサーバの探索が完了した後に、続けて上下方向のサーバの探索が実行される。
この時の動作を、
図28のようにサーバラック2012、2022、2032を横方向から見た図を用いて説明する。
【0101】
サーバ1221は、
図28に示すように、前面から垂直方向隣接サーバ探索指示4021を送信する。この通信はサーバ1311、1312、1313、1321、1322、1323、1331、1332、1333で受信される。垂直方向隣接サーバ探索指示4021を受け取った各サーバでは、この通信の入射角を計算し、「入射角が垂直方向0度かつ水平方向0度」という条件を満たさない場合にはこの通信を無視する。したがって、サーバ1321以外ではこの通信は無視される。なお、
図28の縦線の矢印は無視される通信を表す。
結果として、サーバ1321だけが、垂直方向隣接サーバ探索指示4021を受信し処理を行う。
【0102】
次に、サーバ1321は、
図29に示すように、垂直方向隣接サーバ探索指示4021を受け取った背面側から距離測定信号4002を送信し、反射した信号を受信するまでの時間から、サーバ1221との間の距離Nを測定する。
【0103】
次に、サーバ1321は、
図30に示すように、垂直方向隣接サーバ探索指示4021を受け取った背面側から垂直方向ID報告要求4022を送信する。この通信はサーバ1211、1212、1213、1221、1222、1223、1231、1232、1233で受信される。垂直方向隣接サーバ探索指示4021を受け取った各サーバでは、この通信の入射角を計算し、「入射角が水平方向0度かつ垂直方向0度以外」という条件を満たさない場合にはこの通信を無視する。したがって、サーバ1222、1223以外ではこの通信は無視される。なお、
図30の縦線の矢印は無視される通信を表す。
結果として、サーバ1222、1223だけが、垂直方向ID報告要求4022を受信して処理を行う。
【0104】
次に、サーバ1222、1223は、
図31に示すように、垂直方向隣接サーバ探索指示4021の入射角を元に規定時間待機してから垂直方向ID応答4023を送信する。上述のとおり、この待機時間は入射角の正負、および大きさに応じてあらかじめ決めておくものである。これにより、サーバ1222、1223からの垂直方向ID応答4023は時間差でサーバ1321によって受信される。
【0105】
次に、垂直方向ID応答4023を受け取ったサーバ1321では、
図32に示すように、サーバ1221との距離N、垂直方向ID応答4023の垂直方向入射角θを元に、サーバ1221と垂直方向ID応答4023を送信したサーバの間の距離Yを計算する。
なお、
図32では、サーバ1223からの垂直方向ID4023の垂直方向入射角がθ2の際に、サーバ1223とサーバ1221との間の距離Y2を計算する場合の例を示しており、具体的にはY2=Ntanθ2で得られる。同様に、サーバ1222からの垂直方向ID応答4023の垂直方向入射角がθ1の際、サーバ1222とサーバ1221との間の距離Y1は、Y1=Ntanθ1で得られる。
【0106】
次に、サーバ1321は、
図33に示すように、垂直方向隣接サーバ探索結果報告4024をサーバ1221へ送信する。垂直方向隣接サーバ探索結果報告4024には、サーバ1221の正面方向Nの位置にサーバ1321が位置すること、サーバ1221から下方向の距離Y1の位置にサーバ1222が位置すること、サーバ1221から下方向の距離Y2の位置にサーバ1223が位置すること、が含まれている。サーバ1221では、この情報を元に、自身の下段のサーバ1222、1223の存在及び位置を認識することができる。
【0107】
次に、サーバ1221は背面から超音波通信の垂直方向隣接サーバ探索指示4021を送信する。以後、前面側(サーバ1321側)と同じ手順が再度実行される。
既にサーバ1321経由で上下のサーバ1222、1223は確認済みではあるが、障害物などの影響で見通しがきかず、サーバ1321がサーバ1222、1223のいずれかの検出に失敗している可能性を否定できないため、サーバ1121でも再度手順を実行する。例えば、サーバ1223の前面の床上に障害物が置かれていると、サーバ1321側の処理だけではサーバ1223を検出できない。
【0108】
具体的には、
図34に示すように、サーバ1221から送信された垂直方向隣接サーバ探索指示4021は、サーバ1121以外のサーバでは無視され、サーバ1121においてのみ処理される。なお、
図34の縦線の矢印は無視された通信を示す。
そして、サーバ1221は、
図35に示すように、距離測定信号4002を送信し、サーバ1221で反射した信号を受信するまでの時間から、サーバ1221との間の距離Nを測定する。
【0109】
そして、サーバ1121は、
図36に示すように、垂直方向ID報告要求4022を送信する。この通信は、サーバ1222、1223以外のサーバでは無視され、サーバ1222、1223だけが垂直方向ID報告要求4022の処理を行う。なお、
図36の縦線の矢印は無視された通信を示す。
そして、サーバ1222、1223は、
図37に示すように、垂直方向ID報告要求4022の入射角を元に、規定時間待機してから垂直方向ID応答4023を送信する。
【0110】
垂直方向ID応答4023を受け取ったサーバ1121では、サーバ1221との距離N、垂直方向ID応答4023の垂直方向入射角θを元に、サーバ1221と垂直方向ID応答4023を送信したサーバの間の距離Yを計算し、
図38に示すように、垂直方向隣接サーバ探索結果報告4024をサーバ1221へ送信する。
以上で、垂直方向のサーバの探索が終了する。
【0111】
<<垂直方向隣接サーバ探索指示送信処理>>
ここで、垂直方向のサーバの探索の処理のうち、隣接サーバ探索指示4001を受け取ったサーバ(上記ではサーバ1221)で、水平方向隣接サーバ探索指示送信処理が終了した後に行われる処理、すなわち、垂直方向隣接サーバ探索指示送信処理のフローについて、
図39を用いて説明する。
【0112】
まず、あるサーバにおいて、隣接サーバ探索指示4001を受け付け、水平方向隣接サーバ探索指示送信処理が終わると(
図25参照)、垂直方向隣接サーバ探索指示送信処理が開始する(ステップS51)。
そして、当該サーバは、前面から垂直方向隣接サーバ探索指示4021を送信する(ステップS52)。
【0113】
次に、当該サーバは、垂直方向隣接サーバ探索結果報告4024を受信したか否かを判別する(ステップS53)。
垂直方向隣接サーバ探索結果報告4024を受信した場合は、次のステップS55に進む。
垂直方向隣接サーバ探索結果報告4024を受信していない場合は、所定時間が経過したか否かを判別する(ステップS54)。所定時間が経過していない場合は、ステップS53に戻り、所定時間が経過した場合はステップS55に進む。
【0114】
ステップS55では、当該サーバは、背面から垂直方向隣接サーバ探索指示4021を送信する。
次に、当該サーバは、垂直方向隣接サーバ探索結果報告4024を受信したか否かを判別する(ステップS56)。
垂直方向隣接サーバ探索結果報告4024を受信した場合は、次のステップS58に進んで、本処理を終了する。
垂直方向隣接サーバ探索結果報告4024を受信していない場合は、所定時間が経過したか否かを判別する(ステップS57)。所定時間が経過していない場合は、ステップS56に戻り、所定時間が経過した場合はステップS58に進んで、本処理を終了する。
【0115】
<<垂直方向隣接サーバ探索処理>>
次に、垂直方向のサーバの探索の処理のうち、垂直方向隣接サーバ探索指示4021を受信したサーバ(上記ではサーバ1311、1312、1313、1321、1322、1323、1331、1332、1333)で行われる処理、すなわち、垂直方向隣接サーバ探索処理のフローについて、
図40を用いて説明する。
【0116】
まず、あるサーバにて、垂直方向隣接サーバ探索指示4021を受け付けると、垂直方向隣接サーバ探索指示送信処理は開始される(ステップS61)。
そして、当該サーバは、受信した垂直方向隣接サーバ探索指示4021の入射角を算出する(ステップS62)。
【0117】
次に、算出した入射角について、「垂直方向0度かつ水平方向0度」という条件を満たすか否か判別する(ステップS63)。
入射角が垂直方向0度以外、又は、水平方向0度以外の場合は、ステップ70に進んで、本処理を終了する。
入射角が垂直方向0度かつ水平方向0度のときは、ステップS64に進む。
【0118】
ステップS64では、当該サーバは、距離測定信号4002を送信し、垂直方向隣接サーバ探索指示4021を送信したサーバとの間の距離を測定する。
次に、当該サーバは、垂直方向ID報告要求4022を送信する(ステップS65)。
【0119】
次に、当該サーバは、上述した規定時間待機する(ステップS66)。
その後、当該サーバは、垂直方向ID応答4023を受信したか否か判別する(ステップS67)。垂直方向ID応答4023を規定時間内に受信しなかった場合は、ステップS69に進む。
垂直方向ID応答4023を1つ以上受信した場合は、ステップS68に進む。
【0120】
ステップS68では、当該サーバは、垂直方向ID応答4023の入射角とIDをもとに、垂直方向隣接サーバ探索指示4021を送信したサーバと、垂直方向ID応答4023を送信したサーバの位置関係を算出する。
次に、当該サーバは、垂直方向隣接サーバ探索指示4021を送信したサーバに対し、垂直方向隣接サーバ探索結果4024を送信する(ステップS69)。
その後、ステップ70に進んで、本処理を終了する。
【0121】
<<垂直方向ID応答処理>>
次に、垂直方向のサーバの探索の処理のうち、垂直方向ID報告要求4022を受信したサーバ(上記ではサーバ1211、1212、1213、1221、1222、1223、1231、1232、1233)で行われる処理、すなわち垂直方向ID応答処理のフローについて、
図41を用いて説明する。
【0122】
まず、あるサーバにて、垂直方向ID報告要求を受け付けると、垂直方向ID応答処理は開始される(ステップS81)。
そして、当該サーバは、受信した垂直方向ID報告要求4022の入射角を算出する(ステップS82)。
【0123】
次に、当該サーバは、入射角について「水平方向0度かつ垂直方向0度以外」という条件を満たすか否か判別する(ステップS83)。
入射角が水平方向0度以外、又は、垂直方向0度の場合は、ステップS86に進んで、本処理を終了する。
入射角が水平方向0度かつ垂直方向0度以外の場合は、ステップS84に進む。
【0124】
ステップS84では、当該サーバは、入射角をもとに規定時間待機する。
その次に、当該サーバは、垂直方向ID報告要求4022を送信したサーバに対して、垂直方向ID応答4023を送信する(ステップS85)。
そして、ステップS86に進んで、本処理を終了する。
【0125】
上述した水平方向のサーバの探索及び上下方向のサーバの探索により、サーバ1221は、自身の前後左右と上下に設置された隣接サーバを認識することができた。
そこで、サーバ1221は、
図42に示すように、認識した隣接サーバについての情報、具体的には自信の前後左右と上下に設置された隣接サーバの存在及び位置に関する情報を、隣接サーバ探索結果報告4003として、サーバ管理ソフトウェア3001に送信する。
【0126】
サーバ管理ソフトウェア3001では、上述した水平方向のサーバの探索及び上下方向のサーバの探索を、サーバ管理ソフトウェア3001に登録されたすべてのサーバで行い、すべてのサーバの位置関係を収集する。
以上でサーバ間の位置関係を把握することができたので、この情報を元に画面上にサーバの位置を表示することができる。例えば、画面上に
図12のようなグラフィカルな情報を表示することも可能である。
【0127】
サーバへの追加の配線や、サーバラックの前後にカバーを搭載する場合は、以上の処理が完了した後で作業を行う。サーバの設置位置の設定はサーバ設置時に1回だけ行えば良く、これ以降はサーバ管理ソフトウェアに保存されたサーバの位置情報を用いてサーバの管理を行うことができる。
【0128】
本実施形態によれば、サーバの設置位置を自動設定することが可能となる。これにより、サーバルーム内における位置を求めるために別の仕組みを用いる必要がなくなる。
関連技術の方法ではサーバとサーバラックの両方に部品を搭載する必要があったが、本実施形態では、サーバ単体で設置位置を自動設定できる。
この結果、たとえば関連技術であれば、専用のサーバラックでなければ管理できないという不都合があったが、本実施形態によれば、専用のサーバラック以外でも管理可能となる。加えて、関連技術であれば、サーバラックにも電源や通信ケーブルを接続する必要がある、などの課題もあったが、本実施形態によれば、このような不都合は解消される。
【0129】
また、関連技術では、無線通信モジュールをサーバラックのすべての段に設置しているので、コストが大きくなるという不都合もあったが、本実施形態によれば、このような不都合は解消される。加えて、関連技術では、サーバを搭載せず使用しない段に設置した部品類が無駄になってしまうという不都合もあったが、本実施形態ではこのような不都合も解消される。
【0130】
また、関連技術の場合、そもそもサーバラックがサーバルームに多数設置されている場合、サーバラックがサーバルーム内のどの位置に設置されているかを識別するためには、さらに別の仕組みを併用する必要があるという不都合があった。
これに対しては、サーバラック同士の位置を識別する方法を併用することも考えられるが、その場合は、サーバラック側にサーバの位置を認識するための仕組みと、サーバラック同士の位置を認識するための仕組みを二重に搭載する必要があり、コスト的な面で不利になるという不都合があった。
本実施形態によれば、これらの不都合が解消される。
【0131】
また、超音波通信用の部品は非常に安価であるため、本実施形態では、RFIDリーダをはじめとする近接通信用の高価な部品を使うことなく低コストで実現することができる。加えて、サーバ前面に超音波送受信機を設置するため、これを用いてサーバラックの扉の開閉状況を識別可能という副次的効果も得られる。
【0132】
[第2の実施形態]
次に本発明の第2の実施形態について説明する。
第1の実施形態では、サーバの前面ないしは背面側に位置する別のサーバによって、当該サーバの左右、上下に位置する別のサーバを検出する仕組みとしている。これは、上述のとおり、サーバラックの左右には開口部がなく、左右に設置されたラックと直接通信をすることができないためである。
また、超音波通信の送受信部を上限方向に向ければ上下のサーバとは直接通信することが可能ではあるが、第1の実施形態では別のサーバから上下方向のサーバも検出することで、上下方向の超音波送受信部を省略する形にしている。
【0133】
もっとも、第1の実施形態では、このような仕組みの関係上、サーバルームにサーバラックが1列だけ設置されているようなケースでは、採用することが難しい。
【0134】
そこで、本実施形態では、これに対する解決法として、サーバの位置を検出するための基準となるマーカーを設置し、各サーバは基準マーカーからの相対的な位置を計算し、これを元にサーバ管理ソフトウェアで各サーバの位置関係を求める方法を採用した。以下、第1の実施形態と異なる部分を中心に説明する。
【0135】
<サーバ管理システム>
本実施形態では、
図43に示すように、サーバラック2041、2042、2043、2044が一列に設置されている例について説明する。図の手前側がサーバの前面、奥川が背面とする。このような例では、サーバの正面および背面側に別のサーバが設置されていないため、各サーバだけで位置関係を求めることは不可能である。
【0136】
そこで、各サーバの前面に基準となる超音波を発信する基準マーカー5000を設置する。この基準マーカー5000には1台ずつ固有のIDが割り振られており、この固有IDを超音波通信で発信している。
【0137】
基準マーカー5000は、いずれか1台のサーバの真正面に設置するのが好ましい。また、この基準マーカー5000は、複数設置しても良い。
図43では、一例として、基準マーカー5010をサーバ1422の正面に、基準マーカー5020をサーバ1442の正面に設置している。
【0138】
次に、基準マーカー5000の構成を、
図44及び
図45を用いて説明する。基準マーカー5000は、超音波送信機5001を備え、超音波通信の送信をすることができる。また、反射板5002によって、前方から送られてきた超音波を反射することができる。超音波送信機5001は、マイクロコンピュータ5003によって制御されており、マイクロコンピュータ5003にはEEPROM5004が接続されている。
【0139】
EEPROM5004には、基準マーカー5000の固有IDが書き込まれており、これを読み込むことでマイクロコンピュータ5003は、超音波送信機5001から固有IDを超音波通信で発信することができる。
【0140】
<サーバ管理方法>
次に、基準マーカー5000を用いた場合のサーバ設置位置の認識方法を説明する。まず、
図46では、基準マーカー5010が、固有IDを基準マーカー固有ID信号4031として送信する。
基準マーカー固有ID信号4031は、基準マーカー5010の前方に向けて発信されており、サーバラック2041、2042、2043に搭載された各サーバで受信される。
【0141】
次に、
図47及び
図48を用いて、基準マーカー5010の真正面に位置するサーバ1422の動作を説明する。
基準マーカー固有ID信号4031を受信したサーバ1422では、入射角の計算をする。
【0142】
そして、「入射角が垂直方向0度かつ水平方向0度」という条件を満たす場合、サーバ1422は、距離測定信号4002を送信し、反射してくるまでの時間を測定することで、サーバ1422と基準マーカー5010の間の距離Nを計算する。
【0143】
サーバ1422は、距離Nを求めた後に、サーバ管理ソフトウェア3001に対し、自身の固有ID、基準マーカー固有ID信号4031で受け取った基準マーカー5010の固有ID、基準マーカー固有ID信号4031の入射角(垂直方向水平方向いずれも0度)、サーバ1422と基準マーカー5010の間の距離Nを報告する。
【0144】
次に、
図49を用いて、基準マーカーの真正面に位置するサーバ1422以外のサーバ1411、1412、1413、1421、1423、1431、1432、1433の動作を説明する。これらの各サーバは同じ動作をするので、ここではサーバ1412を例として説明する。
サーバ1412では、基準マーカー固有ID信号4031を受信すると入射角を測定する。
【0145】
そして、「入射角が垂直方向0度かつ水平方向0度」という条件を満たさないため、サーバ1412は、距離測定信号4002の送信は行わない。
サーバ1412は、サーバ管理ソフトウェア3001に対し、自身の固有ID、基準マーカー固有ID信号4031で受け取った基準マーカー5010の固有ID、基準マーカー固有ID信号4031の入射角を報告する。
【0146】
サーバ1422、サーバ1412からの報告を受けたサーバ管理ソフトウェア3001では、各サーバ同士の位置関係を計算する。
まず、サーバ1422は、基準マーカー5010の正面に位置していることがわかるため、各サーバの位置関係を計算する際の基準としてサーバ1422を使用する。例えば、あるサーバの設置位置は「サーバ1422を基準として水平方向に距離X、垂直方向に距離Y」のような形で表される。
【0147】
サーバ1412の設置位置を計算する場合の例を、
図50及び
図51を用いて説明する。
図50では、サーバ1422を基準とした時のサーバ1412の水平方向の距離Xを求める方法を示している。
【0148】
サーバ管理ソフトウェア3001は、サーバ1422から報告された距離N、サーバ1412から報告された入射角θ1を元に、距離Xを計算する。距離XはX=Ntanθ1として求めることができる。
【0149】
図51では、サーバ1422を基準とした時のサーバ1412の垂直方向の距離Yを求める方法を示している。
サーバ管理ソフトウェア3001は、サーバ1422から報告された距離N、サーバ1412から報告された入射角θ2を元に、距離Yを計算する。距離YはY=tanθ2として求めることができる。
【0150】
以上の方法で、基準マーカー5010からの通信を受け取れる範囲のサーバの位置関係を求めることはできるが、サーバルームの規模によっては、基準マーカー1つでは全体をカバーできないことがある。そのような場合、基準マーカーを複数設置することで、サーバ全体で基準マーカーからの通信を受信できるようにする。
【0151】
図52は、1個目の基準マーカー5010からの信号はサーバラック2041、2042、2043に搭載された各サーバで受信され、2個目の基準マーカー5020からの信号がサーバラック2043、2044に搭載された各サーバで受信される様子を表している。
【0152】
基準マーカーはある程度の間隔をあけて設置することになるが、この時両方の基準マーカーからの通信を受信できるサーバを用意する必要がある。
図52では、サーバ1431、1432、1433がこれにあたる。
サーバ管理ソフトウェア3001では、サーバ1431、1432、1433で受信した基準マーカー5010及び基準マーカー5020からの通信を元に、基準マーカー5010と基準マーカー5020同士の位置関係を求めることができる。
これによってサーバラック2041、2042、2043、2044に搭載されたすべてのサーバの位置関係を計算することができる。
【0153】
<<基準マーカー処理>>
次に、基準マーカー5000から、基準マーカー固有ID信号4031を受信したサーバで行われる処理、すなわち基準マーカー処理のフローについて、
図53を用いて説明する。
【0154】
まず、あるサーバにて、基準マーカー固有ID信号4031を受け付けると、基準マーカー処理は開始される(ステップS91)。
そして、当該サーバは、受信した基準マーカーが送信する基準マーカー固有ID信号4031の入射角を算出する(ステップS92)。
【0155】
次に、当該サーバは、入射角について「水平方向0度かつ垂直方向0度」という条件を満たすか否か判別する(ステップS93)。
入射角が水平方向0度かつ垂直方向0度の場合は、ステップS94に進み、入射角が水平方向0度以外又は垂直方向0度以外の場合は、ステップS96に進む。
【0156】
ステップS94では、当該サーバは、距離測定信号4002を送信し、基準マーカー5000との間の距離を測定する。
その次に、当該サーバは、サーバ管理ソフトウェア3000に、自身の固有ID、基準マーカー5000の固有ID、基準マーカー5000からの信号の入射角、基準マーカー5000との距離を報告する(ステップS95)。
そして、ステップS97に進んで、本処理を終了する。
【0157】
ステップS96では、当該サーバは、サーバ管理ソフトウェア3000に、自身の固有ID、基準マーカー5000の固有ID、基準マーカー5000からの信号の入射角を報告する。
そして、ステップS97に進んで、本処理を終了する。
【0158】
本実施形態では、
図43に示すように、サーバラック2041、2042、2043、2044が一列に並んでいる例について説明したが、第1の実施形態のようにサーバラックが複数列を形成している場合であっても、併せて、基準マーカー5000を設けるようにしても構わない。
【0159】
この場合、各サーバでは、
図54に示すフローに沿った処理を行う。
具体的には、まず電源が投入されるなどして本処理が開始されると(ステップS101)、サーバ管理ソフトウェア3000から隣接サーバ探索指示4001を受信するか否かを判別する(ステップS102)。隣接サーバ探索指示4001を受信する場合は、当該サーバは、水平方向隣接サーバ探索指示送信処理を実行し(ステップS103)、垂直方向隣接サーバ探索指示送信処理を実行し(ステップS104)、サーバ管理ソフトウェア3000に隣接サーバ探索結果報告(4003)を送信する(ステップS105)。
【0160】
次に、ステップS102で隣接サーバ探索指示4001を受信しない場合は、水平方向隣接サーバ探索指示4011を受信するか否かを判別する(ステップS106)。水平方向隣接サーバ探索指示4011を受信する場合は、当該サーバは、水平方向隣接サーバ探索処理を実行する(ステップS107)。
【0161】
次に、ステップS106で水平方向隣接サーバ探索指示4011を受信しない場合は、垂直方向隣接サーバ探索指示4021を受信するか否かを判別する(ステップS108)。垂直方向隣接サーバ探索指示4021を受信する場合は、当該サーバは、垂直方向隣接サーバ探索処理を実行する(ステップS109)。
【0162】
次に、ステップS108で垂直方向隣接サーバ探索指示4021を受信しない場合は、水平方向ID報告要求4012を受信するか否かを判別する(ステップS110)。水平方向ID報告要求4012を受信する場合は、当該サーバは、水平方向ID応答処理を実行する(ステップS111)。
【0163】
次に、ステップS110で水平方向ID報告要求4012を受信しない場合は、垂直方向ID報告要求4022を受信するか否かを判別する(ステップS112)。垂直方向ID報告要求4022を受信する場合は、当該サーバは、垂直方向ID応答処理を実行する(ステップS113)。
【0164】
次に、ステップS112で垂直方向ID報告要求4022を受信しない場合は、基準マーカー5000が送信する基準マーカー固有ID信号4031を受信するか否かを判別する(ステップS114)。基準マーカー固有ID信号4031を受信する場合は、当該サーバは、基準マーカー処理を実行する(ステップS115)。
ステップS114で基準マーカー固有ID信号4031を受信しない場合は、ステップS102に戻る。
【0165】
以上、本発明を実施形態に基づき説明したが、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
例えば、上記第1の実施形態では、各サーバラックで形成される行及び列が綺麗に整列している例について説明したが、必ずしも一直線上に並ぶ必要はなく、各サーバラックは乱雑に設置されていても構わない。また、第1の実施形態では、前面側及び背面側の両方について、超音波通信送信部及び超音波通信受信部を設けたが、片側の面にのみ設けても構わない。
また、第2の実施形態においては、基準マーカーはサーバラックの前面側に設置されているが、背面側に設置されても構わないし、両側に設置しても構わない。
また、第1の実施形態及び第2の実施形態ともに、各サーバに設けられたマイクロコンピュータによって、各サーバ間の位置情報を計算しているが、各サーバのマイクロコンピュータは、各通信の入射角や各通信にかかる時間のみを計測するにとどめ、それらの情報を管理用サーバに送信して、管理用サーバにおいて各サーバ間の位置情報を計算するようにしても構わない。
【0166】
なお、上記実施形態におけるサーバ管理ソフトウェアは、特定のコンピュータシステムにインストールされて実行されるプログラムである。このプログラムは、コンピュータ読み取り可能な記録媒体に記憶されており、このプログラムを管理用サーバのコンピュータが読みだして実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM,DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0167】
また、上記プログラムは、上述した各処理部の機能の一部を実現するためのものであっても良い。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0168】
1、1000・・・サーバ、2,1002・・・超音波送信部、3,1001・・・超音波通信受信部、4・・・制御部、1003・・・BMC、3000・・・管理用サーバ、3001・・・サーバ管理ソフトウェア、5000・・・基準マーカー
【要約】
【課題】自動的にサーバの位置を把握するシステムであって、サーバラックが複数備える場合であっても適用可能であり、かつ、安価なシステムを提供する。
【解決手段】サーバと、サーバに設けられた超音波送信部と、サーバに設けられた超音波受信部と、サーバに設けられた制御部と、を備える。制御部は、超音波送信部から送信され、物体で反射した超音波を超音波受信部で受信することで、サーバ自身と物体との位置情報を判別するサーバ管理システムを提供する。また、前面及び背面にそれぞれ複数の超音波送信部と1つの超音波受信部とを備えるとともに、制御部を備えるサーバを、複数備え、少なくとも1つのサーバの制御部は、他のサーバの超音波送信部から送信された超音波を超音波受信部で受信することにより、他のサーバとの位置情報を判別するサーバ管理システムを提供する。
【選択図】
図55