JP6329547B2 - クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法 - Google Patents

クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法 Download PDF

Info

Publication number
JP6329547B2
JP6329547B2 JP2015531250A JP2015531250A JP6329547B2 JP 6329547 B2 JP6329547 B2 JP 6329547B2 JP 2015531250 A JP2015531250 A JP 2015531250A JP 2015531250 A JP2015531250 A JP 2015531250A JP 6329547 B2 JP6329547 B2 JP 6329547B2
Authority
JP
Japan
Prior art keywords
service
engine
cloud
management engine
platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015531250A
Other languages
English (en)
Other versions
JP2015534167A5 (ja
JP2015534167A (ja
Inventor
モルダニ,ラジブ
クマール,アブヒジット
サパリガ,ババニシャンカラ
ティヤガラジャン,シバクマール
イスラム,ナズルル,アクム
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2015534167A publication Critical patent/JP2015534167A/ja
Publication of JP2015534167A5 publication Critical patent/JP2015534167A5/ja
Application granted granted Critical
Publication of JP6329547B2 publication Critical patent/JP6329547B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

著作権に関する注意
本特許文献の開示の一部には、著作権保護の対象となるものが含まれている。著作権者は、この特許文献または特許開示の何者かによる複製が、特許商標庁の特許ファイルまたは記録にある限り、それに対して異議を唱えないが、そうでなければ、いかなる場合もすべての著作権を留保する。
発明の分野
本発明の実施の形態は、概してクラウドコンピューティングに関し、具体的にはクラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法に関する。
背景
一般的に「クラウドコンピューティング」という用語を用いて説明される計算モデルは、コンピュータネットワーク、サーバ、ソフトウェアアプリケーション、およびサービス等の計算リソースの共有プールに対するオンデマンドのアクセスを可能にするとともに、管理の手間またはサービスプロバイダの対話は最小でありながらリソースを高速で提供(provisioning)し解放する。
クラウドコンピューティング環境(クラウド環境またはクラウドと呼ばれることもある)は、さまざまな要求に最適なものとなるように多種多様のやり方で実装することができる。たとえば、パブリッククラウド環境において、基礎をなす計算インフラストラクチャを所有する組織は、自身のクラウドサービスを、他の組織または公衆が利用できるようにする。一方、プライベートクラウド環境は一般的に、1つの組織によってまたは1つの組織内で使用されることだけを意図したものである。コミュニティクラウドは、1つのコミュニティ内のいくつかの組織によって共有されることを意図したものであるのに対し、ハイブリッドクラウドは、データおよびアプリケーションの移植性によって結び付けられる2種以上のクラウド(たとえばプライベート、コミュニティ、またはパブリック)を含む。
一般的に、クラウドコンピューティングモデルは、以前は組織自身の情報技術部門によって提供されていたであろう責務のうちのいくつかを、その代わりに、(クラウドのパブリック/プライベート性に応じて組織の内部または外部で)消費者が使用するクラウド環境内のサービスレイヤとして与えることができるようにする。個々の実装に応じて、各クラウドサービスレイヤによってまたは各クラウドサービスレイヤ内で提供されるコンポーネントまたは特徴の、正確な定義は異なり得るが、一般的な例には以下のものが含まれる。
サービスとしてのソフトウェア(Software as a Service)(SaaS)。消費者は、クラウドインフラストラクチャ上で実行しているソフトウェアアプリケーションを使用するのに対し、SaaSプロバイダは、基礎をなすクラウドインフラストラクチャおよびアプリケーションを管理または制御する。
サービスとしてのプラットフォーム(Platform as a Service)(PaaS)。消費者は、PaaSプロバイダによってサポートされるソフトウェアプログラミング言語および開発ツールを使用して、消費者自身のアプリケーションを開発、配備(deploy)、さもなければ制御できるのに対し、PaaSプロバイダは、クラウド環境のその他の側面(すなわちランタイム実行環境よりも下にあるものすべて)を管理または制御する。
サービスとしてのインフラストラクチャ(Infrastructure as a Service)(IaaS)。消費者は、任意のソフトウェアアプリケーション、および/または提供処理、記憶、ネットワーク、およびその他の基本的な計算リソースを配備し実行することができるのに対し、IaaSプロバイダは、基礎をなす物理的なクラウドインフラストラクチャ(すなわちオペレーティングシステムレイヤよりも下にあるものすべて)を管理または制御する。
上記例は、一般的に本発明の実施の形態を使用することができる環境の種類のうちのいくつかを説明するために設けたものである。さまざまな実施の形態に応じて、本明細書に記載のシステムおよび方法を、他の種類のクラウドまたはコンピューティング環境で使用することもできる。
概要
本明細書に記載されているのは、クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法である。ある実施の形態に従うと、企業ソフトウェアアプリケーション(たとえばFusion Middlewareアプリケーション)を、クラウドプラットフォーム内でサービスとしてインスタンス化することができ、次に、クラウドプラットフォームにおけるこのアプリケーションを他の(たとえば顧客)アプリケーションからアクセスできるようにする。ある実施の形態において、オーケストレーションエンジンと通信するサービス管理エンジン(service management engine)(SME)を用いて、サービス定義パッケージ(service definition package)(SDP)に従い1つ以上の異なるサービスタイプとしてサービスを提供することができる。サービスタイプを、クラウドプラットフォーム自体の構成に従い、かつサービスタイプの発見、提供、およびサービスタイプとシステムリソースとの対応付けを含むSDPの内容に従いインスタンス化することにより、さまざまな顧客要求に対応することができる。
ある実施の形態に従う、サービスレイヤを含むクラウドコンピューティング環境を示す。 ある実施の形態に従う環境をさらに示す。 ある実施の形態に従う、PaaSプラットフォームコンポーネントを含み得るクラウドコンピューティング環境を示す。 ある実施の形態に従う、アドミニストレーションサーバおよびサービスドメインを含むPaaSプラットフォームコンポーネントをさらに示す。 ある実施の形態に従う、アドミニストレーションサーバとともにサービス定義パッケージおよびサービス管理エンジンを使用することを含む、PaaSプラットフォームコンポーネントをさらに示す。 ある実施の形態に従う、アドミニストレーションサーバと仮想化マネージャの間の対話を含む、PaaSプラットフォームコンポーネントをさらに示す。 ある実施の形態に従う、マルチテナントサービスドメインを含むPaaSプラットフォームコンポーネントをさらに示す。 ある実施の形態に従う、クラウドアカウントマネージャを含むPaaSプラットフォームコンポーネントをさらに示す。 ある実施の形態に従う、PaaSプラットフォームコンポーネントにおけるサービス定義パッケージの使用を示す。 ある実施の形態に従う、PaaSプラットフォームコンポーネントでサービス定義パッケージを使用するためのプロセスのフローチャートである。 ある実施の形態に従う、PaaSプラットフォームコンポーネントにおけるサービス管理エンジンの使用をさらに示す。 ある実施の形態に従う、PaaSプラットフォームコンポーネントでサービス管理エンジンを使用するためのプロセスのフローチャートである。 ある実施の形態に従う、PaaSプラットフォームコンポーネントにおけるオーケストレーションエンジンの使用をさらに示す。 ある実施の形態に従う、PaaSプラットフォームコンポーネントでオーケストレーションエンジンを使用するためのプロセスのフローチャートである。 ある実施の形態に従う、PaaSプラットフォームコンポーネントにおけるエラスティシティ(elasticity)マネージャの使用をさらに示す。 ある実施の形態に従う、PaaSプラットフォームコンポーネントでエラスティシティマネージャを使用するためのプロセスのフローチャートである。 ある実施の形態に従う、PaaSプラットフォームコンポーネントにおいてサービス定義パッケージをパッチすることをさらに示す。 ある実施の形態に従う、PaaSプラットフォームコンポーネントでサービス定義パッケージをパッチするためのプロセスのフローチャートである。
詳細な説明
上記のように、クラウドコンピューティング環境(クラウド環境またはクラウド)は、たとえばパブリッククラウド、プライベートクラウド、コミュニティクラウド、またはハイブリッドクラウドといったさまざまな要求に最適なものとなるように多種多様のやり方で実装することができる。クラウドコンピューティングモデルは、以前は組織自身の情報技術部門によって提供されていたであろう責務のうちのいくつかを、その代わりに、(クラウドのパブリック/プライベート性に応じて組織の内部または外部で)消費者が使用するクラウド環境内のサービスレイヤとして与えることができるようにする。
本明細書に記載されているのは、インフラストラクチャ、プラットフォーム、および/またはアプリケーションを与える際に使用されてクラウドコンピューティング環境をサポートすることができる、種々のハードウェアおよび/またはソフトウェアコンポーネントおよび特徴である。さまざまな実施の形態に応じて、このシステムはまた、Oracle Exalogicおよび/またはExadataマシン、WebLogicおよび/またはFusion Middleware、ならびにその他のハードウェアおよび/またはソフトウェアコンポーネントおよび特徴といった、ハードウェアおよびソフトウェアを利用して、クラウドコンピューティング環境を提供することができる。このクラウドコンピューティング環境は、企業グレードであり、プラットフォームを配備に適したものにしてアプリケーションを配備することができ、現代のアーキテクチャ上に構築された一組の企業アプリケーションおよびユースケースを提供し、および/またはフレキシブルな消費選択を提供する。
図1は、ある実施の形態に従う、サービスレイヤを含むクラウドコンピューティング環境を示す。図1に示されるように、ある実施の形態に従うと、クラウドコンピューティング環境(クラウド環境またはクラウド)100は一般的に、1つ以上の、サービスとしてのインフラストラクチャ(IaaS)レイヤ110、サービスとしてのプラットフォーム(PaaS)レイヤ160、および/またはサービスとしてのソフトウェア(SaaS)レイヤ170を組合わせたものを含み得る。これらレイヤは、各々クラウド環境内のサービスレイヤとして与えられ、用いられる個々のクラウド計算モデルに応じて組織の内部または外部で消費者によって使用されることができる。
ある実施の形態に従うと、クラウドコンピューティング環境は、1つ以上の従来の汎用もしくは専用デジタルコンピュータ、コンピューティングデバイス、マシン、マイクロプロセッサ、メモリおよび/またはコンピュータ読取可能な記録媒体、たとえば、コンピュータハードウェア、ソフトウェア、およびOracle Exalogic、Exadata、または同様のマシンによって提供されるリソースを含むシステムとして、実装することができる。
図1にさらに示されるように、ある実施の形態に従うと、クラウドコンピューティング環境は、以下でより詳細に説明される、共有イネーブルメントおよび管理インフラストラクチャ120を含み得る。このインフラストラクチャは、さまざまなサービスレイヤをサポートするために使用できるイネーブルメントおよび管理ツールを提供する。
図1に示される例は、一般的に本発明の実施の形態を使用することができる一種のクラウドコンピューティング環境を説明するものとして設けたものである。さまざまな実施の形態に応じて、本明細書に記載のシステムおよび方法を、異なるおよび/または他の種類のクラウドまたはコンピューティング環境で使用することもできる。
図2は、ある実施の形態に従う環境をさらに示す。図2に示されるように、ある実施の形態に従うと、IaaS、PaaS、および/またはSaaSレイヤは各々、一般的に種々のコンポーネントを含み得る。たとえば、ある実施の形態に従うと、IaaSレイヤは、共有データベースハードウェア(たとえばExadataマシン)112、および/または共有アプリケーションサーバハードウェア(たとえばExalogicマシン)を含み得る。PaaSレイヤは、データベースサービス162、アプリケーションサーバサービス164、および/またはWebCenterサービス166等の、1つ以上のPaaSサービスを含み得る。SaaSレイヤは、企業アプリケーション(たとえばOracle Fusion SaaS)172、および/またはISVまたはカスタムアプリケーション176等のさまざまなSaaSサービスを含み得る。
上記のように、ある実施の形態に従うと、クラウドコンピューティング環境は、共有イネーブルメントおよび管理インフラストラクチャも含み得る。たとえば、図2に示されるように、共有イネーブルメントおよび管理インフラストラクチャは、1つ以上の、アイデンティティ管理122、データインテグレーション124、複製(たとえばOracle GoldenGate)126、仮想アセンブリビルダ(builder)128、システム提供130、テナント管理132、および/または企業マネージャコンポーネント134を含み得る。
図2にさらに示されるように、ある実施の形態に従うと、共有イネーブルメントおよび管理インフラストラクチャはまた、ウイルススキャン142、セキュアファイル転送144、HTTPルーティング146、ホワイトリスト148、通知150、セキュアバックアップ152、インテグレーションゲートウェイ154、および/または使用&課金156コンポーネント等の、その他のコンポーネントを含み得る。
図2に示される例は、クラウドコンピューティング環境に、または共有イネーブルメントおよび管理インフラストラクチャ内に含めることができる種類のコンポーネントのうちのいくつか説明するものとして設けたものである。他の実施の形態に従って、異なるおよび/またはその他の種類または配置のコンポーネントを含めてもよい。
PaaSプラットフォームコンポーネント
ある実施の形態に従うと、クラウドコンピューティング環境は、クラウド環境内で企業ソフトウェアアプリケーションを提供できるようにするPaaSプラットフォームコンポーネント(PaaSプラットフォーム)を含み得る。
図3は、ある実施の形態に従う、PaaSプラットフォームコンポーネントを含み得るクラウドコンピューティング環境を示す。図3に示されるように、ある実施の形態に従うと、PaaSプラットフォーム500は、Fusion Middlewareまたはその他の企業アプリケーション等の企業アプリケーションに関するセルフサービス提供体験を提供する、インストール可能なソフトウェアスイートとして提供することができる。
一般的に、組織のオンプレミスまたはプライベートクラウド環境用に企業アプリケーションをインストールし構成する場合には、相当な量の管理作業を伴なうことがある。これには、増大する作業負荷需要に見合うように環境を水平方向にスケーリングしようとしたときに管理者が直面する課題が含まれる。ある実施の形態に従うと、PaaSプラットフォームコンポーネントを拡張して、必要に応じて新たな企業アプリケーションスイートをホストし、その後負荷の増大に応じインスタンス化されたランタイムの量をスケーリングすることができるようにするのは、簡単である。
図3に示されるように、ある実施の形態に従うと、PaaSプラットフォームは、1つ以上の、サービス定義パッケージ(SDP)502、サービス管理エンジン(SME)504、仮想アセンブリ(virtual assembly)(VA)506、PaaSアドミニストレーションサーバ508、サービスドメイン510(1つ以上のクラウドアカウントまたはテナント513が使用する1つ以上のサービスアプリ512を含む)、および/またはクラウドエラスティシティマネージャ514コンポーネントを含み得る。これらコンポーネント各々は、他のコンポーネントおよび特徴とともに以下でより詳細に説明される。
用語解説
ある実施の形態に従い、本明細書では以下の用語が使用される。他の実施の形態に従い、異なるおよび/またはその他の用語が使用される場合もある。
PaaSプラットフォームコンポーネント(PaaSプラットフォーム、プラットフォーム):ある実施の形態に従うと、PaaSプラットフォームコンポーネント(PaaS、プラットフォーム)は、Fusion Middlewareまたはその他の企業アプリケーション等の企業アプリケーションに関するセルフサービス提供体験を提供する、インストール可能なソフトウェアスイートである。
クラウドアカウント(テナント):ある実施の形態に従うと、クラウドアカウント(テナント)は、PaaSプラットフォームをサービスとして消費するユーザ/消費者と対応付けられたエンティティである。クラウドアカウントは管理範囲を定め、これをアカウントアドミニストレータが用いてPaaSサービスにアクセスすることができる。たとえば、クラウドアカウントを、パブリックPaaSプロバイダからPaaSサービスを購入している組織または会社に対して作成することができる。別の例として、クラウドアカウントを、プライベートPaaSプロバイダとして機能する内部の情報技術部門からのPaaSサービスを消費している部門またはグループに対して作成することができる。ある実施の形態に従うと、以下で説明されるクラウドアカウントアドミニストレータロール等の異なるPaaSユーザロールをクラウドアカウントと対応付けてもよい。ある実施の形態に従うと、PaaSプラットフォーム内において、消費されるリソース、たとえばサービスとその仮想マシン、データベース、DNSエントリ、ロードバランサ、およびその他の構成を、クラウドアカウントと対応付けてもよい。同様に、1人以上のユーザおよびゼロ以上のサービスをクラウドアカウントと対応付けてもよい。1つのPaaSプラットフォームドメインを、1つまたは複数のクラウドアカウント(テナント)と対応付けてもよい。
サービス定義パッケージ:ある実施の形態に従うと、サービス定義パッケージ(SDP)は、PaaSプラットフォームが特定の種類のサービスを提供するのに必要なすべての情報を含むパッケージである。たとえば、Fusion Middlewareとともに使用される場合、各々の種類のFusion Middlewareサービスは、自身のSDPを提供することができる。ある実施の形態に従うと、SDPは、一組の仮想マシン(virtual machine)(VM)上に配備されるとサービスの実行インスタンスを含むことになる一組の仮想アプライアンスのトポロジおよび構成を含む仮想アセンブリ(たとえばOVABアセンブリ)を含み、それとともに、プラットフォームにインストールされたカスタムコードを含む。たとえば、Fusion MiddlewareアプリケーションのSDPは、Fusion Middlewareアプリケーションの実行インスタンスをサービスとして配備するのに必要なトポロジおよび構成を含むFusion Middleware OVABアセンブリとともに、カスタムコードを含み得る。
サービスタイプ:ある実施の形態に従うと、サービスタイプは、クラウドアカウントに対しPaaSプラットフォーム内でインスタンス化できるソフトウェア機能を表わしたものである。ある実施の形態に従うと、サービスタイプは、SDPに基づき、システムアドミニストレータから供給される追加の構成情報を用いて作成することができる。この構成情報の一部が、プラットフォームプロダクトのインストールまたはそれが実行されている企業に特有の値を供給してもよく、その他の構成情報が、SDPによってサポートされるオプションの、システムアドミニストレータによる選択を反映してもよい。ある実施の形態に従うと、異なる構成選択を行なうことによって1つのSDPから複数の(異なる)サービスタイプを作成することができる。
サービス:ある実施の形態に従うと、サービスは、サービスタイプをインスタンス化したものである。1つのクラウドアカウントを複数のサービスと対応付けることができる。1つのクラウドアカウント内に、1つのサービスタイプについての複数のサービスがあってもよい。ある実施の形態に従うと、サービスは、サービスアドミニストレーションインターフェイスおよびエンドユーザインターフェイス双方を提供する。サービスは、アイデンティティ、データベース、またはこのサービスが必要とする他のサービス特徴と対応付けることができる。サービスは、1つ以上のVM上で実行するサービスランタイムと対応付けられる。
プロバイダタイプ:ある実施の形態に従うと、プロバイダタイプは、サービスではなくプロバイダをサポートする特殊なサービスタイプである。プロバイダタイプは、システムアドミニストレータによって、サービスタイプと同じやり方で作成される。上記サービスタイプと同様、プロバイダタイプは、SDPに基づき、システムアドミニストレータから供給される追加の構成情報を用いて作成することができる。同様に、この構成情報の一部が、プラットフォームプロダクトのインストールまたはそれが実行されている企業に特有の値を供給してもよく、その他の構成情報が、SDPによってサポートされるオプションの、システムアドミニストレータによる選択を反映してもよい。ある実施の形態に従うと、異なる構成選択を行なうことによって1つのSDPから複数の(異なる)プロバイダタイプを作成することができる。
プロバイダ:ある実施の形態に従うと、プロバイダは、サービスを特殊化したものである。サービスは一般的にクラウドアカウントアドミニストレータの明示的動作によって作成されるものであるが、プロバイダは、サービスとは異なり、オンデマンドで作成されてサービスの依存性を満たすことができる。ある実施の形態に従うと、プロバイダは、プロバイダタイプをインスタンス化したものであり、サービスタイプの特定のインスタンスによる、プロバイダタイプによって管理されるリソースの使用を表わす。サービスは複数のプロバイダと対応付けることができる。ある実施の形態に従うと、サービスを作成するとき、オーケストレーションエンジンが、所望のサービスタイプの要求を、構成されたプロバイダタイプの能力と突合せる。次に、オーケストレーションエンジンは、サービスタイプに対し、サービスのインスタンスの作成を要求し、プロバイダタイプに対し、このサービスのインスタンスが使用するプロバイダのインスタンスの作成を要求し、このサービスをプロバイダと関連付ける。
対応付けリソース:ある実施の形態に従うと、対応付けリソース(プロバイダリソース)は、サービスが、特定の対応付けに関する構成情報を追跡できるようにする。たとえば、Java(登録商標)サービスが2つの異なるデータベースプロバイダと対応付けられている場合、各データベースに対して接続プールを作成する必要がある場合がある。対応付けリソースは、どの接続プールがどのデータベースと対応付けられているかをJavaサービスが追跡することによって、その後オーケストレーションエンジンが対応付けのうちの1つを変更することが必要になった場合に、Javaサービスはどの接続プールを変更すればよいかわかっていることになる。
ランタイム:ある実施の形態に従うと、ランタイムは、サービスまたはプロバイダの機能を提供するインストールされた運用ソフトウェアアプリケーションを表わしたものである。ある実施の形態に従うと、ランタイムは、場合によっては仮想化および提供サポート等のPaaSプラットフォームによって提供されるファシリティを用いて、SDPに含まれるカスタムコードによって管理される。
環境:ある実施の形態に従うと、環境は、まとめてグループとして管理できるサービスおよびこれらサービスに対応付けられたプロバイダの集合体である。環境は、アプリケーションの実行のためまたはより高いレベルのサービスの提供のために作成することができる。環境は、開始、停止、バックアップ、または破壊等の動作を含めて、サービス全体の集合体に対して動作する能力を提供する。ある実施の形態に従うと、環境は、「対応付けグループ」および「管理グループ」の機能を提供することができる。
システムアドミニストレータ(ロール):ある実施の形態に従うと、システムアドミニストレータは、環境内で実行しているアプリケーションによって利用できるようにされたリソースを含む、クラウド環境および/またはPaaSプラットフォームインフラストラクチャおよび環境の、インストール、構成、管理、および維持という役割を担う。たとえば、ある実施の形態に従うと、システムアドミニストレータは、SDPをダウンロードおよびインストールして新規/追加のサービスタイプをサポートし、使用するPaaSプラットフォームに対して仮想化技術をセットアップまたは構成し、プロバイダをインストールして構成するという役割を担う。
クラウドアカウントアドミニストレータ(ロール):ある実施の形態に従うと、クラウドアカウントアドミニストレータは、新規サービスの提供、包括的なサービスプロパティ(これらのサービス品質(Quality of Service)/QoS設定等)の管理とそれらの対応付け、およびサービスのロックと終了という役割を担う。ある実施の形態に従うと、クラウドアカウントアドミニストレータは、各サービスにサービスアドミニストレータを割当てることができる。
サービスアドミニストレータ(ロール):ある実施の形態に従うと、サービスアドミニストレータは、提供後の特定のサービスの管理運営という役割を担う。サービスアドミニストレータは、サービスのアドミニストレーションインターフェイスと対話して管理運営動作を実行することができる。
アプリケーションデプロイヤ(ロール):ある実施の形態に従うと、アプリケーションデプロイヤは、提供されたサービスに対してアプリケーションを配備し、このアプリケーションのインストール、構成、および実行という役割を担う。アプリケーションを実行するとこのアプリケーションをエンドユーザが利用できるようにしてもよい。
エンドユーザ(ロール):ある実施の形態に従うと、エンドユーザは、アプリケーションデプロイヤがサービスに対して配備したアプリケーションのユーザである。エンドユーザは、サービスに対して配備されたアプリケーションによって提供されるユーザインターフェイスと対話することができる。サービスが公開する機能をユーザが消費するためのインターフェイスをサービスが提供するのであれば、アプリケーションデプロイヤがアプリケーションを配備しなくても、エンドユーザは、サービスが提供するこのインターフェイスを使用することができる。
図4は、ある実施の形態に従う、アドミニストレーションサーバおよびサービスドメインを含むPaaSプラットフォームコンポーネントをさらに示す。図4に示されるように、ある実施の形態に従うと、インストールされたPaaSプラットフォーム(プラットフォーム)は、アドミニストレーションコンソール520、クラウドプラットフォーム提供/管理ロジック521、および仮想アセンブリビルダ(virtual assembly builder)(VAB)デプロイヤ522を、アセンブリまたはVABリポジトリとともにサポートする、PaaSアドミニストレーションサーバ508を含む。
ある実施の形態に従うと、VABデプロイヤは、機能、コンポーネント、またはOracle Virtual Assembly Builder(OVAB)等のプロダクトによって提供することができる。このVABデプロイヤ(たとえばOVABデプロイヤ)を、PaaSプラットフォームが使用して、サービスしているアプリケーションをホストするVMを管理することができる。他の実施の形態に従い、アセンブリビルダの機能またはコンポーネントを提供する他の手段を用いてもよい。
ある実施の形態に従うと、PaaSアドミニストレーションサーバは、WebLogic(WLS)サーバアプリケーションとして、たとえばそこに埋込まれてクラウドプラットフォーム機能を提供するGlassfishモジュールとともに、実装することができる。サービスアプリおよびサービスコンソール532を含むサービスドメイン510は、最終的にユーザリクエストをサービスする、Fusion Middlewareアプリケーション等の企業アプリケーションを収容するために設けることができる。ある実施の形態に従うと、サービスドメインコンポーネントを、提供リクエストの一部として複数回インスタンス化してもよい。
ある実施の形態に従うと、PaaSアドミニストレーションサーバおよびサービスドメインによって使用されることになるプロバイダサーバタイプ(その例はLDAP526、データベース527、およびロードバランサ528プロバイダを含み得る)を、アドミニストレーションサーバによって提供されていないプールに提供することができる。なぜなら、これらはクラウド環境に登録された外部サービスであるからである。ある実施の形態に従うと、PaaSプラットフォームは、1つのロードバランサプロバイダを利用して、入来するすべての、たとえばサービスに向けられたウェブリクエストを、転送することができる。たとえば、各サービスを、サービス提供中にロードバランサプロバイダに登録される仮想ホストネームと対応付けることができ、PaaSプラットフォームは、これらサービスが利用できるデータベースプロバイダのプールを含み得る。その後サービスが提供されるときに、データベースサービスに対するすべての外部参照を解決することによって、データベースプロバイダプール内の1つ以上のインスタンスを指示する。
図5は、ある実施の形態に従う、アドミニストレーションサーバとともにサービス定義パッケージおよびサービス管理エンジンを使用することを含む、PaaSプラットフォームコンポーネントをさらに示す。図5に示されるように、ある実施の形態に従うと、PaaSプラットフォーム内での使用に利用できるようにすることをアドミニストレータが希望する新規企業アプリケーションサービスタイプ(たとえば新規Fusion Middlewareサービスタイプ)を、SDPからインストールすることができる。
ある実施の形態に従うと、SDPは、インターネットを通してダウンロードされてもよく、またはその他の手段によって提供されてもよい。各SDPは、一組の仮想アプライアンスのトポロジおよび構成を含むアセンブリ(たとえばOVABアセンブリ)を含み、これは、アセンブリが一組のVM上に配備されると企業アプリケーションサービスの実行インスタンスを含むことになる。各SDPはこのアセンブリを含むとともに、たとえばエラスティシティおよび提供をサポートする際に使用するためにPaaSプラットフォームに注入することができるカスタムコードを含む。PaaSアドミニストレータが対話するサービスタイプ/プロバイダ各々をこのようにしてシステムに登録できる。外部サービス等のその他のプロバイダサービスタイプは、一般的に予めインストールしておくことができる。
図6は、ある実施の形態に従う、アドミニストレーションサーバと仮想化マネージャの間の対話を含む、PaaSプラットフォームコンポーネントをさらに示す。図6に示されるように、ある実施の形態に従うと、VMマネージャコンポーネント541(たとえばOVMマネージャ)は、PaaSプラットフォームによって使用されて、次にサービスアセンブリのインスタンス化に使用されるVM542、543、544のプール540を管理することができる。
PaaSプラットフォームモジュールから、アセンブリ(または、スケールアップリクエストの場合は1つのアプライアンス)のインスタンス化のリクエストがなされると、VABデプロイヤアプリケーション(たとえばOVABデプロイヤ)は、VMマネージャ(たとえばOVMマネージャ)と対話することによって、リクエストに応えることができる。インフラストラクチャ/仮想化の責務をこのようにしてVMマネージャおよびVABデプロイヤに委任することによって、PaaSプラットフォームを、ターゲットデプロイメントプラットフォームから取出すことができる。
図7は、ある実施の形態に従う、マルチテナントサービスドメインを含むPaaSプラットフォームコンポーネントをさらに示す。
図7に示されるように、サービスドメインは、サービスコンソールを用いて構成可能な複数のテナント550、551、552を含み得る。マルチテナント形態は、仮想化と同様に、より少ないリソースを用いてより多くのクライアントをサポートできるようにする、密度の最適化であり、仮想化と同様に、アプリケーションそのものに対して透明でなければならない。マルチテナント形態には共有リソースの使用が必要であるが、この共有がアプリケーションの論理モデルの一部である必要はない。これらモデルのことを、「マルチテナント」および「専用」リソースを使用するものであると言う。
それとは別に、ある意味アプリケーションの論理モデルの一部であるリソースをアプリケーションが共有してもよい。たとえば、2つのアプリケーションが、同一データ上で動作しようとしていることを理由に、意図的に共有データベースにアクセスしてもよい。これらモデルのことを、「共有」および「非共有」リソースを使用するものであると言う。
ある実施の形態に従うと、いくつかのサービスタイプは、その特定の構成に基づいて、専用用途およびマルチテナント用途双方をサポートしてもよい。それ以外のサービスタイプは、専用用途のみまたはマルチテナント用途のみをサポートしてもよい。同一のランタイム上の複数のテナントをサポートすることができるサービスタイプは、サービスタイプの構成に基づいて、インスタンス化プロセスの間に、そのランタイムをマルチテナント式で提供することができる。マルチテナント対応であるものとして既にマーキングされている、インスタンス化された1つのサービスランタイムを、サービスタイプによって決まりその構成に基づく有限数の追加のサービス提供リクエストに対して再使用する。一般的に、このテナント形態モードのサポートはサービスアプリケーションに委ねられ、マルチテナントでないサービスアプリケーションは、各サービスインスタンスに対して1つのアカウントしかサポートすることができない。
サービスが、そのVMアセンブリから一旦インスタンス化されると、エンドユーザ546は、このサービスのオンプレミスバージョンと対話するのと同じやり方で、システムおよびインスタンス化されたサービスと対話することができる。
図8は、ある実施の形態に従う、クラウドアカウントマネージャを含むPaaSプラットフォームコンポーネントをさらに示す。図8に示されるように、ある実施の形態に従うと、PaaSプラットフォームは、クラウドアカウントマネージャ570とともに、クラウドプラットフォームアドミニストレーションサービス(cloud platform administration service)(CPAS)560を含み得る。クラウドアカウントマネージャは、アカウント管理等の機能をサポートする役割を担うとともに、特定アカウント用データにアクセスするまたはこれを持続するためにPaaSプラットフォームのその他モジュール(たとえばオーケストレーションエンジン/SME562、CEM564、またはアイデンティティ管理サービス566)が使用できるフレームワークを提供する役割を担う。
ある実施の形態に従うと、構成管理コンポーネント573は、構成レイヤ580を用いることによって、アカウント記憶装置582に特定アカウント用構成583を持続し、その他のファイル584を持続することができる。これにより、CPASのさまざまなサービスおよびその他のコンポーネントが、特定アカウント用データにアクセスしこれを操作することができる。
ある実施の形態に従うと、アカウント管理モジュール574はまた、CPASドメインに対するアカウントを管理する機能を提供する。これは、コマンドライン、REST、またはその他のアイデンティティ管理アプリケーションプログラムインターフェイス(application program interface)(API)581の使用を通して公開することができる。各アカウントは複数のユーザを有し得る。ある実施の形態に従うと、ユーザは、PaaSプラットフォームによって管理されるアイデンティティ記憶装置586において管理されてもよく、これに代えて、外部(たとえば企業)LDAPからまたはユーザIDの別の手段から提供されてもよい。
ある実施の形態に従うと、ユーザは、アドミニストレーションインターフェイス572を通してクラウドアカウントマネージャにアクセスできる。アカウントおよび構成データを、CPASクラスタのすべてのノードからアクセス可能なファイルシステムまたはその他の記憶手段に格納することもできる。
サービス定義パッケージ(SDP)
図9は、ある実施の形態に従う、PaaSプラットフォームコンポーネントにおけるサービス定義パッケージの使用を示す。ある実施の形態に従うと、サービス定義パッケージ(SDP)は、特定の企業アプリケーションコンポーネント(たとえばFusion Middlewareコンポーネント)をサービスタイプとしてPaaSプラットフォームに与えるために用いる手段である。
ある実施の形態に従うと、SDPは一般的に以下の特性を有する。すなわち、SDPは、特定の企業アプリケーションコンポーネントに対して容易に作成することができ、さまざまな仮想化技術(たとえばOVM、Amazon、KVM、またはVirtualBox)に対して配備することができ、非仮想化環境(たとえばラップトップモード)に対して配備することができ、予め提供されたサービスタイプまたはプロバイダに対するサポートを含む。
図9に示されるように、ある実施の形態に従うと、各SDP592、596は、バイナリ593、597と、メタデータ594、598(たとえばSDAの名称、サービスタイプ、バージョン、ベンダ、または、SDPがOVAB、EC2もしくはNativeをサポートするか否かの表示等の仮想化サポートメタデータ)と、PaaSプラットフォームまたはクラウド環境内でSDPを使用できるようにする1つ以上のプラグイン595、596とを含み得る。ある代表的な実施の形態に従うと、各SDPは以下のものも含み得る。
特定の仮想化プロバイダ(たとえばOVAB)上にサービスをインストールするために使用できる、アセンブリ、リファレンス、パッケージ、アーカイブまたはテンプレート、SDP内でバンドルされたアセンブリ、または、アセンブリに対するリファレンス(たとえばEC2固有のリファレンス)。
エラスティシティメトリック収集部またはアラート等のPaaSプラットフォーム機能をサービスとともに使用できるようにする、サービスタイプに対するサービス管理プラグインまたはSMEプラグイン。
そのアセンブリおよびリハイドレーション(rehydration)プロセス中にVABデプロイヤ(たとえばOVABデプロイヤ)とともに使用するプラグイン。
対応付けルールまたは対応付けに関する他のアーティファクト(artifact)等の、サービスプロバイダに関する依存性情報、たとえば、データベースプロバイダとの対応付けにはデータベーススキーマまたは適切なテーブル等の情報が必要な場合がある。
場合によってはさらにサービス構成およびサービスランタイム構成メタデータに細分され得る構成メタデータ。
サービスアドミニストレータ(たとえばWLSアドミニストレーションサーバURL)によって使用されるサービスアドミニストレーションインターフェイスまたはURLパターン等のアクセスインターフェイス。
サービスおよびそのランタイムとともに使用するサービスメタデータの品質。
異なるコンポーネントに対するスケーラビリティ限度等のスケーラビリティメタデータ、たとえば、アセンブリ内の異なるアプライアンスに対するスケーラビリティ限度を定めることができ、これらスケーラビリティ限度は、適切なスケーリングおよびハンドリングのために、システムアドミニストレータまたはクラウドアカウントアドミニストレータおよびエラスティシティマネージャに公開される。
サービスがマルチテナントサービスなのか専用サービスなのか等の、サポートされるテナント形態モデルの表示。
サービスとともに使用するセキュリティテンプレート/証明。
SDPの内容の代表的な実施の形態の上記説明は、SDPの中に含めることができる種類の情報のうちのいくつかを説明するものとして設けている。他の実施の形態に従い、異なるおよび/またはその他の種類の情報をSDPに含めてもよい。
ある実施の形態に従うと、PaaSシステムアドミニストレータがサービスタイプとしての特定の企業アプリケーションまたはその他のソフトウェアコンポーネントに対するサポートを提供するために、このシステムアドミニストレータは、特定のサービスタイプに対するSDPをダウンロードしてこのSDPをPaaSプラットフォームにインストールすることができる。
ある実施の形態に従うと、SDPをインストールすると、たとえばOVABアセンブリをOVABリポジトリにインストールすることになり、適切なSMEプラグインがクラウドプラットフォームに登録され、メトリック収集部、アラート、および動作がPaaSプラットフォームにインストールされる。システムアドミニストレータがSDPをインストールすると、その後、クラウドアカウントアドミニストレータが、クラウドアカウントアドミニストレーションインターフェイスを用いてそのタイプのサービスをリクエストすることができる。サービスとは特定のサービスタイプを実現したものである。
たとえば、Fusion Middlewareコンポーネントの場合、Fusion Middlewareコンポーネントの各バージョンは、別々のSDPを有し得る。クラウドアカウントアドミニストレータ/サービスアドミニストレータが、Fusion Middlewareコンポーネントの新バージョンにアップグレードしようとする場合、SDPの新バージョンを選択すればよい。たとえば、SOAスイート11g、およびSOAスイート12.1.3をサポートできるようにするには、SOAスイートプロダクトのこれら2つのバージョンに対して別々のSDPがあればよい。
ある実施の形態に従うと、たとえば以下のようにしてSDPをzipまたはjarファイルとしてパッケージングすることができる。
Figure 0006329547
個々の実装に応じて、SDPを他のファイルフォーマットとしてパッケージングすることもできる。図9に示されるように、ある実施の形態に従うと、SDPがPaaSプラットフォームドメインにインストールされると、これはその後SDPマネージャ590によって消費される。SDPマネージャは、ローカルシステムへのインストールに利用できるSDPのリストを取得し、必要であればSDPをダウンロードしてこのSDPのパーツを正しい場所にインストールし、インストール済のSDPのリストを維持し、必要であればインストールされている/前にインストールされていた場所からSDPのパーツすべてをアンインストールすることによってSDPをアンインストールする、という役割を担う。
ある実施の形態に従うと、SDPマネージャは、既存バージョンのSDPをパッチすることに加えて、複数バージョンの所与のSDP(たとえばSOA11およびSOA12)をサポートする。一般的に、(以下でさらに詳細に説明されるように)SDPがパッチされると、これは、PaaSインフラストラクチャ内のSDPに関連するインストール済のコンポーネントにしか影響せず、そのサービスタイプのサービスには影響しない。
ある実施の形態に従うと、SDPマネージャは、PaaSシステムを、SDPファイルのフォーマットから分離する。PaaSプラットフォームアーキテクチャの他のパーツが正確なSDPファイルフォーマットを認識している必要はない。SDPマネージャは、SMEプラグインをCPASにインストールすることによって、他のシステムコンポーネントとインターフェイスすることができ、そうすると、CPASが担い得る役割は、SMEプラグインをクラスタ内の他のCPASインスタンスに複製し、VABアセンブリ602、604(たとえばOVABアセンブリ)をVABデプロイヤ(たとえばOVABデプロイヤ)にインストールし、Enterprise Manager等の他のツールとインターフェイスして、サービスに対するカスタマイズされたコンソールインターフェイスを、サービスがそれを提供するのであれば、提供し、サービスに対する構成データをCPASにインストールすることである。
その後、サービスの実現化606中に、サービス610を、SDPによって定義されるサービスタイプのインスタンスとして実現しアセンブリとしてVABリポジトリにインストールすることができる。
図10は、ある実施の形態に従う、PaaSプラットフォームコンポーネントでサービス定義パッケージを使用するためのプロセスのフローチャートである。図10に示されるように、ステップ612で、クラウド環境と、そこで実行するPaaSプラットフォームコンポーネント(PaaSプラットフォーム)とを含む、1つ以上のコンピュータを提供する。
ステップ614で、プラットフォームコンポーネントで使用する1つ以上のサービス定義パッケージを提供し、各サービス定義パッケージは、アプリケーションバイナリコンポーネントとメタデータとを含む。
ステップ616で、上記1つ以上のサービス定義パッケージをパースして、如何にして特定の企業アプリケーションコンポーネントをプラットフォームコンポーネント内のサービスタイプとして与えることができるかを決める、この特定の企業アプリケーションコンポーネントについてのサービス特性および要求を求める。
ステップ618で、クラウド環境内で使用するために、対応する企業アプリケーションコンポーネントをサービスタイプとしてプラットフォームコンポーネント内に提供する。
サービス管理エンジン(SME)
図11は、ある実施の形態に従う、PaaSプラットフォームコンポーネントにおけるサービス管理エンジンの使用をさらに示す。
一般的に説明すると、ある実施の形態に従い、サービス管理エンジン(SME)は、任意のサービスタイプをシステム内にプラグする包括的な手段を提供する。たとえば、SMEは、特定サービス向けの、サービスタイプまたはプロバイダタイプに関する、提供、ライフサイクル、管理、およびモニタリングサポートすべてを処理する。オーケストレーションエンジン(orchestration engine)(OE、以下でさらに詳細に説明)は、特定のサービスにとらわれずに、完全にSMEに依存してすべてのサービス関連動作を扱う。
ある実施の形態に従うと、PaaSプラットフォームドメイン内に、いくつかの異なるクラスのSMEが存在する場合がある。たとえば、プロバイダSMEを提供して、PaaSプラットフォームドメイン内でサポートされる異なるプロバイダを扱うことができる。サポートできるプロバイダのタイプの例は、Database、Web-Tire、およびIdentity-Managementプロバイダを含む。ある実施の形態に従うと、プロバイダSMEは、プロバイダSDPからプロバイダタイプを作成することによって、企業内の既存の外部サービスを指示するように構成される。プロバイダSMEも、作成しているサービスとの対応付けおよび対応付け解除の一部として必要となり得るスキーマ管理等のすべての動作の責任を担う。プロバイダSMEは、一般的にはプロバイダタイプによって指示された外部サービスの提供(provisioning)、提供解除(unprovisioning)、または管理を扱うように構成されていないが、プロバイダSMEを、そのように構成することもできる。
ある実施の形態に従うと、サービスSMEをSDPを用いてPaaSプラットフォームドメインに追加することができる。たとえば、サービスSMEを、適切なSDPをインストールすることによって、PaaSプラットフォームドメイン内に動的に取込むことができる。ある実施の形態に従うと、SDPマネージャは、SDP内でPaaSプラットフォームドメインとバンドルされたサービスSMEのインストール/登録を扱う。そうすると、登録された一組のサービスSMEは、クラウドアカウントアドミニストレータが利用できるサービスタイプとなりサービスを作成する。
ある実施の形態に従うと、PaaSプラットフォームドメイン内でサポートされる各サービスタイプは、特定のサービスSMEにマップする。サービスSMEは、そのサービスに関する、スパニング作成、モニタリング、管理、パッチ、アップグレード、および削除等のサービス関連アクティビティすべてを扱う。ある実施の形態に従うと、SMEによって実装される契約を、サービス管理インターフェイス(service management interface)(SMI)と呼び、これは、サービスのモニタリング、パッチ、およびアップグレードに対するサポートを定義する。
ある実施の形態に従うと、オーケストレーションエンジンは、プロバイダおよびサービスSMEと対話することによって、PaaSプラットフォームドメイン内のサービスを作成する。オーケストレーションエンジンは、サービスの作成を「振り付け(choreograph)」するが、すべてのサービスレベルアクティビティはSMEによって扱われる。図11に示される例では、OVABを仮想化プロバイダとして用いるとき、OVABデプロイヤとの対話はすべて仮想化API(たとえばOVABクライアントAPI)によって扱われる。ある実施の形態に従うと、オーケストレーションプロセスはしたがって次のように進行する。
クラウドアカウントアドミニストレータが、たとえばPaaSプラットフォームドメイン内の利用できるSOAサービス620、622を発見し、この例ではSOAサービスの作成を開始する。
オーケストレーションエンジンは、システム内の利用できるサービスSMEすべてについて処理を繰返し、どのサービスSMEがこのサービスタイプ624を扱うことができるか判断する。この例において、オーケストレーションエンジンは、この例ではSOA SMEがSOAサービスの作成を扱うものであることを発見する。
次に、オーケストレーションエンジンは、SOA SMEに、SME625に関するすべてのプロバイダ依存性を取得させる。この例において、SOA SMEは、データベースおよびロードバランサプロバイダ依存性をリターンする。
次に、オーケストレーションエンジンは、SOA SMEについて、ゲットユーザ(get-user)または同様の構成可能なプロパティ関数をコールし、これらプロパティをユーザインターフェイスまたはGUI内で公開して、クラウドアカウントアドミニストレータが必要に応じてプロパティを編集できるようにする。
次に、ユーザ提供入力が、SOA SMEに与えられる。この例ではOVABが使用されているので、ユーザが提供した入力を用いてOVABデプロイメントプランをアップデートすることができる。
オーケストレーションエンジンは、SOA SMEと、それが依存するプロバイダSMEとの間の予備提供(preprovisioning)の対応付けを実行する。たとえば、オーケストレーションエンジンは、SOA SMEとデータベースプロバイダSMEとの間の予備提供の対応付けを実行し、その結果、デプロイメントプランにデータベースプロバイダ構成が含められ、それに加えて、SOAサービスが必要とするスキーマおよびテーブルが作成される。
予備提供の対応付けが完了すると、オーケストレーションエンジンは、SOA SME626に、SOAサービスを提供させる。この時点で、デプロイメントプランは、ネットワーク構成を除いて概ね完成している。アップデートされたデプロイメントプランは、アセンブリIDとともに、OVAB APIに渡すことができ、これは、デプロイメントプランを、残りのネットワーク構成で埋める処理を行なう。次に、オーケストレーションエンジンは、OVABデプロイヤのウェブサービスAPIをコールしてOVABアセンブリを提供することができる。アセンブリが提供されると、仮想マシン情報すべてが取出されてSOA SMEに戻され、そうすると、SOA SMEはこの情報をオーケストレーションエンジンに戻す。オーケストレーションエンジンは、後に使用するためにこの情報を持続してもよい。
次に、オーケストレーションエンジンは、SOA SMEとこれが依存するプロバイダSMEとの間の事後提供(post-provisioning)の対応付けを実行する。たとえば、SOA SMEとロードバランサプロバイダSMEとの間の事後提供の対応付けにより、仮想サーバが作成されて、このSOAサービスに対するリクエストを処理しこれらを適切にルーティングする。
最後に、サービス作成のステータスがクラウドアカウントアドミニストレータにリターンされる。
OVABデプロイヤをデプロイアセンブリの手段として用いSOAサービスおよびSOA SMEをSMEの例として用いるオーケストレーションプロセス、ならびにデータベースとロードバランサプロバイダとの対応付けに関する上記説明は、代表的なオーケストレーションプロセスを説明するために設けたものである。他の実施の形態に従い、異なるおよび/または他の種類の、たとえば、VABデプロイヤ、SME,およびプロバイダを使用してもよい。
図12は、ある実施の形態に従う、PaaSプラットフォームコンポーネントでサービス管理エンジンを使用するためのプロセスのフローチャートである。図12に示されるように、ステップ630で、クラウド環境と、そこで実行するPaaSプラットフォームコンポーネント(PaaSプラットフォーム)とを含む、1つ以上のコンピュータを提供する。
ステップ632で、オーケストレーションエンジンと通信し、1つ以上の、サービスタイプの提供、ライフサイクル管理、およびモニタリングを含む、サービスタイプとしてサービスを提供することに使用される、1つ以上のサービス管理エンジンを提供する。
ステップ634で、特定のサービスタイプをクラウド環境内で使用するために提供すると判断する。
ステップ636で、サービス管理エンジンを用いて、プラットフォームコンポーネント自体の構成および/またはサービス定義パッケージをパースし、プラットフォームコンポーネントの構成および/またはサービス定義パッケージの内容に従って、1つ以上の異なるサービスタイプとしてサービスを提供する。
ステップ638で、対応するサービス管理エンジンを、プラットフォームコンポーネント内で上記特定のサービスタイプをサポートするように構成する。
オーケストレーションエンジン
図13は、ある実施の形態に従う、PaaSプラットフォームコンポーネントにおけるオーケストレーションエンジンの使用をさらに示す。
ある実施の形態に従うと、オーケストレーションエンジン(OE)は、サービス作成、プロバイダ依存性の解決、サービスとプロバイダの対応付け、および一般的にはPaaSプラットフォーム内におけるサービスの最初から最後までのライフサイクル管理を可能にする。特に、オーケストレーションエンジンは、サービスを作成または管理しながら、PaaSプラットフォームドメイン内のさまざまなコンポーネントの間の対話すべてをコーディネートし、プラットフォーム内のさまざまなサービスタイプに関するSMEのプラガビリティを可能にし、プラットフォーム内の利用できるものの中から適切なSMEを選択することによってサービスの提供を支援する。オーケストレーションエンジンはまた、DBプロバイダ、IDMプロバイダ、およびLBプロバイダ等のプロバイダの構成の管理を支援する。
ある実施の形態に従うと、オーケストレーションエンジンは、サービス作成の一部として、適切なプロバイダ(プロバイダSME)を選択しプロバイダとサービスの間の対応付けをコーディネートすることによって、サービスのプロバイダ依存性等のサービスの依存性すべてが確実に満たされるようにする。対応付けという作業は、予備提供および/または事後提供フェイズ中に実行できる。SMEのインストールおよび構成と言う作業は、SDPマネージャによって、予めパッケージングされたサービスタイプまたはカスタマイズされたサービスタイプの登録の一部として実行できる。オーケストレーションエンジンは、サービスの提供作業中にコンソールを通してクラウドアカウントアドミニストレータによって構成できるデプロイメントプラン構成の公開を支援する。
ある実施の形態に従うと、オーケストレーションエンジンは、その「サービス作成」作業およびその他のライフサイクル関連活動についてのPaasプラットフォームの要求に一致する一組のフェイズおよびタスクを認識する。また、オーケストレーションエンジンは、拡張可能に、かつ、オーケストレーションエンジンによって管理されるすべての動作におけるフェイズおよびタスクの構成を可能にするように、設計されている。
仮想化環境内でのサービスの提供および管理は、時間がかかる作業であることが多く、一般的には非同期方式で実行する必要がある。システムはまた、過渡的な(または再試行可能な)失敗を処理し提供活動を継続することができなければならない。ある実施の形態に従うと、アドミニストレータはオンデマンドでこのような非同期活動のいずれかをクエリまたはモニタリングすることができる。開始された作業すべての進行状態を判断、表示、および記録するために、提供、提供解除等の作業に対して一意識別子を与えてもよい。
ある実施の形態に従うと、オーケストレーションエンジンはまた、タスクのレジリエンシに基づいてタスクの再試行または作業のロールバックを助ける。このタスクまたはフェイズにマーカ(注釈)を付けてレジリエンシレベルおよび補償作業を示してもよい。
ある実施の形態に従うと、オーケストレーションエンジンは、PaaSプラットフォームドメイン内の他のコンテナによってまたはアドミニストレータによって開始できるすべてのサービス管理、モニタリング、スケーリング作業に対するゲートウェイとして機能する。たとえば、エラスティシティエンジン(以下でさらに詳細に説明)は、オーケストレーションエンジンと通信して、サービスのQoS構成に基づき、サービスを管理、モニタリング、およびスケーリングする。オーケストレーションエンジンはまた、サービスのダウンタイムの回避に役立つローリング方式でアクティブシステム内で実行することができるパッチおよびアップグレード等のサービスメンテナンス作業において、役割を果たすこともできる。このような作業は、段階的に対応付けの解除または再対応付けを必要とする場合がある。
ある実施の形態に従うと、クラウドアカウントアドミニストレータによって作成されたサービスは、特定のクラウドアカウント(テナント)にとってのみ、可視でアクセス可能であり、PaaSプラットフォームドメイン内の他のクラウドアカウントからは分離される。ある実施の形態に従うと、このような分離は、クラウドアカウント管理モジュールによって支援されてオーケストレーションエンジンが提供できるものである。サービス構成、ステータスおよびアクセシビリティの格納および管理は、クラウドアカウントデータ記憶装置を別々にすることによって行なうことができる。マルチテナントモデルおよび専用テナント形態モデル双方を1つのプラットフォームドメイン内でサポートすることができる。オーケストレーションエンジンは、サービスメタデータ内に与えられたプリファレンスに基づいて、必要なテナント形態レベルをサポートする適切なプロバイダタイプを選択する。同様に、マルチテナントモデルおよび専用テナント形態モデルは、サービスに関して、マルチテナントサービスランタイプに基づいて、または、サービス毎の専用サービスランタイムに基づいてサポートすることができる。
ある実施の形態に従うと、SMEをオーケストレーションエンジンに登録して、サービスの所与の「ファミリー」(たとえば「データベース」)に対する複数のSMEがシステム内に存在するようにしてもよい。クラウド毎のアカウントベースで特定のサービスファミリーに対してデフォルトSMEを構成することも可能である。
図13に示されるように、ある実施の形態に従うと、CPASの仮想化特徴は主としてVABデプロイヤ(たとえばOVABデプロイヤ)の周りに構築され、VABアセンブリ(たとえばOVABアセンブリ)は提供ユニットである。他の実施の形態に従い、CPASがこれに代わる仮想化ソリューションをサポートしてもよい。
ある実施の形態に従うと、オーケストレーションおよびサービス管理コンポーネントは、仮想化サービス640、プラグイン642、およびサポートされる基本的な仮想化作業を抽出する仮想化API646を通して、仮想化レイヤとインターフェイスすることができる。OVABを使用するある実施の形態に従うと、このAPIは、OVABデプロイヤがアセンブリ作成のタスクを実行できるようにするOVABデプロイヤインターフェイスであってもよい。OVAB等のプロダクトは、ExaLogic等のコンピュータハードウェアマシンに加えてOVM等の仮想化プロバイダをサポートする。OVABデプロイヤ等のプロダクトはまた、プラグインの開発によりEC2等のさらに他の仮想化技術をサポートできるようにするSPIを提供する。ある実施の形態に従うと、オーケストレーションエンジン/SMEは、アセンブリのアップロードおよび配備を、そのライフサイクルの管理に加えて、OVAB仮想化APIを通して行なうことができる。
ある実施の形態に従い、開発者/デモのシナリオをサポートするために、システムは、本来のOSプロセス(すなわち仮想化なし)上で実行できる限定されたソリューションを実現することもできる。この機能は、仮想アセンブリサービスSPIの一部を実現する物理的プラグインを提供することによって実現できる。
図14は、ある実施の形態に従う、PaaSプラットフォームコンポーネントでオーケストレーションエンジンを使用するためのプロセスのフローチャートである。図14に示されるように、ステップ650で、クラウド環境と、そこで実行するPaaSプラットフォームコンポーネント(PaaSプラットフォーム)とを含む、1つ以上のコンピュータを提供する。
ステップ652で、プラットフォームコンポーネントで使用する、1つ以上のサービス定義パッケージを受け、各サービス定義パッケージは、特定の企業アプリケーションコンポーネントについて、如何にしてこの特定の企業アプリケーションコンポーネントをプラットフォームコンポーネント内のサービスタイプとして与えることができるかを定義する。
ステップ654で、プロセスは、サービス定義パッケージ内で、一組の仮想アプライアンスについてのトポロジおよび構成を定義する仮想アセンブリを決定する。
ステップ656で、特定のサービスタイプが、クラウド環境内で使用するために提供されるものであると判断し、対応するサービス管理エンジンを、プラットフォームコンポーネント内でこれら特定のサービスタイプをサポートするように構成する。
ステップ658で、プロセスは複数のサービス管理エンジンと通信して、サービス作成の流れ、プロバイダ依存性の解決、サービスとプロバイダの対応付け、およびクラウド環境内でのサービスのライフサイクル管理を制御する。
エラスティシティマネージャ
図15は、ある実施の形態に従う、PaaSプラットフォームコンポーネントにおけるエラスティシティマネージャの使用をさらに示す。
図15に示されるように、ある実施の形態に従うと、環境マネージャ662を含むクラウドエラスティシティマネージャ660は、メトリック収集部664、665およびアラート670を使用することによって、環境内で実行しているサービスの健全度を求めることができる。環境の状態が求められると、クラウドエラスティシティマネージャは適切なアクション672を起こすことができる。ある実施の形態に従うと、これらメトリック収集部、アラート、およびアクションを、HK2契約として提供して、これら一組のメトリック収集部、アラート、およびアクションを拡張可能にしてもよい。
ある実施の形態に従うと、メトリック収集部は、サービスに関するメトリックデータを周期的に集めて維持するオブジェクトである。たとえば、メトリック収集部は、使用メモリおよびコミットメモリ等のヒープ統計を周期的に集めるものであってもよい。別のメトリック収集部は、CPU使用に関するメトリックを周期的に収集するものであってもよい。一般的に、メトリック収集部は、何らかのリソース使用状態に関する情報を提供する。メトリックは、外部モニタリングツールによって提供されてもよく、メトリック収集部オブジェクトでなくてもよい。ある実施の形態に従うと、クラウドエラスティシティマネージャは、任意のJavaビーンコンポーネントが、アラート生成に使用するメトリックデータを提供できるようにする。
ある実施の形態に従うと、アラートオブジェクトは、ある期間にわたり1つ以上のメトリック収集部によって収集されたメトリックデータを解析することにより、環境内のサービスの健全度を周期的に検査する。たとえば、アラートは、過去10分間のCPUの使用を調べることによって環境がストレスを受けているか否か判断してもよい。アラートは、サービスまたは環境の状態を判断した後、電子メールの送信、メッセージのロギング、イベントの送信、またはサービスのスケールアップもしくはスケールダウン等の何等かのアクションを実行することができる。ある実施の形態に従うと、アラートは複数のアクションを起こすことができる。
ある実施の形態に従うと、クラウドエラスティシティマネージャは、アラートをEL表現として特定できるようにする統一表現言語(Expression Language)(EL)エンジン668を含み得る。EL表現はまた、その表現の中でメトリック収集部およびアラートを使用することができる。ある実施の形態に従うと、クラウドエラスティシティマネージャはまた、外部ELリゾルバオブジェクト667を登録できるようにし、これにより、MBeanまたはPOJO等の他のタイプのオブジェクトを表現内で使用できる。
メトリック収集部、アラートおよびアクションは通常、何らかの構成データを必要とする。たとえば、メトリック収集部は、メトリックデータを保持すべき期間を特定する何らかの構成データを必要とする場合がある。同様に、アラートは、しきい値を特定する何らかの構成データを必要とする場合がある。ある実施の形態に従うと、クラウドエラスティシティマネージャは、クラウドアカウントマネージャに依存してこのような構成データを持続する。ここでも、構成データは、HK2に基づくことによって容易に拡張できるようにしてもよい。
図16は、ある実施の形態に従う、PaaSプラットフォームコンポーネントでエラスティシティマネージャを使用するためのプロセスのフローチャートである。図16に示されるように、ステップ673で、クラウド環境と、そこで実行するPaaSプラットフォームコンポーネント(PaaSプラットフォーム)とを含む、1つ以上のコンピュータを提供する。
ステップ674で、オーケストレーションエンジンは、クラウド環境内で使用する提供すべき特定のサービスタイプを決定し、プラットフォームコンポーネント内で対応するサービス管理エンジンを構成することによって、これら特定のサービスタイプをサポートする。
ステップ676で、エラスティシティマネージャは、プラットフォームコンポーネント内のサービスの健全度を求め、イベントの検出、アラートの発行、および/またはオーケストレーションエンジンに対しサービスライフサイクルを管理するよう通知することを含む、適切なアクションを起こす。
ステップ677で、1つ以上のメトリック収集部オブジェクトは、サービスリソースの使用に関するメトリックデータを周期的に集めて維持し、一方、1つ以上のアラートオブジェクトは、ある期間にわたり1つ以上のメトリック収集部によって収集されたメトリックデータを解析することにより、環境内のサービスの健全度を周期的に検査する。
ステップ679で、エラスティシティマネージャは、サービスライフサイクルを管理して特定のサービスに対する増大した需要を含む要求に応えるように構成される。
SDPのアップデートおよびパッチ
図17は、ある実施の形態に従う、PaaSプラットフォームコンポーネントにおいてサービス定義パッケージをパッチすることをさらに示す。ある実施の形態に従うと、サービスを周期的にメンテナンスすることによって、これらサービスが、たとえばバグの修復、セキュリティアップデートおよび構成変更に対して最新状態であることを保証することができる。均一環境の保証を支援するためには、サービスを同じ組のパッチおよび構成アップデートによって適時アップデートする必要がある。
ある実施の形態に従うと、アップデートは、システムに対して行なわねばならない変更であると定義される。アップデートの例は、セキュリティパッチの適用、コンポーネントのアップグレード、または構成値の変更を含む。アップデートの種類に応じて、ダウンタイムを必要とするアップデートと、ダウンタイムを必要としないアップデートがある場合がある。システムはこれらの状況双方を考慮すればよい。
ある実施の形態に従うと、アップデートは、ハードアップデート、すなわちサービスダウンタイムを必要とするアップデート(たとえばミドルウェアに対するパッチ、オペレーティングシステム(OS)のアップデート等)、またはサービス再起動と、ソフトアップデート、すなわちシステムダウンタイムを必要としないアップデート(たとえば何らかの構成変更)とを含み得る。
ソフトアップデートはダウンタイムを回避するが、それと引き換えにサービス安定性が犠牲になる。この点で、システムアドミニストレータがアップデートを適切にカテゴライズすることが重要である。すべてのサービスがアップデートされて環境を均一に保ち、かつ、メンテナンスウィンドウが制限されてサービスすべてが適切にアップデートされることを保証することも重要である。
ある実施の形態に従うと、メンテナンスウィンドウは、アップデートが特定のサービスに適用されるときの時間枠であると定義される。異なるサービスそれぞれに異なるメンテナンスウィンドウがあってもよい。一般的に、アップデートの種類に応じて、メンテナンスウィンドウの中で以下のアクションのうちの1つ以上が起こる、すなわち、サービスのロックアウト(通常はハードアップデートの場合のみ)、サービスのバックアップ、OSアップデートのうちいずれかまたはすべての適用、システム構成変更の実行、企業アプリケーション、たとえばFusion Middlewareコンポーネントに対するパッチの適用、サービス構成変更の実行(たとえばスレッドのチューニング、IOタイムアウト等)、他の非標準コンポーネントに対するアップデートの実行、サービスVMの再起動、健全度検査の実行、および/またはパブリックアクセスに対するサービスの開放のうちの、1つ以上が起こる。
ソフトアップデートの場合、上記ステップすべてが必要とは限らないであろう。しかしながら、ソフトアップデートは、サービスアクセスが最小のとき(たとえば夜間)に適用することがやはり好ましい。アップデートの中にはサービスランタイムの再始動または再起動を必要としないものもあるが、一般的にはサービスをホストするVMを再起動してクリーンな状態を提供することが推奨される。
ある実施の形態に従うと、サービスのアップグレードは、コンポーネントのうちの1つ以上に主要な変更がなされることを除いて、ハードアップグレードと同様である。この主要な変更は、異なるバージョンのソフトウェアコンポーネントのインストール、ソフトウェアコンポーネントのマイナーなバージョンアップグレード、または構成のマイグレーションのうちの1つ以上を含み得る。
ある実施の形態に従うと、アップグレードされているコンポーネントが、必要なツールを提供しマイグレーションのシナリオを自動化する機能を提供するのであれば、サービスはアップグレードされるであろう。
ある実施の形態に従うと、サービスランタイム上のローカル(またはマウントされた)ファイルシステムとしてリポジトリを利用できると想定する。リポジトリを用いて、メンテナンスウィンドウの中で必要になるコンポーネント(パッチ、構成ファイル、スクリプト等)すべてを保持することができる。たとえば、リポジトリは、例として以下に示す異なるバージョンのサービスに対するアーティファクトを保持することができる。
Figure 0006329547
図17に示されるように、ある実施の形態に従うと、メンテナンスウィンドウに先立って、リポジトリが、必要なコンポーネント682、たとえばパッチ、Puppetマニフェスト、またはシェルスクリプトでアップデートされる。アップデートは、Puppetまたは同様の機能を提供するツールもしくはコンポーネント等の構成ツールを用いて進めることができる。ある実施の形態に従うと、サービスがPuppetまたは適切な構成ツールをインストールさせていなければ、パッチインフラストラクチャが、構成ツールをインストールしリポジトリ内で利用できるようにされたマニフェストを適用する。
また、サービスアドミニストレータが、アップデートを扱うために異なる自動化フレームワークを選択してもよい。すべてのアップデートは、トランザクション的でなければならずかつ失敗の場合はロールバックできるものでなければならない。
ある実施の形態に従うと、システムアドミニストレータは次に、サービスアップデートロジック684が使用するメンテナンスウィンドウ685を定める。ある実施の形態に従うと、クラウドアドミニストレーションコンソールを用いてメンテナンスウィンドウを定めることができる。次に、システムアドミニストレータは、パッチするサービスについてのサービス名およびSDPのバージョン、メンテナンスウィンドウがハードウィンドウなのかソフトウィンドウなのか、メンテナンスウィンドウの長さ(通常、ハードアップデートの場合60分)、アップデートをスケジューリングするための時間枠(通常、ハードアップデートの場合一週間)、およびアップデートの適切な時間を限定するその他のパラメータ等の情報を、構成する。
ある実施の形態に従うと、次に、サービスアップデートロジックは、各サービスに対しデフォルトタイムスロットを割当てる。「ハード」アップデートの場合はサービスアドミニストレータに対してシステムダウンタイムを通知する電子メール通知を送信してもよい。ある実施の形態に従うと、サービスアドミニストレータには、そのサービスがダウンタイムおよびアップデートを招くときに3つのタイムスロットの中から選択するというオプションがある。
アップデート時、アップデートは、サービスアップデートロジックによってリクエストされ687、リポジトリ内の情報を用いて、サービスをその元の構成686から修正後の構成689にパッチまたはアップデートする。
図18は、ある実施の形態に従う、PaaSプラットフォームコンポーネントでサービス定義パッケージをパッチするためのプロセスのフローチャートである。図18に示されるように、ステップ690で、クラウド環境と、そこで実行するPaaSプラットフォームコンポーネント(PaaSプラットフォーム)とを含む、1つ以上のコンピュータを提供する。
ステップ691で、プラットフォームコンポーネントで使用する、1つ以上のサービス定義パッケージを提供する。各サービス定義パッケージは、特定の企業アプリケーションコンポーネントについて、如何にしてその特定の企業アプリケーションコンポーネントをプラットフォームコンポーネント内のサービスタイプとして与えることができるかを定義する。
ステップ692で、サービス定義パッケージと対応付けられた1つ以上のパッチまたはアップデートに従って、メンテナンスウィンドウの中で1つ以上のサービス定義パッケージを修正するためにサービスアップデートロジックを提供する。
ステップ694で、サービスランタイムにおけるローカルまたはマウントされたファイルシステムのうちの1つとしてリポジトリを提供し、これは、サービスアップデートロジックによってメンテナンスウィンドウの中で使用されてサービス定義パッケージを修正するためのパッチ、構成ファイル、スクリプト、および/またはその他のコンポーネントを含む。
ステップ696で、プラットフォームコンポーネント自体を再構成することにより、および/またはサービスのサービス定義パッケージに対応するディスクボリュームをマウントしてそのファイルシステムコンテンツを直接修正することによって、サービスの特性および/または要求を動的に修正またはアップデートする。
本発明は、本開示の教示に従いプログラムされた、1つ以上のプロセッサ、メモリ、および/またはコンピュータ読取可能な記録媒体を含む、従来の汎用もしくは専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを1つ以上用いて、適宜実現し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できるものである。これはソフトウェア技術における当業者には明らかであろう。
実施の形態によっては、本発明は、本発明のプロセスのうちいずれかを実行するためにコンピュータをプログラムするのに使用できる命令が格納された非一時的な記録媒体または(1つまたは複数の)コンピュータ読取可能な媒体であるコンピュータプログラムプロダクトを含む。この記録媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/またはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。
ある実施の形態に従い、クラウドコンピューティング環境で使用するサービス管理エンジンを提供するための装置が提供される。この装置は、クラウド環境内のインストール可能なソフトウェアスイートとして提供され企業アプリケーションに関するセルフサービス提供をサポートするプラットフォームコンポーネントと、オーケストレーションエンジンと通信し、1つ以上の、サービスタイプの提供、ライフサイクル管理、およびモニタリングを含む、サービスタイプとしてサービスを提供することに使用される、1つ以上のサービス管理エンジンとを含む。この装置は、クラウド環境内で使用する提供すべき特定のサービスタイプを決定し、プラットフォームコンポーネント内で対応するサービス管理エンジンを構成してこの特定のサービスタイプをサポートする。
別の実施の形態に従うと、上記1つ以上のサービス管理エンジン各々を用いて、サービス定義パッケージをパースし、サービス定義パッケージの内容に従って、1つ以上の異なるサービスタイプとしてサービスを提供する。
別の実施の形態に従うと、プラットフォームコンテンツは、プラットフォームコンポーネント自体の構成に従って、プロバイダサービス管理エンジンとしての1つ以上のサービス管理エンジンによって、サービスタイプをインスタンス化できるようにする。
本発明に関するこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。当業者には数多くの変更および変形が明らかであろう。変更および変形は、開示されている特徴の適切な組合せを含む。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって他の当業者が本発明のさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。本発明の範囲は、以下の特許請求の範囲およびその均等物によって定められることが意図されている。

Claims (7)

  1. クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムであって、
    1つ以上のコンピュータを備え、前記コンピュータは前記コンピュータ上で実行するクラウド環境を含み、
    前記クラウド環境内のインストール可能なソフトウェアスイートとして提供されプラットフォームコンポーネントを備え
    前記プラットフォームコンポーネントは、
    オーケストレーションエンジンと、
    前記オーケストレーションエンジンと通信し、サービスタイプの提供、ライフサイクル管理、および/またはモニタリングを含む、サービスタイプとしてサービスを提供することに使用される、1つ以上のサービス管理エンジンと、
    1つ以上のサービス定義パッケージとを備え、
    各サービス定義パッケージは企業アプリケーションのバイナリコンポーネントを含み、各サービスタイプは対応するサービス定義パッケージに基づいて作成され、
    前記オーケストレーションエンジンは、前記クラウド環境内で使用する提供すべき特定のサービスタイプを決定し、前記プラットフォームコンポーネント内で対応するサービス管理エンジンを構成して前記特定のサービスタイプをサポートし、
    前記対応するサービス管理エンジンを用いて、前記特定のサービスタイプを作成する基になるサービス定義パッケージをパースし、前記パースしたサービス定義パッケージの内容に従って前記特定のサービスタイプとしてサービスを提供する、システム。
  2. 前記プラットフォームコンポーネントは、前記プラットフォームコンポーネント自体の構成に従って、プロバイダサービス管理エンジンとしての前記1つ以上のサービス管理エンジンによって、サービスタイプをインスタンス化できるようにする、請求項に記載のシステム。
  3. クラウドコンピューティング環境で使用するサービス管理エンジンを提供する方法であって、
    1つ以上のコンピュータを提供することを含み、前記コンピュータは前記コンピュータ上で実行するクラウド環境を含み、
    前記方法は、さらに、前記クラウド環境内のインストール可能なソフトウェアスイートとして提供されプラットフォームコンポーネントを提供することを含み
    前記プラットフォームコンポーネントは、
    オーケストレーションエンジンと、
    前記オーケストレーションエンジンと通信し、サービスタイプの提供、ライフサイクル管理、および/またはモニタリングを含む、サービスタイプとしてサービスを提供することに使用される、1つ以上のサービス管理エンジンと
    1つ以上のサービス定義パッケージとを備え、各サービス定義パッケージは企業アプリケーションのバイナリコンポーネントを含み、各サービスタイプは対応するサービス定義パッケージに基づいて作成され、
    前記方法は、さらに、
    前記オーケストレーションエンジンによって、前記クラウド環境内で使用する提供すべき特定のサービスタイプを決定し、前記プラットフォームコンポーネント内で対応するサービス管理エンジンを構成して前記特定のサービスタイプをサポートすることと
    前記対応するサービス管理エンジンを用いて、前記特定のサービスタイプを作成する基になるサービス定義パッケージをパースし、前記パースしたサービス定義パッケージの内容に従って前記特定のサービスタイプとしてサービスを提供することとを含む、方法。
  4. 前記プラットフォームコンポーネントは、前記プラットフォームコンポーネント自体の構成に従って、プロバイダサービス管理エンジンとしての前記1つ以上のサービス管理エンジンによって、サービスタイプをインスタンス化できるようにする、請求項に記載の方法。
  5. 1つ以上のコンピュータシステムによって実行されると前記1つ以上のコンピュータシステムに請求項3または4に記載の方法を実行させるマシン読取可能な命令を含むコンピュータプログラム。
  6. クラウドコンピューティング環境で使用するサービス管理エンジンを提供するための装置であって、
    クラウド環境内のインストール可能なソフトウェアスイートとして提供されプラットフォームコンポーネントを備え、前記プラットフォームコンポーネントは
    オーケストレーションエンジンと、
    前記オーケストレーションエンジンと通信し、1つ以上の、サービスタイプの提供、ライフサイクル管理、およびモニタリングを含む、サービスタイプとしてサービスを提供することに使用される、1つ以上のサービス管理エンジンと、
    1つ以上のサービス定義パッケージとを備え、
    各サービス定義パッケージは企業アプリケーションのバイナリコンポーネントを含み、各サービスタイプは対応するサービス定義パッケージに基づいて作成され、
    前記オーケストレーションエンジンは、前記クラウド環境内で使用する提供すべき特定のサービスタイプを決定し、前記プラットフォームコンポーネント内で対応するサービス管理エンジンを構成して前記特定のサービスタイプをサポートし、
    前記対応するサービス管理エンジンを用いて、前記特定のサービスタイプを作成する基になるサービス定義パッケージをパースし、前記パースしたサービス定義パッケージの内容に従って前記特定のサービスタイプとしてサービスを提供する、装置。
  7. 前記プラットフォームコンポーネントは、前記プラットフォームコンポーネント自体の構成に従って、プロバイダサービス管理エンジンとしての前記1つ以上のサービス管理エンジンによって、サービスタイプをインスタンス化できるようにする、請求項に記載の装置。
JP2015531250A 2012-09-07 2013-09-06 クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法 Active JP6329547B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201261698467P 2012-09-07 2012-09-07
US61/698,467 2012-09-07
US201361748658P 2013-01-03 2013-01-03
US61/748,658 2013-01-03
US201361766819P 2013-02-20 2013-02-20
US61/766,819 2013-02-20
US201361799126P 2013-03-15 2013-03-15
US61/799,126 2013-03-15
US13/970,403 US10122596B2 (en) 2012-09-07 2013-08-19 System and method for providing a service management engine for use with a cloud computing environment
US13/970,403 2013-08-19
PCT/US2013/058574 WO2014039866A1 (en) 2012-09-07 2013-09-06 System and method for providing a service management engine for use with a cloud computing environment

Publications (3)

Publication Number Publication Date
JP2015534167A JP2015534167A (ja) 2015-11-26
JP2015534167A5 JP2015534167A5 (ja) 2016-10-20
JP6329547B2 true JP6329547B2 (ja) 2018-05-23

Family

ID=50234529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015531250A Active JP6329547B2 (ja) 2012-09-07 2013-09-06 クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法

Country Status (5)

Country Link
US (4) US10122596B2 (ja)
EP (1) EP2893445A1 (ja)
JP (1) JP6329547B2 (ja)
CN (1) CN104541246B (ja)
WO (1) WO2014039866A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10326978B2 (en) 2010-06-30 2019-06-18 Warner Bros. Entertainment Inc. Method and apparatus for generating virtual or augmented reality presentations with 3D audio positioning
US10122596B2 (en) 2012-09-07 2018-11-06 Oracle International Corporation System and method for providing a service management engine for use with a cloud computing environment
US20140280964A1 (en) * 2013-03-15 2014-09-18 Gravitant, Inc. Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities
US9973451B2 (en) 2013-09-20 2018-05-15 Oracle International Corporation System and method for providing administration command progress status in a cloud platform environment
EP3097481B1 (en) 2014-01-21 2022-11-30 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
KR20180043385A (ko) 2014-04-09 2018-04-27 콘비다 와이어리스, 엘엘씨 서비스 인에이블러 기능
US10356155B2 (en) * 2014-04-30 2019-07-16 Suse Llc Service onboarding
US9843478B2 (en) 2014-06-12 2017-12-12 Dell Products L.P. Template builder for end-to-end provisioning and lifecycle management of it infrastructure and services
US11477278B2 (en) 2014-06-24 2022-10-18 Oracle International Corporation System and method for supporting partitions in a multitenant application server environment
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US9405530B2 (en) 2014-09-24 2016-08-02 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US10225209B2 (en) * 2015-01-21 2019-03-05 Oracle International Corporation System and method for interceptors in a multitenant application server environment
US9652612B2 (en) 2015-03-25 2017-05-16 International Business Machines Corporation Security within a software-defined infrastructure
CN106406834A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 一种管理应用系统的方法、装置和系统
US10341194B2 (en) * 2015-10-05 2019-07-02 Fugue, Inc. System and method for building, optimizing, and enforcing infrastructure on a cloud based computing environment
CN105376225B (zh) * 2015-11-02 2019-07-26 亚信科技(南京)有限公司 一种软件服务化的方法及装置
CN105700964B (zh) * 2016-02-23 2019-02-15 浪潮通用软件有限公司 一种实现异构软件系统间远程通讯的方法
US10127030B1 (en) 2016-03-04 2018-11-13 Quest Software Inc. Systems and methods for controlled container execution
US10140159B1 (en) 2016-03-04 2018-11-27 Quest Software Inc. Systems and methods for dynamic creation of container manifests
US10270841B1 (en) 2016-03-04 2019-04-23 Quest Software Inc. Systems and methods of real-time container deployment
US10289457B1 (en) 2016-03-30 2019-05-14 Quest Software Inc. Systems and methods for dynamic discovery of container-based microservices
US10270846B2 (en) * 2016-08-11 2019-04-23 Dell Products L.P. System and method for monitoring a service-oriented architecture in a load-balanced environment
US11138017B2 (en) 2016-09-16 2021-10-05 Oracle International Corporation System and method for partition administrative targeting in an application server environment
JP6419234B2 (ja) 2017-02-28 2018-11-07 株式会社テクロック 測定ソリューションサービス提供システム
JP6363246B1 (ja) 2017-04-03 2018-07-25 株式会社テクロック 測定ソリューションサービス提供システム
US11184432B2 (en) * 2017-09-28 2021-11-23 Oracle International Corporation System and method for dynamic auto-scaling based on roles
JP6649349B2 (ja) * 2017-11-21 2020-02-19 株式会社テクロック・スマートソリューションズ 測定ソリューションサービス提供システム
KR20200106036A (ko) 2017-12-08 2020-09-10 넷-썬더, 엘엘씨 자동 배포되는 정보 기술(it) 시스템 및 방법
CA3143247A1 (en) 2019-06-11 2020-12-17 Net-Thunder, Llc Automatically deployed information technology (it) system and method with enhanced security
CN112243016B (zh) * 2019-07-18 2024-04-23 北京森格寰瑞智能科技有限公司 一种中间件平台、终端设备、5g人工智能云处理系统及处理方法
US11403084B2 (en) 2020-01-10 2022-08-02 Jpmorgan Chase Bank, N.A. System and method for implementing an orchestration engine
US11461091B2 (en) 2021-02-03 2022-10-04 Oracle International Corporation System and method for creating or updating tenant artifacts by a multi-tenant cloud service
US11789774B2 (en) 2021-02-22 2023-10-17 International Business Machines Corporation Optimization of workload scheduling in a distributed shared resource environment
JP7284791B2 (ja) 2021-09-22 2023-05-31 株式会社日立製作所 分散トランザクションシステム及び分散トランザクションシステムにおける分散トランザクション処理方法
US11985032B2 (en) 2022-08-31 2024-05-14 6Connect, Inc Metadata-aware templating engine for assigning internet protocol address space in an organization

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243451B1 (en) * 1997-10-09 2001-06-05 Alcatel Usa Sourcing, L.P. Service management access point
EP3282358A1 (en) * 2005-02-11 2018-02-14 Comptel Corporation Service provisioning method, system and computer program product
US20080189679A1 (en) * 2007-02-05 2008-08-07 Jared Rodriguez Method and system for creating, deploying, and utilizing a service
US9177271B2 (en) * 2008-08-14 2015-11-03 Hewlett-Packard Development Company, L.P. Heterogeneous information technology (IT) infrastructure management orchestration
US8271974B2 (en) * 2008-10-08 2012-09-18 Kaavo Inc. Cloud computing lifecycle management for N-tier applications
US8392566B1 (en) * 2008-10-30 2013-03-05 Hewlett-Packard Development Company, L.P. Computer executable services
US9329951B2 (en) * 2009-07-31 2016-05-03 Paypal, Inc. System and method to uniformly manage operational life cycles and service levels
US8813065B2 (en) 2010-04-26 2014-08-19 Vmware, Inc. Microcloud platform delivery system
US8627426B2 (en) 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8910278B2 (en) 2010-05-18 2014-12-09 Cloudnexa Managing services in a cloud computing environment
US20120016681A1 (en) * 2010-07-13 2012-01-19 Salesforce.Com, Inc. System, method and computer program product for analyzing monitored usage of a resource
JP4852734B1 (ja) 2010-09-22 2012-01-11 株式会社Csk サービス制御システム
US8805970B2 (en) * 2010-10-25 2014-08-12 International Business Machines Corporation Automatic management of configuration parameters and parameter management engine
JP5598319B2 (ja) 2010-12-27 2014-10-01 富士通株式会社 アプリケーションプログラムの動作管理方法、動作管理装置及び動作管理プログラム
WO2012100092A2 (en) 2011-01-19 2012-07-26 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
US9063789B2 (en) 2011-02-08 2015-06-23 International Business Machines Corporation Hybrid cloud integrator plug-in components
ES2429215B1 (es) * 2011-04-07 2014-09-02 Telefónica, S.A. Sistema intermediario de servicios
US8997078B2 (en) 2011-04-12 2015-03-31 Pivotal Software, Inc. Release lifecycle management system for a multi-node application
US9336060B2 (en) * 2011-06-17 2016-05-10 Microsoft Technology Licensing, Llc Middleware services framework for on-premises and cloud deployment
US20130227143A1 (en) 2012-02-27 2013-08-29 Verizon Patent And Licensing Inc. Method and system for providing transaction management in a request-oriented service architecture using meta-models
US9052961B2 (en) * 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
BR112014018142A8 (pt) * 2012-04-30 2017-07-11 Hewlett Packard Development Co Sistema de gestão automática de eventos para uma rede na nuvem, método para administrar eventos para serviços na nuvem e sistema de gerenciamento de eventos em nuvem
US9317325B2 (en) 2012-05-01 2016-04-19 Red Hat, Inc. Application idling in a multi-tenant cloud-based application hosting environment
US9245111B2 (en) 2012-05-01 2016-01-26 Red Hat, Inc. Owner command execution in a multi-tenant cloud hosting environment
US9063746B2 (en) * 2012-06-22 2015-06-23 Sap Se Deployment of software applications on a cloud computing platform
DE102012210698A1 (de) 2012-06-25 2014-01-02 Robert Bosch Gmbh Verfahren zum Durchführen eines Energiemanagements eines Fahrzeuges
GB2503463A (en) * 2012-06-27 2014-01-01 Ibm Overriding abstract resource manager methods to provide resources to implement nodes in a service definition
US9342536B2 (en) * 2012-07-31 2016-05-17 International Business Machines Corporation Intent based automation of data management operations by a data management engine
EP2831746A1 (en) * 2012-07-31 2015-02-04 Hewlett-Packard Development Company, L.P. Orchestrating hybrid cloud services
US9201639B2 (en) 2012-09-07 2015-12-01 Oracle International Corporation System and method for service definition packages for use with a cloud computing environment
US9357034B2 (en) 2012-09-07 2016-05-31 Oracle International Corporation System and method for orchestration of services for use with a cloud computing environment
US10122596B2 (en) 2012-09-07 2018-11-06 Oracle International Corporation System and method for providing a service management engine for use with a cloud computing environment
US9323517B2 (en) 2012-09-07 2016-04-26 Oracle International Corporation System and method for dynamic modification of service definition packages with a cloud computing environment
US9424024B2 (en) 2012-09-07 2016-08-23 Oracle International Corporation System and method for elasticity management of services with a cloud computing environment
US9818127B2 (en) * 2013-03-15 2017-11-14 International Business Machines Corporation Implementing comparison of cloud service provider package offerings
US10110506B2 (en) 2013-09-20 2018-10-23 Oracle International Corporation System and method for quota management in a cloud platform environment
US9973451B2 (en) 2013-09-20 2018-05-15 Oracle International Corporation System and method for providing administration command progress status in a cloud platform environment
US9898344B2 (en) 2013-09-20 2018-02-20 Oracle International Corporation System and method for providing configuration modularity in an application server, cloud platform, or other environment
WO2015065374A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Management of the lifecycle of a cloud service modeled as a topology

Also Published As

Publication number Publication date
US11374833B2 (en) 2022-06-28
US10122596B2 (en) 2018-11-06
EP2893445A1 (en) 2015-07-15
US20140075019A1 (en) 2014-03-13
US20220321430A1 (en) 2022-10-06
CN104541246B (zh) 2020-03-03
US12009999B2 (en) 2024-06-11
WO2014039866A1 (en) 2014-03-13
US20190052550A1 (en) 2019-02-14
JP2015534167A (ja) 2015-11-26
US20240297833A1 (en) 2024-09-05
CN104541246A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
JP6329547B2 (ja) クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法
US9357034B2 (en) System and method for orchestration of services for use with a cloud computing environment
US9424024B2 (en) System and method for elasticity management of services with a cloud computing environment
US9201639B2 (en) System and method for service definition packages for use with a cloud computing environment
US9323517B2 (en) System and method for dynamic modification of service definition packages with a cloud computing environment
US9760358B2 (en) System and method for test to production support in a cloud platform environment
US9612817B2 (en) System and method for providing a physical plugin for use in a cloud platform environment
US9767312B2 (en) System and method for integrating a cloud platform environment with an application server or other environment
US10225335B2 (en) Apparatus, systems and methods for container based service deployment
US9843487B2 (en) System and method for provisioning cloud services using a hybrid service management engine plugin
US9389791B2 (en) Enhanced software application platform
US10419301B2 (en) System and method for multitenant service management engine in a cloud platform environment
US9742688B2 (en) System and method for supporting service resources and feature sets in a cloud platform environment
US20120102480A1 (en) High availability of machines during patching
US20120151198A1 (en) System and Method for Instantiation of Distributed Applications from Disk Snapshots

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160902

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180420

R150 Certificate of patent or registration of utility model

Ref document number: 6329547

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250