カラオケネットワークシステム及びカラオケ装置
【課題】コンテンツの取得状況が異なる複数のカラオケ装置間で、最新のコンテンツを効率よく配信できるようにするための技術を提供すること。
【解決手段】最新のコンテンツの保有量が最も多いカラオケ装置4をマスタ機として選択する(S140)。このように、全カラオケ装置4のうちコンテンツ取得権限を所有するマスタ機として好適なカラオケ装置4をマスタ機として選択した後に、選択されたマスタ機が店舗内の各スレイブ機から最新コンテンツを取得することにより自らが最新状態となった上でホストとの通信を実行する(S150、S160、S170)。これにより、マスタ機がホストから最新コンテンツを取得するための送受信量を低減させるとともに前記送受信に要する時間も低減することができる。
【解決手段】最新のコンテンツの保有量が最も多いカラオケ装置4をマスタ機として選択する(S140)。このように、全カラオケ装置4のうちコンテンツ取得権限を所有するマスタ機として好適なカラオケ装置4をマスタ機として選択した後に、選択されたマスタ機が店舗内の各スレイブ機から最新コンテンツを取得することにより自らが最新状態となった上でホストとの通信を実行する(S150、S160、S170)。これにより、マスタ機がホストから最新コンテンツを取得するための送受信量を低減させるとともに前記送受信に要する時間も低減することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カラオケ店舗内のネットワークに接続されたカラオケ装置間でコンテンツを複製する技術に関する。
【背景技術】
【0002】
従来、カラオケ装置で再生するコンテンツを、広域ネットワーク(以下、WAN)を介してコンテンツ配信用のホストサーバから全国の各カラオケ店舗(例えばカラオケボックス)に設置されたカラオケ装置へ配信するカラオケネットワークシステムが広く普及している。
【0003】
近年、カラオケ店舗に設置されるカラオケ装置の多くは、個別に大容量の記憶手段を備えており、自カラオケ装置で再生するコンテンツを蓄積できるようになっている。このようなカラオケ装置で構成されるカラオケネットワークシステムにおいては、コンテンツ配信用のホストサーバと、店舗内に設置されている複数のカラオケ装置のうちのホストサーバとの通信権限のある代表のカラオケ装置(以下、マスタ機と称する)を予め設定し、前記マスター機とホスト機とがWANを介して通信することで、ホストサーバからマスタ機へコンテンツが配信される(1次配信)。そして、マスタ機に配信されたコンテンツは、カラオケ店舗内に配されたLAN(Local Area Network)等のネットワークを介して、マスタ機から当該カラオケ店舗内でマスタ機の管理下にあるカラオケ装置(以下、スレイブ機)へとコピーされることで、カラオケ店舗内の各カラオケ装置へ配信される(2次配信)。このようにすることで、ホストサーバから直接コンテンツの配信を受けるカラオケ装置の台数を減らすことができ、ホストサーバとマスタ機とによる1次配信における通信負荷を低減することができる(例えば、特許文献1)。
【特許文献1】特開2004−170529号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、カラオケ装置で再生されるコンテンツは、通常の演奏データ(MIDIデータ等)の他、実際の演奏音声をサンプリングした高音質の生音楽曲やプロモーションビデオ(PV)映像、CM映像等、多種多様化しており、そのコンテンツ数やコンテンツ毎のデータ量も年々増加傾向にある。
【0005】
このような現状において、次のような問題点がある。マスタ機が最新コンテンツを未だ取得していない店舗内のLANに、故障したカラオケ装置の代替機として最新コンテンツを保有するカラオケ装置が持ち込まれることがある。LAN上に既存のマスタ機が接続している場合、代替機として持ち込まれたカラオケ装置はスレイブ機として動作する。このとき、その店舗内の他のスレイブ機は、LAN上に最新のコンテンツを保有するカラオケ装置が存在するにも関わらず、マスタ機は最新のコンテンツを保有していないため、ホストからWANを介して最新のコンテンツが1次配信される。
また、スレイブ機はマスタ機からしかコンテンツの配信を受けないため、マスタ機がホストサーバから最新のコンテンツの1次配信を受けて2次配信を行うまで、最新のコンテンツを保有する状態にならない。よって、代替機を含む全てのスレイブ機の保有するコンテンツがマスタ機の保有するコンテンツに等価されるまでの間の、同じ店舗内で最新コンテンツを利用可能なカラオケ装置とそうでないカラオケ装置とが混在する期間は、顧客に提供するサービスに不公平を生じる期間となる。
【0006】
さらに、マスタ機がホストサーバから最新のコンテンツを取得する前に、最新コンテンツを保有する代替機に対してマスタ機からの2次配信が行われると、代替機の保有するコンテンツがマスタ機の保有するコンテンツに等価されてしまい、元々保有していた最新コンテンツに古いコンテンツを上書きするといった、いわゆる逆等価が起きるという不都合もある。
【0007】
このように、最新コンテンツを元々保有しているカラオケ装置(代替機)がLAN上にあれば、本来、マスタ機は、ホストサーバから一次配信を受ける必要もないし、LANを介して最新コンテンツを保有するカラオケ装置へコンテンツの配信を行う必要がないはずである。それなのにも関わらず、WANから最新コンテンツを配信されたり、最新コンテンツを保有する代替機に対してもコンテンツの配信が行われたりすることで、本来必要のないコンテンツの配信に関わる各種データ類がWANやLAN上を転送される。そのため、通信帯域を無駄に占有してしまうのでWANやLANの利用効率が悪くなり、代替機を含む全てのスレイブ機の保有するコンテンツがマスタ機の保有するコンテンツに等価されるまでの間が長くなるので、顧客に提供するサービスの不公平期間も長くなる。また、逆等価といった不都合も生じるのである。
【0008】
なお、このようなサービスの不公平や逆等価は、カラオケ装置自体を交換するときばかりでなく、カラオケ装置に備えられたハードディスクドライブ(HDD)を交換したときに、新しいHDDに最新のコンテンツが予めインストールされている場合等にも起こり得る。
【0009】
また、複数台のカラオケ装置を同時に交換する場合や、カラオケ店舗の新規開店時に製造時期や使用履歴の異なる複数のカラオケ装置が設置されている場合等には、新旧コンテンツの取得状態の異なるカラオケ装置が多数混在するため、上述のような問題は更に顕著になる。
【0010】
なお、マスタ機が店舗内の各スレイブ機から最新コンテンツを取得することにより自らが最新状態となった上で各スレイブ機に対して等価を実行することも考えられるが、例えば他のカラオケ装置に比べて最新コンテンツの保有量が少ないカラオケ装置がマスタ機として機能している場合には、マスタ機が他のカラオケ装置から最新コンテンツを取得するための送受信量が膨大になるとともに前記送受信に要する時間も長くなる。
【0011】
本発明はこのような問題を解決するためになされており、コンテンツの取得状況が異なる複数のカラオケ装置間で、最新のコンテンツを効率よく配信できるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するためになされた請求項1に係るカラオケネットワークシステムは、 カラオケ楽曲を少なくとも含むコンテンツを再生する複数のカラオケ装置がネットワークを介して通信可能に接続されており、カラオケ装置のうちコンテンツ配信用のホストサーバからコンテンツを取得するコンテンツ取得権限を唯一所有するマスタ機のみがホストサーバからコンテンツを取得し、この取得したコンテンツをコンテンツ取得権限を所有しないカラオケ装置であるスレイブ機に対して順次配信するように構成されている。
【0013】
各カラオケ装置は、マスタ機及びスレイブ機の何れとしても機能できるように構成され、自カラオケ装置がコンテンツ取得権限を所有するマスタ機として機能する場合に実行する処理に関する手段として、第1の保有リスト作成手段と、作成依頼手段と、保有リスト取得手段と、最新リスト作成手段と、コンテンツ取得権移譲手段と、取得先リスト作成手段と、第1のコンテンツ取得手段と、第2のコンテンツ取得手段と、を備えている。
【0014】
第1の保有リスト作成手段は、自カラオケ装置について、当該カラオケ装置の識別情報と、そのカラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する。
【0015】
作成依頼手段は、ネットワークに接続している他の各カラオケ装置に対して、当該カラオケ装置に関する前記保有リストの作成を依頼する。
保有リスト取得手段は、作成依頼手段による作成依頼に応じて他の各カラオケ装置で作成された前記保有リストを取得する。
【0016】
最新リスト作成手段は、第1の保有リスト作成手段により作成した自カラオケ装置の保有リスト、及び保有リスト取得手段により取得した他の各カラオケ装置の保有リストに基づき、これらの保有リストに含まれる各コンテンツごとに、コンテンツの識別情報と、そのコンテンツにおける最新のリビジョンと、その最新のリビジョンのコンテンツを保有する全カラオケ装置の識別情報とを対応付けて記録したリストである最新リストを作成する。
【0017】
選択手段は、最新リスト作成手段により作成した最新リストを参照して全カラオケ装置のうちコンテンツ取得権限を所有するマスタ機として好適なカラオケ装置を選択する。
コンテンツ取得権移譲手段は、選択手段によって各スレイブ機のうちの1つがマスタ機として好適なカラオケ装置と選択された場合に、その選択されたスレイブ機に対してコンテンツ取得権限を移譲するとともに最新リスト作成手段により作成した最新リストをその選択されたスレイブ機に送信し、自カラオケ装置をマスタ機から前記スレイブ機へ移行させる。
【0018】
取得先リスト作成手段は、選択手段によって自カラオケ装置がマスタ機として好適なカラオケ装置と選択された場合に、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報のうち、当該コンテンツの取得先となるカラオケ装置の識別情報を1つのコンテンツにつき1つ選択し、これを当該コンテンツの識別情報及び最新のリビジョンに対応付けて記録したリストである取得先リストを作成する。
【0019】
第1のコンテンツ取得手段は、取得先リスト作成手段により作成した取得先リストにおいて、最新リビジョンのコンテンツの取得先として自カラオケ装置以外の他のカラオケ装置の識別情報が対応付けられている場合、当該最新リビジョンのコンテンツを対応するカラオケ装置から取得する。
【0020】
第2のコンテンツ取得手段は、第1のコンテンツ取得手段による自カラオケ装置以外の他のカラオケ装置からのコンテンツの取得後に、前記ホストサーバからコンテンツを取得する。
【0021】
さらに、各カラオケ装置は、自カラオケ装置がコンテンツ取得権限を所有しないスレイブ機として機能する場合に実行する処理に関する手段として、第2の保有リスト作成手段と、保有リスト送信手段と、コンテンツ取得権譲受手段と、を備えている。
【0022】
第2の保有リスト作成手段は、保有リスト作成依頼に応じて、自カラオケ装置の識別情報と、自カラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する。
【0023】
保有リスト送信手段は、第2の保有リスト作成手段により作成した自カラオケ装置の保有リストを、作成依頼元のカラオケ装置に対して送信する。
コンテンツ取得権譲受手段は、マスタ機からコンテンツ取得権限を移譲された場合、自カラオケ装置をスレイブ機からマスタ機へ移行させ、ホストサーバから当該コンテンツを取得する。
【0024】
このように構成されたカラオケネットワークシステムによれば、ネットワークに接続された各カラオケ装置が、それぞれ自カラオケ装置が保有していない最新のコンテンツを、その最新のコンテンツを保有している他のカラオケ装置から取得することができる。これにより、製造時期や使用履歴の異なる複数のカラオケ装置がネットワーク上に接続され、最新コンテンツの配信状況が不均一である状況において、各カラオケ装置がそれぞれネットワーク上の他のカラオケ装置から最新のコンテンツを取得することで、サービスの不公平を速やかに解消できる。また、自カラオケ装置が保有しない最新コンテンツのみを取得することになるので、最新のコンテンツを保有しないカラオケ装置に等価されてしまうといった、いわゆる逆等価も発生しない。したがって、本発明のカラオケネットワークシステムによれば、コンテンツの取得状況が異なる複数のカラオケ装置間で、最新のコンテンツを効率よく配信できる。
【0025】
さらに、このように構成されたカラオケネットワークシステムによれば、全カラオケ装置のうちコンテンツ取得権限を所有するマスタ機として好適なカラオケ装置をマスタ機として選択した後に、選択されたマスタ機が店舗内の各スレイブ機から最新コンテンツを取得することにより自らが最新状態となった上で各スレイブ機に対して等価を実行する。このことにより、マスタ機が他のカラオケ装置から最新コンテンツを取得するための送受信量を低減させるとともに前記送受信に要する時間も低減することができる。
【0026】
つまり、カラオケネットワークシステムにおいて、主にWANのコンテンツ転送が少なくなるようにマスタ機を交替することにより、WAN−LANの転送にかかわる無駄な転送を行わなくすることで配信効率を上げるとともに等価完了までの時間を短くし、サービスの不公平期間を短くすることができる。
【0027】
したがって、本発明のカラオケネットワークシステムによれば、コンテンツの取得状況が異なる複数のカラオケ装置間で、最新のコンテンツを効率よく配信できる。
なお、マスタ機として好適なカラオケ装置と選択する手法としては、例えば、最新のコンテンツの保有量が最も多いカラオケ装置をマスタ機として選択することが挙げられる。具体的には、請求項2のように、選択手段が、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報の数量を比較し、その比較の結果、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報の数量が最も多いカラオケ装置を、コンテンツ取得権限を所有するマスタ機として好適なカラオケ装置と選択することが考えられる(請求項2)。
【0028】
このように構成すれば、マスタ機が他のカラオケ装置から最新コンテンツを取得するための送受信量をさらに低減させるとともに前記送受信に要する時間もさらに低減することができる。
【0029】
次に、請求項3に記載のカラオケ装置は、請求項1に記載のカラオケネットワークを構成するカラオケ装置として機能するものである。このように構成されたカラオケ装置をカラオケネットワークシステムに適用することで、上述の効果を得られる。
【発明を実施するための最良の形態】
【0030】
以下、本発明の一実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に何ら限定されるものではなく様々な態様にて実施することが可能である。
[カラオケネットワークシステム1の構成の説明]
図1は、実施形態のカラオケネットワークシステム1の概略構成を示すブロック図である。
【0031】
図1に示すように、カラオケネットワークシステム1は、ユーザにカラオケサービスを提供するカラオケ店舗内の各カラオケルームにそれぞれ設置されるカラオケ装置4a,4b,4c,4dがLAN100を介して接続された店舗内のネットワークが、広域ネットワークであるWAN200を介してホストサーバ2と接続されることによって形成されている。なお、図1においては、説明の便宜上、1つのカラオケ店舗内に4台のカラオケ装置がカラオケネットワークシステム1に接続されている構成を示すが、同一店舗内に更に多くのカラオケ装置が接続されていてもよい。また、複数の店舗内のネットワークがホストサーバ2に接続されていてもよい。なお、以下の説明において、カラオケ装置4a,4b,4c,4dを特に区別しない場合は、単にカラオケ装置4と表記する。
【0032】
[ホストサーバ2の構成の説明]
ホストサーバ2は、カラオケ店舗内の各カラオケ装置4のうち、ホストサーバ2からコンテンツを取得するコンテンツ取得権限を唯一所有するマスタ機に対してカラオケの楽曲データやPV映像、CM映像等といった各種コンテンツを配信するためのカラオケサービス用のサーバ装置である。このホストサーバ2は、図2(b)に示すように、適宜な処理能力を有する情報処理装置としてのCPU21、RAM22、ROM23、外部記憶装置としてのハードディスクドライブ(以下、HDD)24、LAN通信部25等で構成されており、HDD24に最新リビジョンの全コンテンツを常に保有している。
【0033】
ホストサーバ2は、WAN200(例えばインターネット)及びカラオケ店舗側のルータ120を介して、カラオケ店舗側のLAN100に接続されている。つまり、ホストサーバ2とカラオケ装置4のマスタ機との間の通信は、WAN200及びカラオケ店舗側のLAN100を介して行われる。
【0034】
[カラオケ装置4の構成の説明]
カラオケ装置4は、カラオケサービスを利用するユーザから指定されたカラオケ楽曲や、映画、バラエティ番組、ドラマ、CMといった映像コンテンツやオーディション、クイズ等のユーザ参加型のコンテンツ、飲食物の注文といった購買コンテンツ等、様々なコンテンツを各自のHDD44に保有しており、この保有するコンテンツを再生する装置である。なお、本実施形態においては、各カラオケ装置4a,4b,4c,4dは、それぞれ固有の識別情報であるシリアル番号(例えば、製造番号等)X001,X002,X003,X004を有する。
【0035】
カラオケ店舗に設置された各カラオケ装置4のうち、コンテンツ取得権限を唯一所有するマスタ機のみがホストサーバ2との間で直接通信を行うことで、ホストサーバ2からコンテンツの配信を受ける(1次配信)。一方、LAN100に接続されている各カラオケ装置は、それぞれ自カラオケ装置4(以下、自機と表記)が保有していない最新リビジョンのコンテンツを、当該コンテンツを保有する他のカラオケ装置4から取得する(2次配信)。このように、ホストサーバからマスタ機への1次配信、及びカラオケ装置4間の2次配信を経ることで、LAN100に接続された全てのカラオケ装置4において、保有するコンテンツが最新のものに等価されるようになっている。
【0036】
しかしながら、故障したカラオケ装置4の代替機が新たに接続された場合や、カラオケ装置4のHDD44を交換した場合等には、上述の1次配信及び2次配信が完了するまでの間、新旧コンテンツの取得状況の異なるカラオケ装置4が混在する状況になることがある。特に、複数台のカラオケ装置4を同時に交換する場合や、カラオケ店舗の新規開店時に製造時期や使用履歴の異なる複数のカラオケ装置4が設置されている場合等には、新旧コンテンツの取得状況の異なるカラオケ装置4が多数混在することになる。
【0037】
図1に示す事例では、このような状況を鑑み、4台のカラオケ装置4でそれぞれ新旧コンテンツの取得状況が異なる事例を想定している。シリアル番号X001のカラオケ装置4aを例に挙げてみると、カラオケ装置4aは、ホストサーバ2が保有するコンテンツF(リビジョン1),H(リビジョン1)を保有していない。また、シリアル番号X001のカラオケ装置4aが保有するコンテンツのうち、B(リビジョン2),D(リビジョン1),I(リビジョン1)は、ホストサーバが保有する同じコンテンツよりもリビジョンが古く、最新リビジョンのものではない。このように、図1に示す事例では、各カラオケ装置4は、必ずしもホストサーバ2から提供される全てのコンテンツを必ずしも保有しているとは限らず、また、保有しているコンテンツが最新リビジョンのものであるとも限らない状態である。
【0038】
次に、図2(a)は、カラオケ装置4の概略構成を示すブロック図である。
カラオケ装置4は、ハードウェア構成としてCPU41、RAM42、ROM43、HDD44、操作部45、再生部46、入力部47、LAN通信部48等を備える。
【0039】
CPU41は、RAM42やROM43に記憶されたプログラムやデータに従って、カラオケ装置4各部に対する制御及び各種演算を実行する装置で、後述する等価処理、最新リスト作成処理、取得先リスト作成処理、コンテンツ取得処理等の各種処理は、このCPU41によって実行される。RAM42は、CPU41から直接アクセスされるメインメモリ等として利用される記憶装置である。このRAM42には、各種プログラムがHDD44から読み込まれ、また、CPU41による各種演算の結果やHDD44から読み込まれたデータもRAM42に記憶される。後述する各種処理を実行する際には、各処理をCPU41に実行させるためのプログラムがHDD44からRAM42に読み込まれる。そして、RAM42に記憶されたプログラムに従って、CPU41が各処理を実行することになる。
【0040】
ROM43は、カラオケ装置4の電源スイッチを切っても記憶内容を保持する記憶装置であり、BIOSや通常であれば更新されない読み出し専用のデータ等を記憶している。HDD44は、カラオケ用の楽曲データや映像データ等のコンテンツデータやプログラム等の各種データを保存しておくための装置である。操作部45は、ユーザからの各種指示を入力するための入力装置であり、複数のキースイッチ等によって構成される。
【0041】
再生部46は、演奏データに基づく演奏再生を行うMIDI音源、MIDI音源から生成されたオーディオ信号及び入力部47から入力された音声信号をスピーカへ出力する音声制御部、画像データに基づく映像の再生を制御する映像再生部、映像を表示するためのモニタ等を備える。入力部47は、マイクロフォンによって歌唱者の歌唱音声を音声信号へ変換し、再生部46へ入力するためのものである。
【0042】
LAN通信部48は、カラオケ装置4をLAN100に接続して外部と通信を行うための通信インタフェースである。なお、同一店舗内のLAN100に接続された各カラオケ装置4は、互いのIPアドレス(例えば、ローカルIPアドレス)とホストサーバ2のIPアドレス(例えば、グローバルIPアドレス)とを予め記憶しており、LAN通信部48によって外部と通信する際には、このIPアドレスによって通信相手を特定することができる。
【0043】
なお、ホストサーバ2とマスタ機との間の1次配信、及び各カラオケ装置4間の2次配信には、コンテンツを誤りなく確実に配信するために、マルチキャスト通信(UDP/IP)よりも信頼性の高いユニキャスト通信(TCP/IP)が採用される。TCP/IPを用いたユニキャスト通信では、通信相手との間でセッションを確立することで1対1の通信を実現する。
【0044】
図1のブロック図の説明に戻る。ルータ120は、異なるネットワーク間を相互接続する通信機器である。このルータ120は、外部ネットワークであるWAN200と、内部ネットワークであるLAN100との接続点に設置されており、LAN100からの通信をWAN200側に送出し、WAN200側からの通信をLAN100へ送出する。各カラオケ店舗に設置されるルータ120は、それぞれにグローバルIPアドレスが割り当てられている。そして、ホストサーバ2から各カラオケ店舗のマスタ機へ送信されるデータは、各ルータ120に割り当てられたグローバルIPアドレス宛に送信される。ホストサーバ2から自身のグローバルIPアドレス宛のデータを受信したルータ120は、この受信したデータの宛先をポートフォワードにより同LAN100内に接続されたマスタ機のプライベートIPアドレスに変換してLAN100へ送出する。このような手順により、LAN100外のホストサーバ2からLAN100内のマスタ機へのアクセスが実現する。
【0045】
[マスタ機が実行する通信・等価処理の説明]
次に、カラオケネットワーク1に属する各カラオケ装置4のうちマスタ機として機能するカラオケ装置4(以下マスタ機)が実行する通信・等価処理の詳細な内容について、図3,4を参照しながら説明する。
【0046】
図3は、マスタ機のCPU41が実行する通信・等価処理のメイン処理の手順を示すフローチャートである。この処理は、マスタ機において常時実行される処理である。
マスタ機のCPU41は、まず、前回のコンテンツの取得時(すなわち、コンテンツの等価を行ったとき)から1日が経過したか否かを判定する(S110)。前回のコンテンツ取得時から1日が経過していないと判定した場合(S110:NO)、S110の処理へ戻る。
【0047】
一方、前回のコンテンツ取得時から1日が経過したと判定した場合(S110:YES)、最新リスト作成処理を実行する(S120)。この処理では、LAN100に接続している他のカラオケ装置4に対して保有リストの作成を依頼し、自機に関する保有リスト及び他のカラオケ装置4に関する保有リストから、最新リビジョンのコンテンツ及びその最新コンテンツを保有する全てのカラオケ装置4の一覧である最新リストを作成する。なお、この最新リスト作成処理の詳細な内容については後述する。
【0048】
ここで、カラオケ装置4が作成する保有リストの具体的な内容を図4に基づいて説明する。図4(a),(b),(c),(d)は、それぞれカラオケ装置4a,4b,4c,4dが作成する自機に関する保有リストの一例を模式的に示す説明図である。図4(a)〜(d)の各図で示すように、保有リストは、作成元のカラオケ装置4の識別情報であるシリアル番号と、そのカラオケ装置4が現に保有するコンテンツのファイル名及びそのリビジョンからなるレコードの集合とによって構成されている。
【0049】
なお、カラオケ装置4のHDD44に格納されている各コンテンツには、コンテンツの重要性に応じてそれぞれ配信優先度が設定されている。すなわち、配信優先度が高い程、他のコンテンツより優先して配信すべきであることを示している。本実施形態においては、配信優先度の高い順にA>B>C>D>E>F>G>H>Iの順になっているものと想定する。そして、各カラオケ装置4は、自機に関する保有リストを作成する際、保有リスト内の各コンテンツのレコードを配信優先度の高い順にソートする。すなわち、作成された保有リストにおいて、各コンテンツのレコードは配信優先度の高い順に並んでいる。
【0050】
ここで、カラオケ装置4が作成する最新リストの具体的な内容を図6に基づいて説明する。図6(a)は、上述の最新リスト作成処理で作成された最新リストの一例を模式的に示す説明である。なお、図6(a)に示す事例では、図4(a)〜(d)に示す各保有リストに基づき、識別番号X002のカラオケ装置4bが作成した最新リストを想定している。図6(a)に示すように、最新リストは、全ての保有リストに少なくとも1つ含まれている全種類のコンテンツについて、コンテンツのファイル名、全保有リスト内でのそのコンテンツの最新のリビジョン、及び、その最新リビジョンのコンテンツを保有する全てのカラオケ装置4のシリアル番号からなるレコードの集合によって構成されている。
【0051】
図3のフローチャートの説明に戻り、S120で最新リストを作成した後、全てのカラオケ装置4それぞれが保有する最新リビジョンのコンテンツの総数の一覧である保有総数リストを作成する(S130、図6(b)参照)。次に、S130で作成した保有総数リスト内で自身の保有総数が最多であるか否かを判断する(S140)。ここで、保有総数リスト内で自身の保有総数が最多ではないと判断した場合(S140:NO)、保有総数が最多のカラオケ装置4へ最新リストを送信するとともにそのカラオケ装置4へマスタ権限を移譲し(S180)、自らはマスタ機からスレイブ機へ移行する(S190)。そして本処理を終了する。
【0052】
一方、保有総数リスト内で自身の保有総数が最多であると判断した場合(S140:YES)、自身が引き続きマスタ機として機能することとし、取得先リスト作成処理を実行する(S150)。この処理では、最新リストに記述された各最新リビジョンのコンテンツの取得先となるカラオケ装置4を1コンテンツにつき1台選定し、これをコンテンツのファイル名と対応付けた一覧である取得先リストを作成する。なお、この取得先リスト作成処理の詳細な内容については後述する。
【0053】
S150で取得先リストを作成した後、コンテンツ取得処理を実行する(S160)。この処理では、取得先リストに基づき、各最新リビジョンのコンテンツを対応する取得先のカラオケ装置4から取得する。なお、このコンテンツ取得処理の詳細な内容については後述する。そして、ホストサーバ2が保有する最新コンテンツを取得するためにホストサーバ2との通信を開始する(S170)。そして、本処理を終了する。
【0054】
[スレイブ機が実行する通信・等価処理の説明]
次に、カラオケネットワーク1に属する各カラオケ装置4のうちスレイブ機として機能するカラオケ装置4(以下スレイブ機)が実行する通信・等価処理の詳細な内容について、図10を参照しながら説明する。
【0055】
図10は、スレイブ機のCPU41が実行する通信・等価処理のメイン処理の手順を示すフローチャートである。この処理は、カラオケネットワーク1に属する全てのスレイブ機において常時実行される処理である。
【0056】
スレイブ機のCPU41は、まず、LAN100に接続されている他のカラオケ装置4から保有リストの作成依頼を受信したか否かを判定する(S610)。保有リストの作成依頼を受信していないと判定した場合(S610:NO)、次に、マスタ機からマスタ権限を譲受したか否かを判定する(S640)。マスタ機からマスタ権限を譲受していないと判定した場合(S640:NO)、S610の処理へ戻る。
【0057】
上述のようにS610及びS640の処理を順次繰り返す過程において、他のカラオケ装置4から保有リストの作成依頼を受信したと判定した場合(S610:YES)、自機がHDD44に保有するコンテンツ及びそのリビジョンの一覧である保有リストを作成する(S620)。
【0058】
S620で自機に関する保有リストを作成した後、この作成した保有リストを要求元のカラオケ装置4に対して送信し(S630)、S610の処理へ戻る。
一方、S640でマスタ機からマスタ権限を譲受したと判定した場合(S640:YES)、これまでのマスタ機から最新リストを取得する(S650)。
【0059】
S650でこれまでのマスタ機から最新リストを取得した後、自らがスレイブ機からマスタ機へ移行し(S660)、取得先リスト作成処理を実行する(S670)。この処理では、最新リストに記述された各最新リビジョンのコンテンツの取得先となるカラオケ装置4を1コンテンツにつき1台選定し、これをコンテンツのファイル名と対応付けた一覧である取得先リストを作成する。なお、この取得先リスト作成処理の詳細な内容については後述する。
【0060】
S670で取得先リストを作成した後、コンテンツ取得処理を実行する(S680)。この処理では、取得先リストに基づき、各最新リビジョンのコンテンツを対応する取得先のカラオケ装置4から取得する。なお、このコンテンツ取得処理の詳細な内容については後述する。そして、ホストサーバ2が保有する最新コンテンツを取得するためにホストサーバ2との通信を開始する(S690)。そして、本処理を終了する。
【0061】
[マスタ機が実行する最新リスト作成処理の説明]
次に、マスタ機が実行する最新リスト作成処理の詳細な内容について、図5,6を参照しながら説明する。
【0062】
図5は、マスタ機のCPU41が実行する最新リスト作成処理の手順を示すフローチャートである。この処理は、上述のマスタ機による通信・等価処理(図3参照)のS120で実行される処理である。
【0063】
マスタ機のCPU41は、まず、自機に関する保有リストを作成し、RAM42等に保存する(S210)。この処理は、上述のスレイブ機による通信・等価処理(図10参照)のS620と同様であるので、ここでの詳しい説明は省略する。次に、LAN100に接続している他のカラオケ装置4に対して、各自の保有リストの作成を依頼する(S220)。なお、保有リストの作成依頼は、受信相手を特定しないブロードキャストで行う。
【0064】
保有リストの作成依頼を送信した後、当該作成依頼に対する応答として他のカラオケ装置4から保有リストを受信したか否かを判定する(S230)。ここで、保有リストを受信していないと判定した場合(S230:NO)、S250の処理へ移行する。一方、S230で保有リストを受信したと判定した場合(S230:YES)、その取得した保有リストをRAM42等に保存し(S240)、S250の処理へ移行する。
【0065】
S250では、保有リストの作成依頼を送信した時点から所定のタイムアウト時間が経過したか否かを判定する。タイムアウト時間が経過していないと判定した場合(S250:NO)、S230の処理へ戻る。以降、タイムアウト時間が経過するまでの間、S230〜S250の処理を順次繰り返し、各カラオケ装置4から送信されてくる保有リストを順次保存する。
【0066】
そして、保有リストの作成依頼を送信した時点からタイムアウト時間が経過したと判定した場合(S250:YES)、RAM42内に保存されている自機及び他のカラオケ装置4に関する保有リストに基づき、これら全ての保有リストに少なくとも1つ含まれている全種類のコンテンツと、その各コンテンツにおける最新リビジョンと、その最新リビジョンのコンテンツを保有する全てのカラオケ装置4とを抽出し、これら対応付けた一覧である最新リストを作成する(S260)。
【0067】
なお、カラオケ装置4が最新リストを作成する際、この最新リストにおけるコンテンツの並び順が、保有リストにおける各コンテンツのレコードの並び順(配信優先度順)に準ずるように作成する。すなわち、この最新リストにおけるコンテンツのレコードは、配信優先度の高い方から順に上位に並べられている。
【0068】
例えば、ファイル名「A」のコンテンツについて、図4(a)〜(d)に示す各保有リストを比較すると、コンテンツAの最新のリビジョンは3である。そして、そのリビジョン3のコンテンツAを保有しているのは、図4(a)の保有リストからシリアル番号X001のカラオケ装置のみであると分かる。したがって、最新リストには、ファイル名「A」、最新リビジョン「3」、シリアル番号「X001」からなるレコードが記述されるのである。同様に、例えばファイル名「I」のコンテンツについて、各保有リストを比較すると、コンテンツIの最新のリビジョンは2である。そして、そのリビジョン2のコンテンツIを保有しているのは、シリアル番号X002,X003のカラオケ装置のみである。したがって、最新リストには、ファイル名「I」、最新リビジョン「2」、シリアル番号「X002」,「X003」からなるレコードが記述されるのである。
【0069】
[マスタ機が実行する取得先リスト作成処理の説明]
次に、マスタ機が実行する取得先リスト作成処理の詳細な内容について、図6,7,8を参照しながら説明する。
【0070】
図7は、マスタ機のCPU41が実行する取得先リスト作成処理の手順を示すフローチャートの前半部分であり、図8は、その後半部分である。この処理は、上述のマスタ機が実行する通信・等価処理(図3参照)のS150および上述のスレイブ機が実行する通信・等価処理(図10参照)のS670で実行される処理である。
【0071】
マスタ機のCPU41は、まず、RAM42内に記憶している取得先リストのレコードを全て消去して初期化する(図7:S310)。次に、RAM42内に記憶しているパラメータである「前回接続先」のシリアル番号を消去して初期化する(S320)。
【0072】
そして、最新リスト(図6(a)参照)のレコードを上位から順に参照し、未処理のレコードがあるか否かを判定する(S330)。最新リストに未処理のレコードがあると判定した場合(S330:YES)、この最新リストから、未処理のレコードのうちで最上位の1レコードを処理対象として取得する(S340)。そして、この取得した処理対象のレコードに記述されているシリアル番号の中に、自機のシリアル番号が含まれているか否かを判定する(S350)。ここで、処理対象のレコードに自機のシリアル番号が含まれていると判定した場合(S350:YES)、その処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、自機のシリアル番号)を、1件分のレコードとして取得先リストの最後尾に追加し(S390)、S330の処理へ戻る。
【0073】
一方、S350で処理対象のレコードに自機のシリアル番号が含まれていないと判定した場合(S350:NO)、処理対象のレコードに複数のシリアル番号が記述されているか否かを判定する(S360)。ここで、処理対象のレコードにシリアル番号が1つしか記述されていないと判定した場合(S360:NO)、その処理対象のレコードに記述されているシリアル番号を前回接続先のパラメータとして上書きして記憶する(S370)。そして、その処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、処理対象のレコードに記述されている唯一のシリアル番号)を、1件分のレコードとして取得先リストの最後尾に追加し(S390)、S330の処理へ戻る。
【0074】
一方、S360で処理対象のレコードに複数のシリアル番号が記述されていると判定した場合(S360:YES)、処理対象のレコードに記述されている複数のシリアル番号の中に、前回接続先のパラメータとして記憶しているシリアル番号と同一のものがあるか否かを判定する(S380)。ここで、前回接続先のシリアル番号と同一のシリアル番号があると判定した場合(S380:YES)、その処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、前回接続先と同一のシリアル番号)を、1件分のレコードとして取得先リストの最後尾に追加し(S390)、S330の処理へ戻る。
【0075】
一方、S380で処理対象のレコードに記述されている複数のシリアル番号の中に、前回接続先のパラメータとして記憶しているシリアル番号と同一のものがないと判定した場合(S380:NO)、S400(図8参照)の処理へ移行する。
【0076】
S400では、RAM42内に記憶しているパラメータである「接続先候補配列」のシリアル番号を全て消去して初期化する。次に、初期化した接続先候補配列に処理対象のレコードに記述されているシリアル番号を全て記録する(S410)。そして、最新リストにおいて処理対象のレコードから次の下位の未参照レコードがあるか否かを判定する(S420)。
【0077】
S420で次の未参照レコードがあると判定した場合(S420:YES)、この次レコードに記述されているシリアル番号を参照する(S430)。そして、当該次レコードに記述されているシリアル番号に、自機のシリアル番号が含まれているか否かを判定する(S440)。ここで、自機のシリアル番号が含まれていると判定した場合(S440:YES)、S420の処理へ戻り、S420では従前の次レコードの更に次の下位の未参照レコードが存在するか否かを判定する。
【0078】
一方、S440で当該次レコードに記述されているシリアル番号に、自機のシリアル番号が含まれていないと判定した場合(S440:NO)、接続先候補配列のパラメータとして記憶しているシリアル番号と、当該次レコードに記述されているシリアル番号との間で、同一のシリアル番号が存在するか否かを判定する(S450)。ここで、接続先候補配列のシリアル番号と当該次レコードのシリアル番号との間で、同一のシリアル番号が存在すると判定した場合(S450:YES)、接続先候補配列から一致しないシリアル番号を削除する(S460)。そして、削除後の接続先候補配列に複数のシリアル番号が存在するか否かを判定する(S470)。ここで、削除後の接続先候補配列に複数のシリアル番号が存在すると判定した場合(S470:YES)、S420の処理へ戻り、S420では従前の次レコードの更に次の下位の未参照レコードが存在するか否かを判定する。
【0079】
一方、S470で接続先候補配列にシリアル番号が1つしか記録されていないと判定した場合(S470:NO)、当該シリアル番号を前回接続先のパラメータとして上書きして記憶し(S490)、S390(図7参照)の処理へ移行する。S390では、処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、接続先候補配列に記録されている唯一のシリアル番号)を、1件分のレコードとして取得先リストの最後尾に追加し、S330の処理へ戻る。
【0080】
図8のフローチャートの説明に戻る。S420で次の下位の未参照レコードが存在しないと判定した場合(S420:NO)、あるいは、S450で接続先候補配列のパラメータとして記憶しているシリアル番号と、当該次レコードに記述されているシリアル番号との間で、同一のシリアル番号が存在しないと判定した場合(S450:NO)、接続先候補配列に記録されているシリアル番号のうち、最も数が小さい(番号が若い)シリアル番号を該当シリアル番号としてセットする(S480)。そして、そのセットした当該シリアル番号を前回接続先のパラメータとして上書きして記憶し(S490)、S390(図7参照)の処理へ移行する。S390では、処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、S480でセットしたもの)を、1件分のレコードとして取得先リストの最後尾に追加し、S330の処理へ戻る。
【0081】
以降、S330〜S490の処理を順次繰り返すことで、最新リストにおけるレコードの並び順と同じ順序で、取得先リストにコンテンツ及びその取得先のレコードを順次追加していく。そして、S330で最新リストに未処理のレコードがないと判定した場合(S330:NO)、すなわち、最新リストの全てのレコードに対して取得先を選定する処理を終えた場合、取得先リスト作成処理を終了する。
【0082】
図6(c)は、上述の取得先リスト作成処理で作成された取得先リストの一例を模式的に示す説明である。なお、図6(c)に示す事例では、図6(a)に示す最新リストに基づき、識別番号X003のカラオケ装置4cが作成した取得先リストを想定している。
【0083】
図6(c)に示すように、取得先リストは、最新リストに含まれる全レコードに記述された各コンテンツについて、コンテンツのファイル名、そのコンテンツの最新のリビジョン、そのコンテンツの取得先となる1つのカラオケ装置4のシリアル番号からなるレコードの集合によって構成されている。なお、カラオケ装置4が取得先リストを作成する際、この取得先リストにおけるレコードの並び順が、最新リストにおける各レコードの並び順(すなわち、コンテンツの配信優先度順)と同一になるように作成する。すなわち、この取得先リストにおけるコンテンツのレコードは、配信優先度の高い方から順に上位に並べられている。
【0084】
例えば、ファイル名「A」のコンテンツについて、図6(a)の最新リストでは、シリアル番号としてX001のみが記述されている。よって、上述の取得先リスト作成処理(図7,8)では、コンテンツAの取得先のシリアル番号としてX001が選択され、図6(c)の取得先リストのコンテンツAのレコードに記述される。同じく、ファイル名「B」のコンテンツについても、最新リストではシリアル番号としてX004のみが記述されているため、このX004が取得先リストのコンテンツBのレコードに記述される。
【0085】
次に、ファイル名「C」のコンテンツについて、最新リストではシリアル番号としてX001,X003,X004が記述されている。このとき、レコードに自機のシリアル番号があるため、コンテンツCの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツCのレコードに記述される。このように、取得先として自機のシリアル番号を選択した場合、他のカラオケ装置4から改めてコンテンツを取得する必要がないため、通信セッションの確立やコンテンツの転送のために要する通信負荷を軽減できる。
【0086】
次に、ファイル名「D」のコンテンツについて、最新リストではシリアル番号としてX002,X003,X004が記述されている。この場合、自機のシリアル番号X003が含まれているので、コンテンツDの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツDのレコードに記述される。
【0087】
次に、ファイル名「E」のコンテンツについて、最新リストではシリアル番号としてX001,X003が記述されている。この場合、自機のシリアル番号X003が含まれているので、コンテンツEの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツEのレコードに記述される。
【0088】
次に、ファイル名「F」のコンテンツについて、最新リストではシリアル番号としてX003,X004が記述されている。この場合、自機のシリアル番号X003が含まれているので、コンテンツFの取得先としてX003が選択され、取得先リストのコンテンツFのレコードに記述される。
【0089】
次に、ファイル名「G」のコンテンツについて、自機(X003)がX002から送付された最新リストにはシリアル番号としてX001,X004が記述されている。自機のシリアル番号のX003は含まれない(S360:NO)。そして、レコードにシリアル番号は複数である(S360:YES)。更に、現在、記憶されている前回接続先の値はX004(ファイル名「B」のコンテンツの取得先リストの作成タイミング(S370)で記憶された値)であるから、前回接続先と同じシリアル番号(X004)がある(S380:YES)ので、この場合の前回接続先はX004となる。よって、コンテンツGの取得先としてX004が選択され、取得先リストのコンテンツGのレコードに記述される(S390)。 次に、ファイル名「H」のコンテンツについて、最新リストでは、自機のシリアル番号X003のみが記述されている。よって、コンテンツHの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツHのレコードに記述される。
【0090】
最後に、ファイル名「I」のコンテンツについて、最新リストではシリアル番号としてX002,X003が記述されている。この場合、自機のシリアル番号X003が含まれているので、コンテンツIの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツIのレコードに記述される。
【0091】
また、レコードを処理する初期の段階において、最新リストから未処理レコードを最初に1つ取得したとき(S340)に、前回接続先として記憶された値が無く、レコードに複数のシリアル番号があり、かつ、その中に自機のシリアル番号もない状態(S350:NO、S360:NO、S380:NO)では、S400〜S490の処理によって、前回接続先として記憶される値が特定される。
【0092】
よって、取得先リストにおける上位のコンテンツから順にコンテンツを取得するという前提においては、上記のように前回の接続先と同一のシリアル番号を取得先として選択することで、同一の取得先のカラオケ装置4から複数のコンテンツを連続して取得できるようになる。すなわち、一度確立した確立した通信セッションで複数のコンテンツを連続して取得できるようになり、1つのコンテンツを取得する度に異なる取得先と通信セッションを確立する場合と比較して、通信セッション確立のために要する通信負荷を軽減できる。
【0093】
[マスタ機が実行するコンテンツ取得処理の説明]
次に、マスタ機が実行するコンテンツ取得処理の詳細な内容について、図9を参照しながら説明する。
【0094】
図9は、マスタ機のCPU41が実行するコンテンツ取得処理の手順を示すフローチャートである。この処理は、上述のマスタ機が実行する通信・等価処理(図3参照)のS160および上述のスレイブ機が実行する通信・等価処理(図10参照)のS680で実行される処理である。
【0095】
マスタ機のCPU41は、まず、取得先リスト(図6(c)参照)のレコードを上位から順に参照し、未取得のコンテンツのレコードがあるか否かを判定する(S510)。取得先リストに未取得のコンテンツのレコードがあると判定した場合(S510:YES)、この取得先リストから、未取得のコンテンツのレコードのうちで最上位の1レコードを処理対象として取得する(S520)。
【0096】
そして、処理対象のレコードに記述されているシリアル番号が自機のシリアル番号と同一であるか否かを判定する(S530)。ここで、処理対象のレコードに記述されているシリアル番号が自機のシリアル番号と同一であると判定した場合(S530:YES)、S510の処理へ戻り、次の処理対象のレコードがあるか否かを判定する。
【0097】
一方、S530で処理対象のレコードに記述されているシリアル番号が自機のシリアル番号とは異なると判定した場合(S530:NO)、処理対象のレコードに記述されているシリアル番号に該当するカラオケ装置4から、このレコードに該当のコンテンツを取得する(S540)。このとき、前回接続先として既に通信セッションを確立している通信相手と同一のカラオケ装置4からコンテンツを取得する場合、その通信セッションを維持したまま、連続してコンテンツを取得する。一方、前回接続先とは異なるカラオケ装置4からコンテンツを取得する場合、その取得先のカラオケ装置4との間で新規に通信セッションを確立し、コンテンツを取得する。
【0098】
以降、S510〜S540の処理を順次繰り返し、取得先リストの上位のレコードから配信優先度順に従って順次コンテンツを取得し、S510で取得先リストに未取得のコンテンツのレコードがないと判定した場合(S510:NO)、コンテンツ取得処理を終了する。
【0099】
[効果]
上記実施形態のカラオケネットワークシステムによれば、以下のような効果を奏する。
(1)LAN100に接続された各カラオケ装置4は、他のカラオケ装置4から保有リストを収集し、その収集した保有リストに基づき、最新リスト及び取得先リストを作成する。そして、その作成した取得先リストによって、それぞれ自機が保有していない最新のコンテンツを、その最新のコンテンツを保有している他のカラオケ装置4から取得することができる。これにより、製造時期や使用履歴の異なる複数のカラオケ装置4がLAN100上に接続され、最新コンテンツの配信状況が不均一である状況において、各カラオケ装置4がそれぞれLAN100上の他のカラオケ装置4から最新のコンテンツを取得することで、サービスの不公平を速やかに解消できる。また、自機が保有しない最新コンテンツのみを取得することになるので、最新のコンテンツ4を保有しないカラオケ装置に等価されてしまうといった、いわゆる逆等価も発生しない。したがって、実施形態のカラオケネットワークシステム1によれば、コンテンツの取得状況が異なる複数のカラオケ装置4間で、最新のコンテンツを効率よく配信できる。
【0100】
(2)最新のコンテンツの保有量が最も多いカラオケ装置4をマスタ機として選択する(図3:S140)。このように、全カラオケ装置4のうちコンテンツ取得権限を所有するマスタ機として好適なカラオケ装置4をマスタ機として選択した後に、選択されたマスタ機はホストとの通信(図3:S170)を実行する以前に、各スレイブ機から最新コンテンツを取得してからホストと通信するので、ホストから取得するコンテンツ数を減らすことが可能になり、WANのコンテンツ転送量が少なくなるので前記転送に要する時間も低減することができる。
【0101】
更に、選択されたマスタ機が店舗内の各スレイブ機から最新コンテンツを取得する処理も、他のカラオケ装置4から最新コンテンツを取得するためのLANの送受信量を低減させるとともに前記送受信に要する時間も低減することができる取得処理(図3:S150、S160)を行うので、選択されたマスタ機がホストと通信を開始するまでの時間も短くなる。つまり、カラオケネットワークシステム1において、主にWANのコンテンツ転送に関わる転送時間が少なくなるようにマスタ機を交替することにより、WAN−LANの転送にかかわる無駄な転送を行わなくすることで配信効率を上げるとともに等価完了までの時間を短くし、サービスの不公平期間を短くすることができる。したがって、本実施形態のカラオケネットワークシステム1によれば、コンテンツの取得状況が異なる複数のカラオケ装置4間で、最新のコンテンツを効率よく配信できる。
【0102】
(3)取得先リストの作成手順として、最新リストの上位から順に、対象のコンテンツを保有しているカラオケ装置4に自機が含まれていれば、まず、自機を取得先に選択する。この場合、そのコンテンツを改めて他のカラオケ装置4から取得する必要はないので、コンテンツを取得するための通信負荷が省ける。
【0103】
(4)次に、自機が対象のコンテンツを保有していない場合、前回接続先のカラオケ装置4が、対象のコンテンツを保有するカラオケ装置4に含まれていれば、そのカラオケ装置4を対象のコンテンツの取得先として選択する。このようにすることで、同じカラオケ装置4から連続してコンテンツを取得できるようになるので、通信セッションを確立するための負荷を低減できる。
【0104】
(5)一方、自機が対象のコンテンツを保有しておらず、前回接続先のカラオケ装置4も対象のコンテンツを保有していない場合、その直近下位(自カラオケ装置が保有するコンテンツを除く)のコンテンツを保有するカラオケ装置4の何れかが、対象のコンテンツを保有するカラオケ装置4と同一であれば、その同一のカラオケ装置4を対象のコンテンツの取得先として選択する。この場合、そのコンテンツを取得する際に、新たな通信セッションを確立する必要があるものの、次のコンテンツを同じカラオケ装置4から連続して取得できるので、通信セッションを確立するための負荷を低減できる。
【0105】
(6)また、対象のコンテンツの直近下位のコンテンツに対応付けられているカラオケ装置4と同一のカラオケ装置4を取得先として選択する際、これに該当するカラオケ装置4が複数存在する場合、その複数のカラオケ装置4のうち、直近下位のコンテンツから連続して最も多くの下位コンテンツと保有者が同一となるカラオケ装置4を対象のコンテンツの取得先として選択する。このように構成することで、なるべく多くの下位コンテンツの取得先に連続してなるように、対象のコンテンツの取得先を選択できる。よって、同じカラオケ装置4からなるべく多くのコンテンツを連続して取得できるようなり、通信負荷や通信時間を低減し、カラオケ装置間でコンテンツを効率よく取得できる。
【0106】
(3)〜(6)のようすることで、コンテンツを取得する順序を変えることなく、すなわち、コンテンツの配信優先度順を維持したままで、同じカラオケ装置4からなるべく多くのコンテンツを連続して取得できるように取得先リストが作成される。よって、通信負荷や通信時間を低減し、カラオケ装置間でコンテンツを効率よく取得できる。
【図面の簡単な説明】
【0107】
【図1】カラオケネットワークシステム1の概略構成を示すブロック図である。
【図2】(a)はカラオケ装置4の概略構成を示すブロック図であり、(b)はホストサーバ2の概略構成を示すブロック図である。
【図3】マスタ機が実行する通信・等価処理の手順を示すフローチャートである。
【図4】保有リストの一例を模式的に示す説明図である。
【図5】最新リスト作成処理の手順を示すフローチャートである。
【図6】(a)は最新リストの一例を模式的に示す説明図であり、(b)は集計結果の一例を模式的に示す説明図であり、(c)は取得先リストの一例を模式的に示す説明図である。
【図7】取得先リスト作成処理の手順を示すフローチャートの前半部分である。
【図8】取得先リスト作成処理の手順を示すフローチャートの後半部分である。
【図9】コンテンツ取得処理の手順を示すフローチャートである。
【図10】スレイブ機が実行する通信・等価処理の手順を示すフローチャートである。
【符号の説明】
【0108】
1…カラオケネットワークシステム、2…ホストサーバ、4…カラオケ装置、21…CPU、22…RAM、23…ROM、24…HDD、25…LAN通信部、41…CPU、42…RAM、43…ROM、44…HDD、45…操作部、46…再生部、47…入力部、48…LAN通信部、100…LAN、120…ルータ、200…WAN
【技術分野】
【0001】
本発明は、カラオケ店舗内のネットワークに接続されたカラオケ装置間でコンテンツを複製する技術に関する。
【背景技術】
【0002】
従来、カラオケ装置で再生するコンテンツを、広域ネットワーク(以下、WAN)を介してコンテンツ配信用のホストサーバから全国の各カラオケ店舗(例えばカラオケボックス)に設置されたカラオケ装置へ配信するカラオケネットワークシステムが広く普及している。
【0003】
近年、カラオケ店舗に設置されるカラオケ装置の多くは、個別に大容量の記憶手段を備えており、自カラオケ装置で再生するコンテンツを蓄積できるようになっている。このようなカラオケ装置で構成されるカラオケネットワークシステムにおいては、コンテンツ配信用のホストサーバと、店舗内に設置されている複数のカラオケ装置のうちのホストサーバとの通信権限のある代表のカラオケ装置(以下、マスタ機と称する)を予め設定し、前記マスター機とホスト機とがWANを介して通信することで、ホストサーバからマスタ機へコンテンツが配信される(1次配信)。そして、マスタ機に配信されたコンテンツは、カラオケ店舗内に配されたLAN(Local Area Network)等のネットワークを介して、マスタ機から当該カラオケ店舗内でマスタ機の管理下にあるカラオケ装置(以下、スレイブ機)へとコピーされることで、カラオケ店舗内の各カラオケ装置へ配信される(2次配信)。このようにすることで、ホストサーバから直接コンテンツの配信を受けるカラオケ装置の台数を減らすことができ、ホストサーバとマスタ機とによる1次配信における通信負荷を低減することができる(例えば、特許文献1)。
【特許文献1】特開2004−170529号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、カラオケ装置で再生されるコンテンツは、通常の演奏データ(MIDIデータ等)の他、実際の演奏音声をサンプリングした高音質の生音楽曲やプロモーションビデオ(PV)映像、CM映像等、多種多様化しており、そのコンテンツ数やコンテンツ毎のデータ量も年々増加傾向にある。
【0005】
このような現状において、次のような問題点がある。マスタ機が最新コンテンツを未だ取得していない店舗内のLANに、故障したカラオケ装置の代替機として最新コンテンツを保有するカラオケ装置が持ち込まれることがある。LAN上に既存のマスタ機が接続している場合、代替機として持ち込まれたカラオケ装置はスレイブ機として動作する。このとき、その店舗内の他のスレイブ機は、LAN上に最新のコンテンツを保有するカラオケ装置が存在するにも関わらず、マスタ機は最新のコンテンツを保有していないため、ホストからWANを介して最新のコンテンツが1次配信される。
また、スレイブ機はマスタ機からしかコンテンツの配信を受けないため、マスタ機がホストサーバから最新のコンテンツの1次配信を受けて2次配信を行うまで、最新のコンテンツを保有する状態にならない。よって、代替機を含む全てのスレイブ機の保有するコンテンツがマスタ機の保有するコンテンツに等価されるまでの間の、同じ店舗内で最新コンテンツを利用可能なカラオケ装置とそうでないカラオケ装置とが混在する期間は、顧客に提供するサービスに不公平を生じる期間となる。
【0006】
さらに、マスタ機がホストサーバから最新のコンテンツを取得する前に、最新コンテンツを保有する代替機に対してマスタ機からの2次配信が行われると、代替機の保有するコンテンツがマスタ機の保有するコンテンツに等価されてしまい、元々保有していた最新コンテンツに古いコンテンツを上書きするといった、いわゆる逆等価が起きるという不都合もある。
【0007】
このように、最新コンテンツを元々保有しているカラオケ装置(代替機)がLAN上にあれば、本来、マスタ機は、ホストサーバから一次配信を受ける必要もないし、LANを介して最新コンテンツを保有するカラオケ装置へコンテンツの配信を行う必要がないはずである。それなのにも関わらず、WANから最新コンテンツを配信されたり、最新コンテンツを保有する代替機に対してもコンテンツの配信が行われたりすることで、本来必要のないコンテンツの配信に関わる各種データ類がWANやLAN上を転送される。そのため、通信帯域を無駄に占有してしまうのでWANやLANの利用効率が悪くなり、代替機を含む全てのスレイブ機の保有するコンテンツがマスタ機の保有するコンテンツに等価されるまでの間が長くなるので、顧客に提供するサービスの不公平期間も長くなる。また、逆等価といった不都合も生じるのである。
【0008】
なお、このようなサービスの不公平や逆等価は、カラオケ装置自体を交換するときばかりでなく、カラオケ装置に備えられたハードディスクドライブ(HDD)を交換したときに、新しいHDDに最新のコンテンツが予めインストールされている場合等にも起こり得る。
【0009】
また、複数台のカラオケ装置を同時に交換する場合や、カラオケ店舗の新規開店時に製造時期や使用履歴の異なる複数のカラオケ装置が設置されている場合等には、新旧コンテンツの取得状態の異なるカラオケ装置が多数混在するため、上述のような問題は更に顕著になる。
【0010】
なお、マスタ機が店舗内の各スレイブ機から最新コンテンツを取得することにより自らが最新状態となった上で各スレイブ機に対して等価を実行することも考えられるが、例えば他のカラオケ装置に比べて最新コンテンツの保有量が少ないカラオケ装置がマスタ機として機能している場合には、マスタ機が他のカラオケ装置から最新コンテンツを取得するための送受信量が膨大になるとともに前記送受信に要する時間も長くなる。
【0011】
本発明はこのような問題を解決するためになされており、コンテンツの取得状況が異なる複数のカラオケ装置間で、最新のコンテンツを効率よく配信できるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するためになされた請求項1に係るカラオケネットワークシステムは、 カラオケ楽曲を少なくとも含むコンテンツを再生する複数のカラオケ装置がネットワークを介して通信可能に接続されており、カラオケ装置のうちコンテンツ配信用のホストサーバからコンテンツを取得するコンテンツ取得権限を唯一所有するマスタ機のみがホストサーバからコンテンツを取得し、この取得したコンテンツをコンテンツ取得権限を所有しないカラオケ装置であるスレイブ機に対して順次配信するように構成されている。
【0013】
各カラオケ装置は、マスタ機及びスレイブ機の何れとしても機能できるように構成され、自カラオケ装置がコンテンツ取得権限を所有するマスタ機として機能する場合に実行する処理に関する手段として、第1の保有リスト作成手段と、作成依頼手段と、保有リスト取得手段と、最新リスト作成手段と、コンテンツ取得権移譲手段と、取得先リスト作成手段と、第1のコンテンツ取得手段と、第2のコンテンツ取得手段と、を備えている。
【0014】
第1の保有リスト作成手段は、自カラオケ装置について、当該カラオケ装置の識別情報と、そのカラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する。
【0015】
作成依頼手段は、ネットワークに接続している他の各カラオケ装置に対して、当該カラオケ装置に関する前記保有リストの作成を依頼する。
保有リスト取得手段は、作成依頼手段による作成依頼に応じて他の各カラオケ装置で作成された前記保有リストを取得する。
【0016】
最新リスト作成手段は、第1の保有リスト作成手段により作成した自カラオケ装置の保有リスト、及び保有リスト取得手段により取得した他の各カラオケ装置の保有リストに基づき、これらの保有リストに含まれる各コンテンツごとに、コンテンツの識別情報と、そのコンテンツにおける最新のリビジョンと、その最新のリビジョンのコンテンツを保有する全カラオケ装置の識別情報とを対応付けて記録したリストである最新リストを作成する。
【0017】
選択手段は、最新リスト作成手段により作成した最新リストを参照して全カラオケ装置のうちコンテンツ取得権限を所有するマスタ機として好適なカラオケ装置を選択する。
コンテンツ取得権移譲手段は、選択手段によって各スレイブ機のうちの1つがマスタ機として好適なカラオケ装置と選択された場合に、その選択されたスレイブ機に対してコンテンツ取得権限を移譲するとともに最新リスト作成手段により作成した最新リストをその選択されたスレイブ機に送信し、自カラオケ装置をマスタ機から前記スレイブ機へ移行させる。
【0018】
取得先リスト作成手段は、選択手段によって自カラオケ装置がマスタ機として好適なカラオケ装置と選択された場合に、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報のうち、当該コンテンツの取得先となるカラオケ装置の識別情報を1つのコンテンツにつき1つ選択し、これを当該コンテンツの識別情報及び最新のリビジョンに対応付けて記録したリストである取得先リストを作成する。
【0019】
第1のコンテンツ取得手段は、取得先リスト作成手段により作成した取得先リストにおいて、最新リビジョンのコンテンツの取得先として自カラオケ装置以外の他のカラオケ装置の識別情報が対応付けられている場合、当該最新リビジョンのコンテンツを対応するカラオケ装置から取得する。
【0020】
第2のコンテンツ取得手段は、第1のコンテンツ取得手段による自カラオケ装置以外の他のカラオケ装置からのコンテンツの取得後に、前記ホストサーバからコンテンツを取得する。
【0021】
さらに、各カラオケ装置は、自カラオケ装置がコンテンツ取得権限を所有しないスレイブ機として機能する場合に実行する処理に関する手段として、第2の保有リスト作成手段と、保有リスト送信手段と、コンテンツ取得権譲受手段と、を備えている。
【0022】
第2の保有リスト作成手段は、保有リスト作成依頼に応じて、自カラオケ装置の識別情報と、自カラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する。
【0023】
保有リスト送信手段は、第2の保有リスト作成手段により作成した自カラオケ装置の保有リストを、作成依頼元のカラオケ装置に対して送信する。
コンテンツ取得権譲受手段は、マスタ機からコンテンツ取得権限を移譲された場合、自カラオケ装置をスレイブ機からマスタ機へ移行させ、ホストサーバから当該コンテンツを取得する。
【0024】
このように構成されたカラオケネットワークシステムによれば、ネットワークに接続された各カラオケ装置が、それぞれ自カラオケ装置が保有していない最新のコンテンツを、その最新のコンテンツを保有している他のカラオケ装置から取得することができる。これにより、製造時期や使用履歴の異なる複数のカラオケ装置がネットワーク上に接続され、最新コンテンツの配信状況が不均一である状況において、各カラオケ装置がそれぞれネットワーク上の他のカラオケ装置から最新のコンテンツを取得することで、サービスの不公平を速やかに解消できる。また、自カラオケ装置が保有しない最新コンテンツのみを取得することになるので、最新のコンテンツを保有しないカラオケ装置に等価されてしまうといった、いわゆる逆等価も発生しない。したがって、本発明のカラオケネットワークシステムによれば、コンテンツの取得状況が異なる複数のカラオケ装置間で、最新のコンテンツを効率よく配信できる。
【0025】
さらに、このように構成されたカラオケネットワークシステムによれば、全カラオケ装置のうちコンテンツ取得権限を所有するマスタ機として好適なカラオケ装置をマスタ機として選択した後に、選択されたマスタ機が店舗内の各スレイブ機から最新コンテンツを取得することにより自らが最新状態となった上で各スレイブ機に対して等価を実行する。このことにより、マスタ機が他のカラオケ装置から最新コンテンツを取得するための送受信量を低減させるとともに前記送受信に要する時間も低減することができる。
【0026】
つまり、カラオケネットワークシステムにおいて、主にWANのコンテンツ転送が少なくなるようにマスタ機を交替することにより、WAN−LANの転送にかかわる無駄な転送を行わなくすることで配信効率を上げるとともに等価完了までの時間を短くし、サービスの不公平期間を短くすることができる。
【0027】
したがって、本発明のカラオケネットワークシステムによれば、コンテンツの取得状況が異なる複数のカラオケ装置間で、最新のコンテンツを効率よく配信できる。
なお、マスタ機として好適なカラオケ装置と選択する手法としては、例えば、最新のコンテンツの保有量が最も多いカラオケ装置をマスタ機として選択することが挙げられる。具体的には、請求項2のように、選択手段が、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報の数量を比較し、その比較の結果、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報の数量が最も多いカラオケ装置を、コンテンツ取得権限を所有するマスタ機として好適なカラオケ装置と選択することが考えられる(請求項2)。
【0028】
このように構成すれば、マスタ機が他のカラオケ装置から最新コンテンツを取得するための送受信量をさらに低減させるとともに前記送受信に要する時間もさらに低減することができる。
【0029】
次に、請求項3に記載のカラオケ装置は、請求項1に記載のカラオケネットワークを構成するカラオケ装置として機能するものである。このように構成されたカラオケ装置をカラオケネットワークシステムに適用することで、上述の効果を得られる。
【発明を実施するための最良の形態】
【0030】
以下、本発明の一実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に何ら限定されるものではなく様々な態様にて実施することが可能である。
[カラオケネットワークシステム1の構成の説明]
図1は、実施形態のカラオケネットワークシステム1の概略構成を示すブロック図である。
【0031】
図1に示すように、カラオケネットワークシステム1は、ユーザにカラオケサービスを提供するカラオケ店舗内の各カラオケルームにそれぞれ設置されるカラオケ装置4a,4b,4c,4dがLAN100を介して接続された店舗内のネットワークが、広域ネットワークであるWAN200を介してホストサーバ2と接続されることによって形成されている。なお、図1においては、説明の便宜上、1つのカラオケ店舗内に4台のカラオケ装置がカラオケネットワークシステム1に接続されている構成を示すが、同一店舗内に更に多くのカラオケ装置が接続されていてもよい。また、複数の店舗内のネットワークがホストサーバ2に接続されていてもよい。なお、以下の説明において、カラオケ装置4a,4b,4c,4dを特に区別しない場合は、単にカラオケ装置4と表記する。
【0032】
[ホストサーバ2の構成の説明]
ホストサーバ2は、カラオケ店舗内の各カラオケ装置4のうち、ホストサーバ2からコンテンツを取得するコンテンツ取得権限を唯一所有するマスタ機に対してカラオケの楽曲データやPV映像、CM映像等といった各種コンテンツを配信するためのカラオケサービス用のサーバ装置である。このホストサーバ2は、図2(b)に示すように、適宜な処理能力を有する情報処理装置としてのCPU21、RAM22、ROM23、外部記憶装置としてのハードディスクドライブ(以下、HDD)24、LAN通信部25等で構成されており、HDD24に最新リビジョンの全コンテンツを常に保有している。
【0033】
ホストサーバ2は、WAN200(例えばインターネット)及びカラオケ店舗側のルータ120を介して、カラオケ店舗側のLAN100に接続されている。つまり、ホストサーバ2とカラオケ装置4のマスタ機との間の通信は、WAN200及びカラオケ店舗側のLAN100を介して行われる。
【0034】
[カラオケ装置4の構成の説明]
カラオケ装置4は、カラオケサービスを利用するユーザから指定されたカラオケ楽曲や、映画、バラエティ番組、ドラマ、CMといった映像コンテンツやオーディション、クイズ等のユーザ参加型のコンテンツ、飲食物の注文といった購買コンテンツ等、様々なコンテンツを各自のHDD44に保有しており、この保有するコンテンツを再生する装置である。なお、本実施形態においては、各カラオケ装置4a,4b,4c,4dは、それぞれ固有の識別情報であるシリアル番号(例えば、製造番号等)X001,X002,X003,X004を有する。
【0035】
カラオケ店舗に設置された各カラオケ装置4のうち、コンテンツ取得権限を唯一所有するマスタ機のみがホストサーバ2との間で直接通信を行うことで、ホストサーバ2からコンテンツの配信を受ける(1次配信)。一方、LAN100に接続されている各カラオケ装置は、それぞれ自カラオケ装置4(以下、自機と表記)が保有していない最新リビジョンのコンテンツを、当該コンテンツを保有する他のカラオケ装置4から取得する(2次配信)。このように、ホストサーバからマスタ機への1次配信、及びカラオケ装置4間の2次配信を経ることで、LAN100に接続された全てのカラオケ装置4において、保有するコンテンツが最新のものに等価されるようになっている。
【0036】
しかしながら、故障したカラオケ装置4の代替機が新たに接続された場合や、カラオケ装置4のHDD44を交換した場合等には、上述の1次配信及び2次配信が完了するまでの間、新旧コンテンツの取得状況の異なるカラオケ装置4が混在する状況になることがある。特に、複数台のカラオケ装置4を同時に交換する場合や、カラオケ店舗の新規開店時に製造時期や使用履歴の異なる複数のカラオケ装置4が設置されている場合等には、新旧コンテンツの取得状況の異なるカラオケ装置4が多数混在することになる。
【0037】
図1に示す事例では、このような状況を鑑み、4台のカラオケ装置4でそれぞれ新旧コンテンツの取得状況が異なる事例を想定している。シリアル番号X001のカラオケ装置4aを例に挙げてみると、カラオケ装置4aは、ホストサーバ2が保有するコンテンツF(リビジョン1),H(リビジョン1)を保有していない。また、シリアル番号X001のカラオケ装置4aが保有するコンテンツのうち、B(リビジョン2),D(リビジョン1),I(リビジョン1)は、ホストサーバが保有する同じコンテンツよりもリビジョンが古く、最新リビジョンのものではない。このように、図1に示す事例では、各カラオケ装置4は、必ずしもホストサーバ2から提供される全てのコンテンツを必ずしも保有しているとは限らず、また、保有しているコンテンツが最新リビジョンのものであるとも限らない状態である。
【0038】
次に、図2(a)は、カラオケ装置4の概略構成を示すブロック図である。
カラオケ装置4は、ハードウェア構成としてCPU41、RAM42、ROM43、HDD44、操作部45、再生部46、入力部47、LAN通信部48等を備える。
【0039】
CPU41は、RAM42やROM43に記憶されたプログラムやデータに従って、カラオケ装置4各部に対する制御及び各種演算を実行する装置で、後述する等価処理、最新リスト作成処理、取得先リスト作成処理、コンテンツ取得処理等の各種処理は、このCPU41によって実行される。RAM42は、CPU41から直接アクセスされるメインメモリ等として利用される記憶装置である。このRAM42には、各種プログラムがHDD44から読み込まれ、また、CPU41による各種演算の結果やHDD44から読み込まれたデータもRAM42に記憶される。後述する各種処理を実行する際には、各処理をCPU41に実行させるためのプログラムがHDD44からRAM42に読み込まれる。そして、RAM42に記憶されたプログラムに従って、CPU41が各処理を実行することになる。
【0040】
ROM43は、カラオケ装置4の電源スイッチを切っても記憶内容を保持する記憶装置であり、BIOSや通常であれば更新されない読み出し専用のデータ等を記憶している。HDD44は、カラオケ用の楽曲データや映像データ等のコンテンツデータやプログラム等の各種データを保存しておくための装置である。操作部45は、ユーザからの各種指示を入力するための入力装置であり、複数のキースイッチ等によって構成される。
【0041】
再生部46は、演奏データに基づく演奏再生を行うMIDI音源、MIDI音源から生成されたオーディオ信号及び入力部47から入力された音声信号をスピーカへ出力する音声制御部、画像データに基づく映像の再生を制御する映像再生部、映像を表示するためのモニタ等を備える。入力部47は、マイクロフォンによって歌唱者の歌唱音声を音声信号へ変換し、再生部46へ入力するためのものである。
【0042】
LAN通信部48は、カラオケ装置4をLAN100に接続して外部と通信を行うための通信インタフェースである。なお、同一店舗内のLAN100に接続された各カラオケ装置4は、互いのIPアドレス(例えば、ローカルIPアドレス)とホストサーバ2のIPアドレス(例えば、グローバルIPアドレス)とを予め記憶しており、LAN通信部48によって外部と通信する際には、このIPアドレスによって通信相手を特定することができる。
【0043】
なお、ホストサーバ2とマスタ機との間の1次配信、及び各カラオケ装置4間の2次配信には、コンテンツを誤りなく確実に配信するために、マルチキャスト通信(UDP/IP)よりも信頼性の高いユニキャスト通信(TCP/IP)が採用される。TCP/IPを用いたユニキャスト通信では、通信相手との間でセッションを確立することで1対1の通信を実現する。
【0044】
図1のブロック図の説明に戻る。ルータ120は、異なるネットワーク間を相互接続する通信機器である。このルータ120は、外部ネットワークであるWAN200と、内部ネットワークであるLAN100との接続点に設置されており、LAN100からの通信をWAN200側に送出し、WAN200側からの通信をLAN100へ送出する。各カラオケ店舗に設置されるルータ120は、それぞれにグローバルIPアドレスが割り当てられている。そして、ホストサーバ2から各カラオケ店舗のマスタ機へ送信されるデータは、各ルータ120に割り当てられたグローバルIPアドレス宛に送信される。ホストサーバ2から自身のグローバルIPアドレス宛のデータを受信したルータ120は、この受信したデータの宛先をポートフォワードにより同LAN100内に接続されたマスタ機のプライベートIPアドレスに変換してLAN100へ送出する。このような手順により、LAN100外のホストサーバ2からLAN100内のマスタ機へのアクセスが実現する。
【0045】
[マスタ機が実行する通信・等価処理の説明]
次に、カラオケネットワーク1に属する各カラオケ装置4のうちマスタ機として機能するカラオケ装置4(以下マスタ機)が実行する通信・等価処理の詳細な内容について、図3,4を参照しながら説明する。
【0046】
図3は、マスタ機のCPU41が実行する通信・等価処理のメイン処理の手順を示すフローチャートである。この処理は、マスタ機において常時実行される処理である。
マスタ機のCPU41は、まず、前回のコンテンツの取得時(すなわち、コンテンツの等価を行ったとき)から1日が経過したか否かを判定する(S110)。前回のコンテンツ取得時から1日が経過していないと判定した場合(S110:NO)、S110の処理へ戻る。
【0047】
一方、前回のコンテンツ取得時から1日が経過したと判定した場合(S110:YES)、最新リスト作成処理を実行する(S120)。この処理では、LAN100に接続している他のカラオケ装置4に対して保有リストの作成を依頼し、自機に関する保有リスト及び他のカラオケ装置4に関する保有リストから、最新リビジョンのコンテンツ及びその最新コンテンツを保有する全てのカラオケ装置4の一覧である最新リストを作成する。なお、この最新リスト作成処理の詳細な内容については後述する。
【0048】
ここで、カラオケ装置4が作成する保有リストの具体的な内容を図4に基づいて説明する。図4(a),(b),(c),(d)は、それぞれカラオケ装置4a,4b,4c,4dが作成する自機に関する保有リストの一例を模式的に示す説明図である。図4(a)〜(d)の各図で示すように、保有リストは、作成元のカラオケ装置4の識別情報であるシリアル番号と、そのカラオケ装置4が現に保有するコンテンツのファイル名及びそのリビジョンからなるレコードの集合とによって構成されている。
【0049】
なお、カラオケ装置4のHDD44に格納されている各コンテンツには、コンテンツの重要性に応じてそれぞれ配信優先度が設定されている。すなわち、配信優先度が高い程、他のコンテンツより優先して配信すべきであることを示している。本実施形態においては、配信優先度の高い順にA>B>C>D>E>F>G>H>Iの順になっているものと想定する。そして、各カラオケ装置4は、自機に関する保有リストを作成する際、保有リスト内の各コンテンツのレコードを配信優先度の高い順にソートする。すなわち、作成された保有リストにおいて、各コンテンツのレコードは配信優先度の高い順に並んでいる。
【0050】
ここで、カラオケ装置4が作成する最新リストの具体的な内容を図6に基づいて説明する。図6(a)は、上述の最新リスト作成処理で作成された最新リストの一例を模式的に示す説明である。なお、図6(a)に示す事例では、図4(a)〜(d)に示す各保有リストに基づき、識別番号X002のカラオケ装置4bが作成した最新リストを想定している。図6(a)に示すように、最新リストは、全ての保有リストに少なくとも1つ含まれている全種類のコンテンツについて、コンテンツのファイル名、全保有リスト内でのそのコンテンツの最新のリビジョン、及び、その最新リビジョンのコンテンツを保有する全てのカラオケ装置4のシリアル番号からなるレコードの集合によって構成されている。
【0051】
図3のフローチャートの説明に戻り、S120で最新リストを作成した後、全てのカラオケ装置4それぞれが保有する最新リビジョンのコンテンツの総数の一覧である保有総数リストを作成する(S130、図6(b)参照)。次に、S130で作成した保有総数リスト内で自身の保有総数が最多であるか否かを判断する(S140)。ここで、保有総数リスト内で自身の保有総数が最多ではないと判断した場合(S140:NO)、保有総数が最多のカラオケ装置4へ最新リストを送信するとともにそのカラオケ装置4へマスタ権限を移譲し(S180)、自らはマスタ機からスレイブ機へ移行する(S190)。そして本処理を終了する。
【0052】
一方、保有総数リスト内で自身の保有総数が最多であると判断した場合(S140:YES)、自身が引き続きマスタ機として機能することとし、取得先リスト作成処理を実行する(S150)。この処理では、最新リストに記述された各最新リビジョンのコンテンツの取得先となるカラオケ装置4を1コンテンツにつき1台選定し、これをコンテンツのファイル名と対応付けた一覧である取得先リストを作成する。なお、この取得先リスト作成処理の詳細な内容については後述する。
【0053】
S150で取得先リストを作成した後、コンテンツ取得処理を実行する(S160)。この処理では、取得先リストに基づき、各最新リビジョンのコンテンツを対応する取得先のカラオケ装置4から取得する。なお、このコンテンツ取得処理の詳細な内容については後述する。そして、ホストサーバ2が保有する最新コンテンツを取得するためにホストサーバ2との通信を開始する(S170)。そして、本処理を終了する。
【0054】
[スレイブ機が実行する通信・等価処理の説明]
次に、カラオケネットワーク1に属する各カラオケ装置4のうちスレイブ機として機能するカラオケ装置4(以下スレイブ機)が実行する通信・等価処理の詳細な内容について、図10を参照しながら説明する。
【0055】
図10は、スレイブ機のCPU41が実行する通信・等価処理のメイン処理の手順を示すフローチャートである。この処理は、カラオケネットワーク1に属する全てのスレイブ機において常時実行される処理である。
【0056】
スレイブ機のCPU41は、まず、LAN100に接続されている他のカラオケ装置4から保有リストの作成依頼を受信したか否かを判定する(S610)。保有リストの作成依頼を受信していないと判定した場合(S610:NO)、次に、マスタ機からマスタ権限を譲受したか否かを判定する(S640)。マスタ機からマスタ権限を譲受していないと判定した場合(S640:NO)、S610の処理へ戻る。
【0057】
上述のようにS610及びS640の処理を順次繰り返す過程において、他のカラオケ装置4から保有リストの作成依頼を受信したと判定した場合(S610:YES)、自機がHDD44に保有するコンテンツ及びそのリビジョンの一覧である保有リストを作成する(S620)。
【0058】
S620で自機に関する保有リストを作成した後、この作成した保有リストを要求元のカラオケ装置4に対して送信し(S630)、S610の処理へ戻る。
一方、S640でマスタ機からマスタ権限を譲受したと判定した場合(S640:YES)、これまでのマスタ機から最新リストを取得する(S650)。
【0059】
S650でこれまでのマスタ機から最新リストを取得した後、自らがスレイブ機からマスタ機へ移行し(S660)、取得先リスト作成処理を実行する(S670)。この処理では、最新リストに記述された各最新リビジョンのコンテンツの取得先となるカラオケ装置4を1コンテンツにつき1台選定し、これをコンテンツのファイル名と対応付けた一覧である取得先リストを作成する。なお、この取得先リスト作成処理の詳細な内容については後述する。
【0060】
S670で取得先リストを作成した後、コンテンツ取得処理を実行する(S680)。この処理では、取得先リストに基づき、各最新リビジョンのコンテンツを対応する取得先のカラオケ装置4から取得する。なお、このコンテンツ取得処理の詳細な内容については後述する。そして、ホストサーバ2が保有する最新コンテンツを取得するためにホストサーバ2との通信を開始する(S690)。そして、本処理を終了する。
【0061】
[マスタ機が実行する最新リスト作成処理の説明]
次に、マスタ機が実行する最新リスト作成処理の詳細な内容について、図5,6を参照しながら説明する。
【0062】
図5は、マスタ機のCPU41が実行する最新リスト作成処理の手順を示すフローチャートである。この処理は、上述のマスタ機による通信・等価処理(図3参照)のS120で実行される処理である。
【0063】
マスタ機のCPU41は、まず、自機に関する保有リストを作成し、RAM42等に保存する(S210)。この処理は、上述のスレイブ機による通信・等価処理(図10参照)のS620と同様であるので、ここでの詳しい説明は省略する。次に、LAN100に接続している他のカラオケ装置4に対して、各自の保有リストの作成を依頼する(S220)。なお、保有リストの作成依頼は、受信相手を特定しないブロードキャストで行う。
【0064】
保有リストの作成依頼を送信した後、当該作成依頼に対する応答として他のカラオケ装置4から保有リストを受信したか否かを判定する(S230)。ここで、保有リストを受信していないと判定した場合(S230:NO)、S250の処理へ移行する。一方、S230で保有リストを受信したと判定した場合(S230:YES)、その取得した保有リストをRAM42等に保存し(S240)、S250の処理へ移行する。
【0065】
S250では、保有リストの作成依頼を送信した時点から所定のタイムアウト時間が経過したか否かを判定する。タイムアウト時間が経過していないと判定した場合(S250:NO)、S230の処理へ戻る。以降、タイムアウト時間が経過するまでの間、S230〜S250の処理を順次繰り返し、各カラオケ装置4から送信されてくる保有リストを順次保存する。
【0066】
そして、保有リストの作成依頼を送信した時点からタイムアウト時間が経過したと判定した場合(S250:YES)、RAM42内に保存されている自機及び他のカラオケ装置4に関する保有リストに基づき、これら全ての保有リストに少なくとも1つ含まれている全種類のコンテンツと、その各コンテンツにおける最新リビジョンと、その最新リビジョンのコンテンツを保有する全てのカラオケ装置4とを抽出し、これら対応付けた一覧である最新リストを作成する(S260)。
【0067】
なお、カラオケ装置4が最新リストを作成する際、この最新リストにおけるコンテンツの並び順が、保有リストにおける各コンテンツのレコードの並び順(配信優先度順)に準ずるように作成する。すなわち、この最新リストにおけるコンテンツのレコードは、配信優先度の高い方から順に上位に並べられている。
【0068】
例えば、ファイル名「A」のコンテンツについて、図4(a)〜(d)に示す各保有リストを比較すると、コンテンツAの最新のリビジョンは3である。そして、そのリビジョン3のコンテンツAを保有しているのは、図4(a)の保有リストからシリアル番号X001のカラオケ装置のみであると分かる。したがって、最新リストには、ファイル名「A」、最新リビジョン「3」、シリアル番号「X001」からなるレコードが記述されるのである。同様に、例えばファイル名「I」のコンテンツについて、各保有リストを比較すると、コンテンツIの最新のリビジョンは2である。そして、そのリビジョン2のコンテンツIを保有しているのは、シリアル番号X002,X003のカラオケ装置のみである。したがって、最新リストには、ファイル名「I」、最新リビジョン「2」、シリアル番号「X002」,「X003」からなるレコードが記述されるのである。
【0069】
[マスタ機が実行する取得先リスト作成処理の説明]
次に、マスタ機が実行する取得先リスト作成処理の詳細な内容について、図6,7,8を参照しながら説明する。
【0070】
図7は、マスタ機のCPU41が実行する取得先リスト作成処理の手順を示すフローチャートの前半部分であり、図8は、その後半部分である。この処理は、上述のマスタ機が実行する通信・等価処理(図3参照)のS150および上述のスレイブ機が実行する通信・等価処理(図10参照)のS670で実行される処理である。
【0071】
マスタ機のCPU41は、まず、RAM42内に記憶している取得先リストのレコードを全て消去して初期化する(図7:S310)。次に、RAM42内に記憶しているパラメータである「前回接続先」のシリアル番号を消去して初期化する(S320)。
【0072】
そして、最新リスト(図6(a)参照)のレコードを上位から順に参照し、未処理のレコードがあるか否かを判定する(S330)。最新リストに未処理のレコードがあると判定した場合(S330:YES)、この最新リストから、未処理のレコードのうちで最上位の1レコードを処理対象として取得する(S340)。そして、この取得した処理対象のレコードに記述されているシリアル番号の中に、自機のシリアル番号が含まれているか否かを判定する(S350)。ここで、処理対象のレコードに自機のシリアル番号が含まれていると判定した場合(S350:YES)、その処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、自機のシリアル番号)を、1件分のレコードとして取得先リストの最後尾に追加し(S390)、S330の処理へ戻る。
【0073】
一方、S350で処理対象のレコードに自機のシリアル番号が含まれていないと判定した場合(S350:NO)、処理対象のレコードに複数のシリアル番号が記述されているか否かを判定する(S360)。ここで、処理対象のレコードにシリアル番号が1つしか記述されていないと判定した場合(S360:NO)、その処理対象のレコードに記述されているシリアル番号を前回接続先のパラメータとして上書きして記憶する(S370)。そして、その処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、処理対象のレコードに記述されている唯一のシリアル番号)を、1件分のレコードとして取得先リストの最後尾に追加し(S390)、S330の処理へ戻る。
【0074】
一方、S360で処理対象のレコードに複数のシリアル番号が記述されていると判定した場合(S360:YES)、処理対象のレコードに記述されている複数のシリアル番号の中に、前回接続先のパラメータとして記憶しているシリアル番号と同一のものがあるか否かを判定する(S380)。ここで、前回接続先のシリアル番号と同一のシリアル番号があると判定した場合(S380:YES)、その処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、前回接続先と同一のシリアル番号)を、1件分のレコードとして取得先リストの最後尾に追加し(S390)、S330の処理へ戻る。
【0075】
一方、S380で処理対象のレコードに記述されている複数のシリアル番号の中に、前回接続先のパラメータとして記憶しているシリアル番号と同一のものがないと判定した場合(S380:NO)、S400(図8参照)の処理へ移行する。
【0076】
S400では、RAM42内に記憶しているパラメータである「接続先候補配列」のシリアル番号を全て消去して初期化する。次に、初期化した接続先候補配列に処理対象のレコードに記述されているシリアル番号を全て記録する(S410)。そして、最新リストにおいて処理対象のレコードから次の下位の未参照レコードがあるか否かを判定する(S420)。
【0077】
S420で次の未参照レコードがあると判定した場合(S420:YES)、この次レコードに記述されているシリアル番号を参照する(S430)。そして、当該次レコードに記述されているシリアル番号に、自機のシリアル番号が含まれているか否かを判定する(S440)。ここで、自機のシリアル番号が含まれていると判定した場合(S440:YES)、S420の処理へ戻り、S420では従前の次レコードの更に次の下位の未参照レコードが存在するか否かを判定する。
【0078】
一方、S440で当該次レコードに記述されているシリアル番号に、自機のシリアル番号が含まれていないと判定した場合(S440:NO)、接続先候補配列のパラメータとして記憶しているシリアル番号と、当該次レコードに記述されているシリアル番号との間で、同一のシリアル番号が存在するか否かを判定する(S450)。ここで、接続先候補配列のシリアル番号と当該次レコードのシリアル番号との間で、同一のシリアル番号が存在すると判定した場合(S450:YES)、接続先候補配列から一致しないシリアル番号を削除する(S460)。そして、削除後の接続先候補配列に複数のシリアル番号が存在するか否かを判定する(S470)。ここで、削除後の接続先候補配列に複数のシリアル番号が存在すると判定した場合(S470:YES)、S420の処理へ戻り、S420では従前の次レコードの更に次の下位の未参照レコードが存在するか否かを判定する。
【0079】
一方、S470で接続先候補配列にシリアル番号が1つしか記録されていないと判定した場合(S470:NO)、当該シリアル番号を前回接続先のパラメータとして上書きして記憶し(S490)、S390(図7参照)の処理へ移行する。S390では、処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、接続先候補配列に記録されている唯一のシリアル番号)を、1件分のレコードとして取得先リストの最後尾に追加し、S330の処理へ戻る。
【0080】
図8のフローチャートの説明に戻る。S420で次の下位の未参照レコードが存在しないと判定した場合(S420:NO)、あるいは、S450で接続先候補配列のパラメータとして記憶しているシリアル番号と、当該次レコードに記述されているシリアル番号との間で、同一のシリアル番号が存在しないと判定した場合(S450:NO)、接続先候補配列に記録されているシリアル番号のうち、最も数が小さい(番号が若い)シリアル番号を該当シリアル番号としてセットする(S480)。そして、そのセットした当該シリアル番号を前回接続先のパラメータとして上書きして記憶し(S490)、S390(図7参照)の処理へ移行する。S390では、処理対象のレコードに記述されているファイル名、リビジョン、及び該当シリアル番号(ここでは、S480でセットしたもの)を、1件分のレコードとして取得先リストの最後尾に追加し、S330の処理へ戻る。
【0081】
以降、S330〜S490の処理を順次繰り返すことで、最新リストにおけるレコードの並び順と同じ順序で、取得先リストにコンテンツ及びその取得先のレコードを順次追加していく。そして、S330で最新リストに未処理のレコードがないと判定した場合(S330:NO)、すなわち、最新リストの全てのレコードに対して取得先を選定する処理を終えた場合、取得先リスト作成処理を終了する。
【0082】
図6(c)は、上述の取得先リスト作成処理で作成された取得先リストの一例を模式的に示す説明である。なお、図6(c)に示す事例では、図6(a)に示す最新リストに基づき、識別番号X003のカラオケ装置4cが作成した取得先リストを想定している。
【0083】
図6(c)に示すように、取得先リストは、最新リストに含まれる全レコードに記述された各コンテンツについて、コンテンツのファイル名、そのコンテンツの最新のリビジョン、そのコンテンツの取得先となる1つのカラオケ装置4のシリアル番号からなるレコードの集合によって構成されている。なお、カラオケ装置4が取得先リストを作成する際、この取得先リストにおけるレコードの並び順が、最新リストにおける各レコードの並び順(すなわち、コンテンツの配信優先度順)と同一になるように作成する。すなわち、この取得先リストにおけるコンテンツのレコードは、配信優先度の高い方から順に上位に並べられている。
【0084】
例えば、ファイル名「A」のコンテンツについて、図6(a)の最新リストでは、シリアル番号としてX001のみが記述されている。よって、上述の取得先リスト作成処理(図7,8)では、コンテンツAの取得先のシリアル番号としてX001が選択され、図6(c)の取得先リストのコンテンツAのレコードに記述される。同じく、ファイル名「B」のコンテンツについても、最新リストではシリアル番号としてX004のみが記述されているため、このX004が取得先リストのコンテンツBのレコードに記述される。
【0085】
次に、ファイル名「C」のコンテンツについて、最新リストではシリアル番号としてX001,X003,X004が記述されている。このとき、レコードに自機のシリアル番号があるため、コンテンツCの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツCのレコードに記述される。このように、取得先として自機のシリアル番号を選択した場合、他のカラオケ装置4から改めてコンテンツを取得する必要がないため、通信セッションの確立やコンテンツの転送のために要する通信負荷を軽減できる。
【0086】
次に、ファイル名「D」のコンテンツについて、最新リストではシリアル番号としてX002,X003,X004が記述されている。この場合、自機のシリアル番号X003が含まれているので、コンテンツDの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツDのレコードに記述される。
【0087】
次に、ファイル名「E」のコンテンツについて、最新リストではシリアル番号としてX001,X003が記述されている。この場合、自機のシリアル番号X003が含まれているので、コンテンツEの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツEのレコードに記述される。
【0088】
次に、ファイル名「F」のコンテンツについて、最新リストではシリアル番号としてX003,X004が記述されている。この場合、自機のシリアル番号X003が含まれているので、コンテンツFの取得先としてX003が選択され、取得先リストのコンテンツFのレコードに記述される。
【0089】
次に、ファイル名「G」のコンテンツについて、自機(X003)がX002から送付された最新リストにはシリアル番号としてX001,X004が記述されている。自機のシリアル番号のX003は含まれない(S360:NO)。そして、レコードにシリアル番号は複数である(S360:YES)。更に、現在、記憶されている前回接続先の値はX004(ファイル名「B」のコンテンツの取得先リストの作成タイミング(S370)で記憶された値)であるから、前回接続先と同じシリアル番号(X004)がある(S380:YES)ので、この場合の前回接続先はX004となる。よって、コンテンツGの取得先としてX004が選択され、取得先リストのコンテンツGのレコードに記述される(S390)。 次に、ファイル名「H」のコンテンツについて、最新リストでは、自機のシリアル番号X003のみが記述されている。よって、コンテンツHの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツHのレコードに記述される。
【0090】
最後に、ファイル名「I」のコンテンツについて、最新リストではシリアル番号としてX002,X003が記述されている。この場合、自機のシリアル番号X003が含まれているので、コンテンツIの取得先として自機のシリアル番号X003が選択され、取得先リストのコンテンツIのレコードに記述される。
【0091】
また、レコードを処理する初期の段階において、最新リストから未処理レコードを最初に1つ取得したとき(S340)に、前回接続先として記憶された値が無く、レコードに複数のシリアル番号があり、かつ、その中に自機のシリアル番号もない状態(S350:NO、S360:NO、S380:NO)では、S400〜S490の処理によって、前回接続先として記憶される値が特定される。
【0092】
よって、取得先リストにおける上位のコンテンツから順にコンテンツを取得するという前提においては、上記のように前回の接続先と同一のシリアル番号を取得先として選択することで、同一の取得先のカラオケ装置4から複数のコンテンツを連続して取得できるようになる。すなわち、一度確立した確立した通信セッションで複数のコンテンツを連続して取得できるようになり、1つのコンテンツを取得する度に異なる取得先と通信セッションを確立する場合と比較して、通信セッション確立のために要する通信負荷を軽減できる。
【0093】
[マスタ機が実行するコンテンツ取得処理の説明]
次に、マスタ機が実行するコンテンツ取得処理の詳細な内容について、図9を参照しながら説明する。
【0094】
図9は、マスタ機のCPU41が実行するコンテンツ取得処理の手順を示すフローチャートである。この処理は、上述のマスタ機が実行する通信・等価処理(図3参照)のS160および上述のスレイブ機が実行する通信・等価処理(図10参照)のS680で実行される処理である。
【0095】
マスタ機のCPU41は、まず、取得先リスト(図6(c)参照)のレコードを上位から順に参照し、未取得のコンテンツのレコードがあるか否かを判定する(S510)。取得先リストに未取得のコンテンツのレコードがあると判定した場合(S510:YES)、この取得先リストから、未取得のコンテンツのレコードのうちで最上位の1レコードを処理対象として取得する(S520)。
【0096】
そして、処理対象のレコードに記述されているシリアル番号が自機のシリアル番号と同一であるか否かを判定する(S530)。ここで、処理対象のレコードに記述されているシリアル番号が自機のシリアル番号と同一であると判定した場合(S530:YES)、S510の処理へ戻り、次の処理対象のレコードがあるか否かを判定する。
【0097】
一方、S530で処理対象のレコードに記述されているシリアル番号が自機のシリアル番号とは異なると判定した場合(S530:NO)、処理対象のレコードに記述されているシリアル番号に該当するカラオケ装置4から、このレコードに該当のコンテンツを取得する(S540)。このとき、前回接続先として既に通信セッションを確立している通信相手と同一のカラオケ装置4からコンテンツを取得する場合、その通信セッションを維持したまま、連続してコンテンツを取得する。一方、前回接続先とは異なるカラオケ装置4からコンテンツを取得する場合、その取得先のカラオケ装置4との間で新規に通信セッションを確立し、コンテンツを取得する。
【0098】
以降、S510〜S540の処理を順次繰り返し、取得先リストの上位のレコードから配信優先度順に従って順次コンテンツを取得し、S510で取得先リストに未取得のコンテンツのレコードがないと判定した場合(S510:NO)、コンテンツ取得処理を終了する。
【0099】
[効果]
上記実施形態のカラオケネットワークシステムによれば、以下のような効果を奏する。
(1)LAN100に接続された各カラオケ装置4は、他のカラオケ装置4から保有リストを収集し、その収集した保有リストに基づき、最新リスト及び取得先リストを作成する。そして、その作成した取得先リストによって、それぞれ自機が保有していない最新のコンテンツを、その最新のコンテンツを保有している他のカラオケ装置4から取得することができる。これにより、製造時期や使用履歴の異なる複数のカラオケ装置4がLAN100上に接続され、最新コンテンツの配信状況が不均一である状況において、各カラオケ装置4がそれぞれLAN100上の他のカラオケ装置4から最新のコンテンツを取得することで、サービスの不公平を速やかに解消できる。また、自機が保有しない最新コンテンツのみを取得することになるので、最新のコンテンツ4を保有しないカラオケ装置に等価されてしまうといった、いわゆる逆等価も発生しない。したがって、実施形態のカラオケネットワークシステム1によれば、コンテンツの取得状況が異なる複数のカラオケ装置4間で、最新のコンテンツを効率よく配信できる。
【0100】
(2)最新のコンテンツの保有量が最も多いカラオケ装置4をマスタ機として選択する(図3:S140)。このように、全カラオケ装置4のうちコンテンツ取得権限を所有するマスタ機として好適なカラオケ装置4をマスタ機として選択した後に、選択されたマスタ機はホストとの通信(図3:S170)を実行する以前に、各スレイブ機から最新コンテンツを取得してからホストと通信するので、ホストから取得するコンテンツ数を減らすことが可能になり、WANのコンテンツ転送量が少なくなるので前記転送に要する時間も低減することができる。
【0101】
更に、選択されたマスタ機が店舗内の各スレイブ機から最新コンテンツを取得する処理も、他のカラオケ装置4から最新コンテンツを取得するためのLANの送受信量を低減させるとともに前記送受信に要する時間も低減することができる取得処理(図3:S150、S160)を行うので、選択されたマスタ機がホストと通信を開始するまでの時間も短くなる。つまり、カラオケネットワークシステム1において、主にWANのコンテンツ転送に関わる転送時間が少なくなるようにマスタ機を交替することにより、WAN−LANの転送にかかわる無駄な転送を行わなくすることで配信効率を上げるとともに等価完了までの時間を短くし、サービスの不公平期間を短くすることができる。したがって、本実施形態のカラオケネットワークシステム1によれば、コンテンツの取得状況が異なる複数のカラオケ装置4間で、最新のコンテンツを効率よく配信できる。
【0102】
(3)取得先リストの作成手順として、最新リストの上位から順に、対象のコンテンツを保有しているカラオケ装置4に自機が含まれていれば、まず、自機を取得先に選択する。この場合、そのコンテンツを改めて他のカラオケ装置4から取得する必要はないので、コンテンツを取得するための通信負荷が省ける。
【0103】
(4)次に、自機が対象のコンテンツを保有していない場合、前回接続先のカラオケ装置4が、対象のコンテンツを保有するカラオケ装置4に含まれていれば、そのカラオケ装置4を対象のコンテンツの取得先として選択する。このようにすることで、同じカラオケ装置4から連続してコンテンツを取得できるようになるので、通信セッションを確立するための負荷を低減できる。
【0104】
(5)一方、自機が対象のコンテンツを保有しておらず、前回接続先のカラオケ装置4も対象のコンテンツを保有していない場合、その直近下位(自カラオケ装置が保有するコンテンツを除く)のコンテンツを保有するカラオケ装置4の何れかが、対象のコンテンツを保有するカラオケ装置4と同一であれば、その同一のカラオケ装置4を対象のコンテンツの取得先として選択する。この場合、そのコンテンツを取得する際に、新たな通信セッションを確立する必要があるものの、次のコンテンツを同じカラオケ装置4から連続して取得できるので、通信セッションを確立するための負荷を低減できる。
【0105】
(6)また、対象のコンテンツの直近下位のコンテンツに対応付けられているカラオケ装置4と同一のカラオケ装置4を取得先として選択する際、これに該当するカラオケ装置4が複数存在する場合、その複数のカラオケ装置4のうち、直近下位のコンテンツから連続して最も多くの下位コンテンツと保有者が同一となるカラオケ装置4を対象のコンテンツの取得先として選択する。このように構成することで、なるべく多くの下位コンテンツの取得先に連続してなるように、対象のコンテンツの取得先を選択できる。よって、同じカラオケ装置4からなるべく多くのコンテンツを連続して取得できるようなり、通信負荷や通信時間を低減し、カラオケ装置間でコンテンツを効率よく取得できる。
【0106】
(3)〜(6)のようすることで、コンテンツを取得する順序を変えることなく、すなわち、コンテンツの配信優先度順を維持したままで、同じカラオケ装置4からなるべく多くのコンテンツを連続して取得できるように取得先リストが作成される。よって、通信負荷や通信時間を低減し、カラオケ装置間でコンテンツを効率よく取得できる。
【図面の簡単な説明】
【0107】
【図1】カラオケネットワークシステム1の概略構成を示すブロック図である。
【図2】(a)はカラオケ装置4の概略構成を示すブロック図であり、(b)はホストサーバ2の概略構成を示すブロック図である。
【図3】マスタ機が実行する通信・等価処理の手順を示すフローチャートである。
【図4】保有リストの一例を模式的に示す説明図である。
【図5】最新リスト作成処理の手順を示すフローチャートである。
【図6】(a)は最新リストの一例を模式的に示す説明図であり、(b)は集計結果の一例を模式的に示す説明図であり、(c)は取得先リストの一例を模式的に示す説明図である。
【図7】取得先リスト作成処理の手順を示すフローチャートの前半部分である。
【図8】取得先リスト作成処理の手順を示すフローチャートの後半部分である。
【図9】コンテンツ取得処理の手順を示すフローチャートである。
【図10】スレイブ機が実行する通信・等価処理の手順を示すフローチャートである。
【符号の説明】
【0108】
1…カラオケネットワークシステム、2…ホストサーバ、4…カラオケ装置、21…CPU、22…RAM、23…ROM、24…HDD、25…LAN通信部、41…CPU、42…RAM、43…ROM、44…HDD、45…操作部、46…再生部、47…入力部、48…LAN通信部、100…LAN、120…ルータ、200…WAN
【特許請求の範囲】
【請求項1】
カラオケ楽曲を少なくとも含むコンテンツを再生する複数のカラオケ装置がネットワークを介して通信可能に接続されており、前記カラオケ装置のうちコンテンツ配信用のホストサーバからコンテンツを取得するコンテンツ取得権限を唯一所有するマスタ機のみが前記ホストサーバからコンテンツを取得し、この取得したコンテンツを前記コンテンツ取得権限を所有しないカラオケ装置であるスレイブ機に対して順次配信するように構成されたカラオケネットワークシステムにおいて、
前記各カラオケ装置は、前記マスタ機及び前記スレイブ機の何れとしても機能できるように構成され、自カラオケ装置が前記コンテンツ取得権限を所有するマスタ機として機能する場合に実行する処理に関する手段として、
自カラオケ装置について、当該カラオケ装置の識別情報と、そのカラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する第1の保有リスト作成手段と、
前記ネットワークに接続している他の各カラオケ装置に対して、当該カラオケ装置に関する前記保有リストの作成を依頼する作成依頼手段と、
前記作成依頼手段による作成依頼に応じて前記他の各カラオケ装置で作成された前記保有リストを取得する保有リスト取得手段と、
第1の保有リスト作成手段により作成した自カラオケ装置の保有リスト、及び保有リスト取得手段により取得した前記他の各カラオケ装置の保有リストに基づき、これらの保有リストに含まれる各コンテンツごとに、コンテンツの識別情報と、そのコンテンツにおける最新のリビジョンと、その最新のリビジョンのコンテンツを保有する全カラオケ装置の識別情報とを対応付けて記録したリストである最新リストを作成する最新リスト作成手段と、
前記最新リスト作成手段により作成した最新リストを参照して全カラオケ装置のうち前記コンテンツ取得権限を所有するマスタ機として好適なカラオケ装置を選択する選択手段と、
前記選択手段によって前記各スレイブ機のうちの1つがマスタ機として好適なカラオケ装置と選択された場合に、その選択されたスレイブ機に対して前記コンテンツ取得権限を移譲するとともに前記最新リスト作成手段により作成した最新リストをその選択されたスレイブ機に送信し、自カラオケ装置を前記マスタ機から前記スレイブ機へ移行させるコンテンツ取得権移譲手段と、
前記選択手段によって自カラオケ装置がマスタ機として好適なカラオケ装置と引き続き選択された場合に、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報のうち、当該コンテンツの取得先となるカラオケ装置の識別情報を1つのコンテンツにつき1つ選択し、これを当該コンテンツの識別情報及び最新のリビジョンに対応付けて記録したリストである取得先リストを作成する取得先リスト作成手段と、
前記取得先リスト作成手段により作成した取得先リストにおいて、最新リビジョンのコンテンツの取得先として自カラオケ装置以外の他のカラオケ装置の識別情報が対応付けられている場合、当該最新リビジョンのコンテンツを対応するカラオケ装置から取得する第1のコンテンツ取得手段と、
前記第1のコンテンツ取得手段による自カラオケ装置以外の他のカラオケ装置からのコンテンツの取得後に、前記ホストサーバからコンテンツを取得する第2のコンテンツ取得手段と、を備え、
さらに、前記各カラオケ装置は、自カラオケ装置が前記コンテンツ取得権限を所有しないスレイブ機として機能する場合に実行する処理に関する手段として、
保有リスト作成依頼に応じて、自カラオケ装置の識別情報と、自カラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する第2の保有リスト作成手段と、
前記第2の保有リスト作成手段により作成した自カラオケ装置の保有リストを、作成依頼元のカラオケ装置に対して送信する保有リスト送信手段と、
前記マスタ機から前記コンテンツ取得権限を移譲された場合、自カラオケ装置を前記スレイブ機から前記マスタ機へ移行させ、前記ホストサーバから当該コンテンツを取得するコンテンツ取得権譲受手段と、を備えること
を特徴とするカラオケネットワークシステム。
【請求項2】
請求項1に記載のカラオケネットワークシステムにおいて、
前記選択手段は、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報の数量を比較し、その比較の結果、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報の数量が最も多いカラオケ装置を、前記コンテンツ取得権限を所有するマスタ機として好適なカラオケ装置と選択すること
を特徴とするカラオケネットワークシステム。
【請求項3】
カラオケ楽曲を少なくとも含むコンテンツを再生する複数のカラオケ装置がネットワークを介して通信可能に接続されており、前記カラオケ装置のうちコンテンツ配信用のホストサーバからコンテンツを取得するコンテンツ取得権限を唯一所有するマスタ機のみが前記ホストサーバからコンテンツを取得し、この取得したコンテンツを前記コンテンツ取得権限を所有しないカラオケ装置であるスレイブ機に対して順次配信するように構成されたカラオケネットワークシステムを構成する前記カラオケ装置において、
前記マスタ機及び前記スレイブ機の何れとしても機能できるように構成され、自カラオケ装置が前記コンテンツ取得権限を所有するマスタ機として機能する場合に実行する処理に関する手段として、
自カラオケ装置について、当該カラオケ装置の識別情報と、そのカラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する第1の保有リスト作成手段と、
前記ネットワークに接続している他の各カラオケ装置に対して、当該カラオケ装置に関する前記保有リストの作成を依頼する作成依頼手段と、
前記作成依頼手段による作成依頼に応じて前記他の各カラオケ装置で作成された前記保有リストを取得する保有リスト取得手段と、
第1の保有リスト作成手段により作成した自カラオケ装置の保有リスト、及び保有リスト取得手段により取得した前記他の各カラオケ装置の保有リストに基づき、これらの保有リストに含まれる各コンテンツごとに、コンテンツの識別情報と、そのコンテンツにおける最新のリビジョンと、その最新のリビジョンのコンテンツを保有する全カラオケ装置の識別情報とを対応付けて記録したリストである最新リストを作成する最新リスト作成手段と、
前記最新リスト作成手段により作成した最新リストを参照して全カラオケ装置のうち前記コンテンツ取得権限を所有するマスタ機として好適なカラオケ装置を選択する選択手段と、
前記選択手段によって前記各スレイブ機のうちの1つがマスタ機として好適なカラオケ装置と選択された場合に、その選択されたスレイブ機に対して前記コンテンツ取得権限を移譲するとともに前記最新リスト作成手段により作成した最新リストをその選択されたスレイブ機に送信し、自カラオケ装置を前記マスタ機から前記スレイブ機へ移行させるコンテンツ取得権移譲手段と、
前記選択手段によって自カラオケ装置がマスタ機として好適なカラオケ装置と選択された場合に、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報のうち、当該コンテンツの取得先となるカラオケ装置の識別情報を1つのコンテンツにつき1つ選択し、これを当該コンテンツの識別情報及び最新のリビジョンに対応付けて記録したリストである取得先リストを作成する取得先リスト作成手段と、
前記取得先リスト作成手段により作成した取得先リストにおいて、最新リビジョンのコンテンツの取得先として自カラオケ装置以外の他のカラオケ装置の識別情報が対応付けられている場合、当該最新リビジョンのコンテンツを対応するカラオケ装置から取得する第1のコンテンツ取得手段と、
前記第1のコンテンツ取得手段による自カラオケ装置以外の他のカラオケ装置からのコンテンツの取得後に、前記ホストサーバからコンテンツを取得する第2のコンテンツ取得手段と、を備え、
さらに、自カラオケ装置が前記コンテンツ取得権限を所有しないスレイブ機として機能する場合に実行する処理に関する手段として、
保有リスト作成依頼に応じて、自カラオケ装置の識別情報と、自カラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する第2の保有リスト作成手段と、
前記第2の保有リスト作成手段により作成した自カラオケ装置の保有リストを、作成依頼元のカラオケ装置に対して送信する保有リスト送信手段と、
前記マスタ機から前記コンテンツ取得権限を移譲された場合、自カラオケ装置を前記スレイブ機から前記マスタ機へ移行させ、前記ホストサーバから当該コンテンツを取得するコンテンツ取得権譲受手段と、を備えること
を特徴とカラオケ装置。
【請求項1】
カラオケ楽曲を少なくとも含むコンテンツを再生する複数のカラオケ装置がネットワークを介して通信可能に接続されており、前記カラオケ装置のうちコンテンツ配信用のホストサーバからコンテンツを取得するコンテンツ取得権限を唯一所有するマスタ機のみが前記ホストサーバからコンテンツを取得し、この取得したコンテンツを前記コンテンツ取得権限を所有しないカラオケ装置であるスレイブ機に対して順次配信するように構成されたカラオケネットワークシステムにおいて、
前記各カラオケ装置は、前記マスタ機及び前記スレイブ機の何れとしても機能できるように構成され、自カラオケ装置が前記コンテンツ取得権限を所有するマスタ機として機能する場合に実行する処理に関する手段として、
自カラオケ装置について、当該カラオケ装置の識別情報と、そのカラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する第1の保有リスト作成手段と、
前記ネットワークに接続している他の各カラオケ装置に対して、当該カラオケ装置に関する前記保有リストの作成を依頼する作成依頼手段と、
前記作成依頼手段による作成依頼に応じて前記他の各カラオケ装置で作成された前記保有リストを取得する保有リスト取得手段と、
第1の保有リスト作成手段により作成した自カラオケ装置の保有リスト、及び保有リスト取得手段により取得した前記他の各カラオケ装置の保有リストに基づき、これらの保有リストに含まれる各コンテンツごとに、コンテンツの識別情報と、そのコンテンツにおける最新のリビジョンと、その最新のリビジョンのコンテンツを保有する全カラオケ装置の識別情報とを対応付けて記録したリストである最新リストを作成する最新リスト作成手段と、
前記最新リスト作成手段により作成した最新リストを参照して全カラオケ装置のうち前記コンテンツ取得権限を所有するマスタ機として好適なカラオケ装置を選択する選択手段と、
前記選択手段によって前記各スレイブ機のうちの1つがマスタ機として好適なカラオケ装置と選択された場合に、その選択されたスレイブ機に対して前記コンテンツ取得権限を移譲するとともに前記最新リスト作成手段により作成した最新リストをその選択されたスレイブ機に送信し、自カラオケ装置を前記マスタ機から前記スレイブ機へ移行させるコンテンツ取得権移譲手段と、
前記選択手段によって自カラオケ装置がマスタ機として好適なカラオケ装置と引き続き選択された場合に、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報のうち、当該コンテンツの取得先となるカラオケ装置の識別情報を1つのコンテンツにつき1つ選択し、これを当該コンテンツの識別情報及び最新のリビジョンに対応付けて記録したリストである取得先リストを作成する取得先リスト作成手段と、
前記取得先リスト作成手段により作成した取得先リストにおいて、最新リビジョンのコンテンツの取得先として自カラオケ装置以外の他のカラオケ装置の識別情報が対応付けられている場合、当該最新リビジョンのコンテンツを対応するカラオケ装置から取得する第1のコンテンツ取得手段と、
前記第1のコンテンツ取得手段による自カラオケ装置以外の他のカラオケ装置からのコンテンツの取得後に、前記ホストサーバからコンテンツを取得する第2のコンテンツ取得手段と、を備え、
さらに、前記各カラオケ装置は、自カラオケ装置が前記コンテンツ取得権限を所有しないスレイブ機として機能する場合に実行する処理に関する手段として、
保有リスト作成依頼に応じて、自カラオケ装置の識別情報と、自カラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する第2の保有リスト作成手段と、
前記第2の保有リスト作成手段により作成した自カラオケ装置の保有リストを、作成依頼元のカラオケ装置に対して送信する保有リスト送信手段と、
前記マスタ機から前記コンテンツ取得権限を移譲された場合、自カラオケ装置を前記スレイブ機から前記マスタ機へ移行させ、前記ホストサーバから当該コンテンツを取得するコンテンツ取得権譲受手段と、を備えること
を特徴とするカラオケネットワークシステム。
【請求項2】
請求項1に記載のカラオケネットワークシステムにおいて、
前記選択手段は、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報の数量を比較し、その比較の結果、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報の数量が最も多いカラオケ装置を、前記コンテンツ取得権限を所有するマスタ機として好適なカラオケ装置と選択すること
を特徴とするカラオケネットワークシステム。
【請求項3】
カラオケ楽曲を少なくとも含むコンテンツを再生する複数のカラオケ装置がネットワークを介して通信可能に接続されており、前記カラオケ装置のうちコンテンツ配信用のホストサーバからコンテンツを取得するコンテンツ取得権限を唯一所有するマスタ機のみが前記ホストサーバからコンテンツを取得し、この取得したコンテンツを前記コンテンツ取得権限を所有しないカラオケ装置であるスレイブ機に対して順次配信するように構成されたカラオケネットワークシステムを構成する前記カラオケ装置において、
前記マスタ機及び前記スレイブ機の何れとしても機能できるように構成され、自カラオケ装置が前記コンテンツ取得権限を所有するマスタ機として機能する場合に実行する処理に関する手段として、
自カラオケ装置について、当該カラオケ装置の識別情報と、そのカラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する第1の保有リスト作成手段と、
前記ネットワークに接続している他の各カラオケ装置に対して、当該カラオケ装置に関する前記保有リストの作成を依頼する作成依頼手段と、
前記作成依頼手段による作成依頼に応じて前記他の各カラオケ装置で作成された前記保有リストを取得する保有リスト取得手段と、
第1の保有リスト作成手段により作成した自カラオケ装置の保有リスト、及び保有リスト取得手段により取得した前記他の各カラオケ装置の保有リストに基づき、これらの保有リストに含まれる各コンテンツごとに、コンテンツの識別情報と、そのコンテンツにおける最新のリビジョンと、その最新のリビジョンのコンテンツを保有する全カラオケ装置の識別情報とを対応付けて記録したリストである最新リストを作成する最新リスト作成手段と、
前記最新リスト作成手段により作成した最新リストを参照して全カラオケ装置のうち前記コンテンツ取得権限を所有するマスタ機として好適なカラオケ装置を選択する選択手段と、
前記選択手段によって前記各スレイブ機のうちの1つがマスタ機として好適なカラオケ装置と選択された場合に、その選択されたスレイブ機に対して前記コンテンツ取得権限を移譲するとともに前記最新リスト作成手段により作成した最新リストをその選択されたスレイブ機に送信し、自カラオケ装置を前記マスタ機から前記スレイブ機へ移行させるコンテンツ取得権移譲手段と、
前記選択手段によって自カラオケ装置がマスタ機として好適なカラオケ装置と選択された場合に、自カラオケ装置の最新リスト作成手段または他のカラオケ装置の最新リスト作成手段により作成した最新リストにおいて、最新リビジョンの各コンテンツに対応付けられているカラオケ装置の識別情報のうち、当該コンテンツの取得先となるカラオケ装置の識別情報を1つのコンテンツにつき1つ選択し、これを当該コンテンツの識別情報及び最新のリビジョンに対応付けて記録したリストである取得先リストを作成する取得先リスト作成手段と、
前記取得先リスト作成手段により作成した取得先リストにおいて、最新リビジョンのコンテンツの取得先として自カラオケ装置以外の他のカラオケ装置の識別情報が対応付けられている場合、当該最新リビジョンのコンテンツを対応するカラオケ装置から取得する第1のコンテンツ取得手段と、
前記第1のコンテンツ取得手段による自カラオケ装置以外の他のカラオケ装置からのコンテンツの取得後に、前記ホストサーバからコンテンツを取得する第2のコンテンツ取得手段と、を備え、
さらに、自カラオケ装置が前記コンテンツ取得権限を所有しないスレイブ機として機能する場合に実行する処理に関する手段として、
保有リスト作成依頼に応じて、自カラオケ装置の識別情報と、自カラオケ装置が保有する全コンテンツの識別情報、及びその各コンテンツのリビジョンとを記録したリストである保有リストを作成する第2の保有リスト作成手段と、
前記第2の保有リスト作成手段により作成した自カラオケ装置の保有リストを、作成依頼元のカラオケ装置に対して送信する保有リスト送信手段と、
前記マスタ機から前記コンテンツ取得権限を移譲された場合、自カラオケ装置を前記スレイブ機から前記マスタ機へ移行させ、前記ホストサーバから当該コンテンツを取得するコンテンツ取得権譲受手段と、を備えること
を特徴とカラオケ装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2010−85660(P2010−85660A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2008−254032(P2008−254032)
【出願日】平成20年9月30日(2008.9.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願日】平成20年9月30日(2008.9.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]