【文献】
SONY BRAVIA 液晶デジタルテレビ取扱説明書 KDL-40X1000 / KDL-46X1000 操作・困ったときは編,日本,ソニー株式会社,2005年,URL,http://www.sony.jp/ServiceArea/impdf/pdf/2639847032.pdf
(58)【調査した分野】(Int.Cl.,DB名)
1つ以上のメタデータアイテムに関連し且つハンドルに関連づけられている1つ以上のデータコンテンツアイテムを含むデータを記憶するように構成され、かつ複数のクライアントデバイスそれぞれについて、複数の異なるフォーマットのデータを記憶するように構成されたメモリであって、前記各メタデータアイテムは属性名に関連づけられている当該メモリと、
複数の前記クライアントデバイスと通信可能なネットワーク・インタフェースと、
前記メモリにおけるデータの記憶を制御するように構成された制御ユニットであって、前記メモリへデータ書き込み及び前記メモリからのデータ読み出しに関する機能を提供し、且つ前記コンテンツアイテム及びメタデータを解釈なしに送信するように構成された当該制御ユニットと、
前記クライアントデバイスからの要求に対して返信する処理を速くするため、1つ以上の前記データコンテンツアイテムが消去されたこと及びそのデータコンテンツアイテムが消去された時点を示すレコードエントリを生成し、生成された前記レコードエントリをログに記憶するログ管理ユニットと、
を備えたデータレポジトリー。
各前記クライアントデバイスは、前記制御ユニットの前記機能を用いながら、前記データレポジトリーのためのデータベース機能を提供するように構成されている、請求項1に記載のデータレポジトリー。
記憶された前記データコンテンツアイテム又はメタデータアイテムに対して変更がされるときは前記時間値が増加され、前記データレポジトリーの時間値と前記クライアントデバイスの時間値との比較に基づき1つ以上のメタデータアイテムを前記クライアントデバイスに提供する、請求項8に記載のデータレポジトリー。
各前記データコンテンツアイテムは、前記データコンテンツアイテムが最後に修正された時の前記データレポジトリーの時間値に等しい修正時間に関連する、請求項9に記載のデータレポジトリー。
前記各メタデータアイテムは、前記メタデータアイテムが最後に修正された時の前記データレポジトリーの時間値に等しい修正時間に関連する、請求項11に記載のデータレポジトリー。
前記データレポジトリーは、前記クライアントデバイスからのジェネレーションカウントを前記ログに記憶された時間と比較する、請求項1に記載のデータレポジトリー。
前記データに対するアクセスを提供することは、どのようにして属性値が解釈されるべきかに関するクライアントへのレポジトリー情報提供に基づき、データアイテムを探索することを含む、請求項14に記載の方法。
前記属性名の第1の範囲はよく知られたタイプに割当てられ、第2の範囲はベンダーに割当てられ、前記第1及び第2の範囲は割当て機関によって割当てられ、第3の範囲は未定義のままにしておく、請求項21に記載の方法。
【発明を実施するための形態】
【0012】
本発明の実施形態は、一般に、メタデータ用のネットワークレポジトリーのための方法及び装置に向けられる。
【0013】
ここで使用する「娯楽ネットワーク」とは、(音楽、オーディオ/ビデオ、ゲーム、写真、等を含む)デジタルメディアコンテンツを装置間に配信するための相互接続ネットワークを意味する。娯楽ネットワークは、パーソナル娯楽ネットワーク、例えば、家庭用のネットワーク、業務設定の娯楽ネットワーク、又は娯楽装置の他のネットワークを含む。このようなネットワークでは、あるネットワーク装置は、メディアコンテンツのソース、例えば、デジタルテレビジョンチューナ、ケーブルセットトップボックス、ビデオ記憶サーバー、及び他のソース装置である。他の装置は、メディアコンテンツを表示又は使用するもので、例えば、デジタルテレビジョン、ホームシアターシステム、オーディオシステム、ゲームシステム、及び他の装置である。更に、ある装置は、メディアコンテンツを記憶又は転送するように意図されたもので、例えば、ビデオ及びオーディオ記憶サーバーである。ある装置は、複数のメディアファンクションを遂行することができる。ある実施形態では、ネットワーク装置は、単一のローカルエリアネットワーク上の同じ位置にある。他の実施形態では、ネットワーク装置は、例えば、ローカルエリアネットワーク間のトンネルを通して複数のネットワークセグメントに広がる。娯楽ネットワークは、複数のデータエンコード及び暗号化プロセスを含む。
【0014】
ここで使用する「データ」とは、コンテンツデータ、コンテンツデータのためのメタデータ、及び他の形式のデータを意味する。
【0015】
又、ここで使用する「不透明なデータ」とは、データを解釈せずに通過され、さもなければ、ハンドリングされるデータである。
【0016】
ある実施形態では、ネットワークは、コンテンツデータ及びメタデータのための一般的なレポジトリーを備えている。ある実施形態では、単一の記憶装置を使用するレポジトリーには多数の異なる種類のデータ及びメタデータが存在する。ある実施形態では、メディアメタデータの記憶装置は、記憶されるデータの形式に関わらず一般的なレポジトリーに設けられる。このようなデータレポジトリーは、複数の異なる形式及びフォーマットのデータを記憶することができる。ある実施形態では、データレポジトリーは、データを不透明な状態で記憶し、データレポジトリーは、データを解釈せずに、且つ記憶されるデータの形式又はフォーマットを知らずに、動作する。ある実施形態では、メタデータは、ネットワーク装置にデータを単にキャッシュ処理できる仕方で記憶される。ある実施形態では、ネットワークは、処理及びバッファ能力に限度のあるネットワーク装置によりアクセスできる形態でネットワークデータを記憶及びキャッシュ処理することができる。
【0017】
一実施例では、ネットワークは、複数の相互接続された娯楽装置を含む娯楽ネットワークでよい。このようなネットワークでは、記憶サーバーが、複数の異なる形式及びフォーマットのメディアデータ用のネットワークレポジトリーとして働く。このようなネットワークにおけるネットワーク装置、例えば、一例ではセットトップボックスは、記憶された映画又はテレビ番組に関するメタデータのキャッシュを含み、メディアデータ及びオリジナルメタデータが記憶サーバーに記憶される。このような環境では、キャッシュを、記憶サーバーに存在するメタデータに関して最新の状態に維持する必要がある。
【0018】
本発明のある実施形態では、データ及び関連メタデータ、例えば、メディアコンテンツ及び関連メディアコンテンツメタデータを含むデータベースは、そのデータベースがサーチ及びフィルター選択肢を含むような低リソース環境においてサポートされる。従来のデータベースは、一般に、データベースに記憶できるデータの形式及びフォーマットに関して非常に特定的なものである。しかしながら、メディアコンテンツ及び関連メタデータのようなデータは、形式及びフォーマットに関してかなり変化し得る。ある実施形態では、データベースは、許されたデータ形式及びフォーマットに関して制約がなく、データベースの目的に対してデータ形式及びフォーマットが未知でよい。従来のデータベースでは、(データレポジトリー及び1組のデータアクセサリを含む)データベースのバックエンドは、データ記憶装置及び1組の標準的なデータベースオペレーションをサポートする。しかしながら、これらのデータベースオペレーションは、一般的に、複雑で且つデータ特有のものである。種々様々な形式及びフォーマットのデータをサポートするデータベースでは、特に、データエレメントのメモリ又は処理能力に限度のある低リソース環境においてこのようなデータベース機能を実施することは不可能である。
【0019】
ある実施形態では、データベースレポジトリーは、不透明なデータアイテムへのネットワークアクセスを与える。ある実施形態では、データベースに記憶されたデータに関するオペレーションは、データベースではなく、データに対する各クライアントに存在し、一方、データベースは、データの記憶を行うように区画化される。ある実施形態では、データベースシステムは、クライアントがファイルを原子ユニットとして読み取り又は書き込みできるようにするファイルコピーセマンティックに限定される。ある実施形態では、データベースレポジトリーによるメタデータの解釈を要求せずにデータベースへのアクセスが与えられる。ある実施形態では、データベースは、低リソースでのデータサーチを許し且つ記憶されたデータの実際のフォーマット又はコンテンツを知らずに、フィルタリングする能力を含む。
【0020】
ある実施形態では、データベースクライアント/フロントエンドとデータベースレポジトリー/バックエンドとの間に要求されるファイル転送を制限するためのメカニズムが提供される。ある実施形態では、帯域巾及びアクセス要求を最小にしながら、不透明なデータアイテムを効率的にキャッシュ処理し且つそれにアクセスするプロセスが提供される。
【0021】
ある実施形態では、レポジトリーは、ここで「コンテンツ」と称されるデータの種々のセットを保持する。ある実施形態では、コンテンツが最初に記憶される前に又はそのときに、コンテンツの各断片又はアイテムに、レポジトリーにより、ローカルに独特の非繰り返し識別子(又は「ハンドル」)が指定される。このハンドルは、コンテンツの特定の断片及びそれに関連したメタデータを指すためにレポジトリーのクライアントによって使用される。典型的な実施形態では、ハンドルは、固定表現をもつ整数(例えば、32ビットのビッグエンディアン又は64ビットのビッグエンディアン)のような固定フォーマットをもつ呼称でよいが、ハンドルは、特定の表現に制限されない。ハンドルは、実際のコンテンツ及びメタデータを保持するためのコンテナとして働くレポジトリーにおけるディレクトリー又はフォルダーと考えられる。一実施例では、(コンテンツという名前の)ディレクトリーは、更に、記憶されたコンテンツを含む1つ以上のファイルを、関連メタデータを含む(メタデータという名前の)別のディレクトリーと一緒に含むことができる。
【0022】
ある実施形態では、メタデータは、関連データを記述する属性に対応する。データレポジトリー及び関連メタデータの構造のこの説明では、ファイルシステムの用語を一例として使用する。というのは、この形式のシステム、例えば、パーソナルコンピュータ、ネットワーク取り付け型の記憶装置、ポータブル装置、単一チップ解決策におけるシステム、及び他のシステムは、通常使用されるもので、種々様々な実施形態において具現化できるからである。しかしながら、これらの実施形態は、ファイルシステムに限定されず、他のインフラストラクチャーでも具現化できる。ある実施形態では、ファイルサイズは、属性のサイズを与える。各メタデータエレメントは、名前(又はキー)、長さ(又はファイルサイズ)、及び関連する値(ファイルコンテンツ)を有する。ファイルシステムの用語を使用する際には、メタデータディレクトリーの各ファイルは、メタデータの1つの断片、又は属性を表すことができる。ファイルシステムの例を使用すると、ファイルの名前は、メタデータ属性の名前に対応し、そしてファイルのコンテンツは、関連する値に対応する。典型的な記憶システムでは、名前は、テキストストリングとして表される。ある実施形態では、低リソース具現化をサポートするために、全ての名前が、固定フォーマットを伴う整数、例えば、32ビットのビッグエンディアンとして表される。従って、固定フォーマット整数の使用は、例えば、特定属性の値を検索する要求にサービスするときに、可変長さストリング処理の負担を軽減し、そして属性名に対するバッファ管理を簡単化することができる。
【0023】
データレポジトリーにデータをキャッシュ記憶するために、ある実施形態では、ネットワークデータレポジトリーは、タイムスタンプ又は他の時間値を記憶するためのメモリ又はレジスタを備え、時間値は、データレポジトリーに記憶されたデータの最後の変化を表す。ある実施形態では、時間値は、データが変化するたびに、例えば、データが新たに記憶され、変更され又は削除されるたびに、単調に増加するジェネレーションカウント(即ちGC)であるが、他の形式の時間値を使用してもよい。ある実施形態では、データレポジトリーのジェネレーションカウントは、キャッシュ記憶装置のジェネレーションカウントと比較される。データレポジトリーのジェネレーションカウントが、(データレポジトリーにおけるその後の時間値を指示する)キャッシュのジェネレーションカウントより高い場合には、レポジトリーデータに変化があり、キャッシュの更新が必要となる。ある実施形態では、例えば、不透明なデータの形式及びフォーマットが分からない環境において、データレポジトリー内のデータの解釈を必要とせずに、更新に関する決定がなされる。ある実施形態では、各コンテンツアイテム(例えば、各映画、歌、写真、等のメディアデータ)及び/又は各メタデータアイテムは、記憶された日付スタンプ又は他の時間値も含み、これは、どのメタデータエレメントがキャッシュ記憶を要求するかをより細かく詳細に識別するのに使用できる。
【0024】
ある実施形態では、システムは、ジェネレーションカウントが変化を指示する場合に、データレポジトリーに含まれた全ての関連メタデータをキャッシュへ供給することができる。このプロセスは、データレポジトリーのデータがあまり頻繁に変化しない場合、及び/又は転送されるべきメタデータの量が比較的少ない場合に機能することができる。しかしながら、データの量又はデータの頻度の変更のために、全てのデータを転送することは困難である。
【0025】
ある実施形態では、メタデータを更新するプロセスは、記憶装置のジェネレーションカウントがキャッシュのジェネレーションカウントより古いかどうか決定することを含む。次いで、記憶装置は、2つのジェネレーションカウント間で更新された全てのメタデータを要求する。次いで、キャッシュ装置は、記憶装置のジェネレーションカウントを再び要求する。記憶装置のジェネレーションカウントがもはやキャッシュより古くない場合には、キャッシュが完全に更新されている。ジェネレーションカウントが、より古いジェネレーションカウントを有する場合には、これは、別の変化が生じたことを指示し、別の更新サイクルが行われる。これは、データが一致するまで続けるか、又は記憶装置があまりに頻繁に変化されてキャッシュを更新し続けられないとキャッシュが判断するまで続けることができる。
【0026】
更新においてデータレポジトリーからデータキャッシュへ転送される必要のあるデータの量を減少するために、ある実施形態では、ログを使用してデータ変化を記録することができる。ログは、キャッシュへのデータの転送を、ログにおいて反映される変更されたデータエレメントのみに限定するのに使用される。ログは、メタデータに変化があった各データエレメントのリストを簡単な形態で表すことができる。ある実施形態では、ログは、データの形式もフォーマットも表さない。
【0027】
ある実施形態では、データに対して周期的な更新サイクルが生じる。更新サイクルの開始は、複数の仕方で生じる。一実施形態では、キャッシュが、単に、記憶装置にその現在GCについて周期的に訪ね、記憶装置を適当なインターバルでポーリングする。別の実施形態では、データレポジトリーは、データの変化に関する情報をネットワーク上の装置へブロードキャストし、データキャッシュをもつ装置がそのブロードキャストに応答して、例えば、装置のデータキャッシュをデータレポジトリーに同期させることができる。
【0028】
ある実施形態では、データレポジトリーを低廉なものにして広範囲に入手できるようにするために、単一チップ解決策が望まれる。しかしながら、単一チップ解決策は、典型的に、標準的なデータベースオペレーションをサポートするために要求されるメモリ、ロジック及び処理リソースを含まない。メタデータは、典型的に、たとえ完全なデータベースサポートが与えられなくても、単一チップ環境では容易にサポートされない可変長さテキストストリングの形態で表される。ある実施形態では、データベースオペレーションは、ネットワークデータレポジトリーに対して簡単化され、データベースオペレーションは、一般的に、クライアントによってレポジトリーに与えられ、これは、ネットワーク装置に対する単一チップ解決策を可能にする上で助けとなる。
【0029】
ある実施形態では、システムは、クライアントがメタデータのローカルキャッシュを(例えば、カスタムデータベースに)維持できるようにする一方、クライアントが1組の簡単なルールを使用してメタデータを簡単にブラウズ、フィルター及びサーチできるようにする仕方で任意の拡張可能なメタデータを記憶するメカニズムを与える。更に、メタデータの形式及び値は、低リソース具現化に従う不透明な形態で処理される。ある実施形態では、オペレーションは、中央サーバーを使用せずに相互接続されたネットワークにおいて行われる。
【0030】
図1は、ネットワークデータレポジトリーを含むネットワークの実施形態を示す。この図において、ネットワーク105は、ネットワーク装置A110、ネットワーク装置B115、ネットワーク装置C120、及びネットワークデータレポジトリー125を含む複数のネットワーク装置を備えている。ネットワークは、複数のメディア装置を含むパーソナル娯楽ネットワークを含むが、これに限定されない。ある実施形態では、ネットワークデータレポジトリー125は、データコンテンツ及びそのようなデータコンテンツに関するメタデータのデータベース130を備えている。コンテンツデータは、例えば、メディアデータであり、メタデータは、そのようなメディアデータを記述する。ある実施形態では、コンテンツデータ及びメタデータ130は、他のネットワーク装置110−120のいずれかによりアクセスするように使用できる。
【0031】
ある実施形態では、種々の異なるプロトコルに対してメタデータを記憶できるように、メタデータが不透明な仕方で記憶される。ある実施形態では、ネットワークデータレポジトリーは、メタデータを理解しないことがあり、データは、フィールドの名前に基づいてフィールドに記憶される。ある実施形態では、メタデータは、1つ以上の他のネットワーク装置にキャッシュ記憶される。
【0032】
一実施例において、データ及びメタデータ130は、映画データ及びこのような映画データに関するメタデータを含む。ネットワーク装置A110が、例えば、テレビモニタのためのセットトップボックスである場合には、ネットワーク装置A110は、ネットワークデータレポジトリー125にアクセスせずにそのようなデータにアクセスしてサーチできるように映画メタデータのキャッシュを維持することができる。ある実施形態では、他のネットワーク装置及びネットワークデータレポジトリーが、キャッシュ記憶されたデータを維持して、記憶されたメタデータに一致させるように動作する。
【0033】
図2は、メタデータをキャッシュ記憶する実施形態を示す。図示されたように、ネットワーク装置205は、ネットワークデータレポジトリー225と通信する。ネットワークデータレポジトリー225は、データ230及びそのようなデータに関するメタデータ235のセットを含む。一実施例では、データ230は、複数の異なる形式のメディアデータを、そのようなメディアデータを記述する適当なメタデータと共に含む。ネットワークデータレポジトリー225は、更に、ネットワークを経て通信するためのネットワークインターフェイスも備えている。ネットワーク装置205は、メタデータ215を記憶するためのキャッシュ210と、ネットワークを経て通信するためのネットワークインターフェイス220とを備えている。
【0034】
ある実施形態では、ネットワーク装置205のメタデータ215を使用して、そのような情報への高速アクセスを与える。ネットワーク装置205及びデータレポジトリー225は、データレポジトリーのメタデータ235の記憶に変化が生じた場合に更新を必要とするメタデータ215の現在状態を維持するように動作する。しかしながら、ネットワーク装置205及びデータレポジトリー225は、最小限の処理能力しかもたない軽量のネットワーク装置でよい。ある実施形態では、データレポジトリーは、メタデータのフォーマットもコンテンツも知らない。
【0035】
ある実施形態では、レポジトリーのクライアントは、データレポジトリーのメカニズムによってサポートされるものより進歩したデータベース問合せをサポートすることを望むか、又は複数のレポジトリーに及ぶ統合されたデータベースを与えることを望む。この場合に、クライアントは、メタデータをそれ自身のデータベース内にキャッシュ記憶することを望む。キャッシュ記憶がサポートされない状態では、クライアントは、問合せを満足させる前にメタデータのためのレポジトリーに、レポジトリー内のアイテムの数が成長するにつれて実際的でなくなるプロセスについて問合せる必要がある。このようなオペレーションにおいては、キャッシュ内のメタデータをデータレポジトリーのメタデータと同期状態に維持することが要求される。しかしながら、この同期は、ネットワークデータレポジトリーでは更に複雑化される。他の問題の中でも、クライアント装置を知ることなく、メタデータへの更新が他の装置によってなされることがある。
【0036】
ある実施形態では、クライアント装置によるリモートキャッシュ記憶を容易にするために、データレポジトリーについてのジェネレーションカウント又は他の時間値の使用がレポジトリーによって維持され、ジェネレーションカウントは、メタデータの相対年齢を確立するのに使用される。例えば、ジェネレーションカウントは、レポジトリーが変化するたびに、例えば、コンテンツのアイテム又はメタデータアイテムが追加され、メタデータアイテムの値が変化され、コンテンツのアイテムが変化され、メタデータアイテムが削除され、等々のたびに、インクリメントされる単調に増加する整数でよい。この実施例では、ジェネレーションカウントは、決して減少せず、従って、その表現は、データレポジトリーの寿命にわたる変化を受け容れるのに充分でなければならない。
【0037】
ある実施形態では、簡単なキャッシュ記憶技術は、クライアントがレポジトリーに現在ジェネレーションカウントについて問合せし、そしてそのようなジェネレーションカウントをクライアントに記憶することを含む。次いで、クライアントは、レポジトリーに、メタデータの全セットについて問合せし、そしてメタデータをクライアントのキャッシュに追加する。周期的に、クライアントは、レポジトリーに現在ジェネレーションカウントについて問合せする。現在ジェネレーションカウントが、ジェネレーションカウントのクライアント記録値とは異なる(即ち、レポジトリーの時間値がクライアントの時間値より遅い)場合には、クライアントは、レポジトリーにメタデータの全セットについて問合せし、それに応じてクライアントのキャッシュを更新する。しかしながら、この解決策は、特に、レポジトリーへの変化が頻繁なとき、又は著しい量のメタデータが存在するときに、オペレーションのコストが高い。
【0038】
ある実施形態では、データレポジトリーは、更に、コンテンツの各断片に対して変更時間(MT)属性を含む。コンテンツの断片又はそのメタデータが変化するときには、現在ジェネレーションカウントが関連変更時間として記録される。この解決策では、クライアントは、レポジトリーに現在ジェネレーションカウントについて問合せし(上述したように)、そしてそれが異なる場合に、それが知っている最後のジェネレーションカウントを含ませることにより、更新されたコンテンツのリストについて問合せを続けることができる。レポジトリーは、そのような問合せを受け取ると、コンテンツのリストにわたって繰り返し、そして各変更時間をクライアントからのジェネレーションカウントと比較し、低いジェネレーションカウントをもつコンテンツの断片ごとにハンドルを返送する。次いで、クライアントは、新しい又は変更されたコンテンツの断片についてのみメタデータを要求することができる。
【0039】
変更時間解決策を使用するには、クライアントがコンテンツの各変更された断片に対して全てのメタデータを収集することを必要とする。ある実施形態では、変更時間は、コンテンツ変更時間に加えてメタデータのアイテムごとに変更時間を含ませることにより更に向上させることができる。このように、問合せは、コンテンツに関連した全てのメタデータではなく、変化したコンテンツ及び属性のみを返送することができる。
【0040】
図3は、ネットワークデータレポジトリーの実施形態を示す。この図において、データレポジトリー302は、ネットワークの1つの要素であり、種々の形式及びフォーマットのデータを記憶するように使用できる。データレポジトリー302は、データレポジトリーのオペレーションを制御するための制御ユニット303を備え、ここで、制御ユニットは、プロセッサ、制御ロジック、或いは他のハードウェア又はソフトウェアコントローラでよい。各データコンテンツエレメントは、固定桁整数として定義されたハンドルにより指定される。例えば、データレポジトリー302のコンテンツは、ハンドル304(例えば、整数10101010)及びハンドラー(整数11011111)に関連したコンテンツを含むことができる。ハンドル304は、コンテンツ306に関連付けられ、コンテンツ306は、データエレメント330を含む。このハンドルは、更に、メタデータ308に関連付けられ、メタデータの各アイテムは、名前及び値、例えば、名前310、314、318及び322を各々値312、316、320及び324と共に有する。同様に、ハンドル340は、データエレメント366を含むコンテンツ342に関連付けられる。ハンドルは、更に、メタデータ342に関連付けられ、各アイテムは、名前及び値、例えば、名前346、350及び362を各々値348、352及び364と共に有する。
【0041】
更に、データレポジトリー302は、レジスタ又は他のメモリに記憶された日付スタンプ又は他の時間値を含み、これは、ここでは、データレポジトリーのデータ又はメタデータに変化が生じるたびに増加するジェネレーションカウント370として示されている。ある実施形態では、ジェネレーションカウント370は、クライアント装置のジェネレーションカウントと比較されて、キャッシュが最新のものであるかどうか決定する。ある実施形態では、データ330のようなコンテンツの各アイテムは、変更時間MT372を含み、これは、データを最後に変更した時間であり、変化時に現在値であったジェネレーションカウントを表す。ある実施形態では、変更時間は、コンテンツのどのアイテムがクライアントのキャッシュに対して変化したかを決定するのに使用される。ある実施形態では、メタデータの各アイテムは、メタデータ名322に対してMT374のような変更時間も含む。MT374は、メタデータが最後に変化したときの現在ジェネレーションカウントを表す。ある実施形態では、メタデータの各アイテムに対する変更時間は、クライアントキャッシュへの更新を、変化したメタデータのアイテムに限定するのに使用される。
【0042】
ある実施形態では、システムにジェネレーションカウント及び変更時間のような時間値を使用すると、クライアントは、複数のデータ追加及び変更に直面してそのキャッシュを迅速に同期させることができる。しかしながら、データの削除の優雅な取り扱いは、更なる困難さを招き得る。コンテンツのどの断片が削除されたか発見するために、クライアントは、全レポジトリーに問合せすることが必要になる。同様に、メタデータの削除されたアイテムを発見するために、クライアントは、全メタデータにコンテンツの断片について問合せることが必要である。
【0043】
ある実施形態では、データレポジトリーは、コンテンツハンドル及びジェネレーションカウントを記録している最新のコンテンツ削除のログを維持する。クライアントがレポジトリーの変化について問合せすると、データレポジトリーは、クライアントからのジェネレーションカウントと、削除ログに記憶された時間との比較も行う。クライアントのジェネレーションカウントがログにおける最後のアイテムを越える場合には、これは、クライアントキャッシュの最後の更新以来、何も削除されていないことを指示し、従って、何も返送されない。クライアントのジェネレーションカウントが、ログにおける削除時間より進む場合には、クライアントは、全レポジトリーに問合せして、何が削除されたか発見する。このような問合せで費やされる時間は、レポジトリーを頻繁にポーリングすることにより最小にすることができる。クライアントのジェネレーションカウントが、ログにおけるアイテムの削除時間内に入る場合には(ある削除は、より古く、又、ある削除は、より新しい)、レポジトリーは、クライアントのジェネレーションカウントを越える削除時間をもつコンテンツハンドルを返送する。
【0044】
ある実施形態では、ログは、コンテンツへの更新を更に含むように拡張される。このような実施形態では、レポジトリーは、ジェネレーションカウントを比較して、レポジトリーの全てのコンテンツにわたって繰り返すことが要求されない。ある実施形態では、ログは、個々のメタデータ更新の記録を更に含むことができる。この情報が含まれる場合に、この情報は、全てのこのようなメタデータにわたって繰り返すことなくキャッシュにおける更新を要求したメタデータの個々のアイテムを識別するのに使用される。ログに記憶されるべきエレメントを決定するために、設計者は、ログを使用する際に節約した時間、データレポジトリーにより受け取られた問合せの数、及び要求されたログのサイズのようなエレメントのバランスをとることができる。
【0045】
図4は、メタデータを記憶するためのキャッシュ及びデータレポジトリーの実施形態を示す。データレポジトリー400は、レジスタ又は他のメモリに記憶されるジェネレーションカウント404を含み、ジェネレーションカウントは、データレポジトリー内のデータ又はメタデータに変化が生じるたびに増加する。ある時点で、GCが値Xに等しくなる。この例では、ある時点で、データレポジトリーは、ハンドルA406をもち且つコンテンツA408を含み、コンテンツがメタデータA1 410及びメタデータA2 412に関連したコンテンツエントリーと、ハンドルB414をもち且つコンテンツB416を含み、コンテンツがメタデータB1 418及びメタデータB2 420に関連したコンテンツエントリーと、を備えている。
【0046】
この図において、クライアント装置のキャッシュ430は、データレポジトリー400のメタデータとの同期を保つことが意図される。キャッシュは、現在、ジェネレーションカウントYを有する。しかしながら、変化が生じており、従って、キャッシュは、最新の状態ではない。従って、キャッシュのジェネレーションカウントYは、レポジトリーのジェネレーションカウントXよりも小さい。図示されたように、キャッシュ430は、メタデータA1 434、メタデータB1 438、メタデータB2 438、メタデータB3 440、及びメタデータC1 442を含む。従って、キャッシュは、メタデータA2(後で入力される)を欠いており、削除されたメタデータB3を含み、そして削除されたコンテンツアイテムに対してメタデータC1を含む。(この図では、同じ呼称をもつメタデータは、変化されていない。)
【0047】
ある実施形態では、クライアント装置は、レポジトリー400を周期的にポーリングすることができる。この場合、レポジトリーは、ジェネレーションカウントX404を返送し、これは、キャッシュ430のジェネレーションカウントYより大きいことをクライアント装置が決定する。ある実施形態では、キャッシュは、データレポジトリー400の全てのメタデータが返送されることを要求する。しかしながら、これは、必要以上のメタデータを生じることになる。ある実施形態では、コンテンツエレメント408及び416は、各々、どのコンテンツエレメントが変化されたか決定するのに使用できる変更時間を含む。ある実施形態では、メタデータエレメント410、412、418及び420は、各々、どのメタデータエレメントが変化を受けたか識別するのに使用される変更時間を含む。
【0048】
ある実施形態では、データレポジトリーは、問合せに応答する際にデータレポジトリーの助けとなるよう意図されたデータログ450を有するか又はそれに関連付けされる。ある実施形態では、データログは、レポジトリーが、少ないメタデータで応答するか、又は正しいデータでより迅速に応答することができるようにする。ある実施形態では、ログ450は、削除されたコンテンツ452のハンドルを、データが削除されたときを指示する変更時間と共に含む。この場合に、ログは、コンテンツエレメントC454が時間aに削除されそしてコンテンツエレメントD455が時間bに削除されたことを明らかにしなければならない。変更時間をジェネレーションカウント432と比較することで、例えば、コンテンツエレメントD455は、キャッシュ430の最後の更新の前に削除され、従って、更新が要求されないが、コンテンツエレメントC454は、キャッシュ430の最後の更新の後に削除され、従って、削除されたコンテンツに関連したメタデータ(この場合には、メタデータC1 442)を除去するために更新が要求されることが決定される。
【0049】
ある実施形態では、ログ450は、変化したデータ456のハンドルを、その変化に対する変更時間と一緒に含むこともできる。この場合には、レポジトリーへの問合せは、コンテンツA458が時間Cに変更され、コンテンツB460が時間Bに変更され、そしてコンテンツCが時間a(それが削除されたとき)に変更されたことを明らかにする。この情報は、キャッシュ430のジェネレーションカウント432と比較され、そしてコンテンツAの変化は、コンテンツAに関連した全てのメタデータをキャッシュに与えねばならない(メタデータA1 410及びメタデータA2 412、従って、欠落メタデータA2 412をキャッシュに追加する)ことを意味していることを示す。更に、コンテンツBの変化は、コンテンツBに関連した全てのメタデータを与えねばならない(メタデータB1 418及びメタデータB2 420、従って、削除されたメタデータB3 440をキャッシュから除去することを許す)ことを意味する。
【0050】
ある実施形態では、ログ450は、変化したメタデータエレメント464の名前も含む。この図において、ログへの問合せは、メタデータA2 466が時間c(それがレポジトリーから削除されたとき)に変化され、メタデータB3 468が時間d(それがレポジトリーから削除されたとき)に変化され、そしてメタデータC1 470が時間a(コンテンツが削除されたとき)に変化されたことを示す。キャッシュ430のジェネレーションカウント432と、各メタデータエントリーのジェネレーションカウントとの比較は、キャッシュの更新が、メタデータA2の追加、及びキャッシュ430からのメタデータB3の削除を含むことを示す。
【0051】
図4は、ある実施形態におけるログのオペレーションを簡単に示す。ある実施形態では、ログのエントリーは、
図4に示されない付加的な情報を含んでもよいし、又は
図4に示されたある情報を除外してもよい。
【0052】
ある実施形態では、メタデータの属性名が、ハイアラーキー形態で指定される。トップレベルの属性クラスは、属性名を広いカテゴリーへと分割する。例えば、メディアデータ属性は、映画コンテンツ、音楽コンテンツ、写真コンテンツ、装置属性、ベンダー特有の属性、等を含む。ある実施形態では、属性クラスは、固定フォーマットの整数として表され、特定の用途に値の範囲が指定される。例えば、良く知られた属性クラスには、第1の範囲の値が指定される。ベンダー特有の属性には、第2の範囲の値が指定され、例えば、グローバルな当局が個々のベンダーに独特の値を指定する責任を果たす。第3の範囲の値は、定義されないままとされ、アプリケーションが、グローバルな当局に要請することなく、それらの値を使用できるようにしている。この実施例では、第3の範囲の使用において、例えば、同じ値を異なる目的に使用するよう試みる場合に衝突が生じることがあり、アプリケーションの設計者は、この問題を取り扱う責任がある。
【0053】
ある実施形態では、「属性形式」は、クラス特有の値を考慮して、属性クラスのサブカテゴリーを定義する。ある実施形態では、特定の用途に範囲が指定される。良く知られた値は、名前、アーチスト、格付け、期間、アイコン、当の属性形式を含む。良く知られた値は、更に、フィルタリングオペレーションを容易にするために指定当局によりグループ編成することができる。一実施例において、特定の属性に対する要求をパーズするときには範囲チェックを使用できるように全てのビデオ関係属性が一緒にグループ編成される。属性クラスについて上述した同じ注意を伴って、別の範囲を拡張用に予約することができる。
【0054】
ある実施形態では、ユーザに提示するときにストリングベースの表現に数字ベースのフォーマットをマップすることができる。しかしながら、実際のレポジトリーの設計は、このようなマッピングを要求せず、従って、単一チップのような軽量装置において具現化するためにプロセスを簡単化することができる。
【0055】
ある実施形態では、データレポジトリーそれ自体が、属性に指定された範囲、又は属性クラス及び形式の解釈について知る必要はない。ある実施形態では、特定クラス及び形式の属性(メタデータのアイテム)がデータレポジトリーに記憶されるときに、データレポジトリーは、属性クラスをその名前として伴うディレクトリーを(必要に応じて)論理的に生成し、そしてその名前が属性形式であるファイルをその中に記憶する。ある実施形態では、データレポジトリーは、ファイルコンテンツも不透明なデータとして処理できるので、属性を使用して、解釈せずに値を記憶したり検索したりする。
【0056】
オペレーション中に、リモートネットワーク装置のような外部クライアントは、ある属性に基づいて、ネットワークデータレポジトリーをナビゲートすることを希望することがある。データレポジトリーは、データ記憶装置に含まれたコンテンツハンドルの目録を与える。クライアントがリモート位置にあるために、(単純な整数である)ハンドルの集合で要求に応答するためのサポートは、ネットワークトラフィックを減少する上で役立つ。ある実施形態では、属性名は、固定長さのストリングである。固定長さストリングの属性名を使用して、整数値の比較と同様に、簡単なバイトごとの比較を行うことができる一方、同じ名前を異なる属性に使用する場合に生じるデータ衝突のおそれが低い状態でユーザにより拡張を使用することもできる。他の実施形態では、例えば、ストリングの長さが属性に含まれるようにして、可変長さのストリングを属性名として使用することができる。
【0057】
ある実施形態では、増強されたスキームは、クライアントが、メタデータの特定断片の値に基づいてコンテンツをサーチできるようにする。クライアントは、属性クラス及び形式を、レポジトリーに記憶された値に対して一致させるために不透明なデータと共に提出する。このオペレーションでは、レポジトリーは、メタデータの値を解釈することが要求されない。むしろ、レポジトリーは、各対応するメタファイルのコンテンツを単に比較して、一致するコンテンツのハンドルを返送する。
【0058】
ある実施形態では、より進歩したデータレポジトリーは、このような厳密一致の問合せのセットにおいてブール演算のセットをサポートすることを含む。例えば、クライアントは、属性クラス、形式及び値より成る一連のタプルを送信することにより問合せを提起することができる。これらのエレメントは、ブールの問合せの項を形成する。項と項との間の関係を使用して、複雑な問合せをすることができ、例えば、特定の年に封切られた特定のジャンルの全ての映画を見出すことができる。ある実施形態では、このような厳密一致のフィルターは、問合せを記憶するのに使用できる記憶装置内で、低リソース装置により容易にサポートすることができる。ある実施形態では、属性値をどのように解釈すべきかに関してクライアントがレポジトリーに通知する場合には、より複雑な問合せが可能となる。ある実施形態では、許された解釈のセットが最小に保持される場合に、低リソース実施形態が可能となる。例えば、32ビット及び64ビットのビッグエンディアン整数がサポートされる場合に、数字範囲チェックで、例えば、1970年代に封切られた全てのコンテンツを見出すことができる。更に、サブストリング一致がサポートされる場合には、記憶された値のどこかで厳密一致を見出すことができ、例えば、特定の俳優を配役にもつ全ての映画を見出すことができる。配役及び人物のセットが更に特定される場合は、よりインテリジェントな一致も得られるが、これは、局所化又は増加リソースを犠牲とする。ある実施形態では、不透明な値と共に数字属性クラス及び形式の形態でメタデータを記憶するというこのスキームに低コストフィルタリング技術を適用することができる。
【0059】
図5は、データレポジトリーに使用するためのメタデータ属性の実施形態を示す。この図において、属性クラス502は、多数のメタデータ属性を含む。ある実施形態では、属性は、固定桁整数値のような数値が指定された名前を有する。ある実施形態では、値は、ここでは、16進値00000000からFFFFFFFFまでの範囲として示された値の範囲550を形成する。この全体的な値の範囲内で、ある目的に対して範囲を確立することができ、範囲は、属性クラス内の属性形式を定義する。一実施例では、第1の範囲は、既知の属性504の属性形式に対して確立され、第2の範囲は、ベンダー特有属性506の属性形式に対して確立され、そして第3の範囲は、未定義属性508の属性形式に対して確立される。
【0060】
既知の属性504内で、とりわけ、ビデオ属性510及びオーディオ属性512に対して属性形式を与えるサブ範囲が存在する。ビデオ属性は、ビデオタイトル518、ビデオの形式520、ビデオの格付け522、等のメタデータを含むことができる。オーディオ属性は、オーディオタイトル518、アーチスト520、音楽ジャンル522、等を含むことができる。ベンダー特有の属性506内には、ベンダーA514のためのサブ範囲、及びベンダーB516のためのサブ範囲がある。
【0061】
ある実施形態では、レポジトリーメカニズムは、クライアント装置によるポーリングの必要性を減少又は排除するように、データレポジトリーが変化したときに通知を送出するためのデータレポジトリーの能力を含む。ある実施形態では、クライアントは、変化を通知するために登録することが許される。クライアントの登録は、プロセスをサポートするためにレポジトリーの側にレコードキープ及び接続管理を要求する。他の実施形態では、レポジトリーは、関心のある全ての当事者が聞くための通知をブロードキャストする。ある実施形態では、通知は、データレポジトリーに変化があったことを指示する。ある実施形態では、通知は、変化に関する更に別の情報を含む。通知の増強は、例えば、新たなジェネレーションカウント、変化したコンテンツハンドル(1つ又は複数)、変化したメタデータアイテム(1つ又は複数)、及び変化したメタデータ値(1つ又は複数)を含む。ある実施形態では、複数の通知を連合させることができ、変更が頻繁であるときにはこれを使用してチャターを減少することができる。
【0062】
図6は、ネットワークデータレポジトリーからのメタデータのキャッシュを維持するためのプロセスの実施形態を示すフローチャートである。このプロセスにおいて、あるデータ及びメタデータがデータレポジトリーに記憶される602。このようなデータが記憶されると、ジェネレーションカウント(又は他の時間値)がセットされ、ジェネレーションカウントは、レポジトリーの現在状態を表す。データレポジトリーへの問合せは、現在ジェネレーションカウントに対してネットワーク装置から後で受け取られる604。これに続いて、現在ジェネレーションカウントに対するある形式の全てのメタデータを要求する問合せが生じる604。これは、例えば、ネットワーク装置が最初に接続され又は初期化されるときに、キャッシュ又はキャッシュの一部分の初期化を含む。次いで、それにより得られるメタデータがネットワーク装置にキャッシュ記憶され、そしてキャッシュのジェネレーションカウントがデータレポジトリーのジェネレーションカウントにセットされる608。ある時点で、データレポジトリーに変化が生じる610。この変化は、データレポジトリーのジェネレーションカウントをインクリメントさせる。更に、データレポジトリーに関連したログがある場合には、ログの適当なエントリーがなされる。
【0063】
ある実施形態では、プロセスは、例えば、データレポジトリーに対するネットワーク装置による周期的なチェック(ポーリング)により開始されるか、又はレポジトリーデータの変化をネットワーク装置に警告するデータレポジトリーからネットワーク装置へのブロードキャストメッセージにより開始される612。ネットワーク装置は、レポジトリーの現在ジェネレーションカウントについてデータレポジトリーに問合せする614。レポジトリーのジェネレーションカウントがキャッシュのジェネレーションカウント以下である場合には、キャッシュの最後の更新以来、変化がなく、通常のオペレーションが続けられる618。レポジトリーのジェネレーションカウントがキャッシュのジェネレーションカウントより大きい(レポジトリーの時間値の方がキャッシュよりも遅いことを指示する)場合には、キャッシュの最後の更新以来1つ以上の変化があり、キャッシュのジェネレーション日付以来の変化に関する問合せがネットワーク装置によってなされる620。変化したアイテムを得るには、ログがデータレポジトリーに関連している場合に、レポジトリーを通してサーチし、及び/又はログのエントリーをチェックすることを含む。次いで、変化したメタデータエレメントの要求がなされる624。変化したメタデータは、どのエレメントが変化したか見分けるためのデータレポジトリーの能力に基づいて、データキャッシュに既に存在するエレメントの幾つか又は全部を含む。次いで、データレポジトリーは、変化したメタデータエレメントをキャッシュに与え、そしてキャッシュのジェネレーションカウントが、データレポジトリーから受け取られたジェネレーションカウントにリセットされる626。次いで、データレポジトリーの現在ジェネレーションカウントについての別の問合せがなされる628。レポジトリーのジェネレーションカウントがキャッシュのジェネレーションカウントより大きい場合には630、データレポジトリーに付加的な変化がなされており、更新サイクルは、キャッシュのジェネレーションカウント以来生じた変化に関する問合せに復帰する620。レポジトリーのジェネレーションカウントがキャッシュのジェネレーションカウント以下である場合には630、データレポジトリーに付加的な変化が生じておらず、オペレーションが続けられる618。
【0064】
図7は、ネットワーク装置の実施形態を示す。ある実施形態では、ネットワーク装置705は、1つの物理的ネットワークインターフェイス、例えば、イーサネットMACアドレスを伴うエンティティである。
図7に示すように、ネットワーク装置は、2つのネットワークインターフェイス710及び715を備えている。従って、ある実施形態では、ネットワーク装置は、物理的エンティティである。又、ある実施形態では、ネットワーク装置は、1つ以上のエージェントを含み、各エージェントは、ネットワーク装置に常駐する論理的エンティティである。ネットワーク装置には複数のエージェントがある。例えば、
図7は、ネットワーク装置705を示し、ネットワークインターフェイス710は、通信マネージャー720を経てエージェント730、735及び740にアクセスし、通信マネージャー725を経てエージェント745及び750にアクセスし、且つ通信マネージャー730を経てエージェント755及び760にアクセスする。ある実施形態では、各エージェントには、ネットワーク装置IPアドレスとは独立して、装置のリセットオペレーションにわたり、それを他のエージェントから区別するためのグローバルに独特の識別子が指定される。このように、エージェント755に意図されたコマンドが、エージェントに対する独特のアドレスに宛てられ、次いで、メッセージは、ネットワークインターフェイス715を経てエージェント755へ向けられる。
【0065】
ある実施形態では、エージェントは、ネットワーク装置内の通信のエンドポイントとして働き、特定セットの能力及び関連振舞いを与える。エージェントは、メディアソース、メディアシンク、メディアコントローラ、及び他の要素を含む。一例において、エージェントは、ビデオストリーミングサービスを提供する。この例では、エージェントは、メッセージに応答してメディアストリームに問合せ且つそれを制御し、そして命令されると、エージェントは、メディアストリームを別のエージェントへ自律的に配送する。ある実施形態では、エージェントは、いつでも、1つ以下のアクティブなメディアセッションを有し、比較的簡単なオペレーションを与える。エージェントは、メッセージを送信及び受信し、そのようなメッセージに応答して内部状態を変更し、そして副次的作用として連続的アクションを遂行する能力を有するという点で、アクティブなオブジェクトとして働くと見ることができる。
【0066】
ある実施形態では、エージェントは、通信マネージャーによって娯楽ネットワーク上で通信することができる。ある実施形態では、
図7の通信マネージャー720、725及び730のように、装置当たり1つ以上の通信マネージャーがある。又、ある実施形態では、単一の通信マネージャーによって複数のエージェントをマネージすることができ、例えば、通信マネージャー720によってエージェント730、735及び740がマネージされる。ある実施形態では、通信マネージャーは、その通信マネージャーに結び付けられたエージェントへ及びエージェントからメッセージをルーティングする役割を果たす。そのプロセスは、同じネットワーク装置に対してローカルの他のエージェントへメッセージを配送し、個々のエージェントから出力接続を経てリモートネットワーク装置のエージェントへメッセージをマルチプレクスし、そしてブロードキャスト要求を取り扱うことを含む。ある実施形態では、エージェントは、1つの通信エージェントのみに結び付けられ、通信マネージャーは、1つのネットワークインターフェイスのみに結び付けられる。
【0067】
ある実施形態では、表示マネージャーは、表示装置のリソースをマネージするエージェントである。より詳細には、表示マネージャーは、表示リソース及びスクリーン幾何学へのアクセスを許可する役割を果たす。ある実施形態では、各表示装置は、ビデオ出力、グラフィック出力、オーディオ出力、及びユーザ入力のようなI/O装置の各関連セットに対して1つの表示マネージャーしかもたない。又、ある実施形態では、エージェントは、セッションマネージャーと共に働き、表示装置へのメディアコンテンツの配送及び表示を整合し、表示装置リソースへのアクセスを許可する。又、ある実施形態では、表示マネージャーは、ユーザセッションのためのスタート点を表し、そしてセッションマネージャーへ制御を委任する。
【0068】
ある実施形態では、セッションマネージャーは、アクティブなユーザに対してメディアコンテンツのセットを整合するエージェントである。又、ある実施形態では、選択がなされると、セッションマネージャーは、対応する表示マネージャーとのリモートオンスクリーン表示セッションを開始し、そしてネットワーク内の他の装置をマネージするためにアプリケーションプログラムの実行を開始する。又、ある実施形態では、表示マネージャーは、入力イベントをセッションマネージャーへ転送し、そして表示リソースへのアクセス権を許可し、セッションマネージャーは、それを他のエージェントへ委任することができ、従って、他のエージェントが表示装置へコンテンツを配送できるようにする。一例において、表示マネージャーは、セットトップボックス内で実行されるセッションマネージャーへアクセス権を許可する。セッションマネージャーは、表示装置とのリモートUI(ユーザインターフェイス)セッションを開始し、そしてネットワーク装置のユーザが、再生されるべきビデオを、リモートビデオ記憶装置から選択できるようにする。ある実施形態では、セッションマネージャーは、ビデオサーバーへアクセス権を通し、そしてメディアストリームを表示装置へ配送するようにビデオサーバーに指令する。又、ある実施形態では、セッションマネージャーは、メディアコンテンツを使用してユーザの経験をマネージするのに必要な状態を維持する。
【0069】
図8は、ネットワーク装置のコンポーネントの実施形態を示す。この図において、ネットワーク装置805は、娯楽ネットワークにおける任意の装置であり、
図1に示す装置を含むが、これに限定されない。例えば、ネットワーク装置は、テレビジョン、セットトップボックス、記憶ユニット、ゲームコンソール(例えば、二次元又は三次元グラフィックデータを使用する)、又は他のメディア装置である。ある実施形態では、ネットワーク装置805は、ネットワークファンクションを与えるためのネットワークユニット810を備えている。ネットワークファンクションは、メディアデータストリームを発生し、転送し、記憶し及び受信することを含むが、これに限定されない。ネットワークユニット810は、チップ上の単一システム(SoC)として又は複数のコンポーネントとして具現化することができる。
【0070】
ある実施形態では、ネットワークユニット810は、データを処理するためのプロセッサを含む。データの処理は、メディアデータストリームを発生し、メディアデータストリームを転送又は記憶において操作し、そしてメディアデータストリームを使用のために解読及びデコーディングすることを含む。又、ネットワーク装置は、ネットワークオペレーションをサポートするためのメモリ、例えば、DRAM(ダイナミックランダムアクセスメモリ)820、又は他の同様のメモリ及びフラッシュメモリ825、或いは他の不揮発性メモリを含む。
【0071】
又、ネットワーク装置805は、各々1つ以上のネットワークインターフェイス855を経てネットワークにデータを送信し又はネットワークからデータを受信するための送信器830及び/又は受信器840も備えている。送信器830又は受信器840は、例えば、イーサネットケーブル850を含むワイヤード送信ケーブル、又はワイヤレスユニットに接続される。送信器830又は受信器840は、データ送信のためのライン835及びデータ受信のためのライン845のような1つ以上のラインで、データ転送及び制御信号のためのネットワークユニット810に結合される。付加的な接続も存在する。又、ネットワーク装置805は、装置のメディアオペレーションのための多数のコンポーネントを含むが、ここには示されていない。
【0072】
図9は、娯楽ネットワークの実施形態を示す。この図において、娯楽ネットワークシステム900は、互換性のあるメディア装置をネットワークに接続する。接続は、娯楽ネットワーク905への接続として示されている。ある実施形態では、装置は、中央ネットワークサーバーをもたないネットワークとして動作する。娯楽ネットワークを通して、メディアデータストリームは、接続された任意の装置間で転送される。更に、装置は、ネットワークを通して遠隔制御することができる。装置は、同軸ケーブル、イーサネットケーブル、及びファイアワイヤを含む既知のコネクタ及び接続プロトコルを経てネットワークに接続されると共に、Wi−Fi、ブルーツース及び他のワイヤレス技術を経てワイヤレス接続されてもよい。
【0073】
ある実施形態では、装置は、メディアソース又は受信者を含む。
図9において、オフィス910は、モデム922を経てネットワーク905へインターネット接続920を与える。インターネットから受信されるデータは、ストリーミングメディアソースを含み、これは、購入したオーディオファイル(ダウンロードされた音楽ファイルのような)、ビデオファイル(映画、テレビ、等の)、及びコンピュータゲームを含むが、これらに限定されない。又、オフィス910は、パーソナルコンピュータ924にも接続され、これは、他のファンクションの中でも、あるメディアストリームを表示し又はあるコンピュータゲームを動作するモニタ926を使用する。
【0074】
又、娯楽ネットワークは、ベッドルーム912内の装置にも接続され、これは、例えば、テレビジョン932へデータを与えるセットトップボックス930を含む。更に、ベッドルーム(又は他のスペース)は、メディア記憶ユニット928を含む。このメディア記憶ユニット928は、ネットワーク905に接続されたソースからデータを受信し、且つネットワーク905へ接続されたデータ受信者へデータを与える。メディア記憶装置928は、ネットワークに対していかなる形式のメディアストリームデータを含んでもよい。
【0075】
このシステムは、更に、ケーブル又はファイバシステム934から、或いは衛星ディスクネットワーク936から入力を受信するリビングルーム914も備えている。このようなソースからのメディア入力は、ネットワーク905及び第2テレビジョン940に接続されたセットトップボックス938へ供給される。リビングルームのテレビジョン940に表示するためにネットワーク905に接続されているのは、ビデオゲームユニット942である。ネットワーク装置をもつ多数の他の部屋があり、例えば、ネットワーク905に接続された第3テレビジョン944を含むキッチンがある。又、これに限定されないが、家全体に配置されたスピーカを含むステレオオーディオシステムを含む他のネットワーク装置も存在する。
【0076】
更に、多数の移動パーソナル電子装置もネットワークに接続される。これらの装置は、ケーブル又はワイヤレス信号を経て接続され、ワイヤレス信号は、ブルーツース、Wi−Fi、赤外線又は他の同様のワイヤレス通信プロトコルを含むが、これに限定されない。このような各々のプロトコルは、(
図9には示されていない)ネットワークへのインターフェイス、例えば、Wi−Fiベースステーションを必要とする。このような移動パーソナル電子装置は、デジタルカメラ946、セルラー電話948、パーソナル音楽装置950、又はビデオカメラ952を含むことができる。更に、自動車954に収容された移動システムは、自動車がネットワークに接近したときに(例えば、家のガレージに入ったときに)ネットワーク905に接続することができる。移動パーソナル電子装置は、例えば、ネットワークの範囲内に入ったときにネットワークに自動的に接続される。接続されている間に、装置は、装置への考えられる自動更新又はダウンロードを含めて、ネットワークを通してデータを得るか、又はネットワークへデータを供給するのに使用できる。一例において、ユーザは、ネットワークを通していずれかの移動電子装置に含まれたデータにアクセスすることができ、例えば、セットトップボックス938を経て、リビングルームのテレビジョン940のデジタルカメラ946に記憶された写真にアクセスすることができる。ある実施形態では、
図9に示すネットワーク装置は、ネットワーク処理及びバッファ能力に限度があるように設計された低リソース装置である。
【0077】
上述した説明において、説明上、本発明を完全に理解するために多数の特定の細部について述べた。しかしながら、当業者であれば、幾つかの特定の細部がなくても、本発明を実施できることが明らかであろう。他の点では、良く知られた構造及び装置は、ブロック図の形態で示された。図示されたコンポーネントとコンポーネントとの間に中間構造が存在することがある。ここに説明又は図示されたコンポーネントは、ここに図示又は説明されない付加的な入力又は出力を有してもよい。
【0078】
本発明は、種々のプロセスを含むことができる。本発明のプロセスは、ハードウェアコンポーネントによって遂行することもできるし、又はマシン実行可能なインストラクションによって実施することもでき、これらインストラクションでプログラムされた汎用又は特殊目的プロセッサ或いはロジック回路がプロセスを遂行するように使用できる。或いは又、プロセスは、ハードウェア及びソフトウェアの組合せで遂行することもできる。
【0079】
本発明の各部分は、本発明によるプロセスを遂行するようにコンピュータ(又は他の電子装置)をプログラムするのに使用されるコンピュータプログラムインストラクションが記憶されたコンピュータ読み取り可能な媒体を含むコンピュータプログラム製品として提供されてもよい。マシン読み取り可能な媒体は、フロッピーディスケット、光学ディスク、CD−ROM(コンパクトディスクリードオンリメモリ)、磁気−光学ディスク、ROM(リードオンリメモリ)、RAM(ランダムアクセスメモリ)、EPROM(消去可能なプログラマブルリードオンリメモリ)、EEPROM(電気的に消去可能なリードオンリメモリ)、マグネット又は光学的カード、フラッシュメモリ、又は電子的インストラクションを記憶するのに適した他の形式のメディア/マシン読み取り可能なメディアを含むが、これに限定されない。更に、本発明は、コンピュータプログラム製品としてダウンロードすることもでき、このプログラムは、リモートコンピュータから、要求を発しているコンピュータへ転送することができる。
【0080】
多数の方法を最も基本的な形態で説明したが、本発明の基本的な範囲から逸脱せずに、いずれかの方法にプロセスを追加したり又は削除したりすることができ、又、いずれかの上述したメッセージに情報を追加したり削除したりすることができる。当業者であれば、多数の更に別の変更や適応がなされ得ることが明らかであろう。本発明を限定するのではなく例示するために特定の実施形態が示された。本発明の範囲は、上述した特定例によって決定されるのではなく、特許請求の範囲のみによって決定されるものとする。
【0081】
要素“A”が要素“B”に結合されると言える場合には、要素Aは、要素Bに直結されるか、又は、例えば、要素Cを経て間接的に結合される。コンポーネント、特徴、構造、プロセス、又は特性Aが、コンポーネント、特徴、構造、プロセス、又は特性Bを「引き起こす」と明細書又は請求の範囲に述べられたときには、“A”は、“B”の少なくとも部分的な原因であるが、“B”を引き起こす上で助けとなる少なくとも1つの他のコンポーネント、特徴、構造、プロセス、又は特性でもあることを意味する。コンポーネント、特徴、構造、プロセス、又は特性を含んでもよく(may)、含むことがあり(might)、又は含むことができる(could)と明細書に示された場合に、その特定のコンポーネント、特徴、構造、プロセス、又は特性を含むことが要求されるのではない。明細書又は請求の範囲で「ある(“a”又は“an”)」要素が言及された場合には、述べられた要素が1つしかないことを意味するものではない。
【0082】
実施形態は、本発明の具現化又は一例である。明細書において「実施形態」、「1つの実施形態」、「ある実施形態」又は「他の実施形態」を言及するときには、その実施形態について述べる特定の特徴、構造又は特性が、少なくともある実施形態には含まれるが、必ずしも全ての実施形態に含まれるのではないことを意味している。「実施形態」、「1つの実施形態」又は「ある実施形態」の種々の出現は、必ずしも全てが同じ実施形態を示していない。本発明の実施形態の以上の説明において、開示を合理化し且つ本発明の1つ以上の種々の態様を理解する上で助けとなるように、本発明の種々の特徴は、時々、単一の実施形態、図面又はその説明に一緒にグループ編成されたことが明らかであろう。しかしながら、開示のこの方法は、請求の範囲に記載の発明が各請求項に述べた以上の特徴を要求するという意図を反映するものとして解釈されるものではない。むしろ、請求の範囲に反映されるように、本発明の態様は、以上に開示された単一実施形態の全ての特徴未満のものに存在する。従って、この説明に明確に組み込まれた請求の範囲において、各請求項は、本発明の個別の実施形態としてそれ自身自立している。