(57)【要約】【課題】物体の動きに多くの操作内容を割り当てることができるとともに、複数の情報処理装置の操作内容を割り当てることのできる遠隔操作システム等を提供する。【解決手段】複数の情報処理装置がネットワークを通じて相互に接続され、複数の情報処理装置の１つがマスター装置として動作し、他の情報処理装置がスレイブ装置として動作するネットワークシステムにおいて、各情報処理装置は、物体の空間移動の変位量を測定する手段をそれぞれ具備する。マスター装置は、複数の情報処理装置にて測定された変位量を取得し、取得した変位量をマスター装置である情報処理装置の操作内容に対応付けてテーブルを作成する。以後、各情報処理装置より取得した変位量を基にテーブルを参照してマスター装置の操作内容を判定し、その操作内容に対応する制御を実行する。【選択図】図２６
2006025164.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続可能な情報処理装置であって、
物体の空間移動の変位量を測定する変位量測定手段と、
前記変位量測定手段により測定された変位量、および前記ネットワークを通じて接続され前記物体の空間移動の変位量を測定する変位量測定手段を有する他の情報処理装置にて測定された変位量をそれぞれ取得して、これら取得した変位量と操作対象である情報処理装置の操作内容を対応付けてテーブルを作成し、このテーブルを保持するテーブル作成手段と、
自他の前記各情報処理装置より取得した変位量を基に前記テーブルを参照して前記操作対象の情報処理装置の操作内容を判定する操作内容判定手段と
を具備することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記操作対象である情報処理装置が自身の情報処理装置であることを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記操作内容判定手段により判定された操作内容に応じた制御内容を実行する制御内容実行手段をさらに具備することを特徴とする情報処理装置。
【請求項４】
請求項１に記載の情報処理装置であって、
前記操作対象である情報処理装置が前記ネットワークに接続された自身の情報処理装置を含む複数の情報処理装置であり、
前記操作内容判定手段は、前記各情報処理装置より取得した変位量を基に前記テーブルを参照して前記操作対象の情報処理装置およびその操作内容を判定することを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記操作内容判定手段により判定された前記操作対象の情報処理装置が他の情報処理装置である場合に、その情報処理装置に前記操作内容に応じた制御内容を前記ネットワークを通じて通知する手段をさらに具備することを特徴とする情報処理装置。
【請求項６】
複数の情報処理装置がネットワークを通じて相互に接続可能とされ、前記複数の情報処理装置の１つがマスター装置として動作し、他の情報処理装置がスレーブ装置として動作するネットワークシステムであって、
前記各情報処理装置は、
物体の空間移動の変位量を測定する変位量測定手段をそれぞれ具備し、
前記マスター装置として動作する情報処理装置は、
前記各情報処理装置の前記変位量測定手段により測定された変位量を取得する変位量取得手段と、
前記各情報処理装置より取得した変位量を操作対象である情報処理装置の操作内容に対応付けてテーブルを作成し、このテーブルを保持するテーブル作成手段と、
前記各情報処理装置より取得した変位量を基に前記テーブルを参照して前記操作対象の情報処理装置の操作内容を判定する操作内容判定手段とを具備することを特徴とするネットワークシステム。
【請求項７】
請求項６に記載のネットワークシステムであって、
前記操作対象である情報処理装置が前記マスター装置であることを特徴とするネットワークシステム。
【請求項８】
請求項７に記載のネットワークシステムであって、
前記マスター装置として動作する情報処理装置は、前記操作内容判定手段により判定された操作内容に応じた制御内容を実行する制御内容実行手段をさらに具備することを特徴とするネットワークシステム。
【請求項９】
請求項６に記載のネットワークシステムであって、
前記操作対象である情報処理装置が前記ネットワークに接続された複数の情報処理装置であり、
前記操作内容判定手段は、前記各情報処理装置より取得した変位量を基に前記テーブルを参照して前記操作対象の情報処理装置およびその操作内容を判定することを特徴とするネットワークシステム。
【請求項１０】
請求項９に記載のネットワークシステムであって、
前記マスター装置として動作する情報処理装置は、前記操作内容判定手段により判定された前記操作対象の情報処理装置が前記スレーブ装置である場合に、そのスレーブ装置である情報処理装置に前記操作内容に応じた制御内容を前記ネットワークを通じて通知する手段をさらに具備し、
前記スレーブ装置として動作する情報処理装置は、前記マスター装置より通知された制御内容を実行する制御内容実行手段をさらに具備することを特徴とするネットワークシステム。
【請求項１１】
請求項６に記載のネットワークシステムであって、
前記複数の情報処理装置の前記マスター装置および前記スレーブ装置の関係を切り替える手段をさらに有することを特徴とするネットワークシステム。
【請求項１２】
複数の情報処理装置がネットワークを通じて相互に接続可能とされ、前記複数の情報処理装置の１つがマスター装置として動作し、他の情報処理装置がスレーブ装置として動作するネットワークシステムにおいて、操作対象の情報処理装置を遠隔操作する方法であって、
前記各情報処理装置に、物体の空間移動の変位量を測定する変位量測定手段をそれぞれ設けておき、
前記マスター装置として動作する情報処理装置は、前記各情報処理装置の前記変位量測定手段により測定された変位量を取得し、これら取得した変位量を前記操作対象である情報処理装置の操作内容に対応付けてテーブルを作成してこれを保持し、前記各情報処理装置より変位量を取得したとき、これら取得した変位量を基に前記テーブルを参照して前記操作対象の情報処理装置の操作内容を判定することを特徴とする遠隔操作方法。
【請求項１３】
請求項１２に記載の遠隔操作方法であって、
前記操作対象である情報処理装置が前記マスター装置であることを特徴とする遠隔操作方法。
【請求項１４】
請求項１３に記載の遠隔操作方法であって、
前記マスター装置として動作する情報処理装置は、前記判定した操作内容に応じた制御内容を実行することを特徴とする遠隔操作方法。
【請求項１５】
請求項１２に記載の遠隔操作方法であって、
前記操作対象である情報処理装置が前記ネットワークに接続された複数の情報処理装置であり、
前記マスター装置として動作する情報処理装置は、前記各情報処理装置より取得した変位量を基に前記テーブルを参照して前記操作対象の情報処理装置およびその操作内容を判定することを特徴とする遠隔操作方法。
【請求項１６】
請求項１５に記載の遠隔操作方法であって、
前記マスター装置として動作する情報処理装置は、前記判定された前記操作対象の情報処理装置が前記スレーブ装置である場合に、そのスレーブ装置である情報処理装置に前記操作内容に応じた制御内容を前記ネットワークを通じて通知し、
前記スレーブ装置として動作する情報処理装置は、前記マスター装置より通知された制御内容を実行することを特徴とする遠隔操作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置がネットワークを通じて互いに接続されて構成されたネットワークシステム、このネットワークシステムにおいて情報処理装置を遠隔操作する方法、および情報処理装置に関するものである。
【背景技術】
【０００２】
テレビジョンなどの操作対象機器を、リモートコントローラ（以下「リモコン」と略称する）との間の距離の測定結果を基に遠隔操作する技術は既に知られている。たとえば、リモコンと制御対象機器までの距離を赤外線の受光レベルや信号幅などに基づいて測定し、距離が長ければ操作対象機器の音量を上げ、短ければ音量を下げるといった制御が行われている（たとえば特許文献１を参照）。また、リモコンシステムに搭載される距離測定装置として、投光器と受光器を用いて測定する方法なども公開されている（たとえば特許文献２を参照）。  
【特許文献１】実公平０７−５５４５２号公報（段落００１４）
【特許文献２】特許第２８７５１４５号公報（段落０００６）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、一般には、操作対象機器とリモコンとの関係は一対一であり、家庭内に多くの操作対象機器が置かれている場合には、これらを一つ一つ操作する際にリモコンの選択や持ち替えが煩雑になりやすかった。
【０００４】
また、上記のようにリモコンと制御対象機器との距離を測定して、距離に応じた操作を選択する方法は、距離に対して割り当て可能な操作の種類を増やすことが困難であり、たとえば音量の増減といったごく限られた操作への適用に制限される傾向があった。
【０００５】
本発明は、かかる事情を鑑みて、物体の動きに多くの操作内容を割り当てることができるとともに、複数の情報処理装置の操作内容を割り当てることのできる情報処理装置、ネットワークシステムおよび遠隔操作方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明に係る情報処理装置は、ネットワークに接続可能な情報処理装置であって、物体の空間移動の変位量を測定する変位量測定手段と、変位量測定手段により測定された変位量、およびネットワークを通じて接続され物体の空間移動の変位量を測定する変位量測定手段を有する他の情報処理装置にて測定された変位量をそれぞれ取得して、これら取得した変位量と操作対象である情報処理装置の操作内容を対応付けてテーブルを作成し、このテーブルを保持するテーブル作成手段と、自他の各情報処理装置より取得した変位量を基にテーブルを参照して操作対象の情報処理装置の操作内容を判定する操作内容判定手段とを具備するものである。
【０００７】
この発明の情報処理装置によれば、複数の情報処理装置の変位量測定手段により測定された変位量に対して操作対象である情報処理装置の操作内容を割り当てることで、より多くの操作内容を割り当てることができるとともに、物体の変位量が高い精度で得られることで、操作内容の判定精度も向上させることができる。
【０００８】
また、この発明の情報処理装置において、操作対象である情報処理装置は、マスター装置である情報処理装置とすることができる。あるいは、操作対象である情報処理装置は、ネットワークに接続された複数の情報処理装置とすることも可能である。この場合、操作内容判定手段は、各情報処理装置より取得した変位量を基にテーブルを参照して操作対象の情報処理装置およびその操作内容を判定する。このように、本発明によれば、物体の動きに、複数の情報処理装置の操作内容を割り当てることができる。
【０００９】
さらに、この発明の情報処理装置において、操作内容判定手段により判定された操作対象の情報処理装置がスレーブ装置である場合には、そのスレーブ装置である情報処理装置に操作内容に応じた制御内容をネットワークを通じて通知するようにする。これにより、スレーブ装置である情報処理装置を制御することができる。
【００１０】
本発明の別の観点に基づくネットワークシステムは、複数の情報処理装置がネットワークを通じて相互に接続可能とされ、複数の情報処理装置の１つがマスター装置として動作し、他の情報処理装置がスレーブ装置として動作するネットワークシステムであって、各情報処理装置は、物体の空間移動の変位量を測定する変位量測定手段をそれぞれ具備し、マスター装置として動作する情報処理装置は、各情報処理装置の変位量測定手段により測定された変位量を取得する変位量取得手段と、各情報処理装置より取得した変位量を操作対象である情報処理装置の操作内容に対応付けてテーブルを作成し、このテーブルを保持するテーブル作成手段と、各情報処理装置より取得した変位量を基にテーブルを参照して操作対象の情報処理装置の操作内容を判定する操作内容判定手段とを具備する。
【００１１】
この発明のネットワークシステムによれば、複数の情報処理装置の変位量測定手段により測定された変位量に対して操作対象である情報処理装置の操作内容を割り当てることで、より多くの操作内容を割り当てることができるとともに、物体の変位量が高い精度で得られることで、操作内容の判定精度も向上させることができる。
【００１２】
また、この発明のネットワークシステムにおいて、操作対象である情報処理装置は、マスター装置である情報処理装置とすることができる。あるいは、操作対象である情報処理装置は、ネットワークに接続された複数の情報処理装置とすることも可能である。この場合、操作内容判定手段は、各情報処理装置より取得した変位量を基にテーブルを参照して操作対象の情報処理装置およびその操作内容を判定する。このように、本発明によれば、物体の動きに、複数の情報処理装置の操作内容を割り当てることができる。
【００１３】
さらに、操作内容判定手段により判定された操作対象の情報処理装置がスレーブ装置である場合には、そのスレーブ装置である情報処理装置に操作内容に応じた制御内容をネットワークを通じて通知するようにする。これにより、スレーブ装置である情報処理装置を制御することができる。
【００１４】
また、この発明のネットワークシステムは、複数の情報処理装置のマスター装置およびスレーブ装置の関係を切り替える手段を有する。これにより、操作対象である情報処理装置をマスター装置とした場合に、操作対象の情報処理装置をユーザが任意に選択することができる。
【００１５】
また、本発明の別の観点に基づく遠隔操作方法は、上記の課題を解決するために、複数の情報処理装置がネットワークを通じて相互に接続可能とされ、複数の情報処理装置の１つがマスター装置として動作し、他の情報処理装置がスレーブ装置として動作するネットワークシステムにおいて、操作対象の情報処理装置を遠隔操作する方法であって、各情報処理装置に、物体の空間移動の変位量を測定する変位量測定手段をそれぞれ設けておき、マスター装置として動作する情報処理装置は、各情報処理装置の変位量測定手段により測定された変位量を取得し、これら取得した変位量を操作対象である情報処理装置の操作内容に対応付けてテーブルを作成してこれを保持し、各情報処理装置より変位量を取得したとき、これら取得した変位量を基にテーブルを参照して操作対象の情報処理装置の操作内容を判定することを特徴とする。
【００１６】
この発明の遠隔操作方法によれば、複数の情報処理装置の変位量測定手段により測定された変位量に対して操作対象である情報処理装置の操作内容を割り当てることで、より多くの操作内容を割り当てることができるとともに、物体の変位量が高い精度で得られることで、操作内容の判定精度も向上させることができる。
【００１７】
また、この発明の遠隔操作方法において、操作対象である情報処理装置は、マスター装置である情報処理装置とすることができる。あるいは、操作対象である情報処理装置は、ネットワークに接続された複数の情報処理装置とすることも可能である。この場合、マスター装置は、各情報処理装置より取得した変位量を基にテーブルを参照して操作対象の情報処理装置およびその操作内容を判定する。このように本発明によれば、物体の動きに、複数の情報処理装置の操作内容を割り当てることができる。
【００１８】
さらに、操作対象の情報処理装置がスレーブ装置である場合には、そのスレーブ装置である情報処理装置に操作内容に応じた制御内容をネットワークを通じて通知するようにする。これにより、スレーブ装置である情報処理装置を制御することができる。
【発明の効果】
【００１９】
本発明のネットワークシステム、遠隔操作方法、および情報処理装置によれば、物体の動きに多くの操作内容を割り当てることができるとともに、複数の情報処理装置の操作内容を割り当てることができる。
【発明を実施するための最良の形態】
【００２０】
〔ネットワークシステムおよび情報処理装置の基本的構成：図１〜図４〕
図１は、この発明のネットワークシステムの一例を示し、ネットワーク９を介して複数の情報処理装置１、２、３、４が接続されたものである。
【００２１】
（情報処理装置および情報処理コントローラ）
情報処理装置１について示すと、情報処理装置１は、コンピュータ機能部として情報処理コントローラ１１を備える。情報処理コントローラ１１は、メインプロセッサ２１−１、サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−１およびＤＣ（ディスクコントローラ）２７−１を有する。
【００２２】
メインプロセッサ２１−１は、サブプロセッサ２３−１，２３−２，２３−３によるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ１１（情報処理装置１）の全般的な管理とを行う。ただし、メインプロセッサ２１−１内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。その場合には、メインプロセッサ２１−１はサブプロセッサとしても機能することになる。メインプロセッサ２１−１は、ＬＳ（ローカルストレージ）２２−１を有する。
【００２３】
サブプロセッサは、１つでもよいが、望ましくは複数とする。この例は、複数の場合である。
【００２４】
各サブプロセッサ２３−１，２３−２，２３−３は、メインプロセッサ２１−１の制御によって並列的かつ独立に、プログラムを実行し、データを処理する。さらに、場合によってメインプロセッサ２１−１内のプログラムがサブプロセッサ２３−１，２３−２，２３−３内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ２１−１内で動作するプログラムである。各サブプロセッサ２３−１，２３−２，２３−３も、ＬＳ（ローカルストレージ）２４−１，２４−２，２４−３を有する。
【００２５】
ＤＭＡＣ２５−１は、情報処理コントローラ１１に接続されたＤＲＡＭ（ダイナミックＲＡＭ）などからなるメインメモリ２６−１に格納されているプログラムおよびデータにアクセスするものであり、ＤＣ２７−１は、情報処理コントローラ１１に接続された外部記録部２８−１，２８−２にアクセスするものである。
【００２６】
外部記録部２８−１，２８−２は、固定ディスク（ハードディスク）でも、リムーバブルディスクでもよく、また、ＭＯ,ＣＤ±ＲＷ，ＤＶＤ±ＲＷなどの光ディスク、メモリディスク、ＳＲＡＭ（スタティックＲＡＭ）、ＲＯＭなど、各種のものを用いることができる。したがって、ＤＣ２７−１は、ディスクコントローラと称するが、外部記録部コントローラである。
【００２７】
図１の例のように、情報処理コントローラ１１に対して外部記録部２８を複数接続できるように、情報処理コントローラ１１を構成することができる。
【００２８】
メインプロセッサ２１−１、各サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ２５−１およびＤＣ２７−１は、バス２９−１によって接続される。
【００２９】
情報処理コントローラ１１には、当該の情報処理コントローラ１１を備える情報処理装置１をネットワーク全体を通して一意的に識別できる識別子が、情報処理装置ＩＤとして割り当てられる。
【００３０】
メインプロセッサ２１−１および各サブプロセッサ２３−１，２３−２，２３−３に対しても同様に、それぞれを特定できる識別子が、メインプロセッサＩＤおよびサブプロセッサＩＤとして割り当てられる。
【００３１】
情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。
【００３２】
他の情報処理装置２、３、４も、同様に構成される。ここで、親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。
【００３３】
（各サブプロセッサからメインメモリへのアクセス）
上述したように、１つの情報処理コントローラ内の各サブプロセッサ２３は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ２６内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ２３からメインメモリ２６へのアクセスは、以下のような手順によって行う。
【００３４】
図２（Ａ）に示すように、メインメモリ２６は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤおよびＬＳアドレス（ローカルストレージアドレス）を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。Ｆ／Ｅビットは、以下のように定義される。
【００３５】
Ｆ／Ｅビット＝０は、サブプロセッサ２３によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、Ｆ／Ｅビット＝０は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に１に設定される。
【００３６】
Ｆ／Ｅビット＝１は、当該メモリロケーションのデータがサブプロセッサ２３によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ２３によって読み出された後に０に設定される。また、Ｆ／Ｅビット＝１は、当該メモリロケーションがデータ書き込み不可であることを示す。
【００３７】
さらに、上記Ｆ／Ｅビット＝０（読み出し不可／書き込み可）の状態において、当該メモリロケーションについて読み出し予約を設定することは可能である。Ｆ／Ｅビット＝０のメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ２３は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ２３のサブプロセッサＩＤおよびＬＳアドレスを書き込む。
【００３８】
その後、データ書き込み側のサブプロセッサ２３によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビット＝１（読み出し可／書き込み不可）に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサＩＤおよびＬＳアドレスに読み出される。
【００３９】
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し／書き込みを制御することによって、前段階の処理を行うサブプロセッサ２３が、処理済みのデータをメインメモリ２６上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ２３が前処理後のデータを読み出すことが可能となる。
【００４０】
図２（Ｂ）に示すように、各サブプロセッサ２３内のＬＳ２４も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
【００４１】
サブプロセッサ２３がメインメモリ２６内のデータを自身のＬＳ２４のメモリロケーションに読み出すときには、対応するビジービットを１に設定して予約する。ビジービットが１であるメモリロケーションには、他のデータは格納することができない。ＬＳ２４のメモリロケーションに読み出し後、ビジービットは０になり、任意の目的に使用できるようになる。
【００４２】
図２（Ａ）に示すように、さらに、各情報処理コントローラと接続されたメインメモリ２６には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ２６内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ２３に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ２３は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。
【００４３】
メインメモリ２６は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【００４４】
さらに、メインメモリ２６の排他的な制御を実現するために、図２（Ｃ）に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のＳＲＡＭのような比較的高速のメモリに格納され、ＤＭＡＣ２５と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキーおよびキーマスクが含まれる。
【００４５】
サブプロセッサ２３がメインメモリ２６を使用する際のプロセスは、以下のとおりである。まず、サブプロセッサ２３はＤＭＡＣ２５に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサＩＤと、使用要求先であるメインメモリ２６のアドレスが含まれる。
【００４６】
ＤＭＡＣ２５は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、ＤＭＡＣ２５は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ２６内の図２（Ａ）に示したメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、上記のコマンドを実行する。
【００４７】
図２（Ｃ）に示したキー管理テーブル上のキーマスクは、その任意のビットが１になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが０または１になることができる。
【００４８】
例えば、サブプロセッサキーが１０１０であるとする。通常、このサブプロセッサキーによって１０１０のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが０００１に設定されている場合には、キーマスクのビットが１に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー１０１０によってアクセスキーが１０１０または１０１１のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００４９】
以上のようにして、メインメモリ２６のサンドボックスの排他性が実現される。すなわち、１つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ２６の所定アドレスにアクセスできるようになり、データを保護することができる。
【００５０】
例えば、以下のように使用することが考えられる。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第１のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第２のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的の処理を可能にする。
【００５１】
より具体的には、他の情報処理装置からのデータ→第１のサブプロセッサによる処理→第１のメインメモリ領域→第２のサブプロセッサによる処理→第２のメインメモリ領域、という手順で多段階処理が行われるときには、
第１のサブプロセッサのサブプロセッサキー：０１００、
第１のメインメモリ領域のアクセスキー    ：０１００、
第２のサブプロセッサのサブプロセッサキー：０１０１、
第２のメインメモリ領域のアクセスキー    ：０１０１
のような設定のままだと、第２のサブプロセッサは第１のメインメモリ領域にアクセスすることができない。そこで、第２のサブプロセッサのキーマスクを０００１にすることにより、第２のサブプロセッサによる第１のメインメモリ領域へのアクセスを可能にすることができる。
【００５２】
（ソフトウェアセルの生成および構成）
図１のネットワークシステムでは、情報処理装置１、２、３、４間での分散処理のために、情報処理装置１、２、３、４間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、コマンド、プログラムおよびデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【００５３】
図３に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム、およびデータによって構成される。
【００５４】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレスおよび当該装置内の情報処理コントローラの情報処理装置ＩＤ、さらに、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ２１および各サブプロセッサ２３の識別子（メインプロセッサＩＤおよびサブプロセッサＩＤ）が含まれる。
【００５５】
送信先ＩＤおよび応答先ＩＤには、それぞれ、ソフトウェアセルの送信先である情報処理装置、およびソフトウェアセルの実行結果の応答先である情報処理装置についての、同じ情報が含まれる。
【００５６】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルＩＤから構成される。
【００５７】
グローバルＩＤは、ネットワーク全体を通して当該のソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ、およびソフトウェアセルの作成または送信の日時（日付および時刻）に基づいて作成される。
【００５８】
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ２６内およびサブプロセッサ２３のＬＳ２４内のメモリ量が設定される。
【００５９】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００６０】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラムおよびデータから構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサ２３によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００６１】
さらに、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
【００６２】
ロードコマンドは、メインメモリ２６内の情報をサブプロセッサ２３内のＬＳ２４にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサＩＤおよびＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ２６内の所定領域のアドレスを示す。サブプロセッサＩＤおよびＬＳアドレスは、情報のロード先であるサブプロセッサ２３の識別子およびＬＳ２４のアドレスを示す。
【００６３】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサＩＤおよびプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサ２３を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【００６４】
機能プログラム実行コマンドは、後述のように、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、後述の機能プログラムＩＤによって、起動すべき機能プログラムを識別する。機能プログラムについては後述されているが、図６に示される情報処理装置のメインメモリが記憶するソフトウェアの構成図において、機能プログラムのカテゴリに属するプログラムである。機能プログラムはメインメモリにロードされ、メインプロセッサにより実行される。
【００６５】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図６に示す情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ２６にロードされ、メインプロセッサ２１により実行される。
【００６６】
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【００６７】
図４に、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す。
【００６８】
情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のＩＤを示す。情報処理装置ＩＤは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１によって、電源投入時の日時、情報処理装置のネットワークアドレスおよび情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３の数などに基づいて生成される。
【００６９】
情報処理装置種別ＩＤには、当該の情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば、ハードディスクレコーダ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブルＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）プレーヤ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。また、情報処理装置種別ＩＤは、映像音声記録、映像音声再生など、情報処理装置の機能を表すものであってもよい。情報処理装置の特徴や機能を表す値は予め決定されているものとし、情報処理装置種別ＩＤを読み出すことにより、当該情報処理装置の特徴や機能を把握することが可能である。
【００７０】
ＭＳ（マスター／スレーブ）ステータスは、後述のように情報処理装置がマスター装置またはスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合にはマスター装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。
【００７１】
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ２１の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ２１で現在動作している全てのプログラムについての、メインプロセッサ２１での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるＭＩＰＳを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
【００７２】
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ２３の数を表す。サブプロセッサＩＤは、当該の情報処理コントローラ内の各サブプロセッサ２３を識別するための識別子である。
【００７３】
サブプロセッサステータスは、各サブプロセッサ２３の状態を表すものであり、ｕｎｕｓｅｄ，ｒｅｓｅｒｖｅｄ，ｂｕｓｙなどの状態がある。ｕｎｕｓｅｄは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。ｒｅｓｅｒｖｅｄは、現在は使用されていないが、予約されている状態を示す。ｂｕｓｙは、現在使用中であることを示す。
【００７４】
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがｂｕｓｙである場合には、現在の使用率を示し、サブプロセッサステータスがｒｅｓｅｒｖｅｄである場合には、後に使用される予定の推定使用率を示す。
【００７５】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、１つのサブプロセッサ２３に対して一組設定され、１つの情報処理コントローラ内のサブプロセッサ２３に対応する組数が設定される。
【００７６】
メインメモリ総容量およびメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ２６の総容量および現在使用中の容量を表す。
【００７７】
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部２８の数を表す。外部記録部ＩＤは、当該の情報処理コントローラに接続されている外部記録部２８を一意的に識別する情報である。外部記録部種別ＩＤは、当該の外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表す。
【００７８】
外部記録部総容量および外部記録部使用量は、それぞれ、外部記録部ＩＤによって識別される外部記録部２８の総容量および現在使用中の容量を表す。
【００７９】
外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量は、１つの外部記録部２８に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部２８の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部ＩＤが割り当てられ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量も別々に管理される。
【００８０】
地域ＩＤは、放送局の放送番組が地域によって異なることを前提として、情報処理装置が所在する地域を識別するための番号である。
【００８１】
（ソフトウェアセルの実行）
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、以上のような構成のソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置および当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、および各装置内の情報処理コントローラは、それぞれ、上記の送信元ＩＤ、送信先ＩＤおよび応答先ＩＤによって識別される。
【００８２】
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、そのソフトウェアセルをメインメモリ２６に格納する。さらに、送信先のメインプロセッサ２１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。
【００８３】
具体的に、送信先のメインプロセッサ２１は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤおよびＬＳアドレスで特定されるサブプロセッサ内のＬＳ２４の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。
【００８４】
次に、メインプロセッサ２１は、キックコマンドを、これに含まれるサブプロセッサＩＤで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。
【００８５】
指示されたサブプロセッサは、そのキックコマンドおよびプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ２６に格納した後、実行を完了したことをメインプロセッサ２１に通知する。
【００８６】
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ２３に限定されるものではなく、メインプロセッサ２１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
【００８７】
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラムおよびそのメインメモリ用プログラムによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ２６にメインメモリ用プログラムおよびそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサＩＤ、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムＩＤなどの識別子、およびプログラムカウンタを含み、ＤＭＡコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ２１に当該メインメモリ用プログラムを実行させる。
【００８８】
以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
【００８９】
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。
【００９０】
したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。
【００９１】
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。さらに、各サブプロセッサ間ではＤＭＡ方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、１つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。
【００９２】
〔ネットワークシステムとしての分散処理〕
ソフトウェアセルの使用による分散処理の結果、図５の上段に示すようにネットワーク９に接続されている複数の情報処理装置１、２、３、４は、図５の下段に示すように、仮想的な１台の情報処理装置７として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
【００９３】
（システムのソフトウェア構成とプログラムのロード）
図６に、個々の情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成を示す。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部２８に記録されているものである。
【００９４】
各プログラムは、機能または特徴によって、制御プログラム、機能プログラムおよびデバイスドライバにカテゴライズされる。
【００９５】
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ２１が実行するもので、後述のＭＳ（マスター／スレーブ）マネージャおよび能力交換プログラムを含む。
【００９６】
機能プログラムは、メインプロセッサ２１が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
【００９７】
デバイスドライバは、情報処理コントローラ（情報処理装置）の入出力（送受信）用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
【００９８】
ケーブルの差し込みなどによって情報処理装置が物理的にネットワーク９に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク９に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、制御プログラムに属する各プログラム、およびデバイスドライバに属する各プログラムを、メインメモリ２６にロードする。
【００９９】
ロード手順としては、メインプロセッサ２１は、まず、ＤＣ２７に読み出し命令を実行させることによって、外部記録部２８からプログラムを読み出し、次に、ＤＭＡＣ２５に書き込み命令を実行させることによって、そのプログラムをメインメモリ２６に書き込む。
【０１００】
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１０１】
ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部２８に記録されている必要はなく、いずれか１つの情報処理装置の外部記録部２８に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図５の下段に示すように、仮想的な１台の情報処理装置７として機能プログラムを実行することができる。
【０１０２】
ここで前述したようにメインプロセッサ２１によって処理される機能プログラムは、サブプロセッサ２３によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ２１が外部記録部２８から機能プログラムを読み出し、メインメモリ２６に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ２６に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは１個である場合もあるし、複数個であることもあり得る。複数個である場合には、全ての連携動作するサブプロセッサプログラムをメインメモリ２６に書き込むことになる。メインメモリ２６に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ２３内のＬＳ２４に書き込まれ、メインプロセッサ２１によって処理される機能プログラムと連携動作する。
【０１０３】
図３のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【０１０４】
そしてサブプロセッサプログラムにもサブプロセッサプログラムＩＤが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムＩＤは、連携動作する相手となる機能プログラムの機能プログラムＩＤと関連性のある識別子、例えば機能プログラムＩＤを親番号とした上で最後尾に枝番号を付加させたもの等であることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムＩＤとは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムＩＤを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個ある全てのサブプロセッサプログラムのサブプロセッサプログラムＩＤを記憶しておくことになる。
【０１０５】
メインプロセッサ２１は、自身が動作する情報処理装置の装置情報（動作状態に関する情報）を格納するための領域をメインメモリ２６に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図４に示した情報処理装置ＩＤ以下の各情報である。
【０１０６】
（システムにおけるマスター／スレーブの決定）
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、マスター／スレーブマネージャ（以下、ＭＳマネージャ）をメインメモリ２６にロードし、実行する。
【０１０７】
ＭＳマネージャは、自身が動作する情報処理装置がネットワーク９に接続されていることを検知すると、同じネットワーク９に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク９に接続されているだけでなく、電気的・機能的にもネットワーク９に接続されていることを示す。
【０１０８】
また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。
【０１０９】
ＭＳマネージャが同じネットワーク９に接続されている他の情報処理装置の存在を確認する方法を以下に示す。
【０１１０】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤおよび応答先ＩＤが当該情報処理装置で、送信先ＩＤを特定しないソフトウェアセルを生成して、当該情報処理装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分とされる。
【０１１１】
当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報（情報処理装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）および当該他装置のＭＳステータスが含まれる。
【０１１２】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、当該装置は、スレーブ装置となる。
【０１１３】
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、当該装置は、マスター装置となる。
【０１１４】
すなわち、いずれの装置もネットワーク９に接続されていない状態、またはネットワーク９上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク９上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にスレーブ装置として設定される。
【０１１５】
マスター装置およびスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク９上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。その結果、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されることにより、あらかじめ判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク９に新たな情報処理装置が接続された場合など、ネットワーク９の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
【０１１６】
（マスター装置およびスレーブ装置における装置情報の取得）
メインプロセッサ２１は、ＭＳマネージャから、ネットワーク９上の他装置の照会および自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０１１７】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。
【０１１８】
他装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０１１９】
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を格納するための領域を自装置のメインメモリ２６に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。
【０１２０】
すなわち、マスター装置のメインメモリ２６には、自装置を含むネットワーク９に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。
【０１２１】
一方、能力交換プログラムは、自装置がスレーブ装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわちマスター装置および自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤおよびＭＳステータスを、自装置のメインメモリ２６に記録する。
【０１２２】
すなわち、スレーブ装置のメインメモリ２６には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク９に接続されているマスター装置および各スレーブ装置についての情報処理装置ＩＤおよびＭＳステータスが、別の装置情報テーブルとして記録される。
【０１２３】
また、マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、新たにネットワーク９に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ２６に記録する。
【０１２４】
なお、ＭＳマネージャおよび能力交換プログラムは、メインプロセッサ２１で実行されることに限らず、いずれかのサブプロセッサ２３で実行されてもよい。また、ＭＳマネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１２５】
（情報処理装置がネットワークから切断された場合）
マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ２６から削除する。
【０１２６】
さらに、このようにネットワーク９から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
【０１２７】
具体的に、例えば、ネットワーク９から切断されていない情報処理装置は、それぞれ、自装置および他装置の情報処理装置ＩＤを数値に置き換えて、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク９から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、ＭＳステータスを０に設定し、マスター装置として、上述したように、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を取得して、メインメモリ２６に記録する。
【０１２８】
（装置情報に基づく分散処理）
図５の下段に示したようにネットワーク９に接続されている複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させるためには、マスター装置がユーザの操作およびスレーブ装置の動作状態を把握する必要がある。
【０１２９】
図７に、４台の情報処理装置が仮想的な１台の情報処理装置７として動作する様子を示す。情報処理装置１がマスター装置、情報処理装置２、３、４がスレーブ装置Ａ、Ｂ、Ｃとして、動作しているものとする。
【０１３０】
ユーザがネットワーク９に接続されている情報処理装置を操作した場合、操作対象がマスター装置１であれば、その操作情報は、マスター装置１において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスター装置１に送信される。すなわち、ユーザの操作対象がマスター装置１とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
【０１３１】
そして、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、上記の方法によって自装置の外部記録部２８−１、２８−２からメインメモリ２６−１に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）がマスター装置１に機能プログラムを送信してもよい。
【０１３２】
機能プログラムには、その実行単位ごとに必要となる、図４に示した各情報として表される情報処理装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの、装置に関する要求スペックが規定されている。
【０１３３】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、あらかじめ能力交換プログラムによってメインメモリ２６−１に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図４に示した情報処理装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリおよび外部記録部に関する情報である。
【０１３４】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ネットワーク９上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
【０１３５】
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から１つの実行要求候補装置を特定して選択する。
【０１３６】
実行要求するスレーブ装置が特定されたら、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ１１に含まれるメインメモリ２６−１に記録されている当該スレーブ装置の装置情報テーブルを更新する。
【０１３７】
さらに、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ＤＭＡコマンドがロードコマンドおよびキックコマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインタフェースに、当該機能プログラムに関する必要なサブプロセッサの情報およびサンドボックスサイズ（図３参照）を設定して、上記実行要求されるスレーブ装置に対して送信する。
【０１３８】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上記の方法によって自装置の外部記録部２８からメインメモリ２６に機能プログラムをロードする。
【０１３９】
機能プログラムの実行を要求されたスレーブ装置の外部記録部２８に、必要な機能プログラムが記録されていない場合には、他の情報処理装置が上記のメインメモリ用プログラムとして当該の機能プログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
【０１４０】
さらに、メインメモリ用プログラムと同様に、サブプロセッサプログラムも、必要であれば、ソフトウェアセルによって他の情報処理装置に送信して、他の情報処理装置のサブプロセッサ２３にロードさせ、他の情報処理装置に実行させることができる。
【０１４１】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、終了通知をマスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
【０１４２】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、自装置および他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置１が当該の機能プログラムを実行する。
【０１４３】
図７の例で、ユーザがスレーブ装置Ａ（情報処理装置２）を操作し、当該操作に応じた機能プログラムを別のスレーブ装置Ｂ（情報処理装置３）が実行する場合につき、図８に以上の分散処理の例を示す。
【０１４４】
図８の例では、ユーザがスレーブ装置Ａを操作することによって、スレーブ装置Ａを含むネットワークシステム全体の分散処理が開始して、まず、スレーブ装置Ａは、ステップ８１で、その操作情報をマスター装置１に送信する。
【０１４５】
マスター装置１は、ステップ７２で、その操作情報を受信し、さらにステップ７３に進んで、自装置のメインメモリ２６−１に記録されている自装置および他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Ｂが選択される場合である。
【０１４６】
次に、マスター装置１は、ステップ７４で、その選択したスレーブ装置Ｂに対して機能プログラムの実行を要求する。
【０１４７】
スレーブ装置Ｂは、ステップ９５で、その実行要求を受信し、さらにステップ９６に進んで、実行要求された機能プログラムを実行する。
【０１４８】
以上のように、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させることができる。
【０１４９】
［リモコンの空間移動に基づく情報処理装置の遠隔操作システム］
次に、このネットワークシステムにおいて、物体の空間移動情報を測定し、その測定結果を基にネットワークに接続されている各情報処理装置を制御する仕組み（遠隔操作システム）について説明する。
【０１５０】
（基本的な構成）
図９は、この遠隔操作システムの基本構成を示すブロック図である。ここで、物体３０は、ネットワーク３１にマスター装置４０またはスレーブ装置５０のいずれかとして接続された複数の情報処理装置３２、３３、３４を遠隔操作するリモートコントローラとして機能するという意味で以降「リモコン」と呼ぶこととする。ただし、このリモコン３０は、情報処理装置を直接操作するための信号を出力する機能を必ずしも持っている必要はなく、リモコン自身の位置情報を各々の情報処理装置３２、３３、３４にて測定可能とする構成を有していることが不可欠である。
【０１５１】
図１０は、ネットワーク３１にマスター装置４０として動作している情報処理装置において上記の遠隔操作システムを実現するための構成を示す図である。
【０１５２】
同図に示すように、マスター装置４０は、ネットワーク３１において同期した時刻を提供する時刻装置４１と、リモコン３０の位置情報を計測する手段（後述する）によって計測された結果に基づいてリモコン３０の空間移動の変位量を演算する変位量演算装置４２と、マスター装置４０である情報処理装置自身の初期設定時に変位量演算装置４２によって検出された変位量から情報処理装置自身の制御方法を決定するための自己操作テーブルを作成する自己操作テーブル作成装置４３と、その自己操作テーブルとネットワーク３１上の他の情報処理装置がもつ自己操作テーブルを合成してマスターテーブルを作成する操作テーブル合成装置４４と、ネットワーク３１上の各情報処理装置３２、３３、３４にて演算されたリモコン３０の変位量とマスターテーブルを基にしてマスター装置４０の制御方法と、制御すべきスレーブ装置５０およびその制御方法を決定する制御方法演算装置４５と、制御方法演算装置４５で決定したマスター装置制御方法を受け取って情報処理装置自身の制御を行う制御内容実行装置４６とを備えている。
【０１５３】
図１１は、ネットワーク３１にスレーブ装置５０として動作している情報処理装置において上記の遠隔操作システムを実現するための構成を示す図である。
【０１５４】
同図に示すように、スレーブ装置５０は、ネットワーク３１において同期した時刻を提供する時刻装置５１と、リモコン３０の位置情報を計測する手段（後述する）によって計測された結果からリモコン３０の空間移動の変位量を演算してマスター装置４０に送出する変位量演算装置５２と、スレーブ装置５０である情報処理装置自身の初期設定時に変位量演算装置４２によって検出された変位量から情報処理装置自身の制御方法を決定するための自己操作テーブルを作成してマスター装置４０に送出する自己操作テーブル作成装置５３と、マスター装置４０より得られたマスターテーブルを基にスレーブ装置５０である情報処理装置自身の自己操作テーブルを更新する自己操作テーブル更新装置５４と、マスター装置４０から制御方法を受け取ってスレーブ装置５０である情報処理装置自身の制御を行う制御内容実行装置５５とを備えている。
【０１５５】
リモコン３０の位置情報を計測する手段としては、たとえば電波強度の測定による方法を用いることができる。具体的には、リモコン３０は、ある周波数帯の電波を発生する電波発生装置と、空間移動の開始タイミングを指定する移動開始ボタンと、空間移動の終了タイミングを指定する移動終了ボタンとを備えた構成とする。一方、マスター装置４０およびスレーブ装置５０には、リモコン３０の電波発生装置より発生された電波の強度を計測する電波強度計測装置を備えた構成とする。マスター装置４０およびスレーブ装置５０の電波強度計測装置は、リモコン３０の移動開始ボタンを押した時点での電波強度と、移動終了ボタンを押した時点での電波強度を測定することによって、その電波強度の変位量をリモコン３０の移動による変位量として演算する。この変位量は、スカラ量であっても、ベクトル量であってもよい。
【０１５６】
この遠隔操作システムの全体的な動作は次の通りである。ネットワーク３１に接続された各々の情報処理装置３２、３３、３４の操作内容と、各々の情報処理装置３２、３３、３４で測定されたリモコン３０の変位量との対応関係をマスター装置４０にてマスターテーブルで管理する。マスター装置４０は、各情報処理装置３２、３３、３４で測定されたリモコン３０の変位量を採取し、採取した変位量から上記のマスターテーブルを参照して対応する操作内容と制御対象の情報処理装置を判定し、その情報処理装置に制御内容を出力する。
【０１５７】
（システムの導入時の初期化）
新しくこの遠隔操作システムを導入する場合には、まず、リモコン３０の変位量に対する各々の情報処理装置３２、３３、３４の操作内容を設定するために以下のような初期化動作を行う。
【０１５８】
図１２は、ネットワーク３１に接続された各情報処理装置３２、３３、３４に保持された自己操作テーブルの初期状態を示している。自己操作テーブルには、情報処理装置自身の操作内容が既に登録されている。たとえば、情報処理装置がＴＶである場合、「ＰＯＷＥＲ  ＯＮ」「チャンネル＋１ｃｈ」「Ｖｏｌｕｍｅ＋」などの操作内容が既に登録済みとなっている。各々の操作内容に対応する変位量は初期状態においては空である。
【０１５９】
初期化処理の手順を以下に説明する。
【０１６０】
ネットワーク３１に接続された各情報処理装置３２、３３、３４においてマスター装置４０とスレーブ装置５０が決定された後、マスター装置４０に対して、初期化を指示する信号がユーザより入力される。この初期化指示信号を受けてマスター装置４０は共同学習モードの状態になり、その旨をスレーブ装置５０に通知する。
【０１６１】
スレーブ装置５０は、マスター装置４０から共同学習モードの状態になったことの通知を受けると、自己操作テーブル作成装置５３にて作成しておいた、変位量が空の自己操作テーブルをマスター装置４０に送信する。マスター装置４０は、この変位量が空の自己操作テーブルを受け取ると、操作テーブル合成装置４４にてマスターテーブルの作成を行う。
【０１６２】
図１３は、この操作テーブル合成装置４４の動作を示すフローチャートである。
【０１６３】
マスター装置４０は、まず、操作テーブル合成装置４４に、スレーブ装置５０から送信された変位量が空の自己操作テーブルと同じく変位量が空の自身の自己操作テーブルを入力する（ステップ１３０１）。次に操作テーブル合成装置４４は、入力された各自己操作テーブルに基づき、各情報処理装置３２、３３、３４の操作内容とリモコン３０の変位量とを対応付けるためのマスターテーブルを作成し（ステップ１３０２）、これを出力する（ステップ１３０３）。
【０１６４】
図１４は、マスターテーブルの構成を示す図である。同図に示すように、マスターテーブルは、情報処理装置ごとのリモコン変位量のカラムで構成される。このマスターテーブルでは、スレーブ装置５０の通過に伴って変位量１，２，３，・・・のようにリモコン変位量のカラムが１つずつ追加されて行き、カラムが追加される都度、マスターテーブルの再構築が実行される。
【０１６５】
図１５は、このマスターテーブルの再構築のシーケンスを示している。まず、各情報処理装置であるマスター装置４０およびスレーブ装置５０では、リモコンの動作を機器の操作内容へ割り当てる作業を開始する旨をディスプレイなどを通してユーザに通知する。ユーザはこの通知を受けたことを契機に、リモコンの動作を割り当てるべき操作内容を入力する。たとえば、マスターテーブルに登録済みの各種操作内容の一覧をマスター装置４０のディスプレイに表示させ、その中からリモコン３０の動作を割り当てたい操作内容をユーザに選択してもらい、続いて、その選択した操作内容に対応するリモコンの動きを入力するための操作をユーザに行ってもらう。ここで、リモコンの動きを入力するための操作とは、たとえば、リモコン３０の移動開始ボタンを押し、リモコン３０を空間移動させ、最後に移動終了ボタンを押す、といった一連の操作である。
【０１６６】
このとき、マスター装置４０および各スレーブ装置５０の変位量演算装置４２、５２にて、リモコン３０の移動開始ボタンが押された時点でのリモコン３０の位置と移動終了ボタンが押された時点でのリモコン３０の位置との間の変位量が演算される。ここで、変位量演算装置４２、５２にはネットワーク３１上で同期した時刻を発生する時刻装置４１、５１からの時刻が入力されているので、マスター装置４０および各スレーブ装置５０で演算されたそれぞれの変位量には互いに同期したタイムスタンプが与えられる。
【０１６７】
続いてスレーブ装置５０は、タイムスタンプが与えられた変位量をマスター装置４０に通知する。この通知を受け取ったマスター装置４０は、図１６に示すように、マスター装置４０自身で演算した変位量（ｘ１，ｘ２，・・・，ｘ１１，ｘ１２，・・・）とスレーブ装置５０から受け取った変位量（ｙ１，ｙ２，・・・，ｙ１１，ｙ１２，・・・）を、各々の変位量に与えられているタイムスタンプを基に、対応する操作内容へそれぞれ割り当てる。これにより各々の操作内容に対して各情報処理装置３２、３３、３４で演算された各変位量の割り当てが行われてマスターテーブルの再構築が行われる。
【０１６８】
このようにして再構築されたマスターテーブルはマスター装置４０にて保持されるとともに、マスター装置４０から各スレーブ装置５０に送られる。各スレーブ装置５０は、受信したマスターテーブルを自己操作テーブル更新装置５４に与える。自己操作テーブル更新装置５４は与えられたマスターテーブルから自身のテーブル部分を抽出し、この自身のテーブル部分のデータで自己操作テーブルを更新する。
【０１６９】
（既に導入されているシステムへの新たな情報処理装置の追加）
次に、既に導入されている上記の遠隔操作システムに新たな情報処理装置が追加された場合、つまりマスターテーブルが既に完成している環境に変位量が空の自己操作テーブルを所有する情報処理装置が新たに接続された場合、の動作を説明する。
【０１７０】
まず、マスター装置４０は、新たに加わったスレーブ装置５０を検知する。ここでユーザがマスター装置４０に対して共同学習モードへの切り替えを指示する信号を入力することによって、マスター装置４０は共同学習モードの状態になり、その旨を各スレーブ装置５０に通知する。
【０１７１】
新たに加わったスレーブ装置５０は、マスター装置４０から共同学習モードの状態になったことの通知を受けると、変位量が空の自己操作テーブルをマスター装置４０へ送信する。マスター装置４０は、新たに加わったスレーブ装置５０より自己操作テーブルを受け取ると、これを操作テーブル合成装置４４に与えた後、図１３に示した手順で、図１７に示すような、再構築前のマスターテーブルを新規に作成する。ここでは、新たに追加されたスレーブ装置５０の操作内容α，β，γ，・・・の欄（変位量は空）が新たに加えられたマスターテーブルが作成される。
【０１７２】
続いて、マスター装置４０は、次のようにマスターテーブルの再構築を行う。
【０１７３】
図１８は、スレーブ装置が追加された場合のマスターテーブルの再構築のシーケンスを示している。まず、各々の情報処理装置では、リモコンの動作を機器の操作内容へ割り当てる作業を開始する旨をディスプレイなどを通してユーザに通知する。ユーザはこの通知を受けたことを契機に、リモコンの動作を割り当てるべき操作内容を入力する。このとき、マスター装置４０および各スレーブ装置５０の変位量演算装置４２、５２にて、リモコン３０の移動開始ボタンが押された時点でのリモコン３０の位置と移動終了ボタンが押された時点でのリモコン３０の位置との間の変位量が演算され、その結果がマスター装置４０に集められ、マスターテーブルの再構築が行われる。
【０１７４】
図１９は、マスターテーブルの再構築の結果を示している。ここで、ｘ１００，ｘ１０１，ｘ１０２，・・・は、マスター装置４０の変位量演算装置４２にて演算された、追加されたスレーブ装置５０の個々の操作内容（操作α，β，γ，・・・）に対応する変位量であり、ｙ１００，ｙ１０１，ｙ１０２，・・・は、既に接続されていたスレーブ装置５０の変位量演算装置５２にて演算された、追加されたスレーブ装置５０の個々の操作内容に対応する変位量であり、ｚ１００，ｚ１０１，ｚ１０２，・・・は、追加されたスレーブ装置５０の変位量演算装置５２にて演算された、追加されたスレーブ装置５０自身の個々の操作内容に対応する変位量である。
【０１７５】
ここで、マスターテーブルに既に登録されている操作内容（操作Ａ，Ｂ，Ｃ，・・・，操作ａ，ｂ，ｃ，・・・）に対して、追加されたスレーブ装置５０にて演算された変位量３は次のようにして割り当てられる。マスター装置４０は、まず、各情報処理装置から取得した、同一のタイムスタンプを有する変位量（たとえばｘ１，ｙ１，ｚ１）を変位量ベクターとして判定する。続いて、判定した変位量ベクターに対応する操作内容（たとえば操作Ａ）をマスターテーブルを参照して判定し、追加されたスレーブ装置５０から受け取った変位量（たとえばｚ１）を、その操作内容に対応する変位量として振り当てる。
【０１７６】
また、マスターテーブルに登録されていない操作内容（操作α，β，γ，・・・）に関しては、マスター装置４０は、追加されたスレーブ装置５０にて演算された変位量（ｚ１００，ｚ１０１，ｚ１０２，・・・）を、当該スレーブ装置５０の各々の操作内容（操作α，β，γ，・・・）に順番に割り当てて行くとともに、既に接続されていた各情報処理装置にて演算された変位量（たとえばｘ１００，ｙ１００）については、タイムスタンプに基づき、追加されたスレーブ装置５０からの同一タイムスタンプを有する変位量（たとえばｚ１００）を検出し、この検出結果を基に該当する操作内容（たとえば操作α）を判定してこれに割り当てる。
【０１７７】
マスター装置４０は、以上のようにして再構築したマスターテーブルを各スレーブ装置５０へ送る。各スレーブ装置５０はそれぞれ、自己操作テーブル更新装置５４にて、受け取ったマスターテーブルから自身のテーブル部分を抽出して、その内容で自己操作テーブルを更新する。
【０１７８】
（遠隔操作システムからの情報処理装置の削除）
次に、遠隔操作システムから一つの情報処理装置を削除する場合の動作を説明する。これにはマスター装置４０を削除する場合とスレーブ装置５０を削除する場合とがある。
【０１７９】
マスター装置４０を削除する場合、マスターテーブルからマスター装置４０により演算された変位量が除去される。また、この場合には、新たなマスター装置４０がネットワーク３１に接続されている情報処理装置の中から選出され、この新たなマスター装置４０がマスターテーブルの管理を引き継ぐ。
【０１８０】
スレーブ装置５０を削除する場合には、マスター装置４０は削除されたスレーブ装置５０により演算された変位量をカラムごと削除し、マスターテーブルを再構成してスレーブ装置５０に配信する。
【０１８１】
（複数の遠隔操作システムの結合）
複数の遠隔操作システムを結合する場合、それぞれの遠隔操作システムのマスター装置４０が管理しているマスターテーブルをマージして一つのマスターテーブルを作成する。
【０１８２】
複数の遠隔操作システムが結合されると、まず、結合された遠隔操作システム内でマスター装置４０が選定される。それまでマスター装置４０であった情報処理装置は、それまで保持していたマスターテーブルを選出されたマスター装置４０へ送信する。
【０１８３】
新たに選出されたマスター装置４０は、図２０に示すように、受信した各マスターテーブルをマージして新たなマスターテーブルを作成する。新たなマスターテーブルには変位量が空のところがあるので、結合された遠隔操作システム全体において、以下説明する共同学習モードによってマスターテーブルの空を埋める作業を行う。
【０１８４】
マスター装置４０に対して初期化を指示する信号がユーザより入力されると、マスター装置４０は共同学習モードの状態になり、その旨をスレーブ装置５０に通知する。マスター装置４０およびスレーブ装置５０では、前述したようにユーザによるリモコンの動きの入力が行われ、マスター装置４０およびスレーブ装置５０の変位量演算装置４２、５２にてリモコン３０の変位量が演算される。各々の変位量演算装置４２、５２にて演算された変位量はマスター装置４０に集められ、マスター装置４０にてマスターテーブルの再構築が次のようにして行われる。
【０１８５】
マスターテーブルに既に登録されている操作内容（操作Ａ，Ｂ，Ｃ，・・・）に対して、マスター装置４０は、まず、各情報処理装置から取得した、同一のタイムスタンプを有する変位量（たとえばｘ１，ｙ１，ｚ１）を変位量ベクターとして判定する。続いて、判定した変位量ベクターに対応する操作内容（たとえば操作Ａ）をマスターテーブルを参照して判定し、追加されたスレーブ装置５０から受け取った変位量（たとえばｚ１）を、その操作内容に対応する変位量として振り当てる。
【０１８６】
マスターテーブルに登録されていない操作内容（操作ａ，ｂ，ｃ，・・・）に関しては、マスター装置４０は、他の遠隔操作システムに属していたスレーブ装置５０からの変位量（ｚ１１，ｚ１２，ｚ１３，・・・）を、そのスレーブ装置５０の個々の操作内容（操作ａ，ｂ，ｃ，・・・）に順番に振り当てて行くとともに、同じ遠隔操作システムに属していた各情報処理装置にて演算された変位量（たとえばｘ１１，ｙ１１）については、タイムスタンプに基づき、他のシステムに属していたスレーブ装置５０からの同一タイムスタンプを有する変位量（たとえばｚ１１）を検出し、この検出結果を基に該当する操作内容（たとえば操作ａ）を判定してこれに割り当てる。
【０１８７】
マスター装置４０は、以上のようにして再構築したマスターテーブルを各スレーブ装置５０へ送る。各スレーブ装置５０はそれぞれ、自己操作テーブル更新装置５４にて、受け取ったマスターテーブルから自身のテーブル部分を抽出して、その内容で自己操作テーブルを更新する。
【０１８８】
（遠隔操作システムを一つの情報処理装置で運用する場合の動作）
遠隔操作システムに一つの情報処理装置しか接続されていない場合、その情報処理装置は、初期化時に作成した自己操作テーブルをマスターテーブルとして利用する。
【０１８９】
図２１は、このときの自己操作テーブル作成の動作を示すフローチャートである。
【０１９０】
まず、初期化を行うための契機となる信号が、たとえば初期化ボタンをユーザが押下するなどして情報処理装置に入力される（ステップ２１０１）。これにより情報処理装置は学習モードの状態になり、リモコンの動作を機器の操作内容へ割り当てる作業を開始する旨をディスプレイなどを通してユーザに通知する。ユーザはこの通知を受けたことを契機に、リモコン３０の動作を割り当てるべき操作内容を入力する（ステップ２１０２）。続いてユーザは、その選択した操作内容に対応するリモコンの動きを入力する。すなわち、ユーザがリモコン３０の移動開始ボタンを押し、リモコン３０を移動させ、最後に移動終了ボタンを押す、といった一連の動作を行う。これによって情報処理装置の変位量演算装置４２にて、リモコン３０の移動開始ボタンが押された時点でのリモコン３０の位置と移動終了ボタンが押された時点でのリモコン３０の位置との間の変位量が演算され（ステップ２１０３）、その結果が自己操作テーブルの対応する操作内容の変位量として登録される（ステップ２１０４）。これにより作成された自己操作テーブルがマスターテーブルとして使用される。
【０１９１】
（リモコンの空間移動に基づく情報処理装置の制御）
次に、リモコンの動きに基づく情報処理装置の制御について説明する。図２２は、マスター装置４０が、リモコンの変位量に基づきマスターテーブルを参照して、制御対象の情報処理装置を判定しかつその制御を行う動作のフローチャートである。
【０１９２】
マスター装置４０は、遠隔操作システムに属する１つ以上の情報処理装置にて、リモコン３０の空間移動に伴って演算された変位量をそれぞれ採取する（ステップ２２０１）。次に、マスター装置４０は、制御方法演算装置４５にて、マスターテーブルを参照して、採取した複数の変位量に最も近い操作内容を検索する（ステップ２２０２）。操作内容がマスター装置自身の操作である場合は、その操作内容に応じた制御内容をマスター装置４０の制御内容実行装置４６へ送って制御内容を実行させる。また、操作内容がいずれかのスレーブ装置５０の操作である場合は、その操作内容に応じた制御内容を該当するスレーブ装置５０へ送信し、スレーブ装置５０の制御内容実行装置４６にて実行させる（ステップ２２０３）。
【０１９３】
（遠隔操作システムの具体例）
図２３は、この遠隔操作システムの具体的な構成を示す図である。
【０１９４】
情報処理装置としてＴＶ６１、ラジオ６２、エアコン６３がネットワーク３１を通じて接続され、これらの情報処理装置はリモコン３０によって遠隔操作される。
【０１９５】
いま、ＴＶ６１がマスター装置４０、ラジオ６２およびエアコン６３がスレーブ装置５０として動作するものとする。
【０１９６】
マスター装置４０であるＴＶ６１において、たとえば初期化ボタンがユーザによって押されることなどによって、ＴＶ６１は共同学習モードの状態になり、さらにＴＶ６１からスレーブ装置５０であるラジオ６２およびエアコン６３にその旨が通知されることで、ラジオ６２およびエアコン６３も共同学習モードに入る。ラジオ６２およびエアコン６３は、この通知を受けると自己操作テーブルをＴＶ６１へ送信する。
【０１９７】
図２４はＴＶ６１、ラジオ６２、エアコン６３の初期の自己操作テーブルの例である。マスター装置４０は、これらの自己操作テーブルを合成して、変位量が空のマスターテーブルを作成する。
【０１９８】
次に、マスター装置４０は、自身のディスプレイを通して、共同学習モードに入った旨をユーザに通知し、続いてユーザに操作内容の選択を促す旨を通知する。ユーザはこれを契機に操作内容をマスター装置４０に入力する。たとえば、マスターテーブルに登録済みの各種操作内容の一覧をマスター装置４０のディスプレイに表示させ、その中からリモコン３０の動作を割り当てたい操作内容をユーザに選択してもらい、続いて、その選択した操作内容に対応するリモコンの動きを入力するための操作をユーザに行ってもらう。
【０１９９】
これによって各情報処理装置にて、リモコン３０の動きの変位量が求められ、その結果はマスター装置４０であるＴＶ６１に集められる。この後、ＴＶ６１にてマスターテーブルが作成され、ラジオ６２とエアコン６３に送られる。ラジオ６２およびエアコン６３では、受け取ったマスターテーブルから自身のテーブル部分を抽出し、この自身のテーブル部分のデータで自己操作テーブルを更新する。
【０２００】
図２５は作成されたマスターテーブルの例である。ここで、変位量１はＴＶ６１にて演算されたリモコン３０の変位量、変位量２はラジオ６２にて演算されたリモコン３０の変位量、変位量３はエアコン６３にて演算されたリモコン３０の変位量である。
【０２０１】
次に、このマスターテーブルに基づく情報処理装置の制御について説明する。
【０２０２】
ＴＶ６１にて演算された変位量が"７"、ラジオ６２にて演算された変位量が"４"、エアコン６３にて演算された変位量が"９"であったとする。これらの変位量の演算結果がマスター装置４０であるＴＶ６１に集められると、ＴＶ６１は、これらの変位量からマスターテーブルを参照した結果、操作内容として「ラジオＶｏｌｕｍｅ＋」という操作内容を検出し、この操作内容に対応する制御内容をラジオ６２に送信する。ラジオ６２は、その制御内容を受け取るとボリュームアップの制御を行う。
【０２０３】
以上説明したように、この実施形態によれば、一つのリモコン３０の空間移動の情報に、制御対象の情報処理装置とその操作内容を割り当てることができる。すなわち、リモコン３０を空間移動させるだけで、その空間移動の情報に応じて、制御対象の情報処理装置とその操作内容を指定することができ、情報処理装置ごとの遠隔操作用のリモコンが不要になる。
【０２０４】
［遠隔操作システムの他の実施形態］
次に、遠隔操作システムの他の実施形態を説明する。
【０２０５】
（基本的な構成）
この遠隔操作システムの全体的な構成は図９に示した通りである。ただし、ここでリモコン３０の操作対象は、ネットワーク３１に接続された複数の情報処理装置３２、３３、３４の中の一つとされ、そのリモコン３０の操作対象である一つの情報処理装置がマスター装置として動作し、他の情報処理装置がスレーブ装置として動作する。
【０２０６】
図２６は、ネットワーク３１にスレーブ装置１５０として動作している情報処理装置において上記の遠隔操作システムを実現するための構成を示す図である。
【０２０７】
同図に示すように、マスター装置１４０は、ネットワーク３１において同期した時刻を提供する時刻装置１４１と、リモコン３０の位置情報を計測する手段によって計測された結果に基づいてリモコン３０の空間移動の変位量を演算する変位量演算装置１４２と、マスター装置４０である情報処理装置自身の初期設定時に変位量演算装置４２によって検出された変位量から情報処理装置自身の制御方法を決定するための自己操作テーブルを作成する自己操作テーブル作成装置１４３と、ネットワーク３１上の各情報処理装置３２、３３、３４にて演算されたリモコン３０の変位量と自己操作テーブルを基にしてマスター装置４０の制御方法と、制御すべきスレーブ装置５０およびその制御方法を決定する制御方法演算装置１４５と、制御方法演算装置１４５で決定したマスター装置制御方法を受け取って情報処理装置自身の制御を行う制御内容実行装置１４６とを備えている。
【０２０８】
図２７は、ネットワーク３１にスレーブ装置１５０として動作している情報処理装置において上記の遠隔操作システムを実現するための構成を示す図である。
【０２０９】
同図に示すように、スレーブ装置１５０は、ネットワーク３１において同期した時刻を提供する時刻装置１５１と、リモコン３０の位置情報を計測する手段によって計測された結果からリモコン３０の空間移動の変位量を演算してネットワーク３１に送出する変位量演算装置１５２とを備えている。
【０２１０】
この遠隔操作システムの全体的な動作は次の通りである。ネットワーク３１に接続された各々の情報処理装置３２、３３、３４は、リモコン３０の変位量を測定してその結果をネットワーク上の不特定多数の機器に向けてブロードキャスト配信をする。マスター装置１４０は各々の情報処理装置３２、３３、３４より取得したリモコン３０の変位量と、マスター装置１４０の操作内容との相関を管理する。その後、マスター装置１４０は、各情報処理装置３２、３３、３４で測定されたリモコン３０の変位量を採取し、採取した変位量から上記の相関を参照して、マスター装置１４０の対応する操作内容を判定し、自身の制御内容を決定する。
【０２１１】
（システムの導入時の初期化）
新しくこの遠隔操作システムを導入する場合には、まず、リモコン３０の変位量に対する、リモコン３０の操作対象となる情報処理装置の操作内容を設定するために以下のような初期化動作を行う。
【０２１２】
まず、リモコン３０の操作対象とすべき情報処理装置がネットワーク３１に接続され、この情報処理装置に対して初期化を指示する信号がユーザより入力されることで、その情報処理装置がネットワーク３１に接続された全ての情報処理装置の中で唯一のマスター装置１４０となり、その他の情報処理装置はスレーブ装置１５０となる。
【０２１３】
マスター装置１４０は、初期化指示信号を受けると共同学習モードの状態になり、その旨をスレーブ装置１５０に通知する。スレーブ装置５０は、マスター装置４０から共同学習モードの状態になったことの通知を受けると、ネットワーク３１に自身の存在を知らせるための信号をブロードキャスト配信する。
【０２１４】
また、マスター装置１４０は、共同学習モードの状態になると、自己操作テーブル作成装置１４３にて自己操作テーブルの作成を行う。図２８は、このマスター装置１４０に保持された自己操作テーブルの初期状態を示している。自己操作テーブルには、マスター装置１４０である情報処理装置自身の操作内容が既に登録されている。たとえば、マスター装置１４０である情報処理装置がＴＶである場合、「ＰＯＷＥＲ  ＯＮ」「チャンネル＋１ｃｈ」「Ｖｏｌｕｍｅ＋」などの操作内容が既に登録済みとなっている。各々の操作内容に対応する変位量は初期状態においては空である。
【０２１５】
マスター装置１４０は、スレーブ装置１５０より自身の存在を知らせるための信号を受け取ると、そのスレーブ装置１５０からのリモコン３０の変位量を格納するためのカラムを自己操作テーブルに追加する。したがって、スレーブ装置１５０の数が増えて行くにつれて、図２９に示すように、自己操作テーブルに変位量のカラムが追加される。
【０２１６】
次に、自己操作テーブルに変位量を格納して自己操作テーブルを完成させる処理を行う。
【０２１７】
図３０は、この自己操作テーブルを作成するシーケンスを示している。
【０２１８】
まず、マスター装置１４０では、リモコンの動作を機器の操作内容へ割り当てる作業を開始する旨をディスプレイなどを通してユーザに通知する。ユーザはこの通知を受けたことを契機に、リモコンの動作を割り当てるべき操作内容を入力する。たとえば、自己操作テーブルに登録済みの各種操作内容の一覧をマスター装置１４０のディスプレイに表示させ、その中からリモコンの動作を割り当てたい操作内容をユーザに選択してもらい、続いて、その選択した操作内容に対応するリモコンの動きを入力するための操作をユーザに行ってもらう。ここで、リモコンの動きを入力するための操作とは、たとえば、リモコンの移動開始ボタンを押し、リモコンを空間移動させ、最後に移動終了ボタンを押す、といった一連の操作である。
【０２１９】
このとき、マスター装置１４０および各スレーブ装置１５０の変位量演算装置１４２、１５２は、リモコン３０の移動開始ボタンが押された時点でのリモコン３０の位置と、移動終了ボタンが押された時点でのリモコン３０の位置との間の変位量を演算する。ここで、変位量演算装置１４２、１５２にはネットワーク３１上で同期した時刻を発生する時刻装置１４１、１５１からの時刻が入力されているので、マスター装置１４０および各スレーブ装置１５０で演算されたそれぞれの変位量には互いに同期したタイムスタンプが与えられる。スレーブ装置１５０は、このタイムスタンプが与えられた変位量をネットワーク３１上にブロードキャスト配信する。
【０２２０】
マスター装置４０は、図３１に示すように、マスター装置１４０自身で演算した変位量（ａ１，ａ２，ａ３，・・・）と各スレーブ装置１５０から受け取った変位量（ｂ１，ｂ２，ｂ３，・・・，ｃ１，ｃ２，ｃ３，・・・）を、各々の変位量に与えられているタイムスタンプを基に、対応する操作内容へそれぞれ割り当てる。これにより自己操作テーブルが完成する。
【０２２１】
（既に導入されているシステムへの新たな情報処理装置の追加）
次に、既に導入されている上記の遠隔操作システムに新たな情報処理装置（スレーブ装置）が追加された場合、つまりマスター装置１４０の自己操作テーブルが完成している環境に、追加されたスレーブ装置１５０からの変位量が入るカラムが追加された場合、の動作を説明する。
【０２２２】
まず、マスター装置１４０は、新たに加わったスレーブ装置１５０を検知する。ここでユーザがマスター装置１４０に対して共同学習モードへの切り替えを指示する信号を入力することによって、マスター装置１４０は共同学習モードの状態になり、その旨を各スレーブ装置１５０に通知する。
【０２２３】
新たに加わったスレーブ装置５０は、マスター装置４０から共同学習モードの状態になったことの通知を受けると、ネットワーク３１上における自身の存在を知らせるための信号をネットワーク３１に発信する。するとマスター装置１４０は図３２に示すように、追加されたスレーブ装置１５０からの変位量が入るカラムが追加された自己操作テーブルを作成する。
【０２２４】
この後は、図３０に示した自己操作テーブルを作成するシーケンスと同様の手順で、追加されたスレーブ装置１５０を含むすべての情報処理装置にて演算された変位量をマスター装置１４０に集めて、自己操作テーブルを再構成する。
【０２２５】
（遠隔操作システムからの情報処理装置の削除）
遠隔操作システムからスレーブ装置１５０を削除する場合、マスター装置１４０は削除されたスレーブ装置１５０から取得した変位量がカラムごと削除する、自己操作テーブルの再構成が行われる。
【０２２６】
（遠隔操作システムを一つの情報処理装置で運用する場合の動作）
図３３は、このときの自己操作テーブル作成の動作を示すフローチャートである。
【０２２７】
遠隔操作システムに一つの情報処理装置しか接続されていない場合には、まず、初期化を行うための契機となる信号が、たとえば初期化ボタンをユーザが押下するなどして情報処理装置に入力される（ステップ３３０１）。これにより、その情報処理装置は学習モードの状態になり、リモコンの動作を機器の操作内容へ割り当てる作業を開始する旨をディスプレイなどを通してユーザに通知する。ユーザはこの通知を受けたことを契機に、リモコン３０の動作を割り当てるべき操作内容を入力する（ステップ３３０２）。続いてユーザは、その選択した操作内容に対応するリモコンの動きを入力する。すなわち、ユーザがリモコン３０の移動開始ボタンを押し、リモコン３０を移動させ、最後に移動終了ボタンを押す、といった一連の動作を行う。これによってマスター装置１４０の変位量演算装置１４２にて、リモコン３０の移動開始ボタンが押された時点でのリモコン３０の位置と移動終了ボタンが押された時点でのリモコン３０の位置との間の変位量が演算され（ステップ３３０３）、その結果が自己操作テーブルの対応する操作内容の変位量として登録される（ステップ３３０４）。これにより自己操作テーブルが完成される。
【０２２８】
（リモコンの空間移動に基づく情報処理装置の制御）
次に、リモコンの動きに基づく情報処理装置の制御について説明する。図３４は、マスター装置１４０が、リモコンの変位量に基づき自己操作テーブルを参照して自身の制御方法を判定する動作のフローチャートである。
【０２２９】
マスター装置１４０は、遠隔操作システムに属する１つ以上の情報処理装置にて、リモコン３０の空間移動に伴って演算された変位量をそれぞれ採取する（ステップ３４０１）。次に、マスター装置１４０は、制御方法演算装置１４５にて、自己操作テーブルを参照して、採取した複数の変位量に最も近い操作内容を検索し（ステップ３４０２）、その操作内容に応じた制御内容をマスター装置４１０の制御内容実行装置１４６へ送って制御内容を実行させる（ステップ３４０３）。
【０２３０】
（遠隔操作システムの具体例）
図３５は、この遠隔操作システムの具体的な構成を示す図である。
【０２３１】
情報処理装置としてＴＶ１６１、ラジオ１６２、エアコン１６３がネットワーク３１を通じて接続され、また、ＴＶ１６１を操作対象とするリモコン３０が存在しているものとする。したがって、この環境では、ＴＶ１６１がマスター装置１４０、ラジオ１６２およびエアコン１６３がスレーブ装置１５０として動作する。
【０２３２】
マスター装置１４０であるＴＶ１６１において、たとえば初期化ボタンがユーザによって押されることなどによって、ＴＶ１６１は共同学習モードの状態になり、さらにＴＶ１６１からスレーブ装置１５０であるラジオ１６２およびエアコン１６３にその旨が通知されることで、ラジオ１６２およびエアコン１６３も共同学習モードに入る。
【０２３３】
共同学習モードに入ると、スレーブ装置１５０であるラジオ１６２およびエアコン１６３は、ネットワーク３１上に自己の存在をブロードキャスト配信する。マスター装置１４０であるＴＶ１６１は、上記の通知を受けると、自己操作テーブルにスレーブ装置１５０ごとの変位量のカラムを追加する。図３６はＴＶ１６１に保持された初期の自己操作テーブルの例、図３７はこの自己操作テーブルに２つのスレーブ装置１５０にそれぞれ対応する変位量２および変位量３の各カラムを追加した例である。
【０２３４】
次に、マスター装置１４０は、自身のディスプレイを通して、共同学習モードに入った旨をユーザに通知し、続いてユーザに操作内容の選択を促す旨を通知する。ユーザはこれを契機に操作内容をマスター装置１４０に入力する。たとえば、自己操作テーブルに登録済みの各種操作内容の一覧をマスター装置１４０のディスプレイに表示させ、その中からリモコン３０の動作を割り当てたい操作内容をユーザに選択してもらい、続いて、その選択した操作内容に対応するリモコンの動きを入力するための操作をユーザに行ってもらう。
【０２３５】
これによって各情報処理装置にて、リモコン３０の動きの変位量が求められ、その結果はマスター装置１４０であるＴＶ１６１に集められる。マスター装置１４０であるＴＶ１６１は、各情報処理装置より採取した各変位量をタイムスタンプに基づいて個々の操作内容に割り当てて自己操作テーブルを完成させる。図３８は完成した自己操作テーブルの例である。ここで、変位量１はＴＶ１６１にて演算されたリモコン３０の変位量、変位量２はラジオ１６２にて演算されたリモコン３０の変位量、変位量３はエアコン１６３にて演算されたリモコン３０の変位量である。
【０２３６】
次に、この自己操作テーブルに基づく情報処理装置の制御について説明する。
【０２３７】
ＴＶ１６１にて演算された変位量が"５"、ラジオ１６２にて演算された変位量が"６"、エアコン１６３にて演算された変位量が"０"であったとする。これらの変位量の演算結果がマスター装置１４０であるＴＶ１６１に集められると、ＴＶ１６１は、これらの変位量から自己操作テーブルを参照した結果、操作内容として「ＴＶ  Ｖｏｌｕｍｅ＋」という操作内容を検出し、この操作内容に対応する制御内容を制御内容実行装置１４６に送り、制御内容を実行する。
【０２３８】
以上説明したように、この実施形態によれば、リモコン３０の空間移動の情報に情報処理装置の操作内容を割り当てることができる。また、ネットワークに接続された複数の情報処理装置の中で操作対象の情報処理装置を初期設定で切り替えることができ、結果的に一つのリモコンで複数の情報処理装置を操作することができる。
【０２３９】
なお、本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【０２４０】
たとえば、マスター装置を共同学習モードに切り替えるには、ボタンによる信号入力のほかに、ネットワークからの信号入力や、ユーザのジェスチャなどの画像を撮像し、画像認識を通してユーザの意図を判定する方法などがある。
【０２４１】
リモコンの動きを入力する直前に操作内容を選択する手段としては、ユーザによる人為的な方法によらず、内部ネットワークあるいは外部ネットワークに接続された機器がユーザに代わって操作内容を選択し、それをユーザが確認してリモコンの動きを入力するようにしてもかまわない。
【０２４２】
リモコンの空間移動の情報を得る方法としては、電波強度を測定する方法のほか、リモコンの画像を情報処理装置に取り付けられたカメラで捕らえ、画像解析を通して測定する方法、超音波による距離測定などを挙げることができる。
【０２４３】
マスター装置およびスレーブ装置の各時刻装置の同期を保つために、ネットワーク上にタイムサーバを配置しておき、このタイムサーバにマスター装置およびスレーブ装置が定期的にアクセスして各々の時刻調整を行うようにすることが好ましい。またマスター装置の時刻を基準として、マスター装置から各スレーブ装置に定期的に時刻を配信し、スレーブ装置の時刻調整を行うようにしてもよい。
【０２４４】
リモコンの空間移動の情報として、上記の実施形態では電波強度などの測定結果に基づくスカラ量を採用しているが、カメラでリモコンの画像を捕らえて画像解析を行うことなどによって得た測定結果に基づくベクトル量を採用することが可能である。
【０２４５】
さらに、以上の実施形態では、リモコンの変位量として位置の変位量のみを扱っているが、時刻装置から与えられる時刻と移動の距離から得られる速度の情報を、操作内容に割り当てられる変位量の要素に含めてもかまわない。
【０２４６】
また、遠隔操作システムの第２の実施形態において、スレーブ装置は演算で求めた変位量をネットワーク上の不特定多数の機器に配信する方法としては、ブロードキャスト配信のほかにＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）マルチキャスト配信でもよい。
【図面の簡単な説明】
【０２４７】
【図１】この発明のネットワークシステムの一例を示す図である。
【図２】この発明の情報処理装置が備える情報処理コントローラの説明に供する図である。
【図３】ソフトウェアセルの一例を示す図である。
【図４】ＤＭＡコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示す図である。
【図５】複数の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図６】情報処理コントローラのソフトウェア構成の一例を示す図である。
【図７】４台の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図８】図７のシステムにおける分散処理の例を示す図である。
【図９】遠隔操作システムの基本構成を示すブロック図である。
【図１０】図９の遠隔操作システムのマスター装置の構成を示すブロック図である。
【図１１】図９の遠隔操作システムのスレーブ装置の構成を示すブロック図である。
【図１２】図９の遠隔操作システムの情報処理装置に保持された自己操作テーブルの初期状態を示す図である。
【図１３】操作テーブル合成装置の動作を示すフローチャートである。
【図１４】マスターテーブルの構成を示す図である。
【図１５】マスターテーブルの再構築のシーケンス図である。
【図１６】マスターテーブルの再構築の例を示す図である。
【図１７】再構築前のマスターテーブルを示す図である。
【図１８】スレーブ装置が追加された場合のマスターテーブルの再構築のシーケンスを示す図である。
【図１９】マスターテーブルの再構築の結果を示す図である。
【図２０】２つのマスターテーブルをマージして作成されたマスターテーブルを示す図である。
【図２１】遠隔操作システムを一つの情報処理装置で運用する場合の自己操作テーブル作成の動作を示すフローチャートである。
【図２２】リモコンの空間移動に基づく情報処理装置の制御の動作を示すフローチャートである。
【図２３】遠隔操作システムの具体的な構成を示すブロック図である。
【図２４】ＴＶ、ラジオ、エアコンの初期の自己操作テーブルの例を示す図である。
【図２５】図２４の自己操作テーブルをベースに作成されたマスターテーブルを示す図である。
【図２６】他の実施形態である遠隔操作システムのマスター装置の構成を示すブロック図である。
【図２７】他の実施形態である遠隔操作システムのスレーブ装置の構成を示すブロック図である。
【図２８】図２６のマスター装置に保持された自己操作テーブルの初期状態を示す図である。
【図２９】図２８の自己操作テーブルに変位量のカラムが追加された結果を示す図である。
【図３０】他の実施形態である遠隔操作システムにおいて自己操作テーブルを作成するシーケンスを示す図である。
【図３１】変位量が割り当てられた自己操作テーブルを示す図である。
【図３２】図３１の自己操作テーブルに変位量のカラムが追加された結果を示す図である。
【図３３】遠隔操作システムを一つの情報処理装置で運用する場合の自己操作テーブル作成の動作を示すフローチャートである。
【図３４】他の実施形態である遠隔操作システムにおいてリモコンの空間移動に基づく情報処理装置の制御の動作を示すフローチャートである。
【図３５】他の実施形態である遠隔操作システムの具体的な構成例を示す図である。
【図３６】図３５のＴＶに保持された初期の自己操作テーブルの例を示す図である。
【図３７】自己操作テーブルに２つのスレーブ装置の変位量２および変位量３の各カラムを追加した例
【図３８】図３７から完成した自己操作テーブルの例を示す図である。
【符号の説明】
【０２４８】
３０      物体（リモコン）
３１      ネットワーク
３２，３３，３４      情報処理装置
４０      マスター装置
４１      時刻装置
４２      変位量演算装置
４３      自己操作テーブル作成装置
４４      操作テーブル合成装置
４５      制御方法演算装置
４６      制御内容実行装置
５０      スレーブ装置
５１      時刻装置
５２      変位量演算装置
５３      自己操作テーブル作成装置
５４      自己操作テーブル更新装置
５５      制御内容実行装置
１４０      マスター装置
１４１      時刻装置
１４２      変位量演算装置
１４３      自己操作テーブル作成装置
１４５      制御方法演算装置
１４６      制御内容実行装置
１５０      スレーブ装置
１５１      時刻装置
１５２      変位量演算装置
【図１】
2006025164.tif 000003
【図２】
2006025164.tif 000004
【図３】
2006025164.tif 000005
【図４】
2006025164.tif 000006
【図５】
2006025164.tif 000007
【図６】
2006025164.tif 000008
【図７】
2006025164.tif 000009
【図８】
2006025164.tif 000010
【図９】
2006025164.tif 000011
【図１０】
2006025164.tif 000012
【図１１】
2006025164.tif 000013
【図１２】
2006025164.tif 000014
【図１３】
2006025164.tif 000015
【図１４】
2006025164.tif 000016
【図１５】
2006025164.tif 000017
【図１６】
2006025164.tif 000018
【図１７】
2006025164.tif 000019
【図１８】
2006025164.tif 000020
【図１９】
2006025164.tif 000021
【図２０】
2006025164.tif 000022
【図２１】
2006025164.tif 000023
【図２２】
2006025164.tif 000024
【図２３】
2006025164.tif 000025
【図２４】
2006025164.tif 000026
【図２５】
2006025164.tif 000027
【図２６】
2006025164.tif 000028
【図２７】
2006025164.tif 000029
【図２８】
2006025164.tif 000030
【図２９】
2006025164.tif 000031
【図３０】
2006025164.tif 000032
【図３１】
2006025164.tif 000033
【図３２】
2006025164.tif 000034
【図３３】
2006025164.tif 000035
【図３４】
2006025164.tif 000036
【図３５】
2006025164.tif 000037
【図３６】
2006025164.tif 000038
【図３７】
2006025164.tif 000039
【図３８】
2006025164.tif 000040