(57)【要約】【課題】様々な帯域のストリームの転送要求に対して柔軟に対応できる分散型マルチメディアサーバシステムを提供する。【解決手段】分散型マルチメディアサーバシステム１０は、遠隔ダイレクトメモリアクセス機能を有するクラスタ間接続ネットワーク１７によって接続されたバッファサーバ１４とディスクサーバ１５を有する。クラスタ間接続ネットワーク１７は、コネクションを複数組み合わせることにより必要な帯域を確保することができる。バッファサーバ１４は、端末１１からの再生要求に基づくマルチメディア情報の転送に必要な帯域に対応した複数のコネクションを介してディスクサーバ１５から遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、端末１１に配信する。ディスクサーバ１５は、マルチメディア情報をディスク１６から読み込み、複数のコネクションを介してバッファサーバへ遠隔ダイレクトメモリアクセス機能により情報を転送する。【選択図】図１
2008294794.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第１のサーバと第２のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第１のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第２のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第２のサーバから転送されたマルチメディア情報を端末に配信し、
前記第２のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第１のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項２】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第１のサーバと第２のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第１のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第２のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、
前記第２のサーバは、前記コネクション束を介して前記第１のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項３】
請求項１に記載の分散型マルチメディアサーバシステムであって、
前記第２のサーバを複数個有し、
前記第１のサーバは、前記コネクション束を介して前記複数個の第２のサーバから循環的にマルチメディア情報の転送を受け、前記第２のサーバから転送されたマルチメディア情報を端末に配信する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項４】
請求項２に記載の分散型マルチメディアサーバシステムであって、
前記第２のサーバを複数個有し、
前記第１のサーバは、端末から受信したマルチメディア情報を、前記コネクション束を介して前記複数個の第２のサーバに循環的に転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項５】
請求項１ないし４のうちいずれか１項に記載の分散型マルチメディアサーバシステムであって、
前記コネクション束に対応する前記メモリブロックを１つのメモリブロック群として、そのメモリブロック群は全体として連続したメモリ空間であることを特徴とする分散型マルチメディアサーバシステム。
【請求項６】
請求項５に記載の分散型マルチメディアサーバシステムであって、
前記第１のサーバおよび前記第２のサーバはそれぞれ、前記メモリブロック群を複数個作成し、
前記第１のサーバまたは前記第２のサーバは、前記マルチメディア情報を、前記複数個のメモリブロック群に循環的に一次的に保存し、
前記第１のサーバまたは前記第２のサーバの前記複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能により前記第２のサーバまたは前記第１のサーバに循環的に転送される、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項７】
請求項５ないし６のうちいずれか１項に記載の分散型マルチメディアサーバシステムであって、
前記第２のサーバを複数個有し、
前記第１のサーバは、複数個の第２のサーバに対応して複数個のメモリブロック群を作成し、前記複数個のメモリブロック群を循環的に使用する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項８】
請求項１ないし７のうちいずれか１項に記載の分散型マルチメディアサーバシステムであって、
前記第２のサーバは、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で前記記憶装置に蓄積し、
前記第１のサーバと前記第２のサーバ間で、前記分割した単位で分割マルチメディア情報が転送される、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項９】
請求項１ないし８のうちいずれか１項に記載の分散型マルチメディアサーバシステムであって、
前記第１のサーバを複数個有することを特徴とする分散型マルチメディアサーバシステム。
【請求項１０】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報配信方法であって、
前記分散型マルチメディアサーバシステムは、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第１のサーバと第２のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第１のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第２のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第２のサーバから転送されたマルチメディア情報を端末に配信し、
前記第２のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第１のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、
ことを特徴とするマルチメディア情報配信方法。
【請求項１１】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積方法であって、
分散型マルチメディアサーバシステムは、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第１のサーバと第２のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第１のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第２のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、
前記第２のサーバは、前記コネクション束を介して前記第１のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とするマルチメディア情報蓄積方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末からの要求に応じて、要求されたマルチメディア情報を端末に遅滞なく配信、または、端末から送信されたマルチメディア情報を蓄積することが可能な分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法に関する。
【背景技術】
【０００２】
従来の分散型マルチメディアサーバシステムの構成例として、特許文献１等に記載されたものがある。特許文献１に記載された分散型マルチメディアサーバシステムは、通信サーバモジュール、蓄積サーバモジュールおよびローカルエリアネットワークを有している。マルチメディア情報の配信は次の手順で行われる。通信サーバモジュールが端末からの読み取り要求を受信し、要求されたマルチメディア情報の読み取り要求をローカルエリアネットワークを介して蓄積サーバモジュールに対して送信する。この読み出し要求を受信した蓄積サーバモジュールは、要求されたマルチメディア情報をローカルエリアネットワークを介して通信サーバモジュールに送信する。それを受信した通信サーバモジュールは、マルチメディア情報をくみ上げ、配信用のネットワークを通じて端末へ送信する。同様に、通信サーバモジュールはマルチメディア情報の読み出し要求を蓄積サーバモジュールに対して送信し、蓄積サーバモジュールは要求されたマルチメディア情報を通信サーバモジュールに送信し、これを繰り返す。
【０００３】
非特許文献１、２（執筆者に本発明者の一部が含まれている）には、複数のバッファサーバと複数のディスクサーバをＩｎｆｉｎｉＢａｎｄ（非特許文献３参照）を用いた相互結合網で接続した分散型マルチメディアサーバシステムが記載されている。この分散型マルチメディアサーバシステムでは、マルチメディア情報の配信は次の手順で行われる。送信開始メッセージを受信したバッファサーバは先頭の映像フレームを格納しているディスクサーバに対して読み出し要求メッセージを送信する。読み出し要求を受信したディスクサーバはＲＡＩＤ（Redundant Array of Inexpesive Disk）から映像フレームを読み出し、ディスクサーバ内のバッファメモリにその映像フレームを格納し、バッファサーバに対して映像フレームを格納しているメモリ情報を応答メッセージにのせて通知する。以降、ディスクサーバは、疑似リアルタイムモジュールの機能を使って一定時間間隔で、自律的にＲＡＩＤからデータ読み出しを実行する。バッファサーバは、ディスクサーバから送られてきたメモリ情報を元に映像フレームを非特許文献１、２の通り遠隔ダイレクトメモリアクセス機能を使ってディスクサーバから読み出す。この処理と並行して、疑似リアルタイム制御モジュールの機能を使って、一定時間間隔で、映像フレームをパケット化して再生用の端末に送信する。疑似リアルタイム制御モジュールの機能により、一定時間後に、次の映像フレームが格納されているディスクサーバに対して読み出しの要求を行う。これを繰り返す。
【０００４】
【特許文献１】特許第３４６１２７８号公報
【非特許文献１】小倉毅外５名、「ＩｎｆｉｎｉＢａｎｄを用いたＰＣクラスタ型高速ストリームサーバアーキテクチャ」、信学技報、Ｖｏｌ．１０５、Ｎｏ．８６、ｐｐ．３３−３６、発表日２００５／５／２７
【非特許文献２】君山博之外５名、「ＰＣクラスタを用いたＩＰネットワークベースの非圧縮ＨＤＴＶ１０多重ストリームサーバ」、マルチメディア，分散，協調とモバイル（ＤＩＣＯＭＯ２００５）シンポジュウム予稿集、ｐｐ．７９７−８００（巻数、号なし）、発表日２００５／７／８
【非特許文献３】ＩＮＦＩＮＩＢＡＮＤ（ＳＭ）  ＴＲＡＤＥ  ＡＳＳＯＣＩＡＴＩＯＮ、[online]、［平成１７年５月６日検索］、インターネット＜http://www.infinibandta.org/events/past/it_roadshow/fabric_tco_ibm.pdf＞
【非特許文献４】Ｍｙｒｉｎｅｔ  Ｏｖｅｒｖｉｅｗ、[online]、［平成１７年５月６日検索］、インターネット＜http://www.myrinet.com/myrinet/overview/＞
【非特許文献５】独立行政法人  産業技術総合研究所 先端情報計算センター、“ＡＩＳＴスーパークラスタ”、[online]、［平成１７年５月６日検索］、インターネット＜http://unit.aist.go.jp/tacc/supercluster.html＞
【非特許文献６】Remote Direct Memory Access - Wikipedia, the free encyclopedia、[online]、［平成１９年１月１８日検索］、インターネット＜http://en.wikipedia.org/wiki/Remote_Direct_Memory_Access＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非特許文献１、２に記載された分散型マルチメディアサーバシステムでは、バッファサーバとディスクサーバ間のデータ転送においてを高スループットを確保するためにＩｎｆｉｎｉＢａｎｄおよび遠隔ダイレクトメモリアクセス（Remote Direct Memory Access）機能を用いている。遠隔ダイレクトメモリアクセス機能は、非特許文献６の通り、２つのコンピュータ間でそれらのメモリに格納されているデータを、ネットワークを介して転送する機能であり、ネットワークカードの機能を活用し、低負荷でかつ高速なデータ転送を実現することができる機能である。その結果、低いシステムコストで高いトータルスループットを得ることが可能となった。
【０００６】
しかし、非特許文献１、２に記載された分散型マルチメディアサーバシステムでは、遠隔ダイレクトメモリアクセスによる転送処理を一定時間間隔で起動することによってバッファサーバ、ディスクサーバ間の転送レートを一定に保ち、クラスタ間接続ネットワークのトラヒックを一定に保ち、実時間性を担保している。様々なレートのマルチメディア情報を転送するためには、転送レートを変える必要があり、そのためにはリクエスト毎に遠隔ダイレクトメモリアクセスで利用するメモリサイズを変更するか、または、転送処理の起動間隔を変える方法しかない。しかし、転送処理の起動間隔を変えた場合、クラスタ間接続ネットワーク全体のトラヒックが一定になるように起動間隔を計算するのは難しいため、メモリサイズを変更する方法を利用する必要がある。ところが、遠隔ダイレクトメモリアクセス転送機能は前述した通りハードウェアの機能を利用するため、メモリサイズを変更する場合は、ハードウェアの初期化が必要となり、他のリクエストに対応した転送が止まる問題がある。
【０００７】
本発明の目的は、低いシステムコストで高いトータルスループットを得ることができるとともに、様々な帯域のストリームの転送要求に対して、柔軟に対応することができる分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法を提供することにある。
【課題を解決するための手段】
【０００８】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【０００９】
第１の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第１のサーバと第２のサーバを有し、前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、複数のコネクションを設定することができ、そのコネクションを複数組み合わせたコネクション束を使うことができるネットワークまたはバスシステムであり、コネクション毎に、遠隔ダイレクトメモリアクセスで使用するメモリブロックを割り当てることによって、コネクション毎に帯域を設定するとともに、前記第１のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第２のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第２のサーバから転送されたマルチメディア情報を端末に配信し、前記第２のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第１のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、ことを特徴とする。
【００１０】
第２の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第１のサーバと第２のサーバを有し、前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、前記第１のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第２のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、前記第２のサーバは、前記コネクション束を介して前記第１のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、ことを特徴とする。
【００１１】
第３の発明は、第１の発明において、前記第２のサーバを複数個有し、前記第１のサーバは、前記コネクション束を介して前記複数個の第２のサーバから循環的にマルチメディア情報の転送を受け、前記第２のサーバから転送されたマルチメディア情報を端末に配信する、ことを特徴とする。
【００１２】
第４の発明は、第２の発明において、前記第２のサーバを複数個有し、前記第１のサーバは、端末から受信したマルチメディア情報を、前記コネクション束を介して前記複数個の第２のサーバに循環的に転送する、ことを特徴とする。
【００１３】
第５の発明は、第１〜第４の発明において、前記コネクション束に対応する前記メモリブロックを１つのメモリブロック群として、そのメモリブロック群は全体として連続したメモリ空間であることを特徴とする。
【００１４】
第６の発明は、第５の発明において、前記第１のサーバおよび前記第２のサーバはそれぞれ、前記メモリブロック群を複数個作成し、前記第１のサーバまたは前記第２のサーバは、前記マルチメディア情報を、前記複数個のメモリブロック群に循環的に一次的に保存し、前記第１のサーバまたは前記第２のサーバの前記複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能により前記第２のサーバまたは前記第１のサーバに循環的に転送される、ことを特徴とする。
【００１５】
第７の発明は、第５〜第６の発明において、前記第２のサーバを複数個有し、前記第１のサーバは、複数個の第２のサーバに対応して複数個のメモリブロック群を作成し、前記複数個のメモリブロック群を循環的に使用する、ことを特徴とする。
【００１６】
第８の発明は、第１〜第７の発明において、前記第２のサーバは、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で前記記憶装置に蓄積し、前記第１のサーバと前記第２のサーバ間で、前記分割した単位で分割マルチメディア情報が転送される、ことを特徴とする。
【００１７】
第９の発明は、第１〜第８の発明において、前記第１のサーバを複数個有することを特徴とする。
【００１８】
第１０の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報配信方法であって、第１の発明と同様な特徴を有する。
【００１９】
第１１の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積方法であって、第２の発明と同様な特徴を有する。
【発明の効果】
【００２０】
本発明により、低いシステムコストで高いトータルスループットを得ることができるとともに、様々な帯域のストリームの転送要求に対して、柔軟に対応することができる分散型マルチメディアサーバシステムを得ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を実施例を用いて詳細に説明する。なお、各図において同じ機能を有するものには同じ符号を付け、重複した説明は省略する。
【実施例１】
【００２２】
図１は、本発明の実施例１の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。図１において、１０は分散型マルチメディアサーバシステムであり、１１、１２はユーザが操作する端末であり、１３は配信用ネットワークである。図には端末を２個示しているが、何個でもよい。分散型マルチメディアサーバシステム１０は、バッファサーバ（第１のサーバ）１４とディスクサーバ（第２のサーバ）１５とディスク（記憶装置）１６とを有する。１７はクラスタ間接続ネットワークであり、１８はローカルエリアネットワークである。
【００２３】
バッファサーバ１４は、端末１１、１２からの要求を受けて、マルチメディア情報の送信または受信を行うサーバである。ディスクサーバ１５は、マルチメディア情報を例えば１フレーム毎に分割して格納するディスク１６を持っており、ディスク１６からのマルチメディア情報の読み出し、またはディスク１６への書き込みを行う。なお、マルチメディア情報の分割の単位は１フレーム毎に限定されない。
【００２４】
バッファサーバ１４とディスクサーバ１５との間は、遠隔ダイレクトメモリアクセス機能が利用できるネットワークまたはバスシステムで接続されている。図１ではクラスタ間接続ネットワーク１７で接続されている。バッファサーバ１４とディスクサーバ１５とは、遠隔ダイレクトメモリアクセス機能を用いて、お互いのバッファメモリ中のデータを参照することが可能である。本実施例では、ネットワーク１７として並列計算機用のクラスタ間接続ネットワークを利用することを目的としているため、メッセージ通信の機能は備えているものとする。しかし、それが不可能な場合などの場合は、後述する分割マルチメディア情報読み出し要求やその応答などのメッセージの交換用に、例えば図１に示すようなローカルエリアネットワーク１８を利用することも可能である。この場合は、バッファサーバ１４とディスクサーバ１５は、遠隔ダイレクトメモリアクセス機能を用いることができるネットワーク１７と遠隔ダイレクトメモリアクセス機能を用いることができないローカルエリアネットワーク１８の両方で接続される。端末１１、１２と分散型マルチメディアサーバシステム１０の間はワイドエリアネットワークなどの配信用ネットワーク１３で結ばれている。
【００２５】
本実施例においてクラスタ間接続ネットワーク１７として使用する並列計算機を構成するためのクラスタ間接続ネットワークの具体例としては、例えば非特許文献３、非特許文献４、非特許文献５などがある。本実施例では非特許文献３のＩｎｆｉｎｉＢａｎｄを用いてクラスタ間接続ネットワークを構成する。このネットワークは、ハードウェアで通信の信頼性の確保を実現しているため、高速低負荷、低コストである反面、サーバ間のメッセージの送受信やメモリ共有に使う目的で設計されているため、映像データのようなストリームの転送機能は持ち合わせていない。しかし、この遠隔ダイレクトメモリアクセス機能と呼ばれるメモリ共有機能は、このクラスタ間接続ネットワークにより接続されたサーバのメモリを他のサーバから自由にアクセス出来るようにする機能で、ほとんどの処理をネットワークカードのハードウェアで実現しており、サーバのＣＰＵに負荷をほとんどかけずにデータの転送を行うことが出来る。さらに、この遠隔ダイレクトメモリアクセス機能では、相手側のアドレスを得てしまえば、相手側が何もしなくてもデータの転送が行えるため、例えば、ＴＣＰ／ＩＰを使った処理では相手側はsend()などのシステムコールを呼び出さなければならないが、この機能を使うことによって、余計な処理を相手側で行わずにデータの転送が実現出来る。このネットワークを使うことが出来れば、低負荷でデータの転送が出来るため、高価でハイスペックなサーバシステムを導入することなく、低コストなサーバにより高い転送能力を持つサーバシステムを構築することが出来、サーバと内部結合ネットワークのコストを削減することが出来る。
【００２６】
図２は、本実施例の分散型マルチメディアサーバシステム１０内のマルチメディア情報の転送方法を説明するための図である。図２においては、マルチメディア情報のストリーム配信の場合を示すが、マルチメディア情報をファイルとして配信することもできる。マルチメディア情報は非圧縮のものでも、圧縮されたものであってもよい。
【００２７】
本実施例の分散型マルチメディアサーバシステム１０は、起動時にクラスタ間接続ネットワーク（具体的にはＩｎｆｉｎｉＢａｎｄを用いたネットワーク）１７の帯域（例えば１０Ｇｂｐｓ）を複数の小帯域（例えば５０Ｍｂｐｓ）に分割するために、バッファサーバ１４、ディスクサーバ１５に例えば５０Ｍｂｉｔのメモリブロックを複数用意する。以下、分割された小帯域に対して１つのコネクションを割り当てる。この例の場合は、説明の簡単化のために１秒に１回遠隔ダイレクトメモリアクセスによる転送処理を起動することを前提とした。そして、ストリーム転送の要求帯域に応じて、そのコネクションを複数組み合わせたコネクション束を使用することにより、所望の帯域を確保する。
【００２８】
図２は、分散型マルチメディアサーバシステム１０が、端末１１に対して１００Ｍｂｐｓの帯域を必要とするストリームデータＳ１を配信し、端末１２に対して１５０Ｍｂｐｓの帯域を必要とするストリームデータＳ２を配信している場合を示している。ストリームデータＳ１の転送のために、バッファサーバ１４はメモリブロック２１を確保し、ディスクサーバ１５はメモリブロック２２を確保し、クラスタ間接続ネットワーク１７のコネクション（５０Ｍｂｐｓ）のうち２本分（１００Ｍｂｐｓ分）を使用する。ディスクサーバ１５はディスク１６から端末１１へ配信するためのマルチメディア情報をメモリブロック２２に読み込む。そのマルチメディア情報は２本分（１００Ｍｂｐｓ分）のコネクションを使って遠隔ダイレクトメモリアクセス機能によりバッファサーバ１４のメモリブロック２１に転送され、バッファサーバ１４はこれを配信用ネットワーク１３を介して端末１１に送信する。同様に、ストリームデータＳ２の転送のために、バッファサーバ１４はメモリブロック２３を確保し、ディスクサーバ１５はメモリブロック２４を確保し、クラスタ間接続ネットワーク１７のコネクション（５０Ｍｂｐｓ）のうち３本分（１５０Ｍｂｐｓ分）を使用する。ディスクサーバ１５はディスク１６から端末１２へ配信するためのマルチメディア情報をメモリブロック２４に読み込む。そのマルチメディア情報は３本分（１５０Ｍｂｐｓ分）のコネクションを使ってバッファサーバ１４のメモリブロック２３に転送され、バッファサーバ１４はこれを配信用ネットワーク１３を介して端末１２に送信する。
【００２９】
図３に、バッファサーバ１４とディスクサーバ１５のメモリ構造を示す。３１はバッファサーバ１４内のメモリに作成されたメモリブロック群であり、３２はディスクサーバ１５内のメモリに作成されたメモリブロック群である。メモリブロック群３１、３２はそれぞれメモリブロックＡ１、Ａ２、Ａ３、Ａ４、Ａ５からなる。３３はクラスタ間接続ネットワーク１７を分割した小帯域のコネクションである。３４、３５はＥＰ（End Point、通信の端点を通信媒体の種類によらない形に抽象化したもの）である。
【００３０】
ディスクサーバ１５はバッファサーバ１４が接続してきたときバッファサーバ１４と同じ本数のメモリブロックからなるメモリブロック群を作成する。一つのストリームに使用するメモリブロック群は連続したメモリ空間である。コネクションＥＰ１は、バッファサーバ１４とディスクサーバ１５のメモリブロックＡ１に対応しており、どちらかのサーバのメモリブロックＡ１に一次的に保存されたマルチメディア情報はコネクションＥＰ１を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックＡ１に転送される。コネクションＥＰ２〜ＥＰ５も、同様に、バッファサーバ１４とディスクサーバ１５のメモリブロックＡ２〜Ａ５に対応しており、どちらかのサーバのメモリブロックＡ２〜Ａ５に一次的に保存されたマルチメディア情報はコネクションＥＰ２〜ＥＰ５を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックＡ２〜Ａ５に転送される。バッファサーバ１４とディスクサーバ１５は、必要なコネクション数と同数のメモリブロックからなるメモリブロック群を作成する。必要なコネクション数が１の場合はメモリブロック群を構成するメモリブロックも１個となる。
【００３１】
図４に、分散型マルチメディアサーバシステム１０が端末１１に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末１１はストリームデータＳ１の再生要求を配信用ネットワーク１３を介して分散型マルチメディアサーバシステム１０のバッファサーバ１４に送信する（段階４１）。バッファサーバ１４はＳ１再生初期化要求をディスクサーバ１５に送信する（段階４２）。ディスクサーバ１５は、ストリームデータＳ１の帯域から消費するＥＰの本数（ｎ）を計算し、ｎ本の連続した未使用のＥＰを検索し、ｍ＋１番からｍ＋ｎ番までが未使用であるとすると、ｍ＋１番からｍ＋ｎ番までのＥＰを確保する（段階４３）。ディスクサーバ１５はＥＰ確保応答をバッファサーバ１４に送信する（段階４４）。バッファサーバ１４はｍ＋１番からｍ＋ｎ番までのＥＰが未使用であることを確認してＥＰを確保する（段階４５）。
【００３２】
バッファサーバ１４はストリームデータの転送要求をディスクサーバ１５へ送信する（段階４６）。ディスクサーバ１５はディスク１６から１フレーム分のマルチメディア情報（分割マルチメディア情報）を、確保されたＥＰに対応するメモリブロックＡｍ＋１からＡｍ＋ｎに読み込む（段階４７）。ディスクサーバ１５のメモリブロックＡｍ＋１からＡｍ＋ｎに読み込まれた分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、バッファサーバ１４のメモリブロックＡｍ＋１からＡｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階４８）。バッファサーバ１４はメモリブロックＡｍ＋１からＡｍ＋ｎに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク１３を介して端末１１に送信し、端末１１はフレームをディスプレイに表示する（段階４９）。
【００３３】
バッファサーバ１４はディスクサーバ１５にデータ転送要求を行い（段階５０）、ディスクサーバ１５はディスク１６から分割マルチメディア情報を読み込み（段階５１）、読み込まれた分割マルチメディア情報は遠隔ダイレクトメモリアクセス機能によりバッファサーバ１４に転送され（段階５２）、バッファサーバ１４はマルチメディア情報を端末１１に送信し、端末１１はフレームを表示する。これが繰り返される。
【００３４】
以上、図２のバッファサーバ１４の端末１１へのストリームデータＳ１の配信について詳細に説明した。バッファサーバ１４は同時に端末１２ヘストリームデータＳ２を配信しているが、ストリームデータＳ２の配信のシーケンスも上記と同様である。すなわち、バッファサーバ１４およびディスクサーバ１５の複数のスレッドがそれぞれ上記と同様のシーケンスで配信を行う。この点は以下に述べる蓄積する場合や他の実施例の場合でも同様である。
【００３５】
図５に、分散型マルチメディアサーバシステム１０が端末１１からマルチメディア情報を受信する場合のシーケンス図を示す。端末１１はストリームデータＳ１の蓄積要求を配信用ネットワーク１３を介して分散型マルチメディアサーバシステム１０のバッファサーバ１４に送信する（段階５５）。バッファサーバ１４はＳ１蓄積初期化要求をディスクサーバ１５に送信する（段階５６）。ディスクサーバ１５は、ストリームデータＳ１の帯域から消費するＥＰの本数（ｎ）を計算し、ｎ本の連続した未使用のＥＰを検索し、ｍ＋１番からｍ＋ｎ番までが未使用であるとすると、ｍ＋１番からｍ＋ｎ番までのＥＰを確保する（段階５７）。ディスクサーバ１５はＥＰ確保応答をバッファサーバ１４に送信する（段階５８）。バッファサーバ１４はｍ＋１番からｍ＋ｎ番までのＥＰが未使用であることを確認してＥＰを確保する（段階５９）。
【００３６】
バッファサーバ１４は端末１１からマルチメディア情報を受信し、１フレーム分のマルチメディア情報（分割マルチメディア情報）を、確保されたＥＰに対応するメモリブロックＡｍ＋１からＡｍ＋ｎに一次的に格納する（段階６０）。バッファサーバ１４のメモリブロックＡｍ＋１からＡｍ＋ｎに格納された分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、ディスクサーバ１５のメモリブロックＡｍ＋１からＡｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階６１）。ディスクサーバ１５はメモリブロックＡｍ＋１からＡｍ＋ｎに記憶された分割マルチメディア情報をディスク１６に書き込む（段階６２）。
【００３７】
バッファサーバ１４は端末１１からマルチメディア情報を受信し、１フレーム分のマルチメディア情報（分割マルチメディア情報）を、確保されたＥＰに対応するメモリブロックＡｍ＋１からＡｍ＋ｎに一次的に格納する（段階６３）。バッファサーバ１４のメモリブロックＡｍ＋１からＡｍ＋ｎに格納された分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、ディスクサーバ１５のメモリブロックＡｍ＋１からＡｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階６４）。ディスクサーバ１５はメモリブロックＡｍ＋１からＡｍ＋ｎに記憶された分割マルチメディア情報をディスク１６に書き込む（段階６５）。これが繰り返される。
【実施例２】
【００３８】
図６に実施例２のバッファサーバ１４とディスクサーバ１５のメモリ構造を示す。実施例２は実施例１とバッファサーバ１４とディスクサーバ１５のメモリ構造が相違するが、その他の点については実施例１と同様である。
【００３９】
図６に示すように、バッファサーバ１４は複数個のメモリブロック群６１〜６４を作成し、ディスクサーバ１５は複数個のメモリブロック群６５〜６８を作成する。メモリブロック群６１〜６４とメモリブロック群６５〜６８の個数は同じであっても、異なっていてもよい。コネクションＥＰ１は、バッファサーバ１４のメモリブロックＡ１、Ｂ１、Ｃ１、…、Ｘ１に対応すると共にディスクサーバ１５のメモリブロックＡ１、Ｂ１、Ｃ１、…、Ｇ１に対応している。バッファサーバ１４のメモリブロックＡ１、Ｂ１、Ｃ１、…、Ｘ１またはディスクサーバ１５のメモリブロックＡ１、Ｂ１、Ｃ１、…、Ｇ１のどちらかに一次的に保存されたマルチメディア情報はコネクションＥＰ１を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。同様に、コネクションＥＰ２、ＥＰ３、ＥＰ４、ＥＰ５も、それぞれ、バッファサーバ１４のメモリブロックＡ２〜Ｘ２、Ａ３〜Ｘ３、Ａ４〜Ｘ４、…、Ａ５〜Ｘ５に対応すると共にディスクサーバ１５のメモリブロックＡ２〜Ｇ２、Ａ３〜Ｇ３、Ａ４〜Ｇ４、…、Ａ５〜Ｇ５に対応している。バッファサーバ１４のメモリブロックＡ２〜Ｘ２、Ａ３〜Ｘ３、Ａ４〜Ｘ４、…、Ａ５〜Ｘ５またはディスクサーバ１５のメモリブロックＡ２〜Ｇ２、Ａ３〜Ｇ３、Ａ４〜Ｇ４、…、Ａ５〜Ｇ５のどちらかに一時的に保存されたマルチメディア情報は、それぞれ、コネクションＥＰ２、ＥＰ３、ＥＰ４、ＥＰ５を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。
【００４０】
図７に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末１１はストリームデータＳ１の再生要求を配信用ネットワーク１３を介してバッファサーバ１４に送信する（段階７１）。バッファサーバ１４はＳ１再生初期化要求をディスクサーバ１５に送信する（段階７２）。ディスクサーバ１５は、ストリームＳ１の帯域から消費するＥＰの本数（ｎ）を計算し、ｎ本の連続した未使用のＥＰを検索し、ｍ＋１番からｍ＋ｎ番までが未使用であるとすると、ｍ＋１番からｍ＋ｎ番までのＥＰを確保する（段階７３）。ディスクサーバ１５はＥＰ確保応答をバッファサーバ１４に送信する（段階７４）。バッファサーバ１４はｍ＋１番からｍ＋ｎ番までのＥＰが未使用であることを確認してＥＰを確保する（段階７５）。
【００４１】
バッファサーバ１４はストリームデータの転送要求をディスクサーバ１５へ送信する（段階７６）。ディスクサーバ１５はディスク１６から１フレーム分のマルチメディア情報（分割マルチメディア情報）を、ｍ＋１番からｍ＋ｎ番までのＥＰに対応するメモリブロックＡｍ＋１からＡｍ＋ｎに読み込む（段階７７）。ディスクサーバ１５のメモリブロックＡｍ＋１からＡｍ＋ｎに読み込まれた分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、バッファサーバ１４のメモリブロックＡｍ＋１からＡｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階７８）。バッファサーバ１４はメモリブロックＡｍ＋１からＡｍ＋ｎに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク１３を介して端末１１に送信し、端末１１はフレームをディスプレイに表示する（段階７９）。
【００４２】
段階７９のマルチメディア情報の送信が終わるのを待つことなく、バッファサーバ１４はディスクサーバ１５にデータ転送要求を行い（段階８０）、ディスクサーバ１５はディスク１６から１フレーム分のマルチメディア情報（分割マルチメディア情報）を、メモリブロックＢｍ＋１からＢｍ＋ｎに読み込む（段階８１）。ディスクサーバ１５のメモリブロックＢｍ＋１からＢｍ＋ｎに読み込まれた分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、バッファサーバ１４のメモリブロックＢｍ＋１からＢｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階８２）。バッファサーバ１４は前のフレームのマルチメディア情報の送信終了後、メモリブロックＢｍ＋１からＢｍ＋ｎに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク１３を介して端末１１に送信し、端末１１はフレームをディスプレイに表示する（段階８３）。
【００４３】
段階８３のマルチメディア情報の送信が終わるのを待つことなく、バッファサーバ１４はディスクサーバ１５にデータ転送要求を行い（段階８４）、同様にして、メモリブロックＣｍ＋１からＣｍ＋ｎを使って遠隔ダイレクトメモリアクセス機能により転送される。その後も、同様に、次のメモリブロックを使って遠隔ダイレクトメモリアクセス機能により転送される。
【００４４】
ディスクサーバ１５はディスク１６から読み込まれた分割マルチメディア情報はＡ、Ｂ、Ｃ、…、Ｇに循環的に一次的に保存する。すなわち、Ａ、Ｂ、Ｃ、…、Ｇに順番に一次的に保存し、Ｇの次はＡに一次的に保存し、これが繰り返される。一方、バッファサーバ１４ではディスクサーバ１５から分割マルチメディア情報がＡ、Ｂ、Ｃ、…、Ｘに循環的に転送される。すなわち、Ａ、Ｂ、Ｃ、…、Ｘに順番に一次的に保存され、Ｘの次はＡに一次的に保存され、これが繰り返される。
【００４５】
本実施例では、バッファサーバ１４およびディスクサーバ１５はそれぞれ、マルチメディア情報の転送に必要な帯域のコネクション数と同数のメモリブロックからなるメモリブロック群を複数個作成し、ディスクサーバ１５がディスク１６から読み込んだ分割マルチメディア情報を、複数個のメモリブロック群に循環的に一次的に保存し、複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、保存された順序で循環的に、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能によりバッファサーバ１４の対応するメモリブロックに転送される。このように複数個のメモリブロック群を使用しているため、端末１１に対して、マルチメディア情報を連続して送信することができる。
【００４６】
本実施例における分散型マルチメディアサーバシステム１０が端末１１からマルチメディア情報を受信する場合のシーケンス図は、実施例１の図５のシーケンス図において、段階６１の分割マルチメディア情報転送の前に、段階６３のマルチメディア情報受信を行える点が異なるだけであり、また、複数のメモリブロック群の使用法は再生の時の逆になるだけであるから、その説明は省略する。
【００４７】
一般的にいえば、本実施例は、バッファサーバおよびディスクサーバはそれぞれ、メモリブロック群を複数個作成し、バッファサーバまたはディスクサーバは、分割マルチメディア情報を、複数個のメモリブロック群に循環的に一次的に保存し、バッファサーバまたはディスクサーバの複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、循環的に各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能によりディスクサーバまたはバッファサーバに転送されるものである。
【実施例３】
【００４８】
図８は、実施例３の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。実施例１（図１参照）がディスクサーバを１個しか有していないのに対して、本実施例の分散型マルチメディアサーバシステム８０は複数個のディスクサーバを有する。図８において、８１はバッファサーバであり、８２、８３はディスクサーバであり、８４、８５はディスクサーバ８２、８３に接続されたディスクである。なお、図８は、ディスクサーバが２個の場合であるが、３個以上でもよい。ディスク８４、８５には、分割したマルチメディア情報である分割マルチメディア情報が分割した単位（図８ではフレーム単位）で、循環的に（図８に示すようにディスクサーバが２個の場合は交互に）蓄積される。
【００４９】
図９に、本実施例のバッファサーバ８１およびディスクサーバ８２、８３のメモリ構造を示す。バッファサーバ８１のメモリブロック群６１〜６４、ディスクサーバ８２のメモリブロック群６５〜６８は実施例２の図６と同様である。この他に、バッファサーバ８１とディスクサーバ８３が遠隔ダイレクトメモリアクセス機能によりマルチメディア情報を転送するために、バッファサーバ８１は複数個のメモリブロック群９１〜９４を作成し、ディスクサーバ８３は複数個のメモリブロック群９５〜９８を作成する。コネクションＥＰ６は、バッファサーバ８１のメモリブロックＡ６、Ｂ６、Ｃ６、…、Ｘ６に対応すると共にディスクサーバ８３のメモリブロックＡ６、Ｂ６、Ｃ６、…、Ｇ６に対応している。バッファサーバ８１のメモリブロックＡ６、Ｂ６、Ｃ６、…、Ｘ６またはディスクサーバ８３のメモリブロックＡ６、Ｂ６、Ｃ６、…、Ｇ６のどちらかに一次的に保存されたマルチメディア情報はコネクションＥＰ６を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。同様に、コネクションＥＰ７、ＥＰ８、ＥＰ９、ＥＰ１０も、それぞれ、バッファサーバ８１のメモリブロックＡ７〜Ｘ７、Ａ８〜Ｘ８、Ａ９〜Ｘ９、Ａ１０〜Ｘ１０に対応すると共にディスクサーバ８３のメモリブロックＡ７〜Ｇ７、Ａ８〜Ｇ８、Ａ９〜Ｇ９、Ａ１０〜Ｇ１０に対応している。バッファサーバ８１のメモリブロックＡ７〜Ｘ７、Ａ８〜Ｘ８、Ａ９〜Ｘ９、Ａ１０〜Ｘ１０またはディスクサーバ８３のメモリブロックＡ７〜Ｇ７、Ａ８〜Ｇ８、Ａ９〜Ｇ９、Ａ１０〜Ｇ１０のどちらかに一次的に保存されたマルチメディア情報は、それぞれ、コネクションＥＰ７、ＥＰ８、ＥＰ９、ＥＰ１０を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。
【００５０】
図１０に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末１１はストリームデータＳ１の再生要求を配信用ネットワーク１３を介してバッファサーバ８１に送信する（段階１０１）。
【００５１】
バッファサーバ８１はＳ１再生初期化要求をディスクサーバ８２に送信する（段階１０２）。ディスクサーバ８２は、ストリームＳ１の帯域から消費するＥＰの本数（ｎ）を計算し、ｎ本の連続した未使用のＥＰを検索し、ｍ＋１番からｍ＋ｎ番までが未使用であるとすると、ｍ＋１番からｍ＋ｎ番までのＥＰを確保する（段階１０３）。ディスクサーバ８２はＥＰ確保応答をバッファサーバ８１に送信する（段階１０４）。バッファサーバ８１はｍ＋１番からｍ＋ｎ番までのＥＰが未使用であることを確認してＥＰを確保する（段階１０５）。
【００５２】
バッファサーバ８１はＳ１再生初期化要求をディスクサーバ８３に送信する（段階１０６）。ディスクサーバ８３は、ストリームＳ１の帯域から消費するＥＰの本数（ｎ）を計算し、ｎ本の連続した未使用のＥＰを検索し、ｐ＋１番からｐ＋ｎ番までが未使用であるとすると、ｐ＋１番からｐ＋ｎ番までのＥＰを確保する（段階１０７）。ディスクサーバ８３はＥＰ確保応答をバッファサーバ８１に送信する（段階１０８）。バッファサーバ８１はｐ＋１番からｐ＋ｎ番までのＥＰが未使用であることを確認してＥＰを確保する（段階１０９）。
【００５３】
バッファサーバ８１はストリームデータの転送要求をディスクサーバ８２へ送信する（段階１１０）。ディスクサーバ８２はディスク８４から分割マルチメディア情報（フレーム＃１）を、ｍ＋１番からｍ＋ｎ番までのＥＰに対応するメモリブロックＡｍ＋１からＡｍ＋ｎに読み込む（段階１１１）。ディスクサーバ８２のメモリブロックＡｍ＋１からＡｍ＋ｎに読み込まれた分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、バッファサーバ８１のメモリブロックＡｍ＋１からＡｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階１１２）。バッファサーバ８１はメモリブロックＡｍ＋１からＡｍ＋ｎに記憶された分割マルチメディア情報（フレーム＃１）をパケット化し、配信用ネットワーク１３を介して端末１１に送信し、端末１１はフレーム＃１をディスプレイに表示する（段階１１３）。
【００５４】
フレーム＃１の送信が終わるのを待つことなく、バッファサーバ８１はディスクサーバ８３にデータ転送要求を行い（段階１１４）、ディスクサーバ８３はディスク８５から分割マルチメディア情報（フレーム＃２）を、メモリブロックＡｐ＋１からＡｐ＋ｎに読み込む（段階１１５）。ディスクサーバ８３のメモリブロックＡｐ＋１からＡｐ＋ｎに読み込まれた分割マルチメディア情報は、ｐ＋１番からｐ＋ｎ番までのＥＰを用いて、バッファサーバ８１のメモリブロックＡｐ＋１からＡｐ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階１１６）。バッファサーバ８１は前の分割マルチメディア情報（フレーム＃１）のマルチメディア情報の転送終了後、メモリブロックＡｐからＡｐ＋ｎに記憶された分割マルチメディア情報（フレーム＃２）をパケット化し、配信用ネットワーク１３を介して端末１１に送信し、端末１１はフレーム＃２をディスプレイに表示する（段階１１７）。
【００５５】
フレーム＃２の送信が終わるのを待つことなく、バッファサーバ８１はストリームデータの転送要求をディスクサーバ８２へ送信する（段階１１８）。ディスクサーバ８２はディスク８４から分割マルチメディア情報（フレーム＃３）を、ｍ＋１番からｍ＋ｎ番までのＥＰに対応するメモリブロックＢｍ＋１からＢｍ＋ｎに読み込む（段階１１９）。ディスクサーバ８２のメモリブロックＢｍ＋１からＢｍ＋ｎに読み込まれた分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、バッファサーバ８１のメモリブロックＢｍ＋１からＢｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階１２０）。
【００５６】
バッファサーバ８１はストリームデータの転送要求をディスクサーバ８３へ送信し（段階１２１）、同様にして、メモリブロックＢｐ＋１からＢｐ＋ｎを使って分割マルチメディア情報（フレーム＃４）が遠隔ダイレクトメモリアクセス機能によりディスクサーバ８３からバッファサーバ８１に転送される。その後も、同様に、バッファサーバ８１はディスクサーバ８２とディスクサーバ８３に対して循環的に（ディスクサーバが２個の場合は交互に）データ転送要求を送り、遠隔ダイレクトメモリアクセス機能により複数のディスクサーバから循環的に分割マルチメディア情報の転送を受ける。
【００５７】
図１１に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を蓄積する場合のシーケンス図を示す。端末１１はストリームデータＳ１の蓄積要求を配信用ネットワーク１３を介してバッファサーバ８１に送信する（段階１２５）。
バッファサーバ８１はＳ１蓄積初期化要求をディスクサーバ８２に送信する（段階１２６）。段階１２７〜１３３は再生時の図１０の段階１０３〜１０９と同様である。
【００５８】
バッファサーバ８１は端末１１からマルチメディア情報を受信し、１フレーム分の分割マルチメディア情報（フレーム＃１）を、確保されたＥＰに対応するメモリブロックＡｍ＋１からＡｍ＋ｎに一次的に格納する（段階１３４）。バッファサーバ８１のメモリブロックＡｍ＋１からＡｍ＋ｎに格納された分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、ディスクサーバ８２のメモリブロックＡｍ＋１からＡｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階１３５）。ディスクサーバ８２はメモリブロックＡｍ＋１からＡｍ＋ｎに記憶された分割マルチメディア情報（フレーム＃１）をディスク８４に書き込む（段階１３７）。
【００５９】
バッファサーバ８１は端末１１からマルチメディア情報を受信し、１フレーム分の分割マルチメディア情報（フレーム＃２）を、確保されたＥＰに対応するメモリブロックＡｐ＋１からＡｐ＋ｎに一次的に格納する（段階１３６）。バッファサーバ８１のメモリブロックＡｐ＋１からＡｐ＋ｎに格納された分割マルチメディア情報は、ｐ＋１番からｐ＋ｎ番までのＥＰを用いて、ディスクサーバ８３のメモリブロックＡｐ＋１からＡｐ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階１３８）。ディスクサーバ８３はメモリブロックＡｐからＡｐ＋ｎに記憶された分割マルチメディア情報（フレーム＃２）をディスク８５に書き込む（段階１４０）。
【００６０】
バッファサーバ８１は端末１１からマルチメディア情報を受信し、１フレーム分の分割マルチメディア情報（フレーム＃３）を、確保されたＥＰに対応するメモリブロックＢｍ＋１からＢｍ＋ｎに一次的に格納する（段階１３９）。バッファサーバ８１のメモリブロックＢｍ＋１からＢｍ＋ｎに格納された分割マルチメディア情報は、ｍ＋１番からｍ＋ｎ番までのＥＰを用いて、ディスクサーバ８２のメモリブロックＢｍ＋１からＢｍ＋ｎに遠隔ダイレクトメモリアクセス機能により転送される（段階１４１）。これが繰り返され、バッファサーバ８１が端末１１から受信したマルチメディア情報は分割マルチメディア情報の単位毎に（フレーム毎に）、循環的に（ディスクサーバが２個の場合は交互に）複数のディスクに蓄積される。
【００６１】
一般的にいえば、本実施例は、ディスクサーバを複数個有し、バッファサーバは、複数個のディスクサーバに対応して複数個のメモリブロック群を作成し、複数個のメモリブロック群を循環的に使用するものである。
【実施例４】
【００６２】
実施例４の分散型マルチメディアサーバシステムを有する全体のシステムは実施例３の図８と同じであり、実施例３と異なる点はバッファサーバ８１、ディスクサーバ８２、８３のメモリ構造である。図１２に実施例４のバッファサーバ８１、ディスクサーバ８２、８３のメモリ構造を示す。実施例３の図９に示すメモリ構造は実施例２の図６に示すメモリ構造を複数個のディスクサーバがある場合に拡張したものであるが、実施例４の図１２に示すメモリ構造は実施例１の図３に示すメモリ構造を複数個のディスクサーバがある場合に拡張したものである。
【００６３】
図１２に示すように、本実施例においては、バッファサーバ８１はメモリブロック群６１（Ａ１〜Ａ５）とメモリブロック群９１（Ａ６〜Ａ１０）を有し、ディスクサーバ８２はメモリブロック群６５（Ａ１〜Ａ５）を有し、ディスクサーバ８３はメモリブロック群９５（Ａ１〜Ａ５）を有する。マルチメディア情報の再生、蓄積のシーケンスは、メモリブロック群６１、９１、６５、９５に一次的に保存した分割マルチメディア情報の転送等が終了した後でなければ次の分割マルチメディア情報を同じメモリブロック群に一次的に保存できないことを除き、実施例３と同様である。
【００６４】
実施例４では、複数のディスクサーバを循環的に使用するため、例えば、バッファサーバ８１は、ディスクサーバ８２から転送されたメモリブロック群６１（Ａ１〜Ａ５）の分割マルチメディア情報を端末１１へ送信するのが終了していなくても、次にデータ送信要求を送るのはディスクサーバ８３であるから、メモリブロック群９１（Ａ６〜Ａ１０）内の分割マルチメディア情報の送信が既に終了していれば、次の分割マルチメディア情報（次のフレーム）のデータ転送要求をディスクサーバ８３に送信することができ、マルチメディア情報を連続して送信することができる。
【実施例５】
【００６５】
図１３は、実施例５の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。本実施例の分散型マルチメディアサーバシステム１３０は、複数のバッファサーバ１３１、１３２、１３３…、複数のディスクサーバ１３４、１３５、１３６…、複数のディスク１３７、１３８、１３９…、およびロードバランサ１４０を有する。
【００６６】
図１３に示すように、複数のディスク１３７、１３８、１３９…に、マルチメディア情報が分割して蓄積される。図１３においては、フレーム＃１がディスク１３７に蓄積され、フレーム＃２がディスク１３８に蓄積され、フレーム＃３がディスク１３９に蓄積されている。そして、複数のバッファサーバ１３１、１３２、１３３…が複数のディスクサーバ１３４、１３５、１３６…に対してアクセスする。複数のバッファサーバのうちの１個のバッファサーバ（例えば１３１）と複数のディスクサーバ１３４、１３５、１３６…との間のマルチメディア情報の転送、蓄積のシーケンスは実施例３（図１０、１１参照）と同様である。図１３では、実線で示すように、バッファサーバ１３１は端末１１に配信し、一方、点線で示すように、バッファサーバ１３３は端末１２に配信している。
【００６７】
本実施例では、バッファサーバを複数用意し、複数のバッファサーバと端末との間にロードバランサ１４０等の負荷分散装置を置くことによって負荷を分散させることが出来るため、分散サーバシステム全体で高いスループットを得ることが出来る。
【００６８】
以上説明した各実施例の各サーバは、それぞれの機能、動作、段階を実現するための手段を有しており、それらの手段はコンピュータとプログラムによって構成することができ、そのプログラムは記憶媒体に記憶することができる。また、プログラムを用いる代わりに、その一部または全部をハードウェアで構成することもできる。
【００６９】
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００７０】
【図１】実施例１の全体のシステムを示す図である。
【図２】実施例１のマルチメディア情報の転送方法を説明するための図である。
【図３】実施例１のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図４】実施例１の配信する場合のシーケンス図である。
【図５】実施例１の受信する場合のシーケンス図である。
【図６】実施例２のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図７】実施例２の配信する場合のシーケンス図である。
【図８】実施例３の全体のシステムを示す図である。
【図９】実施例３のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図１０】実施例３の配信する場合のシーケンス図である。
【図１１】実施例３の蓄積する場合のシーケンス図である。
【図１２】実施例４のバッファサーバとディスクサーバのメモリ構造を示す図である
【図１３】実施例５の全体のシステムを示す図である。
【符号の説明】
【００７１】
１０…分散型マルチメディアサーバシステム、１１、１２…端末、１３…配信用ネットワーク、１４…バッファサーバ、１５…ディスクサーバ、１７…クラスタ間接続ネットワーク、１８…ローカルエリアネットワーク、２１〜２４…メモリブロック、３１、３２…メモリブロック群、３３、３６…コネクション、３４、３５、３７、３８…ＥＰ（End Point）、６１〜６４、６５〜６８…メモリブロック群、８０…分散型マルチメディアサーバシステム、８１…バッファサーバ、８２、８３…ディスクサーバ、８４、８５…ディスク、９１〜９４、９５〜９８…メモリブロック群、１３０…分散型マルチメディアサーバシステム、１３１〜１３３…バッファサーバ、１３４〜１３６…ディスクサーバ、１３７〜１３９…ディスク、１４０…ロードバランサ
【図１】
2008294794.tif 000003
【図２】
2008294794.tif 000004
【図３】
2008294794.tif 000005
【図４】
2008294794.tif 000006
【図５】
2008294794.tif 000007
【図６】
2008294794.tif 000008
【図７】
2008294794.tif 000009
【図８】
2008294794.tif 000010
【図９】
2008294794.tif 000011
【図１０】
2008294794.tif 000012
【図１１】
2008294794.tif 000013
【図１２】
2008294794.tif 000014
【図１３】
2008294794.tif 000015