カラオケネットワークシステム、集中管理装置
【課題】P2P通信によってカラオケ装置間でコンテンツを送受信するカラオケネットワークシステムにおいて、コンテンツの送信に係る送信データ量を各カラオケ端末間で平滑化する。
【解決手段】集中管理装置は、サーバ情報に基づき、残りデータ量が所定値以上であり且つ前記所定値以上の残りデータ量分を余剰データ量としたときの前記余剰データ量が最大のカラオケ装置(サーバ)を選定し、その選定されたカラオケ装置にて人気の高いコンテンツ(最大人気コンテンツ)を特定する。また、集中管理装置は、サーバ情報に基づき、サーバの余剰データ量が最大人気コンテンツのデータ量よりも大きく、データ送信速度によれば所定期間内にその最大人気コンテンツの送信が可能であるかを判定する。集中管理装置は、サーバから最大人気コンテンツを取得するようクライアントへ通知する。通知を受けたクライアントは、通知されたサーバから最大人気コンテンツを取得する。
【解決手段】集中管理装置は、サーバ情報に基づき、残りデータ量が所定値以上であり且つ前記所定値以上の残りデータ量分を余剰データ量としたときの前記余剰データ量が最大のカラオケ装置(サーバ)を選定し、その選定されたカラオケ装置にて人気の高いコンテンツ(最大人気コンテンツ)を特定する。また、集中管理装置は、サーバ情報に基づき、サーバの余剰データ量が最大人気コンテンツのデータ量よりも大きく、データ送信速度によれば所定期間内にその最大人気コンテンツの送信が可能であるかを判定する。集中管理装置は、サーバから最大人気コンテンツを取得するようクライアントへ通知する。通知を受けたクライアントは、通知されたサーバから最大人気コンテンツを取得する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに接続された複数のカラオケ装置間でピアツーピア(Peer to Peer(P2P))型のコンテンツ送信を行うカラオケネットワークシステムに関する。
【背景技術】
【0002】
近年、インターネットを利用した様々なコンテンツサービスが実施されている。このようなコンテンツは、それを利用するユーザの趣味・嗜好の多様化に対応するために年々多様化しており、個々のコンテンツも高品質・大容量化している。また、コンテンツを利用するインターネット接続端末の数も増大している。このような情勢に対して、従来のクライアントサーバ方式ではサービスの規模が増大するにつれてサーバの負荷も増えていくため、サーバの高性能化や十分な通信帯域幅の確保等、コンテンツ送信システムの運用・保守にかかるコストが膨大になるといった問題が顕著化しつつある。
【0003】
そこで、複数の端末同士でデータを共有するP2P方式のコンテンツ送信システムが実用化している(例えば、特許文献1参照)。このようなP2P方式のコンテンツ送信システムによれば、コンテンツを配給するサーバの負荷を軽減し、運用・保守にかかるコストを低減することができるとされている。
【0004】
ところで、カラオケサービスを提供するカラオケ装置において再生されるコンテンツは、通常の演奏データ(MIDIデータ)の他に、実際の演奏音声をサンプリングした高品質の生音楽曲やプロモーションビデオ、CM映像等があり、益々多種多様化している。また、カラオケ装置を利用するユーザの嗜好や趣味の多様化に対応した個別のサービスを提供するため、近年では個々のユーザごとに専用のコンテンツが必要となる等、カラオケ装置で利用されるコンテンツは膨大な量となっている。
【0005】
そのため、カラオケサービスで提供可能な全てのコンテンツを、個々のカラオケ装置内の記憶装置に保存することができなくなっている。そこで、ユーザがサービス(歌を歌う、動画を見る等)を要求したときに、そのサービスに対応するコンテンツがカラオケ装置内に存在しなければ、他の機器(例えば、インターネット上のコンテンツ送信サーバや他のカラオケ装置等)からコンテンツを取得してサービスを提供する、オンデマンドのコンテンツ送信が行われている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−197400
【発明の概要】
【発明が解決しようとする課題】
【0007】
P2P方式のデータ通信を行うインターネット接続端末は、通常、インターネットサービスプロバイダ(ISP)が提供するアクセス回線を経由して、インターネット上の他端末との間でデータの送受信を行う。しかし、一部の端末がP2P通信で大量のデータを転送することで、ISPのアクセス回線の通信帯域が占有され、他の端末の通信に支障が出るケースが増えている。
【0008】
これは、近年P2P通信が盛んに行われるようになったことで、従来それほど多くなかった各端末の上り(データ送出時)の通信量の増加が原因の一端となっている。これに対処するため、所定期間(例えば1日)あたりの通信データ量(特にデータ送出時)に制限を設ける等の処置を行うISPも増えてきている。
(例えば、http://www.ocn.ne.jp/info/rules/upload/ など参照)
P2P通信を利用する通信カラオケシステムにおいて、通信量の制限に抵触したことが原因でコンテンツの送信ができないカラオケ装置が発生すると、その分、ネットワーク内でコンテンツを送信できるカラオケ装置の数が減少することになる。コンテンツを送信できるカラオケ装置の数が減少すると、残りのカラオケ装置にコンテンツの送信要求が集中し、通信負荷の増大に起因してコンテンツの送信に遅延を招くおそれがある。また、そのような事態が更に悪化し、カラオケ装置間でのコンテンツの送信に支障を来たすことになればカラオケサービスとって致命的である。そのため、送信データ量に制限が設けられた条件下では、各カラオケ装置の送信データ量が制限値を超えないように調整する必要がある。
【0009】
例えば、各カラオケ装置のデータ送出時の通信速度に制限を設ければ、1日あたりの送信データ量をトータル的に制限できるため、予め設定された上限値を超えないようにできる。しかしながら、全てのカラオケ装置に対して一律に通信速度の制限を設けると、コンテンツの取得に要する時間が増大してしまう。そのため、オンデマンドでコンテンツを送信するカラオケサービスにおいては、ユーザの要求したサービスを開始するまでの待ち時間が長くなり、好ましくない。そのため、コンテンツ送信時の通信速度に制限を設けることなく、各カラオケ装置の送信データ量を上限値以内に抑える必要がある。
【0010】
しかし、各カラオケ装置におけるユーザの利用状況は様々であり、各カラオケ装置へのサービス要求が異なるために保有するコンテンツには偏りがある。例えば、あるカラオケ装置のユーザは新曲を多く選曲することもあるだろうし、またあるカラオケ装置では決まった十八番の曲ばかりを選曲するといった場合も有り得る。このような場合、後者のカラオケ装置にはあまり新曲がダウンロードする必要がないためにその保有コンテンツも増加せず、他のカラオケ装置に送信するデータ量もさほど多くはなく、結果として、そのカラオケ装置の所定時間単位の送信データ量の上限値よりも少なくなる場合が多いと考えられる。あるいは単純にユーザ全体のカラオケ装置の利用率が低いために送信データ量上限値を下回ることもあると思われる。そして、こうした所定時間単位での利用率に差がある場合には、ある所定時間単位においてはあまり送信データ量が多くないが、またある所定時間単位においては大量の利用があって各端末の送信データ量の上限値を超えてしまうこともあり得る。
【0011】
本発明は、上記課題を解決するためになされており、P2P通信によってカラオケ装置間でコンテンツを送受信するカラオケネットワークシステムにおいて、カラオケ装置におけるデータ送信リソースの利用率に拘わらず、コンテンツの送信に係る送信データ量を各カラオケ端末間で効果的に平滑化することで、各カラオケ装置の送信データ量を上限値以内に抑えることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するためになされた請求項1に記載のカラオケネットワークシステムは、次のような特徴を有する。
カラオケ装置は、他のカラオケ装置に対してコンテンツの取得要求を行い、その要求先のカラオケ装置からコンテンツを取得するクライアント機能と、他のカラオケ装置からのコンテンツ取得要求に応じて、要求元のカラオケ装置にコンテンツを送信するサーバ機能とを併せて備える。
【0013】
クライアント機能として、まず、自カラオケ装置の識別情報や、コンテンツの再生予約状況、再生予約されたコンテンツ保有状況等を含むクライアント情報を集中管理装置に対して送信する(クライアント情報送信手段)。サーバ機能として、カラオケ装置に対して所定期間単位で設定されている送信データの上限量のうち、自カラオケ装置が現在の期間中に他のカラオケ装置に送信可能な残りデータ量を記憶しておく(残りデータ量記憶手段)と共に、自カラオケ装置の識別情報や、残りデータ量、コンテンツの保有状況、データ送信速度情報等を含むサーバ情報を集中管理装置に対して送信する(サーバ情報送信手段)。なお、ここでいう所定期間とは、例えば、1日や1週間、1ヶ月といった日数単位の期間でもよいし、○時間毎といった、時間単位の期間であってもよい。
【0014】
これらのクライアント情報及びサーバ情報は、予約内容や保有するコンテンツ等の内容に変更がある都度、集中管理装置に送信するようにしてもよいし、一定時間ごとに送信してもよい。何れにせよ常にカラオケ装置の最新の状態が集中管理装置へ通知されるようになっていることが望ましい。
【0015】
一方、集中管理装置は、各カラオケ装置からそれぞれ受信したクライアント情報及びサーバ情報を記憶しておく(クライアント情報記憶手段、サーバ情報記憶手段)。
また、各カラオケ装置から受信したクライアント情報に基づき各コンテンツの再生予約数を集計する(再生予約数集計手段)。
【0016】
そして、記憶しているサーバ情報に基づき、残りデータ量が所定値以上であり、且つ、
前記所定値以上の残りデータ量分を余剰データ量と定義付けしたときに、前記余剰データ量が最大のカラオケ装置である残量大カラオケ装置を選定する(残量大カラオケ装置選定手段)。また、記憶しているサーバ情報に基づき、残量大カラオケ装置が保有するコンテンツの中から再生予約される頻度が高いコンテンツを取得対象として特定する(取得対象特定手段)。
【0017】
そして、記憶しているサーバ情報に基づき、残量大カラオケ装置の余剰データ量が取得対象のコンテンツのデータ量よりも大きく、データ送信速度によれば所定期間内にその取得対象のコンテンツの送信が可能であるかを判定する(データ送信可否判定手段)。
【0018】
さらに、記憶している各カラオケ装置のサーバ情報に基づき、取得対象のコンテンツを保有していないカラオケ装置の中から、非取得カラオケ装置を選定する(非取得カラオケ装置選定手段)。
【0019】
そして、選定された非取得カラオケ装置に対して、残量大カラオケ装置に該当のサーバ情報を送信し、取得対象のコンテンツの取得を指示する(取得指示手段)。
カラオケ装置は、クライアント機能として、集中管理装置からコンテンツの取得指示及びその取得先のサーバ情報を受信した場合、そのサーバ情報で示されるカラオケ装置に対して当該コンテンツの取得要求を送信し(取得要求手段)、コンテンツを取得する(コンテンツ取得手段)。また、サーバ機能として、他のカラオケ装置からコンテンツの取得要求を受信した場合、自カラオケ装置の残りデータ量が当該取得要求に係るコンテンツのデータ量以上であれば、自カラオケ装置の残りデータ量を当該コンテンツのデータ量分減らしてから、当該コンテンツを要求元のカラオケ装置(クライアント)に対して送信する(コンテンツ送信手段)。
【0020】
このように構成されたカラオケネットワークシステムによれば、ユーザからの再生予約がないときに、残りデータ量に余裕のあるカラオケ装置から人気のあるコンテンツを予め取得しておくことができる。このようにすることで、カラオケ装置間でコンテンツの送信要求を分散させることができ、カラオケ装置におけるデータ送信リソースの利用率に拘わらず、各カラオケ装置間で送信データ量を効果的に平滑化できる。よって、特定のカラオケ装置(サーバ)にコンテンツの送信要求が集中することで送信データ量が上限値を超えてしまうのを防止できる。
【0021】
さらに、請求項2に記載のように、未取得コンテンツの予約を受けたら、ユーザが所望する未取得コンテンツの取得を優先させるために、現在実行中のコンテンツの取得を中断するとよい。
【0022】
さらに、請求項3に記載のように、カラオケ装置のサーバ機能において、コンテンツの送信が終わった後、そのコンテンツのデータ量に対する実際の送信データ量の不足分を、自カラオケ装置の残りデータ量に還元するように構成するとよい(還元手段)。例えば、コンテンツの送信中に何らかの理由により、送信完了前に通信が中段した場合、残りデータ量から予め減算しておいたコンテンツのデータ量よりも、実際の送信データ量が少なくなる場合がある。そこで、コンテンツのデータ量に対する実際の送信データ量の不足分を残りデータ量に還元することで、送信可能な残りデータ量をより正確に管理でき、送信データ量の制限枠を無駄なく活用できる。
【0023】
さらに、請求項4に記載のように、カラオケ装置のサーバ機能において、所定期間が満了したときに、残りデータ量記憶手段に記憶している残りデータ量を上限量にリセットするように構成するとよい(リセット手段)。例えば、1日に送信できるデータ量の上限値が設定されている場合、日付が更新すれば前日までに送信したデータ量に関わらず、次の日には0から上限値までのデータ量の送信が認められることになる。そこで、所定期間(例えば、日付単位や時間単位)の満了と共に、残りデータ量を限量にリセットすることで、送信可能な残りデータ量を適切に管理できる。
【0024】
次に、請求項5に記載の集中管理装置は、請求項1に記載のカラオケネットワークシステムを構成する集中管理装置である。この集中管理装置によれば、上記カラオケネットワークシステムを構築することができ、これにより上述した効果を得ることができる。
【図面の簡単な説明】
【0025】
【図1】カラオケネットワークシステム1の概略構成を示すブロック図である。
【図2】集中管理装置2及びカラオケ装置4の概略構成を示すブロック図である。
【図3】クライアント情報の一例を示す説明図である。
【図4】サーバ情報の一例を示す説明図である。
【図5】通信シーケンスを示すラダーチャートである。
【図6】クライアント処理の手順を示すフローチャートである。
【図7】サーバ処理の手順を示すフローチャートである。
【図8】集中管理処理(1)の手順を示すフローチャートの前半部分である。
【図9】集中管理処理(1)の手順を示すフローチャートの後半部分である。
【図10】集中管理処理(2)の手順を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、本発明の一実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に何ら限定されるものではなく様々な態様にて実施することが可能である。
[カラオケネットワークシステム1の構成の説明]
図1に示すように、カラオケネットワークシステム1は、ユーザにカラオケサービスを提供するカラオケ店舗A,B,C,Dにそれぞれ設置されているカラオケ装置4a,4b,4c,4dと、これらを集中管理する集中管理装置2とがインターネット200を介して互いに通信可能に接続されることによって形成されている。なお、以下の説明において、カラオケ装置4a,4b,4c,4dを特に区別しない場合は、単にカラオケ装置4と表記する。また、図1においては、説明の便宜上、4台のカラオケ装置4がカラオケネットワークシステム1に接続されている構成を示すが、更に多くのカラオケ装置4が接続されていてもよい。
【0027】
このカラオケネットワークシステム1は、インターネット接続端末である各カラオケ装置4間で、互いにコンテンツを送受信することでコンテンツを共有できるP2P方式のネットワークシステムになっている。また、本実施形態では、カラオケ装置4同士によるコンテンツの送受信について、所定期間(例えば、日付単位や時間単位)あたりに各カラオケ装置4が送信できるコンテンツの送信データ量に上限値が設けられていることを想定している。これは、各カラオケ装置4による送信データ量が過大になることで、公共回線の通信帯域を占有してしまわないようにするための措置である。
【0028】
集中管理装置2は、カラオケ装置4同士によるコンテンツの送受信について、コンテンツを送信する側のカラオケ装置4(以下、サーバとも称する)を決定し、これをコンテンツを受信する側のカラオケ装置4(以下、クライアントとも称する)に指示することで、カラオケ装置4同士によるコンテンツの送受信を一元的に管理する。そのために、集中管理装置2は、各カラオケ装置4からコンテンツの再生予約の状況等を示すクライアント情報と、コンテンツの保有状況や現在の期間内で送信可能な残りデータ量を示すサーバ情報とを受信し、これらの情報に基づいてクライアントに対してコンテンツを送信するサーバを決定する。
【0029】
カラオケ装置4は、カラオケサービスを利用するユーザからリクエストされたカラオケ楽曲や、映画、バラエティ番組、ドラマ、CMといった映像コンテンツやオーディション、クイズ等のユーザ参加型のコンテンツ、飲食物の注文といった購買コンテンツ等、様々なコンテンツを各自のHDD44に保有しており、この保有するコンテンツを再生する装置である。また、各カラオケ装置4には、データを送受信する機器を判別するための識別情報として、固有のシリアル番号(例えば、製造番号等)と、IPアドレスとがそれぞれ割当てられている。
【0030】
カラオケ装置4は、再生するコンテンツを自ら保有するための記憶装置であるHDD44を備えているが、このHDD44の記憶容量はカラオケサービスで提供可能な全てのコンテンツを保有するには小さいものである。そのため、個々のカラオケ装置4は一部のコンテンツしか保有していない。しかしながら、カラオケ装置4に対してコンテンツをリクエストする際にユーザが用いる電子早見本(図示なし)では、カラオケサービスで提供可能な全てのコンテンツの予約に必要な情報が網羅されており、カラオケ装置4が保有していないコンテンツであっても再生予約することが可能である。そこで、カラオケネットワークシステム1に接続している複数のカラオケ装置4同士でコンテンツを共有することで、各カラオケ装置4で全てのコンテンツを提供可能にしている。
【0031】
具体的には、カラオケ装置4は、コンテンツの再生予約状況を管理し、集中管理装置2からの指示に基づいて未取得コンテンツを他のカラオケ装置4(サーバ)から取得するクライアント機能と、他のカラオケ装置4(クライアント)からのコンテンツ取得要求に応じてコンテンツを送信するサーバ機能とを併せ持つ。
【0032】
クライアント機能の概要は次のとおりである。カラオケ装置4は、ユーザから再生予約されたコンテンツを予約順に管理しており、予約状況に更新がある都度、コンテンツの再生予約状況とそのコンテンツの保有状況とを示すクライアント情報を集中管理装置2に対して送信する。再生予約中のコンテンツにそのカラオケ装置4が保有していない未取得コンテンツがある場合、集中管理装置2からそのカラオケ装置4に対して、当該コンテンツの取得先のカラオケ装置4を示す情報が通知される。その通知を受けたカラオケ装置4は、通知された取得先からコンテンツを取得することで、ユーザから予約されたコンテンツを再生することができる。
【0033】
一方、サーバ機能の概要は次のとおりである。カラオケ装置4は、自カラオケ装置4におけるコンテンツの保有状況と、現在の期間内で送信可能な残りデータ量とを示すサーバ情報を記憶・管理しており、これらの内容に更新がある都度、集中管理装置2に対してサーバ情報を送信する。一方、クライアントからコンテンツの取得要求を受信した場合、その要求に該当のコンテンツをクライアントへ送信すると共に、残りデータ量を減算する。
【0034】
次に、図2(a),(b)は、集中管理装置2及びカラオケ装置4の概略構成を示すブロック図である。
集中管理装置2は、図2(a)に示すように、ハードウェア構成としてCPU21、RAM22、ROM23、HDD24、ネットワーク通信部25等を備える。
【0035】
このうち、CPU21は、RAM22やROM23に格納されたプログラムやデータに従って、集中管理装置2各部に対する制御及び各種演算を実行する装置で、後述する集中管理処理は、このCPU21によって実行される。RAM22は、CPU21から直接アクセスされるメインメモリとして利用される記憶装置である。なお、各カラオケ装置4から受信するクライアント情報及びサーバ情報もここに保存される。ROM23は、不揮発性の記憶装置であり、BIOSや通常であれば更新されない読み出し専用のデータ等を記憶している。HDD24は、集中管理装置2が作動するめのプログラムや各種データを保存しておくための記憶装置である。ネットワーク通信部25は、集中管理装置2をインターネット200に接続して外部のカラオケ装置4との間で通信を行うための通信インタフェースである。
【0036】
カラオケ装置4は、図2(b)に示すように、ハードウェア構成としてCPU41、RAM42、ROM43、HDD44、操作部45、再生部46、入力部47、ネットワーク通信部48等を備える。
【0037】
このうち、CPU41は、RAM42やROM43に記憶されたプログラムやデータに従って、カラオケ装置4各部に対する制御及び各種演算を実行する装置で、後述するクライアント機能及びサーバ機能に関する各種処理は、このCPU41によって実行される。RAM42は、CPU41から直接アクセスされるメインメモリ等として利用される記憶装置である。自カラオケ装置4の残りデータ量やコンテンツの保有状況等は、このRAM42において保存される。ROM43は、不揮発性の記憶装置であり、BIOSや通常であれば更新されない読み出し専用のデータ等を記憶している。HDD44は、カラオケ用の楽曲データや映像データ等のコンテンツデータやプログラム等の各種データを保存して
おくための装置である。操作部45は、ユーザからの各種指示を入力するための入力装置であり、複数のキースイッチ等によって構成される。
【0038】
再生部46は、演奏データに基づく演奏再生を行うMIDI音源、MIDI音源から生成されたオーディオ信号及び入力部47から入力された音声信号をスピーカへ出力する音声制御部、画像データに基づく映像の再生を制御する映像再生部、映像を表示するためのモニタ等を備える。入力部47は、マイクロフォンによって歌唱者の歌唱音声を音声信号へ変換し、再生部46へ入力するためのものである。ネットワーク通信部48は、カラオケ装置4をインターネット200に接続して外部と通信を行うための通信インタフェースである。
【0039】
[クライアント情報の説明]
各カラオケ装置4から集中管理装置2に対して送信されるクライアント情報の概要について、図3に基づき説明する。図3の〈a〉〜〈d〉は、それぞれカラオケ装置4a,4b,4c,4dから送信されるクライアント情報の一例を示している。
【0040】
クライアント情報には、送信元のカラオケ装置4を特定するための識別情報として、当該カラオケ装置4に割当てられているシリアル番号及びIPアドレスが含まれている。これらの識別情報によって、インターネット上での通信先を特定できるようになっている。また、当該カラオケ装置4における再生予約状況を示す情報として、再生予約中のコンテンツの一覧である予約リストが含まれている。
【0041】
予約リストには、再生予約された個々のコンテンツについて、予約順(すなわち、再生順)を示す情報や、コンテンツの識別情報である選曲番号、曲名、再生時間、コンテンツのサイズ(データ量)、そのコンテンツを当該カラオケ装置4が保有しているか否かを示す保有フラグ等の情報が記述されている。保有フラグは、そのコンテンツを保有している場合は「1」、保有していない場合は「0」が記述される。
【0042】
[サーバ情報の説明]
各カラオケ装置4から集中管理装置2に対して送信されるサーバ情報の概要について、図4に基づき説明する。図4の〈a〉〜〈d〉は、それぞれカラオケ装置4a,4b,4c,4dから送信されるサーバ情報の一例を示している。
【0043】
サーバ情報には、送信元のカラオケ装置4を特定するための識別情報として、当該カラオケ装置4に割当てられているシリアル番号及びIPアドレスが含まれている。これらの識別情報によって、インターネット上での通信先を特定できるようになっている。また、当該カラオケ装置4の残りデータ量、当該カラオケ装置4がHDD44に保有している全コンテンツの一覧である保有コンテンツ情報、およびコンテンツなどのデータをアップロードする速度を示すUPLOAD速度情報が含まれている。
【0044】
残りデータ量は、現在の期間中にクライアントに対して送信できるコンテンツの送信データ量の残量を示す値である。コンテンツの送信に必要な残りデータ量が足りない場合、そのサーバはコンテンツの送信を行わないようになっている。例えば、1日あたりの送信データ量の上限量が2000に設定されている場合、当日中の送信データ量が200であると、当日中の残りデータ量は1800である。
【0045】
保有コンテンツ情報には、当該カラオケ装置4が保有する全コンテンツについて、コンテンツの識別情報である選曲番号及び曲名等の情報が記述されている。
UPLOAD速度情報としては、最大UPLOAD速度および最低UPLOAD速度が記述されている。なお、最大UPLOAD速度は、コンテンツの送信速度として理論的な最大値に設定されている。また、最低UPLOAD速度は、実際にコンテンツを送信する際の速度と想定される値に設定されており、本実施形態では、所定期間内に計測された実際のUPLOAD速度のうち最も小さい値に設定されている。
【0046】
[通信シーケンスの説明]
次に、カラオケ装置4と集中管理装置2との通信、及び、カラオケ装置4同士の通信シーケンスについて、図5に基づいて説明する。
【0047】
図5(a)は、サーバ情報送受信及びコンテンツ非取得状態通知シーケンスを示すラダーチャートである。
各カラオケ装置4のサーバ機能では、集中管理装置2に対して自カラオケ装置4に関するサーバ情報を送信する。サーバ情報の送信は、サーバ情報に含まれるコンテンツの保有状況や、残りデータ量に変更があった都度行われる。集中管理装置2は、各カラオケ装置4から受信したサーバ情報をRAM22所定の記憶領域に格納して一元管理しており、カラオケ装置4からサーバ情報を受信したときには、当該カラオケ装置4のサーバ情報を最新の内容に更新する。
【0048】
一方、各カラオケ装置4のクライアント機能では、他のカラオケ装置4からコンテンツを受信中ではないときに、コンテンツ非取得状態である旨を集中管理装置2に通知する。集中管理装置2は、各カラオケ装置4からの通知結果を管理しており、その内容に基づいて各カラオケ装置4がコンテンツを取得中であるか否かを判断する。
【0049】
図5(b)は、クライアント情報送受信及びコンテンツ送受信シーケンスを示すラダーチャートである。
クライアント側のカラオケ装置4は、再生予約状況に更新があると、集中管理装置2に対して自カラオケ装置4の予約状況に関するクライアント情報を送信する。クライアント情報の送信は、クライアント情報に含まれる予約リストの内容(予約順や予約コンテンツの保有状況)に変更があった都度行われる。集中管理装置2は、各カラオケ装置4から受信したクライアント情報をRAM22の所定の記憶領域に格納して一元管理しており、カラオケ装置4からクライアント情報を受信したときには、当該カラオケ装置4のクライアント情報を最新の内容に更新する。
【0050】
集中管理装置2は、クライアント情報に基づいて、クライアント側のカラオケ装置4において取得の必要な未取得コンテンツを検出し、サーバ情報に基づいて、その未取得コンテンツを保有するサーバ側のカラオケ装置4を検出する。ここで検出されるのは、クライアントにおいて未取得であるコンテンツを保有するカラオケ装置4の中で残りデータ量が最大のカラオケ装置4である。集中管理装置2は、クライアント側のカラオケ装置4に対して余剰コンテンツの取得を指示すると共に、検出したサーバ側のカラオケ装置4に該当するサーバ情報を送信する。なお、余剰コンテンツとは、サーバ側のカラオケ装置4が保有するコンテンツのうちクライアント側のカラオケ装置4の何れかが保有していないコンテンツであり、カラオケサービスを行う上で、全てのカラオケ装置4が保有していることが望ましいコンテンツを云う。
【0051】
集中管理装置2からコンテンツの取得指示と共にサーバ情報を受信したクライアント側のカラオケ装置4は、まず、自カラオケ装置4がコンテンツ取得状態に移行したことを集中管理装置2に対して通知する。そして、サーバ情報のIPアドレス及びシリアル番号で示されるコンテンツ取得先のカラオケ装置4(サーバ)に対して、未取得コンテンツの取得要求を送信する。
【0052】
クライアント側のカラオケ装置4からコンテンツの取得要求を受信したサーバ側のカラオケ装置4は、まず、自カラオケ装置4の残りデータ量からそのコンテンツのサイズを減算する。次に、HDD44に保有している当該コンテンツを、クライアント側のカラオケ装置4に対して送信する。送信終了後、当該コンテンツのサイズに対する実際の送信データ量の不足分を残りデータ量に加算し、最低UPLOAD速度を更新して、コンテンツの送信終了をクライアント側のカラオケ装置4に通知する。
【0053】
コンテンツを取得したクライアント側のカラオケ装置4では、自カラオケ装置4のクライアント情報を更新し、集中管理装置2にクライアント情報を送信すると共に、コンテンツ非取得状態に移行した旨を通知する。
【0054】
[クライアント処理の説明]
次に、カラオケ装置4がクライアント機能として実行する処理について、図6に基づいて説明する。
【0055】
図6(a)は、カラオケ装置4のCPU41が実行するクライアント処理(1)の手順を示すフローチャートである。この処理は、コンテンツの予約や再生に関する処理と並行して実行される処理である。
【0056】
カラオケ装置4のCPU41は、S101において、コンテンツの再生予約の内容(予約順等)が更新されたか否かを判定する。予約内容が更新されていない場合(S101:NO)、この処理を繰返す。予約内容が更新された場合(S101:YES)、最新の予約内容を反映したクライアント情報を集中管理装置2に送信する(S102)。
【0057】
次に、図6(b)は、カラオケ装置4のCPU41が実行するクライアント処理(2)の手順を示すフローチャートである。この処理は、コンテンツの予約や再生に関する処理と並行して実行される処理である。
【0058】
カラオケ装置4のCPU41は、S111において、集中管理装置2に対してコンテンツ非取得状態を通知する。この通知は、自カラオケ装置4が、現在、他のカラオケ装置4からコンテンツを受信中ではないことを通知するためのものである。
【0059】
次に、集中管理装置2から未取得コンテンツの取得指示を受信したか否かを判定する(S112)。コンテンツの取得指示を受信していない場合(S112:NO)、余剰コンテンツを取得するための一連の処理(S120〜S127)を実行するため、後述するS120に移行する。一方、コンテンツの取得指示を受信した場合(S112:YES)、コンテンツ取得先を示すサーバ情報を受信する(S113)。続いて、集中管理装置2に対してコンテンツ取得状態を通知する(S114)。この通知は、自カラオケ装置4が、現在、他のカラオケ装置4からコンテンツを受信中であることを通知するためものである。
【0060】
次に、受信したサーバ情報のIPアドレス及びシリアル番号で示されるカラオケ装置4(サーバ)に対して、未取得コンテンツの取得要求を送信し(S115)、この取得要求に応じてサーバから送信されてくるコンテンツを取得する(S116)。サーバから送信終了の通知を受信後、コンテンツの取得に成功したか否かを判定する(S117)。
【0061】
コンテンツの取得に成功した場合(S117:YES)、自カラオケ装置4のクライアント情報を更新する(S118)。ここでは、クライアント情報の予約リストにおいて、取得したコンテンツの保有フラグを「0」から「1」へ変更する。次に、更新したクライアント情報を集中管理装置2に送信し(S119)、S111の処理へ戻る。
【0062】
一方、S117でコンテンツの取得に失敗したと判定した場合(S117:NO)、S111の処理へ戻る。
ところで、先のS120でコンテンツの取得指示を受信していない場合(S112:NO)、以下の余剰コンテンツを取得するための一連の処理(S120〜S127)を実行する。
【0063】
まず、集中管理装置2から余剰コンテンツ取得指示があるか否かを判断する(S120)。余剰コンテンツ取得の指示がない場合(S120:NO)、この処理を繰り返す。一方、余剰コンテンツ取得の指示がある場合(S120:YES)、余剰コンテンツの取得先を示すサーバ情報を受信して、余剰コンテンツを取得する(S121)。続いて、集中管理装置2に対してコンテンツ取得状態を通知する(S122)。
【0064】
次に、受信したサーバ情報のIPアドレス及びシリアル番号で示されるカラオケ装置4(サーバ)に対して、余剰コンテンツの取得要求を送信し(S123)、この取得要求に応じてサーバから送信されてくるコンテンツを取得する(S124)。サーバから送信終了の通知を受信後、コンテンツの取得が終了したか否かを判定する(S125)。
【0065】
コンテンツの取得が終了した場合(S125:YES)、S111の処理へ戻る。一方、コンテンツの取得が終了していないと判定した場合(S125:NO)、クライアント情報に未保持コンテンツがあるか否かを判断する(S126)。クライアント情報に未保持コンテンツがある場合(S126:YES)、余剰コンテンツの取得を中断し(S127)、S111の処理へ戻る。一方、クライアント情報に未保持コンテンツがない場合(S126:NO)、余剰コンテンツの取得を続行し、S125の処理へ戻る。
【0066】
[サーバ処理の説明]
次に、カラオケ装置4がサーバ機能として実行する処理について、図7に基づいて説明する。
【0067】
図7(a)は、カラオケ装置4のCPU41が実行するサーバ処理(1)の手順を示すフローチャートである。この処理は、コンテンツの予約や再生に関する処理と並行して実行される処理である。
【0068】
カラオケ装置4のCPU41は、S201において、自カラオケ装置4の残りデータ量及びコンテンツの保有状況に関するサーバ情報を集中管理装置2に送信する(S201)
。次に、残りデータ量、あるいはコンテンツの保有状況に変化があったか否かを判定する(S202)。判定の結果、変化があった場合には(S202:YES)、S201で最新の状態を反映したサーバ情報を集中管理装置2に送信する。
【0069】
一方、判定の結果、残りデータ量及びコンテンツの保有状況に変化がない場合には(S202:NO)、送信データ量の上限量の判定基準となる所定期間が満了したか否かを判定する(S203)。ここでは、所定期間が日数単位で設定されている場合、日付が更新したときに期間満了と判断する。また、所定期間が時間単位で設定されている場合、設定時間が経過したときに期間満了と判断する。所定期間が満了していない場合(S203:NO)、S202の処理へ戻る。一方、所定期間が満了した場合(S203:YES)、残りデータ量を期間ごとに設定されている上限量にリセットし(S204)、S202の処理へ戻る。
【0070】
次に、図7(b)は、カラオケ装置4のCPU41が実行するサーバ処理(2)の手順を示すフローチャートである。この処理は、コンテンツの予約や再生に関する処理と並行して実行される処理である。
【0071】
カラオケ装置4のCPU41は、S211において、クライアントからコンテンツ取得要求を受信したか否かを判定する。コンテンツ取得要求を受信していない間(S211:NO)は、この処理を繰返す。クライアントからコンテンツ取得要求を受信した場合(S211:YES)、取得要求に該当のコンテンツ(以下、要求コンテンツ)のサイズと、自カラオケ装置4の現在の残りデータ量とを比較し、要求コンテンツのサイズ分の残りデータ量があるか否かを判定する(S212)。判定の結果、要求コンテンツのサイズ分の残りデータ量がある場合は(S212:YES)、S213の処理へ移行し、残りデータ量がない場合は(S212:NO)、S217の処理へ移行する。
【0072】
要求コンテンツのサイズ分の残りデータ量がある場合に進むS213では、現在の残りデータ量から要求コンテンツのデータ量を減算する(S213)。残りデータ量の更新後、HDD44に保有している要求コンテンツをクライアントに対して送信する(S214)。コンテンツの送信開始後、送信速度を計測して(S2141)、当該送信が終了したか否かを判定する(S215)。送信が継続している間(S215:NO)、この処理を繰返す。
【0073】
コンテンツの送信が終了(中断も含む)した場合(S215:YES)、要求コンテンツのデータ量に対する、今回の実際の送信データ量の不足分を算出し、その不足分を残りデータ量に加算する(S216)。この処理は、例えば、コンテンツの送信が何らかの理由で不完全な状態で中断した場合、未送信となった分のデータ量を残りデータ量に還元するためのものである。続いて、S2141で計測した送信速度が自身のサーバ情報の最低UPLOAD量よりも小さいか否かを判断する(S2161)。送信速度が自身の最低UPLOAD量よりも小さい場合(S2161:YES)、自身の最低UPLOAD量の値を、計測した送信速度の値に更新し(S2162)、S217の処理へ移行する。一方、送信速度が自身の最低UPLOAD量以上である場合(S2161:NO)、そのままS217の処理へ移行する。続いて、S217では、コンテンツ取得要求に対する送信処理の終了をクライアントに対して通知する。終了を通知した後、S211の処理へ戻る。
【0074】
[集中管理処理(1)の説明]
次に、集中管理装置2が実行する集中管理処理について、図8〜10に基づいて説明する。
【0075】
図8は、集中管理装置2のCPU21が実行する集中管理処理(1)の手順を示すフローチャートの前半部分であり、図9は、その後半部分である。
集中管理装置2のCPU21は、S301において、カラオケ装置4からクライアント情報を受信したか否かを判定する。クライアント情報を受信した場合(S301:YES)、受信したクライアント情報をRAM22の所定の記憶領域に保存する(S302)。そして、記憶するクライアント情報に基づき、人気ランキングを集計して、集計結果を保存する(S3021)。
【0076】
クライアント情報を受信していない場合(S301:NO)、次に、カラオケ装置4からサーバ情報を受信したか否かを判定する(S303)。サーバ情報を受信した場合、受信したサーバ情報をRAM22の所定の記憶領域に保存する(S304)。
【0077】
一方、サーバ情報を受信していない場合(S303:NO)、クライアント情報を保存している各カラオケ装置4の中で、コンテンツ非取得状態となっているクライアントが存在するか否かを判定する(S305)。なお、クライアントがコンテンツ非取得状態であるかどうかは、各カラオケ装置4からの通知結果に基づいて判断する。
【0078】
判定の結果、コンテンツ非取得状態のクライアントが存在しない場合は(S305:NO)、S301の処理へ戻り、コンテンツ非取得状態のクライアントが存在する場合は(S305:YES)、S306の処理へ移行する。S306では、コンテンツ非取得状態のクライアントが複数存在するか否かを判定する。コンテンツ非取得状態のクライアントが単独の場合は(S306:NO)、S307の処理へ移行し、複数存在する場合は(S306:YES)、S314の処理へ移行する。
【0079】
コンテンツ非取得状態のクライアントが単独の場合に進むS307では、各クライアント情報の中から、コンテンツ非取得状態のクライアントを検出する(以下、このクライアントを検出クライアントと称する)。続いて、検出クライアントに該当のクライアント情報を参照し、検出クライアントにおいて現在予約中のコンテンツの中に検出クライアント自身が保有していない未取得コンテンツがあるか否かを判定する(S308)。判定の結果、検出クライアントに未取得コンテンツがない場合は(S308:NO)、S301の処理へ戻り、未取得コンテンツがある場合は(S308:YES)、S309の処理へ移行する。
【0080】
S309では、検出クライアントの未取得コンテンツの中で予約順の最も早いコンテンツを検出する(以下、このコンテンツを検出コンテンツと称する)。次に、S310(図9)へ移行し、各サーバ情報の中から、検出コンテンツを保有し、かつ残りデータ量が検出コンテンツのサイズよりも大きいサーバを検出する。そして、検出されたサーバ群の中で残りデータ量が最大のサーバが複数存在するか否かを判定する(S311)。
【0081】
判定の結果、残りデータ量が最大のサーバが複数存在する場合(S311:YES)、すなわち、残りデータ量の条件が同一である場合、残りデータ量が最大のサーバの中で保有するコンテンツの数が最少のサーバに該当するサーバ情報を抽出し、その抽出したサーバ情報を検出クライアントに送信すると共に、検出コンテンツの取得を検出クライアントに対して指示する(S312)。S312の処理を実行後、S301の処理へ戻る。
【0082】
一方、残りデータ量が最大のサーバが単独である場合(S311:NO)、残りデータ量が最大のサーバに該当するサーバ情報を抽出し、その抽出したサーバ情報を検出クライアントに送信すると共に、検出コンテンツの取得を検出クライアントに対して指示する(S313)。S313の処理を実行後、S301の処理へ戻る。
【0083】
一方、S306(図8)の判定においてコンテンツ非取得状態のクライアントが複数である場合に進むS314では、コンテンツ非取得状態のクライアント群に、再生予約中のコンテンツにそのクライアント自身が保有していない未取得コンテンツがあるクライアントが存在するか否かを判定する。判定の結果、未取得コンテンツを有するクライアントが存在しない場合は(S314:NO)、S301の処理へ戻り、未取得コンテンツを有するクライアントが存在がする場合は、S315の処理へ移行する。
【0084】
S315では、それらのクライアントの中から、残りデータ量が最大のクライアントを検出する(以下、このクライアントを検出クライアントと称する)。次に、検出クライ
アントに複数の未取得コンテンツがあるか否かを判定する(S316)。判定の結果、未取得コンテンツが1つである場合は(S316:NO)、S309の処理へ移行し、未取得コンテンツが複数存在する場合は(S316:YES)、S317の処理へ移行する。
【0085】
S317では、検出クライアントと共通の未取得コンテンツを有する他のクライアントが存在するか否かを判定する(S317)。判定の結果、検出クライアントと共通の未取得コンテンツを有する他のクライアントが存在しない場合は(S317:NO)、S309の処理へ移行し、存在する場合は(S317:YES)、S318(図9)の処理へ移行する。
【0086】
S318では、その共通の未取得コンテンツのうち、検出クライアントにおける予約順の最も早いコンテンツ(以下、対象コンテンツと称する)を保有し、かつ残りデータ量がその対象コンテンツのサイズよりも大きいサーバを検出する。そして、検出されたサーバ群の中で残りデータ量が最大のサーバが複数存在するか否かを判定する(S319)。
【0087】
判定の結果、残りデータ量が最大のサーバが複数存在する場合(S319:YES)、すなわち、残りデータ量の条件が同一である場合、残りデータ量が最大のサーバの中で保有するコンテンツの数が最少のサーバを検出する(S320)。一方、残りデータ量が最大のサーバが単独である場合(S319:NO)、残りデータ量が最大のサーバを検出する(S321)。以下、S320又はS321で検出したサーバを検出サーバと称する。
【0088】
次に、S322では、検出サーバの残りデータ量から対象コンテンツのデータ量を差引いた値よりも、検出クライアントの残りデータ量の方が大きいか否かを判定する。判定の結果、検出クライアントの残りデータ量の方が大きい場合(S322:YES)、検出サーバに該当するサーバ情報を抽出し、その抽出したサーバ情報を検出クライアントに送信すると共に、対象コンテンツの取得を検出クライアントに対して指示する(S323)。S323の処理を実行後、S301の処理へ戻る。
【0089】
一方、検出サーバの残りデータ量から対象コンテンツのデータ量を差引いた値が、検出クライアントの残りデータ量以上である場合(S322:NO)、検出クライアントと他のクライアントの間で共通の未取得コンテンツのうち、対象コンテンツの次に予約順の早いコンテンツがあるか否かを判定する(S324)。
【0090】
判定の結果、次に予約順の早いコンテンツがある場合(S324:YES)、そのコンテンツ(以下、そのコンテンツが次の対象コンテンツとなる)を保有し、かつ残りデータ量がその対象コンテンツよりも大きいサーバを検出し(S325)、S319の処理へ戻る。一方、対象コンテンツの次に予約順の早いコンテンツがない場合(S324:NO)、検出クライアントの未取得コンテンツの中で予約順の最も早いコンテンツを検出する(S326)。以下、そのコンテンツを検出コンテンツとしてS310の処理へ移行する。
【0091】
[集中管理装置処理(2)の説明]
図10は、集中管理装置2のCPU21が実行する集中管理処理(2)の手順を示すフローチャートである。
【0092】
集中管理装置2のCPU21は、S401において、余剰データ量(残りデータ量)を持つサーバを検出し、余剰データ量を持つサーバを検出したか否かを判断する(S402)。
【0093】
なお、余剰データ量とは、次回残りデータ量リセット時間まで最大UPLOAD速度で送信可能なデータ量と残りデータ量との差分のデータ量を云う。そして、次回残りデータ量リセット時間まで最大UPLOAD速度で送信可能なデータ量よりも、残りデータ量の方が大きいのであれば余剰データがあり、小さければ余剰データ量はない。なお、残りデータ量リセット時間とは、残りデータ量を期間ごとに設定されている上限量へリセットする時間である。
【0094】
余剰データ量を持つサーバを検出しなかった場合(S402:NO)、S401の処理へ戻る。
一方、S402で余剰データ量を持つサーバを検出した場合(S402:YES)、検出したサーバが保有するコンテンツから最も人気のあるコンテンツ(最大人気コンテンツ)を検出する(S403)。続いて、検出したサーバの余剰データ量が、検出した最大人気コンテンツのデータサイズよりも大きいか否かを判断する(S404)。
【0095】
検出したサーバの余剰データ量が最大人気コンテンツのデータサイズ以下である場合(S404:NO)、S401の処理へ戻る。
一方、S404で検出したサーバの余剰データ量が最大人気コンテンツのデータサイズよりも大きい場合(S404:YES)、検出したサーバの残りデータ量リセット時間までに最大人気コンテンツを送信可能か否かを判断する(S405)。
【0096】
ここでは、最大人気コンテンツのデータサイズ分を最低UPLOAD速度で送信した場合に、次回残りデータ量リセット時間までに全て送信できれば送信可能とする。
送信可能ではない場合(S405:NO)、S401の処理へ戻る。
【0097】
一方、S405で送信可能である場合(S405:YES)、現在コンテンツの取得を行っていないクライアント(非取得状態のクライアント)が存在するか否かを判断する(S406)。存在しない場合(S406:NO)、S401の処理へ戻る。
【0098】
一方、S406で存在する場合(S406:YES)、非取得状態のクライアントの中に、最大人気コンテンツを保有しないクライアントが存在するか否かを判断する(S407)。存在する場合(S407:YES)、該当クライアントの中から、保有コンテンツ数が最も少ないクライアントを検出し(S408)、S402で検出されたサーバのサーバ情報をS408で検出されたクライアントに送信して、余剰コンテンツの取得を指示する(S409)。そして、S401の処理へ戻る。
【0099】
一方、S407で非取得状態のクライアントの中に最大人気コンテンツを保有しないクライアントが存在しないと判断された場合(S407:NO)、S402で検出されたサーバが保有するコンテンツから次に人気があるコンテンツを検出し(S410)、検出されたか否かを判断する(S411)。検出された場合(S411:YES)、S404の処理へ戻る。一方、検出されなかった場合(S411:YES)、S401の処理へ戻る。
【0100】
[特許請求の範囲に記載の構成との対応]
次に、実施形態のカラオケネットワークシステム1の構成と、特許請求の範囲に記載の構成との対応について説明する。
【0101】
集中管理装置2のCPU21が、特許請求の範囲における取得対象特定手段、残量大カラオケ装置選定手段、データ送信可否判定手段、非取得カラオケ装置選定手段、取得指示手段、クライアント情報受信手段、及び、サーバ情報受信手段に相当し、RAM22が、クライアント情報記憶手段及びサーバ情報記憶手段に相当する。
【0102】
カラオケ装置4のCPU41が、特許請求範囲におけるクライアント情報送信手段、取得要求手段、コンテンツ取得手段、サーバ情報送信手段、コンテンツ送信手段、還元手段、及び、リセット手段に相当し、RAM42が、残りデータ量記憶手段に相当する。
【0103】
[効果]
上記実施形態のカラオケネットワークシステム1によれば、次のような効果を奏する。
(1)ユーザからの再生予約がないときに、残りデータ量に余裕のあるカラオケ装置4から人気のあるコンテンツを他のカラオケ装置4へ予め取得しておくことができる。このようにすることで、カラオケ装置間でコンテンツの送信要求を分散させることができ、カラオケ装置におけるデータ送信リソースの利用率に拘わらず、各カラオケ装置間で送信データ量を効果的に平滑化できる。よって、特定のカラオケ装置(サーバ)にコンテンツの送信要求が集中することで送信データ量が上限値を超えてしまうのを防止できる。
【0104】
(2)コンテンツ取得中に未取得コンテンツの予約を受けたら、ユーザが所望する未取得コンテンツの取得を優先させるために、現在実行中のコンテンツの取得を中断するので、ユーザの利便性を向上させることができる。
【0105】
(3)サーバがコンテンツを送信した際、コンテンツのデータ量に対する実際の送信データ量の不足分を残りデータ量に還元することで、残りデータ量をより正確に管理でき、送信データ量の制限枠を無駄なく活用できる。
【0106】
(4)所定期間が満了する度に残りデータ量を上限量にリセットすることで、送信可能な残りデータ量を適切に管理できる。
【符号の説明】
【0107】
1…カラオケネットワークシステム、2…集中管理装置、21…CPU、22…RAM、23…ROM、24…HDD、25…ネットワーク通信部、4…カラオケ装置、41…CPU、42…RAM、43…ROM、44…HDD、45…操作部、46…再生部、47…入力部、48…ネットワーク通信部、200…インターネット
【技術分野】
【0001】
本発明は、ネットワークを介して互いに接続された複数のカラオケ装置間でピアツーピア(Peer to Peer(P2P))型のコンテンツ送信を行うカラオケネットワークシステムに関する。
【背景技術】
【0002】
近年、インターネットを利用した様々なコンテンツサービスが実施されている。このようなコンテンツは、それを利用するユーザの趣味・嗜好の多様化に対応するために年々多様化しており、個々のコンテンツも高品質・大容量化している。また、コンテンツを利用するインターネット接続端末の数も増大している。このような情勢に対して、従来のクライアントサーバ方式ではサービスの規模が増大するにつれてサーバの負荷も増えていくため、サーバの高性能化や十分な通信帯域幅の確保等、コンテンツ送信システムの運用・保守にかかるコストが膨大になるといった問題が顕著化しつつある。
【0003】
そこで、複数の端末同士でデータを共有するP2P方式のコンテンツ送信システムが実用化している(例えば、特許文献1参照)。このようなP2P方式のコンテンツ送信システムによれば、コンテンツを配給するサーバの負荷を軽減し、運用・保守にかかるコストを低減することができるとされている。
【0004】
ところで、カラオケサービスを提供するカラオケ装置において再生されるコンテンツは、通常の演奏データ(MIDIデータ)の他に、実際の演奏音声をサンプリングした高品質の生音楽曲やプロモーションビデオ、CM映像等があり、益々多種多様化している。また、カラオケ装置を利用するユーザの嗜好や趣味の多様化に対応した個別のサービスを提供するため、近年では個々のユーザごとに専用のコンテンツが必要となる等、カラオケ装置で利用されるコンテンツは膨大な量となっている。
【0005】
そのため、カラオケサービスで提供可能な全てのコンテンツを、個々のカラオケ装置内の記憶装置に保存することができなくなっている。そこで、ユーザがサービス(歌を歌う、動画を見る等)を要求したときに、そのサービスに対応するコンテンツがカラオケ装置内に存在しなければ、他の機器(例えば、インターネット上のコンテンツ送信サーバや他のカラオケ装置等)からコンテンツを取得してサービスを提供する、オンデマンドのコンテンツ送信が行われている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−197400
【発明の概要】
【発明が解決しようとする課題】
【0007】
P2P方式のデータ通信を行うインターネット接続端末は、通常、インターネットサービスプロバイダ(ISP)が提供するアクセス回線を経由して、インターネット上の他端末との間でデータの送受信を行う。しかし、一部の端末がP2P通信で大量のデータを転送することで、ISPのアクセス回線の通信帯域が占有され、他の端末の通信に支障が出るケースが増えている。
【0008】
これは、近年P2P通信が盛んに行われるようになったことで、従来それほど多くなかった各端末の上り(データ送出時)の通信量の増加が原因の一端となっている。これに対処するため、所定期間(例えば1日)あたりの通信データ量(特にデータ送出時)に制限を設ける等の処置を行うISPも増えてきている。
(例えば、http://www.ocn.ne.jp/info/rules/upload/ など参照)
P2P通信を利用する通信カラオケシステムにおいて、通信量の制限に抵触したことが原因でコンテンツの送信ができないカラオケ装置が発生すると、その分、ネットワーク内でコンテンツを送信できるカラオケ装置の数が減少することになる。コンテンツを送信できるカラオケ装置の数が減少すると、残りのカラオケ装置にコンテンツの送信要求が集中し、通信負荷の増大に起因してコンテンツの送信に遅延を招くおそれがある。また、そのような事態が更に悪化し、カラオケ装置間でのコンテンツの送信に支障を来たすことになればカラオケサービスとって致命的である。そのため、送信データ量に制限が設けられた条件下では、各カラオケ装置の送信データ量が制限値を超えないように調整する必要がある。
【0009】
例えば、各カラオケ装置のデータ送出時の通信速度に制限を設ければ、1日あたりの送信データ量をトータル的に制限できるため、予め設定された上限値を超えないようにできる。しかしながら、全てのカラオケ装置に対して一律に通信速度の制限を設けると、コンテンツの取得に要する時間が増大してしまう。そのため、オンデマンドでコンテンツを送信するカラオケサービスにおいては、ユーザの要求したサービスを開始するまでの待ち時間が長くなり、好ましくない。そのため、コンテンツ送信時の通信速度に制限を設けることなく、各カラオケ装置の送信データ量を上限値以内に抑える必要がある。
【0010】
しかし、各カラオケ装置におけるユーザの利用状況は様々であり、各カラオケ装置へのサービス要求が異なるために保有するコンテンツには偏りがある。例えば、あるカラオケ装置のユーザは新曲を多く選曲することもあるだろうし、またあるカラオケ装置では決まった十八番の曲ばかりを選曲するといった場合も有り得る。このような場合、後者のカラオケ装置にはあまり新曲がダウンロードする必要がないためにその保有コンテンツも増加せず、他のカラオケ装置に送信するデータ量もさほど多くはなく、結果として、そのカラオケ装置の所定時間単位の送信データ量の上限値よりも少なくなる場合が多いと考えられる。あるいは単純にユーザ全体のカラオケ装置の利用率が低いために送信データ量上限値を下回ることもあると思われる。そして、こうした所定時間単位での利用率に差がある場合には、ある所定時間単位においてはあまり送信データ量が多くないが、またある所定時間単位においては大量の利用があって各端末の送信データ量の上限値を超えてしまうこともあり得る。
【0011】
本発明は、上記課題を解決するためになされており、P2P通信によってカラオケ装置間でコンテンツを送受信するカラオケネットワークシステムにおいて、カラオケ装置におけるデータ送信リソースの利用率に拘わらず、コンテンツの送信に係る送信データ量を各カラオケ端末間で効果的に平滑化することで、各カラオケ装置の送信データ量を上限値以内に抑えることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するためになされた請求項1に記載のカラオケネットワークシステムは、次のような特徴を有する。
カラオケ装置は、他のカラオケ装置に対してコンテンツの取得要求を行い、その要求先のカラオケ装置からコンテンツを取得するクライアント機能と、他のカラオケ装置からのコンテンツ取得要求に応じて、要求元のカラオケ装置にコンテンツを送信するサーバ機能とを併せて備える。
【0013】
クライアント機能として、まず、自カラオケ装置の識別情報や、コンテンツの再生予約状況、再生予約されたコンテンツ保有状況等を含むクライアント情報を集中管理装置に対して送信する(クライアント情報送信手段)。サーバ機能として、カラオケ装置に対して所定期間単位で設定されている送信データの上限量のうち、自カラオケ装置が現在の期間中に他のカラオケ装置に送信可能な残りデータ量を記憶しておく(残りデータ量記憶手段)と共に、自カラオケ装置の識別情報や、残りデータ量、コンテンツの保有状況、データ送信速度情報等を含むサーバ情報を集中管理装置に対して送信する(サーバ情報送信手段)。なお、ここでいう所定期間とは、例えば、1日や1週間、1ヶ月といった日数単位の期間でもよいし、○時間毎といった、時間単位の期間であってもよい。
【0014】
これらのクライアント情報及びサーバ情報は、予約内容や保有するコンテンツ等の内容に変更がある都度、集中管理装置に送信するようにしてもよいし、一定時間ごとに送信してもよい。何れにせよ常にカラオケ装置の最新の状態が集中管理装置へ通知されるようになっていることが望ましい。
【0015】
一方、集中管理装置は、各カラオケ装置からそれぞれ受信したクライアント情報及びサーバ情報を記憶しておく(クライアント情報記憶手段、サーバ情報記憶手段)。
また、各カラオケ装置から受信したクライアント情報に基づき各コンテンツの再生予約数を集計する(再生予約数集計手段)。
【0016】
そして、記憶しているサーバ情報に基づき、残りデータ量が所定値以上であり、且つ、
前記所定値以上の残りデータ量分を余剰データ量と定義付けしたときに、前記余剰データ量が最大のカラオケ装置である残量大カラオケ装置を選定する(残量大カラオケ装置選定手段)。また、記憶しているサーバ情報に基づき、残量大カラオケ装置が保有するコンテンツの中から再生予約される頻度が高いコンテンツを取得対象として特定する(取得対象特定手段)。
【0017】
そして、記憶しているサーバ情報に基づき、残量大カラオケ装置の余剰データ量が取得対象のコンテンツのデータ量よりも大きく、データ送信速度によれば所定期間内にその取得対象のコンテンツの送信が可能であるかを判定する(データ送信可否判定手段)。
【0018】
さらに、記憶している各カラオケ装置のサーバ情報に基づき、取得対象のコンテンツを保有していないカラオケ装置の中から、非取得カラオケ装置を選定する(非取得カラオケ装置選定手段)。
【0019】
そして、選定された非取得カラオケ装置に対して、残量大カラオケ装置に該当のサーバ情報を送信し、取得対象のコンテンツの取得を指示する(取得指示手段)。
カラオケ装置は、クライアント機能として、集中管理装置からコンテンツの取得指示及びその取得先のサーバ情報を受信した場合、そのサーバ情報で示されるカラオケ装置に対して当該コンテンツの取得要求を送信し(取得要求手段)、コンテンツを取得する(コンテンツ取得手段)。また、サーバ機能として、他のカラオケ装置からコンテンツの取得要求を受信した場合、自カラオケ装置の残りデータ量が当該取得要求に係るコンテンツのデータ量以上であれば、自カラオケ装置の残りデータ量を当該コンテンツのデータ量分減らしてから、当該コンテンツを要求元のカラオケ装置(クライアント)に対して送信する(コンテンツ送信手段)。
【0020】
このように構成されたカラオケネットワークシステムによれば、ユーザからの再生予約がないときに、残りデータ量に余裕のあるカラオケ装置から人気のあるコンテンツを予め取得しておくことができる。このようにすることで、カラオケ装置間でコンテンツの送信要求を分散させることができ、カラオケ装置におけるデータ送信リソースの利用率に拘わらず、各カラオケ装置間で送信データ量を効果的に平滑化できる。よって、特定のカラオケ装置(サーバ)にコンテンツの送信要求が集中することで送信データ量が上限値を超えてしまうのを防止できる。
【0021】
さらに、請求項2に記載のように、未取得コンテンツの予約を受けたら、ユーザが所望する未取得コンテンツの取得を優先させるために、現在実行中のコンテンツの取得を中断するとよい。
【0022】
さらに、請求項3に記載のように、カラオケ装置のサーバ機能において、コンテンツの送信が終わった後、そのコンテンツのデータ量に対する実際の送信データ量の不足分を、自カラオケ装置の残りデータ量に還元するように構成するとよい(還元手段)。例えば、コンテンツの送信中に何らかの理由により、送信完了前に通信が中段した場合、残りデータ量から予め減算しておいたコンテンツのデータ量よりも、実際の送信データ量が少なくなる場合がある。そこで、コンテンツのデータ量に対する実際の送信データ量の不足分を残りデータ量に還元することで、送信可能な残りデータ量をより正確に管理でき、送信データ量の制限枠を無駄なく活用できる。
【0023】
さらに、請求項4に記載のように、カラオケ装置のサーバ機能において、所定期間が満了したときに、残りデータ量記憶手段に記憶している残りデータ量を上限量にリセットするように構成するとよい(リセット手段)。例えば、1日に送信できるデータ量の上限値が設定されている場合、日付が更新すれば前日までに送信したデータ量に関わらず、次の日には0から上限値までのデータ量の送信が認められることになる。そこで、所定期間(例えば、日付単位や時間単位)の満了と共に、残りデータ量を限量にリセットすることで、送信可能な残りデータ量を適切に管理できる。
【0024】
次に、請求項5に記載の集中管理装置は、請求項1に記載のカラオケネットワークシステムを構成する集中管理装置である。この集中管理装置によれば、上記カラオケネットワークシステムを構築することができ、これにより上述した効果を得ることができる。
【図面の簡単な説明】
【0025】
【図1】カラオケネットワークシステム1の概略構成を示すブロック図である。
【図2】集中管理装置2及びカラオケ装置4の概略構成を示すブロック図である。
【図3】クライアント情報の一例を示す説明図である。
【図4】サーバ情報の一例を示す説明図である。
【図5】通信シーケンスを示すラダーチャートである。
【図6】クライアント処理の手順を示すフローチャートである。
【図7】サーバ処理の手順を示すフローチャートである。
【図8】集中管理処理(1)の手順を示すフローチャートの前半部分である。
【図9】集中管理処理(1)の手順を示すフローチャートの後半部分である。
【図10】集中管理処理(2)の手順を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、本発明の一実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に何ら限定されるものではなく様々な態様にて実施することが可能である。
[カラオケネットワークシステム1の構成の説明]
図1に示すように、カラオケネットワークシステム1は、ユーザにカラオケサービスを提供するカラオケ店舗A,B,C,Dにそれぞれ設置されているカラオケ装置4a,4b,4c,4dと、これらを集中管理する集中管理装置2とがインターネット200を介して互いに通信可能に接続されることによって形成されている。なお、以下の説明において、カラオケ装置4a,4b,4c,4dを特に区別しない場合は、単にカラオケ装置4と表記する。また、図1においては、説明の便宜上、4台のカラオケ装置4がカラオケネットワークシステム1に接続されている構成を示すが、更に多くのカラオケ装置4が接続されていてもよい。
【0027】
このカラオケネットワークシステム1は、インターネット接続端末である各カラオケ装置4間で、互いにコンテンツを送受信することでコンテンツを共有できるP2P方式のネットワークシステムになっている。また、本実施形態では、カラオケ装置4同士によるコンテンツの送受信について、所定期間(例えば、日付単位や時間単位)あたりに各カラオケ装置4が送信できるコンテンツの送信データ量に上限値が設けられていることを想定している。これは、各カラオケ装置4による送信データ量が過大になることで、公共回線の通信帯域を占有してしまわないようにするための措置である。
【0028】
集中管理装置2は、カラオケ装置4同士によるコンテンツの送受信について、コンテンツを送信する側のカラオケ装置4(以下、サーバとも称する)を決定し、これをコンテンツを受信する側のカラオケ装置4(以下、クライアントとも称する)に指示することで、カラオケ装置4同士によるコンテンツの送受信を一元的に管理する。そのために、集中管理装置2は、各カラオケ装置4からコンテンツの再生予約の状況等を示すクライアント情報と、コンテンツの保有状況や現在の期間内で送信可能な残りデータ量を示すサーバ情報とを受信し、これらの情報に基づいてクライアントに対してコンテンツを送信するサーバを決定する。
【0029】
カラオケ装置4は、カラオケサービスを利用するユーザからリクエストされたカラオケ楽曲や、映画、バラエティ番組、ドラマ、CMといった映像コンテンツやオーディション、クイズ等のユーザ参加型のコンテンツ、飲食物の注文といった購買コンテンツ等、様々なコンテンツを各自のHDD44に保有しており、この保有するコンテンツを再生する装置である。また、各カラオケ装置4には、データを送受信する機器を判別するための識別情報として、固有のシリアル番号(例えば、製造番号等)と、IPアドレスとがそれぞれ割当てられている。
【0030】
カラオケ装置4は、再生するコンテンツを自ら保有するための記憶装置であるHDD44を備えているが、このHDD44の記憶容量はカラオケサービスで提供可能な全てのコンテンツを保有するには小さいものである。そのため、個々のカラオケ装置4は一部のコンテンツしか保有していない。しかしながら、カラオケ装置4に対してコンテンツをリクエストする際にユーザが用いる電子早見本(図示なし)では、カラオケサービスで提供可能な全てのコンテンツの予約に必要な情報が網羅されており、カラオケ装置4が保有していないコンテンツであっても再生予約することが可能である。そこで、カラオケネットワークシステム1に接続している複数のカラオケ装置4同士でコンテンツを共有することで、各カラオケ装置4で全てのコンテンツを提供可能にしている。
【0031】
具体的には、カラオケ装置4は、コンテンツの再生予約状況を管理し、集中管理装置2からの指示に基づいて未取得コンテンツを他のカラオケ装置4(サーバ)から取得するクライアント機能と、他のカラオケ装置4(クライアント)からのコンテンツ取得要求に応じてコンテンツを送信するサーバ機能とを併せ持つ。
【0032】
クライアント機能の概要は次のとおりである。カラオケ装置4は、ユーザから再生予約されたコンテンツを予約順に管理しており、予約状況に更新がある都度、コンテンツの再生予約状況とそのコンテンツの保有状況とを示すクライアント情報を集中管理装置2に対して送信する。再生予約中のコンテンツにそのカラオケ装置4が保有していない未取得コンテンツがある場合、集中管理装置2からそのカラオケ装置4に対して、当該コンテンツの取得先のカラオケ装置4を示す情報が通知される。その通知を受けたカラオケ装置4は、通知された取得先からコンテンツを取得することで、ユーザから予約されたコンテンツを再生することができる。
【0033】
一方、サーバ機能の概要は次のとおりである。カラオケ装置4は、自カラオケ装置4におけるコンテンツの保有状況と、現在の期間内で送信可能な残りデータ量とを示すサーバ情報を記憶・管理しており、これらの内容に更新がある都度、集中管理装置2に対してサーバ情報を送信する。一方、クライアントからコンテンツの取得要求を受信した場合、その要求に該当のコンテンツをクライアントへ送信すると共に、残りデータ量を減算する。
【0034】
次に、図2(a),(b)は、集中管理装置2及びカラオケ装置4の概略構成を示すブロック図である。
集中管理装置2は、図2(a)に示すように、ハードウェア構成としてCPU21、RAM22、ROM23、HDD24、ネットワーク通信部25等を備える。
【0035】
このうち、CPU21は、RAM22やROM23に格納されたプログラムやデータに従って、集中管理装置2各部に対する制御及び各種演算を実行する装置で、後述する集中管理処理は、このCPU21によって実行される。RAM22は、CPU21から直接アクセスされるメインメモリとして利用される記憶装置である。なお、各カラオケ装置4から受信するクライアント情報及びサーバ情報もここに保存される。ROM23は、不揮発性の記憶装置であり、BIOSや通常であれば更新されない読み出し専用のデータ等を記憶している。HDD24は、集中管理装置2が作動するめのプログラムや各種データを保存しておくための記憶装置である。ネットワーク通信部25は、集中管理装置2をインターネット200に接続して外部のカラオケ装置4との間で通信を行うための通信インタフェースである。
【0036】
カラオケ装置4は、図2(b)に示すように、ハードウェア構成としてCPU41、RAM42、ROM43、HDD44、操作部45、再生部46、入力部47、ネットワーク通信部48等を備える。
【0037】
このうち、CPU41は、RAM42やROM43に記憶されたプログラムやデータに従って、カラオケ装置4各部に対する制御及び各種演算を実行する装置で、後述するクライアント機能及びサーバ機能に関する各種処理は、このCPU41によって実行される。RAM42は、CPU41から直接アクセスされるメインメモリ等として利用される記憶装置である。自カラオケ装置4の残りデータ量やコンテンツの保有状況等は、このRAM42において保存される。ROM43は、不揮発性の記憶装置であり、BIOSや通常であれば更新されない読み出し専用のデータ等を記憶している。HDD44は、カラオケ用の楽曲データや映像データ等のコンテンツデータやプログラム等の各種データを保存して
おくための装置である。操作部45は、ユーザからの各種指示を入力するための入力装置であり、複数のキースイッチ等によって構成される。
【0038】
再生部46は、演奏データに基づく演奏再生を行うMIDI音源、MIDI音源から生成されたオーディオ信号及び入力部47から入力された音声信号をスピーカへ出力する音声制御部、画像データに基づく映像の再生を制御する映像再生部、映像を表示するためのモニタ等を備える。入力部47は、マイクロフォンによって歌唱者の歌唱音声を音声信号へ変換し、再生部46へ入力するためのものである。ネットワーク通信部48は、カラオケ装置4をインターネット200に接続して外部と通信を行うための通信インタフェースである。
【0039】
[クライアント情報の説明]
各カラオケ装置4から集中管理装置2に対して送信されるクライアント情報の概要について、図3に基づき説明する。図3の〈a〉〜〈d〉は、それぞれカラオケ装置4a,4b,4c,4dから送信されるクライアント情報の一例を示している。
【0040】
クライアント情報には、送信元のカラオケ装置4を特定するための識別情報として、当該カラオケ装置4に割当てられているシリアル番号及びIPアドレスが含まれている。これらの識別情報によって、インターネット上での通信先を特定できるようになっている。また、当該カラオケ装置4における再生予約状況を示す情報として、再生予約中のコンテンツの一覧である予約リストが含まれている。
【0041】
予約リストには、再生予約された個々のコンテンツについて、予約順(すなわち、再生順)を示す情報や、コンテンツの識別情報である選曲番号、曲名、再生時間、コンテンツのサイズ(データ量)、そのコンテンツを当該カラオケ装置4が保有しているか否かを示す保有フラグ等の情報が記述されている。保有フラグは、そのコンテンツを保有している場合は「1」、保有していない場合は「0」が記述される。
【0042】
[サーバ情報の説明]
各カラオケ装置4から集中管理装置2に対して送信されるサーバ情報の概要について、図4に基づき説明する。図4の〈a〉〜〈d〉は、それぞれカラオケ装置4a,4b,4c,4dから送信されるサーバ情報の一例を示している。
【0043】
サーバ情報には、送信元のカラオケ装置4を特定するための識別情報として、当該カラオケ装置4に割当てられているシリアル番号及びIPアドレスが含まれている。これらの識別情報によって、インターネット上での通信先を特定できるようになっている。また、当該カラオケ装置4の残りデータ量、当該カラオケ装置4がHDD44に保有している全コンテンツの一覧である保有コンテンツ情報、およびコンテンツなどのデータをアップロードする速度を示すUPLOAD速度情報が含まれている。
【0044】
残りデータ量は、現在の期間中にクライアントに対して送信できるコンテンツの送信データ量の残量を示す値である。コンテンツの送信に必要な残りデータ量が足りない場合、そのサーバはコンテンツの送信を行わないようになっている。例えば、1日あたりの送信データ量の上限量が2000に設定されている場合、当日中の送信データ量が200であると、当日中の残りデータ量は1800である。
【0045】
保有コンテンツ情報には、当該カラオケ装置4が保有する全コンテンツについて、コンテンツの識別情報である選曲番号及び曲名等の情報が記述されている。
UPLOAD速度情報としては、最大UPLOAD速度および最低UPLOAD速度が記述されている。なお、最大UPLOAD速度は、コンテンツの送信速度として理論的な最大値に設定されている。また、最低UPLOAD速度は、実際にコンテンツを送信する際の速度と想定される値に設定されており、本実施形態では、所定期間内に計測された実際のUPLOAD速度のうち最も小さい値に設定されている。
【0046】
[通信シーケンスの説明]
次に、カラオケ装置4と集中管理装置2との通信、及び、カラオケ装置4同士の通信シーケンスについて、図5に基づいて説明する。
【0047】
図5(a)は、サーバ情報送受信及びコンテンツ非取得状態通知シーケンスを示すラダーチャートである。
各カラオケ装置4のサーバ機能では、集中管理装置2に対して自カラオケ装置4に関するサーバ情報を送信する。サーバ情報の送信は、サーバ情報に含まれるコンテンツの保有状況や、残りデータ量に変更があった都度行われる。集中管理装置2は、各カラオケ装置4から受信したサーバ情報をRAM22所定の記憶領域に格納して一元管理しており、カラオケ装置4からサーバ情報を受信したときには、当該カラオケ装置4のサーバ情報を最新の内容に更新する。
【0048】
一方、各カラオケ装置4のクライアント機能では、他のカラオケ装置4からコンテンツを受信中ではないときに、コンテンツ非取得状態である旨を集中管理装置2に通知する。集中管理装置2は、各カラオケ装置4からの通知結果を管理しており、その内容に基づいて各カラオケ装置4がコンテンツを取得中であるか否かを判断する。
【0049】
図5(b)は、クライアント情報送受信及びコンテンツ送受信シーケンスを示すラダーチャートである。
クライアント側のカラオケ装置4は、再生予約状況に更新があると、集中管理装置2に対して自カラオケ装置4の予約状況に関するクライアント情報を送信する。クライアント情報の送信は、クライアント情報に含まれる予約リストの内容(予約順や予約コンテンツの保有状況)に変更があった都度行われる。集中管理装置2は、各カラオケ装置4から受信したクライアント情報をRAM22の所定の記憶領域に格納して一元管理しており、カラオケ装置4からクライアント情報を受信したときには、当該カラオケ装置4のクライアント情報を最新の内容に更新する。
【0050】
集中管理装置2は、クライアント情報に基づいて、クライアント側のカラオケ装置4において取得の必要な未取得コンテンツを検出し、サーバ情報に基づいて、その未取得コンテンツを保有するサーバ側のカラオケ装置4を検出する。ここで検出されるのは、クライアントにおいて未取得であるコンテンツを保有するカラオケ装置4の中で残りデータ量が最大のカラオケ装置4である。集中管理装置2は、クライアント側のカラオケ装置4に対して余剰コンテンツの取得を指示すると共に、検出したサーバ側のカラオケ装置4に該当するサーバ情報を送信する。なお、余剰コンテンツとは、サーバ側のカラオケ装置4が保有するコンテンツのうちクライアント側のカラオケ装置4の何れかが保有していないコンテンツであり、カラオケサービスを行う上で、全てのカラオケ装置4が保有していることが望ましいコンテンツを云う。
【0051】
集中管理装置2からコンテンツの取得指示と共にサーバ情報を受信したクライアント側のカラオケ装置4は、まず、自カラオケ装置4がコンテンツ取得状態に移行したことを集中管理装置2に対して通知する。そして、サーバ情報のIPアドレス及びシリアル番号で示されるコンテンツ取得先のカラオケ装置4(サーバ)に対して、未取得コンテンツの取得要求を送信する。
【0052】
クライアント側のカラオケ装置4からコンテンツの取得要求を受信したサーバ側のカラオケ装置4は、まず、自カラオケ装置4の残りデータ量からそのコンテンツのサイズを減算する。次に、HDD44に保有している当該コンテンツを、クライアント側のカラオケ装置4に対して送信する。送信終了後、当該コンテンツのサイズに対する実際の送信データ量の不足分を残りデータ量に加算し、最低UPLOAD速度を更新して、コンテンツの送信終了をクライアント側のカラオケ装置4に通知する。
【0053】
コンテンツを取得したクライアント側のカラオケ装置4では、自カラオケ装置4のクライアント情報を更新し、集中管理装置2にクライアント情報を送信すると共に、コンテンツ非取得状態に移行した旨を通知する。
【0054】
[クライアント処理の説明]
次に、カラオケ装置4がクライアント機能として実行する処理について、図6に基づいて説明する。
【0055】
図6(a)は、カラオケ装置4のCPU41が実行するクライアント処理(1)の手順を示すフローチャートである。この処理は、コンテンツの予約や再生に関する処理と並行して実行される処理である。
【0056】
カラオケ装置4のCPU41は、S101において、コンテンツの再生予約の内容(予約順等)が更新されたか否かを判定する。予約内容が更新されていない場合(S101:NO)、この処理を繰返す。予約内容が更新された場合(S101:YES)、最新の予約内容を反映したクライアント情報を集中管理装置2に送信する(S102)。
【0057】
次に、図6(b)は、カラオケ装置4のCPU41が実行するクライアント処理(2)の手順を示すフローチャートである。この処理は、コンテンツの予約や再生に関する処理と並行して実行される処理である。
【0058】
カラオケ装置4のCPU41は、S111において、集中管理装置2に対してコンテンツ非取得状態を通知する。この通知は、自カラオケ装置4が、現在、他のカラオケ装置4からコンテンツを受信中ではないことを通知するためのものである。
【0059】
次に、集中管理装置2から未取得コンテンツの取得指示を受信したか否かを判定する(S112)。コンテンツの取得指示を受信していない場合(S112:NO)、余剰コンテンツを取得するための一連の処理(S120〜S127)を実行するため、後述するS120に移行する。一方、コンテンツの取得指示を受信した場合(S112:YES)、コンテンツ取得先を示すサーバ情報を受信する(S113)。続いて、集中管理装置2に対してコンテンツ取得状態を通知する(S114)。この通知は、自カラオケ装置4が、現在、他のカラオケ装置4からコンテンツを受信中であることを通知するためものである。
【0060】
次に、受信したサーバ情報のIPアドレス及びシリアル番号で示されるカラオケ装置4(サーバ)に対して、未取得コンテンツの取得要求を送信し(S115)、この取得要求に応じてサーバから送信されてくるコンテンツを取得する(S116)。サーバから送信終了の通知を受信後、コンテンツの取得に成功したか否かを判定する(S117)。
【0061】
コンテンツの取得に成功した場合(S117:YES)、自カラオケ装置4のクライアント情報を更新する(S118)。ここでは、クライアント情報の予約リストにおいて、取得したコンテンツの保有フラグを「0」から「1」へ変更する。次に、更新したクライアント情報を集中管理装置2に送信し(S119)、S111の処理へ戻る。
【0062】
一方、S117でコンテンツの取得に失敗したと判定した場合(S117:NO)、S111の処理へ戻る。
ところで、先のS120でコンテンツの取得指示を受信していない場合(S112:NO)、以下の余剰コンテンツを取得するための一連の処理(S120〜S127)を実行する。
【0063】
まず、集中管理装置2から余剰コンテンツ取得指示があるか否かを判断する(S120)。余剰コンテンツ取得の指示がない場合(S120:NO)、この処理を繰り返す。一方、余剰コンテンツ取得の指示がある場合(S120:YES)、余剰コンテンツの取得先を示すサーバ情報を受信して、余剰コンテンツを取得する(S121)。続いて、集中管理装置2に対してコンテンツ取得状態を通知する(S122)。
【0064】
次に、受信したサーバ情報のIPアドレス及びシリアル番号で示されるカラオケ装置4(サーバ)に対して、余剰コンテンツの取得要求を送信し(S123)、この取得要求に応じてサーバから送信されてくるコンテンツを取得する(S124)。サーバから送信終了の通知を受信後、コンテンツの取得が終了したか否かを判定する(S125)。
【0065】
コンテンツの取得が終了した場合(S125:YES)、S111の処理へ戻る。一方、コンテンツの取得が終了していないと判定した場合(S125:NO)、クライアント情報に未保持コンテンツがあるか否かを判断する(S126)。クライアント情報に未保持コンテンツがある場合(S126:YES)、余剰コンテンツの取得を中断し(S127)、S111の処理へ戻る。一方、クライアント情報に未保持コンテンツがない場合(S126:NO)、余剰コンテンツの取得を続行し、S125の処理へ戻る。
【0066】
[サーバ処理の説明]
次に、カラオケ装置4がサーバ機能として実行する処理について、図7に基づいて説明する。
【0067】
図7(a)は、カラオケ装置4のCPU41が実行するサーバ処理(1)の手順を示すフローチャートである。この処理は、コンテンツの予約や再生に関する処理と並行して実行される処理である。
【0068】
カラオケ装置4のCPU41は、S201において、自カラオケ装置4の残りデータ量及びコンテンツの保有状況に関するサーバ情報を集中管理装置2に送信する(S201)
。次に、残りデータ量、あるいはコンテンツの保有状況に変化があったか否かを判定する(S202)。判定の結果、変化があった場合には(S202:YES)、S201で最新の状態を反映したサーバ情報を集中管理装置2に送信する。
【0069】
一方、判定の結果、残りデータ量及びコンテンツの保有状況に変化がない場合には(S202:NO)、送信データ量の上限量の判定基準となる所定期間が満了したか否かを判定する(S203)。ここでは、所定期間が日数単位で設定されている場合、日付が更新したときに期間満了と判断する。また、所定期間が時間単位で設定されている場合、設定時間が経過したときに期間満了と判断する。所定期間が満了していない場合(S203:NO)、S202の処理へ戻る。一方、所定期間が満了した場合(S203:YES)、残りデータ量を期間ごとに設定されている上限量にリセットし(S204)、S202の処理へ戻る。
【0070】
次に、図7(b)は、カラオケ装置4のCPU41が実行するサーバ処理(2)の手順を示すフローチャートである。この処理は、コンテンツの予約や再生に関する処理と並行して実行される処理である。
【0071】
カラオケ装置4のCPU41は、S211において、クライアントからコンテンツ取得要求を受信したか否かを判定する。コンテンツ取得要求を受信していない間(S211:NO)は、この処理を繰返す。クライアントからコンテンツ取得要求を受信した場合(S211:YES)、取得要求に該当のコンテンツ(以下、要求コンテンツ)のサイズと、自カラオケ装置4の現在の残りデータ量とを比較し、要求コンテンツのサイズ分の残りデータ量があるか否かを判定する(S212)。判定の結果、要求コンテンツのサイズ分の残りデータ量がある場合は(S212:YES)、S213の処理へ移行し、残りデータ量がない場合は(S212:NO)、S217の処理へ移行する。
【0072】
要求コンテンツのサイズ分の残りデータ量がある場合に進むS213では、現在の残りデータ量から要求コンテンツのデータ量を減算する(S213)。残りデータ量の更新後、HDD44に保有している要求コンテンツをクライアントに対して送信する(S214)。コンテンツの送信開始後、送信速度を計測して(S2141)、当該送信が終了したか否かを判定する(S215)。送信が継続している間(S215:NO)、この処理を繰返す。
【0073】
コンテンツの送信が終了(中断も含む)した場合(S215:YES)、要求コンテンツのデータ量に対する、今回の実際の送信データ量の不足分を算出し、その不足分を残りデータ量に加算する(S216)。この処理は、例えば、コンテンツの送信が何らかの理由で不完全な状態で中断した場合、未送信となった分のデータ量を残りデータ量に還元するためのものである。続いて、S2141で計測した送信速度が自身のサーバ情報の最低UPLOAD量よりも小さいか否かを判断する(S2161)。送信速度が自身の最低UPLOAD量よりも小さい場合(S2161:YES)、自身の最低UPLOAD量の値を、計測した送信速度の値に更新し(S2162)、S217の処理へ移行する。一方、送信速度が自身の最低UPLOAD量以上である場合(S2161:NO)、そのままS217の処理へ移行する。続いて、S217では、コンテンツ取得要求に対する送信処理の終了をクライアントに対して通知する。終了を通知した後、S211の処理へ戻る。
【0074】
[集中管理処理(1)の説明]
次に、集中管理装置2が実行する集中管理処理について、図8〜10に基づいて説明する。
【0075】
図8は、集中管理装置2のCPU21が実行する集中管理処理(1)の手順を示すフローチャートの前半部分であり、図9は、その後半部分である。
集中管理装置2のCPU21は、S301において、カラオケ装置4からクライアント情報を受信したか否かを判定する。クライアント情報を受信した場合(S301:YES)、受信したクライアント情報をRAM22の所定の記憶領域に保存する(S302)。そして、記憶するクライアント情報に基づき、人気ランキングを集計して、集計結果を保存する(S3021)。
【0076】
クライアント情報を受信していない場合(S301:NO)、次に、カラオケ装置4からサーバ情報を受信したか否かを判定する(S303)。サーバ情報を受信した場合、受信したサーバ情報をRAM22の所定の記憶領域に保存する(S304)。
【0077】
一方、サーバ情報を受信していない場合(S303:NO)、クライアント情報を保存している各カラオケ装置4の中で、コンテンツ非取得状態となっているクライアントが存在するか否かを判定する(S305)。なお、クライアントがコンテンツ非取得状態であるかどうかは、各カラオケ装置4からの通知結果に基づいて判断する。
【0078】
判定の結果、コンテンツ非取得状態のクライアントが存在しない場合は(S305:NO)、S301の処理へ戻り、コンテンツ非取得状態のクライアントが存在する場合は(S305:YES)、S306の処理へ移行する。S306では、コンテンツ非取得状態のクライアントが複数存在するか否かを判定する。コンテンツ非取得状態のクライアントが単独の場合は(S306:NO)、S307の処理へ移行し、複数存在する場合は(S306:YES)、S314の処理へ移行する。
【0079】
コンテンツ非取得状態のクライアントが単独の場合に進むS307では、各クライアント情報の中から、コンテンツ非取得状態のクライアントを検出する(以下、このクライアントを検出クライアントと称する)。続いて、検出クライアントに該当のクライアント情報を参照し、検出クライアントにおいて現在予約中のコンテンツの中に検出クライアント自身が保有していない未取得コンテンツがあるか否かを判定する(S308)。判定の結果、検出クライアントに未取得コンテンツがない場合は(S308:NO)、S301の処理へ戻り、未取得コンテンツがある場合は(S308:YES)、S309の処理へ移行する。
【0080】
S309では、検出クライアントの未取得コンテンツの中で予約順の最も早いコンテンツを検出する(以下、このコンテンツを検出コンテンツと称する)。次に、S310(図9)へ移行し、各サーバ情報の中から、検出コンテンツを保有し、かつ残りデータ量が検出コンテンツのサイズよりも大きいサーバを検出する。そして、検出されたサーバ群の中で残りデータ量が最大のサーバが複数存在するか否かを判定する(S311)。
【0081】
判定の結果、残りデータ量が最大のサーバが複数存在する場合(S311:YES)、すなわち、残りデータ量の条件が同一である場合、残りデータ量が最大のサーバの中で保有するコンテンツの数が最少のサーバに該当するサーバ情報を抽出し、その抽出したサーバ情報を検出クライアントに送信すると共に、検出コンテンツの取得を検出クライアントに対して指示する(S312)。S312の処理を実行後、S301の処理へ戻る。
【0082】
一方、残りデータ量が最大のサーバが単独である場合(S311:NO)、残りデータ量が最大のサーバに該当するサーバ情報を抽出し、その抽出したサーバ情報を検出クライアントに送信すると共に、検出コンテンツの取得を検出クライアントに対して指示する(S313)。S313の処理を実行後、S301の処理へ戻る。
【0083】
一方、S306(図8)の判定においてコンテンツ非取得状態のクライアントが複数である場合に進むS314では、コンテンツ非取得状態のクライアント群に、再生予約中のコンテンツにそのクライアント自身が保有していない未取得コンテンツがあるクライアントが存在するか否かを判定する。判定の結果、未取得コンテンツを有するクライアントが存在しない場合は(S314:NO)、S301の処理へ戻り、未取得コンテンツを有するクライアントが存在がする場合は、S315の処理へ移行する。
【0084】
S315では、それらのクライアントの中から、残りデータ量が最大のクライアントを検出する(以下、このクライアントを検出クライアントと称する)。次に、検出クライ
アントに複数の未取得コンテンツがあるか否かを判定する(S316)。判定の結果、未取得コンテンツが1つである場合は(S316:NO)、S309の処理へ移行し、未取得コンテンツが複数存在する場合は(S316:YES)、S317の処理へ移行する。
【0085】
S317では、検出クライアントと共通の未取得コンテンツを有する他のクライアントが存在するか否かを判定する(S317)。判定の結果、検出クライアントと共通の未取得コンテンツを有する他のクライアントが存在しない場合は(S317:NO)、S309の処理へ移行し、存在する場合は(S317:YES)、S318(図9)の処理へ移行する。
【0086】
S318では、その共通の未取得コンテンツのうち、検出クライアントにおける予約順の最も早いコンテンツ(以下、対象コンテンツと称する)を保有し、かつ残りデータ量がその対象コンテンツのサイズよりも大きいサーバを検出する。そして、検出されたサーバ群の中で残りデータ量が最大のサーバが複数存在するか否かを判定する(S319)。
【0087】
判定の結果、残りデータ量が最大のサーバが複数存在する場合(S319:YES)、すなわち、残りデータ量の条件が同一である場合、残りデータ量が最大のサーバの中で保有するコンテンツの数が最少のサーバを検出する(S320)。一方、残りデータ量が最大のサーバが単独である場合(S319:NO)、残りデータ量が最大のサーバを検出する(S321)。以下、S320又はS321で検出したサーバを検出サーバと称する。
【0088】
次に、S322では、検出サーバの残りデータ量から対象コンテンツのデータ量を差引いた値よりも、検出クライアントの残りデータ量の方が大きいか否かを判定する。判定の結果、検出クライアントの残りデータ量の方が大きい場合(S322:YES)、検出サーバに該当するサーバ情報を抽出し、その抽出したサーバ情報を検出クライアントに送信すると共に、対象コンテンツの取得を検出クライアントに対して指示する(S323)。S323の処理を実行後、S301の処理へ戻る。
【0089】
一方、検出サーバの残りデータ量から対象コンテンツのデータ量を差引いた値が、検出クライアントの残りデータ量以上である場合(S322:NO)、検出クライアントと他のクライアントの間で共通の未取得コンテンツのうち、対象コンテンツの次に予約順の早いコンテンツがあるか否かを判定する(S324)。
【0090】
判定の結果、次に予約順の早いコンテンツがある場合(S324:YES)、そのコンテンツ(以下、そのコンテンツが次の対象コンテンツとなる)を保有し、かつ残りデータ量がその対象コンテンツよりも大きいサーバを検出し(S325)、S319の処理へ戻る。一方、対象コンテンツの次に予約順の早いコンテンツがない場合(S324:NO)、検出クライアントの未取得コンテンツの中で予約順の最も早いコンテンツを検出する(S326)。以下、そのコンテンツを検出コンテンツとしてS310の処理へ移行する。
【0091】
[集中管理装置処理(2)の説明]
図10は、集中管理装置2のCPU21が実行する集中管理処理(2)の手順を示すフローチャートである。
【0092】
集中管理装置2のCPU21は、S401において、余剰データ量(残りデータ量)を持つサーバを検出し、余剰データ量を持つサーバを検出したか否かを判断する(S402)。
【0093】
なお、余剰データ量とは、次回残りデータ量リセット時間まで最大UPLOAD速度で送信可能なデータ量と残りデータ量との差分のデータ量を云う。そして、次回残りデータ量リセット時間まで最大UPLOAD速度で送信可能なデータ量よりも、残りデータ量の方が大きいのであれば余剰データがあり、小さければ余剰データ量はない。なお、残りデータ量リセット時間とは、残りデータ量を期間ごとに設定されている上限量へリセットする時間である。
【0094】
余剰データ量を持つサーバを検出しなかった場合(S402:NO)、S401の処理へ戻る。
一方、S402で余剰データ量を持つサーバを検出した場合(S402:YES)、検出したサーバが保有するコンテンツから最も人気のあるコンテンツ(最大人気コンテンツ)を検出する(S403)。続いて、検出したサーバの余剰データ量が、検出した最大人気コンテンツのデータサイズよりも大きいか否かを判断する(S404)。
【0095】
検出したサーバの余剰データ量が最大人気コンテンツのデータサイズ以下である場合(S404:NO)、S401の処理へ戻る。
一方、S404で検出したサーバの余剰データ量が最大人気コンテンツのデータサイズよりも大きい場合(S404:YES)、検出したサーバの残りデータ量リセット時間までに最大人気コンテンツを送信可能か否かを判断する(S405)。
【0096】
ここでは、最大人気コンテンツのデータサイズ分を最低UPLOAD速度で送信した場合に、次回残りデータ量リセット時間までに全て送信できれば送信可能とする。
送信可能ではない場合(S405:NO)、S401の処理へ戻る。
【0097】
一方、S405で送信可能である場合(S405:YES)、現在コンテンツの取得を行っていないクライアント(非取得状態のクライアント)が存在するか否かを判断する(S406)。存在しない場合(S406:NO)、S401の処理へ戻る。
【0098】
一方、S406で存在する場合(S406:YES)、非取得状態のクライアントの中に、最大人気コンテンツを保有しないクライアントが存在するか否かを判断する(S407)。存在する場合(S407:YES)、該当クライアントの中から、保有コンテンツ数が最も少ないクライアントを検出し(S408)、S402で検出されたサーバのサーバ情報をS408で検出されたクライアントに送信して、余剰コンテンツの取得を指示する(S409)。そして、S401の処理へ戻る。
【0099】
一方、S407で非取得状態のクライアントの中に最大人気コンテンツを保有しないクライアントが存在しないと判断された場合(S407:NO)、S402で検出されたサーバが保有するコンテンツから次に人気があるコンテンツを検出し(S410)、検出されたか否かを判断する(S411)。検出された場合(S411:YES)、S404の処理へ戻る。一方、検出されなかった場合(S411:YES)、S401の処理へ戻る。
【0100】
[特許請求の範囲に記載の構成との対応]
次に、実施形態のカラオケネットワークシステム1の構成と、特許請求の範囲に記載の構成との対応について説明する。
【0101】
集中管理装置2のCPU21が、特許請求の範囲における取得対象特定手段、残量大カラオケ装置選定手段、データ送信可否判定手段、非取得カラオケ装置選定手段、取得指示手段、クライアント情報受信手段、及び、サーバ情報受信手段に相当し、RAM22が、クライアント情報記憶手段及びサーバ情報記憶手段に相当する。
【0102】
カラオケ装置4のCPU41が、特許請求範囲におけるクライアント情報送信手段、取得要求手段、コンテンツ取得手段、サーバ情報送信手段、コンテンツ送信手段、還元手段、及び、リセット手段に相当し、RAM42が、残りデータ量記憶手段に相当する。
【0103】
[効果]
上記実施形態のカラオケネットワークシステム1によれば、次のような効果を奏する。
(1)ユーザからの再生予約がないときに、残りデータ量に余裕のあるカラオケ装置4から人気のあるコンテンツを他のカラオケ装置4へ予め取得しておくことができる。このようにすることで、カラオケ装置間でコンテンツの送信要求を分散させることができ、カラオケ装置におけるデータ送信リソースの利用率に拘わらず、各カラオケ装置間で送信データ量を効果的に平滑化できる。よって、特定のカラオケ装置(サーバ)にコンテンツの送信要求が集中することで送信データ量が上限値を超えてしまうのを防止できる。
【0104】
(2)コンテンツ取得中に未取得コンテンツの予約を受けたら、ユーザが所望する未取得コンテンツの取得を優先させるために、現在実行中のコンテンツの取得を中断するので、ユーザの利便性を向上させることができる。
【0105】
(3)サーバがコンテンツを送信した際、コンテンツのデータ量に対する実際の送信データ量の不足分を残りデータ量に還元することで、残りデータ量をより正確に管理でき、送信データ量の制限枠を無駄なく活用できる。
【0106】
(4)所定期間が満了する度に残りデータ量を上限量にリセットすることで、送信可能な残りデータ量を適切に管理できる。
【符号の説明】
【0107】
1…カラオケネットワークシステム、2…集中管理装置、21…CPU、22…RAM、23…ROM、24…HDD、25…ネットワーク通信部、4…カラオケ装置、41…CPU、42…RAM、43…ROM、44…HDD、45…操作部、46…再生部、47…入力部、48…ネットワーク通信部、200…インターネット
【特許請求の範囲】
【請求項1】
ユーザからの再生予約に基づいてコンテンツを再生する複数のカラオケ装置と、集中管理装置とがネットワークを介して互いに通信可能に接続されたカラオケネットワークシステムであって、
前記カラオケ装置は、
他のカラオケ装置に対してコンテンツの取得要求を行い、その要求先のカラオケ装置からコンテンツを取得するクライアント機能と、他のカラオケ装置からのコンテンツ取得要求に応じて、要求元のカラオケ装置にコンテンツを送信するサーバ機能とを併せて備え、
前記クライアント機能として実行する処理に関する構成として、
自カラオケ装置の識別情報と、再生予約されたコンテンツの識別情報と、その再生予約されたコンテンツの自カラオケ装置における保有状況を示す保有情報とを少なくとも含むクライアント情報を前記集中管理装置に対して送信するクライアント情報送信手段を備え、
前記サーバ機能として実行する処理に関する構成として、
前記カラオケ装置に対して所定期間単位で設定されている送信データの上限量のうち、自カラオケ装置が現在の期間中に他のカラオケ装置に送信可能な残りデータ量を記憶しておく残りデータ量記憶手段と、
自カラオケ装置の識別情報と、自カラオケ装置の残りデータ量と、自カラオケ装置が保有しているコンテンツの識別情報と、データ送信速度を示すデータ送信速度情報とを少なくとも含むサーバ情報を前記集中管理装置に対して送信するサーバ情報送信手段とを備え、
前記集中管理装置は、
各カラオケ装置からそれぞれ受信したクライアント情報を記憶するクライアント情報記憶手段と、
各カラオケ装置からそれぞれ受信したクライアント情報からコンテンツの再生予約数を集計する再生予約集計手段と、
各カラオケ装置からそれぞれ受信したサーバ情報を記憶するサーバ情報記憶手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、残りデータ量が所定値以上であり且つ前記所定値以上の残りデータ量分を余剰データ量としたときの前記余剰データ量が最大のカラオケ装置である残量大カラオケ装置を選定する残量大カラオケ装置選定手段と、
前記サーバ情報記憶手段に記憶している前記残量大カラオケ装置のサーバ情報に基づき、前記残量大カラオケ装置選定手段によって検出された残量大カラオケ装置が保有するコンテンツの中から再生予約される頻度が高いコンテンツを取得対象として特定する取得対象特定手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、前記残量大カラオケ装置選定手段によって検出された残量大カラオケ装置の余剰データ量が、前記取得対象特定手段により特定した取得対象のコンテンツのデータ量よりも大きく、データ送信速度によれば所定期間内にその取得対象のコンテンツの取得が可能であるかを判定するデータ送信可否判定手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、前記取得対象特定手段により特定した取得対象のコンテンツを保有していないカラオケ装置の中から、非取得カラオケ装置を選定する非取得カラオケ装置選定手段と、
前記非取得カラオケ装置選定手段により選定された非取得カラオケ装置に対して、前記残量大カラオケ装置選定手段により選定した残量大カラオケ装置に該当のサーバ情報を送信し、取得対象のコンテンツの取得を指示する取得指示手段とを備え、
さらに、前記カラオケ装置は、
前記クライアント機能として実行する処理に関する構成として、
前記集中管理装置から、前記取得対象のコンテンツの取得指示及びその取得先のサーバ情報を受信した場合、そのサーバ情報で示されるカラオケ装置に対して当該コンテンツの取得要求を送信する取得要求手段と、
前記取得要求手段により送信された取得要求に応じて、その要求先のカラオケ装置から送信されるコンテンツを取得するコンテンツ取得手段とを備え、
前記サーバ機能として実行する処理に関する構成として、
他のカラオケ装置からコンテンツの取得要求を受信した場合、自カラオケ装置の残りデータ量が当該取得要求に係るコンテンツのデータ量以上であれば、自カラオケ装置の残りデータ量を当該コンテンツのデータ量分減らしてから、当該コンテンツを要求元のカラオケ装置に対して送信するコンテンツ送信手段とを備えること
を特徴とするカラオケネットワークシステム。
【請求項2】
請求項1に記載のカラオケネットワークシステムにおいて、
前記カラオケ装置の前記クライアント機能では、
前記取得要求手段は、前記コンテンツ取得手段によって取得中のコンテンツとは異なる未取得コンテンツへの再生予約を受けた場合に、前記サーバ情報で示されるカラオケ装置に対して当該コンテンツの取得中断を送信し、
前記カラオケ装置の前記サーバ機能では、
前記コンテンツ送信手段は、他のカラオケ装置からコンテンツの取得中断を受信した場合、当該コンテンツの送信を中断すること
を特徴とするカラオケネットワークシステム。
【請求項3】
請求項1または請求項2の何れか1項に記載のカラオケネットワークシステムにおいて、
前記カラオケ装置は、前記サーバ機能として実行する処理に関する構成として、
前記コンテンツ送信手段によるコンテンツの送信が終わった後、そのコンテンツのデータ量に対する実際の送信データ量の不足分を、自カラオケ装置の残りデータ量に還元する還元手段を更に備えること
を特徴とするカラオケネットワークシステム。
【請求項4】
請求項1〜請求項3の何れか1項に記載のカラオケネットワークシステムにおいて、
前記カラオケ装置は、前記サーバ機能として実行する処理に関する構成として、
前記所定期間が満了したときに、前記残りデータ量記憶手段に記憶している残りデータ量を前記上限量にリセットするリセット手段を更に備えること
を特徴とするカラオケネットワークシステム。
【請求項5】
ユーザからの再生予約に基づいてコンテンツを再生する複数のカラオケ装置と集中管理装置とがネットワークを介して互いに通信可能に接続されたカラオケネットワークシステムに用いられる前記集中管理装置であって、
前記カラオケ装置から、そのカラオケ装置の識別情報と、そのカラオケ装置で再生予約されたコンテンツの識別情報と、その再生予約されたコンテンツの当該カラオケ装置における保有状況を示す保有情報とを少なくとも含むクライアント情報を受信するクライアント情報受信手段と、
前記クライアント情報受信手段により各カラオケ装置からそれぞれ受信したクライアント情報を記憶するクライアント情報記憶手段と、
前記カラオケ装置から、そのカラオケ装置の識別情報と、所定期間単位で設定されている送信データの上限量のうち、そのカラオケ装置が現在の期間中に他のカラオケ装置に送信可能な残りデータ量と、そのカラオケ装置が保有しているコンテンツの識別情報と、データ送信速度を示すデータ送信速度情報とを少なくとも含むサーバ情報を受信するサーバ情報受信手段と、
各カラオケ装置からそれぞれ受信したクライアント情報からコンテンツの再生予約数を集計する再生予約集計手段と、
前記サーバ情報受信手段により各カラオケ装置からそれぞれ受信したサーバ情報を記憶するサーバ情報記憶手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、残りデータ量が所定値以上であり且つ前記所定値以上の残りデータ量分を余剰データ量としたときの前記余剰データ量が最大のカラオケ装置である残量大カラオケ装置を選定する残量大カラオケ装置選定手段と、
前記サーバ情報記憶手段に記憶している前記残量大カラオケ装置のクライアント情報に基づき、前記残量大カラオケ装置選定手段によって検出された残量大カラオケ装置が保有するコンテンツの中から再生予約される頻度が高いコンテンツを取得対象として特定する取得対象特定手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、前記残量大カラオケ装置選定手段によって検出された残量大カラオケ装置の余剰データ量が、前記取得対象特定手段により特定した取得対象のコンテンツのデータ量よりも大きく、データ送信速度によれば所定期間内にその取得対象のコンテンツの取得が可能であるかを判定するデータ送信可否判定手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、前記取得対象特定手段により特定した取得対象のコンテンツを保有していないカラオケ装置の中から、非取得カラオケ装置を選定する非取得カラオケ装置選定手段と、
前記非取得カラオケ装置選定手段により選定された非取得カラオケ装置に対して、前記残量大カラオケ装置選定手段により選定した残量大カラオケ装置に該当のサーバ情報を送信し、取得対象のコンテンツの取得を指示する取得指示手段とを備えること
を特徴とする集中管理装置。
【請求項1】
ユーザからの再生予約に基づいてコンテンツを再生する複数のカラオケ装置と、集中管理装置とがネットワークを介して互いに通信可能に接続されたカラオケネットワークシステムであって、
前記カラオケ装置は、
他のカラオケ装置に対してコンテンツの取得要求を行い、その要求先のカラオケ装置からコンテンツを取得するクライアント機能と、他のカラオケ装置からのコンテンツ取得要求に応じて、要求元のカラオケ装置にコンテンツを送信するサーバ機能とを併せて備え、
前記クライアント機能として実行する処理に関する構成として、
自カラオケ装置の識別情報と、再生予約されたコンテンツの識別情報と、その再生予約されたコンテンツの自カラオケ装置における保有状況を示す保有情報とを少なくとも含むクライアント情報を前記集中管理装置に対して送信するクライアント情報送信手段を備え、
前記サーバ機能として実行する処理に関する構成として、
前記カラオケ装置に対して所定期間単位で設定されている送信データの上限量のうち、自カラオケ装置が現在の期間中に他のカラオケ装置に送信可能な残りデータ量を記憶しておく残りデータ量記憶手段と、
自カラオケ装置の識別情報と、自カラオケ装置の残りデータ量と、自カラオケ装置が保有しているコンテンツの識別情報と、データ送信速度を示すデータ送信速度情報とを少なくとも含むサーバ情報を前記集中管理装置に対して送信するサーバ情報送信手段とを備え、
前記集中管理装置は、
各カラオケ装置からそれぞれ受信したクライアント情報を記憶するクライアント情報記憶手段と、
各カラオケ装置からそれぞれ受信したクライアント情報からコンテンツの再生予約数を集計する再生予約集計手段と、
各カラオケ装置からそれぞれ受信したサーバ情報を記憶するサーバ情報記憶手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、残りデータ量が所定値以上であり且つ前記所定値以上の残りデータ量分を余剰データ量としたときの前記余剰データ量が最大のカラオケ装置である残量大カラオケ装置を選定する残量大カラオケ装置選定手段と、
前記サーバ情報記憶手段に記憶している前記残量大カラオケ装置のサーバ情報に基づき、前記残量大カラオケ装置選定手段によって検出された残量大カラオケ装置が保有するコンテンツの中から再生予約される頻度が高いコンテンツを取得対象として特定する取得対象特定手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、前記残量大カラオケ装置選定手段によって検出された残量大カラオケ装置の余剰データ量が、前記取得対象特定手段により特定した取得対象のコンテンツのデータ量よりも大きく、データ送信速度によれば所定期間内にその取得対象のコンテンツの取得が可能であるかを判定するデータ送信可否判定手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、前記取得対象特定手段により特定した取得対象のコンテンツを保有していないカラオケ装置の中から、非取得カラオケ装置を選定する非取得カラオケ装置選定手段と、
前記非取得カラオケ装置選定手段により選定された非取得カラオケ装置に対して、前記残量大カラオケ装置選定手段により選定した残量大カラオケ装置に該当のサーバ情報を送信し、取得対象のコンテンツの取得を指示する取得指示手段とを備え、
さらに、前記カラオケ装置は、
前記クライアント機能として実行する処理に関する構成として、
前記集中管理装置から、前記取得対象のコンテンツの取得指示及びその取得先のサーバ情報を受信した場合、そのサーバ情報で示されるカラオケ装置に対して当該コンテンツの取得要求を送信する取得要求手段と、
前記取得要求手段により送信された取得要求に応じて、その要求先のカラオケ装置から送信されるコンテンツを取得するコンテンツ取得手段とを備え、
前記サーバ機能として実行する処理に関する構成として、
他のカラオケ装置からコンテンツの取得要求を受信した場合、自カラオケ装置の残りデータ量が当該取得要求に係るコンテンツのデータ量以上であれば、自カラオケ装置の残りデータ量を当該コンテンツのデータ量分減らしてから、当該コンテンツを要求元のカラオケ装置に対して送信するコンテンツ送信手段とを備えること
を特徴とするカラオケネットワークシステム。
【請求項2】
請求項1に記載のカラオケネットワークシステムにおいて、
前記カラオケ装置の前記クライアント機能では、
前記取得要求手段は、前記コンテンツ取得手段によって取得中のコンテンツとは異なる未取得コンテンツへの再生予約を受けた場合に、前記サーバ情報で示されるカラオケ装置に対して当該コンテンツの取得中断を送信し、
前記カラオケ装置の前記サーバ機能では、
前記コンテンツ送信手段は、他のカラオケ装置からコンテンツの取得中断を受信した場合、当該コンテンツの送信を中断すること
を特徴とするカラオケネットワークシステム。
【請求項3】
請求項1または請求項2の何れか1項に記載のカラオケネットワークシステムにおいて、
前記カラオケ装置は、前記サーバ機能として実行する処理に関する構成として、
前記コンテンツ送信手段によるコンテンツの送信が終わった後、そのコンテンツのデータ量に対する実際の送信データ量の不足分を、自カラオケ装置の残りデータ量に還元する還元手段を更に備えること
を特徴とするカラオケネットワークシステム。
【請求項4】
請求項1〜請求項3の何れか1項に記載のカラオケネットワークシステムにおいて、
前記カラオケ装置は、前記サーバ機能として実行する処理に関する構成として、
前記所定期間が満了したときに、前記残りデータ量記憶手段に記憶している残りデータ量を前記上限量にリセットするリセット手段を更に備えること
を特徴とするカラオケネットワークシステム。
【請求項5】
ユーザからの再生予約に基づいてコンテンツを再生する複数のカラオケ装置と集中管理装置とがネットワークを介して互いに通信可能に接続されたカラオケネットワークシステムに用いられる前記集中管理装置であって、
前記カラオケ装置から、そのカラオケ装置の識別情報と、そのカラオケ装置で再生予約されたコンテンツの識別情報と、その再生予約されたコンテンツの当該カラオケ装置における保有状況を示す保有情報とを少なくとも含むクライアント情報を受信するクライアント情報受信手段と、
前記クライアント情報受信手段により各カラオケ装置からそれぞれ受信したクライアント情報を記憶するクライアント情報記憶手段と、
前記カラオケ装置から、そのカラオケ装置の識別情報と、所定期間単位で設定されている送信データの上限量のうち、そのカラオケ装置が現在の期間中に他のカラオケ装置に送信可能な残りデータ量と、そのカラオケ装置が保有しているコンテンツの識別情報と、データ送信速度を示すデータ送信速度情報とを少なくとも含むサーバ情報を受信するサーバ情報受信手段と、
各カラオケ装置からそれぞれ受信したクライアント情報からコンテンツの再生予約数を集計する再生予約集計手段と、
前記サーバ情報受信手段により各カラオケ装置からそれぞれ受信したサーバ情報を記憶するサーバ情報記憶手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、残りデータ量が所定値以上であり且つ前記所定値以上の残りデータ量分を余剰データ量としたときの前記余剰データ量が最大のカラオケ装置である残量大カラオケ装置を選定する残量大カラオケ装置選定手段と、
前記サーバ情報記憶手段に記憶している前記残量大カラオケ装置のクライアント情報に基づき、前記残量大カラオケ装置選定手段によって検出された残量大カラオケ装置が保有するコンテンツの中から再生予約される頻度が高いコンテンツを取得対象として特定する取得対象特定手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、前記残量大カラオケ装置選定手段によって検出された残量大カラオケ装置の余剰データ量が、前記取得対象特定手段により特定した取得対象のコンテンツのデータ量よりも大きく、データ送信速度によれば所定期間内にその取得対象のコンテンツの取得が可能であるかを判定するデータ送信可否判定手段と、
前記サーバ情報記憶手段に記憶している各カラオケ装置のサーバ情報に基づき、前記取得対象特定手段により特定した取得対象のコンテンツを保有していないカラオケ装置の中から、非取得カラオケ装置を選定する非取得カラオケ装置選定手段と、
前記非取得カラオケ装置選定手段により選定された非取得カラオケ装置に対して、前記残量大カラオケ装置選定手段により選定した残量大カラオケ装置に該当のサーバ情報を送信し、取得対象のコンテンツの取得を指示する取得指示手段とを備えること
を特徴とする集中管理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2012−53206(P2012−53206A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−194706(P2010−194706)
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]