JP2007510195A - コンテンツ・ディレクトリ・サービスを用いたシステムにおける問い合わせのキャッシング - Google Patents
コンテンツ・ディレクトリ・サービスを用いたシステムにおける問い合わせのキャッシング Download PDFInfo
- Publication number
- JP2007510195A JP2007510195A JP2006530929A JP2006530929A JP2007510195A JP 2007510195 A JP2007510195 A JP 2007510195A JP 2006530929 A JP2006530929 A JP 2006530929A JP 2006530929 A JP2006530929 A JP 2006530929A JP 2007510195 A JP2007510195 A JP 2007510195A
- Authority
- JP
- Japan
- Prior art keywords
- cds
- query
- inquiry
- caching
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2812—Exchanging configuration information on appliance services in a home automation network describing content present in a home automation network, e.g. audio video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
キャッシングデバイス(70)がサーバー役の機器(MS−a)のCDSにメディアコンテンツ情報についての問い合わせ(203a)を行い、のちの検索のために結果(204a)を保存する。問い合わせ(203a)は問い合わせ装置(UI、21)からその問い合わせを実行するようにという要求(202)を受け取るのに反応して、あるいはキャッシングデバイス自身によって定式化される問い合わせに反応して行われることができる。問い合わせ装置は、要求された問い合わせの再実行よりも優先してキャッシュされた結果にアクセスすることができる。キャッシュされている結果は、問い合わせ装置(21)の要求によって、あるいは問い合わせ装置の関与なしに自動的に最新のものに維持されることができる。
Description
本発明は、コンテンツ・ディレクトリ・サービス(CDS: Content Directory Service)を使ってメディアコンテンツ情報を保存する、ユニバーサルプラグアンドプレイ(UPnP: Universal Plug and Play)アーキテクチャに従うシステムのようなシステムに関するものである。
メディアコンテンツを保存するためのデジタル記憶装置の使用は増加の一途をたどっている。メディアコンテンツの範囲は、単純なテキストファイルから、オーディオ、録画済みもしくはユーザーが録画したビデオ、放送デジタルオーディオ(たとえばインターネットラジオ)、放送デジタルビデオまたはデジタル画像(たとえばデジタル写真)といったマルチメディアコンテンツまで及びうる。
ユニバーサルプラグアンドプレイ(UPnP)は、異なるメーカーによって製造された電子機器が互いと一緒に動作できるようにする通信プロトコルである。UPnPは新規デバイスの自動検出を用いたゼロ設定(zero-configuration)すなわち「見えない」ネットワーク構成をサポートするよう設計されている。これは、デバイスが動的にネットワークに加わり、IPアドレスを取得し、自分の機能を伝え、他のデバイスの存在および機能を学ぶということを意味している。UPnPのさらなる発展形は、UPnPアーキテクチャのオーディオ・ビジュアル機器に関連した拡張を記載するUPnPオーディオ・ビジュアル(AV: Audio-Visual)アーキテクチャである。UPnP AVアーキテクチャはメディアサーバー、メディアレンダラー、コントロールポイントを定義している。
UPnP ホームネットワークのようなUPnP準拠ネットワーク内にある多くのデバイスは、当該ネットワーク内の他のデバイスがアクセスしたいさまざまな種類のコンテンツ(たとえば音楽、ビデオ、静止画像)を含む。例を挙げると、メディアサーバー機器がオーディオ、ビデオおよび静止画像のライブラリーを含んでいることがありうる。ユーザーがこのコンテンツを楽しむためには、ユーザーはメディアサーバー上に保存されているオブジェクトをブラウズして、特定のものを選択し、それが適切なレンダリング機器(たとえば音楽オブジェクトについてはオーディオプレーヤー、ビデオコンテンツについてはテレビ、静止画像については電子額縁)上で再生されるようにすることができなければならない。利便性を最大にするためには、ユーザーがこれらの操作を多様なユーザーインターフェース(UI: user interface)機器から開始できるようにすることが望ましい。多くの場合、これらのUI機器はレンダリング機器に組み込まれたUIか、あるいはリモコンユニットのようなスタンドアローンのUI機器である。ユーザーが、コンテンツを含んでいる機器と直接対話する必要なしにコンテンツにアクセスできることが望ましい。
UPnP AVアーキテクチャの主要部分の一つがコンテンツ・ディレクトリ・サービス(CDS)である。CDSは、UPnPコントロールポイント(CP: Control Point)機器がメディアサーバー(MS: Media Server)機器に保存されているコンテンツにアクセスできるようにする一組の機能を提供する。一般に利用可能な現在のCDSの記載は、ユニバーサルプラグアンドプレイ・バージョン1.0、2002年6月25日についての「コンテンツ・ディレクトリ・サービス・テンプレート・バージョン1.01(Content Directory Service Template Version 1.01)」である。コンテンツ・ディレクトリ・サービスによりクライアント(たとえばUI機器)は、サーバー機器が提供できる個々のオブジェクト(たとえば楽曲、映画、写真)の位置を特定できるようになる。たとえば、このサービスを使って提供できるものには、MP3プレーヤーに保存されている楽曲のリスト、さまざまなスライドショーをなす静止画像のリスト、DVDジュークボックスに保存されている映画のリスト、現在放送中のテレビ番組のリスト、CDジュークボックスに保存されている楽曲のリスト、PVR(Personal Video Recorder[パーソナルビデオレコーダー])に保存されている番組のリストがある。ほとんどどんな種類のコンテンツでもCDSを通じてリストできるし、CDSは複数の種類のコンテンツ(たとえばMP3、MPEG2、JPEG)を一緒にリストすることもできる。
コンテンツはUPnPコンテナオブジェクトの階層構造中に保存される。各コンテナはその中に保存されているオブジェクトのコレクションをもつ。各オブジェクトはメディアコンテンツ情報と一様リソース識別子(URI: Uniform Resource Identifier)のようなメディアコンテンツ位置指定子とを含んでいる。UPnP AV運営委員会はクラス定義の集合を発行しているものの(ユニバーサルプラグアンドプレイ・バージョン1.0、2002年6月25日についての「コンテンツ・ディレクトリ・サービス・テンプレート・バージョン1.01」の付録C参照)、UPnPは、メディアサーバーのCDSについて特定の配列方法は要求しておらず、コンテナとオブジェクトを配列する仕方は各ベンダーまたはユーザーによって決定される。その結果、各CDSが独自の構造をもつことができ、その構造内の個々のオブジェクトは説明用メタデータの異なる組み合わせをもってラベル付けされる。追加的に、UPnPは、問い合わせ機器がCDSを調べられる二つの機構を定義している:問い合わせ機器がCDS構造の中を通してブラウズできる「ブラウズ」機構と、問い合わせ機器がCDSに対して特定の検索語に合致する項目を返すよう要求できるというより有用な「検索」機構である。しかし、「検索」機構は任意的であり、あるメディアサーバーによってホストされているCDSがUPnPの任意的な「検索」機能を実装しておらず、CPがその階層構造をコンテナごとに「ブラウズ」することを要求するということもありうる。
コントロールポイントがCDSに問い合わせをするとき、応答を受け取るまでに必然的に遅延がある。この遅延は、要求された情報についてCDSデータベースを検索するのにかかる時間のほか、抽出された情報を照合するのにかかる時間を含む。この遅延は、検索の種類および規模、個々の機器のパフォーマンスおよび機器間の通信効率を含む諸要因に依存して変動しうる。遅延はさらに、ユーザーインターフェースが記憶装置のCDSに対して異なる仕方で構成されている場合、あるいはCDSが「ブラウズ」処理しかサポートしていない場合にはさらに長引くことになる。いずれの場合にも、問い合わせ機器は要求される情報を引き出すために複数の問い合わせをしなければならない。応答を受け取るまでの長い遅延は遅延の変動と並んで当該システムのユーザーの使用感を悪化させる。
したがって、本発明は、コンテンツ・ディレクトリ・サービスが使われるシステムを運用する改良された方法を提供しようとするものである。
本発明の第一の側面は、メディアコンテンツ情報を保存するためのコンテンツ・ディレクトリ・サービス(CDS)を使用するシステムにおいてキャッシングデバイスに問い合わせ情報を保存する方法であって:
メディアコンテンツ情報についてのサーバー役の機器のCDSに問い合わせをし、
問い合わせの結果を受け取り、
前記結果をのちの検索のために保存する、
ことを含む方法を提供する。
メディアコンテンツ情報についてのサーバー役の機器のCDSに問い合わせをし、
問い合わせの結果を受け取り、
前記結果をのちの検索のために保存する、
ことを含む方法を提供する。
キャッシングデバイスが問い合わせを実行し、結果を保存できるようにすることによって、問い合わせ機器の処理および記憶リソースにキャッシングサービスの提供に関して負担がかからなくなる。保存すなわちキャッシュされた結果は、要求された問い合わせを再実行するよりも優先して問い合わせ機器によってアクセスされうる。この結果として、結果がより速く届けられるようになり、それにより問い合わせ機器と対話するユーザーの使用感が改善される。
好ましくは、キャッシュされた結果は最新のものに維持される。これは問い合わせ機器の要求によってでもよいし、あるいは問い合わせ機器の関与なく自動的にであってもよい。これによりキャッシングサービスの有用性が改善され、問い合わせ機器のリソースに対する負担がさらに軽減される。
好ましくは、当該システム内の複数の問い合わせ機器に当該サービスが提供される。
好ましくは、最も重要な諸問い合わせのみがキャッシングされる。これにより、保存および維持される必要があるのは比較的少数の結果だけとなり、結果を取得するためにかかる時間もCDSに直接アクセスする場合に比べて短縮される。
デバイスによる当該方法の実行は、そのデバイスによる内部的な使用のためであってもよいし、あるいはシステム内の他のデバイスによって使用されうるサービスとしてであってもよい。当該方法は記憶装置(メディアサーバー型のUPnP機器のような)によっても、あるいは処理および記憶リソースをもつ他のいかなるデバイスによってもホストされうる。当該方法は、ネットワーク上の諸デバイスに別のサービスを提供するデバイスによってホストされてもよいし、当該ネットワーク上の諸記憶装置についての情報を保持しているいかなるデバイスによってホストするためにも特に好適である。
本発明のあるさらなる側面は、メディアコンテンツ情報を保存するためのコンテンツ・ディレクトリ・サービス(CDS)を使うシステムにおいて問い合わせ装置を動作させる方法であって:
キャッシュされるべき候補となる問い合わせを決定し、
前記候補となる問い合わせを実行し、その問い合わせの結果を保存するようキャッシングデバイスに指示する、
ことを含む方法を提供する。
キャッシュされるべき候補となる問い合わせを決定し、
前記候補となる問い合わせを実行し、その問い合わせの結果を保存するようキャッシングデバイスに指示する、
ことを含む方法を提供する。
本発明のさらなる諸側面は、前記諸方法を実装するための装置を提供する。
ここに記載される機能はソフトウェア、ハードウェアまたはそれらの組み合わせにおいて実装されることができる。したがって、本発明のもう一つの側面は、当該方法を実行するためのソフトウェアを提供する。該ソフトウェアは、電子的メモリ素子、ハードディスク、光ディスクまたはその他の機械可読記憶媒体に保存されることができ、ホストデバイス上の好適な処理デバイスによって実行されることになる。前記ソフトウェアは、機械可読担体上のコンピュータプログラムプロダクトとして与えられてもよいし、あるいはネットワーク接続を通じてホストデバイスに直接ダウンロードされてもよい。前記ソフトウェアがホストデバイスの寿命の間のいかなる時点でインストールされてもよいことは理解されるであろう。
「コンテンツ・ディレクトリ・サービス」(CDS)の用語はUPnPシステムにおいて使われるCDSを含むことが意図されているが、UPnPシステムだけに限定されるよう解釈するべきではない。それは、定義が厳密でなく、よって予測が不可能で、かつ問い合わせ機器にとって要求される情報を引き出すのが難しい階層構造をもつ、CDSに似たいかなるメディアコンテンツ情報の記憶システムをも含むことができる。
本発明の実施形態についてこれからあくまでも例として付属の図面を参照しつつ説明する。
本発明を詳細に説明する前に、従来のUPnPシステムについて手短に説明する。より十全な説明はUPnPフォーラムによって刊行されている『UPnP AVアーキテクチャ(UPnP AV Architecture)』から得ることができる。UPnP AVシステムの主要な構成要素は、コントロールポイント(CP)20、メディアサーバー(MS)50およびメディアレンダラー(MR)60である。これらはみな論理的な実体である:物理的な装置が含むのはこれらの実体のうちの一つのみ(たとえばリモコンの形でのコントロールポイント)、あるいはより一般的にはこれらの実体のいくつかの組み合わせであってもよい。例を挙げると、CDプレーヤーは、プレーヤーを操作するためのユーザーインターフェース兼制御回路(コントロールポイント)、光ディスクからデジタルコンテンツを読み出す装置(メディアサーバー)およびそのデジタルコンテンツをユーザーに呈示するためにオーディオ信号に変換する装置(メディアレンダラー)を有している。
メディアサーバー(MS)50はメディアコンテンツの記憶52を含んでいる。コンテンツはたとえば、オーディオ、ビデオ、静止画像またはそれらの組み合わせを含みうる。メディアサーバーはまた、記憶52中のコンテンツをカタログ化するコンテンツ・ディレクトリ・サービス(CDS)55もサポートしている。CDSは、コンピュータのファイルシステムと同様な仕方で階層的に編成されている。コンテナ(フォルダまたはディレクトリに相当)は、複数のオブジェクト(ファイルに相当)および階層的に一つ下のレベルのコンテナを含むことができる。オブジェクトは識別子および任意的にメタデータを用いたオブジェクトの説明を含んでいる。メタデータはオブジェクト名、アーチスト、作曲家、作成日、大きさなどといった属性を含みうる。オブジェクトはまた、オブジェクトコンテンツ(項目)を含んでいたり、あるいは前記コンテンツの位置を特定するためのURIのような位置指定子を含んでいたりしていてもよい。CDS構造の例が図8に示されている。メディアサーバー50のさらなる機能は、メディアサーバー50とメディアレンダラー60のようなその他の機器との間で接続を管理するのに使われる接続マネージャサービスがある。任意的なAV転送サービスは、停止、一時停止、シークなどのような機能を用いたコンテンツ再生の制御を可能にする。
メディアレンダラー(MR)60はメディアサーバー50から受け取られたメディアコンテンツをレンダリング(再生)する役割を担っている。再生装置62はディスプレイ63およびスピーカー64を用いて示されているが、出力は多くの形を取りうる。典型的には、再生装置62は一つまたは複数のデコーダ、デジタル‐アナログコンバータおよび増幅器を含む。メディアレンダラー60はまた、メディアサーバーと、コンテンツがレンダリングされる仕方を制御するためのレンダーコントロール61との新規の接続を確立するための接続マネージャサービス65もサポートしている。オーディオ再生については、これは音量調節のような機能を含むことができる。
コントロールポイント(CP)20はメディアサーバー50およびメディアレンダラー60の動作を調整するもので、ユーザーがコンテンツを選択できるユーザーインターフェース(UI)を含んでいる。コントロールポイント20は、新規デバイスを検出するための従来のUPnP機構をサポートしており、またメディアレンダリング機器の機能を見出し、メディアサーバーとメディアレンダラーとの間の接続を確立するための機構をもサポートしている。UPnP AVアーキテクチャは、テレビ、ビデオデッキ、CD/DVDプレーヤー/ジュークボックス、セットトップボックス、ステレオシステム、MP3プレーヤー、静止画像カメラ、ビデオカメラ、電子額縁(EPF: electronic picture frames)およびパソコンといった広範な種類のAV機器をサポートする。AVアーキテクチャは機器が娯楽コンテンツについての異なる種類のフォーマット(MPEG2、MPEG4、JPEG、MP3、ウィンドウズ(登録商標)・メディア・アーキテクチャ(WMA: Windows(登録商標) Media Architecture)、ビットマップ(BMP:bitmap)、NTSC、PAL、ATSCなどのような)および複数の種類の転送プロトコル(IEC-61883/IEEE-1394、HTTP GET、RTP、HTTP PUT/POST、TCP/IPなどのような)をサポートすることを許容する。
それぞれがCP、MS、MR実体のうちの一つまたは複数をもつ複数の物理機器はネットワークとして一緒に運用することができる。図2は、家庭内の機器のネットワークを表すことができるUPnPネットワークの例を示している。コントロールポイント120、二つのメディアサーバー機器121、122およびメディアレンダラーデバイス140は一緒にネットワーク110に接続されている。ネットワーク110は有線(たとえばイーサネット(登録商標))でも無線(たとえばIEEE802.11、ブルートゥース)でもよい。メディアコンテンツは完全に家庭ネットワーク100内のサーバー上に位置していることもできるし、家庭ネットワーク100の外に位置していることもできる。図2は、コンテンツを保存するためのサーバー123をインターネットのような外部ネットワーク130の一部として示している。この外部サーバー123は家庭ネットワークにゲートウェイ115を通じて接続されている。
再び図1を参照すると、これはUPnPネットワークを通じてコンテンツにアクセスするための従来式の構成を示している。メディアサーバーMS50はローカル記憶装置52との対話31によってコンテンツ・ディレクトリ・サービス(CDS)55を維持している。メディアサーバー50はこのCDSをある特定の方法で構造化する。これはMSのメーカーによって指定されることもある。CDSは記憶52に新規コンテンツが追加されるにつれて更新される。典型的には、ユーザーインターフェース21はユーザーに可能なオプションのメニューを呈示する。例を挙げると、初期メニュー画面は、オーディオコンテンツ、ビデオコンテンツまたは画像のどれを取得したいかをユーザーに尋ねうる。UI21におけるユーザーの選択に反応して、CPはMS50のCDS55に適切な問い合わせ32を行う。MS50は要求されたコンテンツのリストをもって応答する。ユーザーが一つのコンテンツを選択すると、CPはMSおよびMRに、適切な接続35を構成して、当該コンテンツのMSからMRへのストリーミングを開始するよう指示33、34する。
再び図2を参照すると、ネットワークはまた、本発明に基づく問い合わせキャッシングサービス(QCS: query caching service)70をも含む。QCSはネットワーク内のデバイスによってホストされており、ネットワーク内でサービスを要求するいかなるコントロールポイント(CP)にもそのサービスを提供する。図3は、QCSが設けられたシステムの第一の実施形態を示している。明確のため、図は一つのコントロールポイントCP、メディアサーバー機器MS-aおよびQCS70をホストするデバイス75しか示していない。図3は、キャッシュされる問い合わせ結果の生成をCPが開始するのに必要とされるメッセージフローを示している。MSはそのCDS55を、従来の仕方でコンテンツ記憶52との対話によって維持する。CPはQCSに、メッセージ202を送ることによってある特定の問い合わせのキャッシュを生成するよう指示する。メッセージ202はキャッシュする必要のある問い合わせを指定する。QCS70はメッセージ203aによってCDS55に問い合わせをし、メッセージ204aにおいてその問い合わせの結果を受け取る。要求された情報のすべてを取得するためにいくつかの問い合わせ203aが必要となることもある。問い合わせの結果はQCS70によって保存される―キャッシュされる。QCSは次いでCPにメッセージ205を送るが、このメッセージ205には、のちにCPが前記結果を取得できるようにするキャッシュされた結果についての識別用参照情報を含んでいる。
CPは任意の時点で、キャッシュされている問い合わせの参照情報を指定したメッセージをQCSに送ることによって、QCSにその特定のキャッシュされている結果のリフレッシュを要求できる。リフレッシュメッセージ受領に反応して、QCSはCDSに改めて問い合わせを実行し、更新された結果を保存する。CPがこのようにしてリフレッシュメッセージを送るのは、その特定の結果がもうすぐ必要になりそうだと考えるからでもよいし、あるいはQCSがいつキャッシュをリフレッシュすべきかを決める独自の方法をもたないからでもよいし、あるいはQCSがCPによって明示的に再要求されない限りいかなるキャッシュも破棄することを含むポリシーを有しているからでもよい。この場合、CPに返す必要があるのはリフレッシュが行われたという確認のメッセージだけであって実際の結果は必要ではない。
CPはまた、CPがすでに保持している結果の更新をQCSに求めることもできる。この場合、QCSは、CDS問い合わせを自分自身のために再実行するのではなく、現在キャッシュされている結果の何らかの表現をCPに送る。QCSは新しい結果の組を生成するために問い合わせを再実行する。QCSが応答するのはいくつかの方法がありうる。CPに送信する必要のあるデータの量を最小化するためには、QCSが新しい結果を以前の結果と比較し、CPに、該CPによって現在保持されている結果に対してどのような修正がなされているかを示すメッセージを返すことが好ましい。これは、キャッシュの変わっていない部分は伝達されないので、さらにCPに対する通信および処理要求を軽減する。あるいはまた、QCSはキャッシュされた結果の完全なリストをCPに提供することもできるし、単に新しい結果を要求されるまで保存することもできる。
図4は、キャッシュされる問い合わせ結果の生成をQCSが開始するのに必要とされるメッセージフローを示している。QCSは問い合わせを定式化し、該問い合わせをメッセージ211としてCDSに送る。結果はメッセージ212として送られ、QCSによってキャッシュされる。QCSは次いでCPにメッセージ213によって前記キャッシュされた問い合わせの参照情報およびそれが関係する問い合わせ基準を通知する。例を挙げると、メッセージ213は「キャッシュ参照情報:105;問い合わせ基準:CDS55に最も最近追加された5項目」と指定することができる。CPは、関連する問い合わせを必要とする場合(または必要とするとき)、前記参照情報を指定するメッセージ214をQCSに送ることによってそれを要求することができる。キャッシュされている結果はQCSによって記憶装置から取得され、メッセージ215としてCPに送られる。
キャッシュされた結果はCPまたはQCSの要求により削除できる。CPによって開始された問い合わせの場合、CPは、キャッシュされている問い合わせのうち削除したいものの参照情報を指定するメッセージをQCSに送ることができる。
図3は、CDSとQCSを別個のデバイスとして示している。実際、両者は互いに物理的に別個の機器によってホストされることもできる。あるいはまた、CDSとQCSが同一の機器によってホストされることもできる。そのことが図4の枠76によって示されている。その場合、CDSとQCSとの間の通信はネットワークを介したUPnPメッセージではなく内部チャネルによって運ばれる。
図5はCDSの変化に反応してQCSを自動的に更新するプロセスを示している。サービスの有用性を保証するためには、キャッシュされた結果が最新のものに維持されることが重要である。記憶装置52のコンテンツに更新があったときには常に、MSは従来の仕方で最新のCDSを維持する。更新は新しい項目が追加されるとき、既存の項目が削除されるとき、あるいはユーザーがコンテンツ情報もしくはCDSの構造内でのある項目の位置を訂正しようと決めるときに起こりうる。CDSは、コンテンツ記憶52に変化が生じたときには標準的なUPnPメッセージ232によってQCSに通知する。メッセージ232の受領に反応して、QCSはキャッシュされている問い合わせのどれがこのCDSの更新によって影響を受けそうかを判定する。QCSは、もとの問い合わせ基準に基づいて、現在キャッシュされている問い合わせに潜在的に関係するCDSのなんらかの変更された部分に対する問い合わせ233を提出する。QCSは前記問い合わせの結果234を解析し、必要ならそれぞれのキャッシュされている結果を更新する。QCSはCPに、キャッシュされている問い合わせが更新されたことを示すメッセージ235を送ることができる。ただし、このメッセージは必須ではない。CPが更新されたキャッシュの結果を必要とする場合に(または必要とするときに)QCSに要求236し、受け取る237ことができる。QCSは同様の機構(233、234)を使って、任意の時点においてそのキャッシュの有効性を能動的に確認することができる。自動更新機構を設けることにより、QCSはキャッシュされた結果について、CPによるさらなる介入なしに、CDSと整合性を保たせることができ、よってネットワークを通じたトラフィックのフローを最小限にすることができる。
図6は、QCS内の主要な機能ブロックを示している。記憶装置85は問い合わせおよび問い合わせの結果を、それらの検索のための参照情報とともに保存する。問い合わせインターフェース機能81はCPにメッセージを送ったりCPからメッセージを受け取ったりする。問い合わせ処理機能82はMSデバイスに問い合わせを送り、一つまたは複数のMSデバイスからの結果を照合し、キャッシュされたデータへの参照情報を割り当てる。どの問い合わせをキャッシュするかを決める役割をQCSが担う実施例では、問い合わせ処理機能82がCPから受け取られる情報に基づいて問い合わせを定式化する。QCSがCDSへの更新を通知されたときには、CDS解析機能83が使われる。解析機能83は、その更新によってキャッシュされている問い合わせのどれが影響を受けるかを判定し、更新されたCDSのさらなる問い合わせをするよう問い合わせ処理機能82に指示する。その後、CDS解析機能83は更新された結果をキャッシュ85に保存されている古い結果と比較し、必要であればCPに送るための更新メッセージを用意する。
QCSは一つの物理機器75によってホストされることができる。UPnPアーキテクチャはMSデバイスが別のMSデバイスに問い合わせをすることは認めていないので、QCSを示す正しい方法は、CPデバイス内に埋め込まれたMSデバイスとして、あるいはたとえば同一の物理機器によってホストされているなどのため緊密に協力することのできる別個のMSデバイスおよびCPデバイスとしてである。そのため、記憶機能85は、制御機能81、82、83をホストするコントロールポイントデバイスCP-QCS内に埋め込まれたメディアサーバーデバイスMS-QCSの一部として示されている。
図7はCP内の主要な機能ブロックを示している。ユーザーインターフェース処理ユニット93は、キーボード上で、マウスによって、あるいはタッチ感応スクリーン上でなされた選択といったユーザー入力96を受け取り、画面表示のためのグラフィックデータおよび音声プロンプトといった出力(図示せず)を発する。処理ユニット93は、既知の仕方でメニューの生成を制御し、ユーザー選択に反応する。ユーザー選択はデータベースによって記録が取られ、UIを用いたユーザーの対話についての履歴情報を表すユーザー選択統計92のコレクションが形成される。解析ユニット91はそのユーザー統計92を解析して、キャッシュすべき問い合わせの有望な候補とするため最もよく要求される選択およびメニューナビゲーションを決定する。これらは問い合わせ処理ユニット94に転送される。UIの現在の状態についての情報、すなわちユーザーに現在呈示されていたりあるいはまもなく呈示されることになっていたりするオプションなども同様にキャッシュのための有望な候補として問い合わせ処理ユニットに転送される。キャッシュすべき問い合わせの選択はさまざまな基準に基づいたものでありうる:
・コントロールポイントによって提供される機能に基づく基本的な問い合わせ。UIの基本構造がほとんど保証しているこれらの問い合わせは、絶対的な頻度やどのくらい最近実際に選択されたかに関わりなく、ユーザーがその対話のどこかの点(たとえばユーザーが最初に呈示されるメニュー)で遭遇するものである。
・よく要求される問い合わせ。ユーザー統計92によって保持されている、そのユーザーの過去の選択履歴の解析によって、どの問い合わせがよくなされているかが示される。これらはキャッシングのための有望な候補になる。
・最近要求された問い合わせ。これらをキャッシュしておくと、ユーザーは、UIのメニュー構造をたどって後戻りするときにそれぞれの高レベル問い合わせを繰り返さずに迅速にできる。
・UIによってユーザーに呈示された可能なオプションに基づいた問い合わせ。UIの操作の各段階において、ユーザーはある範囲の可能なオプションを呈示される。ユーザーは提供された選択肢の一つを選ばなければならなくなっている。利用可能な各オプションが問い合わせされ、キャッシュされることもできるし、最初のX個のオプションが問い合わせされ、キャッシュされることもできるし、あるいはメニューのその段階でのユーザーの選択履歴などに基づいてメニューのその段階から最もよく選ばれたオプションが問い合わせされ、キャッシュされることもできる。それぞれの場合において、問い合わせはユーザーによる実際の選択に先立って行われ、キャッシュされる。ユーザーが選択を行うときまでにはユーザーにとって最小限の遅延で結果が得られるようになるとの希望からである。より洗練された形では、現在のメニューレベルよりも一つまたは複数のメニューレベル下のUIオプションについての問い合わせもなされる。
・選択統計その他の基準に基づく確からしい問い合わせシーケンス。UIのメニュー構造でユーザーがたどるルートについて予測をすることができる。
・現在の問い合わせと意味的に類似の問い合わせまたは変形。
・コントロールポイントによって提供される機能に基づく基本的な問い合わせ。UIの基本構造がほとんど保証しているこれらの問い合わせは、絶対的な頻度やどのくらい最近実際に選択されたかに関わりなく、ユーザーがその対話のどこかの点(たとえばユーザーが最初に呈示されるメニュー)で遭遇するものである。
・よく要求される問い合わせ。ユーザー統計92によって保持されている、そのユーザーの過去の選択履歴の解析によって、どの問い合わせがよくなされているかが示される。これらはキャッシングのための有望な候補になる。
・最近要求された問い合わせ。これらをキャッシュしておくと、ユーザーは、UIのメニュー構造をたどって後戻りするときにそれぞれの高レベル問い合わせを繰り返さずに迅速にできる。
・UIによってユーザーに呈示された可能なオプションに基づいた問い合わせ。UIの操作の各段階において、ユーザーはある範囲の可能なオプションを呈示される。ユーザーは提供された選択肢の一つを選ばなければならなくなっている。利用可能な各オプションが問い合わせされ、キャッシュされることもできるし、最初のX個のオプションが問い合わせされ、キャッシュされることもできるし、あるいはメニューのその段階でのユーザーの選択履歴などに基づいてメニューのその段階から最もよく選ばれたオプションが問い合わせされ、キャッシュされることもできる。それぞれの場合において、問い合わせはユーザーによる実際の選択に先立って行われ、キャッシュされる。ユーザーが選択を行うときまでにはユーザーにとって最小限の遅延で結果が得られるようになるとの希望からである。より洗練された形では、現在のメニューレベルよりも一つまたは複数のメニューレベル下のUIオプションについての問い合わせもなされる。
・選択統計その他の基準に基づく確からしい問い合わせシーケンス。UIのメニュー構造でユーザーがたどるルートについて予測をすることができる。
・現在の問い合わせと意味的に類似の問い合わせまたは変形。
問い合わせ処理ユニット94は、キャッシングのための有望な候補であると示されている問い合わせについてキャッシュがすでに存在しているかどうかを調べることができる。キャッシュが存在していなければ、問い合わせ処理ユニットはQCSにキャッシュを要求することを決定できる。問い合わせ処理ユニット94がQCSによってすでにキャッシュされていると知っており、まもなく必要になるかもしれない結果についての要求がされた場合には、問い合わせ処理ユニット94は、CP上の短期キャッシュに保存するために、ユーザーによる実際の選択に先立ってQCSにその結果を要求することができる。CPがこのようにしてキャッシュを行う程度は記憶リソース95に依存する。代替的に、問い合わせ処理ユニット94は前記メニュー選択がなされたときにのみ結果を要求する。
再び図4を参照すると、どれをキャッシュするかの決定をQCSが行う場合の実施形態が示されている。何をキャッシュする必要があるかを決定するためには、QCSはCPのUIについての情報を必要とする。これはUIの構造、すなわちメニュー構造、ユーザーに呈示されているオプション、QCSがキャッシュすべき問い合わせを導出できる母集団についての情報を含むことができる。代替的または追加的に、QCSが独自のユーザー選択統計を集計することができるように、前記情報はユーザー選択についての情報の形を取ることもできる。その情報はCPによってその都度あるいはバッチにまとめて送られることができる。あるいはまた、CPはCPのUIによって現在ユーザーに呈示されている特定の諸オプションの詳細を送るよう構成される。これらに基づいて、QCSはどの問い合わせをキャッシュすべきかを決定できる。
問い合わせ結果をコントロールポイントではなくQCSに保存することにより、コントロールポイントのための記憶および通信要求が軽減される。しかし、キャッシングの量はQCSの処理および記憶リソースによって、および問い合わせを受けるべきCDSをホストしているMSのリソースによって制約を受ける。
各キャッシング動作のためのオーバーヘッド軽減により、CPは、推測に基づいてより多くの問い合わせをキャッシュするよう要求することができるようになり、それにより有意なキャッシュが利用可能である可能性が改善され、よってシステムの平均応答時間が改善される。これはまた、UIの操作パフォーマンスをも改善する。これは、無線リモコンユニットのように、CPデバイスのリソースが限られており、ネットワークに低帯域幅のリンクで接続されている場合にはとりわけ重要である。
完全性のため、図8にMSのコンテンツ・ディレクトリ・サービス(CDS)の例示的な構造を示す。CDSはコンテナとオブジェクトの階層構造を有する。コンテナは複数のオブジェクトを保持する。たとえば音楽アルバムは複数のオーディオオブジェクトを保持しているコンテナである。図示しているように、コンテナはさらなるコンテナ(コンテナ3.2、3.3、3.4を保持しているコンテナ2.3の場合など)または複数のオブジェクトの諸集合を保持していることができる。各オブジェクトはいくつかの属性によって定義される。そのようなオブジェクトの一つ、オブジェクト3.1.3がより詳細に示されている。UPnPでは属性は「id」および「title」(名称)のような識別子を含まなければならない。オブジェクトは、メディアオブジェクトの位置をポイントする一様リソース識別子(URI)を含むことができる。オブジェクトはメディアサーバー内の記憶装置(たとえば図1の記憶52)に保存されてもよいし、あるいはメディアサーバーの外部にあるサーバーに保存されてもよい。コンテナの属性の一つは、そのコンテナが検索できるかどうかを示すフィールドである。メタデータ700を含むさらなる属性もその情報に含められることができる。
Claims (22)
- メディアコンテンツ情報を保存するためのコンテンツ・ディレクトリ・サービス(CDS)を使用するシステムにおいてキャッシングデバイスに問い合わせ情報を保存する方法であって:
メディアコンテンツ情報についてのサーバー役の機器のCDSに問い合わせをし、
前記問い合わせの結果を受け取り、
前記結果をのちの検索のために保存する、
ことを含むことを特徴とする方法。 - のちの検索での使用のために前記保存される結果の識別情報を問い合わせ装置に送るステップをさらに有することを特徴とする、請求項1記載の方法。
- サーバー役の機器のCDSに問い合わせをする前記ステップが、問い合わせ装置から受け取られる問い合わせを使用することを特徴とする、請求項1または2記載の方法。
- サーバー役の機器のCDSに問い合わせをする前記ステップが、前記キャッシングデバイスによって定式化される問い合わせを使用することを特徴とする、請求項1または2記載の方法。
- 前記定式化された問い合わせが前記問い合わせ装置のユーザーインターフェースの情報を使用することを特徴とする、請求項4記載の方法。
- 前記定式化された問い合わせが前記問い合わせ装置のユーザーインターフェースにおけるユーザー選択の情報を使用することを特徴とする、請求項5記載の方法。
- 前記定式化された問い合わせが前記ユーザーインターフェースにおいて頻繁に選択されるオプションに関係していることを特徴とする、請求項6記載の方法。
- 前記サーバー役の機器から前記CDSへの更新の通知を受け取り、前記キャッシングデバイスに保存されている結果を更新するステップをさらに有することを特徴とする、請求項1ないし7のうちいずれか一項記載の方法。
- 前記CDSへの更新の通知を受け取ったときに、前記キャッシングデバイスが保存されている結果が更新を必要としているかどうかを判定するよう構成されていることを特徴とする、請求項8記載の方法。
- 保存されている情報が更新された場合に、前記キャッシングデバイスが問い合わせ装置に更新が発生したことを通知することを特徴とする、請求項8または9記載の方法。
- 保存されている情報が更新された場合に、前記キャッシングデバイスが問い合わせ装置に変化のあった情報を送ることを特徴とする、請求項10記載の方法。
- メディアコンテンツ情報を保存するためのコンテンツ・ディレクトリ・サービス(CDS)を使うシステムにおいて問い合わせ装置を動作させる方法であって:
キャッシュされるべき候補となる問い合わせを決定し、
前記候補となる問い合わせを実行し、その問い合わせの結果を保存するようキャッシングデバイスに指示する、
ことを含むことを特徴とする方法。 - 保存された結果ののちの検索での使用のために前記保存される結果の識別情報をキャッシングデバイスから受け取ることをさらに含むことを特徴とする、請求項12記載の方法。
- 前記問い合わせ装置がユーザーインターフェースを有し、候補となる問い合わせを決定する前記ステップがユーザーインターフェースにおけるユーザー選択の履歴データを使用することを特徴とする、請求項12または13記載の方法。
- 前記候補となる問い合わせがユーザーインターフェースにおいて頻繁に選択されるオプションであることを特徴とする、請求項14記載の方法。
- 前記候補となる問い合わせが、ユーザーインターフェースのユーザーに現在利用可能な少なくとも一つのオプションであることを特徴とする、請求項13ないし15のうちいずれか一項記載の方法。
- プロセッサをして、請求項1ないし16のうちいずれか一項記載の方法を実行せしめることを特徴とするソフトウェア。
- キャッシングデバイスのための制御装置であって、前記キャッシングデバイスをして請求項1ないし11のうちいずれか一項記載の方法を実行せしめることを特徴とする装置。
- 請求項18記載の制御装置を組み込んでいることを特徴とするキャッシングデバイス。
- 問い合わせ装置のための制御装置であって、前記問い合わせ装置をして請求項12ないし16のうちいずれか一項記載の方法を実行せしめることを特徴とする装置。
- 請求項20記載の制御装置を組み込んでいることを特徴とする問い合わせ装置。
- ユニバーサルプラグアンドプレイ(UPnP)に従うシステムで使用するための、請求項1ないし21のうちいずれか一項記載の方法、ソフトウェア、制御装置、キャッシングデバイスまたは問い合わせ装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0322797.2A GB0322797D0 (en) | 2003-09-30 | 2003-09-30 | Query caching in a system with a content directory service |
PCT/IB2004/051879 WO2005031607A1 (en) | 2003-09-30 | 2004-09-27 | Query caching in a system with a content directory service |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007510195A true JP2007510195A (ja) | 2007-04-19 |
Family
ID=29287065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006530929A Pending JP2007510195A (ja) | 2003-09-30 | 2004-09-27 | コンテンツ・ディレクトリ・サービスを用いたシステムにおける問い合わせのキャッシング |
Country Status (7)
Country | Link |
---|---|
US (1) | US20070055650A1 (ja) |
EP (1) | EP1671244A1 (ja) |
JP (1) | JP2007510195A (ja) |
KR (1) | KR20060090688A (ja) |
CN (1) | CN1860479A (ja) |
GB (1) | GB0322797D0 (ja) |
WO (1) | WO2005031607A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101182523B1 (ko) | 2008-07-28 | 2012-09-12 | 삼성전자주식회사 | 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법 |
US9843634B2 (en) | 2006-09-21 | 2017-12-12 | Samsung Electronics Co., Ltd. | Method and apparatus for synchronizing content directory service objects of universal plug and play media servers |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060041596A1 (en) * | 2004-08-19 | 2006-02-23 | Vlad Stirbu | Caching directory server data for controlling the disposition of multimedia data on a network |
US8122083B2 (en) * | 2005-06-30 | 2012-02-21 | Mitsubishi Electric Corporation | Client apparatus |
US7797298B2 (en) | 2006-02-28 | 2010-09-14 | Microsoft Corporation | Serving cached query results based on a query portion |
US20070233804A1 (en) * | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Providing remote application access in accordance with decentralized configuration information |
KR20080005622A (ko) * | 2006-07-10 | 2008-01-15 | 삼성전자주식회사 | UPnP 네트워크에서의 제어 포인트 및 그의 선호 기기등록 방법 |
KR20080024712A (ko) * | 2006-09-14 | 2008-03-19 | 삼성전자주식회사 | 사용자의 검색 히스토리를 이용한 모바일 정보 검색 방법,분류 방법 및 정보 검색 시스템 |
US8201218B2 (en) | 2007-02-28 | 2012-06-12 | Microsoft Corporation | Strategies for securely applying connection policies via a gateway |
US20090006537A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Virtual Desktop Integration with Terminal Services |
US8683062B2 (en) | 2008-02-28 | 2014-03-25 | Microsoft Corporation | Centralized publishing of network resources |
US8612862B2 (en) * | 2008-06-27 | 2013-12-17 | Microsoft Corporation | Integrated client for access to remote resources |
EP2311223A2 (fr) * | 2008-07-30 | 2011-04-20 | France Telecom | Mise à jour de critères de recherche de contenu définis pour un fournisseur de service |
US9251209B2 (en) | 2012-03-15 | 2016-02-02 | International Business Machines Corporation | Autonomic caching for in memory data grid query processing |
US20140149392A1 (en) * | 2012-11-28 | 2014-05-29 | Microsoft Corporation | Unified search result service and cache update |
US9305056B1 (en) * | 2013-05-24 | 2016-04-05 | Amazon Technologies, Inc. | Results cache invalidation |
CN105516794B (zh) * | 2015-12-11 | 2019-04-16 | Oppo广东移动通信有限公司 | 提供文件读取列表的方法及装置 |
US10169415B2 (en) * | 2016-09-14 | 2019-01-01 | Google Llc | Query restartability |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220791A1 (en) * | 2000-01-03 | 2004-11-04 | Interactual Technologies, Inc. A California Corpor | Personalization services for entities from multiple sources |
US7302465B2 (en) * | 2001-10-22 | 2007-11-27 | Comverse, Inc. | Distributed multimedia transfer |
US20030106072A1 (en) * | 2001-12-05 | 2003-06-05 | Koninklijke Philips Electronics N.V. | Multimedia storage and control system |
US8931010B2 (en) * | 2002-11-04 | 2015-01-06 | Rovi Solutions Corporation | Methods and apparatus for client aggregation of media in a networked media system |
-
2003
- 2003-09-30 GB GBGB0322797.2A patent/GB0322797D0/en not_active Ceased
-
2004
- 2004-09-27 WO PCT/IB2004/051879 patent/WO2005031607A1/en not_active Application Discontinuation
- 2004-09-27 US US10/573,555 patent/US20070055650A1/en not_active Abandoned
- 2004-09-27 KR KR1020067006259A patent/KR20060090688A/ko not_active Application Discontinuation
- 2004-09-27 EP EP04770098A patent/EP1671244A1/en not_active Withdrawn
- 2004-09-27 CN CNA2004800282924A patent/CN1860479A/zh active Pending
- 2004-09-27 JP JP2006530929A patent/JP2007510195A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9843634B2 (en) | 2006-09-21 | 2017-12-12 | Samsung Electronics Co., Ltd. | Method and apparatus for synchronizing content directory service objects of universal plug and play media servers |
KR101182523B1 (ko) | 2008-07-28 | 2012-09-12 | 삼성전자주식회사 | 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법 |
Also Published As
Publication number | Publication date |
---|---|
GB0322797D0 (en) | 2003-10-29 |
CN1860479A (zh) | 2006-11-08 |
US20070055650A1 (en) | 2007-03-08 |
EP1671244A1 (en) | 2006-06-21 |
WO2005031607A1 (en) | 2005-04-07 |
KR20060090688A (ko) | 2006-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070219953A1 (en) | Searching Content Directories | |
US11138150B2 (en) | Network repository for metadata | |
KR100987659B1 (ko) | 독점 애플리케이션을 통한 원격 및 로컬 콘텐트의 선택 및 제어 | |
US20070118606A1 (en) | Virtual content directory service | |
JP2007510195A (ja) | コンテンツ・ディレクトリ・サービスを用いたシステムにおける問い合わせのキャッシング | |
US7571167B1 (en) | Peer-to-peer network content object information caching | |
US7937469B2 (en) | Data management server, data management system, data management method, and program | |
JP5005726B2 (ja) | 複数の供給源からのメディアファイルの管理 | |
JP2008520029A (ja) | コンテンツを追跡する方法、装置及びソフトウェア | |
US20080235198A1 (en) | Translation Service for a System with a Content Directory Service | |
US20070088675A1 (en) | Response estimation in a system with a content directory service | |
WO2012032711A1 (ja) | コンテンツ検索装置、コンテンツ検索方法、プログラム |