(57)【要約】【課題】  システムを構成する各機器における余剰の処理能力を把握し、ある１台の機器上で処理を命令された機能の分散処理を好適に行なう。【解決手段】  家庭内の各部屋に、複数のＣＥ機器がホームネットワークに接続され協調動作が可能となっている。ユーザは、専用のＧＵＩ画面を介して、物理的な部屋の配置と、各機器の設置場所及び機器がそれぞれ持つ機能をマッピングする。ユーザが要求した機能を実現するとき、ユーザの物理的な位置情報を考慮し、ユーザにとってノイズの小さくなる機器を自動的に選択して、分散された機器同士の機能補完による騒音発生空間の分散化を図る。【選択図】  図１７
2005339174.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続される複数の情報処理装置の連携動作により構成される情報処理システムであって、各情報処理装置は実行可能な１以上の機能を備えるとともに属性情報を保持しており、
前記ネットワークに接続されている各情報処理装置についての物理的配置を設定する物理的配置設定手段と、
前記ネットワークに接続されている各情報処理装置から、実行可能な機能と属性情報を取得する情報処理装置情報取得手段と、
前記ネットワークに接続されている情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理手段と、
を具備することを特徴とする情報処理システム。
【請求項２】
各情報処理装置は、家庭内の各部屋に設置されており、
前記物理的配置設定手段は、各情報処理装置が設置されている階数並びに部屋を設定する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
該当する機能を実行可能な各情報処理機器をマッピングした、機能ユニット毎の機能アイコンを提示する機能提示手段と、
各機能アイコンに対するユーザ操作に応答して該当する処理を起動するユーザ操作処理手段と、
をさらに備えることを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記ユーザ操作処理手段は、ユーザ操作が行なわれた場所に基づいてユーザの物理的配置を取得する、
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記ユーザ操作処理手段は、機能アイコンが選択されたことに応答して、ユーザの物理的配置と、指示された機能を実行可能な各情報処理装置の物理的配置及び属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する、
ことを特徴とする請求項３に記載の情報処理システム。
【請求項６】
前記ユーザ操作処理手段は、機能アイコンを結び付けるユーザ操作が印加されたことに応答して、各機能アイコンに該当する機能を現実に実行する情報処理装置間の接続を確立する、
ことを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記機能提示手段は、接続が確立された情報処理装置がマッピングされている機能アイコン同士の論理的な接続路を表示する、
ことを特徴とする請求項６に記載の情報処理システム。
【請求項８】
ネットワーク接続される複数の情報処理装置の連携動作により構成される情報処理システムであって、各情報処理装置は実行可能な１以上の機能を備え、
各情報処理装置についての物理的配置と、実行可能な機能と、属性情報を管理する情報処理装置管理手段と、
ネットワーク接続された情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理手段と、
ユーザに機能ユニットを提示し、機能実行の指示を受容する機能提示手段と、
ユーザから指示された機能を実行可能な各情報処理装置の物理的配置と属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する情報処理装置選択手段と、
を具備することを特徴とする情報処理システム。
【請求項９】
前記機能提示手段は、ユーザから機能実行の指示を受容したときにユーザの物理的配置を取得し、
前記情報処理装置選択手段は、該ユーザの物理的配置と、指示された機能を実行可能な各情報処理装置の物理的配置及び属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する、
ことを特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記情報処理装置選択手段は、情報処理装置の属性情報として、機能実行時に発生するノイズレベルを扱う、
ことを特徴とする請求項８に記載の情報処理システム。
【請求項１１】
前記情報処理装置選択手段は、情報処理装置の属性情報として、機能実行時における発熱量若しくは温度を扱う、
ことを特徴とする請求項８に記載の情報処理システム。
【請求項１２】
前記情報処理装置選択手段は、情報処理装置の属性情報として、機能実行時に発生するノイズレベルを扱い、該指示された機能を実行可能な情報処理装置のうちユーザにとって静粛性の高いものを探索する、
ことを特徴とする請求項８に記載の情報処理システム。
【請求項１３】
各情報処理装置は、家庭内の各部屋に設置されており、
前記情報処理装置選択手段は、ユーザとは別の部屋に設置された情報処理装置のうち最もノイズレベルの低いものを探索する、
ことを特徴とする請求項１２に記載の情報処理システム。
【請求項１４】
前記情報処理装置選択手段は、最もノイズレベルの低い情報処理装置が複数ある場合には、ユーザから最も遠い部屋に設置された情報処理装置を選択する、
ことを特徴とする請求項１３に記載の情報処理システム。
【請求項１５】
ネットワーク接続される複数の情報処理装置の連携動作により構成される情報処理システムであって、各情報処理装置は実行可能な１以上の機能を備え、
機能を実行中の第１の情報処理装置において、所定の閾値を超える温度に上昇したことに応答して、同一の機能を実行可能な第２の情報処理装置に該機能を実現するための少なくとも一部の処理を委託する、
ことを特徴とする情報処理システム。
【請求項１６】
各情報処理装置の動作温度を比較する装置温度比較手段と、
動作温度の高い情報処理装置において実行中の処理を、動作温度の低い情報処理装置に委託する処理委託手段と、
を備えることを特徴とする請求項１５に記載の情報処理システム。
【請求項１７】
ネットワーク接続される複数の情報処理装置による連携動作を処理する情報処理方法であって、各情報処理装置は実行可能な１以上の機能を備えるとともに属性情報を保持しており、
前記ネットワークに接続されている各情報処理装置についての物理的配置を設定する物理的配置設定ステップと、
前記ネットワークに接続されている各情報処理装置から、実行可能な機能と属性情報を取得する情報処理装置情報取得ステップと、
前記ネットワークに接続されている情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理ステップと、
を具備することを特徴とする情報処理方法。
【請求項１８】
各情報処理装置は、家庭内の各部屋に設置されており、
前記物理的配置設定ステップでは、各情報処理装置が設置されている階数並びに部屋を設定する、
ことを特徴とする請求項１７に記載の情報処理方法。
【請求項１９】
該当する機能を実行可能な各情報処理機器をマッピングした、機能ユニット毎の機能アイコンを提示する機能提示ステップと、
各機能アイコンに対するユーザ操作に応答して該当する処理を起動するユーザ操作処理ステップと、
をさらに備えることを特徴とする請求項１７に記載の情報処理方法。
【請求項２０】
前記ユーザ操作処理ステップでは、ユーザ操作が行なわれた場所に基づいてユーザの物理的配置を取得する、
ことを特徴とする請求項１９に記載の情報処理方法。
【請求項２１】
前記ユーザ操作処理ステップでは、機能アイコンが選択されたことに応答して、ユーザの物理的配置と、指示された機能を実行可能な各情報処理装置の物理的配置及び属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する、
ことを特徴とする請求項１９に記載の情報処理方法。
【請求項２２】
前記ユーザ操作処理ステップでは、機能アイコンを結び付けるユーザ操作が印加されたことに応答して、各機能アイコンに該当する機能を現実に実行する情報処理装置間の接続を確立する、
ことを特徴とする請求項２１に記載の情報処理方法。
【請求項２３】
前記機能提示ステップでは、接続が確立された情報処理装置がマッピングされている機能アイコン同士の論理的な接続路を表示する、
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項２４】
ネットワーク接続される複数の情報処理装置による連携動作を処理する情報処理方法であって、各情報処理装置は実行可能な１以上の機能を備え、
各情報処理装置についての物理的配置と、実行可能な機能と、属性情報を管理する情報処理装置管理ステップと、
ネットワーク接続された情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理ステップと、
ユーザに機能ユニットを提示し、機能実行の指示を受容する機能提示ステップと、
ユーザから指示された機能を実行可能な各情報処理装置の物理的配置と属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する情報処理装置選択ステップと、
を具備することを特徴とする情報処理方法。
【請求項２５】
前記機能提示ステップでは、ユーザから機能実行の指示を受容したときにユーザの物理的配置を取得し、
前記情報処理装置選択ステップでは、該ユーザの物理的配置と、指示された機能を実行可能な各情報処理装置の物理的配置及び属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する、
ことを特徴とする請求項２５に記載の情報処理方法。
【請求項２６】
前記情報処理装置選択ステップでは、情報処理装置の属性情報として、機能実行時に発生するノイズレベルを扱う、
ことを特徴とする請求項２５に記載の情報処理方法。
【請求項２７】
前記情報処理装置選択ステップでは、情報処理装置の属性情報として、機能実行時における発熱量若しくは温度を扱う、
ことを特徴とする請求項２５に記載の情報処理方法。
【請求項２８】
前記情報処理装置選択ステップでは、情報処理装置の属性情報として、機能実行時に発生するノイズレベルを扱い、該指示された機能を実行可能な情報処理装置のうちユーザにとって静粛性の高いものを探索する、
ことを特徴とする請求項２５に記載の情報処理方法。
【請求項２９】
各情報処理装置は、家庭内の各部屋に設置されており、
前記情報処理装置選択ステップでは、ユーザとは別の部屋に設置された情報処理装置のうち最もノイズレベルの低いものを探索する、
ことを特徴とする請求項２８に記載の情報処理方法。
【請求項３０】
前記情報処理装置選択ステップでは、最もノイズレベルの低い情報処理装置が複数ある場合には、ユーザから最も遠い部屋に設置された情報処理装置を選択する、
ことを特徴とする請求項２８に記載の情報処理方法。
【請求項３１】
ネットワーク接続される複数の情報処理装置による連携動作を処理する情報処理方法であって、各情報処理装置は実行可能な１以上の機能を備え、
機能を実行中の第１の情報処理装置において、所定の閾値を超える温度に上昇したことに応答して、同一の機能を実行可能な第２の情報処理装置に該機能を実現するための少なくとも一部の処理を委託する、
ことを特徴とする情報処理方法。
【請求項３２】
各情報処理装置の動作温度を比較する装置温度比較ステップと、
動作温度の高い情報処理装置において実行中の処理を、動作温度の低い情報処理装置に委託する処理委託ステップと、
を備えることを特徴とする請求項３１に記載の情報処理方法。
【請求項３３】
ネットワーク接続される複数の情報処理装置による連携動作を行なうための処理をコンピュータシステム上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、各情報処理装置は実行可能な１以上の機能を備えるとともに属性情報を保持しており、
前記ネットワークに接続されている各情報処理装置についての物理的配置を設定する物理的配置設定ステップと、
前記ネットワークに接続されている各情報処理装置から、実行可能な機能と属性情報を取得する情報処理装置情報取得ステップと、
前記ネットワークに接続されている情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理ステップと、
を具備することを特徴とするコンピュータプログラム。
【請求項３４】
ネットワーク接続される複数の情報処理装置による連携動作を行なうための処理をコンピュータシステム上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、各情報処理装置は実行可能な１以上の機能を備え、
各情報処理装置についての物理的配置と、実行可能な機能と、属性情報を管理する情報処理装置管理ステップと、
ネットワーク接続された情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理ステップと、
ユーザに機能ユニットを提示し、機能実行の指示を受容する機能提示ステップと、
ユーザから指示された機能を実行可能な各情報処理装置の物理的配置と属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する情報処理装置選択ステップと、
を具備することを特徴とするコンピュータプログラム。
【請求項３５】
ネットワーク接続される複数の情報処理装置による連携動作を行なうための処理をコンピュータシステム上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、各情報処理装置は実行可能な１以上の機能を備え、
各情報処理装置の動作温度を比較する装置温度比較ステップと、
動作温度の高い情報処理装置において実行中の処理を、動作温度の低い情報処理装置に委託する処理委託ステップと、
を具備することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで接続された２以上の機器間における動作を連携させる情報処理システム及び情報処理方法、並びにコンピュータプログラムに係り、特に、ネットワーク接続された複数の機器が協調動作により分散処理を行なうことで、仮想的に１台の機器として動作する情報処理システム及び情報処理方法、並びにコンピュータプログラムに関する。
【０００２】
さらに詳しくは、本発明は、ネットワーク接続された複数の機器により構成される仮想的な１台の機器における余剰の処理能力を把握し、ある１台の機器上で処理を命令された機能の分散処理を行なう情報処理システム及び情報処理方法、並びにコンピュータプログラムに係り、特に、家庭内の各部屋に設置された複数の機器が連携動作する環境下で、ユーザの物理的な位置を考慮して、ユーザから命令された機能の分散処理を行なう情報処理システム及び情報処理方法、並びにコンピュータプログラムに関する。
【背景技術】
【０００３】
複数のコンピュータ同士をネットワークで相互接続することにより、情報資源の共有、ハードウェア資源の共有、複数のユーザ間でのコラボレーションが実現することが知られている。コンピュータ間の接続メディアとして、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどさまざまである。
【０００４】
特に最近では、一般家庭内にもコンピュータやネットワークなどの技術が深く浸透してきている。家庭内のパーソナル・コンピュータやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）などの情報機器、さらにはテレビ受像機やビデオ再生装置などＡＶ機器や、各種の情報家電、ＣＥ（Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ）機器などがホームネットワーク経由で相互接続されている。また、このようなホームネットワークは、多くの場合、ルータ経由でインターネットを始めとする外部の広域ネットワークに相互接続されている。
【０００５】
このようにホームネットワーク上に複数のＡＶ機器が接続されるという利用形態が想定されるが、いままでは、ＡＶ機器間で充分な連携がなされていない、という問題がある。
【０００６】
このような問題に対し、最近では、ネットワーク上の機器同士を連携させるために、機器の協調動作により高い演算性能を実現するというグリッドコンピューティング技術に関する研究開発が進められている（例えば、特許文献１〜５を参照のこと）。
【０００７】
このグリッドコンピューティング技術によれば、ネットワーク上の複数の情報処理装置が強調動作して分散処理を行ない、ユーザからは仮想的に１台の情報処理装置として動作することができる。
【０００８】
例えば、録画予約機能を持つ複数台の情報処理装置がネットワーク上に接続されている場合、録画予約の連携動作を実現することができる。すなわち、複数台の情報処理装置がホームネットワーク経由で録画予約の動作を連携させている場合、ホームネットワーク上では仮想的に１台の録画機器として動作する。そして、ユーザは、いずれかの機器のユーザ・インターフェースを用いて、ホームネットワークに接続されている任意の機器を用いて録画予約を行なうことができる。また、情報処理装置間でお互いの録画予約などのスケジュール情報を交換し合い、どの情報処理装置のＧＵＩからでも、全体の録画予約番組情報がマージされた形で同じように表示することにより、ユーザが録画予約の設定を行なうときの操作性が向上する。
【０００９】
さらにこのような録画予約機能の連携により、予約時間が重複した番組（いわゆる裏番組）を同時録画することが可能である。例えば同じ時間帯に複数の番組を録画予約したい場合、ある特定の情報処理装置のＧＵＩ上で、別の情報処理装置の録画予約状況や外部記録部の空き状況を確認し、さらに別の情報処理装置の録画予約設定を行なうようにする。
【００１０】
同様に、記録したコンテンツの再生動作を複数の機器間で連携させ、同時・同期的なコンテンツ再生を実現することができる。このコンテンツ再生機能の連携により、別々の機器で記録されたコンテンツの再生を同時、同期的に進行させることにより、コンテンツ再生においてチャンネル切り換えの概念を導入することができる。
【００１１】
このような仮想的な１台の機器によれば、１台の機器のハードウェア資源や処理能力だけではユーザからの要求に応じることができない場合であっても、ネットワーク上で連携・協調動作する他の機器における余剰の処理能力を活用することで、ユーザの要求に応じることができ、さらに通常の１台の機器では現実的ではないサービスを実現することができる。
【００１２】
ところで、情報処理装置は、オペレーション中に、室内の環境や雰囲気に影響を与える。例えば、ハードディスクやＣＤ／ＤＶＤなどディスク型記憶装置においては、記録面へのアクセス動作時にはドライブモータの回転により騒音を発生し、静粛性が阻害される。また、演算処理中には装置内のプロセッサの稼働率が上昇することに伴い、発熱量が増し室温が上がる。このとき、例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などで構成される半導体デバイスを高温環境下におくと、故障率が増大し、あるいは動作低下の原因となるから、放熱や冷却のためにファンモータを稼動しなければならないが、送風音などのノイズにより情報処理装置が稼動中の室内の静粛性が阻害される。
【００１３】
一般には、情報処理装置の高性能化と相俟って、装置から発生するノイズは無視し難いものとなっていく。例えば、家庭内に設置されるＡＶ機器も、マルチプロセッサ構成による高性能化、高機能化若しくは多機能化、並びに表示装置の高画質化などにより、この問題は深刻となっていく。
【００１４】
このため、一般家庭の各部屋にＰＣやＡＶ機器などの情報処理装置を配置して利用する場合には、環境問題、すなわち情報処理装置を操作し利用するユーザに与える影響に配慮する必要がある。
【００１５】
また、機器間連携動作を行なう上記のシステムを利用する場合においては、実際に機能を実現する情報処理装置を選択する上で、静粛性や室温変化など、ユーザが現在いる部屋など物理的な位置を十分に考慮すべきである、と本発明者らは思料する。
【００１６】
従来、情報処理装置がユーザに与える騒音の問題を解決する手段として数多提案されている。例えば、コンピュータに用いられるＡＣ−ＤＣ電力コンバータのような電気的又は電磁気的雑音源から発生する音声信号雑音を消去し低減するためのシステム（例えば、特許文献６を参照のこと）や、ヘッドホン又はブームマイクロホン装置などに取り付けられたブームヘッドホンに使用するための周囲ノイズを減少する方法（例えば、特許文献７を参照のこと）、アクセス性能の向上により必要以上にスピンドルモータの回転速度を上げないようにすることで回転騒音や振動が提言した情報再生装置（例えば、特許文献８を参照のこと）、ＣＭなど放送側の信号レベルの変動に対し自動音量調整制御を行なうシステム（例えば、特許文献９を参照のこと）などである。
【００１７】
しかしながら、これらは単一の機器において生ずる騒音防止に関するものであり、ネットワーク経由で複数の情報処理装置が連携動作するシステムにおいて、各装置により発生する騒音がユーザに与える影響、すなわち家庭内の各部屋に設置された複数の情報処理装置が連携動作してある機能を実現する際に、それぞれの装置から発生する騒音からなる騒音発生空間とユーザの物理的配置について議論するものではない。
【００１８】
【特許文献１】特開２００２−３４２１６５号公報
【特許文献２】特開２００２−３５１８５０号公報
【特許文献３】特開２００２−３５８２８９号公報
【特許文献４】特開２００２−３６６５３３号公報
【特許文献５】特開２００２−３６６５３４号公報
【特許文献６】特表２００２−５３７５８６号公報
【特許文献７】特表２００２−５０１６２３号公報
【特許文献８】ＷＯ００／７４０５２
【特許文献９】特開２００３−３０４５９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明は、上述したような技術的課題を鑑みたものであり、その主な目的は、ネットワーク接続された複数の機器が協調動作により分散処理を行なうことで、仮想的に１台の機器として好適に動作することができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することにある。
【００２０】
本発明のさらなる目的は、ネットワーク接続された複数の機器により構成される仮想的な１台の機器を構成するシステムにおいて、システムを構成する各機器における余剰の処理能力を把握し、ある１台の機器上で処理を命令された機能の分散処理を好適に行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することにある。
【００２１】
本発明のさらなる目的は、家庭内の各部屋に設置された複数の機器が連携動作する環境下で、機器動作により形成される騒音発生空間や熱発生空間とユーザの物理的な位置との関係を考慮して、ユーザから命令された機能の分散処理を行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００２２】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、ネットワーク接続される複数の情報処理装置の連携動作により構成される情報処理システムであって、各情報処理装置は実行可能な１以上の機能を備えるとともに属性情報を保持しており、
前記ネットワークに接続されている各情報処理装置についての物理的配置を設定する物理的配置設定手段と、
前記ネットワークに接続されている各情報処理装置から、実行可能な機能と属性情報を取得する情報処理装置情報取得手段と、
前記ネットワークに接続されている情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理手段と、
を具備することを特徴とする情報処理システムである。
【００２３】
但し、ここで言う「システム」とは、複数の装置（又は特定の機能を実現する機能モジュール）が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【００２４】
本発明に係る情報処理システムによれば、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の機器として動作することができる。
【００２５】
さらに、本発明によれば、家庭内の各部屋に設置された情報処理装置がホームネットワーク経由で接続されて連携動作するというシステムの構成を、設置された各情報処理装置と、それぞれの情報処理装置の物理的ロケーションと、いずれかの情報処理装置を用いて提供可能な機能を抽出した機能ユニットという３階層にマッピングし、これらを視覚的に表示するＧＵＩ画面を提示することができる。
【００２６】
したがって、ユーザは、このＧＵＩ画面を介して、情報処理装置の設定や機能選択を行なうことができる。そして、機能が選択された場合には、当該機能を実行可能な情報処理装置のうち、ユーザにとって静粛性の高いものを自動的に選択することができる。
【００２７】
ここで、各情報処理装置が家庭内の各部屋に設置されているようなシステム環境においては、前記物理的配置設定手段は、各情報処理装置が設置されている階数並びに部屋を設定するためのＧＵＩ画面を提供する。
【００２８】
また、本発明に係る情報処理システムは、該当する機能を実行可能な各情報処理機器をマッピングした、機能ユニット毎の機能アイコンを提示する機能提示手段と、各機能アイコンに対するユーザ操作に応答して該当する処理を起動するユーザ操作処理手段とをさらに備えてもよい。
【００２９】
前記ユーザ操作処理手段は、ユーザ操作が行なわれた場所に基づいてユーザの物理的配置を取得することができる。
【００３０】
また、前記ユーザ操作処理手段は、機能アイコンが選択されたことに応答して、ユーザの物理的配置と、指示された機能を実行可能な各情報処理装置の物理的配置及び属性情報に基づいて、該機能を現実に実行する情報処理装置を探索するようにする。例えば、属性情報としてノイズレベルを扱うことにより、ユーザがいる部屋から最も遠く離れた部屋で、最もノイズレベルの低い、すなわち静粛性の高い情報処理装置を自動的に選択することができる。
【００３１】
また、前記ユーザ操作処理手段は、機能アイコンを結び付けるユーザ操作が印加されたことに応答して、各機能アイコンに該当する機能を現実に実行する情報処理装置間の接続を確立するようにしてもよい。この場合、前記機能提示手段は、接続が確立された情報処理装置がマッピングされている機能アイコン同士の論理的な接続路を表示するようにする。
【００３２】
また、本発明の第２の側面は、ネットワーク接続される複数の情報処理装置の連携動作により構成される情報処理システムであって、各情報処理装置は実行可能な１以上の機能を備え、
各情報処理装置についての物理的配置と、実行可能な機能と、属性情報を管理する情報処理装置管理手段と、
ネットワーク接続された情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理手段と、
ユーザに機能ユニットを提示し、機能実行の指示を受容する機能提示手段と、
ユーザから指示された機能を実行可能な各情報処理装置の物理的配置と属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する情報処理装置選択手段と、
を具備することを特徴とする情報処理システムである。
【００３３】
情報処理装置は、オペレーション中に、室内の環境や雰囲気に影響を与える。例えば、ハードディスクのアクセス動作時にはドライブモータの回転により騒音を発生し静粛性が阻害される。
【００３４】
これに対し、本発明の第２の側面によれば、ネットワーク接続されている情報処理装置の中から現実に機能を実行するものを選択する際に、装置動作のノイズレベルやユーザが現在いる部屋などを考慮することで、オペレーション時におけるシステムを操作し利用するユーザへ静粛性などの影響を低減することができる。
【００３５】
すなわち、前記機能提示手段は、ユーザから機能実行の指示を受容したときにユーザの物理的配置を取得し、前記情報処理装置選択手段は、該ユーザの物理的配置と、指示された機能を実行可能な各情報処理装置の物理的配置及び属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する。具体的には、前記情報処理装置選択手段は、情報処理装置の属性情報として、機能実行時に発生するノイズレベルを扱い、該指示された機能を実行可能な情報処理装置のうちユーザにとって静粛性の高いものを探索するようにすればよい。
【００３６】
前記情報処理装置選択手段は、ユーザとは別の部屋に設置された情報処理装置のうち最もノイズレベルの低いものを探索する。また、最もノイズレベルの低い情報処理装置が複数ある場合には、ユーザから最も遠い部屋に設置された情報処理装置を選択する。
【００３７】
また、本発明の第３の側面は、ネットワーク接続される複数の情報処理装置の連携動作により構成される情報処理システムであって、各情報処理装置は実行可能な１以上の機能を備え、
機能を実行中の第１の情報処理装置において、所定の閾値を超える温度に上昇したことに応答して、同一の機能を実行可能な第２の情報処理装置に該機能を実現するための少なくとも一部の処理を委託する、
ことを特徴とする情報処理システムである。
【００３８】
本発明に係る情報処理システムによれは、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の機器として動作することができる。ところが、個々の情報処理装置においては、演算処理中には装置内のプロセッサの稼働率が上昇することに伴い、発熱量が増し室温が上がるという問題がある。半導体を高温環境下におくと、故障率が増大し、あるいは動作低下の原因となるから、放熱や冷却のためにファンモータを稼動しなければならないが、送風音などのノイズにより情報処理装置が稼動中の室内の静粛性が阻害される。
【００３９】
これに対し、本発明の第３の側面によれば、ある情報処理装置において機能を実行中に装置内のプロセッサの温度値が所定の閾値を超えたときには、他の情報処理装置に少なくとも処理の一部の実行を委託して、温度上昇を抑制することができる。この結果、複数の情報処理装置が連携動作するネットワーク環境下で、処理の分散に伴い発熱源も分散されることから、局所的な高温状態を回避することができる。また、冷却用ファンの稼動を抑制することができるので、送風音によりユーザに煩わしさを与えなくて済む。
【００４０】
また、個々の情報処理装置においては、プロセッサチップなど半導体デバイスの温度上昇による動作低下を回避し、あるいは温度低下のためにプロセッサのクロック速度を落としパフォーマンス低下を回避することができる。また、熱設計の制約条件を緩和することができる。
【００４１】
また、処理を委託する際に、暖房が必要な低温環境下に設置された情報処理装置を委託先として選択することにより、当該装置が発する熱を暖房用エネルギに使用し、エネルギの有効活用を図ることができる。
【００４２】
このようなシステムのオペレーションは、負荷分散時における分散処理に加え、情報処理装置同士でプロセッサの動作温度データを交換し合うだけで実現することができる。
【００４３】
また、本発明の第４の側面は、ネットワーク接続される複数の情報処理装置による連携動作を行なうための処理をコンピュータシステム上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、各情報処理装置は実行可能な１以上の機能を備えるとともに属性情報を保持しており、
前記ネットワークに接続されている各情報処理装置についての物理的配置を設定する物理的配置設定ステップと、
前記ネットワークに接続されている各情報処理装置から、実行可能な機能と属性情報を取得する情報処理装置情報取得ステップと、
前記ネットワークに接続されている情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理ステップと、
を具備することを特徴とするコンピュータプログラムである。
【００４４】
また、本発明の第５の側面は、ネットワーク接続される複数の情報処理装置による連携動作を行なうための処理をコンピュータシステム上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、各情報処理装置は実行可能な１以上の機能を備え、
各情報処理装置についての物理的配置と、実行可能な機能と、属性情報を管理する情報処理装置管理ステップと、
ネットワーク接続されたいずれかの情報処理装置を用いて提供可能な機能を抽出し機能ユニットとして管理する機能ユニット管理ステップと、
ユーザに機能ユニットを提示し、機能実行の指示を受容する機能提示ステップと、
ユーザから指示された機能を実行可能な各情報処理装置の物理的配置と属性情報に基づいて、該機能を現実に実行する情報処理装置を探索する情報処理装置選択ステップと、
を具備することを特徴とするコンピュータプログラムである。
【００４５】
また、本発明の第６の側面は、ネットワーク接続される複数の情報処理装置による連携動作を行なうための処理をコンピュータシステム上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、各情報処理装置は実行可能な１以上の機能を備え、
各情報処理装置の動作温度を比較する装置温度比較ステップと、
動作温度の高い情報処理装置において実行中の処理を、動作温度の低い情報処理装置に委託する処理委託ステップと、
を具備することを特徴とするコンピュータプログラムである。
【００４６】
本発明の第４乃至第６の各側面に係るコンピュータプログラムは、コンピュータシステム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータプログラムを定義したものである。換言すれば、本発明の第４乃至第６の各側面に係るコンピュータプログラムをコンピュータシステムにインストールすることによって、コンピュータシステム上では協働的作用が発揮され、本発明の第１乃至第３の各側面に係る情報処理システムと同様の作用効果を得ることができる。
【発明の効果】
【００４７】
本発明によれば、ネットワーク接続された複数の機器が協調動作により分散処理を行なうことで、仮想的に１台の機器として好適に動作することができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することができる。
【００４８】
また、本発明によれば、ネットワーク接続された複数の機器により構成される仮想的な１台の機器を構成するシステムにおいて、システムを構成する各機器における余剰の処理能力を把握し、ある１台の機器上で処理を命令された機能の分散処理を好適に行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することができる。
【００４９】
また、本発明によれば、家庭内の各部屋に設置された複数の機器が連携動作する環境下で、機器動作により形成される騒音発生空間や熱発生空間とユーザの物理的な位置との関係を考慮して、ユーザから命令された機能の分散処理を行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することができる。
【００５０】
本発明によれば、家庭内の各部屋に設置された情報処理装置がホームネットワーク経由で接続され、連携動作により仮想的に１台の情報処理装置として動作するシステムの構成を、設置された各情報処理装置と、それぞれの情報処理装置の物理的ロケーションと、いずれかの情報処理装置を用いて提供可能な機能を抽出した機能ユニットという３階層にマッピングし、これらを視覚的に表示するＧＵＩ画面を提示することができる。ユーザは、このＧＵＩ画面を介して、情報処理装置の設定や機能選択などの設定作業をカーソル操作により行なうことができる。そして、機能が選択された場合には、当該機能を実行可能な情報処理装置のうち、ユーザにとって静粛性の高いものを自動的に選択することができる。
【００５１】
また、本発明によれば、ある情報処理装置において機能を実行中に装置内のプロセッサの温度値が所定の閾値を超えたときには、他の情報処理装置に少なくとも処理の一部の実行を委託して、温度上昇を抑制することができる。この結果、複数の情報処理装置が連携動作するネットワーク環境下で、処理の分散に伴い発熱源も分散されることから、局所的な高温状態を回避することができる。また、元の情報処理装置においては、プロセッサチップなど半導体デバイスの温度上昇による動作低下を回避し、あるいは温度低下のためにプロセッサのクロック速度を落としパフォーマンス低下を回避することができる。また、冷却用ファンの稼動を抑制することができるので、送風音によりユーザに煩わしさを与えなくて済む。また、処理を委託する際に、暖房が必要な低温環境下に設置された情報処理装置を委託先として選択することにより、当該装置が発する熱を暖房用エネルギに使用し、エネルギの有効活用を図ることができる。このようなシステムのオペレーションは、負荷分散時における分散処理に加え、情報処理装置同士でプロセッサの動作温度データを交換し合うだけで実現することができる。また、負荷分散とともに発熱を分散することができるので、個々の情報処理装置における熱設計の制約条件を緩和することができる。
【００５２】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００５３】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００５４】
Ａ．システム構成
本発明は、２以上の情報処理装置間における動作をホームネットワーク経由で好適に連携させることにより、別々の場所に設定されている各機器における録画予約操作を簡易且つ効率的にするものである。ネットワーク上の機器同士を連携させるために、機器の協調動作により高い演算性能を実現するためのグリッドコンピューティング技術を活用する。
【００５５】
図１には、グリッドコンピューティングを適用して構成される、ネットワークシステムの構成を模式的に示している。
【００５６】
ネットワークは、インターネットやその他の広域ネットワーク、並びに、広域ネットワークとはゲートウェイなどを介して接続されるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やホームネットワークなどのプライベートなネットワークで構成される。ホームネットワークは、物理的には、１０ＢａｓｅＴや１００ＢａｓｅＴＸ、Ｇｉｇａ  ｅａｔｈｅｒなどの標準的なネットワークインターフェースで構成することができる。また、ホームネットワーク上で他の機器を発見する仕組みとしてＵｐｎｐ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）を利用することができる。Ｕｐｎｐによれば、ネットワーク接続された機器間で、ＸＭＬ（ｅＸｔｅｎｄｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述された定義ファイルを交換し、アドレッシング処理、ディスカバリ処理、サービス要求処理を経て相互認証を行なう。あるいは同一セグメント内での規定の機器情報を記述したパケットのブロードキャストすることによっても実現可能である。
【００５７】
ネットワーク上には、複数の情報処理装置が接続されている。情報処理装置の例として、ＤＶＤレコーダやＨＤレコーダのような、記録メディアを搭載し録画予約機能を備えたＡＶ機器、あるいはコンパクト・ディスクなどの記録機能を持たない再生専用のＡＶ機器、その他の情報処理装置が挙げられる。また、情報処理装置の他の例は、ＰＤＡやパーソナル・コンピュータなどの計算機処理システムを挙げることができる。図１に示す例では、ネットワーク９を介して複数の情報処理装置１、２、３、４が接続されている。
【００５８】
Ａ−１．情報処理装置及び情報処理コントローラ
情報処理装置１、２、３、４は、例えば各種のＡＶ（Ａｕｄｉｏ  ａｎｄ  Ｖｉｓｕａｌ）機器やポータブル機器である（後述）。
【００５９】
図示の通り、情報処理装置１は、コンピュータ機能部として情報処理コントローラ１１を備える。情報処理コントローラ１１は、メインプロセッサ２１−１、サブプロセッサ２３−１、２３−２、２３−３、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−１、及びＤＣ（ディスクコントローラ）２７−１を備えている。情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。
【００６０】
メインプロセッサ２１−１は、サブプロセッサ２３−１、２３−２、２３−３によるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ１１（情報処理装置１）の全般的な管理とを行なう。但し、メインプロセッサ２１−１内で管理を行なうためのプログラム以外のプログラムが動作するように構成することもできる。この場合、メインプロセッサ２１−１はサブプロセッサとしても機能することになる。メインプロセッサ２１−１は、ＬＳ（ローカル・ストレージ）２２−１を備えている。
【００６１】
１つの情報処理コントローラに備わるサブプロセッサは１つでもよいが、望ましくは複数とする。図示の例では、複数の場合である。各サブプロセッサ２３−１、２３−２、２３−３は、メインプロセッサ２１−１の制御下で、並列的且つ独立にプログラムを実行し、データを処理する。さらに、場合によってメインプロセッサ２１−１内のプログラムがサブプロセッサ２３−１、２３−２、２３−３内のプログラムと連携して動作することもできる。各サブプロセッサ２３−１、２３−２、２３−３も、それぞれＬＳ（ローカルストレージ）２４−１、２４−２、２４−３を備えている。
【００６２】
ＤＭＡＣ（直接メモリアクセスコントローラ）２５−１は、情報処理コントローラ１１に接続されたＤＲＡＭ（ダイナミックＲＡＭ）などからなるメインメモリ２６−１に格納されているプログラム及びデータにプロセッサの介在なしにアクセスするものである。また、ＤＣ（ディスクコントローラ）２７−１は、情報処理コントローラ１１に接続された外部記録部２８−１、２８−２へのアクセス動作を制御する。
【００６３】
外部記録部２８−１、２８−２は、固定ディスク（ハードディスク）、あるいはリムーバブルディスクのいずれの形態でもよい。また、リムーバブルディスクとして、ＭＯ（磁気ディスク）、ＣＤ±ＲＷ、ＤＶＤ±ＲＷなどの光ディスク、メモリディスク、ＳＲＡＭ（スタティックＲＡＭ）、ＲＯＭなど各種の記録メディアを用いることができる。ＤＣ２７−１は、ディスクコントローラと称するが、要するに外部記録部コントローラである。図１に示すように、外部記録部２８を複数接続できるように、情報処理コントローラ１１を構成することができる。
【００６４】
メインプロセッサ２１−１、各サブプロセッサ２３−１、２３−２、２３−３、ＤＭＡＣ２５−１、及びＤＣ２７−１は、バス２９−１によって相互接続されている。
【００６５】
情報処理コントローラ１１には、当該情報処理コントローラ１１を搭載する情報処理装置１をネットワーク全体を通して一意に識別できる識別子が、情報処理装置ＩＤとして割り当てられている。また、メインプロセッサ２１−１及び各サブプロセッサ２３−１、２３−２、２３−３に対しても同様に、それぞれを特定できる識別子が、メインプロセッサＩＤ及びサブプロセッサＩＤとして割り当てられる。
【００６６】
他の情報処理装置２、３、４も同様に構成されるので、ここでは説明を省略する。ここで、親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いによる差異を生じないものとする。
【００６７】
Ａ−２．各サブプロセッサからメインメモリへのアクセス
上述したように、１つの情報処理コントローラ内の各サブプロセッサ２３は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ２６内の同一領域に対して同時に読み出し又は書き込みを行なった場合には、データの不整合を生じ得る。そこで、サブプロセッサ２３からメインメモリ２６へのアクセスは、以下のような手順によって行なう。
【００６８】
図２（Ａ）には、メインメモリ２６内のロケーションを示している。同図に示すように、メインメモリ２６は複数のアドレスを指定できるメモリロケーションによって構成され、各メモリロケーションに対してデータの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤ及びＬＳアドレス（ローカル・ストレージアドレス）を含むものとされる。また、各メモリロケーションには、後述のアクセス・キーも割り振られる。Ｆ／Ｅビットは、以下のように定義される。
【００６９】
Ｆ／Ｅビット＝０は、サブプロセッサ２３によって読み出されている処理中のデータ、又は空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、Ｆ／Ｅビット＝０は、当該メモリ・ロケーションにデータ書き込み可能であることを示し、書き込み後に１に設定される。
【００７０】
Ｆ／Ｅビット＝１は、当該メモリロケーションのデータがサブプロセッサ２３によって読み出されておらず、未処理の最新データであることを示す。当該メモリ・ロケーションのデータは読み出し可能であり、サブプロセッサ２３によって読み出された後に０に設定される。また、Ｆ／Ｅビット＝１は、当該メモリ・ロケーションがデータ書き込み不可であることを示す。
【００７１】
さらに、上記Ｆ／Ｅビット＝０（読み出し不可／書き込み可）の状態において、当該メモリ・ロケーションについて読み出し予約を設定することは可能である。Ｆ／Ｅビット＝０のメモリロケーションに対して読み出し予約を行なう場合には、サブプロセッサ２３は、読み出し予約を行なうメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ２３のサブプロセッサＩＤ及びＬＳアドレスを書き込む。
【００７２】
その後、データ書き込み側のサブプロセッサ２３により、読み出し予約されたメモリ・ロケーションにデータが書き込まれ、Ｆ／Ｅビット＝１（読み出し可／書き込み不可）に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサＩＤ及びＬＳアドレスに読み出される。
【００７３】
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し／書き込みを制御することにより、前段階の処理を行なうサブプロセッサ２３が処理済みのデータをメインメモリ２６上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行なう別のサブプロセッサ２３が前処理後のデータを読み出すことが可能となる。
【００７４】
また、図２（Ｂ）には、各サブプロセッサ２３内のＬＳ２４におけるメモリロケーションを示している。同図に示すように、各サブプロセッサ２３内のＬＳ２４も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
【００７５】
サブプロセッサ２３がメインメモリ２６内のデータを自身のＬＳ２４のメモリロケーションに読み出すときには、対応するビジービットを１に設定して予約する。ビジービットが１であるメモリロケーションには、他のデータは格納することができない。ＬＳ２４のメモリロケーションに読み出し後、ビジービットは０になり、任意の目的に使用できるようになる。
【００７６】
図２（Ａ）に示すように、さらに、各情報処理コントローラと接続されたメインメモリ２６には、メインメモリ２６内の領域を画定する複数のサンドボックスが含まれる。メインメモリ２６は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。各サンドボックスは、サブプロセッサ２３毎に割り当てられ、該当するサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ２３は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行なうことはできない。
【００７７】
さらに、メインメモリ２６の排他的な制御を実現するために、図２（Ｃ）に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のＳＲＡＭのような比較的高速のメモリに格納され、ＤＭＡＣ２５と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサ・キー及びキーマスクが含まれる。
【００７８】
サブプロセッサ２３がメインメモリ２６を使用する際のプロセスは、以下の通りである。まず、サブプロセッサ２３はＤＭＡＣ２５に、読み出し又は書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサＩＤと、使用要求先であるメインメモリ２６のアドレスが含まれる。
【００７９】
ＤＭＡＣ２５は、このコマンドを実行する前にキー管理テーブルを参照し、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、ＤＭＡＣ２５は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ２６内の図２（Ａ）に示したメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、上記のコマンドを実行する。
【００８０】
図２（Ｃ）に示したキー管理テーブル上のキーマスクは、その任意のビットが１になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが０又は１になることができる。
【００８１】
例えば、サブプロセッサキーが１０１０であるとする。通常、このサブプロセッサキーによって１０１０のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが０００１に設定されている場合には、キーマスクのビットが１に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー１０１０によってアクセスキーが１０１０又は１０１１のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００８２】
以上のようにして、メインメモリ２６のサンドボックスの排他性が実現される。すなわち、１つの情報処理コントローラ内に配置された複数のサブプロセッサによってデータを多段階に処理する必要がある場合、前段階の処理を行なうサブプロセッサと、後段階の処理を行なうサブプロセッサのみが、メインメモリ２６の所定アドレスにアクセスできるようになり、データを保護することができる。
【００８３】
このようなメモリの排他制御は、例えば以下のように使用することができる。まず、情報処理装置の起動直後においては、キーマスクの値はすべてゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第１のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第２のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。このような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的の処理を可能にする。
【００８４】
より具体的には、他の情報処理装置からのデータ→第１のサブプロセッサによる処理→第１のメインメモリ領域→第２のサブプロセッサによる処理→第２のメインメモリ領域、という手順で多段階処理が行なわれるときには、以下のような設定のままでは、第２のサブプロセッサは第１のメインメモリ領域にアクセスすることができない。
【００８５】
第１のサブプロセッサのサブプロセッサ・キー：０１００、
第１のメインメモリ領域のアクセス・キー    ：０１００、
第２のサブプロセッサのサブプロセッサ・キー：０１０１、
第２のメインメモリ領域のアクセス・キー    ：０１０１
【００８６】
そこで、第２のサブプロセッサのキーマスクを０００１にすることにより、第２のサブプロセッサによる第１のメインメモリ領域へのアクセスを可能にすることができる。
【００８７】
Ａ−３．ソフトウェアセルの生成及び構成
図１のネットワークシステムでは、情報処理装置１、２、３、４間での分散処理のために、情報処理装置１、２、３、４間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、コマンド、プログラム及びデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【００８８】
図３には、ソフトウェアセルの構成の一例を示している。図示のソフトウェアセルは、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム、及びデータによって構成される。
【００８９】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレス及び当該情報処理装置内の情報処理コントローラの情報処理装置ＩＤ、さらに、当該情報処理装置内の情報処理コントローラが備えるメインプロセッサ２１及び各サブプロセッサ２３の識別子（メインプロセッサＩＤ及びサブプロセッサＩＤ）が含まれる。
【００９０】
送信先ＩＤ及び応答先ＩＤには、ソフトウェアセルの送信先である情報処理装置、及びソフトウェアセルの実行結果の応答先である情報処理装置についての同じ情報がそれぞれ含まれる。
【００９１】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、及び前回のソフトウェアセルＩＤで構成される。
【００９２】
グローバルＩＤは、ネットワーク全体を通して当該のソフトウェアセルを一意的に識別できるものであり、送信元ＩＤと、ソフトウェアセルの作成又は送信の日時（日付及び時刻）に基づいて作成される。
【００９３】
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ２６内及びサブプロセッサ２３のＬＳ２４内のメモリ量が設定される。
【００９４】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００９５】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラム及びデータで構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサ２３によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００９６】
さらに、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、及びステータス返信コマンドが含まれる。
【００９７】
ロードコマンドは、メインメモリ２６内の情報をサブプロセッサ２３内のＬＳ２４にロードするコマンドであり、ロードコマンド自体の他に、メインメモリアドレス、サブプロセッサＩＤ及びＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ２６内の所定領域のアドレスを示す。サブプロセッサＩＤ及びＬＳアドレスは、情報のロード先であるサブプロセッサ２３の識別子及びＬＳ２４のアドレスを示す。
【００９８】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体の他に、サブプロセッサＩＤ及びプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサ２３を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【００９９】
機能プログラム実行コマンドは、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである（後述）。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、機能プログラムＩＤ（後述）によって、起動すべき機能プログラムを識別する。
【０１００】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図６に示す情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ２６にロードされ、メインプロセッサ２１により実行される。
【０１０１】
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【０１０２】
図４には、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示している。
【０１０３】
情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のＩＤを示す。情報処理装置ＩＤは、電源投入時に、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１によって、電源投入時の日時、情報処理装置のネットワークアドレス及び情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３の数などに基づいて生成される。
【０１０４】
情報処理装置種別ＩＤには、当該情報処理装置の特徴を表す値が含まれる。ここで言う情報処理装置の特徴とは、例えば、ハードディスクレコーダ（後述）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブルＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）プレーヤなどである。また、情報処理装置種別ＩＤは、映像音声記録、映像音声再生など、情報処理装置が持つ機能を表すものであってもよい、情報処理装置の特徴や機能を表す値はあらかじめ決められているものとし、情報処理装置種別ＩＤを呼び出すことにより当該情報処理装置の特徴や機能を把握することが可能である。
【０１０５】
ＭＳ（マスター／スレーブ）ステータスは、後述するように情報処理装置がマスター装置又はスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合にはマスター装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。
【０１０６】
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ２１の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ２１で現在動作しているすべてのプログラムについての、メインプロセッサ２１での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるＭＩＰＳ［Ｍｉｌｌｉｏｎ Ｉｎｓｔｒｕｃｔｉｏｎｓ Ｐｅｒ Ｓｅｃｏｎｄ］を単位として算出され、又は単位時間当りのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
【０１０７】
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ２３の数を表す。サブプロセッサＩＤは、当該の情報処理コントローラ内の各サブプロセッサ２３を識別するための識別子である。
【０１０８】
サブプロセッサステータスは、各サブプロセッサ２３の状態を表すものであり、ｕｎｕｓｅｄ、ｒｅｓｅｒｖｅｄ，ｂｕｓｙなどの状態がある。ｕｎｕｓｅｄは、当該サブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。ｒｅｓｅｒｖｅｄは、現在は使用されていないが、予約されている状態を示す。ｂｕｓｙは、現在使用中であることを示す。
【０１０９】
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、又は当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがｂｕｓｙである場合には、現在の使用率を示し、サブプロセッサステータスがｒｅｓｅｒｖｅｄである場合には、後に使用される予定の推定使用率を示す。
【０１１０】
サブプロセッサＩＤ、サブプロセッサステータス及びサブプロセッサ使用率は、１つのサブプロセッサ２３に対して一組設定され、１つの情報処理コントローラ内のサブプロセッサ２３に対応する組数が設定される。
【０１１１】
メインメモリ総容量及びメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ２６の総容量及び現在使用中の容量を表す。
【０１１２】
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部２８の数を表す。外部記録部ＩＤは、当該の情報処理コントローラに接続されている外部記録部２８を一意的に識別する情報である。外部記録部種別ＩＤは、当該の外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表す。
【０１１３】
外部記録部総容量及び外部記録部使用量は、それぞれ外部記録部ＩＤによって識別される外部記録部２８の総容量及び現在使用中の容量を表す。
【０１１４】
外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量及び外部記録部使用量は、１つの外部記録部２８に対して１組設定されるものであり、当該情報処理コントローラに接続されている外部記録部２８の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の外部記録部が接続されている場合、それぞれの外部記録部には異なる外部記録部ＩＤが割り当てられ、外部記録部種別ＩＤ、外部記録部総容量及び外部記録部使用量も別々に管理される。
【０１１５】
Ａ−４ソフトウェアセルの実行
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上述したような構成のソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置及び当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、及び各装置内の情報処理コントローラは、それぞれ、上記の送信元ＩＤ、送信先ＩＤ及び応答先ＩＤによって識別される。
【０１１６】
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、そのソフトウェアセルをメインメモリ２６に格納する。さらに、送信先のメインプロセッサ２１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。
【０１１７】
具体的には、送信先のメインプロセッサ２１は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤ及びＬＳアドレスで特定されるサブプロセッサ内のＬＳ２４の所定領域に情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラム又はデータ、あるいはその他の指示されたデータである。
【０１１８】
次に、メインプロセッサ２１は、キックコマンドを、これに含まれるサブプロセッサＩＤで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタとともに出力する。
【０１１９】
指示されたサブプロセッサは、そのキックコマンド及びプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ２６に格納した後、実行を完了したことをメインプロセッサ２１に通知する。
【０１２０】
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ２３に限定されるものではなく、メインプロセッサ２１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
【０１２１】
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラム及びそのメインメモリ用プログラムによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ２６にメインメモリ用プログラム及びそれによって処理されるデータを記憶させる。
【０１２２】
次に、送信元の情報処理装置は、送信先の情報処理装置宛てに、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサＩＤ、メインメモリ・アドレス、メインメモリ用プログラムを識別するための後述の機能プログラムＩＤなどの識別子、及びプログラムカウンタを含み、ＤＭＡコマンドがキックコマンド又は機能プログラム実行コマンドであるソフトウェアセルを送信し、メインプロセッサ２１に当該メインメモリ用プログラムを実行させる。
【０１２３】
以上のように、本実施形態に係るネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラム又はメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３にロードさせ、当該サブプロセッサプログラム又は当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
【０１２４】
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラム又はメインメモリ用プログラムを実行させる。
【０１２５】
したがって、ユーザが送信先の情報処理装置を操作しなくても、当該サブプロセッサプログラム又は当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラにおいて自動的に実行させることができる。
【０１２６】
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラム又は機能プログラムなどのメインメモリ用プログラムを備えていない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。さらに、各サブプロセッサ間ではＤＭＡ方式によりデータ転送を行ない、また上述したサンドボックスを使用することにより、１つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速且つ高セキュリティに処理を実行することができる。
【０１２７】
Ａ−５．ネットワークシステムとしての分散処理
図５には、複数の情報処理装置が仮想的な１台の情報処理装置として動作している様子を示している。ソフトウェアセルの使用による分散処理の結果、同図の上段に示すように、ネットワーク９に接続されている複数の情報処理装置１、２、３、４は、同図の下段に示すように、仮想的な１台の情報処理装置７として動作する。但し、このような仮想的な動作を実現するためには、以下のような構成によって、以下のような処理が実行される必要がある。
【０１２８】
Ａ−６．システムのソフトウェア構成とプログラムのロード
図６には、個々の情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成を示している。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前に、当該の情報処理コントローラに接続される外部記録部２８に記録されているものである。各プログラムは、機能又は特徴により、制御プログラム、機能プログラム及びデバイスドライバに分類される。
【０１２９】
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ２１が実行するもので、後述のＭＳ（マスター／スレーブ）マネージャ及び能力交換プログラムを含む。
【０１３０】
機能プログラムは、メインプロセッサ２１が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラ毎に情報処理装置に応じたものが備えられる。
【０１３１】
デバイスドライバは、情報処理コントローラ（情報処理装置）の入出力（送受信）用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラ毎に情報処理装置に応じたものが備えられる。
【０１３２】
ケーブルの差し込みなどによって情報処理装置が物理的にネットワーク９に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク９に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、制御プログラムに属する各プログラム、及びデバイスドライバに属する各プログラムを、メインメモリ２６にロードする。
【０１３３】
プログラムのロード手順としては、メインプロセッサ２１は、まず、ＤＣ２７に読み出し命令を実行させることによって、外部記録部２８からプログラムを読み出し、次に、ＤＭＡＣ２５に書き込み命令を実行させることによって、そのプログラムをメインメモリ２６に書き込む。
【０１３４】
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをメモリにロードするように構成してもよく、あるいは他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１３５】
機能プログラムに属する各プログラムは、ネットワークに接続されたすべての情報処理装置の外部記録部２８に記録されている必要はなく、いずれか１つの情報処理装置の外部記録部２８に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図５の下段に示すように、仮想的な１台の情報処理装置７として機能プログラムを実行することができる。
【０１３６】
ここで、前述したようにメインプロセッサ２１によって処理される機能プログラムは、サブプロセッサ２３によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ２１が外部記録部２８から機能プログラムを読み出し、メインメモリ２６に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ２６に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは１個である場合もあるし、複数個であることもあり得る。複数個である場合には、すべての連携動作するサブプロセッサプログラムをメインメモリ２６に書き込むことになる。メインメモリ２６に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ２３内のＬＳ２４に書き込まれ、メインプロセッサ２１によって処理される機能プログラムと連携動作する。
【０１３７】
そして、サブプロセッサプログラムにもサブプロセッサプログラムＩＤが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムＩＤは、連携動作する相手となる機能プログラムの機能プログラムＩＤと関連性のある識別子、例えば機能プログラムＩＤを親番号とした上で最後尾に枝番号を付加させたものなどであることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムＩＤとは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムＩＤを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個あるすべてのサブプロセッサプログラムのサブプロセッサプログラムＩＤを記憶しておくことになる。
【０１３８】
図３のソフトウェアセルに示したように、機能プログラムには、プログラム毎にプログラムを一意的に識別できる識別子が機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【０１３９】
メインプロセッサ２１は、自身が動作する情報処理装置の装置情報（動作状態に関する情報）を格納するための領域をメインメモリ２６に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここで言う装置情報は、図４に示したステータス返信コマンドのデータ領域における情報処理装置ＩＤ以下の各情報である。
【０１４０】
Ａ−７．システムにおけるマスター／スレーブの決定
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、マスター／スレーブマネージャ（以下、ＭＳマネージャ）をメインメモリ２６にロードし、実行する。
【０１４１】
ＭＳマネージャは、自身が動作する情報処理装置がネットワーク９に接続されていることを検知すると、同じネットワーク９に接続されている他の情報処理装置の存在を確認する。ここでの「接続」又は「存在」は、上述したように、情報処理装置が物理的にネットワーク９に接続されているだけでなく、電気的・機能的にもネットワーク９に接続されていることを示す。
【０１４２】
また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。
【０１４３】
ＭＳマネージャが同じネットワーク９に接続されている他の情報処理装置の存在を確認する方法について以下に説明する。
【０１４４】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤ及び応答先ＩＤが当該情報処理装置で、送信先ＩＤを特定しないソフトウェアセルを生成し、当該情報処理装置が接続されたネットワーク上に送信し、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分である。
【０１４５】
当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドで、且つデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報（情報処理装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）、及び当該他装置のＭＳステータスが含まれる。
【０１４６】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、当該装置はスレーブ装置となる。
【０１４７】
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドがまったく受信されなかった場合、又はＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、当該装置はマスター装置となる。
【０１４８】
すなわち、いずれの装置もネットワーク９に接続されていない状態、又はネットワーク９上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク９上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にスレーブ装置として設定される。
【０１４９】
マスター装置及びスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク９上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。この結果、ネットワーク９に接続されている情報処理装置の主電源が遮断され、又はネットワーク９から情報処理装置が切り離されることにより、あらかじめ判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク９に新たな情報処理装置が接続された場合など、ネットワーク９の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
【０１５０】
Ａ−８．マスター装置及びスレーブ装置における装置情報の取得
メインプロセッサ２１は、ＭＳマネージャから、ネットワーク９に接続された他の情報処理装置の照会及び自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０１５１】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている他のすべての情報処理装置についての装置情報、すなわち各スレーブ装置の装置情報を取得する。
【０１５２】
他装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、且つデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０１５３】
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク９に接続されている他のすべての装置（各スレーブ装置）についての装置情報を格納するための領域を自装置のメインメモリ２６に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。すなわち、マスター装置のメインメモリ２６には、自装置を含むネットワーク９に接続されているすべての情報処理装置の装置情報が装置情報テーブルとして記録される。
【０１５４】
一方、能力交換プログラムは、自装置がスレーブ装置である場合には、ネットワーク９に接続されている他のすべての装置についての装置情報、すなわちマスター装置及び自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤ及びＭＳステータスを、自装置のメインメモリ２６に記録する。すなわち、スレーブ装置のメインメモリ２６には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク９に接続されているマスター装置及び各スレーブ装置についての情報処理装置ＩＤ及びＭＳステータスが、別の装置情報テーブルとして記録される。
【０１５５】
また、マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、新たにネットワーク９に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ２６に記録する。
【０１５６】
なお、ＭＳマネージャ及び能力交換プログラムは、メインプロセッサ２１で実行されることに限らず、いずれかのサブプロセッサ２３で実行されてもよい。また、ＭＳマネージャ及び能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１５７】
Ａ−９．情報処理装置がネットワークから切断された場合
マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、ネットワーク９に接続されている情報処理装置の主電源が遮断され、又はネットワーク９から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ２６から削除する。
【０１５８】
さらに、このようにネットワーク９から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
【０１５９】
例えば、ネットワーク９から切断されていない情報処理装置は、それぞれ、自装置及び他装置の情報処理装置ＩＤを数値に置き換え、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク９から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行し、ＭＳステータスを０に設定し、マスター装置として、上述したように、ネットワーク９に接続されている他のすべての情報処理装置（各スレーブ装置）から装置情報を取得して、メインメモリ２６に記録する。
【０１６０】
Ａ−１０．装置情報に基づく分散処理
図５の下段に示したようにネットワーク９に接続されている複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させるためには、マスター装置がユーザの操作及びスレーブ装置の動作状態を把握する必要がある。
【０１６１】
図７には、４台の情報処理装置が仮想的な１台の情報処理装置７として動作する様子を示している。図示の例では、情報処理装置１がマスター装置、情報処理装置２、３、４がスレーブ装置Ａ、Ｂ、Ｃとしてそれぞれ動作しているものとする。
【０１６２】
ユーザがネットワーク９に接続されている情報処理装置を操作した場合、操作対象がマスター装置１であれば、その操作情報はマスター装置１において直接把握される。また、操作対象がスレーブ装置であれば、その操作情報は操作されたスレーブ装置からマスター装置１に送信される。すなわち、ユーザの操作対象がマスター装置１とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行なわれる。
【０１６３】
そして、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、上記の方法によって自装置の外部記録部２８−１、２８−２からメインメモリ２６−１に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）がマスター装置１に機能プログラムを送信してもよい。
【０１６４】
機能プログラムには、その実行単位毎に必要となる、情報処理装置種別ＩＤ、メインプロセッサ又はサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの装置に関する要求スペック（図４を参照のこと）が規定されている。
【０１６５】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、各機能プログラムについて必要となる上記の要求スペックを読み出す。また、あらかじめ能力交換プログラムによってメインメモリ２６−１に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図４に示した情報処理装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリ及び外部記録部に関する情報である。
【０１６６】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ネットワーク９上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
【０１６７】
例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサ又はサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から１つの実行要求候補装置を特定して選択する。
【０１６８】
実行要求するスレーブ装置が特定されたら、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ１１に含まれるメインメモリ２６−１に記録されている当該スレーブ装置の装置情報テーブルを更新する。
【０１６９】
さらに、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ＤＭＡコマンドが機能プログラム実行コマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインターフェースに、当該機能プログラムに関する必要なサブプロセッサの情報及びサンドボックスサイズ（図３を参照のこと）を設定し、上記実行要求されるスレーブ装置に対して送信する。
【０１７０】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上記の方法によって自装置の外部記録部２８からメインメモリ２６に機能プログラム及び当該機能プログラムと連携動作するサブプロセッサプログラムをロードする。
【０１７１】
機能プログラムの実行を要求されたスレーブ装置の外部記録部２８に必要な機能プログラム又は当該機能プログラムと連携動作するサブプロセッサプログラムが記録されていない場合には、他の情報処理装置が当該機能プログラム又はサブプロセッサプログラムをその機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
【０１７２】
サブプロセッサプログラムについては、前述のロードコマンド及びキックコマンドを利用して他の情報処理装置に実行させることもできる。
【０１７３】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、終了通知をマスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
【０１７４】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、自装置及び他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置１が当該の機能プログラムを実行する。
【０１７５】
図７に示した例で、ユーザがスレーブ装置Ａ（情報処理装置２）を操作し、当該操作に応じた機能プログラムを別のスレーブ装置Ｂ（情報処理装置３）が実行する場合の分散処理について、図８を参照しながら説明する。
【０１７６】
図８に示す例では、ユーザがスレーブ装置Ａを操作することにより、スレーブ装置Ａを含むネットワークシステム全体の分散処理が開始し、まず、スレーブ装置Ａは、その操作情報をマスター装置１に送信する（ステップ８１）。
【０１７７】
マスター装置１は、その操作情報を受信し（ステップ７２）、さらに自装置のメインメモリ２６−１に記録されている自装置及び他装置の装置情報テーブルから各情報処理装置の動作状態を調べ、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する（ステップ７３）。図示の例では、スレーブ装置Ｂが選択される場合を示している。
【０１７８】
次に、マスター装置１は、その選択したスレーブ装置Ｂに対して機能プログラムの実行を要求する（ステップ７４）。
【０１７９】
スレーブ装置Ｂは、その実行要求を受信し（ステップ９５）、さらに、実行要求された機能プログラムを実行する（ステップ９６）。
【０１８０】
以上のように、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させることができる。
【０１８１】
Ａ−１１．各情報処理装置及びシステムの具体例
ネットワーク９を介して互いに接続される情報処理装置１、２、３、４は、上記のような情報処理コントローラ１１、１２、１３、１４によって情報処理を行なうものであれば、基本的にはどのような構成でもよい。図９には、情報処理装置の一構成例を示している。
【０１８２】
情報処理コントローラ１１を備える情報処理装置１の一例は、ハードディスクレコーダである。図１０並びに図１１には、同図中のハードディスクレコーダのハードウェア構成及びソフトウェア構成をそれぞれ示している。ハードディスクレコーダのハードウェア構成としては、図１に示した外部記録部２８−１としてハードディスクを内蔵し、図１に示した外部記録部２８−２としてＤＶＤ±Ｒ／ＲＷ、ＣＤ±Ｒ／ＲＷ、Ｂｌｕｒａｙ−Ｄｉｓｃ（登録商標）などの光ディスクを装着できるように構成されるとともに、情報処理コントローラ１１のバス２９−１に接続されたバス３１−１に、放送受信部３２−１、映像入力部３３−１、音声入力部３４−１、映像出力部３５−１、音声出力部３６−１、操作パネル部３７−１、リモコン受光部３８−１及びネットワーク接続部３９−１が接続されている。
【０１８３】
放送受信部３２−１、映像入力部３３−１及び音声入力部３４−１は、放送信号を受信し、又は情報処理装置１の外部から映像信号及び音声信号を入力し、それぞれ所定フォーマットのデジタルデータに変換し、情報処理コントローラ１１での処理のためにバス３１−１に送出する。映像出力部３５−１及び音声出力部３６−１は、情報処理コントローラ１１からバス３１−１に送出された映像データ及び音声データを処理して、デジタルデータのまま、又はアナログ信号に変換して、情報処理装置１の外部に送出するものであり、リモコン受光部３８−１は、リモコン送信器４３−１からのリモコン（遠隔操作）赤外線信号を受信する。
【０１８４】
図９及び図１０に示すように、情報処理装置（ハードディスクレコーダ）１の映像出力部３５−１及び音声出力部３６−１には、モニタ表示装置４１及びスピーカ装置４２が接続される。
【０１８５】
図９に例示した情報処理コントローラ１２を備える情報処理装置２も、ハードディスクレコーダで、図１０において括弧内に参照番号を付して示すように、情報処理装置１と同様に構成される。但し、図９に示すように、情報処理装置（ハードディスクレコーダ）２には、モニタ表示装置及びスピーカ装置は接続されない。
【０１８６】
情報処理装置（ハードディスクレコーダ）１及び２、すなわち情報処理コントローラ１１及び１２のソフトウェア構成としては、図１１に示すように、制御プログラムとして、ＭＳマネージャ及び能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、素材検索及び番組録画予約のためのプログラムを備え、デバイスドライバとして、放送受信、映像出力、音声出力、外部記録部入出力及びネットワーク入出力のためのプログラムを備える。
【０１８７】
また、情報処理コントローラ１３を備える情報処理装置３の他の例は、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）である。図１２には、ＰＤＡとして構成される情報処理装置３のハードウェア構成を示している。同図に示す例では、図１に示した外部記録部２８−５として、メモリカードディスクを装着できるように構成され、情報処理コントローラ１３のバス２９−３に接続されたバス５１に、液晶表示部５２、音声出力部５３、カメラ部５４、音声入力部５５、キーボード部５６及びネットワーク接続部５７が接続されている。
【０１８８】
なお、図１では内部を省略した情報処理コントローラ１３は、メインプロセッサ２１−３、サブプロセッサ２３−７、２３−８、２３−９、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−３、ＤＣ（ディスクコントローラ）２７−３及びバス２９−３を備え、そのメインプロセッサ２１−３は、ＬＳ（ローカル・ストレージ）２２−３を有し、各サブプロセッサ２３−７、２３−８、２３−９は、ＬＳ（ローカル・ストレージ）２４−７、２４−８、２４−９を備えている。
【０１８９】
また、図１３には、情報処理装置（ＰＤＡ）３、すなわち情報処理コントローラ１３のソフトウェア構成を示している。同図に示すように、制御プログラムとして、ＭＳマネージャ及び能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、電話帳、ワープロ及び表計算のためのプログラム、及びＷｅｂブラウザを備え、デバイスドライバとして、映像出力、音声出力、カメラ映像入力、マイク音声入力及びネットワーク入出力のためのプログラムを備えている。
【０１９０】
また、情報処理コントローラ１４を備える情報処理装置４は、ポータブルＣＤプレーヤである。図１４には、ポータブルＣＤプレーヤのハードウェア構成を示している。図示の例では、ポータブルＣＤプレーヤは、図１に示した外部記録部２８−６として、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）を装着できるように構成され、情報処理コントローラ１４のバス２９−４に接続されたバス６１に、液晶表示部６２、音声出力部６３、操作ボタン部６４及びネットワーク接続部６５が接続されている。
【０１９１】
なお、図１では内部を省略した情報処理コントローラ１４は、メインプロセッサ２１−４、サブプロセッサ２３−１０、２３−１１、２３−１２、ＤＭＡＣ２５−４、ＤＣ２７−４及びバス２９−４を備え、そのメインプロセッサ２１−４は、ＬＳ２２−４を有し、各サブプロセッサ２３−１０、２３−１１、２３−１２は、ＬＳ２４−１０、２４−１１、２４−１２を有する。
【０１９２】
図１５には、情報処理装置（ポータブルＣＤプレーヤ）４、すなわち情報処理コントローラ１４のソフトウェア構成を示している。図示のように、制御プログラムとして、ＭＳマネージャ及び能力交換プログラムを備え、機能プログラムとして、音楽再生のためのプログラムを備え、デバイスドライバとして、音声出力、ＣＤ制御及びネットワーク入出力のためのプログラムを備える。
【０１９３】
図９に例示したネットワークシステムでは、情報処理装置１、３及び４がネットワーク９上に接続されており、情報処理装置１がマスター装置（ＭＳステータス＝０）として、情報処理装置３及び４がスレーブ装置（ＭＳステータス＝１）として、設定されているものとする。
【０１９４】
この状態で、新たに情報処理装置２がネットワーク９に接続されると、上述した方法によって、情報処理装置２内の情報処理コントローラ１２に含まれるメインプロセッサ２１−２で実行されているＭＳマネージャは、他の情報処理装置１、３及び４にＭＳステータスを照会して、情報処理装置１が既にマスター装置として存在することを認識し、自装置（情報処理装置２）をスレーブ装置（ＭＳステータス＝１）に設定する。また、マスター装置に設定されている情報処理装置１は、新たに追加された情報処理装置２を含む各装置の装置情報を収集して、メインメモリ２６−１内の装置情報テーブルを更新する。
【０１９５】
このような状態で、ユーザによってスレーブ装置である情報処理装置（ＰＤＡ）３で２時間の放送番組を録画予約するための操作が行なわれた場合について、以下に説明する。
【０１９６】
この場合、スレーブ装置である情報処理装置（ＰＤＡ）３は、ユーザから録画開始時刻、録画終了時刻、録画対象放送チャネル、録画品質などの情報を含む録画予約情報の入力を受け付け、当該録画予約情報及びＤＭＡコマンドとしての録画予約コマンドを含むソフトウェアセルを生成して、マスター装置である情報処理装置１に送信する。
【０１９７】
ＤＭＡコマンドが録画予約コマンドであるソフトウェアセルを受信した情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、録画予約コマンドを読み出すとともに、メインメモリ２６−１内の装置情報テーブルを参照し、当該録画予約コマンドを実行可能な情報処理装置を特定する。
【０１９８】
まず、メインプロセッサ２１−１は、装置情報テーブルに含まれる各情報処理装置１、２、３、４の情報処理装置種別ＩＤを読み出して、録画予約コマンドに対応する機能プログラムを実行可能な情報処理装置を抽出する。ここでは、録画機能を示す情報処理装置種別ＩＤを有する情報処理装置１、２が候補装置として特定され、情報処理装置３、４は候補装置から除外される。
【０１９９】
次に、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、装置情報テーブルを参照して、情報処理装置１、２のメインプロセッサ又はサブプロセッサの処理能力、メインメモリに関する情報などの装置に関する情報を読み出し、情報処理装置１、２が録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するか否かを判断する。ここでは、情報処理装置１、２とも、録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するものとする。
【０２００】
さらに、メインプロセッサ２１−１は、装置情報テーブルを参照して、情報処理装置１、２の外部記録部に関する情報を読み出し、外部記録部の空き容量が当該録画予約コマンドの実行に必要な容量を満足するか否かを判断する。情報処理装置１、２はハードディスクレコーダであるので、それぞれハードディスク２８−１、２８−３の、総容量と使用量との差分が、それぞれの空き容量に相当する。
【０２０１】
この場合、情報処理装置１のハードディスク２８−１の空き容量が、録画時間に換算して１０分であり、情報処理装置２のハードディスク２８−３の空き容量が、録画時間に換算して２０時間であるとする。
【０２０２】
このとき、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、当該録画予約コマンドの実行に必要な２時間分の空き容量を確保できる情報処理装置を、実行要求先スレーブ装置として特定する。
【０２０３】
その結果、情報処理装置２のみが実行要求先スレーブ装置として選択され、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ユーザにより操作された情報処理装置３から送信された録画予約情報を含む当該録画予約コマンドを情報処理装置２に送信して、上記２時間の放送番組の録画予約の実行を要求する。
【０２０４】
そして、情報処理装置２内の情報処理コントローラ１２に含まれるメインプロセッサ２１−２は、当該録画予約コマンドを解析して、録画に必要な機能プログラムを外部記録部であるハードディスク２８−３からメインメモリ２６−２にロードし、録画予約情報に従って録画を実行する。その結果、録画予約された２時間の放送番組の映像音声データが情報処理装置２のハードディスク２８−３に記録される。
【０２０５】
このように、図９の例のネットワークシステムにおいても、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させることができる。
【０２０６】
Ｂ．ユーザの位置情報から静粛性の高い機器を自動的に選択するシステム
上述したように、グリッドコンピューティングシステムでは、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の機器として動作する。
【０２０７】
ここで、情報処理装置は、オペレーション中に、室内の環境や雰囲気に影響を与える。例えば、ハードディスクのアクセス動作時にはドライブモータの回転により騒音を発生し静粛性が阻害される。
【０２０８】
前項Ａで説明した機器間連携動作を行なうシステムでは、システムを構成する各機器の余剰の処理能力に基づいて命令された機能を実行する情報処理装置を動的に選択して分散処理を行なうことができるが、この選択時において、装置動作のノイズレベルやユーザが現在いる部屋などを考慮することで、オペレーション時におけるシステムを操作し利用するユーザへ静粛性などの影響を低減することができる。
【０２０９】
本実施形態では、家庭内の各部屋に、ＤＶＤプレーヤやＨＤＤレコーダ、ゲームプレーヤなどのＣＥ機器がホームネットワークに接続され協調動作が可能となっているシステム構成において、機器選択の指標として静粛性の高いもの（すなわち、騒音の少ない機器）を選択する仕組みを導入するとともに、これをＧＵＩ表示する表示装置を装備する。
【０２１０】
したがって、ユーザは、専用のＧＵＩ画面を介して、物理的な部屋の配置と、各機器の設置場所及び機器がそれぞれ持つ機能をマッピングすることができる。さらに、ユーザが要求した機能を実現するときには、ユーザの物理的な位置情報を考慮して、ユーザにとってノイズの小さくなる機器を自動的に選択することにより、分散された機器同士の機能補完による騒音発生空間の分散化を図るようになっている。
【０２１１】
図１６には、本実施形態に係るネットワーク構成例を模式的に示している。図示のように、ＤＶＤプレーヤやＨＤＤレコーダ、ゲームプレーヤなどの複数の情報処理装置は、家庭内の各部屋に配置され、空間的に離れているが、ホームネットワーク経由で相互接続されている。各情報処理装置は、例えば図１０、図１２、並びに図１４に示したように、メインプロセッサと、専用のローカルストレージを備えた複数のサブプロセッサからなるマルチプロセッサ構成の情報処理コントローラを備え、ネットワーク経由で互いの連携動作により仮想的に１台の情報処理装置として動作することができる。
【０２１２】
各部屋＃１〜＃４には、音響や映像などを表示並びに発音することが可能な、情報表示装置若しくは発音装置（例えば、ＴＶ、ＬＣＤモニタ、スピーカ）と、映像・音声などを記録、再生することが可能な情報記録再生装置（例えば、ＤＶＤレコーダ、ゲームプレーヤ、ＨＤＤ／ＭＳ再生装置など）が設置されている。
【０２１３】
各部屋に設置されているこれらの機器は、単一のネットワーク（例えば、ＬＡＮやＩＥＥＥ１３９４などで構築されるホームネットワーク）によって接続されている。各機器は複数の入出力チャネル（例えばＴＶの場合、映像並びに音声入力１、入力２など）の回路を備えているが、機器間でのデータのやり取りには、接続されているネットワークのみで行なう。
【０２１４】
ネットワークには、上述したような機器だけではなく、各々の機器が持つ状態や属性などに関する情報を統括的若しくは一元的に管理するホームサーバも接続されている。
【０２１５】
ここで言う機器が持つ情報としては、例えば、当該機器の電源がオン又はオフいずれの状態であるか（若しくはオペレーション中であるか）、どのようなタイプの機器であるか、あるいは機器が提供可能な機能（例えば、コンテンツの記録機能、再生機能、記録又は再生可能なメディアの種類、表示出力機能、チューナの装備など）、機能を利用する際（例えば、ディスクの記録面へアクセスするときなどオペレーション中）に発生するノイズレベルなどが挙げられる。ノイズレベルは例えばあらかじめ計測しておく。ノイズレベルは、機器の種類や、機器が実行する機能毎に異なるので、これらの情報を付けてノイズレベルを記述する。ノイズレベルの記述例を以下に示しておく。
【０２１６】
ＤＶＤディスク再生時：１０ｄＢ
ハードディスク記録時：４０ｄＢ
ＤＶＤ書き込み時  等倍：２０ｄＢ，１２倍速：３０ｄＢ
【０２１７】
各部屋に設置されている機器は、上述したような情報を当該機器のプロファイル情報として保持しておく。例えば、機器を製造する各メーカにおいて、これらの情報を静的情報として機器内のメモリに書き込んでおく。
【０２１８】
ホームサーバは、ネットワークを介して各機器が持つ情報を取得し、各部屋に配設されているリモートコントローラへ送信する。リモートコントローラは、受信した情報を基に、室内の表示画面に接続状況を視覚的に表示する。
【０２１９】
ユーザは、ホームネットワークの初期設定として、専用のＧＵＩを用いて、各部屋の物理的な位置と部屋毎の機器のマッピングを行なう。図１７には、機器と物理的な各部屋のマッピングを行なうためのＧＵＩ画面の構成例を示している。
【０２２０】
図示のＧＵＩ画面は、ホームネットワークを表示するメインウィンドウとしてのワークエリアを備え、その基本的な機能として、家庭内に設置されている各機器をアイコンで表示し、その物理的な配置を示すとともに、機器間の論理的な接続経路を表示することができる。
【０２２１】
初期設定を行なうユーザは、ＧＵＩ画面内では、カーソルを用いて、アイコンの選択や、選択したアイコンのドラッグ＆ドロップなど、一般的なＰＣにおけるＧＵＩ環境と同等のカーソル操作を行なうことができる。
【０２２２】
ツールバーには、ワークエリア内で、階数や部屋など物理的な配置をワークエリア内で指定するためのツールボタン若しくはアイコンが並べられている。ユーザは、カーソルアイコンを用いて、このツールバーの中から所望のアイコンを選び、ドラッグ＆ドロップすることで、ワークエリア内に部屋と機器のマッピングを行なうことができる。
【０２２３】
例えば、“Ｒｏｏｍ”アイコンをカーソルで選択した後、ワークエリア内で四角の枠を描くことにより、部屋を設定することができる。したがって、ユーザは市販されている描画ソフトウェアの図を描くような感覚で四角の枠を描くことができる。また、その四角の枠で機器アイコンを囲むことにより、機器の物理的な配置を設定することが可能になる。また、階数アイコンを四角の枠の中にドロップし、“Ｒｏｏｍ”で区切られたセクションの中に部屋の階数を表すアイコンを貼り付けることにより、その機器がどの階数に位置しているかを設定することができる。
【０２２４】
また、同図中右上のＶｉｅｗアイコンを操作することで、ワークエリア内の表示形態を２次元、又は３次元のいずれか一方に設定・変更することができる。
【０２２５】
ユーザは、最初にホームネットワークを構築したときや、いずれかの部屋で機器の増設又は撤去を行ない、部屋における機器構成が変化したときなどに、上述したような初期設定手続きを行なう。
【０２２６】
物理的な配置が設定されている各機器では、初期設定手続きによりユーザが設定した機器の位置情報と、各機器が機能毎に持つノイズ情報など機器毎に保持している機能や属性に関する情報とを併せて、プロファイル情報として管理している。プロファイル情報の記述例を以下に示している。
【０２２７】
□ＩＤ：００１
□製品カテゴリ（Ｃａｔｅｇｏｒｙ）：ＤＶＤ／ＨＤＤ記録再生装置
□製品名（Ｎａｍｅ）：ＤＥＳＲ−７０００
□電源状態（Ｐｏｗｅｒ）：オン
□入力ポート＃１：利用可能（Ａｖａｉｌａｂｌｅ）
□入力ポート＃２：使用中（Ｕｓｅｄ［ｃｏｎｎｅｃｔｅｄ  ｔｏ  ＩＤ００２  ＯＵＴＰＵＴ＃１］）
□配置場所（Ｌｏｃａｔｉｏｎ）：Ｒｏｏｍ＃１
□ノイズレベル
■ＤＶＤ再生時：２０ｄＢ
■ＤＶＤ記録時：標準速  １０ｄＢ，  最大速４０ｄＢ
■ＨＤＤ再生時：３０ｄＢ
■ＨＤＤ記録時：５０ｄＢ
【０２２８】
上記の例では、プロファイル情報は、ホームネットワーク上の識別情報ＩＤ、機器カテゴリや製品名、電源オン／オフなどの現在のオペレーション状態、入力ポート毎の接続状態、配置場所、動作状態毎のノイズレベルで構成される。機器カテゴリや製品名、動作状態毎のノイズレベルは製造元により出荷前にあらかじめ与えられており、例えば情報処理装置内の不揮発性メモリに書き込まれている。また、識別情報ＩＤや入力ポートの接続状態並びに接続先、配置場所は、初期設定により割り当てられる。
【０２２９】
各機器は、このようなプロファイル情報を、例えば定期的にホームサーバへ送信する。また、情報処理装置の電源がオンになったときや、プロファイル情報が変更になった場合は直ちに情報をホームサーバへ送信する。
【０２３０】
そして、ホームサーバ側では、各情報処理装置から送られてきたプロファイル情報を集計し、所定の機能抽出プログラムを実行して、各プロファイル情報内のカテゴリ項目をスキャンし、機能ユニットを逐次抽出することにより、ホームネットワーク上の機器を機能若しくはカテゴリに分類し、機能ユニット管理テーブルに登録して管理している。機能ユニット管理テーブルの構成例を以下に示しておく。
【０２３１】
【表１】
2005339174.tif 000003
【０２３２】
上表の例では、機能ユニットすなわちカテゴリ毎にエントリが設けられ、各エントリには、機能ユニット若しくはカテゴリ名と、当該機能ユニット若しくはカテゴリを装備する情報処理装置の識別情報ＩＤが記載されている。ここで、複数の機能ユニット若しくはカテゴリを備える情報処理装置は、機能ユニット管理テーブル上で該当する複数のエントリにまたがって登録される。例えばＩＤ００１の機器は、ＤＶＤ記録再生とＨＤＤ記録再生の双方の機能ユニットを備えていることから、双方のエントリに登録されている。
【０２３３】
図１８には、各部屋に設置されている機器とホームサーバとのホームネットワーク上での動作シーケンスを示している。
【０２３４】
ホームサーバ並びに各機器では、ＭＳマネージャから、ホームネットワークに接続された他の情報処理装置の照会及び自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０２３５】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている他のすべての情報処理装置についての装置情報、すなわち各スレーブ装置の装置情報を取得する。図示の例では、ホームサーバがマスター装置であり、各部屋に配置されている機器がスレーブ装置として動作しており、各スレーブ装置は上記のプロファイル情報を転送する。
【０２３６】
ホームサーバによる他装置のプロファイル情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、且つデータとして他装置のプロファイル情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０２３７】
なお、各機器が初期設定により入力された配置場所情報をプロファイル情報に含めてホームサーバに送信するのは一例に過ぎない。例えば、図１８中の※１で示すように、図１７に示したＧＵＩ画面操作により入力される機器の位置情報を直接ホームサーバに送信するようにしてもよい。これに対し、ホームサーバからは、送信元の機器に対し初期設定完了通知が返信される。
【０２３８】
そして、ホームサーバ側では、各機器から送られてきたプロファイル情報を集計し、所定の機能抽出プログラムを実行して、各プロファイル情報内のカテゴリ項目をスキャンし、機能ユニットを逐次抽出することにより、ホームネットワーク上の機器を機能若しくはカテゴリに分類し、上述した機能ユニット管理テーブルを生成する。
【０２３９】
図１９には、機能抽出プログラムによりネットワーク上で提供される機能を抽出するための処理手順をフローチャートの形式で示している。
【０２４０】
まず、各機器から受信したプロファイル情報のカテゴリ項目をすべて参照し、そこの項目を全て抜き出した機能ユニットリストを作成する（ステップＳ１０１）。例えば、｛ＴＶ，ＴＶ，ＤＶＤ ｐｌａｙ＆ｒｅｃ，ＨＤＤ ｐｌａｙ＆ｒｅｃ，Ｇａｍｅ Ｐｌａｙｅｒ，ＨＤＤ Ｐｌａｙ＆ｒｅｃ｝という具合に機能ユニットリストが作成される。
【０２４１】
次いで、作成した機能ユニットリストの中で重複しているものは削除する（ステップＳ１０２）。上記の例で言えば、重複したカテゴリ項目が削除され、機能ユニットリストは、｛ＴＶ，ＤＶＤ ｐｌａｙ＆ｒｅｃ，ＨＤＤ ｐｌａｙ＆ｒｅｃ，Ｇａｍｅ Ｐｌａｙｅｒ｝のようになる。
【０２４２】
ここで、各機器のプロファイル情報の属性すなわちカテゴリ項目を参照し、作成した機能ユニットリストの項目と比較する（ステップＳ１０３）。そして、機能ユニットリスト内に合致する項目に該当するＩＤを付与する（ステップＳ１０４）。このような処理をすべてのプロファイル情報を参照するまで繰り返す（ステップＳ５）。この結果、例えば、｛ＴＶ（００１，００３），ＤＶＤ ｐｌａｙ＆ｒｅｃ（００２， ００４），ＨＤＤ ｐｌａｙ＆ｒｅｃ（００２，００４），Ｇａｍｅ Ｐｌａｙｅｒ（００４）｝といった機能ユニットリストが抽出される。
【０２４３】
ユーザは、ホームネットワーク上で自分が利用可能な機能ユニットを知りたいことがある。このような場合、現在自分がいる部屋に設置されている機器をリモコンで操作し、ホームネットワーク経由でホームサーバに対し機能ユニット管理テーブルを要求する。これに対し、ホームサーバは、機能ユニット管理テーブルを返信する。そして、機器側では、受信した機能ユニット管理テーブルに対し、所定のＧＵＩ表示プログラムを実行することで、ホームネットワーク上で利用可能な機能を表示するＧＵＩ画面を生成し、ユーザに提示する。
【０２４４】
図２０には、ホームネットワーク上で利用可能な機能を表示するＧＵＩ画面の構成例を示している。同図に示すＧＵＩ画面には、情報表示・出力装置を表示する領域と、情報記録・再生装置を表示する領域が設けられている。
【０２４５】
リモートコントローラは、ホームサーバから受信した機能ユニット管理テーブルから該当する項目をスキャンする。そして、その項目があれば、ユーザに対する情報表示・出力装置（例えばＴＶやスピーカーなど）を表示する領域に出力する。
【０２４６】
情報表示・出力装置を表示する領域には、情報表示・出力装置の機能を抽象化した機能アイコンを表示する。図２０に示す例では、ＴＶアイコンが配置されている。実際、このアイコンには機能ユニット管理テーブルにより複数の機器（識別情報ＩＤ）がマッピングされて場合が存在するが、アイコンは１つだけしか表示されない。たとえ部屋の中にＴＶが２台以上存在しても（すなわち、機能ユニット管理テーブル上には２台以上の機器がＴＶにマッピングされていても）、当該機能アイコンは１つしか表示されない。
【０２４７】
情報記録・再生装置を表示する領域には、ＤＶＤプレーヤやゲームプレーヤなどの情報の記録若しくは再生を行なう装置の機能アイコンを表示する。上述と同様に、リモートコントローラは、ホームサーバから受信した機能ユニット管理テーブルから該当する項目をスキャンする。そして、その項目があれば、ユーザに対する情報表示・出力装置（例えばＴＶやスピーカーなど）を表示する領域に出力する。
【０２４８】
情報記録・再生装置を表示する領域には、情報記録・再生装置の機能だけを抽象化したアイコンを表す。この機能アイコンには、実際には複数の情報記録・再生装置がマッピングされる場合が存在するが、アイコンは１つか表示されない。図２０に示す例では、ゲームプレーヤ、ＤＶＤプレーヤ／レコーダ、並びにＨＤＤプレーヤ／レコーダのアイコンがそれぞれ１つずつ表示されているが、これはホームネットワーク上に少なくとも１台存在することを意味し、１つのアイコンに複数台の該当装置がマッピングされていることもある。
【０２４９】
図２０に示したＧＵＩ画面上では、カーソルを用いてアイコンの選択や、選択したアイコンのドラッグ＆ドロップなど、一般的なＰＣにおけるＧＵＩ環境と同等のカーソル操作を行なうことができる。
【０２５０】
また、図示のＧＵＩ画面上では、利用する機能のアイコン間を、カーソルを用いて線を引くことで、各機器が持つ入出力チャネル経路を設定し、機能を実現する機器間での物理的な接続が確立される。図示の例では、テレビなどの情報表示装置と、ＤＶＤプレーヤなど情報記録・再生装置の機能ユニットとの接続することを示す論理的な接続路が表示されているが、該当する機器の入出力チャネル経路も確立されている。ユーザは、カーソルを用いてアイコン同士を選択することにより、簡単に表示装置と機能をリンクすることが可能となる。
【０２５１】
また、図２０に示すＧＵＩ画面上では、機能アイコンに対しカーソル操作を印加することにより、該当する機器に対し操作コマンドを発行することができる。例えば、ＴＶアイコンを選択することに応答して、リモートコントローラからの赤外線通信によりコマンドを部屋に置かれているＴＶが受信すると、ＴＶのスイッチが電源オンになる。
【０２５２】
このとき、ＴＶからホームサーバに対し電源オンを記述したプロファイル情報が転送される。２台以上のＴＶが設置されている場合であっても、ホームサーバからはどのＴＶが起動したかが判るので、ユーザの居場所を把握することができる。
【０２５３】
以上説明してきた、初期設定、プロファイル情報の収集、プロファイル情報からの機能ユニットの抽出という各処理ステップを経て、ホームネットワークに接続されている各機器を、機器、物理的ロケーション、機能ユニットという論理レベルの異なる３階層にマッピングすることができる。
【０２５４】
図２１には、ホームネットワーク上の機器を、機器、物理的ロケーション、並びに機能ユニットの各階層にマッピングした様子を示している。
【０２５５】
最も上位層は、ユーザが初期設定などを行なった後に操作するために使用する、図２０に示したＧＵＩ画面を構成する。このＧＵＩ画面には、左側に情報表示装置のアイコンが、右側には情報記録・再生装置の機能アイコンが表示される。ユーザは、左側のアイコンと右側のアイコンとをカーソルを用いて線で繋ぐことにより、その機器の機能を利用することができる。
【０２５６】
図２１に示すように、上位層に配置されている各アイコンは、実際には、複数の論理的な機器アイコンとマッピングされている。同図に示す例では、最も上位層のＴＶアイコンは、Ｒｏｏｍ＃１にあるＴＶ＃１と、Ｒｏｏｍ＃２にあるＴＶ＃２の２つとマッピングされている。このマッピングは、機能ユニット管理テーブルにより実現される。
【０２５７】
続く第２の階層では、各機器とその位置、並びにノイズレベルをマッピングしている。第２の階層では、初期設定によってユーザにより、各機器が該当する位置にマッピングされる。ユーザにより機器の位置がマッピングされた後、その位置情報と各機器固有の情報がプロファイル情報として交換されることで、第２の階層はマッピングされる。
【０２５８】
上記の最上位層と第２の階層は、機器を論理的にマッピングしており、単一のオブジェクトに対し複数のオブジェクトがマッピングされる。これに対し、第２の階層と最も下位層では、論理的なオブジェクトと、物理的な機器が一対一で対応する。
【０２５９】
初期設定完了後、ユーザが表示デバイスを用いて利用する機器を選択するときに、本実施形態では、ノイズレベルの低い機器を自動的に選択するようになっているが、その処理シーケンスについて、以下に説明する。
【０２６０】
まず、ユーザは、初期設定が終了したＧＵＩ画面（最も上位層）を用いて、情報表示・出力装置のアイコン（例えば、ＴＶ）と機能アイコン（例えばＤＶＤプレーヤ）を線で繋ぐ。
【０２６１】
ユーザがＧＵＩ画面上でＴＶアイコンをカーソルを用いてクリックすると、表示デバイス（リモートコントローラ）の赤外線インターフェースよりコマンドが発行される。ＴＶ側でこのコマンドを受信すると、その電源がオンになる。このとき、ＴＶのプロファイル情報が変更され、ホームサーバに送信される。したがって、ホームサーバでは、どの部屋にマッピングされているＴＶが起動したかを判別することができ、これによってユーザの位置を特定することができる。
【０２６２】
ホームサーバは、ユーザが指定した表示装置と、利用可能な機能を持った記録・再生装置の中から、ノイズレベルの低いものを自動的に選択する。そして、入出力チャンネルの経路を設定するプロファイル情報を該当する機器に送信する。
【０２６３】
以下では、ユーザが選択した機能を実現する機器を自動選択するための処理手順について説明する。
【０２６４】
選択された機能が、単一の機器のみしか利用できない場合、すなわち機能ユニット管理テーブル内において、選択された機能ユニットのエントリに対して単一のＩＤのみが割り当てられている場合には、そのＩＤで識別される機器を利用して選択された機能を実現することにする。
【０２６５】
これに対し、選択された機能が、複数の機器で利用可能な場合、すなわち機能ユニット管理テーブル内において、選択された機能ユニットのエントリにおいて複数のＩＤが割り当てられている場合には、以下の指標に従って選択を行なう。
【０２６６】
（１）選択された機能を持った機器が１つ以上で、ユーザがいる部屋とは別の場所にある場合には、別の部屋にある機器の中で最もノイズレベルの低い機器を選択する。
（２）選択された機能を持った別の部屋にある機器のノイズレベルが同一の場合には、ユーザの部屋より最も遠い機器を選択する。ここで、部屋の遠さを選択する指標は、１．階数、２．部屋の壁数で決定する。
【０２６７】
（３）選択された機能を持った機器が、すべてユーザがいる部屋と同じ場所にある場合には、その機器の中で、最もノイズレベルの低いものを選択する。
（４）選択された機能を持った機器がすべてユーザのいる部屋と同じで、ノイズレベルも同一の場合には、ランダムでいずれかを選択する。
【０２６８】
Ｃ．温度を平準化させるように機器を自動的に選択するシステム
上述したように、グリッドコンピューティングシステムでは、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の機器として動作する。
【０２６９】
ここで、演算処理中には装置内のプロセッサの稼働率が上昇することに伴い、発熱量が増し室温が上がる。このとき、半導体を高温環境下におくと、故障率が増大し、あるいは動作低下の原因となるから、放熱や冷却のためにファンモータを稼動しなければならないが、送風音などのノイズにより情報処理装置が稼動中の室内の静粛性が阻害される。
【０２７０】
前々項Ａで説明した機器間連携動作を行なうシステムでは、システムを構成する各機器の余剰の処理能力に基づいて命令された機能を実行する情報処理装置を動的に選択して分散処理を行なうことができるが、この選択時において、ネットワーク上の装置間で半導体素子の動作制限の要因となる温度が平準化させることを考慮することで、システム全体の信頼性が向上するとともに、パフォーマンス低下の回避を実現することができる。また、半導体用及び装置筐体用の冷却ファンをむやみに稼動することなく、静粛性などの影響を低減することができる。
【０２７１】
図２２には、本実施形態に係るネットワーク構成例を模式的に示している。図示のように、ＤＶＤプレーヤやＨＤＤレコーダ、ゲームプレーヤなどの複数の情報処理装置は、家庭内の各部屋に配置され、空間的に離れているが、ホームネットワーク経由で相互接続されている。各情報処理装置は、例えば図１０、図１２、並びに図１４に示したように、メインプロセッサと、専用のローカルストレージを備えた複数のサブプロセッサからなるマルチプロセッサ構成の情報処理コントローラを備え、図２２では説明の便宜上、簡素化して描いている。各装置の、各装置が備える情報処理コントローラ、情報処理コントローラ内のメインプロセッサ及びサブプロセッサはネットワークを介して接続された時点で、固有のＩＤがそれぞれ割り振られ、ソフトウェアセルをやりとりすることで分散処理（機器間通信）  が実現され、ネットワーク経由で互いの連携動作により仮想的に１台の情報処理装置として動作する。
【０２７２】
本実施形態では、各情報処理装置は、主要な発熱源である装置内のプロセッサの温度を計測する温度センサと、このプロセッサ又は装置筐体内を冷却する冷却ファンが装備されている。ここで言うプロセッサは、情報処理コントローラを指してもよいし、装置内の他の情報処理ユニットを指してもよい。
【０２７３】
各情報処理装置は、それぞれ一定間隔で自身のプロセッサ温度を取得し、その値が冷却ファン稼動のいずれかの閾値を超えた場合、温度に該当する回転数で冷却ファンを稼動させ温度上昇を回避する。冷却ファン稼動の閾値は数段階に分かれており、それぞれに対応するファン回転数［ｒｐｍ］が定義されている。
【０２７４】
図３を参照しながら既に説明したように、本実施形態に係るシステムでは、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサは、コマンド、プログラム及びデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【０２７５】
このソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラム及びデータで構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。また、実行セクションに含まれるデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。また、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、及びステータス返信コマンドが含まれる。
【０２７６】
このうち、ステータスコマンドは、宛先ＩＤに指定した装置の現在の状態（装置情報）を取得するコマンドである。ステータスコマンドを受けた装置は、ソフトウェアセルを生成し、実行セクションのデータ領域に自身の装置情報を格納し、ＤＭＡコマンドにステータス返信コマンドを設定して、ステータス要求元にソフトウェアセルを送信する。
【０２７７】
本実施形態では、ステータス要求及び返信シーケンスにより、情報処理装置間でプロセッサ温度を交換し合う仕組みを導入している。図２３には、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示している。図示のデータ領域は、図４に示したものとほぼ同一であるが、プロセッサ温度を書き込むフィールドを備えている点に特徴がある。
【０２７８】
図５に示したように、ネットワークで接続される複数の情報処理装置は連携動作により仮想的に１台の情報処理装置として動作する。ここで、ある情報処理装置において機能を実行中にプロセッサの温度値が所定の閾値を超えたときには、他の情報処理装置に少なくとも処理の一部の実行を委託して、温度上昇を抑制するようにする。
【０２７９】
この結果、複数の情報処理装置が連携動作するネットワーク環境下で、処理の分散に伴い発熱源も分散されることから、局所的な高温状態を回避することができる。また、元の情報処理装置においては、プロセッサチップなど半導体デバイスの温度上昇による動作低下を回避し、あるいは温度低下のためにプロセッサのクロック速度を落としパフォーマンス低下を回避することができる。また、冷却用ファンの稼動を抑制することができるので、送風音によりユーザに煩わしさを与えなくて済む。また、負荷分散とともに発熱を分散することができるので、個々の情報処理装置における熱設計の制約条件を緩和することができる。
【０２８０】
また、情報処理装置が他の情報処理装置に処理を委託する際に、暖房が必要な低温環境下に設置された情報処理装置を委託先として選択することにより、当該装置が発する熱を暖房用エネルギに使用し、エネルギの有効活用を図ることができる。
【０２８１】
このようなシステムのオペレーションは、負荷分散時における分散処理に加え、情報処理装置同士でプロセッサの動作温度データを交換し合うだけで実現することができる。温度データは、上述したようにステータスコマンドの交換により行なうことができる。
【０２８２】
温度上昇が発生した情報処理装置が他の情報処理装置に処理の実行を委託する方法として、オープンループ方式と、クローズドループ方式の２通りに大別される。以下では、それぞれの方式について説明する。但し、以下では、処理を委託する側を情報処理装置Ａとし、処理を受託する側を情報処理装置Ｂとする。
【０２８３】
Ｃ−１．オープンループ方式による熱分散
図２４には、オープンループ方式により、温度上昇が発生した情報処理装置が他の情報処理装置に処理の実行を委託するための処理手順をフローチャートの形式で示している。
【０２８４】
情報処理装置Ａは、情報処理コントローラ内のサブプロセッサの処理を開始する前に、装置筐体内の温度センサより自分のプロセッサ温度を取得する（ステップＳ１１１）。そして、その温度値が「故障閾値」を超えたかどうかを判別する（ステップＳ１１２）。
【０２８５】
ここで、プロセッサ温度が故障閾値を超えた場合は、情報処理装置Ｂに処理を依頼する。これに対し、情報処理装置Ｂは、処理委託に応答して、処理を受託し（ステップＳ１２１）、処理を実行する（ステップＳ１２２）。そして、情報処理装置Ａから依頼された処理が終了したら、情報処理装置Ａにその結果を返す（ステップＳ１２３）。
【０２８６】
そして、情報処理装置Ａは、情報処理装置Ｂから処理結果を受信すると（ステップＳ１１４）、これをメイン処理にマージする（ステップＳ１１５）。
【０２８７】
一方、情報処理装置Ａのプロセッサ温度が故障閾値以下であった場合には（ステップＳ１１２）、情報処理装置Ａは、情報処理装置Ｂに処理を依頼せず、自身で処理を行ない（ステップＳ１１３）、自分のプロセッサ温度に適したファン制御を行なう。
【０２８８】
Ｃ−２．クローズドループ方式による熱分散
図２５には、クローズドループ方式により、温度上昇が発生した情報処理装置が他の情報処理装置に処理の実行を委託するための処理手順をフローチャートの形式で示している。
【０２８９】
情報処理装置Ａは、情報処理コントローラ内のサブプロセッサの処理を開始する前に、装置Ｂに対してステータスコマンドを発行する（ステップＳ１３１）。そして、情報処理装置Ｂは、装置Ａからのステータスコマンドを受信すると（ステップＳ１４１）、ステータス返信コマンドを装置Ａに発行する（ステップＳ１４２）。
【０２９０】
情報処理装置Ａは、情報処理装置Ｂからのステータスデータを受信すると（ステップＳ１３２）、情報処理装置Ｂのプロセッサ温度とサブプロセッサの空き状況を取得する（ステップＳ１３３）。その後、装置筐体内の温度センサより自分のプロセッサ温度を取得し、情報処理装置Ｂのプロセッサ温度と比較する（ステップＳ１３４）。
【０２９１】
ここで、情報処理装置Ｂのプロセッサ温度の方が低い場合には、さらにあきプロセッサ数についても情報処理装置Ｂと比較する（ステップＳ１３５）。そして、情報処理装置Ｂのプロセッサ温度が低く且つ空きサブプロセッサがある場合のみ、情報処理装置Ａは、情報処理装置Ｂへ処理を依頼する。
【０２９２】
これに対し、情報処理装置Ｂは、処理委託に応答して、処理を受託し（ステップＳ１４３）、処理を実行する（ステップＳ１４４）。そして、情報処理装置Ａから依頼された処理が終了したら、情報処理装置Ａにその結果を返す（ステップＳ１４５）。
【０２９３】
そして、情報処理装置Ａは、情報処理装置Ｂから処理結果を受信すると（ステップＳ１３７）、これをメイン処理にマージする（ステップＳ１３８）。
【０２９４】
一方、情報処理装置Ｂのプロセッサ温度が情報処理装置Ａのプロセッサ温度よりも高い場合、若しくは空きサブプロセッサがない場合には、情報処理装置Ａは、情報処理装置Ｂに処理を依頼せず自身で処理を行ない（ステップＳ１３６）、自分のプロセッサ温度に適したファン制御を行なう。
【０２９５】
以上のように、処理の委託側としての情報処理装置Ａは、処理の受託側としての情報処理装置Ｂと温度データをやりとりすることで、高温環境を作りにくくでき、その結果として半導体の寿命を長くすることができる。また、これに連動してファンの稼動を回避または低速回転での稼動となり易くなり、送風音によるノイズの煩わしさがなくなる。
【産業上の利用可能性】
【０２９６】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０２９７】
本明細書では、家庭内の各部屋に設置されている情報家電などの複数の情報処理装置がホームネットワーク経由で接続され、これらの機器が協調的に動作して分散処理を行なうことにより仮想的に１台の機器として動作する場合を例にとって、情報処理システムが静粛性や発熱など家庭内の環境若しくはユーザに与える影響を例にとって、本発明の構成並びに作用効果について具体的に説明してきたが、本発明の要旨はこれに限定されるものではない。例えば、情報処理システムが家庭以外の場所に設置された場合や、情報処理システムによって発生される、静粛性や発熱以外の環境に影響する因子内に関しても、本発明によれば同様に課題を解決することができる。
【０２９８】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【図面の簡単な説明】
【０２９９】
【図１】図１は、本発明の一実施形態に係るネットワーク・システムの構成を示した図である。
【図２】図２は、サブプロセッサ２３からメインメモリ２４へのアクセス手順を説明するための図である。
【図３】図３は、ソフトウェアセルの構成例を示した図である。
【図４】図４は、ＤＭＡコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示した図である。
【図５】図５は、複数の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示した図である。
【図６】図６は、情報処理コントローラのソフトウェア構成の一例を示した図である。
【図７】図７は、４台の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示した図である。
【図８】図８は、図７に示したシステムにおける分散処理の例を示した図である。
【図９】図９は、各情報処理装置及びシステムの具体例を示した図である。
【図１０】図１０は、図９中のハード・ディスク・レコーダのハードウェア構成を示した図である。
【図１１】図１１は、図９中のハード・ディスク・レコーダのソフトウェア構成を示した図である。
【図１２】図１２は、図９中のＰＤＡのハードウェア構成を示した図である。
【図１３】図１３は、図９中のＰＤＡのソフトウェア構成を示した図である。
【図１４】図１４は、図９中のポータブルＣＤプレーヤのハードウェア構成を示した図である。
【図１５】図１５は、図９中のポータブルＣＤプレーヤのソフトウェア構成を示した図である。
【図１６】図１６は、本発明に係るネットワーク構成例を模式的に示した図である。
【図１７】図１７は、機器と物理的な各部屋のマッピングを行なうためのＧＵＩ画面の構成例を示した図である。
【図１８】図１８は、各部屋に設置されている機器とホームサーバとのホームネットワーク上での動作シーケンスを示した図である。
【図１９】図１９は、機能抽出プログラムの処理手順を示したフローチャートである。
【図２０】図２０は、ホームネットワーク上で利用可能な機能を表示するＧＵＩ画面の構成例を示した図である。
【図２１】図２１は、ホームネットワーク上の機器を、機器、物理的ロケーション、並びに機能ユニットの各階層にマッピングした様子を示した図である。
【図２２】図２２は、本発明に係るネットワーク構成例を示した図である。
【図２３】図２３は、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示した図である。
【図２４】図２４は、オープンループ方式により、温度上昇が発生した情報処理装置が他の情報処理装置に処理の実行を委託するための処理手順を示したフローチャートである。
【図２５】図２５は、クローズドループ方式により、温度上昇が発生した情報処理装置が他の情報処理装置に処理の実行を委託するための処理手順を示したフローチャートである。
【符号の説明】
【０３００】
１０，１１，１２…情報処理装置
２０…仮想情報処理装置
３０…ローカルネットワーク
４０…通信ネットワーク
５０…サーバ
６０…機能情報データベース
６１…ソフトウェアデータベース
７１…情報処理装置機能データベース
７２…機能データベース
７３…連携機能データベース
【図１】
2005339174.tif 000004
【図２】
2005339174.tif 000005
【図３】
2005339174.tif 000006
【図４】
2005339174.tif 000007
【図５】
2005339174.tif 000008
【図６】
2005339174.tif 000009
【図７】
2005339174.tif 000010
【図８】
2005339174.tif 000011
【図９】
2005339174.tif 000012
【図１０】
2005339174.tif 000013
【図１１】
2005339174.tif 000014
【図１２】
2005339174.tif 000015
【図１３】
2005339174.tif 000016
【図１４】
2005339174.tif 000017
【図１５】
2005339174.tif 000018
【図１６】
2005339174.tif 000019
【図１７】
2005339174.tif 000020
【図１８】
2005339174.tif 000021
【図１９】
2005339174.tif 000022
【図２０】
2005339174.tif 000023
【図２１】
2005339174.tif 000024
【図２２】
2005339174.tif 000025
【図２３】
2005339174.tif 000026
【図２４】
2005339174.tif 000027
【図２５】
2005339174.tif 000028