(57)【要約】【課題】  ユーザが利用する機器から離れた位置に存在する場合でも、当該機器に関する音響情報をユーザに通知することができ、かつ、当該音響情報により、当該通知された情報に対応するユーザの行動をより容易にすることができるサーバ装置、音響制御システム及び音響制御方法を提供すること【解決手段】  ユーザ及びユーザが利用する機器の位置情報を取得し、当該位置情報に基づいて、上記機器からの通知情報が音響として当該機器の存在する方向からユーザに聞こえるように音響信号を生成することとしたため、ユーザが、利用する機器から離れた位置に存在する場合でも、当該機器の通知情報をユーザに通知することができ、かつ、当該通知により、通知された情報に対応するユーザの行動をより容易にすることができる。【選択図】  図３
2005228276.tif 000002
【特許請求の範囲】
【請求項１】
機器を利用するユーザの位置情報を取得する第１の取得手段と、
前記ユーザから離れた位置に存在する前記機器の位置情報を取得する第２の取得手段と、
前記機器が前記ユーザへ通知するための通知情報を当該機器から受信する通知情報受信手段と、
前記受信した通知情報が、音響再生部を介して音響として前記ユーザに対して前記機器の方向から聞こえるように、前記取得した前記ユーザ及び前記機器の位置情報に基づいて音響信号を生成する音響信号生成手段と、
前記生成した音響信号を、当該音響信号を再生させるために前記音響再生部へ送信する音響信号送信手段と
を具備することを特徴とするサーバ装置。
【請求項２】
請求項１に記載のサーバ装置であって、
前記通知情報の通知を要求するユーザの要求信号を受信する要求信号受信手段と、
前記要求信号を前記機器へ送信する要求信号送信手段を更に具備することを特徴とするサーバ装置。
【請求項３】
請求項１に記載のサーバ装置であって、
前記機器は、前記ユーザから不可視な位置に存在することを特徴とするサーバ装置。
【請求項４】
請求項１に記載のサーバ装置であって、
前記通知情報は、前記機器が前記ユーザの操作に応じて実行した所定の動作の完了を通知するものであることを特徴とするサーバ装置。
【請求項５】
請求項１に記載のサーバ装置であって、
前記通知情報は前記ユーザに対する広告情報であることを特徴とするサーバ装置。
【請求項６】
ユーザへ通知するための通知情報を生成する通知情報生成手段と、前記通知情報を送信する送信手段とを有する機器と、
前記機器を利用する前記ユーザの位置情報を取得する第１の取得手段と、前記ユーザから離れた位置に存在する前記機器の位置情報を取得する第２の取得手段と、前記通知情報を前記機器から受信する通知情報受信手段と、前記受信した通知情報が、音響再生部を介して音響として前記ユーザに対して前記機器の方向から聞こえるように、前記取得した前記ユーザ及び前記機器の位置情報に基づいて音響信号を生成する音響信号生成手段と、前記生成した音響信号を、前記音響再生部に再生させるために前記音響再生部へ送信する音響信号送信手段とを有するサーバ装置と
を具備することを特徴とする音響制御システム。
【請求項７】
機器を利用するユーザの位置情報を取得するステップと、
前記ユーザから離れた位置に存在する前記機器の位置情報を取得するステップと、
前記機器が前記ユーザへ通知するための通知情報を当該機器から受信するステップと、
前記受信した通知情報が、音響再生部を介して音響情報として前記ユーザに対して前記機器の方向から聞こえるように、前記取得した前記ユーザ及び前記機器の位置情報に基づいて音響信号を生成するステップと、
前記生成した音響信号を当該音響信号を再生させるために前記音響再生部へ送信するステップと
を具備することを特徴とする音響制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響を制御してユーザに情報を通知することが可能なサーバ装置、音響制御システム及び音響制御方法に関する。
【背景技術】
【０００２】
従来から、ユーザが利用する機器に関する情報を音響としてユーザに通知する際に、当該音響が上記情報の提示されている位置方向から聞こえるように音響を制御したり、当該情報が示唆する行動をユーザが行うべき方向から聞こえるように音響を制御したりして、ユーザが行うべき行動を容易にするという技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００２−１０８６０２号公報（段落[０００５]等。）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記技術においては、ユーザが上記機器と対面しているか、若しくは当該機器に近い位置にいる場合を想定しているため、ユーザの居場所が当該機器から遠く離れている場合には、上記音響をユーザに伝えることができず、ユーザが通知された情報の内容を聞き落としてしまうことがあった。
【０００４】
以上のような事情に鑑み、本発明の目的は、ユーザが利用する機器から離れた位置に存在する場合でも、当該機器に関する音響情報をユーザに通知することができ、かつ、当該音響情報により、当該通知された情報に対応するユーザの行動をより容易にすることができるサーバ装置、音響制御システム及び音響制御方法を提供することにある。
【課題を解決するための手段】
【０００５】
上述の課題を解決するため、本発明の主たる観点に係るサーバ装置は、機器を利用するユーザの位置情報を取得する第１の取得手段と、前記ユーザから離れた位置に存在する前記機器の位置情報を取得する第２の取得手段と、前記機器が前記ユーザへ通知するための通知情報を当該機器から受信する通知情報受信手段と、前記受信した通知情報が、音響再生部を介して音響として前記ユーザに対して前記機器の方向から聞こえるように、前記取得した前記ユーザ及び前記機器の位置情報に基づいて音響信号を生成する音響信号生成手段と、前記生成した音響信号を、当該音響信号を再生させるために前記音響再生部へ送信する音響信号送信手段とを具備することを特徴としている。
【０００６】
ここで上記機器とは、例えば電子レンジ、洗濯機等の家電機器や、店舗に設置されたＰＣ（Personal Computer）等の電子機器等、上記電子機器への通知情報の通知機能以外に単独で所定の機能を発揮することができるあらゆる機器をいう。
【０００７】
また上記通知情報とは、例えば電子レンジがユーザに「調理完了」を知らせる情報や、店舗のＰＣからユーザへ通知される広告情報等をいう。当該情報は、音声情報であってもよいし、テキスト情報等音声以外の情報であってもよい。
【０００８】
また上記音響再生部とは、具体的にはスピーカやヘッドホン等、音響を再生することが可能な装置をいう。スピーカの場合には、当該スピーカはユーザの居場所に関わらず常にユーザに音響を提供できるよう、屋内及び屋外の任意の場所に点在していてもよい。
【０００９】
この構成によれば、上記ユーザ及び機器の位置情報を取得し、当該位置情報に基づいて、上記機器からの通知情報が音響として当該機器の存在する方向からユーザに聞こえるように音響信号を生成することとしたため、ユーザが、利用する機器から離れた位置に存在する場合でも、当該機器の通知情報をユーザに通知することができ、かつ、当該通知により、通知された情報に対応するユーザの行動をより容易にすることができる。
【００１０】
例えば、ユーザが電子レンジを利用して調理を行っている場合に、ユーザが当該電子レンジから離れた場所にいても、電子レンジの「調理完了」を知らせる通知情報が当該電子レンジの方向から聞こえるため、ユーザは当該情報を容易に知ることができるとともに、調理が完了した料理を電子レンジのある場所まで取りに行く、という行動を容易に取ることができる。
【００１１】
上記サーバ装置は、前記通知情報の通知を要求するユーザの要求信号を受信する要求信号受信手段と、前記要求信号を前記機器へ送信する要求信号送信手段を更に具備してもよい。これにより、上記ユーザの通知要求に応じて上記機器の通知情報を通知することができるため、ユーザは情報を取得したいときに得ることができ、逆に、通知を所望しない情報の通知を回避することもできる。
【００１２】
上記サーバ装置において、前記機器は、前記ユーザから不可視な位置に存在していてもよい。これにより、ユーザが直接見ることができない機器からの通知情報も通知することができるため、ユーザの利便性が更に向上する。
【００１３】
上記サーバ装置において、前記通知情報は、前記機器が前記ユーザの操作に応じて実行した所定の動作の完了を通知するものであってもよい。これによりユーザは、例えば電子レンジの調理完了の通知や、風呂場の熱センサによる風呂焚きの完了通知等、利用する機器の動作の完了を容易に知ることができ、当該情報をその後の行動の動機付けとすることができる。
【００１４】
上記サーバ装置において、前記通知情報は前記ユーザに対する広告情報であってもよい。これにより、ユーザは例えば屋外にいる場合に、店舗からの広告情報を当該店舗から離れた場所にいても取得することができ、当該広告情報を買い物等の動機付けとすることができる。
【００１５】
本発明の別の観点に係る音響制御システムは、ユーザへ通知するための通知情報を生成する通知情報生成手段と、前記通知情報を送信する送信手段とを有する機器と、前記機器を利用する前記ユーザの位置情報を取得する第１の取得手段と、前記ユーザから離れた位置に存在する前記機器の位置情報を取得する第２の取得手段と、前記通知情報を前記機器から受信する通知情報受信手段と、前記受信した通知情報が、音響再生部を介して音響として前記ユーザに対して前記機器の方向から聞こえるように、前記取得した前記ユーザ及び前記機器の位置情報に基づいて音響信号を生成する音響信号生成手段と、前記生成した音響信号を、前記音響再生部に再生させるために前記音響再生部へ送信する音響信号送信手段とを有するサーバ装置とを具備することを特徴としている。
【００１６】
この構成によれば、ユーザへの通知情報を生成して上記サーバ装置へ送信する機器と、当該通知情報を受信して、ユーザ及び機器の位置情報を基に、上記通知情報が音響として上記機器の方向からユーザに聞こえるように音響信号を生成して上記音響再生部へ送信するサーバ装置とを具備することにより、ユーザが上記機器から離れた場所にいる場合でも、当該ユーザに当該機器からの通知情報を通知することができ、また当該通知により次の行動の動機付けとすることができる。
【００１７】
本発明のまた別の観点に係る音響制御方法は、機器を利用するユーザの位置情報を取得するステップと、前記ユーザから離れた位置に存在する前記機器の位置情報を取得するステップと、前記機器が前記ユーザへ通知するための通知情報を当該機器から受信するステップと、前記受信した通知情報が、音響再生部を介して音響情報として前記ユーザに対して前記機器の方向から聞こえるように、前記取得した前記ユーザ及び前記機器の位置情報に基づいて音響信号を生成するステップと、前記生成した音響信号を当該音響信号を再生させるために前記音響再生部へ送信するステップとを具備することを特徴としている。
【発明の効果】
【００１８】
本発明によれば、ユーザが利用する機器から離れた位置に存在する場合でも、当該機器に関する音響情報をユーザに通知することができ、かつ、当該音響情報により、当該通知された情報に対応するユーザの行動をより容易にすることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面に基づき説明する。
【００２０】
（第１の実施形態）
まず、本発明を家庭内における家事支援システムに適用した場合の実施形態について説明する。図１は、本実施形態におけるシステムの構成を示す図である。
【００２１】
同図において、家庭内にはサーバ１０１、熱センサ１０２、電子レンジ１０３、位置センサ１０４、スピーカ１０６が設置されており、各機器はＬＡＮ（Local Area Network）等を使用してサーバ１０１と通信を行うことが可能である。また、風呂場においては風呂が焚かれている最中であり、電子レンジ１０３は例えばグリル等の調理の最中である。ユーザは風呂場及び電子レンジ１０３から離れた別の部屋におり、位置センサ１０４がユーザの位置を検出するための発光体１０５を所持している。
【００２２】
熱センサ１０２は、風呂の湯の温度が適温になったことを検知する。当該適温は、例えば予めユーザが適温であると思う温度に設定しておけばよい。位置センサ１０４は家庭内の各部屋に設置され、ユーザが所持している発光体１０５が発する例えば赤外線発光ダイオード等の光源を認識して、ユーザの位置を検知する。具体的には、位置センサ１０４は、発光体１０５の位置を３次元的に認識するための図示しない複数の光センサ及びこれら光センサからの信号を処理するためのプロセッサ等で構成される。位置センサ１０４による検出精度を高めるために、ユーザは発光体１０５を複数所持してもよい。スピーカ１０６は家庭内の任意の場所（例えば各部屋の四隅）に複数設置され（１０６ａ、１０６ｂ、１０６ｃ・・・）、サーバ１０１は各スピーカから任意の音を出力させることが可能である。
【００２３】
このような構成において、熱センサ１０２は、風呂の湯の温度が適温になったことを感知すると、それをユーザに通知するための通知情報をサーバに送信する。また、電子レンジ１０３も、調理が完了するとそれをユーザに通知するための通知情報をサーバ１０１に送信する。
【００２４】
当該通知情報を受信したサーバ１０１は、上記位置センサ１０４が検知したユーザの位置情報、熱センサ１０２及び電子レンジ１０３の位置情報を基に、上記通知情報がスピーカ１０６を介して当該通知情報を通知する機器の方向からユーザに聞こえるように音場計算を行って音響信号を生成し、当該音響信号をスピーカ１０６から出力させる。すなわち、サーバ１０１は、風呂の湯が適温になったこと、及び電子レンジ１０３の調理が完了したことを通知する通知情報を、それぞれ熱センサ１０２（風呂場）及び電子レンジ１０３の方向から聞こえるように、音場を計算して出力させる。
【００２５】
なお、上記熱センサ１０２及び電子レンジ１０３、各スピーカ１０６の位置情報は予めサーバに登録してあってもよいし、各機器がサーバに対して通知情報とともに位置情報を送信するような態様であってもよい。
【００２６】
図２は、上記システムの電気的な構成を示す図である。
【００２７】
同図に示すように、サーバ１０１、熱センサ１０２、電子レンジ１０３、位置センサ１０４はＬＡＮによって接続され、互いに通信を行うことが可能となっている。
【００２８】
サーバ１０１は、ＲＡＭ（Random Access Memory）２０１、ＲＯＭ（Read Only Memory）２０２、通信部２０３、ＣＰＵ２０４、音響生成部２０５等で構成され、それらはバス２０６によって接続されている。
【００２９】
ＲＡＭ２０１は高速で読み書きが可能なメモリであり、ＣＰＵ２０４のワーキングエリア等に用いられる。ＲＯＭ２０２は各種のプログラムやデータなどを固定的に格納した不揮発性のメモリであり、例えばサーバ１０１において音場を計算するためのプログラム及び上記熱センサ１０２や電子レンジ１０３、スピーカ１０６の位置情報等のデータが格納される。
【００３０】
通信部２０３は、上記熱センサ１０２や電子レンジ１０３等の各機器とＬＡＮを介して通信を行うためのインターフェースであり、例えば各機器からの通知情報を受信する。
【００３１】
ＣＰＵ２０４は、バス２０６を通じて各部門の情報のやり取りを制御すると共に、ＲＯＭ２０２からＲＡＭ２０１に必要なプログラムやデータをロードし、そのプログラムに従ってサーバ１０１の制御や各種のデータ処理を行う。
【００３２】
音響生成部２０５は、上記ユーザや各機器の位置情報を基に、適切なスピーカ１０６を選択して、当該スピーカ１０６を介して、上記通知情報を音響としてユーザに通知するための音響信号を生成する。ユーザに通知される音響は、風呂焚きや調理の完了を知らせる例えば「お風呂が沸きました。」、「調理が完了しました。」等の音声でもよいし、効果音であってもよい。当該音響信号の生成処理の詳細については後述する。
【００３３】
次に、上記のように構成されたシステムにおいて、サーバ１０１がユーザに通知情報を通知する動作について説明する。図３は、当該動作を示すフロー図である。
【００３４】
同図に示すように、熱センサ１０２や電子レンジ１０３等の機器がそれぞれの動作を完了すると、サーバ１０１はまず、それらの機器から上記動作の完了を通知する通知情報を受信する（ステップ３０１）。次にサーバ１０１は、上記位置センサ１０４に対して、ユーザの位置情報の取得を要求する（ステップ３０２）。当該取得要求を受けた位置センサ１０４は上記発光体１０５によりユーザの位置を検知し、当該検知した位置情報をサーバ１０１へ送信する。サーバ１０１は、当該ユーザの位置情報を受信すると（ステップ３０３）、当該位置情報を基に、上記通知情報を音響としてユーザに通知するために、当該音響を再生させるスピーカを選択する（ステップ３０４）。例えば、ユーザが上記図１の位置にいる場合に、上記熱センサ１０２からの通知情報をユーザに通知する場合には、ユーザの位置に近く、かつ熱センサ１０２の方向側にある２つのスピーカ１０６ｅ及び１０６ｇを選択する。そして、当該選択した両スピーカの位置情報、ユーザの位置情報及び機器（この場合は熱センサ１０２）の位置情報を基に、通知する音響がユーザに対して上記機器の方向から聞こえるように音場を計算して、音響信号を生成する（ステップ３０５）。
【００３５】
当該音場計算は、具体的には、図４に示すような方法によって行う。同図においては、決定した両スピーカ間を結んだ直線と、ユーザと上記通知情報を通知する機器間を結んだ直線との交点の位置から音響を再生しようとする場合を想定する。当該再生地点から、ユーザから見て左側のスピーカまでの距離をＬ１、右側のスピーカまでの距離をＲ１とし、左側のスピーカの音圧をＰＬ、右側のスピーカの音圧をＰＲとすると、両スピーカの音圧比は、
ＰＬ／ＰＲ＝Ｒ１／Ｌ１
という式で表される。また、上記再生地点からユーザの左耳までの距離をＬ２、右耳までの距離をＲ２、左側のスピーカからユーザの左耳までの距離をＬ３、右側のスピーカからユーザの右耳までの距離をＲ３、音速をｖとすると、左側のスピーカの右側のスピーカに対する発音時間差ＴＲＬは、
ＴＲＬ＝｛（Ｌ２−Ｌ３）−（Ｒ２−Ｒ３）｝／ｖ
という式で表される。なお、上記機器から送信される通知情報が、音響信号以外の例えばテキスト情報であった場合には、サーバ１０１は当該テキスト情報を音響信号に変換した上で上記音場の計算を行う。
【００３６】
上記計算方法以外にも、頭部伝達関数（ＨＲＴＦ、Head Related Transfer Function）と、ユーザの位置における室内伝達関数（ＲＴＦ、Room Transfer Function）とを用いた音像定位によって、より臨場感のある音響を生成するようにしてもよい。頭部伝達関数とは、反射波が全く無い空間（自由空間）における、頭部や耳たぶの影響を含め、音源から聴取者の鼓膜までの音の伝達特性を表すものである。また室内伝達関数とは、室内における音源から受音点までの伝達特性を表したもので、部屋の壁の反射などの影響を含んでいる。当該両関数を利用する場合、例えば上記頭部伝達関数に関するデータは予め測定した上で上記サーバ１０１に登録しておくか、既存のデータをサーバ１０１に登録しておく。また上記室内伝達関数に関するデータは、ユーザが室内であまり動かないのであれば、ユーザにマイクを取り付けておき、ユーザに通知情報を通知する直前に、その時点でユーザが居る場所の室内伝達関数を上記マイクで測定して、上記頭部伝達関数のデータを組み合わせることにより音響信号を生成すればよい。
【００３７】
そして、サーバ１０１は以上の式によって計算した値を基に生成した音響信号を、上記スピーカへ送信する（ステップ３０６）。これにより、スピーカ１０６から上記音響が再生され、ユーザには当該音響が上記機器の方向から聞こえるように感知される。
【００３８】
以上の動作により、サーバ１０１は、ユーザが利用する機器から離れた位置に存在する場合でも、当該機器の通知情報をユーザに通知することができ、かつ、当該通知により、通知された情報に対するユーザの行動の動機付けを図ることができる。すなわち、通知情報を通知する機器の方向から通知情報が聞こえるため、ユーザは当該通知情報がどの機器に関する情報であるのかを容易に認識することができ、また、その機器の方向に注意が働くため、当該通知情報に対応するための行動、例えば電子レンジ１０３へ料理を取りに行くという行動を容易に取ることができる。
【００３９】
また、ユーザが上記機器を見ることができない位置に居た場合でも、当該機器の方向から通知情報を通知することにより、当該機器の場所をユーザに示唆することができ、ユーザの利便性がより向上する。
【００４０】
図５は、上記動作により、サーバ及び各機器との間でやり取りされる情報の流れを示したシーケンス図である。同図においては、図１における熱センサ１０２がまず風呂焚き完了を通知し、その後電子レンジ１０３が調理完了を通知する場合について説明する。
【００４１】
同図に示すように、まず、熱センサ１０２はサーバ１０１に対して風呂焚き完了を通知する。当該通知情報を受信したサーバ１０１は、位置センサ１０４に対してユーザの位置情報を要求する。位置センサ１０４は、発光体１０５によりユーザの位置を検知し、検知したユーザの位置情報をサーバに送信する。サーバ１０１は、当該受信したユーザの位置情報、予め記憶しておいた熱センサ１０２及びスピーカ１０６の位置情報を基に、上述したような方法で音場を計算して音響信号を生成し、当該音響信号を再生させるためにスピーカ１０６へ送信する。当該音響信号をスピーカが再生することで、通知情報がユーザに通知される。
【００４２】
次に、電子レンジ１０３が、サーバ１０１に調理完了を通知する。当該通知情報を受信したサーバ１０１は、上述の熱センサ１０２の場合と同様に位置センサ１０４へユーザの位置情報を要求して、位置センサ１０４から受信したユーザの位置情報等を基に音響信号を生成してスピーカ１０６へ送信する。
【００４３】
以上の情報の流れにより、ユーザにとって機器の方向から聞こえるような音響信号が生成され、ユーザへの通知情報の通知処理が実現される。
【００４４】
（第２の実施形態）
次に、本発明を、店舗の広告システムに適用した場合の実施形態について説明する。図６は、本実施形態におけるシステムの構成を示す図である。上記図１と同一の構成となる箇所については同一の符号を付し、説明を省略する。
【００４５】
同図に示すように、本実施形態における広告システムは、サーバ１０１、位置センサ１０４、例えば洋服店Ａ及びＢ等の店舗に設置されたＰＣ６０１ａ及びＰＣ６０１ｂ、ユーザ端末６０２、ヘッドホン６０３により構成され、それらは互いに例えばインターネットにより通信を行うことが可能である。サーバ１０１は同図に示す以外にも、屋外の任意の場所に複数設置される。また、位置センサ１０４も屋外の任意の場所に複数設置される。ユーザ端末６０２及びヘッドホン６０３はユーザによりそれぞれ携帯及び装着されている。本システムにおいては、例えば、ユーザが洋服を購入することを所望し、街中でサーバ１０１を介して洋服店から広告情報を受け取る場合を想定する。
【００４６】
洋服店Ａ及びＢに設置されたＰＣ６０１ａ及びＰＣ６０１ｂは、サーバ１０１に対して自店の広告情報を送信することが可能である。
【００４７】
ユーザ端末６０２としては例えばＰＤＡ（Personal Digital Assistant）、携帯電話等が挙げられる。当該ユーザ端末６０２は、ユーザが店舗から広告情報を取得したい場合に、サーバ１０１に対して当該広告情報の取得を要求する。また、ユーザ端末６０２は、ＧＰＳ（Global Positioning System）受信機としての機能も持ち、同図の人工衛星６０４からの電波を受信して、屋外におけるユーザの位置を測定することが可能である。更にユーザ端末６０２は、上記図１で述べた発光体１０５も内蔵し、上記ＧＰＳによってユーザの位置の大まかな範囲を絞った後に、位置センサ１０４が当該発光体１０５を認識することによってユーザ位置をより詳細に検知することができる。
【００４８】
このように構成されたシステムにおいて、サーバ１０１は、ユーザ端末６０２から広告情報の取得要求を受け取ると、ユーザの位置情報を上記ＧＰＳ及び位置センサ１０４によって取得する。そして、ユーザの位置から近い洋服店を検索し、例えば洋服店Ａ及びＢを探し出す。そして、当該両洋服店から広告情報を受信して、当該広告情報が当該広告をする洋服店の方向からヘッドホン６０３を介してユーザに聞こえるように音響信号を生成し、ヘッドホンに送信する。これらの動作を以下において詳細に説明する。
【００４９】
図７は、サーバ１０１が、店舗の広告情報をユーザに提供する際の動作を示すフロー図である。同図に示すように、サーバ１０１はまず、ユーザ端末６０２からの広告情報要求及び当該ユーザ端末６０２のＧＰＳ受信機が受信したユーザの位置情報を受信する（ステップ７０１）。そして、当該受信したＧＰＳによるユーザ位置情報を位置センサ１０４へ送信して、ユーザのより詳細な位置情報を要求する（ステップ７０２）。当該位置センサ１０４からユーザの詳細な位置情報を受信すると（ステップ７０３）、当該位置情報を基に、ユーザの近くにある店舗を検索する（ステップ７０４）。例えばユーザの広告情報要求が洋服店情報を要求するものであれば、洋服店を検索する。
【００５０】
次にサーバ１０１は、検索した店舗に対して広告情報を要求し（ステップ７０５）、当該要求に応じた店舗から広告情報を受信する（ステップ７０６）。なお、当該広告情報は音声情報であっても良いし、テキスト情報等、音声に変換して再生することができるものであればどのようなものでも良い。また、当該店舗の位置、要求先のアドレス等の情報については、予め若しくは随時サーバ１０１がデータベースに登録しておけばよい。更に、店舗の詳細な位置情報については、サーバ１０１が広告情報とともに受信するようにしてもよい。
【００５１】
続いてサーバ１０１は、上記ユーザの位置情報及び検索した店舗の位置情報を基に、上記店舗の広告情報が当該店舗の方向からユーザに聞こえるように音場を計算し、音響信号を生成する（ステップ７０７）。当該音場計算は例えば上述の第１実施形態において説明した頭部伝達関数を用いて行う。そして生成した音響信号をユーザのヘッドホン６０３に送信する（ステップ７０８）ことにより、当該ヘッドホン６０３から上記音響が再生され、ユーザには当該音響が上記店舗の方向から聞こえるように感知される。
【００５２】
なお、上記ステップ７０４において複数の店舗が検索された場合には、検索された店舗の数だけ、例えばユーザに近い店舗順に広告情報を提供する。また、上記ユーザの広告情報要求は、例えば洋服店、飲食店等、大まかなカテゴリ別の要求であっても良いし、例えば洋服店であれば、ユーザの好きなブランドを扱っている店、セールを行っている店等、飲食店であれば和食、中華料理、フランス料理等、ユーザの趣向に合ったより詳細な要求であっても良い。この場合にはサーバ１０１は当該店舗の種類及び同一種類の店舗のより詳細な分類情報を予めデータベースに登録しておく。
【００５３】
以上の動作により、ユーザが屋外に居る場合でも、ユーザが所望する広告情報を当該広告情報の発信元である店舗の方向から聞こえるように提供することができ、当該広告情報によりユーザの買い物等の動機付けとすることができる。
【００５４】
また、上記ユーザの通知要求に応じて広告情報を提供することができるため、ユーザは情報を取得したいときに得ることができ、逆に、所望しない情報がむやみに提供されることを回避することもできる。
【００５５】
図８は、上記動作により、サーバ及び各機器との間でやり取りされる情報の流れを示したシーケンス図である。同図においては、ユーザの洋服店に関する広告情報要求により、洋服店Ａ及びＢが検索された場合について説明する。
【００５６】
同図に示すように、まずユーザ端末６０２は、ユーザが所望する広告情報の要求データ及びユーザ端末６０２がＧＰＳ受信機により測位したユーザの位置情報をサーバ１０１へ送信する。当該要求及び位置情報を受信したサーバ１０１は、ＧＰＳによるユーザの位置情報を位置センサ１０４へ送信し、ユーザの詳細な位置情報を要求する。要求を受けた位置センサ１０４は、ユーザ端末６０２が内蔵する発光体１０５によりユーザの位置を検知し、当該位置情報をサーバ１０１へ送信する。続いてサーバ１０１は、予め登録しておいたデータを基に、ユーザに近い位置にある洋服店を検索し、検索の結果洋服店Ａと洋服店Ｂを探し出すと、まず洋服店Ａに対して広告情報の送信を要求する。要求を受けた洋服店Ａは、例えばテキスト情報、音声情報等の広告情報をサーバ１０１へ送信する。続いてサーバ１０１は、洋服店Ａ及びユーザの位置情報を基に音場を計算して音響信号を生成し、ヘッドホン６０３へ送信する。この際受信した広告情報が音声以外の情報である場合には、音声情報に変換する。また洋服店Ｂについても同様に広告情報を受信して音響信号を生成し、ヘッドホン６０３へ送信する。
【００５７】
以上の流れにより、サーバ１０１が生成した音響信号がユーザのヘッドホン６０３により再生されることで、広告情報が洋服店の方向から聞こえるようにユーザに提供される。
【００５８】
なお、本発明は以上説明した実施の形態には限定されるものではなく、種々の変形が可能である。例えば、本発明を、以下に説明するようなネットワークシステムに適用することも可能である。
【００５９】
（第３の実施形態）
図９は、本発明の第３の実施形態におけるネットワークシステムの一例を示し、ネットワーク９を介して複数の情報処理装置１、２、３、４が接続されたものである。情報処理装置１、２、３、４は、例えば上述の第１実施形態におけるサーバ１０１、電子レンジ１０３等の家電機器、第２実施形態における複数のサーバ１０１、ユーザ端末６０２等のような各種機器である。
【００６０】
情報処理装置１について示すと、情報処理装置１は、コンピュータ機能部として情報処理コントローラ１１を備える。情報処理コントローラ１１は、メインプロセッサ２１−１、サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−１およびＤＣ（ディスクコントローラ）２７−１を有する。
【００６１】
メインプロセッサ２１−１は、サブプロセッサ２３−１，２３−２，２３−３によるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ１１（情報処理装置１）の全般的な管理とを行う。ただし、メインプロセッサ２１−１内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。その場合には、メインプロセッサ２１−１はサブプロセッサとしても機能することになる。メインプロセッサ２１−１は、ＬＳ（ローカルストレージ）２２−１を有する。
【００６２】
サブプロセッサは、１つでもよいが、望ましくは複数とする。本例は、複数の場合である。各サブプロセッサ２３−１，２３−２，２３−３は、メインプロセッサ２１−１の制御によって並列的かつ独立に、プログラムを実行し、データを処理する。さらに、場合によってメインプロセッサ２１−１内のプログラムがサブプロセッサ２３−１，２３−２，２３−３内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ２１−１内で動作するプログラムである。各サブプロセッサ２３−１，２３−２，２３−３も、ＬＳ（ローカルストレージ）２４−１，２４−２，２４−３を有する。
【００６３】
ＤＭＡＣ２５−１は、情報処理コントローラ１１に接続されたＤＲＡＭ（ダイナミックＲＡＭ）などからなるメインメモリ２６−１に格納されているプログラムおよびデータにアクセスするものであり、ＤＣ２７−１は、情報処理コントローラ１１に接続された外部記録部２８−１，２８−２にアクセスするものである。
【００６４】
外部記録部２８−１，２８−２は、固定ディスク（ハードディスク）でも、リムーバブルディスクでもよく、また、ＭＯ,ＣＤ±ＲＷ，ＤＶＤ±ＲＷなどの光ディスク、メモリディスク、ＳＲＡＭ（スタティックＲＡＭ）、ＲＯＭなど、各種のものを用いることができる。したがって、ＤＣ２７−１は、ディスクコントローラと称するが、外部記録部コントローラである。
【００６５】
図９の例のように、情報処理コントローラ１１に対して外部記録部２８を複数接続できるように、情報処理コントローラ１１を構成することができる。
【００６６】
メインプロセッサ２１−１、各サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ２５−１およびＤＣ２７−１は、バス２９−１によって接続される。
【００６７】
情報処理コントローラ１１には、ネットワーク全体を通して当該の情報処理コントローラ１１を一意的に識別できる識別子が、情報処理装置ＩＤとして割り当てられる。また情報処理コントローラ１１には、当該の情報処理コントローラ１１を備える情報処理装置１をネットワーク全体を通して一意的に識別できる識別子が、情報処理装置ＩＤとして割り当てられる。
【００６８】
メインプロセッサ２１−１および各サブプロセッサ２３−１，２３−２，２３−３に対しても同様に、それぞれを特定できる識別子が、メインプロセッサＩＤおよびサブプロセッサＩＤとして割り当てられる。
【００６９】
情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。
【００７０】
他の情報処理装置２、３、４も、同様に構成される。ここで、親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。
【００７１】
上述したように、１つの情報処理コントローラ内の各サブプロセッサ２３は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ２６内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ２３からメインメモリ２６へのアクセスは、以下のような手順によって行う。
【００７２】
図１０（Ａ）に示すように、メインメモリ２６は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤおよびＬＳアドレス（ローカルストレージアドレス）を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。Ｆ／Ｅビットは、以下のように定義される。
【００７３】
Ｆ／Ｅビット＝０は、サブプロセッサ２３によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、Ｆ／Ｅビット＝０は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に１に設定される。
【００７４】
Ｆ／Ｅビット＝１は、当該メモリロケーションのデータがサブプロセッサ２３によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ２３によって読み出された後に０に設定される。また、Ｆ／Ｅビット＝１は、当該メモリロケーションがデータ書き込み不可であることを示す。
【００７５】
さらに、上記Ｆ／Ｅビット＝０（読み出し不可／書き込み可）の状態において、当該メモリロケーションについて読み出し予約を設定することは可能である。Ｆ／Ｅビット＝０のメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ２３は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ２３のサブプロセッサＩＤおよびＬＳアドレスを書き込む。
【００７６】
その後、データ書き込み側のサブプロセッサ２３によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビット＝１（読み出し可／書き込み不可）に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサＩＤおよびＬＳアドレスに読み出される。
【００７７】
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し／書き込みを制御することによって、前段階の処理を行うサブプロセッサ２３が、処理済みのデータをメインメモリ２６上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ２３が前処理後のデータを読み出すことが可能となる。
【００７８】
図１０（Ｂ）に示すように、各サブプロセッサ２３内のＬＳ２４も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
【００７９】
サブプロセッサ２３がメインメモリ２６内のデータを自身のＬＳ２４のメモリロケーションに読み出すときには、対応するビジービットを１に設定して予約する。ビジービットが１であるメモリロケーションには、他のデータは格納することができない。ＬＳ２４のメモリロケーションに読み出し後、ビジービットは０になり、任意の目的に使用できるようになる。
【００８０】
図１０（Ａ）に示すように、さらに、各情報処理コントローラと接続されたメインメモリ２６には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ２６内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ２３に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ２３は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。
【００８１】
メインメモリ２６は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【００８２】
さらに、メインメモリ２６の排他的な制御を実現するために、図１０（Ｃ）に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のＳＲＡＭのような比較的高速のメモリに格納され、ＤＭＡＣ２５と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキーおよびキーマスクが含まれる。
【００８３】
サブプロセッサ２３がメインメモリ２６を使用する際のプロセスは、以下のとおりである。まず、サブプロセッサ２３はＤＭＡＣ２５に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサＩＤと、使用要求先であるメインメモリ２６のアドレスが含まれる。
【００８４】
ＤＭＡＣ２５は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、ＤＭＡＣ２５は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ２６内の図２（Ａ）に示したメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、上記のコマンドを実行する。
【００８５】
図１０（Ｃ）に示したキー管理テーブル上のキーマスクは、その任意のビットが１になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが０または１になることができる。
【００８６】
例えば、サブプロセッサキーが１０１０であるとする。通常、このサブプロセッサキーによって１０１０のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが０００１に設定されている場合には、キーマスクのビットが１に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー１０１０によってアクセスキーが１０１０または１０１１のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００８７】
以上のようにして、メインメモリ２６のサンドボックスの排他性が実現される。すなわち、１つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ２６の所定アドレスにアクセスできるようになり、データを保護することができる。
【００８８】
例えば、以下のように使用することが考えられる。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第１のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第２のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的の処理を可能にする。
【００８９】
より具体的には、他の情報処理装置からのデータ→第１のサブプロセッサによる処理→第１のメインメモリ領域→第２のサブプロセッサによる処理→第２のメインメモリ領域、という手順で多段階処理が行われるときには、
第１のサブプロセッサのサブプロセッサキー：０１００、
第１のメインメモリ領域のアクセスキー    ：０１００、
第２のサブプロセッサのサブプロセッサキー：０１０１、
第２のメインメモリ領域のアクセスキー    ：０１０１
というような設定のままだと、第２のサブプロセッサは第１のメインメモリ領域にアクセスすることができない。そこで、第２のサブプロセッサのキーマスクを０００１にすることにより、第２のサブプロセッサによる第１のメインメモリ領域へのアクセスを可能にすることができる。
【００９０】
図９のネットワークシステムでは、情報処理装置１、２、３、４間での分散処理のために、情報処理装置１、２、３、４間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、コマンド、プログラムおよびデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【００９１】
図１１に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム、およびデータによって構成される。
【００９２】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレスおよび当該装置内の情報処理コントローラの情報処理装置ＩＤ、さらに、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ２１および各サブプロセッサ２３の識別子（メインプロセッサＩＤおよびサブプロセッサＩＤ）が含まれる。
【００９３】
送信先ＩＤおよび応答先ＩＤには、それぞれ、ソフトウェアセルの送信先である情報処理装置、およびソフトウェアセルの実行結果の応答先である情報処理装置についての、同じ情報が含まれる。
【００９４】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルＩＤから構成される。
【００９５】
グローバルＩＤは、ネットワーク全体を通して当該のソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ、およびソフトウェアセルの作成または送信の日時（日付および時刻）に基づいて作成される。
【００９６】
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ２６内およびサブプロセッサ２３のＬＳ２４内のメモリ量が設定される。
【００９７】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００９８】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラムおよびデータから構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサ２３によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００９９】
さらに、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
【０１００】
ロードコマンドは、メインメモリ２６内の情報をサブプロセッサ２３内のＬＳ２４にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサＩＤおよびＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ２６内の所定領域のアドレスを示す。サブプロセッサＩＤおよびＬＳアドレスは、情報のロード先であるサブプロセッサ２３の識別子およびＬＳ２４のアドレスを示す。
【０１０１】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサＩＤおよびプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサ２３を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【０１０２】
機能プログラム実行コマンドは、後述のように、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、後述の機能プログラムＩＤによって、起動すべき機能プログラムを識別する。
【０１０３】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図１４に示す情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ２６にロードされ、メインプロセッサ２１により実行される。
【０１０４】
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【０１０５】
図１２に、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す。
【０１０６】
情報処理装置ＩＤは、情報処理コントローラを識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置内の情報処理コントローラのＩＤを示す。情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のＩＤを示す。情報処理装置ＩＤは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１によって、電源投入時の日時、情報処理装置のネットワークアドレスおよび情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３の数などに基づいて生成される。
【０１０７】
情報処理装置種別ＩＤには、当該の情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば、上述の第２実施形態におけるサーバ、ＰＤＡ、位置センサといった機器などである。また、情報処理装置種別ＩＤは、音響生成、位置測定などといった情報処理装置の機能を表すものであってもよい。情報処理装置の特徴や機能を表す値は予め決定されているものとし、情報処理装置種別ＩＤを読み出すことにより、当該情報処理装置の特徴や機能を把握することが可能である。
【０１０８】
ＭＳ（マスター／スレーブ）ステータスは、後述のように情報処理装置がマスター装置またはスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合にはマスター装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。
【０１０９】
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ２１の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ２１で現在動作している全てのプログラムについての、メインプロセッサ２１での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるＭＩＰＳを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
【０１１０】
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ２３の数を表す。サブプロセッサＩＤは、当該の情報処理コントローラ内の各サブプロセッサ２３を識別するための識別子である。
【０１１１】
サブプロセッサステータスは、各サブプロセッサ２３の状態を表すものであり、ｕｎｕｓｅｄ，ｒｅｓｅｒｖｅｄ，ｂｕｓｙなどの状態がある。ｕｎｕｓｅｄは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。ｒｅｓｅｒｖｅｄは、現在は使用されていないが、予約されている状態を示す。ｂｕｓｙは、現在使用中であることを示す。
【０１１２】
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがｂｕｓｙである場合には、現在の使用率を示し、サブプロセッサステータスがｒｅｓｅｒｖｅｄである場合には、後に使用される予定の推定使用率を示す。
【０１１３】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、１つのサブプロセッサ２３に対して一組設定され、１つの情報処理コントローラ内のサブプロセッサ２３に対応する組数が設定される。
【０１１４】
メインメモリ総容量およびメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ２６の総容量および現在使用中の容量を表す。
【０１１５】
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部２８の数を表す。外部記録部ＩＤは、当該の情報処理コントローラに接続されている外部記録部２８を一意的に識別する情報である。外部記録部種別ＩＤは、当該の外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表す。
【０１１６】
外部記録部総容量および外部記録部使用量は、それぞれ、外部記録部ＩＤによって識別される外部記録部２８の総容量および現在使用中の容量を表す。
【０１１７】
外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量は、１つの外部記録部２８に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部２８の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部ＩＤが割り当てられ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量も別々に管理される。
【０１１８】
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、以上のような構成のソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置および当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、および各装置内の情報処理コントローラは、それぞれ、上記の送信元ＩＤ、送信先ＩＤおよび応答先ＩＤによって識別される。
【０１１９】
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、そのソフトウェアセルをメインメモリ２６に格納する。さらに、送信先のメインプロセッサ２１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。
【０１２０】
具体的には、送信先のメインプロセッサ２１は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤおよびＬＳアドレスで特定されるサブプロセッサ内のＬＳ２４の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。
【０１２１】
次に、メインプロセッサ２１は、キックコマンドを、これに含まれるサブプロセッサＩＤで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。指示されたサブプロセッサは、そのキックコマンドおよびプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ２６に格納した後、実行を完了したことをメインプロセッサ２１に通知する。
【０１２２】
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ２３に限定されるものではなく、メインプロセッサ２１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
【０１２３】
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラムおよびそのメインメモリ用プログラムによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ２６にメインメモリ用プログラムおよびそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサＩＤ、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムＩＤなどの識別子、およびプログラムカウンタを含み、ＤＭＡコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ２１に当該メインメモリ用プログラムを実行させる。
【０１２４】
以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
【０１２５】
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。
【０１２６】
したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。
【０１２７】
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。さらに、各サブプロセッサ間ではＤＭＡ方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、１つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。
【０１２８】
ソフトウェアセルの使用による分散処理の結果、図１３の上段に示すようにネットワーク９に接続されている複数の情報処理装置１、２、３、４は、同図の下段に示すように、仮想的な１台の情報処理装置７として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
【０１２９】
図１４に、個々の情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成を示す。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部２８に記録されているものである。
【０１３０】
各プログラムは、機能または特徴によって、制御プログラム、機能プログラムおよびデバイスドライバにカテゴライズされる。
【０１３１】
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ２１が実行するもので、後述のＭＳ（マスター／スレーブ）マネージャおよび能力交換プログラムを含む。
【０１３２】
機能プログラムは、メインプロセッサ２１が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。また、例えば上述の第２実施形態おけるサーバ１０１においては、音響生成用、店舗情報検索用等の機能プログラムが備えられる。
【０１３３】
デバイスドライバは、情報処理コントローラ（情報処理装置）の入出力（送受信）用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
【０１３４】
ケーブルの差し込みなどによって情報処理装置が物理的にネットワーク９に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク９に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、制御プログラムに属する各プログラム、およびデバイスドライバに属する各プログラムを、メインメモリ２６にロードする。
【０１３５】
ロード手順としては、メインプロセッサ２１は、まず、ＤＣ２７に読み出し命令を実行させることによって、外部記録部２８からプログラムを読み出し、次に、ＤＭＡＣ２５に書き込み命令を実行させることによって、そのプログラムをメインメモリ２６に書き込む。
【０１３６】
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１３７】
ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部２８に記録されている必要はなく、いずれか１つの情報処理装置の外部記録部２８に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図１３の下段に示すように、仮想的な１台の情報処理装置７として機能プログラムを実行することができる。
【０１３８】
図１１のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【０１３９】
メインプロセッサ２１は、自身が動作する情報処理装置の装置情報（動作状態に関する情報）を格納するための領域をメインメモリ２６に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図１２に示した情報処理装置ＩＤ以下の各情報である。
【０１４０】
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、マスター／スレーブマネージャ（以下、ＭＳマネージャ）をメインメモリ２６にロードし、実行する。
【０１４１】
ＭＳマネージャは、自身が動作する情報処理装置がネットワーク９に接続されていることを検知すると、同じネットワーク９に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク９に接続されているだけでなく、電気的・機能的にもネットワーク９に接続されていることを示す。また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。
【０１４２】
ＭＳマネージャが同じネットワーク９に接続されている他の情報処理装置の存在を確認する方法を以下に示す。
【０１４３】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤおよび応答先ＩＤが当該情報処理装置で、送信先ＩＤを特定しないソフトウェアセルを生成して、当該情報処理装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分とされる。
【０１４４】
当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報（情報処理装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）および当該他装置のＭＳステータスが含まれる。
【０１４５】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、当該装置は、スレーブ装置となる。
【０１４６】
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、当該装置は、マスター装置となる。すなわち、いずれの装置もネットワーク９に接続されていない状態、またはネットワーク９上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク９上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にスレーブ装置として設定される。
【０１４７】
マスター装置およびスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク９上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。その結果、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されることにより、あらかじめ判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク９に新たな情報処理装置が接続された場合など、ネットワーク９の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
【０１４８】
メインプロセッサ２１は、ＭＳマネージャから、ネットワーク９上の他装置の照会および自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０１４９】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。
【０１５０】
他装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０１５１】
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を格納するための領域を自装置のメインメモリ２６に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。
【０１５２】
すなわち、マスター装置のメインメモリ２６には、自装置を含むネットワーク９に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。
【０１５３】
一方、能力交換プログラムは、自装置がスレーブ装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわちマスター装置および自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤおよびＭＳステータスを、自装置のメインメモリ２６に記録する。
【０１５４】
すなわち、スレーブ装置のメインメモリ２６には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク９に接続されているマスター装置および各スレーブ装置についての情報処理装置ＩＤおよびＭＳステータスが、別の装置情報テーブルとして記録される。
【０１５５】
また、マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、新たにネットワーク９に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ２６に記録する。
【０１５６】
なお、ＭＳマネージャおよび能力交換プログラムは、メインプロセッサ２１で実行されることに限らず、いずれかのサブプロセッサ２３で実行されてもよい。また、ＭＳマネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１５７】
マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ２６から削除する。
【０１５８】
さらに、このようにネットワーク９から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
【０１５９】
具体的には、例えば、ネットワーク９から切断されていない情報処理装置は、それぞれ、自装置および他装置の情報処理装置ＩＤを数値に置き換えて、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク９から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、ＭＳステータスを０に設定し、マスター装置として、上述したように、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を取得して、メインメモリ２６に記録する。
【０１６０】
図１３の下段に示したようにネットワーク９に接続されている複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させるためには、マスター装置がユーザの操作およびスレーブ装置の動作状態を把握する必要がある。
【０１６１】
図１５に、４台の情報処理装置が仮想的な１台の情報処理装置７として動作する様子を示す。情報処理装置３１がマスター装置、情報処理装置２、３、４がスレーブ装置Ａ、Ｂ、Ｃとして、動作しているものとする。
【０１６２】
ユーザがネットワーク９に接続されている情報処理装置を操作した場合、操作対象がマスター装置１であれば、その操作情報は、マスター装置１において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスター装置１に送信される。すなわち、ユーザの操作対象がマスター装置１とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
【０１６３】
そして、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、上記の方法によって自装置の外部記録部２８−１、２８−２からメインメモリ２６−１に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）がマスター装置１に機能プログラムを送信してもよい。
【０１６４】
機能プログラムには、その実行単位ごとに必要となる、図１２に示した各情報として表される情報処理装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの、装置に関する要求スペックが規定されている。
【０１６５】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、あらかじめ能力交換プログラムによってメインメモリ２６−１に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図１２に示した情報処理装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリおよび外部記録部に関する情報である。
【０１６６】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ネットワーク９上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
【０１６７】
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から１つの実行要求候補装置を特定して選択する。
【０１６８】
実行要求するスレーブ装置が特定されたら、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ１１に含まれるメインメモリ２６−１に記録されている当該スレーブ装置の装置情報テーブルを更新する。
【０１６９】
さらに、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ＤＭＡコマンドがロードコマンドおよびキックコマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインターフェースに、当該機能プログラムに関する必要なサブプロセッサの情報およびサンドボックスサイズ（図１１参照）を設定して、上記実行要求されるスレーブ装置に対して送信する。
【０１７０】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上記の方法によって自装置の外部記録部２８からメインメモリ２６に機能プログラムをロードする。
【０１７１】
機能プログラムの実行を要求されたスレーブ装置の外部記録部２８に、必要な機能プログラムが記録されていない場合には、他の情報処理装置が上記のメインメモリ用プログラムとして当該の機能プログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
【０１７２】
さらに、メインメモリ用プログラムと同様に、サブプロセッサプログラムも、必要であれば、ソフトウェアセルによって他の情報処理装置に送信して、他の情報処理装置のサブプロセッサ２３にロードさせ、他の情報処理装置に実行させることができる。
【０１７３】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、終了通知をマスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
【０１７４】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、自装置および他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置１が当該の機能プログラムを実行する。
【０１７５】
図１５の例で、ユーザがスレーブ装置Ａを操作し、当該操作に応じた機能プログラムを別のスレーブ装置Ｂが実行する場合につき、図１６に以上の分散処理の例を示す。同図においては、本ネットワークシステムを、上述の第２実施形態における広告システムに適用した場合を想定して説明する。
【０１７６】
すなわち、例えば上記サーバ１０１が、複数のユーザのユーザ端末６０２から同時に広告情報取得要求を受けた場合に、当該サーバ１０１が、ネットワークに接続している他のサーバへ処理を依頼するような場合が考えられる。この場合、上記マスター装置Ａがユーザから広告情報取得要求を受けたサーバ１０１ａ、上記スレーブ装置Ａがユーザ端末６０２、上記スレーブ装置Ｂが上記サーバ１０１ａから処理依頼を受けるサーバ１０１ｂとなる。
【０１７７】
同図においては、ユーザがスレーブ装置Ａを操作することによって、スレーブ装置Ａを含むネットワークシステム全体の分散処理が開始する。まず、スレーブ装置Ａは、ステップ８１で、その操作情報をマスター装置１に送信する。当該操作情報は、例えばユーザがユーザ端末６０２に対して、サーバ１０１への情報取得要求を行った操作である。
【０１７８】
マスター装置１は、ステップ７２で、その操作情報を受信し、さらにステップ７３に進んで、自装置のメインメモリ２６−１に記録されている自装置および他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。同図の例は、スレーブ装置Ｂ（サーバ１０１ｂ）が選択される場合である。すなわち、例えばサーバ１０１ａが他のユーザの広告情報を処理している場合には、自ら上記要求を行ったユーザに対する広告情報を処理することができないため、例えば、ユーザに近い店舗を検索するための店舗情報検索プログラムを実行することができるサーバ１０１ｂが選択される。
【０１７９】
次に、マスター装置１は、ステップ７４で、その選択したスレーブ装置Ｂに対して機能プログラムの実行を要求する。すなわち、サーバ１０１ａは、サーバ１０１ｂに対して店舗情報検索プログラムの実行を要求する。
【０１８０】
スレーブ装置Ｂは、ステップ９５で、その実行要求を受信し、さらにステップ９６に進んで、実行要求された機能プログラムを実行する。すなわち、サーバ１０１ｂは、サーバ１０１ａからの実行要求に応じて店舗情報検索プログラムを実行する。そして、サーバ１０１ｂは、当該プログラムの処理終了後、終了通知をマスター装置であるサーバ１０１ａに送信する。サーバ１０１ａは終了通知を受信することにより、プログラムを実行したスレーブ装置であるサーバ１０１ｂに関する装置情報テーブルを更新する。なお、当該終了通知とともに、店舗情報の検索結果も通知される。
【０１８１】
また、マスター装置１のメインプロセッサ２１は、自装置または他装置の装置情報テーブルに基づき、上記機能プログラムを実行可能な情報処理装置として自身を選択する場合もあり得る。その場合には、マスター装置１が機能プログラムを実行する。例えば上記サーバ１０１ａがユーザ端末６０２から広告情報取得要求を受けた時点で、他のユーザ端末６０２からの処理を行っていない場合には、マスター装置であるサーバ１０１ａ自身が処理を実行すればよい。なお、サーバ１０１ａは、店舗情報検索処理だけでなく、音響信号生成処理についてもスレーブであるサーバ１０１ｂに処理を依頼することも勿論可能である。
【０１８２】
このようにして、ユーザは１つの情報処理装置のみを操作することにより他の情報処理装置１０を操作する必要なく、複数の情報処理装置を仮想的な１台の情報処理装置７として動作させることができる。そして、このようなシステムを利用することによっても本発明におけるサーバ装置、音響制御システム及び音響制御方法を実施することが可能であり、ユーザは例えばサーバ１０１ａが自身では処理を行えない状態であっても、上述のような分散処理により音響情報を取得することができる。
【図面の簡単な説明】
【０１８３】
【図１】第１の実施形態におけるシステムの構成を示す図である。
【図２】第１の実施形態におけるシステムの電気的な構成を示す図である。
【図３】第１の実施形態において、サーバ１０１がユーザに通知情報を通知する動作を示すフロー図である。
【図４】第１の実施形態において、音場を計算する方法について説明した図である。
【図５】第１の実施形態においてサーバ及び各機器との間でやり取りされる情報の流れを示したシーケンス図である。
【図６】第２の実施形態におけるシステムの構成を示す図である。
【図７】第２の実施形態において、サーバ１０１がユーザに広告情報を提供する動作を示すフロー図である。
【図８】第２の実施形態においてサーバ及び各機器との間でやり取りされる情報の流れを示したシーケンス図である。
【図９】第３の実施形態におけるネットワークシステムの一例を示す図である。
【図１０】第３の実施形態における情報処理装置が備える情報処理コントローラの説明に供する図である。
【図１１】ソフトウェアセルの一例を示す図である。
【図１２】ＤＭＡコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示す図である。
【図１３】複数の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図１４】情報処理コントローラのソフトウェア構成の一例を示す図である。
【図１５】４台の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図１６】図１５のシステムにおける分散処理の例を示す図である。
【符号の説明】
【０１８４】
１０１…サーバ
１０２…熱センサ
１０３…電子レンジ
１０４…位置センサ
１０５…発光体
２０５…音響生成部
６０１…ＰＣ
６０２…ユーザ端末
６０３…ヘッドホン
【図１】
2005228276.tif 000003
【図２】
2005228276.tif 000004
【図３】
2005228276.tif 000005
【図４】
2005228276.tif 000006
【図５】
2005228276.tif 000007
【図６】
2005228276.tif 000008
【図７】
2005228276.tif 000009
【図８】
2005228276.tif 000010
【図９】
2005228276.tif 000011
【図１０】
2005228276.tif 000012
【図１１】
2005228276.tif 000013
【図１２】
2005228276.tif 000014
【図１３】
2005228276.tif 000015
【図１４】
2005228276.tif 000016
【図１５】
2005228276.tif 000017
【図１６】
2005228276.tif 000018