<第1の実施の形態>
以下に、本発明の第1の実施の形態について、図面を参照して詳細に説明する。
(サーバ設置位置管理システムの構成)
図1は、本発明の一実施の形態に係るサーバ設置位置管理システム10の構成および当該サーバ設置位置管理システム10に含まれる各装置のハードウェア構成を示すブロック図である。
なお、図1に示すハードウェア構成は、本実施の形態に特有な構成について表現したものであり、各装置が、図1に示されていない構成を有していてもよいことは言うまでもない。
図1に示すように、サーバ設置位置管理システム10は、サーバラック1、サーバ2および管理サーバ6を含む。サーバラック1およびサーバ2と、管理サーバ6とは、ネットワーク3に接続しており、互いに通信を行う。
サーバラック1は、入力装置12と、設定ボタン13と、状態ランプ14と、コントローラ15と、を備えている。また、サーバラック1は、複数のサーバ2をそれぞれ設置するための複数のスロット16を有している。図1では、サーバラック1は、破線で区切られた6個のスロットを有する構成であるとするが、本発明はこれに限定されるものではない。また、本実施の形態において、サーバ2は1台であることを例に説明を行うが、本発明はこれに限定されるものではない。
また、本実施の形態に係るサーバラック1のスロット16は、サーバ2を積み重ねて設置することができるように構成されていることを例に説明を行うが、本発明はこれに限定されるものではない。なお、以下では、各スロット16のことをサーバラック1の段とも呼ぶ。
入力装置12は、ユーザの入力操作に用いられる装置であり、例えば、タッチセンサ、キーボード等で実現される。入力装置12は、コントローラ15に接続している。
設定ボタン13と状態ランプ14とは、複数のスロット16の夫々に対応するように、各スロット16に対応付けられてサーバラック1の筐体上に設けられている。本実施の形態では、6個のスロット16の夫々に対応するように、6個の設定ボタン13および状態ランプ14が設けられている。なお、設定ボタン13および状態ランプ14の数は、スロット16の数に対応するものであり、6個に限定されない。
設定ボタン13は、サーバ2の設置位置を設定する際に、ユーザからの指示として当該ボタンの押下を受け付けるボタンである。設定ボタン13は、対応するスロット16に設置されたサーバ2に対し、設置位置の設定に対する指示をユーザから受け付ける設定指示部材の一例であり、本発明はこれに限定されるものではない。
状態ランプ14は、サーバラック1の何れかのスロット16に設置されたサーバ2の設定状態をユーザに示す通知部材である。状態ランプ14が示す設定状態の具体例については、後述する。
設定ボタン13および状態ランプ14は、コントローラ15に接続している。図1においては、6個の設定ボタン13がコントローラ15に、直列に接続した構成を示しているが、本発明はこれに限定されるものではなく、設定ボタン13がそれぞれ、直接コントローラ15に接続する構成であってもよい。状態ランプ14も設定ボタン13と同様に、他の状態ランプ14を介してコントローラ15に接続する構成であってもよいし、各々が直接、コントローラ15に接続する構成であってもよい。
コントローラ15は、サーバラック1の全体を制御する制御装置である。コントローラ15は、入力装置12、設定ボタン13および状態ランプ14にそれぞれ接続している。また、コントローラ15は、ネットワーク3を介して、管理サーバ6と通信を行う。
管理サーバ6は、サーバラック1の複数のスロット16の夫々に設置されたサーバ2の設置位置を管理する。管理サーバ6は、CPU(Central Processing Unit)61、メモリ62およびインタフェース回路63を備えている。CPU61は、管理サーバ6全体を制御する。メモリ62は、例えば、半導体メモリ等で実現される。図1では、メモリ62は、CPU61と別個の構成であることを示しているが、CPU61に内蔵されるものであってもよい。インタフェース回路63は、通信を行うための通信インタフェース回路である。管理サーバ6は、上記インタフェース回路63を用い、ネットワーク3を介して、サーバラック1およびサーバ2と通信を行う。
サーバ2は、サーバ2の電源を管理する電源ボタン21を備えている。電源ボタン21は、ユーザからの入力を受け付ける入力部材の一例であり、本発明はこれに限定されるものではない。なお、サーバ2のハードウェア構成は、一般的なサーバと同等の構成であるため、説明を省略する。サーバ2は、ネットワーク3を介して、管理サーバ6と通信を行う。
(サーバ設置位置管理システム10の機能構成)
次に、図2を参照して、本実施の形態に係るサーバ設置位置管理システム10の機能構成について説明する。図2は、サーバ設置位置管理システム10の機能構成を示す機能ブロック図である。
(サーバラック1の構成)
図2に示す通り、サーバラック1は、テーブル管理部151、記憶部152、検知部154、ランプ制御部155、送信部156、受信部157および入力部121を備えている。入力部121は、入力装置12で実現される。また、テーブル管理部151、記憶部152、検知部154、ランプ制御部155、送信部156および受信部157は、コントローラ15で実現される。なお、記憶部152は、コントローラ15に含まれるメモリ等の記憶装置で実現されてもよいし、コントローラ15とは別個の装置で実現されてもよい。
入力部121は、ユーザ操作を受け付ける手段である。入力部121は、ユーザ操作によって入力されたサーバラック1の座標および管理サーバ6のIPアドレスを受け付け、受け付けた情報をテーブル管理部151に供給する。
記憶部152には、サーバラック管理テーブル153が格納されている。サーバラック管理テーブル153は、当該サーバラック1の座標と、各スロット番号と、サーバラック1の座標およびスロット番号で示される位置に設置されたサーバ2に対する設置位置の設定状態を示す設定状態情報との対応関係を示している。
ここで、図3を参照して、記憶部152に格納されているサーバラック管理テーブル153について説明する。図3は、記憶部152に格納されているサーバラック管理テーブル153の一例を示す図である。図3に示す通り、サーバラック管理テーブル153には、サーバラック位置情報、スロット番号、および、設定状態情報が含まれる。
サーバラック位置情報とは、サーバラック1が設置されたサーバルーム内の位置を示す情報である。本実施の形態においては、サーバラック位置情報を、座標で表しているが、本発明はこれに限定されるものではなく、サーバラック1が設置された位置がわかるものであればよい。
スロット番号とは、サーバラック1内の複数のスロット16の夫々を示す情報である。本実施の形態においては、図1の下の段から順に、1〜6のスロット番号が付されている。なお、各スロット16を示す情報はスロット番号に限定されるものではなく、各スロット16を識別するものであればよい。
以上のように、上記サーバラック位置情報および上記スロット番号で示される位置は、サーバ2が設置される位置であり、当該位置を示す情報を、位置情報とも呼ぶ。また、サーバ2が上記位置情報で示される位置に設置された場合、当該位置は、サーバ2の設置位置であるといえる。
設定状態情報とは、スロット16に設置されたサーバ2の設置位置が、管理サーバ6に設定されているか否かを示す情報である。本実施の形態においては、設置位置が設定されている場合の設定状態情報を「設定完了」とし、設置位置が設定されていない場合の設定状態情報を「未設定」とするが、本発明はこれに限定されるものではない。設定状態情報は、スロット16に設置されたサーバ2の設置位置が管理サーバ6に設定されているか否かがわかるものであればよく、例えば、「○」や「×」等の文字を用いてもよい。このように、サーバ2の設置位置が管理サーバ6に設定されることにより、管理サーバ6は、サーバ2の設置位置を管理することができる。
なお、本実施の形態では、スロット16にサーバ2が設置されていない場合の設定状態情報を、サーバ2がスロット16に設置されているが設置位置が設定されていない場合と同様に、「未設定」とするが、本発明はこれに限定されるものではない。スロット16にサーバ2が設置されているが設置位置が設定されていない場合と、スロット16にサーバ2が設置されていない場合とで、設定状態情報を区別してもよい。
なお、サーバラック管理テーブル153に含まれる情報はこれに限定されるものではなく、例えば、管理サーバ6のIPアドレス、サーバ2のIPアドレスなどが含まれていてもよい。
図2に戻り、サーバラック1の機能構成について説明を続ける。
テーブル管理部151は、上記サーバラック管理テーブル153の管理を行う手段である。また、テーブル管理部151は、管理サーバ6のサーバ設置位置管理テーブル623と同期がとられるように、サーバラック管理テーブル153を管理する。テーブル管理部151は、サーバラック管理テーブル153を更新すると、管理サーバ6のサーバ設置位置管理テーブル623と同期をとるために、更新内容を送信部156に供給する。
また、テーブル管理部151は、検知部154からの設定ボタン押下通知を受け取ると、サーバラック管理テーブル153を参照し、上記通知に含まれるスロット番号に対応付けられた設定状態情報を確認する。そして、設定状態情報が「未設定」の場合、テーブル管理部151は、送信部156に対し、入力部121から供給されたIPアドレスの管理サーバ6に位置設定パケットを送信するよう指示する。
また、例えば、サーラバック1からサーバ2を取り外す際などに、ユーザが設定ボタン13を押下した場合を考える。この時、サーバ2の設定状態情報が「設定完了」の場合、すなわち、当該設定ボタン13に対応付けられたスロット16に設置されたサーバ2に対して設置位置が設定されている場合に、検出部154がユーザから設定ボタン13の押下を検知すると、テーブル管理部151は、当該設定状態情報を「未設定」に更新する。そして、テーブル管理部151は、更新したことをランプ制御部155に通知する。さらに、管理サーバ6のサーバ設置位置管理テーブル623と同期をとるために、更新内容を送信部156に供給する。
また、テーブル管理部151は、受信部157から、サーバラック管理テーブル153の更新指示を受け取ると、当該指示に基づき、サーバラック管理テーブル153を更新するとともに、ランプ制御部155に通知する。
検知部154は、設定ボタン13の押下を検知する。検知部154は、設定ボタン13の押下を検知すると、押下された設定ボタン13が、何れのスロット16に対応する設定ボタン13が押下されたかを示す通知(設定ボタン押下通知)をテーブル管理部151に送信する。設定ボタン押下通知には、例えば、押下された設定ボタン13に対応するスロット16を示すスロット番号および当該設定ボタン13が押下された日時(設定ボタン操作日時)が含まれる。
ランプ制御部155は、スロット16に設置されたサーバ2の設置位置が管理サーバ6に設定されているとき、サーバ2の設置位置が設定されていることをユーザに通知するよう、当該スロット16に対応付けられた状態ランプ14を制御する手段である。具体的には、ランプ制御部155は、テーブル管理部151からサーバラック管理テーブル153を更新した旨の通知を受け取ると、記憶部152に格納されたサーバラック管理テーブル153を参照し、設定状態情報が「設定完了」であるスロット番号で示されるスロット16に対応する状態ランプ14を点灯状態にする。つまり、ランプ制御部155は、何れかのスロット16にサーバ2が設置され、当該サーバ2の設置位置の設定が完了しているとき、当該スロット16に対応する状態ランプ14を点灯させる。また、ランプ制御部155は、設定状態情報が「未設定」であるスロット番号で示されるスロット16に対応する状態ランプ14を消灯させる。つまり、ランプ制御部155は、サーバ2が設置されていないスロット16、または、何れかのスロット16に設置されているサーバ2であって、当該サーバ2の設置位置の設定が完了していないサーバ2が設置されたスロット16に対応する状態ランプ14を消灯状態にする。
なお、サーバラック管理テーブル153の設定状態情報において、スロット16にサーバ2が設置されているが設置位置が設定されていない場合と、スロット16にサーバ2が設置されていない場合とで、区別されている場合、ランプ制御部155は、状態ランプ14を上記区別がわかる状態(例えば、点滅状態)に制御してもよい。また、状態ランプ14の状態は、上記に限定されるものではなく、各スロット16に設置されたサーバ2の設定状態を示すものであればよい。
送信部156は、テーブル管理部151から位置設定パケットを送信する指示を受信すると、位置設定パケットを、ネットワーク3を介して、テーブル管理部151から供給された管理サーバ6のIPアドレス宛に送信する。
位置設定パケットとは、何れかのスロット16に設置されたサーバ2の設置位置を管理サーバ6に設定するために必要な情報を含むパケットである。位置設定パケットには、(1)設定ボタン13が押下された日時(設定ボタン操作日時)と、(2)当該設定ボタン13が設けられたサーバラック1が設置されたサーバルーム内の位置を示す座標(サーバラック位置情報)と、(3)当該設定ボタン13に対応するスロット16を示す情報(スロット番号)と、が含まれる。
また、送信部156は、テーブル管理部151から供給された、サーバラック管理テーブル153の更新内容を管理サーバ6に送信する。
受信部157は、ネットワーク3を介して、管理サーバ6から、サーバラック管理テーブル153の更新指示を受信する。受信部157は、受信したサーバラック管理テーブル153の更新指示を、テーブル管理部151に供給する。
また、受信部157は、管理サーバ6から送信された時刻情報を受信する。サーバラック1のコントローラ15は、受信部157が受信した時刻情報に基づいて時刻設定を行う。これにより、サーバ2との時刻同期が行われる。
以上のように、コントローラ15は、上述したとおり、複雑な機能を有していない。つまり、コントローラ15は、サーバ2の設置位置の設定処理を行うための特殊な部品を追加することなく構成される。したがって、サーバラック1は、より安価な構成で構築することができる。
(サーバ2の構成)
サーバ2は、検知部221と、送受信部222とを備えている。なお、サーバ2の機能構成は、本実施の形態に特有な構成について表現したものであり、サーバ2が図2に示されていない構成を有していてもよいことは言うまでもない。サーバ2の検知部221と送受信部222とは、例えば、CPUとインタフェース回路とで構成される。
検知部221は、サーバ2の電源ボタン21の押下を検知する。検知部221は、電源ボタン21の押下(電源ON)を検知すると、押下されたことを示す通知(電源ボタン押下通知)を送受信部222に送信する。電源ボタン押下通知には、電源ボタン21が押下された日時(電源ボタン操作日時)が含まれる。
送受信部222は、検知部221からの電源ボタン押下通知を受け取ると、管理サーバ6へ通報パケットを送信する。サーバ2は、典型的なサーバ装置であるため、サーバラック1に設置されているときに、電源ボタン21の操作時などのイベントが発生すると、ネットワーク3に接続された任意の送信先へ通報パケットを送信することができる。
通報パケットとは、当該サーバ2でイベントが発生したことを示すパケットである。通報パケットには、(1)電源ボタン21が押下された日時である電源ボタン操作日時と、(2)当該サーバ2のIPアドレスと、が含まれる。
また、送受信部222は、管理サーバ6から送信された時刻情報を受信する。サーバ2は、送受信部222が受信した時刻情報に基づいて時刻設定を行う。これにより、サーバラック1との時刻同期が行われる。
(管理サーバ6の構成)
図2に示す通り、管理サーバ6は、テーブル管理部611、記憶部622、送信部616、受信部617、判定部618および時刻同期部619を備えている。テーブル管理部611、判定部618および時刻同期部619は、CPU61で実現され、記憶部622は、メモリ62で実現される。また、送信部616および受信部617は、インタフェース回路63で実現される。
記憶部622には、サーバ設置位置管理テーブル623が格納されている。サーバ設置位置管理テーブル623は、サーバラック1の座標で示されるサーバラック位置情報と、当該サーバラック1に対するスロット番号と、サーバラック1の座標およびスロット番号で示される位置に設置されたサーバ2に対する設置位置の設定状態を示す設定状態情報と、前記設置位置に設置されたサーバのサーバIPアドレスと、の対応関係を示している。
ここで、図4を参照して、記憶部622に格納されているサーバ設置位置管理テーブル623について説明する。図4は、記憶部622に格納されているサーバ設置位置管理テーブル623の一例を示す図である。図4に示す通り、サーバ設置位置管理テーブル623には、サーバラック位置情報、スロット番号、設定状態情報、および、サーバIPアドレスが含まれている。
サーバラック位置情報、スロット番号および設定状態情報は、サーバラック管理テーブル153に含まれるサーバラック位置情報、スロット番号および設定情報番号とそれぞれ同様のものであるため、説明を省略する。
サーバIPアドレスは、スロット番号で示されるスロット16に設置されたサーバ2のIPアドレスを示している。サーバIPアドレスは、「設定状態情報」が「設定完了」である場合に示される。「設定状態情報」が「未設定」である場合、サーバIPアドレス欄には、サーバIPアドレスの設定がされていないことを示す「−」が表示される。「設定状態情報」が「未設定」であるスロット16には、サーバ2が設置されていない、または、サーバ2の設置位置が設定されていないため、サーバ2のIPアドレスを当該サーバ2から受信することができないからである。
なお、図4においては、サーバIPアドレスを、例えば「XXX.XXX.XXX.XXX」のように、IPv4(Internet Protocol version 4)のアドレス表記で表しているが、本発明はこれに限定されるものではない。
また、図4に示すサーバ設置位置管理テーブル623では、サーバを示すサーバ情報としてサーバのIPアドレスを例に説明を行ったが、本発明はこれに限定されるものではない。
図4に示すサーバ設置位置管理テーブル623では、サーバIPアドレスが、設置位置が設定されたサーバ2に対応付けて管理されている。これにより、より好適に、サーバIPアドレスで示されるサーバ2が、サーバラック位置情報およびスロット番号で示される位置に設置されていることを特定することができる。
図2に戻り、管理サーバ6の機能構成について説明を続ける。
テーブル管理部611は、記憶部622に格納されているサーバ設置位置管理テーブル623の管理を行う手段である。テーブル管理部611は、判定部618から供給された、判定部618が紐付けた位置設定パケットと通報パケットとを受信する。テーブル管理部611は、受信した(1)位置設定パケットに含まれるサーバラック位置情報およびスロット番号と、(2)通報パケットに含まれるサーバIPアドレスとを対応付けて、サーバ設置位置管理テーブル623に登録し、管理する。さらに、テーブル管理部611は、上記スロット番号に、当該スロット番号で示されるスロット16に設置されたサーバ2の設置位置の設定状態を示す設定状態情報を関連付けて管理する。
また、テーブル管理部611は、サーバラック1のサーバラック管理テーブル153と同期をとるために、サーバラック管理テーブル153に対する更新指示を、更新内容と共に送信するよう送信部616に指示する。
また、テーブル管理部611は、受信部617がサーバラック1から受信したサーバラック管理テーブル153の更新内容に基づいて、サーバ設置位置管理テーブル623を更新する。テーブル管理部611は、例えば、受信した更新内容があるスロット16に設置されたサーバ2の設定状態情報を「設定完了」から「未設定」に更新する内容の場合、上記更新内容に基づいて、設定状態情報を更新する。
送信部616は、テーブル管理部611から送信されたサーバラック管理テーブル153に対する更新指示を更新内容と共にサーバラック1に送信する手段である。
また、送信部616は、サーバラック1とサーバ2との時刻を同期させるために、時刻同期部619から供給された時刻情報をサーバラック1およびサーバ2に送信する。
受信部617は、サーバラック1から位置設定パケットを受信する。また、受信部617は、サーバ2から通報パケットを受信する。受信部617は、受信した位置設定パケットと通報パケットとを、判定部618に供給する。
また、受信部617は、サーバラック管理テーブル153の更新内容を、サーバラック1から受信する。受信部617は、受信した上記更新内容を、テーブル管理部611に供給する。
判定部618は、受信部617から位置設定パケットと通報パケットとを受信し、位置設定パケットに含まれる設定ボタン操作日時と、通報パケットに含まれる電源ボタン操作日時とを比較する。判定部618は、設定ボタン操作日時と電源ボタン操作日時との差が、所定の値以下(例えば、1秒以下)か否かを判定する。そして、判定部618は、上記差が所定の値以下である場合、設定ボタン13と、電源ボタン21とが同時に押されたと判定する。そして、上記設定ボタン操作日時が含まれている位置設定パケットと、上記電源ボタン操作日時が含まれている通報パケットとを紐付け、判定結果として、紐付けた上記位置設定パケットと上記通報パケットとをテーブル管理部611に供給する。
このように、上述したテーブル管理部611、送信部616、受信部617、判定部618および記憶部622は、サーバラック1の管理を行う管理ソフトウェアとして機能する。
時刻同期部619は、サーバラック1とサーバ2との時刻同期を行う手段である。時刻同期部619は、所定時間毎または所定の時刻に送信部616を介してサーバラック1およびサーバ2に時刻情報を送信することにより、サーバラック1とサーバ2との時刻同期を行う。このように、時刻同期部619と送信部616とは、時刻同期サーバソフトウェアとして機能する。
(サーバラック1の設置について)
例えば、3つのスロット16を有するサーバラック1を、サーバルーム内に設置する場合について説明を行う。この時のサーバラック1の記憶部152に格納されているサーバラック管理テーブル153を図5に示す。図5は、サーバラック1の設置位置の座標を設定する前のサーバラック管理テーブル153の一例を示す図である。
図5に示す通り、サーバラック1をサーバルーム内に設置し、当該サーバラック1の座標の設定を行っていない状態では、サーバラック管理テーブル153のスロット番号の欄のみ値が設定される。サーバラック管理テーブル153のサーバラック位置情報および設定状態情報は、何も設定がされていないため、「未設定」となる。なお、設定がされていない場合のサーバラック位置情報の値は「未設定」に限定されず、サーバラック位置情報が設定されていないことを示す値であればよい。
この時点では、管理サーバ6のアドレスも設定されていないため、管理サーバ6と同期を行うことができない。そのため、管理サーバ6のサーバ設置位置管理テーブル623には、上記サーバラック1に対する情報は登録されていない。
その後、ユーザが入力装置12を使用して、サーバルーム内における当該サーバラック1の座標と管理サーバ6のIPアドレスとを入力すると、入力部121は、サーバラック1の座標および管理サーバ6のIPアドレスを受け付け、当該座標およびIPアドレスをテーブル管理部151に供給する。なお、テーブル管理部151は、サーバラック1の座標および管理サーバ6のIPアドレスを記憶部152に記録してもよい。これにより、ユーザは、コントローラ15に対し、サーバラック1の座標および管理サーバ6のIPアドレスを設定することができる。
テーブル管理部151は、入力されたサーバラック1の座標を、サーバラック管理テーブル153に登録する。この時のサーバラック1の記憶部152に格納されているサーバラック管理テーブル153および管理サーバ6の記憶部622に格納されているサーバ設置位置管理テーブル623を図6に示す。
図6は、ユーザがサーバラック1の座標と管理サーバ6のIPアドレスとを入力した場合における、サーバラック管理テーブル153およびサーバ設置位置管理テーブル623の一例を示す図である。サーバラック1には、サーバ2が設置されていないため、サーバラック管理テーブル153の設定状態情報は、すべて「未設定」のままである。
また、管理サーバ6のIPアドレスが設定されたため、当該IPアドレスが示す管理サーバ6とサーバラック1との間での通信が開始される。したがって、サーバラック管理テーブル153とサーバ設置位置管理テーブル623との同期を開始することができる。サーバラック管理テーブル153とサーバ設置位置管理テーブル623とは同期がとられているため、サーバラック1のテーブル管理部151は、登録内容を送信部156から、ネットワーク3を介して、管理サーバ6に送信する。管理サーバ6のテーブル管理部611は、受信部617が受信した上記登録内容に基づいて、サーバ設置位置管理テーブル623に、設置されたサーバラック1のサーバラック管理テーブル153に登録された内容を登録する。
これにより、図6に示す通り、サーバ設置位置管理テーブル623のサーバラック位置情報にサーバラック1の座標が登録される。サーバラック1にサーバ2が設置されていないため、サーバ設置位置管理テーブル623のサーバIPアドレス欄は、未設定を示す「−」のままである。
なお、サーバラック1が設置され、ユーザによるサーバラック1の設置位置の座標および管理サーバ6のIPアドレスの入力が行われた際、管理サーバ6のサーバ設置位置管理テーブル623に、当該サーバラック1の情報が登録された後に、サーバ設置位置管理テーブル623の更新情報に基づいて、サーバラック1サーバラック管理テーブル153が更新される構成であってもよい。本実施の形態に係るサーバラック管理テーブル153と、サーバ設置位置管理テーブル623とは、同期がとられていればよい。
(サーバ2の設置について)
次に、設置されたサーバラック1にサーバ2を設置(搭載)する際の処理の流れについて説明する。サーバ2をサーバラック1に設置する際には、ユーザは、設置するサーバ2を複数のスロット16のうちの何れかの未使用のスロット16に設置する。この時、サーバ2を設置するスロット16に対応付けられている状態ランプ14は消灯している。
ユーザが、サーバ2をスロット16に設置し、サーバ2を設置したスロット16に対応付けられている設定ボタン13と、当該サーバ2の電源ボタン21とを同時に押すと、当該サーバ2の設置位置の設定を開始することができる。
図7は、サーバラック1にサーバ2が設置された時のサーバ2の設置位置を設定する処理であって、サーバラック1における処理の流れの一例を示す図である。また、図8は、サーバラック1にサーバ2が設置された時のサーバ2の設置位置を設定する処理であって、管理サーバ6における処理の流れの一例を示す図である。
図7に示す通り、サーバラック1の検知部154は、設定ボタン13が押下されたか否かを確認する(ステップS71)。検知部154は、当該確認を、設定ボタン13の押下が確認されるまで繰り返す(ステップS71にてNO)。設定ボタン13が押下された場合、(ステップS71にてYES)、検知部154は、設定ボタン押下通知をテーブル管理部151に送信する。テーブル管理部151は、入力部121から供給されたIPアドレスの管理サーバ6に位置設定パケットを送信するよう、送信部156に指示する。そして、送信部156は、上記指示に基づき、管理サーバ6に位置設定パケットを送信する(ステップS72)。
この時、設定ボタン13と、サーバ2の電源ボタン21とは、同時に押下されているため、サーバ2の送受信部222は、通報パケットを管理サーバ6に対して送信する。
次に、図8を参照して、管理サーバ6の動作について説明する。管理サーバ6の受信部617は、位置設定パケットを受信したか否かを確認する(ステップS81)。受信部617は、当該確認を、位置設定パケットの受信が確認されるまで繰り返す(ステップS81にてNO)。
位置設定パケットの受信を確認した場合(ステップS81にてYES)、受信部617は、通報パケットを受信したか否かを確認する(ステップS82)。受信部617は、当該確認を、通報パケットの受信が確認されるまで繰り返す(ステップS82にてNO)。
なお、ステップS81およびS82は、逆順で行われてもよいし、同時に行われてもよい。
通報パケットの受信を確認した場合(ステップS82にてYES)、判定部618は、位置設定パケットに含まれる設定ボタン操作日時と、通報パケットに含まれる電源ボタン操作日時とを比較する(ステップS83)。
そして、判定部618は、設定ボタン操作日時と電源ボタン操作日時との差が、所定の値以下か否かを判定し(ステップS84)、上記差が所定の値より大きい場合(ステップS84にてNO)、処理をステップS81に戻す。
上記差が所定の値以下である場合(ステップS84にてYES)、判定部618は、通信パケットおよび位置設定パケットを二組以上受信したか否かを確認する(ステップS85)。通報パケットおよび位置設定パケットが1通ずつでない場合、電源ボタン21の操作および設定ボタン13の操作がそれぞれ複数個所で行われていることになり、受信した通報パケットと位置設定パケットとを正しく紐付けることができなくなる。そのため、判定部618は、通信パケットおよび位置設定パケットを二組以上受信したか否かを確認し、二組以上受信した場合(ステップS85にてYES)、処理をステップS81に戻す。
通信パケットおよび位置設定パケットを一組のみ受信した場合(ステップS85にてNO)、判定部618は、設定ボタン13と電源ボタン21とが同時に押されたと判定し、位置設定パケットと通報パケットとを紐付け、テーブル管理部611に判定結果を供給する。テーブル管理部611は、判定結果に基づき、サーバ設置位置管理テーブル623の上記サーバラック位置情報の上記スロット番号に対応する設定状態情報を「未設定」から「設定完了」に更新する。さらに、テーブル管理部611は、上記サーバラック位置情報の上記スロット番号に対応するサーバIPアドレスを登録する(ステップS86)。
テーブル管理部611は、テーブル管理部611は、サーバラック1のサーバラック管理テーブル153と同期をとるために、サーバラック1のサーバラック管理テーブル153に対する更新指示を、更新内容と共に送信するよう送信部616に指示する。そして、送信部616は上記指示に従い、サーバラック1に対し、サーバラック管理テーブル153に対する更新指示を更新内容と共に送信する(ステップS87)。
図7に戻り、サーバラック1の受信部157は、更新指示を受信したか否かを確認する(ステップS73)。受信部157は、当該確認を、更新指示の受信が確認されるまで繰り返す(ステップS73にてNO)。更新指示を受信した場合(ステップS73にてYES)、テーブル管理部151は、当該指示に基づき、サーバラック管理テーブル153を更新する。そして、テーブル管理部151は、更新したことをランプ制御部155に通知する(ステップS74)。
ランプ制御部155は、サーバラック管理テーブル153を参照し、設定状態情報が「未設定」から「設定完了」に更新されたスロット番号が示すスロット16に対応する状態ランプ14を点灯させ(ステップS75)、処理を終了する。
この時のサーバラック1の記憶部152に格納されているサーバラック管理テーブル153および管理サーバ6の記憶部622に格納されているサーバ設置位置管理テーブル623の一例を図9に示す。
図9は、サーバラック1にサーバ2が設置され、当該サーバ2の設置位置を設定する処理を行った場合における、サーバラック管理テーブル153およびサーバ設置位置管理テーブル623の一例を示す図である。なお、上記処理を行う前のサーバラック管理テーブル153およびサーバ設置位置管理テーブル623は、図6の状態であるとする。また、サーバ2のIPアドレスは、「XXX.XXX.XXX.XXX」であるとする。また、サーバ2は、座標(1,2)の位置に設置されたサーバラック1におけるスロット16であって、スロット番号が「2」のスロット16に設置されるとする。
図9に示す通り、ステップS85の処理によって、サーバ設置位置管理テーブル623におけるスロット番号「2」に対応するサーバIPアドレス欄には、IPアドレス「XXX.XXX.XXX.XXX」が登録される。また、上記スロット番号に対応する設定状態情報は「設定完了」に更新される。
サーバ設置位置管理テーブル623とサーバラック管理テーブル153とは同期がとられているため、座標(1,2)の位置に設置されたサーバラック1のサーバラック管理テーブル153における、スロット番号「2」に対応する設定状態情報は、「設定完了」に更新される。
(効果)
本実施の形態に係るサーバ設置位置管理システム10は、複数のサーバ2をそれぞれ設置するための複数のスロット16を備えたサーバラック1と、サーバラック1の複数のスロット16の夫々に格納されたサーバ2を管理する管理サーバ6と、を備えている。サーバラック1は、複数のスロット16の各々に対応付けられた設定ボタン13がサーバ2に対する設置位置の設定を開始する旨の指示を検知する検知部154と、検知部154が指示を検知した検知日時と、サーバ2が設置された位置を示す位置情報とを管理サーバ6に送信する送信部156とを備えている。
管理サーバ6は、テーブル管理部611と、判定部618とを備えている。判定部618は、設定ボタン操作日時と、複数のスロット16の何れかに設置されたサーバ2の電源ボタン21がサーバ2に対する設置位置の設定を開始する旨の指示を受け付けた日時(電源ボタン操作日時)との差が所定の値以下か否かを判定する。そして、テーブル管理部611は、上記差が所定の値以下のとき、当該サーバ2の設置位置を、サーバ2が設置された位置を示す位置情報で示される位置に設定することによって、サーバ2の設置位置が、当該管理サーバ6に設定されているか否かを管理する。
このように、本実施の形態では、設定ボタン13の操作日時と、電源ボタン21の操作日時に基づいて、サーバ2の設置位置を管理サーバ6に設定している。例えば、複数人でサーバ2の設置作業を並行して行っている場合であっても、サーバ2の設置位置の設定のためのボタン操作を同時に行う可能性は低い。サーバ2の設置位置の設定を行う場合には、設定を行うユーザが、ボタン操作を同時に行うという、明示的に設定開始を指示することにより、管理サーバ6は、サーバ2が、サーバラック1のあるスロット16に設置されたことを設定することができる。
また、異なるユーザが、それぞれサーバ2の設置位置の設定のためのボタン操作を行ったとしても、ボタン操作の時間の差が所定の値以下ではない場合には、サーバ2の設置位置を管理サーバ6に設定しない。そのため、不正な情報で設置位置が設定されることなく、より確実にサーバ2の設置位置を設定することができる。
また、ボタン操作の時間の差が所定の値以下ではない場合、つまり、ユーザがボタン操作を同時に行っていない場合、サーバ2の設置位置を設定しないため、状態ランプ14が点灯しない。したがって、ユーザは、サーバ2の設置位置が設定されたか否かを容易に確認することができる。また、設定されていない場合、設置位置の設定操作を再試行することができる。
複数のユーザの各々が、ボタン操作を同時に行った場合、管理サーバ6に複数組のパケットが送信されてしまう。しかし、本実施の形態に係る管理サーバ6は、複数組のパケットを受信した場合、サーバ2の設置位置の設定を行わないため、状態ランプ14が点灯しない。したがって、ユーザは、サーバ2の設置位置が設定されたか否かを容易に確認することができる。また、サーバ設置位置管理システム10は、正しい情報でサーバ2の設置位置を設定することができる。
このように、本実施の形態に係るサーバ設置位置管理システム10は、設置位置の設定の失敗の発生頻度が低く、失敗しても不正な設定がされず、失敗を確認でき、設定操作を再試行できる、という効果がある。
また、管理サーバ6のサーバ設置位置管理テーブル623には、設置位置の情報と、設定状態情報と、サーバIPアドレスとの対応関係が示されているため、管理サーバ6は、サーバラック1における設置位置の情報とサーバ2のサーバ情報とを対応付けて管理することができる。
以上説明したように、本発明においては、以下に記載するような効果を奏する。
第1の効果は、サーバ2本体のコスト低減である。本実施の形態に係るサーバ設置位置管理システム10の管理サーバ6は、サーバ本体への部品や機能の追加をせずに、サーバ2の設置位置を設定することができる。つまり、サーバ設置位置管理システム10は、サーバ2の設置位置の自動取得機能を利用できる。
第2の効果は、サーバラック1に設置されるサーバ2がどのようなサーバであっても、サーバ設置位置管理システム10が当該サーバ2の設置位置の自動取得機能を使用できることである。したがって、本実施の形態に係るサーバ設置位置管理システム10は、サーバのメーカや型番、インストールされているソフトウェアに依存せず、どのようなサーバであっても設置位置の自動取得を利用できる。
よって、本実施の形態に係るサーバ設置位置管理システム10は、上述のように、サーバラック1に設置可能なサーバ2の設置位置を、サーバ2のメーカや型番に依存せずに、より安価な構成で効率的に管理することができる。
(変形例1)
本実施の形態の第1の変形例について説明する。上述した第1の実施の形態では、どのようなサーバ2にも必ず備えているボタンとして、サーバ2の電源を管理する電源ボタン21を例に説明を行った。しかし、本発明はこれに限定されるものではなく、サーバ2に備えられている、電源ボタン21以外の任意の入力部材も使用可能である。サーバ2には一般的に、入力部材として電源ボタン21以外にも複数のボタンが備えられている。そのため、ユーザがサーバ2の設置位置の設定を開始する際に押下する電源ボタン21の代わりに、サーバ2に備えられた電源ボタン21以外の任意のボタンを押下した場合であっても、サーバ設置位置管理システム10は、電源ボタン21の場合と同様に、サーバ2の設置位置の設定処理を行うことができる。
(変形例2)
本実施の形態の第2の変形例について説明する。上述した第1の実施の形態では、ユーザがサーバ2に対する設置位置の設定を開始する設定指示部材として、各スロット16に対応付けられた設定ボタン13を用いることについて説明を行ったが、本発明はこれに限定されるものではない。本変形例2においては、サーバラック1側に設置した設定ボタン13の代わりとして、サーバ2の設置を検知するセンサを利用する方法について説明する。
上記センサは、例えば、光センサや接触センサ等が挙げられるが、本発明はこれに限定されるものではない。センサは、サーバ2がサーバラック16へ押し込まれたことを検知して、設定ボタン13の押下相当の動作をする。
この場合、ユーザは、スロット16へ設置するサーバ2に対し、当該サーバ2を当該スロット16へ押し込むと同時に、当該サーバ2の電源ボタン21を押下する。
ユーザによってスロット16にサーバ2が押し込まれた時、検知部154は、スロット16にサーバ2が設置されたことを検知する。そして、検知部154は、何れのスロット16にサーバ2が設置されたかを示す通知をテーブル管理部151に送信する。上記通知には、サーバ2が設置されたことを検知した日時(上述の設定ボタン操作日時に相当)が含まれる。
そして、テーブル管理部151は、上述した第1の実施の形態と同様の処理を行う。これにより、サーバ設置位置管理システム10は、上述した第1の実施の形態と同様の処理を行うことができる。
(変形例3)
また、サーバ2に専用のスイッチやセンサを搭載する例も考えられる。例えば、サーバラック1に搭載されたことを検知するセンサ(光センサ、接触センサ等)を、サーバ2へ搭載し、サーバ2の搭載を検知するセンサをサーバラック1へ搭載した場合を考える。この場合、サーバ2をサーバラック1に搭載したタイミングで両センサが反応し、サーバ2からは通報パケットが、サーバラック1からは位置設定パケットが管理サーバ6に送信される。この実施例では、サーバ2の設置時に特別なボタン操作を行う必要が無いという利点がある。
(変形例4)
本実施形態に係るサーバ設置位置管理システム10は、例えば、設定状態情報が、スロット16にサーバ2が設置されているが設置位置が設定されていない場合と、スロット16にサーバ2が設置されていない場合とで、区別されている場合、各スロット16に対応する状態ランプ14とは異なる他の状態ランプを、サーバラック1に設置してもよい。このように、スロット16毎に、複数のランプをサーバラック1に設置しても、上述した第1の実施の形態と同様の処理を行うことができる。
<第2の実施の形態>
本発明の第2の実施の形態について、図10を参照して説明する。図10は、本実施の形態に係るサーバ設置位置管理システム20の構成を示すブロック図である。なお、説明の便宜上、前述した第1の実施の形態で説明した図面に記載のサーバ設置位置管理システム10に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。また、本実施の形態に係るサーバ設置位置管理システム20のハードウェア構成は、図1に示すサーバ設置位置管理システム10のハードウェア構成と同様である。
図10に示す通り、本実施の形態に係るサーバ設置位置管理システム20は、サーバラック1と、管理サーバ6とを備えている。サーバラック1と管理サーバ6とは、ネットワークに接続しており、互いに通信が可能である。
サーバラック1は、複数のサーバ2をそれぞれ格納するための複数のスロット16と、複数のスロット16の各々に対応付けられた設定ボタン13と、検知部154と、送信部156と、を備えている。
検知部154は、設定ボタン13がユーザから押下されたことを検知する手段である。
送信部156は、検知部154が設定ボタン13の押下を検知したとき、設定ボタン操作日時と、サーバ2が設置された位置を示す位置情報とを管理サーバ6に送信する。
位置情報には、例えば、サーバラック1が設置されたサーバルーム内の座標およびサーバラック1のスロット16を示すスロット番号が含まれる。
なお、設定ボタン13は、複数のスロット16の何れかに設置されたサーバ2に対し、設置位置の設定開始指示をユーザから受け付ける設定指示部材の一例であり、本発明はこれに限定されるものではない。
複数のスロット16の何れかに設置されるサーバ2は、電源ボタン21を備えている。なお、電源ボタン21は、ユーザからの入力を受け付ける入力部材の一例であり、本発明はこれに限定されるものではない。
管理サーバ6は、サーバラック1の複数のスロット16の夫々に格納されたサーバ2の設置位置を管理する。管理サーバ6は、第1の管理部611と、判定部618とを備えている。
判定部618は、設定ボタン13および電源ボタン21に対し、ユーザがサーバ2に対する設置位置の設定を開始する旨の指示を行ったとき、つまり、ユーザが同時に設定ボタン13および電源ボタン21を押下した時、検知部154が設定ボタン13の押下を検知した日時(設定ボタン操作日時)と、電源ボタン21が押下された日時(電源ボタン操作日時)との差が所定の値以下(例えば、1秒以下)か否かを判定する。そして、判定部618は、判定結果を第1の管理部611に供給する。
第1の管理部611は、第1の実施の形態に係るテーブル管理部611に対応する。第1の管理部611は、サーバ2が設置された位置を示す設置位置が、管理サーバ6に設定されているか否かを管理する。
そして、第1の管理部611は、検知部154が設定ボタン13の押下を検知した日時と、電源ボタン21が押下された日時との差が所定の値以下のとき、サーバ2の設置位置を位置情報で示される位置に設定する。
(効果)
本実施の形態におけるサーバ設置位置管理システム20は、上述した第1の実施の形態におけるサーバ設置位置管理システム10と同様に、サーバラック1に設置可能なサーバ2の設置位置を、サーバ2のメーカや型番に依存せずに、より安価な構成で効率的に管理することができる。
なお、上述した各実施の形態は、本発明の好適な実施の形態であり、上記各実施の形態にのみ本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において当業者が上記各実施の形態の修正や代用を行い、種々の変更を施した形態を構築することが可能である。
例えば、上述した実施の形態における各動作は、ハードウェアまたはソフトウェア、あるいはその両方の複合構成によって実行することも可能である。
なお、ソフトウェアによる処理を実行する場合には、例えば、上記各処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。また、上記プログラムは、例えば、ハードディスクなどの記録媒体に記録しておくことが可能である。
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)任意の入力部材をそれぞれ備えた複数のサーバを、それぞれ設置するための複数のスロットを備えたサーバラックと、前記サーバラックの前記複数のスロットの夫々に設置されたサーバの設置位置を管理する管理サーバと、を備え、前記サーバラックは、前記複数のスロットの各々に対応付けられた設定指示部材が前記サーバに対する設置位置の設定を開始する旨の指示を受け付けたことを検知する検知手段と、前記検知手段が前記指示を検知したとき、前記指示を検知した検知日時と、前記サーバが設置された位置を示す位置情報とを管理サーバに送信する送信手段と、を備え、前記管理サーバは、前記サーバの設置位置が、当該管理サーバに設定されているか否かを管理する第1の管理手段と、前記検知日時と、前記複数のスロットの何れかに設置されたサーバの前記入力部材が当該サーバに対する設置位置の設定を開始する旨の指示を受け付けた日時との差が所定の値以下か否かを判定する判定手段と、を備え、前記第1の管理手段は、前記差が所定の値以下のとき、当該サーバの設置位置を、前記送信手段が送信した前記位置情報で示される位置に設定する、ことを特徴とするサーバ設置位置管理システム。
(付記2)前記サーバラックは、前記複数のスロットの各々に対応付けられた複数の通知部材を制御する通知手段を更に備え、前記通知手段は、前記スロットに設置されたサーバの設置位置が前記管理サーバに設定されているとき、当該サーバの設置位置が設定されていることをユーザに通知するよう、当該スロットに対応付けられた通知部材を制御する、ことを特徴とする付記1に記載のサーバ設置位置管理システム。
(付記3)前記管理サーバは、前記設置位置と、当該設置位置に設置されたサーバに対する設置位置の設定状態を示す設定状態情報との対応関係を示すサーバ設置位置管理テーブルを記憶する第1の記憶手段を更に備え、前記サーバラックは、当該サーバラックにおける前記設置位置と、当該設置位置に設置されたサーバに対する設置位置の設定状態を示す設定状態情報との対応関係を示すサーバラック管理テーブルを記憶する第2の記憶手段と、前記サーバ設置位置管理テーブルと同期がとられるように、前記サーバラック管理テーブルを管理する第2の管理手段と、を更に備え、前記第1の管理手段は、前記サーバ設置位置管理テーブルを用いて、前記設置位置が当該管理サーバに設定されているか否かを管理し、更に、前記サーバラック管理テーブルと同期がとられるように、前記サーバ設置位置管理テーブルを管理し、前記通知手段は、前記サーバラック管理テーブルに含まれる設定状態情報を参照して、前記サーバの設置位置が設定されていることをユーザに通知するよう当該スロットに対応付けられた通知部材を制御する、ことを特徴とする付記2に記載のサーバ設置位置管理システム。
(付記4)前記サーバ設置位置管理テーブルには、更に、前記設置位置と、前記設置位置に設置されたサーバを示すサーバ情報と対応関係が含まれており、前記第1の管理手段は、設置位置が設定されている時、前記設置位置および前記設定状態情報に関連付けて、前記サーバ情報を管理する、ことを特徴とする付記3に記載のサーバ設置位置管理システム。
(付記5)前記設定指示部材は、ユーザからの押下を受け付けるボタンである、ことを特徴とする付記1から4の何れかに記載のサーバ設置位置管理システム。
(付記6)前記設定指示部材は、前記サーバが前記複数のスロットの何れかに設置されたことを検知するセンサである、ことを特徴とする付記1から4の何れかに記載のサーバ設置位置管理システム。
(付記7)前記入力部材は、前記サーバの電源を管理する電源ボタンであることを特徴とする付記1から6の何れかに記載のサーバ設置位置管理システム。
(付記8)前記設定指示部材に対応付けられたスロットに設置されたサーバに対して、設置位置が設定されている際に、前記検知手段が前記指示を受け付けたとき、前記第1の管理手段は、前記サーバの設置位置が前記管理サーバに設定されていない状態にする、ことを特徴とする付記1から7の何れかに記載のサーバ設置位置管理システム。
(付記9)前記管理サーバは、前記複数のサーバの夫々と、前記サーバラックとの時刻同期を行うための時刻同期手段を更に備えることを特徴とする付記1から8の何れかに記載のサーバ設置位置管理システム。
(付記10)任意の入力部材をそれぞれ備えた複数のサーバを、それぞれ設置するための複数のスロットを備えたサーバラックと、前記サーバラックの前記複数のスロットの夫々に設置されたサーバの設置位置を管理する管理サーバと、を備えたサーバ設置位置管理システムのサーバ設置位置管理方法であって、前記サーバラックにおいて、前記複数のスロットの各々に対応付けられた設定指示部材が前記サーバに対する設置位置の設定を開始する旨の指示を受け付けたことを検知し、前記指示を検知したとき、前記指示を検知した検知日時と、前記サーバが設置された位置を示す位置情報とを管理サーバに送信し、前記管理サーバにおいて、前記検知日時と、前記複数のスロットの何れかに設置されたサーバの前記入力部材が当該サーバに対する設置位置の設定を開始する旨の指示を受け付けた日時との差が所定の値以下か否かを判定し、前記差が所定の値以下のとき、当該サーバの設置位置を、前記位置情報で示される位置に設定することにより、前記サーバの設置位置が、当該管理サーバに設定されているか否かを管理する、ことを特徴とするサーバ設置位置管理方法。
(付記11)任意の入力部材をそれぞれ備えた複数のサーバを、それぞれ設置するための複数のスロットを備えたサーバラックと、前記サーバラックの前記複数のスロットの夫々に設置されたサーバの設置位置を管理する管理サーバと、を備えたサーバ設置位置管理システムで用いられ、前記サーバラックのコンピュータに、前記複数のスロットの各々に対応付けられた設定指示部材が前記サーバに対する設置位置の設定を開始する旨の指示を受け付けたことを検知する処理と、前記指示を検知したとき、前記指示を検知した検知日時と、前記サーバが設置された位置を示す位置情報とを管理サーバに送信する処理とを実行させ、前記管理サーバのコンピュータに、前記検知日時と、前記複数のスロットの何れかに設置されたサーバの前記入力部材が当該サーバに対する設置位置の設定を開始する旨の指示を受け付けた日時との差が所定の値以下か否かを判定する処理と、前記差が所定の値以下のとき、当該サーバの設置位置を、前記位置情報で示される位置に設定することにより、前記サーバの設置位置が、当該管理サーバに設定されているか否かを管理する処理と、を実行させることを特徴とするプログラム。
(付記12)付記11に記載のプログラムを記録した、コンピュータに読み取り可能な記録媒体。