IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-519310デプロイメント構築のためのエージェントレスインストール
<>
  • 特表-デプロイメント構築のためのエージェントレスインストール 図1
  • 特表-デプロイメント構築のためのエージェントレスインストール 図2
  • 特表-デプロイメント構築のためのエージェントレスインストール 図3
  • 特表-デプロイメント構築のためのエージェントレスインストール 図4
  • 特表-デプロイメント構築のためのエージェントレスインストール 図5
  • 特表-デプロイメント構築のためのエージェントレスインストール 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-10
(54)【発明の名称】デプロイメント構築のためのエージェントレスインストール
(51)【国際特許分類】
   G06F 8/61 20180101AFI20240501BHJP
【FI】
G06F8/61
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023568132
(86)(22)【出願日】2022-03-29
(85)【翻訳文提出日】2023-11-02
(86)【国際出願番号】 CN2022083748
(87)【国際公開番号】W WO2022237361
(87)【国際公開日】2022-11-17
(31)【優先権主張番号】17/316,405
(32)【優先日】2021-05-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
(74)【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之
(72)【発明者】
【氏名】タブ、ドガ
(72)【発明者】
【氏名】デ、ソウザ、マシュー
(72)【発明者】
【氏名】テイト、ジェフリー
(72)【発明者】
【氏名】アントノフ、ニック
(72)【発明者】
【氏名】バリー、アルファ
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB01
5B376AD19
(57)【要約】
サーバのプロビジョニングおよびデプロイメントのための方法、コンピュータプログラム製品、およびシステムである。本方法は、サーバに対するデプロイメント構成を受信することを含む。デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、サーバの構成とを含む。本方法はまた、デプロイメント構成に基づいて、サーバ上の帯域外管理カードを介して、サーバ上のハードウェアを再構成することと、オペレーティングシステムのインストールのためにブートローダをサーバにプッシュすることと、を含む。本方法はさらに、サーバへのオペレーティングシステムのインストールを実行することと、自動構成ファイルをサーバに送信することと、を含む。自動構成ファイルは、アプリケーションに関するインストールプロパティを提供する。本方法はまた、サーバ上のシリアル端末出力を使用して、アプリケーションのインストール中にサーバの状態を監視することを含む。
【特許請求の範囲】
【請求項1】
サーバのプロビジョニングおよびデプロイメントのコンピュータ実装方法であって、前記コンピュータ実装方法は、
プロビジョナによって、サーバのデプロイメント構成を受信することであって、前記デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、前記サーバの構成とを含む、受信することと、
前記デプロイメント構成に基づいて、前記サーバ上の帯域外管理カードを介して、前記サーバ上のハードウェアを再構成することと、
オペレーティングシステムと前記アプリケーションのインストールのためのファイルを含むブートローダを前記サーバにプッシュすることと、
前記ブートローダを介して前記オペレーティングシステムを前記サーバにインストールすることと、
自動構成ファイルを前記サーバに送信することであって、前記自動構成ファイルは、前記アプリケーションに関するインストールプロパティを提供する、送信することと、
前記サーバ上のシリアル端末出力を使用して、前記アプリケーションの前記インストール中に前記サーバの状態を監視することと、
を含む、コンピュータ実装方法。
【請求項2】
前記サーバ上の前記ハードウェアを再構成することは、
前記サーバ上の少なくとも1つの利用可能なネットワークインタフェースカード(NIC)上でプリブート実行環境(PXE)を起動するために、帯域外端末を介して前記サーバを構成することと、
前記サーバ上のシリアル端末の端末速度を同期させることと、
前記構成を完了するために前記サーバを再起動することと、
前記サーバからダイナミックホストコンフィギュレーションプロトコル(DHCP)のオファーパケットを受信することと、
前記サーバにインターネットプロトコル(IP)アドレスを提供し、前記サーバに関連するメディアアクセス制御(MAC)アドレスを通知することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記ブートローダをプッシュすることは、
ブートローダ構成ファイルを生成することであって、前記ブートローダ構成ファイルは、前記デプロイメント構成に基づく前記ブートローダのインストールオプションおよびソースソフトウェアバージョンを含む、生成することと、
前記ブートローダのソースファイルを含むファイル転送サーバへのリンクを含む確認応答パケットを前記サーバに送信することと、
前記ソースファイルおよび前記ブートローダ構成ファイルを、前記ファイル転送サーバへの前記リンクを介してインストールのために前記サーバに送信することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記オペレーティングシステムをインストールすることは、
前記サーバから前記オペレーティングシステムに関連するファイルの要求を受信することと、
前記ファイルを前記サーバに送信することであって、前記ファイルは、前記アプリケーションのオプションのフルセットと、前記オペレーティングシステムに関連する追加ファイルのコールバックリンクとを含む、送信することと、
前記サーバ上のストレージディスクを少なくともプライマリパーティションとリカバリパーティションにパーティショニングすることと、
前記ストレージコンポーネントの前記プライマリパーティションに前記オペレーティングシステムの前記インストールを実行することと、
前記ストレージコンポーネントの前記リカバリパーティションにリカバリファイルをインストールすることと、
前記リカバリファイルを介して残りの前記インストールをオフラインで実行できるようにするために、追加ファイルを前記サーバにインストールすることと、
前記インストールオペレーティングシステムを監視するために、前記サーバによって生成された情報を分析することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記サーバとの通信は、セキュアシェル(SSH)トンネルを介して行われる、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記プロビジョナは、前記サーバを構成し前記アプリケーションをインストールする間に、前記サーバによって提供されるベンダ固有コマンドを翻訳するように構成される、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記プロビジョナはエージェントレスである、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記プロビジョナは、前記サーバに関連するマッピングされた汎用一意識別子(UUID)に基づいてスケーリングする、請求項1に記載のコンピュータ実装方法。
【請求項9】
サーバのプロビジョニングおよびデプロイメントのためのコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、コンピュータ実行可能命令を有し、前記コンピュータ実行可能命令は、少なくとも1つのコンピュータによって実行されたときに、前記少なくとも1つのコンピュータに、
サーバのデプロイメント構成を受信することであって、前記デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、前記サーバの構成とを含む、受信することと、
前記デプロイメント構成に基づいて、前記サーバ上の帯域外管理カードを介して、前記サーバ上のハードウェアを再構成することと、
オペレーティングシステムと前記アプリケーションのインストールのためのファイルを含むブートローダを前記サーバにプッシュすることと、
前記ブートローダを介して前記オペレーティングシステムを前記サーバにインストールすることと、
自動構成ファイルを前記サーバに送信することであって、前記自動構成ファイルは、前記アプリケーションに関するインストールプロパティを提供する、送信することと、
シリアルを使用して、前記アプリケーションの前記インストール中に前記サーバの状態を監視することと、
を行う命令を実行させる、コンピュータプログラム製品。
【請求項10】
前記サーバ上の前記ハードウェアを再構成することは、
前記サーバ上の少なくとも1つの利用可能なネットワークインタフェースカード(NIC)上でプリブート実行環境(PXE)を起動するために、帯域外端末を介して前記サーバを構成することと、
前記サーバ上のシリアル端末の端末速度を同期させることと、
前記構成を完了するために前記サーバを再起動することと、
前記サーバからダイナミックホストコンフィギュレーションプロトコル(DHCP)のオファーパケットを受信することと、
前記サーバにインターネットプロトコル(IP)アドレスを提供し、前記サーバに関連するメディアアクセス制御(MAC)アドレスを通知することと、
を実行する命令を含む、請求項10に記載のコンピュータプログラム製品。
【請求項11】
前記ブートローダをプッシュすることは、
ブートローダ構成ファイルを生成することであって、前記ブートローダ構成ファイルは、前記デプロイメント構成に基づく前記ブートローダのインストールオプションおよびソースソフトウェアバージョンを含む、生成することと、
前記ブートローダのソースファイルを含むファイル転送サーバへのリンクを含む確認応答パケットを前記サーバに送信することと、
前記ソースファイルおよび前記ブートローダ構成ファイルを、前記ファイル転送サーバへの前記リンクを介してインストールのために前記サーバに送信することと、
を実行する命令を含む、請求項10に記載のコンピュータプログラム製品。
【請求項12】
前記オペレーティングシステムをインストールすることは、
前記サーバから前記オペレーティングシステムに関連するファイルの要求を受信することと、
前記ファイルを前記サーバに送信することであって、前記ファイルは、前記アプリケーションのオプションのフルセットと、前記オペレーティングシステムに関連する追加ファイルのコールバックリンクとを含む、送信することと、
前記サーバ上のストレージディスクを少なくともプライマリパーティションとリカバリパーティションにパーティショニングすることと、
前記ストレージコンポーネントの前記プライマリパーティションに前記オペレーティングシステムの前記インストールを実行することと、
前記ストレージコンポーネントの前記リカバリパーティションにリカバリファイルをインストールすることと、
前記リカバリファイルを介して残りの前記インストールをオフラインで実行できるようにするために、追加ファイルを前記サーバにインストールすることと、
前記インストールオペレーティングシステムを監視するために、前記サーバによって生成された情報を分析することと、
を実行する命令を含む、請求項10に記載のコンピュータプログラム製品。
【請求項13】
前記サーバとの通信は、セキュアシェル(SSH)トンネルを介して行われる、請求項10に記載のコンピュータプログラム製品。
【請求項14】
前記プロビジョナは、前記サーバを構成し前記アプリケーションをインストールする間に、前記サーバによって提供されるベンダ固有コマンドを翻訳するように構成される、請求項10に記載のコンピュータプログラム製品。
【請求項15】
前記プロビジョナはエージェントレスである、請求項10に記載のコンピュータプログラム製品。
【請求項16】
前記プロビジョナは、前記サーバに関連するマッピングされた汎用一意識別子(UUID)に基づいてスケーリングする、請求項10に記載のコンピュータプログラム製品。
【請求項17】
セキュリティアラートに対する自動アクションのための脅威類似性分析のシステムであって、前記システムは、
メモリと、
プロセッサと、
コンピュータ実行可能コードを記憶したローカルデータ記憶装置と、を含み、前記コンピュータ実行可能コードは、プロセッサによって実行可能であり前記プロセッサに方法を実行させるプログラム命令を含み、前記方法は、
サーバのデプロイメント構成を受信することであって、前記デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、前記サーバの構成とを含む、受信することと、
前記デプロイメント構成に基づいて、前記サーバ上の帯域外管理カードを介して、前記サーバ上のハードウェアを再構成することと、
オペレーティングシステムと前記アプリケーションのインストールのためのファイルを含むブートローダを前記サーバにプッシュすることと、
前記ブートローダを介して前記オペレーティングシステムを前記サーバにインストールすることと、
自動構成ファイルを前記サーバに送信することであって、前記自動構成ファイルは、前記アプリケーションに関するインストールプロパティを提供する、送信することと、
前記サーバ上のシリアル端末出力を使用して、前記アプリケーションの前記インストール中に前記サーバの状態を監視することと、
を含む、システム。
【請求項18】
前記サーバ上の前記ハードウェアを再構成することは、
前記サーバ上の少なくとも1つの利用可能なネットワークインタフェースカード(NIC)上でプリブート実行環境(PXE)を起動するために、帯域外端末を介して前記サーバを構成することと、
前記サーバ上のシリアル端末の端末速度を同期させることと、
前記構成を完了するために前記サーバを再起動することと、
前記サーバからダイナミックホストコンフィギュレーションプロトコル(DHCP)のオファーパケットを受信することと、
前記サーバにインターネットプロトコル(IP)アドレスを提供し、前記サーバに関連するメディアアクセス制御(MAC)アドレスを通知することと、
を含む、請求項17に記載のシステム。
【請求項19】
前記ブートローダをプッシュすることは、
ブートローダ構成ファイルを生成することであって、前記ブートローダ構成ファイルは、前記デプロイメント構成に基づく前記ブートローダのインストールオプションおよびソースソフトウェアバージョンを含む、生成することと、
前記ブートローダのソースファイルを含むファイル転送サーバへのリンクを含む確認応答パケットを前記サーバに送信することと、
前記ソースファイルおよび前記ブートローダ構成ファイルを、前記ファイル転送サーバへの前記リンクを介してインストールのために前記サーバに送信することと、
を含む、請求項17に記載のシステム。
【請求項20】
前記オペレーティングシステムをインストールすることは、
前記サーバから前記オペレーティングシステムに関連するファイルの要求を受信することと、
前記ファイルを前記サーバに送信することであって、前記ファイルは、前記アプリケーションのオプションのフルセットと、前記オペレーティングシステムに関連する追加ファイルのコールバックリンクとを含む、送信することと、
前記サーバ上のストレージディスクを少なくともプライマリパーティションとリカバリパーティションにパーティショニングすることと、
前記ストレージコンポーネントの前記プライマリパーティションに前記オペレーティングシステムの前記インストールを実行することと、
前記ストレージコンポーネントの前記リカバリパーティションにリカバリファイルをインストールすることと、
前記リカバリファイルを介して残りの前記インストールをオフラインで実行できるようにするために、追加ファイルを前記サーバにインストールすることと、
前記インストールオペレーティングシステムを監視するために、前記サーバによって生成された情報を分析することと、
を含む、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サーバのプロビジョニングとデプロイメントに関し、より具体的には、安全でスケーラブルなワークフローのデプロイメントを自動化できる、エージェントレスでポータブルなプロビジョナに関する。
【背景技術】
【0002】
サーバプロビジョニングは、適切なシステム、データ、ソフトウェアを備えたサーバを準備し、ネットワーク運用の準備を整えるための一連の動作を提供する。サーバのプロビジョニングプロセスでは、サーバが選択され、適切なソフトウェアがロードされる。ソフトウェアには、オペレーティングシステム、デバイスドライバ、ミドルウェア、およびアプリケーションが含まれる。さらに、サーバのプロビジョニングでは、インターネットプロトコル(IP)アドレスやIPゲートウェイなどの追加パラメータを変更し、サーバが関連するネットワークおよびストレージシステムのリソースを見つけられるようにすることもできる。
【0003】
従来、サーバのプロビジョニングは、サーバのセットアップ、希望する設定へのハードウェアの構成、必要なアプリケーションのインストールなど、手作業で行われていた。しかし、手作業によるプロビジョニングは時間がかかり、人為的なミスが発生しやすい場合がある。代わりに、サーバに必要な仕様を詳細に記述した構成ファイルを使用して、自動プロビジョニングを実行できるようになった。この自動プロセスは、従来の物理サーバだけでなく、仮想インフラストラクチャでも実行できる。
【発明の概要】
【0004】
本開示の実施形態は、サーバのプロビジョニングおよびデプロイメントのコンピュータ実装方法であって、より具体的には、安全でスケーラブルなワークフローのデプロイメントを自動化できる、エージェントレスでポータブルなプロビジョナを含む。コンピュータ実装方法は、サーバのデプロイメント構成を受信することを含む。デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、サーバの構成とを含む。コンピュータ実装方法はまた、デプロイメント構成に基づいて、サーバ上の帯域外管理カードを介して、サーバ上のハードウェアを再構成することと、オペレーティングシステムのインストールのためにブートローダをサーバにプッシュすることと、を含む。コンピュータ実装方法は、さらに、サーバにオペレーティングシステムのインストールを実行することと、自動構成ファイルをサーバに送信することと、を含む。自動構成ファイルは、アプリケーションに関するインストールプロパティを提供する。コンピュータ実装方法はまた、サーバ上のシリアル端末出力を使用して、アプリケーションのインストール中にサーバの状態を監視することを含む。
【0005】
本開示の追加的な実施形態は、サーバのプロビジョニングおよびデプロイメントのコンピュータプログラム製品であって、より具体的には、安全でスケーラブルなワークフローのデプロイメントを自動化できる、エージェントレスでポータブルなプロビジョナと、1または複数のコンピュータ可読記憶媒体と、1または複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令とを含み、プログラム命令は、プロセッサによって実行可能であり、プロセッサに方法を実行させる。方法は、サーバのデプロイメント構成を受信する。デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、サーバの構成とを含む。方法はまた、デプロイメント構成に基づいて、サーバ上の帯域外管理カードを介して、サーバ上のハードウェアを再構成することと、オペレーティングシステムのインストールのためにブートローダをサーバにプッシュすることと、を含む。方法は、さらに、サーバにオペレーティングシステムのインストールを実行することと、自動構成ファイルをサーバに送信することと、を含む。自動構成ファイルは、アプリケーションに関するインストールプロパティを提供する。方法は、また、サーバ上のシリアル端末出力を使用して、アプリケーションのインストール中にサーバの状態を監視することを含む。
【0006】
本開示のさらなる実施形態は、サーバプロビジョニングおよびデプロイメントのシステムであって、より具体的には、安全でスケーラブルなワークフローのデプロイメントを自動化できる、エージェントレスでポータブルなプロビジョナを含む。システムは、メモリと、プロセッサと、コンピュータ実行可能コードを記憶したローカルデータ記憶装置と、を含む。コンピュータ実行可能コードは、プロセッサによって実行可能なプログラム命令を含み、プロセッサに、上述の方法を実行させる。さらに、システムは、ベンダー固有のコマンドを翻訳するように構成されたトランスレータを含み、上述の方法の間、そのスタック内のコマンドを翻訳する。これにより、システムは、特定のベンダーに依存せず、混在したハードウェア環境で動作可能な、単純な共通コマンドのセットを提供することができる。本要約は、本開示の各態様、すべての実装形態、もしくはすべての実施形態、またはその組み合わせを説明することを意図するものではない。
【0007】
本開示の実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明、添付の特許請求の範囲、および添付の図面に関してより良く理解されるであろう。
【図面の簡単な説明】
【0008】
図1】本開示の1または複数の実施形態によって使用される全体的なソリューションアーキテクチャを示すブロック図である。
図2】本開示の1または複数の実施形態によって使用されるエージェントレスプロビジョナを示すブロック図である。
図3】本開示の実施形態によって、サーバ上でエージェントレスプロビジョナを使用し、実行されるサーバプロビジョニングのプロセスを示すフロー図である。
図4】本開示が実施され得る本明細書に記載の方法、ツール、およびモジュール、ならびに任意の関連機能の1または複数を実施する際に使用され得る例示的なコンピュータシステムを示すハイレベルブロック図である。
図5】本開示の実施形態によるクラウドコンピューティング環境を示している。
図6】本開示の実施形態による抽象化モデルレイヤを示す図である。
【発明を実施するための形態】
【0009】
本開示は、様々な変更および代替形態に従順であるが、その具体的な態様を図面に例示的に示し、詳細に説明する。しかしながら、その意図は、記載された特定の実施形態を限定することではないことを理解されたい。それどころか、その意図は、本開示の範囲内に入る全ての変更、等価物、および代替物を網羅することである。同様の参照数字は、添付図面において同様の部分を指定するために使用される。
【0010】
本開示は、サーバプロビジョニングおよびデプロイメントに関し、より具体的には、安全でスケーラブルなワークフローのデプロイメントを自動化できる、エージェントレスでポータブルなプロビジョナに関する。本開示は、必ずしもこのような用途に限定されるものではないが、本開示の様々な態様は、この文脈を用いた様々な例の議論を通じて理解され得る。
【0011】
データセンターは、コンピュータ、サーバ(ウェブサーバ、アプリケーションサーバ、データベースサーバなど)、スイッチ、ルータ、データ記憶装置、ロードバランサー、ワイヤーケージまたはクローゼット、保管庫、ラック、およびホスト間でデータや情報を保存、管理、処理、交換するための関連機器など、さまざまな機器を物理的に収容する設備である。ホストは通常、コンピュータシステム、関連する物理メモリを有するプロセス、または共有メモリもしくはリソースまたはその両方を持つプロセッサに対応する。データセンターはまた、ウェブホスティング、インターネット、イントラネット、テレコミュニケーション、情報技術など、さまざまなデータ処理機能のためのアプリケーションサービスと管理を提供する。
【0012】
データセンターは通常、管理され、十分に監視された環境内にある。これらのデータセンターは、1人または複数人の管理者によって管理される。アプリケーションサービスを提供するために、ソフトウェアは管理者によってデータセンターの各ホストにインストールされる。通常、各ホストへのソフトウェアのインストールは、プロビジョニングによってリモートで実行される。サーバプロビジョニングは、適切なシステム、データ、ソフトウェアを備えたサーバを準備し、ネットワーク運用の準備を整えるための一連の動作を提供する。サーバのプロビジョニングプロセスでは、サーバが選択され、適切なソフトウェアがロードされる。ソフトウェアには、オペレーティングシステム、デバイスドライバ、ミドルウェア、アプリケーションなどが含まれる。さらに、サーバのプロビジョニングでは、サーバが関連するネットワークやストレージシステムのリソースを見つけられるように、IPアドレスやIPゲートウェイなどの追加パラメータを変更することができる。
【0013】
データセンターは一般的に大規模で、異なるオペレーティングシステム(例えば、Sun Microsystems社により開発されたSolaris(カリフォルニア州サンタクララにあるSun Microsystems社の商標)、Red Hat社によって開発されたRed Hat Linux(登録商標)(ノースカロライナ州ローリーにあるRed Hat社の登録商標)、Novell社によって開発されたSUSE(登録商標) Linux(マサチューセッツ州ウォルサムにあるNovell社の登録商標)、マイクロソフト社によって開発されたWindows(登録商標)(ワシントン州のレドモンドにあるMicrosoft社の登録商標)など)、およびホストの種類(すなわち異なるホストは異なるハードウェアを使用する)に関して異質であるので、プロビジョニングにも適応性が求められる。
【0014】
オペレーティングシステムによっては、ホスト上のオペレーティングシステムのプロビジョニングをオーケストレーションできる別のプロビジョニングプログラムを使用することができる。各プロビジョニングプログラムは、異なる入力パラメータ、構成ファイル形式、構成ステップを有することもできる。
【0015】
しかし、現在のプロビジョニングソリューションでは、ハードウェアの手動構成や起動が必要であったり、監視によるフィードバックがなかったり、メディアアクセスコントロール(MAC)アドレスの指定が必要であったり、手動によるシステム構成が必要であったり、ベンダー固有であったり、特定のオペレーティングシステムに限定されていたりするため、サーバのプロビジョニングおよびデプロイメントには依然として限界がある。さらに、データセンターはサービスの高可用性を優先し、迅速な災害復旧サービスを提供している。新しいノードを迅速にデプロイメントすることは、データ処理に重点を置くソフトウェアのデプロイメントにとって非常に重要である。しかし、すべてのソフトウェアが安全でスケーラブルな方法でコンテナ内にデプロイメントされ、実行できるわけではない。これは、設計、操作方法、技術的負債、サポート性などに起因することがある。
【0016】
本開示の実施形態は、サーバプロビジョニングおよびワークロードデプロイメントのためにエージェントレスプロビジョナを使用することによって、上記、および他の問題を克服し得る。エージェントレスプロビジョナは、スケーラブルなワークフローを実行することができるカスタマイズされた方法を実行することができ、処理ノードのタイプおよび詳細をプロファイリングすることによって、ユーザが所望のデプロイメントを定義することを可能にする。ソフトウェアのインストールおよび構成は、自動化され、スケーラブルである。したがって、実施形態は、他のデプロイメントを維持する必要がないことにより、より少ないダウンタイムをユーザに提供することができる。
【0017】
より具体的には、エージェントレスプロビジョナは、宛先サーバ上のソフトウェアのプロビジョニングとデプロイメントを開始するために、宛先サーバ上の管理インタフェースに要求メッセージを送信する。要求メッセージは、要求されたソフトウェアビルドおよび要求されたインストール構成を含むことができる。次に、エージェントレスプロビジョナは、管理インタフェースを介して宛先サーバのハードウェアを再構成することができる。再構成には、RAID(Redundant Array of Independent Disks)の構成、ファームウェアプロパティの提供、ブートオプションの構成、再構成で行われた変更を適用するための起動のトリガを含むことができる。一旦構成されると、エージェントレスプロビジョナはブートローダを宛先サーバにプッシュし、オペレーティングシステムのインストールを開始することができる。
【0018】
エージェントレスプロビジョナは、宛先サーバに自動構成ファイルを提供することもできる。自動構成ファイルは、インストールされるアプリケーションに関連するインストールプロパティを提供することができる。インストール中、エージェントレスプロビジョナは、シリアル端末出力を介してインストールを監視することができる。シリアル端末によって出力された情報は解析される場合があり、エージェントレスプロビジョナは、アプリケーションが正常にインストールされるために追加ステップが必要かどうかを判断することができる。サーバから中継された通信は、エージェントレスプロビジョナによって傍受され、通信のタイプに基づいて変換される。そうすることで、エージェントレスプロビジョナは翻訳コンポーネントを介して通信を翻訳することができるため、インストールと監視のプロセスはベンダーに依存しない。
【0019】
さらに、エージェントレスプロビジョナは、宛先サーバにインストールを積極的にプッシュすることができる。正しい宛先サーバがアクションされていることを判断するために、エージェントレスプロビジョナはプロビジョニングプロファイルを使用することができる。プロビジョニングプロファイルは、MACアドレス、IPアドレス、ホスト、および管理インタフェースに基づいて、サーバにユニバーサル一意識別子(UUID)をマッピングして割り当てることができる。インストールソフトウェアを含むディスクイメージまたはISOのコンテンツ、またはその他のパッキングメカニズムは、宛先サーバのランダムアクセスメモリ(RAM)にロードされる内部リポジトリとして機能することができる。RAMへのインストールにより、ディスクやネットワークを介してインストールを行う場合に発生する可能性のあるディスクやネットワークの速度低下を回避できる。また、RAMにコンテンツをロードすることで、エージェントレスプロビジョナは複数のリクエストに対応し、同時インストールの進捗を追跡することができる。
【0020】
メモリからのインストールを容易にするために、TFTP(Trivial File Transfer Protocol)サーバは、エージェントレスプロビジョナが、宛先サーバで利用可能なメモリに基づいて、必要なパッケージを増分単位で宛先サーバにプッシュすることを可能にすることができる。例えば、宛先サーバに8ギガバイトの利用可能なメモリがある場合、エージェントレスプロビジョナは、8ギガバイトのメモリと等しいか、またはそれ未満のパッケージのインクリメントをプッシュすることができ、それにより、メモリからインストールを実行できるようになる。
【0021】
いくつかの実施形態では、エージェントレスプロビジョナは、宛先サーバに接続された帯域外管理カードを介して、宛先サーバ上のハードウェアを再構成する。再構成は、RAIDの構成、ファームウェアプロパティの提供、起動オプションの構成、再構成で行われた変更を適用するための起動のトリガを含むことができる。例えば、宛先にインストールされるアプリケーションは、特定のファームウェアもしくはRAID構成またはその両方を必要とするかもしれない。エージェントレスプロビジョナは、アプリケーションによって必要とされる必要な要件を照合し、宛先サーバ上のハードウェアを再構成して、アプリケーションが正しくインストールされるようにすることができる。さらに、エージェントレスプロビジョナは、宛先サーバにインストールされた少なくとも1つの利用可能なネットワークインタフェースカード(NIC)上でPXE(Preboot eXecution Environment)起動設定が正しく機能していることを確認することができる。PXE起動により、宛先はエージェントレスプロビジョナによってネットワーク経由で起動されることができる。ハードウェアが再構成され、PXEブート設定が設定されると、エージェントレスプロビジョナは宛先サーバをパワーサイクルして、行われた再構成設定をすべて適用することができる。エージェントレスプロビジョナは、宛先サーバを提供し、宛先サーバからの通信が正しいMACアドレスおよび提供されたIPアドレスを使用するようにすることができる。
【0022】
いくつかの実施形態では、プッシュされるブートローダは、プレブート実行環境(IPXE)クライアントファームウェアおよびブートローダのオープンソース実装である。IPXEブートローダは、ネットワークからの宛先サーバから起動する、もしくは宛先サーバ上の既存のPXEクライアント実装を拡張して、追加のプロトコルをサポートするためのサポートを提供する。エージェントレスプロビジョナは、インストールオプションおよびブートローダのソースソフトウェアバージョンを含むブートローダ構成ファイルを生成することができる。ブートローダが起動すると、エージェントレスプロビジョナは、宛先サーバへのオペレーティングシステムのインストールを続行することができる。
【0023】
ここで図1を参照すると、本開示の実施形態による、全体的なソリューションアーキテクチャ100のハイレベルブロック図が示されている。アーキテクチャ100は、デプロイメント構成110、集中サーバ120、エージェントレスプロビジョナ130、および宛先サーバ140-1、140-2、140-N(集合的に「宛先サーバ140」)を含み、Nは、任意の数の可能な宛先サーバ140を表す可変整数である。エージェントレスプロビジョナ130の追加の詳細は、図2に示されている。
【0024】
デプロイメント構成110は、宛先サーバ140-1へのアプリケーションのデプロイメントを容易にするために、特定のソースから起動(例えば、tempfなど)のための特定の命令を実行するコマンドを含むアーキテクチャ100のコンポーネントである。デプロイメント構成110は、デプロイメント構成で指定された宛先サーバ140のデプロイメントを構築および拡張することができる。例えば、デプロイメント構成110は、データセンター内のどの宛先サーバ140にアプリケーションをインストールすべきかを指定することができる。さらに、デプロイメント構成は、エージェントレスプロビジョナ130がセキュアシェルプロトコル(SSH)トンネルを介して宛先サーバ140と通信するために利用できるベンダー固有の資格情報を含むことができる。例えば、ベンダー固有の資格情報は、iDRAC(Integrated Dell Remote Access Controller)または統合管理モジュール(IMM)を介してSSHトンネルをセットアップするために使用することができる。
【0025】
集中サーバ120は、管理者(図示せず)にインタフェースを提供するためのユニットとして対応するように構成されたアーキテクチャ100のコンポーネントである。いくつかの実施形態では、集中サーバ120は、様々な形態の機能性を含むウェブサーバである。機能性には、例えば、管理者にウェブページまたはウェブアプリケーションを発行する機能、管理者のコンピュータ上で実行されるアプリケーションを提供する機能、またはシステムへのインタフェースを提供する他の任意の機能が含まれる。インタフェースは、コマンドラインインタフェースであっても、グラフィカルユーザインタフェースであってもよい。
【0026】
エージェントレスプロビジョナ130は、宛先サーバ140のプロビジョニングを管理するように構成されたアーキテクチャ100のコンポーネントである。いくつかの実施形態において、エージェントレスプロビジョナ130は、宛先サーバ140に接続された1または複数のサーバに対応する。エージェントレスプロビジョナ130は、以下(図2)においてより詳細に説明される。
【0027】
宛先サーバ140は、プロビジョニングが実行され得るサーバのグループに対応するアーキテクチャ100のコンポーネントである。通常、複数の異なるオペレーティングシステムが宛先サーバ140にプロビジョニングされる。例えば、宛先サーバ140-1と宛先サーバ140-2は、2つの異なるタイプのオペレーティングシステムを実行する。いくつかの実施形態では、宛先サーバ140間の異なるグループ化は、同じオペレーティングシステムを実行してもよく、同じ構成設定を使用してもよいし、使用しなくてもよい。例えば、宛先サーバ140-1および宛先サーバ140-2は、同じオペレーティングシステムを実行するが、各サーバの様々な設定およびハードウェアに基づいて異なる構成設定を利用する。
【0028】
宛先サーバ140は、シリアル端末コントローラ、電源コントローラ、ブートコントローラ、グラフィカルコンソールコントローラ、デバイスディスカバリコントローラなどの複数のコントローラを含むことができる。これらのコントローラは、エージェントレスプロビジョナ130による宛先サーバ140のリモート管理を提供することができる。例えば、シリアル端末コントローラは、シリアル端末の出力のリモート表示を可能にする機能を含む。電源コントローラは、宛先サーバ140をオンおよびオフする機能を含む。ブートコントローラは、プログラムのリモートロードを可能にする機能を含む。グラフィカルコンソールコントローラは、グラフィカルコンソールのリモート表示を可能にする機能を含む。デバイスディスカバリコントローラは、宛先サーバ140に新しいデバイスをリモートで追加および構成できるようにする機能を含む。
【0029】
複数のタイプのコントローラ(例えば、シリアル端末コントローラ、電源コントローラ、ブートコントローラ、グラフィカルコンソールコントローラ、デバイスディスカバリコントローラ)が存在することを理解されたい。さらに、異なるコントローラによって提供される前述の機能の1または複数が、単一のコントローラまたは異なるコントローラによって実行される場合がある。例えば、ALOM(Automatic Light Out Management)コントローラは、電源コントローラ、ブートコントローラ、およびシリアル端末コントローラの機能を実行する。
【0030】
いくつかの実施形態では、宛先サーバ140は、異種ハードウェアシステムで構成される。例えば、宛先サーバ140-1は、サン・マイクロシステムズ社のIntelligent Platform Management Interface(IPMI)を介して管理されるサーバに対応する場合があり、宛先サーバ140-2は、Dell社のIntegrated Dell Remote Access Controller(iDRAC)などを介して管理されるサーバに対応する場合がある。あるいは、宛先サーバ140は、ハードウェアが管理者によって個別に指定される汎用タイプであってもよい。
【0031】
宛先サーバ140、エージェントレスプロビジョナ130、および集中サーバ120は、事実上どのような方法で接続されてもよい。さらに、いくつかの実施形態では、エージェントレスプロビジョナ130および宛先サーバ140は、ファイアウォールの背後にある。集中サーバ120は、エージェントレスプロビジョナ130および宛先サーバ140と同じファイアウォールの背後にある場合もあるし、ない場合もある。典型的には、エージェントレスプロビジョナ130は、宛先サーバ140を維持するデータセンターにおいて、集中サーバ120とともに、または集中サーバ120なしで維持される。
【0032】
図1は、例示的なアーキテクチャ100の主要な代表的構成要素を描写することを意図していることに留意されたい。しかしながら、いくつかの実施形態では、個々の構成要素は、図1に表されているものよりも複雑さが大きくても小さくてもよく、図1に示されている構成要素以外の構成要素または図1に示されている構成要素に加えて構成要素が存在してもよく、そのような構成要素の数、タイプ、および構成は変化してもよい。
【0033】
ここで図2を参照すると、例示的なエージェントレスプロビジョナ200(図1のエージェントレスプロビジョナ130に類似)が示されている。エージェントレスプロビジョナ200は、DHCP(dynamic host configuration protocol)サーバ210、TFTP(trivial file transfer protocol)サーバ220、HTTPS(hypertext transfer protocol secure)サーバ230、翻訳コンポーネント240、SSH(secure socket shell)サービス250、サンドボックス260、およびアプリケーション270を含む。エージェントレスプロビジョナ200は、異種宛先サーバ140を、デプロイメント構成110で指定されたサーバ固有のオペレーティングシステムおよびアプリケーションでプロビジョニングすることができる。
【0034】
DHCPサーバ210は、インターネットプロトコル(IP)ローカルエリアネットワークで使用されるネットワーク管理プロトコルを提供するように構成されたエージェントレスプロビジョナ200のコンポーネントである。DHCPサーバは、DHCPプロトコルを使用してIPアドレスを宛先サーバ140に提供することができる。さらに、DHCPサーバ210は、宛先サーバ140のそれぞれに固有のアドレスを割り当て、TCP(transmission control protocol)/IP通信のために特定し、他のネットワーク構成パラメータを供給することができる。DHCPサーバ210は、宛先サーバ140上で動作する異なるオペレーティングシステムに必要な様々なDHCP構成を使用して、プロビジョニングのための最小限のDHCP要件を提供できるDHCPサービスを動作させることができる。
【0035】
TFTPサーバ220は、プロビジョニングのためのファイル(例えば、アプリケーション、オペレーティングシステムなど)を記憶し、提供するように構成されたエージェントレスプロビジョナ200のコンポーネントである。TFTPサーバ220は、ファームウェアイメージおよび構成ファイルを宛先サーバ140に転送するために使用することもできる。
【0036】
HTTPSサーバ230は、エージェントレスプロビジョナ200と宛先サーバ140との間の安全な通信を提供するように構成されたエージェントレスプロビジョナ200のコンポーネントである。HTTPSでは、通信プロトコルは、TLS(Transport Layer Security)またはSSL(Secure Socket Layer)を使用して暗号化される。HTTPSサーバ230は、エージェントレスプロビジョナ200と宛先サーバ140との間の通信の双方向暗号化を提供し、通信を盗聴や改ざんから保護する。
【0037】
翻訳コンポーネント240は、宛先サーバ140によって提供されるベンダー固有のコマンドを翻訳するように構成されたエージェントレスプロビジョナ200のコンポーネントである。例えば、宛先サーバ140-1は、固有の構成コマンドのセットを有するDellサーバであってもよく、宛先サーバ140-2は、別の固有の構成コマンドのセットを有するHewlett-Packardサーバであってもよい。プロビジョニングプロセスの間、宛先サーバ140は、エージェントレスプロビジョナ200との間で固有のコマンドのセットを受信および送信することができる。これらのコマンドは、例えば、プロビジョニングプロセス中にコマンド、更新、およびステータス通知を提供することができる。翻訳コンポーネント240は、エージェントレスプロビジョナ200が異種の宛先サーバ140を有する環境全体で拡張できるように、ベンダー固有のコマンドを自動的に翻訳することができる。
【0038】
さらに、翻訳コンポーネント240は、タスク(例えば、ネットワーク起動、再起動など)を達成するために、宛先サーバ140の管理コントローラ(例えば、ファミリー/モデル)に対して実行されるコマンドまたはアクションのシーケンスに対する翻訳を提供する。いくつかの実施形態では、翻訳コンポーネント240は、エラー処理中にエラーコードを翻訳する。翻訳は、プロビジョニングプロセス中に宛先サーバ140に存在し得る一般的な問題のためのものであり得る。エラーコードの翻訳は、管理コントローラレベルでエラーが発生した場合でも、宛先サーバ140で実行されるタスクが完全に適切に行われることを保証することができる。さらに、翻訳コンポーネント240は、コマンドライン構文、期待される応答、タイミングなどに関連するプリファレンスに基づいて、コマンドを調整することができる。
【0039】
いくつかの実施形態では、翻訳コンポーネント240は、ベンダー固有のコマンドとエージェントレスプロビジョナ200によって理解可能なコマンドとの間のマッピングを介して、ベンダー固有のコマンドを翻訳する。これは、管理者が、宛先サーバ140のコマンドを、エージェントレスプロビジョナ200によって提供されるコマンドに手動でマッピングすることによって達成することができる。こうして、翻訳コンポーネント240は、ベンダー固有でない共通コマンドの単純なセットを提供し、それによって、調和のとれたデプロイメントが可能な混合ハードウェアデプロイメントを可能にする。
【0040】
SSHサービス250は、プロビジョニングプロセス中にエージェントレスプロビジョナ200と宛先サーバ140との間にセキュアシェルトンネリングを提供するように構成されたエージェントレスプロビジョナ200のコンポーネントである。SSHトンネルは、暗号化されたチャネルを介してネットワーク上で暗号化されていないトラフィックを転送するために使用することができる。
【0041】
サンドボックス260は、実行中のプログラムを分離するためのセキュリティメカニズムとして構成されたエージェントレスプロビジョナ200のコンポーネントである。エージェントレスプロビジョナ200は、分離された環境においてアプリケーション270を観察し、分析することができる。サンドボックス260は、脅威がネットワークに侵入してアプリケーションを変更する可能性を防ぐことができる。
【0042】
エージェントレスプロビジョナ200は、iDRACやIMMなどの製造業者の管理インタフェースと連携するように構成されている。これにより、エージェントレスプロビジョナ200は、安全な接続のためにSSHトンネルを介して宛先サーバ140と通信することができ、安全な通信を提供しないIntelligent Platform Management Interface(「IPMI」)のような他のインタフェースの使用を回避することができる。
【0043】
エージェントレスプロビジョナ200はさらに、プロビジョニングプロセス中にオペレーティングシステムおよびアプリケーションインストールのインストール進捗を監視するように構成される。エージェントレスプロビジョナは、帯域外のシリアル端末もしくはSSH接続またはその両方を監視して、インストールが正しく行われていることを確認することができる。これは、ログの分析、正規表現ファイルの解析、およびシリアル端末によって生成される出力の傍受によって実行することができる。
【0044】
いくつかの実施形態において、エージェントレスプロビジョナ200は、ポータブルであり、自己内蔵型である。例えば、エージェントレスプロビジョナ200は、複数の宛先サーバ140に配布可能なbashおよびjavaプログラムを含むデプロイメント可能なバイナリであり得る。宛先サーバ140のランダムアクセスメモリにISOコンテンツをロードすることによってスケーラビリティを達成することができ、それによって、メカニズムが複数のリクエストに対応できるようにすることができる。
【0045】
図2は、例示的なエージェントレスプロビジョナ200の主要な代表的構成要素を描写することを意図していることに留意されたい。しかしながら、いくつかの実施形態では、個々の構成要素は、図2に表されているものよりも複雑さが大きくても小さくてもよく、図2に示されている構成要素以外の構成要素または図2に示されている構成要素に加えて構成要素が存在してもよく、そのような構成要素の数、タイプ、および構成は変化してもよい。
【0046】
図3は、本開示の実施形態による、エージェントレスプロビジョナを使用するサーバプロビジョニングプロセスのプロセス300を示すフロー図である。プロセス300は、ハードウェア、ファームウェア、プロセッサ上で実行されるソフトウェア、またはそれらの組み合わせによって実行されてもよい。例えば、プロセス300のいずれかまたはすべてのステップは、コンピューティングデバイスに組み込まれた1または複数のプロセッサによって実行されてもよい。
【0047】
宛先サーバ140に対するデプロイメント構成要求が受信される。これはステップ310で示される。例えば、管理者は、デプロイメント構成110を生成し、エージェントレスプロビジョナ200に送信する。デプロイメント構成110は、意図された構成およびインストール命令を含むことができる。例えば、デプロイメント構成110は、要求されたソフトウェアビルドと、インストールされるアプリケーションの要求されたインストール構成とを含むことができる。いくつかの実施形態では、管理者は、デプロイメント構成110を、表現状態転送(REST)コールを介してエージェントレスプロビジョナ200に送信する。管理者は、エージェントレスプロビジョナ200を実行している集中サーバ120にデプロイメント構成110を送信することもでき、集中サーバ120は、デプロイメント構成110をプロビジョナ130に送信する。
【0048】
宛先サーバ140のハードウェアは、デプロイメント構成110で提供された情報に基づいて再構成される。これはステップ320に示されている。いくつかの実施形態では、エージェントレスプロビジョナ200は、宛先サーバ140に接続された少なくとも1つの利用可能なネットワークインタフェースカード(NIC)上でのプリブート実行環境(PXE)起動のために、宛先サーバ140上の帯域外端末を介して宛先サーバ140を構成することができる。次に、エージェントレスプロビジョナ200は、インストールされるオペレーティングシステムによって提供される速度に基づいて、宛先サーバ140上の端末速度を同期させることができる。例えば、エージェントレスプロビジョナ200と宛先サーバ140が同じ速度で通信できるように、特定のボーレートでCOM2を取得する。
【0049】
一旦同期されると、エージェントレスプロビジョナ200は、コントローラを利用して、宛先サーバ140を再起動し、デプロイメント構成110で指定されたハードウェアの構成を完了することができる。いくつかの実施形態では、宛先サーバ140に接続されたすべてのNICは、再起動する前に、ネットワーク起動のために設定される。動作可能になった第1のネットワークカードが通信のために選択される。エージェントレスプロビジョナ200は、宛先サーバ140上のハードウェアが再構成されると、プリブート実行環境PXE起動のための既知の動作設定がすべての利用可能なNICで利用可能であることを保証することができる。さらに、エージェントレスプロビジョナ200は、宛先サーバ140上のシリアル端末が既知の状態に正しく構成されていることを確認することができる。確認されると、エージェントレスプロビジョナ200は、宛先サーバ140をパワーサイクルし、それによりシステムを再起動することができる。
【0050】
再起動されると、エージェントレスプロビジョナ200は宛先サーバ140からDHCPオファーパケットを受信し、宛先サーバ140にIPアドレスを提供することができる。いくつかの実施形態では、宛先サーバ140は、NICを介して、ブロードキャストドメインにDHCPオファーパケットを送信することができる。エージェントレスプロビジョナ200は、このパケットを傍受し、宛先サーバ140とそのアーキテクチャを検査することができる。エージェントレスプロビジョナ200は、宛先サーバ140にマシンのIPアドレスで応答することができる。また、エージェントレスプロビジョナ200は、宛先サーバ140に関連するメディアアクセス制御(MAC)アドレスを通知することができる。
【0051】
エージェントレスプロビジョナ200は、ブートローダを宛先サーバ140にプッシュする。これはステップ330で示される。いくつかの実施形態では、ブートローダは、PXEクライアントファームウェアとブートローダの修正版である。いったんプッシュされると、ブートローダは、実行され、宛先サーバ140上で実行を開始する。
【0052】
いくつかの実施形態では、ブートローダをプッシュすることは、ブートローダ構成ファイルを生成することを含む。ブートローダ構成ファイルは、ブートローダのオプションとソースソフトウェアバージョンを含むことができる。デプロイメント構成110に基づき、ブートローダ構成ファイルは、インストールされるアプリケーション(例えば、QRadar)のインストールオプションとソースソフトウェアバージョンを含むことができる。ブートローダ構成ファイルのソースISOファイルは、ファイルシステムにマウントまたは解凍されない。ブートローダ構成ファイルのソースISOファイルは、宛先サーバ140によって読み込まれ得る。
【0053】
いったん生成されると、エージェントレスプロビジョナ200は、ブートローダのソースファイルを含むTFTPサーバ220へのリンクを含む確認応答パケットを宛先サーバ140に送信することができる。宛先サーバ140は、TFTP経由でエージェントレスプロビジョナ200を呼び出し、ブートローダコードをフェッチすることができる。これは内部ジャーストレージから供給することができる。次に、エージェントレスプロビジョナ200は、TFTPサーバ220を介して、ソースファイルとブートローダ構成ファイルを、TFTPサーバ220へのリンクによって指定された宛先サーバ140に送信することができる。
【0054】
エージェントレスプロビジョナ200は、ブートローダを介して、宛先サーバ140にオペレーティングシステムをインストールする。これはステップ340に示されている。いくつかの実施形態では、ブートローダは、ブートストラッププロセスを介してオペレーティングシステムをインストールする。ブートローダは通常、Linuxの低レベルバージョンであるため、サーバを操作し、デプロイメント構成110で指定されたアプリケーションを実行するには、より高性能なオペレーティングシステムが必要である。さらに、リカバリパーティションやその他の詳細は、一般的に、指定され意図されたオペレーティングシステムのインストールの要件によって決定される。
【0055】
いくつかの実施形態では、オペレーティングシステムのインストールを実行することは、エージェントレスプロビジョナ200が、オペレーティングシステムに関連するファイルについて、宛先サーバ140からループバック要求を介して要求を受信することを含む。エージェントレスプロビジョナ200は、インストールプロセス中に宛先サーバ140が情報をメモリにロードできるように、TFTPサーバ220を介してファイルをチャンクで送信することができる。ファイルには、アプリケーションのオプションのフルセットと、オペレーティングシステムおよびアプリケーションに関連する追加ファイルのコールバックリンクを含めることができる。これらのコールバックリンクは、カーネル、キックスタート、アプリケーションの自動構成ファイル、およびプロビジョニングプロセスに必要なその他のデータを指すことができる。さらに、構成ファイルに含まれるのは、DHCPサーバ210と通信していることが以前に知られていたMACアドレスへの第1のイーサネットインタフェースのハードマッピングである。
【0056】
次に、エージェントレスプロビジョナ200は、サーバコントローラを介して、送信されたファイル内に位置する自動起動ファイルから、宛先サーバ140にオペレーティングシステムをインストールすることができる。いくつかの実施形態では、宛先サーバ140は、TFTPサーバ220を介して、エージェントレスプロビジョナ200から「コンブート」をロードし、以前のオペレーティングシステム構成から自動起動を実行する。いくつかの実施形態では、宛先サーバ140は、エージェントレスプロビジョナ200上のREST APIを介して、HTTPSサーバ230を介して、オペレーティングシステムのカーネル実行ファイルと初期ランダムアクセスメモリ(RAM)ディスクをフェッチする。カーネルとディスクは、ISOファイルの内部から直接供給されることができ、宛先サーバ140がメモリから取得できるように、REST APIを介して動的に提供される。
【0057】
インストールプロセス中、宛先サーバ140上のストレージディスクはパーティショニングされ、オペレーティングシステムのインストールはパーティション上で実行されることができる。さらに、エージェントレスプロビジョナ200は、SSHサービス250によってオペレーティングシステムのインストールを監視することができる。インストールが実行されている間、メインISOファイルは、エージェントレスプロビジョナ200によって提供されるREST APIを介して提供され得るリカバリパーティションにコピーされ得る。メインISOファイルがリカバリパーティションに完全に転送されると、エージェントレスプロビジョナ200は、DHCPサーバ210を介して、宛先サーバ140をネットワークブートからローカルブートに切り替えることができる。
【0058】
宛先サーバ140は再起動され、リカバリパーティションにあるローカルISOファイルを介して残りのオペレーティングシステムのインストールが行われる。これが行われている間、エージェントレスプロビジョナは、宛先サーバ140上の帯域外シリアル端末を介してインストールの進捗を監視し続けることができる。監視には、例えば、ログファイルの分析、シリアル端末出力のリアルタイム監視、正規表現(「regex」)ファイルなどが含まれる。例えば、正規表現ファイルは、アクションを必要とするインストールプロセスのポイントを示す特定のポイントを探すために解析することができる。オペレーティングシステムのインストール後、生成されたログファイルを分析し、インストールが正しく実行されたことを確認することができる。
【0059】
エージェントレスプロビジョナ200は、自動構成ファイルを宛先サーバ140に送信する。これはステップ350に示されている。自動構成ファイルは、REST APIを介してダウンロードされ、宛先サーバ140のローカルストレージに配置されることができ、そこで読み取ることができる。宛先サーバ140は再起動されることができ、自動構成ファイルはサーバへのアプリケーションのインストールを進めることができる。
【0060】
エージェントレスプロビジョナ200は、アプリケーションのインストールを監視する。これはステップ360に示されている。エージェントレスプロビジョナ200は、帯域外シリアル端末を介して宛先サーバ140を監視し続けることができる。端末の出力は解析され、エージェントレスプロビジョナ200は、いつ行動する必要があるかを決定することができる。出力には、インストールされるアプリケーションに固有の自動インストールプロパティを含めることができる。例えば、ベンダー固有のエラーメッセージが発生することがあり、このエラーメッセージは翻訳コンポーネント240によって翻訳されることができる。エラーメッセージに基づいて、エージェントレスプロビジョナ200は、エラーを修正するために必要なステップをとることができる。これには、例えば、インストールファイルの再送信、宛先サーバ140が正しく構成されていることを確認するための前のステップへの差し戻しなどが含まれる場合がある。
【0061】
ここで図4を参照すると、本開示の実施形態による、本明細書に記載される方法、ツール、およびモジュール、ならびに任意の関連する機能のうちの1または複数を実装する際に(例えば、コンピュータの1または複数のプロセッサ回路またはコンピュータプロセッサを使用して)使用され得る例示的なコンピュータシステム400(例えば、エージェントレスプロビジョナ200)のハイレベルブロック図が示されている。いくつかの実施形態では、コンピュータシステム400の主要構成要素は、1または複数のプロセッサ402、メモリ404、端末インタフェース412、I/O(入力/出力)デバイスインタフェース414、ストレージインタフェース416、およびネットワークインタフェース418を含む場合があり、これらのすべては、メモリバス403、I/Oバス408、およびI/Oバスインタフェース410を介して、直接または間接的に、構成要素間通信のために通信可能に結合されることがある。
【0062】
コンピュータシステム400は、1または複数の汎用プログラマブル中央処理装置(CPU)402-1、402-2、402-3、および402-Nを含むことができ、本明細書では一般的にプロセッサ402と呼ぶ。いくつかの実施形態では、コンピュータシステム400は、比較的大規模なシステムに典型的な複数のプロセッサを含んでもよいが、他の実施形態では、コンピュータシステム400は、代替的に単一のCPUシステムであってもよい。各プロセッサ402は、メモリ404に記憶された命令を実行することができ、1または複数のレベルのオンボードキャッシュを含むことができる。
【0063】
メモリ404は、ランダムアクセスメモリ(RAM)422またはキャッシュメモリ424などの揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピュータシステム400は、他の取り外し可能/取り外し不可能な、揮発性/不揮発性のコンピュータシステム記憶媒体をさらに含むことができる。一例として、記憶システム426は、「ハードドライブ」などの取り外し不可能な不揮発性磁気媒体からの読み出しおよびそれへの書き込みのために提供され得る。図示しないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピーディスク」)からの読み出しおよび書き込みのための磁気ディスクドライブ、またはCD-ROM、DVD-ROMもしくは他の光学媒体などの取り外し可能な不揮発性光ディスクからの読み出しまたは書き込みのための光ディスクドライブを設けることができる。さらに、メモリ404は、フラッシュメモリ(例えば、フラッシュメモリスティックドライブまたはフラッシュドライブ)を含むことができる。メモリデバイスは、1または複数のデータ媒体インタフェースによってメモリバス403に接続することができる。メモリ404は、様々な実施形態の機能を実行するように構成されたプログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
【0064】
メモリバス403は、プロセッサ402、メモリ404、およびI/Oバスインタフェース410の間の直接通信経路を提供する単一のバス構造として図4に示されているが、メモリバス403は、いくつかの実施形態では、複数の異なるバスまたは通信経路を含んでもよく、これらのバスまたは通信経路は、階層構成、スター構成、またはウェブ構成におけるポイント・ツー・ポイント・リンク、複数の階層バス、並列および冗長経路、または任意の他の適切なタイプの構成など、さまざまな形態のいずれかで配置されてもよい。さらに、I/Oバスインタフェース410およびI/Oバス408は、単一のそれぞれのユニットとして示されているが、コンピュータシステム400は、いくつかの実施形態では、複数のI/Oバスインタフェースユニット、複数のI/Oバス、またはその両方を含むことができる。さらに、複数のI/Oインタフェースユニットが示されており、I/Oバス408を様々なI/Oデバイスに走る様々な通信経路から分離しているが、他の実施形態では、I/Oデバイスの一部または全部を1または複数のシステムI/Oバスに直接接続してもよい。
【0065】
いくつかの実施形態では、コンピュータシステム400は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、またはサーバコンピュータもしくは直接のユーザインタフェースをほとんどまたは全く持たないが他のコンピュータシステム(クライアント)からの要求を受信する同様のデバイスであってもよい。さらに、いくつかの実施形態では、コンピュータシステム400は、デスクトップコンピュータ、ポータブルコンピュータ、ラップトップまたはノートブックコンピュータ、タブレットコンピュータ、ポケットコンピュータ、電話機、スマートフォン、ネットワークスイッチまたはルータ、または任意の他の適切なタイプの電子デバイスとして実装されてもよい。
【0066】
図4は、例示的なコンピュータシステム400の主要な代表的構成要素を描写することを意図していることに留意されたい。しかしながら、いくつかの実施形態では、個々の構成要素は、図4に表されているものよりも複雑さが大きくても小さくてもよく、図4に示されている構成要素以外の構成要素または図4に示されている構成要素に加えて構成要素が存在してもよく、そのような構成要素の数、タイプ、および構成は変化してもよい。
【0067】
それぞれが少なくとも1組のプログラムモジュール430(例えば、エージェントレスプロビジョナ200)を有する1または複数のプログラム/ユーティリティ428が、メモリ404に記憶される場合がある。プログラム/ユーティリティ428は、ハイパーバイザー(仮想マシンモニターとも呼ばれる)、1または複数のオペレーティングシステム、1または複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータを含み得る。オペレーティングシステム、1または複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータの各々、またはそれらのいくつかの組み合わせは、ネットワーク環境の実装を含み得る。プログラム428もしくはプログラムモジュール430またはその両方は、一般に、様々な実施形態の機能または方法論を実行する。
【0068】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載した教示の実装形態はクラウドコンピューティング環境に限定されない。むしろ、本開示の実施形態は、現在公知のまたは将来開発される他の任意の種類のコンピュータ環境と共に実施することができる。
【0069】
クラウドコンピューティングは、設定可能なコンピューティングリソースの共有プール(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)へ、簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、リソースは、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの実装モデルを含むことがある。
【0070】
特性は以下の通りである。
【0071】
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
【0072】
ブロード・ネットワークアクセス:コンピューティング能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、P.D.A.)による利用が促進される。
【0073】
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
【0074】
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
【0075】
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザアカウント)に適したある程度の抽象化レベルでの測定機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
【0076】
サービスモデルは以下の通りである。
【0077】
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインタフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。ただし、ユーザ固有の限られたアプリケーション構成の設定はその限りではない。
【0078】
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
【0079】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含み得る任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備することである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
【0080】
展開モデルは以下の通りである。
【0081】
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0082】
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0083】
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
【0084】
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
【0085】
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0086】
図5を参照すると、例示的なクラウドコンピューティング環境500が示されている。図示するように、クラウドコンピューティング環境500は1つまたは複数のクラウドコンピューティングノード510を含む。これらに対して、クラウド消費者が使用するローカルコンピュータ装置(例えば、パーソナルデジタルアシスタント(P.D.A.)もしくは携帯電話520-1、デスクトップコンピュータ520-2、ラップトップコンピュータ520-3、もしくは自動車コンピュータシステム520-4またはこれらの組み合わせなど)は通信を行うことができる。ノード510は互いに通信することができる。ノード510は、例えば、上述のプライベート、コミュニティ、パブリックもしくはハイブリッドクラウドまたはこれらの組み合わせなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化(不図示)することができる。これにより、クラウドコンピューティング環境500は、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせを提供することができ、クラウド消費者はこれらについて、ローカルコンピュータ装置上にリソースを維持する必要がない。なお、図5に示すコンピュータ装置520-1~520-4の種類は例示に過ぎず、コンピューティングノード510およびクラウドコンピューティング環境500は、任意の種類のネットワークもしくはネットワークアドレス指定可能接続(例えば、ウェブブラウザの使用)またはその両方を介して、任意の種類の電子装置と通信可能であることを理解されたい。
【0087】
図6を参照すると、クラウドコンピューティング環境500(図5)によって提供される機能的抽象化モデルレイヤのセット600が示されている。なお、図6に示すコンポーネント、レイヤおよび機能は例示に過ぎず、本開示の実施形態はこれらに限定されないことをあらかじめ理解されたい。図示するように、以下のレイヤおよび対応する機能が提供される。
【0088】
ハードウェアおよびソフトウェアレイヤ610は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム611、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ612、サーバ613、ブレードサーバ614、記憶装置615、ならびにネットワークおよびネットワークコンポーネント616が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア617およびデータベースソフトウェア618を含む。
【0089】
仮想化レイヤ620は、抽象化レイヤを提供する。当該レイヤから、例えば以下の仮想エンティティを提供することができる:仮想サーバ621、仮想ストレージ622、仮想プライベートネットワークを含む仮想ネットワーク623、仮想アプリケーションおよびオペレーティングシステム624、ならびに仮想クライアント625。
【0090】
一例として、管理レイヤ630は以下の機能を提供することができる。リソース準備631は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定632は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウドコンシューマおよびタスクの識別確認を可能にする。ユーザポータル633は、コンシューマおよびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理634は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(S.L.A.)の計画および履行635は、S.L.A.に従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
【0091】
ワークロードレイヤ640は、クラウドコンピューティング環境が利用可能な機能の例を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション641、ソフトウェア開発およびライフサイクル管理642(例えば、エージェントレスプロビジョナ200)、仮想教室教育の配信643、データ分析処理644、取引処理645、ならびに、精密コーホート分析646が含まれる。
【0092】
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
【0093】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
【0094】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置に、または、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくはワイヤレスネットワークまたはその組み合わせ)を介して外部コンピュータまたは外部記憶装置にダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバまたはその組み合わせで構成される。各コンピューティング/処理装置のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0095】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、統合回路のための構成データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語と「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバ上で実行可能である。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(例えば、インターネットサービスプロバイダーを使用したインターネット経由で)外部コンピュータに接続されてよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0096】
本開示の態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書に記載されている。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0097】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/動作を実装するための手段を生成するように、機械を生成するためにコンピュータのプロセッサまたは他のプログラム可能なデータ処理装置に提供されることができる。これらのコンピュータ可読プログラム命令はまた、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実装する命令を含む生成品の1つを命令が記憶されたコンピュータ可読記憶媒体が構成するように、コンピュータ、プログラム可能なデータ処理装置、もしくは特定の方法で機能する他のデバイスまたはその組み合わせに接続可能なコンピュータ可読記憶媒体の中に記憶されることができる。
【0098】
コンピュータ、他のプログラム可能な装置、または他のデバイス上でフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為を実行する命令のように、コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の操作ステップを実行し、コンピュータ実装された過程を生成することができる。
【0099】
図中のフローチャートおよびブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品が実行可能な実装の構成、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、モジュール、セグメント、または命令の一部を表してよく、これは、指定された論理機能を実装するための1つまたは複数の実行可能命令を構成する。いくつかの代替の実施形態では、ブロックに示されている機能は、図に示されている順序とは異なる場合がある。例えば、連続して示される2つのブロックは、実際には、1つのステップとして達成される場合があり、同時に、実質的に同時に、部分的または全体的に時間的に重複する方法で実行されるか、またはブロックは、関係する機能に応じて逆の順序で実行される場合がある。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能または動作を実行する、または特別な目的のハードウェアとコンピュータ命令の組み合わせを実行する特別な目的のハードウェアベースのシステムによって実装できることにも留意されたい。
【0100】
本明細書で用いる用語は、特定の実施形態を説明するためのものに過ぎず、様々な実施形態を限定することを意図したものではない。本明細書において、単数形「ある/1つの/一の(a)」、「ある/1つの/一の(an)」および「その/当該(the)」は、文脈からそうではないことが明らかでない限り、複数形を含むことを意図している。本明細書において、「含む(includes)」もしくは「含む(inducing)」またはその両方の用語は、記載された特徴、整数、工程、動作、要素もしくはコンポーネントまたはこれらの組み合わせの存在を特定するものであるが、1つ以上の他の特徴、整数、工程、動作、要素、コンポーネントもしくはそれらのグループまたはこれらの組み合わせが存在したり、追加されたりすることを排除するものではない。様々な実施形態の例示的な実施形態に関するこれまでの詳細な説明では、本明細書の一部を構成し、様々な実施形態が実施され得る具体的な例示的な実施形態が図示の方法で示されている添付の図面(ここで、同様の番号は同様の要素を表す)を参照した。これらの実施形態は、当業者が実施形態を実施することができるように十分に詳細に説明したが、他の実施形態を用いてもよく、様々な実施形態の範囲から逸脱することなく、論理的、機械的、電気的、および他の変更を加えてもよい。これまでの説明では、様々な実施形態を十分に理解できるように、多数の具体的な詳細を示した。しかし、様々な実施形態は、これらの具体的な詳細なしに実施されてもよい。他の例では、実施形態を不明瞭にしないために、周知の回路、構造、および技術は詳細に示されていない。
【0101】
異なる参照番号が、共通の番号の後に異なる文字(例えば、100a、100b、100c)、または句読点の後に異なる番号(例えば、100-1、100-2、または100.1、100.2)を伴って構成される場合、文字またはそれに続く番号(例えば、100)を伴わない参照文字のみの使用は、全体としての要素グループ、グループの任意のサブセット、またはグループの例示的な標本を指す場合がある。
【0102】
さらに、「少なくとも1つの」という語句は、項目のリストとともに使用される場合、リストされた項目の1または複数の異なる組み合わせが使用され得ることを意味し、リスト内の各項目の1つだけが必要とされ得る。言い換えれば、「少なくとも1つ」とは、リストから任意の項目の組み合わせと項目の数を使用することができるが、リスト内のすべての項目が必要なわけではないことを意味する。項目は、特定のモノ、コト、カテゴリーのいずれでもよい。
【0103】
例えば、限定するものではないが、「項目A、項目B、または項目Cの少なくとも1つ」は、項目A、項目Aおよび項目B、または項目Bを含むことができる。この例には、項目A、項目B、項目C、または項目Bと項目Cも含まれる。もちろん、これらの項目の任意の組み合わせが存在し得る。いくつかの例示的な例では、「少なくとも1つ」は、例えば、限定するものではないが、項目Aのうちの2つ、項目Bのうちの1つ、および項目Cのうちの10つ、項目Bのうちの4つおよび項目Cのうちの7つ、または他の適切な組み合わせであり得る。
【0104】
本明細書内で使用される「実施形態(embodiment)」という語の異なる用例は、必ずしも同じ実施形態を指すとは限らないが、その可能性はある。本明細書で図示または説明するデータおよびデータ構造はすべて例示であり、他の実施形態では、異なるデータ量、データのタイプ、フィールド、フィールドの数およびタイプ、フィールド名、行の数およびタイプ、レコード、エントリ、またはデータの組織を使用してもよい。さらに、どのようなデータもロジックと組み合わせることができるため、別個のデータ構造が必要ない場合もある。従って、先の詳細な説明は、限定的な意味で捉えられるものではない。
【0105】
本開示の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることを意図するものではなく、開示される実施形態に限定されることを意図するものでもない。記載される実施形態の範囲から逸脱することなく、多くの修正および変更が可能であることは当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を最もよく説明するため、または当業者が本明細書に開示される実施形態を理解できるようにするために選択された。
【0106】
本開示は、特定の実施形態の観点から説明されてきたが、その変更および修正が当業者に明らかになることが予想される。従って、以下の特許請求の範囲は、本開示の範囲内に入るような全ての変更および修正をカバーするものとして解釈されることが意図される。
【0107】
本開示の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることを意図するものではなく、開示される実施形態に限定されることを意図するものでもない。記載される実施形態の範囲から逸脱することなく、多くの修正および変更が可能であることは当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を最もよく説明するため、または当業者が本明細書に開示される実施形態を理解できるようにするために選択された。
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-01-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
サーバのプロビジョニングおよびデプロイメントのコンピュータ実装方法であって、前記コンピュータ実装方法は、
プロビジョナによって、サーバのデプロイメント構成を受信することであって、前記デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、前記サーバの構成とを含む、受信することと、
前記デプロイメント構成に基づいて、前記サーバ上の帯域外管理カードを介して、前記サーバ上のハードウェアを再構成することと、
オペレーティングシステムと前記アプリケーションのインストールのためのファイルを含むブートローダを前記サーバにプッシュすることと、
前記ブートローダを介して前記オペレーティングシステムを前記サーバにインストールすることと、
自動構成ファイルを前記サーバに送信することであって、前記自動構成ファイルは、前記アプリケーションに関するインストールプロパティを提供する、送信することと、
前記サーバ上のシリアル端末出力を使用して、前記アプリケーションの前記インストール中に前記サーバの状態を監視することと、
を含む、コンピュータ実装方法。
【請求項2】
前記サーバ上の前記ハードウェアを再構成することは、
前記サーバ上の少なくとも1つの利用可能なネットワークインタフェースカード(NIC)上でプリブート実行環境(PXE)を起動するために、帯域外端末を介して前記サーバを構成することと、
前記サーバ上のシリアル端末の端末速度を同期させることと、
前記構成を完了するために前記サーバを再起動することと、
前記サーバからダイナミックホストコンフィギュレーションプロトコル(DHCP)のオファーパケットを受信することと、
前記サーバにインターネットプロトコル(IP)アドレスを提供し、前記サーバに関連するメディアアクセス制御(MAC)アドレスを通知することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記ブートローダをプッシュすることは、
ブートローダ構成ファイルを生成することであって、前記ブートローダ構成ファイルは、前記デプロイメント構成に基づく前記ブートローダのインストールオプションおよびソースソフトウェアバージョンを含む、生成することと、
前記ブートローダのソースファイルを含むファイル転送サーバへのリンクを含む確認応答パケットを前記サーバに送信することと、
前記ソースファイルおよび前記ブートローダ構成ファイルを、前記ファイル転送サーバへの前記リンクを介してインストールのために前記サーバに送信することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記オペレーティングシステムをインストールすることは、
前記サーバから前記オペレーティングシステムに関連するファイルの要求を受信することと、
前記ファイルを前記サーバに送信することであって、前記ファイルは、前記アプリケーションのオプションのフルセットと、前記オペレーティングシステムに関連する追加ファイルのコールバックリンクとを含む、送信することと、
前記サーバ上のストレージディスクを少なくともプライマリパーティションとリカバリパーティションにパーティショニングすることと、
前記ストレージディスクの前記プライマリパーティションに前記オペレーティングシステムの前記インストールを実行することと、
前記ストレージディスクの前記リカバリパーティションにリカバリファイルをインストールすることと、
前記リカバリファイルを介して残りの前記インストールをオフラインで実行できるようにするために、追加ファイルを前記サーバにインストールすることと、
記オペレーティングシステムのインストールを監視するために、前記サーバによって生成された情報を分析することと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記サーバとの通信は、セキュアシェル(SSH)トンネルを介して行われる、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記プロビジョナは、前記サーバを構成し前記アプリケーションをインストールする間に、前記サーバによって提供されるベンダ固有コマンドを翻訳するように構成される、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記プロビジョナはエージェントレスである、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記プロビジョナは、前記サーバに関連するマッピングされた汎用一意識別子(UUID)に基づいてスケーリングする、請求項1に記載のコンピュータ実装方法。
【請求項9】
サーバのプロビジョニングおよびデプロイメントのためのコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、コンピュータ実行可能命令を有し、前記コンピュータ実行可能命令は、少なくとも1つのコンピュータによって実行されたときに、前記少なくとも1つのコンピュータに、
サーバのデプロイメント構成を受信することであって、前記デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、前記サーバの構成とを含む、受信することと、
前記デプロイメント構成に基づいて、前記サーバ上の帯域外管理カードを介して、前記サーバ上のハードウェアを再構成することと、
オペレーティングシステムと前記アプリケーションのインストールのためのファイルを含むブートローダを前記サーバにプッシュすることと、
前記ブートローダを介して前記オペレーティングシステムを前記サーバにインストールすることと、
自動構成ファイルを前記サーバに送信することであって、前記自動構成ファイルは、前記アプリケーションに関するインストールプロパティを提供する、送信することと、
シリアル端末出力を使用して、前記アプリケーションの前記インストール中に前記サーバの状態を監視することと、
を行う命令を実行させる、コンピュータプログラム製品。
【請求項10】
前記サーバ上の前記ハードウェアを再構成することは、
前記サーバ上の少なくとも1つの利用可能なネットワークインタフェースカード(NIC)上でプリブート実行環境(PXE)を起動するために、帯域外端末を介して前記サーバを構成することと、
前記サーバ上のシリアル端末の端末速度を同期させることと、
前記構成を完了するために前記サーバを再起動することと、
前記サーバからダイナミックホストコンフィギュレーションプロトコル(DHCP)のオファーパケットを受信することと、
前記サーバにインターネットプロトコル(IP)アドレスを提供し、前記サーバに関連するメディアアクセス制御(MAC)アドレスを通知することと、
を実行する命令を含む、請求項に記載のコンピュータプログラム製品。
【請求項11】
前記ブートローダをプッシュすることは、
ブートローダ構成ファイルを生成することであって、前記ブートローダ構成ファイルは、前記デプロイメント構成に基づく前記ブートローダのインストールオプションおよびソースソフトウェアバージョンを含む、生成することと、
前記ブートローダのソースファイルを含むファイル転送サーバへのリンクを含む確認応答パケットを前記サーバに送信することと、
前記ソースファイルおよび前記ブートローダ構成ファイルを、前記ファイル転送サーバへの前記リンクを介してインストールのために前記サーバに送信することと、
を実行する命令を含む、請求項に記載のコンピュータプログラム製品。
【請求項12】
前記オペレーティングシステムをインストールすることは、
前記サーバから前記オペレーティングシステムに関連するファイルの要求を受信することと、
前記ファイルを前記サーバに送信することであって、前記ファイルは、前記アプリケーションのオプションのフルセットと、前記オペレーティングシステムに関連する追加ファイルのコールバックリンクとを含む、送信することと、
前記サーバ上のストレージディスクを少なくともプライマリパーティションとリカバリパーティションにパーティショニングすることと、
前記ストレージディスクの前記プライマリパーティションに前記オペレーティングシステムの前記インストールを実行することと、
前記ストレージディスクの前記リカバリパーティションにリカバリファイルをインストールすることと、
前記リカバリファイルを介して残りの前記インストールをオフラインで実行できるようにするために、追加ファイルを前記サーバにインストールすることと、
記オペレーティングシステムのインストールを監視するために、前記サーバによって生成された情報を分析することと、
を実行する命令を含む、請求項に記載のコンピュータプログラム製品。
【請求項13】
前記サーバとの通信は、セキュアシェル(SSH)トンネルを介して行われる、請求項に記載のコンピュータプログラム製品。
【請求項14】
前記プロビジョナは、前記サーバを構成し前記アプリケーションをインストールする間に、前記サーバによって提供されるベンダ固有コマンドを翻訳するように構成される、請求項に記載のコンピュータプログラム製品。
【請求項15】
前記プロビジョナはエージェントレスである、請求項に記載のコンピュータプログラム製品。
【請求項16】
前記プロビジョナは、前記サーバに関連するマッピングされた汎用一意識別子(UUID)に基づいてスケーリングする、請求項に記載のコンピュータプログラム製品。
【請求項17】
セキュリティアラートに対する自動アクションのための脅威類似性分析のシステムであって、前記システムは、
メモリと、
プロセッサと、
コンピュータ実行可能コードを記憶したローカルデータ記憶装置と、を含み、前記コンピュータ実行可能コードは、プロセッサによって実行可能であり前記プロセッサに方法を実行させるプログラム命令を含み、前記方法は、
サーバのデプロイメント構成を受信することであって、前記デプロイメント構成は、要求されたソフトウェアビルドと、要求されたアプリケーションのインストールと、前記サーバの構成とを含む、受信することと、
前記デプロイメント構成に基づいて、前記サーバ上の帯域外管理カードを介して、前記サーバ上のハードウェアを再構成することと、
オペレーティングシステムと前記アプリケーションのインストールのためのファイルを含むブートローダを前記サーバにプッシュすることと、
前記ブートローダを介して前記オペレーティングシステムを前記サーバにインストールすることと、
自動構成ファイルを前記サーバに送信することであって、前記自動構成ファイルは、前記アプリケーションに関するインストールプロパティを提供する、送信することと、
前記サーバ上のシリアル端末出力を使用して、前記アプリケーションの前記インストール中に前記サーバの状態を監視することと、
を含む、システム。
【請求項18】
前記サーバ上の前記ハードウェアを再構成することは、
前記サーバ上の少なくとも1つの利用可能なネットワークインタフェースカード(NIC)上でプリブート実行環境(PXE)を起動するために、帯域外端末を介して前記サーバを構成することと、
前記サーバ上のシリアル端末の端末速度を同期させることと、
前記構成を完了するために前記サーバを再起動することと、
前記サーバからダイナミックホストコンフィギュレーションプロトコル(DHCP)のオファーパケットを受信することと、
前記サーバにインターネットプロトコル(IP)アドレスを提供し、前記サーバに関連するメディアアクセス制御(MAC)アドレスを通知することと、
を含む、請求項17に記載のシステム。
【請求項19】
前記ブートローダをプッシュすることは、
ブートローダ構成ファイルを生成することであって、前記ブートローダ構成ファイルは、前記デプロイメント構成に基づく前記ブートローダのインストールオプションおよびソースソフトウェアバージョンを含む、生成することと、
前記ブートローダのソースファイルを含むファイル転送サーバへのリンクを含む確認応答パケットを前記サーバに送信することと、
前記ソースファイルおよび前記ブートローダ構成ファイルを、前記ファイル転送サーバへの前記リンクを介してインストールのために前記サーバに送信することと、
を含む、請求項17に記載のシステム。
【請求項20】
前記オペレーティングシステムをインストールすることは、
前記サーバから前記オペレーティングシステムに関連するファイルの要求を受信することと、
前記ファイルを前記サーバに送信することであって、前記ファイルは、前記アプリケーションのオプションのフルセットと、前記オペレーティングシステムに関連する追加ファイルのコールバックリンクとを含む、送信することと、
前記サーバ上のストレージディスクを少なくともプライマリパーティションとリカバリパーティションにパーティショニングすることと、
前記ストレージディスクの前記プライマリパーティションに前記オペレーティングシステムの前記インストールを実行することと、
前記ストレージディスクの前記リカバリパーティションにリカバリファイルをインストールすることと、
前記リカバリファイルを介して残りの前記インストールをオフラインで実行できるようにするために、追加ファイルを前記サーバにインストールすることと、
記オペレーティングシステムのインストールを監視するために、前記サーバによって生成された情報を分析することと、
を含む、請求項17に記載のシステム。
【国際調査報告】