分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法
【課題】様々な帯域のストリームの転送要求に対して柔軟に対応できる分散型マルチメディアサーバシステムを提供する。
【解決手段】分散型マルチメディアサーバシステム10は、遠隔ダイレクトメモリアクセス機能を有するクラスタ間接続ネットワーク17によって接続されたバッファサーバ14とディスクサーバ15を有する。クラスタ間接続ネットワーク17は、コネクションを複数組み合わせることにより必要な帯域を確保することができる。バッファサーバ14は、端末11からの再生要求に基づくマルチメディア情報の転送に必要な帯域に対応した複数のコネクションを介してディスクサーバ15から遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、端末11に配信する。ディスクサーバ15は、マルチメディア情報をディスク16から読み込み、複数のコネクションを介してバッファサーバへ遠隔ダイレクトメモリアクセス機能により情報を転送する。
【解決手段】分散型マルチメディアサーバシステム10は、遠隔ダイレクトメモリアクセス機能を有するクラスタ間接続ネットワーク17によって接続されたバッファサーバ14とディスクサーバ15を有する。クラスタ間接続ネットワーク17は、コネクションを複数組み合わせることにより必要な帯域を確保することができる。バッファサーバ14は、端末11からの再生要求に基づくマルチメディア情報の転送に必要な帯域に対応した複数のコネクションを介してディスクサーバ15から遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、端末11に配信する。ディスクサーバ15は、マルチメディア情報をディスク16から読み込み、複数のコネクションを介してバッファサーバへ遠隔ダイレクトメモリアクセス機能により情報を転送する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末からの要求に応じて、要求されたマルチメディア情報を端末に遅滞なく配信、または、端末から送信されたマルチメディア情報を蓄積することが可能な分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法に関する。
【背景技術】
【0002】
従来の分散型マルチメディアサーバシステムの構成例として、特許文献1等に記載されたものがある。特許文献1に記載された分散型マルチメディアサーバシステムは、通信サーバモジュール、蓄積サーバモジュールおよびローカルエリアネットワークを有している。マルチメディア情報の配信は次の手順で行われる。通信サーバモジュールが端末からの読み取り要求を受信し、要求されたマルチメディア情報の読み取り要求をローカルエリアネットワークを介して蓄積サーバモジュールに対して送信する。この読み出し要求を受信した蓄積サーバモジュールは、要求されたマルチメディア情報をローカルエリアネットワークを介して通信サーバモジュールに送信する。それを受信した通信サーバモジュールは、マルチメディア情報をくみ上げ、配信用のネットワークを通じて端末へ送信する。同様に、通信サーバモジュールはマルチメディア情報の読み出し要求を蓄積サーバモジュールに対して送信し、蓄積サーバモジュールは要求されたマルチメディア情報を通信サーバモジュールに送信し、これを繰り返す。
【0003】
非特許文献1、2(執筆者に本発明者の一部が含まれている)には、複数のバッファサーバと複数のディスクサーバをInfiniBand(非特許文献3参照)を用いた相互結合網で接続した分散型マルチメディアサーバシステムが記載されている。この分散型マルチメディアサーバシステムでは、マルチメディア情報の配信は次の手順で行われる。送信開始メッセージを受信したバッファサーバは先頭の映像フレームを格納しているディスクサーバに対して読み出し要求メッセージを送信する。読み出し要求を受信したディスクサーバはRAID(Redundant Array of Inexpesive Disk)から映像フレームを読み出し、ディスクサーバ内のバッファメモリにその映像フレームを格納し、バッファサーバに対して映像フレームを格納しているメモリ情報を応答メッセージにのせて通知する。以降、ディスクサーバは、疑似リアルタイムモジュールの機能を使って一定時間間隔で、自律的にRAIDからデータ読み出しを実行する。バッファサーバは、ディスクサーバから送られてきたメモリ情報を元に映像フレームを非特許文献1、2の通り遠隔ダイレクトメモリアクセス機能を使ってディスクサーバから読み出す。この処理と並行して、疑似リアルタイム制御モジュールの機能を使って、一定時間間隔で、映像フレームをパケット化して再生用の端末に送信する。疑似リアルタイム制御モジュールの機能により、一定時間後に、次の映像フレームが格納されているディスクサーバに対して読み出しの要求を行う。これを繰り返す。
【0004】
【特許文献1】特許第3461278号公報
【非特許文献1】小倉毅外5名、「InfiniBandを用いたPCクラスタ型高速ストリームサーバアーキテクチャ」、信学技報、Vol.105、No.86、pp.33−36、発表日2005/5/27
【非特許文献2】君山博之外5名、「PCクラスタを用いたIPネットワークベースの非圧縮HDTV10多重ストリームサーバ」、マルチメディア,分散,協調とモバイル(DICOMO2005)シンポジュウム予稿集、pp.797−800(巻数、号なし)、発表日2005/7/8
【非特許文献3】INFINIBAND(SM) TRADE ASSOCIATION、[online]、[平成17年5月6日検索]、インターネット<http://www.infinibandta.org/events/past/it_roadshow/fabric_tco_ibm.pdf>
【非特許文献4】Myrinet Overview、[online]、[平成17年5月6日検索]、インターネット<http://www.myrinet.com/myrinet/overview/>
【非特許文献5】独立行政法人 産業技術総合研究所 先端情報計算センター、“AISTスーパークラスタ”、[online]、[平成17年5月6日検索]、インターネット<http://unit.aist.go.jp/tacc/supercluster.html>
【非特許文献6】Remote Direct Memory Access - Wikipedia, the free encyclopedia、[online]、[平成19年1月18日検索]、インターネット<http://en.wikipedia.org/wiki/Remote_Direct_Memory_Access>
【発明の開示】
【発明が解決しようとする課題】
【0005】
非特許文献1、2に記載された分散型マルチメディアサーバシステムでは、バッファサーバとディスクサーバ間のデータ転送においてを高スループットを確保するためにInfiniBandおよび遠隔ダイレクトメモリアクセス(Remote Direct Memory Access)機能を用いている。遠隔ダイレクトメモリアクセス機能は、非特許文献6の通り、2つのコンピュータ間でそれらのメモリに格納されているデータを、ネットワークを介して転送する機能であり、ネットワークカードの機能を活用し、低負荷でかつ高速なデータ転送を実現することができる機能である。その結果、低いシステムコストで高いトータルスループットを得ることが可能となった。
【0006】
しかし、非特許文献1、2に記載された分散型マルチメディアサーバシステムでは、遠隔ダイレクトメモリアクセスによる転送処理を一定時間間隔で起動することによってバッファサーバ、ディスクサーバ間の転送レートを一定に保ち、クラスタ間接続ネットワークのトラヒックを一定に保ち、実時間性を担保している。様々なレートのマルチメディア情報を転送するためには、転送レートを変える必要があり、そのためにはリクエスト毎に遠隔ダイレクトメモリアクセスで利用するメモリサイズを変更するか、または、転送処理の起動間隔を変える方法しかない。しかし、転送処理の起動間隔を変えた場合、クラスタ間接続ネットワーク全体のトラヒックが一定になるように起動間隔を計算するのは難しいため、メモリサイズを変更する方法を利用する必要がある。ところが、遠隔ダイレクトメモリアクセス転送機能は前述した通りハードウェアの機能を利用するため、メモリサイズを変更する場合は、ハードウェアの初期化が必要となり、他のリクエストに対応した転送が止まる問題がある。
【0007】
本発明の目的は、低いシステムコストで高いトータルスループットを得ることができるとともに、様々な帯域のストリームの転送要求に対して、柔軟に対応することができる分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法を提供することにある。
【課題を解決するための手段】
【0008】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0009】
第1の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、複数のコネクションを設定することができ、そのコネクションを複数組み合わせたコネクション束を使うことができるネットワークまたはバスシステムであり、コネクション毎に、遠隔ダイレクトメモリアクセスで使用するメモリブロックを割り当てることによって、コネクション毎に帯域を設定するとともに、前記第1のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第2のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信し、前記第2のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第1のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、ことを特徴とする。
【0010】
第2の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、前記第1のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第2のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、前記第2のサーバは、前記コネクション束を介して前記第1のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、ことを特徴とする。
【0011】
第3の発明は、第1の発明において、前記第2のサーバを複数個有し、前記第1のサーバは、前記コネクション束を介して前記複数個の第2のサーバから循環的にマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信する、ことを特徴とする。
【0012】
第4の発明は、第2の発明において、前記第2のサーバを複数個有し、前記第1のサーバは、端末から受信したマルチメディア情報を、前記コネクション束を介して前記複数個の第2のサーバに循環的に転送する、ことを特徴とする。
【0013】
第5の発明は、第1〜第4の発明において、前記コネクション束に対応する前記メモリブロックを1つのメモリブロック群として、そのメモリブロック群は全体として連続したメモリ空間であることを特徴とする。
【0014】
第6の発明は、第5の発明において、前記第1のサーバおよび前記第2のサーバはそれぞれ、前記メモリブロック群を複数個作成し、前記第1のサーバまたは前記第2のサーバは、前記マルチメディア情報を、前記複数個のメモリブロック群に循環的に一次的に保存し、前記第1のサーバまたは前記第2のサーバの前記複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能により前記第2のサーバまたは前記第1のサーバに循環的に転送される、ことを特徴とする。
【0015】
第7の発明は、第5〜第6の発明において、前記第2のサーバを複数個有し、前記第1のサーバは、複数個の第2のサーバに対応して複数個のメモリブロック群を作成し、前記複数個のメモリブロック群を循環的に使用する、ことを特徴とする。
【0016】
第8の発明は、第1〜第7の発明において、前記第2のサーバは、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で前記記憶装置に蓄積し、前記第1のサーバと前記第2のサーバ間で、前記分割した単位で分割マルチメディア情報が転送される、ことを特徴とする。
【0017】
第9の発明は、第1〜第8の発明において、前記第1のサーバを複数個有することを特徴とする。
【0018】
第10の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報配信方法であって、第1の発明と同様な特徴を有する。
【0019】
第11の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積方法であって、第2の発明と同様な特徴を有する。
【発明の効果】
【0020】
本発明により、低いシステムコストで高いトータルスループットを得ることができるとともに、様々な帯域のストリームの転送要求に対して、柔軟に対応することができる分散型マルチメディアサーバシステムを得ることができる。
【発明を実施するための最良の形態】
【0021】
以下、本発明を実施例を用いて詳細に説明する。なお、各図において同じ機能を有するものには同じ符号を付け、重複した説明は省略する。
【実施例1】
【0022】
図1は、本発明の実施例1の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。図1において、10は分散型マルチメディアサーバシステムであり、11、12はユーザが操作する端末であり、13は配信用ネットワークである。図には端末を2個示しているが、何個でもよい。分散型マルチメディアサーバシステム10は、バッファサーバ(第1のサーバ)14とディスクサーバ(第2のサーバ)15とディスク(記憶装置)16とを有する。17はクラスタ間接続ネットワークであり、18はローカルエリアネットワークである。
【0023】
バッファサーバ14は、端末11、12からの要求を受けて、マルチメディア情報の送信または受信を行うサーバである。ディスクサーバ15は、マルチメディア情報を例えば1フレーム毎に分割して格納するディスク16を持っており、ディスク16からのマルチメディア情報の読み出し、またはディスク16への書き込みを行う。なお、マルチメディア情報の分割の単位は1フレーム毎に限定されない。
【0024】
バッファサーバ14とディスクサーバ15との間は、遠隔ダイレクトメモリアクセス機能が利用できるネットワークまたはバスシステムで接続されている。図1ではクラスタ間接続ネットワーク17で接続されている。バッファサーバ14とディスクサーバ15とは、遠隔ダイレクトメモリアクセス機能を用いて、お互いのバッファメモリ中のデータを参照することが可能である。本実施例では、ネットワーク17として並列計算機用のクラスタ間接続ネットワークを利用することを目的としているため、メッセージ通信の機能は備えているものとする。しかし、それが不可能な場合などの場合は、後述する分割マルチメディア情報読み出し要求やその応答などのメッセージの交換用に、例えば図1に示すようなローカルエリアネットワーク18を利用することも可能である。この場合は、バッファサーバ14とディスクサーバ15は、遠隔ダイレクトメモリアクセス機能を用いることができるネットワーク17と遠隔ダイレクトメモリアクセス機能を用いることができないローカルエリアネットワーク18の両方で接続される。端末11、12と分散型マルチメディアサーバシステム10の間はワイドエリアネットワークなどの配信用ネットワーク13で結ばれている。
【0025】
本実施例においてクラスタ間接続ネットワーク17として使用する並列計算機を構成するためのクラスタ間接続ネットワークの具体例としては、例えば非特許文献3、非特許文献4、非特許文献5などがある。本実施例では非特許文献3のInfiniBandを用いてクラスタ間接続ネットワークを構成する。このネットワークは、ハードウェアで通信の信頼性の確保を実現しているため、高速低負荷、低コストである反面、サーバ間のメッセージの送受信やメモリ共有に使う目的で設計されているため、映像データのようなストリームの転送機能は持ち合わせていない。しかし、この遠隔ダイレクトメモリアクセス機能と呼ばれるメモリ共有機能は、このクラスタ間接続ネットワークにより接続されたサーバのメモリを他のサーバから自由にアクセス出来るようにする機能で、ほとんどの処理をネットワークカードのハードウェアで実現しており、サーバのCPUに負荷をほとんどかけずにデータの転送を行うことが出来る。さらに、この遠隔ダイレクトメモリアクセス機能では、相手側のアドレスを得てしまえば、相手側が何もしなくてもデータの転送が行えるため、例えば、TCP/IPを使った処理では相手側はsend()などのシステムコールを呼び出さなければならないが、この機能を使うことによって、余計な処理を相手側で行わずにデータの転送が実現出来る。このネットワークを使うことが出来れば、低負荷でデータの転送が出来るため、高価でハイスペックなサーバシステムを導入することなく、低コストなサーバにより高い転送能力を持つサーバシステムを構築することが出来、サーバと内部結合ネットワークのコストを削減することが出来る。
【0026】
図2は、本実施例の分散型マルチメディアサーバシステム10内のマルチメディア情報の転送方法を説明するための図である。図2においては、マルチメディア情報のストリーム配信の場合を示すが、マルチメディア情報をファイルとして配信することもできる。マルチメディア情報は非圧縮のものでも、圧縮されたものであってもよい。
【0027】
本実施例の分散型マルチメディアサーバシステム10は、起動時にクラスタ間接続ネットワーク(具体的にはInfiniBandを用いたネットワーク)17の帯域(例えば10Gbps)を複数の小帯域(例えば50Mbps)に分割するために、バッファサーバ14、ディスクサーバ15に例えば50Mbitのメモリブロックを複数用意する。以下、分割された小帯域に対して1つのコネクションを割り当てる。この例の場合は、説明の簡単化のために1秒に1回遠隔ダイレクトメモリアクセスによる転送処理を起動することを前提とした。そして、ストリーム転送の要求帯域に応じて、そのコネクションを複数組み合わせたコネクション束を使用することにより、所望の帯域を確保する。
【0028】
図2は、分散型マルチメディアサーバシステム10が、端末11に対して100Mbpsの帯域を必要とするストリームデータS1を配信し、端末12に対して150Mbpsの帯域を必要とするストリームデータS2を配信している場合を示している。ストリームデータS1の転送のために、バッファサーバ14はメモリブロック21を確保し、ディスクサーバ15はメモリブロック22を確保し、クラスタ間接続ネットワーク17のコネクション(50Mbps)のうち2本分(100Mbps分)を使用する。ディスクサーバ15はディスク16から端末11へ配信するためのマルチメディア情報をメモリブロック22に読み込む。そのマルチメディア情報は2本分(100Mbps分)のコネクションを使って遠隔ダイレクトメモリアクセス機能によりバッファサーバ14のメモリブロック21に転送され、バッファサーバ14はこれを配信用ネットワーク13を介して端末11に送信する。同様に、ストリームデータS2の転送のために、バッファサーバ14はメモリブロック23を確保し、ディスクサーバ15はメモリブロック24を確保し、クラスタ間接続ネットワーク17のコネクション(50Mbps)のうち3本分(150Mbps分)を使用する。ディスクサーバ15はディスク16から端末12へ配信するためのマルチメディア情報をメモリブロック24に読み込む。そのマルチメディア情報は3本分(150Mbps分)のコネクションを使ってバッファサーバ14のメモリブロック23に転送され、バッファサーバ14はこれを配信用ネットワーク13を介して端末12に送信する。
【0029】
図3に、バッファサーバ14とディスクサーバ15のメモリ構造を示す。31はバッファサーバ14内のメモリに作成されたメモリブロック群であり、32はディスクサーバ15内のメモリに作成されたメモリブロック群である。メモリブロック群31、32はそれぞれメモリブロックA1、A2、A3、A4、A5からなる。33はクラスタ間接続ネットワーク17を分割した小帯域のコネクションである。34、35はEP(End Point、通信の端点を通信媒体の種類によらない形に抽象化したもの)である。
【0030】
ディスクサーバ15はバッファサーバ14が接続してきたときバッファサーバ14と同じ本数のメモリブロックからなるメモリブロック群を作成する。一つのストリームに使用するメモリブロック群は連続したメモリ空間である。コネクションEP1は、バッファサーバ14とディスクサーバ15のメモリブロックA1に対応しており、どちらかのサーバのメモリブロックA1に一次的に保存されたマルチメディア情報はコネクションEP1を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックA1に転送される。コネクションEP2〜EP5も、同様に、バッファサーバ14とディスクサーバ15のメモリブロックA2〜A5に対応しており、どちらかのサーバのメモリブロックA2〜A5に一次的に保存されたマルチメディア情報はコネクションEP2〜EP5を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックA2〜A5に転送される。バッファサーバ14とディスクサーバ15は、必要なコネクション数と同数のメモリブロックからなるメモリブロック群を作成する。必要なコネクション数が1の場合はメモリブロック群を構成するメモリブロックも1個となる。
【0031】
図4に、分散型マルチメディアサーバシステム10が端末11に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末11はストリームデータS1の再生要求を配信用ネットワーク13を介して分散型マルチメディアサーバシステム10のバッファサーバ14に送信する(段階41)。バッファサーバ14はS1再生初期化要求をディスクサーバ15に送信する(段階42)。ディスクサーバ15は、ストリームデータS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、m+1番からm+n番までが未使用であるとすると、m+1番からm+n番までのEPを確保する(段階43)。ディスクサーバ15はEP確保応答をバッファサーバ14に送信する(段階44)。バッファサーバ14はm+1番からm+n番までのEPが未使用であることを確認してEPを確保する(段階45)。
【0032】
バッファサーバ14はストリームデータの転送要求をディスクサーバ15へ送信する(段階46)。ディスクサーバ15はディスク16から1フレーム分のマルチメディア情報(分割マルチメディア情報)を、確保されたEPに対応するメモリブロックAm+1からAm+nに読み込む(段階47)。ディスクサーバ15のメモリブロックAm+1からAm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ14のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階48)。バッファサーバ14はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレームをディスプレイに表示する(段階49)。
【0033】
バッファサーバ14はディスクサーバ15にデータ転送要求を行い(段階50)、ディスクサーバ15はディスク16から分割マルチメディア情報を読み込み(段階51)、読み込まれた分割マルチメディア情報は遠隔ダイレクトメモリアクセス機能によりバッファサーバ14に転送され(段階52)、バッファサーバ14はマルチメディア情報を端末11に送信し、端末11はフレームを表示する。これが繰り返される。
【0034】
以上、図2のバッファサーバ14の端末11へのストリームデータS1の配信について詳細に説明した。バッファサーバ14は同時に端末12ヘストリームデータS2を配信しているが、ストリームデータS2の配信のシーケンスも上記と同様である。すなわち、バッファサーバ14およびディスクサーバ15の複数のスレッドがそれぞれ上記と同様のシーケンスで配信を行う。この点は以下に述べる蓄積する場合や他の実施例の場合でも同様である。
【0035】
図5に、分散型マルチメディアサーバシステム10が端末11からマルチメディア情報を受信する場合のシーケンス図を示す。端末11はストリームデータS1の蓄積要求を配信用ネットワーク13を介して分散型マルチメディアサーバシステム10のバッファサーバ14に送信する(段階55)。バッファサーバ14はS1蓄積初期化要求をディスクサーバ15に送信する(段階56)。ディスクサーバ15は、ストリームデータS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、m+1番からm+n番までが未使用であるとすると、m+1番からm+n番までのEPを確保する(段階57)。ディスクサーバ15はEP確保応答をバッファサーバ14に送信する(段階58)。バッファサーバ14はm+1番からm+n番までのEPが未使用であることを確認してEPを確保する(段階59)。
【0036】
バッファサーバ14は端末11からマルチメディア情報を受信し、1フレーム分のマルチメディア情報(分割マルチメディア情報)を、確保されたEPに対応するメモリブロックAm+1からAm+nに一次的に格納する(段階60)。バッファサーバ14のメモリブロックAm+1からAm+nに格納された分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、ディスクサーバ15のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階61)。ディスクサーバ15はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報をディスク16に書き込む(段階62)。
【0037】
バッファサーバ14は端末11からマルチメディア情報を受信し、1フレーム分のマルチメディア情報(分割マルチメディア情報)を、確保されたEPに対応するメモリブロックAm+1からAm+nに一次的に格納する(段階63)。バッファサーバ14のメモリブロックAm+1からAm+nに格納された分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、ディスクサーバ15のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階64)。ディスクサーバ15はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報をディスク16に書き込む(段階65)。これが繰り返される。
【実施例2】
【0038】
図6に実施例2のバッファサーバ14とディスクサーバ15のメモリ構造を示す。実施例2は実施例1とバッファサーバ14とディスクサーバ15のメモリ構造が相違するが、その他の点については実施例1と同様である。
【0039】
図6に示すように、バッファサーバ14は複数個のメモリブロック群61〜64を作成し、ディスクサーバ15は複数個のメモリブロック群65〜68を作成する。メモリブロック群61〜64とメモリブロック群65〜68の個数は同じであっても、異なっていてもよい。コネクションEP1は、バッファサーバ14のメモリブロックA1、B1、C1、…、X1に対応すると共にディスクサーバ15のメモリブロックA1、B1、C1、…、G1に対応している。バッファサーバ14のメモリブロックA1、B1、C1、…、X1またはディスクサーバ15のメモリブロックA1、B1、C1、…、G1のどちらかに一次的に保存されたマルチメディア情報はコネクションEP1を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。同様に、コネクションEP2、EP3、EP4、EP5も、それぞれ、バッファサーバ14のメモリブロックA2〜X2、A3〜X3、A4〜X4、…、A5〜X5に対応すると共にディスクサーバ15のメモリブロックA2〜G2、A3〜G3、A4〜G4、…、A5〜G5に対応している。バッファサーバ14のメモリブロックA2〜X2、A3〜X3、A4〜X4、…、A5〜X5またはディスクサーバ15のメモリブロックA2〜G2、A3〜G3、A4〜G4、…、A5〜G5のどちらかに一時的に保存されたマルチメディア情報は、それぞれ、コネクションEP2、EP3、EP4、EP5を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。
【0040】
図7に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末11はストリームデータS1の再生要求を配信用ネットワーク13を介してバッファサーバ14に送信する(段階71)。バッファサーバ14はS1再生初期化要求をディスクサーバ15に送信する(段階72)。ディスクサーバ15は、ストリームS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、m+1番からm+n番までが未使用であるとすると、m+1番からm+n番までのEPを確保する(段階73)。ディスクサーバ15はEP確保応答をバッファサーバ14に送信する(段階74)。バッファサーバ14はm+1番からm+n番までのEPが未使用であることを確認してEPを確保する(段階75)。
【0041】
バッファサーバ14はストリームデータの転送要求をディスクサーバ15へ送信する(段階76)。ディスクサーバ15はディスク16から1フレーム分のマルチメディア情報(分割マルチメディア情報)を、m+1番からm+n番までのEPに対応するメモリブロックAm+1からAm+nに読み込む(段階77)。ディスクサーバ15のメモリブロックAm+1からAm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ14のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階78)。バッファサーバ14はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレームをディスプレイに表示する(段階79)。
【0042】
段階79のマルチメディア情報の送信が終わるのを待つことなく、バッファサーバ14はディスクサーバ15にデータ転送要求を行い(段階80)、ディスクサーバ15はディスク16から1フレーム分のマルチメディア情報(分割マルチメディア情報)を、メモリブロックBm+1からBm+nに読み込む(段階81)。ディスクサーバ15のメモリブロックBm+1からBm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ14のメモリブロックBm+1からBm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階82)。バッファサーバ14は前のフレームのマルチメディア情報の送信終了後、メモリブロックBm+1からBm+nに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレームをディスプレイに表示する(段階83)。
【0043】
段階83のマルチメディア情報の送信が終わるのを待つことなく、バッファサーバ14はディスクサーバ15にデータ転送要求を行い(段階84)、同様にして、メモリブロックCm+1からCm+nを使って遠隔ダイレクトメモリアクセス機能により転送される。その後も、同様に、次のメモリブロックを使って遠隔ダイレクトメモリアクセス機能により転送される。
【0044】
ディスクサーバ15はディスク16から読み込まれた分割マルチメディア情報はA、B、C、…、Gに循環的に一次的に保存する。すなわち、A、B、C、…、Gに順番に一次的に保存し、Gの次はAに一次的に保存し、これが繰り返される。一方、バッファサーバ14ではディスクサーバ15から分割マルチメディア情報がA、B、C、…、Xに循環的に転送される。すなわち、A、B、C、…、Xに順番に一次的に保存され、Xの次はAに一次的に保存され、これが繰り返される。
【0045】
本実施例では、バッファサーバ14およびディスクサーバ15はそれぞれ、マルチメディア情報の転送に必要な帯域のコネクション数と同数のメモリブロックからなるメモリブロック群を複数個作成し、ディスクサーバ15がディスク16から読み込んだ分割マルチメディア情報を、複数個のメモリブロック群に循環的に一次的に保存し、複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、保存された順序で循環的に、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能によりバッファサーバ14の対応するメモリブロックに転送される。このように複数個のメモリブロック群を使用しているため、端末11に対して、マルチメディア情報を連続して送信することができる。
【0046】
本実施例における分散型マルチメディアサーバシステム10が端末11からマルチメディア情報を受信する場合のシーケンス図は、実施例1の図5のシーケンス図において、段階61の分割マルチメディア情報転送の前に、段階63のマルチメディア情報受信を行える点が異なるだけであり、また、複数のメモリブロック群の使用法は再生の時の逆になるだけであるから、その説明は省略する。
【0047】
一般的にいえば、本実施例は、バッファサーバおよびディスクサーバはそれぞれ、メモリブロック群を複数個作成し、バッファサーバまたはディスクサーバは、分割マルチメディア情報を、複数個のメモリブロック群に循環的に一次的に保存し、バッファサーバまたはディスクサーバの複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、循環的に各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能によりディスクサーバまたはバッファサーバに転送されるものである。
【実施例3】
【0048】
図8は、実施例3の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。実施例1(図1参照)がディスクサーバを1個しか有していないのに対して、本実施例の分散型マルチメディアサーバシステム80は複数個のディスクサーバを有する。図8において、81はバッファサーバであり、82、83はディスクサーバであり、84、85はディスクサーバ82、83に接続されたディスクである。なお、図8は、ディスクサーバが2個の場合であるが、3個以上でもよい。ディスク84、85には、分割したマルチメディア情報である分割マルチメディア情報が分割した単位(図8ではフレーム単位)で、循環的に(図8に示すようにディスクサーバが2個の場合は交互に)蓄積される。
【0049】
図9に、本実施例のバッファサーバ81およびディスクサーバ82、83のメモリ構造を示す。バッファサーバ81のメモリブロック群61〜64、ディスクサーバ82のメモリブロック群65〜68は実施例2の図6と同様である。この他に、バッファサーバ81とディスクサーバ83が遠隔ダイレクトメモリアクセス機能によりマルチメディア情報を転送するために、バッファサーバ81は複数個のメモリブロック群91〜94を作成し、ディスクサーバ83は複数個のメモリブロック群95〜98を作成する。コネクションEP6は、バッファサーバ81のメモリブロックA6、B6、C6、…、X6に対応すると共にディスクサーバ83のメモリブロックA6、B6、C6、…、G6に対応している。バッファサーバ81のメモリブロックA6、B6、C6、…、X6またはディスクサーバ83のメモリブロックA6、B6、C6、…、G6のどちらかに一次的に保存されたマルチメディア情報はコネクションEP6を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。同様に、コネクションEP7、EP8、EP9、EP10も、それぞれ、バッファサーバ81のメモリブロックA7〜X7、A8〜X8、A9〜X9、A10〜X10に対応すると共にディスクサーバ83のメモリブロックA7〜G7、A8〜G8、A9〜G9、A10〜G10に対応している。バッファサーバ81のメモリブロックA7〜X7、A8〜X8、A9〜X9、A10〜X10またはディスクサーバ83のメモリブロックA7〜G7、A8〜G8、A9〜G9、A10〜G10のどちらかに一次的に保存されたマルチメディア情報は、それぞれ、コネクションEP7、EP8、EP9、EP10を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。
【0050】
図10に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末11はストリームデータS1の再生要求を配信用ネットワーク13を介してバッファサーバ81に送信する(段階101)。
【0051】
バッファサーバ81はS1再生初期化要求をディスクサーバ82に送信する(段階102)。ディスクサーバ82は、ストリームS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、m+1番からm+n番までが未使用であるとすると、m+1番からm+n番までのEPを確保する(段階103)。ディスクサーバ82はEP確保応答をバッファサーバ81に送信する(段階104)。バッファサーバ81はm+1番からm+n番までのEPが未使用であることを確認してEPを確保する(段階105)。
【0052】
バッファサーバ81はS1再生初期化要求をディスクサーバ83に送信する(段階106)。ディスクサーバ83は、ストリームS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、p+1番からp+n番までが未使用であるとすると、p+1番からp+n番までのEPを確保する(段階107)。ディスクサーバ83はEP確保応答をバッファサーバ81に送信する(段階108)。バッファサーバ81はp+1番からp+n番までのEPが未使用であることを確認してEPを確保する(段階109)。
【0053】
バッファサーバ81はストリームデータの転送要求をディスクサーバ82へ送信する(段階110)。ディスクサーバ82はディスク84から分割マルチメディア情報(フレーム#1)を、m+1番からm+n番までのEPに対応するメモリブロックAm+1からAm+nに読み込む(段階111)。ディスクサーバ82のメモリブロックAm+1からAm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ81のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階112)。バッファサーバ81はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報(フレーム#1)をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレーム#1をディスプレイに表示する(段階113)。
【0054】
フレーム#1の送信が終わるのを待つことなく、バッファサーバ81はディスクサーバ83にデータ転送要求を行い(段階114)、ディスクサーバ83はディスク85から分割マルチメディア情報(フレーム#2)を、メモリブロックAp+1からAp+nに読み込む(段階115)。ディスクサーバ83のメモリブロックAp+1からAp+nに読み込まれた分割マルチメディア情報は、p+1番からp+n番までのEPを用いて、バッファサーバ81のメモリブロックAp+1からAp+nに遠隔ダイレクトメモリアクセス機能により転送される(段階116)。バッファサーバ81は前の分割マルチメディア情報(フレーム#1)のマルチメディア情報の転送終了後、メモリブロックApからAp+nに記憶された分割マルチメディア情報(フレーム#2)をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレーム#2をディスプレイに表示する(段階117)。
【0055】
フレーム#2の送信が終わるのを待つことなく、バッファサーバ81はストリームデータの転送要求をディスクサーバ82へ送信する(段階118)。ディスクサーバ82はディスク84から分割マルチメディア情報(フレーム#3)を、m+1番からm+n番までのEPに対応するメモリブロックBm+1からBm+nに読み込む(段階119)。ディスクサーバ82のメモリブロックBm+1からBm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ81のメモリブロックBm+1からBm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階120)。
【0056】
バッファサーバ81はストリームデータの転送要求をディスクサーバ83へ送信し(段階121)、同様にして、メモリブロックBp+1からBp+nを使って分割マルチメディア情報(フレーム#4)が遠隔ダイレクトメモリアクセス機能によりディスクサーバ83からバッファサーバ81に転送される。その後も、同様に、バッファサーバ81はディスクサーバ82とディスクサーバ83に対して循環的に(ディスクサーバが2個の場合は交互に)データ転送要求を送り、遠隔ダイレクトメモリアクセス機能により複数のディスクサーバから循環的に分割マルチメディア情報の転送を受ける。
【0057】
図11に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を蓄積する場合のシーケンス図を示す。端末11はストリームデータS1の蓄積要求を配信用ネットワーク13を介してバッファサーバ81に送信する(段階125)。
バッファサーバ81はS1蓄積初期化要求をディスクサーバ82に送信する(段階126)。段階127〜133は再生時の図10の段階103〜109と同様である。
【0058】
バッファサーバ81は端末11からマルチメディア情報を受信し、1フレーム分の分割マルチメディア情報(フレーム#1)を、確保されたEPに対応するメモリブロックAm+1からAm+nに一次的に格納する(段階134)。バッファサーバ81のメモリブロックAm+1からAm+nに格納された分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、ディスクサーバ82のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階135)。ディスクサーバ82はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報(フレーム#1)をディスク84に書き込む(段階137)。
【0059】
バッファサーバ81は端末11からマルチメディア情報を受信し、1フレーム分の分割マルチメディア情報(フレーム#2)を、確保されたEPに対応するメモリブロックAp+1からAp+nに一次的に格納する(段階136)。バッファサーバ81のメモリブロックAp+1からAp+nに格納された分割マルチメディア情報は、p+1番からp+n番までのEPを用いて、ディスクサーバ83のメモリブロックAp+1からAp+nに遠隔ダイレクトメモリアクセス機能により転送される(段階138)。ディスクサーバ83はメモリブロックApからAp+nに記憶された分割マルチメディア情報(フレーム#2)をディスク85に書き込む(段階140)。
【0060】
バッファサーバ81は端末11からマルチメディア情報を受信し、1フレーム分の分割マルチメディア情報(フレーム#3)を、確保されたEPに対応するメモリブロックBm+1からBm+nに一次的に格納する(段階139)。バッファサーバ81のメモリブロックBm+1からBm+nに格納された分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、ディスクサーバ82のメモリブロックBm+1からBm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階141)。これが繰り返され、バッファサーバ81が端末11から受信したマルチメディア情報は分割マルチメディア情報の単位毎に(フレーム毎に)、循環的に(ディスクサーバが2個の場合は交互に)複数のディスクに蓄積される。
【0061】
一般的にいえば、本実施例は、ディスクサーバを複数個有し、バッファサーバは、複数個のディスクサーバに対応して複数個のメモリブロック群を作成し、複数個のメモリブロック群を循環的に使用するものである。
【実施例4】
【0062】
実施例4の分散型マルチメディアサーバシステムを有する全体のシステムは実施例3の図8と同じであり、実施例3と異なる点はバッファサーバ81、ディスクサーバ82、83のメモリ構造である。図12に実施例4のバッファサーバ81、ディスクサーバ82、83のメモリ構造を示す。実施例3の図9に示すメモリ構造は実施例2の図6に示すメモリ構造を複数個のディスクサーバがある場合に拡張したものであるが、実施例4の図12に示すメモリ構造は実施例1の図3に示すメモリ構造を複数個のディスクサーバがある場合に拡張したものである。
【0063】
図12に示すように、本実施例においては、バッファサーバ81はメモリブロック群61(A1〜A5)とメモリブロック群91(A6〜A10)を有し、ディスクサーバ82はメモリブロック群65(A1〜A5)を有し、ディスクサーバ83はメモリブロック群95(A1〜A5)を有する。マルチメディア情報の再生、蓄積のシーケンスは、メモリブロック群61、91、65、95に一次的に保存した分割マルチメディア情報の転送等が終了した後でなければ次の分割マルチメディア情報を同じメモリブロック群に一次的に保存できないことを除き、実施例3と同様である。
【0064】
実施例4では、複数のディスクサーバを循環的に使用するため、例えば、バッファサーバ81は、ディスクサーバ82から転送されたメモリブロック群61(A1〜A5)の分割マルチメディア情報を端末11へ送信するのが終了していなくても、次にデータ送信要求を送るのはディスクサーバ83であるから、メモリブロック群91(A6〜A10)内の分割マルチメディア情報の送信が既に終了していれば、次の分割マルチメディア情報(次のフレーム)のデータ転送要求をディスクサーバ83に送信することができ、マルチメディア情報を連続して送信することができる。
【実施例5】
【0065】
図13は、実施例5の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。本実施例の分散型マルチメディアサーバシステム130は、複数のバッファサーバ131、132、133…、複数のディスクサーバ134、135、136…、複数のディスク137、138、139…、およびロードバランサ140を有する。
【0066】
図13に示すように、複数のディスク137、138、139…に、マルチメディア情報が分割して蓄積される。図13においては、フレーム#1がディスク137に蓄積され、フレーム#2がディスク138に蓄積され、フレーム#3がディスク139に蓄積されている。そして、複数のバッファサーバ131、132、133…が複数のディスクサーバ134、135、136…に対してアクセスする。複数のバッファサーバのうちの1個のバッファサーバ(例えば131)と複数のディスクサーバ134、135、136…との間のマルチメディア情報の転送、蓄積のシーケンスは実施例3(図10、11参照)と同様である。図13では、実線で示すように、バッファサーバ131は端末11に配信し、一方、点線で示すように、バッファサーバ133は端末12に配信している。
【0067】
本実施例では、バッファサーバを複数用意し、複数のバッファサーバと端末との間にロードバランサ140等の負荷分散装置を置くことによって負荷を分散させることが出来るため、分散サーバシステム全体で高いスループットを得ることが出来る。
【0068】
以上説明した各実施例の各サーバは、それぞれの機能、動作、段階を実現するための手段を有しており、それらの手段はコンピュータとプログラムによって構成することができ、そのプログラムは記憶媒体に記憶することができる。また、プログラムを用いる代わりに、その一部または全部をハードウェアで構成することもできる。
【0069】
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【0070】
【図1】実施例1の全体のシステムを示す図である。
【図2】実施例1のマルチメディア情報の転送方法を説明するための図である。
【図3】実施例1のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図4】実施例1の配信する場合のシーケンス図である。
【図5】実施例1の受信する場合のシーケンス図である。
【図6】実施例2のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図7】実施例2の配信する場合のシーケンス図である。
【図8】実施例3の全体のシステムを示す図である。
【図9】実施例3のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図10】実施例3の配信する場合のシーケンス図である。
【図11】実施例3の蓄積する場合のシーケンス図である。
【図12】実施例4のバッファサーバとディスクサーバのメモリ構造を示す図である
【図13】実施例5の全体のシステムを示す図である。
【符号の説明】
【0071】
10…分散型マルチメディアサーバシステム、11、12…端末、13…配信用ネットワーク、14…バッファサーバ、15…ディスクサーバ、17…クラスタ間接続ネットワーク、18…ローカルエリアネットワーク、21〜24…メモリブロック、31、32…メモリブロック群、33、36…コネクション、34、35、37、38…EP(End Point)、61〜64、65〜68…メモリブロック群、80…分散型マルチメディアサーバシステム、81…バッファサーバ、82、83…ディスクサーバ、84、85…ディスク、91〜94、95〜98…メモリブロック群、130…分散型マルチメディアサーバシステム、131〜133…バッファサーバ、134〜136…ディスクサーバ、137〜139…ディスク、140…ロードバランサ
【技術分野】
【0001】
本発明は、端末からの要求に応じて、要求されたマルチメディア情報を端末に遅滞なく配信、または、端末から送信されたマルチメディア情報を蓄積することが可能な分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法に関する。
【背景技術】
【0002】
従来の分散型マルチメディアサーバシステムの構成例として、特許文献1等に記載されたものがある。特許文献1に記載された分散型マルチメディアサーバシステムは、通信サーバモジュール、蓄積サーバモジュールおよびローカルエリアネットワークを有している。マルチメディア情報の配信は次の手順で行われる。通信サーバモジュールが端末からの読み取り要求を受信し、要求されたマルチメディア情報の読み取り要求をローカルエリアネットワークを介して蓄積サーバモジュールに対して送信する。この読み出し要求を受信した蓄積サーバモジュールは、要求されたマルチメディア情報をローカルエリアネットワークを介して通信サーバモジュールに送信する。それを受信した通信サーバモジュールは、マルチメディア情報をくみ上げ、配信用のネットワークを通じて端末へ送信する。同様に、通信サーバモジュールはマルチメディア情報の読み出し要求を蓄積サーバモジュールに対して送信し、蓄積サーバモジュールは要求されたマルチメディア情報を通信サーバモジュールに送信し、これを繰り返す。
【0003】
非特許文献1、2(執筆者に本発明者の一部が含まれている)には、複数のバッファサーバと複数のディスクサーバをInfiniBand(非特許文献3参照)を用いた相互結合網で接続した分散型マルチメディアサーバシステムが記載されている。この分散型マルチメディアサーバシステムでは、マルチメディア情報の配信は次の手順で行われる。送信開始メッセージを受信したバッファサーバは先頭の映像フレームを格納しているディスクサーバに対して読み出し要求メッセージを送信する。読み出し要求を受信したディスクサーバはRAID(Redundant Array of Inexpesive Disk)から映像フレームを読み出し、ディスクサーバ内のバッファメモリにその映像フレームを格納し、バッファサーバに対して映像フレームを格納しているメモリ情報を応答メッセージにのせて通知する。以降、ディスクサーバは、疑似リアルタイムモジュールの機能を使って一定時間間隔で、自律的にRAIDからデータ読み出しを実行する。バッファサーバは、ディスクサーバから送られてきたメモリ情報を元に映像フレームを非特許文献1、2の通り遠隔ダイレクトメモリアクセス機能を使ってディスクサーバから読み出す。この処理と並行して、疑似リアルタイム制御モジュールの機能を使って、一定時間間隔で、映像フレームをパケット化して再生用の端末に送信する。疑似リアルタイム制御モジュールの機能により、一定時間後に、次の映像フレームが格納されているディスクサーバに対して読み出しの要求を行う。これを繰り返す。
【0004】
【特許文献1】特許第3461278号公報
【非特許文献1】小倉毅外5名、「InfiniBandを用いたPCクラスタ型高速ストリームサーバアーキテクチャ」、信学技報、Vol.105、No.86、pp.33−36、発表日2005/5/27
【非特許文献2】君山博之外5名、「PCクラスタを用いたIPネットワークベースの非圧縮HDTV10多重ストリームサーバ」、マルチメディア,分散,協調とモバイル(DICOMO2005)シンポジュウム予稿集、pp.797−800(巻数、号なし)、発表日2005/7/8
【非特許文献3】INFINIBAND(SM) TRADE ASSOCIATION、[online]、[平成17年5月6日検索]、インターネット<http://www.infinibandta.org/events/past/it_roadshow/fabric_tco_ibm.pdf>
【非特許文献4】Myrinet Overview、[online]、[平成17年5月6日検索]、インターネット<http://www.myrinet.com/myrinet/overview/>
【非特許文献5】独立行政法人 産業技術総合研究所 先端情報計算センター、“AISTスーパークラスタ”、[online]、[平成17年5月6日検索]、インターネット<http://unit.aist.go.jp/tacc/supercluster.html>
【非特許文献6】Remote Direct Memory Access - Wikipedia, the free encyclopedia、[online]、[平成19年1月18日検索]、インターネット<http://en.wikipedia.org/wiki/Remote_Direct_Memory_Access>
【発明の開示】
【発明が解決しようとする課題】
【0005】
非特許文献1、2に記載された分散型マルチメディアサーバシステムでは、バッファサーバとディスクサーバ間のデータ転送においてを高スループットを確保するためにInfiniBandおよび遠隔ダイレクトメモリアクセス(Remote Direct Memory Access)機能を用いている。遠隔ダイレクトメモリアクセス機能は、非特許文献6の通り、2つのコンピュータ間でそれらのメモリに格納されているデータを、ネットワークを介して転送する機能であり、ネットワークカードの機能を活用し、低負荷でかつ高速なデータ転送を実現することができる機能である。その結果、低いシステムコストで高いトータルスループットを得ることが可能となった。
【0006】
しかし、非特許文献1、2に記載された分散型マルチメディアサーバシステムでは、遠隔ダイレクトメモリアクセスによる転送処理を一定時間間隔で起動することによってバッファサーバ、ディスクサーバ間の転送レートを一定に保ち、クラスタ間接続ネットワークのトラヒックを一定に保ち、実時間性を担保している。様々なレートのマルチメディア情報を転送するためには、転送レートを変える必要があり、そのためにはリクエスト毎に遠隔ダイレクトメモリアクセスで利用するメモリサイズを変更するか、または、転送処理の起動間隔を変える方法しかない。しかし、転送処理の起動間隔を変えた場合、クラスタ間接続ネットワーク全体のトラヒックが一定になるように起動間隔を計算するのは難しいため、メモリサイズを変更する方法を利用する必要がある。ところが、遠隔ダイレクトメモリアクセス転送機能は前述した通りハードウェアの機能を利用するため、メモリサイズを変更する場合は、ハードウェアの初期化が必要となり、他のリクエストに対応した転送が止まる問題がある。
【0007】
本発明の目的は、低いシステムコストで高いトータルスループットを得ることができるとともに、様々な帯域のストリームの転送要求に対して、柔軟に対応することができる分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法を提供することにある。
【課題を解決するための手段】
【0008】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0009】
第1の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、複数のコネクションを設定することができ、そのコネクションを複数組み合わせたコネクション束を使うことができるネットワークまたはバスシステムであり、コネクション毎に、遠隔ダイレクトメモリアクセスで使用するメモリブロックを割り当てることによって、コネクション毎に帯域を設定するとともに、前記第1のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第2のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信し、前記第2のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第1のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、ことを特徴とする。
【0010】
第2の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、前記第1のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第2のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、前記第2のサーバは、前記コネクション束を介して前記第1のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、ことを特徴とする。
【0011】
第3の発明は、第1の発明において、前記第2のサーバを複数個有し、前記第1のサーバは、前記コネクション束を介して前記複数個の第2のサーバから循環的にマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信する、ことを特徴とする。
【0012】
第4の発明は、第2の発明において、前記第2のサーバを複数個有し、前記第1のサーバは、端末から受信したマルチメディア情報を、前記コネクション束を介して前記複数個の第2のサーバに循環的に転送する、ことを特徴とする。
【0013】
第5の発明は、第1〜第4の発明において、前記コネクション束に対応する前記メモリブロックを1つのメモリブロック群として、そのメモリブロック群は全体として連続したメモリ空間であることを特徴とする。
【0014】
第6の発明は、第5の発明において、前記第1のサーバおよび前記第2のサーバはそれぞれ、前記メモリブロック群を複数個作成し、前記第1のサーバまたは前記第2のサーバは、前記マルチメディア情報を、前記複数個のメモリブロック群に循環的に一次的に保存し、前記第1のサーバまたは前記第2のサーバの前記複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能により前記第2のサーバまたは前記第1のサーバに循環的に転送される、ことを特徴とする。
【0015】
第7の発明は、第5〜第6の発明において、前記第2のサーバを複数個有し、前記第1のサーバは、複数個の第2のサーバに対応して複数個のメモリブロック群を作成し、前記複数個のメモリブロック群を循環的に使用する、ことを特徴とする。
【0016】
第8の発明は、第1〜第7の発明において、前記第2のサーバは、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で前記記憶装置に蓄積し、前記第1のサーバと前記第2のサーバ間で、前記分割した単位で分割マルチメディア情報が転送される、ことを特徴とする。
【0017】
第9の発明は、第1〜第8の発明において、前記第1のサーバを複数個有することを特徴とする。
【0018】
第10の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報配信方法であって、第1の発明と同様な特徴を有する。
【0019】
第11の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積方法であって、第2の発明と同様な特徴を有する。
【発明の効果】
【0020】
本発明により、低いシステムコストで高いトータルスループットを得ることができるとともに、様々な帯域のストリームの転送要求に対して、柔軟に対応することができる分散型マルチメディアサーバシステムを得ることができる。
【発明を実施するための最良の形態】
【0021】
以下、本発明を実施例を用いて詳細に説明する。なお、各図において同じ機能を有するものには同じ符号を付け、重複した説明は省略する。
【実施例1】
【0022】
図1は、本発明の実施例1の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。図1において、10は分散型マルチメディアサーバシステムであり、11、12はユーザが操作する端末であり、13は配信用ネットワークである。図には端末を2個示しているが、何個でもよい。分散型マルチメディアサーバシステム10は、バッファサーバ(第1のサーバ)14とディスクサーバ(第2のサーバ)15とディスク(記憶装置)16とを有する。17はクラスタ間接続ネットワークであり、18はローカルエリアネットワークである。
【0023】
バッファサーバ14は、端末11、12からの要求を受けて、マルチメディア情報の送信または受信を行うサーバである。ディスクサーバ15は、マルチメディア情報を例えば1フレーム毎に分割して格納するディスク16を持っており、ディスク16からのマルチメディア情報の読み出し、またはディスク16への書き込みを行う。なお、マルチメディア情報の分割の単位は1フレーム毎に限定されない。
【0024】
バッファサーバ14とディスクサーバ15との間は、遠隔ダイレクトメモリアクセス機能が利用できるネットワークまたはバスシステムで接続されている。図1ではクラスタ間接続ネットワーク17で接続されている。バッファサーバ14とディスクサーバ15とは、遠隔ダイレクトメモリアクセス機能を用いて、お互いのバッファメモリ中のデータを参照することが可能である。本実施例では、ネットワーク17として並列計算機用のクラスタ間接続ネットワークを利用することを目的としているため、メッセージ通信の機能は備えているものとする。しかし、それが不可能な場合などの場合は、後述する分割マルチメディア情報読み出し要求やその応答などのメッセージの交換用に、例えば図1に示すようなローカルエリアネットワーク18を利用することも可能である。この場合は、バッファサーバ14とディスクサーバ15は、遠隔ダイレクトメモリアクセス機能を用いることができるネットワーク17と遠隔ダイレクトメモリアクセス機能を用いることができないローカルエリアネットワーク18の両方で接続される。端末11、12と分散型マルチメディアサーバシステム10の間はワイドエリアネットワークなどの配信用ネットワーク13で結ばれている。
【0025】
本実施例においてクラスタ間接続ネットワーク17として使用する並列計算機を構成するためのクラスタ間接続ネットワークの具体例としては、例えば非特許文献3、非特許文献4、非特許文献5などがある。本実施例では非特許文献3のInfiniBandを用いてクラスタ間接続ネットワークを構成する。このネットワークは、ハードウェアで通信の信頼性の確保を実現しているため、高速低負荷、低コストである反面、サーバ間のメッセージの送受信やメモリ共有に使う目的で設計されているため、映像データのようなストリームの転送機能は持ち合わせていない。しかし、この遠隔ダイレクトメモリアクセス機能と呼ばれるメモリ共有機能は、このクラスタ間接続ネットワークにより接続されたサーバのメモリを他のサーバから自由にアクセス出来るようにする機能で、ほとんどの処理をネットワークカードのハードウェアで実現しており、サーバのCPUに負荷をほとんどかけずにデータの転送を行うことが出来る。さらに、この遠隔ダイレクトメモリアクセス機能では、相手側のアドレスを得てしまえば、相手側が何もしなくてもデータの転送が行えるため、例えば、TCP/IPを使った処理では相手側はsend()などのシステムコールを呼び出さなければならないが、この機能を使うことによって、余計な処理を相手側で行わずにデータの転送が実現出来る。このネットワークを使うことが出来れば、低負荷でデータの転送が出来るため、高価でハイスペックなサーバシステムを導入することなく、低コストなサーバにより高い転送能力を持つサーバシステムを構築することが出来、サーバと内部結合ネットワークのコストを削減することが出来る。
【0026】
図2は、本実施例の分散型マルチメディアサーバシステム10内のマルチメディア情報の転送方法を説明するための図である。図2においては、マルチメディア情報のストリーム配信の場合を示すが、マルチメディア情報をファイルとして配信することもできる。マルチメディア情報は非圧縮のものでも、圧縮されたものであってもよい。
【0027】
本実施例の分散型マルチメディアサーバシステム10は、起動時にクラスタ間接続ネットワーク(具体的にはInfiniBandを用いたネットワーク)17の帯域(例えば10Gbps)を複数の小帯域(例えば50Mbps)に分割するために、バッファサーバ14、ディスクサーバ15に例えば50Mbitのメモリブロックを複数用意する。以下、分割された小帯域に対して1つのコネクションを割り当てる。この例の場合は、説明の簡単化のために1秒に1回遠隔ダイレクトメモリアクセスによる転送処理を起動することを前提とした。そして、ストリーム転送の要求帯域に応じて、そのコネクションを複数組み合わせたコネクション束を使用することにより、所望の帯域を確保する。
【0028】
図2は、分散型マルチメディアサーバシステム10が、端末11に対して100Mbpsの帯域を必要とするストリームデータS1を配信し、端末12に対して150Mbpsの帯域を必要とするストリームデータS2を配信している場合を示している。ストリームデータS1の転送のために、バッファサーバ14はメモリブロック21を確保し、ディスクサーバ15はメモリブロック22を確保し、クラスタ間接続ネットワーク17のコネクション(50Mbps)のうち2本分(100Mbps分)を使用する。ディスクサーバ15はディスク16から端末11へ配信するためのマルチメディア情報をメモリブロック22に読み込む。そのマルチメディア情報は2本分(100Mbps分)のコネクションを使って遠隔ダイレクトメモリアクセス機能によりバッファサーバ14のメモリブロック21に転送され、バッファサーバ14はこれを配信用ネットワーク13を介して端末11に送信する。同様に、ストリームデータS2の転送のために、バッファサーバ14はメモリブロック23を確保し、ディスクサーバ15はメモリブロック24を確保し、クラスタ間接続ネットワーク17のコネクション(50Mbps)のうち3本分(150Mbps分)を使用する。ディスクサーバ15はディスク16から端末12へ配信するためのマルチメディア情報をメモリブロック24に読み込む。そのマルチメディア情報は3本分(150Mbps分)のコネクションを使ってバッファサーバ14のメモリブロック23に転送され、バッファサーバ14はこれを配信用ネットワーク13を介して端末12に送信する。
【0029】
図3に、バッファサーバ14とディスクサーバ15のメモリ構造を示す。31はバッファサーバ14内のメモリに作成されたメモリブロック群であり、32はディスクサーバ15内のメモリに作成されたメモリブロック群である。メモリブロック群31、32はそれぞれメモリブロックA1、A2、A3、A4、A5からなる。33はクラスタ間接続ネットワーク17を分割した小帯域のコネクションである。34、35はEP(End Point、通信の端点を通信媒体の種類によらない形に抽象化したもの)である。
【0030】
ディスクサーバ15はバッファサーバ14が接続してきたときバッファサーバ14と同じ本数のメモリブロックからなるメモリブロック群を作成する。一つのストリームに使用するメモリブロック群は連続したメモリ空間である。コネクションEP1は、バッファサーバ14とディスクサーバ15のメモリブロックA1に対応しており、どちらかのサーバのメモリブロックA1に一次的に保存されたマルチメディア情報はコネクションEP1を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックA1に転送される。コネクションEP2〜EP5も、同様に、バッファサーバ14とディスクサーバ15のメモリブロックA2〜A5に対応しており、どちらかのサーバのメモリブロックA2〜A5に一次的に保存されたマルチメディア情報はコネクションEP2〜EP5を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックA2〜A5に転送される。バッファサーバ14とディスクサーバ15は、必要なコネクション数と同数のメモリブロックからなるメモリブロック群を作成する。必要なコネクション数が1の場合はメモリブロック群を構成するメモリブロックも1個となる。
【0031】
図4に、分散型マルチメディアサーバシステム10が端末11に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末11はストリームデータS1の再生要求を配信用ネットワーク13を介して分散型マルチメディアサーバシステム10のバッファサーバ14に送信する(段階41)。バッファサーバ14はS1再生初期化要求をディスクサーバ15に送信する(段階42)。ディスクサーバ15は、ストリームデータS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、m+1番からm+n番までが未使用であるとすると、m+1番からm+n番までのEPを確保する(段階43)。ディスクサーバ15はEP確保応答をバッファサーバ14に送信する(段階44)。バッファサーバ14はm+1番からm+n番までのEPが未使用であることを確認してEPを確保する(段階45)。
【0032】
バッファサーバ14はストリームデータの転送要求をディスクサーバ15へ送信する(段階46)。ディスクサーバ15はディスク16から1フレーム分のマルチメディア情報(分割マルチメディア情報)を、確保されたEPに対応するメモリブロックAm+1からAm+nに読み込む(段階47)。ディスクサーバ15のメモリブロックAm+1からAm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ14のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階48)。バッファサーバ14はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレームをディスプレイに表示する(段階49)。
【0033】
バッファサーバ14はディスクサーバ15にデータ転送要求を行い(段階50)、ディスクサーバ15はディスク16から分割マルチメディア情報を読み込み(段階51)、読み込まれた分割マルチメディア情報は遠隔ダイレクトメモリアクセス機能によりバッファサーバ14に転送され(段階52)、バッファサーバ14はマルチメディア情報を端末11に送信し、端末11はフレームを表示する。これが繰り返される。
【0034】
以上、図2のバッファサーバ14の端末11へのストリームデータS1の配信について詳細に説明した。バッファサーバ14は同時に端末12ヘストリームデータS2を配信しているが、ストリームデータS2の配信のシーケンスも上記と同様である。すなわち、バッファサーバ14およびディスクサーバ15の複数のスレッドがそれぞれ上記と同様のシーケンスで配信を行う。この点は以下に述べる蓄積する場合や他の実施例の場合でも同様である。
【0035】
図5に、分散型マルチメディアサーバシステム10が端末11からマルチメディア情報を受信する場合のシーケンス図を示す。端末11はストリームデータS1の蓄積要求を配信用ネットワーク13を介して分散型マルチメディアサーバシステム10のバッファサーバ14に送信する(段階55)。バッファサーバ14はS1蓄積初期化要求をディスクサーバ15に送信する(段階56)。ディスクサーバ15は、ストリームデータS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、m+1番からm+n番までが未使用であるとすると、m+1番からm+n番までのEPを確保する(段階57)。ディスクサーバ15はEP確保応答をバッファサーバ14に送信する(段階58)。バッファサーバ14はm+1番からm+n番までのEPが未使用であることを確認してEPを確保する(段階59)。
【0036】
バッファサーバ14は端末11からマルチメディア情報を受信し、1フレーム分のマルチメディア情報(分割マルチメディア情報)を、確保されたEPに対応するメモリブロックAm+1からAm+nに一次的に格納する(段階60)。バッファサーバ14のメモリブロックAm+1からAm+nに格納された分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、ディスクサーバ15のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階61)。ディスクサーバ15はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報をディスク16に書き込む(段階62)。
【0037】
バッファサーバ14は端末11からマルチメディア情報を受信し、1フレーム分のマルチメディア情報(分割マルチメディア情報)を、確保されたEPに対応するメモリブロックAm+1からAm+nに一次的に格納する(段階63)。バッファサーバ14のメモリブロックAm+1からAm+nに格納された分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、ディスクサーバ15のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階64)。ディスクサーバ15はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報をディスク16に書き込む(段階65)。これが繰り返される。
【実施例2】
【0038】
図6に実施例2のバッファサーバ14とディスクサーバ15のメモリ構造を示す。実施例2は実施例1とバッファサーバ14とディスクサーバ15のメモリ構造が相違するが、その他の点については実施例1と同様である。
【0039】
図6に示すように、バッファサーバ14は複数個のメモリブロック群61〜64を作成し、ディスクサーバ15は複数個のメモリブロック群65〜68を作成する。メモリブロック群61〜64とメモリブロック群65〜68の個数は同じであっても、異なっていてもよい。コネクションEP1は、バッファサーバ14のメモリブロックA1、B1、C1、…、X1に対応すると共にディスクサーバ15のメモリブロックA1、B1、C1、…、G1に対応している。バッファサーバ14のメモリブロックA1、B1、C1、…、X1またはディスクサーバ15のメモリブロックA1、B1、C1、…、G1のどちらかに一次的に保存されたマルチメディア情報はコネクションEP1を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。同様に、コネクションEP2、EP3、EP4、EP5も、それぞれ、バッファサーバ14のメモリブロックA2〜X2、A3〜X3、A4〜X4、…、A5〜X5に対応すると共にディスクサーバ15のメモリブロックA2〜G2、A3〜G3、A4〜G4、…、A5〜G5に対応している。バッファサーバ14のメモリブロックA2〜X2、A3〜X3、A4〜X4、…、A5〜X5またはディスクサーバ15のメモリブロックA2〜G2、A3〜G3、A4〜G4、…、A5〜G5のどちらかに一時的に保存されたマルチメディア情報は、それぞれ、コネクションEP2、EP3、EP4、EP5を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。
【0040】
図7に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末11はストリームデータS1の再生要求を配信用ネットワーク13を介してバッファサーバ14に送信する(段階71)。バッファサーバ14はS1再生初期化要求をディスクサーバ15に送信する(段階72)。ディスクサーバ15は、ストリームS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、m+1番からm+n番までが未使用であるとすると、m+1番からm+n番までのEPを確保する(段階73)。ディスクサーバ15はEP確保応答をバッファサーバ14に送信する(段階74)。バッファサーバ14はm+1番からm+n番までのEPが未使用であることを確認してEPを確保する(段階75)。
【0041】
バッファサーバ14はストリームデータの転送要求をディスクサーバ15へ送信する(段階76)。ディスクサーバ15はディスク16から1フレーム分のマルチメディア情報(分割マルチメディア情報)を、m+1番からm+n番までのEPに対応するメモリブロックAm+1からAm+nに読み込む(段階77)。ディスクサーバ15のメモリブロックAm+1からAm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ14のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階78)。バッファサーバ14はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレームをディスプレイに表示する(段階79)。
【0042】
段階79のマルチメディア情報の送信が終わるのを待つことなく、バッファサーバ14はディスクサーバ15にデータ転送要求を行い(段階80)、ディスクサーバ15はディスク16から1フレーム分のマルチメディア情報(分割マルチメディア情報)を、メモリブロックBm+1からBm+nに読み込む(段階81)。ディスクサーバ15のメモリブロックBm+1からBm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ14のメモリブロックBm+1からBm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階82)。バッファサーバ14は前のフレームのマルチメディア情報の送信終了後、メモリブロックBm+1からBm+nに記憶された分割マルチメディア情報をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレームをディスプレイに表示する(段階83)。
【0043】
段階83のマルチメディア情報の送信が終わるのを待つことなく、バッファサーバ14はディスクサーバ15にデータ転送要求を行い(段階84)、同様にして、メモリブロックCm+1からCm+nを使って遠隔ダイレクトメモリアクセス機能により転送される。その後も、同様に、次のメモリブロックを使って遠隔ダイレクトメモリアクセス機能により転送される。
【0044】
ディスクサーバ15はディスク16から読み込まれた分割マルチメディア情報はA、B、C、…、Gに循環的に一次的に保存する。すなわち、A、B、C、…、Gに順番に一次的に保存し、Gの次はAに一次的に保存し、これが繰り返される。一方、バッファサーバ14ではディスクサーバ15から分割マルチメディア情報がA、B、C、…、Xに循環的に転送される。すなわち、A、B、C、…、Xに順番に一次的に保存され、Xの次はAに一次的に保存され、これが繰り返される。
【0045】
本実施例では、バッファサーバ14およびディスクサーバ15はそれぞれ、マルチメディア情報の転送に必要な帯域のコネクション数と同数のメモリブロックからなるメモリブロック群を複数個作成し、ディスクサーバ15がディスク16から読み込んだ分割マルチメディア情報を、複数個のメモリブロック群に循環的に一次的に保存し、複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、保存された順序で循環的に、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能によりバッファサーバ14の対応するメモリブロックに転送される。このように複数個のメモリブロック群を使用しているため、端末11に対して、マルチメディア情報を連続して送信することができる。
【0046】
本実施例における分散型マルチメディアサーバシステム10が端末11からマルチメディア情報を受信する場合のシーケンス図は、実施例1の図5のシーケンス図において、段階61の分割マルチメディア情報転送の前に、段階63のマルチメディア情報受信を行える点が異なるだけであり、また、複数のメモリブロック群の使用法は再生の時の逆になるだけであるから、その説明は省略する。
【0047】
一般的にいえば、本実施例は、バッファサーバおよびディスクサーバはそれぞれ、メモリブロック群を複数個作成し、バッファサーバまたはディスクサーバは、分割マルチメディア情報を、複数個のメモリブロック群に循環的に一次的に保存し、バッファサーバまたはディスクサーバの複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、循環的に各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能によりディスクサーバまたはバッファサーバに転送されるものである。
【実施例3】
【0048】
図8は、実施例3の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。実施例1(図1参照)がディスクサーバを1個しか有していないのに対して、本実施例の分散型マルチメディアサーバシステム80は複数個のディスクサーバを有する。図8において、81はバッファサーバであり、82、83はディスクサーバであり、84、85はディスクサーバ82、83に接続されたディスクである。なお、図8は、ディスクサーバが2個の場合であるが、3個以上でもよい。ディスク84、85には、分割したマルチメディア情報である分割マルチメディア情報が分割した単位(図8ではフレーム単位)で、循環的に(図8に示すようにディスクサーバが2個の場合は交互に)蓄積される。
【0049】
図9に、本実施例のバッファサーバ81およびディスクサーバ82、83のメモリ構造を示す。バッファサーバ81のメモリブロック群61〜64、ディスクサーバ82のメモリブロック群65〜68は実施例2の図6と同様である。この他に、バッファサーバ81とディスクサーバ83が遠隔ダイレクトメモリアクセス機能によりマルチメディア情報を転送するために、バッファサーバ81は複数個のメモリブロック群91〜94を作成し、ディスクサーバ83は複数個のメモリブロック群95〜98を作成する。コネクションEP6は、バッファサーバ81のメモリブロックA6、B6、C6、…、X6に対応すると共にディスクサーバ83のメモリブロックA6、B6、C6、…、G6に対応している。バッファサーバ81のメモリブロックA6、B6、C6、…、X6またはディスクサーバ83のメモリブロックA6、B6、C6、…、G6のどちらかに一次的に保存されたマルチメディア情報はコネクションEP6を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。同様に、コネクションEP7、EP8、EP9、EP10も、それぞれ、バッファサーバ81のメモリブロックA7〜X7、A8〜X8、A9〜X9、A10〜X10に対応すると共にディスクサーバ83のメモリブロックA7〜G7、A8〜G8、A9〜G9、A10〜G10に対応している。バッファサーバ81のメモリブロックA7〜X7、A8〜X8、A9〜X9、A10〜X10またはディスクサーバ83のメモリブロックA7〜G7、A8〜G8、A9〜G9、A10〜G10のどちらかに一次的に保存されたマルチメディア情報は、それぞれ、コネクションEP7、EP8、EP9、EP10を介して遠隔ダイレクトメモリアクセス機能により他方のサーバのメモリブロックに転送される。
【0050】
図10に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を配信する場合のシーケンス図を示す。端末11はストリームデータS1の再生要求を配信用ネットワーク13を介してバッファサーバ81に送信する(段階101)。
【0051】
バッファサーバ81はS1再生初期化要求をディスクサーバ82に送信する(段階102)。ディスクサーバ82は、ストリームS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、m+1番からm+n番までが未使用であるとすると、m+1番からm+n番までのEPを確保する(段階103)。ディスクサーバ82はEP確保応答をバッファサーバ81に送信する(段階104)。バッファサーバ81はm+1番からm+n番までのEPが未使用であることを確認してEPを確保する(段階105)。
【0052】
バッファサーバ81はS1再生初期化要求をディスクサーバ83に送信する(段階106)。ディスクサーバ83は、ストリームS1の帯域から消費するEPの本数(n)を計算し、n本の連続した未使用のEPを検索し、p+1番からp+n番までが未使用であるとすると、p+1番からp+n番までのEPを確保する(段階107)。ディスクサーバ83はEP確保応答をバッファサーバ81に送信する(段階108)。バッファサーバ81はp+1番からp+n番までのEPが未使用であることを確認してEPを確保する(段階109)。
【0053】
バッファサーバ81はストリームデータの転送要求をディスクサーバ82へ送信する(段階110)。ディスクサーバ82はディスク84から分割マルチメディア情報(フレーム#1)を、m+1番からm+n番までのEPに対応するメモリブロックAm+1からAm+nに読み込む(段階111)。ディスクサーバ82のメモリブロックAm+1からAm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ81のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階112)。バッファサーバ81はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報(フレーム#1)をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレーム#1をディスプレイに表示する(段階113)。
【0054】
フレーム#1の送信が終わるのを待つことなく、バッファサーバ81はディスクサーバ83にデータ転送要求を行い(段階114)、ディスクサーバ83はディスク85から分割マルチメディア情報(フレーム#2)を、メモリブロックAp+1からAp+nに読み込む(段階115)。ディスクサーバ83のメモリブロックAp+1からAp+nに読み込まれた分割マルチメディア情報は、p+1番からp+n番までのEPを用いて、バッファサーバ81のメモリブロックAp+1からAp+nに遠隔ダイレクトメモリアクセス機能により転送される(段階116)。バッファサーバ81は前の分割マルチメディア情報(フレーム#1)のマルチメディア情報の転送終了後、メモリブロックApからAp+nに記憶された分割マルチメディア情報(フレーム#2)をパケット化し、配信用ネットワーク13を介して端末11に送信し、端末11はフレーム#2をディスプレイに表示する(段階117)。
【0055】
フレーム#2の送信が終わるのを待つことなく、バッファサーバ81はストリームデータの転送要求をディスクサーバ82へ送信する(段階118)。ディスクサーバ82はディスク84から分割マルチメディア情報(フレーム#3)を、m+1番からm+n番までのEPに対応するメモリブロックBm+1からBm+nに読み込む(段階119)。ディスクサーバ82のメモリブロックBm+1からBm+nに読み込まれた分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、バッファサーバ81のメモリブロックBm+1からBm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階120)。
【0056】
バッファサーバ81はストリームデータの転送要求をディスクサーバ83へ送信し(段階121)、同様にして、メモリブロックBp+1からBp+nを使って分割マルチメディア情報(フレーム#4)が遠隔ダイレクトメモリアクセス機能によりディスクサーバ83からバッファサーバ81に転送される。その後も、同様に、バッファサーバ81はディスクサーバ82とディスクサーバ83に対して循環的に(ディスクサーバが2個の場合は交互に)データ転送要求を送り、遠隔ダイレクトメモリアクセス機能により複数のディスクサーバから循環的に分割マルチメディア情報の転送を受ける。
【0057】
図11に、本実施例の分散型マルチメディアサーバシステムが端末に対してマルチメディア情報を蓄積する場合のシーケンス図を示す。端末11はストリームデータS1の蓄積要求を配信用ネットワーク13を介してバッファサーバ81に送信する(段階125)。
バッファサーバ81はS1蓄積初期化要求をディスクサーバ82に送信する(段階126)。段階127〜133は再生時の図10の段階103〜109と同様である。
【0058】
バッファサーバ81は端末11からマルチメディア情報を受信し、1フレーム分の分割マルチメディア情報(フレーム#1)を、確保されたEPに対応するメモリブロックAm+1からAm+nに一次的に格納する(段階134)。バッファサーバ81のメモリブロックAm+1からAm+nに格納された分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、ディスクサーバ82のメモリブロックAm+1からAm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階135)。ディスクサーバ82はメモリブロックAm+1からAm+nに記憶された分割マルチメディア情報(フレーム#1)をディスク84に書き込む(段階137)。
【0059】
バッファサーバ81は端末11からマルチメディア情報を受信し、1フレーム分の分割マルチメディア情報(フレーム#2)を、確保されたEPに対応するメモリブロックAp+1からAp+nに一次的に格納する(段階136)。バッファサーバ81のメモリブロックAp+1からAp+nに格納された分割マルチメディア情報は、p+1番からp+n番までのEPを用いて、ディスクサーバ83のメモリブロックAp+1からAp+nに遠隔ダイレクトメモリアクセス機能により転送される(段階138)。ディスクサーバ83はメモリブロックApからAp+nに記憶された分割マルチメディア情報(フレーム#2)をディスク85に書き込む(段階140)。
【0060】
バッファサーバ81は端末11からマルチメディア情報を受信し、1フレーム分の分割マルチメディア情報(フレーム#3)を、確保されたEPに対応するメモリブロックBm+1からBm+nに一次的に格納する(段階139)。バッファサーバ81のメモリブロックBm+1からBm+nに格納された分割マルチメディア情報は、m+1番からm+n番までのEPを用いて、ディスクサーバ82のメモリブロックBm+1からBm+nに遠隔ダイレクトメモリアクセス機能により転送される(段階141)。これが繰り返され、バッファサーバ81が端末11から受信したマルチメディア情報は分割マルチメディア情報の単位毎に(フレーム毎に)、循環的に(ディスクサーバが2個の場合は交互に)複数のディスクに蓄積される。
【0061】
一般的にいえば、本実施例は、ディスクサーバを複数個有し、バッファサーバは、複数個のディスクサーバに対応して複数個のメモリブロック群を作成し、複数個のメモリブロック群を循環的に使用するものである。
【実施例4】
【0062】
実施例4の分散型マルチメディアサーバシステムを有する全体のシステムは実施例3の図8と同じであり、実施例3と異なる点はバッファサーバ81、ディスクサーバ82、83のメモリ構造である。図12に実施例4のバッファサーバ81、ディスクサーバ82、83のメモリ構造を示す。実施例3の図9に示すメモリ構造は実施例2の図6に示すメモリ構造を複数個のディスクサーバがある場合に拡張したものであるが、実施例4の図12に示すメモリ構造は実施例1の図3に示すメモリ構造を複数個のディスクサーバがある場合に拡張したものである。
【0063】
図12に示すように、本実施例においては、バッファサーバ81はメモリブロック群61(A1〜A5)とメモリブロック群91(A6〜A10)を有し、ディスクサーバ82はメモリブロック群65(A1〜A5)を有し、ディスクサーバ83はメモリブロック群95(A1〜A5)を有する。マルチメディア情報の再生、蓄積のシーケンスは、メモリブロック群61、91、65、95に一次的に保存した分割マルチメディア情報の転送等が終了した後でなければ次の分割マルチメディア情報を同じメモリブロック群に一次的に保存できないことを除き、実施例3と同様である。
【0064】
実施例4では、複数のディスクサーバを循環的に使用するため、例えば、バッファサーバ81は、ディスクサーバ82から転送されたメモリブロック群61(A1〜A5)の分割マルチメディア情報を端末11へ送信するのが終了していなくても、次にデータ送信要求を送るのはディスクサーバ83であるから、メモリブロック群91(A6〜A10)内の分割マルチメディア情報の送信が既に終了していれば、次の分割マルチメディア情報(次のフレーム)のデータ転送要求をディスクサーバ83に送信することができ、マルチメディア情報を連続して送信することができる。
【実施例5】
【0065】
図13は、実施例5の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。本実施例の分散型マルチメディアサーバシステム130は、複数のバッファサーバ131、132、133…、複数のディスクサーバ134、135、136…、複数のディスク137、138、139…、およびロードバランサ140を有する。
【0066】
図13に示すように、複数のディスク137、138、139…に、マルチメディア情報が分割して蓄積される。図13においては、フレーム#1がディスク137に蓄積され、フレーム#2がディスク138に蓄積され、フレーム#3がディスク139に蓄積されている。そして、複数のバッファサーバ131、132、133…が複数のディスクサーバ134、135、136…に対してアクセスする。複数のバッファサーバのうちの1個のバッファサーバ(例えば131)と複数のディスクサーバ134、135、136…との間のマルチメディア情報の転送、蓄積のシーケンスは実施例3(図10、11参照)と同様である。図13では、実線で示すように、バッファサーバ131は端末11に配信し、一方、点線で示すように、バッファサーバ133は端末12に配信している。
【0067】
本実施例では、バッファサーバを複数用意し、複数のバッファサーバと端末との間にロードバランサ140等の負荷分散装置を置くことによって負荷を分散させることが出来るため、分散サーバシステム全体で高いスループットを得ることが出来る。
【0068】
以上説明した各実施例の各サーバは、それぞれの機能、動作、段階を実現するための手段を有しており、それらの手段はコンピュータとプログラムによって構成することができ、そのプログラムは記憶媒体に記憶することができる。また、プログラムを用いる代わりに、その一部または全部をハードウェアで構成することもできる。
【0069】
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【0070】
【図1】実施例1の全体のシステムを示す図である。
【図2】実施例1のマルチメディア情報の転送方法を説明するための図である。
【図3】実施例1のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図4】実施例1の配信する場合のシーケンス図である。
【図5】実施例1の受信する場合のシーケンス図である。
【図6】実施例2のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図7】実施例2の配信する場合のシーケンス図である。
【図8】実施例3の全体のシステムを示す図である。
【図9】実施例3のバッファサーバとディスクサーバのメモリ構造を示す図である。
【図10】実施例3の配信する場合のシーケンス図である。
【図11】実施例3の蓄積する場合のシーケンス図である。
【図12】実施例4のバッファサーバとディスクサーバのメモリ構造を示す図である
【図13】実施例5の全体のシステムを示す図である。
【符号の説明】
【0071】
10…分散型マルチメディアサーバシステム、11、12…端末、13…配信用ネットワーク、14…バッファサーバ、15…ディスクサーバ、17…クラスタ間接続ネットワーク、18…ローカルエリアネットワーク、21〜24…メモリブロック、31、32…メモリブロック群、33、36…コネクション、34、35、37、38…EP(End Point)、61〜64、65〜68…メモリブロック群、80…分散型マルチメディアサーバシステム、81…バッファサーバ、82、83…ディスクサーバ、84、85…ディスク、91〜94、95〜98…メモリブロック群、130…分散型マルチメディアサーバシステム、131〜133…バッファサーバ、134〜136…ディスクサーバ、137〜139…ディスク、140…ロードバランサ
【特許請求の範囲】
【請求項1】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第1のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第2のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信し、
前記第2のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第1のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項2】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第1のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第2のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、
前記第2のサーバは、前記コネクション束を介して前記第1のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項3】
請求項1に記載の分散型マルチメディアサーバシステムであって、
前記第2のサーバを複数個有し、
前記第1のサーバは、前記コネクション束を介して前記複数個の第2のサーバから循環的にマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項4】
請求項2に記載の分散型マルチメディアサーバシステムであって、
前記第2のサーバを複数個有し、
前記第1のサーバは、端末から受信したマルチメディア情報を、前記コネクション束を介して前記複数個の第2のサーバに循環的に転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項5】
請求項1ないし4のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
前記コネクション束に対応する前記メモリブロックを1つのメモリブロック群として、そのメモリブロック群は全体として連続したメモリ空間であることを特徴とする分散型マルチメディアサーバシステム。
【請求項6】
請求項5に記載の分散型マルチメディアサーバシステムであって、
前記第1のサーバおよび前記第2のサーバはそれぞれ、前記メモリブロック群を複数個作成し、
前記第1のサーバまたは前記第2のサーバは、前記マルチメディア情報を、前記複数個のメモリブロック群に循環的に一次的に保存し、
前記第1のサーバまたは前記第2のサーバの前記複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能により前記第2のサーバまたは前記第1のサーバに循環的に転送される、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項7】
請求項5ないし6のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
前記第2のサーバを複数個有し、
前記第1のサーバは、複数個の第2のサーバに対応して複数個のメモリブロック群を作成し、前記複数個のメモリブロック群を循環的に使用する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項8】
請求項1ないし7のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
前記第2のサーバは、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で前記記憶装置に蓄積し、
前記第1のサーバと前記第2のサーバ間で、前記分割した単位で分割マルチメディア情報が転送される、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項9】
請求項1ないし8のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
前記第1のサーバを複数個有することを特徴とする分散型マルチメディアサーバシステム。
【請求項10】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報配信方法であって、
前記分散型マルチメディアサーバシステムは、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第1のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第2のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信し、
前記第2のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第1のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、
ことを特徴とするマルチメディア情報配信方法。
【請求項11】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積方法であって、
分散型マルチメディアサーバシステムは、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第1のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第2のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、
前記第2のサーバは、前記コネクション束を介して前記第1のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とするマルチメディア情報蓄積方法。
【請求項1】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第1のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第2のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信し、
前記第2のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第1のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項2】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第1のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第2のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、
前記第2のサーバは、前記コネクション束を介して前記第1のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項3】
請求項1に記載の分散型マルチメディアサーバシステムであって、
前記第2のサーバを複数個有し、
前記第1のサーバは、前記コネクション束を介して前記複数個の第2のサーバから循環的にマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項4】
請求項2に記載の分散型マルチメディアサーバシステムであって、
前記第2のサーバを複数個有し、
前記第1のサーバは、端末から受信したマルチメディア情報を、前記コネクション束を介して前記複数個の第2のサーバに循環的に転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項5】
請求項1ないし4のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
前記コネクション束に対応する前記メモリブロックを1つのメモリブロック群として、そのメモリブロック群は全体として連続したメモリ空間であることを特徴とする分散型マルチメディアサーバシステム。
【請求項6】
請求項5に記載の分散型マルチメディアサーバシステムであって、
前記第1のサーバおよび前記第2のサーバはそれぞれ、前記メモリブロック群を複数個作成し、
前記第1のサーバまたは前記第2のサーバは、前記マルチメディア情報を、前記複数個のメモリブロック群に循環的に一次的に保存し、
前記第1のサーバまたは前記第2のサーバの前記複数個のメモリブロック群に一次的に保存されたマルチメディア情報が、各メモリブロックに対応するコネクションを介して遠隔ダイレクトメモリアクセス機能により前記第2のサーバまたは前記第1のサーバに循環的に転送される、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項7】
請求項5ないし6のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
前記第2のサーバを複数個有し、
前記第1のサーバは、複数個の第2のサーバに対応して複数個のメモリブロック群を作成し、前記複数個のメモリブロック群を循環的に使用する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項8】
請求項1ないし7のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
前記第2のサーバは、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で前記記憶装置に蓄積し、
前記第1のサーバと前記第2のサーバ間で、前記分割した単位で分割マルチメディア情報が転送される、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項9】
請求項1ないし8のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
前記第1のサーバを複数個有することを特徴とする分散型マルチメディアサーバシステム。
【請求項10】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報配信方法であって、
前記分散型マルチメディアサーバシステムは、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第1のサーバは、端末からの再生要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、前記第2のサーバから遠隔ダイレクトメモリアクセス機能によりマルチメディア情報の転送を受け、前記第2のサーバから転送されたマルチメディア情報を端末に配信し、
前記第2のサーバは、前記端末からの再生要求に基づくマルチメディア情報を記憶装置から読み込み、前記コネクション束を介して前記第1のサーバへ遠隔ダイレクトメモリアクセス機能により前記マルチメディア情報を転送する、
ことを特徴とするマルチメディア情報配信方法。
【請求項11】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積方法であって、
分散型マルチメディアサーバシステムは、遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
前記遠隔ダイレクトメモリアクセス機能を有するネットワークまたはバスシステムは、その上に複数のコネクションを設定することができ、前記コネクションを複数組み合わせたコネクション束を使うことができ、前記コネクション毎にメモリブロックを割り当てることによって帯域を設定することができるネットワークまたはバスシステムであり、
前記第1のサーバは、端末からの蓄積要求に基づくマルチメディア情報の転送に必要な帯域に相当する複数のコネクションからなるコネクション束を介して、端末から受信したマルチメディア情報を前記第2のサーバへ遠隔ダイレクトメモリアクセス機能により転送し、
前記第2のサーバは、前記コネクション束を介して前記第1のサーバから転送を受けたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とするマルチメディア情報蓄積方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2008−294794(P2008−294794A)
【公開日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2007−138734(P2007−138734)
【出願日】平成19年5月25日(2007.5.25)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(591074585)エヌ・ティ・ティ アイティ株式会社 (21)
【Fターム(参考)】
【公開日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願日】平成19年5月25日(2007.5.25)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(591074585)エヌ・ティ・ティ アイティ株式会社 (21)
【Fターム(参考)】
[ Back to top ]