(57)【要約】【課題】  システムへの増設や交換などの自由度を高めることができ、かつ、複数機能の同時実行性やシステムの冗長性を確保することができるコンテンツ記録再生システムを提供すること。【解決手段】  ホームサーバ１００は、各クライアント機器からの記録予約受付時に、コンテンツ情報を基に一の番組を一意に識別するためのコンテンツＩＤを発行する。そして、各クライアントＡＶ機器が、一の番組の一部としての分割コンテンツをそれぞれストリーミング受信してホームサーバ１００へ送信すると、ホームサーバ１００は、各分割コンテンツを上記コンテンツＩＤにより一意に把握して記録し、一の番組の終了時刻が経過するとそれらの各分割コンテンツを一のコンテンツへ合成して記録する。この際、各分割コンテンツに重複する部分がある場合には、当該重複部分を削除する。【選択図】  図２６
2006025307.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してコンテンツ再生装置と通信を行うことが可能なコンテンツ記録装置において、
前記コンテンツ再生装置において一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を前記コンテンツ再生装置から受信する第１の受信手段と、
前記受信された関連情報を基に、前記分割コンテンツに当該分割コンテンツを識別するコンテンツＩＤを付与する付与手段と、
前記コンテンツ再生装置において受信された前記分割コンテンツを前記コンテンツ再生装置から受信する第２の受信手段と、
前記受信された分割コンテンツを前記コンテンツＩＤ及び前記関連情報と対応付けて記録する記録手段と、
前記分割コンテンツが複数記録された場合に、当該複数の分割コンテンツのうち、同一のコンテンツＩＤを付与された各分割コンテンツを、前記一のコンテンツとして合成する合成手段と
を具備することを特徴とするコンテンツ記録装置。
【請求項２】
請求項１に記載のコンテンツ記録装置において、
前記合成された一のコンテンツを、前記コンテンツ再生装置に再生させるために当該コンテンツ再生装置へ送信する第１の送信手段を更に具備することを特徴とするコンテンツ記録装置。
【請求項３】
請求項２に記載のコンテンツ記録装置において、
前記付与されたコンテンツＩＤを前記コンテンツ再生装置へ送信する第２の送信手段と、
前記コンテンツ再生装置から、前記合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに受信する第３の受信手段とを更に具備し、
前記送信手段は、前記送信要求に応じて、前記受信されたコンテンツＩＤに対応する前記一のコンテンツを送信することを特徴とするコンテンツ記録装置。
【請求項４】
請求項１に記載のコンテンツ記録装置において、
前記第２の受信手段は、複数のコンテンツ再生装置から前記分割コンテンツを受信し、
前記合成手段は、
前記記録された各分割コンテンツに対応する各関連情報を基に、当該各分割コンテンツに重複する部分が存在するか否か判断する手段と、
重複する部分が存在すると判断された場合に、各分割コンテンツのうち一の分割コンテンツの重複部分を残して他の分割コンテンツの重複部分を削除する手段と
を有することを特徴とするコンテンツ記録装置。
【請求項５】
請求項４に記載のコンテンツ記録装置において、
前記合成手段は、前記重複部分が存在する各分割コンテンツの前記各関連情報を基に、前記各重複部分を削除する際の優先順位を設定する手段を更に有することを特徴とするコンテンツ記録装置。
【請求項６】
請求項１に記載のコンテンツ記録装置において、
前記第２の受信手段は、前記コンテンツ再生装置において暗号化された分割コンテンツを受信し、
前記合成手段は、
前記同一のコンテンツＩＤが付与された各分割コンテンツを復号化させるために、当該各分割コンテンツを暗号化した前記各コンテンツ再生装置へ当該各分割コンテンツを送信する手段と、
前記各コンテンツ再生装置により復号化された各分割コンテンツを当該各コンテンツ再生装置から受信して、前記暗号化された各分割コンテンツを前記復号化された各分割コンテンツへと更新する手段と、
前記復号化された各分割コンテンツを合成する手段と
を更に有することを特徴とするコンテンツ記録装置。
【請求項７】
請求項５に記載のコンテンツ記録装置において、
前記一のコンテンツは所定の時間帯に放送される番組であり、
前記関連情報は、前記番組が放送される地域に関する情報、前記番組が放送されるチャンネルに関する情報、前記番組の放送開始時刻及び放送終了時刻に関する情報、前記各コンテンツ再生装置において前記番組の一部として受信される前記各分割コンテンツの受信開始時刻及び受信終了時刻に関する情報を含み、
前記生成手段は、前記地域情報、チャンネル情報、放送開始時刻情報及び放送終了時刻情報を基に前記コンテンツＩＤを生成し、
前記合成手段は、前記一のコンテンツの放送終了時刻が経過したときに、前記各分割コンテンツの受信開始時刻情報及び受信終了時刻情報を基に、各分割コンテンツを時系列順に合成することを特徴とするコンテンツ記録装置。
【請求項８】
コンテンツ記録装置とネットワークを介して通信を行うことが可能なコンテンツ再生装置において、
一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を取得する取得手段と、
前記取得された関連情報を前記コンテンツ記録装置へ送信する第１の送信手段と、
前記コンテンツ記録装置において前記関連情報を基に前記分割コンテンツに付与されたコンテンツＩＤを前記コンテンツ記録装置から受信する第１の受信手段と、
前記分割コンテンツを受信する第２の受信手段と、
前記受信された分割コンテンツを、前記コンテンツ記録装置において記録されるように前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信する第２の送信手段と、
前記コンテンツ記録装置において前記分割コンテンツが複数記録され、当該複数の分割コンテンツが前記一のコンテンツとして合成された場合に、当該合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信する第３の送信手段と、
前記送信要求に応じて前記コンテンツ記録装置から送信された前記一のコンテンツを受信する第３の受信手段と、
前記受信された一のコンテンツを再生する再生手段と
を具備することを特徴とするコンテンツ再生装置。
【請求項９】
請求項８に記載のコンテンツ再生装置において、
前記第２の受信手段により受信された分割コンテンツを暗号化する手段を更に具備し、
前記第２の送信手段は前記暗号化された分割コンテンツを送信し、
前記再生手段は、前記一のコンテンツを復号化して再生することを特徴とするコンテンツ再生装置。
【請求項１０】
請求項８に記載のコンテンツ再生装置において、
当該コンテンツ再生装置は他のコンテンツ再生装置とともに前記ネットワークに接続されており、
前記第２の受信手段により受信された分割コンテンツを暗号化する手段を更に具備し、
前記第２の送信手段は、前記暗号化された分割コンテンツを送信し、
当該コンテンツ再生装置は、
前記コンテンツ記録装置において、前記送信された分割コンテンツが、前記他のコンテンツ再生装置から送信された他の分割コンテンツとともに記録された場合に、前記記録された分割コンテンツの複合化要求を前記分割コンテンツとともに前記コンテンツ記録装置から受信する手段と、
前記復号化要求に応じて前記分割コンテンツを復号化し、前記コンテンツ記録装置へ返信する手段と
を更に具備することを特徴とするコンテンツ再生装置。
【請求項１１】
請求項８に記載のコンテンツ再生装置において、
前記一のコンテンツは所定の時間帯に放送される番組であり、
前記関連情報は、前記番組が放送される地域に関する情報、前記番組が放送されるチャンネルに関する情報、前記番組の放送開始時刻及び放送終了時刻に関する情報、前記各コンテンツ再生装置において前記番組の一部として受信される前記各分割コンテンツの受信開始時刻及び受信終了時刻に関する情報を含むことを特徴とするコンテンツ再生装置。
【請求項１２】
コンテンツ記録装置と第１のコンテンツ再生装置及び第２のコンテンツ再生装置とがネットワークを介して通信を行うことが可能なシステムにおいて、
前記コンテンツ記録装置は、
前記第１及び第２のコンテンツ再生装置において一のコンテンツの少なくとも一部として受信されるべき各分割コンテンツに関連する関連情報を前記第１のコンテンツ再生装置及び第２のコンテンツ再生装置からそれぞれ受信する手段と、前記受信された各関連情報を基に、前記各分割コンテンツに当該各分割コンテンツを識別するコンテンツＩＤを付与し、当該コンテンツＩＤを前記第１及び第２のコンテンツ再生装置へ送信する手段と、前記第１及び第２のコンテンツ再生装置において受信された各分割コンテンツを前記第１及び第２のコンテンツ再生装置からそれぞれ受信する手段と、前記受信された各分割コンテンツを前記コンテンツＩＤ及び前記関連情報と対応付けてそれぞれ記録する手段と、
前記記録された各分割コンテンツのうち、同一のコンテンツＩＤを付与された分割コンテンツを前記一のコンテンツとして合成する手段と、前記合成された一のコンテンツを前記コンテンツ再生装置へ送信する手段とを有し、
前記第１及び第２のコンテンツ再生装置は、
前記関連情報を取得する手段と、前記取得された関連情報を前記コンテンツ記録装置へ送信する手段と、前記コンテンツＩＤを前記コンテンツ記録装置から受信する手段と、前記分割コンテンツを受信する手段と、前記受信された分割コンテンツを前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信する手段と、前記合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信する手段と、前記送信要求に応じて前記コンテンツ記録装置から送信された前記一のコンテンツを受信する手段と、前記受信された一のコンテンツを再生する手段とを有する
ことを特徴とするコンテンツ記録再生システム。
【請求項１３】
ネットワークを介してコンテンツ再生装置と通信を行うことが可能なコンテンツ記録装置がコンテンツを記録する方法であって、
前記コンテンツ再生装置において一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を前記コンテンツ再生装置から受信するステップと、
前記受信された関連情報を基に、前記分割コンテンツに当該分割コンテンツを識別するコンテンツＩＤを付与するステップと、
前記コンテンツ再生装置において受信された前記分割コンテンツを前記コンテンツ再生装置から受信するステップと、
前記受信された分割コンテンツを前記コンテンツＩＤ及び前記関連情報と対応付けて記録するステップと、
前記分割コンテンツが複数記録された場合に、当該複数の分割コンテンツのうち、同一のコンテンツＩＤを付与された各分割コンテンツを、前記一のコンテンツとして合成するステップと
を具備することを特徴とするコンテンツ記録方法。
【請求項１４】
ネットワークを介してコンテンツ記録装置と通信を行うことが可能なコンテンツ再生装置がコンテンツを再生する方法であって、
一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を取得するステップと、
前記取得された関連情報を前記コンテンツ記録装置へ送信するステップと、
前記コンテンツ記録装置において前記関連情報を基に前記分割コンテンツに付与されたコンテンツＩＤを前記コンテンツ記録装置から受信するステップと、
前記分割コンテンツを受信するステップと、
前記受信された分割コンテンツを、前記コンテンツ記録装置において記録されるように前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信するステップと、
前記コンテンツ記録装置において前記分割コンテンツが複数記録され、当該複数の分割コンテンツが前記一のコンテンツとして合成された場合に、当該合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信するステップと、
前記送信要求に応じて前記コンテンツ記録装置から送信された前記一のコンテンツを受信するステップと、
前記受信された一のコンテンツを再生するステップと
を具備することを特徴とするコンテンツ再生方法。
【請求項１５】
ネットワークを介してコンテンツ再生装置と通信を行うことが可能なコンテンツ記録装置に、
前記コンテンツ再生装置において一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を前記コンテンツ再生装置から受信するステップと、
前記受信された関連情報を基に、前記分割コンテンツに当該分割コンテンツを識別するコンテンツＩＤを付与するステップと、
前記コンテンツ再生装置において受信された前記分割コンテンツを前記コンテンツ再生装置から受信するステップと、
前記受信された分割コンテンツを前記コンテンツＩＤ及び前記関連情報と対応付けて記録するステップと、
前記分割コンテンツが複数記録された場合に、当該複数の分割コンテンツのうち、同一のコンテンツＩＤを付与された各分割コンテンツを、前記一のコンテンツとして合成するステップと
を実行させるためのプログラム。
【請求項１６】
ネットワークを介してコンテンツ記録装置と通信を行うことが可能なコンテンツ再生装置に、
一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を取得するステップと、
前記取得された関連情報を前記コンテンツ記録装置へ送信するステップと、
前記コンテンツ記録装置において前記関連情報を基に前記分割コンテンツに付与されたコンテンツＩＤを前記コンテンツ記録装置から受信するステップと、
前記分割コンテンツを受信するステップと、
前記受信された分割コンテンツを、前記コンテンツ記録装置において記録されるように前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信するステップと、
前記コンテンツ記録装置において前記分割コンテンツが複数記録され、当該複数の分割コンテンツが前記一のコンテンツとして合成された場合に、当該合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信するステップと、
前記送信要求に応じて前記コンテンツ記録装置から送信された前記一のコンテンツを受信するステップと、
前記受信された一のコンテンツを再生するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送番組の動画や音楽等のコンテンツを記録及び再生することが可能なコンテンツ記録装置、コンテンツ再生装置、コンテンツ記録方法、コンテンツ再生方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＤＴＶ（ディジタルテレビジョン）やＨＤＤ（Hard Disk Drive）／ＤＶＤを内蔵したレコーダなどのＡＶ（Audio Visual）機器のネットワークへの対応化が進んでいる。これらネットワーク対応のＡＶ機器は、ネットワーク経由でＰＣ（Personal Computer）からの番組予約や遠隔操作などに対応したものが大半である。
【０００３】
また、ＭＥＰＧ（Moving Picture Experts Group）２エンコーダを搭載したネットワーク対応のレコーダなどでは、これに記録されているコンテンツをＭＥＰＧ２エンコードによりネットワーク転送に適した圧縮率のストリームに符号化し、レコーダとネットワークを通じて接続されたＰＣやコンテンツ再生機能を有するＡＶ機器などに転送し、再生することが可能となっている。
【特許文献１】特開２００２−１１２２２０号公報（段落[０００６]等）。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般にコンテンツのストリームの外部入力および放送受信から記録までの一連の機能はレコーダが担っているので、同時記録番組の数を増やそうとしたり、新しい放送形式に対応しようとしたりすると、新規にレコーダを追加導入しなければならず、また、複数あるレコーダの全体的な記録容量を増やしたい場合には、個々のレコーダ内のハードディスクドライブなどのストレージをより大容量のものに交換しなければならなかった。
【０００５】
また、例えばレコーダにおいてユーザがある番組をストリーミング受信して録画する場合には、その番組の放送途中に視聴したい他の番組があっても、レコーダは上記録画する番組のストリーミング受信用として占有されており、両番組を同時にストリーミング再生することはできないため、他の番組を見逃してしまうことになる。
【０００６】
更に、一のレコーダのみを用いてストリームの録画を行う場合には、例えば録画時間に当該レコーダが故障してしまうと、所望の番組の録画を行うことができない。
【０００７】
以上のような事情に鑑み、本発明の目的は、システムへの増設や交換などの自由度を高めることができ、かつ、複数機能の同時実行性やシステムの冗長性を確保することができるコンテンツ記録装置、コンテンツ再生装置、コンテンツ記録再生システム、コンテンツ記録方法、コンテンツ再生方法及びそれらのプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上述の課題を解決するため、本発明のコンテンツ記録装置は、ネットワークを介してコンテンツ再生装置と通信を行うことが可能なコンテンツ記録装置において、前記コンテンツ再生装置において一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を前記コンテンツ再生装置から受信する第１の受信手段と、前記受信された関連情報を基に、前記分割コンテンツに当該分割コンテンツを識別するコンテンツＩＤを付与する付与手段と、前記コンテンツ再生装置において受信され、かつ暗号化された前記分割コンテンツを前記コンテンツ再生装置から受信する第２の受信手段と、前記受信された分割コンテンツを前記コンテンツＩＤ及び前記関連情報と対応付けて記録する記録手段と、前記分割コンテンツが複数記録された場合に、当該複数の分割コンテンツのうち、同一のコンテンツＩＤを付与された各分割コンテンツを、前記一のコンテンツとして合成する合成手段とを具備する。
【０００９】
ここでコンテンツとは、ネットワークを介して配信される放送番組等の動画や音楽等をいう。また上記一のコンテンツとは一つの番組のようにそれ自体で完結しているコンテンツであり、上記分割コンテンツとは少なくとも当該一のコンテンツの一部をなし、複数集合することにより上記一のコンテンツを形成するものである。また上記分割コンテンツは上記一のコンテンツの全部であっても構わない。
【００１０】
上記コンテンツＩＤにより複数の分割コンテンツを識別し、同一のコンテンツＩＤが付与された異なる分割コンテンツを一意に把握することで、コンテンツ再生装置から非連続で送信された分割コンテンツをそれぞれ記録して、その後に各分割コンテンツを一のコンテンツとして合成することができる。
【００１１】
これにより、上記コンテンツ再生装置が一台の場合には例えば一の番組をＣＭ（コマーシャル）に入るタイミングで分割して受信して記録することで、いわゆるＣＭカットを行うことができ、また上記コンテンツ再生装置が複数台の場合には、例えば一の番組を所定の放送時間で区切って複数台のコンテンツ再生装置からそれぞれ分割コンテンツとして受信して記録することで、いわゆるリレー録画を行うことができる。当該リレー録画を行うことで、各コンテンツ再生装置を録画のために長時間占有させなくて済ますことができるため、録画に要する各コンテンツ再生装置の負担を軽減することができ、また例えばコンテンツ再生装置を利用するユーザがリアルタイムに視聴を所望する番組が、録画のために視聴できなくなるようなことも防ぐことができる。
【００１２】
上記コンテンツ記録装置は、前記合成された一のコンテンツを、前記コンテンツ再生装置に再生させるために当該コンテンツ再生装置へ送信する第１の送信手段を更に具備してもよい。これにより、上記コンテンツ再生装置においては分割コンテンツとして受信したコンテンツを、一のコンテンツとして上記コンテンツ再生装置に再生させることができる。
【００１３】
上記コンテンツ記録装置は、前記付与されたコンテンツＩＤを前記コンテンツ再生装置へ送信する第２の送信手段と、前記コンテンツ再生装置から、前記合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに受信する第３の受信手段とを更に具備し、前記送信手段は、前記送信要求に応じて、前記受信されたコンテンツＩＤに対応する前記一のコンテンツを送信するようにしてもよい。ユーザは上記コンテンツＩＤにより一のコンテンツを識別することができ、また当該コンテンツＩＤをコンテンツ再生装置から送信することで、所望する一のコンテンツを所望する時に視聴することができる。
【００１４】
上記コンテンツ記録装置において、前記第２の受信手段は、複数のコンテンツ再生装置から前記分割コンテンツを受信し、前記合成手段は、前記記録された各分割コンテンツに対応する各関連情報を基に、当該各分割コンテンツに重複する部分が存在するか否か判断する手段と、重複する部分が存在すると判断された場合に、各分割コンテンツのうち一の分割コンテンツの重複部分を残して他の分割コンテンツの重複部分を削除する手段とを有してもよい。
【００１５】
例えば上記一のコンテンツが１時００分から２時００分まで放送されるテレビ番組であり、各コンテンツ再生装置から１時００分から１時２０分まで、１時１５分から１時４０分まで、１時３０分から２時００分までの分割コンテンツをそれぞれ受信した場合には、重複する１時１５分から１時２０分まで、１時３０分から１時４０分までの部分を削除した上で各コンテンツを合成する。これにより、各分割コンテンツに重複する部分が存在しても、連続的な一のコンテンツとして合成させることができる。また、各コンテンツ再生装置において各分割コンテンツとしてそれぞれ同一のコンテンツを受信しておくことで冗長性を確保しておき、後から一つを残して後のコンテンツを削除するというようなことも可能になる。
【００１６】
上記コンテンツ記録装置において、前記合成手段は、前記重複部分が存在する各分割コンテンツの前記各関連情報を基に、前記各重複部分を削除する際の優先順位を設定する手段を更に有していてもよい。当該優先順位は、各分割コンテンツのフォーマットやビットレートを基に決定してもよい。例えばＭＰＥＧ２の分割コンテンツをＭＰＥＧ１より優先させたり、ビットレートの高い分割コンテンツを優先させたりする。また、合成されたコンテンツファイルの一貫性を保つために、できるだけ同一のコンテンツ再生装置から受信した分割コンテンツを優先させて残して合成するようにしてもよい。
【００１７】
上記コンテンツ記録装置において、前記第２の受信手段は、前記コンテンツ再生装置において暗号化された分割コンテンツを受信し、前記合成手段は、前記同一のコンテンツＩＤが付与された各分割コンテンツを復号化させるために、当該各分割コンテンツを暗号化した前記各コンテンツ再生装置へ当該各分割コンテンツを送信する手段と、前記各コンテンツ再生装置により復号化された各分割コンテンツを当該各コンテンツ再生装置から受信して、前記暗号化された各分割コンテンツを前記復号化された各分割コンテンツへと更新する手段と、前記復号化された各分割コンテンツを合成する手段とを更に有していてもよい。
【００１８】
これにより、一のコンテンツを構成する各分割コンテンツが全て同一のコンテンツ再生装置から送信されたものであり、かつ当該コンテンツ再生装置のみで再生されることをユーザが望む場合には、上記一のコンテンツを暗号化されたまま当該コンテンツ再生装置へ送信することで当該一のコンテンツのセキュリティを確保することができる。またそれとともに、上記一のコンテンツを構成する各分割コンテンツが異なる複数のコンテンツ再生装置から送信されたものである場合には、当該各分割コンテンツを各コンテンツ再生装置へ送信して復号化させることで、各分割コンテンツを一のコンテンツとして合成することができ、また、どのコンテンツ再生装置においても再生させることができる。
【００１９】
上記コンテンツ記録装置において、前記一のコンテンツは所定の時間帯に放送される番組であり、前記関連情報は、前記番組が放送される地域に関する情報、前記番組が放送されるチャンネルに関する情報、前記番組の放送開始時刻及び放送終了時刻に関する情報、前記各コンテンツ再生装置において前記番組の一部として受信される前記各分割コンテンツの受信開始時刻及び受信終了時刻に関する情報を含み、前記生成手段は、前記地域情報、チャンネル情報、放送開始時刻情報及び放送終了時刻情報を基に前記コンテンツＩＤを生成し、前記合成手段は、前記一のコンテンツの放送終了時刻が経過したときに、前記各分割コンテンツの受信開始時刻情報及び受信終了時刻情報を基に、各分割コンテンツを時系列順に合成するものであってもよい。
【００２０】
上記地域情報及びチャンネル情報、放送開始時刻及び終了時刻等の情報は、例えばＥＰＧ（Electronic Program Guide）から取得する。上記コンテンツＩＤは、これらの情報を基に、同一の番組の各分割コンテンツに対して一意に付与されるため、当該コンテンツＩＤを参照することで、各コンテンツ再生装置から受信された各分割コンテンツがどの番組の分割部分であるかを識別することでき、また上記各分割コンテンツの受信開始及び終了時刻を参照することで、各分割コンテンツを時系列順に並べて、一つの番組としてまとめることができる。地域情報を用いているのは、放送地域によって同じ番組でもチャンネルが異なる場合があるからである。
【００２１】
本発明のコンテンツ再生装置は、コンテンツ記録装置とネットワークを介して通信を行うことが可能なコンテンツ再生装置において、一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を取得する取得手段と、前記取得された関連情報を前記コンテンツ記録装置へ送信する第１の送信手段と、前記コンテンツ記録装置において前記関連情報を基に前記分割コンテンツに付与されたコンテンツＩＤを前記コンテンツ記録装置から受信する第１の受信手段と、前記分割コンテンツを受信する第２の受信手段と、前記受信された分割コンテンツを、前記コンテンツ記録装置において記録されるように前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信する第２の送信手段と、前記コンテンツ記録装置において前記分割コンテンツが複数記録され、当該複数の分割コンテンツが前記一のコンテンツとして合成された場合に、当該合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信する第３の送信手段と、前記送信要求に応じて前記コンテンツ記録装置から送信された前記一のコンテンツを受信する第３の受信手段と、前記受信された一のコンテンツを再生する再生手段とを具備する。
【００２２】
この構成により、自らは上記一のコンテンツの一部しか受信していなくても、上記コンテンツＩＤを上記コンテンツ記録装置へ送信することにより、上記分割コンテンツが合成された一のコンテンツ全部を受信して再生することができる。
【００２３】
上記コンテンツ再生装置は、前記第２の受信手段により受信された分割コンテンツを暗号化する手段を更に具備し、前記第２の送信手段は前記暗号化された分割コンテンツを送信し、前記再生手段は、前記一のコンテンツを復号化して再生するようにしてもよい。上記コンテンツ記録装置へ上記分割コンテンツを暗号化して送信することにより、ネットワークにおける当該分割コンテンツのセキュリティを確保することができる。
【００２４】
上記コンテンツ再生装置は、他のコンテンツ再生装置とともに前記ネットワークに接続されており、前記第２の受信手段により受信された分割コンテンツを暗号化する手段を更に具備し、前記第２の送信手段は、前記暗号化された分割コンテンツを送信し、当該コンテンツ再生装置は、前記コンテンツ記録装置において、前記送信された分割コンテンツが、前記他のコンテンツ再生装置から送信された他の分割コンテンツとともに記録された場合に、前記記録された分割コンテンツの複合化要求を前記分割コンテンツとともに前記コンテンツ記録装置から受信する手段と、前記復号化要求に応じて前記分割コンテンツを復号化し、前記コンテンツ記録装置へ返信する手段とを更に具備していてもよい。
【００２５】
これにより、上記分割コンテンツを上記コンテンツ記録装置へ送信する際には当該分割コンテンツを暗号化することでセキュリティを確保することができ、また、上記合成された一のコンテンツが、当該コンテンツ再生装置を含む複数のコンテンツ再生装置において受信された分割コンテンツを基に構成されている場合には、上記復号化要求に応じて当該分割コンテンツを復号化して返信することで、自らも上記一のコンテンツを再生することができるとともに、他のコンテンツ再生装置が上記一のコンテンツを再生可能な状態を作ることができる。
【００２６】
上記コンテンツ再生装置において、前記一のコンテンツは所定の時間帯に放送される番組であり、前記関連情報は、前記番組が放送される地域に関する情報、前記番組が放送されるチャンネルに関する情報、前記番組の放送開始時刻及び放送終了時刻に関する情報、前記各コンテンツ再生装置において前記番組の一部として受信される前記各分割コンテンツの受信開始時刻及び受信終了時刻に関する情報を含んでいてもよい。
【００２７】
上記地域情報、チャンネル情報等を上記コンテンツ記録装置に送信することで、上記コンテンツ記録装置に各分割コンテンツを識別させることができ、それらの情報を基に各分割コンテンツに付与されたコンテンツＩＤをコンテンツ記録装置へ送信することで、上記番組の全ての放送時間分を受信していなくとも、合成された番組を受信して当該番組を視聴することができる。
【００２８】
本発明のコンテンツ記録再生装置は、コンテンツ記録装置と第１のコンテンツ再生装置及び第２のコンテンツ再生装置とがネットワークを介して通信を行うことが可能なシステムにおいて、前記コンテンツ記録装置は、前記第１及び第２のコンテンツ再生装置において一のコンテンツの少なくとも一部として受信されるべき各分割コンテンツに関連する関連情報を前記第１のコンテンツ再生装置及び第２のコンテンツ再生装置からそれぞれ受信する手段と、前記受信された各関連情報を基に、前記各分割コンテンツに当該各分割コンテンツを識別するコンテンツＩＤを付与し、当該コンテンツＩＤを前記第１及び第２のコンテンツ再生装置へ送信する手段と、前記第１及び第２のコンテンツ再生装置において受信された各分割コンテンツを前記第１及び第２のコンテンツ再生装置からそれぞれ受信する手段と、前記受信された各分割コンテンツを前記コンテンツＩＤ及び前記関連情報と対応付けてそれぞれ記録する手段と、前記記録された各分割コンテンツのうち、同一のコンテンツＩＤを付与された分割コンテンツを前記一のコンテンツとして合成する手段と、前記合成された一のコンテンツを前記コンテンツ再生装置へ送信する手段とを有し、前記第１及び第２のコンテンツ再生装置は、前記関連情報を取得する手段と、前記取得された関連情報を前記コンテンツ記録装置へ送信する手段と、前記コンテンツＩＤを前記コンテンツ記録装置から受信する手段と、前記分割コンテンツを受信する手段と、前記受信された分割コンテンツを前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信する手段と、前記合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信する手段と、前記送信要求に応じて前記コンテンツ記録装置から送信された前記一のコンテンツを受信する手段と、前記受信された一のコンテンツを再生する手段とを有している。
【００２９】
このシステムによれば、各コンテンツ再生装置においてそれぞれ受信され、コンテンツ記録装置へそれぞれ非連続に送信された複数の分割コンテンツを一のコンテンツとして記録及び管理し、また各コンテンツ再生装置において当該一のコンテンツを再生させることができる。コンテンツの受信と記録とで装置を分割したことで、システムへの増設や交換などの自由度を向上させることができ、また、複数のコンテンツ再生装置において各分割コンテンツを受信することで、一のコンテンツ受信装置を長時間占有させずに済ますことができ、またシステムの冗長性を確保することもできる。
【００３０】
本発明のコンテンツ記録方法は、ネットワークを介してコンテンツ再生装置と通信を行うことが可能なコンテンツ記録装置がコンテンツを記録する方法であって、前記コンテンツ再生装置において一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を前記コンテンツ再生装置から受信するステップと、前記受信された関連情報を基に、前記分割コンテンツに当該分割コンテンツを識別するコンテンツＩＤを付与するステップと、前記コンテンツ再生装置において受信された前記分割コンテンツを前記コンテンツ再生装置から受信するステップと、前記受信された分割コンテンツを前記コンテンツＩＤ及び前記関連情報と対応付けて記録するステップと、前記分割コンテンツが複数記録された場合に、当該複数の分割コンテンツのうち、同一のコンテンツＩＤを付与された各分割コンテンツを、前記一のコンテンツとして合成するステップとを具備する。
【００３１】
本発明のコンテンツ再生方法は、ネットワークを介してコンテンツ記録装置と通信を行うことが可能なコンテンツ再生装置がコンテンツを再生する方法であって、一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を取得するステップと、前記取得された関連情報を前記コンテンツ記録装置へ送信するステップと、
前記コンテンツ記録装置において前記関連情報を基に前記分割コンテンツに付与されたコンテンツＩＤを前記コンテンツ記録装置から受信するステップと、前記分割コンテンツを受信するステップと、前記受信された分割コンテンツを、前記コンテンツ記録装置において記録されるように前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信するステップと、前記コンテンツ記録装置において前記分割コンテンツが複数記録され、当該複数の分割コンテンツが前記一のコンテンツとして合成された場合に、当該合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信するステップと、前記送信要求に応じて前記コンテンツ記録装置から送信された前記一のコンテンツを受信するステップと、前記受信された一のコンテンツを再生するステップとを具備する。
【００３２】
本発明の主たる観点に係るプログラムは、ネットワークを介してコンテンツ再生装置と通信を行うことが可能なコンテンツ記録装置に、前記コンテンツ再生装置において一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を前記コンテンツ再生装置から受信するステップと、前記受信された関連情報を基に、前記分割コンテンツに当該分割コンテンツを識別するコンテンツＩＤを付与するステップと、前記コンテンツ再生装置において受信された前記分割コンテンツを前記コンテンツ再生装置から受信するステップと、前記受信された分割コンテンツを前記コンテンツＩＤ及び前記関連情報と対応付けて記録するステップと、前記分割コンテンツが複数記録された場合に、当該複数の分割コンテンツのうち、同一のコンテンツＩＤを付与された各分割コンテンツを、前記一のコンテンツとして合成するステップとを実行させるためのものである。
【００３３】
また本発明の他の観点に係るプログラムは、ネットワークを介してコンテンツ記録装置と通信を行うことが可能なコンテンツ再生装置に、一のコンテンツの少なくとも一部として受信されるべき分割コンテンツに関連する関連情報を取得するステップと、前記取得された関連情報を前記コンテンツ記録装置へ送信するステップと、前記コンテンツ記録装置において前記関連情報を基に前記分割コンテンツに付与されたコンテンツＩＤを前記コンテンツ記録装置から受信するステップと、前記分割コンテンツを受信するステップと、前記受信された分割コンテンツを、前記コンテンツ記録装置において記録されるように前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信するステップと、前記コンテンツ記録装置において前記分割コンテンツが複数記録され、当該複数の分割コンテンツが前記一のコンテンツとして合成された場合に、当該合成された一のコンテンツの送信要求を前記コンテンツＩＤとともに前記コンテンツ記録装置へ送信するステップと、前記送信要求に応じて前記コンテンツ記録装置から送信された前記一のコンテンツを受信するステップと、前記受信された一のコンテンツを再生するステップとを実行させるためのものである。
【発明の効果】
【００３４】
以上のように、本発明によれば、システムへの増設や交換などの自由度を高めることができ、かつ、複数機能の同時実行性やシステムの冗長性を確保することができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態を図面に基づき説明する。
【００３６】
まず、本実施形態において前提となるネットワークシステムについて説明する。図１は、当該ネットワークシステムの一例を示し、ネットワーク９を介して複数の情報処理装置１、２、３、４が接続されたものである。情報処理装置１、２、３、４は、例えば各種のＡＶ機器やポータブル機器、後述のホームサーバ等である。
【００３７】
情報処理装置１について示すと、情報処理装置１は、コンピュータ機能部として情報処理コントローラ１１を備える。情報処理コントローラ１１は、メインプロセッサ２１−１、サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−１及びＤＣ（ディスクコントローラ）２７−１を有する。
【００３８】
メインプロセッサ２１−１は、サブプロセッサ２３−１，２３−２，２３−３によるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ１１（情報処理装置１）の全般的な管理とを行う。ただし、メインプロセッサ２１−１内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。その場合には、メインプロセッサ２１−１はサブプロセッサとしても機能することになる。メインプロセッサ２１−１は、ＬＳ（ローカルストレージ）２２−１を有する。
【００３９】
サブプロセッサは、１つでもよいが、望ましくは複数とする。本例は、複数の場合である。各サブプロセッサ２３−１，２３−２，２３−３は、メインプロセッサ２１−１の制御によって並列的かつ独立にプログラムを実行し、データを処理する。更に、場合によってメインプロセッサ２１−１内のプログラムがサブプロセッサ２３−１，２３−２，２３−３内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ２１−１内で動作するプログラムである。各サブプロセッサ２３−１，２３−２，２３−３も、ＬＳ（ローカルストレージ）２４−１，２４−２，２４−３を有する。
【００４０】
ＤＭＡＣ２５−１は、情報処理コントローラ１１に接続されたＤＲＡＭ（ダイナミックＲＡＭ）などからなるメインメモリ２６−１に格納されているプログラム及びデータにアクセスするものであり、ＤＣ２７−１は、情報処理コントローラ１１に接続された外部記録部２８−１，２８−２にアクセスするものである。
【００４１】
外部記録部２８−１，２８−２は、固定ディスク（ハードディスク）でも、リムーバブルディスクでもよく、また、ＭＯ，ＣＤ±ＲＷ，ＤＶＤ±ＲＷなどの光ディスク、メモリディスク、ＳＲＡＭ（スタティックＲＡＭ）、ＲＯＭなど、各種のものを用いることができる。したがって、ＤＣ２７−１は、ディスクコントローラと称するが、外部記録部コントローラである。図１の例のように、情報処理コントローラ１１に対して外部記録部２８を複数接続できるように、情報処理コントローラ１１を構成することができる。
【００４２】
メインプロセッサ２１−１、各サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ２５−１及びＤＣ２７−１は、バス２９−１によって接続される。
【００４３】
情報処理コントローラ１１には、当該の情報処理コントローラ１１を備える情報処理装置１を、ネットワーク全体を通して一意的に識別できる識別子が、情報処理装置ＩＤとして割り当てられる。
【００４４】
メインプロセッサ２１−１及び各サブプロセッサ２３−１，２３−２，２３−３に対しても同様に、それぞれを特定できる識別子が、メインプロセッサＩＤ及びサブプロセッサＩＤとして割り当てられる。
【００４５】
情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。他の情報処理装置２、３、４も、上記と同様に構成される。ここで、図１において親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。
【００４６】
上述したように、１つの情報処理コントローラ内の各サブプロセッサ２３は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ２６内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ２３からメインメモリ２６へのアクセスは、以下のような手順によって行う。
【００４７】
図２（Ａ）に示すように、メインメモリ２６は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤ及びＬＳアドレス（ローカルストレージアドレス）を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。Ｆ／Ｅビットは、以下のように定義される。
【００４８】
Ｆ／Ｅビット＝０は、サブプロセッサ２３によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、Ｆ／Ｅビット＝０は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に１に設定される。
【００４９】
Ｆ／Ｅビット＝１は、当該メモリロケーションのデータがサブプロセッサ２３によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ２３によって読み出された後に０に設定される。また、Ｆ／Ｅビット＝１は、当該メモリロケーションがデータ書き込み不可であることを示す。
【００５０】
更に、上記Ｆ／Ｅビット＝０（読み出し不可／書き込み可）の状態において、当該メモリロケーションについて読み出し予約を設定することは可能である。Ｆ／Ｅビット＝０のメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ２３は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ２３のサブプロセッサＩＤ及びＬＳアドレスを書き込む。
【００５１】
その後、データ書き込み側のサブプロセッサ２３によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビット＝１（読み出し可／書き込み不可）に設定されたとき、予め読み出し予約情報として追加セグメントに書き込まれたサブプロセッサＩＤ及びＬＳアドレスに読み出される。
【００５２】
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し／書き込みを制御することによって、前段階の処理を行うサブプロセッサ２３が、処理済みのデータをメインメモリ２６上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ２３が前処理後のデータを読み出すことが可能となる。
【００５３】
図２（Ｂ）に示すように、各サブプロセッサ２３内のＬＳ２４も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
【００５４】
サブプロセッサ２３がメインメモリ２６内のデータを自身のＬＳ２４のメモリロケーションに読み出すときには、対応するビジービットを１に設定して予約する。ビジービットが１であるメモリロケーションには、他のデータは格納することができない。ＬＳ２４のメモリロケーションに読み出し後、ビジービットは０になり、任意の目的に使用できるようになる。
【００５５】
図２（Ａ）に示すように、さらに、各情報処理コントローラと接続されたメインメモリ２６には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ２６内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ２３に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ２３は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。メインメモリ２６は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【００５６】
更に、メインメモリ２６の排他的な制御を実現するために、図２（Ｃ）に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のＳＲＡＭ等の比較的高速のメモリに格納され、ＤＭＡＣ２５と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキー及びキーマスクが含まれる。
【００５７】
サブプロセッサ２３がメインメモリ２６を使用する際のプロセスは、以下の通りである。まず、サブプロセッサ２３はＤＭＡＣ２５に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサＩＤと、使用要求先であるメインメモリ２６のアドレスが含まれる。
【００５８】
ＤＭＡＣ２５は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、ＤＭＡＣ２５は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ２６内の図２（Ａ）に示したメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、上記のコマンドを実行する。
【００５９】
図２（Ｃ）に示したキー管理テーブル上のキーマスクは、その任意のビットが１になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが０または１になることができる。例えば、サブプロセッサキーが１０１０であるとする。通常、このサブプロセッサキーによって１０１０のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが０００１に設定されている場合には、キーマスクのビットが１に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー１０１０によってアクセスキーが１０１０または１０１１のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００６０】
以上のようにして、メインメモリ２６のサンドボックスの排他性が実現される。すなわち、１つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ２６の所定アドレスにアクセスできるようになり、データを保護することができる。
【００６１】
例えば、以下のように使用することが考えられる。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第１のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第２のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的な処理を可能にする。
【００６２】
より具体的には、他の情報処理装置からのデータ→第１のサブプロセッサによる処理→第１のメインメモリ領域→第２のサブプロセッサによる処理→第２のメインメモリ領域、という手順で多段階処理が行われるときには、
第１のサブプロセッサのサブプロセッサキー：０１００、
第１のメインメモリ領域のアクセスキー    ：０１００、
第２のサブプロセッサのサブプロセッサキー：０１０１、
第２のメインメモリ領域のアクセスキー    ：０１０１
というような設定のままだと、第２のサブプロセッサは第１のメインメモリ領域にアクセスすることができない。そこで、第２のサブプロセッサのキーマスクを０００１にすることにより、第２のサブプロセッサによる第１のメインメモリ領域へのアクセスを可能にすることができる。
【００６３】
図１のネットワークシステムでは、情報処理装置１、２、３、４間での分散処理のために、情報処理装置１、２、３、４間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、コマンド、プログラム及びデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【００６４】
図３に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム及びデータによって構成される。
【００６５】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレス及び当該情報処理装置の情報処理装置ＩＤ、更に、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ２１及び各サブプロセッサ２３の識別子（メインプロセッサＩＤ及びサブプロセッサＩＤ）が含まれる。
【００６６】
送信先ＩＤ及び応答先ＩＤには、それぞれ、ソフトウェアセルの送信先である情報処理装置、及びソフトウェアセルの実行結果の応答先である情報処理装置についての、同じ情報が含まれる。
【００６７】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ及び前回のソフトウェアセルＩＤから構成される。
【００６８】
グローバルＩＤは、ネットワーク全体を通して当該ソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ及びソフトウェアセルの作成または送信の日時（日付及び時刻）に基づいて作成される。
【００６９】
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数を設定する。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ２６内及びサブプロセッサ２３のＬＳ２４内のメモリ量を設定する。前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００７０】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラム及びデータから構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサ２３によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００７１】
更に、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、及びステータス返信コマンドが含まれる。
【００７２】
ロードコマンドは、メインメモリ２６内の情報をサブプロセッサ２３内のＬＳ２４にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサＩＤ及びＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ２６内の所定領域のアドレスを示す。サブプロセッサＩＤ及びＬＳアドレスは、情報のロード先であるサブプロセッサ２３の識別子及びＬＳ２４のアドレスを示す。
【００７３】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサＩＤ及びプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサ２３を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【００７４】
機能プログラム実行コマンドは、後述のように、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、後述の機能プログラムＩＤによって、起動すべき機能プログラムを識別する。
【００７５】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図６に示す情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ２６にロードされ、メインプロセッサ２１により実行される。
【００７６】
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【００７７】
図４に、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す。
【００７８】
情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のＩＤを示す。情報処理装置ＩＤは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１によって、電源投入時の日時、情報処理装置のネットワークアドレス及び情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３の数などに基づいて生成される。
【００７９】
情報処理装置種別ＩＤには、当該情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば、オーディオプレーヤや、後述のホームサーバ等である。また、情報処理装置種別ＩＤは、音響再生、動画再生等の機能を表すものであってもよい。情報処理装置の特徴や機能を表す値は予め決定されているものとし、情報処理装置種別ＩＤを読み出すことにより、当該情報処理装置の特徴や機能を把握することが可能である。
【００８０】
ＭＳ（マスター／スレーブ）ステータスは、後述のように情報処理装置がマスター装置またはスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合にはマスター装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。
【００８１】
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ２１の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ２１で現在動作している全てのプログラムについての、メインプロセッサ２１での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるＭＩＰＳを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
【００８２】
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ２３の数を表す。サブプロセッサＩＤは、当該の情報処理コントローラ内の各サブプロセッサ２３を識別するための識別子である。
【００８３】
サブプロセッサステータスは、各サブプロセッサ２３の状態を表すものであり、ｕｎｕｓｅｄ，ｒｅｓｅｒｖｅｄ，ｂｕｓｙなどの状態がある。ｕｎｕｓｅｄは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。ｒｅｓｅｒｖｅｄは、現在は使用されていないが、予約されている状態を示す。ｂｕｓｙは、現在使用中であることを示す。
【００８４】
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがｂｕｓｙである場合には、現在の使用率を示し、サブプロセッサステータスがｒｅｓｅｒｖｅｄである場合には、後に使用される予定の推定使用率を示す。
【００８５】
サブプロセッサＩＤ、サブプロセッサステータス及びサブプロセッサ使用率は、１つのサブプロセッサ２３に対して一組設定され、１つの情報処理コントローラ内のサブプロセッサ２３に対応する組数が設定される。
【００８６】
メインメモリ総容量及びメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ２６の総容量及び現在使用中の容量を表す。
【００８７】
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部２８の数を表す。外部記録部ＩＤは、当該の情報処理コントローラに接続されている外部記録部２８を一意的に識別する情報である。外部記録部種別ＩＤは、当該の外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表す。
【００８８】
外部記録部総容量及び外部記録部使用量は、それぞれ、外部記録部ＩＤによって識別される外部記録部２８の総容量及び現在使用中の容量を表す。
【００８９】
外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量及び外部記録部使用量は、１つの外部記録部２８に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部２８の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部ＩＤが割り当てられ、外部記録部種別ＩＤ、外部記録部総容量及び外部記録部使用量も別々に管理される。
【００９０】
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、以上のような構成のソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置及び当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、及び各装置内の情報処理コントローラは、それぞれ、上記の送信元ＩＤ、送信先ＩＤ及び応答先ＩＤによって識別される。
【００９１】
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、そのソフトウェアセルをメインメモリ２６に格納する。さらに、送信先のメインプロセッサ２１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。具体的には、送信先のメインプロセッサ２１は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤ及びＬＳアドレスで特定されるサブプロセッサ内のＬＳ２４の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。
【００９２】
次に、メインプロセッサ２１は、キックコマンドを、これに含まれるサブプロセッサＩＤで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。指示されたサブプロセッサは、そのキックコマンド及びプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ２６に格納した後、実行を完了したことをメインプロセッサ２１に通知する。
【００９３】
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ２３に限定されるものではなく、メインプロセッサ２１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
【００９４】
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラム及びそのメインメモリ用プログラムによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ２６にメインメモリ用プログラム及びそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサＩＤ、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムＩＤなどの識別子、及びプログラムカウンタを含み、ＤＭＡコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ２１に当該メインメモリ用プログラムを実行させる。
【００９５】
以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
【００９６】
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。
【００９７】
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。更に、各サブプロセッサ間ではＤＭＡ方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、１つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。
【００９８】
ソフトウェアセルの使用による分散処理の結果、図５の上段に示すようにネットワーク９に接続されている複数の情報処理装置１、２、３、４は、図５の下段に示すように、仮想的な１台の情報処理装置７として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
【００９９】
図６に、個々の情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成を示す。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部２８に記録されているものである。各プログラムは、機能または特徴によって、制御プログラム、機能プログラム及びデバイスドライバにカテゴライズされる。
【０１００】
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ２１が実行するもので、後述のＭＳ（マスター／スレーブ）マネージャ及び能力交換プログラムを含む。
【０１０１】
機能プログラムは、メインプロセッサ２１が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
【０１０２】
デバイスドライバは、情報処理コントローラ（情報処理装置）の入出力（送受信）用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラ毎に情報処理装置に応じたものが備えられる。
【０１０３】
情報処理装置が物理的にネットワーク９に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク９に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、制御プログラムに属する各プログラム、及びデバイスドライバに属する各プログラムを、メインメモリ２６にロードする。
【０１０４】
ロード手順としては、メインプロセッサ２１は、まず、ＤＣ２７に読み出し命令を実行させることによって、外部記録部２８からプログラムを読み出し、次に、ＤＭＡＣ２５に書き込み命令を実行させることによって、そのプログラムをメインメモリ２６に書き込む。
【０１０５】
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１０６】
ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部２８に記録されている必要はなく、いずれか１つの情報処理装置の外部記録部２８に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図５の下段に示すように、仮想的な１台の情報処理装置７として機能プログラムを実行することができる。
【０１０７】
また、前述したようにメインプロセッサ２１によって処理される機能プログラムは、サブプロセッサ２３によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ２１が外部記録部２８から機能プログラムを読み出し、メインメモリ２６に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ２６に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは１個である場合もあるし、複数個であることもあり得る。複数個である場合には、全ての連携動作するサブプロセッサプログラムをメインメモリ２６に書き込むことになる。メインメモリ２６に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ２３内のＬＳ２４に書き込まれ、メインプロセッサ２１によって処理される機能プログラムと連携動作する。
【０１０８】
図３のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【０１０９】
そしてサブプロセッサプログラムにもサブプロセッサプログラムＩＤが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムＩＤは、連携動作する相手となる機能プログラムの機能プログラムＩＤと関連性のある識別子、例えば機能プログラムＩＤを親番号とした上で最後尾に枝番号を付加させたもの等であることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムＩＤとは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムＩＤを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個ある全てのサブプロセッサプログラムのサブプロセッサプログラムＩＤを記憶しておくことになる。
【０１１０】
メインプロセッサ２１は、自身が動作する情報処理装置の装置情報（動作状態に関する情報）を格納するための領域をメインメモリ２６に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図４に示した情報処理装置ＩＤ以下の各情報である。
【０１１１】
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、マスター／スレーブマネージャ（以下、ＭＳマネージャ）をメインメモリ２６にロードし、実行する。
【０１１２】
ＭＳマネージャは、自身が動作する情報処理装置がネットワーク９に接続されていることを検知すると、同じネットワーク９に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク９に接続されているだけでなく、電気的・機能的にもネットワーク９に接続されていることを示す。また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。
【０１１３】
ＭＳマネージャが同じネットワーク９に接続されている他の情報処理装置の存在を確認する方法を以下に示す。
【０１１４】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤ及び応答先ＩＤが当該情報処理装置で、送信先ＩＤを特定しないソフトウェアセルを生成して、当該情報処理装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分とされる。
【０１１５】
当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他の装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドであり、かつデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報（情報処理装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）及び当該他装置のＭＳステータスが含まれる。
【０１１６】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、当該装置は、スレーブ装置となる。
【０１１７】
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、当該装置は、マスター装置となる。
【０１１８】
すなわち、いずれの装置もネットワーク９に接続されていない状態、またはネットワーク９上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク９上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にスレーブ装置として設定される。
【０１１９】
マスター装置及びスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク９上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。その結果、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されることにより、予め判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク９に新たな情報処理装置が接続された場合など、ネットワーク９の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
【０１２０】
メインプロセッサ２１は、ＭＳマネージャから、ネットワーク９上の他装置の照会及び自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０１２１】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。他装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０１２２】
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を格納するための領域を自装置のメインメモリ２６に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。すなわち、マスター装置のメインメモリ２６には、自装置を含むネットワーク９に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。
【０１２３】
一方、自装置がスレーブ装置である場合には、能力交換プログラムは、ネットワーク９に接続されている全ての他装置の装置情報、すなわちマスター装置及び自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤ及びＭＳステータスを、自装置のメインメモリ２６に記録する。すなわち、スレーブ装置のメインメモリ２６には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク９に接続されているマスター装置及び各スレーブ装置についての情報処理装置ＩＤ及びＭＳステータスが、別の装置情報テーブルとして記録される。
【０１２４】
また、マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、新たにネットワーク９に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ２６に記録する。
【０１２５】
なお、ＭＳマネージャ及び能力交換プログラムは、メインプロセッサ２１で実行されることに限らず、いずれかのサブプロセッサ２３で実行されてもよい。また、ＭＳマネージャ及び能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１２６】
マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ２６から削除する。
【０１２７】
更に、このようにネットワーク９から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
【０１２８】
具体的には、例えば、ネットワーク９から切断されていない情報処理装置は、それぞれ、自装置及び他装置の情報処理装置ＩＤを数値に置き換えて、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク９から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、ＭＳステータスを０に設定し、マスター装置として、上述したように、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を取得して、メインメモリ２６に記録する。
【０１２９】
図５の下段に示したようにネットワーク９に接続されている複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させるためには、マスター装置がユーザの操作及びスレーブ装置の動作状態を把握する必要がある。
【０１３０】
図７に、４台の情報処理装置が仮想的な１台の情報処理装置７として動作する様子を示す。情報処理装置１がマスター装置、情報処理装置２、３、４がスレーブ装置Ａ、Ｂ、Ｃとして、動作しているものとする。
【０１３１】
ユーザがネットワーク９に接続されている情報処理装置を操作した場合、操作対象がマスター装置１であれば、その操作情報は、マスター装置１において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスター装置１に送信される。すなわち、ユーザの操作対象がマスター装置１とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
【０１３２】
そして、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、上記の方法によって自装置の外部記録部２８−１、２８−２からメインメモリ２６−１に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）がマスター装置１に機能プログラムを送信してもよい。
【０１３３】
機能プログラムには、その実行単位毎に必要となる、図４に示した各情報として表される情報処理装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件等の、装置に関する要求スペックが規定されている。
【０１３４】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、予め能力交換プログラムによってメインメモリ２６−１に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図４に示した情報処理装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリ及び外部記録部に関する情報である。
【０１３５】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ネットワーク９上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
【０１３６】
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。更に、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から１つの実行要求候補装置を特定して選択する。
【０１３７】
実行要求するスレーブ装置が特定されたら、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ１１に含まれるメインメモリ２６−１に記録されている当該スレーブ装置の装置情報テーブルを更新する。
【０１３８】
更に、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ＤＭＡコマンドが機能プログラム実行コマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインターフェースに、機能プログラムに関する必要なサブプロセッサの情報及びサンドボックスサイズ（図３参照）を設定して、上記実行要求されるスレーブ装置に対して送信する。
【０１３９】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上記の方法によって自装置の外部記録部２８からメインメモリ２６に機能プログラムおよび当該機能プログラムと連携動作するサブプロセッサプログラムをロードする。
【０１４０】
機能プログラムの実行を要求されたスレーブ装置の外部記録部２８に、必要な機能プログラムまたは当該機能プログラムと連携動作するサブプロセッサプログラムが記録されていない場合には、他の情報処理装置が当該機能プログラムまたはサブプロセッサプログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
【０１４１】
サブプロセッサプログラムについては、前述のロードコマンドおよびキックコマンドを利用して他の情報処理装置に実行させることもできる。
【０１４２】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、終了通知をマスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
【０１４３】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、自装置及び他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置１が当該機能プログラムを実行する。
【０１４４】
図７の例で、ユーザがスレーブ装置Ａ（情報処理装置２）を操作し、当該操作に応じた機能プログラムを別のスレーブ装置Ｂ（情報処理装置３）が実行する場合について、図８を用いてその分散処理の例を説明する。
【０１４５】
図８の例では、ユーザがスレーブ装置Ａを操作することによって、スレーブ装置Ａを含むネットワークシステム全体の分散処理が開始して、まず、スレーブ装置Ａは、ステップ８１で、その操作情報をマスター装置１に送信する。
【０１４６】
マスター装置１は、ステップ７２で、その操作情報を受信し、さらにステップ７３に進んで、自装置のメインメモリ２６−１に記録されている自装置及び他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Ｂが選択される場合である。
【０１４７】
次に、マスター装置１は、ステップ７４で、その選択したスレーブ装置Ｂに対して機能プログラムの実行を要求する。
【０１４８】
スレーブ装置Ｂは、ステップ９５で、その実行要求を受信し、さらにステップ９６に進んで、実行要求された機能プログラムを実行する。
【０１４９】
以上のように、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させることができる。
【０１５０】
次に、以上説明したネットワークシステムに、本発明を適用した場合の実施の形態について説明する。図９は、本実施形態におけるネットワークＡＶシステムの構成を示した図である。同図においては、上述の図１における情報処理装置１にホームサーバ１００を、情報処理装置２、３及び４にそれぞれクライアントＡＶ機器２００、３００及び４００を採用している。クライアントＡＶ機器は例えばデジタルテレビであり、またクライアントＡＶ機器の数は３つに限定されるものではない。
【０１５１】
本システムにおいては、各クライアントＡＶ機器はテレビ番組放送や音楽等を例えばストリーミング受信し、ホームサーバ１００は当該受信したコンテンツを記録及び管理することが可能である。また、ホームサーバ１００は、各クライアントＡＶ機器が一のコンテンツの一部を分割コンテンツとして受信した場合に、当該分割コンテンツを各クライアントＡＶ機器から受信して記録し、更にそれらを一のコンテンツとして合成して記録し、各クライアントＡＶ機器に送信して再生させることもできる。それらの動作については後述する。
【０１５２】
ホームサーバ１００、クライアントＡＶ機器２００、３００及び４００は、それぞれ上述のメインプロセッサ、サブプロセッサを含む情報処理コントローラをそれぞれ有し、上記ＤＭＡコマンド等によりソフトウェアセルを実行したり、各種データをやり取りしたりすることが可能である。よって、各機器には、それぞれを識別するための上記情報処理装置ＩＤが付与されている。
【０１５３】
図１０は、ホームサーバ１００のハードウェア構成を示した図である。同図に示すように、ホームサーバ１００は、図１に示した外部記録部２８−１としてＨＤＤ、更に外部記録部２８−２としてＤＶＤ±Ｒ／ＲＷ、ＣＤ±Ｒ／ＲＷ、Ｂｌｕｒａｙ−Ｄｉｓｃ（登録商標）等の光ディスクドライブを装着できるように構成されている。ＨＤＤ２８−１には、コンテンツを記録及び管理するための各種のアプリケーションやプログラム、コンテンツを管理するためのコンテンツ管理テーブル等のデータが格納される。
【０１５４】
情報処理コントローラ１１のバス２９−１に接続されたバス３１には、放送受信部３２−１、映像入力部３３−１、音声入力部３４−１、映像出力部３５−１、音声出力部３６−１、操作入力部３７−１、リモコン受光部３８−１およびネットワーク接続部３９−１の接続が可能であり、映像出力部３５−１および音声出力部３６−１には、モニタ表示装置４１およびスピーカ装置４２の接続が可能とされている。但し、このホームサーバ１００をサーバ用途で使用する限りにおいては、放送受信部３２−１、映像入力部３３−１、音声入力部３４−１、映像出力部３５−１及び音声出力部３６−１は必ずしも必要ではない。
【０１５５】
操作入力部３７−１は、例えばキーボード、マウス、タッチパッド、プッシュボタン、ジョグダイヤル等で構成され、ホームサーバ１００に対するユーザの操作を入力する。リモコン受光部３８−１は、リモコン送信器４３−１からのリモコン（遠隔操作）赤外線信号を受信する。ネットワーク接続部３９−１は、ネットワーク９を介して各クライアントＡＶ機器と通信を行って各種のコマンドやデータをやり取りしたりするためのインターフェースである。
【０１５６】
図１１は、ホームサーバ１００のソフトウェア構成を示した図である。同図に示すように、ホームサーバ１００は、ソフトウェアとして、制御プログラム、機能プログラム及びデバイスドライバを有している。
【０１５７】
制御プログラムとしては、上述のＭＳマネージャおよび能力交換プログラムがある。機能プログラムは、ホームサーバ１００がユーザに提供する機能を実現するものであり、例えば、ネットワーク９を通じて各クライアントＡＶ機器から受信した動画や音楽等のコンテンツのストリームをＨＤＤ２８−１や光ディスク２８−２に記録して管理するプログラムや、それらのコンテンツを一のコンテンツとして合成するプログラム、各クライアントＡＶ機器からの要求を受けてＨＤＤ２８−１や光ディスク２８−２に記録されているコンテンツのストリームを検索し、ネットワーク９を通じて送信するプログラム等がある。デバイスドライバは、放送受信、映像音声出力、ビットストリーム入出力、ネットワーク入出力などを司るプログラムである。但し、このホームサーバ１００をサーバ用途で使用する限りにおいては、放送受信や映像音声出力のためのデバイスドライバは必要ではない。
【０１５８】
図１２は、クライアントＡＶ機器２００のハードウェア構成を示した図である。同図に示すように、クライアントＡＶ機器２００は、図１に示した外部記録部２８−３として、ＨＤＤを接続可能とされ、同図に示した外部記録部２８−４として光ディスクドライブを装着できるように構成されている。ただし、このクライアントＡＶ機器においては、コンテンツを記録する手段として、これらの外部記録部２８−３、２８−４は必ずしも必須ではない。
【０１５９】
情報処理コントローラ１２のバス２９−２に接続されたバス５１−１には、放送受信部３２−２、映像入力部３３−２、音声入力部３４−２、映像出力部３５−２、音声出力部３６−２、操作入力部３７−２、リモコン受光部３８−２及びネットワーク接続部３９−２が接続されている。
【０１６０】
放送受信部３２−２、映像入力部３３−２及び音声入力部３４−２は、それぞれ放送信号を受信し、クライアントＡＶ機器２００の外部から映像信号及び音声信号を入力し、それぞれ所定フォーマットのデジタルデータに変換して、情報処理コントローラ１２での処理のためにバス５１−１に送出するものであり、映像出力部３５−２及び音声出力部３６−２は、情報処理コントローラ１２からバス５１−１に送出された映像データ及び音声データを処理して、デジタルデータのまま、またはアナログ信号に変換して、クライアントＡＶ機器２００の外部に送出するものである。また、映像出力部３５−２にはモニタ表示装置４１が接続され、音声出力部３６−１にはスピーカ装置４２が接続される。操作入力部３７−２は、クライアントＡＶ機器２００を利用するユーザから、例えば後述する分割コンテンツの記録予約要求、記録要求、再生要求等の操作を入力する。
【０１６１】
なお、クライアントＡＶ機器３００及び４００もそれぞれ同様のハードウェア構成を有している。
【０１６２】
図１３は、クライアントＡＶ機器２００のソフトウェア構成を示した図である。同図に示すように、クライアントＡＶ機器２００は、ソフトウェアとして、制御プログラム、機能プログラムおよびデバイスドライバを有している。制御プログラムとしては、ＭＳマネージャおよび能力交換プログラムがある。機能プログラムは、クライアントＡＶ機器がユーザに提供する機能を実現するものであり、例えば、放送受信部３２−２、映像入力部３３−２及び音声入力部３４−２等から入力したコンテンツのストリームをリアルタイムで暗号化するプログラムや、ネットワークから受信した暗号化されたコンテンツのストリームをリアルタイムで復号しつつ再生するプログラムなどがある。コンテンツのストリームを外部記憶部２８−３及び２８−４に記録するプログラムはあってもよいが必須ではない。デバイスドライバは、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力などを司るプログラムである。
【０１６３】
なお、クライアントＡＶ機器３００及び４００もそれぞれ同様のソフトウェア構成を有している。
【０１６４】
次に、ホームサーバ１００が、各クライアントＡＶ機器から受信したコンテンツを記録及び管理するためのコンテンツ管理テーブルについて説明する。なお、本実施形態においては、コンテンツとしてテレビ番組を例に挙げて説明する。図１４は、当該管理テーブルの例を示した図である。同図においては、３つのコンテンツについて具体例（ｅｘ．１〜ｅｘ．３）を示している。また、各コンテンツはそれぞれ２つの分割コンテンツから構成されるものとする。
【０１６５】
同図に示すように、コンテンツ管理テーブルは、大きく分類して、コンテンツ全体に関する項目と各分割コンテンツに関する項目に分けられる。コンテンツ全体とは、一のテレビ番組を指し、各分割コンテンツとは、各クライアントＡＶ機器２００、３００及び４００がそれぞれ受信するもので、それぞれ上記一のテレビ番組のうち、少なくとも一部の時間帯の映像のことを指す。
【０１６６】
コンテンツ全体に関する項目には、コンテンツＩＤ、公開フラグ、コンテンツ開始時刻、コンテンツ終了時刻、番組名、チャンネル、ジャンル及びコメントが含まれる。
【０１６７】
コンテンツＩＤは、ホームサーバ１００に記録されるコンテンツ、すなわち番組を一意に識別するために、ホームサーバ１００が各番組に付与するＩＤである。ホームサーバ１００は、各クライアントＡＶ機器から番組の記録予約を受信した時にともに受信される番組名データ、チャンネルデータ、番組放送開始時刻及び終了時刻等を参照することにより、一つの番組に対して一つのＩＤを付与する。この際の動作の詳細については後述する。
【０１６８】
公開フラグは、各コンテンツが公開状態であるか否かを示すためのフラグであり、例えば０なら非公開、１なら公開を表している。上述したように、各クライアントＡＶ機器は、受信した各分割コンテンツを上記暗号化・復号化プログラムにより暗号化してホームサーバ１００へ送信することが可能である。コンテンツの非公開とは、各クライアントＡＶ機器により各分割コンテンツが暗号化されており、当該暗号化したクライアントＡＶ機器以外の他のクライアントＡＶ機器及びホームサーバ１００が参照及び再生することができない状態にあることをいい、公開とは、各コンテンツが復号化され、参照及び再生可能な状態をいう。
【０１６９】
各クライアントＡＶ機器は、通常、分割コンテンツを受信すると、当該分割コンテンツを暗号化してホームサーバ１００へ送信し（非公開の状態）、ホームサーバ１００の復号化要求に応じて適宜復号化して返信する（公開の状態）。テーブル中の具体例ｅｘ．１（コンテンツＩＤ＝０４０１１６Ｈ２２２３）及びｅｘ．３（コンテンツＩＤ＝０４０１１５Ｇ１９２０）は非公開、ｅｘ．２（コンテンツＩＤ＝０４０３２０Ａ０３１０）は公開の状態にある。
【０１７０】
コンテンツ開始時刻及びコンテンツ終了時刻は、一のコンテンツ（一つの番組）の放送が開始される時刻と当該放送が終了する年月日及び時刻を表している。例えば、具体例ｅｘ．１のコンテンツは２００４年の１月１６日の２２時００分から２２時５４分までの番組である。当該時刻情報は、各クライアントＡＶ機器から記録予約要求の際に当該記録予約要求とともに送信されたデータから作成される。
【０１７１】
番組名はコンテンツとしての番組のタイトル、チャンネルは当該コンテンツが放送される放送局をそれぞれ示している。ジャンルは、ドラマ、バラエティ、音楽、ニュース、スポーツ等、各コンテンツの内容をジャンルで示している。コメントは各番組の内容や出演者、番組のおすすめ度等の番組情報である。
【０１７２】
これら番組名、チャンネル、ジャンル及びコメントの各項目は、例えば各クライアントＡＶ機器がデータ放送やインターネット等により取得したＥＰＧデータを用いて作成され、ホームサーバ１００がクライアントＡＶ機器の要求に応じて番組を検索したり、各クライアントＡＶ機器に番組のリストを表示させたりするためにメタ情報として用いられる。
【０１７３】
分割コンテンツに関する項目には、情報処理装置ＩＤ、公開フラグ、実記録開始時刻、実記録終了時刻、予約コンテンツサイズ、記録コンテンツサイズ、ビットレート、実コンテンツへのリンクの各項目が含まれる。
【０１７４】
情報処理装置ＩＤは、上述したように本実施形態のネットワークＡＶシステムにおける各機器に付与されており、各分割コンテンツの送信元である各クライアントＡＶ機器を一意に識別するためのＩＤである。なお、本実施形態においては、クライアントＡＶ機器２００、３００及び４００の情報処理装置ＩＤはそれぞれＣＥＬＬ−Ａ、ＣＥＬＬ−Ｂ及びＣＥＬＬ−Ｃとする。
【０１７５】
公開フラグは、各分割コンテンツの公開及び非公開を示すフラグであり、各分割コンテンツのうち一つでも非公開の分割コンテンツがあれば、上述のコンテンツ全体の公開フラグも非公開（０）となる。
【０１７６】
実記録開始時刻及び実記録終了時刻は、ホームサーバ１００において各分割コンテンツの記録が開始される年月日及び時刻である。当該各時刻は、各クライアントＡＶ機器からホームサーバ１００に対する記録予約要求時に送信されるデータを基に作成されるが、当該予約された時刻を経過し、各クライアントＡＶ機器から記録開始要求が送信されてホームサーバ１００において実際に記録が始まると、当該記録開始要求に含まれる開始時刻データ及び終了時刻データと置き換わる。
【０１７７】
両時刻は、同じ番組でも（コンテンツＩＤが同一でも）分割コンテンツ毎に異なっている場合もある。例えば同図の具体例ｅｘ．１の各分割コンテンツに示すように、コンテンツＩＤ＝０４０１１６Ｈ２２２３のコンテンツは、２００４年の１月１６日の２２時００分から２２時５４分まで放送されているが、クライアントＡＶ機器２００（ＩＤ＝ＣＥＬＬ−Ａ）がそのうち２２時００分から２２時３０分までのストリームを受信し、クライアントＡＶ機器３００（ＩＤ＝ＣＥＬＬ−Ｂ）が２２時３０分から２２時５４分までのストリームを受信している。このように実記録開始時刻をずらしたり分割したりして、後にホームサーバ１００に合成させることにより、複数のクライアントＡＶ機器により一つの番組をリレー録画することが可能となる。
【０１７８】
予約コンテンツサイズは、ホームサーバ１００が各クライアントＡＶ機器から分割コンテンツの記録予約を受けた時に、上記ＨＤＤ２８−１または光ディスクへの記録容量として確保した各分割コンテンツのサイズを示しており、記録コンテンツサイズは、実際に記録された各分割コンテンツのサイズを示している。テーブル中、ｅｘ．３の各分割コンテンツＣＥＬＬ−Ｂ及びＣＥＬＬ−Ｃの各記録コンテンツサイズに示されるように、まだ記録開始時刻を経過していない場合には記録コンテンツサイズも０となる。
【０１７９】
ビットレートは、各分割コンテンツが各クライアントＡＶ機器からホームサーバ１００へ送信される際の送信ビットレートを示している。当該ビットレートに関するデータも、各クライアントＡＶ機器からホームサーバ１００に対する各分割コンテンツの記録予約要求時に送信される。ビットレートは各クライアントＡＶ機器の性能または放送局から送信されるストリームのビットレートにより異なる。また各クライアントＡＶ機器は、受信した分割コンテンツのビットレートを変換できる機能を有していてもよい。
【０１８０】
実コンテンツへのリンクは、ホームサーバ１００のＨＤＤ２８−１または光ディスク２８−２に記憶されている実際の分割コンテンツファイルの所在場所を示している。
【０１８１】
以上のコンテンツ管理テーブルにより、各分割コンテンツに関する情報を上記コンテンツＩＤにより一意に識別して管理することで、各分割コンテンツの記録開始／終了時刻や内容、受信するクライアントＡＶ機器等が異なっていても、番組の一意性を確保しながら分割録画し、後に一の番組として合成することが可能となる。
【０１８２】
また、コンテンツＩＤをクライアントＡＶ機器毎に変更するのではなく、あくまで番組単位でホームサーバ１００から付与しているため、各クライアントＡＶ機器同士でコンテンツＩＤの調整を行うようなことは不要である。
【０１８３】
次に、本実施形態に係るネットワークＡＶシステムにおいて、各クライアントＡＶ機器及びホームサーバ１００との間でやり取りされるソフトウェアセルについて説明する。
【０１８４】
本システムにおいても、ホームサーバ１００及び各クライアントＡＶ機器は、上述したマスター／スレーブの決定手順に従ってソフトウェアセルを生成し、ステータス要求コマンド及びステータス返信コマンドの送受信によりＭＳステータスの設定を行うことが可能であるが、通常はホームサーバ１００がマスター（ＭＳステータス＝０）、各クライアントＡＶ機器がスレーブ（ＭＳステータス＝１）として設定されているものとする。
【０１８５】
本実施形態におけるホームサーバ１００と各クライアントＡＶ機器との間では、ＤＭＡコマンドとして、上述のロードコマンド、キックコマンド、ステータス要求コマンド、ステータス返信コマンドに加えて、ＡＶ要求コマンド及びＡＶ応答コマンドがやり取りされる。図１５はＡＶ要求コマンドの詳細を示した図であり、図１６はＡＶ応答コマンドの詳細を示した図である。
【０１８６】
図１５に示すように、ＡＶ要求コマンドは、記録予約、記録開始、記録終了、コンテンツ検索、コンテンツ取得、コンテンツ公開、コンテンツ復号及び再生終了の各要求種別に分類される。これらのコマンドのうち、コンテンツ復号要求コマンドはホームサーバ１００から各クライアントＡＶ機器へ送信されるコマンドであり、それ以外のコマンドは各クライアントＡＶ機器からホームサーバ１００へ送信されるコマンドである。
【０１８７】
図１６に示すように、ＡＶ応答コマンドは、記録予約、記録開始、記録終了、コンテンツ検索、コンテンツ取得、コンテンツ公開、コンテンツ復号、再生終了、公開終了の各応答種別に分類され、上記図１５に示した各ＡＶ要求コマンドにそれぞれ応答する形となっている。これらのコマンドのうち、コンテンツ復号応答コマンドは、上記コンテンツ復号要求コマンドに応答して、各クライアントＡＶ機器からホームサーバ１００へ送信されるコマンドであり、それ以外のコマンドはホームサーバ１００から各クライアントＡＶ機器へ送信されるコマンドである。
【０１８８】
上述の各ＡＶ要求コマンド及びＡＶ応答コマンドのうち、記録予約要求／応答及びコンテンツ検索要求／応答の場合を例に挙げて、各ソフトウェアセルのフォーマットの具体例を説明する。
【０１８９】
図１７は、記録予約要求コマンドの具体例を示した図である。同図に示すように、各クライアントＡＶ機器は、自身が受信する各分割コンテンツの記録の予約を要求する際には、ホームサーバ１００に対して、コンテンツ開始時刻、コンテンツ終了時刻、実記録開始時刻、実記録終了時刻、番組名、チャンネル、ビットレート、ジャンル及びコメントの各データとともに記録予約要求コマンドを送信する。当該各データは、各クライアントＡＶ機器が例えばインターネットやデータ放送等により取得したＥＰＧデータを参照して抽出される。
【０１９０】
当該記録予約要求コマンドを送信する際のソフトウェアセル中、送信元ＩＤ及び応答先ＩＤは各クライアントＡＶ機器の上記情報処理装置ＩＤ、送信先ＩＤはホームサーバ１００の情報処理装置ＩＤとなる。また、各クライアントＡＶ機器が、以前にもソフトウェアセルにより記録要求コマンドを送信している場合には、当該ソフトウェアセルのＩＤを、上記セルインターフェース中の前回のソフトウェアセルＩＤとして送信する。
【０１９１】
図１８は、記録予約応答コマンドの具体例を示した図である。同図に示すように、ホームサーバ１００は、各クライアントＡＶ機器から上記記録要求コマンドを受信すると、当該予約の可否データ、予約が可だった場合には記録を予約したコンテンツのコンテンツＩＤ及び記録パスワードを含むデータを記録予約応答コマンドとして上記記録予約要求コマンドを送信したクライアントＡＶ機器へ送信する。
【０１９２】
予約の可否は、例えばホームサーバ１００の上記ＨＤＤ２８−１及び光ディスク２８−２の空き容量によって決定する。すなわち、上記記録予約要求コマンドに含まれる実記録開始時刻、実記録終了時刻及びビットレートを参照して、その分割コンテンツを記録するための容量が足りないと判断した場合には予約不可を送信し、十分空き容量があると判断した場合には予約可を送信する。
【０１９３】
コンテンツＩＤは、上述したように、例えば上記記録予約要求コマンドに含まれるコンテンツ開始時刻、コンテンツ終了時刻、番組名及びチャンネルの各データを基に、それらのデータが全て共通しているコンテンツに対して一意に付与される。また、記録パスワードは、各クライアントＡＶ機器が上記実記録時刻に実際に記録を要求する際に、記録予約の応答を受けた機器であることを認証するために必要となるもので、例えばホームサーバ１００が当該記録予約応答時にランダムに生成する。
【０１９４】
図１９は、コンテンツ検索要求コマンドの具体例を示した図である。同図に示すように、各クライアントＡＶ機器は、ホームサーバ１００に分割コンテンツまたは合成されたコンテンツ（以下、合成コンテンツという。）の検索を要求する際には、コンテンツ検索要求コマンドとともに当該クライアントＡＶ機器の情報処理装置ＩＤをホームサーバ１００へ送信する。当該情報処理装置ＩＤを送信することで、そのＩＤに対応するクライアントＡＶ機器から送信された分割コンテンツが検索される。
【０１９５】
コンテンツの検索を要求する場合としては、例えば、クライアントＡＶ機器２００が暗号化してホームサーバ１００に送信し、記録させた分割コンテンツを後から公開させる際に、その時点でホームサーバ１００に記録されている各分割コンテンツの中から、当該クライアントＡＶ機器２００が送信した分割コンテンツを検索させるような場合や、ホームサーバ１００において記録されている合成コンテンツを、各クライアントＡＶ機器において再生する際に、既に合成済みのコンテンツを検索するような場合が挙げられる。
【０１９６】
なお、特定のクライアントＡＶ機器が送信した分割コンテンツのみで合成コンテンツが構成されている場合には、当該特定のクライアントＡＶ機器の情報処理装置ＩＤを送信するが、既に公開済みの分割コンテンツや、複数のクライアントＡＶ機器から送信された各分割コンテンツが合成された合成コンテンツの検索を要求する際には、上記情報処理装置ではなく、特定の文字列（例えば０）を送信する。
【０１９７】
図２０は、コンテンツ検索応答コマンドの具体例を示した図である。同図に示すように、上記コンテンツ検索要求コマンドを受信したホームサーバ１００は、当該要求に応じてコンテンツを検索し、検索された全てのコンテンツについて、当該コンテンツのコンテンツＩＤ、送信元の情報処理装置ＩＤ、コンテンツ開始時刻、コンテンツ終了時刻、コンテンツサイズ、番組名、チャンネル、ビットレート、ジャンル、コメントの各データを上記コンテンツ管理テーブルから抽出して、コンテンツ検索応答コマンドとともに検索コンテンツのリストとして各クライアントＡＶ機器へ送信する。当該各データはモニタ表示装置４１へリストとして表示され、ユーザの操作等により特定のコンテンツが選択されることになる。なお、複数のクライアントＡＶ機器からの分割コンテンツを基に合成された合成コンテンツの検索要求の場合には、上記情報処理装置ＩＤは一つに特定されないため、送信しない。
【０１９８】
次に、以上のように構成されたネットワークＡＶシステムにおける、ホームサーバ１００及び各クライアントＡＶ機器の動作を説明する。
【０１９９】
まず、各クライアントＡＶ機器が、受信した各分割コンテンツの記録予約をホームサーバ１００へ要求し、ホームサーバ１００が実際に記録するまでの動作について説明する。図２１は、分割コンテンツの記録予約を行う場合の動作の概略を示したシーケンス図である。
【０２００】
同図に示すように、まず、クライアントＡＶ機器は、ホームサーバ１００がネットワークに接続され、正常に動作しているか否かを確認するため、予めホームサーバ１００に対して上記ステータス要求コマンドを送信する。ホームサーバ１００は当該ステータス要求に対して、ステータス返信コマンドを送信し、正常に動作している旨を通知する。
【０２０１】
クライアントＡＶ機器は、当該ステータス応答を受信すると、上述の記録予約要求コマンドとともに、コンテンツ開始／終了時刻、番組名等のコンテンツ情報、実記録開始／終了時間、コンテンツサイズ等のデータを送信し、分割コンテンツの記録予約を要求する。当該記録予約要求を受けたホームサーバ１００は、ＨＤＤ２８−１の容量等を勘案して記録が可能か否かを判断し、予約が可能であった場合には、上記コンテンツサイズに基づいてＨＤＤ２８−１の容量を確保するともに、上記コンテンツＩＤ及び記録パスワードを発行し、上記記録予約応答コマンドにより、予約可である旨、コンテンツＩＤ及び記録パスワードを送信する。予約不可であった場合には、同じく記録予約応答コマンドによりその旨を通知する。このとき、ホームサーバ１００は上記コンテンツ管理テーブルのエントリを作成する。これにより分割コンテンツの記録予約が完了する。
【０２０２】
図２２は、上記記録予約を基に分割コンテンツを実際に記録する場合の動作の概略を示したシーケンス図である。
【０２０３】
同図に示すように、まず、クライアントＡＶ機器は予めホームサーバ１００へステータス要求コマンドを送信し、ホームサーバ１００からのステータス応答によりホームサーバ１００のネットワーク接続、動作状況を確認しておく。
【０２０４】
そして、ホームサーバ１００に対して、上記記録予約した分割コンテンツの記録の開始を上記記録開始要求コマンドにより要求する。この際、上述したように、ホームサーバ１００からの上記記録予約応答時に受信したコンテンツＩＤ、パスワード及び送信する分割コンテンツのシーケンス総数をデータとして送信する。
【０２０５】
クライアントＡＶ機器は、分割コンテンツを受信しながら、当該分割コンテンツを一つのソフトウェアセルに収まるようにパケット毎に分割して、それぞれにシーケンス番号を付してソフトウェアセルによりホームサーバ１００へ送信する。上記シーケンス総数は、上記ビットレート等から予めクライアントＡＶ機器が算出した、当該パケット（ソフトウェアセル）の総数を示す。
【０２０６】
上記記録開始要求コマンドを受信したホームサーバ１００は、上記コンテンツＩＤ及びパスワードを認証し、認証に通った場合には記録開始応答コマンドにより記録開始ＯＫをクライアントＡＶ機器へ通知する。認証に通らなかった場合には記録開始ＮＧを通知する。当該ＮＧの通知はクライアントＡＶ機器のモニタ表示装置４１に表示され、ユーザに通知されるとともに記録処理が中断される。
【０２０７】
記録開始ＯＫの応答を受けたクライアントＡＶ機器は、実記録開始時刻を経過すると、放送局からオリジナルの分割コンテンツをストリーム受信する。そして当該分割コンテンツを上記暗号化・復号化プログラム等を用いてリアルタイムに暗号化し、当該暗号化された分割コンテンツをコンテンツＩＤ及び上記シーケンス番号とともにソフトウェアセルによりパケット毎にホームサーバ１００へ逐一送信する。なお、受信した分割コンテンツがデジタル放送の場合にはデジタル変換処理は必要ないが、アナログ放送であった場合には、エンコーダにより例えばＭＰＥＧ２等のデジタルフォーマットへ変換した上で暗号化して送信する。ホームサーバ１００は、受信したパケット毎の分割コンテンツを上記シーケンス番号に従って順に記録し、コンテンツ管理テーブル中、実記録開始時刻、実記録終了時刻、記録コンテンツサイズ、実コンテンツへのリンク等の項目の書換えを行う。
【０２０８】
そして、実記録終了時刻を経過して上記当該パケットを最終のシーケンス番号まで送信すると、クライアントＡＶ機器は記録終了コマンドによりホームサーバ１００に対して分割コンテンツの記録終了を要求する。当該要求に対して、ホームサーバ１００は記録終了応答コマンドにより応答し、分割コンテンツの記録を終了する。
【０２０９】
以上の動作を、クライアントＡＶ機器側とホームサーバ１００側に分けて、フローチャートを用いてより詳細に説明する。図２３は、上記分割コンテンツの記録予約時及び記録時のクライアントＡＶ機器の動作の流れを示したフローチャートである。なお、同図においてはクライアントＡＶ機器２００が動作する場合について説明するが、クライアントＡＶ機器３００及び４００についても同様の動作となる。
【０２１０】
同図に示すように、クライアントＡＶ機器２００は、操作入力部３７−２からユーザの操作を入力すると（ステップ５０１）、当該操作が記録終了要求であるか否かを判断する（ステップ５０２）。記録終了要求でなかった場合（ステップ５０２のＮＯ）には、ホームサーバ１００からステータスを取得済みであるか否かを判断する（ステップ５０３）。取得していなかった場合（ステップ５０３のＮＯ）には上記ステータス要求コマンドをホームサーバ１００へ送信して、ステータスを取得する（ステップ５０４）。
【０２１１】
ステータスを取得していた場合（ステップ５０３のＹＥＳ）には、クライアントＡＶ機器２００が既に記録予約要求コマンドをホームサーバ１００へ送信して、記録予約ＯＫの応答を受けているか否かを判断する（ステップ５０５）。記録予約ＯＫの応答を受けていない場合（ステップ５０５のＮＯ）、上記記録予約要求コマンドによりホームサーバ１００へ記録予約要求を送信し、記録予約ＯＫの応答を受ける（ステップ５０６）。
【０２１２】
記録予約応答コマンドにより記録予約ＯＫの応答を受けている場合（ステップ５０５のＹＥＳ）には、記録開始要求コマンドの送信によりホームサーバから既に記録開始ＯＫの応答を受けているかを判断する（ステップ５０７）。記録開始ＯＫの応答を受けていない場合（ステップ５０７のＮＯ）には、上記記録開始要求コマンドをホームサーバ１００へ送信して記録開始ＯＫの応答を受ける（ステップ５０８）。
【０２１３】
記録開始応答コマンドにより記録開始ＯＫの応答を受けている場合には（ステップ５０７のＹＥＳ）、分割コンテンツの実記録開始時刻が経過したか否かを判断する（ステップ５０９）。経過していない場合（ステップ５０９のＮＯ）にはステップ５０１へ戻ってユーザの新たな操作を待つ。経過した場合（ステップ５０９のＹＥＳ）には、放送受信部３２−２、映像入力部３３−２及び音声入力部３４−２により放送局等からオリジナルの分割コンテンツをストリーミング受信する（ステップ５１０）。
【０２１４】
そして、実記録終了時刻を経過したか否かを判断し（ステップ５１１）、経過していない場合（ステップ５１１のＮＯ）には、未送信の分割コンテンツがあるか否かを判断し（ステップ５１２）、ある場合（ステップ５１２のＹＥＳ）には、受信した分割コンテンツを、クライアントＡＶ機器２００のみでしか復号化できない暗号鍵（秘密鍵）を用いて暗号化し、またソフトウェアセルの容量に合わせてパケット化し（ステップ５１３）、ホームサーバ１００へ送信する（ステップ５１４）。
【０２１５】
以上の動作を繰り返し、実記録終了時刻が経過し、または全ての分割コンテンツを送信した場合（ステップ５１１のＹＥＳ、ステップ５１２のＮＯ）には、ホームサーバ１００に対し、上記記録終了要求コマンドにより分割コンテンツの記録終了を要求し、記録終了応答コマンドの返信を受けることにより終了する（ステップ５１５）。なお、上記ステップ５０２においてユーザの操作が記録終了要求であった場合も同様に記録終了要求コマンドを送信する。
【０２１６】
図２４は、上記分割コンテンツの記録予約時及び記録時のホームサーバ１００の動作の流れを示したフローチャートである。
【０２１７】
同図に示すように、ホームサーバ１００は、各クライアントＡＶ機器からのリクエストを受信すると（ステップ６０１）、当該リクエストがステータス取得要求であるか否かを判断する（ステップ６０２）。ステータス取得要求であった場合（ステップ６０２のＹＥＳ）には、自身のステータスを返信する（ステップ６０３）。
【０２１８】
上記リクエストがステータス要求でなかった場合（ステップ６０２のＮＯ）には、上記リクエストが記録予約要求であるか否かを判断する（ステップ６０４）。記録予約要求であった場合（ステップ６０４のＹＥＳ）には、ＨＤＤ２８−１の空き容量があるか否かを確認し（ステップ６０５）、空き容量がある場合には記録予約応答コマンドによりクライアントＡＶ機器へ記録予約ＯＫを送信してＨＤＤ２８−１の容量を確保するとともに、コンテンツＩＤ及びパスワードを発行して上記記録予約応答コマンドとともに送信する（ステップ６０７）。ＨＤＤ２８−１の容量が足りない場合には、記録予約応答コマンドにより記録予約ＮＧの旨を通知する（ステップ６０６）。
【０２１９】
続いてホームサーバ１００は、コンテンツ管理テーブルを参照する等して実記録開始時刻を経過したか否かを判断し（ステップ６０８）、経過していない場合（ステップ６０８のＮＯ）には、上記リクエストが記録開始要求であるかを判断する（ステップ６０９）。記録開始要求である場合（ステップ６０９のＹＥＳ）には、当該記録開始要求の対象となる分割コンテンツが上記ステップ６０７において記録予約済みであるか、すなわちクライアントＡＶ機器から送信されたコンテンツＩＤ及びパスワードが認証されるか否かを判断し（ステップ６１０）、認証された場合には（ステップ６１０のＹＥＳ）、ＨＤＤ２８−１への分割コンテンツの記録を開始する（ステップ６１１）。
【０２２０】
認証されなかった場合（ステップ６１０のＮＯ）及び上記ステップ６０８において実記録開始時刻が経過していた場合（ステップ６０８のＹＥＳ）には、記録開始応答コマンドによりクライアントＡＶ機器に対して記録開始ＮＧを応答する（ステップ６１２）。
【０２２１】
また、上記リクエストが記録開始要求でなかった場合（ステップ６０９のＮＯ）には、実記録終了時刻を経過したか否かを判断し（ステップ６１３）、経過していない場合（ステップ６１３のＮＯ）及び上記リクエストが記録終了要求であった場合（ステップ６１５のＹＥＳ）には、分割コンテンツの記録を終了し、記録終了応答コマンドによりクライアントＡＶ機器へ記録終了を応答する（ステップ６１４）。記録終了要求でなかった場合（ステップ６１５のＮＯ）には上記ステップ６０１に戻って新たなリクエストを待ち受け、リクエストに応じて上記処理を繰り返す。ホームサーバ１００は、以上の動作を各クライアントＡＶ機器からの要求毎に行い、各クライアント機器が記録を要求した各分割コンテンツをそれぞれ記録する。
【０２２２】
以上の動作により、各クライアントＡＶ機器から分割コンテンツの記録要求を受けたときにコンテンツＩＤを発行し、当該コンテンツＩＤにより各分割コンテンツを一意に把握しているため、上記記録予約に基づいて各分割コンテンツを記録するとともに、記録される各分割コンテンツがどのコンテンツの一部をなすものであるかを容易に把握することができる。
【０２２３】
次に、上記記録した各分割コンテンツをホームサーバ１００が合成する場合の動作について説明する。図２５は当該動作の流れを示したフローチャートである。
【０２２４】
同図に示すように、コンテンツ終了時刻を経過すると、まずホームサーバ１００は、上記コンテンツ管理テーブルを参照して、各分割コンテンツの実記録開始時刻及び実記録終了時刻を基に、上記記録した各分割コンテンツのうち、同一のコンテンツＩＤを有する分割コンテンツを時間順に並び替える（ステップ７０１）。そして、再度上記実記録開始時刻及び実記録終了時刻を参照して、当該並び替えた各分割コンテンツに重複する部分が存在するか否かを調べる（ステップ７０２）。
【０２２５】
重複がある場合には、重複する各分割コンテンツのうちどの分割コンテンツの部分を使用するかを所定の優先順位を基に決定する（ステップ７０３）。当該所定の優先順位としては、例えば合成後のコンテンツファイルの一貫性を基準にする。すなわち、合成コンテンツのうち、できる限り同一のクライアントＡＶ機器から送信された分割コンテンツが占める割合が高くなるように、同一のクライアントＡＶ機器から送信された分割コンテンツが他にある場合には当該クライアントＡＶ機器から送信された分割コンテンツを優先して残し、他の重複する分割コンテンツの重複部分を削除する。また、それ以外にも、各分割コンテンツのフォーマットやビットレートを優先基準として、例えばＭＰＥＧ１よりもＭＰＥＧ２のフォーマットのファイルを優先したり、より高いビットレートのファイルを優先したりしてもよい。
【０２２６】
図２６は、各分割コンテンツに重複する部分が存在する場合の合成処理方法を示した図である。同図においては、例えば９時００分から９時５４分までの番組のうち、クライアントＡＶ機器２００（情報処理装置ＩＤ＝ＣＥＬＬ−Ａ）が９時００分〜９時２５分までの分割コンテンツＡ、クライアントＡＶ機器３００（情報処理装置ＩＤ＝ＣＥＬＬ−Ｂ）が９時１５分〜９時４０分までの分割コンテンツＢ、クライアントＡＶ機器４００（情報処理装置ＩＤ＝ＣＥＬＬ−Ｃ）が９時３０分〜９時４５分までの分割コンテンツＣをそれぞれ受信してホームサーバ１００へ送信し、ホームサーバ１００において記録されている。
また分割コンテンツＡ及びＣのビットレートは４Ｍｂｐｓであり、分割コンテンツＢのビットレートは２Ｍｂｐｓである。
【０２２７】
この場合、分割コンテンツＡと分割コンテンツＢでは９時１５分〜９時２５分の部分、分割コンテンツＢと分割コンテンツＣでは９時３０分〜９時４０分の部分が重複しているため、例えばビットレートを優先順位として、分割コンテンツＡとＢの重複部分においてはビットレートの高い分割コンテンツＡの部分を採用し、分割コンテンツＢの重複部分は削除する。同様に、分割コンテンツＢとＣの重複部分においては、ビットレートの高い分割コンテンツＣの部分を採用し、分割コンテンツＢの重複部分は削除する。
【０２２８】
なお、一の番組の放送時間のうち、どのクライアントＡＶ機器からも送信されていない時間帯がある場合には、そのまま（データなし）にしておく。このようにすることで、例えば、各クライアント機器が、番組の放送時間中のＣＭの部分を送信していない場合には、いわゆるＣＭカットを行うことができる。また、上記ステップ７０２において各分割コンテンツに重複が無い場合（ステップ７０２のＮＯ）には、ステップ７０５へ進む。
【０２２９】
上記優先順位に従って、使用しない重複部分を削除すると（図２５のステップ７０４）、各分割コンテンツが複数の異なるクライアントＡＶ機器から送信されたものであるか否かを判断する（ステップ７０５）。複数のクライアントＡＶ機器からの分割コンテンツである場合（ステップ７０５のＹＥＳ）には、そのまま合成しても、各分割コンテンツが各クライアントＡＶ機器により独自に暗号化されているために、どのクライアントＡＶ機器においても再生することができないため、各分割コンテンツを復号化させるために、各クライアントＡＶ機器に対して上記復号要求コマンドにより当該分割コンテンツの復号化を要求する（ステップ７０６）。当該復号化の際の動作について、以下、詳細に説明する。
【０２３０】
図２７は、分割コンテンツを復号化する場合のホームサーバ１００及びクライアントＡＶ機器の動作の流れを示したシーケンス図である。
【０２３１】
同図に示すように、まずホームサーバ１００は、コンテンツＩＤが同一の上記各分割コンテンツが複数のクライアントＡＶ機器から送信されたものであることを判断した場合には、それらを暗号化した各クライアントＡＶ機器に対してコンテンツＩＤとともに上記コンテンツ復号要求コマンドを送信して、各分割コンテンツの復号化を要求する。各クライアントＡＶ機器は、受信したコンテンツＩＤにより、自機が暗号化した分割コンテンツであるか否かを判断し、復号化が可能な場合には復号化ＯＫを、不可能な場合には復号化ＮＧを、コンテンツ復号応答コマンドによりそれぞれホームサーバ１００に対して応答する。
【０２３２】
続いてクライアントＡＶ機器は、復号化可能な場合には、上記コンテンツ取得要求コマンドをコンテンツＩＤとともに送信して、復号化対象の分割コンテンツの取得を要求する。ホームサーバ１００は当該取得要求に対して、コンテンツＩＤを基にコンテンツ管理テーブルを参照して当該分割コンテンツを検索する。そして、検索結果の分割コンテンツの送信元であるクライアントＡＶ機器の情報処理装置ＩＤ、コンテンツＩＤ、及び当該分割コンテンツをパケット毎に送信する際のシーケンス総数の各データとともにコンテンツ取得応答コマンドを送信して、取得可能な旨を通知する。
【０２３３】
続いてホームサーバ１００は、暗号化された分割コンテンツを、コンテンツＩＤ及びシーケンス番号とともにパケット毎にソフトウェアセルによりクライアントＡＶ機器へ送信する。当該分割コンテンツのパケットを受信したクライアントＡＶ機器は、当該パケットを解読し、暗号を解読して自身の秘密鍵により復号化し、復号済み（平文）の分割コンテンツをホームサーバ１００へ送信する。当該処理を上記シーケンス総数のパケット分繰り返す。
【０２３４】
ホームサーバ１００は、受信した復号済みの分割コンテンツを上記シーケンス番号に従ってＨＤＤ２８−１へ記録していき、全シーケンスを正常に受信及び記録すると、オリジナルの暗号化された分割コンテンツを削除する。そして、コンテンツ管理テーブル中、分割コンテンツの公開フラグを０から１に書き換える。ホームサーバ１００は、コンテンツＩＤが同一の複数の分割コンテンツについて、上記処理によりそれぞれ各クライアントＡＶ機器へ復号化させ、記録する。
【０２３５】
一の番組を構成する全ての分割コンテンツをそれぞれのクライアントＡＶ機器に復号化させて、当該復号化された分割コンテンツを記録すると、当該各分割コンテンツを、上記コンテンツ管理テーブル中の実記録開始／終了時刻を基に時系列順に並び替える（図２５のステップ７０７）。そして、当該各分割コンテンツへのリンクを設定して時系列順のリンクリストを作成し、コンテンツ管理テーブル中のコンテンツ全体の公開フラグを０から１に書き換えることにより、当該リンクリストを合成コンテンツとしてリリースする（ステップ７０８）。なお、上記ステップ７０５において複数機器の混合コンテンツでない場合、すなわち、一の番組を構成する各分割コンテンツが全て単一のクライアントＡＶ機器から送信されたものである場合には、暗号化されたまま時系列順に並び替えて上記リンクリストを作成し、上記コンテンツの公開フラグは０のまま、合成コンテンツとしてリリースする。
【０２３６】
以上の動作により、ホームサーバ１００は、単一または複数のクライアントＡＶ機器から非連続に送信された各分割コンテンツを、上記実記録開始／終了時刻等を参照して時系列順に並び替え、また重複する部分は適宜所定の優先順位に従って削除することにより、合成コンテンツとして完成させることができる。これにより、重複を気にせず複数のクライアントＡＶ機器で受信した分割コンテンツを記録することができるため、システムの冗長性も確保することができる。更に、例えば低ビットレートのクライアントＡＶ機器で番組を全時間受信してホームサーバ１００へ記録しておくとともに、高ビットレートのクライアントＡＶ機器でも可能な限り同じ番組を受信して記録させておき、それらを後で合成することにより、コンテンツのトータルでの画質を高めるようなことも可能である。
【０２３７】
次に、上記合成コンテンツを、各クライアントＡＶ機器が再生する場合の動作について説明する。図２８は、この場合のクライアントＡＶ機器及びホームサーバ１００の動作の流れを示したシーケンス図である。同図においては、クライアントＡＶ機器２００が、自機を含む複数のクライアントＡＶ機器からの分割コンテンツを基に合成された合成コンテンツを再生する場合を想定して説明する。
【０２３８】
同図に示すように、クライアントＡＶ機器２００は予めホームサーバ１００へステータス要求コマンドを送信し、ホームサーバ１００からのステータス応答によりホームサーバ１００のネットワーク接続、動作状況を確認しておく。そして、ホームサーバ１００に対して上記図１９において説明したコンテンツ検索要求コマンドを送信して、再生可能な合成コンテンツの検索を要求する。この際、公開された合成コンテンツの検索要求であることを示す文字列（例えば０）を送信する。
【０２３９】
当該検索要求を受けたホームサーバ１００は、コンテンツ管理テーブルを参照して、コンテンツ全体の公開フラグが１になっている合成コンテンツを検索し、上述の図２０で説明したように、コンテンツ検索応答コマンドにより、検索された合成コンテンツのリストを、コンテンツＩＤ等のデータとともに送信する。
【０２４０】
当該合成コンテンツのリストを受信したクライアントＡＶ機器２００は、モニタ表示装置４１に当該リストを表示し、操作入力部３７−２を介してユーザにコンテンツを選択させ、選択された合成コンテンツの取得要求を上記コンテンツ取得要求コマンドによりコンテンツＩＤとともに送信する。
【０２４１】
コンテンツ取得要求を受けたホームサーバ１００は、コンテンツＩＤ及びそれに対応する合成コンテンツをパケット毎に送信する場合のシーケンス総数を、コンテンツ取得応答コマンドとして返信する。続いて、ホームサーバ１００は、合成コンテンツをＨＤＤ２８−１から呼び出し、シーケンス番号に従ってパケット毎にソフトウェアセルによりクライアントＡＶ機器２００へ送信していく。
【０２４２】
クライアントＡＶ機器２００は、上記パケット毎に合成コンテンツを受信し、当該パケットを解読して、シーケンス番号に従って再生を開始する。この際、合成コンテンツを構成する各分割コンテンツのフォーマット及びビットレートが異なる場合には、当該分割部分毎にコーデックの初期化等、必要な処理を行う。
【０２４３】
そして、クライアントＡＶ機器２００は、最後のシーケンス番号のパケット分の合成コンテンツの再生を終了したならば、ホームサーバ１００へ再生終了コマンドを送信し、再生終了を通知する。ホームサーバ１００は当該再生終了要求コマンドに対して再生終了応答コマンドで応答することにより合成コンテンツの再生が終了する。
【０２４４】
なお、全てクライアントＡＶ機器２００から送信された分割コンテンツを基に合成され、かつ非公開の合成コンテンツを再生する場合には、クライアントＡＶ機器２００は、上記コンテンツ検索要求の際に当該クライアントＡＶ機器２００の情報処理装置ＩＤを送信する。ホームサーバ１００は当該情報処理装置ＩＤを基に、クライアントＡＶ機器２００に対応する合成コンテンツを検索してそのリストを送信し、クライアントＡＶ機器２００は当該リストに基づいてリスト中の所望のコンテンツのコンテンツＩＤを指定して取得を要求する。そして、ホームサーバ１００は当該要求に基づいて合成コンテンツを送信し、クライアントＡＶ機器２００は、受信した合成コンテンツを独自の秘密鍵で復号化して再生する。これにより、例えば秘匿性を維持する必要があるコンテンツについては、ネットワーク９上におけるセキュリティを維持することができる。
【０２４５】
図２９は、合成コンテンツを再生する場合のクライアントＡＶ機器の動作を示したフローチャートである。
【０２４６】
同図に示すように、クライアントＡＶ機器は、例えば操作入力部を介してユーザの操作を入力すると（ステップ８０１）、当該操作が再生終了要求であるか否かを判断する（ステップ８０２）。再生終了要求でない場合（ステップ８０２のＮＯ）には、ホームサーバ１００のステータスを既に取得しているか否かを確認する（ステップ８０３）。ステータスを取得してない場合（ステップ８０３のＮＯ）には、上記ステータス要求コマンドによりホームサーバ１００からステータスを取得する（ステップ８０４）。
【０２４７】
ステータスを既に取得している場合（ステップ８０３のＹＥＳ）には、上記合成コンテンツのリストを取得しているか否かを確認する（ステップ８０５）。コンテンツリストを取得してない場合（ステップ８０５のＮＯ）には、上記コンテンツ検索要求コマンドをホームサーバ１００へ送信して、コンテンツ検索応答コマンドの受信により、コンテンツＩＤを含むコンテンツリストを取得する（ステップ８０６）。
【０２４８】
コンテンツリストを既に取得している場合（ステップ８０５のＹＥＳ）には、合成コンテンツの取得を既に要求しているか否かを確認する（ステップ８０７）。取得を要求していない場合（ステップ８０７）には、ユーザが所望の合成コンテンツのコンテンツＩＤを指定して、上記コンテンツ取得要求コマンドをホームサーバ１００へ送信し、コンテンツ取得応答コマンドを受信する。
【０２４９】
コンテンツ取得を既に要求している場合（ステップ８０７のＹＥＳ）には、未受信の合成コンテンツがあるか否かを確認する（ステップ８０９）。未受信の合成コンテンツがある場合（ステップ８０９のＹＥＳ）には、上記図２８で説明した手順でシーケンス番号に従ってパケット毎に合成コンテンツを受信する（ステップ８１０）。そして、受信した合成コンテンツのパケットを解読して、合成コンテンツを再生する（ステップ８１１）。このとき、上述したように、受信した合成コンテンツが複数のクライアントＡＶ機器からの分割コンテンツを基に合成されたものである場合であって、分割部分毎にフォーマットやビットレートが異なる場合には、コーデックの初期化等必要な処理を行う。また、自機が送信した分割コンテンツのみを基に合成され、かつ非公開の合成コンテンツの場合には、暗号を解読して自機独自の秘密鍵を用いて復号化した上で再生する。
【０２５０】
そして、クライアントＡＶ機器は、合成コンテンツの全てのパケットを受信して再生が全て終了した場合には、ホームサーバ１００に対して上記再生終了要求コマンドを送信し（ステップ８１２）、再生を終了する（ステップ８１３）。また、上記ステップ８０２において、ユーザの操作が再生終了要求だった場合（ステップ８０２のＹＥＳ）にも、同様に再生終了要求コマンドを送信して再生を終了する。
【０２５１】
以上の動作により、単一または複数のクライアントＡＶ機器において受信した分割コンテンツを基にホームサーバ１００において合成されたコンテンツを、上記コンテンツＩＤにより特定することにより再生することができる。また、各分割コンテンツのフォーマットやビットレートが異なっていても、その相違に対応して再生することができる。
【０２５２】
ところで、上述したように、上記合成コンテンツのうち、単一のクライアントＡＶ機器のみから送信された複数の分割コンテンツのみで合成された非公開の合成コンテンツについては、他のクライアントＡＶ機器は再生することができない。そこで、本実施形態においては、そのような非公開コンテンツを、どのクライアントＡＶ機器においても再生可能なように、公開させることが可能である。以下、コンテンツ公開時のホームサーバ１００及びクライアントＡＶ機器の動作について説明する。
【０２５３】
図３０は、合成コンテンツを公開する際のホームサーバ１００及びクライアントＡＶ機器の動作の流れを示したシーケンス図である。
【０２５４】
同図に示すように、まず、クライアントＡＶ機器は、予めホームサーバ１００へステータス要求コマンドを送信し、ホームサーバ１００からのステータス応答によりホームサーバ１００のネットワーク接続、動作状況を確認しておく。そして、例えばユーザから上記操作入力部を介して合成コンテンツの公開の指示を入力すると、ホームサーバ１００に対して、コンテンツ検索要求コマンドを自機の情報処理装置ＩＤとともに送信する。
【０２５５】
ホームサーバ１００は、コンテンツ検索要求を受けると、上記情報処理装置ＩＤを基にコンテンツ管理テーブルを参照して、当該情報処理装置ＩＤに対応するクライアントＡＶ機器から送信され、記録された分割コンテンツのみを合成した合成コンテンツを検索し、当該合成コンテンツのリストをコンテンツ検索応答コマンドにより送信する。
【０２５６】
当該検索応答を受けて、クライアントＡＶ機器は、受信したリストをモニタ表示装置４１に表示してユーザに提示する。ユーザが操作入力部を介して公開を望む合成コンテンツを指定すると、当該指定された合成コンテンツの公開要求をコンテンツＩＤとともにコンテンツ取得要求コマンドにより送信する。
【０２５７】
ホームサーバ１００は、当該コンテンツ公開要求を受けて、上記コンテンツＩＤを基にコンテンツ管理テーブルを参照して指定された合成コンテンツを検索し、コンテンツＩＤが一致する合成コンテンツが存在することを確認すると、公開可能である旨をコンテンツ公開応答コマンドによりクライアントＡＶ機器へ送信する。
【０２５８】
クライアントＡＶ機器は、当該コンテンツ公開応答コマンドを受信すると、コンテンツＩＤとともにコンテンツ取得要求コマンドを送信し、合成コンテンツの取得を要求する。ホームサーバ１００は当該取得要求に対して、該当する合成コンテンツをパケット毎に送信する際のシーケンス総数とともに、クライアントＡＶ機器へコンテンツ取得応答コマンドを送信する。
【０２５９】
続いて、ホームサーバ１００は、ＨＤＤ２８−１から該当する合成コンテンツを引き出し、パケット毎にソフトウェアセルを用いてシーケンス番号に従ってクライアントＡＶ機器へ送信していく。クライアントＡＶ機器は、当該パケットを受信する毎に、パケットを解読して暗号を解読し、自機独自の秘密鍵を用いて当該パケット分の合成コンテンツを復号化し、ホームサーバ１００へ送信する。
【０２６０】
ホームサーバ１００は、復号済み（平文）の合成コンテンツのパケットを受信する毎に、シーケンス番号に従ってＨＤＤ２８−１に記録していく。そして、最終のシーケンス番号に相当する合成コンテンツのパケットまで正常に受信すると、当該合成コンテンツをＨＤＤ２８−１へ記録するとともに、それまで記録してあった暗号化された合成コンテンツを削除し、コンテンツ管理テーブル中、コンテンツ全体及び分割コンテンツの各公開フラグを０から１に書き換える。また、実コンテンツへのリンクに関するデータも更新する。
【０２６１】
以上の動作により、単一のクライアント機器から送信された分割コンテンツのみから合成された合成コンテンツも、他のクライアント機器において再生可能となる。暗号化したクライアントＡＶ機器自身の指示により復号化して公開するため、勝手に公開されてしまうようなことも防ぐことができる。
【０２６２】
以上説明したように、本実施形態によれば、ネットワークＡＶシステムにおいてコンテンツの受信と記録の機能をクライアントＡＶ機器とホームサーバ１００へ分離して、単一または複数のクライアント機器において分割して受信したコンテンツを、ホームサーバ１００において一のコンテンツへ合成して記録及び管理することができる。更に、当該合成後のコンテンツをどのクライアント機器においても再生することができる。
【０２６３】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【０２６４】
上述の実施形態においては、コンテンツを記録する機器としてホームサーバを適用したが、このようなローカルなサーバに限定されることはなく、例えば上記ネットワーク９としてインターネットを用いて、インターネット上に設けられたグローバルなサービスサーバに各分割コンテンツを記録するようにしてもよい。この場合、各クライアントＡＶ機器は、インターネットにより接続可能ならばどこに存在していてもよいし、また据置型の機器ではなく携帯型の機器であっても構わない。
【０２６５】
また、インターネットのような広域ネットワークを用いる場合には、各クライアントＡＶ機器は、自ら受信したＥＰＧデータに含まれる地域データも上記記録予約要求コマンド中のデータに含めるようにし、ホームサーバ１００は、コンテンツＩＤを付与するにあたって当該地域データも参照するようにしても構わない。地域によっては、同じ時間帯の番組でもチャンネル名（放送局名）が異なっていることが考えられるからである。
【０２６６】
更に、上述の実施形態においては、ホームサーバ１００がサーバとしてコンテンツを記録し、各クライアントＡＶ機器がクライアントとして各分割コンテンツを受信してホームサーバ１００へ記録させ、コンテンツを再生するというように、それぞれの用途を区別して説明したが、全ての機器がホームサーバ及びクライアントＡＶ機器の両方の機能を有し、上述の能力交換プログラム等を利用して、自由にその機能を実行するようにしても勿論構わない。
【０２６７】
また、上述の実施形態においては、同一の番組の各分割コンテンツに対しては同一のコンテンツＩＤが付与されているが、各分割コンテンツの関連付けを行うことができ、またそれにより各分割コンテンツを合成することができさえすれば、コンテンツＩＤは必ずしも同一である必要はない。
【図面の簡単な説明】
【０２６８】
【図１】本発明の他の実施形態において前提となるシステムの構成を示した図である。
【図２】情報処理装置が備える情報処理コントローラの説明に供する図である。
【図３】ソフトウェアセルの一例を示す図である。
【図４】ＤＭＡコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示す図である。
【図５】複数の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図６】情報処理コントローラのソフトウェア構成の一例を示す図である。
【図７】４台の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図８】図７のシステムにおける分散処理の例を示す図である。
【図９】本発明のネットワークＡＶシステムの構成を示す図である。
【図１０】ホームサーバのハードウェア構成を示した図である。
【図１１】ホームサーバのソフトウェア構成を示した図である。
【図１２】クライアントＡＶ機器のハードウェア構成を示した図である。
【図１３】クライアントＡＶ機器のソフトウェア構成を示した図である。
【図１４】コンテンツ管理テーブルの例を示した図である。
【図１５】ＡＶ要求コマンドの詳細を示した図である。
【図１６】ＡＶ応答コマンドの詳細を示した図である。
【図１７】記録予約要求コマンドの具体例を示した図である。
【図１８】記録予約応答コマンドの具体例を示した図である。
【図１９】コンテンツ検索要求コマンドの具体例を示した図である。
【図２０】コンテンツ検索応答コマンドの具体例を示した図である。
【図２１】分割コンテンツを記録予約する場合の動作の概略を示したシーケンス図である。
【図２２】分割コンテンツを記録する場合の動作の概略を示したシーケンス図である。
【図２３】分割コンテンツの記録予約時及び記録時のクライアントＡＶ機器２００の動作の流れを示したフローチャートである。
【図２４】分割コンテンツの記録予約時及び記録時のホームサーバ１００の動作の流れを示したフローチャートである。
【図２５】分割コンテンツを合成する際のホームサーバ１００の動作の流れを示したフローチャートである。
【図２６】各分割コンテンツに重複する部分が存在する場合の合成処理方法を示した図である。
【図２７】暗号化された各分割コンテンツを復号する場合の動作の流れを示したフローチャートである。
【図２８】合成コンテンツを各クライアントＡＶ機器が再生する場合のクライアントＡＶ機器及びホームサーバ１００の動作の流れを示したシーケンス図である。
【図２９】合成コンテンツを再生する場合のクライアントＡＶ機器の動作を示したフローチャートである。
【図３０】合成コンテンツを公開する際のホームサーバ１００及びクライアントＡＶ機器の動作の流れを示したシーケンス図である。
【符号の説明】
【０２６９】
９…ネットワーク
２８…外部記憶部（ＨＤＤ、光ディスク）
３２…放送受信部
３３…映像入力部
３４…音声入力部
３５…映像出力部
３６…音声出力部
３７…操作入力部
４１…モニタ表示装置
１００…ホームサーバ
２００、３００、４００…クライアントＡＶ機器
【図１】
2006025307.tif 000003
【図２】
2006025307.tif 000004
【図３】
2006025307.tif 000005
【図４】
2006025307.tif 000006
【図５】
2006025307.tif 000007
【図６】
2006025307.tif 000008
【図７】
2006025307.tif 000009
【図８】
2006025307.tif 000010
【図９】
2006025307.tif 000011
【図１０】
2006025307.tif 000012
【図１１】
2006025307.tif 000013
【図１２】
2006025307.tif 000014
【図１３】
2006025307.tif 000015
【図１４】
2006025307.tif 000016
【図１５】
2006025307.tif 000017
【図１６】
2006025307.tif 000018
【図１７】
2006025307.tif 000019
【図１８】
2006025307.tif 000020
【図１９】
2006025307.tif 000021
【図２０】
2006025307.tif 000022
【図２１】
2006025307.tif 000023
【図２２】
2006025307.tif 000024
【図２３】
2006025307.tif 000025
【図２４】
2006025307.tif 000026
【図２５】
2006025307.tif 000027
【図２６】
2006025307.tif 000028
【図２７】
2006025307.tif 000029
【図２８】
2006025307.tif 000030
【図２９】
2006025307.tif 000031
【図３０】
2006025307.tif 000032