計算システムにおいて複数のオブジェクト宛先にわたってデプロイされた複数のソフトウェアオブジェクトのうちの1つを移動させる方法であって、新たなオブジェクト宛先へ移動させるべきデプロイされたソフトウェアオブジェクトを識別するステップと、候補オブジェクト宛先を識別するステップと、前記候補オブジェクト宛先上にデプロイされた他のソフトウェアオブジェクトを識別するステップと、移動させるべきソフトウェアオブジェクトに関連する制約を識別するステップと、前記候補オブジェクト宛先上にデプロイされたソフトウェアオブジェクトに関連する制約を識別するステップと、識別された制約に互換性があるか否かを判断するステップと、前記制約に互換性があると判断された場合、前記移動させるべきソフトウェアオブジェクトの移動を許可するステップとを含む方法。ソフトウェアオブジェクトは、ソフトウェアアプリケーション又は仮想マシンである、請求項1に記載の方法。前記計算システムは、複数の物理計算装置を含み、さらに、ソフトウェアオブジェクト宛先は、仮想マシン及び物理計算装置のうちの一方である、請求項1に記載の方法。前記移動させるべきソフトウェアオブジェクトは仮想マシンであり、前記移動を許可するステップは、前記仮想マシン、及びその上にデプロイされた全てのオブジェクトの前記候補オブジェクト宛先への移動を許可するステップをさらに含む、請求項3に記載の方法。候補オブジェクト宛先を識別するステップは、前記識別されたソフトウェアオブジェクトの特性、及びオブジェクト宛先特性に基づく、請求項1に記載の方法。前記識別されたソフトウェアオブジェクトを前記識別された候補宛先へ移動させるステップをさらに含む、請求項1に記載の方法。前記識別された制約は、ビジネス上の制約、セキュリティ上の制約、法的制約、工業的制約、技術的制約、非技術的制約、及びデータタイプ制約のうちの少なくとも1つを含む、請求項1に記載の方法。前記移動されたオブジェクトの詳細、それが移動された宛先である前記宛先オブジェクトの詳細、及び前記宛先オブジェクト上の他のオブジェクトの詳細を、ログに記録するステップをさらに含む、請求項1に記載の方法。計算システムにおいて、複数のオブジェクト宛先にわたってデプロイされた複数のソフトウェアオブジェクトのうちの1つを移動させる装置であって、前記装置は、宛先オブジェクト上にデプロイされたソフトウェアオブジェクトを異なるオブジェクト宛先へ移動すべきことを示す指示を得て、前記移動すべきソフトウェアオブジェクトのための新たな潜在的オブジェクト宛先を識別し、コンプライアンスデータ記憶装置から、前記移動すべきソフトウェアオブジェクトに関連する制約データを得て、前記コンプライアンスデータ記憶装置から、前記潜在的オブジェクト宛先上にデプロイされた他のソフトウェアオブジェクトに関連する制約データを得て、前記得られた制約に互換性があるか否かを判断し、互換性があると判断された場合、前記ソフトウェアを移動させることを許可するためのアセスメントモジュールを含む装置。前記ソフトウェアオブジェクトは、ソフトウェアアプリケーション及び仮想マシンを含み、前記オブジェクト宛先は、仮想マシン及び物理的計算装置を含む、請求項9に記載の装置。前記アセスメントモジュールは、前記移動させるべきソフトウェアオブジェクトの特性、及びオブジェクト宛先の特性に少なくとも一部基づいて新たな潜在的宛先を識別し、前記特性は、構成管理データベースCMDBから得られる、請求項10に記載の装置。オブジェクトデプロイメントコントローラをさらに含み、前記アセスメントモジュールは、前記オブジェクトデプロイメントコントローラから直接新たな潜在的オブジェクト宛先を識別する、請求項10に記載の装置。制約データ記憶装置から前記制約データを得ることをさらに含む、請求項10に記載の装置。データログをさらに含み、前記アセスメントモジュールは、前記オブジェクトが移動された宛先である前記宛先オブジェクトの詳細、及び前記宛先オブジェクト上の他のオブジェクトの詳細を、前記データログに記憶するように構成される、請求項10に記載の装置。計算システムにおいて複数のオブジェクト宛先にわたってデプロイされた複数のソフトウェアオブジェクトのうちの1つを移動させる方法を提供するための、プロセッサにより実行可能な機械読取可能な命令を記憶する有形の機械読取可能媒体であって、前記プロセッサにより実行されたときに、新たなオブジェクト宛先へ移動させるべきオブジェクト宛先上にデプロイされたソフトウエアオブジェクトを識別する機械読取可能命令と、前記プロセッサにより実行されたときに、前記移動させるべきオブジェクトを移動させることが可能な宛先となる候補オブジェクト宛先を識別する機械読取可能命令と、前記プロセッサにより実行されたときに、前記候補オブジェクト宛先上に現在デプロイされているソフトウェアオブジェクトを識別する機械読取可能命令と、前記プロセッサにより実行されたときに、前記移動させるべきソフトウェアオブジェクトに関連する制約データを識別する機械読取可能命令と、前記プロセッサにより実行されたときに、前記候補オブジェクト宛先上にデプロイされたソフトウェアオブジェクトに関連する制約データを識別する機械読取可能命令と、前記プロセッサにより実行されたときに、前記識別された制約に互換性があるか否かを判断する機械読取可能命令と、前記プロセッサにより実行されたときに、前記制約に互換性がないと判断された場合、前記移動させるべきソフトウェアオブジェクトの前記候補オブジェクト宛先への移動を許可する機械読取可能命令とを含む、有形の機械読取可能媒体。現在の仮想化管理ツールは、単にアプリケーションがその上にデプロイされる仮想マシン又は物理的マシンの特性のみに基づいて、ソフトウェアアプリケーション及び仮想マシンをデプロイし、及び再デプロイしている。しかしながら、本発明の種々の例は、仮想化環境においてソフトウェアアプリケーション及び仮想マシンを再デプロイし、又は移動する方法に係るより高度な制御を提供することを目的としている。例えば、特定タイプのソフトウェアアプリケーションの動作、又は特定タイプのデータの処理は、ビジネス上の制約、監査機関制約、法的制約、セキュリティ上の制約等の制約を受ける場合がある。そのような制約は、例えば、あるソフトウェアアプリケーションが他のソフトウェアアプリケーション若しくは他のタイプのソフトウェアアプリケーションとして同じ仮想マシン若しくは同じ物理的マシンの上にデプロイされること、あるいは、特定の他の特性を有する仮想マシン若しくは物理的マシンの上にデプロイされることを禁止する場合がある。例えば、個人医療データを処理するソフトウェアアプリケーションは、潜在的セキュリティリスクを避けるために、インターネットのような公衆ネットワークに接続された仮想マシン又は物理的マシン上での実行が制限される場合がある。同様に、個人特定可能な情報PIIを処理するソフトウェアアプリケーションは、PIIデータが記憶されるデータベースサーバと同じ物理的マシン上にデプロイされなければならない旨の制約を有する場合がある。同様に、PCIデータセキュリティスタンダードPCI-DSSデータに準拠するソフトウェアアプリケーションは、特定の工業的規則に準拠しなければならない場合がある。次に、図1を参照すると、本発明の一例による仮想化管理システム100を示すブロック図が示されている。図1の種々の要素の動作については、図2をさらに参照して、より詳しく説明される。システム100は、ソフトウェアアプリケーション及びコンピュータプログラムのような多数のソフトウェアオブジェクト106を含み、それらの各々が、仮想マシン又は他のソフトウェアオブジェクト実行環境のような仮想宛先104上にデプロイされる。さらに、各仮想宛先104は、物理的計算装置、コンピュータサーバ、又は他の処理装置のようなハードウェア宛先102上にデプロイされる。一例として、仮想宛先104は、他の仮想宛先104上にデプロイされ、他の仮想的な宛先104は、さらに、ハードウェア宛先102上にデプロイされる場合がある。ソフトウェアアプリケーション106及び仮想宛先104の両方は、両方ともソフトウェアオブジェクトの類であるため、本明細書において、ソフトウェアオブジェクトという語は、ソフトウェアアプリケーション106及び仮想宛先104の両方を含むものとして使用される場合がある。どのデプロイされたソフトウェアオブジェクト104及び106を移動させるべきかの識別は、オブジェクトデプロイメントコントローラ108によって実施される。一例として、オブジェクトデプロイメントコントローラ108は、ヒューレットパッカードカンパニーにより提供されるHP-UXシステムのためのHPマトリクスオペレーティング環境OEのような仮想化コントローラである場合がある。オブジェクトデプロイメントコントローラ108は、識別されたオブジェクトを移動させるべきことをアセスメントエンジン又はモジュール110に知らせる通知、警告、メッセージ等を生成する。次に、アセスメントエンジン110は、後で詳しく説明するように、識別されたオブジェクトをどこへ移動させるべきかを決定する。次に、図2を参照して、本発明の一例によるオブジェクトデプロイメントコントローラ108の動作について説明する。202において、オブジェクトデプロイメントコントローラ108は、オブジェクト宛先の特性を監視する。得られた監視された特性は、適当なメモリ又はデータ記憶装置図示せずに記憶される場合がある。一例として、オブジェクトデプロイメントコントローラ108は、ソフトウェアオブジェクトがその上にデプロイされるハードウェア宛先102の種々の特性を監視する場合がある202。他の例として、オブジェクトデプロイメントコントローラ108は、ソフトウェアオブジェクトがその上にデプロイされる仮想宛先104の種々の特性を監視する場合がある202。さらに別の例として、オブジェクトデプロイメントコントローラ108は、ソフトウェアオブジェクトがその上にデプロイされるハードウェア宛先及び仮想宛先の両方の特性を監視する場合がある202。ハードウェア宛先102の場合、監視される特性としては、例えば、利用可能なメモリ、メモリ使用レベル、利用可能な処理能力、プロセッサ使用レベル、利用可能な記憶装置容量、記憶装置使用レベル等のような、ハードウェア宛先102の技術的特性が挙げられる。仮想宛先104の場合、監視される特性としては、例えば、利用可能な仮想メモリ、仮想メモリ使用率、利用可能な仮想処理能力、仮想プロセッサ使用レベル等が挙げられる。一例として、監視される特性の詳細は、例えば、適当なインタフェースを使用して、宛先から直接得られる場合がある。他の例として、監視される特性の詳細は、構成管理データベースCMDBのような中央集中型データレポジトリ図示せずから得られる場合がある。オブジェクトデプロイメントコントローラ108は、監視された特性を使用して、監視された特性のいずれかが、所定の閾値レベルを超えているか、又はそれを下回っているかどうかを判定する204。例えば、ハードウェア宛先のプロセッサ使用率が10分の時間にわたって70の平均を超える場合、オブジェクトデプロイメントコントローラ108は、1又は複数のソフトウェアオブジェクトを異なる仮想宛先又はハードウェア宛先へ移動させることを決定する場合がある。他の例では、他の閾値及び特性が使用される場合がある。206において、オブジェクトデプロイメントコントローラ108は、新たな宛先へ移動させるべき1又は複数のソフトウェアオブジェクトを識別する。一例として、オブジェクトデプロイメントコントローラ108は、仮想宛先104にデプロイされた1又は複数のソフトウェアオブジェクトであって、同じハードウェア宛先又は異なるハードウェア宛先102上の異なる仮想宛先014へ移動させるべき1又は複数のソフトウェアオブジェクトを識別する場合がある。他の例として、オブジェクトデプロイメントコントローラ108は、異なるハードウェア宛先102へ移動させるべき1又は複数の仮想宛先104及び、その上にデプロイされた全てのソフトウェアオブジェクトを識別する場合がある。オブジェクトデプロイメントコントローラ108が、ソフトウェアオブジェクトを移動させるべきことを決定した後、アセスメントエンジン110を使用して、そのソフトウェアオブジェクトの新たな宛先が決定される。次に、本発明の一例によるアセスメントエンジン110の動作について、図3をさらに参照して説明する。302において、アセスメントエンジン110は、識別された移動させるべきソフトウェアオブジェクトのための新たな候補宛先、すなわち新たな潜在的宛先を識別する。一例として、新たな候補宛先の識別は、得られた監視された特性により、仮想化環境において何ら悪い結果を引き起こすことなくソフトウェアオブジェクトを新たな宛先へ移動できることが示された宛先を見つけることによって決定される。例えば、悪い結果とは、例えば、仮想的又は物理的宛先の特性が、所定のレベルを超過し、又は所定のレベル未満に低下することが挙げられる。例えば、識別されたソフトウェアオブジェクトが少なくとも4Gbのメモリを必要とすることが分かっている場合、少なくとも4Gbの利用可能なメモリを有する候補宛先が選択される場合がある。ストレージ要件、処理要件、ネットワーク要件等のようなソフトウェアオブジェクトの他の要件もまた、必要に応じて考慮される場合がある。一例として、アセスメントエンジンは、アプリケーションプログラミングインタフェースのような適当なインタフェースを介してオブジェクトデプロイメントコントローラに問合せをすることによって、候補宛先を識別する場合がある。304において、アセスメントエンジン110は、移動させるべきものとして識別されたソフトウェアオブジェクトに関連する1又は複数の制約を識別する制約データを識別する。制約データは、オブジェクトコンプライアンスデータ記憶装置、又はメモリ112に記憶される。制約データは、例えば、ITシステムオペレータによって定義される場合もあれば、オブジェクトをデプロイした者の代わりに顧客によって定義される場合もあり、又は、任意の他の適当な方法で取得される場合もある。先に説明したように、制約データは、ビジネス上の制約、監査機関制約、法的制約、セキュリティ上の制約等を定義する場合がある。制約データは、技術的及び/又は非技術的制約を定義する場合がある。306において、アセスメントエンジン110は、候補宛先にある任意のソフトウェアオブジェクトを識別し、308において、オブジェクトコンプライアンスデータ記憶装置112を使用して、その候補宛先において識別されたソフトウェアオブジェクトの各々に関連する制約を識別する。310において、アセスメントエンジン110は、候補宛先の種々の特性を識別する。特性は、例えば、移動させるべきソフトウェアオブジェクトに関連する制約に基づいて識別される場合がある。例えば、もし移動させるべきソフトウェアオブジェクトに関連する制約が、公衆ネットワークアクセスが宛先に与えられていないないことであるときは、アセスメントエンジン110は、候補宛先が公衆ネットワークアクセスを有するか否かを識別する場合がある。一例として、宛先特性は、上記のデータ記憶装置又はメモリから取得される場合がある。他の実施形態として、宛先特性は、例えば、適当なインタフェース又はソフトウェアアプリケーションを通じて、宛先から直接取得される場合がある。312において、アセスメントエンジン110は、取得したオブジェクト制約及び宛先特性に、互いに互換性があるか否かを判断する。もしアセスメントエンジン110が、取得したオブジェクト制約及び宛先特性に、互換性がないと判断した場合、アセスメントエンジン110は、代わりの候補宛先を識別する316。一方、もしアセスメントエンジン110が、取得したオブジェクト制約及び宛先特性に、互換性があると判断した場合、アセスメントエンジン110は、そのオブジェクトを候補宛先へ移動させることを許可する。一例として、オブジェクトを候補宛先へ移動させることの許可は、候補宛先の詳細と共にではあるが、オブジェクトデプロイメントコントローラ108へ送信され、又はオブジェクトデプロイメントコントローラ108に対し利用可能とされ、オブジェクトデプロイメントコントローラ108が、そのオブジェクトを適宜移動させる場合がある。他の例として、アセスメントエンジン110は、適当な方法で、そのオブジェクトの候補宛先への移動を実施する場合がある。さらに別の例として、図4をさらに参照して説明されるように、アセスメントエンジン110は、移動すべきオブジェクトが移動されたことの確認を受け取り402、そのオブジェクトが移動されたオブジェクト宛先の詳細をさらに受け取る場合がある。404において、アセスメントエンジン110は、これらの詳細をコンプライアンスログ図示せずに記憶する。コンプライアンスログは、例えば、任意の適当なメモリ、又はデータ記憶装置に記憶される場合がある。406において、アセスメントエンジン110は、新たな宛先にある他のオブジェクトの詳細を取得する。一例として、これは、仮想宛先及びハードウェア宛先のうちの少なくとも一方にある他のオブジェクトの詳細を含む場合がある。取得された詳細は、例えば、各オブジェクトのタイプの詳細を含む場合がある。408において、アセスメントエンジン110は、新たな宛先の種々の特性を取得する。取得された特性は、例えば、ハードウェア宛先のような宛先を一意に識別することが可能な宛先識別子を含む場合がある。他の例として、取得された特性は、例えば、そのデバイスにとって利用可能なネットワークアクセスの詳細、セキュリティ設定の詳細などを含む場合がある。408において、アセスメントエンジン110は、取得した詳細をコンプライアンスログに記憶する。コンプライアンスログにそのような詳細を記憶することにより、個々のソフトウェアオブジェクトの宛先の監査を実施することが可能となる。もし、後に必要となった場合、ログに記憶されたデータを使用して、どのソフトウェアオブジェクトがどの宛先上にデプロイされたかを示すことができ、それをもって、任意の所与の時点における他のソフトウェアオブジェクトを示すことができる。ただし、重要なことに、通常のオブジェクトデプロイメント管理システムは、オブジェクト制約に伴うコンプライアンスを必要とせず、そのようなログを保持する理由がないので、そのようなログを保持しない。次に、本発明の一例による仮想化管理システム504の一例について、図5を参照して詳細に説明する。仮想化管理システム504は、コンプライアンスエンジン506、アセスメントエンジン508、コンプライアンスデータ記憶装置510、及び宛先データ記憶装置512を含む。他の例として、図6に示されているように、システム504の少なくとも一部は、通信バス604を介してメモリ606、入出力モジュール608、及び記憶装置614、616に結合されたプロセッサ602を使用して実施される場合がある。メモリ606は、コンプライアンスエンジン命令610、及びアセスメントエンジン命令612を記憶している。命令610及び612は、プロセッサが理解可能な命令であって、プロセッサ602により実行されたときに、本明細書に記載するようなコンプライアンスエンジン及びアセスメントエンジンを含む仮想化管理システムの機能を提供する。仮想化管理システム504の動作について、図7をさらに参照し、さらに説明する。702において、仮想化管理システム504は、ソフトウェアオブジェクト106又は104を新たな宛先へ移動すべきことを識別する。一例として、仮想化管理システム504は、オブジェクトデプロイメントコントローラ502から通知又は警告を受信することにより、オブジェクトを移動すべきことを識別する場合がある。他の例として、仮想化管理システム504は、例えば適当なアプリケーションプログラミングインタフェースAPI図示せずを使用して、例えば適当なインタフェースを通じて、オブジェクトデプロイメントコントローラ502に問合せをすることにより、オブジェクトを移動すべきことを識別する場合がある。さらに別の例として、仮想化管理システム504は、オブジェクトデプロイメントコントローラ502により送信されたメッセージを捕捉することにより、オブジェクトを移動すべきことを識別する場合がある。さらに別の例として、オブジェクトデプロイメントコントローラ502は、仮想化管理システム504の一体化された部分である場合がある。704において、仮想化管理システム504は、オブジェクトを移動させることが可能な候補宛先を識別する。一例として、アセスメントエンジン508は、オブジェクトデプロイメントコントローラ502から候補宛先を受信し、又は取得することにより、候補宛先を識別する場合がある。他の例として、アセスメントエンジン508は、移動させるべきオブジェクトの技術的要件を識別し、そのような技術的要件を満たす宛先を識別することによって、候補宛先を識別する場合がある。例えば、システム500における各利用可能な宛先の技術的特性は、宛先特性データ記憶装置512から入手できる場合がある。一例として、データ記憶装置512は、構成管理データベースである場合がある。移動させるべきオブジェクトの技術的要件は、例えば、CMDB、アプリケーションプログラミングインタフェースAPI等にアクセスすることにより、取得される場合がある。下記の表1は、例えば、ハードウェアタイプ、宛先識別子、及び他の技術的特性を含む場合がある、ハードウェア宛先の種々の特性の例を示している。下記の表2は、例えば、仮想宛先識別子、及び他の仮想宛先技術要件を含む場合がある、仮想宛先の種々の特性の例を示している。下記の表3は、例えば、オブジェクトタイプ例えば、アプリケーション、仮想マシン等、オブジェクト目的、及びオブジェクト技術要件を含む場合がある、アプリケーション要件又はオブジェクト要件の例を示している。706において、アセスメントエンジン508は、識別された候補宛先にある任意のオブジェクトを識別する。識別されたオブジェクトは、アプリケーション及び仮想マシンの両方を含む場合がある。一例として、オブジェクトは、データ記憶装置512に対する問合せにより識別される場合がある。708において、コンプライアンスエンジン506は、移動すべきオブジェクトに関連する制約を識別し、710において、候補宛先にあるオブジェクトに関連する制約を識別する。オブジェクト制約データの例は、下記の表4に示されている。オブジェクト制約データは、例えば、オブジェクト目的、処理されるデータタイプ、そのオブジェクトと互換性がないと思われるデータタイプ等の詳細を含む場合がある。制約データは、例えば、コンプライアンスデータ記憶装置510から取得される場合がある。他の例として、制約データは、例えば、適当なインタフェース又はメッセージ交換メカニズムを使用して、当該オブジェクトから直接取得される場合がある。712において、コンプライアンスエンジン506は、移動すべきオブジェクトの制約、及び候補宛先上にある任意のオブジェクトの制約に、互いに互換性があるか否かを判定する。これを容易にするために、コンプライアンスエンジン506は、コンプライアンスデータ記憶装置510から、オブジェクトの各々に関連する各データタイプについてデータタイプ制約の詳細をさらに取得する。データタイプ制約データの一例は、下記の図5に示されている。データタイプ制約データは、各データタイプについて、他のデータタイプの詳細であって、その処理がそのデータタイプと互換性がない他のデータタイプの詳細を定義している。データタイプ制約は適宜、互換性のあるデータタイプであると思われる他のデータタイプを最終的に識別する。データタイプ制約データは、例えば、データを公衆インターネットアクセスを有する宛先において処理することができるか否か、制約に対する何らかの例外又は逸脱が及び、どのような条件下で可能であるか否か等に関して、特定のデータタイプに対して適用される追加的制約をさらに定義する場合がある。もしコンプライアンスエンジン506が、それらの制約に互いに互換性があると判断した場合、コンプライアンスエンジン506は、オブジェクトを候補宛先へ移動させることを許可し714、そうでなければ、コンプライアンスエンジン506は、アセスメントエンジン508に対し、代わりの候補宛先を決定するように命じる716。オブジェクトデプロイメントコントローラ502が仮想化管理システム504の外にある例では、オブジェクトを候補宛先へ移動させる許可又は要求は、オブジェクトデプロイメントコントローラ502へ送信される場合がある。オブジェクトデプロイメントコントローラ502がアセスメントエンジン508と一体である例においては、コンプライアンスエンジン506又はアセスメントエンジン508は、オブジェクトデプロイメントコントローラ502に対し、オブジェクトを候補宛先へ移動させることを直接命じる場合がある。一例として、オブジェクト移動の成功及び失敗の詳細は、その後の会計監査のために、ログ図示せずに記憶される場合がある。上記のように、本発明の種々の例及び実施形態は、理解されるように、ハードウェア、ソフトウェア、又は、ハードウェアとソフトウェアの組み合わせの形で実現することが可能である。上記のように、そのようなソフトウェアは、消去可能であるか、書換え可能であるか若しくはそうではないかに関わらず、揮発性ストレージ若しくは例えばROMのような記憶装置のような不揮発性ストレージの形で記憶され、又は例えば、RAM、メモリチップ、デバイス、若しくは集積回路のようなメモリの形で記憶され、又は例えばCD、DVD、磁気ディスク若しくは磁気テープのような光学的に若しくは磁気的に読み取り可能な媒体上に記憶される場合がある。理解されるように、それらの記憶装置、及び記憶媒体は、実行されたときに本発明の種々の例を実施する1又は複数のプログラムを記憶するために適した機械読取可能な記憶装置の例である。本発明の種々の例は、有線接続又は無線接続を介して実行される通信信号のような、任意の媒体を介して電気的に伝送される場合があり、種々の例は、それらを適当に包含する。本明細書添付の特許請求の範囲、要約書、及び図面を含むに開示した特徴の全て、及び/又は、開示した方法又はプロセスの種々のステップの全ては、それらの特徴及び/又はステップの少なくとも一部が相互に排他的である組み合わせを除き、任意の組み合わせで組み合わせることができる。本明細書添付の特許請求の範囲、要約書、及び図面を含むに開示した各特徴は、明示的に言及しない限り、同一の、均等な、又は類似の目的を果たす代替の特徴により、置換される場合がある。従って、明示的に言及しない限り、開示した各特徴は、一般的な一連の均等な、又は類似の特徴のうちの1つの例に過ぎない。