JP4107968B2 - Content distribution server, content receiving terminal, and content distribution system - Google Patents

Content distribution server, content receiving terminal, and content distribution system Download PDF

Info

Publication number
JP4107968B2
JP4107968B2 JP2003000809A JP2003000809A JP4107968B2 JP 4107968 B2 JP4107968 B2 JP 4107968B2 JP 2003000809 A JP2003000809 A JP 2003000809A JP 2003000809 A JP2003000809 A JP 2003000809A JP 4107968 B2 JP4107968 B2 JP 4107968B2
Authority
JP
Japan
Prior art keywords
content
distribution
data
terminal
content data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003000809A
Other languages
Japanese (ja)
Other versions
JP2004212754A (en
Inventor
淳 伊藤
康弘 玉島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2003000809A priority Critical patent/JP4107968B2/en
Publication of JP2004212754A publication Critical patent/JP2004212754A/en
Application granted granted Critical
Publication of JP4107968B2 publication Critical patent/JP4107968B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンテンツ配信サーバ、コンテンツ受信端末及びコンテンツ配信システムに関し、例えば音楽データなどのコンテンツデータをインターネットやLAN等のネットワークを介してストリーミング配信するに際し、特に、ネットワークの回線容量を効率的に利用することを可能とするコンテンツ配信サーバ、コンテンツ受信端末及びコンテンツ配信システムに関する。
【0002】
【従来の技術】
サーバが、ネットワークを介してクライアント端末に対してデータを配信する場合に、クライアント端末が全てのデータを受信する前に、再生を開始することを可能とする技術として、ストリーミング技術が一般に広く知られている。
近年においては、インターネット等のネットワークに接続されたパーソナルコンピュータ向けに送信する映像や音楽などのコンテンツ配信サービスとして、ストリーミング技術が広く用いられている。かかるストリーミング技術を用いてコンテンツデータを配信する際に、ネットワークが混んでいる場合や、回線の帯域を上回るコンテンツデータを配信するような場合であっても、ストリーミング配信されたコンテンツデータを受信した再生プレイヤーが途切れることなく再生し続けることを可能とするために、クライアント端末内部に設けられているキャッシュメモリにストリーミング配信されたコンテンツデータを蓄積しながら再生を行なう手法や、コンテンツデータを配信するサーバとは異なるネットワーク上の位置に配設されているキャッシュ装置に対してコンテンツデータを配信して予め蓄積した後、該キャッシュ装置からクライアント端末に対して配信するという手法が採用されている。
【0003】
例えば、特許文献1に示す特開2002−183019号公報においては、コンテンツデータと共に該コンテンツデータの特徴を示すメタ情報を受信し、該メタ情報及びユーザのプロファイルに応じて、一時的な記憶手段であるキャッシュメモリに記憶すべきコンテンツデータを判断して保存するというキャッシュ装置に関する技術が開示されている。かかる技術を用いることにより、ある特定のクライアント端末がコンテンツ配信サーバ内のコンテンツデータにアクセスする際に、ネットワークのアクセス時間が制限されたり、あるいは、ネットワークの混雑による影響を受けることなく、所望のコンテンツデータをストリーミング受信することができるとされている。
【0004】
【特許文献1】
特開2002−183019号公報(第3−第5頁、図1)
【0005】
【発明が解決しようとする課題】
しかしながら、特許文献1に示す特開2002−183019号公報において開示されているような技術を用いる場合、コンテンツ配信サーバからクライアント端末に対して事前に登録されているコンテンツデータをプッシュ配信するような場合にあっては、当該クライアント端末にとって実際には全く利用されないコンテンツデータまでも自動的に配信されてしまう可能性があり、ネットワークを転送されるコンテンツデータの総送出量が大きくなってしまうという課題がある。
【0006】
また、ストリーミング配信の一般的な課題として、ユーザがキャッシュ装置に蓄えられていないコンテンツデータを再生する要求をしたい場合、かかる要求時点においてユーザ側のクライアント端末をサービス提供者側のコンテンツ配信サーバにネットワークを介して接続する必要がある。このため、多くのユーザが前記キャッシュ装置に蓄積されていないコンテンツデータを一斉に再生するような要求がなされた場合、1ユーザ当たりの占有帯域に一斉に要求するユーザ数を乗じた通信帯域がネットワークに必要となり、更には、ネットワークに接続されているクライアント端末全てが一斉にサービス提供者側のコンテンツ配信サーバに接続を要求するような状況の発生により、ネットワークの許容帯域をはるかに越えて、全てのクライアント端末に一斉にコンテンツデータを配信せんとするような事態も排除できないという課題が残されている。
【0007】
また、コンテンツデータのストリーミング配信は、要求されたクライアント端末の要求順序に従って順次行なわれるが、ネットワークの許容帯域を超えてしまった場合には、後続する配信要求元のクライアント端末に対しては配信することができなくなることとなり、公平さに欠けてしまうという問題点も生じている。
【0008】
本発明は、かかる事情に鑑みてなされたものであり、コンテンツ受信端末からコンテンツデータの配信を要求する配信要求を送信する際に、キャッシュメモリにキャッシュされているコンテンツデータに関する情報(例えば、再生した回数を表す再生回数や再生した日時を表す再生日時やキャッシュされた日時を表すキャッシュ日時など)を配信優先順位付け情報として合わせて送信し、コンテンツ配信サーバが、予め定められた一定の時間間隔である配信要求受付期間内に受信した前記配信優先順位付け情報に基づいて、各コンテンツ受信端末の配信優先順位を判定し、ネットワークの許容帯域(即ち、転送可能容量)に応じて、優先して配信するコンテンツ受信端末を決定して、コンテンツデータを配信し、残りのコンテンツ受信端末に対しては、過去にキャッシュメモリにキャッシュされているコンテンツデータを読み出してそれぞれ内部再生することを可能にせんとするものであり、もって、ネットワークを効果的に利用可能とすると共に、各コンテンツ受信端末に対して、分け隔てなく公平にコンテンツデータを配信することを可能にせんとするものである。
【0009】
【問題を解決するための手段】
第1の技術手段は、コンテンツ受信端末に対して配信するコンテンツデータを蓄積し、各コンテンツ受信端末から送信されるコンテンツデータの配信要求を受付けてコンテンツデータをストリーミング配信するコンテンツ配信サーバにおいて、所定期間単位毎に受付けた前記配信要求に添付されてくる当該コンテンツ受信端末内のキャッシュメモリに記録された配信済みコンテンツデータのリストと、当該リストのコンテンツ毎のキャッシュ日時、又は、再生回数、最新再生日時のうちの1つ又は複数より成るコンテンツ配信優先順位付け情報に基づいて、予め設定した選定基準により受付けたコンテンツ受信端末についてコンテンツデータの配信優先順位を決定し、決定された前記配信優先順位に応じて、予め定められた配信可能端末数に該当する前記配信優先順位が高いコンテンツ受信端末に対してコンテンツデータのストリーミング配信を行うことを特徴とするコンテンツ配信サーバ。
【0010】
第2の技術手段は、前記配信優先順位が低く前記単位期間内に配信ができないコンテンツ受信端末に対し、当該受信端末内のキャッシュメモリによる内部再生の指示を行うことを特徴とする。
【0011】
第3の技術手段は、前記配信優先順位が、前記配信優先順位付け情報における再生回数の記録の合計回数が多いコンテンツ受信端末順、又は、前記キャッシュ日時の記録のうちの最も古い最古キャッシュ日時の記録が古いコンテンツ受信端末順、前記最新再生日時の記録のうちの最も古い最古再生日時の記録が新しいコンテンツ受信端末順、各コンテンツデータの前記再生回数のうち最も多い最多再生回数の多いコンテンツ受信端末順、のいずれかであることを特徴とする。
【0012】
第4の技術手段は、コンテンツ配信サーバから配信されるコンテンツデータをその都度キャッシュメモリにキャッシュすると共に、キャッシュされている各コンテンツデータを復号して再生するコンテンツ受信端末において、前記配信サーバに対し、コンテンツ配信要求を、前記キャッシュメモリにキャッシュされている各コンテンツデータのリストと、当該リストのコンテンツ毎のキャッシュ日時、又は、再生回数、最新再生日時のうちの1つ又は複数より成るコンテンツ配信優先順位付け情報と共に送信し、該配信要求における前記コンテンツ配信順位付け情報に基づいて決定された配信優先順位情報に従った前記配信サーバからの指示応答が、コンテンツデータのストリーミング配信ときは配信されたコンテンツデータを再生し、キャッシュメモリによる内部再生の指示のときは前記キャッシュされている所定のコンテンツデータを読み出して内部再生するコンテンツ受信端末を特徴とする。
【0013】
第5の技術手段は、前記配信要求の送信から予め定めた一定の経過時間内に前記指示応答がない場合、自動的に前記キャッシュメモリからコンテンツデータを読み出して内部再生することを特徴とする。
【0014】
第6の技術手段は、前記キャッシュメモリから読み出して内部再生するコンテンツデータは、各コンテンツデータを再生した回数を表す再生回数が少ないコンテンツデータ、又は各コンテンツデータ最新再生日時が最も古いコンテンツデータであることを特徴とする。
【0015】
第7の技術手段は、前記キャッシュメモリにキャッシュされているコンテンツデータは、各コンテンツデータを再生した再生回数の多いコンテンツデータ順、又は各コンテンツデータをキャッシュした日時を表すキャッシュ日時が古いコンテンツデータ順、前記再生回数あるいは前記キャッシュ日時に関して予め設定した順のいずれかにより前記キャッシュメモリから削除されることを特徴とする。
【0016】
第8の技術手段は、第1〜3のいずれかの技術手段のコンテンツ配信サーバと、第4〜7のいずれかの技術手段のコンテンツ受信端末よりなるコンテンツ配信システムを特徴とする。
【0035】
【発明の実施の形態】
以下、本発明に係るコンテンツ配信サーバ、コンテンツ受信端末及びコンテンツ配信システムの実施形態について、図面を参照しながら詳細に説明する。なお、以下の説明においては、コンテンツ配信システムとして、音楽配信システムを用いる場合を例にとって説明することとする。
【0036】
図1は、本発明に係るコンテンツ配信システムの実施形態の一例である音楽配信システムにおけるネットワーク構成の概念を示すネットワーク構成図である。図1に示す音楽配信システムは、音楽データを配信要求元のクライアント端末に配信するコンテンツ配信サーバ101(即ち、音楽配信サーバ:以下、単にサーバと略記する)と、サーバ101に対して音楽データの配信要求を行ない、サーバ101から配信されてくる音楽データを受信して再生するクライアント端末102例えば13台のクライアント端末1 102-1乃至クライアント端末13102-13(即ち、コンテンツ受信端末:以下、単に端末と略記する)とが、それぞれ、インターネット103に接続されている。また、各端末1 102-1乃至端末13 102-13のそれぞれには、サーバ101が各端末を識別するために用いる端末IDとして、「1」から「13」の番号で順次予め付与されて、各端末に内蔵されている。
【0037】
図2は、図1の本発明に係るコンテンツ配信サーバ即ち音楽配信サーバ101内の機能ブロック構成の一例を示す機能ブロック図である。図2において、インターネット103に接続されてなる音楽配信サーバ101は、端末に対して配信すべき音楽データを蓄える配信データ蓄積部111、インターネット103を介して端末からの配信要求を受け付ける受付周期を示す配送要求受付期間を設定すると共に、設定された配信要求受付期間毎に、端末から受信された配信要求順に端末を配信優先順位付け情報と共に登録する配信要求リスト114と、受付け終了時に、配信要求リスト114に登録されている端末の配信優先順位を、前記配信優先順位付け情報に基づいて並べ替えを行なったりして設定すると共に、設定された配信優先順位に応じて、各端末に対して配信するコンテンツデータに関し、ストリーミング配信を許可するか、又は、端末内のキャッシュメモリから読み出して再生する内部再生を指示するかのいずれとするかを端末毎に決定する配信端末選定部112とを備えている。更に、音楽配信サーバ101は、ストリーミング配信を許可した端末に対してストリーミング配信する旨を示す指示応答を送信すると共に、音楽データをストリーミング配信する配信部113と、音楽データを端末に配信するためにインターネット103に接続するためのネットワーク接続部115とを備えている。
【0038】
なお、配信要求リスト114には、後述する図5に示すように、配信要求された端末から送信されてくる当該端末を識別する端末IDを登録するための端末ID領域114aと、該配信要求に添付されて送信されてくる、配信優先順位付け情報を登録するための配信優先順位付け情報領域114bとが設けられている。ここで、配信要求リスト114の配信優先順位付け情報領域114bに登録される前記配信優先順位付け情報とは、配信要求した端末に関する配信優先順位の順序付けを行なうための情報であり、過去に配信されて各端末のキャッシュメモリにキャッシュされているコンテンツデータに関する情報(例えば、再生回数、再生日時、キャッシュ日時などの情報)から生成される情報である。
【0039】
図3は、図1の本発明に係る端末(コンテンツ受信端末)102内の機能ブロック構成の一例を示す機能ブロック図である。図3において、インターネット103に接続されてなる端末102は、サーバ101からインターネット103を介して配信されてくる音楽データをその都度キャッシュするキャッシュメモリ123と、キャッシュメモリ123にキャッシュされている音楽データを管理するための管理情報を記憶している管理テーブル121と、キャッシュメモリ123にキャッシュされている音楽データの削除又は更新又は再生を行なうためのタイミングを決定するキャッシュマネージャ122とを備えている。
【0040】
更に、端末102は、インターネット103を介して配信されてくる又はキャッシュメモリ123にキャッシュされている音楽データを復号し、再生する音楽データデコーダ124と、インターネット103を介してサーバ101に対して配信要求を配信優先順位付け情報と共に送信し、一方、該配信要求に対するサーバ101からの指示応答を受信すると共に、サーバ101から配信されてきた音楽データを受信する送受信部125と、音楽データをコンテンツ配信サーバ101から受信するためにインターネット103に接続するためのネットワーク接続部126とを備えている。
【0041】
図4は、図3に示す端末102に内蔵されている管理テーブル121に記憶する管理情報の一例を示すメモリ構成図である。図4において、管理テーブル121は、キャッシュメモリ123にキャッシュされている各音楽データを一意に識別するための音楽データ番号121a、キャッシュメモリ123にキャッシュされている各音楽データを再生した回数を表す再生回数データ121b、キャッシュメモリ123にキャッシュされている各音楽データをキャッシュした日時を表すキャッシュ日時データ121c、キャッシュメモリ123にキャッシュされている各音楽データを、最も最近に再生した日時を表す最新再生日時データ121d、及び、キャッシュメモリ123にキャッシュされているいずれかの音楽データを再生した回数の合計を示す合計再生回数データ121eとのうち、1つ以上のデータ項目を格納している。
【0042】
図5は、或る配信要求受付期間に図2に示すサーバ101に内蔵されている配信要求リスト114に配信要求のあった順番に端末を時系列的に登録した状態の一例を示すメモリ構成図である。図5において、配信要求リスト114には、配信要求と共に端末102からそれぞれ送信されてきた、端末IDを格納する端末ID領域114aと、該端末102内の管理テーブル121に設定されていた合計再生回数データ121eを格納する合計再生回数データ領域114bとが備えられており、それぞれ配信要求が受信された端末順に順番に登録されるようになっている。ここで、合計再生回数データ領域114bに登録される合計再生回数データ121eとは、図2に示した配信要求リスト114の配信優先順位付け情報領域114bに登録され、端末毎の配信優先順位の順序付けを行なうための前記配信優先順位付け情報の一例を示すものである。
【0043】
図6は、図5に示す配信要求リスト114に登録された端末102について、配信要求受付期間終了後に、配信すべきコンテンツデータに関する端末102の配信優先順位の並べ替えを施した後の配信優先順位の一例を示すメモリ構成図である。図6に示す本実施例においては、かかる配信優先順位の並べ替えを行なう前記配信優先順位付け情報として、合計再生回数データ領域114bに登録された合計再生回数データ121eを用いる例を示しており、図4に示す各端末102毎の合計再生回数データ121eの大きい順、即ち、各端末102からサーバ101に送信されてきて、配信要求リスト114の合計再生回数データ領域114bに格納されている合計再生回数データ121eの大きい順に並べ替えが行なわれている例を示している。
【0044】
次に、サーバ101及び端末102のそれぞれにおける音楽データの送受信処理について、図7を用いて更に詳細に説明する。図7は、或る配信要求受付期間毎にサーバ101が受信した配信要求の端末台数に応じて、サーバ101からの配信を指示する端末102と内部再生を指示する端末102とのそれぞれの台数が変化する時間的な流れの一例を表した模式図である。
図7に示す例においては、サーバ101から同時に100台の端末102に対してインターネット103を介して音楽データの配信を行なうことが可能であり、経過時刻10秒から20秒までの最初の配信要求受付期間Aの初期時点にあっては、インターネット103における配信可能トラフィック容量である100台に対して既に97台の端末が接続されて音楽データの配信が行なわれている状態にあることを示している。また、本実施例における音楽配信システムにおいては、配信要求受付期間は、常に10秒間隔という固定した時間間隔の受付周期に設定されている場合を示している。
【0045】
ここで、配信要求受付期間Aにおいて新たに追加して配信することが可能な追加配信可能端末数は、3台(=100台(同時配信可能端末数)−97台(配信中端末数))であり、残り3台の追加配信可能端末数に対して、5台の端末(それぞれ端末IDが「1」,「2」,「3」,「4」,「5」)から新たに配信要求があり、図2に示す配信要求リスト114には、図5に表すように、配信要求の受付けをした端末順に合計再生回数データ領域114bに合計再生回数データが登録されている。
配信要求受付期間Aが終了すると、図2に示す配信端末選定部112は、登録されている配信要求リスト114の配信要求の端末を合計再生回数データ領域114bに格納された合計再生回数データの大きい順に配信優先順位とするように並べ替えを行なう。合計再生回数データの大きい順に並べ替えがなされた後の配信要求リスト114は、図6に示すようになる。
【0046】
従って、配信端末選定部112においては、並べ替えられた図6に示す配信優先順位に応じて、端末IDが「4」,「2」,「1」の3台の端末に対しては、音楽データの配信を許可して、配信部113からそれぞれの端末に対してストリーミング配信を行なう旨を示す指示応答をすると共に、音楽データのストリーミング配信を行ない、一方、端末IDが「5」と「3」の2台の端末に対しては、配信端末選定部112において、それぞれの端末内部にあるキャッシュメモリにキャッシュされている音楽データにより内部再生(ローカル再生)を行なう指示をして、音楽データの配信を行なう指示は行なわない。
【0047】
一方、図7の「期間内に配信終了する端末数」の欄に記載しているように、配信要求受付期間Aの期間内に配信を終了する端末数は4台となっているものとする。
従って、配信要求受付期間Aに続いて実施される配信要求受付期間Bにおいて、新たに追加して配信することが可能な追加配信可能端末数としては、配信要求受付期間A中に配信を終了した端末数である4台となる。残り4台の追加配信可能端末数に対して、2台の端末(端末IDが「6」と「7」)から新たに配信要求のアクセスがあれば、配信要求リスト114に配信要求受付期間Aの場合と同様に各新規配信要求端末が登録されるが、配信端末選定部112においては、新たに受け付けた配信要求端末数が2台と追加配信可能端末数4台に満たないため、新たに受け付けた端末IDが「6」と「7」の2台の端末に対しては、無条件に音楽データの配信を許可する指示がなされる。
【0048】
一方、配信要求受付期間Bの期間内に配信を終了する端末数は1台となっているものとする。
従って、配信要求受付期間Bに続いて実施される配信要求受付期間Cにおいて、新たに追加して配信することが可能な追加配信可能端末数としては、3台(=2台(配信要求受付期間Bで許可した端末数の残りの追加配信可能端末数)+1台(配信要求受付期間B中に配信を終了した端末数))となる。残り3台の追加配信可能端末数に対して、4台の端末(端末IDが「8」,「9」,「10」,「11」)から新たに配信要求のアクセスがあれば、配信要求リスト114に配信要求受付期間Aの場合と同様に各新規配信要求端末が登録され、配信要求受付期間Cが終了すると、配信端末選定部112において、配信要求受付期間Aの場合と同様に、配信要求リスト114を合計再生回数データの大きい順に並べ替えが行なわれる。
ここで、端末IDが「8」,「9」,「10」,「11」の端末の順に、合計再生回数データが大きい端末であったとすると、配信優先順位に応じて、端末IDが「8」,「9」,「10」の3台の端末に対しては、ストリーミング配信の接続を許可し、残りの端末IDが「11」の1台の端末に対しては、当該端末内部のキャッシュメモリによる内部再生(ローカル再生)を行なう指示がなされる。
【0049】
一方、配信要求受付期間Cの期間内に配信を終了する端末数は0台となっているものとする。
従って、配信要求受付期間Cに続いて実施される配信要求受付期間Dにおいて、新たに追加して配信することが可能な追加配信可能端末数としては、0台(=0台(配信要求受付期間Cで許可した端末数の残りの追加配信可能端末数)+0台(配信要求受付期間C中に配信を終了した端末数))となる。残り0台の追加配信可能端末数に対して、2台の端末(端末IDが「12」,「13」)から新たに配信要求のアクセスがあれば、配信要求リスト114に配信要求受付期間Aの場合と同様に各新規配信要求端末が登録される。配信要求受付期間Dが終了した時点で、配信端末選定部112においては、追加配信可能端末数が0台であるために、新たに受け付けた端末IDが「12」と「13」との2台の端末に対して、無条件に各端末内部のキャッシュメモリによる内部再生(ローカル再生)を行なう指示がなされる。
【0050】
図8は、前述した図7の模式図に示した配信要求受付期間Aの受付期間において、サーバ101(音楽配信サーバ)に対して配信要求がある端末1 102-01乃至端末5 102-05(即ち、端末IDが、「1」,「2」,「3」,「4」,「5」)が配信要求を行なった場合のインターネット103上の通信の流れを表すシーケンスチャートである。サーバ101における処理は、図8の右側に示すように、1)配信要求受付期間が示す所定期間の間、端末102からの配信要求を受け付けて、時系列的に順に前記配信優先順位付け情報を配信要求リスト114に登録する登録処理、続いて、2)配信要求リスト114に登録されている前記配信優先順位付け情報の所定条件に応じて配信する配信優先順位を決定する配信優先順位決定処理、更に続いて、3)決定された配信優先順位に応じて、予め定められた配信可能端末数に該当する高い配信優先順位にある端末に対しては配信許可の指示を、該配信可能端末数に該当しない低い配信優先順位にある残りの端末に対しては各端末のキャッシュメモリによる内部再生の指示を行なう配信端末決定処理の3つの処理プロセスに分けることができる。
【0051】
即ち、図8においては、図7に示す配信要求受付の開始から配信要求受付の終了までの配信要求受付期間A内に端末1 102-1乃至端末5 102-5からの配信要求1乃至5を時系列的に順次受け付けて配信要求リスト114に順次登録し、配信要求受付期間終了後に配信要求リスト114に登録されている前記配信優先順位付け情報に基づいて各端末の配信優先順位を決定して、予め算出された追加配信可能端末数に該当する配信優先順位が高い順に、端末4 102-4、端末2 102-2、端末1 102-1の3台の端末に対しては、順次、コンテンツデータの配信部113への接続の許可4,2,1を指示し、一方、該追加配信可能端末数を越えた配信優先順位が低い端末5 102-5乃至端末3 102-3の2台の端末に対しては、それぞれの端末内のキャッシュメモリによる内部再生5,3を指示する。
【0052】
次に、図7及び図8に示すサーバ101内の処理について、図9に示すフローチャートを用いて更に説明する。ここに、図9は、サーバ101内の処理プロセスの一例を説明するためのフローチャートである。
まず、サーバ101の配信端末選定部112は、配信要求リスト114の過去の登録内容をクリアして初期状態に復旧させると共に、配信要求受付期間を計測するためのタイマをスタートさせて、端末102からのコンテンツデータの配信要求の受け付けを開始する(ステップS101)。次いで、配信端末選定部112は、インターネット103を介して配信要求をしてくる端末102があるか否かを判断し、ある場合には(ステップS102のYES)、配送要求をしてきた端末102からの配信要求に添付されて送信されてきている、端末IDと合計再生回数データとを配信要求リスト114の第1番目に登録する(ステップS103)。
【0053】
次に、配信要求受付期間、例えば、図7に示す10秒が経過したか否かが判断され(ステップS104)、受付終了時刻に達するまで(ステップS104のNO)、ステップS102及びS103を繰り返し、配信要求のあった端末102を順番に時系列的に配信要求リスト114に登録していく。
受付終了時刻に達した場合(ステップS104のYES)、配信端末選定部112は、端末102からの配信要求の受付けを終了させ(ステップS105)、配信要求リスト114に登録されている配信要求端末を参照し、合計再生回数データを取り出す(ステップS106)。
【0054】
しかる後に、取り出された合計再生回数データが大きい順に、配信要求リスト114の端末IDと合計再生回数データとを並べ替えて、音楽データを配信する配信優先順位を端末毎に決定する(ステップS107)。次いで、並べ替えられた配信要求リスト114のうちの配信優先順位が第1番目の端末IDを取り出す(ステップS108)。
しかる後に、配信優先順位がストリーミング配信可能な端末台数以下の順位か否かが判断され(ステップS109)、配信可能端末数よりも高い配信優先順位にある場合には(ステップS109のNO)、当該端末IDの端末102に対するストリーミング配信の接続を許可し(ステップS111)、一方、配信可能端末数以下の配信優先順位にある場合には(ステップS109のYES)、当該端末IDの端末102については、該端末内部のキャッシュメモリによる内部再生を指示する(ステップS110)。
【0055】
以後、配信要求受付期間中に配信要求があった端末102全てに対して再生方法に関する指示を行なう処理が終了したか否かが判断され(ステップS112)、まだ終了していない場合(ステップS112のNO)、ステップS108に戻り、ステップS109,S110,S111を、全ての配信要求のあった端末102について繰り返す。
【0056】
図9のフローチャートの右側に示すように、サーバ101における前述した3つの処理プロセスのうち、1)の登録処理が、ステップS101乃至S105の各ステップに、また、2)の配信優先順位決定処理が、ステップS106からS107に、また、3)の配信端末決定処理が、ステップS108乃至S112にそれぞれ対応している。
【0057】
なお、サーバ101の配信端末選定部112が音楽データをストリーミング配信する端末102を選択する配信優先順位を決定する論理としては、各端末102におけるコンテンツデータの再生回数の合計をなるべく少なくするために、前記配信優先順位付け情報として、各端末102からの配信要求に添付されて送信してくる合計再生回数データ(即ち、各端末102に設けられている図3の管理テーブル121内の合計再生回数データ121e)を用い、各端末102について該合計再生回数データの大きい順とする論理を用いる場合を示したが、本発明は、かかる場合のみに限るものではない。
【0058】
例えば、各端末102のキャッシュメモリ123にキャッシュされている音楽データのキャッシュ期間をなるべく短くするために、各端末102からの配信要求に添付される前記配信優先順位付け情報として、各音楽データがキャッシュメモリ123にキャッシュされたキャッシュ日時(即ち、各端末102に設けられている図3の管理テーブル121内のキャッシュ日時データ121c)のうち最も古い最古キャッシュ日時を抽出して用いることとして、各端末102についての該最古キャッシュ日時が古い順番に、配信要求リスト114の配信優先順位を決定するようにしても良い。
【0059】
あるいは、各端末102における同じ音楽データの再生間隔をなるべく長くするために、各端末102からの配信要求に添付される前記配信優先順位付け情報として、各音楽データを最も最近に再生した日時を表す最新再生日時(即ち、各端末102に設けられている図3の管理テーブル121内の最新再生日時データ121d)のうち最も古い最新再生日時を表す最古再生日時を用いることとして、各端末102についての該最古再生日時が新しい順番に、配信要求リスト114の配信優先順位を決定するようにしても良い。
【0060】
あるいは、各端末102の個々の音楽データの再生回数をなるべく少なくするために、各端末102からの配信要求に添付される前記配信優先順位付け情報として、各音楽データをそれぞれ再生した再生回数(即ち、各端末に設けられている図3の管理テーブル121内の再生回数データ121b)のうち回数が最も多い最多再生回数を抽出して用いることとして、各端末102についての該最多再生回数の回数が多い順番に、配信要求リスト114の配信優先順位を決定するようにしても良い。
【0061】
あるいは、配信要求リスト114に登録されている端末102の中からランダムに選択した順番に、配信要求リスト114の配信優先順位を決定するようにしても良い。
【0062】
また、各端末102からの配信要求に添付される前記配信優先順位付け情報として、管理テーブル121内に格納されている各種データのうち、1乃至複数のデータ(例えば、合計再生回数データ121e、再生回数データ121bの中の最多再生回数、キャッシュ日時データ121cの中の最古キャッシュ日時、最新再生日時データ121dの中の最古再生日時など)を用いるようにして、1乃至複数のデータに対して、予め設定されている優先順に基づいて総合的に判定することにより、配信要求リスト114の配信優先順位を決定するようにしても良い。
更には、前述したごとき各種のデータ以外に、配信要求リスト114の配信優先順位を決定することができる任意のデータを配信要求リスト114に登録することを可能とし、かかる任意のデータに基づいて、配信要求リスト114の配信優先順位を決定するようにしても良い。
【0063】
一方、端末102(即ち、図1に示す端末1〜13 102-1〜102-13)の音楽データデコーダ124における処理プロセスとしては、1)送受信部125を動作させて、サーバ101に対して配信要求を送信してサーバ101からの指示応答を待つ待ち合わせ処理、続いて、2)サーバ101からの指示応答に基づいて、サーバ101からストリーミング配信された音楽データの再生、又は、キャッシュメモリ123にキャッシュされている音楽データの内部再生のいずれかの再生方法を特定する再生方法特定処理、更に続いて、3)特定された再生方法により音楽データを再生する再生処理、の3つの処理プロセスに分けることができる。
【0064】
図10は、端末102内の処理プロセスの一例を説明するためのフローチャートである。ユーザからの音楽データの再生指示に応じて、図10に示すフローチャートがスタートし、まず、端末102はサーバ101に対して配信要求を行なうために、当該端末102を識別可能な端末IDと管理テーブル121に格納されている所望のデータ(合計再生回数データ121e、再生回数データ121b、キャッシュ日時データ121c、最新再生日時データ121dなどの中の1乃至複数のデータ)とを前記配信要求に添付して前記配信優先順位付け情報として送信するための準備を行なう(ステップS201)。
【0065】
送信準備として抽出された端末IDと管理テーブル121の所望のデータとを前記配信優先順位付け情報として配信要求に添付してサーバ101に対して送信する(ステップS202)。
しかる後に、サーバ101から該配信要求に対する指示応答が到達するまで待ち合わせる待ち合わせ処理が行なわれ(ステップS203)、サーバ101からの指示応答が受信されると、次のステップS204へ移行する。
【0066】
まず、当該端末102に届いたサーバ101からの指示応答を参照して、該指示応答がサーバ101からの音楽データのストリーミング配信が許可されたことを示す配信接続が可能とされているか否かの判断が行なわれ(ステップS204)、配信が許可されていない場合には(ステップS204のNO)、ステップS209に移行して、サーバ101からの配信ではなく、当該端末102のキャッシュメモリ123にキャッシュされている音楽データを内部再生する動作を行なうが、一方、配信が許可された旨を示している場合(即ち、ストリーミング再生指示であることを示している場合)は(ステップS204のYES)、サーバ101から配信されてくる音楽データを受信可能とするために、該音楽データをキャッシュメモリ123に蓄える空き容量が存在しているか否かを判断する(ステップS205)。
【0067】
該音楽データをキャッシュメモリ123に蓄えるための空き容量が存在していないフル状態にあると判断された場合(ステップS205のYES)、キャッシュマネージャ122は、管理テーブル121の再生回数データ121bを参照して、再生回数が最も多い音楽データを選択して削除を行なうことにより、キャッシュメモリ123に空き容量を確保して(ステップS206)、まだフル状態にはないと判断された場合(ステップS205のNO)と共に、ステップS207へ移行する。ここで、図4に示す管理テーブル121のような状態にある場合であれば、ステップS206において、管理テーブル121の再生回数データ121bが10回と最も多い音楽データ番号「200366」の音楽データが削除される。
【0068】
また、ステップS207においては、サーバ101へのストリーミング配信用の接続を行ない、サーバ101からストリーミング配信されてくる音楽データを逐次受信して、キャッシュメモリ123にキャッシュしながら受信が終了するまでストリーミング再生を行なう(ステップS207)。
しかる後、管理テーブル121に、ステップS207においてストリーミング再生された音楽データに関する、音楽データ番号(当該音楽データを特定する識別番号)、再生回数(1回の再生を示すデータ)、キャッシュ日時(キャッシュされた日時としての現在の日時)、最新の再生日時(最新再生日時としての現在の日時)を、それぞれ、音楽データ番号121a、再生回数データ121b、キャッシュ日時データ121c、最新再生日時データ121dとして登録すると共に、合計の再生回数を算出し直して、合計再生回数データ121eとして設定した後(ステップS208)、ステップS212に移行する。
【0069】
一方、配信が許可されていなく、内部再生の指示がなされていた場合(ステップS204のNO)においては、管理テーブル121の再生回数データ121bを参照して、再生回数が最も少ない音楽データを選択する(ステップS209)。
選択された再生回数が最も少ない音楽データの再生が終了するまで、キャッシュメモリ123から逐次読み出して内部再生を行なう(ステップS210)。即ち、管理テーブル121が図4に示す状態であれば、再生回数が1回という最も少ない音楽データ番号「100331」の音楽データが内部再生される。
【0070】
しかる後に、内部再生された音楽データに関する管理テーブル121の再生回数データ121bに「1」を加えて更新すると共に、最新再生日時データ121dとして現在の日時を設定し、かつ、合計の再生回数を算出し直して、合計再生回数データ121eとして設定する(ステップS211)。
S212においては、引き続き、ユーザが継続して再生するか否かを判断し、継続して再生を要求している場合は(ステップS212のYES)、ステップS201へ戻り、ステップS202乃至S211の処理を繰返し、終了する場合は(ステップS212のNO)、処理を終了する。
【0071】
図10のフローチャートの右側に示すように、端末102における前述した3つの処理プロセスのうち、1)のサーバに配信要求を送信してサーバからの指示応答を待ち合わせる待ち合わせ処理が、ステップS201乃至S203の各ステップに、また、2)の音楽データを再生する再生方法を特定する再生方法特定処理が、ステップS204乃至S206及びS209の各ステップに、また、3)の音楽データを再生する再生処理が、ステップS207、S208及びS210乃至S212の各ステップにそれぞれ対応している。
【0072】
なお、図10に示すフローチャートのステップS206において、キャッシュマネージャ122が、キャッシュメモリ123にキャッシュされている音楽データを削除する削除優先順位を決定する論理として、キャッシュされている音楽データの再生回数をなるべく少なくするために、キャッシュされている音楽データのうち、再生回数(即ち、各端末に設けられている図3の管理テーブル121内の再生回数データ121b)が最も多い音楽データから順番に削除する場合を示したが、本発明は、かかる場合のみに限るものではない。
【0073】
例えば、キャッシュされている音楽データのキャッシュ期間をなるべく短くするために、キャッシュメモリ123から削除する音楽データの削除優先順位として、キャッシュされた日時を表すキャッシュ日時(即ち、各端末に設けられている図3の管理テーブル121内のキャッシュ日時データ121c)を用いることとして、キャッシュされた日時のうち、最も古くキャッシュされた音楽データから順番に削除することとしても良い。
【0074】
あるいは、キャッシュメモリ123から削除する音楽データの削除優先順位として、管理テーブル121に登録されている音楽データの中からランダムに選択した音楽データの順番としても良い。
【0075】
また、キャッシュメモリ123から削除する音楽データの削除優先順位として、管理テーブル121内に格納されている各種管理データのうち、複数の管理データ(例えば、再生回数データ121bとキャッシュ日時データ121c)を用いるようにし、複数の管理データに対して予め設定されている優先順に基づいて総合的に判定することにより、削除する順番を決定するようにしても良い。
更には、前述したごとき各種の管理データ以外に、キャッシュメモリ123から削除する音楽データの削除優先順位を決定することができる任意のデータを管理テーブル121に登録することを可能とし、かかる任意のデータに基づいて、キャッシュメモリ123から削除する音楽データの削除優先順位を決定するようにしても良い。
【0076】
なお、図10に示すフローチャートのステップS209乃至S211において、音楽データデコーダ124が、キャッシュメモリ123からキャッシュされている音楽データを内部再生する再生優先順位を決定する論理として、キャッシュされている個々の音楽データの再生回数をなるべく均等にするために、キャッシュされている各音楽データのうち、再生回数(即ち、各端末に設けられている図3の管理テーブル121内の再生回数データ121b)が最も少ない音楽データから順番に再生する場合を示したが、本発明は、かかる場合のみに限るものではない。
【0077】
例えば、キャッシュされている個々の音楽データの再生間隔をなるべく長くするために、キャッシュメモリ123からキャッシュされている音楽データを内部再生する再生優先順位として、最も最近に再生された日時を表す最新再生日時(即ち、各端末に設けられている図3の管理テーブル121内の最新再生日時データ121d)を用いることとして、最も最近に再生された最新再生日時のうち、最も古く再生された音楽データから順番に再生することとしても良い。
【0078】
あるいは、キャッシュメモリ123からキャッシュされている音楽データを内部再生する再生優先順位として、管理テーブル121に登録されている音楽データの中からランダムに選択した音楽データの順番としても良い。
【0079】
また、キャッシュメモリ123からキャッシュされている音楽データを内部再生する再生優先順位として、管理テーブル121内に格納されている各種管理データのうち、複数の管理データ(例えば、再生回数データ121bと最新再生日時データ121d)を用いるようにし、複数の管理データに対して予め設定されている優先順に基づいて総合的に判定することにより、内部再生する順番を決定するようにしても良い。
更には、前述したごとき各種の管理データ以外に、キャッシュメモリ123から内部再生する音楽データの再生優先順位を決定することができる任意のデータを管理テーブル121に登録することを可能とし、かかる任意のデータに基づいて、キャッシュメモリ123から内部再生する音楽データの再生優先順位を決定するようにしても良い。
【0080】
また、前述の実施例において示した音楽データをストリーミング配信する配信システムとして、端末102のキャッシュメモリ123からの内部再生を指示する場合も、サーバ101から当該端末102に対する指示応答として、内部再生の指示を送信する例を示したが、サーバ101は、ストリーミング配信が可能な端末102に対してのみ、ストリーミング配信する旨を示す指示応答を送信する一方、キャッシュメモリ123からの内部再生を指示する端末102に対しては、内部再生を指示する旨の指示応答を送信しないようにすると共に、端末102側においても、配信要求を行なった時点から予め定められた一定の経過時間が経過する間にサーバ101からの指示応答が返送されてこない場合には、自動的にキャッシュメモリ123から再生する音楽データを読み出して、内部再生するように構成しても良い。
【0081】
更には、音楽データを配信する前述した配信システムにおいては、ユーザが選択することができるチャンネルが1個のチャンネルのみにより構成されていて、ユーザが端末102の電源を投入した際には、常に音楽が再生されて流れるような配信システムについて説明したが、例えば、チャンネル毎に対応した複数のサーバ101をインターネット103に接続し、インターネット103に接続された各端末102は、複数のチャンネルの中から任意のチャンネルを選択することができるチャンネル選択キーと各チャンネル毎に対応したそれぞれの管理テーブル121とキャッシュメモリ123とを有するように構成し、ユーザがチャンネル選択キーによりチャンネルを選択すると、該チャンネルに対応した管理テーブル121に格納されている各種管理データと端末IDとを用いて、前記配信優先順位付け情報を作成して、当該チャンネルに対応したサーバ101に対して送信する配信要求に添付して送信することにより、指定されたサーバ101から返信されてくる指示応答に基づいて、選択したチャンネルに関するコンテンツデータをストリーミング配信させて配信再生させたり、当該端末102のキャッシュメモリ123から内部再生させるように、配信システムを構成しても良い。
【0082】
また、前述した配信システムに適用されるネットワークとしては、図1に示すようにインターネット103を用いる場合を示したが、例えば、企業内や家庭内などのLAN(Local Area Network:ローカルエリアネットワーク)であっても構わない。
【0083】
【発明の効果】
本発明に係るコンテンツ配信サーバ、コンテンツ受信端末及びコンテンツ配信システムにおいては、以下のごとき効果を奏することができる。
即ち、本発明に係るコンテンツ配信サーバによれば、コンテンツデータの配信を要求する配信要求を送信するコンテンツ受信端末から、過去に配信されてキャッシュされているコンテンツデータに関する各種管理データを、配信優先順位付けを行なう配信優先順位付け情報として受信することにより、受信した配信優先順位付け情報に基づいて、ストリーミング配信を行なう対象とするコンテンツ受信端末の配信優先順位を設定して、当該コンテンツ配信サーバからストリーミング配信を行なうことが可能な端末数と前記配信優先順位とに応じて、当該コンテンツ配信サーバからストリーミング配信を行なうコンテンツ受信端末を決定することができる。もって、ストリーミング配信サービスを利用する全てのコンテンツ受信端末に対して、分け隔てなく公平に新しいコンテンツデータに関するストリーミング配信を行なうことを可能とすると共に、コンテンツデータの配信に伴うネットワークの転送データ量を効果的に制御することが可能となる。
【0084】
また、本発明に係るコンテンツ受信端末によれば、コンテンツ配信サーバから受信したコンテンツデータをキャッシュメモリにキャッシュすることにより、前記配信優先順位付け情報を添付してコンテンツ配信サーバに送信した配信要求に対して、当該コンテンツ配信サーバからのコンテンツデータの配信を示す指示応答が無い場合であっても、キャッシュメモリに以前キャッシュされたコンテンツデータの中から選択して効率良く内部再生することが可能である。もって、前記配信要求により、コンテンツ配信サーバから新鮮なコンテンツデータのストリーミング配信を受けることが可能であるのみならず、コンテンツ配信サーバからストリーミング配信を受けることができない場合であっても、キャッシュされているコンテンツデータを内部再生することが可能であり、ユーザは常に新鮮なコンテンツデータを視聴することができる。更に、コンテンツデータの配信に伴うネットワークの転送データ量を効果的に制御することも可能となる。
【0085】
したがい、前記コンテンツ配信サーバと前記コンテンツ受信端末とをネットワークに接続することにより構成される本発明に係るコンテンツ配信システムによれば、前記コンテンツ受信端末の端末数の総数に関わりなく、前記コンテンツ配信サーバと前記コンテンツ受信端末とに介在する前記ネットワークのネットワーク容量の許容範囲以内に収めてコンテンツデータをストリーミング配信することが可能であり、もって、ネットワーク容量を最大限に活用して、コンテンツデータの配信サービスを利用する全ての前記コンテンツ受信端末に対して、分け隔てなく公平に、新鮮なコンテンツデータを配信することができる。
【図面の簡単な説明】
【図1】本発明に係るコンテンツ配信システムの実施形態の一例である音楽配信システムにおけるネットワーク構成の概念を示すネットワーク構成図である。
【図2】図1の本発明に係るコンテンツ配信サーバ内の機能ブロック構成の一例を示す機能ブロック図である。
【図3】図1の本発明に係るコンテンツ受信端末内の機能ブロック構成の一例を示す機能ブロック図である。
【図4】図3に示す端末に内蔵されている管理テーブルに記憶する管理情報の一例を示すメモリ構成図である。
【図5】或る配信要求受付期間に図2に示すコンテンツ配信サーバに内蔵されている配信要求リストに、配信要求のあった順番にコンテンツ受信端末を時系列的に登録した状態の一例を示すメモリ構成図である。
【図6】図5に示す配信要求リストに登録されたコンテンツ受信端末について、配信要求受付期間終了後に、配信すべきコンテンツデータに関するコンテンツ受信端末の配信優先順位の並べ替えを施した後の配信優先順位の一例を示すメモリ構成図である。
【図7】或る配信要求受付期間毎にコンテンツ配信サーバが受信した配信要求の端末台数に応じて、コンテンツ配信サーバからの配信を指示するコンテンツ受信端末と内部再生を指示するコンテンツ受信端末とのそれぞれの台数が変化する時間的な流れの一例を表した模式図である。
【図8】図7の配信要求受付期間の受付期間において、サーバに対して配信要求がある端末が配信要求を行なった場合のインターネット上の通信の流れを表すシーケンスチャートである。
【図9】サーバ内の処理プロセスの一例を説明するためのフローチャートである。
【図10】端末内の処理プロセスの一例を説明するためのフローチャートである。
【符号の説明】
101…コンテンツ配信サーバ(音楽配信サーバ、サーバ)、102,102-1〜102-13…クライアント端末(コンテンツ受信端末、端末)、103…インターネット、111…配信データ蓄積部、112…配信端末選定部、113…配信部、114…配信要求リスト、114a…端末ID領域、114b…配信優先順位付け情報領域(合計再生回数データ領域)、115…ネットワーク接続部、121…管理テーブル、121a…音楽データ番号、121b…再生回数データ、121c…キャッシュ日時データ121c、121d…最新再生日時データ、121e…合計再生回数データ、122…キャッシュマネージャ、123…キャッシュメモリ、124…音楽データデコーダ、125…送受信部、126…ネットワーク接続部。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a content distribution server, a content receiving terminal, and a content distribution system. For example, when streaming content data such as music data via a network such as the Internet or a LAN, the line capacity of the network is used efficiently. The present invention relates to a content distribution server, a content receiving terminal, and a content distribution system that can be performed.
[0002]
[Prior art]
When a server distributes data to a client terminal via a network, a streaming technique is generally widely known as a technique that allows a client terminal to start playback before receiving all data. ing.
In recent years, streaming technology has been widely used as a content distribution service such as video and music transmitted to a personal computer connected to a network such as the Internet. When content data is distributed using such streaming technology, even if the network is busy or content data that exceeds the bandwidth of the line is distributed, the content data that has been distributed is received and played back. In order to enable the player to continue playing without interruption, a method for playing while storing the streamed content data in a cache memory provided in the client terminal, a server for delivering the content data, A technique is adopted in which content data is distributed and stored in advance to cache devices arranged at different network locations, and then distributed from the cache device to the client terminal.
[0003]
For example, in Japanese Patent Application Laid-Open No. 2002-183019 disclosed in Patent Document 1, meta information indicating the characteristics of the content data is received together with the content data, and temporary storage means is used according to the meta information and the user profile. A technique related to a cache device that determines and stores content data to be stored in a certain cache memory is disclosed. By using this technology, when a specific client terminal accesses content data in the content distribution server, the desired content can be accessed without being limited by the network access time or being affected by network congestion. It is said that data can be streamed.
[0004]
[Patent Document 1]
Japanese Patent Laid-Open No. 2002-183019 (page 3-5, FIG. 1)
[0005]
[Problems to be solved by the invention]
However, when the technology disclosed in Japanese Patent Laid-Open No. 2002-183019 shown in Patent Document 1 is used, content data registered in advance from the content distribution server to the client terminal is pushed and distributed. In this case, there is a possibility that even content data that is not actually used at all for the client terminal may be automatically distributed, resulting in an increase in the total amount of content data transferred over the network. is there.
[0006]
Further, as a general problem of streaming distribution, when a user wants to request reproduction of content data not stored in a cache device, the client terminal on the user side is networked to the content distribution server on the service provider side at the time of the request. Need to connect through. For this reason, when a request is made so that many users simultaneously reproduce the content data not stored in the cache device, the communication bandwidth obtained by multiplying the occupied bandwidth per user by the number of users requested at once is the network. In addition, all of the client terminals connected to the network are requested to connect to the content distribution server on the service provider side at the same time. The problem remains that it is not possible to eliminate the situation where content data is not delivered to all client terminals simultaneously.
[0007]
Further, streaming distribution of content data is sequentially performed in accordance with the requested order of client terminals, but when it exceeds the allowable bandwidth of the network, it is distributed to the client terminal that is the subsequent distribution request source. It becomes impossible to do so, and there is a problem of lack of fairness.
[0008]
The present invention has been made in view of such circumstances, and when transmitting a distribution request for requesting distribution of content data from a content receiving terminal, information about content data cached in a cache memory (for example, reproduced) The number of times of reproduction representing the number of times, the reproduction date and time representing the date and time of reproduction, the cache date and time representing the cached date and time, and the like are transmitted together as distribution prioritization information, and the content distribution server transmits them at predetermined time intervals. Based on the distribution prioritization information received within a certain distribution request acceptance period, the distribution priority of each content receiving terminal is determined, and the distribution is preferentially performed according to the allowable bandwidth (that is, transferable capacity) of the network. Content receiving terminals to be determined, content data is distributed, and the remaining content receiving terminals are distributed. Therefore, it is possible to read out the content data cached in the cache memory in the past and internally reproduce it, thereby making it possible to effectively use the network and each content receiving terminal. On the other hand, content data can be distributed fairly and without separation.
[0009]
[Means for solving problems]
In a content distribution server that accumulates content data to be distributed to content receiving terminals, receives a distribution request for content data transmitted from each content receiving terminal, and distributes the content data in a streaming manner, the first technical means unit A list of distributed content data recorded in the cache memory in the content receiving terminal attached to the distribution request received every time, and the cache date and time, or the number of times of reproduction and the latest reproduction date and time for each content in the list Content distribution consisting of one or more of them priority Rank Date Based on information, based on preset selection criteria Accepted content About receiving terminal Content data Determine delivery priority, In accordance with the determined distribution priority, streaming distribution of content data is performed to content receiving terminals having a high distribution priority corresponding to a predetermined number of distributable terminals. A content distribution server characterized by the above.
[0010]
The second technical means is the above Delivery Low priority Unit Cannot deliver within the period content The receiving terminal is instructed to perform internal reproduction using a cache memory in the receiving terminal.
[0011]
The third technical means is the above Delivery The priority is In delivery prioritization information In order of the content receiving terminal in which the total number of reproduction times is recorded, or in the order of oldest content receiving terminal in the record of the oldest cache among the records of the cache date and time, the oldest of the records of the latest reproduction date and time The record of the oldest playback date is new content In order of receiving terminal, the largest number of times of reproduction of the largest number of times of reproduction of each content data content It is one of receiving terminal order.
[0012]
The fourth technical means caches the content data distributed from the content distribution server in the cache memory each time, and at the content receiving terminal that decodes and reproduces each cached content data, A content distribution request is a content distribution consisting of a list of each content data cached in the cache memory and one or more of the cache date and time, the number of times of reproduction, and the latest reproduction date and time for each content in the list priority Rank Date And send it along with the information According to the distribution priority information determined based on the content distribution ranking information Instruction response from the distribution server But, content Data Streaming delivery of When playing the distributed content data, When instructing internal playback using cache memory The content receiving terminal reads out the predetermined content data cached and internally reproduces the content data.
[0013]
The fifth technical means is If the instruction response is not received within a predetermined elapsed time from the transmission of the distribution request, the content data is automatically read from the cache memory and internally reproduced. It is characterized by that.
[0014]
The sixth technical means is The content data read from the cache memory and internally reproduced is content data with a small number of reproductions representing the number of times each content data has been reproduced, or content data with the oldest reproduction date of each content data. It is characterized by that.
[0015]
The seventh technical means is The content data cached in the cache memory is in the order of content data in which each content data is played back in the order of the number of playbacks, or in the order of content data in which the cache date and time indicating the date and time when each content data is cached is in the oldest order. Deleted from the cache memory in any of a preset order with respect to date and time It is characterized by that.
[0016]
The eighth technical means is A content distribution system comprising a content distribution server of any one of the first to third technical means and a content receiving terminal of any of the fourth to seventh technical means. Features.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of a content distribution server, a content receiving terminal, and a content distribution system according to the present invention will be described in detail with reference to the drawings. In the following description, a case where a music distribution system is used as the content distribution system will be described as an example.
[0036]
FIG. 1 is a network configuration diagram showing a concept of a network configuration in a music distribution system which is an example of an embodiment of a content distribution system according to the present invention. A music distribution system shown in FIG. 1 includes a content distribution server 101 (that is, a music distribution server: hereinafter simply abbreviated as a server) that distributes music data to a client terminal that is a distribution request source, A client terminal 102 that makes a distribution request and receives and reproduces music data distributed from the server 101, for example, 13 client terminals 1 102 -1 Thru client terminal 13102 -13 (That is, a content receiving terminal: hereinafter simply abbreviated as a terminal) is connected to the Internet 103. Each terminal 1 102 -1 To terminal 13 102 -13 Are sequentially assigned in advance as numbers of “1” to “13” as terminal IDs used by the server 101 to identify each terminal, and are incorporated in each terminal.
[0037]
FIG. 2 is a functional block diagram showing an example of a functional block configuration in the content distribution server, that is, the music distribution server 101 according to the present invention of FIG. In FIG. 2, the music distribution server 101 connected to the Internet 103 shows a distribution data storage unit 111 that stores music data to be distributed to the terminal, and a reception cycle for receiving a distribution request from the terminal via the Internet 103. A distribution request acceptance period is set, and for each set distribution request acceptance period, a distribution request list 114 for registering terminals together with distribution priority ranking information in the order of distribution requests received from the terminal, and a distribution request list at the end of acceptance 114 sets the distribution priority of the terminals registered in 114 by rearranging based on the distribution prioritization information, and distributes to each terminal according to the set distribution priority. For content data, allow streaming delivery or read from cache memory in the terminal So as to select one if to instruct the internal playback and a delivery terminal selection unit 112 which determines for each terminal to play. Further, the music distribution server 101 transmits an instruction response indicating that streaming distribution is performed to a terminal that is permitted to perform streaming distribution, and distributes the music data to the terminal, and a distribution unit 113 that distributes the music data to the terminal. And a network connection unit 115 for connecting to the Internet 103.
[0038]
In the distribution request list 114, as shown in FIG. 5 described later, a terminal ID area 114a for registering a terminal ID for identifying the terminal transmitted from the terminal requested for distribution, and the distribution request. A distribution prioritization information area 114b for registering distribution prioritization information that is attached and transmitted is provided. Here, the distribution prioritization information registered in the distribution prioritization information area 114b of the distribution request list 114 is information for ordering distribution priorities regarding the terminals that have requested distribution, and has been distributed in the past. Information generated from information on content data cached in the cache memory of each terminal (for example, information such as the number of times of reproduction, reproduction date / time, and cache date / time).
[0039]
FIG. 3 is a functional block diagram showing an example of a functional block configuration in the terminal (content receiving terminal) 102 according to the present invention in FIG. In FIG. 3, a terminal 102 connected to the Internet 103 has a cache memory 123 that caches music data distributed from the server 101 via the Internet 103 each time, and music data cached in the cache memory 123. A management table 121 that stores management information for management and a cache manager 122 that determines timing for deleting, updating, or playing back music data cached in the cache memory 123 are provided.
[0040]
Further, the terminal 102 decodes the music data distributed via the Internet 103 or cached in the cache memory 123 and plays the music data decoder 124 for reproducing the music data and the server 101 via the Internet 103. Is transmitted together with the distribution prioritization information, while receiving an instruction response from the server 101 in response to the distribution request and receiving the music data distributed from the server 101, and the music data as a content distribution server A network connection unit 126 for connecting to the Internet 103 for receiving from the network 101 is provided.
[0041]
FIG. 4 is a memory configuration diagram showing an example of management information stored in the management table 121 built in the terminal 102 shown in FIG. In FIG. 4, the management table 121 is a music data number 121a for uniquely identifying each music data cached in the cache memory 123, and a reproduction indicating the number of times each music data cached in the cache memory 123 is reproduced. Number-of-times data 121b, cache date / time data 121c indicating the date and time when each music data cached in the cache memory 123 is cached, and latest playback date and time indicating the date and time when each music data cached in the cache memory 123 was most recently played back One or more data items are stored among the data 121d and the total reproduction count data 121e indicating the total number of reproductions of any music data cached in the cache memory 123.
[0042]
FIG. 5 is a memory configuration diagram showing an example of a state in which terminals are registered in time series in the order of delivery requests in the delivery request list 114 built in the server 101 shown in FIG. 2 during a delivery request acceptance period. It is. In FIG. 5, the distribution request list 114 includes a terminal ID area 114 a for storing a terminal ID and the total number of reproductions set in the management table 121 in the terminal 102, which are transmitted from the terminal 102 together with the distribution request. A total reproduction count data area 114b for storing data 121e is provided, which is registered in the order of the terminal from which the distribution request is received. Here, the total number of times of reproduction data 121e registered in the total number of times of reproduction data area 114b is registered in the distribution priority ranking information area 114b of the distribution request list 114 shown in FIG. It shows an example of the distribution prioritization information for performing the above.
[0043]
FIG. 6 shows the distribution priorities of the terminals 102 registered in the distribution request list 114 shown in FIG. 5 after rearrangement of the distribution priorities of the terminals 102 regarding the content data to be distributed after the end of the distribution request acceptance period. It is a memory block diagram which shows an example. In the present embodiment shown in FIG. 6, an example is shown in which the total number of times of reproduction data 121e registered in the total number of times of reproduction data area 114b is used as the distribution priority ranking information for rearranging the distribution priorities. The total playback count data 121e for each terminal 102 shown in FIG. 4 in descending order, that is, the total playback count transmitted from each terminal 102 to the server 101 and stored in the total playback count data area 114b of the distribution request list 114. The example in which rearrangement is performed in descending order of the number-of-times data 121e is shown.
[0044]
Next, music data transmission / reception processing in each of the server 101 and the terminal 102 will be described in more detail with reference to FIG. FIG. 7 shows that the number of terminals 102 instructing distribution from the server 101 and the number of terminals 102 instructing internal reproduction are determined according to the number of terminals of the distribution request received by the server 101 every certain distribution request reception period. It is a schematic diagram showing an example of the temporal flow which changes.
In the example shown in FIG. 7, it is possible to distribute music data from the server 101 to 100 terminals 102 simultaneously via the Internet 103, and the first distribution request from the elapsed time 10 seconds to 20 seconds. In the initial period of the reception period A, it is shown that 97 terminals have already been connected to the 100 distributable traffic capacity on the Internet 103 and music data is being distributed. Yes. In the music distribution system according to the present embodiment, the distribution request reception period is always set to a reception period with a fixed time interval of 10 seconds.
[0045]
Here, the number of additionally distributable terminals that can be newly distributed in the distribution request acceptance period A is 3 (= 100 (the number of terminals capable of simultaneous distribution) −97 (the number of terminals being distributed)) And a new distribution request from five terminals (terminal IDs “1”, “2”, “3”, “4”, “5”, respectively) for the remaining three additional distributable terminals. In the distribution request list 114 shown in FIG. 2, as shown in FIG. 5, the total number of times of reproduction data is registered in the total number of times of reproduction data area 114 b in the order of the terminals that received the distribution requests.
When the distribution request acceptance period A ends, the distribution terminal selection unit 112 shown in FIG. 2 has a large total reproduction count data stored in the total reproduction count data area 114b for the distribution request terminal of the registered distribution request list 114. Rearrangement is performed in order of distribution priority. The distribution request list 114 after rearrangement in the descending order of the total reproduction count data is as shown in FIG.
[0046]
Therefore, in the distribution terminal selection unit 112, according to the sorted distribution priorities shown in FIG. 6, for the three terminals whose terminal IDs are “4”, “2”, and “1”, music The distribution of the data is permitted and an instruction response indicating that streaming distribution is performed to each terminal is performed from the distribution unit 113 and the streaming distribution of the music data is performed. On the other hand, the terminal IDs are “5” and “3”. ”To the two terminals, the distribution terminal selection unit 112 instructs to perform internal reproduction (local reproduction) using the music data cached in the cache memory in each terminal. No instruction is given for distribution.
[0047]
On the other hand, as described in the column “Number of terminals whose distribution ends within the period” in FIG. 7, the number of terminals whose distribution ends within the period of the distribution request reception period A is four. .
Accordingly, in the distribution request reception period B that follows the distribution request reception period A, the number of additional distributable terminals that can be newly distributed can be distributed during the distribution request reception period A. The number of terminals is four. If there is a new distribution request access from two terminals (terminal IDs “6” and “7”) for the remaining four additional distributable terminals, the distribution request acceptance period A in the distribution request list 114 Each new distribution request terminal is registered in the same manner as in the above, but in the distribution terminal selection unit 112, since the number of newly received distribution request terminals is less than two and the number of additional distributable terminals is four, An instruction to unconditionally permit distribution of music data is given to the two terminals with the received terminal IDs “6” and “7”.
[0048]
On the other hand, it is assumed that the number of terminals that end distribution within the period of the distribution request reception period B is one.
Accordingly, in the distribution request reception period C that follows the distribution request reception period B, the number of additional distributable terminals that can be newly distributed and distributed is 3 (= 2 (distribution request reception period). The remaining number of additional distributable terminals of the number of terminals permitted in B) +1 (the number of terminals that have ended distribution during the distribution request acceptance period B)). If there is a new distribution request access from four terminals (terminal IDs “8”, “9”, “10”, “11”) for the remaining three additional distributable terminals, the distribution request Each new distribution request terminal is registered in the list 114 as in the case of the distribution request reception period A, and when the distribution request reception period C ends, the distribution terminal selection unit 112 distributes the distribution request as in the case of the distribution request reception period A. The request list 114 is rearranged in descending order of the total reproduction count data.
Here, if the terminal ID is “8”, “9”, “10”, “11” in the order of the terminal with the largest total number of reproduction times data, the terminal ID is “8” according to the distribution priority. ”,“ 9 ”, and“ 10 ”are permitted to be connected for streaming distribution, and the remaining terminal ID“ 11 ”is cached inside the terminal. An instruction to perform internal reproduction (local reproduction) by the memory is issued.
[0049]
On the other hand, it is assumed that the number of terminals that end distribution within the period of the distribution request reception period C is zero.
Therefore, in the distribution request reception period D that follows the distribution request reception period C, the number of additional distributable terminals that can be additionally distributed is 0 (= 0 (distribution request reception period). The remaining number of additional distributable terminals of the number of terminals permitted in C) +0 (the number of terminals that ended distribution during the distribution request acceptance period C)). If there is a new distribution request access from two terminals (terminal IDs “12” and “13”) with respect to the remaining number of additional distributable terminals, the distribution request reception period A Each new distribution request terminal is registered as in the case of. At the time when the delivery request acceptance period D ends, the delivery terminal selection unit 112 has two newly accepted terminal IDs of “12” and “13” because the number of additional deliverable terminals is 0. Is instructed to perform internal reproduction (local reproduction) by the cache memory inside each terminal unconditionally.
[0050]
8 shows a terminal 1 102 that has a distribution request to the server 101 (music distribution server) in the reception period of the distribution request reception period A shown in the schematic diagram of FIG. -01 To terminal 5 102 -05 (That is, a sequence chart showing a communication flow on the Internet 103 when a distribution request is made for terminal IDs “1”, “2”, “3”, “4”, “5”). As shown on the right side of FIG. 8, the processing in the server 101 is as follows: 1) During the predetermined period indicated by the distribution request reception period, the distribution request from the terminal 102 is received, and the distribution prioritization information is sequentially received in time series. A registration process for registering in the distribution request list 114, and 2) a distribution priority determining process for determining a distribution priority for distribution in accordance with the predetermined condition of the distribution prioritization information registered in the distribution request list 114; 3) In accordance with the determined distribution priority order, a distribution permission instruction is given to the number of distributable terminals for a terminal having a high distribution priority corresponding to a predetermined number of distributable terminals. For the remaining terminals with low distribution priority not applicable, it can be divided into three processing processes of distribution terminal determination processing for instructing internal reproduction by the cache memory of each terminal. That.
[0051]
That is, in FIG. 8, the terminal 1 102 is within the distribution request reception period A from the start of distribution request reception to the end of distribution request reception shown in FIG. -1 To terminal 5 102 -Five The distribution requests 1 to 5 are sequentially received in time series and sequentially registered in the distribution request list 114, and each terminal is based on the distribution prioritization information registered in the distribution request list 114 after the distribution request reception period ends. Terminal 4 102 in the descending order of the distribution priority corresponding to the number of additional distributable terminals calculated in advance. -Four , Terminal 2 102 -2 , Terminal 1 102 -1 Are sequentially instructed to permit connection 4, 2, and 1 of connection to the content data distribution unit 113, while the terminal 5 having a low distribution priority exceeding the number of additional distributable terminals. 102 -Five To terminal 3 102 -3 The two terminals are instructed to perform internal reproductions 5 and 3 using the cache memory in each terminal.
[0052]
Next, the processing in the server 101 shown in FIGS. 7 and 8 will be further described with reference to the flowchart shown in FIG. FIG. 9 is a flowchart for explaining an example of the processing process in the server 101.
First, the distribution terminal selection unit 112 of the server 101 clears the past registration contents of the distribution request list 114 and restores it to the initial state, and starts a timer for measuring the distribution request reception period. Starts accepting a request for distribution of the content data (step S101). Next, the distribution terminal selection unit 112 determines whether or not there is a terminal 102 that requests distribution via the Internet 103 (YES in step S102), and from the terminal 102 that has made a distribution request. The terminal ID and the total number of times of reproduction data that have been attached to the distribution request and transmitted are registered first in the distribution request list 114 (step S103).
[0053]
Next, it is determined whether or not a delivery request acceptance period, for example, 10 seconds shown in FIG. 7 has elapsed (step S104), and steps S102 and S103 are repeated until the acceptance end time is reached (NO in step S104), The terminals 102 that have made distribution requests are registered in the distribution request list 114 in time series.
When the reception end time is reached (YES in step S104), the distribution terminal selection unit 112 ends the reception of the distribution request from the terminal 102 (step S105), and selects the distribution request terminal registered in the distribution request list 114. The total number of reproduction times data is retrieved with reference to step S106.
[0054]
Thereafter, the terminal IDs of the distribution request list 114 and the total reproduction count data are rearranged in the descending order of the extracted total reproduction count data, and the distribution priority for distributing the music data is determined for each terminal (step S107). . Next, the terminal ID having the first distribution priority in the rearranged distribution request list 114 is extracted (step S108).
Thereafter, it is determined whether or not the distribution priority is equal to or lower than the number of terminals capable of streaming distribution (step S109). If the distribution priority is higher than the number of distributable terminals (NO in step S109), When streaming delivery connection to the terminal 102 with the terminal ID is permitted (step S111), and when the distribution priority is equal to or lower than the number of distributable terminals (YES in step S109), the terminal 102 with the terminal ID is The internal reproduction by the cache memory inside the terminal is instructed (step S110).
[0055]
Thereafter, it is determined whether or not the processing for instructing the playback method for all the terminals 102 that have requested distribution during the distribution request acceptance period has been completed (step S112). NO), returning to step S108, steps S109, S110, and S111 are repeated for all terminals 102 that have made distribution requests.
[0056]
As shown on the right side of the flowchart in FIG. 9, among the above-described three processing processes in the server 101, 1) registration processing is performed in each step of steps S 101 to S 105, and 2) distribution priority order determination processing is performed. Steps S106 to S107, and the distribution terminal determination process 3) corresponds to steps S108 to S112.
[0057]
In addition, in order to reduce the total number of reproductions of the content data in each terminal 102 as the logic for determining the distribution priority for the distribution terminal selection unit 112 of the server 101 to select the terminal 102 for streaming distribution of music data, As the distribution prioritization information, the total number of reproduction times data attached to the distribution request from each terminal 102 (that is, the total number of reproduction times data in the management table 121 of FIG. 3 provided in each terminal 102) 121e) is used, and the case of using the logic in which the total reproduction count data is in descending order is shown for each terminal 102. However, the present invention is not limited to this case.
[0058]
For example, in order to shorten the cache period of music data cached in the cache memory 123 of each terminal 102 as much as possible, each music data is cached as the distribution prioritization information attached to the distribution request from each terminal 102. It is assumed that the oldest oldest cache date / time is extracted from the cache date / time cached in the memory 123 (that is, the cache date / time data 121c in the management table 121 of FIG. 3 provided in each terminal 102). The distribution priority order of the distribution request list 114 may be determined in the order of the oldest cache date and time for 102.
[0059]
Alternatively, in order to make the playback interval of the same music data in each terminal 102 as long as possible, the most recent playback date and time of each music data is represented as the distribution prioritization information attached to the distribution request from each terminal 102 As for each terminal 102, the oldest playback date and time representing the oldest latest playback date and time among the latest playback date and time (that is, the latest playback date and time data 121d in the management table 121 of FIG. 3 provided in each terminal 102) is used. The distribution priority order of the distribution request list 114 may be determined in the order of the oldest reproduction date and time.
[0060]
Alternatively, in order to reduce the number of times of reproduction of individual music data of each terminal 102 as much as possible, the number of times of reproduction of each music data (that is, as the distribution prioritization information attached to the distribution request from each terminal 102) (that is, In the management table 121 of FIG. 3 provided in each terminal, the maximum number of times of reproduction is extracted and used, and the number of times of the maximum number of times of reproduction for each terminal 102 is obtained. The distribution priority order of the distribution request list 114 may be determined in descending order.
[0061]
Alternatively, the distribution priority order of the distribution request list 114 may be determined in the order randomly selected from the terminals 102 registered in the distribution request list 114.
[0062]
In addition, as the distribution prioritization information attached to the distribution request from each terminal 102, one to a plurality of data (for example, total reproduction count data 121e, reproduction, etc.) among various data stored in the management table 121. The most frequently played count in the count data 121b, the oldest cache date in the cache date data 121c, and the oldest play date in the latest play date data 121d). The distribution priority order of the distribution request list 114 may be determined by making a comprehensive determination based on a preset priority order.
Furthermore, in addition to the various data as described above, it is possible to register arbitrary data that can determine the distribution priority of the distribution request list 114 in the distribution request list 114, and based on such arbitrary data, The distribution priority order of the distribution request list 114 may be determined.
[0063]
On the other hand, the terminal 102 (that is, the terminals 1 to 13 102 shown in FIG. 1). -1 ~ 102 -13 ) In the music data decoder 124: 1) Waiting process in which the transmission / reception unit 125 is operated to transmit a distribution request to the server 101 and wait for an instruction response from the server 101, and then 2) the server 101, a playback method specifying process for specifying a playback method of music data streamed from the server 101 or internal playback of music data cached in the cache memory 123 based on an instruction response from the server 101; Further, it can be divided into three processing processes: 3) reproduction processing for reproducing music data by the specified reproduction method.
[0064]
FIG. 10 is a flowchart for explaining an example of a processing process in the terminal 102. The flowchart shown in FIG. 10 starts in response to a music data reproduction instruction from the user. First, the terminal 102 can identify the terminal 102 and a management table in order to make a distribution request to the server 101. The desired data (one or more data among the total reproduction count data 121e, the reproduction count data 121b, the cache date / time data 121c, the latest reproduction date / time data 121d, etc.) stored in 121 are attached to the distribution request. Preparation for transmission as the distribution prioritization information is performed (step S201).
[0065]
The terminal ID extracted as the preparation for transmission and the desired data in the management table 121 are attached to the distribution request as the distribution prioritization information and transmitted to the server 101 (step S202).
Thereafter, a waiting process is performed for waiting until an instruction response to the distribution request arrives from the server 101 (step S203). When the instruction response from the server 101 is received, the process proceeds to the next step S204.
[0066]
First, referring to an instruction response from the server 101 that has arrived at the terminal 102, it is determined whether or not a distribution connection indicating that the instruction response is permitted for streaming distribution of music data from the server 101 is enabled. If the determination is made (step S204) and the distribution is not permitted (NO in step S204), the process proceeds to step S209 and is not cached from the server 101 but cached in the cache memory 123 of the terminal 102. In the case where it is indicated that the distribution is permitted (that is, when it is a streaming reproduction instruction) (YES in step S204), the server performs the operation of internally reproducing the music data currently being played. In order to be able to receive the music data distributed from 101, the music data is stored in the cache memory 123. It determines whether the free space is present to store (step S205).
[0067]
If it is determined that there is no free space for storing the music data in the cache memory 123 (YES in step S205), the cache manager 122 refers to the playback count data 121b in the management table 121. Then, by selecting and deleting the music data with the largest number of playbacks, the free space is secured in the cache memory 123 (step S206), and when it is determined that it is not yet full (NO in step S205) ) And the process proceeds to step S207. Here, if it is in the state like the management table 121 shown in FIG. 4, in step S206, the music data of the music data number “200366” having the largest number of reproduction times data 121b in the management table 121 is 10 times is deleted. Is done.
[0068]
In step S207, streaming distribution is connected to the server 101, music data streamed from the server 101 is sequentially received, and streaming reproduction is performed until the reception is completed while being cached in the cache memory 123. This is performed (step S207).
Thereafter, in the management table 121, the music data number (identification number for identifying the music data), the number of times of reproduction (data indicating one time reproduction), the cache date and time (cached) regarding the music data streamed and reproduced in step S207. Current date and time) and latest playback date and time (current date and time as latest playback date and time) are registered as music data number 121a, playback count data 121b, cache date and time data 121c, and latest playback date and time data 121d, respectively. At the same time, the total number of reproductions is recalculated and set as the total number of reproductions data 121e (step S208), and the process proceeds to step S212.
[0069]
On the other hand, when the distribution is not permitted and the instruction for internal reproduction is given (NO in step S204), the music data with the smallest number of reproductions is selected with reference to the reproduction number data 121b of the management table 121. (Step S209).
Until the reproduction of the music data with the smallest number of reproductions is completed, the data is sequentially read from the cache memory 123 and is internally reproduced (step S210). That is, if the management table 121 is in the state shown in FIG. 4, the music data with the smallest music data number “10031” that is played once is internally reproduced.
[0070]
Thereafter, “1” is added to the reproduction count data 121b of the management table 121 related to the internally reproduced music data and updated, the current date and time is set as the latest reproduction date / time data 121d, and the total reproduction count is calculated. Then, the total number of reproduction times data 121e is set (step S211).
In S212, it is determined whether or not the user continues to play back, and if playback is continuously requested (YES in Step S212), the process returns to Step S201, and the processes in Steps S202 to S211 are performed. If the process is to be repeated repeatedly (NO in step S212), the process is terminated.
[0071]
As shown on the right side of the flowchart of FIG. 10, among the above-described three processing processes in the terminal 102, a waiting process for sending a distribution request to the server 1) and waiting for an instruction response from the server is performed in steps S201 to S203. In each step, the reproduction method specifying process for specifying the reproduction method for reproducing the music data in 2) is performed in each step in steps S204 to S206 and S209, and the reproduction process for reproducing the music data in 3) is performed. This corresponds to each of steps S207, S208 and S210 to S212.
[0072]
Note that in step S206 of the flowchart shown in FIG. 10, the cache manager 122 determines the number of times the cached music data has been played as much as possible as the logic for determining the deletion priority for deleting the music data cached in the cache memory 123. In order to reduce the number of cached music data, the music data having the largest number of times of reproduction (that is, the number of times of reproduction data 121b in the management table 121 of FIG. 3 provided in each terminal) is deleted in order. However, the present invention is not limited to such a case.
[0073]
For example, in order to shorten the cache period of the cached music data as much as possible, the cache date and time indicating the cached date and time (that is, each terminal is provided as the deletion priority of music data to be deleted from the cache memory 123). The cache date / time data 121c) in the management table 121 of FIG. 3 may be used, and the oldest cached music data may be deleted in order from the cached date / time.
[0074]
Alternatively, as the deletion priority order of music data to be deleted from the cache memory 123, the order of music data randomly selected from the music data registered in the management table 121 may be used.
[0075]
In addition, as the deletion priority of music data to be deleted from the cache memory 123, a plurality of management data (for example, reproduction count data 121b and cache date / time data 121c) among various management data stored in the management table 121 is used. In this manner, the order of deletion may be determined by comprehensively determining the management data based on a preset priority order for a plurality of management data.
Furthermore, in addition to the various types of management data as described above, it is possible to register arbitrary data that can determine the deletion priority of music data to be deleted from the cache memory 123 in the management table 121. The deletion priority of music data to be deleted from the cache memory 123 may be determined based on the above.
[0076]
Note that, in steps S209 to S211 of the flowchart shown in FIG. 10, the music data decoder 124 uses the cached individual music as the logic for determining the playback priority for internally playing the music data cached from the cache memory 123. In order to make the number of data reproductions as uniform as possible, among the cached music data, the number of reproductions (that is, the reproduction number data 121b in the management table 121 of FIG. 3 provided in each terminal) is the smallest. Although the case of reproducing the music data in order is shown, the present invention is not limited to such a case.
[0077]
For example, in order to make the playback interval of each cached music data as long as possible, the latest playback indicating the most recently played date and time as the playback priority for internally playing the music data cached from the cache memory 123 Using the date and time (that is, the latest reproduction date and time data 121d in the management table 121 of FIG. 3 provided in each terminal), the music data reproduced from the oldest among the latest reproduction date and time most recently reproduced is used. It is good also as reproducing in order.
[0078]
Alternatively, the music data cached from the cache memory 123 may be played back in the order of music data selected at random from the music data registered in the management table 121 as a playback priority order.
[0079]
Further, among the various management data stored in the management table 121, a plurality of management data (for example, the playback count data 121b and the latest playback) are used as playback priorities for internally playing back the music data cached from the cache memory 123. The date and time data 121d) may be used, and the order of internal reproduction may be determined by comprehensively determining based on the priority order preset for a plurality of management data.
Furthermore, in addition to the various types of management data as described above, it is possible to register in the management table 121 any data that can determine the playback priority of music data that is internally played from the cache memory 123. Based on the data, the playback priority of the music data to be internally played from the cache memory 123 may be determined.
[0080]
In addition, as a distribution system for streaming distribution of music data shown in the above-described embodiment, when the internal playback is instructed from the cache memory 123 of the terminal 102, the internal playback instruction is sent as an instruction response from the server 101 to the terminal 102. The server 101 transmits an instruction response indicating that streaming distribution is performed only to the terminal 102 that is capable of streaming distribution, while the terminal 102 that instructs internal reproduction from the cache memory 123. In response to the request, an instruction response for instructing internal reproduction is not transmitted, and the terminal 101 also receives the server 101 while a predetermined time elapses from the time when the distribution request is made. If the instruction response from is not returned, the cache memory 12 is automatically It reads the music data to be reproduced from, may be configured to internally reproduced.
[0081]
Furthermore, in the above-described distribution system for distributing music data, the channel that can be selected by the user is composed of only one channel, and when the user turns on the terminal 102, music is always transmitted. Has been described, for example, a plurality of servers 101 corresponding to each channel are connected to the Internet 103, and each terminal 102 connected to the Internet 103 is arbitrarily selected from a plurality of channels. A channel selection key capable of selecting a channel, a management table 121 corresponding to each channel, and a cache memory 123. When the user selects a channel with the channel selection key, the channel is selected. Stored in the management table 121 The specified server by creating the distribution prioritization information using the various management data and the terminal ID, and transmitting it by attaching to the distribution request transmitted to the server 101 corresponding to the channel Based on the instruction response returned from 101, the distribution system may be configured such that the content data related to the selected channel is distributed and reproduced by streaming distribution or internally reproduced from the cache memory 123 of the terminal 102. .
[0082]
Further, as the network applied to the above-described distribution system, the case where the Internet 103 is used as shown in FIG. 1 has been shown. However, for example, in a LAN (Local Area Network) in a company or a home. It does not matter.
[0083]
【The invention's effect】
The content distribution server, content receiving terminal, and content distribution system according to the present invention can achieve the following effects.
That is, according to the content distribution server according to the present invention, various management data related to content data that has been distributed and cached in the past is transmitted from a content receiving terminal that transmits a distribution request for requesting distribution of content data to a distribution priority order. By receiving as distribution prioritization information to be attached, based on the received distribution prioritization information, the distribution priority of the content receiving terminal to be subjected to streaming distribution is set, and streaming is performed from the content distribution server. Depending on the number of terminals that can perform distribution and the distribution priority, it is possible to determine a content receiving terminal that performs streaming distribution from the content distribution server. Therefore, it is possible to perform streaming distribution of new content data fairly and equally to all the content receiving terminals that use the streaming distribution service, and at the same time, the network transfer data amount accompanying the distribution of content data is effective. Can be controlled automatically.
[0084]
Further, according to the content receiving terminal according to the present invention, the content data received from the content distribution server is cached in a cache memory, so that the distribution request attached to the content distribution server is attached to the distribution request. Even when there is no instruction response indicating the distribution of the content data from the content distribution server, it is possible to select the content data previously cached in the cache memory and efficiently perform internal reproduction. Therefore, not only can the streaming delivery of fresh content data be received from the content delivery server by the delivery request, but also the case where the streaming delivery cannot be received from the content delivery server is cached. The content data can be reproduced internally, and the user can always view fresh content data. Furthermore, it is possible to effectively control the amount of network transfer data that accompanies the distribution of content data.
[0085]
Therefore, according to the content distribution system according to the present invention configured by connecting the content distribution server and the content receiving terminal to a network, the content distribution server regardless of the total number of terminals of the content receiving terminal. Content data can be streamed within the allowable range of the network capacity of the network interposed between the content receiving terminal and the content receiving terminal. Fresh content data can be distributed fairly and fairly to all the content receiving terminals that use.
[Brief description of the drawings]
FIG. 1 is a network configuration diagram showing a concept of a network configuration in a music distribution system which is an example of an embodiment of a content distribution system according to the present invention.
2 is a functional block diagram showing an example of a functional block configuration in the content distribution server according to the present invention of FIG. 1. FIG.
3 is a functional block diagram showing an example of a functional block configuration in the content receiving terminal according to the present invention of FIG. 1. FIG.
4 is a memory configuration diagram showing an example of management information stored in a management table built in the terminal shown in FIG. 3; FIG.
5 shows an example of a state in which content receiving terminals are registered in the distribution request list built in the content distribution server shown in FIG. 2 in a certain distribution request acceptance period in the order in which distribution requests are made. It is a memory block diagram.
FIG. 6 shows distribution priority for content receiving terminals registered in the distribution request list shown in FIG. 5 after rearranging the distribution priority of the content receiving terminals regarding the content data to be distributed after the end of the distribution request acceptance period. It is a memory block diagram which shows an example of an order | rank.
FIG. 7 shows a relationship between a content receiving terminal instructing distribution from the content distribution server and a content receiving terminal instructing internal reproduction according to the number of terminals of the distribution request received by the content distribution server every certain distribution request reception period. It is the schematic diagram showing an example of the time flow in which each number changes.
8 is a sequence chart showing a communication flow on the Internet when a terminal having a distribution request to the server makes a distribution request in the reception period of the distribution request reception period of FIG.
FIG. 9 is a flowchart for explaining an example of a processing process in the server.
FIG. 10 is a flowchart for explaining an example of a processing process in the terminal.
[Explanation of symbols]
101: Content distribution server (music distribution server, server), 102, 102 -1 ~ 102 -13 ... Client terminal (content receiving terminal, terminal) 103 ... Internet 111 ... Distribution data storage unit 112 ... Distribution terminal selection unit 113 ... Distribution unit 114 ... Distribution request list 114a ... Terminal ID area 114b ... Distribution priority Ranking information area (total playback count data area), 115 ... network connection unit, 121 ... management table, 121a ... music data number, 121b ... playback count data, 121c ... cache date / time data 121c, 121d ... latest playback date / time data, 121e ... Total playback count data, 122... Cache manager, 123... Cache memory, 124... Music data decoder, 125.

Claims (8)

コンテンツ受信端末に対して配信するコンテンツデータを蓄積し、各コンテンツ受信端末から送信されるコンテンツデータの配信要求を受付けてコンテンツデータをストリーミング配信するコンテンツ配信サーバにおいて、
所定期間単位毎に受付けた前記配信要求に添付されてくる当該コンテンツ受信端末内のキャッシュメモリに記録された配信済みコンテンツデータのリストと、当該リストのコンテンツ毎のキャッシュ日時、又は、再生回数、最新再生日時のうちの1つ又は複数より成るコンテンツ配信優先順位付け情報に基づいて、予め設定した選定基準により受付けたコンテンツ受信端末についてコンテンツデータの配信優先順位を決定し、
決定された前記配信優先順位に応じて、予め定められた配信可能端末数に該当する前記配信優先順位が高いコンテンツ受信端末に対してコンテンツデータのストリーミング配信を行うことを特徴とするコンテンツ配信サーバ。
In a content distribution server that accumulates content data to be distributed to a content receiving terminal, accepts a distribution request for content data transmitted from each content receiving terminal, and distributes the content data by streaming.
A list of distributed content data recorded in the cache memory in the content receiving terminal attached to the distribution request received every predetermined period unit, and the cache date and time or the number of times of reproduction for each content in the list based on one or content delivery prioritization information comprising a plurality of reproduction time, to determine the distribution priority of the content data for the content receiving terminal received by the selection criteria set in advance,
A content distribution server for performing streaming distribution of content data to a content receiving terminal having a high distribution priority corresponding to a predetermined number of distributable terminals according to the determined distribution priority .
前記配信優先順位が低く前記単位期間内に配信ができないコンテンツ受信端末に対し、当該受信端末内のキャッシュメモリによる内部再生の指示を行うことを特徴とする請求項1に記載のコンテンツ配信サーバ。2. The content distribution server according to claim 1, wherein an instruction for internal reproduction by a cache memory in the receiving terminal is given to a content receiving terminal that has a low distribution priority and cannot be distributed within the unit period. 前記配信優先順位が、前記配信優先順位付け情報における再生回数の記録の合計回数が多いコンテンツ受信端末順、又は、前記キャッシュ日時の記録のうちの最も古い最古キャッシュ日時の記録が古いコンテンツ受信端末順、前記最新再生日時の記録のうちの最も古い最古再生日時の記録が新しいコンテンツ受信端末順、各コンテンツデータの前記再生回数のうち最も多い最多再生回数の多いコンテンツ受信端末順、のいずれかであることを特徴とする請求項1又は2に記載のコンテンツ配信サーバ。The delivery priority, the distribution prioritization total number of recording views in the information often content receiving terminal sequence, or the oldest oldest cache time of recording the old content receiving terminal of the recording of the cache time order, the latest playback record of the date and time the oldest oldest playback date and time of the recording of new content receiving terminal order, most often most views a lot of content receiving terminal order among the number of plays of each content data, one of the The content distribution server according to claim 1, wherein the content distribution server is a content distribution server. コンテンツ配信サーバから配信されるコンテンツデータをその都度キャッシュメモリにキャッシュすると共に、キャッシュされている各コンテンツデータを復号して再生するコンテンツ受信端末において、
前記配信サーバに対し、コンテンツ配信要求を、前記キャッシュメモリにキャッシュされている各コンテンツデータのリストと、当該リストのコンテンツ毎のキャッシュ日時、又は、再生回数、最新再生日時のうちの1つ又は複数より成るコンテンツ配信優先順位付け情報と共に送信し、
該配信要求における前記コンテンツ配信順位付け情報に基づいて決定された配信優先順位情報に従った前記配信サーバからの指示応答が、コンテンツデータのストリーミング配信ときは配信されたコンテンツデータを再生し、キャッシュメモリによる内部再生の指示のときは前記キャッシュされている所定のコンテンツデータを読み出して内部再生することを特徴とするコンテンツ受信端末。
In the content receiving terminal that caches the content data distributed from the content distribution server in the cache memory each time and decrypts and reproduces each cached content data,
One or more of a list of content data cached in the cache memory and a cache date / time for each content in the list, or the number of times of reproduction and the latest reproduction date / time are sent to the distribution server. sent together with a more composed content delivery prioritization information,
Instruction response from the distribution server in accordance with the delivery priority information determined based on the content distribution ranking information definitive to the delivery request, when the streaming distribution of the content data to reproduce the distributed content data, A content receiving terminal characterized in that , when an internal reproduction instruction is issued by a cache memory, the cached predetermined content data is read and reproduced internally.
前記配信要求の送信から予め定めた一定の経過時間内に前記指示応答がない場合、自動的に前記キャッシュメモリからコンテンツデータを読み出して内部再生することを特徴とする請求項4に記載のコンテンツ受信端末。  5. The content reception according to claim 4, wherein when there is no instruction response within a predetermined elapsed time from transmission of the distribution request, content data is automatically read from the cache memory and internally reproduced. Terminal. 前記キャッシュメモリから読み出して内部再生するコンテンツデータは、各コンテンツデータを再生した回数を表す再生回数が少ないコンテンツデータ、又は各コンテンツデータ最新再生日時が最も古いコンテンツデータであることを特徴とする請求項4又は5に記載のコンテンツ受信端末。  The content data read from the cache memory and internally reproduced is content data with a small number of reproductions indicating the number of times each content data has been reproduced, or content data with the oldest reproduction date and time of each content data. The content receiving terminal according to 4 or 5. 前記キャッシュメモリにキャッシュされているコンテンツデータは、各コンテンツデータを再生した再生回数の多いコンテンツデータ順、又は、各コンテンツデータをキャッシュした日時を表すキャッシュ日時が古いコンテンツデータ順、前記再生回数あるいは前記キャッシュ日時に関して予め設定した順のいずれかにより前記キャッシュメモリから削除されることを特徴とする請求項4又は5に記載のコンテンツ受信端末。  The content data cached in the cache memory is in the order of the content data in which the number of times of reproduction of each content data is large, or in the order of the content data having the oldest cache date and time indicating the date and time when the content data is cached. 6. The content receiving terminal according to claim 4 or 5, wherein the content receiving terminal is deleted from the cache memory in any order set in advance with respect to the cache date and time. 請求項1〜3のいずれかに記載のコンテンツ配信サーバと、請求項4〜7のいずれかのコンテンツ受信端末よりなるコンテンツ配信システム。  A content distribution system comprising the content distribution server according to any one of claims 1 to 3 and the content receiving terminal according to any one of claims 4 to 7.
JP2003000809A 2003-01-07 2003-01-07 Content distribution server, content receiving terminal, and content distribution system Expired - Fee Related JP4107968B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003000809A JP4107968B2 (en) 2003-01-07 2003-01-07 Content distribution server, content receiving terminal, and content distribution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003000809A JP4107968B2 (en) 2003-01-07 2003-01-07 Content distribution server, content receiving terminal, and content distribution system

Publications (2)

Publication Number Publication Date
JP2004212754A JP2004212754A (en) 2004-07-29
JP4107968B2 true JP4107968B2 (en) 2008-06-25

Family

ID=32818991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003000809A Expired - Fee Related JP4107968B2 (en) 2003-01-07 2003-01-07 Content distribution server, content receiving terminal, and content distribution system

Country Status (1)

Country Link
JP (1) JP4107968B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4835053B2 (en) 2005-07-05 2011-12-14 ソニー株式会社 Content reproduction system, content provision method, content reproduction apparatus, content provision apparatus, content reproduction program, and content provision program
JP5113233B2 (en) * 2010-09-21 2013-01-09 ヤフー株式会社 Web content management apparatus and method
KR101497325B1 (en) * 2013-10-16 2015-03-04 (주)컴버스테크 System and method for processing virtual interview by division contents
JP6140060B2 (en) * 2013-11-26 2017-05-31 株式会社ピープル アンド モバイル ジャパン Content providing system and content providing method
CN112653636B (en) * 2020-12-19 2022-09-20 珍岛信息技术(上海)股份有限公司 Network data intelligent distribution service system

Also Published As

Publication number Publication date
JP2004212754A (en) 2004-07-29

Similar Documents

Publication Publication Date Title
EP0658055B1 (en) Multimedia distribution over wide area networks
US9176955B2 (en) Method and apparatus for sharing media files among network nodes
US7043558B2 (en) Data communication apparatus and data communication method
US7293066B1 (en) Methods and apparatus supporting access to stored data
KR100256016B1 (en) Scheduling of real-time i/o in the presence of replication in a client-server environment
US7024485B2 (en) System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback
JP2007080161A (en) Data distribution system, partial content storing server, method and program for increasing response speed
JP2003167813A (en) Stream data storing and distributing method and system
US8640178B2 (en) Server, content providing apparatus, content receiving apparatus, content providing method, content receiving method, and program
EP1398969A1 (en) Video distributing system and video distributing method
US20080291926A1 (en) Distributed content storage system, content storage method, node device, and node processing program
US20080163303A1 (en) Video playback device for channel browsing
JP4343978B2 (en) Data management apparatus and program
JP2014042124A (en) Content distribution system and content distribution method
JP4107968B2 (en) Content distribution server, content receiving terminal, and content distribution system
WO2010024228A1 (en) Content distribution system
KR101165903B1 (en) Method for generating data enabling the search for content, system, terminal, and server complements to implement the method
JP4203528B1 (en) Video data acquisition method, video data acquisition system, video reception device, and video distribution device
JP2013045273A (en) Cache server, method for determining cache object, content distribution system, and cache object determination program
KR101858247B1 (en) System and method for providing content using integrated identification
JP5560545B2 (en) Distribution system and distribution method
JP2004030423A (en) Content distribution controller and program
EP1992145B1 (en) Managing playlists
KR101137248B1 (en) System and Method for Multimedia Streaming of Distributed Contents Using Mobile Agent
JP2011070567A (en) Content rearrangement system, content distribution system, content rearrangement method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050810

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080401

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees