コンテンツ情報更新システム
【課題】 サーバが蓄積する複数のコンテンツのコンテンツ情報をきわめて容易に更新できるコンテンツ再生システムを提供すること。
【解決手段】 コンテンツ情報更新システムは、サーバと該サーバに接続可能なクライアントとを備える。クライアントは、更新用リストに含まれるコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する。サーバは、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスを有する。サーバは、クライアントからのコンテンツ情報更新要求に応答して、更新すべきコンテンツ情報を含む該更新用リストを作成し、記憶デバイスに蓄積されたコンテンツ情報の中で、更新用リストに含まれるコンテンツ情報を更新する。
【解決手段】 コンテンツ情報更新システムは、サーバと該サーバに接続可能なクライアントとを備える。クライアントは、更新用リストに含まれるコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する。サーバは、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスを有する。サーバは、クライアントからのコンテンツ情報更新要求に応答して、更新すべきコンテンツ情報を含む該更新用リストを作成し、記憶デバイスに蓄積されたコンテンツ情報の中で、更新用リストに含まれるコンテンツ情報を更新する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツのコンテンツ情報を更新するコンテンツ情報更新システムに関し、詳細にはサーバに蓄積されたコンテンツ情報をクライアントからの要求によって更新するコンテンツ情報更新システムに関する。
【背景技術】
【0002】
近年、サーバ−クライアントシステムを利用したコンテンツ再生システムが提案されている。下記特許文献1は、複数のコンテンツを蓄積するサーバと、LAN(Local Area Network)経由でサーバに接続されたクライアントとを備えるコンテンツ再生システムを記載する。クライアントは所望のコンテンツをサーバに要求し、これに応じてサーバは要求されたコンテンツをクライアントに送信する。クライアントはサーバから送信されたコンテンツを再生する。サーバは、蓄積されたコンテンツのコンテンツ情報(例えば、曲名、アーティスト名、アルバム名およびジャンル名等)を有しており、クライアントに複数のコンテンツ情報を含むコンテンツリストを送信する。クライアントは、サーバからコンテンツリストを受信してコンテンツ情報を表示する。これにより、クライアントは、複数のコンテンツの中から所望のコンテンツを選択し、選択した(または、再生中の)コンテンツのコンテンツ情報を表示することができる。
【0003】
サーバが有するコンテンツ情報を更新(変更または削除)する場合、クライアントは、コンテンツ情報を更新するコンテンツのコンテンツIDを1つ指定して、所望の種別のコンテンツ情報(例えば、アルバム名)を更新する旨のコマンドをサーバに送信する。サーバはクライアントからのコマンドに応答して、指定されたコンテンツのコンテンツ情報(アルバム名)を更新する。
【0004】
しかし、この方法では、複数のコンテンツのコンテンツ情報を更新する場合、上記の処理を複数回繰り返す必要がある。従って、クライアントおよびサーバの処理の負担が増加し、かつ、ネットワークトラフィックが増加するという問題を有している。さらに、コンテンツを複数回にわたった指定する必要があるので、ユーザの操作が煩雑であるという問題を有する。
【0005】
また、下記特許文献2は、複数のコンテンツを蓄積する複数のサーバと、クライアントとを備えるコンテンツ再生システムを記載する。クライアントは、複数のサーバが蓄積する複数のコンテンツの中から、所望のコンテンツを受信して再生することができる。クライアントがサーバにコンテンツ情報を更新するコマンドを送信する場合、クライアントはサーバに接続している必要がある。しかし、クライアントは、サーバとの無駄な接続を避けるために、通常、複数のサーバのうち、1つのサーバにしか接続していない。そのため、コンテンツ情報を更新するコマンドを送信する場合、クライアントは、コンテンツ情報を更新すべきコンテンツを蓄積するサーバに接続を切り換える必要が生じる。複数回のコンテンツ情報の更新を繰り返す毎に、クライアントがサーバとの接続を切り換えると、クライアントおよびサーバの処理の負担がきわめて増加し、かつ、コンテンツ情報の更新を完了するまでに膨大な時間がかかってしまうという問題を有する。
【0006】
【特許文献1】WO03/102919
【特許文献2】WO2005/015407
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、サーバが蓄積する複数のコンテンツのコンテンツ情報をきわめて容易に更新できるコンテンツ再生システムを提供することにある。
【課題を解決するための手段】
【0008】
本発明の好ましい実施形態によるコンテンツ情報更新システムは、サーバと該サーバに接続可能なクライアントとを備える。該クライアントは、リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有する。該サーバは、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、該クライアントからのコンテンツ情報更新要求に応答して、該記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索手段と、該検索手段が検索したコンテンツ情報を更新する更新手段とを有する。なお、上記各動作をコンピュータに実行させるためのサーバプログラム、クライアントプログラムが提供され得る。さらに、上記の動作を含むコンテンツ情報更新方法が提供され得る。
【0009】
好ましい実施形態においては、上記サーバーは、上記検索手段が検索したコンテンツ情報を含む更新用リストを作成する更新用リスト作成手段をさらに有する。上記更新手段は、上記記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する。
【0010】
好ましい実施形態においては、上記コンテンツ情報更新要求は、更新すべきコンテンツ情報の種別を特定する対象コンテンツ情報種別と、コンテンツ情報とを含む。上記更新手段は、該対象コンテンツ情報種別で特定される種別のコンテンツ情報を、該コンテンツ情報更新要求に含まれるコンテンツ情報に更新する。
【0011】
好ましい実施形態においては、コンテンツ情報更新システムは、複数の前記サーバを備える。上記更新要求手段は、該複数のサーバのうち、第1のサーバに前記コンテンツ情報更新要求を送信する。該第1のサーバは、該第1のサーバに接続されている第2のサーバに該コンテンツ情報更新要求を転送する要求転送手段をさらに有する。
【0012】
好ましい実施形態においては、上記第1のサーバは、該第1のサーバ、および該第1のサーバに接続されている第2のサーバが蓄積する全てのコンテンツのコンテンツ情報を含むグローバルリストを蓄積可能である。該第1のサーバの上記更新用リスト作成手段は、該グローバルリストに基づいて更新用リストを作成する。該第1のサーバの前記更新手段は、該更新用リストに含まれる該第1のサーバが蓄積するコンテンツのコンテンツ情報を更新する。該第1のサーバの上記要求転送手段は、該更新用リストに含まれるコンテンツを蓄積する第2のサーバに該コンテンツ情報更新コマンドを転送する。
【0013】
本発明の別の好ましい実施形態によるコンテンツ情報更新システムは、サーバと該サーバに接続可能なクライアントとを備える。該クライアントは、更新用リストに含まれるコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有する。該サーバは、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、該クライアントからのコンテンツ情報更新要求に応答して、更新すべきコンテンツ情報を含む該更新用リストを作成する更新用リスト作成手段と、該記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する更新手段とを有する。
【0014】
好ましい実施形態においては、コンテンツ情報更新システムは、複数の上記サーバを備える。上記更新要求手段は、該複数のサーバのうち、第1のサーバに上記コンテンツ情報更新要求を送信する。該第1のサーバは、該第1のサーバに接続されている第2のサーバに該コンテンツ情報更新要求を転送する要求転送手段をさらに有する。該第1のサーバは、該第1のサーバ、および該第1のサーバに接続されている第2のサーバが蓄積する全てのコンテンツのコンテンツ情報を含むグローバルリストを蓄積可能である。該第1のサーバの前記検索手段は、該グローバルリストに含まれるコンテンツ情報の中から、前記リスト構築キーによって特定されるコンテンツ情報を検索する。該第1のサーバの前記更新手段は、該検索手段によって検索され、該第1のサーバが蓄積するコンテンツ情報を更新する。該要求転送手段は、該検索手段によって検索されたコンテンツ情報を蓄積する第2のサーバに該コンテンツ情報更新コマンドを転送する。
【0015】
以下、本発明の作用について説明する。
サーバに蓄積されたコンテンツ情報を更新する際、クライアントはサーバにコンテンツ情報更新要求を送信する。サーバは、クライアントからコンテンツ情報更新要求を受信すると、コンテンツ情報更新要求に含まれるリスト構築キーによって特定されるコンテンツ情報を検索して、検索したコンテンツ情報を更新する。好ましくは、サーバは、クライアントからコンテンツ情報更新要求を受信すると、更新すべきコンテンツ情報を含む更新用リストを作成する。続いて、サーバは、記憶デバイスに蓄積されたコンテンツ情報の中で、更新用リストに含まれるコンテンツ情報のみを、コンテンツ情報更新要求に基づいて一括で更新する。
【0016】
従って、複数のコンテンツ情報を更新する場合であっても、クライアントはコンテンツ毎にサーバに要求を送信する必要がないので、クライアントおよびサーバの処理の負担が軽減し、かつ、ネットワークトラフィックを軽減することができる。さらに、コンテンツ情報の更新が完了するまでの時間を短縮することができる。さらに、サーバがコンテンツ情報更新要求に基づいて更新用リストを作成するので、クライアントが更新用リストを送信する必要がなく、ネットワークトラフィックをさらに軽減できる。さらに、更新すべきコンテンツ情報を検索しながら、コンテンツ情報を更新する場合は、更新処理を全て完了するまで、他の処理を割り込ませることができない。しかし、更新用リストを作成して、更新用リストに含まれるコンテンツ情報を更新する場合、更新すべきコンテンツ情報の検索を終了した後、更新用リストに含まれるコンテンツ情報を更新するので、更新用リストを作成した後に、他の処理を割り込ませることができる。つまり、更新用リストを作成する方式では、サーバは更新処理のためにコンテンツ情報を専有することがないので、同時に複数のクライアントからの変更処理を受け入れ易い。
【0017】
クライアントはリスト構築キーを含むコンテンツ情報更新コマンドをサーバに送信する。サーバは、コンテンツ情報更新コマンドに含まれるリスト構築キーに基づいてコンテンツ情報を更新する。従って、リスト構築キーの内容を適宜変更することにより、ユーザが希望する任意のコンテンツ情報を一括で更新できる。リスト構築キーは、フィルタの種類とキーワードとを含む。例えば、リスト構築キーが「ALBUM(フィルタの種類)=BBB(キーワード)」および「ARTIST(フィルタの種類)=zzz(キーワード)」である場合、アルバム名BBB、かつ、アーティスト名zzzのコンテンツ情報を更新できる。また、リスト構築キーが、「*」(前方一致を示すアスタリスク)を使用して、「ALBUM(フィルタの種類)=B*(キーワード)」および「ARTIST(フィルタの種類)=z*(キーワード)」である場合、アルバム名がBから始まり、かつ、アーティスト名がzから始まるコンテンツ情報を更新できる。さらに、リスト構築キーが、“ ”(データが入っていないことを示すスペース)を使用して、「ALBUM(フィルタの種類)=“ ”(キーワード)」および「ARTIST(フィルタの種類)=zzz(キーワード)」である場合、アルバム名が登録されておらず、かつ、アーティスト名zzzのコンテンツのコンテンツ情報を更新できる。その他にも正規表現を使用した各種キーワードを利用して、コンテンツ情報を複数指定することができる。
【0018】
クライアントは対象コンテンツ種別と更新後のコンテンツ情報とを含むコンテンツ情報更新要求をサーバに送信する。サーバは、更新用リストに含まれるコンテンツ情報のうち、対象コンテンツ種別によって特定される種別のコンテンツ情報のみを更新する。従って、サーバが誤ってユーザが更新を希望しない種別のコンテンツ情報を更新することを防止できる。
【0019】
複数のサーバが存在する場合、クライアントは全てのサーバにコンテンツ情報更新要求を送信するのではなく、唯一の第1のサーバにコンテンツ情報更新要求を送信する。第1のサーバは、コンテンツ情報更新要求を受信すると、第1のサーバが蓄積するコンテンツ情報を更新し、かつ、第1のサーバに接続されている第2のサーバにコンテンツ情報更新要求を転送する。第2のサーバは、コンテンツ情報更新要求を受信すると、自身が蓄積するコンテンツ情報を更新する。従って、クライアントは、複数のサーバに接続を切り替えてコンテンツ情報更新要求を送信する必要がないので、クライアントおよびサーバの処理の負担が大幅に軽減される。
【0020】
第1のサーバはグローバルリストに基づいて更新用リストを作成する。グローバルリストは複数のサーバが蓄積するコンテンツのコンテンツ情報を全て含んでいるので、グローバルリストから作成される更新用リストは第2のサーバが更新すべきコンテンツ情報も含んでいる。そして、第1のサーバは、更新用リストに含まれるコンテンツ情報を有する第2のサーバのみを選択して、当該第2のサーバにコンテンツ情報更新要求を転送する。すなわち、第1のサーバは、コンテンツ情報を更新する必要がない他の第2のサーバにはコンテンツ情報更新要求を転送しない。従って、サーバの処理の負担をさらに軽減でき、ネットワークトラフィックをさらに軽減することができる。
【発明の効果】
【0021】
本発明のコンテンツ情報更新システムは、クライアントがサーバにコンテンツ情報更新要求を送信し、サーバがコンテンツ情報更新要求に応答して、更新用リストを作成し、更新用リストに含まれるコンテンツ情報を一括で更新するので、クライアントはコンテンツ毎に更新要求をサーバに送信する必要がなく、クライアントおよびサーバの処理を軽減でき、ネットワークトラフィックを軽減することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態によるコンテンツ情報更新システム1の構成を示すブロック図である。コンテンツ情報更新システム1は、一または複数のオーディオクライアントCL(本例では、3つのオーディクライアントCL1〜CL3)、および、一または複数のサーバ(本例では1つのサーバSV)を備える。さらに、コンテンツ情報更新システム1は、必要に応じて、一または複数のコントローラ(本例では、1つのコントローラCN)を備える。サーバSV、オーディオクライアントCLおよびコントローラCNは例えばLAN50等のネットワークを介して接続されている。オーディオクライアントCLはサーバSVにコンテンツを要求し、サーバSVは、オーディオクライアントCLからの要求に応じてオーディオクライアントCLにコンテンツを送信する。オーディオクライアントCLは、サーバSVからコンテンツを受信して再生する。コントローラCNは、サーバSVに対してクライアントとして機能し、サーバSVを介してオーディオクラインアントCLを監視および/または制御する。つまり、コントローラCNは、サーバSVからオーディオクライアントCLのクライアント情報を取得して表示する(この動作を監視と呼ぶ)。また、コントローラCNは、サーバSVを介してオーディオクライアントCLに所定の動作(例えば、コンテンツ再生)を実行させるよう指示する(この動作を制御と呼ぶ)。本実施形態では、オーディオクライアントCLおよび/またはコントローラCN(これらを総称して、単にクライアントと呼ぶ)は、サーバSVにコンテンツ情報を更新するコンテンツ情報更新コマンド(後述)を送信し、サーバSVは当該コマンドに応答してコンテンツ情報を更新する。その際に、クライアントは、サーバSVにリスト構築キー(後述)によって特定される複数のコンテンツに関するコンテンツ情報を一括で更新するよう指示する。サーバSVは、リスト構築キーに基づいて、更新すべきコンテンツ情報を検索し、検索したコンテンツ情報を一括で更新する。
【0023】
図2はサーバSVの構成を示す概略ブロック図である。サーバSVは、HDD(ハードディスクドライブ)等の蓄積手段21、CPU処理部等の制御手段22、およびLANコントローラ等の通信手段23を備える。HDD21は、複数のコンテンツ(コンテンツとは、音楽、映像および/または静止画等のデータの総称である)を蓄積する。CPU処理部22は、サーバSV全体の動作を制御するものであり、データベース管理部24、ネットワークプロトコル処理部25およびシステム動作部26を有する。データベース管理部24は、HDD21を管理する。具体的には、データベース管理部24は、オーディオクライアントCLからの要求に応じてHDD21内の所望のコンテンツを選択する。ネットワークプロトコル処理部25は、入出力されるデータに対してプロトコル処理を実行する。システム動作部26は、HDD21に蓄積されたサーバプログラムを読み出し、後述するサーバSVの各種処理を実行する。具体的には、システム動作部26は、クライアントからのコンテンツ情報更新コマンドに応答して、更新すべきコンテンツ情報を検索し、一時的な更新用リストを作成して、更新用リストに含まれるコンテンツ情報を一括で更新する。LANコントローラ23は、サーバSVとLAN50との間で信号(コンテンツデータまたはコマンド等)を送受信する。
【0024】
HDD21には、表1に示すローカルリストLL1が格納されている。
【表1】
【0025】
ローカルリストLL1は、サーバSV1のHDD21が蓄積する全てのコンテンツのリストである。つまり、ローカルリストLL1は、サーバSV1がHDD21内に蓄積する全てのコンテンツデータM11〜M1nに関するコンテンツ情報I11〜I1nを含む。表2にコンテンツ情報I1nの詳細を示す。
【表2】
【0026】
コンテンツ情報I1nはファイル名と、コンテンツ名(例えば、曲名)と、アーティスト名と、アルバム名と、ジャンル名と、コンテンツ(曲)の長さ(時間)と、ファイルフォーマットと、コンテンツ(曲)IDと、サーバ特定情報とを含む。ファイル名には、当該コンテンツデータが蓄積されているHDD21のフルパス名が記録される。サーバ特定情報は、サーバSVの場所を特定するためのサーバアドレスやポート番号等を含む。サーバアドレスとは、そのサーバSVのIP(Internet Protocol)アドレスやMACアドレス等である。コンテンツ情報I1nの曲名、アーティスト名、アルバム名および/またはジャンル名は、オーディオクライントCLまたはコントローラCNからのコンテンツ情報更新コマンドに基づいて更新することができる。なお、コンテンツ情報の更新は、代表的には、コンテンツ情報を変更すること、または削除することを意味する。
【0027】
図3はクライアントCLの構成を示す概略ブロック図である。クライアントCLは、マイコン処理部31等の制御手段と、フラッシュメモリ32と、順次入力された圧縮デジタルコンテンツを一時的に記憶して順次出力するメモリやRAM等のメモリ33と、圧縮デジタルコンテンツをデコードして非圧縮デジタルコンテンツを生成する音声処理部34と、デジタルコンテンツをアナログコンテンツに変換するD/A変換器(DAC)35と、LANコントローラ等の通信手段36と、ユーザからの文字情報等の入力を受け付ける入力装置37と、コンテンツ情報等を表示するLCDなどの表示装置38とを備える。マイコン処理部31は、クライアントCL全体の動作を制御するものであり、ネットワークプロトコル処理部39およびシステム動作部30を有する。ネットワークプロトコル処理部39は、入出力されるデータに対してプロトコル処理を実行する。システム動作部30は、例えばメモリ33に格納されたクライアントプログラムに基づいて、後述するクライアントの各種処理を実行する。具体的には、システム動作部30は、後述するリスト構築キーを含むコンテンツ情報更新コマンドを生成し、サーバSVに送信する。LANコントローラ36は、オーディオクライアントCLとLAN50との間で信号(コンテンツデータまたはコマンド等)を送受信する。
【0028】
図4は、コントローラCNの構成を説明する概略図である。コントローラCNは、マイコン処理部41等の制御手段と、フラッシュメモリ42と、メモリ43と、LANコントローラ等の通信手段44と、ユーザから文字情報等の入力を受け付ける入力装置45と、コンテンツ情報等を表示するLCDなどの表示装置46とを備える。マイコン処理部41は、コントローラCN1全体の動作を制御するものであり、ネットワークプロトコル処理部47およびシステム動作部48を有する。ネットワークプロトコル処理部47は、入出力されるデータをプロトコル処理する。システム動作部48は、メモリ43に格納されたコントローラプログラムに基づいて、後述するコントローラ(オーディオクライアントCLと同様)の各種処理を実行する。具体的には、システム動作部48は、オディオクライアントCLと同様に、後述するリスト構築キーを含むコンテンツ情報更新コマンドを生成し、サーバSVに送信する。LANコントローラ44は、コントローラCNとLAN50との間で信号(コンテンツデータまたはコマンド等)を送受信する。
【0029】
以上の構成を有するコンテンツ情報更新システムについてその動作を説明する。オーディオクライアントCL(またはコントローラCNも同様であるので、以下単にクライアントとして説明する)は、リスト構築キーで特定される更新用リスト内のコンテンツ情報を更新するためのコンテンツ情報更新コマンドをサーバSVに送信する。
【0030】
図5に示すとおり、まず、ユーザはどのコンテンツ情報を一括で更新するかについての情報をクライアントに入力し、クライアントはこれを受け付ける(S501)。具体的には、ユーザは表示装置38に表示されるコンテンツ情報の種別を選択して、さらに当該種別の中で更新すべきコンテンツ情報を選択する。例えば、アーティスト名として「zzz」、アルバム名として「BBB」を選択する。この場合、アーティスト名が「zzz」、かつ、アルバム名が「BBB」であるコンテンツ情報を一括で更新することになる。次に、ユーザは選択されたコンテンツ情報について、どの種別のコンテンツ情報を更新するかを入力する。例えば、アーティスト名とアルバム名とを更新する旨を入力する。次に、ユーザは、コンテンツ情報を変更するか、または削除するかを選択する。最後に、ユーザは更新後のコンテンツ情報を入力する。例えば、アーティスト名として「yyy」、アルバム名として「AAA」を入力する。この入力処理は、コンテンツ情報を削除する場合は不要である。
【0031】
クライアントは、S501でユーザから入力された情報に基づいて、コンテンツ情報更新コマンドを生成する(S502)。表3にコンテンツ情報更新コマンドを示す。
【表3】
【0032】
コンテンツ情報更新コマンドは、リスト構築キーと、更新内容と、対象コンテンツ情報種別と、更新後のコンテンツ情報の文字列(つまり、この文字列に基づいてサーバーはコンテンツ情報を変更する)とを含む。更新内容は、コンテンツ情報を変更する、または削除する旨を示す情報である。対象コンテンツ情報種別は、更新するコンテンツ情報の種別(曲名、アルバム名、アーティスト名またはジャンル名)を表し、表3ではアルバム名とアーティスト名とを更新することを表す。更新後のコンテンツ情報は、対象コンテンツ情報種別に示された種別のコンテンツ情報について更新後のコンテンツ情報を表す。表3では、アルバム名を「AAA」に変更し、アーティスト名を「yyy」に変更することを表す。曲名およびジャンル名は変更しないので、「変更しない」旨が記載されている。なお、コンテンツ情報を削除する場合は、更新後のコンテンツ情報は何も記載されない。リスト構築キーは、一括更新の対象となるコンテンツ情報を含む更新用リストを作成するために使用される情報であり、その詳細を表4に示す。
【表4】
【0033】
リスト構築キーは、フィルタの種類と、キーワードとを含む。フィルタの種類は、ローカルリストLL1内のどの種別に注目して更新用リストを作成するかを指定するものである。フィルタの種類が“TITLE=”、“GENRE=”、“ARTIST=”、“ALBUM=”、または“FILENAME=”であれば、ローカルリストLL1の中から、曲名、ジャンル名、アーティスト名、アルバム名、またはファイル名がキーワードと一致するコンテンツを探し出して更新用リストを作成する。アルバム名BBB、かつ、アーティスト名zzzのコンテンツのコンテンツ情報を一括更新する場合を説明すると、リスト構築キーは表4の通り“ALBUM=BBB”および“ARTIST=zzz”になる。
【0034】
続いて、クライアントは、作成したコンテンツ情報更新コマンドをサーバSVに送信する(S503)。サーバSVは、クライアントからコンテンツ情報更新コマンドを受信して、解析する(S551)。サーバSVはコンテンツ情報更新コマンドに含まれるリスト構築キーに基づいて、更新すべきコンテンツ情報を検索し、更新用リストを作成する(S552)。更新用リストは、コンテンツ情報を一括で更新するためにローカルリストLL1から作成する一時的なリストであり、更新すべきコンテンツ情報が含まれる。更新用リスト作成処理の詳細を図6に示す。
【0035】
サーバSVは、まず、ローカルリストLL1におけるコンテンツ情報の番号を示すインデックスwを1に初期化する(S601)。続いて、サーバSVは、インデックスwが示すコンテンツ情報をリスト構築キーのキーワードと比較し、それらが一致するかを判断する(S602)。本例では、インデックスwが示すコンテンツ情報のアルバム名がリスト構築キーに示された“BBB”であり、かつ、アーティスト名がリスト構築キーに示された“zzz”であるか否かを判断する。一致する場合、サーバSVはそのファイル名、曲名、アーティスト名、アルバム名、ジャンル名、サーバ特定情報などを更新用リストに追加し(S603)、その後、インデックスwをインクリメントする(S604)。一方、一致しない場合(S602:NO)、サーバSVは、S603をスキップし、直ちにインデックスwをインクリメントする(S604)。
【0036】
続いて、サーバSVは、インデックスwが示すコンテンツ情報の番号が全コンテンツ数n以下であるか否かを判断し(S605)、以下である場合(S605:YES)、S602に戻り、一方、大きい場合(S605:NO)、更新用リストの作成を完了する。上記の処理により、サーバSVはリスト構築キーによって特定されるコンテンツ情報だけをローカルリストLL1からピックアップし、更新用リストを作成する。作成された更新用リストを表5に示す。
【表5】
【0037】
図5に戻って、サーバSVは、ローカルリストLL1内のコンテンツ情報の中で、更新用リストに含まれるコンテンツ情報をコンテンツ情報更新コマンドに基づいて更新する(S553)。コンテンツ情報更新処理の詳細を図7に示す。まず、サーバSVは、更新用リストのコンテンツの番号を示すインデックスxを1に初期化する(S701)。次に、サーバSVは、インデックスxが示すコンテンツの番号が更新用リスト内の全コンテンツ数n以下であるかを判断する(S702)。全コンテンツ数n以下である場合(S702:YES)、サーバSVは、コンテンツ情報更新コマンド内の更新内容が変更であるかを判断する(S703)。更新内容が変更である場合(S703:YES)、サーバSVは、ローカルリストLL1のコンテンツ情報の中で、インデックスxが示すコンテンツのコンテンツ情報を更新する(S704)。具体的には、サーバSVは、コンテンツ情報更新コマンドの対象コンテンツ情報種別に対応するコンテンツ情報を、コンテンツ情報更新コマンドに示されたコンテンツ情報に更新する。本例では、対象コンテンツ情報種別がアルバム名とアーティスト名であるので、インデックスxで特定されるコンテンツのアルバム名を“AAA”に、アーティスト名を“yyy”に変更するようローカルリストLL1を更新する。なお、ローカルリストLL1内のどのコンテンツ情報を更新するかは、更新用リスト内のファイル名によって特定される。
【0038】
次に、サーバSVはインデックスxをインクリメントし(S705)、S702に戻る。以上の処理を繰り返していると、S702においてサーバSVはインデックスxが更新用リストの全コンテンツ数より大きいと判断し(S702:NO)、サーバSVはコンテンツ情報の更新処理を完了する。従って、更新用リストに含まれる全てのコンテンツ情報を更新することができる。なお、S703で更新内容が変更でないと判断された場合(S703:NO)、更新内容が削除であるかを判断する(S706)。更新内容が削除である場合、インデックスxが示すコンテンツのコンテンツ情報の中で、対象コンテンツ情報種別に対応するコンテンツ情報を削除するよう、ローカルリストLL1を更新する(S707)。一方、S706で更新内容が削除でない場合、コンテンツ情報更新コマンドが誤りであると判断され、S705においてインデックスxが直ちにインクリメントされる。
【0039】
図5に戻って、サーバSVは、更新用リストに含まれるコンテンツ情報を全て更新すると、更新用リストは不要であるので、更新用リストを削除する(S554)。更新用リストをすぐに削除することにより、無駄なメモリの使用を防止することができる。
【0040】
以上のように、クライアントはリスト構築キーを含むコンテンツ情報更新コマンドをサーバSVに送信する。サーバSVはリスト構築キーに基づいて一時的な更新用リストを作成し、更新用リストに含まれるコンテンツのコンテンツ情報をコンテンツ情報更新コマンドに基づいて一括して更新する。従って、クライアントはコンテンツ情報を更新すべきコンテンツ毎に、更新コマンドを送信する必要がないので、クライアントおよびサーバSVの処理が軽減され、ネットワークトラフィックが軽減される。
【0041】
次に、本発明の別の好ましい実施形態について説明する。図8は本例のコンテンツ情報更新システム81の構成を示すブロック図である。コンテンツ情報更新システム81は、図1の構成にさらに、サーバSV2およびSV3を備えている。サーバSV1〜SV3はLAN50等を介して相互に接続される。サーバSV2、SV3の構成はサーバSV1と同様である。サーバSV2は、自身のHDD21に蓄積する全コンテンツデータM21〜M2nに関するコンテンツ情報I21〜I2mを含むローカルリストLL2をHDD21に格納する。サーバSV3は、自身のHDD21に蓄積する全コンテンツデータM31〜M3nに関するコンテンツ情報I31〜I3lを含むローカルリストLL3をHDD21に格納する。サーバSV1〜SV3は、自身のローカルリストを他の全てのサーバに送信する。サーバSV1〜SV3は、他のサーバから受信したローカルリストと自身のローカルリストとに基づいてグローバルリストGLを作成する。グローバルリストGLは、ローカルリストLL1〜LL3を合成したリストであり、サーバSV1〜SV3が蓄積する全コンテンツのコンテンツ情報を含む。サーバSV1〜SV3がグローバルリストGLを格納しているので、オーディオクライアントCLまたはコントローラCNは、サーバSV1〜SV3のいずれか1つに接続してグローバルリストを取得することにより、全サーバSV1〜SV3が蓄積するコンテンツを知ることができる。この様なシステムにおいて、上記の実施形態と同様に、サーバSV1〜SV3はクライアントからコンテンツ情報更新コマンドを受信して、コンテンツ情報を一括で更新する。しかし、クライアントが各サーバに接続し、コンテンツ情報更新コマンドを送信すると、クライアントの処理に負担がかかるので、クライアントはサーバSV1(第1のサーバ)のみにコンテンツ情報更新コマンドを送信し、サーバSV1が他のサーバSV2、SV3(第2のサーバ)にコンテンツ情報更新コマンドを転送する。以下、詳細に説明する。
【0042】
サーバSV1(SV2、SV3も同様である)のHDD21には、表6に示すサーバリストがさらに格納されている。サーバリストは、サーバSV1に接続されている他のサーバの情報を管理するリストである。
【表6】
【0043】
サーバリストは、サーバIDとサーバ情報とを含む。サーバIDはサーバSV1と接続した他のサーバSV2およびSV3の識別子である。サーバIDはサーバSV1の接続要求に応答した順番に登録される。サーバSV1の接続要求に始めに応答したのがサーバSV2であり、次に応答したのがサーバSV3である場合、サーバID=1にはサーバSV2のサーバ情報が登録され、サーバID=2には、サーバSV3のサーバ情報が登録される。サーバ情報の一例としてサーバSV2のサーバ情報を表7に示す。
【表7】
【0044】
サーバ情報は、サーバ特定情報と、サーバ名と、ローカルリストLL2と、サーバタイプとを含む。サーバ特定情報は、サーバSV2の場所を特定するためのサーバアドレスやポート番号等を含む。サーバアドレスとは、そのサーバSVのIP(Internet Protocol)アドレスやMACアドレス等である。ローカルリストLL2は、先述の通り、サーバSV2に蓄積されているコンテンツデータM21〜M2nのコンテンツ情報を含むリストである。ローカルリストLL2の構成は、表1のローカルリストLL1と同様であり、複数のコンテンツ情報I21〜I2mを含む。コンテンツ情報I21〜I2mは、表2のコンテンツ情報I11〜I1nと同様である。サーバタイプは、サーバSV2がコンテンツ情報更新コマンドに応答してコンテンツ情報を一括更新できるか否かの情報を含む。
【0045】
サーバSV1(SV2、SV3も同様である)のHDD21には、表8に示すグローバルリストGLがさらに格納されている。
【表8】
【0046】
グローバルリストGLは、ローカルリストLL1〜LL3を合成したものであり、サーバSV1〜SV3が蓄積する全コンテンツのコンテンツ情報I11〜I1n、I21〜I2m、I31〜I3lを含む。サーバSV1がオーディオクライアントCLからコンテンツリストの要求を受けたとき、サーバSV1はグローバルリストGLに基づいて、ユーザが特定するコンテンツリストを作成し、オーディオクライアントCLに送信する。
【0047】
以上の構成を有するコンテンツ情報更新システム81についてその動作を説明する。図9は、本例の動作を示す図であり、図5と同じ処理については同じ符号を付し説明を省略する。サーバSV1は、クライアントからコンテンツ情報更新コマンドを受信すると(S551)、コンテンツ情報更新コマンドをサーバリストに基づいて自身に接続されている他のサーバSV2、SV3に転送する(S901)。S901の詳細を図10に示す。
【0048】
まず、サーバSV1は、サーバリスト内にサーバ情報が存在するか否かを判断する(S1001)。サーバリストにサーバ情報が存在しない場合、サーバSV1に接続されているサーバは存在しないので、コンテンツ情報更新コマンドの転送処理を完了する。サーバリストにサーバ情報が存在する場合(S1001:YES)、サーバSV1は、サーバリストにおけるサーバ情報の番号を示すインデックスyを1に初期化する(S1002)。次に、サーバSV1は、インデックスyが示すサーバ情報の番号が全サーバ情報数以下であるかを判断し(S1003)、全サーバ情報数以下である場合(S1003:YES)、インデックスyが示す番号のサーバ(例えば、サーバSV2)がコンテンツ情報更新コマンドに対応しているかを表7のサーバ情報に含まれるサーバタイプに基づいて判断する(S1004)。サーバSV2がコンテンツ情報更新コマンドに対応している場合(S1004:YES)、サーバSV1はサーバSV2にコンテンツ情報更新コマンドを転送する(S1005)。サーバSV2のアドレスは、表7のサーバ特定情報に基づいて特定される。その後、サーバSV1はインデックスyをインクリメントし(S1006)、S1003に戻る。以下、同様にサーバリストに含まれる全てのサーバについて同様の処理を実行する。以上のようにサーバリストに含まれるサーバがコンテンツ情報更新コマンドに対応している場合、当該サーバにコンテンツ情報更新コマンドを転送する。サーバリストにはサーバSV1に接続されているサーバの情報を全て含むので、サーバSV1は、自身に接続されている全てのサーバにコンテンツ情報更新コマンドを転送できる。一方、サーバSVがコンテンツ情報更新コマンドに対応していない場合(S1004:NO)、サーバSV1は旧来の方法でコンテンツ情報毎に更新コマンドをサーバに送信する(S1007)。S1007の詳細は後述する。
【0049】
図9に戻って、サーバSV1のS552以降の処理は図5と同様である。また、コンテンツ情報更新コマンドをサーバSV1から受信したサーバSV2は、サーバSV1と同様に更新用リストを作成し、更新用リストに含まれるコンテンツ情報をコンテンツ情報更新コマンドに基づいて更新する(S551〜S554)。この処理も、図5の場合と同様である。
【0050】
以上のように、本例によると、複数のサーバSV1〜SV3が存在する場合に、クライアントは自身が接続するサーバSV1にコンテンツ情報更新コマンドを送信するだけで、サーバSV1〜SV3が格納する全てのローカルリストを更新することができる。
【0051】
ここで、図10のS1007の詳細を図11を参照して説明する。本例では、サーバSV3がコンテンツ情報更新コマンドに対応していないとする。まず、サーバSV1はサーバSV3のローカルリストLL3およびリスト構築キーに基づいて更新用リストを作成する(S1101)。次に、サーバSV1は、更新用リストのコンテンツの番号を示すインデックスzを1に初期化する(S1102)。次に、サーバSV1は、インデックスzが示すコンテンツの番号が更新用リスト内の全コンテンツ数n以下であるかを判断する(S1103)。全コンテンツ数n以下である場合(S1103:YES)、インデックスzが示すコンテンツのコンテンツ情報を更新するようにサーバSV3にコマンドを送信する(S1104)。このコマンドには、コンテンツIDと、更新すべきコンテンツ情報の種別と、更新後のコンテンツ情報とを含む。その後、インデックスzをインクリメントして(S1105)、S1103に戻る。サーバSV3は、このコマンドを受信すると、指定されたコンテンツIDのコンテンツ情報を受信したコンテンツ情報に更新する。以上の動作により、サーバSV3がコンテンツ情報更新コマンドに基づいてコンテンツ情報を一括更新できない場合、サーバSV1はサーバSV3にコンテンツ情報毎に更新コマンドを送信し、サーバSV3はコンテンツ情報毎に更新コマンドを受信して、コンテンツ情報を更新する。
【0052】
次に、本発明のさらに別の好ましい実施形態について説明する。本例は、図8〜図11に示した前の実施形態において、サーバSV1から他のサーバへ不要なコンテンツ情報更新コマンドを転送しないようにしたものである。つまり、実際にコンテンツ情報を更新する必要があるサーバSVのみにコンテンツ情報更新コマンドを転送するようにする。
【0053】
図12は本例の動作を説明する図であり、図9と同一の処理については同一の符号を付し、説明を省略する。サーバSV1は、クライアントからコンテンツ情報更新コマンドを受信すると(S551)、サーバSV1のローカルリストLL1ではなく、グローバルリストGLに基づいて更新用リストを作成する(S1201)。更新用リスト作成の詳細は、図6のローカルリストLL1に基づく更新用リスト作成と同様である。グローバルリストGLは、サーバSV1〜SV3が蓄積する全てのコンテンツのコンテンツ情報を含むので、グローバルリストGLから更新用リストを作成することにより、サーバSV1〜SV3が蓄積するコンテンツ情報の中で、更新する必要のあるコンテンツ情報を全て抽出することができる。次に、サーバSV1は、作成した更新用リストに基づいて、自身が格納するローカルリストLL1内のコンテンツ情報を更新し、または、自身に接続されている他のサーバSV2、SV3にコンテンツ情報更新コマンドを転送する(S1202)。ここで、S1202の詳細を図13に示す。
【0054】
まず、サーバSV1は、更新用リストのコンテンツの番号を示すインデックスpを1に初期化する(S1301)。次に、サーバSV1は、インデックスpが示すコンテンツの番号が更新用リスト内の全コンテンツ数n以下であるかを判断する(S1302)。全コンテンツ数n以下である場合(S1302:YES)、サーバSV1は、インデックスpが示すコンテンツがサーバSV1が蓄積するコンテンツであるか否かを判断する(S1303)。具体的には、サーバSV1は、表5の更新用リスト内のサーバ特定情報を参照することにより、サーバSV1が蓄積するコンテンツであるか否かを判断する。サーバSV1が蓄積するコンテンツである場合(S1303:YES)、サーバSV1は自身のローカルリストLL1のコンテンツ情報を更新(変更又は削除)する(S703、S704、S706、S707)。この処理は、図7と同じである。次に、インデックスpをインクリメントし(S1304)、S1302に戻る。
【0055】
一方、S1303において、インデックスpが示すコンテンツがサーバSV1以外(例えば、サーバSV2)が蓄積するコンテンツである場合(S1303:NO)、該当するサーバSV2にコンテンツ情報更新コマンドを転送済であるか否かを判断する(S1305)。未だサーバSV2にコンテンツ情報更新コマンドを転送していない場合(S1305:NO)、サーバSV1はコンテンツ情報更新コマンドをサーバSV2に転送する(S1306)。サーバSV1は、サーバSV2にコンテンツ情報更新コマンドを転送済であることを図示しないメモリ等に記憶する(S1307)。従って、S1303で、更新用リストに含まれる他のコンテンツがサーバSV2に蓄積されているコンテンツであると判断されても、S1305で既にサーバSV2にコンテンツ情報更新コマンドを転送済であると判断されるので(S1305:YES)、サーバSV2に重複してコンテンツ情報更新コマンドが転送されることを防止できる。
【0056】
なお、S1302でインデックスpが更新用リストのコンテンツ数より大きいと判断されると(S1302:NO)、S1307で記憶された、サーバにコンテンツ情報更新コマンドを転送した旨の情報を削除し(S1308)、処理を完了する。
【0057】
以上のように、本例によると、サーバSV1はグローバルリストから更新用リストを作成し、更新用リストに含まれるコンテンツを蓄積するサーバのみにコンテンツ情報更新コマンドを転送する。従って、コンテンツ情報を更新する必要がないサーバにコンテンツ情報更新コマンドが転送されることがなく、クライアントおよびサーバの処理を軽減でき、ネットワークトラフィックを軽減することができる。
【0058】
次に本発明のさらに別の好ましい実施形態について説明する。本例では、サーバSV1は、コンテンツ情報更新コマンドを受信すると、更新リストを作成することなく、リスト構築キーによって特定される複数のコンテンツ情報を検索しながら、検索されたコンテンツ情報をその都度更新する。更新用リストを作成しないので、サーバSV1の処理がさらに簡素化される。図14、図15を参照して詳細に説明するが、前の実施形態(図5〜図7)と同一処理には同一符号を付し、説明を省略する。
【0059】
図14に示すとおり、サーバSVは、クライアントからコンテンツ情報更新コマンドを受信すると(S551)、更新用リストを作成することなく、コンテンツ情報を更新する(S1401)。S1401の詳細を図15に示す。サーバSVは、まず、ローカルリストLL1におけるコンテンツ情報の番号を示すインデックスwを1に初期化する(S601)。続いて、サーバSVは、インデックスwが示すコンテンツ情報をリスト構築キーのキーワードと比較し、それらが一致するかを判断する(S602)。本例では、インデックスwが示すコンテンツ情報のアルバム名がリスト構築キーに示された“BBB”であり、かつ、アーティスト名がリスト構築キーに示された“zzz”であるか否かを判断する。一致する場合、サーバSVはそのコンテンツ情報を更新する(S1501)。具体的には、対称コンテンツ情報種別がアルバム名とアーティスト名であるので、インデックスwで特定されるコンテンツのアルバム名を“AAA”に、アーティスト名を“yyy”に変更する。その後、インデックスwをインクリメントする(S604)。一方、一致しない場合(S602:NO)、サーバSVは、S1501をスキップし、直ちにインデックスwをインクリメントする(S604)。
【0060】
続いて、サーバSVは、インデックスwが示すコンテンツ情報の番号が全コンテンツ数n以下であるか否かを判断し(S605)、以下である場合(S605:YES)、S602に戻り、一方、大きい場合(S605:NO)、コンテンツ情報の更新を完了する。上記の処理により、サーバSVはリスト構築キーによって特定されるコンテンツ情報だけをローカルリストLL1からピックアップし、更新することができる。
【0061】
なお、本例のようにリスト構築キーを作成せずにコンテンツ情報を検索するたびにコンテンツ情報を更新する方法を、図8〜図13で説明した複数サーバの場合にも適用可能である。例えば、図16に示す通り、グローバルリストに含まれるコンテンツ情報をリスト構築キーに基づいて検索して(S1602、S1603、S1614)、一致する際に(S1603:YES)、自身が蓄積するコンテンツ情報であれば(S1604:YES)、そのコンテンツ情報を更新し(S1605〜S1608)、他のサーバが蓄積するコンテンツ情報であれば(S1604:NO)、そのサーバにコンテンツ情報更新コマンドを転送することができる(S1610〜S1612)。
【0062】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。例えば、アルバム名およびアーティと名とをフィルタの種類として更新用リストを作成し、アルバム名のみを更新してもよい。さらに、クライアントがサーバSV2にコンテンツ情報更新コマンドを送信し、サーバSV2がサーバSV1、SV3にコンテンツ情報更新コマンドを転送することもできる。この場合、サーバSV2が第1のサーバ、サーバSV1、SV3が第2のサーバとして機能する。さらに、サーバSV1がサーバSV2のローカルリストを更新して、サーバSV2に送信することもできる。また、上記のサーバ、クライアントおよびコントローラを動作させるためのコンピュータプログラムという形態で提供されても構わない。
【産業上の利用可能性】
【0063】
本発明は、オーディオクライアントからのコンテンツ要求に対してサーバがコンテンツを送信し、オーディオクライアントがコンテンツを再生するコンテンツ再生システムに好適に適用され得る。
【図面の簡単な説明】
【0064】
【図1】本発明の好ましい実施形態によるコンテンツ情報更新システムの構成を示すブロック図である。
【図2】サーバの構成を示すブロック図である。
【図3】オーディオクライアントの構成を示すブロック図である。
【図4】コントローラの構成を示すブロック図である。
【図5】コンテンツ情報更新システムの動作を説明するフローチャートである。
【図6】更新用リスト作成処理を説明するフローチャートである。
【図7】サーバのコンテンツ情報更新処理を説明するフローチャートである。
【図8】本発明の別の好ましい実施形態によるコンテンツ情報更新システムの構成を示すブロック図である。
【図9】コンテンツ情報更新システムの動作を説明するフローチャートである。
【図10】コンテンツ情報更新コマンド転送処理を示すフローチャートである。
【図11】図10のS1007の詳細を説明するフローチャートである。
【図12】コンテンツ情報更新システムの動作を説明するフローチャートである。
【図13】S1202の詳細を説明するフローチャートである。
【図14】コンテンツ情報更新システムの動作を説明するフローチャートである。
【図15】S1401の詳細を示すフローチャートである。
【図16】コンテンツ情報更新システムの動作を説明するフローチャートである。
【符号の説明】
【0065】
1 コンテンツ情報更新システム
26 システム動作部
30 システム動作部
【技術分野】
【0001】
本発明は、コンテンツのコンテンツ情報を更新するコンテンツ情報更新システムに関し、詳細にはサーバに蓄積されたコンテンツ情報をクライアントからの要求によって更新するコンテンツ情報更新システムに関する。
【背景技術】
【0002】
近年、サーバ−クライアントシステムを利用したコンテンツ再生システムが提案されている。下記特許文献1は、複数のコンテンツを蓄積するサーバと、LAN(Local Area Network)経由でサーバに接続されたクライアントとを備えるコンテンツ再生システムを記載する。クライアントは所望のコンテンツをサーバに要求し、これに応じてサーバは要求されたコンテンツをクライアントに送信する。クライアントはサーバから送信されたコンテンツを再生する。サーバは、蓄積されたコンテンツのコンテンツ情報(例えば、曲名、アーティスト名、アルバム名およびジャンル名等)を有しており、クライアントに複数のコンテンツ情報を含むコンテンツリストを送信する。クライアントは、サーバからコンテンツリストを受信してコンテンツ情報を表示する。これにより、クライアントは、複数のコンテンツの中から所望のコンテンツを選択し、選択した(または、再生中の)コンテンツのコンテンツ情報を表示することができる。
【0003】
サーバが有するコンテンツ情報を更新(変更または削除)する場合、クライアントは、コンテンツ情報を更新するコンテンツのコンテンツIDを1つ指定して、所望の種別のコンテンツ情報(例えば、アルバム名)を更新する旨のコマンドをサーバに送信する。サーバはクライアントからのコマンドに応答して、指定されたコンテンツのコンテンツ情報(アルバム名)を更新する。
【0004】
しかし、この方法では、複数のコンテンツのコンテンツ情報を更新する場合、上記の処理を複数回繰り返す必要がある。従って、クライアントおよびサーバの処理の負担が増加し、かつ、ネットワークトラフィックが増加するという問題を有している。さらに、コンテンツを複数回にわたった指定する必要があるので、ユーザの操作が煩雑であるという問題を有する。
【0005】
また、下記特許文献2は、複数のコンテンツを蓄積する複数のサーバと、クライアントとを備えるコンテンツ再生システムを記載する。クライアントは、複数のサーバが蓄積する複数のコンテンツの中から、所望のコンテンツを受信して再生することができる。クライアントがサーバにコンテンツ情報を更新するコマンドを送信する場合、クライアントはサーバに接続している必要がある。しかし、クライアントは、サーバとの無駄な接続を避けるために、通常、複数のサーバのうち、1つのサーバにしか接続していない。そのため、コンテンツ情報を更新するコマンドを送信する場合、クライアントは、コンテンツ情報を更新すべきコンテンツを蓄積するサーバに接続を切り換える必要が生じる。複数回のコンテンツ情報の更新を繰り返す毎に、クライアントがサーバとの接続を切り換えると、クライアントおよびサーバの処理の負担がきわめて増加し、かつ、コンテンツ情報の更新を完了するまでに膨大な時間がかかってしまうという問題を有する。
【0006】
【特許文献1】WO03/102919
【特許文献2】WO2005/015407
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、サーバが蓄積する複数のコンテンツのコンテンツ情報をきわめて容易に更新できるコンテンツ再生システムを提供することにある。
【課題を解決するための手段】
【0008】
本発明の好ましい実施形態によるコンテンツ情報更新システムは、サーバと該サーバに接続可能なクライアントとを備える。該クライアントは、リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有する。該サーバは、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、該クライアントからのコンテンツ情報更新要求に応答して、該記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索手段と、該検索手段が検索したコンテンツ情報を更新する更新手段とを有する。なお、上記各動作をコンピュータに実行させるためのサーバプログラム、クライアントプログラムが提供され得る。さらに、上記の動作を含むコンテンツ情報更新方法が提供され得る。
【0009】
好ましい実施形態においては、上記サーバーは、上記検索手段が検索したコンテンツ情報を含む更新用リストを作成する更新用リスト作成手段をさらに有する。上記更新手段は、上記記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する。
【0010】
好ましい実施形態においては、上記コンテンツ情報更新要求は、更新すべきコンテンツ情報の種別を特定する対象コンテンツ情報種別と、コンテンツ情報とを含む。上記更新手段は、該対象コンテンツ情報種別で特定される種別のコンテンツ情報を、該コンテンツ情報更新要求に含まれるコンテンツ情報に更新する。
【0011】
好ましい実施形態においては、コンテンツ情報更新システムは、複数の前記サーバを備える。上記更新要求手段は、該複数のサーバのうち、第1のサーバに前記コンテンツ情報更新要求を送信する。該第1のサーバは、該第1のサーバに接続されている第2のサーバに該コンテンツ情報更新要求を転送する要求転送手段をさらに有する。
【0012】
好ましい実施形態においては、上記第1のサーバは、該第1のサーバ、および該第1のサーバに接続されている第2のサーバが蓄積する全てのコンテンツのコンテンツ情報を含むグローバルリストを蓄積可能である。該第1のサーバの上記更新用リスト作成手段は、該グローバルリストに基づいて更新用リストを作成する。該第1のサーバの前記更新手段は、該更新用リストに含まれる該第1のサーバが蓄積するコンテンツのコンテンツ情報を更新する。該第1のサーバの上記要求転送手段は、該更新用リストに含まれるコンテンツを蓄積する第2のサーバに該コンテンツ情報更新コマンドを転送する。
【0013】
本発明の別の好ましい実施形態によるコンテンツ情報更新システムは、サーバと該サーバに接続可能なクライアントとを備える。該クライアントは、更新用リストに含まれるコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有する。該サーバは、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、該クライアントからのコンテンツ情報更新要求に応答して、更新すべきコンテンツ情報を含む該更新用リストを作成する更新用リスト作成手段と、該記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する更新手段とを有する。
【0014】
好ましい実施形態においては、コンテンツ情報更新システムは、複数の上記サーバを備える。上記更新要求手段は、該複数のサーバのうち、第1のサーバに上記コンテンツ情報更新要求を送信する。該第1のサーバは、該第1のサーバに接続されている第2のサーバに該コンテンツ情報更新要求を転送する要求転送手段をさらに有する。該第1のサーバは、該第1のサーバ、および該第1のサーバに接続されている第2のサーバが蓄積する全てのコンテンツのコンテンツ情報を含むグローバルリストを蓄積可能である。該第1のサーバの前記検索手段は、該グローバルリストに含まれるコンテンツ情報の中から、前記リスト構築キーによって特定されるコンテンツ情報を検索する。該第1のサーバの前記更新手段は、該検索手段によって検索され、該第1のサーバが蓄積するコンテンツ情報を更新する。該要求転送手段は、該検索手段によって検索されたコンテンツ情報を蓄積する第2のサーバに該コンテンツ情報更新コマンドを転送する。
【0015】
以下、本発明の作用について説明する。
サーバに蓄積されたコンテンツ情報を更新する際、クライアントはサーバにコンテンツ情報更新要求を送信する。サーバは、クライアントからコンテンツ情報更新要求を受信すると、コンテンツ情報更新要求に含まれるリスト構築キーによって特定されるコンテンツ情報を検索して、検索したコンテンツ情報を更新する。好ましくは、サーバは、クライアントからコンテンツ情報更新要求を受信すると、更新すべきコンテンツ情報を含む更新用リストを作成する。続いて、サーバは、記憶デバイスに蓄積されたコンテンツ情報の中で、更新用リストに含まれるコンテンツ情報のみを、コンテンツ情報更新要求に基づいて一括で更新する。
【0016】
従って、複数のコンテンツ情報を更新する場合であっても、クライアントはコンテンツ毎にサーバに要求を送信する必要がないので、クライアントおよびサーバの処理の負担が軽減し、かつ、ネットワークトラフィックを軽減することができる。さらに、コンテンツ情報の更新が完了するまでの時間を短縮することができる。さらに、サーバがコンテンツ情報更新要求に基づいて更新用リストを作成するので、クライアントが更新用リストを送信する必要がなく、ネットワークトラフィックをさらに軽減できる。さらに、更新すべきコンテンツ情報を検索しながら、コンテンツ情報を更新する場合は、更新処理を全て完了するまで、他の処理を割り込ませることができない。しかし、更新用リストを作成して、更新用リストに含まれるコンテンツ情報を更新する場合、更新すべきコンテンツ情報の検索を終了した後、更新用リストに含まれるコンテンツ情報を更新するので、更新用リストを作成した後に、他の処理を割り込ませることができる。つまり、更新用リストを作成する方式では、サーバは更新処理のためにコンテンツ情報を専有することがないので、同時に複数のクライアントからの変更処理を受け入れ易い。
【0017】
クライアントはリスト構築キーを含むコンテンツ情報更新コマンドをサーバに送信する。サーバは、コンテンツ情報更新コマンドに含まれるリスト構築キーに基づいてコンテンツ情報を更新する。従って、リスト構築キーの内容を適宜変更することにより、ユーザが希望する任意のコンテンツ情報を一括で更新できる。リスト構築キーは、フィルタの種類とキーワードとを含む。例えば、リスト構築キーが「ALBUM(フィルタの種類)=BBB(キーワード)」および「ARTIST(フィルタの種類)=zzz(キーワード)」である場合、アルバム名BBB、かつ、アーティスト名zzzのコンテンツ情報を更新できる。また、リスト構築キーが、「*」(前方一致を示すアスタリスク)を使用して、「ALBUM(フィルタの種類)=B*(キーワード)」および「ARTIST(フィルタの種類)=z*(キーワード)」である場合、アルバム名がBから始まり、かつ、アーティスト名がzから始まるコンテンツ情報を更新できる。さらに、リスト構築キーが、“ ”(データが入っていないことを示すスペース)を使用して、「ALBUM(フィルタの種類)=“ ”(キーワード)」および「ARTIST(フィルタの種類)=zzz(キーワード)」である場合、アルバム名が登録されておらず、かつ、アーティスト名zzzのコンテンツのコンテンツ情報を更新できる。その他にも正規表現を使用した各種キーワードを利用して、コンテンツ情報を複数指定することができる。
【0018】
クライアントは対象コンテンツ種別と更新後のコンテンツ情報とを含むコンテンツ情報更新要求をサーバに送信する。サーバは、更新用リストに含まれるコンテンツ情報のうち、対象コンテンツ種別によって特定される種別のコンテンツ情報のみを更新する。従って、サーバが誤ってユーザが更新を希望しない種別のコンテンツ情報を更新することを防止できる。
【0019】
複数のサーバが存在する場合、クライアントは全てのサーバにコンテンツ情報更新要求を送信するのではなく、唯一の第1のサーバにコンテンツ情報更新要求を送信する。第1のサーバは、コンテンツ情報更新要求を受信すると、第1のサーバが蓄積するコンテンツ情報を更新し、かつ、第1のサーバに接続されている第2のサーバにコンテンツ情報更新要求を転送する。第2のサーバは、コンテンツ情報更新要求を受信すると、自身が蓄積するコンテンツ情報を更新する。従って、クライアントは、複数のサーバに接続を切り替えてコンテンツ情報更新要求を送信する必要がないので、クライアントおよびサーバの処理の負担が大幅に軽減される。
【0020】
第1のサーバはグローバルリストに基づいて更新用リストを作成する。グローバルリストは複数のサーバが蓄積するコンテンツのコンテンツ情報を全て含んでいるので、グローバルリストから作成される更新用リストは第2のサーバが更新すべきコンテンツ情報も含んでいる。そして、第1のサーバは、更新用リストに含まれるコンテンツ情報を有する第2のサーバのみを選択して、当該第2のサーバにコンテンツ情報更新要求を転送する。すなわち、第1のサーバは、コンテンツ情報を更新する必要がない他の第2のサーバにはコンテンツ情報更新要求を転送しない。従って、サーバの処理の負担をさらに軽減でき、ネットワークトラフィックをさらに軽減することができる。
【発明の効果】
【0021】
本発明のコンテンツ情報更新システムは、クライアントがサーバにコンテンツ情報更新要求を送信し、サーバがコンテンツ情報更新要求に応答して、更新用リストを作成し、更新用リストに含まれるコンテンツ情報を一括で更新するので、クライアントはコンテンツ毎に更新要求をサーバに送信する必要がなく、クライアントおよびサーバの処理を軽減でき、ネットワークトラフィックを軽減することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態によるコンテンツ情報更新システム1の構成を示すブロック図である。コンテンツ情報更新システム1は、一または複数のオーディオクライアントCL(本例では、3つのオーディクライアントCL1〜CL3)、および、一または複数のサーバ(本例では1つのサーバSV)を備える。さらに、コンテンツ情報更新システム1は、必要に応じて、一または複数のコントローラ(本例では、1つのコントローラCN)を備える。サーバSV、オーディオクライアントCLおよびコントローラCNは例えばLAN50等のネットワークを介して接続されている。オーディオクライアントCLはサーバSVにコンテンツを要求し、サーバSVは、オーディオクライアントCLからの要求に応じてオーディオクライアントCLにコンテンツを送信する。オーディオクライアントCLは、サーバSVからコンテンツを受信して再生する。コントローラCNは、サーバSVに対してクライアントとして機能し、サーバSVを介してオーディオクラインアントCLを監視および/または制御する。つまり、コントローラCNは、サーバSVからオーディオクライアントCLのクライアント情報を取得して表示する(この動作を監視と呼ぶ)。また、コントローラCNは、サーバSVを介してオーディオクライアントCLに所定の動作(例えば、コンテンツ再生)を実行させるよう指示する(この動作を制御と呼ぶ)。本実施形態では、オーディオクライアントCLおよび/またはコントローラCN(これらを総称して、単にクライアントと呼ぶ)は、サーバSVにコンテンツ情報を更新するコンテンツ情報更新コマンド(後述)を送信し、サーバSVは当該コマンドに応答してコンテンツ情報を更新する。その際に、クライアントは、サーバSVにリスト構築キー(後述)によって特定される複数のコンテンツに関するコンテンツ情報を一括で更新するよう指示する。サーバSVは、リスト構築キーに基づいて、更新すべきコンテンツ情報を検索し、検索したコンテンツ情報を一括で更新する。
【0023】
図2はサーバSVの構成を示す概略ブロック図である。サーバSVは、HDD(ハードディスクドライブ)等の蓄積手段21、CPU処理部等の制御手段22、およびLANコントローラ等の通信手段23を備える。HDD21は、複数のコンテンツ(コンテンツとは、音楽、映像および/または静止画等のデータの総称である)を蓄積する。CPU処理部22は、サーバSV全体の動作を制御するものであり、データベース管理部24、ネットワークプロトコル処理部25およびシステム動作部26を有する。データベース管理部24は、HDD21を管理する。具体的には、データベース管理部24は、オーディオクライアントCLからの要求に応じてHDD21内の所望のコンテンツを選択する。ネットワークプロトコル処理部25は、入出力されるデータに対してプロトコル処理を実行する。システム動作部26は、HDD21に蓄積されたサーバプログラムを読み出し、後述するサーバSVの各種処理を実行する。具体的には、システム動作部26は、クライアントからのコンテンツ情報更新コマンドに応答して、更新すべきコンテンツ情報を検索し、一時的な更新用リストを作成して、更新用リストに含まれるコンテンツ情報を一括で更新する。LANコントローラ23は、サーバSVとLAN50との間で信号(コンテンツデータまたはコマンド等)を送受信する。
【0024】
HDD21には、表1に示すローカルリストLL1が格納されている。
【表1】
【0025】
ローカルリストLL1は、サーバSV1のHDD21が蓄積する全てのコンテンツのリストである。つまり、ローカルリストLL1は、サーバSV1がHDD21内に蓄積する全てのコンテンツデータM11〜M1nに関するコンテンツ情報I11〜I1nを含む。表2にコンテンツ情報I1nの詳細を示す。
【表2】
【0026】
コンテンツ情報I1nはファイル名と、コンテンツ名(例えば、曲名)と、アーティスト名と、アルバム名と、ジャンル名と、コンテンツ(曲)の長さ(時間)と、ファイルフォーマットと、コンテンツ(曲)IDと、サーバ特定情報とを含む。ファイル名には、当該コンテンツデータが蓄積されているHDD21のフルパス名が記録される。サーバ特定情報は、サーバSVの場所を特定するためのサーバアドレスやポート番号等を含む。サーバアドレスとは、そのサーバSVのIP(Internet Protocol)アドレスやMACアドレス等である。コンテンツ情報I1nの曲名、アーティスト名、アルバム名および/またはジャンル名は、オーディオクライントCLまたはコントローラCNからのコンテンツ情報更新コマンドに基づいて更新することができる。なお、コンテンツ情報の更新は、代表的には、コンテンツ情報を変更すること、または削除することを意味する。
【0027】
図3はクライアントCLの構成を示す概略ブロック図である。クライアントCLは、マイコン処理部31等の制御手段と、フラッシュメモリ32と、順次入力された圧縮デジタルコンテンツを一時的に記憶して順次出力するメモリやRAM等のメモリ33と、圧縮デジタルコンテンツをデコードして非圧縮デジタルコンテンツを生成する音声処理部34と、デジタルコンテンツをアナログコンテンツに変換するD/A変換器(DAC)35と、LANコントローラ等の通信手段36と、ユーザからの文字情報等の入力を受け付ける入力装置37と、コンテンツ情報等を表示するLCDなどの表示装置38とを備える。マイコン処理部31は、クライアントCL全体の動作を制御するものであり、ネットワークプロトコル処理部39およびシステム動作部30を有する。ネットワークプロトコル処理部39は、入出力されるデータに対してプロトコル処理を実行する。システム動作部30は、例えばメモリ33に格納されたクライアントプログラムに基づいて、後述するクライアントの各種処理を実行する。具体的には、システム動作部30は、後述するリスト構築キーを含むコンテンツ情報更新コマンドを生成し、サーバSVに送信する。LANコントローラ36は、オーディオクライアントCLとLAN50との間で信号(コンテンツデータまたはコマンド等)を送受信する。
【0028】
図4は、コントローラCNの構成を説明する概略図である。コントローラCNは、マイコン処理部41等の制御手段と、フラッシュメモリ42と、メモリ43と、LANコントローラ等の通信手段44と、ユーザから文字情報等の入力を受け付ける入力装置45と、コンテンツ情報等を表示するLCDなどの表示装置46とを備える。マイコン処理部41は、コントローラCN1全体の動作を制御するものであり、ネットワークプロトコル処理部47およびシステム動作部48を有する。ネットワークプロトコル処理部47は、入出力されるデータをプロトコル処理する。システム動作部48は、メモリ43に格納されたコントローラプログラムに基づいて、後述するコントローラ(オーディオクライアントCLと同様)の各種処理を実行する。具体的には、システム動作部48は、オディオクライアントCLと同様に、後述するリスト構築キーを含むコンテンツ情報更新コマンドを生成し、サーバSVに送信する。LANコントローラ44は、コントローラCNとLAN50との間で信号(コンテンツデータまたはコマンド等)を送受信する。
【0029】
以上の構成を有するコンテンツ情報更新システムについてその動作を説明する。オーディオクライアントCL(またはコントローラCNも同様であるので、以下単にクライアントとして説明する)は、リスト構築キーで特定される更新用リスト内のコンテンツ情報を更新するためのコンテンツ情報更新コマンドをサーバSVに送信する。
【0030】
図5に示すとおり、まず、ユーザはどのコンテンツ情報を一括で更新するかについての情報をクライアントに入力し、クライアントはこれを受け付ける(S501)。具体的には、ユーザは表示装置38に表示されるコンテンツ情報の種別を選択して、さらに当該種別の中で更新すべきコンテンツ情報を選択する。例えば、アーティスト名として「zzz」、アルバム名として「BBB」を選択する。この場合、アーティスト名が「zzz」、かつ、アルバム名が「BBB」であるコンテンツ情報を一括で更新することになる。次に、ユーザは選択されたコンテンツ情報について、どの種別のコンテンツ情報を更新するかを入力する。例えば、アーティスト名とアルバム名とを更新する旨を入力する。次に、ユーザは、コンテンツ情報を変更するか、または削除するかを選択する。最後に、ユーザは更新後のコンテンツ情報を入力する。例えば、アーティスト名として「yyy」、アルバム名として「AAA」を入力する。この入力処理は、コンテンツ情報を削除する場合は不要である。
【0031】
クライアントは、S501でユーザから入力された情報に基づいて、コンテンツ情報更新コマンドを生成する(S502)。表3にコンテンツ情報更新コマンドを示す。
【表3】
【0032】
コンテンツ情報更新コマンドは、リスト構築キーと、更新内容と、対象コンテンツ情報種別と、更新後のコンテンツ情報の文字列(つまり、この文字列に基づいてサーバーはコンテンツ情報を変更する)とを含む。更新内容は、コンテンツ情報を変更する、または削除する旨を示す情報である。対象コンテンツ情報種別は、更新するコンテンツ情報の種別(曲名、アルバム名、アーティスト名またはジャンル名)を表し、表3ではアルバム名とアーティスト名とを更新することを表す。更新後のコンテンツ情報は、対象コンテンツ情報種別に示された種別のコンテンツ情報について更新後のコンテンツ情報を表す。表3では、アルバム名を「AAA」に変更し、アーティスト名を「yyy」に変更することを表す。曲名およびジャンル名は変更しないので、「変更しない」旨が記載されている。なお、コンテンツ情報を削除する場合は、更新後のコンテンツ情報は何も記載されない。リスト構築キーは、一括更新の対象となるコンテンツ情報を含む更新用リストを作成するために使用される情報であり、その詳細を表4に示す。
【表4】
【0033】
リスト構築キーは、フィルタの種類と、キーワードとを含む。フィルタの種類は、ローカルリストLL1内のどの種別に注目して更新用リストを作成するかを指定するものである。フィルタの種類が“TITLE=”、“GENRE=”、“ARTIST=”、“ALBUM=”、または“FILENAME=”であれば、ローカルリストLL1の中から、曲名、ジャンル名、アーティスト名、アルバム名、またはファイル名がキーワードと一致するコンテンツを探し出して更新用リストを作成する。アルバム名BBB、かつ、アーティスト名zzzのコンテンツのコンテンツ情報を一括更新する場合を説明すると、リスト構築キーは表4の通り“ALBUM=BBB”および“ARTIST=zzz”になる。
【0034】
続いて、クライアントは、作成したコンテンツ情報更新コマンドをサーバSVに送信する(S503)。サーバSVは、クライアントからコンテンツ情報更新コマンドを受信して、解析する(S551)。サーバSVはコンテンツ情報更新コマンドに含まれるリスト構築キーに基づいて、更新すべきコンテンツ情報を検索し、更新用リストを作成する(S552)。更新用リストは、コンテンツ情報を一括で更新するためにローカルリストLL1から作成する一時的なリストであり、更新すべきコンテンツ情報が含まれる。更新用リスト作成処理の詳細を図6に示す。
【0035】
サーバSVは、まず、ローカルリストLL1におけるコンテンツ情報の番号を示すインデックスwを1に初期化する(S601)。続いて、サーバSVは、インデックスwが示すコンテンツ情報をリスト構築キーのキーワードと比較し、それらが一致するかを判断する(S602)。本例では、インデックスwが示すコンテンツ情報のアルバム名がリスト構築キーに示された“BBB”であり、かつ、アーティスト名がリスト構築キーに示された“zzz”であるか否かを判断する。一致する場合、サーバSVはそのファイル名、曲名、アーティスト名、アルバム名、ジャンル名、サーバ特定情報などを更新用リストに追加し(S603)、その後、インデックスwをインクリメントする(S604)。一方、一致しない場合(S602:NO)、サーバSVは、S603をスキップし、直ちにインデックスwをインクリメントする(S604)。
【0036】
続いて、サーバSVは、インデックスwが示すコンテンツ情報の番号が全コンテンツ数n以下であるか否かを判断し(S605)、以下である場合(S605:YES)、S602に戻り、一方、大きい場合(S605:NO)、更新用リストの作成を完了する。上記の処理により、サーバSVはリスト構築キーによって特定されるコンテンツ情報だけをローカルリストLL1からピックアップし、更新用リストを作成する。作成された更新用リストを表5に示す。
【表5】
【0037】
図5に戻って、サーバSVは、ローカルリストLL1内のコンテンツ情報の中で、更新用リストに含まれるコンテンツ情報をコンテンツ情報更新コマンドに基づいて更新する(S553)。コンテンツ情報更新処理の詳細を図7に示す。まず、サーバSVは、更新用リストのコンテンツの番号を示すインデックスxを1に初期化する(S701)。次に、サーバSVは、インデックスxが示すコンテンツの番号が更新用リスト内の全コンテンツ数n以下であるかを判断する(S702)。全コンテンツ数n以下である場合(S702:YES)、サーバSVは、コンテンツ情報更新コマンド内の更新内容が変更であるかを判断する(S703)。更新内容が変更である場合(S703:YES)、サーバSVは、ローカルリストLL1のコンテンツ情報の中で、インデックスxが示すコンテンツのコンテンツ情報を更新する(S704)。具体的には、サーバSVは、コンテンツ情報更新コマンドの対象コンテンツ情報種別に対応するコンテンツ情報を、コンテンツ情報更新コマンドに示されたコンテンツ情報に更新する。本例では、対象コンテンツ情報種別がアルバム名とアーティスト名であるので、インデックスxで特定されるコンテンツのアルバム名を“AAA”に、アーティスト名を“yyy”に変更するようローカルリストLL1を更新する。なお、ローカルリストLL1内のどのコンテンツ情報を更新するかは、更新用リスト内のファイル名によって特定される。
【0038】
次に、サーバSVはインデックスxをインクリメントし(S705)、S702に戻る。以上の処理を繰り返していると、S702においてサーバSVはインデックスxが更新用リストの全コンテンツ数より大きいと判断し(S702:NO)、サーバSVはコンテンツ情報の更新処理を完了する。従って、更新用リストに含まれる全てのコンテンツ情報を更新することができる。なお、S703で更新内容が変更でないと判断された場合(S703:NO)、更新内容が削除であるかを判断する(S706)。更新内容が削除である場合、インデックスxが示すコンテンツのコンテンツ情報の中で、対象コンテンツ情報種別に対応するコンテンツ情報を削除するよう、ローカルリストLL1を更新する(S707)。一方、S706で更新内容が削除でない場合、コンテンツ情報更新コマンドが誤りであると判断され、S705においてインデックスxが直ちにインクリメントされる。
【0039】
図5に戻って、サーバSVは、更新用リストに含まれるコンテンツ情報を全て更新すると、更新用リストは不要であるので、更新用リストを削除する(S554)。更新用リストをすぐに削除することにより、無駄なメモリの使用を防止することができる。
【0040】
以上のように、クライアントはリスト構築キーを含むコンテンツ情報更新コマンドをサーバSVに送信する。サーバSVはリスト構築キーに基づいて一時的な更新用リストを作成し、更新用リストに含まれるコンテンツのコンテンツ情報をコンテンツ情報更新コマンドに基づいて一括して更新する。従って、クライアントはコンテンツ情報を更新すべきコンテンツ毎に、更新コマンドを送信する必要がないので、クライアントおよびサーバSVの処理が軽減され、ネットワークトラフィックが軽減される。
【0041】
次に、本発明の別の好ましい実施形態について説明する。図8は本例のコンテンツ情報更新システム81の構成を示すブロック図である。コンテンツ情報更新システム81は、図1の構成にさらに、サーバSV2およびSV3を備えている。サーバSV1〜SV3はLAN50等を介して相互に接続される。サーバSV2、SV3の構成はサーバSV1と同様である。サーバSV2は、自身のHDD21に蓄積する全コンテンツデータM21〜M2nに関するコンテンツ情報I21〜I2mを含むローカルリストLL2をHDD21に格納する。サーバSV3は、自身のHDD21に蓄積する全コンテンツデータM31〜M3nに関するコンテンツ情報I31〜I3lを含むローカルリストLL3をHDD21に格納する。サーバSV1〜SV3は、自身のローカルリストを他の全てのサーバに送信する。サーバSV1〜SV3は、他のサーバから受信したローカルリストと自身のローカルリストとに基づいてグローバルリストGLを作成する。グローバルリストGLは、ローカルリストLL1〜LL3を合成したリストであり、サーバSV1〜SV3が蓄積する全コンテンツのコンテンツ情報を含む。サーバSV1〜SV3がグローバルリストGLを格納しているので、オーディオクライアントCLまたはコントローラCNは、サーバSV1〜SV3のいずれか1つに接続してグローバルリストを取得することにより、全サーバSV1〜SV3が蓄積するコンテンツを知ることができる。この様なシステムにおいて、上記の実施形態と同様に、サーバSV1〜SV3はクライアントからコンテンツ情報更新コマンドを受信して、コンテンツ情報を一括で更新する。しかし、クライアントが各サーバに接続し、コンテンツ情報更新コマンドを送信すると、クライアントの処理に負担がかかるので、クライアントはサーバSV1(第1のサーバ)のみにコンテンツ情報更新コマンドを送信し、サーバSV1が他のサーバSV2、SV3(第2のサーバ)にコンテンツ情報更新コマンドを転送する。以下、詳細に説明する。
【0042】
サーバSV1(SV2、SV3も同様である)のHDD21には、表6に示すサーバリストがさらに格納されている。サーバリストは、サーバSV1に接続されている他のサーバの情報を管理するリストである。
【表6】
【0043】
サーバリストは、サーバIDとサーバ情報とを含む。サーバIDはサーバSV1と接続した他のサーバSV2およびSV3の識別子である。サーバIDはサーバSV1の接続要求に応答した順番に登録される。サーバSV1の接続要求に始めに応答したのがサーバSV2であり、次に応答したのがサーバSV3である場合、サーバID=1にはサーバSV2のサーバ情報が登録され、サーバID=2には、サーバSV3のサーバ情報が登録される。サーバ情報の一例としてサーバSV2のサーバ情報を表7に示す。
【表7】
【0044】
サーバ情報は、サーバ特定情報と、サーバ名と、ローカルリストLL2と、サーバタイプとを含む。サーバ特定情報は、サーバSV2の場所を特定するためのサーバアドレスやポート番号等を含む。サーバアドレスとは、そのサーバSVのIP(Internet Protocol)アドレスやMACアドレス等である。ローカルリストLL2は、先述の通り、サーバSV2に蓄積されているコンテンツデータM21〜M2nのコンテンツ情報を含むリストである。ローカルリストLL2の構成は、表1のローカルリストLL1と同様であり、複数のコンテンツ情報I21〜I2mを含む。コンテンツ情報I21〜I2mは、表2のコンテンツ情報I11〜I1nと同様である。サーバタイプは、サーバSV2がコンテンツ情報更新コマンドに応答してコンテンツ情報を一括更新できるか否かの情報を含む。
【0045】
サーバSV1(SV2、SV3も同様である)のHDD21には、表8に示すグローバルリストGLがさらに格納されている。
【表8】
【0046】
グローバルリストGLは、ローカルリストLL1〜LL3を合成したものであり、サーバSV1〜SV3が蓄積する全コンテンツのコンテンツ情報I11〜I1n、I21〜I2m、I31〜I3lを含む。サーバSV1がオーディオクライアントCLからコンテンツリストの要求を受けたとき、サーバSV1はグローバルリストGLに基づいて、ユーザが特定するコンテンツリストを作成し、オーディオクライアントCLに送信する。
【0047】
以上の構成を有するコンテンツ情報更新システム81についてその動作を説明する。図9は、本例の動作を示す図であり、図5と同じ処理については同じ符号を付し説明を省略する。サーバSV1は、クライアントからコンテンツ情報更新コマンドを受信すると(S551)、コンテンツ情報更新コマンドをサーバリストに基づいて自身に接続されている他のサーバSV2、SV3に転送する(S901)。S901の詳細を図10に示す。
【0048】
まず、サーバSV1は、サーバリスト内にサーバ情報が存在するか否かを判断する(S1001)。サーバリストにサーバ情報が存在しない場合、サーバSV1に接続されているサーバは存在しないので、コンテンツ情報更新コマンドの転送処理を完了する。サーバリストにサーバ情報が存在する場合(S1001:YES)、サーバSV1は、サーバリストにおけるサーバ情報の番号を示すインデックスyを1に初期化する(S1002)。次に、サーバSV1は、インデックスyが示すサーバ情報の番号が全サーバ情報数以下であるかを判断し(S1003)、全サーバ情報数以下である場合(S1003:YES)、インデックスyが示す番号のサーバ(例えば、サーバSV2)がコンテンツ情報更新コマンドに対応しているかを表7のサーバ情報に含まれるサーバタイプに基づいて判断する(S1004)。サーバSV2がコンテンツ情報更新コマンドに対応している場合(S1004:YES)、サーバSV1はサーバSV2にコンテンツ情報更新コマンドを転送する(S1005)。サーバSV2のアドレスは、表7のサーバ特定情報に基づいて特定される。その後、サーバSV1はインデックスyをインクリメントし(S1006)、S1003に戻る。以下、同様にサーバリストに含まれる全てのサーバについて同様の処理を実行する。以上のようにサーバリストに含まれるサーバがコンテンツ情報更新コマンドに対応している場合、当該サーバにコンテンツ情報更新コマンドを転送する。サーバリストにはサーバSV1に接続されているサーバの情報を全て含むので、サーバSV1は、自身に接続されている全てのサーバにコンテンツ情報更新コマンドを転送できる。一方、サーバSVがコンテンツ情報更新コマンドに対応していない場合(S1004:NO)、サーバSV1は旧来の方法でコンテンツ情報毎に更新コマンドをサーバに送信する(S1007)。S1007の詳細は後述する。
【0049】
図9に戻って、サーバSV1のS552以降の処理は図5と同様である。また、コンテンツ情報更新コマンドをサーバSV1から受信したサーバSV2は、サーバSV1と同様に更新用リストを作成し、更新用リストに含まれるコンテンツ情報をコンテンツ情報更新コマンドに基づいて更新する(S551〜S554)。この処理も、図5の場合と同様である。
【0050】
以上のように、本例によると、複数のサーバSV1〜SV3が存在する場合に、クライアントは自身が接続するサーバSV1にコンテンツ情報更新コマンドを送信するだけで、サーバSV1〜SV3が格納する全てのローカルリストを更新することができる。
【0051】
ここで、図10のS1007の詳細を図11を参照して説明する。本例では、サーバSV3がコンテンツ情報更新コマンドに対応していないとする。まず、サーバSV1はサーバSV3のローカルリストLL3およびリスト構築キーに基づいて更新用リストを作成する(S1101)。次に、サーバSV1は、更新用リストのコンテンツの番号を示すインデックスzを1に初期化する(S1102)。次に、サーバSV1は、インデックスzが示すコンテンツの番号が更新用リスト内の全コンテンツ数n以下であるかを判断する(S1103)。全コンテンツ数n以下である場合(S1103:YES)、インデックスzが示すコンテンツのコンテンツ情報を更新するようにサーバSV3にコマンドを送信する(S1104)。このコマンドには、コンテンツIDと、更新すべきコンテンツ情報の種別と、更新後のコンテンツ情報とを含む。その後、インデックスzをインクリメントして(S1105)、S1103に戻る。サーバSV3は、このコマンドを受信すると、指定されたコンテンツIDのコンテンツ情報を受信したコンテンツ情報に更新する。以上の動作により、サーバSV3がコンテンツ情報更新コマンドに基づいてコンテンツ情報を一括更新できない場合、サーバSV1はサーバSV3にコンテンツ情報毎に更新コマンドを送信し、サーバSV3はコンテンツ情報毎に更新コマンドを受信して、コンテンツ情報を更新する。
【0052】
次に、本発明のさらに別の好ましい実施形態について説明する。本例は、図8〜図11に示した前の実施形態において、サーバSV1から他のサーバへ不要なコンテンツ情報更新コマンドを転送しないようにしたものである。つまり、実際にコンテンツ情報を更新する必要があるサーバSVのみにコンテンツ情報更新コマンドを転送するようにする。
【0053】
図12は本例の動作を説明する図であり、図9と同一の処理については同一の符号を付し、説明を省略する。サーバSV1は、クライアントからコンテンツ情報更新コマンドを受信すると(S551)、サーバSV1のローカルリストLL1ではなく、グローバルリストGLに基づいて更新用リストを作成する(S1201)。更新用リスト作成の詳細は、図6のローカルリストLL1に基づく更新用リスト作成と同様である。グローバルリストGLは、サーバSV1〜SV3が蓄積する全てのコンテンツのコンテンツ情報を含むので、グローバルリストGLから更新用リストを作成することにより、サーバSV1〜SV3が蓄積するコンテンツ情報の中で、更新する必要のあるコンテンツ情報を全て抽出することができる。次に、サーバSV1は、作成した更新用リストに基づいて、自身が格納するローカルリストLL1内のコンテンツ情報を更新し、または、自身に接続されている他のサーバSV2、SV3にコンテンツ情報更新コマンドを転送する(S1202)。ここで、S1202の詳細を図13に示す。
【0054】
まず、サーバSV1は、更新用リストのコンテンツの番号を示すインデックスpを1に初期化する(S1301)。次に、サーバSV1は、インデックスpが示すコンテンツの番号が更新用リスト内の全コンテンツ数n以下であるかを判断する(S1302)。全コンテンツ数n以下である場合(S1302:YES)、サーバSV1は、インデックスpが示すコンテンツがサーバSV1が蓄積するコンテンツであるか否かを判断する(S1303)。具体的には、サーバSV1は、表5の更新用リスト内のサーバ特定情報を参照することにより、サーバSV1が蓄積するコンテンツであるか否かを判断する。サーバSV1が蓄積するコンテンツである場合(S1303:YES)、サーバSV1は自身のローカルリストLL1のコンテンツ情報を更新(変更又は削除)する(S703、S704、S706、S707)。この処理は、図7と同じである。次に、インデックスpをインクリメントし(S1304)、S1302に戻る。
【0055】
一方、S1303において、インデックスpが示すコンテンツがサーバSV1以外(例えば、サーバSV2)が蓄積するコンテンツである場合(S1303:NO)、該当するサーバSV2にコンテンツ情報更新コマンドを転送済であるか否かを判断する(S1305)。未だサーバSV2にコンテンツ情報更新コマンドを転送していない場合(S1305:NO)、サーバSV1はコンテンツ情報更新コマンドをサーバSV2に転送する(S1306)。サーバSV1は、サーバSV2にコンテンツ情報更新コマンドを転送済であることを図示しないメモリ等に記憶する(S1307)。従って、S1303で、更新用リストに含まれる他のコンテンツがサーバSV2に蓄積されているコンテンツであると判断されても、S1305で既にサーバSV2にコンテンツ情報更新コマンドを転送済であると判断されるので(S1305:YES)、サーバSV2に重複してコンテンツ情報更新コマンドが転送されることを防止できる。
【0056】
なお、S1302でインデックスpが更新用リストのコンテンツ数より大きいと判断されると(S1302:NO)、S1307で記憶された、サーバにコンテンツ情報更新コマンドを転送した旨の情報を削除し(S1308)、処理を完了する。
【0057】
以上のように、本例によると、サーバSV1はグローバルリストから更新用リストを作成し、更新用リストに含まれるコンテンツを蓄積するサーバのみにコンテンツ情報更新コマンドを転送する。従って、コンテンツ情報を更新する必要がないサーバにコンテンツ情報更新コマンドが転送されることがなく、クライアントおよびサーバの処理を軽減でき、ネットワークトラフィックを軽減することができる。
【0058】
次に本発明のさらに別の好ましい実施形態について説明する。本例では、サーバSV1は、コンテンツ情報更新コマンドを受信すると、更新リストを作成することなく、リスト構築キーによって特定される複数のコンテンツ情報を検索しながら、検索されたコンテンツ情報をその都度更新する。更新用リストを作成しないので、サーバSV1の処理がさらに簡素化される。図14、図15を参照して詳細に説明するが、前の実施形態(図5〜図7)と同一処理には同一符号を付し、説明を省略する。
【0059】
図14に示すとおり、サーバSVは、クライアントからコンテンツ情報更新コマンドを受信すると(S551)、更新用リストを作成することなく、コンテンツ情報を更新する(S1401)。S1401の詳細を図15に示す。サーバSVは、まず、ローカルリストLL1におけるコンテンツ情報の番号を示すインデックスwを1に初期化する(S601)。続いて、サーバSVは、インデックスwが示すコンテンツ情報をリスト構築キーのキーワードと比較し、それらが一致するかを判断する(S602)。本例では、インデックスwが示すコンテンツ情報のアルバム名がリスト構築キーに示された“BBB”であり、かつ、アーティスト名がリスト構築キーに示された“zzz”であるか否かを判断する。一致する場合、サーバSVはそのコンテンツ情報を更新する(S1501)。具体的には、対称コンテンツ情報種別がアルバム名とアーティスト名であるので、インデックスwで特定されるコンテンツのアルバム名を“AAA”に、アーティスト名を“yyy”に変更する。その後、インデックスwをインクリメントする(S604)。一方、一致しない場合(S602:NO)、サーバSVは、S1501をスキップし、直ちにインデックスwをインクリメントする(S604)。
【0060】
続いて、サーバSVは、インデックスwが示すコンテンツ情報の番号が全コンテンツ数n以下であるか否かを判断し(S605)、以下である場合(S605:YES)、S602に戻り、一方、大きい場合(S605:NO)、コンテンツ情報の更新を完了する。上記の処理により、サーバSVはリスト構築キーによって特定されるコンテンツ情報だけをローカルリストLL1からピックアップし、更新することができる。
【0061】
なお、本例のようにリスト構築キーを作成せずにコンテンツ情報を検索するたびにコンテンツ情報を更新する方法を、図8〜図13で説明した複数サーバの場合にも適用可能である。例えば、図16に示す通り、グローバルリストに含まれるコンテンツ情報をリスト構築キーに基づいて検索して(S1602、S1603、S1614)、一致する際に(S1603:YES)、自身が蓄積するコンテンツ情報であれば(S1604:YES)、そのコンテンツ情報を更新し(S1605〜S1608)、他のサーバが蓄積するコンテンツ情報であれば(S1604:NO)、そのサーバにコンテンツ情報更新コマンドを転送することができる(S1610〜S1612)。
【0062】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。例えば、アルバム名およびアーティと名とをフィルタの種類として更新用リストを作成し、アルバム名のみを更新してもよい。さらに、クライアントがサーバSV2にコンテンツ情報更新コマンドを送信し、サーバSV2がサーバSV1、SV3にコンテンツ情報更新コマンドを転送することもできる。この場合、サーバSV2が第1のサーバ、サーバSV1、SV3が第2のサーバとして機能する。さらに、サーバSV1がサーバSV2のローカルリストを更新して、サーバSV2に送信することもできる。また、上記のサーバ、クライアントおよびコントローラを動作させるためのコンピュータプログラムという形態で提供されても構わない。
【産業上の利用可能性】
【0063】
本発明は、オーディオクライアントからのコンテンツ要求に対してサーバがコンテンツを送信し、オーディオクライアントがコンテンツを再生するコンテンツ再生システムに好適に適用され得る。
【図面の簡単な説明】
【0064】
【図1】本発明の好ましい実施形態によるコンテンツ情報更新システムの構成を示すブロック図である。
【図2】サーバの構成を示すブロック図である。
【図3】オーディオクライアントの構成を示すブロック図である。
【図4】コントローラの構成を示すブロック図である。
【図5】コンテンツ情報更新システムの動作を説明するフローチャートである。
【図6】更新用リスト作成処理を説明するフローチャートである。
【図7】サーバのコンテンツ情報更新処理を説明するフローチャートである。
【図8】本発明の別の好ましい実施形態によるコンテンツ情報更新システムの構成を示すブロック図である。
【図9】コンテンツ情報更新システムの動作を説明するフローチャートである。
【図10】コンテンツ情報更新コマンド転送処理を示すフローチャートである。
【図11】図10のS1007の詳細を説明するフローチャートである。
【図12】コンテンツ情報更新システムの動作を説明するフローチャートである。
【図13】S1202の詳細を説明するフローチャートである。
【図14】コンテンツ情報更新システムの動作を説明するフローチャートである。
【図15】S1401の詳細を示すフローチャートである。
【図16】コンテンツ情報更新システムの動作を説明するフローチャートである。
【符号の説明】
【0065】
1 コンテンツ情報更新システム
26 システム動作部
30 システム動作部
【特許請求の範囲】
【請求項1】
サーバと該サーバに接続可能なクライアントとを備え、
該クライアントが、リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有し、
該サーバが、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、
該クライアントからのコンテンツ情報更新要求に応答して、該記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索手段と、
該検索手段が検索したコンテンツ情報を更新する更新手段とを有する、コンテンツ情報更新システム。
【請求項2】
前記サーバーが、
前記検索手段が検索したコンテンツ情報を含む更新用リストを作成する更新用リスト作成手段をさらに有し、
前記更新手段が、前記記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する、請求項1に記載のコンテンツ情報更新システム。
【請求項3】
前記コンテンツ情報更新要求が、更新すべきコンテンツ情報の種別を特定する対象コンテンツ情報種別と、コンテンツ情報とを含み、
前記更新手段が、該対象コンテンツ情報種別で特定される種別のコンテンツ情報を、該コンテンツ情報更新要求に含まれるコンテンツ情報に更新する、請求項1または2に記載のコンテンツ情報更新システム。
【請求項4】
複数の前記サーバを備え、
前記更新要求手段が、該複数のサーバのうち、第1のサーバに前記コンテンツ情報更新要求を送信し、
該第1のサーバが、該第1のサーバに接続されている第2のサーバに該コンテンツ情報更新要求を転送する要求転送手段をさらに有する、請求項2または3に記載のコンテンツ情報更新システム。
【請求項5】
前記第1のサーバが、該第1のサーバ、および該第1のサーバに接続されている第2のサーバが蓄積する全てのコンテンツのコンテンツ情報を含むグローバルリストを蓄積可能であり、
該第1のサーバの前記更新用リスト作成手段が、該グローバルリストに基づいて更新用リストを作成し、
該第1のサーバの前記更新手段が、該更新用リストに含まれる該第1のサーバが蓄積するコンテンツのコンテンツ情報を更新し、
該第1のサーバの前記要求転送手段が、該更新用リストに含まれるコンテンツを蓄積する第2のサーバに該コンテンツ情報更新コマンドを転送する、請求項4に記載のコンテンツ情報更新システム。
【請求項6】
複数の前記サーバを備え、
前記更新要求手段が、該複数のサーバのうち、第1のサーバに前記コンテンツ情報更新要求を送信し、
該第1のサーバが、該第1のサーバに接続されている第2のサーバに該コンテンツ情報更新要求を転送する要求転送手段をさらに有し、
該第1のサーバが、該第1のサーバ、および該第1のサーバに接続されている第2のサーバが蓄積する全てのコンテンツのコンテンツ情報を含むグローバルリストを蓄積可能であり、
該第1のサーバの前記検索手段が該グローバルリストに含まれるコンテンツ情報の中から、前記リスト構築キーによって特定されるコンテンツ情報を検索し、
該第1のサーバの前記更新手段が、該検索手段によって検索され、該第1のサーバが蓄積するコンテンツ情報を更新し、
該要求転送手段が、該検索手段によって検索されたコンテンツ情報を蓄積する第2のサーバに該コンテンツ情報更新コマンドを転送する、請求項1に記載のコンテンツ情報更新システム。
【請求項7】
サーバと該サーバに接続可能なクライアントとを備え、
該クライアントが、更新用リストに含まれるコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有し、
該サーバが、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、
該クライアントからのコンテンツ情報更新要求に応答して、更新すべきコンテンツ情報を含む該更新用リストを作成する更新用リスト作成手段と、
該記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する更新手段とを有する、コンテンツ情報更新システム。
【請求項8】
複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスを有するサーバに接続可能であり、
リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有する、クライアント。
【請求項9】
リスト構築キーを含むコンテンツ情報更新要求を送信するクライアントに接続可能であり、
複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、
該クライアントからのコンテンツ情報更新要求に応答して、該記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索手段と、
該検索手段が検索したコンテンツ情報を更新する更新手段とを有する、サーバ。
【請求項10】
前記検索手段が検索したコンテンツ情報を含む更新用リストを作成する更新用リスト作成手段をさらに有し、
前記更新手段が、前記記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する、請求項9に記載のサーバ。
【請求項11】
前記コンテンツ情報更新要求が、更新すべきコンテンツ情報の種別を特定する対象コンテンツ情報種別と、コンテンツ情報とを含み、
前記更新手段が、該対象コンテンツ情報種別で特定される種別のコンテンツ情報を、該コンテンツ情報更新要求に含まれるコンテンツ情報に更新する、請求項9または10に記載のサーバ。
【請求項12】
コンテンツ情報更新要求を送信するクライアントに接続可能であり、
複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、
該クライアントからのコンテンツ情報更新要求に応答して、更新すべきコンテンツ情報を含む該更新用リストを作成する更新用リスト作成手段と、
該記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する更新手段とを有する、サーバ。
【請求項13】
複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスを有するサーバに接続可能なクライアントに、
リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求ステップを実行させる、クライアントプログラム。
【請求項14】
リスト構築キーを含むコンテンツ情報更新要求を送信するクライアントに接続可能であり、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスを有するサーバに、
該クライアントからのコンテンツ情報更新要求に応答して、該記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索ステップと、
該検索ステップにおいて検索されたコンテンツ情報を更新する更新ステップとを実行させる、サーバプログラム。
【請求項15】
前記検索手段が検索したコンテンツ情報を含む更新用リストを作成する更新用リスト作成ステップをさらに前記サーバに実行させ、
前記更新ステップが、前記記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する、請求項14に記載のサーバプログラム。
【請求項16】
前記コンテンツ情報更新要求が、更新すべきコンテンツ情報の種別を特定する対象コンテンツ情報種別と、コンテンツ情報とを含み、
前記更新ステップが、該対象コンテンツ情報種別で特定される種別のコンテンツ情報を、該コンテンツ情報更新要求に含まれるコンテンツ情報に更新する、請求項14または15に記載のサーバプログラム。
【請求項17】
リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を発行する更新要求ステップと、
該コンテンツ情報更新要求に応答して、記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索ステップと、
該検索ステップにおいて検索されたコンテンツ情報を更新する更新ステップとを含む、コンテンツ情報更新方法。
【請求項1】
サーバと該サーバに接続可能なクライアントとを備え、
該クライアントが、リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有し、
該サーバが、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、
該クライアントからのコンテンツ情報更新要求に応答して、該記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索手段と、
該検索手段が検索したコンテンツ情報を更新する更新手段とを有する、コンテンツ情報更新システム。
【請求項2】
前記サーバーが、
前記検索手段が検索したコンテンツ情報を含む更新用リストを作成する更新用リスト作成手段をさらに有し、
前記更新手段が、前記記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する、請求項1に記載のコンテンツ情報更新システム。
【請求項3】
前記コンテンツ情報更新要求が、更新すべきコンテンツ情報の種別を特定する対象コンテンツ情報種別と、コンテンツ情報とを含み、
前記更新手段が、該対象コンテンツ情報種別で特定される種別のコンテンツ情報を、該コンテンツ情報更新要求に含まれるコンテンツ情報に更新する、請求項1または2に記載のコンテンツ情報更新システム。
【請求項4】
複数の前記サーバを備え、
前記更新要求手段が、該複数のサーバのうち、第1のサーバに前記コンテンツ情報更新要求を送信し、
該第1のサーバが、該第1のサーバに接続されている第2のサーバに該コンテンツ情報更新要求を転送する要求転送手段をさらに有する、請求項2または3に記載のコンテンツ情報更新システム。
【請求項5】
前記第1のサーバが、該第1のサーバ、および該第1のサーバに接続されている第2のサーバが蓄積する全てのコンテンツのコンテンツ情報を含むグローバルリストを蓄積可能であり、
該第1のサーバの前記更新用リスト作成手段が、該グローバルリストに基づいて更新用リストを作成し、
該第1のサーバの前記更新手段が、該更新用リストに含まれる該第1のサーバが蓄積するコンテンツのコンテンツ情報を更新し、
該第1のサーバの前記要求転送手段が、該更新用リストに含まれるコンテンツを蓄積する第2のサーバに該コンテンツ情報更新コマンドを転送する、請求項4に記載のコンテンツ情報更新システム。
【請求項6】
複数の前記サーバを備え、
前記更新要求手段が、該複数のサーバのうち、第1のサーバに前記コンテンツ情報更新要求を送信し、
該第1のサーバが、該第1のサーバに接続されている第2のサーバに該コンテンツ情報更新要求を転送する要求転送手段をさらに有し、
該第1のサーバが、該第1のサーバ、および該第1のサーバに接続されている第2のサーバが蓄積する全てのコンテンツのコンテンツ情報を含むグローバルリストを蓄積可能であり、
該第1のサーバの前記検索手段が該グローバルリストに含まれるコンテンツ情報の中から、前記リスト構築キーによって特定されるコンテンツ情報を検索し、
該第1のサーバの前記更新手段が、該検索手段によって検索され、該第1のサーバが蓄積するコンテンツ情報を更新し、
該要求転送手段が、該検索手段によって検索されたコンテンツ情報を蓄積する第2のサーバに該コンテンツ情報更新コマンドを転送する、請求項1に記載のコンテンツ情報更新システム。
【請求項7】
サーバと該サーバに接続可能なクライアントとを備え、
該クライアントが、更新用リストに含まれるコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有し、
該サーバが、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、
該クライアントからのコンテンツ情報更新要求に応答して、更新すべきコンテンツ情報を含む該更新用リストを作成する更新用リスト作成手段と、
該記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する更新手段とを有する、コンテンツ情報更新システム。
【請求項8】
複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスを有するサーバに接続可能であり、
リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求手段を有する、クライアント。
【請求項9】
リスト構築キーを含むコンテンツ情報更新要求を送信するクライアントに接続可能であり、
複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、
該クライアントからのコンテンツ情報更新要求に応答して、該記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索手段と、
該検索手段が検索したコンテンツ情報を更新する更新手段とを有する、サーバ。
【請求項10】
前記検索手段が検索したコンテンツ情報を含む更新用リストを作成する更新用リスト作成手段をさらに有し、
前記更新手段が、前記記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する、請求項9に記載のサーバ。
【請求項11】
前記コンテンツ情報更新要求が、更新すべきコンテンツ情報の種別を特定する対象コンテンツ情報種別と、コンテンツ情報とを含み、
前記更新手段が、該対象コンテンツ情報種別で特定される種別のコンテンツ情報を、該コンテンツ情報更新要求に含まれるコンテンツ情報に更新する、請求項9または10に記載のサーバ。
【請求項12】
コンテンツ情報更新要求を送信するクライアントに接続可能であり、
複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスと、
該クライアントからのコンテンツ情報更新要求に応答して、更新すべきコンテンツ情報を含む該更新用リストを作成する更新用リスト作成手段と、
該記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する更新手段とを有する、サーバ。
【請求項13】
複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスを有するサーバに接続可能なクライアントに、
リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を該サーバに送信する更新要求ステップを実行させる、クライアントプログラム。
【請求項14】
リスト構築キーを含むコンテンツ情報更新要求を送信するクライアントに接続可能であり、複数のコンテンツ、および該コンテンツに関するコンテンツ情報を蓄積可能な記憶デバイスを有するサーバに、
該クライアントからのコンテンツ情報更新要求に応答して、該記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索ステップと、
該検索ステップにおいて検索されたコンテンツ情報を更新する更新ステップとを実行させる、サーバプログラム。
【請求項15】
前記検索手段が検索したコンテンツ情報を含む更新用リストを作成する更新用リスト作成ステップをさらに前記サーバに実行させ、
前記更新ステップが、前記記憶デバイスに蓄積されたコンテンツ情報の中で、該更新用リストに含まれるコンテンツ情報を更新する、請求項14に記載のサーバプログラム。
【請求項16】
前記コンテンツ情報更新要求が、更新すべきコンテンツ情報の種別を特定する対象コンテンツ情報種別と、コンテンツ情報とを含み、
前記更新ステップが、該対象コンテンツ情報種別で特定される種別のコンテンツ情報を、該コンテンツ情報更新要求に含まれるコンテンツ情報に更新する、請求項14または15に記載のサーバプログラム。
【請求項17】
リスト構築キーを含み、該リスト構築キーによって特定される複数のコンテンツ情報を更新するコンテンツ情報更新要求を発行する更新要求ステップと、
該コンテンツ情報更新要求に応答して、記憶デバイスに蓄積されたコンテンツ情報の中で、該リスト構築キーによって特定されるコンテンツ情報を検索する検索ステップと、
該検索ステップにおいて検索されたコンテンツ情報を更新する更新ステップとを含む、コンテンツ情報更新方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2006−343966(P2006−343966A)
【公開日】平成18年12月21日(2006.12.21)
【国際特許分類】
【出願番号】特願2005−168505(P2005−168505)
【出願日】平成17年6月8日(2005.6.8)
【出願人】(000000273)オンキヨー株式会社 (502)
【Fターム(参考)】
【公開日】平成18年12月21日(2006.12.21)
【国際特許分類】
【出願日】平成17年6月8日(2005.6.8)
【出願人】(000000273)オンキヨー株式会社 (502)
【Fターム(参考)】
[ Back to top ]