JP4398843B2 - 配信サーバ及び配信プログラム - Google Patents

配信サーバ及び配信プログラム Download PDF

Info

Publication number
JP4398843B2
JP4398843B2 JP2004299052A JP2004299052A JP4398843B2 JP 4398843 B2 JP4398843 B2 JP 4398843B2 JP 2004299052 A JP2004299052 A JP 2004299052A JP 2004299052 A JP2004299052 A JP 2004299052A JP 4398843 B2 JP4398843 B2 JP 4398843B2
Authority
JP
Japan
Prior art keywords
distribution
data
load
distribution server
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
JP2004299052A
Other languages
English (en)
Other versions
JP2006113735A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting 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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2004299052A priority Critical patent/JP4398843B2/ja
Publication of JP2006113735A publication Critical patent/JP2006113735A/ja
Application granted granted Critical
Publication of JP4398843B2 publication Critical patent/JP4398843B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、配信サーバ及び配信プログラムに係り、特に、配信サーバの負荷分散の最適化を図るための配信サーバ及び配信プログラムに関する。
近年では、ブロードバンドネットワーク等の普及にともない、ネットワークを介して映像を端末に配信し、見たいときに見たい映像を視聴できるサービスの必要性が高まっている。そのようなサービスを実現する技術として、例えばネットワーク上に、予め映像が蓄積された映像配信サーバを設置し、受信端末からの配信要求に応じて映像を配信する配信システム等がある。
また、受信端末の配信要求に応じて情報を配信する類似のシステムとしてウェブサーバがあるが、ウェブサーバに情報配信の要求が集中するとサーバの処理能力の限界を超えてしまうため、受信端末では情報配信するのに長い時間待たされたり、あるいは全く配信されないといった障害が発生することがある。
そのため、多数の受信端末が接続する配信サーバでは、サーバの負荷を分散又は軽減させて安定して情報配信を継続できるシステムを構築することが必要である。ここで、従来のサーバの負荷集中を解決する手段としては、クライアント(受信端末)とサーバとでデータの送受信を行うネットワーク上に負荷分散装置を利用する手法が一般的に用いられている(例えば、特許文献1参照。)。
ここで、負荷分散装置を用いた配信システムの従来例について説明する。例えば、同じコンテンツを配信可能な複数台のウェブサーバと、負荷分散装置とを設置する。負荷分散装置には、それぞれのウェブサーバのIPアドレスを登録しておくと共に、負荷分散装置自身にも1つのIPアドレスを設定し、クライアントとしての受信端末には負荷分散装置のIPアドレスを配信サーバのアドレスとして公開する。
また、負荷分散装置は、ウェブサーバの負荷状況を常に収集し、処理能力に余裕のある空きサーバを把握しておく。一方、受信端末は、負荷分散装置をウェブサーバとみなして配信要求を送信し、負荷分散装置は受け取った配信要求を空きサーバに転送する。更に、配信サーバは、配信要求に対する処理結果を負荷分散装置に出力し、負荷分散装置は要求の送信元である受信端末に結果を出力する。
このような処理により、ウェブサーバでは複数台の配信サーバを準備し、負荷分散装置により配信サーバを管理し、更にデータの送信又は受信を行うことで、アクセスが集中しても配信サーバの負荷を分散させることができる。
特開2001−236293号公報
ところで、上述のような配信システムにおいて、例えば番組コンテンツ等の映像データを配信する場合、映像を構成するデータ量はウェブサーバ等が配信するテキストデータ等と比較して極端にデータ量が多く、またそのデータを継続的に配信し続ける必要がある。
そのため、映像の配信処理は配信サーバのCPU(Central Processing Unit)使用時間やネットワーク帯域等の計算資源を大量に消費し、映像データを配信する配信サーバの負荷は高くなりやすい。そこで、映像配信サーバを構成する際には、サーバの負荷分散の技術がより重要となる。
しかしながら、映像配信サーバの場合には、従来負荷分散装置を利用することは困難である。これは、テキストデータ等の容量が少ないデータの配信であれば、負荷分散装置が配信データを受信端末に送信する処理は短時間で済み、送信処理に要する計算資源の量も少なくて済むが、映像配信の場合は、配信サーバが送信するデータが大量であり、更に継続的なデータを負荷分散装置が受信端末に転送し続けなければならないため、転送処理が負荷分散装置の計算資源等を大量に消費し、負荷分散装置自体の負荷が高くなってしまうためである。また、受信端末の接続数が多い場合にも負荷分散装置を使用すると、負荷分散装置がボトルネックとなって映像を安定して配信できなくなってしまう。
このような理由から、負荷分散装置を利用することなく映像配信サーバの負荷を分散し、配信サーバの負荷を軽減するよう制御する手段が必要である。
本発明は、上述した問題点に鑑みなされたものであり、1つの配信サーバに負荷が集中した場合に負荷が軽減するよう配信サーバの負荷を分散することにより、配信サーバの負荷分散の最適化を図るための配信サーバ及び配信プログラムを提供することを目的とする。
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
請求項1に記載された発明は、複数の受信端末からの配信要求に対応するコンテンツデータを前記配信要求のあった受信端末に配信する配信サーバにおいて、前記配信要求に対応するコンテンツデータを読み出して伝送効率や前記配信サーバの処理能力に対応させた所定のデータ量毎に分割して出力するデータ読出制御手段と、前記データ読出制御手段により得られる前記所定のデータ量毎の連続するコンテンツデータを一意に識別するための識別情報を、前記所定のデータ量毎に分割されたコンテンツデータの先頭又は最後に統一形式で付加する識別情報付加手段と、前記識別情報付加手段により得られる分割されたコンテンツデータ毎に現時点での前記配信サーバの負荷の状況を示す負荷情報を付加する負荷情報付加手段とを有し、前記負荷情報付加手段は、前記コンテンツデータの配信要求数を減らすために、現在配信している前記複数の受信端末のうち、配信を強制的に終了させたい特定の受信端末に対して実際に検出された負荷情報の値よりも極端に大きい値を付加することを特徴とする。
請求項1記載の発明によれば、識別情報及び負荷情報をコンテンツデータに付加することにより、負荷情報に基づいて受信端末側で配信サーバを変更させることができる。また、識別情報に基づいて他の配信サーバから継続したコンテンツデータを取得することができる。また、例えば、配信を中止したい受信端末には、実際の負荷情報の値よりも値を極端に大きくして、別の配信サーバへ接続し直すよう指示することができる。これにより、配信サーバ側で配信サーバへの配信要求数を調整することができ、配信サーバの負荷分散の最適化を図ることができる。
請求項に記載された発明は、複数の受信端末からの配信要求に対応するコンテンツデータを前記配信要求のあった受信端末に配信する配信サーバにおける配信プログラムにおいて、コンピュータを、前記配信要求に対応するコンテンツデータを読み出して伝送効率や前記配信サーバの処理能力に対応させた所定のデータ量毎に分割して出力するデータ読出制御手段、前記データ読出制御手段により得られる前記所定のデータ量毎の連続するコンテンツデータを一意に識別するための識別情報を、前記所定のデータ量毎に分割されたコンテンツデータの先頭又は最後に統一形式で付加する識別情報付加手段、及び、前記識別情報付加手段により得られる分割されたコンテンツデータ毎に現時点での前記配信サーバの負荷の状況を示す負荷情報を付加する負荷情報付加手段として機能させ、前記負荷情報付加手段は、前記コンテンツデータの配信要求数を減らすために、現在配信している前記複数の受信端末のうち、配信を強制的に終了させたい特定の受信端末に対して実際に検出された負荷情報の値よりも極端に大きい負荷情報の値を付加することを特徴とする。
請求項記載の発明によれば、識別情報及び負荷情報をコンテンツデータに付加することにより、負荷情報に基づいて受信端末側で配信サーバを変更させることができる。また、識別情報に基づいて他の配信サーバから継続したコンテンツデータを取得することができる。また、例えば、配信を中止したい受信端末には、実際の負荷情報の値よりも値を極端に大きくして、別の配信サーバへ接続し直すよう指示することができる。これにより、配信サーバ側で配信サーバへの配信要求数を調整することができ、配信サーバの負荷分散の最適化を図ることができる。また、特別な装置構成を必要とせず、低コストでコンテンツデータの配信処理を実現することができる。更に、プログラムをインストールすることにより、容易にコンテンツデータの配信処理を実現することができる。
本発明によれば、配信サーバの負荷分散の最適化を図ることができる。
<本発明の概要>
本発明は、サーバが配信する配信データとしてコンテンツデータにコンテンツデータの識別子とサーバの負荷の状況とを付加して送信することにより、受信端末が配信サーバの負荷状況を判断して別の負荷の軽い配信サーバに接続することで、コンテンツデータの受信を継続して行う。
以下に、本発明における配信システム、配信サーバ、受信端末、配信プログラム、及び取得プログラムを好適に実施した形態について、図面を用いて詳細に説明する。なお、本実施形態では、コンテンツデータの一例として番組を構成する長時間の映像データを配信する例を示すが、本発明におけるコンテンツデータはこの限りではなく、高音質の音声データ等の他のコンテンツデータであってもよい。
<実施形態>
図1は、本発明における映像配信システムの概要構成の一例を示す図である。図1に示す映像配信システム10は、複数の配信サーバ11−1〜11−m(m≧2)と、クライアントとしての複数の受信端末12−1〜12−n(n≧2)とを有するよう構成されている。また、配信サーバ11と受信端末12とは、例えばインターネット等の通信ネットワーク13により、データの送受信が可能な状態で接続されている。また、配信サーバ11−1〜11−mのそれぞれには、映像等のコンテンツを蓄積するための蓄積装置14−1〜14−mが接続されている。
配信サーバ11は、蓄積装置14に蓄積された映像データの中から視聴端末である受信端末12からの配信要求に対応した映像データを読み出す。更に読み出された映像データを一意に識別することが可能な識別情報としての識別子と、配信サーバ11の現時点の負荷情報とを映像データに付加した配信データを配信要求のあった受信端末11に送信する。
受信端末12は、映像配信サーバ11から配信された配信データを受信し、配信データに付加された配信サーバ11の負荷情報を取得する。また、その負荷情報に基づき必要に応じて、配信データを配信している接続中の配信サーバ12に対する接続を切断し、別の配信サーバに接続し直して、配信データと同時に取得した識別子に基づいて、既に取得した映像データの次の映像データの配信を要求する。
蓄積装置14は、それぞれが同一の映像データやコンテンツ等が蓄積されている。また、蓄積されたデータには、識別子に基づいて対応する映像データを抽出することができるような各種識別情報が蓄積されている。なお、図1では蓄積装置14は、配信サーバ11とは別体で構成されているが、配信サーバ11内に含まれていてもよい。
上述したシステム構成により、負荷情報に基づいて受信端末側で配信サーバを変更することができ、1つの配信サーバに負荷が集中した場合に負荷が軽減するよう配信サーバの負荷を分散することができる。これにより、配信サーバの負荷分散の最適化を図ることができる。
<識別子について>
ここで、上述した映像データを一意に識別可能な識別子について、具体的に説明する。上述した本発明における映像配信システム10では、配信の対象となる全ての映像データについて、送信する所定のデータ量毎に一意に識別可能な識別子を付加し、この識別子の情報に基づいて映像データの要求及び配信が行われる。なお、所定のデータ量は、伝送効率やサーバの処理能力に基づいて設定される。また、所定のデータ量は、複数の配信サーバ11−1〜11−mで共通の値を設定する。更に、識別子の内容や形式は、時間的に連続する映像データが所定のデータ量毎に分割して配信される場合には、連続する識別子を付加する必要がある。
ここで、本発明における識別子の例について図を用いて説明する。図2は、本発明における識別子の一例を示す図である。図2に示す識別子は、予め蓄積装置14に蓄積されたテレビ放送番組における映像データを連続して読み出し、配信する際の識別子の例を示している。
図2において、識別子には、映像が実際に放送されたチャンネル21と、放送年月日22と、放送時刻23と、同じ放送時刻中の通し番号24とを有する文字列で構成された識別子を示している。なお、通し番号24は、同時刻中(1秒間)の映像データを所定のデータ量で分割した際の通し番号や、同時刻中のフレーム番号等を示している。
つまり、図2の例は、103チャンネルで2004年7月6日の10時00分00秒から放送された番組を読み出した最初の映像データであることを示している。なお、この識別子の形式についても各配信サーバ11−1〜11−mで統一されている。
そのため、受信端末12は、配信サーバ11に映像データを要求するとき、この識別子を用いて映像データの要求を行い、所望する映像データを取得することができる。なお、識別子に含まれる構成、順序、形式、データ長については、この限りではない。
<負荷情報について>
次に、上述した本発明において、映像データと共に付加される負荷情報について具体的に説明する。負荷情報は、配信サーバ11が現在消費している計算資源の量を示す値である。計算資源の消費量を評価する手法については、1つに限定されず、多様な手法を用いることができる。例えば、映像データの配信を安定して継続できる配信サーバのCPU利用率を100とした場合の現在のCPU利用率の値等を用いる。
この他にも、ネットワークインタフェースの理論帯域に対する現在の配信帯域や、サーバの内部バス帯域に対する現在の利用帯域の値を負荷情報として利用することができる。ここで、ネットワークインタフェースの理論帯域とは、規格等に定められている帯域を示し、例えば10Mbps、100Mbps等の値が設定されている。なお、何れの値を利用する場合にも、映像配信を安定して継続できる計算資源の消費量を正確に評価しておくことが必要である。
<配信サーバ11の機能構成例>
次に、本発明における配信サーバ11の具体的な機能構成について、図を用いて説明する。図3は、本発明における配信サーバの機能構成の一例を示す図である。
図3に示す配信サーバ11は、配信要求受信手段31と、映像識別子認識手段32と、映像データ読出制御手段33と、識別子付加手段34と、負荷情報付加手段35と、負荷情報検出手段36と、配信データ送信手段37とを有するよう構成されている。
配信要求受信手段31は、受信端末12が送信した配信要求データを通信ネットワーク13を介して受信する。また、配信要求受信手段31は、受信した配信要求データを映像識別子認識手段32に出力する。
映像識別子認識手段32は、入力した配信要求データから、図2に示すような要求された映像データの識別子を抽出して映像データ読出制御手段33に出力する。映像データ読出制御手段33は、識別子に基づいて映像データを蓄積装置14から読み出す。また、映像データ読出制御手段33は、読み出した映像データを予め設定される適当なデータ長で分割して識別子付加手段34に出力する。
識別子付加手段34は、入力された所定のデータ量毎に分割された映像データの先頭又は最後に図2に示すように形式を統一した識別子を付加する。つまり、蓄積手段14に蓄積されている映像データを識別するための識別情報の形式が異なっている場合であっても、識別子付加手段34で形式が統一された識別子が付加される。識別子付加手段34は、識別子を付加した映像データを負荷情報付加手段35に出力する。負荷情報付加手段35は、負荷情報検出手段36にて検出される現時点での配信サーバの負荷の状況を、例えば入力したデータの先頭又は最後に付加して配信データを生成する。
なお、負荷情報付加手段35は、現在配信している受信端末毎に負荷情報の値を変更することもできるため、複数の受信端末からの配信要求数を調整するために実際に負荷情報検出手段36にて検出された負荷情報とは異なる負荷情報を付加することができる。これにより、例えば、配信を強制的に終了させたい特定の受信端末11に対して負荷情報の値が極端に大きくなるよう変更して、受信端末11が別の配信サーバへ接続し直すよう指示することができる。つまり、設定する負荷情報の値により、配信サーバ側で配信サーバに接続する受信端末の数を調整することができる。
負荷情報付加手段35は、負荷情報を付加した配信データを配信データ送信手段37に出力する。配信データ送信手段37は、映像の配信要求のあった受信端末11に対して配信データを送信する。
これにより、負荷情報に基づいて受信端末側で配信サーバを変更することで、1つの配信サーバに負荷が集中した場合に負荷が軽減するよう配信サーバの負荷を分散することができ、配信サーバの負荷分散の最適化を図ることができる。
また、集中的な負荷分散装置を使用することなく、一部の配信サーバに負荷が集中しないオンデマンド型の映像配信システムを実現することができる。
ここで、配信サーバ11が送信する配信データの構造について図を用いて説明する。図4は、配信データのデータ構造例の一例を示す図である。図4に示すように、受信端末12に送信される多重化された配信データは、データの先頭から負荷情報41と、識別子42と、映像データ43とを有している。配信サーバ11は、一度配信要求を受け付けた場合、その受信端末12から配信中止の要求が到着するまで時間的に連続する所定のデータ量毎に分割された映像データを配信する処理を継続して行うことになる。なお、図4に示すデータ構造についてはこの限りではなく、例えば映像データ43の最後に負荷情報41及び/又は識別子42を有していてもよい。
<受信端末12の機能構成例>
次に、本発明における受信端末12の具体的な機能構成について、図を用いて説明する。図5は、本発明における受信端末の機能構成の一例を示す図である。
図5に示す受信端末12は、配信サーバ決定手段51と、配信要求送信手段52と、配信データ受信手段53と、データ分離手段54と、映像復号手段55と、負荷比較手段56を有するよう構成されている。
まず、ユーザから映像配信又は映像配信中止等の要求信号が、配信サーバ決定手段51に入力される。配信サーバ決定手段51は、ユーザから入力された要求が、映像を取得するための最初の要求信号である場合には、予め設定されているサーバ群のアドレス情報の中から、配信要求のあった映像データ等を配信可能な特定の配信サーバを決定する。
なお、この時点では、配信サーバからのデータを取得していないため、負荷比較手段57からの情報はない。また、配信サーバ決定手段51は、決定された配信サーバに映像配信要求を送るために配信要求情報を配信要求送信手段52に出力する。
配信要求送信手段52は、配信サーバ決定手段51により得られる接続先情報及び配信要求情報に基づいて、対象となる配信サーバ11に対して配信要求する映像データの識別子を付加して配信要求を送信する。なお、所望する映像データの最初の配信要求時には、データ分離手段54からの識別子が入力されてないため、映像の識別子には初期値等が設定される。
次に、受信端末12は、配信サーバ11から通信ネットワーク13を介して配信された配信データを配信データ受信手段53で受信する。配信データ受信手段53で受信した配信データは、図4に示した構造の配信データである。つまり、配信データ受信手段53は、図4に示すような配信データを、要求した番組の映像データが終了するまで連続して受信することになる。
配信データ受信手段53は、受信した配信データを負荷データ分離手段54に出力する。データ分離手段54は、入力した配信データの先頭部分等に付加された負荷情報と識別子とを取り出し、識別子を配信要求送信手段52に出力し、負荷情報を負荷比較手段56に出力する。それらを負荷比較手段56に出力する。また、分離された残りの映像データは、映像復号手段55に出力する。
映像復号手段55は、入力した映像データを復号してモニタやスピーカー等に出力することでユーザに提示する。また、映像復号手段55には、受信端末12が他の配信サーバヘの再接続する動作の間に映像データの出力が途切れない程度のバッファを設けておいてもよい。
負荷比較手段56は、データ分離手段54から得られる負荷情報の値と、予め設定された負荷情報の閾値と比較する。ここで、負荷情報の閾値は、配信サーバ11が安定して映像配信を継続できるサーバ負荷の限界値に基づいて設定され、配信サーバ負荷がこの閾値を超えるとサーバ内の計算資源が枯渇し映像配信を継続することができないような状態となる値である。
負荷比較手段56は、負荷の比較の結果、負荷情報の値が閾値以下で、映像配信に影響はないと考えられる場合には、配信データ受信手段53は連続して送信された配信データをそのまま受信し続ける。また、比較の結果、負荷情報の値が閾値を超えており、映像配信を安定して継続できない可能性があると判断された場合には、まず、現在接続している配信サーバに対する接続を切断するための中止要求信号を配信サーバ決定手段51に出力し、更に他の配信サーバから続きの映像を継続して受信するため、サーバ変更信号を配信サーバ決定手段51に出力する。
配信サーバ決定手段51は、負荷比較手段56より得られる中止要求信号及びサーバ変更信号とに基づいて対応する信号を配信要求送信手段52に出力する。具体的には、配信サーバ決定手段51は、現時点で受信端末12と接続されており、映像データを配信している配信サーバ11に対して、配信中止要求を生成して配信要求送信手段52に出力する。また、配信サーバ決定手段51は、同一の映像データが配信可能な他の配信サーバを決定し、決定した配信サーバに対しての映像取得要求を配信要求送信手段52に出力する。なお、配信サーバ決定手段51における配信サーバの決定例についての説明は後述する。
また、配信サーバ決定手段51は、ユーザから直接配信中止要求が入力された場合にも、現時点で映像データを配信している配信サーバに対して配信中止要求を生成して配信要求送信手段52に出力する。
また、配信要求送信手段52は、配信サーバ決定手段51から配信中止要求を受信した場合には、対象となる配信サーバに対して配信中止要求を送信する。また、他の配信サーバに対する映像配信要求である場合は、データ分離手段54により得られる識別子の情報を更新して配信要求信号に付加して対象となる配信サーバに送信する。
具体的には、最後に受信した映像データの識別子について、その映像データに時間的に連続する映像データの識別子を計算する。なお、本実施形態においては、時間的に連続する映像データの識別子を1増加させて配信要求信号に付加する。
これにより、映像を送信している配信サーバの負荷をリアルタイムで取得し、他の配信サーバから映像データを取得すべきかを受信端末側で判断することができる。また、映像データ等のコンテンツを配信している配信サーバの負荷が高い場合には、配信データの受信処理が影響を受ける前に迅速に対応して、他の配信サーバから取得した映像データの続きのデータを取得することができる。これにより、余分なデータの送受信がなく、伝送効率も向上させることができる。
なお、他の配信サーバに接続し直す場合には、他の配信サーバとの接続が確立した後で、識別子を付加した配信要求信号により、時間的に連続する映像データの配信要求を送信してもよい。つまり、他の配信サーバでも混雑していることがあるため、事前に負荷情報のみを送信するよう配信サーバに負荷情報取得要求を送信する。
また、負荷情報のみを取得できた場合には、負荷比較手段56において、例えば予め設定された閾値との比較とは別に、複数の配信サーバに対して負荷情報取得要求をして、取得した複数の負荷情報から負荷が一番低い配信サーバを選択して配信要求を行う処理を行うこともできる。
<配信サーバの決定例>
ここで、配信サーバ決定手段51における配信サーバを決定例について説明する。決定例としては、例えば各受信端末12−1〜12−nが予め利用可能な配信サーバのアドレスの一覧表を、所定の時間間隔毎等に通信ネットワーク13を介して配信サーバ等から読み込み、その一覧表から任意の一台のサーバを決定する手法がある。
ここで、アドレスの一覧表の例について図を用いて説明する。図6は、本発明における配信サーバの一覧表の一例を示す図である。図6に示す一覧表は、映像データを識別するための識別情報としてのチャンネル番号(#ch)と、IPアドレス等の配信サーバを識別する識別情報を示すサーバ名と、アドレス情報としてのネットワークアダプタのポート番号(アドレス)等により構成されている。これらの情報は、配信要求信号に含まれるものである。なお、一覧表では、番組のジャンルや番組時間等の詳細情報も蓄積されている。
ここで、図6に示すような一覧表を用いて配信サーバを決定する場合には、配信サーバの台数が少なく、そのアドレスが殆ど変化しない場合に有効である。
なお、例えば配信サーバ12の稼働状況を常時監視し現在利用できる配信サーバの一覧表を集中的に管理する管理ホストを別途設置し、各受信端末12−1〜12−nはこの管理ホストに問い合わせるように構成することもできる。これにより、配信サーバが一時的に利用できなくなった場合やサーバのアドレスが変更になった場合にも、管理ホストが保持するサーバ一覧表だけを更新すれば即時に更新を反映させることができる。なお、受信端末12と管理ホストの間で送受信される情報は映像データの識別子及びサーバのアドレスだけでありデータ量が少ない。したがって、受信端末12が発行する一覧表の取得要求が管理ホストに集中しても管理ホストの負荷が問題とはならず、システム全体の性能に影響を与えることはない。
なお、本発明における配信サーバの決定例は、この限りではない。このように、負荷情報に基づいて受信端末が配信サーバを変更することで、1つの配信サーバに負荷が集中した場合に負荷が軽減するよう配信サーバの負荷を分散することができ、配信サーバの負荷分散の最適化を図ることができる。
ここで、上述した配信サーバ11及び受信端末12は、上述した専用の装置構成により配信サーバ11におけるコンテンツデータの配信処理、及び受信端末12におけるコンテンツデータの取得処理を行うこともできるが、各構成における処理をコンピュータに実行させることができる実行プログラムを生成し、配信サーバ11及び受信端末12について、例えば汎用のパーソナルコンピュータ、ワークステーション等にプログラムをインストールすることにより、本発明における上述の配信処理、取得処理を実現することができる。
<ハードウェア構成>
ここで、本発明における配信処理、取得処理が実行可能なコンピュータのハードウェア構成例について図を用いて説明する。図7は、本発明におけるコンテンツデータの配信処理及び取得処理が実現可能なハードウェア構成の一例を示す図である。
図7におけるコンピュータ本体には、入力装置71と、出力装置72と、ドライブ装置73と、補助記憶装置74と、メモリ装置75と、各種制御を行うCPU76と、ネットワーク接続装置77とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
入力装置71は、ユーザが操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザからのプログラムの実行等、各種操作信号を入力する。出力装置72は、本発明における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU76が有する制御プログラムにより配信サーバ11又は受信端末12における各処理の実行経過や結果等を表示することができる。
ここで、本発明において、コンピュータ本体にインストールされる実行プログラムは、例えば、CD−ROM等の記録媒体78等により提供される。プログラムを記録した記録媒体78は、ドライブ装置73にセット可能であり、記録媒体78に含まれる実行プログラムが、記録媒体78からドライブ装置73を介して補助記憶装置74にインストールされる。
補助記憶装置74は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや、コンピュータに設けられた制御プログラム等を蓄積し必要に応じて入出力を行うことができる。
CPU76は、OS(Operating System)等の制御プログラム、及びメモリ装置75により読み出され格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、コンテンツの配信及び取得における各処理を実現することができる。プログラムの実行中に必要な各種情報等は、補助記憶装置74から取得することができ、また格納することもできる。
ネットワーク接続装置77は、ネットワーク網等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラム自体を他の端末等に提供することができる。
上述したようなハードウェア構成により、特別な装置構成を必要とせず、低コストで配信処理及び取得処理を実現することができる。また、プログラムをインストールすることにより、容易に配信処理及び取得処理を実現することができる。
<配信サーバ:コンテンツデータ配信処理手順>
次に、配信サーバにおけるコンテンツデータ配信処理手順について、フローチャートを用いて説明する。図8は、コンテンツデータ配信処理手順を説明するための一例のフローチャートである。なお、以下の説明では、コンテンツデータとしての映像データを配信する一例を示すが、本発明において配信されるコンテンツデータはこの限りではない。
図8において、まず、受信端末から要求信号を受信する(S01)。次に、受信した信号がコンテンツの配信要求であるか否かを判断する(S02)。ここで、配信得要求であった場合(S02において、YES)、要求信号により要求された映像データを識別するための識別子を認識する(S03)。
次に、認識された識別子に基づいて映像データを読み出す(S04)。なお、取得した映像データは、伝送効率やサーバの処理能力等により所定のデータ量毎に分割されて配信される。分割された映像データには、その映像データがどの時間帯の情報であるか等、映像データを一意に表す識別情報としての識別子を付加する(S05)。
更に、配信サーバの現時点での負荷の状況等から負荷情報を検出し(S06)、映像データを配信する配信データに負荷情報を付加する(S07)。なお、この場合に上述したように、配信を中止したい受信端末については、実際の負荷情報を変更して、例えば負荷情報を高く設定することにより、その受信端末を他のサーバに接続させることもできる。
次に、配信データを取得要求のあった受信端末に出力する(S08)。ここで、配信を終了するかを判断する(S09)。具体的には、受信端末から要求された映像データを全て配信しているか、又は、S02において、配信要求でない要求を受信しているか(S02において、NO)で判断する。なお、S02において、配信要求でない要求は配信中止要求であると判断する。
まだ、配信終了しない場合(S09において、NO)、S04により読み出された映像データの残りの映像データについて、S05以降の処理を継続して行う。
また、S09において、配信を終了する場合(S09において、YES)、コンテンツデータ配信処理を終了する。したがって、図8の示すフローチャートでは、S04〜S08を継続して行っている最中に、S01にて中止要求を受信した場合には、未配信データが存在してもコンテンツデータ配信処理を終了する。
上述したように、コンテンツの配信を実行する実行プログラムにより、識別情報及び負荷情報をコンテンツデータに付加することで、負荷情報に基づいて受信端末側で配信サーバを変更させることができる。また、識別情報に基づいて他の配信サーバから継続したコンテンツデータを取得することができる。これにより、配信サーバの負荷分散の最適化を図ることができる。また、特別な装置構成を必要とせず、低コストでコンテンツデータの配信処理を実現することができる。更に、プログラムをインストールすることにより、容易にコンテンツデータの配信処理を実現することができる。
<受信端末:コンテンツデータ取得処理手順>
次に、受信端末におけるコンテンツデータ取得処理手順について、フローチャートを用いて説明する。図9は、コンテンツデータ取得処理手順を説明するための一例のフローチャートである。なお、以下の説明では、コンテンツデータとしての映像データを取得する一例を示すが、本発明において取得されるコンテンツデータはこの限りではない。また、図9では、発明の内容を明確にするためユーザからの直接の配信中止要求により、配信サーバ12に配信中止要求を出力する一般的な処理内容については省略する。
図9において、まず、ユーザからの映像配信要求が入力されると(S21)、予め登録された複数の配信サーバの情報から配信要求のあった映像データが配信可能な配信サーバを決定する(S22)。
次に、決定された配信サーバに配信要求を送信し(S23)、配信サーバ12から対応する配信データを受信する(S24)。なお、受信される配信データは、図4に示すようなデータ構造となっている。ここで、受信した配信データを負荷情報と、識別子と、映像データに分離する(S25)。S25により分離された映像データは、復号した後、モニタやスピーカー等に出力する(S26)。
ここで、取得すべき全ての映像データの受信が完了しているかを判断する(S27)。全ての映像データが受信完了していない場合(S27において、YES)、配信データに含まれる負荷情報と予め設定される負荷の閾値との比較を行い(S28)、現時点で接続されている配信サーバを変更するか否かを判断する(S29)。
配信サーバを変更しない場合(S29において、NO)、S24に戻り、後続の配信データを受信して上述した処理を行う。また、配信サーバを変更する場合(S29において、YES)、他の配信サーバを決定し(S30)、S25で得られた識別子から受信済みの映像データの次の映像データから取得するために識別子を設定して、配信要求信号に付加する(S31)。その後、現時点で接続され、配信データを配信している配信サーバに対し、配信中止要求を送信して新たに決定された配信サーバに配信要求を送信する(S32)。
送信後は、S24に戻り新たな配信サーバからの配信データを受信して上述した処理を行う。最後に要求した映像データの全ての受信が完了した場合(S27において、YES)、コンテンツデータ取得処理を終了する。
上述したように、コンテンツの取得を実行する実行プログラムにより、配信サーバの負荷情報に基づいて受信端末側で、配信データの取得を他の配信サーバに変更することができる。これにより、1つの配信サーバに負荷が集中した場合に負荷が軽減するよう配信サーバの負荷を分散することができ、配信サーバの負荷分散の最適化を図ることができる。また、特別な装置構成を必要とせず、低コストでコンテンツデータの取得処理を実現することができる。更に、プログラムをインストールすることにより、容易にコンテンツデータの取得処理を実現することができる。
上述したように本発明によれば、配信サーバの負荷分散の最適化を図ることができる。具体的には、配信サーバから得られる配信データに含まれる負荷情報の値が閾値を超えた場合に、配信データの切れ目等で別の配信サーバへ接続し直すことにより、1つの配信サーバに負荷が集中した場合に負荷が軽減するよう配信サーバの負荷を分散して、配信サーバの負荷分散の最適化を図ることができる。
また、受信端末は配信データに含まれる映像データを識別する識別情報としての識別子を用いて、別の配信サーバに時間的に連続する映像データの配信を要求することができる。ここで、接続し直したサーバも負荷が高く、安定した映像配信ができない場合もあり得るが、その配信サーバが配信したデータに含まれる負荷情報の値も閾値を超えていれば、再び別のサーバに接続し直すことが容易に実現できる。
また、配信サーバは、接続している端末毎に負荷情報の値を変えて送信することもできるため、配信を中止し接続を強制的に切り離したい受信端末には負荷情報の値を極端に大きくして、別のサーバへ接続し直すよう指示することができる。設定する負荷情報の値により、配信サーバ側で配信サーバに接続する受信端末の数を減らすことができる。結果として、集中的な負荷分散装置を使用することなく、一部の配信サーバに負荷が集中しないオンデマンド映像配信システムを実現することができる。
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
本発明における映像配信システムの概要構成の一例を示す図である。 本発明における識別子の一例を示す図である。 本発明における配信サーバの機能構成の一例を示す図である。 配信データのデータ構造例の一例を示す図である。 本発明における受信端末の機能構成の一例を示す図である。 本発明における配信サーバの一覧表の一例を示す図である。 本発明におけるコンテンツデータの配信処理及び取得処理が実現可能なハードウェア構成の一例を示す図である。 コンテンツデータ配信処理手順を説明するための一例のフローチャートである。 コンテンツデータ取得処理手順を説明するための一例のフローチャートである。
符号の説明
10 映像配信システム
11 配信サーバ
12 受信端末
13 通信ネットワーク
14 蓄積装置
21 チャンネル
22 放送年月日
23 放送時刻
24 通し番号
31 配信要求受信手段
32 映像識別子認識手段
33 映像データ読出制御手段
34 識別子付加手段
35 負荷情報付加手段
36 負荷情報検出手段
37 配信データ送信手段
41 負荷情報
42 識別子
43 映像データ
51 配信サーバ決定手段
52 配信要求送信手段
53 配信データ受信手段
54 データ分離手段
55 映像復号手段
56 負荷比較手段
71 入力装置
72 出力装置
73 ドライブ装置
74 補助記憶装置
75 メモリ装置
76 CPU
77 ネットワーク接続装置
78 記録媒体

Claims (2)

  1. 複数の受信端末からの配信要求に対応するコンテンツデータを前記配信要求のあった受信端末に配信する配信サーバにおいて、
    前記配信要求に対応するコンテンツデータを読み出して伝送効率や前記配信サーバの処理能力に対応させた所定のデータ量毎に分割して出力するデータ読出制御手段と、
    前記データ読出制御手段により得られる前記所定のデータ量毎の連続するコンテンツデータを一意に識別するための識別情報を、前記所定のデータ量毎に分割されたコンテンツデータの先頭又は最後に統一形式で付加する識別情報付加手段と、
    前記識別情報付加手段により得られる分割されたコンテンツデータ毎に現時点での前記配信サーバの負荷の状況を示す負荷情報を付加する負荷情報付加手段とを有し、
    前記負荷情報付加手段は、
    前記コンテンツデータの配信要求数を減らすために、現在配信している前記複数の受信端末のうち、配信を強制的に終了させたい特定の受信端末に対して実際に検出された負荷情報の値よりも極端に大きい値を付加することを特徴とする配信サーバ。
  2. 複数の受信端末からの配信要求に対応するコンテンツデータを前記配信要求のあった受信端末に配信する配信サーバにおける配信プログラムにおいて、
    コンピュータを、
    前記配信要求に対応するコンテンツデータを読み出して伝送効率や前記配信サーバの処理能力に対応させた所定のデータ量毎に分割して出力するデータ読出制御手段、
    前記データ読出制御手段により得られる前記所定のデータ量毎の連続するコンテンツデータを一意に識別するための識別情報を、前記所定のデータ量毎に分割されたコンテンツデータの先頭又は最後に統一形式で付加する識別情報付加手段、及び、
    前記識別情報付加手段により得られる分割されたコンテンツデータ毎に現時点での前記配信サーバの負荷の状況を示す負荷情報を付加する負荷情報付加手段として機能させ、
    前記負荷情報付加手段は、前記コンテンツデータの配信要求数を減らすために、現在配信している前記複数の受信端末のうち、配信を強制的に終了させたい特定の受信端末に対して実際に検出された負荷情報の値よりも極端に大きい負荷情報の値を付加することを特徴とする配信プログラム。
JP2004299052A 2004-10-13 2004-10-13 配信サーバ及び配信プログラム Expired - Fee Related JP4398843B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004299052A JP4398843B2 (ja) 2004-10-13 2004-10-13 配信サーバ及び配信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004299052A JP4398843B2 (ja) 2004-10-13 2004-10-13 配信サーバ及び配信プログラム

Publications (2)

Publication Number Publication Date
JP2006113735A JP2006113735A (ja) 2006-04-27
JP4398843B2 true JP4398843B2 (ja) 2010-01-13

Family

ID=36382217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004299052A Expired - Fee Related JP4398843B2 (ja) 2004-10-13 2004-10-13 配信サーバ及び配信プログラム

Country Status (1)

Country Link
JP (1) JP4398843B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4948147B2 (ja) 2006-12-15 2012-06-06 富士通株式会社 複合コンテンツファイルの編集方法および装置
JPWO2011024930A1 (ja) 2009-08-24 2013-01-31 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信用プログラム
EP2395710B1 (en) * 2010-06-08 2013-11-06 Alcatel Lucent Device and method for data load balancing
CN103299615A (zh) 2011-01-05 2013-09-11 汤姆逊许可公司 因特网协议网络上的视频分发系统和方法
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
JP6014338B2 (ja) * 2012-03-05 2016-10-25 日本放送協会 コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信プログラム
US20150172762A1 (en) * 2012-07-10 2015-06-18 Sharp Kabushiki Kaisha Content transmission device, content playback device, content delivery system, control method for content transmission device, control method for content playback device, data structure, control program, and recording medium

Also Published As

Publication number Publication date
JP2006113735A (ja) 2006-04-27

Similar Documents

Publication Publication Date Title
US8059560B2 (en) Tree-type network system, node device, broadcast system, broadcast method, and the like
US7903652B2 (en) System and method for peer to peer video streaming
US8166154B2 (en) Method for streaming multimedia content
US8539077B2 (en) Load distribution apparatus, load distribution method, and storage medium
US9204180B2 (en) Method, server and terminal for audio and video on demand
US9736257B2 (en) Server cluster and method for push notification service
CN109347968B (zh) 一种下载资源文件的数据块的方法、设备和系统
US20070133548A1 (en) Transmission apparatus having a plurality of network interfaces and transmission method using the same
US9866602B2 (en) Adaptive bit rates during broadcast transmission in distributed content delivery networks
US9660836B2 (en) Network topology discovery
JP2004215116A (ja) Ipルータ、通信システム及びそれに用いる帯域設定方法並びにそのプログラム
KR20070035911A (ko) 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법
JP4398843B2 (ja) 配信サーバ及び配信プログラム
JP2017525213A (ja) 効率的なピア支援ストリーミングのためのキャッシュマニフェスト
US9992140B2 (en) Electronic apparatus, server, and control method of system
US20060168293A1 (en) Method of distributing stream data and system thereof
US20090222890A1 (en) Method and apparatus for providing streaming service based on p2p and streaming service system using the same
US8737430B2 (en) Determining maximum bandwidth in a mixed version MoCA deployment
KR100823732B1 (ko) 스트리밍 서비스를 위한 컨텐츠 제공 시스템 및 그 방법
CN102439946A (zh) 数据传输方法和设备
US7844685B2 (en) Apparatus and method for performing contents distribution process
CN107396334B (zh) 无线音箱及其连接多个智能设备的方法
KR101082786B1 (ko) 프록시 서버를 이용한 컨텐츠 분배 시스템 및 방법
JP4010292B2 (ja) 通信装置およびその装置を実現するためのプログラム
CN113347137B (zh) 数据流切片的补片方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090903

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

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

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

Free format text: PAYMENT UNTIL: 20121030

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20141030

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees