汎用プラグアンドプレイ(universal plug and play;以下、‘UPnP’という)技術とディジタルリビングネットワークアライアンス(digital living network alliance;以下、‘DLNA’という)技術は、多様な製造会社の家電機器間のサービスと制御を可能にする。特に、UPnP技術は、視聴覚(audio-visual;AV)機器間の互換可能なAVサービスと制御を可能にする。この互換可能なAVサービスには、メディアストリーミング、アップローディング、ダウンローディングなどがある。
ホームネットワーキングのために提案されたUPnP基盤のネットワークは、論理的に多数のUPnPデバイス(device)、サービス(service)、及び制御ポイント(CP:Control Point)に基づいて構成される。UPnPネットワークにおけるサービス(service)とは、ネットワーク上の最も小さい小規模制御単位を意味するが、状態変数を通じてモデリングされる。
UPnP基盤のネットワークにおけるCP(Control Point)とは、他のデバイス及び/又はサービスを感知及び制御する機能を備えた制御アプリケーション(application)を意味し、任意のデバイス、例えばユーザが取り扱いやすいPDAのような物理的な機器で運用される。
UPnP基盤のAVホームネットワークは、ホームネットワークにメディアデータを提供するメディアサーバ(MS:Media Server)と、ホームネットワークを介してメディアデータを再生するメディアレンダラー(MR:Media Renderer)と、上記メディアサーバとメディアレンダラーを制御するAV制御ポイント(CP:Control Point)を含んで構成される。上記メディアサーバとメディアレンダラーは、上記制御ポイントにより制御される被制御(controlled)機器である。
上記メディアサーバ(正確には、メディアサーバ内のCDS(Content Directory Service))は、自分に収録されているメディアファイルとコンテナ(ディレクトリに該当)の情報を各オブジェクト(object)情報として予め構築して置く。「オブジェクト」は1つ以上のメディアファイル、例えば停止映像(picture)、動映像、またはオーディオファイルに対する情報を有するアイテム(item)、及びディレクトリに対する情報を有するコンテナ(container)を包括して称する用語であり、場合によって、オブジェクトの用語は適切に「アイテム」または「コンテナ」を称する用途に使用できる。
そして、1つのアイテムは1つまたは多数のメディアファイルに対応する。例えば、各々異なるビットレートの同一内容のコンテンツを有する多数のメディアファイルは1つのアイテムとして管理できる。
オブジェクトの情報は「メタデータ」とも称され、このメタデータには、関連したコンテンツに対する各種の情報が記載される。例えば、コンテンツに対応するオブジェクトに割り当てられたID、そのオブジェクトが属するコンテナに対する識別情報、タイトル、そのオブジェクトがアイテムかコンテナかに対する情報及びメディアの類型、関連したコンテンツ(例えば、メディアファイル)が獲得することができるプロトコル及びアクセス位置情報などがメタデータに記載される。そして、このようなメタデータはマークアップ(mark-up)言語形態に作成され、関連したメディアファイルなどが格納されているストレージとは関係なく上記CDSが管理するストレージに格納される。勿論、移動性記録媒体に格納されて上記CDSに提供されることもできる。このように作成されているコンテンツに対するメタデータは、上記制御ポイントが呼び出すアクションによって提供され、また上記制御ポイントを媒介にしてメタデータの全部または一部が上記メディアレンダラーに提供されることもできる。
本発明において、UPnPはこのような装置を制御ポイント(control point:CP)装置と制御ターゲット装置とに分類できる。ディジタルメディアコントローラ(DMC)、ディジタルメディアプレイヤー(DMP)は制御ポイント装置に分類され、ディジタルメディアレンダラー(DMR)、ディジタルメディアサーバ(DMS)、ディジタルメディアプリンタ(DMPr)は制御ターゲット装置に分類できる。
また、UPnPの制御ポイント(CP)装置またはDLNAのディジタルメディアプレイヤー(DMP)、ディジタルメディアコントローラ(DMC)がUPnPの制御ターゲット装置またはDLNAのディジタルメディアサーバ(DMS)にコンテンツメタデータを要求すれば、制御ターゲット装置またはディジタルメディアサーバ(DMS)は格納されたコンテンツの各々に対応する複数のコンテンツメタデータを収集して(生成したコンテンツリストを)制御ポイント(CP)装置またはディジタルメディアプレイヤー(CMP)、ディジタルメディアコントローラ(DMC)に転送することができる。
一方、DLNAはホームネットワーク装置として、ディジタルメディアサーバ(digital media server:DMS)、ディジタルメディアプレイヤー(digital media player:DMP)、ディジタルメディアレンダラー(digital media renderer:DMR)、ディジタルメディアコントローラ(digital media controller:DMC)、及びディジタルメディアプリンタ(digital media printer:DMPr)を規定し、モバイル携帯装置として、モバイルディジタルメディアサーバ(mobile digital media server:M−DMS)、モバイルディジタルメディアプレイヤー(mobile digital media player:M−DMP)、モバイルディジタルメディアアップローダー(mobile digital media uploader:M−DMU)、モバイルディジタルメディアダウンローダー(mobile digital media downloader:M−DMD)、及びモバイルディジタルメディアコントローラ(mobile digital media controller:M−DMC)を規定する。以下、ディジタルメディアサーバ(DMS)はM−DMSをカバーする概念として使用し、ディジタルメディアプレイヤー(DMP)はM−DMPをカバーする概念として使用し、ディジタルメディアコントローラ(DMC)はM−DMCをカバーする概念として使用できる。
また、DLNAは2ボックスモデル(2 Box Model)と3ボックスモデル(3 Box Model)として定義できる。2ボックスモデルは、ディジタルメディアプレイヤー(DMP)及びディジタルメディアサーバ(DMS)を含む。2ボックスモデルでディジタルメディアプレイヤー(DMP)はユーザがディジタルメディアサーバ(DMS)によりブラウジングされ(browsed)、配布される(distributed)コンテンツを探して再生できるようにする。3ボックスモデルは、ディジタルメディアコントローラ(DMC)、ディジタルメディアサーバ(DMS)、及びディジタルメディアレンダラー(DMR)を含む。3ボックスモデルにおいて、ディジタルメディアコントローラ(DMC)はユーザがディジタルメディアレンダラー(DMR)で再生されるディジタルメディアサーバ(DMS)のコンテンツを探すことができるようにする。
以下、図1を参考して、本発明の一実施形態に係るコンテンツ情報集合プロトコルを説明する。
図1は、本発明の実施形態に係るメディアサーバのコンテンツ情報集合動作を説明するためのフローチャートである。以下、メディアサーバはディジタルメディアサーバと同一の意味として使われる。また、コンテンツはAVデータのようなメディアコンテンツと同一の意味として使われる。コンテンツ情報は、コンテンツメタデータまたはコンテンツオブジェクトを含む意味として使われる。コンテンツオブジェクトは、コンテンツメタデータセット(a set of content metadata)を意味することができる。コンテンツオブジェクトは、単一ファイルフォーマット形式であるアイテムオブジェクトと、複数のファイルを含んだフォルダ形態のコンテナオブジェクトを含むことができる。
図1を参考すると、第1メディアサーバ110は、複数のメディアサーバ130、150の各々から転送されたコンテンツメタデータを受信することができる。メディアサーバは、ユーザがメディアサーバに格納されたコンテンツをブラウズ(browse)し、各々のコンテンツに関する詳細な情報を得るようにするために、コンテンツディレクトリサービス(CDS:Content Directory Service)を提供する。
第1メディアサーバ110は、コンテンツディレクトリサービスのブラウズ/サーチ(Browse/Search())アクションを用いて第2メディアサーバ130と第3メディアサーバ150から各々のコンテンツメタデータの転送を受けることができる。例えば、第1メディアサーバ110が第2メディアサーバ130にブラウズ/サーチ(Browse/Search())アクションを要求すれば(S101)、第2メディアサーバ130はコンテンツディレクトリサービスを用いて第2メディアサーバ130に格納されたコンテンツの各々のコンテンツメタデータを第1メディアサーバ110に応答として転送することができる(S103)。また、第1メディアサーバ110は、第3メディアサーバ150にもブラウズ/サーチ(Browse/Search())アクションを要求して(S105)、第3メディアサーバ150から第3メディアサーバ150に格納されたコンテンツの各々のコンテンツメタデータを応答として転送を受けることができる(S107)。次に、第1メディアサーバ110は統合されたユーザ経験(unified user experience)を提供するためのホームネットワーク内で全てのコンテンツ情報を収集することができる。第1メディアサーバ110の集合機能(aggregation function)は活性化されるか、または不活性化できる(turn on/off)。第1メディアサーバ110は、状態変数、コンテンツメタデータ、追加的な有用な制御メカニズムを通じて集合に対する有用な情報を提供することができる。追加的な有用な制御メカニズムは幾つかのアクションを提供することによって、より向上したユーザ経験を提供することができる。
この際、第2メディアサーバ130及び第3メディアサーバ150に含まれていてから、第1メディアサーバ110のような集合メディアサーバ(AMS)の収集対象となるコンテンツメタデータセット、即ちコンテンツオブジェクトは集合対象オブジェクト(aggregated object)として定義できる。集合メディアサーバ(AMS)は集合対象オブジェクト(aggregated object)を収集して、これに相応する集合オブジェクト(aggregate object)をまた作ることができる(recreate)。即ち、集合オブジェクト(aggregate object)は集合メディアサーバ(AMS)が集合対象メディアサーバ(ADMS)である第2メディアサーバ130及び第3メディアサーバ150のような集合対象CDS(aggregated CDS)から収集したコンテンツメタデータに基づいてまた作り出したオブジェクトとして定義できる。
本発明の実施形態によれば、第1メディアサーバ110はメディアサーバの一種である仮想サーバ(virtual server)であって、コンテンツディレクトリサービスを用いて物理的に、または論理的にコンテンツメタデータを全部集めることができる。この際、仮想サーバはいかなるデバイスに格納されたコンテンツメタデータでも集めることができる。したがって、仮想サーバは複数のネイティブサーバからコンテンツメタデータを集めることもできる。ネイティブサーバは前述した第2メディアサーバ130と第3メディアサーバ150のように、コンテンツ及びコンテンツ関連情報を格納または提供する本来の意味のサーバを意味することができる。一方、仮想サーバはコンテンツまたはコンテンツ関連情報を要求及び受信する制御ポイント装置のような機能を遂行することができる。
一方、複数のネイティブサーバからコンテンツを集める仮想サーバの場合、コンテンツ変換(content transformation)を遂行する集合仮想サーバ(aggregating virtual server)という機能を示すために、ネットワーク上で唯一の名称を有しなければならない。また、集合仮想サーバは最後のネイティブデバイスがssdp:byebyeの発行を仮想化するか、または全てのネイティブサーバのキャッシュ−制御(CACHE-CONTROL)間隔が広告セットの受信無しで満了する場合、一定の時間、例えば5秒以内に自らのssdp:byebyeメッセージを発行しなければならない。SSDP(Simple Service Discovery Protocol)は、ネットワークに連結されたデバイスと使用可能なサービスを検索するためのプロトコルを意味する。
複数のネイティブサーバからコンテンツを集める機能を遂行しない仮想サーバは、基本的なネイティブサーバが提供する全てのアクションを提供しなければならない。また、集合機能を遂行しない仮想サーバはネイティブサーバのイベントが全て可能であるようにしなければならない。一方、複数のネイティブサーバからコンテンツを集める仮想サーバは自らが提供するアクションまたはイベントを制限することができる。
仮想サーバが多数のネイティブサーバからコンテンツメタデータを集めていれば、ネイティブサーバのうちの1つがネットワークを離れる場合、ネイティブサーバがネットワークを離れて、例えば1秒後に発行されたクエリーは階層内にネットワークを離れたネイティブサーバに格納されたコンテンツのコンテンツメタデータを見せてはならない。
本発明の実施形態によれば、集合仮想サーバは複数のネイティブサーバからコンテンツを収集すれば、現在ネットワーク上の全てのネイティブサーバからコンテンツメタデータを収集できなければならず、集合仮想サーバのデバイスディスクリプションの<dlna:X_DLNSVIRT>XMLエレメント内に“*”フラグを明示しなければならない。
次に、複数のメディアサーバが存在する場合、メディアコンテンツのコンテンツメタデータに対するサーチ要求が含まれたユーザ入力を受信した制御ポイント装置200は、仮想サーバの機能を遂行する第1メディアサーバ110にブラウズ/サーチアクションを要求して(S109)、第1メディアサーバ110に格納されたコンテンツメタデータの転送を受けることができる(S111)。第1メディアサーバ110に格納されたコンテンツメタデータは、ホームネットワーク内に存在する複数のメディアサーバ130、150から収集した全てのコンテンツメタデータを含むことができる。したがって、制御ポイント装置200は1つのメディアサーバに一回のブラウズ/サーチアクションを要求するだけでも、複数のメディアサーバの全部に含まれた全てのコンテンツメタデータを受信することができる。これは、複数のメディアサーバが含まれたホームネットワークでどのメディアサーバに格納されているかを知らない特定コンテンツを探そうとする場合に効率的である。
以下、図2から図4を参考して、本発明の更に他の実施形態に係るコンテンツ情報集合プロトコルを説明する。
図2は、本発明の実施形態に従ってコンテンツ情報集合機能をサポートするメディアサーバを区別するための方法を説明するためのフローチャートである。
図2を参考すると、制御ポイント装置200は複数のメディアサーバの各々から文書形態のサービスディスクリプション(Service Description Document)を受信することができる。制御ポイント装置200は、受信されたサービスディスクリプションを用いて該当メディアサーバがコンテンツ情報集合機能をサポートするメディアサーバであるかを知ることができる。
メディアサーバは、集合コンテンツディレクトリサービス(aggregation CDS)を提供することができる。集合コンテンツディレクトリサービスは、ホームネットワーク内の全てのコンテンツに接近するための単一ポイント装置を提供することができる。物理的なコンテンツディレクトリサービス構造または集合コンテンツディレクトリサービスの仮想構造は、少なくとも1つの制御ポイントモジュールを提供することができる。制御ポイントモジュールは、集合特性と関連したメタデータ属性を設定し、集合特性と関連したアクションを作動させることができるモジュールとして定義できる。例えば、制御ポイントモジュールは前述した仮想サーバ内で他のメディアサーバに格納されたコンテンツ及びコンテンツ関連情報を要求及び受信する制御ポイント装置のような機能を遂行するモジュールでありうる。即ち、集合コンテンツディレクトリサービスを提供することができるメディアサーバは他のメディアサーバのコンテンツ及びコンテンツ関連情報を収集することができる制御ポイントモジュールを含むことができる。
サービスディスクリプションは、メディアサーバが提供するサービスに対する情報を含むことができる。制御ポイント装置200は、メディアサーバにHTTP GET要求を転送して、それに対する応答としてXML形式に作成された該当メディアサーバのサービスディスクリプションを受信することができる。このように、図2を参考して説明する手続は、制御ポイント装置200がホームネットワークに含まれたUPnP装置またはDLNA装置を探索する段階で遂行できる。
制御ポイント装置200は、受信されたサービスディスクリプションに集合モード(Aggregation Mode)状態変数(State Variable)が含まれているか否かによって、該当メディアサーバがコンテンツ情報集合機能をサポートできるか否かを判断することができる。メディアサーバは、コンテンツ情報集合機能をサポートするか否かによって、コンテンツ情報集合機能をサポートするメディアサーバとコンテンツ情報集合機能をサポートしないメディアサーバとに分けられる。また、コンテンツ情報集合機能をサポートするメディアサーバは、集合可能メディアサーバ(ACMS:Aggregation Capable Media Server)と、集合メディアサーバ(AMS:Aggregation Media Server)とに分けられる。集合可能メディアサーバ(ACMS)はコンテンツ情報集合機能を遂行できるが、現在コンテンツ情報集合機能を遂行していないサーバを意味し、集合メディアサーバ(AMS)は現在コンテンツ情報集合機能を遂行しているメディアサーバを意味することができる。以下、一般メディアサーバ(LMS:Legacy Media Server)は、コンテンツ情報集合機能をサポートしないメディアサーバと同一の意味として使われる。また、現在コンテンツ情報集合機能を遂行しているメディアサーバである集合メディアサーバ(AMS)に対応して、現在集合メディアサーバ(AMS)のコンテンツ情報集合の対象となるメディアサーバを集合対象メディアサーバ(ADMS:Aggregated Media Server)と定義することができる。
ネットワーク内にコンテンツ情報集合機能をサポートするメディアサーバがあるとしても、制御ポイント装置200はコンテンツ情報集合機能をサポートするメディアサーバとコンテンツ情報集合機能をサポートしないメディアサーバとが区別できない。したがって、制御ポイント装置200は複数のメディアサーバの各々にサービスディスクリプションを要求することができ、集合モード状態変数が含まれたサービスディスクリプションを受信することによって、コンテンツ情報集合機能をサポートするメディアサーバを知ることができる。
コンテンツ情報集合機能をサポートするメディアサーバは、制御ポイント装置200に集合モード状態変数のように新しく定義された状態変数を転送することによって、自らがコンテンツ情報集合機能をサポートするメディアサーバであることを見せることができる。図2に示すように、制御ポイント装置200が第1メディアサーバ110にHTTP GETを要求すれば(S301)、第1メディアサーバ110はこれに対する応答として集合モード状態変数が含まれたサービスディスクリプション文書を制御ポイント装置200に転送する(S303)。制御ポイント装置200は、サービスディスクリプション文書に含まれた集合モード状態変数を通じて第1メディアサーバ110がコンテンツ情報集合機能をサポートするメディアサーバであることが分かる。
一方、コンテンツ情報集合機能をサポートしないメディアサーバは、制御ポイント装置200に集合モード状態変数が含まれていないサービスディスクリプションを転送することができる。図2に示すように、制御ポイント装置200が第2メディアサーバ130または第3メディアサーバ150にHTTP GETを要求すれば(S305、S309)、第2メディアサーバ130または第3メディアサーバ150はこれに対する応答として集合モード状態変数が含まれていないサービスディスクリプション文書を制御ポイント装置200に転送する(S307、S311)。制御ポイント装置200は、サービスディスクリプション文書に集合モード状態変数が含まれていないことを確認して、第2メディアサーバ130または第3メディアサーバ150がコンテンツ情報集合機能をサポートしないメディアサーバであることが分かる。
集合モード状態変数の属性(properties)は、状態変数名称(Name)、イベントの有無(Event)、データタイプ(Data type)、及びデフォルト値(Default Value)を含むことができ、これに限定されるものではない。状態変数名称は、集合モード(Aggregation Mode)でありうる。イベントが可能で、集合メディアサーバ(AMS)は集合モード状態変数を含んだイベントを通じて制御ポイント装置または他の集合可能メディアサーバ(ACMS)に自らが現在コンテンツ情報集合機能を遂行しているメディアサーバであることを知らせることができる。イベントが不可能なこともあるが、このような場合には制御ポイント装置200が集合メディアサーバ(AMS)に集合モードを獲得するためのアクションを適用することによって、該当集合メディアサーバ(AMS)が集合機能を遂行したか否かを知るだけである。データタイプはブーリアン(Boolean)タイプであって、データ値が‘0’の場合は該当メディアサーバの集合機能がターンオフ(turned off)された場合であって、該当メディアサーバが集合メディアサーバ(AMS)でない、集合可能メディアサーバ(ACMS)であることを示し、データ値が‘1’の場合はその瞬間の該当メディアサーバの集合機能がターンオン(turned on)された場合であって、該当メディアサーバが集合メディアサーバ(AMS)であることを示す。デフォルト値は政策に従って決定されることができ、例えばデフォルト値を‘0’にして、メディアサーバを基本的に集合可能メディアサーバ(ACMS)にセッティングすれば、集合メディアサーバ(AMS)が1つ以上の時に引き起こされる不要なネットワークトラフィックを防止することができる。
以下、ネットワーク上に複数の集合メディアサーバがコンテンツ情報集合機能を遂行している場合、複数の集合メディアサーバのうち、1つのメディアサーバのみを集合メディアサーバに設定する方法について説明する。
図3は、本発明の更に他の実施形態に係るコンテンツ情報集合プロトコルを実行する集合メディアサーバを設定する方法を説明するためのフローチャートである。
図3を参照すると、1つのネットワークにおいて、第1メディアサーバ310と第2メディアサーバ330が各々集合機能を遂行する(S501、S502)。第1メディアサーバ310と第2メディアサーバ330は、各々コンテンツ情報集合機能をサポートするメディアサーバであって、例えば、集合モード状態変数のデータ値が全て‘1’に該当して、現在コンテンツ情報集合機能がターンオンされた場合でありうる。言い換えると、第1メディアサーバ310及び第2メディアサーバ300が全て集合メディアサーバ(AMS)に該当する。
制御ポイント装置200は、第1メディアサーバ310に集合モード獲得アクション(GetAggregationMode)を転送する(S503)。集合モード獲得アクションは、複数のコンテンツ情報集合機能をサポートするメディアサーバのうち、集合メディアサーバを区別するために集合モード状態変数を要求する命令でありうる。
制御ポイント装置200は、内装または外装連結されたユーザインターフェース(User Interface)を介して受信したユーザ入力によってメディアサーバがコンテンツ情報集合機能をサポートするか否かを確認することができる。例えば、制御ポイント装置200はユーザインターフェースを介して第1メディアサーバ310または第2メディアサーバ330を選択するユーザ入力を受信すれば、選択されたメディアサーバに集合モード獲得アクションを転送し、集合モード獲得アクションに対応する応答信号を受信することによって、ユーザ入力によって選択されたメディアサーバがコンテンツ情報集合機能をサポートするか否かを確認することができる。
集合モード獲得アクションの属性(properties)は、アクション名称(Name)、アーギュメント(Arguments)、関連した状態変数(Related State Variable)を含むことができ、これに限定されるものではない。アクション名称は、集合モード獲得(GetAggregationMode)でありうる。アーギュメントは命令に対応する変数であって、集合モード獲得アクションに対応する集合モード状態変数(AggregationMode)であり、集合モード状態変数の転送方向(Direction)はアウト(OUT)と定義されることができ、集合モード獲得アクションを受信した対象、例えば第1メディアサーバ310が集合モード状態変数を送信する主体になることができる。関連した状態変数は、集合モード状態変数(Aggregation Mode)でありうる。関連した状態変数の回収された値が‘0’の場合は、該当メディアサーバが集合メディアサーバ(AMS)でない集合可能メディアサーバ(ACMS)であることを意味し、関連した状態変数の回収された値が‘1’の場合は、該当メディアサーバが集合メディアサーバ(AMS)であることを意味することができる。
制御ポイント装置200は、集合モード獲得アクションに対する応答として第1メディアサーバ310から転送された集合モード状態変数が含まれた情報を受信する(S505)。第1メディアサーバ310がデータ値が‘1’の集合モード状態変数を転送すれば、制御ポイント装置200は第1メディアサーバ310が集合メディアサーバ(AMS)であることが分かる。一方、制御ポイント装置200は集合モード獲得アクションをメディアサーバに転送しなくても、メディアサーバから転送されたイベントメッセージ(eventing messages)を通じて該当メディアサーバが集合メディアサーバであることを知ることもでき、これに限定されるものではない。例えば、制御ポイント装置200は第1メディアサーバ310からデータ値が‘1’の集合モード状態変数が含まれたイベントメッセージの転送を受けることによって、第1メディアサーバ310が集合メディアサーバ(AMS)であることを知ることもできる。
また、第1メディアサーバ310は制御ポイント装置200から転送された装置ディスクリプション要求(device description request)に対応して、制御ポイント装置200に装置ディスクリプションを転送することができる。この際、装置ディスクリプションは集合モード状態変数と共に変更されたフレンドリ名(FriendlyName)を含むことができる。例えば、制御ポイント装置200は複数のサーバと連結された場合、連結された複数のサーバのフレンドリ名が含まれたメディアサーバフレンドリ名リストをディスプレイ部に表示してユーザに提供することができる。次に、制御ポイント装置200は第1メディアサーバ310から転送された、変更されたフレンドリ名を受信した場合、第1メディアサーバ310の変更されたフレンドリ名をディスプレイ部に表示することができる。ユーザは制御ポイント装置200のディスプレイ部に表示されたメディアサーバフレンドリ名リストを通じて、集合モードを実行しているメディアサーバを識別することができる。フレンドリ名は“all your content aggregated”のように、該当メディアサーバの集合モード状態を示すことができるので、該当メディアサーバの製造名やモデル名のように、ユーザが該当メディアサーバの状態を識別し難いIDと区別できる。このように、集合メディアサーバ(AMS)は集合機能を遂行し始める時、該当ネットワーク内でコンテンツメタデータを収集する動作を示すフレンドリ名を変更することによって、制御ポイント装置200に集合機能の可否を知らせることができる。
前述したように、制御ポイント装置200は第2メディアサーバ330にも別に集合モード獲得アクション(GetAggregationMode)を転送する(S507)。これに対し、第2メディアサーバ330がデータ値が‘1’の集合モード状態変数が含まれた情報を転送すれば(S509)、制御ポイント装置200は第2メディアサーバ330が集合メディアサーバ(AMS)であることが分かる。
次に、制御ポイント装置200は第2メディアサーバ330を集合メディアサーバ(AMS)に設定する(S511)。言い換えると、制御ポイント装置200は第2メディアサーバ330のみを集合メディアサーバ(AMS)に設定し、第1メディアサーバ310はこれ以上集合メディアサーバ(AMS)でない、集合可能メディアサーバ(ACMS)に設定することができる。この場合、第1メディアサーバ310は第2メディアサーバ330の集合機能実行対象として集合対象メディアサーバ(ADMS)になることもでき、これに限定されるものではない。制御ポイント装置200は、第1メディアサーバ310及び第2メディアサーバ330から転送された集合モード状態変数から複数のメディアサーバが現在コンテンツ情報集合を実行していることが分かる。但し、1つのネットワークで2つの集合メディアサーバが必要でない場合には、2つのうちの1つのメディアサーバのみが集合機能を遂行することで足りる。制御ポイント装置200は、メディアサーバが集合機能をサポートするか否か、及び遂行するか否かを確認し、制御することができる。制御ポイント装置200の制御によって対象メディアサーバは集合機能を遂行することも、遂行しないこともある。
また、制御ポイント装置200はユーザインターフェースを介してメディアサーバの集合モード状態を設定または変更するユーザ入力を受信することもできる。本発明の実施形態によれば、制御ポイント装置200はユーザインターフェースを介して複数の集合機能遂行が可能なメディアサーバのうち、1つのメディアサーバを集合機能を遂行するサーバとして選択するユーザ入力を受信することができる。例えば、制御ポイント装置200はユーザインターフェースを介して第2メディアサーバ330の集合モード状態をオンに設定するユーザ入力または第1メディアサーバ310の集合モード状態をオフに変更するユーザ入力を受信することができる。
次に、制御ポイント装置200は第1メディアサーバ310にデータ値が‘0’の集合モード状態変数を含む集合モード設定アクション(SetAggregationMode)を転送する(S513)。制御ポイント装置200は、第2メディアサーバ330のみがコンテンツ情報集合機能を遂行するようにするために、第1メディアサーバ310の集合機能遂行を中断させることができる。制御ポイント装置200は、集合モード設定アクションを用いて第1メディアサーバ310の集合機能を制御することができる。集合モード設定アクションは、コンテンツ情報集合機能をサポートするメディアサーバの集合機能が活性化または不活性化されるように制御する制御命令でありうる。
集合モード設定アクションの属性(properties)は、アクション名称(Name)、アーギュメント(Arguments)、関連した状態変数(Related State Variable)を含むことができ、これに限定されるものではない。アクション名称は、集合モード設定(SetAggregationMode)でありうる。アーギュメントは命令に対応する変数であって、集合モード設定アクションに対応する集合モード状態変数(Aggregation Mode)のことであり、集合モード状態変数の転送方向(Direction)はイン(IN)と定義されることができ、集合モード設定アクションを受信した対象、例えば第1メディアサーバ310が集合モード状態変数も受信することができる。この際、誤りコード(Error codes)は無用なパラメータ(Useless parameter)である741を含むことができる。誤りコードは集合モードアーギュメントの値が集合状態変数の現在値と同一であることを意味することができる。関連した状態変数は集合モード状態変数(AggregationMode)でありうる。関連した状態変数の回収された値が‘0’の場合は、該当メディアサーバの集合モードを不活性化することを意味し、関連した状態変数の回収された値が‘1’の場合は、該当メディアサーバの集合モードを活性化することを意味することができる。
データ値が‘0’の集合モード状態変数を含む集合モード設定アクションを受信した第1メディアサーバ310は集合機能遂行を中断する(S515)。したがって、制御ポイント装置200の制御によって、ネットワーク上には第2メディアサーバ330のみが集合メディアサーバ(AMS)としてコンテンツ情報集合機能を遂行することができる。
図4は、本発明の更に他の実施形態に係るコンテンツ情報集合プロトコルを実行する集合メディアサーバを設定する方法を説明するためのフローチャートである。以下、図3で説明したものと同一の部分に対する説明は省略する。
図4を参考すると、1つのネットワーク内で第1メディアサーバ310及び第2メディアサーバ330両方とも集合機能を遂行していない。第1メディアサーバ310及び第2メディアサーバ330は、例えば集合モード状態変数のデータ値が全て‘0’に該当して、現在コンテンツ情報集合機能がターンオフされた場合でありうる。
制御ポイント装置200が第1メディアサーバ310に集合モード獲得アクション(GetAggregationMode)を転送すれば(S601)、集合モード獲得アクションに対する応答として第1メディアサーバ310から転送された集合モード状態変数が含まれた情報を受信する(S603)。第1メディアサーバ310がデータタイプが‘0’の集合モード状態変数を転送すれば、制御ポイント装置200は第1メディアサーバ310が集合メディアサーバ(AMS)の機能を遂行していないことが分かる。一方、制御ポイント装置200は集合モード獲得アクションをメディアサーバに転送しなくても、メディアサーバから転送されたイベントメッセージを通じて該当メディアサーバが集合機能を遂行するか否かを知ることもでき、これに限定されるものではない。例えば、制御ポイント装置200は第1メディアサーバ310からデータタイプが‘0’の集合モード状態変数が含まれたイベントメッセージの転送を受けることによって、第1メディアサーバ310が集合メディアサーバ(AMS)の機能を遂行していないことが分かる。
制御ポイント装置200は、第2メディアサーバ330にも別に集合モード獲得アクション(GetAggregationMode)を転送する(S605)。これに対し、第2メディアサーバ330がデータタイプが‘0’の集合モード状態変数が含まれた情報を転送すれば(S607)、制御ポイント装置200は第2メディアサーバ330が集合メディアサーバ(AMS)の機能を遂行していないことが分かる。次に、制御ポイント装置200は第1メディアサーバ310を集合メディアサーバ(AMS)に設定する(S609)。
制御ポイント装置200は、集合メディアサーバ(AMS)に設定された第1メディアサーバ310にデータ値が‘1’の集合モード状態変数を含む集合モード設定アクション(SetAggregationMode)を転送する(S611)。
データタイプの値が‘1’の集合モード状態変数を含む集合モード設定アクションを受信した第1メディアサーバ310は集合機能遂行を始める(S613)。したがって、制御ポイント装置200の制御によって、ネットワーク上で第1メディアサーバ310のみが集合メディアサーバ(AMS)としてコンテンツ情報集合機能を遂行することができる。
以下、図5及び図6を参考して本発明の実施形態に係るDLNAの2ボックスモデルと3ボックスモデルを構成する装置の構造を説明する。
図5は、本発明の実施形態に係る2ボックスモデルを構成する装置のブロックダイアグラムである。
図5を参考すると、DLNAの2ボックスモデルは、メディアサーバ100及びメディアプレイヤー400を含む。メディアサーバ100は、メディアプレイヤー400にイベントメッセージを転送することができる。または、メディアサーバ100はメディアプレイヤー400から転送された要求(Request)に対応して、応答(Response)を転送することもできる。メディアサーバ100は、メディアサーバのメモリ105に格納されたデータをメディアプレイヤー400に転送することができる。メディアプレイヤー400は、メディアサーバ100から転送されたデータを処理して再生することができる。
メディアサーバ100は、ネットワークインターフェース101、制御部103、メモリ105、及びメタデータ処理部113を含む。
メディアサーバ100のネットワークインターフェース101は、メディアプレイヤー400から転送された命令(command)、要求(request)、及びアクション(action)が含まれたメッセージを受信することができる。また、ネットワークインターフェース101は、メディアプレイヤー400にイベントメッセージ、データなどを転送することができる。ネットワークインターフェース101は、メディアサーバ100の物理的要素でありうる。
制御部103は、ユーザ入力またはソフトウェアに基づいてメディアサーバ100に含まれた各々の構成の動作を制御する。制御部103は、メディアサーバ100の論理的要素でありうる。例えば、制御部103はネットワークインターフェース101を介して受信した要求によって、メモリ105に格納されたコンテンツメタデータを抽出してネットワークインターフェース101を介して外部に転送されるように制御することができる。
メモリ105は、多様な種類の情報を格納する。メモリ105は、メディアサーバ100の物理的要素でありうる。メモリ105は、コンテンツ格納部107、メタデータ格納部109、及びバッファ111を含むことができる。コンテンツ格納部107は、メディアコンテンツデータを格納することができる。メタデータ格納部109は、コンテンツに関する情報であるメタデータを格納することができる。メタデータ格納部109は、メタデータを分類して格納することもできる。バッファ111は、多様な種類のデータを臨時に格納することができる。また、メモリ105はメディアサーバ100の状態情報を格納することができる。状態情報は、メディアサーバ100のハードウェア的な状態に関する情報、またはソフトウェア的な状態に関する情報を含むことができる。例えば、状態情報はメディアサーバ100の格納サイズ、メモリ、CPU性能、XMLパッシング能力、コンテンツ変更能力、連結及び転送プロトコル、格納されたコンテンツ個数、装置タイプ、集合モード状態、折衝モード状態などに関する情報を含むことができる。
メタデータ処理部113は、コンテンツ格納部107に格納されたメディアコンテンツのメタデータを抽出し、分離する。メタデータ処理部113が抽出及び分離したメタデータはメタデータ格納部109に格納できる。
メディアサーバ100は、コンテンツを格納するだけでなく、コンテンツと関連した情報であるメタデータを共に格納することができるので、格納されたコンテンツに対する情報を提供し、コンテンツストリーミングサービス、コンテンツアップロード/ダウンロードサービスを提供することができる。
メディアプレイヤー400は、ネットワークインターフェース401、制御部403、メモリ405、メタデータ処理部413、デコーディング部415、及びディスプレイ部417を含み、前述したメディアコントローラとメディアレンダラーの機能を全て実行することができる。以下、前述したものと同一の説明は省略する。
ネットワークインターフェース401は、メディアサーバ100に命令(command)、要求(request)、アクション(action)が含まれたメッセージを転送することができる。また、ネットワークインターフェース401はメディアサーバ100から転送されたイベントメッセージ、データなどを受信することができる。
制御部403は、ユーザ入力またはソフトウェアに基づいてメディアサーバ100に含まれた各々の構成の動作を制御する。例えば、制御部403はネットワークインターフェース401を介して受信したコンテンツをメモリ405に格納し、格納されたコンテンツをデコーディング部415で処理して、処理されたコンテンツがディスプレイ部417に表示されるように制御することができる。
メモリ405は、コンテンツ格納部407、メタデータ格納部409、及びバッファ411を含む。コンテンツ格納部407は、メディアサーバ100から転送されたメディアコンテンツを格納することができる。メタデータ格納部409は、メディアサーバ100から転送されたメタデータを格納することができる。
メタデータ処理部413は、メディアサーバ100から転送されたメタデータのデータタイプを区分して、制御部403が視覚化するか、または制御可能に一定のカテゴリーに分類することができる。
デコーディング部415は、エンコーディングされたメディアコンテンツをディスプレイ部417に表示できるようにデコーディングする。
ディスプレイ部417は、ユーザインターフェースまたはメディアのような多様な種類のデータを視覚化して表示する。ユーザは、ディスプレイ部417に表示されたユーザインターフェースを介してユーザ入力を入力することができ、ディスプレイ部417にメディアを表示する方式でメディアを用いることもできる。
図6は、本発明の実施形態に係る3ボックスモデルを構成する装置のブロックダイアグラムである。以下、前述した2ボックスモデルで説明された構成と同一の構成に対する説明は省略する。
DLNAの3ボックスモデルは、メディアサーバ100、メディアコントローラ200、及びメディアレンダラー500を含む。メディアサーバ100は、メディアコントローラ200にイベントメッセージ(event)またはメディアコントローラ200から転送された要求(request)に従う応答(response)を転送することができる。メディアコントローラ200は、メディアレンダラー500にイベントメッセージ(event)またはメディアレンダラー500から転送された要求(request)に従う応答(response)を転送することもできる。メディアサーバ100は、メディアコントローラ200から転送された要求(request)に従ってメディアレンダラー500にデータ(data)を転送することができる。メディアレンダラー500は、メディアサーバ100から転送されたデータをディスプレイ部517に表示することができる。3ボックスモデルでメディアコントローラ200はメディアサーバ100から転送されたコンテンツのメタデータを格納及び処理することができ、メディアレンダラー500はメディアサーバから転送されたコンテンツを格納、処理、及びディスプレイすることができる。
以下、図7を参考して、本発明の実施形態に係る折衝メディアサーバにより集合メディアサーバが設定される方法を説明する。
図7は、本発明の実施形態に係る折衝メディアサーバが集合メディアサーバを設定する方法を説明するためのフローチャートである。
図7を参考すると、第1メディアサーバ710は同一のネットワークに含まれた複数の集合可能メディアサーバ、例えば第2メディアサーバから第5メディアサーバ730、750、770、790のうち、少なくとも1つを集合メディアサーバに設定することができる。
1つのネットワークに複数の集合可能メディアサーバが連結されている場合、ユーザ入力により制御される制御ポイント装置から要求信号が転送されないとしても、自動で集合可能メディアサーバが他の集合可能メディアサーバの集合機能が活性化するか否かを制御する必要がある。
但し、他の集合可能メディアサーバによる集合可能メディアサーバの制御がユーザの意図と異なるようになされることがあるので、集合可能メディアサーバの集合機能が他の集合可能メディアサーバにより制御できるか否かを指示及び設定する必要がある。
折衝手続(Negotiation procedures)は、複数の集合可能メディアサーバのうち、少なくとも1つの集合機能を遂行する集合メディアサーバに設定する自動的な(automatic)手続を意味することができる。例えば、集合可能メディアサーバがこのような折衝手続を開始することができる。
折衝メディアサーバ(Negotiator)は、折衝手続を開始する集合可能メディアサーバを意味することができる。例えば、ネットワークに新しく加入(join)する集合可能メディアサーバは自動的に折衝メディアサーバになることができる。または、折衝メディアサーバの状況が変わる場合、例えば集合メディアサーバになるとか、該当ネットワークとの連結が途絶える場合に、折衝メディアサーバは予め他の集合可能メディアサーバに折衝メディアサーバの役割を任せることもできる。折衝メディアサーバはネットワーク連結が途絶える場合に、集合メディアサーバに予めこれを知らせることもできる。
1つのネットワークに折衝メディアサーバがない場合には、集合メディアサーバが該当ネットワーク内で1つの集合可能メディアサーバに折衝メディアサーバの役割を任せなければならない責任がありうる。
図7で、第1メディアサーバ710が第2メディアサーバから第5メディアサーバ730、750、770、790を含むネットワークに新しく加入すれば(S701)、第1メディアサーバ710は折衝メディアサーバとなることができる。折衝メディアサーバである第1メディアサーバ710は折衝機能を活性化して(S703)、集合可能メディアサーバである第1メディアサーバから第5メディアサーバ710、730、750、770、790のうちの1つを集合メディアサーバに設定するための折衝手続を開始する前に、複数のメディアサーバの各々の集合モードに関する情報を収集することができる。
第1メディアサーバ710は、第2メディアサーバから第5メディアサーバ730、750、770、790に集合モード獲得アクション(GetAggregationMode)を転送する(S707、S711、S715、S719)。集合モード獲得アクションを受信した第2メディアサーバから第5メディアサーバ730、750、770、790は、第1メディアサーバ710に特定の値を有する状態変数を転送することができる。集合モード獲得アクションに対応して転送される応答は、制御可能集合モード(ControllableAggregationMode)状態変数、集合モード(AggregationMode)状態変数のうち、少なくとも1つを含むことができる。
制御可能集合モード状態変数の属性(properties)は、状態変数名称(Name)、イベントの有無(Event)、データタイプ(Data type)、許容値(Allowed Value)、及びデフォルト値(Default Value)を含むことができ、これに限定されるものではない。状態変数名称は、制御可能集合モード(ControllableAggregationMode)でありうる。イベントは可能であることも、可能でないこともある。データタイプは、ブーリアン(Boolean)タイプ、またはストリング(string)タイプでありうる。データタイプがブーリアンタイプの場合、許容値は‘0’または‘1’でありうる。許容値が‘0’の場合は、該当集合可能メディアサーバが他の集合可能メディアサーバにより制御できないことを意味することができ、許容値が‘1’の場合は、該当集合可能メディアサーバが他の集合可能メディアサーバにより制御できることを意味することができる。データタイプがストリングタイプの場合、許容値は‘集合可能メディアサーバにより制御できない(Not_Controllable_by_ACMS)’、または‘集合可能メディアサーバにより制御できる(Controllable_by_ACMS)’でありうる。デフォルト値は政策に従って決定されることができ、例えばデフォルト値を‘1’にしてメディアサーバを基本的に他の集合可能メディアサーバにより制御できることに設定することが推奨されることができ、これに限定されるものではない。
集合モード状態変数の属性(properties)は、状態変数名称(Name)、イベントの可否(Event)、データタイプ(Data type)、許容値(Allowed Value)、及びデフォルト値(Default Value)を含むことができ、これに限定されるものではない。以下に説明する集合モード状態変数は、前述した集合モード状態変数と同一の概念であるが、データタイプなどでより拡張された概念を含むことができる。以下では前述した集合モード状態変数と同一の部分に関する説明は省略し、差異点を説明する。
集合モード状態変数のデータタイプは4種類の各々異なる状態を指示するデータタイプは何でも許容できる。例えば、データタイプは‘ui1’または‘ui4’になることができる。また、ストリング(string)タイプも適用できる。データタイプが‘ui1’または‘ui4’のような整数(integer)タイプの場合、許容値が‘0’の場合はコンテンツ情報集合機能を遂行することができるが、現在コンテンツ情報集合機能を遂行しておらず、該当集合可能メディアサーバが他の集合可能メディアサーバにより制御できることを意味することができる。許容値が‘1’の場合は、現在コンテンツ情報集合機能を遂行しており、該当集合可能メディアサーバが他の集合可能メディアサーバにより制御できることを意味することができる。許容値が‘2’の場合は、コンテンツ情報集合機能を遂行することができるが、現在コンテンツ情報集合機能を遂行しておらず、該当集合可能メディアサーバが他の集合可能メディアサーバにより制御できないことを意味することができる。許容値が‘3’の場合は、現在コンテンツ情報集合機能を遂行しており、該当集合可能メディアサーバが他の集合可能メディアサーバにより制御できないことを意味することができる。データタイプがストリングタイプの場合、許容値は‘集合可能メディアサーバにより制御できる集合可能メディアサーバ(Controllable_ACMS_by_ACMS)’、‘集合可能メディアサーバにより制御できる集合メディアサーバ(Controllable_AMS_by_ACMS)’、‘集合可能メディアサーバにより制御できない集合可能メディアサーバ(Not_Controllable_ACMS_by_ACMS)’、‘集合可能メディアサーバにより制御できない集合メディアサーバ(Not_Controllable_AMS_by_ACMS)’でありうる。デフォルト値は政策に従って決定できる。
第1メディアサーバ710は、第2メディアサーバ730に集合モード獲得アクション(GetAggregationMode())を転送する(S707)。第2メディアサーバ730は、現在該当ネットワーク上でコンテンツ情報集合機能を遂行しているので(S705)、集合モード獲得アクションに対する応答として許容値が‘1’の集合モード状態変数を第1メディアサーバに転送する(S709)。第1メディアサーバ710は、第2メディアサーバ730から転送された集合モード状態変数の許容値に基づいて第2メディアサーバ730が現在コンテンツ情報集合機能を遂行しており、第2メディアサーバ730は他の集合可能メディアサーバにより制御できることが分かる。
第1メディアサーバ710は、第3メディアサーバ750に集合モード獲得アクション(GetAggregationMode())を転送する(S711)。第3メディアサーバ750は、集合モード獲得アクションに対する応答として許容値が‘0’の集合モード状態変数を第1メディアサーバ710に転送する(S713)。第1メディアサーバ710は、第3メディアサーバ750から転送された集合モード状態変数の許容値に基づいて第3メディアサーバ750がコンテンツ情報集合機能を遂行することができるが、現在コンテンツ情報集合機能を遂行しておらず、第3メディアサーバ750は他の集合可能メディアサーバにより制御できることが分かる。
第1メディアサーバ710は、第4メディアサーバ770に集合モード獲得アクション(GetAggregationMode())を転送する(S715)。第4メディアサーバ770は、集合モード獲得アクションに対する応答として許容値が‘2’の集合モード状態変数を第1メディアサーバ710に転送する(S717)。第1メディアサーバ710は、第4メディアサーバ770から転送された集合モード状態変数の許容値に基づいて第4メディアサーバ770がコンテンツ情報集合機能を遂行することができるが、現在コンテンツ情報集合機能を遂行しておらず、第4メディアサーバ770は他の集合可能メディアサーバにより制御できないことが分かる。
第1メディアサーバ710は、第5メディアサーバ790に集合モード獲得アクション(GetAggregationMode())を転送する(S719)。第5メディアサーバ790は、集合モード獲得アクションに対する応答として許容値が‘3’の集合モード状態変数を第1メディアサーバ710に転送する(S721)。第1メディアサーバ710は、第5メディアサーバ790から転送された集合モード状態変数の許容値に基づいて第5メディアサーバ790が現在コンテンツ情報集合機能を遂行しており、第5メディアサーバ790は他の集合可能メディアサーバにより制御できないことが分かる。
次に、第1メディアサーバ710は現在集合機能を遂行している集合メディアサーバである第2メディアサーバ730と第5メディアサーバ790のうち、他のメディアサーバにより制御できる第2メディアサーバ730と折衝手続を開始する(S723)。第1メディアサーバ710は、複数のメディアサーバの各々から収集した集合モードに関する情報に基づいて複数のメディアサーバのうちの少なくとも1つを集合メディアサーバに設定するための折衝を開始することができる。折衝手続は他のメディアサーバにより制御できるメディアサーバと折衝メディアサーバとの間に開始される手続でありうる。
次に、折衝結果、第1メディアサーバ710と第2メディアサーバ730のうち、第1メディアサーバ710が集合メディアサーバに設定されれば(S725)、第1メディアサーバ710は第2メディアサーバ730の集合機能を不活性化させながら、第1メディアサーバ710の集合機能を活性化させることができる。第1メディアサーバ710は、第2メディアサーバ730の集合機能を不活性化させるために、第2メディアサーバ730にデータタイプが‘0’の集合モード状態変数(AggregationMode=0)を含む集合モード設定アクション(SetAggregationMode)を転送する(S727)。また、第1メディアサーバ710は第1メディアサーバ710の集合機能を活性化しながら折衝機能を不活性化する(S735)。第1メディアサーバ710の集合機能活性化と折衝機能不活性化は同時になされることができるが、これに限定されるものではない。図面符号ステップS727とステップS735は同時に遂行されることができ、これに限定されるものではない。
また、第1メディアサーバ710は第2メディアサーバ730に許容値が‘1’の折衝モード状態変数(NegotiationMode)を含む折衝モード設定アクション(SetNegotiationMode)を転送する(S729)。第1メディアサーバ710は、自分が集合メディアサーバになるにつれて第2メディアサーバ730に折衝メディアサーバの役割を引き渡すことができる(handover)。
折衝モード状態変数の属性(properties)は、状態変数名称(Name)、イベントの有無(Event)、データタイプ(Data type)、許容値(Allowed Value)、デフォルト値(Default Value)を含むことができ、これに限定されるものではない。状態変数名称は折衝モード(NegotiationMode)でありうる。イベントが可能で、集合メディアサーバは折衝モード状態変数を含んだイベントを通じて該当ネットワーク内に折衝メディアサーバがあるか否かが分かる。データタイプはブーリアン(Boolean)タイプ、またはストリング(string)タイプでありうる。データタイプがブーリアンタイプの場合、許容値は‘0’または‘1’でありうる。許容値が‘0’の場合は、該当メディアサーバが折衝メディアサーバでないことを意味することができ、許容値が‘1’の場合は該当メディアサーバが折衝メディアサーバであることを意味することができる。データタイプがストリングタイプの場合、許容値は‘折衝メディアサーバ(Negotiator)’または‘折衝メディアサーバでない(Not_a_Negotiator)’ことがある。デフォルト値が‘1’の場合、集合可能メディアサーバが1つのネットワークに加入した場合に集合手続を始めることができ、これに限定されるものではない。
折衝モード設定アクションの属性(properties)は、アクション名称(Name)、及びアーギュメント(Arguments)を含むことができ、これに限定されるものではない。アクション名称は、折衝モード設定(SetNegotiationMode)でありうる。アーギュメントは命令に対応する変数であって、アーギュメント名称(Name)、アーギュメント方向(Direction)、関連した状態変数(Related State Variable)を含むことができ、これに限定されるものではない。折衝モード設定アクションに対応するアーギュメントの名称は折衝モード状態変数(NegotiationMode)のことであり、転送方向はイン(IN)に定義されることができ、折衝モード設定アクションを転送する第1メディアサーバ710が折衝モード状態変数を送信する主体になることができる。関連した状態変数は、折衝モード状態変数(NegotiationMode)でありうる。
次に、‘0’の値を有する集合モード状態変数を含む集合モード設定アクション及び‘1’の値を有する折衝モード状態変数を含む折衝モード設定アクションを受信した第2メディアサーバ730は、集合機能を不活性化しながら折衝機能を活性化する(S731)。集合機能の不活性化と折衝機能の活性化は同時に遂行されることができ、これに限定されるものではない。したがって、第2メディアサーバ730は集合機能の遂行を中断する(S733)。第2メディアサーバ730は、現在集合機能を遂行する第1メディアサーバ710のネットワーク連結が中断されるなど、集合メディアサーバの不在時、新たな集合メディアサーバを設定するために折衝メディアサーバとして折衝手続を新しく開始することができる。
次に、図8を参考して、本発明の実施形態に従って別途のお知らせ無しで折衝メディアサーバのネットワーク接続が解除された場合、新たな折衝メディアサーバを設定する方法を説明する。
図8は、本発明の実施形態に係る折衝メディアサーバを設定する方法を説明するためのフローチャートである。
図8を参考すると、第1メディアサーバ710は折衝機能を活性化する(S901)。1つのネットワーク内で第1メディアサーバ710は現在折衝メディアサーバの役割を遂行することができる。
第1メディアサーバ710は折衝メディアサーバであって、現在集合機能を遂行している(S903)集合メディアサーバである第2メディアサーバ730に許容値が‘1’の折衝モード状態変数を含むイベントメッセージを転送する(S905)。許容値が‘1’の折衝モード状態変数を含むイベントメッセージを受信した第2メディアサーバ730は、第1メディアサーバ710が折衝メディアサーバであることが分かる。
次に、第1メディアサーバ710がお知らせ(notification)や折衝メディアサーバへの役割を他のメディアサーバに引き渡し(handover)無しでネットワーク接続が解除される場合が発生する。
集合メディアサーバである第2メディアサーバ730は、ネットワーク内に折衝メディアサーバがあるか否かを確認することができる。前述した第1メディアサーバのイベントメッセージ転送とは異なり、同一ネットワークに存在する他のメディアサーバである第3メディアサーバ750が特定の許容値を有する折衝モード状態変数を含むいかなるイベントメッセージも転送しない場合(S907)、第2メディアサーバ730は第3メディアサーバ750に折衝モード獲得アクション(GetNegotiationMode())を転送する(S909)。
折衝モード獲得アクションの属性(properties)は、アクション名称、及びアーギュメント(Arguments)を含むことができ、これに限定されるものではない。アクション名称は折衝モード獲得(GetNegotiationMode)でありうる。アーギュメントは命令に対応する変数であって、アーギュメント名称(Name)、アーギュメント方向(Direction)、関連した状態変数(Related State Variable)を含むことができ、これに限定されるものではない。折衝モード獲得アクションに対応するアーギュメント名称は、折衝モード状態変数(NegotiationMode)でありうる。アーギュメント、即ち折衝モード状態変数の転送方向はアウト(OUT)として定義されることができ、折衝モード獲得アクションを受信した対象、例えば第3メディアサーバ750の折衝モード状態変数が対象アーギュメントになることができる。関連した状態変数は、折衝モード状態変数(NegotiationMode)でありうる。
第3メディアサーバ750は、折衝モード獲得アクションに対応して許容値が‘0’の折衝モード状態変数を第2メディアサーバ730に転送する(S911)。
ネットワーク内のメディアサーバから許容値が‘1’の折衝モード状態変数を含むイベントメッセージまたは応答メッセージを受信できなかった第2メディアサーバ730は、該当ネットワーク上で折衝機能を遂行するサーバである折衝メディアサーバの不在を認識する(S913)。
次に、ネットワーク上で折衝メディアサーバの不在を認識した第2メディアサーバ730は、第3メディアサーバ750に許容値が‘1’の折衝モード状態変数を含む折衝モード設定アクションを転送する(S915)。
許容値が‘1’の折衝モード状態変数を含む折衝モード設定アクションを受信した第3メディアサーバ750は新たな折衝メディアサーバになることができる。
次に、図9から図11を参考して、折衝手続上で集合メディアサーバを設定する基準を説明する。
図9は、本発明の実施形態に係る折衝メディアサーバが集合メディアサーバを設定する基準を説明するためのフローチャートである。
図9を参考すると、1つのネットワークに含まれた第2メディアサーバ730と第3メディアサーバ750は、各々集合機能を遂行する集合メディアサーバである(S1101、S1103)。
第1メディアサーバ710は、例えば第2メディアサーバ730及び第3メディアサーバ750が含まれたネットワークに新しく加入すれば、折衝メディアサーバになって第1メディアサーバ710の折衝機能が活性化される(S1105)。1つのネットワークに複数の集合可能メディアサーバまたは集合メディアサーバが存在する場合に発生する不要なネットワークトラフィックを避けるために、1つまたは最小限の集合可能メディアサーバのみが集合機能を遂行する必要があり、その他の集合可能メディアサーバは集合機能を遂行する必要無しで一般メディアサーバとして機能するだけで足りる。したがって、例えば1つの集合可能メディアサーバを特定して集合機能を遂行するようにするために、折衝メディアサーバは複数の集合可能メディアサーバの集合能力に関する情報を収集することができる。
折衝機能が活性化された第1メディアサーバ710は、第2メディアサーバ730に集合モード獲得アクション(GetAggregationMode())を転送する(S1107)。第2メディアサーバ730は、第1メディアサーバ710から転送された集合モード獲得アクションに対する応答として、データタイプが‘1’の集合モード状態変数を転送する(S1109)。
次に、第1メディアサーバ710は第2メディアサーバ730に集合能力獲得アクション(GetAggregationCapability())を転送する(S1111)。第2メディアサーバ730は、第1メディアサーバ710から転送された集合能力獲得アクションに対する応答として、集合能力状態変数を転送する(S1113)。
また、第1メディアサーバ710は第3メディアサーバ750に集合モード獲得アクション(GetAggregationMode())を転送する(S1115)。第3メディアサーバ750は、第1メディアサーバ710から転送された集合モード獲得アクションに対する応答として、データタイプが‘0’の集合モード状態変数を転送する(S1117)。
次に、第1メディアサーバ710は第3メディアサーバ750に集合能力獲得アクション(GetAggregationCapability())を転送する(S1119)。第3メディアサーバ750は、第1メディアサーバ710から転送された集合能力獲得アクションに対する応答として、集合能力状態変数を転送する(S1121)。
このように、第1メディアサーバ710は集合モード獲得アクションを用いて1つのネットワーク内で第2メディアサーバ730及び第3メディアサーバ750が集合機能を遂行していることが分かる。これによって、集合可能メディアサーバ、例えば第1メディアサーバ710、第2メディアサーバ730、及び第3メディアサーバ750は、集合機能を遂行するために必須的に(necessarily)、そして長所として(beneficially)要求されるメディアサーバの能力(capabilities)とリソース(resources)に関する情報を共有する必要がある。メディアサーバの装置属性のうち、どんな属性が必須的で、かつ長所として要求される能力とリソースであるかが定義される必要がある。
集合能力獲得アクション(GetAggregationCapability())はアクション名称(Name)、及びアーギュメント(Arguments)を含むことができ、これに限定されるものではない。アクション名称は、集合能力獲得(GetAggregationCapability)でありうる。アーギュメントは、アーギュメント名称(Name)、アーギュメント方向(Direction)、関連した状態変数(Related State Variable)を含むことができ、これに限定されるものではない。集合能力獲得アクションに対応するアーギュメントの名称は、集合能力状態変数(AggregationCapability)のことであり、集合能力状態変数の転送方向はアウト(OUT)として定義できる。関連した状態変数は、集合能力状態変数(AggregationCapability)でありうる。
集合能力状態変数(AggregationCapability)の属性(properties)は、状態変数名称(Name)、イベントの有無(Event)、データタイプ(Data type)、許容値(Allowed Value)を含むことができ、これに限定されるものではない。状態変数名称は、集合能力(AggregationCapability)でありうる。イベントは可能であることも、可能でないこともある。データタイプは、ストリング(string)タイプでありうる。許容値はいろいろな値を表現するリスト形態、例えば、‘CSV(Comma Separated Value list)’でありうる。‘CSV’タイプの状態変数は複数の属性を含むことができる。当該個々のデータタイプは装置属性によって決定できる。以下、図10及び図11を参考して、集合能力状態変数に含まれることができる情報について説明する。
図10は、本発明の実施形態に係る集合メディアサーバ設定基準を説明するための図である。
図10を参考すると、本発明の一実施形態に係る集合能力状態変数は、全体格納サイズ(Total Storage Size)、残っている格納サイズ(Free Storage Size)、メモリ(Memory)、CPU、XMLパッシング能力(XML Parsing Capability)、変更能力(Transforming Capability)、連結及び転送プロトコル(Connectivity & Transfer protocol)、格納されたコンテンツ個数(The number of stored content)、装置タイプ(Device Type)、集合モード(Aggregation Mode)などの装置属性に関する情報を含むことができ、これに限定されるものではない。
全体格納サイズと残っている格納サイズは、該当メディアサーバが1つのネットワーク内で収集するコンテンツメタデータの量を決定する基準になることができる。
メモリは、該当メディアサーバが1つのネットワーク内で扱うコンテンツメタデータの量を決定する基準になることができる。
CPUパフォーマンスは、該当メディアサーバのデータ管理及び計算と関連がある。
メタデータはXMLとして表現されるため、XMLパッシング能力が重要な要素となり、XMLパッシング能力に従う等級(grade)情報が要求される。
集合可能メディアサーバは、実際に該当コンテンツを含むメディアサーバに代わってコンテンツを変更することもできるので、変更能力は重要な属性となり、該当メディアサーバが変更できるファイルフォーマットの個数が変更能力を説明する情報となることができる。
連結及び転送プロトコルは、該当メディアサーバが他のメディアサーバまたは制御ポイント装置に転送するデータの量を決定する基準になることができ、連結及び転送プロトコルに従う等級情報が要求される。例えば、イーサネット(Ethernet)が具現された装置の連結及び転送プロトコルの等級は高いほど良く、ブルートゥース(Bluetooth)が具現された装置の連結及び転送プロトコルの等級は低くても関係ない。
格納されたコンテンツ個数と関連して、集合可能メディアサーバは他のメディアサーバからコンテンツメタデータを収集するサーバであるので、より多い数のコンテンツメタデータを格納する集合可能メディアサーバが他のメディアサーバからより少ない個数のコンテンツメタデータを収集する必要がある。
該当ネットワークに、より長く接続されているメディアサーバが集合機能を遂行することが良いので、装置タイプ等級が必要である。例えば、移動装置の装置タイプ等級は低く、PCのような高仕様(high performance)の装置とネットワークに付着された(attached)サーバのように永久的に(または、半永久的に)電源が付いている装置は装置タイプ等級が高い。
現在、集合機能を遂行するメディアサーバが続けて集合機能を遂行することが便利であるので、集合モードに対する情報が必要である。
図9の図面符号ステップS1113で、第2メディアサーバ730は第2メディアサーバ730の全体格納サイズ(500MB)、残っている格納サイズ(100MB)、メモリ(2GB)、CPU(2.53GHz)、XMLパッシング能力(Grade 1)、変更能力(13)、連結及び転送プロトコル(Grade 2)、格納されたコンテンツ個数(204個)、装置タイプ(Grade 4)、集合モード(ON)などに対する情報が含まれた集合能力状態情報を第1メディアサーバ710に転送することができる。
図9の図面符号ステップS1121で、第3メディアサーバ750は第3メディアサーバ750の全体格納サイズ(100MB)、残っている格納サイズ(20MB)、メモリ(1GB)、CPU(1GHz)、XMLパッシング能力(Grade 3)、変更能力(0)、連結及び転送プロトコル(Grade 1)、格納されたコンテンツ個数(564個)、装置タイプ(Grade 1)、集合モード(OFF)などに対する情報が含まれた集合能力状態情報を第1メディアサーバ710に転送することができる。
図11は、本発明の更に他の実施形態に係る集合メディアサーバ設定基準を説明するための図である。
図11を参考すると、本発明の更に他の実施形態に係る集合能力状態変数は、該当デバイスの全ての属性を各々知らせる代わりに、集合能力等級を示す1つの値を含む。複数の集合可能メディアサーバの各々は翻訳規則(translation rule)を通じて自分が有する多くの種類の装置属性を単一整数として評価された等級に翻訳することができる。
本発明の更に他の実施形態に係る集合能力状態変数の属性(properties)は、状態変数名称(Name)、イベントの有無(Event)、データタイプ(Data type)、許容値(Allowed Value)、許容値範囲(Allowed Value Range)を含むことができ、これに限定されるものではない。状態変数名称は、集合能力(AggregationCapability)でありうる。イベントは可能であることも、可能でないこともある。データタイプは、ui4タイプでありうる。許容値は‘0’から’M’までの全ての整数のことであり、‘M’は最大等級を示すことができる。許容値範囲は‘0’以上‘M’以下になることができ、より詳しく比較すると、最大値は増加することができる。
図9の図面符号ステップS1113で、第2メディアサーバ730は許容値が‘3’の集合能力状態情報を第1メディアサーバ710に転送することもできる。
図9の図面符号ステップS1121で、第3メディアサーバ750は許容値が‘4’の集合能力状態情報を第1メディアサーバ710に転送することもできる。
更に、図9を説明する。
まず、図10及び図11を参考して説明したように、第1メディアサーバ710は第2メディアサーバ730及び第3メディアサーバ750の各々から転送された集合能力状態情報を受信した後、第1メディアサーバ710、第2メディアサーバ730、及び第3メディアサーバ750の集合能力を比較して、集合メディアサーバになるメディアサーバを判断する(S1123)。
次に、第1メディアサーバ710は、第1メディアサーバ710、第2メディアサーバ730、及び第3メディアサーバ750の集合能力を比較した結果、第1メディアサーバ710を集合メディアサーバに設定する(S1125)。
例えば、また図10を説明すると、第1メディアサーバ710は、第1メディアサーバ710、第2メディアサーバ730、及び第3メディアサーバ750の各々の装置属性を比較して順位(Rank)を付けた後、各属性の順位を全て合せた結果が最も小さいメディアサーバを集合メディアサーバに設定することができる。図10で、第1メディアサーバ710は、第2メディアサーバ730及び第3メディアサーバ750の各々に集合能力獲得アクション(GetAggregationCapability())を転送し、これに対応する集合能力状態変数(GetAggregationMode)を受信することによって、各々の装置属性に関する情報を収集することができる。第1メディアサーバ710は、各々の装置属性を比較して順位を付けた後、順位を総合することができる。順位を総合した結果、第1メディアサーバ710の順位総合は16、第2メディアサーバ730の順位総合は19、第3メディアサーバ750の順位総合は23であり、順位総合が最も小さい第1メディアサーバ710が集合能力が最も良いメディアサーバに設定できる。順位を決定する方法は、これに限定されるものではない。
更に他の例を挙げて、また図11を説明すると、第1メディアサーバ710は、第2メディアサーバ730及び第3メディアサーバ750の各々から1つの等級として計算された集合能力状態変数を受信することができる。第1メディアサーバ710は、受信された集合能力状態変数の等級と自分の集合能力状態変数の等級を全て比較して等級の数字が最も小さい第1メディアサーバ710を集合メディアサーバに設定することができる。
集合メディアサーバに設定された第1メディアサーバ710は、自分の集合モード状態変数の値が‘0’の場合、集合モード状態変数の値を‘1’に変更して集合機能を活性化させる(S1127)。集合機能が活性化された第1メディアサーバ710は集合機能を遂行する(S1129)。
次に、第1メディアサーバ710は第2メディアサーバ730にデータタイプが‘0’の集合モード状態変数(AggregationMode=0)が含まれた集合モード設定アクション(SetAggregationMode())を転送する(S1131)。
第2メディアサーバ730は、自分の集合モード状態変数のデータ値を‘1’から‘0’に変更するなど、集合機能を不活性化させる(S1133)。集合機能が不活性化された第2メディアサーバ730は集合機能の遂行を中断する(S1135)。
次に、コンテンツ情報集合機能をサポートするメディアサーバの状態が集合可能メディアサーバと集合メディアサーバに変換される過程を説明する。
図12は、本発明の実施形態に係るコンテンツ情報集合機能をサポートするメディアサーバの集合モードの状態変化を説明するためのフローチャートである。
図12を参考すると、コンテンツ情報集合機能をサポートする集合可能メディアサーバがネットワークに加入すれば(S1301)、該当ネットワークに含まれたメディアサーバのうち、集合メディアサーバがあるか否かを判断するために周期的に集合メディアサーバを探索する(S1303)。この際、集合可能メディアサーバは折衝メディアサーバとして動作することができる。集合可能メディアサーバは、集合メディアサーバを探索するために、前述した集合モード獲得アクション(GetAggregationMode)などを用いることもでき、または他の集合可能メディアサーバまたは他の集合メディアサーバから転送された集合モード状態に対する情報が含まれたイベントメッセージを受信することもでき、これに限定されるものではない。
集合可能メディアサーバは該当ネットワークに含まれたメディアサーバ全てが集合機能を遂行しないと判断されるまで、即ち集合メディアサーバ探索が完了するまで集合モード不活性化状態を維持する(S1305)。
集合可能メディアサーバは、集合メディアサーバを発見した場合(S1307)、集合モード不活性化状態を維持し、集合メディアサーバを発見しない場合(S1307)に限って自分の集合モードを活性化する(S1309)。また、集合可能メディアサーバは集合メディアサーバを発見した場合、折衝メディアサーバとして複数の集合メディアサーバの集合能力を比較した後、集合能力が最も優れるメディアサーバを集合メディアサーバに設定することができる。集合可能メディアサーバは、例えば自分の集合モード状態変数の値が‘1’となるようにして自分の集合モードを活性化することができ、これに限定されるものではない。
集合可能メディアサーバは、集合モードが活性化された場合、集合機能を遂行する(S1311)。例えば、集合可能メディアサーバは集合メディアサーバとなることができ、集合メディアサーバは該当ネットワークに含まれたメディアサーバのうち、他のメディアサーバにより制御できる状態のメディアサーバに格納されたコンテンツメタデータを収集することができる。
集合メディアサーバは、該当ネットワーク内で他の集合メディアサーバを発見した場合(S1313)、自分の集合モードを不活性化する(S1317)。または、集合メディアサーバが該当ネットワークから脱退して(S1315)、接続が切れた後には自分の集合モードを不活性化する(S1317)。
このように、ネットワーク内で別途の制御装置の指示がない場合にも、少なくとも1つのメディアサーバがネットワークに含まれた他の複数のメディアサーバに格納された情報を収集することができるので、制御装置は1つのメディアサーバに一回の情報要求を行うことによって、複数のメディアサーバが格納する情報を受信することができる。
一方、メディアサーバまたは制御装置が集合メディアサーバに格納された集合オブジェクトのうち、特定オブジェクトなどを選択するために、集合メディアサーバに格納された複数のコンテンツメタデータの各々を本来格納されていたメディアサーバの種類によって区分する必要がある。以下、図13から図15を参考して、集合メディアサーバに収集及び格納されたコンテンツメタデータを区分する方法について説明する。
図13は、本発明の実施形態に係る集合メディアサーバが収集したコンテンツ情報を区別するために用いる属性を説明するためのフローチャートである。
図13を参考すると、第2メディアサーバ930は集合メディアサーバ(AMS)であって、集合機能を遂行する(S1501)。第2メディアサーバ930は、集合機能を遂行するために、集合対象メディアサーバ(ADMS)である第3メディアサーバ950または第4メディアサーバ970からコンテンツメタデータを受信する(S1503、S1505)。
次に、制御ポイント装置200は第2メディアサーバ930に集合対象装置リスト獲得アクション(GetAggregatedDeviceList())を転送する(S1511)。制御ポイント装置200は第2メディアサーバ930が収集したコンテンツメタデータがどんな装置から収集されたものかを知るために、集合メディアサーバである制御ポイント装置200に集合対象装置リスト獲得アクションを転送することができる。1つのネットワークに複数の集合メディアサーバ(AMS)が存在することにより発生する不要なネットワークトラフィックを防止するために、集合メディアサーバ(AMS)に格納されたコンテンツメタデータのうち、収集されたコンテンツメタデータ及び収集されていないコンテンツメタデータを区別する必要がある。収集されていないコンテンツメタデータは該当集合メディアサーバ(AMS)により生成されるか、または該当集合メディアサーバ(AMS)に本来から格納されていたコンテンツメタデータを意味することができる。以下、ローカルに格納された(locally stored)コンテンツは収集されていないコンテンツと同一の意味として使用できる。
このようなコンテンツメタデータの区別のために、新たなCDS属性(property)が定義される必要がある。新たなCDS属性は、属性名称(Name)、データタイプ(DataType)、多重値(Multi-valued)、R/W(Read/Write)を含むことができ、これに限定されるものではない。属性名称は、集合対象(Aggregated)でありうる。データタイプはブーリアン(Boolean)タイプ、またはストリング(string)タイプでありうる。データタイプがブーリアンタイプの場合、データタイプの値が‘0’の場合は、該当コンテンツメタデータが集合メディアサーバ(AMS)のローカルに格納されたコンテンツのメタデータであることを意味することができる。データタイプの値が‘1’の場合は、該当コンテンツメタデータが集合メディアサーバ(AMS)が他のメディアサーバから収集したコンテンツメタデータであることを意味することができる。データタイプがストリングタイプの場合、データタイプの値は‘ローカル(Local)’または‘集合対象(Aggregated)’でありうる。該当属性は多重値である必要はないが、これに限定されるものではない。R/Wは読み取り(read)及び書き取り(write)が許容されることができ、これに限定されるものではない。
付け加えて、前述した新たなCDS属性は集合メディアサーバ(AMS)がコンテンツメタデータを収集してきたメディアサーバ、例えばオリジナルメディアサーバ(original media server)がどんなメディアサーバであるかを示すことができる。
このようなコンテンツメタデータが収集されたオリジナルメディアサーバの区別のために、新たなCDS属性が定義できる。新たなCDS属性は、属性名称(Name)、データタイプ(DataType)、多重値(Multi-valued)、及びR/W(Read/Write)を含むことができ、これに限定されるものではない。属性名称は集合対象出処(AggregatedFrom)、または出処サーバ機器識別子(originalServerUDN)でありうる。データタイプは、ストリング(string)タイプでありうる。データタイプがストリングタイプの場合、データタイプの値はメディアサーバの機器識別子(UDN:Unique Device Name)を表示することができる。該当属性は多重値である必要はないが、これに限定されるものではない。R/Wは読み取り(read)及び書き取り(write)が許容されることができ、これに限定されるものではない。一方、ローカルに格納されたコンテンツメタデータのための属性値は該当ローカルの機器識別子であるか、または空白(empty)として残すことができ、これに限定されるものではない。
また、集合メディアサーバ(AMS)に格納されたコンテンツメタデータがどこから来たものかに対する情報は、他の集合可能メディアサーバ(ACMSs)または制御装置により共有される必要がある。情報共有のために状態変数及びアクションの定義が必要でありうる。
集合メディアサーバ(MAS)に格納されたコンテンツメタデータの出処に対する情報は、状態変数を通じて分かる。状態変数は、名称(Name)、イベントの有無(Event)、データタイプ(Data type)、許容値(Allowed Value)、及びデフォルト値(Default Value)を含むことができ、これに限定されるものではない。状態変数の名称は集合対象装置リスト(AggregatedDeviceList)、またはA_ARG_TYPE_AggregatedDeviceListでありうる。イベントが可能であることも、可能でないこともある。データタイプはストリングのことであり、集合メディアサーバがコンテンツメタデータを収集した出処になるメディアサーバの機器識別子を示すことができる。許容値は‘CSV’でありうる。状態変数が複数の機器識別子を含むことができるので、許容値は‘CSV’タイプにならなければならず、これに限定されるものではない。デフォルト値は定義される必要はない。
また、集合メディアサーバ(MAS)に格納されたコンテンツメタデータの出処に対する情報はアクションを通じて分かる。例えば、集合対象装置リスト獲得アクションは、集合メディアサーバがコンテンツメタデータを収集した対象である集合対象メディアサーバなどの集合対象装置の識別子などを含むリストを獲得するための制御命令でありうる。集合対象リスト獲得アクションは、名称(Name)、アーギュメント(Argument)、関連した状態変数(Related State Variable)、エラーコード(Error Codes)などを含むことができる。名称は集合対象装置リスト獲得(GetAggregatedDeviceList)でありうる。
アーギュメントの名称(Name)は集合対象装置リスト(AggregatedDeviceList)のことであり、アーギュメントの方向(Direction)はアウト(OUT)でありうる。関連した状態変数は集合対象装置リスト(AggregatedDeviceList)、またはA_ARG_TYPE_AggregatedDevice Listでありうる。エラーコードは、742を含むことができる。エラーコード742はサポートされないアクション(Unsupproted action)を意味することができる。例えば、エラーコードが742の場合は、集合対象装置リスト獲得アクションのような要求されたアクションは集合モード状態変数(AggregationMode)の値が‘1’の場合のみにサポートできるので、現在状態変数の値が‘0’の場合に要求されたアクションがサポートされないことを意味することができる。
第2メディアサーバ930は、集合対象装置リスト獲得アクション(GetAggregatedDeviceList())に対応して制御ポイント装置200に集合対象装置リスト(AggregatedDeviceList)状態変数が含まれた応答を転送する(S1513)。この際、集合対象装置リスト(AggregatedDeviceList)状態変数は、第2メディアサーバ930の集合対象メディアサーバであった第3メディアサーバ950及び第4メディアサーバ970の各々の機器識別子(UUID:Universally Unique IDentifier)情報を含むことができる。
制御ポイント装置200は、第2メディアサーバ930に集合対象出処(AggregatedFrom)情報を含むサーチ(Search())要求を転送する(S1515)。この際、制御ポイント装置200は集合対象出処(AggregatedFrom)情報に第3メディアサーバ950または第4メディアサーバ970を特定することができる。
第2メディアサーバ930は、サーチ要求に対応して制御ポイント装置200にコンテンツメタデータを転送する(S1517)。この際、第2メディアサーバ930は格納されたコンテンツメタデータのうち、第3メディアサーバ950または第4メディアサーバ970の各々から収集したコンテンツメタデータを区別して制御ポイント装置200に転送することができる。
このように、メディアサーバは同一ネットワークに含まれた集合メディアサーバにコンテンツメタデータを要求するに当たって、集合対象装置リスト獲得アクション、集合対象装置リスト状態変数、集合対象出処属性、集合対象属性などを用いて、集合メディアサーバのローカルに格納されたコンテンツメタデータか、または集合メディアサーバが収集したコンテンツメタデータかを区別することもでき、集合メディアサーバが収集したコンテンツメタデータの場合、その出処を区別することによって、特定のメディアサーバに格納されていたコンテンツメタデータのみを選択的に転送を受けることができる。
以下、図14及び図15を参考して、集合メディアサーバが変更または重複される場合に、新たな集合メディアサーバが以前の集合メディアサーバからコンテンツ情報を受信するに当たって、前述したアクション、状態変数、及び情報の属性を用いて必要なコンテンツ情報のみを区別して転送を受けるための方法を説明する。この際、図13を参考して説明したものと同一の部分に対する説明は省略する。
図14は、本発明の実施形態に係る新たな集合メディアサーバがコンテンツ情報を区別するための属性を用いて以前の集合メディアサーバからコンテンツ情報を受信する方法を説明するためのフローチャートである。
図14を参考すると、第2メディアサーバ930は、集合メディアサーバ(AMS)として集合機能を遂行して(S1701)、同一ネットワーク内に含まれたメディアサーバ、例えば第1メディアサーバ910、第3メディアサーバ950、及び第4メディアサーバ970の各々からコンテンツメタデータを収集する(S1703、S1705、S1707)。
次に、第1メディアサーバ910が第2メディアサーバ930に集合対象装置リスト獲得アクション(GetAggregatedDeviceList())を要求すれば(S1709)、第2メディアサーバ930は第1メディアサーバ910に第1メディアサーバ910、第3メディアサーバ950、及び第4メディアサーバ970の各々の機器識別子(UDNs)情報を含む集合対象装置リスト状態変数を応答として転送する(S1711)。
次に、制御ポイント装置200は第1メディアサーバ910に値が‘1’の集合モード状態変数(AggregationMode=1)を含む集合モード獲得アクション(SetAggregationMode())を転送して(S1713)、第1メディアサーバ910の集合機能遂行を開始させる(S1715)。この際、制御ポイント装置200だけでなく、同一のネットワークに含まれたメディアサーバが第1メディアサーバ910及び第2メディアサーバ930の集合機能を制御することもでき、これに限定されるものではない。
第1メディアサーバ910は、第2メディアサーバ930に特定コンテンツメタデータを要求する(S1717)。第1メディアサーバ910は、コンテンツメタデータ要求時、第2メディアサーバ930のローカルに格納されたコンテンツメタデータ及び第3メディアサーバ950と第4メディアサーバ970の各々から収集されたコンテンツメタデータを特定して要求することができる。第1メディアサーバ910は、第2メディアサーバ930の代りに集合メディアサーバ(AMS)になったメディアサーバであって、第2メディアサーバ930が以前に収集したコンテンツメタデータの転送を受けることによって、コンテンツメタデータをまた収集する必要がない。但し、第1メディアサーバ910は第2メディアサーバ930が以前に第1メディアサーバ910から収集したコンテンツメタデータをまた収集する必要はないので、コンテンツメタデータの特定時、第1メディアサーバ910から収集されたコンテンツメタデータは除外することができる。
第2メディアサーバ930は、図面符号ステップS1721で、第1メディアサーバ910が行った要求に対応して、第2メディアサーバ930のローカルに格納されたコンテンツメタデータ及び第3メディアサーバ950と第4メディアサーバ970の各々から収集されたコンテンツメタデータを第1メディアサーバ910に転送する(S1719)。
次に、制御ポイント装置200が第2メディアサーバ930に値が‘0’の集合モード状態変数(AggregationMode=0)を含む集合モード獲得アクション(SetAggregationMode())を転送して(S1721)、第2メディアサーバ930の集合機能遂行を中断させる(S1723)。
図15は、本発明の更に他の実施形態に係る新たな集合メディアサーバがコンテンツ情報を区別するための属性を用いて以前の集合メディアサーバからコンテンツ情報を受信する方法を説明するためのフローチャートである。
第2メディアサーバ930が集合メディアサーバとして集合機能を遂行している途中に(S1801)、制御ポイント装置200が第1メディアサーバ910に値が‘1’の集合モード状態変数(AggregationMode=1)を含む集合モード設定アクション(SetAggregationMode())を転送すれば(S1803)、第1メディアサーバ910やはり第2メディアサーバ930と同一のネットワーク内で集合機能を遂行する(S1805)。
集合メディアサーバになった第1メディアサーバ910は、第2メディアサーバ930に特定コンテンツメタデータを得るためのサーチ要求(Search() with locally stroed in 第2メディアサーバ)を転送する(S1807)。
次に、第2メディアサーバ930は第1メディアサーバ910に図面符号S1807から転送を受けたサーチ要求に対応して、特定コンテンツメタデータを転送する(S1809)。
特定コンテンツメタデータは、第2メディアサーバ930のローカルに格納されたコンテンツメタデータでありうる。このように、同一のネットワークで集合メディアは第1メディアサーバ910と第2メディアサーバ930が重複して存在する場合に、第2メディアサーバは既に集合機能を遂行して他のメディアサーバのコンテンツメタデータを収集及び格納しているので、他のメディアサーバのコンテンツメタデータ収集が重複することを防止するために、第1メディアサーバ910は第2メディアサーバ930が集合機能を遂行して収集したコンテンツメタデータでない、第2メディアサーバ930のローカルに格納されたコンテンツメタデータのみを収集することができる。
以下、図16及び図17を参考して、集合メディアサーバが収集したコンテンツメタデータに識別子を与えて、コンテンツメタデータ収集後に集合対象メディアサーバ上で該当コンテンツメタデータのアップデートが実行される場合、これを反映するための方法を説明する。
図16は、本発明の実施形態に係る集合メディアサーバがメディアサーバから収集したコンテンツオブジェクトに識別子を与える過程を説明するためのフローチャートである。
図16を参考すると、第1メディアサーバ910は集合メディアサーバ(AMS)であって、集合機能を遂行する(S1901)。したがって、第1メディアサーバ910は第2メディアサーバ930にブラウズ/サーチ要求(Browse/Search())を転送して(S1903)、第2メディアサーバ930から転送されたコンテンツメタデータ(Content Metadata)を受信する(S1905)。第2メディアサーバ930から転送されたコンテンツメタデータ(Content Metadata)は、例えばオブジェクトIDが各々‘1’及び‘2’の2つのコンテンツオブジェクトを含むことができる。
また、第1メディアサーバ910は第3メディアサーバ950にブラウズ/サーチ要求(Browse/Search())を転送して(S1907)、第3メディアサーバ950から転送されたコンテンツメタデータ(Content Metadata)を受信する(S1909)。第3メディアサーバ950から転送されたコンテンツメタデータ(Content Metadata)は、例えばオブジェクトIDが各々‘2’及び‘4’の2つのコンテンツオブジェクトを含むことができる。全てのメディアコンテンツは唯一の識別子により互いに区別されなければならない。唯一の識別子は該当メディアコンテンツを含んでいるメディアサーバにより割り当てられて、したがって、単一メディアサーバ内のみでメディアコンテンツの識別性(uniqueness)が維持できる。
一方、集合メディアサーバ(AMS)は1つのメディアサーバでなく、複数の各々異なるメディアサーバから複数のメディアコンテンツを収集することが一般的である。したがって、集合メディアサーバ(AMS)により収集されたメディアコンテンツの識別子が意味する唯一性はこれ以上維持できない。前述した図面符号ステップS1905で収集されたコンテンツメタデータは識別子であるオブジェクトIDが‘1’のコンテンツオブジェクト、及びオブジェクトIDが‘2’のコンテンツオブジェクトを含み、図面符号ステップS1909を通じて収集されたコンテンツメタデータは識別子であるコンテンツオブジェクトIDが‘2’のコンテンツオブジェクト及びオブジェクトIDが‘4’のコンテンツオブジェクトを含むので、オブジェクトID‘2’が重複するので、オブジェクトID‘2’という識別子だけではコンテンツオブジェクトを区別できなくなる。
このような場合、第1メディアサーバ910は収集された複数のコンテンツメタデータの各々の識別子、即ち各々のオブジェクトIDを比較して、同一のオブジェクトIDが存在するか否かを判断する(S1911)。
第1メディアサーバ910は、重複するオブジェクトIDが存在する場合、重複するオブジェクト、即ちコンテンツメタデータに新たなIDを割り当てる(S1913)。即ち、集合メディアサーバ(AMS)は、集合メディアコンテンツ(aggregate media content)に新たな、唯一の識別子を割り当てらなければならず、割り当てられた新たな識別子は集合メディアコンテンツ(aggregate media content)のメタデータの新たなタイプによって格納されなければならない。
集合メディアサーバ(AMS)が新しく割り当てる識別子は、新たなCDS属性(Property)として定義できる。新たなCDS属性は、属性名称(Property Name)、データタイプ(DataType)、多重値(Multi-valued)、及びR/Wを含むことができ、これに限定されるものではない。属性名称はオブジェクトID(ObjectID)を含むことができ、“@id”を再使用することもでき、これに限定されるものではない。データタイプは‘ui4’またはストリング(string)タイプでありうる。‘ui4’データタイプはデータが整数(integer)であることを意味することができる。該当属性は多重値である必要はないが、これに限定されるものではない。R/Wは読み取りのみ可能であり(read only)、これに限定されるものではない。
例えば、第2メディアサーバ930から収集されたオブジェクトID‘1’のオブジェクトとオブジェクトID‘2’のオブジェクトは、集合メディアサーバ(AMS)で、各々‘1’の識別子と‘2’の識別子が割り当てられる。また、第3メディアサーバ950から収集されたオブジェクトID‘2’のオブジェクトとオブジェクトID‘4’のオブジェクトは、集合メディアサーバ(AMS)で各々‘3’の識別子と‘4’の識別子が割り当てられる。その結果、集合メディアサーバ(AMS)上で全てのコンテンツメタデータは各々異なる識別子を有するので、互いに区別できる。
また、本発明の更に他の実施形態に係る集合メディアサーバ(AMS)が新しく割り当てる識別子は更に他の新たなCDS属性(Property)として定義できる。CDS属性は、属性名称(Property Name)、データタイプ(DataType)、多重値(Multi-valued)、及びR/Wを含むことができ、これに限定されるものではない。属性名称は、オリジナルオブジェクトID(OriginalObjectID)、集合ID(@aggID)、または集合対象オブジェクトID(aggregatedObjectID)を含むことができ、これに限定されるものではない。データタイプは‘ui4’またはストリング(string)タイプでありうる。‘ui4’データタイプはデータが整数(integer)であることを意味することができる。該当属性は多重値である必要はないが、これに限定されるものではない。R/Wは読み取りのみ可能であり(read only)、これに限定されるものではない。
また、本発明の更に他の実施形態に係る集合メディアサーバ(AMS)が新しく割り当てる識別子は更に他の新たなCDS属性(Property)として定義できる。CDS属性は、属性名称(Property Name)、データタイプ(DataType)、多重値(Multi-valued)、及びR/Wを含むことができ、これに限定されるものではない。属性名称は集合ID(@aggID)を含むことができ、これに限定されるものではない。データタイプはCSVタイプでありうる。データタイプが整数(integer)であるCSVタイプは、オリジナルオブジェクトID(original object’s ID)とオリジナルメディアサーバの機器識別子(original media server's UDN)の各々の値のリストを意味することができる。該当属性は多重値である必要はないが、これに限定されるものではない。R/Wは読み取りのみ可能であり(read only)、これに限定されるものではない。
例えば、第2メディアサーバ930から収集されたオブジェクトID‘1’のオブジェクトは、集合メディアサーバ(AMS)で‘1’というオブジェクトID(ObjectID=1)、‘1’という集合対象オブジェクトID(aggregatedObjectID=1)、‘aab3’という出処サーバ機器識別子(OriginalServerUDN=aab3)が割り当てられる。また、第2メディアサーバ930から収集されたオブジェクトID‘2’のオブジェクトは、集合メディアサーバ(AMS)で‘2’というオブジェクトID(ObjectID=2)、‘2’という集合対象オブジェクトID(aggregatedObjectID=2)、‘aab3’という出処サーバ機器識別子(OriginalServerUDN=aab3)が割り当てられる。第3メディアサーバ950から収集されたオブジェクトID‘2’のオブジェクトは、集合メディアサーバ(AMS)で‘3’というオブジェクトID(ObjectID=3)、‘2’という集合対象オブジェクトID(aggregatedObjectID=2)、‘78wq’という出処サーバ機器識別子(OriginalServerUDN=78wq)のうち、少なくとも1つが割り当てられる。また、第3メディアサーバ950から収集されたオブジェクトID‘4’のオブジェクトは、集合メディアサーバ(AMS)で‘4’というオブジェクトID(ObjectID=4)、‘4’という集合対象オブジェクトID(aggregatedObjectID=2)、‘78wq’という出処サーバ機器識別子(OriginalServerUDN=78wq)が割り当てられる。結果的に、集合メディアサーバ(AMS)に収集されて格納された全てのコンテンツメタデータはオブジェクトIDで各々異なるオブジェクトとして区別されることができ、集合対象オブジェクトIDで集合対象メディアサーバから与えられた本来の識別子を知ることができ、出処サーバ機器識別子でオブジェクトの出処を知ることができる。
図17は、本発明の実施形態に係る集合メディアサーバが集合対象メディアサーバ上で実行されたコンテンツメタデータのアップデート状況を反映する過程を説明するためのフローチャートである。
図17を参考すると、第1メディアサーバ910は集合メディアサーバ(AMS)であって、第2メディアサーバ930などに格納されたコンテンツに対するコンテンツメタデータ集合機能を遂行する(S2100)。
次に、制御ポイント装置200が第2メディアサーバ930にオブジェクト破棄命令(DestroyObject)を転送する(S2101)。オブジェクト破棄命令(DestroyObject)は、オブジェクトを特定することができる。例えば、制御ポイント装置200はオブジェクトIDが‘4’のオブジェクトを特定して、第2メディアサーバ930にオブジェクト破棄命令(DestroyObject)を転送することができる。
第2メディアサーバ930は転送されたオブジェクト破棄命令(DestroyObject)に対応して、オブジェクトIDが‘4’のオブジェクトの削除または隠しを実行する(S2103)。例えば、第2メディアサーバ930でオブジェクトIDが‘4’のオブジェクトを削除したり(delete)、制御ポイント装置200または集合メディアサーバ(AMS)にオブジェクトIDが‘4’のオブジェクトを露出したりすることを中断することができる。
以後、第1メディアサーバ910が集合メディアサーバ(AMS)として、第2メディアサーバ930にブラウズ/サーチ要求(Browse/Search())を転送すれば(S2105)、第2メディアサーバ930はオブジェクトIDが‘4’のオブジェクトを除外した残りのコンテンツメタデータを第1メディアサーバ910に転送する(S2107)。
第1メディアサーバ910は第2メディアサーバ930から転送されたコンテンツメタデータを受信して、オブジェクトIDが‘4’のオブジェクトが削除されたことを感知する(S2109)。
次に、第1メディアサーバ910は削除されたオブジェクトのID、オリジナルID、及びオリジナルサーバ識別子を確認する(S2111)。削除されたオブジェクトのIDは前述した集合メディアサーバ(AMS)である第1メディアサーバ910が新しく与えた識別子であるオブジェクトIDを意味することができる。また、削除されたオブジェクトのオリジナルIDは集合対象メディアサーバである第2メディアサーバ930から与えられた本来の識別子である集合対象オブジェクトIDを意味することができる。また、削除されたオブジェクトのオリジナルサーバ識別子は、オブジェクトが収集される前に格納されていた第2メディアサーバ930の識別子であって、出処サーバ機器識別子を意味することができる。
第1メディアサーバ910は、削除されたオブジェクトの識別子が確認されれば、確認されたオブジェクト、即ちオブジェクトIDが‘4’のオブジェクトの削除または隠しを実行する(S2113)。このように、集合メディアサーバ(AMS)は持続的に集合機能を遂行しながら、集合対象メディアサーバ上でコンテンツメタデータのアップデートが実行される場合、これを反映することができる。
以下、図18から図30を参考して、本発明の実施形態に係る集合メディアサーバに収集及び格納された集合オブジェクト情報が制御ポイント装置などの要求によって変更またはリフレッシュされる多様な実施形態について説明する。以下、前述したものと同一の部分に対しては簡略に説明するか、または省略する。
図18は、本発明の実施形態に係る集合メディアサーバ上で集合オブジェクト情報が変更される過程を説明するためのフローチャートである。
図18を参考すると、第1メディアサーバ910が集合メディアサーバ(AMS)として集合機能を遂行する(S2301)。第1メディアサーバ910が第2メディアサーバ930、第3メディアサーバ950の各々にブラウズ/サーチ(Browse/Search())要求を転送すれば(S2303、S2307)、第2メディアサーバ930、第3メディアサーバ950の各々は第1メディアサーバ910にコンテンツメタデータ(Contentmetadata)を転送する(S2305、S2309)。
以下、図19を参考して、第1メディアサーバ910が収集した集合オブジェクト(Aggregate Object)の情報について説明する。
図19は、本発明の実施形態に係る集合メディアサーバ上での集合オブジェクト情報を示すテーブルである。
図19を参考すると、情報の属性(Property(Metadata type))は集合メディアサーバ(AMS)上での集合オブジェクト(Aggregate Object)を示すことができる。オブジェクトID(ObjectID)は集合メディアサーバ(AMS)により割り当てられた識別子を意味することができる。集合対象オブジェクトID(aggregatedObjectID)はオリジナルメディアサーバにより割り当てられた識別子を意味することができ、出処サーバ機器識別子(OriginalServerUDN)はオリジナルメディアサーバを示す唯一の識別子を意味することができる。タイトル(title)は該当コンテンツのタイトルを意味することができ、創作者(creator)は該当コンテンツを創作した主体の名称を意味することができ、これに限定されるものではない。図19に図示されたテーブルが示す情報を通じて、集合メディアサーバ(AMS)上で複数のコンテンツメタデータを各々区別することができる。
更に図18を説明する。
制御ポイント装置200は第1メディアサーバ910にオブジェクトアップデートアクション(UpdateObject())を転送する(S2311)。次に、第1メディアサーバ910は集合されたオブジェクトを再利用(転用)(reuse)する(S2321)。例えば、第1メディアサーバ910は転送されたオブジェクトアップデートアクションに対応してアップデート事項が発見される場合には、図20のように、該当コンテンツオブジェクト情報をアップデートすることができる。
図20は、本発明の実施形態に係る集合メディアサーバ上でのアップデートされた集合オブジェクト情報を示すテーブルである。
図20を参考すると、第1メディアサーバ910は制御ポイント装置200から転送されたオブジェクトアップデートアクションに従って、オブジェクトIDが‘11’のコンテンツオブジェクト(ObjectID=11)及びオブジェクトIDが‘18’のコンテンツオブジェクト(ObjectID=18)のタイトル情報、オブジェクトIDが‘16’のコンテンツオブジェクト(ObjectID=16)の創作者情報などをアップデートすることができる。
更に図18を説明する。
制御ポイント装置200は第1メディアサーバ910にオブジェクト破棄アクション(DestroyObject())を転送する(S2313)。次に、第1メディアサーバ910は集合されたオブジェクトを再利用(reuse)する(S2321)。例えば、第1メディアサーバ910は転送されたオブジェクト破棄アクションに対応して破棄事項が発見される場合には、図20のように、該当コンテンツオブジェクト情報を削除することができる。
図21は、本発明の実施形態に係る集合メディアサーバ上での破棄された集合オブジェクト情報を示すテーブルである。
図21を参考すると、第1メディアサーバ910は制御ポイント装置200から転送されたオブジェクト破棄アクションに従って、オブジェクトIDが‘12’のコンテンツオブジェクト(ObjectID=12)、及びオブジェクトIDが‘14’のコンテンツオブジェクト(ObjectID=14)の情報などを削除することができる。
このように、メディアサーバの具現(implementation)または制御装置の要求に従って、集合メディアサーバ(AMS)上での集合オブジェクト(aggregate object)が収集前のオリジナル集合対象オブジェクト(original aggregated object)と異なる点が発生することがある。但し、制御装置の要求のようにユーザが意図した差異としでも、ユーザが差異点の発生を取消し、集合オブジェクト(aggregate object)とオリジナル集合対象オブジェクト(original aggregated object)を同期化(synchronize)しようとする場合もある。以下、集合オブジェクト(aggregate object)とオリジナル集合対象オブジェクト(original aggregated object)を同期化(synchronize)するために利用できるアクション、状態変数などの属性について説明する。
更に図18を説明する。
制御ポイント装置200は第1メディアサーバ910に‘集合メタデータ’というリフレッシュフラグ(RefreshFlag=AggMetadata)及び値が‘11’のオブジェクトID(ObjectID=11)を含む集合リフレッシュアクション(RefreshAggregation())を転送する(S2315)。次に、第1メディアサーバ910は集合されたオブジェクトを再利用(reuse)する(S2321)。例えば、第1メディアサーバ910は転送された集合リフレッシュアクションに対応して、図22のように、該当コンテンツオブジェクト情報をリフレッシュすることができる。‘集合メタデータ(AggMetadata)’の値を有するリフレッシュフラグ(Refresh Flag)はオブジェクトID(ObjectID)アーギュメントにより特定された集合対象オブジェクトのみの収集を要求することを指示することができる。
図面符号ステップS2315のように、集合オブジェクト(aggregate objects)をリフレッシュする方法は、集合メディアサーバ上の集合オブジェクトのオブジェクトIDを特定するものである。この時には、集合対象メディアサーバのオリジナル集合対象オブジェクトを特定するものではない。したがって、制御ポイント装置200は図19のようなオブジェクト情報のうち、オブジェクトID(ObjectID)及び出処サーバ機器識別子のような機器識別子(DeviceUDN)のような情報は除外した他の情報を使用して集合オブジェクトをリフレッシュすることができる。この際、オブジェクトID(ObjectID)はオリジナル集合対象オブジェクトの集合オブジェクト識別子として、リフレッシュフラグの値が集合メタデータ(AggMetadata)、集合ダイレクトチルドレン(AggDirectChilren)、集合サブツリー(AggSubtree)の場合には、また収集されてアップデートされなければならない。集合対象CDSのルートオブジェクト(root object)に対応する‘0(zero)’の値を有するオブジェクトID(ObjectID)は機器識別子(DeviceUDN)アーギュメントにより特定できる。また、集合メディアサーバはオブジェクトのメタデータから既に知っている情報であるので、機器識別子(DeviceUDN)は必要としない。
図22は、本発明の実施形態に係る集合メディアサーバ上で特定集合オブジェクト情報がリフレッシュされた場合を示すテーブルである。
図22を参考すると、第1メディアサーバ910は制御ポイント装置200から転送された集合リフレッシュアクションに従って、オブジェクトIDが‘11’のコンテンツオブジェクト(ObjectID=12)の削除されたタイトル情報を復旧することができる。
更に図18を説明する。
制御ポイント装置200は第1メディアサーバ910に‘破棄されたオブジェクト全体’というリフレッシュフラグ(RefreshFlag=AllDestroyedObjects)、及び値が‘aab3’の機器識別子(DeviceUDN=aab3)を含む集合リフレッシュアクション(RefreshAggregation())を転送する(S2317)。次に、第1メディアサーバ910は集合されたオブジェクトを再利用(reuse)する(S2321)。例えば、第1メディアサーバ910は転送された集合リフレッシュアクションに対応して、図23のように、該当コンテンツオブジェクト情報をリフレッシュすることができる。‘破棄されたオブジェクト全体(AllDestroyedObjects)’の値を有するリフレッシュフラグ(Refresh Flag)はオブジェクト破棄アクション(DestroyObject())により削除された全ての集合オブジェクトの収集を要求することを指示することができる。この際、削除された全ての集合オブジェクトは機器識別子(DeviceUDN)アーギュメントにより特定された集合対象メディアサーバに属するオリジナル集合対象オブジェクトを意味することができる。
図23は、本発明の実施形態に係る集合メディアサーバ上で破棄された全ての集合オブジェクト情報がリフレッシュされた場合を示すテーブルである。
図23を参考すると、第1メディアサーバ910は制御ポイント装置200から転送された集合リフレッシュアクションに従って、出処サーバ機器識別子(originalServerUDN)が‘aab3’であるコンテンツオブジェクトの削除された情報を復旧することができる。
更に図18を説明する。
制御ポイント装置200は第1メディアサーバ910に‘アップデートされたオブジェクト全体’というリフレッシュフラグ(RefreshFlag=AllUpdatedObjects)及び値が‘79wq’である機器識別子(DeviceUDN=78wq)を含む集合リフレッシュアクション(RefreshAggregation())を転送する(S2319)。次に、第1メディアサーバ910は集合されたオブジェクトを再利用(reuse)する(S2321)。例えば、第1メディアサーバ910は転送された集合リフレッシュアクションに対応して、図24のように、該当コンテンツオブジェクト情報をリフレッシュすることができる。‘アップデートされたオブジェクト全体’の値を有するリフレッシュフラグ(Refresh Flag)はオブジェクトアップデートアクション(UpdateObject())により修正された全ての集合オブジェクトの収集を要求することを指示することができる。この際、修正された全ての集合オブジェクトは機器識別子(DeviceUDN)アーギュメントにより特定された集合対象メディアサーバに属するオリジナル集合対象オブジェクトを意味することができる。
図24は、本発明の実施形態に係る集合メディアサーバ上でアップデートされた全ての集合オブジェクト情報がリフレッシュされた場合を示すテーブルである。
図24を参考すると、第1メディアサーバ910は制御ポイント装置200から転送された集合リフレッシュアクションに従って、出処サーバ機器識別子(originalServerUDN)が‘78wq’であるコンテンツオブジェクトのアップデートされた情報をアップデート前の情報に復旧することができる。
前述したように、ユーザは制御ポイント装置200を用いて、集合メディアサーバ(AMS)に格納された集合オブジェクトの情報を変更することができる。例えば、集合オブジェクトの情報が破棄されるか、またはアップデートされることもでき、破棄またはアップデートのような変更事項が変更の以前に復旧されることもできる。このために、制御ポイント装置200が集合メディアサーバ(AMS)に転送できるオブジェクト変更命令は多様な形態のアクションを含むことができる。例えば、前述したオブジェクトアップデートアクション(UpdateObject())、オブジェクト破棄アクション(DestroyObject())、集合リフレッシュアクション(RefreshAggregation())の他にも、破棄オブジェクトリフレッシュアクション(RefreshDestroyObject())、アップデートオブジェクトリフレッシュアクション(RefreshUpdateObject())などのアクションを含むことができ、これに限定されるものではない。
破棄オブジェクトリフレッシュアクション(RefreshDestroyObject())は、集合メディアサーバ(AMS)上で破棄された全てのオブジェクトを回復させる命令を意味することができる。破棄オブジェクトリフレッシュアクション(RefreshDestroyObject())を受信した集合メディアサーバ(AMS)は、オリジナル集合対象オブジェクト(original aggregated object)を回収し、削除された集合オブジェクト(aggregate objects)をまた生成することができ、これに限定されるものではない。
アップデートオブジェクトリフレッシュアクション(RefreshUpdateObject())は、集合メディアサーバ(AMS)内でアップデートされた特定オブジェクトを回復させる命令を意味することができる。アップデートオブジェクトリフレッシュアクション(RefreshUpdateObject())を受信した集合メディアサーバ(AMS)は、オリジナル集合対象オブジェクト(original aggregated object)を回収し、該当オリジナルオブジェクト(original objects)と特定集合オブジェクト(aggregate objects)を同期化させることができ、これに限定されるものではない。アップデートオブジェクトリフレッシュアクション(RefreshUpdateObject())のアーギュメント(Argument)は、名称(Name)、方向(Direction)、関連した状態変数(Related State Variable)を含むことができ、これに限定されるものではない。アーギュメントの名称はオブジェクトID(ObjectID)のことであり、方向はイン(IN)を含むことができ、関連した状態変数はA_ARG_TYPE_ObjectIDでありうる。オブジェクトID(ObjectID)アーギュメントの値が“*”に設定されたアクションはアップデートされた全てのオブジェクトを回復させる命令を意味することができる。
また、集合リフレッシュアクション(RefreshAggregation())に含まれるアーギュメント(Argument)はリフレッシュフラグ(Refresh Flag)とオブジェクトID(ObjectID)を含むことができる。一方、リフレッシュフラグ(Refresh Flag)は集合メタデータ(AggMetadata)、破棄されたオブジェクト全体(AllDestroyedObjects)、アップデートされたオブジェクト全体(AllUpdatedObjects)の他にも、削除リフレッシュ(refresh deletion)、修正リフレッシュ(refresh modification)、全体メタデータ(All)、集合ダイレクトチルドレン(AggDirectChilren)、集合サブツリー(AggSubtree)、機器識別子(DeviceUDN)、結果(Result)、リターン数字(NumberReturned)、全体マッチ(TotalMatches)などを含むことができ、これに限定されるものではない。
リフレッシュフラグ(Refresh Flag)の値が削除リフレッシュ(refresh deletion)の場合、該当アクションは集合メディアサーバ(AMS)内の破棄された全てのオブジェクトを回復させる命令でありうる。したがって、集合メディアサーバ(AMS)がリフレッシュフラグ(Refresh Flag)の値が削除リフレッシュ(refresh deletion)であるアクションを受信すれば、オリジナル集合対象オブジェクト(original aggregated object)を回収し、削除された集合オブジェクト(aggregate objects)をまた生成することができ、これに限定されるものではない。すると、オブジェクトID(ObjectID)のアーギュメント値は空白(empty)になる。
リフレッシュフラグ(Refresh Flag)の値が修正リフレッシュ(refresh modification)の場合、該当アクションは集合メディアサーバ(AMS)内のアップデートされた特定オブジェクトをアップデート前に回復させる命令でありうる。したがって、集合メディアサーバ(AMS)がリフレッシュフラグ(Refresh Flag)の値が削除リフレッシュ(refresh deletion)であるアクションを受信すれば、オリジナル集合対象オブジェクト(original aggregated object)をまた回収し、特定集合オブジェクト(aggregate objects)をオリジナルオブジェクト(original objects)と同期化させることができ、これに限定されるものではない。すると、オブジェクトID(ObjectID)のアーギュメント値は空白(empty)になる。オブジェクトID(ObjectID)アーギュメントの値が“*”に設定されたアクションはアップデートされた全てのオブジェクトを回復させる命令を意味することができる。
‘全体メタデータ(All)’の値を有するリフレッシュフラグ(Refresh Flag)は機器識別子(DeviceUDN)アーギュメントにより特定された集合対象メディアサーバの全体オブジェクトの収集を要求することを指示することができる。
‘集合ダイレクトチルドレン(AggDirectChilren)’の値を有するリフレッシュフラグ(Refresh Flag)はオブジェクトID(ObjectID)アーギュメントにより特定される集合対象オブジェクトのダイレクトチルドレンオブジェクトの収集を要求することを指示することができる。この値のために、オブジェクトID(ObjectID)アーギュメントはコンテナクラスオブジェクト(container class object)を指示しなければならない。
‘集合サブツリー(AggSubtree)’の値を有するリフレッシュフラグ(Refresh Flag)は、オブジェクトID(ObjectID)アーギュメントにより特定される集合対象オブジェクトのサブツリーのような派生オブジェクト全体の収集を要求することを指示することができる。この値のために、オブジェクトID(ObjectID)アーギュメントはコンテナクラスオブジェクト(container class object)を指示しなければならない。
このように、オブジェクトID(ObjectID)はオブジェクト識別子として(@id of the object)、リフレッシュフラグの値が集合メタデータ(AggMetadata)、集合ダイレクトチルドレン(AggDirectChilren)、集合サブツリー(AggSubtree)の場合には、また収集されてアップデートされなければならない。集合対象CDSのルートオブジェクト(root object)に対応する‘0(zero)’の値を有するオブジェクトID(ObjectID)は機器識別子(DeviceUDN)アーギュメントにより特定できる。
また、オブジェクトがアップデートまたはリフレッシュされる集合対象メディアサーバ装置の機器識別子(DeviceUDN)は値が全体メタデータ(All)、破棄されたオブジェクト全体(AllDestroyedObjects)、アップデートされたオブジェクト全体(AllUpdatedObjects)であるリフレッシュフラグに含まれることができる。集合メディアサーバ(AMS)の集合対象メディアサーバに対応する‘0(zero)’の値を有する機器識別子(DeviceUDN)は、集合対象リスト状態変数の値と同一でありうる。
集合リフレッシュアクション(RefreshAggregation())のアーギュメントは、前述したリフレッシュフラグ(Refresh Flag)、オブジェクトID(ObjectID)の他にも、‘機器識別子(DeviceUDN)’アーギュメント、‘結果(Result)’アーギュメント、‘リターン数字(NumberReturned)’アーギュメント、‘全体マッチ(TotalMatches)’アーギュメントを含むことができ、これに限定されるものではない。‘機器識別子(DeviceUDN)’アーギュメントの名称(Name)は機器識別子(DeviceUDN)であり、方向(Direction)は‘イン(IN)’であり、関連した状態変数はA_ARG_TYPE_DeviceUDNでありうる。‘結果(Result)’アーギュメントの名称(Name)は結果(Result)であり、方向(Direction)は‘アウト(OUT)’であり、関連した状態変数はA_ARG_TYPE_Resultでありうる。‘リターン数字(NumberReturned)’アーギュメントの名称(Name)はリターン数字(NumberReturned)であり、方向(Direction)は‘アウト(OUT)’であり、関連した状態変数はA_ARG_TYPE_Countでありうる。‘全体マッチ(TotalMatches)’アーギュメントの名称(Name)は全体マッチ(TotalMatches)であり、方向(Direction)は‘アウト(OUT)’であり、関連した状態変数はA_ARG_TYPE_Countでありうる。
更に図18を説明する。
第1メディアサーバ910は制御ポイント装置から転送された集合リフレッシュアクション(RefreshAggregation())に対応して、第2メディアサーバ930に特定コンテンツメタデータを要求する(S2323)。次に、第2メディアサーバ930は要求を受けたコンテンツメタデータを第1メディアサーバ910に転送する(S2325)。図面に図示してはいないが、第1メディアサーバ910はこのような方法により第3メディアサーバ950から特定コンテンツメタデータを収集することができる。
以下、図25を参考して、‘全体メタデータ(All)’の値を有するリフレッシュフラグ(Refresh Flag)を用いて、集合メディアサーバが集合オブジェクト情報を変更する方法を説明する。以下、図18で説明した部分との差異点に限って説明する。
図25は、本発明の更に他の実施形態に係る集合メディアサーバ上で集合オブジェクト情報が変更される過程を説明するためのフローチャートである。
図25を参考すると、第1メディアサーバ910は図面符号ステップS2501からステップS2513を通じて集合されたオブジェクトを再利用する(S2517)。その結果、第1メディアサーバ910に収集及び格納されたコンテンツオブジェクトは図21に図示されたテーブルのような情報を含むことができる。
次に、制御ポイント装置200は第1メディアサーバ910に‘全体メタデータ’の値を有するリフレッシュフラグ(Refresh Flag=All)を含む集合リフレッシュアクション(RefreshAggregation())を転送する。
したがって、第1メディアサーバ910は第2メディアサーバ930及び第3メディアサーバ950の各々に集合リフレッシュアクション(RefreshAggregation())に対応するブラウズ/サーチアクション(Browse/Search())を転送することによって(S2519、S2523)、第2メディアサーバ930及び第3メディアサーバ950の各々から全体コンテンツメタデータを収集する(S2521、S2525)。
即ち、第1メディアサーバ910は‘全体メタデータ’の値を有するリフレッシュフラグ(Refresh Flag=All)を含む集合リフレッシュアクション(RefreshAggregation())に対応することによって、図24に図示されたテーブル情報と同一の情報をリフレッシュすることができる。
図26は、本発明の更に他の実施形態に係る集合メディアサーバ上で集合オブジェクト情報が変更される過程を説明するためのフローチャートである。
図26を参考すると、第1メディアサーバ910は集合機能を遂行する(S2701)。第1メディアサーバ910は図面符号ステップS2703からステップS2709を通じて、第2メディアサーバ930及び第3メディアサーバ950のコンテンツメタデータを収集する。第1メディアサーバ910が収集した集合オブジェクト(Aggregate Object)の情報は図19に図示されたテーブル情報のように格納できる。
次に、制御ポイント装置200が第1メディアサーバ910にオブジェクトアップデートアクション(UpdateObject())を転送すれば(S2711)、第1メディアサーバ910はオブジェクトアップデートアクション(UpdateObject())に従って集合オブジェクトを再利用する(S2719)。第1メディアサーバ910は転送されたオブジェクトアップデートアクションに対応してアップデート事項が発見される場合には、図27のように、該当コンテンツオブジェクト情報をアップデートすることができる。
図27は、本発明の更に他の実施形態に係る集合メディアサーバ上でのアップデートされた集合オブジェクト情報を示すテーブルである。
図27を参考すると、第1メディアサーバ910は制御ポイント装置200から転送されたオブジェクトアップデートアクションに従って、オブジェクトIDが‘13’のコンテンツオブジェクト(ObjectID=13)、オブジェクトIDが‘16’のコンテンツオブジェクト(ObjectID=16)、及びオブジェクトIDが‘18’のコンテンツオブジェクト(ObjectID=18)の創作者情報などをアップデートすることができる。
更に図26を説明する。
次に、制御ポイント装置200が第1メディアサーバ910にオブジェクト破棄アクション(DestroyObject())を転送すれば(S2713)、第1メディアサーバ910はオブジェクト破棄アクション(DestroyObject())に従って集合オブジェクトを再利用する(S2719)。第1メディアサーバ910は転送されたオブジェクト破棄アクションに対応して破棄事項が発見される場合には、図28のように、該当コンテンツオブジェクト情報を削除することができる。
図28は、本発明の更に他の実施形態に係る集合メディアサーバ上での破棄された集合オブジェクト情報を示すテーブルである。
図28を参考すると、第1メディアサーバ910は制御ポイント装置200から転送されたオブジェクトアップデートアクションに従って、オブジェクトIDが‘14’のコンテンツオブジェクト情報を削除することができる。
更に図26を説明する。
制御ポイント装置200が第1メディアサーバ910に‘全体メタデータ’の値を有するリフレッシュフラグ(RefreshFlag=AggMetadata)、及び値が‘11’のオブジェクトID(ObjectID=11)を含む集合リフレッシュアクション(RefreshAggregation())を転送すれば(S2714)、第1メディアサーバ910は集合されたオブジェクトを再利用(reuse)する(S2719)。例えば、第1メディアサーバ910は集合リフレッシュアクションに従って集合オブジェクトを再利用することができる。第1メディアサーバ910は転送された集合リフレッシュアクションに対応して、図29のように、オブジェクトID(ObjectID)が‘11’の集合対象オブジェクトの情報をリフレッシュすることができる。
図29は、本発明の更に他の実施形態に係る集合メディアサーバ上で特定集合オブジェクト情報がリフレッシュされた場合を示すテーブルである。
図29を参考すると、第1メディアサーバ910は制御ポイント装置200から転送された集合リフレッシュアクションに従って、オブジェクトIDが‘11’のコンテンツオブジェクト情報をアップデートによる変更、または削除による変更前のオリジナルオブジェクト情報にリフレッシュすることができる。
更に図26を説明する。
制御ポイント装置200が第1メディアサーバ910に‘集合ダイレクトチルドレン’値を有するリフレッシュフラグ(RefreshFlag=AggDirectChildren)、及び値が‘11’のオブジェクトID(ObjectID=11)を含む集合リフレッシュアクション(RefreshAggregation())を転送すれば(S2715)、第1メディアサーバ910は集合リフレッシュアクション(RefreshAggregation())に従って集合オブジェクトを再利用する(S2719)。第1メディアサーバ910は転送された集合リフレッシュアクションに対応して、図30のように、オブジェクトID(ObjectID)が‘11’の集合対象オブジェクトのダイレクトチルドレンオブジェクトの情報をリフレッシュすることができる。
図30は、本発明の更に他の実施形態に係る集合メディアサーバ上で特定集合オブジェクト情報がリフレッシュされた場合を示すテーブルである。
図30を参考すると、第1メディアサーバ910は制御ポイント装置200から転送された集合リフレッシュアクションに従って、オブジェクトIDが‘11’のコンテンツオブジェクトのダイレクトチルドレンオブジェクト、例えばオブジェクトIDが‘13’のコンテンツオブジェクト情報、及びオブジェクトIDが‘14’のコンテンツオブジェクト情報をアップデートによる変更、または削除による変更前のオリジナルオブジェクト情報にリフレッシュすることができる。
更に図26を説明する。
制御ポイント装置200が第1メディアサーバ910に‘集合サブツリー’値を有するリフレッシュフラグ(Refresh Flag=AggSubtree)、及び値が‘11’のオブジェクトID(ObjectID=11)を含む集合リフレッシュアクション(RefreshAggregation())を転送すれば(S2717)、第1メディアサーバ910は集合リフレッシュアクション(RefreshAggregation())に従って集合オブジェクトを再利用する(S2719)。第1メディアサーバ910は転送された集合リフレッシュアクションに対応して、図31のように、オブジェクトID(ObjectID)が‘11’の集合対象オブジェクトのサブツリーのような派生オブジェクト全体情報をリフレッシュすることができる。
図31は、本発明の更に他の実施形態に係る集合メディアサーバ上で特定集合オブジェクト情報がリフレッシュされた場合を示すテーブルである。
図31を参考すると、第1メディアサーバ910は制御ポイント装置200から転送された集合リフレッシュアクションに従って、オブジェクトIDが‘11’のコンテンツオブジェクトのサブツリーオブジェクト、例えばオブジェクトIDが‘16’のコンテンツオブジェクト情報、及びオブジェクトIDが‘18’のコンテンツオブジェクト情報をアップデートによる変更前のオリジナルオブジェクト情報にリフレッシュすることができる。
前述したような集合リフレッシュ過程で誤りが発生した場合に、大別して3種類のエラーコード(Error code)が発生することができる。エラーコードは、701、720、及び742コードを含むことができ、これに限定されるものではない。
エラーコード701は該当オブジェクトがない場合(No such object)であって、特定オブジェクトIDアーギュメント(specified Object ID argument)が有効でないので、集合リフレッシュアクション(RefreshAggregation())要求が失敗した場合を意味することができる。
エラーコード720は要求を進行できない場合(Cannot process the request)であって、コンテンツディレクトリサービスが割り当てられた時間内に(in the time allotted)、リフレッシュ基準のためにマッチするオブジェクト全体個数を計算できず、割り当てられた時間内に、該当リフレッシュ基準にマッチするオブジェクトを追加的にリターンできない場合を意味することができる。
エラーコード742はサポートされないアクション(Unsupported action)であって、集合リフレッシュアクション(RefreshAggregation())要求が集合モード状態変数の値が’1’の場合のみにサポートされることを意味することができる。但し、現在状態変数の値が‘0’の場合には要求されたアクションがサポートされないことがある。
以下、図32を参考して、本発明の実施形態に係る集合メディアサーバに格納された集合対象メディアサーバの情報を説明する。
図32は、本発明の実施形態に係る集合メディアサーバに格納されたXMLタイプの集合対象メディアサーバ関連情報を示す図である。
制御装置は集合メディアサーバを通じて複数の集合対象メディアサーバの各々の情報、例えば、リスト、電源状態(power states)、集合基準(aggregation criteria)、集合プロセスなどを得る必要がある。制御装置は、集合対象メディアサーバのより詳細な情報を制御するために、集合メディア装置があるメディアサーバからコンテンツオブジェクトを収集するか否か、各々の集合対象メディアサーバ内の電源状態(power state)、集合メディア装置が収集予定のコンテンツオブジェクトの種類などを制御することができる。
以下、集合メディアサーバを通じて複数の集合対象メディアサーバの各々のより多い情報を得るか、または設定するためのアクション、状態変数などに関して説明する。
集合メディアサーバは、状態変数を用いて集合対象メディアサーバ情報を格納することができる。このような状態変数の様相(aspects)は、名称(Name)、データタイプ(DataType)、及びデータフォーマット(Data Format)を含むことができる。状態変数の名称は集合状態(AggregationStatus)のことであり、データタイプはXMLフラグメント(XML fragment)のことであり、データフォーマットは複数のエレメント(elements)と複数のアトリビュート(attributes)を含むことができる。データフォーマットは図32のような形態に提示できる。
このような集合対象メディアサーバ情報を制御するために、集合メディアサーバ(AMS)は、集合状態獲得アクション(GetAggregationStatus())、集合状態設定アクション(SetAggregationStatus())を用いることができる。
集合状態獲得アクション(GetAggregationStatus())の名称(Name)は集合状態獲得であり、名称(Name)、方向(Direction)、及び関連した状態変数(Related State Variable)を含むアーギュメントを定義することができる。アーギュメントの名称は現在集合状態(CurrentAggregationStatus)であり、方向は‘アウト(OUT)’であり、関連した状態変数は集合状態(AggregationStatus)でありうる。集合メディアサーバ(AMS)は集合状態獲得アクション(Get AggregationStatus())を用いて集合対象メディアサーバの現在集合状態に関する情報を得ることができる。
集合状態設定アクション(Set AggregationStatus())の名称(Name)は集合状態設定であり、名称(Name)、方向(Direction)、及び関連した状態変数(Related State Variable)を含むアーギュメントを定義することができる。アーギュメントの名称は新規集合状態(NewAggregationStatus)であり、方向は‘イン(IN)’であり、関連した状態変数は集合状態(AggregationStatus)でありうる。集合メディアサーバ(AMS)は集合状態設定アクション(SetAggregationStatus())を用いて集合対象メディアサーバの集合状態を新しく設定することができる。
一方、制御装置は集合対象メディアサーバ(ADMS)の代わりに集合メディアサーバ(AMS)を作動させることによって、集合対象メディアサーバ(ADMS)上でオリジナル集合対象オブジェクトを除去または修正する必要がある。このために、制御装置は以下の図33から図36を参考して説明する要求メッセージ(request message)をオリジナル集合対象メディアサーバに再転送(redirecting)することができる。
図33は、本発明の実施形態に係る集合メディアサーバが制御ポイント装置から受信した要求を集合対象メディアサーバに再転送することによって、集合対象メディアサーバ内のコンテンツオブジェクトを変更する方法を説明するためのフローチャートである。
また、図34から図37は本発明の実施形態に係る集合メディアサーバが制御ポイント装置から受信した要求を集合対象メディアサーバに転送する場合に集合メディアサーバ及び集合対象メディアサーバ上に格納される情報を示すテーブルである。
図33を参考すると、第1メディアサーバ910は集合メディアサーバ(AMS)であって、集合機能を遂行して(S2901)、第2メディアサーバ930にブラウズ/サーチ(Browse/Search)要求を転送して(S2903)、第2メディアサーバ930からコンテンツメタデータ(Content Metadata)を受信する(S2905)。第1メディアサーバ910は、図34に示すように、第2メディアサーバ930から収集したコンテンツメタデータを格納することができる。図34を参照すると、第1メディアサーバ910は第2メディアサーバ930から割り当てられたコンテンツオブジェクトの集合対象オブジェクトID(aggregatedObjectID)、第2メディアサーバ910が新しく割り当てたコンテンツオブジェクトのオブジェクトID(ObjectID)、第2メディアサーバ930の機器識別子(aab3)に該当する出処サーバ機器識別子(originalServerUDN)、各々のコンテンツオブジェクトのペアレントID(parentID)、各々のコンテンツオブジェクトの創作者(creator)情報などの複数の情報を格納することができる。
更に図33を説明する。
制御ポイント装置200は、集合メディアサーバ(AMS)である第1メディアサーバ910にオブジェクトアップデートアクション(UpdateObject())を転送する(S2907)。この際、オブジェクトアップデートアクション(UpdateObject())は、値が‘14’のオブジェクトID(ObjectID=14)、‘Torres’という値を有する創作者情報の現在タグ値(CurrentTagValue=<creator>Torres</creator>)、‘Smith’という値を有する創作者情報の新たなタグ値(NewTagValue=<creator>Smith</creator>)を含むことができる。
図33を参考すると、第1メディアサーバ910は制御ポイント装置200から受信したオブジェクトアップデートアクション(UpdateObject())に対応して、集合オブジェクト情報のアップデートを実行する(S2909)。即ち、第1メディアサーバ910は制御ポイント装置200の制御に従って、第1メディアサーバ910に格納されたコンテンツオブジェクト情報を修正することができる。即ち、第1メディアサーバ910は、‘14’のオブジェクトID(ObjectID=14)の‘Torres’という値を有する創作者(creator)情報を‘Smith’という値にアップデートすることができる。
更に図33を説明する。
次に、制御ポイント装置200は第1メディアサーバ910にオリジナルオブジェクトアップデートアクション(UpdateOriginalObject())を転送する(S2911)。オリジナルオブジェクトアップデートアクション(UpdateOriginalObject())は、多様な種類のアーギュメント情報を含むことができる。アーギュメントは、名称(Name)、方向(Direction)、及び関連した状態変数(Related State Variable)を含むことができる。アーギュメントは、名称がオブジェクトID(ObjectID)、方向がイン(IN)、関連した状態変数がA_ARG_TYPE_ObjectIDでありうる。また、アーギュメントは、名称が現在タグ値(CurrentTagValue)、方向がイン(IN)、関連した状態変数がA_ARG_TYPE_TagValueListでありうる。また、アーギュメントは名称が新たなタグ値(NewTagValue)、方向がイン(IN)、関連した状態変数がA_ARG_TYPE_TagValueListでありうる。また、アーギュメントは名称が集合対象CDS ID(Aggregated CDSID)、方向がイン(IN)、関連した状態変数がA_ARG_TYPE_UDNまたはAggregatedDeviceListでありうる。集合対象CDS IDは出処集合対象サーバの機器識別子(UDN)を意味することができる。
例えば、オリジナルオブジェクトアップデートアクション(UpdateOriginalObject())は、値が‘15’のオブジェクトID(ObjectID=15)、‘Messi’という値を有する創作者情報の現在タグ値(CurrentTagValue=<creator>Messi</creator>)、‘Ronaldo’という値を有する創作者情報の新たなタグ値(NewTagValue=<creator>Ronaldo</creator>)を含むことができる。
次に、第1メディアサーバ910は第2メディアサーバ930にオブジェクトアップデートアクション(OriginalObject())を転送する(S2913)。この際、オブジェクトアップデートアクション(UpdateObject())は、値が‘2’のオブジェクトID(ObjectID=2)、‘Messi’という値を有する創作者情報の現在タグ値(CurrentTagValue=<creator>Messi</creator>)、‘Ronaldo’という値を有する創作者情報の新たなタグ値(NewTagValue=<creator>Ronaldo</creator>)を含むことができる。
図36を参考すると、第2メディアサーバ930は第1メディアサーバ910から受信したオブジェクトアップデートアクション(UpdateObject())に対応して、オブジェクト情報のアップデートを実行する(S2915)。即ち、第2メディアサーバ930は制御ポイント装置200の制御に従って、第2メディアサーバ930に格納されたコンテンツオブジェクト情報を修正することができる。即ち、第2メディアサーバ930は、‘2’のオブジェクトID(ObjectID=2)の‘Messi’という値を有する創作者(creator)情報を‘Ronaldo’という値にアップデートすることができる。このように、第1メディアサーバ910は第2メディアサーバ930に制御ポイント装置200から転送されたアクションを再転送することによって、第2メディアサーバ930内の情報を修正することができる。
更に図33を説明する。
次に、制御ポイント装置200は第1メディアサーバ910にオリジナルオブジェクト除去アクション(DestroyOriginalObject())を転送する(S2917)。この際、オリジナルオブジェクト除去アクション(DestroyOriginalObject())は、値が‘16’であるオブジェクトID(ObjectID=16)情報を含むことができる。
次に、第1メディアサーバ910は第2メディアサーバ930にオブジェクト除去アクション(DestroyObject())を転送する(S2919)。この際、オブジェクト除去アクション(DestroyObject())は、値が‘3’であるオブジェクトID(ObjectID=3)情報を含むことができる。
図37を参考すると、第2メディアサーバ930は第1メディアサーバ910から受信したオブジェクト除去アクション(DestroyObject())に対応して、オブジェクト情報のアップデートを実行する(S2921)。即ち、第2メディアサーバ930は制御ポイント装置200の制御に従って、第2メディアサーバ930に格納されたコンテンツオブジェクト情報を削除することができる。即ち、第2メディアサーバ930は、‘3’のオブジェクトID(ObjectID=3)に該当する情報を削除することができる。このように、第1メディアサーバ910は第2メディアサーバ930に制御ポイント装置200から転送されたアクションを再転送することによって、第2メディアサーバ930内の情報を修正することができる。
図38は本発明が適用される一実施形態であって、複数個のサーバから収集されるコンテンツ情報を制御し、再生するための装置同士間の全体構造図を示す。
上記図38では、複数個のメディアサーバからコンテンツ情報を収集してサービスを提供するUPnP基盤のAVホームネットワークの全体構造図を示す。上記図38のように、ホームネットワークにメディアデータを提供する複数個のメディアサーバ(MS:Media Server)3830、3840、3850と、ホームネットワークを介してメディアデータを再生するメディアレンダラー(MR:Media Renderer)3820と、上記複数個のメディアサーバ3830、3840、3850と、上記メディアレンダラー3820を制御する制御ポイント(CP:Control Point)3810装置を含んで構成され、複数個のメディアサーバはコンテンツ集合機能を遂行する集合メディアサーバ3830とコンテンツ情報集合の対象となる集合対象メディアサーバ3840、3850から構成できる。一方、上記複数個のメディアサーバ3830、3840、3850とメディアレンダラー3820は、上記制御ポイント3810により制御される被制御(controlled)機器である。
上記集合メディアサーバ3830(正確には集合メディアサーバ3830内のCDS(Content Directory Service))は、他の集合対象メディアサーバ3840、3850から収集したオブジェクト情報及び自分に収録されているメディアファイルとコンテナ(ディレクトリに該当)の情報を各オブジェクト(object)情報として予め構築することができる。‘オブジェクト’は、1つ以上のメディアファイルに対する情報を有するアイテム(item)及びディレクトリに対する情報を有するコンテナ(container)を包括して称する用語であり、場合によって、オブジェクトは適切にアイテムであるか、またはコンテナでありうる。そして、1つのアイテムは多数のメディアファイルに対応できる。例えば、各々異なるビットレートの同一内容のコンテンツを有する多数のメディアファイルは1つのアイテムとして管理できる。
上記図38はネットワークでなされるメディア再生過程に対する簡略な機器間の信号流れを示すものであって、図示された再生過程を説明すると、次の通りである。まず、上記集合メディアサーバ3830は本明細書で説明する集合機能と関連した多様な実施形態が適用されることができ、上記図38では集合対象メディアサーバ#1 3840からコンテンツ情報を収集し(S3801)、集合対象メディアサーバ#N 3850からコンテンツ情報を収集することと(S3803)簡略に表現した。
上記集合メディアサーバ3830は、上記制御ポイント3810にディレクトリ及び該当ディレクトリ下のメディアファイルに対する情報を知らせるために、ユーザの要求に従うUPnPアクション(action)141、例えばブラウジング(browsing)及び/又はサーチング(searching)アクションがある度に(S3805)現在ディレクトリに対する情報及びそのディレクトリ下のメディアファイルに対するアイテム情報を知らせることができる(S3807)。上記制御ポイント(CP)3810は、上記メディアレンダラー(MR)3820にプロトコルに対する情報を獲得するためのアクションを遂行し(S3809)、上記メディアレンダラー(MR)3820が収容することができるプロトコルに対する情報及びフォーマット情報を獲得することができる(S3811)。上記制御ポイント(CP)3810は、獲得したプロトコルに対する情報及びフォーマット情報のうち、マッチングされるプロトコルとフォーマットを選択することができる(S3813)。
上記制御ポイント(CP)3810は、受信された各オブジェクトに対する情報で上記メディアレンダラー(MR)3820で提供した収容可能なプロトコルに合わないアイテムに対する情報は排除してユーザに適当なUIを介して表示することができる。UIを介してユーザが1つのアイテム(または、そのアイテムに属する特定品質の1つのメディアファイル)を選択すれば、その選択されたメディアファイル(以下、‘コンポーネント’または‘メディアコンポーネント’とも称する)のプレゼンテーションのために上記集合メディアサーバ3830と上記メディアレンダラー(MR)3820に連結準備アクション(PrepareForConnection())を各々要求して、両機器(3820、3830)の間のストリーミング(streaming)によるプレゼンテーションに必要とする参加要素(CM、AVT、RCS)に対する臨時ID(Instance IDs)を受信することができる(図示せず)。
この臨時IDは、現在遂行されるストリーミングサービスを以後に、各サービス別に特定してコントロールするために使われる。そして、上記制御ポイント(CP)3810は先に選択されたコンポーネントに対するアクセス位置情報をAVTransportサービスに伝達して設定させた後(S3815)、再生アクションをAVTransportサービスに要求することができる(S3817)。例えば、上記制御ポイント(CP)3810は上記集合対象メディアサーバ#N 3850から収集されたオブジェクトのURL情報を転送することができる。上記メディアレンダラー(MR)3820は、上記転送されたURL情報を用いて上記集合対象メディアサーバ#N 3850のメディアファイルを再生することもできる(S3819)。
上記AVTransportサービスは、メディアレンダラーに備えられているが、メディアサーバに備えられることもでき、上記メディアレンダラー(MR)3820と上記集合メディアサーバ3830との間の適切な情報交換過程を通じて選択されたコンポーネントのデータがストリーミングされて出力できる。
一方、メディアコンポーネントをストリーミングするためには、2つの方式、即ち、プッシュ(push)方式とプル(pull)方式があり、pushとpull方式の差はストリーミングの再生管理のためのAVTransportサービスが備えられた機器または使われる機器が相異し、これによって、アクションの対象がメディアサーバかメディアレンダラーかに従うアクションの方向が異なるだけであり、本発明で説明するアクションの遂行方法はpush方式とpull方式でも同一であるので、本発明の請求範囲の解釈は図面及び説明に例示された方式により制限されるものではない。
図39は本発明が適用される一実施形態であって、特定集合対象メディアサーバからコンテンツ情報を収集することを制限する方法を説明するためのフローチャートである。
本発明の一実施形態として、ユーザは集合メディアサーバが特定メディアサーバのみからコンテンツ情報を収集することを希望することがある。そのような理由により、制御ポイント装置は現在集合メディアサーバが収集している集合対象メディアサーバのうち、特定集合対象メディアサーバを排除できなければならない。
また、本発明の他の一実施形態として、ユーザは上記排除された特定メディアサーバからまたコンテンツ情報が収集されることを希望することがある。そのような理由により、制御ポイント装置は現在集合メディアサーバが収集している集合対象メディアサーバリストに特定メディアサーバを追加できなければならない。
上記のような目的を達成するために、本発明の実施形態では集合制限装置の識別情報を用いて集合制限状態変数を変更することによって、特定メディアサーバからのコンテンツ情報収集を制限することができる。
上記図39を見ると、まず制御ポイント装置は集合メディアサーバに現在コンテンツ情報収集が制限される集合制限装置の識別情報を要求することができる(S3910)。ここで、上記集合メディアサーバは集合制限状態変数を格納していることができ、上記集合制限状態変数は上記集合メディアサーバからコンテンツ情報収集が制限される集合制限装置の識別情報を含むことができる。上記集合制限状態変数はリスト形態に表現されることができ、上記識別情報は固有デバイス番号(Unique Device Number;以下、‘UDN’という)を含むことができる。
ここで、図42及び図44を参照すると、本発明が適用される一実施形態であって、図42は集合メディアサーバによるコンテンツ情報収集が制限される集合制限メディアサーバの識別情報を獲得するためのアクション情報を示し、図44は上記図42のアクション情報に用いられる状態変数を示す。上記ステップS3910の集合制限装置の識別情報要求は、上記図42の“GetAggregationRestrictedDevices()”アクションにより遂行できる。上記“GetAggregationRestrictedDevices()”アクションは、集合制限状態変数の現在値を出力する。上記集合制限状態変数は、集合メディアサーバによるコンテンツ収集が許容されないメディアサーバの識別情報を含み、“AggregationRestricedDevices”として表現できる。上記集合制限状態変数は集合モードの変化により変更されない。
上記要求に従って、上記制御ポイント装置は上記集合メディアサーバから現在コンテンツ情報収集が制限される集合制限装置の識別情報を受信することができる(S3920)。上記制御ポイント装置は、上記集合制限装置の識別情報を受信することによって、現在コンテンツ情報収集が制限される集合制限装置を確認することができる。
ユーザが特定メディアサーバからのコンテンツ情報収集を制限しようとする場合、上記制御ポイント装置は上記集合メディアサーバに特定メディアサーバからのコンテンツ情報収集制限を要求することができる(S3930)。ここで、ユーザの制限要求は上記特定メディアサーバの識別情報を含むことができ、ユーザインターフェースまたはネットワークインターフェースを介して遂行できる。
ここで、図43及び図44を参照すると、本発明が適用される一実施形態であって、図43は集合メディアサーバによるコンテンツ情報収集が制限される集合制限メディアサーバの識別情報を獲得するためのアクション情報を示し、図44は上記図43のアクション情報に用いられる状態変数を示す。上記ステップS3930の特定メディアサーバからのコンテンツ情報収集制限要求は、上記図43の“SetAggregationRestrictedDevices()”アクションにより遂行できる。上記“SetAggregationRestrictedDevices()”アクションは集合制限状態変数の現在値を変更し、特定メディアサーバからのコンテンツメタデータ収集を制限するために利用できる。上記集合制限状態変数は、集合メディアサーバによるコンテンツ収集が許容されないメディアサーバの識別情報を含み、“AggregationRestricedDevices”として表現できる。
特定メディアサーバのコンテンツ情報収集制限要求を受けた場合、上記集合メディアサーバは上記特定メディアサーバの識別情報に基づいて集合制限状態変数を変更することができる(S3940)。例えば、上記集合メディアサーバは上記集合制限状態変数に含まれた集合制限装置の識別情報を上記特定メディアサーバの識別情報に変更することができる。
上記集合メディアサーバは、上記変更された集合制限状態変数に基づいて上記特定メディアサーバからコンテンツ情報を収集しなくなる(S3950)。この場合、変更前の集合制限状態変数に含まれるが、上記特定メディアサーバには該当しない集合対象メディアサーバがあれば、集合制限状態変数の変更後、上記集合メディアサーバは上記集合対象メディアサーバからコンテンツ情報を収集し始めることができる。一方、変更前の集合制限状態変数には含まれなかったが、上記特定メディアサーバに該当する場合には、集合制限状態変数の変更後、該当集合対象メディアサーバからのコンテンツ情報収集は停止できる。
上記のように、集合メディアサーバはコンテンツ情報収集制限要求に従って集合制限状態変数を変更することによって、特定メディアサーバからのコンテンツ情報収集を制限できるようになる。
図40は本発明が適用される一実施形態であって、集合制限装置の識別情報を用いて集合制限メディアサーバからのコンテンツ情報収集を制限する過程を説明するためのフローチャートである。
上記図40を見ると、本発明が適用されるネットワークに集合メディアサーバ4020、3個の集合対象メディアサーバ4030、4040、4050、及び制御ポイント装置4010が連結されている。上記集合メディアサーバ4020は、上記3個の集合対象メディアサーバ4030、4040、4050からコンテンツ情報を収集できるが、本実施形態では現在集合対象メディアサーバ#2 4040と集合対象メディアサーバ#3 4050が集合制限状態となっていることを仮定する。
この場合、上記集合メディアサーバ4020は上記集合対象メディアサーバ#24040と集合対象メディアサーバ#3 4050からコンテンツ情報を収集できず、上記集合メディアサーバ4020は集合制限装置の識別情報を格納することができる。したがって、ユーザは、上記集合メディアサーバ4020が格納している集合制限装置の識別情報の修正を要求することによって、コンテンツ情報収集が制限された集合制限装置からまたコンテンツ情報を収集できるようになる。以下、より詳細な過程を説明する。
まず、上記集合メディアサーバ4020は集合対象メディアサーバ#1 4030にコンテンツ情報を要求するためのブラウジングアクション及び/又はサーチングアクションを転送することができる(S4001)。上記アクション要求に従って、上記集合メディアサーバ4020は上記集合対象メディアサーバ#1 4030からコンテンツ情報を受信することができる(S4003)。ここで、上記コンテンツ情報はコンテンツメタデータを含むことができる。
一方、上記集合メディアサーバ4020は現在コンテンツ情報収集が制限される集合制限装置の識別情報を格納していることができる(S4005)。例えば、上記図40で、集合制限装置の識別情報は上記集合対象メディアサーバ#2 4040の識別情報(UDN=35eq)と集合対象メディアサーバ#3 4050の識別情報(UDN=tttexx)を含むことができる。
上記制御ポイント装置4010は、上記集合メディアサーバ4020に現在コンテンツ情報収集が制限される集合制限装置の識別情報を要求することができる(S4007)。
上記要求に従って、上記制御ポイント装置4010は上記集合メディアサーバ4020から現在コンテンツ情報収集が制限される集合制限装置の識別情報を受信することができる(S4009)。例えば、上記制御ポイント装置4010は上記集合メディアサーバ4020に格納されている集合制限装置の識別情報である上記集合対象メディアサーバ#2 4040の識別情報(UDN=35eq)と集合対象メディアサーバ#3 4050の識別情報(UDN=tttexx)を受信することができる。これを通じて、上記制御ポイント装置は現在コンテンツ情報収集が制限される集合制限装置を確認することができる。
ユーザが特定メディアサーバからのコンテンツ情報収集を制限しようとする場合、上記制御ポイント装置4010は上記集合メディアサーバ4020に特定メディアサーバからのコンテンツ情報収集制限を要求することができる(S4011)。
例えば、上記制御ポイント装置4010はコンテンツ情報収集を制限しようとする特定メディアサーバの識別情報セッティングを上記集合メディアサーバ4020に要求することができる。即ち、上記集合メディアサーバ4020は格納された集合制限装置の識別情報リストに上記特定メディアサーバの識別情報をセッティングすることができる。
したがって、上記集合メディアサーバ4020は格納された集合制限装置の識別情報リストに上記特定メディアサーバの識別情報のみがアップデートされることによって、上記特定メディアサーバのみからコンテンツ情報収集が制限され、その以外の集合対象メディアサーバからはまたコンテンツ情報収集が可能になる。
例えば、上記図40を見ると、上記制御ポイント装置4010は上記集合対象メディアサーバ#2 4040の識別情報(UDN=35eq)を転送し、上記集合メディアサーバ4020は受信された上記集合対象メディアサーバ#2 4040の識別情報(UDN=35eq)を集合制限装置の識別情報リストにセッティングして格納することができる(S4013)。
上記集合メディアサーバ4020は、上記セッティングされた集合制限装置の識別情報リストに基づいて上記集合対象メディアサーバ#2 4040からコンテンツ情報を収集しなくなる。
集合対象メディアサーバ#1 4030の場合には集合制限装置の識別情報リストに含まれなかったので、上記集合メディアサーバ4020はブラウジングアクション及び/又はサーチングアクションを通じて上記集合対象メディアサーバ#1 4030からコンテンツ情報を受信することができる(S4015、S4017)。
一方、セッティング前の集合制限装置の識別情報リストに含まれていた集合対象メディアサーバ#2 4040の識別情報(UDN=35eq)は削除されたので、上記集合メディアサーバ4020はブラウジングアクション及び/又はサーチングアクションを通じて上記集合対象メディアサーバ#2 4040からコンテンツ情報をまた収集することができる(S4019、S4021)。
図41は本発明が適用される一実施形態であって、集合対象メディアサーバの識別情報を用いて集合制限メディアサーバからのコンテンツ情報収集を制限する過程を説明するためのフローチャートである。
本実施形態は、集合対象メディアサーバに対する情報獲得要求に従って集合対象メディアサーバの識別情報を獲得して集合制限装置セッティング要求によりコンテンツ情報収集を制限するものである。
まず、集合メディアサーバ4120は集合対象メディアサーバ#1、#2、#3 4130、4140、4150にコンテンツ情報を要求するためのブラウジングアクション及び/又はサーチングアクションを転送し、上記アクション要求に従って上記集合メディアサーバ4120は上記集合対象メディアサーバ#1、#2、#3 4130、4140、4150からコンテンツ情報を受信することができる(S4101、S4103、S4105)。ここで、上記コンテンツ情報はコンテンツメタデータを含むことができ、上記コンテンツメタデータは上記集合対象メディアサーバ#1、#2、#3の識別情報を含むことができる。
上記集合メディアサーバ4120は、現在コンテンツ情報収集が可能な集合対象メディアサーバの識別情報を格納していることができる(S4107)。例えば、上記図41で、コンテンツ情報収集が可能な集合対象メディアサーバの識別情報は上記集合対象メディアサーバ#1 4130の識別情報(UDN=aab3)、上記集合対象メディアサーバ#2 4140の識別情報(UDN=35eq)、及び集合対象メディアサーバ#3 4150の識別情報(UDN=tttexx)を含むことができる。
一方、上記制御ポイント装置4110は上記集合メディアサーバ4120に集合対象サーバの状態情報獲得を要求することができる(S4109)。上記要求に従って、上記集合メディアサーバ4120は上記集合メディアサーバ4120に格納された集合対象メディアサーバの識別情報(UDN=aab3、35eq、tttexx)を上記制御ポイント装置4110に転送することができる(S4111)。これを通じて、上記制御ポイント装置4110は現在コンテンツ収集が可能な集合対象メディアサーバを確認することができる。
ユーザが特定メディアサーバからのコンテンツ情報収集を制限しようとする場合、上記制御ポイント装置4110は、上記集合メディアサーバ4120に現在コンテンツ情報収集が制限される集合制限装置のセッティングを要求することができる(S4113)。例えば、上記図41を見ると、上記制御ポイント装置4110は上記集合制限装置の識別情報として上記集合対象メディアサーバ#2 4140の識別情報(UDN=35eq)と上記集合対象メディアサーバ#3 4150の識別情報(UDN=tttexx)を転送することができる。
上記集合メディアサーバ4120は、格納された集合対象メディアサーバの識別情報リストを変更することによって、上記集合制限装置の識別情報をセッティングすることができる(S4115)。即ち、集合対象メディアサーバの識別情報リストから上記集合制限装置の識別情報を削除することによって、上記セッティングが遂行できる。例えば、既に格納された集合対象メディアサーバの識別情報リスト(UDN=aab3、35eq、tttexx)から上記転送された上記集合制限装置の識別情報(UDN=35eq、tttexx)を削除することによって、上記集合対象メディアサーバの識別情報リストを変更することができる。
したがって、上記集合メディアサーバ4120は上記集合対象メディアサーバの識別情報リストに存在する集合対象メディアサーバ(UDN=aab3)のみからコンテンツ情報収集が可能になる。
そして、上記集合メディアサーバ4120は上記変更された集合対象メディアサーバの識別情報リストに存在しない上記集合対象メディアサーバ#2 4140及び上記集合対象メディアサーバ#3 4150からコンテンツ情報を収集しなくなる(S4117、S4119)。
以後、上記制御ポイント装置4110からまた集合制限装置のセッティング要求を受信する場合(S4121)、上記集合メディアサーバ4120は格納された集合対象メディアサーバの識別情報リストを変更するようになる(S4123)。例えば、集合対象メディアサーバ#3 4150(UDN=tttexx)を集合制限装置にセッティングすることの要求を受けた場合、集合対象メディアサーバの識別情報リストは(UDN=aab3、35eq)を含むように変更され、上記集合メディアサーバ4120は上記集合対象メディアサーバ#2 4140からコンテンツ情報をまた収集することができる(S4125)。
図45は本発明が適用される他の一実施形態であって、特定メディアサーバのみからコンテンツ情報を収集するための方法を説明するためのフローチャートである。
本発明の一実施形態として、ユーザは集合メディアサーバが特定メディアサーバのみからコンテンツ情報を収集することを希望することがある。そのような理由により、制御ポイント装置はコンテンツ情報が収集されることを希望する特定メディアサーバの識別情報を転送することによって、集合メディアサーバをして特定メディアサーバのみからコンテンツ情報を収集するようにすることができる。
上記図45を見ると、まず制御ポイント装置は集合メディアサーバに現在コンテンツ情報を収集中である集合対象メディアサーバのリストを要求することができる(S4510)。
上記要求に従って、上記制御ポイント装置は上記集合メディアサーバから現在コンテンツ情報を収集している集合対象メディアサーバの識別情報を受信することができる(S4520)。上記制御ポイント装置は、上記集合対象メディアサーバの識別情報を受信することによって、現在コンテンツ情報を収集している集合対象メディアサーバを確認することができる。
ユーザが特定メディアサーバからのコンテンツ情報収集を制限しようとする場合、または特定メディアサーバのみからコンテンツ情報を収集しようとする場合、上記制御ポイント装置は上記集合メディアサーバにコンテンツ情報収集を希望する特定メディアサーバのセッティングを要求することができる(S4530)。ここで、上記特定メディアサーバのセッティング要求は上記特定メディアサーバの識別情報を含むことができ、ユーザインターフェースまたはネットワークインターフェースを介して遂行できる。
特定メディアサーバのセッティング要求を受けた場合、上記集合メディアサーバは上記特定メディアサーバの識別情報に基づいて集合対象メディアサーバのリストを修正することができる(S4540)。例えば、上記集合メディアサーバは上記集合対象メディアサーバのリストを上記特定メディアサーバの識別情報のみ含むように変更することができる。
上記集合メディアサーバは、上記修正された集合対象メディアサーバのリストに記載されたメディアサーバからコンテンツ情報を収集することができる(S4550)。
上記のように、集合メディアサーバでコンテンツ情報を収集しようとするメディアサーバリストを管理するようにすることで、ユーザは容易に集合対象メディアサーバを選択することができる。
図46は本発明が適用される一実施形態であって、集合対象メディアサーバリストセッティングを通じて特定メディアサーバのみからコンテンツ情報収集を遂行する過程を説明するためのフローチャートである。
上記図46を見ると、集合メディアサーバ4620は集合対象メディアサーバ#1、#2、#3 4630、4640、4650にコンテンツ情報を要求するためのブラウジングアクション及び/又はサーチングアクションを転送し、上記アクション要求に従って上記集合メディアサーバ4620は上記集合対象メディアサーバ#1、#2、#3 4630、4640、4650からコンテンツ情報を受信することができる(S4601、S4603、S4605)。ここで、上記コンテンツ情報はコンテンツメタデータを含むことができ、上記コンテンツメタデータは上記集合対象メディアサーバ#1、#2、#3の識別情報を含むことができる。
上記集合メディアサーバ4620は、現在コンテンツ情報収集が可能な集合対象メディアサーバの識別情報を格納していることができる(S4607)。例えば、上記図46で、コンテンツ情報収集が可能な集合対象メディアサーバの識別情報は、上記集合対象メディアサーバ#1 4630の識別情報(UDN=aab3)、上記集合対象メディアサーバ#2 4640の識別情報(UDN=35eq)、及び集合対象メディアサーバ#3 4650の識別情報(UDN=tttexx)を含むことができる。
一方、上記制御ポイント装置4610は上記集合メディアサーバ4620に集合対象メディアサーバリストの獲得を要求することができる(S4609)。上記要求に従って、上記集合メディアサーバ4620は上記集合メディアサーバ4620に格納された集合対象メディアサーバの識別情報(UDN=aab3、35eq、tttexx)を上記制御ポイント装置4610に転送することができる(S4611)。これを通じて、上記制御ポイント装置4610は現在コンテンツ収集が可能な集合対象メディアサーバを確認することができる。
上記制御ポイント装置4610は、上記集合メディアサーバ4620にコンテンツ情報収集を希望する特定メディアサーバのセッティングを要求することができる(S4613)。ここで、上記特定メディアサーバのセッティング要求は上記特定メディアサーバの識別情報、例えば上記集合対象メディアサーバ#1 4630の識別情報(UDN=aab3)を含むことができる。
特定メディアサーバのセッティング要求を受けた場合、上記集合メディアサーバ4620は上記特定メディアサーバの識別情報に基づいて集合対象メディアサーバのリストを修正することができる(S4615)。例えば、上記集合メディアサーバ4620は上記集合対象メディアサーバのリストを上記集合対象メディアサーバ#1 4630の識別情報(UDN=aab3)のみ含むように変更することができる。
上記集合メディアサーバ4620は、上記修正された集合対象メディアサーバのリストに記載された上記集合対象メディアサーバ#1 4630のみからコンテンツ情報を収集することができ、記載されていない上記集合対象メディアサーバ#2 4640と上記集合対象メディアサーバ#3 4650からのコンテンツ情報収集は許容されない(S4617)。
また、ユーザがまた上記集合対象メディアサーバ#1 4630及び上記集合対象メディアサーバ#2 4640からコンテンツ情報をまた収集しようとする場合、上記制御ポイント装置4610は上記集合メディアサーバ4620に上記集合対象メディアサーバ#1、#2のセッティングを要求することができる(S4619)。
上記集合メディアサーバ4620は、集合対象メディアサーバのリストを上記集合対象メディアサーバ#1 4630の識別情報(UDN=aab3)、及び上記集合対象メディアサーバ#2 4640の識別情報(UDN=35eq)のみ含むように変更することができる(S4621)。即ち、既存に格納された集合対象メディアサーバのリスト(UDN=aab3)に上記集合対象メディアサーバ#2 4640の識別情報(UDN=35eq)が追加されるものである。
したがって、上記集合メディアサーバ4620は上記集合対象メディアサーバ#2 4640からコンテンツ情報をまた収集することができる(S4623)。
図47は本発明が適用される一実施形態であって、集合対象メディアサーバの状態が変更された場合、変更されたコンテンツ情報をアップデートする方法を説明するためのフローチャートである。
集合メディアサーバは、集合対象メディアサーバからコンテンツ情報を収集する時、上記集合対象メディアサーバのコンテンツ変更情報を知る必要がある。
以後、集合メディアサーバが集合対象メディアサーバからコンテンツ情報を収集しようとする時、集合メディアサーバはコンテンツ変更情報を受信し、既に格納されたコンテンツ情報と比較して、いかなる変化があったのかを決定することができる。上記コンテンツ変更情報が以前に収集したコンテンツ情報と同一であると判断されれば、集合メディアサーバは上記集合対象メディアサーバからまたコンテンツ情報を収集する必要がない。
また、集合メディアサーバは集合対象メディアサーバからコンテンツ情報を収集する時、集合対象オブジェクトのコンテンツ変更情報を知る必要がある。
以後、集合メディアサーバが集合対象メディアサーバからコンテンツ情報を収集しようとする時、集合メディアサーバは以前に収集された集合対象オブジェクトのコンテンツ変更情報と集合対象メディアサーバに位置した関連オブジェクトとを比較することによって、専ら変更されたコンテンツのみ収集することができる。または、集合対象メディアサーバからコンテンツ情報を収集した後、集合対象オブジェクトのコンテンツ変更情報と新しく受信したオブジェクトとを比較することによって、変更されたコンテンツ情報のみをアップデートすることができる。
上記図47を見ると、まず集合メディアサーバは集合対象メディアサーバから集合状態情報を獲得することができる(S4710)。上記集合状態情報は上記集合対象メディアサーバに対する情報を示し、例えば、識別情報UDN、電力状態、集合進行状態、及びシステムアップデート識別子を含むことができる。
上記集合メディアサーバは、上記獲得した集合状態情報に基づいて上記集合対象メディアサーバの状態が変更されたか否かを確認することができる(S4720)。例えば、上記集合メディアサーバに既に格納された集合状態情報と獲得した集合状態情報とを比較することにより確認することができる。具体的には、上記獲得した集合状態情報のうち、システムアップデート識別子が既に格納されたシステムアップデート識別子より大きい場合、上記集合対象メディアサーバの状態が変更されたことを確認することができる。
上記確認の結果、上記集合対象メディアサーバの状態が変更された場合(S4730)、上記集合メディアサーバは上記集合状態情報に基づいて上記集合対象メディアサーバの状態をアップデートすることができる(S4740)。
一方、上記確認の結果、上記集合対象メディアサーバの状態が変更されていない場合(S4730)には、上記集合対象メディアサーバの状態をアップデートする必要がないので、また開始ステップに戻る。
図48は本発明が適用される一実施形態であって、集合対象メディアサーバの状態が変更された場合、変更されたコンテンツ情報をアップデートする過程を説明するためのフローチャートである。
集合メディアサーバは複数個の集合対象メディアサーバからコンテンツ情報を収集しているので、ある集合対象メディアサーバでコンテンツ情報変更が発生した場合、ユーザはいかなるコンテンツ情報が変更されたかを知る必要がある。この際、上記集合メディアサーバがまた全ての集合対象メディアサーバからコンテンツ情報を収集することは不要である。したがって、上記集合メディアサーバは集合対象メディアサーバから集合状態情報を獲得して既に格納された集合状態情報と比較することによって、ある集合対象メディアサーバでコンテンツ情報変更が発生したか否かを容易に確認することができる。
上記図48を見ると、集合メディアサーバ4820は集合対象メディアサーバ#1、#2、#3 4830、4840、4850からアップデート識別情報を獲得することができる。例えば、上記集合対象メディアサーバ#1 4830からはUpdateID#1=10を獲得することができ(S4801)、上記集合対象メディアサーバ#2 4840からはUpdateID#2=124を獲得することができ(S4803)、上記集合対象メディアサーバ#3 4850からはUpdateID#3=32を獲得することができる(S4805)。
上記集合メディアサーバ4820は、上記受信された集合対象メディアサーバ#1、#2、#3 4830、4840、4850のアップデート識別情報(UpdateID#1=10、UpdateID#2=124、UpdateID#3=32)を格納することができる。
一定時間が経過した後、または上記集合メディアサーバ4820の電源が消えて、また付いた場合、上記集合メディアサーバ4820は上記集合対象メディアサーバ#1、#2、#3 4830、4840、4850にアップデート識別情報の獲得を要求することができ、上記要求に従って上記集合対象メディアサーバ#1、#2、#3 4830、4840、4850は現在アップデート識別情報を転送する(S4811、S4813、S4815)。例えば、上記集合対象メディアサーバ#14830はUpdateID#1’=10を転送することができ(S4811)、上記集合対象メディアサーバ#2 4840はUpdateID#2’=125を転送することができ(S4813)、上記集合対象メディアサーバ#3 4850はUpdateID#3’=32を転送することができる(S4815)。
上記集合メディアサーバ4820は、既に格納されたアップデート識別情報(UpdateID#1=10、UpdateID#2=124、UpdateID#3=32)と新しく受信したアップデート識別情報(UpdateID#1=10、UpdateID#2=125、UpdateID#3=32)とを比較することによって、上記集合対象メディアサーバ#2 4840のアップデート識別情報が変更されたことを確認することができる(S4817)。そして、上記集合メディアサーバ4820は新しく受信したアップデート識別情報(UpdateID#1=10、UpdateID#2=125、UpdateID#3=32)をまた格納するようになる(S4819)。
上記集合メディアサーバ4820は、ブラウジングアクション及び/又はサーチングアクションを通じて上記集合対象メディアサーバ#2 4840から変更されたコンテンツ情報を受信することができる(S4821)。このような過程を通じて、上記集合メディアサーバ4820は変更されたコンテンツ情報のアップデートを遂行することができる(S4823)。この際、上記変更されたコンテンツ情報はコンテンツメタデータを含むことができる。
図49から図51は本発明が適用される一実施形態であって、図49は集合対象メディアサーバに対する情報を獲得するためのアクション情報を示し、図50は上記図49のアクション情報に用いられる状態変数を示し、図51は上記図50の状態変数の例で、XMLタイプの情報を示す。
上記ステップS4710で、集合メディアサーバが集合対象メディアサーバから集合状態情報を獲得するステップは、図49の“GetAggregationStatus()”アクションにより遂行できる。上記“GetAggregationStatus()”アクションは、集合対象メディアサーバの状態変数の現在値を出力し、集合対象メディアサーバに対する情報を識別するために用いられる。
図50に図示された上記集合対象メディアサーバの状態変数は、集合対象メディアサーバに対する情報を提供する。例えば、上記集合対象メディアサーバに対する情報には集合対象メディアサーバの識別情報UDN、電力状態、集合進行状態、及びシステムアップデート識別子を含むことができる。
図51は上記集合対象メディアサーバの状態変数のXMLタイプ情報を示し、上記集合対象メディアサーバの状態変数は集合対象メディアサーバの識別情報UDN 5110、電力状態5120、集合進行状態5130、及びシステムアップデート識別子5140を含んでいることを確認することができる。また、集合対象メディアサーバが複数個の場合には、集合対象メディアサーバの状態変数は上記複数個の集合対象メディアサーバに対する状態変数を全て含むようになる(5150)。
図52は本発明が適用される一実施形態であって、集合対象メディアサーバのアップデート識別子を用いて変更されたコンテンツ情報をアップデートする方法を説明するためのフローチャートである。
集合メディアサーバの集合機能はSetAggregationMode()アクションを遂行することによって、活性化されるか、または不活性化できる。SetAggregationMode()アクションは、集合モード状態変数を出力する。例えば、集合モード状態変数はメディアサーバのCDSが集合機能を遂行するか否かを示し、‘1’の場合、該当メディアサーバのCDSは現在集合機能を遂行するメディアサーバであることを示し、‘0’の場合、該当メディアサーバのCDSは現在集合機能を遂行しないメディアサーバであることを示す。
集合メディアサーバは、格納している原本集合オブジェクトに変更事項がある場合、最新集合オブジェクトにアップデートしなければならない。ここで、上記原本集合オブジェクトは、集合対象メディアサーバから収集して格納しているオブジェクトを示す。上記変更事項は、例えばオブジェクトの生成、削除、及び修正を意味することができる。
集合メディアサーバは、ネットワーク内の集合対象メディアサーバ内の変更事項を探知しなければならない。例えば、上記変更事項の探知は集合対象メディアサーバからイベント情報を受信することにより遂行できる。そして、必要の場合、システムアップデート識別情報獲得要求アクション(GetSystemUpdateID())を遂行することにより遂行できる。上記集合メディアサーバは、上記集合対象メディアサーバのアップデート識別情報をモニターリングすることで、上記集合対象メディアサーバ内に変更事項があるか否かを確認することができる。
上記集合メディアサーバは、上記集合対象メディアサーバのアップデート識別情報を受信するようになれば、最も最近に受信された状態変数にアップデートしなければならない。
本発明が適用される他の実施形態であって、集合メディアサーバは集合対象メディアサーバのアップデート識別情報を用いて変更された集合オブジェクトをサーチすることで、変更事項をアップデートすることができる。
集合メディアサーバが集合対象メディアサーバのアップデート識別情報を受信する場合(S5210)、上記アップデート識別情報より大きいオブジェクトアップデート識別情報を有する集合オブジェクトをサーチすることができる(S5220)。
上記サーチされた集合オブジェクトに対してアップデートを遂行することによって、集合対象メディアサーバの変更事項をアップデートすることができる(S5230)。
図53は本発明が適用される一実施形態であって、集合オブジェクト情報のアップデート過程を説明するための集合オブジェクト情報の細部事項を示す。
上記図53を見ると、集合メディアサーバは集合対象メディアサーバからS5310のような集合オブジェクト情報を有している。例えば、ObjectIDが‘aaa’の集合オブジェクトの場合、ObjectUpdateID=121であり、ObjectIDが‘bbb’の集合オブジェクトの場合、ObjectUpdateID=124である。
上記集合メディアサーバは、上記集合対象メディアサーバのアップデート識別情報をモニターリングすることで、上記集合対象メディアサーバ内に変更事項があるか否かを確認することができる。確認結果、上記集合対象メディアサーバ内に変更事項が存在する場合、上記集合メディアサーバは新たな集合オブジェクト情報の転送を受けることができる(S5320)。ここで、ObjectIDが‘aaa’の集合オブジェクトのObjectUpdateID=125であり、ObjectIDが‘bbb’の集合オブジェクトのObjectUpdateID=124であることを確認することができる。
これからObjectIDが‘aaa’の集合オブジェクトに変更事項があることを確認することができ、上記集合メディアサーバは上記新たな集合オブジェクト情報にアップデートを遂行することができる(S5330)。
ここに説明される多様な実施形態は、例えば、ソフトウェア、ハードウェア、またはこれらの組合せたものを用いてコンピュータまたはこれと類似の装置により読取できる記録媒体内で具現できる。
ハードウェア的な具現によれば、ここに説明される実施形態は、ASICs(application specific integrated circuits)、DSPs(digital signal processors)、DSPDs (digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays)、プロセッサ(processors)、制御器(controllers)、マイクロコントローラ(micro-controllers)、マイクロプロセッサ(microprocessors)、その他の機能遂行のための電気的なユニットのうち、少なくとも1つを用いて具現できる。一部の場合に、そのような一実施形態が制御部により具現できる。
ソフトウェア的な具現によれば、手続や機能のような実施形態は少なくとも1つの機能または作動を遂行するようにする別のソフトウェアモジュールと共に具現できる。ソフトウェアコードは適切なプログラム言語で書かれたソフトウェアアプリケーションにより具現できる。ソフトウェアコードはメモリに格納され、制御部により実行できる。
本発明の一実施形態によれば、前述した方法は、プログラムが記録された媒体にプロセッサが読み取ることができるコードとして具現することが可能である。プロセッサが読み取ることができる媒体の例には、ROM、RAM、CD−ROM、磁気テープ、フロッピーディスク、光データ格納装置などがあり、キャリアウェーブ(例えば、インターネットを通じての転送)の形態で具現されることも含む。