(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-30
(54)【発明の名称】エッジコンピュート環境自動サーバ構成ツール
(51)【国際特許分類】
G06F 8/70 20180101AFI20240123BHJP
H04L 67/1008 20220101ALI20240123BHJP
G06F 15/00 20060101ALI20240123BHJP
【FI】
G06F8/70
H04L67/1008
G06F15/00 470
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023539830
(86)(22)【出願日】2021-12-29
(85)【翻訳文提出日】2023-08-15
(86)【国際出願番号】 US2021065489
(87)【国際公開番号】W WO2022147106
(87)【国際公開日】2022-07-07
(32)【優先日】2020-12-31
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-08-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】508140877
【氏名又は名称】レベル スリー コミュニケーションズ,エルエルシー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】マクブライド、ケビン
(72)【発明者】
【氏名】サザーランド、ジェイムズ
(72)【発明者】
【氏名】ドレヤー、ブライアン
(72)【発明者】
【氏名】ディック、クリストファー
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376DA01
5B376DA11
5B376DA14
(57)【要約】
ネットワークに配置されたサーバを自律的に構成するためのサーバ構成ツールが提供される。ツールは、サーバの個別状態に基づいて、定期的かつ同時に決定され得る複数のサーバを並行に自律的に構成するし得る。例えば、ツールは、各サーバの現在の状態に基づいて、サーバの構成を開始又は継続するためにどのアクションを講じるかを判定し得る。コード変更無しでサーバ構成プロセスを変更するために、サーバ状態(及び対応するアクション)が、ユーザインタフェースを通じてエディットされ得る。いかなる時点でも、複数のサーバは、使用の準備のためにサーバを構成するために、異なる構成動作を必要とする異なる状態にあり得る。本システム及び方法は、各サーバの個別状態に基づいて、異なる構成アクションを通じて、複数のサーバを反復的に移行し、複数のサーバについての非競合的構成動作を並行に実行するために使用され得る。
【特許請求の範囲】
【請求項1】
サーバを管理する方法であって、
ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記複数のサーバ状態の各々についての定義された構成動作を受信する段階;
サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;
前記複数のサーバの各々について、前記複数のサーバの前記判定された複数の状態に基づいて、実行されるべき前記定義された構成動作の1つを判定する段階、ここで、前記判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記第1サーバ状態に基づいて前記第1サーバに対して第1構成動作を、前記第2サーバ状態に基づいて前記第2サーバに対して第2構成アクションを並行して実行するようサーバイメージャに命令する段階
を備える方法。
【請求項2】
前記複数のサーバ状態の定義を受信する段階は、前記サーバ状態の各々について、少なくともサーバステータス及びサーバプールを受信する段階を含む、請求項1に記載の方法。
【請求項3】
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての新しい構成動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;及び
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記新しい構成動作を前記第3サーバに対して実行させる段階
を更に備える、請求項1又は2に記載の方法。
【請求項4】
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての報告動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記報告動作を実行させる段階
を更に備える、請求項1又は2に記載の方法。
【請求項5】
前記複数のサーバの前記複数の状態を再判定させる段階、ここで、前記再判定させる段階は、前記第1サーバが前記第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記再判定された第1サーバ状態に基づいて、前記第1サーバに対して前記第2構成アクションを実行するよう前記サーバイメージャに命令する段階
を更に備える、請求項1又は4のいずれか一項に記載の方法。
【請求項6】
前記複数のサーバの前記複数の状態は、自動的かつ定期的に再判定される、請求項5に記載の方法。
【請求項7】
前記複数のサーバの前記複数の状態を再判定させる段階は更に、前記第2サーバが第3サーバ状態にあると判定する段階を含み、更に、
前記サーバ構成ツールによって、前記再判定された第2サーバ状態に基づいて、前記第2サーバに対して第3構成アクションを実行するように前記サーバイメージャに命令する段階
を含む、請求項5又は6に記載の方法。
【請求項8】
命令を含むコンピュータプログラムであって、前記命令は、少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記複数のサーバ状態の各々について、定義された構成動作を受信する段階;
サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;
前記複数のサーバの各々について、前記複数のサーバの前記判定された複数の状態に基づいて、実行されるべき前記定義された構成動作の1つを判定する段階、ここで、前記判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定することを含む;及び
前記サーバ構成ツールによって、前記第1サーバ状態に基づいて前記第1サーバに対して第1構成動作を、前記第2サーバ状態に基づいて前記第2サーバに対して第2構成アクションを並行に実行するようサーバイメージャに命令する段階
を備える方法を実行させる、コンピュータプログラム。
【請求項9】
前記複数のサーバ状態の定義を受信する段階は、前記サーバ状態の各々について、少なくともサーバステータス及びサーバプールを受信する段階を含む、請求項8に記載のコンピュータプログラム。
【請求項10】
前記方法は、
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての新しい構成動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;及び
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記新しい構成動作を前記第3サーバに対して実行させる段階
を更に備える、請求項8又は9に記載のコンピュータプログラム。
【請求項11】
前記方法は、
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての報告動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記報告動作を実行させる段階
を更に備える、請求項8又は9に記載のコンピュータプログラム。
【請求項12】
前記方法は、
前記複数のサーバの前記複数の状態を再判定させる段階、ここで、前記再判定させる段階は、前記第1サーバが前記第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記再判定された第1サーバ状態に基づいて、前記第1サーバに対して前記第2構成アクションを実行するよう前記サーバイメージャに命令する段階
を更に備える、請求項8から11のいずれか一項に記載のコンピュータプログラム。
【請求項13】
前記複数のサーバの前記複数の状態は、自動的かつ定期的に再判定される、請求項12に記載のコンピュータプログラム。
【請求項14】
前記複数のサーバの前記複数の状態を再判定させる段階は更に、前記第2サーバが第3サーバ状態にあると判定する段階を含み、ここで、前記方法は更に、
前記サーバ構成ツールによって、前記再判定された第2サーバ状態に基づいて前記第2サーバに対して第3構成アクションを実行するよう前記サーバイメージャに命令する段階
を備える、請求項12又は13に記載のコンピュータプログラム。
【請求項15】
サーバを管理するためのシステムであって、
少なくとも1つのプロセッサ;及び
前記少なくとも1つのプロセッサに動作可能に接続され、命令を格納するメモリ
を備え、前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、前記システムに方法を実行させ、前記方法は、
ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記複数のサーバ状態の各々についての定義された構成動作を受信する段階;
サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;
前記複数のサーバの各々について、前記複数のサーバの前記判定された複数の状態に基づいて、実行されるべき前記定義された構成動作の1つを判定する段階、ここで、前記判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記第1サーバ状態に基づいて前記第1サーバに対して第1構成動作を、前記第2サーバ状態に基づいて前記第2サーバに対して第2構成アクションを並行して実行するようにサーバイメージャに命令する段階
を備える、
システム。
【請求項16】
前記複数のサーバ状態の定義を受信する段階は、前記サーバ状態の各々について、少なくともサーバステータス及びサーバプールを受信する段階を含む、請求項15に記載のシステム。
【請求項17】
前記方法は、
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての新しい構成動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;及び
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記新しい構成動作を前記第3サーバに対して実行させる段階
を更に備える、請求項15又は16に記載のシステム。
【請求項18】
前記方法は、
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての報告動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記報告動作を実行させる段階
を更に備える、請求項15又は16に記載のシステム。
【請求項19】
前記方法は、
前記複数のサーバの前記複数の状態を再判定させる段階、ここで、前記再判定させる段階は、前記第1サーバが前記第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記再判定された第1サーバ状態に基づいて、前記第1サーバに対して前記第2構成アクションを実行するよう前記サーバイメージャに命令する段階
を更に備える、請求項15から18のいずれか一項に記載のシステム。
【請求項20】
前記複数のサーバの前記複数の状態は、自動的かつ定期的に再判定され、ここで、前記複数のサーバの前記複数の状態を再判定させることは更に、前記第2サーバが第3サーバ状態にあると判定することを含み、前記方法は更に、
前記サーバ構成ツールによって、前記再判定された第2サーバ状態に基づいて、前記第2サーバに対して第3構成アクションを実行するように前記サーバイメージャに命令する段階
を備える、請求項19に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願への相互参照
本願は、「エッジコンピュート環境自動サーバ構成ツール」と題する、2020年12月31日に出願された米国仮特許出願第63/132,953、及び、「エッジコンピュート環境自動サーバ構成ツール」と題する、2021年8月25日に出願された米国仮特許出願第63/237,011の利点を主張し、それらの出願は、参照によって全体が本明細書に組み込まれる。
【0002】
通信ネットワークは、地上無線又は衛生通信ネットワークを通じた、いくらかの距離に及ぶ情報の伝送を提供する。そのような通信は、音声、データ、マルチメディア情報などを伴い得る。加えて、通信ネットワークはエッジコンピューティング環境としてセットアップされ得る。エッジコンピューティング環境は、通信ネットワークのコンポーネントを分散させ、コンピュテーション及びデータストレージを、それを必要とする位置に近づける。エッジコンピューティング環境は、ネットワークの顧客がネットワークにアクセスし、より低いレイテンシでデータ及び情報を受信することを可能にする。ネットワークコンポーネントが顧客に地理的に近いからである。
【0003】
多くの通信ネットワーク顧客は、家庭又は会社にサーバを設置するのではなく、サーバへのアクセスをリースするか、又は、ネットワークを介してアクセスするサーバを購入する。顧客は、リース又は購入されたサーバにアクセスするとき、ネットワークのエッジコンピュート環境を通じて、これらのサーバにアクセスし、より低いレイテンシを体験し得る。通信ネットワーク及びサーバプロバイダは、顧客の使用のためにサーバを構成する必要があり、その結果、サーバは、顧客の期待通りに機能する。追加的に、プロバイダは、次の顧客に対してサーバを準備し、サーバ上に保存された前の顧客の情報がサーバの今後のユーザに開示されないことを確実にするために、顧客がもはや使用を望まないサーバを再構成し、消去する必要がある。構成及び/又は再構成され、消去される必要があるサーバは、いかなる時点でもネットワーク全体に数千台存在し得る。通信ネットワーク及びサーバプロバイダは、それほど多くのサーバを構成するために必要な量の作業を効率的に処理するために苦労することがあり得る。
【0004】
本開示の様々な態様は、これらの問題及び他の問題を考慮して開発された。
【発明の概要】
【0005】
本願は、ネットワークにおいてサーバを自律的に構成するためのシステム及び方法を記載する。
【0006】
本開示の一実装は、サーバを管理する方法の形態をとり得る。方法は、ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;ユーザインタフェースを通じて、複数のサーバ状態の各々についての定義された構成動作を受信する段階;サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;複数のサーバの各々について、複数のサーバの判定された複数の状態に基づいて、実行されるべき定義された構成動作の1つを判定する段階、ここで、判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定する段階を含む;及び、サーバ構成ツールによって、第1サーバ状態に基づいて第1サーバに対して第1構成動作を、第2サーバ状態に基づいて第2サーバに対して第2構成アクションを並行して実行するようサーバイメージャに命令する段階を備え得る。
【0007】
本開示の別の実装は、少なくとも1つのプロセッサによって実行されるときに少なくとも1つのプロセッサに方法を実行させる命令を格納する非一時的コンピュータ可読媒体の形態をとり得る。例において、方法は、ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;ユーザインタフェースを通じて、複数のサーバ状態の各々についての定義された構成動作を受信する段階;サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;複数のサーバの各々について、複数のサーバの判定された複数の状態に基づいて、実行されるべき定義された構成動作の1つを判定する段階、ここで、判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定する段階を含む;及び
サーバ構成ツールによって、第1サーバ状態に基づいて第1サーバに対して第1構成動作を、第2サーバ状態に基づいて第2サーバに対して第2構成アクションを並行して実行するようサーバイメージャに命令する段階を備え得る。
【0008】
本開示の別の実装は、少なくとも1つのプロセッサ、及び、少なくとも1つのプロセッサに動作可能に接続され命令を格納するメモリを備えるサーバを管理するためのシステムの形態をとり得、当該命令は、少なくとも1つのプロセッサによって実行されるとき、システムに方法を実行させる。例において、方法は、ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;ユーザインタフェースを通じて、複数のサーバ状態の各々についての定義された構成動作を受信する段階;サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;複数のサーバの各々について、複数のサーバの判定された複数の状態に基づいて、実行されるべき定義された構成動作の1つを判定する段階、ここで、判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定する段階を含む;及び
サーバ構成ツールによって、第1サーバ状態に基づいて第1サーバに対して第1構成動作を、第2サーバ状態に基づいて第2サーバに対して第2構成アクションを並行して実行するようサーバイメージャに命令する段階を備え得る。
【0009】
この概要は、以下の発明を実施するための形態においてさらに記載される概念の一部を、簡略化した形態で紹介するために提供される。この発明の概要は、特許請求された主題の重要な特徴又は必須の特徴を識別することも、特許請求された主題の範囲を限定するために使用されることも意図されていない。
【図面の簡単な説明】
【0010】
【
図1】一例に係るネットワークのエッジにおけるエッジコンピュート環境に関連するネットワークにおけるサーバを構成するためのシステムを示す概略図である。
【0011】
【
図1A】サーバ状態及び関連する構成動作を定義し、定義されたサーバ状態及び構成動作を使用してサーバを構成する方法を示すフローチャートである。
【0012】
【
図1B】使用するサーバを自律的に構成し、サーバをユーザに割り当て、ユーザがサーバを解放するときにサーバをリファービッシュするための方法を示すフローチャートである。
【0013】
【
図2】一例に係るネットワークのエッジコンピュート環境を示す概略図である。
【0014】
【
図3A】使用の準備のためにサーバを構成するための方法を示すフローチャートである。
【0015】
【
図3B】使用の準備のためにサーバを構成するための方法を示すフローチャートである。
【0016】
【
図4】特定のユーザのためにサーバを構成するための方法を示すフローチャートである。
【0017】
【
図5】顧客がサーバを使用した後に、リファービッシュされるようにサーバを構成するための方法を示すフローチャートである。
【0018】
【
図5A】顧客がサーバを使用した後に、リファービッシュされるようにサーバを構成するための方法を示すフローチャートである。
【0019】
【
図5B】顧客がサーバを使用した後に、リファービッシュされるようにサーバを構成するための方法を示すフローチャートである。
【0020】
【
図6A】検出されたサーバ状態に従って、様々な構成ステージを通じて、サーバを自律的に移行させるための方法を示すフローチャートである。
【0021】
【
図6B】検出されたサーバ状態に従って、様々な構成ステージを通じて、サーバを自律的に移行させるための方法を示すフローチャートである。
【0022】
【
図6C】検出されたサーバ状態に従って、様々な構成ステージを通じて、サーバを自律的に移行させるための方法を示すフローチャートである。
【0023】
【
図7】本開示の例の実装において使用され得るコンピューティングシステムの例を示す図である。
【発明を実施するための形態】
【0024】
通信ネットワークは、ネットワークデバイス、ネットワークサービス、ネットワークコンピューティング環境、クラウドサービス(ストレージサービス、ネットワーキングサービス、コンピュートサービスなど)などの間の通信の伝送を含む、多くのサービスをネットワークの顧客に提供し得る。ユーザがネットワークに接続されたサーバをリースして使用することを可能にするなどのクラウドサービスを提供するために、ネットワーキングコンポーネント及び他のデバイスが相互接続され、顧客がサーバにアクセスし得るようにネットワーク内で構成される。概して、エンジニアは、サーバにリモート又はローカルでアクセスし、数ある態様の中でも特にサーバコンポーネントの設定、ポート、オペレーティングシステム、ファームウェアを手動で構成し、サーバが顧客によって使用可能であることを可能にすることを担当する。更に、サーバは、多くの場所にあり得、ユーザがサーバにアクセスすることを望むときにレイテンシが低下する。各場所は、数千のサーバを含み得、任意の数のサーバが同時に構成又はリファービッシュメントを必要とし得る。そのようなプロセスは時間がかかり、複数のネットワークグループにステップ又は動作を要求し、サーバが顧客に利用可能となる前に識別されて是正される必要がある複数の潜在的な遅延ポイント又は潜在的なエラーを含み得る。
【0025】
本開示の態様は、ネットワークに配置されているサーバを自律的に構成するためのツールを伴う。ツールは、サーバの状態に基づいてサーバを自律的に構成し得る。例えば、ツールは、サーバの現在の状態に基づいて、サーバの構成を開始又は継続するためにどのアクションを講じるかを判定し得る。サーバ構成プロセスを変更するために、サーバ状態が追加、変更、及び/又は除去され得る。いくつかの例において、サーバの状態は、サーバステータスの検出、及び、サーバがどのサーバプールにあるかに基づいて判定され得る。例において、いかなる時点でも、複数のサーバが、使用の準備のためにサーバを構成するための異なる構成動作を必要とする異なる状態にあり得る。本システム及び方法は、各サーバの個別状態に基づいて、異なる構成アクションを通じて反復的に複数のサーバを移行させるために使用され得る。
【0026】
一例において、サーバ構成ツールは、使用の準備のためにサーバを構成するための構成プロセスを生成し得る。構成プロセスは、サーバ構成ツール及び/又はサーバイメージャによって実行され得る。構成プロセスは、サーバ構成ツールによって格納される、又はサーバイメージャ、ユーザポータル、又はコンピューティングデバイスによってユーザインタフェースを介してサーバ構成ツールに提供され得るテンプレート及び/又は所望のファームウェアに基づき得る。構成プロセスは、ネットワークのサーバと通信しサーバ及び同様のものを構成する自動的に実行される構成命令又はステップを含み得る。構成を通じて、サーバは、ネットワークの顧客による使用のために提供され得る。例において、自律構成プロセスは、一度に数千のサーバに適用され得、これにより、システムアドミニストレータのためにサーバプロビジョニングを単純化する。例えば、数千のサーバは、人間のインタラクション無しで、工場出荷状態から顧客用準備完了状態に変わり、その後、(顧客がそれを完了した後に)新しい状態に戻され得る。単一のサーバを構成及び再構成するプロセスの例を下で説明するが、現在自動化されている手順は、任意の数のサーバについて、並行して実行され得る。
【0027】
構成プロセスは、エッジコンピュート環境に関連する1又は複数のネットワーク上でサーバを自動的に検出するサーバイメージャを含み得る。サーバ構成ツールは、1又は複数のサーバが、個別サーバの状態についてサーバイメージャにポーリングすることによって、特定の構成動作の実行を必要とすると判定し得る。特定のサーバが構成動作の実行を必要としているとサーバ構成ツールが判定すると、サーバ構成ツールは、サーバに対して構成動作を実行し得る。構成動作は、サーバのコンポーネントのファームウェアを更新させること、テンプレートをサーバ上にロードすること、サーバをコミッショニングすること、サーバデータを受信すること、サーバをテストすること、サーバをユーザインタフェースに公開することなどを含み得る。
【0028】
顧客は、顧客ポータルを介して、使用するサーバを選択し、注文し得る。いくつかの場合において、サーバがユーザによる選択のためにユーザインタフェースに公開される前に、サーバは構成される必要がある。他の場合において、サーバのための構成プロセスは、ユーザが、使用するサーバを選択することに応じて開始する。
【0029】
追加的に、ユーザは、ユーザがもはや使用を望まないサーバを解放し得る。ユーザは、ユーザポータルと通信するユーザインタフェースを通じてサーバを解放し得る。このサーバは、サーバ構成ツールによってリファービッシュされ得る。サーバのリファービッシュは、サーバを電源オン及びオフすることを含み得、サーバに、サーバの1又は複数のストレージドライブを消去させるなどを行う。
【0030】
1つの場合において、サポートインタフェースはエッジコンピュート構成ツールに関連し得る。サポートインタフェースは、それを通じてサーバメンテナンスがスケジュールされ得る1又は複数の部分を含み得る。サポートインタフェースは、コンピューティングデバイス上に表示され得、コンピューティングデバイスのユーザ、コンピューティングデバイス自体、又は、異なるコンピューティングデバイスとインタラクトして、メンテナンススケジュールを受信し得る。サーバ構成ツールはまた、サポートインタフェースを介して、サーバの情報、構成に失敗したサーバに関連するアラート/ログ、及び同様のものを含む、サーバの情報を表示し得る。アラートは、サーバがコミッショニングに失敗したとき、サーバデータが期待されたものでないとき、サーバがテストに失敗したときなどに表示され得る。ユーザはアラートを視認し得、1又は複数のアクションが、表示されたステータス情報に応じて実行され得る。
【0031】
更に、サポートユーザインタフェースは、エッジコンピュート構成ツールによってアクションが講じられるサーバ状態を定義するために使用され得る。例えば、状態は、現在のサーバステータス、及び、サーバが割り当てられた「プール」の両方を含み得る。サポートユーザインタフェースは、(例えば、新しい、又は既存のサーバステータス、及び/又は、サーバプールの組み合わせとして)カスタマイズされた状態を生成するために使用され得る。また、サポートユーザインタフェースは、サーバがサーバ構成ツールにおいて定義された特定の状態にあると検出されたときに講じられるアクション(例えば構成動作)を定義するために使用され得る。ネットワークエッジサイトの顧客にサーバの使用を提供するために、サーバ構成ツールを通じて、ネットワークの複数のサーバの構成が迅速かつ高い信頼性で実行され得る。
【0032】
例において、エッジコンピュートサーバ構成ツールは、ステートエンジンとして作用する。フローは、構成される1又は複数のサーバの状態に基づいて、異なる構成動作に進み得る。例えば、割り当てられたサーバプール、サーバのステータス、及び/又は、他のサーバ情報は、サーバの状態を示し得る。いくつかの例において、ステータスのみ又はプールのみがサーバ状態(例えば、プールに関わらず特定のステータスを有するすべてのサーバ、又は、ステータスに関わらず特定のプールにおけるすべてのサーバ)を定義する。他の例において、状態定義を定義するために、サーバプール又はステータス以外も使用され得る。例えば、エッジコンピュートサーバ構成ツールに対して入手可能であるマシン説明文書からの任意の値が、サポートユーザインタフェースを通じて、カスタム/新しいサーバ状態、及び、サーバがランタイムにおいてその状態にあると検出されたときに講じられるアクションの両方を定義するのに使用され得る。
【0033】
例において、エッジコンピュートサーバ構成ツールがステートエンジンとして作用することは、ワークフローが、エッジコンピュートサーバ構成ツールが動作するマシンに対する変更の産物であり、それ自体が厳格に定義されるエンティティではないことを意味する。例において、この設計は、複数の利点を有し、すなわち、(a)ステートエンジン設計は、すべてのアクションの必要条件が識別され定義されることを強制する;(b)設計は、前に言及された必要条件を満たさないマシンに対してアクションが講じられないことを確実にする;(c)複数の非競合アクションが並行して実行され得る。ステートエンジン設計の追加の利点は、エッジコンピュートサーバ構成ツールを通じてアクションを直接駆動しない状態が、それにもかかわらず、定義され報告され得ることである。加えて、サーバ状態、及び、それらの状態にあると判定されたサーバに関して講じられるアクションの両方がユーザインタフェースを通じて構成可能であり得るので、サーバ構成がどのように実行されるかに対する変更は、コード変更無しで行われ得る。
【0034】
図1は、一例に係るネットワークのエッジにおけるエッジコンピュート環境に関連するネットワークにおけるサーバを構成するためのシステムを示す概略図である。概して、エッジコンピュートサーバ構成システム100は、1又は複数のサーバ102a~cなどのサーバ、及び、関連するインテリジェントプラットフォームマネジメントインタフェース(IPMI)デバイス104a~cと通信するエッジコンピュートサーバ構成ツール108を含み得る。いくつかの例において、IPMIデバイスは、統合されたDell Remote Access Controller(iDRAC)デバイスである。エッジコンピュートサーバ構成ツール108はまた、サーバイメージャ106、サポートインタフェース130を提供するコンピューティングデバイス128、ユーザインタフェース124を提供するコンピューティングデバイス122、ユーザポータル132、及びネットワークオーケストレータ134と通信し得る。サーバイメージャ106は例えば、Canonical Ltdによって提供されるMetal as a Serviceシステムであり得る。エッジコンピュートサーバ構成システム100のコンポーネント間のインタラクション及び通信は、本明細書において更に詳細に記載される。
【0035】
例において、サポートインタフェース130は、エッジコンピュートサーバ構成ツール108がサーバにポーリングするサーバ状態を追加、変更、及び/又は除去するためのユーザ入力を可能にするために提供され得る。例えば、エッジコンピュートサーバ構成ツール108は、サポートインタフェース130を公開してコンピューティングデバイス128上にレンダリングし、エッジサーバ構成ツール108によって利用されているリモートサーバ状態、及び、それらの検出された状態の結果として講じられるアクションをユーザがカスタマイズすることを可能にし得る。例えば、ユーザは、選択されたサーバステータス及びサーバプールに基づいて、エッジコンピュートサーバ構成ツール108が実行する1又は複数の動作を選択して、これにより、サーバ構成プロセスを変更し得る。ユーザはまた、サポートインタフェース130を通じて、1又は複数のカスタマイズ可能サーバステータス、既存又は新しいサーバプール、又は、エッジコンピュートサーバ構成ツールに対して入手可能なサーバマシン説明文書からの任意の他の値によって定義される新しいサーバ状態を定義し得る。例えば、ユーザは、エッジコンピュートサーバ構成ツール108に、(a)検出された「準備完了」ステータス、及び、サーバが「消去」プールにあるという判定を含む「消去」状態を定義させ得る。サポートインタフェース130はまた、消去状態の結果として講じられるアクション、例えば、そのような状態におけるサーバのストレージデバイスを消去することを定義するために使用され得る。例において、サーバ構成ツール108はまた、エッジコンピュートサーバ構成ツール108によって使用されるアクション可能状態として定義された消去状態を除去するために使用され得る。サポートインタフェース130はまた、対応する構成アクションを有しない状態を定義するために使用され得る。しかしながら、サポートインタフェース130は、任意のサーバがその状態にあると検出されたときはいつでも(例えばコンピューティングデバイス122への)報告を要求するオプションを含み得る。対応するサーバ状態に基づくサーバ構成プロセスは、
図6A~6Cに関して更に詳細に説明される。
【0036】
サーバ102a~cなど、エッジコンピュート環境に接続された1又は複数のネットワークにおけるサーバは、地理的に任意の場所に配置され得る。したがって、エッジコンピュート環境のユーザは、地理的にユーザの近くにあるサーバを使用して、ネットワークにおけるアクセスしているサーバ間のレイテンシを低減し得る。
【0037】
上で説明されたように、エッジコンピュートサーバ構成ツール108は、エッジコンピュート環境に関連するネットワーク上の1又は複数のサーバにアクセスし、それを構成し、その構成をオーケストレーションし得る。いくつかの場合において、エッジコンピュートサーバ構成ツール108は、本明細書において記載される動作のうちの1又は複数を実行するために実行されるエッジコンピュートサーバ構成アプリケーション112を含み得る。エッジコンピュートサーバ構成アプリケーション112は、コンピュータ可読媒体110(例えばメモリ)に格納され、エッジコンピュートサーバ構成ツール108の処理システム136、又は、下で記載されるものなど、他のタイプのコンピューティングシステム上で実行され得る。例えば、エッジコンピュートサーバ構成アプリケーション112は、Microsoft Windows(登録商標)オペレーティングシステム、Linux(登録商標)オペレーティングシステム又はUNIX(登録商標)オペレーティングシステム環境などのオペレーティングシステム環境において実行され得る命令を含み得る。コンピュータ可読媒体110は、揮発性媒体不揮発性媒体、着脱可能な媒体、取り外し不可能な媒体、及び/又は別の利用可能な媒体を含む。限定ではなく例として、非一時的コンピュータ可読媒体110は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータなどの情報のストレージのための方法又は技術において実装される、非一時的ストレージメモリ、揮発性媒体、不揮発性媒体、着脱可能な媒体、及び/又は取り外し不可能な媒体など、コンピュータストレージ媒体を含む。
【0038】
エッジコンピュートサーバ構成アプリケーション112はまた、エッジコンピュートサーバ構成ツール108に関連するデータ及び情報のストレージのためにコンピュータ可読媒体110のデータソース120を利用し得る。例えば、エッジコンピュートサーバ構成アプリケーション112は、サーバ102a~cなどの、エッジコンピュート環境に接続されたサーバの情報、サーバの1又は複数のコンポーネントについての所望のファームウェア、及び、サーバの期待されるデータを格納し得る。概して、エッジコンピュートサーバ構成アプリケーション112によって利用される任意のデータ又は情報が、データソース120を介して格納及び/又は取得され得る。
【0039】
エッジコンピュートサーバ構成アプリケーション112は、本明細書において記載される動作のうちの1又は複数を実行するための複数のコンポーネントを含み得る。例えば、サーバイメージャ106と通信するために、サーバイメージャコミュニケータ114がエッジコンピュートサーバ構成アプリケーション112に含まれ得る。
図1に示される例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106と通信して、サーバイメージャ106に、サーバ102a~cのうちの1又は複数と通信させ、及び/又は、それらに関する1又は複数の所望の動作を実行させ得る。エッジコンピュートサーバ構成ツール108は、サーバイメージャ106を介して、より多くの、又は、より少ないそのようなサーバ102と通信し得る。
【0040】
サーバイメージャ106は、ネットワーク上のどこかに配置されたサーバを検出し得る。例えば、サーバイメージャ106は、Preboot eXecution Environment(PXE)ブートプロセスを介してサーバを検出し得る。エッジコンピュートサーバ構成ツール108は、サーバイメージャ106にポーリングして、サーバについての情報を識別し得る。例えば、エッジコンピュートサーバ構成ツールは、ポーリングして、サーバの状態を判定し得る。ユーザがサポートインタフェース130を通じて状態をどのように構成するかに応じて、サーバのそれぞれのプール及び/又はステータス(又は追加情報)は、サーバのそれぞれの状態を判定するために使用され得る。検出された状態に応じて、サーバ構成ツール108は、例えば、使用の準備、又は、使用若しくは他のサービス/構成の後のリファービッシュメントのための構成動作を必要とするサーバを識別し得る。1又は複数のサーバが構成又はリファービッシュを必要とするとエッジコンピュートサーバ構成ツール108が判定すると、エッジコンピュートサーバ構成ツール108は、1又は複数のサーバの1又は複数のコンポーネントのファームウェアを所望のファームウェアに更新すること、テンプレートを1又は複数のサーバにロードさせること、サーバにアクセスするために必要なサーバパスワードを生成することなど、1又は複数のサーバに対する動作を実行し得る。これらの動作は、下で説明される方法に関して本明細書において更に詳細に記載される。
【0041】
エッジコンピュートサーバ構成ツール108はまた、構成動作を必要とする1又は複数のサーバに対して動作を実行するようにサーバイメージャ106に命令し得る。例えば、サーバの検出された状態に応じて、サーバイメージャ106は、1又は複数のサーバをコミッショニングし得、これは、例えば、サーバについての情報を収集すること、及び、IPMIパスワードをリセットすることを含む。エッジコンピュートサーバ構成ツール108は、サーバイメージャ106によって収集されたサーバデータを受信して、サーバデータが期待通りであるかどうかを判定し得る。これらの動作は、
図3Aおよび3Bの方法300に関して下で更に詳細に記載される。サーバ102a~cのIPMIデバイス104a~cは、サーバのオペレーティングシステムから独立した、サーバのモニタリング及びアクセスを可能にする。IPMIデバイス104a~cはまた、電源オフ状態のサーバを管理することを可能にする。例えば、サーバ102aは電源オフされ得る。サーバイメージャ106は、IPMIデバイス104aに関連するIPMIパスワードをIPMIデバイス104aに提供し、サーバ102aを電源オンすることが可能であり得る。IPMIデバイス104a~cはまた、それぞれのサーバを電源オフするために使用され得る。いくつかの例において、各サーバはそれ自体の関連するIPMIデバイスを有する。
【0042】
1又は複数のサーバ102の検出された状態に応じて、サーバイメージャ106はまた、1又は複数のサーバをエッジコンピュート環境及び/又はネットワークから隔離させ、1又は複数のサーバに対してテストを実行し、1又は複数のサーバを電源オン及びオフし、1又は複数のサーバの1又は複数のストレージデバイスを消去するなどを行い得る。これらの動作は、
図3Aおよび3Bの方法300、ならびに、
図5、5Aおよび5Bの方法500に関して下で更に詳細に記載される。
【0043】
エッジコンピュートサーバ構成アプリケーション112はまた、ユーザポータル132と通信するためにユーザポータルコミュニケータ118を含み得る。例えば、ユーザポータルコミュニケータ118は、ユーザポータル132と通信し得、その結果、ユーザポータル132は、エッジコンピュート環境に関連するネットワークにおけるどのサーバが使用のために利用可能であるかを認識する。ユーザポータルコミュニケータ118は、サーバの地理的位置及びサイズなどのサーバに関連する情報をユーザポータル132に提供し得る。
【0044】
ユーザポータル132は、ユーザインタフェースプログラム124を実行するコンピューティングデバイス122と通信し得る。コンピューティングデバイス122は、データを表示するためにコンピュータモニタなどのディスプレイ上に表示されるユーザインタフェース(例えば、コマンドラインインタフェース(CLI)、グラフィカルユーザインタフェース(GUI)など)124を提供し得る。ユーザポータル132は、ユーザインタフェース124上に表示されるすべての情報をコンピューティングデバイス122に提供し得る。例えば、ユーザポータル132は、使用のために利用可能な1又は複数のサーバのリスト、並びに、サーバの地理的位置及びサイズなどの関連情報を提供し得る。ユーザポータル132はまた、使用のために選択されているサーバの所望の特性をユーザが選択するための入力を提供し得る。ユーザが使用のためにサーバを選択するとき、ユーザポータル132は、サーバをユーザに割り当て、
図4に示された、本明細書において更に詳細に記載される方法400に従って、サーバをユーザのために構成させ得る。
【0045】
追加的に、ユーザポータルは、ユーザがユーザインタフェース124を通じてサーバを解放するための選択可能な入力を提供し得る。ユーザインタフェース124を通じて、ユーザは、1又は複数の入力デバイスを通じてエッジコンピュート環境に関連するネットワークの1又は複数のサーバをリース又は解放するための入力を提供し得る。例えば、ユーザは、サーバ102aなど利用可能なサーバをリースする、又は、ユーザが現在使用しているがもはや使用を望まないサーバ102bなどのサーバを解放することを選択し得る。入力をユーザインタフェース124に提供するための入力デバイスは、数ある中でも特に、ユーザインタフェースにデータを入力するための、又は、それとインタラクトするためのキーボード又はポインティングデバイス(例えば、マウス、トラックボール、ペン、又はタッチ画面)を含み得る。ユーザポータル132は、ユーザインタフェースを提供する複数のコンピューティングデバイスに接続され得る。
【0046】
例において、サーバを解放する指示をユーザが提供するとき、ユーザポータル132は、プールにある及び/又はサーバがリファービッシュメントを必要とすることを示すステータスを有するものとして、解放されたサーバをマークするようサーバイメージャ106に命令し得る。マークされたサーバはその後、
図5、5Aおよび5Bの方法500に記載されるようにエッジコンピュートサーバ構成ツール108によってリファービッシュされる必要があると判定されることが可能となる。いくつかの例において、ユーザポータル132はまた、解放されたサーバのスイッチポートを再構成するようにネットワークオーケストレータ134に命令する。
【0047】
エッジコンピュートサーバ構成ツール108はまた、サーバ構成計画を構築又は生成するためのサーバ構成ジェネレータ116を含み得る。概して、サーバ構成ジェネレータ116は、サーバイメージャ106又はユーザポータル132にポーリングすることによって、特定のサーバに必要な構成動作を判定し、サーバイメージャ106及び/又はデータソース120からサーバデータを受信する。サーバ構成ジェネレータ116は、検出された状態に応じて、サーバを構成するための動作又は構成ステップのリストを生成する。サーバ構成ジェネレータ116の動作のうちの1又は複数は、下で説明される方法を参照して、下で更に詳細に記載される。いくつかの場合において、エッジコンピュートサーバ構成アプリケーション112は、サーバ構成ジェネレータ116によって生成された構成計画のうちの1又は複数を実行し、エッジコンピュート環境と関連するネットワークにおける1又は複数のサーバを構成し得る。一例において、構成計画の実行は、構成計画の少なくとも一部を実行するようにサーバイメージャ106に命令するサーバイメージャコミュニケータ114を含み得る。
【0048】
エッジコンピュートサーバ構成アプリケーション112はまた、コンピューティングデバイス128と通信するためのサポートコミュニケータ126を含み得る。例えば、サーバが適切なコミッショニングに失敗するとき、サーバデータが期待通りでないとき、及び/又は、サーバテストが失敗するとき、サポートコミュニケータ126は、アラートをコンピューティングデバイス128へ送信し得る。アラートは、サーバが体験している問題を詳細に説明し得る。サポートコミュニケータ126は、サポートインタフェース130を実行しているコンピューティングデバイス128と通信し得る。コンピューティングデバイス128は、データを表示するために、コンピュータモニタなどのディスプレイ上に表示されるサポートインタフェース(例えば、コマンドラインインタフェース(CLI)、グラフィカルユーザインタフェース(GUI)など)130を提供し得る。サポートインタフェース130を通じて、ユーザは、サポートコミュニケータ126によって配信されるアラートを視認し、アラートが発行されたサーバが体験している1又は複数の問題に対処するための入力を提供し得る。例えば、サーバの配線が期待通りでない場合、サポートインタフェースは、サーバの配線を問題として識別するアラートを表示し得る。ユーザはその後、サポートインタフェース130を通じて入力を提供することによって、メンテナンス又は他の動作をスケジュールし得る。入力をサポートインタフェース130に提供するための入力デバイスは、上で記載される入力のいずれかを含み得る。
【0049】
エッジコンピュートサーバ構成アプリケーション112はまた、ネットワークオーケストレータ134と通信するためのネットワークオーケストレータコミュニケータ138を含み得る。ネットワークオーケストレータ134は、サーバがコミッショニング、リファービッシュ、及び、そうでなければ使用のためにビルドされるビルドネットワークへサーバを移行させる、及び/又は、サーバが動作している、又は動作することになるユーザの仮想ローカルエリアネットワーク(VLAN)へサーバを移行させるために1又は複数のサーバのスイッチポートを再構成し得る。
【0050】
本明細書において記載されるコンポーネントは、単に例として提供されること、及び、エッジコンピュートサーバ構成アプリケーション112は、本明細書において記載されるものに対して、異なるコンポーネント、追加のコンポーネント、又は、より少ないコンポーネントを有し得ることが理解されるべきである。例えば、
図1に記載される1又は複数のコンポーネントは、単一コンポーネントに組み合わされ得る。別の例として、本明細書において記載される特定のコンポーネントは、エッジコンピュートサーバ構成ツール108にリモートで連結されたものなど、他のコンピューティングシステム上で符号化され、実行され得る。
【0051】
図1Aは、ユーザ定義サーバ状態及び関連する構成動作に基づいて、複数のサーバを自律的に構成するための方法140を示すフローチャートである。例において、方法140の一部又は全部がエッジコンピュートサーバ構成ツール108によって実行され得る。始めに動作141において、複数のサーバ状態の定義が受信され得る。例えば、エッジコンピュートサーバ構成ツール108が、システム100内のサーバの検出された状態に基づいて特定のワークフローアクション(例えば構成動作)を実行するために、ステートマシンとして動作し得るように、ユーザは、サポートインタフェース130を通じて新しい、又は、カスタムのサーバ状態を定義し得る。説明されるように、例において、サポートインタフェース130は、エッジコンピュートサーバ構成ツール108がサーバにポーリングするサーバ状態を追加、変更、及び/又は除去するためのユーザ入力を可能にする。例えば、エッジコンピュートサーバ構成ツール108は、サポートインタフェース130を公開してコンピューティングデバイス128上にレンダリングし、エッジサーバ構成ツール108によって利用されているリモートサーバ状態をユーザがカスタマイズすることを可能にし得る。ユーザはまた、サポートインタフェース130を通じて、1又は複数のカスタマイズ可能サーバステータス、既存又は新しいサーバプール、又は、例えばエッジコンピュートサーバ構成ツールに対して入手可能なサーバマシン説明文書からの任意の他の値によって定義される新しいサーバ状態を定義し得る。非排他的な一例として、ユーザは、エッジコンピュートサーバ構成ツール108に、(a)検出された「準備完了」ステータス、及び、サーバが「消去」プールにあるという判定を含む「消去」状態を定義させ得る。例において、サーバプールは、サーバイメージャ106上で判定及び/又は維持され得る。例において、サーバ構成ツール108はまた、エッジコンピュートサーバ構成ツール108によって使用されるアクション可能状態として、定義された消去状態など、定義されたサーバ状態を除去するために使用され得る。
【0052】
動作142において、サーバ状態の各々についての定義される機能フローアクション(例えば、構成動作)が受信される。例えば、ユーザは、検出されたサーバ状態(例えば、他の情報の中でも特に、選択されたサーバステータス及びサーバプール)に基づいてエッジコンピュートサーバ構成ツール108が実行する1又は複数の構成動作を選択又は定義し得、これにより、コード変更無しで、サーバ状態定義及び対応する機能フローアクションに基づいてサーバ構成プロセスを変更する。非排他的な例として、サポートインタフェース130は、消去状態の結果として講じられるアクション(例えば、そのような状態のサーバのストレージデバイスを消去させる)を定義するために使用され得る。
【0053】
動作143において、サーバ状態は判定される。例えば、エッジコンピュートサーバ構成ツール108は、各サーバの状態を判定するために、システム100におけるサーバ(例えば、サーバ102a、102bおよび102c)の全部にポーリングし(又は、サーバイメージャ106にポーリングさせ)得る。例において、サーバは、定期的に、又は、オンデマンドでポーリングされる。他の例において、サーバは、(例えばサーバイメージャ106を通じて)状態情報をエッジコンピュートサーバ構成ツール108にプッシュするようにプログラムされる。サーバ状態は、エッジコンピュートサーバ構成ツール108によって、各サーバ及び/又はサーバイメージャ106からサーバマシン説明文書を取得することによって判定され得る。サーバマシン説明文書は、定義された状態定義に基づいてエッジコンピュートサーバ構成ツール108が状態を判定するために必要な情報を含み得る。サーバ状態がサーバのステータス及び/又はサーバが配置されたプールに基づく例において、そのような情報は、各サーバによって、(例えば、サーバマシン説明文書において)エッジコンピュートサーバ構成ツール108に返され得、その結果、各サーバの状態が判定され得る。
【0054】
動作144において、検出されたサーバ状態の各々についての定義されたワークフローアクション(例えば、構成動作)が判定され、動作145において、そのようなアクションが実行される。例えば、エッジコンピュートサーバ構成ツール108は、サーバ102aが消去状態にあると、及び、そのサーバ状態について定義されたワークフローアクションが、そのサーバ上のストレージデバイスを消去させることであると判定し得る。エッジコンピュートサーバ構成ツール108はまた、サーバ102bが「新」ステータスを有し、「デフォルト」プールにあると判定し得、その結果、その状態は「コミッショニングが必要」である。したがって、エッジコンピュートサーバ構成ツールは、サーバ102aに、そのストレージデバイスを消去させ、一方、サーバ102bにコミッショニングプロセスを開始させ得る。例において、定義されたワークフローアクションが実行された後、サーバは、異なるプール及び/又はステータスに移行され得る。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106に、そのサーバが割り当てられたプールを変更させ得る。
【0055】
例において、フローは定期的に動作145から動作143に戻り、サーバ状態を繰り返しチェックし、システム内の対応するワークフローアクションを実行し得る。例において、1又は複数のサーバ状態及び/又は定義されたワークフローアクションの新しい定義が受信された場合、フローはまた、動作141又は142に戻り得る。例において、方法140は、システム100における多数のサーバに対して同時に実行され得、(例えば、動作143において)サーバ状態が判定される時点におけるその状態に基づいて、システムにおける各サーバが自律的に管理されることを可能にする。この方式において、サーバは、サーバ状態が判定される時点における個別のサーバ状態に応じて、異なるステージにおけるサーバ構成プロセスを通じて自律的に伝播され得る。
【0056】
図1Bから
図5Bは、例による、自律的にサーバをコミッショニング及びリファービッシュし、サーバを使用のために利用可能にするためのシステム及びプロセスを記載する。サーバ構成を通じたサーバの伝播におけるサーバ状態の使用の例はまた、
図6A~6Cに関し更に詳細に説明される。
【0057】
図1Bは、自律的にサーバを使用のために利用可能にし、サーバをユーザのために構成し、ユーザがサーバを解放するときにサーバをリファービッシュするための方法150を示すフローチャートである。始めに動作152において、サーバは顧客の使用のために利用可能であるように構成される。例えば、サーバは、
図3Aおよび3Bに示され下で詳細に記載される方法300に従って、顧客の使用のために利用可能なサーバのプールにおいて構成及び公開され得る。サーバは、新しいサーバ又はリファービッシュされたサーバであり得る。
【0058】
フローは動作154に進み、ユーザは、使用のために利用可能なサーバのプールからサーバを選択する。例えば、ユーザは、コンピューティングデバイス122のユーザインタフェース124を通じて、ユーザが使用を望むサーバの特性を選択し得る。ユーザが使用のためのサーバを選択するとき、フローは動作156に進む。動作156において、サーバが使用のために構成される。例えば、
図4に示され下で詳細に記載される方法400に従って、サーバがユーザのために割り当てられ得、そのユーザによる使用のために構成され得る。説明されるように、サーバは、様々な状態を通じてサーバを伝播することによって構成され、特定の構成動作の自動実行をもたらし得る。
【0059】
サーバがユーザに割り当てられ構成され、ユーザがもはやサーバを必要としなくなった後のいくつかの時点において、フローは動作158に進み、ユーザはサーバを解放する。例えば、ユーザは、コンピューティングデバイス122のユーザインタフェース124を介して、ユーザがもはや必要としないサーバを解放することを要求し得る。ユーザがサーバを解放するとき、フローは動作160に進む。動作160において、サーバはリファービッシュされる。例えば、サーバは、
図5、5Aおよび5Bに示され下で詳細に記載される方法500に従ってリファービッシュされ得る。
【0060】
サーバがリファービッシュされると、フローは動作152に戻り、リファービッシュされたサーバは、別のユーザによる使用のために準備するよう再び構成される。例において、方法150は、
図1に示されるエッジコンピュートサーバ構成システム100の1又は複数のコンポーネントによって自動的に完了され得る。したがって、任意の数の新しいサーバ及びリファービッシュされたサーバが使用のために自動的に準備され得、ユーザによって解放された任意の数のサーバが自動的にリファービッシュされ、その後、別のユーザによる使用のために準備するよう構成され得る。
【0061】
図2は、一実施形態によるネットワークのエッジサイトのエッジコンピュート環境200を示す概略図である。概して、
図2のエッジコンピュート環境200は、エッジサイトに接続された、又はそうでなければ、それと通信する、顧客にコンピュートサービスを提供し得るネットワーク又はネットワーク202a-202cの集合のエッジサイトのコンポーネントの一例を示す。ネットワーク202のエッジサイトにおける環境200を提供することによって、サーバは、コンピュート環境がネットワーク内により深く含まれる、又は、ネットワークの要求する顧客からより遠く離れている場合と比べて、より低いレイテンシで顧客に提供され得る。しかしながら、エッジコンピュートシステムは、
図2に示されるものより多い又は少ないコンポーネントを含み得、示されるもの以外の構成に接続され得ることを理解されたい。むしろ、
図2のシステム200は、エッジコンピュートシステムに接続された、又はそうでなければ通信しているデバイス又はネットワークにコンピュートサービスを提供するためのエッジコンピュートシステム200の単なる一例である。
【0062】
図示の場合では、システム200のコンポーネントを、1又は複数のネットワーク202a~cのエッジにあるネットワークサイトに設置又は関連付けてもよい。概して、ネットワークのエッジサイトは、ネットワークのサービス及び伝送ルートへのアクセスのために、顧客の機器がネットワーク202に接続され得るネットワークサイトである。更に、上で説明されるように、ネットワーク202は、汎用ネットワーク202を形成するために相互接続される1より多くのパブリック及び/又はプライベートネットワークを含み得る。各ネットワークのインスタンスは、関連するネットワークに対してゲートウェイ又はイングレス/エグレスデバイスを提供する1又は複数のエッジデバイス203を含み得る。
図2において、ネットワーク202aは、エッジデバイス203aを含み得、ネットワーク202bは、エッジデバイス203bを含み得、ネットワーク202cは、エッジデバイス203cを含み得る。ネットワーク202の各エッジデバイス203は、1又は複数のスパインスイッチデバイス204a-bに接続するか、又はそうでなければ通信し得る。1又は複数のホストリーフスイッチ206a-bは、環境200の1又は複数のスパインスイッチデバイス204a-bと相互接続して、エッジデバイス203を介してネットワーク202に接続するためのスイッチメッシュを形成し得る。いくつかの場合において、より多い又はより少ないスパインスイッチデバイス204、及び/又は、ホストリーフスイッチ206がエッジコンピュート環境200に含まれ得る。更に、各スパインスイッチ204及びホストリーフスイッチ206は、対応するスイッチに対して冗長フェイルオーバーサービスを提供し得る。
【0063】
1又は複数のアプリケーションサーバ208a~n又は他のタイプのサーバが各ホストリーフスイッチ206に接続され得る。一実装において、サーバ208は、アプリケーションをホスト及び実行して、特定のサービスをネットワーク202の顧客に提供し得る。他の実装において、サーバ208は、それらの使用のために顧客によってリースされ得る。例えば、サーバ208は、コンピュートサービス(及び他のクラウドコンピューティングサービス)を、サーバ208と通信する顧客に提供するよう構成され得る。更に、そのような16のサーバが
図2に示されているが、環境200は、サービスを顧客にリース及び/又は提供するための、より多くの、又は、より少ないサーバ208を含み得る。環境200はまた、スイッチングメッシュ及びサーバ208との通信の態様を管理するために、ホストリーフスイッチ206に接続されたホストマネジメントスイッチ210を含み得る。
図2の環境200を通じて、エッジコンピュートサービス及び/又はサーバへのアクセスが、そのようなサービス及び/又はネットワーク202からのサーバへのアクセスを要求しているネットワーク202の顧客に提供され得、一方で、顧客にサービスを提供するレイテンシを低減する。例において、
図2に描写されるサーバ又は他のデバイスのいずれかは、本願において説明されるシステム及び方法に従って構成及び/又はリファービッシュされ得るサーバ102a、102b、及び/又は102cの例であり得る。
【0064】
図3Aは、使用の準備のためにサーバを構成するための方法300を示すフローチャートである。一実装において、方法300の動作のうちの1又は複数は、エッジコンピュートサーバ構成アプリケーション112によって実行され得る。他の実装において、動作のうちの1又は複数は、エッジコンピュートサーバ構成ツール108又は更に他のシステムの他のコンポーネントによって実行され得る。動作は、関連システムのハードウェアコンポーネント、システムのソフトウェアプログラム、又は、ハードウェア及びシステムのソフトウェアコンポーネントの組み合わせによって実行され得る。フローは、構成されている1又は複数のサーバの状態(例えばプール及びステータス)に基づいて、方法300の異なる動作に進み得る。例において、複数のサーバの状態は同時に判定され得る。したがって、方法300の要素は、異なるサーバに対して並行して実行され得る。
【0065】
始めに動作302において、サーバがコミッショニングされる必要があると判定される。例えば、エッジコンピュートサーバ構成ツール108は、検出された状態(例えば、プール及びステータス)に基づいて、サーバがサーバのコミッショニングを必要とすると判定する。一例において、サーバは新しいサーバである。新しいサーバは、「新」ステータスを有し、「デフォルト」プールにあり得る。サーバ状態は、サーバの条件(例えば、「新」又は「リファービッシュ済み」)を含み得、サーバプールは、1又は複数のサーバの定義されたグループであり得る。例において、ユーザは、サポートインタフェースを通じて、各サーバのステータス及びプール(例えば、「新」ステータス及び「デフォルト」プール)に基づいて、「コミッショニングが必要」の状態を定義し得る。概して、サーバは、エッジコンピュート環境に関連する、地理的にどこかにある任意のネットワークに配置され得る。例えば、サーバは、
図1に示されるサーバ102a~cのいずれか、又は、図示されないエッジコンピュート環境に関連するネットワークにおけるサーバであり得る。いくつかの例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106と通信することによって、サーバがコミッショニングを必要としていると判定する。エッジコンピュートサーバ構成ツール108は、サーバイメージャ106に継続的にポーリングして、サーバについての情報(例えば、ステータス、プール、又は他のユーザ構成可能情報)を判定することによって、サーバがコミッショニングを必要としているかどうかを判定し得る。例えば、エッジコンピュートサーバ構成ツール108は、30分ごとにサーバイメージャ106にポーリングして、コミッショニングを必要とするサーバを発見し得る。例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106にポーリングして、「新」ステータスのサーバを識別し、コミッショニングを必要とする新しいサーバを示す。例において、サーバは既にビルドネットワークにある。他の例において、サーバは、前のユーザのネットワーク(VLANなど)などの異なるネットワークにあり得、ユーザポータル132は、サーバをビルドネットワークへ移行させるようにネットワークオーケストレータ134に命令し得る。エッジコンピュートサーバ構成ツール108がサーバイメージャ106にポーリングするとき、エッジコンピュートサーバ構成ツール108は、エッジコンピュート環境に関連するネットワークにおける複数のサーバ及び/又はすべてのサーバについての情報を受信し得る。例において、エッジコンピュートサーバ構成ツール108は、複数のサーバがコミッショニングを必要とすると判定し、すべてのサーバについてコミッショニングプロセスを同時に開始し得る。加えて、異なる状態にあると検出された複数のサーバは、それらの状態にあるサーバについてユーザによって定義されたアクションに基づいて、同時に対処され得る。
【0066】
この例において、サーバがコミッショニングを必要とすると判定されると、フローは動作304に進む。動作304において、サーバは名称変更される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャコミュニケータ114を介して、サーバを名称変更するようにサーバイメージャ106に命令し得る。サーバイメージャ106は、サーバが識別され得るように、所望の命名プロトコルに従ってサーバを名称変更し得る。例えば、名称は、サーバの特徴及び/又はサーバの接続に基づき得る(
図6A~6Cに関して更に詳細に説明される)。
【0067】
サーバが名称変更されると、フローは動作306に進む。フローは、サーバが異なる状態に移行することに基づいて、特定のサーバに関して進み得る。例えば、動作304においてサーバが名称変更されると、そのサーバの状態は変更され得、それにより、サーバの状態が再び判定されるときに、そのサーバの新しい状態について定義される次の構成動作は動作306である。動作306において、コミッショニングを必要とするサーバの1又は複数のコンポーネントについてのファームウェアは更新され得る。いくつかの例において、エッジコンピュートサーバ構成ツール108は、サーバの1又は複数のコンポーネントについて所望のファームウェアを判定する。他の例において、エッジコンピュートサーバ構成ツール108はまた、データ及び情報のストレージのためにコンピュータ可読媒体110のデータソース120を利用し得る。例えば、エッジコンピュートサーバ構成アプリケーション112は、エッジコンピュート環境に関連するネットワークにおけるサーバの1又は複数のコンポーネントについての所望のファームウェアを格納し得る。エッジコンピュートサーバ構成ツール108は、サーバの1又は複数のコンポーネントについての所望のファームウェアを、コンポーネントにインストールされたファームウェアと比較して、どのコンポーネントを更新するかを判定する。エッジコンピュートサーバ構成ツール108は次に、サーバの判定されたコンポーネントに、所望のファームウェアに更新させる。例えば、サーバ構成ジェネレータ116は、コミッショニングを必要とするサーバの任意のコンポーネントについて既存のファームウェアを判定し、コミッショニングを必要とするサーバのコンポーネントについて所望のファームウェアを生成及び/又は取得し得る。構成を必要とするサーバのコンポーネントが所望のファームウェアバージョンを有しない場合、サーバ構成ジェネレータ116は、サーバコンポーネントの所望のファームウェアをアップロード又は更新させ得る。いくつかの例において、サーバ構成ジェネレータ116は、サーバイメージャ106と通信して、サーバコンポーネントのファームウェアをアップロード又は変更する。サーバ構成ジェネレータ116は、サーバのどのコンポーネントが変更される必要があるかをサーバイメージャ106に示し得る。サーバイメージャ106は次に、サーバコンポーネントのファームウェアを変更し得る。
【0068】
サーバのコンポーネントが所望のファームウェアを有するとき、(例えば、説明されたように、動作306の後の特定のサーバの変更された状態に基づいて)フローは動作308に進む。動作308において、コミッショニングを必要とするサーバ上にテンプレートがロードされる。例えば、エッジコンピュートサーバ構成ツール108は、テンプレートがサーバ102a~cのうちの1又は複数にロードされるようにし得る。いくつかの例において、テンプレートは、ゴールデンイメージである。ゴールデンイメージは、サーバ上のIPMIデバイスにロードされ得る。例えば、Dellブランドサーバが使用される場合、エッジコンピュートサーバ構成ツール108は、iDRACゴールデンイメージをサーバ上のiDRACデバイスにロードする。更なる例において、動作306および308は、単一の動作に組み合わされ得、テンプレートは、サーバの1又は複数のコンポーネントについての所望のファームウェアを含む。ロードされたテンプレートは、サーバのファームウェアを所望のファームウェアで置き換え得る。
【0069】
テンプレートがサーバにロードされると、(例えば、説明されたように、動作308の後の特定のサーバの変更された状態に基づいて)フローは動作310に進む。動作310において、IPMIルートパスワードが設定される。例えば、エッジコンピュートサーバ構成ツール108は、構成を必要とするサーバと通信してアクセスするために必要であるIPMIルートパスワードを設定し得る。具体的には、サーバ構成ジェネレータ116は、パスワードを、サーバのIPMIデバイスにアクセスするために使用される標準パスワードに設定し得る。一例において、サーバイメージャ106は、サーバと通信するために標準IPMIルートパスワードを有する。別の例において、サーバイメージャ106がサーバと通信してそれを構成し得るように、サーバ構成ジェネレータ116は、サーバイメージャコミュニケータ114を介してルートパスワードをサーバイメージャ106に提供し得る。
【0070】
サーバパスワードが生成されると、(例えば、説明されたように、動作310の後の特定のサーバの変更された状態に基づいて)フローは動作312に進む。動作312において、IPMI電源パスワードが設定された。例えば、エッジコンピュートサーバ構成ツール108は、サーバを電源オン及びオフするために必要なIPMI電源パスワードを設定し得る。例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106が格納するIPMI電源パスワードを送信するようサーバイメージャ106に命令する。エッジコンピュートサーバ構成ツール108は、IPMI電源パスワードをサーバイメージャ106から受信されたIPMI電源パスワードに設定し得、サーバイメージャ106がサーバを電源オン及びオフすることを可能にする。
【0071】
IPMI電源パスワードが設定されると、(例えば、説明されたように、動作312の後の特定のサーバの変更された状態に基づいて)フローは動作314に進み、サーバイメージャはサーバをコミッショニングするように命令される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャコミュニケータ114を介して、サーバをコミッショニングするようにサーバイメージャ106に命令する。サーバをコミッショニングすることは、サーバを構成すること、サーバについての情報を収集すること、及び他の動作を含み得る。例において、サーバのコミッショニングは、サーバを電源オンすることを含む。例えば、サーバイメージャ106は、IPMI電源パスワードを使用してサーバを電源オンし得る。新しいサーバが電源オフ状態で設置されるので、サーバはコミッショニング中に電源オンされ得る。いくつかの例において、サーバのコミッショニングは、サーバのサイズの情報、サーバの地理的位置、及び、物理ポートについての情報を収集すること、及び、サーバを配線することを含む。サーバサイズは、揮発性メモリ(例えば、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)など)、及び/又は、不揮発性メモリ(例えば、リードオンリメモリ(ROM)フラッシュメモリなど)を含み得るストレージの量に基づき得る。サイズはまた、物理ディスク又は仮想ディスクであり得るストレージディスクの量に基づき得る。いくつかの例において、サーバサイズは、サーバの中央演算処理装置の特性に基づく。サーバイメージャ106は、サーバのサイズに基づいてサイズタグをサーバに割り当て得る。例において、サーバイメージャ106は、サーバに関連するリンク層検出プロトコル(LLDP)データを使用して、サーバの位置を判定する。サーバイメージャ106は、LLDPデータなど、サーバ位置データに基づいて位置タグをサーバに割り当て得る。いくつかの例において、位置タグは、共通言語位置識別子(CLLI)タグである。いくつかの例において、LLDPデータは、物理ポート及び配線に関する情報を取得するために使用される。
【0072】
サーバがコミッショニングされるとき、フローは動作316に進み、サーバがコミッショニングされるかどうかが、例えばエッジコンピュートサーバ構成ツール108によって判定される。いくつかの例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106にポーリングすることによって確認を受信する。サーバイメージャ106は、コミッショニングが完了した後に「準備完了」ステータスをコミッショニングされたサーバに割り当て得、又は、コミッショニングが不成功である場合、「コミッショニング失敗」ステータスを割り当て得る。サーバイメージャコミュニケータ114は、サーバイメージャ106にポーリングして、「準備完了」又は「コミッショニング失敗」ステータスを有する1又は複数のサーバを識別し得る。例えば、サーバイメージャコミュニケータ114は、サーバイメージャ106に5分ごとにポーリングして、「準備完了」又は「コミッショニング失敗」ステータスを有するサーバをチェックし得る。
【0073】
コミッショニングが不成功であり、サーバが「コミッショニング失敗」ステータスを有する場合、フローは動作318に進む。例えば、サーバイメージャ106は、サーバイメージャ106がコミッショニングできなかったサーバに「コミッショニング失敗」ステータスを付与し得る。サーバは、複数の理由から、コミッショニングに失敗し得る。例えば、ディスクがサーバにおいて故障していることがあり得、悪意のあるソフトウェアがサーバにインストールされていることがあり得、及び/又は、他の物理的又はソフトウェア関連の故障があり得る。エッジコンピュートサーバ構成ツール108がサーバイメージャコミュニケータ114を介してサーバイメージャ106にポーリングするとき、エッジコンピュートサーバ構成ツール108は、「コミッショニング失敗」ステータスを有するサーバを識別し得る。
【0074】
動作318において、コミッショニング失敗アラートがログ記録される。例えば、エッジコンピュートサーバ構成ツール108が「コミッショニング失敗」ステータスを有するサーバを検出するとき、エッジコンピュートサーバ構成ツール108は、コミッショニング失敗アラートをユーザポータル132へ送信することによってアラートをログ記録し得る。ユーザポータルがコミッショニング失敗アラートを受信するとき、ユーザポータル132は、コンピューティングデバイス128と通信することによってサポートチケットを開き得る。別の例において、エッジコンピュートサーバ構成ツール108が「コミッショニング失敗」ステータスを有するサーバを検出するとき、エッジコンピュートサーバ構成ツール108は、サポートコミュニケータ126を介してコンピューティングデバイス128と直接通信し、サポートチケットを開くことなどによって、問題をログする、及び/又は、コンピューティングデバイス128のユーザにアラートし得る。コンピューティングデバイス128がサポートインタフェース130にアラート及び/又はサポートチケットを表示するとき、ユーザは、アラート及び/又はサポートチケットを視認し得る。アラートは、サーバの名称、サーバのサイズ、サーバの地理的位置、及び/又は、サーバがコミッショニングに失敗した理由を含む、コミッショニングに失敗したサーバについての情報を含み得る。アラートは、サーバの対面メンテナンスなど、使用のためにサーバの構成を継続するのに必要なメンテナンスをユーザがスケジュール及び/又は実行することを可能にし得る。
【0075】
コミッショニング失敗アラートがログ記録されると、フローは動作320に進み、サーバが隔離される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106に命令して、サーバをエッジコンピュート環境及び/又はネットワークから隔離させる。サーバイメージャ106は、サーバを隔離することにより、サーバに格納され得る悪意のあるソフトウェアをサーバが広げることを防止する、及び/又は、そうでなければサーバがエッジコンピュート環境、ネットワーク、及び、エッジコンピュート環境に関連するサーバにおける他のサーバの動作に干渉することを防止し得る。いくつかの例において、サーバイメージャ106は、サーバが有する任意のデータポートをオフにすることによって、サーバを隔離し得る。
【0076】
サーバが必要とするメンテナンスが完了すると、サーバは再びコミッショニングされ得る。例えば、サーバイメージャ106は、サーバをコミッショニングすることを再試行し得る。フローは、コミッショニングが失敗した理由に応じて、302又は314に戻る。いくつかの例において、前に完了した方法300のいくつかのステップは、フローが動作302に進むとき、サーバがメンテナンスを必要とした理由に基づいて、省略され得る。同様に、判定されたとき、これはサーバの状態に基づき得る。
【0077】
動作316を再び参照すると、エッジコンピュートサーバ構成ツール108は、サーバが「準備完了」ステータスを有するときサーバがコミッショニングされるという確認を有する。サーバが「準備完了」ステータスを有するとエッジコンピュートサーバ構成ツール108が判定した場合、フローは
図3Bに進む。
【0078】
図3Bは、使用の準備のためにサーバを構成するための継続する方法300を示すフローチャートである。サーバがコミッショニングに成功したと判定されると、フローはその後、(説明されたように、例えば、特定のサーバの変更された状態に基づいて、)動作322に進む。動作322において、サーバイメージャは、サーバをテストするために命令される。例えば、エッジコンピュートサーバ構成ツール108は、コミッショニングされたサーバをテストするようにサーバイメージャ106に命令する。サーバイメージャ106は、サーバに対して1又は複数のテストを実行し得る。いくつかの例において、サーバイメージャ106は、不揮発性メモリ及び/又は揮発性メモリを含む、サーバのメモリをテストし、サーバのディスクをテストし、物理ポート及びサーバの配線をテストし、サーバにバーンイン試験及び/又は他のハードウェアテストを実行させ得る。
【0079】
別の例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106によって報告されたハードウェア構成を、サーバ構成ジェネレータ116によって生成され及び/又はデータストア120に格納されるテンプレートなどの1又は複数の構成可能テンプレートと比較することによってサーバをテストする。エッジコンピュートサーバ構成ツール108は、報告されたハードウェア構成を、1又は複数の構成テンプレートと比較して、エッジコンピュートサーバ構成ツール108が期待する特徴をサーバが有することを確実にする。
【0080】
追加の例において、エッジコンピュートサーバ構成ツール108は、サーバ、及び、サーバが接続される任意のデバイスの間の接続をバリデートすることによってサーバをテストする。エッジコンピュートサーバ構成ツール108は、接続を1又は複数の構成可能接続マップと比較することによって接続をバリデートする。接続マップは、サーバがどのように接続されることが期待されるかについての情報を含む。
【0081】
バーンイン試験は、重い持続的な使用において、サーバメモリ及び中央演算処理装置を検査する。例において、バーンイン試験は、ユーザの使用のために選択するのに利用可能なサーバが十分存在する場合だけ実行される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャコミュニケータ114を介して、サーバイメージャ106にポーリングして、ユーザ選択のために利用可能なサーバインベントリを判定し得る。サーバインベントリが、予め定められた値であり得る、又は、エッジコンピュートサーバ構成ツール108によって決定され得る十分な値である場合、サーバは、バーンイン試験を実行させられ得る。
【0082】
テストが完了すると、フローは動作324に進み、1又は複数のテストが成功したかどうかが判定される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャコミュニケータ114を介して、サーバイメージャ106にポーリングして、1又は複数のテストが成功したかどうかを判定し得る。
【0083】
1又は複数のテストが成功した場合、(例えば、説明されたように、特定のサーバの変更された状態に基づいて)フローは動作326に進む。動作326において、サーバイメージャが、構成されたサーバをユーザポータルに公開するように命令される。例えば、エッジコンピュートサーバ構成ツール108は、サーバ及びサーバ名をユーザポータル132に公開するようにサーバイメージャ106に命令し得る。これにより、ユーザインタフェース124のユーザが、使用のために構成されたサーバを選択することを可能にし得る。いくつかの例において、ユーザポータルコミュニケータ118は、ユーザポータル132と通信することによってサーバを公開し得る。他の例において、エッジコンピュートサーバ構成ツール108は、サーバを利用可能なサーバのプールに移行させるようにサーバイメージャ106に命令し得る。例えば、新しいサーバが新しいサーバプールから利用可能なサーバのプールに移行され得る。本明細書において更に詳細に記載される、
図4に示される方法400などにおいて、ユーザが使用のためにサーバを選択するとき、ユーザポータル132は、利用可能なサーバのプールからサーバを選択し得る。
【0084】
1又は複数のテストが成功しない場合、フローは動作328に進む。動作328において、テスト失敗アラートがログ記録される。例えば、エッジコンピュートサーバ構成ツール108は、テスト失敗アラートをユーザポータル132に送信することによってアラートをログ記録し得る。ユーザポータルがコミッショニング失敗アラートを受信するとき、ユーザポータル132は、コンピューティングデバイス128と通信することによってサポートチケットを開き得る。別の例において、エッジコンピュートサーバ構成ツール108は、サポートコミュニケータ126を介して、アラートをコンピューティングデバイス128に直接ログ記録し得る。テストアラートは、コンピューティングデバイス128によって受信され、サポートインタフェース130上に表示され得る。コンピューティングデバイス128がサポートインタフェース130にアラート及び/又はサポートチケットを表示するとき、ユーザは、アラート及び/又はサポートチケットを視認し得る。アラートは、サーバの名称、サーバのサイズ、サーバの地理的位置、及び/又は、サーバがテストに失敗した理由を含む、テストに失敗したサーバについての情報を含み得る。アラートは、サーバの対面メンテナンスなど、使用のためのサーバの準備に必要なメンテナンスをユーザがスケジュール及び/又は実行することを可能にし得る。必要なメンテナンスは、動作330において実行され得る。サーバが必要とするメンテナンスが完了すると、フローは動作326に進み得、サーバはユーザポータルに公開され得る。いくつかの例において、不成功である1又は複数のテストは、コミッショニングされたサーバの重大な問題を示さないことがあり得る。これらの例において、フローは動作326に進み得、サーバは、使用の準備がされ、ユーザポータル132に公開され得る。
【0085】
図4は、特定のユーザについてサーバを構成するための方法400を示すフローチャートである。説明されたように、方法400の1又は複数の動作はまた、特定のサーバの判定された状態に基づき得、方法400の異なる動作は、特定の状態にあるとその後検出される異なるサーバと並行して実行され得る。例において、方法400の動作のうちの1又は複数は、ユーザポータル132によって実行され得る。他の実装において、動作のうちの1又は複数は、エッジコンピュートサーバ構成ツール108又は更に他のシステムの他のコンポーネントによって実行され得る。動作は、関連システムのハードウェアコンポーネント、システムのソフトウェアプログラム、又は、ハードウェア及びシステムのソフトウェアコンポーネントの組み合わせによって実行され得る。
【0086】
始めに動作402において、ユーザがサーバを選択したと判定される。例において、ユーザはユーザインタフェース124を介してサーバを選択する。サーバは、ユーザポータル132によってユーザインタフェース124に公開され得る。ユーザポータル132は、ユーザが使用のためにサーバを選択するかどうかを判定するために、ユーザインタフェース124と通信し得る。例において、ユーザは、サーバのサイズ、及び/又は、ユーザが使用を所望するサーバの他の特性に基づいてサーバを選択し得る。
【0087】
ユーザがサーバを選択したと判定されると、フローは動作404に進み、サーバイメージャは使用のためにサーバを選択するように命令される。例えば、ユーザポータル132は、使用のために利用可能なサーバのプールからサーバを選択するようにサーバイメージャ106に命令する。サーバイメージャ106は、ユーザが所望する特性を有する利用可能なサーバを選択することによって、使用のために利用可能なサーバのプールからサーバを選択する。例えば、サーバイメージャ106は、上で記載される
図3Aの方法300において行われるコミッショニングなど、サーバのコミッショニング中にサーバに割り当てられるサイズタグ及び位置タグを使用して、どのサーバをユーザに割り当て構成するか判定し得る。サーバイメージャ106は、サイズタグ及び位置タグを使用して、ユーザにもっとも近い適切なサイズのサーバを発見し得る。
【0088】
サーバが使用のために選択されるとき、フローは動作406に進む。動作406において、ネットワークオーケストレータは、ユーザネットワークデータを送信するように命令される。例えば、ユーザポータル132は、ユーザネットワークを識別する情報を送信するようにネットワークオーケストレータ134に命令する。
【0089】
フローは動作408に進み、ユーザインターネットプロトコル(IP)データが受信される。例えば、ユーザポータル132は、ユーザIPデータをネットワークオーケストレータ134から受信し得る。
【0090】
ユーザIPデータが受信されると、フローが動作410に進む。動作410において、ユーザデータスクリプトがビルドされる。例えば、ユーザポータル132はユーザデータスクリプトをビルドし得る。ユーザポータル132は、テンプレート、ユーザ供給データ、及びユーザIPデータを使用してユーザデータスクリプトをビルドし得る。例において、ユーザが使用のためにサーバを選択する前に、テンプレートがサーバにロードされる。例において、ユーザ供給データは、ユーザポータル132によってコンピューティングデバイス122から受信される。ユーザは、ユーザインタフェース124を介してデータをコンピューティングデバイス122に入力することによってデータを供給し得る。
【0091】
ユーザデータスクリプトがビルドした後、フローが動作412に進み、サーバイメージャがサーバを展開するように命令される。例えば、ユーザポータル132は、サーバを展開するようにサーバイメージャ106に命令し得る。例において、ユーザポータル132はまた、サーバ展開中に使用するためにユーザデータスクリプトをサーバイメージャ106へ送信し得る。例において、サーバを展開することは、サーバが電源オフのときにサーバを電源オンすることを含む。例えば、サーバイメージャ106は、IPMI電源パスワードを使用して、サーバを電源オンするようにサーバのIPMIデバイスに命令し得る。サーバイメージャ106は、ユーザデータスクリプトを用いてサーバをインストール及び構成する。
【0092】
サーバイメージャがサーバを展開するように命令されると、フローが動作414に進む。動作414において、サーバが展開されたという確認が受信される。例えば、ユーザポータル132は、サーバが展開されたという確認をサーバイメージャ106から受信し得る。例において、ユーザポータル132はサーバイメージャ106に定期的にポーリングして、サーバが「展開済み」ステータスを有するかどうかを判定する。
【0093】
サーバが展開されたという確認が受信されると、フローは動作416に進み、ネットワークオーケストレータは、サーバのポートの少なくともいくつかをユーザのネットワークに移行するよう命令される。例えば、ユーザポータル132は、VLANであり得るユーザのネットワークへサーバのポートを移行させるようネットワークオーケストレータ134に命令し得る。サーバのポートをユーザのネットワークに移行することによって、ユーザがサーバにアクセスして使用することを可能にする。
【0094】
図5は、顧客がサーバを使用した後に、リファービッシュされるようにサーバを構成するための方法500を示すフローチャートである。説明されたように、方法500の1又は複数の動作はまた、特定のサーバの判定された状態に基づき得、方法500の異なる動作は、特定の状態にあるとその後検出される異なるサーバと並行して実行され得る。例において、方法500の動作のうちの1又は複数は、エッジコンピュートサーバ構成アプリケーション112によって実行され得る。他の実装において、動作のうちの1又は複数は、エッジコンピュートサーバ構成ツール108又は更に他のシステムの他のコンポーネントによって実行され得る。動作は、関連システムのハードウェアコンポーネント、システムのソフトウェアプログラム、又は、ハードウェア及びシステムのソフトウェアコンポーネントの組み合わせによって実行され得る。フローは、サーバの状態がリファービッシュ済みであることに基づいて、方法500の異なる動作に進み得る。
【0095】
始めに動作502において、サーバがリファービッシュされる必要があると判定される。例えば、ユーザポータル132は、ユーザがサーバを解放して、利用可能なサーバプールに戻すとき、サーバがリファービッシュされる必要があると判定し得る。例において、ユーザは、コンピューティングデバイス122のユーザインタフェース124を通じて、ユーザに割り当てられたサーバを解放する。ユーザポータル132は、コンピューティングデバイス122と通信して、ユーザがサーバの解放を要求し、従って、サーバがリファービッシュされる必要があると判定し得る。ユーザポータル132は、複数のサーバの解放が要求され、各サーバがリファービッシュされる必要があると判定し得る。ユーザポータル132は、各サーバを同時にリファービッシュすることを開始し得る。サーバは、「準備完了」ステータスを有し「ダーティ」プールにあると判定され得、これは、サーバがリファービッシュされる必要があることを示す。
【0096】
フローはその後、動作504に進み、サーバイメージャは、サーバを解放させるように命令される。例えば、ユーザポータル132は、サーバを解放させるようにサーバイメージャ106に命令する。サーバを解放することは、サーバへのユーザのアクセスを取り消すこと、及び他の動作を含み得る。
【0097】
サーバが解放されると、フローが動作506に進む。動作506において、サーバイメージャが、サーバをリファービッシュされたサーバのプールに移行させ、サーバを電源オフするように命令される。例えば、エッジコンピュートサーバ構成ツール108は、サーバを電源オフするようにサーバイメージャ106に命令し得る。サーバイメージャ106は、
図3Aに示される動作312などにおいて、コミッショニング中にサーバのIPMIデバイス上で設定されたIPMI電源パスワードを使用して、サーバを電源オフするようにIPMIデバイスに命令し得る。いくつかの例において、エッジコンピュートサーバ構成ツールは、サーバを電源オフする命令をユーザポータル132から受信する。いくつかの例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャコミュニケータ114を使用してサーバイメージャ106と通信する。サーバが電源オフされると、サーバイメージャ106は、サーバのIPMIと通信することによって、なおサーバと通信し、サーバをリファービッシュし得る。サーバを電源オフすることによって、セキュリティが改善される。例えば、サーバをパブリック/ユーザネットワークからプライベートビルドネットワークに移行させ、そこでセキュアに消去しイメージングし得る前に、サーバを電源オフすることが望ましい。
【0098】
フローはその後、動作510に進み、ここで、サーバが電源オフされるかどうかが判定される。例えば、ユーザポータル132は、サーバイメージャ106と通信することによって、サーバが電源オフされるかどうかを判定する。
【0099】
いくつかの例において、サーバは、動作510において電源オンされると判定され得る。これらの例において、フローは動作518に進む。動作518において、アラートがログ記録される。例えば、エッジコンピュートサーバ構成ツール108は、ユーザポータルコミュニケータ118を使用してユーザポータル132と通信し、失敗を報告し、サーバを電源オフし得る。ユーザポータル132はその後、コンピューティングデバイス128と通信することによって、チケットを開き、又は、アラートをログ記録する。コンピューティングデバイスは、サポート担当者などのユーザがアラート又はチケットを視認するように、サポートインタフェース130上にアラート又はチケットを表示する。別の例において、エッジコンピュートサーバ構成ツール108は、サポートコミュニケータ126を使用してコンピューティングデバイス128と直接通信し、サポート担当者にアラートし得る。サポート担当者は、サポートインタフェース130においてアラートを受信し得る。アラートは、サーバの名称、サーバのサイズ、サーバの地理的位置、及び/又は、サーバが電源オフに失敗した理由を含むサーバについての情報を含み得る。サポート担当者はその後、サーバがリファービッシュされ得るように、サーバを修理し得る。
【0100】
いくつかの例において、フローはその後、動作520に進み、サーバが隔離される。例えば、エッジコンピュートサーバ構成ツール108は、電源オフに失敗したサーバをエッジコンピュート環境及び/又はネットワークから隔離するようサーバイメージャ106に命令し得る。サーバイメージャ106は、サーバを隔離することにより、サーバに格納され得る悪意のあるソフトウェアをサーバが広げることを防止する、及び/又は、そうでなければサーバがエッジコンピュート環境、ネットワーク、及び、エッジコンピュート環境に関連する1又は複数のネットワークにおける他のサーバの動作に干渉することを防止し得る。いくつかの例において、サーバイメージャ106は、サーバが有する任意のデータポートを電源オフすることによってサーバを隔離し得る。
【0101】
サーバが必要とするメンテナンスが完了すると、サーバはリファービッシュされることが可能であり得る。フローはその後、サーバが電源オフに失敗した理由に基づいて動作502又は506に進む。
【0102】
他の例において、サーバは、動作510において、電源オフされていると判定される。これらの例において、フローは動作512に進み、ネットワークオーケストレータは、サーバのポートをビルドネットワークにリセットするよう命令される。例えば、ユーザポータル132は、サーバのポートをビルドネットワークにリセットするようにネットワークオーケストレータ134に命令する。例において、サーバは、ビルドネットワークに移行され、サーバがビルドネットワーク内においてセキュアにイメージングされることを可能にする。
【0103】
サーバのポートをビルドネットワークにリセットするようにネットワークオーケストレータが命令されると、フローは動作514に進む。動作514において、サーバがリファービッシュされる準備ができているという確認が受信される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャコミュニケータ114を介して、定期的にサーバイメージャ106にポーリングし、サーバがリファービッシュされる準備ができているという確認を受信し得る。例において、エッジコンピュートサーバ構成ツール108は、定期的にサーバイメージャ106にポーリングして、リファービッシュされたサーバのプールにおける「準備完了」ステータスを有するサーバを識別する。例において、リファービッシュされたサーバのプールにおける「準備完了」ステータスを有するサーバは、サーバが解放され、電源オフされ、サーバポートがビルドネットワークにリセットされたことを示す。
【0104】
サーバが「準備完了」ステータスを有するという確認が受信されると、フローが動作516に進む。動作516において、サーバイメージャは、サーバのストレージデバイスのうちの1又は複数を消去するように命令される。例えば、エッジコンピュートサーバ構成ツール108は、サーバのストレージデバイスのうちの1又は複数をサーバに消去させるようサーバイメージャ106に命令し得る。例において、ストレージデバイスは、取り外し可能ストレージ及び/又は非取り外し可能ストレージであり得る。取り外し可能データストレージの例は、コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク読み取り専用メモリ(DVD-ROM)、光磁気ディスク、フラッシュドライブ、及び同様のものを含む。非取り外し可能データストレージの例は、内部磁気ハードディスク、SSD、及び同様のものを含む。1又は複数のストレージデバイスは、揮発性メモリ(例えば、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)など)、及び/又は、不揮発性メモリ(例えば、リードオンリメモリ(ROM)、フラッシュメモリなど)を含み得る。いくつかの例において、サーバイメージャ106及びエッジコンピュートサーバ構成ツール108は、消去されるまで1又は複数のストレージデバイスにアクセスできないことがあり得る。これにより、データへのアクセスを防止することによって、ユーザデータが保護されることが可能となり得る。
【0105】
例において、サーバは使用のためにコミッショニングされ、方法500は
図5Aに進む。
図5Aは、使用の準備のためにサーバを構成するための方法500の続きを示すフローチャートである。
【0106】
始めに動作522において、コミッショニングを必要とするサーバの1又は複数のコンポーネントについてのファームウェアが更新され得る。例えば、前のユーザはサーバの1又は複数のコンポーネントのファームウェアを変更し得る。サーバのファームウェアは、新しいユーザのための準備ができているサーバに所望されるファームウェアに更新される。方法300の動作306に関して上に記載されるように、エッジコンピュートサーバ構成ツール108は、いくつかの例において、サーバの1又は複数のコンポーネントについての所望のファームウェアを判定する。他の例において、エッジコンピュートサーバ構成ツール108はまた、データ及び情報のストレージのためにコンピュータ可読媒体110のデータソース120を利用し得る。エッジコンピュートサーバ構成アプリケーション112は、エッジコンピュート環境に関連するネットワークにおけるサーバの1又は複数のコンポーネントについての所望のファームウェアを格納し得る。エッジコンピュートサーバ構成ツール108は、サーバの1又は複数のコンポーネントについての所望のファームウェアを、コンポーネントにインストールされたファームウェアと比較して、どのコンポーネントを更新するかを判定する。エッジコンピュートサーバ構成ツール108は次に、サーバの判定されたコンポーネントに、所望のファームウェアに更新させる。例えば、サーバ構成ジェネレータ116は、コミッショニングを必要とするサーバの任意のコンポーネントについて既存のファームウェアを判定し、コミッショニングを必要とするサーバのコンポーネントについて所望のファームウェアを生成及び/又は取得し得る。構成を必要とするサーバのコンポーネントが所望のファームウェアバージョンを有しない場合、サーバ構成ジェネレータ116は、サーバコンポーネントの所望のファームウェアをアップロード又は更新させ得る。いくつかの例において、サーバ構成ジェネレータ116は、サーバイメージャ106と通信して、サーバコンポーネントのファームウェアをアップロード又は変更する。サーバ構成ジェネレータ116は、サーバのどのコンポーネントが変更される必要があるかをサーバイメージャ106に示し得る。サーバイメージャ106は次に、サーバコンポーネントのファームウェアを変更し得る。
【0107】
動作524において、テンプレートが、コミッショニングを必要とするサーバにロードされる。例えば、エッジコンピュートサーバ構成ツール108は、テンプレートがサーバ102a~cのうちの1又は複数にロードされるようにし得る。いくつかの例において、テンプレートは、ゴールデンイメージである。ゴールデンイメージは、サーバ上のIPMIデバイスにロードされ得る。例えば、Dellブランドサーバが使用される場合、エッジコンピュートサーバ構成ツール108は、iDRACゴールデンイメージをサーバ上のiDRACデバイスにロードする。更なる例において、動作522および524は、単一の動作に組み合わされ得、テンプレートは、サーバの1又は複数のコンポーネントについての所望のファームウェアを含む。ロードされたテンプレートは、サーバのファームウェアを所望のファームウェアで置き換え得る。
【0108】
その後、フローは動作526に進み、IPMIルートパスワードが設定される。例えば、エッジコンピュートサーバ構成ツール108は、構成を必要とするサーバと通信してアクセスするために必要であるIPMIルートパスワードを設定し得る。具体的には、サーバ構成ジェネレータ116は、パスワードを、サーバのIPMIデバイスにアクセスするために使用される標準パスワードに設定し得る。一例において、サーバイメージャ106は、サーバと通信するために標準IPMIルートパスワードを有する。別の例において、サーバイメージャ106がサーバと通信してそれを構成し得るように、サーバ構成ジェネレータ116は、サーバイメージャコミュニケータ114を介してパスワードをサーバイメージャ106に提供し得る。
【0109】
サーバパスワードが生成されると、フローが動作528に進む。動作528において、IPMI電源パスワードが設定される。例えば、エッジコンピュートサーバ構成ツール108は、サーバを電源オン及びオフするために必要なIPMI電源パスワードを設定し得る。例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106が格納するIPMI電源パスワードを送信するようサーバイメージャ106に命令する。エッジコンピュートサーバ構成ツール108は、IPMI電源パスワードをIサーバイメージャ106から受信されたIPMI電源パスワードに設定し得、サーバイメージャ106がサーバを電源オン及びオフすることを可能にする。
【0110】
フローは動作530に進み、サーバイメージャは、サーバをコミッショニングするように命令される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャコミュニケータ114を介して、サーバをコミッショニングするようにサーバイメージャ106に命令する。サーバをコミッショニングすることは、サーバを構成すること、サーバについての情報を収集すること、及び他の動作を含み得る。例において、サーバのコミッショニングは、サーバを電源オンすることを含む。例えば、サーバイメージャ106は、IPMI電源パスワードを使用してサーバを電源オンし得る。サーバは動作506中に電源オフされるので、サーバはコミッショニング中に電源オンされ得る。いくつかの例において、サーバのコミッショニングは、サーバのサイズの情報、サーバの地理的位置、及び、物理ポートについての情報を収集すること、及び、サーバを配線することを含む。別の例において、リファービッシュされたサーバは、方法300の動作などを通じて、以前にコミッショニングされている。情報は、サーバが以前にコミッショニングされたとき、以前に収集されていることがあり得るので、サーバのコミッショニングは、情報の収集を含まない。
【0111】
サーバがコミッショニングされるとき、フローは動作532に進み、サーバがコミッショニングされるかどうかが、例えばエッジコンピュートサーバ構成ツール108によって判定される。いくつかの例において、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106にポーリングすることによって確認を受信する。サーバイメージャ106は、コミッショニングが完了した後に「準備完了」ステータスをコミッショニングされたサーバに割り当て得、又は、コミッショニングが不成功である場合、「コミッショニング失敗」ステータスを割り当て得る。サーバイメージャコミュニケータ114は、サーバイメージャ106にポーリングして、「準備完了」又は「コミッショニング失敗」ステータスを有する1又は複数のサーバを識別し得る。例えば、サーバイメージャコミュニケータ114は、サーバイメージャ106に数分ごとにポーリングして、「準備完了」又は「コミッショニング失敗」ステータスを有するサーバをチェックし得る。
【0112】
コミッショニングが不成功であり、サーバが「コミッショニング失敗」ステータスを有する場合、フローは動作534に進む。例えば、サーバイメージャ106は、サーバイメージャ106がコミッショニングできなかったサーバに「コミッショニング失敗」ステータスを付与し得る。サーバは、複数の理由から、コミッショニングに失敗し得る。例えば、ディスクがサーバにおいて故障していることがあり得、悪意のあるソフトウェアがサーバにインストールされていることがあり得、及び/又は、他の物理的又はソフトウェア関連の故障があり得る。エッジコンピュートサーバ構成ツール108がサーバイメージャコミュニケータ114を介してサーバイメージャ106にポーリングするとき、エッジコンピュートサーバ構成ツール108は、「コミッショニング失敗」ステータスを有するサーバを識別し得る。
【0113】
動作534において、コミッショニング失敗アラートがログ記録される。例えば、エッジコンピュートサーバ構成ツール108が「コミッショニング失敗」ステータスを有するサーバを検出するとき、エッジコンピュートサーバ構成ツール108は、コミッショニング失敗アラートをユーザポータル132へ送信することによってアラートをログ記録し得る。ユーザポータルがコミッショニング失敗アラートを受信するとき、ユーザポータル132は、コンピューティングデバイス128と通信することによってサポートチケットを開き得る。別の例において、エッジコンピュートサーバ構成ツール108が「コミッショニング失敗」ステータスを有するサーバを検出するとき、エッジコンピュートサーバ構成ツール108は、サポートコミュニケータ126を介してコンピューティングデバイス128と直接通信し、サポートチケットを開くことなどによって、問題をログする、及び/又は、コンピューティングデバイス128のユーザにアラートし得る。コンピューティングデバイス128がサポートインタフェース130にアラート及び/又はサポートチケットを表示するとき、ユーザは、アラート及び/又はサポートチケットを視認し得る。アラートは、サーバの名称、サーバのサイズ、サーバの地理的位置、及び/又は、サーバがコミッショニングに失敗した理由を含む、コミッショニングに失敗したサーバについての情報を含み得る。アラートは、サーバの対面メンテナンスなど、使用のためにサーバの構成を継続するのに必要なメンテナンスをユーザがスケジュール及び/又は実行することを可能にし得る。
【0114】
コミッショニング失敗アラートがログ記録されると、フローは動作536に進み、サーバは隔離される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106に命令して、サーバをエッジコンピュート環境及び/又はネットワークから隔離させる。サーバイメージャ106は、サーバを隔離することにより、サーバに格納され得る悪意のあるソフトウェアをサーバが広げることを防止する、及び/又は、そうでなければサーバがエッジコンピュート環境、ネットワーク、及び、エッジコンピュート環境に関連するサーバにおける他のサーバの動作に干渉することを防止し得る。いくつかの例において、サーバイメージャ106は、サーバが有する任意のデータポートをオフにすることによって、サーバを隔離し得る。
【0115】
サーバが必要とするメンテナンスが完了すると、サーバは再びコミッショニングされ得る。例えば、サーバイメージャ106は、サーバをコミッショニングすることを再試行し得る。コミッショニングが失敗した理由に基づいて、フローは520又は530に戻る。いくつかの例において、前に完了した方法500のいくつかのステップは、フローが動作522に進むとき、サーバがメンテナンスを必要とした理由に基づいて、省略され得る。
【0116】
動作530を再び参照すると、エッジコンピュートサーバ構成ツール108は、サーバが「準備完了」ステータスを有するときサーバがコミッショニングされるという確認を有する。サーバが「準備完了」ステータスを有するとエッジコンピュートサーバ構成ツール108が判定した場合、フローは
図5Bに進む。
【0117】
図5Bは使用の準備のためにサーバを構成するための方法500の続きを示すフローチャートである。サーバがコミッショニングに成功したと判定されると、フローはその後、動作540に進む。動作540において、サーバイメージャは、サーバをテストするように命令される。例えば、エッジコンピュートサーバ構成ツール108は、コミッショニングされたサーバをテストするようにサーバイメージャ106に命令する。サーバイメージャ106は、サーバに対して1又は複数のテストを実行し得る。いくつかの例において、サーバイメージャ106は、不揮発性メモリ及び/又は揮発性メモリを含む、サーバのメモリをテストし、サーバのディスクをテストし、物理ポート及びサーバの配線をテストし、サーバにバーンイン試験及び/又は他のハードウェアテストを実行させ得る。
【0118】
テストが完了すると、フローは動作542に進み、が1又は複数のテストが成功したかどうかが判定される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャコミュニケータ114を介して、サーバイメージャ106にポーリングして、1又は複数のテストが成功したかどうかを判定し得る。
【0119】
1又は複数のテストが成功した場合、フローは動作544に進む。動作544において、サーバイメージャは、構成されたサーバをユーザポータルに公開するように命令される。例えば、エッジコンピュートサーバ構成ツール108は、サーバ及びサーバ名をユーザポータル132に公開するようにサーバイメージャ106に命令し得る。これにより、ユーザインタフェース124のユーザが、使用のために構成されたサーバを選択することを可能にし得る。いくつかの例において、ユーザポータルコミュニケータ118は、ユーザポータル132と通信することによってサーバを公開し得る。他の例において、エッジコンピュートサーバ構成ツール108は、サーバを利用可能なサーバのプールに移行させるようにサーバイメージャ106に命令し得る。ユーザポータル132は、ユーザが使用のためにサーバを選択するとき、利用可能なサーバのプールからサーバを選択し得る。
【0120】
1又は複数のテストが成功しない場合、フローは動作546に進む。動作546において、テスト失敗アラートがログ記録される。例えば、エッジコンピュートサーバ構成ツール108は、テスト失敗アラートをユーザポータル132に送信することによってアラートをログ記録し得る。ユーザポータルがコミッショニング失敗アラートを受信するとき、ユーザポータル132は、コンピューティングデバイス128と通信することによってサポートチケットを開き得る。別の例において、エッジコンピュートサーバ構成ツール108は、サポートコミュニケータ126を介して、アラートをコンピューティングデバイス128に直接ログ記録し得る。テストアラートは、コンピューティングデバイス128によって受信され、サポートインタフェース130上に表示され得る。コンピューティングデバイス128がサポートインタフェース130にアラート及び/又はサポートチケットを表示するとき、ユーザは、アラート及び/又はサポートチケットを視認し得る。アラートは、サーバの名称、サーバのサイズ、サーバの地理的位置、及び/又は、サーバがテストに失敗した理由を含む、テストに失敗したサーバについての情報を含み得る。アラートは、サーバの対面メンテナンスなど、使用のためのサーバの準備に必要なメンテナンスをユーザがスケジュール及び/又は実行することを可能にし得る。必要メンテナンスが動作548において実行され得る。サーバが必要とするメンテナンスが完了すると、フローは動作544に進み得、サーバはユーザポータルに公開され得る。
【0121】
いくつかの例において、不成功である1又は複数のテストは、コミッショニングされたサーバの重大な問題を示さないことがあり得る。これらの例において、フローは動作544に進み得、サーバは、使用の準備がされ、ユーザポータル132に公開され得る。
【0122】
図6A~6Cは、検出されたサーバ状態に従って、様々な構成ステージを通じて、サーバを自律的に移行させることによって、使用の準備のためにサーバを構成するための例示的な方法600を示すフローチャートを含む。一実装において、方法600の動作のうちの1又は複数は、エッジコンピュートサーバ構成アプリケーション112を含む、エッジコンピュートサーバ構成ツール108によって実行され得る。他の実装において、動作のうちの1又は複数は、エッジコンピュートサーバ構成ツール108又は更に他のシステムの他のコンポーネントによって実行され得る。動作は、関連システムのハードウェアコンポーネント、システムのソフトウェアプログラム、又は、ハードウェア及びシステムのソフトウェアコンポーネントの組み合わせによって実行され得る。例において、エッジコンピュートサーバ構成ツール108は、ステートエンジンとして作用する。フローは、1又は複数のサーバの状態が構成されることに基づいて方法600の異なる動作に進み得る。例えば、方法600において説明される異なるサーバプールは、サーバのステータスと共に、サーバの状態を示し得る。いくつかの例において、ステータスのみ又はプールのみがサーバ状態(例えば、プールに関わらず特定のステータスを有するすべてのサーバ、又は、ステータスに関わらず特定のプールにおけるすべてのサーバ)を定義する。他の例において、サーバのステータス及びプールに加えて、他の情報が、サーバ状態を判定するために使用され得る。
【0123】
説明されるように、例において、エッジコンピュートサーバ構成ツール108がステートエンジンとして作用することは、ワークフローが、エッジコンピュートサーバ構成ツール108が動作するマシンに対する変更の産物であり、それ自体が厳格に定義されたエンティティではないことを意味する。例において、この設計は、複数の利点を有し、すなわち、(a)ステートエンジン設計は、すべてのアクションの必要条件が識別され定義されることを強制する;(b)設計は、前に言及された必要条件を満たさないマシンに対してアクションが講じられないことを確実にする;(c)複数の非競合アクションが並行して実行されないことがあり得る。ステートエンジン設計の追加の利点は、エッジコンピュートサーバ構成ツール108を通じてアクションを直接駆動しない状態が、それにもかかわらず、定義され報告され得ることである。加えて、サーバ状態、及び、それらの状態にあると判定されたサーバに関して講じられるアクションの両方は、ユーザインタフェースを通じて構成可能であり得る。
【0124】
方法600の動作は、異なるサーバについて同時に発生し得る。例えば、エッジコンピュートサーバ構成ツール108は、ネットワークにおける全部のサーバの状態をチェックすることによって、方法600の動作を実行し得る。サーバの状態は、いくつかのサーバで動作606が実行されるべきであること、いくつかのサーバで動作610が実行されるべきであること、いくつかのサーバで動作612が実行されるべきであることなどを示し得る。これらはすべて、エッジコンピュートサーバ構成ツール108によって実行された同一のチェックに基づく。
【0125】
図6Aを参照すると、方法600は、動作602から開始し、サーバがコミッショニングを必要とすると判定される。例えば、エッジコンピュートサーバ構成ツール108は、サーバ102a~cの1つなどのサーバがコミッショニングを必要とすると判定する。一例において、サーバは新しいサーバである。新しいサーバは、「新」ステータスを有し、「デフォルト」プールにある。別の例において、サーバは、ユーザによって解放されたサーバである。解放されたサーバは、「ダーティ」プールにおいて「準備完了」ステータスを有する。エッジコンピュートサーバ構成ツール108は、サーバイメージャ106に継続的にポーリングして、サーバの状態を判定し得る。例えば、エッジコンピュートサーバ構成ツール108は、5分ごとにサーバイメージャ106にポーリングして、サーバの状態を判定する。例において、エッジコンピュートサーバ構成ツール108は、複数のサーバがコミッショニングを必要とすると判定し、同時に、又は実質的に同時に、すべてのサーバについてコミッショニングプロセスを開始し得る。
【0126】
フローは動作604に進み、サーバはクリーニングプールに移行される。例えば、エッジコンピュートサーバ構成ツール108は、サーバをクリーニングプールへ移行する。サーバをプールへ移行するとは、デバイスがサーバにアクセスして現在のプールをチェックするときにそれが割り当てられるプールを正確に識別するようにサーバを更新することを意味する。例えば、プール及び/又はステータスは、サーバがポーリングされるときサーバ状態が識別できるようにサーバが格納する割り当てられた値である。1又は複数の新しいサーバ及び解放されたサーバは、クリーニングプールに移行され得る。
【0127】
フローは動作606に進み、サーバIPMIデバイスが消去される。例えば、エッジコンピュートサーバ構成ツール108はサーバにポーリングし、クリーニングプールにおける全部のサーバを識別する。クリーニングプールにおける全部のサーバは、関連するIPMIデバイスを消去される。エッジコンピュートサーバ構成ツール108は、IPMI104a~cなどのIPMIデバイスが消去されるように、サーバイメージャ106に命令し得る。
【0128】
IPMIデバイスが消去されると、サーバは、動作608において、消去されたプールに移行される。例えば、エッジコンピュートサーバ構成ツール108は、サーバを消去されたプールへ移行する。別の例において、エッジコンピュートサーバ構成ツール108は、サーバを消去されたプールへ移行するように、サーバイメージャ106に命令する。
【0129】
フローは動作610に進み、ファームウェアがサーバ上にインストールされるべきであると判定される。例えば、エッジコンピュートサーバ構成ツール108は、サーバにポーリングして、消去されたプールにおける全部のサーバを識別し、どのサーバがファームウェアのインストールを必要とするかを判定する。エッジコンピュートサーバ構成ツール108は、消去されたプールにおける各サーバに何のファームウェアがインストールされるべきかを判定する。
【0130】
ファームウェアが判定されると、フローは動作612に進み、サーバIPMIデバイスは、ファームウェアをインストールするよう命令される。例えば、エッジコンピュートサーバ構成ツール108は、サーバIPMIデバイスにファームウェアをインストールさせる。
【0131】
ファームウェアのインストールに成功すると、動作614において、エッジコンピュートサーバ構成ツール108などによって、サーバが更新されたプールへ移行される。フローは次に、動作616に進み、IPMIデバイスは、構成ファイルをインポートするよう命令される。例えば、エッジコンピュートサーバ構成ツール108は、IPMI104a~cなどのサーバのIPMIデバイスに、更新されたプールにあると判定された任意のサーバについて構成ファイルをインポートするよう命令する。構成ファイルは、サーバ構成ジェネレータ116によって使用されデータソース120に格納されると判定され得る。
【0132】
構成ファイルがインポートされると、フローは動作618に進み、サーバは、エッジコンピュートサーバ構成ツール108などによって、構成済みプールへ移行される。方法600は次に、
図6Bに続く。
【0133】
図6Bは、方法600の追加の動作を示すフローチャートである。動作620において、サーバの構成が評価される。例えば、エッジコンピュートサーバ構成ツール108は、サーバをポーリングし、構成済みプールにおける全部のサーバを識別し、どのサーバが評価されるべきかを判定する。エッジコンピュートサーバ構成ツール108は、構成済みプールにおける各サーバの構成を評価する。例えば、エッジコンピュートサーバ構成ツール108は、当該構成を、データストア120に格納された、判定された構成と比較する。
【0134】
サーバの構成が評価されると、IPMI電源パスワードは動作622において設定される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106がサーバと同一のIPMI電源パスワードを有するかどうかをチェックする。例において、エッジコンピュートサーバ構成ツール108は、IPMIパスワードが一致しない場合、サーバイメージャ106が格納するIPMI電源パスワードを送信するようサーバイメージャ106に命令する。エッジコンピュートサーバ構成ツール108は、IPMI電源パスワードをIサーバイメージャ106から受信されたIPMI電源パスワードに設定し得、サーバイメージャ106がサーバを電源オン及びオフすることを可能にする。
【0135】
動作622の完了が成功すると、サーバは、エッジコンピュートサーバ構成ツール108などによって、動作624における同期プールへ移行される。同期プールにあると判定された任意のマシンについて、動作626において、サーバは、エッジコンピュートサーバ構成ツール108などによってコミッショニングプールへ移行される。例えば、エッジコンピュートサーバ構成ツール108は、どのサーバが同期プールにありコミッショニングプールへ移行されるべきかを判定するためにサーバにポーリングする。
【0136】
動作628において、サーバイメージャは、サーバをコミッショニングする。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106に、コミッショニングプールにおけるサーバをコミッショニングさせる。
【0137】
フローが動作630に進み、サーバがコミッショニングされていると判定される。例えば、コミッショニングプールあり、コミッショニング中のサーバは、「コミッショニング」ステータスを有する。サーバイメージャ106がサーバのコミッショニングを完了すると、コミッショニングプールにおけるサーバは、「コミッショニング」ステータスを割り当てられる。エッジコンピュートサーバ構成ツール108は、サーバにポーリングすることによってサーバがコミッショニングされていると判定し、サーバがコミッショニングプールにあり「コミッショニング」ステータスを有すると判定する。
【0138】
サーバがコミッショニングされると、フローは動作632に進む。動作632において、サーバイメージャは、サーバのブートデバイスを構成し、サーバのストレージレイアウトを構成する。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106に、コミッショニングプールにおける準備ステータスを有する任意のサーバのブートデバイス及びストレージレイアウトを構成させる。ブートデバイスは、サーバをブートするために必要なソフトウェア及び/又はファイルを含むデバイスである。ブートデバイスは、サーバの一部又は別個のデバイスであり得る。サーバイメージャ106は、サーバが正確に及び/又は所望されるようにブートするようにブートデバイスを構成する。マシンのストレージレイアウトは、サーバの特徴及び/又はサーバの構成に基づいて変動し得る。例えば、ストレージレイアウトは、サーバ構成ジェネレータ116によって判定される。
【0139】
動作634において、サーバのブートデバイス及びストレージレイアウトが構成されていると判定される。例えば、エッジコンピュートサーバ構成ツール108は、ブートデバイスを評価して、ブートデバイスが構成されていると判定する。サーバは、サーバイメージャがサーバのストレージレイアウトを構成している間に「レイアウト構成中」ステータスを割り当てられ、構成が完了したとき、「準備完了」ステータスを割り当てられる。エッジコンピュートサーバ構成ツール108は、サーバのステータスをチェックして、構成が完了したと判定する。方法600は次に
図6Cに続く。
【0140】
図6Cは、方法600の追加的動作を示すフローチャートである。動作636において、サーバ名が決定される。例えば、準備完了のステータス及び特定のブートディスク値を有するコミッショニングプールにおけるサーバについて、エッジコンピュートサーバ構成ツール108は、サーバ及び/又はサーバが接続される1又は複数のネットワークのコンポーネントについての、サーバが報告する情報に基づいて名称を決定する。例えば、サーバイメージャ106は、サーバをコミッショニングしながらサーバから情報を受信し、それをエッジコンピュートサーバ構成ツール108に通信する。名称を正確に計算するために必要な情報は、リンク層検出プロトコル近隣データを含み得る。
【0141】
動作638において、名称が一貫しているかどうかが判定される。例えば、エッジコンピュートサーバ構成ツール108は、サーバが接続されているデバイスに関するデータが、一貫しない名称の計算、又は、名称の計算が完全に不可能であることのいずれかをもたらすかどうかを判定する。データが、一貫しない名称の計算、又は、名称の計算の失敗をもたらす場合、フローは動作650に進み、サーバは、エッジコンピュートサーバ構成ツール108などによって調査プールへ移行される。調査プールは、メンテナンスを必要とし得るサーバの問題があることを示す。例えば、一貫した名称の生成に失敗することは、デバイスの物理的接続に1又は複数の問題があることを示す。例において、サーバは、調査プールへ移行されるとき、構成可能な「命名」ステータスを有し得る。ステータスは、サーバの問題を解決するために必要なメンテナンスの診断を助け得る。
【0142】
サーバ名が一貫している場合、サーバ名は、動作640においてサーバに割り当てられる。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106に、名称をサーバに割り当てさせる。動作642において、名称が正確に割り当てられているかどうかが判定される。名称が割り当てられていない場合、サーバは、動作650において調査プールに移行される。
【0143】
名称がサーバに割り当てられる場合、動作644において、報告されたハードウェアが構成可能ハードウェア定義に一致することが検証される。例えば、エッジコンピュートサーバ構成ツール108は、サーバイメージャ106によって報告されたハードウェアが、サーバ構成ジェネレータ116によって生成及び/又はデータストア120に格納されるものなどの構成可能ハードウェア定義に一致することを検証する。構成可能ハードウェア定義は、予測されたサーバ特徴及び/又は予測されたサーバ接続を使用して生成され得る。
【0144】
動作646において、動作644における検証が成功したかどうかが判定される。例えば、エッジコンピュートサーバ構成ツール108は、報告されたハードウェアが構成可能ハードウェア定義に一致するという検証に成功することが可能であったかどうかを判定する。検証が成功しなかった場合、サーバは、動作650において調査プールに移行される。
【0145】
検証が成功した場合、動作648において、サーバは、エッジコンピュートサーバ構成ツール108などによって、利用可能なプールに移行される。利用可能なプールにおけるサーバは、新しいユーザによって使用されるために利用可能である。
【0146】
図7は、上で開示されたネットワークのコンポーネントの例を実装するのに使用され得るコンピューティングデバイス又はコンピュータシステム700の例を示すブロック図である。例えば、
図7のコンピューティングシステム700は、上で説明されたコンピューティングデバイス122又は128であり得る。コンピュータシステム(システム)は、1又は複数のプロセッサ702~706を含む。プロセッサ702~706は、プロセッサバス712とのインタラクションを指示するために、1又は複数の内部レベルのキャッシュ(図示せず)及びバスコントローラ又はバスインタフェースユニットを含み得る。ホストバス又はフロントサイドバスとしても知られているプロセッサバス712は、プロセッサ702~706をシステムインタフェース714に連結するために使用され得る。システムインタフェース714は、プロセッサバス712に接続されて、システム700の他のコンポーネントをプロセッサバス712にインタフェース接続し得る。例えば、システムインタフェース714は、メインメモリ717をプロセッサバス712にインタフェース接続するためのメモリコントローラ714を含み得る。メインメモリ716は典型的には、1又は複数のメモリカード及び制御回路(図示せず)を含む。システムインタフェース714はまた、1又は複数のI/Oブリッジ又はI/Oデバイスをプロセッサバス712にインタフェース接続するために、入力/出力(I/O)インタフェース720を含み得る。1又は複数のI/Oコントローラ及び/又はI/Oデバイスは、示されるようなI/Oコントローラ728及びI/Oデバイス730などのI/Oバス726に接続され得る。
【0147】
I/Oデバイス730はまた、英数字入力デバイスなどの入力デバイス(図示せず)を含んでもよく、これには、情報及び/又はコマンド選択をプロセッサ702~706に通信するための英数字及び他のキーが含まれる。別のタイプのユーザ入力デバイスは、方向情報及びコマンド選択をプロセッサ702~706に通信するための、及び、ディスプレイデバイス上のカーソル移動を制御するための、マウス、トラックボール、又は、カーソル方向キーなどのカーソルコントロールを含む。
【0148】
システム700は、プロセッサ702~706によって実行されることになる情報及び命令を格納するために、メインメモリ716と呼ばれるダイナミックストレージデバイス、又はランダムアクセスメモリ(RAM)、又はプロセッサバス712に連結された他のコンピュータ可読デバイスを含んでもよい。メインメモリ716はまた、プロセッサ702~706によって、命令実行中に、一時変数又は他の中間情報を格納するために使用され得る。システム700は、プロセッサ702~706のためのスタティック情報及び命令を格納するための、プロセッサバス712に連結されたリードオンリメモリ(ROM)及び/又は他のスタティックストレージデバイスを含み得る。
図7に記載されたシステムは、本開示を採用し得る、又は、その態様に従って構成され得るコンピュータシステムの1つの可能な例に過ぎない。
【0149】
一例によれば、上の技法は、メインメモリ716に含まれる1又は複数の命令の1又は複数のシーケンスを実行するプロセッサ704に応じてコンピュータシステム700によって実行され得る。これらの命令は、ストレージデバイスなどの別の機械可読媒体からメインメモリ716に読み込まれ得る。メインメモリ716に含まれる命令のシーケンスの実行により、プロセッサ702~706は、本明細書において記載されるプロセスステップを実行し得る。代替例において、ソフトウェア命令の代わりに、又は、それと組み合わせて回路が使用され得る。したがって、本開示の例は、ハードウェア及びソフトウェアコンポーネントの両方を含み得る。
【0150】
機械可読媒体は、機械(例えば、コンピュータ)によって可読な形態(例えば、ソフトウェア、処理アプリケーション)で情報を格納又は送信するための任意のメカニズムを含む。そのような媒体は、非揮発性媒体及び揮発性媒体の形態をとり得、1又は複数のデータベースマネジメント製品、ウェブサーバ製品、ベアメタルサーバ製品、及び/又は、他の追加ソフトウェアコンポーネントを含む、そのようなコンピュータプログラム製品を有する有線又は無線ネットワークアーキテクチャを通じて利用可能となる取り外し可能データストレージ媒体、非取り外し可能データストレージ媒体、及び/又は、外部ストレージデバイスを含み得るが、これらに限定されない。取り外し可能データストレージ媒体の例は、コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク読み取り専用メモリ(DVD-ROM)、光磁気ディスク、フラッシュドライブ、及び同様のものを含む。非取り外し可能データストレージ媒体の例は、内部磁気ハードディスク、SSD、及び同様のものを含む。1又は複数のメモリデバイス706は、揮発性メモリ(例えば、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)など)、及び/又は、不揮発性メモリ(例えば、リードオンリメモリ(ROM)、フラッシュメモリなど)を含み得る。
【0151】
現在説明されている技術によるシステム及び方法を実現するためのメカニズムを含むコンピュータプログラム製品は、メインメモリ716(これは機械可読媒体と呼ばれることがある)に常駐してもよい。機械可読媒体は、マシンによる実行のために本開示の動作のうちの任意の1又は複数を実行するための命令を格納又は符号化可能である、又は、そのような命令によって利用される、若しくはそれと関連するデータ構造及び/又はモジュールを格納若しくは符号化することが可能である任意の有形非一時媒体を含み得ることが理解される。機械可読媒体は、1又は複数の実行可能命令又はデータ構造を格納する単一媒体又は複数の媒体(例えば、集約又は分散データベース、及び/又は、関連するキャッシュ及びサーバ)を含み得る。
【0152】
本開示の例は、本明細書において記載される様々なステップを含む。ステップはハードウェアコンポーネントによって実行され得るか、又は、マシン実行可能命令において具現化され得、これは、当該命令でプログラムされた汎用又は特定用途向けプロセッサに、当該ステップを実行させるために使用され得る。代替的に、ステップは、ハードウェア、ソフトウェア、及び/又はファームウェアの組み合わせによって実行され得る。
【0153】
本発明の範囲から逸脱することなく、説明される例示的な例に様々な修正及び追加が行われ得る。例えば、上で記載される例は特定の特徴を参照するが、本発明の範囲は、記載された特徴の全部を含むわけではない特徴及び例の異なる組み合わせを有する例も含む。したがって、本発明の範囲は、そのような代替形態、修正形態、及び変形形態のすべて、並びに、それらの同等物のすべてを包含することを意図する。
【0154】
特定の実装を説明するが、これは説明のためにのみ行われることを理解するべきである。他のコンポーネント及び構成が本開示の趣旨及び範囲から逸脱することなく使用できることは、関連技術の当業者によって認識されるであろう。したがって、記載及び図面は、例示的なものであり、限定とみなされるものではない。本開示の徹底的な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、ある種の例では、説明を曖昧にすることを避けるために、よく知られた又は従来の詳細は説明されていない。本開示における一例又は例への参照は、同一の例又は任意の例への参照であり得、そのような参照は、例のうち少なくとも1つを意味する。
【0155】
「一例」又は「例」への参照は、例に関連して記載される特定の機構、構造、又は特徴が本開示の少なくとも一例に含まれることを意味する。明細書の様々な箇所において「一例における」という語句が登場した場合、必ずしもすべて同一の例を参照しているわけではなく、別個の例又は代替例が他の例と相互に排他的であるわけではない。また、いくつかの例によって示されるが他の例によって示されないことがあり得る様々な特徴が記載される。
【0156】
本明細書で使用される用語は、一般に、本開示の文脈内で及び各用語が使用される文脈において、当技術分野におけるそれらの通常の意味を有する。本明細書で用語について詳しく述べたり又は説明したりしているかどうかに関わらず、本明細書で説明する用語のいずれかの1又は複数の代わりの言語及び同義語を使用することができ、特別な意味が置かれることもない。いくつかの場合では、特定の用語については同義語を使用している。1又は複数の同義語の記述は、他の同義語の使用を排除するものではない。本明細書において説明される任意の用語の例を含む、本明細書のどこかの例の使用は、単に例示的なものであり、本開示又は任意の例の用語の範囲及び意味を更に限定する意図はない。同様に、本開示は、本明細書において与えられる様々な例に限定されない。
【0157】
本開示の範囲を限定する意図は無いが、本開示の例による器具、装置、方法、及びそれらの関連する結果の例が上で与えられる。なお、例では読者の便宜を図って表題又は副題を使用することがあるが、これらは決して本開示の範囲を限定すべきものではない。特に定義していない限り、本明細書で使用する全ての技術用語及び科学用語は、本開示が属する技術の当業者によって一般的に理解されるものと同じ意味を有する。不一致が生じた場合、定義を含めて本明細書が優先する。
【0158】
本開示の追加的な特徴及び利点が、明細書において説明され、一部は明細書から明らかであるか、又は、本明細書に開示される原理の実施によって知られ得る。本開示に係る当該特徴及び利点は、添付の特許請求の範囲に、具体的に記載された手段及び組み合わせによって、実現され且つ得られてよい。本開示のこれら及び他の特徴は、以下の明細書及び添付の請求項から、より十分に明らかになるか、又は、本明細書に記載される原理の実施によって知られ得る。
[他の考えられる項目]
(項目1)
サーバを管理する方法であって、
ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記複数のサーバ状態の各々についての定義された構成動作を受信する段階;
サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;
前記複数のサーバの各々について、前記複数のサーバの前記判定された複数の状態に基づいて、実行されるべき前記定義された構成動作の1つを判定する段階、ここで、前記判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記第1サーバ状態に基づいて前記第1サーバに対して第1構成動作を、前記第2サーバ状態に基づいて前記第2サーバに対して第2構成アクションを並行して実行するようサーバイメージャに命令する段階
を備える方法。
(項目2)
前記複数のサーバ状態の定義を受信する段階は、前記サーバ状態の各々について、少なくともサーバステータス及びサーバプールを受信する段階を含む、項目1に記載の方法。
(項目3)
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての新しい構成動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;及び
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記新しい構成動作を前記第3サーバに対して実行させる段階
を更に備える、項目1に記載の方法。
(項目4)
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての報告動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記報告動作を実行させる段階
を更に備える、項目1に記載の方法。
(項目5)
前記複数のサーバの前記複数の状態を再判定させる段階、ここで、前記再判定させる段階は、前記第1サーバが前記第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記再判定された第1サーバ状態に基づいて、前記第1サーバに対して前記第2構成アクションを実行するよう前記サーバイメージャに命令する段階
を更に備える、項目1に記載の方法。
(項目6)
前記複数のサーバの前記複数の状態は、自動的かつ定期的に再判定される、項目5に記載の方法。
(項目7)
前記複数のサーバの前記複数の状態を再判定させる段階は更に、前記第2サーバが第3サーバ状態にあると判定する段階を含み、更に、
前記サーバ構成ツールによって、前記再判定された第2サーバ状態に基づいて、前記第2サーバに対して第3構成アクションを実行するように前記サーバイメージャに命令する段階
を含む、項目5に記載の方法。
(項目8)
少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記複数のサーバ状態の各々について、定義された構成動作を受信する段階;
サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;
前記複数のサーバの各々について、前記複数のサーバの前記判定された複数の状態に基づいて、実行されるべき前記定義された構成動作の1つを判定する段階、ここで、前記判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定することを含む;及び
前記サーバ構成ツールによって、前記第1サーバ状態に基づいて前記第1サーバに対して第1構成動作を、前記第2サーバ状態に基づいて前記第2サーバに対して第2構成アクションを並行に実行するようサーバイメージャに命令する段階
を備える方法を実行させる命令を格納する非一時的コンピュータ可読媒体。
(項目9)
前記複数のサーバ状態の定義を受信する段階は、前記サーバ状態の各々について、少なくともサーバステータス及びサーバプールを受信する段階を含む、項目8に記載の非一時的コンピュータ可読媒体。
(項目10)
前記方法は更に、
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態について新しい構成動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;及び
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記新しい構成動作を前記第3サーバに対して実行させる段階
を備える、項目8に記載の非一時的コンピュータ可読媒体。
(項目11)
前記方法は更に、
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての報告動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記報告動作を実行させる段階
を備える、項目8に記載の非一時的コンピュータ可読媒体。
(項目12)
前記方法は更に、
前記複数のサーバの前記複数の状態を再判定させる段階、ここで、前記再判定させる段階は、前記第1サーバが前記第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記再判定された第1サーバ状態に基づいて前記第1サーバに対して前記第2構成アクションを実行するよう前記サーバイメージャに命令する段階
を備える、項目8に記載の非一時的コンピュータ可読媒体。
(項目13)
前記複数のサーバの前記複数の状態は、自動的かつ定期的に再判定される、項目12に記載の非一時的コンピュータ可読媒体。
(項目14)
前記複数のサーバの前記複数の状態を再判定させる段階は更に、前記第2サーバが第3サーバ状態にあると判定する段階を含み、ここで、前記方法は更に、
前記サーバ構成ツールによって、前記再判定された第2サーバ状態に基づいて前記第2サーバに対して第3構成アクションを実行するよう前記サーバイメージャに命令する段階
を備える、項目12に記載の非一時的コンピュータ可読媒体。
(項目15)
サーバを管理するためのシステムであって、
少なくとも1つのプロセッサ;及び
前記少なくとも1つのプロセッサに動作可能に接続され、命令を格納するメモリ
を備え、前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、前記システムに方法を実行させ、前記方法は、
ユーザインタフェースを通じて、複数のサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記複数のサーバ状態の各々についての定義された構成動作を受信する段階;
サーバ構成ツールによって、複数のサーバの複数の状態を判定する段階;
前記複数のサーバの各々について、前記複数のサーバの前記判定された複数の状態に基づいて、実行されるべき前記定義された構成動作の1つを判定する段階、ここで、前記判定する段階は、第1サーバが第1サーバ状態にあり第2サーバが第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記第1サーバ状態に基づいて前記第1サーバに対して第1構成動作を、前記第2サーバ状態に基づいて前記第2サーバに対して第2構成アクションを並行して実行するようにサーバイメージャに命令する段階
を備える、
システム。
(項目16)
前記複数のサーバ状態の定義を受信する段階は、前記サーバ状態の各々について、少なくともサーバステータス及びサーバプールを受信する段階を含む、項目15に記載のシステム。
(項目17)
前記方法は、
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての新しい構成動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;及び
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記新しい構成動作を前記第3サーバに対して実行させる段階
を更に備える、項目15に記載のシステム。
(項目18)
前記方法は、
前記ユーザインタフェースを通じて、新しいサーバ状態の定義を受信する段階;
前記ユーザインタフェースを通じて、前記新しいサーバ状態についての報告動作の定義を受信する段階;
前記サーバ構成ツールによって、前記複数のサーバの複数の状態を再判定する段階;
第3サーバが前記新しいサーバ状態にあると判定されるとき、前記報告動作を実行させる段階
を更に備える、項目15に記載のシステム。
(項目19)
前記方法は、
前記複数のサーバの前記複数の状態を再判定させる段階、ここで、前記再判定させる段階は、前記第1サーバが前記第2サーバ状態にあると判定する段階を含む;及び
前記サーバ構成ツールによって、前記再判定された第1サーバ状態に基づいて、前記第1サーバに対して前記第2構成アクションを実行するよう前記サーバイメージャに命令する段階
を更に備える、項目15に記載のシステム。
(項目20)
前記複数のサーバの前記複数の状態は、自動的かつ定期的に再判定され、ここで、前記複数のサーバの前記複数の状態を再判定させることは更に、前記第2サーバが第3サーバ状態にあると判定することを含み、前記方法は更に、
前記サーバ構成ツールによって、前記再判定された第2サーバ状態に基づいて、前記第2サーバに対して第3構成アクションを実行するように前記サーバイメージャに命令する段階
を備える、項目19に記載のシステム。
【国際調査報告】