(57)【要約】【課題】  空間での処理の継続性を容易に実現することが可能な情報処理装置、マスタ装置、情報処理システムおよび情報処理移行方法を提供する。【解決手段】  子供部屋１３に設置されたゲーム装置３において映像音声再生用プログラム３８２を実行していたユーザ６が、この処理を中断して移動状況６１のように居間１４へ移動し、居間１４に設置されたハードディスクレコーダ４において処理を再開するような場合でも、情報処理コントローラ３０が、サーバ５を介して映像音声再生用プログラム３８２の実行状況を、移行状況６２１Ａ，６２１Ｂのようにハードディスクレコーダ４の情報処理コントローラ４０へ移行し、情報処理コントローラ４０は移行された実行状況に基づいて処理を再開するようにしたので、空間での処理の継続性を容易に実現することが可能となる。【選択図】  図１５
2005309924.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置がネットワークに接続されて構成された情報処理システムにおける情報処理装置であって、
特定処理を実行する特定処理実行手段と、
ユーザの在否を検出する第１のユーザ検出手段と、
前記第１のユーザ検出手段による検出結果に基づき、前記特定処理を他の情報処理装置に移行するか否かを決定する第１の決定手段と、
前記第１の決定手段が前記特定処理の移行を決定した場合に、その特定処理の移行に必要な予備的処理を実行する予備処理実行手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記予備的処理は、
前記特定処理実行手段が実行している前記特定処理を中断させる処理と、
前記特定処理を中断した時点における前記特定処理の実行状況を示す実行状況情報と、前記第１のユーザ検出手段の検出結果を含む自装置に関する装置情報とを前記他の情報処理装置に送信する処理と
を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１のユーザ検出手段は、
ユーザによって操作可能な操作部と、
前記操作部に対する操作が行われたか否かを監視する監視部と
を含んで構成されていることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１のユーザ検出手段は、物体を検出する物体センサを用いて構成されている
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記複数の情報処理装置が、複数のスレーブ装置と、各スレーブ装置を管理するマスタ装置とを含む場合において、
前記スレーブ装置として機能する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記予備的処理は、前記特定処理を前記他の情報処理装置としての他のスレーブ装置に移行することを求める移行要求と共に前記実行状況情報および前記装置情報を前記マスタ装置に送る処理を含む
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記予備処理実行手段は、所定のフォーマットの情報パケットであるソフトウェアセルを使用して、前記マスタ装置に前記実行状況情報および前記装置情報を送信する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
複数の情報処理装置がネットワークに接続されて構成された情報処理システムにおける情報処理装置であって、
ユーザの在否を検出する第２のユーザ検出手段と、
前記第２のユーザ検出手段による検出結果に基づき、一の情報処理装置から特定処理を引き継ぐか否かを決定する第２の決定手段と、
前記第２の決定手段が前記特定処理の引き継ぎを決定した場合に、その特定処理を引き継ぐための引き継ぎ処理を実行する引き継ぎ処理実行手段と
を備えたことを特徴とする情報処理装置。
【請求項９】
前記引き継ぎ処理は、
前記一の情報処理装置における前記特定処理の実行状況を示す実行状況情報と、前記一の情報処理装置に関する装置情報とを取得する処理と、
受信した前記実行状況情報および前記装置情報に基づいて、前記特定処理を再開する処理と
を含むことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記第２のユーザ検出手段は、
ユーザによって操作可能な操作部と、
前記操作部に対する操作が行われたか否かを監視する監視部と
を含んで構成されていることを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記第２のユーザ検出手段は、物体を検出する物体センサを用いて構成されている
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１２】
前記第２の決定手段はさらに、前記特定処理がリアルタイム性を要する処理か否かを判断し、その判断結果をも考慮して、前記特定処理を引き継ぐか否かを決定する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１３】
前記引き継ぎ処理実行手段は、前記特定処理を再開するために必要なプログラムを有していない場合、このプログラムを前記一の情報処理装置またはその他の情報処理装置から取得する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１４】
前記装置情報は、前記一の情報処理装置を識別するための識別情報を含み、
前記特定処理の再開に際して前記識別情報を表示する表示手段をさらに備えたことを特徴とする請求項９に記載の情報処理装置。
【請求項１５】
前記複数の情報処理装置が、複数のスレーブ装置と、各スレーブ装置を管理するマスタ装置とを含み、前記一の情報処理装置が一のスレーブ装置として機能するものである場合において、
他のスレーブ装置として機能する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１６】
前記引き継ぎ処理実行手段は、前記実行状況情報および前記装置情報を、前記マスタ装置を介して前記一のスレーブ装置から取得する
ことを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記引き継ぎ処理実行手段は、前記特定処理を再開するために必要なプログラムを有していない場合に、このプログラムを前記マスタ装置を介して前記一のスレーブ装置またはその他のスレーブ装置から取得する
ことを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
前記引き継ぎ処理実行手段は、所定のフォーマットの情報パケットであるソフトウェアセルを使用して前記実行状況情報、前記装置情報および前記プログラムを取得する
ことを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
複数の情報処理装置がネットワークに接続されて構成された情報処理システムであって、
前記複数の情報処理装置のうちの一の情報処理装置が、
特定処理を実行する特定処理実行手段と、
ユーザの在否を検出する第１のユーザ検出手段と、
前記第１のユーザ検出手段による検出結果に基づき、前記特定処理を他の情報処理装置に移行するか否かを決定する第１の決定手段と、
前記第１の決定手段が前記特定処理の移行を決定した場合に、その特定処理の移行に必要な予備的処理を実行する予備処理実行手段と
を備え、
前記複数の情報処理装置のうちの他の情報処理装置が、
ユーザの在否を検出する第２のユーザ検出手段と、
前記第２のユーザ検出手段による検出結果に基づき、前記一の情報処理装置から前記特定処理を引き継ぐか否かを決定する第２の決定手段と、
前記第２の決定手段が前記特定処理の引き継ぎを決定した場合に、その特定処理を引き継ぐための引き継ぎ処理を実行する引き継ぎ処理実行手段と
を備えた
ことを特徴とする情報処理システム。
【請求項２０】
複数の情報処理装置がネットワークに接続されて構成された情報処理システムに適用される方法であって、
前記複数の情報処理装置のうち、特定処理を実行している一の情報処理装置において、
ユーザの在否を検出し、その検出結果に基づき、前記特定処理を他の情報処理装置に移行するか否かを決定し、前記特定処理の移行を決定した場合に、その特定処理の移行に必要な予備的処理を実行し、
前記他の情報処理装置において、
ユーザの在否を検出し、その検出結果に基づき、前記一の情報処理装置から前記特定処理を引き継ぐか否かを決定し、前記特定処理の引き継ぎを決定した場合に、その特定処理を引き継ぐための引き継ぎ処理を実行する
ことを特徴とする情報処理移行方法。
【請求項２１】
複数の情報処理装置がネットワークに接続されて構成された情報処理システムに適用される方法であって、
前記複数の情報処理装置のうち、特定処理を実行している一の情報処理装置から他の情報処理装置にユーザが移動したか否かを検出し、
その検出結果に基づき、前記特定処理を前記他の情報処理装置に移行するか否かを決定し、
前記特定処理の移行を決定した場合に、その特定処理を前記他の情報処理装置に移行させる処理を実行する
ことを特徴とする情報処理移行方法。
【請求項２２】
ネットワークに接続された複数のスレーブ装置と、ネットワークに接続され、各スレーブ装置を管理するマスタ装置とを含んで構成された情報処理システムにおけるマスタ装置であって、
特定処理を実行している一のスレーブ装置から、その特定処理の実行を他のスレーブ装置に移行することを求める移行要求を受け付ける受付手段と、
前記受付手段が前記移行要求を受け付けた場合に、前記特定処理の移行の是非を決定すると共に、移行を決定した場合にはさらに移行先のスレーブ装置を決定する第３の決定手段と、
前記第３の決定手段が前記特定処理の移行を決定し、かつ移行先のスレーブ装置を決定した場合に、その決定されたスレーブ装置に前記特定処理を移行させるための移行処理を実行する移行処理実行手段と
を備えたことを特徴とするマスタ装置。
【請求項２３】
前記受付手段は、前記一のスレーブ装置から、前記移行要求と共に、前記一のスレーブ装置における前記特定処理の実行状況を示す実行状況情報と、前記一のスレーブ装置に関する装置情報とを受け付け、さらに、各スレーブ装置から、それぞれのスレーブ装置に関する装置情報を収集し、
前記第３の決定手段は、前記実行状況情報、前記一のスレーブ装置の装置情報、および各スレーブ装置から収集された装置情報に基づき、前記特定処理の移行の是非と移行先のスレーブ装置とを決定し、
前記移行処理実行手段は、決定された移行先のスレーブ装置に前記実行状況情報を送信する
ことを特徴とする請求項２２に記載のマスタ装置。
【請求項２４】
前記第３の決定手段はさらに、前記特定処理がリアルタイム性を要する処理か否かを判断し、その判断結果をも考慮して、前記特定処理の移行の是非と移行先のスレーブ装置とを決定する
ことを特徴とする請求項２３に記載のマスタ装置。
【請求項２５】
前記受付手段は、所定のフォーマットの情報パケットであるソフトウェアセルを使用して、前記移行要求の受け付けと前記装置情報の収集とを行い、
前記移行処理実行手段は、前記ソフトウェアセルを使用して前記実行状況情報を送信する
ことを特徴とする請求項２３に記載のマスタ装置。
【請求項２６】
ネットワークに接続された複数のスレーブ装置と、ネットワークに接続され、各スレーブ装置を管理するマスタ装置とを含んで構成された情報処理システムであって、
前記スレーブ装置は、
特定処理を実行する特定処理実行手段と、
ユーザの在否を検出する第１のユーザ検出手段と、
前記第１のユーザ検出手段による検出結果に基づき、前記特定処理を他のスレーブ装置に移行するか否かを決定する第１の決定手段と、
前記第１の決定手段が前記特定処理の移行を決定した場合に、その特定処理を他のスレーブ装置に移行することを求める移行要求を前記マスタ装置に送る移行要求手段と
を備え、
前記マスタ装置は、
前記特定処理を実行している前記スレーブ装置から前記移行要求を受け付ける受付手段と、
前記受付手段が前記移行要求を受け付けた場合に、前記特定処理の移行の是非を決定すると共に、移行を決定した場合にはさらに移行先のスレーブ装置を決定する第３の決定手段と、
前記第３の決定手段が前記特定処理の移行を決定し、かつ移行先のスレーブ装置を決定した場合に、この決定されたスレーブ装置に前記特定処理を移行させるための移行処理を実行する移行処理実行手段と
を備えた
ことを特徴とする情報処理システム。
【請求項２７】
ネットワークに接続された複数のスレーブ装置と、ネットワークに接続され、各スレーブ装置を管理するマスタ装置とを含んで構成された情報処理システムに適用される方法であって、
前記複数のスレーブ装置のうち、特定処理を実行しているスレーブ装置において、
ユーザの在否を検出し、その検出結果に基づき、前記特定処理を他のスレーブ装置に移行するか否かを決定し、前記特定処理の移行が決定された場合に、その特定処理の実行を他のスレーブ装置に移行することを求める移行要求を前記マスタ装置に送り、
前記マスタ装置において、
前記特定処理を実行している前記スレーブ装置から前記移行要求を受け付けた場合に、前記特定処理の移行の是非を決定すると共に、移行を決定した場合にはさらに移行先のスレーブ装置を決定し、この決定された移行先のスレーブ装置に前記特定処理を移行させるための移行処理を実行する
ことを特徴とする情報処理移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置がネットワークに接続されて構成された情報処理システムに適用される情報処理装置、マスタ装置、情報処理システムおよび情報処理移行方法に関する。
【背景技術】
【０００２】
昨今、パーソナルコンピュータ、ゲーム機器、情報家電、携帯端末といった様々な情報機器がネットワークで接続されたホームネットワークが実現しつつある。これらの機器はそれぞれ通信機能を持ち、ネットワークを介して相互に通信する事が可能である。
【０００３】
ホームネットワークは一種の分散システムとも考えられ、従来の分散システムの技術を利用することも可能である。複数のコンピュータで構成され、オフィスや研究機関などで使用される従来の分散システムでは、あるコンピュータに接続されたハードディスクを共有して他の機器で利用したり、あるコンピュータでプログラムを実行させ、その実行結果、例えば画面表示データなどを他の機器に送信し、その機器で利用するといった資源管理機構を提供している。
【０００４】
また、ホームネットワークでは、従来の分散システムの技術に加え、空間での継続性も必要である。ここでいう空間での継続性とは、ユーザが場所を移動した場合にも継続したサービスを提供する事であり、空間での継続性を実現する技術は、様々なものが提案されている。
【０００５】
例えば、特許文献１には、情報掲示装置の連携システムを利用し、第１の情報掲示装置が出力するコンテンツ指定情報に基づいて、第２の情報掲示装置に同一コンテンツを掲示させる事を可能とするシステムが開示されている。
【０００６】
また、特許文献２には、第１の制御機器から制御されていた被制御機器の状態を記憶手段に記憶させ、第２の制御機器からこの被制御機器の操作を再開する場合、記憶手段に記憶されている被制御機器の状態を読み出し、その状態を復元し、第２の制御機器から継続して操作する事を可能とするネットワーク機器制御装置が開示されている。
【特許文献１】特開２００３−１８５７６号公報
【特許文献２】特開２００３−１８６６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の技術では、ユーザが場所を移動して他の機器を使用する場合、ユーザが移動前の機器で実行状況を保存させ、移動後の機器で実行状況を再開させるための操作を行わなくてはならず、操作が煩雑であった。
【０００８】
また、従来の技術は、コンテンツの情報を引き継ぎ、移動後の機器が予め持つ機能により同じ時点からコンテンツの利用を再開するというもので、移動後の機器が予め同じ機能を保有しない場合には、再開することはできないものであった。
【０００９】
さらに、従来の技術では、異なる制御機器間で被制御機器の操作の状態を引き継ぐといった場合、例えばゲームのように高速な応答を必要とする処理に対しては、制御機器と被制御機器の間の通信遅延が大きくなってしまい、適用できないものであった。
【００１０】
つまり従来の技術では、ユーザに煩雑な操作負担を課することなく空間での処理の継続性を容易に実現することが困難であるといった課題があった。
【００１１】
本発明は、かかる問題に鑑みてなされたものであり、その目的は、空間での処理の継続性を容易に実現することを可能とする情報処理装置、マスタ装置、情報処理システムおよび情報処理移行方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の情報処理装置は、特定処理を実行する特定処理実行手段と、ユーザの在否を検出する第１のユーザ検出手段と、第１のユーザ検出手段による検出結果に基づき、その特定処理を他の情報処理装置に移行するか否かを決定する第１の決定手段と、第１の決定手段が特定処理の移行を決定した場合に、その特定処理の移行に必要な予備的処理を実行する予備処理実行手段とを備えたものである。
【００１３】
本発明の第２の情報処理装置は、ユーザの在否を検出する第２のユーザ検出手段と、第２のユーザ検出手段による検出結果に基づき、一の情報処理装置から特定処理を引き継ぐか否かを決定する第２の決定手段と、第２の決定手段が特定処理の引き継ぎを決定した場合に、その特定処理を引き継ぐための引き継ぎ処理を実行する引き継ぎ処理実行手段とを備えたものである。この場合において、上記第２の決定手段はさらに、その特定処理がリアルタイム性を要する処理か否かを判断し、その判断結果をも考慮して、特定処理を引き継ぐか否かを決定するようにするのが好ましい。
【００１４】
本発明の第１の情報処理システムは、一の情報処理装置が、特定処理を実行する特定処理実行手段と、ユーザの在否を検出する第１のユーザ検出手段と、第１のユーザ検出手段による検出結果に基づき、その特定処理を他の情報処理装置に移行するか否かを決定する第１の決定手段と、第１の決定手段が特定処理の移行を決定した場合に、その特定処理の移行に必要な予備的処理を実行する予備処理実行手段とを備え、上記他の情報処理装置が、ユーザの在否を検出する第２のユーザ検出手段と、第２のユーザ検出手段による検出結果に基づき、上記一の情報処理装置から特定処理を引き継ぐか否かを決定する第２の決定手段と、第２の決定手段が特定処理の引き継ぎを決定した場合に、その特定処理を引き継ぐための引き継ぎ処理を実行する引き継ぎ処理実行手段とを備えたものである。
【００１５】
本発明の第１の情報処理移行方法は、特定処理を実行している一の情報処理装置において、ユーザの在否を検出し、その検出結果に基づき、その特定処理を他の情報処理装置に移行するか否かを決定し、特定処理の移行を決定した場合に、その特定処理の移行に必要な予備的処理を実行し、上記他の情報処理装置において、ユーザの在否を検出し、その検出結果に基づき、上記一の情報処理装置から特定処理を引き継ぐか否かを決定し、特定処理の引き継ぎを決定した場合に、その特定処理を引き継ぐための引き継ぎ処理を実行するようにしたものである。
【００１６】
本発明の第２の情報処理移行方法は、特定処理を実行している一の情報処理装置から他の情報処理装置にユーザが移動したか否かを検出し、その検出結果に基づき、その特定処理を上記他の情報処理装置に移行するか否かを決定し、特定処理の移行を決定した場合に、その特定処理を上記他の情報処理装置に移行させる処理を実行するようにしたものである。
【００１７】
本発明のマスタ装置は、特定処理を実行している一のスレーブ装置から、その特定処理の実行を他のスレーブ装置に移行することを求める移行要求を受け付ける受付手段と、受付手段がその移行要求を受け付けた場合に、その特定処理の移行の是非を決定すると共に、移行を決定した場合にはさらに移行先のスレーブ装置を決定する第３の決定手段と、第３の決定手段が特定処理の移行を決定し、かつ移行先のスレーブ装置を決定した場合に、この決定されたスレーブ装置にその特定処理を移行させるための移行処理を実行する移行処理実行手段とを備えたものである。この場合において、上記第３の決定手段はさらに、その特定処理がリアルタイム性を要する処理か否かを判断し、その判断結果をも考慮して、特定処理の移行の是非と移行先のスレーブ装置とを決定するようにするのが好ましい。
【００１８】
本発明の第２の情報処理システムは、スレーブ装置が、特定処理を実行する特定処理実行手段と、ユーザの在否を検出する第１のユーザ検出手段と、第１のユーザ検出手段による検出結果に基づき、その特定処理を他のスレーブ装置に移行するか否かを決定する第１の決定手段と、第１の決定手段が特定処理の移行を決定した場合に、その特定処理を他のスレーブ装置に移行することを求める移行要求をマスタ装置に送る移行要求手段とを備え、マスタ装置が、その特定処理を実行しているスレーブ装置から移行要求を受け付ける受付手段と、受付手段がその移行要求を受け付けた場合に、特定処理の移行の是非を決定すると共に、移行を決定した場合にはさらに移行先のスレーブ装置を決定する第３の決定手段と、第３の決定手段が特定処理の移行を決定し、かつ移行先のスレーブ装置を決定した場合に、この決定されたスレーブ装置にその特定処理を移行させるための移行処理を実行する移行処理実行手段とを備えるようにしたものである。
【００１９】
本発明の第３の情報処理移行方法は、特定処理を実行しているスレーブ装置において、ユーザの在否を検出し、その検出結果に基づき、その特定処理を他のスレーブ装置に移行するか否かを決定し、特定処理の移行が決定された場合に、その特定処理の実行を他のスレーブ装置に移行することを求める移行要求をマスタ装置に送り、マスタ装置において、その特定処理を実行しているスレーブ装置から移行要求を受け付けた場合に、特定処理の移行の是非を決定すると共に、移行を決定した場合にはさらに移行先のスレーブ装置を決定し、この決定された移行先のスレーブ装置にその特定処理を移行させるための移行処理を実行するようにしたものである。
【００２０】
本発明の第１の情報処理装置では、ユーザの在否の検出結果に基づいて特定処理を他の情報処理装置に移行することが決定された場合には予備的処理が実行される。この場合において、予備的処理は、特定処理を中断させる処理と、中断した時点におけるこの特定処理の実行状況を示す実行状況情報および自装置に関する装置情報を他の情報処理装置に送信する処理とを含むようにしてもよい。
【００２１】
ここで、「特定処理」とは、各情報処理装置において実行される機能プログラムの処理を意味し、この「機能プログラム」とは、その情報処理装置に応じたものが備えられたソフトウェアであり、例えば、映像音声再生用プログラム、番組録画予約用プログラムなどが含まれる。また、「実行状況」とは、各情報処理装置において実行されている機能プログラムの処理における実行中の状況を表すものであり、この実行状況を示す実行状況情報を取得した情報処理装置は、これに基づいて実行されていた機能プログラムの処理を再開することが可能となる。また、「装置情報」とは、各情報処理装置が保有する、自己の装置に関する状態を示すものを意味し、例えば、装置性能情報、往復通信時間情報などが含まれる。「装置性能情報」とは、文字通りその情報処理装置の性能を示す情報を意味し、「往復通信時間情報」とは、各情報処理装置間の通信に要する時間を示す情報を意味する。
【００２２】
また、「ユーザの在否」とは、ユーザがある情報処理装置の近傍に存在するか否かを示す情報であり、例えば物体センサなどにより検出することが可能である。「物体センサ」とは、文字通り物体を検出するセンサであり、例えばカメラなどの撮像素子や赤外線センサ等により構成することが可能である。また、「移行」とは、上記のように機能プログラムの実行状況情報に基づいて、一の情報処理装置において実行されていた機能プログラムの処理を、他の情報処理装置に移し、そこで再開することを意味する。この場合、機能プログラムの実行状況情報のみでなく、元の情報処理装置において表示画面に表示されていた識別情報をも移行し、機能プログラムの処理を再開した情報処理装置においてこの識別情報を表示することも可能である。ここで、「識別情報」とはその情報処理装置を識別するための情報であり、例えばそれらの製造元のロゴマークなどを意味する。
【００２３】
本発明の第２の情報処理装置では、ユーザの在否の検出結果に基づいて一の情報処理装置から特定処理を引き継ぐことが決定された場合には引き継ぎ処理が実行される。ここで、その特定処理がリアルタイム性を要する処理かどうかをも考慮して、引き継ぐかどうかを決定するようにしてもよい。ここで、「リアルタイム性」とは、文字通り迅速性という意味であり、リアルタイム性を要する処理といった場合には、ユーザの操作に対する機能プログラムの処理応答時間が、ユーザにとって許容し得る程度に短いことを意味する。またこのリアルタイム性の判断は、例えばそれを示す情報を機能プログラムごとにその処理の性質に応じて予め設定して、前述の装置情報に含めるようにすることにより実現可能である。
【００２４】
本発明の第１の情報処理システムおよび第１の情報処理移行方法では、一の情報処理装置においてユーザの在否の検出結果に基づいて特定処理を他の情報処理装置に移行することが決定された場合には予備的処理が実行される。一方、他の情報処理装置においてユーザの在否の検出結果に基づいて一の情報処理装置から特定処理を引き継ぐことが決定された場合には引き継ぎ処理が実行される。
【００２５】
本発明の第２の情報処理移行方法では、一の情報処理装置から他の情報処理装置にユーザが移動したか否かの検出結果に基づいて特定処理を他の情報処理装置に移行することが決定された場合には移行させる処理が実行される。
【００２６】
本発明のマスタ装置では、特定処理を実行している一のスレーブ装置から移行要求を受け付けた場合には、その特定処理の移行の是非が決定され、移行することが決定された場合にはさらに移行先のスレーブ装置が決定され、移行処理が実行される。
【００２７】
本発明の第２の情報処理システムおよび第３の情報処理移行方法では、特定処理を実行しているスレーブ装置においてユーザの在否の検出結果に基づいて特定処理を他のスレーブ装置に移行することが決定された場合には移行要求がマスタ装置に送られ、マスタ装置において、そのスレーブ装置から移行要求を受け付けた場合には、特定処理の移行の是非が決定され、移行することが決定された場合にはさらに移行先のスレーブ装置が決定され、移行処理が実行される。
【００２８】
なお、各情報処理装置間における移行要求、実行状況情報、装置情報などの送受信は、例えば、ソフトウェアセルを用いて行うことができる。この「ソフトウェアセル」とは、複数の情報処理装置間でプログラムやデータなどをやり取りするための所定のフォーマットを有する制御パケットまたは情報パケットを意味する。
【発明の効果】
【００２９】
本発明の第１の情報処理装置によれば、ユーザの在否の検出結果に基づいて特定処理を他の情報処理装置に移行することを決定した場合に予備的処理を実行するようにしたので、ユーザは場所の移動に応じて、実行されていた特定処理の移行準備を容易に行うことが可能となる。よって例えば、ユーザが自分で移動前の情報処理装置において、その特定処理の実行状況を一度保存させておくといった煩わしい操作は不要となり、容易に特定処理の移行準備を行うことが可能となる。
【００３０】
本発明の第２の情報処理装置によれば、ユーザの在否の検出結果に基づいて一の情報処理装置から特定処理を引き継ぐことを決定した場合に引き継ぎ処理を実行するようにしたので、ユーザは場所の移動に応じて、移動前の情報処理装置において実行されていた特定処理を容易に再開することが可能となる。よって例えば、ユーザが自分で移動後の情報処理装置において、その特定処理を再開させるための特別な操作を行うといった煩わしい操作が不要となり、容易に特定処理を再開することが可能となる。また特に、移動後の情報処理装置が、その特定処理がリアルタイム性を要する処理かどうかをも考慮して動作するようにした場合には、ユーザはさらに的確に特定処理を再開することが可能となる。
【００３１】
本発明の第１の情報処理システムおよび第１の情報処理移行方法によれば、一の情報処理装置がユーザの在否の検出結果に基づいて特定処理を他の情報処理装置に移行することを決定した場合に予備的処理を実行し、他の情報処理装置がユーザの在否の検出結果に基づいて一の情報処理装置から特定処理を引き継ぐことを決定した場合に引き継ぎ処理を実行するようにしたので、ユーザは場所の移動に対して、空間での処理の継続性を容易に実現することが可能となる。よって例えば、ユーザが自分で移動前の情報処理装置においてその特定処理の実行状況を一度保存させておき、さらに移動後の情報処理装置において自分でその特定処理を再開させるための特別な操作を行うといった煩わしい操作が不要となり、容易に特定処理を移行することが可能となる。また特に、移動後の他の情報処理装置がその特定処理がリアルタイム性要する処理かどうかをも考慮して動作するようにした場合には、例えば各情報処理装置の性能や、情報処理装置間の通信時間などの情報に基づいて、ユーザはさらに的確に特定処理を移行することが可能となる。
【００３２】
本発明の第２の情報処理移行方法によれば、一の情報処理装置から他の情報処理装置にユーザが移動したか否かの検出結果に基づいて特定処理を他の情報処理装置に移行することを決定した場合に移行させる処理を実行するようにしたので、ユーザは場所の移動に応じて、実行されていた特定処理を容易に移行させることが可能となる。
【００３３】
本発明のマスタ装置によれば、特定処理を実行している一のスレーブ装置から移行要求を受け付けた場合にはその特定処理の移行の是非を決定し、移行することを決定した場合にはさらに移行先のスレーブ装置を決定し移行処理を実行するようにしたので、ユーザはスレーブ装置において特別な処理をすることなく、実行されていた特定処理の移行準備を容易に行うことが可能となる。特に、その特定処理がリアルタイム性を要する処理か否かをも考慮して、特定処理の移行の是非と移行先のスレーブ装置とを決定するようにした場合には、ユーザは、スレーブ装置において特別な処理をすることなく、さらに的確に特定処理の移行準備を行うことが可能となる。
【００３４】
本発明の第２の情報処理システムおよび第３の情報処理移行方法によれば、特定処理を実行しているスレーブ装置において、ユーザの在否の検出結果に基づいて特定処理を他のスレーブ装置に移行することを決定した場合に移行要求をマスタ装置に送り、マスタ装置において、そのスレーブ装置から移行要求を受け付けた場合には、特定処理の移行の是非を決定し、移行することを決定した場合にさらに移行先のスレーブ装置を決定し、移行処理を実行するようにしたので、ユーザは場所の移動に応じて、スレーブ装置において特別な処理をすることなく、実行されていた特定処理の移行準備を容易に行うことが可能となる。よって例えば、ユーザが自分で移動前のスレーブ装置においてその特定処理の実行状況を一度保存させておくといった煩わしい操作が不要となり、容易に特定処理の移行準備を行うことが可能となる。また特に、マスタ装置がその特定処理がリアルタイム性要する処理かどうかをも考慮して動作するようにした場合には、例えば各スレーブ理装置の性能や、スレーブ装置間の通信時間などの情報に基づいて、ユーザはさらに的確に特定処理の移行準備を行うことが可能となる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明を実施するための最良の形態（以下、単に実施の形態という。）について、図面を参照して詳細に説明する。
【００３６】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る情報処理システムの全体構成を表すものである。この情報処理システムは、複数の情報処理装置２〜４と、これらの情報処理装置２〜４を管理するサーバ５と、これらの情報処理装置２〜４およびサーバ５の間を互いに接続するＬＡＮケーブル１１とを有するホームネットワーク１から構成されており、情報処理装置２〜４はそれぞれ、寝室１２、子供部屋１３および居間１４に配置されている。また、情報処理装置２〜４にはそれぞれ、制御情報を送信するためのリモコン送信機２１，３１，４１が付属されており、情報処理装置３〜４にはそれぞれ、処理結果の画像や音声などを表示するための表示装置３２，４２が付属されている。本実施の形態では、情報処理装置２〜４を、それぞれ、テレビジョン受像機（以下、ＴＶ装置という。）２、ゲーム装置３およびハードディスクレコーダ４として説明するが、総称する場合には、単に、情報処理装置２〜４と記載するものとする。
【００３７】
各情報処理装置２〜４間でのデータのやり取りはすべて、ＬＡＮケーブル１１のみを利用して行うようになっており、もちろん、情報処理装置２〜４とサーバ５との間のやりとりもＬＡＮケーブル１１を介して行うようになっている。
【００３８】
サーバ５は、各情報処理装置２〜４が保有する装置情報を総括的に管理するためのものである。ここで、装置情報とは、例えば、各情報処理装置の処理性能、どんなタイプの情報処理装置か、どのような処理を実行中か、その処理はそれぞれどのユーザによるものか、などを示す情報である。サーバ５は、ネットワークを介して各情報処理装置２〜４が保有する装置情報を取得し、集約して管理する機能を有する。
【００３９】
ここで、サーバ５および情報処理装置２〜４は、それぞれ、本発明における、「マスタ装置」および「スレーブ装置」の一具体例に対応するものである。ただし、情報処理装置は、上記の種類のものに限られるものではなく、これらに代えて（またはこれらに加えて）、他の種類（例えばＣＤ（Compact Disk；登録商標）プレーヤ、オーディオスピーカ、ホームプロジェクタ、パーソナルコンピュータ等）の機器を含んでいてもよい。
【００４０】
図２は、本発明の第１の実施の形態に係る情報処理装置２〜４を、機能に着目して概略構成を表すものである。以下、この図においては情報処理装置２〜４を、単に情報処理装置１０と総称して説明する。
【００４１】
情報処理装置１０は機能ブロックとして、入力部１０１、ユーザ認識部１０２、移動検出部１０３、実行制御部１０４、通信部１０５、復元部１０６、記憶部１０７、プログラム実行部１０８および読出部１０９を備える。
【００４２】
入力部１０１は、制御情報などの情報を入力する機能を有し、例えば、キーボードなどのユーザが操作する装置、ユーザが携帯するリモコン送信機などから送信される信号を受信して信号に含まれる情報を取得する装置、カメラなどの撮像装置などから構成される。入力部１０１において入力された情報は、ユーザ認識部１０２へ送られるようになっている。
【００４３】
ユーザ認識部１０２は、入力部１０１から入力された情報に基づいて現在情報処理装置１０を使用しているユーザを検出し、予め各ユーザに割り当てられたユーザ識別情報を移動検出部１０３へ送る。具体的には、例えば、ユーザ名の選択や、パスワードによる認証、ユーザが携帯するリモコン送信機から受信された符号を用いた認証、顔認識技術を用いた認証などによりユーザを検出し、後述するユーザＩＤなどのユーザ識別情報を移動検出部１０３へ送るようになっている。
【００４４】
移動検出部１０３は、ユーザの在否の検出およびユーザ識別情報の送信指示を行う。具体的には、通信部１０５が受信したユーザ識別情報と現在情報処理装置１０を使用しているユーザの識別情報とが同一であるかを判定し、同一である場合には実行制御部１０４へその旨を通知するようになっている。また、ユーザ認識部１０２が現在情報処理装置１０を使用しているユーザと異なるユーザを検出した場合にも、実行制御部１０４へその旨を通知するようになっている。
【００４５】
実行制御部１０４は、移動検出部１０３から通知された情報および通信部１０５により受信された後述するソフトウェアセルに含まれる装置情報に基づいて、情報処理装置１０の動作を制御する。具体的には、情報処理装置１０のユーザ認識部１０２が現在情報処理１０を使用しているユーザと異なるユーザを認識したことを通知した場合、通信部１０５を介してネットワークに接続されている他の情報処理装置にソフトウェアセル送信し、他の情報処理装置において同一ユーザが実行中の後述する機能プログラムが存在するか問い合わせするようになっている。また、他の情報処理装置において同一ユーザが実行中の機能プログラムが存在することを示す返信のソフトウェアセルを通信部１０５が受信した場合、実行制御部１０４はこのソフトウェアセルに含まれる装置情報に基づいて、この機能プログラムを実行するべきかどうかを判断するようになっている。
【００４６】
復元部１０６は、通信部１０５から送られた機能プログラムを記憶部１０７の適切な場所に格納すると共に、やはり通信部１０５から送られたこの機能プログラムの実行状況をプログラム実行部１０８および記憶部１０７に書き込みようになっている。
【００４７】
記憶部１０７は、機能プログラムおよびその実行状況、ならびにデータを記憶するようになっている。また、プログラム実行部１０８は、記憶部１０７に格納された機能プログラムを実行するようになっている。
【００４８】
読出部１０９は、記憶部１０７に格納されている機能プログラムおよびその実行状況、ならびにプログラム実行部１０８におけるこの機能プログラムの実行状況情報を読み出し、通信部１０５に送るようになっている。
【００４９】
なお、情報処理装置１０が備える機能ブロックは、図２に示したものに限らず、他の機能ブロックを備えるように構成してもよい。
【００５０】
図３〜図６は、それぞれ、ＴＶ装置２、ゲーム装置３、ハードディスクレコーダ４およびサーバ５を、装置に着目して概略構成を表すものである。
【００５１】
図３に示したように、ＴＶ装置２は、情報処理コントローラ２０と、メインメモリ２１０と、放送受信部２２０と、ＡＶ（Audio-Visual）機能部２２１と、リモコン受光部２２５と、ネットワーク接続部２２６と、システムバス２３０とを備える。メインメモリ２１０は情報処理コントローラ２０に直接接続され、放送受信部２２０、ＡＶ機能部２２１、リモコン受光部２２５およびネットワーク接続部２２６は、システムバス２３０を介して情報処理コントローラ２０に接続されている。なお、図３の装置ブロック図における情報処理コントローラ２０は図２の機能ブロック図におけるユーザ認識部１０２、移動検出部１０３、実行制御部１０４、復元部１０６、プログラム実行部１０８および読出部１０９の機能を含む一具体例に、メインメモリ２１０は記録部１０７の一具体例に、リモコン受光部２２５は入力部１０１の一具体例に、ならびにネットワーク接続部２２６は通信部１０５の一具体例にそれぞれ対応するものである。以下、後述する図４および図５に示すゲーム装置３およびハードディスクレコーダ４の装置ブロック図における構成要素もそれぞれ同様に、図２に示した機能ブロック図における各機能ブロックの一具体例に対応するものである。
【００５２】
情報処理コントローラ２０は、ＴＶ装置２全体の動作を制御するコンピュータ機能部であり、内部バス２０４を介して相互に接続されたメインプロセッサ２０１、サブプロセッサ２０２Ａ〜２０２ＤおよびＤＭＡＣ（Direct Memory Access Controller）２０３を有する。
【００５３】
メインメモリ２１０は、メインプロセッサ２０１およびサブプロセッサ２０２Ａ〜２０２Ｄによって共有される例えばＤＲＡＭ（Dynamic Random Access Memory）などで構成されるメモリであり、ＴＶ装置２の機能を司る各種のプログラムや処理に必要なデータを記憶するようになっている。また、前述の各情報処理装置が保有する装置情報も、メインメモリ２１０内の領域に装置情報テーブルとして記録されるようになっている。
【００５４】
メインプロセッサ２０１は、サブプロセッサ２０２Ａ〜２０２Ｄによるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ２０の全般的な管理とを行うためのものである。ただし、メインプロセッサ２０１内で管理のためのプログラム以外のプログラムが動作することもある。その場合には、メインプロセッサ２０１はサブプロセッサとしても機能することになる。メインプロセッサ２０１は、一時的なワークメモリとしてのＬＳ（Local Storage）２０５を有する。
【００５５】
サブプロセッサ２０２Ａ〜２０２Ｄは、それぞれ、メインプロセッサ２０１の制御によって並列的かつ独立にプログラムを実行し、データを処理するようになっている。ただし、必要に応じ、メインプロセッサ２０１内のプログラムがサブプロセッサ２０２Ａ〜２０２Ｄ内のプログラムと連携して動作することもある。後述する機能プログラムもメインプロセッサ２０１内で動作するプログラムである。各サブプロセッサ２０２Ａ〜２０２Ｄもまた、それぞれ、ＬＳ２０６Ａ〜２０６Ｄを有する。なお、ここではサブプロセッサが４個の場合を示したが、それ以外の個数であってもよく、後述する図４〜６についても同様である。
【００５６】
ＤＭＡＣ２０３は、内部バス２０４とメインメモリ２１０との間に接続され、サブプロセッサ２０２Ａ〜２０２Ｄが、メインメモリ２１０に格納されているプログラムおよびデータに直接（メインプロセッサ２０１を介さずに）アクセスし、プログラムおよびデータのＤＭＡ転送を可能にしている。
【００５７】
ここで、情報処理コントローラ２０には、ＴＶ装置２をネットワーク全体を通して一意的に識別できる識別子が、情報処理装置ＩＤとして割り当てられている。また、各サブプロセッサ２０２Ａ〜２０２Ｄに対しても同様に、各々を特定できる識別子がサブプロセッサＩＤとして割り当てられている（図８参照）。
【００５８】
放送受信部２２０は、多数の放送波の中から任意の放送波を選択的に受信するチューナ機能を有する。ＡＶ機能部２２１は、例えばＬＣＤ（Liquid Crystal Display）やプラズマディスプレイ等からなるディスプレイ２２３と、音声を出力するスピーカ２２４とを含む。リモコン受光部２２５は、ＴＶ装置２に付属するリモコン送信器２１からのリモコン（遠隔操作）赤外線信号を受信するものである。
【００５９】
ネットワーク接続部２２６は、いわゆるＮＩＣ（Network Interface Card）と呼ばれるＬＡＮインターフェース部であり、システムバス２３０とＬＡＮケーブル１１との間を接続している。
【００６０】
図４に示したように、ゲーム装置３は、情報処理コントローラ３０と、メインメモリ３１０と、記録再生部３４０と、映像出力部３２１と、音声出力部３２４と、リモコン受光部３２５と、ネットワーク接続部３２６と、システムバス３３０とを備える。メインメモリ３１０および記録再生部３４０は情報処理コントローラ３０に直接接続され、映像出力部３２１、音声出力部３２４、リモコン受光部３２５およびネットワーク接続部３２６は、システムバス３３０を介して情報処理コントローラ３０に接続されている。
【００６１】
情報処理コントローラ３０は、内部バス３０４を介して相互に接続されたメインプロセッサ３０１、サブプロセッサ３０２Ａ〜３０２Ｄ、ＤＭＡＣ３０３およびＤＣ（Disc Controller）３０７を有する。
【００６２】
メインプロセッサ３０１は、一時的なワークメモリとしてのＬＳ３０５を有する。各サブプロセッサ３０２Ａ〜３０２Ｄもまた、それぞれ、ＬＳ３０６Ａ〜３０６Ｄを有する。ＤＭＡＣ３０３は、内部バス３０４とメインメモリ３１０との間に接続されている。
【００６３】
ＤＣ３０７は、接続された記録再生部３４０にアクセスするものである。したがって、ＤＣ３０７は、ディスクコントローラと称するが、記録再生部コントローラである。また、情報処理コントローラ３０は、図４の概略構成のように、複数の記録再生部３４０内のユニットを接続するような構成にすることも可能となっている。
【００６４】
記録再生部３４０は、ＤＣ３０７に接続されており、図４のゲーム装置３の例ではＨＤＤ（Hard Disk Drive）ユニット３４０ＡおよびＤＶＤ（ＤＶＤ±ＲＷ（Digital Versatile Disc±ReWritable））ユニット３４０Ｂから構成されているが、この記録再生部３４０に適用される記録再生手段としては、各種のものを用いることが可能である。例えば、固定ディスク（ハードディスク）でも、リムーバブルディスクでもよく、また、ＭＯ（Magneto Optical）,ＣＤ±ＲＷ（Compact Disc±ReWritable）などの光ディスク、メモリディスク、ＳＲＡＭ（Static Random Access Memory）などが挙げられる。
【００６５】
映像出力部３２１および音声出力部３２４は、情報処理コントローラ３０からシステムバス３３０へ送出された映像データおよび音声データを処理して、デジタルデータのまま、またはアナログ信号に変換して、それぞれゲーム装置３に付属する表示装置３２が有する例えばＬＣＤやプラズマディスプレイ等からなるディスプレイ３２Ａおよび音声を出力するスピーカ３２Ｂへ送出するものである。リモコン受光部３２５は、ゲーム装置３に付属するリモコン送信器３１からのリモコン赤外線信号を受信するものであり、ネットワーク接続部３２６はＬＡＮインターフェース部で、システムバス３３０とＬＡＮケーブル１１との間を接続している。
【００６６】
図５に示したように、ハードディスクレコーダ４は、情報処理コントローラ４０と、メインメモリ４１０と、記録再生部４４０と、放送受信部４２０と、映像出力部４２１と、音声出力部４２４と、リモコン受光部４２５と、ネットワーク接続部４２６と、システムバス４３０とを備える。メインメモリ４１０および記録再生部部４４０は情報処理コントローラ４０に直接接続され、放送受信部４２０、映像出力部４２１、音声出力部４２４、リモコン受光部４２５およびネットワーク接続部４２６は、システムバス４３０を介して情報処理コントローラ４０に接続されている。
【００６７】
情報処理コントローラ４０は、内部バス４０４を介して相互に接続されたメインプロセッサ４０１、サブプロセッサ４０２Ａ〜４０２Ｄ、ＤＭＡＣ４０３およびＤＣ４０７を有する。
【００６８】
メインプロセッサ４０１は、一時的なワークメモリとしてのＬＳ４０５を有する。各サブプロセッサ４０２Ａ〜４０２Ｄもまた、それぞれ、ＬＳ４０６Ａ〜４０６Ｄを有する。ＤＭＡＣ４０３は、内部バス４０４とメインメモリ４１０との間に接続されている。
【００６９】
ＤＣ４０７は、接続された記録再生部４４０にアクセスするものであり、記録再生部４４０は、記録再生手段としてＨＤＤユニット４４０Ａを有する。また、前述のように、この記録再生部４４０に適用される記録再生手段としては、各種のものを用いることが可能である。
【００７０】
放送受信部４２０は、多数の放送波の中から任意の放送波を選択的に受信するチューナ機能を有する。映像出力部４２１および音声出力部４２４は、情報処理コントローラ４０からシステムバス４３０へ送出された映像データおよび音声データを処理して、デジタルデータのまま、またはアナログ信号に変換して、それぞれハードディスクレコーダ４に付属する表示装置４２が有するディスプレイ４２Ａおよびスピーカ４２Ｂへ送出するものである。リモコン受光部４２５は、ハードディスクレコーダ４に付属するリモコン送信器４１からのリモコン赤外線信号を受信するものであり、ネットワーク接続部４２６はＬＡＮインターフェース部で、システムバス４３０とＬＡＮケーブル１１との間を接続している。
【００７１】
図６に示したように、サーバ５は、情報処理コントローラ５０と、メインメモリ５１０と、外部記録部５４０と、ネットワーク接続部５２６と、システムバス５３０とを備える。メインメモリ５１０および外部記録部５４０は情報処理コントローラ５０に直接接続され、ネットワーク接続部５２６はシステムバス５３０を介して情報処理コントローラ５０に接続されている。
【００７２】
情報処理コントローラ５０は、内部バス５０４を介して相互に接続されたメインプロセッサ５０１、サブプロセッサ５０２Ａ〜５０２Ｄ、ＤＭＡＣ５０３およびＤＣ５０７を有する。
【００７３】
メインプロセッサ５０１は、一時的なワークメモリとしてのＬＳ５０５を有する。各サブプロセッサ５０２Ａ〜５０２Ｄもまた、それぞれ、ＬＳ５０６Ａ〜５０６Ｄを有する。ＤＭＡＣ５０３は、内部バス５０４とメインメモリ５１０との間に接続されている。
【００７４】
外部記録部５４０は、ＤＣ５０７に接続されている。また、前述の記録再生部３４０，４４０ように、この外部記録部５４０に適用される記録手段としては、各種のものを用いることが可能である。
【００７５】
ネットワーク接続部５２６はＬＡＮインターフェース部であり、システムバス５３０とＬＡＮケーブル１１との間を接続している。
【００７６】
なお、本発明の実施の形態における各情報処理装置２〜４およびサーバ５の構成は、図３〜図６に示したものに限られない。例えば、サブプロセッサの数や記録再生部、外部記録部の種類などは問わない。また、例えばＴＶ装置２がハードディスクレコーダ４などと同様に、記録媒体に対する記録再生機能を備えていてもよい。あるいは逆に、例えばゲーム装置３やハードディスクレコーダ４が、ＴＶ装置２と同様に、映像や音声の表示機能を備えていてもよい。
【００７７】
本実施の形態の情報処理システムにおいては、各情報処理装置２〜４が保有する装置情報の送受信は、前述のように所定のフォーマットを有する制御パケットまたは情報パケットであるソフトウェアセルを用いて行うようになっている。具体的には、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサが、コマンド、プログラムおよび装置情報等を含むデータから構成されたソフトウェアセルを生成し、ネットワークを介して他の情報処理装置と送受信するようになっている。なお、以下図７〜図９においては、各情報処理装置２〜４を単に「情報処理装置」として説明をしていく。また、前述の記録再生部３４０，４４０および外部記録部５４０については、単に「外部記録部」と総称して説明をしていく。
【００７８】
図７は、上記したソフトウェアセルの構成例を表すものである。このソフトウェアセルは全体として、送信元ＩＤ８０１、送信先ＩＤ８０２、応答先ＩＤ８０３、セルインターフェース８０４、ＤＭＡコマンド８０５、プログラム８１１およびデータ８１２から構成される。
【００７９】
送信元ＩＤ８０１には、ソフトウェアセルの送信元である情報処理装置のＩＰ（Internet Protocol）アドレスおよびその情報処理装置内の情報処理コントローラの情報処理装置ＩＤ、さらに、その情報処理装置内の情報処理コントローラが備える各サブプロセッサの識別子（サブプロセッサＩＤ）が含まれる。
【００８０】
送信先ＩＤ８０２および応答先ＩＤ８０３には、それぞれ、ソフトウェアセルの送信先である情報処理装置、およびソフトウェアセルの実行結果の応答先である情報処理装置についての、送信元ＩＤ８０１と同じ情報が含まれる。
【００８１】
セルインターフェース８０４は、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ８０４Ａ、必要なサブプロセッサの情報８０４Ｂ、サンドボックスサイズ８０４Ｃおよび前回のソフトウェアセルＩＤ８０４Ｄから構成される。
【００８２】
グローバルＩＤ８０４Ａは、ネットワーク全体を通してそのソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ８０１およびソフトウェアセルの作成または送信の日時（日付および時刻）に基づいて作成されるようになっている。
【００８３】
必要なサブプロセッサの情報８０４Ｂは、そのソフトウェアセルの実行に必要なサブプロセッサの数が設定されるようになっている。
【００８４】
サンドボックスサイズ８０４Ｃは、そのソフトウェアセルの実行に必要なメインメモリ内およびサブプロセッサのＬＳ内のメモリ量が設定されるようになっている。
【００８５】
前回のソフトウェアセルＩＤ８０４Ｄは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００８６】
ソフトウェアセルの実行セクション８１３は、ＤＭＡ（Direct Memory Access）コマンド８０５、プログラム８１１およびデータ８１２から構成される。ＤＭＡコマンド８０５には、プログラム８１１の起動に必要な一連のＤＭＡコマンドが含まれ、プログラム８１１には、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。ここでのデータ８１２は、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００８７】
ＤＭＡコマンド８０５には、ロードコマンド８０６、キックコマンド８０７、ステータス要求コマンド８０８、ステータス返信コマンド８０９、機能プログラム実行コマンド８１０、ユーザ操作通知コマンド８１４、ユーザ操作返信コマンド８１５、機能プログラム移行情報要求コマンド８１６および機能プログラム移行情報返信コマンド８１７が含まれる。
【００８８】
ロードコマンド８０６は、メインメモリ内の情報をサブプロセッサ内のＬＳにロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス８０６Ａ、サブプロセッサＩＤ８０６ＢおよびＬＳアドレス８０６Ｃを含む。メインメモリアドレス８０６Ａは、情報のロード元であるメインメモリ内の所定領域のアドレスを示す。サブプロセッサＩＤ８０６ＢおよびＬＳアドレス８０６Ｃは、情報のロード先であるサブプロセッサの識別子およびＬＳのアドレスを示す。
【００８９】
キックコマンド８０７は、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサＩＤ８０７Ａおよびプログラムカウンタ８０７Ｂを含む。サブプロセッサＩＤ８０７Ａは、キック対象のサブプロセッサを識別し、プログラムカウンタ８０７Ｂは、プログラム実行用プログラムカウンタのためのアドレスを与えるようになっている。
【００９０】
機能プログラム実行コマンド８１０は、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、機能プログラムＩＤ８１０Ａによって、起動すべき機能プログラムを識別するようになっている。機能プログラムについては後述するが、図９に示す情報処理コントローラのメインメモリが記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムはメインメモリにロードされ、メインプロセッサにより実行されるようになっている。
【００９１】
ステータス要求コマンド８０８は、送信先ＩＤ８０２で示される情報処理装置の装置情報を、応答先ＩＤ８０３で示される情報処理装置宛に送信要求するコマンドである。
【００９２】
ステータス返信コマンド８０９は、上記のステータス要求コマンド８０８を受信した情報処理装置が、自身の装置情報をそのステータス要求コマンド８０８に含まれる応答先ＩＤ８０３で示される情報処理装置に応答するコマンドである。ステータス返信コマンド８０９は、実行セクションのデータ領域に装置情報を格納するようになっている。
【００９３】
ユーザ操作通知コマンド８１４は、後述するようにユーザの操作を通知するコマンドであり、ユーザ操作返信コマンド８１５は、ユーザ操作通知コマンド８１４に対する応答をするコマンドである。また、機能プログラム移行情報要求コマンド８１６は、後述するように機能プログラムの実行状況を含む移行情報を要求するコマンドであり、機能プログラム移行情報返信コマンド８１７は、機能プログラム移行情報要求コマンド８１６に対する応答をするコマンドである。
【００９４】
図８はステータス返信コマンド８０９のデータ構成例を表すものであり、上記のようにステータス要求コマンド８０８を受信した情報処理装置、つまりステータス返信コマンド８０９を送信する情報処理装置の装置情報を示すものである。この装置情報は、情報処理装置ＩＤ８２１および情報処理装置種別ＩＤ８２２の他に、基本情報部８３０および付加情報部８５０から構成される。
【００９５】
基本情報部８３０は、ＭＳステータス８３１、メインプロセッサ動作周波数８３２、メインプロセッサ使用率８３３、サブプロセッサ数８３４、サブプロセッサＩＤ８３５、サブプロセッサステータス８３６、サブプロセッサ使用率８３７、メインメモリ総容量８３８、メインメモリ使用量８３９、外部記録部数８４０、外部記録部ＩＤ８４１、外部記録部種別ＩＤ８４２、外部記録部総容量８４３および外部記録部使用量８４４を有する。
【００９６】
付加情報部８５０は、ユーザＩＤ８５１、機能プログラムＩＤ８５２、ユーザ一致識別ＩＤ８５３、機能プログラム実行状況情報８５４、応答時間制約情報８５５、往復通信時間情報８５６および要求性能情報８５７を有する。
【００９７】
情報処理装置ＩＤ８２１は、情報処理装置内の情報処理コントローラを識別するための識別子であり、ステータス返信コマンド８０９を送信する情報処理装置を示すものである。情報処理装置ＩＤ８２１は、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサによって生成されるようになっている。具体的には例えば、電源投入時の日時、情報処理装置のＩＰアドレスおよび情報処理装置内の情報処理コントローラに含まれるサブプロセッサの数などに基づいて生成される。
【００９８】
情報処理装置種別ＩＤ８２２には、その情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば本実施の形態の場合、ＴＶ装置、ゲーム装置、ハードディスクレコーダなどである。また、情報処理装置種別ＩＤ８２２は、映像音声記録、映像音声再生など、装置の機能を表すものであってもよい。また、情報処理装置の特徴や機能を表す値は予め決定されているものとし、情報処理装置種別ＩＤ８２２に基づいて、その情報処理装置の特徴や機能を把握することができるようになっている。
【００９９】
ＭＳ（マスタ／スレーブ）ステータス８３１は、後述のように各情報処理装置がマスタ装置またはスレーブ装置のいずれとして動作しているかを表すものである。具体的には例えば、ＭＳステータスが０に設定されている場合にはマスタ装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示すようになっている。
【０１００】
メインプロセッサ動作周波数８３２は、情報処理コントローラ内のメインプロセッサの動作周波数を表す。また、メインプロセッサ使用率８３３は、そのメインプロセッサで現在実行中の全てのプログラムについての、そのメインプロセッサでの使用率を表す。メインプロセッサ使用率８３３は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値であり、例えばプロセッサの処理能力評価のための単位であるＭＩＰＳ（Million Instructions Per Second）を単位として算出され、あるいは単位時間あたりのプロセッサ使用時間に基づいて算出されるようになっている。後述のサブプロセッサ使用率８３７についても同様にして算出されるようになっている。
【０１０１】
サブプロセッサ数８３４は、その情報処理コントローラが備えるサブプロセッサの数を表し、サブプロセッサＩＤ８３５は、その情報処理コントローラ内の各サブプロセッサを識別するための識別子である。
【０１０２】
サブプロセッサステータス８３６は、各サブプロセッサの状態を表すものであり、unused（未使用），reserved（予約済み），busy（使用中）などの状態がある。unusedは、そのサブプロセッサが現在使用されてなく、使用の予約もされていない状態を表し、reservedは、現在は使用されていないが、予約されている状態を表し、busyは、現在使用中であることを表すようになっている。
【０１０３】
サブプロセッサ使用率８３７は、そのサブプロセッサで現在実行中の、あるいはそのサブプロセッサでの実行が予約されているプログラムについての、そのサブプロセッサでの使用率を表すものである。すなわち、サブプロセッサ使用率８３７は、サブプロセッサステータス８３６がbusyである場合には現在の使用率を示し、サブプロセッサステータス８３６がreservedである場合には、後に使用される予定の推定使用率を示すようになっている。
【０１０４】
サブプロセッサＩＤ８３５、サブプロセッサステータス８３６およびサブプロセッサ使用率８３７は、１つのサブプロセッサに対して一組設定されるものであり、１つの情報処理コントローラ内のサブプロセッサ数の組だけ設定されるようになっている。
【０１０５】
メインメモリ総容量８３８およびメインメモリ使用量８３９は、それぞれ、その情報処理コントローラに接続されているメインメモリの総容量および現在使用中の容量を表すものである。
【０１０６】
外部記録部数８４０は、その情報処理コントローラに接続されている外部記録部の数を表す。外部記録部ＩＤ８４１は、その情報処理コントローラに接続されている外部記録部を一意的に識別する情報である。外部記録部種別ＩＤ８４１は、その外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表すようになっている。また、外部記録部総容量８４３および外部記録部使用量８４４は、それぞれ、外部記録部ＩＤ８４１によって識別される外部記録部の総容量および現在使用中の容量を表す。
【０１０７】
外部記録部ＩＤ８４１、外部記録部種別ＩＤ８４２、外部記録部総容量８４３および外部記録部使用量８４４は、１つの外部記録部に対して一組設定されるものであり、その情報処理コントローラに接続されている外部記録部数の組だけ設定されるようになっている。
【０１０８】
ユーザＩＤ８５１は、文字通り各ユーザの識別子であり、ユーザ毎に固有の番号が割り振られている。機能プログラムＩＤ８５２は、前述のように機能プログラムの識別子であり、ここでは現在この情報処理装置において実行中の機能プログラムを表す。この機能プログラムＩＤ８５２は上記のユーザＩＤ８５１と関連づけて記録され、これらの情報により、現在この情報処理装置においてどのユーザがどの機能プログラムを実行中なのかを把握することができるようになっている。また、ユーザ一致識別ＩＤ８５３は、後述するように、ある情報処理装置において通知されたユーザが実行中の機能プログラムが存在するか否かを表すものであり、例えば、通知されたユーザＩＤと機能プログラムを実行中のユーザＩＤが一致する場合は０、一致しない場合は１といった具合に設定されるようになっている。
【０１０９】
機能プログラム実行状況情報８５４は、やはり後述するように、機能プログラムの実行状況情報（つまり、機能プログラムの処理の実行状況。）を表し、ユーザが場所を移動したときに機能プログラムの処理を継続して実行できるように、これらの情報がソフトウェアセルに含まれて送受信されるようになっている。
【０１１０】
応答時間制約情報８５５は、後述するようにある機能プログラムを実行する際にどのくらいの応答時間までなら許容できるかといった情報を表す。往復通信時間情報８５６は情報処理装置間の往復の通信時間を表す。要求性能情報８５７は、後述するようにある機能プログラムを実行するために必要とされる情報処理装置の性能を表し、例えば、メインプロセッサ動作周波数８３２やメインメモリ総容量８３８、外部記録部総容量８４３などが該当する。
【０１１１】
以上のように、図７および図８を参照して、情報処理装置間で伝送されるソフトウェアセルの構成例を説明してきたが、本発明の実施の形態におけるソフトウェアセルの構成例は、これらに限られるものではなく、ユーザの目的と用途に合わせて自由に設定することが可能である。
【０１１２】
図９〜図１３は、図１に示した情報処理システムの各装置が保有するソフトウェア構成の一例を表すものである。
【０１１３】
まず、図９は情報処理装置が保有するソフトウェアの基本構成の一例を表すものである。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前においては、その情報処理コントローラに接続される外部記録部に記録されているようになっている。
【０１１４】
図９に示すように、ソフトウェア８６は、機能または特徴によって、制御プログラム８７、機能プログラム８８およびデバイスドライバ８９に分類される。
【０１１５】
制御プログラム８７は、情報処理システム全体の構成を制御および管理する機能を有し、各情報処理コントローラのメインプロセッサが実行するソフトウェアである。例えば図９に示すように、制御プログラム８７は、ＭＳマネージャ８７１および能力交換プログラム８７２を含む。ＭＳマネージャ８７１は、後述するように各情報処理装置がマスタ装置であるかスレーブ装置であるかという情報を設定する機能を有する。また、能力交換プログラム８７２も後述するように、各情報処理装置が保有する装置情報を取得する機能を有する。
【０１１６】
機能プログラム８８は、各情報処理装置における処理動作を担う機能を有し、メインプロセッサが実行するソフトウェアであり、例えば、記録用プログラム、再生用プログラムおよび素材検索用プログラムなど、情報処理コントローラごとにその情報処理装置に応じたものを含むようになっている。
【０１１７】
デバイスドライバ８９は、情報処理コントローラのデータ入出力（送受信）用のソフトウェアであり、例えば、放送受信用ドライバ、モニタ出力用ドライバ、ビットストリーム入出力用ドライバ、ネットワーク入出力用ドライバなど、やはり情報処理コントローラごとにその情報処理装置に応じたものを含むようになっている。
【０１１８】
次に、図１０は図１に示したＴＶ装置２のソフトウェア構成の一例を表すものである。この図に示したように、ＴＶ装置２のソフトウェア２６は、例えば、制御プログラム２７としてＭＳマネージャ２７１および能力交換プログラム２７２を含み、機能プログラム２８としてＡＶ処理用プログラム２８１を含み、デバイスドライバ２９として、放送受信用ドライバ２９１、映像表示用ドライバ２９２、音声表示用ドライバ２９３およびネットワーク入出力用ドライバ２９４を含む。
【０１１９】
図１１は、図１に示したゲーム装置３のソフトウェア構成の一例を表すものである。この図に示したように、ゲーム装置３のソフトウェア３６は、例えば、制御プログラム３７としてＭＳマネージャ３７１および能力交換プログラム３７２を含み、機能プログラム３８として映像音声再生用プログラム３８２を含み、デバイスドライバ３９として、映像出力用ドライバ３９２、音声出力用ドライバ３９３、記録再生部入出力用ドライバ３９５およびネットワーク入出力用ドライバ３９４を含む。
【０１２０】
図１２は、図１に示したハードディスクレコーダ４のソフトウェア構成の一例を表すものである。この図に示したように、ハードディスクレコーダ４のソフトウェア４６は、例えば、制御プログラム４７としてＭＳマネージャ４７１および能力交換プログラム４７２を含み、機能プログラム４８として、映像音声記録用プログラム４８２、映像音声再生用プログラム４８３、素材検索用プログラム４８４および番組録画予約用プログラム４８５を含み、デバイスドライバ４９として、放送受信用ドライバ４９１、映像出力用ドライバ４９２、音声出力用ドライバ４９３、記録再生部入出力用ドライバ４９５およびネットワーク入出力用ドライバ４９４を含む。
【０１２１】
図１３は、図１に示したサーバ５のソフトウェア構成の一例を表すものである。この図に示したように、サーバ５のソフトウェア５６は、例えば、制御プログラム５７としてＭＳマネージャ５７１および能力交換プログラム５７２を含み、機能プログラム５８としてサーバ機能用プログラム５８６を含み、デバイスドライバ５９として外部記録部入出力用ドライバ５９５およびネットワーク入出力用ドライバ５９４を含む。
【０１２２】
なお、図９〜図１３で示した本発明の実施の形態におけるソフトウェア構成例は、これらに限られるものではなく、ユーザの目的と用途に合わせて自由に設定することが可能である。
【０１２３】
図１４は、図１の情報処理システムにおけるゲーム装置３、ハードディスクレコーダ４およびサーバ５の要部構成を抽象化して表したものである。図１と同様に、子供部屋１３に設置されているゲーム装置３、居間１４に設置されているハードディスクレコーダ４およびサーバ５の間をＬＡＮケーブル１１が接続された状況になっている。
【０１２４】
図１４において、ゲーム装置３については、情報処理コントローラ３０、リモコン受光部３２５、ＨＤＤユニット３４０Ａならびにゲーム装置３に付属するリモコン送信器３１および表示装置３２のみを示している。また、ハードディスクレコーダ４については、情報処理コントローラ４０、リモコン受光部４２５、放送受信部４２０、ＨＤＤユニット４４０Ａならびにハードディスクレコーダ４に付属するリモコン送信器４１および表示装置４２のみを示し、サーバ５についてはメインメモリ５１０のみを示している。なお、図１４においては、ゲーム装置３およびハードディスクレコーダ４の記録再生手段としてそれぞれ、ＨＤＤユニット３４０Ａ，４４０Ａのみを示しているが、これらの代わりに（あるいはこれらに加えて）メインメモリ３１０，４１０が担ってもよい。以下、後述する図１５、図２１〜図２２についても同様である。
【０１２５】
図１４ではまた、現在ユーザ６が子供部屋１３においてゲーム装置３に付属するリモコン送信器３１を使用し、ゲーム装置３の情報処理コントローラ３０に前述の機能プログラムに属する映像音声用プログラム３８２を実行させている状態を示している。また、ハードディスクレコーダ４の情報処理コントローラ４０においては、図示しない別のユーザにより、やはり前述の機能プログラムに属する番組録画予約用プログラム４８５が実行されている状態も示している。
【０１２６】
なお、図１４においては、ゲーム装置３およびハードディスクレコーダ４において、それぞれ機能プログラムが実行されていることによるデータの入出力状況の一例も模式的に示している。具体的には、ゲーム装置３においては、ユーザ６が使用するリモコン送信器３１からリモコン受光部３２５を介して情報処理コントローラ３０へ送信される制御信号６３１、情報処理コントローラ３０とＨＤＤユニット３４０Ａとの間で交換されるプログラムおよびデータ６３２、ならびに情報処理コントローラ３０から表示装置６３３へ出力される映像音声用プログラム３８２の実行結果データ６３３（例えば、映像データおよび音声データなど。）を示し、ハードディスクレコーダ４においては、放送受信部４２０から情報処理コントローラ４０へ出力される放送受信データ６４４および情報処理コントローラ４０からＨＤＤユニット４４０Ａへ出力される番組録画データ６４２を示している。
【０１２７】
また、図１５は、図１４においてユーザが位置を移動したときに実行状況を移行する動作を情報処理システムの要部構成と共に抽象化して表したものである。これまで図１４のように子供部屋１３においてゲーム装置３に映像音声用プログラム３８２を実行させていたユーザ６が処理を一時停止し、移動状況６１のように居間１４へ移動して、ハードディスクレコーダ４に映像音声用プログラム３８２の処理を再開させる状況を表している。
【０１２８】
次に、図１４〜図２０を参照して、以上のような構成の情報処理システムにおいて、ユーザが位置を移動したときに実行状況を移行し、再開する動作を説明する。ここで、図１６〜図１９は、ユーザが位置を移動したときに実行状況を移行し、再開する処理を表すものであり、図２０は、図８における付加情報の一例を表すものである。なお、図１６ではスレーブ装置として機能するＴＶ装置２についての流れ図は示されていないが、図１６中のスレーブ装置Ａ（ゲーム装置３）およびスレーブ装置Ｂ（ハードディスクレコーダ４）と同様の動作となるので、省略してある。また、図１７〜図１９でもスレーブ装置として機能するＴＶ装置２についての流れ図は示されていないが、ユーザ６がゲーム装置３およびハードディスクレコーダ４を操作するこの場合の処理においてはＴＶ装置２の動作は関連がないので、省略してある。
【０１２９】
まず、図１４および図１６を参照して、本実施の形態において、装置の主電源投入からユーザ６が処理を開始するときの基本動作について説明する。
【０１３０】
処理の開始として、上記の情報処理システムにおいては、ケーブルの差し込みなどによってサーバ５および各情報処理装置２〜４が物理的にネットワークに接続された状態で主電源が投入され、電気的および機能的にもネットワークに接続されると、サーバ５および各情報処理装置２〜４の情報処理コントローラのメインプロセッサは、制御プログラムに属するＭＳマネージャおよびデバイスドライバに属する各プログラムを、メインメモリにロードする。
【０１３１】
ロード手順としては、メインプロセッサはまず、ＤＣに読み出し命令を実行させることによって、外部記録部からプログラムを読み出し、次に、ＤＭＡＣに書き込み命令を実行させることによって、そのプログラムをメインメモリに書き込む。
【０１３２】
ここで、機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、あるいは、上記の制御プログラムおよびデバイスドライバに属する各プログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１３３】
また、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置２〜４の外部記録部に記録されている必要はなく、いずれか１つの情報処理装置の外部記録部に記録されていれば、ソフトウェアセルを用いて他の情報処理装置からロードすることも可能である。
【０１３４】
このようにして各プログラムをメインメモリにロードした後、サーバ５、ＴＶ装置２、ゲーム装置３およびハードディスクレコーダ４はそれぞれ、このＭＳマネージャ５７１，２７１，３７１，４７１を実行する（ステップＳ１０１Ａ〜Ｓ１０１Ｃ）。ＭＳマネージャは、自身が動作する情報処理装置がネットワークに接続されていることを検知すると、同じネットワークに接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、各情報処理装置が物理的にネットワークに接続されているだけでなく、電気的および機能的にもネットワークに接続されていることを意味する。
【０１３５】
ここで、ＭＳマネージャ５７１，２７１，３７１，４７１が同じネットワークに接続されている他の情報処理装置の存在を確認する方法を以下に示す。なお、以下、自身の情報処理装置を自装置、他の情報処理装置を他装置と称すものとする。
【０１３６】
ＭＳマネージャ５７１，２７１，３７１，４７１は、ＤＭＡコマンド８０５がステータス要求コマンド８０８であり、送信元ＩＤ８０１および応答先ＩＤ８０３が自装置で、送信先ＩＤ８０２を特定しないソフトウェアセルを生成し、その情報処理装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分とする。
【０１３７】
ネットワーク上に他装置が接続されている場合、その他装置は、上記のＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを受信し、上記の応答先ＩＤで特定されるステータス要求コマンドを送信した情報処理装置に対して、ＤＭＡコマンド８０５がステータス返信コマンド８０９で、かつデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このＤＭＡコマンドがステータス返信コマンドであるソフトウェアセルには、少なくともその他装置を特定する情報（情報処理装置ＩＤ８２１、メインプロセッサに関する情報８３２〜８３３およびサブプロセッサに関する情報８３４〜８３７など）およびその他装置のＭＳステータス８３１が含まれる。
【０１３８】
ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを発行した情報処理装置のＭＳマネージャは、上記のネットワーク接続確認用のタイマーがタイムアウトするまで、そのネットワーク上の他装置から送信される、ＤＭＡコマンドがステータス返信コマンドであるソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスタ装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これにより、その装置はスレーブ装置として機能するようになる。
【０１３９】
一方、上記のネットワーク接続確認用のタイマーがタイムアウトするまでの間にＤＭＡコマンドがステータス返信コマンドであるソフトウェアセルが全く受信されなかった場合、あるいはＭＳステータス＝０（マスタ装置）を示すソフトウェアセルが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これにより、その装置はマスタ装置として機能するようになる。
【０１４０】
すなわち、いずれの情報処理装置もネットワークに接続されていない状態、またはネットワーク上にマスタ装置が存在しない状態において、新たな情報処理装置がネットワークに接続されると、その装置は自動的にマスタ装置として設定される。一方、ネットワーク上に既にマスタ装置が存在する状態において、新たな情報処理装置がネットワークに接続されると、その装置は自動的にスレーブ装置として設定される。
【０１４１】
ここで、マスタ装置およびスレーブ装置のいずれについても、ＭＳマネージャは、定期的にＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルをネットワーク上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。
【０１４２】
その結果、ネットワークに接続されている情報処理装置の主電源が遮断され、またはネットワークから情報処理装置が切り離されることにより、あらかじめ設定された所定時間内に特定の他装置からステータス返信コマンド８０９が返信されなかった場合や、ネットワークに新たな情報処理装置が接続された場合など、ネットワークの接続状態に変化があった場合には、その情報を能力交換プログラムに通知する。
【０１４３】
以上のようにして、ステップＳ１０１において、サーバ５はマスタ装置として、ＴＶ装置２、ゲーム装置３およびハードディスクレコーダ４はそれぞれスレーブ装置として機能するように設定されるものとする。
【０１４４】
次に、サーバ５、ＴＶ装置２、ゲーム装置３およびハードディスクレコーダ４のメインプロセッサ５０１，２０１，３０１，４０１は、自装置のＭＳマネージャから、ネットワーク上の他装置の照会および自装置のＭＳステータス８３１の設定完了の通知を受けると、能力交換プログラム５７２，２７２，３７２，４７２を実行する（ステップＳ１０２Ａ〜Ｓ１０２Ｃ）。
【０１４５】
各能力交換プログラムは、自装置がマスタ装置である場合には、ネットワークに接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。つまり、本実施の形態の場合、サーバ５がＴＶ装置２、ゲーム装置３およびハードディスクレコーダ４の装置情報を取得する。
【０１４６】
他装置の装置情報は、前述したように、ＤＭＡコマンド８０５がステータス要求コマンド８０８であるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンド８０５がステータス返信コマンド８０９で、かつそのデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって取得される。
【０１４７】
ここで、サーバ５の能力交換プログラム５７２は、マスタ装置である自装置の装置情報テーブルに加えて、ネットワークに接続されている全ての他装置、つまり各スレーブ装置（ＴＶ装置２、ゲーム装置３およびハードディスクレコーダ４）の装置情報を一括して記録するための領域をメインメモリ５１０に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。
【０１４８】
これにより、マスタ装置であるサーバ５のメインメモリ５１０には、自装置を含むネットワークに接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして集約して管理されるようになる。
【０１４９】
一方、能力交換プログラムは、自装置がスレーブ装置である場合には、ネットワークに接続されている全ての他装置の装置情報、すなわちマスタ装置および自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤ８２１およびＭＳステータス８３１を、自装置のメインメモリに記録する。つまり、例えば本実施の形態におけるＴＶ装置２の場合、マスタ装置であるサーバ５、ならびに他のスレーブ装置であるゲーム装置３およびハードディスクレコーダ４の情報処理装置ＩＤ８２１およびＭＳステータス８３１を、自装置のメインメモリ２１０に記録する。
【０１５０】
よって、スレーブ装置のメインメモリには、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワークに接続されているマスタ装置および各スレーブ装置についての情報処理装置ＩＤ８２１およびＭＳステータス８３１が、別の装置情報テーブルとして記録される。これにより各スレーブ装置も、簡易的ながら他装置の情報を認識することが可能となり、例えば他装置がマスタ装置なのかスレーブ装置なのかを識別することができる。
【０１５１】
また、マスタ装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから新たにネットワークに情報処理装置が接続されたことが通知されたときには、その装置の装置情報を取得し、上述のようにメインメモリ内の装置テーブルに記録する。
【０１５２】
さらに、マスタ装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャからネットワークに接続されている情報処理装置の主電源が遮断され、またはネットワークから情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリから削除する。
【０１５３】
また、このときネットワークから切断された情報処理装置がマスタ装置であった場合には、以下のような方法によって、新たにマスタ装置が決定される。
【０１５４】
例えば、ネットワークから切断されていない情報処理装置は、それぞれ、自装置および他装置の情報処理装置ＩＤ８２１を数値に置き換えて、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワークから切断されていない情報処理装置中で最小である場合、そのスレーブ装置はＭＳステータスを０に設定し、マスタ装置として機能するようになる。そして上記のように、ネットワークに接続されている全ての他装置（各スレーブ装置）の装置情報を取得して、自装置のメインメモリに記録する。
【０１５５】
なお、ＭＳマネージャおよび能力交換プログラムは、メインプロセッサで実行されるとは限らず、いずれかのサブプロセッサで実行されてもよい。また、ＭＳマネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１５６】
以上のようにして、マスタ装置およびスレーブ装置の構成の決定、ならびに各情報処理装置が保有する装置情報の取得に関する基本動作が終了する。
【０１５７】
次に、ゲーム装置３に付属したリモコン送信器３１により、ユーザ６からゲーム（映像音声再生用プログラム３８２）を開始するという操作（ユーザ操作通知）があった場合（ステップＳ１０３）、ゲーム装置３はそのユーザ操作通知を受け付け、そのユーザを識別してユーザＩＤ８５１を認識する。そしてゲーム装置３のメインプロセッサ３０１は、少なくともこの認識されたユーザＩＤ８５１を含む、前述のようにＤＭＡコマンド８０５がユーザ操作通知コマンド８１４であるソフトウェアセルを生成し、このソフトウェアセルをサーバ５の情報処理コントローラ５０に送信する（ステップＳ１０４）。なお、送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置は、それぞれソフトウェアセル内に含まれる、前述の送信元ＩＤ８０１、送信先ＩＤ８０２および応答先ＩＤ８０３によって識別される。
【０１５８】
次に、このソフトウェアセルを受信したサーバ５の情報処理コントローラ５０に含まれるメインプロセッサ５０１は、そのソフトウェアセルをメインメモリ５１０に格納する。メインプロセッサ５０１はそのソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを解読および処理をする（ステップＳ１０５）。
【０１５９】
サーバ５は、前述のようにメインメモリ５１０に集約して管理している全スレーブ装置の装置情報に含まれるユーザＩＤ８５１および機能プログラムＩＤ８５２、ならびにこのソフトウェアセルに含まれ通知されたユーザＩＤに基づいて、通知されたユーザが実行中の機能プログラムが他のスレーブ装置（この場合、ＴＶ装置２およびハードディスクレコーダ４）に存在するかどうかを調査する（ステップＳ１０６）。そして図１４のようにこの場合、通知されたユーザが実行中の機能プログラムが他の装置には存在しないので、サーバ５はそのような機能プログラムは存在しないと認識し、新たにゲーム装置３においてユーザ６が映像音声再生用プログラム３８２を実行中であるというように、メインメモリ５１０内の装置情報を更新する（ステップＳ１０７）。そしてサーバ５は、データとしてユーザ一致識別ＩＤ８５３を含む、ＤＭＡコマンド８０５がユーザ操作返信コマンド８１５であるソフトウェアセルを生成し、ゲーム装置３へ送信する（ステップＳ１０８）。
【０１６０】
ゲーム装置３はこのソフトウェアセルを受信し、解読および処理をする（ステップＳ１０９）。そしてゲーム装置３は、このソフトウェアセルに含まれるユーザ一致識別ＩＤ８５３に基づいて、ユーザ６が実行中の機能プログラムが他の装置には存在しないのでこのまま開始してもよいと認識し、ゲーム（映像音声再生用プログラム３８２）を開始する（ステップＳ１１０）。
【０１６１】
次に、ゲーム装置３に付属したリモコン送信器３１により、ユーザ６からゲーム（映像音声再生用プログラム３８２）を一時停止するという操作（ユーザ操作通知）があった場合（図１７のステップＳ１２１）、ゲーム装置３はそのユーザ操作通知を受け付け、ゲームを一時停止する（ステップＳ１２２）。ゲーム装置３のメインプロセッサ３０１は、前述のようにＤＭＡコマンド８０５がユーザ操作通知コマンド８１４であるソフトウェアセルを生成する。この際、データとして、図８に示した機能プログラム実行状況情報８５４を含めるようにする。よって、ユーザ６が一時停止したゲーム（映像音声再生用プログラム３８２）の実行状況が含まれることになる。そしてゲーム装置３は、生成したこのソフトウェアセルをサーバ５の情報処理コントローラ５０に送信する（ステップＳ１２３）。
【０１６２】
次に、このソフトウェアセルを受信したサーバ５の情報処理コントローラ５０に含まれるメインプロセッサ５０１は、そのソフトウェアセルをメインメモリ５１０に格納する。メインプロセッサ５０１はそのソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを解読および処理をする（ステップＳ１２４）。よって、上記の機能プログラム実行状況情報８５４がサーバ５のメインメモリ５０１に格納され、ユーザ６が一時停止したゲーム（映像音声再生用プログラム３８２）の実行状況が、ゲーム装置３からサーバへ移行されることとなる（図１５の移行状況６２１Ａ参照）。
【０１６３】
サーバ５は、ＤＭＡコマンド８０５がユーザ操作返信コマンド８１５であるソフトウェアセルを生成し、ゲーム装置３へ送信する（ステップＳ１２５）。ゲーム装置３はこのソフトウェアセルを受信し、解読および処理をする（ステップＳ１２６）。
【０１６４】
次に、ユーザ６が子供部屋１３から居間１４へ移動し、ハードディスクレコーダ４に付属したリモコン送信器４１により、ユーザ６からゲーム（映像音声再生用プログラム３８２）を再開するという操作（ユーザ操作通知）があった場合（図１８のステップＳ１４１）、ハードディスクレコーダ４はそのユーザ操作通知を受け付け、そのユーザを識別してユーザＩＤ８５１を認識する。そしてハードディスクレコーダ４のメインプロセッサ４０１は、少なくともこの認識されたユーザＩＤ８５１を含む、前述のようにＤＭＡコマンド８０５がユーザ操作通知コマンド８１４であるソフトウェアセルを生成する。そしてゲーム装置３は、生成したこのソフトウェアセルをサーバ５の情報処理コントローラ５０に送信する（ステップＳ１４２）。
【０１６５】
このソフトウェアセルを受信したサーバ５の情報処理コントローラ５０に含まれるメインプロセッサ５０１は、そのソフトウェアセルをメインメモリ５１０に格納する。メインプロセッサ５０１はそのソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを解読および処理をする（ステップＳ１４３）。
【０１６６】
サーバ５は、前述のようにメインメモリ５１０に集約して管理している全スレーブ装置の装置情報に含まれるユーザＩＤ８５１および機能プログラムＩＤ８５２、ならびにこのソフトウェアセルに含まれる上記の認識されたユーザＩＤに基づいて、通知されたユーザが実行中の機能プログラムが他のスレーブ装置（この場合、ＴＶ装置２およびゲーム装置３）に存在するかどうかを調査する。そして図１４のようにこの場合、通知されたユーザが実行中の機能プログラムが他の装置（ゲーム装置３）に存在する（映像音声再生用プログラム３８２）ので、サーバ５はユーザ６が実行中の機能プログラムがゲーム装置３に存在すると認識する（ステップＳ１４４）。
【０１６７】
次に、サーバ５は例えば図２０に示したような装置情報に含まれる情報に基づいて、この機能プログラム（映像音声再生用プログラム３８２）をハードディスクレコーダ４が実行するべきかどうかを検討する（図１９のステップＳ１６１）。図２０は、装置情報の一例としてそれぞれ、（Ａ）に応答時間制約情報８５５について、（Ｂ）に要求性能８５７について、（Ｃ）に往復通信時間情報８５６について、（Ｄ）に装置性能情報（図２０の例では、メインプロセッサ動作周波数８３２、メインメモリ総容量８３８および外部記録部総容量８４３）について示しており、これらの情報に基づいて、以下のように映像音声再生用プログラム３８２がリアルタイム性を要する処理かどうかを判断する。
【０１６８】
例えば、（Ａ）の応答時間制約情報８５５において、機能プログラムＩＤ＝１である映像音声再生用プログラム３８２は、最大許容応答時間は０．１秒となっており、また、（Ｃ）の往復通信時間情報８５６において、依頼側の情報処理装置であるハードディスクレコーダ４から実行側の情報処理装置であるゲーム装置３への最大通信時間は３秒、逆にゲーム装置３からハードディスクレコーダ４への最大通信時間は１秒となっている。
【０１６９】
つまり、ハードディスクレコーダ４とゲーム装置３との間の往復の最大通信時間（４秒）は、映像音声再生用プログラム３８２の最大許容応答時間（０．１秒）を越えてしまっていることになる。よって、従来の分散システムの技術のようにユーザ６が居間１４においてハードディスクレコーダ４を操作し、制御情報６３１のみをＬＡＮケーブル１１を介して子供部屋１３に送り、ゲーム装置３において映像音声再生用プログラム３８２を実行し、実行結果６３３をやはりＬＡＮケーブル１１を介してハードディスクレコーダ４へ送り、表示装置４２に表示するといった処理は不可能ということになる。これにより、サーバ５は、この機能プログラム（映像音声再生用プログラム３８２）をハードディスクレコーダ４が実行するべきと判断する（ステップＳ１６２）。
【０１７０】
次に、ハードディスクレコーダ４が実行するべきと判断したサーバ５は、やはり例えば図２０に示したような装置情報に含まれる情報に基づいて、この機能プログラム（映像音声再生用プログラム３８２）をハードディスクレコーダ４が実行可能かどうかを検討する（ステップＳ１６３）。例えば同様に図２０を参照して説明すると、（Ｂ）の要求性能情報８５７において、機能プログラムＩＤ＝１である映像音声再生用プログラム３８２は、要求性能はメインプロセッサ動作周波数８３２が２ＧＨｚ、メインメモリ総容量８３８が２５６ＭＢ、外部記録総容量８４３が１０ＧＢとなっており、また、（Ｄ）の装置性能情報において、情報処理装置ＩＤ＝０であるハードディスクレコーダ４の装置性能はメインプロセッサ動作周波数８３２が２ＧＨｚ、メインメモリ総容量８３８が２５６ＭＢ、外部記録総容量８４３が８０ＧＢとなっている。
【０１７１】
つまり、ハードディスクレコーダ４の装置性能（２ＧＨｚ／２５６ＭＢ／８０ＧＢ）は、映像音声再生用プログラム３８２の要求性能（２ＧＨｚ／２５６ＭＢ／１０ＧＢ）以上となっている（この場合、メインプロセッサ動作周波数８３２およびメインメモリ総容量８３８は同性能。）。よって、図１７のステップＳ１２３〜Ｓ１２４においてサーバ５のメインメモリ５１０に移行された、この機能プログラム（映像音声再生用プログラム３８２）の実行状況を、図１５の移行状況６２１Ｂのようにハードディスクレコーダ４の情報処理コントローラ４０へ移行し、ユーザ６が居間１４においてハードディスクレコーダ４を操作して映像音声再生用プログラム３８２を実行し、実行結果６３３をそのまま表示装置４２に表示するといった処理が可能ということになる。
【０１７２】
これによりサーバ５は、この機能プログラム（映像音声再生用プログラム３８２）をハードディスクレコーダ４が実行可能と判断する（ステップＳ１６４）。ここで、もしサーバ５が、この機能プログラムをハードディスクレコーダ４が実行不可能と判断した場合には、例えばユーザにエラー通知およびその理由などを示すように構成してもよい。具体的には、本実施の形態の場合、例えばＴＶ装置２の装置性能（図２０（Ｄ）より、１ＧＨｚ／１２８ＭＢ／−）は、映像音声再生用プログラム３８２の要求性能（２ＧＨｚ／２５６ＭＢ／１０ＧＢ）以下なので、サーバ５は実行不可能と判断し、エラー通知およびその理由（要求性能を満足しないので、実行不可能という趣旨）をユーザに示す。
【０１７３】
なお、この場合、図１５に示したように、ハードディスクレコーダ４においては、元々図示しない別のユーザにより実行中の番組録画予約用プログラム４８５に加えて、新たにゲーム装置３から移行される、ユーザ６が実行中の映像音声再生用プログラム３８２が並列に処理されることになる。
【０１７４】
次にサーバ５は、ゲーム装置３においてユーザ６が実行中だったこの機能プログラム（映像音声再生用プログラム３８２）を、ハードディスクレコーダ４において実行するというように、メインメモリ５１０にて管理しているゲーム装置３およびハードディスクレコーダ４の装置情報を更新する（ステップＳ１６５）。
【０１７５】
サーバ５のメインプロセッサ５０１は、前述のようにＤＭＡコマンド８０５がユーザ操作返信コマンド８１５であるソフトウェアセルを生成する。この際、データとして、ステップＳ１２２〜Ｓ１２３においてサーバのメインメモリ５１０に移行された、この機能プログラム（映像音声再生用プログラム３８２）の実行状況である機能プログラム実行状況情報８５４を含めるようにする。よって、ユーザ６が一時停止中のゲームの実行状況が含まれることになる。そしてサーバ５は、生成したこのソフトウェアセルをハードディスクレコーダ４の情報処理コントローラ４０に送信する（ステップＳ１６６）。
【０１７６】
次に、このソフトウェアセルを受信したハードディスクレコーダ４の情報処理コントローラ４０に含まれるメインプロセッサ４０１は、そのソフトウェアセルをメインメモリ４１０に格納する。メインプロセッサ４０１はそのソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを解読および処理をする（ステップＳ１６７）。
【０１７７】
ハードディスクレコーダ４のメインプロセッサ４０１は、そのソフトウェアセルのデータに含まれる、機能プログラム実行状況情報８５４を復元する（ステップＳ１６８）。そして、その復元された機能プログラム（映像音声再生用プログラム３８２）の実行状況に基づいて、ゲーム（映像音声再生用プログラム３８２）を再開し（ステップＳ１６９）、処理が終了する。ここでもしハードディスクレコーダ４が、ゲームを再開するために必要な機能プログラム（映像音声再生用プログラム３８２）を有していない場合には、前述のようにソフトウェアセルを用いて、サーバ５を介して移動前のゲーム装置３やその他の情報処理装置、あるいはサーバ５自体から取得するようにすることも可能である。
【０１７８】
以上のように、本実施の形態の情報処理システムおよび情報処理移行方法によれば、子供部屋１３に設置されたゲーム装置３において映像音声再生用プログラム３８２を実行していたユーザ６が、居間１４へ移動して処理を再開する場合でも、ゲーム装置３の情報処理コントローラ３０がユーザ６の在否を認識して映像音声再生用プログラム３８２の実行状況をサーバ５へ移行し、サーバ５はハードディスクレコーダ４の情報処理コントローラ４０が認識したユーザ６の在否に基づいてこの実行状況をハードディスクレコーダ４の情報処理コントローラ４０へ移行し、情報処理コントローラ４０はこの移行された実行状況に基づいて処理を再開するようにしたので、ユーザは煩わしい操作が不要となり、場所の移動に対して、空間での処理の継続性を容易に実現することが可能となる。
【０１７９】
また、本実施の形態の情報処理システムおよび情報処理移行方法によれば、マスタ装置として機能するサーバ５が一括して管理している各スレーブ装置として機能するＴＶ装置２、ゲーム装置３およびハードディスクレコーダ４の装置情報に基づいて映像音声再生用プログラム３８２がリアルタイム性を要する処理かどうかを判断し、ゲーム装置３およびハードディスクレコーダ４はこのリアルタイム性に基づいて動作するようにしたので、ユーザは各スレーブ装置の装置性能情報や各情報処理装置間の往復通信時間情報などを含む装置情報に基づいて、さらに的確に処理を継続することが可能となる。
【０１８０】
さらに、本実施の形態の情報処理システムおよび情報処理移行方法によれば、マスタ装置として機能するサーバ５と、スレーブ装置として機能するＴＶ装置２、ゲーム装置３、ハードディスクレコーダ４との間における装置情報および機能プログラムの実行状況の送受信は、プログラムやデータなどをやり取りするための所定のフォーマットを有する制御パケットまたは情報パケットである、ソフトウェアセルを用いて行うようにしたので、ユーザはある１台のスレーブ装置のみを操作することによって、他のスレーブ装置を操作することなく、情報処理システム全体を仮想的な１台の装置として動作させることが可能となる。
【０１８１】
また、ユーザが移動後のスレーブ装置において、処理を再開するために必要な機能プログラムを有していない場合にも、このソフトウェアセルを用いて、サーバ５を介して移動前のスレーブ装置やその他のスレーブ装置、あるいはサーバ５自体から取得するようにしたので、ユーザは移動前後のスレーブ装置同士が予め同じ機能を保有するかどうかを考慮することなく、さらに容易に処理を継続することが可能となる。
【０１８２】
以上により、本実施の形態の情報処理システムおよび情報処理移行方法によれば、ユーザの操作に対して処理を容易に継続することができるので、ユーザはネットワークにおける処理の継続環境を容易に構築することが可能となるのである。
【０１８３】
なお、本実施の形態においては、図１５に示したように、ユーザ６の移動状況６１に応じて、機能プログラムの実行状況をユーザ６の移動先の情報処理装置へ移行する例で説明してきたが、他の変形例も可能である。
【０１８４】
図２１は、図１４においてユーザが位置を移動したときに実行状況を交換する動作を情報処理システムの要部構成と共に抽象化して表したものである。
【０１８５】
本変形例では、図１５と同様にユーザ６が子供部屋１３から居間１４へ移動状況６１のように移動したとき、ユーザ６がゲーム装置３において実行中の機能プログラム（映像音声再生用プログラム３８２）の実行状況をユーザ６の移動に応じてハードディスクレコーダ４へ移行するのに加えて、図示しない別のユーザがハードディスクレコーダ４において実行中の機能プログラム（番組録画予約用プログラム４８５）をも、ゲーム装置３へ移行するようにしたものである。つまり、図２１の移行状況６２２Ａ，６２２Ｂに示したように、映像音声再生用プログラム３８２と番組録画予約用プログラム４８５が、ゲーム装置３とハードディスクレコーダ４との間で交換されるようになっている。
【０１８６】
この場合、図２１に示したように、ハードディスクレコーダ４においては、ユーザ６が使用するリモコン送信器４１からリモコン受光部４２５を介して情報処理コントローラ４０へ制御信号６３１が送信され、情報処理コントローラ４０とＨＤＤユニット４４０Ａとの間ではプログラムおよびデータ６３２が交換され、情報処理コントローラ４０から表示装置６３３へは映像音声用プログラム３８２の実行結果データ６３３（例えば、映像データおよび音声データなど）が出力され、放送受信部４２０からＬＡＮケーブル１１を介してゲーム装置３の情報処理コントローラ３０へ放送受信データ６４４が出力される。また、ゲーム装置３においては、情報処理コントローラ３０からＨＤＤユニット３４０Ａへ番組録画データ６４２が出力される。なお、番組録画データ６４２は、情報処理コントローラ３０からＬＡＮケーブル１１を介して、ハードディスクレコーダ４のＨＤＤユニット４４０Ａへ出力されるようにしてもよい。
【０１８７】
本変形例は、例えば図１９のステップＳ１６１〜Ｓ１６４において、サーバ５が以下のように判断した場合に実現される。以下、図１９および図２０を参照してサーバ５が行う判断の一例について説明する。
【０１８８】
まず、図２０に示したような装置情報に含まれる情報に基づいて、前述したように、サーバ５は、この機能プログラム（映像音声再生用プログラム３８２）をハードディスクレコーダ４が実行するべきで、かつ実行可能と判断する。しかし、ハードディスクレコーダ４がこの機能プログラムを実行可能ではあるが、処理を実行するための計算資源に余裕がない場合（例えば、メインプロセッサ使用率８３３やメインメモリ使用量８３９に余裕がない場合など。）、サーバ５は、ハードディスクレコーダ４において図示しない別のユーザが実行中の機能プログラム（番組録画予約用プログラム４８５）が使用している資源を、他の情報処理装置へ開放することが可能かどうかを検討する。
【０１８９】
この場合、図２０（Ａ）の応答時間制約情報８５５において、機能プログラムＩＤ＝０である番組録画予約用プログラム４８５の最大許容応答時間は５秒と、映像音声再生用プログラム３８２と比べて余裕のある値となっており、また、（Ｃ）の往復通信時間情報８５６において、ハードディスクレコーダ４とゲーム装置３との間の往復の最大通信時間は、前述のように４秒となっている。さらに（Ｂ）より、番組録画予約用プログラム４８５の標準実行時間は１ＧＨｚ／１２８ＭＢ／５ＧＢで１秒となっているので、（Ｄ）より、ゲーム装置３の装置性能の４ＧＨｚ／５１２Ｂ／２０ＧＢの場合、標準実行時間は０．２５秒となり、ハードディスクレコーダ４とゲーム装置３との間の往復の最大通信時間（４秒）と、ゲーム装置３における番組録画予約用プログラム４８５の標準実行時間（０．２５秒）との和（４．２５秒）は、映像番組録画予約用プログラム４８５の最大許容応答時間（５秒）を越えない。そしてもちろん、ゲーム装置３の装置性能（４ＧＨｚ／５１２Ｂ／２０ＧＢ）は、番組録画予約用プログラム４８５の要求性能（１ＧＨｚ／１２８ＭＢ／５ＧＢ）以上となっているので、ゲーム装置３において番組録画予約用プログラム４８５を実行することは可能である。
【０１９０】
よってサーバ５は、ハードディスクレコーダ４において図示しない別のユーザが実行中の機能プログラム（番組録画予約用プログラム４８５）が使用している資源を、ゲーム装置３へ開放することが可能と判断し、図２１の移行状況６２２Ａ，６２２Ｂに示したように、映像音声再生用プログラム３８２と番組録画予約用プログラム４８５が、ゲーム装置３とハードディスクレコーダ４との間で交換される。
【０１９１】
よって、このような構成にすることにより、ユーザは効率的に各情報処理装置の計算資源を使用しながら、処理を再開することが可能となる。
【０１９２】
次に、図２２は、図１４においてユーザが位置を移動したときに実行状況を移行しない場合の動作を情報処理システムの要部構成と共に抽象化して表したものである。
【０１９３】
本変形例では、図１５と同様にユーザ６が子供部屋１３から居間１４へ移動状況６１のように移動したとき、ユーザ６がゲーム装置３において実行中の機能プログラム（映像音声再生用プログラム３８２）の実行状況を他装置へ移行せず、かつ他のユーザがハードディスクレコーダ４において実行中の機能プログラム（番組録画予約用プログラム４８５）も、他装置へ移行しないようにしたものである。つまり、図２２に示したように、ハードディスクレコーダ４において、ユーザ６が使用するリモコン送信器４１からリモコン受光部４２５およびＬＡＮケーブル１１を介してゲーム装置３の情報処理コントローラ３０へ制御信号６３１が送信され、ゲーム装置３の情報処理コントローラ３０からやはりＬＡＮケーブル１１を介してハードディスクレコーダ４が備える表示装置４２へ映像音声用プログラム３８２の実行結果データ６３３（例えば、映像データおよび音声データなど。）が出力されるようになるのみで、他のデータの入出力状況は、図１４と同一のままであるようになっている。
【０１９４】
本変形例は、例えば図１９のステップＳ１６１〜Ｓ１６２において、サーバ５が以下のように判断した場合に実現される。以下、図１９および図２０を参照してサーバ５が行う判断の一例について説明する。
【０１９５】
まず、図２０に示したような装置情報に含まれる情報に基づいて、サーバ５は前述のように、この機能プログラム（映像音声再生用プログラム３８２）をハードディスクレコーダ４が実行するべきかどうかを検討する。ここで、例えば図２０（Ａ）の応答時間制約情報８５５において、機能プログラムＩＤ＝１である映像音声再生用プログラム３８２の最大許容応答時間が、番組録画予約用プログラム４８５のように５秒と、余裕のある値である場合（例えば、パズルゲームである場合など）、サーバ５は、ゲーム装置３においてユーザ６が実行中の機能プログラム（映像音声再生用プログラム３８２）を、他の情報処理装置へ移行しないで処理を再開することが可能かどうかを検討する。
【０１９６】
この場合、図２０（Ｃ）の往復通信時間情報８５６において、ハードディスクレコーダ４とゲーム装置３との間の往復の最大通信時間は、前述のように４秒であり、また、（Ｂ）より、映像音声再生用プログラム３８２の標準実行時間は２ＧＨｚ／２５６ＭＢ／１０ＧＢで０．０５秒となっているので、（Ｄ）より、ゲーム装置３の装置性能の４ＧＨｚ／５１２Ｂ／２０ＧＢの場合、標準実行時間は０．０２５秒となる。
【０１９７】
よって、ハードディスクレコーダ４とゲーム装置３との間の往復の最大通信時間（４秒）と、ゲーム装置３における映像音声再生用プログラム３８２の標準実行時間（０．０２５秒）との和（４．０２５秒）は、映像音声再生用プログラム３８２の最大許容応答時間を５秒とした場合は越えない。
【０１９８】
よってサーバ５は、この機能プログラム（映像音声再生用プログラム３８２）をハードディスクレコーダ４が実行する必要がないと判断し、図２２に示したように機能プログラムは移行せず、ユーザ６からの制御信号６３１が情報処理コントローラ３０へ送信され、情報処理コントローラ３０からの映像音声用プログラム３８２の実行結果データ６３３が表示装置４２へ出力される。
【０１９９】
よって、このような構成にすることにより、ユーザは状況に応じて的確に各情報処理装置の計算資源を使用しながら、処理を再開することが可能となる。
【０２００】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。
【０２０１】
上記第１の実施の形態では、情報処理システムは、複数のスレーブ装置として機能する情報処理装置２〜４およびそれらを管理するマスタ装置として機能するサーバ５から構成されていた。本実施の形態では、第１の実施の形態において、マスタとして機能するサーバ５を削除した構成となっている。つまり、本実施の形態の情報処理システムにおいては、マスタ装置およびスレーブ装置といった区別はなされておらず、各装置は対等な関係となっている。
【０２０２】
図２３は、本発明の第２の実施の形態に係る情報処理システムの全体構成を表すものである。この図において、第１の実施の形態における図１に示した構成要素と同一の構成要素には同一の符号を付し、重複する部分については適宜説明を省略する。この情報処理システムは、複数の情報処理装置２〜４と、これらの情報処理装置２〜４の間を互いに接続するＬＡＮケーブル１１とを有するホームネットワーク１から構成されており、情報処理装置２〜４はそれぞれ、寝室１２、子供部屋１３および居間１４に配置されている。また、情報処理装置２〜４にはそれぞれ、制御情報を送信するためのリモコン送信機２１，３１，４１が付属されており、情報処理装置３〜４には、処理結果の画像や音声などを表示するための表示装置３２，４２が付属されている。本実施の形態においても第１の実施の形態と同様に、情報処理装置２〜４を、それぞれ、ＴＶ装置２、ゲーム装置３およびハードディスクレコーダ４として説明するが、総称する場合には、単に、情報処理装置２〜４と記載するものとする。
【０２０３】
各情報処理装置２〜４間でのデータのやり取りはすべて、ＬＡＮケーブル１１のみを利用して行うようになっている。
【０２０４】
ここで、情報処理装置２〜４は、それぞれ、本発明における、「情報処理装置」の一具体例に対応するものである。ただし第１の実施の形態と同様、情報処理装置は上記の種類のものに限られるものではなく、これらに代えて（またはこれらに加えて）、他の種類（例えばＣＤ（登録商標）プレーヤ、オーディオスピーカ、ホームプロジェクタ、パーソナルコンピュータ等）の機器を含んでいてもよい。
【０２０５】
ここで、本実施の形態における各情報処理装置２〜４が備える機能ブロックおよび装置ブロックは、それぞれ第１の実施の形態における図２〜図５と同様であるので、同一の構成要素には同一の符号を付し、説明を省略する。また、本実施の形態における各情報処理装置２〜４が備えるソフトウェアの構成例も、それぞれ第１の実施の形態における図９〜図１２と同様であるので、同一の構成要素には同一の符号を付し、説明を省略する。
【０２０６】
さらに、本実施の形態の情報処理システムにおいて、各情報処理装置２〜４が保有する装置情報の送受信は、第１の実施の形態と同様に所定のフォーマットを有する制御パケットまたは情報パケットであるソフトウェアセルを用いて行うようになっている。このソフトウェアセルの構成例も、第１の実施の形態における図７〜図８と同様であるので、同一の構成要素には同一の符号を付し、説明を省略する。
【０２０７】
図２４は、図２３の情報処理システムにおけるゲーム装置３およびハードディスクレコーダ４の要部構成を抽象化して表したものである。この図において、第１の実施の形態における図１４に示した構成要素と同一の構成要素には同一の符号を付し、重複する部分については適宜説明を省略する。ここで、図２４は図２３と同様に、子供部屋１３に設置されているゲーム装置３および居間１４に設置されているハードディスクレコーダ４と、サーバ５との間をＬＡＮケーブル１１が接続された状況になっている。なお図２４では、第１の実施の形態における図１４と同様に、ゲーム装置３およびハードディスクレコーダ４の記録再生手段としてそれぞれ、ＨＤＤユニット３４０Ａ，４４０Ａのみを示しているが、これらの代わりに（あるいはこれらに加えて）メインメモリ３１０，４１０が担ってもよい。以下、後述する図２６、図２９〜図３０についても同様である。
【０２０８】
図２４において、ゲーム装置３については、情報処理コントローラ３０、リモコン受光部３２５、ＨＤＤユニット３４０Ａならびにゲーム装置３に付属するリモコン送信器３１および表示装置３２のみを示している。また、ハードディスクレコーダ４については、情報処理コントローラ４０、リモコン受光部４２５、放送受信部４２０、ＨＤＤユニット４４０Ａならびにハードディスクレコーダ４に付属するリモコン送信器４１および表示装置４２のみを示している。
【０２０９】
図２４ではまた、第１の実施の形態における図１４と同様に、現在ユーザ６が子供部屋１３においてゲーム装置３に付属するリモコン送信器３１を使用し、ゲーム装置３の情報処理コントローラ３０に前述の機能プログラムに属する映像音声用プログラム３８２を実行させている状態を示している。また、ハードディスクレコーダ４の情報処理コントローラ４０においては、図示しない別のユーザにより、やはり前述の機能プログラムに属する番組録画予約用プログラム４８５が実行されている状態も示している。
【０２１０】
なお、図２４においては、第１の実施の形態における図１４と同様に、ゲーム装置３およびハードディスクレコーダ４において、それぞれ機能プログラムが実行されていることによるデータの入出力状況の一例も模式的に示している。具体的には、ゲーム装置３においては、ユーザ６が使用するリモコン送信器３１からリモコン受光部３２５を介して情報処理コントローラ３０へ送信される制御信号６３１、情報処理コントローラ３０とＨＤＤユニット３４０Ａとの間で交換されるプログラムおよびデータ６３２および情報処理コントローラ３０から表示装置６３３へ出力される映像音声用プログラム３８２の実行結果データ６３３（例えば、映像データおよび音声データなど。）を示し、ハードディスクレコーダ４においては、放送受信部４２０から情報処理コントローラ４０へ出力される放送受信データ６４４および情報処理コントローラ４０からＨＤＤユニット４４０Ａへ出力される番組録画データ６４２を示している。
【０２１１】
また、図２５は、図２４においてユーザが位置を移動したときに実行状況を移行する動作を情報処理システムの要部構成と共に抽象化して表したものである。これまで図２４のように子供部屋１３においてゲーム装置３に映像音声用プログラム３８２を実行させていたユーザ６が処理を一時停止し、移動状況６１のように居間１４へ移動して、ハードディスクレコーダ４に映像音声用プログラム３８２を再開させる状況を表している。
【０２１２】
次に、図２０および図２４〜図２８を参照して、以上のような構成の情報処理システムにおいて、ユーザが位置を移動したときに実行状況を移行し、再開する動作を説明する。ここで、図２６〜図２８は、ユーザが位置を移動したときに実行状況を移行し、再開する処理を表すものである。
【０２１３】
まず、図２４および図２５を参照して、本実施の形態において、装置の主電源投入からユーザ６が処理を開始するときの基本動作について説明する。以下、第１の実施の形態の場合と同様、自身の情報処理装置を自装置、他の情報処理装置を他装置と称すものとする。
【０２１４】
まず処理の開始として、上記の情報処理システムにおいては、ケーブルの差し込みなどによって各情報処理装置２〜４が物理的にネットワークに接続された状態で主電源が投入され、電気的および機能的にもネットワークに接続されると、各情報処理装置２〜４のメインプロセッサ２０１，３０１，４０１は、ＭＳマネージャ２７１，３７１，４７１を実行し、同じネットワークに接続されている他の情報処理装置の存在を確認する（ステップＳ２０１Ａ〜Ｓ２０１Ｃ）。
【０２１５】
基本的には図１６に示した第１の実施の形態におけるステップＳ１０１と同様なので説明は省略するが、本実施の形態の情報処理システムの場合、マスタ装置は存在せず、スレーブ装置のみの構成であるので、各情報処理装置２〜４のＭＳステータス８３１は全て１（スレーブ装置）として設定されるものとする。
【０２１６】
次に、ＴＶ装置２、ゲーム装置３およびハードディスクレコーダ４のメインプロセッサ２０１，３０１，４０１は、自装置のＭＳマネージャから、ネットワーク上の他装置の照会および自装置のＭＳステータス８３１の設定完了の通知を受けると、能力交換プログラム２７２，３７２，４７２を実行する（ステップＳ２０２Ａ〜Ｓ２０２Ｃ）。
【０２１７】
やはり基本的には図１６に示した第１の実施の形態におけるステップＳ１０２と同様なので説明は省略するが、本実施の形態の情報処理システムの場合、各情報処理装置２〜４の能力交換プログラム２７２，３７２，４７２はそれぞれ、第１の実施の形態におけるサーバ５と同様に、ネットワークに接続されている全ての他装置の装置情報を取得する。つまり、本実施の形態の場合、ＴＶ装置２がゲーム装置３およびハードディスクレコーダ４の装置情報を取得し、ゲーム装置３がＴＶ装置２およびハードディスクレコーダ４の装置情報を取得し、ハードディスクレコーダ４がＴＶ装置２およびゲーム装置３の装置情報を取得する。
【０２１８】
また、各情報処理装置２〜４の能力交換プログラム２７２，３７２，４７２はそれぞれ、第１の実施の形態においてマスタ装置として機能するサーバ５の能力交換プログラムと同様、自装置の装置情報テーブルに加えて、ネットワークに接続されている全ての他装置の装置情報を一括して記録するための領域をメインメモリ２１０，３１０，４１０に確保し、これら情報を他装置の装置情報テーブルとして記録する。
【０２１９】
これにより、各情報処理装置２〜４のメインメモリ２１０，３１０，４１０には、自装置を含むネットワークに接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして集約して管理される。
【０２２０】
なお、第１の実施の形態と同様に、ＭＳマネージャおよび能力交換プログラムは、メインプロセッサで実行されるとは限らず、いずれかのサブプロセッサで実行されてもよい。また、ＭＳマネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０２２１】
以上のようにして、スレーブ装置の構成の決定、ならびに各情報処理装置が保有する装置情報の取得に関する基本動作が終了する。
【０２２２】
次に、ゲーム装置３に付属したリモコン送信器３１により、ユーザ６からゲーム（映像音声再生用プログラム３８２）を開始するという操作（ユーザ操作通知）があった場合（ステップＳ２０３）、ゲーム装置３はそのユーザ操作通知を受け付け、そのユーザを識別してユーザＩＤ８５１を認識する。そしてゲーム装置３のメインプロセッサ３０１は、少なくともこの認識されたユーザＩＤ８５１を含む、前述のようにＤＭＡコマンド８０５がユーザ操作通知コマンド８１４であるソフトウェアセルを生成し、このソフトウェアセルを全ての他装置の情報処理コントローラに送信する（ステップＳ２０４）。つまり、本実施の形態の場合、ゲーム装置３は生成したソフトウェアセルを、ハードディスクレコーダ４の情報処理コントローラ４０およびＴＶ装置２の情報処理コントローラ２０へ送信する。
【０２２３】
このソフトウェアセルを受信したハードディスクレコーダ４およびＴＶ装置２の情報処理コントローラ４０，２０に含まれるメインプロセッサ４０１，２０１は、そのソフトウェアセルをメインメモリ４１０，２１０に格納する。メインプロセッサ４０１，２０１はそのソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを解読および処理をする（ステップＳ２０５Ａ〜Ｓ２０５Ｂ）。
【０２２４】
ハードディスクレコーダ４およびＴＶ装置２は、前述のようにメインメモリ４１０，２１０に集約して管理している装置情報に含まれるユーザＩＤ８５１および機能プログラムＩＤ８５２、ならびにこのソフトウェアセルに含まれ通知されたユーザＩＤに基づいて、通知されたユーザが実行中の機能プログラムが自装置（この場合、ＴＶ装置２およびハードディスクレコーダ４）に存在するかどうかを調査する（ステップＳ２０６Ａ〜Ｓ２０６Ｂ）。そして図２４のようにこの場合、通知されたユーザが実行中の機能プログラムが他の装置には存在しないので、ハードディスクレコーダ４およびＴＶ装置２はそれぞれ、そのような機能プログラムは存在しないと認識する（ステップＳ２０７Ａ〜Ｓ２０７Ｂ）。そしてハードディスクレコーダ４およびＴＶ装置２はそれぞれ、データとしてユーザ一致識別ＩＤ８５３（通知されたユーザＩＤと機能プログラムを実行中のユーザＩＤが一致しないという情報）を含む、ＤＭＡコマンド８０５がユーザ操作返信コマンド８１５であるソフトウェアセルを生成し、ゲーム装置３へ送信する（ステップＳ２０８Ａ〜Ｓ２０８Ｂ）。
【０２２５】
ゲーム装置３はこれら複数のソフトウェアセルを受信し、それぞれの解読および処理をする（ステップＳ２０９）。そしてゲーム装置３は、これらのソフトウェアセルのデータとして含まれる装置情報のユーザ一致識別ＩＤ８５３に基づいて、ユーザ６が実行中の機能プログラムが他の装置には存在しないのでこのまま開始してもよいと認識し（ステップＳ２１０）、ゲーム（映像音声再生用プログラム３８２）を開始する（ステップＳ２１１）。
【０２２６】
次に、ゲーム装置３に付属したリモコン送信器３１により、ユーザ６からゲーム（映像音声再生用プログラム３８２）を一時停止するという操作（ユーザ操作通知）があった場合（図２７のステップＳ２２１）、ゲーム装置３はそのユーザ操作通知を受け付け、処理を一時停止する（ステップＳ２２２）。
【０２２７】
ユーザ６が子供部屋１３から居間１４へ移動し、ハードディスクレコーダ４に付属したリモコン送信器４１により、ユーザ６からゲーム（映像音声再生用プログラム３８２）を再開するという操作（ユーザ操作通知）があった場合（ステップＳ２２３）、ハードディスクレコーダ４はそのユーザ操作通知を受け付け、そのユーザを識別してユーザＩＤ８５１を認識する。そしてハードディスクレコーダ４のメインプロセッサ４０１は、少なくともこの認識されたユーザＩＤ８５１を含む、前述のようにＤＭＡコマンド８０５がユーザ操作通知コマンド８１４であるソフトウェアセルを生成し、このソフトウェアセルを全ての他装置の情報処理コントローラに送信する（ステップＳ２２４）。つまり、本実施の形態の場合、ハードディスクレコーダ４は生成したソフトウェアセルを、ゲーム装置３の情報処理コントローラ３０およびＴＶ装置２の情報処理コントローラ２０へ送信する。
【０２２８】
次に、このソフトウェアセルを受信したゲーム装置３およびＴＶ装置２の情報処理コントローラ３０，２０に含まれるメインプロセッサ３０１，２０１は、そのソフトウェアセルをメインメモリ３１０，２１０に格納する。メインプロセッサ３０１，２０１はそのソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを解読および処理をする（ステップＳ２２５Ａ〜Ｓ２２５Ｂ）。
【０２２９】
ゲーム装置３およびＴＶ装置２は、前述のようにメインメモリ３１０，２１０に集約して管理している装置情報に含まれるユーザＩＤ８５１および機能プログラムＩＤ８５２、ならびにこのソフトウェアセルに含まれ通知されたユーザＩＤに基づいて、通知されたユーザが実行中の機能プログラムが自装置に存在するかどうかを調査する。そして図２４のようにこの場合、通知されたユーザが実行中の機能プログラムがゲーム装置３に存在する（映像音声再生用プログラム３８２）ので、ゲーム装置３は実行中の機能プログラムが存在すると認識する（ステップＳ２２７Ａ）。一方、この場合ＴＶ装置２は通知されたユーザが実行中の機能プログラムが存在しないと認識する（ステップＳ２２７Ｂ）。
【０２３０】
そしてゲーム装置３およびＴＶ装置２はそれぞれ、データとしてユーザ一致識別ＩＤ８５３を含む（この場合、ゲーム装置３は一致するユーザが存在するという情報、ＴＶ装置２は一致するユーザが存在しないという情報。）、ＤＭＡコマンド８０５がユーザ操作返信コマンド８１５であるソフトウェアセルを生成し、ハードディスクレコーダ４へ送信する（ステップＳ２２８Ａ〜Ｓ２２８Ｂ）。
【０２３１】
ハードディスクレコーダ４はこれら複数のソフトウェアセルを受信し、それぞれの解読および処理をする（ステップＳ２２９）。そしてハードディスクレコーダ４は、これらのソフトウェアセルのデータとして含まれる装置情報のユーザ一致識別ＩＤ８５３に基づいて、ユーザ６が実行中の機能プログラムがゲーム装置３に存在すると認識する（ステップＳ２３０）。
【０２３２】
次に、ハードディスクレコーダ４は第１の実施の形態におけるサーバ５と同様に、例えば図２０に示したような装置情報に含まれる情報に基づいて、以下のように映像音声再生用プログラム３８２がリアルタイム性を要する処理かどうかを判断する。つまりまず、この機能プログラム（映像音声再生用プログラム３８２）を自装置（ハードディスクレコーダ４）が実行すべきかどうかを検討する（図２８のステップＳ２４１）。これによって第１の実施の形態におけるサーバ５と同様に、ハードディスクレコーダ４はこの機能プログラム（映像音声再生用プログラム３８２）を自装置が実行するべきと判断する（ステップＳ２４２）。
【０２３３】
自装置が実行すべきと判断したハードディスクレコーダ４は、やはり第１の実施の形態におけるサーバ５と同様に、例えば図２０に示したような装置情報に含まれる情報に基づいて、この機能プログラム（映像音声再生用プログラム３８２）を自装置が実行可能かどうかを検討する（ステップＳ２４３）。
【０２３４】
これによって第１の実施の形態におけるサーバ５と同様に、ハードディスクレコーダ４はこの機能プログラム（映像音声再生用プログラム３８２）を自装置が実行可能と判断する（ステップＳ２４４）。ここでもしハードディスクレコーダ４が、この機能プログラムを自装置が実行不可能と判断した場合には、第１の実施の形態と同様、例えばユーザにエラー通知およびその理由（例えば、要求性能を満足しないので、実行不可能という趣旨）などを示すように構成してもよい。
【０２３５】
なお、この場合、図２５に示したように、ハードディスクレコーダ４においては、元々図示しない別のユーザにより実行中の番組録画予約用プログラム４８５に加えて、新たにゲーム装置３から移行される、ユーザ６が実行中の映像音声再生用プログラム３８２が並列に処理されることになる。
【０２３６】
次に、ハードディスクレコーダ４は、ゲーム装置３において実行中のこの機能プログラム（映像音声再生用プログラム３８２）を自装置が実行するというように、メインメモリ４１０にて管理している自装置およびゲーム装置３の装置情報を更新する（ステップＳ２４５）。
【０２３７】
ハードディスクレコーダ４のメインプロセッサ４０１は、前述のようにＤＭＡコマンド８０５が機能プログラム移行情報要求コマンド８１６であるソフトウェアセルを生成してゲーム装置３の情報処理コントローラ３０に送信し（ステップＳ１６６）、ゲーム装置３に対してユーザ６が一時停止中の機能プログラム（映像音声再生用プログラム３８２）の実行状況の移行要求をする。
【０２３８】
次に、このソフトウェアセルを受信したゲーム装置３の情報処理コントローラ３０に含まれるメインプロセッサ３０１は、そのソフトウェアセルをメインメモリ３１０に格納する。メインプロセッサ３０１はそのソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを解読および処理をする（ステップＳ２４７）。
【０２３９】
ゲーム装置３のメインプロセッサ３０１は、前述のようにＤＭＡコマンド８０５が機能プログラム移行情報返信コマンド８１７であるソフトウェアセルを生成する。この際、データとして、図８に示した機能プログラム実行状況情報８５４を含めるようにする。よって、ユーザ６が一時停止中の機能プログラム（映像音声再生用プログラム３８２）の実行状況が含まれることになる。そしてゲーム装置３は、生成したこのソフトウェアセルをハードディスクレコーダ４の情報処理コントローラ４０に送信する（ステップＳ２４８）。
【０２４０】
次に、このソフトウェアセルを受信したハードディスクレコーダ４の情報処理コントローラ４０に含まれるメインプロセッサ４０１は、そのソフトウェアセルをメインメモリ４１０に格納する。メインプロセッサ４０１はそのソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを解読および処理をする（ステップＳ２４９）。
【０２４１】
ハードディスクレコーダ４のメインプロセッサ４０１は、このソフトウェアセルのデータに含まれる、機能プログラム実行状況情報８５４を復元する（ステップＳ２５０）。そして、その復元された機能プログラム（映像音声再生用プログラム３８２）の実行状況に基づいてゲームを再開し（ステップＳ２５１）、処理が終了する。ここでもしハードディスクレコーダ４が、ゲームを再開するための機能プログラム（映像音声再生用プログラム３８２）を有していない場合には、第１の実施の形態と同様、ソフトウェアセルを用いて移動前のゲーム装置３あるいはその他の情報処理装置から取得するようにすることも可能である。
【０２４２】
以上のように、本実施の形態の情報処理システムおよび情報処理移行方法によれば、子供部屋１３に設置されたゲーム装置３において映像音声再生用プログラム３８２を実行していたユーザ６が、居間１４へ移動して処理を再開する場合でも、移動先のスレーブ装置であるハードディスクレコーダ４の情報処理コントローラ４０がユーザ６の在否を認識してゲーム装置３における映像音声再生用プログラム３８２の実行状況を取得し、情報処理コントローラ４０はこの取得された実行状況に基づいて処理を再開するようにしたので、ユーザは煩わしい操作が不要となり、場所の移動に対して、空間での処理の継続性を容易に実現することが可能となる。
【０２４３】
また、本実施の形態の情報処理システムおよび情報処理移行方法によれば、移動後のスレーブ装置であるハードディスクレコーダ４が自己の装置情報に基づいて映像音声再生用プログラム３８２がリアルタイム性を要する処理かどうかを判断し、ゲーム装置３およびハードディスクレコーダ４はこのリアルタイム性に基づいて動作するようにしたので、ユーザは各情報処理装置の装置性能情報や各情報処理装置間の往復通信時間情報などを含む装置情報に基づいて、さらに的確に処理を継続することが可能となる。
【０２４４】
さらに、本実施の形態の情報処理システムおよび情報処理移行方法によれば、ＴＶ装置２、ゲーム装置３、ハードディスクレコーダ４との間における装置情報および機能プログラムの実行状況の送受信は、プログラムやデータなどをやり取りするための所定のフォーマットを有する制御パケットまたは情報パケットである、ソフトウェアセルを用いて行うようにしたので、ユーザはある１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、情報処理システム全体を仮想的な１台の装置として動作させることが可能となる。
【０２４５】
また、ユーザが移動後の情報処理装置において、処理を再開するために必要な機能プログラムを有していない場合にも、このソフトウェアセルを用いて、移動前の情報処理装置あるいはその他の情報処理装置から取得するようにしたので、ユーザは移動前後の情報処理装置同士が予め同じ機能を保有するかどうかを考慮することなく、さらに容易に処理を継続することが可能となる。
【０２４６】
以上により、本実施の形態の情報処理システムおよび情報処理移行方法によれば、ユーザの操作に対して処理を容易に継続することができるので、ユーザはネットワークにおける処理の継続環境を容易に構築することが可能となるのである。
【０２４７】
なお、本実施の形態においては、図２５に示したように、ユーザ６の移動状況６１に応じて、機能プログラムの実行状況をユーザ６の移動先の情報処理装置へ移行する例で説明してきたが、他の変形例も可能である。
【０２４８】
図２９は、図２４においてユーザが位置を移動したときに実行状況を交換する動作を情報処理システムの要部構成と共に抽象化して表したものである。なお、この変形例は、第１の実施の形態における図２１の変形例に対応するものである。
【０２４９】
本変形例では、図２５と同様にユーザ６が子供部屋１３から居間１４へ移動状況６１のように移動したとき、図２５のようにユーザ６がゲーム装置３において実行中の機能プログラム（映像音声再生用プログラム３８２）の実行状況をユーザ６の移動に応じてハードディスクレコーダ４へ移行するのに加えて、図示しない別のユーザがハードディスクレコーダ４において実行中の機能プログラム（番組録画予約用プログラム４８５）をも、ゲーム装置３へ移行するようにしたものである。つまり、図２９の移行状況６２４に示したように、映像音声再生用プログラム３８２と番組録画予約用プログラム４８５が、ゲーム装置３とハードディスクレコーダ４との間で交換されるようになっている。
【０２５０】
この場合、図２１における第１の実施の形態の変形例と同様に、図２０に示したような装置情報に含まれる情報に基づいて、ハードディスクレコーダ４は、自装置において図示しない別のユーザが実行中の機能プログラム（番組録画予約用プログラム４８５）が使用している資源を、他の情報処理装置へ開放することが可能かどうかを検討し、開放することが可能であり、映像音声再生用プログラム３８２と番組録画予約用プログラム４８５が、ゲーム装置３とハードディスクレコーダ４との間で交換するべきと判断する。検討および判断の仕方については、図２１における第１の実施の形態の変形例と同様なので、説明は省略する。
【０２５１】
よって、このような構成にすることにより、ユーザは効率的に各情報処理装置の計算資源を使用しながら、処理を再開することが可能となる。
【０２５２】
次に、図３０は、図２４においてユーザが位置を移動したときに実行状況を移行しない場合の動作を情報処理システムの要部構成と共に抽象化して表したものである。なお、この変形例は、第１の実施の形態における図２２の変形例に対応するものである。
【０２５３】
本変形例では、図２５と同様にユーザ６が子供部屋１３から居間１４へ移動状況６１のように移動したとき、図２５のようにユーザ６がゲーム装置３において実行中の機能プログラム（映像音声再生用プログラム３８２）の実行状況を他装置へ移行せず、なおかつ図示しない別のユーザがハードディスクレコーダ４において実行中の機能プログラム（番組録画予約用プログラム４８５）も、他装置へ移行しないようにしたものである。つまり、図３０に示したように、ハードディスクレコーダ４において、ユーザ６が使用するリモコン送信器４１からリモコン受光部４２５およびＬＡＮケーブル１１を介してゲーム装置３の情報処理コントローラ３０へ制御信号６３１が送信され、ゲーム装置３の情報処理コントローラ３０からやはりＬＡＮケーブル１１を介してハードディスクレコーダ４が備える表示装置４２へ映像音声用プログラム３８２の実行結果データ６３３（例えば、映像データおよび音声データなど）が出力されるようになるのみで、他のデータの入出力状況は、図２４と同一のままであるようになっている。
【０２５４】
この場合、図２２における第１の実施の形態の変形例と同様に、図２０に示したような装置情報に含まれる情報に基づいて、ハードディスクレコーダ４は前述のように、この機能プログラム（映像音声再生用プログラム３８２）を自装置が実行するべきかどうかを検討し、この機能プログラム（映像音声再生用プログラム３８２）を自装置が実行する必要がないと判断し、図３０に示したように機能プログラムは移行せず、ユーザ６からの制御信号６３１が情報処理コントローラ３０へ送信され、情報処理コントローラ３０からの映像音声用プログラム３８２の実行結果データ６３３が表示装置４２へ出力される。検討および判断の仕方については、図２２における第１の実施の形態の変形例と同様なので、説明は省略する。
【０２５５】
よって、このような構成にすることにより、ユーザは状況に応じて的確に各情報処理装置の計算資源を使用しながら、処理を再開することが可能となる。
【０２５６】
以上、第１および第２の実施の形態およびその変形例を挙げて本発明を説明したが、本発明はこれらの実施の形態等に限定されず、種々の変形が可能である。
【０２５７】
まず、これらの実施の形態等では、ユーザがゲーム装置３およびハードディスクレコーダ４に付属されたリモコン送信器３１，４１により、機能プログラムの処理の開始、一時停止および再開を制御していたが、これに限られるものではなく、例えば、音声による制御や情報処理装置へのログイン操作、さらにはユーザが特に指示をしなくとも撮像装置などの物体を検出する物体センサなどにより、情報処理装置が自動的にユーザの接近や移動を感知して動作するなど、種々の方法が可能である。なお、情報処理装置が自動的にユーザの接近や移動を感知して動作する場合には、ユーザが、移行された処理の再開ではなく他の処理の実行を希望することもあり得るので、例えば表示画面上のウィンドウによって切り換えるなど、ユーザが処理を選択することができるようにしてもよい。
【０２５８】
また、これらの実施の形態等では、各情報処理装置２〜４間において、機能プログラムの実行状況情報のみならず、元の情報処理装置において表示画面に表示されていた識別情報をも移行し、処理を再開した情報処理装置においてこの識別情報を表示することも可能である。よって例えば、移動前の情報処理装置の製造元のロゴマークなどを、移動後の情報処理装置に付属した表示装置の画面上に表示することにより、ユーザは現在どの処理を実行中であるかを一目で把握することが可能となる。
【０２５９】
さらに、図１および図２３の情報システムの構成例ではそれぞれ、サーバ５および各情報処理装置２〜４、あるいは各情報処理装置２〜４は単一のＬＡＮケーブル１１で相互に接続されていたが、これに限られるものではなく、ＬＡＮではなくとも他の種々のネットワークによるものでもよい。また、ルータなどを通じて、他のネットワークに接続されている装置との動作も可能である。
【図面の簡単な説明】
【０２６０】
【図１】本発明の第１の実施の形態に係る情報処理システムの全体構成を表すブロック図である。
【図２】本発明の第１の実施の形態に係る情報処理装置の概略構成を表す機能ブロック図である。
【図３】図１のＴＶ装置の概略構成を表す装置ブロック図である。
【図４】図１のゲーム装置の概略構成を表す装置ブロック図である。
【図５】図１のハードディスクレコーダの概略構成を表す装置ブロック図である。
【図６】図１のサーバの概略構成を表す装置ブロック図である。
【図７】本発明の第１の実施の形態に係るソフトウェアセルの構成例を表す図である。
【図８】図７のＤＭＡコマンドがステータス返信コマンドである場合のデータ構成例を表す図である。
【図９】本発明の第１の実施の形態に係る情報処理装置が保有するソフトウェアの基本構成の一例を表す図である。
【図１０】図１のＴＶ装置が保有するソフトウェア構成の一例を表す図である。
【図１１】図１のゲーム装置が保有するソフトウェア構成の一例を表す図である。
【図１２】図１のハードティスクレコーダが保有するソフトウェア構成の一例を表す図である。
【図１３】図１のサーバが保有するソフトウェア構成の一例を表す図である。
【図１４】図１の情報処理システムにおける各情報処理装置の要部構成を抽象化して表したブロック図である。
【図１５】図１４においてユーザが位置を移動したときに実行状況を移行する動作を情報処理システムの要部構成と共に抽象化して表したブロック図である。
【図１６】図１の情報処理システムにおいてユーザが処理を開始させるまでの基本処理を表す流れ図である。
【図１７】図１６の処理後においてユーザが処理を一時停止させるまでの処理を表す流れ図である。
【図１８】図１７の処理後においてユーザが位置を移動し、ユーザが実行中の機能プログラムが存在するかどうかをサーバが認識するまでの処理を表す流れ図である。
【図１９】図１８の処理後において実行状況をハードディスクレコーダへ移行する処理を表す流れ図である。
【図２０】図８における付加情報の一例を表す図である。
【図２１】図１４においてユーザが位置を移動したときに実行状況を交換する動作を情報処理システムの要部構成と共に抽象化して表したブロック図である。
【図２２】図１４においてユーザが位置を移動したときに実行状況を移行しない場合の動作を情報処理システムの要部構成と共に抽象化して表したブロック図である。
【図２３】本発明の第２の実施の形態に係る情報処理システムの全体構成を表すブロック図である。
【図２４】図２３の情報処理システムにおける各情報処理装置の要部構成を抽象化して表したブロック図である。
【図２５】図２４においてユーザが位置を移動したときに実行状況を移行する動作を情報処理システムの要部構成と共に抽象化して表したブロック図である。
【図２６】図２３の情報処理システムにおいてユーザが処理を開始させるまでの基本処理を表す流れ図である。
【図２７】図２６の処理後においてユーザが処理を一時停止させ、ユーザが実行中の機能プログラムが存在するかどうかをハードディスクレコーダが認識するまでの処理を表す流れ図である。
【図２８】図２７の処理後において実行状況をハードディスクレコーダへ移行する処理を表す流れ図である。
【図２９】図２４においてユーザが位置を移動したときに実行状況を交換する動作を情報処理システムの要部構成と共に抽象化して表したブロック図である。
【図３０】図２４においてユーザが位置を移動したときに実行状況を移行しない場合の動作を情報処理システムの要部構成と共に抽象化して表したブロック図である。
【符号の説明】
【０２６１】
１…ホームネットワーク、１０…情報処理装置、１０１…入力部、１０２…ユーザ認識部、１０３…移動検出部、１０４…実行制御部、１０５…通信部、１０６…復元部、１０７…記憶部、１０８…プログラム実行部、１０９…読出部、１１…ＬＡＮケーブル、１２…寝室、１３…子供部屋、１４…居間、２…ＴＶ装置、３…ゲーム装置、４…ハードディスクレコーダ、５…サーバ、２０，３０，４０，５０…情報処理コントローラ、２０１，３０１，４０１，５０１…メインプロセッサ、２０２，３０２，４０２，５０２…サブプロセッサ、２０３，３０３，４０３，５０３…ＤＭＡＣ、３０７，４０７，５０７…ＤＣ、２０５，２０６，３０５，３０６，４０５，４０６，５０５，５０６…ＬＳ、３４０，４４０…記録再生部、５４０…外部記録部、２２６，３２６，４２６，５２６…ネットワーク接続部（ＮＩＣ）、８０…ソフトウェアセル、８０１…送信元ＩＤ、８０２…送信先ＩＤ、８０３…応答先ＩＤ、８０５…ＤＭＡコマンド、８１１…プログラム、８１２…データ、８１３…実行セッション、８１４…ユーザ操作通知コマンド、８１５…ユーザ操作返信コマンド、８１６…機能プログラム移行情報要求コマンド、８１７…機能プログラム移行情報返信コマンド、８２１…情報処理装置ＩＤ、８２２…情報処理装置種別ＩＤ、８３０…基本情報部、８３１…ＭＳステータス、８３２…メインプロセッサ動作周波数、８３３…メインプロセッサ使用率、８３８…メインメモリ総容量、８３９…メインメモリ使用量、８５０…付加情報部、８５１…ユーザＩＤ、８５２…機能プログラムＩＤ、８５３…ユーザ一致識別ＩＤ、８５４…機能プログラム実行状況情報、８５５…応答時間制約情報、８５６…往復通信時間情報、８５７…要求性能情報、８６…ソフトウェア、８７…制御プログラム、８７１…ＭＳマネージャ、８７２…能力交換プログラム、８８…機能プログラム、８９…デバイスドライバ、６２１，６２２，６２３，６２４…実行状況の移行状況。
【図１】
2005309924.tif 000003
【図２】
2005309924.tif 000004
【図３】
2005309924.tif 000005
【図４】
2005309924.tif 000006
【図５】
2005309924.tif 000007
【図６】
2005309924.tif 000008
【図７】
2005309924.tif 000009
【図８】
2005309924.tif 000010
【図９】
2005309924.tif 000011
【図１０】
2005309924.tif 000012
【図１１】
2005309924.tif 000013
【図１２】
2005309924.tif 000014
【図１３】
2005309924.tif 000015
【図１４】
2005309924.tif 000016
【図１５】
2005309924.tif 000017
【図１６】
2005309924.tif 000018
【図１７】
2005309924.tif 000019
【図１８】
2005309924.tif 000020
【図１９】
2005309924.tif 000021
【図２０】
2005309924.tif 000022
【図２１】
2005309924.tif 000023
【図２２】
2005309924.tif 000024
【図２３】
2005309924.tif 000025
【図２４】
2005309924.tif 000026
【図２５】
2005309924.tif 000027
【図２６】
2005309924.tif 000028
【図２７】
2005309924.tif 000029
【図２８】
2005309924.tif 000030
【図２９】
2005309924.tif 000031
【図３０】
2005309924.tif 000032