JP4626395B2 - センターサーバーおよびその動作方法 - Google Patents

センターサーバーおよびその動作方法 Download PDF

Info

Publication number
JP4626395B2
JP4626395B2 JP2005146037A JP2005146037A JP4626395B2 JP 4626395 B2 JP4626395 B2 JP 4626395B2 JP 2005146037 A JP2005146037 A JP 2005146037A JP 2005146037 A JP2005146037 A JP 2005146037A JP 4626395 B2 JP4626395 B2 JP 4626395B2
Authority
JP
Japan
Prior art keywords
terminal device
content
partial content
partial
center server
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
JP2005146037A
Other languages
English (en)
Other versions
JP2006099723A (ja
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.)
Onkyo Corp
Original Assignee
Onkyo 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 Onkyo Corp filed Critical Onkyo Corp
Priority to JP2005146037A priority Critical patent/JP4626395B2/ja
Priority to US11/184,475 priority patent/US20060069778A1/en
Publication of JP2006099723A publication Critical patent/JP2006099723A/ja
Application granted granted Critical
Publication of JP4626395B2 publication Critical patent/JP4626395B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Description

本発明は、コンテンツサーバーに格納されたコンテンツを端末装置に配信するコンテンツ配信システムに関する。
音楽および/または映像等のコンテンツを、インターネットを介してダウンロードする方法として、サーバークライアント方式およびピアツーピア方式が提案されている。サーバークライアント方式では、コンテンツを格納するサーバーから複数のクライアントにコンテンツを送信する。そのため、クライアントの数が増加すれば、それだけサーバーが一度に送信するコンテンツの容量が増大(負荷が増大)するので、サーバーが接続する通信回線の帯域(回線容量)をきわめて大きくする必要がある。一方、ピアツーピア方式では、各端末装置間でコンテンツを送受信するので、サーバークライアントシステムにおけるサーバーに比べると、端末装置にかかる負荷を軽減することができる。
しかし、ピアツーピア方式では、1つの端末装置に他の端末装置への送信処理が集中する可能性があり、1つの端末装置にかかる負荷をさらに軽減する必要がある。さらに、端末装置が送信するコンテンツの容量が大きい場合には、端末装置がコンテンツ全体を送信し終わるまでに時間がかかる。そのため、端末装置の負荷を減少させるためには、コンテンツ全体を送信し終わるまで、端末装置は他の端末装置からコンテンツを受信、または他の端末装置にコンテンツを送信することができない。
さらに、下記特許文献1には、サーバーの負荷および通信量を軽減するために、複数のサーバーにコンテンツが分散配置されており、コンテンツの動的重要度に基づいてこれらのコンテンツを分割および/または結合して、複数のサーバーに再配置して、端末装置からのアクセスを分散させる方法が記載されている。しかし、この方法においても、1つのサーバーに端末装置への送信処理が集中すると、1つのサーバーにかかる負荷が増大するという問題がある。
さらに、下記特許文献2は、サーバーにアクセスが集中することを防止するために、以下の内容を記載する。サーバーSVは、送信するファイルを内部でブロック単位に分けて管理し、クライアントC1とクライアントC2とに送信する。クライアントC2に対してはファイルをブロック化した順番で先頭のブロックから順に送信し、クライアントC1に対してはブロック化した末尾から逆順に送信する。これにより、クライアントC1に送信するブロックとクライアントC2に送信するブロックとがなるべく重複しないように送信する。クライアントC1は、1つのブロックの受信を完了すると自己の記憶装置に保存すると共に、直ちにそのブロックをブロック化した末尾から逆順にクライアントC2に向けて送信する。同様に、クライアントC2は、1つのブロックの受信を完了すると自己の記憶装置に保存すると共に、直ちにそのブロックをブロック化した先頭から逆順にクライアントC1に向けて送信する。なお、クライアントC1とC2との組合せは、クライアントC1がサーバーから送信されたリストを参照してクライアント間の転送速度テストや距離の測定等に基づいて決定する。また、サーバーの帯域に余裕がなければ、要求されたファイルの複製を持つクライアントC2からファイルの全てがクライアントC1に送信される。
しかし、特許文献2においては、クライアント間のブロック送信、およびサーバーからクライアントへのブロック送信のいずれの場合も、ブロックを先頭から順番に送信するか、ブロックを末尾から順番に送信するかをクライアントによって選択しているにすぎない。その結果、3つ以上のクライアントが同時に同じファイルを要求した場合に、クライアントが取得するブロックが重複してしまい、ブロックを送信するサーバーまたはクライアントの送信処理が集中するという問題を有している。また、ブロックを先頭または末尾から順番に送信するので、ブロックを送信し終わるまでに長い時間を要してしまい、その間他のクライアントにブロックを送信すると、クライアントの負荷が増大するという問題を有する。
特開2003−216521号公報 特開2004−249547号公報
本発明は上記従来の課題を解決するためになされたものであり、その目的とするところは、1つの端末装置またはコンテンツサーバーに、コンテンツ送信処理が集中することを防止するコンテンツ配信システムを提供することにある。
本発明の好ましい実施形態によるコンテンツ配信システムは、センターサーバーと該センターサーバーに接続可能な複数の端末装置とを備える。該センターサーバーは、コンテンツが複数に分割された部分コンテンツのうち、該端末装置が既に格納する部分コンテンツに隣接する直前および/または直後の部分コンテンツを特定する手段と、該特定した部分コンテンツを格納する他の端末装置を特定する手段とを含む。該端末装置は、該特定された他の端末装置から該特定された部分コンテンツを受信し、格納する手段を含む。
好ましくは、コンテンツ配信システムは、上記複数の端末装置が接続可能なコンテンツサーバーをさらに備える。該コンテンツサーバーは、コンテンツが複数に分割された前記部分コンテンツを格納する手段と、該部分コンテンツの各々を、それぞれ異なる該端末装置に送信する手段とを含む。該端末装置は、該コンテンツサーバーから送信された部分コンテンツを格納する手段を含む。
本発明の好ましい実施形態によるセンターサーバーは、複数の端末装置が接続可能であり、コンテンツが複数に分割された部分コンテンツのうち、該端末装置が受信すべき部分コンテンツとして、該端末装置が既に格納する部分コンテンツに隣接する直前および/または直後の部分コンテンツを特定する手段と、該端末装置に該特定した部分コンテンツを送信する他の端末装置として、該特定した部分コンテンツを格納する他の端末装置を特定する手段とを含む。
好ましくは、センターサーバーは、上記端末装置の各々から動作状態情報を受信し、管理する手段をさらに含む。上記他の端末装置を特定する手段は、該端末装置の動作状態情報に基づいて、該他の端末装置を特定する。
好ましくは、上記他の端末装置を特定する手段は、該特定した他の端末装置が複数ある場合に、上記端末装置と該他の端末装置との間の伝送効率に基づいて、該他の端末装置をさらに特定する。
好ましくは、センターサーバーは、上記各端末装置毎に、該端末装置が未だ格納していない前側の部分コンテンツの数を示す前側残り数と、該端末装置が未だ格納していない後側の部分コンテンツの数を示す後側残り数との差分値を記憶する手段をさらに備える。上記部分コンテンツを特定する手段は、全端末装置の該差分値の合計に基づいて、直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する。
好ましくは、上記部分コンテンツを特定する手段は、上記他の端末装置を特定できない場合に、上記端末装置自身の前記差分値に基づいて、直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する。
好ましくは、センターサーバーはコンテンツを格納するコンテンツサーバーに接続可能であり、該コンテンツサーバーが接続された通信回線の帯域と、該コンテンツサーバーがコンテンツを送信する転送レートとに基づいて、該コンテンツを分割する分割数を算出する手段と、該算出した分割数に基づいて、該コンテンツを複数の部分コンテンツに分割するように該コンテンツサーバーに指示する手段と、該部分コンテンツの各々を該コンテンツサーバーから受信するよう、それぞれ異なる端末装置に指示する手段とをさらに備える。
本発明の好ましい実施形態による端末装置は、コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および/または直後の部分コンテンツを特定し、かつ、該特定した部分コンテンツを格納する他の端末装置を特定するセンターサーバーに接続可能であり、該複数の部分コンテンツのうち、該センターサーバによって特定された、自身が既に格納する部分コンテンツに隣接する直前または直後の部分コンテンツを、該センターサーバーによって特定された他の端末装置から受信し、格納する受信手段と、自身が格納する部分コンテンツを他の端末装置に送信する送信手段とを含む。
本発明の好ましい実施形態によるコンテンツ配信方法は、コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および/または直後の部分コンテンツを特定するステップと、該特定された部分コンテンツを格納する他の端末装置を特定するステップと、該端末装置において、該特定された他の端末装置から該特定された部分コンテンツを受信し、格納するステップとを含む。
本発明の別の局面においては、複数の端末装置が接続可能なセンターサーバーの動作方法が提供され得る。この方法は、コンテンツが複数に分割された部分コンテンツのうち、端末装置が受信すべき部分コンテンツとして、該端末装置が既に格納する部分コンテンツに隣接する直前および/または直後の部分コンテンツを特定するステップと、該端末装置に該特定した部分コンテンツを送信する他の端末装置として、該特定した部分コンテンツを格納する他の端末装置を特定するステップとを含む。
本発明のさらに別の局面においては、コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および/または直後の部分コンテンツを特定し、かつ、該特定した部分コンテンツを格納する他の端末装置を特定するセンターサーバーに接続可能な端末装置の動作方法が提供され得る。この方法は、コンテンツが複数に分割された部分コンテンツのうち、該センターサーバーによって特定された、自身が既に格納する部分コンテンツに隣接する直前または直後の部分コンテンツを、該センターサーバーによって特定された他の端末装置から受信し、格納するステップと、自身が格納する部分コンテンツを他の端末装置に送信するステップとを含む。
以下、本発明の作用について説明する。
本発明のコンテンツ配信システムにおいては、端末装置はコンテンツサーバーからコンテンツ全体を受信するのではなく、1つの部分コンテンツのみを受信し、その他の部分コンテンツは他の端末装置から受信する。そして、端末装置は、自身が格納する部分コンテンツを他の端末装置に送信する。そのため、コンテンツサーバーに送信処理が集中することがなく、コンテンツサーバーの負荷増大を防止できる。
さらに、端末装置間においても、コンテンツ全体ではなく1つの部分コンテンツを送受信するので、端末装置が部分コンテンツを送信し終わるまでに必要な時間は、コンテンツ全体を送信し終わるまでの時間に比べてはるかに短い。そのため、端末装置は、より短い時間で部分コンテンツの送信を完了した後、自身が他の端末装置から部分コンテンツを受信したり、さらに他の端末装置に部分コンテンツを送信することができる。さらに、端末装置は、自身が格納する部分コンテンツに隣接する部分コンテンツを他の端末装置から受信する。すなわち、端末装置は、自身が格納する最小アドレスを有する部分コンテンツの直前のアドレスを有する部分コンテンツ、または自身が格納する最大アドレスを有する部分コンテンツの直後のアドレスを有する部分コンテンツのうち特定された方を受信して格納する。次に受信すべき部分コンテンツはその都度特定される。つまり、端末装置は先頭または末尾から順番に部分コンテンツを受信しない。そのため、端末装置ごとに、格納済の部分コンテンツに基づいて、次に受信すべき部分コンテンツが異なる。また、受信すべき部分コンテンツ毎に送信元になる端末装置をその都度特定する。その結果、端末装置ごとに、部分コンテンツの送信元になる端末装置が異なる。従って、1つの端末装置に部分コンテンツの送信処理が集中することがなく、1つの端末装置の負荷が増大することを防止できる。
また、センターサーバーが、端末装置が次に受信すべき部分コンテンツおよび端末装置に当該部分コンテンツを送信する他の端末装置を特定する。そして、センターサーバーは、特定した他の端末装置から特定した部分コンテンツを受信するよう端末装置に指示する。そのため、各端末装置は、複数存在する他の端末装置の中から部分コンテンツを送信する端末装置を特定する必要がない。すなわち、各端末装置は、他の端末装置の動作状態情報および格納する部分コンテンツを管理する必要がない。従って、複数存在する端末装置の処理を簡素化することができるので、システム全体の処理を簡素化できる。
好ましくは、部分コンテンツを格納するコンテンツサーバーが各端末装置にそれぞれ異なる部分コンテンツを送信する。各端末装置はそれぞれ異なる部分コンテンツを格納する。そのため、各端末装置が、自身が既に格納する部分コンテンツに隣接する部分コンテンツを他の端末装置から受信する際に、部分コンテンツの送信元になる端末装置がそれぞれ異なる。従って、1つの端末装置に送信処理が集中することをさらに良好に防止できる。
好ましくは、センターサーバーは端末装置の動作状態情報に基づいて部分コンテンツの送信元になる端末装置を特定する。具体的には、動作状態情報が待機中である端末装置を特定する。従って、1つの端末装置に部分コンテンツの送信処理が集中することを防止できる。
好ましくは、センターサーバーは、端末装置間の伝送効率に基づいて、部分コンテンツの送信元になる端末装置を特定する。従って、端末装置間で部分コンテンツが送受信完了するまでの時間を短縮できる。そのため、全ての端末装置が部分コンテンツの全てを格納し終わるまでの時間を短縮できる。
好ましくは、コンテンツは、コンテンツサーバーが接続された通信回線の帯域と、コンテンツサーバーからの実際の転送レートとに基づいて算出された分割数の部分コンテンツに分割されている。そのため、コンテンツサーバーは部分コンテンツの全てを異なる端末装置に一斉に(同時に)送信することができる。従って、部分コンテンツが端末装置に格納されるまでの時間を短縮することができる。
好ましくは、センターサーバーは、端末装置毎に、前側残り数と後側残り数との差分値とを記憶する。差分値は、前側の部分コンテンツと後側の部分コンテンツとのどちらの残り数が多いかを表している。センターサーバーは、全端末装置の差分値の合計を算出する。差分値の合計がプラスの値の場合、センターサーバーは、全端末装置にわたり前側の部分コンテンツの方が残り数が多いと判断し、端末装置が前側の部分コンテンツを他の端末装置から受信することを特定する。一方、差分値の合計がマイナスの値の場合、センターサーバーは、全端末装置にわたり後側の部分コンテンツの方が残り数が多いと判断し、端末装置が後側の部分コンテンツを他の端末装置から受信することを特定する。従って、全端末装置にわたって、前側または後側の一方に偏って部分コンテンツが格納されることを防止できる。
好ましくは、センターサーバーは、部分コンテンツを受信する端末装置の差分値に基づいて、差分値がプラスの値の場合、前側の部分コンテンツを他の端末装置から受信することを特定し、差分値がマイナスの値の場合、後側の部分コンテンツを他の端末装置から受信することを特定する。従って、部分コンテンツを受信する端末装置に関して、前側または後側の一方に偏って部分コンテンツを受信することを防止できる。
本発明のコンテンツ配信システムは、端末装置が自身が格納する部分コンテンツに隣接する部分コンテンツを他の端末装置から受信するので、コンテンツサーバーおよび端末装置に送信処理が集中することを防止することができる。
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態によるコンテンツ配信システム1を説明するブロック図である。コンテンツ配信システム1は、サーバーシステム2および複数の端末装置3(端末装置A〜J)を備える。サーバーシステム2は、センターサーバー4およびコンテンツサーバー5を含む。センターサーバー4は、端末装置3の動作状態情報および端末装置3が格納する部分コンテンツ(後述)等を管理し、端末装置3に部分コンテンツの送受信を指示するサーバーである。コンテンツサーバー5は、コンテンツが複数に分割された部分(以下、その各部分を部分コンテンツとする)を格納し、端末装置3に部分コンテンツを送信するサーバーである。センターサーバー4とコンテンツサーバー5とは一体であってもよく、別々であってもよい。すなわち、センターサーバー4とコンテンツサーバー5とを1つの事業者が運営してもよく、異なる事業者が運営してもよい。センターサーバー4およびコンテンツサーバー5は、それぞれ通信回線YおよびXを介してインターネット等のIP通信網6に接続されている。センターサーバー4とコンテンツサーバー5とが一体である場合には、通信回線XおよびYは共通である。端末装置3は、通信回線W(W1〜W10)を介してIP通信網6に接続されている。端末装置3は、コンテンツサーバー5および他の端末装置3から部分コンテンツを受信して格納する。また、端末装置3は、他の端末装置3に部分コンテンツを送信する。コンテンツは、例えば、音楽、映像および/または静止画等を含むが、データ容量の大きい映像に特に好適に採用され得る。
センターサーバー4の構成を図2に示す。センターサーバー4は、コンテンツ管理データベース21、端末情報データベース22、端末伝送効率データベース23、コンテンツ分割数データベース24およびサーバー伝送効率データベース25等の各種データベースと、動作管理インターフェース26と、コンテンツ管理インターフェース27と、センターサーバーアプリケーション28と、全体の動作を制御するマイコン29と、ROM、RAM等のメモリ20とを有する。各種データベースおよびセンターサーバーアプリケーション28は、図示しないハードディスクに格納されている。動作管理インターフェース26は、端末装置3からの動作状態情報を受信するインターフェースである。コンテンツ管理インターフェース27は、端末装置3からコンテンツ情報(例えば、タイトル、コンテンツの長さ等)を受信するインターフェースである。センターサーバーアプリケーション28は、動作管理インターフェース26より受信した動作状態情報を端末情報データベース22に登録し、コンテンツ管理インターフェース27より受信したコンテンツ情報をコンテンツ管理データベース21および端末情報データベース22に登録する。さらに、センターサーバーアプリケーション28は、図5〜図10に示すセンターサーバーの各種動作を実行する。センターサーバー4は、図示しないコンテンツ情報テーブルをコンテンツ管理データベース21に格納している。コンテンツ情報テーブルには、部分コンテンツID(後述)に対応して、コンテンツ情報(例えば、タイトル、コンテンツの長さ等)を管理する。
センターサーバー4は、端末情報データベース22に表1に示す端末情報テーブルを格納している。端末情報テーブルは、各端末装置3に関する情報をセンターサーバー4が管理するためのテーブルである。
Figure 0004626395
端末情報テーブルは、端末名と、部分コンテンツIDと、通信条件と、端末特定情報と、動作状態情報とを含む。端末名は、各端末装置に付与される名称であり、例えばホスト名である(本例では、簡単のため端末装置A〜Jとする)。部分コンテンツIDは、各端末装置が既に格納する部分コンテンツの識別番号を表す。例えば、コンテンツZは8つの部分コンテンツに分割されており、部分コンテンツIDとしてZ1〜Z8が付与されている。端末装置Aは部分コンテンツZ2〜Z4を格納し、端末装置Bは部分コンテンツZ1〜Z3を格納していることを表している。通信条件は、端末装置間、あるいはコンテンツサーバーと端末装置との間の伝送効率を決定するための条件であり、例えば、回線種別(FTTH、ADSL)、プロバイダ、通信事業者、地域情報(例えば、都道府県等)である(本例では、通信事業者A〜Cとする)。端末特定情報は、端末装置が部分コンテンツを送受信する際に使用される特定情報であり、例えば、IPアドレスである。動作状態情報は、各端末装置の動作状態を表し、例えば、通信可能状態、待機中、通信中等を示すステータス情報を含む。センターサーバー4は、端末装置3が通信可能状態であれば部分コンテンツの受信指示が可能であり、待機中であれば部分コンテンツ送信元として特定可能であり、通信中であれば現在端末装置3が通信中であるので部分コンテンツの受信の指示および部分コンテンツ送信元としての特定が不可能であると判断できる。端末情報テーブルの各値は、最初は何も登録されておらず、各端末装置3から動作状態情報が通知されることによって、端末情報テーブルに登録される。
センターサーバー4は、端末伝送効率データベース23に表2に示す端末伝送効率テーブルを格納している。
Figure 0004626395
端末伝送効率テーブルは、端末装置間の伝送効率を表し、ある端末装置に部分コンテンツを送信する端末装置をセンターサーバー4が特定するために使用される。端末伝送効率テーブルは、送信元の通信条件(通信事業者)と、送信先の通信条件(通信事業者)と、送信元から送信先に部分コンテンツを送信する際の伝送効率とを含む。伝送効率は、例えば、送信元から送信先への転送レートの比に基づいて決定され、この値が小さいほど伝送効率が高い。伝送効率が高いほど、部分コンテンツの送信に必要な時間が短い。例えば、通信事業者Aを使用した端末装置から通信事業者Cを使用した端末装置に送信する場合は、通信事業者Aを使用した端末装置から通信事業者Bを使用した端末装置に送信する場合に比べて、送信に必要な時間が長い。
センターサーバー4は、コンテンツ分割数データベース24に表3に示すコンテンツ分割数テーブルを格納している。
Figure 0004626395
コンテンツ分割数テーブルは、センターサーバー4が、コンテンツの分割数を管理するテーブルである。センターサーバー4は、コンテンツ分割数テーブルに基づいて、端末装置3が、部分コンテンツの全て(コンテンツ全体)を格納済であるかを判断する。また、センターサーバー4は、コンテンツ分割数テーブルに基づいて、端末装置3が次に格納すべき部分コンテンツが存在するかを判断する。例えば、表3は、コンテンツZは8つの部分コンテンツに分割されていること(Z1〜Z8で1つのコンテンツZを構成すること)を示す。
センターサーバー4は、サーバー伝送効率データベース25に表4に示すサーバー伝送効率テーブルを格納している。
Figure 0004626395
サーバー伝送効率テーブルは、コンテンツサーバー5から端末装置3への伝送効率を表し、センターサーバー4が、コンテンツサーバー5の部分コンテンツ送信先となる端末装置3を特定するために使用される。サーバー伝送効率テーブルは、送信元(コンテンツサーバー)と、送信先(端末装置)の通信条件(通信事業者)と、送信元から送信先に送信する場合の伝送効率とを含む。伝送効率は、例えば、送信元から送信先への転送レートの比を表しており、この値が小さいほど伝送効率が高い。伝送効率が高いほど、送信に必要な時間が短い。例えば、コンテンツサーバーから通信事業者Aを使用した端末装置に送信する場合は、通信事業者Cを使用した端末装置に送信する場合に比べて、送信に必要な時間が長い。
コンテンツサーバー5の構成を図3に示す。コンテンツサーバー5は、コンテンツストレージデバイス31と、コンテンツインターフェース32と、コンテンツサーバーアプリケーション33と、全体の動作を制御するマイコン34と、ROM、RAM等のメモリ35とを有する。コンテンツストレージデバイス31およびコンテンツサーバーアプリケーション33は、図示しないハードディスクによって構成または格納される。コンテンツストレージデバイス31は、コンテンツを格納し、あるいはコンテンツが後述する所定の分割数で分割された部分コンテンツを格納する。コンテンツインターフェース32は、外部から受信したコンテンツおよびコンテンツ情報をコンテンツストレージデバイス31に格納し、端末装置3に部分コンテンツを送信するためのインターフェースである。コンテンツサーバーアプリケーション33は、センターサーバー4からの指示に基づいて、コンテンツを複数の部分コンテンツに分割し、コンテンツストレージデバイス31に格納する。さらに、コンテンツサーバーアプリケーション33は、各部分コンテンツをそれぞれ異なる端末装置3に送信する。
端末装置3の構成を図4に示す。端末装置3は、ダウンローダ41と、ローカルストレージデバイス42と、再生アプリケーション43と、端末アプリケーション44と、動作通知インターフェース45と、コンテンツ通知インターフェース46と、全体の動作を制御するマイコン47と、ROM、RAM等のメモリ48とを有する。ダウンローダ41は、コンテンツサーバー5または他の端末装置3から部分コンテンツを受信する。ローカルストレージデバイス42は、ハードディスクによって構成され、受信された部分コンテンツおよび部分コンテンツのコンテンツ情報を格納する。再生アプリケーション43は、ローカルストレージデバイス42から所望のコンテンツを読み出し、そのコンテンツに基づいて映像、音楽および/または静止画を再生する。端末アプリケーション44は、自身の動作状態情報を動作通知インターフェース45を介してセンターサーバー4に通知し、自身が格納した部分コンテンツのコンテンツ情報をコンテンツ通知インターフェース46を介してセンターサーバー4に通知する。さらに、端末アプリケーション44は、図6、図7に示す各種処理を実行する。
次に、コンテンツ配信システムの配信方法について図5〜図9のフロチャートを用いて説明する。まず、コンテンツ配信方法の概略について説明する。センターサーバー4は、コンテンツの分割数を算出する。コンテンツサーバー5は、センターサーバー4が算出した分割数に基づいてコンテンツを分割数分の部分コンテンツに分割する(図5)。端末装置3は、自身の動作状態が変化した場合、センターサーバー4に動作状態情報を通知する。センターサーバー4は端末装置3の動作状態情報を受信して管理する。コンテンツサーバー5は、部分コンテンツを端末装置3に送信する(図6)。端末装置3は部分コンテンツを受信して格納し、他の端末装置から自身が格納していない部分コンテンツを受信し、他の端末装置に自身が格納する部分コンテンツを送信する(図7〜図9)。以下、詳細に説明する。
図5は、サーバーシステム2のコンテンツ分割動作を示す。S501において、センターサーバー4は、コンテンツサーバー5が接続されている通信回線X、すなわちコンテンツサーバー5が部分コンテンツを送信する通信回線Xの帯域(回線容量)(bit per second)を設定する。この値は、代表的にはセンターサーバー4の管理者によって入力されるものであるが、センターサーバー4が自動的に設定するようにしても構わない。
S502において、センターサーバー4は、コンテンツサーバー5から端末装置3に部分コンテンツを送信する際の転送レート(bit per second)を設定する。すなわち、コンテンツサーバー5が接続された通信回線Xにおける実際の転送レートが設定される。この値は、代表的にはセンターサーバーの管理者によって入力されるものであるが、センターサーバーが自動的に設定するようにしてもよい。
S503において、センターサーバー4は、S501で設定した通信回線Xの帯域aと、S502で設定した転送レートbとに基づいて、コンテンツの分割数を算出する。具体的には、センターサーバー4は、通信回線Xの帯域aを転送レートbで除算して、分割数(整数)を算出する。すなわち、コンテンツの分割数Pは、P=a/bで表される。例えば、通信回線Xの帯域aが40Mbpsであり、転送レートbが5Mbpsである場合には、コンテンツの分割数Pは8となる。
S504において、センターサーバー4は、コンテンツをS503で算出した分割数で分割した場合に、分割後の部分コンテンツのサイズが、端末装置3が管理できるサイズであるかを判断する。具体的には、センターサーバー4は、コンテンツの全体サイズを確認し、当該コンテンツサイズを分割数で除算し、部分コンテンツ当たりのサイズを算出する。そして、部分コンテンツのサイズが、端末装置3が管理可能なサイズ以上であるかを判断する。端末装置3が管理可能なサイズとは、例えば、32bitのOS(operating system)が管理可能な1ファイル当たりの最大サイズである。部分コンテンツのサイズが、端末装置が管理可能なサイズ以上である場合には、コンテンツの分割数をS503で算出した分割数よりも増加させる。例えば、端末装置が管理可能なサイズが2GBであり、コンテンツの分割数が8であるとする。コンテンツのサイズが12GBである場合には、部分コンテンツのサイズは1.5GBとなり、端末装置の管理可能なサイズ未満であるので、分割数は8に決定される。一方、コンテンツのサイズが32GBの場合には、部分コンテンツのサイズは4GBとなり、端末装置の管理可能なサイズ以上であるので、センターサーバー4は、部分コンテンツのサイズが端末装置の管理可能なサイズ未満になるように、コンテンツの分割数を増加させ、例えば20に決定する。
S505において、センターサーバー4は、S503およびS504で算出した分割数に基づいて、コンテンツを分割するようにコンテンツサーバー5に指示する。具体的には、センターサーバー4はコンテンツサーバー5に、分割するコンテンツのコンテンツIDおよび分割数を含む分割コマンドを送信する。コンテンツサーバー5は、センターサーバー4からの分割コマンドに応答して、指示されたコンテンツをコンテンツストレージデバイス31から読み出し、指示された分割数の部分コンテンツに分割する(代表的には均等のサイズに分割する)。そして、コンテンツサーバー5は、コンテンツストレージデバイス31に部分コンテンツを格納する(S551)。その際に、コンテンツサーバー5は、各部分コンテンツに部分コンテンツID(Z1〜Z8)をアドレスの順番に付与する(S552)。S553において、コンテンツサーバー5は、センターサーバー4にコンテンツを分割完了した旨の動作状態情報を通知する(S553)。センターサーバー4は、動作状態情報通知に応答して、例えば、コンテンツZの分割数8をコンテンツ分割数テーブルに登録する(S506)。
以上のように、コンテンツの分割数は、通信回線Xの帯域とコンテンツサーバー5からの実際の転送レートとに基づいて算出されているので、コンテンツサーバー5は部分コンテンツを端末装置3に一斉に送信することができる。例えば、転送レート5Mbpsで8つの部分コンテンツを一斉送信しても、通信回線Xの帯域40Mbpsを越えないからである。すなわち、コンテンツサーバー5は、通信回線Xの帯域について、最大限の分割数でコンテンツを分割して端末装置3に一斉に送信する。そのため、各端末装置3が部分コンテンツを格納し終わるまでの時間が短くなるので、次の端末装置間での部分コンテンツの送受信処理に移行するまでの時間を短縮できる。なお、S504で分割数を増加させた場合には、S503で算出された分割数の部分コンテンツのみを端末装置に一斉に送信する。
図6は、サーバーシステム2から端末装置3に部分コンテンツを送信する動作を説明するフローチャートである。S601〜S604において、部分コンテンツが送信される端末装置3を特定する。具体的には、S601において、センターサーバー4は、コンテンツサーバー5からの伝送効率が最高の通信条件を有する端末装置3を特定する。すなわち、センターサーバー4はサーバー伝送効率テーブルを参照して、コンテンツサーバー5からの伝送効率が最高の通信条件として通信事業者B(伝送効率:10)を特定する。センターサーバー4は、端末情報テーブルを参照して、通信条件が通信事業者Bである6台の端末装置A,B,D,F,G,Hを特定する。
S602において、図5で算出したコンテンツの分割数がS601で特定した端末装置の数以下であるかを判断する。本例では、コンテンツの分割数が8であり、特定した端末装置の数6よりも大きいので、S603において、センターサーバー4は、コンテンツサーバー5からの伝送効率が次に高い通信条件を有する端末装置3を特定する。具体的には、センターサーバー4は、コンテンツサーバー5からの伝送効率が次に高い通信条件として通信事業者C(伝送効率:50)を特定する。センターサーバー4は、端末情報テーブルを参照して、通信条件が通信事業者Cである3台の端末装置C,E,Jを特定する。S602において、コンテンツの分割数8がS601およびS603で特定した端末装置の総数9以下になるので、S604に進む。
S604において、センターサーバー4は、S601およびS603で特定した9台の端末装置の中から、コンテンツの分割数(8台)の端末装置に絞り込む。具体的には、センターサーバー4は、S603で後から特定した3台の端末装置C,E,Jの中から、端末情報テーブルの最後段に登録されている端末装置Jを除外する。その結果、センターサーバー4は、8台の端末装置A,B,C,D,E,F,G,Hを特定する。
S605において、センターサーバー4は各端末装置A〜Hに部分コンテンツ受信を指示する。具体的には、センターサーバー4は各端末装置A〜Hに、コンテンツサーバー5のIPアドレスおよびそれぞれ異なる部分コンテンツの部分コンテンツIDを含むコンテンツ受信コマンドを送信する。なお、端末装置と部分コンテンツとの組合せは本例では特に限定されない。端末装置は、部分コンテンツ受信コマンドに応答して(S671)、指示された部分コンテンツをコンテンツサーバー5に要求する(S672)。具体的には、端末装置は部分コンテンツの部分コンテンツIDを含むコンテンツ要求コマンドをコンテンツサーバーに送信する。コンテンツサーバー5は、コンテンツ要求コマンドに応答して、端末装置に要求された部分コンテンツを送信する。各端末装置A〜Hからほぼ同時に部分コンテンツ要求を受けるので、コンテンツサーバー5は、各端末装置A〜Hに対して、それぞれ異なる部分コンテンツZ1〜Z8を一斉に(ほぼ同時に)送信する。一斉送信することにより、各端末装置A〜Hが部分コンテンツを受信し格納し終わるまでの時間を短縮できる。一斉送信できるのは、図5のS501〜S503において、通信回線Xの帯域とセンターサーバー5からの転送レートとに基づいてコンテンツの分割数を決定しているからである。端末装置3は、部分コンテンツを受信し、ローカルストレージデバイス42に格納し、センターサーバーに動作状態情報(受信完了、待機中)を通知する(S673)。センターサーバー4は、端末装置3から動作状態情報を受信し、端末情報テーブルを更新する(S606)。具体的には、センターサーバー4は、端末情報テーブルの動作状態情報を待機中に更新し、部分コンテンツID欄に端末装置が格納した部分コンテンツの部分コンテンツIDを登録する。
表5は、端末装置3がコンテンツサーバー5から部分コンテンツを受信および格納した後に、更新された端末情報テーブルを示す。
Figure 0004626395
表5に示すとおり、端末装置A〜Hにはそれぞれ異なる部分コンテンツが格納されている。この後、各端末装置は、自身が未だ格納していない部分コンテンツを他の端末装置から受信して格納するが、好ましくは、既に格納済の部分コンテンツに隣接する(直前および/または直後の)部分コンテンツを格納する。端末装置ごとに他の端末装置から受信する部分コンテンツが異なり、他の端末装置に送信する部分コンテンツが異なる。しかも、コンテンツ全体を送信するのではなく、部分コンテンツごとに送信するので、端末装置間での部分コンテンツの送受信が完了するまでの時間が短い。従って、一部の端末装置のみに部分コンテンツの送信処理が集中することがないので、端末装置の負荷を分散し、軽減することができる。例えば、端末装置Aであれば、部分コンテンツZ2を端末装置Hから受信するか、または部分コンテンツZ4を端末装置Fから受信する。端末装置Dであれば、部分コンテンツZ6を端末装置Cから受信するか、または部分コンテンツZ8を端末装置Gから受信する。
図7は、端末装置間の部分コンテンツ送受信を説明するフローチャートである。S701において、端末装置Aは動作状態情報をセンターサーバー4に通知する。ここでは、端末装置Aは、待機中が一定時間継続した後に、通信可能状態であることをセンターサーバー4に通知する。部分コンテンツ受信指示をセンターサーバー4に促すためである。S731において、センターサーバー4は、端末装置Aから動作状態情報を受信して、端末情報テーブルの動作状態情報欄を更新する。S732において、センターサーバー4は、端末装置Aから受信した動作状態情報が通信可能状態であるかを判断する。動作状態情報が通信可能状態ではなく、例えば通信中である場合には、センターサーバー4は端末装置Aにコンテンツ受信を指示することなく、次の動作状態情報を受信するまで待機する(S732:NO)。通信可能状態でない端末装置にコンテンツ受信を指示しないことにより、端末装置の負荷が増大することを防止することができる。本例では、動作状態情報が通信可能状態であるので(S732:YES)、センターサーバー4は端末装置Aが受信する部分コンテンツおよび端末装置Aに部分コンテンツを送信する端末装置を特定する部分コンテンツ特定処理を実行する(S733)。
部分コンテンツ特定処理(S733)の詳細を図8に示す。S801において、センターサーバー4は、コンテンツ受信を指示する端末装置Aを特定して、端末情報テーブルに登録された端末名Aの欄を照合する。センターサーバー4は、端末装置Aが格納する部分コンテンツがZ2〜Z4であると判断する。S802において、センターサーバー4は、端末装置Aが受信して格納すべき部分コンテンツを特定する。すなわち、端末装置Aが既に格納する部分コンテンツの直前または直後に隣接する部分コンテンツを特定する。
S802の詳細を図9に示す。S901において、センターサーバー4は、端末装置Aが格納する部分コンテンツのうち、最小アドレスを有する(部分コンテンツIDが最小である)部分コンテンツZ2を特定する。すなわち、最前の部分コンテンツZ2を特定する。S902において、センターサーバー4は、部分コンテンツZ2の直前の部分コンテンツIDが付与された部分コンテンツ(部分コンテンツZ2の直前のアドレスを有する部分コンテンツ)Z1が存在するかをコンテンツ分割数テーブルを参照して判断する。すなわち、コンテンツ分割数テーブルを参照すると、コンテンツZの分割数が8であり、部分コンテンツZ1〜Z8が存在するので、センターサーバー4は、S903において、部分コンテンツZ2の直前の部分コンテンツIDが付与された部分コンテンツとして、部分コンテンツZ1を特定する。
同様にS904において、センターサーバー4は、端末装置Aが格納する部分コンテンツのうち、最大アドレスを有する(部分コンテンツIDが最大である)部分コンテンツZ4を特定する。S905において、センターサーバー4は、部分コンテンツZ4の直後の部分コンテンツIDが付与された部分コンテンツ(部分コンテンツZ4の直後のアドレスを有する部分コンテンツ)Z5が存在するかをコンテンツ分割数テーブルを参照して判断する。すなわち、コンテンツZの分割数が8であり、部分コンテンツZ1〜Z8が存在するので、センターサーバー4は、S906において、部分コンテンツZ4の直後の部分コンテンツIDが付与された部分コンテンツとして、部分コンテンツZ5を特定する。
なお、例えば、端末装置Aが部分コンテンツZ3〜Z8を既に格納している場合には、S905において部分コンテンツZ9は存在しないと判断され、直前の部分コンテンツZ2のみが特定される。
図8に戻って、S803において、センターサーバー4は、端末装置AがコンテンツZの部分コンテンツZ1〜Z8を全て格納済であるかを判断する。具体的には、図9において端末装置Aが格納する部分コンテンツに直前または直後に隣接する部分コンテンツを特定できたかを判断し、特定できなければ全ての部分コンテンツを格納済であると判断する。部分コンテンツの全てを格納していれば(S803:YES)、センターサーバー4は、端末情報テーブルの端末装置Aの動作状態情報を待機中に更新して(S808)、動作を終了する。本例では、端末装置Aは部分コンテンツの全てを未だ格納していないので(S803:NO)、S804に進む。
S804において、センターサーバー4は、S802において特定した部分コンテンツZ1および/またはZ5を格納する端末装置を、表1の端末情報テーブルの部分コンテンツIDを参照して特定する。本例では、センターサーバー4は、端末装置Bが部分コンテンツZ1を格納し、端末装置C、EおよびFが部分コンテンツZ5を格納していると判断する。
S805において、センターサーバー4は、S804で特定した端末装置のうち動作状態情報が待機中のものに限定する。すなわち、端末装置Aに部分コンテンツを送信する端末装置として、動作状態情報が待機中以外の端末装置を除外する。これは、待機中でない端末装置が部分コンテンツを送信して端末装置の負荷が増大することを防止するためである。具体的には、センターサーバー4は、端末情報テーブルの動作状態情報を参照して、待機中である端末装置B,EおよびFを特定し、通信中である端末装置Cを除外する。
S806において、センターサーバー4は、S805で動作状態情報が待機中である端末装置を特定できたかを判断する。待機中である端末装置を特定できない場合には(S806:NO)、S808においてセンターサーバー4は、端末装置Aの動作状態情報を待機中に更新して、終了する。すなわち、センターサーバー4は、端末装置Aが次に格納すべき部分コンテンツを格納する端末装置の中で、待機中のものがなければ部分コンテンツの送受信を端末装置に指示しない。本例では、待機中である端末装置を特定できるので(S806:YES)、S807に進む。
S807〜S813では、端末装置Aが受信すべき部分コンテンツZ1またはZ5を格納する端末装置が複数存在する場合に、端末装置Aに部分コンテンツを送信する端末装置を以下の条件に基づいて1つに絞り込む。S807において、部分コンテンツZ1またはZ5を格納する端末装置が複数存在するかを判断する。本例では、複数の端末装置B,E,Fが存在するので、S809に進む。
S809において、センターサーバー4は、端末装置Aに部分コンテンツを送信する際の伝送効率が最高の端末装置を、端末装置Aに部分コンテンツを送信する端末装置として特定する。端末装置Aが部分コンテンツを格納し終わるまでの時間を短縮できるからである。センターサーバー4は、端末伝送効率テーブルおよび端末情報テーブルを参照して、端末装置B,F(通信事業者B)から端末装置A(通信事業者B)に部分コンテンツを送信する際の伝送効率が、端末装置E(通信事業者C)から端末装置Aに部分コンテンツを送信する際の伝送効率よりも高いと判断する。従って、センターサーバー4は、端末装置Aに部分コンテンツを送信する端末装置として、端末装置B,Fを特定する。S810において、S807と同様に端末装置Aに部分コンテンツを送信する端末装置を複数特定しているかを判断する。本例では、複数の端末装置B,Fを特定しているので、S811に進む。
S811において、センターサーバー4は、コンテンツZについて部分コンテンツ格納数が最大の端末装置を、部分コンテンツを送信する端末装置として特定する。部分コンテンツ格納数の多い端末装置は、今後他の端末装置から部分コンテンツを受信し格納する回数が少ない。そのため、部分コンテンツ格納数の多い端末装置から優先的に部分コンテンツを受信する。逆に部分コンテンツ格納数の少ない端末装置は、可能な限り部分コンテンツの送信元にはならず、部分コンテンツの送信先となる。これにより、全ての端末装置が部分コンテンツ全体を格納し終わるまでの時間を短縮することができる。本例では、センターサーバー4は、端末情報テーブルを参照して、端末装置Aに部分コンテンツを送信する端末装置として、端末装置Fを特定する。S812において、複数の端末装置が特定されていないので、最終的に端末装置Fが特定される。
なお、S811で端末装置を特定した結果、複数の端末装置が特定されている場合(S812:YES)、S813において、センターサーバー4は端末情報テーブルの最前段に登録されている(最初に検索される)端末装置を、部分コンテンツを送信する端末装置として特定する。
図7に戻って、S734において、センターサーバー4は、S733で特定した部分コンテンツを受信するように端末装置Aに指示する。具体的には、センターサーバー4は、受信すべき部分コンテンツの部分コンテンツID(Z5)、および当該部分コンテンツを送信する端末装置FのIPアドレスを含む、部分コンテンツ受信コマンドを端末装置Aに送信する。端末装置Aは、部分コンテンツ受信コマンドを受信し(S702)、センターサーバー4に動作状態情報(通信中)を通知する(S703)。センターサーバー4は、動作状態情報を受信し、端末情報テーブルの端末装置Aの動作状態情報を通信可能状態から通信中に更新する(S735)。
S704において、端末装置Aは、端末装置Fに部分コンテンツを要求する。具体的には、端末装置Aは、受信すべき部分コンテンツの部分コンテンツID(Z5)を含む部分コンテンツ要求コマンドを端末装置Fに送信する。端末装置Fは、部分コンテンツ要求コマンドを受信して(S751)、センターサーバー4に動作状態情報(通信中)を通知する(S752)。センターサーバー4は、動作状態情報を受信し、端末情報テーブルの端末装置Fの動作状態情報を待機中から通信中に更新する(S736)。端末情報テーブルの端末装置A,Fの動作状態情報が通信中になるので、端末装置A,Fはセンターサーバー4から他の受信指示が与えられることはない。従って、端末装置A,Fの負荷が増大することを防止できる。
S753において、端末装置Fは端末装置Aに部分コンテンツZ5を送信する。端末装置Aは端末装置Fから部分コンテンツZ5を受信し、ローカルストレージデバイス42に格納する(S705)。端末装置Fは、端末装置Aに部分コンテンツZ5を送信完了すれば、センターサーバー4に動作状態情報(待機中)を通知し(S754)、センターサーバー4は動作状態情報を受信し、端末情報テーブルの端末装置Fの動作状態情報を通信中から待機中に更新する(S737)。同様に、端末装置Aは、端末装置Fから部分コンテンツZ5を受信および格納完了すれば、センターサーバー4に動作状態情報(受信完了,待機中)を通知し(S706)、センターサーバー4は動作状態情報を受信し、端末情報テーブルの端末装置Aの動作状態情報を通信中から待機中に更新する(S737)。端末情報テーブルの端末装置A,Fの動作状態情報が待機中になるので、センターサーバー4は、別の部分コンテンツ特定処理S733において、端末装置A,Fを特定できるようになる。また、センターサーバー4は、端末装置Aからの動作状態情報通知に応答して、端末情報テーブルの部分コンテンツID欄にZ5を追加するよう更新する。そのため、端末装置Aは、次に部分コンテンツZ1またはZ6を受信指示されることになる。さらに、端末装置A,Fは待機中を所定時間継続した後に、再びセンターサーバー4に動作状態情報(通信可能状態)を通知するので、端末装置A,Fは部分コンテンツを他の端末装置からさらに受信し格納することができる。全ての端末装置がこれらの処理を繰り返し、自身が未だ格納していない部分コンテンツを順次格納していくことにより、最終的には全ての端末装置が部分コンテンツの全てを格納することができる。
以上のように、本実施形態では、コンテンツサーバーが部分コンテンツをそれぞれ異なる端末装置に送信した後、端末装置が自身が格納する部分コンテンツの前後の部分コンテンツを他の端末装置から受信し格納する。そのため、コンテンツサーバーおよび1つの端末装置に負荷が集中することを防止できる。さらにセンターサーバーが部分コンテンツを送信する端末装置を端末情報テーブルに基づいて特定しているので、端末装置の負荷をさらに良好に低減できる。
次に、本発明の別の好ましい実施形態について説明するが、前の実施形態と同一部分については説明を省略する。本例では、センターサーバー4は、全端末装置A〜Hが格納している部分コンテンツに関して、前側(先頭側、すなわちZ1側)の部分コンテンツと後側(末尾側、すなわちZ8側)の部分コンテンツとのどちらがより多く未だ取得されていないかを判断して、より多く取得されていない側の部分コンテンツを端末装置Aが取得する部分コンテンツとして特定する。これにより、各端末装置が、システム全体に亘って、前側または後側のどちらか一方に偏って、部分コンテンツを取得しないようにすることができる。
本例の端末情報テーブルは表6に示す通り、表1の構成に加えて、前側残り数、後側残り数、および差分値を含んでいる。これらの値は、端末装置から受信してもよく、または、センターサーバー4が端末情報テーブルの部分コンテンツIDの欄を基にして算出してもよい。
Figure 0004626395
前側残り数は、端末装置が未だ格納していない部分コンテンツのうち、前側(先頭側、部分コンテンツZ1側)の部分コンテンツの個数である。後側残り数は、端末装置が未だ格納していない部分コンテンツのうち、後側(末尾側、部分コンテンツZ8側)の部分コンテンツの個数である。差分値は、未だ格納していない部分コンテンツのうち、前側または後側のどちらが多く残っているかを表すものであり、「差分値」=「前側残り数」−「後側残り数」で表される。差分値がプラスの値であるとき、未だ格納していない部分コンテンツのうち、前側の部分コンテンツの残り数が後側の部分コンテンツの残り数より多いことを表す。一方、差分値がマイナスの値であるとき、未だ格納していない部分コンテンツのうち、後側の部分コンテンツの残り数が前側の部分コンテンツの残り数より多いことを表す。例えば、端末装置Aは、部分コンテンツZ2〜Z4を有しているので、前側残り数は1、後側残り数は4、差分値は−3となる。
次に、本例の動作を図10のフローチャートを参照して説明する。図8と同一処理には同一符号を付し、説明を省略する。図10では、S1001〜S1006の処理が追加されている。S807において、センターサーバー4は、部分コンテンツZ1またはZ5を格納する端末装置として、複数の端末装置B,E,Fを特定するので、S1001に進む。センターサーバー4は、全端末装置A〜Hの差分値の合計を算出して、当該値に基づいて、端末装置Aに部分コンテンツを送信する端末装置を絞り込む(S1001)。具体的には、全端末装置の差分値の合計がプラスの値であれば、センターサーバー4は、端末装置A〜H全体にわたり、前側の部分コンテンツの残り数が後側の部分コンテンツの残り数より多いと判断する。その結果、センターサーバー4は、端末装置Aが前側の部分コンテンツであるZ1を格納すべきと判断し、かつ、部分コンテンツZ1を格納する端末装置を端末装置B、E、Fの中から特定する。一方、差分値の合計がマイナスの値であれば、センターサーバー4は、端末装置A〜H全体にわたり、後側の部分コンテンツの残りが前側の部分コンテンツの残り数より多いと判断する。その結果、センターサーバー4は、端末装置Aが後側の部分コンテンツであるZ5を格納すべきと判断し、かつ、部分コンテンツZ5を格納する端末装置を端末装置B、E、Fの中から特定する。本例では、差分値の合計が4であるので、前側の部分コンテンツZ1を格納する端末装置Bを特定する。S1002において、センターサーバー4は端末装置を特定できたと判断し(S1002:YES)、複数の端末装置を特定していないと判断するので(S1003:NO)、端末装置Bから端末装置Aに部分コンテンツZ1を送信することを特定する。なお、センターサーバー4は、複数の端末装置を特定している場合(S1003:YES)、S809に進み、端末装置をさらに絞り込む。
一方、例えば、部分コンテンツZ1を格納する端末装置が存在せず、S1002で端末装置を特定できなかったと判断されると、センターサーバー4は、S801で特定した端末装置A自身の差分値に基づいて、端末装置Aに部分コンテンツを送信する端末装置を特定する(S1004)。具体的には、端末装置Aの差分値がプラスの値であれば、センターサーバー4は、端末装置Aについて、前側の部分コンテンツの残り数が後側の部分コンテンツの残り数より多いと判断する。その結果、センターサーバー4は、端末装置Aが前側の部分コンテンツであるZ1を格納すべきと判断し、かつ、部分コンテンツZ1を格納する端末装置を端末装置B、E、Fの中から特定する。一方、端末装置Aの差分値がマイナスの値であれば、センターサーバー4は、端末装置Aについて、後側の部分コンテンツの残り数が前側の部分コンテンツの残り数より多いと判断する。その結果、センターサーバー4は、端末装置Aが後側の部分コンテンツであるZ5を格納すべきと判断し、かつ、部分コンテンツZ5を格納する端末装置を端末装置B、E、Fの中から特定する。本例では、差分値が−3であるので、後側の部分コンテンツZ5を格納する端末装置E,Fを特定する。センターサーバー4は、端末装置を特定できたと判断し(S1005:YES)、複数の端末装置を特定したと判断する(S1006:YES)ので、S809に進み、端末装置をさらに絞り込む。なお、S1006で1つの端末装置しか特定していないと判断されると、センターサーバー4は、その端末装置を端末装置Aに部分コンテンツを送信する端末装置として特定する。さらに、S1004での処理の結果、端末装置を特定できなかったと判断されると(S1005:NO)、S808に進み、端末装置Aの動作状態を待機中に更新し、処理を終了する。
以上のように、本実施形態では、まず、全端末装置にわたり、前側の部分コンテンツまたは後側の部分コンテンツのうち、どちらの残り数が多いかを判断して、残り数が多い側の部分コンテンツを優先的に端末装置に格納させるようにしている。そのため、全端末装置にわたり、前側または後側のどちらか一方に偏って部分コンテンツが格納されることを防止できる。例えば、全端末装置にわたり、後側の部分コンテンツばかりが偏って格納されている場合、各端末装置が前側の部分コンテンツを取得する時期が重なってしまい、かつ、前側の部分コンテンツを格納する端末装置が少ないので、前側の部分コンテンツを格納する端末装置の送信処理が集中するという問題があるが、本例ではそのような問題を解決できる。次に、全端末装置の差分値に基づいて端末装置を特定できない場合、端末装置A自身について、前側または後側の部分コンテンツのうち、残り数が多い側の部分コンテンツを優先的に格納させるようにしている。従って、端末装置Aが前側または後側の一方に偏って部分コンテンツを格納することを防止できる。全ての端末装置についてこの処理を実行することによって、全端末装置にわたり、前側または後側のいずれか一方に偏って部分コンテンツが格納されることを防止できる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。例えば、S811において、部分コンテンツ格納数が最小である端末装置を特定してもよい。部分コンテンツ格納数の少ない端末装置は、格納する部分コンテンツの種類が少ないので、他の端末装置にコンテンツを送信する可能性が低い。逆に部分コンテンツ格納数の多い端末装置は、他の端末装置に部分コンテンツを送信する機会が多い。従って、部分コンテンツ格納数の多い端末装置は、他の端末装置が部分コンテンツを取得可能であるように、待機状態としておく。これにより、できるだけ多くの端末装置が他の端末装置から同時にコンテンツを受信できるので、全て端末装置にコンテンツ全体が格納されるまでの時間を短縮することができる。さらに、本例では、センターサーバーが端末装置Aに部分コンテンツを受信するように指示しているが、端末装置Fに部分コンテンツを送信するように指示して、端末装置Fが強制的に部分コンテンツを端末装置Aに送信してもよい。なお、上述した動作をコンピュータに実行させるためのプログラムが提供され、これらプログラムが記録された記録媒体が提供され得る。
本発明は、端末装置を各ユーザーの家庭内に配置し、事業者が運営するセンターサーバーおよびコンテンツサーバーから各端末装置にコンテンツを配信するコンテンツ配信事業に好適に適用され得る。
本発明の好ましい実施形態によるコンテンツ配信システムを示すブロック図である。 本発明の好ましい実施形態によるセンターサーバーを示すブロック図である。 本発明の好ましい実施形態によるコンテンツサーバーを示すブロック図である。 本発明の好ましい実施形態による端末装置を示すブロック図である。 コンテンツ分割処理を示すフローチャートである。 コンテンツサーバーから端末装置に部分コンテンツを送信する動作を示すフローチャートである。 端末装置間の部分コンテンツ送受信を示すフローチャートである。 部分コンテンツ特定処理を示すフローチャートである。 端末装置が受信すべき部分コンテンツ特定処理を示すフローチャートである。 別の実施形態による部分コンテンツ特定処理を示すフローチャートである。
符号の説明
1 コンテンツ配信システム
3 端末装置
4 センターサーバー
5 コンテンツサーバー

Claims (3)

  1. 複数の端末装置が接続可能であり、
    コンテンツが複数に分割された部分コンテンツのうち、該端末装置が受信すべき部分コンテンツとして、該端末装置が既に格納する部分コンテンツに隣接する直前および/または直後の部分コンテンツを特定する手段と、
    該端末装置に該特定した部分コンテンツを送信する他の端末装置として、該特定した部分コンテンツを格納する他の端末装置を特定する手段と
    前記各端末装置毎に、該端末装置が未だ格納していない前側の部分コンテンツの数を示す前側残り数と、該端末装置が未だ格納していない後側の部分コンテンツの数を示す後側残り数との差分値を記憶する手段とを備え、
    前記部分コンテンツを特定する手段が、全端末装置の該差分値の合計に基づいて、前記直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する、センターサーバー。
  2. 前記部分コンテンツを特定する手段が、前記他の端末装置を特定できない場合に、前記端末装置自身の前記差分値に基づいて、前記直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する、請求項に記載のセンターサーバー。
  3. 複数の端末装置が接続可能なセンターサーバーの動作方法であり、
    コンテンツが複数に分割された部分コンテンツのうち、端末装置が受信すべき部分コン
    テンツとして、該端末装置が既に格納する部分コンテンツに隣接する直前および/または
    直後の部分コンテンツを特定するステップと、
    該端末装置に該特定した部分コンテンツを送信する他の端末装置として、該特定した部
    分コンテンツを格納する他の端末装置を特定するステップと
    前記各端末装置毎に、該端末装置が未だ格納していない前側の部分コンテンツの数を示す前側残り数と、該端末装置が未だ格納していない後側の部分コンテンツの数を示す後側残り数との差分値を記憶するステップとを含み
    前記部分コンテンツを特定するステップが、全端末装置の該差分値の合計に基づいて、前記直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する、センターサーバーの動作方法。
JP2005146037A 2004-08-30 2005-05-18 センターサーバーおよびその動作方法 Expired - Fee Related JP4626395B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005146037A JP4626395B2 (ja) 2004-08-30 2005-05-18 センターサーバーおよびその動作方法
US11/184,475 US20060069778A1 (en) 2004-08-30 2005-07-19 Content distribution system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004249547 2004-08-30
JP2005146037A JP4626395B2 (ja) 2004-08-30 2005-05-18 センターサーバーおよびその動作方法

Publications (2)

Publication Number Publication Date
JP2006099723A JP2006099723A (ja) 2006-04-13
JP4626395B2 true JP4626395B2 (ja) 2011-02-09

Family

ID=36100492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005146037A Expired - Fee Related JP4626395B2 (ja) 2004-08-30 2005-05-18 センターサーバーおよびその動作方法

Country Status (2)

Country Link
US (1) US20060069778A1 (ja)
JP (1) JP4626395B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602005005820T2 (de) * 2005-09-26 2009-05-20 Alcatel Lucent Datenverteilung zu Knoten eines Telekommunikationsnetzwerkes
JP5140666B2 (ja) * 2006-06-27 2013-02-06 トムソン ライセンシング パフォーマンスを考慮した、ピアツーピア・コンテンツ・オンデマンド
US20080033725A1 (en) * 2006-07-24 2008-02-07 Liquidtalk, Inc. Methods and a system for providing digital media content
WO2009088007A1 (ja) * 2008-01-11 2009-07-16 Nec Corporation コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法およびプログラム
JP5071262B2 (ja) * 2008-06-19 2012-11-14 ブラザー工業株式会社 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム
JP5104591B2 (ja) * 2008-06-27 2012-12-19 富士通株式会社 バスシステム
US20110055312A1 (en) * 2009-08-28 2011-03-03 Apple Inc. Chunked downloads over a content delivery network
JP5238793B2 (ja) * 2010-11-17 2013-07-17 西日本電信電話株式会社 通信管理装置、通信管理方法
US8510398B2 (en) * 2010-12-10 2013-08-13 At&T Intellectual Property I, Lp Apparatus and method for managing message communication
US20150100667A1 (en) * 2013-10-08 2015-04-09 WePow, Inc. Optimizing content delivery
US9652621B2 (en) * 2014-05-15 2017-05-16 Michael E. Johnson Electronic transmission security process

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215497A (ja) * 2001-01-22 2002-08-02 Casio Comput Co Ltd インターネット接続装置及びインターネット接続方法及びプログラム
JP2003006087A (ja) * 2001-06-19 2003-01-10 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP2004054448A (ja) * 2002-07-18 2004-02-19 Nippon Telegr & Teleph Corp <Ntt> ポータルサーバによるストリームサーバ・コンテンツ選択方法,ストリーム配信のためのポータルサーバおよびそのプログラム
JP2004127168A (ja) * 2002-10-07 2004-04-22 Sony Corp 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2189119C2 (ru) * 1997-01-29 2002-09-10 Инсигма Технолоджиз Лимитед Способ передачи медиа-файлов по сети связи
US7024465B1 (en) * 1999-10-18 2006-04-04 Rose Blush Software Llc Method for queued overlap transfer of files
WO2002076003A2 (en) * 2001-03-19 2002-09-26 Imesh Ltd. System and method for peer-to-peer file exchange mechanism from multiple sources
US7209973B2 (en) * 2001-04-09 2007-04-24 Swsoft Holdings, Ltd. Distributed network data storage system and method
JP2004192147A (ja) * 2002-12-09 2004-07-08 Pentax Corp ダウンロードシステムおよびダウンロード装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215497A (ja) * 2001-01-22 2002-08-02 Casio Comput Co Ltd インターネット接続装置及びインターネット接続方法及びプログラム
JP2003006087A (ja) * 2001-06-19 2003-01-10 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP2004054448A (ja) * 2002-07-18 2004-02-19 Nippon Telegr & Teleph Corp <Ntt> ポータルサーバによるストリームサーバ・コンテンツ選択方法,ストリーム配信のためのポータルサーバおよびそのプログラム
JP2004127168A (ja) * 2002-10-07 2004-04-22 Sony Corp 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
US20060069778A1 (en) 2006-03-30
JP2006099723A (ja) 2006-04-13

Similar Documents

Publication Publication Date Title
JP4626395B2 (ja) センターサーバーおよびその動作方法
US9952940B2 (en) Method of operating a shared nothing cluster system
US7620698B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
CN102708165B (zh) 分布式文件系统中的文件处理方法及装置
US10146848B2 (en) Systems and methods for autonomous, scalable, and distributed database management
JP2004246632A (ja) データ分配サーバ、プログラム及びネットワークシステム
US8103754B1 (en) Reserving a shared volume in a multiple node data storage system
US20070220072A1 (en) Computer-readable recording medium containing database copying program, and database copying apparatus and method
JP2004185618A (ja) ピアツーピア型コンテンツブロードキャスト転送メカニズム
JP2009501456A (ja) ピア・データ転送の統合
JP2002351721A (ja) バックアップシステム、バックアップ方法、データベース装置、および、バックアップ装置
US20100070366A1 (en) System and method for providing naming service in a distributed processing system
US20080151749A1 (en) Communication system, server, communication terminal and communication method
TWI287705B (en) System and method for loading software onto a hard disk drive
US9544371B1 (en) Method to discover multiple paths to disk devices cluster wide
JP2007316837A (ja) サーバシステム
JP2005182491A (ja) 通信装置管理プログラム
CN102077186A (zh) 传送存储盘映像的方法和系统
CN110086847B (zh) 数据分发方法、介质及电子设备
US20130226969A1 (en) Data access control apparatus and data access control method
JPH11252486A (ja) ビデオサーバシステム
KR20150010242A (ko) 비대칭 파일 시스템의 데이터 복제 방법
CN109992447A (zh) 数据复制方法、装置及存储介质
JP6816511B2 (ja) セッション管理プログラム、セッション管理方法、情報処理装置、及び情報処理システム
US20060224715A1 (en) Computer management program, managed computer control program, computer management apparatus, managed computer, computer management system, computer management method, and managed computer control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100916

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: 20101012

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101025

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101227

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20110822

LAPS Cancellation because of no payment of annual fees