(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-26
(54)【発明の名称】サーバにアプリケーションを展開をサポートする方法、サーバ装置、プログラム
(51)【国際特許分類】
G06F 8/60 20180101AFI20240719BHJP
【FI】
G06F8/60
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024500544
(86)(22)【出願日】2022-07-08
(85)【翻訳文提出日】2024-01-09
(86)【国際出願番号】 IB2022056324
(87)【国際公開番号】W WO2023002294
(87)【国際公開日】2023-01-26
(32)【優先日】2021-07-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】リーブ、ジョン、アンソニー
(72)【発明者】
【氏名】クリンガー、ドイナ、リリアナ
(72)【発明者】
【氏名】シン、チェンシュアン
(72)【発明者】
【氏名】ソール、トム
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376DA11
5B376FA17
(57)【要約】
サーバに展開されるアプリケーションに利用可能な構成のセットを有するサーバへのアプリケーションの展開をサポートする方法を提供する。アプリケーションによって必要とされる構成毎に、サーバで利用可能な構成にマッチさせる方法であって、マッチする複数の候補がある場合、1つが選択され、マッチがないときエラー・メッセージが生成される。次に各選択済みの構成を検査して、これ自体がさらなる構成を必要とする選択済みの構成に含まれるいずれかの参照を識別するために反復される。そして参照に続くことになる検査およびマッチングの反復は、マッチング、またはマッチングの失敗および結果的に生じるエラー・メッセージ生成のいずれかによって、全てのこのような参照が尽きるまで続けられる。最後に、選択済みの構成と、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合のエラー・メッセージとを指定する、構成レポートを出力する。
【特許請求の範囲】
【請求項1】
サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供された前記サーバへのアプリケーションの展開をサポートするためのコンピュータ自動化方法であって、前記方法が、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示する1つまたは複数のエラー・メッセージを生成することと、
前記アプリケーションによって必要とされるような選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記1つまたは複数のエラー・メッセージを指定する、構成レポートを出力することと
を含む、コンピュータ自動化方法。
【請求項2】
全ての必要な構成が、利用可能な構成にマッチングされた場合、前記方法が、
前記構成レポートに基づいて前記アプリケーションを実行するように前記サーバを構成することと、
前記サーバに前記アプリケーションを展開することと
をさらに含む、請求項1に記載のコンピュータ自動化方法。
【請求項3】
必要な構成が、ただ1つの利用可能な構成にマッチングされたとき、前記構成を選択し、必要な構成が、選択のためのそれぞれの適切な候補を提供する複数の利用可能な構成にマッチングされたとき、ユーザ・インターフェースを介して前記適切な候補の中から選択するようにユーザを促す、請求項1に記載のコンピュータ自動化方法。
【請求項4】
前記アプリケーションが、少なくとも1つのアーチファクトを含み、前記マッチング、検査、実施、および反復が、各アーチファクトに対して別々に実施される、請求項1に記載のコンピュータ自動化方法。
【請求項5】
前記少なくとも1つのアーチファクトが、少なくとも1つのプロセス・フロー・アーチファクトを含む、請求項4に記載のコンピュータ自動化方法。
【請求項6】
前記サーバが、複数の処理ノードを備え、各処理ノードが、少なくとも1つの構成のための要件に関連付けられ、各プロセス・フロー・アーチファクトが、前記アプリケーションが前記処理ノードをどのように横断するかという観点で前記アプリケーションのプロセス・フローを定義する、請求項5に記載のコンピュータ自動化方法。
【請求項7】
前記構成が、タイプ毎に分類され、構成の前記マッチングが、タイプのマッチングを必要とする、請求項1に記載のコンピュータ自動化方法。
【請求項8】
構成の前記セットが、選択された構成によって満たされることになる条件を定義する制約のセットに関連付けられ、前記方法が、前記選択された構成が前記制約を満たすかどうかをチェックすることをさらに含む、請求項1に記載のコンピュータ自動化方法。
【請求項9】
コンピュータ可読媒体に格納され、ソフトウェア・コード部分を有するコンピューティング・デバイスの内部メモリにロード可能な、コンピュータ・プログラムであって、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供された前記サーバへのアプリケーションの展開をサポートするためのコンピュータ自動化方法を実施するために前記プログラムがコンピューティング・デバイスで実行されるとき、前記方法が、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成することと、
前記アプリケーションによって必要とされるような選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記エラー・メッセージを指定する、構成レポートを出力することと
を含む、コンピュータ・プログラム。
【請求項10】
サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供された前記サーバへのアプリケーションの展開をサポートするためのコンピュータ自動化方法であって、前記方法が、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、1つまたは複数の必要な欠落した構成を生成することと、
前記1つまたは複数の欠落した構成で前記アプリケーションをアップデートすることと、
前記アプリケーションによって必要とされるような選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記1つまたは複数の生成された構成を指定する、構成レポートを出力することと
を含む、コンピュータ自動化方法。
【請求項11】
全ての必要な構成が、利用可能な構成にマッチングされた場合、前記方法が、
前記構成レポートに基づいて前記アプリケーションを実行するように前記サーバを構成することと、
前記サーバに前記アプリケーションを展開することと
をさらに含む、請求項10に記載のコンピュータ自動化方法。
【請求項12】
必要な構成が、ただ1つの利用可能な構成にマッチングされたとき、前記構成を選択し、必要な構成が、選択のためのそれぞれの適切な候補を提供する複数の利用可能な構成にマッチングされたとき、ユーザ・インターフェースを介して前記適切な候補の中から選択するようにユーザを促す、請求項10に記載のコンピュータ自動化方法。
【請求項13】
前記アプリケーションが、少なくとも1つのアーチファクトを含み、前記マッチング、検査、実施、および反復が、各アーチファクトに対して別々に実施される、請求項10に記載のコンピュータ自動化方法。
【請求項14】
前記少なくとも1つのアーチファクトが、少なくとも1つのプロセス・フロー・アーチファクトを含む、請求項13に記載のコンピュータ自動化方法。
【請求項15】
コンピューティング・デバイスで実行されるとき、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供された前記サーバへのアプリケーションの展開をサポートするための方法を前記コンピューティング・デバイスに実施させるソフトウェア・コード部分を有するコンピュータ・プログラムを格納するコンピュータ・プログラム製品であって、前記方法が、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成することと、
前記アプリケーションによって必要とされるような選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記エラー・メッセージを指定する、構成レポートを出力することと
を含む、コンピュータ・プログラム製品。
【請求項16】
全ての必要な構成が、利用可能な構成にマッチングされた場合、前記方法が、
前記構成レポートに基づいて前記アプリケーションを実行するように前記サーバを構成することと、
前記サーバに前記アプリケーションを展開することと
をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
必要な構成が、ただ1つの利用可能な構成にマッチングされたとき、前記構成を選択し、必要な構成が、選択のためのそれぞれの適切な候補を提供する複数の利用可能な構成にマッチングされたとき、ユーザ・インターフェースを介して前記適切な候補の中から選択するようにユーザを促す、請求項15に記載のコンピュータ・プログラム製品。
【請求項18】
サーバ装置であって、前記サーバ装置に展開されるアプリケーションによる使用のために利用可能な構成のセットと、
アプリケーション構成ツールであって、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成することと、
前記アプリケーションによって必要とされるような選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記エラー・メッセージを指定する、構成レポートを出力することと
によって、前記サーバ装置へのアプリケーションの展開をサポートするように動作可能な前記アプリケーション構成ツールとが提供された、サーバ装置。
【請求項19】
全ての必要な構成が、利用可能な構成にマッチングされた場合、前記アプリケーション構成ツールが、
前記構成レポートに基づいて前記アプリケーションを実行するように前記サーバ装置を構成することと、
前記サーバ装置に前記アプリケーションを展開することと
を行うようにさらに動作可能である、請求項18に記載のサーバ装置。
【請求項20】
必要な構成が、ただ1つの利用可能な構成にマッチングされたとき、前記アプリケーション構成ツールが、前記構成を選択するようにさらに動作可能であり、必要な構成が、選択のためのそれぞれの適切な候補を提供する複数の利用可能な構成にマッチングされたとき、ユーザ・インターフェースを介して前記適切な候補の中から選択するようにユーザを促す、請求項18に記載のサーバ装置。
【請求項21】
前記アプリケーションが、少なくとも1つのアーチファクトを含み、前記マッチング、検査、実施、および反復が、各アーチファクトに対して別々に実施される、請求項18に記載のサーバ装置。
【請求項22】
前記少なくとも1つのアーチファクトが、少なくとも1つのプロセス・フロー・アーチファクトを含む、請求項21に記載のサーバ装置。
【請求項23】
前記サーバ装置が、複数の処理ノードを備え、各処理ノードが、少なくとも1つの構成のための要件に関連付けられ、各プロセス・フロー・アーチファクトが、前記アプリケーションが前記処理ノードをどのように横断するかという観点で前記アプリケーションのプロセス・フローを定義する、請求項22に記載のサーバ装置。
【請求項24】
前記構成が、タイプ毎に分類され、構成の前記マッチングが、タイプのマッチングを必要とする、請求項18に記載のサーバ装置。
【請求項25】
構成の前記セットが、選択された構成によって満たされることになる条件を定義する制約のセットに関連付けられ、前記アプリケーション構成ツールが、前記選択された構成が前記制約を満たすかどうかをチェックするようにさらに動作可能である、請求項18に記載のサーバ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、アプリケーションの展開用のサーバの構成をサポートするためのコンピュータ・プログラム、コンピュータ・プログラム製品、およびコンピュータ実行方法に関する。
【背景技術】
【0002】
サーバへの展開用アプリケーションを準備するために、適切な構成オブジェクトを選択することによってサーバを構成することが必要である。選択は、1つまたは複数のプロセス・フロー・アーチファクトによって定義されるような、アプリケーションのプロセス・フローを考慮する必要がある。一部のケースでは、アプリケーションは、1つまたは複数のプロセス・フロー・アーチファクトによって排他的に定義されてもよい。他のケースでは、追加として、アプリケーションを定義するために使用される他の種類のアーチファクトがあってもよい。
【0003】
構成オブジェクトの支援を受けてアプリケーションを展開することは、エンタープライズ・サービス・バス(ESB:enterprise service bus)など、分散型ネットワーク・アーキテクチャにおける重要なアプローチである。分散型ネットワーク・アーキテクチャでは、多くのアプリケーションが、複数のハードウェアおよびソフトウェア・プラットフォームにまたがって複雑に相互依存しながら展開されることがあり、その結果、任意の所与のアプリケーションが、必要に応じてサーバの役割またはクライアントの役割をとる可能性があり、これにより、クライアント-サーバ関係の柔軟なウェブを作り出す。ESBアプリケーションには、典型的には、多くの構成タイプがある。所与の分散型コンピュータ・システムでは、任意の所与の構成タイプの複数の構成オブジェクトがあってもよく、例えば、同じタイプの異なるオブジェクトが、異なる環境(例えば、開発、テスト、複製、生産)に提供されてもよい。
【0004】
構成オブジェクトは、所与の構成タイプのインスタンスである。一部の構成タイプは、標準的なものでもよく、その一方で、他の構成タイプは、ベンダ固有のものでもよい。構成オブジェクトの数は、100以上あり得る。構成タイプの数は、より多くの機能が追加されるにつれて、経時的に増大する傾向もある。構成オブジェクトの例は、サード・パーティのコネクタ・アカウント、トラスト・ストア(例えば、公開鍵などのデジタル証明のリポジトリ)への接続、および、オープン・データベース・コネクティビティ(ODBC)の細目またはサーバ・ポリシに関するものである。構成オブジェクトには、記述子がある。例えば、アプリケーションのフロー・アーチファクトは、アプリケーションが成功裏に実行することが必要な環境を指定する記述子を含んでもよい。
【0005】
特定のサーバへの展開用のアプリケーションを構成するために、ユーザには典型的に、構成タイプ毎に利用可能な構成オブジェクトのリストが示され、構成オブジェクトのこれらのタイプ固有のリストからの適切な選択をどのように行うべきかについて、いくつかのガイダンスが示される。
【発明の概要】
【0006】
本発明の実施形態によれば、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供されたサーバへのアプリケーションの展開をサポートするためのコンピュータ自動化方法であって、方法が、アプリケーションによって必要とされる構成を、構成のセット内の利用可能な構成とマッチングさせることであって、構成のセット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、マッチングさせることと、各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各選択済みの必要な構成を検査することと、各前記さらなる構成についてマッチングを再び実施することと、必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、参照に続くことになる検査およびマッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成することと、アプリケーションによって必要とされるような選択済みの利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合のエラー・メッセージを指定する、構成レポートを出力することとを含む、コンピュータ自動化方法。
【0007】
本発明の実施形態によれば、コンピュータ可読媒体に格納され、ソフトウェア・コード部分を有するコンピューティング・デバイスの内部メモリにロード可能な、コンピュータ・プログラムであって、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供されたサーバへのアプリケーションの展開をサポートするためのコンピュータ自動化方法を実施するために前記プログラムがコンピューティング・デバイスで実行されるとき、方法が、アプリケーションによって必要とされる構成を、構成のセット内の利用可能な構成とマッチングさせることであって、構成のセット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、マッチングさせることと、各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各選択済みの必要な構成を検査することと、各前記さらなる構成についてマッチングを再び実施することと、必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、参照に続くことになる検査およびマッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成することと、アプリケーションによって必要とされるような選択済みの利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合のエラー・メッセージを指定する、構成レポートを出力することとを含む、コンピュータ・プログラム。
【0008】
本発明の実施形態によれば、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供されたサーバへのアプリケーションの展開をサポートするためのコンピュータ自動化方法であって、方法が、アプリケーションによって必要とされる構成を、構成のセット内の利用可能な構成とマッチングさせることであって、構成のセット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、マッチングさせることと、各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各選択済みの必要な構成を検査することと、各前記さらなる構成についてマッチングを再び実施することと、必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、参照に続くことになる検査およびマッチングを反復すること、ならびに、1つまたは複数の必要な欠落した構成を生成することと、1つまたは複数の欠落した構成でアプリケーションをアップデートすることと、アプリケーションによって必要とされるような選択済みの利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の1つまたは複数の生成された構成を指定する、構成レポートを出力することとを含む、コンピュータ自動化方法。
【0009】
本発明の実施形態によれば、コンピューティング・デバイスで実行されるとき、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供されたサーバへのアプリケーションの展開をサポートするための方法をコンピューティング・デバイスに実施させるソフトウェア・コード部分を有するコンピュータ・プログラムを格納するコンピュータ・プログラム製品であって、方法が、アプリケーションによって必要とされる構成を、構成のセット内の利用可能な構成とマッチングさせることであって、構成のセット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、マッチングさせることと、各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各選択済みの必要な構成を検査することと、各前記さらなる構成についてマッチングを再び実施することと、必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、参照に続くことになる検査およびマッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成することと、アプリケーションによって必要とされるような選択済みの利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合のエラー・メッセージを指定する、構成レポートを出力することとを含む、コンピュータ・プログラム製品。
【0010】
本発明の実施形態によれば、サーバ装置であって、サーバ装置に展開されるアプリケーションによる使用のために利用可能な構成のセットと、アプリケーションによって必要とされる構成を、構成のセット内の利用可能な構成とマッチングさせることであって、構成のセット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、マッチングさせること、各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各選択済みの必要な構成を検査すること、各前記さらなる構成についてマッチングを再び実施すること、必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全てのこのような参照が尽きるまで、参照に続くことになる検査およびマッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成すること、ならびにアプリケーションによって必要とされるような選択済みの利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合のエラー・メッセージを指定する、構成レポートを出力することによって、サーバ装置へのアプリケーションの展開をサポートするように動作可能なアプリケーション構成ツールとが提供された、サーバ装置。
【0011】
以下で、本発明は、図に例証された例示的実施形態を参照しながら、ほんの一例としてさらに説明される。
【図面の簡単な説明】
【0012】
【
図1】本開示の1つの実施形態による方法のフロー・チャートである。
【
図2】本開示の実施形態をホスト可能なノードの例のブロック図である。
【
図3】3つのノードのネットワークの例を示す概略図である。
【
図4】本発明の一部の実施形態によるコンピュータ・システムの一部として使用される一般的なコンピュータ・デバイスの図である。
【
図5】本開示の1つの実施形態によるクラウド・コンピュータ・システムの図である。
【
図6】本開示の1つの実施形態による抽象化モデル層の図である。
【発明を実施するための形態】
【0013】
以下の詳細な説明では、説明のために、また限定ではなく、本開示をより良く理解するために具体的詳細が説明される。本開示は、これらの具体的詳細から逸脱した他の実施形態で実践されてもよいことが当業者には明らかであろう。
【0014】
簡潔さのために、プロセス・フロー・アーチファクトをフロー・アーチファクトと呼ぶ。
【0015】
単一のフロー・アーチファクトFでサーバSにアプリケーションAを展開することが望ましい場合の例を考える。フロー・アーチファクトFは、タイプTの構成を必要とするノードNを含む。
【0016】
分析の第1の部分は、展開されることになるアプリケーションの内容、およびその構成オブジェクト要件を調べることが可能である。アプリケーションの内容は、他の構成オブジェクトへの外部参照を含み得るので、特定のサーバにアプリケーションを展開することが必要な全ての構成オブジェクトが、アプリケーションの内容のみから必ずしも推定可能なわけではないことが指摘される。ノードは、アプリケーションの内部でもアプリケーションの外部でもよい、1つまたは複数の他のノードと対話してもよい。外部ノードの例は、(例えば、「Gmail」に)eメールを送るためのノード、および(例えば、セールス・リードを作成する)リモートにホストされた顧客関係管理(CRM)プラットフォームに情報を追加するためのノードである。我々の例では、構成ツールは、フロー・アーチファクトFによって必要とされる構成タイプTの構成オブジェクトを見つけるためにサーバSが利用可能な構成オブジェクトのリストを、分析することができる。複数の候補がある場合、構成ツールは、1つを示唆しても、全ての候補を提示してノードNのための1つを選択するようにユーザを促してもよい。1つの候補しかない場合、構成ツールは、ノードNのためにこの候補を自動で選択することができる。(候補がない場合、適切な構成オブジェクトが利用不可能であることを指示するために、エラー・メッセージが生成可能になる。)選択された構成オブジェクトは、T1とラベル付け可能である。
【0017】
構成ツールは次いで、新たに選択された構成オブジェクトT1を分析することによってさらに続くことが可能である。T1が自己完結型である場合、これは、意図したサーバにアプリケーションA(または、少なくともそのフロー・アーチファクトF)を展開するための完全な構成を構成することが可能であり、フロー・アーチファクトFを構成するためのさらなる反復は必要ない。一方、T1は、適切な構成オブジェクトC1が存在するタイプCの構成を必要とする別のノードPを参照していてもよい。構成ツールは次いで、Aの構成オブジェクト要件の一部として、T1と共にC1を追加することができる。
【0018】
次いで、以前の反復において新たに追加された構成が自己完結型でなく、むしろ、独自の構成オブジェクト要件を有する1つまたは複数の他のノードを参照またはリンクする場合、必要に応じてさらなる反復を実施可能であり、これらの参照は、さらなる構成オブジェクトを追加することによってエラーなく解決可能である。反復のいくつかのポイントにおいて、続くべきリンクはこれ以上なくなり、反復は終わりになることが可能である。
【0019】
構成ツールは次いで、展開されることになるアプリケーションについての構成レポートを出力することができる。レポートは、アプリケーションによって必要とされる選択済みの(すなわち、利用可能な)構成オブジェクト、および、全ての必要な構成オブジェクトが見つかったわけではない場合、どの構成オブジェクトが欠落しているかを指定するエラー・メッセージを指定可能である。任意の所与のアプリケーションに対して、またはより具体的にはそのフロー・アーチファクトに対して、構成レポートは、完全な構成(エラーなし)または不完全な構成(エラー)のどちらかを表すことができる。完全な構成では、構成オブジェクトの完全なセットを定義可能であり、このセットは、例えば分散型ネットワーク環境の仮想化サーバなど、サーバにアプリケーションを展開可能にするのに十分である。不完全な構成では、それぞれの欠落した構成オブジェクトについての情報を提供する1つまたは複数のエラー・メッセージだけでなく、構成オブジェクトの不完全なセットを定義可能であり、この情報は、できるだけ詳細かつ具体的なものであることが好ましい。具体的なエラー・メッセージの例は、以下である。
・「販売員アカウント」を含む「アカウント」というタイプの構成オブジェクトを見つけることができない。
・必要な構成オブジェクトT1が、どの構成オブジェクトにおいても見つけることができない未解決の参照「$secret1」を含む。このオブジェクトのための新たな構成オブジェクトを作成することを考えるか、これを含めるように既存の1つをアップデートする。
【0020】
別の態様では、構成ツールは、アプリケーションが、必要な構成オブジェクトを含んでいるかどうかを決定することができ、いずれかの欠落した構成オブジェクトのために、構成は、アプリケーションに関連付けられた展開に基づいて、構成オブジェクトを生成し、アプリケーション構成をアップデートすることができる。さらに、構成ツールは、それぞれの生成済み構成オブジェクトについての情報を提供する1つまたは複数の通知メッセージを生成することができ、この情報は、できるだけ詳細かつ具体的であることが好ましい。
【0021】
完全な構成が提供されない場合、方法は、サーバにとって利用可能な構成オブジェクトの現在のセットを、利用可能でない必要な構成オブジェクトを列挙したユーザ・エラー・メッセージに入れることができる。
【0022】
図1は、上述の方法の例を示すフロー・チャートである。
ステップS1:ユーザは、アプリケーションの第1のフロー・アーチファクトを選択する。
ステップS2:必要な構成オブジェクトを見つけるためにフロー・アーチファクトの内容が分析される。
ステップS3:各必要な構成オブジェクトが自動で選択される(すなわち、ただ1つのインスタンスが制約を満たす場合)、または、ユーザは、(オプションとして、推奨を伴う)制約を満たす複数のインスタンスがある場合に選択することを、ユーザ・インターフェースを介して促される、または、ユーザは、エラー・メッセージを生成することを通じてオブジェクトが利用可能でない(すなわち、インスタンスが制約を満たさない)かどうか知らされる。
ステップS4:分析が以下のように実施される。
- 現在の構成オブジェクト選択で全ての制約が満たされるかどうかチェックされる。(はいの場合、さらなるアクションは不要である。)
- 「いいえ」の場合、制約を満たす代替の構成オブジェクト選択を見つけることができるかどうかチェックされる(ステップS4.1)。このループは、全ての制約を満たすオブジェクトの組合せを見つけようとすることに、特定の回数失敗した後、自動で終了可能である。
- 「はい」の場合、構成オブジェクト選択が行われる(または、複数の可能なオプションから提案されるか、もしくは、ユーザは、複数の可能なオプションの中から中立的に選択を行うように促される)。
- 全ての制約を満たす構成オブジェクト選択が見つからなかった場合、構成レポートのエラー部分にエントリを作成することを通じてエラー・メッセージが生成される。
ステップS5:構成オブジェクトの現在の選択に対して、システムは、何らかの不整合(名前の衝突、濃度の制限)があるかをチェックする。可能な場合、いずれかの不整合は、(例えば、名前の衝突を解決するためにリネームすることによって)自動で訂正可能である。代替として、不整合は、構成レポートの一部として表されることが可能である。
ステップS6:ステップS3の直前の反復で選択されたオブジェクトの内容が分析される。直前の反復(ステップS3の直前の横断線)で選択されたオブジェクトの内容の中で見つかったオブジェクトに対して、さらなるオブジェクトを選択できるように、ステップS3に進む。オブジェクトの分析は、次いで、前(ステップS4およびS5)のように実行可能である。
ステップS7:これ以上新たな構成オブジェクトが追加されず、全ての制約が(可能な限り)満たされるまで、ステップS4に進む。
ステップS8:アプリケーションが複数のフロー・アーチファクトの展開を伴う場合、次のフロー・アーチファクトを選択し(ステップS8.1)、ステップS2から反復して、全てのフロー・アーチファクトの処理が完了するまで反復する。
【0023】
方法の実施形態は、今説明されたような、構成オブジェクトおよびその関連付けられた構成タイプを伴う、様々な異なる種類の制約、すなわち関係要件を考慮して、構成オブジェクトが選択されることを可能にするように構成されてもよい。
【0024】
第1の種類の制約は、フロー・アーチファクトと構成タイプとの間の関係におけるものであることが可能であり、この3つの例が含まれる。第1に、濃度は、必要な構成タイプに関連付けられてもよい。例えば、フロー・アーチファクトを展開するとき、厳密に1つの「accounts.yaml」ファイルが、各「serverconf.yaml」ファイルに対して選ばれる必要がある。第2に、フロー・アーチファクトに基づく依存関係があってもよく、したがって、特定のタイプの処理ノードが、フロー・アーチファクトのプロセス・フロー内にある場合、フロー・アーチファクトは、この処理ノードに関連付けられた全ての構成オブジェクトを含む必要がある。例えば、データベース・ノードは、正しい内容を有する、例えば「odbc.ini」といった、サンプル・データソース構成情報ファイルを必要とする。第3に、特定のタイプの全ての資産が構成タイプに存在している必要があってもよく、例えば、フロー・アーチファクトで使用される全てのアカウントが、「accounts.yaml」に存在している必要がある。
【0025】
第2の種類の制約は、構成タイプ間の関係におけるものであることが可能であり、この2つの例が含まれる。第1に、一緒に選択不可能な、相互に排他的なタイプがあってもよい。例えば、ユーザがタイプAインスタンスを選択する場合、これは、タイプBインスタンスの選択を排除してもよい。具体的な例は、「credentials.yaml」および「accounts.yaml」になるはずであり、これらを両方選択することはできない。第2に、最小-最大要件を伴うタイプ依存関係があってもよい。例えば、ユーザが構成タイプAを選択した場合、特定の数のタイプB構成オブジェクトが選択されなければならず、ここで、数は、最小値から最大値までの範囲でなければならない。
【0026】
第3の種類の制約は、構成オブジェクト間の関係におけるものであることが可能であり、この3つの例が含まれる。第1に、選択された構成オブジェクト間の内容の衝突を回避する必要がある場合がある。フロー・アーチファクトを展開するとき、ユーザは、意図したサーバへの展開のためのフロー・アーチファクトを構成するために、いくつかのこれらのオブジェクトを選択してもよい。名前の衝突が、構成オブジェクトの選択を無効にするので、選択時に名前の衝突がないことに留意されたい。例えば、「setdbparms」というタイプの構成オブジェクトは、一意の名前で識別されることが必要な証明書を含む。第2に、尊重されることが必要な構成オブジェクト間の内容の依存関係があってもよい。例えば、参照を含むタイプA構成オブジェクトを選択することは、タイプB構成オブジェクトにおいて参照が定義されることを必要としてもよい。第3に、選択されたタイプA構成オブジェクトからの全ての参照が、タイプB構成オブジェクトに存在している必要があるという要件があってもよい。例えば、EVENT_STREAM_CREDENTIALSというタイプの構成オブジェクトは、$でマークされたいくつかの変数を含み、全てのこのような変数は、EVENT_STREAM_CREDENTIALS_SECRETのタイプの構成オブジェクトにおいて定義される必要がある。
【0027】
図2は、本開示の実施形態をホスト可能なサーバ・インスタンスの例のブロック図である。各サーバは、アプリケーション、およびアプリケーション間のメッセージ・フローを含む、メッセージ・フローおよびリソースのためのランタイム環境を提供可能である。リソースは、アプリケーションによってアクセス可能な静的ライブラリまたは共用ライブラリあるいはその両方をさらに含んでもよい。メッセージは、メッセージの内容に基づいて発信者から受信者にルート可能である。メッセージ・フローは、メッセージ・ルーティングを制御可能である。メッセージ・フローは、入ってくるメッセージに対して実施されることになる動作、および動作が実行されるシーケンスを記述可能である。各メッセージ・フローは、メッセージを処理するために使用される一連のステップ、および処理を通じたルートを定義する接続を備えることができる。図示のようなサーバ環境が提供される。
【0028】
図3は、フローおよび構成オブジェクトによってリンクされた、ノードA、ノードB、およびノードCという、3つのノードのネットワークの例を示す概略図である。ノードは、例として直列に接続されて示されている。線で例証されたような構成オブジェクト間のリンクは、物理的なリンクではなく、むしろ、構成オブジェクトの内容に基づいて上述の方法によって推察される依存関係である。可能にするために、ノードBおよびノードCは、これらがデータベースに正しく接続することを可能にするように構成される必要がある。「odbc.ini」ファイルは、接続の詳細を含み、「setdbparms」ファイルは、証明書を含む。システム毎に1つの「odbc.ini」ファイルしかないことが可能であり、したがって、正しいものが選択される必要がある。2つ以上の「setdbparm」ファイルがあることが可能であるが、複数のこのようなファイルがあるとき、これらは、衝突したエントリを有することはできない。「find odbc.ini_1」というコマンドの第1の構文解析は、ノードBにマッチし、ここから、「setdbparms_1」も必要であることがわかる。次いで、ノードCが構成されず、したがって、「odbc.ini_2」が代わりに試されるはずであることがわかるはずである。結果として、「odbc.ini_2」は、「setdbparms_1」および「setdbparms_2」の両方を必要とする。構成のこのセットを用いると、システムは完全なものになり、データベースに接続することが実行可能になる。
【0029】
要約すれば、サーバに展開されるアプリケーションに利用可能な構成のセットを有するサーバへのアプリケーションの展開をサポートするための、アプリケーション構成ツールおよび関連付けられた方法が提供される。方法は、アプリケーションによって必要とされる構成毎に、サーバで利用可能な構成にマッチさせようとする。マッチする複数の候補がある場合、1つが選択される。マッチがないとき、エラー・メッセージが生成される。方法は、各選択済みの構成を検査して、これ自体がさらなる構成を必要とする選択済みの構成に含まれるいずれかの参照を識別するために、反復される。参照に続くことになる検査およびマッチングの反復は、マッチング、またはマッチングの失敗および結果的に生じるエラー・メッセージ生成のいずれかによって、全てのこのような参照が尽きるまで続けられる。最後に、選択済みの構成と、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合のエラー・メッセージとを指定する、構成レポートが出力可能になる。
【0030】
図4は、本発明の実施形態を実施するために使用されるコンピュータ・システム501およびコンピュータ・プログラム507の構造を示している。コンピュータ・システムは、上述のようなサーバでもよく、コンピュータ・プログラム507は、上述のようなアプリケーションでもよい。コンピュータ・システム501は、グラフィック・オブジェクト・リクエストを管理可能な、1つまたは複数のハードウェア・データ・ストレージ・デバイス511および1つまたは複数のI/Oデバイス513に、1つまたは複数のI/Oインターフェース509を通じて連結されたプロセッサ・リソースを提供するためのプロセッサ503と、グラフィックス・オブジェクトを表示可能なディスプレイ515とを備える。プロセッサ503はまた、1つまたは複数のメモリ・デバイス505に接続されてもよい。メモリ・リソースを有する少なくとも1つのメモリ・デバイス505は、格納済みのコンピュータ・プログラム507を含む。コンピュータ・プログラムはそれぞれ、コンピュータ実行可能命令を備える。データ・ストレージ・デバイス511は、コンピュータ・プログラム507を格納してもよい。ストレージ・デバイス511に格納されたコンピュータ・プログラム507はそれぞれ、メモリ・デバイス505を介してプロセッサ503によって実行されるように構成される。プロセッサ503は、格納済みのコンピュータ・プログラム507を実行する。
【0031】
好ましい実施形態の論理プロセス・ステップの全てまたは一部は、代替として、方法の論理プロセス・ステップを実施するように配置された論理要素を備える、論理装置または複数の論理装置で具体化されてもよいこと、および、このような論理要素は、ハードウェア構成要素、ファームウェア構成要素、またはその組合せを備えてもよいことが、当業者には明らかであろう。
【0032】
好ましい実施形態の論理構成要素の全てまたは一部は、代替として、方法のステップを実施するための論理要素を備える論理装置で具体化されてもよいこと、および、このような論理要素は、例えばプログラマブル・ロジック・アレイまたは特定用途向け集積回路に、論理ゲートなどの構成要素を備えてもよいことが、当業者には同様に明らかであろう。このような論理配置は、固定または伝送可能キャリア媒体を使用して格納および伝送される、例えば仮想ハードウェア記述言語を使用して、このようなアレイまたは回路内に論理構造を一時的または永久的に確立するための要素を可能にすることで、さらに具体化されてもよい。
【0033】
さらなる代替実施形態では、本発明は、コンピュータ・インフラストラクチャに展開され、そこで実行されるとき、方法のステップ全てをコンピューティング・デバイスに実施させるように動作可能なコンピュータ・プログラムを展開するステップを備えるサービスを展開するコンピュータ実行方法の形で実現されてもよい。
【0034】
好ましい実施形態の方法および構成要素は、代替として、並列ソフトウェアを実行するために2つ以上のプロセッサを備える並列コンピューティング・システムで完全または部分的に具体化されてもよいことが理解されよう。
【0035】
本発明のさらなる実施形態は、システムおよび方法の観点で定義されたコンピュータ・プログラム製品である。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0036】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および格納可能な有形デバイスであることが可能である。
【0037】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せでもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0038】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および格納可能な有形デバイスであることが可能である。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでもよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリ・メモリ(ROM)、消去可能プログラマブル・リードオンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、命令を記録したパンチカードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、本質的に一時的な信号であると解釈されるべきではない。
【0039】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せといったネットワークを介して外部コンピュータまたは外部ストレージ・デバイスに、ダウンロード可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてもよい。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0040】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(R)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語、もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでもよい。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行されてもよい。後者のシナリオでは、リモート・コンピュータは、いずれかのタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。一部の実施形態では、例えば、プログラマブル・ロジック回路機器、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路機器は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化にすることによって、コンピュータ可読プログラム命令を実行してもよい。
【0041】
本発明の態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照しながら本明細書で説明される。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実行可能であることが理解されよう。
【0042】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するための手段を作り出すべく、機械を生み出すために、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令はまた、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実行する命令を含む製品を、命令を格納したコンピュータ可読ストレージ媒体が備えるべく、コンピュータ可読ストレージ媒体に格納されてもよく、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに特定の様式で機能するように指図可能である。
【0043】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイスで実行される命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するべく、コンピュータ実行プロセスを生み出すために、コンピュータ、他のプログラム可能装置、または他のデバイスで一連の動作ステップを実施するために、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてもよい。
【0044】
本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書に列挙された教示の実装形態は、クラウド・コンピュータ・システムに限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られているか、後で開発される、他の任意のタイプのコンピュータ・システムと併用して実施可能である。
【0045】
クラウド・コンピューティングは、最低限の管理努力またはサービス提供者との対話で素早く提供および解放可能な、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含んでもよい。
【0046】
特性は、以下の通りである。
オンデマンド・セルフサービス:クラウド利用者は、サービスの提供者との人間の対話を必要とせず、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的に提供可能である。
ブロード・ネットワーク・アクセス:能力は、ネットワークを介して利用可能であり、異種混合のシンまたはシック・クライアント・プラットフォーム(例えば、モバイル・フォン、ラップトップ、およびPDA)による使用を促進する標準メカニズムを通じてアクセスされる。
リソース・プーリング:提供者のコンピューティング・リソースは、マルチ・テナント・モデルを使用して複数の利用者をサーブするためにプールされ、種々の物理および仮想リソースが、要求に応じて動的に割り当てられ、再割当てされる。利用者には一般に、提供されるリソースの正確な位置についての制御権も知識もなく、抽象化のより高いレベル(例えば、国、州、またはデータセンタ)で位置を指定でき得るという点で位置独立の意味がある。
迅速な弾力性:能力は、素早くスケール・アウトするために迅速かつ伸縮自在に、場合によっては自動的に提供され、素早くスケール・インするために迅速に解放可能である。利用者にとって、プロビジョニングのために利用可能な能力は無制限のように見えることが多く、いつでも任意の量で購入可能である。
測定されるサービス:クラウド・システムは、サービスのタイプに適した抽象化の一部のレベルで計量能力を活用することによって、リソース使用量(例えば、ストレージ、処理、帯域幅、および有効なユーザ・アカウント)を自動的に制御し、最適化する。リソース使用率は、監視、制御、およびレポート可能であり、利用されるサービスの提供者と利用者双方に透明性をもたらす。
【0047】
サービス・モデルは、以下の通りである。
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウド・インフラストラクチャで動く提供者のアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースのeメール)など、シン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、ことによると個々のアプリケーション能力を含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わないが、限定的なユーザ固有アプリケーション構成設定を例外とする可能性がある。
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、提供者によってサポートされるプログラミング言語およびツールを使用して制作された利用者制作または獲得アプリケーションを、クラウド・インフラストラクチャに配置することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わず、展開されたアプリケーション、および場合によってはアプリケーション・ホスティング環境構成に対する制御を行う。
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、処理、ストレージ、ネットワーク、ならびに、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを利用者が展開して動かすことができる他の基本的なコンピューティング・リソースを提供することである。利用者は、基礎をなすクラウド・インフラストラクチャの管理も制御も行わず、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、および場合によっては、選択されたネットワーキング構成要素(例えば、ホスト・ファイアウォール)の限定的な制御を行う。
【0048】
展開モデルは、以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、組織のためだけに運用される。クラウド・インフラストラクチャは、組織または第三者によって管理されてもよく、敷地内にあっても敷地外にあってもよい。
コミュニティ・クラウド:クラウド・インフラストラクチャは、一部の組織によって共有され、懸念(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス考慮)を共有してきた特定のコミュニティをサポートする。クラウド・インフラストラクチャは、組織または第三者によって管理されてもよく、敷地内にあっても敷地外にあってもよい。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模業界団体に対して利用可能にされ、クラウド・サービスを売る組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意のエンティティのままであるが、データおよびアプリケーション移植を可能にする標準または独自の技術(例えば、クラウド間の負荷分散用のクラウド・バースティング)によって一緒に結びつけられた、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成物である。
【0049】
クラウド・コンピュータ・システムは、ステートレス性、疎結合、モジュラリティ、およびセマンティック相互運用性に焦点を置いたサービス指向のものである。クラウド・コンピューティングの中心には、相互接続ノードのネットワークを含むインフラストラクチャがある。
【0050】
ここで
図5を参照すると、例証的なクラウド・コンピュータ・システム50が描写されている。図示のように、クラウド・コンピュータ・システム50は、例えば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラー電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなどの、クラウド利用者によって使用されるローカル・コンピューティング・デバイスが通信し得る、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してもよい。ノード10は、上述のような、プライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはその組合せなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化されてもよい(図示せず)。これは、クラウド利用者がローカル・コンピューティング・デバイス上にリソースを維持する必要のない、サービスとしてのインフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せをクラウド・コンピュータ・システム50が提供することを可能にする。
図5に示されたコンピューティング・デバイス54A~Nのタイプは、例証にすぎないことが意図されており、コンピューティング・ノード10およびクラウド・コンピュータ・システム50は、任意のタイプのネットワーク、または(例えば、ウェブ・ブラウザを使用した)ネットワーク・アドレス可能接続、あるいはその両方を介して、任意のタイプのコンピュータ化デバイスと通信可能であることが理解されている。
【0051】
ここで
図6を参照すると、クラウド・コンピュータ・システム50(
図5)によって提供される機能抽象化層のセットが示されている。
図6に示された構成要素、層、および機能は、例証にすぎないことが意図されており、本開示の実施形態が、これらに限定されないことを予め理解されたい。描写されたように、以下の層および対応する機能が提供される。
【0052】
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびに、ネットワークおよびネットワーキング構成要素66を含む。一部の実施形態では、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67、およびデータベース・ソフトウェア68を含む。
【0053】
仮想化層70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75といった、仮想エンティティの例が提供される、抽象化層を提供する。
【0054】
1つの例では、管理層80は、下記に記載の機能を提供してもよい。リソース提供81は、クラウド・コンピュータ・システム内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を行う。計量および価格設定82は、クラウド・コンピュータ・システム内でリソースが利用されるときのコスト追跡、および、これらのリソースの利用量に対する請求またはインボイスを行う。1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド利用者およびタスクの身元確認、ならびに、データおよび他のリソースの保護を行う。ユーザ・ポータル83は、利用者およびシステム・アドミニストレータに、クラウド・コンピュータ・システムへのアクセス権を提供する。サービス・レベル管理84は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの配分および管理を行う。サービス・レベル・アグリーメント(SLA:Service Level Agreement)計画および実行85は、SLAに従って、将来の要件が予想されるクラウド・コンピューティング・リソースの事前配置および調達を行う。
【0055】
ワークロード層90は、クラウド・コンピュータ・システムが利用される機能の例を提供する。この層から提供されるワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア・ライフサイクル管理92、仮想クラスルーム教育配信93、データ分析処理94、トランザクション処理95、ならびに、本開示の実施形態によるアプリケーション構成ツール96を含む。
【0056】
本開示の範囲から逸脱することなく、前述の例示的実施形態に対して多くの改善および修正が実施可能であることが当業者には明らかであろう。
【手続補正書】
【提出日】2024-04-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータの情報処理により、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供された前記サーバへのアプリケーションの展開をサポートする
方法であって、前記方法が、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全ての
前記参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示する1つまたは複数のエラー・メッセージを生成することと、
前記アプリケーションによって必要とされる
選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記1つまたは複数のエラー・メッセージを指定する、構成レポートを出力することと
を含む、
方法。
【請求項2】
全ての必要な構成が、利用可能な構成にマッチングされた場合、前記方法が、
前記構成レポートに基づいて前記アプリケーションを実行するように前記サーバを構成することと、
前記サーバに前記アプリケーションを展開することと
をさらに含む、請求項1に記載の
方法。
【請求項3】
必要な構成が、ただ1つの利用可能な構成にマッチングされたとき、前記構成を選択し、必要な構成が、選択のためのそれぞれの適切な候補を提供する複数の利用可能な構成にマッチングされたとき、ユーザ・インターフェースを介して前記適切な候補の中から選択するようにユーザを促す、請求項1に記載の
方法。
【請求項4】
前記アプリケーションが、少なくとも1つのアーチファクトを含み、前記マッチング、検査、実施、および反復が、各アーチファクトに対して別々に実施される、請求項1に記載の
方法。
【請求項5】
前記少なくとも1つのアーチファクトが、少なくとも1つのプロセス・フロー・アーチファクトを含む、請求項4に記載の
方法。
【請求項6】
前記サーバが、複数の処理ノードを備え、各処理ノードが、少なくとも1つの構成のための要件に関連付けられ、各プロセス・フロー・アーチファクトが、前記アプリケーションが前記処理ノードをどのように横断するかという観点で前記アプリケーションのプロセス・フローを定義する、請求項5に記載の
方法。
【請求項7】
前記構成が、タイプ毎に分類され、構成の前記マッチングが、タイプのマッチングを必要とする、請求項1に記載の
方法。
【請求項8】
構成の前記セットが、選択された構成によって満たされることになる条件を定義する制約のセットに関連付けられ、前記方法が、前記選択された構成が前記制約を満たすかどうかをチェックすることをさらに含む、請求項1に記載の
方法。
【請求項9】
コンピュータ可読媒体に格納され、ソフトウェア・コード部分を有するコンピューティング・デバイスの内部メモリにロード可能な、コンピュータ・プログラムであって、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供された前記サーバへのアプリケーションの展開をサポートする
方法を実施するために前記プログラムがコンピューティング・デバイスで実行されるとき、
前記プログラムがコンピュータに、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全ての
前記参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成することと、
前記アプリケーションによって必要とされる
選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記エラー・メッセージを指定する、構成レポートを出力することと
を実行させる、コンピュータ・プログラム。
【請求項10】
コンピュータの情報処理により、サーバに展開されるアプリケーションによる使用のために利用可能な構成のセットが提供された前記サーバへのアプリケーションの展開をサポートする
方法であって、前記方法が、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全ての
前記参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、1つまたは複数の必要な欠落した構成を生成することと、
前記1つまたは複数の欠落した構成で前記アプリケーションをアップデートすることと、
前記アプリケーションによって必要とされる選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記1つまたは複数の生成された構成を指定する、構成レポートを出力することと
を含む、
方法。
【請求項11】
全ての必要な構成が、利用可能な構成にマッチングされた場合、前記方法が、
前記構成レポートに基づいて前記アプリケーションを実行するように前記サーバを構成することと、
前記サーバに前記アプリケーションを展開することと
をさらに含む、請求項10に記載の
方法。
【請求項12】
必要な構成が、ただ1つの利用可能な構成にマッチングされたとき、前記構成を選択し、必要な構成が、選択のためのそれぞれの適切な候補を提供する複数の利用可能な構成にマッチングされたとき、ユーザ・インターフェースを介して前記適切な候補の中から選択するようにユーザを促す、請求項10に記載の
方法。
【請求項13】
前記アプリケーションが、少なくとも1つのアーチファクトを含み、前記マッチング、検査、実施、および反復が、各アーチファクトに対して別々に実施される、請求項10に記載の
方法。
【請求項14】
前記少なくとも1つのアーチファクトが、少なくとも1つのプロセス・フロー・アーチファクトを含む、請求項13に記載の
方法。
【請求項15】
請求項9に記載の前記コンピュータ・プログラムを、コンピュータ可読記録媒体に記録した、コンピュータ・プログラム製品。
【請求項16】
全ての必要な構成が、利用可能な構成にマッチングされた場合、前記方法が、
前記構成レポートに基づいて前記アプリケーションを実行するように前記サーバを構成することと、
前記サーバに前記アプリケーションを展開することと
をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
必要な構成が、ただ1つの利用可能な構成にマッチングされたとき、前記構成を選択し、必要な構成が、選択のためのそれぞれの適切な候補を提供する複数の利用可能な構成にマッチングされたとき、ユーザ・インターフェースを介して前記適切な候補の中から選択するようにユーザを促す、請求項15に記載のコンピュータ・プログラム製品。
【請求項18】
サーバ装置であって、前記サーバ装置に展開されるアプリケーションによる使用のために利用可能な構成のセットと、
アプリケーション構成ツールであって、
前記アプリケーションによって必要とされる構成を、構成の前記セット内の利用可能な構成とマッチングさせることであって、構成の前記セット内の利用可能な少なくとも1つの構成とマッチングされた各必要な構成に対して、前記利用可能な構成のうちの1つを選択し、マッチング不可能な各必要な構成に対して、各前記必要な構成が利用不可能であることを指定するエラー・メッセージを生成する、前記マッチングさせることと、
各選択済みの必要な構成に含まれる、必要とされるさらなる構成へのいずれかの参照を識別するために、各前記選択済みの必要な構成を検査することと、
各前記さらなる構成について前記マッチングを再び実施することと、
必要な構成と利用可能な構成との成功したマッチングのうちの1つによって、全ての
前記参照が尽きるまで、前記参照に続くことになる前記検査および前記マッチングを反復すること、ならびに、必要な構成が利用不可能であることを指示するエラー・メッセージを生成することと、
前記アプリケーションによって必要とされる
選択済みの前記利用可能な構成、および、全ての必要な構成が利用可能な構成にマッチングされたわけではない場合の前記エラー・メッセージを指定する、構成レポートを出力することと
によって、前記サーバ装置へのアプリケーションの展開をサポートするように動作可能な前記アプリケーション構成ツールとが提供された、サーバ装置。
【請求項19】
全ての必要な構成が、利用可能な構成にマッチングされた場合、前記アプリケーション構成ツールが、
前記構成レポートに基づいて前記アプリケーションを実行するように前記サーバ装置を構成することと、
前記サーバ装置に前記アプリケーションを展開することと
を行うようにさらに動作可能である、請求項18に記載のサーバ装置。
【請求項20】
必要な構成が、ただ1つの利用可能な構成にマッチングされたとき、前記アプリケーション構成ツールが、前記構成を選択するようにさらに動作可能であり、必要な構成が、選択のためのそれぞれの適切な候補を提供する複数の利用可能な構成にマッチングされたとき、ユーザ・インターフェースを介して前記適切な候補の中から選択するようにユーザを促す、請求項18に記載のサーバ装置。
【請求項21】
前記アプリケーションが、少なくとも1つのアーチファクトを含み、前記マッチング、検査、実施、および反復が、各アーチファクトに対して別々に実施される、請求項18に記載のサーバ装置。
【請求項22】
前記少なくとも1つのアーチファクトが、少なくとも1つのプロセス・フロー・アーチファクトを含む、請求項21に記載のサーバ装置。
【請求項23】
前記サーバ装置が、複数の処理ノードを備え、各処理ノードが、少なくとも1つの構成のための要件に関連付けられ、各プロセス・フロー・アーチファクトが、前記アプリケーションが前記処理ノードをどのように横断するかという観点で前記アプリケーションのプロセス・フローを定義する、請求項22に記載のサーバ装置。
【請求項24】
前記構成が、タイプ毎に分類され、構成の前記マッチングが、タイプのマッチングを必要とする、請求項18に記載のサーバ装置。
【請求項25】
構成の前記セットが、選択された構成によって満たされることになる条件を定義する制約のセットに関連付けられ、前記アプリケーション構成ツールが、前記選択された構成が前記制約を満たすかどうかをチェックするようにさらに動作可能である、請求項18に記載のサーバ装置。
【国際調査報告】