以下、この発明による放送番組コンテンツ管理配信システムおよび放送番組コンテンツ管理配信方法の実施形態を、図を参照しながら説明する。以下に説明する実施形態は、放送番組コンテンツが、デジタルテレビ放送の放送番組コンテンツの場合の例である。デジタルテレビ放送番組の記録は、以下の説明においては、録画と称する。
以下に説明する実施形態においては、図2に示すように、ユーザは、コンテンツ管理会社1に対して会員登録することにより会員ユーザ2となる。会員登録の際には、会員ユーザの氏名、電話番号、住所などの個人情報のほか、課金処理のための情報、例えば銀行口座、クレジットカード番号等が登録され、それらが、コンテンツ管理会社1が運営するサーバ装置1の会員情報管理メモリ101に格納されて、管理される。
そして、ユーザは、会員ユーザ2となると、コンテンツ管理会社1から、専用端末装置(以下、会員端末装置という)200の提供を、有償あるいは無料で受ける。この実施形態では、会員端末装置200に電源が投入されると、会員端末装置200は、後述する図1および図3に示すように、サーバ装置100に対して、ネットワーク3を通じて接続され、使用可能となる。
会員端末装置200は、コンテンツ格納部201とデジタル放送受信機部202とを備えている。デジタル放送受信機部202は、デジタルテレビ放送を受信する機能を備える。この例では、会員端末装置200は、デジタル放送受信機部202で受信した放送番組コンテンツを、コンテンツ格納部201に格納して録画することができる。
また、会員端末装置200は、タイマー機能を備え、放送番組コンテンツを、予約録画することができる機能を備えている。そして、会員端末装置200は、放送番組コンテンツをコンテンツ格納部201に格納して録画したときには、後述するように、当該録画をサーバ装置100にネットワーク3を通じて報告するように構成されている。この録画の報告は、予約録画のときのみではなく、リモコン送信機などを通じたユーザの録画指示による録画をしたときにも同様になされる。
コンテンツ格納部201には、デジタル放送受信機部202で受信した放送番組コンテンツの実体データ(以下、単に放送番組コンテンツデータという)と、当該コンテンツ格納部201に格納されている放送番組コンテンツに関する情報とが、合わせて格納されている。この放送番組コンテンツに関する情報としては、後述するように、コンテンツ識別情報(コンテンツID(Identification))に関連して、各放送番組コンテンツごとに、放送年月日、放送時間などの情報などが記憶される。
コンテンツ格納部201に格納される放送番組コンテンツデータは、この例では、暗号化されている。また、後述するように、会員端末装置200間で、P2P配信されるのは、暗号化されている放送番組コンテンツデータとされている。コンテンツ管理会社1から提供される専用会員端末装置200のみによって、この暗号化されたコンテンツデータがデコードできるようにされている。
サーバ装置100は、すべての会員端末装置200のコンテンツ格納部201に格納されている放送番組コンテンツのデータを、当該コンテンツのデータを格納する会員端末装置との対応と共に記憶して管理するコンテンツ所在管理メモリ部102を備える。すなわち、コンテンツ所在管理メモリ部102には、少なくとも、放送番組コンテンツの識別情報と、前記放送番組コンテンツのそれぞれがコンテンツ格納部201に格納されている前記会員端末装置の識別情報との対応が記憶される。
この実施形態では、会員端末装置200は、新たに放送番組コンテンツのデータをコンテンツ格納部201に格納したとき、また、コンテンツ格納部201から放送番組コンテンツのデータを削除したとき、そのことをサーバ装置100にネットワーク3を通じて通知する。サーバ装置100は、当該会員端末装置200からの通知に基づく会員端末装置200のコンテンツ格納部201の内容変化に対応して、コンテンツ所在管理メモリ部102の内容を更新するように構成されている。
上述したこの実施形態におけるコンテンツの管理の概要を、図1を参照して説明する。この実施形態では、図1に示すように、従来はサーバ装置が所持して管理するものとされるコンテンツ格納部は、複数個の会員端末装置200がそれぞれ備えるコンテンツ格納部をも利用するようにしている。
すなわち、サーバ装置側が必要とするコンテンツ格納のためのハードウエア資源を、この実施形態では、サーバに対するクライアントである会員端末装置200と共有するようにしている。そして、この実施形態では、図1にも示すように、サーバ装置100のコンテンツ所在管理メモリ部102は、すべての会員端末装置200のコンテンツ格納部201を管理するので、それらのすべての会員端末装置のコンテンツ格納部201を、共有領域300内のものとして管理している。図1の例では、サーバ装置100もコンテンツ格納部104を備え、そのコンテンツ格納部104も共有領域300内のものとして、コンテンツ所在管理メモリ部102により管理している。
この実施形態では、このようなサーバ装置100によって、複数個の会員端末装置200のコンテンツ格納部201のすべてを共有領域内のものとして管理するようにしているので、当該共有領域内におけるコンテンツの移動をサーバ装置100が容易に管理することができ、それらのコンテンツに対する著作権保護を適切に行なうことができる。
なお、この実施形態では、会員端末装置200のコンテンツ格納部201は、図2に示すように、共有利用エリアと、非共有利用エリアとに分割設定可能とされている。共有利用エリアは、コンテンツ管理会社1のサーバ装置100により管理される共有領域300内となるメモリエリアである。非共有利用エリアは、会員ユーザ2が個人的に自由に利用可能なメモリエリアであり、この非共有利用エリアは、コンテンツ管理会社1のサーバ装置100による管理領域である共有領域300からは除外されている。
非共有利用エリアは、コンテンツ格納部201において、後述する会員端末装置200間でのコンテンツ交換などを行なう共有領域から除外されているため、著作権保護を必要とせず、会員ユーザが自由に使用できる領域とすることができ、便利である。
以上のようにして、この実施形態では、サーバ装置100は、共有領域300内に在る複数個の会員端末装置200のコンテンツ格納部201に格納されている放送番組コンテンツのデータを管理している。このことを利用して、この実施形態では、サーバ装置100は、過去に放送された放送番組コンテンツのうち、共有領域300内の会員端末装置200のコンテンツ格納部201に保存されている放送番組コンテンツの一覧を、会員端末装置200を通して会員ユーザに示すことができる。
そこで、会員ユーザは、この過去の放送番組コンテンツであって、共有領域300にある視聴可能な放送番組コンテンツを、サーバ装置に視聴要求(転送依頼)することにより、当該過去の放送番組コンテンツを視聴することが可能になる。この場合に、この実施形態では、サーバ装置100は、転送依頼された放送番組コンテンツのデータを、当該コンテンツデータを所有する会員端末装置200から吸い上げて、転送依頼してきた会員端末装置200に転送するのではなく、前記転送依頼された放送番組コンテンツを所有する会員端末装置200から、転送依頼を行なった会員端末装置200にP2P配信させるようにする。
また、この実施形態では、会員端末装置200は、将来、共有領域300内のコンテンツ格納部201に格納されるであろう放送番組コンテンツのデータの転送を予約依頼(以下、これを転送予約依頼という)をすることができるようにされている。つまり、会員端末装置200は、録画予約した時刻と同じ時刻帯に他にも録画予約したい放送番組があったときに、サーバ装置100にその放送番組コンテンツの転送予約依頼をしておくことができる。この転送予約依頼は、放送時間帯が一部または全部が重複する複数の放送番組についても行なうことができる。
会員端末装置200は、上述したように、サーバ装置100に対して放送番組コンテンツの録画について報告するようにするので、サーバ装置100は、この報告により、転送予約依頼された放送番組コンテンツが共有領域に格納されたことを確認することができる。そして、転送予約依頼された放送番組コンテンツが共有領域に格納されたことを確認したら、サーバ装置100は、転送予約依頼された放送番組コンテンツを所有する会員端末装置200に、転送予約依頼をした会員端末装置200に、当該放送番組コンテンツのデータをP2P配信するようにする制御信号を送って、P2P配信をさせるようにする。
この場合に、将来、録画されて共有領域300に格納されることを期待して転送予約依頼する場合には、当該転送予約依頼した放送番組コンテンツが録画されず、このため、転送予約依頼に対応した当該放送番組コンテンツの転送配信が不可となってしまう場合も生じる。
そこで、この実施形態では、サーバ装置100は、会員端末装置200における予約録画を認知できるように構成する。すなわち、この実施形態では、後述するように、会員端末装置200における録画予約の設定は、サーバ装置100を通じて行なうように構成する。
なお、サーバ装置が、会員端末装置200における予約録画を認知できるように構成としては、録画予約をサーバ装置100を通じて行なうのではなく、会員端末装置200で録画予約設定がなされたときに、当該録画予約設定情報を、サーバ装置100に報告させるようにしてもよい。
このようにすれば、サーバ装置100は、会員端末装置200から転送予約依頼があったときに、他の会員端末装置200における録画予約設定情報を参照し、転送予約依頼された放送番組コンテンツが他の会員端末装置200で録画予約されているかどうかを確認することができる。
そして、サーバ装置100は、会員端末装置200から転送予約依頼があったときに、転送予約依頼された放送番組コンテンツが他の会員端末装置200で録画予約されていると判別したときには、当該転送予約依頼をそのまま受け付けることできる。
しかし、会員端末装置200から転送予約依頼があったときに、転送予約依頼された放送番組コンテンツが他の会員端末装置200で録画予約されていないと判別したときには、サーバ装置は、この実施形態では転送予約依頼をしてきた会員端末装置200で、放送時間帯が一部または全部重複する放送番組の録画予約設定がなされていないかどうかを判別し、そのような録画予約設定がなければ、当該会員端末装置200に録画予約設定をさせるように制御する。
この場合において、転送予約依頼をしてきた会員端末装置200に録画予約設定をさせるように制御するのではなく、サーバ装置100に録画予約機能を備えておき、サーバ装置100で、転送予約依頼された放送番組コンテンツを予約録画し、サーバ装置が、当該予約録画した放送番組コンテンツをダウンロードにより配信するようにしてもよい。
また、転送予約依頼をしてきた会員端末装置200で、時刻帯を重複する録画予約があると判別したときには、サーバ装置は、この実施形態では、他の適当な会員端末装置を選択して、当該選択した会員端末装置200に、転送予約依頼された放送番組コンテンツの録画予約設定をするように制御する。
なお、この場合にも、他の会員端末装置200に録画予約設定をさせるように制御するのではなく、サーバ装置100に録画予約機能を備えておき、サーバ装置100で、転送予約依頼された放送番組コンテンツを録画予約するようにしてもよい。
以上のようにすることにより、転送予約依頼された放送番組コンテンツのデータは、確実に予約録画されることになり、予約録画が他の会員端末装置によりなされたときその報告を受けたサーバ装置100が、その後、当該他の会員端末装置200に、転送予約依頼した会員端末装置200にP2P配信するように制御信号を送ることにより、転送予約依頼された放送番組コンテンツの転送が確実に実行される。
なお、転送予約依頼したコンテンツを自端末で予約録画したときには、その録画完了をユーザに知らせることで、ユーザは、当該転送予約依頼したコンテンツが再生可能になったことを知ることができる。また、サーバ装置100が録画予約をして、転送予約依頼された放送番組コンテンツを録画したときには、その録画終了後、当該放送番組コンテンツのデータを転送予約依頼した会員端末装置にダウンロードするようにすればよい。
なお、会員端末装置200が他の会員端末装置200からのP2P配信を受けたときの、受信側の会員端末装置200での受信態様としては、受信した放送番組コンテンツデータをそのままリアルタイム再生する態様と、受信した放送番組コンテンツデータを一旦コンテンツ格納部201に格納し、後のユーザの再生指示を待って再生するようにする態様とがある。この実施形態では、後述するように、過去の放送番組コンテンツの転送依頼の時にのみ、リアルタイム再生する態様を取ることができるようにしている。
これは、未来の放送番組コンテンツデータの配信の場合には、当該放送番組の放送後の、どの時点で配信が行なわれるかは、サーバ装置100に任されることとなり、会員端末装置200では、その時刻を知ることができないが、過去の放送番組コンテンツの転送依頼の時には、P2P配信させようとする会員端末装置200の状態を管理することにより、即座にP2P配信をすることもできるからである。
もっとも、転送予約依頼の場合に、転送予約時刻をサーバ装置に設定することができるようにすれば、未来の放送番組コンテンツの転送予約依頼に基づくP2P配信の際にも、リアルタイム再生をすることは可能である。
ある会員端末装置200から放送番組コンテンツの転送依頼および転送予約依頼を受けたサーバ装置が、他の会員端末装置200に対して配信送信指示制御を送信し、当該配信送信指示制御を受けた他の会員端末装置200がP2P配信する仕組みの概要について、図3を参照して、説明する。
会員端末装置200Aは、コンテンツ管理会社1のサーバ装置100から提供される過去の放送番組コンテンツの一覧あるいは未来の放送番組コンテンツの一覧から転送を希望する、あるいは転送を予約する放送番組コンテンツを選択し、当該選択した放送番組コンテンツの転送配信依頼をネットワーク3を通じてサーバ装置100に送る。
サーバ装置100は、この放送番組コンテンツの転送依頼を受け取ると、それが過去の放送番組コンテンツであるときには、次のようにする。
すなわち、先ず、コンテンツ所在管理メモリ部102を検索して、転送依頼されたコンテンツがどの会員端末装置にあるかを検知する。転送依頼されたコンテンツを所有する端末が複数検知されたときには、例えばランダムに一つの会員端末装置が選択される。あるいは、データ品質の良いコンテンツデータを格納している会員端末装置が選択される。図3の例では、転送依頼されたコンテンツが会員端末装置200Bに在ったとする。なお、これに先立ち、会員端末装置200は、サーバ装置100に対して放送番組コンテンツの録画について報告をしており、サーバ装置100は、この報告に基づいてコンテンツ所在管理メモリ部102の記憶内容を更新している。
次に、サーバ装置100は、転送依頼された放送番組コンテンツを所有する当該会員端末装置200Bに、転送依頼された放送番組コンテンツを、会員端末装置200Aに送るようにすることを指示内容とするコンテンツ配信送信指示制御信号を、ネットワーク3を通じて送る。
このコンテンツ配信送信指示制御信号を受け取った会員端末装置200Bは、当該コンテンツ配信送信指示制御信号に基づき、自己のコンテンツ格納部201から転送依頼された放送番組コンテンツデータを読み出し、会員端末装置200Aに送信する。
会員端末装置200Aは、会員端末装置200Bから送信されてきた転送依頼した放送番組コンテンツデータを受け取り、そのままストリーミング再生する、あるいは、自己のコンテンツ格納部201に格納し、ユーザの指示により読み出して再生する。
そして、この実施形態では、会員端末装置200Bは、会員端末装置200Aへのコンテンツデータの送信の完了を確認すると、当該コンテンツ送信完了を会員端末装置200に通知すると共に、サーバ装置100にネットワーク3を通じて通知する。
この通知を受け取ったサーバ装置100は、会員端末装置200Aを所有する会員に対して当該コンテンツの配信についての課金処理を行なうと共に、会員端末装置200Bを所有する会員に対しては、コンテンツ配信の手数料を還元する。
以上のように、この実施形態では、コンテンツの配信に対して課金することは従来と同様であるが、コンテンツの配信が、会員端末装置から行なわれる場合には、当該配信を行なった会員端末装置を所有する会員に、その配信の手数料を還元するようにすることにより、実質的なコンテンツ配信に対する課金の料金を低廉化することが可能になる。
また、会員端末装置200Aにおいてストリーミング再生されることなく、当該会員端末装置200Aのコンテンツ格納部201に転送依頼されたコンテンツデータが格納された場合には、サーバ装置100は、コンテンツ所在情報の変動を、コンテンツ所在管理メモリ部102に反映させるように、当該コンテンツ所在管理メモリ部102の内容を更新する。
なお、以上の説明では、コンテンツの配信送信指示制御を受けた会員端末装置200Bが送信完了をサーバ装置100に送ることにより、コンテンツ配信の完了をサーバ装置100に通知するようにしたが、コンテンツ配信依頼をした会員端末装置200Aが、当該配信依頼をしたコンテンツデータの受信完了をサーバ装置100に通知することにより、コンテンツ配信の完了をサーバ装置100に通知するようにしてもよい。会員端末装置200Bからの送信完了通知と、会員端末装置200Aからの受信完了通知の両方を受信したときに、サーバ装置100がコンテンツ配信の完了を認識するようにしても良い。
また、サーバ装置100は、会員端末装置200Aから、未来の放送番組コンテンツの転送予約依頼を受け取った場合には、会員端末装置200Bからの当該放送番組コンテンツの録画報告を待って、上述と同様にして、会員端末装置200Aを配信の宛先とする配信送信指示制御信号を、会員端末装置200Bに対して送信する。その後の処理動作は、上述の場合と同様である。
ところで、放送番組コンテンツを予約録画して、また、転送依頼や転送予約依頼して、放送番組コンテンツをコンテンツ格納部201に格納した会員端末装置200においては、そのままでは、コンテンツデータがコンテンツ格納部201に多量に蓄積されてしまうことになるので、適宜、コンテンツデータを削除する方がよい。
一般的には、上述のように、予約録画したり、転送依頼や転送予約依頼したりして取得した放送番組コンテンツは、ユーザは、所定期間の間に、例えばコンテンツ取得(コンテンツ格納部201への格納)から2週間の間に、再生すると考えられる。そこで、この例では、コンテンツ取得から2週間経過した放送番組コンテンツデータについては、適宜、削除するようにする。
ただし、この実施形態においては、事故や端末の故障等によりコンテンツデータが消失しまうことを考慮して、共有領域300においては、同一の放送番組コンテンツのデータが、必ず複数個、例えば3個以上、確保されるようにサーバ装置100が管理するようにする。このため、会員端末装置200は、コンテンツデータの削除の際には、サーバ装置100に必ず、削除OKであるか否かを問い合わせて、サーバ装置から削除許可が得られたコンテンツデータのみを削除するようにする。サーバ装置100は、共有領域300内に、同一の放送番組コンテンツのデータが、少なくとも複数個、この例では3個以上格納されているか否かを判別し、その結果に応じて削除許可または不許可を決定する。
次に、この発明による放送番組コンテンツ管理配信システムの実施形態の構成を、より詳細に説明する。
[サーバ装置のハードウエア構成例]
図4は、サーバ装置100のハードウエア構成の例を示すブロック図であり、この実施形態では、パーソナルコンピュータからなる構成とされている。すなわち、図4に示すように、サーバ装置100は、CPU110に対して、システムバス111を介してプログラムROM(Read Only Memory)112と、ワークエリアRAM(Random Access Memory)113と、通信インターフェース部114と、会員情報管理メモリ部101と、コンテンツ所在管理メモリ部102と、会員端末装置情報管理メモリ部103と、コンテンツ格納部104と、予約管理メモリ部105と、電子番組表(EPG(Electronic Programming Guide))作成部106とが接続されて構成されている。
ROM112には、後述するようなサーバ装置100が実行すべきソフトウエア処理のためのプログラムが記憶されている。もちろん、サーバ装置100のプログラムはROM112に限らず、書き換えが可能なハードディスクドライブ(HDD)や不揮発性メモリに記憶するようにしても良い。
通信インターフェース114は、ネットワーク3に接続されており、サーバ装置100と、会員端末装置200との間でのデータのやり取りを行なうために用いられる。この例では、通信インターフェース114は、パケットデータである通信データについてのパケット分解/パケット生成の機能を備える。
会員情報管理メモリ部101は、前述したように、会員の個人情報の他、会員に対する課金処理のための情報などの会員ユーザについての管理情報を記憶する。図5に、この会員情報管理メモリ部101の記憶内容の例を示す。
すなわち、図5に示すように、この会員情報管理メモリ部101には、各会員ごとの情報として、氏名、住所、年齢などの会員の個人情報と、会員に対する課金の決済処理のための情報と、会員端末装置200の識別情報(以下、会員端末装置IDという)などを記憶する。
コンテンツ所在管理メモリ部102は、前述したように、サーバ装置100に接続されるすべての会員端末装置200に格納されている放送番組コンテンツに関する、コンテンツ所在情報を記憶している。すなわち、放送番組コンテンツの識別情報および放送番組コンテンツ名等を含む放送番組コンテンツに関する情報と、当該放送番組コンテンツの識別情報で識別される放送番組コンテンツのデータが格納されている場所(コンテンツ所在地)との対応情報が、コンテンツ所在情報としてコンテンツ所在管理メモリ部102に記憶されている。
前記コンテンツ所在地としては、放送番組コンテンツのデータが格納されている会員端末装置200の会員端末装置識別情報(以下、会員端末装置IDという)またはサーバ内コンテンツ格納部104を示す識別情報(例えばサーバ装置識別情報(サーバ装置ID))が記憶される。
図6に、このコンテンツ所在管理メモリ部102の記憶内容の一例を示す。この図6の例においては、コンテンツ所在管理メモリ部102には、一つの放送番組コンテンツ当たりの情報として、放送番組コンテンツの識別子情報(コンテンツ識別情報(以下、コンテンツIDという))に対して、放送番組名、放送年月日、放送地域、放送局、番組情報(ジャンル、出演者など)、番組開始時間、番組終了時間、記録フォーマット、当該放送番組コンテンツデータの削除OKフラグ、当該放送番組コンテンツデータを保持する会員端末装置台数、当該放送番組コンテンツデータを保持する会員端末装置の会員端末装置ID(当該放送番組コンテンツを保持する会員端末装置台数分)、などが記憶されている。
データ削除OKフラグは、初期的には、削除不可を意味するオフとされており、会員ユーザが削除指示をしたときに、削除可を意味するオンに変更される。
また、この実施形態では、当該放送番組コンテンツデータを保持する会員端末装置の会員端末装置IDには、当該会員端末装置IDで示される会員端末装置200に格納されている当該放送番組コンテンツデータのエラー率が付加されて記憶されている。このエラー率は、後述するように、会員端末装置200からの録画報告の際にサーバ装置100に通知されるもので、録画時における受信データのエラー率を示すものである。
デジタル放送信号には、エラー検出用符号が付加されており、デジタル放送受信機部では、このエラー検出用符号により受信データについてのエラー検出ができ、当該検出されたエラー数により受信データのエラー率が測定される。この受信データのエラー率により、記憶されている放送番組コンテンツデータのデータ品質が示される。
会員端末装置情報管理メモリ部103は、サーバ装置100に接続される会員端末装置200のそれぞれの電源状態や、コンテンツ配信履歴(コンテンツ配信受信履歴とコンテンツ配信送信履歴とがある)を記憶することができる。図7は、会員端末装置情報管理メモリ部103の記憶内容の一例を示すものである。
すなわち、この会員端末装置情報管理メモリ部103には、一つの会員端末装置当たりについて、会員端末装置IDと、電源状態と、配信送信履歴と、配信受信履歴と、ネットワーク3上のアドレスなどが記憶される。
ここで、会員端末装置200の電源状態としては、この実施の形態では、電源オン、電源オフ、電源休止(サスペンド)の3状態で管理する。ただし、会員端末装置200が電源コンセントに接続されていないときには、電源状態は使用不可とする。
配信送信履歴は、当該会員端末装置200が、サーバ装置100からのコンテンツ配信送信指示に従って他の会員端末装置200にコンテンツ配信送信を行なった履歴である。この配信送信履歴の情報は、前述したように、当該会員端末装置IDで示される会員端末装置に対して、他の会員端末装置へコンテンツ配信送信をしたときの手数料を還元する際に使用される。また、配信受信履歴は、当該会員端末装置200が、サーバ装置100にコンテンツ配信依頼を行なった結果として、依頼したコンテンツを受信した履歴である。
コンテンツ格納部104は、例えばハードディスクドライブにより構成され、これには、主として、新たに共有領域300に提供する放送番組コンテンツのデータおよびその関連情報が格納される。前述したように、この実施形態では、コンテンツ格納部としてのハードウエア資源は、会員端末装置200と共有するようにするので、このサーバ装置100のコンテンツ格納部104には、共有領域300に存在すべきすべてのコンテンツのデータを格納しておく必要はなく、必要最小限のコンテンツデータおよびその関連情報が記憶される。
予約管理メモリ部105には、図8に示すように、会員端末装置200からの録画予約情報や、転送予約依頼の情報、予約配信待ち行列などが記憶される。
録画予約は、この実施形態では、後述するように、サーバ装置100を通じてなされる。録画予約情報としては、コンテンツIDで示される放送番組コンテンツを対象として録画予約が設定された会員端末装置200の台数と、当該録画予約設定した会員端末装置の会員端末装置ID(台数分)とが記憶される。
転送予約依頼の情報としては、サーバ装置100に当該コンテンツIDで示される放送番組コンテンツを対象として転送予約依頼が送出されてきた会員端末装置200の台数と、当該転送予約依頼を送出した会員端末装置の会員端末装置ID(台数分)とが記憶される。
予約配信待ち行列は、当該コンテンツIDで示される放送番組コンテンツを、転送依頼あるいは転送予約依頼してきた会員端末装置200にP2P配信するための待ち行列であり、配信を受ける会員端末装置の会員端末装置IDが記憶される。放送番組コンテンツが過去の放送番組コンテンツであるときには、この予約配信待ち行列のみとなる場合がある。
予約配信待ち行列に含まれる会員端末装置は、過去の放送番組コンテンツについて転送依頼した会員端末装置のみではない。転送予約依頼した放送番組コンテンツの録画が終了したら、当該録画が終了した会員端末装置200からの配信を受ける転送予約依頼した会員端末装置の会員端末装置IDが、この予約配信待ち行列に記憶される。なお、この実施形態の説明においては、転送依頼に基づく配信待ち行列と、転送予約依頼に基づく配信待ち行列は、一つの待ち行列として扱うようにしているが、それぞれ別々に管理するようにしても良い。
この予約配信待ち行列においては、その一番上にある会員端末装置IDで示される会員端末装置200へのP2P配信が最優先となり、そして、その一番上にある会員端末装置IDで示される会員端末装置200へのP2P配信が完了すると、それが削除されると共に、順次に上詰される。また、新たに、発生したP2P配信依頼は、予約配信待ち行列の一番最後尾に書き込まれる。
次に、電子番組表作成部106は、この実施形態では、例えばネットワーク3を通じて所定のURL(Uniform Resource Locator)のサーバから取得したEPGのデータから、会員端末装置200に提供する過去の放送番組コンテンツの電子番組表および未来の放送番組コンテンツの電子番組表を作成する。この場合に、この実施形態の電子番組表作成部106は、会員端末装置情報管理メモリ103の会員端末装置200の電源状態や予約管理メモリ105の情報を参照して、予約状況や即座に配信可能かどうかなどの情報をも反映させるようにしている。
[会員端末装置のハードウエア構成例]
図9は、会員端末装置200のハードウエア構成の例を示すブロック図であり、この実施形態では、パーソナルコンピュータからなる構成とされている。また、図9の例の会員端末装置200は、コンテンツとして放送番組コンテンツを想定した場合である。
すなわち、図9に示すように、会員端末装置200は、CPU210に対して、システムバス211を介してプログラムROM212と、ワークエリアRAM213と、通信インターフェース部214と、I/Oポート215と、コンテンツ格納部201と、デジタル放送受信機部202と、暗号化デコード部203と、コンテンツデコード部204と、ディスプレイコントローラ205と、キー入力インターフェース206と、リモコン受信部207と、タイマー部208と、暗号化エンコード部209と、サブプロセッサ230とが接続されて構成されている。
コンテンツ格納部201は、例えばハードディスクドライブから構成され、予め共有利用エリアと、非共有利用エリアとに、その書き込みエリアが分離される。会員ユーザの希望により、コンテンツ格納部201のエリアを共有利用エリアのみとすることもできる。
暗号化デコード部203は、コンテンツ格納部201の共有利用エリアに格納されているコンテンツデータに施されている暗号を解凍デコードするためのものである。コンテンツ格納部201の共有利用エリアに格納されているコンテンツデータは、この暗号化により、共有領域300外に持ち出されたとしても、再生が困難とされている。
コンテンツデコード部204は、暗号が解凍デコードされた放送番組コンテンツデータをデコードして、デジタルビデオデータおよびデジタルオーディオデータを復元する。
そして、コンテンツデコード部204でデコードされたデジタルビデオデータおよびデジタルオーディオデータは、それぞれI/Oポート215を通じてD/A変換器221および222に供給される。そして、D/A変換器221および222からのアナログビデオ信号およびアナログオーディオ信号は、アンプ223および224を通じて、モニター装置225に供給されて、画像再生されると共に音響再生される。
ディスプレイコントローラ205には、例えばLCD(Liquid Crystal Display)からなるディスプレイ226が接続されている。
キー入力インターフェース部206は、これに接続されるキー入力操作部227を通じたユーザからのキー入力操作を受け付け、システムバス211を通じてCPU210に通知する。
また、リモコン受信部207は、リモコン送信機228からのユーザ操作に応じたリモコン信号を受信して、システムバス211を通じてCPU210に通知する。キー入力操作部227およびリモコン送信機228は、後述するコンテンツ配信依頼や、コンテンツ再生指示などを行なうときに、ユーザにより操作入力される。
デジタル放送受信機部202は、前述したように、この実施形態では、デジタルテレビ放送を受信するためのものである。キー入力操作部227やリモコン送信機228を通じた会員ユーザの番組選択操作に応じた選局制御信号が、このデジタル放送受信機部202に供給されて、当該選択操作により選択された放送番組が受信される。
また、この実施形態では、キー入力操作部227やリモコン送信機228を通じた会員ユーザの録画操作により、このデジタル放送受信機部202で受信された放送番組コンテンツのデータがコンテンツ格納部201に書き込まれるが、この際に、デジタル放送受信機部202からの放送番組のコンテンツデータは暗号化エンコード部209により暗号化された後、コンテンツ格納部201に書き込まれる。この暗号化は、前述したように、暗号化デコード部203で解凍される。
さらに、この実施形態では、サーバ装置100からの予約録画制御信号により、会員端末装置200において、録画予約設定がなされる。そして、タイマー部208での時間監視の結果、録画予約設定された時刻になると、デジタル放送受信機部202に設定された放送番組を選択するための選局制御信号が供給され、当該放送番組のコンテンツデータがコンテンツ格納部201に格納される。このときコンテンツ格納部201には、放送番組コンテンツのデータのみではなく、その関連情報が記憶される。
図10は、コンテンツ格納部201の記憶内容の一例を示す図である。この図10の例においては、コンテンツ格納部201には、一つの放送番組コンテンツ当たりの情報として、コンテンツIDに対して、放送番組名、放送年月日、放送地域、放送局、番組情報(ジャンル、出演者など)、番組開始時間、番組終了時間、記録フォーマット、録画時のデータ品質を表すためのデータ(データ受信時のエラー率のデータ)、当該放送番組コンテンツデータの削除OKフラグなどと、当該放送番組コンテンツデータが記憶されている。
データ削除OKフラグは、初期的には、削除不可を意味するオフとされており、会員ユーザが削除指示をしたときに、削除可を意味するオンに変更される。
データ受信時のエラー率のデータは、後述するように、会員端末装置200での録画時において、デジタル放送受信機部202での受信データのエラー率を示すものである。このエラー率のデータは、デジタル放送受信機部202から得られる。これにより、コンテンツ格納部201に記憶されている放送番組コンテンツデータのデータ品質が示される。
この例の会員端末装置200は、電源操作スイッチとして、主電源スイッチと、常用電源スイッチとを備えている。主電源スイッチは、主電源のオン・オフを制御するもので、キー入力操作部227にのみ備えられ、リモコン送信機228には備えられていない。また、常用電源スイッチは、主電源がオンとなっているときにのみ有効となるもので、電源オンの状態と、サスペンドモードの状態とを切り換える。この常用電源スイッチは、リモコン送信機228にのみ、設けられている。なお、常用電源スイッチは、例えば、押下操作するごとに、オンとオフを繰り返す、いわゆるトグルタイプのスイッチとされる。
サスペンドモードは、省電力モードであり、この例では、このサスペンドモードの時には、電源回路231からは、図9に示すように、通信インターフェース214と、キー入力インターフェース206と、リモコン受信部207と、サブプロセッサ230とにのみ電源電圧が供給されている。
サブプロセッサ230は、サスペンド状態にある会員端末装置200を、常用電源スイッチ操作により電源オンに移行させる、あるいは、サーバ装置100からの制御により、電源オンに移行させる(これをウエイクアップと称する)ようにする。通信インターフェース214に電源が供給されるのは、サーバ装置100からの制御により、サスペンドモードにある会員端末装置200をウエイクアップさせるためである。
後述するように、サブプロセッサ230は、サスペンドモードにおいてリモコン受信部207を通じて常用電源スイッチの入力操作があると、電源回路231を制御して会員端末装置200のすべての部分に電源を供給するようにすると共に、CPU210を動作状態に呼び起こす。
また、サブプロセッサ230は、会員端末装置200がサスペンドモードにおいて、ネットワーク3を通じたサーバ装置100からの制御信号を受けたときには、電源回路231を制御して会員端末装置200のすべての部分に電源を供給するようにすると共に、CPU210を起動させて、ウエイクアップする。
[コンテンツ管理システムの動作説明]
<会員登録時の処理手順>
図11に、会員登録時の手順を示す。先ず、会員になろうとするユーザは、コンテンツ提供会社と会員契約をする(手順S1)。この会員契約の際には、会員となるユーザの氏名、住所などのユーザを特定するための情報の他、前述したような課金処理のための銀行口座やクレジット番号等の情報が収集される。そして、それらの情報を、例えばサーバ装置100のRAM113に保持しておく。会員となったユーザには、サーバ装置100に接続するときに入力する必要があるユーザIDとパスワードが渡される。
この会員契約が完了すると、コンテンツ提供会社は、会員ユーザに提供する会員端末装置200を用意し、当該会員端末装置200のコンテンツ格納部201の書き込み領域を、共有利用エリアと、非共有利用エリアとに分ける(手順S2)。なお、会員ユーザが希望する場合には、コンテンツ格納部201の書き込み領域のすべてを共有利用エリアとするようにすることもできる。
次に、コンテンツ提供会社は、以上のようにして、会員端末装置200を、会員ユーザに、郵送によりあるいは手渡しなどにより実際に提供する(手順S3)。
会員端末装置200の提供を受けた会員ユーザは、例えば自宅において、当該会員端末装置200の主電源をオンにして、使用を開始するようにする。すると、会員端末装置200のCPU210は、サーバ装置100にネットワークを通じて接続のアクセス処理を実行する(手順S4)。この実施形態では、会員端末装置200は、主電源が投入されている間(電源オンの状態とサスペンドモードの状態とを含む)は、サーバ装置100に常時接続されている。なお、この例においては、ネットワークを通じた通信料金は、例えば月単位の一定料金とされるが、これに限られるものではない。
コンテンツ提供会社のサーバ装置100は、当該会員端末装置200がネットワークを通じて初めてサーバ装置100に接続されたことを確認すると(手順S5)、RAM113に保持していた会員となるユーザの氏名、住所などのユーザを特定するための情報の他、前述したような課金処理のための銀行口座やクレジット番号等の情報をサーバ装置100の会員情報管理メモリ部101に格納して、会員情報の登録をする(手順7)。
以上により、会員登録のすべての処理が完了する。すなわち、この実施形態では、契約した後の、会員端末装置200からのサーバ装置100への最初のアクセスにより、会員登録が完了する。
<会員端末装置200における電源状態管理の説明>
図12は、この実施形態における会員端末装置200における電源状態の遷移を示す図である。
前述したように、この実施形態の会員端末装置200は、電源オフ状態から、入力操作部227の主電源スイッチを通じた主電源オン操作入力があったときには、電源オンの状態となり、自動的にサーバ装置100にアクセスして、ネットワーク3を通じてサーバ装置100と接続される状態になる。このとき、サーバ装置100は、会員端末装置200が接続要求してきたことにより電源オンの状態になったことを認識し、前述の図7に示した会員端末装置情報管理メモリ部103の対応する会員端末装置200の管理エリアの電源状態として、電源オン状態を書き込む。また、このとき、サーバ装置100は、当該会員端末装置200は、電源オン状態であるので、使用可能状態にあると認識する。
なお、入力操作部227の主電源スイッチを操作して、電源オンにしたときと、サスペンド状態から、リモコン送信機228の常用電源スイッチを操作して電源オンにした状態とは、会員端末装置200においては、同一の電源状態(電源オンという)になっている。
電源オン状態において、キー入力操作部225を通じた電源オフ操作入力があると、会員端末装置200は、サーバ装置100の許可を得た後、電源オフの状態に遷移することができる。
サーバ装置100は、電源オン状態から電源オフ状態への許可要求が会員端末装置200から到来したときには、当該許可要求してきた会員端末装置200が格納している放送番組コンテンツを他の会員端末装置200が要求しているか否かを判別し、要求していると判別したときには、電源オン状態から電源オフ状態への移行を許可しない。
そして、サーバ装置100は、前記許可要求してきた会員端末装置200が格納している放送番組コンテンツを他の会員端末装置が要求していないと判断して、電源オン状態から電源オフ状態への移行を許可したときには、前述の図7に示した会員端末装置情報管理メモリ部103の当該会員端末装置200の管理エリアの電源状態を、電源オン状態から電源オフ状態に書き換える。
この実施形態では、サーバ装置100は、電源オフ状態では、会員端末装置200は、使用不可の状態にあると認識する。
なお、前述の電源オフの状態からキー入力操作部227の主電源スイッチを通じた電源オン操作入力があったときには、会員端末装置200は、サーバ装置100の許可を得ずに、電源オンの状態に遷移することができる。
また、電源オンの状態において、リモコン送信機228の常用電源スイッチによる電源休止操作(ユーザにとっては、電源オフ操作であるが、上述の主電源のオフとの混同を避けるため、この明細書では、電源休止操作ということにする)がなされると、会員端末装置200は、サーバ装置100の許可を得た後、サスペンドの状態に遷移することができる。
サーバ装置100は、電源オン状態からサスペンド状態への許可要求が会員端末装置200から到来したときには、当該許可要求してきた会員端末装置200が格納しているコンテンツを他の会員端末装置200が要求しているか否かを判別し、要求していると判別したときには、電源オン状態からサスペンド状態への移行を許可しない。
そして、サーバ装置100は、前記許可要求してきた会員端末装置200が格納しているコンテンツを他の会員端末装置200が要求していないと判断して、電源オン状態からサスペンド状態への移行を許可したときには、前述の図7に示した会員端末装置情報管理メモリ部103の当該会員端末装置200の管理エリアの電源状態を、電源オン状態からサスペンド状態に書き換える。
この実施形態では、サーバ装置100は、サスペンド状態では、会員端末装置200は、使用可の状態にあると認識する。そして、この実施形態では、後述するように、このサスペンド状態にある会員端末装置200へは、サーバ装置100から他の会員端末装置200からのコンテンツ配信依頼に基づくコンテンツ配信送信指示制御信号を送ることができるようにしている。
すなわち、この実施形態では、サーバ装置100は、サスペンド状態にある会員端末装置200へは、ウエイクアップ指示(電源オン要求)を送って、当該会員端末装置200を電源オン状態に移行させた後に、コンテンツ配信送信指示制御信号を送るようにする。そして、サーバ装置100は、会員端末装置200が電源オンの状態に移行したら、会員端末装置情報管理メモリ部103の当該会員端末装置200の管理エリアの電源状態を、サスペンド状態から電源オン状態に書き換える。
サスペンド状態において、リモコン送信機228の常用電源スイッチを通じた電源オン操作入力があると、会員端末装置200は、電源オンの状態に遷移することができる。このとき、会員端末装置200は、電源オンに遷移したことをサーバ装置100に通知する。
また、サスペンド状態において、キー入力操作部227の主電源スイッチを通じた電源オフ操作入力があると、会員端末装置200は、サーバ装置100の許可を得た後、電源オフの状態に遷移することができる。サーバ装置100は、サスペンド状態から電源オフ状態への許可要求が会員端末装置200から到来したときには、当該許可要求してきた会員端末装置が格納しているコンテンツを他の会員端末装置200が要求しているか否かを判別し、要求していると判別したときには、サスペンド状態から電源オフ状態への移行を許可しない。
そして、サーバ装置100は、前記許可要求してきた会員端末装置200が格納しているコンテンツを他の会員端末装置が要求していないと判断して、サスペンド状態から電源オフ状態への移行を許可したときには、前述の図7に示した会員端末装置情報管理メモリ部103の当該会員端末装置200の管理エリアの電源状態を、サスペンド状態から電源オフ状態に書き換える。
また、この実施形態では、会員端末装置200は、所定のキー入力操作あるいはリモコン送信機226における所定の操作入力により、電源オフ状態からサスペンド状態に移行することができる。このときには、会員端末装置200は、一旦電源オンの状態になり、サーバ装置100に接続アクセスし、その接続アクセスが正常になされたことを確認した後、サスペンド状態での接続であることをサーバ装置100に通知し、その後、サスペンド状態になる。サーバ装置100は、前記サスペンド状態での接続である通知により、会員端末装置情報管理メモリ部103の当該会員端末装置200の管理エリアの電源状態を、サスペンド状態に書き換える。
なお、後述もするように、この実施形態では、会員端末装置200の電源プラグが、電源コンセントから引き抜かれたときのことを考慮して、サーバ装置100は、適宜のタイミングで、会員端末装置200に対してチェックのアクセスを行なうようにしている。
そして、サーバ装置100は、当該チェックのアクセスに対する会員端末装置200からの応答の有無を検出し、その検出結果により、応答が無いときには、会員端末装置情報管理メモリ部103の当該会員端末装置200の管理エリアの電源状態が、電源オン状態あるいはサスペンド状態であったとしても、会員端末装置200が使用不可になったと認識し、当該管理エリアの電源状態を使用不可状態に書き換える。
<会員端末装置200の処理動作>
次に、会員端末装置200の処理動作について、図13〜図30を参照して説明する。以下に説明するフローチャートの各ステップの処理は、主として、会員端末装置200のCPU210により実行される。
図13〜図21は、会員端末装置200に電源がオン状態であるときに実行される処理を説明するためのフローチャートである。すなわち、キー入力操作部227の主電源スイッチを通じた電源オフから電源オンへの操作入力、あるいはリモコン送信機228の常用電源スイッチを通じた電源オフから電源オンへの操作入力があったと、会員端末装置200のCPU210が判別したときには、CPU210は、図13のスタートから処理を開始し、会員端末装置200の初期化処理を行なう(ステップS11)。
そして、CPU210は、サーバ装置100に接続アクセスを行なうように制御し(ステップS12)、サーバ装置100からの認証結果を待つ(ステップS13)。ステップS13において、サーバ装置100から認証承認の認証結果が得られなかったと判別したときには、CPU210は、認証できなかったことをディスプレイ226の画面に表示して、ユーザに報知する(ステップS14)。認証できなかったことに対する対処方法としては、種々の方法があるが、ここではその説明を省略する。
ステップS13において、サーバ装置100から認証承認の認証結果が得られたと判別したときには、CPU210は、コンテンツ格納部201に格納されているコンテンツの関連情報をサーバ装置100に送信する(ステップS15)。次に、CPU210は、当該会員端末装置200が備える機能の一覧メニューを表示するように制御し(ステップS16)、ユーザによる当該機能一覧メニューからの機能選択操作を待つ(ステップS17)。
ステップS17で、機能選択操作がないと判別したときには、CPU210は、リモコン送信機228の常用電源スイッチを通じた電源休止操作がなされたか否か判別し(ステップS18)、リモコン送信機228の常用電源スイッチを通じた電源休止操作がなされていないと判別したときには、キー入力操作部227の主電源スイッチによる電源オフ操作がなされたか否か判別し(ステップS19)、電源オフ操作もなされていないと判別したときには、ステップS17に戻り、ユーザによる当該機能一覧メニューからの機能選択操作を待つ。
ステップS19で、電源オフ操作がなされたと判別したときには、CPU210は、サーバ装置100に電源オフ状態への移行の許可要求を送り(ステップS20)、サーバ装置100からの許可要求に対する結果通知の受信を待つ(ステップS21)。
ステップS21で、サーバ装置100からの許可要求に対する結果通知が「許可」であったと判別したときには、CPU210は、会員端末装置100を電源オフ状態に移行させる(ステップS22)。そして、この処理ルーチンを終了する。
また、ステップS21で、サーバ装置100からの許可要求に対する結果通知が「不許可」であったと判別したときには、CPU210は、電源オンの状態を維持するように決定し(ステップS23)、ステップS17に戻って、ユーザによる当該機能一覧メニューからの機能選択操作を待つ。
また、ステップS18で、リモコン送信機228の常用電源スイッチを通じた電源休止操作がなされたと判別したときには、CPU210は、サーバ装置100にサスペンド状態への移行の許可要求を送り(ステップS24)、サーバ装置100からの許可要求に対する結果通知の受信を待つ(ステップS25)。
ステップS25で、サーバ装置100からの許可要求に対する結果通知が「許可」であったと判別したときには、CPU210は、会員端末装置100の電源状態をサスペンド状態に移行させる(ステップS26)。
また、ステップS25で、サーバ装置100からの許可要求に対する結果通知が「不許可」であったと判別したときには、CPU210は、電源オンの状態を維持するように決定し(ステップS23)、ステップS17に戻って、ユーザによる当該機能一覧メニューからの機能選択操作を待つ。
次に、ステップS17において、ユーザによる当該機能一覧メニューからの機能選択操作があったと判別したときには、CPU210は、放送受信モードが選択されたか否か判別する(図14のステップS31)。
そして、ステップS31で、放送受信モードが選択されたと判別したときには、CPU210は、最後、視聴していた放送番組を選択受信するようにする選局制御信号をデジタル放送受信機部202に供給して、当該最後に視聴していた放送番組の受信状態とし、受信した放送番組コンテンツのデータを、コンテンツデコード部204によりデコードするように制御する(ステップS32)。また、コンテンツデコード部204でデコードされたビデオデータおよびオーディオデータは、I/Oポート215に転送するように制御する。
すると、放送番組コンテンツのビデオデータおよびオーディオデータは、D/A変換器221および222でアナログ信号に変換されてモニター装置225に供給され、モニター装置225では、受信された放送番組コンテンツの画像が表示されると共に、音声が再生されて、当該放送番組の視聴がなされる。
次に、CPU210は、リモコン送信機228を通じて、あるいは、キー入力操作部227を通じて、放送番組の選択変更操作がなされたか否か判別し(ステップS33)、放送番組の選択変更操作がなされたと判別したときには、当該選択変更に応じた選局制御信号をデジタル放送受信機部202に供給して、視聴番組を変更するようにする(ステップS34)。
ステップS33で、放送番組の選択変更操作がなされていないと判別したときには、CPU210は、リモコン送信機228を通じて、あるいは、キー入力操作部227を通じて、録画開始操作がなされたか否か判別し(ステップS35)、録画開始操作がなされたと判別したときには、デジタル放送受信機部202からの放送番組コンテンツのデータを暗号化エンコード部209で暗号化した後、コンテンツ格納部201に格納する(ステップS36)。
そして、ユーザによるリモコン送信機228を通じた、あるいは、キー入力操作部227を通じた、録画終了操作を待ち(ステップS37)、録画終了操作がなされたと判別したときには、CPU210は、図10に示したような放送番組コンテンツ管理のためのコンテンツ関連情報を生成して、コンテンツ格納部201に、当該放送番組コンテンツデータと関連させて格納する(ステップS38)。
次に、CPU210は、当該コンテンツ関連情報を含めた放送番組コンテンツ録画通知をサーバ装置100に送る(ステップS39)。そして、CPU210は、当該通知から予め定めた一定時間以内に、サーバ装置100からコンテンツ録画通知の受信OKを受信したか否か判別し(ステップS40)、受信しなかったと判別したときには、ステップS39に戻って、再度、コンテンツ録画通知を送る。また、ステップS40で、受信OKを受信したと判別したときには、CPU210は、ステップS33に戻って、デジタル放送番組の視聴を継続する。
また、ステップS35で、録画開始操作がなされなかったと判別したときには、CPU210は、リモコン送信機228の常用電源スイッチを通じた電源休止操作がなされたか否か判別し(ステップS41)、常用電源スイッチを通じた電源休止操作がなされたと判別したときには、会員端末装置200の電源状態をサスペンド状態にする(図15のステップS51)。
次に、CPU210は、キー入力操作部227の主電源スイッチを通じて電源オフ操作がなされたか否か判別し(ステップS52)、電源オフ操作がなされてはいないと判別したときには、リモコン送信機228の常用電源スイッチを通じた電源オン操作がなされたか否か判別し(ステップS53)、常用電源スイッチを通じた電源オン操作がなされたと判別したときには、電源オンの状態に復帰させてそれをサーバ装置100に報告し(ステップS54)、その後、ステップS32に戻り、デジタルテレビ放送の視聴を再開する。
ステップS53で、常用電源スイッチを通じた電源オン操作がなされていないと判別したときには、ステップS51に戻って、サスペンド状態を維持する。
また、ステップS52で、キー入力操作部227の主電源スイッチを通じて電源オフ操作がなされたと判別したときには、CPU210は、サーバ装置100に電源オフ状態への移行の許可要求を送り(ステップS55)、サーバ装置100からの許可要求に対する結果通知の受信を待つ(ステップS56)。
ステップS56で、サーバ装置100からの許可要求に対する結果通知が「許可」であったと判別したときには、CPU210は、会員端末装置100を電源オフ状態に移行させる(ステップS57)。そして、この処理ルーチンを終了する。
また、ステップS56で、サーバ装置100からの許可要求に対する結果通知が「不許可」であったと判別したときには、CPU210は、サスペンド状態を維持するように決定し(ステップS58)、次に、ステップS53に進む。
また、図14のステップS41で、常用電源スイッチによる電源休止操作がなされていないと判別したときには、CPU210は、キー入力操作部227の主電源スイッチによる電源オフ操作がなされたか否か判別する(ステップS42)。そして、キー入力操作部227の主電源スイッチを通じて電源オフ操作がなされたと判別したときには、CPU210は、図15のステップS55に進み、上述のステップS55以降の処理を実行する。
また、ステップS42で、主電源スイッチを通じた電源オフ操作はなされていないと判別したときには、CPU210は、当該デジタル放送受信モードを終了して、他のモードに変更する操作をしたか否か判別し(ステップS43)、当該操作がなされたと判別したときには、図13のステップS16に戻り、また、当該操作がなされていないと判別したときには、ステップS33に戻って、放送番組の視聴を継続する。
また、ステップS31において、放送受信モードが選択されたのではないと判別したときには、CPU210は、録画予約/転送予約依頼モードが選択されたか否か判別し(図16のステップS61)、録画予約/転送予約依頼モードが選択されたと判別したときには、サーバ装置100に録画予約/転送予約依頼モードを通知する(ステップS62)。この通知には、会員端末装置200の会員端末装置IDが含まれている。
この録画予約/転送予約依頼モードの通知を受け取ったサーバ装置100は、会員端末装置IDにより通知してきた会員端末装置200を認識し、電子番組表作成部108で作成した録画予約/転送予約依頼モード用の電子番組表(EPG)を送る。
そこで、会員端末装置200は、当該録画予約/転送予約依頼モード用の電子番組表(EPG)を受信し、この電子番組表のビデオデータをI/Oポート215を通じてモニター装置225に供給して、当該電子番組表をモニター装置225の画面に表示するようにする(ステップS63)。
図22に、録画予約/転送予約依頼モード用の電子番組表の表示画面の一例を示す。この電子番組表は、当日および未来の放送番組を表示するものである。この図22の電子番組表において、各放送番組の欄に四角で囲まれて示されている「予約」の表示11および「端末に録画」の表示12は、当該放送番組の転送予約依頼および録画予約を選択するためのアイコンボタンの役割をする。
すなわち、会員ユーザが、例えばリモコン送信機228のカーソルキーを操作して、希望する放送番組欄の「端末に録画」表示12を選択するように操作すると、当該放送番組欄に示されている放送番組コンテンツの録画予約を指定したことを意味する。また、会員ユーザが、希望する放送番組欄の「予約」表示11を選択するように操作すると、当該放送番組欄に示されている放送番組コンテンツの転送予約依頼を指定したことを意味する。
なお、図22において、各放送番組欄の下方に表示されている「予約ユーザ数」は、当該放送番組を録画予約している会員ユーザ数を示している。したがって、この「予約ユーザ数」を確認することで、自分が録画予約しなくても、転送予約依頼することにより、確実に当該放送番組を将来において、視聴可能であることがわかる。そこで、会員ユーザは、予約したい放送番組として、放送時間帯が重なる放送番組が複数個あったときに、その一つを録画予約し、残りを転送予約依頼することにより、すべての放送番組を視聴することができるようになる。
以上のようにして、図22に示したような電子番組表の「端末に録画」または「予約」のいずれかのアイコンの選択により、会員ユーザは、希望する放送番組の録画予約または転送予約依頼をする。そこで、CPU210は、「予約」表示11または「端末に録画」表示12が選択操作されることにより、予約される放送番組の選択がなされたか否か判別し(ステップS64)、予約される放送番組の選択がなされていないと判別したときには、当該録画予約/転送予約依頼モードの終了の操作がなされたか否か判別する(ステップS65)。
そして、ステップS65で、当該録画予約/転送予約依頼モードの終了の操作がなされたと判別したときには、CPU210は、サーバ装置100に、当該録画予約/転送予約依頼モードの終了通知を送り(ステップS66)、図13のステップS16に戻る。また、ステップS65で、当該録画予約/転送予約依頼モードの終了の操作がなされてはいないと判別したときには、CPU210は、ステップS64に戻る。
また、ステップS64で、予約される放送番組の選択がなされたと判別したときには、CPU210は、当該放送番組についての録画予約が選択されたのか否か判別し(ステップS67)、録画予約が選択されたと判別したときには、選択された放送番組コンテンツIDを含む録画予約情報をサーバ装置100に送る(ステップS68)。そして、CPU210は、当該録画予約情報の送信から予め定めた一定時間以内に、サーバ装置100から録画予約OKを受信したか否か判別し(ステップS69)、受信しなかったと判別したときには、ステップS68に戻って、再度、サーバ装置100に録画予約情報を送る。
また、ステップS69で、録画予約OKを受信したと判別したときには、CPU210は、サーバ装置100から送られてくる録画予約設定制御情報を待つ(ステップS70)。この録画予約設定制御情報は、録画予約する放送番組の選局制御信号と、番組開始時間に録画開始させ、番組終了時間に録画終了させる制御情報とを含む。
ステップS70で、当該録画予約設定制御情報を受信したと判別したときには、CPU210は、この制御情報にしたがって録画予約セットを行ない、タイマー部203を制御して、録画開始時間の監視を開始する(ステップS71)。そして、CPU210は、録画予約セット完了の後、その旨をサーバ装置100に通知する(ステップS72)。さらに、録画予約完了を、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザにも通知する(ステップS73)。そして、ステップS16に戻る。
次に、ステップS67で、録画予約ではなく、転送予約依頼であると判別したときには、CPU210は、選択された放送番組コンテンツIDを含む転送予約依頼情報を、例えばRAM213に記憶すると共に、サーバ装置100に送る(図17のステップS81)。
この転送予約依頼情報に対しては、サーバ装置100では、他の会員端末装置200が録画予約しているか否か判別し、録画予約している他の会員端末装置200があると判別したとき、また、録画予約している他の会員端末装置は存在しないが、転送予約依頼してきた会員端末装置200が、当該転送予約依頼の対象である放送番組と、放送時間帯の一部または全部が重なる他の放送番組を録画予約をしていると判別したときには、予約OKを送る。後者の場合に、予約OKを送るのは、後述するように、その場合には、サーバ装置100が選択した他の会員端末装置200に予約録画を実行させるからである。
録画予約している他の会員端末装置は存在しないし、かつ、転送予約依頼してきた会員端末装置200が、一部または全部が重なる放送時間帯に他の放送番組を録画予約をしていないと判別したときには、当該転送予約依頼してきた会員端末装置200に録画予約設定をするようにするため、サーバ装置100は、録画予約設定制御情報を当該会員端末装置200に送ってくる。
そこで、CPU210は、サーバ装置100からの録画予約設定制御情報を受信したか否か判別し(ステップS82)、受信したと判別したときには、ステップS71と同様にして、録画予約セットを行ない、タイマー部203を制御して、録画開始時間の監視を開始する(ステップS83)。
そして、CPU210は、録画予約セット完了をサーバ装置100に通知する(ステップS84)。そして、CPU210は、当該録画予約セット完了の送信から予め定めた一定時間以内に、サーバ装置100から録画予約OKを受信したか否か判別し(ステップS85)、受信しなかったと判別したときには、ステップS84に戻って、再度、録画予約セット完了をサーバ装置100に送る。ステップS85で録画予約OKを受信したと判別したときには、CPU210は、転送予約依頼完了を、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザに通知する(ステップS86)。そして、ステップS16に戻る。
また、ステップS82で、サーバ装置100からの録画予約設定制御情報を受信しなかったと判別したときには、CPU210は、サーバ装置100から予約OKを受信したか否か判別し(ステップS87)、受信しなかったと判別したときには、ステップS82に戻って、再度、転送予約依頼情報をサーバ装置100に送る。ステップS87で予約OKを受信したと判別したときには、CPU210は、転送予約依頼完了を、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザに通知する(ステップS88)。そして、ステップS16に戻る。
また、図16のステップS61で、録画予約/転送予約依頼モードの選択ではないと判別したときには、CPU210は、過去の放送番組の転送の依頼である転送依頼モードであるか否か判別し(図18のステップS91)、転送依頼モードであると判別したときには、転送依頼モードをサーバ装置100に通知する(ステップS92)。
この通知を受け取ったサーバ装置100は、当該転送依頼モードに応じた過去の放送番組の転送予約用電子番組表を生成して、送ってくる。そこで、会員端末装置200は、この転送依頼モード用の電子番組表を受信し、この電子番組表のビデオデータをI/Oポート215を通じてモニター装置225に供給して、当該電子番組表をモニター装置225の画面に表示するようにする(ステップS93)。
この転送依頼モード用の電子番組表の表示例を図23に示す。この電子番組表は、当日および過去の放送番組を表示するものである。図23において、各放送番組の欄において、「視聴不可」と表示されている放送番組は、録画されていない放送番組を示している。つまり、共有領域300に、当該放送番組コンテンツのデータが存在していないことを示している。
また、各放送番組欄において、「視聴可能」と表示されている放送番組は、共有領域300内のいずれかの会員端末装置200のコンテンツ格納部201に当該放送番組コンテンツのデータが格納されていることを示している。
そして、当該「視聴可能」の放送番組欄の中において、四角で囲まれて示されている「直ぐに視聴」表示13は、転送依頼に当たって、その受信再生態様として、ストリーミング再生を選択する場合のアイコンボタンと同等の役割をする。また、同様に、四角で囲まれて示されている「予約」表示14は、転送依頼した放送番組コンテンツのデータを、配信時にはストリーミング再生せずに、コンテンツ格納部201に格納して、後日、再生して視聴する場合に選択するアイコンボタンと同等の役割をするものである。
なお、「直ぐに視聴」表示13に×印が付加されている放送番組は、当該放送番組コンテンツを格納している会員端末装置200が使用不可状態にあって、ストリーミング再生が不可であることを示しており、この場合の「直ぐに視聴」表示13は選択できない。
したがって、「直ぐに視聴」表示13に×印が付加されている放送番組における「予約」表示14は、現時点では、当該放送番組コンテンツを格納している会員端末装置200が使用不可の状態にあってストリーミング再生はできないが、予約により後の時点に配信されて視聴可能になることを意味していることになる。
会員ユーザが、例えばリモコン送信機228のカーソルキーを操作して、希望する放送番組欄の「直ぐに視聴」表示13を選択するように操作すると、当該放送番組欄に示されている放送番組コンテンツのストリーミング再生による転送依頼の指定ができる。また、会員ユーザが、希望する放送番組欄の「予約」表示14を選択するように操作すると、当該放送番組欄に示されている放送番組コンテンツの後時点の転送依頼を指定することができる。
後時点の転送依頼に対するP2P配信の時期は、この実施形態ではサーバ装置100により任意に定められ、会員ユーザは、その配信時点を事前に知ることはできない。しかし、当該放送番組コンテンツのデータが、コンテンツ格納部201に格納されたときには、そのことが会員端末装置200により会員ユーザに知らされる。
以上のようにして、図23に示したような電子番組表を通じて会員ユーザは、希望する放送番組のストリーミング再生による転送依頼または後時点転送依頼をする。そこで、CPU210は、「直ぐに視聴」表示13または「予約」表示14が選択操作されることにより、転送依頼される放送番組の選択がなされたか否か判別し(ステップS94)、予約される放送番組の選択がなされていないと判別したときには、当該録画予約/転送予約依頼モードの終了の操作がなされたか否か判別する(ステップS95)。
そして、ステップS95で、当該転送依頼モードの終了の操作がなされたと判別したときには、CPU210は、サーバ装置100に、当該転送依頼モードの終了通知を送り(ステップS96)、図13のステップS16に戻る。また、ステップS95で、当該転送依頼モードの終了の操作がなされてはいないと判別したときには、CPU210は、ステップS94に戻る。
また、ステップS94で、転送依頼される放送番組の選択がなされたと判別したときには、CPU210は、当該選択された放送番組コンテンツIDを含む転送依頼情報を、例えばRAM213に記憶すると共に、サーバ装置100に送る(ステップS97)。
そして、CPU210は、当該転送依頼情報の送信から、予め定めた一定時間以内に、サーバ装置100から予約OKを受信したか否か判別し(ステップS98)、受信しなかったと判別したときには、ステップS97に戻って、再度、サーバ装置100に転送依頼情報を送る。ステップS98でサーバ装置100からの予約OKを受信したと判別したときには、CPU210は、転送依頼完了を、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザに通知する(ステップS99)。そして、ステップS16に戻る。
次に、ステップS91において、転送依頼モードが選択されていないと判別したときには、CPU210は、コンテンツ再生モードが選択されたか否か判別し(図19のステップS101)、コンテンツ再生モードが選択されたと判別したときには、コンテンツ格納部201の記憶内容に基づいた再生コンテンツ一覧メニューを、例えばモニター装置225の画面に表示するように制御する(ステップS102)。
次に、CPU210は、当該再生コンテンツ一覧メニューから再生を希望する放送番組コンテンツが選択されたか否か判別し(ステップS103)、放送番組コンテンツが選択されたと判別したときには、コンテンツ格納部201から、選択された放送番組コンテンツのデータを読み出し、暗号化デコード部203で暗号を解凍し、コンテンツデコード部204でビデオデータおよびオーディオデータをデコードし、I/Oポート215を通じてモニター装置225に供給して、放送番組コンテンツの視聴をすることができるように制御する(ステップS104)。
次に、CPU210は、再生終了(再生停止)操作がなされたか否か判別し(ステップS105)、再生終了操作がなされたと判別したときには、当該放送番組コンテンツデータを削除するかどうかの問合せメッセージを、モニター装置225の画面に表示するように制御する(ステップS106)。
この問合せに対して、CPU210は、会員ユーザが「削除する」を選択したか否か判別し(ステップS107)、削除しない(つまりコンテンツ格納部201に保持したいとの意志表示)が選択されたと判別したときには、転送予約依頼、あるいは後時点転送依頼をしたコンテンツであるため、コンテンツ格納後タイマーがセット中の放送番組コンテンツであるか否か判別する(ステップS108)。
配信された放送番組コンテンツデータを受信すると、通常は、ユーザは、例えば2週間以内に視聴することが多い。そこで、この例では、当該2週間経過したかどうかを監視するために、配信の受信の直後に、コンテンツ格納後タイマー(この例では2週間タイマー)をセットするようにしている。これは、2週間経過したら視聴がすんでいるであろうことを予想して、視聴が済んだ放送番組コンテンツを削除して、記憶容量が有限であるコンテンツ格納部201から除去するようにするためである。
また、コンテンツ格納後タイマーは、2週間経過しても視聴しない放送番組コンテンツは、不要であるかもしれないことを考慮して、当該放送番組コンテンツデータを削除対象とすることも考慮するものである。
ステップS107で削除しないとされた場合において、コンテンツ格納後タイマーがセットされている放送番組コンテンツであるときには、当該放送番組コンテンツは、削除対象から除外すべきであるので、ステップS108においてタイマーセットされている放送番組コンテンツであると判別したときには、CPU210は、前記コンテンツ格納後タイマーをリセットして(ステップS109)、当該放送番組コンテンツを削除対象から外すようにする。
次に、CPU210は、当該コンテンツ再生モードの終了操作がなされたか否か判別し(ステップS110)、なされていないと判別したときには、ステップS102に戻り、また、当該コンテンツ再生モードの終了操作がなされたと判別したときには、ステップS16に戻る。
また、ステップS103で、再生する放送番組コンテンツの選択がなされないと判別したときには、CPU210は、ステップS110に進み、当該コンテンツ再生モードの終了操作がなされたか否か判別するようにする。
また、ステップS107で、再生の終了した放送番組コンテンツを削除すると判別したときには、CPU210は、コンテンツ格納部201の対象コンテンツの関連情報中の削除OKフラグをオンにする(ステップS111)。次に、サーバ装置100に当該放送番組コンテンツデータの削除要求をサーバ装置100に送る(ステップS112)。
次に、CPU210は、サーバ装置100から削除許可を受信したか否か判別し(ステップS113)、削除許可を受信しない、つまり、削除不許可を受信したときには、サーバ装置100に「了解」を通知する(ステップS114)。そして、ステップS16に戻る。
また、ステップS113でサーバ装置100から削除許可を受信したと判別したときには、CPU210は、対象コンテンツデータをコンテンツ格納部201から削除する(ステップS115)。そして、削除完了後、サーバ装置100にコンテンツデータ削除完了を通知する(ステップS116)。そして、削除完了通知を送ってから、予め定めた一定時間以内にサーバ装置100からのOKを受信したか否か判別し(ステップS117)、サーバ装置100からOKを受信しなかったときには、ステップS116に戻って、削除完了通知を再度行なう。
そして、ステップS117で、削除完了通知を送ってから、予め定めた一定時間以内にサーバ装置100からのOKを受信したと判別したときには、CPU210は、当該コンテンツデータの削除完了を、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザに通知する(ステップS118)。そして、ステップS16に戻る。
次に、ステップS101において、コンテンツ再生モードが選択されていないと判別したときには、CPU210は、コンテンツ削除モードが選択されたか否か判別し(図21のステップS121)、そうでないと判別したときには、ステップS16に戻る。
また、ステップS121で、コンテンツ削除モードが選択されたと判別したときには、コンテンツ格納部201の内容に基づくコンテンツ一覧を、例えばモニター装置225の画面に表示するように制御する(ステップS122)。
次に、CPU210は、削除するコンテンツが選択されたか否か判別し(ステップS123)、コンテンツが選択されないと判別したときには、当該コンテンツ削除モードを終了させる操作がなされたか否か判別し(ステップS132)、当該モードの終了操作がなされていないと判別したときには、ステップS122に戻り、当該モードの終了操作がなされたと判別したときには、ステップS16に戻る。
また、ステップS123で削除対象のコンテンツが選択されたと判別したときには、CPU210は、コンテンツ格納部201の対象コンテンツの関連情報中の削除OKフラグをオンにする(ステップS124)。次に、サーバ装置100に当該放送番組コンテンツデータの削除要求をサーバ装置100に送る(ステップS125)。この削除要求には、当該放送番組コンテンツのコンテンツIDが含まれる。
次に、CPU210は、サーバ装置100から削除許可を受信したか否か判別し(ステップS126)、削除許可を受信しない、つまり、削除不許可を受信したと判別したときには、サーバ装置100に「了解」を通知する(ステップS127)。そして、ステップS132に進む。
また、ステップS126でサーバ装置100から削除許可を受信したと判別したときには、CPU210は、対象コンテンツデータをコンテンツ格納部201から削除する(ステップS128)。そして、削除完了後、サーバ装置100にコンテンツデータ削除完了を通知する(ステップS129)。そして、削除完了通知を送ってから、予め定めた一定時間以内にサーバ装置100からのOKを受信したか否か判別し(ステップS130)、サーバ装置100からOKを受信しなかったと判別したときには、ステップS129に戻って、削除完了通知を再度行なう。
そして、ステップS130で、削除完了通知を送ってから、予め定めた一定時間以内にサーバ装置100からのOKを受信したと判別したときには、CPU210は、当該コンテンツデータの削除完了を、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザに通知する(ステップS131)。そして、ステップS132に進む。
次に、予約録画セットされた場合の、会員端末装置200における予約録画動作について、図24のフローチャートを参照して説明する。
サブプロセッサ230は、録画予約タイマーを監視し(ステップS141)、録画予約設定時刻(予約放送番組の番組開始時刻)になったか否か判別する(ステップS142)。そして、ステップS142で、録画予約設定時刻になったと判別したときには、サブプロセッサ230は、当該会員端末装置200がサスペンド状態にあるか否か判別し(ステップS143)、サスペンド状態にあると判別したときには、当該会員端末装置200をウエイクアップして電源オンにした後(ステップS144)、予約した放送番組の録画を実行する(ステップS145)。つまり、コンテンツ格納部201に、予約した放送番組のコンテンツデータを暗号化して格納する。
また、ステップS143で当該会員端末装置200がサスペンド状態ではないと判別したときには、サブプロセッサ230は、CPU210に録画時刻が来たことを通知して予約した放送番組の録画を実行する(ステップS145)。そして、サブプロセッサ230は、予約された放送番組の番組終了時刻になったかどうかにより、予約録画終了であるか否か判別する(ステップS146)。そして、予約録画終了を判別すると、サブプロセッサ230は、記録したコンテンツデータの関連情報として、例えばそのヘッダ部に、当該コンテンツデータの受信時のエラー率による品質データを格納する(ステップS147)。
次に、サーバ装置100に、当該予約録画した放送番組コンテンツについての関連情報を管理情報として送り(ステップS148)、サーバ装置100から受信OKを待つ(ステップS149)。
そして、前記管理情報を送ってから、予め定めた一定時間以内にサーバ装置100からの受信OKを受信したか否か判別し(ステップS149)、サーバ装置100から受信OKを受信しなかったときには、ステップS148に戻って、前記管理情報を再度送信する。
そして、ステップS149で、前記管理情報を送ってから、予め定めた一定時間以内にサーバ装置100からの受信OKを受信したと判別したときには、CPU210は、当該コンテンツデータの予約録画完了を、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザに通知する(ステップS150)。そして、コンテンツ格納後タイマーをセットしてスタートさせ、この処理ルーチンを終了する。
次に、転送依頼あるいは転送予約依頼した放送番組コンテンツを、他の会員端末装置200から受信する場合の処理ルーチンを、図25のフローチャートを参照して説明する。
先ず、会員端末装置200は、コンテンツのP2P配信の受信待機状態となっている(ステップS161)。この状態において、CPU210は、他の会員端末装置200からのアクセスを受信したかどうかを監視する(ステップS162)。
そして、ステップS162で、他の会員端末装置200からのアクセスを受信したと判別したときには、CPU210は、当該他の会員端末装置200との間の通信路を形成し(ステップS163)、配信されてくるコンテンツがどの放送番組コンテンツであるかを認識する(ステップS164)。
そして、CPU210は、RAM213の記憶内容に基づいて、当該放送番組コンテンツについて指定されている視聴形態は、ストリーミング再生であるか否か判別し(ステップS165)、ストリーミング再生であると判別したときには、コンテンツデータを受信し、暗号化を暗号化デコード部203によりデコードする(ステップS166)。次に、コンテンツデータデコード部204により、当該コンテンツデータをデコードし(ステップS167)、そのデコードデータをI/Oポート215から送出するように制御して、再生出力しストリーミング再生する(ステップS168)。
次に、コンテンツデータの再生が終了したか否かを配信コンテンツデータの終了により判別し(ステップS169)、再生が終了したと判別したときには、他の会員端末装置200との通信路を切断して(ステップS170)、この処理ルーチンを終了する。
ステップS165で、視聴形態がストリーミング再生ではなく、後時点配信であったときには、受信したコンテンツデータをコンテンツ格納部201の共有利用エリアに格納する(図26のステップS171)。そして、このコンテンツ格納部201への格納を、コンテンツ配信完了通知が他の会員端末装置200から到来するまで(ステップS172)、繰り返す。
ステップS172で、コンテンツ配信完了通知が他の会員端末装置200から到来したと判別したときには、CPU210は、コンテンツ格納部201へのコンテンツデータの格納を停止し(ステップS173)、他の会員端末装置200との通信路を切断する(ステップS174)。
そして、転送予約依頼した放送番組コンテンツ、あるいは転送依頼した放送番組コンテンツが、再生可能になったことを、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザに通知する(ステップS175)。そして、コンテンツ格納後タイマーをスタートさせ(ステップS176)、この処理ルーチンを終了する。
次に、図27に、サブプロセッサ230の処理動作を説明するためのフローチャートを示す。前述したように、このサブプロセッサ230は、会員端末装置200の電源状態がサスペンドの状態になったときに、そのサスペンド状態から電源オンの状態にする際に動作をするものである。
先ず、サブプロセッサ230は、キー入力操作部225を通じて、常用電源スイッチによる電源オンのキー入力操作がなされたか否か判別し(ステップS181)、当該キー入力操作がなされたと判別したときには、電源回路231を制御して、すべての部分に電源電圧を投入するようにすると共に、メインCPU210をウエイクアップする(ステップS182)。
そして、サブプロセッサ230は、メインCPU210に対して、サーバ装置100に、サスペンド状態から電源オン状態に移行したことを通知するように指示する(ステップS183)。そして、サブプロセッサ230の処理を終了する。
また、ステップS181で、常用電源スイッチによる電源オンのキー入力操作がなされていないと判別したときには、サブプロセッサ230は、サーバ装置100からのウエイクアップ指示を受信したか否か判別する(ステップS184)。このステップS184で、サーバ装置100からのウエイクアップ指示を受信していないと判別したときには、ステップS181に戻る。
また、ステップS184で、サーバ装置100からのウエイクアップ指示を受信したと判別したときには、サブプロセッサ230は、電源回路231を制御して、すべての部分に電源電圧を投入するようにすると共に、メインCPU210をウエイクアップする(ステップS185)。
そして、サブプロセッサ230は、放送番組コンテンツの配信送信指示をサーバ装置100から受けたことを、メインCPU210に通知する(ステップS186)。そして、この処理ルーチンを終了する。
また、サブプロセッサ230は予約タイマを監視して、予約時間になった場合、サスペンド状態の場合にはメインCPU210をウエイクアップし、また電源オンの場合にはメインCPU210に時刻が来たことを通知する。
<会員端末装置におけるサーバ装置100からの制御指示受信時の処理>
会員端末装置200のCPU210は、電源オン状態のときには、直接的にサーバ装置100からコンテンツ配信送信指示の制御信号を受信し、サスペンド状態のときには、前述したように、サブプロセッサ230を介して、サーバ装置100からコンテンツ配信送信指示の制御信号を受信する。
図28は、会員端末装置200のCPU210が、サーバ装置100からコンテンツ配信送信指示の制御信号を受けた時の処理ルーチンの一例を示すフローチャートである。
すなわち、CPU210は、サーバ装置100からコンテンツ配信送信指示の制御信号を受けたか否か判別し(ステップS191)、受けたことを確認すると、コンテンツ配信送信指示の受信確認をサーバ装置100に返信する(ステップS192)。ここで、コンテンツ配信送信指示には、配信送信すべきコンテンツのIDと、配信送信すべき会員端末装置のネットワークアドレスとが含まれる。
次に、CPU210は、当該コンテンツ配信送信指示により、コンテンツを送信するように指定された会員端末装置200に対して、前記受信したネットワークアドレスを用いてアクセスする(ステップS193)。
そして、CPU210は、このアクセスに相手の会員端末装置200が応答して、通信路が形成されたか否か判別し(ステップS194)、通信路の形成を確認したときには、コンテンツ配信送信指示に含まれる放送番組コンテンツのIDにより指定される放送番組コンテンツのデータを、コンテンツ格納部201から読み出して、相手会員端末装置200に送信する(ステップS195)。
そして、CPU210は、指定された放送番組コンテンツデータの送信が完了したか否か監視し(ステップS196)、送信が完了したと判別したときには、相手会員端末装置に対して、コンテンツ配信完了メッセージを送る(ステップS197)。そして、CPU210は、当該相手会員端末装置との通信路を切断する(ステップS198)。そして、サーバ装置100に、コンテンツ配信完了を通知する(ステップS199)。
また、ステップS191で、サーバ装置100からコンテンツの配信送信指示を受信していないと判別したときには、CPU210は、サーバ装置100から録画予約設定制御情報を受信したか否か判別する(図29のステップS201)。この録画予約設定制御情報は、前述したように、転送予約依頼したときに、当該転送予約依頼したコンテンツを録画予約している会員端末装置200が他に存在しておらず、しかも、転送予約依頼した会員端末装置200では、当該コンテンツと重なる時間帯に録画予約が設定されている場合に、サーバ装置100が選定した会員端末装置200に対して、送られてくるものである。これにより、転送予約依頼されたコンテンツを確実に、配信させることができるようにするためである。
ステップS201で、当該録画予約設定制御情報を受信しないと判別したときには、ステップS191に戻る。また、ステップS201で、当該録画予約設定制御情報を受信したと判別したときには、受信した録画予約設定制御情報により前述したようにして録画予約セットがなされる(ステップS202)。そして、録画予約セットが完了したことをサーバ装置100に通知して(ステップS203)、この処理ルーチンを終了する。
次に、この実施形態では、常用電源スイッチにより電源休止操作をして、会員端末装置200をサスペンド状態にするときには、コンテンツ格納後タイマーを参照して、コンテンツ格納から所定期間経過、例えば2週間経過した放送番組コンテンツがあるかどうかを判別し、所定期間経過したものがあれば、その放送番組コンテンツを削除対象として、サーバ装置100の許可の下に削除を実行する。これにより、コンテンツ格納部201の残記憶容量が無駄に少なくならないようにしている。
図30は、削除対象の放送番組コンテンツがあるかどうか判別およびその削除処理ルーチンを説明するためのフローチャートである。この処理ルーチンは、常用電源スイッチにより電源休止操作がなされたときに起動される。主電源スイッチによる電源オフ操作の時にも起動されるようにしても良い。
先ず、常用電源スイッチにより電源休止操作がなされると、CPU210は、コンテンツ格納後タイマーを監視して、コンテンツ格納後、所定期間、この例では2週間経過した放送番組コンテンツがあるか否か判別する(ステップS211)。そして、このステップS211で、該当する放送番組コンテンツが無いと判別したときには、CPU210は、削除OKフラグがオンになっている放送番組コンテンツがあるか否か判別し(ステップS212)、削除OKフラグがオンとなっている放送番組コンテンツもないと判別したときには、サスペンド状態に移行するように制御し(ステップS220)、この処理ルーチンを終了する。
ステップS211で、コンテンツ格納後、2週間経過した放送番組コンテンツがあると判別したとき、また、ステップS212で、削除OKフラグがオンとなっている放送番組コンテンツがあると判別したときには、当該放送番組コンテンツのコンテンツIDを含む、当該放送番組コンテンツについての削除要求をサーバ装置213に送る(ステップS213)。
次に、CPU210は、サーバ装置100から削除許可を受信したか否か判別し(ステップS214)、削除許可を受信しない、つまり、削除不許可を受信したときには、サーバ装置100に「了解」を通知する(ステップS215)。そして、ステップS220に進んで、サスペンド状態に移行するように制御し(ステップS220)、この処理ルーチンを終了する。
また、ステップS214でサーバ装置100から削除許可を受信したと判別したときには、CPU210は、対象コンテンツデータをコンテンツ格納部201から削除する(ステップS216)。そして、削除完了後、サーバ装置100にコンテンツデータ削除完了を通知する(ステップS217)。そして、削除完了通知を送ってから、予め定めた一定時間以内にサーバ装置100からのOKを受信したか否か判別し(ステップS218)、サーバ装置100からOKを受信しなかったときには、ステップS217に戻って、削除完了通知を再度行なう。
そして、ステップS218で、削除完了通知を送ってから、予め定めた一定時間以内にサーバ装置100からのOKを受信したと判別したときには、CPU210は、当該コンテンツデータの削除完了を、例えばモニター装置225の画面やディスプレイ226の画面に表示させて、会員ユーザに通知する(ステップS219)。そして、ステップS220に進んで、サスペンド状態に移行するように制御し(ステップS220)、この処理ルーチンを終了する。
なお、この例では、常用電源スイッチにより電源休止操作をしたときに、削除対象の放送番組コンテンツがあるかどうか判別するようにしたが、削除対象のコンテンツの判別およびその削除処理のタイミングは、この例に限られるものではなく、例えば定期的に行なっても良い。
<サーバ装置100における会員端末装置の接続時の処理動作>
次に、サーバ装置100における会員端末装置の接続時の処理動作について、図31のフローチャートを参照して説明する。このフローチャートの各ステップの処理は、主として、サーバ装置100のCPU110により実行される。
図31は、会員端末装置200がネットワークを通じてアクセスしてきたときの処理ルーチンである。前述したように、会員端末装置200は、主電源がオンとされると、そのCPU210の制御により、自動的にサーバ装置100に接続のアクセスをする。
そこで、サーバ装置100のCPU110は、会員端末装置200からの接続のアクセス(接続要求)を待ち(ステップS221)、接続のアクセスがあったと判別したときには、接続アクセス時のユーザIDやパスワードを参照して、会員認証の処理を行なう(ステップS222)。この会員認証の結果、認証ができなかったときには、その旨(認証NG)を通知して、接続を拒否し(ステップS223)、ステップS221に戻る。
ステップS222での会員認証の結果、認証ができたときには、CPU110は、会員情報管理メモリ部101や、会員端末装置情報管理メモリ部103において、接続アクセスしてきた会員端末装置200を所有する当該会員についての管理情報が存在しているかどうかを検索する(ステップS224)。そして、CPU110は、その検索結果により、サーバ装置100への初めての接続アクセスであるか否か判別する(ステップS225)。
ステップS225で初めての接続アクセスであると判別したときには、CPU110は、会員情報管理メモリ部101および会員端末装置情報管理メモリ部103に、当該アクセスしてきた会員および会員端末装置についての管理情報領域を作成し、RAM113に保持していた会員情報を、会員情報管理メモリ部101に設けた当該会員用の管理領域に書き込むと共に、会員端末装置情報管理メモリ部103に設けた当該会員端末装置の管理領域内において、電源状態の情報として、電源オン状態を書き込み、また、接続アクセスの履歴を書き込む(ステップS226)。
また、ステップS225において、会員端末装置200からの接続アクセスが初めてではないと判別したときには、CPU110は、サーバ装置100内の当該会員端末装置200についての管理情報を確認し、会員端末装置情報管理メモリ部103の当該会員端末装置の管理領域内において、その電源状態の情報として、電源オンを書き込み、また、接続アクセスの履歴を書き込む。さらに、接続時に会員端末装置200から送られてくるコンテンツ格納部201の記憶内容に関する情報と、コンテンツ所在管理メモリ部102の内容とを比較して、会員端末装置200のコンテンツ格納部201の内容を正確にコンテンツ所在管理メモリ部102に反映させて、両者の間に齟齬がないようにする(ステップS227)。
以上で、会員端末装置200がサーバ装置100に接続アクセスしてきたときのサーバ装置100の処理は終了する。前述もしたように、以後は、会員端末装置200が電源オフ状態あるいは会員端末装置200の電源プラグが電源コンセントに接続されていない状態とならない限り、サーバ装置100と会員端末装置200との接続状態が保持される。
<サーバ装置100の通常処理動作>
次に、サーバ装置100の処理動作について、図32〜図42のフローチャートを参照して説明する。以下に説明するフローチャートの各ステップの処理は、主として、サーバ装置100のCPU110により実行される。
図32に示すように、サーバ装置100のCPU110は、いずれかの会員端末装置200から録画予約/転送予約依頼モード通知を受信したか否か判別し(ステップS231)、受信したと判別したときには、図22に示したような、録画予約/転送予約依頼モード用の電子番組表を作成して、前記通知してきた会員端末装置200に送る(ステップS232)。
次に、CPU110は、録画予約情報を受信したか否か判別し(ステップS233)、録画予約情報を受信したと判別したときには、予約OKを会員端末装置200に送信する(ステップS234)。
次に、CPU110は、録画予約情報に基づき、録画予約される放送番組コンテンツのコンテンツID、番組開始時刻、番組終了時刻を認識し、それらの情報に基づいて、録画予約設定制御情報を生成して、前記通知してきた会員端末装置200に送信する(ステップS235)。
そして、会員端末装置200からの録画予約セット完了の通知の受信を待ち(ステップS236)、当該通知を受信したことを確認すると、予約管理メモリ105に、当該セットされた録画予約情報を記憶する(ステップS237)。この録画予約情報には、前述したように、少なくとも録画予約された放送番組コンテンツのコンテンツIDと、録画予約セットされた会員端末装置IDとが含まれる。その後、ステップS231に戻る。
ステップS233で、録画予約情報は受信しなかったと判別したときには、CPU110は、転送予約依頼情報を受信したか否かを判別する(図33のステップS241)。そして、ステップS241において、転送予約依頼情報を受信しないと判別したときには、CPU110は、当該録画予約/転送予約依頼モードの終了通知を受信したか否か判別し(ステップS242)、終了通知を受信したと判別したときには、当該録画予約/転送予約依頼モードを終了して(ステップS243)、ステップS231に戻る。また、ステップS242で終了通知を受信していないと判別したときには、ステップS233に戻る。
ステップS241において、転送予約依頼情報を受信したと判別したときには、CPU110は、転送予約依頼により指定された放送番組について、録画予約がなされているか否か判別し(ステップS244)、録画予約されていると判別したときには、転送予約依頼OKを会員端末装置200に送信し(ステップS248)、予約管理メモリ部105に、転送予約依頼情報を格納する(ステップS249)。予約管理メモリ部105には、少なくとも、転送予約依頼された放送番組コンテンツのコンテンツIDおよび転送予約依頼をした会員端末装置200の会員端末装置IDが含まれる。ステップS249の後には、ステップS231に戻る。
ステップS244において、転送予約依頼により指定された放送番組について、録画予約がなされていないと判別したときには、CPU110は、転送予約依頼により指定された放送番組と一部または全部が重なる放送時間帯に、当該転送予約依頼をした会員端末装置200が他の放送番組コンテンツを録画予約しているか否か判別する(ステップS245)。
ステップS245で、そのような録画予約が無いと判別したときには、CPU110は、転送予約情報に基づき、予約される放送番組コンテンツのコンテンツID、番組開始時刻、番組終了時刻を認識し、それらの情報に基づいて、録画予約設定制御情報を生成して、転送予約依頼をしてきた会員端末装置200に送信する(ステップS246)。
そして、CPU110は、会員端末装置200からの録画予約セット完了の通知の受信を待ち(ステップS247)、予め定められた一定時間以内に録画予約セット完了の通知を受信しなかったときには、ステップS246に戻って、録画予約設定制御情報を再度、会員端末装置200に送信する。そして、ステップS247で、当該録画予約セット完了の通知を受信したことを確認すると、CPU110は、転送予約依頼OKを会員端末装置200に送信し(ステップS248)、予約管理メモリ部105に、転送予約依頼情報を格納する(ステップS249)。そして、ステップS231に戻る。
また、ステップS245で、転送予約依頼により指定された放送番組と一部または全部が重なる放送時間帯に、当該転送予約依頼をしてきた会員端末装置200が他の放送番組コンテンツを録画予約している判別したときには、CPU110は、当該転送予約依頼をしてきた会員端末装置200には、予約録画設定ができないと判断し、この実施形態では、他の会員端末装置200に録画予約を実行させるようにする。
すなわち、CPU110は、予約OKを転送予約依頼をしてきた会員端末装置200に送り(ステップS250)、予約管理メモリ部105を参照して、前記転送予約依頼された放送番組コンテンツを録画予約可能な他の会員端末装置を検索して選定する(ステップS251)。このとき選定される他の会員端末装置は、1台でもよいが、この例では録画の失敗や品質のばらつきを考慮して、3台とされる。
次に、CPU110は、転送予約依頼された放送番組コンテンツについての録画予約設定情報を生成して、選定した他の会員端末装置200に送信する(ステップS252)。そして、CPU110は、会員端末装置200からの録画予約セット完了の通知の受信を待ち(ステップS253)、予め定められた一定時間以内に録画予約セット完了の通知を受信しなかったときには、ステップS252に戻って、録画予約設定制御情報を再度、会員端末装置200に送信する。そして、ステップS253で、当該録画予約セット完了の通知を受信したことを確認すると、転送予約依頼OKを会員端末装置200に送信し(ステップS248)、予約管理メモリ部105に、転送予約依頼情報を格納する(ステップS249)。そして、ステップS231に戻る。
次に、ステップS231で、録画予約/転送予約依頼モードの通知は受信しなかったと判別したときには、CPU110は、転送依頼モードの通知を受信したか否か判別し(図34のステップS261)、転送依頼モードの通知を受信したと判別したときには、当日を含む過去の番組情報からなる、図23に示したような転送依頼モード用の電子番組表を、当該通知を送ってきた会員端末装置200に送信する(ステップS262)。
そして、CPU110は、転送依頼された放送番組コンテンツの情報を含む転送依頼情報を受信したか否かを判別する(ステップS263)。そして、ステップS263において、転送依頼情報を受信しないと判別したときには、CPU110は、当該転送依頼モードの終了通知を受信したか否か判別し(ステップS264)、終了通知を受信したと判別したときには、当該転送依頼モードを終了して(ステップS265)、ステップS231に戻る。また、ステップS264で終了通知を受信していないと判別したときには、ステップS263に戻る。
ステップS263において、転送依頼情報を受信したと判別したときには、CPU110は、転送依頼された放送番組コンテンツを格納している会員端末装置200を、コンテンツ所在管理メモリ部101において検索する(ステップS266)。
次に、CPU110は、転送依頼情報に含まれる視聴形態の情報を参照し、ストリーミング再生ではなく、後時点配信の形態が指定されていると判別したときには、検索結果の配信指示を送る会員端末装置の情報を、予約管理メモリ部105の予約配信待ち行列に登録する(ステップS268)。
また、ステップS267において、視聴形態としてストリーミング再生が指定されていると判別したときには、CPU110は、転送依頼してきた会員端末装置200に、転送依頼された放送番組コンテンツを、即座にP2P配信することを通知する(図35のステップS271)。
次に、CPU110は、転送依頼された放送番組コンテンツを、P2P配信させる他の会員端末装置200の電源状態をチェックする(ステップS272)。そして、当該他の会員端末装置200の電源状態は、サスペンド状態であるか否か判別し(ステップS273)、サスペンド状態ではなく電源オンの状態であれば、当該他の会員端末装置200に対して、転送依頼された放送番組コンテンツのデータを、転送依頼した会員端末装置200にP2P配信させるようにする配信送信指示制御信号を送信する(ステップS276)。そして、ステップS231に戻る。
また、ステップS273で、前記他の会員端末装置200は、サスペンド状態であると判別したときには、CPU110は、当該他の会員端末装置200にアクセスしてウエイクアップさせる(ステップS274)。そして、当該他の会員端末装置200からの電源オンの報告を受信して、当該他の会員端末装置200の電源オンを確認し(ステップS275)、その後、ステップS276に進み、当該他の会員端末装置200に対して、転送依頼された放送番組コンテンツのデータを、転送依頼した会員端末装置200にP2P配信させるようにする配信送信指示制御信号を送信する。そして、ステップS231に戻る。
また、ステップS261において、転送依頼モードの通知を受信しなかったと判別したときには、CPU110は、配信送信指示した会員端末装置200からのコンテンツ送信完了通知を受信したか否か判別する(図36のステップS281)。
そして、このステップS281で、配信送信指示した会員端末装置200からのコンテンツ送信完了通知を受信したと判別したときには、CPU110は、P2Pによる放送番組コンテンツ配信が完了して、放送番組コンテンツの転送依頼または転送予約依頼をした会員端末装置200のコンテンツ格納部201に、当該転送依頼または転送予約依頼された放送番組コンテンツのデータが追加されたと認識して、コンテンツ所在管理メモリ部102の、当該放送番組コンテンツについての所在情報として、放送番組コンテンツを取得した会員端末装置200の会員端末装置IDを加えることにより、コンテンツ所在管理メモリ部102の記憶内容を更新する(ステップS282)。
次に、CPU110は、前記コンテンツ配信された放送番組コンテンツを転送依頼または転送予約依頼した会員端末装置200を所有する会員に対して、配信した放送番組コンテンツの料金を課金処理する。この課金処理は、前述したように、会員情報管理メモリ部101に記憶されている当該会員についての課金のための情報に基づいて行なう(ステップS283)。この実施形態では、共有領域300は、すべてサーバ装置100で管理されているので、この課金料金には、放送番組の著作権者への著作権料などをも含めることができる。
また、CPU110は、前記コンテンツ配信を実行した会員端末装置200を所有する会員に対して、コンテンツ配信についての手数料を報酬として還元する(ステップS284)。この場合の手数料の還元方法としては、例えば、当該会員端末装置200を所有する会員が行なった配信要求により課金として発生した費用から差し引く方法、あるいは、会員情報管理メモリ部101に記憶されている当該会員の銀行口座に当該報酬を振り込む方法などがある。
次に、CPU110は、コンテンツ送信完了通知を送ってきた会員端末装置200との通信路を切断し(ステップS285)、その後、ステップS231に戻る。
また、図36のステップS281で、会員端末装置200からのコンテンツ送信完了通知を受信していないと判別したときには、CPU110は、いずれかの会員端末装置200から、電源状態の電源オン状態からサスペンド状態への移行許可要求を受信したか否か判別する(図37のステップS291)。
そして、このステップS291で、電源状態の電源オン状態からサスペンド状態への移行許可要求を受信したと判別したときには、CPU110は、そのときに他の会員端末装置200が、サスペンド状態への移行許可要求をしてきた会員端末装置200のコンテンツ格納部201に格納されている放送番組コンテンツを必要としているか、つまり、他の会員端末装置200から当該電源状態変更の許可要求をしてきた会員端末装置200内の放送番組コンテンツの転送依頼または転送予約依頼が発生しているか否か判別する(ステップS292)。
このステップS292において、他の会員端末装置が、当該会員端末装置200内の放送番組コンテンツを必要としていないと判別したときには、当該会員端末装置200に、サスペンド状態への移行許可を返す(ステップS293)。そして、CPU110は、会員端末装置情報管理メモリ部103の当該会員端末装置200の電源状態を、電源オン状態からサスペンド状態に書き換える(ステップS294)。
また、ステップS292で、他の会員端末装置が、当該会員端末装置200内のコンテンツを必要としていると判別したときには、当該会員端末装置200に、サスペンド状態への移行不許可(拒否)を返す(ステップS295)。ステップS294およびステップS295の次には、ステップS231に戻る。
また、ステップS291で、電源状態の電源オン状態からサスペンド状態への移行許可要求は受信していないと判別したときには、CPU110は、いずれかの会員端末装置200から、電源状態の電源オン状態から電源オフ状態への移行許可要求を受信したか否か判別する(ステップS296)。
そして、このステップS296で、電源オン状態から電源オフ状態への移行許可要求を受信したと判別したときには、CPU110は、そのときに他の会員端末装置200が、電源オフ状態への移行許可要求をしてきた当該会員端末装置200のコンテンツ格納部201に格納されている放送番組コンテンツを必要としているか、つまり、他の会員端末装置から当該電源状態変更の許可要求をしてきた会員端末装置200内のコンテンツの転送依頼または転送予約依頼が発生しているか否か判別する(ステップS297)。
このステップS297において、他の会員端末装置が、当該会員端末装置200内の放送番組コンテンツを必要としていないと判別したときには、当該会員端末装置200に、電源オフ状態への移行許可を返す(ステップS298)。そして、CPU110は、会員端末装置情報管理メモリ部103の当該会員端末装置200の電源状態を、電源オン状態から電源オフ状態に書き換える(ステップS299)。
また、ステップS297で、他の会員端末装置200が、当該会員端末装置内のコンテンツを必要としていると判別したときには、当該会員端末装置200に、電源オフ状態への移行不許可(拒否)を返す(ステップS300)。ステップS299およびステップS300の次には、ステップS231に戻る。
ステップS296で、電源オン状態から電源オフ状態への移行許可要求は受信していないと判別したときには、CPU110は、会員端末装置200からの予約録画の完了通知を受信したか否か判別する(図38のステップS301)。この予約録画の完了通知には、予約録画された放送番組コンテンツのコンテンツIDと、録画した会員端末装置200の会員端末装置IDが含まれる。
このステップS301で、予約録画の完了通知を受信したと判別したときには、CPU110は、当該通知をしてきた会員端末装置200に受信OKを送信する(ステップS302)。
そして、CPU110は、当該予約録画が完了した放送番組コンテンツについて、他の会員端末装置200による転送予約依頼があるかどうかを、予約管理メモリ部105を参照して判別する(ステップS303)。
そして、ステップS303で、当該予約録画が完了した放送番組コンテンツについて、他の会員端末装置200による転送予約依頼がないと判別したときには、CPU110は、コンテンツ所在管理メモリ部102に、録画された放送番組コンテンツに関する管理情報を記憶させて、当該コンテンツ所在管理メモリ部102の記憶内容を更新すると共に、サーバ装置100内のその他の関連する管理情報を更新し(ステップS306)、その後、ステップS231に戻る。
また、ステップS303で、当該予約録画が完了した放送番組コンテンツについて、他の会員端末装置200による転送予約依頼があると判別したときには、CPU110は、当該転送予約依頼している会員端末装置200へのP2P配信を、当該予約録画完了通知をしてきた会員端末装置200に行なわせるようにすることを内容とする予約配信情報を、予約配信待ち行列に登録する(ステップS304)。当該放送番組コンテンツについての予約配信情報は、予約配信待ち行列の最後尾に登録される。
こうして、予約配信待ち行列への登録が済むと、予約管理メモリ部105の録画予約リストから当該完了通知のあった会員端末装置200の情報を削除すると共に、転送予約依頼リストから予約配信待ち行列に登録した会員端末装置に関する情報を削除して、メモリ内容を更新する(ステップS305)。
なお、録画予約をしている会員端末装置200の数の方が、転送予約依頼している会員端末装置200の数よりも多い場合には、予約録画完了の通知を受信したときに、転送予約依頼している会員端末装置が存在しない場合が生じる。そのときには、既に予約待ち行列に登録されている会員端末装置についての予約配信情報に含まれているP2P配信する会員端末装置200が所持する同一放送番組コンテンツのエラー率と今回の予約録画完了通知に含まれる当該放送番組コンテンツのエラー率とを比較し、エラー率が低い方の予約配信情報を、登録に残すようにする。この場合には、予約配信待ち行列における順位は元のままとされる。
ステップS305の次には、ステップS306に進み、CPU110は、コンテンツ所在管理メモリ部102に、録画された放送番組コンテンツに関する管理情報を記憶させて、当該コンテンツ所在管理メモリ部102の記憶内容を更新すると共に、サーバ装置100内のその他の関連する管理情報を更新し、その後、ステップS231に戻る。
また、ステップS301で、予約録画完了通知を受信しなかったと判別したときには、CPU110は、会員端末装置200からコンテンツ録画の報告を受信したか否か判別する(ステップS307)。このコンテンツ録画の報告は、予約録画ではなく、会員ユーザによる録画スイッチの起動に基づく録画の報告である。
ステップS307で、コンテンツ録画の報告があったと判別したときには、CPU110は、その報告中の会員端末装置IDと放送番組コンテンツIDとを確認して、受信OKを当該報告してきた会員端末装置200に送信する(ステップS308)。そして、次にステップS306に進み、コンテンツ所在管理メモリ部102およびサーバ装置100内のその他の関連する管理情報を更新し、その後、ステップS231に戻る。
次に、ステップS307で、コンテンツ録画の報告を受信していないと判別したときには、CPU110は、会員端末装置200からのコンテンツ削除要求を受信したか否か判別し(図39のステップS311)、コンテンツ削除要求を受信していないと判別したときには、ステップS231に戻る。
ステップS311で、コンテンツ削除要求を受信したと判別したときには、CPU110は、当該コンテンツ削除要求に含まれるコンテンツIDから削除要求された放送番組コンテンツを認識する(ステップS312)。
そして、CPU110は、コンテンツ所在管理メモリ部102と、予約管理メモリ部105を参照し、共有領域300内における削除要求された放送番組コンテンツデータの残存数(当該放送番組コンテンツを所持する会員端末装置数)Nと、転送予約依頼数(P2P配信されていない待ち数)Mとをチェックする(ステップS313)。
そして、CPU110は、N>Mであるか否か判別し(ステップS314)、N<Mであると判別したときには、削除すると、予約された配信が遅れることになるので、削除要求してきた会員端末装置200に当該放送番組コンテンツの削除不可を通知する(ステップS316)。
そして、CPU110は、その通知から一定時間以内に当該会員端末装置200から「了解」の通知を受信したか否か判別し(ステップS317)、当該通知を受信しなかったと判別したときには、ステップS316に戻って、再度、削除不可を通知する。また、会員端末装置200から「了解」の通知を受信したと判別したときには、ステップS231に戻る。
また、ステップS314において、N>Mであると判別したときには、CPU110は、Nが所定数、この例では3以上(つまり、N≧3)であるか否か判別し(ステップS315)、N≧3でなければ、つまり、Nが3未満であるときには、ステップS316に進み、削除不可を会員端末装置200に送信する。
また、ステップS315で、N≧3であると判別したときには、CPU110は、N=3であるか否か判別し(ステップS318)、N=3でなければ、削除対象の放送番組コンテンツのデータ品質をその受信エラー率を用いてチェックする(ステップS319)。次に、当該放送番組コンテンツのデータ品質が、データ品質の上位からの順位が、3より上(順位が3位よりも後順位)であるか否か判別し(ステップS320)、3位以上の良品質の場合には、ステップS316に進んで、削除不可を会員端末装置200に送信する。
そして、ステップS320で、削除対象の放送番組コンテンツのデータ品質が3位よりも後順位であると判別したときには、CPU110は、会員端末装置200に削除許可を送信する(ステップS321)。
次に、CPU110は、会員端末装置200からの対象コンテンツデータの削除完了の通知を受信したか否か判別し(ステップS322)、一定時間以内に削除完了の通知を受信しなかったときには、ステップS321に戻って、再度、削除許可を会員端末装置200に送信する。
そして、ステップS322で、会員端末装置200からの対象コンテンツデータの削除完了の通知を受信したと判別したときには、CPU110は、コンテンツ所在管理メモリ部102に、削除対象とされた放送番組コンテンツの所在情報に関して、前記会員端末装置についての削除を行い、当該コンテンツ所在管理メモリ部102の記憶内容を更新すると共に、サーバ装置100内のその他の関連する管理情報を更新し(ステップS323)、その後、ステップS231に戻る。
また、ステップS318において、N=3であると判別したときには、CPU110は、サーバ装置100内の管理情報をチェックし(図40のステップS331)、共有領域300内において、当該放送番組コンテンツのデータが合理的に配置されているか否か判別する(ステップS332)。
ここで、合理的な配置に関しては、
(1)各会員端末装置のコンテンツ格納部への記録データ量、アクセス負荷を平均化して記録させるようにする。特定の会員端末装置にP2P配信要求が集中しないように、人気のある放送番組コンテンツは、記録する会員端末数を増やす。
(2)会員端末装置の電源状態
使用不可の状態が長い傾向にある会員端末装置には、なるべく記録しない。このような会員端末装置には、使用頻度の低いデータを保持させるようにする。
(3)地理的な条件
災害、停電などを想定してバックアップデータを同一地域に配置しない。地域を決定する方法としては、
・ 会員ユーザの登録時の情報を用いる方法
・ GPS(Global Positioning System)を会員端末装置に搭載する方法
・ 放送受信局により区分けする方法
などを用いることができる。
(4)使用可能な状態にあり、かつ、使用頻度の低い会員端末装置は、できるだけ選択されるようにする。
(5)使用頻度の低いデータに関しては、複数の会員端末装置→2個の会員端末端末→1個の会員端末装置というように、徐々に保持する会員端末装置を少なくしてゆき、記録領域を有効に利用できるようにする。
などを考慮するようにする。
ステップS332で、合理的な配置が済んでいると判別したときには、CPU110は、ステップS316に進んで、削除不可を会員端末装置200に送信する。
また、ステップS332で、合理的な配置は、済んでいないと判別したときには、CPU110は、削除対象となっているのと同じ放送番組コンテンツを保持している会員端末装置200がすべて使用可能となっているか否か判別し(ステップS333)、使用可能となっていないと判別したときには、ステップS316に進んで、削除不可を会員端末装置200に送信する。
また、ステップS333で、削除対象となっているのと同じ放送番組コンテンツを保持している会員端末装置200がすべて使用可能となっていると判別したときには、CPU110は、合理的に再配置するこの例では、3台の会員端末装置を選択する(ステップS334)。ここで、再配置する会員端末装置の台数は、3台に限らず、それ以上でも、以下であっても良い。
次に、選択したすべての会員端末装置200のコンテンツ格納部201に、記録可能な容量があるか否か判別し(ステップS335)、記録可能な容量が無いと判別したときには、CPU110は、ステップS316に進んで、削除不可を会員端末装置200に送信する。
また、ステップS335で、記録可能な容量があると判別したときには、ステップS334で選択した3台の会員端末装置200を、再配置する3台の会員端末装置200として決定する(ステップS336)。次に、当該対象コンテンツについて、送信元となる3台の会員端末装置(再配置前に当該コンテンツデータを所持している会員端末装置)から、送信先候補の3台の会員端末装置(再配置後に当該コンテンツデータを所持するべき会員端末装置)との間の通信転送速度を測定させる準備を開始する(ステップS337)。ここで、通信転送速度を測定させるのは、再配置の際のコンテンツデータの転送を迅速に行なえるようにするためである。
次に、送信元の3台の会員端末装置200のそれぞれに、送信先候補の3台の会員端末装置のIDやアドレス情報を送り、それぞれの会員端末装置間での転送速度の測定をさせる(図41のステップS341)。例えば、送信パケットに送信時刻を含めておき、受信時刻との差から通信転送速度を測定することができる。
次に、CPU110は、送信元の3台の会員端末装置のそれぞれから、送信先候補の3台の会員端末装置間での転送速度の計測結果を受信する(ステップS342)。次に、CPU110は、転送速度の最適な組み合わせを選択する(ステップS343)。そして、送信元の会員端末装置に、転送させるコンテンツデータおよび転送先の会員端末装置の情報と、転送命令を送信し、前記送信元の会員端末装置に、送信信先の会員端末装置への転送を実行させる(ステップS344)。
次に、CPU110は、一定時間以内に転送完了通知を、転送元の会員端末装置から受信したか否か判別し(ステップS345)、転送完了通知を受信しなかったときには、ステップS344に戻り、転送完了通知を受信したときには、送信元の会員端末装置に、転送完了したコンテンツデータの削除命令を送信して、当該転送確認用コンテンツデータを削除させる(ステップS346)。
そして、CPU110は、一定時間以内に削除完了通知を、転送元の会員端末装置から受信したか否か判別し(ステップS347)、削除完了通知を受信しなかったときには、ステップS346に戻り、削除完了通知を受信したときには、ステップS316に進んで、削除不可を会員端末装置200に送信する。
<サーバ装置100での予約配信処理>
前述した予約配信待ち行列にある予約配信情報に基づいて、CPU110は、予約配信のための処理を行なう。図42は、予約配信のための処理を説明するためのフローチャートである。これは、1個の予約配信情報についての処理ルーチンであり、この処理ルーチンを繰り返すものである。
先ず、CPU110は、予約配信待ち行列の先頭の予約配信情報を読み出す(ステップS351)。次に、コンテンツ所在管理メモリ部102を参照して、予約配信情報により指定される配信対象のコンテンツデータを格納している会員端末装置を検索する(ステップS352)。
次に、CPU110は、転送予約依頼を発行した会員端末装置200に、転送予約依頼された放送番組コンテンツがP2P配信されてくることを通知する(ステップS353)。次に、CPU110は、転送依頼された放送番組コンテンツをP2P配信させる他の会員端末装置200の電源状態をチェックする(ステップS354)。
そして、当該他の会員端末装置200の電源状態は、サスペンド状態であるか否か判別し(ステップS355)、サスペンド状態ではなく電源オンの状態であれば、当該他の会員端末装置200に対して、転送依頼された放送番組コンテンツのデータを、転送依頼した会員端末装置200にP2P配信させるようにする配信送信指示制御信号を送信する(ステップS358)。そして、この処理ルーチンを終了する。
また、ステップS355で、前記他の会員端末装置200は、サスペンド状態であると判別したときには、CPU110は、当該他の会員端末装置200にアクセスしてウエイクアップさせる(ステップS356)。そして、当該他の会員端末装置200からの電源オンの報告を受信して、当該他の会員端末装置200の電源オンを確認し(ステップS357)、その後、ステップS358に進み、当該他の会員端末装置200に対して、転送依頼された放送番組コンテンツのデータを、転送依頼した会員端末装置200にP2P配信させるようにする配信送信指示制御信号を送信する。そして、この処理ルーチンを終了する。
<会員端末装置200のコンセント引き抜き検出チェック>
この実施形態では、サーバ装置100は、定期的に、電源オン状態またはサスペンド状態になっている会員端末装置200を順次に選択して、応答依頼を送り、その応答の有無により、電源オン状態またはサスペンド状態であるとサーバ装置100側が認識しているにもかかわらず、電源プラグがコンセントから引き抜かれてしまった会員端末装置200をチェックするようにする。
図43に、このサーバ装置100におけるチェック処理を説明するためのフローチャート示す。すなわち、サーバ装置100のCPU110は、前回のチェックアクセスから一定時間経過したか否か判別する(ステップS361)。
ステップS361で、前回のチェックアクセスから一定時間経過したと判別したときには、CPU110は、会員端末装置情報管理メモリ部103において、電源状態が電源オン状態またはサスペンド状態である会員端末装置200のうちから、前回選択した会員端末装置の次の会員端末装置を選択し、当該選択した会員端末装置200に対して、応答依頼のアクセスをする(ステップS362)。
次に、CPU110は、応答依頼のアクセスをした会員端末装置200から応答があるか否か判別し(ステップS363)、応答がないと判別したときには、会員端末装置情報管理メモリ部103において、当該応答依頼のアクセスした会員端末装置200の状態として「使用不可」を書き込む。この例では、会員端末装置情報管理メモリ部103において、当該応答依頼のアクセスした会員端末装置200の電源状態に「使用不可」を書き込む(ステップS364)。
また、ステップS363で、応答依頼のアクセスをした会員端末装置200から応答があったと判別したときには、CPU110は、当該会員端末装置200に対して、コンテンツ格納部201に格納しているコンテンツについての情報の取得要求を送る(ステップS365)。
そして、CPU110は、ステップS365での取得要求に対して会員端末装置200から送られてくるコンテンツについての情報を受信し(ステップS366)、サーバ装置100内のコンテンツ所在管理メモリ部102に記憶されている当該会員端末装置200のコンテンツについての情報が、当該会員端末装置200に実際に存在するコンテンツと同一であるか否か判別する(ステップS367)。そして、実際に存在するコンテンツと同一であれば、チェックOKであるとして、ステップS361に戻り、次のチェックタイミングで、次の会員端末装置100に対してチェックを行なうようにする。
ステップS367で、当該会員端末装置200に存在するコンテンツの内容と、サーバ装置100のコンテンツ所在管理メモリ部102の所在情報との間に相違があったと判別したときには、CPU110は、会員端末装置200から受信したコンテンツについての情報に基づいて、コンテンツ所在管理メモリ部102の内容を更新して、会員端末装置200に実際に存在するコンテンツと合致させるようにする(ステップS368)。そして、ステップS361に戻り、次のチェックタイミングで、次の会員端末装置200に対してチェックを行なうようにする。
以上のようにして、この実施形態によれば、電源がオンされている状態やサスペンド状態にあった会員端末装置200の電源プラグが電源コンセントから抜かれてしまっても、サーバ装置100は、上述のチェックを行なうことにより、そのことを的確に把握することができる。このため、使用不可である会員端末装置200に、コンテンツの配信送信指示制御信号を送ってしまうことなどを防止することができる。
[変形例]
以上の説明では、会員端末装置は、放送番組コンテンツとしてデジタルテレビ放送のコンテンツを対象とするようにしたが、この発明の対象となる放送番組コンテンツは、テレビ放送に限らず、ラジオ放送や、インターネット放送などのコンテンツであってもよいことは言うまでもない。
また、放送番組コンテンツデータの格納部としては、上述の実施形態では、ハードディスク装置を用いたが、これに限られるものではなく、例えば半導体メモリなどであっても良い。
また、上述の実施形態では、コンテンツ提供会社からは専用端末装置を提供するようにしたが、会員ユーザが備える放送受信機能つきの記録再生装置を会員端末装置とすることもできる。
また、上述の実施形態では、すべての会員端末装置が予約録画の機能を備えるようにしたが、一部の会員端末装置は、予約録画の機能を備えないものであってもよい。ただし、その場合でも、当該会員端末装置は、転送依頼の機能、転送や茎機能、転送配信受信機能および再生機能を備えるものである。
なお、以上の説明では、課金および手数料還元の処理は、銀行口座やクレジットカードを通じて行なうようにしたが、いわゆるプリペイド式のICカードなどを用いた課金および手数料還元の処理を行なうようにすることもできる。
なお、以上の実施形態では、共有領域300には属さない非共有領域を会員端末装置が有するので、会員ユーザは、自分がお気に入りの放送番組コンテンツを非共有領域に保持するようにすることもできる。
1…コンテンツ提供会社、2…会員ユーザ、3…ネットワーク、100…サーバ装置、101…会員情報管理メモリ部、102…コンテンツ所在管理メモリ部、103…会員端末装置情報管理メモリ部、104…サーバ内コンテンツ格納部、105…予約管理メモリ部、200…会員端末装置、201…コンテンツ格納部、202…デジタル放送受信機部、208…タイマー部