JP4531723B2 - 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム - Google Patents

分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム Download PDF

Info

Publication number
JP4531723B2
JP4531723B2 JP2006161978A JP2006161978A JP4531723B2 JP 4531723 B2 JP4531723 B2 JP 4531723B2 JP 2006161978 A JP2006161978 A JP 2006161978A JP 2006161978 A JP2006161978 A JP 2006161978A JP 4531723 B2 JP4531723 B2 JP 4531723B2
Authority
JP
Japan
Prior art keywords
segments
segment
server module
buffering area
storage 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.)
Active
Application number
JP2006161978A
Other languages
English (en)
Other versions
JP2007334391A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006161978A priority Critical patent/JP4531723B2/ja
Publication of JP2007334391A publication Critical patent/JP2007334391A/ja
Application granted granted Critical
Publication of JP4531723B2 publication Critical patent/JP4531723B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラムに係り、特に、多数の端末からの要求に応じて、各端末に映像や音声などのマルチメディア情報を配送したり、あるいは、マルチメディア情報入力装置からマルチメディア情報を入力し記録媒体に蓄積したりする分散型マルチメディアサーバ装置に適用して有効な技術に関する。
例えば、従来の分散型マルチメディアサーバ装置として、下記特許文献1等に記載されたものが知られている。
図1は、従来の分散型マルチメディアサーバ装置の概略システム構成を示すブロック図である。
図1に示すように、従来の分散型マルチメディアサーバ装置1は、M個の通信サーバモジュール(11−1〜11−M)、N個の蓄積サーバモジュール(13−1〜13−N、)N個の蓄積装置(14−1〜14−N)、および、サーバモジュール間ネットワーク12を有している。なお、図1において、2は端末側ネットワーク、3−1,3−2は端末、4はマルチメディア情報入力装置である。
このシステムにおいて、1番組のマルチメディア情報は、図2に示すように、固定長のセグメントに分割され、マルチメディア情報の先頭データから成る最初のセグメント1が蓄積サーバモジュール1(13−1)の蓄積装置1(14−1)へ、2番目のデータから成るセグメント2が蓄積サーバモジュール2(13−2)の蓄積装置2(14−2)へ、というように蓄積装置1(14−11)〜蓄積装置N(14−N)を巡回しながら分散して蓄積される。
図1に示す分散型マルチメディアサーバ装置1において、マルチメディア情報の蓄積は図3に示す手順で行なわれる。
通信サーバモジュールj(j=1〜M)(11−j)は、マルチメディア情報入力装置4からの書き込み要求を受信(図3の101)すると、蓄積サーバモジュール1(13−1)に対して書き込み要求を送信(図3の102)する。
そして、マルチメディア情報入力装置4から1セグメント分のマルチメディア情報を受信(図3の103)すると、そのマルチメディア情報をセグメントの形に構成し、そのセグメントを蓄積サーバモジュール1(13−1)に送信(図3の104)する。
蓄積サーバモジュール1(13−1)は、受信したセグメントを自身の蓄積装置1(14−1)へ格納(図3の105)する。
通信サーバモジュールj(11−j)は、次に蓄積サーバモジュール2(13−2)に対して書き込み要求を送信(図3の106)し、引き続き受信した1セグメント分のマルチメディア情報(図3の107)から生成した2つ目のセグメントを蓄積サーバモジュール2(13−2)へ送信(図3の108)する。以下、対向の蓄積サーバモジュールを1つずつ巡回しながら、同様の処理を繰り返す。
一方、マルチメディア情報の配信は図4に示す手順で行なわれる。
通信サーバモジュールj(j=1〜M)(11−j)が、端末(3−1,3−2)からマルチメディア情報の読み出し要求を受信(図4の121)すると、蓄積サーバモジュール1(13−1)に対して要求されたマルチメディア情報の読み出し要求を送信(図4の122)する。
この読み出し要求を受信した蓄積サーバモジュール1(13−1)は、要求されたマルチメディア情報の先頭セグメントを自身の蓄積装置1(14−1)から読み出し(図4の123)、通信サーバモジュールj(11−j)へ送信(図4の124)する。
セグメントを受信した通信サーバモジュールj(11−j)は、そのセグメントを端末側ネットワーク上で転送できる形のマルチメディア情報に変換し、マルチメディア情報の読み出し要求を発行した端末(3−1,3−2)へ送信(図4の125)する。
通信サーバモジュールj(11−j)は、次に蓄積サーバモジュール2(13−2)に対して読み出し要求(図4の126)を送信し、受信した2つ目のセグメントを同様にマルチメディア情報に変換し、端末(3−1,3−2)へと送信(図4の129)する。
以下、対向の蓄積サーバモジュールを1つずつ巡回しながら、同様の処理を繰り返す。
このような構成、および、動作から成る分散型マルチメディアサーバ装置1には、接続端末数または分散型マルチメディアサーバ装置1への負荷が増加した場合に、通信サーバモジュール(11−1〜11−M)、または蓄積サーバモジュール(13−1〜13−N)、あるいは、その両者を増設することで柔軟に対応できるという利点がある。
なお、本願発明に関連する先行技術文献としては以下のものがある。
特許第3461278号公報
図1に示した従来の分散型マルチメディアサーバ装置は、下記(A1)、(A2)の特徴を有する。
(A1)端末(3−1,3−2)、あるいは、マルチメディア情報入力装置4との間でマルチメディア情報を送受信しているそれぞれの通信サーバモジュール(11−1〜11−M)は、他の通信サーバモジュール(11−1〜11−M)と同期をとることなく、各々が全く独立したタイミングでセグメントの読み出し要求、あるいは、書き込み要求を蓄積サーバモジュール(13−1〜13−N)に対して発行する。
(A2)各通信サーバモジュール(11−1〜11−M)は、マルチメディア情報の配信時においては、ある蓄積サーバモジュール(13−1〜13−N)に対して読み出し要求を発行し、分割された1つのマルチメディア情報のセグメントを、その蓄積サーバモジュール(13−1〜13−N)から受信した後に、次の蓄積サーバモジュール(13−1〜13−N)に対する読み出し要求の発行動作に移る。また、マルチメディア情報の蓄積時においては、ある蓄積サーバモジュール(13−1〜13−N)に対して書き込み要求を発行し、分割された1つのマルチメディア情報のセグメントを、その蓄積サーバモジュール(13−1〜13−N)へ送信した後に、次の蓄積サーバモジュール(13−1〜13−N)に対する書き込み要求の発行動作に移る。
前述の(A1)の動作においては、1つの蓄積サーバモジュール(13−1〜13−N)に対して、複数の通信サーバモジュール(11−1〜11−M)からのセグメントの読み出し、あるいは、書き込み要求が、短い時間の間に重なり、これらの要求が集中して到着する可能性がある。
例えば、ある1つの蓄積サーバモジュールi(i=1〜N)(13−i)に対して、複数の通信サーバモジュール(11−1〜11−M)からセグメントの読み出し/書き込み要求が集中した例を図5に示す。
このような事象が発生した場合、この蓄積サーバモジュールi(13−i)に、後の方の順番で到着した読み出し/書き込み要求については、その要求を発行した通信サーバモジュール(11−1〜11−M)が要求を発行してからセグメントの送信/受信を完了するまでに要する時間が、蓄積サーバモジュールi(13−i)上での読み出し/書き込み要求の集中が発生していない場合に比べて長くなる。
これは、蓄積サーバモジュールi(13−i)に読み出し/書き込み要求を受け付けてもらうまでの順番待ちの時間や、この蓄積サーバモジュールi(13−i)とサーバモジュール間ネットワーク12との間のセグメントデータの送受信が輻輳することによるセグメント転送所要時間の増大、などの理由による。
一方、前述の(A2)の動作においては、マルチメディア情報を分散型マルチメディアサーバ装置1から端末(3−1,3−2)へ配信する場合、ある番組のマルチメディア情報を端末(3−1,3−2)へ配信している通信サーバモジュール(11−1〜11−M)が、1つのセグメントを蓄積サーバモジュール(13−1〜13−N)から読み出すのに要する平均的な時間は、当該マルチメディア情報のメディアの種類によって定まる一定の時間にほぼ等しくなければならない。
この時間より遅いと、端末(3−1,3−2)へのマルチメディア情報の配信がところどころ途切れてしまい、速すぎると端末(3−1,3−2)へのマルチメディア情報の配信が蓄積サーバモジュール(13−1〜13−N)からの読み出し速度に追い付かず、通信サーバモジュール(11−1〜11−M)上でデータあふれが生じてしまう。
例えば、1秒間に29.97個の速度で映像フレームの再生が行なわれる非圧縮HDTVを扱う場合で、分散型マルチメディアサーバ装置1内で、1つの非圧縮HDTV映像フレームを1つのセグメントとして扱う場合、通信サーバモジュール(11−1〜11−M)は、蓄積サーバモジュール(13−1〜13−N)から1つのセグメントの読み出しを平均的に、1(秒)/29.97=33.3(msec)の時間で行なう必要がある。
ただし、セグメントの読み出しに要する1回ごとの時間については、通常多少のばらつきがある。これは、前述したように、蓄積サーバモジュール上での読み出し要求の集中の度合いによって、セグメントの受信を完了するまでに要する時間が変動するなどの理由による。
したがって、通常は図6に示すように、通信サーバモジュール(11−1〜11−M)の端末ネットワーク2への出口の前段に送信データバッファ20を設け、前述の時間変動にともなう蓄積サーバモジュール(13−1〜13−N)からのマルチメディアデータ読み出し速度の変動を吸収する。
すなわち、メディアの種類によって定まる一定の速度で常時送信が行なわれる端末側ネットワーク2へのデータ送信に対して、蓄積サーバモジュール(13−1〜13−N)からのセグメントの読み出しの速度がその速度より一時的に速くなったり遅くなったりしても、端末側ネットワーク2へ送出するデータが枯渇したり、あるいは、端末側ネットワーク2へのデータ送信が追い付かなくなってしまうことはなく、送信データバッファ内に滞留するデータ量が一時的に増減するだけで、マルチメディア情報の途切れや欠落のない正常なデータ配信を継続できるようにする。
通常、端末側ネットワーク2へのデータ送信を開始する前に、蓄積サーバモジュール(13−1〜13−N)からのデータの読み出しを開始し、この送信データバッファ20に予めある程度の量のマルチメディアデータを蓄えておく(以下、このデータ量を初期バッファリング量と呼ぶ)。
そして、その後で、端末側ネットワーク2へのデータ送信を開始する。これは、配信動作の途中で端末側ネットワーク2へ送出するデータが枯渇する事象を完全に防止するためである。
この初期バッファリング量は、それが多いほど、分散型マルチメディアサーバ装置1が端末(3−1,3−2)から読み出し要求を受信してからマルチメディア情報の配信を開始できるまでの応答時間が長くなり、少ないほどその応答時間は短くなる。
通常はこの応答時間は短いほど望ましく、したがって、この初期バッファリング量も少ないほど望ましい。したがって、配信動作の途中で端末側ネットワークへ送出するデータが枯渇しないことを保証できるだけの最小の初期バッファリング量を求めることが重要となる。
分散型マルチメディアサーバ装置1が、前述の(A2)の動作をする場合、この初期バッファリング量の最小値は次の(a)、(b)の値に大きく依存する。
(a)マルチメディア情報の1つのセグメントを蓄積サーバモジュール(13−1〜13−N)から読み出すのに要する時間がどの程度長くなり得るか
(b)1つの通信サーバモジュール(11−1〜11−M)が対向の蓄積サーバモジュール(13−1〜13−N)を巡回しながら継続して発行する読み出し要求について、セグメントの読み出しが完了するまでに要する時間が、メディアの種類によって定まる平均的な要求時間よりも長くなっている状態がどの程度継続するか
前述の(a)については、蓄積サーバモジュール(13−1〜13−N)に読み出し要求が最大個数集中した場合を想定し、そのときの最後尾の読み出し要求に対応するセグメントの転送が完了するまでの時間を計測するか、あるいは、蓄積サーバモジュール(11−1〜11−M)の内部挙動を解析して所要時間を算出する、などの方法で求めることができる。
前述の(b)は、図7の(i)に示すように、通信サーバモジュールi(i=1〜M)(11−i)が、蓄積サーバモジュールj(j=1〜N)(13−j)に対して発行したセグメントの読み出し要求について、蓄積サーバモジュールj(13−j)上で読み出し要求が集中したためにセグメントの受信が遅れ、さらに、図7の(ii)に示すように、次の蓄積サーバモジュール(j+1)(13−(j+1))への読み出し要求においても同様に読み出し要求の集中によるセグメントの受信遅れが生じるというように、セグメントの読み出しが完了するまでに要する時間が遅くなっている状態が継続して発生することをいう。
前述の(a)の値を求めるのが容易であるのに対して、各通信サーバモジュール(11−1〜11−M)が同期を取ることなく動作する本装置において、前述の(b)の値を求めることは困難である。
したがって、配信動作の途中で端末側ネットワーク2へ送出するデータが枯渇しないことを保証できるだけの初期バッファリング量の最小値を厳密に求めることは困難であり、通常は、初期バッファリング量を多めに取るか、あるいは、配信動作の途中でネットワークへ送出するデータが枯渇することが無いことが経験的に言える量を設定せざるを得ない、という問題がある。
次に、端末側ネットワーク2から受信したマルチメディア情報を分散型マルチメディアサーバ装置1へ書き込む場合について述べる。
書き込み動作の場合、端末側ネットワーク2から通信サーバモジュール(11−1〜11−M)へ到着するマルチメディア情報の平均的な速度に対して、蓄積サーバモジュール(13−1〜13−N)への書き込み速度が一時的に遅くなっても、端末側ネットワーク2から受信したマルチメディア情報を受信しきれなくなり欠落してしまうことが無いよう、図8に示すような、受信データバッファ21を設ける。
なお、書き込み動作の場合は、端末側ネットワーク2から通信サーバモジュール(11−1〜11−M)へ到着するマルチメディア情報の平均的な速度に対して、蓄積サーバモジュール(13−1〜13−N)への書き込み速度が速くなっても間題はない。
この受信データバッファ21については、書き込み動作の途中で、端末側ネットワーク2経由の受信データの欠落が発生しないことを保証できるための最小のバッファ容量を求める必要がある。
そして、その値は、読み出し動作の場合と同様に次の(a)、(b)の値に大きく依存する。
(a)マルチメディア情報の1つのセグメントを、蓄積サーバモジュール(13−1〜13−N)へ書き込むのに要する時間がどの程度長くなり得るか
(b)1つの通信サーバモジュール(11−1〜11−M)が、対向の蓄積サーバモジュール(13−1〜13−N)を巡回しながら継続して発行する書き込み要求について、セグメントの書き込みが完了するまでに要する時間が、メディアの種類によって定まるネットワークからの平均的なデータ受信間隔よりも長くなっている状態がどの程度継続するか
そして、書き込みの場合についても、前述の(b)の値を求めることが困難であることから、受信データバッファ21の最小容量を求めることは困難であり、通常は、バッファ容量を多めに取る、あるいは、書き込み動作の途中で受信データの欠落が生じることが無いことが経験的に言える量を設定せざるを得ないという題がある。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、分散型サーバ装置における情報アクセス方法および分散型サーバ装置において、送信データバッファの初期バッファリング量の最小値、あるいは、受信データバッファの容量の最小値を、十分に実用性のある小さい値に抑えることが可能となる技術を提供することにある。
また、本発明の他の目的は、前述の分散型サーバ装置における通信サーバモジュールを提供することにある。
また、本発明の他の目的は、前述の通信サーバモジュールをコンピュータに実行させるためのプログラムを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
本発明では、図1に示した通信サーバモジュール(11−1〜11−M)、蓄積サーバモジュール(13−1〜13−N)、および、サーバモジュール間ネットワーク12を有する分散型マルチメディアサーバ装置1において、前記課題を解決する情報へのアクセス方法、すなわち、各通信サーバモジュール(11−1〜11−M)が、蓄積サーバモジュール(13−1〜13−N)に対してマルチメディア情報のセグメントの読み出し要求や書き込み要求を発行する際の、従来とは異なる手順を提案する。
なお、本発明においては、通信サーバモジュール(11−1〜13−M)の台数Mと、蓄積サーバモジュール(13−1〜13−N)の台数Nが、M≦Nの条件を満たすものとする。
従来手法では、前述の[発明が解決しようとする課題]の(A2)、あるいは、図3、図4に記したように、各通信サーバモジュール(11−1〜11−M)は、ある1つの蓄積サーバモジュール(13−1〜13−N)に対してマルチメディア情報セグメントの読み出し/書き込み要求を発行した後、その蓄積サーバモジュール(13−1〜13−N)からのセグメントの受信、あるいは、その蓄積サーバモジュール(13−1〜13−N)へのセグメントの送信が完了するのを待って、それが完了すると新たに別の蓄積サーバモジュール(13−1〜13−N)に対するセグメント読み出し/書き込み要求を発行するという動作を繰り返す。
すなわち、対向の蓄積サーバモジュール(13−1〜13−N)を巡回しながら、読み出し/書き込み要求の発行とセグメント情報の送受信を交互に逐次的に繰り返す。
一方、本発明で提案する方式を図9、および、図10に示す。図9はマルチメディア情報の蓄積処理、図10は配信処理における提案方式である。
本発明では、各通信サーバモジュール(11−1〜11−M)は、マルチメディア情報入力装置4からの書き込み要求を受信(図9の141)、あるいは、端末i(3−i)からマルチメディア情報の読み出し要求を受信(図10の161)すると、まずシステム内の全ての蓄積サーバモジュール(13−1〜13−N)に対してマルチメディア情報セグメントの書き込み/読み出し要求を発行する(図9の143、図10の162)。
そして、全ての蓄積サーバモジュール(13−1〜13−N)へのセグメントの送信(図9の145)、あるいは、全ての蓄積サーバモジュール(13−1〜13−N)からのセグメントの受信(図10の164)が完了するのを待つ。
これが完了すると、再び全ての蓄積サーバモジュール(13−1〜13−N)に対して読み出し/書き込み要求を発行するという動作を繰り返す。
本発明は、以下の点で、従来方式より優れている。
従来方式では、セグメントの読み出し/書き込み要求の処理が完了するまでに要する時間が、蓄積サーバモジュール(13−1〜13−N)への要求の集中が原因でメディアの種類によって定まる一定の要求時間よりも遅くなると、その時間の遅れ分がそのままそれ以降に蓄積される。
したがって、対向の蓄積サーバモジュール(13−1〜13−N)を巡回しながらセグメントの読み出し/書き込み処理を続けるなかで、処理時間が遅くなる事象が継続して発生すると、処理の遅れ分の蓄積が大きくなっていく。
この処理の遅れが、図6の送信データバッファ20内のデータが枯渇したり(バッファのアンダーランと呼ぶ)、あるいは、図8の受信データバッファ21が溢れてしまう(バッファのオーバーランと呼ぶ)状態まで蓄積されてしまうと、端末i(3−i)へのマルチメディア情報の途切れのない配信や、マルチメディア情報入力装置4から受信したマルチメディア情報の正しい蓄積ができなくなってしまう。
したがって、このようなバッファのアンダーランやオーバーランが発生しないことを保証できるだけの送信データバッファ20への初期バッファリング量、あるいは、受信データバッファ21の容量を決定する必要がある。
しかし、これらの値を正確に求めることは、前述の[発明が解決しようとする課題]で述べたように困難である。
これに対して、本発明は、分散型マルチメディアサーバ装置1のサーバモジュール間ネットワーク12が、下記(条件A)さえ満足すると、下記(1)、(2)の作用・効果を得ることができる。
条件A;
セグメントの読み出し/書き込み要求が、蓄積サーバモジュール(13−1〜13−N)に対して最大個数だけ集中した場合でも、どの要求に対する処理時間も、当該マルチメディア情報のメディアの種類によって定まる平均のセグメント転送時間の上記最大個数倍より大きくなることはない。
(1)マルチメディア情報の配信動作の場合、蓄積サーバモジュール(13−1〜13−N)からのセグメントの読み出しにかかる最悪の時間が明確に定まるため、送信データバッファ20のアンダーランを防ぐことが容易になる。
(2)マルチメディア情報の蓄積動作の場合、蓄積サーバモジュール(13−1〜13−N)へのセグメントの書き込みにかかる最悪の時間が明確に定まる。このため、受信データバッファ21に必要な容量を決定することが容易になる。
以下、この点について詳細に説明する。
図11は、M個の通信サーバモジュール(11−1〜11−M)とN個の蓄積サーバモジュール(13−1〜13−N)から成る分散型マルチメディアサーバ装置1である。
図中の各点線は、各通信サーバモジュール(11−1〜11−M)が、蓄積サーバモジュール(13−1〜13−N)に対してマルチメディア情報のセグメントの読み出し/書き込み要求(以下では簡単に、セグメント要求と呼ぶ)を発行している様子を表している。
通常、各蓄積サーバモジュール(13−1〜13−N)は、受信したこれらのセグメント要求に対して何らかの順序付けを行ない、その順序に従ってこれらのセグメント要求を処理していく。すなわち、各蓄積サーバモジュール(13−1〜13−N)は、これらのセグメント要求を処理が終了するまで格納しておくキューを内部に持つと考えることができる。
図11中の要求キュー(30−1〜30−N)はこのようなキューを表している。
なお、ここでは、要求キュー内に丸印によって図示された各セグメント要求は、それより右側に図示されているセグメント要求よりも先に当該セグメントの送受信を含めた処理が完了することはないことだけを表すものとする。これ以上の具体的な処理順序や方法については規定しない。
図11の各要求キュー(30−1〜30−N)には、M個の通信サーバモジュール(11−1〜11−M)からの最大M個のセグメント要求が格納され得る。
前述の(条件A)は、このような場合でも、その要求キュー(30−1〜30−N)に格納されたM個のどのセグメント要求の処理も、当該マルチメディア情報のメディアの種類によって定まる平均のセグメント転送時間のM倍以下の時間の間に完了することを表している。
例えば、1セグメントあたり約33.3msecの時間で映像フレームを再生する非圧縮HDTVの場合、どのセグメント要求の処理も、33.3×M(msec)以内に完了するという意味である。
ここで、要求キュー(30−1〜30−N)に最小の、すなわち、1個のセグメント要求だけが格納された場合、そのセグメント要求の処理が完了するまでに要する時間は最も短くなるが、この時間は当該マルチメディア情報のメディアの種類によって定まる平均のセグメント転送時間よりも長い時間であってはならない。
また、要求キュー(30−1〜30−N)にM個のセグメントが格納された場合のM番目のセグメント要求の処理が完了するまでに要する時間が、1個のセグメント要求だけを処理するのに要する時間のM倍より大きくならないことも、普遍性のある自然な条件設定である。したがって、前述の(条件A)も普遍性のある自然な条件設定である。
ここで、通信サーバモジュール(11−1〜11−M)が、N個の蓄積サーバモジュール(13−1〜13−N)に対して発行するセグメント要求について、全ての当該セグメントの送受信処理が完了するまでに要する時間が最も長くなるのは、図11中の通信サーバモジュールM(11−M)のように、全ての蓄積サーバモジュール内の要求キュー(30−1〜30−N)において、自身が発行したセグメント要求が最後尾に格納された場合である。
この場合でも、前述の(条件A)によれば、それぞれの蓄積サーバモジュール(13−1〜13−N)へ発行された各セグメント要求は、それぞれの蓄積サーバモジュール(13−1〜13−N)において、当該マルチメディア情報のメディアの種類によって定まる平均のセグメント転送時間のM倍以内の時間に処理される。さらに、これらN個のセグメント要求は異なる蓄積サーバモジュール上で並列に処理される。
したがって、通信サーバモジュールM(11−M)が発行した全てのセグメント要求の処理が完了するまでの所要時間は、図11のような最も長い場合でも、必ず当該マルチメディア情報のメデイアの種類によって定まる平均のセグメント転送時間のM倍以内の時間に収まる。
さらに、M≦Nの条件により、この所要時間は必ず当該マルチメディア情報のメディアの種類によって定まる平均のセグメント転送時間のN倍以内の時間に収まるとも言える。
すなわち、本発明によれば、通信サーバモジュール(11−1〜11−N)は、N個の蓄積サーバモジュール(13−1〜13−N)からのN個のマルチメディア情報のセグメントの読み出し/書き込みの処理を、当該マルチメディア情報のメディアの種類によって定まる平均のセグメント転送時間のN倍以内の時間に必ず完了することができる。
図12は、この様子を図示したものである。同図中の(a)は従来方法、(b)は本発明の方法の動作を示している。
図12の横軸は、当該マルチメディア情報のメディアの種類によって定まる平均のセグメント転送時間を単位とする時間をあらわし、縦軸は、蓄積サーバモジュール(13−1〜13−4)からセグメントを受信する際の受信速度をあらわしている。なお、同図では、蓄積サーバモジュールの台数Nを4と仮定している。
図12(a)は、セグメント2、およびセグメント4の処理時間が、前述の平均のセグメント転送時間よりも多くかかっており、その影響が後続のセグメント要求の発行の遅れにつながっている例である。
本来、時刻4において、4つのセグメントの転送処理が終了し、セグメント要求5を発行しなければならないが、処理に遅れが生じている。従来方式ではこのような形で1つ1つのセグメントの転送処理の遅れが後段の処理へと蓄積していく場合がある。
これに対して、図12(b)は、N(=4)台の蓄積サーバモジュール(13−1〜13−4)に対してまとめてセグメント要求を発行し、時刻N(=4)以内に要求したN個のセグメントの転送処理が全て完了することを示している。1つ1つのセグメントの転送処理にかかる時間にはばらつきがあるものの、N個のセグメント要求を発行してからN時刻以内にはN個のセグメントの転送処理が必ず完了する。したがって、当該マルチメディア情報のメディアの種類が要求する転送レートに対して遅れのない処理が可能となる。
このような特徴をもつ本発明は、前述の[発明が解決しようとする課題]に記載した課題を以下のように解決する。
マルチメディア情報の配信時には、図13に示すように、通信サーバモジュール内に2N個のセグメントを格納できる容量を持つ送信データバッファ20を装備し、前述の初期バッファリング量をNセグメントとして、送信動作を開始する。
初期バッファリングのN個のセグメントを格納する部分を領域A、残りを領域Bとし、領域A内のセグメントを端末側ネットワーク2へ配信しながら、同時にN台の蓄積サーバモジュール(13−1〜13−N)から受信したN個のセグメントを領域Bへ格納していく。前述の理由により、領域AのN個のセグメントの配信完了よりも領域BへのN個のセグメントの受信の完了が遅くなることはない。
したがって、領域A内のセグメントの配信を完了した時点で、領域Aと領域Bの役割を入れ換え、以後も同様の処理を継続することにより、端末側ネットワーク2への途切れのない配信が可能である。
このように、N台の蓄積サーバモジュール(13−1〜13−N)に対して、わずかN個の初期バッファリングにより、端末側ネットワーク2への途切れのない配信が可能である。
また、マルチメディア情報の蓄積時には、図14に示すように、通信サーバモジュール内に2N個のセグメントを格納できる容量を持つ受信データバッファ21を装備し、端末側ネットワーク2から受信データバッファ21の領域BにN個のセグメントを受信した時点で、蓄積サーバモジュール(13−1〜13−N)へのセグメント送信を開始する。
この動作の開始後は、領域B内のセグメントを蓄積サーバモジュール(13−1〜13−N)へ送信しながら、同時に端末側ネットワーク2から受信したセグメントを領域Aへ格納していく。
セグメントの端末側ネットワーク2からの到着時間間隔に変動がなく、メディアの種類によって定まる一定の間隔で到着すると仮定した場合、前述の理由により、領域AへのN個のセグメントの受信完了よりも領域BのN個のセグメントの蓄積サーバモジュール(13−1〜13−N)への送信完了が遅くなることはない。
したがって、領域Aへのセグメントの受信を完了した時点で、領域Aと領域Bの役割を入れ換え、以後も同様の処理を継続することにより、端末側ネットワーク2からセグメントを取りこぼすことなく受信し続けることが可能である。
このように、N台の蓄積サーバモジュール(13−1〜13−N)に対して、わずか2N個のセグメントに相当する受信データバッファ21により、端末側ネットワーク2からセグメントを取りこぼすことなく受信し続けることが可能である。
なお、前述の初期バッファリング量、および、受信データバッファの容量については、必ずしも必要な量の最小値を明示するものではない。本発明の利点は、正常なシステム動作を保証できる具体的な値を明らかにすることができ、しかも、その値が十分に実用性のある小さい値に抑えられている点にある。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、送信データバッファの初期バッファリング量、および、受信データバッファの容量の値を、十分に実用性のある小さい値に抑えることが可能となる。
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図15は、本発明の本実施例の分散型マルチメディアサーバ装置の概略システム構成を示すブロック図である。
本実施例の分散型マルチメディアサーバ装置1は、端末(3−1,3−2)との通信を行ない端末インタフェースを終端する通信サーバモジュール(1〜N)(11−1〜11−N)と、マルチメディア情報を蓄積し要求に応じて読み出す蓄積サーバモジュール(1〜N)(13−1〜13−N)と、通信サーバモジュール(1〜N)(11−1〜11−N)と蓄積サーバモジュール(1〜N)(13−1〜13−N)間の通信を行なうサーバモジュール間ネットワーク12とで構成される。
この分散型マルチメディアサーバ装置1は、端末側ネットワーク2を介して端末(3、−1,3−2)および、マルチメディア情報入力装置4と接続されている。
端末(3−1,3−2)は、分散型マルチメディアサーバ装置1に対してマルチメディア情報の読み出し要求を発行し、分散型マルチメディアサーバ装置1から送られてきたマルチメディア情報を受信する。
マルチメディア情報入力装置4は、分散型マルチメディアサーバ装置に対してマルチメディア情報の書き込み要求を発行し、分散型マルチメディアサーバ装置1に蓄積したいマルチメディア情報を送信する。
端末側ネットワーク上では、トラヒックの輻輳やバーストは発生せず、マルチメディア情報は常時、メディアの種類によって定まる一定の速度で伝送されるものとする。したがって、通信サーバモジュール(11−1〜11−N)からのデータ送信速度、あるいは、通信サーバモジュール(11−1〜11−N)へのデータの到着速度も常時一定であるとする。
サーバモジュール間ネットワーク12は、任意のサーバモジュール間で情報の高速転送を行なえればよく、高速LAN、InfiniBand等、いろいろな実現方法が考えられる。この具体的な実現方法については、既知の技術を用いることができるので、ここでの詳細な説明は省略する。
各通信サーバモジュール(11−1〜11−N)は、1度に1番組のマルチメディア情報を配信、あるいは、蓄積することができる。蓄積動作の場合、端末側ネットワーク2から受信したマルチメディア情報を固定長のセグメントに分割し、それらを蓄積サーバモジュール(1〜N)(13−1〜13−N)に分配する。
配信動作の場合は、蓄積サーバモジュール(1〜N)(13−1〜13−N)から読み出したセグメントを順番につなげてマルチメディア情報として再構成した後、端末側ネットワーク2へ送信する。
また、各通信サーバモジュール(11−1〜11−N)は、図16に示すように、2N個のセグメントを格納可能な容量の送受信データバッファ22を持つ。このバッファ22は、マルチメディア情報の蓄積動作時には、端末側ネットワーク2からのデータ受信用に用いられ、一定の速度で端末側ネットワーク2から到着するマルチメディア情報に対する、蓄積サーバモジュール(13−1〜13−N)へのセグメント送信速度の変動分を吸収する役割を果たす。
また、マルチメディア情報の配信動作時には、端末側ネットワーク2へのデータ送信用に用いられ、一定の速度で端末側ネットワーク2へ送信されるマルチメディア情報に対する、蓄積サーバモジュール(13−1〜13−N)からのセグメント受信速度の変動分を吸収する役割を果たす。
この送受信データバッファ22は、N個のセグメントを格納可能な2つの領域A、領域Bに分割して使用する。使用方法の詳細は後述する。
一方、各蓄積サーバモジュール(13−1〜13−N)は、図17に示すように、通信サーバモジュール(11−1〜11−N)からのセグメント送受信要求を格納する要求キュー(30−1〜30−N)を持つ。
この要求キュー(30−1〜30−N)は、N台の全ての通信サーバモジュール(11−1〜11−N)からのセグメント送受信要求が集中した場合を想定して、N個のセグメント送受信要求を格納可能なキュー長を持つ。
各通信サーバモジュール(11−1〜11−N)からのセグメント送受信要求は、当該蓄積サーバモジュール(13−1〜13−N)に到着した順に、この要求キュー(30−1〜30−N)に格納される。
そして、蓄積サーバモジュール上の処理プロセス31によってFist Come First Served(FCFS)方式、すなわち、要求キューの先頭のセグメント要求から1つずつ順番に処理されていく。
要求キュー内のセグメント送受信要求の処理に要する時間については、下記(1)、(2)を仮定する。これらの仮定は、FCFSの処理方式において自然なものである。
(1)先頭に格納されたセグメント送受信要求が、要求キュー(30−1〜30−N)に格納されてから当該セグメントの送受信処理が完了するまでに要する時間は、当該メディアの平均のセグメント転送時間以下である。
(2)要求キュー内にk番目(1≦k≦N)に格納されたセグメント送受信要求について、要求キュー(30−1〜30−N)に格納されてから当該セグメントの送受信処理が完了するまでに要する時間は、先頭に格納されたセグメント送受信要求が要求キュー(30−1〜30−N)に格納されてからセグメントの送受信処理が完了するまでに要する時間のk倍である。
これらにより、本実施例のシステムは、前述の[課題を解決するための手段]に記載の(条件A)を満足する。
以上が、本実施例のシステム構成である。
次に、本実施例の動作について説明する。まず始めに、端末(3−1,3−2)が分散型マルチメディアサーバ装置1からマルチメディア情報の読み出しを行なう場合について説明する。
端末(3−1,3−2)と分散型マルチメディアサーバ装置1との間のデータの転送方式については、データ転送前にエンド・ツー・エンドでコネクションを確立し、そのコネクション上でデータ欠落時の再送なども含めたデータ転送を行なって端末(3−1,3−2)へのデータの到着を保証するコネクション方式、あるいは、コネクションを確立せず、ベストエフォートでデータ転送し必ずしも全てのデータの到着を保証しないコネクションレス方式の2つの方式が考えられる。
本実施例の構成において、前者のコネクション方式を採用する場合は、端末(3−1,3−2)は、以下の(手順1)、(手順2)の手順により分散型マルチメディアサーバ装置1内の任意の通信サーバモジュール(11−1〜11−N)とコネクションを確立する。
端末(3−1,3−2)と分散型マルチメディアサーバ装置1との間でコネクションレス方式のデータ転送を採用する場合は、以下の(手順3)から動作を開始する。
手順1;
端末i(i=1〜2)(3−i)から端末側ネットワーク2を経由して、任意の通信サーバモジュールj(j=1〜N)(11−j)に接続要求を行なう。
手順2;
通信サーバモジュールj(11−j)の処理能力に余裕があり、端末i(3−i)からの新規処理要求に応えられる場合、通信サーバモジュールj(11−j)は、端末i(3−i)に対して接続応答を返し、これにより、端末i(3−i)と通信サーバモジュールj(11−j)との間にコネクションが設定され、以降のマルチメディア情報配送等はこのコネクションが用いられる。
処理能力に余裕がない場合には、処理能力に余裕のある通信サーバモジュール識別子を含む接続拒否応答を端末i(3−i)に対して返す。
接続拒否応答を受信した端末i(3−i)は、接続拒否応答中に含まれていた処理能力に余裕のある通信サーバモジュール識別子に相当する他の通信サーバモジュールj’(11−j’)に対して接続要求を行なう。
手順3;
端末i(3−i)から通信サーバモジュールj(11−j)に対して、番組識別子を含むマルチメディア情報読み出し要求が行なわれる。端末i(3−i)から読み出し要求を受信した分散型マルチメディアサーバ装置1は、以下の(手順4)〜(手順8)の手順で動作する。なお、これらの手順は図10に示した読み出し動作のシーケンスと同様である。
手順4;
マルチメディア情報の読み出し要求を受けた通信サーバモジュールj(11−j)は、分散型マルチメディアサーバ装置1内の全ての蓄積サーバモジュール(1〜N)(13−1〜13−N)に対してセグメント読み出し要求を行なう。
手順5;
セグメント読み出し要求を受けた全蓄積サーバモジュール(1〜N)(13−1〜13−N)は、蓄積装置(14−1〜14−N)に蓄積しているセグメントを読み出し、通信サーバモジュールj(11−j)に転送する。このとき、各蓄積サーバモジュール(13−1〜13−N)は、他の蓄積サーバモジュール(13−1〜13−N)との同期を取る必要はない。
手順6;
通信サーバモジュールj(11−j)は、全ての蓄積サーバモジュール(1〜N)(13−1〜13−N)からセグメントを受信すると、再び全ての蓄積サーバモジュール(1〜N)(13−1〜13−N)に対してセグメント読み出し要求を行なう。
以下同様に、全蓄積サーバモジュール(13−1〜13−N)からのセグメントの読み出しを繰り返す。
手順7;
一方、端末i(3−i)に対して、通信サーバモジュールj(11−j)は、セグメントの再生時間を1周期として、蓄積サーバ(1〜N)(13−1〜13−N)から受信したセグメントを順序通りに周期的にセグメントを配送する。このとき、通信サーバモジュールj(11−j)は、他の通信サーバモジュール(11−1〜11−N)との同期を取る必要はない。
手順8;
端末i(3−i)から、通信サーバモジュールj(11−j)に対してコネクションの切断要求、あるいは、マルチメディア情報の配送終了要求があった場合、通信サーバモジュールj(11−j)は、端末i(3−i)に対して応答を返し、これにより、端末i(3−i)と通信サーバモジュールj(11−j)の間のコネクションが中断、あるいは、マルチメディア情報の配送が終了する。
本実施例では、分散型マルチメディアサーバ装置1内の全ての蓄積サーバモジュール(13−1〜13−N)へのセグメント読み出し要求の発行と、全ての蓄積サーバモジュール(13−1〜13−N)からのセグメントの受信を繰返し行なう点が特徴である。
セグメント読み出し要求の発行とセグメントの受信を蓄積サーバモジュール(13−1〜13−N)を1つずつ巡回しながら行なう従来技術とはこの点で異なっている。
図18は、本実施例における通信サーバモジュールj(11−j)のマルチメディア情報の読み出し処理を表すフローチャートである。
図18に示す(ステップSl)〜(ステップS12)に従って、前述の(手順1)〜(手順8)で述べた通信サーバモジュール(11−1〜11−N)の処理をさらに詳しく説明する。
ステップSl;
端末i(3−i)からの読み出し要求を受信する。
ステップS2;
マルチメディア情報のセグメント2N個分の容量を持つ送信データバッファ20を確保する。バッファが確保できない場合には確保できるまで待つ。
ステップS3;
送信データバッファ20を、Nセグメント分の容量ずつA、Bの2つの領域に2等分し、領域Aを端末i(3−i)へ配信するデータを格納するための配信用領域、領域Bを蓄積サーバモジュール(1〜N)(13−1〜13−N)から受信したセグメントを格納するためのセグメント受信用領域に設定する。
ステップS4;
蓄積サーバモジュール(1〜N)(13−1〜13−N)へセグメントの読み出し要求を発行する。
ステップS5;
蓄積サーバモジュール(1〜N)(13−1〜13−N)から合計N個のセグメントを受信し、それらを送信データバッファ20の受信用領域に格納する。なお、番組の最終セグメントを含む場合、必ずしもちょうどN個のセグメントを受信するとは限らないが、この場合の処理方法はここでは規定しない。
ステップS6;
既に、後述の「セグメントの端末への配信処理」を起動したかどうかを判断する。
ステップS7;
ステップS6においてまだ「セグメントの端末への配信処理」を起動していない場合は、送信データバッファ20の配信領域とセグメントの受信用領域を反転することで、ステップS5において、蓄積サーバモジュール(1〜N)(13−1〜13−N)から受信したセグメントを端末i(3−i)へ配信できるようにし、ステップS8へ進む。
ステップS8;
後述の「セグメントの端末への配信処理」を起動し、ステップSllへ進む。
ステップS9;
ステップS6において、既に「セグメントの端末への配信処理」を起動している場合は、「セグメントの端末への配信処理」が配信用領域のセグメントを全て端末に配信するまで待つ。
ステップS10;
「セグメントの端末への配信処理」が配信用領域のセグメントの送信を完了した時点で、送信データバッファ20の配信領域とセグメントの受信用領域を反転し、「セグメントの端末への配信処理」が引き続きセグメントの配信を継続できるようにする。
ステップSll;
ステップS5において受信したN個のセグメントの中に番組の最終セグメントが含まれていれば処理を終了する。含まれていなければステップS12へ進む。
ステップS12;
端末i(3−i)からマルチメディア情報の配信終了要求が到着していれば処理を終了する。到着していなければ、ステップS4へ戻る。
次に、「セグメントの端末への配信処理」について、図19に示すステップS13〜ステップS16に従って説明する。
ステップS13;
送信データバッファ20の配信用領域に1つでもセグメントが格納されていればステップS14へ進む。
ステップS14;
送信データバッファ20に格納されているセグメントを1つ端末i(3−i)へ配信する。
ステップS15;
ステップS14において配信したセグメントが番組の最終セグメントであれば処理を終了する。そうでなければステップS16へ進む。
ステップS16;
端末i(3−i)からマルチメディア情報の配信終了要求が到着していれば処理を終了する。そうでなければ、ステップS13へ戻る。
以上が、端末i(3−i)が分散型マルチメディアサーバ装置1からマルチメディア情報の読み出しを行なう場合についての説明である。
次に、本実施例における分散型マルチメディアサーバ装置1へマルチメディア情報の蓄積を行なう場合について述べる。図9に示した蓄積動作のシーケンスと同様に、以下の(手順1)〜(手順5)の手順で動作する。
手順1;
マルチメディア情報入力装置4は、分散型マルチメディアサーバ装置1に、ある番組のマルチメディア情報を蓄積する場合、端末側ネットワーク2を経由して書き込み要求を行なう。通信サーバモジュールj(11−j)は、マルチメディア情報入力装置4から、そのマルチメディア情報書き込み要求を受信する。
手順2;
通信サーバモジュールj(11−j)は、マルチメディア情報入力装置4から転送されてきたマルチメディア情報が、N(蓄積サーバモジュールの数)個のセグメント分の量に達すると、蓄積サーバモジュール(1〜N)(13−1〜13−N)に対して、セグメントの書き込み要求を発行する。
手順3;
通信サーバモジュールj(11−j)は、マルチメディア情報入力装置4から転送されてきたマルチメディア情報を固定長のセグメントに分割し、蓄積サーバモジュール(1〜N)(13−1〜13−N)に転送する。
手順4;
蓄積サーバモジュール(1〜N)(13−1〜13−N)は、他の蓄積サーバモジュールと通信を行なうことなく、セグメントを自身の蓄積装置(1〜N)(14−1〜14−N)に書き込む。
手順5;
以降、同様に、通信サーバモジュールj(11−j)は、セグメントN個分に相当するマルチメディア情報をマルチメディア情報入力装置4から受信するたびに、蓄積サーバモジュール(1〜N)(13−1〜13−N)に対して、セグメントの書き込み要求を発行し、転送されてきたマルチメディア情報を固定長のセグメントに分割して蓄積サーバモジュール(1〜N)(13−1〜13−N)に転送することを繰り返す。
図20は、本実施例における通信サーバモジュール(11−1〜11−N)のマルチメディア情報の蓄積処理を表すフローチャートである。
図20に示すステップS17〜ステップS26に従って、前述の(手順1)〜(手順5)で述べた通信サーバモジュール(11−1〜11−N)の処理をさらに詳しく説明する。
ステップS17;
マルチメディア情報入力装置4からの書き込み要求を受信する。
ステップS18;
マルチメディア情報のセグメント2N個分の容量を持つ受信データバッファ21を確保する。バッファが確保できない場合には確保できるまで待つ。
ステップS19;
受信データバッファ21を、Nセグメント分の容量ずつA、Bの2つの領域に2等分し、領域Aをマルチメディア情報入力装置4から受信するデータを格納するための受信用領域、領域Bを蓄積サーバモジュール(13−1〜13−N)へ送信するセグメントを格納するためのセグメント送信用領域に設定する。
ステップS20;
後述の「マルチメディア情報入力装置4からの受信処理」を起動する。
ステップS21;
「マルチメディア情報入力装置4からの受信処理」が、受信データバッファ21の受信用領域にNセグメント分のデータの受信を完了するか、または、この時点でマルチメディア情報入力装置4からの終了要求が到着すればステップS22へ進む。そうでなければこの状態で待ち続ける。
ステップS22;
受信データバッファ21のマルチメディア情報入力装置4からのデータ受信用領域と、蓄積サーバモジュール(13−1〜13−N)へのセグメントの受信用領域を反転する。これにより、「マルチメディア情報入力装置4からの受信処理」が、引き続きマルチメディア情報入力装置4からデータを受信できるとともに、蓄積サーバモジュール(13−1〜13−N)へセグメントを送信できるようにする。
ステップS23;
蓄積サーバモジュール(1〜N)(13−1〜13−N)へセグメントの書き込み要求を行なう。
ステップS24;
蓄積サーバモジュール(1〜N)(13−1〜13−N)へ、送信用領域内の全てのセグメントを送信する。
ステップS25;
マルチメディア情報入力装置4から書き込み終了要求が到着していなければステップS21へ戻る。到着していればステップS26へ進む。
ステップS26;
受信データバッファ21の受信用領域に、マルチメディア情報入力装置4から受信したままのデータが残っていればステップS22へ戻る。残っていなければ処理を終了する。
以下、「マルチメディア情報の受信処理」について、図21に示すステップS27〜ステップS28に従って説明する。
ステップS27;
マルチメディア情報入力装置4から、1セグメント分のマルチメディア情報を受信データバッファ21の受信用領域へ受信する。
ステップS28;
マルチメディア情報入力装置4から書き込み終了要求が到着していなければステップS27へ戻る。到着していれば処理を終了する。
以上説明したように、本実施例の分散型マルチメディアサーバ装置1は、マルチメディア情報の配信時には、N台の蓄積サーバモジュール(13−1〜13−N)に対して、各通信サーバモジュール(11−1〜11−N)にマルチメディア情報のセグメント2N個分の送信データバッファ20を用意し、そのバッファに対してN個のセグメントを最初にバッファリングしてから端末へのデータ送信を開始する。
前述の[課題を解決するための手段]に記載の理由により、「セグメントの端末への配信処理」がN個のセグメントの端末への配信を完了する時点で、蓄積サーバモジュール(13−1〜13−N)から次のN個のセグメントを読み出す処理は必ず終了している。
これにより、本実施例に記載した送信データバッファ20の使用方法により、端末側ネットワーク2への途切れのないマルチメディア情報の配信が可能である。
また、本実施例の分散型マルチメディアサーバ装置1は、マルチメディア情報の蓄積時には、各通信サーバモジュール(11−1〜11−N)にマルチメディア情報のセグメント2N個分の受信データバッファ21を用意し、そのうちの半分の容量をマルチメディア情報入力装置4からのマルチメディア情報受信用に、残りの半分の容量を蓄積サーバモジュール(13−1〜13−N)への送信セグメント格納用に使用する。
前述の[課題を解決するための手段]に記載の理由により、「マルチメディア情報の受信処理」がNセグメント分のマルチメディア情報をマルチメディア情報入力装置4から受信するまでに、蓄積サーバモジュール(13−1〜13−N)への前のN個のセグメントの送信処理は必ず終了している。
これにより、実施例に記載した受信データバッファ21の使用方法により、マルチメディア情報入力装置4から送信されてくるマルチメディア情報を取りこぼすことなく受信し続けることが可能である。
よって、本実施例は、前述の[課題を解決するための手段]に記載した、配信動作の途中で端末側ネットワーク2へ送出するデータの枯渇が生じないことを保証するために必要となる送信データバッファ20への初期バッファリング量の値、あるいは、書き込み動作の途中で端末側ネットワーク2からのデータを受信しきれなくなることによるデータの欠落が生じないことを保証するために必要な受信データバッファ21の容量を具体的に求めることが困難で、経験則に基づく値を設定したり、大きめの値を設定せざるを得ないという、従来の分散型マルチメディアサーバ装置が持つ課題を解決する。
なお、前述までの説明では、マルチメディア情報の読み出し/書き込みを行う場合について説明したが、前述のマルチメディア情報は、複数のセグメントに分割した情報であってもよい。
また、本発明の通信サーバモジュール(13−1〜13−N)および蓄積サーバモジュール(13−1〜13−N)は、コンピュータとプログラムによっても実現でき、このプログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
従来の分散型マルチメディアサーバ装置の概略システム構成を示すブロック図である。 従来の分散型マルチメディアサーバ装置において、1番組のマルチメディア情報の蓄積方法を説明するための図である。 従来の分散型マルチメディアサーバ装置における、マルチメディア情報の蓄積シーケンスを示す図である。 従来の分散型マルチメディアサーバ装置における、マルチメディア情報の配信シーケンスを示す図である。 従来の分散型マルチメディアサーバ装置において、1つの蓄積サーバモジュールに対して複数の通信サーバモジュールからのセグメントの読み出し/書き込み要求が集中した例を示す図である。 従来の分散型マルチメディアサーバ装置において、セグメントデータの到着速度の変動を吸収するための送信データバッファを説明するための図である。 従来の分散型マルチメディアサーバ装置において、1つの蓄積サーバモジュールに対して複数の通信サーバモジュールからのセグメントの読み出し要求の集中が継続する例を示す図である。 従来の分散型マルチメディアサーバ装置において、セグメントデータの書き込み速度の変動を吸収するための受信データバッファを説明するための図である。 本発明の分散型マルチメディアサーバ装置における、マルチメディア情報の蓄積シーケンスを示す図である。 本発明の分散型マルチメディアサーバ装置における、マルチメディア情報の読み出しシーケンスを示す図である。 本発明の分散型マルチメディアサーバ装置における、セグメントの読み出し/書き込み要求のキューイングを説明するための図である。 従来の分散型マルチメディアサーバ装置と、本発明の分散型マルチメディアサーバ装置における、セグメント処理のタイミングチャートを比較して示す図である。 本発明の分散型マルチメディアサーバ装置における、送信データバッファの使用方法を説明するための図である。 本発明の分散型マルチメディアサーバ装置における、受信データバッファの使用方法を説明するための図である。 本発明の実施例の分散型マルチメディアサーバ装置の概略システム構成を示すブロック図である。 本発明の実施例の分散型マルチメディアサーバ装置における、通信サーバモジュール内の送受信データバッファを説明するための図である。 本発明の実施例の分散型マルチメディアサーバ装置における、蓄積サーバモジュール内の要求キューを説明するための図である。 本発明の実施例の分散型マルチメディアサーバ装置における、マルチメディア情報の読み出し時の通信サーバモジュールの処理手順を示すフローチャートである。 本発明の実施例の分散型マルチメディアサーバ装置における、マルチメディア情報の読み出し時の通信サーバモジュールの処理手順を示すフローチャートである。 本発明の実施例の分散型マルチメディアサーバ装置における、マルチメディア情報の蓄積時の通信サーバモジュールの処理手順を示すフローチャートである。 本発明の実施例の分散型マルチメディアサーバ装置における、マルチメディア情報の蓄積時の通信サーバモジュールの処理手順を示すフローチャートである。
符号の説明
1 分散型マルチメディアサーバ装置
2 端末側ネットワーク
3−1,3−2 端末
4 マルチメディア情報入力装置
11−1,11−2,11−M,11−N 通信サーバモジュール
12 サーバモジュール間ネットワーク
13−1,13−2,13−N 蓄積サーバモジュール
14−1,14−2,14−N 蓄積装置
20 送信データバッファ
21 受信データバッファ
22 送受信データバッファ
30−1,30−2,30−N 要求キュー
31 処理プロセス


Claims (10)

  1. 末へ配信する情報を分割したセグメント分散して格納するN(2≦N)個の蓄積サーバモジュールと、
    記端末からの情報の読み出し要求を受け付け、前記各蓄積サーバモジュールに蓄積された前記セグメントを一括して読み出し、該セグメントから前記情報を再構成して前記端末へ転送するM(M≦N)個の通信サーバモジュールと、
    任意の前記通信サーバモジュールと任意の前記蓄積サーバモジュール間の通信を可能とするサーバモジュール間ネットワークとを具備する分散型サーバ装置における情報アクセス方法であって
    前記N個の蓄積サーバモジュールが、前記通信サーバモジュールからの前記セグメントの読み出し要求の処理時間が前記セグメントの転送時間のM倍以下となるようにキューを処理し
    前記通信サーバモジュールが、N個のセグメントを格納できる容量を持つ初期バッファリング領域と、N個のセグメントを格納できる容量を持つ受信データバッファリング領域とを有し、
    前記初期バッファリング領域に格納されたセグメントを前記端末へ配信しながら、同時に前記受信データバッファリング領域へ前記N個の蓄積サーバモジュールから転送されたN個のセグメントを格納し、前記初期バッファリング領域内に格納された全セグメントの配信を完了した時点で、前記受信データバッファリング領域に格納された全セグメントを前記端末に配信しながら、同時に前記初期バッファリング領域へ前記N個の蓄積サーバモジュールから転送されたN個のセグメントを格納することを繰り返すことを特徴とする分散型サーバ装置における情報アクセス方法。
  2. 報入力装置から受信した情報を分割したセグメント分散して格納するN(2≦N)個の蓄積サーバモジュールと、
    前記情報入力装置からの情報の書き込み要求を受け付け、前記各蓄積サーバモジュールに前記セグメントを一括して書き込むM(M≦N)個の通信サーバモジュールと、
    任意の前記通信サーバモジュールと任意の前記蓄積サーバモジュール間の通信を可能とするサーバモジュール間ネットワークとを具備する分散型サーバ装置における情報アクセス方法であって、
    前記N個の蓄積サーバモジュールが、前記通信サーバモジュールからの前記セグメントの書き込み要求の処理時間が前記セグメントの転送時間のM倍以下となるようにキューを処理し
    記通信サーバモジュールが、N個のセグメントを格納できる容量を持つ受信データバッファリング領域と、N個のセグメントを格納できる容量を持つ送信データバッファリング領域とを有し、
    前記情報入力装置から受信した情報をセグメントに分割して前記受信データバッファリング領域に格納しながら、同時に前記送信データバッファリング領域に格納された全セグメントを前記蓄積サーバモジュールへ転送し、前記受信データバッファリング領域へのセグメントの格納が完了した時点で、前記情報入力装置から受信した情報をセグメントに分割して前記送信データバッファリング領域に格納しながら、同時に前記受信データバッファリング領域に格納された全セグメントを前記蓄積サーバモジュールへ転送することを繰り返すことを特徴とする分散型サーバ装置における情報アクセス方法。
  3. 前記情報は、1番組のマルチメディア情報であることを特徴とする請求項1または請求項2に記載の分散型サーバ装置における情報アクセス方法。
  4. 末へ配信する情報を分割したセグメント分散して格納するN(2≦N)個の蓄積サーバモジュールと、
    記端末からの情報の読み出し要求を受け付け、前記各蓄積サーバモジュールに蓄積された前記セグメントを一括して読み出し、該セグメントから前記情報を再構成して前記端末へ転送するM(M≦N)個の通信サーバモジュールと、
    任意の前記通信サーバモジュールと任意の前記蓄積サーバモジュール間の通信を可能とするサーバモジュール間ネットワークとを具備する分散型サーバ装置であって
    前記N個の蓄積サーバモジュールは、前記通信サーバモジュールからの前記セグメントの読み出し要求の処理時間が前記セグメントの転送時間のM倍以下となるように設定されたキューを有し
    記通信サーバモジュールは、N個のセグメントを格納できる容量を持つ初期バッファリング領域と、N個のセグメントを格納できる容量を持つ受信データバッファリング領域とを有し、
    前記初期バッファリング領域に格納されたセグメントを前記端末へ配信しながら、同時に前記受信データバッファリング領域へ前記N個の蓄積サーバモジュールから転送されたN個のセグメントを格納し、前記初期バッファリング領域内に格納された全セグメントの配信を完了した時点で、前記受信データバッファリング領域に格納された全セグメントを前記端末に配信しながら、同時に前記初期バッファリング領域へ前記N個の蓄積サーバモジュールから転送されたN個のセグメントを格納することを繰り返すことを特徴とする分散型サーバ装置。
  5. 報入力装置から受信した情報を分割したセグメント分散して格納するN(2≦N)個の蓄積サーバモジュールと、
    記情報入力装置からの情報の書き込み要求を受け付け、前記各蓄積サーバモジュールに前記セグメントを一括して書き込むM(M≦N)個の通信サーバモジュールと、
    任意の前記通信サーバモジュールと任意の前記蓄積サーバモジュール間の通信を可能とするサーバモジュール間ネットワークとを具備する分散型サーバ装置であって
    前記N個の蓄積サーバモジュールは、前記通信サーバモジュールからの前記セグメントの書き込み要求の処理時間が前記セグメントの転送時間のM倍以下となるように設定されたキューを有し
    前記通信サーバモジュールは、N個のセグメントを格納できる容量を持つ受信データバッファリング領域と、N個のセグメントを格納できる容量を持つ送信データバッファリング領域とを有し、
    前記情報入力装置から受信した情報をセグメントに分割して前記受信データバッファリング領域に格納しながら、同時に前記送信データバッファリング領域に格納された全セグメントを前記蓄積サーバモジュールへ転送し、前記受信データバッファリング領域へのセグメントの格納が完了した時点で、前記情報入力装置から受信した情報をセグメントに分割して前記送信データバッファリング領域に格納しながら、同時に前記受信データバッファリング領域に格納された全セグメントを前記蓄積サーバモジュールへ転送することを繰り返すことを特徴とする分散型サーバ装置。
  6. 前記情報は、1番組のマルチメディア情報であることを特徴とする請求項4または請求項5に記載の分散型サーバ装置。
  7. 末へ配信する情報を分割したセグメント分散して格納し、前記セグメントの読み出し要求の処理時間が前記セグメントの転送時間のM倍以下となるように設定されたキューを有するN(2≦N)個の蓄積サーバモジュールと、
    記端末からの情報の読み出し要求を受け付け、前記各蓄積サーバモジュールに蓄積された前記セグメントを一括して読み出し、該セグメントから前記情報を再構成して前記端末へ転送するM(M≦N)個の通信サーバモジュールと、
    任意の前記通信サーバモジュールと任意の前記蓄積サーバモジュール間の通信を可能とするサーバモジュール間ネットワークとを具備する分散型サーバ装置における通信サーバモジュールであって
    N個のセグメントを格納できる容量を持つ初期バッファリング領域と、N個のセグメントを格納できる容量を持つ受信データバッファリング領域とを有し、
    前記初期バッファリング領域に格納されたセグメントを前記端末へ配信しながら、同時に前記受信データバッファリング領域へ前記N個の蓄積サーバモジュールから転送されたN個のセグメントを格納し、前記初期バッファリング領域内に格納された全セグメントの配信を完了した時点で、前記受信データバッファリング領域に格納された全セグメントを前記端末に配信しながら、同時に前記初期バッファリング領域へ前記N個の蓄積サーバモジュールから転送されたN個のセグメントを格納することを繰り返すことを特徴とする通信サーバモジュール。
  8. 情報入力装置から受信した情報を分割したセグメント分散して格納し、前記セグメントの書き込み要求の処理時間が前記セグメントの転送時間のM倍以下となるように設定されたキューを有するN(2≦N)個の蓄積サーバモジュールと、
    記情報入力装置からの情報の書き込み要求を受け付け、前記各蓄積サーバモジュールに前記セグメントを一括して書き込むM(M≦N)個の通信サーバモジュールと、
    任意の前記通信サーバモジュールと任意の前記蓄積サーバモジュール間の通信を可能とするサーバモジュール間ネットワークとを具備する分散型サーバ装置における通信サーバモジュールであって
    N個のセグメントを格納できる容量を持つ受信データバッファリング領域と、N個のセグメントを格納できる容量を持つ送信データバッファリング領域とを有し、
    前記情報入力装置から受信した情報をセグメントに分割して前記受信データバッファリング領域に格納しながら、同時に前記送信データバッファリング領域に格納された全セグメントを前記蓄積サーバモジュールへ転送し、前記受信データバッファリング領域へのセグメントの格納が完了した時点で、前記情報入力装置から受信した情報をセグメントに分割して前記送信データバッファリング領域に格納しながら、同時に前記受信データバッファリング領域に格納された全セグメントを前記蓄積サーバモジュールへ転送することを繰り返すことを特徴とする通信サーバモジュール。
  9. 前記情報は、1番組のマルチメディア情報であることを特徴とする請求項7または請求項8に記載の通信サーバモジュール。
  10. 請求項7ないし請求項9のいずれか1項に記載の通信サーバモジュールにおける処理をコンピュータに実行させるためのプログラム。
JP2006161978A 2006-06-12 2006-06-12 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム Active JP4531723B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006161978A JP4531723B2 (ja) 2006-06-12 2006-06-12 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006161978A JP4531723B2 (ja) 2006-06-12 2006-06-12 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム

Publications (2)

Publication Number Publication Date
JP2007334391A JP2007334391A (ja) 2007-12-27
JP4531723B2 true JP4531723B2 (ja) 2010-08-25

Family

ID=38933848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006161978A Active JP4531723B2 (ja) 2006-06-12 2006-06-12 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム

Country Status (1)

Country Link
JP (1) JP4531723B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61198988A (ja) * 1985-02-28 1986-09-03 Mitsubishi Electric Corp 画像符号化伝送装置
JPH07107425A (ja) * 1993-09-30 1995-04-21 Matsushita Electric Ind Co Ltd ビデオサーバ
JP2001346142A (ja) * 2000-05-31 2001-12-14 Toshiba Corp デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法
JP3461278B2 (ja) * 1997-02-19 2003-10-27 日本電信電話株式会社 分散マルチメディアサーバ装置,分散マルチメディアサーバ情報アクセス方法およびこの方法を実現するプログラムを記録した記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61198988A (ja) * 1985-02-28 1986-09-03 Mitsubishi Electric Corp 画像符号化伝送装置
JPH07107425A (ja) * 1993-09-30 1995-04-21 Matsushita Electric Ind Co Ltd ビデオサーバ
JP3461278B2 (ja) * 1997-02-19 2003-10-27 日本電信電話株式会社 分散マルチメディアサーバ装置,分散マルチメディアサーバ情報アクセス方法およびこの方法を実現するプログラムを記録した記録媒体
JP2001346142A (ja) * 2000-05-31 2001-12-14 Toshiba Corp デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法

Also Published As

Publication number Publication date
JP2007334391A (ja) 2007-12-27

Similar Documents

Publication Publication Date Title
US7730238B1 (en) Buffer management method and system with two thresholds
US6757791B1 (en) Method and apparatus for reordering packet data units in storage queues for reading and writing memory
CN101674486B (zh) 一种流媒体音视频同步方法及系统
KR100895859B1 (ko) 분산형 멀티미디어 서버 시스템 및 멀티미디어 정보분배방법
US7587549B1 (en) Buffer management method and system with access grant based on queue score
JP4516395B2 (ja) リンク・リスト・プロセッサを持つメモリ管理システム
JP4531723B2 (ja) 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム
JP2001177575A (ja) 優先制御方式
US7158532B2 (en) Half duplex link with isochronous and asynchronous arbitration
JP2003209594A (ja) プログラム、記録媒体、並びに情報送信装置および方法
JP2003209823A (ja) ストリーム送受信システムおよびストリーム送受信方法
JPH059974B2 (ja)
US6064647A (en) Method and system for sending frames around a head of line blocked frame in a connection fabric environment
JP3540835B2 (ja) ビデオメモリ装置及びビデオサーバシステム
JP3659183B2 (ja) リアルタイムパケットの遅延バッファ制御方式
JP2006025338A (ja) ストリームデータ受信転送方法およびストリーム受信装置、ならびにストリームデータ受信転送プログラム
US8073999B2 (en) Data input-output control apparatus
US6952434B1 (en) System and method for processing control cells to prevent event missequencing and data loss in IMA groups
US7505405B2 (en) Method, apparatus, and computer program product for optimizing packet flow control through buffer status forwarding
JP3909730B2 (ja) サーバコンピュータのデータ送出方法、記録媒体、及びサーバコンピュータ
JP3097063B2 (ja) 動画の実時間多重読み書き方法
JPH04271546A (ja) 入力キューイング型パケット処理装置の競合制御方式
JPH10275418A (ja) マルチメディアサーバおよびマルチメディアオンデマンドシステムならびにマルチメディア情報の配信方法
JP4675290B2 (ja) マルチメディア蓄積配信サーバ、および、マルチメディアデータ多重読出し書込み方法
JP3752809B2 (ja) デジタルテレビ受信方法およびデジタルテレビ受信端末装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091221

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4531723

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140618

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350