JP4300238B2 - 分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体 - Google Patents

分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体 Download PDF

Info

Publication number
JP4300238B2
JP4300238B2 JP2006536982A JP2006536982A JP4300238B2 JP 4300238 B2 JP4300238 B2 JP 4300238B2 JP 2006536982 A JP2006536982 A JP 2006536982A JP 2006536982 A JP2006536982 A JP 2006536982A JP 4300238 B2 JP4300238 B2 JP 4300238B2
Authority
JP
Japan
Prior art keywords
server module
information
multimedia information
memory
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
JP2006536982A
Other languages
English (en)
Other versions
JPWO2006123747A1 (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
Publication of JPWO2006123747A1 publication Critical patent/JPWO2006123747A1/ja
Application granted granted Critical
Publication of JP4300238B2 publication Critical patent/JP4300238B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、複数の端末からの要求に応じて、要求されたマルチメディア情報を各端末に遅滞なく配信、または、端末から送信されたマルチメディア情報を蓄積することが可能な分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体に関するものである。
従来の分散型マルチメディアサーバシステムの構成例として、特許文献1等に記載されたものがある。図1に、このような従来の分散型マルチメディアサーバシステムを示す。図1に示すように、分散型マルチメディアサーバシステム1は、通信サーバモジュール2、蓄積サーバモジュール3、4およびローカルエリアネットワーク5を有している。
マルチメディア情報の蓄積は図2に示す手順で行われる。通信サーバモジュール2が、端末からの書き込み要求とマルチメディア情報を受信するとともに分割し、書き込み要求を蓄積サーバモジュール3に送信し、その応答を受け取ってから、分割したマルチメディア情報を蓄積サーバモジュール3に送信する。同様に蓄積サーバモジュール4に送信し、これを繰り返す。
マルチメディア情報の配信は図3に示す手順で行われる。通信サーバモジュール2が端末からの読み取り要求を受信し、要求されたマルチメディア情報の読み取り要求を蓄積サーバモジュール3に対して送信する。この読み出し要求を受信した蓄積サーバモジュール3は、要求されたマルチメディア情報を通信サーバモジュール2に送信する。それを受信した通信サーバモジュール2は、マルチメディア情報をくみ上げ、配信用のネットワークを通じて端末へ送信する。同様に、通信サーバモジュール2はマルチメディア情報の読み出し要求を蓄積サーバモジュール3に対して送信し、蓄積サーバモジュール4は要求されたマルチメディア情報を通信サーバモジュール2に送信し、これを繰り返す。
特許第3461278号公報 INFINIBAND(SM) TRADE ASSOCIATION、[online]、[平成17年5月6日検索]、インターネット<http://www.infinibandta.org/events/past/it_roadshow/fabric_tco_ibm.pdf> Myrinet Overview、[online]、[平成17年5月6日検索]、インターネット<http://www.myrinet.com/myrinet/overview/> 独立行政法人 産業技術総合研究所 先端情報計算センター、"AISTスーパークラスタ"、[online]、[平成17年5月6日検索]、インターネット<http://unit.aist.go.jp/tacc/supercluster.html>
ローカルエリアネットワークを使用した図1のシステムでは、ローカルネットワーク5としてEthernet(登録商標)を使うことが一般的である。その環境下においては、ネットワーク内の通信は信頼性を重きにおくため、そのプロトコルとしてTCP/IPを使用する必要がある。
TCP/IPは汎用性を高くするため、各サーバモジュール内の汎用の演算装置6、7、8がその処理を行う。接続端末数が多くなりネットワークの最大帯域に近づくと、ネットワークの空きを待つ時間が長くなり、負荷が急激に高くなることが知られている。また、この演算装置は、端末との間のメッセージの処理や、サーバモジュール間の読み取り要求、書き込み要求の処理も行わなければならないため、負荷がさらに大きくなる。その結果、処理遅延が増大し、必要な時間までにマルチメディア情報の読み出しが完了しない現象が起こるため、サーバモジュール1台あたりの処理負荷を低く抑えて使わなければならなくなり、処理能力に余裕をもたせてモジュール数を決定しなければならず、必要以上に大きな設備を用意しなければならない。さらに、ローカルエリアネットワーク内に設置されたスイッチで、各サーバからのトラヒックが衝突を起こし、その結果、ローカルエリアネットワーク内でのランダムな送信遅延が発生する。この送信遅延は、TCP/IPの輻輳検出メカニズムを起動させ、その結果、ローカルエリアネットワーク内での送信速度が低下するため、実際に使用する転送速度よりも十分に高い転送速度を持ったローカルエリアネットワークとサーバを使って分散サーバシステムを構築する必要がある。
以上のように、従来のシステムでは、サーバ、ネットワークとも処理能力に余裕を持たせて設計する必要がある。そのため、ハイビジョンなどの高品質な映像を複数同時にネットワークで配信するサーバには最速のプロセッサを搭載したものをクラスタ化し、それらを接続する内部ネットワークは10ギガビットイーサネット(登録商標)等のギガビット超のネットワークを使用する必要があり、非常に高価なシステムになってしまうという問題がある。
一方、ローカルエリアネットワーク以外のネットワークとして、並列計算機を構成するためのクラスタ間接続ネットワーク(例えば非特許文献1、2、3など)がある。このネットワークは、ハードウェアで通信の信頼性の確保を実現しているため、高速低負荷、低コストである反面、サーバ間のメッセージの送受信やメモリ共有に使う目的で設計されているため、映像データのようなストリームの転送機能は持ち合わせていない。しかし、このメモリ共有機能(遠隔ダイレクトメモリアクセス機能)は、このクラスタ間接続ネットワークにより接続されたサーバのメモリを他のサーバから自由にアクセス出来るようにする機能で、ほとんどの処理をネットワークカードのハードウェアで実現しており、サーバのCPUに負荷をほとんどかけずにデータの転送を行うことが出来る。さらに、この遠隔ダイレクトメモリアクセス機能では、相手側のアドレスを得てしまえば、相手側が何もしなくてもデータの転送が行えるため、例えば、TCP/IPを使った処理では相手側はsend()などのシステムコールを呼び出さなければならないが、この機能を使うことによって、余計な処理を相手側で行わずにデータの転送が実現出来る。このネットワークを使うことが出来れば、低負荷でデータの転送が出来るため、高価でハイスペックなサーバシステムを導入することなく、低コストなサーバにより高い転送能力を持つサーバシステムを構築することが出来、サーバと内部結合ネットワークのコストを削減することが出来る。本発明の目的は、例えばクラスタ間接続ネットワークのような遠隔ダイレクトメモリアクセス機能が利用できるネットワークもしくはバスシステムを使ってストリームを転送するための手段を提供し、安価で高速な、高品質映像の配信システムを提供することにある。
本発明の分散型マルチメディアシステムを説明するためのシステム構成例を図4に示す。以下、上記課題を解決するための手段について図4を用いて説明するが、これはわかりやすく説明するためであり、本発明を限定するものではない。本発明は請求項に記載されたとおりである。
図4に示すシステム構成例においては、分散型マルチメディアサーバシステム10は、バッファサーバモジュール(第1のサーバモジュール)21、22、23、…、ストレージサーバモジュール(第2のサーバモジュール)31、32、33、…、蓄積装置41、42、43、…、クラスタ間接続ネットワーク51を有し、端末11、12は配信用ネットワーク61を介して分散型マルチメディアサーバシステム10に接続されている。バッファサーバモジュール21、22、23、…とストレージサーバモジュール31、32、33、…の間に介在するクラスタ間接続ネットワーク51が遠隔ダイレクトメモリアクセス機能を提供している。クラスタ間接続ネットワーク51の遠隔ダイレクトメモリアクセス機能により、バッファサーバモジュール21、22、23、…とストレージサーバモジュール31、32、33は、ストレージサーバモジュール31、32、33、…およびバッファサーバモジュール21、22、23、…内のメモリの内容を相互に参照することが可能となる。52はバッファサーバモジュール21、22、23、…とストレージサーバモジュール31、32、33、…間でメッセージを交換するためのローカルエリアネットワークである。図4の構成例では、分散型マルチメディアサーバシステム10は、複数個のバッファサーバモジュール、ストレージサーバモジュール、蓄積装置を有しているが、これらは1つずつでもよい。また、図4の構成例では、メッセージ交換用にローカルエリアネットワーク52を用いているが、メッセージ交換もクラスタ間接続ネットワーク52で行ってもよい。
まず、再生用の端末11からマルチメディア情報の読み出し要求をバッファサーバモジュール21が受信する。そのバッファサーバモジュール21は、マルチメディア情報が格納された蓄積装置41を持つストレージサーバモジュール31に対して、マルチメディア情報の読み出し要求を送信する。そのメッセージを受けたストレージサーバモジュール31が、自メモリに読み出す。そして、マルチメディア情報の読み出し要求の応答として、マルチメディア情報を格納したメモリに関する情報(メモリアドレスや、その大きさ、もしくは、これらのメモリに関する情報が格納されているメモリアドレスなど)をバッファサーバモジュール21に返す。
マルチメディア情報の読み出し要求に対する応答を受信したバッファサーバモジュール21は、応答に含まれているストレージサーバモジュール31中のマルチメディア情報が格納されているメモリに関する情報を元に、遠隔ダイレクトメモリアクセス機能を使って、マルチメディア情報を取得し、それを、端末または端末からのマルチメディア情報の読み出し要求で指定された端末へパケット化して送信する。
数多くの端末に送信したい場合は、バッファサーバモジュール21、22、23、…、ストレージサーバモジュール31、32、33、…を図4のように複数配置する。さらに、ストレージサーバモジュール31、32、33、…にそれぞれ接続された蓄積装置41、42、43、…に対して、例えばセグメントもしくはフレーム単位で、マルチメディア情報を分割して格納し、バッファサーバモジュールから、マルチメディア情報が格納された蓄積装置(ストレージ)が接続されている各ストレージサーバモジュールに対して順に読み出し要求を送信し、メモリに関する情報を各ストレージサーバモジュールから受信し、その情報を元に、順に各ストレージサーバモジュールからマルチメディア情報を読み出し、マルチメディア情報を組立てて指定された端末へ送信する。バッファサーバモジュールがマルチメディア情報の読み出し要求を送信するタイミングは、1つ前のストレージサーバモジュールに対する遠隔ダイレクトメモリアクセスによるマルチメディア情報の読み出しが完了する前であってもよい。
複数の端末から同時に読み出す場合は、他のバッファサーバモジュールからも各ストレージサーバモジュールに対して、マルチメディア情報の読み出し要求を送信して、同様に読み出す。このように、複数が同時にストレージサーバモジュールに対してアクセスした場合、処理の競合により、ストレージサーバからの応答が遅れ、アンダーフローを起こすことが考えられる。しかし、バッファサーバモジュール内でマルチメディア情報をバッファリングし、送信開始を遅らせることにより、応答の遅れを吸収することは可能である。
また、ストレージサーバモジュールは、マルチメディア情報の読み出し要求に対する応答にマルチメディア情報が格納されているメモリ情報を応答で返す代わりに、メモリ情報と新規に書き込まれたかどうかの情報(新規書込メモリ情報)が格納されているストレージサーバモジュール中のメモリに関する情報を返すことも可能である。バッファサーバモジュールは、新規に書き込まれたかどうかを判定するとともに、間接的にマルチメディア情報が格納されているメモリから、マルチメディア情報を読み出すことが可能である。
応答データ量を減らすことを目的に、システム起動時にバッファサーバモジュールは前記メモリ情報や前記新規書込メモリ情報をストレージサーバモジュールから取得しておくことにより、マルチメディア情報の読み出し要求に対する応答にこれらの情報を含ませないことも可能である。さらに、この取得した前記新規書込メモリ情報を元に、マルチメディア情報の読み出し要求を最初のみ実行し、2回目以降は、新規書込情報メモリにアクセスし、新規に書込が行われたかどうかを判定することにより、オーバーヘッドの大きい通信の回数をさらに減らすことが出来る。
以下、上記課題を解決するための別の手段について説明する。
まず、再生用の端末11からマルチメディア情報の読み出し要求をバッファサーバモジュール21が受信する。そのバッファサーバモジュール21は、マルチメディア情報が格納された蓄積装置41を持つストレージサーバモジュール31に対して、マルチメディア情報の読み出し要求を送信する。この要求にバッファサーバモジュール21内に確保されたマルチメディア情報格納用のメモリに関する情報(メモリ情報)を一緒に乗せて送信する。このマルチメディア情報の読み出し要求を受信したストレージサーバモジュール31は、蓄積装置41から読み出したマルチメディア情報を、前記メモリ情報で指定されたメモリに対して、遠隔ダイレクトメモリアクセス機能を使用して書き込むとともに、書込が完了したことを示すための応答を、前記バッファサーバモジュール21に対して送信する。その応答を受信したバッファサーバモジュール21は指定された端末に対してマルチメディア情報を送信する。
さらに負荷の高い通信回数を削減するためには、バッファサーバモジュール21は、分割マルチメディア情報の読み出し要求の中に、メモリ情報に加えて、新規に書き込まれたかどうかを示す新規書込情報を格納するためのメモリ(新規書込情報メモリ)に関する情報(新規書込メモリ情報)を代入して送信する。この要求を受信したストレージサーバモジュール31は、前記蓄積装置41から読み出したマルチメディア情報を、前記メモリ情報で指定されたメモリに対して、遠隔ダイレクトメモリアクセス機能を使用して書き込むとともに、新規書込メモリ情報で指定されたメモリに、新規にマルチメディア情報が書かれたことを示す情報を書き込み、応答は送信しない。バッファサーバモジュール21は、マルチメディア情報の読み出し要求送信後、新規書込情報メモリを参照し、新規にマルチメディア情報が書き込まれたかどうかを判定する。その結果、新規に書込が行われていれば、遠隔ダイレクトメモリアクセス機能を使って分割マルチメディア情報を取得し、端末へ送信する。
端末11から送られたマルチメディア情報を分散型マルチメディアサーバシステム10内に蓄積する場合は、以下の手順で行う。まず、端末11からマルチメディア情報書き込み要求をバッファサーバモジュール21が受信すると、ストレージサーバモジュール31に対して、分割マルチメディア情報書き込み要求を送信する。ストレージサーバモジュール31はその応答として、分割マルチメディア情報が書込可能なバッファメモリに関する情報をバッファサーバモジュール21に対して送信する。その応答を受信したバッファサーバモジュール21は、その情報を元に端末11から受信したマルチメディア情報を分割して、遠隔ダイレクトメモリアクセス機能を使ってそのバッファメモリに書き込む。ストレージサーバモジュール31は、書き込まれたことを確認すると。蓄積装置41に書き込む。
また、次に示す別の手順で蓄積することもできる。端末11からマルチメディア情報書き込み要求をバッファサーバモジュール21が受信すると、ストレージサーバモジュール31に対して、分割マルチメディア情報書き込み要求を送信する。この時、バッファサーバモジュール21は、この要求の中にバッファサーバモジュール21内の分割マルチメディア情報が蓄積されているバッファメモリに関する情報を含めて送信する。この要求を受信したストレージサーバモジュール31は、この要求に含まれているバッファメモリに関する情報を元に、分割マルチメディア情報を、遠隔ダイレクトメモリアクセス機能を使って取得し、蓄積装置41に書き込む。
本発明を用いることによって、負荷が高い通信を出来るだけ使用せずに、バッファサーバモジュール、ストレージサーバモジュール間で、マルチメディア情報の転送が出来るため、少ないサーバで高い同時配信性能を得ることが出来る。
本発明により、負荷の高い通信によるマルチメディア情報の転送を、負荷の低い遠隔ダイレクトメモリアクセスに置き換えることが可能となり、その結果、低いシステムコストで高いトータルスループットを得ることが可能となる。さらに、負荷が低くなった分、例えば、マルチメディア情報のフォーマットの変換や圧縮などの高度な処理をサーバシステム内に組み込むことが可能になり、少ないサーバリソースで付加価値の高いサービスをシステムで提供することが可能となる。
図1は、従来の分散型マルチメディアサーバシステムの構成例を示す図である。 図2は、従来の分散型マルチメディアサーバシステムにおける蓄積シーケンス例を示す図である。 図3は、従来の分散型マルチメディアサーバシステムにおける再生シーケンス例を示す図である。 図4は、本発明の分散型マルチメディアシステムを説明するためのシステム構成例を示す図である。 図5は、実施例の分散型マルチメディアサーバシステムの構成例(最小構成)を示す図である。 図6は、再生処理の第1の実施例を説明する概略シーケンス図である。 図7は、再生処理の第1の実施例で複数のバッファを使用する場合の概略シーケンス図である。 図8は、再生処理の第2の実施例を説明する概略シーケンス図を示す図である。 図9は、再生処理の第2の実施例のストレージサーバモジュールにおけるバッファメモリ構成を示す図である。 図10は、再生処理の第2の実施例で複数のバッファを使用する場合の概略シーケンス図である。 図11は、再生処理の第2の実施例で起動時に新規書き込みメモリ情報を得る場合の概略シーケンス図である。 図12は、再生処理の第3の実施例を説明する概略シーケンス図である。 図13は、再生処理の第4の実施例を説明する概略シーケンス図である。 図14は、多数の端末に送信可能な分散型マルチメディアサーバシステムにおけるマルチメディア情報の蓄積方式と送信方式を説明する図である。 図15は、複数ストレージサーバモジュール構成対応に再生処理の第1の実施例を拡張した概略シーケンス図である。 図16は、登録処理の第1の実施例を説明する概略シーケンス図である。 図17は、登録処理の第1の実施例で複数のバッファを使用する場合の概略シーケンス図である。 図18は、登録処理の第1の実施例を説明する概略シーケンス図である。 図19は、複数ストレージサーバモジュール構成対応に登録処理の第1の実施例を拡張した概略シーケンス図である。 図20は、一般的なクラスタ型並列計算方式を説明するための図である。 図21は、リクエストに応じたバッファメモリの確保例を示す図である。 図22は、データ先読みによるバッファメモリの確保例を示す図である。
符号の説明
1…分散型マルチメディアサーバシステム、2…通信サーバモジュール、3、4…蓄積サーバモジュール、5…ローカルエリアネットワーク、6、7、8…演算装置、10,50…分散型マルチメディアサーバシステム、11、12、13…端末、21、22、23…バッファサーバモジュール、31、32、33…ストレージサーバモジュール、41、42、43…蓄積装置、51…クラスタ間接続ネットワーク、52…ローカルエリアネットワーク、61…配信用ネットワーク、62…ロードバランサ、91…新規書込メモリ、92…更新情報、93…メモリ情報、94、95、96…分割マルチメディア情報用バッファメモリ
以下、本発明を実施例を用いて詳細に説明する。
図5に本発明における分散型マルチメディアサーバシステム50の構成の一例(最小構成)を示す。図中の端末11、12はユーザが操作する端末である。バッファサーバモジュール21は、端末11、12からの要求を受けて、マルチメディア情報の送信または受信を行うモジュールである。ストレージサーバモジュール31は、マルチメディア情報を分割して格納する蓄積装置41を持っており、この蓄積装置からのマルチメディア情報の読み出し、もしくは書き込みを行う。バッファサーバモジュール21とストレージサーバモジュール31との間は、遠隔ダイレクトメモリアクセス機能が利用できるネットワークもしくはバスシステムで接続されている。図5ではクラスタ間接続ネットワーク51で接続されている。バッファサーバモジュール21とストレージサーバモジュール31とは、遠隔ダイレクトメモリアクセス機能を用いて、お互いのバッファメモリ中のデータを参照することが可能である。本実施例では、ネットワーク51として並列計算機用のクラスタ間接続ネットワークを利用することを目的としているため、メッセージ通信の機能は備えているものとする。しかし、それが不可能な場合などの場合は、後述する分割マルチメディア情報読み出し要求やその応答などのメッセージの交換用に、例えば図5に示すようなローカルエリアネットワーク52を利用することも可能である。この場合は、バッファサーバモジュール21とストレージサーバモジュール31は、遠隔ダイレクトメモリアクセス機能を用いることができるネットワーク51と遠隔ダイレクトメモリアクセス機能を用いることができないローカルエリアネットワーク52の両方で接続される。端末11、12と分散型マルチメディアサーバシステム50の間はワイドエリアネットワークなどの配信用ネットワーク61で結ばれている。
まず、再生時つまり分散マルチメディアサーバシステムから端末へ送信する場合の処理について説明する。
図6に読み出し処理の第1の実施例の処理シーケンスを示す。図中おけるバッファサーバモジュール21とストレージサーバモジュール31間の細線の矢印はTCP/IPを含むメッセージ通信、太線の矢印は遠隔ダイレクトメモリアクセス機能を使ったデータの転送を示している。ユーザが端末11から視聴したいマルチメディア情報を要求するため、バッファサーバモジュール21に対してマルチメディア情報読み出し要求を送信する(段階61)。その要求を受信したバッファサーバモジュール21は、その要求に基づいて、要求されたマルチメディア情報が分割されて格納されている蓄積装置41が接続されているストレージサーバモジュール31に対して、分割マルチメディア情報読み出し要求を送信する(段階62)。次に、その要求を受けたストレージサーバモジュール31は、蓄積装置41から該当する分割マルチメディア情報をストレージサーバモジュール31内のバッファメモリ中に読み出し(段階63)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階64)。この情報を元に、バッファサーバモジュール21は、分割マルチメディア情報を、遠隔ダイレクトメモリアクセス機能を使用することによってストレージサーバモジュール31内から読み出し(段階65)、マルチメディア情報読み出し要求により指定された端末へネットワークを使用して送信する(段階66)。送信先は、最初のマルチメディア情報読み出し要求を発した端末11でももちろん構わない。さらに段階62〜66を繰り返し行うことによって、要求されたマルチメディア情報の全ての送信を実行する。また、ストレージサーバモジュール31内に複数のバッファメモリを用意しておくことによって、図7のように、次に送信する分割マルチメディア情報を先読みし(段階73−2)、バッファメモリに格納しておくことによって、バッファサーバモジュール21とストレージサーバモジュール31との間で、効率よく処理することが可能である。
ここで、図20を用いて、クラスタ間接続ネットワークを利用したクラスタ型計算機による一般的な並列計算方法について説明する。
同図に示すように、クラスタ型計算機による並列計算は以下のような手順で行われる。まず最初に、マスター計算機は、メッセージ送受信機能を利用して並列計算に必要なパラメータを各スレーブ計算機へ送信する(同図の(1)参照)。パラメータを受信した各スレーブ計算機はそれぞれ並列計算を実行する(同図の(2)参照)。並列計算終了後、各スレーブ計算機は、メッセージ送受信機能を利用して計算結果をマスター計算機に送信する、もしくは、メモリ共有機能を利用して計算結果をマスター計算機内のメモリに書き込む(同図の(3)参照)。各スレーブ計算機から計算結果を受信、あるいは、書き込まれたマスター計算機は、最終結果の計算を実行し(同図の(4)参照)、最終結果を提示する(同図の(5)参照)。
このように、クラスタ間接続ネットワークを利用したクラスタ型計算機による一般的な並列計算方法は、予め決められたメモリ領域を使用して最低限の情報をマスター計算機とスレーブ計算機との間で交換するものであるので、計算開始時に使用するメモリ領域を決定しておけば、その後は決められた領域に書き込むだけである。
一方、従来の分散型マルチメディアサーバシステム(例えば、図1参照)においては、大量のデータを短時間で高速に送受信するために各サーバモジュールで大量のメモリを使用し、また、送受信するストリームのレート(単位時間あたりのデータ量)によって使用するメモリ量が異なる。そのため、使用しないメモリは積極的に開放して効率よく使用し、リクエスト毎に、そのリクエストに応じたメモリ領域を動的に確保する必要がある。
これに対して、本発明に係る第一の実施例では、図21に例示するように、ストレージサーバモジュール31において、例えば、前回リクエストに応じて確保したバッファメモリ領域(サイズ:S)と今回リクエストに応じて確保したバッファメモリ領域(サイズ:T)とが異なる。すなわち、リクエスト毎にリクエストに応じたバッファメモリ領域を動的に確保するようにしている。
また,従来の分散型マルチメディアサーバシステム(例えば,図1参照)において、各蓄積サーバモジュール41に接続されているストレージに対して分割マルチメディア情報を読み書きする場合、その読み書きにかかる処理時間は一定ではなくその情報が格納されているストレージ中の物理的な位置に依存し大きく変化する。蓄積サーバモジュール4と通信サーバモジュール2との間も読み書きの完了したタイミングで通信が行われる。そのため、蓄積サーバモジュール4とストレージと間の分割マルチメディア情報の転送速度、蓄積サーバモジュール4と通信サーバモジュール2との間の転送速度、通信サーバモジュールと端末との間の転送速度は、長期間で観測すると同じになるものの、短時間で観測した場合はそれぞれ異なる。その速度差を吸収するために、各サーバモジュールに複数のメモリ領域を用意して、データの格納場所を動的に通知する必要がある。
これに対して、本発明に係る第一の実施例では、図22に例示するように、ストレージサーバモジュール31は、バッファサーバモジュール21からリクエストを受けたマルチメディアデータを、複数設けたバッファメモリ領域に蓄積装置41から先読みして格納し、最初の分割マルチメディアデータの次に読み出される分割マルチメディアデータが格納されているメモリ情報(例えば、アドレス:D−2、サイズ:W)を動的にバッファサーバモジュール21へ通知する。すなわち、各サーバモジュールにおいて生じうる速度差を吸収して、データの格納場所を動的に通知するようにしている。
このようなことから、本発明では、固定的にメモリ領域を使用する一般的なクラスタ型並列計算機とは異なり、動的にメモリ領域を使用することにより、クラスタ型接続ネットワークを利用した分散型マルチメディアサーバシステムにおいて、ストリーム転送機能を実現する。
図8に送信時の処理の第2の実施例のシーケンスを示す。図9に、第2の実施例におけるストレージサーバモジュール31のバッファメモリ構成を示す。図9において、91は新規書込メモリであり、新規書込メモリ91には更新情報92、メモリ情報93が記憶される。94は分割マルチメディア情報用バッファメモリであり、必要に応じて分割マルチメディア情報用バッファメモリ95、96、…が増設される。更新情報92は新たに書き込まれたかどうかを示す情報であり、メモリ情報93は分割マルチメディア情報用バッファメモリに関する情報(アドレス、サイズ等)である。
ユーザが端末11から視聴したいマルチメディア情報を要求するためバッファサーバモジュール21に対してマルチメディア情報読み出し要求を送信する(段階81)。その要求を受信したバッファサーバモジュール21は、要求されたマルチメディア情報が分割されて格納されている蓄積装置41が接続されているストレージサーバモジュール31に対して、分割マルチメディア情報読み出し要求を送信する(段階82)。次に、その要求を受けたストレージサーバモジュール31は、蓄積装置41から該当する分割マルチメディア情報をストレージサーバモジュール31内の分割マルチメディア情報用バッファメモリ94中に読み出し(段階83)、そのバッファメモリ94のアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報93)を新規書込メモリ91に格納し、応答として返す(段階84)。この応答には、新規書込メモリ91のアドレスなどのこのメモリに関する情報(新規書込メモリ情報)が含まれている。この応答を受け取ったバッファサーバモジュール21は、この応答を元に、メモリ情報93を遠隔ダイレクトメモリアクセス機能を使用することによってストレージサーバモジュール31内から読み出し(段階85)、そのメモリ情報93を元に、分割マルチメディア情報を、遠隔ダイレクトメモリアクセス機能を使用することによってストレージサーバモジュール31内の分割マルチメディア情報用バッファメモリから読み出し(段階86)、マルチメディア情報読み出し要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階87)。連続して分割マルチメディア情報を送信する場合、第1の実施例と同様に、段階82〜87を繰り返すことによって実現する。さらに、段階84の応答に含まれる新規書込メモリ情報をバッファサーバモジュール31内に保存しておくことにより、2回目以降の分割マルチメディア情報読み出し要求の送信(段階82)およびその応答の返送(段階84)を省略することが出来、その代わりに、分割マルチメディア情報が格納されていたバッファメモリを解放するためのバッファ解放要求をバッファサーバモジュール31に対して送信する。その分も加味しても、通信処理の回数を削減することが出来る。さらに、段階84において、新規書込メモリ91中に含まれるメモリ情報93が指し示すバッファメモリ(マルチメディア情報メモリ)94に分割マルチメディア情報が新たに書き込まれたかどうかを示す情報(更新情報92)を図9に示すように新規書込メモリ91中に一緒に格納することにより、バッファサーバモジュール21は、段階85において、ストレージサーバモジュール31が新たに分割マルチメディア情報を新たに書き込んだかどうかを知ることが出来る。この更新情報92は1ずつインクリメントするカウンタや、0/1を交互に繰り返すカウンタによって実現することは可能である。もし、バッファサーバモジュール21が段階85において、この更新情報92によって、分割マルチメディア情報用バッファメモリ中のデータが更新されていないと判定すれば、バッファサーバモジュール21は、しかるべきリトライ時間を設けて更新情報92が更新されるまで段階85を繰り返すことによって、以降の処理を継続する。
また、第1の実施例と同様に、複数のバッファメモリをストレージサーバモジュール31内に用意する(図9に示すように分割マルチメディア情報用バッファメモリ95、96、…を増設する)ことによって、図10のように、蓄積装置からの読み出し(段階103−2)と端末への送信(段階107)とを並列に動作させることが出来、ストレージサーバモジュール31、バッファサーバモジュール21との間でパイプライン的に処理することが出来るため、高い性能を得ることが出来る。
また、第1の実施例(図6および図7)、第2の実施例(図8および図10)において、図6の段階64および図7の段階74のメモリ情報、図8の段階84および図10の段階104の新規書込メモリ情報を、分割マルチメディア情報読み出し要求が届く前に予め(例えばシステムの起動時に)バッファサーバモジュール21に対して、ストレージサーバモジュール31を含む他のモジュールから通知する、もしくは、予めバッファサーバモジュール21内に記録しておくことにより、第1の実施例では、図6段階64のメモリ情報を送信しないようにして、バッファサーバモジュール21とストレージサーバモジュール31との間の送信データ量を減らすことが出来る。
さらに、第2の実施例では、図8段階84の新規書込メモリ情報を送信しない方法だけでなく、図11に示すように、まず、最初の1回、分割マルチメディア情報読み出し要求を送信する(段階112)。引き続き、予め(例えば図11の段階110に示すようにシステム起動時に)得た新規書込メモリ情報を元に、遠隔ダイレクトメモリアクセス機能を使用することによってメモリ情報93をストレージサーバモジュール31内から読み出し(段階113)、そのメモリ情報93を元に、分割マルチメディア情報を、遠隔ダイレクトメモリアクセス機能を使用することによってストレージサーバモジュール31内から読み出す(段階114)。そして、マルチメディア情報読み出し要求により指定された端末へネットワークを使用して送信し(段階115)、ストレージサーバモジュールに対してバッファ解放要求を送信する段階(段階116)以降は、これら段階113〜116を繰り返すことによって、さらに送信の回数を減らすことが出来る。
さらに、第3の実施例の処理シーケンスを図12に示す。まず、ユーザが端末11から視聴したいマルチメディア情報を要求するためにバッファサーバモジュール21に対してマルチメディア情報読み出し要求を送信する(段階121)と、その要求を受信したバッファサーバモジュール21は、要求されたマルチメディア情報が分割され、格納されている蓄積装置41が接続されているストレージサーバモジュール31に対して、分割マルチメディア情報読み出し要求を送信する(段階122)。この要求には、バッファサーバモジュール21内のバッファメモリに関する情報(メモリ情報)を一緒に格納しておく。次に、その要求を受けたストレージサーバモジュール31は、蓄積装置41から該当する分割マルチメディア情報を分割マルチメディア情報読み出し要求で指定されたバッファメモリ中に遠隔ダイレクトメモリアクセス機能により読み出し(段階123)、書き込んだことを示すため応答を返す(段階124)。バッファサーバモジュールは、自分のバッファメモリ内の分割マルチメディア情報を端末11からのマルチメディア情報読み出し要求により指定された端末へネットワークを使用して送信する(段階125)。そして、次の分割マルチメディア情報を送信するため、前記の段階122〜125を繰り返す。
この第3の実施例と、第1の実施例、第2の実施例との差異は、遠隔ダイレクトメモリアクセスを実行するモジュールが異なるところにある。これは、遠隔ダイレクトメモリアクセスによる負荷や性能が遠隔ダイレクトメモリアクセスで書き込む方が良い場合と悪い場合が、遠隔ダイレクトメモリアクセス機能を備える製品によって異なるため、それに合わせた方式の選択を可能にするためである。
第3の実施例の通信回数を減らす実施例が次の第4の実施例である。この実施例の処理シーケンスを図13に示す。まず、ユーザが端末11から視聴したいマルチメディア情報を要求するためバッファサーバモジュール21に対してマルチメディア情報読み出し要求を送信する(段階131)と、その要求を受信したバッファサーバモジュール21は、要求されたマルチメディア情報が分割され、格納されている蓄積装置41が接続されているストレージサーバモジュール31に対して、分割マルチメディア情報読み出し要求を送信する(段階132)。この要求には、バッファサーバモジュール21内のバッファメモリに関する情報とバッファメモリが空いているかどうか示す情報(新規書込メモリ情報)が格納されているバッファメモリに関する情報を一緒に格納しておく。次に、その要求を受けたストレージサーバモジュール31は、分割マルチメディア情報読み出し要求で指定されたバッファメモリ中の新規書込メモリ情報を、遠隔ダイレクトメモリアクセス機能を使って読み出し(段階133)、その情報で指定されたバッファメモリが空いていることを確認し、蓄積装置41から該当する分割マルチメディア情報を読み出し、遠隔ダイレクトメモリアクセス機能によりバッファサーバモジュール21のバッファメモリに転送し(段階134)、書き込んだことを示すため応答を返す(段階135)。もしくは、応答を返す代わりに、新規書込メモリ情報が格納されているバッファメモリに対して、遠隔ダイレクトメモリアクセス機能により書き込んだことを示す情報を書き込むことも可能である。応答を受け取ったバッファサーバモジュールは、自分のバッファメモリ内のデータを、端末11からのバッファメモリ内の分割マルチメディア情報をマルチメディア情報読み出し要求により指定された端末へネットワークを使用して送信する(段階136)。そして、次の分割マルチメディア情報を送信するため、前記の段階133〜136を繰り返す。通信回数を減らすために、ストレージサーバモジュール31が分割マルチメディア情報読み出し要求中の新規書込メモリ情報を自モジュール内に保存しておくことによって、2回目以降の分割マルチメディア情報読み出し要求の送信を省略することが出来る。
また、多くの端末に配信するシステムでは、図14のように複数のストレージサーバモジュール31、32、33、…に、マルチメディア情報を分割して蓄積し(図14の例では映像データの蓄積をフレーム単位で行っている例である)、これらの複数のストレージサーバモジュール31、32、33、…に対してアクセスする方式をとる。図14においては、フレーム#1が蓄積装置41に蓄積され、フレーム#2が蓄積装置42に蓄積され、フレーム#3が蓄積装置43に蓄積されている。図15に、複数のストレージサーバを使った構成に対応させるために、上記第1の実施例を拡張した処理シーケンスを示す。まず、ユーザが端末11から視聴したいマルチメディア情報を要求するためにバッファサーバモジュール21に対してマルチメディア情報読み出し要求を送信する(段階151)と、その要求を受信したバッファサーバモジュール21は、要求されたマルチメディア情報の先頭(フレーム#1)が格納されている蓄積装置41が接続されているストレージサーバモジュール31に対して、分割マルチメディア情報読み出し要求を送信する(段階152)。その要求を受けたストレージサーバモジュール31は、蓄積装置41から該当する分割マルチメディア情報をストレージサーバモジュール31内のバッファメモリ中に読み出し(段階153)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階154)。この情報を元に、バッファサーバモジュール21は、分割マルチメディア情報を、遠隔ダイレクトメモリアクセス機能を使用することによってストレージサーバモジュール31内から読み出し(段階155)、マルチメディア情報読み出し要求により指定された端末へネットワークを使用して送信する(段階156)。送信先は、最初の要求を発した端末でももちろん構わない。次の分割マルチメディア情報を読み出すための分割マルチメディア情報読み出し要求を次の分割マルチメディア情報(フレーム#2)が格納されている蓄積装置42が接続されているストレージサーバモジュール32に対して送信する(段階152−2)。以降、段階153〜156と同じ処理を繰り返し、次のストレージサーバモジュール33に対して、分割マルチメディア情報読み出し要求を送信する。以上の処理を要求されたマルチメディア情報が格納されている蓄積装置を持つ全てのストレージサーバモジュールに対して、順番に行い、再び、最初に分割マルチメディア情報読み出し要求を送信したストレージサーバモジュールに対して、分割マルチメディア情報読み出し要求を送信し、段階152以降を再び繰り返すことによって、送信を行う。このようにして、図14の実線に示すように、端末11にマルチメディア情報を配信する。同様に、端末13からバッファサーバモジュール23に読み出し要求があった場合は、図14の点線に示すようにマルチメディア情報を配信する。この方法は、上記第2、第3、第4の実施例にも同様に適用が可能である。この方法によって、ストレージサーバモジュールに対する負荷はストレージサーバモジュールの数をNとすると1/Nになるため、多数の端末から要求を受け付けた場合でも問題なく処理が可能である。バッファサーバモジュールに関しては図14のように、バッファサーバモジュールも複数用意し、バッファサーバモジュール21、22、23、…と端末との間にロードバランサ62等の負荷分散装置を置くことによって負荷を分散させることが出来るため、分散サーバシステム全体で高いスループットを得ることが出来る。
次に、端末からマルチメディア情報を分散型マルチメディアサーバシステムに登録する、つまり、端末から分散型マルチメディアサーバシステムへ送信する場合の第1の実施例を説明する。図16にその処理シーケンスを示す。ユーザが端末11を使って、マルチメディア情報書き込み要求をバッファサーバモジュール21に対して送信する(段階161)。それを受け取ったバッファサーバモジュール21は、分割マルチメディア情報書き込み要求をストレージサーバモジュール31に対して送信する(段階162)。この要求を受け取ったストレージサーバモジュール31は、バッファサーバモジュール21から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階163)。その応答を受信したバッファサーバモジュール21は、マルチメディア情報を受信し、分割するとともに(段階164)、遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報書き込み要求に対する応答中に含まれているメモリ情報を元に、ストレージサーバモジュール31内のバッファに転送する(段階165)。ストレージサーバモジュール31は次の分割マルチメディア情報書き込み要求を契機に転送された分割マルチメディア情報を蓄積装置41に蓄積する(段階166)。上記の段階162〜166を繰り返し実行することにより全てのマルチメディア情報を蓄積することが出来る。分割マルチメディア情報を蓄積するためのバッファメモリを複数ストレージサーバモジュール31内に用意することによって図17のように段階174−2〜175−2と段階176を並列で動作させ、パイプライン的に処理させることによって高速に動作させることが可能である。
さらに、端末からマルチメディア情報を登録するための第2の実施例を説明する。図18にその処理シーケンスを示す。ユーザが端末11を使って、マルチメディア情報書き込み要求をバッファサーバモジュール21に対して送信する(段階181)。それを受け取ったバッファサーバモジュール21は、マルチメディア情報を端末11から受信し分割する(段階182)と、この分割マルチメディア情報を一時的に保管しているバッファメモリに関する情報(メモリ情報)を含めて、ストレージサーバモジュール31に対して分割マルチメディア情報書き込み要求を送信する(段階183)。それを受信したストレージサーバモジュールは、そのメモリ情報を元に遠隔ダイレクトメモリアクセス機能を用いて分割マルチメディア情報を読み出し(段階184)、蓄積装置41に蓄積し(段階185)、蓄積を完了したことをバッファサーバモジュール21に対して通知する(段階186)。このように段階182〜186の処理を繰り返し行うことにより、全てのマルチメディア情報を蓄積装置に格納することが出来る。さらに、バッファサーバモジュール内にバッファメモリを複数持たせることによって、段階182と段階184〜185を並列に動作させ、パイプライン的に処理させることによって高速に処理することが可能である。
再生の時と同様に、多くの端末から登録する場合、図14のように複数のストレージサーバモジュールに、マルチメディア情報を分割して蓄積し、これらの複数のストレージサーバモジュールに対してアクセスする方式をとる。図19に、2台のストレージサーバを使った構成に対応させるために、上記第1の実施例を拡張した処理シーケンスを示す。まず、ユーザが端末11を使って。マルチメディア情報書き込み要求をバッファサーバモジュール21に対して送信する(段階191)。それを受け取ったバッファサーバモジュール21は、分割マルチメディア情報書き込み要求をストレージサーバモジュール31に対して送信する(段階192)。この要求を受け取ったストレージサーバモジュール31は、バッファサーバモジュール21から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階193)。その応答を受信したバッファサーバモジュール21は、マルチメディア情報を受信し、分割するとともに(段階194)、遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報書き込み要求に対する応答中に含まれているメモリ情報を元に、ストレージサーバモジュール31内のバッファに送信する(段階195)。ストレージサーバモジュール31は、次の分割マルチメディア情報書き込み要求の受信(段階192−3)を契機に、転送された分割マルチメディア情報を蓄積装置41に蓄積する(段階196)。次に、バッファサーバモジュール21は、分割マルチメディア情報書き込み要求をストレージサーバモジュール32に対して送信(段階192−2)し、段階193−2〜196−2を繰り返し実行する。さらに、ストレージサーバモジュールを増やした場合は、上記の処理に続いてストレージサーバモジュール33、34、35、…と順番に分割マルチメディア情報を蓄積し、最後のストレージサーバモジュールまで行くと、再び、最初のストレージサーバモジュール31から蓄積を行う。このようにすることによって、多数の端末から要求を受け取っても処理が可能となる。
以上、再生処理の複数の実施例と登録処理の複数の実施例について説明したが、対応する実施例を組み合わせて(例えば、再生処理の第1の実施例と登録処理の第1の実施例を組み合わせて)分散型マルチメディアサーバシステムを構成してもよいし、対応しない実施例を組み合わせて(例えば、再生処理の第1の実施例と登録処理の第2の実施例を組み合わせて)分散型マルチメディアサーバシステムを構成してもよい。
以上説明した各実施例の各サーバモジュールは、それぞれの機能、動作、段階を実現するための手段を有しており、それらの手段はコンピュータとプログラムによって構成することができ、そのプログラムは記憶媒体に記憶することができる。また、プログラムを用いる代わりに、その一部または全部をハードウェアで構成することもできる。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。

Claims (14)

  1. 分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
    前記分散型マルチメディアサーバシステムは、第1のサーバモジュールと、第2のサーバモジュールと、前記第1のサーバモジュールと前記第2のサーバモジュールとの間に介在し遠隔ダイレクトメモリアクセス機能により前記第2のサーバモジュールおよび前記第1のサーバモジュール内のメモリの内容を相互に参照することが可能なネットワークまたはバスシステムを有し、
    前記第1のサーバモジュールは、
    端末からのマルチメディア情報読み出し要求を受信する手段と、
    前記マルチメディア情報読み出し要求に基づいて、前記第2のサーバモジュールに対して、分割マルチメディア情報の読み出し要求を行う手段と、
    前記第2のサーバモジュールから取得した前記第2のサーバモジュール内の分割マルチメディア情報が格納されたバッファメモリに関する情報であるメモリ情報を元に前記第2のサーバモジュール内のバッファメモリから前記遠隔ダイレクトメモリアクセス機能により分割マルチメディア情報を取得する手段と、
    前記端末、または前記端末からの読み出し要求で指定された端末もしくは指定されたアドレスに対してマルチメディア情報を送信する手段と、
    を備え、
    前記第2のサーバモジュールは、前記第1のサーバモジュールから要求された分割マルチメディア情報を蓄積装置から読み出し、自モジュール内のバッファメモリに格納する手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  2. 請求項1に記載の分散型マルチメディアサーバシステムであって、
    前記第2のサーバモジュールは、
    前記バッファメモリに前記分割マルチメディア情報を新たに書き込んだことを示す情報である更新情報と前記バッファメモリに関する情報であるメモリ情報を、自モジュール内の新規書込情報メモリに格納する手段と、
    前記新規書込情報メモリに関する情報である新規書込メモリ情報を前記第1のサーバモジュールへ通知する手段と、
    を備え、
    前記第1のサーバモジュールは、前記第2のサーバモジュールから、前記新規書込メモリ情報を受け取り、前記新規書込メモリ情報を元に前記第2のサーバモジュール内の新規書込情報メモリから前記遠隔ダイレクトメモリアクセス機能により前記更新情報と前記メモリ情報を取得し、新たに書込が行われている場合に分割マルチメディア情報を取得する手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  3. 請求項1または2に記載の分散型マルチメディアサーバシステムであって、
    前記第2のサーバモジュールは、前記第1のサーバモジュールからのマルチメディア情報読み出し要求に対する応答として、または、予め、前記第1のサーバモジュールに対して、前記メモリ情報または前記新規書込メモリ情報を通知する手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  4. 請求項2に記載の分散型マルチメディアサーバシステムであって、
    前記第2のサーバモジュールは、予め、前記第1のサーバモジュールに対して前記新規書込メモリ情報を送信する手段を備え、
    前記第1のサーバモジュールは、前記マルチメディア情報読み出し要求を前記第2のサーバモジュールに対して送信した後、予め取得した前記新規書込メモリ情報を元に、前記第2のサーバモジュール内の新規書込情報メモリから前記更新情報と前記メモリ情報を取得する手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  5. 分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
    前記分散型マルチメディアサーバシステムは、第1のサーバモジュールと、第2のサーバモジュールと、前記第1のサーバモジュールと前記第2のサーバモジュールとの間に介在し遠隔ダイレクトメモリアクセス機能により前記第2のサーバモジュールおよび前記第1のサーバモジュール内のメモリの内容を相互に参照することが可能なネットワークまたはバスシステムを有し、
    前記第1のサーバモジュールは、
    端末からのマルチメディア情報読み出し要求を受信する手段と、
    前記マルチメディア情報読み出し要求に基づいて、前記第2のサーバモジュールに対して、自モジュール内のマルチメディア情報を格納するためのバッファメモリに関する情報であるメモリ情報を読み出し要求に付加した分割マルチメディア情報読み出し要求を行う手段と、
    前記端末、または前記端末からの読み出し要求で指定された端末もしくは指定されたアドレスに対して、マルチメディア情報を送信する手段と、
    を備え、
    前記第2のサーバモジュールは、
    前記第1のサーバモジュールから要求された分割マルチメディア情報を蓄積装置から読み出し、前記分割マルチメディア情報読み出し要求内に含まれた前記メモリ情報で指定された前記第1のサーバモジュール内のバッファメモリに、前記分割マルチメディア情報を前記遠隔ダイレクトメモリアクセス機能を用いて書き込む手段と、
    前記第1のサーバモジュール内のバッファメモリに書き込んだことを前記第1のサーバモジュールに通知する手段と、
    を備えることを特徴とする分散型マルチメディアサーバシステム。
  6. 請求項5に記載の分散型マルチメディアサーバシステムであって、
    前記第1のサーバモジュールは、前記分割マルチメディア情報読み出し要求に、分割マルチメディア情報が第2のサーバモジュールによって書かれたかどうかを示す情報を格納する前記第1のサーバモジュール内のメモリである新規書込情報メモリのアドレスを加える手段を備え、
    前記第2のサーバモジュールは、分割マルチメディア情報を前記第1のサーバモジュール内のバッファメモリに書き込むとともに、前記第1のサーバモジュール内の前記新規書込情報メモリに書込が完了したことを示す情報を書き込む手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  7. 請求項1〜6のいずれか一つに記載の分散型マルチメディアサーバシステムであって、
    前記第1のサーバモジュールは、分割マルチメディア情報をそれぞれ循環的に蓄積している複数の第2のサーバモジュールに対して、順次、読み出し要求を行い、前記複数の第2のサーバモジュールから分割マルチメディア情報を読み出し、配信する手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  8. 請求項1〜7のいずれか一つに記載の分散型マルチメディアサーバシステムであって、
    前記第1のサーバモジュールは、
    端末からのマルチメディア情報書き込み要求を受信する手段と、
    前記マルチメディア情報書き込み要求に基づいて、前記第2のサーバモジュールに対して、分割マルチメディア情報書き込み要求を行う手段と、
    前記第2のサーバモジュールから取得した前記第2のサーバモジュール内の分割マルチメディア情報が格納可能なバッファメモリに関する情報であるメモリ情報を元に前記第2のサーバモジュール内のバッファメモリヘ前記遠隔ダイレクトメモリアクセス機能により分割マルチメディア情報を書き込む手段と、
    を備え、
    前記第2のサーバモジュールは、前記第1のサーバモジュールから自モジュール内のバッファメモリに書き込まれた分割マルチメディア情報を蓄積装置に書き込む手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  9. 請求項1〜7のいずれか一つに記載の分散型マルチメディアサーバシステムであって、
    前記第1のサーバモジュールは、
    端末からのマルチメディア情報書き込み要求を受信する手段と、
    前記マルチメディア情報書き込み要求に基づいて、前記第2のサーバモジュールに対して、自モジュール内の分割マルチメディア情報を格納したバッファメモリに関する情報であるメモリ情報を書き込み要求に付加した分割マルチメディア情報書き込み要求を行う手段と、
    を備え、
    前記第2のサーバモジュールは、前記分割マルチメディア情報書き込み要求に含まれたメモリ情報で指定された前記第1のサーバモジュール内のバッファメモリから前記遠隔ダイレクトメモリアクセス機能により分割マルチメディア情報を読み出し、前記分割マルチメディア情報を蓄積装置に書き込む手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  10. 請求項8または9に記載の分散型マルチメディアサーバシステムであって、
    前記第1のサーバモジュールは、複数の第2のサーバモジュールに対して、順次、分割マルチメディア情報書き込み要求を行い、前記遠隔ダイレクトメモリアクセス機能を使用して、前記複数の第2のサーバモジュールに分割マルチメディア情報を転送する手段を備え、
    前記複数の第2のサーバモジュールは、受信した分割マルチメディア情報をそれぞれの蓄積装置に書き込む手段を備えることを特徴とする分散型マルチメディアサーバシステム。
  11. 分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報配信方法であって、
    前記分散型マルチメディアサーバシステムは、第1のサーバモジュールと、第2のサーバモジュールと、前記第1のサーバモジュールと前記第2のサーバモジュールとの間に介在し遠隔ダイレクトメモリアクセス機能により前記第2のサーバモジュールおよび第1のサーバモジュール内のメモリの内容を相互に参照することが可能なネットワークまたはバスシステムを有し、
    前記第1のサーバモジュールが、端末からのマルチメディア情報読み出し要求を受信する工程と、
    前記第1のサーバモジュールが、前記マルチメディア情報読み出し要求に基づいて、前記第2のサーバモジュールに対して、分割マルチメディア情報の読み出し要求を行う工程と、
    前記第2のサーバモジュールが、前記第1のサーバモジュールから要求された分割マルチメディア情報を蓄積装置から読み出し、自モジュール内のバッファメモリに格納する工程と、
    前記第1のサーバモジュールが、前記第2のサーバモジュールから取得した前記第2のサーバモジュール内の分割マルチメディア情報が格納されたバッファメモリに関する情報であるメモリ情報を元に前記第2のサーバモジュール内のバッファメモリから前記遠隔ダイレクトメモリアクセス機能により分割マルチメディア情報を取得する工程と、
    前記第1のサーバモジュールが、前記端末、または前記端末からの読み出し要求で指定された端末もしくは指定されたアドレスに対してマルチメディア情報を送信する工程と、
    を含んだことを特徴とするマルチメディア情報配信方法。
  12. 分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報配信方法であって、
    前記分散型マルチメディアサーバシステムは、第1のサーバモジュールと、第2のサーバモジュールと、前記第1のサーバモジュールと前記第2のサーバモジュールとの間に介在し遠隔ダイレクトメモリアクセス機能により前記第2のサーバモジュールおよび前記第1のサーバモジュール内のメモリの内容を相互に参照することが可能なネットワークまたはバスシステムを有し、
    前記第1のサーバモジュールが、端末からのマルチメディア情報読み出し要求を受信する工程と、
    前記第1のサーバモジュールが、前記マルチメディア情報読み出し要求に基づいて、前記第2のサーバモジュールに対して、自モジュール内のマルチメディア情報を格納するためのバッファメモリに関する情報であるメモリ情報を読み出し要求に付加した分割マルチメディア情報読み出し要求を行う工程と、
    前記第2のサーバモジュールが、前記第1のサーバモジュールから要求された分割マルチメディア情報を蓄積装置から読み出し、前記分割マルチメディア情報読み出し要求内に含まれた前記メモリ情報で指定された前記第1のサーバモジュール内のバッファメモリに、前記分割マルチメディア情報を前記遠隔ダイレクトメモリアクセス機能を用いて書き込む工程と、
    前記第2のサーバモジュールが、前記第1のサーバモジュール内のバッファメモリに書き込んだことを前記第1のサーバモジュールに通知する工程と、
    前記第1のサーバモジュールが、前記端末、または前記端末からの読み出し要求で指定された端末もしくは指定されたアドレスに対して、マルチメディア情報を送信する工程と、
    を含んだことを特徴とするマルチメディア情報配信方法。
  13. 請求項1〜10のいずれか一つに記載の手段としてコンピュータを機能させるためのプログラム。
  14. 請求項13に記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
JP2006536982A 2005-05-18 2006-05-18 分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体 Active JP4300238B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005145922 2005-05-18
JP2005145922 2005-05-18
PCT/JP2006/309953 WO2006123747A1 (ja) 2005-05-18 2006-05-18 分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JPWO2006123747A1 JPWO2006123747A1 (ja) 2008-12-25
JP4300238B2 true JP4300238B2 (ja) 2009-07-22

Family

ID=37431319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006536982A Active JP4300238B2 (ja) 2005-05-18 2006-05-18 分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体

Country Status (6)

Country Link
US (1) US9002969B2 (ja)
EP (1) EP1883240B1 (ja)
JP (1) JP4300238B2 (ja)
KR (1) KR100895859B1 (ja)
CN (1) CN101006727B (ja)
WO (1) WO2006123747A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4675290B2 (ja) * 2006-07-04 2011-04-20 日本電信電話株式会社 マルチメディア蓄積配信サーバ、および、マルチメディアデータ多重読出し書込み方法
US7924456B1 (en) * 2007-01-12 2011-04-12 Broadbus Technologies, Inc. Data distribution and buffering
JP4879815B2 (ja) * 2007-04-27 2012-02-22 日本電信電話株式会社 マルチメディア情報転送蓄積方法、分散型マルチメディアサーバ装置、分散型マルチメディアサーバシステム、マルチメディア情報転送蓄積方法を実現するプログラムおよび当該プログラムを記録した記録媒体
JP2008294794A (ja) * 2007-05-25 2008-12-04 Nippon Telegr & Teleph Corp <Ntt> 分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法
JP4860549B2 (ja) * 2007-05-29 2012-01-25 日本電信電話株式会社 音声映像多重信号記録システム、音声映像多重信号記録方法、データ転送プログラム、多重信号記録プログラムおよび音声映像多重信号記録装置
JP4772752B2 (ja) * 2007-06-14 2011-09-14 日本電信電話株式会社 分散型マルチメディアサーバシステム、そのためのバッファサーバ、およびその分割マルチメディア情報蓄積配信方法
US8385725B2 (en) * 2008-02-26 2013-02-26 Samsung Electronics Co., Ltd. Method of the apparatus for recording digital multimedia based on buffering states of the multimedia service
JP5470828B2 (ja) * 2008-12-10 2014-04-16 株式会社日立製作所 データ配信用通信装置、及びデータ配信システム
CN101887640B (zh) * 2010-06-21 2012-05-23 北京世纪高通科技有限公司 交通信息发布的方法及系统
US8924683B2 (en) * 2011-04-21 2014-12-30 Hitachi, Ltd. Storage apparatus and data control method using a relay unit and an interface for communication and storage management
US10275375B2 (en) 2013-03-10 2019-04-30 Mellanox Technologies, Ltd. Network interface controller with compression capabilities
CN104581404B (zh) * 2013-10-21 2018-12-07 腾讯科技(深圳)有限公司 多媒体数据的处理方法、装置及系统
US9575893B2 (en) * 2014-10-22 2017-02-21 Mediatek Inc. Snoop filter for multi-processor system and related snoop filtering method
CN110677686B (zh) * 2019-10-14 2022-04-15 体奥动力(北京)体育传播有限公司 一种多媒体信息调用方法、装置、系统及服务器
KR20230170328A (ko) 2022-06-10 2023-12-19 김수한 무인 음주측정기

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE451219B (sv) * 1986-03-05 1987-09-14 Stiftelsen Inst Mikrovags Dataanordning fremst avsedd for exekvering av program i form av soktred, s k or parallel execution
JP3461278B2 (ja) 1997-02-19 2003-10-27 日本電信電話株式会社 分散マルチメディアサーバ装置,分散マルチメディアサーバ情報アクセス方法およびこの方法を実現するプログラムを記録した記録媒体
US6173329B1 (en) * 1997-02-19 2001-01-09 Nippon Telegraph And Telephone Corporation Distributed multimedia server device and distributed multimedia server data access method
US6061720A (en) * 1998-10-27 2000-05-09 Panasonic Technologies, Inc. Seamless scalable distributed media server
EP1301865A4 (en) * 2000-03-22 2009-04-01 Yotta Yotta Inc METHOD AND SYSTEM FOR PROVIDING MULTIMEDIA INFORMATION ON DEMAND THROUGH LONG DISTANCE NETWORKS
US7034838B2 (en) * 2001-12-27 2006-04-25 Ricoh Company, Ltd. Information processing apparatus
US20030145230A1 (en) * 2002-01-31 2003-07-31 Huimin Chiu System for exchanging data utilizing remote direct memory access
CN1272932C (zh) * 2003-04-28 2006-08-30 王生安 基于ip网络的分布式多媒体会议系统
US7424562B2 (en) * 2004-03-01 2008-09-09 Cisco Technology, Inc. Intelligent PCI bridging consisting of prefetching data based upon descriptor data

Also Published As

Publication number Publication date
CN101006727A (zh) 2007-07-25
EP1883240A1 (en) 2008-01-30
US9002969B2 (en) 2015-04-07
EP1883240A4 (en) 2013-01-16
KR20070088476A (ko) 2007-08-29
US20080091789A1 (en) 2008-04-17
KR100895859B1 (ko) 2009-05-06
JPWO2006123747A1 (ja) 2008-12-25
EP1883240B1 (en) 2014-04-02
WO2006123747A1 (ja) 2006-11-23
CN101006727B (zh) 2010-05-19

Similar Documents

Publication Publication Date Title
JP4300238B2 (ja) 分散型マルチメディアサーバシステムおよびマルチメディア情報配信方法ならびにそのプログラムおよび記録媒体
US10642777B2 (en) System and method for maximizing bandwidth of PCI express peer-to-peer (P2P) connection
US10592464B2 (en) Methods for enabling direct memory access (DMA) capable devices for remote DMA (RDMA) usage and devices thereof
US9774651B2 (en) Method and apparatus for rapid data distribution
US11025564B2 (en) RDMA transport with hardware integration and out of order placement
US11068412B2 (en) RDMA transport with hardware integration
CN111061425A (zh) 主机、非易失性存储器快速固态驱动器及存储服务的方法
US20100306387A1 (en) Network interface device
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
JP2013257798A (ja) データ収集システムおよびデータ収集方法
US10162775B2 (en) System and method for efficient cross-controller request handling in active/active storage systems
KR101956320B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 단일 포인트 병목을 방지하는 시스템 및 방법
CN111404842B (zh) 数据传输方法、装置及计算机存储介质
KR101983331B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 여러 가지 서로 다른 메시지 큐들을 지원하기 위한 시스템 및 방법
WO2015085794A1 (en) Data transmission method, related apparatus, and communications system
JP2014528612A5 (ja)
CN1930555A (zh) 用于合并相干信息的方法和系统
JP2008294794A (ja) 分散型マルチメディアサーバシステムおよびそのマルチメディア情報配信・蓄積方法
WO2006048826A1 (en) Integrated circuit and method for data transfer in a network on chip environment
CN116644022A (zh) 一种数据处理节点和方法
JP5183684B2 (ja) 分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法
WO2013094157A1 (ja) キャッシュ装置、通信方法、およびプログラム

Legal Events

Date Code Title Description
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: 20090414

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

R150 Certificate of patent or registration of utility model

Ref document number: 4300238

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140424

Year of fee payment: 5

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