(57)【特許請求の範囲】
【請求項１】
プロセッサを含む計算システムにおいて複数のオブジェクト宛先にわたってデプロイされた複数のソフトウェア・オブジェクトのうちの１つを移動させるためにコンピュータで実施される方法であって、
前記プロセッサにより、新たなオブジェクト宛先へ移動させるべきソフトウェア・オブジェクトを識別するステップと、
前記プロセッサにより、候補オブジェクト宛先を識別するステップと、
前記プロセッサにより、前記候補オブジェクト宛先上にデプロイされたソフトウェア・オブジェクトを識別するステップと、
前記プロセッサにより、前記移動させるべきソフトウェア・オブジェクトに関連する制約を識別するステップと、
前記プロセッサにより、前記候補オブジェクト宛先上にデプロイされた前記ソフトウェア・オブジェクトに関連する制約を識別するステップと、
前記プロセッサにより、前記移動させるべきソフトウェア・オブジェクトが前記候補オブジェクト宛先へ移動された場合でも、前記識別された制約の両方を順守することができるか否かを判断するステップと、
前記プロセッサにより、前記識別された制約の両方を順守することができると判断された場合、前記移動させるべきソフトウェア・オブジェクトの移動を許可するステップと
を含む方法。
【請求項２】
ソフトウェア・オブジェクトは、ソフトウェア・アプリケーション又は仮想マシンである、請求項１に記載のコンピュータで実施される方法。
【請求項３】
前記計算システムは、複数の物理計算装置を含み、さらに、オブジェクト宛先は、仮想マシン及び物理計算装置のうちの一方である、請求項１又は請求項２に記載のコンピュータで実施される方法。
【請求項４】
前記移動させるべきソフトウェア・オブジェクトが仮想マシンである場合、前記移動を許可するステップは、前記仮想マシン、及びその上にデプロイされた全てのオブジェクトの前記候補オブジェクト宛先への移動を許可するステップをさらに含む、請求項１〜３の何れか一項に記載のコンピュータで実施される方法。
【請求項５】
前記候補オブジェクト宛先を識別するステップは、前記識別された移動させるべきソフトウェア・オブジェクトの特性、及びオブジェクト宛先特性に基づく、請求項１〜４の何れか一項に記載のコンピュータで実施される方法。
【請求項６】
前記移動させるべきソフトウェア・オブジェクトの移動に対する許可がなされた場合に、前記識別された移動させるべきソフトウェア・オブジェクトを前記識別された候補オブジェクト宛先へ移動させるステップをさらに含む、請求項１〜５の何れか一項に記載のコンピュータで実施される方法。
【請求項７】
前記識別された制約は、ビジネス上の制約、セキュリティ上の制約、法的制約、工業的制約、技術的制約、非技術的制約、及びデータタイプ制約のうちの少なくとも１つを含む、請求項１〜６の何れか一項に記載のコンピュータで実施される方法。
【請求項８】
前記識別された移動させるべきソフトウェア・オブジェクトが移動されたことの確認を受け取り、それが移動された宛先である前記オブジェクト宛先の詳細、及び前記オブジェクト宛先上の他のオブジェクトの詳細を、ログに記録するステップをさらに含む、請求項６、又は請求項６に従属する請求項７に記載のコンピュータで実施される方法。
【請求項９】
計算システムにおいて、複数のオブジェクト宛先にわたってデプロイされた複数のソフトウェア・オブジェクトのうちの１つを移動させる装置であって、
前記装置は、
オブジェクト宛先上にデプロイされたソフトウェア・オブジェクトを異なるオブジェクト宛先へ移動させるべきことを示す指示を得て、
前記移動させるべきソフトウェア・オブジェクトのための新たな潜在的オブジェクト宛先を識別し、
コンプライアンスデータ記憶装置から、前記移動させるべきソフトウェア・オブジェクトに関連する制約データを得て、
前記コンプライアンスデータ記憶装置から、前記新たな潜在的オブジェクト宛先上にデプロイされたソフトウェア・オブジェクトに関連する制約データを得て、
前記移動させるべきソフトウェア・オブジェクトが前記新たなオブジェクト宛先へ移動された場合でも、前記得られた制約の両方を順守することができるか否かを判断し、
前記得られた制約の両方を順守することができると判断された場合、前記移動させるべきソフトウェア・オブジェクトの前記移動を許可するためのアセスメント・モジュールを含む装置。
【請求項１０】
前記ソフトウェア・オブジェクトは、ソフトウェア・アプリケーション及び仮想マシンを含み、前記オブジェクト宛先は、仮想マシン及び物理的計算装置を含む、請求項９に記載の装置。
【請求項１１】
前記アセスメント・モジュールは、前記移動させるべきソフトウェア・オブジェクトの特性、及びオブジェクト宛先の特性に少なくとも一部基づいて前記新たな潜在的オブジェクト宛先を識別し、前記特性は、構成管理データベースＣＭＤＢから得られる、請求項９又は請求項１０に記載の装置。
【請求項１２】
オブジェクト・デプロイメント・コントローラをさらに含み、前記アセスメント・モジュールは、前記オブジェクト・デプロイメント・コントローラから直接前記新たな潜在的オブジェクト宛先を識別する、請求項９又は請求項１０に記載の装置。
【請求項１３】
制約データ記憶装置から前記制約データを得ることをさらに含む、請求項９〜１２の何れか一項に記載の装置。
【請求項１４】
データログをさらに含み、前記アセスメント・モジュールは、前記ソフトウェア・オブジェクトが移動された宛先である前記オブジェクト宛先の詳細、及び前記オブジェクト宛先上の他のオブジェクトの詳細を、前記データログに記憶するように構成される、請求項９〜１３の何れか一項に記載の装置。
【請求項１５】
計算システムにおいて複数のオブジェクト宛先にわたってデプロイされた複数のソフトウェア・オブジェクトのうちの１つを移動させる方法を提供するための、プロセッサにより実行可能な機械読取可能な命令を記憶する有形の機械読取可能媒体であって、
前記プロセッサにより実行されたときに、新たなオブジェクト宛先へ移動させるべきオブジェクト宛先上にデプロイされたソフトウエア・オブジェクトを識別する機械読取可能命令と、
前記プロセッサにより実行されたときに、前記移動させるべきソフトウェア・オブジェクトを移動させることが可能な宛先となる候補オブジェクト宛先を識別する機械読取可能命令と、
前記プロセッサにより実行されたときに、前記候補オブジェクト宛先上に現在デプロイされているソフトウェア・オブジェクトを識別する機械読取可能命令と、
前記プロセッサにより実行されたときに、前記移動させるべきソフトウェア・オブジェクトに関連する制約データを識別する機械読取可能命令と、
前記プロセッサにより実行されたときに、前記候補オブジェクト宛先上に現在デプロイされている前記ソフトウェア・オブジェクトに関連する制約データを識別する機械読取可能命令と、
前記プロセッサにより実行されたときに、前記移動させるべきソフトウェア・オブジェクトが前記候補オブジェクト宛先へ移動された場合でも、前記識別された制約の両方を順守することができるか否かを判断する機械読取可能命令と、
前記プロセッサにより実行されたときに、前記識別された制約の両方を順守することができると判断された場合、前記移動させるべきソフトウェア・オブジェクトの前記候補オブジェクト宛先への移動を許可する機械読取可能命令と
を含む、有形の機械読取可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
多くの組織及び企業は、いわゆる仮想化環境において自分達の情報テクノロジー（ＩＴ）アプリケーションを実行するために、データセンター及びサーバー仮想化技術をかつてないほど利用している。データセンター内でのＩＴアプリケーションの管理を容易にするために、仮想化環境内でのアプリケーションのデプロイメント及び再デプロイメントを自動的に管理する例えばヒューレットパッカードのマトリックスオペレーティング環境（マトリックスＯＥ）のような多数の仮想化ツールが存在する。このような仮想化ツールは、ＩＴアプリケーション及び仮想マシン（ＶＭ）がその上で実行されるＩＴアプリケーションを、データセンター内の異なる物理的マシン（ＰＭ）へ動的に移動させることを可能にすることにより、データセンターの効率的管理を可能にする。
【０００２】
データセンターにおけるソフトウェア・アプリケーション及び仮想マシンの異なる物理的マシンへの再デプロイメントは、物理的マシンの種々の特性に基づいて行われる場合がある。例えば、仮想化ツールは、利用可能なメモリ、メモリ使用率、処理能力、プロセッサ使用率、プロセッサ温度等のような物理的マシンの特性に基づいて、仮想マシンを異なる物理的マシンへ移動させることを決定する場合がある。従って、プロセッサ利用率の低い物理的マシンは、例えばシャットダウンされる場合があり、それによって、エネルギーを節約し、その上にデプロイされた任意の仮想マシンを他の物理的マシンへ移動させる場合がある。逆に、高いプロセッサ利用率を有する物理的マシンは、仮想マシンの一部を仮想化環境内の他の物理的マシンへ移動することによって、その上にデプロイされたアプリケーション又は仮想マシンから開放される場合がある。
【０００３】
次に、本発明の種々の例及び実施形態について、添付の図面を参照して、非制限的な例としてのみ説明する。
【図面の簡単な説明】
【０００４】
【図１】本発明の一例によるシステムを示す略ブロック図である。
【図２】図１のシステムの種々の要素を動作させる例示的方法の概要を示す略フロー図である。
【図３】図１のシステムの種々の要素を動作させる例示的方法の概要を示す略フロー図である。
【図４】図１のシステムの種々の要素を動作させる例示的方法の概要を示す略フロー図である。
【図５】本発明の一例による仮想化管理システムを示す略ブロック図である。
【図６】本発明の一例による仮想化管理システムの一実施形態を示す略ブロック図である。
【図７】本発明の一例による仮想化管理システムを動作させる例示的方法の概略を示す略フロー図である。
【発明を実施するための形態】
【０００５】
現在の仮想化管理ツールは、単にアプリケーションがその上にデプロイされる仮想マシン又は物理的マシンの特性のみに基づいて、ソフトウェア・アプリケーション及び仮想マシンをデプロイし、及び再デプロイしている。
【０００６】
しかしながら、本発明の種々の例は、仮想化環境においてソフトウェア・アプリケーション及び仮想マシンを再デプロイし、又は移動する方法に係るより高度な制御を提供することを目的としている。
【０００７】
例えば、特定タイプのソフトウェア・アプリケーションの動作、又は特定タイプのデータの処理は、ビジネス上の制約、監査機関制約、法的制約、セキュリティ上の制約等の制約を受ける場合がある。そのような制約は、例えば、あるソフトウェア・アプリケーションが他のソフトウェア・アプリケーション若しくは他のタイプのソフトウェア・アプリケーションとして同じ仮想マシン若しくは同じ物理的マシンの上にデプロイされること、あるいは、特定の他の特性を有する仮想マシン若しくは物理的マシンの上にデプロイされることを禁止する場合がある。
【０００８】
例えば、個人医療データを処理するソフトウェア・アプリケーションは、潜在的セキュリティリスクを避けるために、インターネットのような公衆ネットワークに接続された仮想マシン又は物理的マシン上での実行が制限される場合がある。同様に、個人特定可能な情報（ＰＩＩ）を処理するソフトウェア・アプリケーションは、ＰＩＩデータが記憶されるデータベースサーバと同じ物理的マシン上にデプロイされなければならない旨の制約を有する場合がある。同様に、ＰＣＩデータ・セキュリティ・スタンダード（ＰＣＩ−ＤＳＳ）データに準拠するソフトウェア・アプリケーションは、特定の工業的規則に準拠しなければならない場合がある。
【０００９】
次に、図１を参照すると、本発明の一例による仮想化管理システム１００を示すブロック図が示されている。図１の種々の要素の動作については、図２をさらに参照して、より詳しく説明される。
【００１０】
システム１００は、ソフトウェア・アプリケーション及びコンピュータプログラムのような多数のソフトウェア・オブジェクト１０６を含み、それらの各々が、仮想マシン又は他のソフトウェア・オブジェクト実行環境のような仮想宛先１０４上にデプロイされる。さらに、各仮想宛先１０４は、物理的計算装置、コンピュータサーバ、又は他の処理装置のようなハードウェア宛先１０２上にデプロイされる。
【００１１】
一例として、仮想宛先１０４は、他の仮想宛先１０４上にデプロイされ、他の仮想的な宛先１０４は、さらに、ハードウェア宛先１０２上にデプロイされる場合がある。
【００１２】
ソフトウェア・アプリケーション１０６及び仮想宛先１０４の両方は、両方ともソフトウェア・オブジェクトの類であるため、本明細書において、ソフトウェア・オブジェクトという語は、ソフトウェア・アプリケーション１０６及び仮想宛先１０４の両方を含むものとして使用される場合がある。
【００１３】
どのデプロイされたソフトウェア・オブジェクト（１０４及び１０６）を移動させるべきかの識別は、オブジェクト・デプロイメント・コントローラ１０８によって実施される。一例として、オブジェクト・デプロイメント・コントローラ１０８は、ヒューレット・パッカード・カンパニーにより提供されるＨＰ−ＵＸシステムのためのＨＰマトリクスオペレーティング環境（ＯＥ）のような仮想化コントローラである場合がある。オブジェクト・デプロイメント・コントローラ１０８は、識別されたオブジェクトを移動させるべきことをアセスメント・エンジン又はモジュール１１０に知らせる通知、警告、メッセージ等を生成する。次に、アセスメント・エンジン１１０は、後で詳しく説明するように、識別されたオブジェクトをどこへ移動させるべきかを決定する。
【００１４】
次に、図２を参照して、本発明の一例によるオブジェクト・デプロイメント・コントローラ１０８の動作について説明する。２０２において、オブジェクト・デプロイメント・コントローラ１０８は、オブジェクト宛先の特性を監視する。得られた監視された特性は、適当なメモリ又はデータ記憶装置（図示せず）に記憶される場合がある。
【００１５】
一例として、オブジェクト・デプロイメント・コントローラ１０８は、ソフトウェア・オブジェクトがその上にデプロイされるハードウェア宛先１０２の種々の特性を監視する場合がある（２０２）。他の例として、オブジェクト・デプロイメント・コントローラ１０８は、ソフトウェア・オブジェクトがその上にデプロイされる仮想宛先１０４の種々の特性を監視する場合がある（２０２）。さらに別の例として、オブジェクト・デプロイメント・コントローラ１０８は、ソフトウェア・オブジェクトがその上にデプロイされるハードウェア宛先及び仮想宛先の両方の特性を監視する場合がある（２０２）。
【００１６】
ハードウェア宛先１０２の場合、監視される特性としては、例えば、利用可能なメモリ、メモリ使用レベル、利用可能な処理能力、プロセッサ使用レベル、利用可能な記憶装置容量、記憶装置使用レベル等のような、ハードウェア宛先１０２の技術的特性が挙げられる。仮想宛先１０４の場合、監視される特性としては、例えば、利用可能な仮想メモリ、仮想メモリ使用率、利用可能な仮想処理能力、仮想プロセッサ使用レベル等が挙げられる。
【００１７】
一例として、監視される特性の詳細は、例えば、適当なインタフェースを使用して、宛先から直接得られる場合がある。他の例として、監視される特性の詳細は、構成管理データベース（ＣＭＤＢ）のような中央集中型データレポジトリ（図示せず）から得られる場合がある。
【００１８】
オブジェクト・デプロイメント・コントローラ１０８は、監視された特性を使用して、監視された特性のいずれかが、所定の閾値レベルを超えているか、又はそれを下回っているかどうかを判定する（２０４）。例えば、ハードウェア宛先のプロセッサ使用率が１０分の時間にわたって７０％の平均を超える場合、オブジェクト・デプロイメント・コントローラ１０８は、１又は複数のソフトウェア・オブジェクトを異なる仮想宛先又はハードウェア宛先へ移動させることを決定する場合がある。他の例では、他の閾値及び特性が使用される場合がある。
【００１９】
２０６において、オブジェクト・デプロイメント・コントローラ１０８は、新たな宛先へ移動させるべき１又は複数のソフトウェア・オブジェクトを識別する。一例として、オブジェクト・デプロイメント・コントローラ１０８は、仮想宛先１０４にデプロイされた１又は複数のソフトウェア・オブジェクトであって、同じハードウェア宛先又は異なるハードウェア宛先１０２上の異なる仮想宛先０１４へ移動させるべき１又は複数のソフトウェア・オブジェクトを識別する場合がある。他の例として、オブジェクト・デプロイメント・コントローラ１０８は、異なるハードウェア宛先１０２へ移動させるべき１又は複数の仮想宛先１０４（及び、その上にデプロイされた全てのソフトウェア・オブジェクト）を識別する場合がある。
【００２０】
オブジェクト・デプロイメント・コントローラ１０８が、ソフトウェア・オブジェクトを移動させるべきことを決定した後、アセスメント・エンジン１１０を使用して、そのソフトウェア・オブジェクトの新たな宛先が決定される。次に、本発明の一例によるアセスメント・エンジン１１０の動作について、図３をさらに参照して説明する。
【００２１】
３０２において、アセスメント・エンジン１１０は、識別された移動させるべきソフトウェア・オブジェクトのための新たな候補宛先、すなわち新たな潜在的宛先を識別する。一例として、新たな候補宛先の識別は、得られた監視された特性により、仮想化環境において何ら悪い結果を引き起こすことなくソフトウェア・オブジェクトを新たな宛先へ移動できることが示された宛先を見つけることによって決定される。例えば、悪い結果とは、例えば、仮想的又は物理的宛先の特性が、所定のレベルを超過し、又は所定のレベル未満に低下することが挙げられる。例えば、識別されたソフトウェア・オブジェクトが少なくとも４Ｇｂのメモリを必要とすることが分かっている場合、少なくとも４Ｇｂの利用可能なメモリを有する候補宛先が選択される場合がある。ストレージ要件、処理要件、ネットワーク要件等のようなソフトウェア・オブジェクトの他の要件もまた、必要に応じて考慮される場合がある。
【００２２】
一例として、アセスメント・エンジンは、アプリケーション・プログラミング・インタフェースのような適当なインタフェースを介してオブジェクト・デプロイメント・コントローラに問合せをすることによって、候補宛先を識別する場合がある。
【００２３】
３０４において、アセスメント・エンジン１１０は、移動させるべきものとして識別されたソフトウェア・オブジェクトに関連する１又は複数の制約を識別する制約データを識別する。制約データは、オブジェクト・コンプライアンスデータ記憶装置、又はメモリ１１２に記憶される。制約データは、例えば、ＩＴシステムオペレータによって定義される場合もあれば、オブジェクトをデプロイした者の代わりに顧客によって定義される場合もあり、又は、任意の他の適当な方法で取得される場合もある。先に説明したように、制約データは、ビジネス上の制約、監査機関制約、法的制約、セキュリティ上の制約等を定義する場合がある。制約データは、技術的及び／又は非技術的制約を定義する場合がある。
【００２４】
３０６において、アセスメント・エンジン１１０は、候補宛先にある任意のソフトウェア・オブジェクトを識別し、３０８において、オブジェクト・コンプライアンスデータ記憶装置１１２を使用して、その候補宛先において識別されたソフトウェア・オブジェクトの各々に関連する制約を識別する。
【００２５】
３１０において、アセスメント・エンジン１１０は、候補宛先の種々の特性を識別する。特性は、例えば、移動させるべきソフトウェア・オブジェクトに関連する制約に基づいて識別される場合がある。例えば、もし移動させるべきソフトウェア・オブジェクトに関連する制約が、公衆ネットワークアクセスが宛先に与えられていないないことであるときは、アセスメント・エンジン１１０は、候補宛先が公衆ネットワークアクセスを有するか否かを識別する場合がある。一例として、宛先特性は、上記のデータ記憶装置又はメモリから取得される場合がある。他の実施形態として、宛先特性は、例えば、適当なインタフェース又はソフトウェア・アプリケーションを通じて、宛先から直接取得される場合がある。
【００２６】
３１２において、アセスメント・エンジン１１０は、取得したオブジェクト制約及び宛先特性に、互いに互換性があるか否かを判断する。
【００２７】
もしアセスメント・エンジン１１０が、取得したオブジェクト制約及び宛先特性に、互換性がないと判断した場合、アセスメント・エンジン１１０は、代わりの候補宛先を識別する（３１６）。
【００２８】
一方、もしアセスメント・エンジン１１０が、取得したオブジェクト制約及び宛先特性に、互換性があると判断した場合、アセスメント・エンジン１１０は、そのオブジェクトを候補宛先へ移動させることを許可する。
【００２９】
一例として、オブジェクトを候補宛先へ移動させることの許可は、候補宛先の詳細と共にではあるが、オブジェクト・デプロイメント・コントローラ１０８へ送信され、又はオブジェクト・デプロイメント・コントローラ１０８に対し利用可能とされ、オブジェクト・デプロイメント・コントローラ１０８が、そのオブジェクトを適宜移動させる場合がある。
【００３０】
他の例として、アセスメント・エンジン１１０は、適当な方法で、そのオブジェクトの候補宛先への移動を実施する場合がある。
【００３１】
さらに別の例として、図４をさらに参照して説明されるように、アセスメント・エンジン１１０は、移動すべきオブジェクトが移動されたことの確認を受け取り（４０２）、そのオブジェクトが移動されたオブジェクト宛先の詳細をさらに受け取る場合がある。４０４において、アセスメント・エンジン１１０は、これらの詳細をコンプライアンス・ログ（図示せず）に記憶する。コンプライアンス・ログは、例えば、任意の適当なメモリ、又はデータ記憶装置に記憶される場合がある。
【００３２】
４０６において、アセスメント・エンジン１１０は、新たな宛先にある他のオブジェクトの詳細を取得する。一例として、これは、仮想宛先及びハードウェア宛先のうちの少なくとも一方にある他のオブジェクトの詳細を含む場合がある。取得された詳細は、例えば、各オブジェクトのタイプの詳細を含む場合がある。４０８において、アセスメント・エンジン１１０は、新たな宛先の種々の特性を取得する。取得された特性は、例えば、ハードウェア宛先のような宛先を一意に識別することが可能な宛先識別子を含む場合がある。他の例として、取得された特性は、例えば、そのデバイスにとって利用可能なネットワークアクセスの詳細、セキュリティ設定の詳細などを含む場合がある。
【００３３】
４０８において、アセスメント・エンジン１１０は、取得した詳細をコンプライアンス・ログに記憶する。
【００３４】
コンプライアンス・ログにそのような詳細を記憶することにより、個々のソフトウェア・オブジェクトの宛先の監査を実施することが可能となる。もし、後に必要となった場合、ログに記憶されたデータを使用して、どのソフトウェア・オブジェクトがどの宛先上にデプロイされたかを示すことができ、それをもって、任意の所与の時点における他のソフトウェア・オブジェクトを示すことができる。
【００３５】
ただし、重要なことに、通常のオブジェクトデプロイメント管理システムは、オブジェクト制約に伴うコンプライアンスを必要とせず、そのようなログを保持する理由がないので、そのようなログを保持しない。
【００３６】
次に、本発明の一例による仮想化管理システム５０４の一例について、図５を参照して詳細に説明する。仮想化管理システム５０４は、コンプライアンス・エンジン５０６、アセスメント・エンジン５０８、コンプライアンスデータ記憶装置５１０、及び宛先データ記憶装置５１２を含む。
【００３７】
他の例として、図６に示されているように、システム５０４の少なくとも一部は、通信バス６０４を介してメモリ６０６、入出力モジュール６０８、及び記憶装置６１４、６１６に結合されたプロセッサ６０２を使用して実施される場合がある。メモリ６０６は、コンプライアンス・エンジン命令６１０、及びアセスメント・エンジン命令６１２を記憶している。命令６１０及び６１２は、プロセッサが理解可能な命令であって、プロセッサ６０２により実行されたときに、本明細書に記載するようなコンプライアンス・エンジン及びアセスメント・エンジンを含む仮想化管理システムの機能を提供する。
【００３８】
仮想化管理システム５０４の動作について、図７をさらに参照し、さらに説明する。
【００３９】
７０２において、仮想化管理システム５０４は、ソフトウェア・オブジェクト（１０６又は１０４）を新たな宛先へ移動すべきことを識別する。
【００４０】
一例として、仮想化管理システム５０４は、オブジェクト・デプロイメント・コントローラ５０２から通知又は警告を受信することにより、オブジェクトを移動すべきことを識別する場合がある。
【００４１】
他の例として、仮想化管理システム５０４は、例えば適当なアプリケーション・プログラミング・インタフェース（ＡＰＩ）（図示せず）を使用して、例えば適当なインタフェースを通じて、オブジェクト・デプロイメント・コントローラ５０２に問合せをすることにより、オブジェクトを移動すべきことを識別する場合がある。
【００４２】
さらに別の例として、仮想化管理システム５０４は、オブジェクト・デプロイメント・コントローラ５０２により送信されたメッセージを捕捉することにより、オブジェクトを移動すべきことを識別する場合がある。
【００４３】
さらに別の例として、オブジェクト・デプロイメント・コントローラ５０２は、仮想化管理システム５０４の一体化された部分である場合がある。
【００４４】
７０４において、仮想化管理システム５０４は、オブジェクトを移動させることが可能な候補宛先を識別する。
【００４５】
一例として、アセスメント・エンジン５０８は、オブジェクト・デプロイメント・コントローラ５０２から候補宛先を受信し、又は取得することにより、候補宛先を識別する場合がある。
【００４６】
他の例として、アセスメント・エンジン５０８は、移動させるべきオブジェクトの技術的要件を識別し、そのような技術的要件を満たす宛先を識別することによって、候補宛先を識別する場合がある。例えば、システム５００における各利用可能な宛先の技術的特性は、宛先特性データ記憶装置５１２から入手できる場合がある。一例として、データ記憶装置５１２は、構成管理データベースである場合がある。移動させるべきオブジェクトの技術的要件は、例えば、ＣＭＤＢ、アプリケーション・プログラミング・インタフェース（ＡＰＩ）等にアクセスすることにより、取得される場合がある。
【００４７】
下記の表１は、例えば、ハードウェアタイプ、宛先識別子、及び他の技術的特性を含む場合がある、ハードウェア宛先の種々の特性の例を示している。
【００４８】
【表１】
0005766346.tif 000002
【００４９】
下記の表２は、例えば、仮想宛先識別子、及び他の仮想宛先技術要件を含む場合がある、仮想宛先の種々の特性の例を示している。
【００５０】
【表２】
0005766346.tif 000003
【００５１】
下記の表３は、例えば、オブジェクトタイプ（例えば、アプリケーション、仮想マシン等）、オブジェクト目的、及びオブジェクト技術要件を含む場合がある、アプリケーション要件又はオブジェクト要件の例を示している。
【００５２】
【表３】
0005766346.tif 000004
【００５３】
７０６において、アセスメント・エンジン５０８は、識別された候補宛先にある任意のオブジェクトを識別する。識別されたオブジェクトは、アプリケーション及び仮想マシンの両方を含む場合がある。一例として、オブジェクトは、データ記憶装置５１２に対する問合せにより識別される場合がある。
【００５４】
７０８において、コンプライアンス・エンジン５０６は、移動すべきオブジェクトに関連する制約を識別し、７１０において、候補宛先にあるオブジェクトに関連する制約を識別する。オブジェクト制約データの例は、下記の表４に示されている。オブジェクト制約データは、例えば、オブジェクト目的、処理されるデータタイプ、そのオブジェクトと互換性がないと思われるデータタイプ等の詳細を含む場合がある。制約データは、例えば、コンプライアンスデータ記憶装置５１０から取得される場合がある。他の例として、制約データは、例えば、適当なインタフェース又はメッセージ交換メカニズムを使用して、当該オブジェクトから直接取得される場合がある。
【００５５】
【表４】
0005766346.tif 000005
【００５６】
７１２において、コンプライアンス・エンジン５０６は、移動すべきオブジェクトの制約、及び候補宛先上にある任意のオブジェクトの制約に、互いに互換性があるか否かを判定する。これを容易にするために、コンプライアンス・エンジン５０６は、コンプライアンスデータ記憶装置５１０から、オブジェクトの各々に関連する各データタイプについてデータタイプ制約の詳細をさらに取得する。データタイプ制約データの一例は、下記の図５に示されている。
【００５７】
【表５】
0005766346.tif 000006
【００５８】
データタイプ制約データは、各データタイプについて、他のデータタイプの詳細であって、その処理がそのデータタイプと互換性がない他のデータタイプの詳細を定義している。データタイプ制約は適宜、互換性のあるデータタイプであると思われる他のデータタイプを最終的に識別する。データタイプ制約データは、例えば、データを公衆インターネットアクセスを有する宛先において処理することができるか否か、制約に対する何らかの例外又は逸脱が（及び、どのような条件下で）可能であるか否か等に関して、特定のデータタイプに対して適用される追加的制約をさらに定義する場合がある。
【００５９】
もしコンプライアンス・エンジン５０６が、それらの制約に互いに互換性があると判断した場合、コンプライアンス・エンジン５０６は、オブジェクトを候補宛先へ移動させることを許可し（７１４）、そうでなければ、コンプライアンス・エンジン５０６は、アセスメント・エンジン５０８に対し、代わりの候補宛先を決定するように命じる（７１６）。
【００６０】
オブジェクト・デプロイメント・コントローラ５０２が仮想化管理システム５０４の外にある例では、オブジェクトを候補宛先へ移動させる許可又は要求は、オブジェクト・デプロイメント・コントローラ５０２へ送信される場合がある。オブジェクト・デプロイメント・コントローラ５０２がアセスメント・エンジン５０８と一体である例においては、コンプライアンス・エンジン５０６又はアセスメント・エンジン５０８は、オブジェクト・デプロイメント・コントローラ５０２に対し、オブジェクトを候補宛先へ移動させることを直接命じる場合がある。
【００６１】
一例として、オブジェクト移動の成功及び失敗の詳細は、その後の会計監査のために、ログ（図示せず）に記憶される場合がある。
【００６２】
上記のように、本発明の種々の例及び実施形態は、理解されるように、ハードウェア、ソフトウェア、又は、ハードウェアとソフトウェアの組み合わせの形で実現することが可能である。上記のように、そのようなソフトウェアは、消去可能であるか、書換え可能であるか若しくはそうではないかに関わらず、揮発性ストレージ若しくは例えばＲＯＭのような記憶装置のような不揮発性ストレージの形で記憶され、又は例えば、ＲＡＭ、メモリチップ、デバイス、若しくは集積回路のようなメモリの形で記憶され、又は例えばＣＤ、ＤＶＤ、磁気ディスク若しくは磁気テープのような光学的に若しくは磁気的に読み取り可能な媒体上に記憶される場合がある。理解されるように、それらの記憶装置、及び記憶媒体は、実行されたときに本発明の種々の例を実施する１又は複数のプログラムを記憶するために適した機械読取可能な記憶装置の例である。本発明の種々の例は、有線接続又は無線接続を介して実行される通信信号のような、任意の媒体を介して電気的に伝送される場合があり、種々の例は、それらを適当に包含する。
【００６３】
本明細書（添付の特許請求の範囲、要約書、及び図面を含む）に開示した特徴の全て、及び／又は、開示した方法又はプロセスの種々のステップの全ては、それらの特徴及び／又はステップの少なくとも一部が相互に排他的である組み合わせを除き、任意の組み合わせで組み合わせることができる。
【００６４】
本明細書（添付の特許請求の範囲、要約書、及び図面を含む）に開示した各特徴は、明示的に言及しない限り、同一の、均等な、又は類似の目的を果たす代替の特徴により、置換される場合がある。従って、明示的に言及しない限り、開示した各特徴は、一般的な一連の均等な、又は類似の特徴のうちの１つの例に過ぎない。
【図１】
0005766346.tif 000007
【図２】
0005766346.tif 000008
【図３】
0005766346.tif 000009
【図４】
0005766346.tif 000010
【図５】
0005766346.tif 000011
【図６】
0005766346.tif 000012
【図７】
0005766346.tif 000013