JP6060159B2 - アプリケーション特性に基づく自動ハードウェアプロビジョニングのためのシステムおよび方法 - Google Patents

アプリケーション特性に基づく自動ハードウェアプロビジョニングのためのシステムおよび方法 Download PDF

Info

Publication number
JP6060159B2
JP6060159B2 JP2014523995A JP2014523995A JP6060159B2 JP 6060159 B2 JP6060159 B2 JP 6060159B2 JP 2014523995 A JP2014523995 A JP 2014523995A JP 2014523995 A JP2014523995 A JP 2014523995A JP 6060159 B2 JP6060159 B2 JP 6060159B2
Authority
JP
Japan
Prior art keywords
application
template
resources
environment
hardware
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
JP2014523995A
Other languages
English (en)
Other versions
JP2014524608A (ja
JP2014524608A5 (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 JP2014524608A publication Critical patent/JP2014524608A/ja
Publication of JP2014524608A5 publication Critical patent/JP2014524608A5/ja
Application granted granted Critical
Publication of JP6060159B2 publication Critical patent/JP6060159B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

発明の分野
本発明は、概して、アプリケーションサーバ環境におけるアプリケーションのデプロイメント(deployment)に関し、具体的には、アプリケーション特性に基づく自動ハードウェアプロビジョニング(provisioning)のためのシステムおよび方法に関する。
背景
典型的に、Java(登録商標)アプリケーションのようなアプリケーションのデプロイメントは、先ず物理リソースを確保(たとえばサーバを集めグループ化することによって1つのクラスタを形成)してから、上記物理リソースに対してこのアプリケーションをデプロイすることによって行なわれる。ハードウェアの定義(すなわち物理リソースの構成)は静的(static)である。そのため、たとえばデプロイされたアプリケーションがより高い計算能力またはより低い計算能力を必要とするとき、この技術にそれほど柔軟性はない。このような静的な定義は、ハードウェア利用の不十分な最適化、ならびにマシン償却および消費電力コストの増加につながる。加えて、デプロイメントは一般的にアプリケーションサーバに依存する。これは、あるアプリケーションサーバ(たとえばオラクルグラスフィッシュサーバ(Oracle Glassfish Server))から別のアプリケーションサーバ(たとえばオラクルウェブロジックサーバ(Oracle WebLogic server))への切換には、一般的に、新たな構成およびそれに続いてリデプロイメント(redeployment)が必要であることを意味する。これらが、本発明の実施の形態が対象としている一般的な分野である。
概要
本明細書に記載のように、アプリケーション特性に基づいてリソースを自動的にプロビジョニングするためのシステムおよび方法が提供される。ある実施の形態に従うと、システムは、コンピュータ読取可能な媒体およびプロセッサを含むコンピュータと、このコンピュータ上で実行するテンプレートエンジンとを含み得る。テンプレートエンジンは、アプリケーションおよび関連するメタデータを受信するように構成される。システムはまた、仮想化環境と、各々が、仮想化環境内で利用できる異なるリソースを定義する、複数のテンプレートとを含み得る。テンプレートエンジンは、アプリケーションおよび関連するメタデータを受信すると、関連するメタデータに基づいてアプリケーションのリソース要求を決定し、リソース要求を複数のテンプレートと比較し、リソース要求にとって適切なテンプレートを識別し、適切なテンプレートを用いて仮想化環境内のリソースをプロビジョニングする。次に、ハードウェアリソースを、仮想化環境のニーズに応じて動的に割当てることができる。このような自動プロビジョニングによって、プロセスが簡略化されるので、ユーザにとって、アプリケーションのデプロイメントおよびアンデプロイメント(undeployment)が容易になる。加えて、所与のアプリケーションに対して割当てられたリソースを性能に基づいて動的に調整することができる。これは、多数のインプリメンテーション、たとえばクラウドコンピューティングにおいて有用となり得る。
従来のデプロイメント環境のブロック図を示す。 ある実施の形態に従う、自動ハードウェアプロビジョニングのためのシステムのブロック図を示す。 ある実施の形態に従う、テンプレートエンジンのブロック図を示す。 ある実施の形態に従う、デプロイメント環境を動的にアップデートするためのシステムのブロック図を示す。 ある実施の形態に従う、アプリケーション特性に基づいてハードウェアリソースを自動的にプロビジョニングする方法を示す。 本発明のいくつかの実施の形態に従う、自動ハードウェアプロビジョニングのための装置の機能ブロック図を示す。
詳細な説明
以下の説明において、本発明は、添付の図面に限定ではなく例示を目的として示される。本開示においてさまざまな実施の形態と呼んでいるものは、必ずしも同じ実施の形態ではなく、さまざまなという表現は、少なくとも1つを意味する。特定のインプリメンテーションについて述べているが、これは専ら例示のためであることが理解される。他の要素および構成を本発明の範囲および精神から逸脱することなく使用し得ることが、当業者によって認識されるであろう。
さらに、場合によっては、本発明を十分に説明するために具体的な詳細事項が多数記載される。しかしながら、このような具体的な詳細事項がなくとも本発明を実施し得ることは、当業者にとって明らかであろう。それ以外の場合においては、周知の特徴を詳細に説明しすぎて本発明がかえって不明瞭になることを避けるようにしている。
本明細書に記載のように、アプリケーション特性に基づいてリソースを自動的にプロビジョニングするためのシステムおよび方法が提供される。ある実施の形態に従うと、システムは、コンピュータ読取可能な媒体およびプロセッサを含むコンピュータと、このコンピュータ上で実行するテンプレートエンジンとを含み得る。テンプレートエンジンは、アプリケーションおよび関連するメタデータを受信するように構成される。システムはまた、仮想化環境と、各々が、仮想化環境内で利用できる異なるリソースを定義する、複数のテンプレートとを含み得る。テンプレートエンジンは、アプリケーションおよび関連するメタデータを受信すると、関連するメタデータに基づいてアプリケーションのリソース要求を決定し、リソース要求を複数のテンプレートと比較し、リソース要求にとって適切なテンプレートを識別し、適切なテンプレートを用いて仮想化環境内のリソースをプロビジョニングする。次に、ハードウェアリソースを、仮想化環境のニーズに応じて動的に割当てることができる。このような自動プロビジョニングによって、プロセスが簡略化されるので、ユーザにとって、アプリケーションのデプロイメントおよびアンデプロイメントが容易になる。加えて、所与のアプリケーションに対して割当てられたリソースを性能に基づいて動的に調整することができる。これは、多数のインプリメンテーション、たとえばクラウドコンピューティングにおいて有用となり得る。
このような遅延バインディング(late binding)のさらに他の利点は、システムが、アプリケーションの特性および性能に基づいてマシンの割当を最適化できることを含む。システムは、アプリケーションの使用統計に基づいて、使用する仮想マシンの数を増減することもできる。加えて、サーバ1台当たりの実行アプリケーションの密度を、仮想マシンの移動/起動または停止によって改善できる。アプリケーションがデプロイされると、ハードウェアの割当をシステムが行なうので、アプリケーションサーバをより簡単にメンテナンスできる。また、ハードウェアの使用効率が高くなるので、ハードウェアおよび消費電力コストを削減できる。
図1は、従来のデプロイメント環境のブロック図を示す。従来のシステムでは、ハードウェアインフラストラクチャ(たとえば複数のマシン、データベース、アプリケーションサーバ等)を手作業でセットアップしてから構成した後でなければ、アプリケーションをデプロイできない。図1に示されるように、さまざまなアプリケーション100をデプロイに利用することができる。これらは、アプリケーション1 102、アプリケーション2 104、…アプリケーションN 106を含む。これらのアプリケーションのうちいずれかをデプロイするには、その前に適切なシステムを手作業で構成しなければならない108。この、静的に定義されたシステム110は、通例、静的定義112に基づき、かつ、適切なデプロイおよびデプロイされているアプリケーションの動作に必要と考えられるハードウェアリソース114およびソフトウェアリソースを含む。必要なリソースが取得されたら、静的に定義されたシステムを、たとえばクラスタまたはその他の適切な構成をなすように、構成することができる。
続いて、上記アプリケーションのうちの1つ以上を、120で示す静的に定義されたシステムに、手作業でデプロイすることができる118。この例において、静的に定義されたシステムは複数のサーバ(サーバ1 122、サーバ2 124、…サーバN 126)を有し、これらのサーバ各々に自身のリソースがあり、各サーバにアプリケーションのうち2つがデプロイされている。しかしながら、このようなシステムには静的であるという問題がある。たとえば、このシステムに対するリソースの割当に誤りがあった場合(割当てられたリソースの数が過剰または過少)、アプリケーションが正しくまたは効率的に機能しない可能性がある。加えて、このようなシステムを変更する場合、一般的には、アプリケーションを、先ずアンデプロイし、新たに割当てられたシステムに対してリデプロイしなければならない。結果として、この期間中アプリケーションを利用できないという事態が生じ得る。
ある実施の形態に従い、仮想化を利用して、物理リソース(ハードウェアインフラストラクチャ)を、動的かつ自動的に、アプリケーションのデプロイメントに関連付けることができる。デプロイメントに先立って物理リソースをアプリケーションに関連付ける必要はなく、デプロイメント中に適切な物理リソースを動的に決定し割当てればよい。加えて、デプロイされたアプリケーションの性能をモニタすることにより、最初に割当てられた物理リソースを、アプリケーションをリデプロイすることなく、動的にアップデートできる。
ある実施の形態に従い、アプリケーションを、仮想化環境内において仮想マシン内で実行している1つ以上のアプリケーションサーバ上にデプロイすることができる。ハードウェア(物理)リソースは、アプリケーションを既存のハードウェアリソースにマッピングするのではなく、アプリケーションの特性に基づいて提供できる。したがって、ハードウェアの割当は、アプリケーションのデプロイに伴って生じることになる。このため、アプリケーションをその性能に基づいてデプロイする環境(たとえばクラスタ)のカスタマイズに対するシステムの柔軟性がより高くなる。
図2は、ある実施の形態に従う、自動ハードウェアプロビジョニングのためのシステムのブロック図を示す。図2に示されるように、複数のアプリケーション200をデプロイに利用することができる。この例では、手作業でシステムを構成せずに、最初にアプリケーションをデプロイすることができる。各アプリケーション(アプリケーション1 202、アプリケーション2 206、…アプリケーションN 210)は、そのアプリケーションに固有のメタデータ(204、208、212)を含む。メタデータは、アプリケーションのデプロイ時にそのアプリケーションに対して割当てる必要があるシステムリソースを定義する。214で、あるアプリケーションおよびそのメタデータがデプロイのために送信される。テンプレートエンジン216は、そのアプリケーションおよびメタデータを受信する。テンプレートエンジンは、メタデータを解析し218、アプリケーションが要求するリソースを識別することができる。たとえば、これらリソースは、多数のアプリケーションサーバ、データベース、またはメッセージサービスを含み得る。テンプレートエンジンは、各々が、異なるリソースに関連付けられた、複数のテンプレートを含む。テンプレートエンジンは、自身によるメタデータの解析に基づいて、このテンプレートエンジンが利用できるテンプレート222の中から適切なテンプレートを識別することができる220。テンプレートエンジンは、これらテンプレートを用いて、仮想化環境226からの適切なリソースをプロビジョニングすることができる。
ある実施の形態に従うと、仮想化環境は1つ以上の仮想マシンを含み得る。図2に示されるように、仮想化環境は、VM1 228、VM2 230、…VM N 232を含む、複数の仮想マシンを備える。次に、アプリケーションを、プロビジョニングされたリソースを含む仮想化されたハードウェア環境に、デプロイすることができる233。
アプリケーションが仮想化環境にデプロイされると、次に、ハードウェアが、アプリケーションのリソース要求に基づいて割当てられる234。ハードウェアは、ハードウェアサーバ、コンピュータ、データベース等の、複数の汎用ハードウェアリソース(238〜242)を含むバックエンドのハードウェア環境236から、割当てることができる。アプリケーションがデプロイされた仮想化環境も、仮想化環境をホストするハードウェア環境も、アプリケーションをリデプロイせずに、動的にアップデートできる。
図3は、ある実施の形態に従うテンプレートエンジンのブロック図を示す。ある実施の形態に従うと、ユーザは、アプリケーションのデプロイを選択した場合、このアプリケーションとそのメタデータをテンプレートエンジン300に送信する。テンプレートエンジンは、このアプリケーションおよびメタデータを受信し302、メタデータを解析してアプリケーションのリソース要求を決定する。アプリケーションがメタデータを含まない場合またはメタデータがリソース要求を含まない場合、テンプレートエンジンは、このアプリケーションに対して、リソースのデフォルトセットを割当てることができる。これは、デプロイされているアプリケーションの種類に基づいてテンプレートエンジンが選択する、予め構成された1つ以上のデフォルト設定を用いて行なうことができる。加えて、リソースの中には、よく似た種類のアプリケーションに典型的なリソース要求の詳細を示す、格納されている情報に基づいて、暗黙的に識別できるリソースがある。
テンプレートエンジンは、アプリケーションのリソース要求を決定すれば、このリソース要求を、テンプレートエンジンに登録されている(すなわち利用できる)テンプレートと比較することができる306。テンプレート308は、特に、アプリケーションサーバテンプレート310、メッセージサービステンプレート312、およびデータベーステンプレート314を含み得る。テンプレートエンジンは、アプリケーションのリソース要求に基づいて適切なテンプレートを識別することができ316、かつ、識別されたテンプレートを用いて適切なリソースをプロビジョニングすることができる318。テンプレートエンジンは、適切なリソースをプロビジョニングするとき、リソースすべてに関するアドレス情報(IPアドレス等)を取得する。次に、テンプレートエンジンは、アプリケーションがリソースすべてと直ちに通信できるよう、リソースに関するアドレス情報を用いてアプリケーションを正式にデプロイすることができる。
図4は、ある実施の形態に従う、デプロイメント環境を動的にアップデートするためのシステムのブロック図を示す。上記のように、テンプレートエンジンは、リソースをプロビジョニングし、テンプレートを用いてアプリケーションを仮想化環境にデプロイすることができる。図4に示されるように、アプリケーション1 400を、仮想化されたハードウェア環境404にデプロイすることができる402。仮想化環境404は、複数の仮想マシン(VM1 406およびVM2 408等)を含み得る。
続いて、ハードウェアリソースをハードウェア環境412から割当てることができる410。アプリケーションを仮想化環境にデプロイし、ハードウェアリソースを遅延バインディングによって割当てることにより、特定のアプリケーションに対して割当てられたリソースを、観察されたアプリケーションの要求に応じて動的に調整することができ、さらに、アプリケーションの性能の要求に応じて調整することができる。
図4に示されるように、アプリケーション1 400は、ハードウェア環境412内のハードウェアリソース1〜3(414〜418)上にホストされている2つの仮想マシンVM1およびVM2を含む、仮想化ハードウェア環境に、デプロイされている。テンプレートエンジンは、最初に構成された仮想化ハードウェア環境におけるアプリケーションの性能をモニタすることができる420。アプリケーションを再構成する必要があれば、テンプレートエンジンが、現在割当てられているリソースを識別し、それを、新たに要求されているリソースと比較することができる。次に、テンプレートエンジンは、仮想化ハードウェア環境に割当てられているリソースを動的に調整することができる422。図4に示されるように、動的に調整された仮想化環境423は、動的に調整されたハードウェア環境424によってホストされている。アプリケーションが、現在割当てられている仮想および/またはハードウェア環境において正しく機能していないと判断された場合、各環境にリソースをさらに追加することができる。たとえば、VM3 426およびVM4 428を仮想化環境に追加することができ、さらに複数のハードウェアリソース〜ハードウェアリソースN 430を、ハードウェア環境に追加できる。しかしながら、最初に割当てたリソースの数が多すぎ、かつ、アプリケーションがこれらすべてを利用していなかった場合、テンプレートエンジンは、このアプリケーションに割当てられた仮想化ハードウェアリソースを、動的に減じることができる。同様に、あるアプリケーションをそれ以上使用しない場合は、このアプリケーションをアンデプロイすることができる。これにより、仮想化環境が削除されて仮想マシンが除去される。これはあたかもアプリケーションがデプロイされたことがないような状態である。
図5は、ある実施の形態に従う、アプリケーション特性に基づいてハードウェアリソースを自動的にプロビジョニングする方法を示す。ステップ500で、テンプレートエンジンにおいてアプリケーションおよびそれに関連するメタデータを受信する。ステップ502で、メタデータに基づきアプリケーションのリソース要求を決定する。ステップ504で、リソース要求を複数のテンプレートと比較する。ステップ506で、リソース要求にとって適切なテンプレートを識別する。ステップ508で、テンプレートを用い、リソースを、そのリソースのための仮想化環境の中でプロビジョニングする。
図5に示される方法はさらに、複数の汎用ハードウェアリソースを含むハードウェア環境によって、仮想化環境をホストすることを含み得る。これはさらに、アプリケーションの性能をモニタすることと、仮想化環境内のリソースをアプリケーションの性能に基づいて動的に調整することとを含み得る。加えて、ハードウェア環境内の汎用ハードウェアリソースをアプリケーションの性能に基づいて動的に調整することができる。また、仮想化環境を削除することによってアプリケーションをアンデプロイすることができる。
いくつかの実施の形態に従い、図6は、アプリケーション特性に基づいてリソースを動的にプロビジョニングする装置600の機能ブロック図を示す。装置600は、上記本発明の原理に従って構成されている。装置600の機能ブロックは、本発明の原理を実施するために、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せによって、実現し得る。図6に示される機能ブロックを組み合わせるまたは分離することによってサブブロックを構成して上記本発明の原理を実現し得ることが、当業者によって理解される。したがって、本明細書における説明は、記載されている機能ブロックの、可能な組合せまたは分離またはさらに他の定義を、サポートし得る。
図6に示されるように、装置600は、受信モジュール610、決定モジュール620、比較モジュール630、識別モジュール640、およびプロビジョニングモジュール650を含み得る。
実施の形態によっては、受信モジュール610を、アプリケーションおよび関連するメタデータを受信するように構成できる。決定モジュール620は、関連するメタデータに基づいてアプリケーションのリソース要求を決定するように構成できる。比較モジュール630は、リソース要求を、各々が仮想化環境から利用できる異なるリソースを定義する複数のテンプレートと比較するように構成できる。実施の形態によっては、テンプレートは、アプリケーションサーバテンプレート、データベーステンプレート、およびメッセージサービステンプレートを含み得る。実施の形態によっては、仮想化環境が、複数の汎用ハードウェアリソースを含むハードウェア環境によってホストされてもよい。
識別モジュール640は、リソース要求にとって適切なテンプレートを識別するように構成できる。プロビジョニングモジュール650は、ハードウェアリソースに対する遅延バインディングのために適切なテンプレートを用いて仮想化環境内のリソースをプロビジョニングするように構成できる。
実施の形態によっては、装置600が、モニタリングモジュール660および第1の調整モジュール670をさらに含んでもよい。モニタリングモジュール660は、アプリケーションの性能をモニタするように構成できる。第1の調整モジュール670は、アプリケーションの性能に基づいて仮想化環境内のリソースを動的に調整するように構成できる。実施の形態によっては、装置600が、アプリケーションの性能に基づいてハードウェア環境内の汎用ハードウェアリソースを動的に調整するように構成できる第2の調整モジュール680をさらに含んでもよい。実施の形態によっては、装置600が、仮想化環境を削除することによってアプリケーションをデプロイするように構成できるアンデプロイモジュール690をさらに含んでもよい。
本発明の1つの実施の形態は、アプリケーション特性に基づいてリソースを自動的にプロビジョニングする装置を含み、この装置は、アプリケーションおよび関連するメタデータを受信するように構成された受信モジュールと、関連するメタデータに基づいてアプリケーションのリソース要求を決定するように構成された決定モジュールと、リソース要求を、各々が、仮想化環境から利用できる異なるリソースを定義する、複数のテンプレートと比較するように構成された比較モジュールと、リソース要求にとって適切なテンプレートを識別するように構成された識別モジュールと、ハードウェアリソースに対する遅延バインディングのために適切なテンプレートを用いて仮想化環境内のリソースをプロビジョニングするように構成されたプロビジョニングモジュールとを備える。
本発明の別の実施の形態に含まれる装置では、仮想化環境が、複数の汎用ハードウェアリソースを含むハードウェア環境によってホストされる。
本発明の別の実施の形態は、アプリケーションの性能をモニタするように構成されたモニタリングモジュールと、アプリケーションの性能に基づいて仮想化環境内のリソースを動的に調整するように構成された第1の調整モジュールとを備える装置をさらに含む。
本発明の別の実施の形態は、アプリケーションの性能に基づいてハードウェア環境内の汎用ハードウェアリソースを動的に調整するように構成された第2の調整モジュールを備える装置をさらに含む。
本発明の別の実施の形態に含まれる装置では、テンプレートが、アプリケーションサーバテンプレート、データベーステンプレート、およびメッセージサービステンプレートを含む。
本発明のさらに別の実施の形態は、仮想化環境を削除することによってアプリケーションをアンデプロイするように構成されたアンデプロイモジュールをさらに備える装置を含む。
本発明は、1つ以上のプロセッサ、メモリ、および/または本開示の教示に従いプログラムされた非一時的なコンピュータ読取可能な記憶媒体を含む、従来の汎用または専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを1つ以上用いて、適宜実現し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できる。これはソフトウェア技術の当業者には明らかであろう。
実施の形態によっては、本発明は、本発明のプロセスのうちいずれかを実行するためにコンピュータをプログラムするのに使用できる命令が格納されたコンピュータ読取可能な記憶媒体であるコンピュータプログラムプロダクトを含む。このコンピュータ読取可能な記憶媒体は、フロッピーディスク(登録商標)、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/またはデータを記憶するのに適した任意の種類の媒体もしくはデバイスを含み得る。
本発明に関するこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。当業者には数多くの変更および変形が明らかであろう。これらの側面の特徴を、他の特徴を相応に用いてまたは用いることなく、さまざまな形で組み合わせたものを使用し得ることも理解される。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって当業者が本発明のさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。本発明の範囲は、以下の特許請求の範囲およびその均等物によって定められることが意図されている。

Claims (14)

  1. アプリケーション特性に基づいてリソースを自動的にプロビジョニングするためのシステムであって、
    コンピュータと、
    前記コンピュータ上で実行するテンプレートエンジンとを備え、前記テンプレートエンジンは、アプリケーション関連するメタデータを含む当該アプリケーションを受信するように構成され、さらに
    仮想化環境と、
    各々が、前記仮想化環境から利用できる異なるリソースを定義する、複数のテンプレートとを備え、
    前記テンプレートエンジンが前記関連するメタデータを含むアプリケーションを受信したとき、前記テンプレートエンジンは、
    前記関連するメタデータに基づいて前記アプリケーションのリソース要求を決定し、
    前記リソース要求を前記複数のテンプレートと比較し、
    前記リソース要求にとって適切なテンプレートを識別し、
    ハードウェアリソースに対する遅延バインディングのために前記適切なテンプレートを用いて前記仮想化環境内のリソースをプロビジョニングするように、構成される、システム。
  2. 前記テンプレートエンジンはさらに、
    前記アプリケーションの性能をモニタし、
    前記アプリケーションの性能に基づいて前記仮想化環境内のリソースを動的に調整するように、構成される、請求項1に記載のシステム。
  3. 前記仮想化環境をホストするように構成された複数の汎用ハードウェアリソースを含むハードウェア環境をさらに備える、請求項1または2に記載のシステム。
  4. 前記テンプレートエンジンはさらに、
    前記アプリケーションの性能をモニタし、
    前記アプリケーションの性能に基づいて前記ハードウェア環境内の前記汎用ハードウェアリソースを動的に調整するように、構成される、請求項3に記載のシステム。
  5. 前記テンプレートは、アプリケーションサーバテンプレート、データベーステンプレート、およびメッセージサービステンプレートを含む、請求項1から4のいずれかに記載のシステム。
  6. 前記テンプレートエンジンはさらに、前記仮想化環境を削除することによって前記アプリケーションをアンデプロイするように構成される、請求項1から5のいずれかに記載のシステム。
  7. アプリケーション特性に基づいてリソースを自動的にプロビジョニングするための、コンピュータにより実現される方法であって、
    コンピュータ上で実行するテンプレートエンジンでアプリケーション関連するメタデータを含む当該アプリケーションを受信するステップを含み、前記テンプレートエンジンは、各々が、仮想化環境から利用できる異なるリソースを定義する、複数のテンプレートを含み、さらに
    前記関連するメタデータに基づいて前記アプリケーションのリソース要求を決定するステップと、
    前記リソース要求を前記複数のテンプレートと比較するステップと、
    前記リソース要求にとって適切なテンプレートを識別するステップと、
    ハードウェアリソースに対する遅延バインディングのために前記適切なテンプレートを用いて仮想化環境内のリソースをプロビジョニングするステップとを含む、方法。
  8. コンピュータによって実行されると前記コンピュータに以下のステップを実行させる命令を含むコンピュータプログラムであって、当該以下のステップは、
    コンピュータ上で実行するテンプレートエンジンでアプリケーション関連するメタデータを含む当該アプリケーションを受信するステップを含み、前記テンプレートエンジンは、各々が、仮想化環境から利用できる異なるリソースを定義する、複数のテンプレートを含み、さらに
    前記関連するメタデータに基づいて前記アプリケーションのリソース要求を決定するステップと、
    前記リソース要求を前記複数のテンプレートと比較するステップと、
    前記リソース要求にとって適切なテンプレートを識別するステップと、
    ハードウェアリソースに対する遅延バインディングのために前記適切なテンプレートを用いて仮想化環境内のリソースをプロビジョニングするステップとを含む、コンピュータプログラム。
  9. アプリケーション特性に基づいてリソースを自動的にプロビジョニングする装置であって、
    アプリケーション関連するメタデータを含む当該アプリケーションを受信するように構成された受信モジュールと、
    前記関連するメタデータに基づいて前記アプリケーションのリソース要求を決定するように構成された決定モジュールと、
    前記リソース要求を複数のテンプレートと比較するように構成された比較モジュールとを備え、前記複数のテンプレートは各々、仮想化環境から利用できる異なるリソースを定義し、さらに
    前記リソース要求にとって適切なテンプレートを識別するように構成された識別モジュールと、
    ハードウェアリソースに対する遅延バインディングのために前記適切なテンプレートを用いて前記仮想化環境内のリソースをプロビジョニングするように構成されたプロビジョニングモジュールとを備える、装置。
  10. 前記仮想化環境は、複数の汎用ハードウェアリソースを含むハードウェア環境によってホストされる、請求項9に記載の装置。
  11. 前記アプリケーションの性能をモニタするように構成されたモニタリングモジュールと、
    前記アプリケーションの性能に基づいて前記仮想化環境内のリソースを動的に調整するように構成された第1の調整モジュールとをさらに備える、請求項10に記載の装置。
  12. 前記アプリケーションの性能に基づいて前記ハードウェア環境内の前記汎用ハードウェアリソースを動的に調整するように構成された第2の調整モジュールをさらに備える、請求項11に記載の装置。
  13. 前記テンプレートは、アプリケーションサーバテンプレート、データベーステンプレート、およびメッセージサービステンプレートを含む、請求項9から12のいずれかに記載の装置。
  14. 前記仮想化環境を削除することによって前記アプリケーションをアンデプロイするように構成されたアンデプロイモジュールをさらに備える、請求項9から13のいずれかに記載の装置。
JP2014523995A 2011-08-05 2012-07-27 アプリケーション特性に基づく自動ハードウェアプロビジョニングのためのシステムおよび方法 Active JP6060159B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/204,494 US9639402B2 (en) 2011-08-05 2011-08-05 Systems and methods for automatic hardware provisioning based on application characteristics
US13/204,494 2011-08-05
PCT/US2012/048643 WO2013022619A1 (en) 2011-08-05 2012-07-27 Systems and methods for automatic hardware provisioning based on application characteristics

Publications (3)

Publication Number Publication Date
JP2014524608A JP2014524608A (ja) 2014-09-22
JP2014524608A5 JP2014524608A5 (ja) 2015-07-16
JP6060159B2 true JP6060159B2 (ja) 2017-01-11

Family

ID=46604607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014523995A Active JP6060159B2 (ja) 2011-08-05 2012-07-27 アプリケーション特性に基づく自動ハードウェアプロビジョニングのためのシステムおよび方法

Country Status (5)

Country Link
US (1) US9639402B2 (ja)
EP (1) EP2740035A1 (ja)
JP (1) JP6060159B2 (ja)
CN (1) CN103703445B (ja)
WO (1) WO2013022619A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130055243A1 (en) * 2011-08-24 2013-02-28 Dell Products, Lp Unified Management Architecture to Support Multiple Platform-as-a-Service Workloads
US8612442B2 (en) * 2011-11-16 2013-12-17 Google Inc. Displaying auto-generated facts about a music library
US9720668B2 (en) 2012-02-29 2017-08-01 Red Hat, Inc. Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system
US9058198B2 (en) * 2012-02-29 2015-06-16 Red Hat Inc. System resource sharing in a multi-tenant platform-as-a-service environment in a cloud computing system
US8850514B2 (en) 2012-05-01 2014-09-30 Red Hat, Inc. Cartridges in a multi-tenant platforms-as-a-service (PaaS) system implemented in a cloud computing environment
US9665411B2 (en) 2012-05-01 2017-05-30 Red Hat, Inc. Communication between a server orchestration system and a messaging system
US8843935B2 (en) 2012-05-03 2014-09-23 Vmware, Inc. Automatically changing a pre-selected datastore associated with a requested host for a virtual machine deployment based on resource availability during deployment of the virtual machine
US9317269B2 (en) 2012-09-28 2016-04-19 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US11132238B2 (en) * 2012-09-28 2021-09-28 Bmc Software, Inc. Elastic packaging of application configuration
US9235491B2 (en) * 2012-09-28 2016-01-12 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US8949824B2 (en) * 2012-09-28 2015-02-03 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US20140282581A1 (en) * 2013-03-15 2014-09-18 Mckesson Financial Holdings Method and apparatus for providing a component block architecture
JP2015022501A (ja) * 2013-07-18 2015-02-02 富士通株式会社 構築装置、構築方法、及び構築プログラム
US9491050B2 (en) * 2013-07-31 2016-11-08 Dell Products Lp Systems and methods for infrastructure template provisioning in modular chassis systems
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
CN103873460B (zh) * 2014-01-27 2017-08-25 华为技术有限公司 业务资源组实现方法及装置
US9952946B2 (en) * 2014-02-04 2018-04-24 Telefonaktiebolaget L M Ericsson (Publ) Managing service availability in a mega virtual machine
US20170147397A1 (en) * 2014-04-11 2017-05-25 Hewlett Packard Enterprise Development Lp Environment preference
US10142181B2 (en) 2014-04-18 2018-11-27 Hitachi, Ltd. Method and apparatus for template based platform and infrastructure provisioning
CN104184820B (zh) * 2014-08-29 2017-08-25 城云科技(杭州)有限公司 分布式环境下模板定制的云平台动态蔓延部署方法
US10084723B2 (en) 2014-09-25 2018-09-25 Oracle International Corporation System and method for providing an end-to-end lifecycle in a multitenant application server environment
US10382537B2 (en) 2014-09-25 2019-08-13 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US9871822B2 (en) * 2014-11-28 2018-01-16 International Business Machines Corporation Deployment using a context-based cloud security assurance system
CN105743677B (zh) * 2014-12-10 2019-05-28 中国移动通信集团公司 一种资源配置方法及装置
DE102015015196A1 (de) * 2014-12-16 2016-06-16 Canon Kabushiki Kaisha Verwaltungssystem und Steuerungsverfahren für Verwaltungssystem
EP3314429A1 (en) * 2015-06-29 2018-05-02 British Telecommunications public limited company Resource provisioning in distributed computing environments
US9542219B1 (en) * 2015-12-17 2017-01-10 International Business Machines Corporation Automatic analysis based scheduling of jobs to appropriate cloud resources
SG11201804089PA (en) 2016-02-25 2018-06-28 Huawei Tech Co Ltd Method for automatically deploying application, and cloud management node
CN105975340A (zh) * 2016-03-24 2016-09-28 国云科技股份有限公司 一种虚拟机应用分配部署算法
US11151268B2 (en) 2016-05-11 2021-10-19 British Telecommunications Public Limited Company Software container access control
WO2017194637A1 (en) 2016-05-11 2017-11-16 British Telecommunications Public Limited Company Software container profiling
US11036696B2 (en) * 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
EP3475826A4 (en) * 2016-06-24 2020-02-19 Schneider Electric Systems USA, Inc. METHOD, SYSTEMS AND DEVICE FOR DYNAMICALLY MANAGING A LIMITLESS SYSTEM WITH HIGH AVAILABILITY
US11138017B2 (en) 2016-09-16 2021-10-05 Oracle International Corporation System and method for partition administrative targeting in an application server environment
KR101899298B1 (ko) * 2016-12-12 2018-09-17 (주)아이엔소프트 클라우드 및 가상화 기반의 프로세스 자동화 처리 시스템 및 그 처리 방법
US10567397B2 (en) * 2017-01-31 2020-02-18 Hewlett Packard Enterprise Development Lp Security-based container scheduling
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
WO2019113553A1 (en) * 2017-12-08 2019-06-13 Net-Thunder, Llc Automatically deployed information technology (it) system and method
US10972366B2 (en) 2017-12-14 2021-04-06 International Business Machines Corporation Orchestration engine blueprint aspects for hybrid cloud composition
US10833962B2 (en) 2017-12-14 2020-11-10 International Business Machines Corporation Orchestration engine blueprint aspects for hybrid cloud composition
US11025511B2 (en) * 2017-12-14 2021-06-01 International Business Machines Corporation Orchestration engine blueprint aspects for hybrid cloud composition
CN109376084A (zh) * 2018-09-29 2019-02-22 郑州云海信息技术有限公司 一种测试环境构建方法和系统
CN110781000B (zh) * 2019-10-17 2022-07-05 中国建设银行股份有限公司 多应用的资源分配方法及装置
US11586422B2 (en) 2021-05-06 2023-02-21 International Business Machines Corporation Automated system capacity optimization

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3896111B2 (ja) * 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US7861247B1 (en) * 2004-03-24 2010-12-28 Hewlett-Packard Development Company, L.P. Assigning resources to an application component by taking into account an objective function with hard and soft constraints
US20060031444A1 (en) 2004-05-28 2006-02-09 Drew Julie W Method for assigning network resources to applications for optimizing performance goals
US7743373B2 (en) * 2005-05-06 2010-06-22 International Business Machines Corporation Method and apparatus for managing software catalog and providing configuration for installation
US7536595B1 (en) * 2005-10-19 2009-05-19 At&T Intellectual Property, Ii, L.P. Systems, devices, and methods for initiating recovery
JP4961146B2 (ja) 2006-02-20 2012-06-27 株式会社日立製作所 負荷分散方法およびシステム
US8108855B2 (en) * 2007-01-02 2012-01-31 International Business Machines Corporation Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
US8584131B2 (en) * 2007-03-30 2013-11-12 International Business Machines Corporation Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US8291424B2 (en) 2007-11-27 2012-10-16 International Business Machines Corporation Method and system of managing resources for on-demand computing
US8156538B2 (en) 2007-12-18 2012-04-10 Microsoft Corporation Distribution of information protection policies to client machines
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
JP2009193205A (ja) 2008-02-13 2009-08-27 Nec Corp 自動チューニングシステム、自動チューニング装置、自動チューニング方法
US8161479B2 (en) 2008-06-13 2012-04-17 Microsoft Corporation Synchronizing virtual machine and application life cycles
US9542222B2 (en) 2008-11-14 2017-01-10 Oracle International Corporation Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement
US9575786B2 (en) * 2009-01-06 2017-02-21 Dell Products L.P. System and method for raw device mapping in traditional NAS subsystems
US8214829B2 (en) * 2009-01-15 2012-07-03 International Business Machines Corporation Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost
KR101628361B1 (ko) * 2009-05-08 2016-06-08 삼성전자주식회사 리눅스 기반의 보안 운영 체제를 위한 보안 정책 제공 방법 및 시스템
US20100325624A1 (en) * 2009-06-22 2010-12-23 Stephen John Bartolo Method and System for Application Portability
US9805322B2 (en) * 2010-06-24 2017-10-31 Bmc Software, Inc. Application blueprint and deployment model for dynamic business service management (BSM)
US8434088B2 (en) * 2010-02-18 2013-04-30 International Business Machines Corporation Optimized capacity planning
US8504689B2 (en) * 2010-05-28 2013-08-06 Red Hat, Inc. Methods and systems for cloud deployment analysis featuring relative cloud resource importance
US8352611B2 (en) * 2010-06-29 2013-01-08 International Business Machines Corporation Allocating computer resources in a cloud environment
US8701117B2 (en) * 2010-07-06 2014-04-15 Sap Ag Resource consumption template processing model
US8645529B2 (en) * 2010-10-06 2014-02-04 Infosys Limited Automated service level management of applications in cloud computing environment
JP5395962B2 (ja) * 2010-12-13 2014-01-22 株式会社日立製作所 計算機システム、及びその管理方法、並びに、プログラム
CN102103518B (zh) 2011-02-23 2013-11-13 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
US8843633B2 (en) * 2011-03-23 2014-09-23 Bmc Software, Inc. Cloud-based resource identification and allocation

Also Published As

Publication number Publication date
CN103703445B (zh) 2017-04-05
US9639402B2 (en) 2017-05-02
EP2740035A1 (en) 2014-06-11
JP2014524608A (ja) 2014-09-22
CN103703445A (zh) 2014-04-02
WO2013022619A1 (en) 2013-02-14
US20130036208A1 (en) 2013-02-07

Similar Documents

Publication Publication Date Title
JP6060159B2 (ja) アプリケーション特性に基づく自動ハードウェアプロビジョニングのためのシステムおよび方法
JP6435050B2 (ja) クラウドシステムにおけるリソース管理
WO2015196931A1 (zh) 基于磁盘io的虚拟资源分配方法及装置
US8863138B2 (en) Application service performance in cloud computing
US11301303B2 (en) Resource pool processing to determine to create new virtual resource pools and storage devices based on currebt pools and devices not meeting SLA requirements
US9268590B2 (en) Provisioning a cluster of distributed computing platform based on placement strategy
US20160224363A1 (en) Dynamic virtual port provisioning
CN107707622B (zh) 一种访问桌面云虚拟机的方法、装置及桌面云控制器
JP2017529593A5 (ja)
US20130219391A1 (en) Server and method for deploying virtual machines in network cluster
WO2016023390A1 (zh) 虚拟机存储资源部署方法和装置
RU2687711C1 (ru) Способ аппаратного ускорения и связанное устройство
US20150277944A1 (en) Method and Apparatus for Allocating a Virtual Machine
US20150128139A1 (en) Virtual machine deployment method, recording medium, and information processing apparatus
WO2015058377A1 (zh) 一种创建虚拟机的方法和装置
US11036535B2 (en) Data storage method and apparatus
JP2013125548A (ja) 仮想マシン割り当てシステム及びその使用方法
WO2023050819A1 (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
WO2014029239A1 (zh) 虚拟机放置策略的配置方法及装置
WO2015067005A1 (zh) 一种选择存储资源方法、装置及系统
US20200272526A1 (en) Methods and systems for automated scaling of computing clusters
US11379255B2 (en) Acceleration capacity adjustment method and apparatus for adjusting acceleration capacity of virtual machine
JP6449487B2 (ja) ソフトウェアセキュリティ検証方法、デバイス、およびシステム
CN115766336B (zh) 资源分配方法、装置、设备及存储介质
CN108647090A (zh) 一种资源分配方法及装置、服务器集群

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160601

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: 20161129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161212

R150 Certificate of patent or registration of utility model

Ref document number: 6060159

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250