JP2014501989A - イメージを実行するのに最適なコンピューティング環境の判断 - Google Patents

イメージを実行するのに最適なコンピューティング環境の判断 Download PDF

Info

Publication number
JP2014501989A
JP2014501989A JP2013547787A JP2013547787A JP2014501989A JP 2014501989 A JP2014501989 A JP 2014501989A JP 2013547787 A JP2013547787 A JP 2013547787A JP 2013547787 A JP2013547787 A JP 2013547787A JP 2014501989 A JP2014501989 A JP 2014501989A
Authority
JP
Japan
Prior art keywords
image
computing environment
performance
running
images
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.)
Granted
Application number
JP2013547787A
Other languages
English (en)
Other versions
JP5946468B2 (ja
Inventor
ボーガル、クルヴィル、シン
ボス、グレゴリー、イェンセン
ガウル、ニティン
ジョーンズ、アンドリュー、アール.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014501989A publication Critical patent/JP2014501989A/ja
Application granted granted Critical
Publication of JP5946468B2 publication Critical patent/JP5946468B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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]
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】本発明の各側面は、ローカルで実行されているイメージ(例えば、仮想マシン(VM)のイメージなど)を評価して、別のコンピューティング環境(例えばクラウド・コンピューティング環境)において、当該イメージのより効率的な実行もしくはより効果的な実行、またはその両方が可能であると考えられるかどうかを判断する手法を提供する。
【解決手段】具体的には、本発明の実施形態は、ローカル(既存/ターゲット)イメージの実性能および体感性能、ならびに、仮にイメージが別の環境にマイグレートされたとした場合の見込み/潜在性能を評価する。見込み/潜在性能は、既存/ターゲット・イメージに類似した別のイメージに基づき、ただしそのイメージが異なるコンピューティング環境で実行されている場合に、測定可能である。いずれにせよ、システムは、別の環境でイメージがよりよく動作可能である(またはその逆)と判断されると、エンド・ユーザに提案を表示することになる。
【選択図】図1

Description

本発明は、環境最適化に関する。特に、本発明は、仮想マシン(VM:virtual machine)のイメージなどのイメージを実行するのに最適な環境を判断することに関する。
クラウド・コンピューティング環境は、その前身であるグリッド環境に対する拡張であり、それによって、複数のグリッドおよびその他計算リソースをクラウド層によりさらに抽象化でき、その結果、末端の消費者に、異種のデバイスをシームレスなリソースの単一プールのように見せる。これらのリソースは、物理的または論理的な計算エンジン、サーバおよびデバイス、デバイス・メモリならびにストレージ・デバイスなどのものを含み得る。
仮想イメージ(例えばVMの)をローカルで実行しようとする場合、ユーザは、最適とはいえない性能(例えば、不十分なCPU性能、不十分なメモリなど)を被ることがあるため、望ましくない体験をすることもあると考えられる。さらに、VMを実行するのに最適な環境を特定する現在の手法には、課題が存在する。
本発明の各側面は、ローカルで実行されているイメージ(例えば、仮想マシン(VM)のイメージなど)を評価して、別のコンピューティング環境(例えばクラウド・コンピューティング環境)において、当該イメージのより効率的な実行もしくはより効果的な実行、またはその両方が可能であると考えられるかどうかを判断する手法を提供する。具体的には、本発明の実施形態は、ローカル(既存/ターゲット)イメージの実性能および体感性能、ならびに、仮にイメージが別の環境にマイグレートされたとした場合の見込み/潜在性能(potential performance)を評価する。見込み/潜在性能は、既存/ターゲット・イメージに類似した別のイメージに基づき、ただしそのイメージが異なるコンピューティング環境で実行されている場合に、測定可能である。いずれにせよ、システムは、別の環境でイメージがよりよく動作可能である(またはその逆)と判断されると、エンド・ユーザに提案を表示することになる。当然のことながら、性能は、システムが比較を実行する例示の測定基準の1つでしかない。コスト、信頼性、利用可能性などのほかの測定基準も使用され得るであろう。
本発明の第1の側面は、イメージを実行するのに最適なコンピューティング環境を判断するための方法を提供し、本方法は、個別のコンピューティング環境においてそれぞれ実行されている一組のイメージをレジストリ・サービス(registry service)に登録するステップと、現在のコンピューティング環境において実行されている現在のイメージの既存性能(existing performance)を測定するステップと、一組のイメージから、現在のイメージに類似した少なくとも1つのイメージを特定するステップと、該少なくとも1つのイメージの個別のコンピューティング環境において実行されている、該少なくとも1つのイメージの潜在性能を測定するステップと、該少なくとも1つのイメージの潜在性能と、現在のイメージの既存性能とを比較するステップと、現在のイメージを実行するのに最適なコンピューティング環境を、比較に基づき判断するステップとを含む。
本発明の第2の側面は、イメージを実行するのに最適なコンピューティング環境を判断するシステムを提供し、このシステムは、バスと、バスに結合されたプロセッサと、バスに結合されたメモリ媒体とを含み、メモリ媒体は、以下のこと:個別のコンピューティング環境においてそれぞれ実行されている一組のイメージをレジストリ・サービスに登録すること、現在のコンピューティング環境において実行されている現在のイメージの既存性能を測定すること、一組のイメージから、現在のイメージに類似した少なくとも1つのイメージを特定すること、該少なくとも1つのイメージの個別のコンピューティング環境において実行されている、該少なくとも1つのイメージの潜在性能を測定すること、該少なくとも1つのイメージの潜在性能と、現在のイメージの既存性能とを比較すること、および現在のイメージを実行するのに最適なコンピューティング環境を、比較に基づき判断することを行う命令を含む。
本発明の第3の側面は、イメージを実行するのに最適なコンピューティング環境を判断するためのコンピュータ・プログラム製品を提供し、このコンピュータ・プログラム製品は、コンピュータ可読ストレージ媒体と、コンピュータ可読ストレージ媒体に記憶され、以下のこと:個別のコンピューティング環境においてそれぞれ実行されている一組のイメージをレジストリ・サービスに登録すること、現在のコンピューティング環境において実行されている現在のイメージの既存性能を測定すること、一組のイメージから、現在のイメージに類似した少なくとも1つのイメージを特定すること、該少なくとも1つのイメージの個別のコンピューティング環境において実行されている、該少なくとも1つのイメージの潜在性能を測定すること、該少なくとも1つのイメージの潜在性能と、現在のイメージの既存性能とを比較すること、および現在のイメージを実行するのに最適なコンピューティング環境を、比較に基づき判断することを行うプログラム命令とを含む。
本発明の第4の側面は、イメージを実行するのに最適なコンピューティング環境を判断するシステムを展開する方法を提供し、本方法は、コンピュータ・インフラストラクチャを提供するステップを含み、コンピュータ・インフラストラクチャは、個別のコンピューティング環境においてそれぞれ実行されている一組のイメージをレジストリ・サービスに登録し、現在のコンピューティング環境において実行されている現在のイメージの既存性能を測定し、一組のイメージから、現在のイメージに類似した少なくとも1つのイメージを特定し、該少なくとも1つのイメージの個別のコンピューティング環境において実行されている、該少なくとも1つのイメージの潜在性能を測定し、該少なくとも1つのイメージの潜在性能と、現在のイメージの既存性能とを比較し、現在のイメージを実行するのに最適なコンピューティング環境を、比較に基づき判断するよう動作可能である。
添付の図面と併せて理解される、本発明の様々な側面についての以下の詳細な記載から、本発明のこれらの特徴およびほかの特徴が、より容易に理解される。
本発明の実施形態による、クラウド・コンピューティング・ノードを示す。 本発明の実施形態による、クラウド・コンピューティング環境を示す。 本発明の実施形態による、抽象化モデル層を示す。 本発明の実施形態による、コンポーネント・フロー図を示す。 本発明の実施形態による、別のコンポーネント・フロー図を示す。 本発明の実施形態による、方法フロー図を示す。
図面は、必ずしも一定の縮尺ではない。図面は、単なる概略図であり、本発明の特定の要素を表現することを目的としてはいない。図面は、本発明の典型的な実施形態のみを示すことを目的としている。したがって、本発明の範囲を限定するものと見なされてはならない。図面では、同じ番号は同じ構成要素を表す。
本願明細書では、以下、例示実施形態が示されている添付の図面を参照しながら、例示の実施形態についてさらに詳しく記載する。なお、本開示は、異なる多数の形態で具現化でき、本願明細書に記載された例示実施形態に限定されると解釈されてはならない。むしろ、これらの例示実施形態は、本開示が、完全かつ完結したものとなり、本開示の範囲を十分に当業者に伝えるよう提供される。本記載では、提示される実施形態を不必要に不明瞭化するのを避けるために、周知の特徴および技術の詳細は省略されることもある。
本願明細書で使用される専門用語は、特定の実施形態を説明するためのものでしかなく、本開示の限定となることは目的としていない。さらに、当然のことながら、「含む」もしくは「含んでいる」という用語、またはその両方は、本明細書で使用される場合、記載された機能、範囲、完全体、ステップ、動作、構成要素もしくはコンポーネント、またはそのいずれかの組み合わせの存在を指定するが、1つ以上のほかの機能、範囲、完全体、ステップ、動作、構成要素、コンポーネントもしくはそのグループ、またはそのいずれかの組み合わせの存在または追加を除外するものではない。
本発明の各側面は、ローカルで実行されているイメージ(例えば、仮想マシン(VM)のイメージなど)を評価して、別のコンピューティング環境(例えばクラウド・コンピューティング環境)において、当該イメージのより効率的な実行もしくはより効果的な実行、またはその両方が可能であると考えられるかどうかを判断する手法を提供する。具体的には、本発明の実施形態は、ローカル(既存/ターゲット)イメージの実性能および体感性能、ならびに、仮にイメージが別の環境にマイグレートされたとした場合の見込み/潜在性能を評価する。見込み/潜在性能は、既存/ターゲット・イメージに類似した別のイメージに基づき、ただしそのイメージが異なるコンピューティング環境で実行されている場合に、測定可能である。いずれにせよ、システムは、別の環境でイメージがよりよく動作可能である(またはその逆)と判断されると、エンド・ユーザに提案を表示することになる。当然のことながら、性能は、システムが比較を実行する、例示の測定基準の1つでしかない。コスト、信頼性、利用可能性などのほかの測定基準も使用され得るであろう。
本開示は、クラウド・コンピューティングの詳細な記載を含むが、本願明細書に記載する教示の実装は、クラウド・コンピューティング環境に限定されないということをあらかじめ理解されたい。むしろ、本発明の実施形態は、現在既知の、または後に開発される、ほかの任意のタイプのコンピューティング環境に関連して実装することができる。
クラウド・コンピューティングは、最小限の管理作業またはサービスのプロバイダとの対話による、迅速なプロビジョニングおよび解放が可能な、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシンおよびサービス)の共用プールに対する、オンデマンドの便利なネットワーク・アクセスを実現するサービス供給のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの展開モデルとを含み得る。
特徴は以下のとおりである。
オンデマンド・セルフサービス:クラウド消費者は、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を、必要に応じて自動的に、サービスのプロバイダとの人的対話の必要なく、一方的にプロビジョニングできる。
広範なネットワーク・アクセス:各能力は、ネットワーク上で利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(例えば移動電話、ラップトップおよびPDA(personal digital assistant:携帯情報端末))による使用を促進する標準のメカニズムを介してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを使用して複数の消費者にサービスを提供するようプールされ、種々の物理リソースおよび仮想リソースが要求に応じて動的に割り当ておよび再割り当てされる。一般に、消費者は、提供されるリソースの正確な場所についての制御または知識を有しないという点で、非場所依存の感覚があるが、より高い抽象化レベルで場所(例えば、国、州またはデータセンター)を指定できることもある。
迅速な伸縮性:各能力は、場合によっては自動的に、迅速かつ伸縮自在にプロビジョニングされて、素早くスケール・アウトすること、および迅速に解放されて素早くスケール・インすることができる。多くの場合、消費者には、プロビジョニングに利用可能な各能力は無制限であるように見え、任意の量をいつでも購入できる。
測定されるサービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅およびアクティブな消費者アカウント)に適した何らかの抽象化レベルでの計測能力を活用することによって、リソースの使用を自動的に制御および最適化する。リソース使用量は、監視、制御およびレポート可能であり、利用されるサービスのプロバイダおよび消費者の両方に透明性が提供される。
サービス・モデルは以下のとおりである。
ソフトウェア・アズ・ア・サービス(SaaS:Software as a Service):消費者に提供される能力は、クラウド・インフラストラクチャ上で実行されているプロバイダのアプリケーションの使用である。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して、様々なクライアント・デバイスからアクセス可能である(例えば、ウェブ・ベースの電子メール)。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージを含む基礎をなすクラウド・インフラストラクチャも、個々のアプリケーションの能力さえも、管理または制御しないが、限られた消費者特有アプリケーション構成設定は例外とされることもある。
プラットフォーム・アズ・ア・サービス(PaaS:Platform as a Service):消費者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成されている、消費者が作成または入手したアプリケーションの、クラウド・インフラストラクチャ上への展開である。消費者は、ネットワーク、サーバ、オペレーティング・システムまたはストレージを含む基礎をなすクラウド・インフラストラクチャの管理または制御は行わないが、展開されたアプリケーション、さらに場合によってはアプリケーション・ホスティング環境構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS:Infrastructure as a Service):消費者に提供される能力は、処理、ストレージ、ネットワーク、およびその他基本的なコンピューティング・リソースのプロビジョニングであり、消費者はそこで、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行できる。消費者は、基礎をなすクラウド・インフラストラクチャの管理または制御は行わないが、オペレーティング・システム、ストレージ、展開されたアプリケーションを制御し、場合によっては、選ばれたネットワーキング・コンポーネント(例えばホスト・ファイアウォール)を限定的に制御する。
展開モデルは以下のとおりである。
プライベート・クラウド:クラウド・インフラストラクチャは、1つの組織のみのために運用される。組織またはサード・パーティによって管理され得、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共用され、共有される関心事(例えば、ミッション、セキュリティ要件、ポリシおよびコンプライアンス意識)を有する特定のコミュニティをサポートする。組織またはサード・パーティによって管理され得、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、公衆または大規模業界団体に利用可能にされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の複合であり、各クラウドは一意のエンティティのままであるが、データおよびアプリケーションの移植性(例えば、クラウド間のロード・バランシングのためのクラウド・バースト)を実現する標準またはプロプライエタリ技術によってバインドされる。
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、疎結合性、モジュール性および意味的相互運用性に焦点を合わせる。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
以下、図1を参照する。クラウド・コンピューティング・ノードの例の略図が示されている。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの一例でしかなく、本願明細書に記載される本発明の実施形態の用途または機能性の範囲について、いかなる制限を意味することも目的としていない。いずれにせよ、クラウド・コンピューティング・ノード10は、上記に記載された機能性のいずれかの実装もしくは実行またはその両方が可能である。
クラウド・コンピューティング・ノード10内には、多数のほかの汎用または専用のコンピューティング・システム環境または構成とともに動作可能な、コンピュータ・システム/サーバ12がある。コンピュータ・システム/サーバ12とともに使用されるのに適していると考えられる周知のコンピューティング・システム、環境もしくは構成、またはそのいずれかの組み合わせの例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドもしくはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムもしくはデバイスのいずれかを含む分散型クラウド・コンピューティング環境、ならびに同様のものがあるが、これらに限定はされない。
コンピュータ・システム/サーバ12については、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的文脈において記載することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含み得る。コンピュータ・システム/サーバ12は、通信ネットワークを介してリンクされているリモート処理デバイスによってタスクが実行される、分散型クラウド・コンピューティング環境において実施されてもよい。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム・ストレージ媒体に位置し得る。
図1に示されているように、クラウド・コンピューティング・ノード10内のコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つ以上のプロセッサまたは処理ユニット16、システム・メモリ28、およびシステム・メモリ28を含む様々なシステム・コンポーネントをプロセッサ16に結合するバス18を含み得るが、これらに限定はされない。
バス18は、メモリ・バスまたはメモリ・コントローラ、周辺機器用バス、アクセラレーテッド・グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを使用するプロセッサもしくはローカル・バスを含む、いくつかのタイプのバス構造の任意のもの1つ以上を表す。限定ではなく例として、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロ・チャネル・アーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA:Video Electronics Standards Association)ローカル・バスおよびペリフェラル・コンポーネント・インターコネクト(PCI:Peripheral Component Interconnects)バスがある。
コンピュータ・システム/サーバ12は、典型的には、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセス可能な任意の利用可能な媒体としてよく、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方を含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM:random access memory)30もしくはキャッシュ・メモリ32またはその両方など、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12はさらに、その他リムーバブル/非リムーバブルの揮発性/不揮発性コンピュータ・システム・ストレージ媒体を含み得る。単なる例として、非リムーバブルの不揮発性磁気媒体(図示はしておらず、典型的には「ハード・ドライブ」と呼ばれる)に対する読み取りおよび書き込みのために、ストレージ・システム34を提供することができる。図示してはいないが、リムーバブルの不揮発性磁気ディスク(例えば「フレキシブル・ディスク」)に対する読み取りおよび書き込みのための磁気ディスク・ドライブ、ならびにCD−ROM、DVD−ROMまたはその他の光媒体などのリムーバブルの不揮発性光ディスクに対する読み取りまたは書き込みのための光ディスク・ドライブを提供することができる。そのような場合には、それぞれを、1つ以上のデータ媒体インターフェースによってバス18に接続できる。以下でさらに示し、記載するように、メモリ28は、本発明の実施形態の機能を実行するよう構成された一組(例えば少なくとも1つ)のプログラム・モジュールを有する少なくとも1つのプログラム製品を含むとよい。
本発明の実施形態は、コンピュータ可読プログラム・コードが(例えば、ベースバンドに、または搬送波の一部として)具現化された伝搬データ信号を含み得る、コンピュータ可読信号媒体として実装され得る。そのような伝搬信号は、電磁気、光学またはその任意の適切な組み合わせを含むがこれらに限定はされない、様々な形態のいずれかをとってよい。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体でなく、かつ命令実行システム、装置もしくはデバイスによって、またはそれに関連して使用されるプログラムの伝達、伝搬または搬送をすることができる、任意のコンピュータ可読媒体としてよい。
コンピュータ可読媒体上に具現化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、無線周波数(RF:radio−frequency)など、または前述のものの任意の適切な組み合わせを含むがこれらに限定はされない、任意の適切な媒体を使用して送られてもよい。
限定ではなく例として、一組(少なくとも1つ)のプログラム・モジュール42を有する環境最適化プログラム/ユーティリティ40が、オペレーティング・システム、1つ以上のアプリケーション・プログラム、その他プログラム・モジュールおよびプログラム・データと同様にメモリ28に記憶され得る。オペレーティング・システム、1つ以上のアプリケーション・プログラム、その他プログラム・モジュールおよびプログラム・データ、またはその何らかの組み合わせはそれぞれ、ネットワーキング環境の実装を含み得る。プログラム・モジュール42は、概して、本願明細書に記載される本発明の実施形態の機能もしくは手順またはその両方を実行する。
コンピュータ・システム/サーバ12はさらに、キーボード、ポインティング・デバイス、ディスプレイ24などの1つ以上の外部デバイス14、もしくは消費者がコンピュータ・システム/サーバ12と対話できるようにする1つ以上のデバイス、もしくはコンピュータ・システム/サーバ12が1つ以上のほかのコンピューティング・デバイスと通信できるようにする任意のデバイス(例えばネットワーク・カード、モデムなど)、またはそのいずれかの組み合わせと通信するとよい。そのような通信は、I/Oインターフェース22を介して生じることができる。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN:local area network)、一般的な広域ネットワーク(WAN:wide area network)もしくはパブリック・ネットワーク(例えばインターネット)、またはそのいずれかの組み合わせなどの1つ以上のネットワークと、ネットワーク・アダプタ20を介して通信できる。図示されているように、ネットワーク・アダプタ20は、コンピュータ・システム/サーバ12のほかのコンポーネントと、バス18を介して通信する。図示されてはいないが、当然のことながら、ほかのハードウェアもしくはソフトウェアまたはその両方のコンポーネントが、コンピュータ・システム/サーバ12とともに使用される可能性がある。例として、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブおよびデータ・アーカイブ・ストレージ・システムなどがあるが、これに限定はされない。
以下、図2を参照する。例示のクラウド・コンピューティング環境50が示されている。図のように、クラウド・コンピューティング環境50は、1つ以上のクラウド・コンピューティング・ノード10を含み、例えば携帯情報端末(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、もしくは自動車用コンピュータ・システム54N、またはそのいずれかの組み合わせなどの、クラウド消費者により使用されるローカル・コンピューティング・デバイスが、クラウド・コンピューティング・ノード10と通信するとよい。ノード10は、互いに通信することもできる。ノード10は、上述のプライベート、コミュニティ、パブリックもしくはハイブリッド・クラウド、またはその組み合わせなどの1つ以上のネットワークに、物理的または仮想的にグループ化され得る(図示せず)。これにより、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォームもしくはソフトウェア、またはそのいずれかの組み合わせをサービスとして提供することができ、それらについてクラウド消費者がローカル・コンピューティング・デバイス上にリソースを保持する必要はない。当然のことながら、図2に示されているコンピューティング・デバイス54A〜Nのタイプは、説明のみを目的としており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークもしくはネットワーク・アドレス指定可能な接続(例えばウェブ・ブラウザを使用)またはその両方によって、任意のタイプのコンピュータ化デバイスと通信できる。
以下、図3を参照する。クラウド・コンピューティング環境50(図2)によって提供される一組の機能抽象化層が示されている。図3に示されているコンポーネント、層および機能は、例示のみを目的としており、本発明の実施形態はそれに限定されないことをあらかじめ理解されたい。図示されているように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、IBM(R)zSeries(R)システムが1つの例であるメインフレーム、およびIBM pSeries(R)システムが1つの例であるRISC(Reduced Instruction Set Computer:縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ、IBM xSeries(R)システム、IBM BladeCenter(R)システム、ストレージ・デバイス、ネットワークおよびネットワーキング・コンポーネントがある。ソフトウェア・コンポーネントの例には、IBM WebSphere(R)アプリケーション・サーバ・ソフトウェアが1つの例であるネットワーク・アプリケーション・サーバ・ソフトウェア、およびIBM DB2(R)データベース・ソフトウェアが1つの例であるデータベース・ソフトウェアがある。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphereおよびDB2は、世界中の多数の法域において登録されている、インターナショナル・ビジネス・マシーンズ・コーポレーションの商標である)。
仮想化層62は、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントを例とする、仮想エンティティが提供され得る抽象化層を提供する。
一例では、管理層64は、下記の機能を提供するとよい。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよびその他のリソースの動的な調達を提供する。計測および価格決定は、クラウド・コンピューティング環境内でリソースが利用されるときのコストの追跡と、こうしたリソースの消費に対する請求またはインボイスの作成とを提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド消費者およびタスクのアイデンティティ確認、ならびにデータおよびその他のリソースの保護を提供する。消費者ポータルは、消費者およびシステム管理者に、クラウド・コンピューティング環境に対するアクセスを提供する。サービス・レベル管理は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス水準合意(SLA:Service Level Agreement)計画および達成は、SLAに従い将来の要求が予想されるクラウド・コンピューティング・リソースの事前準備および調達を提供する。
ワークロード層66は、クラウド・コンピューティング環境が利用される目的となり得る機能性の例を提供する。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ解析処理、トランザクション処理ならびに環境最適化がある。上記のように、図3を参照して記載された前述の例はすべて、例示のためのものでしかなく、本発明はこれらの例に限定はされない。
当然のことながら、本願明細書に記載された本発明のすべての機能は、典型的には、環境最適化プログラム/ユーティリティ40(図1)のプログラム・コード42のモジュールとして有形に具現化可能な環境最適化機能により実行され得る。なお、そうではなくてもよく、代わりに、本願明細書に記載の機能性は、図3に示されている層60〜66のうちのいずれかによって実行/実装されること、もしくは実現されること、またはその両方が可能であろう。
繰り返しになるが、本開示は、クラウド・コンピューティングについての詳細な記載を含むものの、本願明細書に記載する教示の実装は、クラウド・コンピューティング環境に限定されない。むしろ、本発明の実施形態は、現在既知の、または後に開発される、任意のタイプのネットワーク化コンピューティング環境により実装されるよう意図されている。
一実施形態では、本発明は、仮想イメージ(例えばVMに対応する)を作動させる、もしくは実装する、またはその両方を行うクラウド・ベースの手法を活用して、仮想イメージをローカルで実行することにより得られる性能を上回る改善された性能を、ユーザに提供する。これらの概念は、仮想イメージを実行するための、最もコスト効率がよく最適に動作する実行時環境を判断する手法を実現する。本発明の実施形態は、いくつかある特徴の中でも特に、次のうちの1つ以上を提供することができる:エンド・ユーザの観点から、ローカルで実行される仮想マシンの実性能および体感性能を測定する手法;ローカルで実行されるイメージがクラウド・コンピューティング環境などの別の環境に移されたとした場合の、その実性能および体感性能を測定する手法;もしくは、まったく同じイメージおよび類似のイメージを評価し、ネットワーク・レイテンシ(例えばクラウド対ローカル実行)、体感性能の差、もしくはコストの差、もしくはそのいずれかの組み合わせなどの要因、ならびにほかの測定基準を取り入れる比較エンジン;またはそのいずれかの組み合わせ。
以下、図4を参照する。本発明の実施形態による、コンポーネント・フロー図が示されている。当然のことながら、典型的な実施形態では、「イメージ」という用語は、VMに関連する。なお、そうではなくてもよい。いずれにせよ、図4に示されているように、一組のワークステーション74A〜N上に位置する一組(少なくとも1つ)のイメージ72A〜Nが、レジストリ・サービス76に登録されており、かかる登録の対応する詳細が、リポジトリ/レジストリ78に記憶されている。概して、一組のイメージ72A〜Nはそれぞれ、個別のコンピューティング環境内で実行されている。図4〜5に示されているコンポーネントは、イメージ86が最適なコンピューティング環境内で実行されているかどうかを判断し、されていなければ、イメージ86を、最適なコンピューティング環境にマイグレートするか、コピーするか、またはほかの方法で移す。典型的な実施形態では、レジストリ・サービス76は、イメージまたはイメージ・プロファイルに関連付け可能な一意の識別子を作成する。ワークステーション74A〜Nおよび84上で(それぞれ)実行されているイメージ・レジストリ・エージェント70A〜Nおよび82が、イメージ・プロファイルをレジストリ・サービス76に提供し、イメージ・プロファイルは、比較エンジン80によって、さらに後述するように使用される。
イメージ・レジストリ・エージェント70A〜Nおよび82は、固有のサービスまたは仮想環境の一部として実装され得る。これは、ローカル仮想環境ならびに本システムを利用するマルチテナント環境の両方で実行されることになる。仮想イメージを作成するとき、仮想イメージを実行するとき、またはユーザもしくは管理者によって実行される特定のアクションとして、エージェントは、レジストリ・サービスと協働して、イメージの一意の識別子を生成し、イメージ特有の情報をレジストリにロードする。
仮想イメージが起動されると、ユーザの特定のアクションにより、またはユーザのローカル仮想環境のアクションとして、イメージ・レジストリ・エージェント70A〜Nおよび82は、レジストリ・サービス76にクエリを行って、マルチテナント(パブリック/プライベート・クラウド)環境でホストされ得る同じまたは類似のイメージを発見することができる。環境が発見されると、イメージを実行する最良の環境についてのフィードバックを提供するよう、比較エンジン80がリクエストされ得る(さらに詳しく後述するように)。ユーザのマシンの仕様が収集され、比較サービスにアップロードされる(これは、プロセスのこの時点で行われること、または登録プロセスの一部としてそれより前に行われることが可能であろう)。このサービスは、ユーザのマシン仕様と、別のコンピューティング環境(単数または複数)により提供される仕様とを比較する。
具体的には、比較エンジン80は、現在のコンピューティング環境90においてワークステーション84上で実行されている現在の/ローカル・イメージ86に関して、リポジトリ78から利用可能なプロファイルを分析すること;現在のイメージ86の既存性能を測定すること;一組のイメージ72A〜Nから、現在のイメージに類似した少なくとも1つのイメージを特定すること;該少なくとも1つのイメージの個別のコンピューティング環境において実行されている、該少なくとも1つのイメージの潜在性能を測定すること;該少なくとも1つのイメージの潜在性能と、現在のイメージ86の既存性能とを比較すること;現在のイメージ86を実行するのに最適なコンピューティング環境を、比較に基づき判断すること;もしくは、ユーザもしくは管理者もしくはその両方に対する出力88などを生成すること;またはそのいずれかの組み合わせを行う。判断する際、比較エンジン80は、現在のイメージ86を実行する環境の順位を提供することができる。
当然のことながら、コンピューティング環境90におけるイメージ86の既存性能と、ほかの環境におけるイメージ86の潜在性能とを測定する際、一組の性能測定基準を利用することが可能であろう(例えば、測定基準には特に、処理速度、ストレージ容量などが含まれ得る)。さらに、当然のことながら、比較エンジン80は、判断する際、性能に加えて、ほかの要因/データを利用することができる。これには、特に以下が含まれ得る。
・アクティビティ(例えば、特定のアクションの実行)へのエンド・ユーザの応答時間。これは、リアルタイムで測定されること、または過去のデータから収集されることが可能であろう。クライアント・プログラムが、こうした一般的なアクションを実行し、この情報を収集して比較エンジンに記録することができるであろう。
・クラウド・プロバイダと、ユーザがイメージを実行する可能性があり得る場所との間のレイテンシ。なお、ユーザは、遠方の都市の顧客敷地から実行することを計画していることもあり得、その場合、それをユーザがリクエストの中で提供することができると考えられ、当該の場所により近い場所のクラウド・プロバイダが、よりよいレイテンシを提供し得る。
・比較サービスへの入力に対するユーザ指定の重み。ユーザは、計算能力そのものよりも高い優先順位としてネットワーク遅延を定義してもよい。
・比較エンジンにより使用される実性能統計に関して、ユーザ(またはソーシャル・ネットワーク内のほかのユーザ)によって入力される、イメージ(およびそのイメージの一意の識別子)に特有のデータ。
・ローカルもしくはクラウドまたはその両方での、特定のイメージに関するまたは全般的な経験に基づきユーザが提供する評価データ。このデータは、パラメータとして比較エンジンによって利用され得る。ユーザが比較要素に優先順位を付ける上記の能力を使用して、ユーザは、この要素を高、中または低(または何らかの同様のタイプの尺度)として優先順位付けすることを選んでもよい。
前述のとおり、ユーザのローカル・マシン上で、ローカルで実行するのに対して、クラウドにおいてイメージをリモートで実行することにより、どのようなタイプの性能利点を見込むことができるかをユーザに知らせる、レポートまたはその他の出力88が、比較エンジン80によって生成可能である。比較された環境の順位を提供することができる。オンボード/プロビジョニング・プロセスについての追加情報も提供できるであろう。
出力88の一部として、エンド・ユーザに、イメージをローカルまたはリモートで実行するオプションを提供することができる。リモート・オプションが選ばれると、仮想イメージの適切なクローンをプロビジョニングでき、クラウド・ベースのイメージにリモート接続するのに必要な情報をユーザに提供することができる。あるいは、選択された環境が、ユーザが有するイメージそのもののインポート・バージョンであれば、そのイメージをクラウド・プロバイダに移し、インスタンスをユーザにプロビジョニングすることができる。
前述のとおり、比較エンジン80はさらに、システムおよびその方法の様々な段階で利用されるユーザ・プリファレンス(preference)を定義する、システムに関連するユーザ・プロファイル(user profile)を考慮に入れることができる。プロファイルは、比較パラメータの優先順位(例えば、性能よりもコストを、メモリの利用可能性よりもネットワーク遅延を優先させるなど)もしくは環境プロバイダのプリファレンス、またはその両方、ならびに使用可能なほかのデータなどのデータを含み得る。このシステムは、レジストリ・サービス76、もしくは比較エンジン80の一部であってもよく、またはそれらサービスにより利用される別個のシステムであってもよい。
以下、図5を参照する。最適なコンピューティング環境における現在のイメージ86の実装が示されている。具体的には、図のように、イメージ・マネージャが、選ばれた環境において、現在のイメージ86のクローンを作ること、移すこと、もしくは構築すること、またはそのいずれかの組み合わせを行うことができる(ローカルが一番最適な環境でなければ)。この例では、イメージ・マネージャ94によって、イメージ86が、そのグリッド・コンピューティング環境90からクラウド・コンピューティング環境92にコピーされる。コピーされると、現在のイメージは、グリッド・コンピューティング環境において休止状態のままとされるか、またはイメージ・マネージャ94により完全に削除されることが可能である。
当然のことながら、図4〜5に示されているコンポーネント(例えばレジストリ・サービス76、比較エンジン80およびイメージ・マネージャ94)は、図1に示されている環境最適化プログラム40の1つ以上のプログラム・モジュール42として実装可能である。この点、上記のシステムおよび方法の可能な実装は複数ある。例えば、レジストリ・サービス76および比較エンジン80は、分散環境内の別々のエンティティとすること、または単一のプロセスとして構築することが可能であろう。その他のアーキテクチャも使用され得る。システムは、標準のウェブ・サービス・インターフェースおよびプログラミング技術を使用して実装することができるであろう。したがって、本願明細書に記載された教示は、特定の実装または展開アーキテクチャに限定されることを意図してはいない。
ただし、以下の説明のための例は、図4〜5に関連して記載された教示に基づく。
この例では、ユーザ「A」が、そのシングル・コア、4GB RAMのラップトップ・コンピュータ上で、オペレーティング・システム「X」を実行していると仮定する。さらに、ユーザ「A」は、VMプレイヤー「Z」を使用してVM「Y」を実行していると仮定する。この例では、VM「Y」は、ラップトップのRAMが枯渇しそうになっているため、やや実行が遅く、実行されているリソースに対応するためにVMマッピング・スワップ・ファイルが増大している。システムは、ラップトップ上でのVM「Y」の実性能の低下を測定しており、約70%速く実行するが0.25ドル/時かかることになる類似したVMが、パブリック・クラウド「1」上で利用可能であることを発見した。これら(および場合によりその他)の詳細を示すダイアログ・ボックスがラップトップで示され、VM「Y」をパブリック・クラウド「1」に移動させる提案を承認または拒否するオプションをユーザ「A」に与える。
以下、図6を参照する。本発明の実施形態による、方法フロー図が示されている。ステップS1において、一組のイメージが、(例えば、イメージ登録エージェントを使用して)レジストリ・サービスに登録される(例えば、対応するデータをリポジトリに記憶することによって)。前述のとおり、一組のイメージはそれぞれ、個別のコンピューティング環境内で実行されている。ステップS2において、現在のコンピューティング環境において実行されている現在のイメージの既存性能が測定される(例えば、性能測定基準を使用して)。ステップS3において、一組のイメージから、現在のイメージに類似した少なくとも1つのイメージが特定される。ステップS4において、該少なくとも1つのイメージの個別のコンピューティング環境において実行されている、該少なくとも1つのイメージの潜在性能が測定される。ステップS5において、該少なくとも1つのイメージの潜在性能と、現在のイメージの既存性能とが比較される。ステップS6において、現在のイメージを実行するのに最適なコンピューティング環境(例えば、クラウド・コンピューティング環境)が、比較(および任意選択で、特にユーザ・プリファレンスを規定するとよい任意の適切なユーザ・プロファイル)に基づき判断される。
本発明は、イメージ環境最適化ソリューションとして本願明細書に示され記載されたが、当然のことながら、ほかの様々な実施形態をさらに提供する。例えば、一実施形態では、本発明は、本願明細書において説明されたイメージ環境最適化機能性をコンピュータ・インフラストラクチャが提供できるようにするコンピュータ・プログラム・コードを含む、コンピュータ可読/使用可能媒体を提供する。この点で、コンピュータ可読/使用可能媒体は、本発明の様々なプロセスのそれぞれを実装するプログラム・コードを含む。当然のことながら、コンピュータ可読媒体またはコンピュータ使用可能媒体という用語は、プログラム・コードの任意のタイプの物理的実施形態の1つ以上を含む。具体的には、コンピュータ可読/使用可能媒体は、1つ以上のポータブル・ストレージ製品(例えば、コンパクト・ディスク、磁気ディスク、テープなど)、メモリ28(図1)もしくはストレージ・システム34(図1)またはその両方など、コンピューティング・デバイスの1つ以上のデータ・ストレージ部(例えば、固定ディスク、読み取り専用メモリ、ランダム・アクセス・メモリ、キャッシュ・メモリなど)において具現化されたプログラム・コードを含むことができる。
別の実施形態では、本発明は、契約、宣伝もしくは手数料、またはそのいずれかの組み合わせに基づき本発明のプロセスを実行する方法を提供する。すなわち、ソリューション・インテグレータなどのサービス・プロバイダが、イメージ環境最適化機能性を提供することを提案することができるであろう。この場合、サービス・プロバイダは、1以上の消費者に対して本発明のプロセスを実行するコンピュータ・システム12(図1)などのコンピュータ・インフラストラクチャの作成、維持、サポートなどを行うことができる。見返りとして、サービス・プロバイダは、契約または手数料の取り決めもしくはその両方に従って消費者(単数または複数)から支払いを受領すること、もしくは1以上のサード・パーティに対する宣伝コンテンツの販売からの支払いを受領すること、またはその両方を行うことができる。
さらに別の実施形態では、本発明は、イメージ環境最適化のための、コンピュータで実装される方法を提供する。この場合、コンピュータ・システム12(図1)などのコンピュータ・インフラストラクチャが提供されて、本発明のプロセスを実行するための1つ以上のシステムが取得(例えば作成、購入、使用、変更など)され、コンピュータ・インフラストラクチャに展開されることが可能である。この点で、システムの展開は、(1)コンピュータ・システム12(図1)などのコンピューティング・デバイス上に、コンピュータ可読媒体からプログラム・コードをインストールすること、(2)1つ以上のコンピューティング・デバイスをコンピュータ・インフラストラクチャに追加すること、および(3)コンピュータ・インフラストラクチャの1つ以上の既存システムの組み込みもしくは変更またはその両方を行い、コンピュータ・インフラストラクチャが本発明のプロセスを実行できるようにすることのうちの1つ以上を含むことができる。
当然のことながら、本願明細書で使用される「プログラム・コード」および「コンピュータ・プログラム・コード」という用語は、同義語であり、情報処理能力を有するコンピューティング・デバイスに直接、または(a)別の言語、コードもしくは表記法への変換および(b)異なる有形形態での複製のうちのいずれかもしくは両方の後に、特定の機能を実行させることを目的とした一組の命令の、任意の言語、コードまたは表記法での任意の表現を意味する。この点で、プログラム・コードは、アプリケーション/ソフトウェア・プログラム、コンポーネント・ソフトウェア/関数のライブラリ、オペレーティング・システム、特定のコンピューティング・デバイスの基本デバイス・システム/ドライバ、および同様のもののうちの1つ以上として具現化することができる。
プログラム・コードの記憶もしくは実行またはその両方に適したデータ処理システムは、この記載に従って提供することができ、システム・バスを介して通信可能にメモリ要素に直接または間接的に結合された少なくとも1つのプロセッサを含むことができる。メモリ要素は、プログラム・コードを実際に実行する間に用いられるローカル・メモリ、大容量ストレージ、および実行中にコードが大容量ストレージから読み出されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的なストレージとなるキャッシュ・メモリを含むことができるが、これらに限定はされない。入出力もしくはその他の外部デバイスまたはその両方(限定はされないがキーボード、ディスプレイ、ポインティング・デバイスなどを含む)を、直接、または介在するデバイス・コントローラを介して、システムに結合することができる。
ネットワーク・アダプタもシステムに結合されて、データ処理システムが、ほかのデータ処理システム、リモート・プリンタ、ストレージ・デバイスもしくは同様のもの、またはそのいずれかの組み合わせに、介在するプライベートまたはパブリック・ネットワークの任意の組み合わせを介して結合された状態となることを可能にしてもよい。例示のネットワーク・アダプタには、モデム、ケーブル・モデムおよびEthernet(R)カードがあるが、これらに限定はされない。
本発明の様々な側面の前述の説明は、例証および説明のために提示された。包括的であることも、または本発明を開示されたとおりの形に限定することも意図されてはおらず、当然、多数の変更および変形が可能である。当業者には明らかであると考えられるそのような変更および変形は、添付の特許請求の範囲によって定義される本発明の範囲内に含まれるものとする。

Claims (22)

  1. イメージを実行するのに最適なコンピューティング環境を判断するための、コンピュータで実装される方法であって、
    個別のコンピューティング環境においてそれぞれ実行されている一組のイメージをレジストリ・サービスに登録するステップと、
    現在のコンピューティング環境において実行されている現在のイメージの既存性能を測定するステップと、
    前記一組のイメージから、前記現在のイメージに類似した少なくとも1つのイメージを特定するステップと、
    前記少なくとも1つのイメージの個別のコンピューティング環境において実行されている、前記少なくとも1つのイメージの潜在性能を測定するステップと、
    前記少なくとも1つのイメージの前記潜在性能と、前記現在のイメージの前記既存性能とを比較するステップと、
    前記現在のイメージを実行するのに最適なコンピューティング環境を、前記比較するステップに基づき判断するステップと、
    を含む方法。
  2. 前記最適なコンピューティング環境は、クラウド・コンピューティング環境を含む、請求項1に記載の方法。
  3. 前記登録するステップは、前記一組のイメージを含む一組のワークステーション上で実行されているエージェントによって実現される、請求項1に記載の方法。
  4. 前記登録するステップに関連するデータを、リポジトリに記憶するステップをさらに含む、請求項1に記載の方法。
  5. 前記既存性能および前記潜在性能は、一組の性能測定基準に基づき測定される、請求項1に記載の方法。
  6. 前記判断するステップは、前記現在のイメージに関連するユーザ・プロファイルにさらに基づく、請求項1に記載の方法。
  7. 前記ユーザ・プロファイルは、一組のプリファレンスを規定する、請求項6に記載の方法。
  8. イメージを実行するのに最適なコンピューティング環境を判断するシステムであって、前記システムは、
    バスと、
    前記バスに結合されたプロセッサと、
    前記バスに結合されたメモリ媒体と、
    を含み、前記メモリ媒体は、以下のこと:
    個別のコンピューティング環境においてそれぞれ実行されている一組のイメージをレジストリ・サービスに登録すること、
    現在のコンピューティング環境において実行されている現在のイメージの既存性能を測定すること、
    前記一組のイメージから、前記現在のイメージに類似した少なくとも1つのイメージを特定すること、
    前記少なくとも1つのイメージの個別のコンピューティング環境において実行されている、前記少なくとも1つのイメージの潜在性能を測定すること、
    前記少なくとも1つのイメージの前記潜在性能と、前記現在のイメージの前記既存性能とを比較すること、および
    前記現在のイメージを実行するのに最適なコンピューティング環境を、前記比較に基づき判断すること
    を行う命令を含む、システム。
  9. 前記最適なコンピューティング環境は、クラウド・コンピューティング環境を含む、請求項8に記載のシステム。
  10. 前記一組のイメージは、前記一組のイメージを含む一組のワークステーション上で実行されているエージェントを使用して登録される、請求項8に記載のシステム。
  11. 前記メモリ媒体は、前記登録に関連するデータをリポジトリに記憶する命令をさらに含む、請求項8に記載のシステム。
  12. 前記既存性能および前記潜在性能は、一組の性能測定基準に基づき測定される、請求項8に記載のシステム。
  13. 前記最適なコンピューティング環境はさらに、前記現在のイメージに関連するユーザ・プロファイルに基づき判断される、請求項8に記載のシステム。
  14. 前記ユーザ・プロファイルは、一組のプリファレンスを規定する、請求項13に記載のシステム。
  15. イメージを実行するのに最適なコンピューティング環境を判断するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、コンピュータ可読ストレージ媒体と、前記コンピュータ可読ストレージ媒体に記憶され、以下のこと:
    個別のコンピューティング環境においてそれぞれ実行されている一組のイメージをレジストリ・サービスに登録すること、
    現在のコンピューティング環境において実行されている現在のイメージの既存性能を測定すること、
    前記一組のイメージから、前記現在のイメージに類似した少なくとも1つのイメージを特定すること、
    前記少なくとも1つのイメージの個別のコンピューティング環境において実行されている、前記少なくとも1つのイメージの潜在性能を測定すること、
    前記少なくとも1つのイメージの前記潜在性能と、前記現在のイメージの前記既存性能とを比較すること、および
    前記現在のイメージを実行するのに最適なコンピューティング環境を、前記比較に基づき判断すること
    を行うプログラム命令とを含む、コンピュータ・プログラム製品。
  16. 前記最適なコンピューティング環境は、クラウド・コンピューティング環境を含む、請求項15に記載のコンピュータ・プログラム製品。
  17. 前記一組のイメージは、前記一組のイメージを含む一組のワークステーション上で実行されているエージェントを使用して登録される、請求項15に記載のコンピュータ・プログラム製品。
  18. 前記コンピュータ可読ストレージ媒体に記憶され、前記登録に関連するデータをリポジトリに記憶するプログラム命令をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
  19. 前記既存性能および前記潜在性能は、一組の性能測定基準に基づき測定される、請求項15に記載のコンピュータ・プログラム製品。
  20. 前記最適なコンピューティング環境はさらに、前記現在のイメージに関連するユーザ・プロファイルに基づき判断される、請求項15に記載のコンピュータ・プログラム製品。
  21. 前記ユーザ・プロファイルは、一組のプリファレンスを規定する、請求項20に記載のコンピュータ・プログラム製品。
  22. イメージを実行するのに最適なコンピューティング環境を判断するシステムを展開する方法であって、前記方法は、
    コンピュータ・インフラストラクチャを提供するステップ
    を含み、前記コンピュータ・インフラストラクチャは、
    個別のコンピューティング環境においてそれぞれ実行されている一組のイメージをレジストリ・サービスに登録し、
    現在のコンピューティング環境において実行されている現在のイメージの既存性能を測定し、
    前記一組のイメージから、前記現在のイメージに類似した少なくとも1つのイメージを特定し、
    前記少なくとも1つのイメージの個別のコンピューティング環境において実行されている、前記少なくとも1つのイメージの潜在性能を測定し、
    前記少なくとも1つのイメージの前記潜在性能と、前記現在のイメージの前記既存性能とを比較し、
    前記現在のイメージを実行するのに最適なコンピューティング環境を、前記比較に基づき判断するよう動作可能である、方法。
JP2013547787A 2011-01-11 2012-01-11 イメージを実行するのに最適なコンピューティング環境の判断 Active JP5946468B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/004,049 2011-01-11
US13/004,049 US8572623B2 (en) 2011-01-11 2011-01-11 Determining an optimal computing environment for running an image based on performance of similar images
PCT/CA2012/050014 WO2012094757A1 (en) 2011-01-11 2012-01-11 Determining an optimal computing environment for running an image

Publications (2)

Publication Number Publication Date
JP2014501989A true JP2014501989A (ja) 2014-01-23
JP5946468B2 JP5946468B2 (ja) 2016-07-06

Family

ID=46456224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013547787A Active JP5946468B2 (ja) 2011-01-11 2012-01-11 イメージを実行するのに最適なコンピューティング環境の判断

Country Status (6)

Country Link
US (4) US8572623B2 (ja)
JP (1) JP5946468B2 (ja)
CN (1) CN103299274B (ja)
DE (1) DE112012000444B4 (ja)
GB (3) GB2582223B (ja)
WO (1) WO2012094757A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017526049A (ja) * 2014-06-30 2017-09-07 マイクロソフト テクノロジー ライセンシング,エルエルシー プライベート計算リソースの外部サービスに対する日和見的な接続

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053053B2 (en) 2010-11-29 2015-06-09 International Business Machines Corporation Efficiently determining identical pieces of memory used by virtual machines
US9201678B2 (en) * 2010-11-29 2015-12-01 International Business Machines Corporation Placing a virtual machine on a target hypervisor
US8572623B2 (en) * 2011-01-11 2013-10-29 International Business Machines Corporation Determining an optimal computing environment for running an image based on performance of similar images
US20130085810A1 (en) * 2011-09-29 2013-04-04 Volker Driesen Federated business configuration and scoping
CN104067258A (zh) * 2012-04-26 2014-09-24 惠普发展公司,有限责任合伙企业 平台运行时间抽象
US20140047342A1 (en) * 2012-08-07 2014-02-13 Advanced Micro Devices, Inc. System and method for allocating a cluster of nodes for a cloud computing system based on hardware characteristics
US9588820B2 (en) * 2012-09-04 2017-03-07 Oracle International Corporation Cloud architecture recommender system using automated workload instrumentation
JP5949370B2 (ja) * 2012-09-19 2016-07-06 富士通株式会社 制御装置、処理システム、制御プログラム、及び制御方法
US9239727B1 (en) * 2012-10-17 2016-01-19 Amazon Technologies, Inc. Configurable virtual machines
GB2507338A (en) 2012-10-26 2014-04-30 Ibm Determining system topology graph changes in a distributed computing system
EP2929717A4 (en) 2012-12-07 2016-07-20 Hewlett Packard Entpr Dev Lp MANAGING NETWORK RESOURCES
US10728322B2 (en) * 2013-01-31 2020-07-28 Micro Focus Llc Determining transferability of a computing resource to a cloud computing environment
US9817699B2 (en) 2013-03-13 2017-11-14 Elasticbox Inc. Adaptive autoscaling for virtualized applications
US20140282456A1 (en) * 2013-03-15 2014-09-18 Cloud Technology Partners, Inc. Methods, systems and computer-readable media for code profiling and migration effort estimation
US9747185B2 (en) * 2013-03-26 2017-08-29 Empire Technology Development Llc Acceleration benefit estimator
US9274782B2 (en) 2013-12-20 2016-03-01 International Business Machines Corporation Automated computer application update analysis
US20150237140A1 (en) * 2014-02-14 2015-08-20 Tenoware R&D Limited Data storage systems and methods
US9842039B2 (en) * 2014-03-31 2017-12-12 Microsoft Technology Licensing, Llc Predictive load scaling for services
US9811365B2 (en) * 2014-05-09 2017-11-07 Amazon Technologies, Inc. Migration of applications between an enterprise-based network and a multi-tenant network
JP6455035B2 (ja) * 2014-09-10 2019-01-23 富士通株式会社 負荷分散管理装置、制御方法およびプログラム
US9471362B2 (en) 2014-09-23 2016-10-18 Splunk Inc. Correlating hypervisor data for a virtual machine with associated operating system data
US9619371B2 (en) * 2015-04-16 2017-04-11 International Business Machines Corporation Customized application performance testing of upgraded software
US10389663B2 (en) * 2015-04-23 2019-08-20 Microsoft Technology Licensing, Llc Automatic uploading of attachments to group cloud storage at send time
KR102180479B1 (ko) * 2015-07-22 2020-11-18 삼성전자주식회사 전자기기 및 전자기기의 동작 방법
US10387181B2 (en) 2016-01-12 2019-08-20 International Business Machines Corporation Pre-deployment of particular virtual machines based on performance and due to service popularity and resource cost scores in a cloud environment
US11212125B2 (en) * 2016-02-05 2021-12-28 International Business Machines Corporation Asset management with respect to a shared pool of configurable computing resources
US10725759B2 (en) * 2016-10-03 2020-07-28 Avaya Inc. Web application system and method to dynamically select between local installed and cloud-based resources
US10505866B2 (en) * 2017-06-23 2019-12-10 Oracle International Corporation System and method for recommending hosting platforms for user workload execution
CN109936752B (zh) * 2017-12-15 2021-03-30 中国移动通信集团云南有限公司 一种图像分层处理方法及装置
US11171825B2 (en) 2018-05-08 2021-11-09 International Business Machines Corporation Context-based resource allocation with extended user concepts
CN109062665A (zh) * 2018-07-26 2018-12-21 郑州云海信息技术有限公司 一种虚拟机桌面环境配置方法、装置及系统
US10739983B1 (en) 2019-04-10 2020-08-11 Servicenow, Inc. Configuration and management of swimlanes in a graphical user interface
US20220083397A1 (en) * 2020-09-17 2022-03-17 International Business Machines Corporation Detection and handling of excessive resource usage in a distributed computing environment
US11734146B2 (en) 2021-07-16 2023-08-22 Bank Of America Corporation Analyzing performance metrics for improving technology environment of a software application

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050155033A1 (en) * 2004-01-14 2005-07-14 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US20050193227A1 (en) * 2004-02-20 2005-09-01 Hitachi, Ltd. Method for deciding server in occurrence of fault
US20060195715A1 (en) * 2005-02-28 2006-08-31 Herington Daniel E System and method for migrating virtual machines on cluster systems
US20090144393A1 (en) * 2007-11-29 2009-06-04 Yutaka Kudo Method and apparatus for locating candidate data centers for application migration
US20100050172A1 (en) * 2008-08-22 2010-02-25 James Michael Ferris Methods and systems for optimizing resource usage for cloud-based networks
US20120084445A1 (en) * 2010-10-05 2012-04-05 Brock Scott L Automatic replication and migration of live virtual machines

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920555B1 (en) * 2001-03-10 2005-07-19 Powerquest Corporation Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system
US7574496B2 (en) 2001-11-30 2009-08-11 Surgient, Inc. Virtual server cloud interfacing
US7765231B2 (en) 2005-04-08 2010-07-27 Rathus Spencer A System and method for accessing electronic data via an image search engine
US7519200B2 (en) 2005-05-09 2009-04-14 Like.Com System and method for enabling the use of captured images through recognition
US20080082976A1 (en) * 2006-09-29 2008-04-03 Matthias Steinwagner Usage of virtualization software for shipment of software products
GB0624033D0 (en) * 2006-12-01 2007-01-10 Iti Scotland Ltd Dynamic intervention with software applications
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
US8600120B2 (en) 2008-01-03 2013-12-03 Apple Inc. Personal computing device control using face detection and recognition
CN101493781B (zh) * 2008-01-24 2012-02-15 中国长城计算机深圳股份有限公司 一种虚拟机系统及其启动方法
US8935692B2 (en) 2008-05-22 2015-01-13 Red Hat, Inc. Self-management of virtual machines in cloud-based networks
US8341625B2 (en) 2008-05-29 2012-12-25 Red Hat, Inc. Systems and methods for identification and management of cloud-based virtual machines
US8943497B2 (en) 2008-05-29 2015-01-27 Red Hat, Inc. Managing subscriptions for cloud-based virtual machines
US20100017801A1 (en) * 2008-07-18 2010-01-21 Vmware, Inc. Profile based creation of virtual machines in a virtualization environment
US9164749B2 (en) * 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US10365935B1 (en) * 2008-09-23 2019-07-30 Open Invention Network Llc Automated system and method to customize and install virtual machine configurations for hosting in a hosting environment
US8838527B2 (en) 2008-11-06 2014-09-16 Yahoo! Inc. Virtual environment spanning desktop and cloud
US8239526B2 (en) * 2008-11-14 2012-08-07 Oracle International Corporation System and method for performance data collection in a virtual environment
US7996525B2 (en) * 2008-12-31 2011-08-09 Sap Ag Systems and methods for dynamically provisioning cloud computing resources
US8019861B2 (en) * 2009-01-29 2011-09-13 Vmware, Inc. Speculative virtual machine resource scheduling
JP5293580B2 (ja) * 2009-03-19 2013-09-18 日本電気株式会社 ウェブサービスシステム、ウェブサービス方法及びプログラム
US7904540B2 (en) * 2009-03-24 2011-03-08 International Business Machines Corporation System and method for deploying virtual machines in a computing environment
US9311162B2 (en) 2009-05-27 2016-04-12 Red Hat, Inc. Flexible cloud management
US8255529B2 (en) * 2010-02-26 2012-08-28 Red Hat, Inc. Methods and systems for providing deployment architectures in cloud computing environments
US8650563B2 (en) * 2010-02-26 2014-02-11 Red Hat Israel, Ltd. Identification and placement of new virtual machines to reduce memory consumption based on shared images with hosted virtual machines
US9130912B2 (en) * 2010-03-05 2015-09-08 International Business Machines Corporation System and method for assisting virtual machine instantiation and migration
US8478878B2 (en) * 2010-03-11 2013-07-02 International Business Machines Corporation Placement of virtual machines based on server cost and network cost
US8904382B2 (en) * 2010-06-17 2014-12-02 International Business Machines Corporation Creating instances of cloud computing environments
US8719833B2 (en) * 2010-06-24 2014-05-06 Sap Ag Adaptive demand-driven load balancing
US8601129B2 (en) * 2010-06-30 2013-12-03 International Business Machines Corporation Hypervisor selection for hosting a virtual machine image
US9323561B2 (en) * 2010-08-13 2016-04-26 International Business Machines Corporation Calibrating cloud computing environments
US20120054731A1 (en) * 2010-08-24 2012-03-01 International Business Machines Corporation Method, System and Computer Programs to Assist Migration to a Cloud Computing Environment
US8984506B2 (en) * 2011-01-07 2015-03-17 International Business Machines Corporation Techniques for dynamically discovering and adapting resource and relationship information in virtualized computing environments
US8572623B2 (en) 2011-01-11 2013-10-29 International Business Machines Corporation Determining an optimal computing environment for running an image based on performance of similar images

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050155033A1 (en) * 2004-01-14 2005-07-14 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
JP2007518169A (ja) * 2004-01-14 2007-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 準最適な最適とはいえないグリッド環境内におけるアプリケーションの動作の維持
US20050193227A1 (en) * 2004-02-20 2005-09-01 Hitachi, Ltd. Method for deciding server in occurrence of fault
JP2005234917A (ja) * 2004-02-20 2005-09-02 Hitachi Ltd 障害時のサーバ決定方法
US20060195715A1 (en) * 2005-02-28 2006-08-31 Herington Daniel E System and method for migrating virtual machines on cluster systems
JP2006244481A (ja) * 2005-02-28 2006-09-14 Hewlett-Packard Development Co Lp クラスタシステムの仮想マシンをマイグレーションするためのシステム及び方法
US20090144393A1 (en) * 2007-11-29 2009-06-04 Yutaka Kudo Method and apparatus for locating candidate data centers for application migration
JP2009134687A (ja) * 2007-11-29 2009-06-18 Hitachi Ltd アプリケーションマイグレーションのための候補データセンタを見つける方法および装置[0001]
US20100050172A1 (en) * 2008-08-22 2010-02-25 James Michael Ferris Methods and systems for optimizing resource usage for cloud-based networks
US20120084445A1 (en) * 2010-10-05 2012-04-05 Brock Scott L Automatic replication and migration of live virtual machines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017526049A (ja) * 2014-06-30 2017-09-07 マイクロソフト テクノロジー ライセンシング,エルエルシー プライベート計算リソースの外部サービスに対する日和見的な接続

Also Published As

Publication number Publication date
GB2582223A (en) 2020-09-16
GB202005236D0 (en) 2020-05-20
DE112012000444B4 (de) 2023-11-02
GB201311877D0 (en) 2013-08-14
GB2583433B (en) 2021-05-12
US20190303189A1 (en) 2019-10-03
WO2012094757A1 (en) 2012-07-19
GB2500351A (en) 2013-09-18
GB2582223B (en) 2021-01-27
GB202012348D0 (en) 2020-09-23
US10261819B2 (en) 2019-04-16
DE112012000444T5 (de) 2013-10-02
US9348650B2 (en) 2016-05-24
US11204793B2 (en) 2021-12-21
CN103299274A (zh) 2013-09-11
US20160224372A1 (en) 2016-08-04
US8572623B2 (en) 2013-10-29
CN103299274B (zh) 2016-10-12
US20140007130A1 (en) 2014-01-02
US20120180045A1 (en) 2012-07-12
JP5946468B2 (ja) 2016-07-06
GB2583433A (en) 2020-10-28
GB2500351B (en) 2020-06-17

Similar Documents

Publication Publication Date Title
JP5946468B2 (ja) イメージを実行するのに最適なコンピューティング環境の判断
US9811370B2 (en) Determining an optimal datacenter for placing a resource instance in a cloud that would benefit an intended set of end users in a geographical region
US8793377B2 (en) Identifying optimal virtual machine images in a networked computing environment
US8914469B2 (en) Negotiating agreements within a cloud computing environment
US9158590B2 (en) Dynamically acquiring computing resources in a networked computing environment
US9641392B2 (en) Policy implementation in a networked computing environment
US8793378B2 (en) Identifying services and associated capabilities in a networked computing environment
US9582319B2 (en) Migrating virtual machines across network separated data centers
US9225604B2 (en) Mapping requirements to a system topology in a networked computing environment
US9317337B2 (en) Utilizing software component metadata to provision virtual machines in a networked computing environment
US8751620B2 (en) Validating deployment patterns in a networked computing environment
US20120324070A1 (en) Distributed cloud placement software
US20120151061A1 (en) Management of service application migration in a networked computing environment
US20110145392A1 (en) Dynamic provisioning of resources within a cloud computing environment
US8806485B2 (en) Configuring virtual machine images in a networked computing environment
US8806483B2 (en) Determining starting values for virtual machine attributes in a networked computing environment
US8825862B2 (en) Optimization of resource provisioning in a networked computing environment
US20130262189A1 (en) Analyzing metered cost effects of deployment patterns in a networked computing environment
US20120030238A1 (en) Automatically identifying personalized support
JP2023544192A (ja) ファンクション実行のためのコンピューティング・リソースのタグ・ドリブン・スケジューリング
US20140359110A1 (en) Authorizing an action request in a networked computing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160531

R150 Certificate of patent or registration of utility model

Ref document number: 5946468

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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