以下に、本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の情報処理システムは、第1の情報処理装置(例えば、図1の録画再生装置11−1)は、ユーザの操作に基づいて、電源切断要求が検出された場合、番組の録画予約情報があるか否かを判定する録画予約判定手段(たとえば、図3の録画予約管理部83)と、録画予約判定手段により番組の録画予約情報があると判定された場合、第2の情報処理装置に、番組の録画予約情報を送信する録画予約送信手段(例えば、図3の録画予約情報送信部84)と、第2の情報処理装置から、番組の録画予約情報に対する受付可能応答を受けた場合、電源切断要求に応じて、電源の切断を制御する電源切断制御手段(例えば、図3の予約管理制御部82)とを備え、第2の情報処理装置(例えば、図1の録画再生装置11−2)は、録画予約送信手段により送信された番組の録画予約情報を受信する録画予約受信手段(例えば、図4の録画予約情報受信部92)と、番組の録画が可能である場合、第1の情報処理装置に、録画予約受信手段により受信された番組の録画予約情報に対する受付可能応答を送信する応答送信手段(例えば、図4のステータス送信部93)とを備えることを特徴とする。
請求項3に記載の情報処理装置は、ユーザの操作に基づいて、電源切断要求が検出された場合、番組の録画予約情報があるか否かを判定する録画予約判定手段(たとえば、図3の録画予約管理部83)と、録画予約判定手段により番組の録画予約情報があると判定された場合、第1の他の情報処理装置に、番組の録画予約情報を送信する録画予約送信手段(例えば、図3の録画予約情報送信部84)と、録画予約送信手段により送信された番組の録画予約情報を受信した第1の他の情報処理装置(例えば、図1の録画再生装置11−2)から、番組の録画予約情報に対する受付可能応答を受けた場合、電源切断要求に応じて、電源の切断を制御する電源切断制御手段(例えば、図3の予約管理制御部82)とを備えることを特徴とする。
請求項5に記載の情報処理装置は、第1の他の情報処理装置から、番組の録画予約情報に対する受付可能応答を受けた場合、番組の録画予約情報を、第1の他の情報処理装置に送信したことを通知する出力を制御する出力制御手段(例えば、図4の表示制御部86)をさらに備えることを特徴とする。
請求項7に記載の情報処理方法は、ユーザの操作に基づいて、電源切断要求が検出された場合、番組の録画予約情報があるか否かを判定する録画予約判定ステップ(例えば、図5のステップS13)と、録画予約判定ステップの処理により番組の録画予約情報があると判定された場合、他の情報処理装置に、番組の録画予約情報を送信する録画予約送信ステップ(例えば、図9のステップS31)と、録画予約送信ステップの処理により送信された番組の録画予約情報を受信した他の情報処理装置から、番組の録画予約情報に対する受付可能応答を受けた場合、電源切断要求に応じて、電源の切断を制御する電源切断制御ステップ(例えば、図5のステップS18)とを含むことを特徴とする。
なお、請求項8に記載の記録媒体および請求項9に記載のプログラムも、上述した請求項7に記載の情報処理方法と基本的に同様の構成であるため、繰り返しになるのでその説明は省略する。
以下、図を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用した一実施の形態の情報処理システムの構成例を説明する図である。
録画再生装置11−1は、録画再生装置11−2とホームネットワーク21−1を介して相互に接続されている。録画再生装置11−1および11−2は、それぞれホームネットワーク21−1を介して通信可能とされている。また、ホームネットワーク21−1は、インターネット22、並びに、インターネット22を介して、ホームネットワーク21−2にも接続されており、録画再生装置11−1および11−2は、ホームネットワーク21−1とインターネット22を介して、ホームネットワーク21−2に接続されている録画再生装置11−3と通信する。なお、本実施の形態においては、ホームネットワーク21−1および21−2と、インターネット22を個々に区別する必要がない場合、単にネットワークと称する。
録画再生装置11−1乃至11−3は、それぞれ、デジタル放送の番組(コンテンツ)を、アンテナ12−1乃至12−3を介して、受信し、DVD(Digital Versatile Disk)±RW(Re-writable)およびブルーレイディスクなどの記録媒体や固定のハードディスクに、受信した番組のデータを録画(記録)する機能を有するハードディスクレコーダなどの録画機器(ホームサーバ)により構成される。
録画再生装置11−1は、番組の録画予約情報を記憶する録画予約情報記憶部31−1、および、ネットワークを介しての他の録画再生装置と通信を行うネットワーク接続部32−1を有する。録画再生装置11−2は、番組の録画予約情報を記憶する録画予約情報記憶部31−2、および、ネットワークを介しての他の録画再生装置と通信を行うネットワーク接続部32−2を有する。録画再生装置11−3は、番組の録画予約情報を記憶する録画予約情報記憶部31−3、および、ネットワークを介しての他の録画再生装置と通信を行うネットワーク接続部32−3を有する。
図1の例においては、録画再生装置11−1は、ユーザによる操作入力部56(図2)の操作に基づいて、番組の録画予約情報を、録画予約情報記憶部31−1に記憶する。そして、録画再生装置11−1は、録画予約情報記憶部31−1に記憶されている番組の録画予約情報に基づいて、デジタル放送の番組を、アンテナ12−1を介して受信し、対応する番組のデータを内蔵する記憶部などに記録する。
また、録画再生装置11−1は、ユーザによる操作入力部56の操作に基づいて、電源切断要求を検出すると、録画予約情報記憶部31−1に記憶されている番組の録画予約情報を、ネットワーク接続部32−1を制御して、録画再生装置11−2または11−3に送信する。すなわち、録画再生装置11−1は、番組の録画予約移管を、録画再生装置11−2または11−3に要求する。
録画再生装置11−2は、録画再生装置11−1からの録画予約情報を、ネットワーク接続部32−2を制御して受信する。そして、録画再生装置11−2は、受信した番組の録画予約情報に基づいて、その番組の録画が可能であるか否かを判定し、番組の録画が可能である場合、その番組の録画予約情報を、録画予約情報記憶部31−2に記憶し、録画予約情報に対する受付可能応答信号を、ネットワーク接続部32−2を制御して、録画再生装置11−1に送信する。なお、録画再生装置11−3の場合も同様であるので、その説明は繰り返しになるので省略する。
録画再生装置11−1は、録画再生装置11−2または録画再生装置11−3から録画予約情報に対する受付可能応答信号を、ネットワーク接続部32−1を制御して受信すると、ユーザの電源切断要求に応じて、主電源の切断を制御する。なお、この場合の電源の切断とは、装置への電源供給をすべて停止させる(メカニカルな電源オフ)ことを示す。
以上のように、図1の情報処理システムにおいては、録画再生装置11−1に記憶されていた番組の録画予約情報は、録画再生装置11−2または11−3に記憶される(すなわち、移管される)。したがって、録画再生装置11−1において主電源が切断され、録画再生装置11−1の機能がすべて停止したとしても、録画再生装置11−2または11−3において記憶された録画予約情報に基づいて、デジタル放送の番組が、アンテナ12−2またはアンテナ12−3を介して受信され、受信された番組のデータが録画再生装置11−2または11−3に記録される。
これにより、ユーザは、録画再生装置11−1に記憶されていた番組の録画予約情報に基づいた番組を、視聴することができる。
なお、以下、録画再生装置11−1乃至11−3、アンテナ12−1乃至12−3、録画予約情報記憶部31−1乃至31−3、およびネットワーク接続部32−1乃至ネットワーク接続部32−3をそれぞれ個々に区別する必要がない場合、それぞれ、録画再生装置11、アンテナ12、録画予約情報記憶部31、およびネットワーク接続部32と称する。
図2は、図1の録画再生装置11のハードウェア構成例を示すブロック図である。
図2の例において、コントローラ51は、バス52を介して、メモリ53、記憶部54、ドライブ55、操作入力部56、表示部57、スピーカ58、放送受信部59、およびネットワーク接続部32と接続されている。
コントローラ51は、記憶部54からメモリ53にロードされたプログラム、または、操作入力部56を介して入力されるユーザの指示信号などに従って、録画再生装置11の各種の処理を実行する。メモリ53は、RAM(Random Access Memory)などにより構成され、メモリ53には、コントローラ51が各種の処理を実行する上において必要なデータなどが適宜記憶される。また、メモリ53には、録画再生装置11を識別するための録画再生装置ID(Identify)が記憶されている。
記憶部54は、ハードディスクドライブなどにより構成され、記憶部54には、デジタル放送の番組のデータ(コンテンツデータ)などが記憶される。また、記憶部54には、ユーザによる操作入力部56の操作に基づいて、番組の録画予約情報が記憶される録画予約情報記憶部31が含まれる。
ドライブ55には、光ディスク63が装着される。光ディスク63は、例えば、DVD(Digital Versatile Disk)±RW(Re-writable)またはブルーレイディスクなどの光ディスクで構成される。ドライブ55に装着された光ディスク63には、デジタル放送の番組のデータなどが記憶される。
番組の録画予約情報は、1つの番組の録画の予約に関する情報により構成される。番組の録画予約情報は、例えば、チャンネルなどの番組情報(例えば、メタデータなどにより示される情報)、録画開始時刻、録画終了時刻、並びに、通常記録を行うSP(スタンダードプレイ)、または、フレームの間引きや低解像度による録画を行うLP(ロングプレイ)などの記録モードなどで構成される。
操作入力部56は、ボタン、ダイヤルなどにより構成され、ユーザの操作に基づく指示信号を、コントローラ51に入力する。なお、操作入力部56を、リモートコントローラで構成するようにしてもよい。
表示部57は、放送受信部59を介して入力される放送信号のデータ、ハードディスク55または光ディスク63に記録されているデータ、または、ユーザへの通知に対応する映像を表示する、CRT(Cathode Ray Tube),LCD(Liquid Crystal Display)などよりなるディスプレイ、ユーザへの通知に対応する情報、または、録画再生装置11の操作に関する情報などを表示するFL(Fluorescent)管、並びに、ユーザへの通知に対応して点灯するLED(Light Emitting Diode)などにより構成される。スピーカ58は、各種のユーザへの通知に対応する音声メッセージなどに対応する音声を出力する。
放送受信部59は、アンテナ12を介して、デジタル放送の放送信号を受信し、受信された放送信号から、選択された番組のデータを抽出し、記憶部54または光ディスク63に供給する。
コントローラ51には、また、電源制御部60および電源ボタン61が接続されている。電源ボタン61は、電源の投入(オン)や切断(オフ)を指示するユーザの操作を入力する。電源制御部61は、コントローラ51の制御に基づいて、電源の供給を制御する。
なお、電源制御部61においては、スリープモードのように、例えば、スリープモードへの移行が指令された場合や一定時間操作入力がない場合など、録画再生装置11の一部の機能を停止する制御も行うことが可能であるが、本発明における電源の投入、切断は、装置への電源供給をすべて停止させる(メカニカルな電源オフ)ことを示す。
図3は、図2の録画再生装置11の機能構成例(ソフトウェアの構成例)を示すブロック図である。なお、図3は、ユーザの操作に基づいて、電源切断処理を行う録画再生装置(例えば、録画再生装置11−1)の機能構成例を示している。
電源切断検出部81は、ユーザの押下に基づく電源ボタン61からの、または、ユーザの操作入力部56の操作に基づく、録画再生装置11で実行されているOSプログラムからの、電源切断の要求を検出する。電源切断検出部81は、検出した電源切断の要求を、予約管理制御部82に供給する。
予約管理制御部82は、電源切断検出部81から入力される電源切断の要求、またはステータス受信部85で受信される、他の録画再生装置からの番組の録画予約情報に対する受付応答信号(受付可能応答信号または受付拒否応答信号)に応じて、録画再生装置11−1において予約されているリソースの情報、具体的には、録画予約情報記憶部31に記憶されている番組の録画予約情報を管理するために、録画予約管理部83および録画予約情報送信部84を制御する。
また、予約管理制御部82は、録画予約管理部83による録画予約情報の検索結果、または、ステータス受信部85で受信される番組の録画予約情報に対する受付応答信号などに応じたユーザへの通知を、表示制御部86および音声出力制御部87に供給する。
録画予約管理部83は、ユーザによる操作入力部56の操作に基づいて、番組の録画予約情報を、録画予約情報記憶部31に記憶したり、削除する。また、録画予約管理部83は、録画予約情報記憶部31に記憶されている番組の録画予約情報に基づいて、録画制御部88を制御し、番組のデータを、記憶部54などに記録させ、録画制御部88による録画処理が終了すると、対応する番組の録画予約情報を、録画予約情報記憶部31から削除する。
さらに、録画予約管理部83は、予約管理制御部82による制御のもと、録画予約情報記憶部31の番組の録画予約情報を検索し、検索結果を、予約管理制御部82に出力するとともに、番組の録画予約情報が検索された場合、検索された番組の録画予約情報を、録画予約情報送信部84に供給する。
録画予約情報送信部84は、予約管理制御部82から指示される他の録画再生装置(録画再生装置11−2または11−3)に、ネットワークを介して、録画予約管理部83から供給される番組の録画予約情報を送信する。ステータス受信部85は、番組の録画予約情報に対応して他の録画再生装置11から送信されてくる、番組の録画予約情報に対する受付可能応答信号または受付拒否応答信号を受信し、受信した受付応答信号を、予約管理制御部82に供給する。
表示制御部86は、予約管理制御部82からの制御のもと、各種のユーザへの通知を、表示部57を構成するディスプレイ、またはFL管に表示させる制御を行う。また、表示制御部86は、各種のユーザへの通知に応じて、LEDを点滅させる制御も行う。音声出力制御部87は、予約管理制御部82からの制御のもと、各種のユーザへの通知するためのメッセージを、スピーカ58から出力させる制御を行う。
録画制御部88は、録画予約管理部83の制御のもと、録画予約情報記憶部31に記憶されている番組の録画予約情報に基づいて、対応する番組のデータを、記憶部54などに記録する制御を行う。また、録画制御部88は、番組の録画予約情報に基づく、録画処理が終了すると、録画処理の完了を録画予約管理部83に通知する。
図4は、図2の録画再生装置11の他の機能構成例(ソフトウェアの構成例)を示すブロック図である。なお、図4は、他の録画再生装置11−1からの番組の録画予約情報の受信処理を行う録画再生装置(例えば、録画再生装置11−2または11−3)の機能構成例を示しており、図3における場合と対応する部分には対応する符号を付してあり、その説明は繰り返しになるので省略する。
図4の例において、予約管理制御部91は、録画再生装置11において予約されているリソースの情報、具体的には、録画予約情報記憶部31に記憶されている番組の録画予約情報を管理する制御を行う。
すなわち、予約管理制御部91は、録画予約情報受信部92からの番組の録画予約情報が対象とする番組の録画が可能であるか否かを判定し、その判定結果に応じて、ステータス送信部93を制御し、録画再生装置11−2において、番組の録画予約情報の受付が可能か否かの受付応答信号(受付可能応答信号または受付拒否応答信号)を送信させる。
具体的には、予約管理制御部91は、録画予約情報が対象とする番組がBS(Broadcasting Satellite)デジタル放送であった場合には、放送受信部59がBSデジタル放送用の受信機能を有しているかを判定することにより、または、録画予約管理部83を制御し、録画予約情報記憶部31から、番組の録画予約情報が示す録画時間(録画開始時刻乃至録画終了時刻の間)の他の録画予約情報を検索させ、その検索結果から、他の録画予約情報がすでに登録されているかなどを判定することにより、番組の録画予約情報が対象とする番組の録画が可能であるか否かを判定する。
また、予約管理制御部91は、番組の録画予約情報が対象とする番組の録画が可能であると判定した場合、録画予約管理部83に、番組の録画予約情報を供給し、録画予約管理部83を制御し、録画予約記憶部31に登録させる。
録画予約情報受信部91は、録画再生装置11−1から送信された番組の録画予約情報を、ネットワークを介して受信し、受信した番組の録画予約情報を、予約管理制御部82に供給する。ステータス送信部92は、予約管理制御部91の制御のもと、番組の録画予約情報に対しての受付可能応答信号、または受付拒否応答信号を、録画再生装置11−1に送信する。
次に、図5のフローチャートを参照して、録画再生装置11の電源切断処理を説明する。ユーザは、録画再生装置11の電源を切断するために、例えば、電源ボタン61を押下する。電源ボタン61は、ユーザの操作に基づく指示信号を、電源切断検出部81に供給する。電源切断検出部81は、ステップS11において、電源切断の要求を検出するまで待機している。電源ボタン61からの指示信号が入力されると、電源切断検出部81は、ステップS11において、電源切断の要求を検出し、検出された電源切断の要求を、予約管理制御部82に供給し、ステップS12に進む。
電源切断検出部81から電源切断の要求に応じて、予約管理制御部82は、ステップS12において、録画予約管理部83を制御し、録画予約情報記憶部31から、番組の録画予約情報を検索させ、ステップS13に進む。
すなわち、録画予約管理部83は、ステップS12において、録画予約情報記憶部31から、番組の録画予約情報を検索し、検索結果を予約管理制御部82に出力するとともに、番組の録画予約情報が検索された場合、検索された番組の録画予約情報を、録画予約情報送信部84に供給する。なお、このとき、番組の録画予約情報が検索される範囲としては、記録されているすべての番組の録画予約情報であってもよいし、1週間先までや、1ヶ月先までなど、所定の期間としてもよい。
予約管理制御部82は、録画予約管理部83からの検索結果に基づいて、ステップS13において、予約情報記憶部31に、番組の録画予約情報が存在するか否かを判定し、予約情報記憶部31に、録画予約情報が存在すると判定した場合、ステップS14に進み、表示制御部86を制御し、表示部57を構成するディスプレイやFL管に、図6に示されるような録画予約情報があることを通知する画面を表示させ、ステップS15に進む。
図6の画面には、注意を促すアイコンと、「録画予約があります」というメッセージが表示されている。ユーザは、この画面を見ることで、録画再生装置11に、かつて予約した録画予約情報が記憶されており、電源がすぐに切断できないことを確認できる。
予約管理制御部82は、ステップS15において、表示制御部86を制御し、表示部57を構成するディスプレイやFL管に、図7に示されるような録画予約移管先探索中であることを通知する画面を表示させ、ステップS16に進む。
図6の画面には、「移管先を探しています」というメッセージが表示されている。ユーザは、この画面を見ることで、録画再生装置11が録画予約の移管先の装置を探索中であることを確認できる。
予約管理制御部82は、ステップS16において、録画予約情報送信部84を制御し、番組の録画予約情報の移管先探索処理を実行させ、ステップS17に進む。この移管先探索処理は、図9を参照して詳しく後述するが、ステップS16の処理により、予約情報記憶部31に記憶されていた番組の録画予約情報が、他の録画再生装置に送信される。そして、番組の録画予約情報を受信した他の録画再生装置から、その番組の録画予約情報が受付可能であることを示す受付可能応答信号が送信されてくるので、ステータス受信部85は、他の録画再生装置からの受付可能応答信号を受信し、予約管理制御部82に供給する。
予約管理制御部82は、ステータス受信部85から受付可能応答信号が入力されると、ステップS17において、表示制御部86を制御し、表示部57を構成するディスプレイやFL管に、図8に示されるような録画予約の移管結果、または電源切断中であることを通知する画面を表示させ、ステップS18に進む。
図8の画面には、「Bへ転送しました」および「電源を切断しています」というメッセージが表示されている。ユーザは、この画面を見ることで、Bという録画再生装置11に、録画予約情報が移管され、この録画再生装置11の電源がすぐに切断されることを確認できる。
一方、ステップS13において、予約情報記憶部31に、録画予約情報が存在しないと判定された場合、ステップS14乃至S16の処理はスキップされ、ステップS17において、予約管理制御部82は、表示制御部86を制御し、表示部57を構成するディスプレイやFL管に、図8に示される電源切断中であることのみを通知する画面を表示させ、ステップS18に進む。
予約管理制御部82は、電源切断中であることを通知する画面を表示させた後、ステップS18において、電源制御部60を制御し、録画再生装置11の電源(主電源)を切断させ、録画再生装置11の電源切断処理を終了する。
なお、図5のステップS14,S15,およびS17においては、各通知に対応する画面を、表示部57を構成するディスプレイやFL管に表示させるだけでなく、音声出力制御部87により、「録画予約があります」というメッセージを、スピーカ58から出力させる制御が行われるようにしてもよいし、表示制御部86により、ユーザへ注意を促すような色や点灯間隔で、LEDが点灯されるようにしてもよい。さらに、上述した表示、音声出力、および点灯のうちの複数が同時に制御されるようにしてもよい。
また、ステップS14においては、すべての録画予約情報を画面に表示させ、ユーザに、他の録画再生装置11に録画予約を移管するか否かを選択させるようにしてもよい。
さらに、ステップS17において出力される録画予約の移管結果の通知は、次に、ユーザの電源ボタン61が押下されることで、この録画再生装置11が起動されたときに、出力させるようにしてもよい。この場合、ユーザは、すぐに、移管された装置に、記憶されている録画予約情報や、録画時刻が過ぎたときには録画されたデータを確認することができる。
以上のように、ユーザにより登録された番組の録画予約情報を送信し、その番組の録画が実行できる他の録画再生装置に記憶(移管)させるようにしたので、ユーザは、装置の電源を切断する前に、他の録画再生装置に、その番組の録画予約情報を再予約する手間が省ける。
また、番組の録画予約情報が記憶されているにも拘らず、ユーザがうっかり忘れ、録画再生装置の電源を切断してしまうことにより、ユーザが予約していた番組の録画予約情報に基づく、番組の録画が実行されなくなってしまうことが抑制される。すなわち、番組録画予約による番組録画の成功率を簡単に高めることができる。
なお、図5のステップS16の処理により移管先が探索されなかった場合には、ステップS17において、録画予約情報が移管されていないが、それでも電源を切断するか否かをユーザに選択させる電源切断選択画面を表示させるようにしてもよい。なお、この場合には、ユーザの選択に応じて、ステップS18の電源切断処理が実行される。
次に、図9のフローチャートを参照して、図5のステップS16の録画再生装置11−1の移管先探索処理を説明する。なお、図5の例においては、録画再生装置11−1の移管先探索処理に対応して実行される録画再生装置11−2および録画再生装置11−3の処理も同時に説明する。
録画再生装置11−1の予約管理制御部82は、図5のステップS15において、図7に示されるような録画予約移管先探索中であることを通知する画面を表示させた後、図9のステップS31において、録画予約情報送信部84を制御し、ネットワークを介して、録画予約管理部83から供給される番組の録画予約情報を、録画再生装置11−2に送信させる。すなわち、録画予約情報送信部84は、番組の録画予約情報を送信することにより、番組の録画予約移管の要求を行っている。
録画再生装置11−2の予約管理制御部91は、録画再生装置11−1から番組の録画予約情報を、録画予約情報受信部92を介して受信すると、ステップS51において、番組の録画予約情報が対象とする番組の録画が可能であるか否かを判定する。
例えば、予約管理制御部91は、対象の番組がBSデジタル放送であり、CS(Communication Satellite)デジタル放送用または地上波デジタル放送用の受信機能しか有していない場合、もしくは、BSデジタル放送用の受信機能を有していたとしても、番組の録画予約情報が示す録画時間(録画開始時刻乃至録画終了時刻の間)に、他の番組の録画予約情報が記憶されていた場合、番組の録画予約情報が対象とする番組の録画が不可能であると判定し、ステップS52に進み、ステータス送信部93を制御し、番組の録画予約情報が対象とする番組の録画ができないことを示す受付拒否応答信号を、録画再生装置11−1に送信させる。
録画再生装置11−1のステータス受信部85は、ステップS32において、録画再生装置11−2からの受付拒否応答信号を受信すると、受信した受付拒否応答信号を、予約管理制御部82に供給し、ステップS33に進む。予約管理制御部82は、ステップS33において、ステータス受信部85からの受付拒否応答信号に応じて、録画予約情報送信部84を制御し、ネットワークを介して、録画予約管理部83から供給される番組の録画予約情報を、録画再生装置11−3に送信させる。
録画再生装置11−3の予約管理制御部91は、録画再生装置11−1から番組の録画予約情報を、録画予約情報受信部92を介して受信すると、ステップS61において、番組の録画予約情報が対象とする番組の録画が可能であるか否かを判定する。
例えば、予約管理制御部91は、対象の番組がBSデジタル放送であり、BSデジタル放送用の受信機能を有し、さらに、番組の録画予約情報が示す録画時刻の録画が可能である場合、番組の録画予約情報が対象とする番組の録画が可能であると判定し、ステップS62に進み、ステータス送信部93を制御し、番組の録画予約情報に対応する番組の録画が可能であることを示す受付可能応答信号を、録画再生装置11−1に送信させ、ステップS63に進む。
予約管理制御部91は、ステップS63において、録画予約管理部83に、番組の録画予約情報を供給し、録画予約管理部83を制御し、録画予約記憶部31に記憶させる。
これにより、録画予約管理部83においては、録画予約情報記憶部31に記憶されている番組の録画予約情報に基づいて、録画制御部88が制御され、対象とする番組のデータが、放送受信部59により受信されて、録画再生装置11−3の記憶部54などに記録される。すなわち、録画再生装置11−1に記憶されていた番組の録画予約情報が対象とする番組のデータは、録画再生装置11−3において記録される。
したがって、ユーザは、以上のようにして録画再生装置11−3に記録されたデータを、録画再生装置11−3において視聴することもできるし、再度、録画再生装置11−1を起動させた場合に、録画再生装置11−3から、記録された番組のデータを転送して視聴することもできる。
録画再生装置11−1のステータス受信部85は、ステップS34において、録画再生装置11−3からの受付可能応答信号を受信すると、受信した受付可能応答信号を、予約管理制御部82に供給し、図5のステップS16に戻り、ステップS17に進む。
これにより、ステップS17においては、予約管理制御部82により、表示部57を構成するディスプレイやFL管に、図8に示されるような録画予約の移管結果、または電源切断中であることを通知する画面が表示される。
以上のように、録画再生装置11−1に記憶されていた番組の録画予約情報を送信し、番組の録画予約情報が対象とする番組の録画が可能なリソースを有する録画再生装置11−3を探索し、番組の録画予約情報を記憶(移管)させるようにしたので、録画再生装置11−1の電源が切断されても、録画予約情報が対象とする番組の録画処理が実行可能になる。
なお、図9の例において、予約管理制御部82は、他の録画再生装置11から受付可能応答信号が受信された場合、予約情報記憶部31に記憶されている移管済みの録画予約情報を削除するようにしてもよいが、録画予約情報を削除しない場合には、次に、電源がオンされ、この録画再生装置11が起動されたときに、その録画予約情報が実行前であれば、その実行の有無をユーザに確認させる通知を出力し、ユーザに、録画予約情報の消去または実行を選択させるようにすることもできる。
次に、本発明を適用した他の一実施の形態について説明する。
図10は、本発明を適用した情報処理装置のハードウェア構成と、ホームネットワークを利用した通信システムの他の構成例を示すブロック図である。
図10において、情報処理装置101と、複数の他の情報処理装置102および103とは、ホームネットワークなどで構成されるネットワーク104を介して相互に接続されている。この図10に示される通信システムは、図1に示されるシステムと基本的に同様に構成されており、図10の情報処理装置101乃至103は、図1の録画再生装置11−1乃至11−3に対応し、図10のネットワーク104は、図1のホームネットワーク21−1および21−2、並びにインターネット22に対応する。
すなわち、図10に示される情報処理装置101乃至103は、デジタル放送番組等を受信可能なアンテナ120を有しており、図示せぬテレビジョン番組放送局において放送される番組(映像データや音声データ等を含むコンテンツデータ)を、アンテナ120を介して受信し、そのコンテンツデータを記録(録画)することができる。
なお、1つのネットワーク104においては、1つの情報処理装置(例えば、情報処理装置101)がマスタ装置として動作し、他の情報処理装置(例えば、情報処理装置102および情報処理装置103)がスレーブ装置として動作する。
情報処理装置101は、情報処理コントローラ111、メインメモリ112、記録部113、バス114、操作入力部115、放送受信部116、出力部117、通信部118、およびドライブ119により構成される。情報処理装置102および情報処理装置103も基本的に情報処理装置101と同様の構成であるので、以下に示す情報処理装置101についての説明は、情報処理装置102および情報処理装置103にも適用することができる。
情報処理コントローラ111は、メインメモリ112に記録されている各種のプログラムを実行し、情報処理装置101全体を制御する。情報処理コントローラ111は、他の情報処理装置102または情報処理装置103の情報処理コントローラ111と連携して動作する。これらの情報処理コントローラ111は、互いに共通のコンピューティング・モジュールから構成される。またこれらの情報処理コントローラ111は、好適には、ISA(Instruction Set Architecture)がすべて同じで、好適には同じ命令セットに従って処理を実行する。個々のプロセッサ内に含まれるモジュールの数は、そのプロセッサが必要とする処理性能(能力)によって決められる。
これらの情報処理コントローラ111は、1つの実行すべきプログラムを、任意の処理単位で分割し、セル化したソフトウェアセルを適宜分配して処理し、それぞれにおいて得られた処理結果をまとめることにより、1つのプログラムを互いに連携して実行することができる。
具体的な方法については後述するが、情報処理装置101の情報処理コントローラ111は、このとき、生成したソフトウェアセル(処理すべきプログラムの一部やデータ等を含むセル単位のソフトウェア)を、バス114を介して、通信部118に供給し、ネットワーク104を介して、情報処理装置102または103に送信する。また、情報処理装置101の情報処理コントローラ111は、通信部118がネットワーク104を介して、情報処理装置102または103のどちらかからソフトウェアセルを受信した場合、バス114を介して、その受信したソフトウェアセルを処理する。
例えば、情報処理コントローラ111は、その処理結果に基づいて情報処理装置101の各部の制御処理等を行い、情報処理装置102または103より映像データや音声データを取得し、そのデータを、記録部113に供給して記憶させる等の処理を行う。また、情報処理コントローラ111は、処理結果に基づいて情報処理装置101の各部の制御処理等を行い、記録部113に記憶されている映像データや音声データを読み出し、通信部118を介して情報処理装置102または103に供給したりする。
なお、情報処理コントローラ111は、ソフトウェアセルを実行したり、実行したソフトウェアセルの処理結果に基づいて各部を制御したりするだけでなく、操作入力部115を介して入力されたユーザからの指示に基づいて各部を制御したりする。
なお、情報処理コントローラ111には、情報処理装置101を、ネットワーク104全体を通して一意的に特定できる装置ID(端末ID)が割り当てられている。
情報処理コントローラ111は、メインプロセッサ131、サブプロセッサ132−1乃至132−3、DMAC(Direct Memory Access Controller)133、DC(Disk Controller)134、キー管理テーブル記憶部135、およびバス136により密結合に構成される。
メインプロセッサ131、サブプロセッサ132−1乃至132−3、DMAC133、DC134、およびキー管理テーブル記憶部135は、バス136を介して、相互に接続されている。また、メインプロセッサ131には、メインプロセッサ131を特定するためのメインプロセッサIDが識別子として割り当てられる。同様に、サブプロセッサ132−1乃至132−3のそれぞれには、サブプロセッサ132−1乃至132−3のそれぞれを特定するためのサブプロセッサIDのそれぞれが識別子として割り当てられる。
メインプロセッサ131は、サブプロセッサ132−1乃至132−3によるプログラムの実行のスケジュール管理および情報処理コントローラ111(情報処理装置101)の全体の管理を行う。メインプロセッサ131は、RAM(Random Access Memory)などで構成されるローカルストレージ141を備える。
メインプロセッサ131は、DC134を制御し、記録部113に記録されているデータおよびプログラムを読み出させ、DMAC133を制御し、メインメモリ112にロードさせて、一時的に記憶させる。メインプロセッサ131は、メインメモリ112からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムをもとに、情報処理装置101の各種の処理を実行する。なお、情報処理装置101がスレーブ装置であった場合のメインプロセッサ131は、記録部113に記録されているデータおよびプログラムだけでなく、マスタ装置である情報処理装置から受信されたセルに含まれるプログラムやデータもメインメモリ112にロードする。
メインプロセッサ131は、ネットワーク104を介して接続されている、情報処理装置102または103に分散処理を実行させる場合、操作入力部115を介して要求された処理を実行するために必要なデータおよびプログラムを含むソフトウェアセルを生成し、生成したソフトウェアセルをバス136およびバス114を介して、通信部118に供給する。
サブプロセッサ132−1乃至132−3は、メインプロセッサ131の制御の下、並列的かつ独立に、プログラムを実行し、データを処理する。さらに、必要に応じて、メインプロセッサ131が実行するプログラムが、サブプロセッサ132−1乃至132−3のそれぞれが実行するプログラムのそれぞれと連携して動作するように構成することも可能である。
サブプロセッサ132−1乃至132−3のそれぞれは、ローカルストレージ142−1乃至142−3のそれぞれを備える。サブプロセッサ132−1乃至132−3のそれぞれは、ローカルストレージ142−1乃至142−3のそれぞれに、必要に応じて、データおよびプログラムを一時的に記憶させる。サブプロセッサ132−1乃至132−3のそれぞれは、ローカルストレージ142−1乃至142−3のそれぞれからデータおよびプログラムを読み込み、読み込んだデータおよびプログラムをもとに、各種の処理を実行する。
以下、サブプロセッサ132−1乃至132−3のそれぞれを個々に区別する必要のないとき、単にサブプロセッサ132と称する。同様に、以下、ローカルストレージ142−1乃至142−3のそれぞれを個々に区別する必要のないとき、単にローカルストレージ142と称する。なお、情報処理装置101においては、3つのサブプロセッサ132により構成されているが、接続される数は任意である。
DMAC133は、キー管理テーブル記憶部135に記録されている、メインプロセッサキー、サブプロセッサキー、およびアクセスキーをもとに、メインプロセッサ131およびサブプロセッサ132からのメインメモリ112に記憶されているプログラムおよびデータへのアクセスを管理する。DC134は、メインプロセッサ131およびサブプロセッサ132からの記録部113などへのアクセスを行う。
キー管理テーブル記憶部135は、メインプロセッサキー、サブプロセッサキー、およびアクセスキーを記録している。なお、メインプロセッサキー、サブプロセッサキー、およびアクセスキーの詳細は後述する。
メインメモリ112は、例えば、DRAM(Dynamic Random Access Memory)により構成される。メインメモリ112は、メインプロセッサ131およびサブプロセッサ132が実行する各種のプログラムおよびデータを一時的に記憶している。なお、メインメモリ12をスタティック・ランダム・アクセス・メモリ(SRAM(Static Random Access Memory))、磁気ランダム・アクセス・メモリ(MRAM(Magnetoresistive Random Access Memory))、光メモリまたはホログラフィ・メモリなどを用いて実現するようにしてももちろんよい。
記録部113は、例えば、ハードディスクなどの大容量磁気記録媒体により構成される。もちろん、記録部113は、データを記録することができるのであればどのような記録媒体であってもよく、それ以外にも、例えば、専用のドライブ等により構成されるようにし、そのドライブに装着されたDVD,CD、半導体メモリ、または磁気テープなどの、予め定められた所定のリムーバブルな記録媒体を利用するようにしていてもよい。記録部113は、DC134を介して供給される画像データや音声データ等のコンテンツデータを内蔵するハードディスクに記録したり、そのハードディスクに記録されているコンテンツデータを読み出し、DC134を介して他の処理部等に供給したりする。また、記録部113には、ユーザによる操作入力部115の操作に基づいて、番組の録画予約情報が記憶される。
さらに、記録部113は、メインプロセッサ131およびサブプロセッサ132が実行する各種のプログラムや各種データ等を内蔵するハードディスクに記録することもできる。
情報処理コントローラ111には、バス114を介して、操作入力部115、放送受信部116、出力部117、通信部118、ドライブ119が接続されている。操作入力部115は、例えば、ボタンやダイヤルなどの操作入力デバイスや、図示しないリモートコマンダから送信される、ユーザの操作入力を示す赤外線信号または無線信号などを受信する受信部を備える用に構成され、ユーザの操作に応じた指示信号を、情報処理コントローラ111に供給する。
放送受信部116は、アンテナ120を介してデジタル放送の番組のデータを受信し、受信したデータから選択されるチャンネルのデータにして、情報処理コントローラ111に供給する。出力部117は、例えば、ディスプレイ、FL管、またはLEDなどからなる図2の表示部57や、スピーカ58などにより構成され、情報処理コントローラ111から供給されたデータを出力する。
通信部118は、情報処理コントローラ111から供給されたソフトウェアセルを、ネットワーク104を介して情報処理装置102または103宛てに送信する。また、通信部118は、情報処理装置102または103から送信されてきたデータを、バス114を介して、情報処理コントローラ111に供給する。
ドライブ119は、磁気ディスク151、光ディスク152、光磁気ディスク153、あるいは半導体メモリ154などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて、バス114を介して、情報処理コントローラ111に転送され、情報処理コントローラ111によって、記録部113に記録される。
なお、図10の例においては、情報処理装置101乃至103の3台の情報処理装置が、ネットワーク104に接続される場合を説明したが、接続される台数は任意である。
次に、図11乃至図13を参照して、サブプロセッサ132がメインメモリ112にアクセスする場合の処理について説明する。
図11に示されるように、メインメモリ112には、複数のアドレスを指定できるメモリロケーションが配置される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、F/Eビット、サブプロセッサIDおよびLSアドレス(ローカルストレージアドレス)を含む。また、各メモリロケーションには、後述するアクセスキーが割り振られる。
“0”であるF/Eビットは、サブプロセッサ132によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、そのメモリロケーションから読み出し不可であることを示す。また、“0”であるF/Eビットは、そのメモリロケーションにデータ書き込み可能であることを示し、データが書き込まれると、F/Eビットは“1”に設定される。
“1”であるF/Eビットは、そのメモリロケーションのデータがサブプロセッサ132によって読み出されておらず、未処理の最新データであることを示す。F/Eビットが“1”であるメモリロケーションのデータは読み出し可能であり、サブプロセッサ132によって読み出されてから、F/Eビットは“0”に設定される。また、“1”であるF/Eビットは、メモリロケーションがデータ書き込み不可であることを示す。
さらに、F/Eビットが“0”(読み出し不可/書き込み可)である状態において、メモリロケーションについて読み出し予約を設定することが可能である。F/Eビットが“0”であるメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ132は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報としてサブプロセッサ132のサブプロセッサIDおよびLSアドレスを書き込む。そして、データを書き込むサブプロセッサ132によって、読み出し予約されたメモリロケーションにデータが書き込まれ、F/Eビットが“1”(読み出し可/書き込み不可)に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれているサブプロセッサIDおよびLSアドレスによって特定されるローカルストレージ142に読み出される。
複数のサブプロセッサ132によってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出しおよび書き込みを制御することによって、前段階の処理を行うサブプロセッサ132が、処理済みのデータをメインメモリ112における所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ132が前処理後のデータを読み出すことが可能となる。
また、図12で示されるように、サブプロセッサ132のローカルストレージ142は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含む。
サブプロセッサ132がメインメモリ112に記憶されているデータをサブプロセッサ132のローカルストレージ142のメモリロケーションに読み出すときには、対応するビジービットを“1”に設定して予約する。ビジービットが“1”であるメモリロケーションには、他のデータを格納することができない。ローカルストレージ142のメモリロケーションにデータが読み出されると、ビジービットは“0”に設定され、他のデータを格納することができるようになる。
さらに、図11で示すように情報処理コントローラ111に接続されているメインメモリ112には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ112内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ132に割り当てられ、割り当てられたサブプロセッサ132が排他的に使用することができる。すなわち、サブプロセッサ132は、割り当てられたサンドボックスを使用できるが、この領域を超えてデータにアクセスすることはできない。
メインメモリ112は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
さらに、メインメモリ112の排他的な制御を実現するために、図13で示されるキー管理テーブルが用いられる。キー管理テーブルは、キー管理テーブル記憶部135に記録され、DMAC133と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサID、サブプロセッサキーおよびキーマスクが含まれる。
サブプロセッサ132がメインメモリ112にアクセスする場合、サブプロセッサ132はDMAC133に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、サブプロセッサ132を特定するサブプロセッサIDおよびアクセス要求先であるメインメモリ112のアドレスが含まれる。
DMAC133は、サブプロセッサ132から供給されたコマンドを実行する場合、キー管理テーブルを参照して、アクセス要求元のサブプロセッサ132のサブプロセッサキーを調べる。そして、DMAC133は、調べたアクセス要求元のサブプロセッサキーと、アクセス要求先であるメインメモリ112のメモリロケーションに割り振られたアクセスキーとを比較して、2つのキーが一致した場合にのみ、サブプロセッサ132から供給されたコマンドを実行する。
図13は、キー管理テーブルを説明する図である。キー管理テーブルに記録されているキーマスクは、その任意のビットが“1”になることによって、そのキーマスクと関連付けられたサブプロセッサキーの対応するビットを“0”または“1”にすることができる。
例えば、サブプロセッサキーが“1010”であるとする。通常、このサブプロセッサキーによって“1010”のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが“0001”に設定されている場合には、キーマスクのビットが“1”に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ(キーマスクのビットが“1”に設定された桁について、判定されず)、このサブプロセッサキー“1010”によってアクセスキーが“1010”または“1011”のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
以上のようにして、メインメモリ112のサンドボックスの排他性が実現される。すなわち、複数のサブプロセッサ132によってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサ132と、後段階の処理を行うサブプロセッサ132のみが、メインメモリ112の所定のアドレスにアクセスできるようになり、データを保護することができる。
例えば、キーマスクの値は、以下のように変更されることが考えられる。まず、情報処理装置101の起動直後においては、キーマスクの値は全て“0”である。メインプロセッサ131にロードされたプログラムが実行され、サブプロセッサ132にロードされたプログラムと連携動作するものとする。サブプロセッサ132−1により出力された処理結果データを、メインメモリ112に記憶させ、メインメモリ112に記憶させた処理結果データを、サブプロセッサ132−2に入力したいときには、サブプロセッサ132−1により出力された処理結果データを記憶しているメインメモリ112の領域は、サブプロセッサ132−1およびサブプロセッサ132−2からアクセス可能である必要がある。そのような場合に、メインプロセッサ131は、キーマスクの値を適切に変更し、複数のサブプロセッサ132からアクセスできるメインメモリの領域を設けることにより、サブプロセッサ132による多段階的の処理を可能にする。
より具体的には、例えば、情報処理装置102または103から送信されてきた、データを基に、サブプロセッサ132−1が所定の処理を実行し、処理が施されたデータをメインメモリ112の第1の領域に記憶させる。そして、サブプロセッサ132−2は、メインメモリ112の第1の領域から、記憶されているデータを読み出し、読み出したデータを基に、所定の処理を実行し、処理が施されたデータをメインメモリ112の第1の領域とは、異なる第2の領域に記憶させる。
ここで、サブプロセッサ132−1のサブプロセッサキーが“0100”であり、メインメモリ112の第1の領域のアクセスキーが“0100”であり、サブプロセッサ132−2のサブプロセッサキーが“0101”であり、メインメモリ112の第2の領域のアクセスキーが“0101”である場合、サブプロセッサ132−2は、メインメモリ112の第1の領域にアクセスすることができない。そこで、サブプロセッサ132−2のキーマスクを“0001”にすることによって、サブプロセッサ132−2は、メインメモリ112の第1の領域にアクセスすることができるようになる。
なお、図11乃至図13においては、サブプロセッサ132がメインメモリ112にアクセスする場合について説明したが、メインプロセッサ131は、上述したサブプロセッサIDおよびサブプロセッサキーに対応する、メインプロセッサIDおよびメインプロセッサキーを有しており、メインプロセッサ131が、例えば、ローカルストレージ141で処理を行うために、メインメモリ112にアクセスする場合も同様な処理が実行される。
次に、図14および図15を参照して、情報処理装置101がソフトウェアセルを生成し、生成したソフトウェアセルを基に、情報処理装置102および103のいずれかに分散処理を実行させる場合の処理について説明する。
図10の通信システムにおいては、情報処理装置101乃至103間での分散処理のために、情報処理装置101乃至103間でソフトウェアセルが伝送される。
すなわち、情報処理装置101のメインプロセッサ131は、処理を実行するために必要なコマンド、プログラム、およびデータを含むソフトウェアセルを生成し、ネットワーク104を介して情報処理装置102および103のいずれか宛てに送信する。また、情報処理装置102または103は、情報処理装置101からのソフトウェアセルを受信すると、対応する処理を実行し、実行により得られた結果などを含むソフトウェアセルを生成し、ネットワーク102を介して情報処理装置101に送信する。
図14は、ソフトウェアセルの構成の例を示す図である。
ソフトウェアセルは、送信元ID、送信先ID、応答先ID、セルインターフェース、DMAコマンド、プログラム、およびデータを含むように構成される。
送信元IDには、ソフトウェアセルの送信元である情報処理装置101のネットワークアドレスおよび情報処理装置101の情報処理コントローラ111の装置ID、さらに、情報処理装置101の情報処理コントローラ111が備えるメインプロセッサ131およびサブプロセッサ132の識別子(メインプロセッサIDおよびサブプロセッサID)が含まれる。
送信先IDには、ソフトウェアセルの送信先である情報処理装置102または103のネットワークアドレス、情報処理装置102または103の情報処理コントローラの装置ID、並びに情報処理装置102または103の情報処理コントローラが備えるメインプロセッサおよびサブプロセッサの識別子が含まれる。
また、応答先IDには、ソフトウェアセルの実行結果の応答先である情報処理装置101のネットワークアドレス、情報処理装置101の情報処理コントローラ111の装置ID、および情報処理コントローラ111が備えるメインプロセッサ131およびサブプロセッサ132の識別子が含まれる。
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルID、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルIDから構成される。
グローバルIDは、ネットワーク104全体を通してソフトウェアセルを一意的に識別できるものであり、送信元ID、およびソフトウェアセルの生成または送信の日時(日付および時刻)を基に、生成される。
必要なサブプロセッサの情報は、ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、ソフトウェアセルの実行に必要なメインメモリおよびサブプロセッサのローカルストレージのメモリ量が設定される。
前回のソフトウェアセルIDは、ストリーミングデータなどのシーケンシャルな実行を要求する1つのグループを構成するソフトウェアセル内の、前回のソフトウェアセルの識別子である。
ソフトウェアセルの実行セクションは、DMAコマンド、プログラムおよびデータから構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
さらに、DMAコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
ロードコマンドは、メインメモリが記憶している情報をサブプロセッサのローカルストレージにロードさせるコマンドであり、ロードコマンドのほかに、メインメモリアドレス、サブプロセッサIDおよびLSアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリの所定の領域のアドレスを示す。サブプロセッサIDおよびLSアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージのアドレスを示す。
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンドのほかに、サブプロセッサIDおよびプログラムカウンタを含む。サブプロセッサIDは、キック対象のサブプロセッサを識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
機能プログラム実行コマンドは、ある装置(例えば、情報処理装置101)が他の装置(例えば、情報処理装置102または103)に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した装置(例えば、情報処理装置102または103)の情報処理コントローラは、機能プログラムIDによって、起動すべき機能プログラムを識別する。
ステータス要求コマンドは、送信先IDで示される情報処理装置102または103の現在の動作状態(状況)に関する装置情報を、応答先IDで示される情報処理装置102または103宛てに送信要求するコマンドである。
ステータス返信コマンドは、ステータス要求コマンドを受信した情報処理装置102または103が、装置情報をステータス要求コマンドに含まれる応答先IDで示される管理装置11に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
図15は、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す図である。
装置IDは、情報処理コントローラを備える情報処理装置102または103を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置102または103のIDを示す。装置IDは、例えば、装置の電源をオンしたとき、情報処理装置102または103の情報処理コントローラに含まれるメインプロセッサによって、装置の電源をオンしたときの日時、情報処理装置102または103のネットワークアドレスおよび情報処理装置102または103の情報処理コントローラに含まれるサブプロセッサの数などに基づいて生成される。
装置種別IDには、情報処理装置102または103の特徴を表す値が含まれる。情報処理装置102または103の特徴とは、情報処理装置102または103がどのような装置であるかを示す情報であり、例えば、情報処理装置102または103が、ハードディスクレコーダ、PDA(Personal Digital Assistant)、ポータブルCD(Compact Disk)プレーヤなどであることを示す情報である。また、装置種別IDは、映像音声記録、映像音声再生など、情報処理装置102または103の機能を表すものであってもよい。情報処理装置102または103の特徴や機能を表す値は予め決定されているものとし、装置種別IDを読み出すことにより、情報処理装置102または103の特徴や機能を把握することが可能である。
メインプロセッサ動作周波数は、情報処理コントローラのメインプロセッサの動作周波数を表す。メインプロセッサ使用率は、メインプロセッサで現在動作している全てのプログラムについての、メインプロセッサでの使用率を表す。メインプロセッサ使用率は、メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えば、プロセッサ処理能力評価のための単位であるMIPSを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。
サブプロセッサ数は、情報処理コントローラが備えるサブプロセッサの数を表す。サブプロセッサIDは、情報処理コントローラのサブプロセッサを識別するための識別子である。
サブプロセッサステータスは、サブプロセッサの状態を表すものであり、“unused”、“reserved”、および“busy”などの状態がある。“unused”は、サブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。“reserved”は、現在は使用されていないが、予約されている状態を示す。“busy”は、現在使用中であることを示す。
サブプロセッサ使用率は、サブプロセッサで現在実行している、またはサブプロセッサに実行が予約されているプログラムについての、サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスが“busy”である場合には、現在の使用率を示し、サブプロセッサステータスが“reserved”である場合には、後に使用される予定の推定使用率を示す。
サブプロセッサID、サブプロセッサステータスおよびサブプロセッサ使用率は、1つのサブプロセッサに対して一組設定され、1つの情報処理コントローラのサブプロセッサに対応する組数が設定される。
メインメモリ総容量およびメインメモリ使用量は、それぞれ、情報処理コントローラに接続されているメインメモリの総容量および現在使用中の容量を表す。
記録部数は、情報処理コントローラに接続されている記録部の数を表す。記録部IDは、情報処理コントローラに接続されている記録部を一意的に識別する情報である。記録部種別IDは、記録部の種類(例えば、ハードディスク、CD±RW、DVD±RW、メモリディスク、SRAM、ROMなど)を表す。
記録部総容量および記録部使用量は、それぞれ、記録部IDによって識別される記録部の総容量および現在使用中の容量を表す。
記録部ID、記録部種別ID、記録部総容量および記録部使用量は、1つの記録部に対して一組設定されるものであり、情報処理コントローラに接続されている記録部の数の組数だけ設定される。すなわち、1つの情報処理コントローラに複数の記録部が接続されている場合、各記録部には異なる記録部IDが割り当てられ、記録部種別ID、記録部総容量および記録部使用量も別々に管理される。
以上のように構成されるソフトウェアセルを用いて、情報処理装置101は、情報処理装置102または103に分散処理が実行させる。
すなわち、情報処理装置101のメインプロセッサ131は、情報処理装置102または103に分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルを、ネットワーク104を介して情報処理装置102または103宛てに送信する。なお、以下、情報処理装置102の場合を例に説明するが、情報処理装置103の場合も同様であるので、その説明は繰り返しになるので省略する。
送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置は、それぞれ図14の送信元ID,送信先ID、および応答先IDにより識別される。ソフトウェアセルを受信した情報処理装置102のメインプロセッサ131は、ソフトウェアセルをメインメモリ112に格納する。そして、情報処理装置102のメインプロセッサ131は、ソフトウェアセルを読み出し、それに含まれるDMAコマンドを処理する。
具体的には、送信先である情報処理装置102のメインプロセッサ131は、まず、ロードコマンドを実行する。これにより、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサIDおよびLSアドレスで特定されるサブプロセッサ132内のローカルストレージ142の所定領域に、情報がロードされる。このロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラム、データ、またはその他の指示されるデータである。
次に、メインプロセッサ131は、キックコマンドを、このコマンドに含まれるサブプロセッサIDで指示されるサブプロセッサ132に、このコマンドに含まれるプログラムカウンタと共に出力する。指示されたサブプロセッサ132は、キックコマンドおよびプログラムカウンタに従って、サブプロセッサプログラムを実行し、その実行結果をメインメモリ112に格納する。その後、サブプロセッサ132は、実行を完了したことをメインプロセッサ131に通知する。
なお、送信先の情報処理装置102において、ソフトウェアセルを実行するプロセッサは、サブプロセッサ132に限定されるものではなく、メインプロセッサ131がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するようにすることも可能である。
この場合には、送信元の情報処理装置101は、送信先の情報処理装置102宛てに、サブプロセッサプログラムの代わりに、メインメモリ用プログラムおよびそのメインメモリ用プログラムによって処理されるデータを含み、DMAコマンドがロードコマンドであるソフトウェアセルを送信し、送信先の情報処理装置102のメインメモリ112に、メインメモリ用プログラムおよびそれによって処理されるデータを記憶させる。その後、送信元の情報処理装置101は、送信先の情報処理装置102宛てに、メインメモリアドレス、メインメモリ用プログラムを識別するために、機能プログラムに付されている機能プログラムIDなどの識別し、およびプログラムカウンタを含み、DMAコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、送信先の情報処理装置102のメインプロセッサ131にメインメモリ112に記憶させたメインメモリ用プログラムを実行させる。
このようにして、送信元の情報処理装置101は、送信先の情報処理装置102に分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルを、ネットワーク104を介して情報処理装置102宛てに送信する。これにより、送信先の情報処理装置102においては、受信したソフトウェアセルに応じた処理が実行される。そして、情報処理装置102は、その実行結果や、ステータス返信コマンドなどを、ソフトウェアセルに格納し、ソフトウェアセルの応答先である情報処理装置101に送信する。
以上のように構成されるソフトウェアセルを用いることにより、ネットワーク104に接続される複数の情報処理装置101乃至103は、仮想的な1台の情報処理装置として動作する。
すなわち、図16に示されるように、3台の情報処理装置101乃至103が、ネットワーク104を介して互いに接続されている場合に、各情報処理装置101乃至103が、上述したようにソフトウェアセルを利用して互いに連携して動作することによって、図16の下段に示されるような1台の仮想的な情報処理装置161として動作する。
したがって、この場合、各情報処理装置は、この1台の仮想的な情報処理装置161として動作し、図1の情報処理システムを用いて上述したような、電源切断要求があった場合に、1つの情報処理装置内に記録されている番組の録画予約情報を、他の情報処理装置に移管する処理を実行することができる。
図17は、仮想的な1台の情報処理装置161の構成例を示す図である。図17の例においては、3台の情報処理装置101乃至103が仮想的な1台の情報処理装置161として動作し、情報処理装置101がマスタ装置として、情報処理装置102および103がスレーブ装置として動作している。
例えば、図17に示されるように、ユーザが1台の情報処理装置(例えば、情報処理装置102)を操作して、電源切断要求(図17中、白抜き矢印で示される操作入力)を行うと、情報処理装置102に記憶されている番組の録画予約情報が、マスタ装置として動作する情報処理装置101に供給される。
情報処理装置101は、その番組の録画予約情報に基づいて、処理するプログラムやデータを用意してそれらをソフトウェアセル化し、その生成したソフトウェアセルを、スレーブ装置として動作する情報処理装置103に供給し、実行させる。その際、マスタ装置として動作する情報処理装置101は、自身の装置、並びに、スレーブ装置として動作する情報処理装置102および103のそれぞれのハードウェアリソース(チューナやハードディスク等のハードウェア資源)の使用状況を考慮し、利用されていないリソース(空きリソース)を利用するようにソフトウェアセルを生成し、それらを各情報処理装置に割り当てる。
具体的には、図18のフローチャートを参照して、図17の仮想的な1台の情報処理装置161の分散処理を説明する。なお、図18の例においては、ユーザが情報処理装置102を操作し、その操作に応じた機能プログラム(すなわち、録画予約情報を登録(記憶)し、その録画予約情報に基づいて、録画を実行するプログラム)を、別の情報処理装置103が実行する場合を説明する。なお、図18の分散処理は、図5のステップS16の移管先探索処理の他の例である。
したがって、例えば、図17に示されるように、ユーザが1台の情報処理装置(例えば、情報処理装置102)を操作して、電源切断要求(図17中、白抜き矢印で示される操作入力)を行うと、例えば、情報処理装置102のメインプロセッサ131においては、図3を参照して上述した機能ブロックが実現され、図5のステップS12において、情報処理装置102の記録部113に記憶されている録画予約情報が検索される。そして、ステップS13乃至S15の処理が実行された後、情報処理装置102のメインプロセッサ131は、ステップS131において、検索された録画予約情報を、マスタ装置として動作する情報処理装置101に送信する。
情報処理装置102より録画予約情報が送信されてくると、情報処理装置101は、ステップS111で、その録画予約情報を受信し、ステップS112に進み、自身の情報処理装置のメインメモリ112に記録されている自身および他の情報処理装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した録画予約情報に応じた機能プログラムを実行することができる情報処理装置(図18の場合、情報処理装置103)を選択し、ステップS113に進む。
なお、録画予約情報に応じた機能プログラムを実行することができる情報処理装置がいなかった場合には、情報処理装置101は、情報処理装置102に対して、受付拒否応答信号を送信することになる。このとき、対応する情報処理装置がいた場合であっても、情報処理装置101が、情報処理装置102に対して、受付可能応答信号を送信するようにしてもよい。
情報処理装置101は、ステップS113において、選択した情報処理装置103に対して機能プログラムの実行を要求する。すなわち、この場合、録画予約情報が対象とする番組の録画処理を実行するための機能プログラム(録画予約情報を含む)が送信される。
情報処理装置101より機能プログラムの実行要求が送信されると、情報処理装置103は、ステップS151において、情報処理装置101からの実行要求を受信し、ステップS152に進み、実行要求された機能プログラムを実行する。すなわち、情報処理装置103の情報処理コントローラ111のメインプロセッサ131は、ステップS152において、DC134を制御し、録画予約情報を記録部113に記録させ、ステップS153に進む。
これにより、情報処理装置103のメインプロセッサ131は、録画予約情報が示す録画開始時刻になったときに、放送受信部116を制御し、アンテナ120を介して受信される放送信号から、録画予約情報が対象とする番組のデータを抽出させ、抽出されたデータを、DC134を制御し、記録部113に記録させることができる。
また、情報処理装置103のメインプロセッサ131は、ステップS153において、録画予約情報を記録した(要求を受けた)という実行結果(すなわち、図9の場合の受付可能応答信号)を、情報処理装置102に送信する。なお、応答先の情報処理装置102は、図14を参照して上述した応答先IDにより識別される。
情報処理装置102のメインプロセッサ131は、ステップS132において、情報処理装置103からの実行結果を受信し、図5のステップS16に戻り、ステップS17に進み、それ以降の電源切断処理を実行することができる。
以上のようにして実行される一連の処理は、ソフトウェアセル化され、各情報処理装置が有するハードウェアリソース(チューナやハードディスク等のハードウェア資源)の内、利用されていないリソース(空きリソース)を適宜利用して処理される。すなわち、このように実行されるプログラム(上述した各処理)は、仮想的な1台の情報処理装置161において実行されるので、他の実施例において説明したような情報処理装置間の連携(個別に録画予約情報を送信するなどの処理)について考慮する必要がなく、マスタ装置がすべてを管理するので、それぞれの情報処理装置に対しての処理については省略することができる。
以上のように、ユーザからの電源切断の指令の操作に対して、録画予約情報がある場合に、その録画予約情報を、他の情報処理装置に移管する(送信し記憶させる)ようにしたので、容易かつ確実に録画を行うことができる。また、移管先を通知するようにしたので、ユーザは、どの装置に記録されたかを簡単に知ることができる。
また、ユーザは同一の録画予約を指令する操作を複数の情報処理装置に対して設定する必要がなく、さらに、同じ機能を持ち、録画予約の実行が可能な情報処理装置が抽出されて、抽出された情報処理装置に移管されるので、録画予約を簡単な操作で、より確実に行うことができる。
また、録画予約情報を移管するので、重複したデータが複数の情報処理装置に記憶されることがないため、通信システムにおいて、無駄にデータ領域が使用されることが抑制される。
なお、上記説明においては、番組の録画予約情報を用いて説明したが、番組の録画予約情報は、すなわち、ある時刻に番組を録画するために必要なコントローラ、放送受信部、記憶部などのリソースの予約である。したがって、本発明は、番組録画情報に限らず、他のリソースの予約情報にも適用することができる。
また、以上においては、本発明を情報処理装置に適用した場合について説明したが、本発明は、ポータブルCDプレーヤ、ハードディスクレコーダ、またはカムコーダなどのAV(Audio Visual)機器、もしくはPDAなどにも適用することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、例えば、図2の録画再生装置11は、図19に示されるような情報処理装置301により構成される。
図19において、CPU(Central Processing Unit)311は、ROM(Read Only Memory) 312に記憶されているプログラム、または、記憶部318からRAM(Random Access Memory)313にロードされたプログラムに従って各種の処理を実行する。RAM313にはまた、CPU311が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU311、ROM312、およびRAM313は、バス314を介して相互に接続されている。このバス314にはまた、入出力インタフェース315も接続されている。
入出力インタフェース315には、キーボード、マウスなどよりなる入力部316、CRT(Cathode Ray Tube),LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部317、ハードディスクドライブなどより構成される記憶部318、モデム、ターミナルアダプタなどより構成される通信部319が接続されている。通信部319は、例えば、ホームネットワーク21−1または21−2、インターネット22、もしくはネットワーク104を介しての通信処理を行う。
入出力インタフェース315にはまた、必要に応じてドライブ320が接続され、磁気ディスク321、光ディスク322、光磁気ディスク323、或いは半導体メモリ324などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部318にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図10または図19に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク151,321(フレキシブルディスクを含む)、光ディスク152,322(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク153,323(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ154,324などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているメインメモリ112,ROM312や、記録部113,記憶部318などで構成される。
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
11−1乃至11−2 録画再生装置,21−1,21−2 ホームネットワーク, 22 インターネット,31−1乃至31−3 録画予約情報記憶部,32−1乃至32−3 ネットワーク接続部,51 コントローラ,56 操作入力部,57 表示部,58 スピーカ,59 放送受信部,60 電源制御部,61 電源ボタン,81 電源切断検出部,82 予約管理制御部,83 録画予約管理部,84 録画情報送信部,85 ステータス受信部,86 表示制御部,87 音声出力制御部,88 録画制御部,91 予約管理制御部,92 録画予約情報受信部,93 ステータス送信部,101乃至103 情報処理装置,104 ネットワーク