(57)【特許請求の範囲】
【請求項１】
ネットワークデータレポジトリーに記憶される、１つ以上のデータコンテンツアイテムを含むデータを記憶するように構成されたメモリであって、
各データコンテンツアイテムは０以上のメタデータアイテムに関連付けされ、
各データコンテンツアイテムはハンドルに関連付けされ、
各メタデータアイテムは、属性名に関連付けされ、
前記ネットワークデータレポジトリー内の各データコンテンツアイテムの前記ハンドルは、固定フォーマットを有する整数値であり、
前記ネットワークデータレポジトリー内の各メタデータアイテムの属性名は、固定フォーマットを有する整数値であり、
前記メモリは、複数のクライアント装置のために複数の異なるフォーマットのデータを前記ネットワークデータレポジトリーに記憶するように構成され、
前記ネットワークデータレポジトリーは、メタデータのカテゴリーのために前記属性名に対して割当てられた階層を含み、
メタデータの各カテゴリーは、属性名に対して或る範囲の整数値を割当て、
前記階層は、複数のレベルのカテゴリーを含む、
ことを特徴とする当該メモリと、
第１のクライアント装置及び第２のクライアント装置を含む前記複数のクライアント装置と通信するように構成されたネットワークインターフェイスと、
前記メモリ内のデータの記憶を制御するように構成された制御ユニットであって、前記メモリにデータを書き込み及び前記メモリからデータを読み取るファンクションを与えると共に、データを解釈せずに、各データコンテンツアイテムのハンドル及び各メタデータアイテムの属性名に関する整数値を用いて記憶されたデータのコンテンツ又はフォーマットの知識を必要とせずに、前記データを転送し、前記第１のクライアント装置が前記ネットワークデータレポジトリー内の第１フォーマットを有するメタデータアイテムにアクセスし、前記第２のクライアント装置が前記ネットワークデータレポジトリー内の第２フォーマットを有するメタデータアイテムにアクセスできるようにするよう構成された当該制御ユニットと、
を備えたネットワークデータレポジトリー。
【請求項２】
前記第１のクライアント装置及び前記第２のクライアント装置は、前記制御ユニットのファンクションを使用して前記ネットワークデータレポジトリーのためのデータベースファンクションを与えるように構成され、
前記ネットワークデータレポジトリーは、クライアントがファイルユニット全体のファイルを読み書きできるファイルコピーセマンティックスに制限される、
ことを特徴とする、請求項１に記載のネットワークデータレポジトリー。
【請求項３】
前記ネットワークデータレポジトリーは、属性名に対して割当てられる整数の範囲を知らない、請求項１に記載のネットワークデータレポジトリー。
【請求項４】
時間値を記憶するレジスタを更に備えた、請求項１に記載のネットワークデータレポジトリー。
【請求項５】
前記時間値は、記憶されたデータコンテンツアイテム又はメタデータアイテムに変化がなされたときに増加され、前記ネットワークデータレポジトリーは、当該ネットワークデータレポジトリーの時間値と、クライアント装置の時間値との比較に少なくとも一部分基づいて１つ以上のメタデータアイテムをクライアント装置に与える、請求項４に記載のネットワークデータレポジトリー。
【請求項６】
各データコンテンツアイテムは、変更時間に関連付けられ、この変更時間は、データコンテンツアイテムが最後に変更されたときのネットワークデータレポジトリーの時間値に等しい、請求項５に記載のネットワークデータレポジトリー。
【請求項７】
各メタデータアイテムは、変更時間に関連付けられ、この変更時間は、メタデータアイテムが最後に変更されたときのネットワークデータレポジトリーの時間値に等しい、請求項６に記載のネットワークデータレポジトリー。
【請求項８】
データ記憶装置における変化に関するエントリーを記録するためのログを更に備えた、請求項６に記載のネットワークデータレポジトリー。
【請求項９】
ネットワークデータレポジトリーと通信するように構成されたネットワークインターフェイスであって、
前記ネットワークデータレポジトリーは、コンテンツデータ及びメタデータのセットを不透明なデータとして保持し、
各データコンテンツアイテムは、ハンドルに関連付けされ、
各メタデータアイテムは、属性名に関連付けされ、
前記ネットワークデータレポジトリーは、メタデータのカテゴリーのために、属性名に対して割当てられた階層を含み、
前記ネットワークデータレポジトリー内の各データコンテンツアイテムの前記ハンドルは、固定フォーマットを有する整数値であり、
前記ネットワークデータレポジトリー内の各メタデータアイテムの属性名は、整数値であり、
メモリは、複数のクライアント装置のために複数の異なるフォーマットのデータを記憶するよう構成され、
前記ネットワークデータレポジトリーは、メタデータのカテゴリーのために、前記属性名に対して割当てられた階層を含み、
メタデータの各カテゴリーは、属性名に対して或る範囲の整数値を割当て、
前記階層は、複数のレベルのカテゴリーを含む、
ことを特徴とする当該ネットワークインターフェイスと、
前記ネットワークデータレポジトリーへのアクセスを制御するように構成されたネットワークユニットであって、前記コンテンツデータ及びメタデータのコンテンツ又はフォーマットの知識を必要とせずに、前記コンテンツデータのハンドル及び前記メタデータの属性名を使用してコンテンツデータ及びメタデータのセットに対するデータベースファンクションを与え、第１のクライアント装置により、前記ネットワークデータレポジトリー内の第１フォーマットを有するメタデータアイテムにアクセスし、第２のクライアント装置により、前記ネットワークデータレポジトリー内の第２フォーマットを有するメタデータアイテムにアクセスできるようにするネットワークユニットと、
ネットワークデータレポジトリーからの１つ以上のメタデータアイテムを記憶するためのキャッシュメモリと、
を備えたメタデータをハンドリングするネットワーク装置。
【請求項１０】
前記ネットワーク装置の時間値を保持するレジスタを更に備え、そのネットワーク装置に記憶されたメタデータが更新されるときに前記ネットワークデータレポジトリーの時間値に一致するように前記レジスタをセットし、
前記ネットワーク装置のレポジトリーの現在時間値がそのネットワーク装置の時間値より遅い場合にそのネットワーク装置のメタデータの更新を要求する、請求項９に記載のネットワーク装置。
【請求項１１】
前記ネットワーク装置は、前記ネットワークデータレポジトリーの時間値を要求する、請求項１０に記載のネットワーク装置。
【請求項１２】
前記ネットワーク装置の時間値を要求することは、前記ネットワークデータレポジトリーを周期的にポーリングすることを含む、請求項１１に記載のネットワーク装置。
【請求項１３】
前記メタデータは、前記ネットワーク装置のためのメディアデータを記述する、請求項９に記載のネットワーク装置。
【請求項１４】
前記ネットワーク装置は、娯楽装置を含む、請求項１３に記載のネットワーク装置。
【請求項１５】
データベースを含む第１ネットワーク装置であって、
前記データベースは、複数のデータコンテンツアイテムを含み、
各データコンテンツアイテムは、０以上の関連メタデータアイテムを有し、
前記第１ネットワーク装置は、データコンテンツアイテム及びメタデータアイテムを不透明なデータとして保持するように構成され、
前記データベースは、メタデータのカテゴリーのために、属性名に対して割当てられた階層を含み、
各データコンテンツアイテムはハンドルに関連し、各メタデータアイテムは属性名に関連し、
前記データベース内の各データコンテンツアイテムの前記ハンドルは、固定フォーマットを有する整数値であり、
前記データベース内の各メタデータアイテムの属性名は、固定フォーマットを有する整数値であり、
メモリは、複数のクライアント装置のために複数の異なるフォーマットのデータを記憶するよう構成され、
前記データベースは、メタデータのカテゴリーのために、前記属性名に対して割当てられた階層を含み、
メタデータの各カテゴリーは、属性名に対して或る範囲の整数値を割当て、
前記階層は、複数のレベルのカテゴリーを含む、
ことを特徴とする当該第１ネットワーク装置と、
前記第１ネットワーク装置からの１つ以上のメタデータアイテムをキャッシュ記憶するためのキャッシュメモリを含む第２ネットワーク装置であって、
前記データベースに含まれたデータへのデータアクセスを与えるように構成され、
前記データのコンテンツ又はフォーマットの知識を必要とせずに、前記コンテンツのハンドル及び前記メタデータの属性名を使用して複数のクライアント装置に関するデータへのアクセスを与える当該第２ネットワーク装置と、
第３ネットワーク装置であって、第２のネットワーク装置が、前記データベース内の第１フォーマットを有するメタデータにアクセスし、第３のネットワーク装置が、前記データベース内の第２フォーマットを有するメタデータにアクセスするよう構成された当該第３ネットワーク装置と、を備えたネットワーク。
【請求項１６】
前記データベースは、複数の形式のコンテンツデータを含む、請求項１５に記載のネットワーク。
【請求項１７】
前記複数の形式のコンテンツデータは、ビデオデータ、オーディオデータ、写真データ、並びに二次元及び三次元グラフィックデータ、の１つ以上を含む、請求項１６に記載のネットワーク。
【請求項１８】
前記第１ネットワーク装置及び第２ネットワーク装置は、パーソナル娯楽装置である、請求項１５に記載のネットワーク。
【請求項１９】
前記第１ネットワーク装置は、ジェネレーションカウントを含み、このジェネレーションカウントは、データベースにおける変化のたびに増加する、請求項１５に記載のネットワーク。
【請求項２０】
前記第２ネットワーク装置は、ジェネレーションカウントを含み、前記第２ネットワーク装置のジェネレーションカウントは、その第２ネットワーク装置のキャッシュメモリのメタデータが更新されたときに前記第１ネットワーク装置のジェネレーションカウントにセットされる、請求項１９に記載のネットワーク。
【請求項２１】
前記第２ネットワーク装置は、前記第１ネットワーク装置のジェネレーションカウントと前記第２ネットワーク装置のジェネレーションカウントとの比較に応答して、前記第２ネットワーク装置のキャッシュメモリのメタデータを更新するように構成された、請求項２０に記載のネットワーク。
【請求項２２】
前記第２ネットワーク装置は、前記第１ネットワーク装置をある時間間隔でポーリングするように構成され、そして前記第１ネットワーク装置は、前記ポーリングに応答して前記第１ネットワーク装置のジェネレーションカウントを前記第２ネットワーク装置に与えるように構成された、請求項２１に記載のネットワーク。
【請求項２３】
前記第１ネットワーク装置は、前記データベースへの変化が生じたときにブロードキャストを送信するように構成され、そして前記第２ネットワーク装置は、前記ブロードキャストに応答して、前記第１ネットワーク装置のジェネレーションカウントを得るように構成された、請求項２１に記載のネットワーク。
【請求項２４】
ネットワークデータレポジトリーにデータを記憶するステップであって、
前記データは、複数のコンテンツデータアイテムを含み、
各コンテンツデータアイテムは、０以上のメタデータアイテムに関連付けられ、
前記ネットワークデータレポジトリーにデータを記憶することは、複数のクライアント装置のために複数の異なるフォーマットのデータを記憶することを含む当該ステップと、
各コンテンツデータアイテムをハンドルに関連付けると共に、各メタデータアイテムを属性名に関連付けるステップであって、
前記ネットワークデータレポジトリー内の各データコンテンツアイテムの前記ハンドルは、固定フォーマットを有する整数値であり、
前記ネットワークデータレポジトリー内の各メタデータアイテムの属性名は、固定フォーマットを有する整数値であり、
前記ネットワークデータレポジトリーは、メタデータのカテゴリーのために、前記属性名に対して割当てられた階層を含み、
メタデータの各カテゴリーは、属性名に対して或る範囲の整数値を割当て、
前記階層は、複数のレベルのカテゴリーを含む、
ことを特徴とする当該記憶するステップと、
コンテンツデータのハンドルの整数値及びメタデータの属性名を使用して、データのコンテンツ又はフォーマットを解釈せずにクライアント装置によるデータへのアクセスを与えるステップであって、
第１のクライアント装置は、前記ネットワークデータレポジトリー内の第１フォーマットを有するメタデータアイテムにアクセスし、第２のクライアント装置は、前記ネットワークデータレポジトリー内の第２フォーマットを有するメタデータアイテムにアクセスする当該ステップと、
を備えた方法。
【請求項２５】
データへのアクセスを与える前記ステップは、記憶されたデータバイトの比較に基づいてデータアイテムをサーチすることを含む、請求項２４に記載の方法。
【請求項２６】
前記属性名は、属性クラスを作り上げる、請求項２４に記載の方法。
【請求項２７】
前記属性クラスは、前記階層における複数の属性形式を含み、
各属性形式は、メタデータのカテゴリーを指定し、
メタデータの各カテゴリーは、属性名に対して或る範囲の整数値を割当てる請求項２６に記載の方法。
【請求項２８】
前記ネットワークデータレポジトリーの時間値をセットするステップであって、その時間値は、前記ネットワークデータレポジトリーのデータが変化するたびに増加するようなステップと、
クライアントへ現在時間値を送り出すステップと、
クライアントの時間値の後に変化したメタデータについてのクライアントからの要求を受け取るステップと、
メタデータのセットをクライアントへ送り出すステップと、
を更に備えた請求項２４に記載の方法。
【請求項２９】
クライアントの時間値の後に変化したデータについて前記ネットワークデータレポジトリーをサーチするステップを更に備えた、請求項２８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般に、ネットワークの分野に係り、より詳細には、メタデータ用のネットワークレポジトリーのための方法及び装置に係る。
【背景技術】
【０００２】
ネットワークは、複数のパーソナル電子娯楽メディア装置の相互接続を含む。種々のメディア装置は、データを共有し、便宜性を高め、且つ各エレメントをより完全に使用するために、一緒にネットワーク接続される。例えば、家庭内の幾つかの装置を一緒に接続することができる。このような環境では、オーディオ、ビデオ、ゲーム及び他の用途のためにデジタルメディアコンテンツをストリーミングする複数の潜在的なソース及びユーザが存在する。
【０００３】
このようなネットワーク内では、種々の異なるデータ形式及びフォーマットのデータが存在すると共に、接続されるメタデータも存在し、ここで、メタデータとは、他のデータに関する情報を指す。例えば、デジタル音楽に関連するメタデータは、アーチスト、歌の題名、アルバムアート、発売日、及び他の情報に関する情報を含むことができる。デジタルデータのレポジトリーは、典型的に、特定の属性をもつデータのレポジトリーをブラウズし、フィルターし又はサーチする能力をサポートする。これは、典型的に、これらオペレーションをサポートするデータベースに関連メタデータを記憶することによって達成される。現代のシステムでは、データベース及びデータレポジトリーは、典型的に、連合される。例えば、デジタル音楽システムは、歌のデータベースを維持し、一方、ＤＶＲ（デジタルビデオレコーダ）は、録画されたテレビのショーのそれ自身のデータベースを維持することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、相互接続されたネットワークでは、ネットワークにわたりデータレポジトリーを共有することが必要である。データレポジトリーを共有することで、関連メタデータを維持するための複雑さが導入される。例えば、レポジトリーの各クライアントは、データベースに記憶されるべきフォーマット及びデータ形式に対して異なる需要をもつことがある。更に、各クライアントにより付加される価値の一部分は、サポートされる問合せの形式、及びそのような問い合わせに応答して与えられる性能である。特に、データベースに記憶される考えられるメタデータのセットを予め決定できない場合には、ネットワークの全てのニーズを満足できる単一のデータベースフォーマットをサポートすることが不可能である。例えば、デジタルメディアレポジトリーは、個人の写真及びホームムービー、プレミア付き映画コンテンツ、テレビ録画、デジタル音楽、及び他のデータを含むことができる。メタデータのセットは、コンテンツ特有のもの、個人化されたもの（ユーザ格付けのような）、ベンダー特有のもの、及び他のファクタ特有のものでよい。他方、完全にオープンエンドのデータベースは、種々様々なデータ形式を許すが、性能及びカスタム化の需要に対しては不利である。
【課題を解決するための手段】
【０００５】
メタデータ用のネットワークレポジトリーのための方法及び装置が提供される。
【０００６】
本発明の第１の態様において、データレポジトリーは、１つ以上のデータコンテンツアイテムを含むデータを記憶するためのメモリを備え、各データコンテンツアイテムは、０以上のメタデータアイテムに関連付けされ、更に、各データコンテンツアイテムは、ハンドルに関連付けされ、そして各メタデータアイテムは、属性名に関連付けされる。データレポジトリーは、更に、クライアント装置と通信するように構成されたネットワークインターフェイスと、メモリ内のデータの記憶を制御するように構成された制御ユニットとを備え、制御ユニットは、メモリにデータを書き込み及びメモリからデータを読み取るファンクションを与え、更に、制御ユニットは、データを解釈せずに転送する。
【０００７】
本発明の第２の態様において、ネットワーク装置は、ネットワークデータレポジトリーと通信するためのネットワークインターフェイスを備え、データレポジトリーは、コンテンツデータ及びメタデータのセットを不透明なデータとして保持し、各データコンテンツアイテムは、ハンドルに関連付けされ、そして各メタデータアイテムは、属性名に関連付けされる。ネットワーク装置は、更に、ネットワークデータレポジトリーへのアクセスを制御するためのネットワークユニットを備え、このネットワークユニットは、コンテンツハンドル及びメタデータ属性名を使用してコンテンツデータ及びメタデータのセットに対するデータベースファンクションを与える。又、ネットワーク装置は、ネットワークデータレポジトリーからの１つ以上のメタデータアイテムを記憶するためのキャッシュメモリも備えている。
【０００８】
本発明の第３の態様において、ネットワークは、データベースを含む第１ネットワーク装置を備え、データベースは、複数のデータコンテンツアイテムを含み、各データコンテンツアイテムは、０以上の関連メタデータアイテムを有し、更に、第１ネットワーク装置は、データコンテンツアイテム及びメタデータアイテムを不透明なデータとして保持する。ネットワークは、更に、第１ネットワーク装置からの１つ以上のメタデータアイテムをキャッシュ処理するためのキャッシュメモリを含む第２ネットワーク装置も備え、第２ネットワーク装置は、データベースに含まれたデータへのデータアクセスを与える。
【０００９】
本発明の第４の態様において、方法は、データレポジトリーにデータを記憶するステップを備え、データは、複数のコンテンツデータアイテムを含み、そして各コンテンツデータアイテムは、０以上のメタデータアイテムに関連付けされる。この方法は、更に、各コンテンツデータアイテムをハンドルに関連付けると共に、各メタデータアイテムを属性名に関連付けるステップと、コンテンツデータのハンドル及びメタデータの属性名を使用してデータを解釈せずにクライアント装置によるデータへのアクセスを与えるステップとを備えている。
【００１０】
本発明の実施形態は、同様の要素が同じ参照番号で示された添付図面を参照して、一例として説明するが、これに限定されない。
【図面の簡単な説明】
【００１１】
【図１】ネットワークデータレポジトリーを含むネットワークの実施形態を示す。
【図２】メタデータをキャッシュ処理する実施形態を示す。
【図３】ネットワークデータレポジトリーの実施形態を示す。
【図４】メタデータを記憶するためのキャッシュ及びデータレポジトリーの実施形態を示す。
【図５】データレポジトリーに使用するためのメタデータ属性の実施形態を示す。
【図６】ネットワークデータレポジトリーからのメタデータのキャッシュを維持するためのプロセスの実施形態を示すフローチャートである。
【図７】ネットワーク装置の実施形態を示す。
【図８】ネットワーク装置のコンポーネントの実施形態を示す。
【図９】娯楽ネットワークの実施形態を示す。
【発明を実施するための形態】
【００１２】
本発明の実施形態は、一般に、メタデータ用のネットワークレポジトリーのための方法及び装置に向けられる。
【００１３】
ここで使用する「娯楽ネットワーク」とは、（音楽、オーディオ／ビデオ、ゲーム、写真、等を含む）デジタルメディアコンテンツを装置間に配信するための相互接続ネットワークを意味する。娯楽ネットワークは、パーソナル娯楽ネットワーク、例えば、家庭用のネットワーク、業務設定の娯楽ネットワーク、又は娯楽装置の他のネットワークを含む。このようなネットワークでは、あるネットワーク装置は、メディアコンテンツのソース、例えば、デジタルテレビジョンチューナ、ケーブルセットトップボックス、ビデオ記憶サーバー、及び他のソース装置である。他の装置は、メディアコンテンツを表示又は使用するもので、例えば、デジタルテレビジョン、ホームシアターシステム、オーディオシステム、ゲームシステム、及び他の装置である。更に、ある装置は、メディアコンテンツを記憶又は転送するように意図されたもので、例えば、ビデオ及びオーディオ記憶サーバーである。ある装置は、複数のメディアファンクションを遂行することができる。ある実施形態では、ネットワーク装置は、単一のローカルエリアネットワーク上の同じ位置にある。他の実施形態では、ネットワーク装置は、例えば、ローカルエリアネットワーク間のトンネルを通して複数のネットワークセグメントに広がる。娯楽ネットワークは、複数のデータエンコード及び暗号化プロセスを含む。
【００１４】
ここで使用する「データ」とは、コンテンツデータ、コンテンツデータのためのメタデータ、及び他の形式のデータを意味する。
【００１５】
又、ここで使用する「不透明なデータ」とは、データを解釈せずに通過され、さもなければ、ハンドリングされるデータである。
【００１６】
ある実施形態では、ネットワークは、コンテンツデータ及びメタデータのための一般的なレポジトリーを備えている。ある実施形態では、単一の記憶装置を使用するレポジトリーには多数の異なる種類のデータ及びメタデータが存在する。ある実施形態では、メディアメタデータの記憶装置は、記憶されるデータの形式に関わらず一般的なレポジトリーに設けられる。このようなデータレポジトリーは、複数の異なる形式及びフォーマットのデータを記憶することができる。ある実施形態では、データレポジトリーは、データを不透明な状態で記憶し、データレポジトリーは、データを解釈せずに、且つ記憶されるデータの形式又はフォーマットを知らずに、動作する。ある実施形態では、メタデータは、ネットワーク装置にデータを単にキャッシュ処理できる仕方で記憶される。ある実施形態では、ネットワークは、処理及びバッファ能力に限度のあるネットワーク装置によりアクセスできる形態でネットワークデータを記憶及びキャッシュ処理することができる。
【００１７】
一実施例では、ネットワークは、複数の相互接続された娯楽装置を含む娯楽ネットワークでよい。このようなネットワークでは、記憶サーバーが、複数の異なる形式及びフォーマットのメディアデータ用のネットワークレポジトリーとして働く。このようなネットワークにおけるネットワーク装置、例えば、一例ではセットトップボックスは、記憶された映画又はテレビ番組に関するメタデータのキャッシュを含み、メディアデータ及びオリジナルメタデータが記憶サーバーに記憶される。このような環境では、キャッシュを、記憶サーバーに存在するメタデータに関して最新の状態に維持する必要がある。
【００１８】
本発明のある実施形態では、データ及び関連メタデータ、例えば、メディアコンテンツ及び関連メディアコンテンツメタデータを含むデータベースは、そのデータベースがサーチ及びフィルター選択肢を含むような低リソース環境においてサポートされる。従来のデータベースは、一般に、データベースに記憶できるデータの形式及びフォーマットに関して非常に特定的なものである。しかしながら、メディアコンテンツ及び関連メタデータのようなデータは、形式及びフォーマットに関してかなり変化し得る。ある実施形態では、データベースは、許されたデータ形式及びフォーマットに関して制約がなく、データベースの目的に対してデータ形式及びフォーマットが未知でよい。従来のデータベースでは、（データレポジトリー及び１組のデータアクセサリを含む）データベースのバックエンドは、データ記憶装置及び１組の標準的なデータベースオペレーションをサポートする。しかしながら、これらのデータベースオペレーションは、一般的に、複雑で且つデータ特有のものである。種々様々な形式及びフォーマットのデータをサポートするデータベースでは、特に、データエレメントのメモリ又は処理能力に限度のある低リソース環境においてこのようなデータベース機能を実施することは不可能である。
【００１９】
ある実施形態では、データベースレポジトリーは、不透明なデータアイテムへのネットワークアクセスを与える。ある実施形態では、データベースに記憶されたデータに関するオペレーションは、データベースではなく、データに対する各クライアントに存在し、一方、データベースは、データの記憶を行うように区画化される。ある実施形態では、データベースシステムは、クライアントがファイルを原子ユニットとして読み取り又は書き込みできるようにするファイルコピーセマンティックに限定される。ある実施形態では、データベースレポジトリーによるメタデータの解釈を要求せずにデータベースへのアクセスが与えられる。ある実施形態では、データベースは、低リソースでのデータサーチを許し且つ記憶されたデータの実際のフォーマット又はコンテンツを知らずに、フィルタリングする能力を含む。
【００２０】
ある実施形態では、データベースクライアント／フロントエンドとデータベースレポジトリー／バックエンドとの間に要求されるファイル転送を制限するためのメカニズムが提供される。ある実施形態では、帯域巾及びアクセス要求を最小にしながら、不透明なデータアイテムを効率的にキャッシュ処理し且つそれにアクセスするプロセスが提供される。
【００２１】
ある実施形態では、レポジトリーは、ここで「コンテンツ」と称されるデータの種々のセットを保持する。ある実施形態では、コンテンツが最初に記憶される前に又はそのときに、コンテンツの各断片又はアイテムに、レポジトリーにより、ローカルに独特の非繰り返し識別子（又は「ハンドル」）が指定される。このハンドルは、コンテンツの特定の断片及びそれに関連したメタデータを指すためにレポジトリーのクライアントによって使用される。典型的な実施形態では、ハンドルは、固定表現をもつ整数（例えば、３２ビットのビッグエンディアン又は６４ビットのビッグエンディアン）のような固定フォーマットをもつ呼称でよいが、ハンドルは、特定の表現に制限されない。ハンドルは、実際のコンテンツ及びメタデータを保持するためのコンテナとして働くレポジトリーにおけるディレクトリー又はフォルダーと考えられる。一実施例では、（コンテンツという名前の）ディレクトリーは、更に、記憶されたコンテンツを含む１つ以上のファイルを、関連メタデータを含む（メタデータという名前の）別のディレクトリーと一緒に含むことができる。
【００２２】
ある実施形態では、メタデータは、関連データを記述する属性に対応する。データレポジトリー及び関連メタデータの構造のこの説明では、ファイルシステムの用語を一例として使用する。というのは、この形式のシステム、例えば、パーソナルコンピュータ、ネットワーク取り付け型の記憶装置、ポータブル装置、単一チップ解決策におけるシステム、及び他のシステムは、通常使用されるもので、種々様々な実施形態において具現化できるからである。しかしながら、これらの実施形態は、ファイルシステムに限定されず、他のインフラストラクチャーでも具現化できる。ある実施形態では、ファイルサイズは、属性のサイズを与える。各メタデータエレメントは、名前（又はキー）、長さ（又はファイルサイズ）、及び関連する値（ファイルコンテンツ）を有する。ファイルシステムの用語を使用する際には、メタデータディレクトリーの各ファイルは、メタデータの１つの断片、又は属性を表すことができる。ファイルシステムの例を使用すると、ファイルの名前は、メタデータ属性の名前に対応し、そしてファイルのコンテンツは、関連する値に対応する。典型的な記憶システムでは、名前は、テキストストリングとして表される。ある実施形態では、低リソース具現化をサポートするために、全ての名前が、固定フォーマットを伴う整数、例えば、３２ビットのビッグエンディアンとして表される。従って、固定フォーマット整数の使用は、例えば、特定属性の値を検索する要求にサービスするときに、可変長さストリング処理の負担を軽減し、そして属性名に対するバッファ管理を簡単化することができる。
【００２３】
データレポジトリーにデータをキャッシュ記憶するために、ある実施形態では、ネットワークデータレポジトリーは、タイムスタンプ又は他の時間値を記憶するためのメモリ又はレジスタを備え、時間値は、データレポジトリーに記憶されたデータの最後の変化を表す。ある実施形態では、時間値は、データが変化するたびに、例えば、データが新たに記憶され、変更され又は削除されるたびに、単調に増加するジェネレーションカウント（即ちＧＣ）であるが、他の形式の時間値を使用してもよい。ある実施形態では、データレポジトリーのジェネレーションカウントは、キャッシュ記憶装置のジェネレーションカウントと比較される。データレポジトリーのジェネレーションカウントが、（データレポジトリーにおけるその後の時間値を指示する）キャッシュのジェネレーションカウントより高い場合には、レポジトリーデータに変化があり、キャッシュの更新が必要となる。ある実施形態では、例えば、不透明なデータの形式及びフォーマットが分からない環境において、データレポジトリー内のデータの解釈を必要とせずに、更新に関する決定がなされる。ある実施形態では、各コンテンツアイテム（例えば、各映画、歌、写真、等のメディアデータ）及び／又は各メタデータアイテムは、記憶された日付スタンプ又は他の時間値も含み、これは、どのメタデータエレメントがキャッシュ記憶を要求するかをより細かく詳細に識別するのに使用できる。
【００２４】
ある実施形態では、システムは、ジェネレーションカウントが変化を指示する場合に、データレポジトリーに含まれた全ての関連メタデータをキャッシュへ供給することができる。このプロセスは、データレポジトリーのデータがあまり頻繁に変化しない場合、及び／又は転送されるべきメタデータの量が比較的少ない場合に機能することができる。しかしながら、データの量又はデータの頻度の変更のために、全てのデータを転送することは困難である。
【００２５】
ある実施形態では、メタデータを更新するプロセスは、記憶装置のジェネレーションカウントがキャッシュのジェネレーションカウントより古いかどうか決定することを含む。次いで、記憶装置は、２つのジェネレーションカウント間で更新された全てのメタデータを要求する。次いで、キャッシュ装置は、記憶装置のジェネレーションカウントを再び要求する。記憶装置のジェネレーションカウントがもはやキャッシュより古くない場合には、キャッシュが完全に更新されている。ジェネレーションカウントが、より古いジェネレーションカウントを有する場合には、これは、別の変化が生じたことを指示し、別の更新サイクルが行われる。これは、データが一致するまで続けるか、又は記憶装置があまりに頻繁に変化されてキャッシュを更新し続けられないとキャッシュが判断するまで続けることができる。
【００２６】
更新においてデータレポジトリーからデータキャッシュへ転送される必要のあるデータの量を減少するために、ある実施形態では、ログを使用してデータ変化を記録することができる。ログは、キャッシュへのデータの転送を、ログにおいて反映される変更されたデータエレメントのみに限定するのに使用される。ログは、メタデータに変化があった各データエレメントのリストを簡単な形態で表すことができる。ある実施形態では、ログは、データの形式もフォーマットも表さない。
【００２７】
ある実施形態では、データに対して周期的な更新サイクルが生じる。更新サイクルの開始は、複数の仕方で生じる。一実施形態では、キャッシュが、単に、記憶装置にその現在ＧＣについて周期的に訪ね、記憶装置を適当なインターバルでポーリングする。別の実施形態では、データレポジトリーは、データの変化に関する情報をネットワーク上の装置へブロードキャストし、データキャッシュをもつ装置がそのブロードキャストに応答して、例えば、装置のデータキャッシュをデータレポジトリーに同期させることができる。
【００２８】
ある実施形態では、データレポジトリーを低廉なものにして広範囲に入手できるようにするために、単一チップ解決策が望まれる。しかしながら、単一チップ解決策は、典型的に、標準的なデータベースオペレーションをサポートするために要求されるメモリ、ロジック及び処理リソースを含まない。メタデータは、典型的に、たとえ完全なデータベースサポートが与えられなくても、単一チップ環境では容易にサポートされない可変長さテキストストリングの形態で表される。ある実施形態では、データベースオペレーションは、ネットワークデータレポジトリーに対して簡単化され、データベースオペレーションは、一般的に、クライアントによってレポジトリーに与えられ、これは、ネットワーク装置に対する単一チップ解決策を可能にする上で助けとなる。
【００２９】
ある実施形態では、システムは、クライアントがメタデータのローカルキャッシュを（例えば、カスタムデータベースに）維持できるようにする一方、クライアントが１組の簡単なルールを使用してメタデータを簡単にブラウズ、フィルター及びサーチできるようにする仕方で任意の拡張可能なメタデータを記憶するメカニズムを与える。更に、メタデータの形式及び値は、低リソース具現化に従う不透明な形態で処理される。ある実施形態では、オペレーションは、中央サーバーを使用せずに相互接続されたネットワークにおいて行われる。
【００３０】
図１は、ネットワークデータレポジトリーを含むネットワークの実施形態を示す。この図において、ネットワーク１０５は、ネットワーク装置Ａ１１０、ネットワーク装置Ｂ１１５、ネットワーク装置Ｃ１２０、及びネットワークデータレポジトリー１２５を含む複数のネットワーク装置を備えている。ネットワークは、複数のメディア装置を含むパーソナル娯楽ネットワークを含むが、これに限定されない。ある実施形態では、ネットワークデータレポジトリー１２５は、データコンテンツ及びそのようなデータコンテンツに関するメタデータのデータベース１３０を備えている。コンテンツデータは、例えば、メディアデータであり、メタデータは、そのようなメディアデータを記述する。ある実施形態では、コンテンツデータ及びメタデータ１３０は、他のネットワーク装置１１０−１２０のいずれかによりアクセスするように使用できる。
【００３１】
ある実施形態では、種々の異なるプロトコルに対してメタデータを記憶できるように、メタデータが不透明な仕方で記憶される。ある実施形態では、ネットワークデータレポジトリーは、メタデータを理解しないことがあり、データは、フィールドの名前に基づいてフィールドに記憶される。ある実施形態では、メタデータは、１つ以上の他のネットワーク装置にキャッシュ記憶される。
【００３２】
一実施例において、データ及びメタデータ１３０は、映画データ及びこのような映画データに関するメタデータを含む。ネットワーク装置Ａ１１０が、例えば、テレビモニタのためのセットトップボックスである場合には、ネットワーク装置Ａ１１０は、ネットワークデータレポジトリー１２５にアクセスせずにそのようなデータにアクセスしてサーチできるように映画メタデータのキャッシュを維持することができる。ある実施形態では、他のネットワーク装置及びネットワークデータレポジトリーが、キャッシュ記憶されたデータを維持して、記憶されたメタデータに一致させるように動作する。
【００３３】
図２は、メタデータをキャッシュ記憶する実施形態を示す。図示されたように、ネットワーク装置２０５は、ネットワークデータレポジトリー２２５と通信する。ネットワークデータレポジトリー２２５は、データ２３０及びそのようなデータに関するメタデータ２３５のセットを含む。一実施例では、データ２３０は、複数の異なる形式のメディアデータを、そのようなメディアデータを記述する適当なメタデータと共に含む。ネットワークデータレポジトリー２２５は、更に、ネットワークを経て通信するためのネットワークインターフェイスも備えている。ネットワーク装置２０５は、メタデータ２１５を記憶するためのキャッシュ２１０と、ネットワークを経て通信するためのネットワークインターフェイス２２０とを備えている。
【００３４】
ある実施形態では、ネットワーク装置２０５のメタデータ２１５を使用して、そのような情報への高速アクセスを与える。ネットワーク装置２０５及びデータレポジトリー２２５は、データレポジトリーのメタデータ２３５の記憶に変化が生じた場合に更新を必要とするメタデータ２１５の現在状態を維持するように動作する。しかしながら、ネットワーク装置２０５及びデータレポジトリー２２５は、最小限の処理能力しかもたない軽量のネットワーク装置でよい。ある実施形態では、データレポジトリーは、メタデータのフォーマットもコンテンツも知らない。
【００３５】
ある実施形態では、レポジトリーのクライアントは、データレポジトリーのメカニズムによってサポートされるものより進歩したデータベース問合せをサポートすることを望むか、又は複数のレポジトリーに及ぶ統合されたデータベースを与えることを望む。この場合に、クライアントは、メタデータをそれ自身のデータベース内にキャッシュ記憶することを望む。キャッシュ記憶がサポートされない状態では、クライアントは、問合せを満足させる前にメタデータのためのレポジトリーに、レポジトリー内のアイテムの数が成長するにつれて実際的でなくなるプロセスについて問合せる必要がある。このようなオペレーションにおいては、キャッシュ内のメタデータをデータレポジトリーのメタデータと同期状態に維持することが要求される。しかしながら、この同期は、ネットワークデータレポジトリーでは更に複雑化される。他の問題の中でも、クライアント装置を知ることなく、メタデータへの更新が他の装置によってなされることがある。
【００３６】
ある実施形態では、クライアント装置によるリモートキャッシュ記憶を容易にするために、データレポジトリーについてのジェネレーションカウント又は他の時間値の使用がレポジトリーによって維持され、ジェネレーションカウントは、メタデータの相対年齢を確立するのに使用される。例えば、ジェネレーションカウントは、レポジトリーが変化するたびに、例えば、コンテンツのアイテム又はメタデータアイテムが追加され、メタデータアイテムの値が変化され、コンテンツのアイテムが変化され、メタデータアイテムが削除され、等々のたびに、インクリメントされる単調に増加する整数でよい。この実施例では、ジェネレーションカウントは、決して減少せず、従って、その表現は、データレポジトリーの寿命にわたる変化を受け容れるのに充分でなければならない。
【００３７】
ある実施形態では、簡単なキャッシュ記憶技術は、クライアントがレポジトリーに現在ジェネレーションカウントについて問合せし、そしてそのようなジェネレーションカウントをクライアントに記憶することを含む。次いで、クライアントは、レポジトリーに、メタデータの全セットについて問合せし、そしてメタデータをクライアントのキャッシュに追加する。周期的に、クライアントは、レポジトリーに現在ジェネレーションカウントについて問合せする。現在ジェネレーションカウントが、ジェネレーションカウントのクライアント記録値とは異なる（即ち、レポジトリーの時間値がクライアントの時間値より遅い）場合には、クライアントは、レポジトリーにメタデータの全セットについて問合せし、それに応じてクライアントのキャッシュを更新する。しかしながら、この解決策は、特に、レポジトリーへの変化が頻繁なとき、又は著しい量のメタデータが存在するときに、オペレーションのコストが高い。
【００３８】
ある実施形態では、データレポジトリーは、更に、コンテンツの各断片に対して変更時間（ＭＴ）属性を含む。コンテンツの断片又はそのメタデータが変化するときには、現在ジェネレーションカウントが関連変更時間として記録される。この解決策では、クライアントは、レポジトリーに現在ジェネレーションカウントについて問合せし（上述したように）、そしてそれが異なる場合に、それが知っている最後のジェネレーションカウントを含ませることにより、更新されたコンテンツのリストについて問合せを続けることができる。レポジトリーは、そのような問合せを受け取ると、コンテンツのリストにわたって繰り返し、そして各変更時間をクライアントからのジェネレーションカウントと比較し、低いジェネレーションカウントをもつコンテンツの断片ごとにハンドルを返送する。次いで、クライアントは、新しい又は変更されたコンテンツの断片についてのみメタデータを要求することができる。
【００３９】
変更時間解決策を使用するには、クライアントがコンテンツの各変更された断片に対して全てのメタデータを収集することを必要とする。ある実施形態では、変更時間は、コンテンツ変更時間に加えてメタデータのアイテムごとに変更時間を含ませることにより更に向上させることができる。このように、問合せは、コンテンツに関連した全てのメタデータではなく、変化したコンテンツ及び属性のみを返送することができる。
【００４０】
図３は、ネットワークデータレポジトリーの実施形態を示す。この図において、データレポジトリー３０２は、ネットワークの１つの要素であり、種々の形式及びフォーマットのデータを記憶するように使用できる。データレポジトリー３０２は、データレポジトリーのオペレーションを制御するための制御ユニット３０３を備え、ここで、制御ユニットは、プロセッサ、制御ロジック、或いは他のハードウェア又はソフトウェアコントローラでよい。各データコンテンツエレメントは、固定桁整数として定義されたハンドルにより指定される。例えば、データレポジトリー３０２のコンテンツは、ハンドル３０４（例えば、整数１０１０１０１０）及びハンドラー（整数１１０１１１１１）に関連したコンテンツを含むことができる。ハンドル３０４は、コンテンツ３０６に関連付けられ、コンテンツ３０６は、データエレメント３３０を含む。このハンドルは、更に、メタデータ３０８に関連付けられ、メタデータの各アイテムは、名前及び値、例えば、名前３１０、３１４、３１８及び３２２を各々値３１２、３１６、３２０及び３２４と共に有する。同様に、ハンドル３４０は、データエレメント３６６を含むコンテンツ３４２に関連付けられる。ハンドルは、更に、メタデータ３４２に関連付けられ、各アイテムは、名前及び値、例えば、名前３４６、３５０及び３６２を各々値３４８、３５２及び３６４と共に有する。
【００４１】
更に、データレポジトリー３０２は、レジスタ又は他のメモリに記憶された日付スタンプ又は他の時間値を含み、これは、ここでは、データレポジトリーのデータ又はメタデータに変化が生じるたびに増加するジェネレーションカウント３７０として示されている。ある実施形態では、ジェネレーションカウント３７０は、クライアント装置のジェネレーションカウントと比較されて、キャッシュが最新のものであるかどうか決定する。ある実施形態では、データ３３０のようなコンテンツの各アイテムは、変更時間ＭＴ３７２を含み、これは、データを最後に変更した時間であり、変化時に現在値であったジェネレーションカウントを表す。ある実施形態では、変更時間は、コンテンツのどのアイテムがクライアントのキャッシュに対して変化したかを決定するのに使用される。ある実施形態では、メタデータの各アイテムは、メタデータ名３２２に対してＭＴ３７４のような変更時間も含む。ＭＴ３７４は、メタデータが最後に変化したときの現在ジェネレーションカウントを表す。ある実施形態では、メタデータの各アイテムに対する変更時間は、クライアントキャッシュへの更新を、変化したメタデータのアイテムに限定するのに使用される。
【００４２】
ある実施形態では、システムにジェネレーションカウント及び変更時間のような時間値を使用すると、クライアントは、複数のデータ追加及び変更に直面してそのキャッシュを迅速に同期させることができる。しかしながら、データの削除の優雅な取り扱いは、更なる困難さを招き得る。コンテンツのどの断片が削除されたか発見するために、クライアントは、全レポジトリーに問合せすることが必要になる。同様に、メタデータの削除されたアイテムを発見するために、クライアントは、全メタデータにコンテンツの断片について問合せることが必要である。
【００４３】
ある実施形態では、データレポジトリーは、コンテンツハンドル及びジェネレーションカウントを記録している最新のコンテンツ削除のログを維持する。クライアントがレポジトリーの変化について問合せすると、データレポジトリーは、クライアントからのジェネレーションカウントと、削除ログに記憶された時間との比較も行う。クライアントのジェネレーションカウントがログにおける最後のアイテムを越える場合には、これは、クライアントキャッシュの最後の更新以来、何も削除されていないことを指示し、従って、何も返送されない。クライアントのジェネレーションカウントが、ログにおける削除時間より進む場合には、クライアントは、全レポジトリーに問合せして、何が削除されたか発見する。このような問合せで費やされる時間は、レポジトリーを頻繁にポーリングすることにより最小にすることができる。クライアントのジェネレーションカウントが、ログにおけるアイテムの削除時間内に入る場合には（ある削除は、より古く、又、ある削除は、より新しい）、レポジトリーは、クライアントのジェネレーションカウントを越える削除時間をもつコンテンツハンドルを返送する。
【００４４】
ある実施形態では、ログは、コンテンツへの更新を更に含むように拡張される。このような実施形態では、レポジトリーは、ジェネレーションカウントを比較して、レポジトリーの全てのコンテンツにわたって繰り返すことが要求されない。ある実施形態では、ログは、個々のメタデータ更新の記録を更に含むことができる。この情報が含まれる場合に、この情報は、全てのこのようなメタデータにわたって繰り返すことなくキャッシュにおける更新を要求したメタデータの個々のアイテムを識別するのに使用される。ログに記憶されるべきエレメントを決定するために、設計者は、ログを使用する際に節約した時間、データレポジトリーにより受け取られた問合せの数、及び要求されたログのサイズのようなエレメントのバランスをとることができる。
【００４５】
図４は、メタデータを記憶するためのキャッシュ及びデータレポジトリーの実施形態を示す。データレポジトリー４００は、レジスタ又は他のメモリに記憶されるジェネレーションカウント４０４を含み、ジェネレーションカウントは、データレポジトリー内のデータ又はメタデータに変化が生じるたびに増加する。ある時点で、ＧＣが値Ｘに等しくなる。この例では、ある時点で、データレポジトリーは、ハンドルＡ４０６をもち且つコンテンツＡ４０８を含み、コンテンツがメタデータＡ１  ４１０及びメタデータＡ２  ４１２に関連したコンテンツエントリーと、ハンドルＢ４１４をもち且つコンテンツＢ４１６を含み、コンテンツがメタデータＢ１  ４１８及びメタデータＢ２  ４２０に関連したコンテンツエントリーと、を備えている。
【００４６】
この図において、クライアント装置のキャッシュ４３０は、データレポジトリー４００のメタデータとの同期を保つことが意図される。キャッシュは、現在、ジェネレーションカウントＹを有する。しかしながら、変化が生じており、従って、キャッシュは、最新の状態ではない。従って、キャッシュのジェネレーションカウントＹは、レポジトリーのジェネレーションカウントＸよりも小さい。図示されたように、キャッシュ４３０は、メタデータＡ１  ４３４、メタデータＢ１  ４３８、メタデータＢ２  ４３８、メタデータＢ３  ４４０、及びメタデータＣ１  ４４２を含む。従って、キャッシュは、メタデータＡ２（後で入力される）を欠いており、削除されたメタデータＢ３を含み、そして削除されたコンテンツアイテムに対してメタデータＣ１を含む。（この図では、同じ呼称をもつメタデータは、変化されていない。）
【００４７】
ある実施形態では、クライアント装置は、レポジトリー４００を周期的にポーリングすることができる。この場合、レポジトリーは、ジェネレーションカウントＸ４０４を返送し、これは、キャッシュ４３０のジェネレーションカウントＹより大きいことをクライアント装置が決定する。ある実施形態では、キャッシュは、データレポジトリー４００の全てのメタデータが返送されることを要求する。しかしながら、これは、必要以上のメタデータを生じることになる。ある実施形態では、コンテンツエレメント４０８及び４１６は、各々、どのコンテンツエレメントが変化されたか決定するのに使用できる変更時間を含む。ある実施形態では、メタデータエレメント４１０、４１２、４１８及び４２０は、各々、どのメタデータエレメントが変化を受けたか識別するのに使用される変更時間を含む。
【００４８】
ある実施形態では、データレポジトリーは、問合せに応答する際にデータレポジトリーの助けとなるよう意図されたデータログ４５０を有するか又はそれに関連付けされる。ある実施形態では、データログは、レポジトリーが、少ないメタデータで応答するか、又は正しいデータでより迅速に応答することができるようにする。ある実施形態では、ログ４５０は、削除されたコンテンツ４５２のハンドルを、データが削除されたときを指示する変更時間と共に含む。この場合に、ログは、コンテンツエレメントＣ４５４が時間ａに削除されそしてコンテンツエレメントＤ４５５が時間ｂに削除されたことを明らかにしなければならない。変更時間をジェネレーションカウント４３２と比較することで、例えば、コンテンツエレメントＤ４５５は、キャッシュ４３０の最後の更新の前に削除され、従って、更新が要求されないが、コンテンツエレメントＣ４５４は、キャッシュ４３０の最後の更新の後に削除され、従って、削除されたコンテンツに関連したメタデータ（この場合には、メタデータＣ１  ４４２）を除去するために更新が要求されることが決定される。
【００４９】
ある実施形態では、ログ４５０は、変化したデータ４５６のハンドルを、その変化に対する変更時間と一緒に含むこともできる。この場合には、レポジトリーへの問合せは、コンテンツＡ４５８が時間Ｃに変更され、コンテンツＢ４６０が時間Ｂに変更され、そしてコンテンツＣが時間ａ（それが削除されたとき）に変更されたことを明らかにする。この情報は、キャッシュ４３０のジェネレーションカウント４３２と比較され、そしてコンテンツＡの変化は、コンテンツＡに関連した全てのメタデータをキャッシュに与えねばならない（メタデータＡ１  ４１０及びメタデータＡ２  ４１２、従って、欠落メタデータＡ２  ４１２をキャッシュに追加する）ことを意味していることを示す。更に、コンテンツＢの変化は、コンテンツＢに関連した全てのメタデータを与えねばならない（メタデータＢ１  ４１８及びメタデータＢ２  ４２０、従って、削除されたメタデータＢ３  ４４０をキャッシュから除去することを許す）ことを意味する。
【００５０】
ある実施形態では、ログ４５０は、変化したメタデータエレメント４６４の名前も含む。この図において、ログへの問合せは、メタデータＡ２  ４６６が時間ｃ（それがレポジトリーから削除されたとき）に変化され、メタデータＢ３  ４６８が時間ｄ（それがレポジトリーから削除されたとき）に変化され、そしてメタデータＣ１  ４７０が時間ａ（コンテンツが削除されたとき）に変化されたことを示す。キャッシュ４３０のジェネレーションカウント４３２と、各メタデータエントリーのジェネレーションカウントとの比較は、キャッシュの更新が、メタデータＡ２の追加、及びキャッシュ４３０からのメタデータＢ３の削除を含むことを示す。
【００５１】
図４は、ある実施形態におけるログのオペレーションを簡単に示す。ある実施形態では、ログのエントリーは、図４に示されない付加的な情報を含んでもよいし、又は図４に示されたある情報を除外してもよい。
【００５２】
ある実施形態では、メタデータの属性名が、ハイアラーキー形態で指定される。トップレベルの属性クラスは、属性名を広いカテゴリーへと分割する。例えば、メディアデータ属性は、映画コンテンツ、音楽コンテンツ、写真コンテンツ、装置属性、ベンダー特有の属性、等を含む。ある実施形態では、属性クラスは、固定フォーマットの整数として表され、特定の用途に値の範囲が指定される。例えば、良く知られた属性クラスには、第１の範囲の値が指定される。ベンダー特有の属性には、第２の範囲の値が指定され、例えば、グローバルな当局が個々のベンダーに独特の値を指定する責任を果たす。第３の範囲の値は、定義されないままとされ、アプリケーションが、グローバルな当局に要請することなく、それらの値を使用できるようにしている。この実施例では、第３の範囲の使用において、例えば、同じ値を異なる目的に使用するよう試みる場合に衝突が生じることがあり、アプリケーションの設計者は、この問題を取り扱う責任がある。
【００５３】
ある実施形態では、「属性形式」は、クラス特有の値を考慮して、属性クラスのサブカテゴリーを定義する。ある実施形態では、特定の用途に範囲が指定される。良く知られた値は、名前、アーチスト、格付け、期間、アイコン、当の属性形式を含む。良く知られた値は、更に、フィルタリングオペレーションを容易にするために指定当局によりグループ編成することができる。一実施例において、特定の属性に対する要求をパーズするときには範囲チェックを使用できるように全てのビデオ関係属性が一緒にグループ編成される。属性クラスについて上述した同じ注意を伴って、別の範囲を拡張用に予約することができる。
【００５４】
ある実施形態では、ユーザに提示するときにストリングベースの表現に数字ベースのフォーマットをマップすることができる。しかしながら、実際のレポジトリーの設計は、このようなマッピングを要求せず、従って、単一チップのような軽量装置において具現化するためにプロセスを簡単化することができる。
【００５５】
ある実施形態では、データレポジトリーそれ自体が、属性に指定された範囲、又は属性クラス及び形式の解釈について知る必要はない。ある実施形態では、特定クラス及び形式の属性（メタデータのアイテム）がデータレポジトリーに記憶されるときに、データレポジトリーは、属性クラスをその名前として伴うディレクトリーを（必要に応じて）論理的に生成し、そしてその名前が属性形式であるファイルをその中に記憶する。ある実施形態では、データレポジトリーは、ファイルコンテンツも不透明なデータとして処理できるので、属性を使用して、解釈せずに値を記憶したり検索したりする。
【００５６】
オペレーション中に、リモートネットワーク装置のような外部クライアントは、ある属性に基づいて、ネットワークデータレポジトリーをナビゲートすることを希望することがある。データレポジトリーは、データ記憶装置に含まれたコンテンツハンドルの目録を与える。クライアントがリモート位置にあるために、（単純な整数である）ハンドルの集合で要求に応答するためのサポートは、ネットワークトラフィックを減少する上で役立つ。ある実施形態では、属性名は、固定長さのストリングである。固定長さストリングの属性名を使用して、整数値の比較と同様に、簡単なバイトごとの比較を行うことができる一方、同じ名前を異なる属性に使用する場合に生じるデータ衝突のおそれが低い状態でユーザにより拡張を使用することもできる。他の実施形態では、例えば、ストリングの長さが属性に含まれるようにして、可変長さのストリングを属性名として使用することができる。
【００５７】
ある実施形態では、増強されたスキームは、クライアントが、メタデータの特定断片の値に基づいてコンテンツをサーチできるようにする。クライアントは、属性クラス及び形式を、レポジトリーに記憶された値に対して一致させるために不透明なデータと共に提出する。このオペレーションでは、レポジトリーは、メタデータの値を解釈することが要求されない。むしろ、レポジトリーは、各対応するメタファイルのコンテンツを単に比較して、一致するコンテンツのハンドルを返送する。
【００５８】
ある実施形態では、より進歩したデータレポジトリーは、このような厳密一致の問合せのセットにおいてブール演算のセットをサポートすることを含む。例えば、クライアントは、属性クラス、形式及び値より成る一連のタプルを送信することにより問合せを提起することができる。これらのエレメントは、ブールの問合せの項を形成する。項と項との間の関係を使用して、複雑な問合せをすることができ、例えば、特定の年に封切られた特定のジャンルの全ての映画を見出すことができる。ある実施形態では、このような厳密一致のフィルターは、問合せを記憶するのに使用できる記憶装置内で、低リソース装置により容易にサポートすることができる。ある実施形態では、属性値をどのように解釈すべきかに関してクライアントがレポジトリーに通知する場合には、より複雑な問合せが可能となる。ある実施形態では、許された解釈のセットが最小に保持される場合に、低リソース実施形態が可能となる。例えば、３２ビット及び６４ビットのビッグエンディアン整数がサポートされる場合に、数字範囲チェックで、例えば、１９７０年代に封切られた全てのコンテンツを見出すことができる。更に、サブストリング一致がサポートされる場合には、記憶された値のどこかで厳密一致を見出すことができ、例えば、特定の俳優を配役にもつ全ての映画を見出すことができる。配役及び人物のセットが更に特定される場合は、よりインテリジェントな一致も得られるが、これは、局所化又は増加リソースを犠牲とする。ある実施形態では、不透明な値と共に数字属性クラス及び形式の形態でメタデータを記憶するというこのスキームに低コストフィルタリング技術を適用することができる。
【００５９】
図５は、データレポジトリーに使用するためのメタデータ属性の実施形態を示す。この図において、属性クラス５０２は、多数のメタデータ属性を含む。ある実施形態では、属性は、固定桁整数値のような数値が指定された名前を有する。ある実施形態では、値は、ここでは、１６進値００００００００からＦＦＦＦＦＦＦＦまでの範囲として示された値の範囲５５０を形成する。この全体的な値の範囲内で、ある目的に対して範囲を確立することができ、範囲は、属性クラス内の属性形式を定義する。一実施例では、第１の範囲は、既知の属性５０４の属性形式に対して確立され、第２の範囲は、ベンダー特有属性５０６の属性形式に対して確立され、そして第３の範囲は、未定義属性５０８の属性形式に対して確立される。
【００６０】
既知の属性５０４内で、とりわけ、ビデオ属性５１０及びオーディオ属性５１２に対して属性形式を与えるサブ範囲が存在する。ビデオ属性は、ビデオタイトル５１８、ビデオの形式５２０、ビデオの格付け５２２、等のメタデータを含むことができる。オーディオ属性は、オーディオタイトル５１８、アーチスト５２０、音楽ジャンル５２２、等を含むことができる。ベンダー特有の属性５０６内には、ベンダーＡ５１４のためのサブ範囲、及びベンダーＢ５１６のためのサブ範囲がある。
【００６１】
ある実施形態では、レポジトリーメカニズムは、クライアント装置によるポーリングの必要性を減少又は排除するように、データレポジトリーが変化したときに通知を送出するためのデータレポジトリーの能力を含む。ある実施形態では、クライアントは、変化を通知するために登録することが許される。クライアントの登録は、プロセスをサポートするためにレポジトリーの側にレコードキープ及び接続管理を要求する。他の実施形態では、レポジトリーは、関心のある全ての当事者が聞くための通知をブロードキャストする。ある実施形態では、通知は、データレポジトリーに変化があったことを指示する。ある実施形態では、通知は、変化に関する更に別の情報を含む。通知の増強は、例えば、新たなジェネレーションカウント、変化したコンテンツハンドル（１つ又は複数）、変化したメタデータアイテム（１つ又は複数）、及び変化したメタデータ値（１つ又は複数）を含む。ある実施形態では、複数の通知を連合させることができ、変更が頻繁であるときにはこれを使用してチャターを減少することができる。
【００６２】
図６は、ネットワークデータレポジトリーからのメタデータのキャッシュを維持するためのプロセスの実施形態を示すフローチャートである。このプロセスにおいて、あるデータ及びメタデータがデータレポジトリーに記憶される６０２。このようなデータが記憶されると、ジェネレーションカウント（又は他の時間値）がセットされ、ジェネレーションカウントは、レポジトリーの現在状態を表す。データレポジトリーへの問合せは、現在ジェネレーションカウントに対してネットワーク装置から後で受け取られる６０４。これに続いて、現在ジェネレーションカウントに対するある形式の全てのメタデータを要求する問合せが生じる６０４。これは、例えば、ネットワーク装置が最初に接続され又は初期化されるときに、キャッシュ又はキャッシュの一部分の初期化を含む。次いで、それにより得られるメタデータがネットワーク装置にキャッシュ記憶され、そしてキャッシュのジェネレーションカウントがデータレポジトリーのジェネレーションカウントにセットされる６０８。ある時点で、データレポジトリーに変化が生じる６１０。この変化は、データレポジトリーのジェネレーションカウントをインクリメントさせる。更に、データレポジトリーに関連したログがある場合には、ログの適当なエントリーがなされる。
【００６３】
ある実施形態では、プロセスは、例えば、データレポジトリーに対するネットワーク装置による周期的なチェック（ポーリング）により開始されるか、又はレポジトリーデータの変化をネットワーク装置に警告するデータレポジトリーからネットワーク装置へのブロードキャストメッセージにより開始される６１２。ネットワーク装置は、レポジトリーの現在ジェネレーションカウントについてデータレポジトリーに問合せする６１４。レポジトリーのジェネレーションカウントがキャッシュのジェネレーションカウント以下である場合には、キャッシュの最後の更新以来、変化がなく、通常のオペレーションが続けられる６１８。レポジトリーのジェネレーションカウントがキャッシュのジェネレーションカウントより大きい（レポジトリーの時間値の方がキャッシュよりも遅いことを指示する）場合には、キャッシュの最後の更新以来１つ以上の変化があり、キャッシュのジェネレーション日付以来の変化に関する問合せがネットワーク装置によってなされる６２０。変化したアイテムを得るには、ログがデータレポジトリーに関連している場合に、レポジトリーを通してサーチし、及び／又はログのエントリーをチェックすることを含む。次いで、変化したメタデータエレメントの要求がなされる６２４。変化したメタデータは、どのエレメントが変化したか見分けるためのデータレポジトリーの能力に基づいて、データキャッシュに既に存在するエレメントの幾つか又は全部を含む。次いで、データレポジトリーは、変化したメタデータエレメントをキャッシュに与え、そしてキャッシュのジェネレーションカウントが、データレポジトリーから受け取られたジェネレーションカウントにリセットされる６２６。次いで、データレポジトリーの現在ジェネレーションカウントについての別の問合せがなされる６２８。レポジトリーのジェネレーションカウントがキャッシュのジェネレーションカウントより大きい場合には６３０、データレポジトリーに付加的な変化がなされており、更新サイクルは、キャッシュのジェネレーションカウント以来生じた変化に関する問合せに復帰する６２０。レポジトリーのジェネレーションカウントがキャッシュのジェネレーションカウント以下である場合には６３０、データレポジトリーに付加的な変化が生じておらず、オペレーションが続けられる６１８。
【００６４】
図７は、ネットワーク装置の実施形態を示す。ある実施形態では、ネットワーク装置７０５は、１つの物理的ネットワークインターフェイス、例えば、イーサネットＭＡＣアドレスを伴うエンティティである。図７に示すように、ネットワーク装置は、２つのネットワークインターフェイス７１０及び７１５を備えている。従って、ある実施形態では、ネットワーク装置は、物理的エンティティである。又、ある実施形態では、ネットワーク装置は、１つ以上のエージェントを含み、各エージェントは、ネットワーク装置に常駐する論理的エンティティである。ネットワーク装置には複数のエージェントがある。例えば、図７は、ネットワーク装置７０５を示し、ネットワークインターフェイス７１０は、通信マネージャー７２０を経てエージェント７３０、７３５及び７４０にアクセスし、通信マネージャー７２５を経てエージェント７４５及び７５０にアクセスし、且つ通信マネージャー７３０を経てエージェント７５５及び７６０にアクセスする。ある実施形態では、各エージェントには、ネットワーク装置ＩＰアドレスとは独立して、装置のリセットオペレーションにわたり、それを他のエージェントから区別するためのグローバルに独特の識別子が指定される。このように、エージェント７５５に意図されたコマンドが、エージェントに対する独特のアドレスに宛てられ、次いで、メッセージは、ネットワークインターフェイス７１５を経てエージェント７５５へ向けられる。
【００６５】
ある実施形態では、エージェントは、ネットワーク装置内の通信のエンドポイントとして働き、特定セットの能力及び関連振舞いを与える。エージェントは、メディアソース、メディアシンク、メディアコントローラ、及び他の要素を含む。一例において、エージェントは、ビデオストリーミングサービスを提供する。この例では、エージェントは、メッセージに応答してメディアストリームに問合せ且つそれを制御し、そして命令されると、エージェントは、メディアストリームを別のエージェントへ自律的に配送する。ある実施形態では、エージェントは、いつでも、１つ以下のアクティブなメディアセッションを有し、比較的簡単なオペレーションを与える。エージェントは、メッセージを送信及び受信し、そのようなメッセージに応答して内部状態を変更し、そして副次的作用として連続的アクションを遂行する能力を有するという点で、アクティブなオブジェクトとして働くと見ることができる。
【００６６】
ある実施形態では、エージェントは、通信マネージャーによって娯楽ネットワーク上で通信することができる。ある実施形態では、図７の通信マネージャー７２０、７２５及び７３０のように、装置当たり１つ以上の通信マネージャーがある。又、ある実施形態では、単一の通信マネージャーによって複数のエージェントをマネージすることができ、例えば、通信マネージャー７２０によってエージェント７３０、７３５及び７４０がマネージされる。ある実施形態では、通信マネージャーは、その通信マネージャーに結び付けられたエージェントへ及びエージェントからメッセージをルーティングする役割を果たす。そのプロセスは、同じネットワーク装置に対してローカルの他のエージェントへメッセージを配送し、個々のエージェントから出力接続を経てリモートネットワーク装置のエージェントへメッセージをマルチプレクスし、そしてブロードキャスト要求を取り扱うことを含む。ある実施形態では、エージェントは、１つの通信エージェントのみに結び付けられ、通信マネージャーは、１つのネットワークインターフェイスのみに結び付けられる。
【００６７】
ある実施形態では、表示マネージャーは、表示装置のリソースをマネージするエージェントである。より詳細には、表示マネージャーは、表示リソース及びスクリーン幾何学へのアクセスを許可する役割を果たす。ある実施形態では、各表示装置は、ビデオ出力、グラフィック出力、オーディオ出力、及びユーザ入力のようなＩ／Ｏ装置の各関連セットに対して１つの表示マネージャーしかもたない。又、ある実施形態では、エージェントは、セッションマネージャーと共に働き、表示装置へのメディアコンテンツの配送及び表示を整合し、表示装置リソースへのアクセスを許可する。又、ある実施形態では、表示マネージャーは、ユーザセッションのためのスタート点を表し、そしてセッションマネージャーへ制御を委任する。
【００６８】
ある実施形態では、セッションマネージャーは、アクティブなユーザに対してメディアコンテンツのセットを整合するエージェントである。又、ある実施形態では、選択がなされると、セッションマネージャーは、対応する表示マネージャーとのリモートオンスクリーン表示セッションを開始し、そしてネットワーク内の他の装置をマネージするためにアプリケーションプログラムの実行を開始する。又、ある実施形態では、表示マネージャーは、入力イベントをセッションマネージャーへ転送し、そして表示リソースへのアクセス権を許可し、セッションマネージャーは、それを他のエージェントへ委任することができ、従って、他のエージェントが表示装置へコンテンツを配送できるようにする。一例において、表示マネージャーは、セットトップボックス内で実行されるセッションマネージャーへアクセス権を許可する。セッションマネージャーは、表示装置とのリモートＵＩ（ユーザインターフェイス）セッションを開始し、そしてネットワーク装置のユーザが、再生されるべきビデオを、リモートビデオ記憶装置から選択できるようにする。ある実施形態では、セッションマネージャーは、ビデオサーバーへアクセス権を通し、そしてメディアストリームを表示装置へ配送するようにビデオサーバーに指令する。又、ある実施形態では、セッションマネージャーは、メディアコンテンツを使用してユーザの経験をマネージするのに必要な状態を維持する。
【００６９】
図８は、ネットワーク装置のコンポーネントの実施形態を示す。この図において、ネットワーク装置８０５は、娯楽ネットワークにおける任意の装置であり、図１に示す装置を含むが、これに限定されない。例えば、ネットワーク装置は、テレビジョン、セットトップボックス、記憶ユニット、ゲームコンソール（例えば、二次元又は三次元グラフィックデータを使用する）、又は他のメディア装置である。ある実施形態では、ネットワーク装置８０５は、ネットワークファンクションを与えるためのネットワークユニット８１０を備えている。ネットワークファンクションは、メディアデータストリームを発生し、転送し、記憶し及び受信することを含むが、これに限定されない。ネットワークユニット８１０は、チップ上の単一システム（ＳｏＣ）として又は複数のコンポーネントとして具現化することができる。
【００７０】
ある実施形態では、ネットワークユニット８１０は、データを処理するためのプロセッサを含む。データの処理は、メディアデータストリームを発生し、メディアデータストリームを転送又は記憶において操作し、そしてメディアデータストリームを使用のために解読及びデコーディングすることを含む。又、ネットワーク装置は、ネットワークオペレーションをサポートするためのメモリ、例えば、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）８２０、又は他の同様のメモリ及びフラッシュメモリ８２５、或いは他の不揮発性メモリを含む。
【００７１】
又、ネットワーク装置８０５は、各々１つ以上のネットワークインターフェイス８５５を経てネットワークにデータを送信し又はネットワークからデータを受信するための送信器８３０及び／又は受信器８４０も備えている。送信器８３０又は受信器８４０は、例えば、イーサネットケーブル８５０を含むワイヤード送信ケーブル、又はワイヤレスユニットに接続される。送信器８３０又は受信器８４０は、データ送信のためのライン８３５及びデータ受信のためのライン８４５のような１つ以上のラインで、データ転送及び制御信号のためのネットワークユニット８１０に結合される。付加的な接続も存在する。又、ネットワーク装置８０５は、装置のメディアオペレーションのための多数のコンポーネントを含むが、ここには示されていない。
【００７２】
図９は、娯楽ネットワークの実施形態を示す。この図において、娯楽ネットワークシステム９００は、互換性のあるメディア装置をネットワークに接続する。接続は、娯楽ネットワーク９０５への接続として示されている。ある実施形態では、装置は、中央ネットワークサーバーをもたないネットワークとして動作する。娯楽ネットワークを通して、メディアデータストリームは、接続された任意の装置間で転送される。更に、装置は、ネットワークを通して遠隔制御することができる。装置は、同軸ケーブル、イーサネットケーブル、及びファイアワイヤを含む既知のコネクタ及び接続プロトコルを経てネットワークに接続されると共に、Ｗｉ−Ｆｉ、ブルーツース及び他のワイヤレス技術を経てワイヤレス接続されてもよい。
【００７３】
ある実施形態では、装置は、メディアソース又は受信者を含む。図９において、オフィス９１０は、モデム９２２を経てネットワーク９０５へインターネット接続９２０を与える。インターネットから受信されるデータは、ストリーミングメディアソースを含み、これは、購入したオーディオファイル（ダウンロードされた音楽ファイルのような）、ビデオファイル（映画、テレビ、等の）、及びコンピュータゲームを含むが、これらに限定されない。又、オフィス９１０は、パーソナルコンピュータ９２４にも接続され、これは、他のファンクションの中でも、あるメディアストリームを表示し又はあるコンピュータゲームを動作するモニタ９２６を使用する。
【００７４】
又、娯楽ネットワークは、ベッドルーム９１２内の装置にも接続され、これは、例えば、テレビジョン９３２へデータを与えるセットトップボックス９３０を含む。更に、ベッドルーム（又は他のスペース）は、メディア記憶ユニット９２８を含む。このメディア記憶ユニット９２８は、ネットワーク９０５に接続されたソースからデータを受信し、且つネットワーク９０５へ接続されたデータ受信者へデータを与える。メディア記憶装置９２８は、ネットワークに対していかなる形式のメディアストリームデータを含んでもよい。
【００７５】
このシステムは、更に、ケーブル又はファイバシステム９３４から、或いは衛星ディスクネットワーク９３６から入力を受信するリビングルーム９１４も備えている。このようなソースからのメディア入力は、ネットワーク９０５及び第２テレビジョン９４０に接続されたセットトップボックス９３８へ供給される。リビングルームのテレビジョン９４０に表示するためにネットワーク９０５に接続されているのは、ビデオゲームユニット９４２である。ネットワーク装置をもつ多数の他の部屋があり、例えば、ネットワーク９０５に接続された第３テレビジョン９４４を含むキッチンがある。又、これに限定されないが、家全体に配置されたスピーカを含むステレオオーディオシステムを含む他のネットワーク装置も存在する。
【００７６】
更に、多数の移動パーソナル電子装置もネットワークに接続される。これらの装置は、ケーブル又はワイヤレス信号を経て接続され、ワイヤレス信号は、ブルーツース、Ｗｉ−Ｆｉ、赤外線又は他の同様のワイヤレス通信プロトコルを含むが、これに限定されない。このような各々のプロトコルは、（図９には示されていない）ネットワークへのインターフェイス、例えば、Ｗｉ−Ｆｉベースステーションを必要とする。このような移動パーソナル電子装置は、デジタルカメラ９４６、セルラー電話９４８、パーソナル音楽装置９５０、又はビデオカメラ９５２を含むことができる。更に、自動車９５４に収容された移動システムは、自動車がネットワークに接近したときに（例えば、家のガレージに入ったときに）ネットワーク９０５に接続することができる。移動パーソナル電子装置は、例えば、ネットワークの範囲内に入ったときにネットワークに自動的に接続される。接続されている間に、装置は、装置への考えられる自動更新又はダウンロードを含めて、ネットワークを通してデータを得るか、又はネットワークへデータを供給するのに使用できる。一例において、ユーザは、ネットワークを通していずれかの移動電子装置に含まれたデータにアクセスすることができ、例えば、セットトップボックス９３８を経て、リビングルームのテレビジョン９４０のデジタルカメラ９４６に記憶された写真にアクセスすることができる。ある実施形態では、図９に示すネットワーク装置は、ネットワーク処理及びバッファ能力に限度があるように設計された低リソース装置である。
【００７７】
上述した説明において、説明上、本発明を完全に理解するために多数の特定の細部について述べた。しかしながら、当業者であれば、幾つかの特定の細部がなくても、本発明を実施できることが明らかであろう。他の点では、良く知られた構造及び装置は、ブロック図の形態で示された。図示されたコンポーネントとコンポーネントとの間に中間構造が存在することがある。ここに説明又は図示されたコンポーネントは、ここに図示又は説明されない付加的な入力又は出力を有してもよい。
【００７８】
本発明は、種々のプロセスを含むことができる。本発明のプロセスは、ハードウェアコンポーネントによって遂行することもできるし、又はマシン実行可能なインストラクションによって実施することもでき、これらインストラクションでプログラムされた汎用又は特殊目的プロセッサ或いはロジック回路がプロセスを遂行するように使用できる。或いは又、プロセスは、ハードウェア及びソフトウェアの組合せで遂行することもできる。
【００７９】
本発明の各部分は、本発明によるプロセスを遂行するようにコンピュータ（又は他の電子装置）をプログラムするのに使用されるコンピュータプログラムインストラクションが記憶されたコンピュータ読み取り可能な媒体を含むコンピュータプログラム製品として提供されてもよい。マシン読み取り可能な媒体は、フロッピーディスケット、光学ディスク、ＣＤ−ＲＯＭ（コンパクトディスクリードオンリメモリ）、磁気−光学ディスク、ＲＯＭ（リードオンリメモリ）、ＲＡＭ（ランダムアクセスメモリ）、ＥＰＲＯＭ（消去可能なプログラマブルリードオンリメモリ）、ＥＥＰＲＯＭ（電気的に消去可能なリードオンリメモリ）、マグネット又は光学的カード、フラッシュメモリ、又は電子的インストラクションを記憶するのに適した他の形式のメディア／マシン読み取り可能なメディアを含むが、これに限定されない。更に、本発明は、コンピュータプログラム製品としてダウンロードすることもでき、このプログラムは、リモートコンピュータから、要求を発しているコンピュータへ転送することができる。
【００８０】
多数の方法を最も基本的な形態で説明したが、本発明の基本的な範囲から逸脱せずに、いずれかの方法にプロセスを追加したり又は削除したりすることができ、又、いずれかの上述したメッセージに情報を追加したり削除したりすることができる。当業者であれば、多数の更に別の変更や適応がなされ得ることが明らかであろう。本発明を限定するのではなく例示するために特定の実施形態が示された。本発明の範囲は、上述した特定例によって決定されるのではなく、特許請求の範囲のみによって決定されるものとする。
【００８１】
要素“Ａ”が要素“Ｂ”に結合されると言える場合には、要素Ａは、要素Ｂに直結されるか、又は、例えば、要素Ｃを経て間接的に結合される。コンポーネント、特徴、構造、プロセス、又は特性Ａが、コンポーネント、特徴、構造、プロセス、又は特性Ｂを「引き起こす」と明細書又は請求の範囲に述べられたときには、“Ａ”は、“Ｂ”の少なくとも部分的な原因であるが、“Ｂ”を引き起こす上で助けとなる少なくとも１つの他のコンポーネント、特徴、構造、プロセス、又は特性でもあることを意味する。コンポーネント、特徴、構造、プロセス、又は特性を含んでもよく(may)、含むことがあり(might)、又は含むことができる(could)と明細書に示された場合に、その特定のコンポーネント、特徴、構造、プロセス、又は特性を含むことが要求されるのではない。明細書又は請求の範囲で「ある(“a”又は“an”)」要素が言及された場合には、述べられた要素が１つしかないことを意味するものではない。
【００８２】
実施形態は、本発明の具現化又は一例である。明細書において「実施形態」、「１つの実施形態」、「ある実施形態」又は「他の実施形態」を言及するときには、その実施形態について述べる特定の特徴、構造又は特性が、少なくともある実施形態には含まれるが、必ずしも全ての実施形態に含まれるのではないことを意味している。「実施形態」、「１つの実施形態」又は「ある実施形態」の種々の出現は、必ずしも全てが同じ実施形態を示していない。本発明の実施形態の以上の説明において、開示を合理化し且つ本発明の１つ以上の種々の態様を理解する上で助けとなるように、本発明の種々の特徴は、時々、単一の実施形態、図面又はその説明に一緒にグループ編成されたことが明らかであろう。しかしながら、開示のこの方法は、請求の範囲に記載の発明が各請求項に述べた以上の特徴を要求するという意図を反映するものとして解釈されるものではない。むしろ、請求の範囲に反映されるように、本発明の態様は、以上に開示された単一実施形態の全ての特徴未満のものに存在する。従って、この説明に明確に組み込まれた請求の範囲において、各請求項は、本発明の個別の実施形態としてそれ自身自立している。
【符号の説明】
【００８３】
１０５：ネットワーク
１１０：ネットワーク装置Ａ
１１５：ネットワーク装置Ｂ
１２０：ネットワーク装置Ｃ
１２５：ネットワークデータレポジトリー
１３０：コンテンツデータ及びメタデータ
２０５：ネットワーク装置
２１０：キャッシュ
２１５：メタデータ
２２０：ネットワークインターフェイス
２２５：ネットワークデータレポジトリー
２３０：データ
２３５：メタデータ
２４０：ネットワークインターフェイス
３０２：データレポジトリー
４００：データレポジトリー
４３０：キャッシュ
４５０：ログ
９００：娯楽ネットワークシステム
９０５：娯楽ネットワーク
９１０：オフィス
９１２：ベッドルーム
９１４：リビングルーム
９１６：キッチン
９２０：インターネット
９２２：モデム
９２４：パーソナルコンピュータ
９２６：モニタ
９２８：メディア記憶ユニット
９３０、９３８：セットトップボックス
９３２、９４０、９４４：テレビジョン
９３４：ケーブル又はファイバシステム
９３６：衛星ディスクネットワーク
９４６：デジタルカメラ
９４８：セルラー電話
９５０：パーソナル音楽装置
９５２：ビデオカメラ
９５４：自動車
【図１】
0005425070.tif 000002
【図２】
0005425070.tif 000003
【図３】
0005425070.tif 000004
【図４】
0005425070.tif 000005
【図５】
0005425070.tif 000006
【図６】
0005425070.tif 000007
【図７】
0005425070.tif 000008
【図８】
0005425070.tif 000009
【図９】
0005425070.tif 000010