(57)【要約】【課題】ネットワーク上に複数の情報処理装置が存在するシステムで、ユーザが、その時々の各情報処理装置の処理能力を直感的かつ的確に把握することができ、ユーザ自身の選択によって適切な情報処理装置に処理を実行させることも可能となるようにする。【解決手段】ハードディスクレコーダである情報処理装置１および２、ＰＤＡである情報処理装置３、およびポータブルＣＤプレーヤである情報処理装置４がネットワーク上に存在するとき、ユーザが情報処理装置２に対して各情報処理装置の処理能力の呈示を指示すると、情報処理装置２は自装置および他装置の詳細ステータス情報を収集して、処理能力呈示バー１５５および各情報処理装置を示す標章１６１〜１６４によって、各情報処理装置のそのときの処理能力を表示画面１５１に表示する。処理能力を複数種に分けて２次元座標または３次元座標のグラフとして表示してもよい。【選択図】図１７
2005293418.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に接続される情報処理装置であって、
プログラムを実行するプロセッサ手段と、
プログラムおよびデータが展開されるメモリ手段と、
当該情報処理装置、および前記ネットワークを介して当該情報処理装置と接続された、プロセッサ手段およびメモリ手段を備える他の情報処理装置の、そのときの処理能力を示す情報を収集し、そのときの処理能力をチャートとしてディスプレイ上に表示する管理手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記処理能力は、各情報処理装置の前記プロセッサ手段の余剰能力、各情報処理装置の前記メモリ手段の空き容量、各情報処理装置に接続された外部記録手段の空き容量、または各情報処理装置の通信レートであり、
前記チャートは、前記処理能力を１次元座標で示し、それぞれの情報処理装置を示す標章を、前記１次元座標上の、それぞれの情報処理装置の前記処理能力を示す座標値の位置に付加したものである情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記処理能力は、各情報処理装置の前記プロセッサ手段の余剰能力、各情報処理装置の前記メモリ手段の空き容量、各情報処理装置に接続された外部記録手段の空き容量、および各情報処理装置の通信レートのうちの、少なくとも２項目であり、
前記チャートは、前記処理能力を、その項目数に応じた２次元座標または３次元座標で示し、それぞれの情報処理装置を示す標章を、前記２次元座標上または前記３次元座標上の、それぞれの情報処理装置の前記処理能力を示す座標値の位置に付加したものである情報処理装置。
【請求項４】
請求項１，２または３に記載の情報処理装置が複数、同一ネットワーク上に接続されたネットワークシステム。
【請求項５】
それぞれ、プログラムを実行するプロセッサ手段と、プログラムおよびデータが展開されるメモリ手段とを備える複数の情報処理装置が、同一ネットワーク上に接続されたネットワークシステムにおいて、各情報処理装置の処理能力を呈示する方法であって、
一の情報処理装置から他の各情報処理装置に、それぞれのそのときの処理能力を示す情報の送信を要求する第１工程と、
その要求に応答して、前記他の各情報処理装置が前記一の情報処理装置に、それぞれのそのときの処理能力を示す情報を返信する第２工程と、
その情報を受信して、前記一の情報処理装置が、自装置および前記他の各情報処理装置の、そのときの処理能力をチャートとしてディスプレイ上に表示する第３工程と、
を備えることを特徴とする処理能力呈示方法。
【請求項６】
請求項５に記載の処理能力呈示方法において、
前記処理能力は、各情報処理装置の前記プロセッサ手段の余剰能力、各情報処理装置の前記メモリ手段の空き容量、各情報処理装置に接続された外部記録手段の空き容量、または各情報処理装置の通信レートとし、
前記チャートは、前記処理能力を１次元座標で示し、それぞれの情報処理装置を示す標章を、前記１次元座標上の、それぞれの情報処理装置の前記処理能力を示す座標値の位置に付加したものとする処理能力呈示方法。
【請求項７】
請求項５に記載の処理能力呈示方法において、
前記処理能力は、各情報処理装置の前記プロセッサ手段の余剰能力、各情報処理装置の前記メモリ手段の空き容量、各情報処理装置に接続された外部記録手段の空き容量、および各情報処理装置の通信レートのうちの、少なくとも２項目とし、
前記チャートは、前記処理能力を、その項目数に応じた２次元座標または３次元座標で示し、それぞれの情報処理装置を示す標章を、前記２次元座標上または前記３次元座標上の、それぞれの情報処理装置の前記処理能力を示す座標値の位置に付加したものとする処理能力呈示方法。
【請求項８】
それぞれ、プログラムを実行するプロセッサ手段と、プログラムおよびデータが展開されるメモリ手段とを備える複数の情報処理装置が、同一ネットワーク上に接続されたネットワークシステムにおいて、各情報処理装置の処理能力を呈示するために、コンピュータを、
一の情報処理装置から他の各情報処理装置に、それぞれのそのときの処理能力を示す情報の送信を要求する手段、
その要求に応答して、前記他の各情報処理装置が前記一の情報処理装置に、それぞれのそのときの処理能力を示す情報を返信する手段、および、
その情報を受信して、前記一の情報処理装置が、自装置および前記他の各情報処理装置の、そのときの処理能力をチャートとしてディスプレイ上に表示する手段、
として機能させるための処理能力呈示用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上に接続される情報処理装置、複数の情報処理装置が同一ネットワーク上に接続されたネットワークシステム、そのネットワークシステムにおいて各情報処理装置の処理能力を呈示する方法、および各情報処理装置の処理能力を呈示するためのコンピュータプログラムに関する。
【背景技術】
【０００２】
最近、グリッド・コンピューティングが注目されている。グリッド・コンピューティングとは、ネットワーク上に接続された複数の情報処理装置を協調動作させて、高い演算性能を実現する技術である。
【０００３】
例えば、特許文献１（特開２００２−３４２１６５号公報）、特許文献２（特開２００２−３５１８５０号公報）、特許文献３（特開２００２−３５８２８９号公報）、特許文献４（特開２００２−３６６５３３号公報）および特許文献５（特開２００２−３６６５３４号公報）には、均一なモジュラー構造、共通のコンピューティング・モジュール、および均一なソフトウェアセルを用いることによって、高速処理用コンピュータ・アーキテクチャを実現することが示されている。
【０００４】
上に挙げた先行技術文献は、以下の通りである。
【特許文献１】特開２００２−３４２１６５号公報
【特許文献２】特開２００２−３５１８５０号公報
【特許文献３】特開２００２−３５８２８９号公報
【特許文献４】特開２００２−３６６５３３号公報
【特許文献５】特開２００２−３６６５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、複数の情報処理装置が同一ネットワーク上に接続されたネットワークシステムで、ある処理を各情報処理装置に分散的に実行させるなど、各情報処理装置を連携させて動作させる場合、各情報処理装置の処理能力は同じではなく、例えば、ある情報処理装置は、もともとプロセッサ（ＣＰＵ）の処理能力が高いものの、現にプロセッサがプログラムを実行しているために、当該情報処理装置のそのときの処理能力が低い場合や、ある情報処理装置は、メインメモリの総容量が大きいものの、現にメインメモリの多くの容量を使用しているために、メインメモリの空き容量が小さく、当該情報処理装置のそのときの処理能力が低い場合などがある。
【０００６】
さらに、レイテンシー（ｌａｔｅｎｃｙ）、すなわち通信レートに逆比例する待ち時間も、各情報処理装置で同じではなく、その時々の状況に応じても変わり得る。
【０００７】
そのため、一定の処理の実行に要する時間、いわゆるターンアラウンドタイム（ｔｕｒｎ  ａｒｏｕｎｄ  ｔｉｍｅ）は、各情報処理装置で同じではなく、その時々の状況に応じても変わり得る。
【０００８】
しかしながら、ユーザは、ネットワークシステムの外観から、そのときの各情報処理装置の以上のような処理能力を知ることができない。そのため、ユーザは、例えば、そのときの処理能力が最大の情報処理装置に処理を実行させようと思っても、そうすることができない。
【０００９】
そこで、この発明は、複数の情報処理装置が同一ネットワーク上に接続されたネットワークシステムにおいて、ユーザが、その時々の各情報処理装置の処理能力を直感的かつ的確に把握することができ、ユーザ自身の選択によって適切な情報処理装置に処理を実行させることも可能となるようにしたものである。
【課題を解決するための手段】
【００１０】
この発明の情報処理装置は、
ネットワーク上に接続される情報処理装置であって、
プログラムを実行するプロセッサ手段と、
プログラムおよびデータが展開されるメモリ手段と、
当該情報処理装置、および前記ネットワークを介して当該情報処理装置と接続された、プロセッサ手段およびメモリ手段を備える他の情報処理装置の、そのときの処理能力を示す情報を収集し、そのときの処理能力をチャートとしてディスプレイ上に表示する管理手段と、
を備えることを特徴とする。
【００１１】
上記の構成の、この発明の情報処理装置が複数、同一ネットワーク上に接続されたネットワークシステムでは、ユーザが、ある情報処理装置に処理能力の呈示を指示することによって、当該情報処理装置の管理手段は、自装置および他装置（他の情報処理装置）の、そのときの処理能力を示す情報を収集し、そのときの処理能力をチャートとしてディスプレイ上に表示する。
【００１２】
したがって、ユーザは、そのチャートを見て、各情報処理装置のプロセッサ手段の余剰能力、各情報処理装置のメモリ手段の空き容量、各情報処理装置に接続された外部記録手段の空き容量、各情報処理装置の通信レートなど、各情報処理装置のそのときの処理能力を、直感的かつ的確に把握することができ、各情報処理装置に処理を実行させたときのターンアラウンドタイムを予測することができる。したがって、ユーザ自身の選択によって、適切な情報処理装置に処理を実行させることも可能となる。
【発明の効果】
【００１３】
以上のように、この発明によれば、ユーザは、その時々の各情報処理装置の処理能力を直感的かつ的確に把握することができ、ユーザ自身の選択によって適切な情報処理装置に処理を実行させることも可能となる。
【発明を実施するための最良の形態】
【００１４】
〔１．ネットワークシステムおよび情報処理装置の基本的構成：図１〜図４〕
図１は、この発明のネットワークシステムの一例を示し、ネットワーク９を介して複数の情報処理装置１，２，３および４が接続されたものである。
【００１５】
（１−１．情報処理装置および情報処理コントローラ：図１）
情報処理装置１，２，３および４は、それぞれ、後述のような各種のＡＶ（Ａｕｄｉｏ  ａｎｄ  Ｖｉｓｕａｌ）機器やポータブル機器である。
【００１６】
情報処理装置１について示すと、情報処理装置１は、コンピュータ機能部として情報処理コントローラ１１を備える。情報処理コントローラ１１は、メインプロセッサ２１−１、サブプロセッサ２３−１，２３−２および２３−３、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−１、およびＤＣ（ディスクコントローラ）２７−１を有する。
【００１７】
メインプロセッサ２１−１は、サブプロセッサ２３−１，２３−２および２３−３によるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ１１（情報処理装置１）の全般的な管理とを行う。ただし、メインプロセッサ２１−１内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。メインプロセッサ２１−１は、ＬＳ（ローカルストレージ）２２−１を有する。
【００１８】
サブプロセッサは、一つでもよいが、望ましくは複数とする。この例は、複数の場合である。
【００１９】
各サブプロセッサ２３−１，２３−２および２３−３は、メインプロセッサ２１−１の制御によって並列的かつ独立に、プログラムを実行し、データを処理する。さらに、場合によってメインプロセッサ２１−１内のプログラムがサブプロセッサ２３−１，２３−２または２３−３内のプログラムと連携して動作するように構成することもできる。各サブプロセッサ２３−１，２３−２および２３−３も、ＬＳ（ローカルストレージ）２４−１，２４−２および２４−３を有する。
【００２０】
ＤＭＡＣ２５−１は、情報処理コントローラ１１に接続されたＤＲＡＭ（ダイナミックＲＡＭ）などからなるメインメモリ２６−１に格納されているプログラムおよびデータにアクセスするものであり、ＤＣ２７−１は、情報処理コントローラ１１に接続された外部記録部２８−１および２８−２にアクセスするものである。
【００２１】
外部記録部２８−１および２８−２は、固定ディスク（ハードディスク）でも、リムーバブルディスクでもよく、また、ＭＯ,ＣＤ±ＲＷ，ＤＶＤ±ＲＷなどの光ディスク、メモリディスク、ＳＲＡＭ（スタティックＲＡＭ）、ＲＯＭなど、各種のものを用いることができる。したがって、ＤＣ２７−１は、ディスクコントローラと称するが、外部記録部コントローラである。
【００２２】
図１の例のように、情報処理コントローラ１１に対して外部記録部２８を複数接続できるように、情報処理コントローラ１１を構成することができる。
【００２３】
メインプロセッサ２１−１、各サブプロセッサ２３−１，２３−２および２３−３、ＤＭＡＣ２５−１、およびＤＣ２７−１は、バス２９−１によって接続される。
【００２４】
情報処理コントローラ１１には、当該の情報処理コントローラ１１を備える情報処理装置１をネットワーク全体を通して一意的に識別できる識別子が、情報処理装置ＩＤとして割り当てられる。
【００２５】
メインプロセッサ２１−１、および各サブプロセッサ２３−１，２３−２および２３−３に対しても同様に、それぞれを特定できる識別子が、メインプロセッサＩＤおよびサブプロセッサＩＤとして割り当てられる。
【００２６】
情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。
【００２７】
他の情報処理装置２、３および４も、同様に構成される。ここで、親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り、同じ働きをするものとする。また、以下の説明で枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。
【００２８】
（１−２．各サブプロセッサからメインメモリへのアクセス：図２）
上述したように、一つの情報処理コントローラ内の各サブプロセッサ２３は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ２６内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ２３からメインメモリ２６へのアクセスは、以下のように行う。
【００２９】
図２（Ａ）に示すように、メインメモリ２６は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤおよびＬＳアドレス（ローカルストレージアドレス）を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。Ｆ／Ｅビットは、以下のように定義される。
【００３０】
Ｆ／Ｅビット＝０は、サブプロセッサ２３によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、Ｆ／Ｅビット＝０は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に１に設定される。
【００３１】
Ｆ／Ｅビット＝１は、当該メモリロケーションのデータがサブプロセッサ２３によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ２３によって読み出された後に０に設定される。また、Ｆ／Ｅビット＝１は、当該メモリロケーションがデータ書き込み不可であることを示す。
【００３２】
さらに、Ｆ／Ｅビット＝０（読み出し不可／書き込み可）の状態において、当該メモリロケーションについて読み出し予約を設定することは可能である。Ｆ／Ｅビット＝０のメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ２３は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ２３のサブプロセッサＩＤおよびＬＳアドレスを書き込む。
【００３３】
その後、データ書き込み側のサブプロセッサ２３によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビット＝１（読み出し可／書き込み不可）に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサＩＤおよびＬＳアドレスに読み出される。
【００３４】
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し／書き込みを制御することによって、前段階の処理を行うサブプロセッサ２３が、処理済みのデータをメインメモリ２６上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ２３が前処理後のデータを読み出すことが可能となる。
【００３５】
図２（Ｂ）に示すように、各サブプロセッサ２３内のＬＳ２４も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
【００３６】
サブプロセッサ２３がメインメモリ２６内のデータを自身のＬＳ２４のメモリロケーションに読み出すときには、対応するビジービットを１に設定して予約する。ビジービットが１であるメモリロケーションには、他のデータは格納することができない。ＬＳ２４のメモリロケーションに読み出し後、ビジービットは０になり、任意の目的に使用できるようになる。
【００３７】
図２（Ａ）に示すように、さらに、各情報処理コントローラに接続されたメインメモリ２６には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ２６内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ２３に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ２３は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。
【００３８】
メインメモリ２６は複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【００３９】
さらに、メインメモリ２６の排他的な制御を実現するために、図２（Ｃ）に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のＳＲＡＭのような比較的高速のメモリに格納され、ＤＭＡＣ２５と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキーおよびキーマスクが含まれる。
【００４０】
サブプロセッサ２３がメインメモリ２６を使用する際のプロセスは、以下のとおりである。まず、サブプロセッサ２３はＤＭＡＣ２５に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサＩＤと、使用要求先であるメインメモリ２６のアドレスが含まれる。
【００４１】
ＤＭＡＣ２５は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、ＤＭＡＣ２５は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ２６内の図２（Ａ）に示したメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、上記のコマンドを実行する。
【００４２】
図２（Ｃ）に示したキー管理テーブル上のキーマスクは、その任意のビットが１になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが０または１になることができる。
【００４３】
例えば、サブプロセッサキーが１０１０であるとする。通常、このサブプロセッサキーによって１０１０のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが０００１に設定されている場合には、キーマスクのビットが１に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー１０１０によって、アクセスキーが１０１０または１０１１のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００４４】
以上のようにして、メインメモリ２６のサンドボックスの排他性が実現される。すなわち、一つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ２６の所定アドレスにアクセスできるようになり、データを保護することができる。
【００４５】
具体的に、以下のように使用する。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第１のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第２のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的な処理を可能にする。
【００４６】
より具体的には、他の情報処理装置からのデータ→第１のサブプロセッサによる処理→第１のメインメモリ領域→第２のサブプロセッサによる処理→第２のメインメモリ領域、という手順で多段階処理が行われるときには、
第１のサブプロセッサのサブプロセッサキー：０１００、
第１のメインメモリ領域のアクセスキー    ：０１００、
第２のサブプロセッサのサブプロセッサキー：０１０１、
第２のメインメモリ領域のアクセスキー    ：０１０１
のような設定のままだと、第２のサブプロセッサは第１のメインメモリ領域にアクセスすることができない。そこで、第２のサブプロセッサのキーマスクを０００１にすることにより、第２のサブプロセッサによる第１のメインメモリ領域へのアクセスを可能にすることができる。
【００４７】
（１−３．ソフトウェアセルの生成および構成：図３および図４）
図１のネットワークシステムでは、情報処理装置１，２，３および４間での分散処理のために、情報処理装置１，２，３および４間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、コマンド、プログラムおよびデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【００４８】
図３に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム、およびデータによって構成される。
【００４９】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレスおよび情報処理装置ＩＤ、さらに、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ２１および各サブプロセッサ２３の識別子（メインプロセッサＩＤおよびサブプロセッサＩＤ）が含まれる。
【００５０】
送信先ＩＤおよび応答先ＩＤには、それぞれ、ソフトウェアセルの送信先である情報処理装置、およびソフトウェアセルの実行結果の応答先である情報処理装置についての、同じ情報が含まれる。
【００５１】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルＩＤから構成される。
【００５２】
グローバルＩＤは、ネットワーク全体を通して当該のソフトウェアセルを一意的に識別するものであり、送信元ＩＤ、およびソフトウェアセルの作成または送信の日時（日付および時刻）に基づいて作成される。
【００５３】
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ２６内およびサブプロセッサ２３のＬＳ２４内のメモリ量が設定される。
【００５４】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００５５】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラムおよびデータから構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサ２３によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００５６】
さらに、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
【００５７】
ロードコマンドは、メインメモリ２６内の情報をサブプロセッサ２３内のＬＳ２４にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサＩＤおよびＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ２６内の所定領域のアドレスを示す。サブプロセッサＩＤおよびＬＳアドレスは、情報のロード先であるサブプロセッサ２３の識別子およびＬＳ２４のアドレスを示す。
【００５８】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサＩＤおよびプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサ２３を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【００５９】
機能プログラム実行コマンドは、後述のように、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、後述の機能プログラムＩＤによって、起動すべき機能プログラムを識別する。
【００６０】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置の現在の状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置宛てに送信することを要求するコマンドである。機能プログラムについては後述するが、図６に示す情報処理装置のメインメモリ２６が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ２６にロードされ、メインプロセッサ２１により実行される。
【００６１】
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【００６２】
図４に、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す。
【００６３】
情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のＩＤを示す。情報処理装置ＩＤは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１によって、電源投入時の日時、情報処理装置のネットワークアドレスおよび情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３の数などに基づいて生成される。
【００６４】
情報処理装置種別ＩＤには、当該の情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば、後述のハードディスクレコーダ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブルＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）プレーヤなどである。また、情報処理装置種別ＩＤは、映像音声記録、映像音声再生など、情報処理装置の機能を表すものであってもよい。情報処理装置の特徴や機能を表す値は、あらかじめ決定されているものとし、情報処理装置種別ＩＤを読み出すことにより、当該情報処理装置の特徴や機能を把握することが可能である。
【００６５】
ＭＳ（マスター／スレーブ）ステータスは、後述のように情報処理装置がマスター装置またはスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合にはマスター装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。
【００６６】
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ２１の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ２１で現在動作している全てのプログラムについての、メインプロセッサ２１での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるＭＩＰＳを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
【００６７】
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ２３の数を表す。サブプロセッサＩＤは、当該の情報処理コントローラ内の各サブプロセッサ２３を識別するための識別子である。
【００６８】
サブプロセッサステータスは、各サブプロセッサ２３の状態を表すものであり、ｕｎｕｓｅｄ，ｒｅｓｅｒｖｅｄ，ｂｕｓｙなどの状態がある。ｕｎｕｓｅｄは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。ｒｅｓｅｒｖｅｄは、現在は使用されていないが、使用が予約されている状態を示す。ｂｕｓｙは、現在使用中であることを示す。
【００６９】
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがｂｕｓｙである場合には、現在の使用率を示し、サブプロセッサステータスがｒｅｓｅｒｖｅｄである場合には、後に使用される予定の推定使用率を示す。
【００７０】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、一つのサブプロセッサ２３に対して一組設定され、一つの情報処理コントローラ内のサブプロセッサ２３の数の組数だけ設定される。
【００７１】
メインメモリ総容量およびメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ２６の総容量および現在使用中の容量を表す。
【００７２】
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部２８の数を表す。外部記録部ＩＤは、当該の情報処理コントローラに接続されている外部記録部２８を一意的に識別する情報である。外部記録部種別ＩＤは、当該の外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表す。
【００７３】
外部記録部総容量および外部記録部使用量は、それぞれ、外部記録部ＩＤによって識別される外部記録部２８の総容量および現在使用中の容量を表す。
【００７４】
外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量は、一つの外部記録部２８に対して一組設定され、当該の情報処理コントローラに接続されている外部記録部２８の数の組数だけ設定される。すなわち、一つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部ＩＤが割り当てられ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量も別々に管理される。
【００７５】
（１−４．ソフトウェアセルの実行：図３および図４）
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、以上のような構成のソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、および各装置内の情報処理コントローラは、それぞれ、上記の送信元ＩＤ、送信先ＩＤおよび応答先ＩＤによって識別される。
【００７６】
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、そのソフトウェアセルをメインメモリ２６に格納する。さらに、送信先のメインプロセッサ２１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。
【００７７】
具体的に、送信先のメインプロセッサ２１は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤおよびＬＳアドレスで特定されるサブプロセッサ内のＬＳ２４の所定領域に、情報がロードされる。この場合のロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。
【００７８】
次に、メインプロセッサ２１は、キックコマンドを、これに含まれるサブプロセッサＩＤで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。
【００７９】
指示されたサブプロセッサは、そのキックコマンドおよびプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ２６に格納した後、実行を完了したことをメインプロセッサ２１に通知する。
【００８０】
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ２３に限るものではなく、メインプロセッサ２１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
【００８１】
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛てに、サブプロセッサプログラムの代わりに、メインメモリ用プログラムおよびそれによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ２６にメインメモリ用プログラムおよびそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛てに、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサＩＤ、メインメモリアドレス、メインメモリ用プログラムを識別するための機能プログラムＩＤなどの識別子、およびプログラムカウンタを含み、ＤＭＡコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ２１に当該メインメモリ用プログラムを実行させる。
【００８２】
以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
【００８３】
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。
【００８４】
したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。
【００８５】
このようにして、上記の情報処理装置は、自装置内にサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置から、それらを取得することができる。さらに、各サブプロセッサ間ではＤＭＡ方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、一つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。
【００８６】
〔２．情報処理装置間の分散処理の例：図５〜図１２〕
ソフトウェアセルの使用による分散処理の結果、図５の上段に示すようにネットワーク９に接続されている情報処理装置１，２，３および４は、図５の下段に示すように、仮想的な１台の情報処理装置７として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
【００８７】
（２−１．システムのソフトウェア構成とプログラムのロード：図５および図６）
図６に、個々の情報処理装置内のメインメモリ２６が記憶するソフトウェアの構成を示す。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前においては、当該の情報処理装置内の情報処理コントローラに接続される外部記録部２８に記録されているものである。
【００８８】
各プログラムは、機能または特徴によって、制御プログラム、機能プログラムおよびデバイスドライバにカテゴライズされる。
【００８９】
制御プログラムは、各情報処理装置が同じものを備え、各情報処理コントローラ内のメインプロセッサ２１が実行するもので、後述のＭＳ（マスター／スレーブ）マネージャおよび能力交換プログラムを含む。
【００９０】
機能プログラムは、メインプロセッサ２１が実行するもので、記録用、再生用、素材検索用など、情報処理装置ごとに情報処理装置に応じたものが備えられる。
【００９１】
デバイスドライバは、情報処理装置の入出力（送受信）用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理装置ごとに情報処理装置に応じたものが備えられる。
【００９２】
ケーブルの差し込みなどによって情報処理装置が物理的にネットワーク９に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク９に接続されると、その情報処理装置内のメインプロセッサ２１は、制御プログラムに属する各プログラム、およびデバイスドライバに属する各プログラムを、メインメモリ２６にロードする。
【００９３】
ロード手順としては、メインプロセッサ２１は、まず、ＤＣ２７に読み出し命令を実行させることによって、外部記録部２８からプログラムを読み出し、次に、ＤＭＡＣ２５に書き込み命令を実行させることによって、そのプログラムをメインメモリ２６に書き込む。
【００９４】
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【００９５】
この場合、機能プログラムに属する各プログラムは、ネットワーク９に接続された全ての情報処理装置の外部記録部２８に記録されている必要はなく、いずれか一つの情報処理装置の外部記録部２８に記録されていれば、上述した方法によって他の情報処理装置からロードすることができるので、結果的に図５の下段に示すように、仮想的な１台の情報処理装置７として機能プログラムを実行することができる。
【００９６】
上述したようにメインプロセッサ２１によって処理される機能プログラムは、サブプロセッサ２３によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこで、メインプロセッサ２１が外部記録部２８から機能プログラムを読み出し、メインメモリ２６に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ２６に書き込むものとする。
【００９７】
この場合、機能プログラムと連携動作するサブプロセッサプログラムは、１個であることもあるが、複数個であることもある。複数個である場合には、連携動作する全てのサブプロセッサプログラムをメインメモリ２６に書き込むことになる。メインメモリ２６に書き込まれたサブプロセッサプログラムは、その後、サブプロセッサ２３内のＬＳ２４に書き込まれ、メインプロセッサ２１によって処理される機能プログラムと連携動作する。
【００９８】
図３のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【００９９】
サブプロセッサプログラムにも、サブプロセッサプログラムＩＤが割り当てられ、これによりサブプロセッサプログラムを一意的に識別することができる。割り当てられるサブプロセッサプログラムＩＤは、連携動作する機能プログラムの機能プログラムＩＤと関連性のある識別子、例えば機能プログラムＩＤを親番号とした上で最後尾に枝番号を付加したものでもよく、または、連携動作する機能プログラムの機能プログラムＩＤとは関連性のない識別子でもよい。いずれにしても、機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手のプログラムＩＤを自プログラム内に記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは、その複数個の全てのサブプロセッサプログラムのサブプロセッサプログラムＩＤを記憶しておくことになる。
【０１００】
メインプロセッサ２１は、自身が動作する情報処理装置の装置情報（装置の種別、能力、動作状態、装置が有する資源などの、装置に関する情報）を格納するための領域をメインメモリ２６に確保し、当該情報を自装置の装置情報テーブルとして記録する。この場合の装置情報は、具体的には、図４に示した情報処理装置ＩＤ以下の各情報である。
【０１０１】
（２−２．システムにおけるマスター／スレーブの決定：図５および図６）
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置のメインプロセッサ２１は、ＭＳ（マスター／スレーブ）マネージャをメインメモリ２６にロードし、実行する。
【０１０２】
ＭＳマネージャは、自身が動作する情報処理装置がネットワーク９に接続されていることを検知すると、同じネットワーク９に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク９に接続されているだけでなく、電気的・機能的にもネットワーク９に接続されていることを示す。
【０１０３】
ＭＳマネージャが同じネットワーク９上に他の情報処理装置が存在することを確認する方法を以下に示す。
【０１０４】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤおよび応答先ＩＤが自装置で、送信先ＩＤを特定しないソフトウェアセルを生成して、自装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分とされる。
【０１０５】
当該ネットワーク上に他の情報処理装置が存在する場合、その他装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報（情報処理装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）および当該他装置のＭＳステータスが含まれる。
【０１０６】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、当該装置はスレーブ装置となる。
【０１０７】
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、当該装置はマスター装置となる。
【０１０８】
すなわち、いずれの装置もネットワーク９に接続されていない状態、またはネットワーク９上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク９上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にスレーブ装置として設定される。
【０１０９】
マスター装置およびスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク９上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。その結果、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されることにより、あらかじめ判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク９に新たな情報処理装置が接続された場合など、ネットワーク９の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
【０１１０】
（２−３．能力交換による装置情報の取得：図５および図６）
メインプロセッサ２１は、ＭＳマネージャから、ネットワーク９上の他装置の照会および自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０１１１】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。
【０１１２】
他装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０１１３】
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を格納するための領域を自装置のメインメモリ２６に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。
【０１１４】
すなわち、マスター装置のメインメモリ２６には、自装置を含むネットワーク９に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。
【０１１５】
一方、能力交換プログラムは、自装置がスレーブ装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわちマスター装置および自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤおよびＭＳステータスを、自装置のメインメモリ２６に記録する。
【０１１６】
すなわち、スレーブ装置のメインメモリ２６には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク９に接続されているマスター装置および各スレーブ装置についての情報処理装置ＩＤおよびＭＳステータスが、別の装置情報テーブルとして記録される。
【０１１７】
また、マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、新たにネットワーク９に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ２６に記録する。
【０１１８】
なお、ＭＳマネージャおよび能力交換プログラムは、メインプロセッサ２１で実行されることに限らず、いずれかのサブプロセッサ２３で実行されてもよい。また、ＭＳマネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１１９】
（２−４．情報処理装置がネットワークから切断された場合：図５および図６）
マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリから削除する。
【０１２０】
さらに、このようにネットワーク９から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
【０１２１】
具体的に、例えば、ネットワーク９から切断されていない情報処理装置は、それぞれ、自装置および他装置の情報処理装置ＩＤを数値に置き換えて、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク９から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、ＭＳステータスを０に設定し、マスター装置として、上述したように、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を取得して、メインメモリ２６に記録する。
【０１２２】
（２−５．装置情報に基づく情報処理装置間の分散処理：図７および図８）
図５の下段に示したようにネットワーク９に接続されている複数の情報処理装置１，２，３および４を仮想的な１台の情報処理装置７として動作させるためには、マスター装置がユーザの操作およびスレーブ装置の動作状態などを把握する必要がある。
【０１２３】
図７に、４台の情報処理装置が仮想的な１台の情報処理装置７として動作する様子を示す。情報処理装置１がマスター装置として動作し、情報処理装置２，３および４がスレーブ装置Ａ，ＢおよびＣとして動作しているものとする。
【０１２４】
ユーザがネットワーク９に接続されている情報処理装置を操作した場合、操作対象がマスター装置１であれば、その操作情報は、マスター装置１において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスター装置１に送信される。すなわち、ユーザの操作対象がマスター装置１とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
【０１２５】
そして、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、上記の方法によって自装置の外部記録部２８−１または２８−２からメインメモリ２６−１に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）がマスター装置１に機能プログラムを送信してもよい。
【０１２６】
機能プログラムには、その実行単位ごとに必要となる、図４に示した各情報として表される情報処理装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの、装置に関する要求スペックが規定されている。
【０１２７】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、あらかじめ能力交換プログラムによってメインメモリ２６−１に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。この場合の装置情報は、図４に示した情報処理装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリおよび外部記録部に関する情報である。
【０１２８】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ネットワーク９に接続されている各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
【０１２９】
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。複数の実行要求候補装置が特定された場合には、そのうちの一つを選択する。
【０１３０】
実行要求先のスレーブ装置が特定されたら、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ１１に含まれるメインメモリ２６−１に記録されている当該スレーブ装置の装置情報テーブルを更新する。
【０１３１】
さらに、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ＤＭＡコマンドが機能プログラム実行コマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインターフェースに、当該機能プログラムに関する必要なサブプロセッサの情報およびサンドボックスサイズ（図３参照）を設定して、実行要求先のスレーブ装置に送信する。
【０１３２】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上記の方法によって自装置の外部記録部２８からメインメモリ２６に機能プログラムおよび当該機能プログラムと連携動作するサブプロセッサプログラムをロードする。
【０１３３】
機能プログラムの実行を要求されたスレーブ装置の外部記録部２８に、必要な機能プログラムまたは当該機能プログラムと連携動作するサブプロセッサプログラムが記録されていない場合には、他の情報処理装置が当該機能プログラムまたはサブプロセッサプログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
【０１３４】
サブプロセッサプログラムについては、上記のロードコマンドおよびキックコマンドを利用して他の情報処理装置に実行させることもできる。
【０１３５】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内のメインプロセッサ２１は、終了通知をマスター装置１内のメインプロセッサ２１−１に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置１内のメインプロセッサ２１−１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
【０１３６】
マスター装置１内のメインプロセッサ２１−１は、自装置および他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置１が当該の機能プログラムを実行する。
【０１３７】
図７の例で、ユーザがスレーブ装置Ａ（情報処理装置２）を操作し、当該操作に応じた機能プログラムを別のスレーブ装置Ｂ（情報処理装置３）が実行する場合につき、図８に以上の分散処理の例を示す。
【０１３８】
図８の例では、ユーザがスレーブ装置Ａを操作することによって、スレーブ装置Ａを含むネットワークシステム全体の分散処理が開始して、まず、スレーブ装置Ａは、ステップ８１で、その操作情報をマスター装置１に送信する。
【０１３９】
マスター装置１は、ステップ７２で、その操作情報を受信し、さらにステップ７３に進んで、自装置のメインメモリ２６−１に記録されている自装置および他装置の装置情報テーブルから、各情報処理装置の動作状態などを調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Ｂが選択される場合である。
【０１４０】
次に、マスター装置１は、ステップ７４で、その選択したスレーブ装置Ｂに対して機能プログラムの実行を要求する。
【０１４１】
スレーブ装置Ｂは、ステップ９５で、その実行要求を受信し、さらにステップ９６に進んで、実行要求された機能プログラムを実行する。
【０１４２】
以上のように、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１，２，３および４を仮想的な１台の情報処理装置７として動作させることができる。
【０１４３】
（２−６．各情報処理装置およびシステムの具体例：図９〜図１２）
ネットワーク９を介して互いに接続される情報処理装置１，２，３および４は、基本的に上記のような情報処理コントローラ１１，１２，１３および１４によって情報処理を行うものであれば、どのようなものでもよいが、図９に、その一例を示す。
【０１４４】
この例では、情報処理コントローラ１１を備える情報処理装置１は、ハードディスクレコーダで、図１０に示すように、ハードウェア構成としては、図１に示した外部記録部２８−１として、ハードディスクを内蔵し、図１に示した外部記録部２８−２として、ＤＶＤ±Ｒ／ＲＷ，ＣＤ±Ｒ／ＲＷ，Ｂｌｕ−ｒａｙＤｉｓｃ（登録商標）などの光ディスクを装着できるとともに、情報処理コントローラ１１のバス２９−１に接続されたバス３１−１に、放送受信部３２−１、映像入力部３３−１、音声入力部３４−１、映像出力部３５−１、音声出力部３６−１、操作パネル部３７−１、リモコン（遠隔操作）受光部３８−１、ネットワーク接続部３９−１および液晶表示部４１−１が接続されたものである。
【０１４５】
放送受信部３２−１、映像入力部３３−１および音声入力部３４−１は、放送信号を受信し、または情報処理装置１の外部から映像信号および音声信号を入力し、それぞれ所定フォーマットのデジタルデータに変換して、情報処理コントローラ１１での処理のためにバス３１−１に送出するものであり、映像出力部３５−１および音声出力部３６−１は、情報処理コントローラ１１からバス３１−１に送出された映像データおよび音声データを処理して、デジタルデータのまま、またはアナログ信号に変換して、情報処理装置１の外部に送出するものであり、リモコン受光部３８−１は、リモコン送信器４３−１からのリモコン赤外線信号を受信するものである。
【０１４６】
図９の例の、情報処理コントローラ１２を備える情報処理装置２も、ハードディスクレコーダで、図１０において括弧内に参照番号を付して示すように、情報処理装置１と同様に構成されたものである。
【０１４７】
それぞれハードディスクレコーダである情報処理装置１および２のソフトウェア構成としては、制御プログラムとして、図６に示したように、ＭＳマネージャおよび能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、素材検索、番組録画予約などのためのプログラムを備え、デバイスドライバとして、放送受信、映像入力、音声入力、映像出力、音声出力、外部記録部入出力、ネットワーク入出力などのためのプログラムを備える。
【０１４８】
図９の例の、情報処理コントローラ１３を備える情報処理装置３は、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）で、図１１に示すように、ハードウェア構成としては、図１に示した外部記録部２８−５として、メモリカードディスクを装着できるとともに、情報処理コントローラ１３のバス２９−３に接続されたバス５１に、液晶表示部５２、音声出力部５３、カメラ部５４、音声入力部５５、キーボード部５６およびネットワーク接続部５７が接続されたものである。
【０１４９】
なお、図１では内部を省略した情報処理コントローラ１３は、メインプロセッサ２１−３、サブプロセッサ２３−７，２３−８および２３−９、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−３、ＤＣ（ディスクコントローラ）２７−３、およびバス２９−３を備え、そのメインプロセッサ２１−３は、ＬＳ（ローカルストレージ）２２−３を有し、各サブプロセッサ２３−７，２３−８および２３−９は、ＬＳ（ローカルストレージ）２４−７，２４−８および２４−９を有する。
【０１５０】
ＰＤＡである情報処理装置３のソフトウェア構成としては、制御プログラムとして、図６に示したように、ＭＳマネージャおよび能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、電話帳、ワープロ、表計算などのためのプログラム、およびＷｅｂブラウザを備え、デバイスドライバとして、映像出力、音声出力、カメラ映像入力、マイク音声入力、ネットワーク入出力などのためのプログラムを備える。
【０１５１】
図９の例の、情報処理コントローラ１４を備える情報処理装置４は、ポータブルＣＤプレーヤで、図１２に示すように、ハードウェア構成としては、図１に示した外部記録部２８−６として、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）を装着できるとともに、情報処理コントローラ１４のバス２９−４に接続されたバス６１に、液晶表示部６２、音声出力部６３、操作ボタン部６４およびネットワーク接続部６５が接続されたものである。
【０１５２】
なお、図１では内部を省略した情報処理コントローラ１４は、メインプロセッサ２１−４、サブプロセッサ２３−１０，２３−１１および２３−１２、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−４、ＤＣ（ディスクコントローラ）２７−４、およびバス２９−４を備え、そのメインプロセッサ２１−４は、ＬＳ（ローカルストレージ）２２−４を有し、各サブプロセッサ２３−１０，２３−１１および２３−１２は、ＬＳ（ローカルストレージ）２４−１０，２４−１１および２４−１２を有する。
【０１５３】
ポータブルＣＤプレーヤである情報処理装置４のソフトウェア構成としては、制御プログラムとして、図６に示したように、ＭＳマネージャおよび能力交換プログラムを備え、機能プログラムとして、音楽再生などのためのプログラムを備え、デバイスドライバとして、音声出力、ＣＤ制御、ネットワーク入出力などのためのプログラムを備える。
【０１５４】
以上のような図９の例のネットワークシステムにおいて、情報処理装置１，３および４がネットワーク９に接続され、情報処理装置１がマスター装置（ＭＳステータス＝０）に設定され、情報処理装置３および４がスレーブ装置（ＭＳステータス＝１）に設定されているものとする。
【０１５５】
この状態で、新たに情報処理装置２がネットワーク９に接続されると、上述した方法によって、情報処理装置２内の情報処理コントローラ１２に含まれるメインプロセッサ２１−２で実行されるＭＳマネージャは、他の情報処理装置１，３および４にＭＳステータスを照会して、情報処理装置１が既にマスター装置として存在することを認識し、自装置（情報処理装置２）をスレーブ装置（ＭＳステータス＝１）に設定する。また、マスター装置に設定されている情報処理装置１は、新たに追加された情報処理装置２を含む各情報処理装置の装置情報を収集して、メインメモリ２６−１内の装置情報テーブルを更新する。
【０１５６】
このような状態で、ユーザによってスレーブ装置である情報処理装置（ＰＤＡ）３で２時間の放送番組の録画予約の操作が行われた場合を示す。
【０１５７】
この場合、スレーブ装置である情報処理装置３は、ユーザから録画開始時刻、録画終了時刻、録画対象放送チャネル、録画品質などの情報を含む録画予約情報の入力を受け付け、当該録画予約情報およびＤＭＡコマンドとしての録画予約コマンドを含むソフトウェアセルを生成して、マスター装置である情報処理装置（ハードディスクレコーダ）１に送信する。
【０１５８】
ＤＭＡコマンドが録画予約コマンドであるソフトウェアセルを受信した情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、録画予約コマンドを読み出すとともに、メインメモリ２６−１内の装置情報テーブルを参照して、当該録画予約コマンドを実行可能な情報処理装置を特定する。
【０１５９】
まず、メインプロセッサ２１−１は、装置情報テーブルに含まれる各情報処理装置１，２，３および４の情報処理装置種別ＩＤを読み出して、録画予約コマンドに対応する機能プログラムを実行可能な情報処理装置を抽出する。ここでは、録画機能を示す情報処理装置種別ＩＤを有する情報処理装置１および２が候補装置として特定され、情報処理装置３および４は候補装置から除外される。
【０１６０】
次に、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、装置情報テーブルを参照して、情報処理装置１および２のメインプロセッサまたはサブプロセッサの処理能力、メインメモリに関する情報などの、装置に関する情報を読み出し、情報処理装置１および２が録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するか否かを判断する。ここでは、情報処理装置１および２が、ともに録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するものとする。
【０１６１】
さらに、メインプロセッサ２１−１は、装置情報テーブルを参照して、情報処理装置１および２の外部記録部に関する情報を読み出し、外部記録部の空き容量が当該録画予約コマンドの実行に必要な容量を満足するか否かを判断する。情報処理装置１および２はハードディスクレコーダであるので、それぞれハードディスク２８−１および２８−３の、総容量と使用量との差分が、それぞれの空き容量に相当する。
【０１６２】
この場合、情報処理装置１のハードディスク２８−１の空き容量が、録画時間に換算して１０分であり、情報処理装置２のハードディスク２８−３の空き容量が、録画時間に換算して２０時間であるとする。
【０１６３】
このとき、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、当該録画予約コマンドの実行に必要な２時間分の空き容量を確保できる情報処理装置を、実行要求先スレーブ装置として特定する。
【０１６４】
その結果、情報処理装置２のみが実行要求先スレーブ装置として選択され、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ユーザにより操作された情報処理装置３から送信された録画予約情報を含む当該録画予約コマンドを情報処理装置２に送信して、上記２時間の放送番組の録画予約の実行を要求する。
【０１６５】
情報処理装置２内の情報処理コントローラ１２に含まれるメインプロセッサ２１−２は、当該録画予約コマンドを解析して、録画に必要な機能プログラムを外部記録部であるハードディスク２８−３からメインメモリ２６−２にロードし、録画予約情報に従って録画を実行する。その結果、録画予約された２時間の放送番組の映像音声データが情報処理装置２のハードディスク２８−３に記録される。
【０１６６】
このように、図９〜図１２の例のネットワークシステムにおいても、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１，２，３および４を仮想的な１台の情報処理装置７として動作させることができる。
【０１６７】
〔３．各情報処理装置の処理能力の呈示（表示）：図１３〜図１８〕
さらに、この発明では、上述したようなネットワークシステムにおいて、以下に示すように、ユーザが、その時々の各情報処理装置の処理能力を直感的かつ的確に把握できるようにする。
【０１６８】
（３−１．システム構成およびソフトウェア構成：図１３および図１４）
図１３に、４台の情報処理装置１，２，３および４がネットワーク９に接続されている状態を示す。
【０１６９】
例えば、情報処理装置１および２は、図１０に示したようなハードディスクレコーダであり、情報処理装置３は、図１１に示したようなＰＤＡであり、情報処理装置４は、図１２に示したようなポータブルＣＤプレーヤであり、情報処理装置１がマスター装置として動作し、情報処理装置２，３および４がスレーブ装置Ａ，ＢおよびＣとして動作しているものとする。
【０１７０】
後述の処理能力呈示チャートは、ハードディスクレコーダである情報処理装置１および２については、図１０に示した液晶表示部４１−１および４１−２、または映像出力部３５−１および３５−２に接続された映像表示装置に表示され、ＰＤＡである情報処理装置３については、図１１に示した液晶表示部５２に表示され、ポータブルＣＤプレーヤである情報処理装置４については、図１２に示した液晶表示部６２に表示される。
【０１７１】
各情報処理装置１，２，３および４は、同期して時刻を計測するように制御される。ただし、その時刻同期は、大まかな同期でよく、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）のような既存のプロトコルによるものでよい。
【０１７２】
情報処理装置１，２，３および４のソフトウェア構成としては、図１４に示すように、制御プログラムとして、図６に示したＭＳマネージャおよび能力交換プログラムのほかにリソースマネージャを用意し、機能プログラムおよびデバイスドライブとして、上述したように各情報処理装置に応じたものを用意する。
【０１７３】
リソースマネージャは、ＭＳマネージャによるＭＳステータス（マスター装置では０、スレーブ装置では１）の設定後の、能力交換プログラムによる能力交換（マスター装置およびスレーブ装置における自装置および他装置の装置情報の取得）後、起動され、ネットワークに接続されている各情報処理装置の、そのときの処理能力を呈示するために、以下のような処理を行うものである。
【０１７４】
（３−２．処理能力の呈示のための処理：図１５および図１６）
図１５に、情報処理装置１，２，３および４のリソースマネージャによって実行される処理能力呈示処理の一例を示す。
【０１７５】
この例は、図１３のように情報処理装置１，２，３および４がネットワーク９に接続され、ＭＳマネージャによって、情報処理装置１がマスター装置に設定され、情報処理装置２，３および４がスレーブ装置Ａ，ＢおよびＣに設定され、能力交換プログラムによって、各情報処理装置１，２，３および４が上述したように自装置および他装置の装置情報を取得した状態で、ユーザが、スレーブ装置Ａとして動作している情報処理装置２に対して、各情報処理装置の処理能力の呈示を指示した場合である。
【０１７６】
このユーザの指示によって、まず、情報処理装置２のリソースマネージャは、ステップ１２１で、他の各情報処理装置、すなわち情報処理装置１，３および４に、詳細ステータス要求コマンドを送信し、これを受けて、他の各情報処理装置、すなわち情報処理装置１，３および４のリソースマネージャは、ステップ１１１，１３１および１４１で、それぞれ情報処理装置２に詳細ステータス返信コマンドを送信する。
【０１７７】
この場合の詳細ステータス要求コマンドは、図３に示して上述したステータス要求コマンドと同様のものであり、詳細ステータス返信コマンドは、図１６に示されるものである。
【０１７８】
次に、情報処理装置２のリソースマネージャは、ステップ１２２で、情報処理装置１，３および４から送信された詳細ステータス返信コマンドを受信して、後述のように、自装置を含む各情報処理装置、すなわち情報処理装置１，２，３および４についてのネットワークレイテンシーを計算し、さらにステップ１２３に進んで、後述のような処理能力呈示チャートを表示するためのデータを生成し、さらにステップ１２４に進んで、その表示用データによって、情報処理装置２の図１０に示した液晶表示部４１−２、または映像出力部３５−２に接続された映像表示装置の表示画面上に、処理能力呈示チャートを表示する。
【０１７９】
上記の例で、詳細ステータス要求コマンドによって、情報処理装置２から詳細ステータス情報の送信を要求された情報処理装置１，３および４は、それぞれ詳細ステータス返信コマンドによって、自装置についての図１６に示すような詳細ステータス情報を情報処理装置２に返信する。
【０１８０】
ただし、図１６の詳細ステータス情報中の詳細ステータス要求コマンド送信時刻および詳細ステータス返信コマンド受信時刻は、詳細ステータス情報の送信を要求した情報処理装置２が付加するもので、情報処理装置１，３および４が返信するのは、情報処理装置ＩＤ以下の各情報である。
【０１８１】
また、情報処理装置２のリソースマネージャは、ステップ１２１または１２２で、自装置についての詳細ステータス情報として、同様に図１６の情報処理装置ＩＤ以下の各情報を収集する。
【０１８２】
この詳細ステータス情報は、情報処理装置ＩＤ、情報処理装置種別ＩＤおよびＭＳステータスを除くと、メインプロセッサに関する情報、サブプロセッサに関する情報、メインメモリに関する情報、および外部記録部に関する情報に分けられる。
【０１８３】
メインプロセッサに関する情報は、各情報処理装置のメインプロセッサ２１についての、メインプロセッサ動作周波数、メインプロセッサステータス、メインプロセッサ使用率、機能プログラムＩＤ、および機能プログラム優先度である。
【０１８４】
メインプロセッサ動作周波数は、これが高いほど、当該情報処理装置の処理能力が高い。
【０１８５】
メインプロセッサステータスは、上述していないが、当該メインプロセッサが現に機能プログラムを実行しているか否かを表し、例えば、機能プログラム実行中であるときには１とされ、機能プログラムを実行していないときには０とされる。
【０１８６】
メインプロセッサ使用率は、上述したように当該メインプロセッサの全処理能力に対する使用中の処理能力の比率を表し、これが低いほど、当該メインプロセッサの余剰能力が高く、当該情報処理装置のそのときの処理能力が高い。
【０１８７】
機能プログラムＩＤは、当該メインプロセッサで実行中の機能プログラムを識別する識別子であり、機能プログラム優先度は、その機能プログラムの優先度であり、例えば、ｈｉｇｈ（優先度が高い）およびｌｏｗ（優先度が低い）の２段階に区分される。
【０１８８】
メインプロセッサに関する当該情報処理装置のそのときの処理能力は、メインプロセッサ動作周波数とメインプロセッサ使用率とによって決まり、メインプロセッサ動作周波数が高く、メインプロセッサ使用率が低いほど、当該情報処理装置のそのときの処理能力が高い。
【０１８９】
ただし、メインプロセッサに関する当該情報処理装置のそのときの処理能力については、メインプロセッサ使用率として、優先度の低い機能プログラムを実行している場合を除外し、優先度の高い機能プログラムを実行している場合のみを考慮して、処理能力を算出するようにしてもよい。
【０１９０】
サブプロセッサに関する情報は、サブプロセッサ数、サブプロセッサＩＤ、サブプロセッサステータス、サブプロセッサ使用率、機能プログラムＩＤ、機能プログラム優先度、およびサブプロセッサプログラムＩＤである。
【０１９１】
サブプロセッサ数は、当該情報処理装置が備えるサブプロセッサ２３の数を表し、個々のサブプロセッサ２３が有する処理能力が同じであるとすると、サブプロセッサ数が多いほど、当該情報処理装置の処理能力が高い。
【０１９２】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、上述したように個々のサブプロセッサ２３ごとに設定または算出される。機能プログラムＩＤおよび機能プログラム優先度は、当該サブプロセッサで実行中または当該サブプロセッサに実行予約中のサブプロセッサプログラムと連携動作する機能プログラムの識別子および優先度である。サブプロセッサプログラムＩＤは、当該サブプロセッサで実行中または当該サブプロセッサに実行予約中のサブプロセッサプログラムを識別する識別子である。
【０１９３】
サブプロセッサに関する当該情報処理装置のそのときの処理能力は、当該情報処理装置のサブプロセッサ数と、その各サブプロセッサの使用率の平均値とによって決まり、サブプロセッサ数が多く、各サブプロセッサの使用率の平均値が低いほど、当該情報処理装置のそのときの処理能力が高い。
【０１９４】
例えば、ある情報処理装置が３個のサブプロセッサを備え、第１サブプロセッサの使用率が３０％、第２サブプロセッサの使用率が４０％、第３サブプロセッサの使用率が５０％であるとき、各サブプロセッサの使用率の平均値は４０％である。
【０１９５】
ただし、サブプロセッサに関する当該情報処理装置のそのときの処理能力についても、サブプロセッサ使用率として、優先度の低い機能プログラムと連携動作するサブプロセッサプログラムの実行中または実行予約中である場合を除外し、優先度の高い機能プログラムと連携動作するサブプロセッサプログラムの実行中または実行予約中である場合のみを考慮して、処理能力を算出するようにしてもよい。
【０１９６】
メインメモリに関する情報は、メインメモリ総容量およびメインメモリ使用量であり、メインメモリに関する当該情報処理装置のそのときの処理能力は、メインメモリ２６の空き容量（総容量から使用量を減じた容量）によって決まり、メインメモリ空き容量が大きいほど、当該情報処理装置のそのときの処理能力が高い。
【０１９７】
外部記録部に関する情報は、外部記録部数、外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量、および外部記録部使用量である。上述したように、外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量は、当該情報処理装置に接続されている個々の外部記録部２８ごとに設定または算出される。
【０１９８】
外部記録部に関する当該情報処理装置のそのときの処理能力は、当該情報処理装置に接続されている各外部記録部の空き容量（総容量から使用量を減じた容量）の和によって決まり、その和が大きいほど、当該情報処理装置のそのときの処理能力が高い。
【０１９９】
さらに、上記の例で、情報処理装置２のリソースマネージャは、ステップ１２２で、自装置を含む各情報処理装置についてのネットワークレイテンシーを計算する。
【０２００】
情報処理装置１，３，４についてのネットワークレイテンシーＮＬ１，ＮＬ３，ＮＬ４は、それぞれ、図１６の第１段目に示す情報処理装置１，３，４に詳細ステータス要求コマンドを送信した時刻と、図１６の第２段目に示す情報処理装置１，３，４から詳細ステータス返信コマンドを受信した時刻との差の時間によって算出する。
【０２０１】
ネットワークレイテンシーの算出方法として、例えば、基準時刻差（例として１０ｍｓｅｃとする）を定義する。そして、情報処理装置２が情報処理装置１に詳細ステータス要求コマンドを送信した時刻と情報処理装置１から詳細ステータス返信コマンドを受信した時刻との時刻差が１００ｍｓｅｃである場合には、１００ｍｓｅｃ÷１０ｍｓｅｃ＝１０によって、ＮＬ１＝１０と算出される。同様に、情報処理装置３，４についてもネットワークレイテンシーＮＬ３，ＮＬ４を算出する。情報処理装置２自身についてのネットワークレイテンシーＮＬ２は、時刻差が発生しないため、ＮＬ２＝０となる。
【０２０２】
ネットワークレイテンシーは、その時間が短いほど、当該情報処理装置の処理能力が高い。
【０２０３】
以上のように獲得した詳細ステータス情報およびネットワークレイテンシーをもとに、情報処理装置２のリソースマネージャは、ステップ１２３で、処理能力呈示チャートの表示用データを生成し、ステップ１２４で、処理能力呈示チャートを表示する。
【０２０４】
（３−３．呈示態様：図１７および図１８）
図１７に、処理能力呈示チャートの一例を示す。
【０２０５】
この例では、ユーザが操作した情報処理装置２の図１０に示した液晶表示部４１−２、または映像出力部３５−２に接続された映像表示装置の表示画面１５１中の、左側の表示領域１５２に、各情報処理装置１，２，３および４のそのときの処理能力が１次元座標グラフとして表示される。
【０２０６】
具体的に、表示領域１５２には、処理能力呈示バー１５５を表示する。処理能力呈示バー１５５は、例えば、下端の横幅がゼロで、上端側になるほど横幅が漸次大きくなるものとし、下端が処理能力０％、上端が処理能力１００％を示すものとする。
【０２０７】
この場合の処理能力は、情報処理装置の、（１）メインプロセッサに関する処理能力、（２）サブプロセッサに関する処理能力、（３）メインメモリに関する処理能力、（４）外部記録部に関する処理能力、（５）ネットワークレイテンシーに関する処理能力、のいずれかとし、または、これら（１）〜（５）中の２つ以上を組み合わせたものとする。
【０２０８】
処理能力１００％は、例えば、メインメモリに関する処理能力であれば、上記のメインメモリ空き容量が５１２ＭＢ（メガバイト）、などというように、あらかじめ最大値として設定された処理能力値を表すものである。
【０２０９】
ネットワークレイテンシーに関する処理能力は、１００％から上記のネットワークレイテンシーＮＬの値を引いたものとする。すなわち、情報処理装置２については、ＮＬ２＝０であるので、情報処理装置２のネットワークレイテンシーに関する処理能力は１００％である。同様に、ＮＬ１＝１０から、情報処理装置１のネットワークレイテンシーに関する処理能力は９０％である。情報処理装置３，４のネットワークレイテンシーに関する処理能力も、同様にＮＬ３，ＮＬ４から算出される。
【０２１０】
表示される処理能力呈示バー１５５が、上記（１）〜（５）中のいずれを示しているかをユーザに呈示するようにしてもよい。例えば、処理能力呈示バー１５５が（１）メインプロセッサに関する処理能力を示しているときには、表示領域１５２内に「メインプロセッサに関する処理能力」と表示し、処理能力呈示バー１５５が（３）メインメモリに関する処理能力と（４）外部記録部に関する処理能力の組み合わせを示しているときには、表示領域１５２内に「メインメモリに関する処理能力」と「外部記録部に関する処理能力」を表示する。さらに、処理能力呈示バー１５５が示す処理能力を、ユーザの操作によって切り替えることができるようにしてもよい。
【０２１１】
上記（１）〜（５）中の２つ以上を組み合わせる場合には、あらかじめ定められた関数式によって、総合的な処理能力値を表す。さらに、その関数式は、固定されている場合に限らず、情報処理装置に実行させようとする機能に応じて、関数式の係数や次数などを切り替えるようにしてもよい。
【０２１２】
そして、各情報処理装置１，２，３および４のそのときの処理能力を、同様に上記（１）〜（５）中の１つまたは複数から算出し、それぞれ情報処理装置１，２，３および４を示すアイコンや記号などの標章１６１，１６２，１６３および１６４を、処理能力呈示バー１５５上の、算出結果の処理能力値（座標値）の位置に表示する。
【０２１３】
図１７の例では、ハードディスクレコーダである情報処理装置１のそのときの処理能力値が７０％であるので、情報処理装置１を示す標章１６１が処理能力呈示バー１５５上の７０％の座標値の位置に表示され、ハードディスクレコーダである情報処理装置２のそのときの処理能力値が８４％であるので、情報処理装置２を示す標章１６２が処理能力呈示バー１５５上の８４％の座標値の位置に表示され、ＰＤＡである情報処理装置３のそのときの処理能力値が４３％であるので、情報処理装置３を示す標章１６３が処理能力呈示バー１５５上の４３％の座標値の位置に表示され、ポータブルＣＤプレーヤである情報処理装置４のそのときの処理能力値が９％であるので、情報処理装置４を示す標章１６４が処理能力呈示バー１５５上の９％の座標値の位置に表示される。
【０２１４】
したがって、ユーザは、そのときの各情報処理装置１，２，３および４の処理能力を直感的かつ的確に把握することができ、情報処理装置１，２，３または４に処理を実行させた場合のターンアラウンドタイムを予測することができる。
【０２１５】
さらに、この例では、ユーザが、標章１６１，１６２，１６３および１６４のいずれかをクリックするなど、操作することによって、表示画面１５１中の右側の表示領域１５３に、詳細情報呈示画面１５６が表示され、操作された標章で示される情報処理装置に関する詳細な情報が呈示される。図１７の例は、ユーザが標章１６１を操作したことによって、ハードディスクレコーダである情報処理装置１に関する詳細な情報が呈示された場合である。
【０２１６】
したがって、ユーザは、表示領域１５２に表示された１次元座標グラフと、表示領域１５３に表示された詳細情報とによって、そのときの各情報処理装置１，２，３および４の処理能力を直感的かつ詳細に把握することができる。
【０２１７】
さらに、この例では、表示画面１５１の上部にツールバー１５４が表示され、ユーザがこのツールバー１５４を操作することによって、表示画面１５１に操作画面が表示され、その操作画面での操作によって、ユーザは、各情報処理装置の処理能力を見て自身が選択した情報処理装置に、上述した放送番組の録画などの処理を実行させることができる。
【０２１８】
例えば、ユーザが情報処理装置２を選択して放送番組の録画予約の操作を行った場合には、図７および図９の例で上述したように、その操作情報が情報処理装置２からマスター装置として動作している情報処理装置１に送信され、情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、当該の操作に応じた機能プログラムの実行要求先の情報処理装置として、ユーザが指示した情報処理装置２を選択し、情報処理装置２に当該の操作に応じた機能プログラムを実行させる。
【０２１９】
この場合、上述したように、メインプロセッサに関する、またはサブプロセッサに関する各情報処理装置のそのときの処理能力につき、メインプロセッサ使用率、またはサブプロセッサ使用率として、優先度の低い機能プログラムを実行している場合、または優先度の低い機能プログラムと連携動作するサブプロセッサプログラムの実行中または実行予約中である場合を除外し、優先度の高い機能プログラムを実行している場合、または優先度の高い機能プログラムと連携動作するサブプロセッサプログラムの実行中または実行予約中である場合のみを考慮して、処理能力を算出し、図１７の例のように表示することによって、ユーザは、優先度の高い処理を新たに実行させる場合、そのときの処理能力として、当該の処理を優先的に実行できる処理能力を有する情報処理装置が、いずれの情報処理装置であるかを容易に知ることができる。
【０２２０】
図１８に、処理能力呈示チャートの他の例を示す。この例では、ユーザが操作した情報処理装置２の図１０に示した液晶表示部４１−２、または映像出力部３５−２に接続された映像表示装置の表示画面１５１に、各情報処理装置１，２，３および４のそのときの処理能力が２次元座標グラフとして表示される。
【０２２１】
具体的に、その２次元座標は、上記（５）のネットワークレイテンシーに関する処理能力を、縦軸に示し、上記（１）〜（４）の、メインプロセッサに関する処理能力、サブプロセッサに関する処理能力、メインメモリに関する処理能力、および外部記録部に関する処理能力を、定められた関数式によって総合的に表したものを、横軸に示したものである。
【０２２２】
ネットワークレイテンシーが小さい（短い）ほど、ネットワークレイテンシーに関する処理能力が高いので、縦軸のプラス方向はネットワークレイテンシーが小さい方向、マイナス方向はネットワークレイテンシーが大きい方向とし、その他に関する処理能力については、横軸のプラス方向を処理能力が高い（負荷が小さい）方向、マイナス方向を処理能力が低い（負荷が大きい）方向とする。
【０２２３】
しかも、２次元座標の原点位置は、マスター装置として動作している情報処理装置１のそのときの、ネットワークレイテンシーの値およびその他に関する処理能力の値を示す座標位置とし、その原点位置に、情報処理装置１を示す標章１６１を表示し、スレーブ装置として動作している他の情報処理装置２，３および４を示す標章１６２，１６３および１６４を、それぞれ情報処理装置２，３および４のそのときの、ネットワークレイテンシーの値およびその他に関する処理能力の値を示す座標位置に表示する。
【０２２４】
したがって、ユーザは、そのときの各情報処理装置１，２，３および４の処理能力を直感的かつ的確に把握することができる。
【０２２５】
２次元座標の原点位置は、ユーザが操作している情報処理装置のそのときの、ネットワークレイテンシーの値およびその他に関する処理能力の値を示す座標位置としてもよい。
【０２２６】
さらに、この例でも、表示画面１５１の上部にツールバー１５４が表示され、ユーザがこのツールバー１５４を操作することによって、表示画面１５１に操作画面が表示され、その操作画面での操作によって、ユーザは、各情報処理装置の処理能力を見て自身が選択した情報処理装置に、上述した放送番組の録画などの処理を実行させることができるように、システムを構成する。
【０２２７】
図１８の例は、２次元座標グラフによって、ネットワークレイテンシーに関する処理能力と、その他に関する処理能力とを表示する場合であるが、２次元座標グラフによって、（ａ）メインプロセッサに関する処理能力（余剰能力）と、サブプロセッサに関する処理能力（余剰能力）、（ｂ）メインプロセッサまたはサブプロセッサに関する処理能力（余剰能力）と、メインメモリに関する処理能力（空き容量）、（ｃ）ネットワークレイテンシーに関する処理能力と、メインプロセッサまたはサブプロセッサに関する処理能力（余剰能力）、（ｄ）ネットワークレイテンシーに関する処理能力と、メインメモリに関する処理能力（空き容量）、などを表示するようにしてもよい。
【０２２８】
また、図では省略するが、３次元座標グラフによって、それぞれの情報処理装置のそのときの３種の処理能力を表示するようにしてもよい。
【図面の簡単な説明】
【０２２９】
【図１】この発明のネットワークシステムの一例を示す図である。
【図２】この発明の情報処理装置が備える情報処理コントローラの一例の説明に供する図である。
【図３】ソフトウェアセルの一例を示す図である。
【図４】ソフトウェアセルのデータ領域の例を示す図である。
【図５】複数の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図６】情報処理装置のソフトウェア構成の一例を示す図である。
【図７】４台の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図８】図７のシステムにおける分散処理の例を示す図である。
【図９】各情報処理装置およびシステムの具体例を示す図である。
【図１０】図９中のハードディスクレコーダのハードウェア構成を示す図である。
【図１１】図９中のＰＤＡのハードウェア構成を示す図である。
【図１２】図９中のポータブルＣＤプレーヤのハードウェア構成を示す図である。
【図１３】４台の情報処理装置がネットワーク上に接続された状態を示す図である。
【図１４】各情報処理装置の処理能力を呈示するためのソフトウェア構成の一例を示す図である。
【図１５】処理能力の呈示のための処理の一例を示す図である。
【図１６】処理能力の呈示のために収集する詳細ステータス情報の一例を示す図である。
【図１７】処理能力呈示チャートの一例を示す図である。
【図１８】処理能力呈示チャートの他の例を示す図である。
【符号の説明】
【０２３０】
主要部については図中に全て記述したので、ここでは省略する。
【図１】
2005293418.tif 000003
【図２】
2005293418.tif 000004
【図３】
2005293418.tif 000005
【図４】
2005293418.tif 000006
【図５】
2005293418.tif 000007
【図６】
2005293418.tif 000008
【図７】
2005293418.tif 000009
【図８】
2005293418.tif 000010
【図９】
2005293418.tif 000011
【図１０】
2005293418.tif 000012
【図１１】
2005293418.tif 000013
【図１２】
2005293418.tif 000014
【図１３】
2005293418.tif 000015
【図１４】
2005293418.tif 000016
【図１５】
2005293418.tif 000017
【図１６】
2005293418.tif 000018
【図１７】
2005293418.tif 000019
【図１８】
2005293418.tif 000020