説明

分散型マルチメディアサーバシステム、そのためのバッファサーバ、その分割マルチメディア情報蓄積配信方法、およびそのプログラム

【課題】分散型マルチメディアサーバシステムから複数のコンテンツ(の一部)を連続して再生することができる技術を提供する。
【解決手段】分割マルチメディアサーバシステムは、ネットワークまたはバスシステムによって互いに接続されたバッファサーバ21とディスクサーバを有する。バッファサーバ21は、端末から受信したマルチメディア情報を分割し、分割した分割マルチメディア情報を複数個のディスクサーバに循環的に転送すると共に、フレーム番号−DS番号対照表71を記憶する。ディスクサーバはバッファサーバから転送された分割マルチメディア情報を記憶装置に蓄積する。バッファサーバ21は、端末からの再生要求85とフレーム番号−DS番号対照表71に基づいて、プレイリスト81を作成し、プレイリスト81に基づいて、ディスクサーバから分割マルチメディア情報の転送を受け、端末に配信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末からの要求に応じて、要求されたマルチメディア情報を端末に配信、または、端末から送信されたマルチメディア情報を蓄積することが可能な分散型マルチメディアサーバシステム、そのためのバッファサーバ、その分割マルチメディア情報蓄積配信方法、およびそのプログラムに関する。
【背景技術】
【0002】
従来の分散型マルチメディアサーバシステムの構成例として、特許文献1等に記載されたものがある。特許文献1に記載された分散型マルチメディアサーバシステムは、通信サーバモジュール、複数個の蓄積サーバモジュールおよびローカルエリアネットワークを有している。マルチメディア情報の配信は次の手順で行われる。通信サーバモジュールが端末からの読み取り要求を受信し、要求されたマルチメディア情報の読み取り要求をローカルエリアネットワークを介して蓄積サーバモジュールに対しで送信する。この読み出し要求を受信した蓄積サーバモジュールは、要求されたマルチメディア情報をローカルエリアネットワークを介して通信サーバモジュールに送信する。それを受信した通信サーバモジュールは、マルチメディア情報をくみ上げ、配信用のネットワークを通じて端末へ送信する。同様に、通信サーバモジュールはマルチメディア情報の読み出し要求を他の蓄積サーバモジュールに対して送信し、蓄積サーバモジュールは要求されたマルチメディア情報を通信サーバモジュールに送信し、これを繰り返す。
【0003】
非特許文献1、2(執筆者に本発明者の一部が含まれている)には、複数のバッファサーバと複数のディスクサーバをInfiniBand(非特許文献3参照)を用いた相互結合網で接続した分散型マルチメディアサーバシステムが記載されている。この分散型マルチメディアサーバシステムでは、マルチメディア情報の配信は次の手順で行われる。送信開始メッセージを受信したバッファサーバは先頭の映像フレームを格納しているディスクサーバに対して読み出し要求メッセージを送信する。読み出し要求を受信したディスクサーバはRAID(Redundant Array of Inexpensive Disk)から映像フレームを読み出し、ディスクサーバ内のバッファメモリにその映像フレームを格納し、バッファサーバに対して映像フレームを格納しているメモリ情報を応答メッセージにのせて通知する。以降、ディスクサーバは、疑似リアルタイムモジュールの機能を使って一定時間間隔で、自律的にRAIDからデータ読み出しを実行する。バッファサーバは、ディスクサーバから送られてきたメモリ情報を元に映像フレームをRDMA(遠隔ダイレクトメモリアクセス)を使ってディスクサーバから読み出す。この処理と並行して、疑似リアルタイム制御モジュールの機能を使って、一定時間間隔で、映像フレームをパケット化して再生用の端末に送信する。疑似リアルタイム制御モジュールの機能により、一定時間後に、次の映像フレームが格納されているディスクサーバに対して読み出しの要求を行う。これを繰り返す。
【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】伊能英男、“1.485Gbpsハイビジョン放送用インタフェースの設計事例”、デザインウェーブマガジン、2004年3月号、pp.68−74
【非特許文献7】宇野潤三訳、“SMPTEデジタル規格集”、pp.139−155、1998年9月
【発明の開示】
【発明が解決しようとする課題】
【0005】
非特許文献1、2に記載されるような分散型マルチメディアサーバシステムでは、映像フレームまたはセグメント等の決まった単位に映像を分割し、蓄積サーバモジュールに接続されているRAIDに格納する方式をとる。ユーザからの映像の「部分に対する再生リクエストは、どの映像フレーム(またはセグメント。以下、単にフレームとする)から、どのフレームへ、というように行われるのが一般的である。このリクエストに応えるためには、どの蓄積サーバモジュールに接続されているRAIDにリクエストされたフレームが格納されているかを、通信サーバモジュールで判定し、その蓄積サーバモジュールに読み出し要求を実行する必要がある。
【0006】
ところが、ユーザからの再生リクエストにおいて、フレームを指定する方法は、人間の直感に判りやすく、時分秒フレーム番号の全ての情報が判るタイムコードを使うことが一般的である。タイムコードはユーザが映像の撮影時や編集時に勝手に付与するものであるため、連続性が全く保障されていない。そのため、リクエストされたフレームがどの蓄積サーバモジュールに格納されているかを計算によって求めることが出来ず、SDIフォーマットであれば、フレームデータの補助データ領域中に書かれているタイムコード情報(非特許文献6および7参照)をVTRのように先頭から順に検索し、該当フレームを探し出し再生することとなり、その結果、使い勝手の悪いシステムとなってしまうという問題があった。
【0007】
本発明の目的は、分散型マルチメディアサーバシステムに対して、映像を含むマルチメディア情報の頭出し速度を早め、その一部の再生、複数の映像の連続再生、複数の映像の一部の連続再生等を行うことができる技術を提供することにある。また、これらの繰り返し再生を行うことができる技術を提供することにある。
【課題を解決するための手段】
【0008】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0009】
第1の発明は、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、第1のサーバは、端末から受信したマルチメディア情報を分割し、分割した分割マルチメディア情報を複数個の第2のサーバに循環的に転送すると共に、分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送した第2のサーバを特定する情報の対応関係を記憶し、第2のサーバは、第1のサーバから転送された分割マルチメディア情報を記憶装置に蓄積する、ことを特徴とする。
【0010】
第2の発明は、第1の発明において、第1のサーバは、端末からの再生要求と、記憶している前記対応関係に基づいて、再生する分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送した第2のサーバを特定する情報の関係を記述したプレイリストを作成し、作成したプレイリストに基づいて、第2のサーバから分割マルチメディア情報の転送を受け、端末に配信し、第2のサーバは、記憶装置に蓄積された分割マルチメディア情報を読み込み、第1のサーバに転送する、ことを特徴とする。
【0011】
第3の発明は、第2の発明において、第1のサーバは、前記プレイリストに基づいて、分割マルチメディア情報の再生要求を第2のサーバに送信し、前記分割マルチメディア情報の再生要求を受信した第2のサーバは、当該分割マルチメディア情報を記憶装置から読み込み、第1のサーバに転送する、ことを特徴とする。
【0012】
第4の発明は、第2または第3の発明において、第1のサーバは、前記プレイリストに記述された順番に、第2のサーバから分割マルチメディア情報の転送を受け、端末に配信することを特徴とする。
【0013】
第5の発明は、第2〜第4の発明において、第1のサーバは、前記プレイリストを繰り返し用いて、第2のサーバから分割マルチメディア情報の転送を繰り返し受け、端末に配信することを特徴とする。
【0014】
第6の発明は、第1〜第5の発明において、第1のサーバは、マルチメディア情報を特定する情報毎に分割マルチメディア情報を特定する情報と第2のサーバを特定する情報を記述した対照表を、前記対応関係として記憶することを特徴とする。
【0015】
第7の発明は、第1〜第6の発明において、第1のサーバは、端末から受信したマルチメディア情報をフレーム毎に分割し、フレーム毎に分割した分割マルチメディア情報を複数個の第2のサーバに循環的に転送することを特徴とする。
【0016】
第8の発明は、第1〜第7の発明において、第1のサーバと第2のサーバを接続する前記ネットワークまたはバスシステムは遠隔ダイレクトメモリアクセス機能を有し、第1のサーバと第2のサーバ間の分割マルチメディア情報の転送は、前記ネットワークまたはバスシステムによる遠隔ダイレクトメモリアクセス機能により行われる、ことを特徴とする。
【0017】
第9の発明は、第1〜第8の発明において、第1のサーバを複数個有することを特徴とする。
【0018】
第10の発明は、第9の発明において、複数個の第1のサーバそれぞれが、他の第1のサーバが記憶する前記対応関係を利用することを特徴とする。
【0019】
第11の発明は、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるバッファサーバであって、バッファサーバから転送された分割マルチメディア情報を記憶装置に蓄積する複数個のディスクサーバとネットワークまたはバスシステムによって接続され、端末から受信したマルチメディア情報を分割し、分割した分割マルチメディア情報を複数個のディスクサーバに循環的に転送すると共に、分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送したディスクサーバを特定する情報の対応関係を記憶することを特徴とする。
【0020】
第12の発明は、第11の発明において、端末からの再生要求と、記憶している前記対応関係に基づいて、再生する分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送したディスクサーバを特定する情報の関係を記述したプレイリストを作成し、作成したプレイリストに基づいて、ディスクサーバから分割マルチメディア情報の転送を受け、端末に配信することを特徴とする。
【0021】
第13の発明は、分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるバッファサーバの分割マルチメディア情報蓄積配信方法であって、前記バッファサーバは、バッファサーバから転送される分割マルチメディア情報を記憶装置に蓄積する複数個のディスクサーバとネットワークまたはバスシステムによって接続され、端末から受信したマルチメディア情報を分割し、分割した分割マルチメディア情報を複数個のディスクサーバに循環的に転送すると共に、分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送したディスクサーバを特定する情報の対応関係を記憶することを特徴とする。
【0022】
第14の発明は、第13の発明において、端末からの再生要求と、記憶している前記対応関係に基づいて、再生する分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送したディスクサーバを特定する情報の関係を記述したプレイリストを作成し、作成したプレイリストに基づいて、ディスクサーバから分割マルチメディア情報の転送を受け、端末に配信することを特徴とする。
【0023】
第15の発明は、第13または第14の発明のバッファサーバの分割マルチメディア情報蓄積配信方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0024】
本発明により、分散型マルチメディアサーバシステムから、コンテンツの一部の再生、複数のコンテンツの連続再生、複数のコンテンツの一部の連続再生等を行うことができる。また、これらの繰り返し再生を行うことができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明を実施例を用いて詳細に説明する。なお、各図において同じ機能を有するものには同じ符号を付け、重複した説明は省略する。
【0026】
図1は、本発明の実施例の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。図1において、10は分散型マルチメディアサーバシステムであり、11、12はユーザが操作する端末であり、61は配信用ネットワークである。図には端末を2個示しているが、何個でもよい。分散型マルチメディアサーバシステム10は、バッファサーバ(第1のサーバ)とディスクサーバ(第2のサーバ)と記憶装置を備える。すなわち、分散型マルチメディアサーバシステム10は、バッファサーバ21(BS1)、バッファサーバ22(BS2)、バッファサーバ23(BS3)、…と、ディスクサーバ31(DS1)、ディスクサーバ32(DS2)、ディスクサーバ33(DS3)、…と、ディスク41、42、43、…とを有する。図1ではバッファサーバはM個、ディスクサーバはN個であるが、バッファサーバとディスクサーバの個数は何個でもよく、またバッファサーバとディスクサーバの個数が同じでも異なっていてもよい。51はクラスタ間接続ネットワークであり、52はローカルエリアネットワークである。
【0027】
バッファサーバ21、22、23、…は、端末11、12からの要求を受けて、マルチメディア情報の送信または受信を行うサーバである。ディスクサーバ31、32、33、…は、マルチメディア情報を例えば1フレーム毎に分割して格納するディスク41、42、43、…をそれぞれ持っており、ディスク41、42、43、…からのマルチメディア情報の読み出し、またはディスク41、42、43、…への書き込みを行う。なお、マルチメディア情報の分割の単位は1フレーム毎に限定されない。
【0028】
バッファサーバ21、22、23、…とディスクサーバ31、32、33、…との間は、遠隔ダイレクトメモリアクセス機能が利用できるネットワークまたはバスシステムで接続されている。図1ではクラスタ間接続ネットワーク51で接続されている。バッファサーバ21、22、23、…とディスクサーバ31、32、33、…とは、遠隔ダイレクトメモリアクセス機能を用いて、お互いのバッファメモリ中のデータを参照することが可能である。本実施例では、ネットワーク51として並列計算機用のクラスタ間接続ネットワークを利用することを目的としているため、メッセージ通信の機能は備えているものとする。しかし、それが不可能な場合などの場合は、後述する分割マルチメディア情報再生要求やその応答などのメッセージの交換用に、例えば図1に示すようなローカルエリアネットワーク52を利用することも可能である。この場合は、バッファサーバ21、22、23、…とディスクサーバ31、32、33、…は、遠隔ダイレクトメモリアクセス機能を用いることができるネットワーク51と遠隔ダイレクトメモリアクセス機能を用いることができないローカルエリアネットワーク52の両方で接続される。端末11、12と分散型マルチメディアサーバシステム10の間はワイドエリアネットワークなどの配信用ネットワーク61で結ばれている。
【0029】
本実施例においてクラスタ間接続ネットワーク51として使用する並列計算機を構成するためのクラスタ間接続ネットワークの具体例としては、例えば非特許文献3、非特許文献4、非特許文献5などがある。本実施例では非特許文献3のInfiniBandを用いてクラスタ間接統ネットワークを構成する。このネットワークは、ハードウエアで通信の信頼性の確保を実現しているため、高速低負荷、低コストである反面、サーバ間のメッセージの送受信やメモリ共有に使う目的で設計されているため、映像データのようなストリームの転送機能は持ち合わせていない。しかし、この遠隔ダイレクトメモリアクセス機能と呼ばれるメモリ共有機能は、このクラスタ間接続ネットワークにより接続されたサーバのメモリを他のサーバから自由にアクセス出来るようにする機能で、ほとんどの処理をネットワークカードのハードウエアで実現しており、サーバのCPUに負荷をほとんどかけずにデータの転送を行うことが出来る。さらに、この遠隔ダイレクトメモリアクセス機能では、相手側のアドレスを得てしまえば、相手側が何もしなくてもデータの転送が行えるため、例えば、TCP/IPを使った処理では相手側はsend()などのシステムコールを呼び出さなければならないが、この機能を使うことによって、余計な処理を相手側で行わずにデータの転送が実現出来る。このネットワークを使うことが出来れば、低負荷でデータの転送が出来るため、高価でハイスペックなサーバシステムを導入することなく、低コストなサーバにより高い転送能力を持つサーバシステムを構築することが出来、サーバと内部結合ネットワークのコストを削減することが出来る。
【0030】
分散型マルチメディアサーバシステム10は、例えばバッファサーバ21(BS1)が端末11から蓄積要求を受信した場合は、BS1は端末11から配信用ネットワーク61を介して受信したマルチメディア情報(コンテンツ)を例えば1フレーム毎に分割し、分割マルチメディア情報をクラスタ間接続ネットワーク51を介して遠隔ダイレクトメモリアクセス機能によりディスクサーバ31、32、33、…(DS1−DSN)に循環的に転送する。すなわち、フレーム#1をDS1に転送し、フレーム#2をDS2に転送し、フレーム#3をDS3に転送し、…、フレーム#NをDSNに転送し、DS1にフレーム#N+1を転送し、DS2にフレーム#N+2を転送し、DS3にフレーム#N+3を転送し、これを繰り返す。DS1、DS2、DS3、…は転送された分割マルチメディア情報をそれぞれディスク41、42、43、…に蓄積する。これにより、図1に示すように、ディスク41にフレーム#1、#N+1、…、ディスク42にフレーム#2、#N+2、…、ディスク43にフレーム#3、#N+3、…が蓄積される。
【0031】
分散型マルチメディアサーバシステム10は、例えばバッファサーバ21(BS1)が端末11から再生要求を受信した場合は、BS1はディスクサーバ31、32、33、…(DS1〜DSN)から循環的に分割マルチメディア情報をクラスタ間接続ネットワーク51を介して遠隔ダイレクトメモリアクセス機能により転送を受け、転送されたマルチメディア情報を配信用ネットワーク61を介して端末11に配信する。すなわち、DS1がディスク41からフレーム#1を読み込みこれをBS1に転送し、DS2がディスク42からフレーム#2を読み込みこれをBS1に転送し、DS3がディスク43からフレーム#3を読み込みこれをBS1に転送し、…、DSNがディスクからフレーム#Nを読み込みこれをBS1に転送し、DS1がディスク41からフレーム#N+1を読み込みこれをBS1に転送し、これを繰り返す。
【0032】
この蓄積、再生の動作は非特許文献1、2に示す従来技術でも同様であるが、従来技術では、分散型マルチメディアサーバシステムから複数のコンテンツ(の一部)を繰り返し再生する場合、分散型マルチメディアサーバシステムから各コンテンツを取り出し、かつ、端末側からコンテンツの順序および繰り返しを制御する必要があった。
【0033】
これに対して、本実施例の分散型マルチメディアサーバシステム10では、各バッファサーバ21、22、23、…(BS1〜BSN)が、それぞれ、コンテンツ毎にフレーム番号とそのフレームが蓄積されているディスクサーバ31、32、33、…(DS1〜DSN)の対照表を保持し、各バッファサーバ21、22、23、…(BS1〜BSN)が、端末から再生要求を受けると、その再生要求と対照表に基づいて、プレイリストを作成し、そのプレイリストに基づいて、ディスクサーバから必要なフレームの転送を受け、それを端末に送信するので、端末側からコンテンツの順序および繰り返しを制御する必要がなく、複数のコンテンツ(の一部)を連続して、また繰り返し再生することができる。
【0034】
図2は、本実施例の分散型マルチメディアサーバシステムに複数のコンテンツを蓄積した状態を示す図である。ここでは、説明を簡単にするために、バッファサーバは1個、ディスクサーバは3個とし、蓄積したコンテンツは3個とする。端末11がバッファサーバ21(BS1)にコンテンツC1蓄積要求を行い、バッファサーバ21(BS1)は、端末11から受信したコンテンツC1を1フレーム毎、ディスクサーバ31〜33(DS1〜DS3)に循環的に転送し、ディスクサーバ31〜33(DS1〜DS3)は転送されたフレームをディスク41〜43に蓄積する。その結果、ディスク41にC1−#1、C1−#4、…が蓄積され、ディスク42にC1−#2、C1−#5、…が蓄積され、ディスク43にC1−#3、C1−#6、…が蓄積される。同様にして、コンテンツC2については、ディスク41にC2−#1、C2−#4、…が蓄積され、ディスク42にC2一#2、C2−#5、…が蓄積され、ディスク43にC2−#3、C2−#6、…が蓄積される。同様にして、コンテンツC3については、ディスク41にC3−#1、C3−#4、…が蓄積され、ディスク42にC3−#2、C3−#5、…が蓄積され、ディスク43にC3−#3、C3−#6、…が蓄積される。なお、本実施例では、3つのコンテンツのどれについても、ディスク41から循環的に蓄積しているが、コンテンツにより他のディスクから循環的に蓄積するようにしてもよい。
【0035】
図3は、各コンテンツがどのディスクサーバに蓄積されたのかを示す図である。コンテンツC1については、フレーム#1がDS1に、フレーム#2がDS2に、フレーム#3がDS3に蓄積される。コンテンツC2については、フレーム#1がDS1に、フレーム#2がDS2に、フレーム#3がDS3に蓄積される。コンテンツC3については、フレーム#1がDS1に、フレーム#2がDS2に、フレーム#3がDS3に蓄積される。
【0036】
図4は、バッファサーバ21(BS1)内にフレーム番号−DS番号対照表が作成されることを示す図である。71はフレーム番号−DS番号対照表であり、バッファサーバ21(BS1)内の記憶装置に記憶される。72は、コンテンツ欄であり、コンテンツ名(一般的にはコンテンツを識別する情報)が記述される。73はフレーム番号欄であり、フレーム番号(一般的には分割マルチメディア情報を識別する情報)が記述される。74はディスクサーバ番号(DS番号)であり、フレーム番号欄73に記述されたフレームが転送されたディスクサーバの番号(一般的にはディスクサーバを識別する情報)が記述される。
【0037】
バッファサーバ21(BS1)は、コンテンツC1をディスクサーバ31〜33(DS1〜DS3)に転送すると、フレーム番号−DS番号対照表71に、75に示すようにコンテンツC1の各フレームがどのDSに蓄積されたのかを登録する。また、ディスクサーバ21(BS1)は、コンテンツC2をディスクサーバ31〜33(DS1〜DS3)に転送すると、フレーム番号−DS番号対照表71に、76に示すようにコンテンツC2の各フレームがどのDSに蓄積されたのかを登録する。また、ディスクサーバ21(BS1)は、コンテンツC3をディスクサーバ31〜33(DS1〜DS3)に転送すると、フレーム番号−DS番号対照表71に、77に示すようにコンテンツC3の各フレームがどのDSに蓄積されたのかを登録する。
【0038】
図5は、バッファサーバ内にプレイリストが作成されることを示す図である。81はプレイリストである。プレイリスト81は、再生するコンテンツのフレームを記述する再生コンテンツ欄82と、再生コンテンツ欄82に記述されたフレームが蓄積されたディスクサーバを記述する蓄積DS欄83を有する。85は端末から送信された再生要求である。
【0039】
図5に示すように、バッファサーバ21(BS1)は、端末から再生要求85を受信する。再生要求85には、再生したいコンテンツ名、フレーム番号が記述される。再生要求85には複数のコンテンツ名、フレーム番号を記述することができ、また、繰り返し再生を要求する旨も記述することができる。また、多数の連続したフレームの再生を要求する場合に、再生要求85に最初のフレーム番号と最後のフレーム番号と連続して再生する旨を記述するようにしてもよい。ここでは、再生要求85が、コンテンツC1のフレーム#2、#3、コンテンツC3のフレーム#1、#2、コンテンツ2のフレーム#1をこの順番で繰り返し再生することを要求するものであるとする。なお、一般的には、再生要求85には、再生したい分割マルチメディア情報を特定する情報が記述される。
【0040】
この再生要求85を受けると、バッファサーバ21(BS1)は、再生要求に記述されたフレームが転送され蓄積されたディスクサーバの番号を、フレーム番号−DS番号対照表71を用いて検索し、図5に示すプレイリスト81を作成する。すなわち、バッファサーバ21(BS1)は、プレイリスト81の再生コンテンツの欄に、再生要求85が要求する順に、再生するコンテンツ名、フレーム番号を記述し、そのフレームが転送され蓄積された蓄積DSを蓄積DS欄83に記述する。バッファサーバ21(BS1)は、プレイリスト81に基づいて、プレイリスト81の再生コンテンツ欄82に記述されたコンテンツのフレームを、記述された順番に、蓄積DS欄83に記述されたディスクサーバから転送を受け、端末に送信する。この場合の再生要求85は、繰り返し再生を要求しているものであるから、バッファサーバ21(BS1)は、プレイリスト81に基づいて、繰り返しコンテンツを端末に送信する。
【0041】
図6に、バッファサーバが端末に送信するコンテンツを示す。バッファサーバ21(BS1)は、プレイリスト81に基づいて、図6に示すように、コンテンツC1のフレーム#2、#3、コンテンツC3のフレーム#1、#2、コンテンツC2のフレーム#1をこの順で、繰り返し、端末に送信する。
【0042】
以上の説明から明らかなように、本実施例の分散型マルチメディアサーバシステム10では、端末からの1回の再生要求により、コンテンツの一部の再生、複数のコンテンツの連続再生、複数のコンテンツの一部の連続再生等を行うことができ、また、それらの繰り返し再生を行うことができる。
【0043】
図7は、図2に示す分散型マルチメディアサーバシステム10のコンテンツC1の蓄積シーケンス図である。
【0044】
まず、ユーザが端末を使って、コンテンツC1蓄積要求をバッファサーバ21(BS1)に対して送信する(段階101)。それを受け取ったBS1は、分割マルチメディア情報蓄積要求をDS1に対して送信する(段階102)。この要求を受け取ったDS1は、BS1から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階103)。その応答を受信したBS1は、コンテンツC1を受信し、分割するとともに(段階104)、分割したコンテンツC1のフレーム#1を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS1内のバッファに転送する(段階105)。DS1は、転送されたコンテンツC1のフレーム#1をディスク41に蓄積する(段階106)。BS1は、フレーム番号−DS番号対照表71にコンテンツC1、フレーム#1、DS1を登録する(段階107)。
【0045】
BS1は、分割マルチメディア情報蓄積要求をDS2に対して送信する(段階108)。この要求を受け取ったDS2は、BS1から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階109)。その応答を受信したBS1は、コンテンツC1を受信し、分割するとともに(段階110)、分割したコンテンツC1のフレーム#2を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS2内のバッファに転送する(段階111)。DS2は、転送されたコンテンツC1のフレーム#2をディスク42に蓄積する(段階112)。BS1は、フレーム番号−DS番号対照表71にコンテンツC1、フレーム#2、DS2を登録する(段階113)。
【0046】
BS1は、分割マルチメディア情報蓄積要求をDS3に対して送信する(段階114)。この要求を受け取ったDS3は、BS1から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階115)。その応答を受信したBS1は、コンテンツC1を受信し、分割するとともに(段階116)、分割したコンテンツC1のフレーム#3を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS3内のバッファに転送する(段階117)。DS3は、転送されたコンテンツC1のフレーム#3をディスク43に蓄積する(段階118)。BS1は、フレーム番号−DS番号対照表71にコンテンツC1、フレーム#3、DS3を登録する(段階119)。
【0047】
BS1は、分割マルチメディア情報蓄積要求をDS1に対して送信し(段階120)、段階102〜119を繰り返し実行する。
【0048】
このように、バッファサーバBS1はディスクサーバDS1、DS2、DS3に対して、この順番で循環的に、コンテンツC1を1フレーム毎転送し、ディスクサーバDS1、DS2、DS3は転送されたコンテンツC1を1フレーム毎ディスクに記憶する。それにより、ディスク41には、コンテンツC1のフレーム#1、#4、…が蓄積され、ディスク42にはコンテンツC1のフレーム#2、#5、…が蓄積され、ディスク43にはコンテンツC1のフレーム#3、#6、…が蓄積される。
【0049】
また、バッファサーバBS1は、ディスクサーバDS1、DS2、DS3に対して、この順番で循環的に、コンテンツC1を1フレーム毎転送すると共に、フレーム番号−DS番号対照表71に、75に示すように、コンテンツ名、フレーム番号、DS番号を登録する。図7においては、バッファサーバBS1は、1フレームをディスクサーバに転送するたびに、そのフレームをフレーム番号−DS番号対照表71に登録しているが、どのフレームをどのディスクサーバに転送したのかを一時的に記憶しておき、1つのコンテンツの転送が全て終わった後、フレーム番号−DS番号対照表71に一括して登録してもよい。
【0050】
図7を用いて、コンテンツC1の蓄積について説明したが、コンテンツC2、コンテンツC3の蓄積も同様にして行うことができる。
【0051】
図8および図9は、図2に示す分散型マルチメディアサーバシステム10のコンテンツの再生シーケンス図である。
【0052】
まず、ユーザが端末から再生要求85を送信する(段階201)。再生要求85は、前述のように、コンテンツC1のフレーム#2、#3、コンテンツC3のフレーム#1、#2、コンテンツ2のフレーム#1をこの順番で繰り返し再生することを要求するものであるとする。その要求を受信したBS1は、プレイリストを作成する(段階202)。
【0053】
BS1は、プレイリストの最初の行に基づいて、コンテンツC1のフレーム#2が格納されているディスク42が接続されているDS2に対して、C1−#2再生要求(分割マルチメディア再生要求)を送信する(段階203)。その要求を受けたDS2は、ディスク42からC1−#2をDS2内のバッファメモリ中に読み込み(段階204)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階205)。この情報を元に、BS1は、コンテンツC1のフレーム#2を、遠隔ダイレクトメモリアクセス機能を使用することによってDS2内から読み出し(段階206)、再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階207)。送信先は、最初の要求を発した端末でももちろん構わない。
【0054】
BS1は、プレイリストの2番目の行に基づいて、コンテンツC1のフレーム#3が格納されているディスク43が接続されているDS3に対して、C1−#3再生要求を送信する(段階208)。その要求を受けたDS3は、ディスク43からC1−#3をDS3内のバッファメモリ中に読み込み(段階209)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階210)。この情報を元に、BS1は、コンテンツC1のフレーム#3を、遠隔ダイレクトメモリアクセス機能を使用することによってDS3内から読み出し(段階211)、再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階212)。
【0055】
BS1は、プレイリストの3番目の行に基づいて、コンテンツC3のフレーム#1が格納されているディスク41が接続されているDS1に対して、C3−#1再生要求を送信する(段階213)。その要求を受けたDS1は、ディスク41からC3−#1をDS1内のバッファメモリ中に読み込み(段階214)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階215)。この情報を元に、BS1は、コンテンツC3のフレーム#1を、遠隔ダイレクトメモリアクセス機能を使用することによってDS1内から読み出し(段階216)、再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階217)。
【0056】
BS1は、プレイリストの4番目の行に基づいて、コンテンツC3のフレーム#2が格納されているディスク42が接続されているDS2に対して、C3−#2再生要求を送信する(図9の段階218)。その要求を受けたDS2は、ディスク42からC3−#2をDS2内のバッファメモリ中に読み込み(段階219)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階220)。この情報を元に、BS1は、コンテンツC3のフレーム#2を、遠隔ダイレクトメモリアクセス機能を使用することによってDS2内から読み出し(段階221)、再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階222)。
【0057】
BS1は、プレイリストの5番目の行に基づいて、コンテンツC2のフレーム#1が格納されているディスク41が接続されているDS1に対して、C2−#1再生要求を送信する(段階223)。その要求を受けたDS1は、ディスク41からC2−#1をDS1内のバッファメモリ中に読み込み(段階224)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報〈メモリ情報)を応答として返す(段階225)。この情報を元に、BS1は、コンテンツC2のフレーム#1を、遠隔ダイレクトメモリアクセス機能を使用することによってDS1内から読み出し(段階226)、再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階227)。
【0058】
再生要求85は繰り返し再生を要求するものであるから、BS1は、プレイリストの最初の行に戻り、上記と同様にして、コンテンツC1のフレーム#2、#3、コンテンツC3のフレーム#1、#2、コンテンツ2のフレーム#1の送信をこの順番で繰り返す。
【0059】
図2に示す分散型マルチメディアサーバシステム10はバッファサーバを1個しか有さないが、図1に示すように複数個のバッファサーバを有してもよい。その場合は、各バッファサーバが上記と同じように動作する。また、複数個のバッファサーバそれぞれが、他のバッファサーバが記憶するフレーム番号−DS番号対照表71を利用できるようにしてもよい。例えば、各バッファサーバが自分のフレーム番号−DS番号対照表71をクラスタ間接続ネットワーク51またはローカルエリアネットワーク52を介して他のバッファサーバに送信し、各バッファサーバが受信した他のバッファサーバのフレーム番号−DS番号対照表71を記憶しておけば、他のバッファサーバにより蓄積されたマルチメディア情報を再生することができる。
【0060】
本実施例では、各コンテンツのフレーム番号を連続としたが、もちろん、連続である必要はない。
【0061】
以上説明した各サーバは、それぞれの機能、動作、段階を実現するための手段を有しており、それらの手段はコンピュータとプログラムによって構成することができ、そのプログラムは記憶媒体に記憶することができる。また、プログラムを用いる代わりに、その一部または全部をハードウエアで構成することもできる。
【0062】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【0063】
【図1】実施例の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。
【図2】実施例の分散型マルチメディアサーバシステムに複数のコンテンツを蓄積した状態を示す図である。
【図3】各コンテンツがどのディスクサーバに蓄積されたのかの例を示す図である。
【図4】バッファサーバ内にフレーム番号−DS番号対照表が作成されることを示す図である。
【図5】バッファサーバ内にプレイリストが作成されることを示す図である。
【図6】バッファサーバが端末に送信するコンテンツの例を示す図である。
【図7】コンテンツの蓄積シーケンスの例を示す図である。
【図8】コンテンツの再生シーケンスの例を示す図(その1)である。
【図9】コンテンツの再生シーケンスの例を示す図(その2)である。
【符号の説明】
【0064】
10…分散型マルチメディアサーバシステム、11、12…端末、21、22,23…バッファサーバ、31、32、33…ディスクサーバ、41、42、43…ディスク、51…クラスタ間接続ネットワーク、52…ローカルエリアネットワーク、61…配信用ネットワーク、71…フレーム番号−DS番号対照表、72…コンテンツ欄、73…フレーム番号欄、74…DS番号欄、75…コンテンツC1のフレーム番号とDS番号、76…コンテンツC2のフレーム番号とDS番号、77…コンテンツC3のフレーム番号とDS番号、81…プレイリスト、82…再生コンテンツ欄、83…蓄積DS欄、85…再生要求

【特許請求の範囲】
【請求項1】
分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
第1のサーバは、端末から受信したマルチメディア情報を分割し、分割した分割マルチメディア情報を複数個の第2のサーバに循環的に転送すると共に、分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送した第2のサーバを特定する情報の対応関係を記憶し、
第2のサーバは、第1のサーバから転送された分割マルチメディア情報を記憶装置に蓄積する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項2】
請求項1に記載の分散型マルチメディアサーバシステムであって、
第1のサーバは、端末からの再生要求と、記憶している前記対応関係に基づいて、再生する分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送した第2のサーバを特定する情報の関係を記述したプレイリストを作成し、作成したプレイリストに基づいて、第2のサーバから分割マルチメディア情報の転送を受け、端末に配信し、
第2のサーバは、記憶装置に蓄積された分割マルチメディア情報を読み込み、第1のサーバに転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項3】
請求項2に記載の分散型マルチメディアサーバシステムであって、
第1のサーバは、前記プレイリストに基づいて、分割マルチメディア情報の再生要求を第2のサーバに送信し、
前記分割マルチメディア情報の再生要求を受信した第2のサーバは、当該分割マルチメディア情報を記憶装置から読み込み、第1のサーバに転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項4】
請求項2または3に記載の分散型マルチメディアサーバシステムであって、
第1のサーバは、前記プレイリストに記述された順番に、第2のサーバから分割マルチメディア情報の転送を受け、端末に配信することを特徴とする分散型マルチメディアサーバシステム。
【請求項5】
請求項2ないし4のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバは、前記プレイリストを繰り返し用いて、第2のサーバから分割マルチメディア情報の転送を繰り返し受け、端末に配信することを特徴とする分散型マルチメディアサーバシステム。
【請求項6】
請求項1ないし5のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバは、マルチメディア情報を特定する情報毎に分割マルチメディア情報を特定する情報と第2のサーバを特定する情報を記述した対照表を、前記対応関係として記憶することを特徴とする分散型マルチメディアサーバシステム。
【請求項7】
請求項1ないし6のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバは、端末から受信したマルチメディア情報をフレーム毎に分割し、フレーム毎に分割した分割マルチメディア情報を複数個の第2のサーバに循環的に転送することを特徴とする分散型マルチメディアサーバシステム。
【請求項8】
請求項1ないし7のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバと第2のサーバを接続する前記ネットワークまたはバスシステムは遠隔ダイレクトメモリアクセス機能を有し、
第1のサーバと第2のサーバ間の分割マルチメディア情報の転送は、前記ネットワークまたはバスシステムによる遠隔ダイレクトメモリアクセス機能により行われる、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項9】
請求項1ないし8のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバを複数個有することを特徴とする分散型マルチメディアサーバシステム。
【請求項10】
請求項9に記載の分散型マルチメディアサーバシステムであって、
複数個の第1のサーバそれぞれが、他の第1のサーバが記憶する前記対応関係を利用することを特徴とする分散型マルチメディアサーバシステム。
【請求項11】
分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるバッファサーバであって、
バッファサーバから転送された分割マルチメディア情報を記憶装置に蓄積する複数個のディスクサーバとネットワークまたはバスシステムによって接続され、
端末から受信したマルチメディア情報を分割し、分割した分割マルチメディア情報を複数個のディスクサーバに循環的に転送すると共に、分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送したディスクサーバを特定する情報の対応関係を記憶することを特徴とするバッファサーバ。
【請求項12】
請求項11に記載のバッファサーバであって、
端末からの再生要求と、記憶している前記対応関係に基づいて、再生する分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送したディスクサーバを特定する情報の関係を記述したプレイリストを作成し、作成したプレイリストに基づいて、ディスクサーバから分割マルチメディア情報の転送を受け、端末に配信することを特徴とするバッファサーバ。
【請求項13】
分割したマルチメディア情報である分割マルチメディア情報を分割した単位で蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるバッファサーバの分割マルチメディア情報蓄積配信方法であって、
前記バッファサーバは、バッファサーバから転送される分割マルチメディア情報を記憶装置に蓄積する複数個のディスクサーバとネットワークまたはバスシステムによって接続され、
端末から受信したマルチメディア情報を分割し、分割した分割マルチメディア情報を複数個のディスクサーバに循環的に転送すると共に、分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送したディスクサーバを特定する情報の対応関係を記憶することを特徴とするバッファサーバの分割マルチメディア情報蓄積配信方法。
【請求項14】
請求項13に記載のバッファサーバの分割マルチメディア情報蓄積配信方法であって、
端末からの再生要求と、記憶している前記対応関係に基づいて、再生する分割マルチメディア情報を特定する情報とその分割マルチメディア情報を転送したディスクサーバを特定する情報の関係を記述したプレイリストを作成し、作成したプレイリストに基づいて、ディスクサーバから分割マルチメディア情報の転送を受け、端末に配信することを特徴とするバッファサーバの分割マルチメディア情報蓄積配信方法。
【請求項15】
請求項13または14に記載のバッファサーバの分割マルチメディア情報蓄積配信方法をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−311948(P2008−311948A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−157741(P2007−157741)
【出願日】平成19年6月14日(2007.6.14)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(591074585)エヌ・ティ・ティ アイティ株式会社 (21)
【Fターム(参考)】