(57)【要約】【課題】  仮想的な１台の機器における余剰の処理能力を利用して、ユーザの嗜好に適ったデータ処理を自動で行なう。【解決手段】  ユーザの好みのコンテンツとユーザがリクエストするデータ処理内容から、ユーザのデータ処理に対する嗜好情報を学習し、システムのリソースの空き状態を確認しながら、コンテンツのデータ処理を自動的に行なう。ユーザが好みのデータ処理をされたコンテンツをリクエストする場合、既にそのコンテンツが生成されている可能性が高まり、ユーザのリクエストに対するレスポンスが向上される。【選択図】  図１６
2006033646.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツに対しデータ処理を適用する情報処理システムであって、
コンテンツに適用される各データ処理に関するユーザの嗜好を管理する嗜好データ管理手段と、
コンテンツに対しユーザの嗜好するデータ処理を適用してコンテンツを生成するコンテンツ生成手段と、
元のコンテンツ及び前記コンテンツ生成手段により生成されたコンテンツを格納するコンテンツ格納手段と、
システムのリソースを管理し、リソースの空き状況に応じて前記コンテンツ生成手段に対しコンテンツに対するデータ処理を要求するリソース管理手段と、
を具備することを特徴とする情報処理システム。
【請求項２】
ユーザがコンテンツを選択するユーザ操作手段をさらに備え、
前記嗜好データ管理手段は、前ユーザ操作手段を介してユーザが選択したコンテンツに適用されているデータ処理に基づいてユーザの嗜好情報を学習する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記嗜好データ管理手段は、ユーザ毎に、ユーザがデータ処理を選択した回数に応じて各データ処理の重みを算出し、
前記コンテンツ生成手段は、各データ処理の重みに基づいてコンテンツに適用するデータ処理を選択する、
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
各データ処理はコンテンツに適用する際に設定する１以上のパラメータを持ち、
前記嗜好データ管理手段は、ユーザ毎に、各データ処理においてパラメータを選択した回数に応じて各パラメータの重みを算出し、
前記コンテンツ生成手段は、コンテンツにデータ処理を適用する際に、各パラメータの重みに基づいて使用するパラメータを決定する、
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記コンテンツ格納手段は、元のコンテンツとデータ処理により生成されたコンテンツを対応付けて管理し、
ユーザが消去するコンテンツを選択するユーザ操作手段と、
ユーザが消去を要求するコンテンツと、該コンテンツを基にデータ処理により生成された各コンテンツを消去するコンテンツ消去手段とをさらに備える、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項６】
コンテンツに対しデータ処理を適用する情報処理方法であって、
コンテンツに適用される各データ処理に関するユーザの嗜好を管理する嗜好データ管理ステップと、
コンテンツに対しユーザの嗜好するデータ処理を適用してコンテンツを生成するコンテンツ生成ステップと、
元のコンテンツ及び前記コンテンツ生成ステップにおいて生成されたコンテンツを格納するコンテンツ格納ステップと、
システムのリソースを管理し、リソースの空き状況に応じて前記コンテンツ生成ステップを起動しコンテンツに対するデータ処理を要求するリソース管理ステップと、
を具備することを特徴とする情報処理方法。
【請求項７】
ユーザがコンテンツを選択するユーザ操作ステップをさらに備え、
前記嗜好データ管理ステップでは、前ユーザ操作ステップにおいてユーザが選択したコンテンツに適用されているデータ処理に基づいてユーザの嗜好情報を学習する、
ことを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記嗜好データ管理ステップでは、ユーザ毎に、ユーザがデータ処理を選択した回数に応じて各データ処理の重みを算出し、
前記コンテンツ生成ステップでは、各データ処理の重みに基づいてコンテンツに適用するデータ処理を選択する、
ことを特徴とする請求項７に記載の情報処理方法。
【請求項９】
各データ処理はコンテンツに適用する際に設定する１以上のパラメータを持ち、
前記嗜好データ管理ステップでは、ユーザ毎に、各データ処理においてパラメータを選択した回数に応じて各パラメータの重みを算出し、
前記コンテンツ生成ステップでは、コンテンツにデータ処理を適用する際に、各パラメータの重みに基づいて使用するパラメータを決定する、
ことを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記コンテンツ格納ステップでは、元のコンテンツとデータ処理により生成されたコンテンツを対応付けて管理し、
ユーザが消去するコンテンツを選択するユーザ操作ステップと、
ユーザが消去を要求するコンテンツと、該コンテンツを基にデータ処理により生成された各コンテンツを消去するコンテンツ消去ステップとをさらに備える、
ことを特徴とする請求項６に記載の情報処理方法。
【請求項１１】
コンテンツに対しデータ処理を適用するための処理をコンピュータシステム上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、
コンテンツに適用される各データ処理に関するユーザの嗜好を管理する嗜好データ管理ステップと、
コンテンツに対しユーザの嗜好するデータ処理を適用してコンテンツを生成するコンテンツ生成ステップと、
元のコンテンツ及び前記コンテンツ生成ステップにおいて生成されたコンテンツを格納するコンテンツ格納ステップと、
システムのリソースを管理し、リソースの空き状況に応じて前記コンテンツ生成ステップを起動しコンテンツに対するデータ処理を要求するリソース管理ステップと、
を具備することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで接続された２以上の情報処理装置間における動作を連携させる情報処理システム及び情報処理方法、並びにコンピュータプログラムに係り、特に、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の情報処理装置として動作する情報処理システム及び情報処理方法、並びにコンピュータプログラムに関する。
【０００２】
さらに詳しくは、本発明は、ネットワーク接続された複数の情報処理装置により構成される仮想的な１台の情報処理装置における余剰の処理能力を把握し、ある１台の情報処理装置上で処理を命令された機能の分散処理を行なう情報処理システム及び情報処理方法、並びにコンピュータプログラムに係り、特に、ネットワーク接続された複数の情報処理装置により構成される仮想的な１台の機器における余剰の処理能力を利用して、ユーザの嗜好に適ったデータ処理を自動で行なう機能情報処理システム及び情報処理方法、並びにコンピュータプログラムに関する。
【背景技術】
【０００３】
複数のコンピュータ同士をネットワークで相互接続することにより、情報資源の共有、ハードウェア資源の共有、複数のユーザ間でのコラボレーションが実現することが知られている。コンピュータ間の接続メディアとして、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどさまざまである。
【０００４】
特に最近では、一般家庭内にもコンピュータやネットワークなどの技術が深く浸透してきている。家庭内のパーソナル・コンピュータやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）などの情報機器、さらにはテレビ受像機やビデオ再生装置などＡＶ機器や、各種の情報家電、ＣＥ（Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ）機器などがホームネットワーク経由で相互接続されている。また、このようなホームネットワークは、多くの場合、ルータ経由でインターネットを始めとする外部の広域ネットワークに相互接続されている。
【０００５】
このようにホームネットワーク上に複数のＡＶ機器が接続されるという利用形態が想定されるが、ＡＶ機器間で充分な連携がなされていない、という問題がある。
【０００６】
このような問題に対し、最近では、ネットワーク上の機器同士を連携させるために、機器の協調動作により高い演算性能を実現するというグリッドコンピューティング技術に関する研究開発が進められている（例えば、特許文献１〜５を参照のこと）。
【０００７】
このグリッドコンピューティング技術によれば、ネットワーク上の複数の情報処理装置が強調動作して分散処理を行ない、ユーザからは仮想的に１台の情報処理装置として動作することができる。
【０００８】
例えば、録画予約機能を持つ複数台の情報処理装置がネットワーク上に接続されている場合、録画予約の連携動作を実現することができる。すなわち、複数台の情報処理装置がホームネットワーク経由で録画予約の動作を連携させている場合、ホームネットワーク上では仮想的に１台の録画機器として動作する。そして、ユーザは、いずれかの機器のユーザインターフェースを用いて、ホームネットワークに接続されている任意の機器を用いて録画予約を行なうことができる。例えば、情報処理装置間でお互いの録画予約などのスケジュール情報を交換し合い、どの情報処理装置のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）からでも、全体の録画予約番組情報がマージされた形で同じように表示することにより、ユーザが録画予約の設定を行なうときの操作性が向上する。
【０００９】
さらにこのような録画予約機能の連携により、予約時間が重複した番組（いわゆる裏番組）を同時録画することが可能である。例えば同じ時間帯に複数の番組を録画予約したい場合、ある特定の情報処理装置のＧＵＩ上で、別の情報処理装置の録画予約状況や外部記録部の空き状況を確認し、さらに別の情報処理装置の録画予約設定を行なうようにする。
【００１０】
同様に、記録したコンテンツの再生動作を複数の機器間で連携させ、同時・同期的なコンテンツ再生を実現することができる。このコンテンツ再生機能の連携により、別々の機器で記録されたコンテンツの再生を同時、同期的に進行させることにより、コンテンツ再生においてチャンネル切り換えの概念を導入することができる。
【００１１】
このような仮想的な１台の情報処理装置によれば、１台の情報処理装置のハードウェア資源や処理能力だけではユーザからの要求に応じることができない場合であっても、ネットワーク上で連携・協調動作する他の情報処理装置における余剰の処理能力を活用することで、ユーザの要求に応じることができ、さらに通常の１台の情報処理装置では現実的ではないサービスを実現することができる。
【００１２】
ところで、ユーザが情報処理装置を用いてデータ処理を行なうとき、リクエストするデータ処理の内容や使用するパラメータにはユーザ毎に嗜好が異なると考えられる。例えば、あるマルチメディアコンテンツに対し、ユーザが自らコンテンツを自分の好みの品質に編集する画質改善や、ある符号化方式で符号化されたコンテンツを他の符号化方式へ再符号化するリエンコードなど、元のコンテンツにさまざまなデータ処理を適用することができるが、ユーザが利用するデータ処理内容には好みがある。
【００１３】
しかしながら、コンテンツに対する画質改善のためのフィルタリング処理やリエンコード処理は、高い処理能力を必要とするデータ処理であり、システムのリソースの空き状態を確認しなければならず、また、好みの品質のコンテンツを得るためには使用するパラメータの設定を行なう必要があり、手間のかかる作業である。
【００１４】
さらに、ユーザが複数のコンテンツに対して同じようなデータ処理をさせたい場合などは、一つ一つのコンテンツに対してユーザが行なわなければならない作業量が膨大となるのは明らかである。
【００１５】
また、それらのデータ処理は一般的に演算量が膨大であることから、リソースに負担がかかる。したがって、ユーザのリクエストに応答してデータ処理を開始したのでは、そのデータ処理中は他の処理のレスポンスが遅くなってしまうなど、システム全体に対する影響が出てしまうこともある。
【００１６】
例えば、演算処理の負担が軽く、ユーザの嗜好の偏りの確率に応じてコンテンツを推薦するコンテンツ推薦システムについて提案がなされている（例えば、特許文献６を参照のこと）。このシステムでは、コンテンツ各々に関連付けられた一つ以上の属性の属性値からなる特徴量を記憶しているコンテンツ特徴量データベースと、ユーザの各属性の重視度を記憶している属性重視度データベースと、ユーザの各属性の複数の属性値の重視度を記憶している属性値重視度データベースとを備え、各属性の重視度及び各属性値の重視度とから特徴量の検索条件を決定し、検索条件に基づいて推薦するコンテンツを選択するようになっている。
【００１７】
しかしながら、ユーザの細かな好みを反映したコンテンツがそもそも存在しないことが有り得る。
【特許文献１】特開２００２−３４２１６５号公報
【特許文献２】特開２００２−３５１８５０号公報
【特許文献３】特開２００２−３５８２８９号公報
【特許文献４】特開２００２−３６６５３３号公報
【特許文献５】特開２００２−３６６５３４号公報
【特許文献６】特開２００３−２３３６２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明の目的は、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の情報処理装置として好適に動作することができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することにある。
【００１９】
本発明のさらなる目的は、ネットワーク接続された複数の情報処理装置により構成される仮想的な１台の情報処理装置における余剰の処理能力を把握し、ある１台の情報処理装置上で処理を命令された機能の分散処理を行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することにある。
【００２０】
本発明のさらなる目的は、ネットワーク接続された複数の情報処理装置により構成される仮想的な１台の情報処理装置における余剰の処理能力を利用して、ユーザの嗜好に適ったデータ処理を自動で行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することにある。
【００２１】
本発明のさらなる目的は、ユーザが使用するコンテンツやユーザがリクエストする処理内容からユーザの嗜好を学習し、リソースが空いた時間を利用してコンテンツの画質向上やリエンコードなどの負荷の高いデータ処理を自動的に行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００２２】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、コンテンツに対しデータ処理を適用する情報処理システムであって、
ユーザの嗜好するデータ処理を管理する嗜好データ管理手段と、
コンテンツに対しユーザの嗜好するデータ処理を適用してコンテンツを生成するコンテンツ生成手段と、
元のコンテンツ及び前記コンテンツ生成手段により生成されたコンテンツを格納するコンテンツ格納手段と、
システムのリソースを管理し、リソースの空き状況に応じて前記コンテンツ生成手段に対しコンテンツに対するデータ処理を要求するリソース管理手段と、
を具備することを特徴とする情報処理システムである。
【００２３】
但し、ここで言う「システム」とは、複数の装置（又は特定の機能を実現する機能モジュール）が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【００２４】
本発明に係る情報処理システムによれば、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の情報処理装置として動作することができる。
【００２５】
この種の情報処理システム上では、マルチメディアコンテンツに対するユーザが自らコンテンツを自分の好みの品質に編集する画質改善や、ある符号化方式で符号化されたコンテンツを他の符号化方式へ再符号化するリエンコードなど、元のコンテンツにさまざまなデータ処理を行なうことができる。
【００２６】
ところが、これらのデータ処理は高い処理能力を必要とすることから、システムのリソースの空き状態を確認しなければならず、また、好みの品質のコンテンツを得るためには使用するパラメータの設定を行なう必要があり、手間のかかる作業である。
【００２７】
そこで、本発明に係る情報処理システムでは、リソースが空いた時間を利用してコンテンツの画質向上やリエンコードなどの負荷の高いデータ処理を自動的に行なう仕組みを導入している。さらに、ユーザが使用するコンテンツやユーザがリクエストする処理内容からユーザの嗜好を学習し、ユーザの好みに適合するデータ処理を自動で行なうようにする。
【００２８】
すなわち、前記リソース管理手段は、システムのリソースを管理し、リソースの空き状況に応じて前記コンテンツ生成手段に対しコンテンツに対するデータ処理を要求する。これに応答して、前記コンテンツ生成手段は、複数のパターンのパラメータを使って１つのオリジナルコンテンツに対して複数のコンテンツを自動的に生成させる。これらのコンテンツをユーザに提示し、ユーザの好みのコンテンツ、及びユーザがリクエストするデータ処理内容から、ユーザのデータ処理に対する嗜好情報を学習する。これにより、コンテンツ生成時のデータ処理、及びそのパラメータにユーザの嗜好を反映させることが可能となる。
【００２９】
したがって、本発明によれば、あるコンテンツを基にした複数のパターンのデータ処理を、リソースの空き状況を確認しながら自動的に実行することができるので、ユーザが手動でデータ処理を行なう手間がなくなる。また、ユーザが好みのデータ処理をされたコンテンツをリクエストする場合に、既にそのコンテンツが生成されている可能性が高くなり、ユーザのリクエストに対するレスポンスが向上される。
【００３０】
また、本発明に係る情報処理システムは、ユーザがコンテンツを選択するユーザ操作手段をさらに備えている。そして、前記嗜好データ管理手段は、前ユーザ操作手段を介してユーザが選択したコンテンツに適用されているデータ処理に基づいてユーザの嗜好情報を学習する。
【００３１】
前記嗜好データ管理手段は、ユーザ毎に、ユーザがデータ処理を選択した回数に応じて各データ処理の重みを算出することにより、ユーザの嗜好を学習することができる。そして、前記コンテンツ生成手段は、各データ処理の重みに基づいてコンテンツに適用するデータ処理を選択することができる。
【００３２】
また、各データ処理はコンテンツに適用する際に設定する１以上のパラメータを持っている。このような場合、前記嗜好データ管理手段は、ユーザ毎に、各データ処理においてパラメータを選択した回数に応じて各パラメータの重みを算出することにより、ユーザの嗜好を学習することができる。そして、前記コンテンツ生成手段は、コンテンツにデータ処理を適用する際に、各パラメータの重みに基づいて、使用するパラメータを決定することができる。
【００３３】
前記コンテンツ格納手段は、元のコンテンツとデータ処理により生成されたコンテンツを対応付けて管理する。そして、ユーザがコンテンツの消去を要求した場合には、該コンテンツを基にデータ処理により生成された各コンテンツを併せて消去するようにしてもよい。すなわち、ユーザがあるオリジナルコンテンツを消去した場合、そのコンテンツを基に自動的に生成された大量のコンテンツについても自動的に消去されるので、ユーザがコンテンツを一つ一つ消去する手間がなくなる。
【００３４】
また、本発明の第２の側面は、コンテンツに対しデータ処理を適用するための処理をコンピュータシステム上で実行するようにコンピュータ可読形式で記述されたコンピュータプログラムであって、
コンテンツに適用される各データ処理に関するユーザの嗜好を管理する嗜好データ管理ステップと、
コンテンツに対しユーザの嗜好するデータ処理を適用してコンテンツを生成するコンテンツ生成ステップと、
元のコンテンツ及び前記コンテンツ生成ステップにおいて生成されたコンテンツを格納するコンテンツ格納ステップと、
システムのリソースを管理し、リソースの空き状況に応じて前記コンテンツ生成ステップを起動しコンテンツに対するデータ処理を要求するリソース管理ステップと、
を具備することを特徴とするコンピュータプログラムである。
【００３５】
本発明の第２の側面に係るコンピュータプログラムは、コンピュータシステム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータプログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータプログラムをコンピュータシステムにインストールすることによって、コンピュータシステム上では協働的作用が発揮され、本発明の第１の側面に係る情報処理システムと同様の作用効果を得ることができる。
【発明の効果】
【００３６】
本発明によれば、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の情報処理装置として好適に動作することができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することができる。
【００３７】
また、本発明によれば、ネットワーク接続された複数の情報処理装置により構成される仮想的な１台の情報処理装置における余剰の処理能力を利用して、ユーザの嗜好に適ったデータ処理を自動で行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータプログラムを提供することができる。
【００３８】
本発明によれば、あるコンテンツを基にした複数のパターンのデータ処理を、リソースの空き状況を確認しながら自動的に実行することができるので、ユーザが手動でデータ処理を行なう手間がなくなる。
【００３９】
また、ユーザがあるコンテンツを消去した場合、これに連動して、そのコンテンツを基に自動的に生成された大量のコンテンツについても自動的に消去されるので、ユーザがコンテンツを一つ一つ消去する必要はない。
【００４０】
また、あるコンテンツを基に複数のパターンのコンテンツを生成するときに、ユーザ好みのデータ処理及びユーザ好みのパラメータで優先してデータ処理を行なうことで、ユーザが好みのコンテンツをリクエストした場合にそのコンテンツが既に生成されている可能性が高くなり、ユーザのリクエストに対するレスポンスが向上する。
【００４１】
さらに、コンテンツのジャンルが判明し、コンテンツのジャンルからユーザの好みのデータ処理が判明しているときは、そのデータ処理にあらかじめ重みをつけることで、ユーザの好みのコンテンツを自動的に生成させ易くすることが期待できる。
【００４２】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００４３】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００４４】
Ａ．システム構成
本発明は、２以上の情報処理装置間における動作をホームネットワーク経由で好適に連携させることにより、別々の場所に設定されている各機器における録画予約操作を簡易且つ効率的にするものである。ネットワーク上の機器同士を連携させるために、機器の協調動作により高い演算性能を実現するためのグリッドコンピューティング技術を活用する。
【００４５】
図１には、グリッドコンピューティングを適用して構成される、ネットワークシステムの構成を模式的に示している。
【００４６】
ネットワークは、インターネットやその他の広域ネットワーク、並びに、広域ネットワークとはゲートウェイなどを介して接続されるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やホームネットワークなどのプライベートなネットワークで構成される。ホームネットワークは、物理的には、１０ＢａｓｅＴや１００ＢａｓｅＴＸ、Ｇｉｇａ  ｅａｔｈｅｒなどの標準的なネットワークインターフェースで構成することができる。また、ホームネットワーク上で他の機器を発見する仕組みとしてＵｐｎｐ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）を利用することができる。Ｕｐｎｐによれば、ネットワーク接続された機器間で、ＸＭＬ（ｅＸｔｅｎｄｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述された定義ファイルを交換し、アドレッシング処理、ディスカバリ処理、サービス要求処理を経て相互認証を行なう。あるいは同一セグメント内での規定の機器情報を記述したパケットのブロードキャストすることによっても実現可能である。
【００４７】
ネットワーク上には、複数の情報処理装置が接続されている。情報処理装置の例として、ＤＶＤレコーダやＨＤレコーダのような、記録メディアを搭載し録画予約機能を備えたＡＶ機器、あるいはコンパクト・ディスクなどの記録機能を持たない再生専用のＡＶ機器、その他の情報処理装置が挙げられる。また、情報処理装置の他の例は、ＰＤＡやパーソナル・コンピュータなどの計算機処理システムを挙げることができる。図１に示す例では、ネットワーク９を介して複数の情報処理装置１、２、３、４が接続されている。
【００４８】
Ａ−１．情報処理装置及び情報処理コントローラ
情報処理装置１、２、３、４は、例えば各種のＡＶ（Ａｕｄｉｏ  ａｎｄ  Ｖｉｓｕａｌ）機器やポータブル機器である（後述）。
【００４９】
図示の通り、情報処理装置１は、コンピュータ機能部として情報処理コントローラ１１を備える。情報処理コントローラ１１は、メインプロセッサ２１−１、サブプロセッサ２３−１、２３−２、２３−３、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−１、及びＤＣ（ディスクコントローラ）２７−１を備えている。情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。
【００５０】
メインプロセッサ２１−１は、サブプロセッサ２３−１、２３−２、２３−３によるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ１１（情報処理装置１）の全般的な管理とを行なう。但し、メインプロセッサ２１−１内で管理を行なうためのプログラム以外のプログラムが動作するように構成することもできる。この場合、メインプロセッサ２１−１はサブプロセッサとしても機能することになる。メインプロセッサ２１−１は、ＬＳ（ローカル・ストレージ）２２−１を備えている。
【００５１】
１つの情報処理コントローラに備わるサブプロセッサは１つでもよいが、望ましくは複数とする。図示の例では、複数の場合である。各サブプロセッサ２３−１、２３−２、２３−３は、メインプロセッサ２１−１の制御下で、並列的且つ独立にプログラムを実行し、データを処理する。さらに、場合によってメインプロセッサ２１−１内のプログラムがサブプロセッサ２３−１、２３−２、２３−３内のプログラムと連携して動作することもできる。各サブプロセッサ２３−１、２３−２、２３−３も、それぞれＬＳ（ローカルストレージ）２４−１、２４−２、２４−３を備えている。
【００５２】
ＤＭＡＣ（直接メモリアクセスコントローラ）２５−１は、情報処理コントローラ１１に接続されたＤＲＡＭ（ダイナミックＲＡＭ）などからなるメインメモリ２６−１に格納されているプログラム及びデータにプロセッサの介在なしにアクセスするものである。また、ＤＣ（ディスクコントローラ）２７−１は、情報処理コントローラ１１に接続された外部記録部２８−１、２８−２へのアクセス動作を制御する。
【００５３】
外部記録部２８−１、２８−２は、固定ディスク（ハードディスク）、あるいはリムーバブルディスクのいずれの形態でもよい。また、リムーバブルディスクとして、ＭＯ（磁気ディスク）、ＣＤ±ＲＷ、ＤＶＤ±ＲＷなどの光ディスク、メモリディスク、ＳＲＡＭ（スタティックＲＡＭ）、ＲＯＭなど各種の記録メディアを用いることができる。ＤＣ２７−１は、ディスクコントローラと称するが、要するに外部記録部コントローラである。図１に示すように、外部記録部２８を複数接続できるように、情報処理コントローラ１１を構成することができる。
【００５４】
メインプロセッサ２１−１、各サブプロセッサ２３−１、２３−２、２３−３、ＤＭＡＣ２５−１、及びＤＣ２７−１は、バス２９−１によって相互接続されている。
【００５５】
情報処理コントローラ１１には、当該情報処理コントローラ１１を搭載する情報処理装置１をネットワーク全体を通して一意に識別できる識別子が、情報処理装置ＩＤとして割り当てられている。また、メインプロセッサ２１−１及び各サブプロセッサ２３−１、２３−２、２３−３に対しても同様に、それぞれを特定できる識別子が、メインプロセッサＩＤ及びサブプロセッサＩＤとして割り当てられる。
【００５６】
他の情報処理装置２、３、４も同様に構成されるので、ここでは説明を省略する。ここで、親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いによる差異を生じないものとする。
【００５７】
Ａ−２．各サブプロセッサからメインメモリへのアクセス
上述したように、１つの情報処理コントローラ内の各サブプロセッサ２３は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ２６内の同一領域に対して同時に読み出し又は書き込みを行なった場合には、データの不整合を生じ得る。そこで、サブプロセッサ２３からメインメモリ２６へのアクセスは、以下のような手順によって行なう。
【００５８】
図２（Ａ）には、メインメモリ２６内のロケーションを示している。同図に示すように、メインメモリ２６は複数のアドレスを指定できるメモリロケーションによって構成され、各メモリロケーションに対してデータの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤ及びＬＳアドレス（ローカル・ストレージアドレス）を含むものとされる。また、各メモリロケーションには、後述のアクセス・キーも割り振られる。Ｆ／Ｅビットは、以下のように定義される。
【００５９】
Ｆ／Ｅビット＝０は、サブプロセッサ２３によって読み出されている処理中のデータ、又は空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、Ｆ／Ｅビット＝０は、当該メモリ・ロケーションにデータ書き込み可能であることを示し、書き込み後に１に設定される。
【００６０】
Ｆ／Ｅビット＝１は、当該メモリロケーションのデータがサブプロセッサ２３によって読み出されておらず、未処理の最新データであることを示す。当該メモリ・ロケーションのデータは読み出し可能であり、サブプロセッサ２３によって読み出された後に０に設定される。また、Ｆ／Ｅビット＝１は、当該メモリ・ロケーションがデータ書き込み不可であることを示す。
【００６１】
さらに、上記Ｆ／Ｅビット＝０（読み出し不可／書き込み可）の状態において、当該メモリ・ロケーションについて読み出し予約を設定することは可能である。Ｆ／Ｅビット＝０のメモリロケーションに対して読み出し予約を行なう場合には、サブプロセッサ２３は、読み出し予約を行なうメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ２３のサブプロセッサＩＤ及びＬＳアドレスを書き込む。
【００６２】
その後、データ書き込み側のサブプロセッサ２３により、読み出し予約されたメモリ・ロケーションにデータが書き込まれ、Ｆ／Ｅビット＝１（読み出し可／書き込み不可）に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサＩＤ及びＬＳアドレスに読み出される。
【００６３】
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し／書き込みを制御することにより、前段階の処理を行なうサブプロセッサ２３が処理済みのデータをメインメモリ２６上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行なう別のサブプロセッサ２３が前処理後のデータを読み出すことが可能となる。
【００６４】
また、図２（Ｂ）には、各サブプロセッサ２３内のＬＳ２４におけるメモリロケーションを示している。同図に示すように、各サブプロセッサ２３内のＬＳ２４も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
【００６５】
サブプロセッサ２３がメインメモリ２６内のデータを自身のＬＳ２４のメモリロケーションに読み出すときには、対応するビジービットを１に設定して予約する。ビジービットが１であるメモリロケーションには、他のデータは格納することができない。ＬＳ２４のメモリロケーションに読み出し後、ビジービットは０になり、任意の目的に使用できるようになる。
【００６６】
図２（Ａ）に示すように、さらに、各情報処理コントローラと接続されたメインメモリ２６には、メインメモリ２６内の領域を画定する複数のサンドボックスが含まれる。メインメモリ２６は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。各サンドボックスは、サブプロセッサ２３毎に割り当てられ、該当するサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ２３は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行なうことはできない。
【００６７】
さらに、メインメモリ２６の排他的な制御を実現するために、図２（Ｃ）に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のＳＲＡＭのような比較的高速のメモリに格納され、ＤＭＡＣ２５と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサ・キー及びキーマスクが含まれる。
【００６８】
サブプロセッサ２３がメインメモリ２６を使用する際のプロセスは、以下の通りである。まず、サブプロセッサ２３はＤＭＡＣ２５に、読み出し又は書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサＩＤと、使用要求先であるメインメモリ２６のアドレスが含まれる。
【００６９】
ＤＭＡＣ２５は、このコマンドを実行する前にキー管理テーブルを参照し、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、ＤＭＡＣ２５は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ２６内の図２（Ａ）に示したメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、上記のコマンドを実行する。
【００７０】
図２（Ｃ）に示したキー管理テーブル上のキーマスクは、その任意のビットが１になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが０又は１になることができる。
【００７１】
例えば、サブプロセッサキーが１０１０であるとする。通常、このサブプロセッサキーによって１０１０のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが０００１に設定されている場合には、キーマスクのビットが１に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー１０１０によってアクセスキーが１０１０又は１０１１のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００７２】
以上のようにして、メインメモリ２６のサンドボックスの排他性が実現される。すなわち、１つの情報処理コントローラ内に配置された複数のサブプロセッサによってデータを多段階に処理する必要がある場合、前段階の処理を行なうサブプロセッサと、後段階の処理を行なうサブプロセッサのみが、メインメモリ２６の所定アドレスにアクセスできるようになり、データを保護することができる。
【００７３】
このようなメモリの排他制御は、例えば以下のように使用することができる。まず、情報処理装置の起動直後においては、キーマスクの値はすべてゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第１のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第２のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。このような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的の処理を可能にする。
【００７４】
より具体的には、他の情報処理装置からのデータ→第１のサブプロセッサによる処理→第１のメインメモリ領域→第２のサブプロセッサによる処理→第２のメインメモリ領域、という手順で多段階処理が行なわれるときには、以下のような設定のままでは、第２のサブプロセッサは第１のメインメモリ領域にアクセスすることができない。
【００７５】
第１のサブプロセッサのサブプロセッサ・キー：０１００、
第１のメインメモリ領域のアクセス・キー    ：０１００、
第２のサブプロセッサのサブプロセッサ・キー：０１０１、
第２のメインメモリ領域のアクセス・キー    ：０１０１
【００７６】
そこで、第２のサブプロセッサのキーマスクを０００１にすることにより、第２のサブプロセッサによる第１のメインメモリ領域へのアクセスを可能にすることができる。
【００７７】
Ａ−３．ソフトウェアセルの生成及び構成
図１のネットワークシステムでは、情報処理装置１、２、３、４間での分散処理のために、情報処理装置１、２、３、４間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、コマンド、プログラム及びデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【００７８】
図３には、ソフトウェアセルの構成の一例を示している。図示のソフトウェアセルは、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム、及びデータによって構成される。
【００７９】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレス及び当該情報処理装置内の情報処理コントローラの情報処理装置ＩＤ、さらに、当該情報処理装置内の情報処理コントローラが備えるメインプロセッサ２１及び各サブプロセッサ２３の識別子（メインプロセッサＩＤ及びサブプロセッサＩＤ）が含まれる。
【００８０】
送信先ＩＤ及び応答先ＩＤには、ソフトウェアセルの送信先である情報処理装置、及びソフトウェアセルの実行結果の応答先である情報処理装置についての同じ情報がそれぞれ含まれる。
【００８１】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、及び前回のソフトウェアセルＩＤで構成される。
【００８２】
グローバルＩＤは、ネットワーク全体を通して当該のソフトウェアセルを一意的に識別できるものであり、送信元ＩＤと、ソフトウェアセルの作成又は送信の日時（日付及び時刻）に基づいて作成される。
【００８３】
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ２６内及びサブプロセッサ２３のＬＳ２４内のメモリ量が設定される。
【００８４】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００８５】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラム及びデータで構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサ２３によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００８６】
さらに、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、及びステータス返信コマンドが含まれる。
【００８７】
ロードコマンドは、メインメモリ２６内の情報をサブプロセッサ２３内のＬＳ２４にロードするコマンドであり、ロードコマンド自体の他に、メインメモリアドレス、サブプロセッサＩＤ及びＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ２６内の所定領域のアドレスを示す。サブプロセッサＩＤ及びＬＳアドレスは、情報のロード先であるサブプロセッサ２３の識別子及びＬＳ２４のアドレスを示す。
【００８８】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体の他に、サブプロセッサＩＤ及びプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサ２３を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【００８９】
機能プログラム実行コマンドは、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである（後述）。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、機能プログラムＩＤ（後述）によって、起動すべき機能プログラムを識別する。
【００９０】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図６に示す情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ２６にロードされ、メインプロセッサ２１により実行される。
【００９１】
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【００９２】
図４には、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示している。
【００９３】
情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のＩＤを示す。情報処理装置ＩＤは、電源投入時に、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１によって、電源投入時の日時、情報処理装置のネットワークアドレス及び情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３の数などに基づいて生成される。
【００９４】
情報処理装置種別ＩＤには、当該情報処理装置の特徴を表す値が含まれる。ここで言う情報処理装置の特徴とは、例えば、ハードディスクレコーダ（後述）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブルＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）プレーヤなどである。また、情報処理装置種別ＩＤは、映像音声記録、映像音声再生など、情報処理装置が持つ機能を表すものであってもよい、情報処理装置の特徴や機能を表す値はあらかじめ決められているものとし、情報処理装置種別ＩＤを呼び出すことにより当該情報処理装置の特徴や機能を把握することが可能である。
【００９５】
ＭＳ（マスター／スレーブ）ステータスは、後述するように情報処理装置がマスター装置又はスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合にはマスター装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。
【００９６】
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ２１の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ２１で現在動作しているすべてのプログラムについての、メインプロセッサ２１での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるＭＩＰＳ［Ｍｉｌｌｉｏｎ Ｉｎｓｔｒｕｃｔｉｏｎｓ Ｐｅｒ Ｓｅｃｏｎｄ］を単位として算出され、又は単位時間当りのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
【００９７】
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ２３の数を表す。サブプロセッサＩＤは、当該の情報処理コントローラ内の各サブプロセッサ２３を識別するための識別子である。
【００９８】
サブプロセッサステータスは、各サブプロセッサ２３の状態を表すものであり、ｕｎｕｓｅｄ、ｒｅｓｅｒｖｅｄ，ｂｕｓｙなどの状態がある。ｕｎｕｓｅｄは、当該サブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。ｒｅｓｅｒｖｅｄは、現在は使用されていないが、予約されている状態を示す。ｂｕｓｙは、現在使用中であることを示す。
【００９９】
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、又は当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがｂｕｓｙである場合には、現在の使用率を示し、サブプロセッサステータスがｒｅｓｅｒｖｅｄである場合には、後に使用される予定の推定使用率を示す。
【０１００】
サブプロセッサＩＤ、サブプロセッサステータス及びサブプロセッサ使用率は、１つのサブプロセッサ２３に対して一組設定され、１つの情報処理コントローラ内のサブプロセッサ２３に対応する組数が設定される。
【０１０１】
メインメモリ総容量及びメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ２６の総容量及び現在使用中の容量を表す。
【０１０２】
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部２８の数を表す。外部記録部ＩＤは、当該の情報処理コントローラに接続されている外部記録部２８を一意的に識別する情報である。外部記録部種別ＩＤは、当該の外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表す。
【０１０３】
外部記録部総容量及び外部記録部使用量は、それぞれ外部記録部ＩＤによって識別される外部記録部２８の総容量及び現在使用中の容量を表す。
【０１０４】
外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量及び外部記録部使用量は、１つの外部記録部２８に対して１組設定されるものであり、当該情報処理コントローラに接続されている外部記録部２８の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の外部記録部が接続されている場合、それぞれの外部記録部には異なる外部記録部ＩＤが割り当てられ、外部記録部種別ＩＤ、外部記録部総容量及び外部記録部使用量も別々に管理される。
【０１０５】
Ａ−４ソフトウェアセルの実行
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上述したような構成のソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置及び当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、及び各装置内の情報処理コントローラは、それぞれ、上記の送信元ＩＤ、送信先ＩＤ及び応答先ＩＤによって識別される。
【０１０６】
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、そのソフトウェアセルをメインメモリ２６に格納する。さらに、送信先のメインプロセッサ２１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。
【０１０７】
具体的には、送信先のメインプロセッサ２１は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤ及びＬＳアドレスで特定されるサブプロセッサ内のＬＳ２４の所定領域に情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラム又はデータ、あるいはその他の指示されたデータである。
【０１０８】
次に、メインプロセッサ２１は、キックコマンドを、これに含まれるサブプロセッサＩＤで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタとともに出力する。
【０１０９】
指示されたサブプロセッサは、そのキックコマンド及びプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ２６に格納した後、実行を完了したことをメインプロセッサ２１に通知する。
【０１１０】
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ２３に限定されるものではなく、メインプロセッサ２１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
【０１１１】
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラム及びそのメインメモリ用プログラムによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ２６にメインメモリ用プログラム及びそれによって処理されるデータを記憶させる。
【０１１２】
次に、送信元の情報処理装置は、送信先の情報処理装置宛てに、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサＩＤ、メインメモリ・アドレス、メインメモリ用プログラムを識別するための後述の機能プログラムＩＤなどの識別子、及びプログラムカウンタを含み、ＤＭＡコマンドがキックコマンド又は機能プログラム実行コマンドであるソフトウェアセルを送信し、メインプロセッサ２１に当該メインメモリ用プログラムを実行させる。
【０１１３】
以上のように、本実施形態に係るネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラム又はメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３にロードさせ、当該サブプロセッサプログラム又は当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
【０１１４】
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラム又はメインメモリ用プログラムを実行させる。
【０１１５】
したがって、ユーザが送信先の情報処理装置を操作しなくても、当該サブプロセッサプログラム又は当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラにおいて自動的に実行させることができる。
【０１１６】
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラム又は機能プログラムなどのメインメモリ用プログラムを備えていない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。さらに、各サブプロセッサ間ではＤＭＡ方式によりデータ転送を行ない、また上述したサンドボックスを使用することにより、１つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速且つ高セキュリティに処理を実行することができる。
【０１１７】
Ａ−５．ネットワークシステムとしての分散処理
図５には、複数の情報処理装置が仮想的な１台の情報処理装置として動作している様子を示している。ソフトウェアセルの使用による分散処理の結果、同図の上段に示すように、ネットワーク９に接続されている複数の情報処理装置１、２、３、４は、同図の下段に示すように、仮想的な１台の情報処理装置７として動作する。但し、このような仮想的な動作を実現するためには、以下のような構成によって、以下のような処理が実行される必要がある。
【０１１８】
Ａ−６．システムのソフトウェア構成とプログラムのロード
図６には、個々の情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成を示している。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前に、当該の情報処理コントローラに接続される外部記録部２８に記録されているものである。各プログラムは、機能又は特徴により、制御プログラム、機能プログラム及びデバイスドライバに分類される。
【０１１９】
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ２１が実行するもので、後述のＭＳ（マスター／スレーブ）マネージャ及び能力交換プログラムを含む。
【０１２０】
機能プログラムは、メインプロセッサ２１が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラ毎に情報処理装置に応じたものが備えられる。
【０１２１】
デバイスドライバは、情報処理コントローラ（情報処理装置）の入出力（送受信）用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラ毎に情報処理装置に応じたものが備えられる。
【０１２２】
ケーブルの差し込みなどによって情報処理装置が物理的にネットワーク９に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク９に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、制御プログラムに属する各プログラム、及びデバイスドライバに属する各プログラムを、メインメモリ２６にロードする。
【０１２３】
プログラムのロード手順としては、メインプロセッサ２１は、まず、ＤＣ２７に読み出し命令を実行させることによって、外部記録部２８からプログラムを読み出し、次に、ＤＭＡＣ２５に書き込み命令を実行させることによって、そのプログラムをメインメモリ２６に書き込む。
【０１２４】
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをメモリにロードするように構成してもよく、あるいは他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１２５】
機能プログラムに属する各プログラムは、ネットワークに接続されたすべての情報処理装置の外部記録部２８に記録されている必要はなく、いずれか１つの情報処理装置の外部記録部２８に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図５の下段に示すように、仮想的な１台の情報処理装置７として機能プログラムを実行することができる。
【０１２６】
ここで、前述したようにメインプロセッサ２１によって処理される機能プログラムは、サブプロセッサ２３によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ２１が外部記録部２８から機能プログラムを読み出し、メインメモリ２６に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ２６に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは１個である場合もあるし、複数個であることもあり得る。複数個である場合には、すべての連携動作するサブプロセッサプログラムをメインメモリ２６に書き込むことになる。メインメモリ２６に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ２３内のＬＳ２４に書き込まれ、メインプロセッサ２１によって処理される機能プログラムと連携動作する。
【０１２７】
そして、サブプロセッサプログラムにもサブプロセッサプログラムＩＤが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムＩＤは、連携動作する相手となる機能プログラムの機能プログラムＩＤと関連性のある識別子、例えば機能プログラムＩＤを親番号とした上で最後尾に枝番号を付加させたものなどであることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムＩＤとは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムＩＤを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個あるすべてのサブプロセッサプログラムのサブプロセッサプログラムＩＤを記憶しておくことになる。
【０１２８】
図３のソフトウェアセルに示したように、機能プログラムには、プログラム毎にプログラムを一意的に識別できる識別子が機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【０１２９】
メインプロセッサ２１は、自身が動作する情報処理装置の装置情報（動作状態に関する情報）を格納するための領域をメインメモリ２６に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここで言う装置情報は、図４に示したステータス返信コマンドのデータ領域における情報処理装置ＩＤ以下の各情報である。
【０１３０】
Ａ−７．システムにおけるマスター／スレーブの決定
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、マスター／スレーブマネージャ（以下、ＭＳマネージャ）をメインメモリ２６にロードし、実行する。
【０１３１】
ＭＳマネージャは、自身が動作する情報処理装置がネットワーク９に接続されていることを検知すると、同じネットワーク９に接続されている他の情報処理装置の存在を確認する。ここでの「接続」又は「存在」は、上述したように、情報処理装置が物理的にネットワーク９に接続されているだけでなく、電気的・機能的にもネットワーク９に接続されていることを示す。
【０１３２】
また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。
【０１３３】
ＭＳマネージャが同じネットワーク９に接続されている他の情報処理装置の存在を確認する方法について以下に説明する。
【０１３４】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤ及び応答先ＩＤが当該情報処理装置で、送信先ＩＤを特定しないソフトウェアセルを生成し、当該情報処理装置が接続されたネットワーク上に送信し、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分である。
【０１３５】
当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドで、且つデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報（情報処理装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）、及び当該他装置のＭＳステータスが含まれる。
【０１３６】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、当該装置はスレーブ装置となる。
【０１３７】
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドがまったく受信されなかった場合、又はＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、当該装置はマスター装置となる。
【０１３８】
すなわち、いずれの装置もネットワーク９に接続されていない状態、又はネットワーク９上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク９上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にスレーブ装置として設定される。
【０１３９】
マスター装置及びスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク９上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。この結果、ネットワーク９に接続されている情報処理装置の主電源が遮断され、又はネットワーク９から情報処理装置が切り離されることにより、あらかじめ判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク９に新たな情報処理装置が接続された場合など、ネットワーク９の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
【０１４０】
Ａ−８．マスター装置及びスレーブ装置における装置情報の取得
メインプロセッサ２１は、ＭＳマネージャから、ネットワーク９に接続された他の情報処理装置の照会及び自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０１４１】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている他のすべての情報処理装置についての装置情報、すなわち各スレーブ装置の装置情報を取得する。
【０１４２】
他装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、且つデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０１４３】
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク９に接続されている他のすべての装置（各スレーブ装置）についての装置情報を格納するための領域を自装置のメインメモリ２６に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。すなわち、マスター装置のメインメモリ２６には、自装置を含むネットワーク９に接続されているすべての情報処理装置の装置情報が装置情報テーブルとして記録される。
【０１４４】
一方、能力交換プログラムは、自装置がスレーブ装置である場合には、ネットワーク９に接続されている他のすべての装置についての装置情報、すなわちマスター装置及び自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤ及びＭＳステータスを、自装置のメインメモリ２６に記録する。すなわち、スレーブ装置のメインメモリ２６には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク９に接続されているマスター装置及び各スレーブ装置についての情報処理装置ＩＤ及びＭＳステータスが、別の装置情報テーブルとして記録される。
【０１４５】
また、マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、新たにネットワーク９に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ２６に記録する。
【０１４６】
なお、ＭＳマネージャ及び能力交換プログラムは、メインプロセッサ２１で実行されることに限らず、いずれかのサブプロセッサ２３で実行されてもよい。また、ＭＳマネージャ及び能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１４７】
Ａ−９．情報処理装置がネットワークから切断された場合
マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、ネットワーク９に接続されている情報処理装置の主電源が遮断され、又はネットワーク９から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ２６から削除する。
【０１４８】
さらに、このようにネットワーク９から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
【０１４９】
例えば、ネットワーク９から切断されていない情報処理装置は、それぞれ、自装置及び他装置の情報処理装置ＩＤを数値に置き換え、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク９から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行し、ＭＳステータスを０に設定し、マスター装置として、上述したように、ネットワーク９に接続されている他のすべての情報処理装置（各スレーブ装置）から装置情報を取得して、メインメモリ２６に記録する。
【０１５０】
Ａ−１０．装置情報に基づく分散処理
図５の下段に示したようにネットワーク９に接続されている複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させるためには、マスター装置がユーザの操作及びスレーブ装置の動作状態を把握する必要がある。
【０１５１】
図７には、４台の情報処理装置が仮想的な１台の情報処理装置７として動作する様子を示している。図示の例では、情報処理装置１がマスター装置、情報処理装置２、３、４がスレーブ装置Ａ、Ｂ、Ｃとしてそれぞれ動作しているものとする。
【０１５２】
ユーザがネットワーク９に接続されている情報処理装置を操作した場合、操作対象がマスター装置１であれば、その操作情報はマスター装置１において直接把握される。また、操作対象がスレーブ装置であれば、その操作情報は操作されたスレーブ装置からマスター装置１に送信される。すなわち、ユーザの操作対象がマスター装置１とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行なわれる。
【０１５３】
そして、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、上記の方法によって自装置の外部記録部２８−１、２８−２からメインメモリ２６−１に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）がマスター装置１に機能プログラムを送信してもよい。
【０１５４】
機能プログラムには、その実行単位毎に必要となる、情報処理装置種別ＩＤ、メインプロセッサ又はサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの装置に関する要求スペック（図４を参照のこと）が規定されている。
【０１５５】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、各機能プログラムについて必要となる上記の要求スペックを読み出す。また、あらかじめ能力交換プログラムによってメインメモリ２６−１に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図４に示した情報処理装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリ及び外部記録部に関する情報である。
【０１５６】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ネットワーク９上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
【０１５７】
例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサ又はサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から１つの実行要求候補装置を特定して選択する。
【０１５８】
実行要求するスレーブ装置が特定されたら、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ１１に含まれるメインメモリ２６−１に記録されている当該スレーブ装置の装置情報テーブルを更新する。
【０１５９】
さらに、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ＤＭＡコマンドが機能プログラム実行コマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインターフェースに、当該機能プログラムに関する必要なサブプロセッサの情報及びサンドボックスサイズ（図３を参照のこと）を設定し、上記実行要求されるスレーブ装置に対して送信する。
【０１６０】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上記の方法によって自装置の外部記録部２８からメインメモリ２６に機能プログラム及び当該機能プログラムと連携動作するサブプロセッサプログラムをロードする。
【０１６１】
機能プログラムの実行を要求されたスレーブ装置の外部記録部２８に必要な機能プログラム又は当該機能プログラムと連携動作するサブプロセッサプログラムが記録されていない場合には、他の情報処理装置が当該機能プログラム又はサブプロセッサプログラムをその機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
【０１６２】
サブプロセッサプログラムについては、前述のロードコマンド及びキックコマンドを利用して他の情報処理装置に実行させることもできる。
【０１６３】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、終了通知をマスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
【０１６４】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、自装置及び他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置１が当該の機能プログラムを実行する。
【０１６５】
図７に示した例で、ユーザがスレーブ装置Ａ（情報処理装置２）を操作し、当該操作に応じた機能プログラムを別のスレーブ装置Ｂ（情報処理装置３）が実行する場合の分散処理について、図８を参照しながら説明する。
【０１６６】
図８に示す例では、ユーザがスレーブ装置Ａを操作することにより、スレーブ装置Ａを含むネットワークシステム全体の分散処理が開始し、まず、スレーブ装置Ａは、その操作情報をマスター装置１に送信する（ステップ８１）。
【０１６７】
マスター装置１は、その操作情報を受信し（ステップ７２）、さらに自装置のメインメモリ２６−１に記録されている自装置及び他装置の装置情報テーブルから各情報処理装置の動作状態を調べ、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する（ステップ７３）。図示の例では、スレーブ装置Ｂが選択される場合を示している。
【０１６８】
次に、マスター装置１は、その選択したスレーブ装置Ｂに対して機能プログラムの実行を要求する（ステップ７４）。
【０１６９】
スレーブ装置Ｂは、その実行要求を受信し（ステップ９５）、さらに、実行要求された機能プログラムを実行する（ステップ９６）。
【０１７０】
以上のように、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させることができる。
【０１７１】
Ａ−１１．各情報処理装置及びシステムの具体例
ネットワーク９を介して互いに接続される情報処理装置１、２、３、４は、上記のような情報処理コントローラ１１、１２、１３、１４によって情報処理を行なうものであれば、基本的にはどのような構成でもよい。図９には、情報処理装置の一構成例を示している。
【０１７２】
情報処理コントローラ１１を備える情報処理装置１の一例は、ハードディスクレコーダである。図１０並びに図１１には、同図中のハードディスクレコーダのハードウェア構成及びソフトウェア構成をそれぞれ示している。ハードディスクレコーダのハードウェア構成としては、図１に示した外部記録部２８−１としてハードディスクを内蔵し、図１に示した外部記録部２８−２としてＤＶＤ±Ｒ／ＲＷ、ＣＤ±Ｒ／ＲＷ、Ｂｌｕｒａｙ−Ｄｉｓｃ（登録商標）などの光ディスクを装着できるように構成されるとともに、情報処理コントローラ１１のバス２９−１に接続されたバス３１−１に、放送受信部３２−１、映像入力部３３−１、音声入力部３４−１、映像出力部３５−１、音声出力部３６−１、操作パネル部３７−１、リモコン受光部３８−１及びネットワーク接続部３９−１が接続されている。
【０１７３】
放送受信部３２−１、映像入力部３３−１及び音声入力部３４−１は、放送信号を受信し、又は情報処理装置１の外部から映像信号及び音声信号を入力し、それぞれ所定フォーマットのデジタルデータに変換し、情報処理コントローラ１１での処理のためにバス３１−１に送出する。映像出力部３５−１及び音声出力部３６−１は、情報処理コントローラ１１からバス３１−１に送出された映像データ及び音声データを処理して、デジタルデータのまま、又はアナログ信号に変換して、情報処理装置１の外部に送出するものであり、リモコン受光部３８−１は、リモコン送信器４３−１からのリモコン（遠隔操作）赤外線信号を受信する。
【０１７４】
図９及び図１０に示すように、情報処理装置（ハードディスクレコーダ）１の映像出力部３５−１及び音声出力部３６−１には、モニタ表示装置４１及びスピーカ装置４２が接続される。
【０１７５】
図９に例示した情報処理コントローラ１２を備える情報処理装置２も、ハードディスクレコーダで、図１０において括弧内に参照番号を付して示すように、情報処理装置１と同様に構成される。但し、図９に示すように、情報処理装置（ハードディスクレコーダ）２には、モニタ表示装置及びスピーカ装置は接続されない。
【０１７６】
情報処理装置（ハードディスクレコーダ）１及び２、すなわち情報処理コントローラ１１及び１２のソフトウェア構成としては、図１１に示すように、制御プログラムとして、ＭＳマネージャ及び能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、素材検索及び番組録画予約のためのプログラムを備え、デバイスドライバとして、放送受信、映像出力、音声出力、外部記録部入出力及びネットワーク入出力のためのプログラムを備える。
【０１７７】
また、情報処理コントローラ１３を備える情報処理装置３の他の例は、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）である。図１２には、ＰＤＡとして構成される情報処理装置３のハードウェア構成を示している。同図に示す例では、図１に示した外部記録部２８−５として、メモリカードディスクを装着できるように構成され、情報処理コントローラ１３のバス２９−３に接続されたバス５１に、液晶表示部５２、音声出力部５３、カメラ部５４、音声入力部５５、キーボード部５６及びネットワーク接続部５７が接続されている。
【０１７８】
なお、図１では内部を省略した情報処理コントローラ１３は、メインプロセッサ２１−３、サブプロセッサ２３−７、２３−８、２３−９、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−３、ＤＣ（ディスクコントローラ）２７−３及びバス２９−３を備え、そのメインプロセッサ２１−３は、ＬＳ（ローカル・ストレージ）２２−３を有し、各サブプロセッサ２３−７、２３−８、２３−９は、ＬＳ（ローカル・ストレージ）２４−７、２４−８、２４−９を備えている。
【０１７９】
また、図１３には、情報処理装置（ＰＤＡ）３、すなわち情報処理コントローラ１３のソフトウェア構成を示している。同図に示すように、制御プログラムとして、ＭＳマネージャ及び能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、電話帳、ワープロ及び表計算のためのプログラム、及びＷｅｂブラウザを備え、デバイスドライバとして、映像出力、音声出力、カメラ映像入力、マイク音声入力及びネットワーク入出力のためのプログラムを備えている。
【０１８０】
また、情報処理コントローラ１４を備える情報処理装置４は、ポータブルＣＤプレーヤである。図１４には、ポータブルＣＤプレーヤのハードウェア構成を示している。図示の例では、ポータブルＣＤプレーヤは、図１に示した外部記録部２８−６として、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）を装着できるように構成され、情報処理コントローラ１４のバス２９−４に接続されたバス６１に、液晶表示部６２、音声出力部６３、操作ボタン部６４及びネットワーク接続部６５が接続されている。
【０１８１】
なお、図１では内部を省略した情報処理コントローラ１４は、メインプロセッサ２１−４、サブプロセッサ２３−１０、２３−１１、２３−１２、ＤＭＡＣ２５−４、ＤＣ２７−４及びバス２９−４を備え、そのメインプロセッサ２１−４は、ＬＳ２２−４を有し、各サブプロセッサ２３−１０、２３−１１、２３−１２は、ＬＳ２４−１０、２４−１１、２４−１２を有する。
【０１８２】
図１５には、情報処理装置（ポータブルＣＤプレーヤ）４、すなわち情報処理コントローラ１４のソフトウェア構成を示している。図示のように、制御プログラムとして、ＭＳマネージャ及び能力交換プログラムを備え、機能プログラムとして、音楽再生のためのプログラムを備え、デバイスドライバとして、音声出力、ＣＤ制御及びネットワーク入出力のためのプログラムを備える。
【０１８３】
図９に例示したネットワークシステムでは、情報処理装置１、３及び４がネットワーク９上に接続されており、情報処理装置１がマスター装置（ＭＳステータス＝０）として、情報処理装置３及び４がスレーブ装置（ＭＳステータス＝１）として、設定されているものとする。
【０１８４】
この状態で、新たに情報処理装置２がネットワーク９に接続されると、上述した方法によって、情報処理装置２内の情報処理コントローラ１２に含まれるメインプロセッサ２１−２で実行されているＭＳマネージャは、他の情報処理装置１、３及び４にＭＳステータスを照会して、情報処理装置１が既にマスター装置として存在することを認識し、自装置（情報処理装置２）をスレーブ装置（ＭＳステータス＝１）に設定する。また、マスター装置に設定されている情報処理装置１は、新たに追加された情報処理装置２を含む各装置の装置情報を収集して、メインメモリ２６−１内の装置情報テーブルを更新する。
【０１８５】
このような状態で、ユーザによってスレーブ装置である情報処理装置（ＰＤＡ）３で２時間の放送番組を録画予約するための操作が行なわれた場合について、以下に説明する。
【０１８６】
この場合、スレーブ装置である情報処理装置（ＰＤＡ）３は、ユーザから録画開始時刻、録画終了時刻、録画対象放送チャネル、録画品質などの情報を含む録画予約情報の入力を受け付け、当該録画予約情報及びＤＭＡコマンドとしての録画予約コマンドを含むソフトウェアセルを生成して、マスター装置である情報処理装置１に送信する。
【０１８７】
ＤＭＡコマンドが録画予約コマンドであるソフトウェアセルを受信した情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、録画予約コマンドを読み出すとともに、メインメモリ２６−１内の装置情報テーブルを参照し、当該録画予約コマンドを実行可能な情報処理装置を特定する。
【０１８８】
まず、メインプロセッサ２１−１は、装置情報テーブルに含まれる各情報処理装置１、２、３、４の情報処理装置種別ＩＤを読み出して、録画予約コマンドに対応する機能プログラムを実行可能な情報処理装置を抽出する。ここでは、録画機能を示す情報処理装置種別ＩＤを有する情報処理装置１、２が候補装置として特定され、情報処理装置３、４は候補装置から除外される。
【０１８９】
次に、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、装置情報テーブルを参照して、情報処理装置１、２のメインプロセッサ又はサブプロセッサの処理能力、メインメモリに関する情報などの装置に関する情報を読み出し、情報処理装置１、２が録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するか否かを判断する。ここでは、情報処理装置１、２とも、録画予約コマンドに対応する機能プログラムの実行に必要な要求スペックを満足するものとする。
【０１９０】
さらに、メインプロセッサ２１−１は、装置情報テーブルを参照して、情報処理装置１、２の外部記録部に関する情報を読み出し、外部記録部の空き容量が当該録画予約コマンドの実行に必要な容量を満足するか否かを判断する。情報処理装置１、２はハードディスクレコーダであるので、それぞれハードディスク２８−１、２８−３の、総容量と使用量との差分が、それぞれの空き容量に相当する。
【０１９１】
この場合、情報処理装置１のハードディスク２８−１の空き容量が、録画時間に換算して１０分であり、情報処理装置２のハードディスク２８−３の空き容量が、録画時間に換算して２０時間であるとする。
【０１９２】
このとき、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、当該録画予約コマンドの実行に必要な２時間分の空き容量を確保できる情報処理装置を、実行要求先スレーブ装置として特定する。
【０１９３】
その結果、情報処理装置２のみが実行要求先スレーブ装置として選択され、マスター装置である情報処理装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ユーザにより操作された情報処理装置３から送信された録画予約情報を含む当該録画予約コマンドを情報処理装置２に送信して、上記２時間の放送番組の録画予約の実行を要求する。
【０１９４】
そして、情報処理装置２内の情報処理コントローラ１２に含まれるメインプロセッサ２１−２は、当該録画予約コマンドを解析して、録画に必要な機能プログラムを外部記録部であるハードディスク２８−３からメインメモリ２６−２にロードし、録画予約情報に従って録画を実行する。その結果、録画予約された２時間の放送番組の映像音声データが情報処理装置２のハードディスク２８−３に記録される。
【０１９５】
このように、図９の例のネットワークシステムにおいても、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させることができる。
【０１９６】
Ｂ．ユーザの好みに基づいたコンテンツの自動処理
上述したように、グリッドコンピューティングシステムでは、ネットワーク接続された複数の情報処理装置が協調動作により分散処理を行なうことで、仮想的に１台の機器として動作する。
【０１９７】
例えば、情報処理装置を利用して、マルチメディアコンテンツに対するユーザが自らコンテンツを自分の好みの品質に編集する画質改善や、ある符号化方式で符号化されたコンテンツを他の符号化方式へ再符号化するリエンコードなど、元のコンテンツにさまざまなデータ処理を行なうことができる。
【０１９８】
ここで、コンテンツに対する画質改善のためのフィルタリング処理やリエンコード処理は、高い処理能力を必要とするデータ処理であり、システムのリソースの空き状態を確認しなければならず、また、好みの品質のコンテンツを得るためには使用するパラメータの設定を行なう必要があり、手間のかかる作業である。
【０１９９】
前項Ａで説明した機器間連携動作を行なうシステムでは、システムを構成する各機器の余剰の処理能力に基づいて命令された機能を実行する情報処理装置を動的に選択して分散処理を行なうことができる。これに対し、本項Ｂでは、この分散処理技術を応用し、リソースが空いた時間を利用してコンテンツの画質向上やリエンコードなどの負荷の高いデータ処理を自動的に行なう仕組みを当該システムに導入する。さらに、ユーザが使用するコンテンツやユーザがリクエストする処理内容からユーザの嗜好を学習し、ユーザの好みに適合するデータ処理を自動で行なうようにする。
【０２００】
Ｂ−１．システム構成
図１６には、ユーザの嗜好を学習し、ユーザ好みのデータ処理を自動で行なうコンテンツ処理システムの機能構成を示している。図示のシステムは、実際には、複数の情報処理装置がネットワーク上で仮想的に１台の情報処理装置とみなされ、これら情報処理装置間でマスターとスレーブの関係を形成し、スレーブの情報処理装置が備える情報処理コントローラ内のサブプロセッサを用いてユーザが指定した機能プログラムを実行することにより実現される。
【０２０１】
同図に示すように、コンテンツ処理システム１００は、リソース管理部１０１と、コンテンツ処理制御部１０２と、コンテンツデータ格納部１０３と、コンテンツ生成部１０４と、コンテンツ処理部１０５と、嗜好データ格納部１０６と、嗜好パラメータ算出部１０７と、嗜好パラメータリスト格納部１０８と、嗜好データ更新部１０９と、ユーザインターフェース部１１０で構成される。
【０２０２】
リソース管理部１０１は、ユーザインターフェース部１１０からユーザの要求を受け付け、コンテンツ処理制御部１０２に対して、各コンテンツに対するデータ処理を要求する。また嗜好データ格納部１０６やコンテンツデータ格納部１０３を管理して、保存されるデータを管理する。
【０２０３】
コンテンツ処理制御部１０２は、リソース管理部１０１の要求に応じてコンテンツ生成部１０４、及びコンテンツ処理部１０５に対し、それぞれの処理を制御する。
【０２０４】
コンテンツデータ格納部１０３には、データ処理される前のコンテンツ（以下、オリジナルコンテンツとする）と、それらのコンテンツに対してさまざまなパラメータでデータ処理されたコンテンツが格納されている。
【０２０５】
コンテンツ生成部１０４は、コンテンツ処理制御部１０２の要求に応じて、コンテンツデータ格納部１０３から処理するオリジナルコンテンツを取得し、また嗜好パラメータ算出部１０７にコンテンツのデータ処理する上でのパラメータ（嗜好パラメータ）のリスト（嗜好パラメータリスト）を作成させ、嗜好パラメータリスト格納部１０８からそのリストを取得してコンテンツの生成を行なう。
【０２０６】
コンテンツ処理部１０５は、コンテンツ処理制御部１０２の要求に応じて、コンテンツデータ格納部１０３からコンテンツを取得し、そのコンテンツをユーザに提供するためにユーザインターフェース部１１０に伝送する。
【０２０７】
嗜好データ格納部１０６は、ユーザ毎に嗜好データ処理テーブル、及び、ユーザに対してそれぞれのデータ処理毎に嗜好パラメータテーブルを保持している。
【０２０８】
嗜好データ処理テーブルは、ユーザ毎の、それぞれのデータ処理を選択した回数と、選択回数に基づいて算出される重みを管理している。データ処理を実行する際には、幾つかのパラメータを設定しなければならない。例えば画質改善時における画サイズや、リエンコード時におけるビットレートなどである。嗜好パラメータテーブルは、ユーザが各データ処理においてパラメータを選択した回数と、選択回数に基づいて算出される重みを管理している。これらのテーブルの詳細については後述に譲る。
【０２０９】
嗜好パラメータ算出部１０７は、コンテンツ生成部１０４の要求に応じて嗜好データ格納部１０６の嗜好データ処理テーブル及び嗜好パラメータテーブルから嗜好データを取得し、コンテンツを処理する上での嗜好パラメータリストを生成し、嗜好パラメータリスト格納部１０８へ格納する。
【０２１０】
嗜好パラメータリスト格納部１０８は、嗜好パラメータ算出部１０７により生成された嗜好パラメータを保持している。
【０２１１】
嗜好データ更新部１０９は、ユーザインターフェース部１１０からユーザの嗜好情報を取得すると、嗜好データ格納部１０６に格納されている当該ユーザの嗜好データ処理テーブル及び嗜好パラメータテーブルを更新する。
【０２１２】
ユーザインターフェース部１１０は、コンテンツ処理部１０５から送られたコンテンツをユーザに提供し、ユーザからの嗜好情報を嗜好データ更新部１０９へ送る。また、ユーザのリクエストするデータ処理をリソース管理部１０１へ通知する。
【０２１３】
以下の説明で使用する文字とその定義を下表にまとめておく。
【０２１４】
【表１】
2006033646.tif 000003
【０２１５】
また、本明細書で使用する語句について以下に説明しておく。
【０２１６】
オリジナルコンテンツ：
オリジナルコンテンツとは、もともとシステム内に保存されてあるコンテンツであり、本実施形態に係るデータ処理の自動化に関する仕組みを用いて自動的に生成されたコンテンツと区別するために使用する。
【０２１７】
データ処理：
本明細書で言うデータ処理とは、例えば、ＭＰＥＧ２からＭＰＥＧ４へのリエンコードや、インターレースプログレッシブ変換（Ｉｎｔｅｒｌａｃｅ−Ｐｒｏｇｒｅｓｓｉｖｅ Ｃｏｎｖｅｒｔ）、ノイズ除去フィルタ（Ｎｏｉｓｅ Ｒｅｄｕｃｔｉｏｎ Ｆｉｌｔｅｒｉｎｇ）などの画質向上のためのデータ処理を指している。これらのデータ処理は、処理を実行する上でパラメータが必要となる。パラメータの数はデータ処理により区々であり、本明細書では下表に示すようにｙ番目のデータ処理のパラメータ数の上限をＰyと定義している。
【０２１８】
【表２】
2006033646.tif 000004
【０２１９】
嗜好データ処理テーブル：
嗜好データ処理テーブルは、ユーザ毎の、それぞれのデータ処理を選択した回数と、選択回数に基づいて算出される重みを管理している。嗜好データ処理テーブルの構成例を以下に示す。
【０２２０】
【表３】
2006033646.tif 000005
【０２２１】
嗜好データ処理テーブルは、ユーザ毎に用意され、ユーザがｙ番目のデータ処理を選択した回数ＤＮyと、そのデータ処理の重みＤｗｙを保持している。選択回数ＤＮy の処理値は１である。ここで、選択回数ＤＮyが変更されると、重みＤｗｙは以下の式により更新される。
【０２２２】
【数１】
2006033646.tif 000006
【０２２３】
例えば、あるユーザが上記の表３に示す内容の嗜好データ処理テーブルの状態から、データ処理２を選択した場合には、そのユーザの嗜好データ処理テーブルは下表のように更新され、ユーザが選択したデータ処理の重みが増加する。
【０２２４】
【表４】
2006033646.tif 000007
【０２２５】
嗜好パラメータテーブル：
嗜好パラメータテーブルは、ユーザが各データ処理においてパラメータを選択した回数と、選択回数に基づいて算出される重みを管理している。嗜好パラメータテーブルは、ユーザ毎に、データ処理の数分だけ用意される。嗜好パラメータテーブルの構成例を以下に示す。
【０２２６】
【表５】
2006033646.tif 000008
【０２２７】
上記の表５において、１列目のパラメータはパラメータの種類である。パラメータの数Ｐの値は、前述のようにデータ処理それぞれで異なる。
【０２２８】
また、２列目の数値は、１列目のそれぞれのパラメータがとりうる数値であり、下表のように、各パラメータについて数値がとりうるパターンの数Ｍi が定義されている。
【０２２９】
【表６】
2006033646.tif 000009
【０２３０】
また、表５の３列目の選択回数ＰＮij は、それぞれのパラメータにおいて、ユーザが好みのパラメータ数値を選択したときに１だけ増加する数値で、その初期値は１である。
【０２３１】
また、４列目の重みＰｗij は、下式から求めた各パラメータ数値の重みの値である。
【０２３２】
【数２】
2006033646.tif 000010
【０２３３】
例えば、あるユーザのあるデータ処理に対する嗜好パラメータテーブルの内容が上記の表５の状態において、ユーザが以下のパラメータでそのデータ処理を行なったコンテンツを選択した場合、そのユーザの嗜好パラメータテーブルは以下の表７のように更新され、ユーザが選択した数値の重みが増加する。
【０２３４】
パラメータ１＝数値２
パラメータ２＝数値４
：
パラメータＰ＝数値１
【０２３５】
【表７】
2006033646.tif 000011
【０２３６】
嗜好データ：
嗜好データとは、嗜好データ処理テーブルを構成する各項目、及び嗜好パラメータテーブルを構成する各項目をまとめたデータのことである。
【０２３７】
嗜好パラメータ：
嗜好パラメータとは、（パラメータ１＝数値α，パラメータ２＝数値β，…，パラメータＰ＝数値γ）といった、パラメータと数値の集合である。あるデータ処理のパラメータの数はＰyであり、それぞれのパラメータがとりうる数値パターンがＭiだけあるので、その嗜好パラメータとしては、Ｍ1×Ｍ2×…×Ｍpy通りの数の嗜好パラメータが考えられることになる。
【０２３８】
嗜好パラメータリスト：
上述したように、嗜好パラメータの考えられうる数は膨大であるので、嗜好パラメータはあらかじめ設定されたＬ個の数だけリストアップされる。まず、以下の算出式から、各データ処理で生成するコンテンツ数ＤＬyを算出する。これによりユーザの選択回数が多いデータ処理ほど、自動的に生成されるコンテンツ数の内訳が多くなる。
【０２３９】
【数３】
2006033646.tif 000012
【０２４０】
次に、ＤＬyの値が最も大きいデータ処理から、ユーザの嗜好を反映した嗜好パラメータをリストアップする時の評価値として、以下の評価式を用いて嗜好パラメータの評価を行なう。
【０２４１】
【数４】
2006033646.tif 000013
【０２４２】
各パラメータのそれぞれの数値に対して、嗜好パラメータの評価値ｖを計算して、評価値 の大きい順に上位ＤＬy個の嗜好パラメータをリストアップしたものが、嗜好パラメータリストである。この嗜好パラメータリストは、オリジナルコンテンツ一つ一つに対してユーザ毎に用意される。嗜好パラメータリストの構成例を以下に示す。
【０２４３】
【表８】
2006033646.tif 000014
【０２４４】
上記の嗜好パラメータリストにおいて、１列目のコンテンツＩＤはそれぞれのコンテンツにつけられた固有のＩＤである。２列目のコンテンツパターンＩＤは、それぞれのデータ処理内容を区別するためのＩＤである。３列目のコンテンツ保存先は、４列目のデータ処理ＩＤで特定されるデータ処理を５列目及び６列目で規定される嗜好パラメータでデータ処理した結果、生成されたコンテンツの保存先を示すものである。４列目のデータ処理ＩＤは、データ処理を特定するための固有のＩＤである。５列目のパラメータは、各パラメータの種類である。６列目の数値は、各パラメータの数値である。
【０２４５】
なお、前述のようにコンテンツパターンＩＤが小さいほど、嗜好パラメータの評価値ｖは大きいことになる。
【０２４６】
ソフトウェアセル：
ネットワーク接続された複数の情報処理装置の連携動作により仮想的な１台の情報処理装置として動作するシステムにおいて、各情報処理装置間ではコマンド、プログラム及びデータを含んだソフトウェアセルが伝送される点については、既に説明した通りである。ここでは、本実施形態に係るコンテンツ処理システムにおいて、ユーザの嗜好に基づくデータ処理を自動で実行する上で使用されるソフトウェアセルについて説明する。
【０２４７】
図１７には、データ処理通知コマンドの構成を示している。このソフトウェアセルは、マスターがスレーブに以下の情報を通知するために使用される。
【０２４８】
●データ処理に対応する機能プログラムとその嗜好パラメータ
●処理させるコンテンツの格納場所
●そのコンテンツを使ってデータ処理した結果、生成されたコンテンツの保存先
【０２４９】
このソフトウェアセルのＤＭＡコマンド部にはデータ処理通知コマンドが格納され、プログラム領域には処理させるデータ処理に対応する機能プログラムを特定する機能プログラムＩＤと嗜好パラメータが格納され、データ部には処理させるコンテンツの保存先と、処理した結果、生成されたコンテンツの保存先の情報が格納されている。
【０２５０】
図１８には、機能プログラムロード完了通知コマンドの構成を示している。これは、スレーブが機能プログラムのロードが完了したことをマスターに通知するためのソフトウェアセルである。ＤＭＡコマンド部に、機能プログラムロード完了通知コマンドと機能プログラムＩＤが格納されている。
【０２５１】
図１９には、機能プログラム終了通知コマンドの構成を示している。これは、スレーブがマスターから要求された機能プログラムの処理を完了したことをマスターに通知するためのソフトウェアセルである。ＤＭＡコマンド部に、機能プログラム終了通知コマンドと機能プログラムＩＤが格納されている。
【０２５２】
図２０には、ユーザ通知コマンドの構成を示している。これは、スレーブがそのスレーブを操作しているユーザが誰であるのかをマスターに通知するためのソフトウェアセルである。ＤＭＡコマンド部に、ユーザ通知コマンドとユーザ毎に固有で定められたユーザＩＤが格納されている。
【０２５３】
図２１には、コンテンツリスト要求通知コマンドの構成を示している。これは、スレーブが、ユーザがあるコンテンツに対して自動で生成されたコンテンツのリストを提示してほしいと要求していることをマスターに通知するためのソフトウェアセルである。ＤＭＡコマンド部に、コンテンツリスト要求通知コマンドとユーザＩＤ、及びコンテンツＩＤが格納されている。
【０２５４】
図２２には、コンテンツ保存先通知コマンドの構成を示している。これは、図２１に示したコンテンツリスト要求通知コマンドに応答して、マスターが、ユーザが操作しているスレーブに、それぞれのコンテンツの保存先を通知するためのソフトウェアセルである。ＤＭＡコマンド部に、コンテンツ保存先通知コマンドとコンテンツ保存先数が格納されており、データ部には、嗜好パラメータリストにおけるコンテンツＩＤ、コンテンツパターンＩＤ、データ処理ＩＤ、嗜好パラメータ、及びコンテンツの保存先情報が格納されている。
【０２５５】
図２３には、選択コンテンツ通知コマンドの構成を示している。これは、スレーブがそのスレーブを操作しているユーザが選択したコンテンツを通知するためのソフトウェアセルである。ＤＭＡコマンド部に、選択コンテンツ通知コマンドとユーザＩＤ、コンテンツＩＤ、及び選択されたコンテンツのコンテンツパターンＩＤが格納されている。
【０２５６】
図２４には、嗜好パラメータ通知コマンドの構成を示している。これは、スレーブがユーザの好みのデータ処理とそのパラメータをマスターに通知するためのソフトウェアセルである。ＤＭＡコマンド部に、嗜好パラメータ通知コマンドとユーザＩＤ、コンテンツＩＤ、及びユーザの好む処理内容としてデータ処理ＩＤとそのパラメータが嗜好パラメータとして格納されている。
【０２５７】
図２５には、消去コンテンツ選択通知コマンドの構成を示している。これは、スレーブが、ユーザが消去を要求しているコンテンツをマスターに通知するためのソフトウェアセルである。ＤＭＡコマンド部に、消去コンテンツ選択通知コマンドとユーザＩＤ、及び選択されたコンテンツのコンテンツＩＤが格納されている。
【０２５８】
図２６には、コンテンツ消去要求コマンドの構成を示している。これは、マスターが、ユーザが消去を要求しているオリジナルコンテンツや、そのオリジナルコンテンツを基に自動で生成したコンテンツを消去するように、コンテンツを保存しているスレーブに通知するためのソフトウェアセルである。ＤＭＡコマンド部に、コンテンツ消去要求コマンドとユーザＩＤ、及び選択されたコンテンツのコンテンツＩＤが格納されている。
【０２５９】
図２７には、コンテンツ消去終了通知コマンドの構成を示している。これは、スレーブがマスターから要求されたコンテンツの消去を終了したことをマスターに通知するためのソフトウェアセルである。ＤＭＡコマンド部にコンテンツ消去終了通知コマンドとユーザＩＤ、及びコンテンツＩＤが格納されている。
【０２６０】
Ｂ−２．実施例
本実施形態に係るコンテンツ処理システムは、ユーザが使用するコンテンツやユーザがリクエストする処理内容からユーザの嗜好を学習して、ユーザの好みに適合するデータ処理を自動で行なうものである。このデータ処理は、仮想的な１台の情報処理装置として連携動作する複数の情報処理装置において余剰の処理能力を持つ情報処理装置を利用して実現することができる。あるいは、１以上のサブプロセッサとこれらサブプロセッサにプログラムの実行を命令するメインプロセッサを備えたマルチプロセッサ構成の情報処理コントローラを備える情報処理装置において、余剰の処理能力を持つサブプロセッサを利用して実現することもできる。
【０２６１】
Ｂ−２−１．実施例１
まず、複数の情報処理装置が連携している場合に、ある情報処理装置に格納されているオリジナルコンテンツに対して、情報処理装置のリソースの空き時間を利用してデータ処理を自動で行ない、１つのオリジナルコンテンツに対して複数のパターンのコンテンツを新たに生成するというユースケースについて説明する。また、生成した複数のパターンのコンテンツをユーザに提示して、ユーザの嗜好を学習する仕組み、及びユーザがオリジナルコンテンツを消去した場合に、そのオリジナルコンテンツとそのオリジナルコンテンツをもとに生成したコンテンツを消去する仕組みについても併せて説明する。
【０２６２】
なお、以下の説明では、処理対象となるコンテンツとして静止画像を想定するが、音声、動画像などのコンテンツでも構わない。また、ユーザが好みとするデータ処理として品質向上のためのフィルタリング処理を想定するが、本発明は特にそのようなフィルタリング処理に限るものではない。
【０２６３】
図２８には、コンテンツを自動的に生成するユースケースについて、品質向上を目的としたデータ処理で複数のパターンのコンテンツを自動で生成するときのマスター側の処理動作をフローチャートの形式で示している。
【０２６４】
まず、マスターは、未処理のオリジナルコンテンツを検索し、未処理のオリジナルコンテンツ数Ｃを取得する（ステップＳ１）。
【０２６５】
ここで、未処理のオリジナルコンテンツ数Ｃ＝０の場合は、コンテンツを自動的に生成する必要がないので終了し、Ｃが１以上の場合は後続の処理を行なう（ステップＳ２）。
【０２６６】
マスターは、ｘ番目（ｘ＝１〜ｘ＝Ｃ）の未処理のオリジナルコンテンツに対し、そのオリジナルコンテンツを扱っているユーザ数Ｕを取得する（ステップＳ３）。
【０２６７】
次いで、マスターは、ｚ番目（ｚ＝１〜ｚ＝Ｕ）のユーザの嗜好データを取得する（ステップＳ４）。
【０２６８】
そして、マスターは、その嗜好データから、別途定義されている嗜好パラメータリスト生成処理により、計Ｌ通りの嗜好パラメータを生成し、嗜好パラメータリスト（表８を参照のこと）を生成する（ステップＳ５）。嗜好パラメータリストの生成処理の詳細については後述に譲る。
【０２６９】
次いで、マスターは、その嗜好パラメータリストからｋ番目（ｋ＝１〜ｋ＝Ｌ）の嗜好パラメータを取り出し、その嗜好パラメータで、オリジナルコンテンツを処理可能な情報処理装置と保存先を検索する（ステップＳ６）。
【０２７０】
オリジナルコンテンツを処理可能な情報処理装置と保存先が発見されれば（ステップＳ７）、その情報処理装置（以下、単にスレーブ）に対してデータ処理通知コマンドのソフトウェアセル（図１７を参照のこと）を送信し、品質向上機能プログラムのロードを要求する（ステップＳ８）。また、オリジナルコンテンツを処理可能な情報処理装置と保存先が発見されなかった場合は、ステップＳ６へ戻り、次の嗜好パラメータについて処理可能な情報処理装置と保存先を検索する。
【０２７１】
マスターは、スレーブから機能プログラムロード完了通知コマンドのソフトウェアセル（図１８を参照のこと）を受信して、スレーブの品質向上機能プログラムのロード完了を確認したら、スレーブに対して機能プログラム実行コマンドのソフトウェアセルを送信して、品質向上機能プログラムの実行を命令する（ステップＳ９）。
【０２７２】
マスターは、機能プログラム終了通知コマンドのソフトウェアセル（図１９を参照のこと）を受信することでスレーブの品質向上処理の終了を確認したら（ステップＳ１０）、生成されたコンテンツの保存先を嗜好パラメータリストのコンテンツ保存先の欄に追加する。
【０２７３】
その後、嗜好パラメータでコンテンツを新たに生成する処理を嗜好パラメータリストのリスト数のＬ回だけ行なう（ループ３）。
【０２７４】
また、ユーザ毎に嗜好パラメータリストを生成し、嗜好パラメータでコンテンツを新たに生成する処理をユーザ数であるＵ回だけ行なう（ループ２）。
【０２７５】
また、オリジナルコンテンツについてユーザ毎に嗜好パラメータリスト数分のコンテンツを新たに生成する処理を未処理のオリジナルコンテンツ数のＣ回だけ行なう（ループ１）。
【０２７６】
ステップＳ７において、オリジナルコンテンツを処理可能な情報処理装置と保存先が発見されなかったデータ処理については、そのデータ処理が行なわれないので、嗜好パラメータリストの保存先が空欄となる。嗜好パラメータリストの保存先が空欄となっているデータ処理については、後にそのデータ処理を処理可能な情報処理装置と保存先が発見され次第、順次行なうことでリソースの空き状況を確認しながらのコンテンツの自動生成が可能となる。
【０２７７】
図２９には、上記のステップＳ５において実行される、嗜好パラメータリストの生成処理の手順をフローチャートの形式で示している。
【０２７８】
まず、マスターは、対象となっているユーザの嗜好データを取得する（ステップＳ１１）。
【０２７９】
そして、各データ処理に対して、前述の算出式（３）を用いてそのデータ処理で生成するコンテンツ数ＤＬyを算出し、ＤＬy の値の大きい順からデータ処理の順位付けを行なう（ステップＳ１２）。
【０２８０】
ＤＬyの値が大きなデータ処理から順に、それぞれのデータ処理の各パラメータがとり得るすべての数値パターンの嗜好パラメータの組み合わせに対して、前述の嗜好パラメータの評価式（４）から、それぞれの嗜好パラメータの評価値ｖを算出する（ステップＳ１３）。
【０２８１】
そして、ｖの値の大きな嗜好パラメータから順に嗜好パラメータリストに格納していく（ステップＳ１４）。
【０２８２】
図３０には、コンテンツの自動生成時におけるマスターとスレーブ間の動作シーケンスを示している。但し、同図において、情報処理装置ａがマスターとして動作し、情報処理装置ｂがスレーブとして動作するものとする。
【０２８３】
マスター側では、未処理のコンテンツを検索し、そのコンテンツを扱うユーザを特定し、ユーザの嗜好データを取得する。そして、ユーザの嗜好データから求めた嗜好パラメータを算出し、そのパラメータでコンテンツを生成できる情報処理装置と保存可能先を検索する。
【０２８４】
ここで、コンテンツを生成できる情報処理装置として、スレーブとして動作する情報処理装置ｂが発見されたとする。そこで、マスターは、このスレーブに対し、ユーザが好みとするデータ処理を実行する品質向上機能プログラムのロードを要求する。
【０２８５】
スレーブは、マスターからの機能プログラムロード要求を受信すると、この機能プログラムをロードし、ロードの完了をマスターに通知する。
【０２８６】
マスターは、機能プログラムの完了通知を受信すると、続いて、品質向上機能の実行をスレーブに命令する。
【０２８７】
スレーブは、この命令に応答して、品質向上機能プログラムを実行し、実行が終了すると、これをマスターに通知する。そして、マスターは、スレーブにおける品質向上機能の終了を確認する。
【０２８８】
このような仕組みにより、システムの空きリソースを利用してユーザの好みとするデータ処理が自動的に行なわれ、ユーザからリクエストされる前にコンテンツが生成される。
【０２８９】
ユーザがコンテンツリストを要求した後、コンテンツリストからユーザが好みのコンテンツを選択することができるが、コンテンツ処理システムは、このコンテンツ選択の際にユーザの嗜好の学習を行なう。ここで言う「コンテンツを選択する」とは、ユーザがそのコンテンツの表示を要求したり、別の保存先へのコピーを要求したりするなど、そのコンテンツを選択してなんらかの処理を要求することを意味する。
【０２９０】
図３１には、コンテンツ処理システムにおいて、ユーザの嗜好の学習を行なうための動作シーケンスを示している。図示の例では、コンテンツ処理システムはマスターとして動作する情報処理装置ａとスレーブとして動作する情報処理装置ｂで構成され、ユーザＡがスレーブに対し操作を行なう際に、当該ユーザＡの嗜好を学習するものとする。
【０２９１】
まず、ユーザＡは情報処理装置ｂに対して、自分が誰であるのかを通知している。ユーザが操作しているスレーブは、そのユーザのユーザＩＤを取得し、ユーザ通知コマンドのソフトウェアセル（図２０を参照のこと）をマスターに送信する。
【０２９２】
次いで、ユーザがあるオリジナルコンテンツに対して、自動的に生成されたコンテンツの一覧を要求すると、スレーブはそのコンテンツのコンテンツＩＤを取得し、コンテンツリスト要求通知コマンドのソフトウェアセル（図２１を参照のこと）を送信して、マスターに通知する。
【０２９３】
マスターは、そのユーザＩＤとコンテンツＩＤからそのユーザの嗜好パラメータリスト（表８を参照のこと）を特定し、それぞれのコンテンツの保存先を、コンテンツ保存先通知コマンドのソフトウェアセル（図２２を参照のこと）に格納して、スレーブに送信する。
【０２９４】
スレーブは、受信したソフトウェアセルからコンテンツ保存先の情報を受け取ると、それぞれの保存先からコンテンツをすべて、自身のメインメモリにロードする。そして、ユーザにコンテンツ一覧を提示する。
【０２９５】
ユーザがコンテンツ一覧を見て、所望のコンテンツを選択することができる。そして、何らかのコンテンツが選択されたら、スレーブはこのコンテンツのコンテンツパターンＩＤを、選択コンテンツ通知コマンドのソフトウェアセル（図２３を参照のこと）に格納して、マスターに送信する。
【０２９６】
そして、マスターは、スレーブからの選択コンテンツの通知を基に、当該ユーザＡについての嗜好の学習処理を行なう。
【０２９７】
図３２には、マスターにおいてユーザの嗜好の学習を行なうための処理手順をフローチャートの形式で示している。
【０２９８】
マスターは、選択コンテンツ通知コマンドのソフトセルを受信すると、ユーザが選択したコンテンツのコンテンツパターンＩＤからそのコンテンツを生成した時のデータ処理と嗜好パラメータを嗜好パラメータリストから取得する（ステップＳ２１）。
【０２９９】
そして、嗜好データ処理テーブルにおいて、ユーザが選択したデータ処理の選択回数ＤＮyの値を１だけ増やし（ステップＳ２２）、上述した重みの更新式（１）を用いてそれぞれのデータ処理の重みＤｗyを更新する（ステップＳ２３）。
【０３００】
また、嗜好パラメータテーブルにおいて、ユーザが選択した嗜好パラメータの選択回数ＰＮijの値を１だけ増やし（ステップＳ２４）、上述した重みの更新式（２）を用いてそれぞれの数値の重みＰｗijを更新する（ステップＳ２５）。
【０３０１】
ユーザの嗜好を学習することで、同じデータ処理をするにしても、ユーザの好みのパラメータと数値からなる嗜好パラメータの上式（４）で算出される評価値ｖが大きくなるので、結果的に、ユーザ好みの嗜好パラメータが嗜好パラメータリストの上位にリストアップされることになる。したがって、リソースの空き状況を利用してデータ処理を自動で行なう場合に、ユーザの好みとするコンテンツが生成されるタイミングが早くなるので、ユーザが好みのコンテンツをリクエストした場合にそのコンテンツが既に生成されている可能性が高くなること、すなわちシステムのレスポンス向上が期待できる。
【０３０２】
続いて、本実施形態に係るコンテンツ処理システムにおいて、ユーザがオリジナルコンテンツを消去した場合の仕組みについて説明する。ユーザがあるオリジナルコンテンツを消去した場合、そのコンテンツを基に自動的に生成された大量のコンテンツについても自動的に消去されるので、ユーザがコンテンツを一つ一つ消去する手間がなくなる。
【０３０３】
図３３には、コンテンツ処理システムにおいて、ユーザが消去させたいオリジナルコンテンツを選択したときの動作シーケンスを示している。
【０３０４】
まず、ユーザＡは、スレーブとして動作する情報処理装置ｂに対し、自分が誰であるのかを通知する。そして、ユーザＡが操作しているスレーブは、そのユーザＡのユーザＩＤを取得して、ユーザ通知コマンドのソフトウェアセル（図２０を参照のこと）をマスターに送信し、ユーザＡを通知する。
【０３０５】
続いて、ユーザＡが消去させるコンテンツを選択したら、スレーブは、ユーザＩＤと、このコンテンツのコンテンツＩＤを消去コンテンツ選択通知コマンドのソフトウェアセル（図２５を参照のこと）に格納してマスターに送信する。
【０３０６】
マスターは、消去コンテンツ選択通知コマンドのソフトウェアセルを受信すると、選択コンテンツの消去処理を行なう。
【０３０７】
図３４には、マスターが消去コンテンツの選択に応じてコンテンツを消去するための処理手順をフローチャートの形式で示している。
【０３０８】
マスターは、消去コンテンツ選択通知コマンドのソフトウェアセル（図２５を参照のこと）を解析し、ユーザＩＤとコンテンツＩＤを確認する（ステップＳ３１，Ｓ３２）。そして、そのユーザの嗜好パラメータリスト（表８を参照のこと）の中から消去を要求されたコンテンツの嗜好パラメータリストを抽出し、各コンテンツパターンの保存先を取得する。
【０３０９】
そして、マスターは、各コンテンツを保存している情報処理装置に対して、コンテンツ消去要求コマンドのソフトウェアセル（図２６を参照のこと）を送信する（ステップＳ３３）。
【０３１０】
次いで、マスターは、コンテンツ消去要求コマンドのソフトウェアセルを送信した情報処理装置から、コンテンツ消去終了通知コマンドのソフトウェアセル（図２７を参照のこと）を受信すると（ステップＳ３４）、嗜好パラメータリストから、消去を確認したコンテンツパターンの項目を削除する（ステップＳ３５）。
【０３１１】
マスターは、オリジナルコンテンツから生成したコンテンツの保存先に対しコンテンツ消去要求コマンドを送信し、コンテンツ消去の終了を確認するという上述の処理を、嗜好パラメータリストのリスト数のＬ回だけ行なう。
【０３１２】
図３５には、コンテンツ処理システムにおいて、選択コンテンツの消去処理を行なうための動作シーケンスを示している。
【０３１３】
なお、同図では、選択されたオリジナルコンテンツから生成したコンテンツの保存先が、スレーブとして動作する情報処理装置ｂ及びｃの２台である場合を例にとっているが、保存先がより多い場合も同様の動作シーケンスにより実現することができる。また、１つの情報処理装置の中で消去を要求されているコンテンツを複数保持している場合も、その保持しているコンテンツの数だけマスターからコンテンツ消去要求コマンドのソフトウェアセル（図２６を参照のこと）を受信することになる。
【０３１４】
マスターとして動作する情報処理装置ａは、選択されたコンテンツＩＤを確認し、嗜好パラメータリストを参照し、当該コンテンツを基にデータ処理により生成された各コンテンツの保存先となる情報処理装置を特定する。図示の例では、スレーブとして動作する情報処理装置ｂ及びｃが特定される。そして、情報処理装置ａは、情報処理装置ｂ及びｃに対して、コンテンツ消去要求コマンドのソフトウェアセル（図２６を参照のこと）をそれぞれ送信する。
【０３１５】
これに対し、情報処理装置ｂ及びｃでは、コンテンツ消去要求コマンドのソフトウェアセルを受信すると、当該コマンドで指定されているコンテンツを消去し、コンテンツ消去完了通知コマンドのソフトウェアセルを情報処理装置ａに送信する。
【０３１６】
情報処理装置ａは、コンテンツ消去要求コマンドの各送信先からコンテンツ消去完了が通知されると、嗜好パラメータリストから、消去が確認されたコンテンツの情報エントリを消去する。
【０３１７】
このように、ユーザがあるオリジナルコンテンツを消去した場合、そのコンテンツを基に自動的に生成された大量のコンテンツについても自動的に消去されるので、ユーザがコンテンツを一つ一つ消去する手間がなくなる。
【０３１８】
Ｂ−２−２．実施例２
続いて、１以上のサブプロセッサとこれらサブプロセッサにプログラムの実行を命令するメインプロセッサを備えたマルチプロセッサ構成の情報処理コントローラを備える情報処理装置において、余剰の処理能力を持つサブプロセッサを利用してデータ処理を自動で行ない、１つのオリジナルコンテンツに対して複数のパターンのコンテンツを新たに生成するユースケースについて説明する。
【０３１９】
図３６には、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用してデータ処理を自動で行なうための処理動作をフローチャートの形式で示している。
【０３２０】
まず、メインプロセッサは、未処理のオリジナルコンテンツを検索し、未処理のオリジナルコンテンツ数Ｃを取得する（ステップＳ４１）。
【０３２１】
ここで、未処理のオリジナルコンテンツ数Ｃ＝０の場合は、コンテンツを自動的に生成する必要がないので終了し、Ｃが１以上の場合は後続の処理を行なう（ステップＳ４２）。
【０３２２】
メインプロセッサは、ｘ番目（ｘ＝１〜ｘ＝Ｃ）の未処理のオリジナルコンテンツに対し、そのオリジナルコンテンツを扱っているユーザ数Ｕを取得する（ステップＳ４３）。
【０３２３】
次いで、メインプロセッサは、ｚ番目（ｚ＝１〜ｚ＝Ｕ）のユーザの嗜好データを取得する（ステップＳ４４）。
【０３２４】
そして、メインプロセッサは、その嗜好データから、別途定義されている嗜好パラメータリスト生成処理により、計Ｌ通りの嗜好パラメータを生成し、嗜好パラメータリスト（表８を参照のこと）を生成する（ステップＳ４５）。
【０３２５】
次いで、メインプロセッサは、その嗜好パラメータリストからｋ番目（ｋ＝１〜ｋ＝Ｌ）の嗜好パラメータを取り出し、その嗜好パラメータで、オリジナルコンテンツを処理可能で保存領域に空きがあるサブプロセッサを検索する（ステップＳ４６）。
【０３２６】
オリジナルコンテンツを処理可能なサブプロセッサが発見され、保存領域に空きがあれば（ステップＳ４７）、そのサブプロセッサのローカルストレージに品質向上機能プログラムをロードする（ステップＳ４８）。また、オリジナルコンテンツを処理可能で保存領域に空きがあるサブプロセッサが発見されなかった場合は、ステップＳ４６へ戻り、次の嗜好パラメータについて処理可能で保存領域に空きがあるサブプロセッサを検索する。
【０３２７】
品質向上機能プログラムをロードしたサブプロセッサはこれを実行する（ステップＳ４９）。メインプロセッサは、サブプロセッサによる機能プログラムの終了を確認したら（ステップＳ５０）、生成されたコンテンツの保存先を嗜好パラメータリストのコンテンツ保存先の欄に追加する。
【０３２８】
その後、嗜好パラメータでコンテンツを新たに生成する処理を嗜好パラメータリストのリスト数のＬ回だけ行なう（ループ３）。
【０３２９】
また、ユーザ毎に嗜好パラメータリストを生成し、嗜好パラメータでコンテンツを新たに生成する処理をユーザ数Ｕ回だけ行なう（ループ２）。
【０３３０】
また、オリジナルコンテンツについてユーザ毎に嗜好パラメータリスト数分のコンテンツを新たに生成する処理を未処理のオリジナルコンテンツ数のＣ回だけ行なう（ループ１）。
【０３３１】
ステップＳ４７において、オリジナルコンテンツを処理可能で保存領域の空きのあるサブプロセッサが発見されなかったデータ処理については、そのデータ処理が行なわれないので、嗜好パラメータリストの保存先が空欄となる。嗜好パラメータリストの保存先が空欄となっているデータ処理については、後にそのデータ処理を処理可能で保存領域の空きのあるサブプロセッサが発見され次第、順次行なうことでリソースの空き状況を確認しながらのコンテンツの自動生成が可能となる。
【０３３２】
図３７には、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用して、ユーザの嗜好の学習を行なうための動作シーケンスを示している。
【０３３３】
まず、ユーザＡは情報処理装置に対して、自分が誰であるのかを通知する。
【０３３４】
次いで、ユーザがあるオリジナルコンテンツに対して、自動的に生成されたコンテンツの一覧を要求すると、情報処理装置は、ユーザにコンテンツ一覧を提示する。
【０３３５】
ユーザがコンテンツ一覧を見て、所望のコンテンツを選択することができる。そして、何らかのコンテンツが選択されたら、情報処理装置は、ユーザが選択したコンテンツを基に、当該ユーザＡについての嗜好の学習処理を行なう。
【０３３６】
図３８には、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用して、ユーザが消去させたいオリジナルコンテンツを消去するための動作シーケンスを示している。
【０３３７】
まず、ユーザＡは、情報処理装置に対し自分が誰であるのかを通知し、情報処理装置は、ユーザＡを通知する。
【０３３８】
続いて、ユーザＡが消去させるコンテンツを選択したら、情報処理装置は、選択コンテンツの消去処理を行なう。
【０３３９】
図３９には、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用して、ユーザによる消去コンテンツの選択に応じてコンテンツを消去するための処理手順をフローチャートの形式で示している。
【０３４０】
メインプロセッサは、まず、ユーザＩＤと選択されたコンテンツＩＤを確認する（ステップＳ５１，Ｓ５２）。そして、そのユーザの嗜好パラメータリスト（表８を参照のこと）の中から消去を要求されたコンテンツの嗜好パラメータリストを抽出し、各コンテンツパターンの保存先を取得する。
【０３４１】
そして、メインプロセッサは、サブプロセッサに対して、各コンテンツの消去を命令する（ステップＳ５３）。
【０３４２】
次いで、メインプロセッサは、保存先のサブプロセッサによりコンテンツの消去が実行されると、嗜好パラメータリストから、消去を確認したコンテンツパターンの項目を削除する（ステップＳ５４）。
【０３４３】
メインプロセッサは、オリジナルコンテンツから生成したコンテンツの保存先のサブプロセッサに対しコンテンツの消去を命令し、嗜好パラメータリストから該当コンテンツの情報を消去するという上述の処理を、嗜好パラメータリストのリスト数のＬ回だけ行なう。
【０３４４】
Ｂ−２−３．ユーザのリクエストするコンテンツの提供
この項では、ユーザがあるデータ処理を行なったコンテンツをリクエストした場合に、情報処理装置がそのコンテンツは既に生成されているかどうかを調べて、ユーザにそのコンテンツを提供するというユースケースについて記述する。
【０３４５】
ここで扱うコンテンツは、動画像とするが、音声、静止画像などのコンテンツでも構わない。また、このコンテンツにはメタデータが付加されており、そのメタデータからコンテンツジャンルが「英会話」であることが判っているとする。また、データ処理は、ＭＰＥＧ２でエンコードされた動画像データをＭＰＥＧ４へリエンコードする処理とするが、他のデータ処理でも勿論構わない。
【０３４６】
まず、複数の情報処理装置が連携している場合において、ユーザのリクエストするコンテンツを提供する処理について説明する。
【０３４７】
ある情報処理装置に格納されているコンテンツに対して、ユーザがあるデータ処理を行なったコンテンツをリクエストした場合に、情報処理装置がそのコンテンツは既に生成されているかどうかを調べ、ユーザにそのコンテンツを提供する。ユーザの要求したデータ処理を行なったコンテンツがまだ生成されていない場合は、リソースの空き状況を確認し、余剰の処理能力のある情報処理装置を用いてそのコンテンツを生成してからユーザに提供する。
【０３４８】
この場合の処理の前提として、コンテンツの自動生成（図３０を参照のこと）、並びにユーザの嗜好の学習（図３１及び図３２を参照のこと）を行なって、自動的にユーザ好みのコンテンツを生成しているものとする。なお、コンテンツのジャンルが「英会話」と判っており、ユーザが「英会話」のコンテンツを「ＭＰＥＧ２からＭＰＥＧ４へのリエンコード」処理（ここでは、この処理をデータ処理３とする）に重みをおくようにあらかじめ設定していた場合は、以下の表９に示した嗜好データ処理テーブルのように、データ処理３の選択回数の初期値を他のデータ処理の選択回数の初期値よりも大きくすることで、データ処理３の重みを大きくすることが可能である。
【０３４９】
【表９】
2006033646.tif 000015
【０３５０】
図４０には、コンテンツ処理システムにおいて、ユーザがリクエストしたコンテンツの検索を行なうための処理手順をフローチャートの形式で示している。ここでは、ユーザがＭＰＥＧ２で符号化された「英会話の」コンテンツに対してＭＰＥＧ４で符号化された「英会話」のコンテンツをリクエストする場合を想定している。
【０３５１】
マスターは、リクエストしたユーザが誰であるかをユーザＩＤから確認する（ステップＳ６１）。
【０３５２】
次いで、マスターは、データ処理をリクエストされたコンテンツが何であるかをコンテンツＩＤから確認する（ステップＳ６２）。
【０３５３】
次いで、マスターは、ユーザがリクエストしたデータ処理内容（今回は、ＭＰＥＧ２からＭＰＥＧ４へのリエンコード）からデータ処理ＩＤを求め、その嗜好パラメータ（以下、嗜好パラメータＲ）を取得する（ステップＳ６３）。
【０３５４】
そして、マスターは、上記のステップＳ６２で確認したコンテンツの嗜好パラメータリストからｋ番目（ｋ＝１〜ｋ＝Ｌ）のデータ処理ＩＤと嗜好パラメータを取り出し、それらが、ステップＳ６３で取得したデータ処理及び嗜好パラメータＲと同じかどうかを調べる（ステップＳ６４）。
【０３５５】
ここで、ユーザがリクエストしたデータ処理内容が嗜好パラメータリストに存在する場合は、次にそのデータ処理が行なわれてコンテンツが生成されているかどうかを調べる（ステップＳ６７）。
【０３５６】
ステップＳ６７で、既にコンテンツが生成されていると判別された場合には、嗜好パラメータリストからそのコンテンツの保存先を取得し（ステップＳ６８）、当該リクエストコンテンツの検索処理を終了する。
【０３５７】
また、ステップＳ６８でコンテンツが未生成であると判別された場合には、嗜好パラメータＲでのＭＰＥＧ２からＭＰＥＧ４へのリエンコードというデータ処理が可能な情報処理装置と保存先を検索し、その情報処理装置にデータ処理通知コマンドのソフトウェアセル（図１７を参照のこと）、続いて機能プログラム実行コマンドのソフトウェアセルを順次送信し、機能プログラムの実行を命令して、コンテンツを生成する（ステップＳ６５）。その情報処理装置から機能プログラム終了通知コマンドのソフトウェアセル（図１９を参照のこと）を受信したら、マスターは生成されたコンテンツの保存先を取得して（ステップＳ６６）、当該リクエストコンテンツの検索処理を終了する。
【０３５８】
一方、ステップＳ６４において、ユーザがリクエストしたデータ処理内容が嗜好パラメータリストに存在しない場合には、上述と同じく、ユーザのリクエストするＭＰＥＧ２からＭＰＥＧ４へのリエンコードを実行可能なスレーブの情報処理装置にデータ処理を要求してコンテンツを生成し（ステップＳ６５）、コンテンツの保存先を取得して、リクエストコンテンツの検索処理を終了する（ステップＳ６６）。
【０３５９】
図４１には、ユーザがリクエストしたコンテンツの検索を行なうときの、ユーザとユーザが操作しているスレーブ、及びマスター間での動作シーケンスを示している。
【０３６０】
まず、ユーザＡは自身が誰であるかをスレーブに通知する。そして、スレーブは、ユーザＩＤを取得し、ユーザ通知コマンドソフトウェアセル（図２０を参照のこと）をマスターに送信し、ユーザＡを通知する。
【０３６１】
続いて、ユーザＡが、あるＭＰＥＧ２で符号化されているコンテンツに対してＭＰＥＧ４でのリエンコードを要求し、そのリエンコードにおけるパラメータをスレーブに通知する。
【０３６２】
これに対し、スレーブは、嗜好パラメータ通知コマンドのソフトウェアセル（図２４を参照のこと）を生成して、マスターにユーザＡのリクエストするコンテンツとデータ処理及びパラメータの内容を通知する。
【０３６３】
ここで、マスターは、前述のリクエストコンテンツの検索処理（図４０を参照のこと）を行ない、リクエストされたコンテンツの保存先を取得する。
【０３６４】
そして、マスターは、リクエストされたコンテンツの保存先をコンテンツ保存先通知コマンドのソフトウェアセル（図２２を参照のこと）に格納して（この場合、コンテンツ保存先数Ｌは１である）、スレーブにそのソフトウェアセルを送信する。
【０３６５】
スレーブは、マスターからコンテンツ保存先通知コマンドのソフトウェアセルを受信したら、そのソフトウェアセルからコンテンツ保存先を抽出してコンテンツのロードを行なう。そして、スレーブは、ロードしたコンテンツをユーザＡに提供する。
【０３６６】
マスターは、コンテンツの保存先を通知した後、ユーザＡがリクエストしたデータ処理（今回は、ＭＰＥＧ２からＭＰＥＧ４へのリエンコード）とそのパラメータからユーザの嗜好の学習処理（図３２を参照のこと）を行なう。
【０３６７】
続いて、１以上のサブプロセッサとこれらサブプロセッサにプログラムの実行を命令するメインプロセッサを備えたマルチプロセッサ構成の情報処理コントローラを備える情報処理装置において、余剰の処理能力を持つサブプロセッサを利用して、ユーザのリクエストするコンテンツを提供する処理について説明する。
【０３６８】
図４２には、ユーザがリクエストしたコンテンツの検索を行なうときの、ユーザと情報処理装置間での動作シーケンスを示している。
【０３６９】
まず、ユーザＡは自身が誰であるかを情報処理装置に通知、これに対し、情報処理装置は、ユーザＡを把握する。
【０３７０】
続いて、ユーザが、あるＭＰＥＧ２で符号化されているコンテンツに対してＭＰＥＧ４でのリエンコードを要求し、そのリエンコードにおけるパラメータを情報処理装置に通知する。
【０３７１】
これに対し、情報処理装置は、前述のリクエストコンテンツの検索処理（図４０を参照のこと）を行ない、リクエストされたコンテンツの保存先を取得して、情報処理装置は、コンテンツをユーザに提供する。
【０３７２】
そして、情報処理装置は、コンテンツを提示した後、ユーザがリクエストしたデータ処理（今回は、ＭＰＥＧ２からＭＰＥＧ４へのリエンコード）とそのパラメータからユーザの嗜好の学習処理（図３２を参照のこと）を行なう。
【産業上の利用可能性】
【０３７３】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０３７４】
例えば、コンテンツのジャンルが判明して、コンテンツのジャンルからユーザ好みのデータ処理が判明しているときは、そのデータ処理にあらかじめ重みをつけることで、ユーザの好みのコンテンツを自動的に生成させ易くすることが可能となる。
【０３７５】
また、本発明に係るシステムは、単一の情報処理装置で実現するだけでなく、サブプロセッサを複数内蔵する情報処理コントローラを備える情報処理装置が同一のネットワーク上に複数台接続され、それぞれの情報処理装置に具備されているメインメモリ、又は外部記憶装置内のアプリケーションプログラム及びデータが、ネットワーク上のどの情報処理装置機器からもアクセス可能なシステムにおいても実現する。
【０３７６】
また、本発明の要旨は、本明細書に記述した実施形態に限定されるものではなく、静止画像、音声、動画像などさまざまな形式のコンテンツデータを扱う情報処理装置において、同様に本発明を適用することで、ユーザの嗜好を学習し、ユーザの好みに適合したデータ処理をリソースの空き時間を利用して自動で実行することができる。
【０３７７】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【図面の簡単な説明】
【０３７８】
【図１】図１は、本発明の一実施形態に係るネットワーク・システムの構成を示した図である。
【図２】図２は、サブプロセッサ２３からメインメモリ２４へのアクセス手順を説明するための図である。
【図３】図３は、ソフトウェアセルの構成例を示した図である。
【図４】図４は、ＤＭＡコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示した図である。
【図５】図５は、複数の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示した図である。
【図６】図６は、情報処理コントローラのソフトウェア構成の一例を示した図である。
【図７】図７は、４台の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示した図である。
【図８】図８は、図７に示したシステムにおける分散処理の例を示した図である。
【図９】図９は、各情報処理装置及びシステムの具体例を示した図である。
【図１０】図１０は、図９中のハード・ディスク・レコーダのハードウェア構成を示した図である。
【図１１】図１１は、図９中のハード・ディスク・レコーダのソフトウェア構成を示した図である。
【図１２】図１２は、図９中のＰＤＡのハードウェア構成を示した図である。
【図１３】図１３は、図９中のＰＤＡのソフトウェア構成を示した図である。
【図１４】図１４は、図９中のポータブルＣＤプレーヤのハードウェア構成を示した図である。
【図１５】図１５は、図９中のポータブルＣＤプレーヤのソフトウェア構成を示した図である。
【図１６】図１６は、ユーザの嗜好を学習し、ユーザ好みのデータ処理を自動で行なう情報処理システムの機能構成を示した図である。
【図１７】図１７は、データ処理通知コマンドの構成を示した図である。
【図１８】図１８は、機能プログラムロード完了通知コマンドの構成を示した図である。
【図１９】図１９は、機能プログラム終了通知コマンドの構成を示した図である。
【図２０】図２０は、ユーザ通知コマンドの構成を示した図である。
【図２１】図２１は、コンテンツリスト要求通知コマンドの構成を示した図である。
【図２２】図２２は、コンテンツ保存先通知コマンドの構成を示した図である。
【図２３】図２３は、選択コンテンツ通知コマンドの構成を示した図である。
【図２４】図２４は、嗜好パラメータ通知コマンドの構成を示した図である。
【図２５】図２５は、消去コンテンツ選択通知コマンドの構成を示した図である。
【図２６】図２６は、コンテンツ消去要求コマンドの構成を示した図である。
【図２７】図２７は、コンテンツ消去終了通知コマンドの構成を示した図である。
【図２８】図２８は、品質向上を目的としたデータ処理で複数のパターンのコンテンツを自動で生成するときのマスター側の処理動作を示したフローチャートである。
【図２９】図２９は、嗜好パラメータリストの生成処理の手順を示したフローチャートである。
【図３０】図３０は、コンテンツの自動生成時におけるマスターとスレーブ間の動作シーケンスを示した図である。
【図３１】図３１は、コンテンツ処理システムにおいてユーザの嗜好の学習を行なうための動作シーケンスを示した図である。
【図３２】図３２は、マスターにおいてユーザの嗜好の学習を行なうための処理手順を示したフローチャートである。
【図３３】図３３は、コンテンツ処理システムにおいて、ユーザが消去させたいオリジナルコンテンツを選択したときの動作シーケンスを示した図である。
【図３４】図３４は、マスターが消去コンテンツの選択に応じてコンテンツを消去するための処理手順を示したフローチャートである。
【図３５】図３５は、コンテンツ処理システムにおいて、選択コンテンツの消去処理を行なうための動作シーケンスを示した図である。
【図３６】図３６は、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用してデータ処理を自動で行なうための処理動作を示したフローチャートである。
【図３７】図３７は、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用して、ユーザの嗜好の学習を行なうための動作シーケンスを示した図である。
【図３８】図３８は、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用して、ユーザが消去させたいオリジナルコンテンツを消去するための動作シーケンスを示した図である。
【図３９】図３９は、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用して、ユーザによる消去コンテンツの選択に応じてコンテンツを消去するための処理手順を示したフローチャートである。
【図４０】図４０は、コンテンツ処理システムにおいて、ユーザがリクエストしたコンテンツの検索を行なうための処理手順を示したフローチャートである。
【図４１】図４１は、ユーザがリクエストしたコンテンツの検索を行うときの、ユーザとユーザが操作しているスレーブ、及びマスター間での動作シーケンスを示した図である。
【図４２】図４２は、１台の情報処理装置が余剰の処理能力を持つ情報処理コントローラ内のサブプロセッサを利用して、ユーザがリクエストしたコンテンツの検索を行なうときの、ユーザと情報処理装置間での動作シーケンスを示した図である。
【符号の説明】
【０３７９】
１０，１１，１２…情報処理装置
２０…仮想情報処理装置
３０…ローカルネットワーク
４０…通信ネットワーク
５０…サーバ
６０…機能情報データベース
６１…ソフトウェアデータベース
７１…情報処理装置機能データベース
７２…機能データベース
７３…連携機能データベース
１００…コンテンツ処理システム
１０１…リソース管理部
１０２…コンテンツ処理制御部
１０３…コンテンツデータ格納部
１０４…コンテンツ生成部
１０５…コンテンツ処理部
１０６…嗜好データ格納部
１０７…嗜好パラメータ算出部
１０８…嗜好パラメータリスト格納部
１０９…嗜好データ更新部
１１０…ユーザインターフェース部
【図１】
2006033646.tif 000016
【図２】
2006033646.tif 000017
【図３】
2006033646.tif 000018
【図４】
2006033646.tif 000019
【図５】
2006033646.tif 000020
【図６】
2006033646.tif 000021
【図７】
2006033646.tif 000022
【図８】
2006033646.tif 000023
【図９】
2006033646.tif 000024
【図１０】
2006033646.tif 000025
【図１１】
2006033646.tif 000026
【図１２】
2006033646.tif 000027
【図１３】
2006033646.tif 000028
【図１４】
2006033646.tif 000029
【図１５】
2006033646.tif 000030
【図１６】
2006033646.tif 000031
【図１７】
2006033646.tif 000032
【図１８】
2006033646.tif 000033
【図１９】
2006033646.tif 000034
【図２０】
2006033646.tif 000035
【図２１】
2006033646.tif 000036
【図２２】
2006033646.tif 000037
【図２３】
2006033646.tif 000038
【図２４】
2006033646.tif 000039
【図２５】
2006033646.tif 000040
【図２６】
2006033646.tif 000041
【図２７】
2006033646.tif 000042
【図２８】
2006033646.tif 000043
【図２９】
2006033646.tif 000044
【図３０】
2006033646.tif 000045
【図３１】
2006033646.tif 000046
【図３２】
2006033646.tif 000047
【図３３】
2006033646.tif 000048
【図３４】
2006033646.tif 000049
【図３５】
2006033646.tif 000050
【図３６】
2006033646.tif 000051
【図３７】
2006033646.tif 000052
【図３８】
2006033646.tif 000053
【図３９】
2006033646.tif 000054
【図４０】
2006033646.tif 000055
【図４１】
2006033646.tif 000056
【図４２】
2006033646.tif 000057