説明

一元的なコンテンツ選択を可能にするコンテンツ管理機能を有するサーバおよびクライアント、並びにサーバおよびクライアントプログラム

【課題】クライアントサーバシステムにおいて、ユーザがコンテンツが蓄積されているサーバおよび外部メディアを選択せずにコンテンツを選択再生可能なクライアントおよびサーバと、それらのプログラムとを提供する。
【解決手段】本発明のサーバは、クライアントから受信したクライアント情報に含まれるメディア識別情報と一致するコンテンツ情報をサーバのグローバルリストから抽出する。そして抽出したコンテンツとサーバが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストをクライアントに送信する。本発明のクライアントは、外部メディアが挿入された場合、外部メディアからメディア識別情報を生成し、そのメディア識別情報を含むクライアント特定情報をサーバに送信する。そして、サーバから受信したコンテンツリストを基にコンテンツ選択メニューを表示装置により表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバおよびクライアントに関し、さらに詳しくは、クライアントサーバシステムにおいて、コンテンツが存在する位置に関わらず、クライアントでコンテンツ選択メニューを一元的に表示でき、ユーザがコンテンツが蓄積されているサーバおよびメディアを選択すること無くコンテンツを選択および再生できるサーバおよびクライアントに関する。
【背景技術】
【0002】
現在、ネットワーク上でクライアントサーバシステムを用いてコンテンツを配信するコンテンツ再生システムが提案されている(特許文献1)。ネットワークに接続されるサーバ−クライアント間で、サーバに保存されているコンテンツをクライアントが取得して再生することが可能である。このようなコンテンツ再生システムにおいて、サーバに蓄積されているコンテンツ以外に、CD(Compact Disc)、DVD(Digital Versatile Disc)、COMPACTFLASH(登録商標)、Smart Media(登録商標)、MEMORY STICK(登録商標)およびSDメモリカードなどの外部メディアに蓄積されているコンテンツを選択および再生する場合がある。このような場合コンテンツ選択メニューでは、図11のように、サーバに蓄積されているコンテンツはアーティスト(Artist)やアルバム(Album)、およびジャンル(Genre)などで分類して表示されるが、外部メディア(例えばCD)に保存されているコンテンツはサーバに蓄積されているコンテンツとは区別して表示される。
【0003】
特許文献2では、コンテンツを提供する装置を意識することなく、所望のコンテンツを選択再生できるコンテンツ再生システムが提案されている。特許文献2に記載のコンテンツ再生システムは、複数のサーバがネットワークに接続されており、それぞれのサーバが複数のコンテンツとそのコンテンツリストとを蓄積している(特許文献1の図5AおよびB参照)。サーバは自身以外のサーバのコンテンツリストを取得し、自身のコンテンツリストとマージさせて、全てのサーバで蓄積されている全コンテンツのコンテンツ情報を含むコンテンツリストを作成する(特許文献2の図5C参照)。クライアントはサーバから全コンテンツのコンテンツ情報を含むコンテンツリストを取得してコンテンツを選択および再生することにより、ユーザがコンテンツが蓄積されている装置を選択することなく、クライアントはコンテンツを選択および再生することができる(特許文献2の図5DおよびE参照)。しかし、特許文献2のシステムは、外部メディアに蓄積されているコンテンツを選択および再生する場合を想定していない。
【0004】
【特許文献1】WO03/102919
【特許文献2】特開2004−128597号
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は上記従来の課題を解決するためになされたものであり、その目的とするところは、クライアントサーバシステムにおいて、ユーザがコンテンツが蓄積されているサーバおよびメディアを選択すること無くコンテンツを選択および再生することができるクライアントおよびサーバと、それらのプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の好ましい実施形態によるサーバは、1または複数のクライアントと接続する接続手段と、コンテンツを蓄積するコンテンツ蓄積部と、該クライアントに挿入されている外部メディアのメディア識別情報を含むクライアント特定情報を、該クライアントから受信し登録するクライアント特定情報登録手段と、該クライアントから受信したメディア識別情報に基づいて、該コンテンツ蓄積部が蓄積するコンテンツと、該外部メディアに蓄積されているコンテンツとのコンテンツ情報を含むコンテンツリストを作成するコンテンツリスト作成手段と、該コンテンツリスト作成手段が作成したコンテンツリストをクライアントに送信するコンテンツリスト送信手段とを備える。
【0007】
サーバは、クライアントに挿入されている外部メディアのメディア識別情報を含むクライアント特定情報を、クライアントから受信して登録し、そのメディア識別情報に基づいて、コンテンツ蓄積部が蓄積するコンテンツと、外部メディアが蓄積するコンテンツとのコンテンツ情報を含むコンテンツリストを作成する。そして、作成したコンテンツリストをクライアントに送信する。その結果、クライアントは、受信したコンテンツリストを基にして、コンテンツ選択メニューをコンテンツの蓄積場所(サーバおよび外部メディア)に関わらず一元的に表示できるので、ユーザは、コンテンツが蓄積されているサーバおよび外部メディアを選択すること無く、コンテンツを選択および再生することができる。
【0008】
さらに好ましい実施形態によるサーバは、上記コンテンツ蓄積部が蓄積するコンテンツおよび複数の上記外部メディアが蓄積するコンテンツのコンテンツ情報を含むグローバルリストを蓄積するためのグローバルリスト蓄積部をさらに備え、上記コンテンツリスト作成手段が該グローバルリストに含まれるコンテンツ情報の中から、上記クライアントから受信したメディア識別情報と一致するメディア識別情報を有するコンテンツ情報を含むコンテンツリストを作成する。
【0009】
サーバは、コンテンツ蓄積部が蓄積するコンテンツおよび複数の外部メディアが蓄積するコンテンツのコンテンツ情報を含むグローバルリスト蓄積部を備えており、そのグローバルリストに含まれるコンテンツ情報の中から、クライアントから受信したメディア識別情報と一致するメディア識別情報を有するコンテンツ情報を含むコンテンツリストを作成する。その結果、複数の外部メディアが蓄積するコンテンツのコンテンツ情報を予めサーバに登録しておくことができ、クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報をグローバルリストから抽出することができる。従って、クライアントにおいて、外部メディアがクライアントに挿入される毎に、外部メディアが蓄積するコンテンツのコンテンツ情報を外部メディアから取得してコンテンツリストを作成しなくて済む。さらに、クライアントで表示されるコンテンツ選択メニューに、再生可能でないコンテンツのコンテンツ情報が表示されることを避けることができるので、ユーザはスムーズに所望のコンテンツを選択および再生することができる。
【0010】
さらに好ましい実施形態によるサーバは、上記外部メディアが挿入されて、該外部メディアからデータを読み取る外部メディア読取手段と、該外部メディアを識別するためのメディア識別情報を生成する上記メディア識別情報生成手段と、該外部メディアが蓄積するコンテンツの位置情報およびメタ情報を取得し、該メディア識別情報、該コンテンツ位置情報および該メタ情報を含むコンテンツ情報を上記グローバルリストに登録するリスト登録手段とをさらに備え、該外部メディア読取手段に該外部メディアが挿入された場合、該メディア識別情報生成手段が該メディア識別情報を生成し、該リスト登録手段が該コンテンツ情報を該グローバルリストに登録する。
【0011】
外部メディアが蓄積するコンテンツのコンテンツ情報をグローバルリストに登録する場合、サーバに外部メディアが挿入されると、外部メディアからメディア識別情報を生成し、メディア識別情報、コンテンツ位置情報および該メタ情報を含むコンテンツ情報をグローバルリストに登録する。その結果、メディア識別情報を利用して、複数の外部メディアが蓄積するコンテンツを管理することができる。
【0012】
さらに好ましい実施形態においては、上記メディア識別情報生成手段が、上記外部メディアの種別を検出するメディア種別検出手段と、上記メディア識別情報の基にするために、該外部メディアに関する基本情報を取得する基本情報取得手段とを含み、該メディア種別検出手段が検出した該外部メディアの種別に応じて、該基本情報取得手段が該外部メディアから該基本情報を取得し上記メディア識別情報とする。
【0013】
サーバに外部メディアが挿入された場合、外部メディアの種別を検出し、外部メディアの種別に応じて外部メディアから基本情報(例えば、製造番号、TOC情報およびボリュームラベルやIFOファイルなどの管理領域など)を取得し、その基本情報を外部メディアのメディア識別情報とする。その結果、複数の外部メディアの混同を防ぎ、外部メディアが蓄積するコンテンツを正確に管理することができる。
【0014】
さらに好ましい実施形態においては、前記基本情報取得手段が、メディアの論理フォーマットを判別し、論理フォーマット毎に設定可能な管理領域を基本情報として取得する。
【0015】
論理フォーマット毎に設定可能な管理領域を基本情報として取得する。その結果、同じ種類の外部メディアで論理フォーマットが異なる場合であっても、論理フォーマットに応じて最適な基本情報を取得することができる。
【0016】
さらに好ましい実施形態においては、上記メディア識別情報生成手段が、上記基本情報をハッシュ値に変換する変換手段をさらに含み、上記基本情報取得手段が取得した該基本情報を、該変換手段によりハッシュ値に変換する。
【0017】
外部メディアから取得した基本情報をハッシュ値に変換する。その結果、異なる外部メディアに同一のメディア識別情報が付与されるのを防ぐことができ、より正確に外部メディアが蓄積するコンテンツを管理することができる。
【0018】
さらに好ましい実施形態においては、上記外部メディア読取手段が、上記外部メディアにデータを記録するデータ記録手段を含み、上記リスト登録手段が、上記外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを上記外部メディアに登録する。
【0019】
外部メディアが記録可能なメディア(例えば、CD−RW、DVD−RAM、COMPACTFLASH(登録商標)、Smart Media(登録商標)、SDカードおよびMEMORY STICK(登録商標)など)である場合、外部メディアが蓄積するコンテンツのコンテンツ情報をグローバルリストに登録するとき、外部メディアから作成した外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを外部メディアに登録する。その結果、サーバと接続可能でない場合であっても、コンテンツリストを再度作成する必要が無くなる。
【0020】
さらに好ましい実施形態においては、上記クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報が上記グローバルリスト内に存在するか否かを示す有無情報を上記クライアントに送信する有無情報送信手段をさらに備える。
【0021】
クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報がグローバルリスト内に存在するか否かを示す有無情報をクライアントに送信する。その結果、クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報がグローバルリスト内に存在しない場合は、クライアントに、外部メディアが蓄積するコンテンツのコンテンツ情報を外部メディアから取得または作成させることができる。
【0022】
さらに好ましい実施形態においては、上記クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを、該クライアントから受信し、上記グローバルリストに登録する。
【0023】
サーバは、クライアントが取得または作成した外部メディアのコンテンツのコンテンツ情報をクライアントから受信し、グローバルリストに登録する。その結果、コンテンツのコンテンツ情報をサーバのグローバルリストに予め登録していなかった外部メディアがクライアントに挿入された場合であっても、外部メディアが蓄積するコンテンツのコンテンツ情報を、グローバルリストに登録することができる。
【0024】
本発明の好ましい実施形態によるクライアントは、1または複数のサーバと接続する接続手段と、外部メディアが挿入されて、該外部メディアからデータを読み取る外部メディア読取手段と、該外部メディアを識別するためのメディア識別情報を生成するメディア識別情報生成手段と、該外部メディア読取手段に挿入された外部メディアのメディア識別情報を含むクライアント特定情報をサーバに送信するクライアント特定情報送信手段と、該外部メディアが蓄積するコンテンツおよび該サーバが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを受信するコンテンツリスト受信手段と、該受信したコンテンツリストに基づいて、コンテンツ選択メニューを表示する表示手段とを備える。
【0025】
クライアントの外部メディア読取装置に外部メディアが挿入された場合もしくはサーバと接続する際に外部メディアがすでに外部メディア読取装置に挿入されている場合、その外部メディアを識別するためのメディア識別情報を生成し、生成したメディア識別情報を含むクライアント特定情報をサーバに送信する。そして、クライアントの外部メディア読取装置に挿入されている外部メディアが蓄積するコンテンツおよびサーバが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストをサーバから受信し、受信したコンテンツリストに基づいて、コンテンツ選択メニューを表示する。その結果、クライアントは、サーバから受信したコンテンツリストを基にして、コンテンツの蓄積場所(サーバおよび外部メディア)に関わらず一元的にコンテンツ選択メニューを表示できるので、ユーザは、コンテンツが蓄積されているサーバおよび外部メディアを選択すること無く、コンテンツを選択および再生することができる。さらに、クライアントは、外部メディアがクライアントに挿入される毎に、外部メディアが蓄積するコンテンツのコンテンツ情報を外部メディアから取得してコンテンツリストを作成する必要が無い。さらに、クライアントが表示するコンテンツ選択メニューに、再生可能でないコンテンツのコンテンツ情報が表示されることを避けることができる。
【0026】
さらに好ましい実施形態においては、上記サーバと接続中か否かを判断する接続判断手段と、上記外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを該外部メディアから取得または作成するコンテンツリスト取得/作成手段とをさらに備え、該接続判断手段が該サーバと接続中でないと判断した場合、該コンテンツリスト取得/作成手段が該コンテンツリストを該外部メディアから取得または作成し、該コンテンツリストに基づいて、前記表示手段がコンテンツ選択メニューを表示する。
【0027】
クライアントは、サーバと接続中でないと判断した場合は、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを外部メディアから取得または作成する。その結果、クライアントは、何らかの要因でサーバと接続が切断されている場合であっても、取得または生成した、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを基にして、コンテンツ選択メニューを表示でき、コンテンツを選択および再生することができる。
【0028】
さらに好ましい実施形態においては、上記外部メディア読取手段に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報が上記サーバのグローバルリスト内に存在するか否かを示す有無情報を受信する有無情報受信手段をさらに備え、該外部メディア読取手段に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報が該サーバのグローバルリスト内に存在しない場合、上記コンテンツリスト取得/作成手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを該外部メディアから取得または作成する。
【0029】
クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報がサーバのグローバルリスト内に存在しない場合、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを外部メディアから取得または作成する。その結果、コンテンツのコンテンツ情報をサーバのグローバルリストに予め登録していなかった外部メディアがクライアントに挿入された場合であっても、取得または生成した、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを基にして、コンテンツ選択メニューを表示でき、コンテンツを選択および再生することができる。
【0030】
さらに好ましい実施形態においては、上記コンテンツリスト取得/作成手段が、上記外部メディア読取手段に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが該外部メディアに登録されているか否かを判断するコンテンツリスト有無判断手段と、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを取得するコンテンツリスト取得手段とを含み、該コンテンツリスト有無判断手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが該外部メディアに登録されていると判断した場合、該コンテンツリスト取得手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを取得する。
【0031】
クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが、その外部メディアに登録されていると判断した場合、そのコンテンツリストを取得する。その結果、外部メディア読取装置に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを再度作成する必要が無い。
【0032】
さらに好ましい実施形態においては、上記コンテンツリスト取得/作成手段が、上記外部メディアが蓄積するコンテンツの位置情報およびメタ情報を取得して、上記メディア識別情報、該コンテンツ位置情報および該メタ情報を含むコンテンツ情報を作成するコンテンツ情報作成手段をさらに含み、上記コンテンツリスト有無判断手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが該外部メディアに登録されていないと判断した場合は、該コンテンツ情報作成手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを作成する。
【0033】
クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが外部メディアに登録されていないと判断した場合は、外部メディアからコンテンツの位置情報およびメタ情報を取得して、メディア識別情報、位置情報およびメタ情報を含むコンテンツリストを作成する。その結果、外部メディア読取装置に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが外部メディアに登録されていない場合であっても、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを基に、コンテンツ選択メニューを表示させることができる。
【0034】
さらに好ましい実施形態においては、上記コンテンツリスト取得/作成手段が取得または作成した上記外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを、上記サーバに送信するコンテンツリスト送信手段をさらに備える。
【0035】
外部メディア読取装置に挿入された外部メディアから取得または作成したコンテンツリストをサーバに送信する。その結果、コンテンツのコンテンツ情報をサーバのグローバルリストに予め登録していなかった外部メディアがクライアントに挿入された場合であっても、外部メディアが蓄積するコンテンツのコンテンツ情報を、グローバルリストに登録することができる。
【0036】
さらに好ましい実施形態においては、上記外部メディア読取手段が、上記外部メディアにデータを記録するデータ記録手段を含み、上記コンテンツリスト取得/作成手段が、取得または作成した該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを、該外部メディアに登録するコンテンツリスト登録手段をさらに備える。
【0037】
外部メディアが記録可能なメディア(例えば、CD−RW、DVD−RAM、COMPACTFLASH(登録商標)、Smart Media(登録商標)、SDカードおよびMEMORY STICK(登録商標)など)である場合、クライアントが取得または作成した、外部メディア読取装置に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを、その外部メディアに登録する。その結果、サーバと接続ができない場合や、外部メディア読取装置に挿入された外部メディアのコンテンツのコンテンツ情報がサーバのグローバルリストに登録されていない場合、コンテンツリストを再度作成する必要が無くなる。
【0038】
さらに好ましい実施形態においては、上記メディア識別情報生成手段が、上記外部メディアの種別を検出するメディア種別検出手段と、該外部メディアから基本情報を取得する基本情報取得手段とを含み、該メディア種別検出手段が検出した該外部メディアの種別に応じて、該基本情報取得手段が該外部メディアから該基本情報を取得し、該物理情報を上記メディア識別情報とする。
【0039】
クライアントに外部メディアが挿入された場合、外部メディアの種別を検出し、外部メディアの種別に応じて外部メディアから基本情報(例えば、製造番号、TOC情報およびボリュームラベルやIFOファイルなどの管理領域など)を取得し、その基本情報を外部メディアのメディア識別情報とする。その結果、生成したメディア識別情報を含むクライアント特定情報をサーバに送信することで、外部メディアが蓄積するコンテンツのコンテンツ情報を、サーバのグローバルリストから抽出することができる。
【0040】
さらに好ましい実施形態においては、前記基本情報取得手段が、メディアの論理フォーマットを判別し、論理フォーマット毎に設定可能な管理領域を基本情報として取得する。
【0041】
論理フォーマット毎に設定可能な管理領域を基本情報として取得する。その結果、同じ種類の外部メディアで論理フォーマットが異なる場合であっても、論理フォーマットに応じて最適な基本情報を取得することができる。
【0042】
さらに好ましい実施形態においては、上記メディア識別情報生成手段が、上記基本情報をハッシュ値に変換する変換手段をさらに含み、上記基本情報取得手段により取得された該基本情報、または、上記管理領域取得手段により取得された該管理領域を、該変換手段によりハッシュ値に変換する。
【0043】
外部メディアから取得した基本情報をハッシュ値に変換する。その結果、異なる外部メディアに同一のメディア識別情報が付与されるのを防ぐことができ、サーバのグローバルリストから外部メディアが蓄積するコンテンツのコンテンツ情報をより正確に抽出することができる。
【0044】
本発明の別の局面においては、サーバプログラムが提供される。サーバが有するコンテンツリストをクライアントに表示させるサーバを実行させるためのサーバプログラムであって、1または複数のクライアントと接続するステップと、コンテンツをコンテンツ蓄積部に蓄積するステップと、該クライアントに挿入されている外部メディアのメディア識別情報を含むクライアント特定情報を、クライアントから受信し登録するステップと、該クライアントから受信したメディア識別情報に基づいて、該コンテンツ蓄積部が蓄積するコンテンツと、該外部メディアが蓄積するコンテンツとのコンテンツ情報を含むコンテンツリストを作成するステップと、該コンテンツリストをクライアントに送信するステップとをコンピュータに実行させる。
【0045】
本発明のサーバプログラムをコンピュータにインストールすることによって、クライアントに挿入されている外部メディアのメディア識別情報を含むクライアント特定情報を、クライアントから受信して登録し、クライアントから受信したメディア識別情報に基づいて、コンテンツ蓄積部が蓄積するコンテンツと、外部メディアが蓄積するコンテンツとのコンテンツ情報を含むコンテンツリストを作成し、コンテンツリストをクライアントに送信する。その結果、クライアントは、受信したコンテンツリストを基にして、コンテンツ選択メニューを蓄積場所(サーバおよび外部メディア)に関わらず一元的に表示できるので、ユーザは、コンテンツが蓄積されているサーバおよび外部メディアを意識すること無く、コンテンツを選択および再生することができる。
【0046】
さらに別の局面においては、サーバプログラムが提供される。サーバが有するコンテンツリストを基に、クライアントにコンテンツ選択メニューを表示させるサーバを実行させるためのサーバプログラムであって、前記コンテンツ蓄積部が蓄積するコンテンツおよび複数の前記外部メディアが蓄積するコンテンツのコンテンツ情報を含むグローバルリストを蓄積するステップと、前記コンテンツリスト作成手段が該グローバルリストに含まれるコンテンツ情報の中から、前記クライアントから受信したメディア識別情報と一致するメディア識別情報を有するコンテンツ情報を含むコンテンツリストを作成するステップとをコンピュータに実行させる。
【0047】
本発明のサーバプログラムをコンピュータにインストールすることによって、外部メディアを識別するためのメディア識別情報を生成し、外部メディアが蓄積するコンテンツの位置情報およびメタ情報を取得し、メディア識別情報、コンテンツ位置情報およびメタ情報を含むコンテンツ情報をグローバルリストに登録する。その結果、複数の外部メディアが蓄積するコンテンツのコンテンツ情報を予めサーバに登録しておくことができ、クライアントに挿入された外部メディアのメディア識別情報と一致するメディア識別情報を有するコンテンツ情報をグローバルリストから抽出することができる。従って、外部メディアがクライアントに挿入される毎に、外部メディアが蓄積するコンテンツのコンテンツ情報を外部メディアから取得してコンテンツリストを作成しなくて済む。さらに、クライアントで表示されるコンテンツ選択メニューに、再生可能でないコンテンツのコンテンツ情報が表示されることを避けることができる。
【0048】
さらに別の局面においては、サーバプログラムが提供される。サーバが有するコンテンツリストを基に、クライアントにコンテンツ選択メニューを表示させるサーバを実行させるためのサーバプログラムであって、上記外部メディアが挿入されて、該外部メディアからデータを読み取るステップと、該外部メディアを識別するためのメディア識別情報を生成するステップと、該外部メディアが蓄積するコンテンツの位置情報およびメタ情報を取得し、該メディア識別情報、該コンテンツ位置情報および該メタ情報を含むコンテンツ情報をグローバルリストに登録するステップとをコンピュータに実行させる。
【0049】
本発明のサーバプログラムをコンピュータにインストールすることによって、サーバに外部メディアのコンテンツのコンテンツ情報を含むコンテンツリストを登録する場合、サーバの外部メディア読取手段に外部メディアが挿入されたとき、外部メディアからデータを読み取り、外部メディアを識別するためのメディア識別情報を生成し、該外部メディアが蓄積するコンテンツの位置情報およびメタ情報を取得し、メディア識別情報、コンテンツ位置情報およびメタ情報を含むコンテンツ情報をグローバルリストに登録する。その結果、メディア識別情報を利用して、複数の外部メディアが蓄積するコンテンツを管理することができる。
【0050】
本発明の別の局面においては、クライアントプログラムが提供される。サーバが有するコンテンツリストを基に、コンテンツ選択メニューを表示するクライアントを実行させるためのクライアントプログラムであって、1または複数のサーバと接続するステップと、該外部メディアを識別するためのメディア識別情報を生成するステップと、該外部メディアのメディア識別情報を含むクライアント特定情報をサーバに送信するステップと、該外部メディアが蓄積するコンテンツおよび該サーバが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを受信するステップと、該受信したコンテンツリストに基づいて、コンテンツ選択メニューを表示するステップとをコンピュータに実行させる。
【0051】
本発明のクライアントプログラムをコンピュータにインストールすることによって、クライアントの外部メディア読取手段に外部メディアが挿入された場合もしくはサーバと接続する際に外部メディアがすでに外部メディア読取手段に挿入されている場合、外部メディアを識別するためのメディア識別情報を生成し、外部メディアのメディア識別情報を含むクライアント特定情報をサーバに送信し、外部メディアが蓄積するコンテンツおよびサーバが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを受信し、受信したコンテンツリストに基づいて、コンテンツ選択メニューを表示する。その結果、クライアントは、受信したコンテンツリストを基にして、コンテンツ選択メニューを蓄積場所(サーバおよび外部メディア)に関わらず一元的に表示できるので、ユーザは、コンテンツが蓄積されているサーバおよび外部メディアを選択すること無く、コンテンツを選択および再生することができる。さらに、外部メディアがクライアントに挿入される毎に、外部メディアが蓄積するコンテンツのコンテンツ情報を外部メディアから取得してコンテンツリストを作成しなくて済む。さらに、クライアントで表示されるコンテンツ選択メニューに、再生可能でないコンテンツのコンテンツ情報が表示されることを避けることができる。
【発明の効果】
【0052】
本発明によれば、クライアントサーバシステムにおいて、コンテンツが存在する位置に関わらず、ユーザに対してコンテンツを一元的に表示でき、ユーザがコンテンツが蓄積されているサーバおよびメディアを選択すること無くコンテンツを選択および再生することができるクライアントおよびサーバと、サーバおよびクライアントのプログラムとを提供することが可能になる。
【発明を実施するための最良の形態】
【0053】
以下、本発明の実施の形態をネットワーク型コンテンツ再生システムを例として図面を参照して詳しく説明する。図中同一又は相当部分には同一符号を付してその説明を援用する。
【0054】
[ネットワーク型コンテンツ再生システムの全体構成]
図1は、本発明の好ましい実施形態によるネットワーク型コンテンツ再生システム100を示すブロック図である。ネットワーク型コンテンツ再生システム100は、複数のコンテンツ(例えば、圧縮デジタル音楽データなど)を蓄積する1または複数のサーバSV(SV1、SV2)と、サーバから配信されたコンテンツを再生する1または複数のクライアントCL(CL1〜CL4)とを備える。サーバSV、クライアントCLはLAN(ローカルエリアネットワーク)101などのネットワークにより相互に接続される。LAN101は、イーサネット(登録商標)などによる有線LANやIEEE802.11b規格による無線LANなどを利用する。
【0055】
次に、サーバSVのハードウェア構成に関して図面を参照して詳細に説明する。
【0056】
図2は、本発明の好ましい実施形態によるサーバSVのハードウェア構成を示すブロック図である。サーバSVは、データベース管理部201aおよびネットワークプロトコル処理部201bを含むCPU処理部201と、本サーバSVとLAN101との間で信号を送受信するLANコントローラ202と、コンテンツを蓄積するための記憶装置203(例えば、ハードディスクドライブ)と、外部メディアmd(例えば、CD、DVD、MO、COMPACTFLASH(登録商標)、Smart Media(登録商標)、SDメモリカードおよびMEMORY STICK(登録商標)など)を読み書きできる外部メディア読取装置206とを備える。データベース管理部201aは記憶装置203を管理し、ネットワークプロトコル処理部201bは入出力されるデータをプロトコル処理する。
【0057】
下記表1は、本実施例において用いられるコンテンツリストである。
【表1】

【0058】
特に、サーバSVの記憶装置203に格納されるコンテンツリストは、サーバSVに蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストLsv、および/または、1または複数の外部メディアmdに蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストLmdが登録されている全コンテンツのグローバルリストLallである。言い換えると、グローバルリストLallは、サーバSVおよび/または外部メディアmdにコンテンツデータが蓄積されているコンテンツに関する情報(コンテンツ情報)が1または複数登録されている。ここで、コンテンツ情報とは表2に示すように、コンテンツを識別するコンテンツIDと、記憶装置203内または外部メディアmd内のコンテンツの記録位置を示す位置情報と、外部メディアmdを識別するメディア識別情報とを含む。コンテンツIDは、例えば、コンテンツを識別するために付される固有の番号などである。位置情報は、記憶装置または外部メディアmdにおけるアドレスである。メディア識別情報は、例えば、メディアを一意に識別可能な物理情報(例えば、製造番号など)や、メディアの論理フォーマットの種別毎(例えば、ISO9660、Joliet、DVD−Video、UDFなど)に設定可能な管理領域(例えば、ボリュームラベルやフォーマット日時、IFOファイルなど)や、音楽CDの場合はTOC(Table of Contents)を利用しても良い(以下、これらを外部メディアに関する基本情報と呼ぶ)。さらには、これらをハッシュ・アルゴリズムであるMDSやSHA−1などを利用したハッシュ関数により、ハッシュ値に変換したものをメディア識別情報として利用しても良い。コンテンツ情報は上記の他に、曲のタイトル名やアーティスト名などのメタ情報も含まれる(表2)。
【表2】

【0059】
下記表3は、記憶装置203に格納されるクライアントリストである。
【表3】

【0060】
クライアントリストは、サーバSVに接続されているクライアントCLに関する情報(クライアント特定情報)が登録されている。このクライアントリストは、サーバSVに現在接続されているクライアントCLを特定するために使用される。サーバSVはサーバに接続されている複数のクライアントCLからクライアント特定情報を取得して表3のようにクライアントリストに登録する。ここで、クライアント特定情報とは表4に示すように、各クライアントに付けられているクライアント名、クライアントを特定するためのIPアドレス、クライアントの外部メディア読取装置306に挿入されている外部メディアmdのメディア識別情報、コーデック可能なファイル種別(例えば、MP3、MPEGおよびJPEGなど)、および外部メディア読取装置306の種別(例えば、CD、DVD、MO、COMPACTFLASH(登録商標)、Smart Media(登録商標)、SDメモリカードおよびMEMORY STICK(登録商標)など)を示す外部メディア読取装置情報などを含む。クライアント名はユーザが自由に変更できる文字列などからなる識別子である。IPアドレスの代わりにポート番号や固体識別子などを利用しても良い。ここで、固体識別子とはMACアドレスなどクライアント固有の識別子である。さらにクライアント特定情報は、再生、停止、ポーズおよび音量情報などのステータスや、再生中の曲の情報である再生曲情報、およびリストを作成するためのリスト構築キーなどを含む。
【表4】

【0061】
次に、クライアントCLのハードウェア構成に関して図面を参照して詳細に説明する。
【0062】
図3は、本発明の好ましい実施形態によるクライアントCLのハードウェア構成を示すブロック図である。クライアントCLは、システム動作部301cおよびネットワークプロトコル処理部301bを含む制御手段301と、本サーバSVとLAN101との間で信号を送受信するLANコントローラ302と、キーボードやマウスといった入力装置304と、図10に示すようにコンテンツを選択するためのコンテンツ選択メニューを表示する表示装置305(CRTやLCDなど)と、外部メディアmdを読み書きできる外部メディア読取装置306と、フラッシュメモリ307と、順次入力されたコンテンツデータなど(本例では圧縮デジタル曲データ)を一時的に記憶して順次出力するメモリ308と、圧縮デジタル曲データをデコードして非圧縮デジタル曲を生成する音声処理部309と、デジタル曲データをアナログ曲データに変換するD/A変換機(DAC)310とを備える。システム動作部301cはクライアントCL全体を制御し、ネットワークプロトコル処理部301bは入出力されるデータをプロトコル処理する。また、表示装置305はさらに、処理結果の表示や、操作(例えば、再生や停止など)をナビゲートする画面などを表示させても良い。
【0063】
クライアントCLは、メモリ308に、下記表5に示すサーバリストが登録される。
【表5】

【0064】
サーバリストには、現在稼動しているサーバのサーバ特定情報が登録される。サーバ特定情報は各サーバに付けられているサーバ名およびIPアドレスなどを含む。ここで、サーバ名はユーザが自由に変更できる文字列などからなる識別子である。また、IPアドレスの代わりにポート番号や固体識別子を利用しても良い。ここで固体識別子とはMACアドレスなどサーバ固有の識別子である。このサーバリストによりクライアントCLは現在稼動しているサーバSVを把握することができる。
【0065】
クライアントCLは、メモリ305に、表1と同じ構成のコンテンツリストLmgまたはコンテンツリストLmdが登録される。コンテンツリストLmgに関しては、後述のコンテンツリスト取得処理において詳細に説明する。クライアントCLはこのコンテンツリストLmgまたはLmdを基にしてコンテンツ選択メニューを表示装置305に表示する(図10)。ユーザが入力装置304によりコンテンツ選択メニューから所望のコンテンツを選択し、その結果クライアントがコンテンツをサーバから取得し再生する。
【0066】
なお、クライアントCLには、このようなユーザの操作に応じてコンテンツ選択、再生、停止などの制御機能も有する能動的なクライアントだけでなく、コンテンツ再生機能だけを有する受動的なクライアントもある。コンテンツ再生機能だけを有するクライアントは、例えば壁や天井などに埋設され、制御機能を有するクライアントからの指示に従ってコンテンツを再生する。
【0067】
[コンテンツ情報登録処理]
次に、外部メディアmdに蓄積されているコンテンツのコンテンツ情報を、サーバSVの記憶装置203に格納されるグローバルリストLallに登録する処理に関して、図面を参照して詳細に説明する。
【0068】
図4は、外部メディアmdに蓄積されているコンテンツのコンテンツ情報を、サーバSVのグローバルリストLallに登録する際のサーバのコンテンツリスト登録処理を示すフロー図である。ユーザは、コンテンツが蓄積されている外部メディアmdをサーバSVの外部メディア読取装置206に挿入し、外部メディアmdのコンテンツのコンテンツ情報をサーバSVのグローバルリストLallに登録する。
【0069】
まず、サーバSVの外部メディア読取装置206に外部メディアmdが挿入されると、その外部メディアmdにコンテンツが蓄積されているか否かを判断する(S401)。コンテンツが外部メディアmdに蓄積されている場合(S401:YES)、メディア識別情報を生成する(S402)。メディア識別情報の生成処理は後で詳細に説明する。次に、外部メディアmdにおけるコンテンツの位置情報とメタ情報とを取得する(S403およびS404)。そして、このメディア識別情報、位置情報およびメタ情報をサーバSVのグローバルリストLallに登録する(S405)。コンテンツが外部メディアmdに蓄積されていない場合は(S401:NO)、コンテンツリスト登録処理を終了する。
【0070】
以上の動作により、サーバは、外部メディアが蓄積するコンテンツのコンテンツ情報をグローバルリストに登録する場合、サーバに外部メディアが挿入されると、外部メディアからメディア識別情報を生成し、メディア識別情報、コンテンツ位置情報および該メタ情報を含むコンテンツ情報をグローバルリストに登録する。その結果、メディア識別情報を利用して、複数の外部メディアが蓄積するコンテンツを管理することができる。
【0071】
[メディア識別情報生成処理]
次に、サーバおよびクライアントでおこなわれるメディア識別情報の生成処理を、CD−ROMを外部メディアmdとして利用した場合を例として、図5を参照して詳細に説明する。
【0072】
まず、外部メディアmdの種類を検出する(S501)。具体的には、オーディオCDかデータCDかを検出する。例えば、CD−ROMにCD−DAセッションが記録されているか否かを判断することにより、オーディオCDであるか、または、データCDであるかを判断する。また、TOC情報から外部メディアmdの種類を検出しても良い。外部メディアmdがオーディオCDである場合(S501:YES)、基本情報をハッシュ値に変換し、これをメディア識別情報とする(S502)。具体的には、TOC情報をハッシュ・アルゴリズムであるMDSやSHA−1などを利用したハッシュ関数により、ハッシュ値に変換する。ステップS501において、外部メディアがデータCDである場合は(S501:NO)、論理フォーマットを判別し、論理フォーマットの種別毎(例えば、ISO9660、Joliet、Romeo、RockRidgeなど)に設定可能な管理領域(例えば、ボリュームラベル、フォーマット日時など)をハッシュ値に変換し、メディア識別情報を生成する(S503)。基本情報が取得できない場合は、メディアの種類が不明であることを示す識別子を生成する(図示せず)。具体的には、例えば、ビット0を不明であることを示す識別子とする。
【0073】
以上の動作により、サーバまたはクライアントに外部メディアが挿入された場合、外部メディアの種別を検出し、外部メディアの種別に応じて外部メディアから基本情報(例えば、製造番号、TOC情報およびボリュームラベルやIFOファイルなどの管理領域など)を取得し、その基本情報を外部メディアのメディア識別情報とする。その結果、サーバは、複数の外部メディアの混同を防ぎ、外部メディアが蓄積するコンテンツを正確に管理することができる。また、クライアントは、生成したメディア識別情報を含むクライアント特定情報をサーバに送信することで、外部メディアが蓄積するコンテンツのコンテンツ情報を、サーバのグローバルリストから抽出することができる。
【0074】
さらに、サーバおよびクライアントは、論理フォーマット毎に設定可能な管理領域を基本情報として取得する。その結果、同じ種類の外部メディアで論理フォーマットが異なる場合であっても、論理フォーマットに応じて最適な基本情報を取得することができる。
【0075】
さらに、サーバおよびクライアントは、外部メディアから取得した基本情報をハッシュ値に変換する。その結果、サーバは、異なる外部メディアに同一のメディア識別情報が付与されるのを防ぐことができ、より正確に外部メディアが蓄積するコンテンツを管理することができる。また、クライアントは、サーバのグローバルリストから外部メディアが蓄積するコンテンツのコンテンツ情報をより正確に抽出することができる。
【0076】
[コンテンツリスト取得処理およびコンテンツ選択メニュー表示処理]
以下、コンテンツリスト取得処理に関して図6〜図10を参照して詳細に説明する。
【0077】
図6は、ユーザがクライアントCLの外部メディア読取装置306に外部メディアmdを挿入した場合に、クライアントCLがサーバSVからコンテンツリストを取得する動作を示すフローチャートである。図10は、クライアントCLの表示装置305に表示されるコンテンツ選択メニューを示す図である。クライアントCLの外部メディア読取装置306に外部メディアmdが挿入されると、その外部メディアmdのメディア識別情報を生成する(S601)。
【0078】
次に、サーバSVと接続したか否かを判断する(S602)。具体的には、例えば、クライアントCLはブロードキャストにより複数のサーバSVのサーバ特定情報を取得して、サーバリストに登録し、クライアントCLはサーバリストの中から1つのサーバを選択し、選択したサーバと接続する。これによりサーバSVと接続を確立できれば接続できたと判断し、ブロードキャストによりサーバSVが見つからなかった場合や、なんらかの要因でサーバSVと接続できなかった場合は、サーバSVと未接続であると判断する。サーバSVと接続が確立された場合は(S602:YES)、クライアントCLはサーバSVにクライアント特定情報を送信し(S603)、サーバSVは受信したクライアント特定情報をクライアントリストに登録する(S604)。
【0079】
次に、サーバSVは、受信したクライアント特定情報に含まれているメディア識別情報と一致するメディア識別情報を含むコンテンツ情報を、サーバSVに登録されているグローバルリストLallから抽出する(S605)。そして、メディア識別情報と一致するコンテンツのコンテンツ情報がグローバルリストLall内に登録されているか否か(有無情報)をクライアントCLに送信する(S606)。そして、クライアントCLは、有無情報を受信し、メディア識別情報が一致するコンテンツのコンテンツ情報がサーバSVのグローバルリストLall内に登録されているか否かを判断する(S607)。抽出されたコンテンツ情報がサーバSVのグローバルリストLall内に登録されていると判断した場合(S607:YES)、クライアントCLはサーバSVにコンテンツリストLmgを要求する(S608)。そして、コンテンツリストの要求を受信したサーバSVは、クライアントCLにコンテンツリストLmgを送信する(S609)。
【0080】
ここでいうコンテンツリストLmgとは、サーバSVのグローバルリストLallから、メディア識別情報が一致するコンテンツリストLmdと、サーバSVに蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストLsvとを抽出してマージしたコンテンツリストである。言い換えると、コンテンツリストLmgは、クライアントCLに挿入された外部メディアmdに蓄積されているコンテンツのコンテンツ情報と、サーバSVに蓄積されているコンテンツのコンテンツ情報とを含む。さらに言い換えると、コンテンツリストLmgは、サーバSVのグローバルリストLallから、メディア識別情報が一致しないコンテンツのコンテンツ情報を除いた(但し、サーバSVにコンテンツデータが蓄積されているコンテンツを除く)コンテンツリストである。
【0081】
さらに図7を用いてクライアントへのコンテンツリストの送信処理について詳細に説明する。図7は、グローバルリストLall(a)とコンテンツリストmg(b)を示す図である。コンテンツリスト取得処理が実行される前は、例えば図7aのようにサーバSVには、グローバルリストLallが登録されている。グローバルリストLallは、コンテンツリストLsvと、外部メディアmd1に蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストLmd1と、外部メディアmd2に蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストLmd2とを含む。クライアントCLの外部メディア読取装置306に外部メディアmd2が挿入された場合は、クライアントCLおよびサーバSVにおいて上述のようにコンテンツリスト取得処理ステップS601〜S609が実行される。そして、図7bに示すように、ステップS609でコンテンツリストLmd2とコンテンツリストLsvとを含むコンテンツリストLmgが作成され、サーバSVからクライアントCLにコンテンツリストLmgが送信される。
【0082】
次に、クライアントCLはサーバSVから受信したコンテンツリストLmgを基にして表示装置305にコンテンツ選択メニューを表示する(S610)。コンテンツ選択メニューの基になるコンテンツリストLmgが、メディア識別情報が一致したコンテンツ(すなわち、クライアントCLの外部メディア読取装置306に挿入されている外部メディアmdのコンテンツのコンテンツ情報を含むコンテンツリストLmd)と、サーバSVに蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストLsvとをマージしたコンテンツリストLmgであるので、ネットワーク上でクライアントが再生可能な全てのコンテンツをアーティスト名(Artist)、アルバム名(Album)、ジャンル(Genre)などのカテゴリー別に統一して表示することができる(図10)。
【0083】
そして、クライアントCLは、ユーザがコンテンツを選択したか否かを判断する(S611)。ユーザがコンテンツの選択をした場合(S611:YES)、ユーザが選択したコンテンツを再生する(S612)。
【0084】
図8は、コンテンツリスト取得処理において、何らかの要因によりサーバと接続ができなかった場合(図6のS602:NO)に、外部メディアmdから直接コンテンツリストLmdを取得または作成するクライアントの動作を示すフロー図である。まず、外部メディアmdにコンテンツリストLmdが記録されているか否かを判断する(S801)。外部メディアmdにコンテンツリストLmdが記録されている場合(S801:YES)、外部メディアmdからコンテンツリストLmdを取得する(S802)。そしてコンテンツリスト取得処理のステップS610に戻り、取得したコンテンツリストLmdに基づいてコンテンツ選択メニューを表示装置305に表示する。
【0085】
外部メディアmdにコンテンツリストLmdが記録されていない場合は(S801:NO)、外部メディアmdに蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストLmdを作成する(S803〜S806)。まず、外部メディアmd内のコンテンツを探索し(S803)、外部メディアmdにおけるコンテンツの記録位置情報を取得する(S804)。次に、コンテンツのメタ情報を取得する(S805)。そして、取得したコンテンツの位置情報とメタ情報とを含むコンテンツリストLmdを作成する(S806)。
【0086】
図9は、コンテンツリスト取得処理においてコンテンツの有無情報を受信してメディア識別情報と一致するコンテンツがない場合(図6のS607)、コンテンツリストLmdを取得または作成するクライアントの動作を示すフロー図である。ステップS901〜S906は図8におけるステップS801〜S806と同じ処理であるので説明を簡略する。そして、クライアントは作成したコンテンツリストLmdをサーバSVに送信し(S907)、サーバSVは、クライアントから送信されたコンテンツリストLmdをグローバルリストLallに登録する。そしてコンテンツリスト取得処理のステップS608に戻り、サーバSVにコンテンツリストmgを要求する。
【0087】
以上の動作によって、サーバは、クライアントに挿入されている外部メディアのメディア識別情報を含むクライアント特定情報を、クライアントから受信して登録し、そのメディア識別情報に基づいて、コンテンツ蓄積部が蓄積するコンテンツと、外部メディアが蓄積するコンテンツとのコンテンツ情報を含むコンテンツリストを作成する。そして、作成したコンテンツリストをクライアントに送信する。その結果、クライアントは、受信したコンテンツリストを基にして、コンテンツ選択メニューをコンテンツの蓄積場所(サーバおよび外部メディア)に関わらず一元的に表示できるので、ユーザは、コンテンツが蓄積されているサーバおよび外部メディアを選択すること無く、コンテンツを選択および再生することができる。
【0088】
また、サーバは、コンテンツ蓄積部が蓄積するコンテンツおよび複数の外部メディアが蓄積するコンテンツのコンテンツ情報を含むグローバルリスト蓄積部を備えており、そのグローバルリストに含まれるコンテンツ情報の中から、クライアントから受信したメディア識別情報と一致するメディア識別情報を有するコンテンツ情報を含むコンテンツリストを作成する。その結果、複数の外部メディアが蓄積するコンテンツのコンテンツ情報を予めサーバに登録しておくことができ、クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報をグローバルリストから抽出することができる。従って、クライアントにおいて、外部メディアがクライアントに挿入される毎に、外部メディアが蓄積するコンテンツのコンテンツ情報を外部メディアから取得してコンテンツリストを作成しなくて済む。さらに、クライアントで表示されるコンテンツ選択メニューに、再生可能でないコンテンツのコンテンツ情報が表示されることを避けることができるので、ユーザはスムーズに所望のコンテンツを選択および再生することができる。
【0089】
さらに、サーバは、外部メディアが記録可能なメディア(例えば、CD−RW、DVD−RAM、コンパクトフラッシュ(登録商標)、スマートメディア、SDカードおよびメモリースティックなど)である場合、外部メディアが蓄積するコンテンツのコンテンツ情報をグローバルリストに登録するとき、外部メディアから作成した外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを外部メディアに登録する。その結果、サーバと接続可能でない場合であっても、コンテンツリストを再度作成する必要が無なくなる。
【0090】
さらに、サーバは、クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報がグローバルリスト内に存在するか否かを示す有無情報をクライアントに送信する。その結果、クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報がグローバルリスト内に存在しない場合は、クライアントに、外部メディアが蓄積するコンテンツのコンテンツ情報を外部メディアから取得または作成させることができる。
【0091】
さらに、サーバは、クライアントが取得または作成した外部メディアのコンテンツのコンテンツ情報をクライアントから受信し、グローバルリストに登録する。その結果、コンテンツのコンテンツ情報をサーバのグローバルリストに予め登録していなかった外部メディアがクライアントに挿入された場合であっても、外部メディアが蓄積するコンテンツのコンテンツ情報を、グローバルリストに登録することができる。
【0092】
一方、クライアントは、クライアントの外部メディア読取装置に外部メディアが挿入された場合もしくはサーバと接続する際に外部メディアがすでに外部メディア読取装置に挿入されている場合、その外部メディアを識別するためのメディア識別情報を生成し、生成したメディア識別情報を含むクライアント特定情報をサーバに送信する。そして、クライアントの外部メディア読取装置に挿入されている外部メディアが蓄積するコンテンツおよびサーバが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストをサーバから受信し、受信したコンテンツリストに基づいて、コンテンツ選択メニューを表示する。その結果、クライアントは、サーバから受信したコンテンツリストを基にして、コンテンツの蓄積場所(サーバおよび外部メディア)に関わらず一元的にコンテンツ選択メニューを表示できるので、ユーザは、コンテンツが蓄積されているサーバおよび外部メディアを選択すること無く、コンテンツを選択および再生することができる。さらに、クライアントは、外部メディアがクライアントに挿入される毎に、外部メディアが蓄積するコンテンツのコンテンツ情報を外部メディアから取得してコンテンツリストを作成しなくて済む。さらに、クライアントが表示するコンテンツ選択メニューに、再生可能でないコンテンツのコンテンツ情報が表示されることを避けることができる。
【0093】
さらに、クライアントは、サーバと接続中でないと判断した場合は、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを外部メディアから取得または作成する。その結果、クライアントは、何らかの要因でサーバと接続できない場合であっても、取得または生成した、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを基にして、コンテンツ選択メニューを表示でき、コンテンツを選択および再生することができる。
【0094】
さらに、クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報がサーバのグローバルリスト内に存在しない場合、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを外部メディアから取得または作成する。その結果、コンテンツのコンテンツ情報をサーバのグローバルリストに予め登録していなかった外部メディアがクライアントに挿入された場合であっても、取得または生成した、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを基にして、コンテンツ選択メニューを表示でき、コンテンツを選択および再生することができる。
【0095】
さらに、クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが、その外部メディアに登録されていると判断した場合、そのコンテンツリストを取得する。その結果、外部メディア読取装置に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを再度作成する必要が無い。
【0096】
さらに、クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが外部メディアに登録されていないと判断した場合は、外部メディアからコンテンツの位置情報およびメタ情報を取得して、メディア識別情報、位置情報およびメタ情報を含むコンテンツリストを作成する。その結果、外部メディア読取装置に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが外部メディアに登録されていない場合であっても、外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを基に、コンテンツ選択メニューを表示させることができる。
【0097】
さらに、クライアントは、外部メディア読取装置に挿入された外部メディアから取得または作成したコンテンツリストをサーバに送信する。その結果、コンテンツのコンテンツ情報をサーバのグローバルリストに予め登録していなかった外部メディアがクライアントに挿入された場合であっても、外部メディアが蓄積するコンテンツのコンテンツ情報を、グローバルリストに登録することができる。
【0098】
さらに、クライアントは、外部メディアが記録可能なメディア(例えば、CD−RW、DVD−RAM、COMPACTFLASH(登録商標)、Smart Media(登録商標)、SDカードおよびMEMORY STICK(登録商標)など)である場合、クライアントが取得または作成した、外部メディア読取装置に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを、その外部メディアに登録する。その結果、サーバと接続ができない場合や、外部メディア読取装置に挿入された外部メディアのコンテンツのコンテンツ情報がサーバのグローバルリストに登録されていない場合、コンテンツリストを再度作成する必要が無なくなる。
【0099】
さらには、外部メディアのコンテンツのコンテンツ情報を含むコンテンツリストを外部メディアに記録しておくことによって、別のネットワークで外部メディアのコンテンツを再生する際、そのネットワークのサーバにおけるコンテンツ情報登録処理の際に、外部メディアmdに記録されたコンテンツリストを外部メディアから取得することで再度コンテンツリストを作成する必要が無い。
【0100】
サーバおよびクライアントは、図4〜6、8、および9に示したコンテンツリスト取得および表示処理プログラム、コンテンツ情報登録処理プログラムおよびメディア識別情報生成処理プログラムをコンピュータにインストールすることにより上述したコンテンツリスト取得処理機能、コンテンツ情報登録処理機能およびメディア識別情報生成処理機能を備える。
【0101】
また、本実施の形態では、例として、サーバが音楽データを蓄積しているが、これに変えて又はこれとともに映像データ(または静止画データ)を蓄積していても良く、その他、様々なコンテンツを蓄積していても良い。また、サーバ、クライアントはLANにより相互に接続されるが、これに限定されることは無く、USB、IEEE1394など、コンピュータネットワークを構築するのに適切なものを採用すればよい。LANを採用する場合、PC(パーソナルコンピュータ)で標準的なTCP/IPプロトコルを採用するのが好ましいが、UDPプロトコルなどを採用しても良く、プロトコルは特に限定されない。また、図中ではLAN101の基幹配線から枝分かれするようにサーバSV、クライアントCLが接続されているが、例えば10BASE−Tや100BASE−TXの場合にはハブを中心にしてスター状に接続される。
【0102】
また、本実施の形態では、クライアントとサーバとの接続確立方法を、クライアントがブロードキャストにより複数のサーバのサーバ特定情報を取得して、サーバリストに登録し、クライアントはサーバリストの中から1つのサーバを選択し、選択したサーバと接続を確立することを例として挙げた。しかし、この方法に限らず、例えば、サーバ−クライアント間にロードバランサを介し、クライアントがロードバランサが指示したサーバに接続するなど、好適な接続方式を適宜利用することができる。
【0103】
さらに、本発明はクライアントサーバシステムとして述べてきたが、P2P(ピアツーピア)システムにも適用することができる。サーバに相当するピアと、クライアントに相当するピアとを備えた端末であれば、P2Pシステムの端末として機能することができる。その結果、P2Pシステムにおいても、コンテンツが存在する位置に関わらず、ユーザに対してコンテンツを一元的に表示でき、ユーザがコンテンツが蓄積されているサーバおよびメディアを選択すること無くコンテンツを選択および再生することができる
【0104】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【産業上の利用可能性】
【0105】
本発明のクライアントサーバシステム、サーバ、クライアントおよびこれらのプログラムは、あらゆる用途および規模のクライアントサーバシステムに用いられ得るが、特にネットワーク型コンテンツ再生システムに好適に用いられ得る。
【図面の簡単な説明】
【0106】
【図1】本発明の好ましい実施形態によるネットワーク型コンテンツ再生システムの全体構成を示すブロック図である。
【図2】本発明の好ましい実施形態によるサーバのハードウェア構成を示すブロック図である。
【図3】本発明の好ましい実施形態によるクライアントのハードウェア構成を示すブロック図である。
【図4】本発明の好ましい実施形態によるサーバにおけるコンテンツ情報登録処理を示すフロー図である。
【図5】本発明の好ましい実施形態によるサーバおよびクライアントにおけるメディア識別情報の生成処理を示すフロー図である。
【図6】本発明の好ましい実施形態によるサーバおよびクライアントにおけるコンテンツリスト取得処理とコンテンツ選択メニュー表示処理とを示すフロー図である。
【図7】本発明の好ましい実施形態によるグローバルリストLall(a)とコンテンツリストmg(b)を示す図である。
【図8】本発明の好ましい実施形態によるクライアントにおける外部メディアからコンテンツリストを取得する処理を示すブロック図である。
【図9】本発明の好ましい実施形態によるクライアントにおける外部メディアからコンテンツリストを作成する処理を示すフロー図である。
【図10】本発明の好ましい実施形態によるクライアントの表示装置に表示されるコンテンツ選択メニューを示すブロック図である。
【図11】従来のクライアントにおけるの表示装置に表示されるコンテンツ選択メニューを示すブロック図である。
【符号の説明】
【0107】
100 ネットワーク型コンテンツ再生システム
101 LAN
201、301 CPU処理部
201a データベース管理部
201b、301b ネットワークプロトコル処理部
202、302 LANコントローラ
203 記憶装置
206、306 外部メディア読取装置
301 マイコン処理部
301c システム動作部
304 入力装置
305 表示装置
307 フラッシュメモリ
308 メモリ
309 音声処理部
310 DAC
SV サーバ
CL クライアント
md 外部メディア

【特許請求の範囲】
【請求項1】
1または複数のクライアントと接続する接続手段と、
コンテンツを蓄積するコンテンツ蓄積部と、
該クライアントに挿入されている外部メディアのメディア識別情報を含むクライアント特定情報を、該クライアントから受信し登録するクライアント特定情報登録手段と、
該クライアントから受信したメディア識別情報に基づいて、該コンテンツ蓄積部が蓄積するコンテンツと、該外部メディアに蓄積されているコンテンツとのコンテンツ情報を含むコンテンツリストを作成するコンテンツリスト作成手段と、
該コンテンツリスト作成手段が作成したコンテンツリストをクライアントに送信するコンテンツリスト送信手段とを備える、サーバ。
【請求項2】
前記コンテンツ蓄積部が蓄積するコンテンツおよび複数の前記外部メディアが蓄積するコンテンツのコンテンツ情報を含むグローバルリストを蓄積するためのグローバルリスト蓄積部をさらに備え、
前記コンテンツリスト作成手段が該グローバルリストに含まれるコンテンツ情報の中から、前記クライアントから受信したメディア識別情報と一致するメディア識別情報を有するコンテンツ情報を含むコンテンツリストを作成する、請求項1に記載のサーバ。
【請求項3】
前記外部メディアが挿入されて、該外部メディアからデータを読み取る外部メディア読取手段と、
該外部メディアを識別するための前記メディア識別情報を生成するメディア識別情報生成手段と、
該外部メディアが蓄積するコンテンツの位置情報およびメタ情報を取得し、該メディア識別情報、該コンテンツ位置情報および該メタ情報を含むコンテンツ情報を前記グローバルリストに登録するリスト登録手段とをさらに備え、
該外部メディア読取手段に該外部メディアが挿入された場合、該メディア識別情報生成手段が該メディア識別情報を生成し、該リスト登録手段が該コンテンツ情報を該グローバルリストに登録する、請求項2に記載のサーバ。
【請求項4】
前記メディア識別情報生成手段が、前記外部メディアの種別を検出するメディア種別検出手段と、
前記メディア識別情報の基にするために、該外部メディアに関する基本情報を取得する基本情報取得手段とを含み、
該メディア種別検出手段が検出した該外部メディアの種別に応じて、該基本情報取得手段が該外部メディアから該基本情報を取得し前記メディア識別情報とする、請求項3に記載のサーバ。
【請求項5】
前記基本情報取得手段が、メディアの論理フォーマットを判別し、論理フォーマット毎に設定可能な管理領域を基本情報として取得する、請求項4に記載のサーバ。
【請求項6】
前記メディア識別情報生成手段が、前記基本情報をハッシュ値に変換する変換手段をさらに含み、
前記基本情報取得手段が取得した該基本情報を、該変換手段によりハッシュ値に変換する、請求項5に記載のサーバ。
【請求項7】
前記外部メディア読取手段が、前記外部メディアにデータを記録するデータ記録手段を含み、
前記リスト登録手段が、前記外部メディアに蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストを前記外部メディアに登録する、請求項3〜5のいずれかに記載のサーバ。
【請求項8】
前記クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報が前記グローバルリスト内に存在するか否かを示す有無情報を前記クライアントに送信する有無情報送信手段をさらに備える、請求項1〜7のいずれかに記載のサーバ。
【請求項9】
前記リスト登録手段が、前記クライアントに挿入された外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを、該クライアントから受信し、前記グローバルリストに登録する、請求項3〜8のいずれかに記載のサーバ。
【請求項10】
1または複数のサーバと接続する接続手段と、
外部メディアが挿入されて、該外部メディアからデータを読み取る外部メディア読取手段と、
該外部メディアを識別するためのメディア識別情報を生成するメディア識別情報生成手段と、
該外部メディア読取手段に挿入された外部メディアのメディア識別情報を含むクライアント特定情報をサーバに送信するクライアント特定情報送信手段と、
該外部メディアが蓄積するコンテンツおよび該サーバが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを受信するコンテンツリスト受信手段と、
該受信したコンテンツリストに基づいて、コンテンツ選択メニューを表示する表示手段とを備える、クライアント。
【請求項11】
前記サーバと接続中か否かを判断する接続判断手段と、
前記外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを該外部メディアから取得または作成するコンテンツリスト取得/作成手段とをさらに備え、
該接続判断手段が該サーバと接続中でないと判断した場合、該コンテンツリスト取得/作成手段が該コンテンツリストを該外部メディアから取得または作成し、該コンテンツリストに基づいて、前記表示手段がコンテンツ選択メニューを表示する、請求項10に記載のクライアント。
【請求項12】
前記外部メディア読取手段に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報が前記サーバのグローバルリスト内に存在するか否かを示す有無情報を受信する有無情報受信手段をさらに備え、
該外部メディア読取手段に挿入された外部メディアが蓄積するコンテンツのコンテンツ情報が該サーバのグローバルリスト内に存在しない場合、前記コンテンツリスト取得/作成手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを該外部メディアから取得または作成する、請求項10または11に記載のクライアント。
【請求項13】
前記コンテンツリスト取得/作成手段が、前記外部メディア読取手段に挿入された外部メディアに蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストが該外部メディアに登録されているか否かを判断するコンテンツリスト有無判断手段と、
該外部メディアに蓄積されているコンテンツのコンテンツ情報を含むコンテンツリストを取得するコンテンツリスト取得手段とを含み、
該コンテンツリスト有無判断手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが該外部メディアに登録されていると判断した場合、
該コンテンツリスト取得手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを取得する、請求項11または12に記載のクライアント。
【請求項14】
前記コンテンツリスト取得/作成手段が、前記外部メディアが蓄積するコンテンツの位置情報およびメタ情報を取得して、前記メディア識別情報、該コンテンツ位置情報および該メタ情報を含むコンテンツ情報を作成するコンテンツ情報作成手段をさらに含み、
前記コンテンツリスト有無判断手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストが該外部メディアに登録されていないと判断した場合は、該コンテンツ情報作成手段が、該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを作成する、請求項13に記載のクライアント。
【請求項15】
前記コンテンツリスト取得/作成手段が取得または作成した前記外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを、前記サーバに送信するコンテンツリスト送信手段をさらに備える、請求項13または14に記載のクライアント。
【請求項16】
前記外部メディア読取手段が、前記外部メディアにデータを記録するデータ記録手段を含み、
前記コンテンツリスト取得/作成手段が、取得または作成した該外部メディアが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを、該外部メディアに登録するコンテンツリスト登録手段をさらに備える、請求項11〜15のいずれかに記載のクライアント。
【請求項17】
前記メディア識別情報生成手段が、前記外部メディアの種別を検出するメディア種別検出手段と、
該外部メディアから基本情報を取得する基本情報取得手段とを含み、
該メディア種別検出手段が検出した該外部メディアの種別に応じて、該基本情報取得手段が該外部メディアから該基本情報を取得し、該基本情報を前記メディア識別情報とする、請求項10~16のいずれかに記載のクライアント。
【請求項18】
前記基本情報取得手段が、メディアの論理フォーマットを判別し、論理フォーマット毎に設定可能な管理領域を基本情報として取得する、請求項17に記載のクライアント。
【請求項19】
前記メディア識別情報生成手段が、前記基本情報をハッシュ値に変換する変換手段をさらに含み、
前記基本情報取得手段により取得された該基本情報、または、前記管理領域取得手段により取得された該管理領域を、該変換手段によりハッシュ値に変換する、請求項18に記載のクライアント。
【請求項20】
サーバが有するコンテンツリストを基に、クライアントにコンテンツ選択メニューを表示させるサーバを実行させるためのサーバプログラムであって、
1または複数のクライアントと接続するステップと、
コンテンツをコンテンツ蓄積部に蓄積するステップと、
該クライアントに挿入されている外部メディアのメディア識別情報を含むクライアント特定情報を、クライアントから受信し登録するステップと、
該クライアントから受信したメディア識別情報に基づいて、該コンテンツ蓄積部が蓄積するコンテンツと、該外部メディアが蓄積するコンテンツとのコンテンツ情報を含むコンテンツリストを作成するステップと、
該コンテンツリストをクライアントに送信するステップとをコンピュータに実行させる、サーバプログラム。
【請求項21】
前記外部メディアを識別するためのメディア識別情報を生成するステップと、
該外部メディアに蓄積されているコンテンツの位置情報およびメタ情報を取得し、該メディア識別情報、該コンテンツ位置情報および該メタ情報を含むコンテンツ情報を前記グローバルリストに登録するステップとをコンピュータにさらに実行させる、請求項20に記載のサーバプログラム。
【請求項22】
前記外部メディアが挿入されて、該外部メディアからデータを読み取るステップと、
該外部メディアを識別するためのメディア識別情報を生成するステップと、
該外部メディアが蓄積するコンテンツの位置情報およびメタ情報を取得し、該メディア識別情報、該コンテンツ位置情報および該メタ情報を含むコンテンツ情報をグローバルリストに登録するステップとをコンピュータにさらに実行させる、請求項21に記載のサーバプログラム。
【請求項23】
サーバが有するコンテンツリストを基に、コンテンツ選択メニューを表示するクライアントを実行させるためのクライアントプログラムであって、
1または複数のサーバと接続するステップと、
該外部メディアを識別するためのメディア識別情報を生成するステップと、
該外部メディアのメディア識別情報を含むクライアント特定情報をサーバに送信するステップと、
該外部メディアが蓄積するコンテンツおよび該サーバが蓄積するコンテンツのコンテンツ情報を含むコンテンツリストを受信するステップと、
該受信したコンテンツリストに基づいて、コンテンツ選択メニューを表示するステップとをコンピュータに実行させる、クライアントプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2007−72727(P2007−72727A)
【公開日】平成19年3月22日(2007.3.22)
【国際特許分類】
【出願番号】特願2005−258529(P2005−258529)
【出願日】平成17年9月6日(2005.9.6)
【出願人】(000000273)オンキヨー株式会社 (502)
【Fターム(参考)】