以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
(第1の実施形態)
まず、本発明の第1の実施形態にかかるデータ管理システム10について図1および図2を参照して説明する。なお、本実施形態の説明においては、図1および図2を参照してデータ管理システム10の概要を説明した後に、図3〜図19を参照し、データ管理システム10の各構成を詳細に説明する。
図1は、本実施形態にかかるデータ管理システム10の構成を示した説明図である。データ管理システム10は、メディアサーバ12、データ管理サーバ20およびクライアント機器30を含む。
メディアサーバ12は、コンテンツデータ(以下、単にコンテンツ)、コンテンツの内容を示すメタデータ、コンテンツのサムネイルデータ(以下、単にサムネイル)およびメディアサーバ12に関する情報であるサーバ情報を記憶するコンテンツサーバとして機能する。図1では、メディアサーバ12AとしてPCを、メディアサーバ12Bとしてデジタルカメラを、メディアサーバ12CとしてDVD(Digital Versatile Disk Recordable)レコーダを一例として示している。本明細書においては、これらメディアサーバ12A、BおよびCを特に区別する必要がない場合は、単にメディアサーバ12と称して説明する。
データ管理サーバ20は、各メディアサーバ12からメタデータおよびサムネイルを収集し、メタデータおよびサムネイルを記憶する機能を有する。また、データ管理サーバ20は、クライアント機器30からの要求に応じて、メタデータおよびサムネイルをクライアント機器30に送信する。
クライアント機器30は、データ管理サーバ20からメディアサーバ12が記憶しているコンテンツに関するメタデータおよびサムネイルを取得する。ここで、メタデータには、メタデータに対応するコンテンツの所在を示すコンテンツ所在情報が含まれている。クライアント機器30は、かかるコンテンツ所在情報に基づいて、該当するメディアサーバ12から所望するコンテンツを取得することができる。図1においては、クライアント機器30の一例としてディスプレイ装置を図示している。
次に、このようなデータ管理システム10の動作を図2を参照して説明する。
図2は、データ管理システム10における全体の動作を示したシーケンス図である。まず、データ管理サーバ20は、メディアサーバ12の存在を確認すると、メディアサーバ12に対してメタデータの送信を要求する(S52)。メディアサーバ12は、データ管理サーバ20からのメタデータの送信要求に応じて、記憶しているコンテンツに関するメタデータをデータ管理サーバ20に送信する(S54)。そして、データ管理サーバ20は、メディアサーバ12から収集したメタデータを記憶する(S56)。
続いて、データ管理サーバ20は、収集したメタデータに含まれるサムネイルの所在を示すサムネイル所在情報に基づいて、メディアサーバ12に対してサムネイルの送信を要求する(S58)。メディアサーバ12は、データ管理サーバ20からのサムネイルの送信要求に応じて、記憶しているコンテンツのサムネイルをデータ管理サーバ20に送信する(S60)。そして、データ管理サーバ20は、メディアサーバ12から収集したサムネイルを記憶する(S62)。ここで、図2においては、メディアサーバ12が一つであるように示しているが、実際には複数であり、データ管理サーバ20は、S52からS62に示した処理を複数のメディアサーバ12との間で行う。
その後、クライアント機器30は、データ管理サーバ20に対してメタデータの送信を要求する(S64)。データ管理サーバ20は、かかるメタデータの送信要求に応じて、クライアント機器30にメタデータとサムネイルを送信する(S66)。
次いで、クライアント機器30は、データ管理サーバ20から取得したメタデータに含まれるコンテンツ所在情報に基づいて、該当するメディアサーバ12に対してコンテンツの送信を要求する(S68)。そして、メディアサーバ12は、クライアント機器30からのコンテンツの送信要求に応じて、コンテンツをクライアント機器30に送信する(S70)。
このように、本実施形態にかかるデータ管理システム10によれば、クライアント機器30においてコンテンツを再生しようとするとき、該コンテンツがいずれのメディアサーバ12に記憶されているかが分からなくても、データ管理サーバ20が記憶するメタデータを検索することで該コンテンツの所在を特定することができる。また、メディアサーバ12が起動している間に該メディアサーバ12のメタデータを収集し記憶できるため、該メディアサーバ12が休止状態に移行している間も、クライアント機器30に該メディアサーバ12のメタデータを提供することができる。
なお、上述してきたコンテンツとは、例えば、音楽、講演およびラジオ番組などの音楽データや、映画、テレビジョン番組、ビデオプログラム、写真、絵画および図表などの映像データや、ゲームおよびソフトフェアなどの任意のデータを含む概念である。
また、図1においては、メディアサーバ12の一例として、PC、デジタルカメラおよびDVDレコーダを示したが、メディアサーバ12は、コンテンツやメタデータの記憶および送信機能などを備えていればよく、例えば、家庭用映像処理装置(ビデオデッキなど)、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、PDA(Personal Digital Assistant)、家庭用ゲーム機器、携帯用ゲーム機器、家電機器などの情報処理装置であってもよい。同様に、図1においては、データ管理サーバ20の一例としてPCを示し、クライアント機器30の一例としてディスプレイ装置を示したにすぎず、データ管理サーバ20およびクライアント機器30も、上述のような情報処理装置で構成することができる。
また、本実施形態にかかるデータ管理システム10は、DLNA(Digital Living Network Alliance)ガイドラインおよびUPnP(Universal Plug and Play)に準拠したホームネットワーク上で構成されるようにしてもよい。例えば、メディアサーバ12を、DLNAガイドラインに準拠するデジタルメディアサーバ(DMS)として構成しても、クライアント機器30を、DLNAガイドラインに準拠するデジタルメディアプレーヤ(DMP)として構成してもよい。また、データ管理サーバ20を、DLNAガイドラインに準拠するデジタルメディアサーバおよびデジタルメディアプレーヤとしての機能を兼ね備えるように構成してもよい。
続いて、メディアサーバ12の詳細な構成について図3〜図9を参照して説明する。
図3は、メディアサーバ12の構成を示した機能ブロック図である。メディアサーバ12は、通信部108と、コンテンツ取得部112と、データ管理部116と、記憶部120と、再生部124と、を備える。
通信部108は、通信網14、データ管理サーバ20およびクライアント機器30などとのインターフェースであり、送信部または受信部としての機能を有する。例えば、通信部108は、通信網14からコンテンツを受信したり、データ管理サーバ20へメタデータおよびサムネイルを送信したり、クライアント機器30にコンテンツを送信したりする。また、通信部108は、無線LAN(Local Area Network)対応通信装置、ワイヤレスUSB対応通信装置、有線による通信を行うワイヤー通信装置などのハードウェアで構成しても、ソフトウェアで構成してもよい。
コンテンツ取得部112は、コンテンツを外部から取得する機能を有する。例えば、コンテンツ取得部112は、通信網14を介して、コンテンツ配信サーバ26からコンテンツを取得したり、記憶媒体に記憶されたコンテンツを取得したりすることができる。記憶媒体としては、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPRPM(Erasable Programmable Read Only Memory)などの不揮発性メモリや、ハードディスクおよびフロッピー(登録商標)ディスクなどの磁気ディスクや、CD−R(Compact Disk Recordable)/RW(ReWritable)、DVD−R(Digital Versatile Disk Recordable)/RW/+R/+RW/RAM(Ramdam Access Memory)およびBD(Blu−Ray Disc(登録商標))―R/BD−REなどの光ディスクや、MO(Magneto Optical)ディスクなどがあげられる。
データ管理部116は、記憶部120へのデータの書き込みおよび記憶部120からのデータの読み出しを行う。例えば、データ管理部116は、コンテンツ取得部112が取得したコンテンツを、メタデータおよびサムネイルと併せて記憶部120に所定の規則に従って書き込んだり、データ管理サーバ20からのメタデータの送信要求があったときに、記憶部120からメタデータを読み出したり、クライアント機器30からのコンテンツの送信要求があったときに、記憶部120からコンテンツを読み出すことができる。
記憶部120は、コンテンツ、サムネイル、サーバ情報およびメタデータを記憶する。再生部124は、データ管理部116により記憶部120から読み出されたコンテンツを再生できる。コンテンツは、上述したように、音楽、動画および静止画などのデータそのもの示す概念である。サムネイルは、コンテンツの内容を示す縮小した画像であり、コンテンツのジャケットや、コンテンツが動画である場合には動画のワンシーンであってもよい。サーバ情報は、メディアサーバ12に関する情報である。以下、図4を参照してサーバ情報について説明する。
図4は、サーバ情報の一例を示した説明図である。サーバ情報は、サーバIDと、サーバ名と、IPアドレスと、UUIDと、更新情報とを含む。サーバIDは、データ管理システム10における各メディアサーバ12を識別するための情報である。サーバ名は、各メディアサーバに例えばユーザ設定に基づき付与される名称である。
IP(Internet Protocol )アドレスは、インターネットに接続された各機器を識別するための情報である。UUID(Universally Unique IDentifier)は、各メディアサーバおよび各種機器に固有に付与される汎用識別情報である。更新情報は、メディアサーバ12の記憶部120に記憶されたいずれかの情報が更新された場合に変化し、何かしらの情報が更新されたことを確認可能とするための情報である。更新情報は、例えば、更新回数であっても、更新時刻であってもよい。
具体的には、図4に示した例では、メディアサーバ12のサーバIDは「001」であり、サーバ名は「サーバA」であり、IPアドレスは「192.168.130.76」であり、UUIDは「AF8CD239」であり、更新情報は「12」である場合を示している。なお、図4において、各項目の表現形式として簡易的なものを用いたに過ぎず、例えば、UUIDは128ビットで表される情報であってもよい。また、本明細書においては、更新情報は、メディアサーバ12の記憶部120が更新された回数を示すものとする。なお、サーバ情報は、メディアサーバ12のMAC(Media Access Control address)アドレスを含んでもよい。
また、記憶部120が記憶するメタデータは、コンテンツの所在を示すコンテンツ所在情報やサムネイルの所在を示すサムネイル所在情報を含む所在情報と、コンテンツのタイトルやジャンルなどの種類を示す属性情報とを含む。このようなメタデータは、データ管理部116により階層構造化され、階層構造化されたメタデータが記憶部120に階層的に書き込まれる。メタデータを階層構造化するとは、例えば、各メタデータを、木構造を構成する少なくとも1以上のノードと対応付けることを意味する。以下、図5を参照して、メディアサーバ12が記憶するメタデータの階層化されたデータ構造を説明する。
図5は、メディアサーバ12が記憶するメタデータの階層構造の一例を示した説明図である。図5に一例と示した階層構造によれば、第1階層のノードにルート130(Root)が配される。ルート130は、上位階層にノードを有さないノードである。第1階層の下位である第2階層のノードには、複数のコンテナが配される。具体的には、第2階層のノードには、「すべての曲」140、「すべてのアーティスト」150、「すべてのアルバム」160、「ジャンルから探す」162、「録画したビデオ」164および「登録したフォルダ」166などのコンテナが配されている。なお、コンテナとは、「UPnP AV ContentDirectory Service」において規定される「container」であってもよく、下位にノードを有するノードであってもよい。
そして、「すべての曲」140の下位の第3階層のノードには、記憶部120が記憶する音楽コンテンツのメタデータが全て配され、図5にはその一例として、「昭和島」142、「One September」144を示している。また、「すべてのアーティスト」150の下位の第3階層には、記憶部120が記憶する音楽コンテンツのアーティストごとのコンテナが配され、図5にはその一例として、「A−DASH」152を示している。
さらに、「A−DASH」152の下位の第4階層には、記憶部120が記憶する音楽コンテンツのうちで、アーティストが「A−DASH」に該当するコンテンツが配され、図5にはその一例として、「昭和島」154および「上を向いて走ろう」156を示している。同様に、「すべてのアルバム」160、「ジャンルから探す」162、「録画したビデオ」164および「登録したフォルダ」166の下位にも、コンテナ、あるいはコンテンツが配される。
このように、データ管理部116は、各ノード(各コンテナあるいは各コンテンツ)の識別情報であるオブジェクトIDとメタデータとを対応付けることにより、メタデータを階層構造化することができる。すなわち、各メタデータを、いずれかのノードに配する、あるいは割り当てることは、各メタデータと、いずれかのノードのオブジェクトIDとを対応付けることと等価である。本明細書においては、説明の便宜上、上記オブジェクトIDが、図5において各コンテナあるいは各コンテンツのメタデータに付した符号と同一であるものとして説明する。例えば、図5の第3階層の「昭和島」142のオブジェクトIDは、「142」であるものとする。以下、オブジェクトIDと対応付けられたメタデータの一例を図6および図7を参照して説明する。
図6は、メタデータに含まれる所在情報の一例を示した説明図である。図7は、メタデータに含まれる属性情報の一例を示した説明図である。
図6を参照すると、所在情報は、コンテンツIDと、オブジェクトIDと、関連IDと、親IDと、子IDと、コンテンツURLと、サムネイルURLとを含む。コンテンツIDは、メディアサーバ12が記憶する各コンテンツを識別可能な情報である。図6においては、「昭和島」のコンテンツIDが「1001」であり、「One September」のコンテンツIDが「1002」であり、「上を向いて走ろう」のコンテンツIDが「1003」である場合を示している。
オブジェクトIDは、上述したように、階層化された木構造のデータ配置において、メタデータが配されたノードを識別するための情報である。したがって、メディアサーバ12が記憶するコンテンツ「昭和島」は単一であっても、図5に示したように木構造のデータ配置において、「昭和島」のメタデータは複数のノードに割り当てられ、複数のオブジェクトIDと対応付けられる場合がある。具体的には、コンテンツIDが「1001」の「昭和島」はオブジェクトID「142」および「154」と対応付けられ、コンテンツIDが「1002」である「One September」はオブジェクトID「144」と対応付けられ、コンテンツIDが「1003」である「上を向いて走ろう」はオブジェクトID「156」と対応付けられている。
関連IDは、同一コンテンツのメタデータが複数のノードに割り当てられた木構造のデータ配置において、一のメタデータを主メタデータとした場合に、他のメタデータに記載される主メタデータのノードを示すオブジェクトIDである。図5に示した範囲では、「昭和島」が複数のノードに割り当てられているため、図6においては、オブジェクトID「142」と対応付けられたメタデータを主メタデータとし、オブジェクトID「154」と対応付けられたメタデータの関連IDには、主メタデータのオブジェクトIDである「142」が記載されている。
親IDは、自己の割り当てられたノードの上位のノードのオブジェクトIDを示す。具体的には、図5に示した例において、オブジェクトID「142」の「昭和島」の上位のノードには、オブジェクトID「140」の「すべての曲」のコンテナが該当するため、オブジェクトID「142」の「昭和島」の親IDは「140」である。同様に、オブジェクトID「144」の「One September」の親IDは「140」であり、オブジェクトID「154」の「昭和島」の親IDは「152」であり、オブジェクトID「156」の「上を向いて走ろう」の親IDは「152」である。
子IDは、自己の割り当てられたノードの下位のノードのオブジェクトIDを示す。具体的には、図5に示した例において、オブジェクトID「142」の「昭和島」、オブジェクトID「144」の「One September」、オブジェクトID「154」の「昭和島」およびオブジェクトID「156」の「上を向いて走ろう」のいずれも自身が最下層であるため、子IDは存在しない。一方、オブジェクトID「140」の「すべての曲」のコンテナの子IDには、「昭和島」のオブジェクトIDである「142」や、「One September」のオブジェクトIDである「144」が記載される。
コンテンツURL(Uniform Resource Locator)は、メタデータに対応するコンテンツの所在を示すコンテンツ所在情報である。該コンテンツURLの一部には、該コンテンツを記憶しているメディアサーバのIPアドレスが含まれている。例えば、図6に示したように、IPアドレスが「192.168.130.76」であるメディアサーバが記憶するコンテンツのコンテンツURLは、上記IPアドレスを最初に含む「192.168.130.76.xxxaaa・・」であってもよい。サムネイルURLも、コンテンツURLと同様に、メタデータに対応するコンテンツのサムネイルの所在を示すサムネイル所在情報である。
図7を参照すると、属性情報は、オブジェクトIDと、メディアクラスと、タイトルと、アーティストと、アルバムと、ジャンルと、フォーマットと、を含む。
メディアクラスは、コンテンツが、音楽、映像または写真などのいずれの種類の表現メディアであるかを示す情報である。タイトルはコンテンツの表題である。アーティストは、音楽コンテンツの歌手または演奏者などを示す情報である。アルバムは、コンテンツが格納されているアルバム名を示す情報である。ジャンルは、ポップス、ロック、ジャズ、映画音楽、クラッシック、ハウスまたはテクノや、アクション、SF、ホラー、コメディまたはサスペンスなどのコンテンツの内容に応じた分類を示す情報である。
フォーマットは、コンテンツのデータ形式を示す情報である。データ形式としては、JPEG(Joint Photographic coding Experts Group)、MPEG1、MPEG2またはMPEG4などの画像圧縮形式や、MP3(MPEG1 Layer−3)、LPCM(Linear PCM)、AAC(Advanced Audio Codec)、WMA9(Windows Media Audio9)、ATRAC(Adaptive TRansform Acoustic Coding)またはATRAC3などの音楽圧縮形式があげられる。
例えば、図7には、オブジェクトID「142」のコンテンツの、メディアクラスが「音楽」であり、タイトルが「昭和島」であり、アーティストが「A−DASH」であり、アルバムが「エレベータ」であり、ジャンルが「ポップス」であり、フォーマットが「MP3」である場合を示している。
なお、上記では図5を参照してメタデータの階層構造を説明したが、各メディアサーバにおける階層構造は非同一である場合がある。例えば、メディアサーバ12Aが図5に示した階層構造を有し、メディアサーバ12Bおよびメディアサーバ12Cが、以下説明する図8または図9に示した階層構造を有する場合も考えられる。
図8は、階層構造化されたメタデータのデータ配置の他の一例を示した説明図である。図8に示した例では、第1階層にはルート170が配され、ルートの下位の第2階層には、「Audio」172、「Video」184、「Photos」185、および「User Files」186などのコンテナが配されている。
さらに、「Audio」172の下位の第3階層には、「アーティスト」173、「アルバム」176、「ジャンル」179、および「すべて」182などのコンテナが配されている。さらに、「アーティスト」173の下位の第4階層には、アーティストごとのコンテナである複数の「個別アーティスト」174が配され、各「個別アーティスト」174の下位の第5階層には、コンテンツである複数の曲175が配されている。
また、「アルバム」176の下位の第4階層には、アルバムごとのコンテナである複数の「個別アルバム」177が配され、各「個別アルバム」177の下位の第5階層には、コンテンツである複数の曲178が配されている。また、「ジャンル」179の下位の第4階層には、ジャンルごとのコンテナである複数の「個別ジャンル」180が配され、各「個別ジャンル」180の下位の第5階層には、コンテンツである複数の曲178が配されている。また、「すべて」179の下位の第4階層には、コンテンツである複数の曲183が配されている。なお、上記「個別アーティスト」174、「個別アルバム」177、「個別ジャンル」180および曲175〜183に付した符号は、オブジェクトIDを示すものでない。
また、図8においては省略しているが、「Video」184、「Photos」185、および「User Files」186のコンテナの下位にも、「Audio」172と同様にコンテナあるいはコンテンツを割り当てることができる。
図9は、階層構造化されたメタデータのデータ配置の他の一例を示した説明図である。図9に示した例では、第1階層にはルート187が配され、ルートの下位の第2階層には、「音楽ジュークボックス」188、「写真アルバム」197、「ビデオクリップ」198、および「アプリケーションとサービス」199などのコンテナが配されている。
さらに、「音楽ジュークボックス」188の下位の第3階層には、「すべて」189、「公表日時」191、「取得日時」194などのコンテナが配されている。さらに、「すべて」189の下位の第4階層には、コンテンツである複数の曲190が配されている。
また、「公表日時」191の下位の第4階層には、コンテンツの公表日時ごとのコンテナである複数の「個別公表日時」192が配され、各「個別公表日時」192の下位の第5階層には、コンテンツである複数の曲193が配されている。また、「取得日時」194の下位の第4階層には、メディアサーバがコンテンツを取得した取得日時ごとのコンテナである複数の「個別取得日時」195が配され、各「個別取得日時」195の下位の第5階層には、コンテンツである複数の曲196が配されている。なお、上記「個別公表日時」192、「個別取得日時」195、および曲190〜196に付した符号は、オブジェクトIDを示すものでない。
また、図9においては省略しているが、「写真アルバム」197、「ビデオクリップ」198、および「アプリケーションとサービス」199のコンテナの下位にも、「音楽ジュークボックス」188と同様にコンテナあるいはコンテンツを割り当てることができる。
以上、メディアサーバ12の詳細な構成について説明した。上述したように、メディアサーバ12は、メディアサーバ12ごとに異なる階層構造のデータ配置を有する場合がある。したがって、クライアント機器30において、ユーザが各メディアサーバ12ごとにコンテンツを検索するとすれば、ユーザは、各メディアサーバの階層構造を把握した上で、コンテンツの検索方法を使い分けなければならず煩雑であった。
本実施形態にかかるデータ管理システム10は、上記問題点を一着眼点としてなされたものであり、本実施形態にかかるデータ管理システム10は、データ管理サーバ20を設けたことにより、メディアサーバ12に記憶されたコンテンツのユーザによる検索作業を簡素化することができる。以下、図10〜図18を参照して、データ管理サーバ20の詳細な構成について説明する。
図10は、本実施形態にかかるデータ管理サーバ20のハードウェア構成を示したブロック図である。データ管理サーバ20は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、ホストバス204と、ブリッジ205と、外部バス206と、インタフェース207と、入力装置208と、出力装置210と、ストレージ装置(HDD)211と、ドライブ212と、通信装置215とを備える。
CPU201は、演算処理装置および制御装置として機能し、各種プログラムに従ってデータ管理サーバ20内の動作全般を制御する。また、CPU201は、マイクロプロセッサであってもよい。ROM202は、CPU201が使用するプログラムや演算パラメータ等を記憶する。RAM203は、CPU201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバスなどから構成されるホストバス204により相互に接続されている。
ホストバス204は、ブリッジ205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス206に接続されている。
入力装置208は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段と、使用者による操作に基づいて入力信号を生成し、CPU201に出力する入力制御回路などから構成されている。データ管理サーバ20のユーザは、該入力装置208を操作することにより、データ管理サーバ20に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置210は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。出力装置210は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
ストレージ装置211は、本実施形態にかかるデータ管理サーバ20の記憶部の一例として構成されたデータ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ストレージ装置211は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置211は、ハードディスクを駆動し、CPU201が実行するプログラムや各種データを格納する。また、このストレージ装置211には、メタデータ、サムネイルおよびサーバ情報などが記憶される。
ドライブ212は、記憶媒体用リーダライタであり、データ管理サーバ20に内蔵、あるいは外付けされる。ドライブ212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体24に記録されている情報を読み出して、RAM203に出力する。
通信装置215は、例えば、ネットワーク14に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置215は、無線LAN(Local Area Network)対応通信装置であっても、ワイヤレスUSB対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。この通信装置215は、メディアサーバ12やクライアント機器30との間で、例えば、ホームネットワークを介して、メタデータ、サムネイルおよびサーバ情報などの各種データを送受信する。
図11は、本実施形態にかかるデータ管理サーバ20の構成を示した機能ブロック図である。データ管理サーバ20は、通信部220と、データ収集部224と、制御部228と、データ処理部232と、判断部としてのサーバ情報判断部234と、記憶部236と、設定部240と、サムネイル収集部244と、メタデータ送信部248と、サムネイル送信部252と、デコーダ256とを備える。
通信部220は、メディアサーバ12またはクライアント機器30などとのインターフェースであり、送信部または受信部としての機能を有する。例えば、通信部220は、メディアサーバ12からメタデータ、サムネイルまたはサーバ情報などを受信したり、クライアント機器30にメタデータまたはサムネイルなどを送信することができる。通信部220は、図10に示した通信装置215であっても、図10に示したCPU201が通信プログラムに従って動作して実現されるソフトウェアであってもよい。
データ収集部224は、制御部228の制御に基づいて、各メディアサーバ12からメタデータおよびサーバ情報を収集する。例えば、データ収集部224は、DLNAガイドラインに準拠するデジタルメディアプレイヤーとしての機能を備えていてもよく、ホームネットワークを介して接続されているメディアサーバ12を検出することができる。また、データ収集部224は、検出したメディアサーバ12にサーバ情報の送信を要求し、メディアサーバ12からサーバ情報を収集可能である。
また、データ収集部224は、あるメディアサーバ12が休止状態から起動状態に移行するときや、あるメディアサーバ12が起動状態から休止状態に移行するとき、該当するメディアサーバ12から動作状態を移行することを示す移行情報を受信することもできる。データ収集部224により収集されたサーバ情報は、データ処理部232により、動作状態と対応付けて記憶部236に記憶される。以下、図12を参照して、動作状態と対応付けて記憶部236に記憶されるサーバ情報について説明する。
図12は、動作状態と対応付けて記憶部236に記憶されるサーバ情報の一例を示した説明図である。サーバ情報は、サーバIDと、サーバ名と、IPアドレスと、UUIDと、更新情報と、動作状態と、を含む。サーバIDと、サーバ名と、IPアドレスと、UUIDと、更新情報は、図4を参照して説明した通りである。動作状態は、該当するメディアサーバが起動しているか否かを示す情報である。
例えば、図12に示したように、記憶部236は、サーバIDが「001」であり、サーバ名が「サーバA」であり、IPアドレスが「192.168.130.76」であり、UUIDが「AF8CD239」であり、更新情報が「11」であり、動作状態が「起動」であるサーバ情報を記憶する。また、図12に示したでは、記憶部236は、サーバIDが「002」であり、サーバ名が「サーバB」であり、IPアドレスが「192.168.130.78」であり、UUIDが「DDA8701B」であり、更新情報が「34」であり、動作状態が「起動」であるサーバ情報を記憶している。また、図12に示した例では、記憶部236は、サーバIDが「003」であり、サーバ名が「サーバC」であり、IPアドレスが「192.168.130.84」であり、UUIDが「CE4HDCA4」であり、更新情報が「56」であり、動作状態が「休止」であるサーバ情報を記憶している。
図11を参照してデータ管理サーバ20の構成の説明に戻ると、データ収集部224は、制御部228の制御に基づいて、各メディアサーバ12からメタデータを収集する。メタデータには、図6を参照して説明した所在情報と、図7を参照して説明した属性情報とが含まれる。なお、図6および図7においては、説明の便宜上図面を分割して説明しているが、所在情報と属性情報とは1の表で表されてもよい。
制御部228は、データ収集部224によるサーバ情報およびメタデータの収集や、サムネイル収集部244によるサムネイルの収集を制御する。例えば、制御部228がデータ収集部224にサーバ情報を収集させるタイミングは、データ管理サーバ20の起動時、ユーザ設定に基づく時間間隔(例えば、1分、30分など)、ユーザ設定に基づく時刻(例えば、10時30分)、メディアサーバ12が起動状態に移行する移行情報を受信したときであってもよい。そして、制御部228は、データ収集部224が収集したサーバ情報に含まれるUUIDが未知のメディアサーバ12のものであるか否かを判断する。該サーバ情報に含まれるUUIDが未知のメディアサーバ12のものであった場合には、制御部228は、データ収集部224に該メディアサーバ12からメタデータを収集するよう制御する。
一方、上記サーバ情報に含まれるUUIDが既知のメディアサーバ12のものであった場合には、サーバ情報に含まれるIPアドレスまたは更新情報に変化があったか否かに基づいて、データ収集部224に該メディアサーバ12からメタデータを収集させるか否かを制御する。
より詳細には、制御部228は、データ収集部224が単位時間あたりに収集するメタデータの数を調整することができる。例えば、制御部228は、データ収集部224が所定数のメタデータを収集すると、データ収集部224にあらかじめ設定された待機時間が経過するまでメタデータの収集を中断させ、待機時間が経過した後にデータ収集部224に所定数のメタデータの収集を再開させることができる。
かかる構成によれば、例えば、単位時間あたりにデータ収集部224が収集するメタデータの数を、待機時間を設けることにより抑制できる。その結果、データ管理サーバ20およびメディアサーバ12において生じる負荷を軽減することができる。
さらに、設定部240が、データ管理サーバおよび/またはコンテンツサーバの、負荷状況および/または情報処理能力に応じて待機時間を設定できるようにしてもよい。かかる構成においては、設定部240が、データ管理サーバ20の情報処理能力が低い場合や、データ管理サーバ20においてユーザが作業を行っている場合には待機時間を長く設定し、メタデータの収集に費やされるデータ管理サーバ20における負荷率を抑制することができる。一方、設定部240は、データ管理サーバ20の情報処理能力が高い場合や、データ管理サーバ20においてユーザが作業を行われていない場合には待機時間を短く、あるいは無しに設定し、迅速なメタデータの収集を図ることができる。
また、制御部228は、データ収集部224が1のメディアサーバ12から同一コンテンツに関する複数のメタデータを収集した場合、いずれか1のメタデータのみをデータ処理部232における階層構造化処理に用いさせることができる。具体的には、制御部228は、関連IDが記載されたメタデータが収集される前に、該関連IDをオブジェクトIDとするメタデータが既に収集されていた場合、該関連IDが記載されたメタデータを破棄する。また、制御部228は、関連IDが記載されたメタデータが収集された後に、該関連IDをオブジェクトIDとするメタデータを収集した場合、該関連IDが記載されたメタデータを破棄し、該関連IDをオブジェクトIDとするメタデータをデータ処理部232における階層構造化処理に用いさせることができる。また、制御部228は、コンテンツURLが記載されていないメタデータは破棄することができる。
また、制御部228は、1のメディアサーバ12のメタデータを収集し終えると、サムネイル収集部244に該1のメディアサーバ12からのサムネイルの収集開始を指示する。
データ処理部232は、サーバ情報、メタデータおよびサムネイルの記憶部236への書き込み処理、および記憶部236からのサーバ情報、メタデータおよびサムネイルの読み出し処理を行う。
より詳細には、データ処理部232は、収集されたメタデータを階層構造化して記憶部236に記憶させる。このとき、データ処理部232は、メタデータに含まれる所在情報を参照することなく、メタデータに含まれる属性情報に基づいてメタデータを階層構造化する。このような属性情報に基づいて階層構造化されたメタデータの具体例を、図13を参照して説明する。
図13は、データ処理部232により階層構造化されたメタデータの一例を示した説明図である。図13は、データ管理サーバ20が、メディアサーバ12から図6および図7に示したメタデータを収集した場合を示している。
図13に示した階層構造例は、第1階層に「ルート」400が配されている。そして、「ルート」400の下位の第2階層には、複数のコンテナが配されている。具体的には、「ルート」400の下位の第2階層には、「ビデオ」410、「音楽」430、「写真」470などのコンテナが配されている。そして、「ビデオ」410の下位の第3階層に「全てのビデオ」412、「ジャンル」416が配され、「全てのビデオ」412の下位の第4階層に「ビデオ」414が配されている。また、「ジャンル」416の下位の第4階層に「個別ジャンル」418が配され、「個別ジャンル」418の下位の第5階層に「ビデオ」420が配されている。なお、図13において、直方体で示したノードはコンテナを示し、楕円形で示したノードはコンテンツのメタデータ(アイテム)を示している。すなわち、「ビデオ」410は、その下位にビデオコンテンツのメタデータが存在することを示し、「ビデオ」414は、ビデオコンテンツのメタデータそのものを示している。
また、「音楽」430の下位の第3階層には、複数のコンテナが配される。具体的には、「音楽」430の下位の第3階層には、「全てのミュージック」432、「アーティスト」440、「アルバム」450、「ジャンル」440が配されている。ここで、データ処理部232は、メディアサーバ12から収集した図7に示した「昭和島」、「One September」および「上を向いて走ろう」の属性情報のメディアクラスを参照し、メディアクラスが音楽であることを確認すると、「昭和島」、「One September」および「上を向いて走ろう」のメタデータを「すべてのミュージック」432の下位の第4階層に割り当てる。図13には、一例として、「すべてのミュージック」432の下位の第4階層に「昭和島」434、「One September」436が配された様子を示している。
また、データ処理部232は、メディアサーバ12から収集した図7に示した「昭和島」、「One September」および「上を向いて走ろう」の属性情報のアーティストを参照し、「A−DASH」および「ミント」をアーティストとして確認すると、「A−DASH」および「ミント」のコンテナを「アーティスト」440の下位の第4階層に割り当てる。図13には、一例として、「アーティスト」440の下位の第4階層に「A−DASH」442が配された様子を示している。さらに、データ処理部232は、「昭和島」および「上を向いて走ろう」のメタデータのアーティストを参照し、「昭和島」および「上を向いて走ろう」のアーティストが「A−DASH」であることを確認すると、「昭和島」および「上を向いて走ろう」のメタデータを「A−DASH」442の下位の第5階層に割り当てる。図13には、一例として、「A−DASH」442の下位の第5階層に「昭和島」444、「上を向いて走ろう」446が配された様子を示している。
また、「アルバム」450の下位の第4階層に「個別アルバム」452が配されている。なお、「個別アルバム」452には、図7に示した属性情報に含まれるアルバム名「エレベータ」および「シーズン」などが含まれる。さらに、「個別アルバム」452の下位の第5階層に「曲」454が配される。
また、「ジャンル」460の下位の第4階層に「個別ジャンル」462が配されている。なお、「個別ジャンル」462には、図7に示した属性情報に含まれるジャンル名「ポップス」および「ロック」などが含まれる。さらに、「個別ジャンル」462の下位の第5階層に「曲」464が配される。
また、「写真」470の下位の第3階層に「全てのフォト」472、「アルバム」480、「カレンダー」486が配される。さらに、「全てのフォト」472の下位の第4階層に「写真」474が配される。また、「アルバム」480の下位の第4階層に「個別アルバム」482が配され、「個別アルバム」482の下位の第5階層に「写真」484が配される。また、「カレンダー」486の下位の第4階層に「個別日時」488が配され、「個別日時」488の下位の第5階層に「写真」490が配される。
以上説明したように、データ処理部232は、収集されたメタデータに含まれる属性情報に基づいてメタデータを階層構造化することができる。すなわち、データ処理部232は、メタデータに含まれる属性情報を参照し、メタデータをいずれのコンテナの下位のノードに割り当てるか決定し、割り当てたノードのオブジェクトIDとメタデータとを対応付ける。したがって、クライアント機器30においては、コンテンツがいずれのメディアサーバ12に記憶されているかを意識することなくコンテンツを検索できる。
なお、上記では、データ処理部232が記憶部236にメタデータを書き込む前に、メタデータを階層構造化する場合を説明したが、データ処理部232が、記憶部236に記憶されたメタデータを階層構造化するようにしてもよい。
かかる構成によれば、例えば、データ管理サーバ20はクライアント機器30からのメタデータの送信要求があったときに、記憶部236に記憶されたメタデータを階層構造化することができる。すなわち、データ処理部232は、クライアント機器30からのメタデータの送信要求があったときにのみ階層構造化処理を行うことにより、メディアサーバ12が記憶するコンテンツの更新頻度が高い場合でもデータ管理サーバ20における階層構造化処理のための負荷を抑制することができる。
図14は、データ管理サーバ20において階層構造化されたメタデータの属性情報の一例を示した説明図である。図14に示したように、データ処理部232は、図7に示したメタデータに含まれるオブジェクトIDを、データ管理サーバ20において各メタデータが割り当てられたノードのオブジェクトIDに変更する。具体的には、データ処理部232は、「昭和島」にオブジェクトID「434」および「444」を対応付け、「One September」にオブジェクトID「436」を対応付け、「上を向いて走ろう」にオブジェクトID「446」を対応付けている。
また、データ処理部232は、サムネイル収集部244が収集したサムネイルを記憶部236に書き込む。そして、データ処理部232は、記憶部236に書き込んだサムネイルに対応するメタデータに含まれるサムネイルURLを変更、あるいは更新する。すなわち、データ収集部224がメディアサーバ12からメタデータを収集した時点では、メタデータに含まれるサムネイルURLは、メディアサーバにおけるサムネイルの所在を示している。これを、データ処理部232は、サムネイルを記憶部236に記憶させると、記憶部236におけるサムネイルの所在を示すサムネイルURLに変更することができる。
図15は、データ処理部232によりサムネイルURLが変更されたメタデータを示した説明図である。図15に示したメタデータの所在情報は、コンテンツIDと、オブジェクトIDと、関連IDと、親IDと、子IDと、コンテンツURLと、サムネイルURLと、サーバUUIDとを含む。各メタデータのオブジェクトIDと、関連IDと、親IDは、図13に示したように、各メタデータが割り当てられたノードに応じたIDが記載されている。例えば、コンテンツID「1001」の「昭和島」は、オブジェクトID「434」および「444」が対応付けられ、オブジェクトID「434」の「昭和島」は、上位ノードが「全てのミュージック」432であるため、親IDは「432」である。
コンテンツURLは、上述したように、コンテンツの所在を示すコンテンツ所在情報である。このコンテンツURLは、いずれかのメディアサーバ12におけるコンテンツの所在を示している。また、コンテンツURLは、一部に、メディアサーバ12のIPアドレスを含んでいる。
サムネイルURLは、サムネイルの所在を示すサムネイル所在情報である。図6においては、サムネイルURLはメディアサーバ12におけるサムネイルの所在を示していた。しかし、図15に示したように、データ管理サーバ20の記憶部236にサムネイルが記憶された後は、データ処理部232は、サムネイルURLをデータ管理サーバ20の記憶部236におけるサムネイルの所在を示すように書き換えることができる。
サーバUUIDは、各メタデータがいずれのメディアサーバ12から収集されたかを示す情報である。したがって、図15に示したメタデータは、すべてUUIDが「AF8CD239」であるメディアサーバ12から収集されたことを意味する。
このように、本実施形態にかかるデータ処理部232は、記憶部236に記憶されたサムネイルに対応するメタデータに含まれるサムネイルURLを、記憶部236におけるサムネイルの所在を示すように更新することができる。ここで、クライアント機器30は、データ管理サーバ20から取得したメタデータに含まれるサムネイルURLに基づいて、サムネイルを取得しようとする。したがって、メタデータに含まれるサムネイルURLがメディアサーバ12における所在を示したままだと、クライアント機器30は、メディアサーバ12にアクセスしてサムネイルを取得する必要がある。しかし、この場合、クライアント機器30は、メディアサーバ12が起動していない場合には、メディアサーバ12を殊更起動させなければサムネイルを取得できない。そこで、上記のようにメタデータに含まれるサムネイルURLをデータ管理サーバ20における所在を示すよう変更することで、クライアント機器30は、メディアサーバ12の動作状態に拘らず、データ管理サーバからサムネイルデータを取得することが可能となる。
また、データ処理部232は、サーバ情報判断部234の判断に基づいて、メディアサーバ12のIPアドレスが変更された場合には、メタデータに含まれるコンテンツURLを更新することができる。より詳細には、コンテンツURLには、コンテンツを記憶しているメディアサーバのIPアドレスが一部に含まれている。そこで、サーバ情報判断部234がメディアサーバ12のIPアドレスが変更されたか否かを判断し、データ処理部232は、サーバ情報判断部234によりメディアサーバ12のIPアドレスが変更されたが変更されたと判断された場合、該コンテンツURLに含まれるIPアドレス部分を、暫定的に、メディアサーバ12の変更後のIPアドレスに書き換えることができる。
例えば、記憶部236に図12に示したサーバ情報が記憶されているときに、データ管理サーバ20が、UUIDが「AF8CD239」であり、IPアドレスが「192.168.130.104」である新たなサーバ情報を受信した場合を考える。この場合、サーバ情報判断部234は、記憶部236に記憶されているサーバ情報を参照し、UUIDが「AF8CD239」であるメディアサーバ12のIPアドレスが「192.168.130.76」であることを確認する。なお、図11においては、サーバ情報判断部234は、データ処理部232を介してサーバ情報を取得するよう示しているが、読み書き部をデータ処理部232と別途設け、該読み書き部を介してサーバ情報を取得するようにしてもよい。そして、サーバ情報判断部234は、新たなサーバ情報に含まれるIPアドレス「192.168.130.104」と、記憶部236に記憶されているサーバ情報に含まれるIPアドレス「192.168.130.76」とを比較し、両者が相異なるためメディアサーバ12のIPアドレスが変更されたと判断する。
そして、データ処理部232は、サーバ情報判断部234による判断を受けて、サーバUUIDが「AF8CD239」であるメタデータに含まれるコンテンツURLのIPアドレス部分を、「192.168.130.76」から、図16に示したように、新たなサーバ情報に含まれるIPアドレス「192.168.130.104」に書き換えることができる。
このように、メディアサーバ12のIPアドレスが変更された場合には、メタデータに含まれるコンテンツURLを更新することにより、データ管理サーバ20は、メタデータをメディアサーバ12から再収集する前であっても、暫定的にコンテンツURLに含まれるIPアドレス部分を更新し、クライアント機器30へ該メタデータを提供することができる。
しかし、メディアサーバ12のIPアドレスが変更された場合には、コンテンツURLのIPアドレス部分以外も変更されている可能性がある。そこで、メディアサーバ12のIPアドレスが変更された場合には、制御部228は、暫定的にコンテンツURLに含まれるIPアドレス部分を更新した後に、データ収集部224にメディアサーバ12から新たにメタデータを再収集させることができる。
なお、上記のようなメディアサーバ12におけるIPアドレスの変更は、主に以下の2つの事情によって生じる。第一の事情として、DHCPサーバによるIPアドレスの変更が考えられる。メディアサーバ12が、DHCPサーバにより自動的にIPアドレスを設定される場合、DHCPサーバは、メディアサーバ12にIPアドレスを自動的に割り当てることも、メディアサーバ12のIPアドレスを自動的に変更することも可能である。したがって、上記のようなDHCPサーバが稼動しているネットワークにメディアサーバ12が接続されている場合、メディアサーバ12のIPアドレスはDHCPサーバにより変更される可能性がある。
第二の事情としては、ユーザによるIPアドレスの変更が考えられる。メディアサーバ12のIPアドレスがユーザによって登録される場合、ネットワークの環境の設定変更など、何かしらの事由に応じてユーザがメディアサーバ12のIPアドレスを変更する可能性がある。
サーバ情報判断部234の説明に戻ると、サーバ情報判断部234は、データ収集部224により収集されたメディアサーバ12の新たなサーバ情報に基づいて、メディアサーバ12が記憶するコンテンツが更新されたか否かを判断する。より詳細には、サーバ情報判断部234は、新たなサーバ情報に含まれる更新情報と、記憶部236に記憶されているサーバ情報に含まれる更新情報とを比較し、両者が相異なる場合に、メディアサーバ12が記憶するコンテンツが更新されたと判断する。
制御部228は、サーバ情報判断部234によるメディアサーバ12が更新されたとする判断に基づいて、データ収集部224に該メディアサーバ12からメタデータを再収集させることができる。
図11を参照して、本実施形態にかかるデータ管理サーバ20の構成の説明に戻ると、記憶部236は、サーバ情報、メタデータおよびサムネイルを記憶する。記憶部236は、図10に示したストレージ装置211であっても、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPRPM(Erasable Programmable Read Only Memory)などの不揮発性メモリや、ハードディスクおよびフロッピー(登録商標)ディスクなどの磁気ディスクや、CD−R(Compact Disk Recordable)/RW(ReWritable)、DVD−R(Digital Versatile Disk Recordable)/RW/+R/+RW/RAM(Ramdam Access Memory)およびBD(Blu−Ray Disc(登録商標))―R/BD−REなどの光ディスクや、MO(Magneto Optical)ディスクなどの記憶媒体であってもよい。
設定部240は、データ管理サーバ20における各種設定を行う。例えば、設定部240は、メタデータの収集対象とするメディアサーバ12をユーザ操作に基づいて設定できる。設定部240により収集対象として設定されていないメディアサーバ12に記憶されたコンテンツのメタデータは、記憶部236から削除されるようにしてもよい。制御部228は、データ収集部224に、設定部240により収集対象として設定されていないメディアサーバ12からのみメタデータを収集させることができる。
サムネイル収集部244は、制御部228からのサムネイル収集指示に従い、メディアサーバ12からサムネイルを収集する。より詳細には、データ収集部224が収集したメタデータに含まれるサムネイルURLに基づいて、サムネイルURLにより示される所在からサムネイルを収集する。
なお、写真のコンテンツにおいてサムネイルが存在しない場合には、データ管理サーバ20は、写真のコンテンツ本体をメタデータに含まれるコンテンツURLに基づいて取得し、写真のコンテンツのサイズを例えば160×160バイトに変換し、サムネイルとして記憶部236に記憶させるようにしてもよい。
メタデータ送信部248は、クライアント機器30からのメタデータの送信要求を受けると、メタデータを記憶部236から抽出し、クライアント機器30に送信する。メタデータ送信部248は、DLNAガイドラインに準拠するデジタルメディアサーバとしての機能を有するように構成してもよい。
サムネイル送信部252は、メタデータ送信部248がクライアント機器30へ送信したメタデータに対応するサムネイルを、クライアント機器30へストリーミング方式で送信する。より詳細には、クライアント機器30が、受信したメタデータに含まれるサムネイルURLに基づいて、データ管理サーバ20にサムネイルの送信を要求し、サムネイル送信部252は、かかるサムネイルの送信要求を受けてクライアント機器30にサムネイルを送信する。ここで、ストリーミング方式とは、クライアント機器30のサムネイルの処理速度に同期しながら、サムネイルを送信する方式である。
デコーダ256は、サムネイル送信部252がクライアント機器30へ送信しようとするサムネイルのデータフォーマット(データ形式)を、必要に応じて変換する。例えば、サムネイル送信部252がクライアント機器30へ送信しようとするサムネイルのデータフォーマットが、クライアント機器30が対応できないデータフォーマットであった場合、デコーダ256は、クライアント機器30が対応可能なデータフォーマットにサムネイルを変換する変換部として機能する。
以上、データ管理サーバ20の詳細な構成について説明した。なお、上述したデータ収集部224、制御部228、データ処理部232、サーバ情報判断部234、設定部240、サムネイル収集部244、メタデータ送信部248、サムネイル送信部252またはデコーダ256における動作をコンピュータに実現させるためのコンピュータプログラムに基づいて、図2に示したCPU201、ROM202およびRAM203などのハードウェアに上記各構成と同等の機能を発揮させることができる。
次に、図17および図18を参照して、本実施形態にかかるデータ管理サーバ20におけるデータ管理方法を説明する。
図17および図18は、本実施形態にかかるデータ管理サーバ20におけるデータ管理方法を示したフローチャートである。図17を参照すると、まず、データ管理サーバ20は現在時刻を第1の基点時刻として記憶する(S504)。続いて、データ管理サーバ20は、メディアサーバ12から動作状態の移行情報としての状態変化通知を受信したか否かを判断する(S508)。状態変化通知を受信したと判断された場合は、データ処理部232が記憶部236に記憶されているサーバ情報に含まれる動作状態を更新する(S512)。その後、図18に示したS604の処理に進む。
一方、S508において状態変化通知を受信していないと判断された場合は、制御部228は、S504において記憶した第1の基点時刻から所定時間が経過したか否かを判断する(S516)。制御部228により第1の基点時刻から所定時間が経過したと判断された場合、図18に示したS604の処理に進む。制御部228により第一の基点時刻から所定時間が経過していないと判断された場合、制御部228は終了要求があったか否かを判断する(S520)。制御部228により終了要求があったと判断された場合には処理を終了する。制御部228により終了要求がなかったと判断された場合にはS508の処理に戻る。
続いて図18を参照すると、制御部228の制御に基づき、データ収集部224がホームネットワークに接続されたメディアサーバ12からサーバ情報を収集し、記憶部236に記憶させる(S604)。ここで、サーバ情報を収集する対象となるメディアサーバ12を、当該処理がS512の後に行なわれるか、S516の後に行なわれるかにより区別することができる。例えば、当該処理がS512の後に行なわれる場合、当該処理において、状態変化通知の送信元のメディアサーバのサーバ情報のみを収集するようにしてもよい。また、当該処理がS516の後に行なわれる場合、当該処理において、ホームネットワークに接続された全てのメディアサーバ12のサーバ情報を収集するようにしてもよい。
次いで、データ管理サーバ20は、データ収集部224がメディアサーバ12から収集したサーバ情報に基づいて、メディアサーバ12が既知であるか否かを判断する(S608)。メディアサーバが既知であると判断された場合、サーバ情報判断部234は、サーバ情報に基づいてメディアサーバ12のIPアドレスが変更されたか否かを判断する(S612)。サーバ情報判断部234によりメディアサーバ12のIPアドレスが変更されたと判断された場合、データ処理部232は、記憶部236に記憶されているメタデータに含まれるコンテンツURLのIPアドレス部分を新たなメディアサーバ12のIPアドレスに書き換える(S616)。
S616の後、S612においてメディアサーバ12のIPアドレスが変更されていないと判断された後、またはS608においてメディアサーバ12が既知で無いと判断された後、サーバ情報判断部234は、サーバ情報に含まれる更新情報に基づいて、メディアサーバ12に記憶されたコンテンツあるいはメタデータが更新されたか否かを判断する(S620)。そして、サーバ情報判断部234によりメディアサーバ12に記憶されたコンテンツあるいはメタデータが更新されたと判断された場合、制御部228の制御に基づき、データ収集部224がメディアサーバ12から10件のメタデータを単位量として収集する(S624)。
続いて、制御部228は、S624において収集されたメタデータを、1件づつ記憶部236に記憶されているメタデータと比較する(S628)。そして、制御部228は、メタデータが更新、あるいは新規追加されているか否かを判断する(S632)。続いて、制御部228により更新、あるいは新規追加されていると判断されたメタデータをデータ処理部232が階層構造化する(S636)。そして、データ処理部232は、階層構造化したメタデータを記憶部236に記憶させる(S640)。
その後、制御部228は、メタデータの比較が10件完了したか否かを判断する(S644)。メタデータの比較が10件完了していない場合には、S628に示した処理に戻る。一方、制御部228によりメタデータの比較が10件完了している判断された場合は、データ管理サーバ20は現在時刻を第2の基点時刻として記憶する(S648)。そして、データ管理サーバ20は、第2の基点時刻から所定の待機時間が経過したか否かを判断する(S652)。第2の基点時刻から所定の待機時間が経過した後、制御部228は、1のメディアサーバ12が記憶するメタデータを全件収集し終えたか否かを判断する(S656)。
S656において1のメディアサーバ12が記憶するメタデータを全件収集し終えていないと判断された場合は、S624からの処理を繰り返す。一方、S656において制御部228により、1のメディアサーバ12が記憶するメタデータを全件収集し終えたと判断された場合は、データ処理部232が、1のメディアサーバ12に以前記憶されていたが、現在は削除されてしまったコンテンツに関するメタデータを記憶部236から削除する(S660)。
S660の処理の後、制御部228は、収集対象である全てのメディアサーバ12からのメタデータの収集が完了したか否かを判断する(S654)。収集対象である全てのメディアサーバ12からのメタデータの収集が完了していない場合には、データ管理サーバ20はS608からの処理を繰り返す。
一方、S664において制御部228により収集対象である全てのメディアサーバ12からのメタデータの収集が完了したと判断された場合には、制御部228の制御に基づき、サムネイル収集部244がメディアサーバ12からサムネイルを順次収集し、データ処理部232が収集されたサムネイルを記憶部236に記録する(S668)。さらに、データ処理部232は、メタデータに含まれる記憶部236に記録したサムネイルのサムネイルURLを更新する(S672)。その後、データ管理サーバ20は図17に示したS504の処理を行う。
以上、本実施形態にかかるデータ管理サーバ20の構成および動作を説明した。次に、図19を参照して、クライアント機器30の構成を説明する。なお、クライアント機器30のハードウェア構成は、図10を用いて説明したデータ管理サーバ20のハードウェア構成と実質的に同一に構成できるため、説明を省略する。
図19は、本実施形態にかかるクライアント機器30の構成を示した機能ブロック図である。クライアント機器30は、通信部308と、データ取得部312と、表示部316と、ユーザ操作検出部320と、コンテンツ取得部324と、再生部328と、を備える。
通信部308は、メディアサーバ12や、データ管理サーバ20などとのインターフェースであり、送信部または受信部としての機能を有する。例えば、通信部308は、データ管理サーバ20からメタデータおよびサムネイルを受信したり、メディアサーバ12からコンテンツを受信できる。
データ取得部312は、ユーザ操作に基づいてデータ管理サーバ20から階層構造化されたメタデータを取得する。例えば、ユーザが図13に示した「音楽」430を選択した場合には、データ取得部312は、「音楽」430の下位の第3階層に配されている「すべてのミュージック」432、「アーティスト」440、「アルバム」450、「ジャンル」460などのコンテナに対応付けられているメタデータを取得するようにしてもよい。また、データ取得部312は、取得したメタデータに含まれるサムネイルURLに基づいて、データ管理サーバ20からサムネイルを取得することもできる。
表示部316は、データ取得部312が取得したメタデータおよびサムネイルを表示するディスプレイである。ユーザは、表示部316に表示されたコンテンツのメタデータおよびサムネイルに基づいて、所望のコンテンツを検索することができる。
ユーザ操作検出部320は、メタデータを取得するようクライアント機器30に指示するユーザ操作や、コンテンツを取得するようクライアント機器30に指示するユーザ操作を検出し、該指示をデータ取得部312またはコンテンツ取得部324に出力する。
コンテンツ取得部324は、ユーザ操作検出部320からのコンテンツの取得指示に基づいて、メディアサーバ12からコンテンツを取得する。具体的には、コンテンツ取得部324は、取得指示のあったコンテンツのメタデータに含まれるコンテンツURLを参照し、コンテンツURLに示された所在にアクセスし、コンテンツを取得することができる。
再生部328は、コンテンツ取得部328が取得したコンテンツを再生することができる。再生は、コンテンツがデジタル形式であれば、コンテンツをD/A変換し、ディスプレイやスピーカなどの出力装置に伝達する処理を含んでもよく、コンテンツがアナログ形式であればコンテンツデータを出力装置に伝達する処理を含んでもよい。
このように、本実施形態にかかるクライアント機器30は、複数のメディアサーバに記憶されたコンテンツのメタデータおよびサムネイルを、データ管理サーバ20から取得し、該メタデータに基づいてメディアサーバ12からコンテンツを取得することができる。なお、クライアント機器30は、所望のメディアサーバ12が休止状態であった場合、起動させる命令をメディアサーバ12に送信し、メディアサーバ12を起動させることも可能である。
以上説明したように、本発明の第1の実施形態にかかるデータ管理システム10によれば、データ管理サーバ20が複数のメディアサーバ12が記憶するコンテンツのメタデータを一元的に管理するため、クライアント機器30は、単にデータ管理サーバ20にアクセスするのみで、複数のメディアサーバ12に記憶されているコンテンツを検索することができる。また、当該データ管理サーバ20のデータ処理部232は、属性情報に基づいてメタデータを階層構造化するため、クライアント機器30においては、コンテンツがいずれのメディアサーバ12に記憶されているかを意識することなくコンテンツを検索できる。すなわち、当該データ管理サーバ20は、クライアント機器30において、メディアサーバ12ごとに異なるディレクトリ構造をたどることなくコンテンツの検索を可能とすることができる。
また、本実施形態にかかるデータ管理サーバ20は、サムネイルをメディアサーバ12から収集すると、メタデータに含まれるサムネイルURLをデータ管理サーバ20における所在を示すよう変更できるため、クライアント機器30は、メディアサーバ12の動作状態に拘らず、データ管理サーバ20からサムネイルデータを取得することが可能となる。
また、本実施形態にかかるデータ管理サーバ20のデータ処理部232は、サーバ情報判断部234によりメディアサーバ12のIPアドレスが変更されたと判断された場合、記憶部236に記憶されたメタデータに含まれるコンテンツURLのIPアドレス部分を、新たなサーバ情報に含まれるIPアドレスに書き換えることができる。その結果、メディアサーバ12のIPアドレスが変更された場合に、データ管理サーバ20は、メタデータをメディアサーバ12から再収集する前であっても、暫定的にメタデータに含まれるコンテンツURLを更新し、クライアント機器30へ該メタデータを提供することができる。
また、本実施形態にかかるデータ管理サーバ20のサーバ情報判断部234は、サーバ情報に含まれる更新情報に基づいてメディアサーバ12に記憶されたコンテンツが更新されたか否かを判断できる。すなわち、サーバ情報判断部234は、メディアサーバ12に記憶されたメタデータの内容を全て確認することなく、単に更新情報に基づいてメディアサーバ12が更新されたか否かを判断することができる。
また、本実施形態にかかるデータ管理サーバ20の制御部228は、単位時間あたりにデータ収集部224に収集させるメタデータの数を、所定の待機時間を設けることにより抑制できる。その結果、データ管理サーバ20およびメディアサーバ12において生じる負荷を軽減することができる。
さらに、本実施形態にかかるデータ管理サーバ20の設定部240は、データ管理サーバ20および/またはメディアサーバ12の、負荷状況および/または情報処理能力に応じて上記待機時間を設定できるため、設定部240は、データ管理サーバ20の情報処理能力が低い場合や、データ管理サーバ20においてユーザが作業を行っている場合には待機時間を長く設定し、メタデータの収集に費やされるデータ管理サーバ20における負荷率を抑制することができる。
(第2の実施形態)
次に、本発明の第2の実施形態にかかるデータ管理システム40について説明する。第1の実施形態にかかるデータ管理システム40は、クライアント機器30におけるコンテンツの検索作業を簡素化することができた。しかし、メディアサーバ12に記憶されているコンテンツのデータフォーマットが、クライアント機器30が対応可能な規格形式のデータフォーマットでなければ、クライアント機器30においてコンテンツを再生できない場合があった。本発明の第2の実施形態にかかるデータ管理システム40は、かかる問題に着眼してなされたものである。以下、図20〜図22を参照し、本実施形態にかかるデータ管理システム40の構成および動作を説明する。なお、第1の実施形態と実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
図20は、本実施形態にかかるデータ管理システム40の構成を示した説明図である。本実施形態にかかるデータ管理システム40は、異種メディアサーバ18を含む点で第1の実施形態と異なる。異種メディアサーバ18は、コンテンツおよびメタデータを記憶している点でメディアサーバ12と共通し、メディアサーバとしての機能も有するが、記憶しているコンテンツのデータフォーマットが、データ管理システム40における規定形式を満たさないデータフォーマットである点で相違する。
例えば、異種メディアサーバ18以外のデータ管理システム40が、DLNAガイドラインに準拠していれば、MPEG2、JPEG、LPCMおよびMP3などのデータフォーマットのコンテンツは支障なく相互通信することができる。しかし、DLNAガイドラインに規定されていないAACおよびWMAなどのデータフォーマットのコンテンツには、クライアント機器30が対応できない可能性がある。
本実施形態にかかるデータ管理サーバ20は、このようなデータ管理システム40における規定形式を満たさないデータフォーマットのコンテンツのクライアント機器30における再生を可能とする。以下、図21を参照し、本実施形態にかかるデータ管理サーバ20の構成を説明する。
図21は、本実施形態にかかるデータ管理サーバ20の構成を示した機能ブロック図である。本実施形態にかかるデータ管理サーバ20は、通信部220と、データ収集部224と、制御部228と、データ処理部232と、サーバ情報判断部234と、記憶部236と、設定部240と、サムネイル収集部244と、メタデータ送信部248と、サムネイル送信部252と、デコーダ256と、コンテンツ送受信部260と、を備える。
通信部220、データ収集部224、制御部228、データ処理部232、サーバ情報判断部234、記憶部236、設定部240、サムネイル収集部244、メタデータ送信部248およびサムネイル送信部252の構成および動作は、第1の実施形態で説明した内容と実質的に同一であるので、説明を省略する。
コンテンツ送受信部260は、クライアント機器30から、異種メディアサーバ18に記憶された規定形式を満たさないデータフォーマットのコンテンツの送信要求を受けると、異種メディアサーバ18から、該コンテンツを取得する。すなわち、コンテンツ送受信部260は、コンテンツ取得部としての機能を有する。なお、クライアント機器30は、通常、コンテンツを記憶している異種メディアサーバ18に直接コンテンツの送信要求をするが、該コンテンツが規定形式を満たさないデータフォーマットである場合には、上記のようにデータ管理サーバ20にコンテンツの送信要求をするようにしてもよい。
デコーダ256は、コンテンツ送受信部260が取得したコンテンツのデータフォーマットを、規定形式を満たすデータフォーマットに変換する。例えば、コンテンツ送受信部260が取得したコンテンツのデータフォーマットがAACであった場合、データフォーマットをAACからLPCMに変換する。
そして、コンテンツ送受信部260は、デコーダ256によりデータフォーマットが変換されたコンテンツを、通信部220を介してクライアント機器30に送信することができる。ここで、コンテンツ送受信部260によるコンテンツの送信方式は、ダウンロード方式であっても、ストリーミング方式であってもよい。
図22は、本実施形態にかかるデータ管理システム40におけるデータ管理方法の流れを示したシーケンス図である。まず、データ管理サーバ20は、異種メディアサーバ18の存在を確認すると、異種メディアサーバ18に対してメタデータの送信を要求する(S704)。異種メディアサーバ18は、データ管理サーバ20からのメタデータの送信要求に応じて、記憶しているコンテンツに関するメタデータをデータ管理サーバ20に送信する(S708)。そして、データ管理サーバ20は、異種メディアサーバ18から収集したメタデータを記憶する(S712)。
続いて、データ管理サーバ20は、収集したメタデータに含まれるサムネイルの所在を示すサムネイル所在情報に基づいて、異種メディアサーバ18に対してサムネイルの送信を要求する(S716)。異種メディアサーバ18は、データ管理サーバ20からのサムネイルの送信要求に応じて、記憶しているコンテンツのサムネイルをデータ管理サーバ20に送信する(S720)。そして、データ管理サーバ20は、異種メディアサーバ18から収集したサムネイルを記憶する(S724)。
その後、クライアント機器30は、データ管理サーバ20に対してメタデータの送信を要求する(S728)。データ管理サーバ20は、かかるメタデータの送信要求に応じて、クライアント機器30にメタデータとサムネイルを送信する(S732)。
次いで、クライアント機器30は、データ管理サーバ20から取得したメタデータに含まれるコンテンツURLと共に、データ管理サーバ20に対して規定形式を満たさないコンテンツの送信を要求する(S736)。そして、データ管理サーバ20は、クライアント機器30から送信要求と併せて受信したコンテンツURLに基づいて、異種メディアサーバ18に対してコンテンツの送信を要求する(S740)。異種メディアサーバ18は、データ管理サーバ20からの要求に応じて、コンテンツをデータ管理サーバ20に送信する(S744)。
そして、データ管理サーバ20は、異種メディアサーバ18から受信したコンテンツのデータフォーマットを変換する(S748)。その後、あるいはデータフォーマットの変換と同時に、データ管理サーバ20は規定形式を満たすデータフォーマッに変換されたコンテンツをクライアント機器30に送信する(S752)。
このように、本発明の第2の実施形態にかかるデータ管理システム40によれば、第1の実施形態にかかるデータ管理システム40の効果に加え、想定しないメディアサーバがホームネットワークに接続された場合であっても、想定しないメディアサーバが記憶するコンテンツを、クライアント機器30において再生することができるという効果を奏する。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記第1の実施形態では、図13において第1階層に「ルート」400を配し、「ルート」400の下位の第2階層に「ビデオ」410、「音楽」430および「写真」470などのコンテナを配する例を説明したが、階層構造はかかる例に限定されない。例えば、データ管理サーバ20が収集したメタデータに基づいて、メディアサーバ12が記憶するコンテンツが音楽コンテンツのみであった場合には、第1階層に「ルート」を設けず、第1階層「音楽」のコンテナを配してもよい。
また、上記第1の実施形態では、図18において、メタデータの単位量を10件として示しているが、メタデータの単位量を設定部により設定される任意の値としてもよく、例えば、1件であっても、100件であってもよい。また、図18のS652において、待機時間の経過を、S644の単位量のメタデータの収集が完了した時点を基点に判断する場合を説明したが、S624の単位量のメタデータの収集を開始するタイミングが、一定周期となるようにしてもよい。
また、上記実施形態で説明したメタデータに含まれる情報は一例にすぎず、例えば、コンテンツの発売日、コンテンツをメディアサーバ12が取得した日時、コンテンツを再生した回数、コンテンツの客観的評価であるレイティング、コンテンツの長さ、コンテンツのデータ量などを含むようにしてもよい。
また、本明細書のデータ管理サーバ20の処理における各ステップは、必ずしもフローチャートまたはシーケンス図として記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むとしてもよい。また、データ管理サーバ20とクライアント機器30とは一体構成されるように構成してもよい。
また、上述のようなデータ管理方法を情報処理装置に行わせるプログラムおよびそのプログラムを記憶した記憶媒体も提供される。