(57)【要約】【課題】  ユーザがいるところを予測して、洗濯機の終了をユーザに通知する。【解決手段】  洗濯機は、洗濯終了を検出し、利用統計情報から洗濯終了通知処理実行を指令する装置の優先順位を決定し、ス処理実行リクエストコマンドを生成して送信する。携帯電話機２６４は、処理実行リクエストコマンドを受信し、洗濯終了通知処理を実行する。ユーザの操作を受けていないと判断された場合、異なる送信先が指定された処理実行リクエストコマンドが生成されて送信される。ラジオ２８１は、処理実行リクエストコマンドを受信し、洗濯終了通知処理を実行する。ユーザの操作を受けたと判断された場合、洗濯機２７５は、処理実行リクエストコマンドの送信先となったすべての装置に対して、処理実行キャンセルリクエストコマンドを送信し、返信を受信する。本発明は、ホームネットワークに適用できる。【選択図】図３０
2006018623.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに複数の情報処理装置が接続されて、情報を相互に授受可能なようになされている情報処理システムにおいて、
前記ネットワークに接続されている前記情報処理装置は、
前記ネットワークに接続されている複数の前記情報処理装置の利用に関する第１の情報を記憶する記憶手段と、
自分自身の動作に関する情報を取得する動作情報取得手段と、
前記動作情報取得手段により所定の動作に関する情報が取得された場合、前記記憶手段により記憶されている前記第１の情報を基に、前記ネットワークに接続されている複数の前記情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報を生成する生成手段と、
前記生成手段により生成された前記第２の情報の、前記ネットワークに接続されている複数の前記情報処理のうちのいずれかへの送信、および、前記ネットワークに接続されている複数の他の前記情報処理において生成されて送信された前記第２の情報の受信を制御する送受信制御手段と、
前記送受信制御手段により受信が制御された前記第２の情報を基に、動作を制御する動作制御部と
を備えることを特徴とする情報処理システム。
【請求項２】
前記生成手段は、前記ネットワークに接続されている複数の前記情報処理装置へ、前記第１の情報の送信を要求するための第３の情報を更に生成し、
前記送受信制御手段は、前記第３の情報の、前記ネットワークに接続されている複数の前記情報処理への送信、および、前記ネットワークに接続されている複数の前記情報処理装置から送信された前記第１の情報の受信を更に制御し、
前記記憶手段は、前記送受信制御手段により受信が制御された、前記ネットワークに接続されている複数の前記情報処理装置から送信された前記第１の情報を記憶する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置は、
第１の情報処理手段と、
複数の第２の情報処理手段と
を備え、
前記第１の情報処理手段は、所定の機能を提供するための分散処理を制御し、
前記分散処理は、前記ネットワークに接続されている他の前記情報処理装置の前記第２の情報処理手段へ割り当てられる
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記動作制御手段により、前記送受信制御手段により受信が制御された前記第２の情報を基に、前記動作が制御されて、前記動作の実行が完了した場合、前記生成手段は、前記動作の完了を通知するための第３の情報を更に生成し、
前記送受信制御手段は、前記第３の情報の、前記ネットワークに接続されている複数の前記情報処理装置のうちのいずれかへの送信を更に制御する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
ネットワークに複数の情報処理装置が接続されて、情報を相互に授受可能なようになされている情報処理システムを構成する前記情報処理装置の情報処理方法において、
前記ネットワークに接続されている複数の前記情報処理装置の利用に関する第１の情報を取得する利用情報取得ステップと、
自分自身の動作に関する情報を取得する動作情報取得ステップと、
前記動作情報取得ステップの処理により所定の動作に関する情報が取得された場合、前記利用情報取得ステップの処理により取得された前記第１の情報を基に、前記ネットワークに接続されている複数の前記情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報を生成し、生成された前記第２の情報の送信を制御する送信制御ステップと、
前記ネットワークに接続されている複数の他の前記情報処理において生成されて送信された前記第２の情報の受信を制御する受信制御ステップと、
前記受信制御ステップの処理により受信が制御された前記第２の情報を基に、動作を制御する動作制御部と
を含むことを特徴とする情報処理方法。
【請求項６】
ネットワークに複数の情報処理装置が接続されて、情報を相互に授受可能なようになされている情報処理システムにおいて、分散処理を実行させるための処理をコンピュータに実行させるためのプログラムであって、
前記ネットワークに接続されている複数の前記情報処理装置の利用に関する第１の情報を取得する利用情報取得ステップと、
自分自身の動作に関する情報を取得する動作情報取得ステップと、
前記動作情報取得ステップの処理により所定の動作に関する情報が取得された場合、前記利用情報取得ステップの処理により取得された前記第１の情報を基に、前記ネットワークに接続されている複数の前記情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報を生成し、生成された前記第２の情報の送信を制御する送信制御ステップと、
前記ネットワークに接続されている複数の他の前記情報処理において生成されて送信された前記第２の情報の受信を制御する受信制御ステップと、
前記受信制御ステップの処理により受信が制御された前記第２の情報を基に、動作を制御する動作制御部と
を含むことを特徴とする処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムおよび情報処理方法、並びに、プログラムに関し、特に、複数のプロセッサによる分散処理が実行される場合に用いて好適な、情報処理システムおよび情報処理方法、並びに、プログラムに関する。
【背景技術】
【０００２】
近年、複数のプロセッサまたはコンピュータを用いて、処理を分散して実行させる、分散処理が注目されている。分散処理を行う方法としては、通信網を介して接続されている複数のコンピュータに処理を実行させる方法、１つのコンピュータに設けられた、複数のプロセッサに処理を実行させる方法、および上述した２つの方法を組み合わせて処理を実行させる方法がある。
【０００３】
分散処理の実行を要求（指示）する装置、または、プロセッサは、分散処理を実行するために必要なデータおよびプログラムを、分散処理を実行させる他の装置、または、他のプロセッサあてに送信する。分散処理を実行するために必要なデータおよびプログラムを受信した装置、または、プロセッサは、要求された処理を実行し、要求された処理を施したデータを、分散処理の要求元である装置、または、プロセッサあてに送信する。
【０００４】
分散処理の要求元である装置、または、プロセッサは、分散処理を実行させる他の装置、または、他のプロセッサから送信されてきたデータを受信し、受信したデータを基に、所定の処理を行うか、受信したデータを記録する。
【０００５】
従来、上述したように、均一なモジュラー構造、共通のコンピューティング・モジュール、および均一なソフトウェアセルを用いて分散処理を実行させることによって、高速処理用コンピュータ・アーキテクチャを実現する技術がある（例えば、特許文献１乃至特許文献５）
【０００６】
【特許文献１】特開２００２−３４２１６５号公報
【特許文献２】特開２００２−３５１８５０号公報
【特許文献３】特開２００２−３５８２８９号公報
【特許文献４】特開２００２−３６６５３３号公報
【特許文献５】特開２００２−３６６５３４号公報
【０００７】
上述した特許文献において、基本となる処理用モジュールはプロセッサ・エレメント（ＰＥ）である。ＰＥは、処理ユニット（ＰＵ）、ダイレクト・メモリ・アクセス・コントローラ（DMAC）および複数の付加処理ユニット（ＡＰＵ）、すなわち、メインプロセッサに対する複数のサブプロセッサを具備するようになされている。
【０００８】
また、従来、ユーザの嗜好にあったテレビ番組の一覧を表示し、ユーザによるテレビジョン放送番組の選択を支援することができる技術が用いられている（例えば、特許文献６）。また、ユーザの所望する形態で、放送コンテンツの録画の支援を行うことができる技術がある（例えば、特許文献７）。更に、ユーザの好みの番組を推定して自動的に録画することができるようになされている技術がある（例えば、特許文献８）。
【０００９】
【特許文献６】特開平１１−１６４２１７号公報
【特許文献７】特開２００２−０５１２８７号公報
【特許文献８】特開２００２−１５２６３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来、ユーザの嗜好情報や使用履歴などを用いた処理を複数の装置で分散して行うようにした場合、例えば、ユーザが新しく装置を購入して、分散処理可能な装置に追加するようにした場合、ユーザによる複雑な設定処理が行われなければ、新しく分散処理に追加された装置が、ユーザの嗜好情報や使用履歴などを利用することができなかった。
【００１１】
また、ユーザが、各種情報処理装置を利用したときの利用情報は、従来においては、上述したように、テレビジョン受像機や、記録再生装置など、特定の機能を有する装置にのみ利用可能なようになされており、ホームネットワークに接続されている、各種の機能を有する複数種類の装置において利用されることはなかった。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、ホームネットワークに接続されている、各種の機能を有する複数種類の装置において、ユーザの利用情報などを用いて、ユーザにとって有益な分散処理を行うことができるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の情報処理システムは、ネットワークに接続されている情報処理装置が、ネットワークに接続されている複数の情報処理装置の利用に関する第１の情報を記憶する記憶手段と、自分自身の動作に関する情報を取得する動作情報取得手段と、動作情報取得手段により所定の動作に関する情報が取得された場合、記憶手段により記憶されている第１の情報を基に、ネットワークに接続されている複数の情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報を生成する生成手段と、生成手段により生成された第２の情報の、ネットワークに接続されている複数の情報処理のうちのいずれかへの送信、および、ネットワークに接続されている複数の他の情報処理において生成されて送信された第２の情報の受信を制御する送受信制御手段と、送受信制御手段により受信が制御された第２の情報を基に、動作を制御する動作制御部とを備えることを特徴とする。
【００１４】
生成手段には、ネットワークに接続されている複数の情報処理装置へ、第１の情報の送信を要求するための第３の情報を更に生成させるようにすることができ、送受信制御手段には、第３の情報の、ネットワークに接続されている複数の情報処理への送信、および、ネットワークに接続されている複数の情報処理装置から送信された第１の情報の受信を更に制御させるようにすることができ、記憶手段には、送受信制御手段により受信が制御された、ネットワークに接続されている複数の情報処理装置から送信された第１の情報を記憶させるようにすることができる。
【００１５】
情報処理装置には、第１の情報処理手段と、複数の第２の情報処理手段とを備えさせるようにすることができ、第１の情報処理手段には、所定の機能を提供するための分散処理を制御させるようにすることができ、分散処理は、ネットワークに接続されている他の情報処理装置の第２の情報処理手段へ割り当てられるものとすることができる。
【００１６】
動作制御手段により、送受信制御手段により受信が制御された第２の情報を基に、動作が制御されて、動作の実行が完了した場合、生成手段には、動作の完了を通知するための第３の情報を更に生成させるようにすることができ、送受信制御手段は、第３の情報の、ネットワークに接続されている複数の情報処理装置のうちのいずれかへの送信を更に制御させるようにすることができる。
【００１７】
本発明の情報処理方法は、ネットワークに複数の情報処理装置が接続されて、情報を相互に授受可能なようになされている情報処理システムを構成する情報処理装置の情報処理方法であって、ネットワークに接続されている複数の情報処理装置の利用に関する第１の情報を取得する利用情報取得ステップと、自分自身の動作に関する情報を取得する動作情報取得ステップと、動作情報取得ステップの処理により所定の動作に関する情報が取得された場合、利用情報取得ステップの処理により取得された第１の情報を基に、ネットワークに接続されている複数の情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報を生成し、生成された第２の情報の送信を制御する送信制御ステップと、ネットワークに接続されている複数の他の情報処理において生成されて送信された第２の情報の受信を制御する受信制御ステップと、受信制御ステップの処理により受信が制御された第２の情報を基に、動作を制御する動作制御部とを含むことを特徴とする。
【００１８】
本発明のプログラムは、ネットワークに複数の情報処理装置が接続されて、情報を相互に授受可能なようになされている情報処理システムにおいて、分散処理を実行させるための処理をコンピュータに実行させるためのプログラムであって、ネットワークに接続されている複数の情報処理装置の利用に関する第１の情報を取得する利用情報取得ステップと、自分自身の動作に関する情報を取得する動作情報取得ステップと、動作情報取得ステップの処理により所定の動作に関する情報が取得された場合、利用情報取得ステップの処理により取得された第１の情報を基に、ネットワークに接続されている複数の情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報を生成し、生成された第２の情報の送信を制御する送信制御ステップと、ネットワークに接続されている複数の他の情報処理において生成されて送信された第２の情報の受信を制御する受信制御ステップと、受信制御ステップの処理により受信が制御された第２の情報を基に、動作を制御する動作制御部とを含むことを特徴とする処理をコンピュータに実行させる。
【００１９】
本発明の情報処理システムおよび情報処理方法、並びにプログラムにおいては、ネットワークに接続されている複数の情報処理装置の利用に関する第１の情報が取得されて記憶され、自分自身の動作に関する情報が取得され、所定の動作に関する情報が取得された場合、第１の情報を基に、ネットワークに接続されている複数の情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報が生成され、生成された第２の情報の送信が制御され、ネットワークに接続されている複数の他の情報処理において生成されて送信された第２の情報が受信され、受信された第２の情報を基に、動作が制御される。
【発明の効果】
【００２０】
本発明の情報処理システムおよび情報処理方法、並びにプログラムによれば、分散処理が実行され、特に、ネットワークに接続されている複数の情報処理装置の利用に関する第１の情報が取得されて記憶されているので、第１の情報を基に、他の装置に対する処理の要求内容が決定されるので、各種情報処理装置を利用したときの利用情報が、ホームネットワークに接続されている、各種の機能を有する複数種類の装置において利用される。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２２】
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２３】
請求項１に記載の情報処理システムは、ネットワーク（例えば、図１４のホームネットワーク２５１）に複数の情報処理装置が接続されて、情報を相互に授受可能なようになされている情報処理システムであって、ネットワークに接続されている情報処理装置は、ネットワークに接続されている複数の情報処理装置の利用に関する第１の情報（例えば、利用統計情報）を記憶する記憶手段（例えば、図１５の全利用統計情報記憶部３０８）と、自分自身の動作（例えば、スイッチオン、扉の開閉、位置情報の取得結果など）に関する情報を取得する動作情報取得手段（例えば、図１５の動作情報取得部３１２）と、動作情報取得手段により所定の動作に関する情報（処理開始トリガ入力に対応する動作情報）が取得された場合、記憶手段により記憶されている第１の情報を基に、ネットワークに接続されている複数の情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報（例えば、処理実行リクエストコマンド）を生成する生成手段（例えば、図１５の処理要求生成部３０９、予約処理決定部３１０、および、ソフトウェアセル生成部３０５）と、生成手段により生成された第２の情報の、ネットワークに接続されている複数の情報処理のうちのいずれかへの送信、および、ネットワークに接続されている複数の他の情報処理において生成されて送信された第２の情報の受信を制御する送受信制御手段（例えば、図１５のソフトウェアセル送受信制御部３０６）と、送受信制御手段により受信が制御された第２の情報を基に、動作を制御する動作制御部（例えば、図１５の動作制御部３１１）とを備えることを特徴とする。
【００２４】
生成手段は、ネットワークに接続されている複数の情報処理装置へ、第１の情報の送信を要求するための第３の情報（例えば、利用統計情報リクエストコマンド）を更に生成することができ、送受信制御手段は、第３の情報の、ネットワークに接続されている複数の情報処理への送信、および、ネットワークに接続されている複数の情報処理装置から送信された第１の情報の受信を更に制御することができ、記憶手段は、送受信制御手段により受信が制御された、ネットワークに接続されている複数の情報処理装置から送信された第１の情報を記憶することができる。
【００２５】
情報処理装置は、第１の情報処理手段（例えば、メインプロセッサ４２）と、複数の第２の情報処理手段（例えば、サブプロセッサ４３）とを備えることができ、第１の情報処理手段は、所定の機能を提供するための分散処理を制御し、分散処理は、ネットワークに接続されている他の情報処理装置の第２の情報処理手段へ割り当てることができる。
【００２６】
動作制御手段により、送受信制御手段により受信が制御された第２の情報を基に、動作が制御されて、動作の実行が完了した場合、生成手段は、動作の完了を通知するための第３の情報（例えば、処理実行レスポンスコマンド）を更に生成することができ、送受信制御手段は、第３の情報の、ネットワークに接続されている複数の情報処理装置のうちのいずれかへの送信を更に制御することができる。
【００２７】
請求項５に記載の情報処理方法は、ネットワーク（例えば、図１４のホームネットワーク２５１）に複数の情報処理装置が接続されて、情報を相互に授受可能なようになされている情報処理システムを構成する情報処理装置の情報処理方法であって、ネットワークに接続されている複数の情報処理装置の利用に関する第１の情報（例えば、利用統計情報）を取得する利用情報取得ステップ（例えば、図２８のステップＳ５の処理）と、自分自身の動作（例えば、スイッチオン、扉の開閉、位置情報の取得結果など）に関する情報を取得する動作情報取得ステップ（例えば、図２９のステップＳ２１、図３０のステップＳ５１、図３１のステップＳ８１、図３２のステップＳ１１１、図３３のステップＳ１４１、または、図３４のステップＳ１７１の処理）と、動作情報取得ステップの処理により所定の動作に関する情報（処理開始トリガ入力に対応する動作情報）が取得された場合、利用情報取得ステップの処理により取得された第１の情報を基に、ネットワークに接続されている複数の情報処理のうちの少なくとも１つに処理の実行を要求するための第２の情報（例えば、処理実行リクエストコマンド）を生成し、生成された第２の情報の送信を制御する送信制御ステップ（例えば、図２９のステップＳ２３、図３０のステップＳ５３、図３１のステップＳ８３、図３２のステップＳ１１３、図３３のステップＳ１４３、または、図３４のステップＳ１７３の処理）と、ネットワークに接続されている複数の他の情報処理において生成されて送信された第２の情報の受信を制御する受信制御ステップ（例えば、図２９のステップＳ２４、２７、図３０のステップＳ５４，５７、図３１のステップＳ８４，８５、図３２のステップＳ１１４，１１５、図３３のステップＳ１４４，１４７，１５０、または、図３４のステップＳ１７４，１７７，１８０の処理）と、受信制御ステップの処理により受信が制御された第２の情報を基に、動作を制御する動作制御部（例えば、図２９のステップＳ２５，２８、図３０のステップＳ５５，５８、図３１のステップＳ８６，８７、図３２のステップＳ１１７，１１８、図３３のステップＳ１４５，１４８，１５１、または、図３４のステップＳ１７５，１７８，１８１の処理）とを含むことを特徴とする。
【００２８】
また、請求項６に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項５に記載の情報処理方法と同様である。
【００２９】
以下、図を参照して、本発明の実施の形態について説明する。
【００３０】
図１は、本発明を適用した通信システムの一実施の形態を示す図である。この通信システムにおいては、例えば、ホームネットワーク、ＬＡＮ（Local Area Network），ＷＡＮ（Wide Area Network），または、インターネットなどの広域ネットワークなどに対応するネットワーク２を介して、情報処理装置１-１と、情報処理装置１−２乃至情報処理装置１−ｎとが相互に接続されている。
【００３１】
情報処理装置１-１は、複数の情報処理装置による分散処理の実行を指示されると、要求された処理を実行するために必要なデータおよびプログラムを含むソフトウェアセルを生成し、生成したソフトウェアセルを、ネットワーク２を介して、情報処理装置１−２乃至情報処理装置１−ｎのうちのいずれかの装置あてに送信する。
【００３２】
情報処理装置１−２乃至情報処理装置１−ｎは、それぞれ、情報処理装置１-１から送信されてきたソフトウェアセルを受信し、受信したソフトウェアセルを基に、要求された処理を実行する。情報処理装置１−２乃至情報処理装置１−ｎは、それぞれ、要求された処理を実行してから、要求された処理の結果得られたデータを、ネットワーク２を介して情報処理装置１-１あてに送信する。以下、情報処理装置１−２乃至情報処理装置１−ｎを個々に区別する必要のないとき、単に情報処理装置１と称する。
【００３３】
情報処理装置１-１は、情報処理装置１−２乃至情報処理装置１−ｎのうちのいずれかから送信されてきたデータを受信し、受信したデータを基に、所定の処理を実行するか、受信したデータを記録する。
【００３４】
情報処理装置１-１は、情報処理コントローラ１１、メインメモリ１２、記録部１３−１、記録部１３−２、バス１４、操作入力部１５、通信部１６、表示部１７、およびドライブ１８を含むように構成される。
【００３５】
情報処理コントローラ１１は、メインメモリ１２に記録されている各種のプログラムを実行し、情報処理装置１-１全体を制御する。情報処理コントローラ１１は、ソフトウェアセルを生成し、生成したソフトウェアセルを、バス１４を介して、通信部１６に供給する。情報処理コントローラ１１は、通信部１６から供給されたデータを記録部１３−１または記録部１３−２に供給する。情報処理コントローラ１１は、操作入力部１５から入力されるユーザの指令に基づいて、指定されたデータを、メインメモリ１２、記録部１３−１または記録部１３−２から取得し、取得したデータを、バス１４を介して通信部１６に供給する。
【００３６】
また、情報処理コントローラ１１には、情報処理装置１-１を、ネットワーク２全体を通して一意的に特定できる装置ＩＤが割り当てられている。
【００３７】
情報処理コントローラ１１は、バス４１、メインプロセッサ４２、サブプロセッサ４３−１乃至サブプロセッサ４３−３、DMAC（Direct Memory Access Controller）４４、キー管理テーブル記録部４５、およびＤＣ（Disk Controller）４６を備えている。
【００３８】
メインプロセッサ４２、サブプロセッサ４３−１乃至サブプロセッサ４３−３、DMAC４４、キー管理テーブル記録部４５、およびＤＣ４６は、バス４１を介して、相互に接続されている。また、メインプロセッサ４２には、メインプロセッサ４２を特定するためのメインプロセッサＩＤが識別子として割り当てられる。同様に、サブプロセッサ４３−１乃至サブプロセッサ４３−３のそれぞれには、サブプロセッサ４３−１乃至サブプロセッサ４３−３のそれぞれを特定するためのサブプロセッサＩＤのそれぞれが識別子として割り当てられる。
【００３９】
メインプロセッサ４２は、ネットワーク２を介して接続されている、情報処理装置１−２乃至情報処理装置１−ｎに分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルをバス４１およびバス１４を介して、通信部１６に供給する。また、メインプロセッサ４２は、管理のためのプログラム以外のプログラムを実行するように構成することもできる。この場合、メインプロセッサ４２は、サブプロセッサとして機能する。
【００４０】
メインプロセッサ４２は、サブプロセッサ４３−１乃至サブプロセッサ４３−３に対して、それぞれのサブプロセッサに独立したプログラムを実行させ、論理的に１つの機能（論理スレッド）として結果を求めるようにすることができる。すなわち、メインプロセッサ４２は、サブプロセッサ４３−１乃至サブプロセッサ４３−３によるプログラムの実行のスケジュール管理および情報処理コントローラ１１（情報処理装置１）の全体の管理を行う。
【００４１】
メインプロセッサ４２は、ローカルストレージ５１−１を備え、メインメモリ１２からロードしたデータおよびプログラムを、ローカルストレージ５１−１に一時的に記憶させる。メインプロセッサ４２は、ローカルストレージ５１−１からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
【００４２】
サブプロセッサ４３−１乃至サブプロセッサ４３−３は、メインプロセッサ４２の制御に基づいて、並列的かつ独立に、プログラムを実行し、データを処理する。更に、必要に応じて、メインプロセッサ４２が実行するプログラムが、サブプロセッサ４３−１乃至サブプロセッサ４３−３のそれぞれが実行するプログラムのそれぞれと連携して動作するように構成することも可能である。
【００４３】
サブプロセッサ４３−１乃至サブプロセッサ４３−３のそれぞれは、ローカルストレージ５１−２乃至ローカルストレージ５１−４のそれぞれを備える。サブプロセッサ４３−１乃至サブプロセッサ４３−３のそれぞれは、ローカルストレージ５１−２乃至ローカルストレージ５１−４のそれぞれに、必要に応じて、データおよびプログラムを一時的に記憶させる。サブプロセッサ４３−１乃至サブプロセッサ４３−３のそれぞれは、ローカルストレージ５１−２乃至ローカルストレージ５１−４のそれぞれからデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
【００４４】
以下、サブプロセッサ４３−１乃至サブプロセッサ４３−３のそれぞれを個々に区別する必要のないとき、単にサブプロセッサ４３と称する。同様に、以下、ローカルストレージ５１−１乃至ローカルストレージ５１−４のそれぞれを個々に区別する必要のないとき、単にローカルストレージ５１と称する。
【００４５】
また、図１においては、サブプロセッサ４３が、サブプロセッサ４３−１乃至サブプロセッサ４３−３の３つ設けられている場合について説明したが、サブプロセッサ４３は、３つ以外のいかなる数設けられていても良いことは言うまでもなく、更に、ローカルストレージ５１も、サブプロセッサ４３が設けられている数に対応する数だけ設けられるようにしても良いことはいうまでもない。
【００４６】
DMAC４４は、キー管理テーブル記録部４５に記録されている、メインプロセッサキー、サブプロセッサキー、およびアクセスキーを基に、メインプロセッサ４２およびサブプロセッサ４３からのメインメモリ１２に記憶されているプログラムおよびデータへのアクセスを管理する。
【００４７】
キー管理テーブル記録部４５は、メインプロセッサキー、サブプロセッサキー、およびアクセスキーを記録している。なお、メインプロセッサキー、サブプロセッサキー、およびアクセスキーの詳細は後述する。
【００４８】
ＤＣ４６は、メインプロセッサ４２およびサブプロセッサ４３からの記録部１３−１および記録部１３−２へのアクセスを管理する。
【００４９】
メインメモリ１２は、例えば、RAMから構成される。メインメモリ１２は、メインプロセッサ４２およびサブプロセッサ４３が実行する各種のプログラムおよびデータを一時的に記憶している。
【００５０】
記録部１３−１および記録部１３−２は、それぞれ、例えば、ハードディスクなどにより構成される。記録部１３−１および記録部１３−２は、メインプロセッサ４２およびサブプロセッサ４３が実行する各種のプログラムおよびデータを記録している。また、記録部１３−１および記録部１３−２は、情報処理コントローラ１１から供給されたデータを記録する。以下、記録部１３−１および記録部１３−２を個々に区別する必要のないとき、単に記録部１３と称する。
【００５１】
また、情報処理コントローラ１１には、バス１４を介して、操作入力部１５、通信部１６、表示部１７、およびドライブ１８が接続されている。操作入力部１５は、例えば、キー、ボタン、タッチパッド、マウスなどよりなり、ユーザによる操作入力を受け、操作入力に対応する情報を、バス１４を介して、情報処理コントローラ１１に供給する。
【００５２】
通信部１６は、情報処理コントローラ１１から供給されたソフトウェアセルを、ネットワーク２を介して情報処理装置１−２乃至情報処理装置１−ｎあてに送信する。また、通信部１６は、情報処理装置１−２乃至情報処理装置１−ｎから送信されてきたデータを、バス１４を介して、情報処理コントローラ１１に供給する。
【００５３】
表示部１７は、例えば、ＣＲＴ（cathode ray tube）やＬＣＤ（Liquid Crystal Display）などで構成されており、バス１４を介して供給された情報処理コントローラ１１の処理により生成された情報（例えば、アプリケーションプログラムの実行により生成されたデータや、アプリケーションプログラムの実行に必要なユーザへの通知などの情報を含む）を表示させる。
【００５４】
ドライブ１８は、磁気ディスク６１、光ディスク６２、光磁気ディスク６３、あるいは半導体メモリ６４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて、バス１４を介して、情報処理コントローラ１１に転送され、情報処理コントローラ１１によって、記録部１３に記録される。
【００５５】
なお、情報処理装置１−２乃至情報処理装置１−ｎは、情報処理装置１-１と同様に構成されるので、その説明は省略する。情報処理装置１−２乃至情報処理装置１−ｎは上述した構成に限らず、必要に応じて、機能を追加したり削除したりすることは可能であり、その機能に対応した構成をもつことが可能である。また、情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。
【００５６】
次に、図２乃至図４を参照して、サブプロセッサ４３がメインメモリ１２にアクセスする場合の処理について説明する。
【００５７】
図２で示されるように、メインメモリ１２には、複数のアドレスを指定できるメモリロケーションが配置される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤおよびＬＳアドレス（ローカルストレージアドレス）を含む。また、各メモリロケーションには、後述するアクセスキーが割り振られる。
【００５８】
“０”であるＦ／Ｅビットは、サブプロセッサ４３によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、そのメモリロケーションから読み出し不可であることを示す。また、“０”であるＦ／Ｅビットは、そのメモリロケーションにデータ書き込み可能であることを示し、データが書き込まれると、Ｆ／Ｅビットは“１”に設定される。
【００５９】
“１”であるＦ／Ｅビットは、そのメモリロケーションのデータがサブプロセッサ４３によって読み出されておらず、未処理の最新データであることを示す。Ｆ／Ｅビットが“１”であるメモリロケーションのデータは読み出し可能であり、サブプロセッサ４３によって読み出されてから、Ｆ／Ｅビットは“０”に設定される。また、“１”であるＦ／Ｅビットは、メモリロケーションがデータ書き込み不可であることを示す。
【００６０】
更に、Ｆ／Ｅビットが“０”（読み出し不可／書き込み可）である状態において、メモリロケーションについて読み出し予約を設定することが可能である。Ｆ／Ｅビットが“０”であるメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ４３は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報としてサブプロセッサ４３のサブプロセッサＩＤおよびＬＳアドレスを書き込む。そして、データを書き込むサブプロセッサ４３によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビットが“１”（読み出し可／書き込み不可）に設定されたとき、予め読み出し予約情報として追加セグメントに書き込まれているサブプロセッサＩＤおよびＬＳアドレスによって特定されるローカルストレージ５１に読み出される。
【００６１】
複数のサブプロセッサ４３によってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出しおよび書き込みを制御することによって、前段階の処理を行うサブプロセッサ４３が、処理済みのデータをメインメモリ１２における所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ４３が前処理後のデータを読み出すことが可能となる。
【００６２】
また、図３で示されるように、サブプロセッサ４３のローカルストレージ５１は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含む。
【００６３】
サブプロセッサ４３がメインメモリ１２に記憶されているデータをサブプロセッサ４３のローカルストレージ５１のメモリロケーションに読み出すときには、対応するビジービットを“１”に設定して予約する。ビジービットが“１”であるメモリロケーションには、他のデータを格納することができない。ローカルストレージ５１のメモリロケーションにデータが読み出されると、ビジービットは“０”に設定され、他のデータを格納することができるようになる。
【００６４】
更に、図２で示すように、情報処理コントローラ１１に接続されているメインメモリ１２には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ１２内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ４３に割り当てられ、割り当てられたサブプロセッサ４３が排他的に使用することができる。すなわち、サブプロセッサ４３は、割り当てられたサンドボックスを使用できるが、この領域を超えてデータにアクセスすることはできない。
【００６５】
メインメモリ１２は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【００６６】
更に、メインメモリ１２の排他的な制御を実現するために、図４で示されるキー管理テーブルが用いられる。キー管理テーブルは、キー管理テーブル記録部４５に記録され、DMAC４４と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキーおよびキーマスクが含まれる。
【００６７】
サブプロセッサ４３がメインメモリ１２にアクセスする場合、サブプロセッサ４３はDMAC４４に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、サブプロセッサ４３を特定するサブプロセッサＩＤおよびアクセス要求先であるメインメモリ１２のアドレスが含まれる。
【００６８】
DMAC４４は、サブプロセッサ４３から供給されたコマンドを実行する場合、キー管理テーブルを参照して、アクセス要求元のサブプロセッサ４３のサブプロセッサキーを調べる。そして、DMAC４４は、調べたアクセス要求元のサブプロセッサキーと、アクセス要求先であるメインメモリ１２のメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、サブプロセッサ４３から供給されたコマンドを実行する。
【００６９】
図４に示されるキー管理テーブルに記録されているキーマスクは、その任意のビットが“１”になることによって、そのキーマスクと関連付けられたサブプロセッサキーの対応するビットを“０”または“１”にすることができる。
【００７０】
例えば、サブプロセッサキーが“１０１０”であるとする。通常、このサブプロセッサキーによって“１０１０”のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが“０００１”に設定されている場合には、キーマスクのビットが“１”に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ（キーマスクのビットが“１”に設定された桁について、判定されず）、このサブプロセッサキー“１０１０”によってアクセスキーが“１０１０”または“１０１１”のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００７１】
以上のようにして、メインメモリ１２のサンドボックスの排他性が実現される。すなわち、複数のサブプロセッサ４３によってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサ４３と、後段階の処理を行うサブプロセッサ４３のみが、メインメモリ１２の所定のアドレスにアクセスできるようになり、データを保護することができる。
【００７２】
例えば、キーマスクの値は、以下のように変更されることが考えられる。まず、情報処理装置１の起動直後においては、キーマスクの値は全て“０”である。メインプロセッサ４２にロードされたプログラムが実行され、サブプロセッサ４３にロードされたプログラムと連携動作するものとする。サブプロセッサ４３−１により出力された処理結果データを、メインメモリ１２に記憶させ、メインメモリ１２に記憶させた処理結果データを、サブプロセッサ４３−２に入力したいときには、サブプロセッサ４３−１により出力された処理結果データを記憶しているメインメモリ１２の領域は、サブプロセッサ４３−１およびサブプロセッサ４３−２からアクセス可能である必要がある。そのような場合に、メインプロセッサ４２は、キーマスクの値を適切に変更し、複数のサブプロセッサ４３からアクセスできるメインメモリの領域を設けることにより、サブプロセッサ４３による多段階的の処理を可能にする。
【００７３】
より具体的には、例えば、情報処理装置１−２乃至情報処理装置１−ｎから送信されてきたデータを基に、サブプロセッサ４３−１が所定の処理実行し、処理が施されたデータをメインメモリ１２の第１の領域に記憶させる。そして、サブプロセッサ４３−２は、メインメモリ１２の第１の領域から、記憶されているデータを読み出し、読み出したデータを基に、所定の処理を実行し、処理が施されたデータをメインメモリ１２の第１の領域とは、異なる第２の領域に記憶させる。
【００７４】
ここで、サブプロセッサ４３−１のサブプロセッサキーが“０１００”であり、メインメモリ１２の第１の領域のアクセスキーが“０１００”であり、サブプロセッサ４３−２のサブプロセッサキーが“０１０１”であり、メインメモリ１２の第２の領域のアクセスキーが“０１０１”である場合、サブプロセッサ４３−２は、メインメモリ１２の第１の領域にアクセスすることができない。そこで、サブプロセッサ４３−２のキーマスクを“０００１”にすることによって、サブプロセッサ４３−２は、メインメモリ１２の第１の領域にアクセスすることができるようになる。
【００７５】
次に、図５および図６を参照して、情報処理装置１-１がソフトウェアセルを生成し、生成したソフトウェアセルを基に、情報処理装置１−２乃至情報処理装置１−ｎに分散処理を実行させる場合の処理について説明する。
【００７６】
情報処理装置１-１のメインプロセッサ４２は、処理を実行するために必要なコマンド、プログラム、およびデータを含むソフトウェアセルを生成し、ネットワーク２を介して情報処理装置１−２乃至情報処理装置１−ｎあてに送信する。
【００７７】
図５は、ソフトウェアセルの構成の例を示す図である。
【００７８】
ソフトウェアセルは、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、DMAコマンド、プログラム、およびデータを含むように構成される。
【００７９】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置１-１のネットワークアドレスおよび情報処理装置１-１の情報処理コントローラ１１の装置ＩＤ、更に、情報処理装置１-１の情報処理コントローラ１１が備えるメインプロセッサ４２およびサブプロセッサ４３の識別子（メインプロセッサＩＤおよびサブプロセッサＩＤ）が含まれる。
【００８０】
送信先ＩＤには、ソフトウェアセルの送信先である情報処理装置１−２乃至情報処理装置１−ｎのネットワークアドレス、情報処理装置１−２乃至情報処理装置１−ｎの情報処理コントローラの装置ＩＤ、および情報処理装置１−２乃至情報処理装置１−ｎの情報処理コントローラが備えるメインプロセッサおよびサブプロセッサの識別子が含まれる。
【００８１】
また、応答先ＩＤには、ソフトウェアセルの実行結果の応答先である情報処理装置１-１のネットワークアドレス、情報処理装置１-１の情報処理コントローラ１１の装置ＩＤ、および情報処理コントローラ１１が備えるメインプロセッサ４２およびサブプロセッサ４３の識別子が含まれる。
【００８２】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルＩＤから構成される。
【００８３】
グローバルＩＤは、ネットワーク２全体を通してソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ、およびソフトウェアセルの生成または送信の日時（日付および時刻）を基に、生成される。
【００８４】
必要なサブプロセッサの情報には、ソフトウェアセルの実行に必要なサブプロセッサの数などが設定される。サンドボックスサイズには、ソフトウェアセルの実行に必要なメインメモリおよびサブプロセッサのローカルストレージのメモリ量が設定される。
【００８５】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１つのグループを構成するソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００８６】
ソフトウェアセルの実行セクションは、DMAコマンド、プログラムおよびデータから構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００８７】
更に、DMAコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドなどが含まれる。
【００８８】
ロードコマンドは、メインメモリが記憶している情報をサブプロセッサのローカルストレージにロードさせるコマンドであり、ロードコマンドのほかに、メインメモリアドレス、サブプロセッサＩＤおよびＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリの所定の領域のアドレスを示す。サブプロセッサＩＤおよびＬＳアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージのアドレスを示す。
【００８９】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンドのほかに、サブプロセッサＩＤおよびプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサを識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【００９０】
機能プログラム実行コマンドは、ある装置（例えば、情報処理装置１-１）が他の装置（例えば、情報処理装置１−２乃至情報処理装置１−ｎのうちのいずれか）に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した装置（例えば、情報処理装置１−２乃至情報処理装置１−ｎのうちのいずれか）の情報処理コントローラは、機能プログラムＩＤによって、起動すべき機能プログラムを識別する。
【００９１】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置１−２乃至情報処理装置１−ｎの現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置１-１あてに送信要求するコマンドである。
【００９２】
ステータス返信コマンドは、ステータス要求コマンドを受信した情報処理装置１−２乃至情報処理装置１−ｎが、装置情報をステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置１-１に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【００９３】
図６は、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す図である。
【００９４】
情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置１−２乃至情報処理装置１−ｎを識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置１−２乃至情報処理装置１−ｎのＩＤを示す。情報処理装置ＩＤは、例えば、装置の電源をオンしたとき、情報処理装置１−２乃至情報処理装置１−ｎの情報処理コントローラに含まれるメインプロセッサによって、装置の電源をオンしたときの日時、情報処理装置１−２乃至情報処理装置１−ｎのネットワークアドレスおよび情報処理装置１−２乃至情報処理装置１−ｎの情報処理コントローラに含まれるサブプロセッサの数などに基づいて生成される。
【００９５】
情報処理装置種別ＩＤには、情報処理装置１−２乃至情報処理装置１−ｎの特徴を表す値が含まれる。情報処理装置１−２乃至情報処理装置１−ｎの特徴とは、情報処理装置１−２乃至情報処理装置１−ｎがどのような装置であるかを示す情報であり、例えば、情報処理装置１−２乃至情報処理装置１−ｎが、ハードディスクレコーダ、PDA（Personal Digital Assistants）、ポータブルＣＤ（Compact Disc）プレーヤなどであることを示す情報である。また、情報処理装置種別ＩＤは、映像音声記録、映像音声再生など、情報処理装置１−２乃至情報処理装置１−ｎの機能を表すものであってもよい。情報処理装置１−２乃至情報処理装置１−ｎの特徴や機能を表す値は予め決定されているものとし、情報処理装置種別ＩＤを読み出すことにより、情報処理装置１−２乃至情報処理装置１−ｎの特徴や機能を把握することが可能である。
【００９６】
ＭＳ（マスタ／スレーブ）ステータスは、情報処理装置がマスタ装置またはスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合には、情報処理装置はマスタ装置として動作していることを示し、１に設定されている場合には、情報処理装置はスレーブ装置として動作していることを示す。
【００９７】
メインプロセッサ動作周波数は、情報処理コントローラのメインプロセッサの動作周波数を表す。メインプロセッサ使用率は、メインプロセッサで現在動作している全てのプログラムについての、メインプロセッサでの使用率を表す。メインプロセッサ使用率は、メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えば、プロセッサ処理能力評価のための単位であるMIPSを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。
【００９８】
サブプロセッサ数は、情報処理コントローラが備えるサブプロセッサの数を表す。サブプロセッサＩＤは、情報処理コントローラのサブプロセッサを識別するための識別子である。
【００９９】
サブプロセッサステータスは、サブプロセッサの状態を表すものであり、“unused”、“reserved”、および“busy”などの状態がある。“unused”は、サブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。“reserved”は、現在は使用されていないが、予約されている状態を示す。“busy”は、現在使用中であることを示す。
【０１００】
サブプロセッサ使用率は、サブプロセッサで現在実行している、またはサブプロセッサに実行が予約されているプログラムについての、サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスが“busy”である場合には、現在の使用率を示し、サブプロセッサステータスが“reserved”である場合には、後に使用される予定の推定使用率を示す。
【０１０１】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、１つのサブプロセッサに対して一組設定され、１つの情報処理コントローラのサブプロセッサに対応する組数が設定される。
【０１０２】
メインメモリ総容量およびメインメモリ使用量は、それぞれ、情報処理コントローラに接続されているメインメモリの総容量および現在使用中の容量を表す。
【０１０３】
記録部数は、情報処理コントローラに接続されている記録部の数を表す。記録部ＩＤは、情報処理コントローラに接続されている記録部を一意的に識別する情報である。記録部種別ＩＤは、記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、DVD±ＲＷ、メモリディスク、SRAM、ROMなど）を表す。
【０１０４】
記録部総容量および記録部使用量は、それぞれ、記録部ＩＤによって識別される記録部の総容量および現在使用中の容量を表す。
【０１０５】
記録部ＩＤ、記録部種別ＩＤ、記録部総容量および記録部使用量は、１つの記録部に対して一組設定されるものであり、情報処理コントローラに接続されている記録部の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の記録部が接続されている場合、各記録部には異なる記録部ＩＤが割り当てられ、記録部種別ＩＤ、記録部総容量および記録部使用量も別々に管理される。
【０１０６】
このようにして、情報処理装置１-１は、情報処理装置１−２乃至情報処理装置１−ｎに分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルを、ネットワーク２を介して情報処理装置１−２乃至情報処理装置１−ｎあてに送信する。
【０１０７】
なお、以下、情報処理装置１-１から情報処理装置１−２乃至情報処理装置１−ｎあてに送信される各種データは、ソフトウェアセルに格納されて送信されるものとし、繰り返しになるので、その説明は省略する。
【０１０８】
図７に、個々の情報処理コントローラ１１のメインメモリ１２が記憶するソフトウェアの構成を示す。これらのソフトウェア（プログラム）は、情報処理装置１に電源が投入される前においては、情報処理コントローラ１１に接続される記録部１３に記録されているものである。
【０１０９】
各プログラムは、機能または特徴によって、制御プログラム、機能プログラム、および、デバイスドライバにカテゴライズされる。
【０１１０】
制御プログラムは、それぞれの情報処理コントローラ１１が同じものを備え、それぞれの情報処理コントローラ１１のメインプロセッサ４２が実行するものである。例えば、複数の情報処理装置１において分散処理を実行することが可能なようになされている場合、制御プログラムには、後述するＭＳ（マスタ／スレーブ）マネージャおよび能力交換プログラムが含まれる。
【０１１１】
機能プログラムは、メインプロセッサ４２が実行する、いわゆるアプリケーションプログラムに対応するものであり、例えば、記録用、再生用、素材検索用など、情報処理コントローラ１１ごとに、情報処理装置１が有する機能に応じたものが備えられるようになされている。
【０１１２】
デバイスドライバは、情報処理コントローラ１１または情報処理装置１へのデータの入出力（送受信）機能を実行するためのドライバであり、例えば、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラ１１ごとに、情報処理装置１が有する機能に応じたものが備えられるようになされている。
【０１１３】
図７に示される各プログラムのメインメモリ１２へのロードについて説明する。
【０１１４】
図示しない接続ケーブルなどによって情報処理装置１が物理的にネットワーク２に接続された状態で、情報処理装置１に主電源が投入され、情報処理装置１が電気的および機能的にネットワーク２に接続されると、その情報処理装置１の情報処理コントローラ１１のメインプロセッサ４２は、制御プログラムに属する各プログラム、およびデバイスドライバに属する各プログラムを、メインメモリ１２にロードする。
【０１１５】
具体的には、メインプロセッサ４２は、まず、ＤＣ４６に読み出し命令を実行させることによって、記録部１３からロードするプログラムを読み出し、次に、ＤＭＡＣ４４に書き込み命令を実行させることによって、そのプログラムをメインメモリ１２に書き込ませることにより、制御プログラムに属する各プログラム、およびデバイスドライバに属する各プログラムを、メインメモリ１２にロードすることができる。
【０１１６】
また、機能プログラムに属する各プログラムについては、メインプロセッサ４２の制御に基づいて、必要なときに必要なプログラムだけがロードされるようにしてもよいし、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムがロードされるようにしてもよい。
【０１１７】
また、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【０１１８】
ここで、機能プログラムに属する各プログラムは、ネットワーク２に接続された全ての情報処理装置１の記録部１３に記録されている必要はなく、いずれか１つの情報処理装置１の記録部１３に記録されていれば、上述した方法によって、必要に応じて、それぞれの情報処理装置１の間で、機能プログラムを授受することができる。したがって、ネットワーク２に接続されている複数の情報処理装置１を仮想的な１台の情報処理装置として動作させ、機能プログラムを実行させることができる。
【０１１９】
次に、ＭＳマネージャ、および、能力交換プログラムについて説明する。
【０１２０】
ＭＳマネージャは、情報処理装置１がネットワーク２に接続されていることを検知すると、同じネットワーク２に接続されている他の情報処理装置１の存在を確認する。ここでの「接続」または「存在」は、情報処理装置１が物理的にネットワーク２に接続されているだけでなく、電気的および機能的にネットワーク２に接続されていることに対応する。
【０１２１】
具体的には、ＭＳマネージャは、同じネットワーク２に接続されている他の情報処理装置１の存在を確認するために、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤおよび応答先ＩＤが自分自身で、送信先ＩＤを特定しないソフトウェアセルを生成して、生成したソフトウェアセルをネットワーク２に送信し、ネットワーク接続確認用のタイマを設定する。タイマのタイムアウト時間は、例えば１０分とする。
【０１２２】
それぞれの情報処理装置１のメインプロセッサ４２は、装置情報（動作状態に関する情報）を格納するための領域を、メインメモリ１２に確保し、例えば、情報処理装置ＩＤ、情報処理装置種別ＩＤ、サブプロセッサＩＤ、記録部ＩＤ、記録部数、記録部総容量などの情報を、装置情報テーブルとして記録している。
【０１２３】
したがって、ネットワーク２に他の情報処理装置１が接続されている場合、接続されている他の情報処理装置１からは、ＤＭＡコマンドがステータス返信コマンドであり、かつ、他の情報処理装置１のメインメモリ１２に記録されている装置情報をデータとして含む、ソフトウェアセルが返信される。ＭＳマネージャは、タイマがタイムアウトするまで、ステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスタ装置）を示すステータス返信コマンドが受信された場合、ＭＳマネージャは、自分自身の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、ＭＳマネージャは、自分自身をスレーブ装置であると認識する。一方、タイマがタイムアウトするまでの間に、ステータス返信コマンドが全く受信されなかった場合、またはＭＳステータス＝０（マスタ装置）を示すステータス返信コマンドが受信されなかった場合、ＭＳマネージャは、自分自身の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、ＭＳマネージャは、自分自身がマスタ装置であると認識する。
【０１２４】
また、ＭＳマネージャは、自分自身が、マスタ装置またはスレーブ装置のいずれであっても、定期的にステータス要求コマンドをネットワーク２に送信してステータス情報を照会することにより、他の装置の状況を監視する。その結果、ネットワーク２の接続状態に変化があった場合には、その情報を、後述する能力交換プログラムに通知する。
【０１２５】
そして、能力交換プログラムは、自分自身がマスタ装置である場合、ネットワーク２に接続されている全ての他の情報処理装置１の装置情報、すなわち各スレーブ装置の装置情報を取得する。
【０１２６】
スレーブ装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成してネットワーク２に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、かつ、データとしてスレーブ装置の装置情報を含むソフトウェアセルを受信することによって行われる。
【０１２７】
能力交換プログラムは、マスタ装置である自分自身の装置情報テーブルと同様に、ネットワーク２に接続されている全てスレーブ装置の装置情報を格納するための領域を自装置のメインメモリ１２に確保し、これら情報を、スレーブ装置の装置情報テーブルとして記録する。
【０１２８】
すなわち、マスタ装置のメインメモリ１２には、ネットワーク２に接続されている全ての情報処理装置１の装置情報が、装置情報テーブルとして記録される。
【０１２９】
一方、能力交換プログラムは、自分自身がスレーブ装置である場合、同様にして、ネットワーク２に接続されている全ての他の情報処理装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤおよびＭＳステータスを、メインメモリ１２に記録する。すなわち、スレーブ装置のメインメモリ１２には、自分自身の装置情報が、装置情報テーブルとして記録されるとともに、ネットワーク２に接続されている他の情報処理装置１（マスタ装置およびスレーブ装置）についての情報処理装置ＩＤおよびＭＳステータスが記録される。
【０１３０】
また、能力交換プログラムは、自分自身がマスタ装置またはスレーブ装置のいずれであっても、新たにネットワーク２に情報処理装置１が接続されたり、接続されている情報処理装置１のうちのいずれかがネットワーク２から切断されたことが通知された場合、上述したように、ＭＳマネージャから、ネットワーク２の接続状態に変化があったことを示す情報を取得して、メインメモリ１２に記録されている情報を更新する。
【０１３１】
なお、ＭＳマネージャおよび能力交換プログラムは、メインプロセッサ４２で実行されることに限らず、いずれかのサブプロセッサ４３で実行されてもよい。また、ＭＳマネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１３２】
なお、分散処理におけるマスタ装置は、ユーザの操作およびスレーブ装置の動作状態を把握する必要がある。ユーザがネットワーク２に接続されているいずれかの情報処理装置１を操作した場合、操作対象がマスタ装置であれば、その操作情報は、マスタ装置において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスタ装置に送信される。すなわち、ユーザの操作対象がマスタ装置とスレーブ装置のいずれであるかにかかわらず、その操作情報は、常に、マスタ装置において把握されるようになされる。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
【０１３３】
そして、マスタ装置の情報処理コントローラ１１に含まれるメインプロセッサ４２は、その操作情報に従って、実行する機能プログラムを選択する。マスタ装置の情報処理コントローラ１１に含まれるメインプロセッサ４２は、上述したように、自分自身の記録部１３から、または、他の情報処理装置１（すなわち、スレーブ装置）から、メインメモリ１２に機能プログラムをロードする。
【０１３４】
機能プログラムには、その実行単位ごとに必要となる、情報処理装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの、装置に関する要求スペックが規定されている。マスタ装置の情報処理コントローラ１１に含まれるメインプロセッサ４２は、各機能プログラムについて必要となる要求スペックを読み出とともに、能力交換プログラムによってメインメモリ１２に予め記録されている装置情報テーブルを参照し、ネットワーク２に接続されているそれぞれの情報処理装置１の装置情報を読み出す。
【０１３５】
そして、マスタ装置の情報処理コントローラ１１に含まれるメインプロセッサ４２は、ネットワーク２上に接続された各情報処理装置１の装置情報と、機能プログラム実行に必要となる要求スペックとを順次比較し、例えば、機能プログラムが録画機能を必要とする場合、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置１のみを特定して抽出するなど、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合、これらの候補装置から１つの実行要求候補装置が選択される。
【０１３６】
マスタ装置内の情報処理コントローラ１１に含まれるメインプロセッサ４２は、実行要求候補装置として特定されたスレーブ装置について、自分自身のメインメモリ１２に記録されている装置情報テーブルを更新する。更に、メインプロセッサ４２は、ＤＭＡコマンドが機能プログラム実行コマンドであるソフトウェアセルを生成し、機能プログラムに関する必要なサブプロセッサの情報およびサンドボックスサイズを設定して、実行要求候補装置として特定されたスレーブ装置に送信する。
【０１３７】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自分自身に記録されている装置情報テーブルを更新する。スレーブ装置の情報処理コントローラ１１に含まれるメインプロセッサ４２は、その際、必要であれば、上述したように、自分自身の記録部１３から、または、他の情報処理装置１から、メインメモリ１２に機能プログラムをロードする。
【０１３８】
更に、メインメモリ用プログラムと同様に、サブプロセッサプログラムも、必要であれば、ソフトウェアセルによって他の情報処理装置１に送信させ、他の情報処理装置１のサブプロセッサ４３にロードさせ、他の情報処理装置１に実行させることができる。
【０１３９】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置の情報処理コントローラ１１のメインプロセッサ４２は、終了通知をマスタ装置の情報処理コントローラ１１のメインプロセッサ４２に送信するとともに、自分自身が記憶している装置情報テーブルを更新する。マスタ装置の情報処理コントローラ１１のメインプロセッサ４２−１は、スレーブ装置により送信された機能プログラムの実行の終了通知を受信して、自分自身が記憶している装置情報テーブルのうち、機能プログラムを実行したスレーブ装置に対応する部分を更新する。
【０１４０】
なお、仮想的な１台の情報処理装置として機能プログラムが実行される場合、マスタ装置が、ユーザの操作およびスレーブ装置の動作状態を把握しておく必要があるため、ネットワーク２から切断された情報処理装置１がマスタ装置である場合、例えば、ネットワーク２から切断されていない情報処理装置１のうち、最も小さい値の情報処理装置ＩＤを有する情報処理装置１をマスタ装置とするようにすればよい。
【０１４１】
ネットワーク２を介して、相互に接続される複数の情報処理装置１は、基本的に、上述したように、情報処理コントローラ１１によって情報処理を行うものであれば、どのような機能を有する装置であってもよい。図８乃至図１３を用いて、さまざまな機能を有する装置の具体的な例について説明する。
【０１４２】
図８に、情報処理コントローラ１１を備えるハードディスクレコーダ１０１の構成を示す。図８のハードディスクレコーダ１０１は、図１に示した記憶部１３−２として、ハードディスク１１２を内蔵し、記憶部１３−１として、例えば、ＤＶＤ±Ｒ／ＲＷ、ＣＤ±Ｒ／ＲＷ、Ｂｌｕ−ｒａｙＤｉｓｃ（登録商標）などの光ディスクを装着可能なディスクドライブ１１１が設けられ、情報処理コントローラ１１のバス４１に接続されたバス１４に、放送受信部１１３、映像入力部１１４、音声入力部１１５、映像出力部１１６、音声出力部１１７が新たに接続されているものである。
【０１４３】
放送受信部１１３は、放送信号を受信するものであり、映像入力部１１４および音声入力部１１５は、ハードディスクレコーダ１０１の外部から、映像信号および音声信号を入力し、それぞれ所定フォーマットのデジタルデータに変換して、情報処理コントローラ１１での処理のためにバス１４に送出するものであり、映像出力部１１６および音声出力部１１７は、情報処理コントローラ１１からバス１４に送出された映像データおよび音声データを処理して、デジタルデータのまま、またはアナログ信号に変換して、ハードディスクレコーダ１０１の外部のモニタおよびスピーカなどに送出するものである。
【０１４４】
図８に示されるハードディスクレコーダ１０１のソフトウェア構成を、図９に示す。ハードディスクレコーダ１０１のソフトウェア構成においては、制御プログラムとして、ＭＳマネージャおよび能力交換プログラムが備えられ、機能プログラムとして、映像音声記録、映像音声再生、素材検索および番組録画予約のためのプログラムが備えられ、デバイスドライバとして、放送受信、映像出力、音声出力、外部記録部入出力およびネットワーク入出力のためのプログラムが備えられる。
【０１４５】
図１０に、情報処理コントローラ１１を備えるＰＤＡ（Personal Digital Assistants）１５１の構成を示す。図１０のＰＤＡ１５１は、記憶部１３−２として、メモリカードが装着可能なようになされているメモリカードディスク１６１が設けられているとともに、情報処理コントローラ１１のバス４１に接続されたバス１４に、音声出力部１６２、音声入力部１６３、撮像部１６４、および、ＧＰＳ（Global Positioning System）処理部１６５が新たに設けられている。
【０１４６】
音声出力部１６２および音声入力部１６３は、情報処理コントローラ１１からバス１４に送出された映像データおよび音声データを処理して、デジタルデータのまま、またはアナログ信号に変換して、ＰＤＡ１５１の外部のモニタおよびスピーカなどに送出するものである。撮像部１６４は、内部に、レンズやＣＣＤなどを備え、画像（静止画像であっても、動画像であってもよい）を撮像することが可能なようになされている。ＧＰＳ（Global Positioning System）処理部１６５は、米国国防省が打ち上げた測地衛星の発信する電波を受信することにより、ＰＤＡ１５１の地球上での位置（経度／緯度）を知るシステムである。
【０１４７】
図１０に示されるＰＤＡ１５１のソフトウェア構成を図１１に示す。ＰＤＡ１５１のソフトウェア構成としては、制御プログラムとして、ＭＳマネージャおよび能力交換プログラムが備えられ、機能プログラムとして、映像音声記録、映像音声再生、電話帳、ワードプロセッサおよび表計算のためのプログラム、並びに、Ｗｅｂブラウザが備えられ、デバイスドライバとして、映像出力、音声出力、カメラ映像入力、マイク音声入力およびネットワーク入出力のためのプログラムが備えられる。
【０１４８】
図１２に、情報処理コントローラ１１を備えるポータブルＣＤプレーヤ２０１の構成を示す。図１２のポータブルＣＤプレーヤ２０１は、記憶部１３−２として、ＣＤ（Compact Disc）が装着可能なようになされているＣＤドライブ２１１が設けられ、情報処理コントローラ１１のバス４１に接続されたバス１４に、音声出力部２１２、およびＧＰＳ処理部２１３が新たに設けられている。
【０１４９】
音声出力部２１２は、ＣＤドライブ２１１に装着されているＣＤから再生された音声を出力するものである。ＧＰＳ処理部２１３は、図１０を用いて説明したＧＰＳ処理部１６４と同様に、米国国防省が打ち上げた測地衛星の発信する電波を受信することにより、ポータブルＣＤプレーヤ２０１の地球上での位置（経度／緯度）を知るシステムである。
【０１５０】
図１２に示されるポータブルＣＤプレーヤ２０１のソフトウェア構成を図１３に示す。ポータブルＣＤプレーヤ２０１のソフトウェア構成としては、制御プログラムとして、ＭＳマネージャおよび能力交換プログラムが備えられ、機能プログラムとして、音声再生が備えられ、デバイスドライバとして、ディスク制御、音声出力、およびネットワーク入出力のためのプログラムが備えられる。
【０１５１】
図８乃至図１３を用いて説明した各種の機能を有する装置が、図１のネットワーク２に接続されているネットワークシステムにおいて、例えば、マスタ装置がポータブルＣＤプレーヤ２０１であるものとし、ユーザによって、スレーブ装置であるＰＤＡ１５１において、２時間の放送番組の録画予約の操作が行われた場合を例として、具体的な処理について説明する。
【０１５２】
この場合、スレーブ装置であるＰＤＡ１５１は、ユーザから録画開始時刻、録画終了時刻、録画対象放送チャネル、録画品質などの情報を含む録画予約情報の入力を受け、録画予約情報およびＤＭＡコマンドとしての録画予約コマンドを含むソフトウェアセルを生成して、マスタ装置であるポータブルＣＤプレーヤ２０１に送信する。ＤＭＡコマンドが録画予約コマンドであるソフトウェアセルを受信したポータブルＣＤプレーヤ２０１の情報処理コントローラ１１に含まれるメインプロセッサ４２は、録画予約コマンドを読み出すとともに、メインメモリ１２内の装置情報テーブルを参照して、録画予約コマンドを実行可能な情報処理装置を特定する。
【０１５３】
まず、メインプロセッサ４２は、装置情報テーブルに含まれる各情報処理装置１の情報処理装置種別ＩＤを読み出し、録画予約コマンドに対応する機能プログラムを実行可能な装置を抽出する。そして、録画機能を示す情報処理装置種別ＩＤを有する情報処理装置である、ハードディスクレコーダ１０１などが候補装置として特定される。
【０１５４】
次に、マスタ装置であるポータブルＣＤプレーヤ２０１の情報処理コントローラ１１に含まれるメインプロセッサ４２は、装置情報テーブルを参照して、ハードディスクレコーダ１０１などの候補装置のそれぞれのメインプロセッサまたはサブプロセッサの処理能力、メインメモリに関する情報などの、装置に関する情報を読み出し、これらの装置が録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するか否かを判断する。ここでは、ハードディスクレコーダ１０１を含む複数の候補装置において、録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するものとする。
【０１５５】
さらに、メインプロセッサ４２は、自分自身が保有する、ネットワーク２に接続されているそれぞれの装置に関する情報である装置情報テーブルを参照して、録画予約コマンドの実行に必要な要求スペックを満足する装置のそれぞれの記憶部１３に対応するもの（例えば、ハードディスク１１２など）に関する情報を読み出し、それらの空き容量がこの録画予約コマンドの実行に必要な容量を満足するか否かを判断する。
【０１５６】
例えば、ハードディスクレコーダ１０１のハードディスク１１２の空き容量が、録画時間に換算して２０時間であり、他の要求スペックを満足する装置の記憶部１３などの空き容量が、録画時間に換算して２時間に満たない場合、マスタ装置であるポータブルＣＤプレーヤ２０１の情報処理コントローラ１１に含まれるメインプロセッサ４２は、この録画予約コマンドの実行に必要な２時間分の空き容量を確保できるハードディスクレコーダ１０１を、実行要求先スレーブ装置として特定する。
【０１５７】
その結果、ハードディスクレコーダ１０１のみが実行要求先スレーブ装置として選択されるので、マスタ装置であるポータブルＣＤプレーヤ２０１の情報処理コントローラ１１に含まれるメインプロセッサ４２は、ユーザにより操作されたＰＤＡ１５１から送信された、録画予約情報を含む録画予約コマンドを、ハードディスクレコーダ１０１に送信して、２時間の放送番組の録画予約の実行を要求する。
【０１５８】
そして、ハードディスクレコーダ１０１の情報処理コントローラ１２に含まれるメインプロセッサ４２は、供給された録画予約コマンドを解析して、録画に必要な機能プログラムをハードディスク１１２からメインメモリ１２にロードし、録画予約情報に従って録画処理を実行する。その結果、録画予約された２時間の放送番組の映像音声データが、ハードディスクレコーダ１０１のハードディスク１１２に記録される。
【０１５９】
このように、図８乃至図１３を用いて説明した各種の機能を有する装置が、図１のネットワーク２に接続されているネットワークシステムにおいては、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、ネットワーク２に接続されている複数の情報処理装置を仮想的な１台の情報処理装置として動作させることができる。
【０１６０】
次に、複数の装置において分散処理を実行することが可能な情報処理コントローラ１１を有する、各種の機能を有する装置が、ホームネットワークに接続されている場合の処理の具体的な例について、以下に説明する。
【０１６１】
図１４は、本発明を適用したホームネットワークシステムの構成を示す図である。
【０１６２】
ホームネットワーク２５１には、パーソナルコンピュータ２６１、デジタルスチルカメラ２６２、ＰＤＡ２６３，携帯電話機２６４、ロケーションフリーＴＶ２６５、デジタルビデオカメラ２６６、ＩＣカード２６７、携帯型プレーヤ２６８、電子辞書２６９、カーナビゲーションシステム２７０、ＩＣレコーダ２７１、電気スイッチ（リビング）２７２、電気スイッチ（玄関）２７３、電子レンジ２７４、洗濯機２７５、冷蔵庫２７６、プリンタ２７７、プロジェクタ２７８、ディスプレイ２７９、テレビジョン受像機２８０、および、ラジオ２８１が、有線、または、無線で接続されているものとする。
【０１６３】
なお、ユーザが持ち歩くことが可能なようになされているパーソナルコンピュータ２６１、デジタルスチルカメラ２６２、ＰＤＡ２６３，携帯電話機２６４、ロケーションフリーＴＶ２６５、デジタルビデオカメラ２６６、ＩＣカード２６７、携帯型プレーヤ２６８、電子辞書２６９、カーナビゲーションシステム２７０、または、ＩＣレコーダ２７１は、無線によってホームネットワーク２５１に接続されている場合が多く、電気スイッチ（リビング）２７２、電気スイッチ（玄関）２７３、電子レンジ２７４、洗濯機２７５、冷蔵庫２７６、プリンタ２７７、プロジェクタ２７８、ディスプレイ２７９、テレビジョン受像機２８０、および、ラジオ２８１は、有線によってホームネットワーク２５１に接続されている場合が多い。
【０１６４】
パーソナルコンピュータ２６１乃至ラジオ２８１は、それぞれ、上述した情報処理コントローラ１１を有しており、ホームネットワーク２５１を介して、ソフトウェアセルを授受することが可能なようになされている。また、パーソナルコンピュータ２６１乃至ラジオ２８１は、自分自身の利用統計情報を記憶することができるようになされているとともに、ホームネットワーク２５１に接続されている他の装置の利用統計情報を、ホームネットワーク２５１を介して取得し、記憶することができるようになされている。利用統計情報の詳細については、後述する。
【０１６５】
ユーザは、パーソナルコンピュータ２６１乃至ラジオ２８１のうちのいずれかの装置に、自分のユーザ名の登録を行う。このユーザ名は、ホームネットワーク２５１に接続されている機器の利用統計情報において、一意になるよう登録されなければならない。
【０１６６】
すなわち、ホームネットワーク２５１に接続されているいずれの装置からであっても、情報処理コントローラ１１を有し、分散処理の実行が可能な機器を捜索することが可能なようになされており、利用統計情報を交換する機器を選択することができるようになされている。また、情報処理コントローラ１１を有し、分散処理が実行可能な機器を、あとでホームネットワーク２５１に追加して接続することも可能であり、その場合も、ホームネットワーク２５１に接続されているいずれの装置からであっても、分散処理を実行させる機器が捜索可能なようになされており、利用統計情報を交換する機器を選択することができるようになされている。
【０１６７】
図１５は、本発明を適用したパーソナルコンピュータ２６１乃至ラジオ２８１の情報処理コントローラ１１が、ホームネットワーク２５１を介して、ソフトウェアセルを授受し、連携して処理を実行する場合に実現可能な機能を説明するための機能ブロック図である。
【０１６８】
テーブル記憶部３０１は、ホームネットワーク２５１を介して、ソフトウェアセルを授受し、連携して処理を実行するために必要な各種テーブルを記憶する。
【０１６９】
利用統計情報に対応するテーブルには、例えば、図１６に示されるようなテーブルがある。
【０１７０】
機器起動情報テーブル３５１は、ホームネットワーク２５１に接続されている機器を区別可能な機器ＩＤ、起動された日にちと時刻を示す起動日時情報、停止された日にちと時刻を示す停止日時情報が含まれている。視聴情報テーブル３５２には、テレビジョン放送やラジオ放送などにおいて視聴されたチャンネルに対応するチャンネルＩＤ、視聴された日にちと時刻を示す日時情報、視聴した時間を示す時間情報、視聴された番組のジャンルを示すジャンルＩＤ、この情報を取得した場合にテレビジョン放送などを視聴していたユーザを示すユーザＩＤが含まれている。
【０１７１】
チャンネル変更テーブル３５３には、テレビジョン放送やラジオ放送などにおいて視聴されているチャンネルが変更される操作入力が行われた場合の、変更後のチャンネルに対応するチャンネルＩＤ、チャンネルの変更操作が行われた日にちと時刻を示す日時情報、チャンネル変更操作を行う前のチャンネルを示す変更前チャンネルＩＤ、この情報を取得した場合にテレビジョン放送などを視聴していたユーザを示すユーザＩＤが含まれている。チャンネルＩＤテーブルには、チャンネルＩＤ、チャンネルＩＤに対応するチャンネル番号、および、このチャンネルＩＤとチャンネル番号との関係が成立する地域を示す地域コードが含まれている。地域コードテーブル３５５には、地域コードと、対応する地域名が含まれている。
【０１７２】
録画情報テーブル３５６には、テレビジョン放送において録画されたチャンネルに対応するチャンネルＩＤ、録画された日にちと時刻を示す日時情報、録画した時間を示す時間情報、録画された番組のジャンルを示すジャンルＩＤ、この情報に対応する録画を指令したユーザを示すユーザＩＤが含まれている。操作情報テーブル３５７には、例えば、音量の調整やブライトネスの調整など、ユーザにより操作された機能を示す機能ＩＤ、操作された日にちと時刻を示す日時情報、および、操作したユーザを示すユーザＩＤが含まれている。機能ＩＤテーブル３５８には、機能ＩＤと、機能ＩＤに対応する機能名が含まれている。
【０１７３】
機器プロファイルテーブル３５９には、機器ＩＤと対応する機器名、および、その機器が所有している、例えば、音声出力、映像出力、ＧＰＳを用いた位置情報の取得などの機能を示す、所有機能ＩＤが含まれている。ユーザ嗜好情報テーブル３６０には、ユーザＩＤと、例えばそのユーザにより入力されたユーザの嗜好を示すジャンルＩＤが含まれている。ユーザＩＤテーブル３６１には、ユーザＩＤと対応するユーザ名が含まれている。ジャンルＩＤテーブル３６２には、ジャンルＩＤと対応するジャンル名が含まれている。
【０１７４】
機器利用テーブル３６３には、利用された機器ＩＤ、利用された位置情報を示すＧＰＳ情報、利用された日にちと時刻を示す日時情報、および、この機器を利用したユーザを示すユーザＩＤが含まれている。所有機能ＩＤテーブル３６４には、例えば、音声出力、映像出力、ＧＰＳを用いた位置情報の取得などの機能を示す、所有機能ＩＤ、対応する所有機能名、および、機能の詳細を示す機能詳細データが含まれている。
【０１７５】
図１７を用いて、機器プロファイルテーブル３５９の具体的な例について説明する。
【０１７６】
機能プロファイルテーブル３５９は、情報処理コントローラ１１を有するそれぞれの機器に搭載されている機能の一覧が登録されているテーブルであり、機器ＩＤ、機器名、および、所有機能ＩＤの情報で構成されている。所有機能ＩＤは、図１８を用いて後述する所有機能ＩＤテーブル３６４に記載されている、所有機能名および機能詳細データに対応つけられている。
【０１７７】
例えば、パーソナルコンピュータ２６１は、機器ＩＤが１０１とされ、所有機能ＩＤが１,２,３,４,８,１２,１３,１５，１６とされ、デジタルスチルカメラ２６２は、機器ＩＤが１０２とされ、所有機能ＩＤが１８とされ、ＰＤＡ２６３は、機器ＩＤが１０３とされ、所有機能ＩＤが１７，７，２１とされ、以下、それぞれの機器の機器ＩＤ、機器名、および、所有機能ＩＤが関連つけられて登録されている。情報処理コントローラ１１を有するそれぞれの機器は、機能プロファイルテーブル３５９を基に、他の機器の利用できる機能を選択することが可能である。
【０１７８】
次に、図１８を用いて、所有機能ＩＤテーブル３６４の具体的な例について説明する。
【０１７９】
所有機能ＩＤテーブル３６４には、所有機能ＩＤ、所有機能名、および、機能詳細データが登録されている。例えば、所有機能ＩＤの１は、６４０×４８０画素の映像出力機能に対応し、所有機能ＩＤの２は、１０２４×７６８画素の映像出力機能に対応し、所有機能ＩＤの３は、１６００×１２００画素の映像出力機能に対応している。また、映像出力機能以外に、音声出力機能も、例えば、チャンネル数や、出力可能な音の種類など、音声出力の形態によって、機能ＩＤが異なるようになされており、さらに、映像出力機能においては、出力可能なディスプレイのサイズなども、所有機能ＩＤごとに登録されるようになされている。
【０１８０】
このようにすることにより、例えば、携帯電話機２６４などの、映像出力および音声出力の能力が低い装置において再生されるべき情報が、テレビジョン受像機２８０などの、映像出力および音声出力の能力が高い装置において再生されるとき、または、その逆で、テレビジョン受像機２８０などの、映像出力および音声出力の能力が高い装置において再生されるべき情報が、携帯電話機２６４などの、映像出力および音声出力の能力が低い装置において再生されるときなどにおいて、処理に不整合が起こらないように制御することが可能となる。
【０１８１】
所有機能ＩＤテーブル３６４には、例えば、アナログチューナ、地上波デジタルチューナ、ＢＳデジタルチューナ、ＭＤ再生、ＣＤ再生、ＤＶＤ再生、ＭＤ記録、ＣＤ記録、ＤＶＤ記録、ＭＰ３再生、紙印刷出力、または、ＧＰＳによる位置検出機能などの所有機器ＩＤが登録されている。
【０１８２】
情報処理コントローラ１１を有するそれぞれの機器は、機能プロファイルテーブル３５９および所有機器ＩＤテーブル３６１を基に、他の機器において利用できる機能を選択することが可能である。例えば、洗濯機２７５の処理が終了したとき、常にユーザは洗濯機２７５のそばにいるわけではなく、どこか異なる場所にいる可能性があるため、洗濯機２７５の終了通知を他の機器を用いて行う場合について説明する。洗濯機２７５、または、そのときのマスタ装置は、利用統計情報を参照し、その時間帯にユーザが近傍に存在する可能性が最も高い機器で、かつ、音声または映像出力の機能のある機器を、通知処理の実行要求を送信する機器として選択することができる。例えば、洗濯機２７５の終了通知を行う機器として選択された機器が、ロケーションフリーＴＶ２６５である場合、ロケーションフリーＴＶ２６５のスピーカから終了通知が出力されるか、表示部に、洗濯機２７５の処理が終了したことをユーザに通知するためのメッセージが表示される。ユーザは、ロケーションフリーＴＶ２６５に対して、終了通知を確認したことを操作入力するか、または、洗濯機２７５の扉を開けて洗濯物を取り出すことにより、終了通知を確認したことを洗濯機２７５に認識させることができる。洗濯機２７５、または、そのときのマスタ装置は、ユーザが終了通知を確認したことを認識することができなかった場合、次にその時間帯にユーザが近傍に存在する可能性が高い機器で、かつ、音声または映像出力の機能のある機器を選択し、終了通知を実行させることができる。
【０１８３】
これらのテーブルには、更に多くの情報が含まれるようにしてもよいことはもちろんであり、また、テーブル記憶部３０１には、これ以外の情報テーブルを記録してもよいことももちろんである。
【０１８４】
また、パーソナルコンピュータ２６１乃至ラジオ２８１は、必要に応じて、これらのテーブルのうちの一部または全部を、対応するユーザＩＤごとに、テーブル記憶部３０１に記憶している。
【０１８５】
例えば、複数のユーザにより利用される可能性の高いテレビジョン受像機２８０においては、ユーザＩＤ別の起動、停止時の日時に関する情報である、機器起動情報テーブル３５１が記憶され、ユーザＩＤ別の視聴情報テーブル３５２、チャンネル変更テーブル３５３、チャンネルＩＤテーブル３５４、地域コードテーブル３５５、操作情報テーブル３５７などが登録される。
【０１８６】
また、ユーザは、例えば、テレビジョン受像機２８０に対して、自分の嗜好に合致したジャンルを選択して、ユーザ嗜好情報テーブル３６０に登録したり、自分の嗜好に合致した番組などを検索するのに利用可能な単語などを登録することも可能である。ジャンルＩＤテーブル３６２に登録されるジャンルＩＤとジャンル名は、例えば、EPGなどの電子番組表に基づいて生成されたり、ユーザにより登録される。
【０１８７】
また、例えば、電子レンジ２７４や冷蔵庫２７６など場合は、同一のユーザから、毎日、ほぼ変わらない時間に利用されることが予測されるので、ユーザＩＤ別の起動、停止時の日時に関する情報である、機器起動情報テーブル３５１が記憶され、ＰＤＡ２６３や携帯電話機２６４などの、ユーザが持ち歩くことが可能な装置には、更に、機器が利用されたときの位置情報が含まれている機器利用テーブル３６３などが記憶される。なお、ユーザが持ち歩くことが可能な装置機器は、ユーザごとに１台用意されるものであるため、ユーザＩＤ情報は、所有者のＩＤとして登録されていればよい場合もある。
【０１８８】
図１５の説明に戻る。
【０１８９】
テーブル管理部３０２は、テーブル記憶部３０１に記憶されるテーブル情報を管理するものであり、動作情報取得部３１２から供給される動作情報、または、ユーザの設定などを基に、必要に応じて、テーブル記憶部３０１に記憶されるテーブル情報を更新する。
【０１９０】
利用統計情報生成部３０３は、テーブル記憶部３０１に記憶されているテーブル情報を基に、利用統計情報を生成する。
【０１９１】
たとえば、テレビジョン受像機２８０の利用情報として、テーブル記憶部３０１に、日にちごとに、2004/02/02の視聴情報として、「6ch：1時間視聴、8ch：3時間視聴、10ch：2時間視聴」、2004/02/03の視聴情報として、「6ch：2時間視聴、8ch：1時間視聴、10ch：1時間視聴」のような情報が記録されていたとする。利用統計情報生成部３０３は、このような情報を、例えば、一ヶ月単位の情報としてとりまとめ、2004/02の視聴情報として、「6ch：3時間視聴、8ch：4時間視聴、10ch：3時間視聴」のようにして情報の圧縮を行う。このようにすることにより、記憶されている情報量を減らすようにすることができる。
【０１９２】
利用統計情報記憶部３０４は、利用統計情報生成部３９３により生成された利用統計情報を記憶する。
【０１９３】
ソフトウェアセル生成部３０５は、処理要求生成部３０９または予約処理決定部３１０の制御に基づき、また、利用統計情報記憶部３０４により記憶されている利用統計情報を必要に応じて読み出して、例えば、他の装置に対して処理の実行を要求したり、他の装置から供給されたソフトウェアセルに対する応答を行うためなどに用いられるソフトウェアセルを生成する。
【０１９４】
ソフトウェアセル送受信制御部３０６は、ソフトウェアセル生成部３０５により生成されたソフトウェアセルを、通信部１６を介して、ホームネットワーク２５１に送信させるとともに、他の装置から送信され、ホームネットワーク２５１を介して通信部１６が受信したソフトウェアセルを取得する。
【０１９５】
ソフトウェアセル解析部３０７は、ソフトウェアセル送受信制御部３０６により取得された、他の装置から受信されたソフトウェアセルの内容を解析し、その内容に基づいて、ソフトウェアセル生成部３０５、全利用統計情報記憶部３０８、処理要求生成部３０９、予約処理決定部３１０、または、動作制御部３１１のいずれかに、解析結果を供給する。
【０１９６】
例えば、ホームネットワーク２５１に接続されている他の装置と連携して処理を実行する場合に先立ち、他の装置が保有する利用統計情報が取得される場合、ソフトウェアセル生成部３０５は、図１９に示される、実行セクションのDMAコマンドが利用統計情報リクエストコマンドであるソフトウェアセルを生成し、ソフトウェアセル送受信制御部３０６に供給し、送信させる。
【０１９７】
利用統計情報リクエストコマンドには、データとして、全利用統計情報が記載される。全利用統計情報は、図２０に示されるように、複数の利用統計情報が集合したものであり、例えば、テレビジョン放送番組を録画する機能に関する利用統計情報である場合、利用統計情報には、記録日、記録開始時刻、記録終了時刻、記録された番組が放送されていたチャンネル、記録番組ＩＤ、記録番組名、ジャンルなどの番組情報、画質モード、予約機器ＩＤ、予約機器名が含まれる。
【０１９８】
また、ソフトウェアセル送受信制御部３０６は、図１９を用いて説明した利用統計情報リクエストコマンドを受信した場合、受信した利用統計情報リクエストコマンドをソフトウェアセル解析部３０７に供給する。ソフトウェアセル解析部３０７は、供給された利用統計情報リクエストコマンドを解析し、全利用統計情報を全利用統計情報記憶部３０８に供給して記憶させるとともに、コマンドの解析結果をソフトウェアセル生成部３０５に供給する。
【０１９９】
ソフトウェアセル生成部３０５は、利用統計情報記憶部３０４に記憶されている利用統計情報を参照して、図２１に示される実行セクションのDMAコマンドが利用統計情報レスポンスコマンドおよび利用統計情報受け入れフラグであるソフトウェアセルを生成し、ソフトウェアセル送受信制御部３０６に供給し、送信させる。
【０２００】
図１９を用いて説明した利用統計情報リクエストコマンドに対する利用統計情報レスポンスコマンドのデータには、例えば、全録画予約情報、機器情報、および、利用統計情報が含まれる。利用統計情報受け入れフラグとは、このソフトウェアセルを取得したソフトウェアセル解析部３０７による利用統計情報の読み込みを受け入れるか否かを示すフラグである。すなわち、このソフトウェアセルを取得したソフトウェアセル解析部３０７は、利用統計受け入れフラグを参照し、読み込みが許可されているソフトウェアセルのデータに含まれる利用統計情報利用統計情報のみを読み込み、全利用統計情報記憶部３０８に供給して記憶させる。
【０２０１】
図２１の利用統計情報レスポンスコマンドのデータに含まれる機器情報の例を、図２２に示す。
【０２０２】
情報処理装置ＩＤは、情報処理コントローラ１１を備える各装置（パーソナルコンピュータ２６１乃至ラジオ２８１）を識別するための識別子である。情報処理装置ＩＤは、例えば、装置の電源をオンしたとき、情報処理コントローラ１１に含まれるメインプロセッサ４２によって、装置の電源をオンしたときの日時、それぞれの装置のネットワークアドレスおよび情報処理コントローラ１１に含まれるサブプロセッサ４３の数などに基づいて生成される。
【０２０３】
情報処理装置種別ＩＤには、各装置（パーソナルコンピュータ２６１乃至ラジオ２８１）の特徴を表す値が含まれる。特徴とは、これらの装置がどのような機能を有する装置であるかを示す情報であり、例えば、ハードディスクレコーダ、PDA、携帯電話機などであることを示す情報である。また、情報処理装置種別ＩＤは、映像音声記録、映像音声再生など、装置の機能を表すものであってもよい。装置の特徴や機能を表す値は予め決定されているので、情報処理装置種別ＩＤを読み出すことにより、装置の特徴や機能を把握することが可能である。
【０２０４】
ＭＳ（マスタ／スレーブ）ステータスは、情報処理装置がマスタ装置またはスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合には、情報処理装置はマスタ装置として動作していることを示し、１に設定されている場合には、情報処理装置はスレーブ装置として動作していることを示す。
【０２０５】
メインプロセッサ動作周波数は、情報処理コントローラ１１のメインプロセッサ４２の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ４２で現在動作している全てのプログラムについての、メインプロセッサ４２での使用率を表す。メインプロセッサ使用率は、メインプロセッサ４２の全処理能力に対する使用中の処理能力の比率を表した値で、例えば、プロセッサ処理能力評価のための単位であるMIPSを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。
【０２０６】
サブプロセッサ数は、情報処理コントローラが備えるサブプロセッサ４３の数を表す。
【０２０７】
メインメモリ総容量およびメインメモリ使用量は、それぞれ、情報処理コントローラ１１に接続されているメインメモリ１２の総容量および現在使用中の容量を表す。
【０２０８】
記録部数は、情報処理コントローラ１１に接続されている記録部１３、または、それに対応する記録装置やディスクなどの数を表す。記録部ＩＤは、情報処理コントローラ１１に接続されている記録部１３などを一意的に識別する情報である。記録部種別ＩＤは、記録部１３の種類（例えば、ハードディスク、ＣＤ±ＲＷ、DVD±ＲＷ、メモリディスク、SRAM、ROMなど）を表す。記録部総容量は、記録部ＩＤによって識別される記録部１３などの総容量を表す。
【０２０９】
記録部ＩＤ、記録部種別ＩＤ、および、記録部総容量は、１つの記録部１３または対応する記録装置等に対して一組設定されるものであり、情報処理コントローラ１１に接続されている記録部等の数の組数だけ設定される。すなわち、１つの情報処理コントローラ１１に複数の記録部１３が接続されている場合、それぞれの記録部１３には異なる記録部ＩＤが割り当てられ、記録部種別ＩＤ、および、記録部総容量も別々に管理される。
【０２１０】
サブプロセッサＩＤは、情報処理コントローラ１１のサブプロセッサ４３を識別するための識別子である。サブプロセッサ使用率は、サブプロセッサ４３で現在実行している、またはサブプロセッサ４３に実行が予約されているプログラムの実行による、サブプロセッサ４３の使用率を表す。
【０２１１】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、１つのサブプロセッサ４３に対して一組設定され、１つの情報処理コントローラ１１のサブプロセッサ４３に対応する組数が設定される。
【０２１２】
そして、ネットワーク帯域は、ホームネットワーク２５１において通信に利用されているネットワーク帯域を示す情報である。
【０２１３】
図２１の利用統計情報レスポンスコマンドのデータに含まれる利用統計情報の例を、図２３に示す。
【０２１４】
利用統計情報レスポンスコマンドを生成する装置が、例えば、テレビジョン放送の受信機能や、テレビジョン放送番組の録画機能を有していた場合、利用統計情報には、例えば、時間ごとのチャンネルの視聴情報、視聴時の音量、時間ごとのチャンネルの利用統計情報、時間ごとのチャンネルの変更回数、時間ごとの視聴ジャンル、時間ごとのカテゴリ情報などが含まれる。
【０２１５】
ソフトウェアセル送受信制御部３０６は、図２１を用いて説明した利用統計情報レスポンスコマンドを受信した場合、受信した利用統計情報レスポンスコマンドをソフトウェアセル解析部３０７に供給する。ソフトウェアセル解析部３０７は、供給された利用統計情報レスポンスコマンドを解析し、データに含まれている、全録画予約情報、機器情報、および、利用統計情報を、全利用統計情報記憶部３０８に供給して記憶させる
【０２１６】
全利用統計情報記憶部３０８は、ソフトウェアセル送受信制御部３０６により受信され、ソフトウェアセル解析部３０７により解析されて得られた全利用統計情報、または、利用統計情報の供給を受けて、それらの情報を記憶する。
【０２１７】
処理要求生成部３０９は、ユーザによる操作入力、動作情報取得部３１２により取得された動作情報、または、ソフトウェアセル解析部３０７により解析されて供給されたソフトウェアセルの解析結果を基に、全利用統計情報記憶部３０８やテーブル記憶部３０１を参照し、他の装置に対する処理要求情報を生成し、ソフトウェアセル生成部３０５に供給する。
【０２１８】
また、予約処理決定部３１０は、ユーザによる操作入力、動作情報取得部３１２により取得された動作情報、または、ソフトウェアセル解析部３０７により解析されて供給されたソフトウェアセルの解析結果を基に、全利用統計情報記憶部３０８やテーブル記憶部３０１を参照し、他の装置に対する予約処理の内容を決定し、所定のタイミングで、他の装置に予約処理を実行させるための予約処理実行要求情報を生成し、ソフトウェアセル生成部３０５に供給する。
【０２１９】
具体的には、処理要求生成部３０９により処理要求情報が生成され、ソフトウェアセル生成部３０５に供給された場合、または、予約処理決定部３１０により予約処理実行要求情報が生成され、ソフトウェアセル生成部３０５に供給された場合、ソフトウェアセル生成部３０５は、図２４に示される実行セクションのDMAコマンドが処理実行リクエストコマンドであるソフトウェアセルを生成し、ソフトウェアセル送受信制御部３０６に供給し、送信させる。
【０２２０】
また、図２４に示される実行セクションのDMAコマンドが処理実行リクエストコマンドであるソフトウェアセルがソフトウェアセル送受信制御部３０６により受信され、ソフトウェアセル解析部３０７により解析された場合、ソフトウェアセル解析部３０７は、解析結果をソフトウェアセル生成部３０５および動作制御部３１１に供給する場合がある。
【０２２１】
動作制御部３１１は、供給された情報を基に、自分自身の動作（例えば、音声再生のために必要な動作など）を制御する。
【０２２２】
動作情報取得部３１２は、自分自身の動作情報を取得し、取得した動作情報を、テーブル管理部３０２、処理要求生成部３０９、予約処理決定部３１０、ソフトウェアセル生成部３０５に供給する。
【０２２３】
図２４に示される実行セクションのDMAコマンドが処理実行リクエストコマンドであるソフトウェアセルの解析結果を受けたソフトウェアセル生成部３０５は、動作情報取得部３１２により取得された動作情報の供給を受け、図２５に示される実行セクションのDMAコマンドが処理実行レスポンスコマンドおよび処理結果フラグであるソフトウェアセルを生成し、ソフトウェアセル送受信制御部３０６に供給し、送信させる。ソフトウェアセル生成部３０５は、動作情報取得部３１２により取得された動作情報を基に、処理結果フラグのＯＮ／ＯＦＦを決定する。
【０２２４】
また、図２４に示される実行セクションのDMAコマンドが処理実行リクエストコマンドであるソフトウェアセルを送信し、他の装置に所定の処理の実行を要求している状態であるとき、ソフトウェアセル生成部３０５は、いずれかの装置から送信された、図２５に示される実行セクションのDMAコマンドが処理実行レスポンスコマンドおよび処理結果フラグであるソフトウェアセルの解析結果、または、動作情報取得部３１２により取得された動作情報に基づいて、要求された所定の処理の実行が終了されたことを認識した場合、図２６に示される実行セクションのDMAコマンドが処理実行キャンセルリクエストコマンドであるソフトウェアセルを生成し、ソフトウェアセル送受信制御部３０６に供給し、送信させる。
【０２２５】
また、図２６に示される実行セクションのDMAコマンドが処理実行キャンセルリクエストコマンドであるソフトウェアセルがソフトウェアセル送受信制御部３０６により受信され、ソフトウェアセル解析部３０７により解析された場合、ソフトウェアセル解析部３０７は、解析結果をソフトウェアセル生成部３０に供給する。
【０２２６】
ソフトウェアセル生成部３０は、図２７に示される、実行セクションのDMAコマンドが処理実行キャンセルレスポンスコマンドおよび処理実行キャンセル結果フラグであるソフトウェアセルを生成し、ソフトウェアセル送受信制御部３０６に供給し、送信させる。
【０２２７】
次に、図２８乃至図３４のフローチャートを参照して、具体的な処理について説明する。
【０２２８】
まず、図２８を参照して、パーソナルコンピュータ２６１が、他の装置の利用統計情報を収集する処理について説明する。
【０２２９】
ステップＳ１において、パーソナルコンピュータ２６１の処理要求生成部３０９は、バス１４、および、バス４１を介して、操作入力部１５を用いてユーザが入力した、ホームネットワーク２５１に接続された機器の協調処理への参加の指令の入力を受ける。
【０２３０】
ステップＳ２において、パーソナルコンピュータ２６１の処理要求生成部３０９は、ホームネットワーク２５１に接続された他の機器に利用統計情報の送信を要求させるためのコマンドの生成と出力を、ソフトウェアセル生成部３０５に要求する。ソフトウェアセル３０５は、図１９を用いて説明した利用統計情報リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された利用統計情報リクエストコマンドを、ホームネットワーク２５１を介して、送信する。
【０２３１】
ステップＳ３において、例えば、デジタルスチルカメラ２６２、ＰＤＡ２６３、または、ラジオ２８１などの、ホームネットワーク２５１に接続された他の機器のソフトウェアセル送受信制御部３０６は、ステップＳ２において、パーソナルコンピュータ２６１から送信された利用統計情報リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２３２】
ステップＳ４において、例えば、デジタルスチルカメラ２６２、ＰＤＡ２６３、または、ラジオ２８１などの、ホームネットワーク２５１に接続された他の機器のソフトウェアセル解析部３０７は、供給された利用統計情報リクエストコマンドを解析して、利用統計情報リクエストコマンドに記載されている利用統計情報を取得し、利用統計情報リクエストコマンドの解析結果をソフトウェアセル生成部３０５に供給する。ソフトウェアセル３０５は、図２１を用いて説明した利用統計情報レスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された利用統計情報レスポンスコマンドを、ホームネットワーク２５１を介して、パーソナルコンピュータ２６１に返信する。
【０２３３】
ステップＳ５において、パーソナルコンピュータ２６１のソフトウェアセル送受信制御部３０６は、ホームネットワーク２５１に接続された他の機器から送信された、利用統計情報レスポンスコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２３４】
ステップＳ６において、パーソナルコンピュータ２６１のソフトウェアセル解析部３０７は、供給された利用統計情報リクエストコマンドを解析して、受信した利用統計情報レスポンスコマンドのうち、利用統計受け入れフラグが有効となっている情報を抽出する。
【０２３５】
ステップＳ７において、パーソナルコンピュータ２６１のソフトウェアセル解析部３０７は、抽出された利用統計情報レスポンスコマンドの情報、すなわち、デジタルスチルカメラ２６２、ＰＤＡ２６３、または、ラジオ２８１などの、ホームネットワーク２５１に接続された他の機器の利用統計情報を、全利用統計情報記憶部３０８に供給する。全利用統計情報記憶部３０８は、供給された利用統計情報を、必要に応じて適切に合成して記憶し、処理が終了される。
【０２３６】
このような処理により、パーソナルコンピュータ２６１は、他の装置の利用統計情報を収集することが可能である。また、デジタルスチルカメラ２６２乃至ラジオ２８１が他の装置の利用統計情報を収集する場合、図２８を用いて説明した処理において、パーソナルコンピュータ２６１が実行した処理と基本的に同様の処理を実行すればよいので、その説明は省略する。
【０２３７】
したがって、ホームネットワーク２５１に新たな装置が接続されても、パーソナルコンピュータ２６１乃至ラジオ２８１は、接続された新たな装置の装置利用情報を、ユーザによる複雑な操作入力なしに取得することができるとともに、接続された新たな装置も、同様の処理を実行して、パーソナルコンピュータ２６１乃至ラジオ２８１の装置利用情報を、ユーザによる複雑な操作入力なしに取得することができる。
【０２３８】
次に、図２９のフローチャートを参照して、パーソナルコンピュータ２６１が、図２８を用いて説明した処理により取得した、デジタルスチルカメラ２６２、ＰＤＡ２６３、または、ラジオ２８１などの、ホームネットワーク２５１に接続された他の機器の利用統計情報を用いて、他の装置に処理の実行を要求する場合の処理について説明する。
【０２３９】
ステップＳ２１において、パーソナルコンピュータ２６１の処理要求生成部３０９は、例えば、バス１４、および、バス４１を介して、操作入力部１５を用いてユーザが入力した所定の操作、または、動作情報取得部３１２により取得されたパーソナルコンピュータ２６１自身の所定の動作情報などの、処理開始のきっかけとなる入力である、処理開始トリガ入力を受ける。
【０２４０】
ステップＳ２２において、パーソナルコンピュータ２６１の処理要求生成部３０９は、図２８を用いて説明した処理により取得した、デジタルスチルカメラ２６２、ＰＤＡ２６３、または、ラジオ２８１などの、ホームネットワーク２５１に接続された他の機器の利用統計情報を参照して、処理の実行を指令する装置を選択する、または、指令する装置の優先順位を決定する。
【０２４１】
ステップＳ２３において、パーソナルコンピュータ２６１の処理要求生成部３０９は、処理開始トリガ入力に対応付けられた所定の処理を、ステップＳ２２の処理により選択された、または、優先順位が上位であるとされた他の装置に実行させるためのコマンドの生成と出力を、ソフトウェアセル生成部３０５に要求する。ソフトウェアセル生成部３０５は、図２４を用いて説明した処理実行リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行リクエストコマンドを、ホームネットワーク２５１を介して、ステップＳ２２の処理により選択された、または、優先順位が上位であるとされた他の装置に送信する。
【０２４２】
ここでは、優先順位が最上位である装置が、デジタルスチルカメラ２６２であり、優先順位が２位である装置が、ラジオ２８１である場合について説明する。
【０２４３】
ステップＳ２４において、デジタルスチルカメラ２６２のソフトウェアセル送受信制御部３０６は、ステップＳ２３において、パーソナルコンピュータ２６１から送信された処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２４４】
ステップＳ２５において、デジタルスチルカメラ２６２のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、例えば、動作制御部３１１、予約処理決定部３１０など、対応する箇所に供給する。例えば、処理実行リクエストコマンドの内容が、所定の動作の実行を要求するものであった場合、動作制御部３１１は、供給された解析結果に含まれる利用統計情報を参照して、リクエストされた処理を実行する。
【０２４５】
ステップＳ２６において、パーソナルコンピュータ２６１のソフトウェアセル生成部３０５は、必要に応じて、ステップＳ２３における処理実行リクエストコマンドと異なる送信先が指定された処理実行リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行リクエストコマンドを、ホームネットワーク２５１を介して、指定された装置に送信する。ここでは、２番目の装置として、ラジオ２８１に処理実行リクエストコマンドが送信されたものとして説明する。
【０２４６】
ステップＳ２７およびステップＳ２８において、ステップＳ２４およびステップＳ２４においてデジタルスチルカメラ２６２が実行した処理と基本的に同様の処理が、ラジオ２８１において実行される。
【０２４７】
ステップＳ２９において、パーソナルコンピュータ２６１の処理要求生成部３０９は、ソフトウェアセル解析部３０７により、処理実行レスポンスコマンドを受信したことの通知を受ける。もしくは、ステップＳ２８において、パーソナルコンピュータ２６１の処理要求生成部３０９は、例えば、バス１４、および、バス４１を介して、操作入力部１５を用いてユーザが入力した所定の操作、または、動作情報取得部３１２により取得されたパーソナルコンピュータ２６１自身の所定の動作情報、または、ユーザによる操作入力などにより、要求した処理が終了したことを認識し、ソフトウェアセル生成部３０５に処理実行キャンセルリクエストコマンドを生成させ、ソフトウェアセル送受信制御部３０６に、ホームネットワーク２５１を介して、処理実行リクエストコマンドの送信先となったすべての装置に対して、処理実行キャンセルリクエストコマンドを送信させる。
【０２４８】
ステップＳ３０において、デジタルスチルカメラ２６２のソフトウェアセル生成部３０５は、パーソナルコンピュータ２６１に対して処理の実行が終了したことを通知するための処理実行レスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行レスポンスコマンドを、ホームネットワーク２５１を介して、パーソナルコンピュータ２６１に返信する。または、ステップＳ３０において、デジタルスチルカメラ２６２のソフトウェアセル送受信制御部３０６は、処理実行キャンセルリクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。ソフトウェアセル解析部３０７は、処理実行キャンセルリクエストコマンドの解析結果をソフトウェアセル生成部３０５に供給するので、ソフトウェアセル生成部３０５は、処理実行キャンセルリクエストコマンドの受信を通知するための処理実行キャンセルレスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行キャンセルレスポンスコマンドを、ホームネットワーク２５１を介して、パーソナルコンピュータ２６１に送信する。
【０２４９】
また、ステップＳ３１において、ステップＳ３０においてデジタルスチルカメラ２６２が実行した処理と基本的に同様の処理が、ラジオ２８１において実行される。
【０２５０】
ステップＳ３２において、パーソナルコンピュータ２６１の動作制御部３１１は、必要に応じて、処理の実行終了を、例えば、音声メッセージや、通知メッセージの表示、または、ピープ音などを用いて、ユーザに通知し、処理が終了される。
【０２５１】
このような処理により、パーソナルコンピュータ２６１は、他の装置に処理の実行を要求することが可能である。また、デジタルスチルカメラ２６２乃至ラジオ２８１が他の装置に処理の実行を要求する場合、図２９を用いて説明した処理において、パーソナルコンピュータ２６１が実行した処理と基本的に同様の処理を実行すればよいので、その説明は省略する。
【０２５２】
次に、図３０乃至図３４を参照して、図２９を用いて説明した、他の装置に処理の実行を要求する処理の具体的な例について説明する。
【０２５３】
例えば、洗濯機２７５の処理が終了したとき、洗濯機２７５は、ピープ音を発生してユーザに洗濯動作の終了を通知するが、ユーザが洗濯機２７５のそばにいない場合、ユーザには、ピープ音が聞こえないので、洗濯動作の終了の通知を受けることができない場合がある。そこで、本発明を適用することにより、洗濯機２７５による洗濯動作の終了時に、ユーザが洗濯機２７５とは異なる場所にいても、ユーザに洗濯動作の終了を通知するようにすることができる。
【０２５４】
図３０を参照して、洗濯機２７５の処理（洗濯動作）の終了を、他の装置を用いて、ユーザに通知する場合の処理について説明する。
【０２５５】
ステップＳ５１において、洗濯機２７５の処理要求生成部３０９は、動作情報取得部３１２により取得された洗濯終了を示す動作情報の供給を受ける。ここでは、洗濯終了を示す動作情報の供給が処理開始トリガ入力である。
【０２５６】
ステップＳ５２において、洗濯機２７５の処理要求生成部３０９は、全利用統計情報記憶部３０８に記憶されている利用統計情報を参照して、ユーザへの洗濯終了通知処理実行を指令する装置の優先順位を決定する。
【０２５７】
具体的には、洗濯機２７５の処理要求生成部３０９は、ユーザに対して、例えば、音声、または、表示などを用いて、洗濯機２７５の終了を通知する機能を有する装置であって、現在の時刻に、洗濯機２７５を使用しているユーザが利用している可能性の高い装置、洗濯機２７５を使用しているユーザが利用している可能性の高い装置の近傍に設置されている装置、または、洗濯機２７５を使用しているユーザがいる可能性の高い場所の近傍に設置されている装置を、優先順位の高い装置として選択する。
【０２５８】
ステップＳ５３において、洗濯機２７５の処理要求生成部３０９は、ユーザに洗濯機２７５の処理の終了を通知させる処理を他の装置に実行させるためのコマンドの生成と出力を、ソフトウェアセル生成部３０５に要求する。ソフトウェアセル生成部３０５は、図２４を用いて説明した処理実行リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行リクエストコマンドを、ホームネットワーク２５１を介して、ステップＳ５２の処理により優先順位が上位であるとされた装置に送信する。
【０２５９】
ここでは、優先順位の高い装置として、携帯電話機２６４、および、ラジオ２８１が選択されたものとして説明する。
【０２６０】
ステップＳ５４において、携帯電話機２６４のソフトウェアセル送受信制御部３０６は、ステップＳ５３においてパーソナルコンピュータ２６１から送信された処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２６１】
ステップＳ５５において、携帯電話機２６４のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作制御部３１１に供給し、動作制御部３１１は、供給された解析結果に含まれる利用統計情報を参照して、例えば、音声出力や、メッセージの表示、または、バイブレーションの実行などの、ユーザへの洗濯終了通知処理を実行する。
【０２６２】
ステップＳ５６において、洗濯機２７５の処理要求生成部３０９は、動作情報取得部３１２から供給される、洗濯機２７５の扉の開閉を示す情報を基に、ユーザへの洗濯終了通知処理の実行から所定時間のうちに、ユーザの操作（洗濯物の取り出し）を受けたか否かを判断する。
【０２６３】
ステップＳ５６において、ユーザへの洗濯終了通知処理の実行から所定時間のうちに、ユーザの操作（洗濯物の取り出し）を受けていないと判断された場合、処理は、ステップＳ５３戻り、ステップＳ５６において、ユーザへの洗濯終了通知処理の実行から所定時間のうちに、ユーザの操作（洗濯物の取り出し）を受けたと判断されるまで、ステップＳ５３の処理が繰り返され、処理要求生成部３０９は、ソフトウェアセル生成部３０５を制御して、これまでの処理実行リクエストコマンドとは異なる送信先が指定された処理実行リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行リクエストコマンドを、ホームネットワーク２５１を介して、指定された装置に送信する。ここでは、２番目の装置として、ラジオ２８１に処理実行リクエストコマンドが送信されるものとして説明する。
【０２６４】
ステップＳ５７において、ラジオ２８１のソフトウェアセル送受信制御部３０６は、ステップＳ５３においてパーソナルコンピュータ２６１から送信された処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２６５】
ステップＳ５８において、ラジオ２８１のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作制御部３１１に供給し、動作制御部３１１は、供給された解析結果に含まれる利用統計情報を参照して、例えば、音声出力などの、ユーザへの洗濯終了通知処理を実行する。
【０２６６】
ステップＳ５６において、ユーザへの洗濯終了通知処理の実行から所定時間のうちに、ユーザの操作（洗濯物の取り出し）を受けたと判断された場合、ステップＳ５９において、洗濯機２７５の処理要求生成部３０９は、処理が終了したことを認識し、ソフトウェアセル生成部３０５に処理実行キャンセルリクエストコマンドを生成させ、ソフトウェアセル送受信制御部３０６に、ホームネットワーク２５１を介して、処理実行リクエストコマンドの送信先となったすべての装置に対して、処理実行キャンセルリクエストコマンドを送信する。
【０２６７】
ステップＳ６０において、携帯電話機２６４のソフトウェアセル送受信制御部３０６は、ステップＳ５９においてパーソナルコンピュータ２６１から送信された処理実行キャンセルリクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。ソフトウェアセル解析部３０７は、処理実行キャンセルリクエストコマンドの解析結果をソフトウェアセル生成部３０５に供給するので、ソフトウェアセル生成部３０５は、処理実行キャンセルリクエストコマンドの受信を通知するための処理実行キャンセルレスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行キャンセルレスポンスコマンドを、ホームネットワーク２５１を介して、洗濯機２７５に送信する。
【０２６８】
また、ステップＳ６１において、ステップＳ６０において携帯電話機２６４が実行した処理と基本的に同様の処理が、ラジオ２８１において実行されて、処理が終了される。
【０２６９】
このような処理により、洗濯機２７５の処理が終了したとき、ユーザが洗濯機２７５のそばにいないで、どこか異なる場所にいたとしても、利用統計情報が参照されて、その時間帯にユーザが利用している、または、近傍に存在する可能性が高い機器で、かつ、音声または映像出力の機能のある機器が選択されて、洗濯機２７５の終了を通知することができる。
【０２７０】
また、ユーザは、例えば、台所に立って、調理などの家事を行っているときであっても、いつも楽しみにしているテレビジョン放送番組がある場合は、その放送番組を視聴したいと考えるが、台所に、テレビジョン受像機２８０がない場合、楽しみにしている放送番組を視聴することはできない。せめて、その音声のみでも聞きたいと考えても、台所には、テレビジョン放送番組の音声を受信する機能を有さないラジオ２８１しか存在しない場合がある。そこで、本発明を適用することにより、ユーザが台所に立ったことを検出して、自動的に、テレビジョン放送の音声を受信する機能を有さないラジオ２８１からテレビジョン放送番組の音声を出力させるようにすることができる。
【０２７１】
次に、図３１のフローチャートを参照して、電子レンジ２７４の利用中に、テレビジョン受像機２８０などにおいて再生可能な音声データを、電子レンジ２７４付近に設置されている、音声出力機能を有するラジオ２８１に送信させて出力させる処理について説明する。
【０２７２】
ステップＳ８１において、電子レンジ２７４の処理要求生成部３０９は、動作情報取得部３１２により取得された扉の開閉を示す動作情報、または、ユーザから操作入力を受けたことなどにより、自分自身の使用が所定のユーザにより開始されたことを検出する。ここでは、電子レンジ２７４の使用が所定のユーザにより開始されたことが、処理開始トリガ入力に対応する。
【０２７３】
ステップＳ８２において、電子レンジ２７４の処理要求生成部３０９は、全利用統計情報記憶部３０８に記憶されている利用統計情報を参照して、電子レンジ２７４を使用しているユーザが、この時間に頻繁に利用している音声再生機能を有する装置を選択する。ここでは、テレビジョン受像機２８０が、電子レンジ２７４を使用しているユーザがこの時間に頻繁に利用している音声再生機能を有する装置として選択されたものとして説明する。また、全利用統計情報記憶部３０８に記憶されている利用統計情報には、電子レンジ２７４を使用しているユーザが、テレビジョン受像機２８０を用いて、この時間に頻繁に視聴している放送番組の情報も記録されている。
【０２７４】
ステップＳ８３において、電子レンジ２７４の処理要求生成部３０９は、ラジオ２８１に、テレビジョン受像機２８０から送信される音声データを受信して再生させるためのコマンド、および、テレビジョン受像機２８０に、電子レンジ２７４を使用しているユーザがこの時間に頻繁に視聴している放送番組を受信して、その音声データをラジオ２８１に送信させるためのコマンドの生成と出力を、ソフトウェアセル生成部３０５に要求する。ソフトウェアセル生成部３０５は、処理要求生成部３０９の要求に基づいて、処理実行リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行リクエストコマンドを、ホームネットワーク２５１を介して、ラジオ２８１およびテレビジョン受像機２８１に、それぞれ送信する。
【０２７５】
ステップＳ８４において、ラジオ２８１のソフトウェアセル送受信制御部３０６は、ステップＳ５３において、電子レンジ２７４から送信された処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２７６】
ステップＳ８５において、テレビジョン受像機２８０のソフトウェアセル送受信制御部３０６は、ステップＳ８３において、電子レンジ２７４から送信された処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２７７】
ステップＳ８６において、テレビジョン受像機２８０のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作制御部３１１に供給し、動作制御部３１１は、供給された解析結果に含まれる利用統計情報を参照して、ユーザの嗜好に合致したテレビジョン放送を受信して、その音声データを、ホームネットワーク２５１を介して、ラジオ２８１に送信させる。また、ステップＳ８６の処理においては、動作制御部３１１の処理により、音声データがラジオ２８１に送信されるのではなく、ソフトウェアセル生成部３０５により、データとして、対応する放送番組の音声データを有するソフトウェアセルを生成させて、ソフトウェアセル送受信部３０６により、ホームネットワーク２５１を介して、ラジオ２８１に送信させるようにしてもよい。
【０２７８】
ステップＳ８７において、ラジオ２８１の通信部１６は、テレビジョン受像機２８０から送信された音声データを受信し、再生する。
【０２７９】
ステップＳ８８において、電子レンジ２７４の処理要求生成部３０９は、動作情報取得部３１２により取得された動作情報を基に、電子レンジの使用終了から、利用統計情報を参照して算出可能な、ユーザが台所にいる可能性が高いと判断される所定の時間が経過したか否かを判断する。ステップＳ８８において、所定の時間が経過していないと判断された場合、所定の時間が経過したと判断されるまで、ステップＳ８８の処理が繰り返される。
【０２８０】
ステップＳ８８において、所定の時間が経過したと判断された場合、ステップＳ８９において、電子レンジ２７４の処理要求生成部３０９は、ユーザによる自分自身の利用を含む、台所における処理が終了したと認識し、ソフトウェアセル生成部３０５に処理実行キャンセルリクエストコマンドを生成させ、ソフトウェアセル送受信制御部３０６に、ホームネットワーク２５１を介して、ラジオ２８１およびテレビジョン受像機２８０に対して、処理実行キャンセルリクエストコマンドを送信させる。
【０２８１】
ステップＳ９０において、テレビジョン受像機２８０のソフトウェアセル送受信制御部３０６は、ステップＳ８９において、電子レンジ２７４から送信された処理実行キャンセルリクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。ソフトウェアセル解析部３０７は、処理実行キャンセルリクエストコマンドの解析結果をソフトウェアセル生成部３０５に供給するので、ソフトウェアセル生成部３０５は、処理実行キャンセルリクエストコマンドの受信を通知するための処理実行キャンセルレスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行キャンセルレスポンスコマンドを、ホームネットワーク２５１を介して、電子レンジ２７４に送信する。
【０２８２】
また、ステップＳ９１において、ステップＳ９０においてテレビジョン受像機２８０が実行した処理と基本的に同様の処理が、ラジオ２８１において実行されて、処理が終了される。
【０２８３】
このような処理により、ユーザが台所に立ったことが検出されて、自動的に、テレビジョン放送の音声を受信する機能を有さないラジオ２８１からテレビジョン放送番組の音声を出力させるようにすることができるので、ユーザは、テレビジョン受像機２８０から離れた位置にいても、自分自身の嗜好に合致したテレビジョン放送番組の音声を聴くことが可能となる。また、電子レンジ２７４と同様の処理を、冷蔵庫２７６により実行させても、同様の効果を得ることができるのはいうまでもない。
【０２８４】
また、ユーザは、例えば、ラジオ２８１を用いてラジオを聴いているときや、ロケーションフリーＴＶ２６５を用いて、テレビジョン放送番組を視聴しているときに、短い時間だけ、それらの視聴を中断して、例えば、洗濯機２７５に向かい、洗濯物を投入して、洗濯を開始させて、再び、ラジオやテレビジョン放送の視聴を楽しむような場合がある。このような時、本発明を適用することにより、テレビジョン放送やラジオ放送の音声を受信する機能を有さないが、ユーザが持ち歩けるような、例えば、携帯電話機２６４やＰＤＡ２６３を用いて、洗濯機２７５の操作中であっても、視聴を中断することなく、自動的に、視聴中の音声を出力させて楽しめるようにすることができる。
【０２８５】
次に、図３２のフローチャートを参照して、洗濯機２７５の利用中に、他の音声出力機能を有する装置において出力中の音声があるか否かを判断し、出力中の音声がある場合、対応する音声データを、ユーザにより保持されている、音声出力機能を有するＰＤＡ２６３に送信させて出力させる処理について説明する。
【０２８６】
ステップＳ１１１において、洗濯機２７５の処理要求生成部３０９は、動作情報取得部３１２により取得された扉の開閉動作や、洗剤の投入のためのボックスの開閉操作などを基に、洗濯物の投入が開始されたことを検出する。ここでは、洗濯物の投入が開始されたことを示す動作情報の供給が、処理開始トリガ入力である。
【０２８７】
ステップＳ１１２において、洗濯機２７５の処理要求生成部３０９は、全利用統計情報記憶部３０８に記憶されている利用統計情報を参照して、ユーザがこの時間に頻繁に利用している音声再生機能を有する装置を選択する。
【０２８８】
ステップＳ１１３において、洗濯機２７５の処理要求生成部３０９は、ユーザがこの時間に頻繁に利用している音声再生機能を有する装置である、ラジオ２８１およびロケーションフリーＴＶ２６５に、音声データの再生中であるか否かを判断させ、音声データの再生中である場合は、再生中の音声データをＰＤＡ２６３に送信させるためのコマンド、および、ＰＤＡ２６３に、送信された音声データを再生させるためのコマンドの生成と出力を、ソフトウェアセル生成部３０５に要求する。ソフトウェアセル生成部３０５は、図２４を用いて説明した処理実行リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行リクエストコマンドを、ホームネットワーク２５１を介して、ＰＤＡ２６３、ラジオ２８１、および、ロケーションフリーＴＶ２６５に送信する。
【０２８９】
ステップＳ１１４において、ＰＤＡ２６３のソフトウェアセル送受信制御部３０６は、ステップＳ１１３において洗濯機２７５から送信された処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２９０】
ステップＳ１１５において、ラジオ２８１、および、ロケーションフリーＴＶ２６５のソフトウェアセル送受信制御部３０６は、ステップＳ１１３において洗濯機２７５から送信された処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０２９１】
ステップＳ１１６において、ラジオ２８１、および、ロケーションフリーＴＶ２６５のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作情報取得部３１２に供給する。動作情報取得部３１２は、自分自身が音声データの再生中であるか否かを判断する。ステップＳ１１６において、音声データの再生中ではないと判断された場合、処理は、ステップＳ１２２またはステップＳ１２３に進む。
【０２９２】
ステップＳ１１６において、音声データの再生中であると判断された場合、ステップＳ１１７において、ラジオ２８１、または、ロケーションフリーＴＶ２６５の動作情報取得部３１２は、処理要求生成部３０９に、音声データの再生中であることを通知する。処理要求生成部３０９は、ソフトウェアセル生成部３０５により、データとして、再生中の音声データを有するソフトウェアセルを生成させて、ソフトウェアセル送受信部３０６により、ホームネットワーク２５１を介して、ＰＤＡ２６３に送信させる。
【０２９３】
ステップＳ１１８において、ＰＤＡ２６３のソフトウェアセル送受信制御部３０６は、ステップＳ１１７において送信された音声データを含むソフトウェアセルを受信し、ソフトウェアセル解析部３０７に供給する。ソフトウェアセル解析部３０７は、供給されたソフトウェアセルの解析結果である音声データを含む情報を、動作情報取得部３１２に供給する。動作情報取得部３１２は、音声データの再生を制御する。
【０２９４】
ステップＳ１１９において、洗濯機２７５の処理要求生成部３０９は、動作情報取得部３１２により取得された扉の開閉動作や、洗剤の投入のためのボックスの開閉操作などを基に、ユーザの洗濯機２７５の使用の終了を検出したか否かを判断する。ステップＳ１１９において、ユーザの洗濯機２７５の使用の終了を検出していないと判断された場合、ユーザの洗濯機２７５の使用の終了を検出したと判断されるまで、ステップＳ１１９の処理が繰り返される。
【０２９５】
ステップＳ１１９において、ユーザの洗濯機２７５の使用の終了を検出したと判断された場合、ステップＳ１２０において、洗濯機２７５の処理要求生成部３０９は、ユーザの洗濯機２７５の使用の終了が終了したと認識し、ソフトウェアセル生成部３０５に処理実行キャンセルリクエストコマンドを生成させ、ソフトウェアセル送受信制御部３０６に、ホームネットワーク２５１を介して、ＰＤＡ２６３、ラジオ２８１、および、ロケーションフリーＴＶ２６５に、処理実行キャンセルリクエストコマンドを送信させる。
【０２９６】
ステップＳ１２１乃至ステップＳ１２３において、ＰＤＡ２６３、ラジオ２８１、および、ロケーションフリーＴＶ２６５のソフトウェアセル送受信制御部３０６は、処理実行キャンセルリクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。ソフトウェアセル解析部３０７は、処理実行キャンセルリクエストコマンドの解析結果をソフトウェアセル生成部３０５に供給するので、ソフトウェアセル生成部３０５は、処理実行キャンセルリクエストコマンドの受信を通知するための処理実行キャンセルレスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行キャンセルレスポンスコマンドを、ホームネットワーク２５１を介して、洗濯機２７５に送信して、処理が終了される。
【０２９７】
このような処理により、洗濯機２７５の利用中に、他の音声出力機能を有する装置において出力中の音声があるか否かが判断されて、出力中の音声がある場合、対応する音声データを、ユーザにより保持されている、音声出力機能を有するＰＤＡ２６３に送信させて出力させるようにしたので、ユーザは、洗濯機２７５の操作中であっても、視聴を中断することなく、自動的に、ＰＤＡ２６３に視聴中の音声を出力させて楽しむことができる。
【０２９８】
また、ユーザが外出から帰宅したとき、帰宅時に行う行動は、ある程度決まっている。したがって、本発明を適用することにより、ユーザの帰宅を検出して、そのユーザが帰宅時に行う行動の補助となる動作を、ホームネットワーク２５１に接続されている各機器に自動的に実行させるようにすることができる。
【０２９９】
次に、図３３のフローチャートを参照して、ユーザの帰宅を検出したカーナビゲーションシステム２７０により、他の装置に対して、ユーザの帰宅時に行われるべき処理を自動的に実行させる処理について説明する。
【０３００】
ステップＳ１４１において、カーナビゲーションシステム２７０の処理要求生成部３０９は、動作情報取得部３１２により取得されたＧＰＳによる現在位置情報と、テーブル記憶部３０１により記憶されている自宅の位置情報を基に、ユーザが帰宅したことを検出する。ここでは、ユーザが帰宅したことの検出が、処理開始トリガ入力となる。
【０３０１】
ステップＳ１４２において、カーナビゲーションシステム２７０の処理要求生成部３０９は、全利用統計情報記憶部３０８に記憶されている利用統計情報を参照して、ユーザの操作入力により設定された、または、ユーザの通常の行動を基に予測される、帰宅時のユーザの行動を補助するための処理の内容と、それらの処理の実行を指令する装置を選択する。
【０３０２】
ステップＳ１４３において、カーナビゲーションシステム２７０の処理要求生成部３０９は、帰宅時のユーザの行動を補助するための処理として、玄関の電気スイッチ２７３を点灯させ、テレビジョン受像機２８０に、帰宅したユーザの嗜好情報に合致した放送番組の受信を開始させて、表示および音声出力させ、洗濯機２７５にユーザが洗濯物を投入できるように、洗濯機２７５の扉を開かせるためのコマンドの生成と出力を、ソフトウェアセル生成部３０５に要求する。ソフトウェアセル生成部３０５は、図２４を用いて説明した処理実行リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行リクエストコマンドを、ホームネットワーク２５１を介して、玄関のスイッチ２７３、テレビジョン受像機２８０、および、洗濯機２７５に送信する。
【０３０３】
ステップＳ１４４において、玄関のスイッチ２７３のソフトウェアセル送受信制御部３０６は、処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０３０４】
ステップＳ１４５において、玄関のスイッチ２７３のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作制御部３１１に供給する。動作制御部３１１は、玄関の電灯の照明を点灯させる。
【０３０５】
ステップＳ１４５において、玄関のスイッチ２７３のソフトウェアセル生成部３０５は、図２５を用いて説明した処理実行レスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行レスポンスコマンドを、ホームネットワーク２５１を介して、カーナビゲーションシステム２７０に返信する。
【０３０６】
ステップＳ１４７において、テレビジョン受像機２８０のソフトウェアセル送受信制御部３０６は、処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０３０７】
ステップＳ１４８において、テレビジョン受像機２８０のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作制御部３１１に供給する。動作制御部３１１は、供給された解析結果に含まれる利用統計情報を参照して、ユーザの嗜好に合致したテレビジョン放送の受信、および、映像と音声の出力を開始する。
【０３０８】
ステップＳ１４９において、テレビジョン受像機２８０のソフトウェアセル生成部３０５は、図２５を用いて説明した処理実行レスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行レスポンスコマンドを、ホームネットワーク２５１を介して、カーナビゲーションシステム２７０に返信する。
【０３０９】
ステップＳ１５０において、洗濯機２７５のソフトウェアセル送受信制御部３０６は、処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０３１０】
ステップＳ１５１において、洗濯機２７５のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作制御部３１１に供給する。動作制御部３１１は、供給された解析結果処理実行リクエストコマンドを基に、扉を開く動作を実行する。
【０３１１】
ステップＳ１５２において、洗濯機２７５のソフトウェアセル生成部３０５は、図２５を用いて説明した処理実行レスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行レスポンスコマンドを、ホームネットワーク２５１を介して、カーナビゲーションシステム２７０に返信する。
【０３１２】
ステップＳ１５３において、カーナビゲーションシステム２７０のソフトウェアセル送受信制御部３０６は、玄関のスイッチ２７３、テレビジョン受像機２８０、および、洗濯機２７５から、処理実行レスポンスコマンドを受信することにより、処理が終了したことを認識する。
【０３１３】
ステップＳ１５４において、カーナビゲーションシステム２７０の動作制御部３１１は、必要に応じて、処理の実行終了をユーザに通知するための動作を実行して、処理が終了される。
【０３１４】
このような処理により、ユーザの帰宅を検出して、そのユーザが帰宅時に行う行動の補助となる動作を、ホームネットワーク２５１に接続されている各機器に自動的に実行させることができる。
【０３１５】
また、ユーザの帰宅を、カーナビゲーションシステム２７０に代わって玄関の電気スイッチ２７３が検出するようにしてもよい。その場合、玄関の電気スイッチ２７３は、自分自身がオン（点灯）されたことを検出し、ユーザの帰宅を認識する。また、ユーザの帰宅を、携帯電話機２６４に設けられたＧＰＳによる位置情報を基に検出するようにしてもよい。次に、図３４のフローチャートを参照して、ユーザの帰宅を検出した携帯電話機２６４により、他の装置に対して、ユーザの帰宅時に行われるべき処理を自動的に実行させる処理について説明する。
【０３１６】
ステップＳ１７１において、携帯電話機２６４の処理要求生成部３０９は、動作情報取得部３１２により取得されたＧＰＳによる現在位置情報と、テーブル記憶部３０１により記憶されている自宅の位置情報を基に、ユーザが帰宅したことを検出する。ここでは、ユーザが帰宅したことの検出が、処理開始トリガ入力となる。
【０３１７】
ステップＳ１７２において、携帯電話機２６４の処理要求生成部３０９は、全利用統計情報記憶部３０８に記憶されている利用統計情報を参照して、ユーザの操作入力により設定された、または、ユーザの通常の行動を基に予測される、帰宅時のユーザの行動を補助するための処理の内容と、それらの処理の実行を指令する装置を選択する。
【０３１８】
ステップＳ１７３において、携帯電話機２６４の処理要求生成部３０９は、帰宅時のユーザの行動を補助するための処理として、玄関の電気スイッチ２７３を点灯させ、ロケーションフリーＴＶ２６５に、帰宅したユーザの嗜好情報に合致した放送番組の受信を開始させて、表示および音声出力させ、パーソナルコンピュータ２６１に、ユーザがすぐに新着メールの確認をすることができるように、電子メールの受信処理を開始させるためのコマンドの生成と出力を、ソフトウェアセル生成部３０５に要求する。ソフトウェアセル生成部３０５は、図２４を用いて説明した処理実行リクエストコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行リクエストコマンドを、ホームネットワーク２５１を介して、玄関のスイッチ２７３、ロケーションフリーＴＶ２６５、および、パーソナルコンピュータ２６１に送信する。
【０３１９】
ステップＳ１７４乃至ステップＳ１７６において、図３３のステップＳ１４４乃至ステップＳ１４７と基本的に同様の処理が実行されて、玄関のスイッチが入って照明が点灯され、処理実行レスポンスコマンドが返信される。
【０３２０】
ステップＳ１７７において、ロケーションフリーＴＶ２６５のソフトウェアセル送受信制御部３０６は、処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０３２１】
ステップＳ１７８において、ロケーションフリーＴＶ２６５のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作制御部３１１に供給する。動作制御部３１１は、供給された解析結果に含まれる利用統計情報を参照して、ユーザの嗜好に合致したテレビジョン放送の受信、および、映像と音声の出力を開始する。
【０３２２】
ステップＳ１７９において、ロケーションフリーＴＶ２６５のソフトウェアセル生成部３０５は、図２５を用いて説明した処理実行レスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行レスポンスコマンドを、ホームネットワーク２５１を介して、携帯電話機２６４に返信する。
【０３２３】
ステップＳ１８０において、パーソナルコンピュータ２６１のソフトウェアセル送受信制御部３０６は、処理実行リクエストコマンドを受信し、ソフトウェアセル解析部３０７に供給する。
【０３２４】
ステップＳ１８１において、パーソナルコンピュータ２６１のソフトウェアセル解析部３０７は、供給された処理実行リクエストコマンドを解析して、解析結果を、動作制御部３１１に供給する。動作制御部３１１は、供給された解析結果に含まれる利用統計情報を参照して、電子メールの授受を行うためのアプリケーションプログラム（いわゆる、メーラ）を起動させ、電子メールの受信を行わせる。
【０３２５】
ステップＳ１８１において、パーソナルコンピュータ２６１のソフトウェアセル生成部３０５は、図２５を用いて説明した処理実行レスポンスコマンドを生成して、ソフトウェアセル送受信制御部３０６に供給する。ソフトウェアセル送受信制御部３０６は、供給された処理実行レスポンスコマンドを、ホームネットワーク２５１を介して、携帯電話機２６４に返信する。
【０３２６】
ステップＳ１８３において、携帯電話機２６４のソフトウェアセル送受信制御部３０６は、玄関のスイッチ２７３、ロケーションフリーＴＶ２６５、および、パーソナルコンピュータ２６１から、処理実行レスポンスコマンドを受信することにより、処理が終了したことを認識する。
【０３２７】
ステップＳ１８４において、携帯電話機２６４の動作制御部３１１は、必要に応じて、処理の実行終了をユーザに通知するための動作を実行して、処理が終了される。
【０３２８】
このような処理により、ユーザの帰宅を検出して、そのユーザが帰宅時に行う行動の補助となる動作を、ホームネットワーク２５１に接続されている各機器に自動的に実行させることができる。
【０３２９】
以上説明したように、本発明を適用することにより、ホームネットワーク上の複数の機器の利用統計情報を各機器が保有することができ、いずれの機器からであっても、他の機器に対して、処理要求を行うことができる。
【０３３０】
また、本発明を適用することにより、ホームネットワークに新たな装置が接続されても、もともと接続されていた複数の装置においては、接続された新たな装置の装置利用情報を、ユーザによる複雑な操作入力なしに取得することができるとともに、接続された新たな装置も、同様の処理を実行して、接続されていた複数の装置の装置利用情報を、ユーザによる複雑な操作入力なしに取得することができる。
【０３３１】
すなわち、本発明を適用した各種機能を備える機器を、ホームネットワークに次々と接続しても、新たに接続された装置は、例えば、リムーバブル記録媒体を介して情報を授受させることなどの、複雑な作業をユーザに強いることなく、いままでの利用統計情報を自動的に継承することができるので、ユーザビリティが向上し、ユーザに対して、本発明を適用した各種機能を備える機器の購入意欲を増加させることが可能である。
【０３３２】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０３３３】
この記録媒体は、図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク６１（フレキシブルディスクを含む）、光ディスク６２（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク６３（ＭＤ(Mini-Disk)（商標）を含む）、もしくは半導体メモリ６４などよりなるパッケージメディアなどにより構成される。
【０３３４】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３３５】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０３３６】
【図１】本発明を適用した通信システムの一実施の形態を示す図である。
【図２】メインメモリを説明する図である。
【図３】サブプロセッサのローカルストレージを説明する図である。
【図４】キー管理テーブルを説明する図である。
【図５】ソフトウェアセルの構成の例を示す図である。
【図６】ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す図である。
【図７】図１の情報処理コントローラのメインメモリが記憶するソフトウェアの構成を示す図である。
【図８】図１の情報処理装置の一例であるハードディスクレコーダの構成を示すブロック図である。
【図９】図８の情報処理コントローラのメインメモリが記憶するソフトウェアの構成を示す図である。
【図１０】図１の情報処理装置の一例であるＰＤＡの構成を示すブロック図である。
【図１１】図１０の情報処理コントローラのメインメモリが記憶するソフトウェアの構成を示す図である。
【図１２】図１の情報処理装置の一例であるポータブルＣＤプレーヤ２０１の構成を示すブロック図である。
【図１３】図１２の情報処理コントローラのメインメモリが記憶するソフトウェアの構成を示す図である。
【図１４】本発明を適用したホームネットワークシステムの一実施の形態を示す図である。
【図１５】図１４のホームネットワークシステムのそれぞれの装置の情報処理コントローラが実行可能な処理について説明するための機能ブロック図である。
【図１６】テーブル記憶部に記憶される各種テーブルについて説明するための図である。
【図１７】機器プロファイルテーブルについて説明するための図である。
【図１８】所有機能ＩＤテーブルについて説明するための図である。
【図１９】利用統計情報リクエストコマンドについて説明するための図である。
【図２０】全利用統計情報について説明するための図である。
【図２１】利用統計情報レスポンスコマンドについて説明するための図である。
【図２２】利用統計情報について説明するための図である。
【図２３】機器情報について説明するための図である。
【図２４】処理実行リクエストコマンドについて説明するための図である。
【図２５】処理実行レスポンスコマンドについて説明するための図である。
【図２６】処理実行キャンセルリクエストコマンドについて説明するための図である。
【図２７】処理実行キャンセルレスポンスコマンドについて説明するための図である。
【図２８】本発明を適用したホームネットワークシステムにおける利用統計情報の収集処理について説明するためのフローチャートである。
【図２９】本発明を適用したホームネットワークシステムにおける分散処理について説明するためのフローチャートである。
【図３０】本発明を適用したホームネットワークシステムにおける分散処理について説明するためのフローチャートである。
【図３１】本発明を適用したホームネットワークシステムにおける分散処理について説明するためのフローチャートである。
【図３２】本発明を適用したホームネットワークシステムにおける分散処理について説明するためのフローチャートである。
【図３３】本発明を適用したホームネットワークシステムにおける分散処理について説明するためのフローチャートである。
【図３４】本発明を適用したホームネットワークシステムにおける分散処理について説明するためのフローチャートである。
【符号の説明】
【０３３７】
１  情報処理装置，  ２  ネットワーク，  ３  情報処理装置，  １１  情報処理コントローラ，  １２  メインメモリ，  １５  操作入力部，  １６  通信部，  ４２  メインプロセッサ，  ４３  サブプロセッサ，  ４７  異常検出部，  ４８  異常制御部，  ５１  ローカルストレージ，  ２５１  ホームネットワーク，  ３０１  テーブル記憶部，  ３０４  利用統計情報記憶部，  ３０５  ソフトウェアセル生成部，  ３０６  ソフトウェアセル送受信制御部，  ３０７  ソフトウェアセル解析部，  ３０８  全利用統計情報記憶部，  ３０９  処理要求生成部，  ３１０  予約処理決定部，  ３１１  動作制御部，  ３１２  動作情報取得部，  ３５９  機器プロファイルテーブル，  ３６４  所有機能ＩＤテーブル
【図１】
2006018623.tif 000003
【図２】
2006018623.tif 000004
【図３】
2006018623.tif 000005
【図４】
2006018623.tif 000006
【図５】
2006018623.tif 000007
【図６】
2006018623.tif 000008
【図７】
2006018623.tif 000009
【図８】
2006018623.tif 000010
【図９】
2006018623.tif 000011
【図１０】
2006018623.tif 000012
【図１１】
2006018623.tif 000013
【図１２】
2006018623.tif 000014
【図１３】
2006018623.tif 000015
【図１４】
2006018623.tif 000016
【図１５】
2006018623.tif 000017
【図１６】
2006018623.tif 000018
【図１７】
2006018623.tif 000019
【図１８】
2006018623.tif 000020
【図１９】
2006018623.tif 000021
【図２０】
2006018623.tif 000022
【図２１】
2006018623.tif 000023
【図２２】
2006018623.tif 000024
【図２３】
2006018623.tif 000025
【図２４】
2006018623.tif 000026
【図２５】
2006018623.tif 000027
【図２６】
2006018623.tif 000028
【図２７】
2006018623.tif 000029
【図２８】
2006018623.tif 000030
【図２９】
2006018623.tif 000031
【図３０】
2006018623.tif 000032
【図３１】
2006018623.tif 000033
【図３２】
2006018623.tif 000034
【図３３】
2006018623.tif 000035
【図３４】
2006018623.tif 000036