安全なマルチメディア転送システム
【課題】安全なマルチメディア転送のための方法および装置を提供すること。
【解決手段】安全なマルチメディア転送のための方法および装置は、マルチメディアコンテンツをクライアントから任意の互換性のないシステムへ、またはクライアントの位置の外部のシステムへ転送することを極めて困難にする暗号化されたデータ転送システムを提供する。
【解決手段】安全なマルチメディア転送のための方法および装置は、マルチメディアコンテンツをクライアントから任意の互換性のないシステムへ、またはクライアントの位置の外部のシステムへ転送することを極めて困難にする暗号化されたデータ転送システムを提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーソナルマルチメディアサービスに関する。さらに詳細には、本発明は、マルチメディアシステム間で、マルチメディアコンテンツを安全に転送するための方法および装置に関する。
【背景技術】
【0002】
VCR(ビデオカセットレコーダ(videocassette recorder))の出現で、TV視聴者は、所定の時間帯に放送されるTVプログラムイベントを記録することができ、かつ記録されたプログラムコンテンツを後で再生することができる。記録中に、VCRは、プログラムコンテンツの電気信号を磁気信号に変え、かつ磁気信号を磁気テープ上に記憶する。再生する時、VCRは、磁気信号を電気信号に変え、および付属のTVセットは、その信号のプログラムコンテンツをその画面に表示する。
【0003】
デジタル技術の開発にともなって、VCRは、DVR(デジタルビデオレコーダ(digital video recoder))に取って代わられてきている。VCRと同様に、DVRの機能性は、放送されたプログラムイベントを、後で再生するために記録することである。記録中に、DVRは、放送プログラムコンテンツの電気信号を、MPEGデータストリームなどのデジタル情報に変え、かつそのデジタル情報をメモリデバイスに記憶する、またはデジタル化される前のTV信号をメモリに直接記憶する。再生する時、DVRは、デジタル情報をアナログ信号に逆に変換する。付属のTVセットは、その信号のプログラムコンテンツをその画面に表示する。
【0004】
VCRを使用して、TVプログラムイベントを記録するために、ユーザは、チャンネルを手動で選択し、かつVCRをコントロールしなければならない、または他の誰かにその操作を実行してもらわなければならない。しかしながら、DVRを使用することにより、ユーザは、TVプログラムガイドに従って、DVRをプログラミングして、プログラム記録シーケンスを設定することができ、かつその記録を自動的に実行させることができる。
【0005】
DVRは、ユーザが記録時間、チャンネル、および複数のイベントの持続時間を特定することを可能にするが、それは、プログラムイベントをさらにインテリジェントな方法で、定義し、かつキャプチャする際に、増え続ける要求を満たすことができない。例えば、ユーザが彼のDVRおよびTVセットから遠く離れている状況において、彼は、彼のDVRをプログラムできないし、かつ彼の好きなプログラムイベントを記録することができないであろう。
【0006】
望まれることは、ユーザが、集中型TVプログラムガイドデータベースにアクセスすることができ、かつ彼のDVRをどこででもプログラムすることができる通信システムを設定することである。
【0007】
さらに、このようなシステムは、ユーザに、記録されたプログラムマテリアルを1つのDVRから別のDVRへ、またはサーバからDVRへ、そのプログラムマテリアルプロバイダの著作権を保護する安全な方法で、転送する能力を提供するであろう。
【0008】
【特許文献1】米国特許番号第 6,233,389号
【特許文献2】米国特許番号第 6,385,739号
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、添付図の図面において、具体例により例示され、それらに限定されるわけではない。ここで、同様の参照番号は、同様のエレメントを指す。
【0010】
安全なマルチメディア転送のための方法および装置が、記載される。以下の記載において、説明のために、多数の特定の詳細は、本発明の完全な理解のために説明されている。しかしながら、本発明がこれらの特定の詳細無しに実施可能であることは、明らかであろう。他の例において、本発明を不必要に不明確なものにしないように、周知の構造およびデバイスは、ブロック図形式で示されている。
【発明を実施するための最良の形態】
【0011】
以下の説明で、図面に関して、同一の参照番号は、その幾つかの図面を通して同一のパーツを指す。
【0012】
(A. パーソナルTVサービスへの遠隔アクセスのためのシステム)
図1を参照すると、パーソナルTVサービスへの遠隔アクセスのための通信システムが、示され、一般に、100として指定される。1つのアプローチに従って、家庭内に据え付けられたデジタルビデオレコーダ(DVR)110は、パーソナルTVサービスセンター(以下、サービスセンターと称される)130と通信する。このセンターは、プログラムガイドデータ、グラフィカルリソース(例えば、フォント、ピクチャ等)、サービス情報、およびDVR110が視聴者の興味を満足させるためにサービスセンター130と独立して動作することを可能にする他の形のデータを提供する。DVRの機能性は、本出願人により所有されかつ本明細書に参照として組み込まれる特許文献1に示されている。通信システムは、データを、DVR 110とサービスセンター130との間で、サービスデータとユーザのプライバシーとの両方が保護されるように転送するために、安全な配布アーキテクチャを使用する。DVR 110は、アンテナ 115からの放送信号を受信する、またはケーブルTVシステムからのテレビジョン信号を受信する。
【0013】
本発明の一実施例において、DVR 110は、一般に:アナログテレビジョン信号をデジタル化しかつそれをデジタルデータストリームに変換するために必要な複数のコンポーネントと;当該データストリームのセグメントを記録するように設計された複数のコンポーネントと;当該データストリームのセグメントを保存するように設計された複数の記憶機能と;当該データストリームのセグメントを検索し、当該データストリームをアナログ信号に変換し、次に、それを通して信号が標準のTVセット120に配信されるRF搬送波上に、信号を変調するように設計された複数のコンポーネントと;それを通してDVR110がネットワーク140と通信するインタフェース125とを有する。
【0014】
DVR110は、変更できないプライベート鍵を有するローカルな安全な暗号チップを含む。DVR 110の安全機能性は、さらに、本出願人により所有されかつ本明細書に参照として組み込まれる特許文献2 に記載されている。
【0015】
DVR 110は、着信呼モデムバンク145にダイヤルするためにその内部の電話モデムを使用することにより、サービスセンター130に直接接続可能である。着信呼は、最初に、サービスセンター130に、識別検証のためにルーティングされる。検証次第、その着信呼は、許可される。プライベートモデムバンク145は、呼出しに答え、かつDVR 110は、サービスセンター130内のデータベースへのアクセスを認められる。
【0016】
これに代えて、DVR 110は、サービスセンター130にネットワーク140を介して間接的に接続可能である。DVR 110とネットワーク140間のインタフェース 125は、DVR 110の内部の電話モデム、またはケーブルモデムなどの専用のネットワークインタフェースとすることが可能である。コンピュータネットワーク140は、プライベートネットワークまたはインターネットの何れかとすることができる。DVR 110は、ISP(インターネットサービスプロバイダ(Internet service provider))に対してローカルなアクセス電話番号を呼び出すことにより、コンピュータネットワーク140への接続を開始する。このISPは、ネットワーク接続リクエストを、識別検証のために、サービスセンター130に向ける。検証次第、ネットワーク接続は、許可され、かつDVR 110は、サービスセンター130内のデータベースへのアクセスを認められる。
【0017】
サービスセンター130は、外部のソースから、プログラムスケジュール情報150を受信する。プログラムスケジュール情報150は、TV視聴者が記録されるべきTVプログラムを選択するために使用することができるプログラムガイドの基礎を形成する。サービスセンター130は、コンピュータネットワーク140とインタフェース135を通して通信する。
【0018】
TV視聴者は、通信チャンネルをサービスセンター 130とコンピュータネットワーク140を介して設定することにより、遠隔コンピュータ155またはパーソナルデジタルアシスタント160を、サービスセンター 130内のプログラムデータベースに遠隔アクセスするために、使用することができる。
【0019】
図2を参照すると、サービスセンター 130は、プログラムスケジュール情報を収集し、編成し、かつ提供するウェブサーバ 200と;プログラムスケジュール情報を記憶するプログラムデータベース210と;ユーザおよびデジタルビデオレコーダに関する情報を記憶するユーザデータベース 220と;各ユーザに対するイベントリストを記憶するイベントデータベース230と、およびユーザデータベースをトラバースし、かつイベントデータベースからイベントリストを検索するディスパッチ処理240とを含む。それは、ウェブサーバとデジタルビデオレコーダとが通信するネットワークインタフェースを含むことも可能である。
【0020】
一実施例において、DVR 110は、DVR 110とサービスセンター130間の通信をコントロールするマイクロサーバ250と;サービスセンター 130により提供されたプログラムガイドを記録しかつDVR 110がサービスセンター130にアクセスするときは何時でもアップデートされるローカルプログラム記憶ガイド 260と;選択されたTVプログラムをキャプチャする記録セッションを開始するために使用されるデータ構造であるイベントキュー270と;遠隔アクセスのための許可鍵を生成する擬似乱数ジェネレータ(PRNG)280と;並びにDVR 110をコンピュータネットワーク140に接続するネットワークインタフェース 125とを含む。このイベントキュー 270は、DVR 110の一部を成す記録デバイスに結合される。
【0021】
遠隔コンピュータ155とパーソナルデジタルアシスタント(PDA) 160の両方とも、ユーザがウェブページを視聴することを可能にする一般的なウェブブラウザであってもよいウェブブラウザ290を有する。
【0022】
図3は、ユーザデータベース 220とイベントデータベース230との構造を例示する図表である。ユーザデータベース 220は、複数のユーザ記録300を含む。各ユーザ記録 300は、ユーザ識別310、暗号-鍵320、DVR識別330、およびイベントリストポインター 340がある、複数のフィールドを有する。ユーザ識別フィールド 310は、ユーザデータベース 220内への鍵として使用される。暗号-鍵フィールド320は、自分のDVR 110を遠隔でプログラムしようと試みているユーザから受信された許可鍵を記憶するために使用される。DVR識別330は、DVR 110と通信チャンネルを設定するために必要とされるネットワークアドレスおよび接続詳細を記憶するために使用される。
【0023】
ユーザデータベース220において、別々のイベントリスト350が、各ユーザに対して、保持される。イベントリスト350は、イベントデータベース230内に記憶される。各イベントリスト350は、複数のイベント記録 360を含む。各イベント記録は、時間フィールド 370、チャンネルフィールド380、および持続時間フィールド390がある、複数のフィールドを含む。時間フィールド370は、記録のスタート時間を表示するために使用され、かつプログラムイベントの日時から成る。チャンネルフィールド 380は、DVRがどのチャンネルを記録するべきかを特定する。持続時間フィールド390は、DVRがそのプログラムイベントのコンテンツをどのくらい長く記録するべきかを特定するために使用される。イベント記録は、さらに、プログラムガイドデータベース内の記録(またはオブジェクト)のIDを含むことができる。DVRは、プログラムガイドデータベースから必要な情報を検索する。
【0024】
(B. パーソナルTVサービスに対する遠隔アクセスのためのプロセス)
図2は、図1とともに、本明細書に記載された技術の機能性を全体として可能にする様々なプロセスを示す。
【0025】
サービスセンター130は、プログラムスケジュール情報 150を外部のソースから周期的に受信する。一旦、プログラムスケジュール情報150が到着すると、プログラムデータベース210は、それに応じて、アップデートされる。
【0026】
DVR 110は、ウェブページを、ウェブサーバ 200から、またはケーブル、衛星、または電話を介して読み込むことにより、そのローカルプログラムガイド260を周期的にアップデートする。DVR 110からのリクエストに応答して、ウェブサーバ 200は、最初に、アップデートされたプログラム情報に対してプログラムデータベース 210に照会し、次に、アップデートされたプログラムスケジュール情報を含むウェブページを動的に作成する。
【0027】
直接と間接の2つのタイプの遠隔アクセスが、利用可能である。TV視聴者は、遠隔コンピュータ 155またはパーソナルデジタルアシスタント 160上でウェブブラウザ290を使用することによって、DVR 110を間接的にプログラムすることができる。この状況で、ウェブブラウザ290は、ウェブサーバ 200がホストとして働く特殊なウェブサイトにアクセスするために使用される。ウェブサーバ 200は、図5に示されるようにグラフィカルユーザインタフェースを使用して、TV視聴者にプログラムガイドを提示する。TV視聴者は、TVプログラムを、プログラムタイトルおよび時間帯によって選択し、どのプログラムがDVR 110で記録されるべきかを表示する。
【0028】
サービスセンター130は、ディスパッチ処理240を周期的に実行する。ディスパッチ処理 240は、ユーザデータベース220をトラバースする。ディスパッチ処理240がプログラムイベントを特定したユーザに出会う時は何時でも、ディスパッチ処理 240は、イベントデータベース 230からのイベントリスト 350を検索する。ディスパッチ処理 240は、次に、DVR 110内に存在するマイクロサーバ 250と通信チャンネルを設定する。この通信チャンネルは、ディスパッチ処理240が特殊なイベント-ディスパッチウェブページをマイクロサーバ 250から検索することを可能とするように設計される。マイクロサーバ250は、イベント-ディスパッチウェブページをディスパッチ処理 240に提示する。このディスパッチ処理 240は、次に、イベント-ディスパッチウェブページを完成し、かつそれをマイクロサーバ 250に戻して実行依頼する。
【0029】
マイクロサーバ 250は、また、イベントに関してディスパッチ処理240をポーリングすることにより、ディスパッチ処理240にイベント転送をスタートさせることもできる。
【0030】
マイクロサーバ 250は、DVR 110の一部を成すイベントキュー 270をアップデートするために、イベント-ディスパッチウェブページ内に見い出されるイベント指示を使用する。イベントキュー 270は、TVプログラムイベントをキャプチャする記録セッションを開始するために、DVR 110により使用されるデータ構造である。
【0031】
トランザクションを認証するために、ウェブサーバ200は、プログラムされるべきDVR 110と関連のあるユーザに対して、1つ以上の許可コードを含む。DVR 110は、許可コードをDVRの不揮発性メモリに保持されているプライベートコピーと比較する。許可コードは、時間依存であり、かつシステムセキュリティ要求が指示する時、満期になるように設定可能である。
【0032】
直接的遠隔アクセス機能を使用するために、ユーザは、最初に、擬似乱数ジェネレータ(PRNG)280により生成される許可鍵を、DVR 110から得なければならない。ユーザは、DVR 110とDVRの位置にある自分のテレビジョンを介して直接通信する。DVR 110は、許可鍵をユーザに提示する。ユーザは、後で、自分のコンピュータ 155または自分のPDA 160を使用して、インターネットを通して、DVR 110にアクセスする。ユーザは、許可鍵を提示し、かつDVR 110をマイクロサーバ 250により管理されるグラフィカルユーザインタフェースを通してプログラムする。また、一旦、ユーザが直接モードでアクセスすると、ユーザは、プログラムをDVR 110にダウンロードすることができる。
【0033】
(C. 遠隔プログラミング指示を得るためのプロセス)
図4は、ユーザからの遠隔プログラミング指示を得るために、ウェブサーバ 200およびマイクロサーバ250により使用されるプロセスを示すフローチャートである。両方が、並列に、提示されるが、一般的な使用においては、別々のプロセスである。そのプロセスは、以下のステップを含む:
ステップ400:ウェブサーバ 200またはマイクロサーバ250は、最初のウェブページ内の許可リクエスト形式を、ウェブサーバ 200またはマイクロサーバ250により管理される特殊なウェブサイトにアクセスするユーザに提示する;
ステップ 410:ウェブサーバ 200は、ユーザにより入力された許可パスワードを受信する;マイクロサーバ250は、ユーザから許可鍵を受信する;
ステップ 420:ウェブサーバ200は、ユーザデータベース 220を使用して、許可パスワードを確認する;マイクロサーバ250は、それが記憶していた鍵を用いて、許可鍵を確認する。
ステップ 430:一旦、ウェブサーバ 200が許可パスワードをユーザデータベース 220において確認すると、それは、遠隔コンピュータ155またはパーソナルデジタルアシスタント160の不揮発性メモリにクッキーを書き込む;一旦、マイクロサーバ 250が許可鍵を確認すると、それは、遠隔コンピュータ155またはパーソナルデジタルアシスタント160の不揮発性メモリにクッキーを書き込む;
ステップ 440:ウェブサーバ 200またはマイクロサーバ 250は、ユーザが識別かつ認証された後、プログラムガイドをユーザに提示する;
ステップ 450:ウェブサーバ 200は、ユーザ選択を受信し、かつユーザに特定のイベントリスト350を作成する。イベントリスト350は、イベントデータベース230内に記憶される。マイクロサーバ 200は、ユーザ選択を受信し、かつそれらをイベントキュー 270上に置く。
【0034】
ステップ440において、ウェブサーバ 200またはマイクロサーバ250は、ユーザに提示された第一のウェブサイトの一部をなすスクリプトに従い、かつ遠隔コンピュータ 155またはパーソナルデジタルアシスタント 160上で有効なクッキーをサーチする。一旦、有効なクッキーが発見されると、ステップ400〜430は、そのプロセスフローから除外される。
【0035】
(D. プログラム選択のためのグラフィカルユーザインタフェース)
図5は、プログラム選択のための例示的なグラフィカルユーザインタフェース(GUI)500の画像表示である。GUI 500は、どちらでも、DVRフロントパネル上で使用され、かつウェブサーバ 200により遠隔ユーザに提示されたウェブページに組み込まれる。DVR 110内で直接実施される時、GUI 500は、DVR 110の一部を成すコントロールプロセスにより、直接、操作される。GUI500が遠隔ユーザにコンピュータネットワークを介して提示される時、それは、アクティブなサーバウェブページとして、具体化する。図6は、ユーザのウェブブラウザに現れるNow Showingのウェブページの画面キャプチャである。
【0036】
GUI 500は、複数の列 510および複数の行 515を含む表505を有する。列510は、曜日(かつ特定のカレンダー日付)に対応する。行515は、所定の日の時間に対応する。表 505内の列510および行515は、コントロールの見出しが、時間帯にスケジュールされるTVプログラムのタイトルを、表505内のそのコントロール位置に従って表示するように設定される、データ選択コントロールによって、実際に、作り上げられる。GUIは、さらに、スクロールアップ 520およびスクロールダウン 525のためのメカニズムと、順方向ターニング 530および逆方向ターニング535のためのメカニズムと;特定のTVプログラムを選択するためのメカニズムと;選択されたTVプログラムを含むプログラムイベントリスト 350を作成するためのメカニズムと;当該イベントリスト 350を編集するためのメカニズムとを有する。さらに、それは、ダウンロードを命令するためのメカニズムと、ダウンロードが進行中であることを表示するためのメカニズムと、進行中のダウンロードをキャンセルするためのメカニズムとを含むこともできる。
【0037】
コントロールの位置は、TVプログラムイベントの日付と時間に対応する。ユーザは、GUI 500内に提示される選択コントロールを切り換えることができる。GUI 500をウェブサーバ 200に戻す時、選択されたコントロールの識別子は、ユーザのためのイベントリスト350を作成するために、プログラムガイド 260と一緒に使用される。イベントリスト350は、遠隔プログラミングの場合、次に、イベントデータベース230内に記憶される。DVR 110のローカルプログラミングのために、イベントリスト 350は、DVR記録シーケンスをコントロールするイベントキュー 270内に、直接記憶される。
【0038】
(E. デジタルビデオレコーダへの間接的なアクセス)
図7は、サービスセンター 130、DVR 110、および外部のコンテンツサーバ 720間のインターネットにわたる対話を例示する一般的な方式700のブロック図である。ここで、特別のスタイルのインターネットアクセスが、それが或るタイプのコンテンツをインターネット接続 140にわたってフェッチすることを可能とし、かつそれらを図6に示されるような Now Showing ページ内で視聴するために利用可能とするように、DVR 110に統合される。明確な具体例を例示するために、図7および本明細書中の説明は、インターネット、Linux、DHCP等の実施において使用可能な特定のエレメントおよびプロトコルを参照する。しかしながら、他の機能的に類似のエレメントまたはプロトコルは、代替の実施において、使用可能である。例えば、ダウンロードは、インターネットではなく、任意の公開、プライベート、または専用のネットワークを通して行われてよい。他のオペレーティングシステムと動的アドレス指定プロトコルを使用することができる。
【0039】
Now Showingページにおいて、コンテンツ名、すなわち、TVプログラムのタイトルのリストは、このようなコンテンツがGUI 500上にフェッチされているところであることを表示し、および記録アイコン、またはそれのある変形体は、ダウンロードが進行中であることを表示する。視聴者は、コンテンツ(すなわち、TVプログラム)を選び取り、かつそれをいつでもプレイできる。
【0040】
ダウンロードは、任意の速度で行われてよい。従って、図1のインタフェース 125は、いかなる方法においても、ダウンロードの速度に依存しない。図8は、緑色の領域 802を一致するように増やすことにより、コンテンツが再生速度803より速くダウンロードされていることを表示するリプレイバー 801を示すウェブページの画面キャプチャである。このようなリプレイバー 801以外の他のメカニズムを、コンテンツが再生速度より速くダウンロードされていることを表示するために使用することができる。いずれの場合においても、視聴者は、如何なる量のコンテンツがそのポイントまでダウンロードされたに関して、すべてのトリックプレイ(trick-play)動作を使用することができる。
【0041】
コンテンツがインターネットにわたってダウンロードされたという事実は、そのコンテンツがインターネットからであるという表示を、様々な方法で行うことが可能であるプログラム情報を提示するコンテクストにおける場合を除いて、視聴者には意識されない。
【0042】
ダウンロードされたコンテンツに対するポインタは、全ての形のサーチおよび提示がこれらのプログラムを正しく表示し、かつそれらの操作を提供するように、放送プログラムを記憶する方法に類似の方法で、DVR 110 ハードドライブ上のローカルなコンテンツデータベース740に記憶される。
【0043】
チャンネルまたはネットワーク志向のコンテクストにおいて、ダウンロード可能なプログラムは、放送プログラミングに類似の方法で提示される。これらのコンテクストは、時間および位置がこのようなプログラムに無関係であるので、チャンネルまたはネットワークの「ラインアップ(lineup)」が、知覚できる方法で提示されるように、修正されなければならないかもしれない。
【0044】
図6に示されるようなNow Showingコンテクストにおける利用可能なコンテンツ項目の数は、ナビゲーションを扱いにくくする可能性がある。初期の実施のために必要とされないが、このコンテクストは、多くの項目のナビゲーションをより簡単にするために、修正可能である。
【0045】
幾つかのサーバからコンテンツを提供する実体は、テレビジョンネットワークとして、視聴可能である。各固有のサーバ名は、チャンネルを表示する。ここで、「サーバ(server)」は、ネットワーク上の単に名前であり;それは、世界中のどこでも、任意の物理的なサーバにマップすることが可能であろう。
【0046】
一旦、コンテンツサーバ 720とコンタクトをとると、DVR 110は、所定のプログラム識別に従って、メディアコンテンツをリクエストする。これは、ウェブサーバ 200により、次に、その接続に沿って送信される特別な1つのコンテンツにマップされる。コンテンツサーバまたはDVRの何れかは、ダウンロードのスピードを抑制することができる。
【0047】
視聴者が複数のダウンロードをリクエストする場合、DVR110は、コンテンツを得るために幾つかの異なる方法を選ぶことができる;それは、最大の制限事項、またはキューリクエスト、または両方を用いて、複数の接続を開始することができる。
【0048】
1つのアプローチにおいて、図7のエレメントは、DVR 110のセキュリティをアドレス指定する。ネットワークポートを開くことは、多数の可能なセキュリティ違反をもたらし、著作権で保護されたコンテンツと利用者のプライベートデータの保護とのセキュリティに議論が向けられる。
【0049】
一実施例において、標準 Linuxファイアウォール・サポートは、双方向通信において、数個の、周知のポート(例えば、Web (HTTP)またはディスカバリ)以外は全てに対してアクセスを自動的に遮断することにより、この保護を管理するために、使用される。周知のポートは、メディアコンテンツをダウンロードするために外部のコンテンツサーバ720とコンタクトをとるために、DVRのアプリケーションソフトウェアにより使用される。
【0050】
動的アドレス指定クライアントソフトウェアエレメント、例えば、Linux DHCPクライアントは、DVR 110内に提供される。DVRの立ち上げ時に、ネットワークインタフェースが、検出される場合、DHCPクライアントは、動的アドレスのソースからDVRのためにネットワークアドレスを得るために、周知のポートを使用する。例えば、DVR 110のDHCPクライアントは、外部のDHCPサーバ750にポーリングするために、DHCPプロトコルを使用する。サーバが、探し出されない場合、ネットワーキーングは、無効にされるであろう。そうでなければ、DVR 110は、DHCP応答から、そのネットワークパラメータを初期化するであろう。
【0051】
このようなLinuxファイアウォール・サポートに伴なう1つの問題点は、外部のDHCPサーバ750が、インターネットアクセス情報を構成するために、必要とされることである。データを読みとる、またはそのデータフローを2つのデバイス間のインターネット接続上にリディレクトするための多数の方法が存在することは、周知である。1つの可能性は、悪意のあるDHCPサーバが、エリアスサーバアドレスを使用することにより悪意あるホストがDVRに入りかつ攻撃することを可能にするような方法で、インターネットアクセス情報を構成する、エイリアシングである。
【0052】
この種の攻撃を無効にするために、一実施例において、コンテンツサーバ720との全ての通信は、認証かつ暗号化される。コンテンツサーバ720は、DVR110の公開鍵へのアクセスを有し、DVRは、コンテンツサーバ 720の公開鍵のコピーを有する。DVR 110は、サービスセンター 130によりダウンロードされたコンテンツサーバ 720に関するメタデータコンテンツ情報を有する。DVR 110は、そのデータベース 740内にメタデータを記憶し、および操作するために、データベース740内のデータに依拠する。証明書交換を使用して、DVR 110とコンテンツサーバ 720は、ワンタイムセッション鍵を生成し、かつすべてのさらなる通信は、そのセッション鍵を使用して、暗号化される。一実施例において、Blowfishアルゴリズムは、暗号化されたセッション通信のために使用される。コンテンツサーバ 720の公開鍵は、サービスセンター 130から配布される。サービスセンターは、また、適切なプログラムガイド参照をコンテンツサーバ720に提供した。
【0053】
サービスセンター130は、コンテンツサーバ 720の記を述受け入れる。一実施例において、このような記述は、サーバURL、コンテンツ記述、コンテンツ識別、「チャンネル(channel)」記述、「ネットワーク(network)」記述等から構成される。これらのデータは、コンテンツサーバ記述(CSD)データベース 710にインポートされる。コンテンツサーバ 720へのアクセス用の一組の公開鍵が、さらに提供される。
【0054】
コンテンツサーバ720がDVR 110からの接続を受け入れるために、それは、特別のDVR用の公開鍵にアクセスできなければならない。この鍵の配布は、実行中に、または予め共有された鍵配布のアプローチを通して、行われることが可能である。実行中の鍵配布の場合、コンテンツサーバ 720は、サービスセンター130への認証された接続を設定し、DVRシリアル・ナンバーを提供し、およびサービスセンター130 に関連付けられた公開鍵を提供することをリクエストする。DVR シリアル・ナンバーが与えられると、サービスセンター130は、その関連付けられた公開鍵を戻す。コンテンツサーバ 720は、この公開鍵をキャシュすることができる。各鍵は、コンテンツサーバ 720が鍵を削除しなければならない時を表示する有効期限を有する。サービスセンター130は、例えば、鍵配布を監査する目的で、全ての配布された公開鍵のログ記録を保持することができる。
【0055】
サービスセンター130 は、停止しているDVRの公開鍵を提供することを拒否することができる。さらに、コンテンツサーバ 720は、例えば、特別のDVRが停止した場合、サービスセンター 130からの鍵の無効リクエストに応答することができる。
【0056】
メディアレコーダ 730は、DVR 110のパーソナルTVサービスアプリケーションソフトウェアのサブシステムである。メディアレコーダ730は、ダウンロードしているコンテンツの同時記録および再生を可能にする。記録されたコンテンツは、DVR 110のコンテンツデータベース740内に記憶される。メディアレコーダ730は、持続的なネットワーク接続が利用可能でない場合、スタートされないであろう。一実施において、メディアレコーダ 730は、多数の異なるスレッドを有する。
【0057】
(1) Recording Queue Thread:このスレッドは、ネットワークダウンロードリクエストのキューを管理し、およびダウンロードポリシーを実施する。最初に、これは、データベース内に保持される単純なFIFOキューであって良い。一旦、ダウンロードポリシーが実施されると、記録キューポリシーオブジェクトは、保持される。
【0058】
(2) Fetch Recording Thread:このスレッドは、コンテンツサーバ 720との接続の管理を担当する。 Fetch Recording Threadは、サーバとコンタクトをとり、認証プロトコルを実施し、所望のコンテンツをリクエストし、およびコンテンツのダウンロードを管理する。
【0059】
この戦略に関するヴァリエーションとして、パーソナルTVサービスアプリケーションまたはメディアレコーダ730内のプログラムオブジェクトは、メディアコンテンツに対してポーリングされる複数のサーバを表示することができる。サーバは、Fetch Recording Threadにより、順番に、ポーリングされ;ダウンロードのリクエストを受け入れる最初のサーバが、使用される。このことは、サーバファームまたはデータセンター内で編成された複数のコンテンツサーバにわたって、コンテンツリクエストを、負荷分散するために提供される。
【0060】
Fetch Recording Threadは、DVR 110内のデータベースに対するその状態を、周期的に、記憶する、またはチェックポイントする。このようなチェックポイントすることは、障害またはエラーが起こった時、ダウンロードが行われていたマルチメディアコンテンツにおける同じポイントで、停電またはシステムエラーの後、ダウンロードの再スタートを可能にする。Fetch Recording Thread は、また、ダウンロードされているコンテンツのプレゼンテーションおよびナビゲーションのために使用されるデータベースオブジェクトの状態も管理する。例えば、Fetch Recording Threadは、図6に示されるようなNow Showingコンテクストにおける適切な表示のために、記録オブジェクトの状態を管理する。時間の任意のポイントでアクティブな1つ以上のこのようなスレッドが存在することが可能である。
【0061】
(F. DVRからDVRへの対話)
1つのアプローチにおいて、2つのDVR間でメディアとデータベースエレメントとを転送するためのメカニズムが、提供される。図7を参照すると、例えば、ポータブルDVR 760内に提供されるような、より少ない量のディスク記憶を使用する転送の一具体例が示される。具体例として、バカンスに行く前に、ユーザは、望ましいメディアとその意識しない関連付けられたサービスデータをポータブルDVR 760に転送し、かつそのメディアが所望の時に使用可能であるように、ポータブルDVR 760を携帯することができる。2つのメディアストリームが、同じ動作を達成するために、正確な同期でプレイするように、一緒に従属装置として作動する、2つのDVR、すなわちDVR 110とDVR 770を使用する、転送の別の具体例が、示される。
【0062】
2つのDVRを接続するための多くの方法がある。一実施例において、ソースDVR 110の出力は、宛先DVR 770の入力に結合される。この方法が機能的である一方、この方法は、メディアストリームを管理し、かつ使用する際に、視聴者の満足に不可欠であるメディアストリームに関するメタデータ情報を転送しない。
【0063】
DVR 110内に記憶されたメディアストリームは、メディアコンテンツそれ自体と、メディアコンテンツに関する記述的情報を提供するデータベースオブジェクトとから構成される。ネットワーク(例えば、IEEE 802.3)または直接接続(例えば、IEEE 1394)などのデータ転送方法が使用される場合、メディアコンテンツと記述的情報の両方は、視聴者経験の完全性が保護されるように、転送可能である。
【0064】
コンテンツ所有者は、彼等のコンテンツの起こりうる盗用に関心がある。さらなるアプローチは、DVR 110と770間でデータ転送を暗号化する。このことは、多数の標準およびカスタムな方法で、実行可能である。例えば、Diffie-Hellman 安全な接続プロトコルは、次に、転送を暗号化するために使用されるワンタイム鍵を生成するために、使用可能である。
【0065】
転送が或る特定されたDVRに対してのみ行われることを可能にすることが望ましい場合、統合されたセキュリティシステムが、使用可能である。各DVRの公開鍵は、予め共有する鍵または鍵の動的交換の何れかにより、他方に公知である。転送をスタートする時、DVRは、他方のDVRの公開鍵に基づいて暗号化された署名入りの証明書を交換する。両方のDVRが、他方の署名を解読しかつ検査することができる場合、各DVRは、他方の識別を認証して、さらに、転送中データを暗号化するために、次に使用されるワンタイムセッション鍵を設定し始めることができる。
【0066】
このような場合の鍵配布は、サービスセンター130により対処可能である。視聴者は、サービスセンター130とコンタクトをとり、かつ彼が所有する2つのDVR 110および770が、お互い間でのデータ転送を許可されることをリクエストする。サービスセンター130は、各DVRの公開鍵を含む許可オブジェクトを適切なダウンロードメカニズムにより他方のDVRに送信する。サービスセンター130は、後で監査する目的のために、各DVRに関する情報を識別することを含むこの動作の記録を保持する。例えば、セキュリティシステムが、1つのDVRにおいて、無効にされ、かつ他方の公開鍵が晒される場合、他のDVRを、それらがソースDVR 110に対して許可されるように修正することは、可能である。各DVRは、転送の記録を保存する。この記録は、サービスセンター130にアップロードされる。後で、この情報は、コピー保護違反、許可されないDVRへのコピー等を捜すために処理可能であろう。
【0067】
転送が中断される場合、宛先DVR770は、記述的オブジェクトにおいて、メディアストリームを「部分的(partial)」として印を付ける。後で、その転送は、再スタート可能である。データベースシステムの設計が、メディアストリームが宛先DVR 770上で一意的に識別されることを保証するので、この部分的ストリームは、探し出され、かつその転送は、その終わりから始まり、従って、すでに記憶されたメディアの再転送を避ける。一旦、全部のメディアストリームが記憶されると、記述的オブジェクトは、完全なメディアストリームを示すために、アップデートされる。
【0068】
DVR間でのデジタルデータの転送は、適切な如何なる速度でも、実行することができる。例えば、DVR間でのネットワークが遅い場合がある。この場合、転送持続時間は、コンテンツの再生持続時間より長いであろう。これに代えて、ネットワークが速い場合がある。この場合、複数のメディアストリームを、1つのコンテンツ項目の再生のためにかかるよりずっと少ない時間で転送することができるであろう。宛先DVR上の視聴者は、その最初の部分が利用可能になるとすぐ、進行中のストリームのダウンロードと並行して、そのメディアストリームの視聴をスタートすることができる。
【0069】
ソースまたは宛先DVRが完全なデジタルビデオDVRであるという要求はない。例えば、ケーブルヘッドエンドにおけるサーバ上に記憶されたメディアストリームは、宛先DVR 770に確実に転送可能である。これに代えて、ソースDVR 110内に記憶されたメディアストリームは、ヘッドエンドサーバへ転送可能である。
【0070】
例えば、PCは、DVRからの暗号チップを含むUSBドングルを使用することができる。PCは、このPCへ、かつこのPCからのコンテンツを転送するための安全メカニズムを設定する。PCが暗号化鍵を認証かつ生成するためにUSBドングルを使用するであろう故に、PCは、他のDVRに対するDVRとなるであろう。コンテンツは、次に、暗号化された形式で、PC上に記憶可能である。コンテンツは、他のPCまたはDVRへ、電子メール可能である。他のPCは、コンテンツを解読するために、USBドングルを有さなければならない。サービスセンター 130からPCへパスされる証明書は、USBドングル上のNVRAMに記憶され、それ故、証明書は、ドングルと一緒に移動し、かつPCのハードドライブ上に記憶されない。
【0071】
デジタル衛星システムなどの或るメディア配布アーキテクチャは、殆どのメディアコンテンツを暗号化された状態で放送する。スマートカードに基づくローカルな解読設備を使用して、メディアコンテンツは、それが視聴される場合のみ、解読され、従って、盗用からコンテンツを保護する。DVRがこれらの暗号化されたメディアストリームをディスクに保存し、かつ再生に応じて解読を開始することは、可能である。この方法は、2つのDVR間でメディアストリームを転送するために、使用可能である。メディアストリームと関連付けられたコンテンツ保護ルールの特別のセットに正しく応じるために(例えば、一回プレイする、一日後に満期になる、等)、DVRは、メディアストリームを記載するデータベースオブジェクトトと共に、メディアストリームと関連付けられたコピー保護情報(そのストリームが暗号化されて記憶されるかを含む)を保持する。
【0072】
メディアストリームと関連付けられたコンテンツ保護ルールは、同様に、宛先DVR 770へ転送可能である。例えば、DVR 110は、コンテンツサーバ 720から、解読されるまで視聴されないであろう映画を記憶したかもしれない。視聴者がこのメディアストリームを転送させることを望む場合、それは、宛先 DVR 770のメディア領域にコピーされ、かつその記述的オブジェクトは、同様に、転送される。このアプローチにおいて、メディアストリーム内のオリジナルの情報は、宛先DVR 770へ、忠実に複製される。
【0073】
スマートカードは、ソースDVR 110から取り出され、かつ宛先DVR 770にインストール可能であろう。メディアコンテンツを視聴する時、視聴者は、適切に課金され、かつ全てのコピー保護ルールに従う。オリジナルのメディアコンテンツおよび記述的情報は、除去されるかもしれないし、またはされないかもしれない。例えば、「一回視聴(view-once)」方式において、オリジナルは、破壊され、一方、「視聴前課金(charge-per-view)」方式において、それらは、破壊されない。
【0074】
上記と同じ技術を使用すると、安全な、または認証されかつ安全な接続は、2つ以上のDVR間で、ネットワークまたはモデム接続を使用して、設定可能である。このような接続の設定は、コントロール対話が生じることを可能にする。様々な実施例において提供可能なコントロール対話の幾つかの具体例は以下の通りである:
【0075】
(1)同期された再生。視聴者は、特別のメディアストリーム上のトリックプレイ機能をコントロールすることができる。各鍵イベントは、さらに、同じ動作を自動的に実行する宛先DVR 770にパスされる。例えば、プレゼンターは、マルチメディア再生デバイスとしてソースDVR 110を使用して、ライブのプレゼンテーションを提供することができ、かつ遠隔位置の視聴者は、同じ方法で同時に提供される同じプレゼンテーションを観ることができる。これに代えて、電話などの幾つかの他の手段により通信している2人の視聴者は、一方または他方が、両方のDVR上で同じプログラムの再生をコントロールしながら、対話することができる。この代替のアプローチは、興味のあるプログラムの正確な議論を可能にする。通信手段は、参加者がコメントをタイプ入力し、ディスプレイ上にオーバーレイされる単純なチャットプログラムとすることが可能である。このようなアプローチは、ビジネスプレゼンテーション用、並びにエンターテイメント目的用に使用可能である。
【0076】
(2) リンクパス。ソースDVR 110の視聴者は、特別のプログラムを宛先DVR 770にリンクすることになっていることを表示することができる。応答して、ソースDVR 110は、宛先DVRにリンクされたプログラムの記録をスケジュールさせるメッセージを、宛先DVR 770に送信する。これに代えて、そのプログラムは、同様に、アンリンクされる。リンクするまたはアンリンクするためのメッセージは、DVR 110と770の両方が、使用中であると仮定する場合、プログラム識別のみを含むことができる。宛先DVR770が使用中でない場合、リンクするためのメッセージは、追加のメタデータを含むことができる。
【0077】
(3) サウンドまたはグラフィックス効果。視聴者が、特別のキーシーケンスを押すなどの動作を取った時、ソースDVR 110は、サウンドをプレイすることができる、またはグラフィックを提示することができる。ソース DVR 110は、また、その同じサウンドまたはグラフィックを再現する、または取られた動作で宛先DVR 770において関連付けられる、異なるサウンドまたはグラフィックを再現するそのイベントを、宛先DVR 770へパスする。例えば、子供は、このようにサウンドを遠隔宛先DVR 770上で彼の友達のために再現可能なプログラムに加える。このような通信は、多方向であることが可能である。
【0078】
別のアプローチにおいて、DVRは、同様に、他のタイプのデータを転送することができる。例えば、大きなホームDVR 110およびより小さいポータブルDVR 760を考慮されたい。ソフトウェア、グラフィカルエレメント、プログラムガイドデータ等のデータは、2つのDVR間で、転送可能である。例えば、ポータブルDVR 760 は、2つのDVRが接続される毎に、アップデート可能である、またはホームDVR110によりデータ同期可能である。アップデートは、ソフトウェアアップデートを転送かつインストールすること、プログラム情報を同期すること、記録スケジュールを同期すること等を含むことができる。同期は、PDAに良く似ている。ポータブルDVR 760は、ユーザがそれをすでに視聴したので、ホームDVR 110にプログラムを削除することを命じることができる。ポータブルDVR 760は、2つのDVRが接続される時は何時でも、任意の動作状態の情報をホームDVR 110へ転送し、次に、ホームDVR 110は、ホームDVR 110がサービスセンター130にアクセスする時は何時でも、その動作状態の情報をサービスセンター130へ送信する。
【0079】
アップデートは、自動的に実行可能である。このような場合、2つのDVR を接続する時、プログラムガイドまたはソフトウェアをアップデートするような一組の予め構成された動作が、実行され、次に、メディアストリームが、同様に、転送可能である。宛先DVR 760がより小さいポータブルユニットである場合、全てのメディアストリームが、適合するというわけではないであろう。この場合、視聴者は、どのメディアストリームを転送するかを、明確に選ぶことができる。これに代えて、ソースDVRにおけるアプリケーションソフトウェアは、視聴者に最も興味のある利用可能なメディアのサブセットを選択し、かつこれらのストリームのみを転送するために、プリファランス情報を使用することができる。別の代替において、メディアストリームは、転送され、最も新しいものから最も古いものへ進み、これ以上適合しないであろう時ストップする、または最も古いものから最も新しいものへ進む。シーズンパス(season pass)(1つチャンネル上の1つのプログラムの全ての表示が、記録されている)は、その DVRが「常に転送する(always transfer)」または「転送しない(never transfer)」というマーカーを含むことができる。別の基準は、プログラムが、明確に選び取られた、または視聴者プリファランスに基づいて選ばれたの何れかとすることが可能である。コンテンツ用の記述的オブジェクト内に記憶された任意のプログラム情報は、長さ、役者、レーティング等の選択基準において、使用可能である。その基準は、「常に転送する(always transfer)」などの動作をトリガすることができる。
【0080】
(G. ネットワークセキュリティスキーマ)
上記されたように、本明細書における1つのアプローチは、DVR 110、760、770間、またはコンテンツサーバ720とDVR 110、760、770間で、安全な暗号化されたデータ転送を提供する。このアプローチは、ユーザがプログラムを1つのDVR 110上に記録し、次に、そのプログラムを別のDVR 770上で観ることを可能にする。
【0081】
本明細書に記載された暗号化されたデータ転送システムは、ビデオを或るDVRから任意の互換性のないシステムへ、またはその第一のDVRの位置の外部のシステムへ転送することを非常に困難にする。それに応じて、ユーザは、彼等が作成した記録に対して合理的な公正使用権を行使することができるが、そのアプローチは、ユーザがビデオの「海賊版をつくる」、またはプレミアムコンテンツを公正使用原理に違反して彼等の友人に送信することを困難にする。
【0082】
本明細書における様々な実施例のアプローチは、以下の観点を含むことが可能である:
・記録は、暗号化される。多くの記録は、それらが最初に記録された時、暗号化される。暗号化されないこれらの記録は、1つのDVRから別に転送される前に暗号化可能である。このことは、誰かが、記録データを、それが家庭のネットワークにより伝わる時、「嗅ぎ付け(sniff)」かつそのデータのコピーをすることを困難にする。
・暗号化された記録が1つのDVRから別に転送される時、受信システムは、送信システムが、さらに、その1つの記録と関連付けられた暗号化/解読鍵を転送しない場合、記録を使用することができない。
・DVRは、それがIP放送メカニズムまたは他のネットワークディスカバリプロトコルを介して記録を転送することができるであろう、他のシステムを発見することができる。このようなディスカバリプロトコルにおいて、ディスカバリパケットは、典型的には、ローカルIPサブネットを離れない。住宅環境において、ローカルなIPサブネットは、家庭のLANを有する。さらに、あるいは、これに代えて、ユーザが他のユーザと記録を共有しようとする関心がある場合、DVRのアプリケーションソフトウェアは、システムの所有者がタイプ入力すること、または、そうでなければインターネット上の他の場所に位置するシステムのIPアドレスを手動で特定することを可能にするであろうメカニズムを提供しない。
・DVRは、受信システムが、その記録を視聴することが「許可される」場合、記録暗号化鍵を別のDVRに送信することのみが可能である。例えば、このコンテクストにおいて、「許可された」とは、宛先DVRが同じ家庭内にある、または許可された所有者により登録されたことを意味するであろう。鍵転送は、各転送された鍵が、それが送信された1つのシステムのみに理解される、堅牢な公開/プライベート鍵システムを使用して、実行される。
・許可は、1つの家庭の一部であることが知られる、または単一のユーザにより所有される特定のシステムをリストアップする、デジタル証明書を介して行われる。証明書は、システムの公開鍵を含み、かつサービスプロバイダによる「署名入り」である。各システムは、それが使用している証明書上の署名を検査し、かつ、さらに、任意のデータまたは鍵を任意の他のシステムへ転送する前に、その証明書に含まれるそれに対してその自身の識別を検査する。
【0083】
証明書システムは、「システムのシリアル・ナンバーを変える」または「証明書を異なるシステムにコピーする」または「証明書を変更する」などの攻撃を遮断するであろうセルフチェックを含む、ElGamal公開/プライベート鍵システムおよびBlowfish対称ブロック暗号に基づくことが可能である。
【0084】
図7および9を参照すると、ユーザは、彼がその間でコンテンツを共有したいと思うDVRの記録を作成するために、サービスセンター130にログオンする。ユーザは、任意の適切なユーザインタフェースを使用することにより、彼が含まれることを望むDVRのシリアル・ナンバーをエンターし、サービスセンター130は、そのデータベースを通して検査する、またはサービスセンター130は、ユーザが予め登録したシリアル・ナンバーを探し出す。サービスセンター130は、さらに、選択に対してこれらのDVRのみを表示することにより、ユーザを、彼が登録された所有者であるDVRのみに限定することができる。ユーザは、ユーザが容易にユニットを識別することができるように、名前を各ユニット、例えば、居間DVR、寝室、等と関連付けることができる。ユーザは、彼が共にメディアを共有または転送したいユニットを、選択する。
【0085】
サービスセンター130は、彼が選択したユーザのユニットを識別するデジタル証明書901を作成する。証明書 901は、各ユニットのシリアル・ナンバー903、905、およびその対応する公開鍵 904、905を含む。ユーザが各ユニットに割当てた名前は、さらに、証明書 901内の名前902により表示されるように、相互に参照される。証明書は、上記のようなUSBドングルを有するPCを含む、ユーザが識別する任意の数のユニットを含むことができる。
【0086】
証明書901が無期限に存在しないことを保証するために、有効期限 907は、証明書 901内に含まれる。デジタル署名 908は、証明書を受信するユニットが、証明書が実際にサービスセンター 130から発信されたことを検査するために、使用される。
【0087】
サービスセンター130は、証明書を、証明書901内にリストアップされた各DVR 110、770に、(インターネット、LAN、または他の公開またはプライベートネットワークを有することができる)ネットワーク 140、電話線、または衛星接続によって送信する。証明書901は、各宛先DVR 110、760、770の公開鍵を使用して、暗号化可能である。ポータブルDVR 760は、その証明書を受信するために、サービスセンター130へネットワーク接続または電話線を介して接続することができる。これに代えて、ポータブルDVR 760は、その証明書を、それが接続するDVR 110から受信することができる。
【0088】
各DVR 110、760、770は、証明書を解読し、かつ証明書901内のデジタル署名 908を検査することにより、証明書を検査する。一旦、DVRが、デジタル署名 908がサービスセンター 130からであることを検査すると、DVRは、米国カルフォルニァ州CupertinoのアップルコンピュータからのRendezvousなどのピアディスカバリプロトコルを使用して、証明書 901内にリストアップされた全てのピアのネットワーク位置を探し出す。
【0089】
一旦、DVR 110が、ネットワーク内にピア 770を発見すると、それは、証明書 901からのピアの公開鍵を使用して、ピア770との暗号化された接続をセットアップする。暗号化された接続は、それが2つの公開鍵の機能であり、各ピアからの1つであるという点で、「弱く」暗号化されるであろう。各ピアは、他方の公開鍵を使用して、メッセージを送信する。ユニットは、コンテンツサーバとして指定され、本具体例において、コンテンツサーバ 720は、サービスプロバイダにより提供され、かつ遠隔に位置している。
【0090】
コンテンツサーバ 720は、ランダムな強い接続鍵を作成することにより、DVR 110とさらに強く暗号化された接続を作り出し、かつDVRの公開鍵を使用して、強い鍵を暗号化する。コンテンツサーバ720は、次に、暗号化された強い鍵をDVR 110へ送信する。DVR 110は、強い鍵を解読する。1つのアプローチにおいて、解読は、ハードウェア解読エレメントを使用することができる。2つのシステムは、今、安全な鍵を共有する。
【0091】
ユーザは、或る記録されたコンテンツをDVR 110へ送信することをリクエストすることができる。コンテンツサーバ720が予め暗号化された記録をDVR110へ送信する時、それは、そのデータベースから記録を暗号化するために使用された記録鍵をロードし、かつ強い鍵を使用して、記録鍵を暗号化する。コンテンツサーバ 720は、暗号化された記録鍵をDVR 110へ送信する。
【0092】
DVR 110は、強い鍵を使用して、それがコンテンツサーバ 720と共有する記録鍵を解読し、かつ記録鍵を記憶する。コンテンツサーバ720は、それがローカルに記憶した記録されたコンテンツをDVR 110に送信する。記録されたコンテンツは、それがコンテンツサーバ 720により最初にローカルに記憶された時、すでに暗号化されていた。コンテンツサーバ 720は、コンテンツを解読することなく、記録されたコンテンツを送信する。
【0093】
DVR 110は、記録されたコンテンツを、それをデコードすることなく、直接その記憶デバイスに書き込む。DVRが記録されたコンテンツをプレイする時、それは、コンテンツを実行中にデコードする。コンテンツが伝送中暗号化された状態であり、かつ暗号化されてDVR上に記憶され、本明細書に記載されたアプローチは、記録されたコンテンツの完全性を保護し、これによりコンテンツの任意の許可されないコピーを防止する。
【0094】
コンテンツサーバ720が、暗号化されない記録をDVR110へ送信する場合、それは、記録を暗号化するために使用されるであろうランダムな記録鍵を作成し、かつ強い鍵を使用して、記録鍵を暗号化する。コンテンツサーバ 720は、暗号化された記録鍵をDVR 110へ送信する。
【0095】
DVR 110は、それがコンテンツサーバ 720と共有する強い鍵を使用して、記録鍵を解読し、かつ記録鍵を記憶する。コンテンツサーバ 720は、それがローカルに記憶した記録されたコンテンツをDVR 110に送信する。記録されたコンテンツは、それがコンテンツサーバ 720により最初にローカルに記憶された時、暗号化されなかった。コンテンツサーバ 720は、それがコンテンツを送信する時、コンテンツを暗号化し、記録されたコンテンツを送信する。
【0096】
DVR 110は、記録されたコンテンツを、それをデコードすることなく、直接その記憶デバイスに書き込む。DVRが記録されたコンテンツをプレイする時、それは、コンテンツを実行中にデコードする。コンテンツが伝送中暗号化された状態であり、かつ暗号化されてDVR上に記憶され、このアプローチは、なお、記録されたコンテンツの完全性を保護し、これによりコンテンツの任意の許可されないコピーを防止する。
【0097】
図10は、住宅1001内のローカルにネットワークされたDVR セットアップにおけるメディアサーバ1002 を示す。図10の具体例において、DVR 1003は、寝室 1に位置し、DVR 1004は、寝室 2に位置し、およびDVR 1005は、エンターテイメントルームに位置している。メディアサーバ1002は、居間に存在する。ユーザは、DVR 1003、1004、1005、およびメディアサーバ 1002が、コンテンツを共有するために、許可され、かつ各ユニットを、それが存在する部屋により、関連付けることをサービスセンター1006へ指示する情報を、送信する。サービスセンター1006は、メディアサーバ1002と各DVR 1003、1004、1005とのシリアル・ナンバーおよび公開鍵を含む証明書901を、有効期限およびサービスセンターのデジタル署名と一緒に作成する。
【0098】
メディアサーバ1002 は、PC、DVR、または他のタイプのコンテンツサーバであることが可能である。ユーザは、メディアサーバ 1002をローカルネットワーク内のマルチメディアコンテンツのメインソースとして指定する。
【0099】
サービスセンター 1006は、証明書を、メディアサーバ 1002とDVR 1003、1004、1005とへ、インターネット 1007を介して、送信する。メディアサーバ1002とDVR 1003、1004、1005とは、証明書内の情報を、それらのピアを発見するために、使用する。DVR 1103、1004、1005は、メディアサーバ 1002がコンテンツを提供する唯一のシステムであることを発見する。一旦、メディアサーバ 1002が弱く暗号化された接続を各DVR 1003、1004、1005と設定すると、それは、各DVR 1003、1004、1005に対してランダムな強い接続鍵を作成する。メディアサーバ 1002は、特別のDVRの公開鍵を使用して、各強い鍵を暗号化し、かつ暗号化された強い鍵を各DVR 1003、1004、1005へ送信する。DVRは、そのローカル暗号チップを、強い鍵を解読するために使用する。メディアサーバ 1002は、今、安全な鍵を各DVR 1003、1004、1005と共有する。
【0100】
図16から21を参照すると、各DVRは、メディアサーバのコンテンツにアクセスを有する。先ず、図16を参照すると、ユーザは、(形式およびコンテンツにおいて、図6内のNow Showing 画面に類似している)Now Playing 画面 1601に進み、かつユーザがアクセスすることができる全てのメディアサーバを見る。例えば、メディアサーバラベル1602は、ユーザが「寝室」と名付けられたDVRにアクセスすることができることを表示する。ユーザは、ラベル 1602を使用して、所望のサーバを選択し、かつメディアサーバがどのコンテンツを利用可能であるかをリストアップするコンテンツ画面1701 (図17) を、表示する。ユーザは、或る記録されたコンテンツ (音楽、写真、ビデオ等。) が特別のDVR 1003へコンテンツ画面1701を介して送信されることを、リクエストすることができる。ユーザは、このことを、上記の遠隔で、またはDVR 1003それ自体により行うことができる。ユーザは、選択されたコンテンツを転送するためのオプションを、transfer options画面 1801 (図18)を使用して、選択する。ユーザは、Start From オプション1802を使用して、転送をスタートすべきところを選択することができる。例えば、転送は、プログラムの開始から、ユーザが最後に一時停止したところから、またはプログラム内の或る時間でスタートすることができる。ユーザは、図20の画面キャプチャ 2001および図21の画面キャプチャ2101により表示された同じ方法で、音楽コンテンツおよび写真コンテンツを視聴かつ転送することができる。
【0101】
図10に関して上記されたように、メディアサーバ 1002は、予め暗号化された記録をDVR 1003へ送信することができる。メディアサーバ 1002は、そのデータベースから記録を暗号化するために使用された記録鍵をロードし、かつ強い鍵を使用して、記録鍵を暗号化する。メディアサーバ1002は、オプションとして、ローカルな暗号化鍵を使用して、そのデータベース内の記憶のために、記録鍵を暗号化することができる。任意の暗号化鍵を平文で記憶することは、通常、望ましくなく、従って、ローカル鍵を用いた単純な暗号化は、最良である。それは、暗号化された記録鍵をDVR 1003へ送信する。
【0102】
DVR 1003は、強い鍵を使用して、それがメディアサーバ 1002と共有する記録鍵を解読し、かつ記録鍵を記憶する。DVR 1003は、オプションとして、記憶の前にローカルな鍵を使用して記録鍵を暗号化することができる。メディアサーバ 1002は、それがローカルに記憶した記録されたコンテンツをDVR 1003へ送信する。記録されたコンテンツは、それがメディアサーバ1002により最初に記憶された時、すでに暗号化されていた。メディアサーバ1002 は、記録されたコンテンツを、コンテンツを解読することなく、送信する。
【0103】
DVR 1003は、記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに、直接書き込む。DVR 1003が記録されたコンテンツをプレイする時、それは、記録鍵を使用して、コンテンツを実行中にデコードする。図19を参照して、ユーザは、プログラムがまだ転送しているかを知るために、プログラム情報画面1901を選択することができる。ユーザは、(上記の)転送が進行中である間、Playオプション 1902を選択することにより、そのプログラムをプレイすることができる、またはStop transfer オプション 1903を使用して、転送を停止することができる。
【0104】
メディアサーバ1002が、暗号化されない記録をDVR 1003へ送信する場合、それは、記録を暗号化するために使用されるであろうランダムな記録鍵を作成し、かつ強い鍵を使用して、記録鍵を暗号化する。メディアサーバ1002 は、暗号化された記録鍵をDVR 1003へ送信する。
【0105】
DVR 1003は、強い鍵を使用して、それがメディアサーバ 1002と共有する記録鍵を解読し、かつ記録鍵を記憶する。DVR 1003は、オプションとして、記憶の前にローカルな鍵を使用して記録鍵を暗号化することができる。メディアサーバ 1002は、それがローカルに記憶した記録されたコンテンツをDVR 1003へ送信する。記録されたコンテンツは、それがメディアサーバ 1002により最初に記憶された時、暗号化されなかった。メディアサーバ 1002は、それがコンテンツを送信する時、コンテンツを暗号化し、記録されたコンテンツを送信する。
【0106】
DVR 1003は、記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに、直接書き込む。DVR 1003が記録されたコンテンツをプレイする時、それは、記録鍵を使用して、コンテンツを実行中にデコードする。
【0107】
コンテンツ著作権が懸念される場合、DVR 1003は、その記憶デバイス上にコンテンツを記憶する必要がないことに留意されたい。それは、コンテンツを、単にプレイする、またはすぐに表示する。コンテンツが暗号化された場合、DVR 1003は、コンテンツを実行中に解読する。
【0108】
上記アプローチは、それがインターネットにわたって行われるように、ローカルなネットワークにおいて、等しく良好に、実行する。
【0109】
(H. 証明書コヒーレンシーの保存)
図11を再度参照すると、強い鍵の作成は、多くのCPUサイクルを利用する。1つのアプローチにおいて、DVR 1101は、それがメディアサーバとして指定される時、今後の使用に対して複数の強い鍵を作成かつ記憶することを要求される可能性がある。さらに、受信DVRは、強い鍵を解読するために、受信次第、多くのCPUサイクルを必要とする。このことは、DVRの全体の性能を、著しく落とす。本明細書における技術は、DVR 1101が、DVR 1102がリブートする、または再スタートされる時は何時でも新しい強い鍵を作成する更なる負担をなくす。それは、さらに、DVR 1102が、リブートまたは再スタートした後、強い鍵を解読する負担をなくす。
【0110】
DVR 1101は、最初に、強い接続鍵を作成し、それをそのローカルキャシュ1103内に記憶し、かつ他方のDVR1102の公開鍵を使用して、鍵を暗号化する。DVR 1101は、暗号化された強い鍵をDVR 1102に送信する。DVR 1102は、強い鍵を解読し、かつその鍵をそのローカルキャシュ1104内に暗号化された強い鍵とDVR 1101の機械シリアル・ナンバーと一緒に記憶する。
【0111】
DVR 1102が、リブートするまたは再スタートされる場合、それは、その状態がネットワーク内においてどうであるかを知らない。それは、数秒間ダウンしていたかもしれない、またはそれは、別のネットワークから移転されたかもしれない。DVR 1102は、メディアサーバとして指定されたDVR 1101から強い鍵をリクエストする。DVR 1101は、そのローカルキャシュ 1103に記憶した強い鍵を送信する、またはDVR 1102がDVR 1101と設定された強い接続を有さなかった場合、新しい強い鍵を作成する。強い鍵は、DVR 1102の公開鍵を使用して、暗号化され、かつDVR 1102へ送信される。
【0112】
DVR 1102が、暗号化された強い鍵を受信する時、それは、DVR 1101からのエントリに対して、ローカルキャシュ1104をチェックし、およびそれが、ある1つを探し出す場合、それは、ローカルキャシュ1104内の暗号化された鍵とビットごとの比較を行う。2つの鍵が同じ場合、次に、DVR 1102は、ローカルキャシュ 1104に記憶された、予め解読された鍵を使用する。そうでなければ、DVR 1102は、新しく送信された鍵を解読し、かつ新しいエントリにおける暗号化された鍵と、解読された鍵と、DVR 1101 機械シリアル・ナンバーとをローカルキャシュ 1104内に記憶する。このように、この長い解読ステップは、不可欠な場合を除き、避けるられる。
【0113】
(I. インターネット・メディア・ダウンロード)
サーバからDVRへのインターネットメディアダウンロードを容易にするために、図12は、図9に示されるデジタル証明書の修正を示す。また、図7を再度参照すると、サービスセンター130は、DVR 110、770に配布される証明書901を作成する。DVR110、770は、サービスのシリアル・ナンバーフィールド 903内の特別にプレフィックスされたシリアル・ナンバー、例えば: FFFxxxxxxxxxxxx(ここで、"xxxxxxxxxxxx"は、バージョン番号、サービスプロバイダ等の追加の情報を提供するために使用される。)を使用して、サービスエントリを認識するであろう。表示名 902は、「特殊なビデオ」などのサービスを表す何かに設定される。直接公開鍵の代わりに、鍵フィールド1204、1206は、サーバに対するアクセスポイントの充分に修飾されたドメイン名(fully qualified domain name)で満たされる。
【0114】
証明書901は、サービスサーバ情報とピアユニット情報との混合したものを含むことができる。有効期限 907およびデジタル署名 908は、同じままである。
【0115】
従って、サービスセンター130は、同じまたは異なるサーバ等を指名するために、全ての、またはグループの証明書のフィールド内に、情報を置くことができる。
【0116】
DVR 110は、証明書内のサービスシリアル・ナンバーを認識し、かつピング(ping)を、鍵フィールド、例えば、鍵フィールド 1204におけるドメイン名を使用して、それが到達可能かを見るためにサーバへ送信する。新しいDVRが接続する時、サーバは、DVRの公開鍵を捜し、かつ任意の他の必要とされる鍵を生成するために、それを使用する。DVRは、サーバのための鍵を所有する必要はない;サーバは、セッションのための強い鍵を生成し、かつその強い鍵を、DVRの公開鍵を用いて、暗号化する。それは、次に、暗号化された強い鍵をDVRへパスする。
【0117】
一旦、通信が、設定されると、DVR 110は、コンテンツに関してサーバに問い合わせることができる。
【0118】
サーバは、それが利用可能であるものを記載するために、適切なメタデータを合成し、かつそれをDVR 110へ送信する。メタデータが合成されるので、それは、1つ当りのDVRをベースに、一意的に作成可能である。例えば、DVR所有者は、歴史、ドラマ、コメディ等の異なる種類のサービスためにサインアップすることができる。
【0119】
これに代えて、サーバは、サーバが適切なメタデータを合成するために使用するそのプリファランスベクトル(preference vector)をサーバへ送信するように、DVR 110に指示することができる。DVRのプリファランスベクトルは、ユーザの視聴習慣、例えば、ユーザが、彼が好きである、および好きでないことを表示したもの、彼が、シーズンパス契約などのオプションを使用して、決まって記録したものを含む。サーバは、プリファランスベクトル情報を記憶しない;それは、情報を使用後、そのまま廃棄する。このことは、ユーザのプライバシーを保護し、かつ、プリファランスが、いつも、DVR 110上に保たれることを保証する。
【0120】
標準ビデオ、音楽、および写真転送インタフェースは、上記において、使用される。図16は、そのDVRそれ自体と他のアクセス可能なサーバおよびDVRとから利用可能なコンテンツを表示する(1602)、Now Playing 画面1601を示す。サービスからのコンテンツのためのエントリは、リストアップされた証明書からのその関連付けられた名前を有する。同様に、別のDVRからのコンテンツは、もし存在するならば、ユーザがそれと関連付けた名前 1602を使用して、リストアップされる。このように、ユーザは、コンテンツのソースを知っている。図17は、コンテンツソース 1702の名前を表示するコンテンツ画面1701を示す。図20および21は、音楽コンテンツ画面 2001および写真コンテンツ画面 2101を示す。
【0121】
図13を参照すると、サーバ 1301からコンテンツをダウンロードすることに興味があるDVRは、サーバ 1301にピングする。サーバ 1301は、ピングサービスを動作させ、DVRからのリクエストに、それらが入って来る時、応答する。このことは、サーバ 1301がビデオをダウンロードするために、「サインアップされた(signed up)」全てのDVRの記録1302を保持することを可能にする。記録1302 は、例えば、別のIPアドレスからダウンロード可能なビデオにアクセスするDVRのクローンが存在しないことを保証するために、後で、監査可能である。記録 1302は、また、課金の目的で、ユーザがビデオをダウンロードするためにサインアップされた彼のDVR 1303を有した時間の長さを追跡するために使用される。
【0122】
ユーザが、DVR 1303へ転送するために、サーバ1301からのエントリを選択する時、DVR 1303は、サーバ 1301とコンタクトをとり、かつ適切なメディアオブジェクトをリクエストする。その時点で、サーバ1301は、そのプログラムがダウンロードされている1302を記録し、課金システム等へのエントリを含むことが可能である。
【0123】
記録は、ユーザによりサービスセンターのウェブサイト上へ問い合わせ可能であり1304、したがって、彼は、彼の請求書を容易にチェックすることができる。
【0124】
図14を参照すると、接続を、DVR 1401から第三者のサーバのグループ 1403、1404、1405の1つへリディレクトする、ドメイン名リディレクタ 1402が、使用可能である。リディレクションは、負荷、使用されるドメイン名プレフィックス等に基づいて、発生することができる。このことは、サービスセンターが、リクエストを別の会社のサーバへリディレクトすることを可能にする。リディレクションは、様々な実施例において、料金または収入の分担を含むことができる。
【0125】
ドメイン名リディレクタ1402は、各第三者のサーバ 1403、1404、1405上に存在することができ、従って、DVR 1401からのリクエストは、第三者のサーバそれ自体により、リディレクト可能である。DVR 1401は、第三者のサーバ 1403との接続をリクエストする。第三者のサーバ 1403は、リクエストをDVR 1401から第三者のサーバ 1404へリディレクトすることにより、その任務を第三者のサーバ1404に「任せる(delegates)」。DVR 1401は、次に、そのコンテンツリクエストのために、第三者のサーバ 1404とコンタクトをとる。このことは、第三者のサーバが、過負荷状態であるまたは何れにせよリクエストに対処することはできないとそれ自身により判断することを可能にする。
【0126】
(J. 暗号化パイプラインとしてのDVRの使用)
図15を参照すると、DVR 1503、1504、1505に提供されるコンテンツは、最初に、第三者のコンテンツサーバなどのコンテンツサーバ 1501により、生成することができる。コンテンツサーバ1501は、DVRの暗号化技術またはアーキテクチャに関する任意の情報にアクセスを有しない。DVR 1502は、コンテンツをエンコードし、かつ暗号化するために使用される。DVR 1502は、高速ネットワークエンジンを有し、かつ「暗号化パイプライン(encryption pipeline)」として機能する。データは、コンテンツサーバ1501からDVR 1502へ.送信される。DVR 1502は、データをそのローカル記憶デバイスへ書き込みながら、データをエンコードし(必要であれば)、かつ暗号化する。DVR 1502は、次に、データをローカル記憶デバイスから、解読することなく、読み出し、かつそのデータを、ネットワークにわたって、DVR 1503、1504、1505の中から選択された対象のDVRへ送信する。
【0127】
別のアプローチは、そのコンテンツの安全な伝送を有する第三者のコンテンツサーバを提供する。データは、コンテンツサーバの暗号化技術を使用して、コンテンツサーバ 1501からDVR 1502へ送信される。DVR 1502は、コンテンツサーバの解読技術を使用して、データを解読する。DVR 1502は、次に、データをそのローカル記憶デバイスに書き込みながら、データを(必要であれば)エンコードし、かつ(DVRの暗号化技術を使用して)暗号化する。DVR 1502は、次に、データをローカル記憶デバイスから、解読することなく、読み出し、かつそのデータを、ネットワークにわたって、DVR 1503、1504、1505の中から選択された対象のDVRへ送信する。
【0128】
このことは、第三者のコンテンツ提供者が、DVR暗号チップ、暗号化技術、またはアドレス指定方式に関する任意の保護必要情報にアクセスを有しないことを保証する。それは、さらに、商品を市場に送出す時間および第三者の提供者をコンテンツサーバネットワーク内に組み込むコストを削減する。
【0129】
(K. 電子メールを介したコンテンツへのアクセス)
上記のように、任意の前述の実施例におけるメディアサーバは、PC、DVR、またはコンテンツを供給することができる任意の他のメカニズムであることが可能である。本明細書に記載されたアプローチは、DVRが、メディアサーバのクライアントとして、メディアサーバ上に記憶された音楽、ビデオ、および写真コンテンツなどのマルチメディアコンテンツにアクセスすることを可能にする。しかしながら、DVRおよびメディアサーバが、インターネットにアクセスを有することが可能なので、コンテンツは、生じる必要はないし、また物理的に任意の所定のメディアサーバ上に収容される必要もない。
【0130】
従って、コンテンツは、サーバが以下を含む特殊なファイルを処理するように構成することにより、DVRユーザに利用可能とされる:
・(例えば、JPEG形式 MP3、またはMPEGファイル形式の)実際のコンテンツ。
・DVR環境設定、例えば、記録スケジュール、データベース修正、コンテンツプリファランス、等。
・別のサーバに、またはインターネット上に潜在的にどこでも位置している別のサーバ上に記憶されるコンテンツへの「リンク(Links)」。
【0131】
このようなファイルは、DVRユーザに電子メール介して、または、インターネットダウンロードを介して提供可能である。コンテンツを電子メールを介してDVRへ送信できる方法を示す2つの具体例のシナリオは、以下に記載される。
【0132】
図22および23を参照すると、典型的な家庭用DVRセットアップ2201が、示される。メディアサーバ2202のみがインターネット2205へアクセス可能であると仮定されたい。電子メールオーサー 2204は、オーサーリングソフトウェアを用いて、コンテンツファイルを作成する。ファイルは、例えば、幾つかの画像に関して実際の2値データをJPEG形式で含む(それは、任意のタイプのコンテンツを含むことができる)。コンテンツファイルは、メディアサーバ 2202を実行する同じコンピュータからの電子メールにアクセスするユーザへ、添付ファイルとして、電子メールされる。電子メール以外のメッセージ通信メカニズムは、代替の実施例において、使用可能である。
【0133】
ユーザは、電子メールを読取り、かつ、彼が、コンテンツに興味を持つ場合、ユーザは、添付されたコンテンツファイルを選択し、コンテンツファイルを処理するためにメディアサーバ 2202を呼び出す。メディアサーバ 2202は、そこからコンテナ(メタデータ)情報およびJPEGデータを後で生成できる画像に関する情報を内部のデータベースに加える。
【0134】
ユーザは、彼のDVR 2203に行き、かつ彼のテレビジョンセットを介して「Music & Photos」機能にアクセスし、DVR 2203にメディアサーバ 2202からコンテナ情報をリクエストさせる。写真コンテンツ画面 2101に示された利用可能であるコンテンツの他のコンテナの中で(図21)、ユーザは、今、コンテンツファイルからの画像を有する1つにアクセスすることができる。ユーザが、画像の1つを視聴するために、コマンドを発行する時、DVR 2203は、適切なJPEGデータをレンダリングしかつそのデータをDVR 2203へパスするためにその内部のデータベースを調べるメディアサーバ 2202に対してリクエストを作成する。DVR 2203は、画像をユーザに表示し、かつ画像をそのローカル記憶デバイスに記憶しない。ユーザは、早送り、一時停止、逆送り、プレイ(スライドショー)、等のトリックプレイ機能を複数の写真ファイル上で使用することができる。
【0135】
図23において、DVR 2303およびメディアサーバ 2302の両方がインターネット 2305にアクセスを有する家庭用DVR セットアップ 2301 が、示される。オーサー 2304は、オーサーリングソフトウェアを用いて、コンテンツファイルを作成する。ファイルは、コンテンツサーバ 2306上に収容されかつHTTPを介して供給されるMP3音楽ファイルなどの1つ以上のコンテンツファイルにリンクする。コンテンツファイルは、添付ファイルとして、メディアサーバ 2302を実行する同じコンピュータから電子メールに(観念的に)アクセスするユーザに電子メールされる。
【0136】
ユーザは、電子メールを読取り、かつ、彼が、コンテンツに興味を持つ場合、ユーザは、添付されたコンテンツファイルを選択し、コンテンツファイルを処理するためにメディアサーバ 2302を呼び出す。メディアサーバ2302は、そこからコンテナ情報を後で生成できるコンテンツファイルに関する情報を、内部のデータベースに加える。
【0137】
利用者は、彼のDVR 2303に行き、かつ「Music & Photos」機能にアクセスし、DVR 2203にメディアサーバ 2302からのコンテナ情報をリクエストさせる。音楽コンテンツ画面 2001に示された利用可能であるコンテンツの他のコンテナの内から(図20)、利用者は、今、コンテンツサーバ 2306により供給される音楽を有する1つにアクセスすることができる。ユーザが、音楽ファイルの1つをプレイするために、コマンドを発行する時、DVR 2303は、適切なデータを検索するために、インターネット 2305にわたって、直接、コンテンツサーバ2306にアクセスする。ユーザは、早送り、一時停止、逆送り、プレイ、等のトリックプレイ機能を、音楽ファイル上で、使用することができる。音楽を通した進行は、接続されたテレビジョンセットにより、図8に示されるリプレイバーを使用して、ユーザに表示される。DVR 2303は、著作権保護のため、音楽をその記憶デバイス上に記憶しない。
【0138】
上記のように、2つの前述の具体例は、DVRが使用または表示することができる任意のタイプのコンテンツに対して使用可能である。構成情報が受信される場合、DVR 2303は、そのローカル記憶デバイス上に、構成情報を記憶し、かつそれ自身を構成するために、構成情報を使用するであろう。ビデオが受信される場合、DVR 2303は、そのローカル記憶デバイス上に、ユーザによって後で再生するために、ビデオコンテンツを記憶することができる。ユーザは、早送り、一時停止、逆送り、プレイ、スロー・プレイ、フレーム・ステップ、等のトリックプレイ機能を、ビデオコンテンツ上で、使用することができる。
【0139】
DVRユーザは、コンテンツをお互いに電子メールを介して共有するために、このアプローチを使用することができるであろう。例えば、一人のユーザは、別のユーザに、第一の利用者のPC上に収容されたパーソナル写真へのリンクを有するコンテンツファイルを、送信することができるであろう。
【0140】
本明細書のこのアプローチは、コンテンツをDVRユーザに電子メールを介して販売するために、第三者のベンダーに対してさらに有益になる可能性がある。例えば、レコード会社は、サンプルの歌を含むMP3ファイルへのリンクを有するコンテンツファイルを送信することにより、新しいアルバムを宣伝することができるであろう。
【0141】
第三者のパートナーは、製品をDVRユーザに電子メールを介して配信するために、本明細書におけるアプローチを使用することができる。例えば、フィルム処理現像所は、DVRユーザによりオンラインで購入されたデジタル化された写真を含むコンテンツファイルを電子メールすることができるであろう。
【0142】
前述の明細書において、本発明は、特定の実施例を参照して説明された。しかしながら、様々な修正および変更が、本発明のより広い精神および範囲から逸脱することなく、行うことができることは明らかであろう。従って、本明細書および図面は、限定的な意味ではなく例示的な意味で、考えられるべきである。
【図面の簡単な説明】
【0143】
【図1】集中型パーソナルテレビジョンサービスへの遠隔アクセスのための通信システムを例示するブロック図である。
【図2】図1に示されるシステムの動作プロセスを示すデータの流れ図である。
【図3】図2に示されるユーザデータベースおよびイベントデータベースの構造を例示する図表である。
【図4】ユーザからの遠隔プログラミング指示を得るために、パーソナルTVサービスのウェブサーバにより使用されるプロセスを示すフローチャートである。
【図5】プログラム選択のためのグラフィカルユーザインタフェースの画像表示である。
【図6】ユーザのウェブブラウザまたはテレビジョン画面に現れるNow Showingのウェブページの画面キャプチャである。
【図7】パーソナルTVサービスセンター、DVR、および外部のコンテンツサーバ間のインターネットにわたる対話を例示するブロック図である。
【図8】コンテンツが再生速度より速くダウンロードされていることを表示するリプレイバーの画面キャプチャである。
【図9】DVR情報を含むデジタル証明書を例示する線図である。
【図10】家庭内のDVRに接続されたローカルネットワーク内のメディアサーバを例示するブロック図である。
【図11】強い暗号化された接続を作り出すために、2つのDVR間の通信交換を例示するブロック図である。
【図12】DVRおよびコンテンツサーバ情報を含むデジタル証明書を例示する線図である。
【図13】課金の目的でDVRアクセス情報を記録するサーバを例示するブロック図である。
【図14】DVRリクエストを第三者のサーバへリディレクトするドメイン名リディレクタを例示するブロック図である。
【図15】第三者のコンテンツサーバに対する暗号化パイプラインとして使用されているDVRを例示するブロック図である。
【図16】アクセス可能なメディアサーバを示しているNow Playing画面の画面キャプチャである。
【図17】メディアサーバに対するアクセス可能なコンテンツを示しているコンテンツ画面の画面キャプチャである。
【図18】メディアサーバからのコンテンツを示している転送オプション画面の画面キャプチャである。
【図19】メディアサーバから転送されているプログラムを示しているプログラム状態画面の画面キャプチャである。
【図20】メディアサーバからアクセス可能な音楽を示している音楽画面の画面キャプチャである。
【図21】メディアサーバからのアクセス可能な写真を示している写真画面の画面キャプチャである。
【図22】インターネットアクセスを有するメディアサーバを備えた、家庭内のDVRに接続されたローカルネットワーク内のそのメディアサーバを例示するブロック図である。
【図23】インターネットアクセスを有するメディアサーバとDVRの両方を備える、家庭内のそのDVRに接続されたローカルネットワーク内のそのメディアサーバを例示するブロック図である。
【符号の説明】
【0144】
1301 サーバ
1302 DVRの記録
1303 DVR
1304 ユーザによるウェブアクセス
【技術分野】
【0001】
本発明は、パーソナルマルチメディアサービスに関する。さらに詳細には、本発明は、マルチメディアシステム間で、マルチメディアコンテンツを安全に転送するための方法および装置に関する。
【背景技術】
【0002】
VCR(ビデオカセットレコーダ(videocassette recorder))の出現で、TV視聴者は、所定の時間帯に放送されるTVプログラムイベントを記録することができ、かつ記録されたプログラムコンテンツを後で再生することができる。記録中に、VCRは、プログラムコンテンツの電気信号を磁気信号に変え、かつ磁気信号を磁気テープ上に記憶する。再生する時、VCRは、磁気信号を電気信号に変え、および付属のTVセットは、その信号のプログラムコンテンツをその画面に表示する。
【0003】
デジタル技術の開発にともなって、VCRは、DVR(デジタルビデオレコーダ(digital video recoder))に取って代わられてきている。VCRと同様に、DVRの機能性は、放送されたプログラムイベントを、後で再生するために記録することである。記録中に、DVRは、放送プログラムコンテンツの電気信号を、MPEGデータストリームなどのデジタル情報に変え、かつそのデジタル情報をメモリデバイスに記憶する、またはデジタル化される前のTV信号をメモリに直接記憶する。再生する時、DVRは、デジタル情報をアナログ信号に逆に変換する。付属のTVセットは、その信号のプログラムコンテンツをその画面に表示する。
【0004】
VCRを使用して、TVプログラムイベントを記録するために、ユーザは、チャンネルを手動で選択し、かつVCRをコントロールしなければならない、または他の誰かにその操作を実行してもらわなければならない。しかしながら、DVRを使用することにより、ユーザは、TVプログラムガイドに従って、DVRをプログラミングして、プログラム記録シーケンスを設定することができ、かつその記録を自動的に実行させることができる。
【0005】
DVRは、ユーザが記録時間、チャンネル、および複数のイベントの持続時間を特定することを可能にするが、それは、プログラムイベントをさらにインテリジェントな方法で、定義し、かつキャプチャする際に、増え続ける要求を満たすことができない。例えば、ユーザが彼のDVRおよびTVセットから遠く離れている状況において、彼は、彼のDVRをプログラムできないし、かつ彼の好きなプログラムイベントを記録することができないであろう。
【0006】
望まれることは、ユーザが、集中型TVプログラムガイドデータベースにアクセスすることができ、かつ彼のDVRをどこででもプログラムすることができる通信システムを設定することである。
【0007】
さらに、このようなシステムは、ユーザに、記録されたプログラムマテリアルを1つのDVRから別のDVRへ、またはサーバからDVRへ、そのプログラムマテリアルプロバイダの著作権を保護する安全な方法で、転送する能力を提供するであろう。
【0008】
【特許文献1】米国特許番号第 6,233,389号
【特許文献2】米国特許番号第 6,385,739号
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、添付図の図面において、具体例により例示され、それらに限定されるわけではない。ここで、同様の参照番号は、同様のエレメントを指す。
【0010】
安全なマルチメディア転送のための方法および装置が、記載される。以下の記載において、説明のために、多数の特定の詳細は、本発明の完全な理解のために説明されている。しかしながら、本発明がこれらの特定の詳細無しに実施可能であることは、明らかであろう。他の例において、本発明を不必要に不明確なものにしないように、周知の構造およびデバイスは、ブロック図形式で示されている。
【発明を実施するための最良の形態】
【0011】
以下の説明で、図面に関して、同一の参照番号は、その幾つかの図面を通して同一のパーツを指す。
【0012】
(A. パーソナルTVサービスへの遠隔アクセスのためのシステム)
図1を参照すると、パーソナルTVサービスへの遠隔アクセスのための通信システムが、示され、一般に、100として指定される。1つのアプローチに従って、家庭内に据え付けられたデジタルビデオレコーダ(DVR)110は、パーソナルTVサービスセンター(以下、サービスセンターと称される)130と通信する。このセンターは、プログラムガイドデータ、グラフィカルリソース(例えば、フォント、ピクチャ等)、サービス情報、およびDVR110が視聴者の興味を満足させるためにサービスセンター130と独立して動作することを可能にする他の形のデータを提供する。DVRの機能性は、本出願人により所有されかつ本明細書に参照として組み込まれる特許文献1に示されている。通信システムは、データを、DVR 110とサービスセンター130との間で、サービスデータとユーザのプライバシーとの両方が保護されるように転送するために、安全な配布アーキテクチャを使用する。DVR 110は、アンテナ 115からの放送信号を受信する、またはケーブルTVシステムからのテレビジョン信号を受信する。
【0013】
本発明の一実施例において、DVR 110は、一般に:アナログテレビジョン信号をデジタル化しかつそれをデジタルデータストリームに変換するために必要な複数のコンポーネントと;当該データストリームのセグメントを記録するように設計された複数のコンポーネントと;当該データストリームのセグメントを保存するように設計された複数の記憶機能と;当該データストリームのセグメントを検索し、当該データストリームをアナログ信号に変換し、次に、それを通して信号が標準のTVセット120に配信されるRF搬送波上に、信号を変調するように設計された複数のコンポーネントと;それを通してDVR110がネットワーク140と通信するインタフェース125とを有する。
【0014】
DVR110は、変更できないプライベート鍵を有するローカルな安全な暗号チップを含む。DVR 110の安全機能性は、さらに、本出願人により所有されかつ本明細書に参照として組み込まれる特許文献2 に記載されている。
【0015】
DVR 110は、着信呼モデムバンク145にダイヤルするためにその内部の電話モデムを使用することにより、サービスセンター130に直接接続可能である。着信呼は、最初に、サービスセンター130に、識別検証のためにルーティングされる。検証次第、その着信呼は、許可される。プライベートモデムバンク145は、呼出しに答え、かつDVR 110は、サービスセンター130内のデータベースへのアクセスを認められる。
【0016】
これに代えて、DVR 110は、サービスセンター130にネットワーク140を介して間接的に接続可能である。DVR 110とネットワーク140間のインタフェース 125は、DVR 110の内部の電話モデム、またはケーブルモデムなどの専用のネットワークインタフェースとすることが可能である。コンピュータネットワーク140は、プライベートネットワークまたはインターネットの何れかとすることができる。DVR 110は、ISP(インターネットサービスプロバイダ(Internet service provider))に対してローカルなアクセス電話番号を呼び出すことにより、コンピュータネットワーク140への接続を開始する。このISPは、ネットワーク接続リクエストを、識別検証のために、サービスセンター130に向ける。検証次第、ネットワーク接続は、許可され、かつDVR 110は、サービスセンター130内のデータベースへのアクセスを認められる。
【0017】
サービスセンター130は、外部のソースから、プログラムスケジュール情報150を受信する。プログラムスケジュール情報150は、TV視聴者が記録されるべきTVプログラムを選択するために使用することができるプログラムガイドの基礎を形成する。サービスセンター130は、コンピュータネットワーク140とインタフェース135を通して通信する。
【0018】
TV視聴者は、通信チャンネルをサービスセンター 130とコンピュータネットワーク140を介して設定することにより、遠隔コンピュータ155またはパーソナルデジタルアシスタント160を、サービスセンター 130内のプログラムデータベースに遠隔アクセスするために、使用することができる。
【0019】
図2を参照すると、サービスセンター 130は、プログラムスケジュール情報を収集し、編成し、かつ提供するウェブサーバ 200と;プログラムスケジュール情報を記憶するプログラムデータベース210と;ユーザおよびデジタルビデオレコーダに関する情報を記憶するユーザデータベース 220と;各ユーザに対するイベントリストを記憶するイベントデータベース230と、およびユーザデータベースをトラバースし、かつイベントデータベースからイベントリストを検索するディスパッチ処理240とを含む。それは、ウェブサーバとデジタルビデオレコーダとが通信するネットワークインタフェースを含むことも可能である。
【0020】
一実施例において、DVR 110は、DVR 110とサービスセンター130間の通信をコントロールするマイクロサーバ250と;サービスセンター 130により提供されたプログラムガイドを記録しかつDVR 110がサービスセンター130にアクセスするときは何時でもアップデートされるローカルプログラム記憶ガイド 260と;選択されたTVプログラムをキャプチャする記録セッションを開始するために使用されるデータ構造であるイベントキュー270と;遠隔アクセスのための許可鍵を生成する擬似乱数ジェネレータ(PRNG)280と;並びにDVR 110をコンピュータネットワーク140に接続するネットワークインタフェース 125とを含む。このイベントキュー 270は、DVR 110の一部を成す記録デバイスに結合される。
【0021】
遠隔コンピュータ155とパーソナルデジタルアシスタント(PDA) 160の両方とも、ユーザがウェブページを視聴することを可能にする一般的なウェブブラウザであってもよいウェブブラウザ290を有する。
【0022】
図3は、ユーザデータベース 220とイベントデータベース230との構造を例示する図表である。ユーザデータベース 220は、複数のユーザ記録300を含む。各ユーザ記録 300は、ユーザ識別310、暗号-鍵320、DVR識別330、およびイベントリストポインター 340がある、複数のフィールドを有する。ユーザ識別フィールド 310は、ユーザデータベース 220内への鍵として使用される。暗号-鍵フィールド320は、自分のDVR 110を遠隔でプログラムしようと試みているユーザから受信された許可鍵を記憶するために使用される。DVR識別330は、DVR 110と通信チャンネルを設定するために必要とされるネットワークアドレスおよび接続詳細を記憶するために使用される。
【0023】
ユーザデータベース220において、別々のイベントリスト350が、各ユーザに対して、保持される。イベントリスト350は、イベントデータベース230内に記憶される。各イベントリスト350は、複数のイベント記録 360を含む。各イベント記録は、時間フィールド 370、チャンネルフィールド380、および持続時間フィールド390がある、複数のフィールドを含む。時間フィールド370は、記録のスタート時間を表示するために使用され、かつプログラムイベントの日時から成る。チャンネルフィールド 380は、DVRがどのチャンネルを記録するべきかを特定する。持続時間フィールド390は、DVRがそのプログラムイベントのコンテンツをどのくらい長く記録するべきかを特定するために使用される。イベント記録は、さらに、プログラムガイドデータベース内の記録(またはオブジェクト)のIDを含むことができる。DVRは、プログラムガイドデータベースから必要な情報を検索する。
【0024】
(B. パーソナルTVサービスに対する遠隔アクセスのためのプロセス)
図2は、図1とともに、本明細書に記載された技術の機能性を全体として可能にする様々なプロセスを示す。
【0025】
サービスセンター130は、プログラムスケジュール情報 150を外部のソースから周期的に受信する。一旦、プログラムスケジュール情報150が到着すると、プログラムデータベース210は、それに応じて、アップデートされる。
【0026】
DVR 110は、ウェブページを、ウェブサーバ 200から、またはケーブル、衛星、または電話を介して読み込むことにより、そのローカルプログラムガイド260を周期的にアップデートする。DVR 110からのリクエストに応答して、ウェブサーバ 200は、最初に、アップデートされたプログラム情報に対してプログラムデータベース 210に照会し、次に、アップデートされたプログラムスケジュール情報を含むウェブページを動的に作成する。
【0027】
直接と間接の2つのタイプの遠隔アクセスが、利用可能である。TV視聴者は、遠隔コンピュータ 155またはパーソナルデジタルアシスタント 160上でウェブブラウザ290を使用することによって、DVR 110を間接的にプログラムすることができる。この状況で、ウェブブラウザ290は、ウェブサーバ 200がホストとして働く特殊なウェブサイトにアクセスするために使用される。ウェブサーバ 200は、図5に示されるようにグラフィカルユーザインタフェースを使用して、TV視聴者にプログラムガイドを提示する。TV視聴者は、TVプログラムを、プログラムタイトルおよび時間帯によって選択し、どのプログラムがDVR 110で記録されるべきかを表示する。
【0028】
サービスセンター130は、ディスパッチ処理240を周期的に実行する。ディスパッチ処理 240は、ユーザデータベース220をトラバースする。ディスパッチ処理240がプログラムイベントを特定したユーザに出会う時は何時でも、ディスパッチ処理 240は、イベントデータベース 230からのイベントリスト 350を検索する。ディスパッチ処理 240は、次に、DVR 110内に存在するマイクロサーバ 250と通信チャンネルを設定する。この通信チャンネルは、ディスパッチ処理240が特殊なイベント-ディスパッチウェブページをマイクロサーバ 250から検索することを可能とするように設計される。マイクロサーバ250は、イベント-ディスパッチウェブページをディスパッチ処理 240に提示する。このディスパッチ処理 240は、次に、イベント-ディスパッチウェブページを完成し、かつそれをマイクロサーバ 250に戻して実行依頼する。
【0029】
マイクロサーバ 250は、また、イベントに関してディスパッチ処理240をポーリングすることにより、ディスパッチ処理240にイベント転送をスタートさせることもできる。
【0030】
マイクロサーバ 250は、DVR 110の一部を成すイベントキュー 270をアップデートするために、イベント-ディスパッチウェブページ内に見い出されるイベント指示を使用する。イベントキュー 270は、TVプログラムイベントをキャプチャする記録セッションを開始するために、DVR 110により使用されるデータ構造である。
【0031】
トランザクションを認証するために、ウェブサーバ200は、プログラムされるべきDVR 110と関連のあるユーザに対して、1つ以上の許可コードを含む。DVR 110は、許可コードをDVRの不揮発性メモリに保持されているプライベートコピーと比較する。許可コードは、時間依存であり、かつシステムセキュリティ要求が指示する時、満期になるように設定可能である。
【0032】
直接的遠隔アクセス機能を使用するために、ユーザは、最初に、擬似乱数ジェネレータ(PRNG)280により生成される許可鍵を、DVR 110から得なければならない。ユーザは、DVR 110とDVRの位置にある自分のテレビジョンを介して直接通信する。DVR 110は、許可鍵をユーザに提示する。ユーザは、後で、自分のコンピュータ 155または自分のPDA 160を使用して、インターネットを通して、DVR 110にアクセスする。ユーザは、許可鍵を提示し、かつDVR 110をマイクロサーバ 250により管理されるグラフィカルユーザインタフェースを通してプログラムする。また、一旦、ユーザが直接モードでアクセスすると、ユーザは、プログラムをDVR 110にダウンロードすることができる。
【0033】
(C. 遠隔プログラミング指示を得るためのプロセス)
図4は、ユーザからの遠隔プログラミング指示を得るために、ウェブサーバ 200およびマイクロサーバ250により使用されるプロセスを示すフローチャートである。両方が、並列に、提示されるが、一般的な使用においては、別々のプロセスである。そのプロセスは、以下のステップを含む:
ステップ400:ウェブサーバ 200またはマイクロサーバ250は、最初のウェブページ内の許可リクエスト形式を、ウェブサーバ 200またはマイクロサーバ250により管理される特殊なウェブサイトにアクセスするユーザに提示する;
ステップ 410:ウェブサーバ 200は、ユーザにより入力された許可パスワードを受信する;マイクロサーバ250は、ユーザから許可鍵を受信する;
ステップ 420:ウェブサーバ200は、ユーザデータベース 220を使用して、許可パスワードを確認する;マイクロサーバ250は、それが記憶していた鍵を用いて、許可鍵を確認する。
ステップ 430:一旦、ウェブサーバ 200が許可パスワードをユーザデータベース 220において確認すると、それは、遠隔コンピュータ155またはパーソナルデジタルアシスタント160の不揮発性メモリにクッキーを書き込む;一旦、マイクロサーバ 250が許可鍵を確認すると、それは、遠隔コンピュータ155またはパーソナルデジタルアシスタント160の不揮発性メモリにクッキーを書き込む;
ステップ 440:ウェブサーバ 200またはマイクロサーバ 250は、ユーザが識別かつ認証された後、プログラムガイドをユーザに提示する;
ステップ 450:ウェブサーバ 200は、ユーザ選択を受信し、かつユーザに特定のイベントリスト350を作成する。イベントリスト350は、イベントデータベース230内に記憶される。マイクロサーバ 200は、ユーザ選択を受信し、かつそれらをイベントキュー 270上に置く。
【0034】
ステップ440において、ウェブサーバ 200またはマイクロサーバ250は、ユーザに提示された第一のウェブサイトの一部をなすスクリプトに従い、かつ遠隔コンピュータ 155またはパーソナルデジタルアシスタント 160上で有効なクッキーをサーチする。一旦、有効なクッキーが発見されると、ステップ400〜430は、そのプロセスフローから除外される。
【0035】
(D. プログラム選択のためのグラフィカルユーザインタフェース)
図5は、プログラム選択のための例示的なグラフィカルユーザインタフェース(GUI)500の画像表示である。GUI 500は、どちらでも、DVRフロントパネル上で使用され、かつウェブサーバ 200により遠隔ユーザに提示されたウェブページに組み込まれる。DVR 110内で直接実施される時、GUI 500は、DVR 110の一部を成すコントロールプロセスにより、直接、操作される。GUI500が遠隔ユーザにコンピュータネットワークを介して提示される時、それは、アクティブなサーバウェブページとして、具体化する。図6は、ユーザのウェブブラウザに現れるNow Showingのウェブページの画面キャプチャである。
【0036】
GUI 500は、複数の列 510および複数の行 515を含む表505を有する。列510は、曜日(かつ特定のカレンダー日付)に対応する。行515は、所定の日の時間に対応する。表 505内の列510および行515は、コントロールの見出しが、時間帯にスケジュールされるTVプログラムのタイトルを、表505内のそのコントロール位置に従って表示するように設定される、データ選択コントロールによって、実際に、作り上げられる。GUIは、さらに、スクロールアップ 520およびスクロールダウン 525のためのメカニズムと、順方向ターニング 530および逆方向ターニング535のためのメカニズムと;特定のTVプログラムを選択するためのメカニズムと;選択されたTVプログラムを含むプログラムイベントリスト 350を作成するためのメカニズムと;当該イベントリスト 350を編集するためのメカニズムとを有する。さらに、それは、ダウンロードを命令するためのメカニズムと、ダウンロードが進行中であることを表示するためのメカニズムと、進行中のダウンロードをキャンセルするためのメカニズムとを含むこともできる。
【0037】
コントロールの位置は、TVプログラムイベントの日付と時間に対応する。ユーザは、GUI 500内に提示される選択コントロールを切り換えることができる。GUI 500をウェブサーバ 200に戻す時、選択されたコントロールの識別子は、ユーザのためのイベントリスト350を作成するために、プログラムガイド 260と一緒に使用される。イベントリスト350は、遠隔プログラミングの場合、次に、イベントデータベース230内に記憶される。DVR 110のローカルプログラミングのために、イベントリスト 350は、DVR記録シーケンスをコントロールするイベントキュー 270内に、直接記憶される。
【0038】
(E. デジタルビデオレコーダへの間接的なアクセス)
図7は、サービスセンター 130、DVR 110、および外部のコンテンツサーバ 720間のインターネットにわたる対話を例示する一般的な方式700のブロック図である。ここで、特別のスタイルのインターネットアクセスが、それが或るタイプのコンテンツをインターネット接続 140にわたってフェッチすることを可能とし、かつそれらを図6に示されるような Now Showing ページ内で視聴するために利用可能とするように、DVR 110に統合される。明確な具体例を例示するために、図7および本明細書中の説明は、インターネット、Linux、DHCP等の実施において使用可能な特定のエレメントおよびプロトコルを参照する。しかしながら、他の機能的に類似のエレメントまたはプロトコルは、代替の実施において、使用可能である。例えば、ダウンロードは、インターネットではなく、任意の公開、プライベート、または専用のネットワークを通して行われてよい。他のオペレーティングシステムと動的アドレス指定プロトコルを使用することができる。
【0039】
Now Showingページにおいて、コンテンツ名、すなわち、TVプログラムのタイトルのリストは、このようなコンテンツがGUI 500上にフェッチされているところであることを表示し、および記録アイコン、またはそれのある変形体は、ダウンロードが進行中であることを表示する。視聴者は、コンテンツ(すなわち、TVプログラム)を選び取り、かつそれをいつでもプレイできる。
【0040】
ダウンロードは、任意の速度で行われてよい。従って、図1のインタフェース 125は、いかなる方法においても、ダウンロードの速度に依存しない。図8は、緑色の領域 802を一致するように増やすことにより、コンテンツが再生速度803より速くダウンロードされていることを表示するリプレイバー 801を示すウェブページの画面キャプチャである。このようなリプレイバー 801以外の他のメカニズムを、コンテンツが再生速度より速くダウンロードされていることを表示するために使用することができる。いずれの場合においても、視聴者は、如何なる量のコンテンツがそのポイントまでダウンロードされたに関して、すべてのトリックプレイ(trick-play)動作を使用することができる。
【0041】
コンテンツがインターネットにわたってダウンロードされたという事実は、そのコンテンツがインターネットからであるという表示を、様々な方法で行うことが可能であるプログラム情報を提示するコンテクストにおける場合を除いて、視聴者には意識されない。
【0042】
ダウンロードされたコンテンツに対するポインタは、全ての形のサーチおよび提示がこれらのプログラムを正しく表示し、かつそれらの操作を提供するように、放送プログラムを記憶する方法に類似の方法で、DVR 110 ハードドライブ上のローカルなコンテンツデータベース740に記憶される。
【0043】
チャンネルまたはネットワーク志向のコンテクストにおいて、ダウンロード可能なプログラムは、放送プログラミングに類似の方法で提示される。これらのコンテクストは、時間および位置がこのようなプログラムに無関係であるので、チャンネルまたはネットワークの「ラインアップ(lineup)」が、知覚できる方法で提示されるように、修正されなければならないかもしれない。
【0044】
図6に示されるようなNow Showingコンテクストにおける利用可能なコンテンツ項目の数は、ナビゲーションを扱いにくくする可能性がある。初期の実施のために必要とされないが、このコンテクストは、多くの項目のナビゲーションをより簡単にするために、修正可能である。
【0045】
幾つかのサーバからコンテンツを提供する実体は、テレビジョンネットワークとして、視聴可能である。各固有のサーバ名は、チャンネルを表示する。ここで、「サーバ(server)」は、ネットワーク上の単に名前であり;それは、世界中のどこでも、任意の物理的なサーバにマップすることが可能であろう。
【0046】
一旦、コンテンツサーバ 720とコンタクトをとると、DVR 110は、所定のプログラム識別に従って、メディアコンテンツをリクエストする。これは、ウェブサーバ 200により、次に、その接続に沿って送信される特別な1つのコンテンツにマップされる。コンテンツサーバまたはDVRの何れかは、ダウンロードのスピードを抑制することができる。
【0047】
視聴者が複数のダウンロードをリクエストする場合、DVR110は、コンテンツを得るために幾つかの異なる方法を選ぶことができる;それは、最大の制限事項、またはキューリクエスト、または両方を用いて、複数の接続を開始することができる。
【0048】
1つのアプローチにおいて、図7のエレメントは、DVR 110のセキュリティをアドレス指定する。ネットワークポートを開くことは、多数の可能なセキュリティ違反をもたらし、著作権で保護されたコンテンツと利用者のプライベートデータの保護とのセキュリティに議論が向けられる。
【0049】
一実施例において、標準 Linuxファイアウォール・サポートは、双方向通信において、数個の、周知のポート(例えば、Web (HTTP)またはディスカバリ)以外は全てに対してアクセスを自動的に遮断することにより、この保護を管理するために、使用される。周知のポートは、メディアコンテンツをダウンロードするために外部のコンテンツサーバ720とコンタクトをとるために、DVRのアプリケーションソフトウェアにより使用される。
【0050】
動的アドレス指定クライアントソフトウェアエレメント、例えば、Linux DHCPクライアントは、DVR 110内に提供される。DVRの立ち上げ時に、ネットワークインタフェースが、検出される場合、DHCPクライアントは、動的アドレスのソースからDVRのためにネットワークアドレスを得るために、周知のポートを使用する。例えば、DVR 110のDHCPクライアントは、外部のDHCPサーバ750にポーリングするために、DHCPプロトコルを使用する。サーバが、探し出されない場合、ネットワーキーングは、無効にされるであろう。そうでなければ、DVR 110は、DHCP応答から、そのネットワークパラメータを初期化するであろう。
【0051】
このようなLinuxファイアウォール・サポートに伴なう1つの問題点は、外部のDHCPサーバ750が、インターネットアクセス情報を構成するために、必要とされることである。データを読みとる、またはそのデータフローを2つのデバイス間のインターネット接続上にリディレクトするための多数の方法が存在することは、周知である。1つの可能性は、悪意のあるDHCPサーバが、エリアスサーバアドレスを使用することにより悪意あるホストがDVRに入りかつ攻撃することを可能にするような方法で、インターネットアクセス情報を構成する、エイリアシングである。
【0052】
この種の攻撃を無効にするために、一実施例において、コンテンツサーバ720との全ての通信は、認証かつ暗号化される。コンテンツサーバ720は、DVR110の公開鍵へのアクセスを有し、DVRは、コンテンツサーバ 720の公開鍵のコピーを有する。DVR 110は、サービスセンター 130によりダウンロードされたコンテンツサーバ 720に関するメタデータコンテンツ情報を有する。DVR 110は、そのデータベース 740内にメタデータを記憶し、および操作するために、データベース740内のデータに依拠する。証明書交換を使用して、DVR 110とコンテンツサーバ 720は、ワンタイムセッション鍵を生成し、かつすべてのさらなる通信は、そのセッション鍵を使用して、暗号化される。一実施例において、Blowfishアルゴリズムは、暗号化されたセッション通信のために使用される。コンテンツサーバ 720の公開鍵は、サービスセンター 130から配布される。サービスセンターは、また、適切なプログラムガイド参照をコンテンツサーバ720に提供した。
【0053】
サービスセンター130は、コンテンツサーバ 720の記を述受け入れる。一実施例において、このような記述は、サーバURL、コンテンツ記述、コンテンツ識別、「チャンネル(channel)」記述、「ネットワーク(network)」記述等から構成される。これらのデータは、コンテンツサーバ記述(CSD)データベース 710にインポートされる。コンテンツサーバ 720へのアクセス用の一組の公開鍵が、さらに提供される。
【0054】
コンテンツサーバ720がDVR 110からの接続を受け入れるために、それは、特別のDVR用の公開鍵にアクセスできなければならない。この鍵の配布は、実行中に、または予め共有された鍵配布のアプローチを通して、行われることが可能である。実行中の鍵配布の場合、コンテンツサーバ 720は、サービスセンター130への認証された接続を設定し、DVRシリアル・ナンバーを提供し、およびサービスセンター130 に関連付けられた公開鍵を提供することをリクエストする。DVR シリアル・ナンバーが与えられると、サービスセンター130は、その関連付けられた公開鍵を戻す。コンテンツサーバ 720は、この公開鍵をキャシュすることができる。各鍵は、コンテンツサーバ 720が鍵を削除しなければならない時を表示する有効期限を有する。サービスセンター130は、例えば、鍵配布を監査する目的で、全ての配布された公開鍵のログ記録を保持することができる。
【0055】
サービスセンター130 は、停止しているDVRの公開鍵を提供することを拒否することができる。さらに、コンテンツサーバ 720は、例えば、特別のDVRが停止した場合、サービスセンター 130からの鍵の無効リクエストに応答することができる。
【0056】
メディアレコーダ 730は、DVR 110のパーソナルTVサービスアプリケーションソフトウェアのサブシステムである。メディアレコーダ730は、ダウンロードしているコンテンツの同時記録および再生を可能にする。記録されたコンテンツは、DVR 110のコンテンツデータベース740内に記憶される。メディアレコーダ730は、持続的なネットワーク接続が利用可能でない場合、スタートされないであろう。一実施において、メディアレコーダ 730は、多数の異なるスレッドを有する。
【0057】
(1) Recording Queue Thread:このスレッドは、ネットワークダウンロードリクエストのキューを管理し、およびダウンロードポリシーを実施する。最初に、これは、データベース内に保持される単純なFIFOキューであって良い。一旦、ダウンロードポリシーが実施されると、記録キューポリシーオブジェクトは、保持される。
【0058】
(2) Fetch Recording Thread:このスレッドは、コンテンツサーバ 720との接続の管理を担当する。 Fetch Recording Threadは、サーバとコンタクトをとり、認証プロトコルを実施し、所望のコンテンツをリクエストし、およびコンテンツのダウンロードを管理する。
【0059】
この戦略に関するヴァリエーションとして、パーソナルTVサービスアプリケーションまたはメディアレコーダ730内のプログラムオブジェクトは、メディアコンテンツに対してポーリングされる複数のサーバを表示することができる。サーバは、Fetch Recording Threadにより、順番に、ポーリングされ;ダウンロードのリクエストを受け入れる最初のサーバが、使用される。このことは、サーバファームまたはデータセンター内で編成された複数のコンテンツサーバにわたって、コンテンツリクエストを、負荷分散するために提供される。
【0060】
Fetch Recording Threadは、DVR 110内のデータベースに対するその状態を、周期的に、記憶する、またはチェックポイントする。このようなチェックポイントすることは、障害またはエラーが起こった時、ダウンロードが行われていたマルチメディアコンテンツにおける同じポイントで、停電またはシステムエラーの後、ダウンロードの再スタートを可能にする。Fetch Recording Thread は、また、ダウンロードされているコンテンツのプレゼンテーションおよびナビゲーションのために使用されるデータベースオブジェクトの状態も管理する。例えば、Fetch Recording Threadは、図6に示されるようなNow Showingコンテクストにおける適切な表示のために、記録オブジェクトの状態を管理する。時間の任意のポイントでアクティブな1つ以上のこのようなスレッドが存在することが可能である。
【0061】
(F. DVRからDVRへの対話)
1つのアプローチにおいて、2つのDVR間でメディアとデータベースエレメントとを転送するためのメカニズムが、提供される。図7を参照すると、例えば、ポータブルDVR 760内に提供されるような、より少ない量のディスク記憶を使用する転送の一具体例が示される。具体例として、バカンスに行く前に、ユーザは、望ましいメディアとその意識しない関連付けられたサービスデータをポータブルDVR 760に転送し、かつそのメディアが所望の時に使用可能であるように、ポータブルDVR 760を携帯することができる。2つのメディアストリームが、同じ動作を達成するために、正確な同期でプレイするように、一緒に従属装置として作動する、2つのDVR、すなわちDVR 110とDVR 770を使用する、転送の別の具体例が、示される。
【0062】
2つのDVRを接続するための多くの方法がある。一実施例において、ソースDVR 110の出力は、宛先DVR 770の入力に結合される。この方法が機能的である一方、この方法は、メディアストリームを管理し、かつ使用する際に、視聴者の満足に不可欠であるメディアストリームに関するメタデータ情報を転送しない。
【0063】
DVR 110内に記憶されたメディアストリームは、メディアコンテンツそれ自体と、メディアコンテンツに関する記述的情報を提供するデータベースオブジェクトとから構成される。ネットワーク(例えば、IEEE 802.3)または直接接続(例えば、IEEE 1394)などのデータ転送方法が使用される場合、メディアコンテンツと記述的情報の両方は、視聴者経験の完全性が保護されるように、転送可能である。
【0064】
コンテンツ所有者は、彼等のコンテンツの起こりうる盗用に関心がある。さらなるアプローチは、DVR 110と770間でデータ転送を暗号化する。このことは、多数の標準およびカスタムな方法で、実行可能である。例えば、Diffie-Hellman 安全な接続プロトコルは、次に、転送を暗号化するために使用されるワンタイム鍵を生成するために、使用可能である。
【0065】
転送が或る特定されたDVRに対してのみ行われることを可能にすることが望ましい場合、統合されたセキュリティシステムが、使用可能である。各DVRの公開鍵は、予め共有する鍵または鍵の動的交換の何れかにより、他方に公知である。転送をスタートする時、DVRは、他方のDVRの公開鍵に基づいて暗号化された署名入りの証明書を交換する。両方のDVRが、他方の署名を解読しかつ検査することができる場合、各DVRは、他方の識別を認証して、さらに、転送中データを暗号化するために、次に使用されるワンタイムセッション鍵を設定し始めることができる。
【0066】
このような場合の鍵配布は、サービスセンター130により対処可能である。視聴者は、サービスセンター130とコンタクトをとり、かつ彼が所有する2つのDVR 110および770が、お互い間でのデータ転送を許可されることをリクエストする。サービスセンター130は、各DVRの公開鍵を含む許可オブジェクトを適切なダウンロードメカニズムにより他方のDVRに送信する。サービスセンター130は、後で監査する目的のために、各DVRに関する情報を識別することを含むこの動作の記録を保持する。例えば、セキュリティシステムが、1つのDVRにおいて、無効にされ、かつ他方の公開鍵が晒される場合、他のDVRを、それらがソースDVR 110に対して許可されるように修正することは、可能である。各DVRは、転送の記録を保存する。この記録は、サービスセンター130にアップロードされる。後で、この情報は、コピー保護違反、許可されないDVRへのコピー等を捜すために処理可能であろう。
【0067】
転送が中断される場合、宛先DVR770は、記述的オブジェクトにおいて、メディアストリームを「部分的(partial)」として印を付ける。後で、その転送は、再スタート可能である。データベースシステムの設計が、メディアストリームが宛先DVR 770上で一意的に識別されることを保証するので、この部分的ストリームは、探し出され、かつその転送は、その終わりから始まり、従って、すでに記憶されたメディアの再転送を避ける。一旦、全部のメディアストリームが記憶されると、記述的オブジェクトは、完全なメディアストリームを示すために、アップデートされる。
【0068】
DVR間でのデジタルデータの転送は、適切な如何なる速度でも、実行することができる。例えば、DVR間でのネットワークが遅い場合がある。この場合、転送持続時間は、コンテンツの再生持続時間より長いであろう。これに代えて、ネットワークが速い場合がある。この場合、複数のメディアストリームを、1つのコンテンツ項目の再生のためにかかるよりずっと少ない時間で転送することができるであろう。宛先DVR上の視聴者は、その最初の部分が利用可能になるとすぐ、進行中のストリームのダウンロードと並行して、そのメディアストリームの視聴をスタートすることができる。
【0069】
ソースまたは宛先DVRが完全なデジタルビデオDVRであるという要求はない。例えば、ケーブルヘッドエンドにおけるサーバ上に記憶されたメディアストリームは、宛先DVR 770に確実に転送可能である。これに代えて、ソースDVR 110内に記憶されたメディアストリームは、ヘッドエンドサーバへ転送可能である。
【0070】
例えば、PCは、DVRからの暗号チップを含むUSBドングルを使用することができる。PCは、このPCへ、かつこのPCからのコンテンツを転送するための安全メカニズムを設定する。PCが暗号化鍵を認証かつ生成するためにUSBドングルを使用するであろう故に、PCは、他のDVRに対するDVRとなるであろう。コンテンツは、次に、暗号化された形式で、PC上に記憶可能である。コンテンツは、他のPCまたはDVRへ、電子メール可能である。他のPCは、コンテンツを解読するために、USBドングルを有さなければならない。サービスセンター 130からPCへパスされる証明書は、USBドングル上のNVRAMに記憶され、それ故、証明書は、ドングルと一緒に移動し、かつPCのハードドライブ上に記憶されない。
【0071】
デジタル衛星システムなどの或るメディア配布アーキテクチャは、殆どのメディアコンテンツを暗号化された状態で放送する。スマートカードに基づくローカルな解読設備を使用して、メディアコンテンツは、それが視聴される場合のみ、解読され、従って、盗用からコンテンツを保護する。DVRがこれらの暗号化されたメディアストリームをディスクに保存し、かつ再生に応じて解読を開始することは、可能である。この方法は、2つのDVR間でメディアストリームを転送するために、使用可能である。メディアストリームと関連付けられたコンテンツ保護ルールの特別のセットに正しく応じるために(例えば、一回プレイする、一日後に満期になる、等)、DVRは、メディアストリームを記載するデータベースオブジェクトトと共に、メディアストリームと関連付けられたコピー保護情報(そのストリームが暗号化されて記憶されるかを含む)を保持する。
【0072】
メディアストリームと関連付けられたコンテンツ保護ルールは、同様に、宛先DVR 770へ転送可能である。例えば、DVR 110は、コンテンツサーバ 720から、解読されるまで視聴されないであろう映画を記憶したかもしれない。視聴者がこのメディアストリームを転送させることを望む場合、それは、宛先 DVR 770のメディア領域にコピーされ、かつその記述的オブジェクトは、同様に、転送される。このアプローチにおいて、メディアストリーム内のオリジナルの情報は、宛先DVR 770へ、忠実に複製される。
【0073】
スマートカードは、ソースDVR 110から取り出され、かつ宛先DVR 770にインストール可能であろう。メディアコンテンツを視聴する時、視聴者は、適切に課金され、かつ全てのコピー保護ルールに従う。オリジナルのメディアコンテンツおよび記述的情報は、除去されるかもしれないし、またはされないかもしれない。例えば、「一回視聴(view-once)」方式において、オリジナルは、破壊され、一方、「視聴前課金(charge-per-view)」方式において、それらは、破壊されない。
【0074】
上記と同じ技術を使用すると、安全な、または認証されかつ安全な接続は、2つ以上のDVR間で、ネットワークまたはモデム接続を使用して、設定可能である。このような接続の設定は、コントロール対話が生じることを可能にする。様々な実施例において提供可能なコントロール対話の幾つかの具体例は以下の通りである:
【0075】
(1)同期された再生。視聴者は、特別のメディアストリーム上のトリックプレイ機能をコントロールすることができる。各鍵イベントは、さらに、同じ動作を自動的に実行する宛先DVR 770にパスされる。例えば、プレゼンターは、マルチメディア再生デバイスとしてソースDVR 110を使用して、ライブのプレゼンテーションを提供することができ、かつ遠隔位置の視聴者は、同じ方法で同時に提供される同じプレゼンテーションを観ることができる。これに代えて、電話などの幾つかの他の手段により通信している2人の視聴者は、一方または他方が、両方のDVR上で同じプログラムの再生をコントロールしながら、対話することができる。この代替のアプローチは、興味のあるプログラムの正確な議論を可能にする。通信手段は、参加者がコメントをタイプ入力し、ディスプレイ上にオーバーレイされる単純なチャットプログラムとすることが可能である。このようなアプローチは、ビジネスプレゼンテーション用、並びにエンターテイメント目的用に使用可能である。
【0076】
(2) リンクパス。ソースDVR 110の視聴者は、特別のプログラムを宛先DVR 770にリンクすることになっていることを表示することができる。応答して、ソースDVR 110は、宛先DVRにリンクされたプログラムの記録をスケジュールさせるメッセージを、宛先DVR 770に送信する。これに代えて、そのプログラムは、同様に、アンリンクされる。リンクするまたはアンリンクするためのメッセージは、DVR 110と770の両方が、使用中であると仮定する場合、プログラム識別のみを含むことができる。宛先DVR770が使用中でない場合、リンクするためのメッセージは、追加のメタデータを含むことができる。
【0077】
(3) サウンドまたはグラフィックス効果。視聴者が、特別のキーシーケンスを押すなどの動作を取った時、ソースDVR 110は、サウンドをプレイすることができる、またはグラフィックを提示することができる。ソース DVR 110は、また、その同じサウンドまたはグラフィックを再現する、または取られた動作で宛先DVR 770において関連付けられる、異なるサウンドまたはグラフィックを再現するそのイベントを、宛先DVR 770へパスする。例えば、子供は、このようにサウンドを遠隔宛先DVR 770上で彼の友達のために再現可能なプログラムに加える。このような通信は、多方向であることが可能である。
【0078】
別のアプローチにおいて、DVRは、同様に、他のタイプのデータを転送することができる。例えば、大きなホームDVR 110およびより小さいポータブルDVR 760を考慮されたい。ソフトウェア、グラフィカルエレメント、プログラムガイドデータ等のデータは、2つのDVR間で、転送可能である。例えば、ポータブルDVR 760 は、2つのDVRが接続される毎に、アップデート可能である、またはホームDVR110によりデータ同期可能である。アップデートは、ソフトウェアアップデートを転送かつインストールすること、プログラム情報を同期すること、記録スケジュールを同期すること等を含むことができる。同期は、PDAに良く似ている。ポータブルDVR 760は、ユーザがそれをすでに視聴したので、ホームDVR 110にプログラムを削除することを命じることができる。ポータブルDVR 760は、2つのDVRが接続される時は何時でも、任意の動作状態の情報をホームDVR 110へ転送し、次に、ホームDVR 110は、ホームDVR 110がサービスセンター130にアクセスする時は何時でも、その動作状態の情報をサービスセンター130へ送信する。
【0079】
アップデートは、自動的に実行可能である。このような場合、2つのDVR を接続する時、プログラムガイドまたはソフトウェアをアップデートするような一組の予め構成された動作が、実行され、次に、メディアストリームが、同様に、転送可能である。宛先DVR 760がより小さいポータブルユニットである場合、全てのメディアストリームが、適合するというわけではないであろう。この場合、視聴者は、どのメディアストリームを転送するかを、明確に選ぶことができる。これに代えて、ソースDVRにおけるアプリケーションソフトウェアは、視聴者に最も興味のある利用可能なメディアのサブセットを選択し、かつこれらのストリームのみを転送するために、プリファランス情報を使用することができる。別の代替において、メディアストリームは、転送され、最も新しいものから最も古いものへ進み、これ以上適合しないであろう時ストップする、または最も古いものから最も新しいものへ進む。シーズンパス(season pass)(1つチャンネル上の1つのプログラムの全ての表示が、記録されている)は、その DVRが「常に転送する(always transfer)」または「転送しない(never transfer)」というマーカーを含むことができる。別の基準は、プログラムが、明確に選び取られた、または視聴者プリファランスに基づいて選ばれたの何れかとすることが可能である。コンテンツ用の記述的オブジェクト内に記憶された任意のプログラム情報は、長さ、役者、レーティング等の選択基準において、使用可能である。その基準は、「常に転送する(always transfer)」などの動作をトリガすることができる。
【0080】
(G. ネットワークセキュリティスキーマ)
上記されたように、本明細書における1つのアプローチは、DVR 110、760、770間、またはコンテンツサーバ720とDVR 110、760、770間で、安全な暗号化されたデータ転送を提供する。このアプローチは、ユーザがプログラムを1つのDVR 110上に記録し、次に、そのプログラムを別のDVR 770上で観ることを可能にする。
【0081】
本明細書に記載された暗号化されたデータ転送システムは、ビデオを或るDVRから任意の互換性のないシステムへ、またはその第一のDVRの位置の外部のシステムへ転送することを非常に困難にする。それに応じて、ユーザは、彼等が作成した記録に対して合理的な公正使用権を行使することができるが、そのアプローチは、ユーザがビデオの「海賊版をつくる」、またはプレミアムコンテンツを公正使用原理に違反して彼等の友人に送信することを困難にする。
【0082】
本明細書における様々な実施例のアプローチは、以下の観点を含むことが可能である:
・記録は、暗号化される。多くの記録は、それらが最初に記録された時、暗号化される。暗号化されないこれらの記録は、1つのDVRから別に転送される前に暗号化可能である。このことは、誰かが、記録データを、それが家庭のネットワークにより伝わる時、「嗅ぎ付け(sniff)」かつそのデータのコピーをすることを困難にする。
・暗号化された記録が1つのDVRから別に転送される時、受信システムは、送信システムが、さらに、その1つの記録と関連付けられた暗号化/解読鍵を転送しない場合、記録を使用することができない。
・DVRは、それがIP放送メカニズムまたは他のネットワークディスカバリプロトコルを介して記録を転送することができるであろう、他のシステムを発見することができる。このようなディスカバリプロトコルにおいて、ディスカバリパケットは、典型的には、ローカルIPサブネットを離れない。住宅環境において、ローカルなIPサブネットは、家庭のLANを有する。さらに、あるいは、これに代えて、ユーザが他のユーザと記録を共有しようとする関心がある場合、DVRのアプリケーションソフトウェアは、システムの所有者がタイプ入力すること、または、そうでなければインターネット上の他の場所に位置するシステムのIPアドレスを手動で特定することを可能にするであろうメカニズムを提供しない。
・DVRは、受信システムが、その記録を視聴することが「許可される」場合、記録暗号化鍵を別のDVRに送信することのみが可能である。例えば、このコンテクストにおいて、「許可された」とは、宛先DVRが同じ家庭内にある、または許可された所有者により登録されたことを意味するであろう。鍵転送は、各転送された鍵が、それが送信された1つのシステムのみに理解される、堅牢な公開/プライベート鍵システムを使用して、実行される。
・許可は、1つの家庭の一部であることが知られる、または単一のユーザにより所有される特定のシステムをリストアップする、デジタル証明書を介して行われる。証明書は、システムの公開鍵を含み、かつサービスプロバイダによる「署名入り」である。各システムは、それが使用している証明書上の署名を検査し、かつ、さらに、任意のデータまたは鍵を任意の他のシステムへ転送する前に、その証明書に含まれるそれに対してその自身の識別を検査する。
【0083】
証明書システムは、「システムのシリアル・ナンバーを変える」または「証明書を異なるシステムにコピーする」または「証明書を変更する」などの攻撃を遮断するであろうセルフチェックを含む、ElGamal公開/プライベート鍵システムおよびBlowfish対称ブロック暗号に基づくことが可能である。
【0084】
図7および9を参照すると、ユーザは、彼がその間でコンテンツを共有したいと思うDVRの記録を作成するために、サービスセンター130にログオンする。ユーザは、任意の適切なユーザインタフェースを使用することにより、彼が含まれることを望むDVRのシリアル・ナンバーをエンターし、サービスセンター130は、そのデータベースを通して検査する、またはサービスセンター130は、ユーザが予め登録したシリアル・ナンバーを探し出す。サービスセンター130は、さらに、選択に対してこれらのDVRのみを表示することにより、ユーザを、彼が登録された所有者であるDVRのみに限定することができる。ユーザは、ユーザが容易にユニットを識別することができるように、名前を各ユニット、例えば、居間DVR、寝室、等と関連付けることができる。ユーザは、彼が共にメディアを共有または転送したいユニットを、選択する。
【0085】
サービスセンター130は、彼が選択したユーザのユニットを識別するデジタル証明書901を作成する。証明書 901は、各ユニットのシリアル・ナンバー903、905、およびその対応する公開鍵 904、905を含む。ユーザが各ユニットに割当てた名前は、さらに、証明書 901内の名前902により表示されるように、相互に参照される。証明書は、上記のようなUSBドングルを有するPCを含む、ユーザが識別する任意の数のユニットを含むことができる。
【0086】
証明書901が無期限に存在しないことを保証するために、有効期限 907は、証明書 901内に含まれる。デジタル署名 908は、証明書を受信するユニットが、証明書が実際にサービスセンター 130から発信されたことを検査するために、使用される。
【0087】
サービスセンター130は、証明書を、証明書901内にリストアップされた各DVR 110、770に、(インターネット、LAN、または他の公開またはプライベートネットワークを有することができる)ネットワーク 140、電話線、または衛星接続によって送信する。証明書901は、各宛先DVR 110、760、770の公開鍵を使用して、暗号化可能である。ポータブルDVR 760は、その証明書を受信するために、サービスセンター130へネットワーク接続または電話線を介して接続することができる。これに代えて、ポータブルDVR 760は、その証明書を、それが接続するDVR 110から受信することができる。
【0088】
各DVR 110、760、770は、証明書を解読し、かつ証明書901内のデジタル署名 908を検査することにより、証明書を検査する。一旦、DVRが、デジタル署名 908がサービスセンター 130からであることを検査すると、DVRは、米国カルフォルニァ州CupertinoのアップルコンピュータからのRendezvousなどのピアディスカバリプロトコルを使用して、証明書 901内にリストアップされた全てのピアのネットワーク位置を探し出す。
【0089】
一旦、DVR 110が、ネットワーク内にピア 770を発見すると、それは、証明書 901からのピアの公開鍵を使用して、ピア770との暗号化された接続をセットアップする。暗号化された接続は、それが2つの公開鍵の機能であり、各ピアからの1つであるという点で、「弱く」暗号化されるであろう。各ピアは、他方の公開鍵を使用して、メッセージを送信する。ユニットは、コンテンツサーバとして指定され、本具体例において、コンテンツサーバ 720は、サービスプロバイダにより提供され、かつ遠隔に位置している。
【0090】
コンテンツサーバ 720は、ランダムな強い接続鍵を作成することにより、DVR 110とさらに強く暗号化された接続を作り出し、かつDVRの公開鍵を使用して、強い鍵を暗号化する。コンテンツサーバ720は、次に、暗号化された強い鍵をDVR 110へ送信する。DVR 110は、強い鍵を解読する。1つのアプローチにおいて、解読は、ハードウェア解読エレメントを使用することができる。2つのシステムは、今、安全な鍵を共有する。
【0091】
ユーザは、或る記録されたコンテンツをDVR 110へ送信することをリクエストすることができる。コンテンツサーバ720が予め暗号化された記録をDVR110へ送信する時、それは、そのデータベースから記録を暗号化するために使用された記録鍵をロードし、かつ強い鍵を使用して、記録鍵を暗号化する。コンテンツサーバ 720は、暗号化された記録鍵をDVR 110へ送信する。
【0092】
DVR 110は、強い鍵を使用して、それがコンテンツサーバ 720と共有する記録鍵を解読し、かつ記録鍵を記憶する。コンテンツサーバ720は、それがローカルに記憶した記録されたコンテンツをDVR 110に送信する。記録されたコンテンツは、それがコンテンツサーバ 720により最初にローカルに記憶された時、すでに暗号化されていた。コンテンツサーバ 720は、コンテンツを解読することなく、記録されたコンテンツを送信する。
【0093】
DVR 110は、記録されたコンテンツを、それをデコードすることなく、直接その記憶デバイスに書き込む。DVRが記録されたコンテンツをプレイする時、それは、コンテンツを実行中にデコードする。コンテンツが伝送中暗号化された状態であり、かつ暗号化されてDVR上に記憶され、本明細書に記載されたアプローチは、記録されたコンテンツの完全性を保護し、これによりコンテンツの任意の許可されないコピーを防止する。
【0094】
コンテンツサーバ720が、暗号化されない記録をDVR110へ送信する場合、それは、記録を暗号化するために使用されるであろうランダムな記録鍵を作成し、かつ強い鍵を使用して、記録鍵を暗号化する。コンテンツサーバ 720は、暗号化された記録鍵をDVR 110へ送信する。
【0095】
DVR 110は、それがコンテンツサーバ 720と共有する強い鍵を使用して、記録鍵を解読し、かつ記録鍵を記憶する。コンテンツサーバ 720は、それがローカルに記憶した記録されたコンテンツをDVR 110に送信する。記録されたコンテンツは、それがコンテンツサーバ 720により最初にローカルに記憶された時、暗号化されなかった。コンテンツサーバ 720は、それがコンテンツを送信する時、コンテンツを暗号化し、記録されたコンテンツを送信する。
【0096】
DVR 110は、記録されたコンテンツを、それをデコードすることなく、直接その記憶デバイスに書き込む。DVRが記録されたコンテンツをプレイする時、それは、コンテンツを実行中にデコードする。コンテンツが伝送中暗号化された状態であり、かつ暗号化されてDVR上に記憶され、このアプローチは、なお、記録されたコンテンツの完全性を保護し、これによりコンテンツの任意の許可されないコピーを防止する。
【0097】
図10は、住宅1001内のローカルにネットワークされたDVR セットアップにおけるメディアサーバ1002 を示す。図10の具体例において、DVR 1003は、寝室 1に位置し、DVR 1004は、寝室 2に位置し、およびDVR 1005は、エンターテイメントルームに位置している。メディアサーバ1002は、居間に存在する。ユーザは、DVR 1003、1004、1005、およびメディアサーバ 1002が、コンテンツを共有するために、許可され、かつ各ユニットを、それが存在する部屋により、関連付けることをサービスセンター1006へ指示する情報を、送信する。サービスセンター1006は、メディアサーバ1002と各DVR 1003、1004、1005とのシリアル・ナンバーおよび公開鍵を含む証明書901を、有効期限およびサービスセンターのデジタル署名と一緒に作成する。
【0098】
メディアサーバ1002 は、PC、DVR、または他のタイプのコンテンツサーバであることが可能である。ユーザは、メディアサーバ 1002をローカルネットワーク内のマルチメディアコンテンツのメインソースとして指定する。
【0099】
サービスセンター 1006は、証明書を、メディアサーバ 1002とDVR 1003、1004、1005とへ、インターネット 1007を介して、送信する。メディアサーバ1002とDVR 1003、1004、1005とは、証明書内の情報を、それらのピアを発見するために、使用する。DVR 1103、1004、1005は、メディアサーバ 1002がコンテンツを提供する唯一のシステムであることを発見する。一旦、メディアサーバ 1002が弱く暗号化された接続を各DVR 1003、1004、1005と設定すると、それは、各DVR 1003、1004、1005に対してランダムな強い接続鍵を作成する。メディアサーバ 1002は、特別のDVRの公開鍵を使用して、各強い鍵を暗号化し、かつ暗号化された強い鍵を各DVR 1003、1004、1005へ送信する。DVRは、そのローカル暗号チップを、強い鍵を解読するために使用する。メディアサーバ 1002は、今、安全な鍵を各DVR 1003、1004、1005と共有する。
【0100】
図16から21を参照すると、各DVRは、メディアサーバのコンテンツにアクセスを有する。先ず、図16を参照すると、ユーザは、(形式およびコンテンツにおいて、図6内のNow Showing 画面に類似している)Now Playing 画面 1601に進み、かつユーザがアクセスすることができる全てのメディアサーバを見る。例えば、メディアサーバラベル1602は、ユーザが「寝室」と名付けられたDVRにアクセスすることができることを表示する。ユーザは、ラベル 1602を使用して、所望のサーバを選択し、かつメディアサーバがどのコンテンツを利用可能であるかをリストアップするコンテンツ画面1701 (図17) を、表示する。ユーザは、或る記録されたコンテンツ (音楽、写真、ビデオ等。) が特別のDVR 1003へコンテンツ画面1701を介して送信されることを、リクエストすることができる。ユーザは、このことを、上記の遠隔で、またはDVR 1003それ自体により行うことができる。ユーザは、選択されたコンテンツを転送するためのオプションを、transfer options画面 1801 (図18)を使用して、選択する。ユーザは、Start From オプション1802を使用して、転送をスタートすべきところを選択することができる。例えば、転送は、プログラムの開始から、ユーザが最後に一時停止したところから、またはプログラム内の或る時間でスタートすることができる。ユーザは、図20の画面キャプチャ 2001および図21の画面キャプチャ2101により表示された同じ方法で、音楽コンテンツおよび写真コンテンツを視聴かつ転送することができる。
【0101】
図10に関して上記されたように、メディアサーバ 1002は、予め暗号化された記録をDVR 1003へ送信することができる。メディアサーバ 1002は、そのデータベースから記録を暗号化するために使用された記録鍵をロードし、かつ強い鍵を使用して、記録鍵を暗号化する。メディアサーバ1002は、オプションとして、ローカルな暗号化鍵を使用して、そのデータベース内の記憶のために、記録鍵を暗号化することができる。任意の暗号化鍵を平文で記憶することは、通常、望ましくなく、従って、ローカル鍵を用いた単純な暗号化は、最良である。それは、暗号化された記録鍵をDVR 1003へ送信する。
【0102】
DVR 1003は、強い鍵を使用して、それがメディアサーバ 1002と共有する記録鍵を解読し、かつ記録鍵を記憶する。DVR 1003は、オプションとして、記憶の前にローカルな鍵を使用して記録鍵を暗号化することができる。メディアサーバ 1002は、それがローカルに記憶した記録されたコンテンツをDVR 1003へ送信する。記録されたコンテンツは、それがメディアサーバ1002により最初に記憶された時、すでに暗号化されていた。メディアサーバ1002 は、記録されたコンテンツを、コンテンツを解読することなく、送信する。
【0103】
DVR 1003は、記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに、直接書き込む。DVR 1003が記録されたコンテンツをプレイする時、それは、記録鍵を使用して、コンテンツを実行中にデコードする。図19を参照して、ユーザは、プログラムがまだ転送しているかを知るために、プログラム情報画面1901を選択することができる。ユーザは、(上記の)転送が進行中である間、Playオプション 1902を選択することにより、そのプログラムをプレイすることができる、またはStop transfer オプション 1903を使用して、転送を停止することができる。
【0104】
メディアサーバ1002が、暗号化されない記録をDVR 1003へ送信する場合、それは、記録を暗号化するために使用されるであろうランダムな記録鍵を作成し、かつ強い鍵を使用して、記録鍵を暗号化する。メディアサーバ1002 は、暗号化された記録鍵をDVR 1003へ送信する。
【0105】
DVR 1003は、強い鍵を使用して、それがメディアサーバ 1002と共有する記録鍵を解読し、かつ記録鍵を記憶する。DVR 1003は、オプションとして、記憶の前にローカルな鍵を使用して記録鍵を暗号化することができる。メディアサーバ 1002は、それがローカルに記憶した記録されたコンテンツをDVR 1003へ送信する。記録されたコンテンツは、それがメディアサーバ 1002により最初に記憶された時、暗号化されなかった。メディアサーバ 1002は、それがコンテンツを送信する時、コンテンツを暗号化し、記録されたコンテンツを送信する。
【0106】
DVR 1003は、記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに、直接書き込む。DVR 1003が記録されたコンテンツをプレイする時、それは、記録鍵を使用して、コンテンツを実行中にデコードする。
【0107】
コンテンツ著作権が懸念される場合、DVR 1003は、その記憶デバイス上にコンテンツを記憶する必要がないことに留意されたい。それは、コンテンツを、単にプレイする、またはすぐに表示する。コンテンツが暗号化された場合、DVR 1003は、コンテンツを実行中に解読する。
【0108】
上記アプローチは、それがインターネットにわたって行われるように、ローカルなネットワークにおいて、等しく良好に、実行する。
【0109】
(H. 証明書コヒーレンシーの保存)
図11を再度参照すると、強い鍵の作成は、多くのCPUサイクルを利用する。1つのアプローチにおいて、DVR 1101は、それがメディアサーバとして指定される時、今後の使用に対して複数の強い鍵を作成かつ記憶することを要求される可能性がある。さらに、受信DVRは、強い鍵を解読するために、受信次第、多くのCPUサイクルを必要とする。このことは、DVRの全体の性能を、著しく落とす。本明細書における技術は、DVR 1101が、DVR 1102がリブートする、または再スタートされる時は何時でも新しい強い鍵を作成する更なる負担をなくす。それは、さらに、DVR 1102が、リブートまたは再スタートした後、強い鍵を解読する負担をなくす。
【0110】
DVR 1101は、最初に、強い接続鍵を作成し、それをそのローカルキャシュ1103内に記憶し、かつ他方のDVR1102の公開鍵を使用して、鍵を暗号化する。DVR 1101は、暗号化された強い鍵をDVR 1102に送信する。DVR 1102は、強い鍵を解読し、かつその鍵をそのローカルキャシュ1104内に暗号化された強い鍵とDVR 1101の機械シリアル・ナンバーと一緒に記憶する。
【0111】
DVR 1102が、リブートするまたは再スタートされる場合、それは、その状態がネットワーク内においてどうであるかを知らない。それは、数秒間ダウンしていたかもしれない、またはそれは、別のネットワークから移転されたかもしれない。DVR 1102は、メディアサーバとして指定されたDVR 1101から強い鍵をリクエストする。DVR 1101は、そのローカルキャシュ 1103に記憶した強い鍵を送信する、またはDVR 1102がDVR 1101と設定された強い接続を有さなかった場合、新しい強い鍵を作成する。強い鍵は、DVR 1102の公開鍵を使用して、暗号化され、かつDVR 1102へ送信される。
【0112】
DVR 1102が、暗号化された強い鍵を受信する時、それは、DVR 1101からのエントリに対して、ローカルキャシュ1104をチェックし、およびそれが、ある1つを探し出す場合、それは、ローカルキャシュ1104内の暗号化された鍵とビットごとの比較を行う。2つの鍵が同じ場合、次に、DVR 1102は、ローカルキャシュ 1104に記憶された、予め解読された鍵を使用する。そうでなければ、DVR 1102は、新しく送信された鍵を解読し、かつ新しいエントリにおける暗号化された鍵と、解読された鍵と、DVR 1101 機械シリアル・ナンバーとをローカルキャシュ 1104内に記憶する。このように、この長い解読ステップは、不可欠な場合を除き、避けるられる。
【0113】
(I. インターネット・メディア・ダウンロード)
サーバからDVRへのインターネットメディアダウンロードを容易にするために、図12は、図9に示されるデジタル証明書の修正を示す。また、図7を再度参照すると、サービスセンター130は、DVR 110、770に配布される証明書901を作成する。DVR110、770は、サービスのシリアル・ナンバーフィールド 903内の特別にプレフィックスされたシリアル・ナンバー、例えば: FFFxxxxxxxxxxxx(ここで、"xxxxxxxxxxxx"は、バージョン番号、サービスプロバイダ等の追加の情報を提供するために使用される。)を使用して、サービスエントリを認識するであろう。表示名 902は、「特殊なビデオ」などのサービスを表す何かに設定される。直接公開鍵の代わりに、鍵フィールド1204、1206は、サーバに対するアクセスポイントの充分に修飾されたドメイン名(fully qualified domain name)で満たされる。
【0114】
証明書901は、サービスサーバ情報とピアユニット情報との混合したものを含むことができる。有効期限 907およびデジタル署名 908は、同じままである。
【0115】
従って、サービスセンター130は、同じまたは異なるサーバ等を指名するために、全ての、またはグループの証明書のフィールド内に、情報を置くことができる。
【0116】
DVR 110は、証明書内のサービスシリアル・ナンバーを認識し、かつピング(ping)を、鍵フィールド、例えば、鍵フィールド 1204におけるドメイン名を使用して、それが到達可能かを見るためにサーバへ送信する。新しいDVRが接続する時、サーバは、DVRの公開鍵を捜し、かつ任意の他の必要とされる鍵を生成するために、それを使用する。DVRは、サーバのための鍵を所有する必要はない;サーバは、セッションのための強い鍵を生成し、かつその強い鍵を、DVRの公開鍵を用いて、暗号化する。それは、次に、暗号化された強い鍵をDVRへパスする。
【0117】
一旦、通信が、設定されると、DVR 110は、コンテンツに関してサーバに問い合わせることができる。
【0118】
サーバは、それが利用可能であるものを記載するために、適切なメタデータを合成し、かつそれをDVR 110へ送信する。メタデータが合成されるので、それは、1つ当りのDVRをベースに、一意的に作成可能である。例えば、DVR所有者は、歴史、ドラマ、コメディ等の異なる種類のサービスためにサインアップすることができる。
【0119】
これに代えて、サーバは、サーバが適切なメタデータを合成するために使用するそのプリファランスベクトル(preference vector)をサーバへ送信するように、DVR 110に指示することができる。DVRのプリファランスベクトルは、ユーザの視聴習慣、例えば、ユーザが、彼が好きである、および好きでないことを表示したもの、彼が、シーズンパス契約などのオプションを使用して、決まって記録したものを含む。サーバは、プリファランスベクトル情報を記憶しない;それは、情報を使用後、そのまま廃棄する。このことは、ユーザのプライバシーを保護し、かつ、プリファランスが、いつも、DVR 110上に保たれることを保証する。
【0120】
標準ビデオ、音楽、および写真転送インタフェースは、上記において、使用される。図16は、そのDVRそれ自体と他のアクセス可能なサーバおよびDVRとから利用可能なコンテンツを表示する(1602)、Now Playing 画面1601を示す。サービスからのコンテンツのためのエントリは、リストアップされた証明書からのその関連付けられた名前を有する。同様に、別のDVRからのコンテンツは、もし存在するならば、ユーザがそれと関連付けた名前 1602を使用して、リストアップされる。このように、ユーザは、コンテンツのソースを知っている。図17は、コンテンツソース 1702の名前を表示するコンテンツ画面1701を示す。図20および21は、音楽コンテンツ画面 2001および写真コンテンツ画面 2101を示す。
【0121】
図13を参照すると、サーバ 1301からコンテンツをダウンロードすることに興味があるDVRは、サーバ 1301にピングする。サーバ 1301は、ピングサービスを動作させ、DVRからのリクエストに、それらが入って来る時、応答する。このことは、サーバ 1301がビデオをダウンロードするために、「サインアップされた(signed up)」全てのDVRの記録1302を保持することを可能にする。記録1302 は、例えば、別のIPアドレスからダウンロード可能なビデオにアクセスするDVRのクローンが存在しないことを保証するために、後で、監査可能である。記録 1302は、また、課金の目的で、ユーザがビデオをダウンロードするためにサインアップされた彼のDVR 1303を有した時間の長さを追跡するために使用される。
【0122】
ユーザが、DVR 1303へ転送するために、サーバ1301からのエントリを選択する時、DVR 1303は、サーバ 1301とコンタクトをとり、かつ適切なメディアオブジェクトをリクエストする。その時点で、サーバ1301は、そのプログラムがダウンロードされている1302を記録し、課金システム等へのエントリを含むことが可能である。
【0123】
記録は、ユーザによりサービスセンターのウェブサイト上へ問い合わせ可能であり1304、したがって、彼は、彼の請求書を容易にチェックすることができる。
【0124】
図14を参照すると、接続を、DVR 1401から第三者のサーバのグループ 1403、1404、1405の1つへリディレクトする、ドメイン名リディレクタ 1402が、使用可能である。リディレクションは、負荷、使用されるドメイン名プレフィックス等に基づいて、発生することができる。このことは、サービスセンターが、リクエストを別の会社のサーバへリディレクトすることを可能にする。リディレクションは、様々な実施例において、料金または収入の分担を含むことができる。
【0125】
ドメイン名リディレクタ1402は、各第三者のサーバ 1403、1404、1405上に存在することができ、従って、DVR 1401からのリクエストは、第三者のサーバそれ自体により、リディレクト可能である。DVR 1401は、第三者のサーバ 1403との接続をリクエストする。第三者のサーバ 1403は、リクエストをDVR 1401から第三者のサーバ 1404へリディレクトすることにより、その任務を第三者のサーバ1404に「任せる(delegates)」。DVR 1401は、次に、そのコンテンツリクエストのために、第三者のサーバ 1404とコンタクトをとる。このことは、第三者のサーバが、過負荷状態であるまたは何れにせよリクエストに対処することはできないとそれ自身により判断することを可能にする。
【0126】
(J. 暗号化パイプラインとしてのDVRの使用)
図15を参照すると、DVR 1503、1504、1505に提供されるコンテンツは、最初に、第三者のコンテンツサーバなどのコンテンツサーバ 1501により、生成することができる。コンテンツサーバ1501は、DVRの暗号化技術またはアーキテクチャに関する任意の情報にアクセスを有しない。DVR 1502は、コンテンツをエンコードし、かつ暗号化するために使用される。DVR 1502は、高速ネットワークエンジンを有し、かつ「暗号化パイプライン(encryption pipeline)」として機能する。データは、コンテンツサーバ1501からDVR 1502へ.送信される。DVR 1502は、データをそのローカル記憶デバイスへ書き込みながら、データをエンコードし(必要であれば)、かつ暗号化する。DVR 1502は、次に、データをローカル記憶デバイスから、解読することなく、読み出し、かつそのデータを、ネットワークにわたって、DVR 1503、1504、1505の中から選択された対象のDVRへ送信する。
【0127】
別のアプローチは、そのコンテンツの安全な伝送を有する第三者のコンテンツサーバを提供する。データは、コンテンツサーバの暗号化技術を使用して、コンテンツサーバ 1501からDVR 1502へ送信される。DVR 1502は、コンテンツサーバの解読技術を使用して、データを解読する。DVR 1502は、次に、データをそのローカル記憶デバイスに書き込みながら、データを(必要であれば)エンコードし、かつ(DVRの暗号化技術を使用して)暗号化する。DVR 1502は、次に、データをローカル記憶デバイスから、解読することなく、読み出し、かつそのデータを、ネットワークにわたって、DVR 1503、1504、1505の中から選択された対象のDVRへ送信する。
【0128】
このことは、第三者のコンテンツ提供者が、DVR暗号チップ、暗号化技術、またはアドレス指定方式に関する任意の保護必要情報にアクセスを有しないことを保証する。それは、さらに、商品を市場に送出す時間および第三者の提供者をコンテンツサーバネットワーク内に組み込むコストを削減する。
【0129】
(K. 電子メールを介したコンテンツへのアクセス)
上記のように、任意の前述の実施例におけるメディアサーバは、PC、DVR、またはコンテンツを供給することができる任意の他のメカニズムであることが可能である。本明細書に記載されたアプローチは、DVRが、メディアサーバのクライアントとして、メディアサーバ上に記憶された音楽、ビデオ、および写真コンテンツなどのマルチメディアコンテンツにアクセスすることを可能にする。しかしながら、DVRおよびメディアサーバが、インターネットにアクセスを有することが可能なので、コンテンツは、生じる必要はないし、また物理的に任意の所定のメディアサーバ上に収容される必要もない。
【0130】
従って、コンテンツは、サーバが以下を含む特殊なファイルを処理するように構成することにより、DVRユーザに利用可能とされる:
・(例えば、JPEG形式 MP3、またはMPEGファイル形式の)実際のコンテンツ。
・DVR環境設定、例えば、記録スケジュール、データベース修正、コンテンツプリファランス、等。
・別のサーバに、またはインターネット上に潜在的にどこでも位置している別のサーバ上に記憶されるコンテンツへの「リンク(Links)」。
【0131】
このようなファイルは、DVRユーザに電子メール介して、または、インターネットダウンロードを介して提供可能である。コンテンツを電子メールを介してDVRへ送信できる方法を示す2つの具体例のシナリオは、以下に記載される。
【0132】
図22および23を参照すると、典型的な家庭用DVRセットアップ2201が、示される。メディアサーバ2202のみがインターネット2205へアクセス可能であると仮定されたい。電子メールオーサー 2204は、オーサーリングソフトウェアを用いて、コンテンツファイルを作成する。ファイルは、例えば、幾つかの画像に関して実際の2値データをJPEG形式で含む(それは、任意のタイプのコンテンツを含むことができる)。コンテンツファイルは、メディアサーバ 2202を実行する同じコンピュータからの電子メールにアクセスするユーザへ、添付ファイルとして、電子メールされる。電子メール以外のメッセージ通信メカニズムは、代替の実施例において、使用可能である。
【0133】
ユーザは、電子メールを読取り、かつ、彼が、コンテンツに興味を持つ場合、ユーザは、添付されたコンテンツファイルを選択し、コンテンツファイルを処理するためにメディアサーバ 2202を呼び出す。メディアサーバ 2202は、そこからコンテナ(メタデータ)情報およびJPEGデータを後で生成できる画像に関する情報を内部のデータベースに加える。
【0134】
ユーザは、彼のDVR 2203に行き、かつ彼のテレビジョンセットを介して「Music & Photos」機能にアクセスし、DVR 2203にメディアサーバ 2202からコンテナ情報をリクエストさせる。写真コンテンツ画面 2101に示された利用可能であるコンテンツの他のコンテナの中で(図21)、ユーザは、今、コンテンツファイルからの画像を有する1つにアクセスすることができる。ユーザが、画像の1つを視聴するために、コマンドを発行する時、DVR 2203は、適切なJPEGデータをレンダリングしかつそのデータをDVR 2203へパスするためにその内部のデータベースを調べるメディアサーバ 2202に対してリクエストを作成する。DVR 2203は、画像をユーザに表示し、かつ画像をそのローカル記憶デバイスに記憶しない。ユーザは、早送り、一時停止、逆送り、プレイ(スライドショー)、等のトリックプレイ機能を複数の写真ファイル上で使用することができる。
【0135】
図23において、DVR 2303およびメディアサーバ 2302の両方がインターネット 2305にアクセスを有する家庭用DVR セットアップ 2301 が、示される。オーサー 2304は、オーサーリングソフトウェアを用いて、コンテンツファイルを作成する。ファイルは、コンテンツサーバ 2306上に収容されかつHTTPを介して供給されるMP3音楽ファイルなどの1つ以上のコンテンツファイルにリンクする。コンテンツファイルは、添付ファイルとして、メディアサーバ 2302を実行する同じコンピュータから電子メールに(観念的に)アクセスするユーザに電子メールされる。
【0136】
ユーザは、電子メールを読取り、かつ、彼が、コンテンツに興味を持つ場合、ユーザは、添付されたコンテンツファイルを選択し、コンテンツファイルを処理するためにメディアサーバ 2302を呼び出す。メディアサーバ2302は、そこからコンテナ情報を後で生成できるコンテンツファイルに関する情報を、内部のデータベースに加える。
【0137】
利用者は、彼のDVR 2303に行き、かつ「Music & Photos」機能にアクセスし、DVR 2203にメディアサーバ 2302からのコンテナ情報をリクエストさせる。音楽コンテンツ画面 2001に示された利用可能であるコンテンツの他のコンテナの内から(図20)、利用者は、今、コンテンツサーバ 2306により供給される音楽を有する1つにアクセスすることができる。ユーザが、音楽ファイルの1つをプレイするために、コマンドを発行する時、DVR 2303は、適切なデータを検索するために、インターネット 2305にわたって、直接、コンテンツサーバ2306にアクセスする。ユーザは、早送り、一時停止、逆送り、プレイ、等のトリックプレイ機能を、音楽ファイル上で、使用することができる。音楽を通した進行は、接続されたテレビジョンセットにより、図8に示されるリプレイバーを使用して、ユーザに表示される。DVR 2303は、著作権保護のため、音楽をその記憶デバイス上に記憶しない。
【0138】
上記のように、2つの前述の具体例は、DVRが使用または表示することができる任意のタイプのコンテンツに対して使用可能である。構成情報が受信される場合、DVR 2303は、そのローカル記憶デバイス上に、構成情報を記憶し、かつそれ自身を構成するために、構成情報を使用するであろう。ビデオが受信される場合、DVR 2303は、そのローカル記憶デバイス上に、ユーザによって後で再生するために、ビデオコンテンツを記憶することができる。ユーザは、早送り、一時停止、逆送り、プレイ、スロー・プレイ、フレーム・ステップ、等のトリックプレイ機能を、ビデオコンテンツ上で、使用することができる。
【0139】
DVRユーザは、コンテンツをお互いに電子メールを介して共有するために、このアプローチを使用することができるであろう。例えば、一人のユーザは、別のユーザに、第一の利用者のPC上に収容されたパーソナル写真へのリンクを有するコンテンツファイルを、送信することができるであろう。
【0140】
本明細書のこのアプローチは、コンテンツをDVRユーザに電子メールを介して販売するために、第三者のベンダーに対してさらに有益になる可能性がある。例えば、レコード会社は、サンプルの歌を含むMP3ファイルへのリンクを有するコンテンツファイルを送信することにより、新しいアルバムを宣伝することができるであろう。
【0141】
第三者のパートナーは、製品をDVRユーザに電子メールを介して配信するために、本明細書におけるアプローチを使用することができる。例えば、フィルム処理現像所は、DVRユーザによりオンラインで購入されたデジタル化された写真を含むコンテンツファイルを電子メールすることができるであろう。
【0142】
前述の明細書において、本発明は、特定の実施例を参照して説明された。しかしながら、様々な修正および変更が、本発明のより広い精神および範囲から逸脱することなく、行うことができることは明らかであろう。従って、本明細書および図面は、限定的な意味ではなく例示的な意味で、考えられるべきである。
【図面の簡単な説明】
【0143】
【図1】集中型パーソナルテレビジョンサービスへの遠隔アクセスのための通信システムを例示するブロック図である。
【図2】図1に示されるシステムの動作プロセスを示すデータの流れ図である。
【図3】図2に示されるユーザデータベースおよびイベントデータベースの構造を例示する図表である。
【図4】ユーザからの遠隔プログラミング指示を得るために、パーソナルTVサービスのウェブサーバにより使用されるプロセスを示すフローチャートである。
【図5】プログラム選択のためのグラフィカルユーザインタフェースの画像表示である。
【図6】ユーザのウェブブラウザまたはテレビジョン画面に現れるNow Showingのウェブページの画面キャプチャである。
【図7】パーソナルTVサービスセンター、DVR、および外部のコンテンツサーバ間のインターネットにわたる対話を例示するブロック図である。
【図8】コンテンツが再生速度より速くダウンロードされていることを表示するリプレイバーの画面キャプチャである。
【図9】DVR情報を含むデジタル証明書を例示する線図である。
【図10】家庭内のDVRに接続されたローカルネットワーク内のメディアサーバを例示するブロック図である。
【図11】強い暗号化された接続を作り出すために、2つのDVR間の通信交換を例示するブロック図である。
【図12】DVRおよびコンテンツサーバ情報を含むデジタル証明書を例示する線図である。
【図13】課金の目的でDVRアクセス情報を記録するサーバを例示するブロック図である。
【図14】DVRリクエストを第三者のサーバへリディレクトするドメイン名リディレクタを例示するブロック図である。
【図15】第三者のコンテンツサーバに対する暗号化パイプラインとして使用されているDVRを例示するブロック図である。
【図16】アクセス可能なメディアサーバを示しているNow Playing画面の画面キャプチャである。
【図17】メディアサーバに対するアクセス可能なコンテンツを示しているコンテンツ画面の画面キャプチャである。
【図18】メディアサーバからのコンテンツを示している転送オプション画面の画面キャプチャである。
【図19】メディアサーバから転送されているプログラムを示しているプログラム状態画面の画面キャプチャである。
【図20】メディアサーバからアクセス可能な音楽を示している音楽画面の画面キャプチャである。
【図21】メディアサーバからのアクセス可能な写真を示している写真画面の画面キャプチャである。
【図22】インターネットアクセスを有するメディアサーバを備えた、家庭内のDVRに接続されたローカルネットワーク内のそのメディアサーバを例示するブロック図である。
【図23】インターネットアクセスを有するメディアサーバとDVRの両方を備える、家庭内のそのDVRに接続されたローカルネットワーク内のそのメディアサーバを例示するブロック図である。
【符号の説明】
【0144】
1301 サーバ
1302 DVRの記録
1303 DVR
1304 ユーザによるウェブアクセス
【特許請求の範囲】
【請求項1】
ネットワークの範囲内でマルチメディアコンテンツを安全に転送する、コンピュータにより実施される次のステップを備える方法であって:
メインサーバを提供するステップと;
登録されたクライアントシステムおよび対応する情報を含む前記メインサーバ上のデータベースを提供するステップとを有し;
ユーザが、彼がその間でメディアを共有したいまたは転送したい、前記データベースからの一組のクライアントを選択し;
前記メインサーバが、前記一組のクライアントを識別するデジタル証明書を作成し;かつ
前記デジタル証明書が各クライアントのシリアル・ナンバーおよびその対応する公開暗号化鍵を含む、方法。
【請求項2】
前記ユーザが名前をクライアントに割当て、かつ前記ユーザが前記クライアントに割当てた前記名前が、前記証明書に挿入される請求項1に記載の方法。
【請求項3】
有効期限が、前記証明書に含まれる請求項1に記載の方法。
【請求項4】
前記証明書を、前記証明書にリストアップされた各クライアントに送信するステップをさらに有する請求項1に記載の方法。
【請求項5】
前記メインサーバを識別するデジタル署名が、前記証明書に含まれる請求項4に記載の方法。
【請求項6】
各クライアントが、前記証明書内の前記デジタル署名を確認することにより、前記証明書を検査する請求項5に記載の方法。
【請求項7】
クライアントが、前記証明書にリストアップされたそのピアを探し出す請求項1に記載の方法。
【請求項8】
前記クライアントシステムが、デジタルビデオレコーダ(DVR)である請求項1に記載の方法。
【請求項9】
前記ユーザが、コンテンツサーバを、前記証明書にリストアップされた前記クライアントの中から、マルチメディアコンテンツのソースとして指定し、かつ前記コンテンツサーバが、PC、デジタルビデオレコーダ(DVR)、または他のタイプのデータサーバであることが可能である請求項1に記載の方法。
【請求項10】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項9に記載の方法。
【請求項11】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項10に記載の方法。
【請求項12】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項11に記載の方法。
【請求項13】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項12に記載の方法。
【請求項14】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項13に記載の方法。
【請求項15】
コンテンツサーバを提供するステップをさらに有し、かつ
前記コンテンツサーバが複数のマルチメディアコンテンツを含む請求項1に記載の方法。
【請求項16】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項15に記載の方法。
【請求項17】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項16に記載の方法。
【請求項18】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項17に記載の方法。
【請求項19】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項18に記載の方法。
【請求項20】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項19に記載の方法。
【請求項21】
コンピュータの安全なキャシュのコヒーレンシーを保存する方法であって、コンピュータにより実施されるステップであって:
第一のコンピュータを提供するステップと;
第二のコンピュータを提供するステップと;
前記第一のコンピュータ上に強い通信鍵を作成するステップと;
前記第一のコンピュータ上に前記強い通信鍵を記憶するステップと;
前記第二のコンピュータの前記公開鍵を使用して、前記強い通信鍵を暗号化するステップと;
前記暗号化された強い通信鍵を前記第二のコンピュータへ送信するステップとを有し;かつ
前記第二のコンピュータが、そのローカルキャシュを、前記第一のコンピュータからのエントリに対して、チェックし、エントリが存在する場合、そのローカルキャシュ内の記憶された暗号化された強い通信鍵と前記受信された暗号化された強い通信鍵間の比較を実行する方法。
【請求項22】
前記第二のコンピュータが、前記強い通信鍵を解読し、かつ前記強い通信鍵を、前記暗号化された強い通信鍵および前記第一のコンピュータの機械シリアル・ナンバーと共に、そのローカルキャシュ内に記憶する請求項21に記載の方法。
【請求項23】
再スタートに応じて、前記第二のコンピュータが、前記強い通信鍵を前記第一のコンピュータからリクエストする請求項21に記載の方法。
【請求項24】
前記第一のコンピュータが、前記第二のコンピュータの公開鍵を使用して、その記憶された強い通信鍵を暗号化し、かつ前記暗号化された強い通信鍵を前記第二のコンピュータへ送信する請求項23に記載の方法。
【請求項25】
前記比較が前記2つの鍵が等しいことを示す場合、前記第二のコンピュータが、そのローカルキャシュに記憶された前記解読された強い通信鍵を使用し、および前記比較が、前記2つの鍵が等しくないことを示す場合、前記第二のコンピュータが、前記受信された強い通信鍵を解読し、かつ前記解読された強い通信鍵、前記暗号化された強い通信鍵、および前記第一のコンピュータの機械シリアル・ナンバーを、そのローカルキャシュ内に記憶する請求項21に記載の方法。
【請求項26】
ネットワークの範囲内でマルチメディアコンテンツを安全に転送するための装置であって:
メインサーバと;
登録されたクライアントシステムおよび対応する情報を含む前記メインサーバ上のデータベースとを有し;
ユーザが、彼がその間でメディアを共有したいまたは転送したい、前記データベースからの一組のクライアントを選択し;
前記メインサーバが、前記一組のクライアントを識別するデジタル証明書を作成し;および
前記デジタル証明書が各クライアントのシリアル・ナンバーおよびその対応する公開暗号化鍵を含む装置。
【請求項27】
前記ユーザが名前をクライアントに割当て、かつ前記ユーザが前記クライアントに割当てた前記名前が、前記証明書に挿入される請求項26に記載の装置。
【請求項28】
有効期限が前記証明書に含まれる請求項26に記載の装置。
【請求項29】
前記証明書を、前記証明書にリストアップされた各クライアントに送信する手段をさらに有する請求項26に記載の装置。
【請求項30】
前記メインサーバを識別するデジタル署名が、前記証明書に含まれる請求項29に記載の装置。
【請求項31】
各クライアントが、前記証明書内の前記デジタル署名を確認することにより、前記証明書を検査する請求項30に記載の装置。
【請求項32】
クライアントが、前記証明書にリストアップされたそのピアを探し出す請求項26に記載の装置。
【請求項33】
前記クライアントシステムが、デジタルビデオレコーダ(DVR)である請求項26に記載の装置。
【請求項34】
前記ユーザが、コンテンツサーバを、前記証明書にリストアップされた前記クライアントの中から、マルチメディアコンテンツのソースとして指定し、かつ前記コンテンツサーバが、PC、デジタルビデオレコーダ(DVR)、または他のタイプのデータサーバであることが可能である請求項26に記載の装置。
【請求項35】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項34に記載の装置。
【請求項36】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項35に記載の装置。
【請求項37】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項36に記載の装置。
【請求項38】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項37に記載の装置。
【請求項39】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項38に記載の装置。
【請求項40】
コンテンツサーバをさらに有し;かつ
前記コンテンツサーバが複数のマルチメディアコンテンツを含む請求項26に記載の装置。
【請求項41】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項40に記載の装置。
【請求項42】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項41に記載の装置。
【請求項43】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項42に記載の装置。
【請求項44】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項43に記載の装置。
【請求項45】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項44に記載の装置。
【請求項46】
コンピュータの安全なキャシュのコヒーレンシーを保存するための装置であって:
第一のコンピュータと;
第二のコンピュータと;
前記第一のコンピュータ上に強い通信鍵を作成する手段と;
前記第一のコンピュータ上に前記強い通信鍵を記憶する手段と;
前記第二のコンピュータの前記公開鍵を使用して、前記強い通信鍵を暗号化する手段と;
前記暗号化された強い通信鍵を前記第二のコンピュータへ送信する手段とを有し;かつ
前記第二のコンピュータが、そのローカルキャシュを前記第一のコンピュータからのエントリに対して、チェックし、かつエントリが存在する場合、そのローカルキャシュ内の記憶された暗号化された強い通信鍵と前記受信された暗号化された強い通信鍵間の比較を実行する装置。
【請求項47】
前記第二のコンピュータが、前記強い通信鍵を解読し、かつ前記強い通信鍵を、前記暗号化された強い通信鍵および前記第一のコンピュータの機械シリアル・ナンバーと共に、そのローカルキャシュ内に記憶する請求項46に記載の装置。
【請求項48】
再スタートに応じて、前記第二のコンピュータが、前記強い通信鍵を前記第一のコンピュータからリクエストする請求項46に記載の装置。
【請求項49】
前記第一のコンピュータが、前記第二のコンピュータの公開鍵を使用して、その記憶された強い通信鍵を暗号化し、かつ前記暗号化された強い通信鍵を前記第二のコンピュータへ送信する請求項48に記載の装置。
【請求項50】
前記比較が前記2つの鍵が等しいことを示す場合、前記第二のコンピュータが、そのローカルキャシュに記憶された前記解読された強い通信鍵を使用し、および前記比較が、前記2つの鍵が等しくないことを示す場合、前記第二のコンピュータが、前記受信された強い通信鍵を解読し、かつ前記解読された強い通信鍵、前記暗号化された強い通信鍵、および前記第一のコンピュータの機械シリアル・ナンバーを、そのローカルキャシュ内に記憶する請求項46に記載の装置。
【請求項51】
ネットワークの範囲内でマルチメディアコンテンツを安全に転送するための命令の1つ以上のシーケンスを収容するコンピュータ読取り可能媒体であって、1つ以上のプロセッサによる前記命令の1つ以上のシーケンスの実行が、前記1つ以上のプロセッサに:
メインサーバを提供するステップと;
登録されたクライアントシステムおよび対応する情報を含む前記メインサーバ上のデータベースを提供するステップとを実行させ;
ユーザが、彼がその間でメディアを共有したいまたは転送したい、前記データベースからの一組のクライアントを選択し;
前記メインサーバが、前記一組のクライアントを識別するデジタル証明書を作成し;および
前記デジタル証明書が各クライアントのシリアル・ナンバーおよびその対応する公開暗号化鍵を含むコンピュータ読取り可能媒体。
【請求項52】
前記ユーザが名前をクライアントに割当て、かつ前記ユーザが前記クライアントに割当てた前記名前が、前記証明書に挿入される請求項51に記載の方法。
【請求項53】
有効期限が前記証明書に含まれる請求項51に記載の方法。
【請求項54】
前記証明書を、前記証明書にリストアップされた各クライアントに送信するステップをさらに有する請求項51に記載の方法。
【請求項55】
前記メインサーバを識別するデジタル署名が、前記証明書に含まれる請求項54に記載の方法。
【請求項56】
各クライアントが、前記証明書内の前記デジタル署名を確認することにより、前記証明書を検査する請求項55に記載の方法。
【請求項57】
クライアントが、前記証明書にリストアップされたそのピアを探し出す請求項51に記載の方法。
【請求項58】
前記クライアントシステムが、デジタルビデオレコーダ(DVR)である請求項51に記載の方法。
【請求項59】
前記ユーザが、コンテンツサーバを、前記証明書にリストアップされた前記クライアントの中から、マルチメディアコンテンツのソースとして指定し、かつ前記コンテンツサーバが、PC、デジタルビデオレコーダ(DVR)、または他のタイプのデータサーバであることが可能である請求項51に記載の方法。
【請求項60】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項59に記載の方法。
【請求項61】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項60に記載の方法。
【請求項62】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項61に記載の方法。
【請求項63】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項62に記載の方法。
【請求項64】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項63に記載の方法。
【請求項65】
コンテンツサーバを提供するステップをさらに有し、かつ
前記コンテンツサーバが複数のマルチメディアコンテンツを含む請求項51に記載の方法。
【請求項66】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項65に記載の方法。
【請求項67】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項66に記載の方法。
【請求項68】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項67に記載の方法。
【請求項69】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを、前記強い鍵を使用して、暗号化するために使用される記録鍵を暗号化する、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項68に記載の方法。
【請求項70】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項69に記載の方法。
【請求項71】
コンピュータの安全なキャシュのコヒーレンシーを保存するための命令の1つ以上のシーケンスを収容するコンピュータ読取り可能媒体であって、1つ以上のプロセッサによる前記命令の1つ以上のシーケンスの実行が、前記1つ以上のプロセッサに:
第一のコンピュータを提供するステップと;
第二のコンピュータを提供するステップと;
前記第一のコンピュータ上に強い通信鍵を作成するステップと;
前記第一のコンピュータ上に前記強い通信鍵を記憶するステップと;
前記第二のコンピュータの前記公開鍵を使用して、前記強い通信鍵を暗号化するステップと;
前記暗号化された強い通信鍵を前記第二のコンピュータへ送信するステップとを実行させ;かつ
前記第二のコンピュータが、そのローカルキャシュを前記第一のコンピュータからのエントリに対して、チェックし、およびエントリが存在する場合、そのローカルキャシュ内の記憶された暗号化された強い通信鍵と前記受信された暗号化された強い通信鍵間の比較を実行するコンピュータ読取り可能媒体。
【請求項72】
前記第二のコンピュータが、前記強い通信鍵を解読し、かつ前記強い通信鍵を、前記暗号化された強い通信鍵および前記第一のコンピュータの機械シリアル・ナンバーと共に、そのローカルキャシュ内に記憶する請求項71に記載の方法。
【請求項73】
再スタートに応じて、前記第二のコンピュータが、前記強い通信鍵を前記第一のコンピュータからリクエストする請求項71に記載の方法。
【請求項74】
前記第一のコンピュータが、前記第二のコンピュータの公開鍵を使用して、その記憶された強い通信鍵を暗号化し、かつ前記暗号化された強い通信鍵を前記第二のコンピュータへ送信する請求項73に記載の方法。
【請求項75】
前記比較が前記2つの鍵が等しいことを示す場合、前記第二のコンピュータが、そのローカルキャシュに記憶された前記解読された強い通信鍵を使用し、および前記比較が、前記2つの鍵が等しくないことを示す場合、前記第二のコンピュータが、前記受信された強い通信鍵を解読し、かつ前記解読された強い通信鍵、前記暗号化された強い通信鍵、および前記第一のコンピュータの機械シリアル・ナンバーを、そのローカルキャシュ内に記憶する請求項71に記載の方法。
【請求項1】
ネットワークの範囲内でマルチメディアコンテンツを安全に転送する、コンピュータにより実施される次のステップを備える方法であって:
メインサーバを提供するステップと;
登録されたクライアントシステムおよび対応する情報を含む前記メインサーバ上のデータベースを提供するステップとを有し;
ユーザが、彼がその間でメディアを共有したいまたは転送したい、前記データベースからの一組のクライアントを選択し;
前記メインサーバが、前記一組のクライアントを識別するデジタル証明書を作成し;かつ
前記デジタル証明書が各クライアントのシリアル・ナンバーおよびその対応する公開暗号化鍵を含む、方法。
【請求項2】
前記ユーザが名前をクライアントに割当て、かつ前記ユーザが前記クライアントに割当てた前記名前が、前記証明書に挿入される請求項1に記載の方法。
【請求項3】
有効期限が、前記証明書に含まれる請求項1に記載の方法。
【請求項4】
前記証明書を、前記証明書にリストアップされた各クライアントに送信するステップをさらに有する請求項1に記載の方法。
【請求項5】
前記メインサーバを識別するデジタル署名が、前記証明書に含まれる請求項4に記載の方法。
【請求項6】
各クライアントが、前記証明書内の前記デジタル署名を確認することにより、前記証明書を検査する請求項5に記載の方法。
【請求項7】
クライアントが、前記証明書にリストアップされたそのピアを探し出す請求項1に記載の方法。
【請求項8】
前記クライアントシステムが、デジタルビデオレコーダ(DVR)である請求項1に記載の方法。
【請求項9】
前記ユーザが、コンテンツサーバを、前記証明書にリストアップされた前記クライアントの中から、マルチメディアコンテンツのソースとして指定し、かつ前記コンテンツサーバが、PC、デジタルビデオレコーダ(DVR)、または他のタイプのデータサーバであることが可能である請求項1に記載の方法。
【請求項10】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項9に記載の方法。
【請求項11】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項10に記載の方法。
【請求項12】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項11に記載の方法。
【請求項13】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項12に記載の方法。
【請求項14】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項13に記載の方法。
【請求項15】
コンテンツサーバを提供するステップをさらに有し、かつ
前記コンテンツサーバが複数のマルチメディアコンテンツを含む請求項1に記載の方法。
【請求項16】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項15に記載の方法。
【請求項17】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項16に記載の方法。
【請求項18】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項17に記載の方法。
【請求項19】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項18に記載の方法。
【請求項20】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項19に記載の方法。
【請求項21】
コンピュータの安全なキャシュのコヒーレンシーを保存する方法であって、コンピュータにより実施されるステップであって:
第一のコンピュータを提供するステップと;
第二のコンピュータを提供するステップと;
前記第一のコンピュータ上に強い通信鍵を作成するステップと;
前記第一のコンピュータ上に前記強い通信鍵を記憶するステップと;
前記第二のコンピュータの前記公開鍵を使用して、前記強い通信鍵を暗号化するステップと;
前記暗号化された強い通信鍵を前記第二のコンピュータへ送信するステップとを有し;かつ
前記第二のコンピュータが、そのローカルキャシュを、前記第一のコンピュータからのエントリに対して、チェックし、エントリが存在する場合、そのローカルキャシュ内の記憶された暗号化された強い通信鍵と前記受信された暗号化された強い通信鍵間の比較を実行する方法。
【請求項22】
前記第二のコンピュータが、前記強い通信鍵を解読し、かつ前記強い通信鍵を、前記暗号化された強い通信鍵および前記第一のコンピュータの機械シリアル・ナンバーと共に、そのローカルキャシュ内に記憶する請求項21に記載の方法。
【請求項23】
再スタートに応じて、前記第二のコンピュータが、前記強い通信鍵を前記第一のコンピュータからリクエストする請求項21に記載の方法。
【請求項24】
前記第一のコンピュータが、前記第二のコンピュータの公開鍵を使用して、その記憶された強い通信鍵を暗号化し、かつ前記暗号化された強い通信鍵を前記第二のコンピュータへ送信する請求項23に記載の方法。
【請求項25】
前記比較が前記2つの鍵が等しいことを示す場合、前記第二のコンピュータが、そのローカルキャシュに記憶された前記解読された強い通信鍵を使用し、および前記比較が、前記2つの鍵が等しくないことを示す場合、前記第二のコンピュータが、前記受信された強い通信鍵を解読し、かつ前記解読された強い通信鍵、前記暗号化された強い通信鍵、および前記第一のコンピュータの機械シリアル・ナンバーを、そのローカルキャシュ内に記憶する請求項21に記載の方法。
【請求項26】
ネットワークの範囲内でマルチメディアコンテンツを安全に転送するための装置であって:
メインサーバと;
登録されたクライアントシステムおよび対応する情報を含む前記メインサーバ上のデータベースとを有し;
ユーザが、彼がその間でメディアを共有したいまたは転送したい、前記データベースからの一組のクライアントを選択し;
前記メインサーバが、前記一組のクライアントを識別するデジタル証明書を作成し;および
前記デジタル証明書が各クライアントのシリアル・ナンバーおよびその対応する公開暗号化鍵を含む装置。
【請求項27】
前記ユーザが名前をクライアントに割当て、かつ前記ユーザが前記クライアントに割当てた前記名前が、前記証明書に挿入される請求項26に記載の装置。
【請求項28】
有効期限が前記証明書に含まれる請求項26に記載の装置。
【請求項29】
前記証明書を、前記証明書にリストアップされた各クライアントに送信する手段をさらに有する請求項26に記載の装置。
【請求項30】
前記メインサーバを識別するデジタル署名が、前記証明書に含まれる請求項29に記載の装置。
【請求項31】
各クライアントが、前記証明書内の前記デジタル署名を確認することにより、前記証明書を検査する請求項30に記載の装置。
【請求項32】
クライアントが、前記証明書にリストアップされたそのピアを探し出す請求項26に記載の装置。
【請求項33】
前記クライアントシステムが、デジタルビデオレコーダ(DVR)である請求項26に記載の装置。
【請求項34】
前記ユーザが、コンテンツサーバを、前記証明書にリストアップされた前記クライアントの中から、マルチメディアコンテンツのソースとして指定し、かつ前記コンテンツサーバが、PC、デジタルビデオレコーダ(DVR)、または他のタイプのデータサーバであることが可能である請求項26に記載の装置。
【請求項35】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項34に記載の装置。
【請求項36】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項35に記載の装置。
【請求項37】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項36に記載の装置。
【請求項38】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項37に記載の装置。
【請求項39】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項38に記載の装置。
【請求項40】
コンテンツサーバをさらに有し;かつ
前記コンテンツサーバが複数のマルチメディアコンテンツを含む請求項26に記載の装置。
【請求項41】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項40に記載の装置。
【請求項42】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項41に記載の装置。
【請求項43】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項42に記載の装置。
【請求項44】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項43に記載の装置。
【請求項45】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項44に記載の装置。
【請求項46】
コンピュータの安全なキャシュのコヒーレンシーを保存するための装置であって:
第一のコンピュータと;
第二のコンピュータと;
前記第一のコンピュータ上に強い通信鍵を作成する手段と;
前記第一のコンピュータ上に前記強い通信鍵を記憶する手段と;
前記第二のコンピュータの前記公開鍵を使用して、前記強い通信鍵を暗号化する手段と;
前記暗号化された強い通信鍵を前記第二のコンピュータへ送信する手段とを有し;かつ
前記第二のコンピュータが、そのローカルキャシュを前記第一のコンピュータからのエントリに対して、チェックし、かつエントリが存在する場合、そのローカルキャシュ内の記憶された暗号化された強い通信鍵と前記受信された暗号化された強い通信鍵間の比較を実行する装置。
【請求項47】
前記第二のコンピュータが、前記強い通信鍵を解読し、かつ前記強い通信鍵を、前記暗号化された強い通信鍵および前記第一のコンピュータの機械シリアル・ナンバーと共に、そのローカルキャシュ内に記憶する請求項46に記載の装置。
【請求項48】
再スタートに応じて、前記第二のコンピュータが、前記強い通信鍵を前記第一のコンピュータからリクエストする請求項46に記載の装置。
【請求項49】
前記第一のコンピュータが、前記第二のコンピュータの公開鍵を使用して、その記憶された強い通信鍵を暗号化し、かつ前記暗号化された強い通信鍵を前記第二のコンピュータへ送信する請求項48に記載の装置。
【請求項50】
前記比較が前記2つの鍵が等しいことを示す場合、前記第二のコンピュータが、そのローカルキャシュに記憶された前記解読された強い通信鍵を使用し、および前記比較が、前記2つの鍵が等しくないことを示す場合、前記第二のコンピュータが、前記受信された強い通信鍵を解読し、かつ前記解読された強い通信鍵、前記暗号化された強い通信鍵、および前記第一のコンピュータの機械シリアル・ナンバーを、そのローカルキャシュ内に記憶する請求項46に記載の装置。
【請求項51】
ネットワークの範囲内でマルチメディアコンテンツを安全に転送するための命令の1つ以上のシーケンスを収容するコンピュータ読取り可能媒体であって、1つ以上のプロセッサによる前記命令の1つ以上のシーケンスの実行が、前記1つ以上のプロセッサに:
メインサーバを提供するステップと;
登録されたクライアントシステムおよび対応する情報を含む前記メインサーバ上のデータベースを提供するステップとを実行させ;
ユーザが、彼がその間でメディアを共有したいまたは転送したい、前記データベースからの一組のクライアントを選択し;
前記メインサーバが、前記一組のクライアントを識別するデジタル証明書を作成し;および
前記デジタル証明書が各クライアントのシリアル・ナンバーおよびその対応する公開暗号化鍵を含むコンピュータ読取り可能媒体。
【請求項52】
前記ユーザが名前をクライアントに割当て、かつ前記ユーザが前記クライアントに割当てた前記名前が、前記証明書に挿入される請求項51に記載の方法。
【請求項53】
有効期限が前記証明書に含まれる請求項51に記載の方法。
【請求項54】
前記証明書を、前記証明書にリストアップされた各クライアントに送信するステップをさらに有する請求項51に記載の方法。
【請求項55】
前記メインサーバを識別するデジタル署名が、前記証明書に含まれる請求項54に記載の方法。
【請求項56】
各クライアントが、前記証明書内の前記デジタル署名を確認することにより、前記証明書を検査する請求項55に記載の方法。
【請求項57】
クライアントが、前記証明書にリストアップされたそのピアを探し出す請求項51に記載の方法。
【請求項58】
前記クライアントシステムが、デジタルビデオレコーダ(DVR)である請求項51に記載の方法。
【請求項59】
前記ユーザが、コンテンツサーバを、前記証明書にリストアップされた前記クライアントの中から、マルチメディアコンテンツのソースとして指定し、かつ前記コンテンツサーバが、PC、デジタルビデオレコーダ(DVR)、または他のタイプのデータサーバであることが可能である請求項51に記載の方法。
【請求項60】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項59に記載の方法。
【請求項61】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項60に記載の方法。
【請求項62】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項61に記載の方法。
【請求項63】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを暗号化するために使用される記録鍵を、前記強い鍵を使用して、暗号化し、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項62に記載の方法。
【請求項64】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項63に記載の方法。
【請求項65】
コンテンツサーバを提供するステップをさらに有し、かつ
前記コンテンツサーバが複数のマルチメディアコンテンツを含む請求項51に記載の方法。
【請求項66】
前記コンテンツサーバが、ランダムな強い鍵を作成することにより、クライアントと強く暗号化された接続を作り出し、前記コンテンツサーバが、前記証明書からの前記クライアントの公開鍵を使用して、前記強い鍵を暗号化し、および前記コンテンツサーバが、前記暗号化された強い鍵を前記クライアントに送信する請求項65に記載の方法。
【請求項67】
前記クライアントが、前記強い鍵を、そのプライベート鍵を使用して、解読し、かつ前記強い鍵が、前記コンテンツサーバと前記クライアント間の通信を暗号化するために、使用される請求項66に記載の方法。
【請求項68】
前記クライアントが、或る記録されたコンテンツを前記コンテンツサーバからリクエストする請求項67に記載の方法。
【請求項69】
前記コンテンツサーバが、前記リクエストされた記録されたコンテンツを、前記強い鍵を使用して、暗号化するために使用される記録鍵を暗号化する、かつ前記コンテンツサーバが、前記暗号化された記録鍵および前記リクエストされた記録されたコンテンツを前記クライアントへ送信する請求項68に記載の方法。
【請求項70】
前記クライアントが、前記記録鍵を、前記強い鍵を使用して解読し、かつ前記記録鍵を記憶し、前記クライアントが、前記リクエストされた記録されたコンテンツを、それをデコードすることなく、その記憶デバイスに直接書き込み、および前記クライアントが前記記録されたコンテンツを再生する時、それは、前記コンテンツを、実行中に、前記記録鍵を使用して、デコードする請求項69に記載の方法。
【請求項71】
コンピュータの安全なキャシュのコヒーレンシーを保存するための命令の1つ以上のシーケンスを収容するコンピュータ読取り可能媒体であって、1つ以上のプロセッサによる前記命令の1つ以上のシーケンスの実行が、前記1つ以上のプロセッサに:
第一のコンピュータを提供するステップと;
第二のコンピュータを提供するステップと;
前記第一のコンピュータ上に強い通信鍵を作成するステップと;
前記第一のコンピュータ上に前記強い通信鍵を記憶するステップと;
前記第二のコンピュータの前記公開鍵を使用して、前記強い通信鍵を暗号化するステップと;
前記暗号化された強い通信鍵を前記第二のコンピュータへ送信するステップとを実行させ;かつ
前記第二のコンピュータが、そのローカルキャシュを前記第一のコンピュータからのエントリに対して、チェックし、およびエントリが存在する場合、そのローカルキャシュ内の記憶された暗号化された強い通信鍵と前記受信された暗号化された強い通信鍵間の比較を実行するコンピュータ読取り可能媒体。
【請求項72】
前記第二のコンピュータが、前記強い通信鍵を解読し、かつ前記強い通信鍵を、前記暗号化された強い通信鍵および前記第一のコンピュータの機械シリアル・ナンバーと共に、そのローカルキャシュ内に記憶する請求項71に記載の方法。
【請求項73】
再スタートに応じて、前記第二のコンピュータが、前記強い通信鍵を前記第一のコンピュータからリクエストする請求項71に記載の方法。
【請求項74】
前記第一のコンピュータが、前記第二のコンピュータの公開鍵を使用して、その記憶された強い通信鍵を暗号化し、かつ前記暗号化された強い通信鍵を前記第二のコンピュータへ送信する請求項73に記載の方法。
【請求項75】
前記比較が前記2つの鍵が等しいことを示す場合、前記第二のコンピュータが、そのローカルキャシュに記憶された前記解読された強い通信鍵を使用し、および前記比較が、前記2つの鍵が等しくないことを示す場合、前記第二のコンピュータが、前記受信された強い通信鍵を解読し、かつ前記解読された強い通信鍵、前記暗号化された強い通信鍵、および前記第一のコンピュータの機械シリアル・ナンバーを、そのローカルキャシュ内に記憶する請求項71に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公表番号】特表2007−525109(P2007−525109A)
【公表日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−545414(P2006−545414)
【出願日】平成16年12月16日(2004.12.16)
【国際出願番号】PCT/US2004/042211
【国際公開番号】WO2005/060659
【国際公開日】平成17年7月7日(2005.7.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(502099382)ティヴォ インク (55)
【Fターム(参考)】
【公表日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願日】平成16年12月16日(2004.12.16)
【国際出願番号】PCT/US2004/042211
【国際公開番号】WO2005/060659
【国際公開日】平成17年7月7日(2005.7.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(502099382)ティヴォ インク (55)
【Fターム(参考)】
[ Back to top ]