(57)【要約】      （修正有）【課題】ＩＰアドレスを、帯域外通信チャンネルを用いて、コンピューティングデバイスに対して設定する。【解決手段】システム管理者は、帯域外通信チャンネルを用いて、システム制御部（例えばベースバンドマネージメントコントローラ）にＩＰアドレスを設定する。上記システム制御部には、コンピューティングデバイスの電源が落とされるときに、ＩＰアドレスが設定されてもよい。上記システム制御部は、該システム制御部に関連付けられたメモリに上記ＩＰアドレスを格納する。上記コンピューティングデバイスのオペレーティングシステムには、エージェント（例えば、プロセス、アプリケーション、ユーティリティ）が組み込まれてもよい。【選択図】図２
2016025656.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスが起動する前に、該コンピューティングデバイスのインターネットプロトコル（ＩＰ）アドレスを指定し、該コンピューティングデバイスのＩＰアドレスを設定するよう要求する設定要求を、該コンピューティングデバイスのシステム制御部が受信するステップと、
指定された上記ＩＰアドレスを、上記システム制御部に関連付けられた記憶装置に格納するステップと、
上記コンピューティングデバイスを起動するステップと、
上記システム制御部が、上記指定されたＩＰアドレスを要求するＩＰアドレス要求を、オペレーティングシステムエージェントから受信するステップと、
上記指定されたＩＰアドレスに基づいて、上記コンピューティングデバイスのＩＰアドレスを設定するステップと、を含む方法。
【請求項２】
上記システム制御部は、該システム制御部と上記オペレーティングシステムエージェントとの間での通信を簡易化するコマンド機能を実行し、
上記コマンド機能は、上記システム制御部の他の機能とは独立して作動する、請求項１に記載の方法。
【請求項３】
上記オペレーティングシステムエージェントから上記ＩＰアドレス要求を受信したことに応答して、上記指定されたＩＰアドレスが上記システム制御部によって設定されたことを示す進捗状況応答を、上記オペレーティングシステムエージェントに送信するステップと、
上記コンピューティングデバイスのＩＰアドレスを設定する前に、該ＩＰアドレスの設定を上記指定されたＩＰアドレスに基づいて行う上記オペレーティングシステムエージェントに対して、該指定されたＩＰアドレスを供給するステップとをさらに含み、
上記ＩＰアドレス要求は、上記オペレーティングシステムエージェントから、一定時間空けて周期的に受信される、請求項１に記載の方法。
【請求項４】
管理者からの上記設定要求は、上記システム制御部のネットワークインターフェースを介して受信され、
上記システム制御部は、上記オペレーティングシステムエージェントとは独立して作動し、
上記システム制御部は、ベースボードマネージメントコントローラ（ＢＭＣ）を含み、
上記コンピューティングデバイスの電源が切れている間、上記ＩＰアドレスは、上記システム制御部によって設定され、
管理システムは、上記システム制御部のネットワークインターフェース（ＮＩ）を介して、該システム制御部と通信する、請求項１に記載の方法。
【請求項５】
ベースバンドマネージメントコントローラ（ＢＭＣ）と、
１または複数のアプリケーションプロセッサと、
上記ＢＭＣによって実行された場合に、該ＢＭＣに、
アプリケーションプロセッサが起動する前に、コンピューティングデバイスに対するインターネットプロトコル（ＩＰ）アドレスを指定し、該コンピューティングデバイスのＩＰアドレスを設定するよう要求する設定要求を受信させ、
指定された上記ＩＰアドレスをシステム制御部に関連付けられた記憶装置に格納させ、
上記コンピューティングデバイスを起動させ、
上記指定されたＩＰアドレスを要求するＩＰアドレス要求を、オペレーティングシステムエージェントから上記システム制御部において受信させ、
上記指定されたＩＰアドレスに基づいて、上記コンピューティングデバイスのＩＰアドレスを設定させる
命令の、１または複数のシーケンスを含むコンピュータ読み取り可能な記録媒体とを備えている、装置。
【請求項６】
コンピューティングデバイスのオペレーティングシステムを初期化するステップと、
上記オペレーティングシステムの初期化中に、オペレーティングシステムエージェントが、上記コンピューティングデバイスのインターネットプロトコル（ＩＰ）アドレスを要求するＩＰアドレス要求を、システム制御部に送信するステップと、
上記オペレーティングシステムエージェントが、指定されたＩＰアドレスを、上記システム制御部から受信するステップと、
上記指定されたＩＰアドレスに基づいて、上記コンピューティングデバイスのＩＰアドレスを設定するステップと、を含む方法。
【請求項７】
上記オペレーティングシステムエージェントは、ソフトウェアアプリケーションを備え、
上記オペレーティングシステムエージェントは、上記システム制御部と、システムインターフェース（ＳＩ）を介して通信し、
上記ＩＰアドレス要求は、一定時間空けて周期的に送信される、請求項６に記載の方法。
【請求項８】
上記コンピューティングデバイスのＩＰアドレスは、上記オペレーティングシステムエージェントによって、システムネットワークコマンドを用いて設定され、
上記指定されたＩＰアドレスは、ネットワークインターフェースコントローラ（ＮＩＣ）に格納され、
上記システム制御部は、ベースボードマネージメントコントローラ（ＢＭＣ）を備えている、請求項６に記載の方法。
【請求項９】
上記オペレーティングシステムエージェントは、上記ＢＭＣとは別に設けられた中央処理装置（ＣＰＵ）上で動作し、
上記オペレーティングシステムエージェントは、上記指定されたＩＰアドレスに基づいて、上記コンピューティングデバイスのＩＰアドレスを設定する、請求項１９に記載の方法。
【請求項１０】
ベースボードマネージメントコントローラ（ＢＭＣ）と、
１または複数のアプリケーションプロセッサと、
上記１または複数のアプリケーションプロセッサによって実行された場合に、該アプリケーションプロセッサに、
コンピューティングデバイスのオペレーティングシステムを初期化させ、
上記オペレーティングシステムの初期化中に、上記コンピューティングデバイスのインターネットプロトコル（ＩＰ）アドレスを要求するＩＰアドレス要求を、オペレーティングシステムエージェントを用いて上記ＢＭＣ宛てに送信させ、
システム制御部から指定されたＩＰアドレスを、上記ＢＭＣから上記オペレーティングシステムエージェントにおいて受信させ、
上記指定されたＩＰアドレスに基づいて、上記コンピューティングデバイスのＩＰアドレスを設定させる
命令の、１または複数のシーケンスを含むコンピュータ読み取り可能な記録媒体とを備えている、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、コンピューティングデバイスに対してインターネットプロトコル（ＩＰ）アドレスを設定することに関する。
【背景技術】
【０００２】
従来、コンピューティングデバイスに対するインターネットプロトコル（ＩＰ）アドレスは、手動または動的ホスト設定プロトコル（ＤＨＣＰ）サービスを用いて設定することが可能である。例えば、コンピューティングデバイスは、コンピューティングデバイスが起動された時点で、該コンピューティングデバイスがＤＨＣＰサーバとの接続を確立し、サーバより動的に割り当てられたＩＰアドレスを受信したときに、ＩＰアドレスを動的に設定する。しかし、コンピューティングデバイスの管理者がコンピューティングデバイスに静的なＩＰアドレスを指定したいと望むならば、コンピューティングデバイスにＩＰアドレスを設定するために、管理者はしばしばコンピューティングデバイスのオペレーティングシステムへログインし、さまざまなシステムコマンドを用いなければならない。いずれにしても、コンピューティングデバイスにＩＰアドレスが設定される前に、コンピューティングデバイスとオペレーティングシステムとが作動していなければならない。
【０００３】
米国特許第８，８６２，７３５号明細書（発明の名称「複数のＤＨＣＰおよびＤＮＳサーバのＩＰアドレス管理」）には、事業ネットワークの管理方法について開示されている。ネットワークに対するＩＰアドレスの割り当てを示し、そしてユーザがＤＨＣＰ範囲およびＤＮＳ区間を設定することを可能にする、グラフィカルユーザインターフェース（ＧＵＩ）が開示されている。新たなホストを予約する要求を、ユーザより受信することができる。上記要求は、第一のプロトコルへ翻訳され、処理を行うためにＤＨＣＰ制御サーバへ送られる。上記処理に基づいて、複数のＤＨＣＰサーバによる設定が更新されて、新たなホストの予約が含められる。そして、これらの設定は、（少なくとも一時的に）保存しておくために、あるいは、複数のＤＨＣＰサーバによってアクセスされるために、設定保存システムに供給される。上記要求は、第二のプロトコルへ翻訳され、処理を行うためにＤＮＳ管理サーバへ送られる。上記処理に基づいて、ＤＮＳサーバによる設定は、更新されて、新たなホストの予約が含められる。そして、該設定は、ＤＮＳデータベースへ格納される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第８，８６２，７３５号明細書
【発明の概要】
【０００５】
いくつかの実施形態において、ＩＰアドレスは、帯域外通信チャンネルを用いて、コンピューティングデバイスに対して設定される。例えば、システム管理者は、帯域外通信チャンネルを用いて、システム制御部（例えばベースバンドマネージメントコントローラ）にＩＰアドレスを設定してもよい。いくつかの実施形態において、上記システム制御部には、上記コンピューティングデバイスの電源が落とされるときに、ＩＰアドレスが設定されてもよい。上記システム制御部は、該システム制御部に関連付けられたメモリに上記ＩＰアドレスを格納してもよい。いくつかの実施形態において、上記コンピューティングデバイスのオペレーティングシステムには、エージェント（例えば、プロセス、アプリケーション、ユーティリティ）が組み込まれてもよい。該エージェントは、上記システム制御部に対してＩＰアドレスを要求し、該ＩＰアドレスを使用するように、上記コンピューティングデバイスを構成するものである。例えば、上記オペレーティングシステムエージェントは、上記システム制御部から受信したＩＰアドレスに基づいて、コンピューティングデバイスに対して上記ＩＰアドレスを設定するために、さまざまなオペレーティングシステムコマンドを用いてもよい。
【０００６】
ある特定の実施形態によれば、少なくとも以下に述べるような有利な点が享受される。すなわちシステム管理者は、コンピューティングデバイス（例えばサーバ）の起動前、または、省電力状態にある時に、該コンピューティングデバイスのＩＰアドレスを設定することが可能となる。
【０００７】
１つまたは複数の実施形態の詳細については、添付の図面および以下の記述において説明される。その他の特徴、側面、および、起こり得る有利な点は、説明文、図面および請求項によって明らかにされるであろう。
【図面の簡単な説明】
【０００８】
【図１】図１は、コンピューティングデバイスにＩＰアドレスを帯域外設定するシステムの具体例を示すブロック図である。
【図２】図２は、システム制御部を用いて遠隔からＩＰ設定を行う処理の具体例を示すフローチャートである。
【図３】図３は、オペレーティングシステムエージェントを用いて遠隔からＩＰ設定処理を行う方法の具体例を示すフローチャートである。
【図４】図４は、図１〜３に示す特徴および処理を実現するシステムアーキテクチャ４００の具体例を示すブロック図である。
【発明を実施するための形態】
【０００９】
説明の簡素化および明瞭化のために各図面において、参照番号が、対応するまたは類似の要素を示すように、繰り返し割り当てられていることを理解されたい。さらに、数々の特定の詳細な記述は、以下に記載された実施形態を十分に理解するためになされたものである。しかしながら、このような特定の詳細な記述がなくとも、当業者であれば、以下に記述される各実施形態を実現できるであろう。説明されている当該の特徴が不明瞭にならないために、その他の事例、方法、手順、および、部材は、詳細には記載されていない。また、本明細書は、以下に記載される実施形態の範囲に限定されていると見なすべきではない。各図は、本開示内容の詳細および特徴をより分かり易く示すために部分的に誇張されており、実際の尺度および比率を表しているとは限らない。
【００１０】
本開示を通して適用されるいくつかの定義について、ここに示す。
【００１１】
“接続”という語句は、部材間を通して直接的または間接的に接続したものと定義され、物理的な接続に限定される必要はない。接続は、対象が恒久的または開放可能なかたちで結合されたものである。“実質的”という語句は、部材が厳密である必要がないように実質的に変更された、特定の寸法、形状またはその他の単語と本質的に合致していると定義される。たとえば、実質的な円柱とは、円柱に似ている物体を意味するが、真の円柱から１つもしくはそれ以上の逸脱が許容される。“包含”という語句は、この語句が用いられる時は、“それを含むが、それだけに限定されない”ということを意味する。つまり、オープンエンド形式の包含または、そのような形式で記述された組み合わせ、グループ、系列などにおける構成要素を特に意味する。
【００１２】
図１は、コンピューティングデバイス（例えばサーバ）に対して、ＩＰアドレスの帯域外設定を行うための具体例となる、システム１００のブロック図である。いくつかの実施形態において、サーバ１１２（例えば、アプリケーションサーバ、ウェブサーバ、メールサーバ、モバイルサーバ、ファイルサーバ、ホストサーバ、ラックマウントサーバなど）に対して、帯域外の接続（例えば、オペレーティングシステムとは独立した専用のチャンネルを用いた接続）を用いてＩＰアドレスが設定されてもよい。例えば、サーバに対するＩＰアドレスの帯域外設定は、システム制御部１１４によって実行されてもよい。システム制御部１１４は、中央処理装置（ＣＰＵ）１１８やオペレーティングシステム（ＯＳ）１２０とは独立して作動するマイクロコントローラであってもよい。例えば、システム制御部１１４は、ベースボードマネージメントコントローラ（ＢＭＣ）のような、ＣＰＵとは独立して作動する特定のサービスプロセッサであってもよい。例えば、システム制御部１１４は、ベースボードマネージメントコントローラ（ＢＭＣ）であってもよい。ＢＭＣは、ＣＰＵとは独立して作動する特定用途向けサービスプロセッサであってもよい。
【００１３】
いくつかの実施形態において、システム制御部１１４は、遠隔の管理システムからＩＰアドレスを受信してもよい。例えば、上記遠隔の管理システムは、サーバ管理システム１０２であってもよい。いくつかの実施形態において、サーバ管理システム１０２は、サーバ管理アプリケーション１０４（例えば、システム管理者によって操作されるソフトウェア）を含んでいてもよい。例えば、サーバ管理部１０４は、システム管理者が行うサーバ１１２のＩＰアドレスを指定するためのやりとりを可能にするユーザインターフェースを供給してもよい。
【００１４】
いくつかの実施形態において、システム管理者は、サーバ管理部１０４を用いてサーバ１１２のＩＰアドレスを指定してもよい。サーバ管理部１０４は、上記指定されたＩＰアドレスをシステム制御部１１４に送信する。例えば、サーバ管理部１０４は、システム制御部１１４上で動作しているＩＰ設定ユーティリティ１１６に対してＩＰアドレス設定要求を送信してもよい。例えば、ＩＰ設定ユーティリティ１１６は、ソフトウェアもしくはシステム制御部１１４上に構成されたファームウェアとして実現可能である。いくつかの実施形態において、ＩＰ設定ユーティリティ１１６は、詳細を以下で説明するような、状態または進捗要求を送受信するためのインターフェースを提供してもよい。例えば、ＩＰ設定ユーティリティ１１６は、（１）サーバのＩＰアドレスを設定するためのインターフェース、（２）サーバのＩＰアドレスを取得するためのインターフェース、（３）進捗状態を設定するためのインターフェース、および、（４）進捗状態を取得するためのインターフェースを含んでいてもよい。例えば、上記設定要求は、サーバ管理部１０４からシステム制御部１１４（例えばＩＰ設定ユーティリティ１１６）宛てに、上記サーバのＩＰアドレスを設定するためのインターフェースを用いて送信されてもよい。システム制御部１１４は、ＣＰＵ１１８とは独立して作動するので、システム制御部１１４は、ＣＰＵ１１８および／またはオペレーティングシステム１２０が起動するよりも前（例えば、電源が入る前、初期化される前、省電力状態にある間、アイドル状態にある間など）に、サーバ管理部１０４からＩＰアドレスを受信することができる。
【００１５】
いくつかの実施形態において、ＩＰ設定ユーティリティ１１６は、システム制御部１１４の他の機能とは独立して作動してもよい。例えば、システム制御部１１４がＢＭＣである場合、ＢＭＣの第一の機能はサーバ１１２の物理的な状態を監視することである。ＩＰ設定ユーティリティ１１６は、ＢＭＣの監視機能とは独立して作動可能である。
【００１６】
いくつかの実施形態において、上記ＩＰアドレス設定要求は、システム制御部１１４のネットワークインターフェースを介して、ＩＰ設定ユーティリティ１１６に送信されてもよい。例えば、上記設定要求は、ネットワーク１０８（例えばＬＡＮ、ＷＬＡＮ、ＷＡＮ、インターネットなど）に接続されたネットワークインターフェース（ＩＦ）１０６、１１０を用いて送信されてもよい。ネットワークＩＦ１１０は、サーバ管理システム１０２とシステム制御部１１４との間の帯域外通信を可能にする、システム制御部１１４専用のネットワークＩＦであってもよい。
【００１７】
いくつかの実施形態において、ＩＰ設定ユーティリティ１１６は、システム制御部１１４に関連付けられたメモリに、指定されたＩＰアドレスを格納してもよい。例えば、ＩＰ設定ユーティリティ１１６は、サーバ管理部１０４より受信したＩＰアドレスを、システム制御部１１４に対応する不揮発性メモリ（例えば、ＮＶＲＡＭ、読出し専用メモリ、フラッシュメモリ、ＦＲＡＭ（登録商標）など）に格納してもよい。
【００１８】
いくつかの実施形態において、ＩＰ設定ユーティリティは、設定されたＩＰアドレスをオペレーティングシステムエージェント１２２へ供給してもよい。例えば、システム制御部１１４およびＣＰＵ１１８は、ともにサーバ１１２に収容されてもよい。ＣＰＵ１１８は、オペレーティングシステム（ＯＳ）１２０をサポートするように構成されてもよい。ＯＳ１２０は、例えば、ＵＮＩＸ（登録商標）、Ｍｉｃｒｏｓｏｆｔ Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムのいずれかの版、Ｌｉｎｕｘ（登録商標）オペレーティングシステムのディストリビューション、または、ここで開示する機能をサポートするオペレーティングシステムのいずれかである。オペレーティングシステム１２０には、サーバ１１２に対してＩＰアドレスを設定するためのＩＰ設定ユーティリティ１１６と相互作用可能なＯＳエージェント１２２（例えば、プロセス、アプリケーション、ユーティリティ）が組み込まれていてもよい。いくつかの実施形態において、ＯＳエージェント１２２は、ＯＳ１２０にあらかじめインストールされている、ソフトウェアアプリケーション、プロセス、または、ユーティリティであってもよい。
【００１９】
いくつかの実施形態において、ＯＳエージェント１２２は、システム制御部１１４に対してＩＰアドレスを要求してもよい。例えば、サーバ１１２の起動中（例えば、電源投入時、ＢＩＯＳの初期化中、オペレーティングシステムの初期化中など）に、さらに、それ以降定期的に、ＩＰ設定ユーティリティ１１６は、ＩＰアドレス要求をＯＳエージェント１２２から受信することができる。該ＯＳエージェント１２２は、ＩＰ設定ユーティリティ１１６がサーバ管理部１０４から受信したＩＰアドレスを要求するものである。上記ＩＰアドレス要求を受信したことに応答して、ＩＰ設定ユーティリティ１１６は、ＯＳエージェント１２２へ、要求されたＩＰアドレスを送信してもよい。ＯＳエージェント１２２がＩＰ設定ユーティリティ１１６からＩＰアドレスを受信すると、ＯＳエージェント１２２は、受信されたＩＰアドレスに基づいて、サーバ１１２のＩＰアドレスを設定するためにさまざまなオペレーティングシステムのコマンド（例えば、ifconfig、ipconfigなど）を用いることができる。
【００２０】
いくつかの実施形態において、システム制御部１１４から受信されたＩＰアドレスが、サーバ１１２に設定されると、サーバ１１２は、そのＩＰアドレスをほかのネットワーク機器に通知してもよい。例えば、ＯＳエージェント１２２が、ＩＰ設定ユーティリティ１１６からＩＰアドレスを受信すると、ＯＳエージェントは、受信したＩＰアドレスを利用するよう、サーバ１１２（例えば、オペレーティングシステム１２０）を設定してもよい。オペレーティングシステム１２０は、例えば、ネットワークインターフェースコントローラ（ＮＩＣ）１２４、１２６を用いて、ＩＰアドレスを通知するパケットをネットワークへ送出してもよい。ＮＩＣ１２４、１２６は、スイッチ１２８（例えばラックの一番上にあるスイッチ）へ、ＩＰアドレスを通知するパケットを送信してもよい。これにより、スイッチ１２８は、適切な経路や伝送テーブルを生成することができる。
【００２１】
いくつかの実施形態において、システム制御部１１４は、サーバ１１２が起動するよりも前に、サーバ管理システム１０２からＩＰアドレスを受信してもよい。例えば、システム制御部１１４は、帯域外で動作し、かつ、ＣＰＵ１１８およびＯＳ１２０とは独立して機能するように構成される。そうすると、システム制御部１１４は、たとえサーバ１１２が起動していなくとも、あるいは、電源が入っていなくとも、上記設定要求を処理することが可能となる。あるいは、システム制御部１１４は、起動後、サーバ１１２が省電力状態またはアイドル状態にある間に、サーバ管理システム１０２からＩＰアドレスを受信してもよい。例えば、割り込みが発生するまでＣＰＵが機能を停止するようにするために、命令を中止することによって、省電力状態およびアイドル状態が電力節約を実施する。システム制御部１１４は、帯域外で、かつ、オペレーティングシステムおよびＣＰＵとは独立して作動しているため、サーバ１１２においてアイドル状態から割り込みが発生することなく、上記設定要求が受信されたり処理されたりすることが可能となる。
【００２２】
いくつかの実施形態において、サーバに１つ以上のＩＰアドレスを設定してもよい。単純化のため、サーバが１つのみの場合について議論および説明がなされる。しかし、ここで教示される内容にしたがって、サーバが１つ以上の場合についても実現可能であることが理解されるであろう。例えば、複数のサーバのそれぞれが、システム制御部１１４、ＩＰ設定ユーティリティ、ＣＰＵ、ＯＳ、ＯＳエージェント、および、ＮＩＣを備え、これら複数のサーバは、ネットワークＩＦを介して単一のサーバ管理システムへ接続される。上記ネットワークＩＦは、各々のサーバの専用のＩＦである。上記サーバ管理システムは、複数のサーバに対してそれぞれ別のＩＰアドレスを設定するために、サーバ管理部を介して、複数のシステム制御部（例えばＢＭＣ）に、複数の設定要求を送信してもよい。上記のことは、ここに教示される内容にしたがって、サーバ群の起動前、もしくは、サーバ群が省電力状態またはアイドル状態にある間に達成され得る。
【００２３】
図１および図２を参照して、図２は、システム制御部を用いて遠隔のＩＰ設定を行うための具体例を示すフローチャート２００である。以下に示す方法は、図１において説明された設定を用いて実行できる。例えば、これらの図のさまざまな要素は、本具体例の方法を説明するにあたって参照される。図２に示すそれぞれのブロックは、例示する上記方法において実行される、１つ以上の処理、方法、またはサブルーチンを表す。さらに、示されているブロックの順番は、単なる説明のためのものにすぎず、ブロックの順番は本開示内容に従って変更することができる。本開示内容から逸脱することなく、さらなるブロックが追加されてもよいし、あるいは、より少ないブロックで実現されてもよい。例示する上記方法は、ブロック２０２より始まる。
【００２４】
ブロック２０２において、システム制御部は、サーバのＩＰアドレスを設定することを求める設定要求を受信してもよい。例えば、上記設定要求は、サーバのＩＰアドレスを指定するサーバ管理システムから受信された要求であってもよい。上記要求は、ＣＰＵとは独立して作動する帯域外通信チャンネル（例えば、システム制御部専用のネットワークインターフェース）を用いて受信されてもよい。したがって、いくつかの実施形態において、ＩＰアドレスは、サーバの電源が落ちても、サーバがアイドル状態であっても、あるいは、その他の操作不能な状態（例えば、サーバが何らかの理由で故障した状態）であっても、システム制御部１１４によって設定され得る。
【００２５】
いくつかの実施形態において、システム制御部１１４は、ＩＰアドレスの更新がいつ進行中であるのかを示す変数（例えば標識フラグ）を管理してもよい。例えば、システム制御部１１４（例えば、ＩＰ設定ユーティリティ１１６）は、いつシステム制御部１１４にＩＰアドレスが設定されたのか、あるいは、いつサーバ１１２に対してＩＰアドレスが設定されたのかを示すための、標識フラグの値を、ＯＳエージェント１２２およびサーバ管理部１０４に送信してもよい。例えば、サーバ管理システム１０２より指定されたＩＰアドレスを受信すると、システム制御部１１４は、標識フラグ“１”の値を設定してもよい。この標識フラグ“１”の値は、ＩＰアドレス更新／設定の手続きが、進行中であること（例えば、新たなＩＰアドレスを受信したが、サーバへの設定はまだ完了していないこと）を示していてもよい。また、指定されたアドレスを受信するよりも前に、例えば、標識フラグのデフォルト値は“０”に設定されていてもよい。この標識フラグのデフォルト値は“０”は、サーバに設定する新たなＩＰアドレスが存在しない、または、以前に指定されたＩＰアドレスの設定処理が完了していることを示していてもよい。上記標識フラグは、システム制御部１１４に関連付けられたメモリに格納されてもよい。
【００２６】
ブロック２０４において、システム制御部は、該システム制御部に関連付けられた記憶装置に、上記指定されたＩＰアドレスを格納してもよい。例えば、システム制御部１１４は、上記指定されたＩＰをメモリに格納し、標識フラグの値“１”を返すことによって、ＩＰアドレスが格納されたことをサーバ管理システム１０２に対して応答してもよい。サーバ管理システム１０２は、（例えば、グラフィカルユーザインターフェースを用いて）システム管理者に対し、ＩＰアドレス設定が進行中であることを示す応答を提示してもよい。
【００２７】
いくつかの実施形態において、サーバ管理部１０４は、システム制御部１１４に対して、ＩＰ設定の状態に関する状態要求を送信してもよい。例えば、サーバ管理部１０４は、以前に指定されたＩＰアドレスがサーバ１１２に設定されたかどうかを判定するために、システム制御部１１４上のＩＰ設定ユーティリティ１１６に対して、定期的に、状態要求を送信してもよい。ＩＰ設定ユーティリティ１１６は、ＩＰアドレスが未設定である（例えば、サーバ１１２に設定されていない）場合に“１”の値を、ＩＰアドレスがサーバ１１２に設定されている場合に“０”の値を、上記状態要求に対する応答として返してもよい。サーバ管理部１０４は、システム制御部１１４から“１”の値を受信すると、待機し、予め定められた時間間隔を空けて、別の状態要求を送信するように構成されていてもよい。
【００２８】
ブロック２０６において、サーバ１１２が起動される。いくつかの実施形態において、システム制御部１１４がサーバ１１２を起動する。例えば、システム制御部１１４は、システム制御部１１４にサーバ１１２を起動させるための起動要求を、サーバ管理部１０４から受信してもよい。あるいは、システム制御部１１４は、サーバ管理部１０４から指定されたＩＰアドレスを受信した後に自動的にサーバ１１２を起動するようプログラムされていてもよい。
【００２９】
ブロック２０８において、システム制御部は、オペレーティングシステム（ＯＳ）エージェントから、上記指定されたＩＰアドレスについて、ＩＰアドレス要求を受信してもよい。例えば、ＩＰ設定ユーティリティ１１６は、ＯＳエージェント１２２より進捗要求を受信して、標識フラグの値を応答として返してもよい。“０”は、ＩＰアドレスを更新する必要がないこと（例えば、設定すべきＩＰアドレスがないこと）を意味する。“１”は、ＩＰアドレスを更新する必要があること（例えば、ＩＰ設定ユーティリティ１１６が、サーバに未設定の新たなＩＰアドレスを受信したこと）を意味する。
【００３０】
ブロック２１０において、システム制御部は、上記ＩＰアドレス要求に対する応答として、上記指定されたＩＰアドレスをＯＳエージェントに供給する。例えば、状態標識フラグの値が“１”であるとき（例えば、新たなＩＰアドレスをサーバ１１２に設定する必要がある場合）、ＩＰ設定ユーティリティ１１６は、ＩＰアドレスの更新が必要であることを示すため、フラグ値“１”をＯＳエージェント１２２に送信してもよい。ＩＰアドレスを更新する必要がある場合、ＯＳエージェント１２２は、新たなＩＰアドレスを要求し、ＩＰ設定ユーティリティ１１６から受信したＩＰアドレスに基づいて、サーバのＩＰアドレスを設定してもよい。
【００３１】
いくつかの実施形態において、ＩＰ設定ユーティリティ１１６から受信されたＩＰアドレスがサーバ１１２に設定されると、ＯＳエージェント１２２は、ＩＰ設定ユーティリティ１１６に対して、ＩＰアドレスの設定が成功したことを確認してもよい。それから、ＩＰ設定ユーティリティ１１６は、サーバ１１２へのＩＰアドレスの設定が完了したことを示す進捗標識フラグを“０”に設定してもよい。
【００３２】
いくつかの実施形態において、サーバ管理システム１０２は、サーバ１１２に設定されているＩＰアドレスの状態をチェックするため、予め定められた時間間隔にしたがって、システム制御部１１４に対して問い合わせを行ってもよい。例えば、ＩＰ設定ユーティリティ１１６は、上記問い合わせを受信し、サーバ１１２のＩＰアドレス設定処理が完了している場合にフラグ値“０”を応答として返してもよい。サーバ管理部１０４は、標識フラグ値“０”を受信すると、サーバ管理部１０４は、ＩＰアドレスが正しく更新されたことを確認するための進捗完了メッセージをシステム管理者に対して、（例えば、サーバ管理部１０４のグラフィカルユーザインターフェースを用いて）提示する。
【００３３】
図１および図３を参照して、図３は、オペレーティングシステムエージェントを用いて遠隔でＩＰ設定処理を行うための具体例としての方法を示すフローチャート３００である。以下に記載する方法は、例えば、図１において説明された構成、および、上記方法の具体例を説明するのに参照されるこれらの図のさまざまな要素を用いて実行される。図３に示すそれぞれのブロックは、１つまたはそれ以上のプロセス、方法、もしくはサブルーチンを表しており、上記方法の具体例において実行される。さらに、各ブロックについて図示された順番は、単なる例示にすぎず、ブロックの上記順番は、本開示内容に従って変更することができる。また、本開示内容から逸脱しない範囲で、さらにブロックを追加したり、もしくは、ブロックを減らしたりしてもよい。具体例としての上記方法は、ブロック３０２より始まる。
【００３４】
ブロック３０２において、サーバのオペレーティングシステム（ＯＳ）が初期化される。例えば、初期化の間、ＯＳエージェント１２２は、サーバのＩＰアドレスを更新する必要があるかどうかを問い合わせるため、システム制御部１１４に対して進捗要求を送信してもよい。ある変形例において、上記進捗要求は、予め定められた時間間隔にしたがって周期的に送信される。ＯＳエージェント１２２が“０”を受信した場合、ＩＰアドレスは更新される必要がなく、ＯＳエージェント１２２は何もせず、上記予め定められた時間間隔を空けて別の進捗要求を送信まで待機する。ＯＳエージェントが“１”を受信した場合、ＩＰアドレスは更新される必要がある。
【００３５】
ブロック３０４において、ＯＳの初期化の間、ＯＳエージェントは、サーバのＩＰアドレスについて、ＩＰアドレス要求をシステム制御部に送信する。例えば、ＯＳエージェント１２２は、ＩＰアドレスを更新する必要があることを示すフラグ値“１”を受信した場合、ＩＰアドレス要求をシステム制御部１１４（例えば、ＩＰ設定ユーティリティ１１６）に送信してもよい。
【００３６】
ブロック３０６において、ＯＳエージェントは、システム制御部から、指定されたＩＰアドレスを受信する。例えば、システム制御部１１４が、ＩＰアドレス要求を、ＯＳエージェント１２２から受信してもよい。システム制御部１１４は、サーバ管理部１０４から受信したＩＰアドレスをＯＳエージェント１２２に送信することによって、上記ＩＰアドレス要求に対して応答してもよい。
【００３７】
ブロック３０８において、ＯＳエージェントは、上記指定されたＩＰアドレスに基づいて、サーバのＩＰアドレスを設定する。例えば、ＯＳエージェント１２２は、サーバのＩＰアドレスを指定されたＩＰアドレスに設定するために、ＬＩＮＵＸ（登録商標）における“ifconfig”などのような、さまざまなオペレーティングシステムのコマンドを用いてもよい。そして、サーバ１１２は、システム管理者によって示されたＮＩＣ１２４またはＮＩＣ１２６に対して、上記指定されたＩＰアドレスを設定する。いくつかの実施形態において、ＯＳエージェント１２２は、フラグを“０”に戻すリセットコマンドをシステム制御部１１４に送信することによって、サーバ１１２にＩＰアドレスが正しく設定されたことをシステム制御部１１４に確認することができる。
【００３８】
図４は、図１〜３に示す特徴および処理を実現するシステムアーキテクチャ４００の具体例を示すブロック図である。システムアーキテクチャ４００は、コンパイルされた命令から生成されたソフトウェアアプリケーションを実行するどのような電子デバイス上でも実現され得る。上記電子デバイスには、これには限定されないが、パーソナルコンピュータ、サーバ、スマートフォン、メディアプレイヤー、電子タブレット、ゲーム機、電子メールデバイスなどが含まれている。ある実施形態では、システムアーキテクチャ４００は、１または複数のプロセッサ４０２、１または複数の入力デバイス４０４、１または複数のディスプレイデバイス４０６、１または複数のネットワークインターフェース４０８、および、１または複数のコンピュータ読み取り可能な記録媒体４１０を含んでいてもよい。これらの構成要素の各々は、バス４１２で接続されている。
【００３９】
ある実施形態では、システムアーキテクチャ４００は、サーバのラック（rack）のうち単一のサーバで実現されてもよい。多様なラックの設定が実現されてもよい。例えば、ラックが複数の筐体を含み、各々の筐体が複数のサーバを含むように構成されてもよい。ラック内の各々のサーバは、さまざまなハードウェアの構成要素（バックボーン、ミドルプレーンなど）によって接続されていてもよい。ラック内の各々のサーバは、ラックのトップスイッチ（top-of-rack switch）を介してネットワークに接続されていてもよい。
【００４０】
ディスプレイデバイス４０６は、既知のいずれのディスプレイ技術であってもよい。上記ディスプレイデバイスには、これには限定されないが、液晶表示装置（ＬＣＤ；Liquid Crystal Display）または発光ダイオード（ＬＥＤ；Light Emitting Diode）の技術が採用されてもよい。プロセッサ４０２には、既知のプロセッサ技術が採用される。上記プロセッサには、これには限定されないが、グラフィックスプロセッサ、および、マルチコアプロセッサなどが含まれる。入力デバイス４０４は、既知の入力デバイス技術であってもよい。上記入力デバイスには、これには限定されないが、キーボード（バーチャルキーボードも含む）、マウス、トラックボール、および、タッチセンサパッドまたはディスプレイなどが含まれる。バス４１２は、既知の内部または外部バス技術であってもよい。上記バスには、これには限定されないが、ＩＳＡ、ＥＩＳＡ、ＰＣＩ、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＮｕＢｕｓ、ＵＳＢ、Ｓｅｒｉａｌ  ＡＴＡ、または、ＦｉｒｅＷｉｒｅ（登録商標）などが含まれる。
【００４１】
コンピュータ読み取り可能な媒体４１０は、実行主体のプロセッサ４０２に対して命令を供給するものであればいずれの媒体であってもよい。上記媒体には、これには限定されないが、不揮発性記録媒体（例えば、光学ディスク、磁気ディスク、フラッシュドライブなど）、あるいは、揮発性記録媒体（例えば、ＳＤＲＡＭ、ＲＯＭなど）が含まれる。コンピュータ読み取り可能な媒体（例えば、記憶装置、媒体、および、メモリ）は、例えば、ケーブルまたはビットストリームを含む無線信号などであってもよい。しかしながら、非一時的なコンピュータ読み取り可能な記録媒体というとき、エネルギー、搬送信号、電磁波、および、電磁信号それ自体などのような媒体を明確に排除する。
【００４２】
コンピュータ読み取り可能な媒体４１０は、オペレーティングシステム４１４（例えば、ＭａｃＯＳ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）など）およびコンピュータプログラムなどのアプリケーション４２０を実現するためのさまざまな命令を含んでいる。オペレーティングシステムは、マルチユーザ、マルチプロセッサ、マルチタスク、マルチスレッド、リアルタイムなどであってもよい。オペレーティングシステム４１４は、基本タスクを実行する。基本タスクとしては、これには限定されないが、入力デバイス４０４からの入力を認識する、ディスプレイデバイス４０６に出力を送信する、ファイルおよびディレクトリのトラックを、コンピュータ読み取り可能な媒体４１０上に確保する、直接または入出力制御部を介して、周辺デバイス（例えば、ディスクドライバ、プリンタなど）を制御する、バス４１２上のトラフィックを管理することなどが含まれる。図１〜３を参照して上述したとおり、オペレーティングシステム４１４は、ＩＰアドレスをシステム制御部４２２に要求して、システム制御部４２２から受信したＩＰアドレスに基づいて、サーバＩＰアドレスを設定するオペレーティングシステム機能を起動するように構成されたエージェント（例えば、ソフトウェアアプリケーション、ユーティリティ、プログラムなど）を含んでいてもよい。ネットワークコミュニケーション命令４１６は、ネットワーク接続（例えば、ＴＣＰ／ＩＰ、ＨＴＴＰ、イーサネット（登録商標）などの通信プロトコルを実現するソフトウェア）を確立し、維持する。
【００４３】
メモリ４１８は、１または複数の磁気ディスク記憶装置、１または複数の光学記憶装置、および／または、フラッシュメモリ（例えば、ＮＡＮＤ、ＮＯＲ）などの高速ランダムアクセスメモリおよび／または不揮発性メモリを含んでいてもよい。メモリ４１８（例えば、コンピュータ読み取り可能な記憶装置、媒体、およびメモリ）は、ケーブルまたはビットストリームを含む無線信号などであってもよい。しかしながら、非一時的なコンピュータ読み取り可能な記録媒体というとき、エネルギー、搬送信号、電磁波、および、電磁信号それ自体などのような媒体を明確に排除する。メモリ４１８は、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）などのオペレーティングシステム、または、ＶｘＷｏｒｋｓ（登録商標）などの組み込みのオペレーティングシステムを記憶している。
【００４４】
システム制御部４２２は、プロセッサ４０２とは独立して作動するサービスプロセッサであってもよい。ある実施形態では、システム制御部４２２は、ベースボードマネージメントコントローラ（ＢＭＣ；baseboard management controller）であってもよい。例えば、ＢＭＣは、センサを用いてコンピュータ、ネットワークサーバ、または、その他のハードウェア装置の物理的な状態を監視し、独立した接続を介してシステム管理者と通信する特殊なサービスプロセッサである。ＢＭＣは、監視対象の装置のマザーボード、または、メイン回路基板上に構成される。ＢＭＣのセンサは、温度、湿度、電源電圧、ファン回転速度、通信パラメータ、および、オペレーティングシステム（ＯＳ）機能などの、内部の可変の物理量を測定してもよい。
【００４５】
ある実施形態では、ＢＭＣは、プロセッサ４０２とは独立して実行される。それゆえ、プロセッサ４０２、メモリ４１８、または、その他のハードウェアの故障が起こったときでも、ＢＭＣは、引き続きサービスを提供することができ、機能し続ける。ある実施形態では、サーバが、電源（例えば、電源ユニット、バックアップ電源ユニット、電力分散ユニットなど）にプラグで接続されると、ＢＭＣはすぐに実行を開始する。例えば、ブレード前面の電源ボタンは、ＢＭＣの電源のオン／オフを行わない。ＢＭＣとの接続性の管理は、ブレード上のＢＭＣ専用の２つの１００ＢＡＳＥ−Ｔインターフェースを通じて、筐体内部の管理にまで及ぶ。しかしながら、いずれの場合であっても、ＢＭＣとの接続は、２つの１００ＢＡＳＥ−Ｔインターフェースのうち１つを介してのみ行われるので、もう一方のインターフェースが余る。（例えば、サーバ管理部１０４を利用している）システム管理者は、制御部のインテリジェントプラットフォーム管理インターフェース（ＩＰＭＩ；intelligent platform management interface）を用いるシステム制御部４２２と相互に作用する（例えば、設定、監視など）。例えば、ＩＰＭＩインターフェースは、サーバのＩＰアドレスとともにシステム制御部４２２を構成するのに用いられてもよい。あるいは、システム制御部４２２には、非ＩＭＰＩインターフェース（例えば、カスタムインターフェースなど）が組み込まれていてもよい（例えば、ソフトウェア、ファームウェアなど）。これにより、システム管理者は、システム制御部４２２を用いて、遠隔でサーバのＩＰアドレスを設定することができる。
【００４６】
有利には、上述した特徴は、１または複数のコンピュータプログラム上で実現され得る。上記コンピュータプログラムは、プログラムで制御可能なシステム上で実行可能である。上記システムは、データや命令を、データ記憶システムから受信したり、データ記憶システムに送信したりするために該データ記憶システムと接続された、プログラムで制御可能な少なくとも１つのプロセッサと、少なくとも１つの入力デバイスと、少なくとも１つの出力デバイスとを含む。コンピュータプログラムは、ある特定の働きを果たすまたはある特定の結果をもたらすために、コンピュータ上で直接または間接的に利用可能な命令の集合である。コンピュータプログラムは、コンパイルされた言語または解釈された言語を含むいずれのプログラミング言語の形式で記述されてもよい（例えば、オブジェクティブ−Ｃ、Ｊａｖａ（登録商標）など）。また、コンピュータプログラムは、例えば、独立した単体プログラム、もしくは、モジュール、コンポーネント、サブルーチンまたはコンピュータ環境での使用に適したその他のユニットなどを含むいずれの形式として展開されてもよい。
【００４７】
命令のプログラムの実行に適したプロセッサは、一例として、いずれのタイプのコンピュータであっても、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方と、単一のプロセッサ、もしくは、複数のプロセッサまたはコアのうちの１つとを含む。通常、プロセッサは、命令およびデータを、読出し専用メモリ（read-only memory）またはランダムアクセスメモリ（random access memory）またはその両方から受信する。コンピュータに必須の構成要素は、命令を実行するプロセッサ、および、命令およびデータを格納するための１または複数のメモリである。通常、コンピュータは、データファイルを記憶するための１または複数の大容量記憶装置も含むか、あるいは、該大容量記憶装置にアクセスできるように接続されている。上記大容量記憶装置としては、内部ハードディスクおよび取り外し可能なディスクなどの磁気ディスク、磁気光学ディスク、ならびに、光学ディスクなどが含まれる。コンピュータプログラムの命令およびデータを明確に具現化するのに適した記憶装置としては、すべての型の不揮発性メモリが含まれる。該不揮発性メモリとしては、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ（登録商標）およびフラッシュメモリ装置などの半導体メモリ装置、内部ハードディスクおよび取り外し可能なディスクなどの磁気ディスク、磁気光学ディスク、ならびに、ＣＤ−ＲＯＭディスクおよびＤＶＤ−ＲＯＭディスクなどが含まれる。上記プロセッサおよび上記メモリは、特定用途向けＩＣ（ＡＳＩＣｓ：application-specific integrated circuits）によって追加されてもよいし、あるいは、該ＩＣに統合されていてもよい。
【００４８】
ユーザとの相互作用を実現するために、本特徴は、ユーザに情報を表示するための、ＣＲＴ（cathode ray tube）モニタまたはＬＣＤ（liquid crystal display）モニタなどのディスプレイデバイスと、キーボードおよびユーザがコンピュータに入力を行うために用いるマウスまたはトラックボールなどのポインティングデバイスとを有するコンピュータ上で実現されてもよい。
【００４９】
本特徴は、以下のコンピュータシステムによって実現されてもよい。すなわち、データサーバなどのバックエンドコンポーネントを含むコンピュータシステム、または、アプリケーションサーバまたはインターネットサーバなどのミドルウェアコンポーネントを含むコンピュータシステム、または、グラフィカルユーザインターフェースまたはインターネットブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピュータシステム、または、これらのコンピュータシステムの任意の組み合わせによって実現されてもよい。上記システムの各コンポーネントは、いずれの形態によって接続されていてもよいし、あるいは、通信ネットワークなどのデジタルデータ通信媒体によって接続されていてもよい。通信ネットワークの具体例としては、例えば、ＬＡＮ、ＷＡＮ、ならびに、インターネットを構築するコンピュータおよびネットワークなどが含まれる。
【００５０】
上記コンピュータシステムは、クライアントおよびサーバを含んでいてもよい。通常、クライアントおよびサーバは、互いに遠隔地に配備され、典型的には、ネットワークを介して相互に通信する。クライアントおよびサーバの関係は、互いのコンピュータ上で実行されている、かつ、互いのクライアント−サーバの関係性を有するコンピュータプログラムの効力によって発生する。
【００５１】
本開示の実施形態における１または複数の特徴またはステップは、ＡＰＩ（application programming interface）を用いて実現されてもよい。ＡＰＩは、呼び出されているアプリケーションと、サービスを提供したり、データを提供したり、あるいは、演算または計算を実行したりする他のソフトウェアコード（例えば、オペレーティングシステム、ライブラリルーチン、ファンクションなど）との間で引き渡される、１または複数のパラメータを定義する。
【００５２】
ＡＰＩは、プログラムコードにおける１または複数の呼び出しとして実現されてもよい。該プログラムコードは、ＡＰＩ仕様書において定義された呼び出しの仕様に基づくパラメータリストまたは他の構造を介して、１または複数のパラメータを送信したり受信したりする。パラメータは、定数、キー、データ構造、オブジェクト、オブジェクトクラス、変数、データ型、ポインタ、配列、リスト、または、その他の呼び出しであってもよい。ＡＰＩの呼び出しおよびパラメータは、いずれのプログラミング言語において実現されてもよい。プログラミング言語は、プログラマが、ＡＰＩがサポートする機能にアクセスするために採用するボキャブラリおよび呼び出しの仕様を定義してもよい。
【００５３】
ある実施形態では、ＡＰＩの呼び出しは、アプリケーションに対して、該アプリケーションを実行するデバイスの性能（例えば、入力性能、出力性能、処理性能、電力性能、通信性能など）を通知してもよい。
【００５４】
これまで多数の実施形態を開示してきた。しかしながら、さまざまな変更が行われてもいということについて理解されたい。例えば、他のステップが追加されてもよいし、あるいは、開示されたフローからステップがいくつか省略されてもよい。また、他の構成要素が開示されたシステムに追加されてもよいし、該システムから構成要素がいくつか取り除かれてもよい。したがって、後述の請求項が示す範囲内で他の実施形態が実現され得る。
【００５５】
添付された請求の範囲内の側面を説明するために、さまざまな具体例およびその他の情報が用いられた。しかし、当業者は、実施形態の変形例をさまざまに引き出すためにこれらの具体例を使うことができるので、請求項の限定は、そのような具体例における特別な特徴または配置に基づいて示唆されるべきではない。また、いくつかの主題は、特徴的構成およびまたは方法の各ステップの具体例向けの言語において開示されてきたが、添付された請求の範囲において定義された上記主題は、必ずしもここで開示された特徴または動作に限定されない。例えば、このような機能性は、別の構成要素に分散されたり、あるいは、ここで示されたのとは別の構成要素において実行されたりしてもよい。むしろ、ここに記載された特徴およびステップは、添付の請求の範囲内において、システムの構成要素および方法の一具体例として開示されたものである。
【図１】
2016025656.tif 000003
【図２】
2016025656.tif 000004
【図３】
2016025656.tif 000005
【図４】
2016025656.tif 000006
【外国語明細書】
2016025656000001.pdf