(57)【要約】      （修正有）【課題】ＢＩＯＳセットアップオプションを自動的に更新するシステム及び方法を提供する。【解決手段】ノードの特定のコントローラにおいて、ＢＩＯＳセットアップオプションを更新するコマンドを受信する工程と、特定のコントローラの内部フラグをチェックして、特定のコントローラがマスタであるか否かを判断する工程と、特定のコントローラがマスタでもスレーブでもない場合に、マスタ要求をＶＬＡＮに送信する工程と、所定期間内に応答を受信したか否かを判断する工程と、応答を受信しない場合に、特定のコントローラの内部フラグをマスタに設定する工程と、相手先ブランド製造(ＯＥＭ)完了応答を送信する工程と、を有する。【選択図】図２Ａ
2018142296.tif 000002
【特許請求の範囲】
【請求項１】
仮想ローカルエリアネットワーク(ＶＬＡＮ)内の複数のノード間で基本入出力システム(ＢＩＯＳ)セットアップオプションを自動的に送信するコンピュータ実施方法であって、
前記複数のノードのうち何れかのノードの特定のコントローラにて、前記ノードでＢＩＯＳセットアップオプションを更新するためのコマンドを受信する工程と、
前記特定のコントローラの内部フラグに基づいて、前記特定のコントローラがマスタでもスレーブでもないことを判断する工程と、
マスタ要求を前記ＶＬＡＮに送信する工程と、
前記マスタ要求に対する応答を所定期間内に受信していないことを判断する工程と、
前記特定のコントローラの前記内部フラグを前記マスタに設定する工程と、
前記特定のコントローラが前記マスタであって、前記ノードで更新されたＢＩＯＳセットアップオプションを前記ＶＬＡＮに送信することができることを示すために第１完了応答を送信する工程と、
を有することを特徴とするコンピュータ実施方法。
【請求項２】
前記更新されたＢＩＯＳセットアップオプションを前記ノードに記憶する工程と、
前記ノードをリセットする前にシステムマネジメント割り込み(ＳＭＩ)をトリガする工程と、
ＢＩＯＳセットアップオプションの変数をＳＭＩハンドラに取得させ、前記変数を前記特定のコントローラに送信する工程と、
を有することを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記内部フラグに基づいて、前記特定のコントローラが前記マスタであると判断する工程と、
前記更新されたＢＩＯＳセットアップオプションを前記ＶＬＡＮに送信する工程と、
前記特定のコントローラの前記内部フラグをｎｏｎｅに設定する工程と、
前記更新されたＢＩＯＳセットアップオプションが既に送信されたことを示すために第２完了応答を送信する工程と、
前記ノードをリセットする工程と、
を有することを特徴とする請求項２に記載のコンピュータ実施方法。
【請求項４】
前記特定のコントローラが前記マスタであると判断する工程と、
前記特定のコントローラが既に前記マスタであって、前記ノードで更新されたＢＩＯＳセットアップオプションを前記ＶＬＡＮに送信することができることを示すために第３完了応答を送信する工程と、
を有することを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項５】
前記特定のコントローラが前記スレーブであると判断する工程と、
前記特定のコントローラが前記スレーブであって、前記更新されたＢＩＯＳセットアップオプションを未だ送信できないことを示すために第４完了応答を送信する工程と、
を有することを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項６】
少なくとも１つの前記マスタ要求に対する応答を前記所定期間内に受信したと判断する工程と、
前記特定のコントローラの前記内部フラグを前記スレーブに設定する工程と、
前記特定のコントローラが前記スレーブであって、前記更新されたＢＩＯＳセットアップオプションを未だ送信できないことを示すために第５完了応答を送信する工程と、
を有することを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項７】
サーバシステムであって、
プロセッサと、
命令を記憶するコンピュータ可読媒体と、を備え、
前記命令は、前記プロセッサにより実行されると、
仮想ローカルエリアネットワーク(ＶＬＡＮ)内の複数のノードのうち何れかのノードの特定のコントローラにて、前記ノードでＢＩＯＳセットアップオプションを更新するためのコマンドを受信する工程と、
前記特定のコントローラの内部フラグに基づいて、前記特定のコントローラがマスタでもスレーブでもないことを判断する工程と、
マスタ要求を前記ＶＬＡＮに送信する工程と、
前記マスタ要求に対する応答を所定期間内に受信していないことを判断する工程と、
前記特定のコントローラの前記内部フラグを前記マスタに設定する工程と、
前記特定のコントローラーが前記マスタであって、前記ノードで更新されたＢＩＯＳセットアップオプションを前記ＶＬＡＮに送信することができることを示すために第１完了応答を送信する工程と、
を前記サーバシステムに実行させる、
ことを特徴とするサーバシステム。
【請求項８】
前記命令は、前記プロセッサにより実行されると、
前記更新されたＢＩＯＳセットアップオプションを前記ノードに記憶する工程と、
前記ノードをリセットする前にシステムマネジメント割り込み(ＳＭＩ)をトリガする工程と、
ＢＩＯＳセットアップオプションの変数をＳＭＩハンドラに取得させ、前記変数を前記特定のコントローラに送信する工程と、
を前記サーバシステムに実行させる、
ことを特徴とする請求項７に記載のサーバシステム。
【請求項９】
前記命令は、前記プロセッサにより実行されると、
前記内部フラグに基づいて、前記特定のコントローラが前記マスタであることを判断する工程と、
前記更新されたＢＩＯＳセットアップオプションを前記ＶＬＡＮに送信する工程と、
前記特定のコントローラの前記内部フラグをｎｏｎｅに設定する工程と、
前記更新されたＢＩＯＳセットアップオプションが既に送信されたことを示すために第２完了応答を送信する工程と、
前記ノードをリセットする工程と、
を前記サーバシステムに実行させる、
ことを特徴とする請求項８に記載のサーバシステム。
【請求項１０】
前記命令は、前記プロセッサにより実行されると、
少なくとも１つの前記マスタ要求に対する応答を前記所定期間内に受信したと判断する工程と、
前記特定のコントローラの前記内部フラグを前記スレーブに設定する工程と、
前記特定のコントローラが前記スレーブであって、前記更新されたＢＩＯＳセットアップオプションを未だ送信できないことを示すために第５完了応答を送信する工程と、
を前記サーバシステムに実行させる、
ことを特徴とする請求項７に記載のサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピューティングシステムにおけるシステム構成更新に関するものである。
【背景技術】
【０００２】
現在のサーバファーム又はデータセンタは、一般に、各種アプリケーションサービスに必要な演算及びストレージを処理する大量のサーバシステムを採用している。各サーバは、通常の操作をサポートするために、基本入出力システム（ＢＩＯＳ）を必要とする。ＢＩＯＳは、サーバのコンピューティングコンポーネントが正常に動作するのを保証するファームウェアである。ＢＩＯＳは、サーバが最初に起動するときに実行されるファームウェアを、ＢＩＯＳに指定された一組の設定とともに記憶する。ＢＩＯＳは、通常、サーバシステム内のハードウェアを認識、初期化及びテストする。
【０００３】
ＢＩＯＳ設定は、サーバシステムが適切に機能するのを保証するために、時々更新される必要がある。例えば、異なる配置テストをサポートするために、異なるＢＩＯＳ設定が必要とされる。しかし、データセンタ内の大量のサーバシステムが、同じＢＩＯＳ設定を有する可能性がある。オペレータは、サーバのグループの設定を逐一変更しなければならない。かかる処理は、面倒であって、時間がかかる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の各種実施形態によるシステム及び方法は、管理者又はコントローラが、サーバシステム上で、ＢＩＯＳセットアップオプションを更新できるようにし、その後、ベースボード管理コントローラ（ＢＭＣ）仮想ローカルエリアネットワーク（ＶＬＡＮ）において、別のサーバシステム上で、ＢＩＯＳセットアップオプションを自動的に更新することによって、上述した問題に対する解決手段を提供する。同一のＢＭＣ  ＶＬＡＮ内のＢＩＯＳセットアップオプションを自動的に更新するのを可能にすることにより、本発明は、フレキシブルで、効率的で、自動化されたＢＩＯＳ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一実施形態によれば、ＢＩＯＳセットアップオプションを自動的に更新するコンピュータ実施方法は、ノードの特定のコントローラにて、ＢＩＯＳセットアップオプションを更新するためのコマンドを受信する工程と、特定のコントローラの内部フラグをチェックすることによって、特定のコントローラがマスタであるか否かを判断する工程と、特定のコントローラがマスタでもスレーブでもない場合に、マスタ要求をＶＬＡＮに送信する工程と、所定期間内に応答を受信したか否かを判断する工程と、応答を受信しない場合に、特定のコントローラの内部フラグをマスタとして設定する工程と、ＯＥＭ完了応答を送信する工程と、を含む。
【０００６】
いくつかの構成において、コマンドは、ＯＥＭインテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）コマンドであって、特定のコントローラを、対応するノードのＢＩＯＳセットアップオプションの変更をＶＬＡＮに送信する特権を有するマスタとして指定する。いくつかの構成において、特定のコントローラは、ユニファイドエクステンシブルファームウェアインタフェース（ＵＥＦＩ）シェルインタフェースを介してコマンドを受信して、ＢＩＯＳセットアップオプションを更新する。
【０００７】
本発明の一実施形態によれば、ＢＩＯＳセットアップオプションを自動的に更新するコンピュータ実施方法は、更新されたセットアップオプションを、ＶＬＡＮ内のノードの特定のコントローラに記憶する工程と、ノードをリセットする前にＢＩＯＳ  ＳＭＩ機能をトリガする工程と、ＢＩＯＳセットアップオプションの変数をシステムマネジメント割り込み（ＳＭＩ）ハンドラに取得させ、当該変数を特定のコントローラに送る工程と、特定のコントローラの内部フラグをチェックすることによって、特定のコントローラがマスタであるか否かを判断する工程と、特定のコントローラがマスタである場合に、更新されたセットアップオプションをＶＬＡＮに送信する工程と、送信完了後に特定のコントローラの内部フラグをｎｏｎｅに設定する工程と、ＯＥＭ完了応答をＳＭＩハンドラに送信する工程と、を含む。
【０００８】
いくつかの構成において、ＢＩＯＳセットアップオプションの変数は、ＵＥＦＩ変数を有する。かかる変数は、ＩＰＭＩプロトコルによって、ＳＭＩハンドラから特定のコントローラに伝送される。
【０００９】
本発明の一実施形態によれば、システム内のＢＩＯＳセットアップオプションを自動的に更新するコンピュータ実施方法は、ノードをオンにする工程と、ノードの特定のコントローラにて、更新されたセットアップオプションをシステムのマスタコントローラから受信する工程と、更新されたＢＩＯＳセットアップオプションを用いて、ノードに存在するＢＩＯＳセットアップオプションを上書きする工程と、ノード上でパワーオンセルフテスト（ＰＯＳＴ）を続行する工程と、を含む。いくつかの構成において、ノードの特定のコントローラは、ＩＰＭＩプロトコルを介して、更新されたセットアップオプションをマスタコントローラから受信することができる。
【００１０】
本発明の別の実施形態によれば、命令を記憶する非一時的コンピュータ可読記憶媒体が提供される。この命令は、プロセッサにより実行されると、ノードの特定のコントローラにて、コマンドを受信して、ＢＩＯＳセットアップオプションを更新することと、特定のコントローラの内部フラグをチェックすることによって、特定のコントローラがマスタであるか否かを判断することと、特定のコントローラがマスタでもスレーブでもない場合に、マスタ要求をＶＬＡＮに送信することと、所定期間内に応答を受信したか否かを判断することと、応答を受信しない場合に、特定のコントローラの内部フラグをマスタとして設定することと、ＯＥＭ完了応答を送信することと、を含む動作をプロセッサに実行させる。
【００１１】
いくつかの構成によれば、ＶＬＡＮ内のノードの特定のコントローラーは、ベースボード管理コントローラ（ＢＭＣ）である。ノード内のストレージデバイスは、特定のコントローラ及びノード上の中央処理装置（ＣＰＵ）によってアクセスされるように構成され得る。ストレージデバイスは、プログラム命令又はデータを一定期間記憶する任意のストレージ媒体である。ストレージデバイスは、サービスコントローラとＣＰＵとの間の共有メモリであってもよい。いくつかの例によれば、ストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ（ＲＡＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）又はメールボックスレジスタであってもよい。
【００１２】
ここで、多くの実施形態では、ノード内の特定のコントローラを使用しているが、これらは単なる例示であって、本発明はこれらに限定されないことを理解されたい。メインＣＰＵから独立した任意のサービスコントローラを用いて、ＢＩＯＳセットアップオプションをＶＬＡＮに送信してもよい。
【００１３】
また、本発明は、異なる装置／コンポーネント間でＢＩＯＳセットアップオプションを共有するための例示的なアプローチとして、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）を用いているが、本発明は、ここに記載されるデータ送信を処理する別のプロトコルを適用可能である。
【００１４】
本開示のさらなる特徴及び利点は、以下の説明に記載され、その説明から部分的に明らかになり、又は、本明細書に開示された原則の実施によって理解され得る。本開示の特徴及び利点は、添付の特許請求の範囲で特に指摘された機器及び組み合わせによって実現及び取得することができる。本開示のこれら及び他の特徴は、以下の説明及び添付の特許請求の範囲からより完全に明らかになるか、又は、本明細書に記載された原則の実施によって知ることができる。
【００１５】
本発明の上述した利点及び特徴、並びに、他の利点及び特徴を得ることができる方法を説明するために、上で簡潔に説明した原理のより具体的な説明を、添付の図面で示される具体的な実施形態を参照して行う。これらの図面は、本発明の例示的な態様のみを示すものであり、本発明を限定するものではないことを理解すべきである。本発明の原理は、添付の図面の使用を通じて付加された特徴及び詳細によって記載され、説明される。
【図面の簡単な説明】
【００１６】
【図１Ａ】本発明の一実施形態による、ＢＩＯＳセットアップオプションを自動的に送信する、ＶＬＡＮ内の例示的なシステムを説明するブロック図である。
【図１Ｂ】本発明の一実施形態による、ＢＩＯＳセットアップオプションを自動的に送信するように構成された例示的なシステムのブロック図である。
【図２Ａ】本発明の一実施形態よる、ＢＩＯＳセットアップオプションを自動的に送信する例示的な方法を示す図である。
【図２Ｂ】本発明の一実施形態よる、ＢＩＯＳセットアップオプションを自動的に送信する例示的な方法を示す図である。
【図２Ｃ】本発明の一実施形態よる、ＢＩＯＳセットアップオプションを自動的に送信する例示的な方法を示す図である。
【図３】本発明の各種実施形態による例示的なコンピューティングデバイスを示す図である。
【図４】本発明の各種実施形態による例示的なシステムを示す図である。
【図５】本発明の各種実施形態による例示的なシステムを示す図である。
【発明を実施するための形態】
【００１７】
本発明の各種実施形態は、管理者又はコントローラがサーバシステム上のＢＩＯＳセットアップオプションを更新し、その後、ベースボード管理コントローラ（ＢＭＣ）仮想ローカルエリアネットワーク（ＶＬＡＮ）において、別のサーバシステム上でＢＩＯＳセットアップオプションを自動的に更新することを可能にするシステム及び方法を提供する。本発明は、ＢＭＣ  ＶＬＡＮが、フレキシブルで、効率的で、自動化されたＢＩＯＳ管理を実現することを可能にする。
【００１８】
図１Ａは、本発明の一実施形態による、ＢＩＯＳセットアップオプションを自動的に送信する、ＶＬＡＮ１００Ａ内の例示的なシステムを示すブロック図である。この例において、ＶＬＡＮ１００Ａは、複数のサーバシステム（例えば、１０２，１０３）と、ネットワーク１０１とを有する。複数のサーバシステムは、任意の形式のデータを計算及び処理するように動作可能な任意のコンピューティングデバイスを有してもよい。例えば、複数のサーバシステムは、パーソナルコンピュータ、ネットワークストレージデバイス又はネットワークコンピューティングデバイスを有してもよい。複数のサーバシステム（例えば、１０２，１０３）は、ネットワーク１０１を介して互いに通信することができる。
【００１９】
各サーバシステムは、複数のコンポーネントを有する。例えば、サーバシステム１０２は、ＢＭＣ１０２−１と、プロセッサ１０２−２と、ＢＩＯＳ１０２−３と、ストレージデバイス１０２−４と、を有する。サーバシステム１０３は、ＢＭＣ１０３−１と、プロセッサ１０３−２と、ＢＩＯＳ１０３−３と、ストレージデバイス１０３−４と、を有する。
【００２０】
この例において、ＶＬＡＮ１００Ａ内のＢＭＣ（例えば、１０２−１及び１０３−１）は、ネットワーク１０１を介して互いに通信可能である。ＢＭＣ（例えば、１０２−１及び１０３−１）は、同じサーバシステム上の対応するプロセッサ（例えば、１０２−２及び１０３−２）、並びに、対応するストレージデバイス（例えば、１０２−４及び１０３−４）と、システムバス（例えば、インテリジェントプラットフォーム管理バス／ブリッジ（ＩＰＭＢ））を用いたインテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）メッセージを介して通信する。ＩＰＭＢは、ＩＣ間バス（Ｉ２Ｃ）の拡張実装であり、メッセージベースのハードウェアレベルの基本インタフェース仕様である。ＩＰＭＢは、信頼できる内部通信を目的としているため、認証不要である。この例では、ＢＭＣが図示されているが、メイン中央処理装置（例えば、ラック管理コントローラ）から独立した別のタイプのサービスコントローラを用いて、ここで開示される機能を実行することができる。
【００２１】
いくつかの構成において、ＶＬＡＮ１００Ａ内のＢＭＣ（例えば、１０２−１及び１０３−１）は、対応するサーバシステムがオフになると、帯域外で互いに通信することができる。例えば、ＢＭＣ（例えば、１０２−１及び１０３−１）は、ローカルエリアネットワーク（ＬＡＮ）を介して、ＩＰＭＩに用いるリモート管理制御プロトコル（ＲＭＣＰ）又はＲＭＣＰ＋を使用して、帯域外で互いに通信することができる。
【００２２】
ＢＩＯＳ（例えば、１０２−３及び１０３−３）は、対応するサーバシステム（例えば、１０２，１０３）の各種コンポーネントを初期化及び識別するように構成された任意のプログラム命令又はファームウェアであり得る。ＢＩＯＳは、対応するサーバシステムのハードウェアコンポーネントの初期化及びテストを担当する重要なシステムコンポーネントである。ＢＩＯＳは、ハードウェアコンポーネントに抽象化レイヤを提供することができ、これにより、アプリケーション及びオペレーティングシステムが、周辺装置（例えば、キーパッド、ディスプレイ及び他の入力／出力装置等）と相互作用する一貫した方法を提供する。
【００２３】
いくつかの構成において、ＢＩＯＳ（例えば、１０２−３及び１０３−３）は、対応するサーバシステム上でオペレーティングシステム（ＯＳ）（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  ＯＳ、Ｌｉｎｕｘ（登録商標）  ＯＳ又は任意のＯＳ）を起動する前に、システムチェックを実行することができる。システムチェックは、対応するサーバシステムの初期化中に実行される診断システム試験である。システムチェックの例には、パワーオンセルフテスト（ＰＯＳＴ）が含まれる。ＢＩＯＳは、ＰＯＳＴの主要な機能を処理することができ、特定の周辺装置（例えば、ビデオ及びスモールコンピュータシステムインタフェース（ＳＣＳＩ）の初期化）を初期化するように設計された他のプログラムへの負荷を低減することができる。ＰＯＳＴの主要な機能には、ＣＰＵレジスタとＢＩＯＳコードの整合性を確認することと、基本コンポーネントをチェックすることと、システムメインメモリを検査することと、他の特殊なＢＩＯＳ拡張機能に制御渡すことと、が含まれてもよい。いくつかの構成において、ＢＩＯＳは、さらに、全てのシステムバス及び装置の発見、初期化、分類化と、システムの構成を更新するためのユーザインタフェースの提供と、オペレーティングシステムにより要求されるシステム環境の構築と、を含む追加のＰＯＳＴ機能を処理してもよい。
【００２４】
ＶＬＡＮ１００Ａ内のＢＩＯＳ（例えば、１０２−３及び１０３−３）は、かなりの頻度で更新される必要がある。例えば、ＢＩＯＳの製造者によりリリースされた新たなＢＩＯＳ機能を利用したり、新たに追加されたハードウェアを操作したり、ＢＩＯＳで検出されたバグを修正したりするために、ＢＩＯＳが更新されてもよい。
【００２５】
システム１００Ａにおいて、ＢＩＯＳセットアップオプションは、ＶＬＡＮ１００Ａ内の複数のサーバシステムの特定のサーバシステム上のＢＩＯＳセットアップ機能を用いて更新又は変更され得る。更新されたＢＩＯＳセットアップオプションは、対応するストレージデバイス（例えば、１０２−４及び１０３−４）に保存され得る。特定のサーバシステムでＢＩＯＳセットアップ機能を終了すると、システムリセットの前にＢＩＯＳ  ＳＭＩ機能がトリガされる。ＳＭＩハンドラ（図示省略）は、ＢＩＯＳセットアップオプションの変数（例えば、ＵＥＦＩ変数）を取得し、ＩＰＭＩプロトコルを介して当該変数を特定のサーバシステムのＢＭＣ（例えば、１０２−１及び１０３−１）に送ることができる。特定のサーバシステムのＢＭＣは、ＢＭＣの内部フラグをチェックして、ＢＭＣが、更新されたＢＩＯＳセットアップオプションをＶＬＡＮ１００Ａに送信する特権を有するマスタであるか否かを判断することができる。ＢＭＣがマスタである場合、ＢＭＣは、更新されたＢＩＯＳセットアップオプションをＶＬＡＮ１００Ａに送信することができる。その後、ＢＭＣは、内部フラグをｎｏｎｅにリセットして、特定のサーバシステムをリセットすることができる。
【００２６】
システム１００Ａにおいて、ストレージデバイス（例えば、１０２−４及び１０３−４）は、一定期間のプログラム命令又はデータを記憶するように構成された任意の記憶媒体であってもよい。ストレージデバイスは、対応するＢＭＣ（例えば、１０２−１及び１０３−１）とプロセッサ（例えば、１０２−２及び１０３−２）との間の共有メモリであってもよい。いくつかの構成において、ストレージデバイスは、独立したストレージデバイスであってもよい。ストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ（ＲＡＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、読み取り専用メモリ、又は、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）であってもよい。ストレージデバイスは、例えばＢＩＯＳデータ等のシステム構成を記憶するように構成されている。
【００２７】
プロセッサ（例えば、１０２−２及び１０３−２）は、特定の機能のプログラム命令を実行するように構成された中央処理装置（ＣＰＵ）であってもよい。例えば、ブートプロセスの間、プロセッサは、対応するストレージデバイス（例えば、１０２−４及び１０３−４）に記憶されたＢＩＯＳデータにアクセスし、ＢＩＯＳ（例えば、１０２−３及び１０３−３）を実行して、対応するサーバシステムを初期化することができる。ブートプロセスの後に、プロセッサは、オペレーティングシステムを実行して、対応するサーバシステムの特定のタスクを実行及び管理することができる。
【００２８】
ＢＭＣ（例えば、１０２−１及び１０３−１）は、更新されたＢＩＯＳセットアップオプションをＶＬＡＮ１００Ａ内の別のＢＭＣから受信すると、更新されたＢＩＯＳセットアップオプションを、対応するストレージデバイス（例えば、１０２−４及び１０３−４）に記憶することができる。いくつかの構成において、更新されたＢＩＯＳセットアップオプションは、ＩＰＭＩメッセージを介して、ＢＭＣから対応するストレージデバイスに送信される。いくつかの構成において、ＢＭＣは、対応するＢＩＯＳ（例えば、１０２−３及び１０３−３）のＢＩＯＳセットアップオプションを、更新されたＢＩＯＳセットアップオプションに置き換えることができる。
【００２９】
特定のサーバシステム（例えば、１０２，１０３）がオン又はリセットされると、対応するプロセッサ（例えば、１０２−２及び１０３−２）は、対応するストレージデバイス（例えば、１０２−４及び１０３−４）に記憶された、更新されたＢＩＯＳセットアップオプションにアクセスし、更新されたＢＩＯＳセットアップオプションを実行して、特定のサーバシステムを初期化することができる。いくつかの構成において、プロセッサは、システムインタフェース（例えば、Ｉ２Ｃ）を介して、更新されたＢＩＯＳセットアップオプションにアクセスする。ブートプロセスの後に、プロセッサは、オペレーションシステムを実行して、特定のサーバシステムの特定のタスクを実行及び管理することができる。さらに、プロセッサは、更新されたＢＩＯＳセットアップオプションに関連する少なくとも１つの新たな機能を実行することができる。例えば、更新されたＢＩＯＳセットアップオプションは、以前のＢＩＯＳ（例えば、１０２−３及び１０３−３）内のバグの修正を含んでもよい。
【００３０】
図１Ｂは、本発明の実施形態による、ＢＩＯＳセットアップオプションを自動的に送信するように構成された例示的なシステム１００Ｂのブロック図である。この例において、サーバシステム１００Ｂは、少なくとも１つのマイクロプロセッサ又はプロセッサ１０２−２と、１つ以上の冷却コンポーネント１１０と、メインメモリ（ＭＥＭ）１０２−４と、ＡＣ電源１０５からＡＣ電力を受け、電力をサーバシステム１００Ｂの各種コンポーネント（例えば、プロセッサ１０２−２等）に供給する少なくとも１つの電源ユニット（ＰＳＵ）１０４と、ノースブリッジ（ＮＢ）ロジック１０６と、ＰＣＩｅスロット１６０と、サウスブリッジ（ＳＢ）ロジック１０８と、ストレージデバイス１０９と、ＩＳＡスロット１５０と、ＰＣＩスロット１７０と、管理装置１０２−１と、を有する。電源投入後、サーバシステム１００Ｂは、メモリ、コンピュータストレージデバイス又は外部ストレージデバイスからソフトウェアアプリケーションをロードして各種動作を実行するように構成されている。ストレージデバイス１０９は、サーバシステム１００Ｂのオペレーティングシステム及びアプリケーションに使用可能な論理ブロックであって、サーバシステム１００Ｂがオフの場合であってもサーバデータを保有するように構成された論理ブロックで構成されている。
【００３１】
メモリ１０２−４は、ＮＢロジック１０６を介してプロセッサ１０２−２に接続され得る。メモリ１０２−４は、これに限定されないが、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲ  ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、又は、他のタイプの適切なメモリを有する。メモリ１０２−４は、サーバシステム１００ＢのＢＩＯＳデータを記憶するように構成されてもよい。いくつかの構成において、ＢＩＯＳデータは、ストレージデバイス１０９に記憶されてもよい。
【００３２】
いくつかの構成において、プロセッサ１０２−２は、マルチコアプロセッサであり、それぞれ、ＮＢロジック１０６に接続されたＣＰＵバスを介して互いに接続されたマルチコアプロセッサであってもよい。いくつかの構成において、ＮＢロジック１０６は、プロセッサ１０２−２に組み込まれてもよい。さらに、ＮＢロジック１０６は、複数の周辺コンポーネント相互接続エキスプレス（ＰＣＩｅ）スロット１６０及びＳＢロジック１０８（任意）に接続されてもよい。複数のＰＣＩｅスロット１６０は、例えばＰＣＩ  Ｅｘｐｒｅｓｓ  ｘ１、ＵＳＢ２.０、ＳＭＢｕｓ、ＳＩＭカード、別のＰＣＩｅレーン用の将来の拡張、１．５Ｖ及び３．３Ｖの電力、並びに、サーバシステム１００Ｂのシャーシ上のＬＥＤを診断するワイヤ等の接続及びバスに用いられる。
【００３３】
システム１００Ｂにおいて、ＮＢロジック１０６及びＳＢロジック１０８は、周辺コンポーネント相互接続（ＰＣＩ）バス１０７によって接続されている。ＰＣＩバス１０７は、プロセッサ１０２−２の標準化フォーマットの機能をサポートすることができ、この標準化フォーマットは、任意のプロセッサ１０２−２のネイティブバスから独立している。ＰＣＩバス１０７は、さらに、複数のＰＣＩスロット１６０（例えば、ＰＣＩスロット１６１）に接続されてもよい。ＰＣＩバス１０７に接続された装置は、ＣＰＵバスに直接接続され、プロセッサ１０２−２のアドレス空間内のアドレスが割り当てられ、単一のバスクロックに同期されたバスコントローラ（図示省略）であってもよい。ＰＣＩカードは、これらに限定されないが、ネットワークインタフェースカード（ＮＩＣ）、音声カード、モデム、ＴＶチューナカード、ディスクコントローラ、ビデオカード、小型コンピュータシステムインタフェース（ＳＣＳＩ）アダプタ、及び、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）カードを含む複数のＰＣＩスロット１７０に用いられてもよい。
【００３４】
ＳＢロジック１０８は、拡張バスを介して、ＰＣＩバス１０７を複数の拡張カード又はスロット１５０（例えば、ＩＳＡスロット１５１）に接続することができる。拡張バスは、ＳＢロジック１０８と周辺装置との間の通信に用いられるバスであってもよく、このバスは、これらに限定されないが、業界標準アーキテクチャ（ＩＳＡ）バス、ＰＣ／１０４バス、ローピンカウントバス、拡張ＩＳＡ（ＥＩＳＡ）バス、ユニバーサルシリアルバス（ＵＳＢ）、統合ドライブエレクトロニクス（ＩＤＥ）バス、又は、周辺装置のデータ通信に用いることができる他の任意の適切なバスを含む。
【００３５】
システム１００Ｂにおいて、ＳＢロジック１０８は、さらに、少なくとも１つのＰＳＵ１０４に接続された管理装置１０２−１に接続される。いくつかの実施形態において、管理装置１０２−１は、ベースボード管理コントローラ（ＢＭＣ）、ラック管理コントローラ（ＲＭＣ）、又は、任意の他の適切なタイプのシステムコントローラであってもよい。管理装置１０２−１は、少なくとも１つのＰＳＵ１０４の操作及び／又は他の適用可能な操作を制御するように構成されている。いくつかの実施形態において、管理装置１０２−１は、サーバシステム１００Ｂの処理命令、並びに、コンポーネント及び／又は接続状態を監視するように構成されている。
【００３６】
図１Ａ及び図１Ｂの例示的なシステム１００Ａ〜１００Ｂには、特定の構成要素のみが示されているが、データを処理又は記憶したり、信号を送受信したり、新鮮な空気を下流のコンポーネントに提供することができる様々なタイプの電子又はコンピューティングコンポーネントが、この例示的なシステム１００Ａ〜１００Ｂに含まれてもよい。さらに、例示的なシステム１００Ａ〜１００Ｂの電子又はコンピューティングコンポーネントは、各種タイプのアプリケーションを実行し、及び／又は、各種タイプのオペレーティングシステムを用いることができるように構成されてもよい。かかるオペレーティングシステムは、これらに限定されないが、Ａｎｄｒｏｉｄ（登録商標）、ＢＳＤ（Ｂｅｒｋｅｌｅｙ  Ｓｏｆｔｗａｒｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）、ｉＰｈｏｎｅ（登録商標）  ＯＳ（ｉＯＳ）、Ｌｉｎｕｘ（登録商標）、ＯＳ  Ｘ（登録商標）、Ｕｎｉｘ（登録商標）系のリアルタイムオペレーティングシステム（例えば、ＱＮＸ等）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗ  Ｐｈｏｎｅ、及び、ＩＢＭ  ｚ／ＯＳ（登録商標）を含む。
【００３７】
例示的なシステム１００Ａ〜１００Ｂの所望の実装に応じて、例えばＴＣＰ／ＩＰ、オープンシステム相互接続（ＯＳＩ）、ファイル転送プロトコル（ＦＴＰ）、ユニバーサルプラグアンドプレイ（ＵｐｎＰ）、ネットワークファイルシステム（ＮＦＳ）、コモンインターネットファイルシステム（ＣＩＦＳ）、ＡｐｐｌｅＴａｌｋ（登録商標）等を含むがこれらに限定されない各種ネットワーク及びメッセージプロトコルが用いられてもよい。当業者なら理解できるように、図１Ａ〜図１Ｂに説明される例示的なシステム１００Ａ〜１００Ｂは、説明のために用いられる。よって、ネットワークシステムは、必要に応じて多くのバリエーションを実装することができ、同時に、本発明の各種実施形態を用いたネットワークプラットフォームの構成を提供する。
【００３８】
図１Ａ〜図１Ｂの構成において、例示的なシステム１００Ａ〜１００Ｂは、特定のワイヤレスチャネルのコンピューティング範囲内の１つ以上の電子装置と通信するように動作可能な１つ以上のワイヤレスコンポーネントをさらに含むことができる。ワイヤレスチャネルは、例えばブルートゥース（登録商標）、セルラー、ＮＦＣ又はＷｉ-Ｆｉ（登録商標）チャネル等のように、装置が無線で通信できるようにするために用いられる任意の適切なチャネルであってよい。従来の技術のように、装置は、１つ以上の従来の有線通信接続を有し得ることを理解されたい。各種実施形態の範囲内で、各種の他のコンポーネント及び／又はその組み合わせが可能である。
【００３９】
上記の議論は、本発明の原理及び各種の例を説明することを意図している。上述した開示が完全に理解されると、各種の変形及び修正が明らかになるであろう。
【００４０】
図２Ａは、本発明の一実施形態による、複数のノードを含むシステムにおいて、ＢＩＯＳセットアップオプションを自動的に送信する例示的な方法２００Ａを示す図である。例示的な方法２００Ａは単なる例示であり、本技術による他の方法では、類似若しくは代替の順序で実行され又は平行して実行される追加の、より少ない、又は、代替の工程を含むことができるのを理解されたい。例示的な方法２００Ａは、工程２０２にて、ノードの特定のコントローラにおいて、ノード内のＢＩＯＳセットアップオプションを更新するためのコマンドを受信することから開始する。コマンドは、システムの管理者又はコントローラからのものであってよい。いくつかの構成において、コマンドは、相手先ブランド製造（ＯＥＭ）インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）コマンドであって、特定のコントローラを、ＢＩＯＳセットアップオプションの変更をシステム内の別のノードに送信する特権を有するマスタとして指定する。いくつかの構成において、ノードは、管理者がＢＩＯＳセットアップオプションを更新するために、統一拡張ファームウェアインタフェース（ＵＥＦＩ）シェルインタフェースを介してＢＩＯＳセットアップユーティリティを提供することができる。
【００４１】
工程２０４において、特定のコントローラは、内部フラグをチェックして、特定のコントローラが、ノードのＢＩＯＳセットアップオプションの変更をシステムの別のノードに送信する特権を有するマスタコントローラであるか否かを判断することができる。特定のコントローラがスレーブコントローラである場合には、工程２０５において、特定のコントローラは、特定のコントローラを当分の間マスタコントローラにすることができないことを示すために、完了応答（例えば、ＯＥＭ完了応答）を例えばＵＥＦＩシェルインタフェースに送信することができる。特定のコントローラがマスタコントローラである場合には、工程２０６において、特定のコントローラは、特定のコントローラが既にマスタコントローラーであって、且つ、ノード上の更新されたＢＩＯＳセットアップオプションを、複数のノードのうち別のノードに送信することが許可されていることを示すために、完了応答（例えば、ＯＥＭ完了応答）を例えばＵＥＦＩシェルインタフェースに送信することができる。
【００４２】
工程２０８において、特定のコントローラは、マスタ要求をシステムに送信することができる。工程２１０において、特定のコントローラは、所定時間内にシステムの複数のノードのうち別のノードから応答を受信したか否かを判断することができる。いくつかの構成において、複数のノードのうち別のノードは、当該別のノードのコントローラがマスタコントローラであることを示す内部フラグを有する場合にのみ、特定のコントローラからのマスタ要求に応答する。
【００４３】
複数のノードのうち別のノードからの応答を受信した場合、工程２１２において、特定のコントローラは、内部フラグをスレーブに設定（すなわち、当該コントローラがスレーブコントローラとして操作することができることを示す値に設定）する。工程２１４において、特定のコントローラは、特定コントローラを当分の間マスタコントローラにすることができないことを示す完了応答（例えば、ＯＥＭ完了応答）を例えばＵＥＦＩシェルインタフェースに送信する。
【００４４】
所定期間内に複数のノードのうち別のノードから応答を受信しない場合、工程２１６において、特定のコントローラは、内部フラグをマスタに設定（すなわち、コントローラがマスタコントローラとして操作できることを示す値に設定）する。工程２１８において、特定のコントローラは、特定のコントローラが、現在、マスタコントローラであって、ノード上で更新されたＢＩＯＳセットアップオプションを複数のノードのうち別のノードに送信するのを許可されていることを示す完了応答（例えば、ＯＥＭ完了応答）を、例えばＵＥＦＩシェルインタフェースに送信する。
【００４５】
図２Ｂは、本発明の一実施形態による、複数のノードを含むシステムにおいてＢＩＯＳセットアップオプションを自動的に送信する例示的な方法２００Ｂを示す図である。例示的な方法２００Ｂは、工程２２０において、複数のノードのうち一つのノードで、更新されたＢＩＯＳセットアップオプションを記憶することから開始する。いくつかの構成において、ノードは、ＢＩＯセットアップオプションを更新するために、ＢＩＯＳセットアップユーティリティを管理者に提供する。工程２２２において、ＢＩＯＳセットアップオプションの更新が完了した後にＢＩＯＳセットアップユーティリティを終了することによって、ノードをリセットする前にＳＭＩ機能をトリガすることができる。
【００４６】
工程２２４において、ＳＭＩハンドラは、複数のノードのＢＩＯＳセットアップオプションの変数を取得して、当該変数をノードの特定のコントローラに送信することができる。いくつかの構成において、これらの変数は、ＩＰＭＩプロトコルを介してＳＭＩハンドラから特定のコントローラに送信される。
【００４７】
工程２２６において、特定のコントローラは、内部フラグをチェックして、特定のコントローラがマスタコントローラであるか否か（例えば、内部フラグがマスタ又はスレーブの何れに設定されているか）を判断する。工程２２８において、特定のコントローラがマスタである場合において、特定のコントローラは、更新されたＢＩＯＳセットアップオプションを、複数のノードのうち別のノードに送信することができる。工程２３０において、特定のコントローラは、さらに、更新されたＢＩＯＳセットアップオプションの送信完了後、内部フラグをｎｏｎｅにリセットする。工程２３２において、特定のコントローラは、さらに、更新されたＢＩＯＳセットアップオプションが既に送信されたことを示す完了応答（例えば、ＯＥＭ完了応答）を、例えばＵＥＦＩシェルインタフェースに送信する。工程２３４において、特定のコントローラは、さらに、ノードをリセットする。
【００４８】
特定のコントローラがマスターでない場合、例示的な方法２００Ｂは工程２３４に進み、当該工程において、特定のコントローラは、ノードをリセットすることができる。
【００４９】
図２Ｃは、本発明の一実施形態による、複数のノードを含むシステムにおいてＢＩＯＳセットアップオプションを自動的に送信する例示的な方法２００Ｃを示す図である。例示的な方法２００Ｃは、工程２４０において、複数のノードののうち一つのノードをオンにすることから開始する。
【００５０】
工程２４２において、ノードのコントローラは、更新されたＢＩＯＳセットアップオプションをシステムのマスタコントローラから受信する。工程２４４において、コントローラは、更新されたＢＩＯＳセットアップオプションをノードのＰＯＳＴに取得させ、ノード上の既存のＢＩＯＳセットアップオプションを上書きすることができる。工程２４６において、コントローラは、ノード上でＰＯＳＴをさらに続行させることができる。
【００５１】
（専門用語）
コンピュータネットワークは、エンドポイント（例えばパソコンとワークステーション）間でデータを転送するための通信リンク及びセグメントによって相互接続された、地理的に分配されたノードの集合である。ローカルエリアネットワーク（ＬＡＮ）及び広域ネットワーク（ＷＡＮ）からオーバーレイ及びソフトウェア定義ネットワーク（例えば、仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ））まで、多くのタイプのネットワークを利用することができる。
【００５２】
ＬＡＮは、通常、同一の物理位置（例えば、ビルやキャンパス等）に位置する専用のプライベート通信リンクを介してノードを接続する。一方、ＷＡＮは、通常、長距離通信リンク（例えば、一般的なキャリア電話回線、光路、同期光ネットワーク（ＳＯＮＥＴ）、又は、同期デジタル階層（ＳＤＨ）リンク等）を介して、地理的に分散したノードを接続する。ＬＡＮ及びＷＡＮは、レイヤ２（Ｌ２）及び／又はレイヤ３（Ｌ３）のネットワークと装置を含むことができる。
【００５３】
インターネットは、世界中の異種ネットワークを接続するＷＡＮの一例であり、各種ネットワーク上のノード間のグローバル通信を提供する。ノードは、通常、所定のプロトコル（例えば通信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ））にしたがって、データの個別のフレーム又はパケットを交換することによって、ネットワークを介して通信する。この文脈では、プロトコルは、ノードが互いにどのように相互作用するかを定義する一組のルールを参照することができる。コンピュータネットワークは、中間ネットワークノード（例えば、ルータ）によってさらに相互接続されており、各ネットワークの有効なサイズを拡張する。
【００５４】
オーバーレイネットワークは、一般に、物理ネットワークインフラストラクチャ上に仮想ネットワークを生成し、階層化することを可能にする。オーバーレイネットワークプロトコル（例えば、仮想拡張可能ＬＡＮ（ＶＸＬＡＮ）、汎用ルーティングカプセル化（ＮＶＧＲＥ）を用いたネットワーク仮想化、ネットワーク仮想化オーバーレイ（ＮＶＯ）、及び、ステートレストランスポートトンネリング（ＳＴＴ）等）は、ネットワークトラフィックが、論理トンネルを介してＬ２及びＬ３ネットワークで実行できるようにするトラフィックカプセル化スキームを提供する。このような論理トンネルは、仮想トンネルエンドポイント（ＶＴＥＰ）を介して発信及び終了することができる。
【００５５】
さらに、オーバーレイネットワークは、ＶＭが通信する仮想Ｌ２及び／又はＬ３オーバーレイネットワークを含むことの可能な仮想セグメント（例えば、ＶＸＬＡＮオーバーレイネットワーク内のＶＸＬＡＮセグメント）を有することができる。仮想セグメントは、関連する仮想セグメント又はドメインを具体的に識別することができる例えばＶＸＬＡＮネットワーク識別子等の仮想ネットワーク識別子（ＶＮＩ）を介して識別することができる。
【００５６】
ネットワーク仮想化は、ハードウェア及びソフトウェアリソースを仮想ネットワーク内で組み合わせることを可能にする。例えば、ネットワーク仮想化では、複数のＶＭを、それぞれの仮想ＬＡＮ（ＶＬＡＮ）を介して物理ネットワークに接続することができるようにする。ＶＭは、それぞれのＶＬＡＮに従ってグループ化することができ、内部又は外部ネットワーク上の他の装置と同様に、他のＶＭと通信することができる。
【００５７】
ネットワークセグメント（例えば、物理セグメント若しくは仮想セグメント、ネットワーク、装置、ポート、物理リンク若しくは論理リンク、及び／又は、トラフィック等）は、通常、ブリッジ又はフラッドドメインにグループ化される。ブリッジドメイン又はフラッドドメインは、ブロードキャストドメイン（例えば、Ｌ２ブロードキャストドメイン）を表す。ブリッジドメイン又はフラッドドメインは、単一のサブネットを有し得るが、複数のサブネットを有してもよい。さらに、ブリッジドメインは、ネットワークデバイス（例えば、スイッチ）上のブリッジドメインインタフェースに関連付けることができる。ブリッジドメインインタフェースは、Ｌ２ブリッジネットワークとＬ３ルーテッドネットワークとの間のトラフィックをサポートする論理インタフェースであってもよい。また、ブリッジドメインインタフェースは、インターネットプロトコル（ＩＰ）ターミネーション、ＶＰＮターミネーション、アドレス解決処理、ＭＡＣアドレッシング等をサポートしてもよい。ブリッジドメインとブリッジドメインインタフェースは、同一のインデックス又は識別子により識別され得る。
【００５８】
さらに、アプリケーションをネットワークにマッピングするために、エンドポイントグループ（ＥＰＧ）をネットワークで使用することができる。特に、ＥＰＧは、ネットワーク内のアプリケーションエンドポイントのグルーピングを用いて、接続性及びポリシーをアプリケーショングループに適用することができる。ＥＰＧは、バケットのコンテナ若しくはアプリケーションの集合、又は、アプリケーションコンポーネント、並びに、転送、及び、ポリシーロジックを実行する段（ｔｉｅｒｓ）として機能することができる。また、ＥＰＧは、論理的なアプリケーション境界を代わりに用いて、ネットワークポリシー、セキュリティ、及び、アドレッシングからの転送の分離を可能にする。
【００５９】
クラウドコンピューティングは、共有リソースを用いてコンピューティングサービスを提供するために、１つ以上のネットワークに提供され得る。クラウドコンピューティングは、通常、コンピューティングリソースが動的にプロビジョニングされ、ネットワーク（例えば、クラウド）を介して利用可能なリソースの集合からオンデマンドでクライアントコンピュータ若しくはユーザコンピュータ又は他の装置に割り当てられるインターネットベースのコンピューティングを含むことができる。クラウドコンピューティングリソースは、例えば、コンピューティング、ストレージ、ネットワーク装置及び仮想マシン（ＶＭ）等の任意のタイプのリソースを含むことができる。例えば、リソースは、サービス装置（ファイヤウオール、ディープパケットインスペクタ、トラフィックモニタ、ロードバランサ等）、計算／処理装置（サーバ、ＣＰＵ、メモリ、ブルートフォース処理機能）、ストレージデバイス（例えば、ネットワーク接続ストレージ、ストレージエリアネットワーク装置）等を有することができる。また、かかるリソースが用いられて、仮想ネットワーク、仮想マシン（ＶＭ）、データベース、アプリケーション（Ａｐｐｓ）等をサポートすることができる。
【００６０】
クラウドコンピューティングリソースは、「プライベートクラウド」、「パブリッククラウド」及び／又は「ハイブリッドクラウド」を有することができる。「ハイブリッドクラウド」は、技術を介して相互運用（ｉｎｔｅｒ−ｏｐｅｒａｔｅ）又は連携（ｆｅｄｅｒａｔｅ）する２つ以上のクラウドから構成されるクラウドインフラストラクチャとすることができる。本質的に、ハイブリッドクラウドは、プライベートクラウドがパブリックプラウドに加わり、パブリッククラウドリソースを安全且つスケーラブルに利用する、プライベートクラウド及びパブリッククラウド間の相互作用である。また、クラウドコンピューティングリソースは、ＶＸＬＡＮ等のオーバーレイネットワーク内の仮想ネットワークを介して、プロビジョニングすることができる。
【００６１】
ネットワークスイッチシステムでは、ルックアップデータベースを維持して、スイッチシステムに接続されたいくつかのエンドポイント間のルートを追跡することができる。しかし、エンドポイントは、様々な構成を有することができ、且つ、多数のテナントに関連付けられている。これらのエンドポイントは、各種識別子（例えば、ＩＰｖ４、ＩＰｖ６又はレイヤ２等）を有することができる。ルックアップデータベースは、異なるタイプのエンドポイント識別子を処理するために、異なるモードで構成される必要がある。ルックアップデータベースの容量は、着信パケットの異なるアドレスタイプを処理するように設計される。さらに、ネットワークスイッチシステム上のルックアップデータベースは、通常、１Ｋ仮想ルーティング及び転送（ＶＲＦ）によって制限される。これにより、各種タイプのエンドポイント識別子を処理するために、改善されたルックアップアルゴリズムが必要とされている。本発明の技術は、電気通信ネットワークにおけるアドレスルックアップに必要な技術を提供する。本発明は、エンドポイント識別子を一様な空間にマッピングし、異なる形式のルックアップを一様に処理することによって、様々なタイプのエンドポイント識別子を統合するためのシステム、方法及びコンピュータ可読ストレージ媒体を開示する。例示的なシステム及びネットワークの手短な前置きは、図３と図４に示されるように、本明細書に開示される。これらの変形例は各種実施形態において説明される。本技術について図３を参照する。
【００６２】
図３は、本発明を実行するのに適したコンピューティングデバイス３００の一例を示す図である。コンピューティングデバイス３００は、マスタ中央処理装置（ＣＰＵ）３６２と、インタフェース３６８と、バス３１５（例えば、ＰＣＩバス）と、を有する。ＣＰＵ３６２は、適切なソフトウェア又はファームウェアの制御下で動作する場合、パケット管理、エラー検出、及び／又は、例えば配線ミス検出機能等のルーティング機能の実行を担う。ＣＰＵ３６２は、好ましくは、オペレーティングシステム及び任意の適切なアプリケーションソフトウェアを含むソフトウェアの制御下で、これらの全ての機能を実現する。ＣＰＵ３６２は、Ｍｏｔｏｒｏｌａファミリのマイクロプロセッサ又はＭＩＰＳファミリのマイクロプロセッサ等１つ以上のプロセッサ３６３を含むことができる。他の実施形態において、プロセッサ３６３は、コンピューティングデバイス３００の操作を制御するために特別に設計されたハードウェアである。特定の実施形態において、メモリ３６１（例えば、不揮発性ＲＡＭ及び／又はＲＯＭ）は、さらに、ＣＰＵ３６２の一部を形成する。しかし、メモリをシステムに接続し得る多くの異なる方法がある。
【００６３】
インタフェース３６８は、通常、インタフェースカード（「ラインカード」と呼ばれることもある）として提供される。一般に、それらは、ネットワークを介してデータパケットの送受信を制御し、コンピューティングデバイス３００で使用される他の周辺装置をサポートすることがある。インタフェースの中から、イーサネット（登録商標）インタフェース、フレームリレーインタフェース、ケーブルインタフェース、ＤＳＬインタフェース、トークンリングインタフェース等を使用することができる。また、各種超高速インタフェースは、高速トークンリングインタフェース、ワイヤレスインタフェース、イーサネット（登録商標）インタフェース、ギガビットイーサネット（登録商標）インタフェース、ＡＴＭインタフェース、ＨＳＳＩインタフェース、ＰＯＳインタフェース、ＦＤＤＩインタフェース等を使用することができる。一般に、これらのインタフェースは、適切な媒体と通信する適切なポートを有する。いくつかの実施形態において、インタフェースは、さらに、独立したプロセッサと、場合によっては揮発性ＲＡＭと、を有する。独立したプロセッサは、パケット交換、媒体制御及び管理等の通信集中型タスクを制御することができる。通信集中型タスク用に別個のプロセッサを提供することにより、これらのインタフェースは、マスタマイクロプロセッサ３６２が、ルーティング計算、ネットワーク診断、セキュリティ機能等を効率的に実行できるようにする。
【００６４】
図３に示されるシステムは、本発明の１つの特定のコンピューティングデバイスであるが、本発明の唯一のネットワーク装置構造であることを意味するのではない。例えば、通信やルーティング計算等を処理する単一のプロセッサを有するアーキテクチャが頻繁に用いられる。さらに、別のタイプのインタフェース及び媒体も、ルータと共に使用することができる。
【００６５】
ネットワークデバイスの構成にかかわらず、本明細書に記載のローミング、ルート最適化及びルーティング機能を実行する汎用ネットワーク操作及びメカニズムのためのプログラム命令を記憶するように構成された１つ以上のメモリ又はメモリモジュール（メモリ３６１を有する）を使用することができる。プログラム命令は、オペレーティングシステム、及び／又は、１つ以上のアプリケーションの操作を制御することができる。メモリ又は複数のメモリは、モビリティバインディング、登録、及び関連テーブル等のテーブルを記憶するように構成することができる。
【００６６】
図４及び図５は、本発明の実施形態による例示的なシステムを示す図である。当業者であれば、本発明の技術を実施する場合、より適切な実施形態を理解することができるであろう。当業者であれば、他のシステムの実施形態も可能であることが理解できるであろう。
【００６７】
図４は、システムバスコンピューティングシステム構造４００を示す図であり、システムのコンポーネントは、バス４０２を用いて互いに電気的に通信する。例示的なシステム４００は、処理ユニット（ＣＰＵ又はプロセッサ）４３０と、システムバス４０２と、を有する。システムバス４０２は、システムメモリ４０４、読み取り専用メモリ（ＲＯＭ）４０６及びランダムアクセスメモリ（ＲＡＭ）４０８を含む各種システムコンポーネントをプロセッサ４３０に接続する。システム４００は、高速メモリのキャッシュを有し、キャッシュは、プロセッサ４３０に直接接続され、プロセッサ４３０に隣接して接続され、又は、プロセッサ４３０の一部として統合されてもよい。システム４００は、プロセッサ４３０による高速アクセスのために、メモリ４０４及び／又はストレージデバイス４１２からキャッシュ４２８にデータをコピーしてもよい。この方法において、キャッシュは、プロセッサ４３０がデータを待つ間に遅延が生じるのを防止する性能向上を提供する。これら及び他のモジュールは、様々な動作を実行するためにプロセッサ４３０を制御するように構成される。他のシステムメモリ４０４も同様に使用可能である。メモリ４０４は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを有することができる。プロセッサ４３０は、プロセッサ４３０を制御するように構成されたストレージデバイス４１２に記憶された第１モジュール４１４、第２モジュール４１６及び第３モジュール４１８等の任意の汎用プロセッサ及びハードウェアモジュール又はソフトウェアモジュールを含むことができ、ソフトウェア命令は、実際のプロセッサ設計に組み込まれる。プロセッサ４３０は、実質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ等を含む完全に自己完結型のコンピューティングシステムであってもよい。マルチコアプロセッサは、対称又は非対称であってもよい。
【００６８】
ユーザがコンピューティングデバイス４００と相互作用できるようにするため、入力装置４２０は、任意の数の入力メカニズム（例えば、スピーチ用のマイクロフォン、ジェスチャ又はグラフィカル入力用のタッチスクリーン、キーボード、マウス、モーション入力等）を表すことができる。出力装置４２２は、従来の技術で知られる１つ以上の数の出力メカニズムである。場合によっては、マルチモーダルシステムは、ユーザがコンピューティングデバイス４００と通信するために、複数のタイプの入力を提供できるようにする。通信インタフェース４２４は、通常、ユーザ入力及びシステム出力を支配及び管理することができる。特定のハードウェア構成における操作に制限がないため、ここでの基本的な機能は、改良されたハードウェアやファームウェアの構成が開発されるときに容易に置き換えることができる。
【００６９】
ストレージデバイス４１２は不揮発性メモリであり、ハードディスク、又は、コンピュータがアクセス可能なデータを記憶することの可能な他のタイプのコンピュータ可読媒体（例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリ装置、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）４０８、読み取り専用メモリ（ＲＯＭ）４０６及びこれらの組み合わせ等）であってもよい。
【００７０】
ストレージデバイス４１２は、プロセッサ４３０を制御するためのソフトウェアモジュール４１４，４１６，４１８を有してもよい。他のハードウェア又はソフトウェアモジュールも含まれ得る。ストレージデバイス４１２は、システムバス４０２に接続されてもよい。一実施形態において、特定の機能を実行するハードウェアモジュールは、機能を実行するために、必要なハードウェアコンポーネント（例えば、プロセッサ４３０、バス４０２、ディスプレイ４３６等）と接続するコンピュータ読み取り可能媒体に記憶されたソフトウェアコンポーネントを含むことができる。
【００７１】
コントローラ４１０は、システム４００上の特殊なマイクロコントローラ又はプロセッサ（例えば、ＢＭＣ（ベースボード管理コントローラ））であってもよい。場合によっては、コントローラ４１０は、インテリジェントプラットフォーム管理インタフェース（ＩＰＭＩ）の一部であってもよい。さらに、場合によっては、コントローラ４１０は、システム４００のマザーボード又はメイン回路基板に組み込まれてもよい。コントローラ４１０は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理することができる。また、コントローラ４１０は、以下に説明するように、例えばコントローラ又は周辺コンポーネント等の各種システムデバイス及びコンポーネント（内部及び／又は外部）と通信することができる。
【００７２】
コントローラ４１０は、通知、警告、及び／又は、イベントに対する特定の応答を生成し、遠隔装置又はコンポーネント（例えば、電子メールメッセージ、ネットワークメッセージ等）と通信し、自動ハードウェア回復工程等の指令や命令を生成する。システム管理者は、以下に更に説明するように、コントローラ４１０と遠隔通信して、特定のハードウェア回復工程又は操作を開始又は実行することができる。
【００７３】
システム４００上の異なるタイプのセンサ（例えば、センサ４２６）は、例えば冷却ファン速度、電源状態、オペレーティングシステム（ＯＳ）状態、ハードウェア状態等のパラメータをコントローラ４１０に報告する。また、コントローラ４１０は、コントローラ４１０により受信されたイベント、警告、通知を管理及び記憶するシステムイベントログコントローラ及び／又はストレージを有してもよい。例えば、コントローラ４１０又はシステムイベントログコントローラは、１つ以上の装置及びコンポーネントからの警告や通知を受信し、当該警告や通知をシステムイベントログストレージコンポーネント内に維持することができる。
【００７４】
フラッシュメモリ４３２は、ストレージ及び／又はデータ転送に用いられるシステム４００によって使用される電子不揮発性コンピュータストレージ媒体又はチップであってもよい。フラッシュメモリ４３２は、電気的に消去及び／又は再プログラムされ得る。フラッシュメモリ４３２は、例えば、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、ＲＯＭ、ＮＶＲＡＭ、又は、相補型ＭＯＳ（ＣＭＯＳ）を有する。フラッシュメモリ４３２は、システム４００が起動するときに、システム４００により実行されるファームウェア４３４を、ファームウェア４３４に対して指定された構成のセットとともに記憶することができる。さらに、フラッシュメモリ４３２は、ファームウェア４３４により用いられる構成を記憶することができる。
【００７５】
ファームウェア４３４は、基本入力／出力システム（ＢＩＯＳ）又はその後継品、等価物（例えば、エクステンシブルファームウェアインタフェース（ＥＦＩ）又はユニファイドエクステンシブルファームウェアインタフェス（ＵＥＦＩ））を有する。システム４００が起動される毎に、ファームウェア４３４は、シーケンスプログラムとしてロードされ、実行される。ファームウェア４３４は、構成のセットに基づいて、システム４００に存在するハードウェアを識別、初期化、テストする。ファームウェア４３４は、システム４００上でのセルフテスト（例えば、パワーオンセルフテスト（ＰＯＳＴ））を実行する。このセルフテストは、各種ハードウェアコンポーネント（例えば、ハードディスクドライブ、光学読み取り装置、冷却装置、メモリモジュール、拡張カード等）の機能性をテストする。ファームウェア４３４は、オペレーティングシステム（ＯＳ）を記憶するために、メモリ４０４、ＲＯＭ４０６、ＲＡＭ４０８及び／又はストレージデバイス４１２内の領域をアドレス及び割り当てることができる。ファームウェア４３４は、ブートローダ及び／又はＯＳをロードし、システム４００の制御をＯＳに与えることができる。
【００７６】
システム４００のファームウェア４３４は、ファームウェア４３４がシステム４００内の各種ハードウェアコンポーネントをどのように制御するかを定義するファームウェア構成を有することができる。ファームウェア構成は、システム４００内の各種ハードウェアコンポーネントが起動される順序を判断する。ファームウェア４３４は、各種異なるパラメータの設定を許可するインタフェース（例えば、ＵＥＦＩ）を提供することができ、このパラメータは、ファームウェアのデフォルト設定のパラメータとは異なる。例えば、ユーザ（例えば、システム管理者）は、ファームウェア４３４を用いて、クロック及びバス速度を指定し、どの周辺機器をシステム４００に取り付けるか指定し、監視の状態（例えば、ファン速度及びＣＰＵ温度制限）を指定し、システム４００のパフォーマンス全体及び電力使用量に影響する多種の他のパラメータを指定する。
【００７７】
ファームウェア４３４は、フラッシュメモリ４３２に記憶されているものとして説明されているが、当業者は、ファームウェア４３４が、他のメモリ、コンポーネント（例えば、メモリ４０４又はＲＯＭ４０６）に記憶することができるのを理解するであろう。しかし、示されたフラッシュメモリ４３２に記憶されたファームウェア４３４は説明目的の例であり、これに限定されない。
【００７８】
システム４００は１つ以上のセンサ４２６を有する。１つ以上のセンサ４２６は、例えば、１つ以上の温度センサ、熱センサ、酸素センサ、化学センサ、ノイズセンサ、ヒートセンサ、電流センサ、電圧検出器、気流センサ、流量センサ、赤外線放射温度計、熱流束センサ、温度計、高温計等を有する。１つ以上のセンサ４２６は、例えば、バス４０２を介して、プロセッサ、キャッシュ４２８、フラッシュメモリ４３２、通信インタフェース４２４、メモリ４０４、ＲＯＭ４０６、ＲＡＭ４０８、コントローラ４１０及びストレージデバイス４１２と通信する。また、１つ以上のセンサ４２６は、１つ以上の異なる手段（例えば、集積回路（Ｉ２Ｃ）、汎用出力（ＧＰＯ）等を介して、システム内の他のコンポ―ネントと通信することができる。
【００７９】
図５は、説明した方法又は操作の実行、並びに、グラフィカルユーザインタフェース（ＧＵＩ）の生成及び表示に用いることができるチップセット機構を有する例示的なコンピュータシステム５００を示す図である。コンピュータシステム５００は、開示された技術を実行するのに用いられるコンピュータハードウェア、ソフトウェア及びファームウェアを含むことができる。システム５００は、識別された計算を実行するように構成されたソフトウェア、ファームウェア及びハードウェアを実行することができる任意の数の物理的及び／又は論理的に異なるリソースを表すプロセッサ５１０を含むことができる。プロセッサ５１０は、プロセッサ５１０への入出力を制御することができるチップセット５０２と通信する。この例において、チップセット５０２は、情報を出力装置５１４（例えば、ディスプレイ）に出力し、ストレージデバイス５１６（磁気媒体、固体媒体を含む）に対して情報を読み書きする。また、チップセット５０２は、ＲＡＭ５１８に対してデータをやり取りする。各種ユーザインタフェースコンポーネント５０６と相互作用するブリッジ５０４は、チップセット５０２と相互作用するために提供され得る。このようなユーザインタフェースコンポーネント５０６は、キーボード、マイクロフォン、タッチ検出及び処理回路、ポインティングデバイス（マウス等）を有する。一般に、システム５００への入力は、機器及び／又は人間が生成した各種ソースの何れかから生じる。
【００８０】
また、チップセット５０２は、異なる物理的インタフェースを有する１つ以上の通信インタフェース５０８と相互作用する。このような通信インタフェースは、有線及び無線のローカルエリアネットワーク、ブロードバンドワイヤレスネットワーク及びパーソナルエリアネットワークのためのインタフェースを有する。本発明におけるＧＵＩを生成、表示及び使用する方法のいくつかのアプリケーションは、ストレージデバイス５１６又はランダムアクセスメモリ５１８に記憶されたデータを分析するプロセッサ５１０が、順序付けられたデータセットを、物理的インタフェースを介して又は機器自身により生成されることにより受信する工程を有する。さらに、機器は、ユーザインタフェースコンポーネント５０６を介して、ユーザからの入力を受信し、適切な機能（例えば、プロセッサ５１０を用いて、これらの入力を解釈することによりブラウズ機能を実行する）を実行する。
【００８１】
さらに、チップセット５０２は、電源が投入されると、コンピュータシステム５００によって実行され得るファームウェア５１２と通信することができる。ファームウェア５１２は、ファームウェア構成のセットに基づいて、コンピュータシステム５００内に存在するハードウェアを認識、初期化及びテストすることができる。ファームウェア５１２は、システム５００上でセルフテスト（例えば、ＰＯＳＴ）を実行する。セルフテストでは、各種ハードウェアコンポーネント５０２〜５１８の機能をテストすることができる。ファームウェア５１２は、ＯＳを記憶するために、メモリ５１８内の領域をアドレス指定及び割り当てることができる。ファームウェア５１２は、ブートローダ及び／又はＯＳをロードし、システム５００の制御をＯＳに与える。場合によっては、ファームウェア５１２は、ハードウェアコンポーネント５０２〜５１０及び５１４〜５１８と通信する。ここで、ファームウェア５１２は、チップセット５０２及び／又は１つ以上の他のコンポーネントを介して、ハードウェアコンポーネント５０２〜５１０及び５１４〜５１８と通信する。場合によっては、ファームウェア５１２は、ハードウェアコンポーネント５０２〜５１０及び５１４〜５１８と直接通信することができる。
【００８２】
例示的なシステム３００，４００，５００は、より大きな処理能力を提供するために、２つ以上のプロセッサ（例えば、３６３，４３０，５１０）を有することができ、又は、ネットワーク接続されたコンピューティングデバイスのグループ又はクラスタの一部であり得ることが理解されるであろう。
【００８３】
説明をわかりやすくするために、ある実施形態において、装置、デバイスコンポーネント、ソフトウェアで実施される方法における工程やルーティン、又は、ハードウェアとソフトウェアの組み合わせを含む個々の機能ブロックを有するものとして提示することができる。
【００８４】
いくつかの実施形態において、コンピュータ可読ストレージデバイス、媒体及びメモリは、ビットストリーム等を含むケーブル又は無線信号を有する。しかし、言及されるとき、非一時的な（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）コンピュータ読み取り可能ストレージ媒体は、エネルギー、キャリア信号、電磁波及び信号そのもの等の媒体を明確に排除する。
【００８５】
上記の例における方法は、コンピュータ読み取り可能媒体に記憶されるか利用可能なコンピュータ実行可能命令を用いて実施される。このような命令は、例えば、特定の機能又は機能グループを実行する汎用コンピュータ、専用コンピュータ又は特殊用途処理装置をもたらすか構成する命令及びデータを含むことができる。用いられるコンピュータリソースの一部は、ネットワークを介してアクセス可能である。コンピュータ実行可能命令は、例えば、バイナリ、中間フォーマット命令（例えば、アセンブリ言語）、ファームウェア又はソースコードである。命令、使用した情報、及び／又は、説明した例による方法において生成された情報を記憶するために用いることができるコンピュータ読み取り可能媒体の例は、磁気又は光学ディスク、フラッシュメモリ、不揮発性メモリを備えるＵＳＢデバイス、ネットワークストレージデバイス等を含む。
【００８６】
これらの開示における方法を実施する装置は、ハードウェア、ファームウェア及び／又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、ＰＤＡ、ラックマウント型装置、スタンドアロン装置等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
【００８７】
命令、かかる命令を伝達する媒体、それらを実行するコンピューティングリソース、及び、かかるコンピューティングリソースをサポートする他の構造は、本明細書に記載の機能を提供する手段である。
【００８８】
本発明の各種実施形態は、管理者又はコントローラがサーバシステム上でＢＩＯＳセットアップオプションを更新し、その後、同一のＢＭＣ  ＶＬＡＮ内の別のサーバシステム上で、ＢＩＯＳセットアップオプションを自動的に更新するのを可能にするシステム及び方法を提供する。特定の実施形態では、任意の操作を異なる命令でどのように実現するかを示しているが、他の実施形態では、任意の操作を異なる命令に組み込むことができる。説明を明瞭にするために、本発明のいくつかの実施形態において、デバイス、デバイスコンポーネント、ソフトウェア、又は、ハードウェアとソフトウェアの組み合わせで実現される方法における工程若しくはルーティンを有する機能ブロックを含むものとして示される。
【００８９】
各種実施形態は、場合によっては、いくつかのアプリケーションの何れかを動作させるために用いられる、１つ以上のサーバコンピュータ、ユーザーコンピュータ又はコンピューティングデバイスを有する多種多様な動作環境で実施することができる。ユーザ又はクライアントデバイスは、標準オペレーティングシステムを実行するデスクトップ又はラップトップコンピュータ等の多数の汎用パーソナルコンピュータ、並びに、モバイルソフトウェアを実行し、いくつかのネットワーク及びメッセージプロトコルをサポートすることができるセルラ、ワイヤレス及びハンドヘルド装置を含むことができる。このようなシステムは、さらに、開発及びデータベース管理等の目的のために様々な市販のオペレーティングシステム及び他の既知のアプリケーションを実行するいくつかのワークステーションを有する。これらの装置は、他の電子装置（例えば、ダミー端末、シンクライアント、ゲームシステム、及び、ネットワークを介して通信可能な他の装置等）を有する。
【００９０】
本発明のいくつかの実施態様又はその一部がハードウェアで実現される限り、本特許出願は、以下の技術の何れか又は組み合わせにより実現される。例えば、データ信号に基づきロジック機能を実行するロジックゲートを有する離散ロジック回路、適切な組み合わせロジックゲートを有する特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）等のプログラマブルハードウェア、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等が含まれる。
【００９１】
ほとんどの実施形態は、例えばＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、ＡｐｐｌｅＴａｌｋ（登録商標）等の商用のプロトコルの何れかを用いて通信をサポートするために、当業者によく知られている少なくとも１つのネットワークを使用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、および、これらの任意の組み合わせである。
【００９２】
上記の例における方法は、コンピュータ読み取り可能媒体に記憶されるか利用可能なコンピュータ実行可能命令を用いて実施される。このような命令は、例えば、特定の機能又は機能グループを実行する汎用コンピュータ、専用コンピュータ又は特殊用途処理装置をもたらすか構成する命令及びデータを含むことができる。用いられるコンピュータリソースの一部は、ネットワークを介してアクセス可能である。コンピュータ実行可能命令は、例えば、バイナリ、中間フォーマット命令（例えば、アセンブリ言語）、ファームウェア又はソースコードである。命令、使用した情報、及び／又は、説明した例による方法において生成された情報を記憶するために用いることができるコンピュータ読み取り可能媒体の例は、磁気又は光学ディスク、フラッシュメモリ、不揮発性メモリを備えるＵＳＢデバイス、ネットワークストレージデバイス等を含む。
【００９３】
これらの開示における方法を実施する装置は、ハードウェア、ファームウェア及び／又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、サーバコンピュータ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、ＰＤＡ等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
【００９４】
ウェブサーバを用いた実施形態において、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａ（登録商標）サーバ、及び、ビジネスアプリケーションサーバを有する任意の種類のサーバ又は中間層アプリケーションを実行することができる。サーバは、ユーザ装置からの要求に応じて、例えば、任意のプログラミング言語（例えば、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、Ｃ＋＋）、任意のスクリプト言語（例えば、Ｐｅｒｌ、Ｐｙｔｈｏｎ、ＴＣＬ）、及びこれらの組み合わせで書き込まれる１つ以上のスクリプト又はプログラムとして実行される１つ以上のウェブアプリケーションを実行すること等により、プログラムやスクリプトを実行することができる。サーバは、公開市場で市販されているものを含むがこれに限定されないデータベースサーバを含むことができる。
【００９５】
サーバシステムは、前述の様々なデータ記憶、他のメモリ、及び、ストレージ媒体を有する。これらは、例えば、ストレージ媒体が１つ以上のコンピュータにローカル接続され（及び／又は存在する）、又は、ネットワークにより、任意の若しくは全てのコンピュータから遠隔で連結される等のように、様々な場所に存在し得る。一組の特定の実施形態において、情報は、当業者によく知られているストレージエリアネットワーク（ＳＡＮ）中に存在することができる。同様に、コンピュータ、サーバ又は他のネットワーク装置に起因する機能を実行するのに必要とされる任意のファイルは、必要に応じてローカル及び／又はリモートに格納することができる。システムがコンピュータ化された装置を含む場合、このような装置は、バスを介して電気的に接続されるハードウェアコンポーネントを有し、コンポーネントは、例えば、少なくとも１つの中央処理ユニット（ＣＰＵ）と、少なくとも１つの入力装置（例えば、マウス、キーボード、コントローラ、タッチセンサディスプレイコンポーネント、又は、キーパッド）と、少なくとも１つの出力装置（例えば、ディスプレイ装置、プリンタ、又は、スピーカ）と、を有する。このようなシステムは、さらに、１つ以上のストレージデバイス（例えば、ディスクドライブ、光学ストレージデバイス、及び、ソリッドステートストレージデバイス（例えば、ランダムアクセスメモリ（ＲＡＭ）又はリードオンリメモリ（ＲＯＭ））、及び、除去可能な媒体装置、メモリカード、フラッシュカード等）を有する。
【００９６】
このような装置は、さらに、上述したように、コンピュータ可読ストレージ媒体読み取り機、通信装置（例えば、モデム、ネットワークカード（有線又は無線）、赤外線コンピューティングデバイス）、及び、ワーキングメモリを有する。コンピュータ可読ストレージ媒体読み取り機は、コンピュータ可読ストレージ媒体に接続され、又は、コンピュータ可読ストレージ媒体を受け入れる。コンピュータ可読ストレージ媒体は、リモート、ローカル、固定、及び／又は、取り外し可能なストレージデバイスを表してもよく、一時的及び又は永久的に、コンピュータ可読情報を含有、記憶、送信及び回収するストレージ媒体を表してもよい。システム及び各種デバイスは、一般に、少なくとも１つのワーキングメモリ装置に配置された複数のソフトウェアアプリケーション、モジュール、サービス、又は、他の素子を有し、当該他の素子は、オペレーティングシステム及びアプリケーションプログラム（例えば、クライアントアプリケーションまたはウェブブラウザ）を有する。前述した例に基づいて、様々な変形例を有することができることを理解されたい。例えば、カスタマイズされたハードウェアを使用することもでき、及び／又は、特定の素子をハードウェア／ソフトウェア（ポータブルソフトウェア（例えば、アプレット）を含む）若しくはこれらの両方で実施することができる。さらに、その他のコンピューティングデバイス（例えば、ネットワーク入／出力装置）への接続も使用される。
【００９７】
コード又はコードの一部を含むストレージ媒体及びコンピュータ可読媒体は、従来技術で用いられる任意の適切な媒体（例えば、ストレージ媒体及びコンピューティング媒体）を含む。この媒体は、揮発性及び不揮発性、取り外し可能、並びに、非取り外し可能媒体に限定されず、任意の方法や技術で実現され、情報（例えば、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ）を記憶及び／又は送信する。この媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、他のメモリ技術、ＣＤ-ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、他の磁気ストレージデバイス、又は、他の任意の媒体を含み、必要な情報を記憶するのに用いられたり、システムデバイスによりアクセスされる。本明細書で提供される技術及び教示に基づいて、当業者であれば、本発明の各種態様を実施する他の方法及び／又は方法を理解するであろう。
【００９８】
明細書及び図面は、限定的ではなく例示的なものとみなされるべきである。しかしながら、特許請求の範囲に記載された発明のより広い趣旨及び範囲から逸脱することなく、様々な修正及び変更を行うことができることは明らかであろう。
【符号の説明】
【００９９】
１０１…ネットワーク
１０２−１…ＢＭＣ
１０２−２…プロセッサ
１０２−３…ＢＩＯＳ
１０２−４…ストレージデバイス
１０３−１…ＢＭＣ
１０３−２…プロセッサ
１０３−３…ＢＩＯＳ
１０３−４…ストレージデバイス
１０４…電源ユニット
１０５…ＡＣ電源
１０６…ＮＢ
１０７…ＰＣＩバス
１０８…ＳＢ
１１０…冷却コンポーネント
１５１…ＩＳＡスロット
１７１…ＰＣＩスロット
３６１…メモリ
３６２…ＣＰＵ
３６３…プロセッサ
３６８…インタフェース
４０２…バス
４０４…メモリ
４０６…読み取り専用メモリ
４０８…ランダムアクセスメモリ
４１０…コントローラ
４１２…ストレージデバイス
４１４…第１モジュール
４１６…第２モジュール
４１８…第３モジュール
４２０…入力装置
４２２…出力装置
４２４…通信インタフェース
４２６…センサ
４２８…キャッシュ
４３０…プロセッサ
４３２…フラッシュメモリ
４３４…ファームウェア
４３６…ディスプレイ
５０２…チップセット
５０４…ブリッジ
５０６…ユーザインタフェースコンポーネント
５０８…通信インタフェース
５１０…プロセッサ
５１６…ストレージデバイス
５１８…ランダムアクセスメモリ
【図１Ａ】
2018142296.tif 000003
【図１Ｂ】
2018142296.tif 000004
【図２Ａ】
2018142296.tif 000005
【図２Ｂ】
2018142296.tif 000006
【図２Ｃ】
2018142296.tif 000007
【図３】
2018142296.tif 000008
【図４】
2018142296.tif 000009
【図５】
2018142296.tif 000010