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