(57)【要約】【課題】移転元における資源の管理及び利用状態を移転先で迅速に復元することができる資源転送システム及び資源転送方法を提供する。【解決手段】複数の情報処理装置のいずれかが移転元及び移転先となって移転元における資源の管理及び利用状態を移転先で復元する場合、移転先となる情報処理装置１が自らが格納する主記憶内容の写しを利用して移転元における資源の管理及び利用状態の復元に利用できるか否かを判定し、利用できないと判定した主記憶内容の写しのみを移転先となる情報処理装置２から受信する。【選択図】図１１
2010026814.tif 000002
【特許請求の範囲】
【請求項１】
通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送システムにおいて、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納する記憶手段と、
前記記憶手段が格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合する統合手段と
を備え、
移転元となる情報処理装置は、
転送すべき主記憶内容の識別情報を送信する手段
を備え、
移転先となる情報処理装置は、
移転元となる情報処理装置から受信した識別情報と自らの記憶手段が格納する識別情報との関係に基づいて該記憶手段が格納する主記憶内容の写しを利用できるか否かを判定する判定手段と、
該判定手段が利用することができないと判定した主記憶内容の識別情報を移転元となる情報処理装置へ送信する手段と
を備え、
移転元となる情報処理装置は、更に、
移転先となる情報処理装置から受信した識別情報が示す主記憶内容の写しを移転先となる情報処理装置へ転送する手段
を備え、
移転先となる情報処理装置は、更に、
移転元となる情報処理装置により転送された主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における資源の管理及び利用状態を復元する手段
を備えることを特徴とする資源転送システム。
【請求項２】
各情報処理装置と通信網を介して接続し、主記憶内容を管理する管理装置を更に備え、
各情報処理装置は、更に
前記記憶手段が格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信する手段
を備え、
前記管理装置は、
各情報処理装置から受信した主記憶内容の写し及び対応する識別情報を順次格納する管理手段と、
該管理手段が格納する主記憶内容の写しが重複するか否かを判定する手段と、
主記憶内容の写しが重複すると判定した場合、重複する主記憶内容の識別情報を相互に対応付ける変換表を作成する手段と、
作成した変換表を各情報処理装置へ送信する送信手段と
を備え、
各情報処理装置は、更に、
前記管理装置から送信された変換表を受信する手段
を備えることを特徴とする請求項１に記載の資源転送システム。
【請求項３】
前記送信手段は、作成した変換表を移転先となる情報処理装置へ送信し、
移転先となる情報処理装置は、更に、
前記判定手段が前記変換表に基づいて自らの記憶手段が格納する主記憶内容の写しを利用できるか否かを判定するようにしてあることを特徴とする請求項２に記載の資源転送システム。
【請求項４】
各情報処理装置は、更に、
前記記憶手段が格納する主記憶内容の写しが重複するか否かを前記変換表に基づいて判定する手段
を備え、
前記記憶手段が格納する主記憶内容の写しが重複すると判定した場合、重複する主記憶内容の識別情報を前記統合手段が統合するようにしてあることを特徴とする請求項２又は３に記載の資源転送システム。
【請求項５】
前記記憶手段は、新たに格納すべき前記主記憶内容の写しには格納してある主記憶内容の識別情報とは異なる識別情報を新たに対応付けるようにしてあることを特徴とする請求項１乃至４のいずれかに記載の資源転送システム。
【請求項６】
通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送方法において、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納し、
自らが格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合し、
移転元となる情報処理装置は、
転送すべき主記憶内容の識別情報を送信し、
移転先となる情報処理装置は、
移転元となる情報処理装置から受信した識別情報と自らが格納する識別情報との関係に基づいて自らが格納する主記憶内容の写しを利用できるか否かを判定し、
利用することができないと判定した主記憶内容の識別情報を移転元となる情報処理装置へ送信し、
移転元となる情報処理装置は、更に、
移転先となる情報処理装置から受信した識別情報が示す主記憶内容の写しを移転先となる情報処理装置へ転送し、
移転先となる情報処理装置は、更に、
移転元となる情報処理装置により転送された主記憶内容の写しと自らが利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における資源の管理及び利用状態を復元することを特徴とする資源転送方法。
【請求項７】
通信網を介して他の情報処理装置と複数接続し、移転先となる他の情報処理装置へ資源を転送する転送部と、移転元となる他の情報管理装置から転送された資源の利用状態を復元させる復元部とを有する情報処理装置であって、
前記転送部は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納する記憶部と、
前記記憶部が格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合する統合部と、
転送すべき主記憶内容の識別情報を移転先となる他の情報処理装置の復元部へ送信する識別情報送信部と、
転送先となる他の情報処理装置の復元部から送信された識別情報を受信し、受信した識別情報が示す主記憶内容の写しを転送先となる他の情報処理装置の復元部へ転送する主記憶内容転送部と
を備え、
前記復元部は、
移転元となる他の情報処理装置の識別情報送信部から識別情報を受信し、受信した識別情報と自らが有する記憶部が格納する識別情報との関係に基づいて、前記記憶部が格納する主記憶内容の写しを利用できるか否かを判定する判定部と、
該判定部が利用することができないと判定した主記憶内容の識別情報を移転元となる他の情報処理装置の主記憶内容転送部へ送信する転送要求送信部と、
移転元となる他の情報処理装置の主記憶内容転送部から主記憶内容の写しを受信し、受信した主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる他の情報処理装置の資源の管理及び利用状態を復元する復元実行部と
を備える情報処理装置。
【請求項８】
コンピュータに、通信網を介して外部装置と複数接続し、移転先となる外部装置へ資源を転送し、移転元となる外部装置から転送された資源の利用状態を復元させるコンピュータプログラムにおいて、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納させるステップと、
格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合させるステップと、
転送すべき主記憶内容の識別情報を移転先となる外部装置へ送信させるステップと、
転送先となる外部装置から送信された識別情報を受信し、受信した識別情報が示す主記憶内容の写しを転送先となる外部装置へ転送させるステップと、
移転元となる外部装置から識別情報を受信し、受信した識別情報と自らが格納する識別情報との関係に基づいて、自らが格納する主記憶内容の写しを利用できるか否かを判定させるステップと、
利用することができないと判定した主記憶内容の識別情報を移転元となる外部装置へ送信させるステップと、
移転元となる外部装置から主記憶内容の写しを受信し、受信した主記憶内容の写しと利用できると判定した主記憶内容の写しとを用いて移転元となる外部装置の資源の管理及び利用状態を復元させるステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置は、自らが有する実装置から複数の仮想装置を導出し、仮想装置毎にハードウェア資源を管理し、応用ソフトウェアを利用することができた。
【０００３】
更に、情報処理装置は、１つの仮想装置に負荷が集中しないよう、１つの仮想装置の資源を他の仮想装置又は他の情報処理装置へ転送する機能を有していた（例えば、特許文献１、特許文献２及び非特許文献１）。図２４は従来の資源転送を説明するための図である。従来の資源転送方法は、例えば、移転元となる情報処理装置４が有する主記憶に記憶してある主記憶内容の全てを移転先となる情報処理装置５へ転送することにより、移転元における主記憶の管理及び利用状態を移転先で復元していた。
【特許文献１】特開２００４−５１１３号公報
【特許文献２】特開平９−２６９１１号公報
【非特許文献１】C.Clack, K.Fraser, S.Hand, J.G.Hansen, E.Jul, C.Limpach, I.Pratt, A.Warfield, “Live Migration of Virtual Machines”, In 2nd USENIX Symposium on Networked Systems, Design and Implementation (NSDI '05), pages 273286, May 2005
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の資源転送方法は、例えば、移転元となる情報処理装置４が有する主記憶の内容量が大きくなるにつれ、主記憶を含む資源の転送時間が長くなるという問題を有していた。
【０００５】
本発明はかかる事情に鑑みてなされたものであり、複数の情報処理装置のいずれかが移転元及び移転先となって移転元における資源の管理及び利用状態を移転先で復元する場合、移転先となる情報処理装置は、自らが格納する主記憶内容の写しを利用すると共に、利用することができないもののみを移転元となる情報処理装置から受信することにより、移転元における資源の管理及び利用状態を移転先で迅速に復元することができる資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
このシステムは、通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送システムにおいて、各情報処理装置は、自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納する記憶手段と、前記記憶手段が格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合する統合手段とを備え、移転元となる情報処理装置は、転送すべき主記憶内容の識別情報を送信する手段を備え、移転先となる情報処理装置は、移転元となる情報処理装置から受信した識別情報と自らの記憶手段が格納する識別情報との関係に基づいて該記憶手段が格納する主記憶内容の写しを利用できるか否かを判定する判定手段と、該判定手段が利用することができないと判定した主記憶内容の識別情報を移転元となる情報処理装置へ送信する手段とを備え、移転元となる情報処理装置は、更に、移転先となる情報処理装置から受信した識別情報が示す主記憶内容の写しを移転先となる情報処理装置へ転送する手段を備え、移転先となる情報処理装置は、更に、移転元となる情報処理装置により転送された主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における資源の管理及び利用状態を復元する手段を備えることを要件とする。
【０００７】
また、この方法は、通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送方法において、各情報処理装置は、自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納し、自らが格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合し、移転元となる情報処理装置は、転送すべき主記憶内容の識別情報を送信し、移転先となる情報処理装置は、移転元となる情報処理装置から受信した識別情報と自らが格納する識別情報との関係に基づいて自らが格納する主記憶内容の写しを利用できるか否かを判定し、利用することができないと判定した主記憶内容の識別情報を移転元となる情報処理装置へ送信し、移転元となる情報処理装置は、更に、移転先となる情報処理装置から受信した識別情報が示す主記憶内容の写しを移転先となる情報処理装置へ転送し、移転先となる情報処理装置は、更に、移転元となる情報処理装置により転送された主記憶内容の写しと自らが利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における資源の管理及び利用状態を復元することを要件とする。
【０００８】
また、この装置は、通信網を介して他の情報処理装置と複数接続し、移転先となる他の情報処理装置へ資源を転送する転送部と、移転元となる他の情報管理装置から転送された資源の利用状態を復元させる復元部とを有する情報処理装置であって、前記転送部は、自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納する記憶部と、前記記憶部が格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合する統合部と、転送すべき主記憶内容の識別情報を移転先となる他の情報処理装置の復元部へ送信する識別情報送信部と、転送先となる他の情報処理装置の復元部から送信された識別情報を受信し、受信した識別情報が示す主記憶内容の写しを転送先となる他の情報処理装置の復元部へ転送する主記憶内容転送部とを備え、前記復元部は、移転元となる他の情報処理装置の識別情報送信部から識別情報を受信し、受信した識別情報と自らが有する記憶部が格納する識別情報との関係に基づいて、前記記憶部が格納する主記憶内容の写しを利用できるか否かを判定する判定部と、該判定部が利用することができないと判定した主記憶内容の識別情報を移転元となる他の情報処理装置の主記憶内容転送部へ送信する転送要求送信部と、移転元となる他の情報処理装置の主記憶内容転送部から主記憶内容の写しを受信し、受信した主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる他の情報処理装置の資源の管理及び利用状態を復元する復元実行部とを備えることを要件とする。
【０００９】
また、このコンピュータプログラムは、コンピュータに、通信網を介して外部装置と複数接続し、移転先となる外部装置へ資源を転送し、移転元となる外部装置から転送された資源の利用状態を復元させるコンピュータプログラムにおいて、自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納させるステップと、格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合させるステップと、転送すべき主記憶内容の識別情報を移転先となる外部装置へ送信させるステップと、転送先となる外部装置から送信された識別情報を受信し、受信した識別情報が示す主記憶内容の写しを転送先となる外部装置へ転送させるステップと、移転元となる外部装置から識別情報を受信し、受信した識別情報と自らが格納する識別情報との関係に基づいて、自らが格納する主記憶内容の写しを利用できるか否かを判定させるステップと、利用することができないと判定した主記憶内容の識別情報を移転元となる外部装置へ送信させるステップと、移転元となる外部装置から主記憶内容の写しを受信し、受信した主記憶内容の写しと利用できると判定した主記憶内容の写しとを用いて移転元となる外部装置の資源の管理及び利用状態を復元させるステップとをコンピュータに実行させることを要件とする。
【００１０】
このシステム、方法、装置及びコンピュータプログラムは、各情報処理装置が自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを順次格納することにより、転送すべき資源を分割しておく。また、格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合することにより、同一の主記憶内容は同一の識別情報で管理する。また、移転先となる情報処理装置が自らが格納する主記憶内容の写しを利用して移転元における資源の管理及び利用状態の復元に利用できるか否かを判定し、利用できないと判定した主記憶内容の写しのみを移転先となる情報処理装置から受信することにより、資源の転送時間を短縮化する。
【発明の効果】
【００１１】
開示するシステム、方法、装置及びコンピュータプログラムは、複数の情報処理装置のいずれかが移転元及び移転先となって移転元における資源の管理及び利用状態を移転先で復元する場合、移転元における資源の管理及び利用状態を円滑に転送して移転先で迅速に復元させることができる。
【発明を実施するための最良の形態】
【００１２】
実施の形態１．
以下、実施の形態１における資源転送システム及び資源転送方法について実施の形態を示す図に基づいて説明する。図１は本発明の一実施例におけるシステムの全体構成を示すブロック図である。
【００１３】
図１に示すとおり、実施の形態１における資源転送システムは、移転元となる情報処理装置１、移転先となる情報処理装置２及びこれらを管理するための管理装置３を含み、各装置は、通信網を介して相互に接続されている。
【００１４】
移転元となる情報処理装置１及び移転先となる情報処理装置２は、自らが有する実装置から複数の仮想装置を実行し、各仮想装置の実行により生じたデータを後述する主記憶に記憶する。移転元となる情報処理装置１及び移転先となる情報処理装置２は、管理装置３の管理の下、主記憶内容に関する情報の統合を適宜行う。また、管理装置３は、資源転送において移転先となる情報処理装置２を選定し、移転先となる情報処理装置２への資源転送を移転元となる情報処理装置１に実行させる。
【００１５】
移転元となる情報処理装置１は、実装置として、ＣＰＵ１０と、所定の処理を実行することにより生じたデータを記憶する主記憶１１と、所定の処理をＣＰＵ１０に実行させるためのプログラム、主記憶内容に関する情報を格納する主記憶情報データベース１２０及び主記憶内容の写しを格納する主記憶内容写しデータベース１２１を格納する補助記憶装置１２と、通信網に接続するための通信インタフェース１３と、入力装置（図示せず。以下同じ。）に接続するための入力インタフェース１４と、出力装置（図示せず。以下同じ。）に接続するための出力インタフェース１５とを有する。各装置は、通信線１６を介して相互に接続されている。なお、主記憶情報データベース１２０及び主記憶内容写しデータベース１２１は、主記憶１１に置くことも可能である。
【００１６】
補助記憶装置１２に記憶してあるプログラムには、仮想化ソフトウェアが含まれており、ＣＰＵ１０に所定の処理を実行させる。ＣＰＵ１０は、仮想化ソフトウェアに従って実装置から複数の仮想装置を実行する。また、補助記憶装置１２に記憶してあるプログラムには、複数台分の基本ソフトウェア及び応用ソフトウェアが含まれており、ＣＰＵ１０は、仮想装置毎に基本ソフトウェアを実行してハードウェア資源を管理し、応用ソフトウェアを利用する。尚、資源転送の制御は、後述にて説明する。
【００１７】
ＣＰＵ１０は、上述したプログラムに従って仮想装置制御部１０１と主記憶情報管理部１０２という機能を有する。ＣＰＵ１０は、仮想装置制御部１０１として機能するとき、各仮想装置の実行、停止、資源転送（マイグレーション）の制御を行う。ＣＰＵ１０は、仮想装置を実行する場合、自機の識別子、仮想装置の識別子及び実行通知を管理装置３へ送信する。また、ＣＰＵ１０は、仮想装置を停止する場合、仮想装置に関する情報の削除要求を管理装置３へ送信する。
【００１８】
ＣＰＵ１０は、主記憶情報管理部１０２として機能するとき、主記憶１１の空間を所定単位毎に分割して管理し、各仮想装置を実行することにより生じたデータを分割した空間に順次格納する。ＣＰＵ１０は、論理的に分割された主記憶内容に、主記憶内容を識別するための主記憶識別子を夫々付与し、付与した主記憶識別子をその他の情報に対応付けて主記憶情報データベース１２０に格納する。また、ＣＰＵ１０は、主記憶内容の写しをその他の情報に対応付けて主記憶内容写しデータベース１２１に格納する。
【００１９】
主記憶情報データベース１２０には複数の主記憶情報テーブルＴ１が格納されている。図２は主記憶情報テーブルＴ１のフォーマット例を示す概念図である。主記憶情報テーブルＴ１は、主記憶識別子と、主記憶内容の検索又は検証に用いるハッシュ値と、主記憶内容を更新した更新日時と、主記憶内容が生じた仮想装置の識別子と、主記憶内容が格納されている主記憶１１内のアドレスと、所定単位に分割した主記憶１１のサイズとを有する。
【００２０】
主記憶内容写しデータベース１２１には、複数の主記憶内容の写し（以下「主記憶内容の写しＤ」という。）が格納されている。図３は主記憶内容の写しＤのデータ構造を示す概念図である。主記憶内容の写しＤは、主記憶識別子と、主記憶アドレスと、主記憶サイズと、主記憶内容と、主記憶内容が仮想装置に参照されている数を計測した参照計数とを有する。
【００２１】
ＣＰＵ１０は、仮想装置で発生する主記憶内容を追加又は更新する都度主記憶情報管理部１０２として機能し、主記憶情報テーブルＴ１及び主記憶内容の写しＤを追加又は更新し、主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを管理装置３へ順次送信する。管理装置３は、後述する主記憶内容に関する統合を行い、統合結果を移転元となる情報処理装置１へ送信する。ＣＰＵ１０は、管理装置３から送信された統合結果を受信し、統合結果に従って主記憶内容に関する情報の統合を行う。
【００２２】
移転先となる情報処理装置２は、実装置として、ＣＰＵ２０と、所定の処理を実行することにより生じたデータを記憶する主記憶２１と、所定の処理をＣＰＵ２０に実行させるためのプログラム、主記憶内容に関する情報を格納する主記憶情報データベース２２０及び主記憶内容の写しを格納する主記憶内容写しデータベース２２１を格納する補助記憶装置２２と、通信網に接続するための通信インタフェース２３と、入力装置（図示せず。以下同じ。）に接続するための入力インタフェース２４と、出力装置（図示せず。以下同じ。）に接続するための出力インタフェース２５とを有する。各装置は、通信線２６を介して相互に接続されている。なお、主記憶情報データベース２２０及び主記憶内容写しデータベース２２１は、主記憶２１に置くことも可能である。
【００２３】
補助記憶装置２２に記憶してあるプログラムには、仮想化ソフトウェアが含まれており、ＣＰＵ２０に所定の処理を実行させる。ＣＰＵ２０は、仮想化ソフトウェアに従って上述した実装置から複数の仮想装置を実行する。また、補助記憶装置２２に記憶してあるプログラムには、複数台分の基本ソフトウェア及び応用ソフトウェアが含まれており、ＣＰＵ２０は、仮想装置毎に基本ソフトウェアを実行してハードウェア資源を管理し、応用ソフトウェアを利用する。
【００２４】
ＣＰＵ２０は、上述したプログラムに従って仮想装置制御部２０１と主記憶情報管理部２０２という機能を有する。ＣＰＵ２０は、仮想装置制御部２０１として機能するとき、各仮想装置の実行、停止、資源転送（マイグレーション）の制御を行う。ＣＰＵ２０は、仮想装置を実行する場合、自機の識別子、仮想装置の識別子及び実行通知を管理装置３へ送信する。また、ＣＰＵ２０は、仮想装置を停止する場合、仮想装置に関する情報の削除要求を管理装置３へ送信する。尚、資源転送の制御は、後述にて説明する。
【００２５】
ＣＰＵ２０は、主記憶情報管理部２０２として機能するとき、主記憶２１の空間を所定単位毎に分割して管理し、各仮想装置を実行することにより生じたデータを分割した空間に順次格納する。ＣＰＵ２０は、論理的に分割された主記憶内容に、主記憶内容を識別するための主記憶識別子を夫々付与し、付与した主記憶識別子をその他の情報に対応付けて主記憶情報データベース２２０に格納する。また、ＣＰＵ２０は、主記憶内容の写しをその他の情報に対応付けて主記憶内容写しデータベース２２１に格納する。
【００２６】
主記憶情報データベース２２０には複数の主記憶情報テーブルＴ１が格納されている。尚、主記憶情報テーブルＴ１は、主記憶情報データベース１２０に格納されているものと同様であるから、その説明を省略する。
【００２７】
主記憶内容写しデータベース２２１には、複数の主記憶内容の写し（以下「主記憶内容の写しＤ」という。）が格納されている。尚、主記憶内容の写しＤは、主記憶内容写しデータベース１２１に格納されているものと同様であるから、その説明を省略する。
【００２８】
ＣＰＵ２０は、仮想装置で発生する主記憶内容を追加又は更新する都度主記憶情報管理部２０２として機能し、主記憶情報テーブルＴ１及び主記憶内容の写しＤを追加又は更新し、主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを管理装置３へ順次送信する。管理装置３は、後述する主記憶内容に関する統合を行い、統合結果を移転元となる情報処理装置１へ送信する。ＣＰＵ２０は、管理装置３から送信された統合結果を受信し、統合結果に従って主記憶内容に関する情報の統合を行う。
【００２９】
管理装置３は、ＣＰＵ３０と、所定の処理を実行することにより生じたデータを記憶する主記憶３１と、ＣＰＵ３０に所定の処理を実行させるためのプログラム及び主記憶３１に記憶する主記憶内容の写しなどを格納する補助記憶装置３２と、通信網に接続するための通信インタフェース３３と、入力装置に接続するための入力インタフェース３４と、出力装置に接続するための出力インタフェース３５とを有する。各装置は、通信線３６を介して相互に接続されている。
【００３０】
補助記憶装置３２には、各仮想装置を管理するための情報処理装置管理データベース３２０と、仮想装置内の主記憶を管理するための仮想装置管理データベース３２１と、主記憶内容を管理するための主記憶管理データベース３２２とが格納されている。
【００３１】
図４は情報処理装置管理データベース３２０に格納されている情報処理装置管理テーブルＴ２のフォーマット例を示す概念図である。情報処理装置管理テーブル３２０には複数の情報処理装置管理テーブルＴ２が格納されている。情報処理装置管理テーブルＴ２は、情報処理装置を識別するための情報処理装置識別子と、情報処理装置が有する仮想装置を識別するための仮想装置識別子とを有する。
【００３２】
図５は仮想装置管理データベース３２１に格納されている仮想装置管理テーブルＴ３のフォーマット例を示す概念図である。仮想装置管理テーブルＴ３には、仮想装置識別子と、仮想装置内の主記憶に記憶してある主記憶内容を識別するための主記憶識別子とを有する。
【００３３】
また仮想装置管理データベース３２１には、各情報処理装置から受信した一又は複数の主記憶情報テーブルＴ１が格納されている。尚、主記憶情報テーブルＴ１は、上述した主記憶情報データベース１２０に格納されている主記憶情報テーブルＴ１と同様であるから、その格納例の説明を省略する。
【００３４】
図６は主記憶管理データベース３２２に格納されている識別子管理テーブルＴ４のフォーマット例を示す概念図である。識別子管理テーブルＴ４は、仮想装置識別子と、主記憶識別子と、更新日時と、ハッシュ値と、主記憶内容の写しの索引とを有するか（図６（ａ）参照）、更に情報処理装置識別子を有する（図６（ｂ）参照）。
【００３５】
また主記憶管理データベース３２２には、各情報処理装置から受信した一又は複数の主記憶内容の写しＤが格納されている。尚、主記憶内容の写しＤは、上述した主記憶内容写しデータベース１２１に格納されている主記憶内容の写しＤと同様であるから、その格納例の説明を省略する。
【００３６】
ＣＰＵ３０は、プログラムに従って主記憶情報送受信制御部３０１と、主記憶情報管理部３０２と、情報処理装置管理部３０３と、情報処理装置制御部３０４という機能を有する。
【００３７】
ＣＰＵ３０は、主記憶情報送受信制御部３０１として機能するとき、各情報処理装置から送信された一又は複数の主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを受信して補助記憶装置３２に格納し、補助記憶装置３２から適宜読み出して主記憶情報管理部３０２に送る。また、ＣＰＵ３０は、後述する主記憶情報管理部３０２が実行した統合処理の結果を各情報処理装置へ送信する。
【００３８】
ＣＰＵ３０は、主記憶情報管理部３０２として機能するとき、主記憶情報送受信制御部３０１から一又は複数の主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを受け付けて統合処理を実行し、補助記憶装置３２内のデータを統合する。統合処理の手順は、後述にて説明する。
【００３９】
ＣＰＵ３０は、情報処理装置管理部３０３として機能するとき、仮想装置の実行通知を受信した場合に情報処理装置管理テーブルＴ２を生成し、削除要求を受信した場合に情報処理管理テーブルＴ２を削除する。また、ＣＰＵ３０は、移転先となる情報処理装置２の決定処理を実行する。移転先の決定処理の手順は、後述にて説明する。
【００４０】
ＣＰＵ３０は、情報処理装置制御部３０４として機能するとき、情報処理装置管理部３０３として決定した移転先となる情報処理装置２に対して資源の確保要求、仮想装置の実行指示、資源転送指示及び仮想装置の停止指示を送信し、移転元となる情報処理装置１に対して資源転送指示を送信する。
【００４１】
ここでＣＰＵ３０が実行する統合処理の手順について説明する。図７は本発明の一実施例における統合処理の手順を示すフローチャートである。管理装置３のＣＰＵ３０は、各情報処理装置から送信された一又は複数の主記憶内容の写しＤ及び主記憶情報テーブルＴ１内データを受信する（Ｓ１０１）。
【００４２】
ＣＰＵ３０は、受信した主記憶内容の写しＤに索引を付与して主記憶管理データベース３２２へ格納し、受信した主記憶情報テーブルＴ１内データを仮想装置管理データベース３２１へ格納する（Ｓ１０２）。ＣＰＵ３０は、仮想装置管理データベース３２１において、受信した主記憶情報テーブルＴ１内の仮想装置識別子と同一の仮想装置識別子を含む主記憶情報テーブルＴ１が存在する場合はこれを更新する。ＣＰＵ３０は、受信した主記憶情報テーブルＴ１内の主記憶識別子及び仮想装置識別子に基づいて仮想装置管理テーブルＴ３を生成する。ＣＰＵ３０は、受信した主記憶情報テーブルＴ１内の仮想装置識別子、主記憶識別子、更新日時及びハッシュ値並びに主記憶内容の写しＤの索引に基づいて識別子管理テーブルＴ４を生成する。
【００４３】
ＣＰＵ３０は、格納通知を送信元となる情報処理装置へ送信する（Ｓ１０３）。送信元となる情報処理装置は、格納通知を受信し、管理装置３が実行する統合処理の結果を待つことなく、次の処理を滞りなく実行する。
【００４４】
ＣＰＵ３０は、更新前の主記憶情報テーブルＴ１内データを仮想装置管理データベース３２１から削除する（Ｓ１０４）。ＣＰＵ３０は、更新前の主記憶内容の写しＤがいずれかの仮想装置により参照されているか否か、即ち、参照計数が０であるか否かを判定し（Ｓ１０５）、参照計数が０でないと判定した場合（Ｓ１０５でＮＯ）、更新前の主記憶内容の写しＤを削除せずにステップＳ１０７へ進む。
【００４５】
一方、ＣＰＵ３０は、参照計数が０であると判定した場合（Ｓ１０５でＹＥＳ）、更新前の主記憶内容の写しＤが参照されていないと判断し、更新前の主記憶内容の写しＤを主記憶管理データベース３２２から削除する（Ｓ１０６）。
【００４６】
ＣＰＵ３０は、参照計数が０でないと判定した場合（Ｓ１０５でＮＯを参照）、又は更新前の主記憶内容の写しＤを削除した場合（Ｓ１０６参照）、統合判定処理を実行し（Ｓ１０７）、統合結果を各情報処理装置へ送信する（Ｓ１０８）。ＣＰＵ３０は、処理を終了する。
【００４７】
ステップＳ１０７の統合判定処理の手順について説明する。図８は本発明の一実施例における統合判定処理の手順を示すフローチャートである。管理装置３のＣＰＵ３０は、主記憶管理データベース３２２において、生成した識別子管理テーブルＴ４内のハッシュ値と同一のハッシュ値を含む既登録の識別子管理テーブルＴ４が存在するか否かを判定する（Ｓ２０１）。その結果、ＣＰＵ３０は、同一のハッシュ値を含む既登録の識別子管理テーブルＴ４が存在していないと判定した場合（Ｓ２０１でＮＯ）、ステップＳ２０６へ進む。
【００４８】
一方、ＣＰＵ３０は、同一のハッシュ値を含む既登録の識別子管理テーブルＴ４が存在すると判定した場合（Ｓ２０１でＹＥＳ）、既登録の識別子管理テーブルＴ４内の主記憶内容写し索引が示す既登録の主記憶内容の写しＤが、受信した主記憶内容の写しＤと同一であるか否かを判定する（Ｓ２０２）。その結果、ＣＰＵ３０は、受信した主記憶内容の写しＤと同一でないと判定した場合（Ｓ２０２でＮＯ）、ステップＳ２０６へ進む。
【００４９】
一方、ＣＰＵ３０は、受信した主記憶内容の写しＤと同一であると判定した場合（Ｓ２０２でＹＥＳ）、生成した識別子管理テーブルＴ４内の主記憶識別子、ハッシュ値、更新日時及び主記憶内容写し索引を、既登録の識別子管理テーブルＴ４内のそれに更新する（Ｓ２０３）。ＣＰＵ３０は、既登録の主記憶内容の写しＤを残し、受信した主記憶内容の写しＤを主記憶管理データベース３２２から削除する（Ｓ２０４）。ＣＰＵ３０は、既登録の主記憶内容の写しＤ内の参照計数を１つ増やし（Ｓ２０５）、ステップＳ２０６へ進む。
【００５０】
ＣＰＵ３０は、同一のハッシュ値を含む既登録の識別子管理テーブルＴ４が存在していないと判定した場合（Ｓ２０１でＮＯを参照）、受信した主記憶内容の写しＤと同一でないと判定した場合（Ｓ２０２でＮＯを参照）又は既登録の主記憶内容の写しＤ内の参照計数を１つ増やした場合（Ｓ２０５を参照）、生成した識別子管理テーブルＴ４の全てについて処理を行ったか否かを判定する（Ｓ２０６）。その結果、ＣＰＵ３０は、生成した識別子管理テーブルＴ４のいずれかについて処理をしていないと判定した場合（Ｓ２０６でＮＯ）、ステップＳ２０１へ戻り、未処理の識別子管理テーブルＴ４について処理を繰り返す。
【００５１】
一方、ＣＰＵ３０は、生成した識別子管理テーブルＴ４の全てについて処理を行ったと判定した場合（Ｓ２０６でＹＥＳ）、統合結果を生成し（Ｓ２０７）、次回処理の要求があるまで待機する。
【００５２】
移転元となる情報処理装置１又は移転先となる情報処理装置２は、管理装置３から送信された統合結果を受信し、統合結果に従って、主記憶内容に関する情報の統合を行う。主記憶内容に関する情報の統合は、追加又は更新された主記憶情報テーブルＴ１内の主記憶識別子、ハッシュ値及び更新日時を、管理装置３が格納する識別子管理テーブルの内容に更新する。移転元となる情報処理装置１又は移転先となる情報処理装置２は、更新した主記憶情報テーブルＴ１を管理装置３へ送信する。
【００５３】
管理装置３のＣＰＵ３０は、情報処理装置から主記憶情報テーブルＴ１を受信したとき、受信した主記憶情報テーブルＴ１に仮想装置管理データベース３２１内の主記憶情報テーブルＴ１を更新する。
【００５４】
以上、本発明における資源転送システムは、移転元となる情報処理装置１及び移転先となる情報処理装置２に跨って主記憶内容に関する情報が統合されることにより、同一の主記憶内容の写しＤが各情報処理装置の間で別内容と扱われることを回避でき、各情報処理装置に跨って資源転送を円滑に行うことができる。また、実施の形態１における資源転送システムは、統合された情報を用いて、移転先となる情報処理装置２を選定する機能を有する。
【００５５】
図９は本発明の一実施例における移転先決定処理の手順を示すフローチャートである。移転元となる情報処理装置１は、資源転送の準備段階において、資源転送すべき仮想装置の識別子を管理装置３へ送信する。管理装置３のＣＰＵ３０は、受信した仮想装置識別子を含む主記憶情報テーブルＴ１を仮想装置管理データベース３２１から抽出する（Ｓ３０１）。抽出した仮想装置管理データベース３２１は、移転元となる情報処理装置１が格納する主記憶内容に関する統合状態を示している。
【００５６】
ＣＰＵ３０は、移転先候補となる情報処理装置の識別子を情報処理装置管理テーブルＴ２から抽出し（Ｓ３０２）、移転先候補が存在するか否かを判定する（Ｓ３０３）。その結果、ＣＰＵ３０は、移転先候補が存在してしないと判定した場合（Ｓ３０３でＮＯ）、ステップＳ３０９へ進む。
【００５７】
一方、ＣＰＵ３０は、移転先候補が存在すると判定した場合（Ｓ３０３でＹＥＳ）、移転先候補となる情報処理装置が有する仮想装置の識別子の全てを情報処理装置管理テーブルＴ２から抽出し（Ｓ３０４）、仮想装置が存在するか否かを判定する（Ｓ３０５）。その結果、ＣＰＵ３０は、仮想装置が存在していないと判定した場合（Ｓ３０５でＮＯ）、ステップＳ３０８へ進む。
【００５８】
一方、ＣＰＵ３０は、仮想装置が存在すると判定した場合（Ｓ３０５でＹＥＳ）、仮想装置の識別子を含む主記憶情報テーブルＴ１を仮想装置管理データベース３２１から抽出する（Ｓ３０６）。ＣＰＵ３０は、ステップＳ３０１で抽出した主記憶情報テーブルＴ１内データと、ステップＳ３０６で抽出した主記憶情報テーブルＴ１内データとが一致するか否かを判定し、データの一致数を計数する（Ｓ３０７）。ここで一致するとは、例えば、データ内の主記憶識別子と更新日時が同一であることをいう。ＣＰＵ３０は、ステップＳ３０４へ戻り、移転候補となる情報処理装置が有する、次の仮想装置について処理を繰り返す。
【００５９】
ＣＰＵ３０は、全ての仮想装置についての処理後、仮想装置が存在していないと判定した場合（Ｓ３０５でＮＯを参照）、計数した一致数を主記憶３１に記憶し（Ｓ３０８）、ステップＳ３０２へ戻り、次の移転先候補となる情報処理装置について処理を繰り返す。
【００６０】
ＣＰＵ３０は、全ての移転先候補についての処理後、移転先候補が存在していないと判定した場合（Ｓ３０３でＮＯを参照）、主記憶３１に記憶してある一致数のうち、最多の一致数を有する情報処理装置を移転先に決定する（Ｓ３０９）。ＣＰＵ３０は、決定した情報処理装置の識別子を情報処理装置管理テーブルＴ２から抽出する。
【００６１】
ＣＰＵ３０は、仮想装置を実行するための資源確保の要求を、抽出した情報処理装置識別子が示す移転先となる情報処理装置２に送信する（Ｓ３１０）。
【００６２】
移転先となる情報処理装置２のＣＰＵ２０は、管理装置３から送信された資源確保要求を受信したとき、仮想装置の資源を確保できるか否かを判定し、確保できないと判定した場合、確保不可の通知を管理装置３へ送信する。一方、ＣＰＵ２０は、確保できると判定した場合、確保通知を管理装置３へ送信する。
【００６３】
実施の形態１における資源転送システムは、転送すべき主記憶内容の写しＤを最も多く有する情報処理装置を最適な移転先として選定することにより、選定された移転先となる情報処理装置２へ移転元となる情報処理装置１の資源を円滑に転送して移転元の資源の管理及び利用状態を移転先で迅速に復元することができる。
【００６４】
図１０は本発明の一実施例における資源転送処理の手順を示すフローチャートである。管理装置３は資源転送の指示を移転元となる情報処理装置１へ送信する。資源転送の指示には、上述した移転先決定処理により決定された移転先となる情報処理装置２の識別子が含まれている。移転元となる情報処理装置１は、管理装置３から受信した資源転送の指示に従って転送すべき一又は複数の主記憶情報テーブルＴ１内データを移転先となる情報処理装置２へ送信する。
【００６５】
移転先となる情報処理装置２のＣＰＵ２０は、移転元となる情報処理装置１から送信された一又は複数の主記憶情報テーブルＴ１内データを受信し（Ｓ４０１）、自機が有する主記憶情報データベース２２０から主記憶情報テーブルＴ１内データを読み出す（Ｓ４０２）。
【００６６】
ＣＰＵ２０は、受信した主記憶情報テーブルＴ１内データと自機が有する主記憶情報テーブルＴ１内データとが一致するか否かを判定する（Ｓ４０３）。ここでデータが一致するとは、自機が有する主記憶内容の写しＤを利用することができるという意味であり、例えば、データ内の主記憶識別子と更新日時が同一の場合に相当する。その結果、ＣＰＵ２０は、データが一致すると判定した場合（Ｓ４０３でＹＥＳ）、一致する主記憶情報テーブルＴ１内データに対応する主記憶内容の写しＤを主記憶内容写しデータベース２２１から抽出し（Ｓ４０４）、ステップＳ４０７へ進む。
【００６７】
一方、ＣＰＵ２０は、データが一致していないと判定した場合（Ｓ４０３でＮＯ）、不一致の主記憶情報テーブルＴ１内データを移転元となる情報処理装置１へ送信する（Ｓ４０５）。移転元となる情報処理装置１のＣＰＵ１０は、不一致の主記憶情報テーブルＴ１内データを受信したとき、対応する主記憶内容の写しＤを自機が有する主記憶内容写しデータベース１２１から抽出して移転先となる情報処理装置２へ送信する。移転先となる情報処理装置２のＣＰＵ２０は、対応する主記憶内容の写しＤを受信し（Ｓ４０６）、ステップＳ４０７へ進む。
【００６８】
ＣＰＵ２０は、自機が有する主記憶内容写しデータベース２２１から主記憶内容の写しＤを抽出するか（Ｓ４０４参照）、又は移転元となる情報処理装置１から送信された主記憶内容の写しＤを受信した場合（Ｓ４０６参照）、移転元となる情報処理装置１から受信した主記憶情報テーブルＴ１内データの全てについて処理を行ったか否かを判定する（Ｓ４０７）。その結果、ＣＰＵ２０は、主記憶情報テーブル内データの全てについて処理を行っていないと判定した場合（Ｓ４０７でＮＯ）、ステップＳ４０３へ戻り、移転元となる情報処理装置１から受信した、次の主記憶情報テーブルＴ１内データについて処理を繰り返す。
【００６９】
一方、ＣＰＵ２０は、主記憶情報テーブル内データの全てについて処理を行ったと判定した場合（Ｓ４０７でＹＥＳ）、移転元となる情報処理装置１から送信されたその他の資源を受信し（Ｓ４０８）、移転元における資源の管理及び利用状態を復元する（Ｓ４０９）。ＣＰＵ２０は、復元した資源の管理及び利用状態を、新たに実行する仮想装置に実装し（Ｓ４１０）、資源転送処理を終了する。
【００７０】
実施の形態１における資源転送システムは、移転先が有する主記憶内容の写しＤを利用して資源の管理及び利用状態の復元を試み、移転先が有していない主記憶内容の写しＤのみを移転元から移転先へ転送することにより、資源の管理及び利用状態の復元に必要な主記憶内容の写しＤの全てを移転元から移転先へ転送する場合に比して円滑且つ迅速に資源転送する。
【００７１】
最後に主記憶内容に関する情報の統合及び資源転送方法の一例を示す。図１１は本発明の一実施例における主記憶内容に関する情報の統合及び転送を説明する図である。図１１のとおり、移転元となる情報処理装置１は、第１の仮想装置において、主記憶内容「００００」、「０００１」、「００１０」及び「００１１」を格納し、主記憶識別子「０」、「１」、「２」及び「３」を夫々付与している。
【００７２】
移転先となる情報処理装置２は、第３の仮想装置を実行して主記憶内容「００００」、「０００１」、「００１０」及び「００１１」を格納する場合、当初、主記憶識別子「０」、「１」、「４」及び「５」を夫々付与するが、管理装置３によって主記憶内容「００１１」の主記憶識別子を「５」から「３」へ統合される。
【００７３】
移転元となる情報処理装置１は、第２の仮想装置を実行して主記憶内容「００００」、「０００１」、「００１０」及び「０１００」を格納する場合、当初、主記憶識別子「０」、「１」、「２」及び「６」を夫々付与するが、管理装置３によって主記憶内容「０１００」の主記憶識別子を「６」から「４」へ統合される。
【００７４】
ここで管理装置３は、第１の仮想装置の資源を転送させるとき、第１の仮想装置における主記憶識別子「０」、「１」及び「３」に対応する主記憶内容が移転先となる情報処理装置２に格納されているので、これを転送させず、第１の仮想装置における主記憶識別子「２」に対応する主記憶内容「００１０」が移転先となる情報処理装置２には格納されていないので、これのみを転送させる。以上、実施の形態１について説明した。
【００７５】
実施の形態２．
上述した実施の形態１にあっては、主記憶内容の更新が頻繁に発生する場合、各情報処理装置から管理装置３への接続回数が増大し、管理装置３の統合処理の実行回数が増大する。そこで、実施の形態１における資源転送システムは、更に、主記憶内容の更新が頻繁に発生する場合、該当する主記憶内容に関する情報を管理装置３が管理しない機能を有してもよい。かかる機能を有するときの実施例を実施の形態２として説明する。
【００７６】
図１２は本発明の一実施例におけるシステムの全体構成を示すブロック図である。図１２に示すとおり、実施の形態２における資源転送システムは、移転元となる情報処理装置１、移転先となる情報処理装置２及びこれらを管理するための管理装置３を含み、各装置は、通信網を介して相互に接続されている。
【００７７】
移転元となる情報処理装置１及び移転先となる情報処理装置２は、自らが有する実装置から複数の仮想装置を実行し、各仮想装置の実行により生じたデータを主記憶に記憶する。移転元となる情報処理装置１及び移転先となる情報処理装置２は、管理装置３の管理の下、主記憶内容に関する情報の統合を適宜行う。また、管理装置３は、資源転送において移転先となる情報処理装置２を選定し、移転先となる情報処理装置２へ資源転送をさせる。
更に移転元となる情報処理装置１及び移転先となる情報処理装置２は、主記憶内容を更新する都度更新頻度を計数し、計数した更新頻度が所定閾値を超えた場合、自機が有する主記憶内容に関する情報を管理対象から外すように管理装置３に要求する。
【００７８】
移転元となる情報処理装置１は、上述した実施の形態１における移転元となる情報処理装置１と同様の実装置を有し、更に補助記憶装置１２内に更新頻度に関する情報を格納する更新頻度データベース１２２を有する。
【００７９】
更新頻度データベース１２２には複数の更新頻度テーブルＴ５が格納されている。図１３は更新頻度データベース１２２に格納されている更新頻度テーブルＴ５のフォーマット例を示す概念図である。更新頻度テーブルＴ５は、主記憶識別子と、主記憶内容の更新頻度と、主記憶内容に関する情報を管理対象外とするか否かを示す対象外判定変数とを有する。
【００８０】
実装置の１つであるＣＰＵ１０は、上述した実施の形態１における移転元となる情報処理装置１と同様の機能を有する。ＣＰＵ１０は、更に、主記憶内容を更新する都度主記憶情報管理部１０２として機能し、更新頻度を計数して更新頻度データベース１２２に格納する。ＣＰＵ１０は、計数した頻度が所定の閾値を超えると判定した場合、自機が有する主記憶内容に関する情報を管理対象から外すように管理装置３へ削除要求を送信する。
【００８１】
移転先となる情報処理装置２は、上述した実施の形態１における移転先となる情報処理装置２と同様の実装置を有し、更に補助記憶装置２２内に更新頻度に関する情報を格納する更新頻度データベース２２２を有する。
【００８２】
更新頻度データベース２２２には複数の更新頻度テーブルＴ５が格納されている。尚、更新頻度テーブルＴ５のフォーマット例は、更新頻度データベース１２２に格納されている更新頻度テーブルＴ５と同様であるので、その説明を省略する。
【００８３】
実装置の１つであるＣＰＵ２０は、上述した実施の形態１における移転先となる情報処理装置２と同様の機能を有する。更にＣＰＵ２０は、主記憶内容を更新する都度主記憶情報管理部２０２として機能し、更新頻度を計数して更新頻度データベース２２２に格納する。ＣＰＵ２０は、計数した更新頻度が所定の閾値を超えると判定した場合、自機が有する主記憶内容に関する情報を管理対象から外すように管理装置３へ削除要求を送信する。
【００８４】
管理装置３は、上述した実施の形態１における管理装置３と同様の実装置を有する。実装置の１つであるＣＰＵ３０は、上述した実施の形態１における管理装置３のＣＰＵ３０と同様の機能を有し、更に各情報処理装置から削除要求を受信した場合、送信元となる情報処理装置についての主記憶内容に関する情報を削除する。
【００８５】
このように移転元となる情報処理装置１及び移転先となる情報処理装置２は、仮想装置で発生する主記憶内容を更新した場合、主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを管理装置３へ送信する前に、主記憶内容の更新頻度に応じて、主記憶内容に関する情報を管理装置３の管理対象外とするか否かを判定する処理を実行する。図１４は本発明の一実施例における管理対象外決定処理の手順を示すフローチャートである。以下、移転元となる情報処理装置１が実行する管理対象外処理を一例として説明する。
【００８６】
移転元となる情報処理装置１のＣＰＵ１０は、更新頻度データベース１２２にアクセスし、更新した主記憶内容の主記憶識別子に対応する対象外判定変数が「真」になっているか否かを判定する（Ｓ５０１）。その結果、ＣＰＵ１０は、対象外判定変数が「真」になっていると判定した場合（Ｓ５０１でＹＥＳ）、既に管理対象外になっていると判断して管理対象外決定処理を終了する。
【００８７】
一方、ＣＰＵ１０は、対象外判定変数が「真」になっていないと判定した場合（Ｓ５０１でＮＯ）、主記憶情報テーブルＴ１において、更新した主記憶内容の主記憶識別子に対応する他の仮想装置が存在するか否かを判定する（Ｓ５０２）。その結果、ＣＰＵ１０は、他の仮想装置が存在していないと判定した場合（Ｓ５０２でＮＯ）、更新した主記憶情報テーブルＴ１内の更新日時を更新し（Ｓ５０３）、ステップＳ５０５へ進む。
【００８８】
一方、ＣＰＵ１０は、他の仮想装置が存在すると判定した場合（Ｓ５０２でＹＥＳ）、更新した主記憶内容の写しに新たな主記憶識別子を付与し（Ｓ５０４）、ステップＳ５０５へ進む。
【００８９】
ＣＰＵ１０は、更新日時を更新した場合（Ｓ５０３参照）、又は新たな主記憶識別子を付与した場合（Ｓ５０４参照）、更新した更新日時又は新たに付与した主記憶識別子を管理装置３へ送信する（Ｓ５０５）。管理装置３のＣＰＵ３０は、受信した更新日時及び主記憶識別子に基づいて、主記憶情報テーブルＴ１、主記憶内容の写しＤ、仮想装置管理テーブルＴ３及び識別子管理テーブルＴ４を更新する。
【００９０】
ＣＰＵ１０は、更新頻度を計数する（Ｓ５０６）。ここでいう更新頻度とは、例えば、同一の主記憶識別子が示す主記憶内容を更新した回数をいう。ＣＰＵ１０は、計数した更新頻度が予め設定してある第１閾値を超えるか否かを判定し（Ｓ５０７）、計数した更新頻度が第１閾値以下であると判定した場合（Ｓ５０７でＮＯ）、管理対象外決定処理を終了する。ＣＰＵ１０は、更新した主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを管理装置３へ送信する。
【００９１】
一方、ＣＰＵ１０は、計数した更新頻度が第１閾値を超えると判定した場合（Ｓ５０７でＹＥＳ）、更新頻度テーブルＴ５内の更新頻度を計数した更新頻度に更新し、更新頻度テーブルＴ５内の対象外判定変数を「真」に更新する（Ｓ５０８）。ＣＰＵ１０は、主記憶情報テーブルＴ１、主記憶内容の写しＤ、情報処理装置管理テーブルＴ２、仮想装置管理テーブルＴ３及び識別子管理テーブルＴ４を削除するため、削除要求を管理装置３へ送信する（Ｓ５０９）。ＣＰＵ１０は、管理対象外決定処理を終了する。ＣＰＵ１０は、主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを管理装置３へ送信しない。
【００９２】
尚、移転元となる情報処理装置１、移転先となる情報処理装置２及び管理装置３の構成及び作用、並びに実行する処理の手順については、上述した実施の形態１と同様であるので、対応する箇所には同一の符号を付してその説明を省略する。
【００９３】
実施の形態２における資源転送システムは、いずれかの情報処理装置において主記憶内容の更新が頻繁に発生する場合、該当する主記憶内容に関する情報を管理装置３が管理しないようにでき、管理装置３の負担及び通信網を移動する情報の増大を抑制することができる。以上、実施の形態２について説明した。
【００９４】
実施の形態３.
上述した実施の形態２にあっては、主記憶内容の更新頻度が所定の閾値を超える場合、この主記憶内容を管理装置３の管理対象とする一例を説明した。しかし、開示の資源転送システムは、これに限定されるものでなく、例えば、各情報処理装置、管理装置３及び通信網にかかる負荷を検出し、検出した負荷に応じて、負荷の原因となる主記憶内容に関する情報を管理装置３が管理しない機能を有してもよい。そこで、実施の形態３では、かかる機能を有するときの実施例を説明する。
【００９５】
図１５は本発明の一実施例におけるシステムの全体構成を示すブロック図である。図１５に示すとおり、実施の形態３における資源転送システムは、移転元となる情報処理装置１、移転先となる情報処理装置２及びこれらを管理するための管理装置３を含み、各装置は、通信網を介して相互に接続されている。
【００９６】
移転元となる情報処理装置１及び移転先となる情報処理装置２は、自らが有する実装置から複数の仮想装置を実行し、各仮想装置の実行により生じたデータを主記憶に記憶する。移転元となる情報処理装置１及び移転先となる情報処理装置２は、管理装置３の管理の下、主記憶内容に関する情報の統合を適宜行う。また、管理装置３は、資源転送において移転先となる情報処理装置２を選定し、選定した移転先となる情報処理装置２へ資源転送させる。
更に移転元となる情報処理装置１、移転先となる情報処理装置２及び管理装置３は、自機及び通信網にかかる負荷を測定し、測定した負荷が所定閾値を超えた場合、負荷の原因となる主記憶内容に関する情報を管理装置３の管理から外すように管理装置３に要求する。
【００９７】
移転元となる情報処理装置１は、上述した実施の形態１における移転元となる情報処理装置１と同様の実装置を有し、更に管理対象外となる優劣を示す優先度を格納する優先度情報データベース１２３を補助記憶装置１２に有し、自機及び通信網にかかる負荷を測定する負荷測定部１７を有する。
【００９８】
優先度情報データベース１２３には複数の優先度情報テーブルＴ６が格納されている。図１６は優先度情報データベース１２３に格納されている優先度情報テーブルＴ６のフォーマット例を示す概念図である。優先度情報テーブルＴ６は、主記憶識別子と、予め設定された優先度と、主記憶内容に関する情報を管理装置３の管理から外すか否かを示す対象外判定変数とを有する。尚、優先度の設定方法については、後述にて説明する。
【００９９】
負荷測定部１７は、例えば、自機のＣＰＵ１０及び通信インタフェース１３にかかる負荷を測定し、測定した負荷の程度と、補助記憶装置１２に記憶してある負荷対照表（図示せず）とに基づいて第２閾値を設定する。負荷対照表は、例えば、負荷１００％のときに最優先とし、負荷０％のときに最下位とするなど、負荷が高いほど第２閾値を上げ、負荷が低いほど第２閾値を下げるように設定されている。
【０１００】
実装置の１つであるＣＰＵ１０は、上述した実施の形態１における移転元となる情報処理装置１のＣＰＵ１０と同様の機能を有する。ＣＰＵ１０は、更に、主記憶情報管理部１０２として機能するとき、優先度情報テーブルＴ６内の優先度を設定する。ＣＰＵ１０は、例えば、主記憶情報テーブルＴ１にアクセスし、主記憶識別子毎に対応する仮想装置の数を計数する。ＣＰＵ１０は、計数した仮想装置数と補助記憶装置１２に記憶してある優先度対照表（図示せず）とに基づいて優先度を設定する。優先度対照表は、例えば、参照する仮想装置の数が多いほど主記憶識別子の優先度の上位とし、参照する仮想装置の数が少ないほど主記憶識別子の優先度を下位となるように設定する。
【０１０１】
移転先となる情報処理装置２は、上述した実施の形態１における移転先となる情報処理装置２と同様の実装置を有する。移転先となる情報処理装置２は、更に、管理対象外となる優劣を示す優先度を格納する優先度情報データベース２２３を補助記憶装置２２に有し、自機及び通信網にかかる負荷を測定する負荷測定部２７を有する。
【０１０２】
優先度情報データベース２２３には複数の優先度情報テーブルＴ６が格納されている。尚、優先度情報テーブルＴ６のフォーマット例は、優先度情報データベース１２３に格納されている優先度情報テーブルＴ６と同様であるので、その説明を省略する。
【０１０３】
負荷測定部２７は、例えば、自機のＣＰＵ２０及び通信インタフェース２３にかかる負荷を測定し、測定した負荷の程度と、補助記憶装置２２に記憶してある負荷対照表とに基づいて第２閾値を設定する。負荷対照表は、例えば、負荷１００％のときに最優先とし、負荷０％のときに最下位とするなど、負荷が高いほど第２閾値を上げ、負荷が低いほど第２閾値を下げるように設定されている。
【０１０４】
実装置の１つであるＣＰＵ２０は、上述した実施の形態１における移転先となる情報処理装置２のＣＰＵ２０と同様の機能を有する。ＣＰＵ２０は、更に、主記憶情報管理部２０２として機能するとき、優先度情報テーブルＴ６内の優先度を設定する。ＣＰＵ２０は、例えば、主記憶情報テーブルＴ１にアクセスし、主記憶識別子毎に対応する仮想装置の数を計数する。ＣＰＵ２０は、計数した仮想装置数と補助記憶装置２２に記憶してある優先度対照表とに基づいて優先度を設定する。優先度対照表は、例えば、参照する仮想装置の数が多いほど主記憶識別子の優先度の上位とし、参照する仮想装置の数が少ないほど主記憶識別子の優先度を下位となるように設定する。
【０１０５】
管理装置３は、上述した実施の形態１における管理装置３と同様の実装置を有し、更に自機及び通信網にかかる負荷を測定する負荷測定部３７を有する。実装置の１つであるＣＰＵ３０は、上述した実施の形態１における管理装置３のＣＰＵ３０と同様の機能を有し、更に各情報処理装置から削除要求を受信した場合、送信元となる情報処理装置についての主記憶内容に関する情報を削除する。
【０１０６】
このように移転元となる情報処理装置１及び移転先となる情報処理装置２は、仮想装置で発生する主記憶内容を更新した場合、主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを管理装置３へ送信する前に、自機及び通信網にかかる負担を計測し、負荷の程度に応じて負荷の原因となる主記憶内容に関する情報を管理装置３の管理対象外とするか否かを判定する処理を実行する。図１７は本発明の一実施例における管理対象外決定処理の手順を示すフローチャートである。以下、移転先となる情報処理装置１が実行する管理対象外決定処理の手順を一例として説明する。
【０１０７】
移転元となる情報処理装置１のＣＰＵ１０は、優先度情報テーブルＴ６にアクセスし、更新した主記憶内容の主記憶識別子に対応する対象外判定変数が「真」になっているか否かを判定する（Ｓ６０１）。その結果、ＣＰＵ１０は、対象外判定変数が「真」になっていると判定した場合（Ｓ６０１でＹＥＳ）、負荷測定部１７から第２閾値を取得し（Ｓ６０２）、「真」の対象外判定変数に対応する優先度が第２閾値を超えるか否かを判定し（Ｓ６０３）、優先度が第２閾値以下であると判定した場合（Ｓ６０３でＮＯ）、既に管理対象外になっていると判断して管理対象外決定処理を終了する。
【０１０８】
一方、ＣＰＵ１０は、優先度が第２閾値を超えると判定した場合（Ｓ６０３でＹＥＳ）、「真」の対象外判定変数を「偽」に更新し（Ｓ６０４）、ステップＳ６０５へ進む。ＣＰＵ１０は、自機及び通信網への負担が軽微であると判断する。
【０１０９】
一方、ＣＰＵ１０は、対象外判定変数が「真」になっていないと判定した場合（Ｓ６０１でＮＯ）、ステップＳ６０５へ進む。
【０１１０】
ＣＰＵ１０は、対象外判定変数を「偽」に変更した場合（Ｓ６０４参照）、又は対象外判定変数が「真」になっていないと判定した場合（Ｓ６０１でＮＯを参照）、主記憶情報テーブルＴ１において、更新した主記憶内容の主記憶識別子に対応する他の仮想装置が存在するか否かを判定する（Ｓ６０５）。その結果、ＣＰＵ１０は、他の仮想装置が存在していないと判定した場合（Ｓ６０５でＮＯ）、更新した主記憶情報テーブルＴ１内の更新日時を更新し（Ｓ６０６）、ステップＳ６０８へ進む。
【０１１１】
一方、ＣＰＵ１０は、他の仮想装置が存在すると判定した場合（Ｓ６０５でＹＥＳ）、更新された主記憶内容に新たな主記憶識別子を付与し（Ｓ６０７）、ステップＳ６０８へ進む。
【０１１２】
ＣＰＵ１０は、更新日時を更新した場合（Ｓ６０６参照）、又は新たな主記憶識別子を付与した場合（Ｓ６０７参照）、更新した更新日時又は新たに付与した主記憶識別子を管理装置３へ送信する（Ｓ６０８）。管理装置３のＣＰＵ３０は、受信した更新日時及び主記憶識別子に基づいて、主記憶情報テーブルＴ１、主記憶内容の写しＤ、仮想装置管理テーブルＴ３及び識別子管理テーブルＴ４を更新する。
【０１１３】
ＣＰＵ１０は、負荷測定部１７から第２閾値を取得し（Ｓ６０９）、ステップＳ６０１で判定された「真」以外の対象外判定変数に対応する優先度が第２閾値を超えるか否かを判定する（Ｓ６１０）。その結果、ＣＰＵ１０は、優先度が第２閾値以下であると判定した場合（Ｓ６１０でＮＯ）、管理対象外決定処理を終了する。
【０１１４】
一方、ＣＰＵ１０は、優先度が第２閾値を超えると判定した場合（Ｓ６１０でＹＥＳ）、ステップＳ６０１で判定された「真」以外の対象外判定変数を「真」に更新する（Ｓ６１１）。ＣＰＵ１０は、主記憶情報テーブルＴ１、主記憶内容の写しＤ、情報処理装置管理テーブルＴ２、仮想装置管理テーブルＴ３及び識別子管理テーブルＴ４を削除するため、削除要求を管理装置３へ送信する（Ｓ６１２）。ＣＰＵ１０は、管理対象外決定処理を終了する。ＣＰＵ１０は、主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤを管理装置３へ送信しない。
【０１１５】
尚、移転元となる情報処理装置１、移転先となる情報処理装置２及び管理装置３の構成及び作用、並びに実行する処理の手順については、上述した実施の形態１と同様であるので、対応する箇所に同一の符号を付してその説明を省略する。
【０１１６】
実施の形態３における資源転送システムは、各装置及び通信網に多大な負担がかかる場合、負担の原因となる主記憶内容に関する情報を管理装置３が管理しないようにでき、各装置の負担及び通信網を移動する情報量の増大を抑制することができる。以上、実施の形態３について説明した。
【０１１７】
実施の形態４．
上述した実施の形態１乃至３にあっては、管理装置３が主記憶内容に関する情報を統合する一例を説明した。しかし、開示の資源転送システムは、例えば、管理装置３が主記憶内容に関する情報を統合し、統合結果を纏めた変換表を作成する機能を有してもよい。実施の形態４では、かかる機能を有するときの実施例を説明する。
【０１１８】
図１８は本発明の一実施例におけるシステムの全体構成を示すブロック図である。図１８に示すとおり、実施の形態４における資源転送システムは、移転元となる情報処理装置１、移転先となる情報処理装置２及びこれらを管理するための管理装置３を含み、各装置は、通信網を介して相互の接続されている。
【０１１９】
移転元となる情報処理装置１及び移転先となる情報処理装置２は、自らが有する実装置から複数の仮想装置を実行し、各仮想装置の実行により生じたデータを主記憶に記憶する。管理装置３は、移転元となる情報処理装置１及び移転先となる情報処理装置２が格納する主記憶内容に関する情報を統合して変換表を作成する。管理装置３は、作成した変換表に基づいて移転先を選定する。移転元となる情報処理装置１及び移転先となる情報処理装置２は、管理装置３が作成した変換表に従って資源転送を行う。
【０１２０】
移転元となる情報処理装置１は、上述した実施の形態１における移転元となる情報処理装置１と同様の実装置を有する。実装置の１つであるＣＰＵ１０は、上述した実施の形態１における移転元となる情報処理装置１のＣＰＵ１０と同様の機能を有する。
【０１２１】
移転先となる情報処理装置２は、上述した実施の形態１における移転先となる情報処理装置２と同様の実装置を有する。実装置の１つであるＣＰＵ２０は、上述した実施の形態１における移転先となる情報処理装置２のＣＰＵ２０と同様の機能を有する。
【０１２２】
管理装置３は、上述した実施の形態１における管理装置３と同様の実装置を有し、更に補助記憶装置３２内に変換表を格納する変換表データベース３２３を有する。
【０１２３】
変換表データベース３２３には複数の変換表（以下「変換表Ｔ７」という。）が格納されている。図１９は変換表データベース３２３に格納されている変換表Ｔ７のフォーマット例を示す概念図である。変換表Ｔ７は、情報処理装置毎に生成され、自機が格納する主記憶内容に関する情報と他機が格納する主記憶内容に関する情報との対応関係を示す。自機が格納する主記憶内容に関する情報には、主記憶識別子と、更新日時とが含まれている。他機が格納する主記憶内容に関する情報には、他機となる情報処理装置の識別子と、他機が格納する主記憶内容の識別子と、更新日時とが含まれている。
【０１２４】
実装置の１つであるＣＰＵ３０は、上述した実施の形態１における管理装置３のＣＰＵ３０と同様の機能を有する。更にＣＰＵ３０は、主記憶情報管理部３０２として主記憶情報テーブルＴ１内データ及び主記憶内容の写しＤの写しの統合処理を実行したとき、統合処理を纏めた変換表Ｔ７を作成し、作成した変換表Ｔ７を変換表データベース３２３に格納する。
【０１２５】
ここでＣＰＵ３０が実行する統合処理の手順について説明する。図２０は本発明の一実施例における統合処理の手順を示すフローチャートである。管理装置３のＣＰＵ３０は、主記憶情報管理部３０２として機能するとき、各情報処理装置ら送信された一又は複数の主記憶内容の写しＤ及び主記憶情報テーブルＴ１内データを受信する（Ｓ７０１）。
【０１２６】
ＣＰＵ３０は、受信した主記憶内容の写しＤに索引を付与して主記憶管理データベース３２２へ格納し、受信した主記憶情報テーブルＴ１内データを仮想装置管理データベース３２１へ格納する（Ｓ７０２）。ＣＰＵ３０は、仮想装置管理データベース３２１において、受信した主記憶情報テーブルＴ１内の仮想装置識別子と同一の仮想装置識別子を含む主記憶情報テーブルＴ１が存在する場合をこれを更新する。ＣＰＵ３０は、受信した主記憶情報テーブルＴ１内の主記憶識別子及び仮想装置識別子に基づいて仮想装置管理テーブルＴ３を生成する。ＣＰＵ３０は、受信した主記憶情報テーブルＴ１内の仮想装置識別子、主記憶識別子、更新日時及びハッシュ値並びに主記憶内容の写しＤの索引に基づいて識別子管理テーブルＴ４を生成する。
【０１２７】
ＣＰＵ３０は、格納通知を送信元となる情報処理装置へ送信する（Ｓ７０３）。情報処理装置は、格納通知を受信することにより、管理装置３が実行する統合処理の結果を受信することなく次の処理を実行する。
【０１２８】
ＣＰＵ３０は、更新前の主記憶情報テーブルＴ１内データを仮想装置管理データベース３２１から削除する（Ｓ７０４）。ＣＰＵ３０は、更新前の主記憶内容の写しＤがいずれかの仮想装置により参照されているか否か、即ち、参照計数が０であるか否かを判定し（Ｓ７０５）、参照計数が０でないと判定した場合（Ｓ７０５でＮＯ）、主記憶内容の写しＤを削除せずにステップＳ７０７へ進む。
【０１２９】
一方、ＣＰＵ３０は、参照計数が０であると判定した場合（Ｓ７０５でＹＥＳ）、主記憶内容の写しＤが参照されていないと判断して更新前の主記憶内容の写しＤを主記憶管理データベース３２２から削除する（Ｓ７０６）。
【０１３０】
ＣＰＵ３０は、参照計数が０でないと判定した場合（Ｓ７０５でＮＯを参照）、又は更新前の主記憶内容の写しＤを削除した場合（Ｓ７０６参照）、変換表作成処理を実行し（Ｓ７０７）、処理を終了する。
【０１３１】
ステップＳ７０７の変換表作成処理の手順について説明する。図２１は本発明の一実施例における変換表作成処理の手順を示すフローチャートである。管理装置３のＣＰＵ３０は、主記憶管理データベース３２２において、生成した識別子管理テーブル４内のハッシュ値と同一のハッシュ値を含む既登録の識別子管理テーブルＴ４が存在するか否かを判定する（Ｓ８０１）。その結果、ＣＰＵ３０は、同一のハッシュ値が存在していないと判定した場合（Ｓ８０１でＮＯ）、ステップＳ８０６へ進む。
【０１３２】
一方、ＣＰＵ３０は、同一のハッシュ値が存在すると判定した場合（Ｓ８０１でＹＥＳ）、既登録の識別子管理テーブルＴ４内の主記憶内容写し索引が示す既登録の主記憶内容の写しＤが、受信した主記憶内容の写しＤと同一であるか否かを判定する（Ｓ８０２）。その結果、ＣＰＵ３０は、受信した主記憶内容の写しＤと同一でないと判定した場合（Ｓ８０２でＮＯ）、ステップＳ８０６へ進む。
【０１３３】
一方、ＣＰＵ３０は、受信した主記憶内容の写しＤと同一であると判定した場合（Ｓ８０２でＹＥＳ）、自機についての変換表Ｔ７内の自機が格納する主記憶内容に関する情報の欄を、生成した識別子管理テーブルＴ４内の主記憶識別子及び更新日時に更新する（Ｓ８０３）。更に自機以外についての変換表Ｔ７内の他機が格納する主記憶内容に関する情報の欄を、生成した識別子管理テーブル４内の情報処理装置識別子、主記憶識別子及び更新日時に更新する。
【０１３４】
ＣＰＵ３０は、既登録の主記憶内容の写しＤを残し、受信した主記憶内容の写しＤを主記憶管理データベース３２２から削除する（Ｓ８０４）。ＣＰＵ３０は、既登録の主記憶内容の写しＤを共有するように識別子管理テーブル４内の主記憶内容写し索引を更新する。ＣＰＵ３０は、既登録の主記憶内容の写しＤ内の参照計数を１つ増やし（Ｓ８０５）、ステップＳ８０６へ進む。
【０１３５】
ＣＰＵ３０は、同一のハッシュ値を含む既登録の識別子管理テーブルＴ４が存在していないと判定した場合（Ｓ８０１でＮＯを参照）、受信した主記憶内容の写しＤと同一でないと判定した場合（Ｓ８０２でＮＯを参照）、受信した主記憶内容の写しＤの参照計数を１つ増やした場合（Ｓ８０５を参照）、生成した識別子管理テーブルＴ４の全てについて処理を行ったか否かを判定する（Ｓ８０６）。その結果、ＣＰＵ３０は、生成した識別子管理テーブルＴ４にいずれかについて処理を行っていないと判定した場合（Ｓ８０６でＮＯ）、ステップＳ８０１へ戻り、未処理の識別子管理テーブルＴ４について処理を繰り返す。
【０１３６】
一方、ＣＰＵ３０は、生成した識別子管理テーブル４の全てについて処理を行ったを判定した場合（Ｓ８０６でＹＥＳ）、次回処理の要求があるまで待機する。
【０１３７】
実施の形態４における資源転送システムは、移転元となる情報処理装置１及び移転先となる情報処理装置２に跨って主記憶内容に関する情報を統合して纏めた変換表Ｔ７を作成することにより、同一の主記憶内容の写しＤが各情報処理装置の間で別内容と扱われることを回避できる。また、実施の形態４における資源転送システムは、変換表Ｔ７を用いて、移転先となる情報処理装置２を選定する機能を有する。
【０１３８】
図２２は本発明の一実施例における移転先選定処理の手順を示すフローチャートである。移転元となる情報処理装置１は、資源転送の準備段階において、資源転送すべき仮想装置の識別子を管理装置３へ送信する。管理装置３のＣＰＵ３０は、受信した仮想装置識別子を含む主記憶情報テーブルＴ１を仮想装置管理データベース３２１から抽出する（Ｓ９０１）。
【０１３９】
ＣＰＵ３０は、移転先候補となる情報処理装置の識別子を情報処理装置管理テーブルＴ２から抽出し（Ｓ９０２）、移転先候補識別子が存在するか否かを判定する（Ｓ９０３）。その結果、ＣＰＵ３０は、移転先候補識別子が存在していないと判定した場合（Ｓ９０３でＮＯ）、ステップＳ９０９へ進む。
【０１４０】
ＣＰＵ３０は、移転先候補が存在すると判定した場合（Ｓ９０３でＹＥＳ）、変換表Ｔ７を読み出し（Ｓ９０４）、読み出した変換表Ｔ７内に、移転先候補となる情報処理装置が有する仮想装置の識別子が存在するか否かを判定する（Ｓ９０５）。その結果、ＣＰＵ３０は、仮想装置が存在していないと判定した場合（Ｓ９０５でＮＯ）、ステップＳ９０８へ進む。
【０１４１】
一方、ＣＰＵ３０は、仮想装置が存在する判定した場合（Ｓ９０５でＹＥＳ）、仮想装置の識別子を含む主記憶情報テーブルＴ１の全てを仮想装置管理データベース３２１から抽出する（Ｓ９０６）、ＣＰＵ３０は、ステップＳ９０１で抽出した主記憶情報テーブルＴ１内データと、ステップＳ９０６で抽出した主記憶情報テーブルＴ１内データとが一致するか否かを判定し、データの一致数を計数する（Ｓ９０７）。ＣＰＵ３０は、ステップＳ９０４へ戻り、次の仮想装置について処理を繰り返す。ここで一致するとは、例えば、データ内のキャッシュ値が同一であることをいう。
【０１４２】
ＣＰＵ３０は、全ての仮想装置についての処理後、仮想装置が存在していないと判定した場合（Ｓ９０５でＮＯ参照）、計数した一致数を主記憶３１に記憶し（Ｓ９０８）、ステップＳ９０２へ戻り、次の移転先候補となる情報処理装置について処理を繰り返す。
【０１４３】
ＣＰＵ３０は、全ての移転先候補についての処理後、移転先候補が存在していないと判定した場合（Ｓ９０３でＮＯを参照）、主記憶３１に記憶してある一致数のうち、最多の一致数を有する情報処理装置を移転先に決定する（Ｓ９０９）。ＣＰＵ３０は、決定した情報処理装置の識別子を情報処理装置管理テーブルＴ２から抽出する。
【０１４４】
ＣＰＵ３０は、仮想装置を実行するための資源確保の要求を、抽出した情報処理装置識別子が示す移転先となる情報処理装置２へ送信する（Ｓ９１０）。
【０１４５】
移転先となる情報処理装置２のＣＰＵ２０は、管理装置３から送信された確保要求を受信したとき、仮想装置の資源を確保できるか否かを判定し、確保できないと判定した場合、確保不可の通知を管理装置３へ送信する。一方、ＣＰＵ２０は、確保できると判定した場合、確保通知を管理装置３へ送信する。
【０１４６】
実施の形態４における資源転送システムは、転送すべき主記憶内容の写しＤを最も多く有する情報処理装置を最適な移転先として選定することにより、選定された移転先となる情報処理装置２へ移転元となる情報処理装置１の資源を円滑に転送して移転元の資源の管理及び利用状態を移転先で迅速に復元できる。
【０１４７】
図２３は本発明の一実施例における資源転送処理の手順を示すフローチャートである。管理装置３は資源転送の指示を移転先となる情報処理装置１へ送信する。資源転送の指示には、上述した移転先決定処理により決定された移転先となる情報処理装置２の識別子が含まれている。移転元となる情報処理資源１は、管理装置３から送信された資源転送指示を受信したとき、転送すべき一又は複数の主記憶情報テーブル１内データを移転先と情報処理装置２へ送信する。
【０１４８】
移転先となる情報処理装置２のＣＰＵ２０は、移転元となる情報処理装置１から送信された一又は複数の主記憶情報テーブル１内データを受信し（Ｓ１００１）、自機が有する主記憶情報データベース２２０から主記憶情報テーブルＴ１内データを読み出す（Ｓ１００２）。
【０１４９】
ＣＰＵ２０は、管理装置３から自機についての変換表Ｔ７を受信し（Ｓ１００３）、受信した変換表Ｔ７において、自機が格納する主記憶内容に関する情報と他機が格納する主記憶内容に関する情報とを比較することにより、自機が有する主記憶情報テーブルＴ１のいずれかが、受信した主記憶情報テーブルＴ１内データに対応するか否かを判定する（Ｓ１００４）。その結果、ＣＰＵ２０は、自機が有する主記憶情報テーブルＴ１内データが、受信した主記憶情報テーブルＴ１内データに対応すると判定した場合（Ｓ１００４でＹＥＳ）、対応する主記憶情報テーブルＴ１内データに対応する主記憶内容の写しＤを主記憶内容写しデータベース２２１から抽出し（Ｓ１００５）、ステップＳ１００８へ進む。
【０１５０】
一方、ＣＰＵ２０は、自機が有する主記憶情報テーブルＴ１が、受信した主記憶情報テーブルＴ１内データに対応していないと判定した場合（Ｓ１００４でＮＯ）、未対応の主記憶情報テーブルＴ１内データを送信元となる情報処理装置１へ送信する（Ｓ１００６）。移転元となる情報処理資源１のＣＰＵ１０は、未対応の主記憶情報テーブルＴ１内データを受信したとき、対応する主記憶内容の写しＤを主記憶内容写しデータベース１２１から抽出して移転先となる情報処理装置２へ送信する。移転先となる情報処理装置２のＣＰＵ２０は、対応する主記憶内容の写しＤを受信し（Ｓ１００７）、ステップＳ１００８へ進む。
【０１５１】
ＣＰＵ２９は、対応する主記憶情報テーブルＴ１内データに対応する主記憶内容の写しＤを抽出するか（Ｓ１００５参照）、又は移転元となる情報処理装置１から送信された主記憶内容の写しＤを受信した場合（Ｓ１００７参照）、移転元となる情報処理装置１から受信した主記憶情報テーブルＴ１内データの全てに処理を行ったか否かを判定する（Ｓ１００８）。その結果、ＣＰＵ２０は、主記憶情報テーブルＴ１内データの全てについて処理を行っていないと判定した場合（Ｓ１００８でＮＯ）、ステップＳ１００４へ戻り、次の主記憶情報テーブルＴ１内データについて処理を繰り返す。
【０１５２】
一方、ＣＰＵ２０は、主記憶情報テーブルＴ１内データの全てについて処理を行ったと判定した場合（Ｓ１００８でＹＥＳ）、移転元となる情報処理装置１から送信されたその他の資源を受信し（Ｓ１００９）、移転元における資源の管理及び利用状態を復元する（Ｓ１０１０）。ＣＰＵ２０は、復元した資源の管理及び利用状態を仮想装置に実装し（Ｓ１０１１）、資源転送処理を終了する。
【０１５３】
尚、移転元となる情報処理装置１、移転先となる情報処理装置２及び管理装置３の構成及び作用、並びに実行する処理の手順については、上述した実施の形態１と同様であるので、対応する箇所に同一の符号を付してその説明を省略する。
【０１５４】
実施の形態４における資源転送システムは、移転先が有する主記憶内容の写しＤを利用して資源の管理及び利用状態の復元を試み、移転先が有していない主記憶内容の写しＤのみを移転元から移転先へ転送することにより、資源の管理及び利用状態の復元に必要な主記憶内容の写しＤの全てを移転元から移転先へ転送する場合に比して迅速に資源転送を行う。以上、実施の形態４について説明した。
【０１５５】
実施の形態５．
上述した実施の形態１乃至４にあっては、移転元となる情報処理装置１が任意の機会において資源転送の準備に遷移したとき、管理装置３が移転先決定処理を実行する一例を説明した。しかし、開示の資源転送システムは、これに限定されるものでなく、例えば、移転元となる情報処理装置１が有する仮想装置が一時的な停止状態（サスペンド状態）から復帰状態に遷移するときに、管理装置３が移転先決定処理を実行してもよい。その結果、実施の形態５における資源転送システムにあっては、移転元が停止した時の管理及び利用状態を、決定した移転先で復元する（レジューム）機能を有してもよい。
【０１５６】
尚、上述した実施の形態２又は３にあっては、更新頻度又は優先度に基づいて管理装置３が管理しない主記憶内容に関する情報を決定する一例を説明したが、開示の資源転送システムは、これに限定されるものではなく、例えば、所定の主記憶識別子が付与された主記憶内容を、管理装置３が管理しないようにしてもよい。この場合、各情報処理装置は、管理装置３が管理しない主記憶内容を識別する主記憶識別子を、別途生成した一覧表に格納しておく。
【０１５７】
また、開示の資源転送システムは、所定の主記憶空間に格納された主記憶内容を、管理装置３が管理しないようにしてもよい。既存する主記憶管理技術に依れば、主記憶は、基本ソフトウェア及び応用ソフトウェアを格納するための読込専用の空間と、データを格納するための読書可能な空間とに分けて管理されている。そこで、各情報処理装置は、読書可能な空間に格納された主記憶内容についての対象外判定変数を「真」に更新する。
【０１５８】
また、開示の資源転送システムは、移転元となる情報処理装置１と移転先となる情報処理装置２との間で資源転送を行うのみならず、例えば、情報処理装置が有するＣＰＵが第１及び第２コアを搭載する場合であって各コアを担当する主記憶の空間が異なるときには、第１コア及び第２コアとの間で資源転送を行うようにしてもよい。この場合、上述した実施の形態１乃至５において、第１コアが担当する仮想装置を移転元となる情報処理装置１が実行する仮想装置とし、第２コアが担当する仮想装置を移転先となる情報処理装置２が実行する仮想装置と置き換えて説明することができる。
【０１５９】
上述した実施の形態に関し、更に以下の付記を開示する。
【０１６０】
（付記１）通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送システムにおいて、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを順次格納する記憶手段
を備え、
移転先となる情報処理装置は、
移転元となる情報処理装置が転送すべき主記憶内容の写しのうち、自らの記憶手段が格納する主記憶内容の写しを利用できるか否かを判定する判定手段と、
該判定手段による判定結果を移転元となる情報処理装置へ送信する手段と
を備え、
移転元となる情報処理装置は、
受信した判定結果に基づいて移転先となる情報処理装置が利用することができない主記憶内容の写しを移転先となる情報処理装置へ転送する手段
を備え、
移転先となる情報処理装置は、更に、
移転元となる情報処理装置から転送された主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における資源の管理及び利用状態を復元する手段
を備えることを特徴とする資源転送システム。
【０１６１】
（付記２）通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送システムにおいて、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納する記憶手段と、
前記記憶手段が格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合する統合手段と
を備え、
移転元となる情報処理装置は、
転送すべき主記憶内容の識別情報を送信する手段
を備え、
移転先となる情報処理装置は、
移転元となる情報処理装置から受信した識別情報と自らの記憶手段が格納する識別情報との関係に基づいて該記憶手段が格納する主記憶内容の写しを利用できるか否かを判定する判定手段と、
該判定手段が利用することができないと判定した主記憶内容の識別情報を移転元となる情報処理装置へ送信する手段と
を備え、
移転元となる情報処理装置は、更に、
移転先となる情報処理装置から受信した識別情報が示す主記憶内容の写しを移転先となる情報処理装置へ転送する手段
を備え、
移転先となる情報処理装置は、更に、
移転元となる情報処理装置により転送された主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における資源の管理及び利用状態を復元する手段
を備えることを特徴とする資源転送システム。
【０１６２】
（付記３）各情報処理装置と通信網を介して接続し、主記憶内容を管理する管理装置を更に備え、
各情報処理装置は、更に、
前記記憶手段が格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信する手段
を備え、
前記管理装置は、
各情報処理装置から受信した主記憶内容の写し及び対応する識別情報を順次格納する管理手段と、
該管理手段が格納する主記憶内容の写しが重複するか否かを判定する手段と、
主記憶内容の写しが重複すると判定した場合、重複する主記憶内容の識別情報を統合する手段と、
統合の結果を各情報処理装置へ送信する手段と
を備え、
各情報処理装置は、更に、
前記管理装置から受信した統合の結果に従って前記記憶手段が格納する主記憶内容の写し及び対応する識別情報を統合する手段
を備えること特徴とする付記２に記載の資源転送システム。
【０１６３】
（付記４）各情報処理装置と通信網を介して接続し、主記憶内容を管理する管理装置を更に備え、
各情報処理装置は、更に
前記記憶手段が格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信する手段
を備え、
前記管理装置は、
各情報処理装置から受信した主記憶内容の写し及び対応する識別情報を順次格納する管理手段と、
該管理手段が格納する主記憶内容の写しが重複するか否かを判定する手段と、
主記憶内容の写しが重複すると判定した場合、重複する主記憶内容の識別情報を相互に対応付ける変換表を作成する手段と、
作成した変換表を各情報処理装置へ送信する送信手段と
を備え、
各情報処理装置は、更に、
前記管理装置から送信された変換表を受信する手段
を備えることを特徴とする付記２に記載の資源転送システム。
【０１６４】
（付記５）前記送信手段は、作成した変換表を移転先となる情報処理装置へ送信し、
移転先となる情報処理装置は、更に、
前記判定手段が前記変換表に基づいて自らの記憶手段が格納する主記憶内容の写しを利用できるか否かを判定するようにしてあることを特徴とする付記４に記載の資源転送システム。
【０１６５】
（付記６）各情報処理装置は、更に、
前記記憶手段が格納する主記憶内容の写しが重複するか否かを前記変換表に基づいて判定する手段
を備え、
前記記憶手段が格納する主記憶内容の写しが重複すると判定した場合、重複する主記憶内容の識別情報を前記統合手段が統合するようにしてあることを特徴とする付記４又は５に記載の資源転送システム。
【０１６６】
（付記７）前記記憶手段は、新たに格納すべき前記主記憶内容の写しには格納してある主記憶内容の識別情報とは異なる識別情報を新たに対応付けるようにしてあることを特徴とする付記２乃至５のいずれかに記載の資源転送システム。
【０１６７】
（付記８）各情報処理装置は、更に、
主記憶内容を更新する都度更新回数を示す頻度を計数する手段と、
計数した頻度が第１の閾値を超えるか否かを判定する手段と、
計数した頻度が第１の閾値を超えると判定した場合、前記記憶手段が格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信しないようにしてあることを特徴とする付記３乃至７のいずれかに記載の資源転送システム。
【０１６８】
（付記９）各情報処理装置は、更に、
優劣を示す優先度を前記記憶手段が格納する主記憶内容の写しに対応付ける手段と、
対応付けた優先度が第２の閾値を超えるか否かを判定する手段と、
対応付けた優先度が第２の閾値を超えると判定した場合、前記記憶手段が格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信しないようにしてあることを特徴とする付記３乃至７のいずれかに記載の資源転送システム。
【０１６９】
（付記１０）前記管理装置は、更に、
移転元となる情報処理装置が転送すべき主記憶内容の写しと同一の主記憶内容の写しを記憶する情報処理装置を移転先となる情報処理装置と決定する手段
を備えることを特徴とする付記３乃至９のいずれかに記載の資源転送システム。
【０１７０】
（付記１１）通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送システムにおいて、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを順次格納する記憶手段と、
該記憶装置が格納する主記憶内容の写しを自らが停止するときに保存し、保存した主記憶内容の写しを停止状態から復帰したときに他の情報処理装置へ転送する転送手段と
を備え、
移転先となる情報処理装置は、
移転元となる情報処理装置が転送すべき主記憶内容の写しのうち、自らの記憶手段が格納する主記憶内容の写しを利用できるか否かを判定する判定手段と、
該判定手段による判定結果を移転元となる情報処理装置へ送信する手段と
を備え、
移転元となる情報処理装置は、
受信した判定結果に基づいて移転先となる情報処理装置が利用することができない主記憶内容の写しを移転先となる情報処理装置へ転送する手段
を備え、
移転先となる情報処理装置は、更に、
移転元となる情報処理装置から転送された主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における停止時の資源の管理及び利用状態を復元する手段
を備えることを特徴とする資源転送システム。
【０１７１】
（付記１２）通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を復元する資源転送システムにおいて、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納する記憶手段と、
前記記憶手段が格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合する手段と
を備え、
移転元となる情報処理装置は、
該記憶手段が格納する主記憶内容の写しを自らが停止するときに保存し、保存した主記憶内容の写しの識別情報を停止状態から復帰したときに他の情報処理装置へ転送する転送手段
を備え、
移転先となる情報処理装置は、
移転元となる情報処理装置から受信した識別情報と自らの記憶手段が格納する識別情報との関係に基づいて該記憶手段が格納する主記憶内容の写しを利用できるか否かを判定する判定手段と、
該判定手段が利用することができないと判定した主記憶内容の識別情報を移転元となる情報処理装置へ送信する手段と
を備え、
移転元となる情報処理装置は、更に、
移転先となる情報処理装置から受信した識別情報が示す主記憶内容の写しを移転先となる情報処理装置へ転送する手段
を備え、
移転先となる情報処理装置は、
移転元となる情報処理装置により転送された主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における停止時の資源の管理及び利用状態を復元する手段
を備えることを特徴とする資源転送システム。
【０１７２】
（付記１３）通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送方法において、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを順次格納し、
移転先となる情報処理装置は、
移転元となる情報処理装置が転送すべき主記憶内容の写しのうち、自らが格納する主記憶内容の写しを利用できるか否かを判定し、
判定結果を移転元となる情報処理装置へ送信し、
移転元となる情報処理装置は、
受信した判定結果に基づいて移転先となる情報処理装置が利用することができない主記憶内容の写しを移転先となる情報処理装置へ転送し、
移転先となる情報処理装置は、更に、
移転元となる情報処理装置から転送された主記憶内容の写しと自らが利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における資源の管理及び利用状態を復元することを特徴とする資源転送方法。
【０１７３】
（付記１４）通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送方法において、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納し、
自らが格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合し、
移転元となる情報処理装置は、
転送すべき主記憶内容の識別情報を送信し、
移転先となる情報処理装置は、
移転元となる情報処理装置から受信した識別情報と自らが格納する識別情報との関係に基づいて自らが格納する主記憶内容の写しを利用できるか否かを判定し、
利用することができないと判定した主記憶内容の識別情報を移転元となる情報処理装置へ送信し、
移転元となる情報処理装置は、更に、
移転先となる情報処理装置から受信した識別情報が示す主記憶内容の写しを移転先となる情報処理装置へ転送し、
移転先となる情報処理装置は、更に、
移転元となる情報処理装置により転送された主記憶内容の写しと自らが利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における資源の管理及び利用状態を復元することを特徴とする資源転送方法。
【０１７４】
（付記１５）各情報処理装置と通信網を介して接続し、主記憶内容を管理する管理装置を更に備え、
各情報処理装置は、更に、
自らが格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信し、
前記管理装置は、
各情報処理装置から受信した主記憶内容の写し及び対応する識別情報を順次格納し、
自らが格納する主記憶内容の写しが重複するか否かを判定し、
主記憶内容の写しが重複すると判定した場合、重複する主記憶内容の識別情報を統合し、
統合の結果を各情報処理装置へ送信し、
各情報処理装置は、更に、
前記管理装置から受信した統合の結果に従って自らが格納する主記憶内容の写し及び対応する識別情報を統合することを特徴とする付記１４に記載の資源転送方法。
【０１７５】
（付記１６）各情報処理装置と通信網を介して接続し、主記憶内容を管理する管理装置を更に備え、
各情報処理装置は、更に
自らが格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信し、
前記管理装置は、
各情報処理装置から受信した主記憶内容の写し及び対応する識別情報を順次格納し、
自らが格納する主記憶内容の写しが重複するか否かを判定し、
主記憶内容の写しが重複すると判定した場合、重複する主記憶内容の識別情報を相互に対応付ける変換表を作成し、
作成した変換表を各情報処理装置へ送信し、
各情報処理装置は、更に、
前記管理装置から送信された変換表を受信することを特徴とする付記１５に記載の資源転送方法。
【０１７６】
（付記１７）前記管理装置は、作成した変換表を移転先となる情報処理装置へ送信し、
移転先となる情報処理装置は、更に、
前記変換表に基づいて自らの記憶手段が格納する主記憶内容の写しを利用できるか否かを判定するようにしてあることを特徴とする付記１６に記載の資源転送方法。
【０１７７】
（付記１８）各情報処理装置は、更に、
自らが格納する主記憶内容の写しが重複するか否かを前記変換表に基づいて判定し、
自らが格納する主記憶内容の写しが重複すると判定した場合、重複する主記憶内容の識別情報を統合するようにしてあることを特徴とする付記１５又は１６に記載の資源転送方法。
【０１７８】
（付記１９）前記記憶手段は、新たに格納すべき前記主記憶内容の写しには格納してある主記憶内容の識別情報とは異なる識別情報を新たに対応付けるようにしてあることを特徴とする付記１４乃至１８のいずれかに記載の資源転送方法。
【０１７９】
（付記２０）各情報処理装置は、更に、
主記憶内容を更新する都度更新回数を示す頻度を計数し、
計数した頻度が第１の閾値を超えるか否かを判定し、
計数した頻度が第１の閾値を超えると判定した場合、自らが格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信しないようことを特徴とする付記１５乃至１９のいずれかに記載の資源転送方法。
【０１８０】
（付記２１）各情報処理装置は、更に、
優劣を示す優先度を自らが格納する主記憶内容の写しに対応付け、
対応付けた優先度が第２の閾値を超えるか否かを判定し、
対応付けた優先度が第２の閾値を超えると判定した場合、自らが格納する主記憶内容の写し及び対応する識別情報を前記管理装置へ送信しないようことを特徴とする付記１５乃至１９のいずれかに記載の資源転送方法。
【０１８１】
（付記２２）前記管理装置は、更に、
移転元となる情報処理装置が転送すべき主記憶内容の写しと同一の主記憶内容の写しを記憶する情報処理装置を移転先となる情報処理装置と決定することを特徴とする付記１５乃至２１のいずれかに記載の資源転送方法。
【０１８２】
（付記２３）通信網を介して接続された複数の情報処理装置を備え、該情報処理装置のいずれかが移転元及び移転先となって資源を転送し、移転元における資源の管理及び利用状態を移転先で復元する資源転送方法において、
各情報処理装置は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを順次格納し、
自らが格納する主記憶内容の写しを自らが停止するときに保存し、保存した主記憶内容の写しを停止状態から復帰したときに他の情報処理装置へ転送し、
移転先となる情報処理装置は、
移転元となる情報処理装置が転送すべき主記憶内容の写しのうち、自らが格納する主記憶内容の写しを利用できるか否かを判定し、
判定結果を移転元となる情報処理装置へ送信し、
移転元となる情報処理装置は、
受信した判定結果に基づいて移転先となる情報処理装置が利用することができない主記憶内容の写しを移転先となる情報処理装置へ転送し、
移転先となる情報処理装置は、更に、
移転元となる情報処理装置から転送された主記憶内容の写しと自らが利用できると判定した主記憶内容の写しとを用いて移転元となる情報処理装置における停止時の資源の管理及び利用状態を復元することを特徴とする資源転送方法。
【０１８３】
（付記２４）通信網を介して他の情報処理装置と複数接続し、移転先となる他の情報処理装置へ資源を転送する転送部と、移転元となる他の情報管理装置から転送された資源の利用状態を復元させる復元部とを有する情報処理装置であって、
前記転送部は、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納する記憶部と、
前記記憶部が格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合する統合部と、
転送すべき主記憶内容の識別情報を移転先となる他の情報処理装置の復元部へ送信する識別情報送信部と、
転送先となる他の情報処理装置の復元部から送信された識別情報を受信し、受信した識別情報が示す主記憶内容の写しを転送先となる他の情報処理装置の復元部へ転送する主記憶内容転送部と
を備え、
前記復元部は、
移転元となる他の情報処理装置の識別情報送信部から識別情報を受信し、受信した識別情報と自らが有する記憶部が格納する識別情報との関係に基づいて、前記記憶部が格納する主記憶内容の写しを利用できるか否かを判定する判定部と、
該判定部が利用することができないと判定した主記憶内容の識別情報を移転元となる他の情報処理装置の主記憶内容転送部へ送信する転送要求送信部と、
移転元となる他の情報処理装置の主記憶内容転送部から主記憶内容の写しを受信し、受信した主記憶内容の写しと前記判定手段が利用できると判定した主記憶内容の写しとを用いて移転元となる他の情報処理装置の資源の管理及び利用状態を復元する復元実行部と
を備える情報処理装置。
【０１８４】
（付記２５）コンピュータに、通信網を介して外部装置と複数接続し、移転先となる外部装置へ資源を転送し、移転元となる外部装置から転送された資源の利用状態を復元させるコンピュータプログラムにおいて、
自らが有する主記憶に記憶する都度主記憶内容を所定単位毎に論理的に分割し、分割した主記憶内容の写しを該主記憶内容を識別するための識別情報に対応付けて順次格納させるステップと、
格納する主記憶内容の写しが重複する場合、重複する主記憶内容の識別情報を統合させるステップと、
転送すべき主記憶内容の識別情報を移転先となる外部装置へ送信させるステップと、
転送先となる外部装置から送信された識別情報を受信し、受信した識別情報が示す主記憶内容の写しを転送先となる外部装置へ転送させるステップと、
移転元となる外部装置から識別情報を受信し、受信した識別情報と自らが格納する識別情報との関係に基づいて、自らが格納する主記憶内容の写しを利用できるか否かを判定させるステップと、
利用することができないと判定した主記憶内容の識別情報を移転元となる外部装置へ送信させるステップと、
移転元となる外部装置から主記憶内容の写しを受信し、受信した主記憶内容の写しと利用できると判定した主記憶内容の写しとを用いて移転元となる外部装置の資源の管理及び利用状態を復元させるステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【図面の簡単な説明】
【０１８５】
【図１】本発明の一実施例におけるシステムの全体構成を示すブロック図である。
【図２】主記憶情報テーブルのフォーマット例を示す概念図である。
【図３】主記憶内容の写しのデータ構造を示す概念図である。
【図４】情報処理装置管理データベースに格納されている情報処理装置管理テーブルのフォーマット例を示す概念図である。
【図５】仮想装置管理データベースに格納されている仮想装置管理テーブルのフォーマット例を示す概念図である。
【図６】主記憶管理データベースに格納されている識別子管理テーブルのフォーマット例を示す概念図である。
【図７】本発明の一実施例における統合処理の手順を示すフローチャートである。
【図８】本発明の一実施例における統合判定処理の手順を示すフローチャートである。
【図９】本発明の一実施例における移転先決定処理の手順を示すフローチャートである。
【図１０】本発明の一実施例における資源転送処理の手順を示すフローチャートである。
【図１１】本発明の一実施例における主記憶内容に関する情報の統合及び転送を説明する図である。
【図１２】本発の一実施例におけるシステムの全体構成を示すブロック図である。
【図１３】更新頻度データベースに格納されている更新頻度テーブルのフォーマット例を示す概念図である。
【図１４】本発明の一実施例における管理対象外決定処理の手順を示すフローチャートである。
【図１５】本発明の一実施例におけるシステムの全体構成を示すブロック図である。
【図１６】優先度情報データベースに格納されている優先度情報テーブルのフォーマット例を示す概念図である。
【図１７】本発明の一実施例における管理対象外決定処理の手順を示すフローチャートである。
【図１８】本発明の一実施例におけるシステムの全体構成を示すブロック図である。
【図１９】変換表データベースに格納されている変換表のフォーマット例を示す概念図である。
【図２０】本発明の一実施例における統合処理の手順を示すフローチャートである。
【図２１】本発明の一実施例における変換表作成処理の手順を示すフローチャートである。
【図２２】本発明の一実施例における移転先選定処理の手順を示すフローチャートである。
【図２３】本発明の一実施例における資源転送処理の手順を示すフローチャートである。
【図２４】従来の資源転送を説明するための図である。
【符号の説明】
【０１８６】
１  移転元となる情報処理装置
１０  ＣＰＵ
１１  主記憶
１２  補助記憶装置
１２０  主記憶情報データベース
１２１  主記憶内容写しデータベース
１２２  更新頻度データベース
１２３  優先度情報データベース
１３  通信インタフェース
１４  入力インタフェース
１５  出力インタフェース
１６  通信線
１７  負荷測定部
２  移転先となる情報処理装置
２０  ＣＰＵ
２１  主記憶
２２  補助記憶装置
２２０  主記憶情報データベース
２２１  主記憶内容写しデータベース
２２２  更新頻度データベース
２２３  優先度情報データベース
２３  通信インタフェース
２４  入力インタフェース
２５  出力インタフェース
２６  通信線
２７  負荷測定部
３  管理装置
３０  ＣＰＵ
３１  主記憶
３２  補助記憶装置
３２０  情報処理装置管理データベース
３２１  仮想装置管理データベース
３２２  主記憶管理データベース
３２３  変換表データベース
３３  通信インタフェース
３４  入力インタフェース
３５  出力インタフェース
３６  通信線
３７  負荷測定部
【図１】
2010026814.tif 000003
【図２】
2010026814.tif 000004
【図３】
2010026814.tif 000005
【図４】
2010026814.tif 000006
【図５】
2010026814.tif 000007
【図６】
2010026814.tif 000008
【図７】
2010026814.tif 000009
【図８】
2010026814.tif 000010
【図９】
2010026814.tif 000011
【図１０】
2010026814.tif 000012
【図１１】
2010026814.tif 000013
【図１２】
2010026814.tif 000014
【図１３】
2010026814.tif 000015
【図１４】
2010026814.tif 000016
【図１５】
2010026814.tif 000017
【図１６】
2010026814.tif 000018
【図１７】
2010026814.tif 000019
【図１８】
2010026814.tif 000020
【図１９】
2010026814.tif 000021
【図２０】
2010026814.tif 000022
【図２１】
2010026814.tif 000023
【図２２】
2010026814.tif 000024
【図２３】
2010026814.tif 000025
【図２４】
2010026814.tif 000026