(57)【特許請求の範囲】
【請求項１】
操作に応じて起動基準時刻を設定する起動基準時刻設定部と、
起動時刻を設定可能な時間の範囲である起動時刻範囲を設定する起動時刻範囲設定部と、
前記起動基準時刻を含む前記起動時刻範囲においてランダムに時刻を決定し、当該決定された時刻を起動時刻として設定する起動時刻設定部と、
本サーバ装置をシャットダウンさせている状態において、前記起動時刻に至るのに応じて本サーバ装置を起動させる起動処理部と
を備えることを特徴とするサーバ装置。
【請求項２】
前記起動時刻設定部は、
前記起動時刻範囲により特定される、前記起動基準時刻に対する一定時間前の時刻から一定時間後の時刻までの範囲において前記１つの時刻をランダムに決定する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
起動基準時刻設定部は、
所定のファームウェアの実行環境において、起動基準時刻設定画面を表示させるとともに、当該起動基準時刻設定画面に対する操作により入力された起動基準時刻を記憶部に記憶させることにより起動基準時刻を設定し、
起動時刻範囲設定部は、
前記ファームウェアの実行環境において、起動時刻範囲設定画面を表示させるとともに、当該起動時刻範囲設定画面に対する操作により決定された起動時刻範囲を記憶部に記憶させることにより当該起動時刻範囲を設定する
ことを特徴とする請求項１または２に記載のサーバ装置。
【請求項４】
前記起動時刻設定部は、
オペレーティングシステムがシャットダウンした後の所定のファームウェアの実行環境において前記起動時刻を設定する
ことを特徴とする請求項１から３のいずれか一項に記載のサーバ装置。
【請求項５】
操作に応じて起動基準時刻を設定する起動基準時刻設定ステップと、
起動時刻を設定可能な時間の範囲である起動時刻範囲を設定する起動時刻範囲設定ステップと、
前記起動基準時刻を含む前記起動時刻範囲においてランダムに時刻を決定し、当該決定された時刻を起動時刻として設定する起動時刻設定ステップと、
本サーバ装置をシャットダウンさせている状態において、前記起動時刻に至るのに応じて本サーバ装置を起動させる起動処理ステップと
を備えることを特徴とする起動制御方法。
【請求項６】
コンピュータに、
操作に応じて起動基準時刻を設定する起動基準時刻設定手段、
起動時刻を設定可能な時間の範囲である起動時刻範囲を設定する起動時刻範囲設定手段、
前記起動基準時刻を含む前記起動時刻範囲においてランダムに時刻を決定し、当該決定された時刻を起動時刻として設定する起動時刻設定手段、
本サーバ装置をシャットダウンさせている状態において、前記起動時刻に至るのに応じて本サーバ装置を起動させる起動処理手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置と、当該サーバ装置において起動動作を制御するための起動制御方法およびプログラムに関する。
【背景技術】
【０００２】
サーバとしてラックマウント型のものが知られている。このラックマウント型のサーバは所定規格のサーバラックに対して設置可能な外形形状を有している。サーバラックは、そのサイズにもよるが最大で４０台程度のサーバを設置可能である。このようなサーバラックにサーバを設置することで、比較的小さいスペースにおいて多くのサーバをまとめて設置することができる。
【０００３】
また、サーバラックは、例えばＰＤＵ（Power Distribution Unit）を備えることで、設置されたラックの電源を一括してオン／オフすることができる。しかし、サーバラックに設置されている比較的多数のサーバの電源を同時にオンとして起動させてしまうと、起動時において電源ラインに流れる突入電流のレベルが相当に高くなってしまう。この突入電流に対応するには、例えばサーバを設置している室内の配電盤などについて平常時の運転状況において想定されるよりも大きな電流容量を確保しなければならなくなる。
【０００４】
そこで、過大な突入電流を回避するために以下のような構成が知られている。つまり、１つには、サーバにＢＭＣ（Baseboard Management Controller）の機能が搭載されている場合に、このＢＭＣにおける管理項目の１つである起動時の遅延時間（Power On Delay Time）を設定するというものである。この起動時の遅延時間について、サーバラックに設置されているサーバごとに異なる値を設定することにより、各サーバが起動するタイミングを分散させることができる。
【０００５】
また、１つには、サーバラックにＵＰＳ（Uninterruptible Power Supply：無停電電源装置）を備え、このＵＰＳにサーバラックに設置されている各サーバの電源プラグを接続する。そして、ＵＰＳが備えるタイマ機能を利用して、サーバごとに異なる起動時間を設定する。これにより、ＵＰＳの制御によって、サーバラックに設置されたサーバの各々を異なる時間に起動させようというものである。
【０００６】
また、特許文献１には、計算機システムにおいて、計算機を起動させる管理コンソールを備え、この管理コンソールにより計算機グループごとに時間差を与えて電源をオンとする構成が記載されている。
【０００７】
また、特許文献２には、停電から復電後の自動復帰の際に空気調和装置が同時に再起動して電圧降下が生じることによって再度停止することを防止するために、以下の構成が記載されている。つまり、乱数に基づいて復電から再起動までの遅延時間を決定し、この決定した遅延時間により復電後の再起動を行うというものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−２４９９０８号公報
【特許文献２】特開２０００−２３４７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、ＢＭＣを利用した起動時間の制御は、ＢＭＣ機能を実装したサーバを用意する必要があるとともに、管理者がサーバごとに異なる遅延時間（Power On Delay Time）を設定する必要がある。ＵＰＳによる起動時間の制御も同様であり、サーバシステムにＵＰＳなどの設備を追加する必要があるとともに、この場合にもサーバごとに異なる遅延時間を設定する必要がある。このように、ＢＭＣやＵＰＳによる起動時間制御では、導入コストおよび運用コストが高くなってしまうという問題がある。この点は、特許文献１に記載の技術も同様であり、計算機のほかに、この計算機を起動させる管理コンソールを備える必要がある。さらに、計算機グループごとに、時間差で電源をオンとするために遅延時間を個別に設定することが必要である。
【００１０】
特許文献２に記載の構成では、室内側電子制御装置においてランダム復帰自動復帰制御回路を備えている点で装置等の追加はない。しかし、この構成は、空気調和装置において停電状態から復電する場合のみを前提としているため、復電した以降のタイミングでしか起動時間を制御することができない。サーバシステムでは、例えば運用にあたって、サーバの起動を完了させる時刻などを厳密に定めなければならないような場合もある。特許文献２の構成では、このような要求に応えることは不可能であり、この構成をそのままサーバシステムに適用することは適切ではない。
【００１１】
そこでこの発明は、上述の課題を解決することのできるサーバ装置、起動制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、上述の課題を解決すべくなされたもので、本発明の一態様によるサーバ装置は、操作に応じて起動基準時刻を設定する起動基準時刻設定部と、起動時刻を設定可能な時間の範囲である起動時刻範囲を設定する起動時刻範囲設定部と、前記起動基準時刻を含む前記起動時刻範囲においてランダムに時刻を決定し、当該決定された時刻を起動時刻として設定する起動時刻設定部と、本サーバ装置をシャットダウンさせている状態において、前記起動時刻に至るのに応じて本サーバ装置を起動させる起動処理部とを備える。
【００１３】
また、本発明の一態様による起動制御方法は、操作に応じて起動基準時刻を設定する起動基準時刻設定ステップと、起動時刻を設定可能な時間の範囲である起動時刻範囲を設定する起動時刻範囲設定ステップと、前記起動基準時刻を含む前記起動時刻範囲においてランダムに時刻を決定し、当該決定された時刻を起動時刻として設定する起動時刻設定ステップと、本サーバ装置をシャットダウンさせている状態において、前記起動時刻に至るのに応じて本サーバ装置を起動させる起動処理ステップとを備える。
【００１４】
また、本発明の一態様によるプログラムは、コンピュータに、操作に応じて起動基準時刻を設定する起動基準時刻設定手段、起動時刻を設定可能な時間の範囲である起動時刻範囲を設定する起動時刻範囲設定手段、前記起動基準時刻を含む前記起動時刻範囲においてランダムに時刻を決定し、当該決定された時刻を起動時刻として設定する起動時刻設定手段、本サーバ装置をシャットダウンさせている状態において、前記起動時刻に至るのに応じて本サーバ装置を起動させる起動処理手段として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、複数のサーバの起動時刻を分散させるにあたり、導入コストおよび運用コストの抑制が図られるようにしたうえで、サーバシステムの運用に適した起動時刻の設定が行えるようになるという効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態におけるサーバのサーバラックへの設置態様例を示す図である。
【図２】本実施形態のサーバに電力供給するための配線例を示す図である。
【図３】本実施形態におけるサーバの構成例を示す図である。
【図４】本実施形態における基準起動時刻設定画面と起動時刻範囲設定画面の一例を示す図である。
【図５】本実施形態における起動時刻の設定結果例を模式的に示す図である。
【図６】本実施形態の起動制御に対応するサーバの機能構成例を示す図である。
【図７】本実施形態のサーバが実行する起動時刻範囲設定および基準起動時刻設定のための処理手順例を示すフローチャートである。
【図８】本実施形態のサーバが実行する起動制御のための処理手順例を示すフローチャートである。
【図９】他の実施形態に対応するサーバの前面パネルおよび起動時刻範囲設定操作子を示す図である。
【発明を実施するための形態】
【００１７】
図１は、本実施形態におけるサーバ（サーバ装置）１００の設置態様例を示している。本実施形態のサーバ１００はラックマウント型とされ、図示するように、サーバラック２００に取り付けられるように設置される。このようなラックマウント型のサーバ１００の外形形状は、ＪＩＳ（Japanese Industrial Standards）やＥＩＡ（Electronic Industries Alliance）によって規定されている。
【００１８】
図２は、上記のようにサーバラック２００に設置される複数のサーバ１００に対応する電源系統の配線例を模式的に示している。この図には、複数のサーバ１００と、１つの電源供給部２１０が示される。これら複数のサーバ１００は、図１に示したサーバラック２００に設置されているものである。また、電源供給部２１０は、電源プラグが接続される電源タップを備えており、電源タップに電源プラグが接続されたサーバ１００の各々に対して商用交流電源３００を供給する。この電源供給部２１０は、例えばサーバラック２００に装備されている。
【００１９】
図３は、サーバ１００の構成例を示している。この図のサーバ１００は、ＣＰＵ（Central Processing Unit）１１０、ＲＴＣ（Real Time Clock）１２０、ＲＯＭ（Read Only Memory）１３０、ＲＡＭ（Random Access Memory）１４０、記憶部１５０、データインターフェース部１６０、ネットワークインターフェース部１７０、ユーザインターフェース部１８０および電源部１９０をデータバス１０１により接続して構成される。
【００２０】
ＣＰＵ１１０は、ＲＯＭ１３０と記憶部１５０に記憶されるプログラムを実行することにより、各種の演算処理および同図に示す各機能部の制御およびを行う部位である。
【００２１】
ＲＴＣ１２０は、計時機能を有する部位であり、例えば年、月、日、時間、分、秒の単位により計時する。このＲＴＣ１２０は、例えば電源部１９０などのサーバ本体の電源回路とは直接接続されていない二次電池などにより駆動されることで、サーバに電源が供給されていない状態でも計時を行うことができるようにされている。
【００２２】
ＲＯＭ１３０は、ファームウェアとしてのプログラムおよび当該プログラムが利用する各種データなどが記憶される。同図では、ＲＯＭ１３０が記憶するファームウェアとして、ＢＩＯＳ（Basic Input/Output System）１３１が示される。ＢＩＯＳ１３１は、コンピュータに接続された各種の周辺機器を制御し、これらの周辺機器に対する機器に対する基本的な入出力機能をＯＳやアプリケーションソフトに対して提供するファームウェアである。また、このＲＯＭ１３０には、例えばフラッシュメモリなどの不揮発性の半導体メモリが採用される。
【００２３】
ＲＡＭ１４０は、主記憶装置であり、ＣＰＵ１１０が実行するプログラムが展開されるとともに、ＣＰＵ１１０が演算処理を実行する際のワークエリアとして利用される部位である。
【００２４】
記憶部１５０は、補助記憶装置であり、ＣＰＵ１１０が実行するプログラムのほか、アプリケーションが使用するデータを記憶する部位である。記憶部１５０に記憶されるプログラムは、例えばＯＳ（Operating System）のプログラムと、アプリケーションソフトウェアのプログラムなどとなる。また、記憶部１５０としてのハードウェアには、例えばＨＤＤ（Hard Disc Drive）を採用することができる。
【００２５】
データインターフェース部１６０は、例えばＵＳＢ（Universal Serial Bus）やＩＥＥＥ１３９４などの各種所定のデータインターフェース規格に対応したデータの送受信を実行する部位を一括して示したものである。
【００２６】
ネットワークインターフェース部１７０は、所定のＬＡＮ（Local Area Network）規格に対応してネットワーク上での通信を実行する部位である。
【００２７】
ユーザインターフェース部１８０は、ユーザインターフェースに関する部位を一括して示すもので、例えば図示するように、操作部１８１と表示部１８２を含む。操作部１８１は、サーバ１００の本体に備えられる各種操作子と、所定のインターフェースを介してサーバ１００に接続されたキーボードなどの入力デバイスを一括して示している。また、表示部１８２は、例えばＬＣＤ（Liquid Crystal Display）などとされ、ＣＰＵ１１０の制御に応じて、適宜、サーバ１００の動作状態に応じた所定内容の表示が行われる。
【００２８】
電源部１９０は、図２に示した電源供給部２１０から供給される商用交流電源３００の電力を利用して直流電源を生成し、サーバ１００内の各回路やチップなどに供給する。また、この電源部１９０による電力供給動作は、ＣＰＵ１１０によって以下のように制御される。つまり、電源部１９０は、起動時においては、サーバ１００の各回路に対して通常動作に対応する直流電源を供給する。また、シャットダウン状態のもとでは、例えばファームウェアによるＣＰＵ１１０の動作を実行させるために必要な電力以外の電源電圧の供給を停止した状態とする。
【００２９】
ここで、サーバラック２００に設置される複数のサーバ１００を運用するにあたり、予め定められた時間によりシャットダウンおよび再起動を行う場合を想定する。この再起動に際して複数のサーバ１００を同時に起動させると、起動直後において電源供給部２１０からサーバ１００に流入する突入電流のレベルが相当に高くなってしまう。これにより、例えば突入電流に対応可能な程度にまで大きな配電盤の電流容量を確保しなければならないなどの不具合を生じる。
【００３０】
そこで、本実施形態においては、以下の説明のように各サーバ１００が自己の起動処理を実行することで、これら複数のサーバ１００の起動タイミングが分散されるようにする。そして、サーバ１００の起動タイミングを分散させるにあたり、管理者は、予め、サーバ１００ごとに対して基準起動時刻と起動時刻範囲を設定するための操作を行っておくようにする。
【００３１】
基準起動時刻は、複数のサーバ１００を起動させるにあたり基準となる時刻であり、複数のサーバ１００間で共通の時刻が設定される。また、本実施形態では、基準起動時刻を含む所定の時間範囲においてランダムに決定した１つの時刻を、サーバ１００を起動時刻として設定する。また、起動時刻範囲は、上記のように起動時刻をランダムに決定して設定するにあたり、この起動時刻を設定可能な時間の範囲を指す。
【００３２】
管理者は、例えば以下のような作業手順で、基準起動時刻と起動時刻範囲を設定する。まず、基準起動時刻の設定から説明する。管理者は、基準起動時刻を設定するにあたり、ユーザインターフェース部１８０における入力デバイスを利用した所定操作によってＢＩＯＳ１３１に関連する環境設定を行うためのメニュー画面を表示部に表示させる。そして、このＢＩＯＳ設定メニュー画面に対する操作によって、環境設定画面の１つである起動基準時刻設定画面を呼び出して表示させる。
【００３３】
図４（ａ）は、ユーザインターフェース部１８０の表示部１８２に表示される起動基準時刻設定画面の一例を示している。管理者は、このように表示される起動基準時刻設定画面に対して所定操作を行って、基準起動時刻としての年、月、日、時、分、秒を入力するする。
【００３４】
また、管理者が起動時刻範囲を設定する際には、上記と同様に、所定操作によってＢＩＯＳの環境設定メニュー画面から起動時刻範囲設定画面を表示させる。図４（ｂ）は、環境設定画面の１つとして表示部１８２に表示される起動時刻範囲設定画面の一例を示している。この図に示される起動時刻範囲設定画面では、起動時刻範囲の選択肢として、「０分」「±１分」「±２分」「±３分」「±５分」「±１０分」の５つが提示されるように表示される。
【００３５】
「０分」の起動時刻範囲は、起動時刻を設定可能な時間の範囲が「０」であることを示す。したがって、「０分」の起動時刻範囲が設定された場合サーバ１００の起動時刻は、起動基準時刻と同一になる。また、「±１分」の起動時刻範囲は、起動時刻を設定可能な時間の範囲が基準起動時刻の１分前から１分後の２分間であることを示している。起動時刻範囲が「±１分」の場合、サーバ１００は、基準起動時刻の１分前から１分後の２分間においてランダムに決定した起動時刻を自己に設定する。
【００３６】
管理者は、これらの起動時刻範囲の選択肢のうちから、運用に際して適切とされる起動時刻範囲を選択決定する操作を行う。これにより、管理者が選択決定した１つの選択肢が起動時刻範囲として設定される。これまでの説明から理解されるように、基準起動時刻と起動時刻範囲の設定は、ＣＰＵ１１０がＢＩＯＳ１３１を実行する環境のもとで行われる。
【００３７】
そして、上記のように基準起動時刻と起動時刻範囲が設定されたサーバ１００は、ＢＩＯＳ１３１の実行環境のもとで、以下のように起動時刻を設定する。つまり、サーバ１００は、設定された起動時刻範囲に対応する数値範囲内で乱数を発生させることで、１つのシフト時間をランダムに決定する。そして、基準起動時刻について上記のように決定されたシフト時間だけシフトさせた時刻を、起動時刻として設定する。具体的に、起動時刻範囲について「±１分」が設定された状態のもとでシフト時間について「−４０秒」が決定されたとする。そして、基準起動時刻が０７（時）：００（分）：００（秒）であるとすれば、起動時刻は、０７：００：００を２０秒前にシフトさせた０６：５９：２０として設定されることになる。なお、上記の説明から理解されるように、シフト時間をランダムに決定することに応じて起動時刻が決まる。したがって、シフト時間を決定することは、すなわち、起動基準時刻を含む起動時刻範囲において１つの時刻をランダムに決定していることに相当する。
【００３８】
そして、サーバ１００は、シャットダウンの状態のもとでＲＴＣ１２０が計時する時刻を監視しており、この監視している時刻が上記のように設定した起動時刻に至るのを待機している。そして、ＲＴＣ１２０の時刻が起動時刻に至ると、サーバ１００は自己を起動させる。なお、シャットダウン状態における上記サーバ１００の動作は、ＣＰＵ１１０がＢＩＯＳ１３１を実行することにより実現される。
【００３９】
図５は、サーバラック２００に設置された複数のサーバ１００が上記のように起動処理を実行した結果例を模式的に示している。ここでは、サーバラック２００において１０台のサーバ１００が設置されているものとする。これら１０台のサーバ１００は、それぞれ、同じ基準起動時刻と起動時刻範囲が設定されている。この設定状況のもとで、１０台のサーバ１００は、それぞれ、同じ起動時刻範囲において起動時刻をランダムに設定することになる。
【００４０】
上記のように設定された１０台のサーバ１００の各起動時刻を、図５においては、起動時刻ｔ０〜ｔ１０として示している。この図に示すように、起動時刻ｔ０〜ｔ１０は、それぞれランダムに決定されたシフト時間ｔｓｆｔにより基準起動時刻ｔｒｅｆからシフトさせた時刻となる。また、これらの起動時刻ｔ０〜ｔ１０は、起動時刻範囲に対応する時刻ｔｐｒｅ〜ｔｐｏｓの範囲におさまるようにされている。このように、本実施形態では、基準起動時刻ｔｒｅｆの前後の一定時間内において、各サーバ１００の起動時刻が分散するように設定される。
【００４１】
そして、同図に示すように、各サーバ１００が互いに異なる時刻において起動することで、電源供給部２１０からサーバ１００側に流れる突入電流のレベルが抑制されることになる。これにより、例えば配電盤などについて過大な突入電流に対応させた容量を設定する必要がなくなる。
【００４２】
なお、本実施形態では乱数を発生させて起動時刻を設定するために、起動時刻が同じになる可能性がある。しかし、確率的に、同じ起動時刻が設定されてしまうサーバ１００は少数であり、したがって、仮にいつくかのサーバ１００の起動時刻が同じになったとしても、突入電流が過大となる状況に陥ることはないと考えてよい。
【００４３】
ただし、例えばサーバ１００の設置数が相当に多いことにより、同じ起動時刻が設定される確率が高くなると想定されるときには、起動時刻範囲について、より大きな値を選択して設定すればよい。具体例として、これまで「±５分」を設定していたとすれば、「±1０分」を設定する。このように、本実施形態では、起動時刻範囲を変更することにより、例えばサーバ１００の設置数に応じて、すべてのサーバが起動を完了するまでの待ち時間と、複数のサーバ１００に同じ起動時刻が設定される確率とのバランスを適切に調整することが可能である。
【００４４】
また、これまでの説明から理解されるように、本実施形態では、基準起動時刻および起動時刻範囲についてサーバ１００ごとに同一の時刻を設定していても、サーバ１００の起動時間が分散される。つまり、管理者は、サーバ１００の起動時間を分散させるための設定作業として、サーバ１００ごとに同じ基準起動時刻と起動時刻範囲を設定すればよい。これにより、例えば、サーバ１００ごとに異なる起動時間を設定する場合と比較すれば、管理者の作業負担は大幅に軽減されることになる。つまり、運用コストを有効に抑えることが可能になる。
【００４５】
また、本実施形態では、起動基準時刻と起動時刻範囲との組み合わせによりサーバ１００の起動時刻が分散されるようにしている。具体例として、「７：００」の時刻までにすべてのサーバをシャットダウン状態から起動させた状態にしなければならないとする。この場合、管理者は、図４に示される起動時刻範囲が終了する時刻ｔｐｏｓが「７：００」となるように、基準起動時刻ｔｒｅｆと起動時刻範囲をそれぞれ設定すればよい。一具体例として、管理者は、例えば、起動基準時刻ｔｒｅｆを「６：５０」に設定するとともに、起動時刻範囲を「±１０分」に設定すればよい。このように、起動基準時刻と起動時刻範囲との設定を併用することで、例えばすべてのサーバ１００を起動させた状態とするまでの時刻を確実に既定したうえで起動時刻を分散させることが可能となっている。すなわち、本実施形態では、サーバの運用に適した起動時刻の分散設定が可能となっている。
【００４６】
以下、上記のように行われる起動処理を実現するためのサーバ１００の構成例について説明する。図６は、起動処理に対応したＣＰＵ１１０の機能構成例を示している。なお、この図に示されるＣＰＵ１１０における各機能部はＢＩＯＳ１３１のプログラムを実行することにより実現される。また、この図においては、起動処理に関連する部位として、ＣＰＵ１１０とともに、ＲＴＣ１２０、ＲＯＭ１３０およびユーザインターフェース部１８０を示している。
【００４７】
ＣＰＵ１１０は、起動処理のための機能部として、起動時刻範囲設定部１１１、基準起動時刻設定部１１２、起動時刻設定部１１３および起動処理部１１４を備える。また、ＲＯＭ１３０は、起動処理に際して利用されるデータとして、起動時刻範囲データ１３２、基準起動時刻データ１３３および起動時刻データ１３４を記憶する。
【００４８】
ＣＰＵ１１０において、起動時刻範囲設定部１１１は、操作に応じて起動時刻範囲を設定する。このために、起動時刻範囲設定部１１１は、ユーザインターフェース部１８０の操作部１８１に対する所定操作に応じて、図４（ｂ）に示す起動時刻範囲設定画面を表示部１８２に表示させる。また、この起動時刻範囲設定画面に対して行われる操作により選択決定された起動時刻範囲を、ＲＯＭ１３０に対して起動時刻範囲データ１３２として記憶させる。
【００４９】
基準起動時刻設定部１１２は、操作に応じて基準起動時刻を設定する。このために、基準起動時刻設定部１１２は操作部１８１に対する所定操作に応じて、図４（ａ）に示す基準起動時刻設定画面を表示部１８２に表示させる。また、この基準起動時刻設定画面に対して行われる操作により入力された基準起動時刻を、ＲＯＭ１３０に対して基準起動時刻データ１３３として記憶させる。
【００５０】
起動時刻設定部１１３は、起動時刻範囲と基準起動時刻とに基づいて起動時刻を設定する。このために、起動時刻設定部１１３は、ＲＯＭ１３０から起動時刻範囲データ１３２と基準起動時刻データ１３３を読み込む。そして、起動時刻範囲データ１３２が示す起動時刻範囲に対応する数値範囲において乱数を発生させ、この発生された乱数をシフト時間として決定する。次に、基準起動時刻データ１３３が示す基準起動時刻に対して、決定されたシフト時間によりシフトさせた時刻を求める。起動時刻設定部１１３は、このように求められた時刻を起動時刻データ１３４としてＲＯＭ１３０に記憶させる。
【００５１】
起動処理部１１４は、起動時刻にしたがってサーバ１００を起動させるための起動処理を実行する部位である。このために、起動処理部１１４は、シャットダウンの状態において、ＲＴＣ１２０が計時している時刻を監視しながら、このＲＴＣ１２０の時刻について、ＲＯＭ１３０の起動時刻データ１３４が示す起動時刻に至るのを待機する。そして、ＲＴＣ１２０の時刻が起動時刻に至ったことを判定すると、起動処理部１１４は、サーバ１００を起動させるための起動処理を実行させる。具体的には、電源部１９０に対して、起動に応じた電圧値による電源電圧の供給を各機能部に対して行うように指示する。また、記憶部１５０からＯＳなどをはじめとする必要なプログラムを読み出してＲＡＭ１４０に展開し、このプログラムをＣＰＵ１１０に実行させる。
【００５２】
また、起動処理部１１４は、シャットダウン処理も実行する。例えば管理者による操作や、予めスケジューリングされたシャットダウンの時刻に至ったことなどに応じてシャットダウンを指示するコマンドが発行される。これに応じて、ＣＰＵ１１０により、ＯＳレベルでのシャットダウン処理が実行される。つまり、ＲＡＭ１４０に保持されていたデータを記憶部１５０に記憶させたうえで、これまで起動させていたアプリケーションやＯＳを終了させ、ＢＩＯＳ１３１に制御を受け渡す。次に、このＢＩＯＳ１３１の実行環境におけるシャットダウン動作として、起動処理部１１４は、サーバ内部の各種ハードウェアデバイスや周辺機器などの動作を終了させる。この際、電源部１９０に対してはシャットダウン状態に応じた電源供給モードを指示する。この指示に応じて、電源部１９０は、例えば、ＣＰＵ１１０によるＢＩＯＳ１３１の実行に対応する必要最小限の電力供給を行うように動作する。
【００５３】
上記図６の構成から理解できるように、本実施形態においてサーバ１００の起動時間を分散させるための起動処理は、ＯＳやアプリケーションの階層において実行されるのではなく、ＢＩＯＳ１３１としてのファームウェアの階層において実行される。つまり、本実施形態の起動時間分散のための機能はファームウェアに実装されている。このことは、起動時間分散を目的とする起動処理のために、ＢＭＣやＵＰＳなどの他の機能やデバイスを追加して実装する必要がないことを意味する。つまり、本実施形態では、サーバ１００の起動時間を分散するための導入コストの増加を回避することができる。
【００５４】
図７（ａ）のフローチャートは、起動時刻範囲設定部１１１が実行する起動時刻範囲設定のための処理手順例を示している。まず、起動時刻範囲設定部１１１は、起動時刻範囲設定画面を呼び出すための操作が行われるのを待機している（ステップＳ１０１−ＮＯ）。そして、この起動時刻範囲設定画面の呼び出し操作が行われたことを判定すると（ステップＳ１０１−ＹＥＳ）、起動時刻範囲設定部１１１は、図４（ｂ）に示した起動時刻範囲設定画面を表示部１８２に表示させる（ステップＳ１０２）。
【００５５】
上記起動時刻範囲設定画面を表示させた状態のもとで、起動時刻範囲設定部１１１は、起動時刻範囲を選択決定する操作が行われるのを待機する（ステップＳ１０３−ＮＯ）。そして、起動時刻範囲の選択決定操作が行われたことを判定すると（ステップＳ１０３−ＹＥＳ）、起動時刻範囲設定部１１１は、この選択決定された起動時刻範囲を起動時刻範囲データ１３２としてＲＯＭ１３０に記憶させる（ステップＳ１０４）。このような処理によって管理者の操作に応じた起動時刻範囲の設定が行われる。
【００５６】
また、図７（ｂ）のフローチャートは、基準起動時刻設定部１１２が基準起動時刻を設定するための処理手順例を示している。まず、基準起動時刻設定部１１２は、基準起動時刻設定画面を呼び出すための操作が行われるのを待機している（ステップＳ２０１−ＮＯ）。そして、この基準起動時刻設定画面の呼び出し操作が行われたことを判定すると（ステップＳ２０１−ＹＥＳ）、基準起動時刻設定部１１２は、図４（ａ）に示した基準起動時刻設定画面を表示部１８２に表示させる（ステップＳ２０２）。
【００５７】
上記基準起動時刻設定画面を表示させた状態のもとで、基準起動時刻設定部１１２は、基準起動時刻の入力を確定させるための操作が行われるのを待機する（ステップＳ２０３−ＮＯ）。そして、基準起動時刻の入力確定操作が行われたことを判定すると（ステップＳ２０３−ＹＥＳ）、基準起動時刻設定部１１２は、この入力された基準起動時刻を基準起動時刻データ１３３としてＲＯＭ１３０に記憶させる（ステップＳ２０４）。このような処理によって管理者の操作に応じた基準起動時刻の設定が行われる。
【００５８】
図８のフローチャートは、ＣＰＵ１１０による起動時刻の設定とサーバ起動のための処理手順例を示している。まず、ＯＳを実行しているＣＰＵ１１０は、シャットダウンが指示されるのを待機している（ステップＳ３０１−ＮＯ）。そして、ＣＰＵ１１０は、シャットダウンを指示するコマンドが発行されたことを判定すると（ステップＳ３０１−ＹＥＳ）、ＯＳレベルでのシャットダウン処理を実行する（ステップＳ３０２）。このＯＳレベルでのシャットダウンにより、前述のようにＯＳからＢＩＯＳ１３１に制御が受け渡される。
【００５９】
上記のようにＯＳレベルでシャットダウンされてＢＩＯＳ１３１が実行される環境のもとで、起動時刻設定部１１３は、以下のように起動時刻を設定する。つまり、起動時刻設定部１１３は、ＲＯＭ１３０から起動時刻範囲データ１３２を読み込む（ステップＳ３０３）。そして、この起動時刻範囲データ１３２が示す起動時刻範囲に対応する数値範囲において乱数を生成し、この生成された乱数をシフト時間として決定する（ステップＳ３０４）。
【００６０】
次に、起動時刻設定部１１３は、ＲＯＭ１３０から基準起動時刻データ１３３を読み込む（ステップＳ３０５）。そして、この基準起動時刻データ１３３が示す時刻を上記ステップＳ３０４により決定されたシフト時間によりシフトさせた時刻を算出する（ステップＳ３０６）。このように算出した時刻が起動時刻となる。そこで、起動時刻設定部１１３は、算出した時刻を起動時刻データ１３４としてＲＯＭ１３０に記憶させる（ステップＳ３０７）。このように、起動時刻設定部１１３は、ＢＩＯＳ１３１により実現される機能であることから、ＯＳレベルのシャットダウンが実行された後において、上記のように起動時刻を設定することができる。
【００６１】
上記のように起動時刻の設定が終了するのに応じて、起動処理部１１４は、前述のようにＢＩＯＳレベルによりハードウェアをシャットダウンさせる処理を実行する（ステップＳ３０８）。そして、以降において、ＲＴＣ１２０から時刻を読み込み（ステップＳ３０９）、この読み込んだ時刻が、起動時刻データ１３４が示す起動時刻に至るのを待機する（ステップＳ３１０−ＮＯ）。そして、ＲＴＣ１２０の時刻が起動時刻に至ったことを判定すると（ステップＳ３１０−ＹＥＳ）、サーバ１００を起動させるための処理を実行する（ステップＳ３１１）。このように処理が実行されることで、サーバ１００の各々は、それぞれ起動時刻をランダムに設定し、設定された起動時刻により起動することができる。つまり、複数のサーバ１００の起動時間を分散させることが可能になる。
【００６２】
続いて、他の実施形態について説明する。図９（ａ）は他の実施形態に対応するサーバ１００の前面パネルを示している。この他の実施形態においては、図示するように、起動時刻範囲設定操作子１８１ａが設けられる。この起動時刻範囲設定操作子１８１ａは、管理者が起動時刻範囲を設定するための操作を行う際に使用する操作子である。
【００６３】
図９（ｂ）は、起動時刻範囲設定操作子１８１ａの部分を拡大して示している。この図に示す起動時刻範囲設定操作子１８１ａはダイヤル形式とされている。この起動時刻範囲設定操作子１８１ａを回転させる操作を行うことで、図示するように、「０分」「±１分」「±２分」「±３分」「±５分」「±１０分」のうちから選択して起動時刻範囲を設定できるようになっている。
【００６４】
このような起動時刻範囲設定操作子１８１ａを設けることで、例えばＢＩＯＳ設定メニュー画面から起動時刻範囲設定画面を呼び出すことなく、より簡単な操作で起動時刻範囲を設定することが可能になる。なお、起動時刻範囲設定操作子１８１ａの態様については、例えばスライドスイッチやディップスイッチなどをはじめとして他にも考えることができる。
【００６５】
また、これまでの実施形態において、起動時刻範囲は、例えば「０分」「±１分」「±２分」「±３分」「±５分」「±１０分」の選択肢のうちから選択することとしている。しかし、これはあくまでも一例であって、例えば１分程度の一定の時間間隔ごとに設定できるなど、他の設定の仕方が採用されてもよい。
【００６６】
また、上述のサーバ装置は内部に、コンピュータシステムを有している。そして、上述した起動処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００６７】
また、図６に示す各機能部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより起動処理等を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００６８】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００６９】
１００  サーバ
１０１  データバス
１１０  ＣＰＵ
１１１  起動時刻範囲設定部
１１２  基準起動時刻設定部
１１３  起動時刻設定部
１１４  起動処理部
１２０  ＲＴＣ
１３０  ＲＯＭ
１３１  ＢＩＯＳ
１３２  起動時刻範囲データ
１３３  基準起動時刻データ
１３４  起動時刻データ
１４０  ＲＡＭ
１５０  記憶部
１６０  データインターフェース部
１７０  ネットワークインターフェース部
１８０  ユーザインターフェース部
１８１  操作部
１８１ａ  起動時刻範囲設定操作子
１８２  表示部
１９０  電源部
２００  サーバラック
２１０  電源供給部
３００  商用交流電源
【図１】
0005742543.tif 000002
【図２】
0005742543.tif 000003
【図３】
0005742543.tif 000004
【図４】
0005742543.tif 000005
【図５】
0005742543.tif 000006
【図６】
0005742543.tif 000007
【図７】
0005742543.tif 000008
【図８】
0005742543.tif 000009
【図９】
0005742543.tif 000010