(57)【要約】【課題】アプリケーションおよび移動時の進行状態の、外部メディアによる転送を必要とせず、アプリケーションに進行状態の保存や復元の仕組みを組み込む必要がなく、ユーザが機器を変えて同じアプリケーションを継続して行うことができるようにする。【解決手段】コンピュータ機器１０では、ゲストＯＳ４ａおよびアプリケーション５ａを含む論理パーティション２ａと、ゲストＯＳ４ａ、転送マネージャ８ａおよびデバイスドライバ６ａを含む入出力システム（論理パーティション）３ａとが生成され、コンピュータ機器２０では、ゲストＯＳ４ｂ、転送マネージャ８ｂおよびデバイスドライバ６ｂを含む入出力システム（論理パーティション）３ｂが生成されている状態で、ユーザはコンピュータ機器１０に対して転送の指示をする。これによって、コンピュータ機器１０上の論理パーティション２ａが論理パーティション２ｂとしてコンピュータ機器２０上に転送される。【選択図】図４
2005293417.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に接続されるコンピュータ機器であって、
プログラムを実行するプロセッサ手段と、
プログラムが展開されるメモリ手段と、
このメモリ手段のメモリエリア上に論理パーティションを生成し、その論理パーティション上にプログラムを展開する主管理手段と、
ユーザの指示に基づいて、前記論理パーティション上に展開されたプログラムを、前記論理パーティションごと、前記ネットワーク上に接続された他のコンピュータ機器に転送するとともに、前記ネットワーク上に接続された別のコンピュータ機器からの要求に基づいて、前記主管理手段に、前記メモリ手段のメモリエリア上に論理パーティションを生成させ、その論理パーティション上に前記別のコンピュータ機器から転送されたプログラムを展開させる副管理手段と、
を備えることを特徴とするコンピュータ機器。
【請求項２】
請求項１のコンピュータ機器において、
前記副管理手段は、前記他のコンピュータ機器に転送するプログラムによる当該コンピュータ機器での処理のプログラム転送時における進行状態を示す情報を前記他のコンピュータ機器に転送することを特徴とするコンピュータ機器。
【請求項３】
請求項１のコンピュータ機器において、
前記副管理手段は、当該コンピュータ機器上に展開されたプログラムからデバイスアクセス要求があったとき、要求先デバイスがヒューマンインターフェースのためのデバイスである場合、または要求元プログラムが前記別のコンピュータ機器から転送されたプログラムではない場合には、そのデバイスアクセス要求を当該コンピュータ機器内で実行し、要求先デバイスがヒューマンインターフェースのためのデバイスではなく、かつ要求元プログラムが前記別のコンピュータ機器から転送されたプログラムである場合には、そのデバイスアクセス要求を前記別のコンピュータ機器に転送することを特徴とするコンピュータ機器。
【請求項４】
請求項１，２または３のコンピュータ機器が複数、同一ネットワーク上に接続されたコンピュータネットワークシステム。
【請求項５】
同一ネットワーク上に接続された第１コンピュータ機器と第２コンピュータ機器との間でプログラムを転送する方法であって、
前記第１コンピュータ機器が前記第２コンピュータ機器に論理パーティションの生成を要求する第１工程と、
その要求を受けて、前記第２コンピュータ機器が自機器上に論理パーティションを生成する第２工程と、
その後、前記第２コンピュータ機器が前記第１コンピュータ機器にプログラムの転送を許可または要求する第３工程と、
その許可または要求を受けて、前記第１コンピュータ機器が前記第２コンピュータ機器にプログラムを転送する第４工程と、
前記第２コンピュータ機器が、その転送されたプログラムを前記第２工程で生成した論理パーティション上に展開する第５工程と、
を備えることを特徴とするプログラム転送方法。
【請求項６】
請求項５のプログラム転送方法において、
前記第１コンピュータ機器は、前記第２コンピュータ機器に転送するプログラムによる前記第１コンピュータ機器での処理のプログラム転送時における進行状態を示す情報を前記第２コンピュータ機器に転送することを特徴とするプログラム転送方法。
【請求項７】
同一ネットワーク上に接続された第１コンピュータ機器と第２コンピュータ機器との間でプログラムを転送するためにコンピュータを、
前記第１コンピュータ機器が前記第２コンピュータ機器に論理パーティションの生成を要求する第１手段、
その要求を受けて、前記第２コンピュータ機器が自機器上に論理パーティションを生成する第２手段、
その後、前記第２コンピュータ機器が前記第１コンピュータ機器にプログラムの転送を許可または要求する第３手段、
その許可または要求を受けて、前記第１コンピュータ機器が前記第２コンピュータ機器にプログラムを転送する第４手段、および、
前記第２コンピュータ機器が、その転送されたプログラムを前記第２手段によって生成された論理パーティション上に展開する第５手段、
として機能させるためのプログラム転送用プログラム。
【請求項８】
請求項７のプログラム転送用プログラムにおいて、
前記コンピュータを、さらに前記第１コンピュータ機器が前記第１コンピュータ機器から前記第２コンピュータ機器に転送するプログラムによる前記第１コンピュータ機器での処理のプログラム転送時における進行状態を示す情報を前記第２コンピュータ機器に転送する手段として機能させるためのプログラム転送用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上に接続されるコンピュータ機器、複数のコンピュータ機器が同一ネットワーク上に接続されたコンピュータネットワークシステム、同一ネットワーク上に接続された複数のコンピュータ機器の間でプログラムを転送する方法、およびプログラム転送用のプログラムに関する。なお、この明細書では、コンピュータプログラムを単にプログラムと称し、アプリケーションプログラムを単にアプリケーションと称する。
【背景技術】
【０００２】
ＡＶ（Ａｕｄｉｏ  ａｎｄ  Ｖｉｓｕａｌ）機器やＣＥ（ｃｏｎｓｕｍｅｒ）機器などとして、コンピュータを搭載し、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍｓ）および各種のアプリケーションによって、映像や音楽の記録や再生、コンピュータゲームの実行など、各種の機能を実現できる機器が、普及しており、このようなコンピュータ機器を複数、同一ネットワーク上に接続して、ホームネットワークなどのコンピュータネットワークシステムを構成することも、考えられている。
【０００３】
また、いわゆるグリッドコンピューティングとして、ネットワーク上に接続された複数のコンピュータ機器を協調動作させて、高い演算性能を実現することが考えられており、例えば、特許文献１（特開２００２−３４２１６５号公報）、特許文献２（特開２００２−３５１８５０号公報）、特許文献３（特開２００２−３５８２８９号公報）、特許文献４（特開２００２−３６６５３３号公報）および特許文献５（特開２００２−３６６５３４号公報）には、均一なモジュラー構造、共通のコンピューティングモジュール、および均一なソフトウェアセルを用いることによって、高速処理用コンピュータアーキテクチャを実現することが示されている。
【０００４】
上に挙げた先行技術文献は、以下の通りである。
【特許文献１】特開２００２−３４２１６５号公報
【特許文献２】特開２００２−３５１８５０号公報
【特許文献３】特開２００２−３５８２８９号公報
【特許文献４】特開２００２−３６６５３３号公報
【特許文献５】特開２００２−３６６５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように複数の同種のコンピュータ機器が同一ネットワーク上に接続されたコンピュータネットワークシステムで、あるコンピュータ機器によって、あるアプリケーションを行っていたユーザが、別のコンピュータ機器によって、同じアプリケーションを行う場合が考えられる。例えば、居間でコンピュータゲームを行い、または映像を再生していたユーザが、居場所を移動して、自室や書斎などでコンピュータゲームを行い、または映像を再生する場合である。
【０００６】
しかし、この場合、例えば、ゲームアプリケーションがＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの外部メディアに格納されている場合には、ユーザは、そのゲームアプリケーションが格納された外部メディアを、移動元の機器から移動先の機器に持ち運ぶ必要がある。
【０００７】
また、例えば、映像データが移動元の機器に内蔵されたハードディスクに記録されている場合には、ユーザは、その映像データをＤＶＤなどの外部メディアに記録して、移動先の機器に転送しなければならない。
【０００８】
さらに、移動元の機器で行っていたアプリケーションを移動先の機器で継続して行う場合には、ユーザは、移動元の機器側のアプリケーションによって、現在の状態、すなわちゲームの実行や映像の再生を中断する時点のゲーム進行状態や映像進行状態を、外部メディアに保存し、移動先の機器側のアプリケーションによって、外部メディアから、保存された進行状態を、移動先の機器に読み込む必要があり、煩雑な作業を強いられる。
【０００９】
しかも、アプリケーション開発者にとっても、すべてのアプリケーションに、上記のような進行状態の保存や復元の仕組みを組み込まなければならず、アプリケーション開発者の負担が大きい。
【００１０】
そこで、この発明は、ユーザにとっては、アプリケーション、映像データや音楽データなどのデータ、および移動時の進行状態の、外部メディアによる転送を必要とせず、アプリケーション開発者にとっては、アプリケーションに進行状態の保存や復元の仕組みを組み込む必要がなく、ユーザが機器を変えて同じアプリケーションを継続して行うことができるようにしたものである。
【課題を解決するための手段】
【００１１】
この発明のコンピュータ機器は、
ネットワーク上に接続されるコンピュータ機器であって、
プログラムを実行するプロセッサ手段と、
プログラムが展開されるメモリ手段と、
このメモリ手段のメモリエリア上に論理パーティションを生成し、その論理パーティション上にプログラムを展開する主管理手段と、
ユーザの指示に基づいて、前記論理パーティション上に展開されたプログラムを、前記論理パーティションごと、前記ネットワーク上に接続された他のコンピュータ機器に転送するとともに、前記ネットワーク上に接続された別のコンピュータ機器からの要求に基づいて、前記主管理手段に、前記メモリ手段のメモリエリア上に論理パーティションを生成させ、その論理パーティション上に前記別のコンピュータ機器から転送されたプログラムを展開させる副管理手段と、
を備えることを特徴とする。
【００１２】
上記の構成の、この発明のコンピュータ機器が複数、同一ネットワーク上に接続されたコンピュータネットワークシステムでは、ユーザは、あるコンピュータ機器でゲームや映像再生などを行った後、居場所を移動して、他のコンピュータ機器でゲームや映像再生などを行う場合、移動元のコンピュータ機器に対して、実行中のアプリケーションを移動先のコンピュータ機器に転送することを指示するだけでよい。これによって、移動元のコンピュータ機器から移動先のコンピュータ機器にアプリケーションが自動的に転送され、ユーザは、移動先のコンピュータ機器でゲームや映像再生などを行うことができる。
【００１３】
さらに、移動元のコンピュータ機器から移動先のコンピュータ機器に、その時の進行状態も転送されるように構成する場合には、ユーザは、外部メディアによって進行状態を転送しなくても、移動先のコンピュータ機器で継続してゲームや映像再生などを行うことができ、アプリケーション開発者は、アプリケーションに進行状態の保存や復元の仕組みを組み込む必要がない。
【発明の効果】
【００１４】
以上のように、この発明によれば、ユーザにとっては、アプリケーション、映像データや音楽データなどのデータ、および移動時の進行状態の、外部メディアによる転送を必要とせず、アプリケーション開発者にとっては、アプリケーションに進行状態の保存や復元の仕組みを組み込む必要がなく、ユーザが機器を変えて同じアプリケーションを継続して行うことができる。
【発明を実施するための最良の形態】
【００１５】
〔１．コンピュータ機器およびコンピュータネットワークシステムの構成：図１〜図３〕
（１−１．ハードウェア構成：図１）
図１は、この発明のコンピュータ機器およびコンピュータネットワークシステムの一例のハードウェア構成を示し、２台のコンピュータ機器１０および２０が同一のネットワーク５０上に接続されて、コンピュータネットワークシステムを構成する場合である。
【００１６】
コンピュータ機器１０および２０は、それぞれ、プロセッサ部１１および２１を備え、これにメインメモリ１２および２２が接続され、バス１３および２３に入出力デバイス群１４および２４が接続されたものである。
【００１７】
コンピュータ機器１０および２０のプロセッサ部１１および２１は、それぞれ、１個のプロセッサ（ＣＰＵ）によって構成することもできるが、メインプロセッサ、１個またはメインプロセッサの制御によって互いに独立に動作する複数のサブプロセッサ、およびＤＭＡ（ダイレクトメモリアクセス）コントローラを有し、そのメインプロセッサおよびサブプロセッサが、それぞれローカルストレージを有するものとして構成することもできる。
【００１８】
コンピュータ機器１０および２０の入出力デバイス群１４および２４としては、この例では、それぞれ、ネットワーク接続部３１、ハードディスクドライブ３２、ＤＶＤドライブ３３、メモリカードドライブ３４、映像表示デバイス３５、音声出力デバイス３６およびリモコン受光部３７を備える。
【００１９】
ネットワーク接続部３１は、コンピュータ機器１０および２０を、ネットワーク５０を介して互いに接続し、さらにネットワーク５０とは別の外部ネットワークに接続するものであり、ハードディスクドライブ３２は、内蔵のハードディスクからプログラムやデータを読み出し、ハードディスクにプログラムやデータを書き込むものであり、ＤＶＤドライブ３３は、当該のコンピュータ機器にロードされたＤＶＤからプログラムやデータを読み出し、ＤＶＤにプログラムやデータを書き込むものであり、メモリカードドライブ３４は、当該のコンピュータ機器に装着されたＭｅｍｏｒｙＳｔｉｃｋ（登録商標）などのメモリカードからプログラムやデータを読み出し、メモリカードにプログラムやデータを書き込むものである。
【００２０】
映像表示デバイス３５は、映像データ（画像データ）を処理して、液晶ディスプレイなどのディスプレイ上に映像（画像）を表示するものであり、音声出力デバイス３６は、音楽データなどの音声データを処理して、スピーカやヘッドフォンなどから音声を出力するものであり、リモコン受光部３７は、コンピュータ機器１０または２０に付随したリモコン送信器１９または２９からのリモコン赤外線信号を受信するものである。
【００２１】
なお、この例は、リモコン送信器１９および２９がゲームコントローラを兼ねる場合であるが、別にゲームコントローラをコンピュータ機器１０および２０に接続するように構成してもよい。
【００２２】
以上の入出力デバイスは、ヒューマンインターフェースのためのものと、そうでないものとに分けられる。ヒューマンインターフェース入出力デバイスは、人（ユーザ）が操作入力し、または映像や音声などを感知するもので、上記の例では、映像表示デバイス３５、音声出力デバイス３６およびリモコン受光部３７が、これに該当する。非ヒューマンインターフェース入出力デバイスは、上記の例では、ネットワーク接続部３１、ハードディスクドライブ３２、ＤＶＤドライブ３３およびメモリカードドライブ３４である。
【００２３】
（１−２．基本的なソフトウェア構成：図２）
コンピュータ機器１０および２０は、それぞれ、図２に示すようなソフトウェアアーキテクチャとする。
【００２４】
すなわち、コンピュータ機器１０，２０は、それぞれ管理ＯＳ１を備え、この管理ＯＳ１によって、コンピュータ機器１０，２０上には、それぞれ複数の論理パーティション２−１，…，２−Ｎ，３が生成され、コンピュータ機器１０，２０の図１に示したプロセッサ部１１，２１やメインメモリ１２，２２などのコンピュータ資源が、各論理パーティションに時分割で割り振られる。
【００２５】
Ｎは、論理パーティション３を除く論理パーティションの数で、その時々のコンピュータ機器１０，２０の動作状況に応じて決められる。Ｎ＝１のときには、論理パーティション２−１と論理パーティション３との２つの論理パーティションが生成されることになる。管理ＯＳ１は、このように論理パーティションの生成、削除、切り替えを行い、後述のように論理パーティション間の通信を制御する。
【００２６】
各論理パーティション上では、Ｌｉｎｕｘなどの汎用ＯＳが、ゲストＯＳ４として動作する。ゲストＯＳ４は、当該の論理パーティション上に割り当てられたコンピュータ資源を時分割で専有し、他の論理パーティションの存在を意識することなく動作することができる。また、同じ管理ＯＳ１上の複数の論理パーティション上で、ゲストＯＳ４として異なるＯＳを動作させることができる。
【００２７】
論理パーティション３を除く論理パーティション２−１，…，２−Ｎ上では、それぞれのゲストＯＳ４によって、アプリケーション５が展開され、動作する。アプリケーション５は、ある論理パーティション上のそれはコンピュータゲームのアプリケーションであり、別の論理パーティション上のそれは映像再生のためのアプリケーションであり、というように、各論理パーティションで異なるアプリケーションである。
【００２８】
一方、論理パーティション３は、入出力（Ｉ／Ｏ）処理を専任する論理パーティションとし、入出力デバイス群１４，２４中のそれぞれの入出力デバイスをドライブするデバイスドライバ６を備えるものとする。以下では、この論理パーティション３を入出力システム３と称する。
【００２９】
ハードディスクドライブ３２や映像表示デバイス３５などの入出力デバイスは、この入出力システム３が管理し、他の論理パーティション２−１，…，２−Ｎ上のアプリケーション５は、入出力デバイスにアクセスする必要がある場合、この入出力システム３に処理を依頼し、入出力システム３上のデバイスドライバ６によって、データファイルの読み出し書き込みや映像の表示などを行う。
【００３０】
これによって、デバイスアクセスの競合、すなわち論理パーティション２−１，…，２−Ｎ上の複数（Ｎが複数の場合）のアプリケーションから同一の入出力デバイスへのアクセス要求が調停される。
【００３１】
このように、論理パーティション２−１，…，２−Ｎ上にはデバイスドライバが存在せず、アプリケーション５は入出力システム３上のデバイスドライバ６によって入出力デバイスを制御するので、論理パーティション２−１，…，２−Ｎ上にはバーチャルデバイスドライバ７が存在することになる。
【００３２】
（１−３．論理パーティションの転送のためのソフトウェア構成：図３）
さらに、この発明では、図２のようなソフトウェアアーキテクチャのもとで、図３に示すように、入出力システム３上に、入出力デバイスへのアクセスを制御する管理アプリケーションとして、転送マネージャ８を設ける。
【００３３】
これによって、後述のように、アプリケーション５側で特別な対応をすることなく、例えば、コンピュータ機器１０で行っていたコンピュータゲームや映像再生などのアプリケーションを、ネットワーク５０を介してコンピュータ機器１０と接続されている他のコンピュータ機器２０で継続して行うことができる。
【００３４】
転送マネージャ８は、詳細を後述するが、転送元のコンピュータ機器上のそれと転送先のコンピュータ機器上のそれとによって、転送元のコンピュータ機器で実行していたアプリケーション５を、ゲストＯＳ４を含む当該の論理パーティションごと、転送先のコンピュータ機器に転送するもので、転送元のコンピュータ機器上の転送マネージャ８は、論理パーティションの一時停止（休止）、一時停止後の論理パーティションの転送、転送後の管理ＯＳ１による論理パーティションの削除などを行い、転送先のコンピュータ機器上の転送マネージャ８は、管理ＯＳ１による論理パーティションの生成などを行う。
【００３５】
転送マネージャ８は、そのほか、後述のようなルーティング処理、デバイスアクセス要求受付処理、およびデバイス応答受付処理を行う。
【００３６】
〔２．論理パーティションの転送：図４〜図８〕
（２−１．システム構成：図４および図５）
図４に、コンピュータ機器１０からコンピュータ機器２０に論理パーティションを転送する場合のシステム構成およびシステム状態を示す。
【００３７】
コンピュータ機器１０のソフトウェアアーキテクチャとしては、管理ＯＳ１ａ上に、ゲストＯＳ４ａ、アプリケーション５ａおよびバーチャルデバイスドライバ７ａを含む論理パーティション２ａと、ゲストＯＳ４ａ、転送マネージャ８ａおよびデバイスドライバ６ａを含む入出力システム３ａとが生成されており、後述のように論理パーティション２ａがネットワーク５０を通じてコンピュータ機器２０に転送される。
【００３８】
また、コンピュータ機器１０は、非ヒューマンインターフェース入出力デバイス１５として、ネットワーク接続部３１以外に、上記のハードディスクドライブ３２、ＤＶＤドライブ３３およびメモリカードドライブ３４を備え、ヒューマンインターフェース入出力デバイス１６として、上記の映像表示デバイス３５、音声出力デバイス３６およびリモコン受光部３７を備える。
【００３９】
コンピュータ機器２０のソフトウェアアーキテクチャとしては、コンピュータ機器１０からの論理パーティション２ａの転送前は、管理ＯＳ１ｂ上に、ゲストＯＳ４ｂ、転送マネージャ８ｂおよびデバイスドライバ６ｂを含む入出力システム３ｂが生成されているが、コンピュータ機器１０から論理パーティション２ａが転送されることによって、管理ＯＳ１ｂ上に、ゲストＯＳ４ｂ、アプリケーション５ｂおよびバーチャルデバイスドライバ７ｂを含む論理パーティション２ｂが生成される。
【００４０】
また、コンピュータ機器２０も、非ヒューマンインターフェース入出力デバイス２５として、ネットワーク接続部３１以外に、上記のハードディスクドライブ３２、ＤＶＤドライブ３３およびメモリカードドライブ３４を備え、ヒューマンインターフェース入出力デバイス２６として、上記の映像表示デバイス３５、音声出力デバイス３６およびリモコン受光部３７を備える。
【００４１】
コンピュータ機器１０上の論理パーティション２ａは、転送前には活動状態にあり、ユーザは、コンピュータ機器１０で、例えば、コンピュータゲームを行い、またはコンピュータ機器１０に内蔵されたハードディスクに記録されている映像を再生しているものとする。ゲームの画像、または再生された映像は、コンピュータ機器１０の映像表示デバイス３５の表示画面に表示され、ゲームの音声、または映像に伴って再生された音声は、コンピュータ機器１０の音声出力デバイス３６から出力される。
【００４２】
この状態で、ユーザが、コンピュータ機器１０が設置された場所からコンピュータ機器２０が設置された場所に移動して、コンピュータ機器２０で継続して、コンピュータゲームを行い、または映像を再生しようとする場合、ユーザは、コンピュータ機器１０に対して転送の指示をする。
【００４３】
具体的に、ユーザは、図１に示したリモコン送信器１９の転送ボタンを押すなどによって、転送の指示をする。これによって、コンピュータ機器１０の映像表示デバイス３５の表示画面には、図５（Ａ）に示すような転送指示用画面７１が表示される。
【００４４】
ただし、これは、ネットワーク５０上にコンピュータ機器１０および２０のほかに２台のコンピュータ機器が接続されている場合で、“Ｃ１”はコンピュータ機器１０を示し、“Ｃ２”はコンピュータ機器２０を示し、“Ｃ３”,“Ｃ４”は他の２台のコンピュータ機器を示す。ネットワーク５０上にコンピュータ機器１０および２０のみが接続されている場合には、例えば「Ｃ１からＣ２に転送しますか？  Ｙｅｓ，Ｎｏ」というように、ユーザに転送を確認させる画面が表示される。
【００４５】
図５（Ａ）の転送指示用画面７１では、ユーザは転送先の機器を指定する。上記の場合は、コンピュータ機器１０からコンピュータ機器２０に転送するので、“Ｃ２”を指定する。
【００４６】
これによって、転送元のコンピュータ機器１０上の転送マネージャ８ａ、および転送先のコンピュータ機器２０上の転送マネージャ８ｂは、以下のような転送処理を実行し、論理パーティション２ａがコンピュータ機器１０上からコンピュータ機器２０上に転送される。
【００４７】
（２−２．転送処理：図６〜図８）
図６および図７に、コンピュータ機器１０上の転送マネージャ８ａおよびコンピュータ機器２０上の転送マネージャ８ｂが行う転送処理の一例を示す。
【００４８】
上記のようにユーザがコンピュータ機器１０に対して転送の指示をすると、コンピュータ機器１０上の転送マネージャ８ａは、まずステップ１０１で、活動状態にある論理パーティション２ａを一時停止（休止）状態にし、次にステップ１０２で、コンピュータ機器２０上の転送マネージャ８ｂに、論理パーティション２ａの使用メモリサイズを示して、論理パーティションの生成を要求する。
【００４９】
この要求を受けて、コンピュータ機器２０上の転送マネージャ８ｂは、ステップ２０１で、自機器上の管理ＯＳ１ｂに論理パーティションの生成を要求し、管理ＯＳ１ｂは、コンピュータ機器２０上に論理パーティション２ａと同じメモリサイズの論理パーティション２ｂを生成する。
【００５０】
ただし、コンピュータ機器２０上で他のアプリケーション用に論理パーティションが生成されているために、または他のアプリケーションの実行にコンピュータ機器２０のプロセッサ部２１の処理能力が割かれるために、コンピュータ機器２０上に論理パーティション２ａと同じメモリサイズの論理パーティション２ｂを生成できない場合もある。この場合は、管理ＯＳ１ｂおよび転送マネージャ８ｂは後述のような処理を行うが、以下では、コンピュータ機器２０上に論理パーティション２ａと同じメモリサイズの論理パーティション２ｂを生成できる場合を示す。
【００５１】
ステップ２０１では、このようにコンピュータ機器２０上に論理パーティション２ａと同じメモリサイズの論理パーティション２ｂが生成されるが、この段階では、その論理パーティション２ｂ上にゲストＯＳ４ｂおよびアプリケーション５ｂは展開されていない。
【００５２】
コンピュータ機器２０上の転送マネージャ８ｂは、次にステップ２０２に進んで、自身内に論理パーティションルーティングテーブルを作成する。
【００５３】
論理パーティションルーティングテーブルは、後述するアプリケーションからの入出力デバイスへのアクセス要求に対して適切なルーティング処理を行うためのテーブルで、図８に示すように、論理パーティション転送元機器ＩＤ、転送元論理パーティションＩＤ、論理パーティション転送先機器ＩＤ、および転送先論理パーティションＩＤを有するものとする。
【００５４】
機器ＩＤは、ネットワーク５０上のコンピュータ機器を一意に識別できる識別子で、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスなどを用いる。論理パーティションＩＤは、論理パーティションを一意に識別できる識別子である。
【００５５】
上記の例では、論理パーティション転送元機器ＩＤは、コンピュータ機器１０の機器ＩＤ（“ＩＰ１”とする）であり、転送元論理パーティションＩＤは、論理パーティション２ａの論理パーティションＩＤ（“Ａ”とする）であり、論理パーティション転送先機器ＩＤは、コンピュータ機器２０の機器ＩＤ（“ＩＰ２”とする）であり、転送先論理パーティションＩＤは、論理パーティション２ｂの論理パーティションＩＤ（“Ｂ”とする）である。
【００５６】
コンピュータ機器２０上の転送マネージャ８ｂは、次にステップ２０３に進んで、コンピュータ機器１０上の転送マネージャ８ａに、論理パーティションの転送の許可および上記の論理パーティションルーティングテーブルを送信する。
【００５７】
コンピュータ機器１０上の転送マネージャ８ａは、ステップ１０３で、その許可を受けて、自身内にコンピュータ機器２０から送信された論理パーティションルーティングテーブルを保存し、さらにステップ１０４に進んで、コンピュータ機器２０上の転送マネージャ８ｂに、論理パーティション２ａ内のゲストＯＳ４ａおよびアプリケーション５ａ、および進行状態指示情報を転送する。
【００５８】
進行状態指示情報は、プログラムカウンタの情報など、コンピュータ機器１０での処理の論理パーティション転送時における進行状態を示す情報であり、例えば、アプリケーション５ａがコンピュータゲームのアプリケーションである場合には、コンピュータ機器１０で当該のアプリケーションのどこまで処理されたかを、すなわちコンピュータ機器２０では当該のアプリケーションのどこから処理が開始されるべきかを示すものであり、アプリケーション５ａが映像再生のためのアプリケーションである場合には、コンピュータ機器１０で映画やドラマなどの映像タイトル（映像ファイル）のどこまで再生されたかを、すなわちコンピュータ機器２０では当該の映像タイトルのどこから再生が開始されるべきかを示すものである。
【００５９】
コンピュータ機器２０上の転送マネージャ８ｂは、ステップ２０４で、その転送されたゲストＯＳ４ａおよびアプリケーション５ａを、ステップ２０１で生成された論理パーティション２ｂ上に、図４に示すようにゲストＯＳ４ｂおよびアプリケーション５ｂとして展開する。
【００６０】
これによって、コンピュータ機器１０上の論理パーティション２ａは、ゲストＯＳ４ａおよびアプリケーション５ａを含む全体が、論理パーティション２ｂとしてコンピュータ機器２０上に転送されたことになる。
【００６１】
ステップ１０１からステップ１０４までの処理中、コンピュータ機器１０の映像表示デバイス３５の表示画面には、図５（Ｂ）に示すような転送中呈示画面７３が表示され、例えば、アイコン７４がコンピュータ機器１０を示すアイコン７５からコンピュータ機器２０を示すアイコン７６にかけて移動することによって、論理パーティション（プログラム）の転送中であることがユーザに呈示される。
【００６２】
コンピュータ機器１０上の転送マネージャ８ａは、ステップ１０４での処理後、ステップ１０５に進んで、自機器上の管理ＯＳ１ａに論理パーティション２ａの削除を要求し、管理ＯＳ１ａは、論理パーティション２ａを削除する。
【００６３】
一方、コンピュータ機器２０上の転送マネージャ８ｂは、ステップ２０４での処理後、ステップ２０５に進んで、コンピュータ機器２０の映像表示デバイス３５の表示画面に、図５（Ｃ）に示すような転送完了呈示画面７８を表示する。
【００６４】
これによって、ユーザは、コンピュータ機器２０で継続して処理を行うことができることが分かる。ユーザは、コンピュータ機器２０で継続して処理を行う場合には、転送完了呈示画面７８中の再開ボタン７９を操作する。
【００６５】
コンピュータ機器２０上の転送マネージャ８ｂは、ステップ２０５での処理後、ステップ２０６に進んで、再開の指示があるか否かを判断し、再開の指示があった場合には、ステップ２０７に進んで、論理パーティション２ｂを活動状態にし、論理パーティション２ｂ内のゲストＯＳ４ｂおよびアプリケーション５ｂを稼動させる。
【００６６】
これによって、ユーザは、コンピュータ機器２０において、上述した進行状態指示情報で示された進行状態から、例えば、コンピュータゲームを行い、または映像を再生することができる。
【００６７】
なお、コンピュータ機器２０上の管理ＯＳ１ｂは、ステップ２０１で、転送マネージャ８ｂから論理パーティションの生成を要求されたとき、コンピュータ機器２０上に論理パーティション２ａと同じメモリサイズの論理パーティションを生成できるか否かを判断し、生成できる場合には、上述したように論理パーティション２ｂを生成するが、生成できない場合には、転送マネージャ８ｂを介してコンピュータ機器１０上の転送マネージャ８ａに、論理パーティションを生成できない旨を通知する。これによって、転送マネージャ８ａは、コンピュータ機器１０の映像表示デバイス３５の表示画面に、実行していた処理をコンピュータ機器２０で継続して行うことができない旨を表示する。
【００６８】
この場合、コンピュータ機器１０でのユーザの操作に基づいて、コンピュータ機器１０上の転送マネージャ８ａが論理パーティション２ａを活動状態にすることによって、上述した進行状態指示情報で示された進行状態から、コンピュータ機器１０で継続して処理を行うことができるように、あるいは、ネットワーク５０上にコンピュータ機器１０および２０のほかにコンピュータ機器が接続されていて、ユーザが転送先を、その別のコンピュータ機器に変更し、かつ、その別のコンピュータ機器上に論理パーティション２ａと同じメモリサイズの論理パーティションを生成できるときには、その別のコンピュータ機器上に論理パーティション２ａと同じメモリサイズの論理パーティションが生成されることによって、上述した進行状態指示情報で示された進行状態から、その別のコンピュータ機器で継続して処理を行うことができるように、コンピュータネットワークシステムを構成する。
【００６９】
〔３．論理パーティション転送後のアプリケーション実行に伴うデバイスアクセス：図９〜図１１〕
論理パーティション転送後、転送先のコンピュータ機器２０上のアプリケーション５ｂ（上述したようにアプリケーション５ａと同じものである）は、自機器（コンピュータ機器２０）または転送元のコンピュータ機器１０の入出力デバイスにアクセスする必要がある場合、転送マネージャ８ｂにデバイスアクセス要求を発行する。
【００７０】
転送マネージャ８ｂは、このデバイスアクセス要求に対して、以下のような受付処理を実行する。
【００７１】
（３−１．デバイスアクセス要求受付処理：図９および図１１）
図９に、転送先のコンピュータ機器２０上の転送マネージャ８ｂが実行するデバイスアクセス要求受付処理の一例を示す。
【００７２】
この例のデバイスアクセス要求受付処理３００では、転送マネージャ８ｂは、まずステップ３０１で、自機器（コンピュータ機器２０）上のアプリケーションからデバイスアクセス要求があるか否かを判断し、デバイスアクセス要求があった場合には、ステップ３０２に進んで、自身内のアクセス管理テーブルにアクセス要求関連情報を格納する。
【００７３】
アクセス管理テーブルは、転送マネージャ８ｂ、および後述のように転送マネージャ８ｂを介してアプリケーション５ｂからデバイスアクセス要求を受けた転送元のコンピュータ機器１０上の転送マネージャ８ａが、それぞれ作成するもので、図１１（Ａ）（Ｂ）に示すように、リモート要求フラグ、要求元機器ＩＤ、アクセスＩＤ、要求元論理パーティションＩＤ、要求元アプリケーションＩＤ、および要求先デバイスＩＤを有するものとする。
【００７４】
リモート要求フラグは、他のコンピュータ機器からのデバイスアクセス要求であるか否かを示すものである。転送元のコンピュータ機器１０上の転送マネージャ８ａにとっては、アプリケーション５ｂからのデバイスアクセス要求は、他機器からのデバイスアクセス要求であるので、コンピュータ機器１０上のアクセス管理テーブル内のリモート要求フラグは“Ｙｅｓ”とされる。転送先のコンピュータ機器２０上の転送マネージャ８ｂにとっては、アプリケーション５ｂからのデバイスアクセス要求は、自機器からのデバイスアクセス要求であるので、コンピュータ機器２０上のアクセス管理テーブル内のリモート要求フラグは“Ｎｏ”とされる。
【００７５】
要求元機器ＩＤは、デバイスアクセス要求を発行したアプリケーションが動作するコンピュータ機器の機器ＩＤで、転送元のコンピュータ機器１０上のアクセス管理テーブル内の要求元機器ＩＤは、転送先のコンピュータ機器２０の機器ＩＤである“ＩＰ２”とされ、コンピュータ機器２０上のアクセス管理テーブル内の要求元機器ＩＤは、特に記述されない。
【００７６】
アクセスＩＤは、個々のデバイスアクセス要求を識別するもので、例えば、デバイスアクセス要求ごとに一連の番号が割り当てられる。
【００７７】
要求元論理パーティションＩＤは、デバイスアクセス要求を発行したアプリケーションが動作する論理パーティションの論理パーティションＩＤで、この場合には、アプリケーション５ｂが動作する論理パーティション２ｂの論理パーティションＩＤである“Ｂ”とされる。
【００７８】
要求元アプリケーションＩＤは、デバイスアクセス要求を発行したアプリケーションを一意に識別できる識別子で、この場合には、アプリケーション５ｂのアプリケーションＩＤである“Ｘ”とされる。
【００７９】
要求先デバイスＩＤは、デバイスアクセス要求の要求先の入出力デバイスを識別するもので、この場合には、“ａ”というデバイスＩＤを有する入出力デバイスへのデバイスアクセス要求があったことを示している。
【００８０】
転送先のコンピュータ機器２０上の転送マネージャ８ｂは、ステップ３０２で、図１１（Ｂ）に示すようなアクセス管理テーブルに、以上のようなアクセス要求関連情報を格納した後、ステップ３０３に進んで、当該のデバイスアクセス要求の要求先デバイスがヒューマンインターフェース入出力デバイスであるか否かを判断する。
【００８１】
そして、要求先デバイスがヒューマンインターフェース入出力デバイスである場合には、転送マネージャ８ｂは、ステップ３０３からステップ３０４に進んで、自機器（コンピュータ機器２０）上のデバイスドライバ６ｂを呼び出す。
【００８２】
これによって、転送先のコンピュータ機器２０の図４に示したヒューマンインターフェース入出力デバイス２６中の、図１１（Ｂ）のアクセス管理テーブル内の要求先デバイスＩＤ（“ａ”）で示された要求先デバイスがドライブされることになる。このとき、その要求先デバイスは、デバイスドライバ６ｂを介して転送マネージャ８ｂに応答を返す。
【００８３】
一方、要求先デバイスがヒューマンインターフェース入出力デバイスではない（非ヒューマンインターフェース入出力デバイスである）場合には、転送マネージャ８ｂは、ステップ３０３からステップ３０５に進んで、当該のデバイスアクセス要求の要求元アプリケーションが論理パーティションルーティングテーブルにエントリーされているか否かを判断する。
【００８４】
図６〜図８に示したように、論理パーティションルーティングテーブルは、論理パーティション２ｂの生成時、転送先のコンピュータ機器２０上の転送マネージャ８ｂ内に作成され、転送元のコンピュータ機器１０に送信されて、転送マネージャ８ａ内に保存される。したがって、論理パーティション２ｂ上に展開されたアプリケーション５ｂからのデバイスアクセス要求については、要求元アプリケーションが論理パーティションルーティングテーブルにエントリーされている。
【００８５】
そして、このように要求元アプリケーションが論理パーティションルーティングテーブルにエントリーされている場合には、転送マネージャ８ｂは、ステップ３０５からステップ３０６に進んで、当該のデバイスアクセス要求を転送元のコンピュータ機器１０上の転送マネージャ８ａに転送する。
【００８６】
これによって、転送マネージャ８ａは、図１１（Ａ）に示すようなアクセス管理テーブルに、上記のようなアクセス要求関連情報を格納し、自機器（コンピュータ機器１０）上のデバイスドライバ６ａを呼び出す。これによって、転送元のコンピュータ機器１０の図４に示した非ヒューマンインターフェース入出力デバイス１５中の、図１１（Ａ）のアクセス管理テーブル内の要求先デバイスＩＤ（“ａ”）で示された要求先デバイスがドライブされることになる。このとき、その要求先デバイスは、デバイスドライバ６ａを介して転送マネージャ８ａに応答を返す。
【００８７】
以上によって、ユーザが、例えば、コンピュータ機器１０で、これに内蔵されたハードディスクに記録されている映像タイトルの一部を再生した後、移動先のコンピュータ機器２０で継続して、その映像タイトルの残部を再生する場合、ステップ３０６でデバイスアクセス要求が転送マネージャ８ａに転送され、デバイスドライバ６ａによりコンピュータ機器１０のハードディスクドライブ３２がドライブされることによって、コンピュータ機器１０に内蔵されたハードディスクから、その映像タイトルの残部の映像データおよび音声データが読み出されるとともに、ステップ３０４でデバイスドライバ６ｂが呼び出され、デバイスドライバ６ｂによりコンピュータ機器２０の映像表示デバイス３５および音声出力デバイス３６がドライブされることによって、その映像タイトルの残部の映像がコンピュータ機器２０の映像表示デバイス３５の表示画面に表示され、音声がコンピュータ機器２０の音声出力デバイス３６から出力され、ユーザは、移動先のコンピュータ機器２０で継続して、その映像タイトルの残部を鑑賞することができる。コンピュータゲームを行う場合も、同様である。
【００８８】
一方、ステップ３０５で要求元アプリケーションが論理パーティションルーティングテーブルにエントリーされていないと判断した場合には、すなわち、当該のデバイスアクセス要求が、アプリケーション５ｂのように他のコンピュータ機器から転送されたアプリケーションからの要求ではなく、もともと自機器（コンピュータ機器２０）上に存在しているアプリケーションからの要求である場合には、転送マネージャ８ｂは、ステップ３０５からステップ３０４に進んで、自機器（コンピュータ機器２０）上のデバイスドライバ６ｂを呼び出す。
【００８９】
これによって、コンピュータ機器２０の図４に示した非ヒューマンインターフェース入出力デバイス２５中の、図１１（Ｂ）のアクセス管理テーブル内の要求先デバイスＩＤ（“ａ”）で示された要求先デバイスがドライブされることになる。このとき、その要求先デバイスは、デバイスドライバ６ｂを介して転送マネージャ８ｂに応答を返す。
【００９０】
すなわち、デバイスアクセス要求が、もともと自機器上に存在しているアプリケーションからの要求である場合には、その要求先デバイスがヒューマンインターフェース入出力デバイスであるか非ヒューマンインターフェース入出力デバイスであるかにかかわらず、自機器上のデバイスドライバが呼び出され、自機器の入出力デバイスがドライブされる。
【００９１】
（３−２．デバイス応答受付処理：図１０および図１１）
上述したように、デバイスアクセス要求の要求先デバイスは、自機器上のデバイスドライバによってドライブされるとき、そのデバイスドライバを介して自機器上の転送マネージャに応答を返す。
【００９２】
この入出力デバイスからの応答に対して、コンピュータ機器１０上の転送マネージャ８ａおよびコンピュータ機器２０上の転送マネージャ８ｂは、それぞれ、図１０に示すようなデバイス応答受付処理を実行する。
【００９３】
すなわち、この例のデバイス応答受付処理４００では、転送マネージャは、まずステップ４０１で、自機器の入出力デバイスから応答があるか否かを判断し、応答があったときには、ステップ４０２に進んで、自身内のアクセス管理テーブルから、当該の応答に対応する図１１（Ａ）または（Ｂ）に示した情報を取得する。
【００９４】
次に、転送マネージャは、ステップ４０３で、当該の応答に対応するデバイスアクセス要求は実現されたものとして、アクセス管理テーブル上のエントリーを消去し、さらにステップ４０４に進んで、ステップ４０２で取得した情報から、当該の応答が他のコンピュータ機器からのデバイスアクセス要求に対する応答であるか否かを判断する。
【００９５】
そして、当該の応答が他のコンピュータ機器からのデバイスアクセス要求に対する応答である場合には、転送マネージャは、ステップ４０４からステップ４０５に進んで、当該の応答を、これに対応するデバイスアクセス要求の要求元のコンピュータ機器上の転送マネージャに送信して、処理を終了する。
【００９６】
一方、当該の応答が他のコンピュータ機器からのデバイスアクセス要求に対する応答ではなく、自機器からのデバイスアクセス要求に対する応答である場合には、転送マネージャは、ステップ４０４からステップ４０６に進んで、当該の応答を、これに対応する自機器上のアプリケーションに送信して、処理を終了する。
【００９７】
したがって、コンピュータ機器１０上の転送マネージャ８ａについては、上述したコンピュータ機器２０上のアプリケーション５ｂからのデバイスアクセス要求に対する自機器（コンピュータ機器１０）の非ヒューマンインターフェース入出力デバイス１５からの応答である場合には、ステップ４０５で、当該の応答をコンピュータ機器２０上の転送マネージャ８ｂに転送し（これによって転送マネージャ８ｂは自身内のアクセス管理テーブル上のエントリーを消去する）、もともと自機器（コンピュータ機器１０）上で動作しているアプリケーションからのデバイスアクセス要求に対する自機器の非ヒューマンインターフェース入出力デバイス１５またはヒューマンインターフェース入出力デバイス１６からの応答である場合には、ステップ４０６で、当該の応答を自機器上の当該アプリケーションに送信する。
【００９８】
また、コンピュータ機器２０上の転送マネージャ８ｂについては、アプリケーション５ｂからのデバイスアクセス要求に対する自機器（コンピュータ機器２０）のヒューマンインターフェース入出力デバイス２６からの応答である場合には、ステップ４０６で、当該の応答をアプリケーション５ｂに送信し、もともと自機器（コンピュータ機器２０）上で動作しているアプリケーションからのデバイスアクセス要求に対する自機器の非ヒューマンインターフェース入出力デバイス２５またはヒューマンインターフェース入出力デバイス２６からの応答である場合には、ステップ４０６で、当該の応答を自機器上の当該アプリケーションに送信する。
【図面の簡単な説明】
【００９９】
【図１】この発明のコンピュータ機器およびコンピュータネットワークシステムの一例のハードウェア構成を示す図である。
【図２】この発明のコンピュータ機器の基本的なソフトウェア構成の一例を示す図である。
【図３】この発明のコンピュータ機器の論理パーティション転送のためのソフトウェア構成の一例を示す図である。
【図４】コンピュータ機器間での論理パーティション転送のためのシステム構成の一例を示す図である。
【図５】論理パーティション転送用に表示する画面の一例を示す図である。
【図６】各コンピュータ機器上の転送マネージャが行う転送処理の一例の一部を示す図である。
【図７】各コンピュータ機器上の転送マネージャが行う転送処理の一例の一部を示す図である。
【図８】論理パーティションルーティングテーブルの一例を示す図である。
【図９】デバイスアクセス要求受付処理の一例を示す図である。
【図１０】デバイス応答受付処理の一例を示す図である。
【図１１】アクセス管理テーブルの一例を示す図である。
【符号の説明】
【０１００】
主要部については図中に全て記述したので、ここでは省略する。
【図１】
2005293417.tif 000003
【図２】
2005293417.tif 000004
【図３】
2005293417.tif 000005
【図４】
2005293417.tif 000006
【図５】
2005293417.tif 000007
【図６】
2005293417.tif 000008
【図７】
2005293417.tif 000009
【図８】
2005293417.tif 000010
【図９】
2005293417.tif 000011
【図１０】
2005293417.tif 000012
【図１１】
2005293417.tif 000013