JP2007183918A - 装置、システム、信号担持媒体、方法(高可用性ネットワーク・ブート・サービスを自律的に保つ装置、システム、および方法) - Google Patents

装置、システム、信号担持媒体、方法(高可用性ネットワーク・ブート・サービスを自律的に保つ装置、システム、および方法) Download PDF

Info

Publication number
JP2007183918A
JP2007183918A JP2006288198A JP2006288198A JP2007183918A JP 2007183918 A JP2007183918 A JP 2007183918A JP 2006288198 A JP2006288198 A JP 2006288198A JP 2006288198 A JP2006288198 A JP 2006288198A JP 2007183918 A JP2007183918 A JP 2007183918A
Authority
JP
Japan
Prior art keywords
deployment server
server
master
module
deployment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006288198A
Other languages
English (en)
Inventor
Alan Diane Richard
リチャード・アラン・ダイアン
Kekessie Kofi
コフィ・ケケシー
Bart Jennings Jeffrey
ジェフリー・バート・ジェニングズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007183918A publication Critical patent/JP2007183918A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】高可用性ネットワーク・ブート・サービスを自律的に保つ装置、システム、および方法を提供する。
【解決手段】モニタ・モジュール502、検出モジュール504、および置換モジュール506から構成され、モニタ・モジュール502は、分散論理リンク・リストをアクティブに監視する。検出モジュール504は、分散論理リンク・リスト構成の変動を検出する。置換モジュール506は、分散論理リンク・リストの故障した要素のネットワーク・ブート・サービスを置換する。本装置、システム、および方法は、オンデマンド・ネットワーク・サービスの保存を自律的に提供し、ネットワーク・ブート・サービスの高可用性を維持する。
【選択図】図5

Description

本発明は、ネットワーク・ブート・サービスに関し、具体的には、ネットワーク・ブート可能システム応用例に高可用性を提供すると同時にオンデマンド・ネットワーク・サービスを保ち、維持する方法の自律的提供に関する。
ブートストラップまたは単にブートとは、コンピュータを始動するプロセスである。ブートストラップは、最も一般的には、GRUBまたはLILOなどのコンピュータのオペレーティング・システムの初期化を実際に開始する命令のシーケンスと、NTLDRなどのカーネルのロードを開始する命令のシーケンスとを指す。さらに、一部のコンピュータは、ネットワークを介してブートする能力を有する。
ネットワーク・ブートは、リモート・ブートとも称するが、コンピュータまたはクライアント・デバイスが、ローカル・エリア・ネットワーク(LAN)などのネットワークを介して、ネットワーク・サーバに置かれたファイルを使用してブートできることを意味する。ネットワーク・ブートを実行するために、クライアント・コンピュータは、ブート・サーバが当業者に周知のネットワーク・ブート・サービス(NBS)を実行している間に、ブートROMなどのファームウェアを実行する。クライアント・コンピュータの電源が投入された時に、ブート・イメージ・ファイルが、ブート・サーバからクライアント・コンピュータのメモリにダウンロードされ、その後、実行される。このブート・イメージ・ファイルに、クライアント・コンピュータ用のオペレーティング・システムまたはオペレーティング・システムをブートする前にクライアント管理タスクを実行するプレオペレーティング・システム(プレOS)アプリケーションを含めることができる。
ネットワーク・ブートは、クライアント・コンピュータの管理に関連する総所有コストを減らすのを助ける。ブート障害は、全体的なコンピューティング障害の大きい部分を含み、リモートから解決するのがむずかしく、時間がかかる可能性がある。さらに、ブート障害は、障害が解決されるまでコンピュータをネットワークに接続できなくする場合があり、ビジネスクリティカル・アプリケーションの高可用性に依存するすべての仕事にとってコストが高い。
ネットワーク・ブートは、コンピュータがそれに対応するならば、ネットワーク上のすべてのコンピュータが、オペレーティング・システムを有するか、損傷を受けたオペレーティング・システムを有するか、未フォーマットのハード・ドライブを有するか、ハード・ドライブを有しないかにかかわりなく、ネットワークに接続できることを保証する。ネットワーク・ブートは、システム管理者が、新しいコンピュータへのアプリケーションおよびOSのデプロイメント、ウィルス・スキャン、ならびにクリティカル・ファイルのバックアップおよび復元などのクライアント・デバイス保守タスクを自動化できるようにする。ネットワーク・ブートは、システム管理者が、シン・クライアントおよび組み込みシステムなどのディスクレス・システムをブートできるようにもする。
さまざまなネットワーク・ブート・プロトコルがあるが、現在の産業標準である仕様は、PXE(preboot execution environment)仕様であり、これは、WfM(wired for management)仕様の一部であり、WfMは、ビルトイン管理特徴およびネットワークを介する保守機能の一貫したレベルを保証するのを助けるオープン産業仕様である。
PXE(preboot execution environment)は、ネットワーク・インターフェースを介してクライアント・コンピュータをブートストラップするプロトコルであり、ハード・ディスク・ドライブなどの使用可能なデータ・ストレージ・デバイスおよびクライアント・コンピュータにインストールされたオペレーティング・システムと独立である。クライアント・コンピュータは、ネットワーク・ブート・ファームウェアをインストールされ、このネットワーク・ブート・ファームウェアが、ネットワーク・ブート・サーバと通信して、ブート・イメージ・ファイルをクライアント・コンピュータ・メモリにダウンロードし、その後、そのブート・イメージを実行する。
PXE環境に、一般に、複数のクライアント・コンピュータと同一のブロードキャスト・ドメイン上のネットワーク・ブート・サーバが含まれ、ここで、ネットワーク・ブート・サーバは、ブート・イメージを要求元クライアント・コンピュータにダウンロードするように構成される。クライアント・コンピュータにブート・イメージをダウンロードするこのプロセスは、一般に、動的ホスト構成プロトコル(DHCP)サーバ、トリビアル・ファイル転送プロトコル(TFTP)、およびPXEサービスを利用する。
DHCPは、クライアント−サーバ・ネットワーキング・プロトコルである。DHCPサーバは、一般に、インターネット・プロトコル(IP)を使用するネットワークに参加するためにクライアント・コンピュータが必要とする情報を要求するDHCPクライアント・コンピュータに固有の構成パラメータを供給する。PXE環境では、DHCPサーバが、クライアント・コンピュータにIPアドレスを与える。
TFTPは、FTPの非常に基本的な形の機能性を有する非常に単純なファイル転送プロトコルである。TFTPサービスは、ネットワーク・ブート・サーバからクライアント・コンピュータにブート・イメージ・ファイルを転送する。PXEサービスは、クライアント・コンピュータに、ダウンロードすべきブート・イメージ・ファイルのファイル名を供給する。PXEサービスは、事前定義のアプリケーション・プログラミング・インターフェース(API)のセット(コンピュータ・ソフトウェアが互いに通信する形の定義のセット)を用いてクライアント・コンピュータのファームウェアを拡張することができる。
ブート・イメージ・ダウンロード・プロセスは、パケット交換インターネットワークにまたがってデータを通信するソース・ホストおよび宛先ホストによって使用されるデータ指向プロトコルであるインターネット・プロトコル(IP)、インターネット・プロトコル・スイートのコア・プロトコルであり、最小限のメッセージ指向トランスポート層プロトコルであるユーザ・データグラム・プロトコル(UDP)、およびネットワーク・インターフェース・カード(NIC)などのすべての互換ネットワーク・インターフェースを操作できるハードウェア独立ドライバであるUNDI(universal network device interface)も利用することができる。
DHCP、PXE、およびTFTPなどのプロトコルおよびサービスを使用して実装されるネットワーク・ブート・サービスは、ますます使用可能になりつつある。NBS依存性、統合、およびオンデマンド・サービスを増やすという顧客の望みが、劇的な速度で高まっている。NBSの応答時間およびサービス信頼性を改善する必要が、高まるNBS統合および使用と共に高まる。NBSを使用するネットワークは、通常、複数のクライアントと、IBM社のPXEベースのRDM(remote deployment manager)などの管理サーバからなる。RDMを用いると、管理サーバの制御の下で以前のように機能する複数のデプロイメント・サーバを使用することが可能になる。これらのリモート・デプロイメント・サーバは、主ネットワーク・ブート管理機能を有しておらず、本質的にRDMサーバに対するスレーブとして機能する。
管理されたPXE環境で、新しいクライアント・ハードウェアがネットワークにブートする時に、そのクライアント・コンピュータは、通常、オペレーティング・イメージを入手するためにそれを行い、その結果、そのクライアント・コンピュータをエンド・ユーザが使用できるようになる。このプロセスは、原理的に、クライアント・コンピュータがネットワークにブートし、DHCPサーバからIPアドレスを入手し、その結果、クライアント・コンピュータがネットワーク層または7層オープン・システム間相互接続(OSI)参照モデルのレベル3でネットワーク上で通信できるようになった時に開始される。このプロセスは、クライアント・コンピュータに、使用可能なブート・サーバのアイデンティティも与える。
次に、クライアント・コンピュータは、クライアント・コンピュータが接続されているのと同一のサブネットワークまたはサブネットすなわちクラスフル・ネットワークの一部分に接続され、これにサービスするブート・サーバを突き止める。したがって、クライアント・コンピュータは、次に、ブート・サーバにさらなる命令を要求することができる。この命令は、通常、クライアント・コンピュータに、要求されたブート・イメージまたはネットワーク・ブートストラップ・プログラム(NBP)のファイル・パスを知らせる。最後に、クライアント・コンピュータは、発見されたリソースに連絡し、多分TFTPを介して、NBPをクライアント・コンピュータのランダム・アクセス・メモリ(RAM)にダウンロードする。次に、クライアント・コンピュータは、NBPを検証することができ、その後、NBPの実行に進むことができる。
イベントのこのシーケンスは、単純である。しかし、これは、ネットワーク機能停止、ハードウェア障害、またはソフトウェア誤動作を考慮に入れていない。まず、サブネットのPXEサーバが使用不能である場合に、そのサブネット上のクライアント・コンピュータを処理することができない。管理サーバが使用不能である場合に、ネットワーク全体のクライアント・コンピュータを処理することができない。
本発明は、単一障害点がないことを保証することによってNBS環境を堅くすることのできる方法を説明する。本発明は、NBS環境を冗長可能にし、その結果、多数のネットワーク障害、ハードウェア障害、またはソフトウェア障害あるいはこれらの組合せがある場合であっても、NBS環境のサービスが使用可能のままになるようにする。オンデマンド環境では、これがクリティカルである。
現在のテクノロジは、冗長複製マスタ・サーバを使用することによって、類似するフォールトトレランスを提供することができる。しかし、どの所与の時にも、少なくとも1つのサーバ、通常は冗長複製マスタ・サーバが、未使用のままになる。その一方で、本明細書で説明するシステムおよび方法は、すべてのネットワーク・リソースの完全な利用を組み込み、システム効率を高めると同時に、ネットワーク・システムの保全性を維持するためにネットワーク・リソースに高い負荷をかけない、高可用性解決策である。
前述の議論から、通常のネットワーク・ブート・サービスの制限を克服する装置、システム、および方法の必要が存在することは明白である。具体的に言うと、そのような装置、システム、および方法は、システム・ネットワーク・ブート・サービスのすべての態様へのアクセス可能性を有益に保ち、維持する。
本発明の複数の実施形態は、技術の現在の状態に応じて、具体的には、現在使用可能なネットワーク・ブート・サービスによってまだ完全には解決されていない当技術分野の問題および必要に応じて開発された。したがって、本発明は、当技術分野における上述の短所の多数またはすべてを克服する、高可用性ネットワーク・ブート・サービスを自律的に保つ装置、システム、および方法を提供するために開発された。
ネットワーク・サービスを保つユーティリティは、ネットワーク・サービスを維持するのに必要な動作を機能的に実行するように構成された複数のモジュールを含む論理ユニットと共に提供される。説明される実施形態のこれらのモジュールに、モニタ・モジュール、検出モジュール、および置換モジュールが含まれる。さらなる実施形態に、構成モジュール、複製モジュール、アクティブ化モジュール、および昇格モジュールが含まれる。
モニタ・モジュールは、分散論理リンク・リストを監視して、分散論理リンク・リストのメンバである複数のデプロイメント・サーバの間の現在の論理関係の正確な表現を保証する。一実施形態で、マスタ・デプロイメント・サーバ、主バックアップ・デプロイメント・サーバ、および1つまたは複数の副デプロイメント・サーバが、分散論理リンク・リストのメンバである。
アクティブ監視に、所定のハートビート間隔内に分散論理リンク・リストの正確さを周期的に検証することが含まれる。さらに、アクティブ監視に、事前定義のハートビート期間内にデプロイメント・サーバのネットワーク・ブート・サービスの保全性を周期的に監視することを含めることができる。ハートビート間隔は、デプロイメント・サーバがそれ自体の代わりのネットワーク・ブート・サービスならびに分散論理リンク・リストですぐ下流のデプロイメント・サーバのネットワーク・ブート・サービスのアクティブなフル機能性をアサートすると期待される時間期間である。
検出モジュールは、分散論理リンク・リストの論理的関連付けの不一致を検出する。一実施形態で、検出モジュールは、マスタ・デプロイメント・サーバが故障し、除去され、または他の形でオフラインになることに応答して、論理チェーン内の不一致を検出することができる。検出モジュールは、主バックアップ・デプロイメント・サーバまたは副デプロイメント・サーバあるいはその両方が故障し、除去され、または他の形でオフラインになることに応答して、論理チェーン内の不一致を検出することもできる。さらに、検出モジュールは、デプロイメント・サーバがシステムに追加されることに応答して、論理チェーンの保全性の不一致を検出することができる。
置換モジュールは、一実施形態で、分散論理リンク・リスト内の故障したデプロイメント・サーバのネットワーク・ブート・サービスを置換する。もう1つの実施形態では、検出モジュールが、故障したデプロイメント・サーバまたはデプロイメント・サーバの故障したコンポーネントの検出に応答して、置換モジュールに信号を送ることができる。次に、置換モジュールが、故障したデプロイメント・サーバのネットワーク・ブート・サービスを肩代わりするようにマスタ・デプロイメント・サーバに通知し、故障したデプロイメント・サーバのサブネットへのネットワーク・サービスを維持することができる。もう1つの実施形態では、マスタ・デプロイメント・サーバが、故障したデプロイメント・サーバのネットワーク・ブート・サービスを、別のアクティブに機能するデプロイメント・サーバに割り当てることができる。したがって、このシステムに接続されたすべてのサブネットへのネットワーク・ブート・サービスの保全性が、ほとんどまたは全くシステム管理者の介入なしで、自律的に保たれる。
構成モジュールは、デプロイメント・サーバの分散論理リンク・リストの論理関連付けを構成する。上で説明したように、構成モジュールに、検証モジュール、更新モジュール、削除モジュール、および確認モジュールが含まれる。構成モジュールは、サービス・プロトコルの保存で示したプロセスに従って動作する。
検証モジュールは、一実施形態で、分散論理リンク・リストの論理関連付けを検証する。マスタ・デプロイメント・サーバが、サーバ連絡リストの内容を検証するように副デプロイメント・サーバに要求することができる。次に、確認モジュールが、検証要求に応答してサーバ連絡リストの正確さを確認することができる。各サーバ連絡リストが論理チェーンの論理関連付けを正確に表すことの確認を論理チェーン内の各デプロイメント・サーバから受信することに応答して、検証モジュールは、アクティブ・マスタ・テーブルの内容を検証することができる。
もう1つの実施形態で、検証モジュールは、分散論理リンク・リストでリンクされたデプロイメント・サーバの可用性を検証する。マスタ・デプロイメント・サーバは、検証モジュールを介して、システムのサブネットにネットワーク・ブート・サービスを供給するために副デプロイメント・サーバの可用性を検証することができる。検証モジュールは、PXEサーバなどの副デプロイメント・サーバの個々のコンポーネントのアクティブ機能性を検証することもできる。
更新モジュールは、一実施形態で、分散論理リンク・リストの論理関連付けを更新する。マスタ・デプロイメント・サーバは、更新モジュールを介して、論理チェーンでリンクされたすべてのデプロイメント・サーバにマスタ同期パルスを送信することができる。マスタ同期パルスは、このメッセージの発信元をマスタ・デプロイメント・サーバとして示すためにサーバ連絡リストを更新するように副デプロイメント・サーバに要求する。したがって、マスタ・デプロイメント・サーバは、管理リソースおよび分散論理リンク・リストの管理に対するアクティブ制御を日常的にアサートする。デプロイメント・サーバの故障または挿入に起因して、検出モジュールが分散論理リンク・リストの矛盾を検出することに応答して、更新モジュールが、1つまたは複数のサーバ連絡リストを更新する要求を送信することができる。
主バックアップ・デプロイメント・サーバも、故障したマスタ・デプロイメント・サーバの交換に応答して、更新モジュールを介してマスタ同期パルスを送信することができる。もう1つの実施形態で、更新モジュールは、ターゲットを新しい主バックアップ・デプロイメント・サーバとして示すようにターゲット副デプロイメント・サーバのサーバ連絡リストを更新することを要求する。
削除モジュールは、一実施形態で、分散論理リンク・リストの論理関連付けを削除する。マスタ・デプロイメント・サーバは、削除モジュールを介して、論理チェーンでリンクされた副デプロイメント・サーバに要求を送信して、サーバ連絡リストの内容を削除することができる。たとえば、ネットワーク・ブート・サービス・システムへの副デプロイメント・サーバの追加に応答して、削除モジュールが、以前のチェーンの終りの副デプロイメント・サーバのサーバ連絡リストの内容を削除することを要求することができる。次に、更新モジュールが、以前のチェーンの終りの副デプロイメント・サーバと挿入された副デプロイメント・サーバの両方のサーバ連絡リストを更新する。
確認モジュールは、一実施形態で、分散論理リンク・リストの論理関連付けを確認する。確認モジュールは、論理チェーンに関連するマスタ・デプロイメント・サーバまたは他のデプロイメント・サーバからの要求を確認することもできる。副デプロイメント・サーバは、確認モジュールを介して、サーバ連絡リストが更新されたかどうかを確認するためにメッセージを送信することができる。もう1つの実施形態で、副デプロイメント・サーバは、サーバ連絡リストが更新されていないことを確認することができる。更新モジュールがサーバ連絡リストの更新を要求することに応答して、確認モジュールは、更新されたサーバ連絡リストを確認する。
複製モジュールは、アクティブ管理リソースおよびアクティブ・マスタ・テーブルをマスタ・デプロイメント・サーバから主バックアップ・デプロイメント・サーバに複製する。インアクティブ管理リソースおよびインアクティブ・マスタ・テーブルは、それぞれ、アクティブ管理リソースおよびアクティブ・マスタ・テーブルの完全なコピーである。アクティブ管理リソースに、ネットワーク・ブートストラップ・プログラムおよび他のネットワーク展開可能アプリケーションを含むデプロイメント・イメージが含まれる。
一実施形態で、アクティブ管理リソースでのデプロイメント・イメージの追加、除去、または交換に応答して、置換モジュールが、同一のデプロイメント・イメージの複製をインアクティブ管理リソースに追加し、除去し、または交換する。同一の形で、置換モジュールは、アクティブ・マスタ・テーブルの内容をリアルタイムでインアクティブ・マスタ・テーブルの内容に複製する。したがって、いつでも、主バックアップ・デプロイメント・サーバは、すべての管理リソースの複製を備え、現在のマスタ・デプロイメント・サーバの管理機能のすべてを実行することができる。
アクティブ化モジュールは、一実施形態で、主バックアップ・デプロイメント・サーバのインアクティブ管理リソースおよびインアクティブ・マスタ・テーブルをアクティブ化し、イネーブルする。上で説明したように、インアクティブ管理リソースおよびインアクティブ・マスタ・テーブルは、それぞれアクティブ管理リソースおよびアクティブ・マスタ・テーブルの複製である。したがって、主バックアップ・デプロイメント・サーバは、マスタ・デプロイメント・サーバとして昇格された瞬間に、単に、すべての管理機能をアクティブ化し、新しいマスタ・デプロイメント・サーバとして動作する準備ができている。
昇格モジュールは、一実施形態で、主バックアップ・デプロイメント・サーバをマスタ・デプロイメント・サーバに昇格させる。もう1つの実施形態では、昇格モジュールが、副デプロイメント・サーバを主バックアップ・デプロイメント・サーバに昇格させる。もう1つの実施形態では、システム管理者が、自動昇格プロセスをディスエーブルすることができる。したがって、マスタ・デプロイメント・サーバの除去に応答して、主バックアップ・デプロイメント・サーバが昇格されなくなる。その後、除去されたマスタ・デプロイメント・サーバを、このシステムにもう一度マスタ・デプロイメント・サーバとして挿入することができる。マスタ・デプロイメント・サーバが除去され、自動昇格サービスがディスエーブルされている時間中には、システム全体のネットワーク・ブート・サービスがオフラインになる。
本発明のシステムは、高可用性ネットワーク・ブート・システムを自律的に保つためにも提示される。このシステムは、デプロイメント・サーバで実施することができ、このデプロイメント・サーバは、ネットワーク・サービス・プロセスの保存を実行するように構成される。
具体的に言うと、このシステムに、一実施形態で、ネットワーク・サービス・プロセスの保存を管理するように構成されたマスタ・デプロイメント・サーバと、マスタ・デプロイメント・サーバに結合され、マスタ・デプロイメント・サーバの管理機能を複製するように構成された主バックアップ・デプロイメント・サーバと、主バックアップ・デプロイメント・サーバに結合され、複数の接続されたコンピュータ・クライアントにネットワーク・ブート・サービスを供給するように構成された副デプロイメント・サーバとを含めることができる。
このシステムには、マスタ・デプロイメント・サーバと通信するサービス保存ユーティリティも含まれ、サービス保存ユーティリティは、ネットワーク・ブート・サービスを保ち、デプロイメント・サーバの分散論理リンク・リストを維持するための動作を自律的に処理するように構成される。保存ユーティリティに、分散論理リンク・リストをアクティブに監視するように構成されたモニタ・モジュールと、モニタ・モジュールに結合され、分散論理リンク・リスト構成の変動を検出するように構成された検出モジュールと、検出モジュールと通信し、分散論理リンク・リストの故障した要素のネットワーク・ブート・サービスを置換する置換モジュールを含めることができる。
一実施形態で、このシステムに、あるデプロイメント・サーバのマスタ・デプロイメント・サーバとしての昇格の除外を示すように構成された除外インジケータと、あるデプロイメント・サーバを分散論理リンク・リストでより上位または下位に置くための優先順位を示すように構成された優先順位インジケータを含めることができる。もう1つの実施形態で、マスタ・デプロイメント・サーバに、分散論理リンク・リストの現在の要素の全メンバを記録するように構成されたアクティブ・マスタ・テーブルを含めることができる。さらに、主バックアップ・デプロイメント・サーバに、アクティブ・マスタ・テーブルのすべての現在の要素を複製するように構成されたインアクティブ・マスタ・テーブルを含めることができる。
一実施形態で、デプロイメント・サーバに、分散論理リンク・リストでデプロイメント・サーバのすぐ上流の要素およびすぐ下流の要素を記録するように構成されたサーバ連絡リストを含めることができる。
信号担持媒体も、実行された時に高可用性ネットワーク・ブート・サービスを自律的に保つ動作を実行するプログラムを保管するために提示される。一実施形態で、動作に、分散論理リンク・リストを自律的に監視することと、分散論理リンク・リストの変動を検出することと、分散論理リンク・リストの故障した要素を置換することが含まれる。
もう1つの実施形態で、動作に、分散論理リンク・リストを構成することと検出モジュールからの信号の受取に応答して分散論理リンク・リストを再構成すること、ならびにマスタ・デプロイメント・サーバに関連するアクティブ管理リソースを複製することを含めることができる。
本明細書全体を通じて、特徴、利益、または類似する言葉への言及は、本発明を用いて実現できる特徴および利益のすべてが本発明の単一の実施形態に含まれるか含まれなければならないことを暗示するものではない。そうではなく、特徴および利益に言及する言葉は、ある実施形態に関して説明される特定の特徴、利益、または特性が、本発明の少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、特徴および利益ならびに類似する言葉の議論は、本明細書全体を通じて、同一の実施形態に言及する場合があるが、必ずしもそうとは限らない。
さらに、本発明の説明される特徴、利益、および特性は、1つまたは複数の実施形態で、任意の適当な形で組み合わせることができる。当業者は、本発明を、特定の実施形態の特定の特徴または利益のうちの1つまたは複数なしで実践できることを認めるであろう。他の場合に、追加の特徴および利益を、本発明のすべての実施形態には存在しない可能性があるある実施形態で認めることができる。
本発明のこれらの特徴および利益は、次の説明および添付請求項からより十分に明白になり、あるいは、下で示す本発明の実践によって習得することができる。
本発明の利益がたやすく理解されるようにするために、上で短く説明した本発明のより特定の説明を、添付図面に示された特定の実施形態を参照して行う。これらの図面が、本発明の通常の実施形態のみを示し、したがって本発明の範囲の制限と考えてはならないことを理解して、本発明を、添付図面の使用を介してさらに具体的に詳細に説明する。
本明細書で説明する機能ユニットの多くが、その実装独立性を特に強調するために、モジュールとして名称を付けられている。たとえば、モジュールは、カスタムVLSI回路またはゲート・アレイを含むハードウェア回路、論理チップなどの在庫半導体、トランジスタ、または他のディスクリート・コンポーネントとして実装することができる。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル論理デバイス、または類似物などのプログラマブル・ハードウェア・デバイスで実装することもできる。
モジュールは、さまざまなタイプのプロセッサによって実行されるソフトウェアで実装することもできる。実行可能コードの識別されたモジュールに、たとえば、たとえばオブジェクト、プロシージャ、または関数として編成することのできる、コンピュータ命令の1つまたは複数の物理的ブロックまたは論理的ブロックを含めることができる。それでも、識別されたモジュールの実行可能ファイルを、物理的に一緒に置く必要はなく、異なる位置に保管される異なる命令を含めることができ、これらの命令は、一緒に結びつけられた時に、モジュールを含み、そのモジュールの定まった目的を達成する。
実際に、実行可能コードのモジュールは、単一の命令または多数の命令とすることができ、複数のコード・セグメントにまたがって、異なるプログラムにまたがって、および複数のメモリ・デバイスにまたがって分散させることさえできる。同様に、動作データを、本明細書ではモジュール内で識別し、図示することができ、適当な形で実施し、適当なタイプのデータ構造内で任意の適当な形で編成することができる。動作データは、単一のデータ・セットとして収集することができ、あるいは、異なるストレージ・デバイスを含む異なる位置にまたがって分散させることができ、少なくとも部分的に、単に、システムまたはネットワーク上の電子信号として存在することができる。
図1に、ネットワーク・ブート・サービス・システムであるシステム100の一実施形態を示す。システム100は、複数のネットワーク・クライアントにネットワーク・ブート・サービスを提供する。システム100は、デプロイメント・サーバおよびクライアントの物理レイアウトと、それらの物理的接続を示す。デプロイメント・サーバおよびクライアントの論理レイアウトおよび論理関連付けは、物理レイアウトおよび物理関連付けから変更することができる。
システム100に、複数のデプロイメント・サーバが含まれる。複数のデプロイメント・サーバの中に、マスタ・デプロイメント・サーバ102、主バックアップ・デプロイメント・サーバ104、および副デプロイメント・サーバ106を設けることができる。システム100に、1つまたは複数のサブネット108、クライアント・ネットワーク110、およびサーバ・ネットワーク112も含まれる。サブネット108に、1つまたは複数のコンピュータ・クライアント114が含まれる。マスタ・デプロイメント・サーバ102、主バックアップ・デプロイメント・サーバ104、および副デプロイメント・サーバ106は、クライアント・ネットワーク110を介してサブネット108に接続された複数のコンピュータ・クライアント114に接続される。デプロイメント・サーバは、サーバ・ネットワーク112上でサーバ間通信を渡すことができる。
システム100が、1つのマスタ・デプロイメント・サーバ102、1つの主バックアップ・デプロイメント・サーバ104、1つの副デプロイメント・サーバ106、3つのサブネット108、1つのクライアント・ネットワーク110、1つのサーバ・ネットワーク112、および1サブネット108あたり3つのコンピュータ・クライアント114と共に図示されているが、任意の個数のマスタ・デプロイメント・サーバ102、主バックアップ・デプロイメント・サーバ104、副デプロイメント・サーバ106、サブネット108、クライアント・ネットワーク110、サーバ・ネットワーク112、およびコンピュータ・クライアント114を使用することができる。1つのデプロイメント・サーバが、複数のサブネットに供給することができるが、単一のサブネットに複数のデプロイメント・サーバがあってはならない。
マスタ・デプロイメント・サーバ102、主バックアップ・デプロイメント・サーバ104、および副デプロイメント・サーバ106のそれぞれは、各デプロイメント・サーバが供給するサブネット108に接続された複数のコンピュータ・クライアント114にネットワーク・ブートストラップ・プログラム(NBP)を供給する。各デプロイメント・サーバが、1つまたは複数のサブネット108に供給することができるが、各サブネット108が、複数のデプロイメント・サーバによって供給されてはならない。現在、デプロイメント・サーバが故障し、オフラインになった時に、それが供給するサブネット108全体もオフラインになる。
さらに、ダウンしたサブネット108に含まれる複数のコンピュータ・クライアント114は、アクティブ・ネットワーク接続がなければすべてのネットワーク・ブート・サービスが使用不能なので、サービスを失う。サブネット全体のネットワーク・ブート・サービス機能停止を防ぐために、マスタ・デプロイメント・サーバ102、主バックアップ・デプロイメント・サーバ104、および副デプロイメント・サーバ106は、分散論理リンク・リストでリンクされる。一実施形態で、マスタ・デプロイメント・サーバ102は、分散論理リンク・リストの一番上または最上位である。主バックアップ・デプロイメント・サーバ104は、分散論理リンク・リストでマスタ・デプロイメント・サーバ102の真下の第2要素である。他のすべてのデプロイメント・サーバは、論理的に主バックアップ・デプロイメント・サーバ104の下に関連する。
分散論理リンク・リストは、マスタ・デプロイメント・サーバ102によって管理され、デプロイメント・サーバが故障した時をマスタ・デプロイメント・サーバ102が認識できるようにする。デプロイメント・サーバの故障に応答して、マスタ・デプロイメント・サーバ102は、故障したデプロイメント・サーバの機能およびネットワーク・ブート・サービスを肩代わりする。マスタ・デプロイメント・サーバ102は、マスタ・デプロイメント・サーバ102が既に供給しているコンピュータ・クライアント114がある場合に、それに加えて、故障したデプロイメント・サーバに接続されているコンピュータ・クライアント114に供給する。
一実施形態で、マスタ・デプロイメント・サーバ102は、マスタ・デプロイメント・サーバ102によって供給される1つまたは複数のサブネット108に接続された複数のコンピュータ・クライアント114にネットワーク・ブートストラップ・プログラムを供給するほかに、管理機能およびリソースを監督し、分散論理リンク・リストのすべてのメンバのマスタ・リストを維持する。もう1つの実施形態では、主バックアップ・デプロイメント・サーバ104が、管理機能をイネーブルせずにマスタ・デプロイメント・サーバ102の管理リソースを複製し、マスタ・デプロイメント・サーバ102のマスタ・リストの複製を維持する。
一実施形態で、副デプロイメント・サーバ106が、分散論理リンク・リスト内ですぐ上流の次のデプロイメント・サーバおよびすぐ下流の次のデプロイメント・サーバの、IPアドレスなどの識別を含むリストを維持する。副デプロイメント・サーバ106が、分散論理リンク・リストの終りに置かれている場合に、すぐ下流の次のデプロイメント・サーバの識別は、このリストで空白のままにされる。マスタ・デプロイメント・サーバ102と同様に、主バックアップ・デプロイメント・サーバ104および副デプロイメント・サーバ106は、それらの各めいめいが供給する1つまたは複数のサブネット108に接続された複数のコンピュータ・クライアント114にネットワーク・ブートストラップ・プログラムを供給する。
クライアント・ネットワーク110またはサーバ・ネットワーク112あるいはその両方は、ストレージ・エリア・ネットワーク(SAN)に似て、従来のブロックI/Oを通信することができる。クライアント・ネットワーク110またはサーバ・ネットワーク112あるいはその両方は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)ネットワークまたは類似する通信プロトコルを介するなど、ファイルI/Oを通信することもできる。その代わりに、デプロイメント・サーバを、バックプレーンまたはシステム・バスを介して直接に接続することができる。一実施形態で、システム100に、複数のクライアント・ネットワーク110、または複数のサーバ・ネットワーク112、あるいはその両方が含まれる。
クライアント・ネットワーク110またはサーバ・ネットワーク112あるいはその両方は、いくつかの実施形態で、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)、CIFS(common internet file system)、NFS/NetWFS(network file system)、SCSI(smallcomputer system interface)、iSCSI(internet small computer system interface)、SATA(serialadvanced technology attachment)、IDE/ATA(integrated drive electronics/advancedtechnology attachment)、IEEE 1394(institute of electrical and electronicengineers standard 1394)、USB(universal serial bus)、FICON(fiber connection)、エンタープライズ・システム接続(ESCON)、ソリッドステート・メモリ・バス、または類似するインターフェースを使用して実装することができる。
図2に、マスタ・デプロイメント・サーバ200の一実施形態を示す。マスタ・デプロイメント・サーバ200は、実質的に図1のマスタ・デプロイメント・サーバ102に類似するものとすることができる。マスタ・デプロイメント・サーバ200に、通信モジュール202、アクティブ管理リソース204、複数のデプロイメント・イメージ205、メモリ・デバイス206、PXEサーバ208、除外インジケータ210、優先順位インジケータ212、およびサービス保存ユーティリティ214が含まれる。メモリ・デバイス206に、アクティブ・マスタ・テーブル216が含まれる。一実施形態で、アクティブ管理リソース204に、複数のデプロイメント・イメージ205を含めることができる。マスタ・デプロイメント・サーバ200は、デプロイメント・サーバの分散リンク・リストを管理する。一実施形態で、マスタ・デプロイメント・サーバ200は、論理チェーンの一番上にある。用語「分散論理リンク・リスト」は、「論理チェーン」、「論理リスト」、または「論理リンク・リスト」と交換可能に使用することができる。
通信モジュール202は、マスタ・デプロイメント・サーバ200と他のデプロイメント・サーバの間のクライアント・ネットワーク110またはサーバ・ネットワーク112あるいはその両方を介するサーバ間通信を管理することができる。通信モジュール202は、マスタ・デプロイメント・サーバ200と複数のコンピュータ・クライアント114の間のクライアント・ネットワーク110を介するネットワーク通信を管理することもできる。一実施形態で、通信モジュール202は、分散論理リンク・リストを照会し、その正確さを維持するために、サーバ間メッセージ・パケットを送信する。もう1つの実施形態で、通信モジュール202を、新しいデプロイメント・サーバからの、分散論理リンク・リストのデプロイメント・サーバのチェーンへの追加の要求を確認するように構成することができる。
アクティブ管理リソース204に、コンピュータ・クライアント114が要求し、ダウンロードするのに使用可能なプログラムおよびアプリケーションが含まれる。ある種の実施形態で、アクティブ管理リソース204に、システム100用のサービスを管理し、保つ複数のアプリケーションと、複数のデプロイメント・イメージ205とを含めることもできる。デプロイメント・イメージ205に、ネットワーク・ブートストラップ・プログラムおよび他のネットワーク展開されるプログラムを含めることができる。一実施形態で、アクティブ管理リソース204は、マスタ・デプロイメント・サーバ200でのみアクティブであり、イネーブルされる。
図示のメモリ・デバイス206に、アクティブ・マスタ・テーブル216が含まれる。メモリ・デバイス206は、システム100のI/O性能を高めるためのバッファ(図示せず)として働き、マスタ・デプロイメント・サーバ200の動作のために設計されたマイクロコードを保管することができる。バッファまたはキャッシュは、コンピュータ・クライアント114からの最近の要求の結果を保持し、近い将来に要求される可能性が高いデータをプリフェッチするのに使用される。メモリ・デバイス206は、フラッシュ・メモリ、スタティック・ランダム・アクセス・メモリ(SRAM)、不揮発性ランダム・アクセス・メモリ(NVRAM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM)、消去可能プログラマブル読取専用メモリ(EPROM)、NAND/AND、NOR、DINOR(divided bit-line NOR)、または任意の他の類似するメモリ・デバイスなど、1つまたは複数の不揮発性半導体デバイスからなるものとすることができる。
マスタ・デプロイメント・サーバ200は、アクティブ・マスタ・テーブル216を維持する。アクティブ・マスタ・テーブル216は、マスタ連絡リストである。アクティブ・マスタ・テーブル216は、現在分散論理リンク・リストのメンバであるすべてのデプロイメント・サーバをインデクシングする。マスタ・デプロイメント・サーバ200は、それ自体と分散論理リンク・リスト・メンバの間でメッセージを通信することによって、アクティブ・マスタ・テーブル216を維持する。分散論理リンク・リストのメンバに、どのデプロイメント・サーバでも含めることができる。アクティブ・マスタ・テーブル216は、マスタ・デプロイメント・サーバ200がデプロイメント・サーバの論理チェーンのアクティブ・マスタであることを示す。
一実施形態で、マスタ・デプロイメント・サーバ200は、メンバが現在アクティブであり、オンラインであることを確認するために、論理チェーンのメンバの現在の状況を照会し、照会されたメンバから確認を受信する。マスタ・デプロイメント・サーバ200は、照会に対する確認または応答を受信しないことに応答して、論理チェーンのメンバがインアクティブであり、オフラインであると判定することができる。一実施形態で、論理チェーンのメンバがインアクティブであり、オフラインであるとマスタ・デプロイメント・サーバ200が判定することに応答して、マスタ・デプロイメント・サーバ200は、そのメンバを論理チェーンから除去し、動作していないメンバを反映するようにアクティブ・マスタ・テーブル216を更新することができる。
PXEサーバ208は、マスタ・デプロイメント・サーバ200からPXE機能を提供する。したがって、管理リソースを監督し、分散論理リンク・リストを維持するほかに、マスタ・デプロイメント・サーバ200は、マスタ・デプロイメント・サーバ200が供給するサブネット108に接続されたコンピュータ・クライアント114からのPXE要求に応答する。さらに、マスタ・デプロイメント・サーバ200は、現在ネットワーク・ブートストラップ・プログラムをダウンロードしているコンピュータ・クライアント114にフォールトトレランスを提供する。たとえば、あるコンピュータ・クライアント114がネットワーク・ブートストラップ・プログラムのダウンロード中である間に特定のサブネット108のPXEサーバ208が故障した場合に、マスタ・デプロイメント・サーバ200は、故障したPXEサーバ208のPXE機能を置換し、その特定のサブネット108へのネットワーク・ブート・サービスを肩代わりすることができる。
除外インジケータ210は、あるデプロイメント・サーバがマスタ・デプロイメント・サーバ200になることから除外されるかどうかを示す。一実施形態で、除外インジケータ210を、2進値とすることができる。もう1つの実施形態で、この2進値を、システム管理者が決定することができ、ここで、2進数1は、あるデプロイメント・サーバがマスタ・デプロイメント・サーバ200になることからの除外を示し、2進数0は、あるデプロイメント・サーバがマスタ・デプロイメント・サーバ200になることの許可を示す。もう1つの実施形態で、除外インジケータ210を、デプロイメント・サーバのハードウェア特徴、ソフトウェア・バージョン、および他の類似する属性によって決定することができる。一実施形態で、アクティブなマスタ・デプロイメント・サーバ200の除外インジケータ210は、そのマスタ・デプロイメント・サーバ200がアクティブであり、オンラインであり続ける間、ロックされ、変更することができない。
優先順位インジケータ212は、あるデプロイメント・サーバが、同一の論理チェーンの別のデプロイメント・サーバと比較して、マスタ・デプロイメント・サーバ200になる資格がより高いかどうかを示す。たとえば、マスタ・デプロイメント・サーバ200は、あるデプロイメント・サーバが、論理チェーン内の別のデプロイメント・サーバより短いランタイムを有し、したがって故障の可能性がより低いと判定することができる。マスタ・デプロイメント・サーバ200は、あるデプロイメント・サーバが、論理チェーン内の別のデプロイメント・サーバと比較して、改善されたハードウェア特徴またはより新しいソフトウェア/ファームウェア・バージョンをインストールされていると判定することもできる。したがって、マスタ・デプロイメント・サーバ200は、あるデプロイメント・サーバが論理チェーン内でより上位に置かれることを保証するために、そのデプロイメント・サーバに優先順位を与えることができる。一実施形態で、マスタ・デプロイメント・サーバ200が故障した場合に、論理チェーン内でより上位のデプロイメント・サーバが、論理チェーン内で下位のデプロイメント・サーバの前にマスタ・デプロイメント・サーバ200に昇格される。
優先順位インジケータ212は、挿入されたデプロイメント・サーバが新しいマスタ・デプロイメント・サーバ200であることを示すように構成することができる。たとえば、システム管理者が、論理チェーンからマスタ・デプロイメント・サーバ200を除去するが、除去されたマスタ・デプロイメント・サーバ200をもう一度マスタ・デプロイメント・サーバ200として論理チェーンに戻すことを望む場合がある。マスタ・デプロイメント・サーバ200の除去に応答して、マスタ・デプロイメント・サーバ200のすぐ下流のデプロイメント・サーバが、新しいマスタ・デプロイメント・サーバ200として昇格される。一実施形態で、除去されたマスタ・デプロイメント・サーバ200が論理チェーンに再挿入された時に、再挿入されたマスタ・デプロイメント・サーバ200が、チェーンの終りに付加され、論理チェーンの最後のデプロイメント・サーバになる。もう1つの実施形態では、再挿入されたマスタ・デプロイメント・サーバ200が、現在のマスタ・デプロイメント・サーバ200をオーバーライドし、論理チェーンにもう一度マスタ・デプロイメント・サーバ200として追加される。再挿入されたマスタ・デプロイメント・サーバ200は、優先順位インジケータ212の値に従って、現在のマスタ・デプロイメント・サーバ200をオーバーライドする。優先順位インジケータ212は、2進値としてまたは任意の他の類似するエンコーディング方式でエンコードすることができる。
一般に、サービス保存ユーティリティ214は、ネットワーク・サービス・プロセスの保存を実装する。サービス保存ユーティリティ214の1つの実施例を、図5に図示し、図5に関して詳細に説明する。
サーバ連絡リスト218は、すぐ上流の次のデプロイメント・サーバおよびすぐ下流の次のデプロイメント・サーバの、IPアドレスなどの識別を保管する分散論理リンク・リストである。サーバ連絡リスト218は、自己修復式であり、自己維持式である。あるデプロイメント・サーバがオフラインになるなど、リストの無効化に応答して、破壊された論理チェーンが、修復され、オフラインのデプロイメント・サーバを避けて再ルーティングされる。したがって、サーバ連絡リスト218は、必要に応じて新しい論理関連付けを用いて更新されつつあり、アクティブ・マスタ・テーブル216は、分散論理リンク・リストの現在の状態を反映するように更新される。
デプロイメント・サーバがシステム100に挿入されることに応答して、論理チェーンが、維持され、挿入されたデプロイメント・サーバが、論理チェーンの終りに付加される。したがって、アクティブ・マスタ・テーブル216に加えて、以前のチェーンの終りのデプロイメント・サーバおよび新しいチェーンの終りのデプロイメント・サーバのサーバ連絡リスト218だけが、更新を必要とする。もちろん、インアクティブ・マスタ・テーブル304は、アクティブ・マスタ・テーブル216に保管された全データのリアルタイム複製を継続的に維持する。
図3に、主バックアップ・デプロイメント・サーバ300の一実施形態を示す。主バックアップ・デプロイメント・サーバ300は、実質的に図1の主バックアップ・デプロイメント・サーバ104に類似するものとすることができる。主バックアップ・デプロイメント・サーバ300に、図2のマスタ・デプロイメント・サーバ200に似て、通信モジュール202、複数のデプロイメント・イメージ205、メモリ・デバイス206、PXEサーバ208、除外インジケータ210、優先順位インジケータ212、およびサービス保存ユーティリティ214が含まれる。一実施形態で、主バックアップ・デプロイメント・サーバ300の除外インジケータ210は、主バックアップ・デプロイメント・サーバ300がアクティブであり、オンラインであり続ける間、ロックされ、変更することができない。
主バックアップ・デプロイメント・サーバ300に、インアクティブ管理リソース302すなわち、アクティブ管理リソース204のインアクティブ化された複製も含めることができる。マスタ・デプロイメント・サーバ200に似て、主バックアップ・デプロイメント・サーバ300に、サブネットへのデプロイメント・イメージ205の供給に応答して複数のデプロイメント・イメージ205を含めることができる。対照的に、主バックアップ・デプロイメント・サーバ300のメモリ・デバイス206に、インアクティブ・マスタ・テーブル304が含まれる。主バックアップ・デプロイメント・サーバ300は、マスタ・デプロイメント・サーバ200のバックアップ複製である。一実施形態で、主バックアップ・デプロイメント・サーバ300は、論理チェーン内で2番目のデプロイメント・サーバでリ、したがってマスタ・デプロイメント・サーバ200に直接に続く。
一実施形態で、インアクティブ管理リソース302およびインアクティブ・マスタ・テーブル304は、主バックアップ・デプロイメント・サーバ300でインアクティブであり、ディスエーブルされる。主バックアップ・デプロイメント・サーバ300のインアクティブ管理リソース302およびインアクティブ・マスタ・テーブル304は、ディスエーブルされているが、マスタ・デプロイメント・サーバ200のアクティブ管理リソース204およびアクティブ・マスタ・テーブル216のリアルタイム複製である。マスタ・デプロイメント・サーバ200が故障した場合に、主バックアップ・デプロイメント・サーバ300は、インアクティブ管理リソース302、インアクティブ・マスタ・テーブル304、およびマスタ・デプロイメント・サーバ200のすべての必要な管理機能をアクティブ化し、イネーブルする。
一実施形態で、インアクティブ・マスタ・テーブル304は、主バックアップ・デプロイメント・サーバ300がデプロイメント・サーバの論理チェーンのインアクティブ・マスタであることを示す。したがって、主バックアップ・デプロイメント・サーバ300がアクティブなマスタ・デプロイメント・サーバ200として昇格される時に、インアクティブ・マスタ・テーブル304は、更新を必要とするのではなく、アクティブ・マスタ・テーブル216としてアクティブ化された時に論理チェーンの全メンバの最新のリストを既に含んでいる。
図4に、副デプロイメント・サーバ400の一実施形態を示す。副デプロイメント・サーバ400は、図1の副デプロイメント・サーバ106に実質的に類似するものとすることができる。副デプロイメント・サーバ400に、図2のマスタ・デプロイメント・サーバ200および図3の主バックアップ・デプロイメント・サーバ300に似て、通信モジュール202、メモリ・デバイス206、PXEサーバ208、除外インジケータ210、優先順位インジケータ212、サービス保存ユーティリティ214、およびサーバ連絡リスト218が含まれる。
マスタ・デプロイメント・サーバ200および主バックアップ・デプロイメント・サーバ300と異なって、副デプロイメント・サーバ400に接続されたメモリ・デバイス206には、アクティブ・マスタ・テーブル216およびインアクティブ・マスタ・テーブル304が含まれない。その代わりに、副デプロイメント・サーバ400のメモリ・デバイス206には、サーバ連絡リスト218だけが含まれる。副デプロイメント・サーバ400には、管理リソースも含まれない。
図5に、図2のサービス保存ユーティリティ214に実質的に類似するものとすることができるサービス保存ユーティリティ500の一実施形態を示す。サービス保存ユーティリティ500は、分散論理リンク・リストに関連するネットワーク・サービスを保つ。サービス保存ユーティリティ500に、分散論理リンク・リストを監視するモニタ・モジュール502、分散論理リンク・リストの論理セットアップの変動を検出する検出モジュール504、および分散論理リンク・リストの故障したメンバのネットワーク・ブート・サービスを置換する置換モジュール506が含まれる。マスタ・デプロイメント・サーバ200、主バックアップ・デプロイメント・サーバ300、および1つまたは複数の副デプロイメント・サーバ400が、分散論理リンク・リストのメンバである。
サービス保存ユーティリティ500に、分散論理リンク・リストを構成する構成モジュール508、マスタ・デプロイメント・サーバ200の管理リソースを複製する複製モジュール510、主バックアップ・デプロイメント・サーバ300の管理リソースをアクティブ化するアクティブ化モジュール512、および、主バックアップ・デプロイメント・サーバ300をマスタ・デプロイメント・サーバ200に昇格させるか副デプロイメント・サーバ400を主バックアップ・デプロイメント・サーバ300に昇格させるかその両方を行う昇格モジュール514も含まれる。モニタ・モジュール502に、モニタ・モジュール502が分散論理リンク・リストを監視する頻度を決定するハートビート間隔516が含まれる。
構成モジュール508に、分散論理リンク・リストの現在の論理セットアップを検証する検証モジュール518、分散論理リンク・リストの論理セットアップを更新する更新モジュール520、分散論理リンク・リストの保管された内容を削除する削除モジュール522、および分散論理リンク・リストの現在の内容を確認する確認モジュール524が含まれる。サービス保存ユーティリティ500を、サービス・プロトコルの保存に従ってアクティブ化することができる。サービス・プロトコルの保存は、マスタ・デプロイメント・サーバ200が分散論理リンク・リストを監視できる形およびネットワーク・ブート・サービスの消失が検出され、その後置換され、維持される形を確立することができる。
図2で説明したように、サービス保存ユーティリティ500は、ネットワーク・ブート・サービスの事前に構成されたレベルを保ち、ネットワーク・ブートストラップ・プログラムおよび他のネットワーク展開されるプログラムへの高可用性を維持する。計画的であれ予期せぬものであれ、デプロイメント・サーバがオフラインになることに応答して、サービス保存ユーティリティ500は、デプロイメント・サーバがオフラインになる前と同一のレベルのネットワーク・ブート・サービスを保つ。サービス保存ユーティリティ500は、システム100にサービス保存の複数のステップを提供し、ネットワーク・インフラストラクチャ内の単一障害点を除去する。
モニタ・モジュール502は、分散論理リンク・リストを監視して、分散論理リンク・リストのメンバである複数のデプロイメント・サーバの間の現在の論理関係の正確な表現を保証する。一実施形態で、マスタ・デプロイメント・サーバ200、主バックアップ・デプロイメント・サーバ300、および1つまたは複数の副デプロイメント・サーバ400が、分散論理リンク・リストのメンバである。
一実施形態で、マスタ・デプロイメント・サーバ200は、分散論理リンク・リストの全メンバがアクティブであり、デプロイメント・サーバの間にアクティブな論理リンクが存在することを確認するために、通信ハートビートによく似た形で、主バックアップ・デプロイメント・サーバ300および1つまたは複数の副デプロイメント・サーバ400との間で継続的にメッセージを送っている。論理チェーンは、デプロイメント・サーバが、事前定義の通信タイムアウト間隔のうちに別のデプロイメント・サーバから期待されるアクティブ通信ハートビートを検出できない時に無効である。一実施形態で、デプロイメント・サーバは、論理チェーン内のすぐに下流のデプロイメント・サーバに応答を要求する。応答の受信に応答して、デプロイメント・サーバは、マスタ・デプロイメント・サーバ200に通知し、したがって、マスタ・デプロイメント・サーバ200は、アクティブ・マスタ・テーブル216の内容を検証する。
上で述べたように、アクティブ監視に、事前定義のハートビート間隔516内に分散論理リンク・リストの正確さを周期的に検証することが含まれる。さらに、アクティブ監視に、事前定義のハートビート間隔516内にデプロイメント・サーバのネットワーク・ブート・サービスの保全性を周期的に監視することを含めることができる。ハートビート間隔516は、デプロイメント・サーバがそれ自体ならびに分散論理リンク・リストですぐ下流のデプロイメント・サーバの代わりにネットワーク・ブート・サービスのアクティブなフル機能性をアサートすると期待される時間の期間である。
デプロイメント・サーバが、論理チェーンの最後の副デプロイメント・サーバ400である場合に、チェーンの終りのデプロイメント・サーバは、それ自体のみの代わりにネットワーク・ブート・サービスのアクティブなフル機能性をアサートする。したがって、すべてのデプロイメント・サーバが、それ自体によって依存的にならびにすぐに上流の別のデプロイメント・サーバによって独立に検証される。論理チェーン内ですぐ上流のデプロイメント・サーバを有しないマスタ・デプロイメント・サーバ200の場合に、主バックアップ・デプロイメント・サーバ300またはいずれかの副デプロイメント・サーバ400あるいはその両方が、マスタ・デプロイメント・サーバ200がオンラインであることを検証し、ネットワーク・ブート・サービスのアクティブ機能性を維持することができる。
検出モジュール504は、分散論理リンク・リストの論理関連付けの不一致を検出する。一実施形態で、検出モジュール504は、マスタ・デプロイメント・サーバ200が故障するか、除去されるか、他の形でオフラインになることに応答して、論理チェーンの不一致を検出することができる。検出モジュール504は、主バックアップ・デプロイメント・サーバ300または副デプロイメント・サーバ400あるいはその両方が故障するか、除去されるか、他の形でオフラインになることに応答して、論理チェーンの保全性の不一致を検出することもできる。さらに、検出モジュール504は、デプロイメント・サーバがシステム100に追加されることに応答して、論理チェーンの保全性の不一致を検出することができる。最後に、包含的にではないが、検出モジュール504は、デプロイメント・サーバの単一のまたは個々のコンポーネントまたはサービスの障害を検出することができる。
一実施形態で、モニタ・モジュール502および検出モジュール504を、ネットワーク・ブート・サービスを保つ、あるプロトコルに関連付けることができる。検出モジュール504が、分散論理リンク・リストの保全性の不一致を検出できないことに応答して、保守プロトコルを実行して、論理チェーンの保全性を維持することができる。検出モジュール504が、デプロイメント・サーバがオフラインになるのを検出することに応答して、回復プロトコルを実行して、論理チェーンの保全性を回復し、修復することができる。検出モジュール504が、デプロイメント・サーバがシステム100に挿入されるのを検出することに応答して、ディスカバリおよび挿入プロトコルを実行して、新しいデプロイメント・サーバを発見し、論理チェーンに挿入し、分散論理リンク・リストの新しい要素を反映するためにそれ相応に論理チェーンを変更することができる。
置換モジュール506は、一実施形態で、分散論理リンク・リスト内の故障したデプロイメント・サーバのネットワーク・ブート・サービスを置換する。もう1つの実施形態では、検出モジュール504が、故障したデプロイメント・サーバまたはデプロイメント・サーバの故障したコンポーネントの検出に応答して、置換モジュール506に信号を送ることができる。次に、置換モジュール506が、故障したデプロイメント・サーバのネットワーク・ブート・サービスを肩代わりするようにマスタ・デプロイメント・サーバ200に通知し、故障したデプロイメント・サーバのサブネット108へのネットワーク・サービスを維持することができる。もう1つの実施形態では、マスタ・デプロイメント・サーバ200が、故障したデプロイメント・サーバのネットワーク・ブート・サービスを、別のアクティブに機能しているデプロイメント・サーバに割り当てることができる。したがって、システム100に接続されたすべてのサブネット108へのネットワーク・ブート・サービスの保全性が、ほとんどまたは全くシステム管理者の介入なしで、自律的に保たれる。
構成モジュール508は、デプロイメント・サーバの分散論理リンク・リストの論理関連付けを構成する。上で説明したように、構成モジュール508に、検証モジュール518、更新モジュール520、削除モジュール522、および確認モジュール524が含まれる。構成モジュール508は、サービス・プロトコルの保存で示されるプロセスに従って動作する。
一実施形態で、システム100に接続されたデプロイメント・サーバは、能力および機能において同等であり、それぞれが同一レベルのネットワーク・ブート・サービスを提供する。システム100に接続されたデプロイメント・サーバは、マスタ・デプロイメント・サーバ200になるために競争する。構成モジュール508は、オンラインの最初のアクティブ・デプロイメント・サーバをマスタ・デプロイメント・サーバ200として構成する。次に、マスタ・デプロイメント・サーバ200によって検出された最初のアクティブ・デプロイメント・サーバが、主バックアップ・デプロイメント・サーバ300として構成される。他のすべてのデプロイメント・サーバが、副デプロイメント・サーバ400として構成される。
一実施形態で、システム管理者が、デプロイメント・サーバに優先順位を割り当てることができる。事前に構成された優先順位インジケータ212が、どのデプロイメント・サーバがマスタ・デプロイメント・サーバ200として構成されるかを決定することができ、次に、構成モジュール508が、残りのデプロイメント・サーバをその個々の優先順位のランクに従って順序付けることができる。もう1つの実施形態では、構成モジュール508が、除外インジケータ210の値に従ってデプロイメント・サーバを順序付けることができる。あるデプロイメント・サーバがマスタ・デプロイメント・サーバ200としての昇格から除外されることを除外インジケータ210が示すことに応答して、構成モジュール508は、そのデプロイメント・サーバを論理チェーンの終りに置くことができる。
検証モジュール518は、一実施形態で、分散論理リンク・リストの論理関連付けを検証する。マスタ・デプロイメント・サーバ200は、サーバ連絡リスト218の内容を検証するように副デプロイメント・サーバ400に要求することができる。次に、確認モジュール524が、検証要求に応答してサーバ連絡リスト218の正確さを確認することができる。各サーバ連絡リスト218が論理チェーンの論理関連付けを正確に表すことの確認を論理チェーンの各デプロイメント・サーバから受信することに応答して、検証モジュール518は、アクティブ・マスタ・テーブル216の内容を検証することができる。
もう1つの実施形態で、検証モジュール518は、分散論理リンク・リストでリンクされたデプロイメント・サーバの可用性を検証する。マスタ・デプロイメント・サーバ200は、検証モジュール518を介して、システム100のサブネット108にネットワーク・ブート・サービスを供給するための副デプロイメント・サーバ400の可用性を検証することができる。検証モジュール518は、PXEサーバ208など、副デプロイメント・サーバ400の個々のコンポーネントのアクティブ機能性を検証することもできる。
更新モジュール520は、一実施形態で、分散論理リンク・リストの論理関連付けを更新する。マスタ・デプロイメント・サーバ200は、更新モジュール520を介して、論理チェーンでリンクされたすべてのデプロイメント・サーバにマスタ同期パルスを送信することができる。マスタ同期パルスは、そのメッセージの発信元をマスタ・デプロイメント・サーバ200として示すようにサーバ連絡リスト218を更新するように副デプロイメント・サーバ400に要求する。したがって、マスタ・デプロイメント・サーバ200は、管理リソースおよび分散論理リンク・リストの管理に対するアクティブ制御を日常的にアサートする。デプロイメント・サーバの故障または挿入に起因して、検出モジュールが分散論理リンク・リストの矛盾を検出することに応答して、更新モジュール520が、1つまたは複数のサーバ連絡リスト218を更新する要求を送信することができる。
主バックアップ・デプロイメント・サーバ300も、故障したマスタ・デプロイメント・サーバ200の交換に応答して、更新モジュール520を介してマスタ同期パルスを送信することができる。もう1つの実施形態では、更新モジュール520が、新しい主バックアップ・デプロイメント・サーバ300としてターゲットの副デプロイメント・サーバ400を示すために、そのターゲットのサーバ連絡リスト218を更新することを要求する。
削除モジュール522は、一実施形態で、分散論理リンク・リストの論理関連付けを削除する。マスタ・デプロイメント・サーバ200が、削除モジュール522を介して、サーバ連絡リスト218の内容を削除する要求を、論理チェーンでリンクされた副デプロイメント・サーバ400に送信することができる。たとえば、システム100への副デプロイメント・サーバ400の追加に応答して、削除モジュール522が、以前のチェーンの終りの副デプロイメント・サーバ400のサーバ連絡リスト218の内容を削除することを要求することができる。次に、更新モジュール520が、以前のチェーンの終りの副デプロイメント・サーバ400と挿入された副デプロイメント・サーバ400の両方のサーバ連絡リスト218を更新する。
確認モジュール524は、一実施形態で、分散論理リンク・リストの論理関連付けを確認する。確認モジュール524は、論理チェーンに関連する、マスタ・デプロイメント・サーバ200または他のデプロイメント・サーバからの要求を確認することもできる。副デプロイメント・サーバ400が、確認モジュール524を介してメッセージを送信して、サーバ連絡リスト218が更新されたかどうかを確認することができる。もう1つの実施形態で、副デプロイメント・サーバ400が、サーバ連絡リスト218が更新されていないことを確認することができる。更新モジュール520がサーバ連絡リスト218の更新を要求することに応答して、更新モジュール520が、更新されたサーバ連絡リスト218を確認することができる。
複製モジュール510は、マスタ・デプロイメント・サーバ200から主バックアップ・デプロイメント・サーバ300に、アクティブ管理リソース204およびアクティブ・マスタ・テーブル216を複製する。インアクティブ管理リソース302およびインアクティブ・マスタ・テーブル304は、それぞれアクティブ管理リソース204およびアクティブ・マスタ・テーブル216の完全なコピーである。アクティブ管理リソース204に、ネットワーク・ブートストラップ・プログラムおよび他のネットワーク展開可能プログラムを含むデプロイメント・イメージ205を含めることができる。
一実施形態で、アクティブ管理リソース204でのデプロイメント・イメージ205の追加、除去、または交換に応答して、複製モジュール510が、インアクティブ管理リソース302に同一のデプロイメント・イメージ205の複製を追加し、除去し、または交換する。複製モジュール510は、副デプロイメント・サーバ400で同一のデプロイメント・イメージ205の複製を追加し、除去し、または交換することもできる。同一の形で、複製モジュール510は、アクティブ・マスタ・テーブル216の内容をリアルタイムでインアクティブ・マスタ・テーブル304の内容に複製する。したがって、いつでも、主バックアップ・デプロイメント・サーバ300は、すべての管理リソースの複製を備え、現在のマスタ・デプロイメント・サーバ200の管理機能のすべてを実行することができる。
もう1つの実施形態で、主バックアップ・デプロイメント・サーバ300が、新しいマスタ・デプロイメント・サーバ200として、故障したマスタ・デプロイメント・サーバ200と交換されることに応答して、複製モジュール510を、アクティブ管理リソース204およびアクティブ・マスタ・テーブル216の内容を複製するように構成することができる。複製モジュール510は、新しい主バックアップ・デプロイメント・サーバ300として促された主バックアップ・デプロイメント・サーバ300と交換する副デプロイメント・サーバ400のアクティブ管理リソース204およびアクティブ・マスタ・テーブル216を複製する。
アクティブ化モジュール512は、一実施形態で、主バックアップ・デプロイメント・サーバ300のインアクティブ管理リソース302およびインアクティブ・マスタ・テーブル304をアクティブ化し、イネーブルする。上で説明したように、インアクティブ管理リソース302およびインアクティブ・マスタ・テーブル304は、それぞれアクティブ管理リソース204およびアクティブ・マスタ・テーブル216の完全なコピーである。したがって、主バックアップ・デプロイメント・サーバ300は、マスタ・デプロイメント・サーバ200として昇格された瞬間に、単にすべての管理機能をアクティブ化し、新しいマスタ・デプロイメント・サーバ200として動作する準備ができている。
もう1つの実施形態で、アクティブ化モジュール512は、デプロイメント・サーバの分散論理リンク・リストに追加された副デプロイメント・サーバ400のPXEサーバ208をアクティブ化する。マスタ・デプロイメント・サーバ200は、新たに追加された副デプロイメント・サーバ400にサブネット108を割り当て、その後、アクティブ化モジュール512を介してネットワーク・ブート・サービスをアクティブ化することができる。
昇格モジュール514は、一実施形態で、主バックアップ・デプロイメント・サーバ300をマスタ・デプロイメント・サーバ200に昇格させる。もう1つの実施形態では、昇格モジュール514が、副デプロイメント・サーバ400を主バックアップ・デプロイメント・サーバ300に昇格させる。もう1つの実施形態では、システム管理者が、自動昇格プロセスをディスエーブルすることができる。したがって、マスタ・デプロイメント・サーバ200の除去に応答して、主バックアップ・デプロイメント・サーバ300が昇格されなくなる。除去されたマスタ・デプロイメント・サーバ200を、その後、マスタ・デプロイメント・サーバ200としてシステム100にもう一度挿入することができる。マスタ・デプロイメント・サーバ200が除去され、自動昇格サービスがディスエーブルされている時間中には、システム100全体のネットワーク・ブート・サービスがオフラインになる。
図6および7は、図2のマスタ・デプロイメント・サーバ200または図3の主バックアップ・デプロイメント・サーバ300あるいはその両方によって実装できる、マスタ・テーブル・データ構造600の一実施形態を示す概略ブロック図である。便宜上、マスタ・テーブル・データ構造600が、第1部分600aおよび第2部分600bに図示されているが、集合的にマスタ・テーブル・データ構造600と呼称する。マスタ・テーブル・データ構造600を、本明細書では図1のシステム100を参照して説明する。
マスタ・テーブル・データ構造600に、複数のフィールドを含めることができ、各フィールドは、1ビットまたは一連のビットからなる。一実施形態で、マスタ・デプロイメント・サーバ200は、デプロイメント・サーバの分散論理リンク・リストに関連してマスタ・テーブル・データ構造600を使用する。マスタ・テーブル・データ構造600に、長さが異なるものとすることのできる複数のフィールドが含まれる。図示のマスタ・テーブル・データ構造600は、マスタ・テーブル・データ構造600のすべてを含む図示ではなく、一部の主要な要素を示すものである。
マスタ・テーブル・データ構造の第1部分600aに、マスタ・サーバID 602、主バックアップ・サーバID 604、および1つまたは複数の次下流サーバID 606を含めることができる。マスタ・テーブル・データ構造の第2部分600bに、総論理要素数608、主バックアップ・サーバ状態610、および1つまたは複数の次下流サーバ状態612を含めることができる。
マスタ・サーバID 602は、現在のマスタ・デプロイメント・サーバ200の識別を示す。一実施形態で、デプロイメント・サーバの識別に、その特定のデプロイメント・サーバに割り当てられたインターネット・プロトコル(IP)アドレスが含まれる。主バックアップ・サーバID 604は、現在の主バックアップ・デプロイメント・サーバ300の識別を示す。次下流サーバID 606は、論理チェーンで主バックアップ・デプロイメント・サーバ300のすぐ下流に論理的に関連する副デプロイメント・サーバ400の識別を示す。次下流サーバID 606の別々のフィールドが、マスタ・テーブル・データ構造600内に、主バックアップ・デプロイメント・サーバ300の下で論理的に関連する最初の副デプロイメント・サーバ400から論理チェーンの最下部のチェーンの終りの副デプロイメント・サーバ400まで含まれる。
前に説明したように、主バックアップ・デプロイメント・サーバ300は、1つの例外を有するアクティブ・マスタ・テーブル216のコピーを維持する。マスタ・サーバID 602が、主バックアップ・デプロイメント・サーバ300の識別を示すように変更される。言い換えると、マスタ・サーバID 602が、マスタ・テーブル・データ構造600から除去され、したがって、主バックアップ・サーバID 604が、マスタ・サーバID 602の位置にあり、マスタ・デプロイメント・サーバ200として主バックアップ・デプロイメント・サーバ300を示す。したがって、主バックアップ・デプロイメント・サーバ300がマスタ・デプロイメント・サーバ200に昇格された後に、インアクティブ・マスタ・テーブル304が、即座に有効になり、昇格時にアクティブ・マスタ・テーブル216になる。昇格されたマスタ・デプロイメント・サーバ200(以前の主バックアップ・デプロイメント・サーバ300)は、次に使用可能な下流の副デプロイメント・サーバ400を新しい主バックアップ・デプロイメント・サーバ300として昇格させ、複製モジュール510が、アクティブ管理リソース204の複製を開始する。
総論理要素数608フィールドは、分散論理リンク・リストに論理的に関連するデプロイメント・サーバの総数を示す。一実施形態で、総論理要素数608の保管された値は、マスタ・デプロイメント・サーバ200を除外したものであり、したがって、0からnまで変化する可能性がある。マスタ・デプロイメント・サーバ200が唯一のデプロイメント・サーバであることに応答して、総論理要素数608フィールドに、値「0」が保管される。したがって、「0」の保管された値は、主バックアップ・デプロイメント・サーバ300がないことを示す。「1」の保管された値は、主バックアップ・デプロイメント・サーバ300があるが、副デプロイメント・サーバ400がないことを示す。「2」の保管された値は、主バックアップ・デプロイメント・サーバ300および1つの副デプロイメント・サーバ400があることを示す。「3」以上nまでの保管された値は、2からn−1台までの副デプロイメント・サーバ400が論理的にリンクされていることを示す。
主バックアップ・サーバ状態610フィールドは、主バックアップ・デプロイメント・サーバ300の現在の動作状態を示す。一実施形態で、主バックアップ・サーバ状態610フィールドに、ブール論理1バイト累積ビット単位値を含めることができ、ここで、ビット0は、マスタ・デプロイメント・サーバ200からのハートビート信号に対する主バックアップ・デプロイメント・サーバ300の応答を示す。さらに、主バックアップ・デプロイメント・サーバ300に関して、ビット1およびビット2は、それぞれ次の上流および下流のデプロイメント・サーバの応答を示すことができる。
一実施形態で、「0」をセットされたビット0は、主バックアップ・デプロイメント・サーバ300がフル機能性を備えてオンラインであることを示し、「1」をセットされたビット0は、主バックアップ・デプロイメント・サーバ300がマスタ・デプロイメント・サーバ200からのハートビート信号に応答できないことを示すことができる。もう1つの実施形態で、「1」をセットされたビット1またはビット2あるいはその両方は、上流デプロイメント・サーバまたは下流デプロイメント・サーバあるいはその両方が、主バックアップ・デプロイメント・サーバ300にオフラインを報告することを示すことができる。「0」をセットされたビット1またはビット2あるいはその両方は、上流デプロイメント・サーバまたは下流デプロイメント・サーバあるいはその両方が、主バックアップ・デプロイメント・サーバ300にオンラインを報告することを示すことができる。
次下流サーバ状態612フィールドは、1つまたは複数の副デプロイメント・サーバ400がシステム100に追加されている時に、主バックアップ・デプロイメント・サーバ300のすぐ下流の副デプロイメント・サーバ400などの現在の動作状態を示す。主バックアップ・サーバ状態610に似て、次下流サーバ状態612フィールドに、ブール論理1バイト累積ビット単位値を含めることができ、ここで、ビット0は、マスタ・デプロイメント・サーバ200からのハートビート信号に対する副デプロイメント・サーバ400の応答を示す。さらに、副デプロイメント・サーバ400に関して、ビット1およびビット2は、それぞれ次の上流および下流のデプロイメント・サーバの応答を示すことができる。
一実施形態で、「0」をセットされたビット0は、副デプロイメント・サーバ400がフル機能性を備えてオンラインであることを示し、「1」をセットされたビット0は、副デプロイメント・サーバ400がマスタ・デプロイメント・サーバ200からのハートビート信号に応答できないことを示すことができる。もう1つの実施形態で、「1」をセットされたビット1またはビット2あるいはその両方は、上流デプロイメント・サーバまたは下流デプロイメント・サーバあるいはその両方が、副デプロイメント・サーバ400にオフラインを報告することを示すことができる。「0」をセットされたビット1またはビット2あるいはその両方は、上流デプロイメント・サーバまたは下流デプロイメント・サーバあるいはその両方が、副デプロイメント・サーバ400にオンラインを報告することを示すことができる。
図8に、副デプロイメント・サーバ400に関連するサーバ連絡リスト・データ構造700の一実施形態を示す。サーバ連絡リスト・データ構造700に、複数のフィールドを含めることができ、各フィールドは、1ビットまたは一連のビットからなる。一実施形態で、副デプロイメント・サーバ400は、デプロイメント・サーバの分散論理リンク・リストに関連してサーバ連絡リスト・データ構造700を使用する。サーバ連絡リスト・データ構造700に、長さが異なるものとすることのできる複数のフィールドが含まれる。図示のサーバ連絡リスト・データ構造700は、サーバ連絡リスト・データ構造700のすべてを含む図示ではなく、一部の主要な要素を示すものである。図示のサーバ連絡リスト・データ構造700に、サーバ役割702、マスタ・サーバID 704、上流サーバID 706、および下流サーバID 708が含まれる。
サーバ役割702は、サーバ連絡リスト・データ構造700の所有者または保有者の役割を示す。一実施形態で、サーバ役割702は、x00からx0Fの範囲の、16進数値または類似するエンコーディングとすることができる。たとえば、0(x00)が、サーバ連絡リスト・データ構造700の所有者がマスタ・デプロイメント・サーバ200であることを示すことができ、1(x01)が、サーバ連絡リスト・データ構造700の所有者が主バックアップ・デプロイメント・サーバ300であることを示すことができる。2(x02)の値が、有効な副デプロイメント・サーバ400を示すことができる。サーバ役割702は、図2の除外インジケータ210とあいまって働くこともでき、ここで、15(x0F)は、関連するデプロイメント・サーバがマスタ・デプロイメント・サーバ200への昇格から除外されることを示すことができる。
マスタ・サーバID 704は、現在のマスタ・デプロイメント・サーバ200の識別を示す。マスタ・テーブル・データ構造600に似て、デプロイメント・サーバの識別に、その特定のデプロイメント・サーバに割り当てられたインターネット・プロトコル(IP)アドレスを含めることができる。上流サーバID 706は、分散論理リンク・リストですぐ上流に論理的に関連するデプロイメント・サーバの識別を示す。下流サーバID 708は、分散論理リンク・リストですぐ下流に論理的に関連するデプロイメント・サーバの識別を示す。
図9に、マスタ・デプロイメント・サーバ200、主バックアップ・デプロイメント・サーバ300、または副デプロイメント・サーバ400、あるいはこれらの組合せに関連するメッセージ・パケット・データ構造800の一実施形態を示す。メッセージ・パケット・データ構造800に、複数のフィールドを含めることができ、各フィールドは、1ビットまたは一連のビットからなる。一実施形態で、マスタ・デプロイメント・サーバ200は、メッセージ・パケット・データ構造800を使用して、メッセージを別のデプロイメント・サーバに送信する。メッセージ・パケット・データ構造800に、長さが異なるものとすることのできる複数のフィールドが含まれる。図示のメッセージ・パケット・データ構造800は、メッセージ・パケット・データ構造800のすべてを含む図示ではなく、一部の主要な要素を示すものである。メッセージ・パケット・データ構造800に、ソースID 802、宛先ID 804、およびベンダ・オプション806が含まれる。
ソースID 802は、そのメッセージ・パケットの発信元の識別を示す。マスタ・テーブル・データ構造600に似て、デプロイメント・サーバの識別に、その特定のデプロイメント・サーバに割り当てられたインターネット・プロトコル(IP)アドレスを含めることができる。宛先ID 804は、そのメッセージ・パケットのターゲットの識別を示す。ベンダ・オプション806は、そのメッセージ・パケットの定義を示す。言い換えると、ベンダ・オプション806は、メッセージ・パケット記述子である。PXEプロトコルは、ベンダ・オプション・タグ「オプション60」を使用して、PXE応答を標準DHCP応答と区別する。ベンダ・オプション806は、PXEメッセージ・パケットのさらなる定義を与え、既存の「オプション60」ベンダ・オプション・タグとあいまって使用される。
一実施形態で、ベンダ・オプション806を検証モジュール518と共に使用して、サーバ連絡リスト218を検証する要求としてメッセージ・パケットを示すことができる。もう1つの実施形態で、ベンダ・オプション806を更新モジュール520と共に使用して、サーバ連絡リスト218を更新する要求としてメッセージ・パケットを示すことができる。もう1つの実施形態で、ベンダ・オプション806を確認モジュール524と共に使用して、サーバ連絡リスト218が更新されたことの確認としてメッセージ・パケットを示すことができる。したがって、ベンダ・オプション806は、ディスカバリおよび挿入プロトコル、保守プロトコル、回復プロトコル、およびシステム100のネットワーク・ブート・サービスの保存に関連するすべての他のプロトコルを含む、これまでに説明したすべての通信およびメッセージと共に使用することができる。
図10、11、および12に、図5のサービス保存ユーティリティ500によって実装できるサービス保存方法900の一実施形態を示す概略流れ図を示す。便宜上、サービス保存方法900を第1部分900a、第2部分900b、および第3部分900cで図示するが、集合的にサービス保存方法900と呼称する。サービス保存方法900を、本明細書では図1のシステム100を参照して説明する。
サービス保存方法900aに、マスタ・デプロイメント・サーバ200を指定する動作902と、主バックアップ・デプロイメント・サーバ300を指定する動作904と、1つまたは複数の副デプロイメント・サーバ400を指定する動作906と、アクティブ・マスタ・テーブル216、インアクティブ・マスタ・テーブル304、およびサーバ連絡リスト218を構成する動作908と、アクティブ・マスタ・テーブル216およびサーバ連絡リスト218を検証する動作910と、デプロイメント・サーバの論理分布を監視する動作912と、イベントが検出されたかどうかを判定する動作914が含まれる。
サービス保存方法900bに、検出されたイベントがマスタ・デプロイメント・サーバ200の故障であるかどうかを判定する動作916と、検出されたイベントが主バックアップ・デプロイメント・サーバ300の故障であるかどうかを判定する動作918と、主バックアップ・デプロイメント・サーバ300をマスタ・デプロイメント・サーバ200に昇格させる動作920と、マスタ・デプロイメント・サーバ200に昇格された主バックアップ・デプロイメント・サーバ300のインアクティブ管理リソース302をアクティブ化する動作922と、新しいマスタ・デプロイメント・サーバ200の下流の次の使用可能な副デプロイメント・サーバ400を新しい主バックアップ・デプロイメント・サーバ300にするために昇格させる動作924と、新しいマスタ・デプロイメント・サーバ200の管理リソースを新しい主バックアップ・デプロイメント・サーバ300に複製する動作926が含まれる。
サービス保存方法900cに、検出されたイベントが副デプロイメント・サーバ400の故障であるかどうかを判定する動作938と、検出されたイベントが副デプロイメント・サーバ400の挿入であるかどうかを判定する動作940と、必要に応じて挿入された副デプロイメント・サーバ400を昇格させる動作942が含まれる。サービス保存方法900cに、故障したデプロイメント・サーバのネットワーク・ブート・サービスを置換する動作928と、連絡リストの現在の内容を削除する動作930と、サーバ連絡リスト218の内容を更新する動作932と、サーバ連絡リスト218の内容を検証する動作934と、サーバ連絡リスト218の内容が正確であることを確認する動作936も含まれる。
サービス保存方法900は、マスタ・デプロイメント・サーバ200、主バックアップ・デプロイメント・サーバ300、または副デプロイメント・サーバ400あるいはこれらの組合せに関連するサービス保存ユーティリティ500のサービス保存能力を開始する。サービス保存方法900は、図を明瞭にするためにある順次順序で図示されているが、システム100は、これらの動作を並列に実行することができ、必ずしも図示の順序でなく実行することができ、あるいはその両方を行うことができる。
サービス保存方法900が開始され、構成モジュール508が、マスタ・デプロイメント・サーバ200を指定し902、したがって、デプロイメント・サーバの分散論理リンク・リストの作成を開始する。マスタ・デプロイメント・サーバ200は、分散論理リンク・リストの一番上のノードである。一実施形態で、構成モジュール508は、オンラインの最初の使用可能なデプロイメント・サーバをマスタ・デプロイメント・サーバ200として指定する902。もう1つの実施形態では、システム管理者がマスタ・デプロイメント・サーバ200を指定する902ことができる。
次に、構成モジュール508が、主バックアップ・デプロイメント・サーバ300を指定する904。一実施形態で、構成モジュール508は、オンラインの2番目に使用可能なデプロイメント・サーバを主バックアップ・デプロイメント・サーバ300として指定する904。主バックアップ・デプロイメント・サーバ300は、分散論理リンク・リストの2番目のノードである。構成モジュール508は、マスタ・デプロイメント・サーバ200に最初に連絡したデプロイメント・サーバを主バックアップ・デプロイメント・サーバ300として指定することができる。もう1つの実施形態では、システム管理者が主バックアップ・デプロイメント・サーバ300を指定する904ことができる。
次に、構成モジュール508は、必要に応じて1つまたは複数の副デプロイメント・サーバ400を指定する906。一実施形態で、構成モジュール508は、マスタ・デプロイメント・サーバ200および主バックアップ・デプロイメント・サーバ300の後のすべての他のデプロイメント・サーバを副デプロイメント・サーバ400として指定する906。すべての副デプロイメント・サーバ400が、分散論理リンク・リストでマスタ・デプロイメント・サーバ200および主バックアップ・デプロイメント・サーバ300の下に論理的に関連するノードである。もう1つの実施形態では、システム管理者が副デプロイメント・サーバ400を指定する906ことができる。もう1つの実施形態では、システム管理者が、関連するデプロイメント・サーバをマスタ・デプロイメント・サーバ200として指定することから構成モジュール508を除外する除外インジケータ210など、個々のデバイス属性に基づいて、特定の順序で副デプロイメント・サーバ400を置くことができる。
デプロイメント・サーバの指定の後に、構成モジュール508は、マスタ・デプロイメント・サーバ200のアクティブ・マスタ・テーブル216を構成する908。構成モジュール508は、アクティブ・マスタ・テーブル216をインアクティブ・マスタ・テーブル304にコピーするために複製モジュール510に信号を送ることができる。さらに、構成モジュール508は、めいめいのデプロイメント・サーバのサーバ連絡リスト218を確認する908ことができる。次に、検証モジュール518が、アクティブ・マスタ・テーブル216およびサーバ連絡リスト218を検証する910ことができる。
検証の後に、モニタ・モジュール502が、初期化され、分散論理リンク・リストのデプロイメント・サーバの論理分布を監視し912始める。次に、検出モジュール504が、イベントが発生したかどうかを判定する914。イベントに、分散論理リンク・リストでの矛盾に関連する他の潜在的イベントの中でも故障するデプロイメント・サーバ、システム100からのデプロイメント・サーバの除去、またはシステム100へのデプロイメント・サーバの追加、あるいは他のシステム・イベントを含めることができる。検出モジュール504が、ハートビート間隔516などの事前に構成された間隔のうちにイベントを検出しない場合には、サービス保存方法900は、モニタ・モジュール502を介する分散論理リンク・リストの保全性の監視912を継続する。
その結果、検出モジュール504がイベントを検出した場合に、検出モジュール504は、検出されたイベントがマスタ・デプロイメント・サーバ200の故障に起因するかどうかを判定する916ことができる。一実施形態で、検出モジュール504は、検証モジュール518とあいまって、何がイベントを引き起こしたかを確立することができる。検出モジュール504が、故障したマスタ・デプロイメント・サーバ200がイベントをトリガしたと判定916しない場合には、検出モジュール504は、検出されたイベントが主バックアップ・デプロイメント・サーバ300の故障に起因するかどうかを判定する918ことができる。
検出モジュール504が、故障したマスタ・デプロイメント・サーバ200がイベントをトリガしたと判定する916場合には、昇格モジュール514が、主バックアップ・デプロイメント・サーバ300を新しいマスタ・デプロイメント・サーバ200に昇格させる920。次に、アクティブ化モジュール512が、昇格された主バックアップ・デプロイメント・サーバ300のインアクティブ管理リソース302をアクティブ化し922、イネーブルする。アクティブ化モジュール512は、アクティブ・マスタ・テーブル216になるようにインアクティブ・マスタ・テーブル304をアクティブ化する922こともできる。
次に、昇格モジュール514が、次の使用可能な副デプロイメント・サーバ400を新しい主バックアップ・デプロイメント・サーバ300として昇格させる924。昇格モジュール514は、新しいマスタ・デプロイメント・サーバ200からすぐ下流に論理的に関連する次の有資格の副デプロイメント・サーバ400を昇格させる924。副デプロイメント・サーバ400は、除外インジケータ210がその副デプロイメント・サーバ400を昇格から除外しない限り、昇格に関して有資格である。
昇格に続いて、複製モジュール510が、マスタ・デプロイメント・サーバ200のアクティブ管理リソース204を新しい主バックアップ・デプロイメント・サーバ300のインアクティブ管理リソース302に複製する926。複製モジュール510は、マスタ・デプロイメント・サーバ200のアクティブ・マスタ・テーブル216を新しい主バックアップ・デプロイメント・サーバ300のインアクティブ・マスタ・テーブル304に複製することもできる。
次に、置換モジュール506が、故障したデプロイメント・サーバ、この場合にはマスタ・デプロイメント・サーバ200のネットワーク・ブート・サービスを置換する928。新しいマスタ・デプロイメント・サーバ200は、故障したデプロイメント・サーバのネットワーク・ブート・サービスを肩代わりすることができ、あるいは、ネットワーク・ブート・サービスを論理チェーン内の別のデプロイメント・サーバに割り当てることができる。次に、削除モジュール522が、影響を受けるサーバ連絡リスト218の現在の内容を削除する930か、サーバ連絡リスト218を削除する930ように、故障したデプロイメント・サーバによって影響を受けるすべてのデプロイメント・サーバに要求する。一般に、故障したデプロイメント・サーバは、故障したデプロイメント・サーバのすぐ上流またはすぐ下流あるいはその両方に論理的に位置するデプロイメント・サーバのサーバ連絡リスト218に影響する。
次に、更新モジュール520が、影響を受けたサーバ連絡リスト218の内容を更新する932。次に、検証モジュール518が、影響を受けたサーバ連絡リスト218の更新された内容を検証する934。検証に続いて、確認モジュール524が、サーバ連絡リスト218が更新され、検証されたことを確認する936。次に、サービス保存方法900は、分散論理リンク・リストの保全性および関連するデプロイメント・サーバの状態の監視912に戻る。
検出モジュール504が、検出されたイベントが主バックアップ・デプロイメント・サーバ300の故障に起因すると判定する918場合に、昇格モジュール514が、論理チェーンの下流の次の有資格の副デプロイメント・サーバ400を新しい主バックアップ・デプロイメント・サーバ300として昇格させる924。次に、複製モジュール510が、マスタ・デプロイメント・サーバ200のアクティブ管理リソース204を新しい主バックアップ・デプロイメント・サーバ300のインアクティブ管理リソース302に複製する926。
次に、置換モジュール506が、故障したデプロイメント・サーバ、この場合には主バックアップ・デプロイメント・サーバ300のネットワーク・ブート・サービスを置換する928。次に、削除モジュール522が、影響を受けるサーバ連絡リスト218の現在の内容を削除する930か、サーバ連絡リスト218を削除する930ように、故障したデプロイメント・サーバによって影響を受けるすべてのデプロイメント・サーバに要求する。
次に、更新モジュール520が、影響を受けたサーバ連絡リスト218の内容を更新する932。次に、検証モジュール518が、影響を受けたサーバ連絡リスト218の更新された内容を検証する934。検証に続いて、確認モジュール524が、サーバ連絡リスト218が更新され、検証されたことを確認する936。次に、サービス保存方法900は、分散論理リンク・リストの保全性および関連するデプロイメント・サーバの状態の監視912に戻る。
検出モジュール504が、検出されたイベントが主バックアップ・デプロイメント・サーバ300の故障に起因しないと判定する918場合に、検出モジュール504は、検出されたイベントが副デプロイメント・サーバ400の故障に起因するかどうかを判定する938。検出モジュール504が、検出されたイベントが副デプロイメント・サーバ400の故障に起因しないと判定する938場合に、検出モジュール504は、検出されたイベントが副デプロイメント・サーバ400の挿入に起因するかどうかを判定する940。
検出モジュール504が、検出されたイベントが副デプロイメント・サーバ400の故障に起因すると判定する938場合に、置換モジュール506が、故障したデプロイメント・サーバ、この場合には副デプロイメント・サーバ400のネットワーク・ブート・サービスを置換する928。次に、削除モジュール522が、影響を受けるサーバ連絡リスト218の現在の内容を削除する930か、サーバ連絡リスト218を削除する930ように、故障したデプロイメント・サーバによって影響を受けるすべてのデプロイメント・サーバに要求する。
次に、更新モジュール520が、影響を受けたサーバ連絡リスト218の内容を更新する932。次に、検証モジュール518が、影響を受けたサーバ連絡リスト218の更新された内容を検証する934。検証に続いて、確認モジュール524が、サーバ連絡リスト218が更新され、検証されたことを確認する936。次に、サービス保存方法900は、分散論理リンク・リストの保全性および関連するデプロイメント・サーバの状態の監視912に戻る。
検出モジュール504が、検出されたイベントが副デプロイメント・サーバ400の挿入に起因しないと判定する940場合に、サービス保存方法900は終了する。一実施形態で、サービス保存方法900は、検出モジュール504が未知のイベントを検出したことをシステム管理者に通知する。もう1つの実施形態では、サービス保存方法900が、分散論理リンク・リストの保全性の監視912に戻ることができる。その代わりに、サービス保存方法900が、追加の定義されたイベントを含み、トリガされたイベントの原因の推論を継続することができる。
検出モジュール504が、検出されたイベントが副デプロイメント・サーバ400の挿入に起因すると判定する940場合に、昇格モジュール514が、必要に応じて、挿入された副デプロイメント・サーバ400を昇格させる942ことができる。たとえば、システム管理者が、論理チェーンで既に論理的にリンクされている他の副デプロイメント・サーバ400より高い、優先順位インジケータ212によって示される優先順位を、挿入された副デプロイメント・サーバ400に与えることができる。
次に、削除モジュール522が、影響を受けるサーバ連絡リスト218の現在の内容を削除する930か、サーバ連絡リスト218を削除する930ように、故障したデプロイメント・サーバによって影響を受けるすべてのデプロイメント・サーバに要求する。次に、更新モジュール520が、影響を受けたサーバ連絡リスト218の内容を更新する932。
更新に続いて、検証モジュール518が、影響を受けたサーバ連絡リスト218の更新された内容を検証する934。検証に続いて、確認モジュール524が、サーバ連絡リスト218が更新され、検証されたことを確認する936。次に、サービス保存方法900は、分散論理リンク・リストの保全性および関連するデプロイメント・サーバの状態の監視912に戻る。
本発明によって与えられるネットワーク・ブート・サービスの保存は、全体的なシステムの依存性および可用性に実際の前向きの影響を有することができる。ある種の実施形態で、本発明は、アップタイム、アプリケーション可用性、およびリアル・タイム・ビジネス・パフォーマンスを改善し、これらのすべてが、総所有コストの引き下げをもたらす。システム・リソースの利用度を改善するほかに、本発明の実施形態は、単一故障点の危険性を除去し、システムに、ネットワーク・ブート・サーバならびにすべての他のタイプのサーバのリストの保全性を維持する方法を与える。
本明細書に含まれる概略流れ図は、一般に、論理流れ図として示される。したがって、図示の順序および示された動作は、本発明の一実施形態を示す。機能、論理、または効果において図示された方法の1つまたは複数の動作あるいはその一部と同等である他の動作および方法を考えることができる。さらに、使用されたフォーマットおよび記号は、その方法の論理動作を説明するために提供され、その方法の範囲を制限しないものと理解される。さまざまな種類の矢印および線が流れ図で使用されている場合があるが、これらは、対応する方法の範囲を制限しないものと理解される。実際に、一部の矢印または他の連結記号は、方法の論理的流れだけを示すのに使用される場合がある。たとえば、矢印が、図示された方法の列挙された動作の間の指定されない持続時間の待ち期間または監視期間を示す場合がある。さらに、特定の方法が行われる順序は、図示の対応する動作の順序に厳密に従う場合とそうでない場合がある。
本明細書全体を通じて、「一実施形態」、「実施形態」、または類似する言葉への言及は、その実施形態に関して説明される特定の特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、句「一実施形態で」、「実施形態で」、または類似する言葉の出現は、本明細書全体を通じて、すべてが同一の実施形態を指す場合があるが、必ずしもそうとは限らない。
信号担持媒体への言及は、信号を生成するか、信号を生成させるか、ディジタル処理装置で機械可読命令を実行させることのできるすべての形をとることができる。信号担持媒体は、伝送線、コンパクト・ディスク、ディジタルビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、パンチ・カード、フラッシュ・メモリ、集積回路、または他のディジタル処理装置メモリ・デバイスによって実施することができる。
さらに、本発明の説明された特徴、構造、または特性を、1つまたは複数の実施形態で任意の適当な形で組み合わせることができる。上の説明では、本発明の実施形態の完全な理解を提供するために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース照会、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップの例など、多数の具体的な詳細を提供する。しかし、当業者は、その特定の詳細のうちの1つまたは複数なしで、あるは他の方法、コンポーネント、材料などを用いて本発明を実践できることを認めるであろう。他の場合に、本発明の諸態様を不明瞭にしないように、周知の構造、材料、または動作は、詳細には図示せず、説明しない。
本発明を、その趣旨または本質的特性から逸脱せずに他の特定の形で実施することができる。説明された実施形態は、すべての点で、例示的であって制限的でないものとしてのみ考えられなければならない。したがって、本発明の範囲は、前述の説明ではなく添付請求項によって示される。請求項の同等性の意味および範囲に含まれるすべての変更が、その範囲に含まれなければならない。
ネットワーク・ブート・サービス・システムの一実施形態を示す概略ブロック図である。 マスタ・デプロイメント・サーバの一実施形態を示す概略ブロック図である。 主バックアップ・デプロイメント・サーバの一実施形態を示す概略ブロック図である。 副デプロイメント・サーバの一実施形態を示す概略ブロック図である。 サービス保存ユーティリティの一実施形態を示す概略ブロック図である。 マスタ・テーブル・データ構造の一実施形態を示す概略ブロック図である。 マスタ・テーブル・データ構造の一実施形態を示す概略ブロック図である。 サーバ連絡リスト・データ構造の一実施形態を示す概略ブロック図である。 パケット・データ構造の一実施形態を示す概略ブロック図である。 サービス保存方法の一実施形態を示す概略流れ図である。 サービス保存方法の一実施形態を示す概略流れ図である。 サービス保存方法の一実施形態を示す概略流れ図である。
符号の説明
100 システム
102 マスタ・デプロイメント・サーバ
104 主バックアップ・デプロイメント・サーバ
106 副デプロイメント・サーバ
108 サブネット
110 クライアント・ネットワーク
112 サーバ・ネットワーク
114 コンピュータ・クライアント
200 マスタ・デプロイメント・サーバ
202 通信モジュール
204 アクティブ管理リソース
205 デプロイメント・イメージ
206 メモリ・デバイス
208 PXEサーバ
210 除外インジケータ
212 優先順位インジケータ
214 サービス保存ユーティリティ
216 アクティブ・マスタ・テーブル
218 サーバ連絡リスト
300 主バックアップ・デプロイメント・サーバ
302 インアクティブ管理リソース
304 インアクティブ・マスタ・テーブル
400 副デプロイメント・サーバ
500 サービス保存ユーティリティ
502 モニタ・モジュール
504 検出モジュール
506 置換モジュール
508 構成モジュール
510 複製モジュール
512 アクティブ化モジュール
514 昇格モジュール
516 ハートビート間隔
518 検証モジュール
520 更新モジュール
522 削除モジュール
524 確認モジュール
600 マスタ・テーブル・データ構造
602 マスタ・サーバID
604 主バックアップ・サーバID
606 次下流サーバID
608 総論理要素数
610 主バックアップ・サーバ状態
612 次下流サーバ状態
700 サーバ連絡リスト・データ構造
702 サーバ役割
704 マスタ・サーバID
706 上流サーバID
708 下流サーバID
800 メッセージ・パケット・データ構造
802 ソースID
804 宛先ID
806 ベンダ・オプション
900 サービス保存方法
902 マスタ・デプロイメント・サーバ200を指定する動作
904 主バックアップ・デプロイメント・サーバ300を指定する動作
906 副デプロイメント・サーバ400を指定する動作
908 アクティブ・マスタ・テーブル216、インアクティブ・マスタ・テーブル304、およびサーバ連絡リスト218を構成する動作
910 アクティブ・マスタ・テーブル216およびサーバ連絡リスト218を検証する動作
912 デプロイメント・サーバの論理分布を監視する動作
914 イベントが検出されたかどうかを判定する動作
916 検出されたイベントがマスタ・デプロイメント・サーバ200の故障であるかどうかを判定する動作
918 検出されたイベントが主バックアップ・デプロイメント・サーバ300の故障であるかどうかを判定する動作
920 主バックアップ・デプロイメント・サーバ300をマスタ・デプロイメント・サーバ200に昇格させる動作
922 マスタ・デプロイメント・サーバ200に昇格された主バックアップ・デプロイメント・サーバ300のインアクティブ管理リソース302をアクティブ化する動作
924 新しいマスタ・デプロイメント・サーバ200の下流の次の使用可能な副デプロイメント・サーバ400を新しい主バックアップ・デプロイメント・サーバ300にするために昇格させる動作
926 新しいマスタ・デプロイメント・サーバ200の管理リソースを新しい主バックアップ・デプロイメント・サーバ300に複製する動作
928 故障したデプロイメント・サーバのネットワーク・ブート・サービスを置換する動作
930 連絡リストの現在の内容を削除する動作
932 サーバ連絡リスト218の内容を更新する動作
934 サーバ連絡リスト218の内容を検証する動作
936 サーバ連絡リスト218の内容が正確であることを確認する動作
938 検出されたイベントが副デプロイメント・サーバ400の故障であるかどうかを判定する動作
940 検出されたイベントが副デプロイメント・サーバ400の挿入であるかどうかを判定する動作
942 必要に応じて挿入された副デプロイメント・サーバ400を昇格させる動作

Claims (20)

  1. 分散論理リンク・リストをアクティブに監視するように構成されたモニタ・モジュールと、
    前記モニタ・モジュールに結合され、分散論理リンク・リスト構成の変動を検出するように構成された検出モジュールと、
    前記検出モジュールと通信する、前記分散論理リンク・リストの故障した要素のネットワーク・ブート・サービスを置換するように構成された置換モジュールと
    を含む、高可用性ネットワーク・ブート・サービスを自律的に保つ装置。
  2. 前記モニタ・モジュールに結合された構成モジュールをさらに含み、前記構成モジュールが、前記分散論理リンク・リストを構成し、前記検出モジュールからの信号の受取に応答して前記分散論理リンク・リストを再構成するように構成される、請求項1に記載の装置。
  3. 前記構成モジュールに結合された検証モジュールをさらに含み、前記検証モジュールが、前記分散論理リンク・リストに関連するサーバ連絡リストまたはマスタ・テーブルの一方あるいはその両方を検証するように構成される、請求項2に記載の装置。
  4. 前記構成モジュールに結合された削除モジュールをさらに含み、前記削除モジュールが、前記分散論理リンク・リストに関連するサーバ連絡リストまたはマスタ・テーブルの一方あるいはその両方を削除するように構成される、請求項2に記載の装置。
  5. 前記構成モジュールに結合された更新モジュールをさらに含み、前記更新モジュールが、前記分散論理リンク・リストに関連するサーバ連絡リストまたはマスタ・テーブルの一方あるいはその両方を更新するように構成される、請求項2に記載の装置。
  6. 前記構成モジュールに結合された確認モジュールをさらに含み、前記確認モジュールが、前記分散論理リンク・リストに関連するサーバ連絡リストまたはマスタ・テーブルの一方あるいはその両方の変更を確認するように構成される、請求項2に記載の装置。
  7. 前記モニタ・モジュールに結合された複製モジュールをさらに含み、前記複製モジュールが、マスタ・デプロイメント・サーバに関連するアクティブ管理リソースを複製するように構成される、請求項1に記載の装置。
  8. アクティブ監視が、前記分散論理リンク・リストに関連するサーバ連絡リストまたはマスタ・テーブルの一方あるいはその両方を事前定義のハートビート間隔内に周期的に検証することを含む、請求項1に記載の装置。
  9. マスタ・デプロイメント・サーバに関連する管理機能をアクティブ化するか、デプロイメント・サーバに関連するネットワーク・ブート・サービスをアクティブ化するか、その両方を行うように構成されたアクティブ化モジュールをさらに含む、請求項1に記載の装置。
  10. 副デプロイメント・サーバを主バックアップ・デプロイメント・サーバに昇格させるか、主バックアップ・デプロイメント・サーバをマスタ・デプロイメント・サーバに昇格させるか、その両方を行うように構成された昇格モジュールをさらに含む、請求項1に記載の装置。
  11. ネットワーク・ブート・サーバのサービスを保つプロセスを管理するように構成されたマスタ・デプロイメント・サーバと、
    前記マスタ・デプロイメント・サーバに結合された、前記マスタ・デプロイメント・サーバの管理機能を複製するように構成された主バックアップ・デプロイメント・サーバと、
    前記主バックアップ・デプロイメント・サーバに結合され、複数の接続されたコンピュータ・クライアントにネットワーク・ブート・サービスを供給するように構成された副デプロイメント・サーバと、
    前記マスタ・デプロイメント・サーバと通信する、前記ネットワーク・ブート・サービスを保ち、分散論理リンク・リストを維持するために動作を自律的に処理するように構成されたサービス保存ユーティリティと
    を含む、高可用性ネットワーク・ブート・サービスを自律的に保つシステム。
  12. 前記サービス保存ユーティリティが、
    分散論理リンク・リストをアクティブに監視するように構成されたモニタ・モジュールと、
    前記モニタ・モジュールに結合され、分散論理リンク・リスト構成の変動を検出するように構成された検出モジュールと、
    前記検出モジュールと通信する、前記分散論理リンク・リストの故障した要素のネットワーク・ブート・サービスを置換するように構成された置換モジュールと
    を含む、請求項11に記載のシステム。
  13. 前記マスタ・デプロイメント・サーバ、前記主バックアップ・デプロイメント・サーバ、または前記副デプロイメント・サーバあるいはこれらの組合せが、
    マスタ・デプロイメント・サーバとしてのデプロイメント・サーバの昇格の除外を示すように構成された除外インジケータと、
    デプロイメント・サーバを分散論理リンク・リスト内でより上位またはより下位に置くための優先順位を示すように構成された優先順位インジケータと
    を含む、請求項11に記載のシステム。
  14. 前記マスタ・デプロイメント・サーバが、前記分散論理リンク・リストの現在の要素である全メンバを記録するように構成されたアクティブ・マスタ・テーブルを含む、請求項11に記載のシステム。
  15. 前記主バックアップ・デプロイメント・サーバが、前記アクティブ・マスタ・テーブルのすべての現在の要素を複製するように構成されたインアクティブ・マスタ・テーブルを含む、請求項14に記載のシステム。
  16. デプロイメント・サーバが、前記分散論理リンク・リスト上で前記デプロイメント・サーバのすぐ上流の要素およびすぐ下流の要素を記録するように構成されたサーバ連絡リストを含む、請求項11に記載のシステム。
  17. 高可用性ネットワーク・ブート・サービスを自律的に保つ動作を実行するためにディジタル処理装置によって実行可能な機械可読命令のプログラムであって、前記プログラムがコンピュータに、
    分散論理リンク・リストを自律的に監視することと、
    前記分散論理リンク・リストの変動を検出することと、
    前記分散論理リンク・リストの故障した要素を置換することと
    を機能させるプログラム。
  18. 前記プログラムが、さらに、コンピュータに前記分散論理リンク・リストを構成することと、検出モジュールからの信号の受取に応答して前記分散論理リンク・リストを再構成することとを機能させる、請求項17に記載のプログラム。
  19. 前記プログラムが、さらに、コンピュータにマスタ・デプロイメント・サーバに関連するアクティブ管理リソースを複製することを機能させる、請求項17に記載のプログラム。
  20. コンピューティング・インフラストラクチャを展開する方法であって、
    クライアント・ハードウェア構成が、
    複数のネットワーク・ブート・サーバの分散論理リンク・リストと、
    前記複数のネットワーク・ブート・サーバのサービスを保ち、前記分散論理リンク・リストに関連するマスタ・テーブルを維持するプロセスを管理するように構成されたマスタ・デプロイメント・サーバと、
    前記マスタ・デプロイメント・サーバのすべての管理機能を複製するように構成された主バックアップ・デプロイメント・サーバと、
    ネットワーク・ブート・サービスを複数の接続されたコンピュータ・クライアントに供給し、前記分散論理リンク・リストに関連するサーバ連絡リストを維持するように構成された副デプロイメント・サーバと
    を含むことを判定することと、
    分散論理リンク・リストを監視し、
    前記分散論理リンク・リストの変動を検出し、
    前記分散論理リンク・リストの故障した要素を置換する
    ように構成された、前記ハードウェア構成用のサービス保存プロセスを実行することと、
    無法者(rogue)サーバが前記分散論理リンク・リストにリンクし、接続するのを防ぎ、
    無法者サーバがシステム・ネットワークに接続されたクライアントにネットワーク・ブート・サービスを提供するのを防ぎ、
    無法者オペレーティング・システムまたは無法者イメージの前記システム・ネットワークへのブートを防ぐ
    ように構成されたセキュア高可用性デプロイメント管理ネットワークを提供するために前記システム・ネットワークをアップグレードすることと
    を含む、方法。
JP2006288198A 2005-12-29 2006-10-24 装置、システム、信号担持媒体、方法(高可用性ネットワーク・ブート・サービスを自律的に保つ装置、システム、および方法) Pending JP2007183918A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/321,613 US20070157016A1 (en) 2005-12-29 2005-12-29 Apparatus, system, and method for autonomously preserving high-availability network boot services

Publications (1)

Publication Number Publication Date
JP2007183918A true JP2007183918A (ja) 2007-07-19

Family

ID=38214668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006288198A Pending JP2007183918A (ja) 2005-12-29 2006-10-24 装置、システム、信号担持媒体、方法(高可用性ネットワーク・ブート・サービスを自律的に保つ装置、システム、および方法)

Country Status (4)

Country Link
US (1) US20070157016A1 (ja)
JP (1) JP2007183918A (ja)
CN (1) CN1992723A (ja)
TW (1) TW200737836A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266205A (ja) * 2008-02-22 2009-11-12 Huawei Technologies Co Ltd マルチ制御装置システムを修復する方法と装置
JP2010117978A (ja) * 2008-11-14 2010-05-27 Fudo Giken Industry Co Ltd シンクライアントシステム
US9335984B2 (en) 2010-10-05 2016-05-10 Fujitsu Limited Data transmission method, transmission-source information processing apparatus, data transmission system, and data transmission program

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0517585D0 (en) * 2005-08-30 2005-10-05 Ramakrishna Madhusudana Intuitive search which delivers fast results on the mobile phone
JP2007213292A (ja) * 2006-02-09 2007-08-23 Nec Electronics Corp マルチプロセッサシステム及びスレーブシステムの起動方法
US7546448B2 (en) * 2006-02-21 2009-06-09 Microsoft Corporation Boot architecture discovery in pre-boot environment
US7631175B2 (en) * 2006-02-21 2009-12-08 Microsoft Corporation Control protocol for image enumeration and transfer
US7574592B2 (en) * 2006-02-21 2009-08-11 Microsoft Corporation Approval process for booting devices in pre-boot execution environment (PXE)
US7631038B2 (en) * 2006-02-21 2009-12-08 Microsoft Corporation PXE server with multiple provider model
JP4470934B2 (ja) * 2006-10-20 2010-06-02 日本電気株式会社 プロキシ・サーバ、通信システム、通信方法及びプログラム
US20080172448A1 (en) * 2007-01-16 2008-07-17 Microsoft Corporation Packetized boot service broadcasting
US7882345B1 (en) * 2007-09-19 2011-02-01 Symantec Corporation System, method, and apparatus for processor detection in a pre-boot execution environment
US8713697B2 (en) 2008-07-09 2014-04-29 Lennox Manufacturing, Inc. Apparatus and method for storing event information for an HVAC system
US8527096B2 (en) 2008-10-24 2013-09-03 Lennox Industries Inc. Programmable controller and a user interface for same
US8548630B2 (en) 2008-10-27 2013-10-01 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8762666B2 (en) 2008-10-27 2014-06-24 Lennox Industries, Inc. Backup and restoration of operation control data in a heating, ventilation and air conditioning network
US8463442B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US9651925B2 (en) 2008-10-27 2017-05-16 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US8564400B2 (en) 2008-10-27 2013-10-22 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US9325517B2 (en) 2008-10-27 2016-04-26 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8463443B2 (en) 2008-10-27 2013-06-11 Lennox Industries, Inc. Memory recovery scheme and data structure in a heating, ventilation and air conditioning network
US8661165B2 (en) 2008-10-27 2014-02-25 Lennox Industries, Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US8615326B2 (en) 2008-10-27 2013-12-24 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8543243B2 (en) 2008-10-27 2013-09-24 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US9678486B2 (en) 2008-10-27 2017-06-13 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8774210B2 (en) 2008-10-27 2014-07-08 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8798796B2 (en) 2008-10-27 2014-08-05 Lennox Industries Inc. General control techniques in a heating, ventilation and air conditioning network
US8744629B2 (en) 2008-10-27 2014-06-03 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8437878B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US9632490B2 (en) 2008-10-27 2017-04-25 Lennox Industries Inc. System and method for zoning a distributed architecture heating, ventilation and air conditioning network
US9432208B2 (en) 2008-10-27 2016-08-30 Lennox Industries Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US8655491B2 (en) 2008-10-27 2014-02-18 Lennox Industries Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and air conditioning network
US8433446B2 (en) 2008-10-27 2013-04-30 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8788100B2 (en) 2008-10-27 2014-07-22 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US9268345B2 (en) 2008-10-27 2016-02-23 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8994539B2 (en) 2008-10-27 2015-03-31 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US8600559B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. Method of controlling equipment in a heating, ventilation and air conditioning network
US8437877B2 (en) 2008-10-27 2013-05-07 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8892797B2 (en) 2008-10-27 2014-11-18 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8442693B2 (en) 2008-10-27 2013-05-14 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8874815B2 (en) 2008-10-27 2014-10-28 Lennox Industries, Inc. Communication protocol system and method for a distributed architecture heating, ventilation and air conditioning network
US8452906B2 (en) 2008-10-27 2013-05-28 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8802981B2 (en) 2008-10-27 2014-08-12 Lennox Industries Inc. Flush wall mount thermostat and in-set mounting plate for a heating, ventilation and air conditioning system
US8255086B2 (en) * 2008-10-27 2012-08-28 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8977794B2 (en) 2008-10-27 2015-03-10 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8600558B2 (en) 2008-10-27 2013-12-03 Lennox Industries Inc. System recovery in a heating, ventilation and air conditioning network
US8855825B2 (en) 2008-10-27 2014-10-07 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8655490B2 (en) 2008-10-27 2014-02-18 Lennox Industries, Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8694164B2 (en) 2008-10-27 2014-04-08 Lennox Industries, Inc. Interactive user guidance interface for a heating, ventilation and air conditioning system
US8452456B2 (en) 2008-10-27 2013-05-28 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US8295981B2 (en) 2008-10-27 2012-10-23 Lennox Industries Inc. Device commissioning in a heating, ventilation and air conditioning network
US8560125B2 (en) 2008-10-27 2013-10-15 Lennox Industries Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8725298B2 (en) 2008-10-27 2014-05-13 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed architecture heating, ventilation and conditioning network
US8161142B2 (en) * 2009-10-26 2012-04-17 International Business Machines Corporation Addressing node failure during a hyperswap operation
EP2501149B1 (en) * 2011-02-22 2017-10-04 Telefonaktiebolaget LM Ericsson (publ) A method and a first network node of managing a SCCP connection
US20120303762A1 (en) * 2011-05-23 2012-11-29 Devon It, Inc. Zero Configuration Set-Up for Thin Client Computers
WO2013042078A1 (en) 2011-09-22 2013-03-28 International Business Machines Corporation Provisioning of resources
EP2939131A4 (en) * 2012-12-27 2016-08-17 Intel Corp RESERVATION AND EXECUTION RECORDING OF SYSTEM OWN COMPUTER DEVICES
US9411868B2 (en) * 2013-08-23 2016-08-09 Morgan Stanley & Co. Llc Passive real-time order state replication and recovery
US9537949B2 (en) * 2013-09-24 2017-01-03 Clearcube Technology, Inc. Computer system image clustering architecture and use
US9998323B2 (en) * 2014-09-25 2018-06-12 Bank Of America Corporation Datacenter configuration management tool
US9842042B2 (en) * 2014-09-25 2017-12-12 Bank Of America Corporation Datacenter management computing system
US10037329B2 (en) 2015-11-18 2018-07-31 American Express Travel Related Services Company, Inc. System and method for automatically capturing and recording lineage data for big data records
US10445324B2 (en) 2015-11-18 2019-10-15 American Express Travel Related Services Company, Inc. Systems and methods for tracking sensitive data in a big data environment
US10055471B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. Integrated big data interface for multiple storage types
US10169601B2 (en) 2015-11-18 2019-01-01 American Express Travel Related Services Company, Inc. System and method for reading and writing to big data storage formats
US10055444B2 (en) 2015-12-16 2018-08-21 American Express Travel Related Services Company, Inc. Systems and methods for access control over changing big data structures
JP6679303B2 (ja) * 2015-12-25 2020-04-15 Dynabook株式会社 電子機器、方法及びプログラム
US10157215B2 (en) 2016-01-13 2018-12-18 American Express Travel Related Services Company, Inc. System and method for managing data and updates to a database structure
US11295326B2 (en) 2017-01-31 2022-04-05 American Express Travel Related Services Company, Inc. Insights on a data platform
US10467019B2 (en) * 2017-11-22 2019-11-05 Hewlett Packard Enterprise Development Lp Serving images to server groups
CN108183835B (zh) * 2017-12-08 2021-05-07 中国航空工业集团公司成都飞机设计研究所 一种分布式系统军用1394总线数据完整性监控方法
US10740021B1 (en) * 2018-03-29 2020-08-11 Veritas Technologies Llc Systems and methods for recovery of computing environments via a replication solution
CN110769031B (zh) * 2019-09-17 2022-07-29 优刻得科技股份有限公司 一种数据获取方法及装置
US11411829B1 (en) * 2019-09-26 2022-08-09 Juniper Networks, Inc. Provisioning managed network nodes and/or managing network nodes
TWI801758B (zh) * 2020-09-30 2023-05-11 神雲科技股份有限公司 在網路控制器邊帶介面標準下控制連線的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0362235A (ja) * 1989-07-31 1991-03-18 Fujitsu Ltd 複合システムにおけるダウン監視処理方式
JPH10247911A (ja) * 1997-03-05 1998-09-14 Mitsubishi Electric Corp マルチサーバ構成におけるシステム監視情報管理装置及びマルチサーバ構成におけるシステム監視情報管理方法
JP2001154751A (ja) * 1999-11-25 2001-06-08 Fujitsu Ltd ブートサーバ選択システム
JP2004341746A (ja) * 2003-05-14 2004-12-02 Toyota Infotechnology Center Co Ltd ブート・サーバ・アドレス検索方法、システム、プログラムおよび記録媒体
JP2005056347A (ja) * 2003-08-07 2005-03-03 Fujitsu Ltd サーバ機能引継方法およびサーバ機能引継プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835481A (en) * 1996-08-28 1998-11-10 Akyol; Cihangir M. Fault tolerant lane system
US6477648B1 (en) * 1997-03-23 2002-11-05 Novell, Inc. Trusted workstation in a networked client/server computing system
US6178529B1 (en) * 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6421777B1 (en) * 1999-04-26 2002-07-16 International Business Machines Corporation Method and apparatus for managing boot images in a distributed data processing system
US8612553B2 (en) * 2000-01-14 2013-12-17 Microsoft Corporation Method and system for dynamically purposing a computing device
US6854072B1 (en) * 2000-10-17 2005-02-08 Continuous Computing Corporation High availability file server for providing transparent access to all data before and after component failover
US7363374B2 (en) * 2001-04-27 2008-04-22 International Business Machines Corporation Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers
GB0112781D0 (en) * 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US8126959B2 (en) * 2001-06-28 2012-02-28 International Business Machines Corporation Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers
EP1283464A1 (en) * 2001-08-06 2003-02-12 Hewlett-Packard Company A boot process for a computer, a boot ROM and a computer having a boot ROM
US7035933B2 (en) * 2001-09-13 2006-04-25 Network Foundation Technologies, Inc. System of distributing content data over a computer network and method of arranging nodes for distribution of data over a computer network
US6950855B2 (en) * 2002-01-18 2005-09-27 International Business Machines Corporation Master node selection in clustered node configurations
US7415519B2 (en) * 2002-06-28 2008-08-19 Lenovo (Singapore) Pte. Ltd. System and method for prevention of boot storms in a computer network
US20040193867A1 (en) * 2003-03-31 2004-09-30 Zimmer Vincent J Configurabel network boot management for hetergenous boot options
US7114068B2 (en) * 2003-10-31 2006-09-26 International Business Machines Corporation Method and system for restricting PXE servers
CA2547630A1 (en) * 2003-11-26 2005-06-16 Hewlett-Packard Development Company, L.P. System and method for management and installation of operating system images for computers
US7668939B2 (en) * 2003-12-19 2010-02-23 Microsoft Corporation Routing of resource information in a network
US7603362B2 (en) * 2004-08-20 2009-10-13 Microsoft Corporation Ordered list management
US9319282B2 (en) * 2005-02-28 2016-04-19 Microsoft Technology Licensing, Llc Discovering and monitoring server clusters
JP4701929B2 (ja) * 2005-09-02 2011-06-15 株式会社日立製作所 ブート構成変更方法、管理サーバ、及び計算機システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0362235A (ja) * 1989-07-31 1991-03-18 Fujitsu Ltd 複合システムにおけるダウン監視処理方式
JPH10247911A (ja) * 1997-03-05 1998-09-14 Mitsubishi Electric Corp マルチサーバ構成におけるシステム監視情報管理装置及びマルチサーバ構成におけるシステム監視情報管理方法
JP2001154751A (ja) * 1999-11-25 2001-06-08 Fujitsu Ltd ブートサーバ選択システム
JP2004341746A (ja) * 2003-05-14 2004-12-02 Toyota Infotechnology Center Co Ltd ブート・サーバ・アドレス検索方法、システム、プログラムおよび記録媒体
JP2005056347A (ja) * 2003-08-07 2005-03-03 Fujitsu Ltd サーバ機能引継方法およびサーバ機能引継プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266205A (ja) * 2008-02-22 2009-11-12 Huawei Technologies Co Ltd マルチ制御装置システムを修復する方法と装置
JP2010117978A (ja) * 2008-11-14 2010-05-27 Fudo Giken Industry Co Ltd シンクライアントシステム
US9335984B2 (en) 2010-10-05 2016-05-10 Fujitsu Limited Data transmission method, transmission-source information processing apparatus, data transmission system, and data transmission program

Also Published As

Publication number Publication date
TW200737836A (en) 2007-10-01
CN1992723A (zh) 2007-07-04
US20070157016A1 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
JP2007183918A (ja) 装置、システム、信号担持媒体、方法(高可用性ネットワーク・ブート・サービスを自律的に保つ装置、システム、および方法)
CN106716360B (zh) 支持多租户应用服务器环境中的补丁修补的系统和方法
US11880679B2 (en) System and method for supporting patching in a multitenant application server environment
US8332496B2 (en) Provisioning of operating environments on a server in a networked environment
US9195451B2 (en) Server system and update method thereof
US6944854B2 (en) Method and apparatus for updating new versions of firmware in the background
US20090144720A1 (en) Cluster software upgrades
US9930112B2 (en) Maintaining system firmware images remotely using a distribute file system protocol
JP2005084963A (ja) ファイル共有装置及びファイル共有装置間のデータ移行方法
US20180188969A1 (en) Server Management Method and Server
TWI514279B (zh) 伺服器系統與韌體更新方法
US20180019923A1 (en) System and method for managing distributed cluster identity
US20240103846A1 (en) Systems and methods for coordinated firmware update using multiple remote access controllers
TWI709036B (zh) 回復基本輸入輸出系統組態參數的方法及伺服系統
US11507383B2 (en) Configurable boot paths
US20230273799A1 (en) Storage system with boot volume rollback points
US20240104143A1 (en) Methods and apparatus to store cluster information in a distributed datastore

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120703