以下に記載する各種の典型的な実施形態の説明においては、本明細書の一部を成し、本発明の実施可能な様々な実施形態を図解した添付の図面を参照する。当然ながら、本発明の範囲から逸脱することなく構造上および操作上の変更を行なうことが可能であり、すなわち他の実施形態も利用可能である。
本発明は、全般的には、無線ネットワークで接続された複数のデバイスが持つコンテンツの、効率的で使いやすい検索を可能にする。ネットワークにおけるコンテンツの集約を実現するコンテンツ検索のフレームワークとして、システム、方法および装置について説明する。このように、本発明が特に提供するのは、ユーザが、ホーム・ネットワークなどのネットワーク上にあるコンテンツの位置を認識して消費する(例えば、見る、聞く、あるいは読み取る)ことを可能にする、フレームワークである。
例えば、本発明は、ピアツーピア接続のホーム/オフィス用ネットワークで通信可能な通信デバイス、サーバ、家庭用電子デバイスなどのデバイスおよびシステムに、格納あるいは関連付けされ得るコンテンツの検索を、容易にする。また、本発明の一態様として含まれるコンテンツ検索サービスは、データを具体的に特定してネットワークのいたるところにアクセスする必要性を最小限化または排除することによって、ユーザ・エクスペリエンス機能の向上、レスポンス・タイムの短縮化、あるいはコンテンツ閲覧全般の質的向上を実現するためのものである。
モバイル・デバイスは、このコンテンツ検索サービスを利用して、複数のサーバ上のコンテンツを同時にかつ効率的に検索する。このサービスは、複数のサーバ内に分散しているすべてのコンテンツを、モバイル・デバイスでは単一のコンテンツ・ディレクトリ・サービスとして見えるように提供することができ、そこでは、ユーザが、コンテンツ、タイトルなどに基づいた閲覧をすることができる。このサービスは、特定のアイテムに対するリクエストが発生すると、クエリを、選択されたコンテンツを有する個別のサーバに適したメッセージに書き換える。コンテンツは、UPnPネットワーク内で物理的に別個のメディア・サーバ上に位置していてもよく、あるいは、コンテンツが、UPnPネットワークの外に位置しつつ、UPnPネットワークからアクセス可能な状態であってもよい(例えば、ユーザが、インターネット上にあってUPnPゲートウェイまたはコンテンツ・プロバイダの提供する専用ゲートウェイからアクセス可能なメディア・サーバを指し示す、バーチャルCDSを有する場合もある)。
特に、本発明によって、ユーザは、ネットワークの範囲内であればどこにあるコンテンツでも検索して消費することができるようになる。これは、すべてのコンテンツのディスクリプタ(descriptor)を、1つの、共通してアクセス可能な位置に集約することにより実現される。コンテンツ・リストを1つの位置に集約することにより、システム全域にわたる問い合わせを行う必要性の低減、冗長性の処理、データ整理およびユーザ・プロファイルの集中化、統一的なデータ表示の実現、およびその他多くの利点を生む、効率的なメカニズムができる。
図1は、本発明の実施形態に従ったコンテンツ配信システム100の論理図である。一般に、システム100は、ローカル・ネットワーク環境102を備えている。ローカル・ネットワーク環境102は、一般に、一定の物理的空間に設置されたネットワーク要素の一群である。例えば、ローカル・ネットワーク環境102には、ユニバーサル・プラグ・アンド・プレイ(商標)(UPnP)ネットワーク104の1つまたは複数のセグメントが含まれている場合がある。
本発明に対する理解を容易にするために、UPnPネットワーク環境に照らして本発明の様々な態様を説明することもある。しかし、当然のことながら、本発明は、家庭用電化製品およびモバイル電子機器などのデバイス間におけるアドホックなデータ通信が求められるあらゆるシステムまたはアプリケーションで利用できる。例えば、ローカル・ネットワーク環境102では、X10、赤外線データ転送、超広帯域無線(UWB)、電力線ネットワーキング、ゼロ設定、ブルートゥースなどのデータ転送テクノロジーを、UPnPとともに、またはUPnPの代わりに置いて、ある程度の相互通信を実現することもできる。
ローカル・ネットワーク環境102には、近距離およびアドホックのUPnPネットワークをはじめ、企業および/または家庭用となるあらゆる種類の通信システムおよびネットワークが含まれる。UPnPの接続性は、当然のことながら自動車、航空機、船、公共の無線ホットスポットなどの環境においても実現できるが、典型的なローカル・ネットワーク環境102として挙げられるのは、家庭またはオフィスである。
UPnPネットワーク104は、多種多様なデバイス間における、簡単でユビキタスなデータ転送を促すために設計されている。UPnPのフレームワークには、オペレーティング・システムおよびアーキテクチャに依存しないピアツーピアのインターネット・プロトコル(IP)ネットワーク環境も含まれる。UPnPを実行するためには、オープンなインターネット・プロトコルを各種組み合わせて使用することができる。例えば、ハイパーテキスト転送プロトコル(HTTP)、拡張マークアップ言語(XML)、シンプル・オブジェクト・アクセス・プロトコル(SOAP)、シンプルサービス探索プロトコル(SSDP)、一般イベント通知アーキテクチャ(GENA)などが挙げられる。あらゆる種類のパーソナルコンピュータ、インテリジェント電気製品、家庭用電化製品、およびモバイル/無線デバイスなど、すべてのデータ処理用デバイスに、UPnPを適応させることができる。
ローカル環境102内のエンティティは、インターネット106などの外部ネットワークへアクセスすることもできる。例えば、UPnPインターネット・ゲートウェイ・デバイス(IGD)108が、UPnPネットワーク104に接続するデバイスに、外部ネットワークへのアクセスを提供することができる。IGD108としては、UPnPネットワークのエッジにあるネットワークアドレス可能なあらゆるデバイスを挙げることができる。IGD108は、UPnPネットワーク104に、インターネット106などの外部ネットワークのエンティティにアクセスするためのWANインターフェースを提供する。さらに、IGD108は、1つまたは複数のLANセグメントとインターネットとのやりとりにおけるローカルアドレッシング・サービスおよびルーティング・サービスを提供することができる。
UPnP規格は、多種多様なデバイス間の通信を提供するように設計されている。UPnPの仕様の一部は、オーディオ・ビデオ(AV)関連のデバイスおよび通信に特化している。UPnP AVの仕様は、UPnPの適用によって、家庭用電子デバイスが、デジタル・エンターテインメント・コンテンツをホーム/オフィス用ネットワークの全域に配信できるようにするものである。UPnP AVは、メディア・サーバ110、メディア・レンダラ112、およびコントロール・ポイント114の、3つの特定の論理エンティティに対応している。メディア・サーバ110としては、UPnPネットワーク104上のユーザ・デバイスにコンテンツを提供するあらゆる様式のデータ処理構成を挙げることができる。
メディア・サーバ110は、エンターテインメント・コンテンツにアクセスし、そのコンテンツを要求に応じてデジタル形式で提供することができる。メディア・サーバ110が提供したコンテンツは、デバイス上に保存することもできるし、どこか他の場所に保存することもできる。後者の一例として、ストリーミング・オーディオ・サービス113が、インターネット106に接続したサーバ115によって提供される場合がある。メディア・サーバ110のうちの1つが、IGD108を介してオーディオ・サーバ115にアクセスし、オーディオをローカル接続しているレンダリング・デバイス112に提供することができる。オーディオ信号をローカルなデバイス112に提供するために、メディア・サーバ110が、トランスコード、デジタル著作権管理の処置、およびその他のコンテンツ操作を行う場合もある。
メディア・サーバ110によってアクセス可能となる遠隔コンテンツの別の例として、電子番組ガイド(EPG)サービス117がある。EPGサービスは、インターネット106に接続しているサーバ115によって提供することができる。一般に、EPGサービス117は、ローカルおよび/または遠隔のコンテンツ・プロバイダから入手可能なコンテンツのリストを提供する。例えば、ケーブルテレビ・プロバイダが、所定の日に放映するローカル・ケーブルテレビの番組を記載した、インターネット・アクセス可能なEPGサービス117を有する場合がある。EPGサービス117は、専用のコントロール/レンダリング・デバイス(例えば、セット・トップ・ボックスなど)によってアクセス可能であり、コンピュータあるいは「スマート」リモート・コントローラといった汎用のコントロール・デバイスによってもアクセス可能である。EPGサービス117には、コントロール・ポイント114および/またはレンダリング・デバイス112から直接アクセスすることも可能ではあるが、EPG117がメディア・サーバ110によってUPnPサービスとして提供されれば、EPGサービス117は、UPnPネットワーク104にとってさらに有用になるであろう。
メディア・サーバ110の役割を担うデバイスとしては、音楽および映像用パーソナル・レコーダー(例えば、PVRなど)、家庭用コンピュータ、デジタル再生デバイス(例えば、CD、DVD、DATなど)、ネットワーク・サービス(例えば、インターネット・ラジオなど)、および、その他の類似するデバイスを挙げることができる。しかし、当然のことながら、メディア・サーバ110は、UPnP AVネットワーク用の論理上の抽象概念であり、データを提示する機能を持つあらゆるデバイスが、メディア・サーバ110として使用され得る。
メディア・レンダラ112は、ユーザが、メディア・サーバ110上で入手可能なデータを利用および/または知覚できるようにするデバイスである。メディア・レンダラ112は、エンドユーザに有用なあらゆるデータの変換および/または表示を行うことができるが、一般的なメディア・レンダラとして挙げられるのは、オーディオおよびビデオの再生装置である。メディア・サーバ110とメディア・レンダラ112の相互作用は、コントロール・ポイント114によって制御することができる。コントロール・ポイント114は、一般に、UPnPネットワーク104上のデータ転送の側面を管理するためのユーザによる操作が可能なユーザ・インターフェース116を備えている。コントロール・ポイント114は、データの発信元および送信先の選択に使用することができ、再生の制御(例えば、一時停止、巻き戻しなど)、再生の調整(例えば、音量、明るさなど)をはじめ、ユーザが選択可能なその他のデータ・トランザクション関連機能を提供するのに用いられる。
当然のことながら、ローカル・ネットワーク環境102は、任意の数のメディア・レンダラ112およびコントロールポイント114に対応可能である。ここでは説明のために、メディア・レンダラ112およびコントロールポイント114の双方、ならびにユーザ・インターフェース116を有する、1つのエンドユーザ・デバイス118を示す。ユーザ・デバイス118は、UPnPネットワーク104によって複数のメディア・サーバ110にアクセスするようになっている。標準的なUPnPネットワーク104においては、ユーザ・デバイス118は、ピアツーピアの方法で直接メディア・サーバ110に接続することができる。具体的には、ユーザ・デバイス118は、サーバ110上で入手可能なコンテンツを発見するために、メディア・サーバ110に対するリッスンおよび/または問い合わせを行うことができる。UPnPメディア・サーバ110上で入手可能なコンテンツを列挙するタスクは、サーバ110上で作動しているコンテンツ・ディレクトリ・サービス(CDS)によって行うことができる。例えば、メディア・サーバ120、124が、CDS122、126をそれぞれ備えていれば、これによって、関連サーバ120、124上に格納されているか、および/またはサーバ120、124を介してアクセス可能なコンテンツをデバイスが発見して使用することが可能になる。
CDSにより、ユーザ・デバイス118(および他のUPnPデバイス)は、メディア・サーバ110上のコンテンツを閲覧し、個々のコンテンツ・オブジェクトに関する詳細な情報を得ることが可能になる。CDSは、「urn:schemas−upnp−org:service:ContentDirectory:1」で特定されるUPnPサービス・テンプレートとして設けられるが、ここで数字「1」は、最新バージョンを表している。CDSの仕様は、CDSによりアクセス可能なコンテンツに関して、オブジェクト指向分類を採用している。CDSのデータ項目はすべて「オブジェクト」基底クラスから派生したものである。また、CDSの仕様は、「オブジェクト」を直接継承する2つのファーストレベル・クラスを定義している。この2つのファーストレベル・クラスの内、第1のクラスは、「アイテム」とされている。アイテムには、歌およびビデオクリップといった個別のコンテンツ要素が含まれる。CDSの仕様で定義されているもう1つのファーストレベル・クラスは、「コンテナ」クラスである。コンテナは、プレイリストおよびフォトアルバムなど、アイテムのコレクションを表す。アイテムおよびコンテナのオブジェクトを用いているCDSを介すことで、ほとんどあらゆる種類のコンテンツにアクセスし、それを制御することが可能となる。CDSによって提供される特殊でかつ有用なコンテンツ・オブジェクトの多くを、上述の2つのファーストレベル・クラスを継承するものとすればよい(例えば、「AudioItem」など)。
CDSは、「閲覧」および「検索」といった探索機能を備えていて、これによりデバイスが、メディア・サーバ110上に保存されている個々のデータ・オブジェクトを発見できるようになる。さらに、CDSは、新しいオブジェクトをメディア・サーバ110内に、挿入/作成できるようにする機能も備えている。一旦CDSにデータ・オブジェクトが置かれると、そのオブジェクトに組み込まれたメタデータを使用することによって、レンダラ・デバイス112を介してコンテンツの位置を特定することができる。例えば、メタデータとしては、メディア・サーバ上に位置する1つのファイルを指し示す、ユニバーサル・リソース識別子(URI)が含まれているとよい。標準規格のコンテンツ探索方法(すなわち、CDS)を使うことによって、デジタル・コンテンツの保存、取り出し、変更およびレンダリングの各工程を、様々なUPnPデバイスによって行うことが可能となる。UPnP自体が標準化の基盤となるものなので、各デバイスが異なるベンダーの製品であって、異なるオペレーティング・システムを採用していても、これらのデバイスが前述のような動作を首尾よく連絡しあうことができる。
当然のことながら、最近のユーザは、メディア・サーバ110の役割を担う多種多様なソースを有する可能性がある。例えば、メディア・サーバとしては、テレビ番組を保存するパーソナル・ビデオ・レコーダー(PVR)、各種データを保存するパーソナル・コンピュータ、および、音楽を保存し、その音楽をUPnPネットワーク104全体で共有させることのできるMP3プレーヤーを挙げることができる。UPnPメディア・サーバ110を使用することの利点の1つは、ローカル環境102の全域にわたって異なる位置にある多種多様なデバイスが、メディア・サーバ110に保存されたコンテンツにアクセス可能になることである。従って、手軽に持ち運びのできる携帯電話またはPDAなどのユーザ・デバイス118は、コントロール・ポイント114として理想的である。携帯可能なユーザ・デバイス118が、理想的なレンダリング・デバイス112となる場合も多い。
携帯可能なユーザ・デバイス118がメディア・サーバ110の提供するデータにアクセスするためには、デバイス118は、複数のCDS(例えば、CDS122、126など)と交信しなければならない。当然のことながら、それぞれのCDSが、何千というコンテンツ・オブジェクトのリファレンスを有する可能性がある。もし、デバイス118が、多数のサーバへの問い合わせ、多数のオブジェクトの列挙、および重複するオブジェクトの特定および/または統合を行わねばならないとしたら、携帯可能なユーザ・デバイス118は、CDSにアクセスする際に、多大な帯域幅および処理能力を消耗することになるだろう。さらに、ユーザは、コンテンツの位置する具体的なサーバを知らず、それに留意することもないため、網羅的な検索を要求する。コンテンツのアグリゲータ(aggregator)は、UPnPネットワークにおいて、コンテンツの単一の表示を提供し、バーチャルCDSの検索を実行すると同時に各メディア・サーバに個別に問い合わせを行う。モバイル通信デバイスは、通常、有線のデバイスに比べて帯域幅および処理能力が限られている。従って、このように膨大なデータへ繰り返しアクセスすることを要求された場合に、有用性および性能が劣る可能性がある。こうしたデバイスが、UPnPまたは同様のネットワークを介して得られるマルチメディア・コンテンツの配分を管理するためには、ユーザ・デバイス118とメディア・サーバ110との間で、コンテンツ・ディレクトリ・データを効率的にやりとりする方法を設けることが望ましい。
図示されたシステムでは、コンテンツ・ディレクトリ・データの通信を効率化するために、コンテンツ・ゲートウェイ128を用いている。コンテンツ・ゲートウェイ128は、ユーザ・デバイス118がローカル環境において入手可能なすべてのコンテンツを発見するために使用できる、単独のアクセス・ポイントである。コンテンツ・ゲートウェイ128は、メディア・サーバ110から得られるすべてまたは一部のCDSデータを格納できる、集約CDS130を有する。コンテンツ・ゲートウェイ128は、1つにまとまったサービスを提供するので、一般に、1つの論理エントリとみなすことができる。コンテンツゲートウェイ128は、スタンドアローン・デバイスとしても、既存デバイスの周辺機器またはチップセットとしても、機能することができる。あるいは、場合によっては、コンテンツ・ゲートウェイが論理コンポーネントとなり、機能性を縮小したコンテンツ・ゲートウェイをモバイル・デバイスにも設けることができる。コンテンツ・ゲートウェイ128の物理的な実装としては、冗長型および分散型のサービス構成などの、複合的なコンピューティング構成を挙げることもできる。一方、コンテンツ・ゲートウェイ128は、ユーザ・デバイス118から見ると、UPnPネットワーク104上のコンテンツを発見し制御するのに使用可能な単一のアクセス・ポイントとなる。
コンテンツ・ゲートウェイ128は、全般的には、メディア・サーバ110を介して入手可能なコンテンツを反映させるように集約CDS130を構築し、維持管理する。コンテンツは、直接アクセスしてメディア・サーバ110からレンダリングしてもよいし、アダプテーション・エンジン132などの何らかの媒介デバイスによって処理されてもよい。アダプテーション・エンジン132は、トランスコード、ビット・レートのアップコンバート/ダウンコンバート、サービスの品質管理、転送プロトコルの変更などの、コンテンツ関連サービスを提供することができる。アダプテーション・エンジン132を介したコンテンツへのアクセスは、システム全体で取り扱うことが可能で、例えばアダプテーション・エンジン132をすべてのメディア・アクセスのプロキシとして構成することなどもできる。構成によっては、選択したコンテンツへメディア・サーバ110から直接ではなくアダプテーション・エンジン132を介してアクセスできるように、集約CDS130がコンテンツの場所を記述するURIを変更する場合もある。
メディア・サーバ110にあるオリジナルのエントリを複写および/または参照して集約CDS130のエントリとすることもできる。メディア・サーバ110は、積極的にクエリを受け付け、コンテンツ・ディレクトリ・データを見つけるようにしてもよい。集約CDS130のエントリについては、メディア・サーバ110から送られるSSDPの通知メッセージを受動的にリッスンすることにより、追加および/または補足を行うこともできる。コンテンツ・ゲートウェイ128は、集約CDS130を構築するために、コンテンツ発見テクニックのあらゆる組み合わせを使用することができる。
ここで、図2Aを参照すると、本発明の実施形態によるCDSエントリの単純な集約が示されている。この例では、3つのメディア・サーバ202、204、206が、それぞれCDS208、210および212を備え、互いに無関係に維持管理している。
CDS208、210、212によって記載されるコンテンツは、それぞれ関連するデバイス202、204、206上に置かれる場合もあり、または、デバイス202、204、206を介してアクセスするどこか他の場所に格納されている場合もある。コンテンツ・ゲートウェイ214は、CDS208、210、212からエントリを収集し、集約CDS216へと統合する。
コンテンツ・ゲートウェイ214は、集約CDS216を形成する際に、コンテナおよびアイテムを別々に扱うことができる。集約CDS216がCDS208、210、212に載っているアイテムだけを取り込むようにするために、元のCDS208、210、212に設けられたコンテナ構造を捨てることもできる。あるいは、集約CDS216は、CDS208、210、212それぞれのコンテナ階層を完全に複製することもできる。例えば、CDS208、210、212それぞれのトップレベル・コンテナを、集約CDS216においても、トップレベル・コンテナとすることができる。また別の変形例としては、集約CDS216において、メディア・サーバ202、204、206それぞれのために、専用のトップレベル・コンテナを形成することもできる。そうすれば、メディア・サーバ202、204、206各々から得たCDSデータを、集約CDS216上の、各々のトップレベル・コンテナに収納することができる。基盤となった関連CDS208、210、212のコンテナ階層は、集約CDS216のそれぞれのトップレベル・コンテナに残してもよいし残さなくてもよい。
多くの場合、2つまたはそれ以上のメディア・サーバが、類似または同一のエントリを有する可能性がある。集約CDS216は、別々のCDS208、210、212から得られる同一のデータ・エントリに対処するのに、様々なスキームを用いることができる。以下の考察を進めるために、CDS208、210、212、216は、アイテムしか有しないものと仮定する。しかし、当然のことながら、アイテムについて述べる原理を用いて、コンテナを組み合わせて統合し集約CDSにすることも可能である。
図示されている例において、メディア・サーバ202、204、206それぞれにあるエントリ220、222、224は、同一のものと仮定する。CDSエントリの類似性または同一性は、多様な方法により定義できる。場合によっては、ユーザの選択、設計目標、および関与するメディアの種類などの要因によって、類似/同一に関する異なった定義が必要となることもある。類似性は、例えば、タイトル、ソースのファイル名、URI、タイム・スタンプ、ファイル・サイズ、ハッシュ値、CDDB(商標)のような外部データベース識別子などの、任意の組み合わせを比較して判断することができる。エントリがコンテナの場合には、コンテナ名、コンテンツ、および階層的位置が、CDSエントリを統合する際に検討される関連特性となる。
図2Aの集約CDS216は、単純な組み合わせを使って同一/重複データを処理している。例えば、同一のエントリである220、222、224は、集約CDS216ではそれぞれエントリ226、228、および230として示されている。これらのエントリは、同一のタイトルおよび/またはメタデータを用いてユーザ・デバイス218に提示するか、または、異なるメディア・サーバに由来するが同一と判断されることを明示する注釈を付することができる。
図2Aに示した集約スキームでは、論理上は、ユーザ・デバイス218がメディア・サーバ202、204、206のエントリ全件にアクセス可能であるため、CDSコンテンツを最大限に管理することができる。しかし、ホーム・ネットワークにおけるライブラリ・サイズが大きくなるにつれ、制御量よりも、使いやすさにより重点が置かれるようになっているといえる。アクセスを容易にするために重要な1つの側面は、ユーザが直面する選択肢の数を減らすことである。つまり、ユーザが特定の歌を聴きたいと望む場合に、ユーザはその歌がどのメディア・サーバに由来するかは意に留めないだろう。本発明の実施形態によりユーザ・アクセスの容易化を実現するCDS集約スキームを、図2Bに示す。
メディア・サーバ202、204、206およびCDS208、210、212のそれぞれの構成は、図2Bにおいても図2Aと実質的に同じである。しかし、別の集約CDS232が、ユーザ・デバイス218にエントリを提示する前に、同一のエントリを結合するようになっている。例えば、同一のエントリである220、222、224は、単一のエントリ234として提示される。コンテンツ・ゲートウェイ214が、重複しているエントリ220、222、224のローカル・リファレンス226、228、230をなお保持することも可能であるが、これらのリファレンス226、228、230は、ユーザからは隠されている。
エントリを図のように集約CDS232に統合するとき、ユーザがCDS232の閲覧または検索を行うと、コンテンツ・ゲートウェイ214は、内部リファレンス226、228、230のいずれをユーザに提示するのかを、選択しなければならない。コンテンツ・ゲートウェイ214は、メディア・サーバ202、204、206の統計的なデータを追跡することにより、サーバのアップ・タイムおよび帯域幅などの要素を使用して、226、228、230の中からCDSエントリ234として使うのに最適なリファレンスを判断することができる。さらに、コンテンツ・ゲートウェイ214は、内部リファレンス226、228、230の状態を維持管理する必要もある。例えば、エントリ222が音楽サーバ204から削除された場合、関連するリファレンス228もコンテンツ・ゲートウェイによって削除される。もし、削除された内部リファレンス228が単一エントリ234を提示するのに使用されていたとしたら、残りのリファレンス226、230のいずれかが、単一CDSエントリ234として使用されることになる。
当然のことながら、ゲートウェイ214において重複データ・エントリを統合することは、ユーザ・デバイス218によって使用される帯域幅を減らすことにも寄与する。例えば、ユーザ・デバイス218が、互いに無関係のCDS208、210、212のそれぞれに接続しなければならなかったとしたら、ユーザ・デバイス218は、これらCDS208、210、212の内部でコンテンツが変更される度に、SSDPのマルチキャスト・メッセージによって通知を受けなければならない。ところが、変更されたコンテンツが別のもう1つのメディア・サーバにあるコンテンツと重複している場合は、この変更についてユーザ・デバイス218に伝える必要がないかもしれない。あるいは、前述の例を使うと、エントリ222が音楽サーバ204から削除されたとしても、関連する内部リファレンス228が集約CDS232で単一エントリ234として使用されていなかったら、この削除についてユーザ・デバイス218に伝える必要はないのである。
重複CDSデータの統合は、UPnPコントロール・ポイントのユーザに対して提示されるデータの量を減らす1つの方法である。しかし、複数のメディア・サーバからエントリを収集している集約CDSのサイズは、重複エントリが統合されていても、多数のコントロール・ポイント・デバイスが容易に使えるようになるには、まだ大きすぎるといえる。多くの用途に理想的なコントロール・ポイント・デバイスは、小型で、携帯可能で、無線データ接続を使用しているものだろう。このような携帯可能なデバイスは、ユビキタス・コンピューティング環境において明らかに有利である。しかし、同時にこうしたデバイスでは、表示器は小さく、ボタンおよびコントローラのスペースは限られ、ネットワークおよび処理用の帯域幅も限られている。したがって、コンテンツ・ゲートウェイを介してそのようなデバイスに送られるCDSデータの量を、さらに制限することが望ましい。
コントロール・ポイントに送られるデータの量を制限する1つの方法は、UPnPまたは同様のネットワーク上でアクセス可能なあらゆるデータが、全コントロール・ポイントからアクセスされる必要があるとは限らないことを、認識することである。例えば、コントロール・ポイントがPDAまたは携帯電話の場合、ユーザは、デジタル・オーディオといった特定の種類のデータを受信することにのみ関心を持っている可能性がある。従って、ユーザが、デジタル・オーディオに加えて豊富なデジタル・ビデオのコレクションを有しているような場合、コントロール・ポイントが集約CDSにアクセスしたときにビデオ・データを提示することは、無意味となるだろう。さらに、もし、一部のオーディオ・ファイルが、レンダラの無線帯域幅を超えるデータレートでエンコードされている場合(かつ、そのオーディオ・ストリームをリサンプルする媒介装置は利用できないと仮定する場合)、レンダラが使用できないのであれば、これらのファイルをCDSを介して提示する意味はないだろう。上述およびその他の理由から、カスタマイズされたプロファイルをコンテンツゲートウェイ上に格納することは有益であるといえる。カスタム・プロファイルを使うと、集約CDSを介してユーザ・デバイスに提示するデータを調節することができる。
本発明の実施形態に従ってユーザ・プロファイルを集約CDSと一緒に利用する構成を、図3Aに示す。コンテンツ・ゲートウェイ302は、UPnPネットワーク上のメディア・サーバを介して入手可能なコンテンツ・オブジェクトの統合リストを提供できる集約CDS304を備えている。集約CDS304は、ユーザ・デバイス306および308で例示するように、複数のユーザ・デバイスからアクセス可能である。ユーザ・デバイス306および308は、少なくともUIおよびUPnPコントロール・ポイントを備えていればよく、専用のレンダリング・ハードウェアを備える場合もある。
コンテンツ・ゲートウェイ302は、様々なコントロール・ポイント・デバイスに関連するプリファレンスを保存し、それにアクセスして使用するための、プリファレンス・モジュール310を有する。図示された例においては、プリファレンス設定312がユーザ・デバイス306に関連している。ユーザ・デバイス308は、プリファレンス・モジュール310に2つのプリファレンス設定314および316を有する。ユーザ・デバイス308と関連したプリファレンス314および316は、デバイス308のモード318、320にそれぞれ関連付けられている。モード318と320は、アプリケーション、ユーザ、状態、ハードウェア・コンフィギュレーション、ソフトウェア・コンフィギュレーション、あるいはデバイスが集約CDS304のデータにアクセスする上で関係するその他のあらゆる面において、それぞれ別個のものに関連してもよい。
一般に、プリファレンス・モジュール310は集約CDSと相互に作用し、選択されたデバイスがCDSを閲覧または検索する際に、そのデバイスに提示するデータを制限する。例えば、プリファレンス312がデバイス306に関連しているので、その結果、デバイスに公開されるのは、多くても、CDSエントリ322、324および326となる。このため、ユーザ・デバイス306が閲覧のアクションを起動すると、その結果、列挙されるのはせいぜい図示されているサブセット328である。同様に、デバイス308が、モード318または320のいずれを利用するかによって、サブセットの330および332をデバイス308に提示することができる。
プリファレンス・モジュール310は、デバイスの任意の特性の組み合わせに基づいてCDSエントリの公開を規制/許可することができる。例えば、ユーザ・デバイス308のモード318および320は、デバイス内の異なるレンダリング・デバイスに関与していてもよい。モード318がオーディオ・レンダラの使用に関与し、モード320がオーディオ/ビデオ・レンダラに関与していてもよい。別の例では、モード318と320が、異なるユーザに適応している場合もある。また、例えば、ある種のユーザ(例えば、子供など)が集約CDS304上にある特定のアイテムへアクセスする機能を、自動的に規制することが望ましい場合もある。こうした規制は、手動で(例えば、プリファレンス・モジュール310に制限リストを組み込むなどにより)適用することもでき、自動で(例えば、CDSエントリに入っているコンテンツ評価機能などにより)適用することもできる。
別の用法のシナリオとしては、プリファレンス・モジュール310を活用して、CDSのデータの通信を制限することも可能である。例えば、ユーザ・デバイス306が、静止画像(例えば、写真など)を表示する機能を備えた携帯可能なオーディオ・レンダラであると仮定する。ユーザが音楽および画像のランダム・プレイリストを作成したかったら、デバイス306に歌および写真のリストをダウンロードし、再生用にそのリストをランダム化することになるだろう。もしリストに5000件の歌および3000件の画像のエントリが含まれていたら、リストをダウンロードするには長時間かかり、保存するためには許容し難い量のメモリが必要となるだろう。ところが、デバイス306に関連するプロファイル312ならば、閲覧のアクションに対して、短くかつランダムに作成されたリスト(例えば、5件の歌と5件の写真というように)がデバイス306に提示されたように設定することが可能である。集約CDS304全体の全くのランダム再生を提供する場合、ユーザ・デバイス306が、ただ新たにCDSの閲覧を実行すれば、「再生中」および「次に再生」の歌および写真のみの短いリストが入手できるであろう。デバイス306は、時々閲覧アクションを繰り返すようにすれば、必要に応じてリストに追加を行うことができるであろう。コンテンツ・ゲートウェイ302は、ランダム化されたリストを提供するに当たって繰り返しが生じないように、最新のコンテクストを追跡して把握するように(例えば履歴など)設定することが可能である。
さらに、プリファレンス・モジュール310を使うと、集約CDS304を介してデバイスに送られるデータを修正することもできる。本発明の実施形態に従った、CDSの提示を修正するためのプリファレンス・モジュール310の使用例を、図3Bに示す。プリファレンス・モジュール310は、それぞれユーザ・デバイス306および308に関連する付加的なプリファレンス・データ312Bおよび314Bを有する。プリファレンス・データ312Bおよび314Bには、集約CDS304から引き出したオブジェクト記述の書式を調整するために使用される変換データなどが挙げられる。
プリファレンス・データ312Bおよび314Bには、例えばオブジェクト322に関連する補足データ336および338など、集約CDS304のコンテンツ・オブジェクトに追加される補足データが含まれる場合もある。例えば、オブジェクト322が歌を記述する場合、デバイス306によるテキスト読み出し用に、補足データ336に歌詞を入れることができ、デバイス308がビデオ・ディスプレイに使用するために、補足データ338にアルバム用カバーアートのリファレンスを入れることもできる。補足データ312Bと314Bは、プリファレンス別のルールとオブジェクト別の補助的データの両方の形態をとる書式設定および補足用のデータの各種組み合わせを含んでもよい。
書式設定ルールの一例を挙げると、プリファレンス・モジュール310は、タイトルを縮めたり、特定の文字を除いたり、オブジェクト記述のデータ・サイズを制限したり、大文字と小文字とを入れ換えたりすることができる。こうしたルールは、一旦デバイス用に定義すると、そのデバイスによるCDSアクセスのすべてに適用することができるだろう。補足データの作成およびCDSエントリへの関連付けは、手作業でも自動でも行うことができる。例えば、ユーザは、プリファレンスに基づいて手作業で歌に評価を付ける(例えば、1つ星から5つ星というように)ことができる。それぞれの歌に対し、対応する評価値がデータ・ストア334の中に収納されることになるであろう。歌のメタデータがアクセスされるたびに、プリファレンス・モジュール310(または他のソフトウェア)によってデータ・ストア334から対応する評価値が取り出され、集約CDS304によってリストの形になって提供される。
補足データの作成およびCDSエントリへの関連付けは、自動で行うこともできるであろう。一例を挙げると、アルバム用カバーアートの入ったグラフィック・ファイルを、格納されている音楽ファイルに関連させればよい。音楽ファイルとグラフィック・ファイルとの間の関連付けは、音楽ファイルに埋め込まれていても、またはデータベースに入っていてもよい。歌へのアクセスが行われるたびに、プリファレンス・モジュール310は、上述の関連性を使用して、その歌のCDSメタデータの中に、適切なアルバム用カバーアートを指し示すエントリを作り出すことができる。この方法によって、再生中の音楽をシームレスにアルバムアートと同期させることができる。コンテンツ・ゲートウェイ302における同期化は、音楽および/またはアルバムアートを有するメディア・サーバがこの機能をサポートしてないとしても、実行可能である。
本発明の実施形態に従った、補足データの変換および追加に関するさらに詳細な例を図4に示す。この例では、コンテンツ・ゲートウェイ402は、3つのメディア・サーバ404、406および408からCDSエントリを受け取る。集約CDS410が、メディア・サーバ404、406、408から得たデータを統合し、そのデータを一貫した形態でユーザ・デバイス412に提示する。一貫した形態でデータを提示するには、集約CDS410の中のエントリ/オブジェクトに関連するデータ要素の追加、削除、修正を、任意に組み合わせて行う場合がある。
この例では、CDSエントリはすべてオーディオ・アイテムであり、特定の音楽トラックに入っている。メディア・サーバ404、406、408は、それぞれ異なる方法を用いて、音楽トラックに付随するユーザの評価を記録する。メディア・サーバ404は、1から100までの整数を利用して評価をパーセントで表した「ユーザ評価(userRating)」記述414を用いる。メディア・サーバ406は、1から5までの整数である「星評価(starRating)」記述416を用いる。メディア・サーバ408は、いかなるユーザ評価も設けていない。
当然のことながら、ユーザ評価などのメタデータをユーザ・デバイス412に提供する際に、表示を統一的にすることは有益である。エンドユーザは、プレイリストを作成したり、ランダム・トラックにフィルターをかけたりすることに上述の評価を使用したがる場合がある。さらに、ユーザが、再生中に、評価の追加または修正を望む場合もある。しかし、もし異なるメディア・サーバが異なる評価スキームを使用しているとしたら、この作業は複雑なものになる。通常は、ユーザが、それぞれのメディア・サーバにおけるそれぞれの評価を手作業で変更しなくてはならないだろう。ところが、コンテンツ・サーバ402には、別々の評価を補足データ・ストア418に保存するような設定を行うことが可能である。補足データ・ストア418は、ユーザ・デバイス412に対してコンテンツ評価を一貫した形態で提示するのに用いることができ、メディア・サーバ404、406、408上で使用されている多様な評価システムを変換するように設定することもできる。
補足データ・ストア418に保存された評価は、ユーザの希望する、および/またはユーザ・デバイス412に適するいかなるスキームにも適応させることができる。ユーザ・プリファレンス/変換データベース420は、多様な評価スキームを分析し、適切な変換を適用するために用いることができる。この例では、集約CDS410により作成されたCDSリスト422は、1から10の整数である「統一的評価(uniformRating)」値を備えている。このため、構成要素424に示されるように、メディア・サーバ404から受け取った評価414は、「60」から「6」へと変換される。メディア・サーバ408から受け取って変換されたエントリである「歌3(Song3)」には「統一的評価」要素426が含まれており、その値は「−1」に設定されているが、これは評価が付けられていないことを示している(評価が付いていないことを示すには、ゼロまたは文字列など、他の値を用いることもできる)。ユーザが、ユーザ・デバイス412を介してこの評価426を後から修正した場合には、補足データ・ストア418にこの新しい評価値を保存することができる。その後は、集約CDS410へアクセスをすると、新しい評価を引き出すことができるようになる。同様に、もう1つ別の評価424に対する変更についても、データ・ストア418内で変更が行われるだろう。後者の場合には、評価値は、メディア・サーバ404においても維持管理されている。このため、ユーザ・デバイス412において加えられた変更を、変換データベース420の決定する逆変換によって、発信元であるメディア・サーバ404にも適用させることができる。
図4で解説されているような補足データの変換および保存は、集約CDS410にあるいかなるメタデータにも応用可能である。このような変更/補足の対象となるメタデータとしては、タイトル、作成者、ネットワークパス名、URIなどが挙げられる。変換モジュール420は、整合性の維持、不正形式のXMLドキュメントの防止、帯域幅の削減などのために、不使用または不要である要素を、CDSエントリから削除することもできる。
上述の例においては、集約CDSが、ローカル・メディア・サーバからのすべてのエントリを収集し、記録/参照するものとしてもよい。しかし当然のことながら、構成によっては、集約CDSはメディア・サーバ・エントリのサブセットのみをキャッシュする。本発明の実施形態に従った、メディア・サーバ・エントリのサブセットのみをキャッシュする集約CDS500を、図5に示す。集約CDS500は、複数のメディア・サーバ504、506、508に接続するコンテンツ・ゲートウェイ502に含まれている。メディア・サーバ504、506、508は、それぞれCDS510、512、514を備えている。
CDS510、512、514にアクセスするとき、コンテンツ・ゲートウェイ502は、メディア・サーバ504、506、508から得られるエントリをキャッシュすべきかどうかを判断するのに、プリファレンス・モジュール516を利用する。プリファレンス・モジュール516は、固定記憶域518にアクセスすることで、どのエントリをキャッシュするかを判断することができる。プリファレンス・モジュール516によってキャッシュの対象に選ばれたエントリは、すべて集約CDS500に置かれる。従って、集約CDS500は、メディア・サーバ504、506、508から入手可能なエントリのサブセットを備えることになる。例えば、集約CDSは、メディア・サーバ504から入手可能なエントリ520は、キャッシュしない。
集約CDS500にあるエントリのサブセットについては、その全体をユーザ・デバイス522に提示することができ、あるいは、より小規模にしたサブセットをプリファレンス・モジュール516に基づいて提示することも可能である。集約CDSのエントリは、何も変更を加えずに提示することもでき、あるいは、本明細書中ですでに述べたように、集約CDSエントリを変換してから、ユーザ・デバイス522に提示することもできる。同様に、ユーザ・デバイス522と関連するプリファレンスを使用して、重複するCDSエントリをさらに制限/制御して、デバイス522に提示することも可能である。
コンテンツ・ゲートウェイ502は、当該技術分野において周知のハードウェアおよびソフトウェアのどんな組み合わせを用いても実現可能である。コンテンツ・ゲートウェイ502は、スタンドアロン・デバイス、チップ・セット、プロセッサ実装サービスとして実現されてもよく、または、コンピュータ、ルータ、無線アクセス・ポイント、セット・トップ・ボックスなどの他の電子機器の一部として備えられてもよい。図6は、コンテンツ・ゲートウェイの機能を設けるのに適した本発明の実施形態による実施例として、コンピューティング機構600を示している。
コンピューティング機構600は、コンピューティング構成601を備えている。コンピューティング構成601は、カスタマイズされた、あるいは汎用の、電子コンポーネントを備えることができる。コンピューティング構成601には、ランダム・アクセス・メモリ(RAM)604および/またはリード・オンリ・メモリ(ROM)606と接続可能な中央処理装置(CPU)602が備わっている。ROM606には、プログラマブルROM(PROM)、消去可能なプログラマブルROM(EPROM)など、様々な種類のストレージ・メディアが含まれる。処理装置602は、入/出力(I/O)回路608を通じて、内部および外部コンポーネントとやりとりすることが可能である。当該技術分野で周知のように、処理装置602は、ソフトウェアおよび/またはファームウェアの命令に従って様々な機能を果たす。
コンピューティング構成601は、ハードおよびフロッピー(登録商標)ディスク・ドライブ612、CD−ROMドライブ614をはじめ、例えばDVDなど情報の読み込みおよび/または保存のできるその他のハードウェアを含む、1つまたは複数のデータ・ストレージ・デバイスを備えることができる。一実施形態においては、本発明に従ったオペレーションを実行するためのソフトウェアを、CD−ROM616、ディスケット618または情報を記憶して携帯可能なその他の形式のメディアに格納されて分配していてもよい。これらのストレージ・メディアは、CD−ROMドライブ614、ディスク・ドライブ612などのデバイスに挿入し、読み取ることができる。ソフトウェアは、インターネットなどのネットワーク経由で電子的にダウンロードされるなど、データ信号を介してコンピューティング構成601に送信されてもよい。コンピューティング構成601は、ユーザとの相互作用のためのユーザ入出力インターフェース622と連結することもできる。ユーザ入出力インターフェース622としては、マウス、キーボード、マイクロフォン、タッチパッド、タッチスクリーン、音声認識システム、モニタ、LEDディスプレイ、LCDディスプレイなどが挙げられる。
コンピューティング構成601は、ネットワークを介して他のコンピューティング・デバイスと接続することができる。具体的には、コンピューティング構成は、UPnPネットワーク626と相互に作用するためのネットワーク・インターフェース624を備えている。ネットワーク・インターフェース624としては、ドライバ、プログラム、およびプロトコル・モジュールなどの、ハードウェアおよびソフトウェア・コンポーネントが挙げられる。ネットワーク・インターフェース624は、UPnPネットワーク626を介してデータ転送を行うように設定されているCDS収集モジュール628および集約CDSモジュール632によって利用される。
コンピューティング構成601のメモリは、CDS収集モジュール628および集約CDSモジュール632のタスクを実行するためのプロセッサ実行可能命令を記憶するのに使用することができる。例えば、CDS収集モジュール628は、パス634で示されるように、UPnPネットワーク626を介して複数のメディア・サーバ632に接続するようになっている。CDS収集モジュール628は、メディア・サーバ630のそれぞれのCDSデータ・エントリを収集し、監視し、修正する。このCDSデータは、標準的なCDSアクセス機能(例えば、閲覧、検索など)を用いてメディア・サーバ630から収集することができる。CDS収集モジュール628により集められたCDSデータ・エントリは、集約CDSモジュール632によって使用される。
集約CDSモジュール632は、コンテンツのメタデータを構築して維持管理し、パス638で示されるようにコントロール/レンダラ・デバイス636へと配信する。集約CDS632は、標準的なCDSサービス・インターフェースを利用することもでき、もしくは、カスタマイズされたUPnPサービスを実行することもできる。例えば、集約CDS632は、標準CDSサービスと実質的には同じ「集約CDS」サービスをアドバタイズするが、すべてのコンテンツ・ディレクトリ・サービスについては単独の接続ポイントとして機能することもできる。コントロール/レンダラ・デバイス636は、このカスタムUPnPサービスを利用するための補足的または代替的なコントロール・ポイント・インターフェースを備えることができる。
集約CDS632は、標準CDSでは入手できない拡張機能をサービスとして提供することができる。例えば、閲覧および検索の機能自体は、標準CDSのそれらと似たものだろう。しかし、集約式の閲覧および検索では、特定のエンティティを識別するために使用するプロファイル識別子640を介在させることができる。プロファイル識別子640は、コントロール/レンダラ・デバイス636に配信されるエントリを調節するために、プリファレンス/変換モジュール642によって使用されてもよい。プロファイル識別子640は、デバイス、モード、ユーザ、および、集約CDS632から提供されるデータの調節に関するその他の特性の各種組み合わせを識別することもできる。
プロファイル識別子640は、集約CDS632およびプリファレンス/変換モジュール642が維持管理およびアクセスする、プロファイル・オブジェクト644と関連付けられてもよい。プロファイル識別子640は、集約CDS632のアクセス機能(例えば、閲覧など)にとっての、必須または任意のパラメータとなることができる。プロファイル識別子640およびプロファイル・オブジェクト644は、CDS収集モジュール628によって使用されてもよい。例えば、入手可能なメディア・サーバデータのサブセットのみを集約CDS632がキャッシュする設定では、検索され、および/または集約CDS632へ転送されるデータを、CDS収集モジュール628が、プロファイル・オブジェクト644および/またはプリファレンス・モジュール642に基づいて制限することができる。
UPnPネットワーク上では、多種多様な装置がメディア・サーバ、メディア・レンダラ、およびコントロール・ポイントの役割を果たすことができる。モバイル・デバイスは、コントロール・ポイントとして特に有用であり、メディア・サーバおよびレンダラとしても使用可能である。ここで、図7を見ると、オペレーションが実現可能となる典型的なモバイル・コンピューティング構成700の本発明の実施形態による例が示されている。当業者には、例示のモバイル・コンピューティング構成700が、このようなモバイル・デバイスに関連付け可能な一般的機能の典型的な一例にすぎないこと、有線のコンピューティング・システムも、このようなオペレーションを実行するための同様のコンピューティング回路を備えることが、理解されよう。
図のモバイル・コンピューティング構成700は、UPnP AVネットワークにおいて、少なくともメディア・レンダラおよびコントロール・ポイントの両者の機能を果たすのに適していればよい。モバイル・コンピューティング構成700は、マイクロプロセッサ、縮小命令セット・コンピュータ(RISC)、またはその他の中央処理モジュールなどの、処理/制御ユニット702を備えている。処理ユニット702は、単一のデバイスでなくてもよく、1つまたは複数のプロセッサを有することができる。例えば、処理ユニットには、マスター・プロセッサ、およびマスター・プロセッサと通信するように接続された関連スレーブ・プロセッサなどがある。
処理ユニット702は、構成700の基本的な機能を制御する。関連付けられた機能が、命令として、プログラム・ストレージ/メモリ704に格納されるとよい。本発明の一実施形態によれば、ストレージ/メモリ704に関連付けられたプログラム・モジュールが、不揮発性の電気的消去可能なプログラマブル・リード・オンリ・メモリ(EEPROM)、フラッシュ・リード・オンリ・メモリ(ROM)、ハードドライブなどに格納され、それにより、モバイル端末の電源が落ちたときに情報が失われないようになっている。従来のモバイル端末オペレーション、および本発明によるオペレーションを実行するための関連ソフトウェアが、例えば、インターネットおよび中間の無線ネットワークといった1つまたは複数のネットワークを通じて電子的にダウンロードされるなど、データ信号を介してモバイル・コンピューティング構成700に送信されることも可能である。
プログラム・ストレージ/メモリ704は、モバイル・コンピューティング構成700上の機能と関連する機能およびアプリケーションを実行するためのオペレーティング・システムを備えてもよい。プログラム・ストレージ704としては、1つまたは複数のリード・オンリ・メモリ(ROM)、フラッシュROM、プログラマブルおよび/または消去可能なROM、ランダム・アクセス・メモリ(RAM)、加入者インターフェース・モジュール(SIM)、無線インターフェース・モジュール(WIM)、スマートカード、ハードドライブ、またはその他の取り外し可能なメモリ・デバイスが挙げられる。
モバイル・コンピューティング構成700は、ネットワークでデータ交換を行うために、処理/制御ユニット702に接続したハードウェアおよびソフトウェア・コンポーネントを備えている。モバイル・コンピューティング構成700は、有線または無線データ接続のあらゆる組み合わせを維持管理するように、多重ネットワーク・インターフェースを備えていてもよい。具体的には、図のモバイル・コンピューティング構成700は、ネットワークでのデータ交換を行うために、無線データ送信回路を備えている。
この無線回路には、アナログ・デジタル(A/D)変換、デジタル・アナログ(D/A)変換、音声符号化/復号化、暗号化/暗号解読、エラーの検出および修正、ビット・ストリーム変換、フィルタリングといった、様々なファンクションを実行するために導入されたデジタル信号プロセッサ(DSP)706などが含まれる。トランシーバ708は、一般にアンテナ710と接続しており、無線デバイスに関連している送信無線信号712を発信し、着信無線信号714を受信する。
さらに、モバイル・コンピューティング構成700は、処理/制御ユニット702に接続したUPnPハードウェア・インターフェース716を備えている。UPnPハードウェア・インターフェース716は、有線および無線の媒体を含む任意の様式のデータ送信媒体を用いて、UPnPネットワーク上で通信できる能力を備える。プロセッサ702は、モバイル端末に関連しているユーザ・インターフェース718の構成要素とも接続している。モバイル端末のユーザ・インターフェース718には、例えば、液晶ディスプレイなどのディスプレイ720、キーパッド722、スピーカ724、およびマイクロフォン726が挙げられる。当該技術分野において周知の通り、これらおよびその他のユーザ・インターフェース・コンポーネントが、プロセッサ702と接続している。また、他のユーザ・インターフェース・メカニズムを用いることも可能である。例えば、音声命令、スイッチ、タッチパッド/スクリーン、ポインティング・デバイスを使用したグラフィカル・ユーザ・インターフェース、トラックボール、ジョイスティック、およびその他のユーザ・インターフェース・メカニズムが挙げられる。
モバイル・コンピューティング構成700のストレージ/メモリ704は、UPnPネットワークで通信するためのソフトウェア・モジュールを備えていてもよい。具体的には、1つまたは複数のアプリケーション728によって、モバイル・コンピューティング構成700が、UPnPレンダラおよび/またはコントロール・ポイントとして機能できるようになっていてもよい。UPnPネットワークの構成要素へは、UPnPデータ・インターフェース730を介してアクセスできる。アプリケーション728およびUPnPデータ・インターフェース730は、集約CDSを利用するように設定されている。集約CDSへのアクセスを要求される特定の機能は、少なくとも一部が、集約CDSアクセス・モジュール732によって提供されてもよい。
集約CDSアクセス・モジュール732は、集約CDSを発見し、利用する能力を備えている。集約CDSモジュール732は、集約CDSサービスをアドバタイズしている論理UPnPデバイスを見つけ出すことができる。一旦サービスを発見すると、集約CDSモジュール732は、コンテンツ・リストを入手すべくコントロール・ポイント・アプリケーション728と連携して作動することができる。集約CDSモジュール728が、モバイル・コンピューティング構成700で利用できるプリファレンス/変換を通信してもよい。集約されたプリファレンスの処理としては、ユーザ・プリファレンス設定のためにユーザ・インターフェースを用意すること、プリファレンスに影響を与える可能性のあるシステムの状態/モードを確認すること、標準CDSへの接続と集約CDSへの接続に関するトランジション/コンフリクトに対処することなどのタスクが挙げられる。図7のモバイル・コンピューティング構成700は、本発明の原理を適用できるコンピューティング環境の代表的な例として示されている。本明細書で述べる説明により、当業者には、本発明が、現時点で周知の、および将来の、多様な他のモバイルおよび有線コンピューティング環境においても同様に利用可能であることが理解されるだろう。例えば、デスクトップのコンピューティング・デバイスには、同様に、プロセッサ、メモリ、ユーザ・インターフェース、およびデータ通信回路が備わっている。このように、本発明は、データがネットワークを介して通信可能なあらゆる既知のコンピューティング構造において利用することができる。
集約CDSで使用されるデータを本発明の実施形態により構築する手順800を、図8に示す。手順には、複数のメディア・サーバからコンテンツ・リストを収集する(802)ことを含む。これらのコンテンツ・リストは、CDSアクセスの方法を用いて積極的に問い合わせを受けてもよく、および/またはメディア・サーバから発信される更新のメッセージに基づいて受動的なデータの追加/更新を受けてもよい。集約CDSは、重複しているエントリを処理する(804)ことができる。例えば、集約CDSは、重複するエントリを単純に無視することもでき、あらゆるエントリを追加しながらも重複するエントリを差別化するデータを添えることもでき、重複しているデータを単一のエントリとして提示することなどもできる。最初の集約CDSが構築された後、データは変更に対する継続的なリッスン/問い合わせを通じて更新され(806)、続いてこうした変更に基づいて集約CDSに対する更新が行われる(808)とよい。
本発明の実施形態によりUPnPコントロール・ポイントに集約CDSデータを提供する手順900を、図9に示す。通常、手順には、集約CDSサービスをアドバタイズしているデバイスに対してコントロール・ポイントが発するリクエスト(902)が含まれる。リクエスト(902)は、発信元のコントロール・ポイントに関連する識別子を伴ってもよい。リクエスト(902)を基に、コントロール・ポイントの識別子に基づいて、提示するコンテンツのサブセットを選択する(904)。この選択(904)は、UPnPネットワークから入手可能なCDSをすべて含むCDSに関し、動的に行われることが可能である。選択(904)は、集約CDSがエントリの選択的キャッシュを有しているときなどは、リクエストを受けるより前にすでに行われていてもよい。
集約CDSは、選択されたエントリを修正(906)することもできる。修正(906)には、CDSにあるデータの追加、削除、変更、あるいはその他の変換などが挙げられる。修正(906)によって、一貫した形態のCDSオブジェクト/エントリを提供する目的を達することができ、集約されたメタデータにカスタマイズされた特性を追加することもできる。最後に、リストのサブセットが、リクエストを発したコントロール・ポイントに提示される(908)。
前述の、本発明の典型的な実施形態に関する記述は、例示および説明のために示されてきた。これは網羅的に示そうとするものではなく、開示された形態そのものに本発明を限定しようとするものではない。上述に教示した点に照らして、多様な変更および変形が可能である。本発明の範囲は、この詳細な記述によって制限されるものではなく、本明細書に添付されている請求項によって判断されるものである。