(57)【要約】  アドホックなピアツーピアネットワーク上の装置間でのコンテンツ記述データの同期処理は、複数のデータエントリをディレクトリサーバに格納する処理を含む。個々のデータエントリはネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。ディレクトリサーバの同期オブジェクトはデータエントリと関連付けられる。同期オブジェクトはデータエントリに対する変更を記述することができる。データエントリは、ネットワークを介してディレクトリサーバから制御ポイント装置のキャッシュにダウンロードされる。ディレクトリサーバのデータエントリのうちの少なくとも１つのデータエントリの変更に応じて、ディレクトリサーバの同期オブジェクトが変更される。ディレクトリサーバの同期オブジェクトの変更に基づいて、制御ポイント装置のキャッシュは少なくとも１つのデータエントリの変更と共に更新される。
2008510244.tif 000002
【特許請求の範囲】
【請求項１】
アドホックなピアツーピアネットワークにおける装置間でコンテンツ記述データを同期させる方法であって、
複数のデータエントリをディレクトリ・サーバに格納するステップであって、個々のデータエントリが前記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する、格納ステップと、
前記ディレクトリ・サーバの同期オブジェクトを前記データエントリと関連付けるステップであって、該同期オブジェクトが前記データエントリに対する変更を記述することができる、関連付けるステップと、
前記ネットワークを介して前記ディレクトリ・サーバから制御ポイント装置のキャッシュに前記データエントリをダウンロードするステップと、
前記ディレクトリ・サーバの前記データエントリのうちの少なくとも１つのデータエントリ内の変更に応じて、前記ディレクトリ・サーバの前記同期オブジェクトを変更するステップと、
前記ディレクトリ・サーバの前記同期オブジェクトの前記変更に基づいて、前記少なくとも１つのデータエントリ内の前記変更と共に前記制御ポイント装置の前記キャッシュを更新するステップと、を備える方法。
【請求項２】
前記制御ポイント装置の前記キャッシュの前記更新を反映するように前記同期オブジェクトを修正するステップをさらに備える請求項１に記載の方法。
【請求項３】
前記同期オブジェクトは前記データエントリのハッシュを含む請求項１に記載の方法。
【請求項４】
前記同期オブジェクトは、前記マルチメディアデータオブジェクトと関連付けられるタイムスタンプおよび署名のうちの少なくとも一つにおける変更を記述することができる請求項１に記載の方法。
【請求項５】
前記同期オブジェクトは、前記複数のデータエントリのうちの或るエントリの追加および削除を記述することができる請求項１に記載の方法。
【請求項６】
前記ディレクトリ・サーバの前記データエントリのうちの少なくとも１つのデータエントリの変更に応じて前記ディレクトリ・サーバの前記同期オブジェクトを変更するステップは、前記同期オブジェクトにデータを追加するステップを含み、該データは前記少なくとも１つのデータエントリの変更を記述する請求項１に記載の方法。
【請求項７】
前記ディレクトリ・サーバの前記データエントリのうちの少なくとも１つのデータエントリの変更に応じて前記ディレクトリサーバの前記同期オブジェクトを変更するステップは、
前記変更を記述する新規の同期オブジェクトを作成するステップと、
前記新規の同期オブジェクトを前記エントリと関連付けるステップと、を備える請求項１に記載の方法。
【請求項８】
前記制御ポイント装置の前記キャッシュを更新するステップは、前記キャッシュの前回の更新後および前記キャッシュの最新の変更前に追加された複数の新規の同期オブジェクトを検査するステップを含む請求項７に記載の方法。
【請求項９】
アドホックなピアツーピアネットワークを介してディレクトリ・サーバと通信を行うことができるネットワークインタフェースと、前記ネットワークインタフェースと接続されるプロセッサと、前記プロセッサと接続されるメモリと、を備えた装置であって、
前記メモリは、データを格納することができるキャッシュと、制御ポイントモジュールと、を含み、
前記制御ポイントモジュールは、
個々のデータエントリが、前記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述するものであって、複数の該データエントリを、前記ネットワークを介して前記ディレクトリ・サーバから前記キャッシュにダウンロードすること、
同期オブジェクトが、前記データエントリに変更を記述することができるものであって、前記ディレクトリ・サーバの前記データエントリと関連付けする前記ディレクトリ・サーバの該同期オブジェクトに前記ネットワークを介してアクセスすること、
変更が、前記ディレクトリ・サーバの少なくとも１つのデータエントリ内の変更に応じて生じる変更であって、前記ディレクトリ・サーバの前記同期オブジェクト内の該変更を検出すること、および
前記ディレクトリ・サーバの前記同期オブジェクトの前記変更に基づいて、前記少なくとも１つのデータエントリ内の前記変更と共に、前記キャッシュを更新すること、を前記プロセッサにさせる命令を有する装置。
【請求項１０】
前記制御ポイントモジュールは、前記キャッシュの前記更新を反映するために、さらに前記プロセッサに前記ディレクトリ・サーバの前記同期オブジェクトを修正させる請求項９に記載の装置。
【請求項１１】
前記同期オブジェクトは、前記同期オブジェクトと関連付けられる前記データエントリのハッシュを含む請求項９に記載の装置。
【請求項１２】
前記同期オブジェクトは、前記マルチメディアオブジェクトと関連付けられるメタデータの変更を記述することができる請求項９に記載の装置。
【請求項１３】
前記同期オブジェクトは、前記複数のデータエントリ内のエントリの追加および削除を記述することができる請求項９に記載の装置。
【請求項１４】
前記同期オブジェクト内の前記変更の検出は、前記同期オブジェクトにデータ追加したデータを検出することを含み、該データは前記少なくとも１つのデータエントリ内の変更を記述する請求項９に記載の装置。
【請求項１５】
前記同期オブジェクト内の前記変更の検出は、前記変更を記述する前記ディレクトリ・サーバの新規の同期オブジェクトの生成を検出することを含む請求項９に記載の装置。
【請求項１６】
前記キャッシュの更新は、前記ディレクトリ・サーバの複数の新規の同期オブジェクトを検査することを含み、該複数の新規の同期オブジェクトは、前記キャッシュの前回の更新後および前記キャッシュの最新の変更前に追加されたオブジェクトである請求項１５に記載の装置。
【請求項１７】
アドホックなピアツーピアネットワークに連結できるデータ処理構成によって実現できる実行ステップを、構成上に格納する命令を有するコンピュータ可読媒体であって、該実行ステップは、
複数のデータエントリを、前記ネットワークを介してディレクトリ・サーバから前記データ処理構成のキャッシュにダウンロードするステップであって、個々のデータエントリが前記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する、ダウンロード・ステップと
前記ディレクトリ・サーバの前記データエントリのうちの少なくとも１つのデータエントリと関連付けられる前記ディレクトリ・サーバの同期オブジェクトに前記ネットワークを介してアクセスするステップと、
前記ディレクトリ・サーバの前記同期オブジェクト内に変更を検出するステップであって、該変更が前記同期オブジェクトに関連付けられる前記ディレクトリ・サーバの前記データエントリの少なくとも１つのデータエントリ内の変更に応じて生じる、検出ステップと、
前記ディレクトリ・サーバの前記同期オブジェクトの前記変更に基づいて、前記少なくとも１つのデータエントリ内の前記変更と共に前記キャッシュを更新するステップと、
を含むコンピュータ可読媒体。
【請求項１８】
前記複数のステップは、前記キャッシュの前記更新を反映するために、前記ディレクトリサーバの前記同期オブジェクトを修正するステップをさらに含む請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記同期オブジェクトは、前記同期オブジェクトと関連付けられる前記データエントリのハッシュを含む請求項１７に記載のコンピュータ可読媒体。
【請求項２０】
前記同期オブジェクトは、前記マルチメディアオブジェクトと関連付けられるメタデータ内の変更を記述することができる請求項１７に記載のコンピュータ可読媒体。
【請求項２１】
前記同期オブジェクトは、前記複数のデータエントリ内のエントリの追加および削除を記述することができる請求項１７に記載のコンピュータ可読媒体。
【請求項２２】
前記同期オブジェクト内の前記変更を検出するステップは、前記同期オブジェクトにデータ追加したデータを検出することを含み、該データは前記少なくとも１つのデータエントリ内の変更を記述する請求項１７に記載のコンピュータ可読媒体。
【請求項２３】
前記同期オブジェクト内の前記変更を検出するステップは、前記変更を記述する前記ディレクトリサーバの新規の同期オブジェクトの生成を検出することを含む請求項１７に記載のコンピュータ可読媒体。
【請求項２４】
前記キャッシュの更新ステップは、前記ディレクトリサーバの複数の新規の同期オブジェクトを検査するステップを含み、該複数の新規の同期オブジェクトは、前記キャッシュの前回の更新後および前記キャッシュの最新の変更前に追加されたものである請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
アドホックなピアツーピアネットワークを介して通信を行うことができるネットワークインタフェースと、前記ネットワークインタフェースに連結するプロセッサと、前記プロセッサに連結するメモリと、を含む装置であって、
前記メモリは、
個々のデータエントリが、複数ネットワークを介してネットワークエンティティによってアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述するデータエントリであって、複数の該データエントリを格納すること、
前記ネットワークエンティティへ前記データエントリを送信すること、
前記データエントリに対する変更を記述することができる同期オブジェクトを前記データエントリに関連付けること、
前記同期オブジェクトに付随する前記データエントリのうちの少なくとも１つのデータエントリの変更に応じて前記同期オブジェクトを変更すること、および
前記ネットワークエンティティが、前記同期オブジェクトの前記変更に基づいて前記データエントリのキャッシュを更新できるように、前記ネットワークエンティティに前記同期オブジェクト内の変更を送信すること、を前記プロセッサにさせる命令を有するディレクトリサービスモジュールを備える装置。
【請求項２６】
前記ネットワークエンティティの前記キャッシュになされた更新を反映するために、前記ディレクトリサービスモジュールは、さらに前記プロセッサに前記ネットワークエンティティが前記同期オブジェクトを修正できるようにする請求項２５に記載の装置。
【請求項２７】
前記同期オブジェクトは、前記同期オブジェクトと関連付けられる前記データエントリのハッシュを含む請求項２５に記載の装置。
【請求項２８】
前記同期オブジェクトは、前記マルチメディアオブジェクトと関連付けられるメタデータ内の変更を記述することができる請求項２５に記載の装置。
【請求項２９】
前記同期オブジェクトは、前記複数のデータエントリ内のエントリの追加および削除を記述することができる請求項２５に記載の装置。
【請求項３０】
前記同期オブジェクトの変更は、前記同期オブジェクトにデータを追加することを含み、該データは前記少なくとも１つのデータエントリ内の変更を記述する請求項２５に記載の装置。
【請求項３１】
前記同期オブジェクトの変更は、
前記変更を記述する新規の同期オブジェクトを生成するステップと、
前記新規の同期オブジェクトを前記データエントリと関連付けるステップと、を含む請求項２５に記載の装置。
【請求項３２】
アドホックなピアツーピアネットワークに連結できるデータ処理構成によって実現できる実行ステップを、構成上に格納する命令を有するコンピュータ可読媒体であって、該実行ステップは、
複数のデータエントリを格納するステップであって、個々のデータエントリが前記ネットワークを介してネットワークエンティティによってアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する、格納ステップと、
前記データエントリを前記ネットワークエンティティに送信するステップと、
前記データエントリに変更を記述することができる同期オブジェクトを格納するステップと、
前記データエントリのうちの少なくとも１つのデータエントリ内の変更に応じて、前記同期オブジェクトを変更するステップと、
前記ネットワークエンティティが、前記同期オブジェクトの変更に基づいて前記データエントリのキャッシュを更新できるように、前記ネットワークエンティティに前記同期オブジェクト内の前記変更を送信するステップと、を含むコンピュータ可読媒体。
【請求項３３】
前記ステップは、前記ネットワークエンティティのキャッシュになされる更新を反映するために、前記同期オブジェクトを修正するステップをさらに含む請求項３２に記載のコンピュータ可読媒体。
【請求項３４】
前記同期オブジェクトは、前記同期オブジェクトと関連付けられる前記データエントリのハッシュを含む請求項３２に記載のコンピュータ可読媒体。
【請求項３５】
前記同期オブジェクトは、前記マルチメディアオブジェクトと関連付けられるメタデータ内の変更を記述することができる請求項３２に記載のコンピュータ可読媒体。
【請求項３６】
前記同期オブジェクトは、前記複数のデータエントリ内のエントリの追加および削除を記述することができる請求項３２に記載のコンピュータ可読媒体。
【請求項３７】
前記同期オブジェクトを変更するステップは、前記同期オブジェクトにデータを追加するステップを含み、該データは前記少なくとも１つのデータエントリ内の変更を記述する請求項３２に記載のコンピュータ可読媒体。
【請求項３８】
前記同期オブジェクトを変更するステップは、
前記変更を記述する新規の同期オブジェクトを生成するステップと、
前記新規の同期オブジェクトを前記データエントリと関連付けるステップと、を含む請求項３２に記載のコンピュータ可読媒体。
【請求項３９】
アドホックなピアツーピアネットワークと、該ネットワークに連結されたディレクトリ・サーバと、および該ネットワークに連結された制御ポイントとを備えるシステムであって、
前記ディレクトリ・サーバは、
個々のデータエントリが前記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述するような、複数の該データエントリをデータ格納部に格納し、
前記ディレクトリ・サーバの同期オブジェクトを前記データエントリに関連付け、
前記データエントリの変更に応じて、前記ディレクトリ・サーバの前記同期オブジェクトを変更するように構成され、
前記制御ポイントは、
前記ディレクトリ・サーバから前記制御ポイントのキャッシュへ前記複数のデータエントリをダウンロードし、
前記ディレクトリ・サーバの前記同期オブジェクト内の変更を検出し、
前記ディレクトリ・サーバの前記同期オブジェクトの前記変更に基づいて、少なくとも１つの前記データエントリ内の前記変更と共に前記キャッシュを更新するように構成されるシステム。
【請求項４０】
前記制御ポイントは、前記キャッシュの前記更新を反映するために、前記同期オブジェクトを修正するようにさらに構成される請求項３９に記載のシステム。
【請求項４１】
前記同期オブジェクトは、前記データエントリのハッシュを含む請求項３９記載のシステム。
【請求項４２】
装置であって、
ディレクトリ・サーバからダウンロードされた複数のデータエントリを格納する手段であって、個々のデータエントリが、ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する、格納手段と、
前記ディレクトリ・サーバの前記データエントリと関連付けられる前記ディレクトリ・サーバの同期オブジェクトにアクセスする手段であって、該同期オブジェクトが、前記ディレクトリ・サーバの前記データエントリに対する変更を記述することができる、アクセス手段と、
前記ディレクトリ・サーバの前記同期オブジェクト内の変更を検出する手段であって、該変更が、前記ディレクトリ・サーバの前記データエントリのうちの少なくとも１つのデータエントリ内の変更に応じて生じる、検出手段と、
前記ディレクトリ・サーバの前記同期オブジェクトの前記変更に基づいて、前記少なくとも１つのデータエントリ内の前記変更と共に前記装置に格納された前記データエントリを更新する手段と、を備える装置。
【請求項４３】
複数のデータエントリを格納する手段であって、個々のデータエントリは、ネットワークエンティティによってアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する、格納手段と、
前記データエントリを前記ネットワークエンティティに送信する手段と、
前記データエントリに対する変更を記述することができる同期オブジェクトを格納する手段と、
前記同期オブジェクトと関連付けられる前記データエントリの少なくとも１つのデータエントリの変更に応じて前記同期オブジェクトを変更する手段と、
前記ネットワークエンティティが、前記ネットワークエンティティに格納している前記データエントリのキャッシュを更新できるように、前記同期オブジェクト内の前記変更を前記ネットワークエンティティに送信する手段と、を備える装置。
【請求項４４】
ネットワーク上の装置間におけるマルチメディアデータ処理を制御する方法であって、
複数のデータエントリをディレクトリ・サーバに格納するステップであって、個々のデータエントリが前記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する、格納ステップと、
前記ディレクトリ・サーバの特定のＩＤを、前記データエントリの少なくとも１つと関連付けるステップと、
前記ネットワークを介して、前記ディレクトリ・サーバから携帯端末のキャッシュへ前記データエントリをダウンロードするステップと、
前記特定のＩＤと関連付けられる前記データエントリのうちの少なくとも１つのデータエントリの変更に応じて、前記ディレクトリ・サーバの前記特定のＩＤを変更するステップと、
前記少なくとも１つのデータエントリの前記変更を記述する１つ以上のデータオブジェクトを前記ディレクトリ・サーバから取得するステップと、
前記１つ以上のデータオブジェクトに基づいて、前記少なくとも１つのデータエントリ内の変更と共に前記携帯端末の前記キャッシュを更新するステップと、を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００４年８月１９日出願の米国仮出願第６０／６０３，０２１号の利益を主張するものである。
【０００２】
本発明は一般に通信に関し、特に、消費者向け電子機器用ネットワーク環境におけるマルチメディアデータの制御に関する。
【背景技術】
【０００３】
携帯電話のような移動通信装置は、装置に追加される機能により、幅広い支持を得ている。最新の移動通信技術は、個人用デジタル通信の成長分野により重要な適用市場を育ててきた。いくつかの移動通信装置は、当該装置によるコンピュータおよび別の消費者用電子機器との通信を可能にする機能を含む。例えば、ユニバーサル・プラグ・アンド・プレイ（ＵＰｎＰ）（登録商標）として公知の規格は、異種の処理装置間でネットワークを介してデータ交換を行うための方法を提供する。ＵＰｎＰ規格はピアツーピアネットワークの接続性のためのアーキテクチャを多種多様な電子機器毎に規定する。ＵＰｎＰ規格は、サービス発見のための規格を含み、近接するネットワークやアドホック（ａｄ  ｈｏｃ）なネットワークを主にターゲットにしている。
【０００４】
種々の装置が、ＵＰｎＰ装置およびサービス記述を公開し、これによって、装置を簡単に接続し、ネットワークの実施を単純化する方法を作り出している。ＵＰｎＰは、家庭、ビジネス、公的空間を含む多くの環境、およびインターネットに接続される装置で、動作するように設計されている。ＵＰｎＰ規格は、ウェブ技術を利用するオープンなアーキテクチャであり、アドホックなネットワークおよび分散型コンピューティングを実現するように設計されている。
【０００５】
ＵＰｎＰモデルは、多種多様な装置カテゴリのためにゼロ・コンフィギュレーション・ネットワーキング（ｚｅｒｏ−ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｎｅｔｗｏｒｋｉｎｇ）および自動発見をサポートするように設計されている。このことは、装置が、ダイナミックにネットワークに加わり、ネットワークアドレスを取得し、装置の能力を伝達し、別の装置の存在および能力について知ることを可能にする。動的ホスト構成プロトコル（ＤＨＣＰ）およびドメイン・ネーム・サービス（ＤＮＳ）のようなインターネットプロトコルを、オプションとしてＵＰｎＰネットワークに含むことができる。但し、これらのインターネットプロトコルが必要とされているわけではない。
【０００６】
また、ＵＰｎＰ規格は、ＴＶ、ＶＣＲ、ＤＶＤプレイヤ、ステレオシステム、ＭＰ３プレイヤなどのような、特に消費者向け電子機器（ＣＥ：Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ）装置に特定したオーディオビデオ（ＡＶ）仕様も含まれる。一般に、ＣＥ装置とは、マルチメディアコンテンツ（映画、オーディオ、静止画像等）と情報交換する任意の装置を意味し、さらに、ＣＥ装置はコンピュータおよび移動通信装置を備えることもできる。
【０００７】
ＵＰｎＰのＡＶフレームワークは、メディアサーバ、メディア・レンダラおよびＡＶ制御ポイントの３つの主要な論理エンティティを規定する。メディアサーバは、マルチメディアコンテンツにアクセスし、ＵＰｎＰネットワークを介して当該コンテンツをメディア・レンダラ装置へ送信することができる。メディア・レンダラは、ＵＰｎＰネットワークから受信したマルチメディアコンテンツのレンダリングを行うことができる。ＡＶ制御ポイントは、エンドユーザの要求に基づいてメディア・サーバとメディア・レンダラの動作を協働させるものである。
【０００８】
ＡＶ制御ポイントは、ＵＰｎＰのＡＶネットワークのコマンドおよび制御動作の中に含まれる。このＡＶ制御ポイントは、メディア・サーバを介してアクセス可能なコンテンツを発見し列挙するために、コンテンツ・ディレクトリ・サービス（ＣＤＳ）にアクセスする。ＣＤＳを介して発見できるコンテンツは、歌およびビデオクリップのようなコンテンツの個別の部分を含むことができる。ＣＤＳコンテンツは、曲目リストおよび写真アルバムのような項目のコレクションを表わすコンテナを含むことができる。個々のＣＤＳコンテンツオブジェクトには、項目やコンテナに関わりなく、タイトル、アーティストなどのようなオブジェクトの種々の属性を記述するメタデータが含まれる。
【０００９】
ＵＰｎＰメディア・サーバの１つの利点として、マルチメディアコレクションを中心位置に格納することが可能であり、しかも、コンテンツは、ＵＰｎＰネットワークの分散する性質のおかげで、異なる場所の装置により家庭のどこからもアクセスが可能であるという点が挙げられる。したがって、移動通信装置のような携帯用機器は、このようなデータへのアクセスの制御を行うのに理想的な制御ポイントになれる。移動通信装置にとって１つ以上のメディア・サーバからデータ・アクセスしてもらうためには、移動通信装置はＣＤＳと通信を行う必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ＣＤＳが、何千ものコンテンツオブジェクトに対する問い合せ先を含むことができることは理解できよう。移動通信装置が多数のオブジェクトを列挙する必要があるとき、移動通信装置からＣＤＳへアクセスする際に使用される帯域幅は、きわめて広くすることができる。移動通信装置は、一般に、上記のような多量のデータの繰り返しアクセスが要求された場合、有線装置と比較して帯域幅に制限があるため、移動通信装置が良好でないユーザービリティおよびパフォーマンスを示す可能性がある。移動通信装置が、ＵＰｎＰあるいは同様のネットワークを介してマルチメディアコンテンツの処理を制御するために、移動通信装置と、ディレクトリ・サービスを提供するネットワーク・エンティティとの間でコンテンツ・ディレクトリ・データを効率良く通信する方法の提供が望まれている。
【課題を解決するための手段】
【００１１】
本開示は、ネットワーク上の装置間でのマルチメディアデータの処理を制御する、システム、装置および方法とに関する。
本発明の１つの実施例によれば、上記方法は、複数のデータエントリをディレクトリ・サーバに格納するステップを含む。個々のデータエントリは、ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。該ディレクトリ・サーバの同期オブジェクトは上記データエントリと関連付けられる。該同期オブジェクトは、該データエントリに対する変更を記述することができる。該データエントリは、ネットワークを介して上記ディレクトリ・サーバから制御ポイント装置のキャッシュにダウンロードされる。上記ディレクトリ・サーバの上記同期オブジェクトは、該ディレクトリサーバの上記データエントリのうちの少なくとも１つのデータエントリの変更に応じて変更される。このディレクトリ・サーバの上記同期オブジェクトの上記変更に基づいて、上記制御ポイント装置の上記キャッシュは、上記少なくとも１つのデータエントリの上記変更と共に更新される。
【００１２】
さらに特定の実施形態では、上記方法は、上記制御ポイント装置の上記キャッシュの上記更新を反映するために、上記同期オブジェクトを修正するステップをさらに含む。１つの構成では、同期オブジェクトは上記データエントリのハッシュを含むことができる。別の構成では、上記同期オブジェクトは、上記マルチメディアデータオブジェクトと関連付けられるタイムスタンプおよび署名のうちの少なくとも一つの変更を記述することができる。別の構成では、上記同期オブジェクトは、上記複数のデータエントリのうち任意のエントリの追加および削除を記述することができる。
【００１３】
さらに特定の実施形態では、上記ディレクトリサーバの上記データエントリのうちの少なくとも１つのデータエントリの変更に応じて、該ディレクトリサーバの上記同期オブジェクトを変更するステップは、該同期オブジェクトにデータを追加するステップを含む。この追加データは、上記少なくとも１つのデータエントリでの変更を記述するものである。さらに別の特定の実施形態では、同期オブジェクトを変更することは、上記変更を記述する新規の同期オブジェクトを生成するステップ、および該新規の同期オブジェクトを上記データエントリと関連付けるステップを含むことができる。これらの特定の実施形態では、上記制御ポイント装置の上記キャッシュを更新することは、該キャッシュの前回の更新後でかつ該キャッシュの最新の変更前の間に追加された複数の新規の同期オブジェクトを検査するステップを含むことができる。
【００１４】
本発明の別の実施形態によれば、装置は、アドホックなピアツーピアネットワークを介してディレクトリサーバと通信を行うことができるネットワークインタフェースを備える。プロセッサが上記ネットワークインタフェースに連結され、メモリは該プロセッサに連結される。上記メモリは、データを格納できるキャッシュおよび制御ポイントモジュールを含む。この制御ポイントモジュールは、プロセッサに以下のことを実行させる命令を有する。第１は、複数のデータエントリをネットワークを介してディレクトリ・サーバから上記キャッシュにダウンロードさせる。ただし、個々のデータエントリは上記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。第２は、ディレクトリ・サーバのデータエントリと関連付けられるディレクトリ・サーバの同期オブジェクトに上記ネットワークを介してアクセスさせる。同期オブジェクトは、データエントリに対する変更を記述することができる。第３は、上記ディレクトリ・サーバの上記同期オブジェクト内の変更を検出させる。この変更は、ディレクトリ・サーバのデータエントリの少なくとも１つのデータエントリ内の変更に応じて生じる変更である。第４は、上記ディレクトリ・サーバの同期オブジェクトの変更に基づいて、少なくとも１つのデータエントリ内の変更と共に上記キャッシュを更新させる。
【００１５】
本発明の別の実施形態によれば、コンピュータ可読媒体は、アドホックなピアツーピアネットワークに連結できるデータ処理構成によって実行できる命令を格納する。この命令は、以下に含むステップを実行することができる。第１は、複数のデータエントリを格納するステップである。個々のデータエントリは上記ネットワークを介してネットワークエンティティによってアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。第２は、上記データエントリを上記ネットワークエンティティに送信するステップである。第３は、上記データエントリに対する変更を記述することができる同期オブジェクトを格納するステップである。第４は、上記データエントリのうちの少なくとも１つのデータエントリ内の変更に応じて上記同期オブジェクトを変更するステップである。第５は、ネットワークエンティティが同期オブジェクト内の変更に基づいて上記データエントリのキャッシュを更新できるように、上記ネットワークエンティティに同期オブジェクト内の変更を送信するステップである。
【００１６】
本発明の別の実施形態によれば、装置はアドホックなピアツーピアネットワークを介して通信することができるネットワークインタフェースを備える。プロセッサは、上記ネットワークインタフェースと連結され、メモリが該プロセッサに連結されている。メモリは、プロセッサに実行させる以下の命令を有するディレクトリサービスモジュールを含む。第１の命令は、複数のデータエントリを格納することである。ただし、個々のデータエントリは、上記ネットワークを介してネットワークエンティティによってアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。第２は、上記ネットワークエンティティへ上記データエントリを送信することである。第３は上記データエントリに対する変更を記述することができる同期オブジェクトを該データエントリと関連付けることである。第４は、上記同期オブジェクトと関連付けられる上記データエントリのうちの少なくとも１つのデータエントリ内の変更に応じて上記同期オブジェクトを変更することである。第５は、上記ネットワークエンティティに上記同期オブジェクトの上記変更に基づいて上記データエントリのキャッシュを更新できるように、該ネットワークエンティティに上記同期オブジェクトの変更を送信することである。
【００１７】
本発明の別の実施形態によれば、コンピュータ可読媒体は、アドホックなピアツーピアネットワークに連結できるデータ処理構成によって実行できる命令を格納する。この命令は、以下に含むステップを実行することができる。第１は、複数のデータエントリを格納するステップである。個々のデータエントリは上記ネットワークを介してネットワークエンティティによってアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。第２は、上記データエントリを上記ネットワークエンティティへ送信するステップである。第３は、上記データエントリに対する変更を記述することができる同期オブジェクトを格納するステップである。第４は、上記データエントリのうちの少なくとも１つのデータエントリの変更に応じて上記同期オブジェクトを変更するステップである。第５は、該ネットワークエンティティが該同期オブジェクトの該変更に基づいて上記データエントリのキャッシュを更新できるように、上記ネットワークエンティティへ上記同期オブジェクト内の変更を送信するステップである。
【００１８】
本発明の別の実施形態によれば、システムはアドホックなピアツーピアネットワークを含む。ディレクトリ・サーバは、ネットワークに連結され、データ格納部上に複数のデータエントリを格納するように構成される。個々のデータエントリは上記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。上記ディレクトリサーバの上記同期オブジェクトは、上記データエントリと関連付けられる。上記ディレクトリ・サーバの上記同期オブジェクトは、上記データエントリの変更に応じて変更される。上記システムは、上記ネットワークに連結する制御ポイントも含む。該制御ポイントは、上記ディレクトリ・サーバから上記制御ポイントのキャッシュに上記複数のデータエントリをダウンロードし、上記ディレクトリ・サーバの上記同期オブジェクト内の変更を検出するように構成される。上記制御ポイントは、上記ディレクトリ・サーバの上記同期オブジェクトの上記変更に基づいて、上記少なくとも１つのデータエントリの上記変更と共にキャッシュの更新を行う。
【００１９】
本発明の別の実施形態によれば、装置は、以下の手段を備える。第１は、ディレクトリ・サーバからダウンロードされた複数のデータエントリを格納する手段である。個々のデータエントリは、上記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。第２は、上記ディレクトリ・サーバの上記データエントリと関連付けられる上記ディレクトリ・サーバの同期オブジェクトにアクセスする手段である。この同期オブジェクトは、上記ディレクトリ・サーバのデータエントリに対する変更を記述することができる。第３は、上記ディレクトリ・サーバの上記同期オブジェクト内の変更を検出する手段である。この変更は、該ディレクトリ・サーバの上記データエントリのうちの少なくとも１つのデータエントリ内の変更に応じて生じる。第４は、上記ディレクトリ・サーバの上記同期オブジェクトの上記変更に基づいて、上記少なくとも１つのデータエントリの上記変更と共に、上記装置に格納された上記データエントリを更新する手段である。
【００２０】
本発明の別の実施形態によれば、装置は、以下の手段を備える。第１は、ディレクトリサーバからダウンロードされた複数のデータエントリを格納する手段である。個々のデータエントリは、上記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。第２は、上記ディレクトリ・サーバの上記データエントリと関連付けられる上記ディレクトリ・サーバの同期オブジェクトにアクセスする手段である。この同期オブジェクトは、上記ディレクト・リサーバのデータエントリに対する変更を記述することができる。第３は、上記ディレクトリ・サーバの上記同期オブジェクト内の変更を検出する手段である。この変更は、該ディレクトリ・サーバの上記データエントリのうちの少なくとも１つのデータエントリ内の変更に応じて生じる。第４は、上記ディレクトリ・サーバの上記同期オブジェクトの上記変更に基づいて、上記少なくとも１つのデータエントリの上記変更と共に、上記装置に格納された上記データエントリを更新する手段である。
【００２１】
本発明の別の実施形態によれば、方法は、複数のデータエントリをディレクトリ・サーバに格納するステップを含む。個々のデータエントリは、上記ネットワークを介してアクセス可能な１つ以上のマルチメディアデータオブジェクトを記述する。上記ディレクトリ・サーバの固有のＩＤは、上記データエントリのうちの少なくとも１つのデータエントリと関連付けられる。上記データエントリは、上記ネットワークを介して上記ディレクトリ・サーバから携帯端末のキャッシュにダウンロードされる。上記ディレクトリ・サーバの上記固有のＩＤは、上記固有のＩＤと関連付けられる上記データエントリのうちの少なくとも１つのデータエントリ内の変更に応じて変更される。携帯端末のキャッシュは、上記ディレクトリ・サーバの固有のＩＤの変更に基づいて、少なくとも１つのデータエントリの変更と共に更新される。
【００２２】
本発明を特徴づけるこれらの利点、および種々の他の利点および新規性を有する特徴は、本願明細書に付属し、本願明細書の一部を形成する請求項において特に詳細に指摘される。しかし、本発明と、本発明の利点と、本発明の利用によって得られる目的とをより良く理解するためには、本願明細書の一部を形成する図面を参照し、さらに、本発明に従うシステムと、装置と、方法との具体例について例示し、説明している付随する記載事項を参照することが望ましい。
【００２３】
本発明は、添付の図面に例示する実施形態と関連して以下に説明する。
【発明を実施するための最良の形態】
【００２４】
種々の実施形態例についての以下の説明では、本願明細書の一部を形成する添付図面を参照するが、本発明を実施できる種々の実施形態は例示として添付図面に示される。本発明の範囲から逸脱することなく、構造上並びに処理上の変更を行うのに別の実施形態も利用可能であることを理解されたい。
【００２５】
一般に、本発明は、マルチメディアデータの処理を制御装置によって制御する方法を提供するものである。該制御装置はディレクトリデータを利用するが、該ディレクトリデータは、マルチメディアオブジェクト間の関係（階層構造等）を規定するのみならず、マルチメディアオブジェクトについても記述する。メタデータは、マルチメディアデータファイルの所在位置、マルチメディアオブジェクトについての記述およびカテゴリ、コーデック、転送プロトコル、カスタムユーザデータなどの情報を含むことができる。リレーショナルデータは、マルチメディアオブジェクトをグループ化するコンテナまたはコレクション規定を含むことができる。
【００２６】
本発明は、ＣＤＳとＵＰｎＰのＡＶ制御ポイントとの間でメタデータの同期をトリガするために用いる情報を提供するために、既存のＵＰｎＰのＡＶフレームワークを用いるメカニズムを利用することができる。さらに、ＣＤＳメタデータは、ユーザの所在位置に依存して要領の良い方法（すなわち、高レベルのサーチ、状況認知サーチ等）でメディアファイルを管理できるように、制御ポイントまたは制御ポイントの代りに機能する装置によって格納／キャッシュを行うことができる。これらの同期メカニズムは、メディアファイルに対するバックアップ処理手順をホームネットワークで自動化するために、利用することが可能である。
【００２７】
典型的には、マルチメディア・ディレクトリデータはネットワークの１つ以上のサーバエレメントに格納される。制御装置は、ネットワークを介してサーバエレメント（メディアサーバのＣＤＳ等）からマルチメディア・ディレクトリデータへアクセスする。制御装置は、ローカルにディレクトリデータをデータ格納部にキャッシュする。ユーザ装置およびサーバエレメントは、システム識別子およびオブジェクト識別子の使用により、上記データを同期させることができる。これらの識別子は、サーバエレメントのデータに全体として変更が生じたか否かの判定を制御装置ができるようにする固有の参照用識別子である。また、この識別子は、マルチメディアオブジェクト、コンテナ、あるいは別のリレーショナルデータの状態を追跡するようなさらにきめ細かな変更の判定を実現するために、利用することができる。
【００２８】
識別子は、メディアサーバの“署名”を格納するＣＤＳの中に特別にフォーマットされたエントリを含むことができる。メディアサーバは、新規エントリの追加、ＣＤＳでの削除あるいは更新の度に、この“署名”の更新を行うことになる。この“署名”は、何かが変更される度に増分される単純なカウンタとして、あるいは、メタデータのハッシュとして表わすことができる。あるいは、“署名”は、上記変更の性質も示すさらに拡張された意味を持たすことができる。代案として、ＣＤＳは、同期またはコンテンツの要約／バックアップデータのための新規なエントリを規定することも可能であり、および、該エントリはタイムスタンプ、署名などを含めることも可能である。このような配置内の制御ポイントは、制御ポイントが接続する個々のＣＤＳの固有のＩＤも格納することになる。
【００２９】
従来、消費者用電子機器は、専用ケーブルおよび電気的インタフェースを使用してデータ交換を行ってきた。例えば、オーディオ／ビデオ（ＡＶ）受信装置は、アナログコンポジットビデオ、アナログオーディオ、デジタルオーディオ、アナログコンポーネントビデオ、デジタルビデオ、リモート制御信号などの任意の組合せを受信するための入力部を持つことができる。消費者用機器は、典型的にはケーブルを介してＡＶ受信機と接続しており、このため、典型的娯楽センタは中心位置に集中する。無線による家庭用ネットワークの採用増加に伴って、すべての機器を、中央切替部およびＡＶ受信機のような統制箇所に接続することを要求するコンセプトは時代遅れになっている。デジタルネットワーク技術は、家庭のどこからもマルチメディアおよびその他のコンテンツにアクセスすることを可能にする。配置によって、インターネットのような長距離のアクセスネットワークを介して、上記データを遠隔アクセスすることもまた可能である。
【００３０】
家庭環境内にデータ配信機能を実現させたいという要望が、ＵＰｎＰ規格のような技術を生み出した。ＵＰｎＰは、家庭用ネットワークのようなローカルネットワークにおいて電子機器間での簡単な相互運用を可能にするために開発されてきた。ＵＰｎＰのＡＶ仕様は、消費者用電子機器が家庭用ネットワークのどこからも娯楽コンテンツ（またはマルチメディアコンテンツ）の配信を可能にするように、ＵＰｎＰを適合させたものである。本発明は、ＵＰｎＰネットワークとの関係で説明しているが、本発明が、デジタルな形で装置間で娯楽コンテンツを配信することを可能にする別の技術にも適用可能であることを理解されたい。例えば、本願明細書で説明するコンセプトは、Ｘ−１０、ｘＡＰ、Ｊｉｎｉ、家庭用ＲＦ、ブルートゥース、ＩｒＤＡなどのような家庭用自動化技術にもまた適用可能である。
【００３１】
次に図１に関連して、本発明の実施形態によるＵＰｎＰのＡＶアーキテクチャ１００の種々のエンティティを示す。特に、ＵＰｎＰアーキテクチャの３つの論理エンティティ、すなわち、メディア・サーバ１０２、メディア・レンダラ１０４および制御ポイント１０６とを示す。メディア・サーバ１０２は、１つ以上のデータ格納部１０８に置かれるマルチメディアコンテンツ１０７へアクセスする。メディア・サーバ１０２は、ネットワーク１１２を介してメディア・レンダラ１０４のような別のＵＰｎＰのＡＶ装置へコンテンツ１０７の送信を行うことができる。メディア・レンダラ１０４は、ネットワーク１１２からマルチメディアコンテンツ１０７を受信し、当該ハードウェアインタフェース上でコンテンツ１０７のレンダリングを行うことができる。制御ポイント１０６は、メディア・サーバ１０２およびメディア・レンダラ１０４の処理を協働させて、エンドユーザが要求するアクションを実行する。
【００３２】
メディア・サーバ１０２およびメディア・レンダラ１０４は、ＵＰｎＰのＡＶサービスのセットを実行する。これらのサービスは、サーバ１０２からレンダラ１０４へコンテンツを転送するために、制御ポイント１０６によって使用することができる。制御ポイント１０６には、通常メディア・サーバ１０２とメディア・レンダラ１０４との間でのデータ転送時のコマンドおよび制御処理のみが含まれる。これらの処理には、典型的には、データ、データ転送プロトコル、およびデータ転送に用いるデータフォーマットとを特定し、選択するステップが含まれる。メディア・サーバ１０２およびメディア・レンダラ１０４は、ネットワークエレメントである１０２、１０４自身がサポートするプロトコルおよびフォーマットを使用することで、要求コンテンツの転送を行う。したがって、制御ポイント１０６は、サーバ１０２およびレンダラ１０４が使用するプロトコルやデータフォーマットに左右されずに実装が可能となる。
【００３３】
メディア・サーバ１０２、メディア・レンダラ１０４、および制御ポイント１０６は、ＵＰｎＰのＡＶアーキテクチャ１００で規定される論理エンティティである。アーキテクチャ１００で採用される装置は、これらエンティティ１０２、１０４、１０６を任意に組み合わせた機能を含むことができる。例えば、装置は、破線１１４で示すように、メディア・レンダラ１０４および内蔵型制御ポイント１０６の双方を含むことができる。このような装置１１４は、コンテンツがレンダリングされると同一の場所から処理を制御する機能を含むことになる。
【００３４】
ＵＰｎＰアーキテクチャ１００は、広範囲の電子機器による利用に適している。例えば、消費者用電子機器１２０は、ＵＰｎＰネットワーク１１２を利用することができる。消費者用電子機器１２０は、オーディオ機器１２２、テレビ１２４、カメラ１２６、ビデオゲーム１２８、赤外線（ＩＲ）リモート制御装置１２９あるいは一般的消費者用電子機器１３０として表されるような消費者の娯楽と従来結びつけられる他の任意の機器を含むことができる。
【００３５】
データ処理装置１３２は、ＵＰｎＰアーキテクチャ１００において使用することができる。データ処理装置１３２は、一般に計算処理や通信機能を提供する。データ処理装置１３２の例としては、携帯電話１３４、デスクトップ型コンピュータ１３６、携帯用コンピュータ１３８、ルータ１４０、個人用情報機器（ＰＤＡ）１４２、あるいは、一般的装置１４４として表される他の任意の装置が含まれる。消費者用電子機器１２０とデータ処理装置１３２との間の区別は、多少恣意的なものであることを理解されたい。何故なら、最新の電子機器は、データ処理機能（例えば、組込み型マイクロプロセッサ）を含み、また、ほとんどのユーティリティ・コンピューティング／通信装置は、家庭用アプリケーションを備えているからである。
【００３６】
ＵＰｎＰアーキテクチャ１００は、一般に家庭やオフィスのようなローカルな環境内で利用される。上記アーキテクチャ１００は、有線および無線ネットワーク媒体およびプロトコルの任意の組み合わせを利用することができる。ネットワークおよびＵＰｎＰアーキテクチャ１００の装置１２０、１３２は、インターネット１４６のような公衆データ伝送媒体を介して外部アクセスが可能である。例えば、ＵＰｎＰ用ゲートウェイ／ルータ１４８は、インターネット１４６または他の公的アクセス可能媒体（公共放送電波等）を介して、ＵＰｎＰネットワーク１１２のエレメントのいくつかまたはすべてにアクセスすることを遠隔装置１５０に可能にすることができる。
【００３７】
ＵＰｎＰのＡＶネットワークのＡＶ機能の利用は、一般に、メディア・サーバ１０２、メディア・レンダラ１０４および制御ポイント１０６の１つ以上の役割を果たす装置間での相互作用を含む。これらのエンティティ１０２、１０４、１０６の論理機能は、業界で公知の消費者向け電子機器およびデータ処理装置１２０、１３２の中に組み込むことも可能である。例えば、ＰＤＡ１４２は、メディア・サーバ１０２として機能するコンピュータ１３６から利用可能なストリーミングビデオを選択するための制御ポイント１０６として機能することができる。ストリーミングビデオは、メディア・レンダラ１０４として機能するテレビ１２４へ送信することも可能である。ＵＰｎＰ規格がアーキテクチャ１００内のすべての装置の中に一律に組み込まれていると想定すると、装置間の上記タイプの相互作用を、ユーザによる最低限の設定と構成だけで実施することができる。
【００３８】
ＵＰｎＰのＡＶ技術の特に有用なアプリケーションには、制御ポイント１０６としての無線機器（携帯電話１３４等）の利用が含まれる。一般に、これらの無線機器１３４は、ＩＥＥＥ８０２．１１規格のＷＬＡＮ、ブルートゥース、ＣＤＭＡ、ＴＤＭＡなどを含む種々の無線ネットワークおよびプロトコルで通信するように適合させることができる。無線機器１３４は、一般に、携帯可能で、バッテリで駆動する装置であり、このため、制御ポイント１０６として非常に適している。何故なら、ユーザは、電話を受信するような目的で無線機器１３４を持ち運ぶ可能性が高いからである。したがって、ＵＰｎＰ制御１０６を実行できる無線機器１３４は、特殊なリモート制御装置１２９や別の装置を検索する必要性からユーザを解放してくれる。また、最新の携帯電話１３４および同種装置の改善された表示能力は、制御ポイント１０６が要求する潜在的に複雑なユーザインタフェースを伝送するのにふさわしい。
【００３９】
無線機器１３４を制御ポイント１０６として使用したときの短所は、このような機器が利用する一般に低い帯域幅の接続を扱うことである。無線プロトコル（８０２．１１ｇ等）のいくつかは、より広帯域幅へ改善されているが、大部分の携帯用機器は、例えば送信時の電力制限のため、改善された帯域幅を利用することができない。したがって、ＵＰｎＰ制御ポイント１０６として利用される無線機器１３４は、ネットワーク通信を実施する際、帯域幅の利用を注意深く制限することが必要になるであろう。ＵＰｎＰ制御ポイント１０６の帯域幅利用についての問題点をより良く理解するために、ＵＰｎＰのＡＶ仕様で制御ポイント１０６を処理する方法についてさらに詳細な検討を行うことにする。
【００４０】
ＵＰｎＰ制御ポイント１０６は、一般に、メディア・サーバ１０２とメディア・レンダラ１０４との間でのデータ転送を制御する。この制御には、ネットワーク上にサーバ１０２およびレンダラ１０４の位置を特定するステップ、サーバ１０２からの利用可能なコンテンツを列挙するステップ、共通となる転送プロトコルとデータフォーマットとを決定するためにサーバ１０２とレンダラ１０６とに問い合わせるステップ、要求されるコンテンツ、および選択したプロトコルとフォーマットとを、サーバ１０２およびレンダラ１０４に設定するステップ、コンテンツ転送を初期化するステップ、データ転送速度やデータ量などのコンテンツに対する調整を特定するステップ、が含まれる。制御ポイント１０６は、典型的にはディレクトリ情報をユーザへ送信し、ユーザからコマンドを受信するためのユーザインタフェース１５２を含むことになる。コントロールマネージャ１５４は、ユーザが希望するデータ転送タスクを実行する目的で、ユーザインタフェース１５２、サーバ１０２、およびレンダラ１０４の間で通信を行うために使用することができる。
【００４１】
制御ポイント１０６が実行する１つのタスクには、サーバ１０２で利用可能なコンテンツを決定するために、メディア・サーバ１０２に問い合わせすることが含まれる。メディア・サーバ１０２は、マルチメディアコンテンツ１０７へアクセスし、該コンテンツ１０７を別のレンダリング装置へ送信することができる。メディア・サーバ１０２は、サーバコンテンツのすべての発見および列挙を制御ポイント１０６に対して可能にするコンテンツ・ディレクトリ・サービス（ＣＤＳ）１５６を含む。また、サーバ１０２は、接続マネージャ１５８も含む。この接続マネージャ１５８は、メディア・サーバ１０２とレンダラ１０４との間でコンテンツ転送を行う際に使用するプロトコルおよびデータフォーマットの交渉および選択を、制御ポイント１０６ができるようにする。サーバ１０２は、メディア・レンダラ１０４での再生中に、コンテンツのフロー制御（一時停止、早送り等）に利用するＡＶトランスポートサービス１６０をオプションとして含めることができる。
【００４２】
メディア・レンダラ１０４は、ネットワーク１１２または別の手段（直接有線接続等）を介して、コンテンツ１０７を受信し、コンテンツ１０７をレンダリングするように構成される。コンテンツ１０７は、ビデオ表示部、スピーカ、モータ、加熱／冷却用エレメント、電気化学装置、スイッチング装置などを備えた任意形状の電気装置によってレンダリングされる。メディア・レンダラ１０４は、コンテンツのレンダリング方法の制御に利用できるレンダリング制御部１６２を含む。レンダリング制御部１６２は、ビデオ輝度と音量のようなパラメータの変更に使用することができる。メディア・レンダ１０４は、メディア・サーバ１０２と一緒になって、プロトコルとデータフォーマットとを交渉および選択するために使用する接続マネージャ１６４を含む。メディア・サーバ１０２と同様に、メディア・レンダラは、コンテンツフローの制御に利用するＡＶトランスポートサービス１６６を含むことができる。
【００４３】
無線機器１３４が利用する帯域幅に関して特別の関心をひくものとして、ＣＤＳ１５６と制御ポイント１０６との間での通信がある。ＣＤＳ１５６は、制御ポイント１０６がメディア・サーバ１０２によりアクセス可能なコンテンツ１０７を発見し、列挙することを可能とする。メディア・サーバ１０２で利用可能なコンテンツ１０７は“オブジェクト”という用語で記述される。ＣＤＳ１５６はこれらのオブジェクトの種々の属性を記述するメタデータを提供する。このメタデータは、タイトル、継続時間、作成時刻、修正時刻などのような属性を含むことができる。
【００４４】
制御ポイント１０６は、ネットワーク１１２に加わると、シンプルサービス・ディスカバリィ・プロトコル（ＳＳＤＰ）を用いて、メディア・サーバ１０２およびメディア・レンダラ１０４のすべてをネットワーク内で発見する。メディア・サーバ用およびメディア・レンダラ用テンプレートを実装するすべての装置が、該装置についての解説ドキュメントのＵＲＬ付きの要求に応答することになる。メディア・サーバおよびレンダラとの所在位置を特定した時点で、制御ポイント１０６は、個々の装置の正確な性能を判断するために、解説ドキュメントを取得し、取得ドキュメントの構文解析をする。
【００４５】
初期化後、制御ポイント１０６は、サーバ１０２から利用可能なコンテンツを列挙するために、個々のメディア・サーバのＣＤＳ１５６を利用することができる。制御ポイント１０６は、複数のサーバからＣＤＳ１５６の情報を収集し、この情報を特定のネットワーク１１２から利用可能なコンテンツのすべてを示す単一ビューに統合することができる。ＣＤＳ１５６は、オブジェクトおよびオブジェクトに関連付けられるプロパティを記述するために、拡張マークアップ言語（ＸＭＬ）を用いる。上記オブジェクトとは、ＣＤＳによって閲覧アクションまたは検索アクションから戻ることができる任意のデータエンティティである。上記プロパティは、ＣＤＳ１５６またはクライアントが規定したオブジェクトの特性を表わす。ＣＤＳ１５６は、エレメントまたは属性のいずれかとしてＸＭＬの形でプロパティを表現する。
【００４６】
ＣＤＳ１５６は階層型オブジェクトクラスを使用する。特に、２つのハイレベルのクラスのオブジェクトとして“項目”および“コンテナ”とがある。“項目”とは、典型的には、ＣＤのトラックや映画ファイルのようなデータ単位を表わす。“コンテナ”とはオブジェクトの集合を表わす。複数のコンテナは、複数の項目および別のコンテナの双方を含むことができる。ＣＤＳ１５６は、これらのオブジェクトについて記述するＸＭＬ文書を形成する。
【００４７】
ＣＤＳ１５６は、主として、制御ポイント１０６が呼び出せる一定の予め規定されたアクションを意味する、ベースの“アクション”からなり、ＣＤＳ１５６はデータに応答する。制御ポイント１０６は、ＣＤＳからオブジェクトを発見するために、少なくとも２つのアクションを呼び出すことができる。すなわち、“閲覧”および“検索”である。ＣＤＳ１５６は、少なくとも“閲覧”アクションをサポートし、オプションとして“検索”アクションをサポートすることもできる。閲覧アクションは、ＣＤＳディレクトリ構造内のエントリポイント（すなわちコンテナオブジェクト）でデータオブジェクトのリストを取得することを含む。閲覧アクションは、関数原型“Ｂｒｏｗｓｅ（オブジェクトＩＤ、閲覧フラグ、フィルタ、開始インデックス、要求総数）”によって表わすことができる。オブジェクトＩＤは、現在閲覧されているオブジェクトのＩＤを意味する。ＣＤＳ１５６内のルートコンテナは、常に“０”のオブジェクトＩＤを有する。閲覧フラグが“閲覧メタデータ”にセットされるとき、ＣＤＳ１５６はオブジェクトＩＤに関連付けられるメタデータを返送することになる。閲覧フラグが“ＢｒｏｗｓｅＤｉｒｅｃｔＣｈｉｌｄｒｅｎ”にセットされると、“オブジェクトＩＤ”はコンテナを参照し、ＣＤＳ１５６は、コンテナの中に含まれているオブジェクトと関連付けられるメタデータのリストを返送することになる。
【００４８】
制御ポイント１０６は、ルートコンテナから開始される閲覧アクションを使用してＣＤＳ１５６のコンテンツ全体を発見することができる。このアクションおよび後続するアクションの結果として発見された任意のコンテナは、この後の閲覧要求のためのエントリポイントとして使用される。このようにして、制御ポイント１０６は、ＣＤＳによって公開されたディレクトリ構造全体の中を走査することができる。
【００４９】
“閲覧”アクションに対応して、ＣＤＳ１５６は、要求されたオブジェクトを記述するＸＭＬフラグメントを返送する。ＣＤＳ１５６は、結果として返送したオブジェクト数と、コンテナ内のオブジェクトの総数（閲覧フラグが“ＢｒｏｗｓｅＤｉｒｅｃｔＣｈｉｌｄｒｅｎ”にセットされているとき）、および更新ＩＤとを返送する。更新ＩＤは、コンテナの現在の状態を示すためにＣＤＳ１５６が使用する識別子である。コンテンツまたはコンテナのプロパティが変化するとき、この更新ＩＤは増分される。オブジェクトＩＤが０のとき（すなわち、オブジェクトがルートコンテナのとき）、返送される更新ＩＤは、システム更新ＩＤとして知られる特別の識別子になる。ＣＤＳ１５６ディレクトリ内で何かが、変化するときはいつも、システム更新ＩＤの変数は変化する。
【００５０】
ＣＤＳ１５６は、オプションとして“検索”アクションに応答することができる。この検索アクションは、特定の検索基準に一致する１組のオブジェクトを見つけるために使用される。ＣＤＳ１５６はプロパティのリストを提供することが可能であり、このリストに基づいて、「ＧｅｔＳｅａｒｃｈＣａｐａｂｉｌｉｔｉｅｓ」アクションに応答することにより検索することができる。閲覧アクションと同様、ＣＤＳ１５６は、何らかのオブジェクトが発見されたとき、検索条件を満たすオブジェクトを記述するＸＭＬフラグメントを返送することになる。
【００５１】
制御ポイント１０６は、閲覧アクション、または検索アクションのいずれかから得られるオブジェクトのリストを取得した後、この結果をユーザインタフェース１５２で表示することができる。ユーザは、さらなる閲覧のため、または、レンダリング用の項目を選択するために、このインタフェース１５２から項目を選択することができる。ユーザがレンダリングすべきコンテンツを選択したあと、制御ポイント１０６は、選択した項目のためにＣＤＳ１５６のメタデータを取得する。このメタデータは、サポートする転送プロトコルおよびデータフォーマットが決定するために使用される。次いで、制御ポイント１０６は、レンダラ１０４が要求のコンテンツをレンダリングできるか否かの判断をするために、このメタデータをレンダラ接続マネージャ１６４から得られるデータと比較する。
【００５２】
共通のプロトコル／フォーマットが特定されたあと、制御ポイント１０６は、サーバ１０２およびレンダラ１０４上に接続マネージャサービス１５８、１６４を呼び出す。個々の装置は、ターゲットのプロトコル／フォーマットに関する情報を通知される。こうして、個々の接続マネージャ１５８、１６４は、選択された共通のプロトコルおよびフォーマットに基づいて、マルチメディアの再生セッションの設定と構成を行う。
【００５３】
ＣＤＳ１５６は、主として、制御ポイント１０６がＣＤＳ１５６を介してアクセス可能なデータを発見できるように策定されている。制御ポイント１０６は、メディアサーバ１０２上のコンテンツの現状を判断するために、全面的にＣＤＳ１５６を期待することもできる。しかし、ＣＤＳ１５６のデータを制御ポイント装置１０６にキャッシュするほうが望ましい状況が存在することもある。例えば、制御ポイント１０６は、コンテキスト認知検索のような、ＣＤＳ１５６を介しては実施できない高レベルの検索機能を実現することができる。また、制御ポイント１０６は、低帯域幅の接続でＣＤＳ１５６に要求を送信するよりも、より迅速にローカルなキャッシュを検索することができる。ネットワーク１１２から完全に切断されたときでも、制御ポイント１０６は、ローカルキャッシュを閲覧することができる。別の状況では、制御ポイント１０６は、常に制御ポイント１０６からアクセス可能ではない複数のＣＤＳ１５６サーバへアクセスを行うことができる。現在のネットワーク接続で使用可能なＣＤＳのみに検索を限定することによって、検索の改善を図ることは可能である。
【００５４】
本発明の実施形態によれば、制御ポイント１０６は、ＣＤＳ１５６から受信したオブジェクトメタデータを格納するためのキャッシュマネージャ１６８およびキャッシュ１７０を含む。キャッシュ１７０は、ハードドライブ、リムーバブル・メディア、フラッシュメモリ、ランダムアクセスメモリ（ＲＡＭ）などを含む揮発性メモリあるいは不揮発性メモリのいずれでも実装可能である。キャッシュマネージャ１６８は、ＣＤＳ１５６からオブジェクトデータを取得し、該データをキャッシュ１７０に格納するアクション（閲覧等）を自動的に開始することができるソフトウェアコンポーネントである。また、キャッシュマネージャ１６８は、部分的なＣＤＳキャッシュを生成するため、および／または、既存のキャッシュエントリを更新するために、ユーザインタフェース１５２およびコントロールマネージャ１５４によって実施されるＣＤＳのアクションを監視することができる。ユーザインタフェース１５２は、コントロールマネージャ１５４およびＣＤＳ１５６を経由する代りにキャッシュマネージャ１６８を介して、データを表示し、検索するようなアクションを開始することができる。
【００５５】
制御ポイント装置１０６は、ＵＰｎＰネットワーク上でＣＤＳ１５６を第一に発見したとき、ＣＤＳ１５６のデータセット全体を読み出し、キャッシュするように構成されている。本発明の実施形態に従って、ＣＤＳデータをキャッシュ１７０へ読み込む処理手順の一例を、図２Ａおよび図２Ｂに示す。「Ｂｕｉｌｄ＿Ｃａｃｈｅ」ルーチン２００は、引数として図２Ｂに示す「Ｒｅａｄ＿Ｃｏｎｔａｉｎｅｒ」ルーチン２０４をルートコンテナと共に呼び出すことにより開始する（２０２）。「Ｒｅａｄ＿Ｃｏｎｔａｉｎｅｒ」ルーチン２０４は、「Ｔｈｉｓ＿Ｃｏｎｔａｉｎｅｒ」内のすべてのオブジェクトを取得することにより開始する（２０６）。「Ｔｈｉｓ＿Ｃｏｎｔａｉｎｅｒ」はルーチン２０４に渡される引数である。このステップ２０６は、例えば、“ＢｒｏｗｓｅＤｉｒｅｃｔＣｈｉｌｄｒｅｎ”という閲覧フラグを用いて閲覧を呼び出すことで実行することができる。「Ｔｈｉｓ＿Ｃｏｎｔａｉｎｅｒ」内（何か存在する場合）で発見されたコンテナについてループが繰り返される（２０８）。「Ｒｅａｄ＿Ｃｏｎｔａｉｎｅｒ」は、発見された個々のコンテナで再帰的に呼び出される（２１０）。「Ｒｅａｄ＿Ｃｏｎｔａｉｎｅｒ」２１０に戻ったあと、各コンテナのメタデータはキャッシュへ追加される（２１２）。次に、項目についてループが繰り返される（２１４）。こうして各項目のためのメタデータがキャッシュへ追加される（２１６）。すべてのコンテナおよび項目についてのメタデータがキャッシュに追加された後、ルーチンは終了する（２１８）。
【００５６】
図２Ａと図２Ｂに図示したルーチンの代替として、ＣＤＳインタフェースを修正することが、単一のアクションでＣＤＳディレクトリ構造の全体をダウンロードすることを可能にする。例えば、閲覧アクションは、ＣＤＳデータセットの全体を一回の起動でダウンロードできる拡張が可能である。このことは、閲覧アクションを“ＢｒｏｗｓｅＡｌｌ”のような閲覧フラグをサポートする構成にすることで可能となる。“ＢｒｏｗｓｅＡｌｌ”フラグを使用するときの閲覧アクションは、ＣＤＳメタデータの保管場所全体をリストアップしたドキュメントを返送することになる。
【００５７】
図１を再度参照すると、キャッシュ１７０が、ＵＰｎＰネットワーク１１２と第一に接続するとき、ＣＤＳデータのうちのいくつかまたはすべてを格納することができる。キャッシュ１７０がＣＤＳコンテンツの少なくとも一部を含んだ状態で、ＣＤＳ１５６内のエントリがいつ変更されたかを確かめる方法が必要となる。制御ポイント１０６が正しく動作するためには、キャッシュ１７０およびＣＤＳ１５６が同期状態にあることが重要となる。一般に、ＣＤＳ１５６はシステム更新ＩＤを保持するものであり、ＣＤＳ１５６が追跡するオブジェクトのいずれかが追加または削除されたときはいつでも、または、オブジェクトのメタデータが変更されたとき、上記システム更新ＩＤは変化する。ＣＤＳ１５６は、システム更新ＩＤの値をシステムエンティティに報告する非同期イベントを実施する。また、クライアントエンティティは、「ＧｅｔＳｙｓｔｅｍＵｐｄａｔｅＩＤ」アクションをＣＤＳ１５６で呼び出すことによって、システム更新ＩＤの現在値をいつでも要求することができる。この後者の方法は、システム更新ＩＤの現在値をＣＤＳ１５６に調査（ｐｏｌｌ）させるために、クライアントによって使用することができる。
【００５８】
一般的には、制御ポイント１０６は、接触するすべてのＣＤＳのコンテンツをローカルに格納することができる。既知のＣＤＳ１５６と接続されているとき、制御ポイント１０６は、第一に“署名”エントリ（システム更新ＩＤ等）を読み出す。“署名”が、制御ポイント１０６内にキャッシュされている署名と異なるとき、ＣＤＳコンテンツは変更されているので、同期手順がトリガされる。
【００５９】
ＣＤＳオブジェクトが変更されるときはいつでも、単にＣＤＳ１５６に対してシステム更新ＩＤの修正が要求されるにすぎず、システム更新ＩＤを変更する方法が特定されるわけではない。システム更新ＩＤは、個々の変更の度に増分されるカウンタ値、メタデータのハッシュ、または変更の性質および規模を示す特別に符号化された値にすることができる。最終オプションの１例は、最新の変更がメタデータに対する変更を含むか含まないかを示すために、システム更新ＩＤの１ビットをセットする。同様のビット利用は、オブジェクトの追加や削除あるいは別タイプへの変更を示すために使用することが可能である。別の実施例では、システム更新ＩＤのいくつかのビットは、ＣＤＳディレクトリツリーの変更が生じた部分を示すために使用することが可能であり、これによって、変更したデータの取得がスピードアップされる。
【００６０】
システム更新ＩＤの使用は、ＣＤＳ１５６内での変更をおおまかに表示する。何故なら、システム更新ＩＤは単にＣＤＳ１５６が変更されたことのみを示すもので、この変更が、何であり、どこで生じたかを示すものではないからである。また、ＣＤＳ１５６は、単一コンテナのコンテンツが変更されたときに変更されるコンテナ更新ＩＤを提供することができる。コンテナ更新ＩＤは、ＣＤＳ１５６によるイベントとして送出することができる。コンテナ更新ＩＤイベントは、順序づけられたペアの組を含む。個々の順序づけられたペアは、“コンテナＩＤ、コンテナ更新ＩＤ”から構成される。制御ポイント１０６は、コンテナ更新ＩＤイベントを監視し、閲覧または検索を介して現在のコンテナデータを取得し、キャッシュ１７０を更新するために、この取得したデータを使用することができる。
【００６１】
制御ポイント１０６は、上記コンテナ更新ＩＤおよび／またはシステム更新ＩＤをＣＤＳ１５６の個々の対応するエントリ用の固有の識別子として格納することができる。これは、制御ポイント１０６が、ネットワーク内で実際に使用可能なキャッシュ１０７内の上記エントリのみをインテリジェントに動作させることを可能にする。例えば、ユーザは、家庭と仕事場に音楽コレクションを持つことができる。ユーザは、これら２箇所で音楽を管理したので、同じアプリケーションと同じ装置とを使うことを望むことができる。仕事場のＣＤＳおよび家庭のＣＤＳは、異なる固有のＩＤ（システム更新ＩＤ等）を持つことになり、上記ＣＤＳ内の個々のエントリも、固有のＩＤ（コンテナ更新等）を持つことになる。これら固有のＩＤを追跡することにより、制御ポイント１０６は、目的のものの所在位置を検出して、ユーザのために利用可能なエントリを動作させることができる。
【００６２】
一般に、制御ポイント１０６は、更新ＩＤの変更に関してＣＤＳ１５６をポーリングする、または定期的に生じる更新イベントについて聞くことができる。上記更新ＩＤの追跡は、継続的に接続されるシステムでは有効であるが、制御ポイント１０６として使用される移動通信装置１３４は、ＣＤＳ１５６と間欠的にしか接続されない可能性がある。したがって、更新イベントの受信に依存することは、制御ポイント１０６がネットワーク１１２から所定時間の間切断されたとき、キャッシュ１７０のデータに同期することが保証されなくなる。このような場合、制御ポイント１０６は再接続時にとにかくＣＤＳディレクトリを走査し、変更されたエントリのすべてまたはいくつかを再ダウンロードすることができる。しかし、この処理は多量の処理能力を消費する可能性があり、制御ポイント１０６が切断している間、ＣＤＳ１５６に対してほんのわずかな変更しかないとき、非効率的な処理になる可能性がある。
【００６３】
制御ポイント１０６に間欠的に接続されるキャッシュ１７０を同期させるための１つの解決策は、ＣＤＳディレクトリサービスの一部としてＣＤＳ１５６の変更記録を保持することである。本発明の実施形態によるＣＤＳの変更を保持する１つの方法を、図３に示す。ＣＤＳ１５６は、ルートコンテナ３０２の下で格納される特別クラスのコンテナを保持することができる。本例では、このコンテナは、「ｏｂｊｅｃｔ．ｃｏｎｔａｉｎｅｒ．ｃａｃｈｅ＿ｄｅｌｔａ」（図３参照）のクラスに属する。制御ポイントと他のクライアントは、ユーザにマルチメディアオブジェクトデータを提示するとき、コンテナのこのタイプの情報は無視できるように構成される。また同期特性に関係ない制御ポイントも、上記エントリを無視することになる。何故なら、上記エントリは通常のツリーから分離されたものであり、このエントリが既存のエントリを妨害することはないからである。ルートコンテナのすぐ下に位置する「ｃａｃｈｅ＿ｄｅｌｔａ」コンテナの位置は任意であり、ＣＤＳディレクトリ構造内の周知のいずれの位置でも満足する。メディアサーバが、これらのエントリをＣＤＳツリーの日付情報と共に継続的に保持することは理解されよう。
【００６４】
図３の例では、ルートコンテナ３００の下に２つの「ｃａｃｈｅ＿ｄｅｌｔａ」コンテナ３０２、３０４が配置されている。コンテナ３０２、３０４は、２つのクライアント、「ＣＬＩＥＮＴ＿１」および「ＣＬＩＥＮＴ＿２」用として保持される。制御ポイントまたは他のクライアントは、ＣＤＳ１５６上に呼び出されたアクションを介して上記ディレクトリ構造を自動的に生成することができる。個々のコンテナの下には、「ｏｂｊｅｃｔ．ｉｔｅｍ．ｃａｃｈｅ＿ｄｅｌｔａ」タイプのオブジェクトのリストが存在する。例えば項目３０６である。本例では、コンテナ３０２、３０４は、複数の「ｃａｃｈｅ＿ｄｅｌｔａ」項目を含む。個々の「ｃａｃｈｅ＿ｄｅｌｔａ」は、ＣＤＳディレクトリに対する単一の変更の記録を含むことができる。制御ポイントまたは他のクライアントは、自身の「ｃａｃｈｅ＿ｄｅｌｔａ」コンテナを見て、「ｃａｃｈｅ＿ｄｅｌｔａ」項目を読み、さらに「ｃａｃｈｅ＿ｄｅｌｔａ」項目内にリストアップされた変更を、クライアントのローカルなキャッシュに適用させることができる。こうして、クライアントは、コンテナから「ｃａｃｈｅ＿ｄｅｌｔａ」項目を削除することができる。別の配置は、現在または将来の削除のためにすでに調査されたエントリに対して、フラグまたはマークを施すステップを含むことができる。このようにして、クライアントがＣＤＳディレクトリ構造全体を走査する必要がなく、ＣＤＳ１５６は変更リストをクライアントに提供することができる。
【００６５】
別の配置では、「ｃａｃｈｅ＿ｄｅｌｔａ」ディレクトリ３０２、３０４は、変更に連結した単一のファイルのみを含むことができる。この配置において、単一のファイルは、ルートコンテナ３００内の個々のクライアント用、またはＣＤＳ１５６内の別の既知の場所用として保持することができ、これによって、特別の「ｃａｃｈｅ＿ｄｅｌｔａ」コンテナ３０２、３０４を設ける必要はなくなる。いずれの配置でも、「ｃａｃｈｅ＿ｄｅｌｔａ」項目は、タイムスタンプ、署名、オブジェクトＩＤ、変更の種類、およびローカルなキャッシュの更新に必要な別のデータを含むことになる。
【００６６】
図３に図示の配置に対する別の変形例は、“同期メタデータ”エントリをＣＤＳ１５６に配置するステップを含む。上記同期メタデータは、システムＩＤに類似する固有のＩＤを含むことができるが、ＣＤＳ１５６のすべてまたは一部に関する署名またはハッシュを含むことになる。また、この同期メタデータは、「ｃａｃｈｅ＿ｄｅｌｔａ」項目３０６と同じように、制御ポイントに変更の種類を決定させる別のメタデータを含むこともできる。制御ポイントは、“同期エージェント”を含み、この“同期エージェント”は、上記メタデータを読み出しメタデータ内に記述された変更のみに適用するように構成されている。
【００６７】
ＣＤＳ１５６は、同期を行うためにＵＰｎＰが使用する同期プロトコルに依存して、この同期メタデータエントリのマルチインスタンスを含むことがある。例えば、ＳｙｎｃＭＬを用いて同期を行うとき、ＳｙｎｃＭＬが要求するいくつかのメタデータを含む１つのエントリが存在することになる。別の配置では、複数の同期メタデータエントリを保持することが可能であり、個々のエントリには関連するシステムＩＤが含まれる。システムＩＤがカウンタ値のとき、制御ポイントは、システムＩＤのキャッシュ値をＣＤＳ１５６上の最新値と比較することが可能となる。制御ポイントを更新するステップは、過去のシステムＩＤと現在のシステムＩＤとの間に存在する関連のＩＤ値を有する個々の同期メタデータエントリを増分しながら読み出し、適用するステップを含むことになる。複数のＣＤＳシステム内の個々のＣＤＳ１５６が、異なる同期プロトコルを使用することが可能となり、上記エントリが、上記プロトコルが必要とする上記情報および別のメタデータを含むようになることは価値がある。
【００６８】
閲覧アクションや検索アクションを行うとき、上記種々の例で説明したような同期は、ユーザがトリガすることも可能であり、あるいは、この同期は、装置上で動作中の同期エージェントによって自動的にトリガされることも可能である。メディアサーバ１０２に近接しているときに、制御ポイント１０６は、関連するすべてのデータを自動的にダウンロード、および／または、「ｏｂｊｅｃｔ．ｃｏｎｔａｉｎｅｒ．ｃａｃｈｅ＿ｄｅｌｔａ」内あるいは別の同期メタデータ内で、検索するように構成することができる。制御ポイント１０６が、ダウンロード可能なデータをＣＤＳ１５６から入手できることを判定したあと、同期処理が自動的にトリガされるか、または、制御ポイント１０６が、新規データまたは修正されたデータがメディアサーバ１０２の中に存在することをユーザに指示することができる。こうして、ユーザは、新規コンテンツを見て同期を開始するために、指示内容を閲覧することができる。
【００６９】
定期的にデータをキャッシュする制御ポイントの方が、一般に、検索およびシステム閲覧よりも、より高速に応答するであろう。これは、無線機器の場合に特にあてはまることで、無機機器は通常、有線接続よりも低い帯域幅および長い待ち時間を有するからである。一般的なシステムはまれにしか変更しないので、ローカルなキャッシュのダウンロードおよび更新は、帯域幅利用に対して最小限の影響しか与えないであろう。
【００７０】
ＣＤＳの変更の追跡は、移動通信用制御ポイントに加えて他のアプリケーションにおいても有効なことがある。図４は、本発明の実施形態によるキャッシュ更新コンセプトを使用したデータバックアップのシナリオを示す。図４において、メディア・サーバ１０２は、前述したようにデータ格納部１０８およびＣＤＳ１５６を含む。バックアップ・サーバ４０２は、ＣＤＳ１５６と交信するための制御ポイント１０６を含む。バックアップ・サーバ４０２は、メディアデータ格納部１０８からバックアップデータ格納部４０４へデータをバックアップするために機能する。
【００７１】
第一の使用で、制御ポイント１０６は、ＣＤＳ１５６のコンテンツ全体を決定することが必要になることがある。この図４では、制御ポイント１０６は、既述した「ＢｒｏｗｓｅＡｌｌ」拡張子を用いて閲覧コマンド４０６を使用する。これに対応して、ＣＤＳ１５６は、ＣＤＳデータ格納部１０８内のすべてのエントリ４０８のメタデータを用いて応答する。同じエントリ４０８は、図２Ａと図２Ｂに示すディレクトリ走査、または当業で公知の他の方法を使用して得ることができることは価値がある。
【００７２】
制御ポイント１０６は、バックアップのために取得の必要があるすべてのエントリを含むバックアップデータ格納部４０４へ、バックアップコマンド４１０を送出する。バックアップデータ格納部４０４は、エントリ（ＦＴＰ  ＧＥＴ等）の取得４１２を開始し、これらのエントリはメディアデータ格納部１０８からバックアップデータ格納部４０４へダウンロードされる（４１４）。この取得されたデータ４１４は、ＣＤＳメタデータおよびメディア・サーバ１０２の中に、またはほかの場所に格納されている実際のデータオブジェクト（メディアファイル等）との任意の組み合わせを含むことができることは理解できよう。この後、バックアップサーバ４０２は、増分のバックアップだけを実行することが必要となる。
【００７３】
増分バックアップのための２つのシナリオを図４に示す。第１のシナリオにおいて、制御ポイント１０６は、変更部分について積極的にＣＤＳ１５６をポーリングする（４１６）。このＣＤＳ１５６へのポーリングは、システム更新ＩＤ、コンテナ更新ＩＤをチェックすること、または図３に関連して説明した特化されたキャッシュデータを利用することの任意の組み合わせを含むことができる。変更が発生したとき、デルタ部を決定するために応答４１８が使用される。完全バックアップの場合と同様に、制御ポイント１０６は、バックアップデータ格納部４０４にファイルをバックアップするように命令する（４２０）。しかし、このとき、バックアップを必要とするのはデルタ部だけである。これまでのように、即座にデータをバックアップするために、データ格納部４０４、１０８は取得を要求し（４２２）、ダウンロードを行う（４２４）。
【００７４】
図４に示す次のシナリオは、ＣＤＳ１５６により生成された非同期の更新イベントを使用する。ＣＤＳ１５６は、メディアデータ格納部１０８内の何かの変更を伝える事象を定期的に送信する（４２６）。制御ポイント１０６は、内部キャッシュ（図１に示すキャッシュ１７０等）に対してデルタ部のみをキャッシュさせる（４２８）。このシナリオでのバックアップ・サーバ４０２は、ネットワークが活動しないことが予測される夜遅くのような一定時間帯にバックアップ処理を実行するように構成される。したがって所定時刻に、制御ポイント１０６は、内部に生成されたタイマ−事象に応答し（４３０）、バックアップ要求を開始し（４３２）、この結果、データ取得を要求し（４３４）、増分データをダウンロードする（４３６）。図４に示す完全バックアップおよび増分バックアップは、バックアップデータを決定するために、ＣＤＳでのポーリングおよびＣＤＳでの事象の任意の組み合わせを使用できること、同様に即時のバックアップおよびタイマイベントバックアップの任意の組み合わせも使用できることは理解できよう。
【００７５】
ＵＰｎＰ規格は、多くの種類の装置がメディア・サーバ、メディア・レンダラおよび制御ポイントとして役割を果たすことを可能にする柔軟性を備えている。移動通信装置は、制御ポイントとして特に有用であり、さらにメディア・レンダラとしての利用も可能である。次に図５に関連して、本発明の実施形態によって、処理を実行できる代表的な移動型コンピュータ配置５００の一例を示す。当業者であれば以下のことは理解できるであろう。図示の移動型コンピュータ配置５００は、このような移動通信装置と関連付けることができる一般的機能を単に表わすだけでなく、有線型コンピュータシステムも同様の処理を実行するコンピュータ回路を同様に含むことになる。
【００７６】
図示の移動型コンピュータ配置５００は、ＵＰｎＰのＡＶネットワークにおけるメディア・レンダラおよび制御ポイントの双方としての役割を果たすのに適している。移動型コンピュータ配置５００は、マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）または別の中央演算処理モジュールのような処理／制御ユニット５０２を備える。処理ユニット５０２は、単一の装置である必要はなく、１つ以上のプロセッサを含むこともできる。例えば、処理ユニットは、マスタプロセッサおよびマスタプロセッサと通信するように連結される付随型のスレーブプロセッサを含むこともできる。
【００７７】
処理ユニット５０２は配置５００の基本的機能を制御するものである。上記の関連機能は、プログラム用ストレージ／メモリ５０４に格納された命令として含むことができる。本発明の１つの実施例において、ストレージ／メモリ５０４と関連付けられるプログラムモジュールは、携帯端末のパワーダウン時に情報が失われないように、不揮発性の電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュリードオンリメモリ（ＲＯＭ）などに格納される。また、従来方式の携帯端末の操作および本発明による操作の実行に関連するソフトウェアも、データ信号によって移動型コンピュータの配置５００へ送信することが可能であり、このデータ信号は、インターネットおよび中間に位置する無線ネットワークのような１つ以上のネットワークを介して電子的にダウンロードすることができる。
【００７８】
プログラム用ストレージ／メモリ５０４は、移動型コンピュータの配置５００の機能と関連付けられる複数の機能およびアプリケーションを実行するためのオペレーティングシステムも含むことができる。プログラム用ストレージ／メモリ５０４は、リードオンリメモリ（ＲＯＭ）、フラッシュＲＯＭ、プログラム可能な及び／又は消去可能なＲＯＭ、ランダムアクセスメモリ（ＲＡＭ）、加入者インタフェースモジュール（ＳＩＭ）、無線インタフェースモジュール（ＷＩＭ）、スマートカード、ハードドライブ、または他のリムーバブルメモリ装置のうちの１つ以上を含むことができる。
【００７９】
制御ポイント機能を実行するために、プログラム用ストレージ／メモリ５０４は、制御ポイントマネージャ１５４、キャッシュマネージャ１６８、およびキャッシュ１７０が含まれる。制御ポイントマネージャ１５４は、メディア・サーバのメタデータを表示するため、および、ＵＰｎＰマルチメディアサービスを制御するためのユーザ選択を受信するために、ユーザインタフェースのアプリケーション・プログラム・インタフェース（ＡＰＩ）５０６と接続する。メディアのレンダリング機能を実行するために、プログラム用ストレージ／メモリ５０４は、接続マネージャ１６４、ＡＶトランスポートモジュール１６６、およびレンダラ制御部１６２が含まれる。レンダラ制御部１６２もまた、ディスプレイおよびスピーカのような物理装置へレンダリング出力を行うためにＵＩのＡＰＩ５０６と接続する。
【００８０】
移動型コンピュータの配置５００は、ネットワークデータ交換を実行するための処理／制御ユニット５０２と連結したハードウェアコンポーネントおよびソフトウェアコンポーネントを備える。移動型コンピュータの配置５００は、有線または無線のデータ接続の任意の組み合わせを保持するために、複数のネットワークインタフェースを備えることができる。特に、図示の移動型コンピュータの配置５００は、ネットワークデータ交換を実行するための無線データ送信回路を備える。
【００８１】
上記無線回路は、アナログ・デジタル（Ａ／Ｄ）変換、デジタル・アナログ（Ｄ／Ａ）変換、音声の符号化処理／復号化処理、暗号化／暗号解読、エラー検出とエラー修正、ビットストリーム変換、フィルタリングなどを含む種々の機能を実行するために採用されたデジタル信号プロセッサ（ＤＳＰ）５１６を備える。トランシーバ５１８は、通常アンテナ５２０と連結され、発信無線信号５２２を送信し、無線機器と関連付けられる着信無線信号５２４を受信する。
【００８２】
プロセッサ５０２は、携帯端末と関連付けられるユーザインタフェース５２８エレメントとも連結する。携帯端末のユーザインタフェース５２８は、例えば、液晶ディスプレイのようなディスプレイ５２６、キーパッド５１０、スピーカ５１２、およびマイク５１４を備えることができる。上記および他のユーザインターフェースコンポーネントは、当業に既知のプロセッサ５０２に連結される。別のユーザインタフェースメカニズムを使用することも可能であり、これらには、音声コマンド、スイッチ、タッチパッド／スクリーン、ポインティングデバイスを使用したグラフィックユーザインタフェース、トラックボール、ジョイスティック、またはその他の任意のユーザインタフェースメカニズムが該当する。
【００８３】
図５の移動型コンピュータの配置５００は、本発明の原理を適用できるコンピュータ環境の代表例として示すものである。本願明細書に記載の説明から、当業者は、本発明は、他の現在既知および将来の移動型と有線型とのコンピュータ環境の種々においても同様に適用可能なことは理解できるであろう。例えば、デスクトップ型コンピュータ装置は同様に、プロセッサ、メモリ、ユーザインタフェース、およびデータ通信回路を備えている。したがって、本発明は、ネットワークを介してデータ通信が可能な、いずれの既知のコンピュータ構造においても適用可能である。
【００８４】
ハードウェア、ファームウェア、ソフトウェアまたはこれらの組み合わせは、本願明細書に記載した種々の機能および処理の実行に使用できる。本発明と関連付けられる機能を実行するための製造包括コード（ｍａｎｕｆａｃｔｕｒｅ  ｅｎｃｏｍｐａｓｓｉｎｇ  ｃｏｄｅ）の条項は、コンピュータで利用可能な任意の媒体で永久的にまたは一時的に、あるいは、このようなプログラムの送信を行う任意の送信媒体において永久にまたは一時的に存在するコンピュータプログラムを含むことを意図するものである。送信媒体は、無線／電波通信ネットワークを介する送信、インターネット、イントラネット、電話／モデムベースのネットワーク通信、有線／ケーブル通信ネットワーク、衛星通信、および他の固定用または移動用通信ネットワークシステム／通信リンクを含むものであるが、上記に制限されるものではない。本願明細書に記載の説明から、当業者は、本発明に基づくシステム、装置、および方法を生成するのに適した汎用あるいは専用のコンピュータハードウェアに、上記に説明したように生成したソフトウェアを容易に組み合わせることができる。
【００８５】
例示および説明を目的として、本発明の実施形態例について以上説明を行った。本発明を網羅的なものであると限定したり、開示された正確な形態に限定したりすることは意図していない。上記教示に照らして多くの修正および変形例が考えられる。本発明の範囲は、上記の詳細な説明に限定されるものではなく、本願明細書に添付の請求項により画定されることを意図している。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態によるユニバーサル・プラグ・アンド・プレイのマルチメディアシステムを示す図である。
【図２Ａ】本発明の実施形態によるディレクトリサーバキャッシュを最初に格納するための処理手順を示す図である。
【図２Ｂ】本発明の実施形態によるディレクトリサーバキャッシュを格納するために、ディレクトリサーバコンテナを再帰的に読み出すための処理手順を示す図である。
【図３】本発明の実施形態によるコンテンツディレクトリの変更を追跡するために使用できるディレクトリ・サーバに格納されたコンテナおよびオブジェクトの配置を示す図である。
【図４】本発明の実施形態によるメディアサーバデータをバックアップするためにキャッシュ同期を使用するための情報交換手順を示す図である。
【図５】本発明の実施形態による制御ポイントおよびメディア・レンダラとして構成される携帯端末を示す図である。
【図１】
2008510244.tif 000003
【図２Ａ】
2008510244.tif 000004
【図２Ｂ】
2008510244.tif 000005
【図３】
2008510244.tif 000006
【図４】
2008510244.tif 000007
【図５】
2008510244.tif 000008
【手続補正書】
【提出日】平成19年5月29日(2007.5.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
制御ポイント１０６は、上記コンテナ更新ＩＤおよび／またはシステム更新ＩＤをＣＤＳ１５６の個々の対応するエントリ用の固有の識別子として格納することができる。これは、制御ポイント１０６が、ネットワーク内で実際に使用可能なキャッシュ１７０内の上記エントリのみをインテリジェントに動作させることを可能にする。例えば、ユーザは、家庭と仕事場に音楽コレクションを持つことができる。ユーザは、これら２箇所で音楽を管理するのに、同じアプリケーションと同じ装置とを使うことを望むことができる。仕事場のＣＤＳおよび家庭のＣＤＳは、異なる固有のＩＤ（システム更新ＩＤ等）を持つことになり、上記ＣＤＳ内の個々のエントリも、固有のＩＤ（コンテナ更新等）を持つことになる。これら固有のＩＤを追跡することにより、制御ポイント１０６は、目的のものの所在位置を検出して、ユーザのために利用可能なエントリを動作させることができる。
【国際調査報告】
2008510244.tif 000009
2008510244.tif 000010
2008510244.tif 000011
2008510244.tif 000012