(57)【要約】  本発明の実施形態は、アプリケーションアップグレード方法および装置を提供し、クラウドコンピューティングの分野に適用され、かつアップグレードされたアプリケーションが正常に動作できることを保証することができる。アプリケーションアップグレード方法は、アプリケーションデプロイメントサーバに適用され、かつアプリケーションデプロイメント要求を受信するステップと、デプロイ予定のアプリケーションのデプロイメントパッケージを決定するステップと、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するステップと、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得するステップと、第1プラットフォームノードアップグレードパッケージを使用することによって第1プラットフォームノードの識別子によって示される第1プラットフォームノードをアップグレードするステップと、アップグレード予定のアプリケーションノードの識別子を決定するステップと、デプロイ予定のアプリケーションのデプロイメントパッケージを使用することによってアップグレード予定のアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするステップとを含む。本発明の実施形態は、クラウドコンピューティングの分野でアプリケーションアップグレードのために使用されるアプリケーションアップグレード方法および装置を提供する。
2016521897.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションアップグレード方法であって、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信するステップであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、ステップと、
前記アップグレード識別子に基づいて、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージが、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションのアップグレードパッケージであることを決定するステップと、
前記デプロイされたアプリケーションの前記識別子に基づいて、第1プラットフォームノードの識別子であり、かつ前記第1プラットフォームノードテンプレートの前記識別子に対応する識別子を取得するとともに、前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードのバージョンを取得するステップと、
前記第1プラットフォームノードの前記バージョンに基づいて、前記第1プラットフォームノードの前記バージョンが、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を下回っていると決定するステップと、
前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件に基づいて、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得するステップと、
前記第1プラットフォームノードアップグレードパッケージを使用することによって前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードをアップグレードするステップと、
アップグレード予定のアプリケーションノードの識別子を決定するステップと、
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを使用することによって前記アップグレード予定のアプリケーションノードの前記識別子によって示される前記アプリケーションノードをアップグレードするステップと
を含むアプリケーションアップグレード方法。
【請求項２】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される請求項1に記載の方法。
【請求項３】
アップグレード予定のアプリケーションノードの識別子を決定する前記ステップは、特に、全アプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定するステップであり、または、
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を決定する前記ステップは、特に、
前記少なくとも1つのデプロイされたアプリケーションノードの識別子であり、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応し、かつ前記アプリケーションデプロイメントパッケージに含まれる前記識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定するステップである、請求項1または2に記載の方法。
【請求項４】
前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードをアップグレードする前記ステップの前に、前記方法は、前記デプロイされたアプリケーションの前記識別子に基づいて、前記デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得するステップと、
前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記取得された記述ファイルに基づいて、前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記記述ファイルは、前記第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していると決定するステップと、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、前記第2プラットフォームノードのバージョンとを取得するステップと、
前記第2プラットフォームノードの前記バージョンが、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を下回っていると決定するステップと
を含み、かつ
前記第1プラットフォームノードアップグレードパッケージを使用することによって前記第1プラットフォームノードをアップグレードする前記ステップの前に、前記方法は、
前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件に基づいて、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得するステップと、
前記第2プラットフォームノードアップグレードパッケージに基づいて前記第2プラットフォームノードをアップグレードするステップと
をさらに含む、請求項1〜3のいずれか一項に記載の方法。
【請求項５】
アプリケーションアップグレード方法において、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成するステップであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、ステップと、
アプリケーションデプロイメント要求を生成するステップであって、前記アプリケーションデプロイメント要求は、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを含む、ステップと、
前記アプリケーションデプロイメント要求を、アプリケーションデプロイメントサーバに送信するステップと
を含む、アプリケーションアップグレード方法。
【請求項６】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される、請求項5に記載の方法。
【請求項７】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含む、請求項5または6に記載の方法。
【請求項８】
デプロイ予定のアプリケーションのデプロイメントパッケージを生成する前記ステップの前に、前記方法は、前記デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションの前記第1プラットフォームノードテンプレートを決定するステップであって、前記第1プラットフォームノードテンプレートは、前記デプロイされたアプリケーションの前記ノードテンプレートをソースノードテンプレートとして使用する、ステップをさらに含む、請求項5〜7のいずれか一項に記載の方法。
【請求項９】
アプリケーションデプロイメントサーバであって、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信し、かつ前記デプロイ予定のアプリケーションの前記アプリケーションデプロイメントパッケージを、決定モジュールおよびアップグレードモジュールに送信するように構成された受信モジュールであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、受信モジュールと、
前記受信モジュールによって送信された前記デプロイ予定のアプリケーションの前記アプリケーションデプロイメントパッケージを受信するとともに、前記アップグレード識別子に基づいて、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージが、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションのアップグレードパッケージであることを決定し、前記デプロイされたアプリケーションの前記識別子に基づいて、第1プラットフォームノードの識別子であり、かつ前記第1プラットフォームノードテンプレートの前記識別子に対応する識別子を取得するとともに、前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードのバージョンを取得し、前記第1プラットフォームノードの前記バージョンに基づいて、前記第1プラットフォームノードの前記バージョンが、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を下回っていると決定し、かつ前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件に基づいて、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得するとともに、前記第1プラットフォームノードアップグレードパッケージを前記アップグレードモジュールに送信するように構成された前記決定モジュールと、
前記決定モジュールによって送信された前記第1プラットフォームノードアップグレードパッケージを受信するとともに、前記第1プラットフォームノードアップグレードパッケージを使用することによって前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードをアップグレードするように構成された前記アップグレードモジュールと
を備え、
前記決定モジュールは、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に基づいて、アップグレード予定のアプリケーションノードの識別子を決定するとともに、前記アップグレード予定のアプリケーションノードの前記識別子を前記アップグレードモジュールに送信するようにさらに構成され、かつ
前記アップグレードモジュールは、前記受信モジュールによって送信された前記デプロイ予定のアプリケーションの前記アプリケーションデプロイメントパッケージを受信し、前記決定モジュールによって送信された前記アップグレード予定のアプリケーションノードの前記識別子を受信し、かつ前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを使用することによって前記アップグレード予定のアプリケーションノードの前記識別子によって示される前記アプリケーションノードをアップグレードするようにさらに構成される、アプリケーションデプロイメントサーバ。
【請求項１０】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される、請求項9に記載のアプリケーションデプロイメントサーバ。
【請求項１１】
前記決定モジュールは特に、全アプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定するように構成され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を前記決定することは特に、前記少なくとも1つのデプロイされたアプリケーションノードの識別子であり、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応し、かつ前記アプリケーションデプロイメントパッケージに含まれる前記識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定することである、請求項9または10に記載のアプリケーションデプロイメントサーバ。
【請求項１２】
前記決定モジュールは、
前記デプロイされたアプリケーションの前記識別子に基づいて、前記デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得し、
前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記取得された記述ファイルに基づいて、前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記記述ファイルが、前記第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることを決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、前記第2プラットフォームノードのバージョンとを取得し、
前記第2プラットフォームノードの前記バージョンが、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を下回っていると決定し、かつ
前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件に基づいて、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得する
ようにさらに構成され、かつ
前記アップグレードモジュールは、前記第2プラットフォームノードアップグレードパッケージに基づいて前記第2プラットフォームノードをアップグレードするようにさらに構成される、請求項9〜11のいずれか一項に記載のアプリケーションデプロイメントサーバ。
【請求項１３】
ユーザ装置において、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成するように構成された生成モジュールであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述し、
前記生成モジュールは、アプリケーションデプロイメント要求を生成するとともに、前記アプリケーションデプロイメント要求を送信モジュールに送信するようにさらに構成され、前記アプリケーションデプロイメント要求は、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを含む、生成モジュールと、
前記生成モジュールによって送信された前記アプリケーションデプロイメント要求を受信し、かつ前記アプリケーションデプロイメント要求をアプリケーションデプロイメントサーバに送信するように構成された前記送信モジュールと
を備えるユーザ装置。
【請求項１４】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される、請求項13に記載のユーザ装置。
【請求項１５】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含む、請求項13または14に記載のユーザ装置。
【請求項１６】
前記ユーザ装置は、前記デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションの前記第1プラットフォームノードテンプレートを決定するように構成された決定モジュールをさらに備え、前記第1プラットフォームノードテンプレートは、前記デプロイされたアプリケーションの前記ノードテンプレートをソースノードテンプレートとして使用する、請求項13〜15のいずれか一項に記載のユーザ装置。
【請求項１７】
アプリケーションデプロイメントサーバにおいて、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信し、かつ前記デプロイ予定のアプリケーションの前記デプロイメントパッケージをプロセッサに送信するように構成された受信機であって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、受信機と、
前記受信機によって送信された前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを受信するとともに、前記アップグレード識別子に基づいて、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージが、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションのアップグレードパッケージであることを決定し、
前記デプロイされたアプリケーションの前記識別子に基づいて、第1プラットフォームノードの識別子であり、かつ前記第1プラットフォームノードテンプレートの前記識別子に対応する識別子を取得するとともに、前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードのバージョンを取得し、
前記第1プラットフォームノードの前記バージョンに基づいて、前記第1プラットフォームノードの前記バージョンが、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を下回っていると決定し、
前記第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件に基づいて、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得し、
前記第1プラットフォームノードアップグレードパッケージを使用することによって、前記第1プラットフォームノードテンプレートの前記識別子によって示される前記第1プラットフォームノードをアップグレードし、
アップグレード予定のアプリケーションノードの識別子を決定し、かつ
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを使用することによって前記アップグレード予定のアプリケーションノードの前記識別子によって示される前記アプリケーションノードをアップグレードする
ように構成された前記プロセッサと
を備えるアプリケーションデプロイメントサーバ。
【請求項１８】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される、請求項17に記載のアプリケーションデプロイメントサーバ。
【請求項１９】
前記プロセッサは特に、全アプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定するように構成され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を前記決定することは特に、前記少なくとも1つのデプロイされたアプリケーションノードの識別子であり、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応し、かつ前記アプリケーションデプロイメントパッケージに含まれる前記識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定することである、請求項17または18に記載のアプリケーションデプロイメントサーバ。
【請求項２０】
前記プロセッサは、
前記デプロイされたアプリケーションの前記識別子に基づいて、前記デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得し、
前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記取得された記述ファイルに基づいて、前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記記述ファイルが、前記第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることを決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、前記第2プラットフォームノードのバージョンとを取得し、
前記第2プラットフォームノードの前記バージョンが、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を下回っていると決定し、
前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件に基づいて、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得し、かつ
前記第2プラットフォームノードアップグレードパッケージに基づいて前記第2プラットフォームノードをアップグレードする
ようにさらに構成される、請求項17〜19のいずれか一項に記載のアプリケーションデプロイメントサーバ。
【請求項２１】
ユーザ装置において、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成し、
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを含むアプリケーションデプロイメント要求を生成し、かつ
前記アプリケーションデプロイメント要求を送信機に送信する
ように構成されたプロセッサであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、プロセッサと、
前記プロセッサによって送信された前記アプリケーションデプロイメント要求を受信し、かつ前記アプリケーションデプロイメント要求を、アプリケーションデプロイメントサーバに送信するように構成された前記送信機と
を備えるユーザ装置。
【請求項２２】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される、請求項21に記載のユーザ装置。
【請求項２３】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含む、請求項21または22に記載のユーザ装置。
【請求項２４】
前記プロセッサは、前記デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションの前記第1プラットフォームノードテンプレートを決定するようにさらに構成され、前記第1プラットフォームノードテンプレートは、前記デプロイされたアプリケーションの前記ノードテンプレートをソースノードテンプレートとして使用する、請求項21〜23のいずれか一項に記載のユーザ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドコンピューティングの分野に関し、かつ特に、アプリケーションアップグレード方法および装置に関する。
【背景技術】
【０００２】
クラウドコンピューティングのコアの考えは、ユーザ需要に応じてユーザにリソースおよびサービスを提供するためのコンピューティングリソースプールを構成するために、ネットワークを使用して接続された多量のコンピューティングリソースを統一的な方法で管理し、かつスケジューリングすることである。このようなコンピューティングリソースを提供するネットワークは、クラウドと呼ばれる。
【０００３】
クラウドプラットフォームは、アプリケーションデベロッパにクラウドベースのサービスを提供するプラットフォームである。PaaS(Platform as a Service)は、一般的なクラウドプラットフォームであり、かつデベロッパがオンデマンド容易拡張方法でネットワークを使用して必要なサービスを取得することを意味する一般化されたクラウドコンピューティングの一般的なサービスモードに属する。PaaSは、サービスとしてユーザに、カスタマイズされた方法で開発されるミドルウェアプラットフォームを提供する。基本的には、PaaSは、商業的価値を有するリソースおよびサービスプラットフォームをサードパーティデベロッパに提供するために、インターネットのリソースおよびサービスをプログラマブルインターフェースに変換する。プラットフォームノードとも呼ばれるミドルウェアプラットフォームは、標準的なプログラムインターフェースおよびプロトコルを有する一般的なサービスであり、一般的にハードウェアとアプリケーションとの間か、またはオペレーティングシステムとアプリケーションとの間に置かれる。PaaS CSP(Cloud Service Provider)は、例えば、アプリケーションサーバおよびデータベースのような様々なミドルウェアプラットフォームを提供する。CSPは、プラットフォームノードを設計し、開発し、かつ最適化することができ、かつアプリケーションデベロッパは、プラットフォームノード上でアプリケーションノードの開発に集中する必要があるのみであり、開発に大きな利便性をもたらす。
【０００４】
しかしながら現在、PaaS CSPは、固定バージョンのプラットフォームノードのみをアプリケーションデベロッパに提供しており、全てのアプリケーションに関してプラットフォームノードのバージョンをメンテナンスしている。もしアプリケーションデベロッパがアプリケーションノードをアップグレードする必要がある場合、アップグレードされたアプリケーションノードは、プラットフォームノードのバージョンの要件を有するが、もしプラットフォームノードのバージョンがアップグレードされたアプリケーションノードの要件を満たせない場合、アプリケーションノードはアップデートに失敗し、アプリケーションは正常に動作できない。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の態様は、アップグレードされたアプリケーションが正常に動作できることを保証するために、アプリケーションアップグレード方法および装置を提供する。
【０００６】
前述の目的を達成するために、以下の技術的解決策が本発明の態様において使用される。
【０００７】
本発明の実施の第1態様は、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信するステップであって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、ステップと、
アップグレード識別子に基づいて、デプロイ予定のアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションのアップグレードパッケージであることを決定するステップと、
デプロイされたアプリケーションの識別子に基づいて、第1プラットフォームノードの識別子であり、かつ第1プラットフォームノードテンプレートの識別子に対応する識別子を取得するとともに、第1プラットフォームノードの識別子によって示される第1プラットフォームノードのバージョンを取得するステップと、
第1プラットフォームノードのバージョンに基づいて、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するステップと、
第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得するステップと、
第1プラットフォームノードアップグレードパッケージを使用することによって第1プラットフォームノードの識別子によって示される第1プラットフォームノードをアップグレードするステップと、
アップグレード予定のアプリケーションノードの識別子を決定するステップと、
デプロイ予定のアプリケーションのデプロイメントパッケージを使用することによってアップグレード予定のアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするステップと
を含むアプリケーションアップグレード方法を提供する。
【０００８】
第1態様を参照して、第1の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または、
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【０００９】
第1態様または第1の実施可能な方式を参照して、第2の実施可能な方式において、アップグレード予定のアプリケーションノードの識別子を決定するステップは特に、全アプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を、アップグレード予定のアプリケーションノードの識別子として決定するステップであり、または
デプロイ予定のアプリケーションのデプロイメントパッケージが、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を決定するステップは特に、
少なくとも1つのデプロイされたアプリケーションノードの識別子であり、デプロイされたアプリケーションのノードテンプレートの識別子に対応し、かつアプリケーションデプロイメントパッケージに含まれる識別子を、アップグレード予定のアプリケーションノードの識別子として決定するステップである。
【００１０】
第1態様、第1の実施可能な方式、または第2の実施可能な方式を参照して、第3の実施可能な方式において、第1プラットフォームノードの識別子によって示される第1プラットフォームノードをアップグレードするステップの前に、方法は、デプロイされたアプリケーションの識別子に基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得するステップと、
デプロイされたアプリケーションのデプロイメントパッケージの取得された記述ファイルに基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることを決定するステップと、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、第2プラットフォームノードのバージョンとを取得するステップと、
第2プラットフォームノードのバージョンが、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を下回っていると決定するステップと
をさらに含み、かつ
第1プラットフォームノードアップグレードパッケージを使用することによって第1プラットフォームノードをアップグレードするステップの前に、方法は、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件に基づいて、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得するステップと、
第2プラットフォームノードアップグレードパッケージに基づいて第2プラットフォームノードをアップグレードするステップと
をさらに含む。
【００１１】
本発明の実施の第2態様は、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成するステップであって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、ステップと、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を生成するステップと、
アプリケーションデプロイメント要求を、アプリケーションデプロイメントサーバに送信するステップと
を含むアプリケーションアップグレード方法を提供する。
【００１２】
第2態様を参照して、第1の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【００１３】
第2態様または第1の実施可能な方式を参照して、第2の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含む。
【００１４】
第2態様、第1の実施可能な方式、または第2の実施可能な方式を参照して、第3の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージを生成するステップの前に、方法は、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションの第1プラットフォームノードテンプレートを決定するステップであって、第1プラットフォームノードテンプレートは、デプロイされたアプリケーションのノードテンプレートをソースノードテンプレートとして使用する、ステップをさらに含む。
【００１５】
本発明の実施の第3態様は、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信し、かつデプロイ予定のアプリケーションのアプリケーションデプロイメントパッケージを、決定モジュールおよびアップグレードモジュールに送信するように構成された受信モジュールであって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、受信モジュールと、
受信モジュールによって送信されたデプロイ予定のアプリケーションのアプリケーションデプロイメントパッケージを受信するとともに、アップグレード識別子に基づいて、デプロイ予定のアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションのアップグレードパッケージであることを決定し、デプロイされたアプリケーションの識別子に基づいて、第1プラットフォームノードの識別子であり、かつ第1プラットフォームノードテンプレートの識別子に対応する識別子を取得するとともに、第1プラットフォームノードの識別子によって示される第1プラットフォームノードのバージョンを取得し、第1プラットフォームノードのバージョンに基づいて、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定し、かつ第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得するとともに、第1プラットフォームノードアップグレードパッケージをアップグレードモジュールに送信するように構成された決定モジュールと、
決定モジュールによって送信された第1プラットフォームノードアップグレードパッケージを受信するとともに、第1プラットフォームノードアップグレードパッケージを使用することによって第1プラットフォームノードの識別子によって示される第1プラットフォームノードをアップグレードするように構成されたアップグレードモジュールと
を備え、
決定モジュールは、デプロイされたアプリケーションのノードテンプレートの識別子に基づいて、アップグレード予定のアプリケーションノードの識別子を決定するとともに、アップグレード予定のアプリケーションノードの識別子をアップグレードモジュールに送信するようにさらに構成され、かつ
アップグレードモジュールは、受信モジュールによって送信されたデプロイ予定のアプリケーションのアプリケーションデプロイメントパッケージを受信し、決定モジュールによって送信されたアップグレード予定のアプリケーションノードの識別子を受信し、かつデプロイ予定のアプリケーションのデプロイメントパッケージを使用することによってアップグレード予定のアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするようにさらに構成される、アプリケーションデプロイメントサーバを提供する。
【００１６】
第3態様を参照して、第1の実施可能な方式において、
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【００１７】
第3態様または第1の実施可能な方式を参照して、第2の実施可能な方式において、
決定モジュールは特に、全アプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を、アップグレード予定のアプリケーションノードの識別子として決定するように構成され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を決定することは特に、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、デプロイされたアプリケーションのノードテンプレートの識別子に対応し、かつアプリケーションデプロイメントパッケージに含まれる識別子を、アップグレード予定のアプリケーションノードの識別子として決定することである。
【００１８】
第3態様、第1の実施可能な方式、または第2の実施可能な方式を参照して、第3の実施可能な方式において、決定モジュールは、
デプロイされたアプリケーションの識別子に基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得し、
デプロイされたアプリケーションのデプロイメントパッケージの取得された記述ファイルに基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることを決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、第2プラットフォームノードのバージョンとを取得し、
第2プラットフォームノードのバージョンが、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を下回っていると決定し、かつ
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件に基づいて、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得する
ようにさらに構成され、かつ
アップグレードモジュールは、第2プラットフォームノードアップグレードパッケージに基づいて第2プラットフォームノードをアップグレードするようにさらに構成される。
【００１９】
本発明の実施の第4態様は、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成するように構成された生成モジュールであって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述し、
生成モジュールは、アプリケーションデプロイメント要求を生成するとともに、アプリケーションデプロイメント要求を送信モジュールに送信するようにさらに構成され、アプリケーションデプロイメント要求は、デプロイ予定のアプリケーションのデプロイメントパッケージを含む、生成モジュールと、
生成モジュールによって送信されたアプリケーションデプロイメント要求を受信し、かつアプリケーションデプロイメント要求をアプリケーションデプロイメントサーバに送信するように構成された送信モジュールと
を備えるユーザ装置を提供する。
【００２０】
第4態様を参照して、第1の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【００２１】
第4態様または第1の実施可能な方式を参照して、第2の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含む。
【００２２】
第4態様、第1の実施可能な方式、または第2の実施可能な方式を参照して、第3の実施可能な方式において、ユーザ装置は、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションの第1プラットフォームノードテンプレートを決定するように構成された決定モジュールをさらに備え、第1プラットフォームノードテンプレートは、デプロイされたアプリケーションのノードテンプレートをソースノードテンプレートとして使用する。
【００２３】
本発明の実施の第5態様は、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信し、かつデプロイ予定のアプリケーションのデプロイメントパッケージをプロセッサに送信するように構成された受信機であって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、受信機と、
受信機によって送信されたデプロイ予定のアプリケーションのデプロイメントパッケージを受信するとともに、アップグレード識別子に基づいて、デプロイ予定のアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションのアップグレードパッケージであることを決定し、
デプロイされたアプリケーションの識別子に基づいて、第1プラットフォームノードの識別子であり、かつ第1プラットフォームノードテンプレートの識別子に対応する識別子を取得するとともに、第1プラットフォームノードの識別子によって示される第1プラットフォームノードのバージョンを取得し、
第1プラットフォームノードのバージョンに基づいて、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定し、
第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得し、
第1プラットフォームノードアップグレードパッケージを使用することによって、第1プラットフォームノードテンプレートの識別子によって示される第1プラットフォームノードをアップグレードし、
アップグレード予定のアプリケーションノードの識別子を決定し、かつ
デプロイ予定のアプリケーションのデプロイメントパッケージを使用することによってアップグレード予定のアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードする
ように構成されたプロセッサと
を備えるアプリケーションデプロイメントサーバを提供する。
【００２４】
第5態様を参照して、第1の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【００２５】
第5態様または第1の実施可能な方式を参照して、第2の実施可能な方式において、プロセッサは特に、全アプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を、アップグレード予定のアプリケーションノードの識別子として決定するように構成され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を決定することは特に、
少なくとも1つのデプロイされたアプリケーションノードの識別子であり、デプロイされたアプリケーションのノードテンプレートの識別子に対応し、かつアプリケーションデプロイメントパッケージに含まれる識別子を、アップグレード予定のアプリケーションノードの識別子として決定することである。
【００２６】
第5態様、第1の実施可能な方式、または第2の実施可能な方式を参照して、第3の実施可能な方式において、プロセッサは、
デプロイされたアプリケーションの識別子に基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得し、
デプロイされたアプリケーションのデプロイメントパッケージの取得された記述ファイルに基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることを決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、第2プラットフォームノードのバージョンとを取得し、
第2プラットフォームノードのバージョンが、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を下回っていると決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件に基づいて、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得し、かつ
第2プラットフォームノードアップグレードパッケージに基づいて第2プラットフォームノードをアップグレードするようにさらに構成される。
【００２７】
本発明の実施の第6態様は、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成し、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を生成し、かつ
アプリケーションデプロイメント要求を送信機に送信する
ように構成されたプロセッサであって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、プロセッサと、
プロセッサによって送信されたアプリケーションデプロイメント要求を受信し、かつアプリケーションデプロイメント要求を、アプリケーションデプロイメントサーバに
送信するように構成された送信機と
を備えるユーザ装置を提供する。
【００２８】
第6態様を参照して、第1の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【００２９】
第6態様または第1の実施可能な方式を参照して、第2の実施可能な方式において、デプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含む。
【００３０】
第6態様、第1の実施可能な方式、または第2の実施可能な方式を参照して、第3の実施可能な方式において、プロセッサは、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションの第1プラットフォームノードテンプレートを決定するようにさらに構成され、第1プラットフォームノードテンプレートは、デプロイされたアプリケーションのノードテンプレートをソースノードテンプレートとして使用する。
【００３１】
デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述しているということを前述の解決策から理解できる。アプリケーションデプロイメントサーバは、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、アプリケーションデプロイメントサーバは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【図面の簡単な説明】
【００３２】
本発明の実施の技術的解決策をより明確に説明するために、以下に実施形態または従来技術を説明するために必要な添付図面を簡潔に説明する。当然ながら、以下の説明における添付図面は、本発明の単なる一部の実施形態を示しているに過ぎず、当業者は、創造的努力なしに、これらの添付図面からさらに他の図面を導き出すことができる。
【００３３】
【図１Ａ】本発明の実施形態における、アプリケーションアップグレード方法が基づくアプリケーションデプロイメント記述ファイルによって記述されるサービステンプレートの概略構造図である。
【図１Ｂ】本発明の実施形態における、図1Aに対応するプランの概略構造図である。
【図２】本発明の実施形態における、アプリケーションアップグレード方法の概略フローチャートである。
【図３】本発明の実施形態における、アプリケーションアップグレード方法の概略フローチャートである。
【図４】本発明の実施形態における、アプリケーションアップグレード方法の概略フローチャートである。
【図５】アプリケーションデプロイメントパッケージAの記述およびアプリケーションデプロイメントパッケージBの記述に基づいて、アプリケーションデプロイメントサーバによって、本発明の実施形態におけるアプリケーションノードappのアップグレードを決定する概略図である。
【図６】本発明の実施形態における、アプリケーションデプロイメントサーバによって、デプロイされたアプリケーションノードをアップグレードする概略フローチャートである。
【図７】本発明の実施形態における、デプロイ予定のアプリケーションのデプロイメントパッケージの概略図である。
【図８】本発明の実施形態における、アプリケーションデプロイメントサーバの概略構造図である。
【図９】本発明の実施形態における、ユーザ装置の概略構造図である。
【図１０】本発明の実施形態における、別のユーザ装置の概略構造図である。
【図１１】本発明の実施形態における、別のアプリケーションデプロイメントサーバの概略構造図である。
【図１２】本発明の実施形態における、さらに別のユーザ装置の概略構造図である。
【発明を実施するための形態】
【００３４】
以下に、本発明の実施形態における添付図面を参照しながら、本発明の実施形態の技術的解決策を明確かつ十分に説明する。当然ながら、説明される実施形態は、本発明の実施形態の全てではなく、単なる一部に過ぎない。当業者によって創造的な努力なしに本発明の実施形態に基づいて取得される他の全ての実施形態は、本発明の保護範囲であるものとする。
【００３５】
本発明の実施形態は、TOSCA規格に適用されうるアプリケーションアップグレード方法を提供し、または別の態様に適用されてもよく、TOSCA規格に限定されない。図1Aに示されるように、アプリケーションアップグレード方法は、以下を含む。
【００３６】
本発明の実施形態において、アプリケーションをデプロイするために必要な情報は、アプリケーションデプロイメントサーバ上のアプリケーションデプロイメントパッケージという名前のクラウドサービスアーカイブ(Cloud Service Archive, 略して、CSAR)に記述されている。アプリケーションデプロイメントパッケージは、steのファイル名拡張子を有する少なくとも1つのアプリケーションデプロイメント記述ファイルを含む。*.steアプリケーションデプロイメント記述ファイルは、アプリケーションのデプロイメント情報を記述するために、XML言語を使用してもよい。*.steアプリケーションデプロイメント記述ファイルのルート要素は、サービステンプレートである。すなわち、本発明の実施形態において、サービステンプレートは、デプロイされる必要があるアプリケーションについての情報を完全に記述するために使用されてもよい。*.steアプリケーションデプロイメント記述ファイルのサブ要素は、トポロジーテンプレートTopologyTemplateと、ノードタイプNodeTypeと、ノードテンプレートNodeTemplateと、関係タイプRelationshipTypeと、関係テンプレートRelationshipTemplateと、境界定義BoundaryDefinitions等を含む。アプリケーションデプロイメント記述ファイルにおけるルート要素とサブ要素との間の関係は、図1Aに示される。図1Aは、本発明の実施形態における、アプリケーションアップグレード方法が基づくアプリケーションデプロイメント記述ファイルによって記述されるサービステンプレートの概略構造図である。
【００３７】
図1Aに示されるように、本発明の実施形態において、TopologyTemplateは、アプリケーショントポロジーを描写するために使用される。アプリケーショントポロジーは、4つのノードa1、a2、a3、およびa4のためのノードテンプレートを含み、すなわち、各ノードテンプレートは、1つのアプリケーションデプロイメントの1つのノードを表す(すなわち、もしアプリケーションが複数回デプロイされる場合、各ノードテンプレートは、このタイプの複数のノードに対応する)。各ノードテンプレートの識別子は、アプリケーショントポロジーに提供される。各NodeTemplateのタイプは、NodeType(NodeTemplateに対応するNodeTypeを記述するNodeTemplateのタイプ属性)によって定義される。NodeTypeは、ノードの属性(Propertiesによって定義される)およびノードのインターフェース(インターフェースセットInterfacesによって定義される)等を定義する。NodeTemplateは、NodeTypeのインスタンスである。
【００３８】
各NodeTypeは、1つのノードタイプ実装(NodeType Implementation、略してNTI)に対応する。NTIは、NodeTypeに対応するノードのデプロイメントアーティファクトについての情報と、NodeTypeにおけるInterfaceに含まれる全方法のメソッドアーティファクトについての情報とを記述する。
【００３９】
アプリケーショントポロジー(TopologyTemplate)の中のノードに結合している各矢印線は、1つのRelationshipTemplateである。関係テンプレートは、アプリケーションノードテンプレートに対応する。
【００４０】
図1Bに示されるように、各アプリケーションデプロイメントパッケージは、プラン(Plan)をさらに含む。図1Bは、本発明の実施形態における図1Aに対応するプランの概略構造図である。プランは、実行可能なワークフローであり、かつ実際には、複数の参照方法を含むワークフローである。ワークフローを実行することは、実際には、ワークフローを形成する各方法に対応するメソッドアーティファクトを実行することである。プランが実行されるとき、アプリケーションデプロイメントサーバは、プランにおける定義に基づいて、順に各タスクに対応する方法に対応するメソッドアーティファクトを実行する。例えば、図1Bを参照すると、プランは、タスクc1、c2、およびc3を含んでいる。プランにおける定義によると、プランが実行されるとき、NodeTypeにおけるInterfaceに対応する方法であるタスクc1、タスクc2、およびタスクc3が、順に実行される。
【００４１】
また、各ServiceTemplateは、(BoundaryDefinitionsによって定義された)境界を含む。ServiceTemplate内で定義された幾つかの構成要素は、BoundaryDefinitionsにおいてユーザに提示される。構成要素は、前述のNodeTemplate、デプロイメントアーティファクト、およびメソッドアーティファクト等である。
【００４２】
前述の記載から理解できるように、1つのアプリケーションデプロイメントパッケージは、例えば、アプリケーションデプロイメント記述ファイル、プラン、ノードのデプロイメントアーティファクト、および各方法のメソッドアーティファクトのような、アプリケーションをデプロイするために必要な情報を含む。アプリケーションデプロイメント記述ファイルは、アプリケーションの完全なトポロジーと、トポロジーの中のノードのデプロイメントアーティファクトについての情報と、トポロジーの中のノードテンプレートにおける方法についての情報と、トポロジーの中のノードテンプレートのメソッドアーティファクトの情報およびステップとを記述している。
【００４３】
特に、ノードテンプレートと、ノードテンプレート間の論理的関係は、トポロジーに記述される。本発明の実施形態において、トポロジーの中のノードテンプレートは、アプリケーションノードテンプレートおよびプラットフォームノードテンプレートを含んでもよい。アプリケーションノードテンプレートは、ユーザ装置によってメンテナンスされかつ使用されるデプロイ予定のアプリケーションのノードを参照し、かつプラットフォームノードテンプレートは、サーバによって動作しかつメンテナンスされるデプロイ予定のアプリケーションのノードを参照する。
【００４４】
図2は、本発明の実施形態における、アプリケーションアップグレード方法の概略フローチャートである。この実施形態における方法は、アプリケーションデプロイメントサーバによって実行される。図2に示されるように、該方法は、以下のステップを含む。
【００４５】
ステップ201.デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信する。デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している。
【００４６】
具体的には、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とが、全てアプリケーション記述ファイルに記述される。第1プラットフォームノードテンプレートの識別子によって示されるプラットフォームノードテンプレートと、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるアプリケーションノードテンプレートとが、デプロイされたアプリケーションの識別子によって示されるアプリケーションデプロイメントパッケージの中の記述ファイルに記述される。
【００４７】
本発明の実施形態において、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子が、Patch Forによって表されてもよい。アップグレード識別子は、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子を参照する。デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子が、関係テンプレートにおいて搬送され、またはデプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【００４８】
なお、1つのデプロイされたアプリケーションは、複数のノードを含み、ノードは、例えば、データベースモジュールおよび管理モジュール等を含む課金アプリケーションのようなモジュールに相当する。アプリケーションが、デプロイされる必要があるとき、ユーザ装置は、デプロイ予定のアプリケーションのデプロイメントパッケージを生成し、かつアプリケーションデプロイメント要求を使用することによって、デプロイ予定のアプリケーションのデプロイメントパッケージをアプリケーションデプロイメントサーバに送信する。アプリケーションデプロイメントパッケージを受信した後、アプリケーションデプロイメントサーバは、アプリケーションデプロイメント記述ファイルと、デプロイメントアーティファクトと、メソッドアーティファクトと、アプリケーションデプロイメントパッケージのプランとに基づいて、アプリケーションデプロイメントを実行する。特に、アプリケーションデプロイメントは、初期デプロイメント、アップデート、またはアップグレード等を含む。本発明の実施形態において、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイされたアプリケーションをアップグレードするためのアップグレードパッケージであるとする。
【００４９】
特に、アプリケーションデプロイメントパッケージが受信される度に、アプリケーションデプロイメントサーバは、データベースに、アプリケーションデプロイメントパッケージの中の全アプリケーション記述情報を記録する。
【００５０】
ステップ202.アップグレード識別子に基づいて、デプロイ予定のアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションのアップグレードパッケージであると決定する。
【００５１】
具体的には、アプリケーションデプロイメントサーバは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートに搬送されるアップグレード識別子に基づいて、または、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装に搬送されるアップグレード識別子に基づいて、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイされたアプリケーションのためのアップグレードパッケージであると決定する。
【００５２】
ステップ203.デプロイされたアプリケーションの識別子に基づいて、第1プラットフォームノードの識別子であり、かつ第1プラットフォームノードテンプレートの識別子に対応する識別子を取得し、かつ第1プラットフォームノードの識別子によって示される第1プラットフォームノードのバージョンを取得する。
【００５３】
具体的には、アプリケーションデプロイメントサーバは、デプロイされた各アプリケーションの各ノードのバージョンまたは能力を記憶する。アプリケーションデプロイメントサーバは、デプロイされたアプリケーションの各プラットフォームノードの記憶されたバージョン情報から、かつデプロイされたアプリケーションの識別子に基づいて、第1プラットフォームノードテンプレートの識別子に対応する第1プラットフォームノードのバージョンを取得する。さらに、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、第1プラットフォームノードの取得されたバージョンとに基づいて、アプリケーションデプロイメントサーバは、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定する。
【００５４】
第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っているとは、第1プラットフォームノードのバージョンのバージョン番号が、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件によって示されるバージョン番号未満であることを意味する。
【００５５】
ステップ204.第1プラットフォームノードのバージョンに基づいて、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定する。
【００５６】
ステップ205.第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得する。
【００５７】
具体的には、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得する。
【００５８】
ステップ206.第1プラットフォームノードアップグレードパッケージを使用することによって、第1プラットフォームノードの識別子により示される第1プラットフォームノードをアップグレードする。
【００５９】
任意に、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイされたアプリケーションノードの識別子を含まなくてもよい。アプリケーションデプロイメントパッケージは、デプロイされたアプリケーションノードの識別子を含まないとき、アプリケーションデプロイメントサーバは、デプロイされたアプリケーションの識別子に基づいて、全ての第1プラットフォームノードの識別子であり、かつ第1プラットフォームノードテンプレートの識別子に対応する識別子を取得してもよく、かつ各第1プラットフォームノードの識別子によって示される第1プラットフォームノードをアップグレードするために第1プラットフォームノードアップグレードパッケージを使用してもよい。
【００６０】
アップグレードプロセスは、従来技術におけるアップグレードプロセスと同一であり、詳細は、本発明において再度説明しない。
【００６１】
ステップ207.アップグレード予定のアプリケーションノードの識別子を決定する。
【００６２】
具体的には、アプリケーションデプロイメントサーバは、全アプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を、アップグレード予定のアプリケーションノードの識別子として決定してもよい。
【００６３】
あるいは、デプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を決定するステップは具体的には、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、デプロイされたアプリケーションのノードテンプレートの識別子に対応し、かつアプリケーションデプロイメントパッケージに含まれる識別子を、アップグレード予定のアプリケーションノードの識別子として決定するステップである。
【００６４】
ステップ208.デプロイ予定のアプリケーションのデプロイメントパッケージを使用することによって、アップグレード予定のアプリケーションノードの識別子により示されるアプリケーションノードをアップグレードする。
【００６５】
任意に、アプリケーションデプロイメントパッケージが、少なくとも1つのアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を含むとき、アプリケーションデプロイメントサーバは、デプロイされたアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするためにデプロイ予定のアプリケーションのデプロイメントパッケージを使用してもよい。
【００６６】
任意に、アップグレード予定のアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするステップは具体的には、全てのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を取得し、かつデプロイ予定のアプリケーションのデプロイメントパッケージを使用することによってデプロイされる各アプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするステップである。
【００６７】
デプロイ予定のアプリケーションのデプロイメントパッケージは、アップグレードパッケージであるので、デプロイ予定のアプリケーションのデプロイメントパッケージのプラン(plan)は、アップグレードプランである。対応するアプリケーションノードは、アップグレードプランに基づいてアップグレードされてもよい。
【００６８】
従って、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。アプリケーションデプロイメントサーバが、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて第1プラットフォームノードアップグレードパッケージを取得する。その後、アプリケーションデプロイメントサーバは、取得された第1プラットフォームノードアップグレードパッケージに基づいて第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【００６９】
ステップ206の前に、デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルが、デプロイされたアプリケーションの識別子に基づいて取得され、デプロイされたアプリケーションのデプロイメントパッケージの取得された記述ファイルに基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることが決定され、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、第2プラットフォームノードのバージョンとが取得され、かつ第2プラットフォームノードのバージョンが、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を下回っていると決定される。第1プラットフォームノードアップグレードパッケージを使用することによって第1プラットフォームノードをアップグレードする前に、方法は、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件に基づいて、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得するステップと、第2プラットフォームノードアップグレードパッケージに基づいて第2プラットフォームノードをアップグレードするステップとをさらに含む。
【００７０】
さらに、第2プラットフォームノードのバージョンを取得するステップは、具体的には、第2プラットフォームノードテンプレートの識別子と、第1プラットフォームノードの識別子とに基づいて第2プラットフォームノードの識別子を取得するステップであって、第2プラットフォームノードの識別子は、第2プラットフォームノードテンプレートの識別子に対応し、かつデプロイメント番号は、第1プラットフォームノードの識別子に対応する番号と同一である。
【００７１】
さらに、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していると決定した後、アプリケーションデプロイメントサーバは、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、第2プラットフォームノードのバージョンとを取得する。
【００７２】
本発明の実施形態は、アプリケーションアップグレード方法を提供する。該方法は、ユーザ装置によって実行されてもよい。図3に示されるように、該方法は以下のステップを含む。
【００７３】
ステップ301.デプロイ予定のアプリケーションのデプロイメントパッケージを生成する。デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している。
【００７４】
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつ、アップグレード識別子は、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートにおいて搬送され、またはデプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。アップグレード識別子は、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子である。
【００７５】
ステップ302.デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を生成する。
【００７６】
ステップ303.アプリケーションデプロイメント要求をアプリケーションデプロイメントサーバに送信する。
【００７７】
前述の解決策から理解できるように、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。従って、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得してもよい。その後、アプリケーションデプロイメントサーバは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。具体的に、デプロイ予定のアプリケーションのデプロイメントパッケージを受信した後、アプリケーションデプロイメントサーバが、図2に記載されたアプリケーションデプロイメントサーバによって実行される動作を実行してもよい。詳細は、本発明の実施形態において再度説明されない。
【００７８】
また、アプリケーションデプロイメントサーバが、デプロイ予定のアプリケーションのデプロイメントパッケージを使用し、デプロイされたアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするために、デプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含んでもよい。
【００７９】
特に、ステップ301の前に、方法は、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションの第1プラットフォームノードテンプレートを決定するステップをさらに含んでもよく、第1プラットフォームノードテンプレートは、デプロイされたアプリケーションのノードテンプレートをソースノードテンプレートとして使用する。
【００８０】
このように、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。アプリケーションデプロイメントサーバが、第1プラットフォームノードのバージョンが第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、アプリケーションデプロイメントサーバは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【００８１】
本発明の実施形態は、アプリケーションアップグレード方法を提供する。アプリケーションアップグレード方法は、TOSCA規格に適用されるとする。図4に示されるように、アプリケーションアップグレード方法は、以下のステップを含む。
【００８２】
ステップ401.アプリケーションデプロイメントサーバは、アプリケーションデプロイメントパッケージに基づいてデプロイメントを実行する。
【００８３】
アプリケーションデプロイメントパッケージに基づいてデプロイメントを実行するプロセスは、従来技術におけるものと同一である。本発明の実施形態において、ユーザ装置によってアプリケーションデプロイメントサーバに提示されるアプリケーションデプロイメントパッケージは、アプリケーションデプロイメントパッケージBであり、かつアプリケーションデプロイメントパッケージBの識別子(すなわち、アプリケーションの識別子)は、appBであるとする。アプリケーションデプロイメントパッケージの中の記述ファイルは、ノードテンプレートappと、ノードテンプレートapacheと、ノードテンプレートjava(登録商標、以下同じ)Moduleと、ノードテンプレートapacheにのためのノードテンプレートappのデプロイメント要件(例えば、バージョン要件)を記述する関係テンプレートと、ノードテンプレートjavaModuleのためのノードテンプレートapacheのデプロイメント要件を記述する関係テンプレートとを記述している。ノードテンプレートappは、アプリケーションデプロイメントパッケージBを使用することによってデプロイされたアプリケーションのノードテンプレートであり、かつユーザ装置がリソースを提供する責任がある。すなわち、アプリケーションデプロイメントパッケージBは、ノードテンプレートappのためのデプロイメントアーティファクトおよびメソッドアーティファクト等を含む。ノードテンプレートapacheおよびノードテンプレートjavaModuleは、プラットフォームノードテンプレートであり、かつCSPサーバが、リソースを提供する責任があり、かつ提供されたリソースが、アプリケーションデプロイメントパッケージの中の全てのデプロイメント要件を満たすことを保証する。アプリケーションデプロイメントサーバが、アプリケーションデプロイメントパッケージBに基づいて、アプリケーションを正常にデプロイしかつ実行するとすると、表1に示されるように、前述の2つの関係テンプレートにおけるコンテンツを、データベースの中にあって、かつアプリケーションデプロイメントサーバによってメンテナンスされるアプリケーション情報テーブルに書き込む。本発明の実施形態において、正常にデプロイされ、かつ実行されるアプリケーションappBは、デプロイされたアプリケーションと呼ぶ。
【００８４】
【表１】
2016521897.tif 000003
【００８５】
ステップ402.ユーザ装置は、デプロイ予定のアプリケーションのデプロイメントパッケージを生成する。デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイされたアプリケーション(appB)のためのアップグレードパッケージである。
【００８６】
デプロイされたアプリケーションのためのアップグレードパッケージ(すなわち、デプロイ予定のアプリケーションのデプロイメントパッケージ)が、アプリケーションデプロイメントパッケージAであるとする。アプリケーションデプロイメントパッケージAは、アプリケーションノードテンプレートapp(すなわち、デプロイされたアプリケーションのノードテンプレートの識別子)に対応するアプリケーションノードをアップグレードするために使用されうる。具体的には、アプリケーションデプロイメントパッケージappAを受信した後、アプリケーションデプロイメントサーバは、appAに基づいてアプリケーションをデプロイし、かつ例えばappAにおけるノードテンプレートのためのアプリケーションノードおよびプラットフォームノードのようなノードを生成し、その結果、ノードテンプレートは、正常にデプロイされ、かつ実行されるノードに対応する。
【００８７】
アプリケーションデプロイメントパッケージAの記述ファイルは、デプロイ予定のアプリケーションのノードテンプレートappPatchを記述しており、かつデプロイ予定のアプリケーションのノードテンプレートappPatchを記述する関係テンプレートにおけるデプロイされたアプリケーションのノードテンプレートappのアップグレード識別子を記述している。さらに、アップグレード識別子は、デプロイ予定のアプリケーションのノードテンプレートappPatchに対応するNTIに記述されてもよい。
【００８８】
また、アプリケーションデプロイメントパッケージAを生成する前に、ユーザ装置は、appBの記述ファイルに基づいて、アプリケーションノードテンプレートappがソースノードテンプレートとして使用され、かつプラットフォームノードテンプレートがデプロイ予定のアプリケーションノードのノードテンプレートappを記述する関係テンプレートにおける宛先プラットフォームノードテンプレートとして使用されることをさらに決定する必要がある。例えば、appBの記述ファイルにおける関係テンプレートに記述されたコンテンツを分析することによって、アプリケーションノードテンプレートappが、ソースノードテンプレートとして使用され、かつプラットフォームノードテンプレートapacheが、宛先ノードテンプレートとして使用されると理解される。従って、ユーザ装置は、アプリケーションデプロイメントパッケージAの記述ファイルにおいて、デプロイされたアプリケーションのプラットフォームノードテンプレートapacheのためのデプロイ予定のアプリケーションのノードテンプレートappPatchのバージョン要件を記述している。具体的には、バージョン要件のコンテンツは、アプリケーションノードのアップグレードのコンテンツに基づいて、ユーザ装置によって決定される。例えば、プラットフォームノードテンプレートapacheが、Servlet 3.0をサポートする必要があり、かつ従って、プラットフォームノードapacheは、Tomcat 7.0にアップグレードされる必要がある。バージョン要件は、アプリケーションノードテンプレートappに対応するアプリケーションノードがappAを使用してアップグレードされた後、アプリケーションノードテンプレートappに対応するアップグレードされたアプリケーションノードが、プラットフォームノードテンプレートapacheに対応するプラットフォームノードがServlet 3.0をサポートする(すなわち、プラットフォームノードがTomcat 7.0にアップグレードされる必要がある)ときにのみ、正常に動作できることを示す。
【００８９】
具体的には、ユーザ装置によって、appBの記述ファイルを取得する方法は、ユーザ装置によって記憶されたファイルからappBの記述ファイルを取得するステップ、または要求をアプリケーションデプロイメントサーバに送信することによってappBの記述ファイルを取得するステップであってもよい。
【００９０】
アプリケーションデプロイメントパッケージAは、アプリケーションノードテンプレートappPatchのデプロイメントアーティファクトおよびメソッドアーティファクトをさらに提供し、メソッドアーティファクトはpatchAppである。本発明の実施形態において、説明を容易にするために、デプロイされたアプリケーションのプラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートappPatchのバージョン要件におけるプラットフォームノードテンプレートは、第1プラットフォームノードテンプレートと呼ばれ、かつ別のプラットフォームノードテンプレートのための第1プラットフォームノードテンプレートのバージョン要件における別のプラットフォームノードテンプレートは、第2プラットフォームノードテンプレートと呼ぶ。具体的には、バージョン要件は、バージョン要件であってよく、かつバージョン要件は、バージョンが提供する特定のバージョン番号または能力であってよい。
【００９１】
アプリケーションデプロイメントパッケージAのアプリケーション識別子は、appAであり、かつアプリケーションノードテンプレートの識別子は、appPatchである。図5は、アプリケーションデプロイメントパッケージAの記述と、アプリケーションデプロイメントパッケージBの記述とに基づいて、アプリケーションデプロイメントサーバによって、本発明の実施形態におけるアプリケーションノードappのアップグレードを決定する概略図である。図5に示されるように、アプリケーションデプロイメントパッケージAの記述ファイルにより、アプリケーションデプロイメントパッケージAに記述されたアプリケーションノードテンプレートappPatchは、デプロイされたアプリケーションのデプロイメントパッケージBに記述されたアプリケーションノードテンプレートappのためのアップグレードノードであると理解されてもよい。例えば、PatchForフィールドは、2つのノードテンプレート間の関係の識別子(例えばアップグレード識別子など)を記述するために使用される。当然ながら、アップグレード識別子は、別のフィールドを使用することによって記述されてもよく、本発明の実施形態において限定されない。さらに、アプリケーションデプロイメントパッケージAは、デプロイされたアプリケーションのデプロイメントパッケージBに記述されたプラットフォームノードテンプレートapacheのためのアプリケーションノードテンプレートappPatchのバージョン要件をさらに記述し、バージョン要件は、RequirementForApache(Apacheは、プラットフォームノードテンプレートである)の形式で表現される。PatchForAppは、アプリケーションデプロイメントパッケージAにおけるappPatchノードテンプレートは、appアプリケーションノードテンプレートのアップグレードのために使用されることを示す。RequirementForApacheは、プラットフォームノードテンプレートapacheのためのアプリケーションノードテンプレートappPatchのバージョン要件を記述している。アプリケーションデプロイメントパッケージBは、デプロイされたアプリケーションのデプロイメントパッケージであり、かつappAは、アプリケーションノードテンプレートappのアップグレードのためである。従って、appAにおいて、アプリケーションデプロイメントパッケージBのアプリケーション記述ファイルappB.toscaに記述された幾つかの要素が、呼び出される必要がある。appBの記述ファイルは、appAの記述ファイルにインポートされる必要がある。例えば、appB.toscaファイルのURL(UniformResourceLocator,)は、場所属性を使用することによって提供されてもよい。特定の呼出しプログラムは、以下の通りである。
【００９２】
<Import namespace="appB:http://www.example.com/ste/Topology"
location=http://www.example.com/ste/appB.tosca
importType=" http://docs.oasis-open.org/tosca/ns/2011/12"/>
【００９３】
例えば、appA.toscaのTopologyTemplate要素において、図5に示されるアプリケーショントポロジー構造の記述が提供され、かつ具体的には、以下の通りであってもよい。
【００９４】
<TopologyTemplate>
<NodeTemplate identifier="appPatch" type="apppatchtype">
<Requirements>
<Requirement name=" requirementOfApp" //appPatchのバージョン要件が提供される。
type=" webAppContainerRequirement"/>
</Requirements>
<DeploymentArtifacts> 
<DeploymentArtifact name="DaOfAppPatch" artifactType="Patch">
//デプロイメントアーティファクトタイプは、Patchである。
……//デプロイメントアーティファクトの具体的な記述
</DeploymentArtifact>
</ DeploymentArtifacts >
</NodeTemplate>
<RelationshipTemplate identifier="PatchForApp" type="PatchFor"> //論理的関係は、PatchForである。
<SourceElement ref="appPatch"/> //論理的関係におけるソースはappPatchである。
<TargetElement externalref="appB:app"/> //論理的関係におけるターゲットは、appである。
</RelationshipTemplate>
<RelationshipTemplate identifier="RequirementForApache" > //要件関係
<SourceElement ref="requirementOfAppPatch"/> //要件関係におけるソースappPatchのバージョン要件
<TargetElement externalref="appB:capabilityOfApache"/> //要件関係におけるターゲットapacheのデプロイメント能力
</RelationshipTemplate>
……//別の定義
<Plans>
<Plan identifier="upgrade" planType="http://www.example.com/UpgradePlan" >//Upgrade plan
……//別の管理プラン
</Plan>
</TopologyTemplate>
【００９５】
具体的には、アプリケーションデプロイメントパッケージAは、トポロジーテンプレートTopologyTemplateにおいて、アプリケーションノードテンプレートappPatchを定義するために、ノードテンプレートNodeTemplate要素を使用し、ノードテンプレート要素におけるバージョン要件requirementOfAppおよびデプロイメントアーティファクトDaOfAppPatchを特定する。関係テンプレートにおけるPatchForAppは、例えばPatchForのような関係のアップグレード識別子が、アプリケーションデプロイメントパッケージBにおけるappPatchアプリケーションノードテンプレートおよびappアプリケーションノードテンプレートに存在することを特定するために使用される。アップグレード識別子PatchForAppにおいて、SourceElementは、ソースアプリケーションノードテンプレートの識別子appPatch(デプロイ予定のアプリケーションのノードテンプレートの識別子)を特定するために使用され、かつTargetElementは、識別子appB、すなわち、ターゲットアプリケーションノードテンプレートのapp(デプロイされたアプリケーションのノードテンプレートの識別子)を特定するために使用される。TargetElementの記述において、属性"externalref"は、アプリケーションノードテンプレートappが、外部アプリケーション記述ファイルにおいて定義されることを特定し、かつプレフィックス"appB"および"Import"要素は、外部アプリケーション記述ファイルが、appB.toscaであることを特定するために使用される。また、関係テンプレートRelationshipTemplateのRequirementForApacheは、アプリケーションデプロイメントパッケージBにおけるApacheのためのappPatchアプリケーションノードテンプレートのバージョン要件を定義している。要件関係RequirementForApacheにおいて、SourceElementは、ソースバージョン要件requirementOfAppPatchを定義するために使用され、かつTargetElementは、ターゲットデプロイメント能力appB、すなわちcapabili
tyOfApacheを定義するために使用される。TargetElementの記述において、属性"externalref"は、デプロイメント能力capabilityOfApacheが、外部アプリケーション記述ファイルに定義されることを特定し、かつプレフィックス"appB"および"Import"要素は、外部アプリケーション記述ファイルが、appB.toscaであることを特定するために使用される。トポロジーにおいて、アップグレードプランupgradeもまた定義され、かつアップグレードプランのタイプは、http://www.example.com/UpgradePlanである。
【００９６】
アプリケーションノードテンプレートappPatchのノードタイプNodeTypeは、以下のように記述される。
【００９７】
<NodeType name="apppatchtype">
<Interfaces>
<Interface name="patchAppInterface">
<OperationName="patchApp"/> //メソッドpatchAppを定義する。
</Interface>
</Interfaces>
<RequirementDefinitions> //ノードappPatchのバージョン要件の定義
<RequirementDefinition name="requirementOfAppPatch"
requirementType="webAppContainerRequirement">
<Constraints>
<Constraint constraintType= "http://www.example.com/
PropertyConstraints/supportServlet3"/>
</Constraints>
</RequirementDefinition>
</RequirementDefinitions>
</NodeType>
【００９８】
このNodeTypeにおいて、アプリケーションノードテンプレートappPatchのメソッドアーティファクトpatchAppの定義と、バージョン要件requirementOfAppPatchの定義が提供される。メソッドアーティファクトpatchAppは、アプリケーションデプロイメントサーバがアップグレードプランを実装するときに呼び出される。バージョン要件requirementOfAppPatchにおける制約Constraintフィールドについて、Constraintフィールドの属性制約タイプconstraintTypeの値は、http://www.example.com/PropertyConstraints/supportServlet3であり、アプリケーションデプロイメントサーバが、前述の値に基づいてデータベースを探索する必要があることを示しており、どのソフトウェアバージョンが、supportServlet3の能力を含むかを見出す。
【００９９】
なお、アプリケーションデプロイメントパッケージAの記述ファイルは、例えばデプロイされたアプリケーションノードのapp1のような識別子をさらに含んでもよい。デプロイされたアプリケーションノードの識別子は、アップグレードされる必要があるアプリケーションノードの識別子である。例えば、アップグレード予定のアプリケーションノードテンプレートのappのような識別子は、前述のapptchForのようなアップグレード識別子によって特定されてもよい。もし、アプリケーションデプロイメントパッケージAの記述ファイルが、デプロイされたアプリケーションノードの識別子を独立して示さず、かつデプロイされたアプリケーションのノードテンプレートのappのような識別子のみがアップグレード識別子に示される場合、次いで、アプリケーションアップグレードを実行するとき、アプリケーションデプロイメントサーバが、デプロイされたアプリケーションのノードテンプレートの識別子appに対応する全アプリケーションノードをアップグレードする。例えば、もし、appBがまず南京にデプロイされ、かつ次いで、上海にデプロイされる場合、デプロイされたアプリケーションのノードテンプレートの識別子に対応するアプリケーションノードは、南京におけるアプリケーションノードapp1および上海におけるアプリケーションノードapp2である。数は、アプリケーションがデプロイされる度に生成される。例えば、appBが南京にデプロイされるとき、appBが初めてデプロイされるときにapp1が生成されることを示す数1が生成され、appBが上海にデプロイされるとき、appBが二度目にデプロイされるときにapp2が生成されることを示す数2が生成される。その数は、ノードが同一のデプロイメントに生成されることを決定するために使用されてもよい。デプロイ予定のアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションノードの識別子を含むとき、デプロイメントパッケージappAにおけるプランは、以下の通りであってもよい。
【０１００】
<Plan identifier="upgrade" planType="http://www.example.com/UpgradePlan" >
<InputParameters>
<InputParameter name="appInstance identifier" type="string">app1</InputParameter >
<InputParameter name="stopPlan identifier" type="string">stop</ InputParameter >
<InputParameter name="startPlan identifier" type="string" >start</ InputParameter >
</InputParameters>
<PlanModel>
invokePlan(appInstance identifier, stopplan identifier);
patchApp(appInstance identifier);
invokePlan(appInstance identifier, startPlan identifier);
</PlanModel>
</Plan>
【０１０１】
本明細書において、入力パラメータが最初に定義される。入力パラメータ"appInstance identifier"は、デプロイされたアプリケーションノードの識別子がapp1であることを特定する。インターフェースinvokePlanは、ユーザ装置に対してアプリケーションデプロイメントサーバによって提供されるAPIである。ユーザ装置は、アプリケーションデプロイメントパッケージAにおいて定義された管理プランにアクセスするためにAPIを呼び出してもよい。APIは、2つのパラメータを有し、第1パラメータは、デプロイされたアプリケーションノードの識別子であり、かつ第2パラメータは、呼び出される必要があるプランの識別子である。プランの各ステップは、プランモデルPlanModel要素において提供される。
【０１０２】
アプリケーションデプロイメントパッケージAが、デプロイされたアプリケーションノードの識別子を特定しないとき、アップグレードプランは、以下の通りである。
<Plan identifier="upgrade" planType="http://www.example.com/UpgradePlan" >
<InputParameters>
<InputParameter name="stopPlan identifier" type="string">stop</ InputParameter >
<InputParameter name="startPlan identifier" type="string" >start</ InputParameter >
</InputParameters>
<PlanModel>
appB: stopplan//Defined in appB.tosca
patchApp;
appB: startplan//Defined in appB.tosca
</PlanModel>
</Plan>
【０１０３】
デプロイされたアプリケーションノードの識別子は、本明細書において特定されない。従って、アプリケーションデプロイメントサーバは、デプロイされたアプリケーションのノードテンプレートの識別子appを取得し、アプリケーション識別子appBに基づいて、全てのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子appに対応する識別子(例えばapp1およびapp2)を見出し、かつデプロイされたアプリケーションのノードテンプレートの識別子appに対応する全てのデプロイされたアプリケーションノードをアップグレードする。ユーザ装置は、appB.toscaに定義されたプランを呼び出すための"appB: plan"を直接的に実行し、アップグレードを生成する。
【０１０４】
前述のプログラムは、アプリケーションデプロイメントサーバに、デプロイされたアプリケーションの識別子が"appB"であり、かつデプロイされたアプリケーションのノードテンプレートの識別子"app"に対応するアプリケーションノードがアップグレードされる必要があることを学習させてもよい。
【０１０５】
ステップ403.ユーザ装置は、アプリケーションデプロイメントパッケージAを含むアプリケーションデプロイメント要求を生成する。
【０１０６】
ステップ404.アプリケーションデプロイメントサーバは、アプリケーションデプロイメント要求を受信する。
【０１０７】
ステップ405.アプリケーションデプロイメントサーバは、デプロイメントパッケージが、デプロイされたアプリケーション(appB)のためのアップグレードパッケージであることを決定する。
【０１０８】
具体的には、デプロイ予定のアプリケーションのデプロイメントパッケージの記述ファイルは、デプロイ予定のアプリケーションのノードテンプレートと、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートがデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述してもよい。
【０１０９】
アプリケーションデプロイメントサーバは、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子に基づいて、デプロイメントパッケージが、デプロイされたアプリケーションのためのアップグレードパッケージであることを決定する。
【０１１０】
例えば、アプリケーションデプロイメントサーバは、アプリケーションデプロイメントパッケージAのデプロイメント記述ファイルappA.toscaを確認し、かつ記述ファイルappA.toscaが、アップグレード識別子"PatchFor"および/またはソースアプリケーションノードテンプレートappPatch(すなわち、デプロイ予定のアプリケーションのノードテンプレート)のデプロイメントアーティファクトタイプ"Patch"を含んでいることを見出す。アプリケーションデプロイメントサーバは、PatchForの関係タイプを識別してもよく、またはデプロイメントアーティファクトタイプが"Patch"であることを識別してもよく、かつ従って、アプリケーションデプロイメントパッケージAがアップグレードパッケージであると決定してもよい。また、アプリケーションデプロイメントサーバはさらに、アップグレードプランupgradeを確認し、アップグレードプランのタイプが、http://www.example.com/UpgradePlanであることを見出し、そのプランがアップグレードのために使用されるプランであることを決定し、かつ従って、アプリケーションデプロイメントパッケージAがアップグレードパッケージであることを決定してもよい。
【０１１１】
ステップ406.アプリケーションデプロイメントサーバは、デプロイ予定のアプリケーションのデプロイメントパッケージに基づいて、デプロイされたアプリケーションノードをアップグレードする。
【０１１２】
図6に示されるように、アプリケーションデプロイメントサーバによって、デプロイされたアプリケーションノードをアップグレードする特定のステップは以下の通りである。
【０１１３】
ステップ4061.第1プラットフォームノードの識別子を取得する。ステップ4062を実行する。
【０１１４】
デプロイ予定のアプリケーションのデプロイメントパッケージAを受信した後、記述ファイルのURLであり、かつアプリケーションデプロイメントパッケージAの記述ファイルの中の"Import"要素に含まれるURLに基づいて、アプリケーションデプロイメントサーバは、アプリケーションデプロイメントサーバによって記憶されたデプロイメントパッケージ情報テーブルから、記述ファイルの場所File://ste/appB.toscaを見出す。次いで、アプリケーションデプロイメントサーバは、記述ファイルの場所File://ste/appB.toscaに基づいて、アプリケーションデプロイメントパッケージBの記述ファイルを取得する。デプロイメントパッケージ情報テーブルは、表2に示される。
【０１１５】
【表２】
2016521897.tif 000004
【０１１６】
図7に示されるように、appB.toscaのトポロジー記述において、デプロイされたアプリケーションのノードテンプレートappと、プラットフォームノードテンプレートapacheおよびjavaModuleと、これらのノードテンプレート間の関係とが、定義される。トポロジー記述における主要情報の定義を以下に提供する。
【０１１７】
<TopologyTemplate>
<NodeTemplate identifier="app" type="apptype" >
<Requirement name=" requirementOfApp"
type=" webAppContainerRequirement"/>
// appのバージョン要件が提供される。
</NodeTemplate>
<NodeTemplate identifier="apache" type="appcontainertype">
<Capability name="capabilityOfApache"
type="webAppContainerCapability"/>
//apacheのデプロイメント能力が提供される。
<Requirement name=" requirementOfApache"
type=" JMRequirement"/>//apacheのバージョン要件が提供される。
<DeploymentArtifacts>  //apacheのデプロイメントアーティファクト情報が提供される。
<DeploymentArtifact name="DaOfApache"
artifactType="appContainer">
……//デプロイメントアーティファクトの具体的な記述が提供される。
</DeploymentArtifact>
</ DeploymentArtifacts >
</NodeTemplate>
<NodeTemplate identifier="javaModule" type="javamoduletype">
//javaModuleのデプロイメント能力が提供される。
<Capability name="capabilityOfJM" type="JMCapability"/>
</NodeTemplate>
<RelationshipTemplate identifier="RequirementForApache" > //要件関係
<SourceElement ref="requirementOfApp"/> //要件関係におけるソースappのバージョン要件
<TargetElement ref="capabilityOfApache"/> //要件関係におけるターゲットapacheのデプロイメント能力
</RelationshipTemplate>
<RelationshipTemplate identifier="RequirementForJM" > //要件関係
<SourceElement ref="requirementOfApache"/> //要件関係におけるソースapacheのバージョン要件
<TargetElement ref="capabilityOfJM"/> //要件関係におけるターゲットjavaModuleのデプロイメント能力
</RelationshipTemplate>
……//別の定義
<Plans>
<Plan identifier="start" planType="http://www.example.com/StartPlan"/> //管理プラン開始が定義される。
<Plan identifier="stop" planType="http://www.example.com/StopPlan"/> //管理プラン停止が定義される。
……//別の管理プラン
</Plans>
</TopologyTemplate>
【０１１８】
プラットフォームノードテンプレートapacheの定義は、デプロイメント能力capabilityOfApacheを記述している。デプロイメント能力の定義は、apacheのNodeTypeの能力定義CapabilityDefinition要素に含まれる。プラットフォームノードテンプレートapacheにおいて、デプロイメントアーティファクトDaOfApacheの記述もまた提供される。プラットフォームノードテンプレートjavaModuleの定義は、デプロイメント能力capabilityOfJMを記述している。デプロイメント能力の定義は、javaModuleのNodeTypeのCapabilityDefinitionに含まれる。トポロジー記述には、開始および停止管理プランもまた記述される。この実施形態において、デプロイメント能力は、例えば、バージョンが提供する能力、またはサポートされるバージョンのような、プラットフォームノードテンプレートのバージョン要件である。
【０１１９】
例えば、プラットフォームノードテンプレートapacheのNodeTypeは、以下のように記述される。
【０１２０】
<NodeType name="appcontainertype">
<CapabilityDefinitions> // apacheノードのデプロイメント能力の定義
<CapabilityDefinition name="capabilityOfApache"
capabilityType="webAppContainerCapability">
<Constraints>
<Constraint constraintType= "http://www.example.com/
PropertyConstraints/supportServlet2"/>
</Constraints>
</CapabilityDefinition>
</CapabilityDefinitions>
</NodeType>
【０１２１】
デプロイメント能力capabilityOfApacheの定義は、apacheのNodeTypeに提供される。制約Constraintは、その定義において提供され、かつConstraintの属性値constraintTypeは、"supportServlet 2.0"の能力を示す。
【０１２２】
アプリケーションデプロイメントサーバは、まず、アプリケーションデプロイメントパッケージappAが、デプロイされたアプリケーションノードの識別子"app1"を含んでいるか否かを判定してもよい。デプロイされたアプリケーションノードの識別子"app1"は、アップグレードされる必要があるアプリケーションノードを示すために使用される。もしデプロイされたアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションノードの識別子を含んでいる場合、アプリケーションデプロイメントサーバは、データベースから、デプロイされたアプリケーションノードの識別子によって示されるデプロイされたアプリケーションノードを取得し、デプロイ予定のアプリケーションのデプロイメントパッケージに基づいて、デプロイされたアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードする。例えば、アプリケーションデプロイメント要求におけるプランが、デプロイされたアプリケーションノードの識別子が"app1"であることを記述しているとすると、アプリケーションデプロイメントサーバは、デプロイされたアプリケーションノードの識別子app1のためのアプリケーションデプロイメントサーバによって記憶されたデプロイメントアプリケーション情報テーブルを探索する。
【０１２３】
もし、デプロイ予定のアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションノードの識別子"app1"を含まない場合、アプリケーションデプロイメントサーバは、デプロイされたアプリケーションのノードテンプレートの識別子に基づいて、全てのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を取得し、かつ各デプロイされたアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするために、デプロイ予定のアプリケーションのデプロイメントパッケージを使用する。さらに、各アプリケーションノードをアップグレードする前に、アプリケーションデプロイメントサーバは、バージョンが第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っている第1プラットフォームノードの識別子を決定し、かつ第1プラットフォームノードの識別子によって示される第1プラットフォームノードをアップグレードするために、第1プラットフォームノードアップグレードパッケージを使用する。
【０１２４】
なお、同一のアプリケーションが、複数回デプロイされてもよく、かつ従って、1つのアプリケーションノードテンプレートの識別子が複数のアプリケーションノードの識別子に対応してもよい。デプロイ予定のアプリケーションのデプロイメントパッケージが、アプリケーションノードの識別子を特定しないとき、アプリケーションデプロイメントサーバは、アプリケーションデプロイメント要求におけるデプロイされたアプリケーションのノードテンプレートの識別子に対応する全アプリケーションノードをアップグレードすることを決定する。アプリケーションデプロイメントサーバが、デプロイされたアプリケーションのノードテンプレートの識別子に基づいて、アップグレード予定のアプリケーションノードの識別子を決定することは、具体的には、全アプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を、アップグレード予定のアプリケーションノードの識別子として決定することである。従って、全アプリケーションノードの識別子は、取得される必要がある。例えば、デプロイされたアプリケーションのノードテンプレートの識別子がappであるとすると、アプリケーションデプロイメントサーバは、全アプリケーションノードの識別子であり、かつアプリケーションノードテンプレートappに対応する識別子を求めて、appに基づいて、デプロイメントアプリケーション情報テーブルを探索し、かつアプリケーションノードの識別子が{app1, app2}であることを取得してもよい。アプリケーションデプロイメントサーバは、アプリケーションノードapp1およびapp2のそれぞれをアップグレードする。また、アプリケーションデプロイメント要求は、デプロイされたアプリケーションの識別子(1つの任意の方法では、デプロイされたアプリケーションの識別子は、デプロイされたアプリケーションのデプロイメントパッケージの識別子、またはアプリケーション記述ファイルのURL、またはアプリケーション記述ファイルの場所であってもよい)をさらに含んでもよい。アプリケーションデプロイメントサーバが、全アプリケーションノードの識別子であり、かつアプリケーションノードテンプレートappに対応する識別子を求めて、アプリケーションノードテンプレートの識別子appに基づいて、デプロイメントアプリケーション情報テーブルを探索することは、具体的には、アプリケーションデプロイメントサーバが、デプロイされたアプリケーションの識別子であり、かつアプリケーションノードテンプレートappに対応する全アプリケーションノードの識別子を求めて、デプロイされたアプリケーションのデプロイメントパッケージの識別子、またはアプリケーション記述ファイルのURL、またはアプリケーション記述ファイルの場所に基づいて、記憶されたデプロイメントアプリケーション情報テーブルを探索し、かつアプリケーションノードの識別子が{app1, app2}であることを取得することである。各アプリケーションノードはアップグレードされる。
【０１２５】
デプロイメントアプリケーション情報テーブルは、表3に示される。デプロイメントアプリケーション情報テーブルは、ノードの識別子と、デプロイされたアプリケーションの識別子と、ノードテンプレートの識別子との間のマッピング関係を記録する。デプロイメント番号は、アプリケーションデプロイメントを示すために使用される。同一のデプロイメント番号を有するノードが、同一のデプロイメントにおけるアプリケーションに対して生成される。ノードの識別子は、アプリケーションノードの識別子と、プラットフォームノードの識別子とを含む。
【０１２６】
【表３】
2016521897.tif 000005
【０１２７】
ステップ4062.第1プラットフォームノードのバージョンが、デプロイ予定のアプリケーションのデプロイメントパッケージに記述されており、かつ第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件であるバージョン要件を満たすか否かを決定する。もし、満たさない場合、ステップ4063を実行し、満たす場合、ステップ4068を実行する。
【０１２８】
まず、アプリケーションデプロイメントサーバは、アップグレード予定のアプリケーションノードの識別子app1およびデプロイメント番号1に基づくデータベースから、かつ第1プラットフォームノードテンプレートの識別子に基づいて、同一のデプロイメント番号1を有する第1プラットフォームノードの識別子Apache1を取得し、かつ第1プラットフォームノードの識別子Apache1に基づいて、第1プラットフォームノードのバージョンを取得する。具体的には、アプリケーションデプロイメントサーバは、第1プラットフォームノードの識別子Apache1に基づいてデータベースを探索し、かつ第1プラットフォームノードApache1のデプロイメント能力を取得する。この実施形態では、表4に示されるように、第1プラットフォームノードApache1の現在のデプロイメントアーティファクトは、Servlet 2.0のみをサポートすることができるTomcat 6.0であるとする。従って、第1プラットフォームノードのバージョン Apache1は、Tomcat 6.0である。
【０１２９】
デプロイされたアプリケーションノードの識別子はapp1であるとする。app1と同一のデプロイメント番号を有する第1プラットフォームノードの識別子Apache1は、第1プラットフォームノードテンプレートの識別子に基づいて表3から取得される。CSPによって記憶されるアプリケーション実装情報テーブルから、Apache1のcapabilityOfApacheは、"supportServlet 2.0"のデプロイメント能力のみを提供できることが取得される。すなわち、第1プラットフォームノードの識別子Apache1によって示されるプラットフォームノードによってサポートされるバージョンが、Tomcat 6.0であることが取得される。アプリケーション実装情報テーブルは、表4に示される。
【０１３０】
【表４】
2016521897.tif 000006
【０１３１】
従って、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートの識別子に基づいて第1プラットフォームノードのバージョンを取得し、かつ第1プラットフォームノードのバージョンが第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たすことができないと決定する。例えば、アプリケーションデプロイメントサーバは、表3における第1プラットフォームノードテンプレートの識別子に基づいて、第1プラットフォームノードApache1およびApache2を取得し、かつ第1プラットフォームノードのバージョンApache1は、supportServlet2またはTomcat 6.0のみであり、かつ第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件、すなわちServlet3.0またはTomcat 6.0をサポートすることを満たすことができないとを決定する。従って、ステップ4063が実行される。
【０１３２】
アプリケーションデプロイメント要求が、例えばapp2のようなデプロイされたアプリケーションノードの識別子を含むとすると、アプリケーションデプロイメントサーバは、app2と同一のデプロイメント番号を有する第1プラットフォームノードのバージョンApache2をさらに決定する必要がある。具体的には、アプリケーションデプロイメントサーバが第1プラットフォームノードテンプレートの識別子に基づいて第1プラットフォームノードのバージョンを取得することは、アプリケーションノードの識別子によって示されるアプリケーションノードのデプロイメント番号を取得し、かつ第1プラットフォームノードテンプレートの識別子に基づいて、アプリケーションノードと同一のデプロイメント番号を有する第1プラットフォームノードの識別子を取得することである。すなわち、第1プラットフォームノードの取得された識別子に対応するデプロイメント番号は、アプリケーションノードの識別子に対応するデプロイメント番号と同一である。第1プラットフォームノードの取得された識別子Apache2に基づいて、第1プラットフォームノードのバージョンApache2がServlet3.0であると決定される。従って、第1プラットフォームノードの能力が、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たすと決定される。
【０１３３】
ステップ4063.第1プラットフォームノードアップグレードパッケージを取得する。
【０１３４】
具体的に、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージが取得される。例えば、初めに、第1プラットフォームノードのバージョンが、第1プラットフォームノードの識別子に基づいて取得され(例えば、アプリケーションデプロイメントサーバが、プラットフォームノードのデプロイメントアーティファクト名からプラットフォームノードのバージョンを取得してもよい)、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たすバージョンが決定され、かつ次いで、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす決定されたバージョンに対応するアップグレードパッケージが取得される。
【０１３５】
例えば、アプリケーションデプロイメントサーバは、表4に基づくApache1のデプロイメントアーティファクト名から、Apache1のバージョンがTomcat 6.0であることを取得し、一方で、デプロイメントアーティファクト情報テーブル(例えば表5)によると、Apache1のバージョンより後であり、かつApachelのためのデプロイ予定のアプリケーションノードの要件を満たすことができるバージョンは、Tomcat 7.0である。次いで、アプリケーションデプロイメントサーバは、表5から、決定されたバージョンTomcat 7.0に基づいて、Tomcat 6.0からTomcat 7.0にApache1をアップグレードするために使用されうるアップグレードパッケージの場所が、File://appcontainer/apache/update/appEであることを取得し、かつその場所からアップグレードパッケージappEを取得する。
【０１３６】
【表５】
2016521897.tif 000007
【０１３７】
1つの任意の方法では、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件は、例えば、supportServlet3のようなバージョンサポート能力であってもよい。詳細は、本発明の実施形態において再度説明されない。
【０１３８】
ステップ4064.第2プラットフォームノードのバージョンが、第2プラットフォームノードテンプレートのための第1プラットフォームノードテンプレートのバージョン要件を下回っていると決定する。そうでない場合、直接的にステップ4067を実行する。
【０１３９】
ステップ4064を実行するステップの前に、記憶されたアプリケーションデプロイメントサーバは、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する宛先ノードテンプレート(すなわち、第2プラットフォームノードテンプレート)を記述していることを決定する。さらに、アプリケーションデプロイメントサーバは、記述ファイルの関係テンプレートに基づいて、第1プラットフォームノードテンプレートを関係テンプレートにおけるソースノードテンプレートとして使用する宛先ノードテンプレートを決定する。本発明の実施形態において、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する宛先ノードテンプレートは、第2プラットフォームノードと呼ばれる。
【０１４０】
図5は、さらに実施例として使用される。方向を示す矢印が、apacheノードテンプレートとjavaModuleノードテンプレートの間に存在している。次いで、関係テンプレートにおいて、apacheノードテンプレートが、ソースノードテンプレートとして使用され、かつjavaModuleが、宛先ノードテンプレートとして使用される。従って、javaModuleノードテンプレートが、第2プラットフォームノードテンプレートとして使用される。アプリケーションデプロイメントサーバは、ソースノードテンプレートおよび宛先ノードテンプレートのためのバージョン要件マッチングテーブル(例えば表6)に基づいて、第1プラットフォームノードApacheが、Tomcat 7.0にアップグレードされる予定であることを決定する。第2プラットフォームノードテンプレートjavaModuleに対応するノードは、JDK 1.6をサポートする必要があるが、JavaModuleの現在のバージョンは、JDK1.5である。従って、第2プラットフォームノードのバージョンJDK1.5は、第2プラットフォームノードのためのアップグレードされる第1プラットフォームノードのバージョン要件(JDK 1.6)を下回っている。
【０１４１】
【表６】
2016521897.tif 000008
【０１４２】
ステップ4065.第2プラットフォームノードアップグレードパッケージを取得する。ステップ4066を実行する。
【０１４３】
具体的には、第2プラットフォームノードアップグレードパッケージは、第2プラットフォームノードのための第1プラットフォームノードのバージョン要件に基づいて取得される。
【０１４４】
もし、アップグレードパッケージDが、アプリケーションデプロイメントサーバ上でメンテナンスされ、かつアップグレードパッケージが、ノードテンプレートjavaModuleに対応するプラットフォームノードをJDK1.6にアップグレードするために使用されうる場合、次いで、第2プラットフォームノードアップグレードパッケージは、アップグレードパッケージDである。
【０１４５】
ステップ4066.第2プラットフォームノードアップグレードパッケージに基づいて第2プラットフォームノードをアップグレードする。ステップ4067を実行する。
【０１４６】
なお、ステップ4066の前に、アプリケーションデプロイメントサーバは、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第2プラットフォームノードテンプレートをソースノードテンプレートとして使用する宛先ノードテンプレート(すなわち、第3ノードテンプレート)を記述しているか否かを決定し続けるためにさらに必要であり、かつアップグレード後の任意のノードのバージョン要件が満たされるまで、ステップ4064および4065を繰り返し実行する。
【０１４７】
ステップ4067.第1プラットフォームノードアップグレードパッケージに基づいて第1プラットフォームノードをアップグレードする。ステップ4068を実行する。
【０１４８】
ステップ4068.デプロイ予定のアプリケーションのデプロイメントパッケージに基づいて、デプロイされたアプリケーションノードをアップグレードする。
【０１４９】
プラットフォームノードはアプリケーションデプロイメントサーバによって管理され、一方で、アプリケーションノードはユーザ装置によって管理され、かつデプロイされたアプリケーションのアプリケーションデプロイメントパッケージはさらに、ユーザ装置によって生成される。従って、デプロイされたアプリケーションをアップグレードするステップは、実際には、デプロイされたアプリケーションに対応するアプリケーションノードをアップグレードするステップを参照する。アップグレードプロセスは、デプロイ予定のアプリケーションの取得されたデプロイメントパッケージの中のプラン(plan)に記述された情報に基づいて実行されてもよい。アプリケーションデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートがデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している。デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるアプリケーションノードをアップグレードするために使用されてもよい。
【０１５０】
プラットフォームノードのアップグレードパッケージは、アプリケーションデプロイメントサーバによってメンテナンスされる。もし、プラットフォームノードがインストールされるのに失敗した場合、アプリケーションデプロイメントサーバが、タイムリーに失敗に応答し、かつプラットフォームノードの最終的に正常なアップグレードを保証することが可能でない限り、アプリケーションアップグレードは確実に失敗し、またはアプリケーションノードが正常にアップグレードされたとしても、アプリケーションノードは正常に動作することができない。もしプラットフォームノードが初めにアップグレードされる場合、かつ、もしアプリケーションノードがアップグレードに失敗する場合、アプリケーションノードアップグレードパッケージを構成するプロセスにおいてユーザ装置がエラーを発生させる可能性がある。この場合、CSPは、エラーが発生したアプリケーションノードの識別子を含むエラー情報をユーザ装置に返してもよい。ユーザ装置は修正を実行し、かつ次いで、再度、デプロイ予定のアプリケーションの新たなデプロイメントパッケージを提示する。アプリケーションデプロイメントサーバは、デプロイ予定のアプリケーションの修正されたデプロイメントパッケージをインストールする必要があるのみであり、かつ、それ以上はプラットフォームノードをアップグレードする必要はない。従って、前述のアップグレードプロセスにおいて、第1アプリケーションノードのデプロイ予定のアプリケーションのデプロイメントパッケージと、第1プラットフォームノードアップグレードパッケージと、第2プラットフォームノードアップグレードパッケージと、…、第nプラットフォームノードのアップグレードパッケージが取得されるとき、第nプラットフォームノードと、第(n-1)プラットフォームノードと、…、第2プラットフォームノードと、第1プラットフォームノードと、第1アプリケーションノードとが、順にアップグレードされてもよい。
【０１５１】
ステップ407.アプリケーションデプロイメントサーバは、アップグレード応答情報をユーザ装置に返す。
【０１５２】
特に、各プラットフォームノードが正常にアップデートされた後、プラットフォームノードは新たなバージョンを有し、かつ従って、プラットフォームノードの新たなバージョンは、データベースに書き込まれる必要がある。
【０１５３】
例えば、アップグレードパッケージappEが、プラットフォームノードApache1をアップグレードするために使用された後、プラットフォームノードApache1は、正常にアップグレードされた後の新たなバージョン"supportServlet3"を有し、かつ従って、アプリケーション実装情報テーブルにおけるデプロイメントアーティファクト名および能力記述は、アップデートされる必要がある。アップデートされたアプリケーション実装情報テーブルは、表7に示される。能力記述またはデプロイメントアーティファクト名は、プラットフォームノードのバージョンを表してもよい。
【０１５４】
【表７】
2016521897.tif 000009
【０１５５】
なお、本発明の実施形態で提供されるアプリケーションアップグレード方法のステップを実行する順番は、適宜調整されてもよく、かつステップは、状況に応じて相応に追加され、または削除されてもよい。本発明に開示された技術的範囲内で当業者によって実行される任意の変更は、本発明の保護範囲内であるものとし、詳細はここに再度説明されない。
【０１５６】
前述の解決策から理解できるように、本発明の実施形態で提供されるアプリケーションアップグレード方法において、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。アプリケーションデプロイメントサーバは、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、アプリケーションデプロイメントサーバは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【０１５７】
本発明のこの実施形態は、アプリケーションデプロイメントサーバ80を提供する。図8に示されるように、アプリケーションデプロイメントサーバ80は、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信し、かつデプロイ予定のアプリケーションのデプロイメントパッケージを、決定モジュール802およびアップグレードモジュール803に送信するように構成された受信モジュール801であって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、受信モジュール801と、
受信モジュール801によって送信されたデプロイ予定のアプリケーションのアプリケーションデプロイメントパッケージを受信するとともに、アップグレード識別子に基づいて、デプロイ予定のアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションのアップグレードパッケージであると決定し、
デプロイされたアプリケーションの識別子に基づいて、第1プラットフォームノードの識別子であり、かつ第1プラットフォームノードテンプレートの識別子に対応する識別子を取得するとともに、第1プラットフォームノードの識別子によって示される第1プラットフォームノードのバージョンを取得し、
第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定し、ここでなお、アップグレード識別子は、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子であり、かつ
第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得するとともに、第1プラットフォームノードアップグレードパッケージを、アップグレードモジュールに送信する
ように構成された決定モジュール802と、
決定モジュール802によって送信された第1プラットフォームノードアップグレードパッケージを受信するとともに、第1プラットフォームノードを使用することによって第1プラットフォームノードの識別子によって示される第1プラットフォームノードをアップグレードするために、パッケージをアップグレードするように構成されたアップグレードモジュール803と
を備え、
決定モジュール802は、デプロイされたアプリケーションのノードテンプレートの識別子に基づいて、アップグレード予定のアプリケーションノードの識別子を決定し、かつアップグレード予定のアプリケーションノードの識別子をアップグレードモジュール803に送信するようにさらに構成され、かつ
アップグレードモジュール803は、受信モジュール801によって送信されたデプロイ予定のアプリケーションのアプリケーションデプロイメントパッケージを受信し、決定モジュール802によって送信されたアップグレード予定のアプリケーションノードの識別子を受信し、かつデプロイ予定のアプリケーションのデプロイメントパッケージを使用することによってアップグレード予定のアプリケーションノードの識別子によって示されるアプリケーションノードをアップグレードするようにさらに構成される。
【０１５８】
このように、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。決定モジュールが、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アップグレードモジュールは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、アップグレードモジュールは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【０１５９】
なお、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【０１６０】
さらに、決定モジュール802は具体的に、全アプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を、アップグレード予定のアプリケーションノードの識別子として決定するように構成され、または
デプロイ予定のアプリケーションのデプロイメントパッケージが、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を決定するステップは具体的に、
少なくとも1つのデプロイされたアプリケーションノードの識別子であり、デプロイされたアプリケーションのノードテンプレートの識別子に対応し、かつアプリケーションデプロイメントパッケージに含まれる識別子を、アップグレード予定のアプリケーションノードの識別子として決定するステップである。
【０１６１】
決定モジュール802は、
デプロイされたアプリケーションの識別子に基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得し、
デプロイされたアプリケーションのデプロイメントパッケージの取得された記述ファイルに基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることを決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、第2プラットフォームノードのバージョンとを取得し、
第2プラットフォームノードのバージョンが、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を下回っていると決定し、かつ
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件に基づいて、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得するようにさらに構成される。
【０１６２】
アップグレードモジュール803は、
第2プラットフォームノードアップグレードパッケージに基づいて第2プラットフォームノードをアップグレードするようにさらに構成される。
【０１６３】
なお、本発明の実施形態において提供されるアプリケーションデプロイメントサーバは、図2から図6に記載されるアプリケーションデプロイメントサーバによって実行される任意のステップを実行してもよい。詳細は、本発明の実施形態において再度説明されない。
【０１６４】
本発明において提供されるアプリケーションデプロイメントサーバを使用することによって、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。決定モジュールが、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アップグレードモジュールは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、アップグレードモジュールは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【０１６５】
本発明のこの実施形態は、ユーザ装置90を提供する。図9に示されるように、ユーザ装置90は、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成するように構成された生成モジュール901であって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述し、
生成モジュール901が、アプリケーションデプロイメント要求を生成し、かつアプリケーションデプロイメント要求を送信モジュール902に送信するようにさらに構成され、アプリケーションデプロイメント要求は、デプロイ予定のアプリケーションのデプロイメントパッケージを含む、生成モジュール901と、
生成モジュール901によって送信されたアプリケーションデプロイメント要求を受信し、かつアプリケーションデプロイメント要求を、アプリケーションデプロイメントサーバに送信するように構成された送信モジュール902と
を備える。
【０１６６】
このように、ユーザ装置の生成モジュールは、デプロイ予定のアプリケーションのデプロイメントパッケージを生成する。デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。アプリケーションデプロイメントサーバが、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、アプリケーションデプロイメントサーバは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【０１６７】
なお、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または、
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【０１６８】
生成モジュール901によって生成されたデプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含む。
【０１６９】
また、図10に示されるように、ユーザ装置は、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションの第1プラットフォームノードテンプレートを決定するように構成された決定モジュール903をさらに備える。第1プラットフォームノードテンプレートは、デプロイされたアプリケーションのノードテンプレートをソースノードテンプレートとして使用する。
【０１７０】
なお、本発明の実施形態において提供されるユーザ装置は、図2から図6に記載されるユーザ装置によって実行される任意のステップを実行してもよい。詳細は、本発明の実施形態において再度説明されない。
【０１７１】
本発明の実施形態に提供されるユーザ装置において、ユーザ装置の生成モジュールは、デプロイ予定のアプリケーションのデプロイメントパッケージを生成する。デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。アプリケーションデプロイメントサーバが、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、アプリケーションデプロイメントサーバは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【０１７２】
本発明の実施形態は、アプリケーションデプロイメントサーバ110を提供する。図11に示されるように、アプリケーションデプロイメントサーバ110は、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信するとともに、デプロイ予定のアプリケーションのデプロイメントパッケージをプロセッサ112に送信するように構成された受信機111であって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、受信機111と、
受信機111によって送信されたデプロイ予定のアプリケーションのデプロイメントパッケージを受信するとともに、アップグレード識別子に基づいて、デプロイ予定のアプリケーションのデプロイメントパッケージが、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションのためのアップグレードパッケージであると決定し、ここではなお、アップグレード識別子が、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションのノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子であり、
デプロイされたアプリケーションの識別子に基づいて、第1プラットフォームノードの識別子であり、かつ第1プラットフォームノードテンプレートの識別子に対応する識別子を取得するとともに、第1プラットフォームノードの識別子によって示される第1プラットフォームノードのバージョンを取得し、
第1プラットフォームノードのバージョンに基づいて、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定し、
第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得し、
第1プラットフォームノードアップグレードパッケージを使用することによって、第1プラットフォームノードテンプレートの識別子により示される第1プラットフォームノードをアップグレードし、
アップグレード予定のアプリケーションノードの識別子を決定し、かつ
デプロイ予定のアプリケーションのデプロイメントパッケージを使用することによってアップグレード予定のアプリケーションノードの識別子により示されるアプリケーションノードをアップグレードする
ように構成されたプロセッサ112と
を備える。
【０１７３】
このように、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。プロセッサが、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、プロセッサは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、プロセッサは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【０１７４】
なお、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【０１７５】
さらに、プロセッサ112は具体的に、全アプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子を、アップグレード予定のアプリケーションノードの識別子として決定するように構成され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を決定するステップは特に、
少なくとも1つのデプロイされたアプリケーションノードの識別子であり、デプロイされたアプリケーションのノードテンプレートの識別子に対応し、かつアプリケーションデプロイメントパッケージに含まれる識別子をアップグレード予定のアプリケーションノードの識別子として決定するステップである。
【０１７６】
プロセッサ112は、
デプロイされたアプリケーションの識別子に基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得し、
デプロイされたアプリケーションのデプロイメントパッケージの取得された記述ファイルに基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることを決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、第2プラットフォームノードのバージョンとを取得し、
第2プラットフォームノードのバージョンが、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を下回っていると決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件に基づいて、第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得し、かつ
第2プラットフォームノードアップグレードパッケージに基づいて第2プラットフォームノードをアップグレードするようにさらに構成される。
【０１７７】
なお、本発明の実施形態において提供されるアプリケーションデプロイメントサーバは、図2から図6に記載されるアプリケーションデプロイメントサーバによって実行される任意のステップを実行することができる。詳細は、本発明の実施形態において再度説明されない。
【０１７８】
本発明において提供されるアプリケーションデプロイメントサーバを使用することによって、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。プロセッサが、第1プラットフォームノードのバージョンが、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、プロセッサは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、プロセッサは、取得された第1プラットフォームノードアップグレードパッケージに基づいて、第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【０１７９】
本発明の実施形態は、ユーザ装置120を提供する。図12に示されるように、ユーザ装置120は、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成し、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を生成し、かつ
アプリケーションデプロイメント要求を送信機122に送信する
ように構成されたプロセッサ121であって、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件と、デプロイ予定のアプリケーションのノードテンプレートが、デプロイされたアプリケーションのノードテンプレートの識別子によって示されるデプロイされたアプリケーションノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、プロセッサ121と、
プロセッサによって送信されたアプリケーションデプロイメント要求を受信し、かつアプリケーションデプロイメント要求をアプリケーションデプロイメントサーバに送信するように構成された送信機122と
を備える。
【０１８０】
このように、ユーザ装置のプロセッサは、デプロイ予定のアプリケーションのデプロイメントパッケージを生成し、デプロイ予定のアプリケーションのデプロイメントパッケージに基づいてアプリケーションデプロイメント要求を生成し、かつアプリケーションデプロイメント要求を送信機に送信する。次いで、送信機は、アプリケーションデプロイメント要求をアプリケーションデプロイメントサーバに送信する。アプリケーションデプロイメントサーバは、アプリケーションデプロイメント要求におけるデプロイ予定のアプリケーションのデプロイメントパッケージに基づいて、プラットフォームノードおよびアプリケーションノードを自動的にアップグレードする。従って、アプリケーションアップグレードの自動化度が上昇し、かつ人手の介入が低減される。
【０１８１】
なお、デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートを記述する関係テンプレートをさらに含み、かつアップグレード識別子は、関係テンプレートにおいて搬送され、または
デプロイ予定のアプリケーションのデプロイメントパッケージは、デプロイ予定のアプリケーションのノードテンプレートに対応するノードタイプ実装をさらに含み、かつアップグレード識別子は、ノードタイプ実装において搬送される。
【０１８２】
また、プロセッサ121によって生成されたデプロイ予定のアプリケーションのデプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつデプロイされたアプリケーションのノードテンプレートの識別子に対応する識別子をさらに含む。
【０１８３】
プロセッサ121は、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、デプロイされたアプリケーションの識別子によって示されるデプロイされたアプリケーションの第1プラットフォームノードテンプレートを決定するようにさらに構成され、第1プラットフォームノードテンプレートは、デプロイされたアプリケーションのノードテンプレートをソースノードテンプレートとして使用する。
【０１８４】
なお、本発明の実施形態において提供されるユーザ装置は、図2から図6に記載されるユーザ装置によって実行される任意のステップを実行することができる。詳細は、本発明の実施形態において再度説明されない。
【０１８５】
前述の解決策から理解できるように、プロセッサは、アプリケーションデベロッパのアップグレード要件に基づいて、デプロイ予定のアプリケーションのデプロイメントパッケージを生成し、デプロイ予定のアプリケーションのデプロイメントパッケージの中のアプリケーション記述ファイルは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を記述している。アプリケーションデプロイメントサーバが、第1プラットフォームノードのバージョンが第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を下回っていると決定するとき、アプリケーションデプロイメントサーバは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件に基づいて、第1プラットフォームノードアップグレードパッケージを取得する。その後、アプリケーションデプロイメントサーバは、取得された第1プラットフォームノードアップグレードパッケージに基づいて第1プラットフォームノードをアップグレードする。このように、アップグレードされた第1プラットフォームノードのバージョンは、第1プラットフォームノードテンプレートのためのデプロイ予定のアプリケーションのノードテンプレートのバージョン要件を満たし、それによって、アップグレードされたアプリケーションが正常に動作できることを保証する。
【０１８６】
本発明における用語"および/または"は、関連オブジェクトを記述するための対応関係のみを記述し、かつ3つの関係が存在することを表している。例えば、Aおよび/またはBは、以下の3つの場合、すなわち、Aのみが存在する場合と、AおよびBの両方が存在する場合と、Bのみが存在する場合とを表すことができる。また、本明細書における文字"/"は、一般的に、関連オブジェクト間の"または"の関係を示している。
【０１８７】
簡便かつ簡潔な説明のために、前述のシステム、装置、およびユニットの詳細な動作プロセスについて、前述の方法の実施形態における対応するプロセスが参照されてもよいことは当業者によって明確に理解され得、かつ詳細は再度ここに説明されない。
【０１８８】
本アプリケーションで提供されるいくつかの実施形態において、開示されたシステム、装置、および方法は、他の方法で実施されうるということは理解されるべきである。例えば、説明された装置の実施形態は、単なる例示である。例えば、ユニット区分は、単に論理関数区分であり、かつ実際の実施においては、他の区分であってもよい。例えば、他の区分または構成要素は、別のシステムに組み合わされまたは統合されてもよく、あるいはいくつかの特徴が無視されまたは実行されなくてもよい。また、表示され若しくは説明された相互結合または直接結合、あるいは通信接続は、いくつかのインターフェースを使用して実装されてもよい。装置間またはユニット間の間接結合または通信接続は、電子的、機械的、または他の形態で実装されてもよい。
【０１８９】
独立した部分として記載されたユニットは、物理的に独立していても、そうでなくてもよく、かつユニットとして表示された部分は、物理ユニットであっても、そうでなくてもよく、1つの位置に置かれても、または複数のネットワークユニットに分散されてもよい。実施形態の解決策の目的を達成するために、一部または全てのユニットが実際のニーズに応じて選択されてもよい。
【０１９０】
また、本発明の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、または各ユニットが物理的に単独で存在してもよく、または2または3以上のユニットが1つのユニットに統合される。統合されたユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットに加えてハードウェアの形態で実装されてもよい。
【０１９１】
前述の説明は、本発明の単なる特定の実施方法であるが、本発明の保護範囲を限定することを意図していない。本発明に開示された技術的範囲内で当業者によって容易に実行される任意の変更または置換は、本発明の保護範囲内であるものとする。従って、本発明の保護範囲は、特許請求の範囲に従うものとする。
【符号の説明】
【０１９２】
８０  アプリケーションデプロイメントサーバ
８０１  受信モジュール
８０２  決定モジュール
８０３  アップグレードモジュール
９０  ユーザ装置
９０１  生成モジュール
９０２  送信モジュール
９０３  決定モジュール
１１０  アプリケーションデプロイメントサーバ
１１１  受信機
１１２  プロセッサ
１２０  ユーザ装置
１２１  プロセッサ
１２２  送信機
【図１Ａ】
2016521897.tif 000010
【図１Ｂ】
2016521897.tif 000011
【図２】
2016521897.tif 000012
【図３】
2016521897.tif 000013
【図４】
2016521897.tif 000014
【図５】
2016521897.tif 000015
【図６】
2016521897.tif 000016
【図７】
2016521897.tif 000017
【図８】
2016521897.tif 000018
【図９】
2016521897.tif 000019
【図１０】
2016521897.tif 000020
【図１１】
2016521897.tif 000021
【図１２】
2016521897.tif 000022
【手続補正書】
【提出日】平成27年12月21日(2015.12.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションアップグレード方法であって、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信するステップであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、ステップと、
前記アップグレード識別子に基づいて、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージが、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションのアップグレードパッケージであることを決定するステップと、
前記デプロイされたアプリケーションの前記識別子に基づいて、第1プラットフォームノードの識別子であり、かつ前記第1プラットフォームノードテンプレートの前記識別子に対応する識別子を取得するとともに、前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードのバージョンを取得するステップと、
前記第1プラットフォームノードの前記バージョンに基づいて、前記第1プラットフォームノードの前記バージョンが、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を下回っていると決定するステップと、
前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件に基づいて、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得するステップと、
前記第1プラットフォームノードアップグレードパッケージを使用することによって前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードをアップグレードするステップと、
アップグレード予定のアプリケーションノードの識別子を決定するステップと、
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを使用することによって前記アップグレード予定のアプリケーションノードの前記識別子によって示される前記アプリケーションノードをアップグレードするステップと
含むアプリケーションアップグレード方法。
【請求項２】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される請求項1に記載の方法。
【請求項３】
アップグレード予定のアプリケーションノードの識別子を決定する前記ステップは、全アプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定するステップを含み、または、
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を決定する前記ステップは、
前記少なくとも1つのデプロイされたアプリケーションノードの識別子であり、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応し、かつアプリケーションデプロイメントパッケージに含まれる前記識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定するステップを含む、請求項1または2に記載の方法。
【請求項４】
前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードをアップグレードする前記ステップの前に、前記方法は、前記デプロイされたアプリケーションの前記識別子に基づいて、前記デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得するステップと、
前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記取得された記述ファイルに基づいて、前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記記述ファイルは、前記第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していると決定するステップと、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、前記第2プラットフォームノードのバージョンとを取得するステップと、
前記第2プラットフォームノードの前記バージョンが、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を下回っていると決定するステップと
を含み、かつ
前記第1プラットフォームノードアップグレードパッケージを使用することによって前記第1プラットフォームノードをアップグレードする前記ステップの前に、前記方法は、
前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件に基づいて、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得するステップと、
前記第2プラットフォームノードアップグレードパッケージに基づいて前記第2プラットフォームノードをアップグレードするステップと
をさらに含む、請求項1〜3のいずれか一項に記載の方法。
【請求項５】
アプリケーションアップグレード方法において、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成するステップであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、ステップと、
アプリケーションデプロイメント要求を生成するステップであって、前記アプリケーションデプロイメント要求は、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを含む、ステップと、
前記アプリケーションデプロイメント要求を、アプリケーションデプロイメントサーバに送信するステップと
を含む、アプリケーションアップグレード方法。
【請求項６】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される、請求項5に記載の方法。
【請求項７】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含む、請求項5または6に記載の方法。
【請求項８】
デプロイ予定のアプリケーションのデプロイメントパッケージを生成する前記ステップの前に、前記方法は、前記デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションの前記第1プラットフォームノードテンプレートを決定するステップであって、前記第1プラットフォームノードテンプレートは、前記デプロイされたアプリケーションの前記ノードテンプレートをソースノードテンプレートとして使用する、ステップをさらに含む、請求項5〜7のいずれか一項に記載の方法。
【請求項９】
アプリケーションデプロイメントサーバであって、
デプロイ予定のアプリケーションのデプロイメントパッケージを含むアプリケーションデプロイメント要求を受信し、かつ前記デプロイ予定のアプリケーションのアプリケーションデプロイメントパッケージを、決定モジュールおよびアップグレードモジュールに送信するように構成された受信モジュールであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、第1プラットフォームノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述している、受信モジュールと、
前記受信モジュールによって送信された前記デプロイ予定のアプリケーションの前記アプリケーションデプロイメントパッケージを受信するとともに、前記アップグレード識別子に基づいて、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージが、前記デプロイされたアプリケーションの前記識別子によって示される前記デプロイされたアプリケーションのアップグレードパッケージであることを決定し、前記デプロイされたアプリケーションの前記識別子に基づいて、第1プラットフォームノードの識別子であり、かつ前記第1プラットフォームノードテンプレートの前記識別子に対応する識別子を取得するとともに、前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードのバージョンを取得し、前記第1プラットフォームノードの前記バージョンに基づいて、前記第1プラットフォームノードの前記バージョンが、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を下回っていると決定し、かつ前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件に基づいて、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートの前記バージョン要件を満たす第1プラットフォームノードアップグレードパッケージを取得するとともに、前記第1プラットフォームノードアップグレードパッケージを前記アップグレードモジュールに送信するように構成された前記決定モジュールと、
前記決定モジュールによって送信された前記第1プラットフォームノードアップグレードパッケージを受信するとともに、前記第1プラットフォームノードアップグレードパッケージを使用することによって前記第1プラットフォームノードの前記識別子によって示される前記第1プラットフォームノードをアップグレードするように構成された前記アップグレードモジュールと
を備え、
前記決定モジュールは、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に基づいて、アップグレード予定のアプリケーションノードの識別子を決定するとともに、前記アップグレード予定のアプリケーションノードの前記識別子を前記アップグレードモジュールに送信するようにさらに構成され、かつ
前記アップグレードモジュールは、前記受信モジュールによって送信された前記デプロイ予定のアプリケーションの前記アプリケーションデプロイメントパッケージを受信し、前記決定モジュールによって送信された前記アップグレード予定のアプリケーションノードの前記識別子を受信し、かつ前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを使用することによって前記アップグレード予定のアプリケーションノードの前記識別子によって示される前記アプリケーションノードをアップグレードするようにさらに構成される、アプリケーションデプロイメントサーバ。
【請求項１０】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される、請求項9に記載のアプリケーションデプロイメントサーバ。
【請求項１１】
前記決定モジュールは特に、全アプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定するように構成され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含むとき、アップグレード予定のアプリケーションノードの識別子を前記決定することは特に、前記少なくとも1つのデプロイされたアプリケーションノードの識別子であり、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応し、かつ前記アプリケーションデプロイメントパッケージに含まれる前記識別子を、前記アップグレード予定のアプリケーションノードの前記識別子として決定することである、請求項9または10に記載のアプリケーションデプロイメントサーバ。
【請求項１２】
前記決定モジュールは、
前記デプロイされたアプリケーションの前記識別子に基づいて、前記デプロイされたアプリケーションのデプロイメントパッケージの記憶された記述ファイルを取得し、
前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記取得された記述ファイルに基づいて、前記デプロイされたアプリケーションの前記デプロイメントパッケージの前記記述ファイルが、前記第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する第2プラットフォームノードテンプレートを記述していることを決定し、
第2プラットフォームノードのためのアップグレードされた第1プラットフォームノードのバージョン要件と、前記第2プラットフォームノードのバージョンとを取得し、
前記第2プラットフォームノードの前記バージョンが、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を下回っていると決定し、かつ
前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件に基づいて、前記第2プラットフォームノードのための前記アップグレードされた第1プラットフォームノードの前記バージョン要件を満たす第2プラットフォームノードアップグレードパッケージを取得する
ようにさらに構成され、かつ
前記アップグレードモジュールは、前記第2プラットフォームノードアップグレードパッケージに基づいて前記第2プラットフォームノードをアップグレードするようにさらに構成される、請求項9〜11のいずれか一項に記載のアプリケーションデプロイメントサーバ。
【請求項１３】
ユーザ装置において、
デプロイ予定のアプリケーションのデプロイメントパッケージを生成するように構成された生成モジュールであって、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションのノードテンプレートと、デプロイされたアプリケーションの識別子と、第1プラットフォームノードテンプレートの識別子と、前記デプロイされたアプリケーションのノードテンプレートの識別子と、前記第1プラットフォームノードテンプレートのための前記デプロイ予定のアプリケーションの前記ノードテンプレートのバージョン要件と、前記デプロイ予定のアプリケーションの前記ノードテンプレートが、前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子によって示される前記デプロイされたアプリケーションの前記ノードテンプレートをアップグレードするために使用されることを示すアップグレード識別子とを記述し、
前記生成モジュールは、アプリケーションデプロイメント要求を生成するとともに、前記アプリケーションデプロイメント要求を送信モジュールに送信するようにさらに構成され、前記アプリケーションデプロイメント要求は、前記デプロイ予定のアプリケーションの前記デプロイメントパッケージを含む、生成モジュールと、
前記生成モジュールによって送信された前記アプリケーションデプロイメント要求を受信し、かつ前記アプリケーションデプロイメント要求をアプリケーションデプロイメントサーバに送信するように構成された前記送信モジュールと
を備えるユーザ装置。
【請求項１４】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートを記述する関係テンプレートをさらに含み、かつ前記アップグレード識別子は、前記関係テンプレートにおいて搬送され、または
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、前記デプロイ予定のアプリケーションの前記ノードテンプレートに対応するノードタイプ実装をさらに含み、かつ前記アップグレード識別子は、前記ノードタイプ実装において搬送される、請求項13に記載のユーザ装置。
【請求項１５】
前記デプロイ予定のアプリケーションの前記デプロイメントパッケージは、少なくとも1つのデプロイされたアプリケーションノードの識別子であり、かつ前記デプロイされたアプリケーションの前記ノードテンプレートの前記識別子に対応する識別子をさらに含む、請求項13または14に記載のユーザ装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１３９
【補正方法】変更
【補正の内容】
【０１３９】
ステップ4064を実行するステップの前に、記憶されたアプリケーションデプロイメントサーバは、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルに基づいて、デプロイされたアプリケーションのデプロイメントパッケージの記述ファイルが、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する宛先ノードテンプレート(すなわち、第2プラットフォームノードテンプレート)を記述していることを決定する。さらに、アプリケーションデプロイメントサーバは、記述ファイルの関係テンプレートに基づいて、第1プラットフォームノードテンプレートを関係テンプレートにおけるソースノードテンプレートとして使用する宛先ノードテンプレートを決定する。本発明の実施形態において、第1プラットフォームノードテンプレートをソースノードテンプレートとして使用する宛先ノードテンプレートは、第2プラットフォームノードと呼ばれる。
【国際調査報告】
2016521897.tif 000023
2016521897.tif 000024
2016521897.tif 000025
2016521897.tif 000026