(57)【要約】【課題】分散処理の処理能力を向上させる。【解決手段】  所定の処理を行うように特化されたサブプロセッサ６２を有する情報処理代行専用装置１２は、ソフトウェアセルを用いてマスタ装置から送信される機能実行コマンドに従い、コマンドセットROM５３に記憶されている機能プログラムをサブプロセッサ６２に実行させる。汎用的な処理を行うサブプロセッサ３２を有する情報処理装置１１は、ソフトウェアセルを用いてマスタ装置から送信される機能プログラムをサブプロセッサ３２に実行させる。本発明は、分散処理を行うコンピュータシステムに適用できる。【選択図】図１
2006155187.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理装置と、第３の情報処理装置とがネットワークを介して相互に接続されており、前記第１の情報処理装置または前記第２の情報処理装置と、前記第３の情報処理装置とにより分散処理を行なう情報処理システムにおいて、
前記第１の情報処理装置は、
前記第１のプロセッサが行なう前記第１の処理を示す情報および前記第１の情報処理装置の処理能力を示す情報を含む第１の装置情報を、前記第３の情報処理装置に通知する第１の装置情報通知手段と、
前記第３の情報処理装置から送信される前記第１の処理の実行を依頼する第１の処理依頼情報に基づいて、前記第１のプロセッサに前記第１の処理を実行させる第１のプロセッサ制御手段と
を含み、
前記第２の情報処理装置は、
前記第２の情報処理装置が汎用的な処理を行なうことを示す情報および前記第２の情報処理装置の処理能力を示す情報を含む第２の装置情報を、前記第３の情報処理装置に通知する第２の装置情報通知手段と、
前記第３の情報処理装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する第２の処理依頼情報に基づいて、前記第２のプロセッサに前記第２の処理を実行させる第２のプロセッサ制御手段と
を含み、
前記第３の情報処理装置は、
通知された前記第１の装置情報または前記第２の装置情報を含む装置管理情報を生成する装置管理情報生成手段と、
前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理装置に依頼し、前記第２の処理の実行を前記第２の情報処理装置に依頼するように処理の依頼先を決定する依頼先決定手段と、
前記第１の情報処理装置に、前記第１の処理依頼情報を送信することにより前記第１の処理を依頼し、前記第２の情報処理装置に、前記第２の処理依頼情報を送信することにより前記第２の処理の実行を依頼する処理依頼手段と
を含む
ことを特徴とする情報処理システム。
【請求項２】
前記第１の情報処理装置は、
所定の実行コマンドにより実行が指令され、前記第１の処理を行なう機能プログラムを記憶する記憶手段を
さらに含み、
前記第１の装置情報通知手段は、前記実行コマンドを含む前記第１の装置情報を前記第３の情報処理装置に通知し、
前記処理依頼手段は、前記第１の情報処理装置に、前記実行コマンドを含む前記第１の処理依頼情報を送信することにより前記第１の処理の実行を依頼し、
前記第１のプロセッサ制御手段は、前記第１のプロセッサに、前記第１の処理依頼情報に含まれる前記実行コマンドにより実行が指令された前記機能プログラムを実行させることにより前記第１の処理を実行させる
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記処理依頼手段は、前記第２の情報処理装置に、前記第２の処理を行なう機能プログラムをさらに送信するとともに、前記機能プログラムの実行を依頼する前記第２の処理依頼情報を送信することにより、前記第２の情報処理装置に前記第２の処理を依頼し、
前記第２のプロセッサ制御手段は、前記第２のプロセッサに、受信した前記機能プログラムをロードさせ、前記第２の処理依頼情報に基づいて、前記機能プログラムを実行させることにより前記第２の処理を実行させる
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記第１の情報処理装置は、
前記第１のプロセッサにより実行されている前記第１の処理の進捗を通知する第１の進捗情報を前記第３の情報処理装置に送信する第１の進捗通知手段を
さらに含み、
前記第２の情報処理装置は、
前記第２のプロセッサにより実行されている前記第２の処理の進捗を通知する第２の進捗情報を前記第３の情報処理装置に送信する第２の進捗通知手段を
さらに含み、
前記第３の情報処理装置は、
受信した前記第１の進捗情報または前記第２の進捗情報に基づいて、前記第１の処理または第２の処理の進捗をユーザに通知する進捗通知手段を
さらに含む
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理装置と、第３の情報処理装置とがネットワークを介して相互に接続されており、前記第１の情報処理装置または前記第２の情報処理装置と、前記第３の情報処理装置とにより分散処理を行なう情報処理システムの情報処理方法において、
前記第１の情報処理装置により実行される、
前記第１のプロセッサが行なう前記第１の処理を示す情報および前記第１の情報処理装置の処理能力を示す情報を含む第１の装置情報を、前記第３の情報処理装置に通知する第１の装置情報通知ステップと、
前記第３の情報処理装置から送信される前記第１の処理の実行を依頼する第１の処理依頼情報に基づいて、前記第１のプロセッサに前記第１の処理を実行させる第１のプロセッサ制御ステップと
を含み、
前記第２の情報処理装置により実行される、
前記第２の情報処理装置が汎用的な処理を行なうことを示す情報および前記第２の情報処理装置の処理能力を示す情報を含む第２の装置情報を、前記第３の情報処理装置に通知する第２の装置情報通知ステップと、
前記第３の情報処理装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する第２の処理依頼情報に基づいて、前記第２のプロセッサに前記第２の処理を実行させる第２のプロセッサ制御ステップと
を含み、
前記第３の情報処理装置により実行される、
通知された前記第１の装置情報または前記第２の装置情報を含む装置管理情報を生成する装置管理情報生成ステップと、
前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理装置に依頼し、前記第２の処理の実行を前記第２の情報処理装置に依頼するように処理の依頼先を決定する依頼先決定ステップと、
前記第１の情報処理装置に、前記第１の処理依頼情報を送信することにより前記第１の処理を依頼し、前記第２の情報処理装置に、前記第２の処理依頼情報を送信することにより前記第２の処理の実行を依頼する処理依頼ステップと
を含む
ことを特徴とする情報処理方法。
【請求項６】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置において、
前記第１の情報処理端末装置から送信される前記第１のプロセッサが行なう前記第１の処理を示す情報および前記第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、前記第２の情報処理端末装置から送信される前記第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および前記第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成する装置管理情報生成手段と、
前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理端末装置に依頼し、前記第１の処理とは異なる前記第２の処理の実行を前記第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定手段と、
前記第１の情報処理端末装置に、前記第１の処理の実行を依頼する第１の処理依頼情報を送信することにより前記第１の処理を依頼し、前記第２の情報処理端末装置に、前記第２の処理の実行を依頼する第２の処理依頼情報を送信することにより前記第２の処理の実行を依頼する処理依頼手段と
を含むことを特徴とする情報処理装置。
【請求項７】
前記第１の装置情報は、前記第１の処理を行なう機能プログラムの実行を指令する実行コマンドを含み、
前記処理依頼手段は、前記第１の情報処理端末装置に、前記実行コマンドを含む前記第１の処理依頼情報を送信することにより前記第１の処理の実行を依頼する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記処理依頼手段は、前記第２の情報処理端末装置に、前記第２の処理を行なう機能プログラムをさらに送信するとともに、前記機能プログラムの実行を依頼する前記第２の処理依頼情報を送信することにより、前記第２の情報処理端末装置に前記第２の処理の実行を依頼する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記第１の情報処理端末装置から送信される前記第１のプロセッサにより実行されている前記第１の処理の進捗を通知する第１の進捗情報、または、前記第２の情報処理端末装置から送信される前記第２のプロセッサにより実行されている前記第２の処理の進捗を通知する第２の進捗情報に基づいて、前記第１の処理または第２の処理の進捗をユーザに通知する進捗通知手段を
さらに含むことを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置の情報処理方法において、
前記第１の情報処理端末装置から送信される前記第１のプロセッサが行なう前記第１の処理を示す情報および前記第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、前記第２の情報処理端末装置から送信される前記第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および前記第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成する装置管理情報生成ステップと、
前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理端末装置に依頼し、前記第１の処理とは異なる前記第２の処理の実行を前記第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップと、
前記第１の情報処理端末装置に、前記第１の処理の実行を依頼する前記第１の処理依頼情報を送信することにより前記第１の処理を依頼し、前記第２の情報処理端末装置に、前記第２の処理の実行を依頼する前記第２の処理依頼情報を送信することにより前記第２の処理の実行を依頼する処理依頼ステップと
を含むことを特徴とする情報処理方法。
【請求項１１】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置の情報処理用のプログラムであって、
前記第１の情報処理端末装置から送信される前記第１のプロセッサが行なう前記第１の処理を示す情報および前記第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、前記第２の情報処理端末装置から送信される前記第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および前記第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成する装置管理情報生成ステップと、
前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理端末装置に依頼し、前記第１の処理とは異なる前記第２の処理の実行を前記第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップと、
前記第１の情報処理端末装置に、前記第１の処理の実行を依頼する前記第１の処理依頼情報を送信することにより前記第１の処理を依頼し、前記第２の情報処理端末装置に、前記第２の処理の実行を依頼する前記第２の処理依頼情報を送信することにより前記第２の処理の実行を依頼する処理依頼ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１２】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置のコンピュータに、情報処理を行なわせるプログラムであって、
前記第１の情報処理端末装置から送信される前記第１のプロセッサが行なう前記第１の処理を示す情報および前記第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、前記第２の情報処理端末装置から送信される前記第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および前記第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成する装置管理情報生成ステップと、
前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理端末装置に依頼し、前記第１の処理とは異なる前記第２の処理の実行を前記第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップと、
前記第１の情報処理端末装置に、前記第１の処理の実行を依頼する前記第１の処理依頼情報を送信することにより前記第１の処理を依頼し、前記第２の情報処理端末装置に、前記第２の処理の実行を依頼する前記第２の処理依頼情報を送信することにより前記第２の処理の実行を依頼する処理依頼ステップと
を含むことを特徴とするプログラム。
【請求項１３】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に前記第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置において、
前記第１のプロセッサが行なう前記第１の処理を示す情報および自分の処理能力を示す情報を含む装置情報を、前記第２の情報処理端末装置に通知する装置情報通知手段と、
前記第２の情報処理端末装置から送信される前記第１の処理の実行を依頼する処理依頼情報に基づいて、前記第１のプロセッサに前記第１の処理を実行させるプロセッサ制御手段と
を含むことを特徴とする情報処理装置。
【請求項１４】
所定の実行コマンドにより実行が指令され、前記第１の処理を行なう機能プログラムを記憶する記憶手段を
さらに含み、
前記装置情報通知手段は、前記実行コマンドを含む前記装置情報を前記第２の情報処理端末装置に通知し、
前記プロセッサ制御手段は、前記第１のプロセッサに、前記処理依頼情報に含まれる前記実行コマンドにより実行が指令された前記機能プログラムを実行させることにより前記第１の処理を実行させる
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記第１のプロセッサにより実行されている前記第１の処理の進捗を通知する進捗情報を前記第２の情報処理端末装置に送信する進捗通知手段を
さらに含むことを特徴とする請求項１３に記載の情報処理装置。
【請求項１６】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に前記第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置の情報処理方法において、
前記第１のプロセッサが行なう前記第１の処理を示す情報および前記情報処理装置の処理能力を示す情報を含む装置情報を、前記第２の情報処理端末装置に通知する装置情報通知ステップと、
前記第２の情報処理端末装置から送信される前記第１の処理の実行を依頼する処理依頼情報に基づいて、前記第１のプロセッサに前記第１の処理を実行させるプロセッサ制御ステップと
を含むことを特徴とする情報処理方法。
【請求項１７】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に前記第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置の情報処理用のプログラムであって、
前記第１のプロセッサが行なう前記第１の処理を示す情報および前記情報処理装置の処理能力を示す情報を含む装置情報を、前記第２の情報処理端末装置に通知する装置情報通知ステップと、
前記第２の情報処理端末装置から送信される前記第１の処理の実行を依頼する処理依頼情報に基づいて、前記第１のプロセッサに前記第１の処理を実行させるプロセッサ制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１８】
予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に前記第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置のコンピュータに、情報処理を行なわせるプログラムであって、
前記第１のプロセッサが行なう前記第１の処理を示す情報および前記情報処理装置の処理能力を示す情報を含む装置情報を、前記第２の情報処理端末装置に通知する装置情報通知ステップと、
前記第２の情報処理端末装置から送信される前記第１の処理の実行を依頼する処理依頼情報に基づいて、前記第１のプロセッサに前記第１の処理を実行させるプロセッサ制御ステップと
を含むことを特徴とするプログラム。
【請求項１９】
汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に前記第１の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置において、
自分が汎用的な処理を行なうことを示す情報および自分の処理能力を示す情報を含む装置情報を、前記第２の情報処理端末装置に通知する装置情報通知手段と、
前記第２の情報処理端末装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、前記第１のプロセッサに前記第２の処理を実行させるプロセッサ制御手段と
を含むことを特徴とする情報処理装置。
【請求項２０】
前記プロセッサ制御手段は、前記第１のプロセッサに、前記第２の情報処理端末装置から送信される前記第２の処理を行なう機能プログラムをロードさせ、前記機能プログラムの実行を依頼する前記処理依頼情報に基づいて、前記機能プログラムを実行させることにより前記第２の処理を実行させる
ことを特徴とする請求項１９に記載の情報処理装置。
【請求項２１】
前記第１のプロセッサにより実行されている前記第２の処理の進捗を通知する進捗情報を前記情報処理端末装置に送信する進捗通知手段を
さらに含むことを特徴とする請求項１９に記載の情報処理装置。
【請求項２２】
汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に前記第１の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置の情報処理方法において、
前記情報処理装置が汎用的な処理を行なうことを示す情報および前記情報処理装置の処理能力を示す情報を含む装置情報を、前記第２の情報処理端末装置に通知する装置情報通知ステップと、
前記第２の情報処理端末装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、前記第１のプロセッサに前記第２の処理を実行させるプロセッサ制御ステップと
を含むことを特徴とする情報処理方法。
【請求項２３】
汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に前記第１の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置の情報処理用のプログラムであって、
前記情報処理装置が汎用的な処理を行なうことを示す情報および前記情報処理装置の処理能力を示す情報を含む装置情報を、前記第２の情報処理端末装置に通知する装置情報通知ステップと、
前記第２の情報処理端末装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、前記第１のプロセッサに前記第２の処理を実行させるプロセッサ制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項２４】
汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に前記第１の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置のコンピュータに、情報処理を行なわせるプログラムであって、
前記情報処理装置が汎用的な処理を行なうことを示す情報および前記情報処理装置の処理能力を示す情報を含む装置情報を、前記第２の情報処理端末装置に通知する装置情報通知ステップと、
前記第２の情報処理端末装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、前記第１のプロセッサに前記第２の処理を実行させるプロセッサ制御ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、分散処理を行なうことができるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータなどの情報処理装置の処理能力を向上させる場合、例えば、情報処理装置にサブプロセッサを増設して、サブプロセッサに処理の一部を行なわせることにより、処理能力を向上させていた（例えば、特許文献１参照）。
【０００３】
この場合、処理能力が向上するのはサブプロセッサが増設された情報処理装置だけであり、複数の情報処理装置の処理能力を向上させる必要がある場合、個々の情報処理装置についてサブプロセッサを増設する必要があり、必要なコストが上昇してしまう。
【０００４】
そのため、近年、情報処理装置の処理能力を向上させる手段の一つである、ネットワークを介して接続された複数の情報処理装置で処理を分散して行なうグリッドコンピューティングの研究が盛んである。
【特許文献１】特開２００２−２９７３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
グリッドコンピューティングにおいては、いかにしてネットワークに接続された情報処理装置の資源をより有効に活用して、分散処理を実現するかということが課題となっている。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、ネットワークに接続された情報処理装置の資源を有効に活用して分散処理を行うことにより、処理能力を向上できるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の情報処理システムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理装置と、第３の情報処理装置とがネットワークを介して相互に接続されており、第１の情報処理装置または第２の情報処理装置と、第３の情報処理装置とにより分散処理を行なう情報処理システムであって、第１の情報処理装置は、第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理装置の処理能力を示す情報を含む第１の装置情報を、第３の情報処理装置に通知する第１の装置情報通知手段と、第３の情報処理装置から送信される第１の処理の実行を依頼する第１の処理依頼情報に基づいて、第１のプロセッサに第１の処理を実行させる第１のプロセッサ制御手段とを含み、第２の情報処理装置は、第２の情報処理装置が汎用的な処理を行なうことを示す情報および第２の情報処理装置の処理能力を示す情報を含む第２の装置情報を、第３の情報処理装置に通知する第２の装置情報通知手段と、第３の情報処理装置から送信される第１の処理とは異なる第２の処理の実行を依頼する第２の処理依頼情報に基づいて、第２のプロセッサに第２の処理を実行させる第２のプロセッサ制御手段とを含み、第３の情報処理装置は、通知された第１の装置情報または第２の装置情報を含む装置管理情報を生成する装置管理情報生成手段と、装置管理情報に基づいて、第１の処理の実行を第１の情報処理装置に依頼し、第２の処理の実行を第２の情報処理装置に依頼するように処理の依頼先を決定する依頼先決定手段と、第１の情報処理装置に、第１の処理依頼情報を送信することにより第１の処理を依頼し、第２の情報処理装置に、第２の処理依頼情報を送信することにより第２の処理の実行を依頼する処理依頼手段とを含むことを特徴とする。
【０００８】
第１の情報処理装置は、所定の実行コマンドにより実行が指令され、第１の処理を行なう機能プログラムを記憶する記憶手段をさらに含み、第１の装置情報通知手段は、実行コマンドを含む第１の装置情報を第３の情報処理装置に通知し、処理依頼手段は、第１の情報処理装置に、実行コマンドを含む第１の処理依頼情報を送信することにより第１の処理の実行を依頼し、第１のプロセッサ制御手段は、第１のプロセッサに、第１の処理依頼情報に含まれる実行コマンドにより実行が指令された機能プログラムを実行させることにより第１の処理を実行させるようにすることができる。
【０００９】
処理依頼手段は、第２の情報処理装置に、第２の処理を行なう機能プログラムをさらに送信するとともに、機能プログラムの実行を依頼する第２の処理依頼情報を送信することにより、第２の情報処理装置に第２の処理を依頼し、第２のプロセッサ制御手段は、第２のプロセッサに、受信した機能プログラムをロードさせ、第２の処理依頼情報に基づいて、機能プログラムを実行させることにより第２の処理を実行させるようにすることができる。
【００１０】
第１の情報処理装置は、第１のプロセッサにより実行されている第１の処理の進捗を通知する第１の進捗情報を第３の情報処理装置に送信する第１の進捗通知手段をさらに含み、第２の情報処理装置は、第２のプロセッサにより実行されている第２の処理の進捗を通知する第２の進捗情報を第３の情報処理装置に送信する第２の進捗通知手段をさらに含み、第３の情報処理装置は、受信した第１の進捗情報または第２の進捗情報に基づいて、第１の処理または第２の処理の進捗をユーザに通知する進捗通知手段をさらに含むようにすることができる。
【００１１】
本発明の第１の情報処理方法は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理装置と、第３の情報処理装置とがネットワークを介して相互に接続されており、第１の情報処理装置または第２の情報処理装置と、第３の情報処理装置とにより分散処理を行なう情報処理システムの情報処理方法であって、第１の情報処理装置により実行される、第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理装置の処理能力を示す情報を含む第１の装置情報を、第３の情報処理装置に通知する第１の装置情報通知ステップと、第３の情報処理装置から送信される第１の処理の実行を依頼する第１の処理依頼情報に基づいて、第１のプロセッサに第１の処理を実行させる第１のプロセッサ制御ステップとを含み、第２の情報処理装置により実行される、第２の情報処理装置が汎用的な処理を行なうことを示す情報および第２の情報処理装置の処理能力を示す情報を含む第２の装置情報を、第３の情報処理装置に通知する第２の装置情報通知ステップと、第３の情報処理装置から送信される第１の処理とは異なる第２の処理の実行を依頼する第２の処理依頼情報に基づいて、第２のプロセッサに第２の処理を実行させる第２のプロセッサ制御ステップとを含み、第３の情報処理装置により実行される、通知された第１の装置情報または第２の装置情報を含む装置管理情報を生成する装置管理情報生成ステップと、装置管理情報に基づいて、第１の処理の実行を第１の情報処理装置に依頼し、第２の処理の実行を第２の情報処理装置に依頼するように処理の依頼先を決定する依頼先決定ステップと、第１の情報処理装置に、第１の処理依頼情報を送信することにより第１の処理を依頼し、第２の情報処理装置に、第２の処理依頼情報を送信することにより第２の処理の実行を依頼する処理依頼ステップとを含むことを特徴とする。
【００１２】
本発明の第１の情報処理装置は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置であって、第１の情報処理端末装置から送信される第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、第２の情報処理端末装置から送信される第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成する装置管理情報生成手段と、装置管理情報に基づいて、第１の処理の実行を第１の情報処理端末装置に依頼し、第１の処理とは異なる第２の処理の実行を第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定手段と、第１の情報処理端末装置に、第１の処理の実行を依頼する第１の処理依頼情報を送信することにより第１の処理を依頼し、第２の情報処理端末装置に、第２の処理の実行を依頼する第２の処理依頼情報を送信することにより第２の処理の実行を依頼する処理依頼手段とを含むことを特徴とする。
【００１３】
第１の装置情報は、第１の処理を行なう機能プログラムの実行を指令する実行コマンドを含み、処理依頼手段は、第１の情報処理端末装置に、実行コマンドを含む第１の処理依頼情報を送信することにより第１の処理の実行を依頼するようにすることができる。
【００１４】
処理依頼手段は、第２の情報処理端末装置に、第２の処理を行なう機能プログラムをさらに送信するとともに、機能プログラムの実行を依頼する第２の処理依頼情報を送信することにより、第２の情報処理端末装置に第２の処理の実行を依頼するようにすることができる。
【００１５】
第１の情報処理端末装置から送信される第１のプロセッサにより実行されている第１の処理の進捗を通知する第１の進捗情報、または、第２の情報処理端末装置から送信される第２のプロセッサにより実行されている第２の処理の進捗を通知する第２の進捗情報に基づいて、第１の処理または第２の処理の進捗をユーザに通知する進捗通知手段をさらに含むようにすることができる。
【００１６】
本発明の第２の情報処理方法は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置の情報処理方法であって、第１の情報処理端末装置から送信される第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、第２の情報処理端末装置から送信される第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成する装置管理情報生成ステップと、装置管理情報に基づいて、第１の処理の実行を第１の情報処理端末装置に依頼し、第１の処理とは異なる第２の処理の実行を第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップと、第１の情報処理端末装置に、第１の処理の実行を依頼する第１の処理依頼情報を送信することにより第１の処理を依頼し、第２の情報処理端末装置に、第２の処理の実行を依頼する第２の処理依頼情報を送信することにより第２の処理の実行を依頼する処理依頼ステップとを含むことを特徴とする。
【００１７】
本発明の第１の記録媒体に記録されているプログラムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置の情報処理用のプログラムであって、第１の情報処理端末装置から送信される第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、第２の情報処理端末装置から送信される第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成する装置管理情報生成ステップと、装置管理情報に基づいて、第１の処理の実行を第１の情報処理端末装置に依頼し、第１の処理とは異なる第２の処理の実行を第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップと、第１の情報処理端末装置に、第１の処理の実行を依頼する第１の処理依頼情報を送信することにより第１の処理を依頼し、第２の情報処理端末装置に、第２の処理の実行を依頼する第２の処理依頼情報を送信することにより第２の処理の実行を依頼する処理依頼ステップとを含むことを特徴とする。
【００１８】
本発明の第１のプログラムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置のコンピュータに、情報処理を行なわせるプログラムであって、第１の情報処理端末装置から送信される第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、第２の情報処理端末装置から送信される第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成する装置管理情報生成ステップと、装置管理情報に基づいて、第１の処理の実行を第１の情報処理端末装置に依頼し、第１の処理とは異なる第２の処理の実行を第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップと、第１の情報処理端末装置に、第１の処理の実行を依頼する第１の処理依頼情報を送信することにより第１の処理を依頼し、第２の情報処理端末装置に、第２の処理の実行を依頼する第２の処理依頼情報を送信することにより第２の処理の実行を依頼する処理依頼ステップとを含むことを特徴とする。
【００１９】
本発明の第２の情報処理装置は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であり、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置であって、第１のプロセッサが行なう第１の処理を示す情報および自分の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知する装置情報通知手段と、第２の情報処理端末装置から送信される第１の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第１の処理を実行させるプロセッサ制御手段とを含むことを特徴とする。
【００２０】
所定の実行コマンドにより実行が指令され、第１の処理を行なう機能プログラムを記憶する記憶手段をさらに含み、装置情報通知手段は、実行コマンドを含む装置情報を第２の情報処理端末装置に通知し、プロセッサ制御手段は、第１のプロセッサに、処理依頼情報に含まれる実行コマンドにより実行が指令された機能プログラムを実行させることにより第１の処理を実行させるようにすることができる。
【００２１】
第１のプロセッサにより実行されている第１の処理の進捗を通知する進捗情報を第２の情報処理端末装置に送信する進捗通知手段をさらに含むようにすることができる。
【００２２】
本発明の第３の情報処理方法は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置の情報処理方法であって、第１のプロセッサが行なう第１の処理を示す情報および情報処理装置の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知する装置情報通知ステップと、第２の情報処理端末装置から送信される第１の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第１の処理を実行させるプロセッサ制御ステップとを含むことを特徴とする。
【００２３】
本発明の第２の記録媒体に記録されているプログラムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置の情報処理用のプログラムであって、第１のプロセッサが行なう第１の処理を示す情報および情報処理装置の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知する装置情報通知ステップと、第２の情報処理端末装置から送信される第１の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第１の処理を実行させるプロセッサ制御ステップとを含むことを特徴とする。
【００２４】
本発明の第２のプログラムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置のコンピュータに、情報処理を行なわせるプログラムであって、第１のプロセッサが行なう第１の処理を示す情報および情報処理装置の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知する装置情報通知ステップと、第２の情報処理端末装置から送信される第１の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第１の処理を実行させるプロセッサ制御ステップとを含むことを特徴とする。
【００２５】
本発明の第３の情報処理装置は、汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であり、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置であって、自分が汎用的な処理を行なうことを示す情報および自分の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知する装置情報通知手段と、第２の情報処理端末装置から送信される第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第２の処理を実行させるプロセッサ制御手段とを含むことを特徴とする。
【００２６】
プロセッサ制御手段は、第１のプロセッサに、第２の情報処理端末装置から送信される第２の処理を行なう機能プログラムをロードさせ、機能プログラムの実行を依頼する処理依頼情報に基づいて、機能プログラムを実行させることにより第２の処理を実行させるようにすることができる。
【００２７】
プロセッサにより実行されている第２の処理の進捗を通知する進捗情報を情報処理端末装置に送信する進捗通知手段をさらに含むようにすることができる。
【００２８】
本発明の第４の情報処理方法は、汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置の情報処理方法であって、情報処理装置が汎用的な処理を行なうことを示す情報および情報処理装置の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知する装置情報通知ステップと、第２の情報処理端末装置から送信される第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第２の処理を実行させるプロセッサ制御ステップとを含むことを特徴とする。
【００２９】
本発明の第３の記録媒体に記録されているプログラムは、汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置の情報処理用のプログラムであって、情報処理装置が汎用的な処理を行なうことを示す情報および情報処理装置の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知する装置情報通知ステップと、第２の情報処理端末装置から送信される第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第２の処理を実行させるプロセッサ制御ステップとを含むことを特徴とする。
【００３０】
本発明の第３のプログラムは、汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置のコンピュータに、情報処理を行なわせるプログラムであって、情報処理装置が汎用的な処理を行なうことを示す情報および情報処理装置の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知する装置情報通知ステップと、第２の情報処理端末装置から送信される第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第２の処理を実行させるプロセッサ制御ステップとを含むことを特徴とする。
【００３１】
本発明の情報処理システム、および、第１の情報処理方法においては、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理装置と、第３の情報処理装置とがネットワークを介して相互に接続されており、第１の情報処理装置または第２の情報処理装置と、第３の情報処理装置とにより分散処理を行なう情報処理システムにおいて、第１の情報処理装置により、第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理装置の処理能力を示す情報を含む第１の装置情報が、第３の情報処理装置に通知され、第３の情報処理装置から送信される第１の処理の実行を依頼する第１の処理依頼情報に基づいて、第１のプロセッサに第１の処理が実行させられ、第２の情報処理装置により、第２の情報処理装置が汎用的な処理を行なうことを示す情報および第２の情報処理装置の処理能力を示す情報を含む第２の装置情報が、第３の情報処理装置に通知され、第３の情報処理装置から送信される第１の処理とは異なる第２の処理の実行を依頼する第２の処理依頼情報に基づいて、第２のプロセッサに第２の処理が実行させられ、第３の情報処理装置により、通知された第１の装置情報または第２の装置情報を含む装置管理情報が生成され、装置管理情報に基づいて、第１の処理の実行を第１の情報処理装置に依頼し、第２の処理の実行を第２の情報処理装置に依頼するように処理の依頼先が決定され、第１の情報処理装置に、第１の処理依頼情報を送信することにより第１の処理が依頼され、第２の情報処理装置に、第２の処理依頼情報を送信することにより第２の処理の実行が依頼される。
【００３２】
本発明の第１の情報処理装置、第２の情報処理方法、第１の記録媒体、および、第１の記録媒体においては、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている第１の情報処理装置において、第１の情報処理端末装置から送信される第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、第２の情報処理端末装置から送信される第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報が生成され、装置管理情報に基づいて、第１の処理の実行を第１の情報処理端末装置に依頼し、第１の処理とは異なる第２の処理の実行を第２の情報処理端末装置に依頼するように処理の依頼先が決定され、第１の情報処理端末装置に、第１の処理の実行を依頼する第１の処理依頼情報を送信することにより第１の処理が依頼され、第２の情報処理端末装置に、第２の処理の実行を依頼する第２の処理依頼情報を送信することにより第２の処理の実行が依頼される。
【００３３】
本発明の第２の情報処理装置、第３の情報処理方法、第２の記録媒体、および、第２の記録媒体においては、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する第２の情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている第２の情報処理装置において、第１のプロセッサが行なう第１の処理を示す情報および第２の情報処理装置の処理能力を示す情報を含む装置情報が、第２の情報処理端末装置に通知され、第２の情報処理端末装置から送信される第１の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第１の処理が実行させられる。
【００３４】
本発明の第３の情報処理装置、第４の情報処理方法、第３の記録媒体、および、第３の記録媒体においては、汎用的な処理を行なう１つ以上の第１のプロセッサを有する第３の情報処理装置であって、第２の情報処理端末装置とネットワークを介して相互に接続されている第３の情報処理装置において、第３の情報処理装置が汎用的な処理を行なうことを示す情報および第３の情報処理装置の処理能力を示す情報を含む装置情報が、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理の実行を依頼する第２の情報処理端末装置に通知され、第２の情報処理端末装置から送信される第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第２の処理が実行させられる。
【発明の効果】
【００３５】
本発明によれば、ネットワークに接続された複数の情報処理装置により分散処理を行なうことができる。また、本発明によれば、分散処理において、個々の情報処理装置の能力により適した処理を実行させることができ、処理能力を向上させることができる。
【発明を実施するための最良の形態】
【００３６】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３７】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００３８】
請求項１に記載の情報処理システム（例えば、図１の情報処理システム１）は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する１台以上の第１の情報処理装置（例えば、図１の情報処理代行専用装置１２）、または、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する１台以上の第２の情報処理装置（例えば、スレーブ装置である図１の情報処理装置１１）と、第３の情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）とがネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されており、前記第１の情報処理装置または前記第２の情報処理装置と、前記第３の情報処理装置とにより分散処理を行なう情報処理システムであって、前記第１の情報処理装置は、前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および前記第１の情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第１の装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）を、前記第３の情報処理装置に通知する第１の装置情報通知手段（例えば、図６の情報交換部２５１）と、前記第３の情報処理装置から送信される前記第１の処理の実行を依頼する第１の処理依頼情報（例えば、コマンド実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第１の処理を実行させる第１のプロセッサ制御手段（例えば、図６のサブプロセッサ制御部２７１）とを含み、前記第２の情報処理装置は、前記第２の情報処理装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記第２の情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第２の装置情報（例えば、図１の情報処理装置１１の装置情報）を、前記第３の情報処理装置に通知する第２の装置情報通知手段（例えば、図４の情報交換部１５１）と、前記第３の情報処理装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する第２の処理依頼情報（例えば、プログラム実行ソフトウェアセル）に基づいて、前記第２のプロセッサに前記第２の処理を実行させる第２のプロセッサ制御手段（例えば、図４のサブプロセッサ制御部１７１）とを含み、前記第３の情報処理装置は、通知された前記第１の装置情報または前記第２の装置情報を含む装置管理情報（例えば、装置情報テーブル）を生成する装置管理情報生成手段（例えば、図４の装置情報テーブル管理部１６１）と、前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理装置に依頼し、前記第２の処理の実行を前記第２の情報処理装置に依頼するように処理の依頼先を決定する依頼先決定手段（例えば、図４の分散処理装置決定部１８３）と、前記第１の情報処理装置に、前記第１の処理依頼情報を送信することにより前記第１の処理を依頼し、前記第２の情報処理装置に、前記第２の処理依頼情報を送信することにより前記第２の処理の実行を依頼する処理依頼手段（例えば、図４の分散処理管理部１８４）とを含むことを特徴とする。
【００３９】
請求項２に記載の情報処理システム（例えば、図１の情報処理システム１）においては、前記第１の情報処理装置は、所定の実行コマンド（例えば、機能実行コマンド）により実行が指令され、前記第１の処理を行なう機能プログラム（例えば、図５の機能プログラム）を記憶する記憶手段（例えば、図１のコマンドセットROM５３）をさらに含み、前記第１の装置情報通知手段は、前記実行コマンドを含む前記第１の装置情報を前記第３の情報処理装置に通知し、前記処理依頼手段は、前記第１の情報処理装置に、前記実行コマンドを含む前記第１の処理依頼情報を送信することにより前記第１の処理の実行を依頼し、前記第１のプロセッサ制御手段は、前記第１のプロセッサに、前記第１の処理依頼情報に含まれる前記実行コマンドにより実行が指令された前記機能プログラムを実行させることにより前記第１の処理を実行させることを特徴とする。
【００４０】
請求項３に記載の情報処理システム（例えば、図１の情報処理システム１）においては、
前記処理依頼手段は、前記第２の情報処理装置に、前記第２の処理を行なう機能プログラム（例えば、図３の機能プログラム）をさらに送信するとともに、前記機能プログラムの実行を依頼する前記第２の処理依頼情報を送信することにより、前記第２の情報処理装置に前記第２の処理を依頼し、前記第２のプロセッサ制御手段は、前記第２のプロセッサに、受信した前記機能プログラムをロードさせ、前記第２の処理依頼情報に基づいて、前記機能プログラムを実行させることにより前記第２の処理を実行させることを特徴とする。
【００４１】
請求項４に記載の情報処理システム（例えば、図１の情報処理システム１）においては、前記第１の情報処理装置は、前記第１のプロセッサにより実行されている前記第１の処理の進捗を通知する第１の進捗情報（例えば、進捗情報通知ソフトウェアセル）を前記第３の情報処理装置に送信する第１の進捗通知手段（例えば、図６の進捗通知部２７２）をさらに含み、前記第２の情報処理装置は、前記第２のプロセッサにより実行されている前記第２の処理の進捗を通知する第２の進捗情報（例えば、進捗情報通知ソフトウェアセル）を前記第３の情報処理装置に送信する第２の進捗通知手段（例えば、図４の進捗通知部１７２）をさらに含み、前記第３の情報処理装置は、受信した前記第１の進捗情報または前記第２の進捗情報に基づいて、前記第１の処理または第２の処理の進捗をユーザに通知する進捗通知手段（例えば、図４の進捗通知部１８６）をさらに含むことを特徴とする。
【００４２】
請求項５に記載の情報処理方法は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する１台以上の第１の情報処理装置（例えば、図１の情報処理代行専用装置１２）、または、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する１台以上の第２の情報処理装置（例えば、スレーブ装置である図１の情報処理装置１１）と、第３の情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）とがネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されており、前記第１の情報処理装置または前記第２の情報処理装置と、前記第３の情報処理装置とにより分散処理を行なう情報処理システムの情報処理方法であって、前記第１の情報処理装置により実行される、前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および前記第１の情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第１の装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）を、前記第３の情報処理装置に通知する第１の装置情報通知ステップ（例えば、図１０のステップＳ２５）と、前記第３の情報処理装置から送信される前記第１の処理の実行を依頼する第１の処理依頼情報（例えば、コマンド実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第１の処理を実行させる第１のプロセッサ制御ステップ（例えば、図１６のステップＳ１５３）とを含み、前記第２の情報処理装置により実行される、前記第２の情報処理装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記第２の情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第２の装置情報（例えば、図１の情報処理装置１１の装置情報）を、前記第３の情報処理装置に通知する第２の装置情報通知ステップ（例えば、図１１のステップＳ４５）と、前記第３の情報処理装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する第２の処理依頼情報（例えば、プログラム実行ソフトウェアセル）に基づいて、前記第２のプロセッサに前記第２の処理を実行させる第２のプロセッサ制御ステップ（例えば、図１７のステップＳ１７４）とを含み、前記第３の情報処理装置は、通知された前記第１の装置情報または前記第２の装置情報を含む装置管理情報（例えば、装置情報テーブル）を生成する装置管理情報生成ステップ（例えば、図７のステップＳ８）と、前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理装置に依頼し、前記第２の処理の実行を前記第２の情報処理装置に依頼するように処理の依頼先を決定する依頼先決定ステップ（例えば、図１４のステップＳ１２３またはＳ１２５）と、前記第１の情報処理装置に、前記第１の処理依頼情報を送信することにより前記第１の処理を依頼し、前記第２の情報処理装置に、前記第２の処理依頼情報を送信することにより前記第２の処理の実行を依頼する処理依頼ステップ（例えば、図１５のステップＳ１３２またはＳ１３４）とを含むことを特徴とする。
【００４３】
請求項６に記載の情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する１台以上の第１の情報処理端末装置（例えば、図１の情報処理代行専用装置１２）、または、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する１台以上の第２の情報処理端末装置（例えば、スレーブ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して接続されている情報処理装置であって、前記第１の情報処理端末装置から送信される前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および前記第１の情報処理端末装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第１の装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）、並びに、前記第２の情報処理端末装置から送信される前記第２の情報処理端末装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記第２の情報処理端末装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第２の装置情報（例えば、図１の情報処理装置１１の装置情報）を含む装置管理情報（例えば、装置情報テーブル）を生成する装置管理情報生成手段（例えば、図４の装置情報テーブル管理部１６１）と、前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理端末装置に依頼し、前記第１の処理とは異なる前記第２の処理の実行を前記第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定手段（例えば、図４の分散処理装置決定部１８３）と、前記第１の情報処理端末装置に、前記第１の処理の実行を依頼する第１の処理依頼情報（例えば、コマンド実行ソフトウェアセル）を送信することにより前記第１の処理を依頼し、前記第２の情報処理端末装置に、前記第２の処理の実行を依頼する第２の処理依頼情報（例えば、プログラム実行ソフトウェアセル）を送信することにより前記第２の処理の実行を依頼する処理依頼手段（例えば、図４の分散処理管理部１８４）とを含むことを特徴とする。
【００４４】
請求項７に記載の情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）においては、前記第１の装置情報は、前記第１の処理を行なう機能プログラムの実行を指令する実行コマンド（例えば、機能実行コマンド）を含み、前記処理依頼手段は、前記第１の情報処理端末装置に、前記実行コマンドを含む前記第１の処理依頼情報を送信することにより前記第１の処理の実行を依頼することを特徴とする。
【００４５】
請求項８に記載の情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）においては、前記処理依頼手段は、前記第２の情報処理端末装置に、前記第２の処理を行なう機能プログラム（例えば、図３の機能プログラム）をさらに送信するとともに、前記機能プログラムの実行を依頼する前記第２の処理依頼情報を送信することにより、前記第２の情報処理端末装置に前記第２の処理の実行を依頼することを特徴とする。
【００４６】
請求項９に記載の情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）においては、前記第１の情報処理端末装置から送信される前記第１のプロセッサにより実行されている前記第１の処理の進捗を通知する第１の進捗情報（例えば、進捗情報通知ソフトウェアセル）、または、前記第２の情報処理端末装置から送信される前記第２のプロセッサにより実行されている前記第２の処理の進捗を通知する第２の進捗情報（例えば、進捗情報通知ソフトウェアセル）に基づいて、前記第１の処理または第２の処理の進捗をユーザに通知する進捗通知手段（例えば、図４の進捗通知部１８６）をさらに含むことを特徴とする。
【００４７】
請求項１０に記載の情報処理方法は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する１台以上の第１の情報処理端末装置（例えば、図１の情報処理代行専用装置１２）、または、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する１台以上の第２の情報処理端末装置（例えば、スレーブ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して接続されている情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）の情報処理方法であって、前記第１の情報処理端末装置から送信される前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および前記第１の情報処理端末装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第１の装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）、並びに、前記第２の情報処理端末装置から送信される前記第２の情報処理端末装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記第２の情報処理端末装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第２の装置情報（例えば、図１の情報処理装置１１の装置情報）を含む装置管理情報（例えば、装置情報テーブル）を生成する装置管理情報生成ステップ（例えば、図７のステップＳ８）と、前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理端末装置に依頼し、前記第１の処理とは異なる前記第２の処理の実行を前記第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップ（例えば、図１４のステップＳ１２３またはＳ１２５）と、前記第１の情報処理端末装置に、前記第１の処理の実行を依頼する第１の処理依頼情報（例えば、コマンド実行ソフトウェアセル）を送信することにより前記第１の処理を依頼し、前記第２の情報処理端末装置に、前記第２の処理の実行を依頼する第２の処理依頼情報（例えば、プログラム実行ソフトウェアセル）を送信することにより前記第２の処理の実行を依頼する処理依頼ステップ（例えば、図１５のステップＳ１３２またはＳ１３４）とを含むことを特徴とする。
【００４８】
請求項１１に記載の記録媒体（例えば、図１の外部記録部２３）に記録されているプログラムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する１台以上の第１の情報処理端末装置（例えば、図１の情報処理代行専用装置１２）、または、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する１台以上の第２の情報処理端末装置（例えば、スレーブ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して接続されている情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）の情報処理用のプログラムであって、前記第１の情報処理端末装置から送信される前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および前記第１の情報処理端末装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第１の装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）、並びに、前記第２の情報処理端末装置から送信される前記第２の情報処理端末装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記第２の情報処理端末装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第２の装置情報（例えば、図８のサブプロセッサ数など）を含む装置管理情報（例えば、装置情報テーブル）を生成する装置管理情報生成ステップ（例えば、図７のステップＳ８）と、前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理端末装置に依頼し、前記第１の処理とは異なる前記第２の処理の実行を前記第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップ（例えば、図１４のステップＳ１２３またはＳ１２５）と、前記第１の情報処理端末装置に、前記第１の処理の実行を依頼する第１の処理依頼情報（例えば、コマンド実行ソフトウェアセル）を送信することにより前記第１の処理を依頼し、前記第２の情報処理端末装置に、前記第２の処理の実行を依頼する第２の処理依頼情報（例えば、プログラム実行ソフトウェアセル）を送信することにより前記第２の処理の実行を依頼する処理依頼ステップ（例えば、図１５のステップＳ１３２またはＳ１３４）とを含むことを特徴とする。
【００４９】
請求項１１に記載のプログラムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する１台以上の第１の情報処理端末装置（例えば、図１の情報処理代行専用装置１２）、または、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する１台以上の第２の情報処理端末装置（例えば、スレーブ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して接続されている情報処理装置（例えば、マスタ装置である図１の情報処理装置１１）のコンピュータに、情報処理を行なわせるプログラムであって、前記第１の情報処理端末装置から送信される前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および前記第１の情報処理端末装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第１の装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）、並びに、前記第２の情報処理端末装置から送信される前記第２の情報処理端末装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記第２の情報処理端末装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む第２の装置情報（例えば、図８のサブプロセッサ数など）を含む装置管理情報（例えば、装置情報テーブル）を生成する装置管理情報生成ステップ（例えば、図７のステップＳ８）と、前記装置管理情報に基づいて、前記第１の処理の実行を前記第１の情報処理端末装置に依頼し、前記第１の処理とは異なる前記第２の処理の実行を前記第２の情報処理端末装置に依頼するように処理の依頼先を決定する依頼先決定ステップ（例えば、図１４のステップＳ１２３またはＳ１２５）と、前記第１の情報処理端末装置に、前記第１の処理の実行を依頼する第１の処理依頼情報（例えば、コマンド実行ソフトウェアセル）を送信することにより前記第１の処理を依頼し、前記第２の情報処理端末装置に、前記第２の処理の実行を依頼する第２の処理依頼情報（例えば、プログラム実行ソフトウェアセル）を送信することにより前記第２の処理の実行を依頼する処理依頼ステップ（例えば、図１５のステップＳ１３２またはＳ１３４）とを含むことを特徴とする。
【００５０】
請求項１３に記載の情報処理装置（例えば、図１の情報処理代行専用装置１２）は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する第１の情報処理端末装置（例えば、スレーブ装置である図１の情報処理装置１１）に前記第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置（例えば、マスタ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されている情報処理装置であって、前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および自分の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）を、前記第２の情報処理端末装置に通知する装置情報通知手段（例えば、図６の情報交換部２５１）と、前記第２の情報処理端末装置から送信される前記第１の処理の実行を依頼する処理依頼情報（例えば、コマンド実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第１の処理を実行させるプロセッサ制御手段（例えば、図６のサブプロセッサ制御部２７１）とを含むことを特徴とする。
【００５１】
請求項１４に記載の情報処理装置（例えば、図１の情報処理代行専用装置１２）においては、所定の実行コマンドにより実行（例えば、機能実行コマンド）が指令され、前記第１の処理を行なう機能プログラム（例えば、図５の機能プログラム）を記憶する記憶手段（例えば、図１のコマンドセットROM５３）をさらに含み、前記装置情報通知手段は、前記実行コマンドを含む前記装置情報を前記第２の情報処理端末装置に通知し、前記プロセッサ制御手段は、前記第１のプロセッサに、前記処理依頼情報に含まれる前記実行コマンドにより実行が指令された前記機能プログラムを実行させることにより前記第１の処理を実行させることを特徴とする。
【００５２】
請求項１５に記載の情報処理装置（例えば、図１の情報処理代行専用装置１２）は、前記第１のプロセッサにより実行されている前記第１の処理の進捗を通知する進捗情報（例えば、進捗情報通知ソフトウェアセル）を前記第２の情報処理端末装置に送信する進捗通知手段（例えば、図６の進捗通知部２７２）をさらに含むことを特徴とする。
【００５３】
請求項１６に記載の情報処理方法は、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する情報処理装置（例えば、図１の情報処理代行専用装置１２）であって、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する第１の情報処理端末装置（例えば、スレーブ装置である図１の情報処理装置１１）に前記第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置（例えば、マスタ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されている情報処理装置の情報処理方法であって、前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および前記情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）を、前記第２の情報処理端末装置に通知する装置情報通知ステップ（例えば、図１０のステップＳ２５）と、前記第２の情報処理端末装置から送信される前記第１の処理の実行を依頼する処理依頼情報（例えば、コマンド実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第１の処理を実行させるプロセッサ制御ステップ（例えば、図１６のステップＳ１５３）とを含むことを特徴とする。
【００５４】
請求項１７記載の記録媒体（例えば、図１のコマンドセットROM５３）に記録されているプログラムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する情報処理装置（例えば、図１の情報処理代行専用装置１２）であって、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する第１の情報処理端末装置（例えば、スレーブ装置である図１の情報処理装置１１）に前記第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置（例えば、マスタ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されている情報処理装置の情報処理用のプログラムであって、前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図８のサブプロセッサ数など）を含む装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）を、前記第２の情報処理端末装置に通知する装置情報通知ステップ（例えば、図１０のステップＳ２５）と、前記第２の情報処理端末装置から送信される前記第１の処理の実行を依頼する処理依頼情報（例えば、コマンド実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第１の処理を実行させるプロセッサ制御ステップ（例えば、図１６のステップＳ１５３）とを含むことを特徴とする。
【００５５】
請求項１８記載のプログラムは、予め定められた第１の処理を行なう１つ以上の第１のプロセッサ（例えば、図１のサブプロセッサ６２）を有する情報処理装置（例えば、図１の情報処理代行専用装置１２）であって、汎用的な処理を行なう１つ以上の第２のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する第１の情報処理端末装置（例えば、スレーブ装置である図１の情報処理装置１１）に前記第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置（例えば、マスタ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されている情報処理装置のコンピュータに、情報処理を行なわせるプログラムであって、前記第１のプロセッサが行なう前記第１の処理を示す情報（例えば、図９のコマンドリスト）および前記情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む装置情報（例えば、図１の情報処理代行専用装置１２の装置情報）を、前記第２の情報処理端末装置に通知する装置情報通知ステップ（例えば、図１０のステップＳ２５）と、前記第２の情報処理端末装置から送信される前記第１の処理の実行を依頼する処理依頼情報（例えば、コマンド実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第１の処理を実行させるプロセッサ制御ステップ（例えば、図１６のステップＳ１５３）とを含むことを特徴とする。
【００５６】
請求項１９に記載の情報処理装置（例えば、スレーブ装置である図１の情報処理装置１１）は、汎用的な処理を行なう１つ以上の第１のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する情報処理装置であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサ（例えば、図１のサブプロセッサ６２）を有する第１の情報処理端末装置（例えば、図１の情報処理代行専用装置１２）に前記第１の処理の実行を依頼する第２の情報処理端末装置（例えば、マスタ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されている情報処理装置であって、自分が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および自分の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む装置情報（例えば、図１の情報処理装置１１の装置情報）を、前記第２の情報処理端末装置に通知する装置情報通知手段（例えば、図４の情報交換部１５１）と、前記第２の情報処理端末装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報（例えば、プログラム実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第２の処理を実行させるプロセッサ制御手段（例えば、図４のサブプロセッサ制御部１７１）とを含むことを特徴とする。
【００５７】
請求項２０に記載の情報処理装置（例えば、スレーブ装置である図１の情報処理装置１１）においては、前記プロセッサ制御手段は、前記第１のプロセッサに、前記第２の情報処理端末装置から送信される前記第２の処理を行なう機能プログラム（例えば、図３の機能プログラム）をロードさせ、前記機能プログラムの実行を依頼する前記処理依頼情報に基づいて、前記機能プログラムを実行させることにより前記第２の処理を実行させることを特徴とする。
【００５８】
請求項２１に記載の情報処理装置（例えば、スレーブ装置である図１の情報処理装置１１）は、前記第１のプロセッサにより実行されている前記第２の処理の進捗を通知する進捗情報（例えば、進捗情報通知ソフトウェアセル）を前記情報処理端末装置に送信する進捗通知手段（例えば、図４の進捗通知部１７２）をさらに含むことを特徴とする。
【００５９】
請求項２２に記載の情報処理方法は、汎用的な処理を行なう１つ以上の第１のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する情報処理装置（例えば、スレーブ装置である図１の情報処理装置１１）であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサ（例えば、図１のサブプロセッサ６２）を有する第１の情報処理端末装置（例えば、図１の情報処理代行専用装置１２）に前記第１の処理の実行を依頼する第２の情報処理端末装置（例えば、マスタ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されている情報処理装置の情報処理方法であって、前記情報処理装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む装置情報（例えば、図１の情報処理装置１１の装置情報）を、前記第２の情報処理端末装置に通知する装置情報通知ステップ（例えば、図１１のステップＳ４５）と、前記第２の情報処理端末装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報（例えば、プログラム実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第２の処理を実行させるプロセッサ制御ステップ（例えば、図１７のステップＳ１７４）とを含むことを特徴とする。
【００６０】
請求項２３に記載の記録媒体（例えば、図１の外部記録部２３）に記録されているプログラムは、汎用的な処理を行なう１つ以上の第１のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する情報処理装置（例えば、スレーブ装置である図１の情報処理装置１１）であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサ（例えば、図１のサブプロセッサ６２）を有する第１の情報処理端末装置（例えば、図１の情報処理代行専用装置１２）に前記第１の処理の実行を依頼する第２の情報処理端末装置（例えば、マスタ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されている情報処理装置の情報処理用のプログラムであって、前記情報処理装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む装置情報（例えば、図１の情報処理装置１１の装置情報）を、前記第２の情報処理端末装置に通知する装置情報通知ステップ（例えば、図１１のステップＳ４５）と、前記第２の情報処理端末装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報（例えば、プログラム実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第２の処理を実行させるプロセッサ制御ステップ（例えば、図１７のステップＳ１７４）とを含むことを特徴とする。
【００６１】
請求項２４に記載のプログラムは、汎用的な処理を行なう１つ以上の第１のプロセッサ（例えば、スレーブ装置である図１の情報処理装置１１のサブプロセッサ３２）を有する情報処理装置（例えば、スレーブ装置である図１の情報処理装置１１）であって、予め定められた第１の処理を行なう１つ以上の第２のプロセッサ（例えば、図１のサブプロセッサ６２）を有する第１の情報処理端末装置（例えば、図１の情報処理代行専用装置１２）に前記第１の処理の実行を依頼する第２の情報処理端末装置（例えば、マスタ装置である図１の情報処理装置１１）とネットワーク（例えば、図１のネットワーク１３）を介して相互に接続されている情報処理装置のコンピュータに、情報処理を行なわせるプログラムであって、前記情報処理装置が汎用的な処理を行なうことを示す情報（例えば、図８の装置種別ID）および前記情報処理装置の処理能力を示す情報（例えば、図８のサブプロセッサ数など）を含む装置情報（例えば、図１の情報処理装置１１の装置情報）を、前記第２の情報処理端末装置に通知する装置情報通知ステップ（例えば、図１１のステップＳ４５）と、前記第２の情報処理端末装置から送信される前記第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報（例えば、プログラム実行ソフトウェアセル）に基づいて、前記第１のプロセッサに前記第２の処理を実行させるプロセッサ制御ステップ（例えば、図１７のステップＳ１７４）とを含むことを特徴とする。
【００６２】
以下、図を参照して、本発明の実施の形態について説明する。
【００６３】
図１は、分散処理を実行することが可能な、情報処理システム１の一実施の形態を示す図である。情報処理システム１においては、例えば、ホームネットワーク、ＬＡＮ（Local Area Network），ＷＡＮ（Wide Area Network），または、インターネットなどの広域ネットワークなどに対応するネットワーク１３を介して、ｎ台の情報処理装置１１−１乃至情報処理装置１１−ｎ、および、ｍ台の情報処理代行専用装置１２−１乃至１２−ｍとが相互に接続されている。なお、以下、情報処理装置１１−１乃至情報処理装置１１−ｎを個々に区別する必要のないとき、単に情報処理装置１１と称し、情報処理代行専用装置１２−１乃至情報処理代行専用装置１２−ｍを個々に区別する必要のないとき、単に情報処理代行専用装置１２と称する。
【００６４】
情報処理システム１は、ネットワーク１３に接続されている情報処理装置１１および情報処理代行専用装置１２により分散処理を行ない、ビデオレコーダ、テレビジョン受像機、電話機などの１つの完結した機能（以下、アプリケーション機能と称する）を実現する。
【００６５】
情報処理装置１１は、所定のアプリケーション機能を提供したり、他の情報処理装置１１から実行を依頼された処理を実行する。情報処理装置１１は、所定のアプリケーション機能を提供する場合、自分自身で実行することができない機能があるときや、処理の負荷が大きいときなどに、必要に応じて、他の情報処理装置１１または情報処理代行専用装置１２にその処理の実行を依頼する。
【００６６】
情報処理代行専用装置１２は、アプリケーション機能の一部の予め定められた処理のみを実行するように特化された装置であり、例えば、各種データのデコードのみを実行したり、映像データの画質改善処理のみを行なったりする。情報処理代行専用装置１２は、所定の処理のみを実行するように特化されているため、情報処理装置１１に比べて、ハードウェアおよびソフトウェアの構成を小規模にすることができるため、より少ないコストで、対応する処理の処理能力を向上させることができる。また、装置を小型化したり、軽量化したりすることが可能である。
【００６７】
情報処理システム１において分散処理を行なう場合、少なくとも１台の情報処理装置１１がマスタ装置となり、マスタ装置以外の情報処理装置１１および情報処理代行専用装置１２がスレーブ装置となる。なお、情報処理代行専用装置１２がマスタ装置になることはない。マスタ装置は、図１４および図１５を参照して後述するように、分散処理の実行を依頼するスレーブ装置の選択や、各スレーブ装置の処理のスケジュール管理など分散処理における全体的な管理を行なう。
【００６８】
情報処理システム１において、ネットワーク１３に接続されている情報処理装置１１および情報処理代行専用装置１２の間でのプログラム、データ、指令などの送受信は、図２を参照して後述するソフトウェアセルを用いて行なわれる。
【００６９】
情報処理装置１１−１は、少なくとも１つの情報処理コントローラ２１−１、メインメモリ２２−１、および外部記録部２３−１を含むように構成される。
【００７０】
情報処理コントローラ２１−１は、メインメモリ２２−１に記憶されている各種のプログラムを実行し情報処理装置１１−１全体を制御する。情報処理コントローラ２１−１は、ソフトウェアセルを用いて、各種の情報、データ、プログラムなどを、他の情報処理装置１１または情報処理代行専用装置１２にネットワーク１３を介して送信したり、他の情報処理装置１１または情報処理代行専用装置１２から送信されるソフトウェアセルをネットワーク１３を介して受信する。
【００７１】
情報処理コントローラ２１−１は、図示せぬ操作部を操作することによりユーザから指令された処理や、他の情報処理装置１１から送信されてくるソフトウェアセルにより依頼される処理を実行する。また、情報処理コントローラ２１−１は、必要に応じて、ソフトウェアセルを用いて、他の情報処理装置１１または情報処理代行専用装置１２に処理の実行を依頼する。
【００７２】
情報処理コントローラ２１−１は、メインCPU（Central Processing Unit）３１−１、ｐ個のサブプロセッサ３２−１−１乃至サブプロセッサ３２−ｐ−１、DMAC（Direct Memory Access Controller）３３−１、および、ＤＣ（Disk Controller）３４−１を備えている。メインCPU３１−１、サブプロセッサ３２−１−１乃至サブプロセッサ３２−ｐ−１、DMAC３３−１、および、ＤＣ３４−１は、バス３５−１を介して相互に接続されている。なお、以下、サブプロセッサ３２−１−１乃至サブプロセッサ３２−ｐ−１を個々に区別する必要がないとき、単にサブプロセッサ３２−１と称する。
【００７３】
メインCPU３１−１は、ローカルストレージ４１−１を備え、メインメモリ２２−１からロードしたデータおよびプログラムを、ローカルストレージ４１−１に一時的に記憶させる。メインCPU３１−１は、ローカルストレージ４１−１からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
【００７４】
メインCPU３１−１は、ソフトウェアセルを用いて、各種の情報、データ、プログラムなどを、他の情報処理装置１１または情報処理代行専用装置１２にネットワーク１３を介して送信したり、他の情報処理装置１１または情報処理代行専用装置１２から送信されるソフトウェアセルをネットワーク１３を介して受信する。メインCPU３１−１は、図示せぬ操作部を操作することによりユーザから指令された処理や、他の情報処理装置１１から送信されてくるソフトウェアセルにより依頼される処理を実行する。メインCPU３１−１は、必要に応じて、ソフトウェアセルを用いて、他の情報処理装置１１または情報処理代行専用装置１２に処理の実行を依頼する。
【００７５】
メインCPU３１−１は、それぞれのサブプロセッサ３２−１に独立したプログラムを実行させ、論理的に１つの機能（論理スレッド）として結果を求めるようにすることができる。すなわち、メインCPU３１−１は、サブプロセッサ３２−１によるプログラムの実行のスケジュール管理および情報処理コントローラ２１−１（情報処理装置１１−１）の全体の管理を行う。
【００７６】
メインCPU３１−１は、図７および図８を参照して後述するように、ネットワーク１３に接続されている他の情報処理装置１１および情報処理代行専用装置１２から、各装置の処理能力や動作状態（状況）に関する装置情報を取得し、自分自身を含むネットワーク１３に接続されている情報処理装置１１および情報処理代行専用装置１２の装置情報を管理する装置情報テーブルを生成する。メインCPU３１−１は、装置情報テーブルをメインメモリ２２−１に記憶させ、適宜更新する。また、メインCPU３１−１は、必要に応じて、ネットワーク１３に接続されている他の情報処理装置１１に、ソフトウェアセルを用いて自分の装置情報を通知する。
【００７７】
メインCPU３１−１は、図１４および図１５を参照して後述するように、情報処理装置１１がマスタ装置である場合、情報処理システム１における分散処理の状況を管理する分散処理管理テーブルを生成し、メインメモリ２２−１に記憶させ、適宜更新する。
【００７８】
なお、メインCPU３１−１は、管理のためのプログラム以外のプログラムを実行するように構成することもできる。この場合、メインCPU３１−１は、サブプロセッサとして機能する。
【００７９】
サブプロセッサ３２−１はそれぞれ、メインCPU３１−１の制御に基づいて、並列的かつ独立に、プログラムを実行し、データを処理する。さらに、必要に応じて、メインCPU３１−１が実行するプログラムが、サブプロセッサ３２−１のそれぞれが実行するプログラムのそれぞれと連携して動作するように構成することも可能である。
【００８０】
サブプロセッサ３２−１−１乃至３２−ｐ−１はそれぞれ、ローカルストレージ４２−１−１乃至４２−ｐ−１を備える。サブプロセッサ３２−１−１乃至３２−ｐ−１はそれぞれ、ローカルストレージ４２−１−１乃至４２−ｐ−１に、必要に応じて、データおよびプログラムを一時的に記憶させる。サブプロセッサ３２−１−１乃至３２−ｐ−１はそれぞれ、ローカルストレージ４２−１−１乃至４２−ｐ−１からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
【００８１】
以下、ローカルストレージ４２−１−１乃至４２−ｐ−１を個々に区別する必要のないとき、単にローカルストレージ４２−１と称する。
【００８２】
DMAC３３−１は、メインCPU３１−１およびサブプロセッサ３２−１からのメインメモリ２２−１へのアクセスを管理する。メインCPU３１−１またはサブプロセッサ３２−１は、DMAC３３−１に読み出し命令を実行させることにより、メインメモリ２２−１に記憶されているプログラムまたはデータを読み出し、DMAC３３−１に書き込み命令を実行させることにより、メインメモリ２２−１にプログラムまたはデータを記憶させる。
【００８３】
なお、以下、メインCPU３１−１またはサブプロセッサ３２−１が、DMAC３３−１に読み出し命令を実行させることにより、メインメモリ２２−１に記憶されているプログラムまたはデータを読み出すことを、単に、メインCPU３１−１またはサブプロセッサ３２−１が、メインメモリ２２−１に記憶されているプログラムまたはデータを読み出すと記述し、メインCPU３１−１またはサブプロセッサ３２−１が、DMAC３３−１に書き込み命令を実行させることにより、メインメモリ２２−１にプログラムまたはデータを記憶させることを、単に、メインCPU３１−１またはサブプロセッサ３２−１が、メインメモリ２２−１にプログラムまたはデータを記憶させると記述するように、DMAC３３−１の処理の記述を適宜省略する。
【００８４】
DC３４−１は、メインCPU３１−１およびサブプロセッサ３２−１からの外部記録部２３−１へのアクセスを管理する。メインCPU３１−１またはサブプロセッサ３２−１は、DC３４−１に読み出し命令を実行させることにより、外部記録部２３−１に記憶されているプログラムおよびデータを読み出し、DC３４−１に書き込み命令を実行させることにより、外部記録部２３−１にプログラムおよびデータを記憶させる。
【００８５】
なお、以下、メインCPU３１−１またはサブプロセッサ３２−１が、DC３４−１に読み出し命令を実行させることにより、外部記録部２３−１に記憶されているプログラムまたはデータを読み出すことを、単に、メインCPU３１−１またはサブプロセッサ３２−１が、外部記録部２３−１に記憶されているプログラムまたはデータを読み出すと記述し、メインCPU３１−１またはサブプロセッサ３２−１が、DC３４−１に書き込み命令を実行させることにより、メインメモリ２２−１にプログラムまたはデータを記憶させることを、単に、メインCPU３１−１またはサブプロセッサ３２−１が、外部記録部２３−１にプログラムまたはデータを記憶させると記述するように、DC３４−１の処理の記述を適宜省略する。
【００８６】
なお、ここでは情報処理装置１１−１に、情報処理コントローラ２１−１が１つだけ備えられているものとして説明したが、情報処理コントローラ２１−１は、情報処理装置１１−１に複数個備えられているようにしてもよい。
【００８７】
メインメモリ２２−１は、例えば、RAMから構成される。メインメモリ２２−１は、メインCPU３１−１およびサブプロセッサ３２−１が実行する各種のプログラムおよびデータを一時的に記憶している。
【００８８】
外部記録部２３−１は、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc-Read Only Memory）、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（MD(Mini-Disc)（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア、ハードディスク、SRAM（Static Random Access Memory）、または、ROM（Read Only Memery）などにより構成される。外部記録部２３−１は、メインCPU３１−１およびサブプロセッサ３２−１が実行する各種のプログラムおよびデータを記録している。また、外部記録部２３−１は、情報処理コントローラ２１−１から供給されたデータを記録する。なお、外部記録部２３−１は、情報処理装置１１−１に、複数台備えられるようにしてもよい。
【００８９】
なお、他の情報処理装置１１は情報処理装置１１−１と同様に構成されるので、その説明は省略する。他の情報処理装置１１は上述した構成に限らず、必要に応じて、機能を追加したり削除したりすることは可能であり、その機能に対応した構成をもつことが可能である。
【００９０】
また、情報処理装置１１−１の各部の符号の末尾の「−１」は、各部が情報処理装置１１−１に含まれることを示しており、以下、同様に、情報処理装置１１−ｉ（ｉ＝１，２，…，ｎ）の各部の符号の末尾に「−ｉ（ｉ＝１，２，…，ｎ）」を付して記載する。例えば情報処理装置１１−ｎの情報処理コントローラを、情報処理コントローラ２１−ｎと記載する。
【００９１】
なお、以下、情報処理装置１１−１乃至１１−ｎに含まれる各部を個々に区別する必要がないとき、または、各部が設けられている情報処理装置１１が明らかなとき、各部の符号の末尾の「−ｉ（ｉ＝１，２，…，ｎ）」の記載を適宜省略して、例えば、情報処理コントローラ２１と記載する。また、以下、例えば、情報処理コントローラ２１−１を、情報処理装置１１−１の情報処理コントローラ２１のように、各部が設けられている情報処理装置１１−ｉ（ｉ＝１，２，…，ｎ）を明示することにより、情報処理装置１１−ｉの各部の符号の末尾の「−ｉ（ｉ＝１，２，…，ｎ）」を適宜省略する。
【００９２】
情報処理代行専用装置１２−１は、少なくとも１つの情報処理コントローラ５１−１、メインメモリ５２−１、およびコマンドセットROM（Read Only Memory）５３−１を含むように構成される。
【００９３】
情報処理コントローラ５１−１は、メインメモリ５２−１に記憶されている各種のプログラムを実行し情報処理代行専用装置１２−１全体を制御する。情報処理コントローラ５１−１は、ソフトウェアセルを用いて、各種の情報、データ、プログラムなどを、情報処理装置１１または他の情報処理代行専用装置１２にネットワーク１３を介して送信したり、情報処理装置１１または他の情報処理代行専用装置１２から送信されるソフトウェアセルをネットワーク１３を介して受信する。
【００９４】
情報処理コントローラ５１−１は、図１６を参照して後述するように、情報処理装置１１から受信したソフトウェアセルにより指定されるコマンド（以下、機能実行コマンドと称する）により指令されたプログラムを実行することにより、コマンドセットROM５３−１に記憶されているプログラムを実行する。
【００９５】
情報処理コントローラ５１−１は、制御用CPU６１−１、サブプロセッサ６２−１−１乃至サブプロセッサ６２−ｑ−１、およびDMAC６３−１を備えている。制御用CPU６１−１、サブプロセッサ６２−１−１乃至サブプロセッサ６２−ｑ−１、およびDMAC６３−１は、バス６４−１を介して相互に接続されている。なお、以下、サブプロセッサ６２−１−１乃至サブプロセッサ６２−ｑ−１を個々に区別する必要がないとき、単にサブプロセッサ６２−１と称する。
【００９６】
制御用CPU６１−１は、ローカルストレージ７１−１を備え、メインメモリ５２−１またはコマンドセットROM５３−１からロードしたデータおよびプログラムを、ローカルストレージ７１−１に一時的に記憶させる。制御用CPU６１−１は、ローカルストレージ７１−１からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
【００９７】
制御用CPU６１−１は、ソフトウェアセルを用いて、各種の情報、データ、プログラムなどを、情報処理装置１１または他の情報処理代行専用装置１２にネットワーク１３を介して送信したり、情報処理装置１１または他の情報処理代行専用装置１２から送信されるソフトウェアセルをネットワーク１３を介して受信する。
【００９８】
制御用CPU６１−１は、それぞれのサブプロセッサ６２−１に独立したプログラムを実行させ、論理的に１つの機能（論理スレッド）として結果を求めるようにすることができる。すなわち、制御用CPU６１−１は、サブプロセッサ６２−１によるプログラムの実行のスケジュール管理および情報処理コントローラ５１−１（情報処理代行専用装置１２−１）の全体の管理を行う。
【００９９】
制御用CPU６１−１は、自分の装置情報をメインメモリ５２−１に記憶させ、適宜更新する。また、制御用CPU６１−１は、必要に応じて、ネットワーク１３に接続されている情報処理装置１１に、ソフトウェアセルを用いて自分の装置情報を通知する。なお、情報処理代行専用装置１２は、マスタ装置となって他の装置に処理の実行を依頼することがないため、情報処理装置１１とは異なり、装置情報テーブルおよび分散処理管理テーブルを管理しない。
【０１００】
制御用CPU６１−１は、サブプロセッサ６２−１の管理およびネットワーク１３に接続されている他の装置との通信などを実行するだけで、アプリケーション処理を実行しないため、高性能である必要はなく、情報処理装置１１のメインCPU３１と比較して、低い性能のCPUを用いることができる。
【０１０１】
サブプロセッサ６２−１はそれぞれ、制御用CPU６１−１の制御に基づいて、並列的かつ独立に、プログラムを実行し、データを処理する。さらに、必要に応じて、制御用CPU６１−１が実行するプログラムが、サブプロセッサ６２−１のそれぞれが実行するプログラムのそれぞれと連携して動作するように構成することも可能である。
【０１０２】
サブプロセッサ６２−１は、予め定められた処理を行なうように特化されており、例えば、各種の画像データや音声データの処理を行うように特化されたDSP（（Digital Signal Processor）とされる。従って、サブプロセッサ６２−１は、汎用的な処理を行なう情報処理装置１１のサブプロセッサ３２と比べて、特化された処理における処理能力が一般的に優れる。また、サブプロセッサ６２−１は、処理の大部分を専用のハードウェアやミドルウェアにより実行するので、パッケージ化された小規模なプログラム（例えば、コマンドリスト程度のプログラム）を実行することにより、その処理を実行することができる。
【０１０３】
サブプロセッサ６２−１−１乃至６２−ｑ−１はそれぞれ、ローカルストレージ７２−１−１乃至７２−ｑ−１を備える。サブプロセッサ６２−１−１乃至６２−ｑ−１はそれぞれ、ローカルストレージ７２−１−１乃至７２−ｑ−１に、必要に応じて、データおよびプログラムを一時的に記憶させる。サブプロセッサ６２−１−１乃至６２−ｑ−１はそれぞれ、ローカルストレージ７２−１−１乃至７２−ｑ−１からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
【０１０４】
以下、ローカルストレージ７２−１−１乃至７２−ｑ−１を個々に区別する必要のないとき、単にローカルストレージ７２−１と称する。
【０１０５】
DMAC６３−１は、制御用CPU６１−１およびサブプロセッサ６２−１からのメインメモリ５２−１またはコマンドセットROM５３−１へのアクセスを管理する。制御用CPU６１−１またはサブプロセッサ６２−１は、DMAC６３−１に読み出し命令を実行させることにより、メインメモリ５２−１またはコマンドセットROM５３−１に記憶されているプログラムおよびデータを読み出し、DMAC６３−１に書き込み命令を実行させることにより、メインメモリ５２−１にプログラムまたはデータを記憶させる。
【０１０６】
なお、以下、制御用CPU６１−１またはサブプロセッサ６２−１が、DMAC６３−１に読み出し命令を実行させることにより、メインメモリ５２−１またはコマンドセットROM５３−１に記憶されているプログラムまたはデータを読み出すことを、単に、制御用CPU６１−１またはサブプロセッサ６２−１が、メインメモリ５２−１またはコマンドセットROM５３−１に記憶されているプログラムまたはデータを読み出すと記述し、および、制御用CPU６１−１またはサブプロセッサ６２−１が、DMAC６３−１に書き込み命令を実行させることにより、メインメモリ５２−１にプログラムまたはデータを記憶させることを、単に、制御用CPU６１−１またはサブプロセッサ６２−１が、メインメモリ５２−１にプログラムまたはデータを記憶させると記述するように、DMAC６３−１の処理の記述を適宜省略する。
【０１０７】
なお、ここでは、情報処理代行専用装置１２−１に、情報処理コントローラ５１−１が１つだけ備えられているものとして説明したが、情報処理コントローラ５１−１は、情報処理代行専用装置１２−１に複数個備えられているようにしてもよい。
【０１０８】
メインメモリ５２−１は、例えば、RAMから構成される。メインメモリ５２−１は、制御用CPU６１−１およびサブプロセッサ６２−１が実行する各種のプログラムおよびデータを一時的に記憶している。
【０１０９】
コマンドセットROM５３−１は、制御用CPU６１−１およびサブプロセッサ６２−１が実行する各種のプログラムおよびデータを記憶している。また、コマンドセットROM５３−１は、所定の実行コマンドによりサブプロセッサ６２−１による実行が指令され、所定の処理を行なう各種のプログラムを記憶している。
【０１１０】
なお、コマンドセットROM５３−１を、EEPROM（Electronically Erasable and Programmable Read Only Memory）などの書き換え可能な不揮発性メモリにより構成するようにしてもよい。
【０１１１】
また、情報処理代行専用装置１２−１のソフトウェアは、図６を参照して後述するように小規模な構成となるため、情報処理装置１１に設けられるような容量の大きな外部記録部は設けられない。
【０１１２】
なお、他の情報処理代行専用装置１２は、情報処理代行専用装置１２−１と同様に構成されるので、その説明は省略する。他の情報処理代行専用装置１２は上述した構成に限らず、必要に応じて、機能を追加したり削除したりすることは可能であり、その機能に対応した構成をもつことが可能である。
【０１１３】
また、情報処理代行専用装置１２−１の各部の符号の末尾の「−１」は、各部が情報処理代行専用装置１２−１に含まれることを示しており、以下、同様に、情報処理代行専用装置１２−ｉ（ｉ＝１，２，…，ｍ）の各部の符号の末尾に「−ｉ（ｉ＝１，２，…，ｍ）」を付して記載する。例えば、情報処理代行専用装置１２−ｍの情報処理コントローラを、情報処理コントローラ５１−ｍと記載する。
【０１１４】
なお、以下、情報処理代行専用装置１２−１乃至１２−ｍに含まれる各部を個々に区別する必要がないとき、または、各部が設けられている情報処理代行専用装置１２が明らかなとき、各部の符号の末尾の「−ｉ（ｉ＝１，２，…，ｍ）」の記載を適宜省略して、例えば、情報処理コントローラ５１と記載する。また、以下、例えば、情報処理コントローラ５１−１を、情報処理代行専用装置１２−１の情報処理コントローラ５１のように、各部が設けられている情報処理代行専用装置１２−ｉ（ｉ＝１，２，…，ｍ）を明示することにより、情報処理代行専用装置１２−ｉの各部の符号の末尾の「−ｉ（ｉ＝１，２，…，ｍ）」を適宜省略する。
【０１１５】
情報処理装置１１の情報処理コントローラ２１および情報処理代行専用装置１２の情報処理コントローラ５１には、情報処理装置１１および情報処理代行専用装置１２を、ネットワーク１３全体を通して一意に特定できる装置IDが割り当てられている。装置IDは、例えば、情報処理装置１１または情報処理代行専用装置１２のそれぞれの電源がオンされたとき、情報処理装置１１の情報処理コントローラ２１のメインCPU３１、または、情報処理代行専用装置１２の情報処理コントローラ５１の制御用CPU６１によって、電源がオンされたときの日時、情報処理装置１１または情報処理代行専用装置１２のネットワークアドレス、および、情報処理装置１１のサブプロセッサ３２の数、または、情報処理代行専用装置１２のサブプロセッサ６２の数などに基づいて生成される。
【０１１６】
また、情報処理装置１１のメインCPU３１および情報処理代行専用装置１２の制御用CPU６１には、各CPUを特定するためのCPU IDが識別子として割り当てられる。さらに、情報処理装置１１のサブプロセッサ３２および情報処理代行専用装置１２のサブプロセッサ６２には、各サブプロセッサを特定するためにサブプロセッサIDが識別子として割り当てられる。
【０１１７】
図２は、ソフトウェアセルの構成の例を示す図である。
【０１１８】
ソフトウェアセルは、送信元ID、送信先ID、応答先ID、セルインタフェース、DMAコマンド領域、プログラム領域、およびデータ領域を含むように構成される。
【０１１９】
送信元IDには、ソフトウェアセルの送信元が情報処理装置１１の場合、送信元である情報処理装置１１のネットワークアドレス、および、情報処理装置１１の情報処理コントローラ２１の装置ID、さらに、情報処理装置１１の情報処理コントローラ２１が備えるメインCPU３１およびサブプロセッサ３２の識別子（CPU IDおよびサブプロセッサID）を含むID（以下、送受信用IDと称する）が設定され、ソフトウェアセルの送信元が情報処理代行専用装置１２の場合、送信元である情報処理代行専用装置１２のネットワークアドレス、および、情報処理代行専用装置１２の情報処理コントローラ５１の装置ID、さらに、情報処理代行専用装置１２の情報処理コントローラ５１が備える制御用CPU６１およびサブプロセッサ６２の識別子（CPU IDおよびサブプロセッサID）を含む送受信用IDが設定される。
【０１２０】
送信先IDには、ソフトウェアセルの送信先である情報処理装置１１または情報処理代行専用装置１２の送受信用IDが設定される。
【０１２１】
応答先IDには、ソフトウェアセルの実行結果の応答先である情報処理装置１１または情報処理代行専用装置１２の送受信用IDが設定される。
【０１２２】
セルインタフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルID、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルIDから構成される。
【０１２３】
グローバルIDは、ネットワーク１３全体を通してソフトウェアセルを一意に識別するためのIDであり、送信元ID、およびソフトウェアセルの生成または送信の日時（日付および時刻）を基に生成される。
【０１２４】
必要なサブプロセッサの情報には、ソフトウェアセルの実行に必要なサブプロセッサの数などが設定される。
【０１２５】
サンドボックスサイズには、ソフトウェアセルの実行に必要なメインメモリおよびサブプロセッサのローカルストレージのメモリ量が設定される。
【０１２６】
前回のソフトウェアセルIDは、ストリーミングデータなどのシーケンシャルな実行を要求する１つのグループを構成するソフトウェアセル内における前回のソフトウェアセルの識別子である。
【０１２７】
ソフトウェアセルの実行セクションは、DMAコマンド領域、プログラム領域およびデータ領域から構成される。
【０１２８】
DMAコマンド領域には、例えば、送信先の情報処理装置１１または情報処理代行専用装置１２に処理の実行を依頼したり、処理の結果などの各種の情報を通知したりするために用いられるDMAコマンドと、DMAコマンドの実行に必要な各種のデータが格納される。DMAコマンドには、例えば、ロードコマンド、キックコマンド、機能実行コマンド、ステータスコマンド、ステータス返信コマンド、および、シーケンス処理依頼コマンドなどがある。
【０１２９】
ロードコマンドは、プログラム領域に格納されているプログラムを送信先の情報処理装置１１のメインCPU３１またはサブプロセッサ３２にロードさせるコマンドである。DMAコマンド領域にロードコマンドが設定された場合、ロードコマンドのほかに、プログラムのロード先であるメインメモリ２２のアドレス、または、プログラムのロード先であるサブプロセッサ３２のサブプロセッサIDおよびローカルストレージ４２のアドレスが設定される。
【０１３０】
キックコマンドは、プログラムの実行を開始させるコマンドである。DMAコマンド領域にキックコマンドが設定された場合、キックコマンドのほかに、キック対象のサブプロセッサ３２のサブプロセッサID、および、プログラムの処理を開始するアドレスに関する情報であるプログラムカウンタが設定される。
【０１３１】
機能実行コマンドは、情報処理代行専用装置１２のコマンドセットROM５３に記憶されているプログラムの実行を指令するコマンドである。DMAコマンド領域に機能実行コマンドが設定された場合、機能実行コマンドのほかに、プログラムを実行させるサブプロセッサ６２のサブプロセッサID、および、コマンドセットROM５３に記憶されているプログラムのロード先であるサブプロセッサ６２のローカルストレージ７２のアドレスが設定される。
【０１３２】
ステータスコマンドは、送信先IDで示される情報処理装置１１または情報処理代行専用装置１２の装置情報を、応答先IDで示される情報処理装置１１あてに送信要求するコマンドである。
【０１３３】
ステータス返信コマンドは、送信元の情報処理装置１１または情報処理代行専用装置１２が、送信先の情報処理装置１１または情報処理代行専用装置１２に各種の情報やデータを送信するときに設定されるコマンドである。ステータスコマンドには、送信する情報やデータによって異なる値（例えば、数値や文字列）が設定される。
【０１３４】
シーケンス処理依頼コマンドは、スレーブ装置である情報処理装置１１がマスタ装置である情報処理代行専用装置１２に一連の処理の実行を依頼するためのコマンドである。
【０１３５】
プログラム領域には、DMAコマンドにロードコマンドが設定されたとき、送信先の情報処理装置１１にロードさせるプログラムなどが格納される。
【０１３６】
データ領域には、各種の情報やパラメータなどが格納される。
【０１３７】
図３に、情報処理装置１１の個々の情報処理コントローラ２１のメインCPU３１またはサブプロセッサ３２により実行されるソフトウェアの構成の例を示す。これらのソフトウェア（プログラム）は、情報処理装置１１に電源が投入される前においては、情報処理コントローラ２１に接続される外部記録部２３に記録されていて、必要に応じて、メインメモリ２２、メインCPU３１のローカルストレージ４１、または、サブプロセッサ３２のローカルストレージ４２にロードされる。
【０１３８】
各プログラムは、機能または特徴によって、制御プログラム、機能プログラム、および、デバイスドライバに分類される。
【０１３９】
制御プログラムは、それぞれの情報処理コントローラ２１が同じものを備え、それぞれの情報処理コントローラ２１のメインCPU３１が実行するものである。例えば、複数の情報処理装置１１および情報処理代行専用装置１２において分散処理を実行することが可能なようになされている場合、制御プログラムには、MS（マスタ／スレーブ）マネージャ１１１、能力交換プログラム１１２、サブプロセッサマネージャ１１３、および、分散処理マネージャ１１４が含まれる。なお、制御プログラムに属する各プログラムの機能については、図４を参照して後述する。
【０１４０】
機能プログラムは、メインCPU３１またはサブプロセッサ３２が実行する、いわゆるアプリケーションプログラムに対応するものであり、例えば、映像データのデコード処理を実行する映像デコードプログラム１２１、音声データのデコード処理を実行する音声デコードプログラム１２２、映像データのノイズ除去などの画質改善処理を実行する画質改善プログラム１２３、映像データをモニタに出力して映像を表示させる映像出力プログラム１２４、音声データをスピーカに出力してスピーカから音声を出力させる音声出力プログラム１２５など、情報処理コントローラ２１ごとに、情報処理装置１１が有する機能に応じたものが備えられるようになされている。
【０１４１】
機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムIDとして割り当てられる。機能プログラムIDは、機能プログラムの作成の段階で、作成日時や装置IDなどから決定される。さらに、機能プログラムには、その実行単位ごとに必要となる、装置種別ＩＤ、CPUまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件、その機能プログラムと同等の処理を行なう情報処理代行専用装置１２のコマンドセットROM５３に記憶されている機能プログラムの実行を指令する機能実行コマンドなど、機能プログラムの実行に必要な装置に関する要求スペックが規定されている。この要求スペックは、メタデータとして機能プログラムごとに記述されてもよいし、機能プログラムとは別の情報として各情報処理装置１１で管理するようにしてもよい。
【０１４２】
デバイスドライバは、メインCPU３１が実行する、情報処理装置１１のデータの入出力（送受信）や、各種ハードウェアの処理を制御するためのドライバであり、例えば、ネットワーク１３へのデータの入出力を制御するネットワーク入出力ドライバ１３１、モニタへの画像データの出力を制御するモニタ出力ドライバ１３２、各種の記録媒体（ディスク）へのデータの入出力を制御するディスク制御ドライバ１３３など、情報処理コントローラ２１ごとに、情報処理装置１１が有する機能に応じたものが備えられている。
【０１４３】
なお、制御プログラムまたはデバイスドライバに属するプログラムは、メインCPU３１で実行されることに限らず、いずれかのサブプロセッサ３２で実行されてもよい。また、MSマネージャ１１１、能力交換プログラム１１２、サブプロセッサマネージャ１１３、および、分散処理マネージャ１１４は、情報処理装置１１の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１４４】
また、制御プログラムまたはデバイスドライバに属するプログラムは、ネットワーク１３経由で他の装置から取得するようにしてもよい。また、制御プログラムまたはデバイスドライバに属するプログラムを、リムーバブルメディアなどにより構成される外部記録部２３から、ハードディスクなどにより構成され情報処理装置１１に組み込まれている別の外部記録部２３にインストールして、適宜更新や追加するようにしてもよい。
【０１４５】
機能プログラムに属する各プログラムについては、メインCPU３１の制御に基づいて、必要なときに必要なプログラムだけがロードされるようにしてもよいし、または、主電源投入直後に各プログラムがロードされるようにしてもよい。また、機能プログラムに属する各プログラムは、ネットワーク１３に接続された全ての情報処理装置１１の外部記録部２３に記録されている必要はなく、いずれか１つの情報処理装置１１の外部記録部２３に記録されていれば、図１３乃至図１７を参照して後述するように、必要に応じて、それぞれの情報処理装置１１の間で、機能プログラムを授受することができる。したがって、ネットワーク１３に接続されている複数の情報処理装置１１を仮想的な１台の情報処理装置として動作させ、機能プログラムを実行させることができる。
【０１４６】
図４は、制御プログラムに含まれるMSマネージャ１１１、能力交換プログラム１１２、サブプロセッサマネージャ１１３、および、分散処理マネージャ１１４を実行する情報処理装置１１のメインCPU３１により実現される機能の構成の一例を示す図である。メインCPU３１がMSマネージャ１１１を実行することにより、情報交換部１５１、MS（マスタ／スレーブ）管理部１５２、および装置情報管理部１５３が実現され、能力交換プログラム１１２を実行することにより、装置情報テーブル管理部１６１が実現され、サブプロセッサマネージャ１１３を実行することにより、サブプロセッサ制御部１７１および進捗通知部１７２が実現され、分散処理マネージャ１１４を実行することにより、シーケンス処理管理部１８１、機能プログラム決定部１８２、分散処理装置決定部１８３、分散処理管理部１８４、シーケンス処理依頼部１８５、および進捗通知部１８６が実現される。
【０１４７】
情報交換部１５１は、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して、ネットワーク１３に接続されている他の装置と装置情報の交換をしたり、他の装置の存在の確認をしたり、他の装置へ自分自身がネットワーク１３に接続されたことを通知したりする。ここでの「接続」または「存在」は、情報処理装置１１が物理的にネットワーク１３に接続されているだけでなく、電気的および機能的にネットワーク１３に接続されていることに対応する。また、ここでの自分自身とは、文章の主語である情報交換部１５１ではなく、情報交換部１５１が設けられている情報処理装置１１のことをさす。以下、同様に、情報処理装置１１または情報処理代行専用装置１２の各部が文章の主語になっているとき、文章の主語である各部が含まれる情報処理装置１１または情報処理代行専用装置１２のことを、その文章中で自分または自分自身とも表現する。
【０１４８】
情報交換部１５１は、取得した他の装置の装置情報を能力交換プログラム１１２に供給する。また、情報交換部１５１は、マスタ装置である情報処理装置１１から装置情報を受信した場合、ネットワーク１３上にマスタ装置が存在することを示す情報をMS管理部１５２に供給する。
【０１４９】
MS管理部１５２は、図７を参照して後述するように、自分自身をマスタ装置として動作させるか、スレーブ装置として動作させるかを決定し、決定内容を装置情報管理部１５３および分散処理マネージャ１１４に通知する。
【０１５０】
装置情報管理部１５３は、例えば、サブプロセッサマネージャ１１３から各サブプロセッサ３２の状態を示す情報を取得したり、メインメモリ２２および外部記録部２３の使用量を調査したりして、自分自身の装置情報を更新し、更新した装置情報を分散処理マネージャ１１４に供給し、装置情報を更新したことを情報交換部１５１に通知する。
【０１５１】
装置情報テーブル管理部１６１は、図７および図１１を参照して後述するように、情報交換部１５１から供給された他の装置の装置情報、および、装置情報管理部１５３から供給された自分自身の装置情報に基づいて、装置情報テーブルを生成する。装置情報テーブル管理部１６１は、生成した装置情報テーブルをメインメモリ２２に記憶させ、適宜更新する。
【０１５２】
サブプロセッサ制御部１７１は、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して、他の情報処理装置１１から処理の実行を依頼するソフトウェアセルを受信したり、ユーザにより入力された処理の指令を取得し、各メインCPU３１またはサブプロセッサ３２に処理を実行させる。また、サブプロセッサ制御部１７１は、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して、他の情報処理装置１１から機能プログラムのロードを指示するソフトウェアセルを受信し、受信した機能プログラムをローカルストレージ４２に記憶させる。
【０１５３】
さらに、サブプロセッサ制御部１７１は、各サブプロセッサ３２から処理結果を取得し、取得した処理結果を示すソフトウェアセルを生成し、ネットワーク入出力ドライバ１３１およびネットワーク１３を介して、処理の依頼元である情報処理装置１１に生成したソフトウェアセルを送信する。また、サブプロセッサ制御部１７１は、自分自身が有する各サブプロセッサ３２のスケジュール管理などの全般的な管理を行なう。
【０１５４】
進捗通知部１７２は、サブプロセッサ制御部１７１から各サブプロセッサ３２の処理の進捗状況を示す情報を取得し、進捗状況を通知するソフトウェアセルを生成し、生成したソフトウェアセルを、処理の依頼元である情報処理装置１１にネットワーク入出力ドライバ１３１およびネットワーク１３を介して送信する。
【０１５５】
シーケンス処理管理部１８１は、自分がマスタ装置である場合、スレーブ装置である他の情報処理装置１１から一連の処理（以下、シーケンス処理と称する）を依頼するソフトウェアセルをネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信し、受信したソフトウェアセルを分散処理管理部１８４に供給し、依頼されたシーケンス処理を示す情報を分散処理決定部１８２に供給する。また、シーケンス処理管理部１８１は、分散処理管理部１８４から、シーケンス処理に含まれる各処理の処理結果を示す情報を取得し、取得した処理結果に基づいて、シーケンス処理の処理結果を通知するソフトウェアセルを生成する。シーケンス処理管理部１８１は、生成したソフトウェアセルを、シーケンス処理の依頼元である情報処理装置１１にネットワーク入出力ドライバ１３１およびネットワーク１３を介して送信する。
【０１５６】
また、シーケンス処理管理部１８１は、分散処理管理部１８４から、シーケンス処理に含まれる各処理の進捗状況を示す情報を取得し、取得した情報に基づいて、シーケンス処理の進捗状況を通知するソフトウェアセルを生成する。シーケンス処理管理部１８１は、生成したソフトウェアセルをシーケンス処理の依頼元である情報処理装置１１にネットワーク入出力ドライバ１３１およびネットワーク１３を介して送信する。
【０１５７】
機能プログラム決定部１８２は、シーケンス処理を実行するために必要な機能プログラムを決定し、決定内容を示す情報を分散処理装置決定部１８３に供給する。
【０１５８】
分散処理決定部１８３は、装置情報テーブルに基づいて、機能プログラム決定部１８２により決定された機能プログラムを実行させる情報処理装置１１または情報処理代行専用装置１２を決定し、決定内容を示す情報を分散処理管理部１８４に供給する。
【０１５９】
分散処理管理部１８４は、分散処理決定部１８３により決定された情報処理装置１１または情報処理代行専用装置１２に、機能プログラム決定部１８２により決定された機能プログラムを実行を依頼する（分散処理の実行を依頼する）ソフトウェアセルを生成し、生成したソフトウェアセルをネットワーク入出力ドライバ１３１およびネットワーク１３を介して依頼先の情報処理装置１１または情報処理代行専用装置１２に送信する。また、分散処理管理部１８４は、依頼先の情報処理装置１１が実行を依頼する機能プログラムを有していない場合、その機能プログラムを送信するためのソフトウェアセルを生成し、生成したソフトウェアセルをネットワーク入出力ドライバ１３１およびネットワーク１３を介して依頼先の情報処理装置１１に送信する。
【０１６０】
また、分散処理管理部１８４は、依頼先の情報処理装置１１または情報処理代行専用装置１２から機能プログラムの処理結果を通知するソフトウェアセルをネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信する。分散処理管理部１８４は、その処理結果を示す情報をシーケンス処理管理部１８１に供給する。
【０１６１】
さらに、マスタ装置である情報処理装置１１の分散処理管理部１８４は、処理の依頼状況など情報処理システム１での分散処理の状態を管理する分散処理管理テーブルを生成し、適宜更新する。
【０１６２】
シーケンス処理依頼部１８５は、自分がスレーブ装置である場合、ユーザなどにより指令された処理のうち、例えば、自分では実行できずに他の装置に依頼する必要のある一連の処理であるシーケンス処理の実行を依頼するソフトウェアセルを生成し、生成したソフトウェアセルを、ネットワーク入出力ドライバ１３１およびネットワーク１３を介して、マスタ装置である情報処理装置１１に送信する。
【０１６３】
進捗通知部１８６は、処理の実行を依頼している情報処理装置１１または情報処理代行専用装置１２から、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して処理の進捗を通知するソフトウェアセルを受信し、例えば、必要に応じて、受信したソフトウェアセルに基づいて、進捗状況を表示させるためのデータをモニタ出力ドライバ１３２に供給して、図示せぬモニタに処理の進捗を表示させる。
【０１６４】
図５に、情報処理代行専用装置１２の個々の情報処理コントローラ５１の制御用CPU６１またはサブプロセッサ６２により実行されるソフトウェアの構成の例を示す。これらのソフトウェア（プログラム）は、情報処理代行専用装置１２に電源が投入される前においては、情報処理コントローラ５１に接続されるコマンドセットROM５３に記憶されていて、必要に応じて、メインメモリ５２、制御用CPU６１のローカルストレージ７１、または、サブプロセッサ６２のローカルストレージ７２にロードされる。
【０１６５】
各プログラムは、情報処理装置１１のプログラムと同様に、機能または特徴によって、制御プログラム、機能プログラム、および、デバイスドライバに分類される。
【０１６６】
制御プログラムは、それぞれの情報処理コントローラ５１が同じものを備え、それぞれの情報処理コントローラ５１の制御用CPU６１が実行するものである。例えば、制御プログラムには、スレーブマネージャ２１１およびサブプロセッサマネージャ２１２が含まれる。なお、制御プログラムに属する各プログラムの機能については、図６を参照して後述する。
【０１６７】
なお、情報処理代行専用装置１２の制御プログラムには、情報処理装置１１の制御プログラムとは異なり、情報処理代行専用装置１２がマスタ装置となって他の装置に処理の実行を依頼したり、ユーザの指令などによりシーケンス処理をマスタ装置に依頼することがないため、能力交換プログラム１１２および分散処理マネージャ１１４に相当するプログラムは含まれない。
【０１６８】
機能プログラムは、所定の機能実行コマンドにより実行が指令され、各サブプロセッサ６２は、機能実行コマンドにより指令された機能プログラムを実行することにより、そのサブプロセッサ６２に特化されている所定の処理を実行する。例えば、機能プログラムは、サブプロセッサ６２に映像データのデコード処理を実行させる映像デコードプログラム２２１、音声データのデコード処理を実行させる音声デコードプログラム２２２など、情報処理コントローラ５１ごとに、情報処理代行専用装置１２が実行する処理に応じたものが備えられている。
【０１６９】
なお、サブプロセッサ６２は、処理の大部分を情報処理代行専用装置１２に設けられているハードウェア、または、サブプロセッサ６２に格納されているミドルウェアなどに実行させるため、機能プログラムは、例えば、それらのハードウェアやミドルウェアを動作させるためのパッケージ化されたプログラム（例えば、ハードウェアやミドルウェアを動作させるコマンドリスト程度のプログラム）とされる。従って、同様の処理を行なう情報処理装置１１の機能プログラムと比べて小規模のプログラムとなり、機能プログラムの開発工数が削減でき、開発効率が向上する。
【０１７０】
デバイスドライバには、制御用CPU６１が実行する、ネットワーク１３へのデータの入出力を制御するネットワーク入出力ドライバ２３１が備えられる。
【０１７１】
なお、制御プログラムまたはデバイスドライバに属するプログラムは、制御用CPU６１で実行されることに限らず、いずれかのサブプロセッサ６２で実行されてもよい。また、スレーブマネージャ２１１およびサブプロセッサマネージャ２１２は、情報処理代行専用装置１２の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１７２】
また、制御プログラムまたはデバイスドライバに属するプログラムが記憶されているコマンドセットROM５３を交換することにより、制御プログラムまたはデバイスドライバに属するプログラムを変更または追加できるようにしてもよい。また、コマンドセットROM５３を不揮発性メモリにより構成するようにして、ネットワーク１３経由で他の装置から制御プログラムまたはデバイスドライバに属するプログラムを取得し、コマンドセットROM５３にそのプログラムをインストールするようにしてもよい。
【０１７３】
機能プログラムに属する各プログラムについては、制御用CPU６１の制御に基づいて、必要なときに必要なプログラムだけがロードされるようにしてもよいし、または、主電源投入直後に各プログラムがロードされるようにしてもよい。なお、情報処理代行専用装置１２は、情報処理装置１１と異なり、コマンドセットROM５３に記憶されている機能プログラムのみを実行し、情報処理装置１１または他の情報処理代行専用装置１２とは、機能プログラムの授受を行なわない。
【０１７４】
図８は、制御プログラムに含まれるスレーブマネージャ２１１およびサブプロセッサマネージャ２１２を実行する情報処理代行専用装置１２の制御用CPU６１により実現される機能の構成の一例を示す図である。制御用CPU６１がスレーブマネージャ２１１を実行することにより、情報交換部２５１および装置情報管理部２５２が実現され、サブプロセッサマネージャ２１２を実行することにより、サブプロセッサ制御部２７１および進捗通知部２７２が実現される。
【０１７５】
情報交換部２５１は、ネットワーク１３およびネットワーク入出力ドライバ２３１を介して、ネットワーク１３に接続されている他の装置に装置情報を通知したり、他の装置の存在の確認をしたり、他の装置へ自分自身がネットワーク１３に接続されたことを通知したりする。ここでの「接続」または「存在」は、情報処理代行専用装置１２が物理的にネットワーク１３に接続されているだけでなく、電気的および機能的にネットワーク１３に接続されていることに対応する。
【０１７６】
装置情報管理部２５２は、例えば、サブプロセッサマネージャ２１２から各サブプロセッサ６２の状態を示す情報を取得したり、メインメモリ５２の使用量を調査したりして、自分自身の装置情報を更新し、装置情報を更新したことを情報交換部２５１に通知する。
【０１７７】
サブプロセッサ制御部２７１は、ネットワーク１３およびネットワーク入出力ドライバ２３１を介して、他の情報処理装置１１から機能実行コマンドの実行を依頼するソフトウェアセルを受信する。サブプロセッサ制御部２７１は、機能実行コマンドにより実行が指令される機能プログラムを各サブプロセッサ６２にロードさせ、ロードさせた機能プログラムを実行させる。また、サブプロセッサ制御部２７１は、各サブプロセッサ６２から処理結果を取得し、取得した処理結果を示すソフトウェアセルを生成し、ネットワーク入出力ドライバ２３１およびネットワーク１３を介して、処理の依頼元である情報処理装置１１に生成したソフトウェアセルを送信する。また、サブプロセッサ制御部２７１は、自分自身が有する各サブプロセッサ６２のスケジュール管理などの全般的な管理を行なう。
【０１７８】
進捗通知部２７２は、サブプロセッサ制御部２７１から各サブプロセッサ６２の処理の進捗状況を示す情報を取得し、進捗状況を通知するソフトウェアセルを生成し、生成したソフトウェアセルを、処理の依頼元である情報処理装置１１にネットワーク入出力ドライバ２３１およびネットワーク１３を介して送信する。
【０１７９】
次に、図７乃至図１２を参照して、情報処理装置１１または情報処理代行専用装置１２が新たにネットワーク１３に接続されたときの情報処理システム１の処理を説明する。
【０１８０】
まず、図７のフローチャートを参照して、情報処理装置１１がネットワーク１３に接続されたときに、ネットワーク１３に接続された情報処理装置１１により実行されるネットワーク接続処理を説明する。
【０１８１】
ステップＳ１において、新たにネットワーク１３に接続された情報処理装置１１の情報処理コントローラ２１のメインCPU３１は、制御プログラムおよびデバイスドライバに属する各プログラムをメインメモリ２２にロードする。具体的には、図示しない接続ケーブルなどによって情報処理装置１１が物理的にネットワーク１３に接続された状態で、情報処理装置１１に主電源が投入され、情報処理装置１１が電気的および機能的にネットワーク１３に接続されたとき、メインCPU３１は、外部記録部２３から制御プログラムおよびデバイスドライバに属する各プログラムを読み出し、そのプログラムをメインメモリ２２にロードする。メインCPU３１は、必要に応じて、ロードしたプログラムの実行を開始する。
【０１８２】
なお、情報処理装置１１の主電源が予め投入され、各プログラムがメインメモリ２２にロードされた状態で、情報処理装置１１が物理的にネットワーク１３に接続されることにより、情報処理装置１１が電気的および機能的にネットワーク１３に接続された場合、ステップＳ１の処理はスキップされる。
【０１８３】
ステップＳ２において、情報交換部１５１は、ネットワーク１３に接続されている他の装置に装置情報の通知を要求する。具体的には、情報交換部１５１は、DMAコマンド領域にステータスコマンド、および、送信元IDと応答先IDに自分自身の送受信用IDが設定され、送信先IDを特定しないソフトウェアセル（以下、装置情報要求ソフトウェアセルと称する）を生成する。情報交換部１５１は、生成した装置情報要求ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介して、ネットワーク１３に送信する。すなわち、装置情報要求ソフトウェアセルが、ネットワーク１３に接続されている他の装置にブロードキャストされる。また、MS管理部１５２は、ネットワーク接続確認用のタイマを設定する。タイマのタイムアウト時間は、例えば１０分とする。
【０１８４】
ステップＳ３において、情報交換部１５１は、ステップＳ２において送信した装置情報要求ソフトウェアセルに対して、ネットワーク１３に接続されている他の装置から装置情報が通知されたか否かを判定する。情報交換部１５１は、後述する図１１のステップＳ４４において、ネットワーク１３に接続されている他の情報処理装置１１から送信される装置情報を通知するソフトウェアセル（以下、装置情報通知ソフトウェアセルと称する）、または、後述する図１２のステップＳ６３において、ネットワーク１３に接続されている情報処理代行専用装置１２から送信される装置情報通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信した場合、他の装置から装置情報が通知されたと判定し、処理はステップＳ４に進む。
【０１８５】
ここで、図８および図９を参照して、装置情報通知ソフトウェアセルのデータ領域に格納される装置情報の具体例について説明する。
【０１８６】
図８は、装置情報通知ソフトウェアセルのデータ領域に格納される装置情報の構成例を示している。
【０１８７】
装置IDは、情報処理装置１１の情報処理コントローラ２１または情報処理代行専用装置１２の情報処理コントローラ５１に割り当てられている装置IDを示す。
【０１８８】
装置種別ＩＤには、情報処理装置１１または情報処理代行専用装置１２の特徴を表す値が含まれる。情報処理装置１１または情報処理代行専用装置１２の特徴とは、情報処理装置１１または情報処理代行専用装置１２がどのような装置であるかを示す情報であり、例えば、情報処理装置１１が、ハードディスクレコーダ、PDA（Personal Digital Assistants）、ポータブルＣＤ（Compact Disc）プレーヤなどであることを示したり、情報処理装置１１が特定の機能を持たない汎用的な装置であることを示したり、情報処理装置１１または情報処理代行専用装置１２が、映像デコード処理、音声デコード処理、画質改善処理などのコンポーネント処理を行なう装置であることなどを示す。
【０１８９】
例えば、装置種別ＩＤには、DSPを有し、映像データまたは音声データのデータ処理を行なう装置であることを示すDSP_BOX、AV（Audio Video）データを再生するDVDプレイヤーなどのAVデータ再生装置であることを示すAV_PLAYER、特定の機能を持たず汎用的な処理を行なうことを示すGENERALなどの文字列、または、それに対応する数値などが設定される。情報処理装置１１は、装置種別ＩＤに基づいて、情報処理装置１１または情報処理代行専用装置１２の特徴や機能を把握することができる。
【０１９０】
MS（マスタ／スレーブ）ステータスは、情報処理装置１１または情報処理代行専用装置１２がマスタ装置またはスレーブ装置のいずれで動作しているかを表すものである。これが０に設定されている場合にはマスタ装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。なお、情報処理代行専用装置１２は、スレーブ装置としてのみ動作するので、MSステータスの値は０に固定される。
【０１９１】
メインCPU動作周波数は、情報処理装置１１のメインCPU３１の動作周波数を表す。
【０１９２】
メインCPU使用率は、情報処理装置１１のメインCPU３１の全処理能力に対する使用中の処理能力の比率を表した値を示す。例えば、メインCPU使用率は、CPU処理能力評価のための単位であるMIPSを単位として算出されたり、または、単位時間あたりのCPU使用時間に基づいて算出される。
【０１９３】
なお、情報処理代行専用装置１２にはメインCPU３１が設けられていないため、メインCPU動作周波数およびメインCPU使用率の値は設定されない。
【０１９４】
サブプロセッサ数は、情報処理装置１１の情報処理コントローラ２１が備えるサブプロセッサ３２、または、情報処理代行専用装置１２の情報処理コントローラ５１が備えるサブプロセッサ６２の数を表す。
【０１９５】
メインメモリ総容量は、情報処理装置１１の情報処理コントローラ２１に接続されているメインメモリ２２、または、情報処理代行専用装置１２の情報処理コントローラ５１に接続されているメインメモリ５２の総容量を表す。
【０１９６】
メインメモリ使用量は、情報処理装置１１の情報処理コントローラ２１に接続されているメインメモリ２２、または、情報処理代行専用装置１２の情報処理コントローラ５１に接続されているメインメモリ５２の現在使用中の容量を表す。
【０１９７】
外部記録部数は、情報処理装置１１の情報処理コントローラ２１に接続されている外部記録部２３の数を表す。
【０１９８】
外部記録部IDは、情報処理装置１１の情報処理コントローラ２１に接続されている外部記録部２３を一意に識別する情報である。
【０１９９】
外部記録部種別IDは、情報処理装置１１の情報処理コントローラ２１に接続されている外部記録部２３の種類（例えば、ハードディスク、ＣＤ（Compact Disc）±ＲＷ、DVD（Digital Versatile Disk）±ＲＷ、メモリディスク、SRAM、ROMなど）を表す情報である。
【０２００】
外部記録部総容量は、情報処理装置１１の情報処理コントローラ２１に接続されている外部記録部２３の総容量を表す。
【０２０１】
外部記録部使用量は、情報処理装置１１の情報処理コントローラ２１に接続されている外部記録部２３の現在使用中の容量を表す。
【０２０２】
なお、外部記録部ID、外部記録部種別ID、外部記録部総容量および外部記録部使用量は、１つの外部記録部２３に対して一組設定されるものであり、情報処理装置１１の情報処理コントローラ２１に接続されている外部記録部２３の数の組数だけ設定される。すなわち、１つの情報処理コントローラ２１に複数の外部記録部２３が接続されている場合、それぞれの外部記録部２３には異なる外部記録部IDが割り当てられ、外部記録部種別ID、外部記録部総容量および外部記録部使用量も個別に管理される。また、情報処理代行専用装置１２には、外部記録部が設けられないため、情報処理代行専用装置１２の装置情報には、外部記録部ID、外部記録部種別ID、外部記録部総容量および外部記録部使用量の値は設定されない。
【０２０３】
サブプロセッサIDは、情報処理装置１１の情報処理コントローラ２１が備えるサブプロセッサ３２、または、情報処理代行専用装置１２の情報処理コントローラ５１が備えるサブプロセッサ６２に割り当てられているサブプロセッサIDを示す。
【０２０４】
サブプロセッサ使用率は、情報処理装置１１の情報処理コントローラ２１が備えるサブプロセッサ３２、または、情報処理代行専用装置１２の情報処理コントローラ５１が備えるサブプロセッサ６２の全処理能力に対する、現在実行している、または、実行が予約されているプログラムにより使用される処理能力の比率を表した値を示す。
【０２０５】
コマンドリストは、情報処理代行専用装置１２のコマンドセットROM５３に記憶されている機能プログラムの実行を指令するための機能実行コマンドに関する情報を表す。例えば、図９に示されるように、機能実行コマンドごとに、コマンド名、指定するパラメータの定義、および、機能実行コマンド（機能プログラム）実行後に返される戻り値の定義が含まれる。例えば、コマンド名には、mpeg2_video_decode、mpeg2_audio_decode、video_noise_reductionなどの実際の機能実行コマンドが示され、パラメータの定義には、機能実行コマンド（機能プログラム）の実行に必要な各種の設定情報、データ、フラグなどに関する情報（例えば、データの種類、データ型、設定範囲、データの設定方法など）が示され、戻り値の定義には、機能実行コマンド（機能プログラム）実行後に返される情報やデータに関する情報（例えば、データの種類、データ型、データの取得方法など）が示される。
【０２０６】
なお、情報処理装置１１の装置情報には、機能実行コマンドの値は設定されない。
【０２０７】
サブプロセッサID、サブプロセッサ使用率、およびコマンドリストは、１つのサブプロセッサ３２または１つのサブプロセッサ６２に対して一組設定され、情報処理装置１１の情報処理コントローラ２１が備えるサブプロセッサ３２、または、情報処理代行専用装置１２の情報処理コントローラ５１が備えるサブプロセッサ６２の数の組数だけ設定される。
【０２０８】
図７に戻り、ステップＳ４において、情報交換部１５１は、装置情報通知ソフトウェアセルのデータ領域に含まれる装置情報を、メインCPU３１のローカルストレージ４１に一時的に記憶させる。なお、このとき、装置情報のMSステータスが０に設定されている場合、すなわち、マスタ装置である情報処理装置１１から装置情報が通知された場合、情報交換部１５１は、ネットワーク１３上にマスタ装置が存在することを示す情報をMS管理部１５２に供給する。
【０２０９】
ステップＳ３において、他の装置から装置情報が通知されていないと判定された場合、ステップＳ４の処理はスキップされ、処理はステップＳ５に進む。
【０２１０】
ステップＳ５において、MS管理部１５２は、ネットワーク接続確認期間が経過したか否かを判定する。ネットワーク接続確認期間が経過していないと判定された場合、すなわち、ステップＳ２において設定したネットワーク接続確認用のタイマがタイムアウトしていない場合、処理はステップＳ３に戻る。その後、ステップＳ５において、ネットワーク接続確認期間が経過したと判定されるまで、ステップＳ３乃至Ｓ５の処理が繰り返し実行され、ネットワーク１３に接続されている他の装置から装置情報が取得される。
【０２１１】
ステップＳ５において、ネットワーク接続確認期間が経過したと判定された場合、すなわち、ステップＳ２において設定したネットワーク接続確認用のタイマがタイムアウトした場合、処理はステップＳ６に進む。
【０２１２】
ステップＳ６において、MS管理部１５２は、ネットワーク１３上にマスタ装置が存在するか否かを判定する。ネットワーク１３上にマスタ装置が存在しないと判定された場合、すなわち、ネットワーク接続確認期間中に、情報交換部１５１からMS管理部１５２にネットワーク１３上にマスタ装置が存在することが通知されなかった場合、処理はステップＳ７に進む。
【０２１３】
ステップＳ７において、MS管理部１５２は、自分自身をマスタ装置に決定し、自分自身をマスタ装置に決定したことを示す情報を装置情報管理部１５３および分散処理マネージャ１１４に供給する。
【０２１４】
ステップＳ８において、装置情報テーブル管理部１６１は、装置情報テーブルを生成する。具体的には、まず、装置情報管理部１５３は、例えば、予め記録されている自分自身に関する情報を外部記録部２３から読み出したり、サブプロセッサ制御部１７１から各サブプロセッサ３２の状態を示す情報を取得したり、メインメモリ２２および外部記録部２３の使用量を調査したりして、自分自身の装置情報を生成する。この装置情報には図８に示される情報が含まれ、MSステータスには、自分がマスタ装置であることを示す０が設定される。情報交換部１５１は、メインCPU３１のローカルストレージ４１に記憶されている他の装置の装置情報を装置情報テーブル管理部１６１に供給し、装置情報管理部１５３は自分自身の装置情報を装置情報テーブル管理部１６１に供給する。
【０２１５】
装置情報テーブル管理部１６１は、自分自身およびネットワーク１３に接続されている他の装置の装置情報に基づいて、装置情報テーブルを生成し、生成した装置情報テーブルをメインメモリ２２に記憶させる。マスタ装置の装置情報テーブルには、自分自身および他の装置の装置情報が含まれる。その後、処理はステップＳ１１に進む。
【０２１６】
ステップＳ６において、ネットワーク１３上にマスタ装置が存在しないと判定された場合、すなわち、ネットワーク接続確認期間中に、情報交換部１５１からMS管理部１５２にネットワーク１３上にマスタ装置が存在することが通知されなかった場合、処理はステップＳ９に進む。
【０２１７】
ステップＳ９において、MS管理部１５２は、自分自身をスレーブ装置に決定し、自分自身をスレーブ装置に決定したことを示す情報を装置情報管理部１５３および分散処理マネージャ１１４に供給する。
【０２１８】
ステップＳ１０において、装置情報テーブル管理部１６１は、装置情報テーブルを生成する。具体的には、まず、装置情報管理部１５３は、上述したステップＳ８と同様の処理により、自分自身の装置情報を生成する。このとき、装置情報のMSステータスには、自分がスレーブ装置であることを示す１が設定される。情報交換部１５１は、メインCPU３１のローカルストレージ４１に記憶されている他の装置の装置情報を装置情報テーブル管理部１６１に供給し、装置情報管理部１５３は自分自身の装置情報を装置情報テーブル管理部１６１に供給する。
【０２１９】
装置情報テーブル管理部１６１は、自分自身およびネットワーク１３に接続されている他の装置の装置情報に基づいて、装置情報テーブルを生成し、生成した装置情報テーブルをメインメモリ２２に記憶させる。スレーブ装置の装置情報テーブルには、自分自身の装置情報と、他の装置の装置IDおよびMSステータスが含まれる。
【０２２０】
ステップＳ１１において、情報交換部１５１は、ネットワーク１３に接続されている他の情報処理装置１１から装置情報の通知が要求されたか否かを判定する。情報交換部１５１は、後述する図１１のステップＳ４４において、ネットワーク１３に接続されている他の情報処理装置１１から送信される装置情報要求ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信した場合、装置情報の通知が要求されたと判定し、処理はステップＳ１２に進む。
【０２２１】
ステップＳ１２において、情報交換部１５１は、ステップＳ１１において受信した装置情報要求ソフトウェアセルに対して、装置情報の通知を要求した情報処理装置１１に装置情報を通知し、ネットワーク接続処理は終了する。具体的には、情報交換部１５１は、メインメモリ２２に記憶されている装置情報テーブルの中から自分自身の装置情報を読み出す。情報交換部１５１は、DMAコマンド領域に装置情報を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、送信先に装置情報の通知を要求した情報処理装置１１の送受信用IDが設定され、データ領域に自分自身の装置情報が格納された装置情報通知ソフトウェアセルを生成する。情報交換部１５１は、生成した装置情報通知ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介してネットワーク１３に送信する。
【０２２２】
後述する図１１のステップＳ４５において、送信先の情報処理装置１１は、送信された装置情報通知ソフトウェアセルを受信する。
【０２２３】
ステップＳ１１において、装置情報の通知が要求されていないと判定された場合、すなわち、ネットワーク１３に自分以外の情報処理装置１１が接続されておらず、装置情報要求ソフトウェアセルが送信されなかった場合、ステップＳ１２の処理はスキップされ、ネットワーク接続処理は終了する。
【０２２４】
次に、図１０のフローチャートを参照して、情報処理代行専用装置１２がネットワーク１３に接続されたときに、ネットワーク１３に接続された情報処理代行専用装置１２により実行されるネットワーク接続処理を説明する。
【０２２５】
ステップＳ２１において、新たにネットワーク１３に接続された情報処理代行専用装置１２の情報処理コントローラ５１の制御用CPU６１は、制御プログラムおよびデバイスドライバに属する各プログラムをメインメモリ５２にロードする。具体的には、図示しない接続ケーブルなどによって情報処理代行専用装置１２が物理的にネットワーク１３に接続された状態で、情報処理代行専用装置１２に主電源が投入され、情報処理代行専用装置１２が電気的および機能的にネットワーク１３に接続されたとき、制御用CPU６１は、コマンドセットROM５３から制御プログラムおよびデバイスドライバに属する各プログラムを読み出し、そのプログラムをメインメモリ５２にロードする。制御用CPU６１は、必要に応じて、ロードしたプログラムの実行を開始する。
【０２２６】
なお、情報処理代行専用装置１２の主電源が予め投入され、各プログラムがメインメモリ５２にロードされた状態で、情報処理代行専用装置１２が物理的にネットワーク１３に接続され、情報処理代行専用装置１２が電気的および機能的にネットワーク１３に接続された場合、ステップＳ２１の処理はスキップされる。
【０２２７】
ステップＳ２２において、装置情報管理部２５２は、装置情報を生成する。具体的には、装置情報管理部２５２は、例えば、予め記憶されている自分自身に関する情報をコマンドセットROM５３から読み出したり、サブプロセッサ制御部２７１から各サブプロセッサ６２の状態を示す情報を取得したり、メインメモリ５２の使用量を調査したりして、自分自身の装置情報を生成する。装置情報管理部２５２は、生成した装置情報をメインメモリ５２に記憶させる。
【０２２８】
ステップＳ２３において、情報交換部２５１は、ネットワーク１３に接続されている他の装置にネットワーク１３に接続されたことを通知する。具体的には、情報交換部２５１は、DMAコマンド領域にネットワーク１３に接続されたことを通知することを示すステータ返信スコマンド、および、送信元IDと応答先IDに自分自身の送受信用IDが設定され、送信先IDを特定しないソフトウェアセル（以下、ネットワーク接続通知ソフトウェアセルと称する）を生成する。情報交換部２５１は、生成した装置情報要求ソフトウェアセルを、ネットワーク入出力ドライバ２３１を介して、ネットワーク１３に送信する。すなわち、ネットワーク接続通知ソフトウェアセルが、ネットワーク１３に接続されている他の装置にブロードキャストされる。
【０２２９】
ステップＳ２４において、情報交換部２５１は、ネットワーク１３に接続されている情報処理装置１１から装置情報の通知が要求されたか否かを判定する。情報交換部２５１は、後述する図１１のステップＳ４４において、ネットワーク１３に接続されている情報処理装置１１から送信される装置情報要求ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ２３１を介して受信した場合、装置情報の通知が要求されたと判定し、処理はステップＳ２５に進む。
【０２３０】
ステップＳ２５において、情報交換部２５１は、ステップＳ２４において受信した装置情報要求ソフトウェアセルに対して、装置情報の通知を要求した情報処理装置１１に装置情報を通知し、ネットワーク接続処理は終了する。具体的には、情報交換部２５１は、メインメモリ５２に記憶されている自分自身の装置情報を読み出し、DMAコマンド領域に装置情報を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、送信先に装置情報の通知を要求した情報処理装置１１の送受信用IDが設定され、データ領域に自分自身の装置情報が格納された装置情報通知ソフトウェアセルを生成する。情報交換部２５１は、生成した装置情報通知ソフトウェアセルを、ネットワーク入出力ドライバ２３１を介してネットワーク１３に送信する。
【０２３１】
ステップＳ２４において、装置情報の通知が要求されていないと判定された場合、すなわち、ネットワーク１３に情報処理装置１１が接続されておらず、装置情報要求ソフトウェアセルが送信されなかった場合、ステップＳ２５の処理はスキップされ、ネットワーク接続処理は終了する。
【０２３２】
次に、図１１のフローチャートを参照して、ネットワーク１３に新たな装置が接続されたときに、すでにネットワーク１３に接続されている情報処理装置１１により実行されるネットワーク接続検出処理を説明する。
【０２３３】
ステップＳ４１において、情報交換部１５１は、他の装置が新たにネットワーク１３に接続されたことを検出する。具体的には、情報交換部１５１は、上述した図７のステップＳ２において、新たにネットワーク１３に接続された情報処理装置１１から送信される装置情報要求ソフトウェアセル、または、上述した図１０のステップＳ２３において、新たにネットワーク１３に接続された情報処理代行専用装置１２から送信されるネットワーク接続通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信することにより、他の装置が新たにネットワーク１３に接続されたことを検出する。
【０２３４】
ステップＳ４２において、情報交換部１５１は、装置情報の通知が要求されたか否かを判定する。装置情報の通知が要求されたと判定された場合、すなわち、ステップＳ４１において、ネットワーク１３に新たに接続された情報処理装置１１から送信される装置情報要求ソフトウェアセルを受信した場合、処理はステップＳ４３に進む。
【０２３５】
ステップＳ４３において、図７のステップＳ１２と同様の処理により、新たに接続された情報処理装置１１に装置情報が通知される。
【０２３６】
ステップＳ４２において、装置情報の通知が要求されていないと判定された場合、すなわち、ステップＳ４１において、ネットワーク１３に新たに接続された情報処理代行専用装置１２から送信されるネットワーク接続通知ソフトウェアセルを受信した場合、ステップＳ４３の処理はスキップされ、処理はステップＳ４４に進む。
【０２３７】
ステップＳ４４において、情報交換部１５１は、新たにネットワーク１３に接続された装置に装置情報の通知を要求する。具体的には、情報交換部１５１は、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDに新たにネットワーク１３に接続された装置の送受信用IDが設定された装置情報要求ソフトウェアセルを生成する。情報交換部１５１は、生成した装置情報要求ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介して、ネットワーク１３に送信する。
【０２３８】
ステップＳ４５において、装置情報テーブル管理部１６１は、装置情報テーブルを更新し、ネットワーク接続検出処理は終了する。具体的には、情報交換部１５１は、ステップＳ４４において送信した装置情報要求ソフトウェアセルに対する応答である、上述した図７のステップＳ１２において、新たにネットワーク１３に接続された情報処理装置１１から送信された装置情報通知ソフトウェアセル、または、または、上述した図１０のステップＳ２５において、新たにネットワーク１３に接続された情報処理代行専用装置１２から送信された装置情報通知ソフトウェアセルを受信する。情報交換部１５１は、受信した装置情報通知ソフトウェアセルに含まれる装置情報を装置情報テーブル管理部１６１に供給する。
【０２３９】
装置情報テーブル管理部１６１は、取得した装置情報に基づいて、メインメモリ２２に記憶されている装置情報テーブルに、新たにネットワーク１３に接続された装置の情報を追加する。
【０２４０】
次に、図１２のフローチャートを参照して、ネットワーク１３に新たな装置が接続されたときに、すでにネットワーク１３に接続されている情報処理代行専用装置１２により実行されるネットワーク接続検出処理を説明する。
【０２４１】
ステップＳ６１において、情報交換部２５１は、他の装置が新たにネットワーク１３に接続されたことを検出する。具体的には、情報交換部２５１は、上述した図７のステップＳ２において、新たにネットワーク１３に接続された情報処理装置１１から送信される装置情報要求ソフトウェアセル、または、上述した図１０のステップＳ２３において、新たにネットワーク１３に接続された情報処理代行専用装置１２から送信されるネットワーク接続通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ２３１を介して受信することにより、他の装置が新たにネットワーク１３に接続されたことを検出する。
【０２４２】
ステップＳ６２において、情報交換部２５１は、装置情報の通知が要求されたか否かを判定する。装置情報の通知が要求されたと判定された場合、すなわち、ステップＳ６１において、ネットワーク１３に新たに接続された情報処理装置１１から送信される装置情報要求ソフトウェアセルを受信した場合、処理はステップＳ６３に進む。
【０２４３】
ステップＳ６３において、図１０のステップＳ２５と同様の処理により、新たに接続された情報処理装置１１に装置情報が通知され、ネットワーク接続検出処理は終了する。
【０２４４】
ステップＳ６２において、装置情報の通知が要求されていないと判定された場合、すなわち、ステップＳ６１において、ネットワーク１３に新たに接続された情報処理代行専用装置１２から送信されるネットワーク接続通知ソフトウェアセルを受信した場合、ステップＳ６３の処理はスキップされ、ネットワーク接続検出処理は終了する。
【０２４５】
このようにして、情報処理装置１１は、ネットワーク１３に接続されている他の情報処理装置１１と装置情報を交換し、また、情報処理代行専用装置１２から装置情報を取得し、装置情報テーブルを生成または更新し、ネットワーク１３に接続されている他の装置の能力や機能などを把握する。また、情報処理代行専用装置１２には他の装置から装置情報が送信されないようにされるため、ネットワーク１３のトラフィックを軽減することができる。
【０２４６】
なお、各情報処理装置１１の情報交換部１５１は、自分がマスタ装置であるか、または、スレーブ装置であるかに関わらず、定期的に装置情報要求ソフトウェアセルをネットワーク１３に送信して、他の装置の装置情報を照会することにより、他の装置の状況を監視する。その結果、ネットワーク１３の接続状態に変化があった場合には、その情報を装置情報テーブル管理部１６１に通知し、装置情報テーブルを更新する。
【０２４７】
また、スレーブ装置である各情報処理装置１１の情報交換部１５１、および、各情報処理代行専用装置１２の情報交換部２５１は、メインメモリの容量やサブプロセッサの使用率などの変化により状態が変化した場合、必要に応じて、装置情報通知ソフトウェアセルをマスタ装置または他のスレーブ装置に送信する。その結果、マスタ装置は、他の装置の状態を常に把握することができる。
【０２４８】
さらに、マスタ装置がネットワーク１３から切断された場合、例えば、ネットワーク１３に接続されている情報処理装置１１のうち、最も小さい値の装置IDを有する情報処理装置１１をマスタ装置とするようにすればよい。
【０２４９】
次に、図１３乃至図１７を参照して、情報処理システム１における分散処理を説明する。なお、以下の説明において、情報処理システム１において、図７乃至図１２を参照して上述した処理がすでに行なわれ、ネットワーク１３に接続されている情報処理装置１１のうち１台がマスタ装置となっているものとする。また、以下、ユーザがスレーブ装置である情報処理装置１１のうち１台に対して、その情報処理装置１１に設けられている操作部を操作して、処理の実行を指令した場合の例について説明する。さらに、以下、マスタ装置である情報処理装置１１を単にマスタ装置とも称し、ユーザから処理の実行が指令された情報処理装置１１を処理依頼元とも称する。
【０２５０】
まず、図１３のフローチャートを参照して、処理依頼元である情報処理装置１１により実行されるシーケンス処理依頼処理を説明する。
【０２５１】
ステップＳ１０１において、サブプロセッサ制御部１７１は、処理依頼元の図示せぬ操作部を操作することにより、ユーザにより入力された処理の指令を取得し、取得した指令を分散処理マネージャ１１４に供給する。
【０２５２】
ステップＳ１０２において、シーケンス処理依頼部１８５は、マスタ装置にシーケンス処理の実行を依頼する。具体的には、シーケンス処理依頼部１８５は、ユーザにより入力された指令された処理のうち、自分で処理することができず、他の装置に依頼する必要がある一連の処理（シーケンス処理）を把握する。
【０２５３】
シーケンス処理依頼部１８５は、DMAコマンド領域にシーケンス処理依頼コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域にシーケンス処理を示す情報、シーケンス処理の実行に必要なデータ、データの属性、各種のパラメータなどを格納したソフトウェアセル（以下、シーケンス処理依頼ソフトウェアセルと称する）を生成する。例えば、シーケンス処理を示す情報として、マスタ装置が認識することができる所定の情報（例えば、高画質AVデータ再生、画像データのMPEG（Moving Picture Experts Group）２デコードまたはエンコードなどを示す情報）が設定される。シーケンス処理依頼部１８５は、生成したシーケンス処理依頼ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介してネットワーク１３に送信する。
【０２５４】
後述する図１４のステップＳ１２１において、マスタ装置は、処理依頼元から送信されたシーケンス処理依頼ソフトウェアセルを受信する。
【０２５５】
ステップＳ１０３において、シーケンス処理依頼部１８５は、後述する図１５のステップＳ１４１において、マスタ装置から送信されるシーケンス処理の終了を通知するソフトウェアセル（以下、終了通知ソフトウェアセルと称する）を、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信する。
【０２５６】
ステップＳ１０４において、処理依頼元のメインCPU３１は、ユーザに処理結果を通知し、シーケンス処理依頼処理は終了する。具体的には、例えば、シーケンス処理依頼部１８５は、ステップＳ１０１において入力されたユーザの処理の指令によりメインCPU３１またはサブプロセッサ３２により実行されているプログラム（例えば、機能プログラム）に、終了通知ソフトウェアセルのデータ領域に格納されているシーケンス処理の処理結果を示すデータを供給する。メインCPU３１またはサブプロセッサ３２により実行されているプログラムは、供給されたデータに基づいて、所定の処理を実行し、その処理結果をユーザに通知する。
【０２５７】
次に、図１４のフローチャートを参照して、図１３の処理依頼元におけるシーケンス処理依頼処理に対応して、マスタ装置である情報処理装置１１により実行されるシーケンス処理実行処理を説明する。
【０２５８】
ステップＳ１２１において、シーケンス処理管理部１８１は、上述した図１３のステップＳ１０２において、処理依頼元から送信されたシーケンス処理依頼ソフトウェアセルを受信し、処理依頼元から依頼されたシーケンス処理を示す情報を機能プログラム決定部１８２に供給する。
【０２５９】
ステップＳ１２２において、機能プログラム決定部１８２は、処理依頼元から依頼されたシーケンス処理を行なうために必要な機能プログラム（以下、実行対象機能プログラムと称する）を決定する。例えば、機能プログラム決定部１８２は、スレーブ装置から依頼される各シーケンス処理について、実行する必要がある機能プログラムの対応表を管理しており、その対応表に基づいて、実行対象機能プログラムを決定する。機能プログラム決定部１８２は、決定した実行対象機能プログラムを示す情報を分散処理装置決定部１８３に供給する。
【０２６０】
ステップＳ１２３において、分散処理装置決定部１８３は、処理の実行を依頼する情報処理代行専用装置１２を決定する。具体的には、分散処理装置決定部１８３は、各実行対象機能プログラムについて必要となる要求スペックを読み出すとともに、メインメモリ２２に記憶されている装置情報テーブルを参照し、ネットワーク１３に接続されているそれぞれの情報処理代行専用装置１２の装置情報を読み出す。
【０２６１】
分散処理装置決定部１８３は、各情報処理代行専用装置１２の装置情報と、実行対象機能プログラムの実行に必要となる要求スペックとを順次比較し、要求スペックに示される機能実行コマンドにより実行が指令され、実行対象機能プログラムと同等の処理を実行する機能プログラムをコマンドセットROM５３に記憶しており、かつ、その他の要求スペックを満足する情報処理代行専用装置１２を特定する。ここで、１つの実行対象機能プログラムに対して、複数の情報処理代行専用装置１２が特定された場合、例えば、装置IDの最も小さい情報処理代行専用装置１２を選択するなどして、情報処理代行専用装置１２が選択される。分散処理装置決定部１８３は、処理の実行を依頼する情報処理代行専用装置１２を示す情報を分散処理管理部１８４に供給する。
【０２６２】
ステップＳ１２４において、分散処理装置決定部１８３は、ステップＳ１２３の処理の結果に基づいて、実行依頼先が決まっていない実行対象機能プログラムがあるか否かを判定する。実行依頼先が決まっていない実行対象機能プログラムがあると判定された場合、すなわち、ネットワーク１３に接続されている情報処理代行専用装置１２に依頼することができない処理がある場合、処理はステップＳ１２５に進む。
【０２６３】
ステップＳ１２５において、分散処理装置決定部１８３は、処理の実行を依頼する情報処理装置１１を決定する。具体的には、分散処理装置決定部１８３は、実行依頼先が決まっていない各実行対象機能プログラムについて必要となる要求スペックを読み出すとともに、メインメモリ２２に記憶されている装置情報テーブルを参照し、ネットワーク１３に接続されているそれぞれの情報処理装置１１の装置情報を読み出す。
【０２６４】
分散処理装置決定部１８３は、各情報処理装置１１の装置情報と、各実行対象機能プログラムの実行に必要となる要求スペックとを順次比較し、要求スペックを満足する情報処理装置１１を特定する。ここで、１つの実行対象機能プログラムに対して、複数の情報処理装置１１が特定された場合、例えば、装置IDの最も小さい情報処理装置１１を選択するなどして、情報処理装置１１が選択される。分散処理装置決定部１８３は、実行対象機能プログラムの実行を依頼する情報処理装置１１を示す情報を分散処理管理部１８４に供給する。
【０２６５】
ステップＳ１２６において、分散処理管理部１８４は、ステップＳ１２５において決定された情報処理装置１１に実行機能対象プログラムをロードさせるためのソフトウェアセル（以下、プログラムロードソフトウェアセルと称する）を生成する。具体的には、分散処理管理部１８４は、DMAコマンド領域に、ロードコマンド、並びに、実行対象機能プログラムを送信先の情報処理装置１１のメインメモリ２２にロードさせる場合、ロード先のメインメモリ２２のアドレス、または、実行対象機能プログラムを送信先の情報処理装置１１のサブプロセッサ３２にロードさせる場合、そのサブプロセッサ３２のサブプロセッサID、および、ロード先のサブプロセッサ３２のローカルストレージ４２のアドレスが設定され、送信元IDと応答先IDに自分自身の送受信用ＩＤ、および、送信先IDに実行対象機能プログラムをロードさせる情報処理装置１１の送受信用IDが設定され、プログラム領域にロードさせる実行対象機能プログラムを格納したプログラムロードソフトウェアセルを生成する。
【０２６６】
なお、送信される実行対象機能プログラムは、例えば、マスタ装置の外部記録部２３に記録されているものである。また、必要に応じて、マスタ装置が他の情報処理装置１１から実行対象機能プログラムを取得するようにしてもよい。
【０２６７】
ステップＳ１２７において、分散処理管理部１８４は、生成したプログラムロードソフトウェアセルを、ネットワーク入出力ドライバ１３１を介して、ネットワーク１３に送信する。
【０２６８】
後述する図１７のステップＳ１７１において、送信先の情報処理装置１１は、マスタ装置から送信されたプログラムロードソフトウェアセルを受信する。
【０２６９】
ステップＳ１２８において、分散処理管理部１８４は、分散処理管理テーブルを更新する。具体的には、分散処理管理部１８４は、分散処理管理テーブルに、プログラムロードソフトウェアセルにより送信した機能プログラムの機能プログラムID、ロード先の情報処理装置１１の装置ID、並びに、メインメモリ２２のアドレス、または、サブプロセッサ３２のサブプロセッサIDおよびローカルストレージ４２のアドレスなどを含む情報（以下、機能プログラムロード情報と称する）を記憶させる。
【０２７０】
ステップＳ１２４において、実行依頼先が決まっていない実行対象機能プログラムがないと判定された場合、すなわち、全ての処理の実行が情報処理代行専用装置１２に依頼される場合、ステップＳ１２５乃至Ｓ１２８の処理はスキップされ、処理はステップＳ１２９に進む。
【０２７１】
分散処理管理部１８４は、ステップＳ１２９において、実行対象機能プログラムを１つ選択し、ステップＳ１３０において、選択した実行対象機能プログラムにより実行される処理が、情報処理代行専用装置１２に実行を依頼する処理であるか否かを判定する。情報処理代行専用装置１２に実行を依頼する処理であると判定された場合、処理はステップＳ１３１に進む。
【０２７２】
ステップＳ１３１において、分散処理管理部１８４は、機能実行コマンドの実行を依頼するソフトウェアセル（以下、コマンド実行ソフトウェアセルと称する）を生成する。具体的には、分散処理管理部１８４は、シーケンス処理管理部１８１から処理依頼元から送信されたシーケンス処理依頼ソフトウェアセルを取得する。
【０２７３】
分散処理管理部１８４は、DMAコマンドの領域に、ステップＳ１２９において選択した実行対象機能プログラムと同等の処理を行なう情報処理代行専用装置１２のコマンドセットROM５３に記憶されている機能プログラムの実行を指令する機能実行コマンド、機能実行コマンドにより実行が指令される機能プログラムを実行するサブプロセッサ６２のサブプロセッサID、および、機能プログラムをロードするサブプロセッサ６２のローカルストレージ７２のアドレスが設定され、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDに機能実行コマンドの実行を依頼する情報処理代行専用装置１２の送受信用IDが設定されたコマンド実行ソフトウェアセルを生成する。また、このコマンド実行ソフトウェアセルのセルインタフェースには、機能実行コマンドの実行に必要なサブプロセッサ６２の数、サブプロセッサ６２のローカルストレージ７２のメモリ量などが設定され、データ領域には、図９を参照して上述した機能実行コマンドの実行に必要な各種のパラメータなどが格納される。
【０２７４】
ステップＳ１３２において、分散処理管理部１８４は、生成したコマンド実行ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介して、ネットワーク１３に送信する。その後、処理はステップＳ１３５に進む。
【０２７５】
送信先の情報処理代行専用装置１２は、後述する図１６のステップＳ１５１において、マスタ装置から送信されたコマンド実行ソフトウェアセルを受信する。
【０２７６】
ステップＳ１３０において、情報処理装置１１に実行を依頼する処理であると判定された場合、処理はステップＳ１３３に進む。
【０２７７】
ステップＳ１３３において、分散処理管理部１８４は、ステップＳ１２９において選択した実行対象機能プログラムの実行を依頼するソフトウェアセル（以下、プログラム実行ソフトウェアセルと称する）を生成する。具体的には、分散処理管理部１８４は、シーケンス処理管理部１８１から処理依頼元から送信されたシーケンス処理依頼ソフトウェアセルを取得する。
【０２７８】
分散処理管理部１８４は、DMAコマンドの領域に、キックコマンド、実行対象機能プログラムを実行させるサブプロセッサ３２のサブプロセッサID、および、実行対象機能プログラムの処理を開始するアドレスに関する情報を示すプログラムカウンタが設定され、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDに実行対象機能プログラムの実行を依頼する情報処理装置１１の送受信用IDが設定されたプログラム実行ソフトウェアセルを生成する。また、このプログラム実行ソフトウェアセルのセルインタフェースには、実行対象機能プログラムの実行に必要なサブプロセッサ３２の数、サブプロセッサ３２のローカルストレージ４２のメモリ量などが設定され、データ領域には、実行対象機能プログラムの実行に必要なデータやパラメータなどが格納される。
【０２７９】
ステップＳ１３４において、分散処理管理部１８４は、生成したプログラム実行ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介して、ネットワーク１３に送信する。その後、処理はステップＳ１３５に進む。
【０２８０】
送信先の情報処理装置１１は、後述する図１７のステップＳ１７３において、マスタ装置から送信されたプログラム実行ソフトウェアセルを受信する。
【０２８１】
ステップＳ１３５において、分散処理管理部１８４は、分散処理管理テーブルを更新する。具体的には、分散処理管理部１８４は、分散処理管理テーブルに、実行を依頼した機能プログラム（機能実行コマンド）の機能プログラムID、並びに、機能実行コマンドの実行を依頼した情報処理代行専用装置１２の装置IDおよびサブプロセッサ６２のサブプロセッサID、または、実行対象機能プログラムの実行を依頼した情報処理装置１１の装置IDおよびサブプロセッサ６２のサブプロセッサIDなどを含む情報（以下、機能プログラム実行情報と称する）を記憶させる。
【０２８２】
ステップＳ１３６において、分散処理管理部１８４は、全ての処理の実行を依頼したか否かを判定する。全ての処理の実行を依頼していない、すなわち、ステップＳ１２２において決定された全ての実行対象機能プログラムの実行を依頼していないと判定された場合、処理はステップＳ１２９に戻り、ステップＳ１３６において、全ての処理を依頼したと判定されるまで、ステップＳ１２９乃至Ｓ１３６の処理が繰り返し実行される。すなわち、全ての実行対象機能プログラムの実行が、スレーブ装置である情報処理装置１１または情報処理代行専用装置１２に依頼される。なお、必要に応じて、マスタ装置自身が実行機能プログラムを実行するようにしてもよい。
【０２８３】
ステップＳ１３６において、全ての処理の実行を依頼したと判定された場合、処理はステップＳ１３７に進む。
【０２８４】
ステップＳ１３７において、分散処理管理部１８４は、終了通知ソフトウェアセルを受信したか否かを判定する。具体的には、分散処理管理部１８４は、ステップＳ１３２において送信したコマンド実行ソフトウェアセルに対して、後述する図１６のステップＳ１５４において、機能実行コマンドの実行を依頼した情報処理代行専用装置１２から送信される終了通知ソフトウェアセル、または、ステップＳ１３４において送信したプログラム実行ソフトウェアセルに対して、後述する図１７のステップＳ１７５において、機能実行対象プログラムの実行を依頼した情報処理装置１１から送信される終了通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信したと判定した場合、処理はステップＳ１３８に進む。
【０２８５】
ステップＳ１３８において、分散処理管理部１８４は、受信した終了通知ソフトウェアセルをメインメモリ２２に記憶させる。
【０２８６】
ステップＳ１３９において、分散処理管理部１８４は、分散処理管理テーブルを更新する。具体的には、分散処理管理部１８４は、ステップＳ１３７において受信した終了通知ソフトウェアセルにより終了が通知された機能実行対象プログラムに関する機能プログラム実行情報を分散処理管理テーブルから削除する。
【０２８７】
ステップＳ１４０において、分散処理管理部１８４は、全ての処理の実行が終了したか否かを判定する。まだ実行が終了してない処理があると判定された場合、すなわち、送信したコマンド実行ソフトウェアセルおよびプログラム実行ソフトウェアセルに対する終了通知ソフトウェアセルをまだ全て受信していない場合、処理はステップＳ１３７に戻り、ステップＳ１４０において、全ての処理の実行が終了したと判定されるまで、ステップＳ１３７乃至Ｓ１４０の処理が繰り返し実行される。
【０２８８】
ステップＳ１４０において、全ての処理の実行が終了したと判定された場合、すなわち、送信したコマンド実行ソフトウェアセルおよびプログラム実行ソフトウェアセルに対する終了通知ソフトウェアセルを全て受信した場合、処理はステップＳ１４１に進む。
【０２８９】
ステップＳ１４１において、シーケンス処理管理部１８１は、終了通知ソフトウェアセルをネットワーク１３に送信して、シーケンス処理実行処理は終了する。具体的には、分散処理管理部１８４は、全ての実行機能対象プログラムの実行が終了したことを示す情報をシーケンス処理管理部１８１に供給する。
【０２９０】
シーケンス処理管理部１８１は、DMAコマンド領域にシーケンス処理の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDが自分自身の送受信用ID、送信先IDにシーケンス処理の処理依頼元の送受信用IDが設定された終了通知ソフトウェアセルを生成する。また、この終了通知ソフトウェアセルのデータ領域には、処理の実行を依頼した各装置から受信した終了通知ソフトウェアセルのデータ領域に格納されている処理結果に基づいて生成された、シーケンス処理の処理結果を示すデータなどが格納される。シーケンス処理管理部１８１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介して、ネットワーク１３に送信する。
【０２９１】
次に、図１６のフローチャートを参照して、図１４および図１５のマスタ装置におけるシーケンス処理実行処理に対応して、機能実行コマンドの実行を依頼された情報処理代行専用装置１２により実行される機能実行コマンド実行処理を説明する。
【０２９２】
ステップＳ１５１において、サブプロセッサ制御部２７１は、上述した図１５のステップＳ１３２においてマスタ装置から送信されたコマンド実行ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ２３１を介して受信する。
【０２９３】
ステップＳ１５２において、サブプロセッサ制御部２７１は、機能実行コマンドにより実行が指令された機能プログラムをサブプロセッサ６２にロードさせる。具体的には、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルに格納されている機能実行コマンド実行が指令された機能プログラムをコマンドセットROM５３から読み出す。サブプロセッサ制御部２７１は、読み出した機能プログラムを、コマンド実行ソフトウェアセルにより指定されたサブプロセッサ６２（以下、コマンド実行サブプロセッサと称する）のローカルストレージ７２にロードさせる。
【０２９４】
ステップＳ１５３において、サブプロセッサ制御部２７１は、コマンド実行サブプロセッサに、機能プログラムを実行させる。具体的には、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルに含まれる機能プログラムの実行に必要な各種のパラメータを、コマンド実行サブプロセッサに供給する。コマンド実行サブプロセッサは、サブプロセッサ制御部２７１の制御の基に、コマンド実行サブプロセッサにロードされた機能プログラムを実行する。
【０２９５】
ステップＳ１５４において、サブプロセッサ制御部２７１は、ステップＳ１５１において受信したコマンド実行ソフトウェアセルに対する終了通知ソフトウェアセルをマスタ装置に送信して、機能実行コマンド実行処理は終了する。具体的には、コマンド実行サブプロセッサは、機能プログラムの実行が終了したとき、その処理結果を示すデータをサブプロセッサ制御部２７１に供給する。
【０２９６】
サブプロセッサ制御部２７１は、DMAコマンド領域に機能実行コマンドの実行の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、送信先IDにマスタ装置の送受信用IDが設定され、データ領域にコマンド実行サブプロセッサから取得した処理結果を示すデータなどを格納した終了通知ソフトウェアセルを生成する。サブプロセッサ制御部２７１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ２３１を介してネットワーク１３に送信する。
【０２９７】
次に、図１７のフローチャートを参照して、図１４および図１５のマスタ装置におけるシーケンス処理実行処理に対応して、実行対象機能プログラムの実行を依頼された情報処理装置１１により実行される機能プログラム実行処理を説明する。
【０２９８】
ステップＳ１７１において、サブプロセッサ制御部１７１は、上述した図１４のステップＳ１２７においてマスタ装置から送信されたプログラムロードソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信する。
【０２９９】
ステップＳ１７２において、サブプロセッサ制御部１７１は、機能プログラム（実行対象機能プログラム）をロードさせる。具体的には、サブプロセッサ制御部１７１は、プログラムロードソフトウェアセルのプログラム領域に格納されている機能プログラムを、プログラムロードソフトウェアセルにより指定されたメインメモリ２２、または、サブプロセッサ３２のローカルストレージ４２にロードさせる。
【０３００】
ステップＳ１７３において、サブプロセッサ制御部１７１は、上述した図１５のステップＳ１３４においてマスタ装置から送信されたプログラム実行ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信する。
【０３０１】
ステップＳ１７４において、サブプロセッサ制御部１７１は、機能プログラム（実行対象機能プログラム）を実行させる。具体的には、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルにより指定されたサブプロセッサ３２（以下、プログラム実行サブプロセッサと称する）、すなわち、ステップＳ１７２において機能プログラムをロードさせたサブプロセッサ３２に、プログラム実行ソフトウェアセルのデータ領域に格納されている、機能プログラムの実行に必要なデータやパラメータなどを供給する。プログラム実行サブプロセッサは、サブプロセッサ制御部１７１の制御の基に、ステップＳ１７２においてロードされている機能プログラムを実行する。
【０３０２】
なお、プログラム実行ソフトウェアセルによりメインCPU３１が機能プログラムを実行するように指定された場合、メインCPU３１が機能プログラムを実行する。
【０３０３】
ステップＳ１７５において、サブプロセッサ制御部１７１は、ステップＳ１７３において受信したプログラム実行ソフトウェアセルに対する終了通知ソフトウェアセルをマスタ装置に送信して、機能プログラム実行処理は終了する。具体的には、プログラム実行サブプロセッサは、機能プログラムの実行が終了したとき、その処理結果を示すデータをサブプロセッサ制御部１７１に供給する。
【０３０４】
サブプロセッサ制御部１７１は、DMAコマンド領域に機能プログラムの実行の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、送信先IDにマスタ装置の送受信用IDが設定され、データ領域にプログラム実行サブプロセッサから取得した処理結果を示すデータなどを格納した終了通知ソフトウェアセルを生成する。サブプロセッサ制御部１７１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介してネットワーク１３に送信する。
【０３０５】
このように、情報処理システム１において分散処理を行なう場合、各情報処理代行専用装置１２が実行するように特化されている処理を、その処理に対応する情報処理代行専用装置１２で実行し、その他の処理を汎用的な処理を行なう情報処理装置１１で実行するので、各装置の能力に適した処理を実行させることができる。従って、ネットワーク１３に接続された各装置の資源をより有効に利用でき、また、より効率的かつより高速に処理を実行することができる。また、情報処理代行専用装置１２に処理の実行を依頼する場合、機能プログラムを送信する必要がないため、ネットワーク１３により伝送されるデータ量が減少し、ネットワーク１３のトラフィックを軽減することができる。
【０３０６】
さらに、情報処理装置１１が実行する機能プログラムを追加することにより、情報処理システム１の機能を容易に拡張することができる。また、情報処理システム１に新たな情報処理代行専用装置１２を追加して、情報処理装置１１が実行している処理を代行させることにより、汎用的な処理を行なう情報処理装置１１の処理能力を向上させる場合に比べて、より安価に情報処理システム１全体の処理能力を向上させることができる。さらに、情報処理代行専用装置１２の機能プログラムは、情報処理装置１１の機能プログラムに比べて、小規模であり、同じ機能を実現する場合、開発工数が削減できる。
【０３０７】
なお、情報処理システム１は、マスタ装置である情報処理装置１１以外の装置を、情報処理装置１１のみ、または、情報処理代行専用装置１２のみで構成することも可能である。
【０３０８】
次に、図１８乃至図３６を参照して、本発明を適用した情報処理システム１における処理のより具体的な例について説明する。
【０３０９】
図１８は、本発明を適用した情報処理システム１の構成の一例である情報処理システム１−１１を示すブロック図である。情報処理システム１−１１においては、情報処理装置１１−１乃至１１−４、および情報処理代行専用装置１２−１，１２−２が、ネットワーク１３を介して相互に接続されている。
【０３１０】
なお、以下、情報処理システム１―１１において、事前に図７乃至図１２を参照して上述したネットワーク１３への接続処理が実行され、情報処理装置１１−１がマスタ装置とされ、情報処理装置１１−２乃至１１−４および情報処理代行専用装置１２−１，１２−２がスレーブ装置とされているものとする。また、情報処理装置１１−２は、上述した情報処理装置１１の通信機能や分散処理機能などを有し、外部記録部２３などに記録されているAV（Audio Visual）データの再生を行なう、例えば、DVDプレイヤーまたはビデオデッキなどのAVデータ再生装置であるものとする。また、マスタ装置である情報処理装置１１−１には、例えば、LCD（Liquid Crystal Display）などから構成され、分散処理の進捗状況を表示する表示部３０１が接続されている。さらに、AVデータ再生装置である情報処理装置１１−２には、モニタ３１１およびスピーカ１０２が接続されている。
【０３１１】
なお、以下、適宜、情報処理装置１１−１をマスタ装置、情報処理装置１１−２をAVデータ再生装置、情報処理代行専用装置１２−１をスレーブ装置A、情報処理代行専用装置１２−２をスレーブ装置B、情報処理装置１１−３をスレーブ装置C、および、情報処理装置１１−４をスレーブ装置Dとも称する。
【０３１２】
図１９は、情報処理システム１−１１により実現されるAVデータ再生機能の処理の流れを示している。AVデータ再生機能は、まず、外部記録部２３からAVデータを読み出すAVデータ読出処理、読み出したAVデータから分離された映像データをデコードする映像デコード処理、デコードした映像データにノイズ除去などを施す画質改善処理、画質改善処理を施した映像データに基づく映像をモニタ３１１に表示させる映像出力処理、AVデータから分離された音声データをデコードする音声デコード処理、および、デコードした音声データに基づく音声をスピーカ３１２から出力させる音声出力処理により構成される。
【０３１３】
図２０は、情報処理システム１−１１における、AVデータ再生機能を構成する各処理の配分を示す図である。
【０３１４】
AVデータ再生装置である情報処理装置１１−２は、AVデータ読出処理、映像出力処理、および、音声出力処理を実行する。なお、情報処理装置１１−２は、自分が有する機能プログラムに属する映像出力処理用プログラムを実行することにより映像出力処理を行い、音声出力処理用プログラムを実行することにより音声出力処理を行うものとする。
【０３１５】
スレーブ装置Aである情報処理代行専用装置１２−１は、映像データのデコード処理を行なうように特化されたサブプロセッサ６２（以下、映像デコード処理用サブプロセッサと称する）と音声データのデコード処理を行なうように特化されたサブプロセッサ６２（以下、音声デコード処理用サブプロセッサと称する）とを有し、映像デコード処理および音声デコード処理を行なう。
【０３１６】
映像デコード処理用サブプロセッサは、例えば、DSPとされ、mpeg2_video_decodeコマンドにより実行が指令される機能プログラムを実行することにより、コマンドセットROM５３に記憶されている機能プログラムを実行し、映像デコード処理を行なう。音声デコード処理用サブプロセッサは、例えば、DSPとされ、mpeg2_video_decodeコマンドにより実行が指令される機能プログラムを実行することにより、コマンドセットROM５３に記憶されている機能プログラムを実行し、音声デコード処理を行なうものとする。
【０３１７】
スレーブ装置Bである情報処理代行専用装置１２−２は、映像データの画質改善処理を行なうように特化されたサブプロセッサ６２（以下、画質改善処理用サブプロセッサと称する）を有し、画質改善処理を行なう。画質改善処理用サブプロセッサは、例えば、DSPとされ、video_noise_reductionコマンドにより実行が指令される機能プログラムを実行することにより、コマンドセットROM５３に記憶されている機能プログラムを実行し、画質改善処理を行なうものとする。
【０３１８】
スレーブ装置Cである情報処理装置１１−３は、画像デコード処理および音声デコード処理を実行できるスペックを有し、必要に応じて、スレーブ装置Aの代わりに、映像デコード処理および音声デコード処理を行なう。なお、情報処理装置１１−３は、機能プログラムに属する映像デコード処理用プログラムを実行することにより映像デコード処理を行い、音声デコード処理用プログラムを実行することにより音声デコード処理を行うものとする。なお、以下、スレーブ装置Cが有するサブプロセッサ３２のうち、マスタ装置により映像デコード処理を実行するように依頼されたサブプロセッサ３２を映像デコード処理依頼先サブプロセッサ、および、マスタ装置により音声デコード処理を実行するように依頼されたサブプロセッサ３２を音声デコード処理依頼先サブプロセッサとも称する。
【０３１９】
スレーブ装置Dである情報処理装置１１−４は、画質改善処理を実行できるスペックを有し、必要に応じて、スレーブ装置Bの代わりに、画質改善処理を行なう。なお、情報処理装置１１−４は、機能プログラムに属する画質改善処理用プログラムを実行することにより画質改善処理を行うものとする。なお、以下、スレーブ装置Dが有するサブプロセッサ３２のうち、マスタ装置により画質改善処理を実行するように依頼されたサブプロセッサ３２を画質改善処理依頼先サブプロセッサとも称する。
【０３２０】
図２１は、図７乃至図１２を参照して上述した処理の実行後に、マスタ装置である情報処理装置１１−１のメインメモリ２２に記憶されている装置情報テーブルの例の一部を示している。
【０３２１】
装置情報テーブルには、スレーブ装置Ａの装置情報として、スレーブ装置Ａの装置IDである000139、スレーブ装置Ａが映像データや音声データのデータ処理を行なう装置であることを示す装置種別ＩＤであるDSP_BOX、スレーブ装置Aに映像デコード処理を実行させる機能実行コマンドであるmpeg2_video_decodeコマンド、および、スレーブ装置Aに音声デコード処理を実行させる機能実行コマンドであるmpeg2_audio_decodeコマンドなどが登録されている。
【０３２２】
また、装置情報テーブルには、スレーブ装置Ｂの装置情報として、スレーブ装置Ｂの装置IDである000555、スレーブ装置Ｂが映像データや音声データのデータ処理を行なう装置であることを示す装置種別ＩＤであるDSP_BOX、および、スレーブ装置Bに画質改善処理を実行させる機能実行コマンドであるvideo_noise_reductionコマンドなどが登録されている。
【０３２３】
さらに、装置情報テーブルには、AVデータ再生装置の装置情報として、AVデータ再生装置の装置IDである002030、および、AVデータ再生装置であることを示す装置種別ＩＤであるAV_PLAYERなどが登録されている。
【０３２４】
また、装置情報テーブルには、スレーブ装置Cの装置情報として、スレーブ装置Cの装置IDである003001、および、スレーブ装置Cが特定の機能を持たない汎用的な装置であることを示す装置種別ＩＤであるGENERALなどが登録されている。
【０３２５】
さらに、装置情報テーブルには、スレーブ装置Dの装置情報として、スレーブ装置Dの装置IDである003002、および、スレーブ装置Dが特定の機能を持たない汎用的な装置であることを示す装置種別ＩＤであるGENERALなどが登録されている。
【０３２６】
次に、図２２乃至図３６を参照して、情報処理システム１−１１におけるAVデータの再生処理を説明する。
【０３２７】
まず、図２２のフローチャートを参照して、AVデータ再生装置である情報処理装置１１−２により実行されるAVデータ再生処理を説明する。
【０３２８】
ステップＳ２０１において、サブプロセッサ制御部１７１は、AVデータ再生装置の図示せぬ操作部を操作することにより、ユーザにより入力されたAVデータの再生の指令を取得し、取得した指令を分散処理マネージャ１１４に供給する。
【０３２９】
ステップＳ２０２において、シーケンス処理依頼部１８５は、外部記録部２３からAVデータを読み込む。具体的には、DMAC３３は、シーケンス処理依頼部１８５の制御の基に、外部記録部２３から所定の量（例えば、２０秒分）のAVデータを読み出し、シーケンス処理依頼部１８５に供給する。
【０３３０】
ステップＳ２０３において、図１３のステップＳ１０２と同様の処理により、マスタ装置にシーケンス処理の実行が依頼される。このとき送信されるシーケンス処理依頼ソフトウェアセルのデータ領域には、シーケンス処理を示す情報（例えば、AVデータの高画質デコード処理を示す情報）、ステップＳ２０２において読み出されたAVデータ、AVデータのデコードなどに必要な各種のパラメータなどが格納される。
【０３３１】
後述される図２４のステップＳ２３１において、マスタ装置は、AVデータ再生装置から送信されたシーケンス処理依頼ソフトウェアセルを受信する。
【０３３２】
ステップＳ２０４において、進捗通知部１８６は、シーケンス処理の進捗状況が通知されたか否かを判定する。具体的には、進捗通知部１８６が、後述する図２７のステップＳ２６８において、マスタ装置から送信されるシーケンス処理の進捗状況を通知するソフトウェアセル（以下、進捗状況通知ソフトウェアセルと称する）を、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信した場合、シーケンス処理の進捗状況が通知されたと判定し、処理はステップＳ２０５に進む。
【０３３３】
ステップＳ２０５において、進捗通知部１８６は、進捗状況通知ソフトウェアセルに基づいて、シーケンス処理の進捗状況を通知する。具体的には、進捗状況通知ソフトウェアセルのデータ領域には、シーケンス処理に含まれる各処理を実行しているスレーブ装置Ａ乃至Ｄの処理および進捗状況を示すデータが格納されている。例えば、画像デコード処理の進捗状況を示すデータとして、全体の処理を１００とし、終了した処理の割合を０から１００までの値で表したデータが設定される。
【０３３４】
例えば、AVデータ再生装置のメインCPU３１により実行されるモニタ出力ドライバ１５２（図３）は、進捗通知部１８６に制御の基に、図２３に示されるような各処理の進捗状況を棒グラフにした画像をモニタ３１１に表示させる。図２３の例では、映像デコード処理の進捗度が３０％であり、音声デコード処理の進捗度が８５％であり、画質改善処理の進捗度が０％であることが示されている。このようにして、各処理の進捗状況をユーザに知らせることにより、処理の終了を待っている間のユーザのストレスを軽減させることができる。また、装置の異常により処理が停止している場合、そのことを迅速かつ容易に知ることができる。さらに、各処理の進捗状況を個別に把握することにより、ボトルネックとなり全体の処理を遅延させている処理を容易に特定することができるようになる。
【０３３５】
ステップＳ２０４において、シーケンス処理の進捗状況が通知されていないと判定された場合、ステップＳ２０５の処理はスキップされ、処理はステップＳ２０６に進む。
【０３３６】
ステップＳ２０６において、シーケンス処理依頼部１８５は、終了通知ソフトウェアセルを受信したか否かを判定する。シーケンス処理依頼部１８５が、ステップＳ２０３において送信したシーケンス処理依頼ソフトウェアセルに対する応答である、後述する図２６のステップＳ２６４において、マスタ装置から送信される終了通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信したと判定した場合、処理はステップＳ２０７に進む。
【０３３７】
ステップＳ２０７において、シーケンス処理依頼部１８５は、マスタ装置から受信したデータをメインメモリ２２に記憶させる。具体的には、マスタ装置から送信される終了通知ソフトウェアセルのデータ領域には、AVデータ再生装置がシーケンス処理の実行を依頼したシーケンス処理依頼ソフトウェアセルに格納されたAVデータから分離された映像データをデコードし、画質改善処理を施した映像データ、および、AVデータから分離された音声データをデコードした音声データが格納されている。シーケンス処理依頼部１８５は、その映像データおよび音声データをメインメモリ２２に記憶させる。すなわち、メインメモリ２２は、映像データおよび音声データを一時的に記憶するバッファとして用いられる。
【０３３８】
ステップＳ２０８において、サブプロセッサ制御部１７１は、AVデータの再生が開始されているか否かを判定する。AVデータの再生が開始されていないと判定された場合、処理はステップＳ２０９に進む。
【０３３９】
ステップＳ２０９において、サブプロセッサ制御部１７１は、AVデータの再生を開始させる。具体的には、例えば、サブプロセッサ制御部１７１は、外部記録部２３に記録されている映像出力用プログラムおよび音声出力用プログラムをメインメモリ２２、または、所定のサブプロセッサ３２のローカルストレージ４２にロードさせる。メインCPU３１またはサブプロセッサ３２は、映像出力用プログラムおよび音声出力用プログラムの実行を開始し、メインメモリ２２に記憶されている映像データに所定の処理を施し、映像データをモニタ３１１に出力し、メインメモリ２２に記憶されている音声データに所定の処理を施し、音声データをモニタ３１１に出力する。モニタ３１１は映像データに基づく映像の表示を開始し、スピーカ３１２は音声データに基づく音声の出力を開始する。
【０３４０】
ステップＳ２０８において、AVデータの再生がすでに開始されていると判定された場合、ステップＳ２０９の処理はスキップされ、処理はステップＳ２１０に進む。
【０３４１】
ステップＳ２０６において、終了通知ソフトウェアセルを受信していないと判定された場合、ステップＳ２０７乃至Ｓ２０９の処理はスキップされ、処理はステップＳ２１０に進む。
【０３４２】
ステップＳ２１０において、サブプロセッサ制御部１７１は、ユーザによりAVデータの再生が指令されたか否かを判定する。ユーザによりAVデータの再生の停止が指令されていないと判定された場合、処理はステップＳ２１１に進む。
【０３４３】
ステップＳ２１１において、シーケンス処理依頼部１８５は、シーケンス処理の実行を依頼するタイミングであるか否かを判定する。例えば、シーケンス処理依頼部１８５は、所定のタイミングごと（例えば、所定の間隔ごと、マスタ装置から終了通知ソフトウェアセルを受信するごと、メインメモリ２２（バッファ）に記憶されている映像データおよび音声データのデータ量が所定の量以下になるごとなど）に、シーケンス処理（AVデータの高画質デコード処理）をマスタ装置に依頼する。現在、シーケンス処理の実行を依頼するタイミングであると判定された場合、処理はステップＳ２０２に戻り、上述したステップＳ２０２以降の処理が実行される。すなわち、マスタ装置に新たなシーケンス処理の実行が依頼される。
【０３４４】
ステップＳ２１１において、シーケンス処理の実行を依頼するタイミングでないと判定された場合、処理はステップＳ２０４に戻り、上述したステップＳ２０４以降の処理が実行される。
【０３４５】
ステップＳ２１０において、ユーザによりAVデータの再生の停止が指令されたと判定された場合、すなわち、AVデータ再生装置の図示せぬ操作部を操作することにより、ユーザにより入力されたAVデータの再生の停止の指令がサブプロセッサ制御部１７１に入力された場合、処理はステップＳ２１２に進む。
【０３４６】
ステップＳ２１２において、サブプロセッサ制御部１７１は、AVデータの再生を終了させ、AVデータ再生処理は終了する。具体的には、サブプロセッサ制御部１７１は、メインCPU３１−２またはサブプロセッサ３２に映像出力用プログラムおよび音声出力用プログラムの実行を停止させる。また、サブプロセッサ制御部１７１は、分散処理マネージャ１１４に、AVデータの再生の終了を通知する。
【０３４７】
例えば、このとき、シーケンス処理依頼部１８５は、シーケンス処理の中止を通知するソフトウェアセルをマスタ装置に送信して、シーケンス処理を中止させるようにしてもよいし、シーケンス処理を中止させずに、マスタ装置から送信されるシーケンス処理の終了を通知する終了通知ソフトウェアセルをそのまま破棄するようにしてもよい。
【０３４８】
次に、図２４乃至図２７のフローチャートを参照して、図２２のAVデータ再生装置におけるAVデータ再生処理に対応して、マスタ装置である情報処理装置１１−１により実行されるシーケンス処理実行処理について説明する。
【０３４９】
ステップＳ２３１において、上述した図１２のステップＳ１２１と同様の処理により、シーケンス処理管理部１８１は、図２２のステップＳ２０３においてAVデータ再生装置から送信されたシーケンス処理依頼ソフトウェアセルを受信する。
【０３５０】
ステップＳ２３２において、シーケンス処理管理部１８１は、受信したシーケンス処理依頼ソフトウェアセルをメインメモリ２２に記憶させる。
【０３５１】
ステップＳ２３３において、上述した図１４のステップＳ１２２と同様の処理により、シーケンス処理を行なうために必要な実行対象機能プログラムが決定される。いまの場合、実行対象機能プログラムとして、映像デコード処理用プログラム、音声デコード処理用プログラム、および、画質改善処理用プログラムが決定される。
【０３５２】
ステップＳ２３４において、図１４のステップＳ１２３と同様の処理により、処理の実行を依頼する情報処理代行専用装置１２が決定される。
【０３５３】
ステップＳ２３５において、図１４のステップＳ１２４と同様の処理により、ステップＳ２３４の処理の結果に基づいて、実行依頼先が決まっていない実行対象機能プログラムがあるか否かが判定される。実行依頼先が決まっていない実行対象機能プログラムがあると判定された場合、例えば、電源が投入されていなかったり、処理中の負荷が大きいなどの理由により、スレーブ装置Ａおよびスレーブ装置Ｂのうち少なくとも一方に処理の実行を依頼できない場合、処理はステップＳ２３６に進む。
【０３５４】
ステップＳ２３６において、上述した図１４のステップＳ１２５と同様の処理により、処理の実行を依頼する情報処理装置１１が決定される。
【０３５５】
ステップＳ２３７において、分散処理管理部１８４は、分散処理管理テーブルに基づいて、実行対象機能プログラムの実行を依頼する情報処理装置１１において、実行対象機能プログラムがロード済みであるか否かを判定する。ロードされていない実行対象機能プログラムがあると判定された場合、処理はステップＳ２３８に進む。
【０３５６】
ステップＳ２３８において、上述した図１４のステップＳ１２６と同様の処理により、ステップＳ２３７においてロード済みでないと判定された実行対象機能プログラムをロードさせるためのプログラムロードソフトウェアセルが生成される。
【０３５７】
具体的には、映像デコード処理用プログラムまたは音声デコード処理用プログラムをスレーブ装置Ｃにロードさせる場合、DMAコマンド領域に、ロードコマンド、スレーブ装置Cの映像デコード処理依頼先サブプロセッサまたは音声デコード処理依頼先サブプロセッサのサブプロセッサID、および、映像デコード処理用プログラムまたは音声デコード処理用プログラムロード先である映像デコード処理依頼先サブプロセッサまたは音声デコード処理依頼先サブプロセッサのローカルストレージ７２のアドレスが設定され、送信元IDと応答先IDに自分自身の送受信用ＩＤ、および、送信先IDにスレーブ装置Cの送受信用IDが設定され、プログラム領域に映像デコード処理用プログラムまたは音声デコード処理用プログラムが格納されたプログラムロードソフトウェアセルが生成される。
【０３５８】
また、画質改善処理用プログラムをスレーブ装置Dにロードさせる場合、DMAコマンド領域に、ロードコマンド、スレーブ装置Dの画質改善処理依頼先サブプロセッサのサブプロセッサID、および、画質改善処理用プログラムのロード先である画質改善処理依頼先サブプロセッサのローカルストレージ７２のアドレスが設定され、送信元IDと応答先IDに自分自身の送受信用ＩＤ、および、送信先IDにスレーブ装置Dの送受信用IDが設定され、プログラム領域に画質改善処理用プログラムが格納されたプログラムロードソフトウェアセルが生成される。
【０３５９】
ステップＳ２３９において、図１４のステップＳ１２７の処理と同様に、生成されたプログラムロードソフトウェアセルがネットワーク１３に送信される。
【０３６０】
スレーブ装置ＣまたはＤは、後述する図３２のステップＳ４０１において、マスタ装置から送信されたプログラムロードソフトウェアセルを受信する。
【０３６１】
ステップＳ２４０において、上述した図１４のステップＳ１２８と同様の処理により、分散処理管理テーブルが更新される。具体的には、ステップＳ２３９において送信されたプログラムロードソフトウェアセルに基づく機能プログラムロード情報が分散処理管理テーブルに追加される。
【０３６２】
ステップＳ２４１において、情報交換部１５１は、後述する図３２のステップＳ４０４において、スレーブ装置ＣまたはＤから送信される装置情報通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信する。
【０３６３】
ステップＳ２４２において、上述した図１１のステップＳ４５と同様の処理により、装置情報テーブルが更新される。
【０３６４】
ステップＳ２３７において、実行対象機能プログラムがロード済みであると判定された場合、ステップＳ２３８乃至Ｓ２４２の処理はスキップされ、処理はステップＳ２４３に進む。
【０３６５】
ステップＳ２３５において、実行依頼先が決まっていない実行対象機能プログラムがないと判定された場合、すなわち、ステップＳ２３３において、映像デコード処理および音声デコード処理をスレーブ装置Ａに依頼し、画質改善処理をスレーブ装置Ｂに依頼するように決定されている場合、ステップＳ２３６乃至Ｓ２４２の処理はスキップされ、処理はステップＳ２４３に進む。
【０３６６】
ステップＳ２４３において、分散処理管理部１８４は、映像デコード処理の実行を情報処理代行専用装置１２に依頼するか否かを判定する。映像デコード処理の実行を情報処理代行専用装置１２に依頼すると判定された場合、すなわち、映像デコード処理の実行をスレーブ装置Ａに依頼する場合、処理はステップＳ２４４に進む。
【０３６７】
ステップＳ２４４において、上述した図１５のステップＳ１３１と同様の処理により、mpeg2_video_decodeコマンドの実行を依頼するコマンド実行ソフトウェアセルが生成される。具体的には、DMAコマンドの領域に、mpeg2_video_decodeコマンド、スレーブ装置Ａの映像デコード処理用サブプロセッサのサブプロセッサID、および、mpeg2_video_decodeコマンドにより実行が指令される機能プログラムをロードする映像デコード処理用サブプロセッサのローカルストレージ７２のアドレスが設定され、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにスレーブ装置Aの送受信用IDが設定されたコマンド実行ソフトウェアセルが生成される。
【０３６８】
また、このコマンド実行ソフトウェアセルのデータ領域には、ステップＳ２３１において受信したシーケンス処理通知ソフトウェアセルのデータ領域に格納されているAVデータから分離した映像データ、および、mpeg2_video_decodeコマンドの実行に必要な各種のパラメータなどが格納される。
【０３６９】
ステップＳ２４５において、上述した図１５のステップＳ１３２と同様の処理により、生成したコマンド実行ソフトウェアセルがネットワーク１３に送信される。その後、処理はステップＳ２４８に進む。
【０３７０】
後述する図２８のステップＳ２８１において、スレーブ装置Ａは、マスタ装置から送信されたコマンド実行ソフトウェアセルを受信する。
【０３７１】
ステップＳ２４３において、映像デコード処理の実行を情報処理装置１１に依頼すると判定された場合、すなわち、映像デコード処理の実行をスレーブ装置Ｃに依頼する場合、処理はステップＳ２４６に進む。
【０３７２】
ステップＳ２４６において、上述した図１５のステップＳ１３３と同様の処理により、映像デコード処理用プログラムの実行を依頼するプログラム実行ソフトウェアセルが生成される。具体的には、DMAコマンドの領域に、キックコマンド、スレーブ装置Ｃの映像デコード処理依頼先サブプロセッサのサブプロセッサID、および、映像デコード処理用プログラムの処理を開始するアドレスに関する情報を示すプログラムカウンタが設定され、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにスレーブ装置Ｃの送受信用IDが設定されたプログラム実行ソフトウェアセルが生成される。また、このプログラム実行ソフトウェアセルのデータ領域には、ステップＳ２３１において受信したシーケンス処理通知ソフトウェアセルのデータ領域に格納されているAVデータから分離した映像データ、および、映像データのデコードに必要な各種のパラメータなどが格納される。
【０３７３】
ステップＳ２４５において、上述した図１５のステップＳ１３４と同様の処理により、生成したプログラム実行ソフトウェアセルがネットワーク１３に送信される。
【０３７４】
後述する図３３のステップＳ４２１において、スレーブ装置Ｃは、マスタ装置から送信されたプログラム実行ソフトウェアセルを受信する。
【０３７５】
ステップＳ２４８において、分散処理管理部１８４は、音声デコード処理の実行を情報処理代行専用装置１２に依頼するか否かを判定する。音声デコード処理の実行を情報処理代行専用装置１２に依頼すると判定された場合、すなわち、音声デコード処理の実行をスレーブ装置Ａに依頼する場合、処理はステップＳ２４９に進む。
【０３７６】
ステップＳ２４９において、上述した図１５のステップＳ１３１と同様の処理により、mpeg2_audio_decodeコマンドの実行を依頼するコマンド実行ソフトウェアセルが生成される。具体的には、DMAコマンドの領域に、mpeg2_audio_decodeコマンド、スレーブ装置Ａの音声デコード処理用サブプロセッサのサブプロセッサID、および、mpeg2_audio_decodeにより実行が指令される機能プログラムをロードする音声デコード処理用サブプロセッサのローカルストレージ７２のアドレスが設定され、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにスレーブ装置Aの送受信用IDが設定されたコマンド実行ソフトウェアセルが生成される。
【０３７７】
また、このコマンド実行ソフトウェアセルのデータ領域には、ステップＳ２３１において受信したシーケンス処理通知ソフトウェアセルのデータ領域に格納されているAVデータから分離した音声データ、および、mpeg2_audio_decodeコマンドの実行に必要な各種のパラメータなどが格納される。
【０３７８】
ステップＳ２５０において、上述した図１５のステップＳ１３２と同様の処理により、生成したコマンド実行ソフトウェアセルがネットワーク１３に送信される。その後、処理はステップＳ２５３に進む。
【０３７９】
後述する図２８のステップＳ２８１において、スレーブ装置Ａは、マスタ装置から送信されたコマンド実行ソフトウェアセルを受信する。
【０３８０】
ステップＳ２４８において、音声デコード処理の実行を情報処理装置１１に依頼すると判定された場合、すなわち、音声デコード処理の実行をスレーブ装置Ｃに依頼する場合、処理はステップＳ２５１に進む。
【０３８１】
ステップＳ２５１において、上述した図１５のステップＳ１３３と同様の処理により、音声デコード処理用プログラムの実行を依頼するプログラム実行ソフトウェアセルが生成される。具体的には、DMAコマンドの領域に、キックコマンド、スレーブ装置Ｃの音声デコード処理依頼先サブプロセッサのサブプロセッサID、および、音声デコード処理用プログラムの処理を開始するアドレスに関する情報を示すプログラムカウンタが設定され、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにスレーブ装置Ｃの送受信用IDが設定されたプログラム実行ソフトウェアセルが生成される。また、このプログラム実行ソフトウェアセルのデータ領域には、ステップＳ２３１において受信したシーケンス処理通知ソフトウェアセルのデータ領域に格納されているAVデータから分離した音声データ、および、音声データのデコードに必要な各種のパラメータなどが格納される。
【０３８２】
ステップＳ２５２において、上述した図１５のステップＳ１３４と同様の処理により、生成したプログラム実行ソフトウェアセルがネットワーク１３に送信される。
【０３８３】
後述する図３３のステップＳ４２１において、スレーブ装置Ｃは、マスタ装置から送信されたプログラム実行ソフトウェアセルを受信する。
【０３８４】
ステップＳ２５３において、上述した図１５のステップＳ１３５と同様の処理により、分散処理管理テーブルが更新される。具体的には、スレーブ装置ＡまたはＣに、映像デコード処理および音声デコード処理の実行を依頼したことを示す機能プログラム実行情報が分散処理管理テーブルに追加される。
【０３８５】
ステップＳ２５４において、分散処理管理部１８４は、終了通知ソフトウェアセルを受信したか否かを判定する。分散処理管理部１８４が、後述する図２９のステップＳ２９５またはＳ２９７において、スレーブ装置Ａから送信される終了通知ソフトウェアセル、後述する図３０のステップＳ３３０において、スレーブ装置Ｂから送信される終了通知ソフトウェアセル、後述する図３４のステップＳ４３３またはＳ４３５において、スレーブ装置Ｄから送信される終了通知ソフトウェアセル、または、後述する図３５のステップＳ４６９において、スレーブ装置Ｄから送信される終了通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信したと判定した場合、処理はステップＳ２５５に進む。
【０３８６】
ステップＳ２５５において、分散処理管理部１８４は、受信した終了通知ソフトウェアセルをメインメモリ２２に記憶させる。
【０３８７】
ステップＳ２５６において、分散処理管理部１８４は、映像デコード処理の終了が通知されたか否かを判定する。分散処理管理部１８４は、ステップＳ２５５において、スレーブ装置ＡまたはＣから、映像デコード処理の終了を通知する終了通知ソフトウェアセルを受信した場合、映像デコード処理の終了が通知されたと判定し、処理はステップＳ２５７に進む。
【０３８８】
ステップＳ２５７において、分散処理管理部１８４は、画質改善処理の実行を情報処理代行専用装置１２に依頼するか否かを判定する。画質改善処理の実行を情報処理代行専用装置１２に依頼すると判定された場合、すなわち、画質改善処理の実行をスレーブ装置Ｂに依頼する場合、処理はステップＳ２５８に進む。
【０３８９】
ステップＳ２５８において、上述した図１５のステップＳ１３１と同様の処理により、video_noise_reductionコマンドの実行を依頼するコマンド実行ソフトウェアセルが生成される。具体的には、DMAコマンドの領域に、video_noise_reductionコマンド、スレーブ装置Ｂの画質改善処理用サブプロセッサのサブプロセッサID、および、video_noise_reductionコマンドにより実行が指令される機能プログラムをロードする画質改善処理用サブプロセッサのローカルストレージ７２のアドレスが設定され、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにスレーブ装置Ｂの送受信用IDが設定されたコマンド実行ソフトウェアセルが生成される。
【０３９０】
また、このコマンド実行ソフトウェアセルのデータ領域には、ステップＳ２５４において受信した映像デコード処理の終了を通知する終了通知ソフトウェアセルのデータ領域に格納されているデコードされた映像データ、および、video_noise_reductionコマンドの実行に必要な各種のパラメータなどが格納される。
【０３９１】
ステップＳ２５９において、上述した図１５のステップＳ１３２と同様の処理により、生成したコマンド実行ソフトウェアセルがネットワーク１３に送信される。その後、処理はステップＳ２６２に進む。
【０３９２】
後述する図３０のステップＳ３２１において、スレーブ装置Ｂは、マスタ装置から送信されたコマンド実行ソフトウェアセルを受信する。
【０３９３】
ステップＳ２５７において、画質改善処理の実行を情報処理装置１１に依頼すると判定された場合、すなわち、画質改善処理の実行をスレーブ装置Ｄに依頼する場合、処理はステップＳ２６０に進む。
【０３９４】
ステップＳ２６０において、上述した図１５のステップＳ１３３と同様の処理により、画質改善処理用プログラムの実行を依頼するプログラム実行ソフトウェアセルが生成される。具体的には、DMAコマンドの領域に、キックコマンド、画質改善処理依頼先サブプロセッサのサブプロセッサID、および、スレーブ装置Ｄの画質改善処理用プログラムの処理を開始するアドレスに関する情報を示すプログラムカウンタが設定され、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにスレーブ装置Ｄの送受信用IDが設定されたプログラム実行ソフトウェアセルが生成される。また、このプログラム実行ソフトウェアセルのデータ領域には、ステップＳ２５４において受信された終了通知ソフトウェアセルのデータ領域に格納されているデコードされた映像データ、および、画質改善処理に必要な各種のパラメータなどが格納される。
【０３９５】
ステップＳ２６１において、上述した図１５のステップＳ１３４と同様の処理により、生成したプログラム実行ソフトウェアセルがネットワーク１３に送信される。
【０３９６】
後述する図３５のステップＳ４６１において、スレーブ装置Ｄは、マスタ装置から送信されたプログラム実行ソフトウェアセルを受信する。
【０３９７】
ステップＳ２６２において、上述した図１５のステップＳ１３５と同様の処理により、分散処理管理テーブルが更新される。具体的には、スレーブ装置ＢまたはDに、画質改善処理の実行を依頼したことを示す機能プログラム実行情報が分散処理管理テーブルに追加される。
【０３９８】
ステップＳ２５６において、映像デコード処理の終了が通知されてないと判定された場合、ステップＳ２５７乃至Ｓ２６２の処理はスキップされ、処理はステップＳ２６３に進む。
【０３９９】
ステップＳ２６３において、分散処理管理部１８４は、全ての処理が終了したシーケンス処理依頼ソフトウェアセルがあるか否かを判定する。具体的には、分散処理管理部１８４は、１つのシーケンス処理依頼ソフトウェアセルに基づいてスレーブ装置Ａ乃至Ｄに依頼した処理に対する終了結果通知を全て受信した場合、すなわち、そのシーケンス処理依頼ソフトウェアセルに格納されたAVデータから分離された映像データのデコードおよび画質改善処理が終了するとともに、AVデータから分離された音声データのデコードが終了した場合、全ての処理が終了したシーケンス処理依頼ソフトウェアセルがあると判定し、処理はステップＳ２６４に進む。
【０４００】
ステップＳ２６４において、図１５のステップＳ１４１と同様の処理により、ステップＳ２６３で全ての処理が終了したと判定されたシーケンス処理依頼ソフトウェアセルに対する終了通知ソフトウェアセルがネットワーク１３に送信される。このとき送信される終了通知ソフトウェアセルにおいて、DMAコマンド領域にシーケンス処理の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDが自分自身の送受信用ID、送信先IDに処理依頼元であるAVデータ再生装置の送受信用IDが設定される。また、この終了通知ソフトウェアセルのデータ領域には、デコードおよび画質改善処理を施した画像データおよびデコードした音声データが格納される。
【０４０１】
ステップＳ２６３において、全ての処理が終了したシーケンス処理依頼ソフトウェアセルがないと判定された場合、ステップＳ２６４の処理はスキップされ、処理はステップＳ２６５に進む。
【０４０２】
ステップＳ２５４において、終了通知ソフトウェアセルを受信していないと判定された場合、ステップＳ２５５乃至Ｓ２６４の処理はスキップされ、処理はステップＳ２６５に進む。
【０４０３】
ステップＳ２６５において、情報交換部１５１は、装置情報が通知されたか否かを判定する。情報交換部１５１は、後述する図２９のＳ３００において、スレーブ装置Ａから送信される装置情報通知ソフトウェアセル、後述する図３１のＳ３３３において、スレーブ装置Ｂから送信される装置情報通知ソフトウェアセル、後述する図３４のＳ４３８において、スレーブ装置Ｃから送信される装置情報通知ソフトウェアセル、または、後述する図３６のＳ４７２において、スレーブ装置Ｄから送信される装置情報通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信したと判定した場合、処理はステップＳ２６６に進む。
【０４０４】
ステップＳ２６６において、上述した図１１のステップＳ４５と同様の処理により、装置情報テーブルが更新される。
【０４０５】
ステップＳ２６５において、装置情報が通知されていないと判定された場合、ステップＳ２６６の処理はスキップされ、処理はステップＳ２６７に進む。
【０４０６】
ステップＳ２６７において、進捗通知部１８６は、スレーブ装置Ａ乃至Ｄから処理の進捗状況が通知されたか否かを判定する。進捗通知部１８６は、後述する図２９のステップＳ２９３において、スレーブ装置Ａから送信される進捗状況通知ソフトウェアセル、後述する図３０のステップＳ３２８において、スレーブ装置Ｂから送信される進捗状況通知ソフトウェアセル、後述する図３４のステップＳ４３１において、スレーブ装置Ｃから送信される進捗状況通知ソフトウェアセル、または、後述する図３５のステップＳ４６７において、スレーブ装置Ｄから送信される進捗状況通知ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信した場合、処理の進捗が通知されたと判定し、処理はステップＳ２６８に進む。
【０４０７】
ステップＳ２６８において、進捗通知部１８６は、ステップＳ２６７において受信した進捗状況通知ソフトウェアセルの送信元IDと応答先IDを自分自身の送受信用IDに変更し、送信先IDをAVデータ再生装置の送受信用IDに変更した進捗状況通知ソフトウェアセルをネットワーク１３に送信する。すなわち、自分あてに来た進捗状況通知ソフトウェアセルを、AVデータ再生装置に転送する。
【０４０８】
ステップ２６９において、進捗通知部１８６は、受信した進捗状況通知ソフトウェアセルに基づいて、シーケンス処理の進捗状況を通知する。具体的には、AVデータ再生装置における上述した図２２のステップＳ２０５と同様の処理により、表示部３０１に図２３に示されるシーケンス処理の進捗状況を通知する画像を表示させる。
【０４０９】
ステップＳ２６７において、処理の進捗状況が通知されていないと判定された場合、ステップＳ２６８およびＳ２６９の処理はスキップされ、処理はステップＳ２７０に進む。
【０４１０】
ステップＳ２７０において、シーケンス処理管理部１８１は、AVデータ再生装置から新たなシーケンス処理依頼ソフトウェアセルを受信したか否かを判定する。AVデータ再生装置から新たなシーケンス処理依頼ソフトウェアセルを受信していないと判定された場合、処理はステップＳ２７１に進む。
【０４１１】
ステップＳ２７１において、シーケンス処理管理部１８１は、全てのシーケンス処理依頼ソフトウェアセルに対する処理が終了したか否かを判定する。具体的には、シーケンス処理管理部１８１は、ステップＳ２３１またはステップＳ２６９において、AVデータ再生装置から受信したシーケンス処理依頼ソフトウェアセルのうち、そのシーケンス処理の終了を通知する終了通知ソフトウェアセルをAVデータ再生装置に送信していないシーケンス処理依頼ソフトウェアセルがある場合、全てのシーケンス処理依頼ソフトウェアセルに対する処理が終了していないと判定され、処理はステップ２５４に戻り、上述したステップＳ２５４以降の処理が実行される。
【０４１２】
ステップＳ２７１において、全てのシーケンス処理依頼ソフトウェアセルに対する処理が終了したと判定された場合、すなわち、AVデータ再生装置から受信した全てのシーケンス処理依頼ソフトウェアセルに対して、そのシーケンス処理の終了を通知する終了通知ソフトウェアセルをAVデータ再生装置に送信済みの場合、シーケンス処理実行処理は終了する。
【０４１３】
ステップＳ２７０において、上述した図２２のステップＳ２０３において、AVデータ再生装置から新たに送信されたシーケンス処理依頼ソフトウェアセルを受信したと判定された場合、処理はステップＳ２３２に戻り、上述したステップＳ２３２以降の処理が実行される。
【０４１４】
次に、図２８および図２９のフローチャートを参照して、図２４乃至図２７のマスタ装置におけるシーケンス処理実行処理に対応して、スレーブ装置Ａである情報処理代行専用装置１２−１により実行される機能実行コマンド実行処理を説明する。
【０４１５】
ステップＳ２８１において、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルを受信したか否かを判定する。サブプロセッサ制御部２７１が、上述した図２５のステップＳ２４５またはステップＳ２５０において、マスタ装置から送信されたコマンド実行ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ２３１を介して受信したと判定した場合、処理はステップＳ２８２に進む。
【０４１６】
ステップＳ２８２において、サブプロセッサ制御部２７１は、受信したコマンド実行ソフトウェアセルをメインメモリ５２に記憶させる。
【０４１７】
ステップＳ２８１において、コマンド実行ソフトウェアセルを受信していないと判定された場合、ステップＳ２８２の処理はスキップされ、処理はステップＳ２８３に進む。
【０４１８】
ステップＳ２８３において、サブプロセッサ制御部２７１は、処理されていない映像データがあるか否かを判定する。具体的には、サブプロセッサ制御部２７１は、メインメモリ５２に記憶されているコマンド実行ソフトウェアセルのうち、映像デコード処理が実行されていないコマンド実行ソフトウェアセルがある場合、処理されていない映像データがあると判定し、処理はステップＳ２８４に進む。
【０４１９】
ステップＳ２８４において、サブプロセッサ制御部２７１は、映像デコード処理が実行されていないコマンド実行ソフトウェアセルのうち１つ（例えば、最も古い時間にマスタ装置から受信したコマンド実行ソフトウェアセル）を選択する。
【０４２０】
ステップＳ２８５において、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルにより指定されているサブプロセッサ６２、すなわち、映像デコード処理用サブプロセッサが、映像デコード処理を実行中であるか否かを判定する。映像デコード処理用サブプロセッサが映像デコード処理を実行中でないと判定された場合、処理はステップＳ２８６に進む。
【０４２１】
ステップＳ２８６において、上述した図１６のステップＳ１５２と同様の処理により、mpeg2_video_decodeコマンドにより実行が指令される機能プログラムが、映像デコード処理用サブプロセッサのローカルストレージ７２にロードされる。
【０４２２】
ステップＳ２８７において、サブプロセッサ制御部２７１は、映像デコード処理を開始させる。具体的には、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルに含まれる映像データおよび映像デコード処理に必要な各種のパラメータを、映像デコード処理用サブプロセッサに供給する。映像デコード処理用サブプロセッサは、サブプロセッサ制御部２７１の制御の基に、ステップＳ２８６においてロードされた機能プログラムの実行を開始し、映像データのデコードを開始する。
【０４２３】
ステップＳ２８５において、映像デコード処理用サブプロセッサが映像デコード処理を実行中であると判定された場合、ステップＳ２８６およびＳ２８７の処理はスキップされ、処理はステップＳ２８８に進む。
【０４２４】
ステップＳ２８３において、処理されていない映像データがないと判定された場合、ステップＳ２８４乃至Ｓ２８７の処理はスキップされ、処理はステップＳ２８８に進む。
【０４２５】
ステップＳ２８８において、サブプロセッサ制御部２７１は、処理されていない音声データがあるか否かを判定する。具体的には、サブプロセッサ制御部２７１は、メインメモリ５２に記憶されているコマンド実行ソフトウェアセルのうち、音声デコード処理が実行されていないコマンド実行ソフトウェアセルがある場合、処理されていない音声データがあると判定し、処理はステップＳ２８９に進む。
【０４２６】
ステップＳ２８９において、サブプロセッサ制御部２７１は、音声デコード処理が実行されていないコマンド実行ソフトウェアセルのうち１つ（例えば、最も古い時間にマスタ装置から受信したコマンド実行ソフトウェアセル）を選択する。
【０４２７】
ステップＳ２９０において、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルにより指定されているサブプロセッサ６２、すなわち、音声デコード処理用サブプロセッサが、音声デコード処理を実行中であるか否かを判定する。音声デコード処理用サブプロセッサが音声デコード処理を実行中でないと判定された場合、処理はステップＳ２９１に進む。
【０４２８】
ステップＳ２９１において、上述した図１６のステップＳ１５２と同様の処理により、mpeg2_audio_decodeコマンドにより実行が指令される機能プログラムが、音声デコード処理用サブプロセッサのローカルストレージ７２にロードされる。
【０４２９】
ステップＳ２９２において、サブプロセッサ制御部２７１は、音声デコード処理を開始させる。具体的には、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルに含まれる音声データおよび音声デコード処理に必要な各種のパラメータを、音声デコード処理用サブプロセッサに供給する。音声デコード処理用サブプロセッサは、サブプロセッサ制御部２７１の制御の基に、ステップＳ２９１においてロードされた機能プログラムの実行を開始し、音声データのデコードを開始する。
【０４３０】
ステップＳ２９０において、音声デコード処理用サブプロセッサが音声デコード処理を実行中であると判定された場合、ステップＳ２９１およびＳ２９２の処理はスキップされ、処理はステップＳ２９３に進む。
【０４３１】
ステップＳ２８８において、処理されていない音声データがないと判定された場合、ステップＳ２８９乃至Ｓ２９２の処理はスキップされ、処理はステップＳ２９３に進む。
【０４３２】
ステップＳ２９３において、進捗通知部２７２は、適宜マスタ装置に処理の進捗状況を通知する。具体的には、映像デコード処理用サブプロセッサおよび音声デコード処理用サブプロセッサは、例えば、所定の間隔ごとに、実行中の映像デコード処理または音声デコード処理の進捗率を示すデータを、サブプロセッサ制御部２７１に供給する。サブプロセッサ制御部２７１は、取得した進捗率を示すデータを進捗通知部２７２に供給する。
【０４３３】
進捗通知部２７２は、DMAコマンド領域に処理の進捗状況を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域に、映像デコード処理および音声デコード処理のそれぞれについて、全体の処理を１００とし、終了した処理の割合を０から１００までの値で表したデータが格納された進捗状況通知ソフトウェアセルを生成する。進捗通知部２７２は、生成した進捗状況通知ソフトウェアセルを、ネットワーク入出力ドライバ２３１を介してネットワーク１３に送信する。
【０４３４】
ステップＳ２９４において、映像デコード処理用サブプロセッサは、映像データのデコードが終了したか否かを判定する。映像データのデコードが終了したと判定された場合、処理はステップＳ２９５に進む。
【０４３５】
ステップＳ２９５において、サブプロセッサ制御部２７１は、デコードした映像データを送信する。具体的には、映像デコード処理用サブプロセッサは、デコードが終了した映像データをサブプロセッサ制御部２７１に供給する。サブプロセッサ制御部２７１は、DMAコマンド領域に機能実行コマンドの実行の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域にデコードした映像データなどを格納した終了通知ソフトウェアセルを生成する。サブプロセッサ制御部２７１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ２３１を介してネットワーク１３に送信する。
【０４３６】
ステップＳ２９４において、映像データのデコードが終了していないと判定された場合、ステップＳ２９５の処理はスキップされ、処理はステップＳ２９６に進む。
【０４３７】
ステップＳ２９６において、音声デコード処理用サブプロセッサは、音声データのデコードが終了したか否かを判定する。音声データのデコードが終了したと判定された場合、処理はステップＳ２９７に進む。
【０４３８】
ステップＳ２９７において、サブプロセッサ制御部２７１は、デコードした音声データを送信する。具体的には、音声デコード処理用サブプロセッサは、デコードが終了した音声データをサブプロセッサ制御部２７１に供給する。サブプロセッサ制御部２７１は、DMAコマンド領域に機能実行コマンドの実行の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域にデコードした音声データなどを格納した終了通知ソフトウェアセルを生成する。サブプロセッサ制御部２７１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ２３１を介してネットワーク１３に送信する。
【０４３９】
ステップＳ２９６において、音声データのデコードが終了していないと判定された場合、ステップＳ２９７の処理はスキップされ、処理はステップＳ２９８に進む。
【０４４０】
ステップＳ２９８において、装置情報管理部２５２は、装置の状態が変化したか否かを判定する。装置情報管理部２５２が、例えば、機能プログラムのロード、映像デコード処理または音声デコード処理の開始または終了などにより、スレーブ装置Ａの状態が変化したと判定した場合、処理はステップＳ２９９に進む。
【０４４１】
ステップＳ２９９において、装置情報管理部２５２は、スレーブ装置Ａの状態の変化に応じて、メインメモリ５２に記憶されている自分自身の装置情報を更新し、自分自身の装置情報を更新したことを情報交換部２５１に通知する。
【０４４２】
ステップＳ３００において、上述した図１０のステップＳ２４と同様の処理により、マスタ装置に装置情報が通知される。このとき送信される装置情報通知ソフトウェアセルの送信先IDにはマスタ装置の送受信用IDが設定される。その後、処理はステップＳ２８１に戻り、上述したステップＳ２８１以降の処理が実行される。
【０４４３】
ステップＳ２９８において、装置の状態が変化していないと判定された場合、処理はステップＳ２８１に戻り、上述したステップＳ２８１以降の処理が実行される。
【０４４４】
次に、図３０および図３１のフローチャートを参照して、図２４乃至図２７のマスタ装置におけるシーケンス処理実行処理に対応して、スレーブ装置Ｂである情報処理代行専用装置１２−２により実行される機能実行コマンド実行処理を説明する。
【０４４５】
ステップＳ３２１において、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルを受信したか否かを判定する。サブプロセッサ制御部２７１が、上述した図２６のステップＳ２５９において、マスタ装置から送信されたコマンド実行ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ２３１を介して受信したと判定した場合、処理はステップＳ３２２に進む。
【０４４６】
ステップＳ３２２において、サブプロセッサ制御部２７１は、受信したコマンド実行ソフトウェアセルをメインメモリ５２に記憶させる。
【０４４７】
ステップＳ３２１において、コマンド実行ソフトウェアセルを受信していないと判定された場合、ステップＳ３２２の処理はスキップされ、処理はステップＳ３２３に進む。
【０４４８】
ステップＳ３２３において、サブプロセッサ制御部２７１は、処理されていない映像データがあるか否かを判定する。具体的には、サブプロセッサ制御部２７１は、メインメモリ５２に記憶されているコマンド実行ソフトウェアセルのうち、画質改善処理が実行されていないコマンド実行ソフトウェアセルがある場合、処理されていない映像データがあると判定し、処理はステップＳ３２４に進む。
【０４４９】
ステップＳ３２４において、サブプロセッサ制御部２７１は、画質改善処理が実行されていないコマンド実行ソフトウェアセルのうち１つ（例えば、最も古い時間にマスタ装置から受信したコマンド実行ソフトウェアセル）を選択する。
【０４５０】
ステップＳ３２５において、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルにより指定されているサブプロセッサ６２、すなわち、画質改善処理用サブプロセッサが、画実改善処理を実行中であるか否かを判定する。画実改善処理用サブプロセッサが画実改善処理を実行中でないと判定された場合、処理はステップＳ３２６に進む。
【０４５１】
ステップＳ３２６において、上述した図１６のステップＳ１５２と同様の処理により、video_noise_reductionコマンドにより実行が指令される機能プログラムが、画実改善処理用サブプロセッサのローカルストレージ７２にロードされる。
【０４５２】
ステップＳ３２７において、サブプロセッサ制御部２７１は、画質改善処理を開始させる。具体的には、サブプロセッサ制御部２７１は、コマンド実行ソフトウェアセルに含まれる映像データおよび画質改善処理に必要な各種のパラメータを、画実改善処理用サブプロセッサに供給する。画実改善処理用サブプロセッサは、サブプロセッサ制御部２７１の制御の基に、ステップＳ３２６においてロードされた機能プログラムの実行を開始する。これにより、映像データのノイズ除去などの画質改善処理が開始される。
【０４５３】
ステップＳ３２５において、画実改善処理用サブプロセッサが画実改善処理を実行中であると判定された場合、ステップＳ３２６およびＳ３２７の処理はスキップされ、処理はステップＳ３２８に進む。
【０４５４】
ステップＳ３２３において、処理されていない映像データがないと判定された場合、ステップＳ３２４乃至Ｓ３２７の処理はスキップされ、処理はステップＳ３２８に進む。
【０４５５】
ステップＳ３２８において、進捗通知部２７２は、適宜マスタ装置に処理の進捗状況を通知する。具体的には、画実改善処理用サブプロセッサは、例えば、所定の間隔ごとに、実行中の画実改善処理の進捗率を示すデータを、サブプロセッサ制御部２７１に供給する。サブプロセッサ制御部２７１は、取得した進捗率を示すデータを進捗通知部２７２に供給する。
【０４５６】
進捗通知部２７２は、DMAコマンド領域に処理の進捗状況を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域に、画質改善処理について、全体の処理を１００とし、終了した処理の割合を０から１００までの値で表したデータが格納された進捗状況通知ソフトウェアセルを生成する。進捗通知部２７２は、生成した進捗状況通知ソフトウェアセルを、ネットワーク入出力ドライバ２３１を介してネットワーク１３に送信する。
【０４５７】
ステップＳ３２９において、画実改善処理用サブプロセッサは、映像データの画質改善処理が終了したか否かを判定する。映像データの画質改善処理が終了したと判定された場合、処理はステップＳ３３０に進む。
【０４５８】
ステップＳ３３０において、サブプロセッサ制御部２７１は、画質改善処理を施した映像データを送信する。具体的には、画実改善処理用サブプロセッサは、画質改善処理が終了した映像データをサブプロセッサ制御部２７１に供給する。サブプロセッサ制御部２７１は、DMAコマンド領域に機能実行コマンドの実行の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域に画質改善処理を施した映像データなどを格納した終了通知ソフトウェアセルを生成する。サブプロセッサ制御部２７１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ２３１を介してネットワーク１３に送信する。
【０４５９】
ステップＳ３２９において、映像データの画質改善処理が終了していないと判定された場合、ステップＳ３３０の処理はスキップされ、処理はステップＳ３３１に進む。
【０４６０】
ステップＳ３３１において、装置情報管理部２５２は、装置の状態が変化したか否かを判定する。装置情報管理部２５２が、例えば、機能プログラムのロード、画実改善処理の開始または終了などにより、スレーブ装置Ｂの状態が変化したと判定した場合、処理はステップＳ３３２に進む。
【０４６１】
ステップＳ３３２において、装置情報管理部２５２は、スレーブ装置Ｂの状態の変化に応じて、メインメモリ５２に記憶されている自分自身の装置情報を更新し、自分自身の装置情報を更新したことを情報交換部２５１に通知する。
【０４６２】
ステップＳ３３３において、上述した図１０のステップＳ２４と同様の処理により、マスタ装置に装置情報が通知される。このとき送信される装置情報通知ソフトウェアセルの送信先IDにはマスタ装置の送受信用IDが設定される。その後、処理はステップＳ３２１に戻り、上述したステップＳ３２１以降の処理が実行される。
【０４６３】
ステップＳ３３１において、装置の状態が変化していないと判定された場合、処理はステップＳ３２１に戻り、上述したステップＳ３２１以降の処理が実行される。
【０４６４】
次に、図３２のフローチャートを参照して、図２４乃至図２７のマスタ装置におけるシーケンス処理実行処理に対応して、スレーブ装置Ｃである情報処理装置１１−３により実行される機能プログラムロード処理を説明する。
【０４６５】
ステップＳ４０１において、サブプロセッサ制御部１７１は、上述した図２４のステップＳ２３９において、マスタ装置から送信されたプログラムロードソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信する。
【０４６６】
ステップＳ４０２において、上述した図１７のステップＳ１７２と同様の処理により、機能プログラムがロードされる。すなわち、映像デコード処理依頼先サブプロセッサに映像デコード処理用プログラムがロードされるか、または、音声デコード処理依頼先サブプロセッサに音声デコード処理用プログラムがロードされる。
【０４６７】
ステップＳ４０３において、装置情報管理部１５３は、機能プログラムをロードすることによるスレーブ装置Cの状態の変化に応じて、メインメモリ２２に記憶されている装置情報テーブルの自分自身の装置情報を更新し、自分自身の装置情報を更新したことを情報交換部１５１に通知する。
【０４６８】
ステップＳ４０４において、上述した図１１のステップＳ４３と同様の処理により、マスタ装置に装置情報が通知され、機能プログラムロード処理は終了する。このとき送信される装置情報通知ソフトウェアセルの送信先IDにはマスタ装置の送受信用IDが設定される。
【０４６９】
なお、スレーブ装置Ｄにおける機能プログラムロード処理は、図３２を参照して上述したスレーブ装置Ｃにおける機能プログラムロード処理と同様であり、その説明は省略する。
【０４７０】
次に、図３３および図３４のフローチャートを参照して、図２４乃至図２７のマスタ装置におけるシーケンス処理実行処理に対応して、スレーブ装置Ｃである情報処理装置１１−３により実行される機能プログラム実行処理を説明する。
【０４７１】
ステップＳ４２１において、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルを受信したか否かを判定する。サブプロセッサ制御部１７１が、上述した図２５のステップＳ２４７またはステップＳ２５２において、マスタ装置から送信されたプログラム実行ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信したと判定した場合、処理はステップＳ４２２に進む。
【０４７２】
ステップＳ４２２において、サブプロセッサ制御部１７１は、受信したプログラム実行ソフトウェアセルをメインメモリ２２に記憶させる。
【０４７３】
ステップＳ４２１において、プログラム実行ソフトウェアセルを受信していないと判定された場合、ステップＳ４２２の処理はスキップされ、処理はステップＳ４２３に進む。
【０４７４】
ステップＳ４２３において、サブプロセッサ制御部１７１は、処理されていない映像データがあるか否かを判定する。具体的には、サブプロセッサ制御部１７１は、メインメモリ２２に記憶されているプログラム実行ソフトウェアセルのうち、映像デコード処理が実行されていないプログラム実行ソフトウェアセルがある場合、処理されていない映像データがあると判定し、処理はステップＳ４２４に進む。
【０４７５】
ステップＳ４２４において、サブプロセッサ制御部１７１は、映像デコード処理が実行されていないプログラム実行ソフトウェアセルのうち１つ（例えば、最も古い時間にマスタ装置から受信したプログラム実行ソフトウェアセル）を選択する。
【０４７６】
ステップＳ４２５において、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルにより指定されているサブプロセッサ３２、すなわち、映像デコード処理依頼先サブプロセッサが映像デコード処理を実行中であるか否かを判定する。映像デコード処理依頼先サブプロセッサが映像デコード処理を実行中でないと判定された場合、処理はステップＳ４２６に進む。
【０４７７】
ステップＳ４２６において、サブプロセッサ制御部１７１は、映像デコード処理を開始させる。具体的には、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルに含まれる映像データ、および、映像デコード処理に必要な各種のパラメータを、映像デコード処理依頼先サブプロセッサに供給する。映像デコード処理依頼先サブプロセッサは、サブプロセッサ制御部２７１の制御の基に、上述した図３２のステップＳ４０２においてロードされている映像デコード処理用プログラムの実行を開始し、映像データのデコードが開始する。
【０４７８】
ステップＳ４２５において、映像デコード処理依頼先サブプロセッサが映像デコード処理を実行中であると判定された場合、ステップＳ４２６の処理はスキップされ、処理はステップＳ４２７に進む。
【０４７９】
ステップＳ４２３において、処理されていない映像データがないと判定された場合、ステップＳ４２４乃至Ｓ４２６の処理はスキップされ、処理はステップＳ４２７に進む。
【０４８０】
ステップＳ４２７において、サブプロセッサ制御部１７１は、処理されていない音声データがあるか否かを判定する。具体的には、サブプロセッサ制御部１７１は、メインメモリ２２に記憶されているプログラム実行ソフトウェアセルのうち、音声デコード処理が実行されていないプログラム実行ソフトウェアセルがある場合、処理されていない音声データがあると判定し、処理はステップＳ４２８に進む。
【０４８１】
ステップＳ４２８において、サブプロセッサ制御部１７１は、音声デコード処理が実行されていないプログラム実行ソフトウェアセルのうち１つ（例えば、最も古い時間にマスタ装置から受信したプログラム実行ソフトウェアセル）を選択する。
【０４８２】
ステップＳ４２９において、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルにより指定されているサブプロセッサ３２、すなわち、音声デコード処理依頼先サブプロセッサが音声デコード処理を実行中であるか否かを判定する。音声デコード処理依頼先サブプロセッサが音声デコード処理を実行中でないと判定された場合、処理はステップＳ４３０に進む。
【０４８３】
ステップＳ４３０において、サブプロセッサ制御部１７１は、音声デコード処理を開始させる。具体的には、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルに含まれる音声データ、および、音声デコード処理に必要な各種のパラメータを、音声デコード処理依頼先サブプロセッサに供給する。音声デコード処理依頼先サブプロセッサは、サブプロセッサ制御部２７１の制御の基に、上述した図３２のステップＳ４０２においてロードされている音声デコード処理用プログラムの実行を開始し、音声データのデコードを開始する。
【０４８４】
ステップＳ４２９において、音声デコード処理依頼先サブプロセッサが音声デコード処理を実行中であると判定された場合、ステップＳ４３０の処理はスキップされ、処理はステップＳ４３１に進む。
【０４８５】
ステップＳ４２７において、処理されていない音声データがないと判定された場合、ステップＳ４２８乃至Ｓ４３０の処理はスキップされ、処理はステップＳ４３１に進む。
【０４８６】
ステップＳ４３１において、進捗通知部１７２は、適宜マスタ装置に処理の進捗状況を通知する。具体的には、映像デコード処理依頼先サブプロセッサおよび音声デコード処理依頼先サブプロセッサは、例えば、所定の間隔ごとに、現在処理中の映像デコード処理または音声デコード処理の進捗率を示すデータを、サブプロセッサ制御部１７１に供給する。サブプロセッサ制御部１７１は、取得した進捗率を示すデータを進捗通知部１７２に供給する。
【０４８７】
進捗通知部１７２は、DMAコマンド領域に処理の進捗状況を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域に、映像デコード処理および音声デコード処理のそれぞれについて、全体の処理を１００とし、終了した処理の割合を０から１００までの値で表したデータが格納された進捗状況通知ソフトウェアセルを生成する。進捗通知部１７２は、生成した進捗状況通知ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介してネットワーク１３に送信する。
【０４８８】
ステップＳ４３２において、映像デコード処理依頼先サブプロセッサは、映像データのデコードが終了したか否かを判定する。映像データのデコードが終了したと判定された場合、処理はステップＳ４３３に進む。
【０４８９】
ステップＳ４３３において、サブプロセッサ制御部１７１は、デコードした映像データを送信する。具体的には、映像デコード処理依頼先サブプロセッサは、デコードが終了した映像データをサブプロセッサ制御部１７１に供給する。サブプロセッサ制御部１７１は、DMAコマンド領域に機能プログラムの実行の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域にデコードした映像データなどを格納した終了通知ソフトウェアセルを生成する。サブプロセッサ制御部１７１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介してネットワーク１３に送信する。
【０４９０】
ステップＳ４３２において、映像データのデコードが終了していないと判定された場合、ステップＳ４３３の処理はスキップされ、処理はステップＳ４３４に進む。
【０４９１】
ステップＳ４３４において、音声デコード処理依頼先サブプロセッサは、音声データのデコードが終了したか否かを判定する。音声データのデコードが終了したと判定された場合、処理はステップＳ４３５に進む。
【０４９２】
ステップＳ４３５において、サブプロセッサ制御部１７１は、デコードした音声データを送信する。具体的には、音声デコード処理依頼先サブプロセッサは、デコードが終了した音声データをサブプロセッサ制御部１７１に供給する。サブプロセッサ制御部１７１は、DMAコマンド領域に機能プログラムの実行の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域にデコードした音声データなどを格納した終了通知ソフトウェアセルを生成する。サブプロセッサ制御部１７１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介してネットワーク１３に送信する。
【０４９３】
ステップＳ４３４において、音声データのデコードが終了していないと判定された場合、ステップＳ４３５の処理はスキップされ、処理はステップＳ４３６に進む。
【０４９４】
ステップＳ４３６において、装置情報管理部１５３は、装置の状態が変化したか否かを判定する。具体的には、装置情報管理部１５３は、例えば、映像デコード処理または音声デコード処理の開始または終了などにより、スレーブ装置Ｃの状態が変化したと判定した場合、処理はステップＳ４３７に進む。
【０４９５】
ステップＳ４３７において、装置情報管理部１５３は、スレーブ装置Ｃの状態の変化に応じて、メインメモリ２２に記憶されている装置情報テーブルの自分自身の装置情報を更新し、自分自身の装置情報を更新したことを情報交換部１５１に通知する。
【０４９６】
ステップＳ４３８において、上述した図１１のステップＳ４３と同様の処理により、マスタ装置に装置情報が通知される。このとき送信される装置情報通知ソフトウェアセルの送信先IDにはマスタ装置の送受信用IDが設定される。その後、処理はステップＳ４２１に戻り、上述したステップＳ４２１以降の処理が実行される。
【０４９７】
ステップＳ４３８において、装置の状態が変化していないと判定された場合、処理はステップＳ４２１に戻り、上述したステップＳ４２１以降の処理が実行される。
【０４９８】
次に、図３５および図３６のフローチャートを参照して、図２４乃至図２７のマスタ装置におけるシーケンス処理実行処理に対応して実行される、スレーブ装置Ｄである情報処理装置１１における機能プログラム実行処理を説明する。
【０４９９】
ステップＳ４６１において、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルを受信したか否かを判定する。サブプロセッサ制御部１７１が、上述した図２６のステップＳ２６１において、マスタ装置から送信されたプログラム実行ソフトウェアセルを、ネットワーク１３およびネットワーク入出力ドライバ１３１を介して受信したと判定した場合、処理はステップＳ４６２に進む。
【０５００】
ステップＳ４６２において、サブプロセッサ制御部１７１は、受信したプログラム実行ソフトウェアセルをメインメモリ２２−４に記憶させる。
【０５０１】
ステップＳ４６１において、プログラム実行ソフトウェアセルを受信していないと判定された場合、ステップＳ４６２の処理はスキップされ、処理はステップＳ４６３に進む。
【０５０２】
ステップＳ４６３において、サブプロセッサ制御部１７１は、処理されていない映像データがあるか否かを判定する。具体的には、サブプロセッサ制御部１７１は、メインメモリ２２に記憶されているプログラム実行ソフトウェアセルのうち、画質改善処理が実行されていないプログラム実行ソフトウェアセルがある場合、処理されていない映像データがあると判定し、処理はステップＳ４６４に進む。
【０５０３】
ステップＳ４６４において、サブプロセッサ制御部１７１は、画質改善処理が実行されていないプログラム実行ソフトウェアセルのうち１つ（例えば、最も古い時間にマスタ装置から受信したプログラム実行ソフトウェアセル）を選択する。
【０５０４】
ステップＳ４６５において、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルにより指定されているサブプロセッサ３２、すなわち、画質改善処理依頼先サブプロセッサが画質改善処理を実行中であるか否かを判定する。画質改善処理依頼先サブプロセッサが画質改善処理を実行中でないと判定された場合、処理はステップＳ４６６に進む。
【０５０５】
ステップＳ４６６において、サブプロセッサ制御部１７１は、画質改善処理を開始させる。具体的には、サブプロセッサ制御部１７１は、プログラム実行ソフトウェアセルに含まれる映像データ、および、画質改善処理に必要な各種のパラメータを、画質改善処理依頼先サブプロセッサに供給する。画質改善処理依頼先サブプロセッサは、サブプロセッサ制御部２７１の制御の基に、上述した図３２のステップＳ４０２においてロードされている画質改善処理用プログラムの実行を開始する。これにより、映像データの画質改善処理が開始される。
【０５０６】
ステップＳ４６５において、画質改善処理依頼先サブプロセッサが画質改善処理を実行中であると判定された場合、ステップＳ４６６の処理はスキップされ、処理はステップＳ４６７に進む。
【０５０７】
ステップＳ４６３において、処理されていない映像データがないと判定された場合、ステップＳ４６４乃至Ｓ４６６の処理はスキップされ、処理はステップＳ４６７に進む。
【０５０８】
ステップＳ４６７において、進捗通知部１７２は、適宜マスタ装置に処理の進捗状況を通知する。具体的には、画質改善処理依頼先サブプロセッサは、例えば、所定の間隔ごとに、現在処理中の画質改善処理の進捗率を示すデータを、サブプロセッサ制御部１７１に供給する。サブプロセッサ制御部１７１は、取得した進捗率を示すデータを進捗通知部１７２に供給する。
【０５０９】
進捗通知部１７２は、DMAコマンド領域に進捗状況を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域に、画質改善処理について、全体の処理を１００とし、終了した処理の割合を０から１００までの値で表したデータが格納された進捗状況通知ソフトウェアセルを生成する。進捗通知部１７２は、生成した進捗状況通知ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介してネットワーク１３に送信する。
【０５１０】
ステップＳ４６８において、画質改善処理依頼先サブプロセッサは、画質改善処理が終了したか否かを判定する。画質改善処理が終了したと判定された場合、処理はステップＳ４６９に進む。
【０５１１】
ステップＳ４６９において、サブプロセッサ制御部１７１は、画質改善処理を施した映像データを送信する。具体的には、画質改善処理依頼先サブプロセッサは、画質改善処理が終了した映像データをサブプロセッサ制御部１７１に供給する。サブプロセッサ制御部１７１は、DMAコマンド領域に機能プログラムの実行の終了を通知することを示すステータス返信コマンド、送信元IDと応答先IDに自分自身の送受信用ID、および、送信先IDにマスタ装置の送受信用IDが設定され、データ領域に画質改善処理を施した映像データなどを格納した終了通知ソフトウェアセルを生成する。サブプロセッサ制御部１７１は、生成した終了通知ソフトウェアセルを、ネットワーク入出力ドライバ１３１を介してネットワーク１３に送信する。
【０５１２】
ステップＳ４６８において、画質改善処理が終了していないと判定された場合、ステップＳ４６９の処理はスキップされ、処理はステップＳ４７０に進む。
【０５１３】
ステップＳ４７０において、装置情報管理部１５３は、装置の状態が変化したか否かを判定する。具体的には、装置情報管理部１５３は、例えば、画質改善処理の開始または終了などにより、スレーブ装置Ｄの状態が変化したと判定した場合、処理はステップＳ４７１に進む。
【０５１４】
ステップＳ４７１において、装置情報管理部１５３は、スレーブ装置Ｄの状態の変化に応じて、メインメモリ２２に記憶されている装置情報テーブルの自分自身の装置情報を更新し、自分自身の装置情報を更新したことを情報交換部１５１に通知する。
【０５１５】
ステップＳ４７２において、上述した図１１のステップＳ４３と同様の処理により、マスタ装置に装置情報が通知される。このとき送信される装置情報通知ソフトウェアセルの送信先IDにはマスタ装置の送受信用IDが設定される。その後、処理はステップＳ４２１に戻り、上述したステップＳ４６１以降の処理が実行される。
【０５１６】
ステップＳ４７０において、装置の状態が変化していないと判定された場合、処理はステップＳ４６１に戻り、上述したステップＳ４６１以降の処理が実行される。
【０５１７】
なお、以上の説明では、マスタ装置からスレーブ装置Ａ乃至Ｄに全ての処理の実行を依頼する例を示したが、例えば、スレーブ装置Ｃにおいて、映像デコード処理が終了した後、スレーブ装置Ｃから直接スレーブ装置ＢまたはＤにデコードした映像データを送信し、画質改善処理の実行を依頼するようにしてもよい。
【０５１８】
以上のように、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理装置と、第３の情報処理装置とがネットワークを介して相互に接続されており、第１の情報処理装置または第２の情報処理装置と、第３の情報処理装置とにより分散処理を行なう情報処理システムにおいて、第１の情報処理装置により、第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理装置の処理能力を示す情報を含む第１の装置情報を、第３の情報処理装置に通知し、第３の情報処理装置から送信される第１の処理の実行を依頼する第１の処理依頼情報に基づいて、第１のプロセッサに第１の処理が実行させられ、第２の情報処理装置により、第２の情報処理装置が汎用的な処理を行なうことを示す情報および第２の情報処理装置の処理能力を示す情報を含む第２の装置情報を、第３の情報処理装置に通知し、第３の情報処理装置から送信される第１の処理とは異なる第２の処理の実行を依頼する第２の処理依頼情報に基づいて、第２のプロセッサに第２の処理が実行させられ、第３の情報処理装置により、通知された第１の装置情報または第２の装置情報を含む装置管理情報を生成し、装置管理情報に基づいて、第１の処理の実行を第１の情報処理装置に依頼し、第２の処理の実行を第２の情報処理装置に依頼するように処理の依頼先を決定し、第１の情報処理装置に、第１の処理依頼情報を送信することにより第１の処理を依頼し、第２の情報処理装置に、第２の処理依頼情報を送信することにより第２の処理の実行を依頼する場合には、ネットワークに接続された複数の情報処理装置により分散処理を行なうことができる。また、分散処理において、個々の情報処理装置の能力により適した処理を実行させることができ、処理能力を向上させることができる。
【０５１９】
また、以上のように、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する１台以上の第１の情報処理端末装置、または、汎用的な処理を行なう１つ以上の第２のプロセッサを有する１台以上の第２の情報処理端末装置とネットワークを介して接続されている情報処理装置において、第１の情報処理端末装置から送信される第１のプロセッサが行なう第１の処理を示す情報および第１の情報処理端末装置の処理能力を示す情報を含む第１の装置情報、並びに、第２の情報処理端末装置から送信される第２の情報処理端末装置が汎用的な処理を行なうことを示す情報および第２の情報処理端末装置の処理能力を示す情報を含む第２の装置情報を含む装置管理情報を生成し、装置管理情報に基づいて、第１の処理の実行を第１の情報処理端末装置に依頼し、第１の処理とは異なる第２の処理の実行を第２の情報処理端末装置に依頼するように処理の依頼先を決定し、第１の情報処理端末装置に、第１の処理の実行を依頼する第１の処理依頼情報を送信することにより第１の処理を依頼し、第２の情報処理端末装置に、第２の処理の実行を依頼する第２の処理依頼情報を送信することにより第２の処理の実行を依頼する場合には、ネットワークに接続された複数の情報処理装置により分散処理を行なうことができる。また、分散処理において、個々の情報処理装置の能力により適した処理を実行させることができ、処理能力を向上させることができる。
【０５２０】
さらに、以上のように、予め定められた第１の処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、汎用的な処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理とは異なる第２の処理の実行を依頼する第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置において、第１のプロセッサが行なう第１の処理を示す情報および第２の情報処理装置の処理能力を示す情報を含む装置情報を、第２の情報処理端末装置に通知し、第２の情報処理端末装置から送信される第１の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第１の処理を実行させる場合には、ネットワークに接続された複数の情報処理装置により分散処理を行なうことができる。また、分散処理において、個々の情報処理装置の能力により適した処理を実行させることができ、処理能力を向上させることができる。
【０５２１】
また、以上のように、汎用的な処理を行なう１つ以上の第１のプロセッサを有する情報処理装置であって、第２の情報処理端末装置とネットワークを介して相互に接続されている情報処理装置において、情報処理装置が汎用的な処理を行なうことを示す情報および情報処理装置の処理能力を示す情報を含む装置情報を、予め定められた第１の処理を行なう１つ以上の第２のプロセッサを有する第１の情報処理端末装置に第１の処理の実行を依頼する第２の情報処理端末装置に通知し、第２の情報処理端末装置から送信される第１の処理とは異なる第２の処理の実行を依頼する処理依頼情報に基づいて、第１のプロセッサに第２の処理が実行させる場合には、ネットワークに接続された複数の情報処理装置により分散処理を行なうことができる。また、分散処理において、個々の情報処理装置の能力により適した処理を実行させることができ、処理能力を向上させることができる。
【０５２２】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【０５２３】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０５２４】
また、本明細書において、システムの用語は、複数の装置、手段などにより構成される全体的な装置を意味するものである。
【図面の簡単な説明】
【０５２５】
【図１】本発明を適用した情報処理システムの一実施の形態を示すブロック図である。
【図２】ソフトウェアセルの構成の一例を示す図である。
【図３】図１の情報処理装置のメインCPUが実行するプログラムの例を示す図である。
【図４】図１の情報処理装置のメインCPUが制御プログラムに属するプログラムを実行することにより実現される機能の一例を示すブロック図である。
【図５】図１の情報処理代行専用装置の制御用CPUが実行するプログラムの例を示す図である。
【図６】図１の情報処理代行専用装置の制御用CPUが制御プログラムに属するプログラムを実行することにより実現される機能の一例を示すブロック図である。
【図７】図１の情報処理装置におけるネットワーク接続処理の例を説明するフローチャートである。
【図８】ソフトウェアセルにより送受信される装置情報の例を示す図である。
【図９】図８の装置情報のコマンドリストの構成例を示す図である。
【図１０】図１の情報処理代行専用装置におけるネットワーク接続処理の例を説明するフローチャートである。
【図１１】図１の情報処理装置におけるネットワーク接続検出処理の例を説明するフローチャートである。
【図１２】図１の情報処理代行専用装置におけるネットワーク接続検出処理の例を説明するフローチャートである。
【図１３】処理依頼元におけるシーケンス処理依頼処理の例を説明するフローチャートである。
【図１４】マスタ装置におけるシーケンス処理実行処理の例を説明するフローチャートである。
【図１５】マスタ装置におけるシーケンス処理実行処理の例を説明するフローチャートである。
【図１６】図１の情報処理代行専用装置における機能実行コマンド実行処理の例を説明するフローチャートである。
【図１７】図１の情報処理装置における機能プログラム実行処理の例を説明するフローチャートである。
【図１８】図１の情報処理システムの具体例を示すブロック図である。
【図１９】図１８の情報処理システムにより実行されるAVデータ再生機能の処理の流れを説明する図である。
【図２０】図１８の情報処理システムにより実行されるAVデータ再生機能を構成する各処理の配分を示す図である。
【図２１】装置情報テーブルの例の一部を示す図である。
【図２２】図１８のAVデータ再生装置におけるAVデータ再生処理の例を説明するフローチャートである。
【図２３】処理の進捗状況の表示例を示す図である。
【図２４】図１８のマスタ装置におけるシーケンス処理実行処理の例を説明するフローチャートである。
【図２５】図１８のマスタ装置におけるシーケンス処理実行処理の例を説明するフローチャートである。
【図２６】図１８のマスタ装置におけるシーケンス処理実行処理の例を説明するフローチャートである。
【図２７】図１８のマスタ装置におけるシーケンス処理実行処理の例を説明するフローチャートである。
【図２８】図１８のスレーブ装置Aにおける機能実行コマンド実行処理の例を説明するフローチャートである。
【図２９】図１８のスレーブ装置Aにおける機能実行コマンド実行処理の例を説明するフローチャートである。
【図３０】図１８のスレーブ装置Bにおける機能実行コマンド実行処理の例を説明するフローチャートである。
【図３１】図１８のスレーブ装置Bにおける機能実行コマンド実行処理の例を説明するフローチャートである。
【図３２】図１８のスレーブ装置CまたはDにおける機能プログラムロード処理の例を説明するフローチャートである。
【図３３】図１８のスレーブ装置Cにおける機能プログラム実行処理の例を説明するフローチャートである。
【図３４】図１８のスレーブ装置Cにおける機能プログラム実行処理の例を説明するフローチャートである。
【図３５】図１８のスレーブ装置Dにおける機能プログラム実行処理の例を説明するフローチャートである。
【図３６】図１８のスレーブ装置Dにおける機能プログラム実行処理の例を説明するフローチャートである。
【符号の説明】
【０５２６】
１  情報処理システム，  １１  情報処理装置，  １２  情報処理代行専用装置，  １３  ネットワーク，  ２１  情報処理コントローラ，  ２２  メインメモリ，  ２３  外部記録部，  ３１  メインCPU，  ３２  サブプロセッサ，  ４１  ローカルストレージ，  ４２  ローカルストレージ，  ５１  情報処理コントローラ，  ５２  メインメモリ，  ５３  コマンドセットROM，  ６１  制御用CPU，  ６２  サブプロセッサ，  ７１  ローカルストレージ，  ７２  ローカルストレージ，  １１１  MSマネージャ，  １１２  能力交換プログラム，  １１３  サブプロセッサマネージャ，  １１４  分散処理マネージャ，  １３１  ネットワーク入出力ドライバ，  １５１  情報交換部，  １５２  MS管理部，  １５３  装置情報管理部，  １６１  装置情報テーブル管理部，  １７１  サブプロセッサ制御部，  １７２  進捗通知部，  １８１  シーケンス処理管理部，  １８２  機能プログラム決定部，  １８３  分散処理装置決定部，  １８４  分散処理管理部，  １８５  シーケンス処理依頼部，  １８６  進捗通知部，  ２１１  スレーブマネージャ，  ２１２  サブプロセッサマネージャ，  ２３１  ネットワーク入出力ドライバ，  ２５１  情報交換部，  ２５２  装置情報管理部，  ２７１  サブプロセッサ制御部，  ２７２  進捗通知部
【図１】
2006155187.tif 000003
【図２】
2006155187.tif 000004
【図３】
2006155187.tif 000005
【図４】
2006155187.tif 000006
【図５】
2006155187.tif 000007
【図６】
2006155187.tif 000008
【図７】
2006155187.tif 000009
【図８】
2006155187.tif 000010
【図９】
2006155187.tif 000011
【図１０】
2006155187.tif 000012
【図１１】
2006155187.tif 000013
【図１２】
2006155187.tif 000014
【図１３】
2006155187.tif 000015
【図１４】
2006155187.tif 000016
【図１５】
2006155187.tif 000017
【図１６】
2006155187.tif 000018
【図１７】
2006155187.tif 000019
【図１８】
2006155187.tif 000020
【図１９】
2006155187.tif 000021
【図２０】
2006155187.tif 000022
【図２１】
2006155187.tif 000023
【図２２】
2006155187.tif 000024
【図２３】
2006155187.tif 000025
【図２４】
2006155187.tif 000026
【図２５】
2006155187.tif 000027
【図２６】
2006155187.tif 000028
【図２７】
2006155187.tif 000029
【図２８】
2006155187.tif 000030
【図２９】
2006155187.tif 000031
【図３０】
2006155187.tif 000032
【図３１】
2006155187.tif 000033
【図３２】
2006155187.tif 000034
【図３３】
2006155187.tif 000035
【図３４】
2006155187.tif 000036
【図３５】
2006155187.tif 000037
【図３６】
2006155187.tif 000038