分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法
【課題】ディスクサーバの増設が簡単に実現できる分散型マルチメディアサーバシステムを提供する。
【解決手段】分散型マルチメディアサーバシステム10は、クラスタ間接続ネットワーク51によって互いに接続されたバッファサーバとディスクサーバを有する。バッファサーバBS1は、それが使用するディスクサーバの個数2個と、ディスクサーバDS1、DS2の順番を管理する。DS3増設後、バッファサーバBS2は、それが使用するディスクサーバの個数3個と、ディスクサーバDS1、DS2、DS3の順番を管理する。バッファサーバBS1、BS2は、それぞれ、端末から受信したマルチメディア情報を、自身が管理する個数のディスクサーバに対して、自身が管理する順番で、循環的に転送し、ディスクサーバは、バッファサーバから転送されたマルチメディア情報をディスクに蓄積する。
【解決手段】分散型マルチメディアサーバシステム10は、クラスタ間接続ネットワーク51によって互いに接続されたバッファサーバとディスクサーバを有する。バッファサーバBS1は、それが使用するディスクサーバの個数2個と、ディスクサーバDS1、DS2の順番を管理する。DS3増設後、バッファサーバBS2は、それが使用するディスクサーバの個数3個と、ディスクサーバDS1、DS2、DS3の順番を管理する。バッファサーバBS1、BS2は、それぞれ、端末から受信したマルチメディア情報を、自身が管理する個数のディスクサーバに対して、自身が管理する順番で、循環的に転送し、ディスクサーバは、バッファサーバから転送されたマルチメディア情報をディスクに蓄積する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末からの要求に応じて、要求されたマルチメディア情報を端末に配信、または、端末から送信されたマルチメディア情報を蓄積することが可能な分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法に関する。
【背景技術】
【0002】
従来の分散型マルチメディアサーバシステムの構成例として、特許文献1等に記載されたものがある。特許文献1に記載された分散型マルチメディアサーバシステムは、通信サーバモジュール、2個の蓄積サーバモジュールおよびローカルエリアネットワークを有している。マルチメディア情報の配信は次の手順で行われる。通信サーバモジュールが端末からの読み取り要求を受信し、要求されたマルチメディア情報の読み取り要求をローカルエリアネットワークを介して蓄積サーバモジュールに対して送信する。この読み出し要求を受信した蓄積サーバモジュールは、要求されたマルチメディア情報をローカルエリアネットワークを介して通信サーバモジュールに送信する。それを受信した通信サーバモジュールは、マルチメディア情報をくみ上げ、配信用のネットワークを通じて端末へ送信する。同様に、通信サーバモジュールはマルチメディア情報の読み出し要求を他方の蓄積サーバモジュールに対して送信し、蓄積サーバモジュールは要求されたマルチメディア情報を通信サーバモジュールに送信し、これを繰り返す。
【0003】
非特許文献1、2(執筆者に本発明者の一部が含まれている)には、複数のバッファサーバと複数のディスクサーバをInfiniBand(非特許文献3参照)を用いた相互結合網で接続した分散型マルチメディアサーバシステムが記載されている。この分散型マルチメディアサーバシステムでは、マルチメディア情報の配信は次の手順で行われる。送信開始メッセージを受信したバッファサーバは先頭の映像フレームを格納しているディスクサーバに対して読み出し要求メッセージを送信する。読み出し要求を受信したディスクサーバはRAID(Redundant Array of Inexpesive 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/5/7
【非特許文献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/superc1uster.html>
【非特許文献6】Katsuhiko Fukazawa外3名、「Distributed Video Server Using New Striping Technique」、Proc. of SPIE Voice, Video and Data Communications、Vol.3228、pp.147−157、発表日1997/11/4
【発明の開示】
【発明が解決しようとする課題】
【0005】
非特許文献1、2、6に記載された分散型マルチメディアサーバシステムでは、複数のコンピュータ(サーバ)を高速な内部結合ネットワークで結んだクラスタ型の構成を採用している。そのため収容ユーザ数の増加などによりシステムの能力が不足した場合、システム全体の入れ替えではなく、システムを構成するディスクサーバ(非特許文献6ではStorage Server)とバッファサーバ(非特許文献6ではCommunication Server)をそれぞれ増やすことによって、その能力を増強することができるというメリットがある。
【0006】
しかし、これらの文献に記載されているシステムでは、ディスクサーバに、どのような順番で蓄積するかを決定する手順を持ち合わせていないため、システム設定時に決定した順番に従ってその蓄積処理を行わなければならない。
【0007】
そのため、システム設置時から収容ユーザが全体の能力を増強するために、これらのサーバを増やした場合、あらたに蓄積する順番を決定しなおすとともに、蓄積したマルチメディア情報を、再度、蓄積しなおす必要があり、簡単にサーバを増設することができなかった。
【0008】
本発明の目的は、ディスクサーバの増設が簡単に実現できる分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法を提供することにある。
【課題を解決するための手段】
【0009】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0010】
第1の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、各第1のサーバは、それぞれ、使用する第2のサーバの個数と順番を管理し、各第1のサーバは、端末から受信したマルチメディア情報を、当該第1のサーバが管理する個数の第2のサーバに対して、当該第1のサーバが管理する順番で、循環的に転送し、第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積する、ことを特徴とする。
【0011】
第2の発明は、第1の発明において、各第1のサーバは、当該第1のサーバが管理する個数の第2のサーバから、当該第1のサーバが管理する順番で、循環的にマルチメディア情報の転送を受け、端末に配信し、第2のサーバは、記憶装置に蓄積されたマルチメディア情報を読み込み、第1のサーバに転送する、ことを特徴とする。
【0012】
第3の発明は、第1または第2の発明において、第1のサーバの増設時に、増設された第1のサーバがその時点における第2のサーバの個数と順番を管理することを特徴とする。
【0013】
第4の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバと第3のサーバを有し、第3のサーバは、第2のサーバの個数と順番を管理し、第1のサーバは、端末から受信したマルチメディア情報を、第3のサーバが管理する個数の第2のサーバに対して、第3のサーバが管理する順番で、循環的に転送し、第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積し、第3のサーバは、蓄積したマルチメディア情報を蓄積した記憶装置を持つ第2のサーバに関する情報とその順番を記録する、ことを特徴とする。
【0014】
第5の発明は、第4の発明において、端末へのマルチメディア情報の配信を実行する前に、第3のサーバから、リクエストされたマルチメディア情報が格納されている第2のサーバの情報と、その順番を獲得し、第1のサーバは、第3のサーバが記憶していた第2のサーバに関する情報とその順番に基づき、第2のサーバから、循環的にマルチメディア情報の転送を受け、端末に配信し、第2のサーバは、記憶装置に蓄積されたマルチメディア情報を読み込み、第1のサーバに転送する、ことを特徴とする。
【0015】
第6の発明は、第1〜第5の発明において、第1のサーバと第2のサーバを接続する前記ネットワークまたはバスシステムは遠隔ダイレクトメモリアクセス機能を有し、第1のサーバと第2のサーバ間のマルチメディア情報の転送は、前記ネットワークまたはバスシステムによる遠隔ダイレクトメモリアクセス機能により行われる、ことを特徴とする。
【0016】
第7の発明は、第1〜第6の発明において、第1のサーバと第2のサーバ間のマルチメデイア情報の転送は、分割したマルチメディア情報である分割マルチメディア情報単位で行われ、第2のサーバは、分割マルチメディア情報単位で前記記憶装置に蓄積する、ことを特徴とする。
【0017】
第8の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積・配信方法であって、第1の発明と同様な特徴を有する。
【0018】
第9の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積・配信方法であって、第4の発明と同様な特徴を有する。
【発明の効果】
【0019】
本発明により、ディスクサーバの増設が簡単に実現できる分散型マルチメディアサーバシステムを得ることができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明を実施例を用いて詳細に説明する。なお、各図において同じ機能を有するものには同じ符号を付け、重複した説明は省略する。
【実施例1】
【0021】
図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はクラスタ間接続ネットワークであり、18はローカルエリアネットワークである。
【0022】
バッファサーバ21、22、23、…は、端末11、12からの要求を受けて、マルチメディア情報の送信または受信を行うサーバである。ディスクサーバ31、32、33、…は、マルチメディア情報を例えば1フレーム毎に分割して格納するディスク41、42、43、…をそれぞれ持っており、ディスク41、42、43、…からのマルチメディア情報の読み出し、またはディスク41、42、43、…への書き込みを行う。なお、マルチメディア情報の分割の単位は1フレーム毎に限定されない。
【0023】
バッファサーバ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で結ばれている。
【0024】
本実施例においてクラスタ間接続ネットワーク51として使用する並列計算機を構成するためのクラスタ間接続ネットワークの具体例としては、例えば非特許文献3、非特許文献4、非特許文献5などがある。本実施例では非特許文献3のInfiniBandを用いてクラスタ間接続ネットワークを構成する。このネットワークは、ハードウェアで通信の信頼性の確保を実現しているため、高速低負荷、低コストである反面、サーバ間のメッセージの送受信やメモリ共有に使う目的で設計されているため、映像データのようなストリームの転送機能は持ち合わせていない。しかし、この遠隔ダイレクトメモリアクセス機能と呼ばれるメモリ共有機能は、このクラスタ間接続ネットワークにより接続されたサーバのメモリを他のサーバから自由にアクセス出来るようにする機能で、ほとんどの処理をネットワークカードのハードウェアで実現しており、サーバのCPUに負荷をほとんどかけずにデータの転送を行うことが出来る。さらに、この遠隔ダイレクトメモリアクセス機能では、相手側のアドレスを得てしまえば、相手側が何もしなくてもデータの転送が行えるため、例えば、TCP/IPを使った処理では相手側はsend()などのシステムコールを呼び出さなければならないが、この機能を使うことによって、余計な処理を相手側で行わずにデータの転送が実現出来る。このネットワークを使うことが出来れば、低負荷でデータの転送が出来るため、高価でハイスペックなサーバシステムを導入することなく、低コストなサーバにより高い転送能力を持つサーバシステムを構築することが出来、サーバと内部結合ネットワークのコストを削減することが出来る。
【0025】
分散型マルチメディアサーバシステム10が、例えばバッファサーバ21(BS1)が端末11から蓄積要求を受信した場合は、BS1は端末11から配信用ネットワーク61を介して受信したマルチメディア情報を例えば1フレーム毎に分割し、分割マルチメディア情報をクラスタ間接続ネットワーク51を介して遠隔ダイレクトメモリアクセス機能によりディスクサーバ31、32、33、…(DS1〜DSN)に循環的に転送する。すなわち、フレーム#1をDS1に転送し、フレーム#2をDS2に転送し、フレーム#3をDS3に転送し、…、DSNにフレーム#Nを転送し、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、…が蓄積される。
【0026】
分散型マルチメディアサーバシステム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からフレーム#1を読み込みこれをBS1に転送し、これを繰り返す。
【0027】
この蓄積、再生の動作は非特許文献1、2に示す従来技術でも同様であるが、従来技術では、分散型マルチメディアサーバシステム10全体でディスクサーバの個数Nを管理し、全てのマルチメディア情報を管理しているN個のディスクサーバで分割して保存しているため、ディスクサーバを増設するとなると、全マルチメディア情報を再配分する必要が生じ、簡単にディスクサーバの増設ができなかった。
【0028】
これに対して、本実施例の分散型マルチメディアサーバシステム10では、各バッファサーバ21、22、23、…(BS1〜BSN)毎に使用するディスクサーバの個数と順番を管理する。その上で、ディスクサーバ起動時に各ディスクサーバに対してコネクションを設定する際に、各ディスクサーバに対して、そのバッファサーバが使用するディスクサーバの個数と何番目のディスクサーバであるのかを通知する。これにより、本実施例の分散型マルチメディアサーバシステム10では、ディスクサーバの増設が簡単に実現できる。また、各マルチメディア情報に対する使用ディスクサーバ数を、固定管理する必要なく、ディスクサーバの増設が実現できる。
【0029】
図2、図3は、本実施例の分散型マルチメディアサーバシステム10がディスクサーバの増設に柔軟に対応できることを説明するための図である。図2はディスクサーバの増設前であり、図3はディスクサーバの増設後である。
【0030】
ディスクサーバ増設前の図2では、分散型マルチメディアサーバシステム10は、バッファサーバ21(BS1)と、ディスクサーバ31(DS1)とこれに接続されたディスク42と、ディスクサーバ32(DS2)とこれに接続されたディスク42と、を有している。なお、図2の分散型マルチメディアサーバシステム10は、1個のバッファサーバと2個のディスクサーバを有しているが、より多くのバッファサーバ、ディスクサーバを有してもよい。
【0031】
図2において、BS1は、端末からのマルチメディア情報C1の蓄積要求を受けて、マルチメディア情報C1を1フレームずつDS1、DS2に循環的に(図2ではディスクサーバが2個であるから交互に)転送し、DS1、DS2は転送されたマルチメディア情報をそれぞれディスク41、42に蓄積する。その結果、ディスク41にはマルチメディア情報C1のフレーム#1、#3、…が蓄積され、ディスク42にはマルチメディア情報C1のフレーム#2、#4が蓄積される。
【0032】
BS1が、端末からマルチメディア情報C1の再生要求を受けると、マルチメディア情報C1を1フレームずつDS1、DS2から循環的に(図2ではディスクサーバが2個であるから交互に)転送を受け、マルチメディア情報C1を端末に配信する。
【0033】
ディスクサーバ増設後の図3では、分散型マルチメディアサーバシステム10には、ディスクサーバ33(DS3)とこれに接続されたディスク43が増設されている。また、本実施例では、ディスクサーバの増設と共に、バッファサーバも増設する。22は増設されたバッファサーバ(BS2)である。図3では、ディスクサーバを1個増設し、バッファサーバを1個増設しているが、それぞれ何個増設してもよい。
【0034】
図3において、BS1は、端末からのマルチメディア情報C2の蓄積要求を受けて、マルチメディア情報C2を1フレームずつDS1、DS2、DS3に循環的に転送し、DS1、DS2、DS3は転送されたマルチメディア情報をそれぞれディスク41、42、43に蓄積する。その結果、ディスク41にはマルチメディア情報C2のフレーム#1、#4、…が蓄積され、ディスク42にはマルチメディア情報C2のフレーム#2、#5、…が蓄積され、ディスク43にはマルチメディア情報C2のフレーム#3、#6、…が蓄積される。
【0035】
BS2が、端末からマルチメディア情報C2の再生要求を受けると、マルチメディア情報C2を1フレームずつDS1、DS2、DS3から循環的に転送を受け、マルチメディア情報C2を端末に配信する。
【0036】
前述のように、本実施例の分散型マルチメディアサーバシステム10では、ディスクサーバ起動時に、各ディスクサーバに対して、そのバッファサーバが使用するディスクサーバの個数と何番目のディスクサーバであるのかを通知する。この部分のシーケンスを図4に示す。
【0037】
図4(A)は図2の場合すなわち増設前の初期化のシーケンス図である。BS1は起動すると、DS1に対して初期化要求(1/2)を送信する(段階101)。ここで、初期化要求(a/b)はbがディスクサーバの個数を意味し、aが何番目のディスクサーバであるのかを意味している。すなわち、BS1は、段階101の初期化要求により、DS1に対して、DS1は個数2個のディスクサーバのうち1番目のディスクサーバであることを通知する。DS1はOKを応答する(段階102)。BS1はDS2に対して初期化要求(2/2)を送信する(段階103)。すなわち、BS1は、段階103の初期化要求により、DS2に対して、DS2は個数2個のディスクサーバのうち2番目のディスクサーバであることを通知する。DS2はOKを応答する(段階104)。
【0038】
BS1はディスクサーバの個数が2個であり、DS1が1番目であり、DS2が2番目であることを管理する。DS1はディスクサーバの個数が2個であり、自分が1番目であることを記憶しておく。DS2はディスクサーバの個数が2個であり、自分が2番目であることを記憶しておく。
【0039】
以上の初期化の後、BS1は、DS1、DS2、DS1、DS2…の順で、すなわち個数2個のDS1〜DS2に対して循環的にマルチメディア情報の蓄積、再生を行う。
【0040】
図4(B)は図3の場合すなわち増設後の初期化のシーケンス図である。BS2は起動すると、DS1に対して初期化要求(1/3)を送信する(段階201)。すなわち、BS2は、段階201の初期化要求において、DS1に対して、DS1は個数3個のディスクサーバのうち1番目のディスクサーバであることを通知する。DS1はOKを応答する(段階202)。BS2はDS2に対して初期化要求(2/3)を送信する(段階203)。すなわち、BS1は、段階203の初期化要求より、DS2に対して、DS2は個数3個のディスクサーバのうち2番目のディスクサーバであることを通知する。DS2はOKを応答する(段階204)。BS2はDS3に対して初期化要求(3/3)を送信する(段階205)。すなわち、BS2は、段階205の初期化要求より、DS3に対して、DS3は個数3個のディスクサーバのうち3番目のディスクサーバであることを通知する。DS3はOK応答する(段階206)。
【0041】
BS1はディスクサーバの個数が3個であり、DS1が1番目であり、DS2が2番目であり、DS3が3番目であることを管理する。また、DS1は個数が3個であり、自分が1番目であることを記憶しておく。DS2は個数が3個であり、自分が2番目であることを記憶しておく。DS3は個数が3個であり、自分が3番目であることを記憶しておく。
【0042】
以上の初期化の後、BS2は、DS1、DS2、DS3、DS1、DS2、DS3、…の順番で、すなわち個数3個のDS1〜DS3に対して循環的にマルチメディア情報の蓄積、再生を行う。一方、BS1は、増設前と同様に、DS1、DS2、DS1、DS2、…の順で、すなわち個数2個のDS1〜DS2に対して循環的にマルチメディア情報の蓄積、再生を行う。
【0043】
次に、分散型マルチメディアサーバシステム10の蓄積、再生シーケンスについて説明する。
【0044】
図5は、図2に示す増設前のBS1による初期化および蓄積シーケンスを示す図である。段階101〜104の初期化シーケンスは図4(A)と同じである。バッファサーバBS1は、ディスクサーバの個数2個と、DS1が1番目でありDS2が2番目であるという順番を管理する。
【0045】
まず、ユーザが端末を使って、マルチメディア情報C1蓄積要求をBS1に対して送信する(段階105)。それを受け取ったBS1は、分割マルチメディア情報蓄積要求をDS1に対して送信する(段階106)。この要求を受け取ったDS1は、BS1から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階107)。その応答を受信したBS1は、マルチメディア情報C1を受信し、分割するとともに(段階108)、分割したマルチメディア情報C1のフレーム#1を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS1内のバッファに転送する(段階109)。DS1は、転送されたマルチメディア情報C1のフレーム#1をディスク41に蓄積する(段階110)。
【0046】
BS1は、分割マルチメディア情報蓄積要求をDS2に対して送信する(段階111)。この要求を受け取ったDS2は、BS1から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階112)。その応答を受信したBS1は、マルチメディア情報C1を受信し、分割するとともに(段階113)、分割したマルチメディア情報C1のフレーム#2を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS2内のバッファに転送する(段階114)。DS2は、転送されたマルチメディア情報C1のフレーム#2をディスク42に蓄積する(段階115)。
【0047】
BS1は、分割マルチメディア情報蓄積要求をDS1に対して送信し(段階116)、段階106〜115を繰り返し実行する。
【0048】
このように、バッファサーバBS1は自身が管理している個数2個のバッファサーバBS1、BS2に対して循環的に(この場合は個数が2個であるから交互に)、マルチメディア情報C1を1フレーム毎転送し、バッファサーバBS1、BS2は転送されたマルチメディア情報C1を1フレーム毎ディスクに記憶する。それにより、ディスク41にはマルチメディア情報C1のフレーム#1、#3、…が蓄積され、ディスク42にはマルチメディア情報C1のフレーム#2、#4、…が蓄積される。
【0049】
図6は、図3に示す増設後のBS2による初期化および蓄積シーケンスを示す図である。段階201〜206の初期化シーケンスは図4(B)と同じである。バッファサーバBS2は、ディスクサーバの個数3個と、DS1が1番目でありDS2が2番目でありDS3が3番目であるという順番を管理する。
【0050】
まず、ユーザが端末を使って、マルチメディア情報C2蓄積要求をBS2に対して送信する(段階207)。それを受け取ったBS2は、分割マルチメディア情報蓄積要求をDS1に対して送信する(段階208)。この要求を受け取ったDS1は、BS2から分割マルチメディア情報を受け取るため自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階209)。その応答を受信したBS2は、マルチメディア情報C2を受信し、分割するとともに(段階210)、分割したマルチメディア情報C2のフレーム#1を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS1内のバッファに転送する(段階211)。DS1は、転送されたマルチメディア情報C2のフレーム#1をディスク41に蓄積する(段階212)。
【0051】
BS2は、分割マルチメディア情報蓄積要求をDS2に対して送信する(段階213)。この要求を受け取ったDS2は、BS2から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階214)。その応答を受信したBS2は、マルチメディア情報C2を受信し、分割するとともに(段階215)、分割したマルチメディア情報C2のフレーム#2を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS2内のバッファに転送する(段階216)。DS2は、転送されたマルチメディア情報C2のフレーム#2をディスク42に蓄積する(段階217)。
【0052】
BS2は、分割マルチメディア情報蓄積要求をDS3に対して送信する(段階218)。この要求を受け取ったDS3は、BS2から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階219)。その応答を受信したBS2は、マルチメディア情報C2を受信し、分割するとともに(段階220)、分割したマルチメディア情報C2のフレーム#3を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS3内のバッファに転送する(段階221)。DS3は、転送されたマルチメディア情報C2のフレーム#3をディスク43に蓄積する(段階222
)。
【0053】
BS2は、分割マルチメディア情報蓄積要求をDS1に対して送信し(段階223)、段階208〜222を繰り返し実行する。
【0054】
このように、バッファサーバBS2は自身が管理している個数3個のディスクサーバDS1、DS2、DS3に対して、管理している順番で循環的に、マルチメディア情報C2を1フレーム毎転送し、ディスクサーバDS1、DS2、DS3は転送されたマルチメディア情報C2を1フレーム毎ディスクに記憶する。それにより、ディスク41には、マルチメディア情報C2のフレーム#1、#4、…が蓄積され、ディスク42にはマルチメディア情報C2のフレーム#2、5、…が蓄積され、ディスク43にはマルチメディア情報C2のフレーム#3、#6、…が蓄積される。
【0055】
図7は、図3に示す増設後のBS1による再生シーケンスを示す図である。まず、ユーザが端末から視聴したいマルチメディア情報C1を要求するためにBS1に対してマルチメディア情報C1再生要求を送信する(段階231)と、その要求を受信したBS1は、要求されたマルチメディア情報C1の先頭(フレーム#1)が格納されているディスク41が接続されているDSに対して、分割マルチメディア情報再生要求を送信する(段階232)。その要求を受けたDS1は、ディスク41から該当する分割マルチメディア情報をDS1内のバッファメモリ中に読み込み(段階233)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階234)。この情報を元に、BS1は、マルチメディア情報C1のフレーム#1を、遠隔ダイレクトメモリアクセス機能を使用することによってDS1内から読み出し(段階235)、マルチメディア情報C1再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階236)。送信先は、最初の要求を発した端末でももちろん構わない。
【0056】
BS1は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム#2)が格納されているディスク42が接続されているDS2に対して送信する(段階237)。その要求を受けたDS2は、ディスク42から該当する分割マルチメディア情報をDS2内のバッファメモリ中に読み込み(段階238)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階239)。この情報を元に、BS1は、マルチメディア情報C1のフレーム#2を、遠隔ダイレクトメモリアクセス機能を使用することによってDS2内から読み出し(段階240)、マルチメディア情報C1再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階241)。
【0057】
BS1は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム3)が格納されているディスク41が接続されているDS1に対して送信する(段階242)。以降、段階232〜240と同じ処理を繰り返す。
【0058】
このように、DS3が増設された後であっても、バッファサーバBS1は自身が管理している個数2個のディスクサーバDS1、DS2から循環的に(この場合は個数が2個であるから交互に)、マルチメディア情報C1を1フレーム毎転送を受け、端末に配信する。また、シーケンス図は示さないが、バッファサーバBS1は、DS3が増設された後にマルチメディア情報蓄積要求を受けた場合も、自身が管理している個数2個のディスクサーバDS1、DS2に対して循環的にマルチメディア情報を転送する。
【0059】
図8は、図3に示す増設後のBS2による再生シーケンスを示す図である。まず、ユーザが端末から視聴したいマルチメディア情報C2を要求するためにBS2に対してマルチメディア情報C2再生要求を送信する(段階251)と、その要求を受信したBS2は、要求されたマルチメディア情報C2の先頭(フレーム#1)が格納されているディスク41が接続されているDS1に対して、分割マルチメディア情報再生要求を送信する(段階252)。その要求を受けたDS1は、ディスク41から該当する分割マルチメディア情報をDS1内のバッファメモリ中に読み込み(段階253)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階254)。この情報を元に、BS2は、マルチメディア情報C2のフレーム#1を、遠隔ダイレクトメモリアクセス機能を使用することによってDS1内から読み出し(段階254)、マルチメディア情報C2再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階255)。送信先は、最初の要求を発した端末でももちろん構わない。
【0060】
BS2は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム#2)が格納されているディスク42が接続されているDS2に対して送信する(段階256)。その要求を受けたDS2は、ディスク42から該当する分割マルチメディア情報をDS2内のバッファメモリ中に読み込み(段階257)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階258)。この情報を元に、BS2は、マルチメディア情報C2のフレーム#2を、遠隔ダイレクトメモリアクセス機能を使用することによってDS2内から読み出し(段階259)、マルチメディア情報C2再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階260)。
【0061】
BS2は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム#3)が格納されているディスク43が接続されているDS3に対して送信する(段階261)。その要求を受けたDS3は、ディスク43から該当する分割マルチメディア情報をDS3内のバッファメモリ中に読み込み(段階262)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階263)。この情報を元に、BS2は、マルチメディア情報C2のフレーム#3を、遠隔ダイレクトメモリアクセス機能を使用することによってDS3内から読み出し(段階264)、マルチメディア情報C2再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階265)。
【0062】
BS2は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム#4)が格納されているディスク41が接続されているDS1に対して送信する(段階266)。以降、段階252〜264と同じ処理を繰り返す。
【0063】
このように、バッファサーバBS2は自身が管理している個数3個のディスクサーバDS1、DS2、DS3から循環的に、マルチメディア情報C2を1フレーム毎転送を受け、端末に配信する。
【0064】
以上説明した本実施例の分散型マルチメディアサーバシステム10においては、端末がマルチメディア情報の再生を行うときには、マルチメディア情報再生要求をそのマルチメディア情報の蓄積を行ったバッファサーバに対して送信する必要がある。
【0065】
また、各ディスクサーバが管理するバッファサーバの個数は、その時点において分散型マルチメディアサーバシステム10が有する全てのバッファサーバの個数であっても、それ以下であってもよい。また、順番もどのような順番でもよい。図3において、本実施例では、BS2は、その時点で利用可能な全てのディスクサーバDS1、DS2、DS3の個数3個とDS1、DS2、DS3の順番を管理しているが、例えば、DS2が、使用するディスクサーバの個数を2個とし、1番目がDS3であり、2番目がDS1とし、その個数2個とDS3、DS1の順番を管理してもよい。この場合は、ディスク43にC2−#1、C2−#2、…が蓄積され、ディスク41にC2−#2、C2−#4、…が蓄積されることになる。
【実施例2】
【0066】
図9に第2の実施例を示す。分散型マルチメディアサーバシステム10は、第1の実施例の説明で用いた図1の装置に、第3のサーバであるインデクスサーバ71(第3のサーバ)を加えた構成をとる。このインデクスサーバは、蓄積されたマルチメディア情報のメタデータ(IDやマルチメディア情報の時間的な長さ、撮影日などの情報)とともに、マルチメディア情報が格納されているディスクが接続されているディスクサーバと、その格納順序を示す情報が保存されているサーバである。それ以外の分散型マルチメディアサーバシステム10を構成する装置は、実施例1に示す通りである。ただし、本実施例では、各バッファサーバ21、22、23、…では、実施例1のようなディスクサーバの個数と順番の管理を行わずに、以下に示す方式を用いる。
【0067】
図10に、本実施例を用いて、マルチメディア情報を端末から図2の構成の分散型マルチメディアサーバへ蓄積する場合のシーケンス例を示す。図5に示したシーケンスと同様にバッファサーバ1台と、ディスクサーバ2台のシステム構成による例である。
【0068】
まず、システム起動時に初期化処理を行う。この際、バッファサーバBS1は、インデクスサーバIS1に対して、現時点でのディスクサーバの台数、および、蓄積順序の問い合わせを、サーバ構成要求として実行する(段階151)。次に、実施例1と同様に初期化処理を実行する。実施例1とは異なり、この初期化処理により、蓄積時の順序のみが設定される。なお、本実施例では、インデクスサーバからディスクサーバの台数や順序を取得したが、バッファサーバおよびディスクサーバ内の初期設定ファイルにその情報を予め設定しておくことも可能である。この場合は、段階151は省略することは可能である。
【0069】
ユーザからのマルチメディア情報C1の蓄積要求をバッファサーバBS1が受信する(段階105)と、インデクスサーバIS1に対してメタデータをメタデータ蓄積要求として送信する(段階152)。このメタデータとして端末から蓄積要求と一緒に送られてくるものや映像中に含まれているものを利用することが可能である。この要求を受信したインデクスサーバIS1は、このメタデータとともに、使用するディスクサーバとその順序、台数を一緒に保存する。図11に保存した情報のイメージを示す。なお、この図は、一例であり、保存方法に関する制限は本実施例にはない。メタデータの蓄積が完了した後、実施例1と同様に蓄積が実行される。本実施例では、バッファサーバが端末からの要求を受信したが、インデクスサーバが先に受信し、メタデータとディスクサーバとその台数や順序を保存した後、バッファサーバへその要求を転送することももちろん可能である。
【0070】
以上が、蓄積時の処理である。図2から図3のようにディスクサーバを増設し、マルチメディア情報C2を蓄積した場合も同じ処理で蓄積することが可能である。この場合、インデクスサーバへ保存された情報は図12のようになる。
【0071】
次に、図3の構成の分散型マルチメディアサーバに対して、端末からマルチメディア情報C1に対する再生要求が行われた場合の処理の例を図13に示す。
【0072】
まず、端末からの再生要求を受信したバッファサーバBS1は、インデクスサーバに対して、蓄積に使用したディスクサーバとその順序に関する情報を、ディスクサーバ情報要求メッセージを送信することにより要求する(段階271)。その要求を受信したインデクスサーバIS1は、マルチメディア情報C1を蓄積したときに使用したディスクサーバとその順序に関する情報をディスクサーバ情報応答としてバッファサーバBS1に送信する(段階272)。この情報を元にバッファサーバBS1はディスクサーバDS1およびDS2に対して、分割マルチメディア情報再生要求をそれぞれ送信し、以降の処理は、実施例1で記述した通りである。
【0073】
蓄積時と同様にインデクスサーバIS1に対してバッファサーバBS1からディスクサーバ情報を要求しているが、端末がバッファサーバではなくインデクスサーバにマルチメディア情報再生要求を送信し、その要求にディスクサーバ情報を付加してバッファサーバに転送することも可能である。
【0074】
本実施例では、実施例1と比べてインデクスサーバが1台増えるものの、ディスクサーバ増設時にバッファサーバを増やす必要がなく、サーバの構成を柔軟に変更することができる。さらに、実施例1では、例えば、マルチメディア情報C2への再生要求が大量に発生した場合、バッファサーバBS1の負荷は上がらずに、BS2の負荷のみが増大し、システム全体では余力はあっても要求を受け付けることができなくなる。実施例2では、バッファサーバとマルチメディア情報とを結びつけないため、特定のマルチメディア情報に対する要求による、特定のバッファサーバの負荷の偏りを防止することができる。
【0075】
遠隔ダイレクトメモリアクセス機能を用いて、インデクスサーバに保存されている情報を、複数のインデクスサーバで共有することが可能である。この方法を用いれば、インデクスサーバを複数設置し、システムの規模が大きくなった場合の負荷の増大にも対応することができる。
【0076】
以上説明した各サーバは、それぞれの機能、動作、段階を実現するための手段を有しており、それらの手段はコンピュータとプログラムによって構成することができ、そのプログラムは記憶媒体に記憶することができる。また、プログラムを用いる代わりに、その一部または全部をハードウェアで構成することもできる。
【0077】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【0078】
【図1】本発明の実施例の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。
【図2】本実施例がディスクサーバの増設に柔軟に対応できることを説明するための図(増設前)である。
【図3】本実施例がディスクサーバの増設に柔軟に対応できることを説明するための図(増設後)である。
【図4】初期化のシーケンス図である。
【図5】増設前のBS1による初期化および蓄積シーケンスを示す図である。
【図6】増設後のBS2による初期化および蓄積シーケンスを示す図である。
【図7】増設後のBS1による再生シーケンスを示す図である。
【図8】増設後のBS2による再生シーケンスを示す図である。
【図9】本発明の第2の実施例の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。
【図10】第2の実施例の初期化および蓄積シーケンスを示す図である。
【図11】インデクスサーバ内に保存されている情報を示す図である。
【図12】ディスクサーバ増設後のインデクスサーバ内に保存されている情報を示す図である。
【図13】第2の実施例の再生シーケンスを示す図である。
【符号の説明】
【0079】
10…分散型マルチメディアサーバシステム、11、12…端末、21,22,23…バッファサーバ、31,32,33…ディスクサーバ、41,42,43…ディスク、51…クラスタ間接続ネットワーク、52…ローカルエリアネットワーク、61…配信用ネットワーク、71…インデクスサーバ
【技術分野】
【0001】
本発明は、端末からの要求に応じて、要求されたマルチメディア情報を端末に配信、または、端末から送信されたマルチメディア情報を蓄積することが可能な分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法に関する。
【背景技術】
【0002】
従来の分散型マルチメディアサーバシステムの構成例として、特許文献1等に記載されたものがある。特許文献1に記載された分散型マルチメディアサーバシステムは、通信サーバモジュール、2個の蓄積サーバモジュールおよびローカルエリアネットワークを有している。マルチメディア情報の配信は次の手順で行われる。通信サーバモジュールが端末からの読み取り要求を受信し、要求されたマルチメディア情報の読み取り要求をローカルエリアネットワークを介して蓄積サーバモジュールに対して送信する。この読み出し要求を受信した蓄積サーバモジュールは、要求されたマルチメディア情報をローカルエリアネットワークを介して通信サーバモジュールに送信する。それを受信した通信サーバモジュールは、マルチメディア情報をくみ上げ、配信用のネットワークを通じて端末へ送信する。同様に、通信サーバモジュールはマルチメディア情報の読み出し要求を他方の蓄積サーバモジュールに対して送信し、蓄積サーバモジュールは要求されたマルチメディア情報を通信サーバモジュールに送信し、これを繰り返す。
【0003】
非特許文献1、2(執筆者に本発明者の一部が含まれている)には、複数のバッファサーバと複数のディスクサーバをInfiniBand(非特許文献3参照)を用いた相互結合網で接続した分散型マルチメディアサーバシステムが記載されている。この分散型マルチメディアサーバシステムでは、マルチメディア情報の配信は次の手順で行われる。送信開始メッセージを受信したバッファサーバは先頭の映像フレームを格納しているディスクサーバに対して読み出し要求メッセージを送信する。読み出し要求を受信したディスクサーバはRAID(Redundant Array of Inexpesive 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/5/7
【非特許文献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/superc1uster.html>
【非特許文献6】Katsuhiko Fukazawa外3名、「Distributed Video Server Using New Striping Technique」、Proc. of SPIE Voice, Video and Data Communications、Vol.3228、pp.147−157、発表日1997/11/4
【発明の開示】
【発明が解決しようとする課題】
【0005】
非特許文献1、2、6に記載された分散型マルチメディアサーバシステムでは、複数のコンピュータ(サーバ)を高速な内部結合ネットワークで結んだクラスタ型の構成を採用している。そのため収容ユーザ数の増加などによりシステムの能力が不足した場合、システム全体の入れ替えではなく、システムを構成するディスクサーバ(非特許文献6ではStorage Server)とバッファサーバ(非特許文献6ではCommunication Server)をそれぞれ増やすことによって、その能力を増強することができるというメリットがある。
【0006】
しかし、これらの文献に記載されているシステムでは、ディスクサーバに、どのような順番で蓄積するかを決定する手順を持ち合わせていないため、システム設定時に決定した順番に従ってその蓄積処理を行わなければならない。
【0007】
そのため、システム設置時から収容ユーザが全体の能力を増強するために、これらのサーバを増やした場合、あらたに蓄積する順番を決定しなおすとともに、蓄積したマルチメディア情報を、再度、蓄積しなおす必要があり、簡単にサーバを増設することができなかった。
【0008】
本発明の目的は、ディスクサーバの増設が簡単に実現できる分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法を提供することにある。
【課題を解決するための手段】
【0009】
本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0010】
第1の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、各第1のサーバは、それぞれ、使用する第2のサーバの個数と順番を管理し、各第1のサーバは、端末から受信したマルチメディア情報を、当該第1のサーバが管理する個数の第2のサーバに対して、当該第1のサーバが管理する順番で、循環的に転送し、第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積する、ことを特徴とする。
【0011】
第2の発明は、第1の発明において、各第1のサーバは、当該第1のサーバが管理する個数の第2のサーバから、当該第1のサーバが管理する順番で、循環的にマルチメディア情報の転送を受け、端末に配信し、第2のサーバは、記憶装置に蓄積されたマルチメディア情報を読み込み、第1のサーバに転送する、ことを特徴とする。
【0012】
第3の発明は、第1または第2の発明において、第1のサーバの増設時に、増設された第1のサーバがその時点における第2のサーバの個数と順番を管理することを特徴とする。
【0013】
第4の発明は、マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバと第3のサーバを有し、第3のサーバは、第2のサーバの個数と順番を管理し、第1のサーバは、端末から受信したマルチメディア情報を、第3のサーバが管理する個数の第2のサーバに対して、第3のサーバが管理する順番で、循環的に転送し、第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積し、第3のサーバは、蓄積したマルチメディア情報を蓄積した記憶装置を持つ第2のサーバに関する情報とその順番を記録する、ことを特徴とする。
【0014】
第5の発明は、第4の発明において、端末へのマルチメディア情報の配信を実行する前に、第3のサーバから、リクエストされたマルチメディア情報が格納されている第2のサーバの情報と、その順番を獲得し、第1のサーバは、第3のサーバが記憶していた第2のサーバに関する情報とその順番に基づき、第2のサーバから、循環的にマルチメディア情報の転送を受け、端末に配信し、第2のサーバは、記憶装置に蓄積されたマルチメディア情報を読み込み、第1のサーバに転送する、ことを特徴とする。
【0015】
第6の発明は、第1〜第5の発明において、第1のサーバと第2のサーバを接続する前記ネットワークまたはバスシステムは遠隔ダイレクトメモリアクセス機能を有し、第1のサーバと第2のサーバ間のマルチメディア情報の転送は、前記ネットワークまたはバスシステムによる遠隔ダイレクトメモリアクセス機能により行われる、ことを特徴とする。
【0016】
第7の発明は、第1〜第6の発明において、第1のサーバと第2のサーバ間のマルチメデイア情報の転送は、分割したマルチメディア情報である分割マルチメディア情報単位で行われ、第2のサーバは、分割マルチメディア情報単位で前記記憶装置に蓄積する、ことを特徴とする。
【0017】
第8の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積・配信方法であって、第1の発明と同様な特徴を有する。
【0018】
第9の発明は、分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積・配信方法であって、第4の発明と同様な特徴を有する。
【発明の効果】
【0019】
本発明により、ディスクサーバの増設が簡単に実現できる分散型マルチメディアサーバシステムを得ることができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明を実施例を用いて詳細に説明する。なお、各図において同じ機能を有するものには同じ符号を付け、重複した説明は省略する。
【実施例1】
【0021】
図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はクラスタ間接続ネットワークであり、18はローカルエリアネットワークである。
【0022】
バッファサーバ21、22、23、…は、端末11、12からの要求を受けて、マルチメディア情報の送信または受信を行うサーバである。ディスクサーバ31、32、33、…は、マルチメディア情報を例えば1フレーム毎に分割して格納するディスク41、42、43、…をそれぞれ持っており、ディスク41、42、43、…からのマルチメディア情報の読み出し、またはディスク41、42、43、…への書き込みを行う。なお、マルチメディア情報の分割の単位は1フレーム毎に限定されない。
【0023】
バッファサーバ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で結ばれている。
【0024】
本実施例においてクラスタ間接続ネットワーク51として使用する並列計算機を構成するためのクラスタ間接続ネットワークの具体例としては、例えば非特許文献3、非特許文献4、非特許文献5などがある。本実施例では非特許文献3のInfiniBandを用いてクラスタ間接続ネットワークを構成する。このネットワークは、ハードウェアで通信の信頼性の確保を実現しているため、高速低負荷、低コストである反面、サーバ間のメッセージの送受信やメモリ共有に使う目的で設計されているため、映像データのようなストリームの転送機能は持ち合わせていない。しかし、この遠隔ダイレクトメモリアクセス機能と呼ばれるメモリ共有機能は、このクラスタ間接続ネットワークにより接続されたサーバのメモリを他のサーバから自由にアクセス出来るようにする機能で、ほとんどの処理をネットワークカードのハードウェアで実現しており、サーバのCPUに負荷をほとんどかけずにデータの転送を行うことが出来る。さらに、この遠隔ダイレクトメモリアクセス機能では、相手側のアドレスを得てしまえば、相手側が何もしなくてもデータの転送が行えるため、例えば、TCP/IPを使った処理では相手側はsend()などのシステムコールを呼び出さなければならないが、この機能を使うことによって、余計な処理を相手側で行わずにデータの転送が実現出来る。このネットワークを使うことが出来れば、低負荷でデータの転送が出来るため、高価でハイスペックなサーバシステムを導入することなく、低コストなサーバにより高い転送能力を持つサーバシステムを構築することが出来、サーバと内部結合ネットワークのコストを削減することが出来る。
【0025】
分散型マルチメディアサーバシステム10が、例えばバッファサーバ21(BS1)が端末11から蓄積要求を受信した場合は、BS1は端末11から配信用ネットワーク61を介して受信したマルチメディア情報を例えば1フレーム毎に分割し、分割マルチメディア情報をクラスタ間接続ネットワーク51を介して遠隔ダイレクトメモリアクセス機能によりディスクサーバ31、32、33、…(DS1〜DSN)に循環的に転送する。すなわち、フレーム#1をDS1に転送し、フレーム#2をDS2に転送し、フレーム#3をDS3に転送し、…、DSNにフレーム#Nを転送し、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、…が蓄積される。
【0026】
分散型マルチメディアサーバシステム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からフレーム#1を読み込みこれをBS1に転送し、これを繰り返す。
【0027】
この蓄積、再生の動作は非特許文献1、2に示す従来技術でも同様であるが、従来技術では、分散型マルチメディアサーバシステム10全体でディスクサーバの個数Nを管理し、全てのマルチメディア情報を管理しているN個のディスクサーバで分割して保存しているため、ディスクサーバを増設するとなると、全マルチメディア情報を再配分する必要が生じ、簡単にディスクサーバの増設ができなかった。
【0028】
これに対して、本実施例の分散型マルチメディアサーバシステム10では、各バッファサーバ21、22、23、…(BS1〜BSN)毎に使用するディスクサーバの個数と順番を管理する。その上で、ディスクサーバ起動時に各ディスクサーバに対してコネクションを設定する際に、各ディスクサーバに対して、そのバッファサーバが使用するディスクサーバの個数と何番目のディスクサーバであるのかを通知する。これにより、本実施例の分散型マルチメディアサーバシステム10では、ディスクサーバの増設が簡単に実現できる。また、各マルチメディア情報に対する使用ディスクサーバ数を、固定管理する必要なく、ディスクサーバの増設が実現できる。
【0029】
図2、図3は、本実施例の分散型マルチメディアサーバシステム10がディスクサーバの増設に柔軟に対応できることを説明するための図である。図2はディスクサーバの増設前であり、図3はディスクサーバの増設後である。
【0030】
ディスクサーバ増設前の図2では、分散型マルチメディアサーバシステム10は、バッファサーバ21(BS1)と、ディスクサーバ31(DS1)とこれに接続されたディスク42と、ディスクサーバ32(DS2)とこれに接続されたディスク42と、を有している。なお、図2の分散型マルチメディアサーバシステム10は、1個のバッファサーバと2個のディスクサーバを有しているが、より多くのバッファサーバ、ディスクサーバを有してもよい。
【0031】
図2において、BS1は、端末からのマルチメディア情報C1の蓄積要求を受けて、マルチメディア情報C1を1フレームずつDS1、DS2に循環的に(図2ではディスクサーバが2個であるから交互に)転送し、DS1、DS2は転送されたマルチメディア情報をそれぞれディスク41、42に蓄積する。その結果、ディスク41にはマルチメディア情報C1のフレーム#1、#3、…が蓄積され、ディスク42にはマルチメディア情報C1のフレーム#2、#4が蓄積される。
【0032】
BS1が、端末からマルチメディア情報C1の再生要求を受けると、マルチメディア情報C1を1フレームずつDS1、DS2から循環的に(図2ではディスクサーバが2個であるから交互に)転送を受け、マルチメディア情報C1を端末に配信する。
【0033】
ディスクサーバ増設後の図3では、分散型マルチメディアサーバシステム10には、ディスクサーバ33(DS3)とこれに接続されたディスク43が増設されている。また、本実施例では、ディスクサーバの増設と共に、バッファサーバも増設する。22は増設されたバッファサーバ(BS2)である。図3では、ディスクサーバを1個増設し、バッファサーバを1個増設しているが、それぞれ何個増設してもよい。
【0034】
図3において、BS1は、端末からのマルチメディア情報C2の蓄積要求を受けて、マルチメディア情報C2を1フレームずつDS1、DS2、DS3に循環的に転送し、DS1、DS2、DS3は転送されたマルチメディア情報をそれぞれディスク41、42、43に蓄積する。その結果、ディスク41にはマルチメディア情報C2のフレーム#1、#4、…が蓄積され、ディスク42にはマルチメディア情報C2のフレーム#2、#5、…が蓄積され、ディスク43にはマルチメディア情報C2のフレーム#3、#6、…が蓄積される。
【0035】
BS2が、端末からマルチメディア情報C2の再生要求を受けると、マルチメディア情報C2を1フレームずつDS1、DS2、DS3から循環的に転送を受け、マルチメディア情報C2を端末に配信する。
【0036】
前述のように、本実施例の分散型マルチメディアサーバシステム10では、ディスクサーバ起動時に、各ディスクサーバに対して、そのバッファサーバが使用するディスクサーバの個数と何番目のディスクサーバであるのかを通知する。この部分のシーケンスを図4に示す。
【0037】
図4(A)は図2の場合すなわち増設前の初期化のシーケンス図である。BS1は起動すると、DS1に対して初期化要求(1/2)を送信する(段階101)。ここで、初期化要求(a/b)はbがディスクサーバの個数を意味し、aが何番目のディスクサーバであるのかを意味している。すなわち、BS1は、段階101の初期化要求により、DS1に対して、DS1は個数2個のディスクサーバのうち1番目のディスクサーバであることを通知する。DS1はOKを応答する(段階102)。BS1はDS2に対して初期化要求(2/2)を送信する(段階103)。すなわち、BS1は、段階103の初期化要求により、DS2に対して、DS2は個数2個のディスクサーバのうち2番目のディスクサーバであることを通知する。DS2はOKを応答する(段階104)。
【0038】
BS1はディスクサーバの個数が2個であり、DS1が1番目であり、DS2が2番目であることを管理する。DS1はディスクサーバの個数が2個であり、自分が1番目であることを記憶しておく。DS2はディスクサーバの個数が2個であり、自分が2番目であることを記憶しておく。
【0039】
以上の初期化の後、BS1は、DS1、DS2、DS1、DS2…の順で、すなわち個数2個のDS1〜DS2に対して循環的にマルチメディア情報の蓄積、再生を行う。
【0040】
図4(B)は図3の場合すなわち増設後の初期化のシーケンス図である。BS2は起動すると、DS1に対して初期化要求(1/3)を送信する(段階201)。すなわち、BS2は、段階201の初期化要求において、DS1に対して、DS1は個数3個のディスクサーバのうち1番目のディスクサーバであることを通知する。DS1はOKを応答する(段階202)。BS2はDS2に対して初期化要求(2/3)を送信する(段階203)。すなわち、BS1は、段階203の初期化要求より、DS2に対して、DS2は個数3個のディスクサーバのうち2番目のディスクサーバであることを通知する。DS2はOKを応答する(段階204)。BS2はDS3に対して初期化要求(3/3)を送信する(段階205)。すなわち、BS2は、段階205の初期化要求より、DS3に対して、DS3は個数3個のディスクサーバのうち3番目のディスクサーバであることを通知する。DS3はOK応答する(段階206)。
【0041】
BS1はディスクサーバの個数が3個であり、DS1が1番目であり、DS2が2番目であり、DS3が3番目であることを管理する。また、DS1は個数が3個であり、自分が1番目であることを記憶しておく。DS2は個数が3個であり、自分が2番目であることを記憶しておく。DS3は個数が3個であり、自分が3番目であることを記憶しておく。
【0042】
以上の初期化の後、BS2は、DS1、DS2、DS3、DS1、DS2、DS3、…の順番で、すなわち個数3個のDS1〜DS3に対して循環的にマルチメディア情報の蓄積、再生を行う。一方、BS1は、増設前と同様に、DS1、DS2、DS1、DS2、…の順で、すなわち個数2個のDS1〜DS2に対して循環的にマルチメディア情報の蓄積、再生を行う。
【0043】
次に、分散型マルチメディアサーバシステム10の蓄積、再生シーケンスについて説明する。
【0044】
図5は、図2に示す増設前のBS1による初期化および蓄積シーケンスを示す図である。段階101〜104の初期化シーケンスは図4(A)と同じである。バッファサーバBS1は、ディスクサーバの個数2個と、DS1が1番目でありDS2が2番目であるという順番を管理する。
【0045】
まず、ユーザが端末を使って、マルチメディア情報C1蓄積要求をBS1に対して送信する(段階105)。それを受け取ったBS1は、分割マルチメディア情報蓄積要求をDS1に対して送信する(段階106)。この要求を受け取ったDS1は、BS1から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階107)。その応答を受信したBS1は、マルチメディア情報C1を受信し、分割するとともに(段階108)、分割したマルチメディア情報C1のフレーム#1を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS1内のバッファに転送する(段階109)。DS1は、転送されたマルチメディア情報C1のフレーム#1をディスク41に蓄積する(段階110)。
【0046】
BS1は、分割マルチメディア情報蓄積要求をDS2に対して送信する(段階111)。この要求を受け取ったDS2は、BS1から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階112)。その応答を受信したBS1は、マルチメディア情報C1を受信し、分割するとともに(段階113)、分割したマルチメディア情報C1のフレーム#2を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS2内のバッファに転送する(段階114)。DS2は、転送されたマルチメディア情報C1のフレーム#2をディスク42に蓄積する(段階115)。
【0047】
BS1は、分割マルチメディア情報蓄積要求をDS1に対して送信し(段階116)、段階106〜115を繰り返し実行する。
【0048】
このように、バッファサーバBS1は自身が管理している個数2個のバッファサーバBS1、BS2に対して循環的に(この場合は個数が2個であるから交互に)、マルチメディア情報C1を1フレーム毎転送し、バッファサーバBS1、BS2は転送されたマルチメディア情報C1を1フレーム毎ディスクに記憶する。それにより、ディスク41にはマルチメディア情報C1のフレーム#1、#3、…が蓄積され、ディスク42にはマルチメディア情報C1のフレーム#2、#4、…が蓄積される。
【0049】
図6は、図3に示す増設後のBS2による初期化および蓄積シーケンスを示す図である。段階201〜206の初期化シーケンスは図4(B)と同じである。バッファサーバBS2は、ディスクサーバの個数3個と、DS1が1番目でありDS2が2番目でありDS3が3番目であるという順番を管理する。
【0050】
まず、ユーザが端末を使って、マルチメディア情報C2蓄積要求をBS2に対して送信する(段階207)。それを受け取ったBS2は、分割マルチメディア情報蓄積要求をDS1に対して送信する(段階208)。この要求を受け取ったDS1は、BS2から分割マルチメディア情報を受け取るため自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階209)。その応答を受信したBS2は、マルチメディア情報C2を受信し、分割するとともに(段階210)、分割したマルチメディア情報C2のフレーム#1を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS1内のバッファに転送する(段階211)。DS1は、転送されたマルチメディア情報C2のフレーム#1をディスク41に蓄積する(段階212)。
【0051】
BS2は、分割マルチメディア情報蓄積要求をDS2に対して送信する(段階213)。この要求を受け取ったDS2は、BS2から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階214)。その応答を受信したBS2は、マルチメディア情報C2を受信し、分割するとともに(段階215)、分割したマルチメディア情報C2のフレーム#2を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS2内のバッファに転送する(段階216)。DS2は、転送されたマルチメディア情報C2のフレーム#2をディスク42に蓄積する(段階217)。
【0052】
BS2は、分割マルチメディア情報蓄積要求をDS3に対して送信する(段階218)。この要求を受け取ったDS3は、BS2から分割マルチメディア情報を受け取るための自モジュール内のバッファメモリに関する情報(メモリ情報)を応答として返す(段階219)。その応答を受信したBS2は、マルチメディア情報C2を受信し、分割するとともに(段階220)、分割したマルチメディア情報C2のフレーム#3を遠隔ダイレクトメモリアクセス機能を使って、分割マルチメディア情報蓄積要求に対する応答中に含まれているメモリ情報を元に、DS3内のバッファに転送する(段階221)。DS3は、転送されたマルチメディア情報C2のフレーム#3をディスク43に蓄積する(段階222
)。
【0053】
BS2は、分割マルチメディア情報蓄積要求をDS1に対して送信し(段階223)、段階208〜222を繰り返し実行する。
【0054】
このように、バッファサーバBS2は自身が管理している個数3個のディスクサーバDS1、DS2、DS3に対して、管理している順番で循環的に、マルチメディア情報C2を1フレーム毎転送し、ディスクサーバDS1、DS2、DS3は転送されたマルチメディア情報C2を1フレーム毎ディスクに記憶する。それにより、ディスク41には、マルチメディア情報C2のフレーム#1、#4、…が蓄積され、ディスク42にはマルチメディア情報C2のフレーム#2、5、…が蓄積され、ディスク43にはマルチメディア情報C2のフレーム#3、#6、…が蓄積される。
【0055】
図7は、図3に示す増設後のBS1による再生シーケンスを示す図である。まず、ユーザが端末から視聴したいマルチメディア情報C1を要求するためにBS1に対してマルチメディア情報C1再生要求を送信する(段階231)と、その要求を受信したBS1は、要求されたマルチメディア情報C1の先頭(フレーム#1)が格納されているディスク41が接続されているDSに対して、分割マルチメディア情報再生要求を送信する(段階232)。その要求を受けたDS1は、ディスク41から該当する分割マルチメディア情報をDS1内のバッファメモリ中に読み込み(段階233)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階234)。この情報を元に、BS1は、マルチメディア情報C1のフレーム#1を、遠隔ダイレクトメモリアクセス機能を使用することによってDS1内から読み出し(段階235)、マルチメディア情報C1再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階236)。送信先は、最初の要求を発した端末でももちろん構わない。
【0056】
BS1は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム#2)が格納されているディスク42が接続されているDS2に対して送信する(段階237)。その要求を受けたDS2は、ディスク42から該当する分割マルチメディア情報をDS2内のバッファメモリ中に読み込み(段階238)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階239)。この情報を元に、BS1は、マルチメディア情報C1のフレーム#2を、遠隔ダイレクトメモリアクセス機能を使用することによってDS2内から読み出し(段階240)、マルチメディア情報C1再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階241)。
【0057】
BS1は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム3)が格納されているディスク41が接続されているDS1に対して送信する(段階242)。以降、段階232〜240と同じ処理を繰り返す。
【0058】
このように、DS3が増設された後であっても、バッファサーバBS1は自身が管理している個数2個のディスクサーバDS1、DS2から循環的に(この場合は個数が2個であるから交互に)、マルチメディア情報C1を1フレーム毎転送を受け、端末に配信する。また、シーケンス図は示さないが、バッファサーバBS1は、DS3が増設された後にマルチメディア情報蓄積要求を受けた場合も、自身が管理している個数2個のディスクサーバDS1、DS2に対して循環的にマルチメディア情報を転送する。
【0059】
図8は、図3に示す増設後のBS2による再生シーケンスを示す図である。まず、ユーザが端末から視聴したいマルチメディア情報C2を要求するためにBS2に対してマルチメディア情報C2再生要求を送信する(段階251)と、その要求を受信したBS2は、要求されたマルチメディア情報C2の先頭(フレーム#1)が格納されているディスク41が接続されているDS1に対して、分割マルチメディア情報再生要求を送信する(段階252)。その要求を受けたDS1は、ディスク41から該当する分割マルチメディア情報をDS1内のバッファメモリ中に読み込み(段階253)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階254)。この情報を元に、BS2は、マルチメディア情報C2のフレーム#1を、遠隔ダイレクトメモリアクセス機能を使用することによってDS1内から読み出し(段階254)、マルチメディア情報C2再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階255)。送信先は、最初の要求を発した端末でももちろん構わない。
【0060】
BS2は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム#2)が格納されているディスク42が接続されているDS2に対して送信する(段階256)。その要求を受けたDS2は、ディスク42から該当する分割マルチメディア情報をDS2内のバッファメモリ中に読み込み(段階257)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階258)。この情報を元に、BS2は、マルチメディア情報C2のフレーム#2を、遠隔ダイレクトメモリアクセス機能を使用することによってDS2内から読み出し(段階259)、マルチメディア情報C2再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階260)。
【0061】
BS2は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム#3)が格納されているディスク43が接続されているDS3に対して送信する(段階261)。その要求を受けたDS3は、ディスク43から該当する分割マルチメディア情報をDS3内のバッファメモリ中に読み込み(段階262)、そのバッファメモリのアドレスやメモリ中のデータのサイズなどこのバッファメモリに関する情報(メモリ情報)を応答として返す(段階263)。この情報を元に、BS2は、マルチメディア情報C2のフレーム#3を、遠隔ダイレクトメモリアクセス機能を使用することによってDS3内から読み出し(段階264)、マルチメディア情報C2再生要求により指定された端末へ配信用ネットワーク61を使用して送信する(段階265)。
【0062】
BS2は、次の分割マルチメディア情報を読み出すための分割マルチメディア情報再生要求を次の分割マルチメディア情報(フレーム#4)が格納されているディスク41が接続されているDS1に対して送信する(段階266)。以降、段階252〜264と同じ処理を繰り返す。
【0063】
このように、バッファサーバBS2は自身が管理している個数3個のディスクサーバDS1、DS2、DS3から循環的に、マルチメディア情報C2を1フレーム毎転送を受け、端末に配信する。
【0064】
以上説明した本実施例の分散型マルチメディアサーバシステム10においては、端末がマルチメディア情報の再生を行うときには、マルチメディア情報再生要求をそのマルチメディア情報の蓄積を行ったバッファサーバに対して送信する必要がある。
【0065】
また、各ディスクサーバが管理するバッファサーバの個数は、その時点において分散型マルチメディアサーバシステム10が有する全てのバッファサーバの個数であっても、それ以下であってもよい。また、順番もどのような順番でもよい。図3において、本実施例では、BS2は、その時点で利用可能な全てのディスクサーバDS1、DS2、DS3の個数3個とDS1、DS2、DS3の順番を管理しているが、例えば、DS2が、使用するディスクサーバの個数を2個とし、1番目がDS3であり、2番目がDS1とし、その個数2個とDS3、DS1の順番を管理してもよい。この場合は、ディスク43にC2−#1、C2−#2、…が蓄積され、ディスク41にC2−#2、C2−#4、…が蓄積されることになる。
【実施例2】
【0066】
図9に第2の実施例を示す。分散型マルチメディアサーバシステム10は、第1の実施例の説明で用いた図1の装置に、第3のサーバであるインデクスサーバ71(第3のサーバ)を加えた構成をとる。このインデクスサーバは、蓄積されたマルチメディア情報のメタデータ(IDやマルチメディア情報の時間的な長さ、撮影日などの情報)とともに、マルチメディア情報が格納されているディスクが接続されているディスクサーバと、その格納順序を示す情報が保存されているサーバである。それ以外の分散型マルチメディアサーバシステム10を構成する装置は、実施例1に示す通りである。ただし、本実施例では、各バッファサーバ21、22、23、…では、実施例1のようなディスクサーバの個数と順番の管理を行わずに、以下に示す方式を用いる。
【0067】
図10に、本実施例を用いて、マルチメディア情報を端末から図2の構成の分散型マルチメディアサーバへ蓄積する場合のシーケンス例を示す。図5に示したシーケンスと同様にバッファサーバ1台と、ディスクサーバ2台のシステム構成による例である。
【0068】
まず、システム起動時に初期化処理を行う。この際、バッファサーバBS1は、インデクスサーバIS1に対して、現時点でのディスクサーバの台数、および、蓄積順序の問い合わせを、サーバ構成要求として実行する(段階151)。次に、実施例1と同様に初期化処理を実行する。実施例1とは異なり、この初期化処理により、蓄積時の順序のみが設定される。なお、本実施例では、インデクスサーバからディスクサーバの台数や順序を取得したが、バッファサーバおよびディスクサーバ内の初期設定ファイルにその情報を予め設定しておくことも可能である。この場合は、段階151は省略することは可能である。
【0069】
ユーザからのマルチメディア情報C1の蓄積要求をバッファサーバBS1が受信する(段階105)と、インデクスサーバIS1に対してメタデータをメタデータ蓄積要求として送信する(段階152)。このメタデータとして端末から蓄積要求と一緒に送られてくるものや映像中に含まれているものを利用することが可能である。この要求を受信したインデクスサーバIS1は、このメタデータとともに、使用するディスクサーバとその順序、台数を一緒に保存する。図11に保存した情報のイメージを示す。なお、この図は、一例であり、保存方法に関する制限は本実施例にはない。メタデータの蓄積が完了した後、実施例1と同様に蓄積が実行される。本実施例では、バッファサーバが端末からの要求を受信したが、インデクスサーバが先に受信し、メタデータとディスクサーバとその台数や順序を保存した後、バッファサーバへその要求を転送することももちろん可能である。
【0070】
以上が、蓄積時の処理である。図2から図3のようにディスクサーバを増設し、マルチメディア情報C2を蓄積した場合も同じ処理で蓄積することが可能である。この場合、インデクスサーバへ保存された情報は図12のようになる。
【0071】
次に、図3の構成の分散型マルチメディアサーバに対して、端末からマルチメディア情報C1に対する再生要求が行われた場合の処理の例を図13に示す。
【0072】
まず、端末からの再生要求を受信したバッファサーバBS1は、インデクスサーバに対して、蓄積に使用したディスクサーバとその順序に関する情報を、ディスクサーバ情報要求メッセージを送信することにより要求する(段階271)。その要求を受信したインデクスサーバIS1は、マルチメディア情報C1を蓄積したときに使用したディスクサーバとその順序に関する情報をディスクサーバ情報応答としてバッファサーバBS1に送信する(段階272)。この情報を元にバッファサーバBS1はディスクサーバDS1およびDS2に対して、分割マルチメディア情報再生要求をそれぞれ送信し、以降の処理は、実施例1で記述した通りである。
【0073】
蓄積時と同様にインデクスサーバIS1に対してバッファサーバBS1からディスクサーバ情報を要求しているが、端末がバッファサーバではなくインデクスサーバにマルチメディア情報再生要求を送信し、その要求にディスクサーバ情報を付加してバッファサーバに転送することも可能である。
【0074】
本実施例では、実施例1と比べてインデクスサーバが1台増えるものの、ディスクサーバ増設時にバッファサーバを増やす必要がなく、サーバの構成を柔軟に変更することができる。さらに、実施例1では、例えば、マルチメディア情報C2への再生要求が大量に発生した場合、バッファサーバBS1の負荷は上がらずに、BS2の負荷のみが増大し、システム全体では余力はあっても要求を受け付けることができなくなる。実施例2では、バッファサーバとマルチメディア情報とを結びつけないため、特定のマルチメディア情報に対する要求による、特定のバッファサーバの負荷の偏りを防止することができる。
【0075】
遠隔ダイレクトメモリアクセス機能を用いて、インデクスサーバに保存されている情報を、複数のインデクスサーバで共有することが可能である。この方法を用いれば、インデクスサーバを複数設置し、システムの規模が大きくなった場合の負荷の増大にも対応することができる。
【0076】
以上説明した各サーバは、それぞれの機能、動作、段階を実現するための手段を有しており、それらの手段はコンピュータとプログラムによって構成することができ、そのプログラムは記憶媒体に記憶することができる。また、プログラムを用いる代わりに、その一部または全部をハードウェアで構成することもできる。
【0077】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【0078】
【図1】本発明の実施例の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。
【図2】本実施例がディスクサーバの増設に柔軟に対応できることを説明するための図(増設前)である。
【図3】本実施例がディスクサーバの増設に柔軟に対応できることを説明するための図(増設後)である。
【図4】初期化のシーケンス図である。
【図5】増設前のBS1による初期化および蓄積シーケンスを示す図である。
【図6】増設後のBS2による初期化および蓄積シーケンスを示す図である。
【図7】増設後のBS1による再生シーケンスを示す図である。
【図8】増設後のBS2による再生シーケンスを示す図である。
【図9】本発明の第2の実施例の分散型マルチメディアサーバシステムを有する全体のシステムを示す図である。
【図10】第2の実施例の初期化および蓄積シーケンスを示す図である。
【図11】インデクスサーバ内に保存されている情報を示す図である。
【図12】ディスクサーバ増設後のインデクスサーバ内に保存されている情報を示す図である。
【図13】第2の実施例の再生シーケンスを示す図である。
【符号の説明】
【0079】
10…分散型マルチメディアサーバシステム、11、12…端末、21,22,23…バッファサーバ、31,32,33…ディスクサーバ、41,42,43…ディスク、51…クラスタ間接続ネットワーク、52…ローカルエリアネットワーク、61…配信用ネットワーク、71…インデクスサーバ
【特許請求の範囲】
【請求項1】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
各第1のサーバは、それぞれ、使用する第2のサーバの個数と順番を管理し、
各第1のサーバは、端末から受信したマルチメディア情報を、当該第1のサーバが管理する個数の第2のサーバに対して、当該第1のサーバが管理する順番で、循環的に転送し、
第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項2】
請求項1に記載の分散型マルチメディアサーバシステムであって、
各第1のサーバは、当該第1のサーバが管理する個数の第2のサーバから、当該第1のサーバが管理する順番で、循環的にマルチメディア情報の転送を受け、端末に配信し、
第2のサーバは、記憶装置に蓄積されたマルチメディア情報を読み込み、第1のサーバに転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項3】
請求項1または2に記載の分散型マルチメディアサーバシステムであって、
第1のサーバの増設時に、増設された第1のサーバがその時点における第2のサーバの個数と順番を管理することを特徴とする分散型マルチメディアサーバシステム。
【請求項4】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバと第3のサーバを有し、
第3のサーバは、第2のサーバの個数と順番を管理し、
第1のサーバは、端末から受信したマルチメディア情報を、第3のサーバが管理する個数の第2のサーバに対して、第3のサーバが管理する順番で、循環的に転送し、
第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積し、
第3のサーバは、蓄積したマルチメディア情報に関するメタデータとともに、このマルチメディア情報を蓄積した記憶装置を持つ第2のサーバに関する情報とその順番を記録する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項5】
請求項4に記載の分散型マルチメディアサーバシステムであって、
端末へのマルチメディア情報の配信を実行する前に、第3のサーバから、リクエストされたマルチメディア情報が格納されている第2のサーバの情報と、その順番を獲得し、
第1のサーバは、第3のサーバが記憶していた第2のサーバに関する情報とその順番に基づき、第2のサーバから、循環的にマルチメディア情報の転送を受け、端末に配信し、
第2のサーバは、記憶装置に蓄積されたマルチメディア情報を読み込み、第1のサーバに転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項6】
請求項1ないし5のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバと第2のサーバを接続する前記ネットワークまたはバスシステムは遠隔ダイレクトメモリアクセス機能を有し、
第1のサーバと第2のサーバ間のマルチメディア情報の転送は、前記ネットワークまたはバスシステムによる遠隔ダイレクトメモリアクセス機能により行われる、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項7】
請求項1ないし6のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバと第2のサーバ間のマルチメディア情報の転送は、分割したマルチメディア情報である分割マルチメディア情報単位で行われ、
第2のサーバは、分割マルチメディア情報単位で前記記憶装置に蓄積する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項8】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積・配信方法であって、
前記分散型マルチメディアサーバシステムは、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
各第1のサーバは、それぞれ、使用する第2のサーバの個数と順番を管理し、
各第1のサーバは、端末から受信したマルチメディア情報を、当該第1のサーバが管理する個数の第2のサーバに対して、当該第1のサーバが管理する順番で、循環的に転送し、
第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とするマルチメディア情報蓄積・配信方法。
【請求項9】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積・配信方法であって、
前記分散型マルチメディアサーバシステムは、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバと第3のサーバを有し、
第3のサーバは、第2のサーバの個数と順番を管理し、
第1のサーバは、端末から受信したマルチメディア情報を、第3のサーバが管理する個数の第2のサーバに対して、第3のサーバが管理する順番で、循環的に転送し、
第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積し、
第3のサーバは、蓄積したマルチメディア情報に関するメタデータとともに、このマルチメディア情報を蓄積した記憶装置を持つ第2のサーバに関する情報とその順番を記録する、
ことを特徴とするマルチメディア情報蓄積・配信方法。
【請求項1】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
各第1のサーバは、それぞれ、使用する第2のサーバの個数と順番を管理し、
各第1のサーバは、端末から受信したマルチメディア情報を、当該第1のサーバが管理する個数の第2のサーバに対して、当該第1のサーバが管理する順番で、循環的に転送し、
第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項2】
請求項1に記載の分散型マルチメディアサーバシステムであって、
各第1のサーバは、当該第1のサーバが管理する個数の第2のサーバから、当該第1のサーバが管理する順番で、循環的にマルチメディア情報の転送を受け、端末に配信し、
第2のサーバは、記憶装置に蓄積されたマルチメディア情報を読み込み、第1のサーバに転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項3】
請求項1または2に記載の分散型マルチメディアサーバシステムであって、
第1のサーバの増設時に、増設された第1のサーバがその時点における第2のサーバの個数と順番を管理することを特徴とする分散型マルチメディアサーバシステム。
【請求項4】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムであって、
ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバと第3のサーバを有し、
第3のサーバは、第2のサーバの個数と順番を管理し、
第1のサーバは、端末から受信したマルチメディア情報を、第3のサーバが管理する個数の第2のサーバに対して、第3のサーバが管理する順番で、循環的に転送し、
第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積し、
第3のサーバは、蓄積したマルチメディア情報に関するメタデータとともに、このマルチメディア情報を蓄積した記憶装置を持つ第2のサーバに関する情報とその順番を記録する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項5】
請求項4に記載の分散型マルチメディアサーバシステムであって、
端末へのマルチメディア情報の配信を実行する前に、第3のサーバから、リクエストされたマルチメディア情報が格納されている第2のサーバの情報と、その順番を獲得し、
第1のサーバは、第3のサーバが記憶していた第2のサーバに関する情報とその順番に基づき、第2のサーバから、循環的にマルチメディア情報の転送を受け、端末に配信し、
第2のサーバは、記憶装置に蓄積されたマルチメディア情報を読み込み、第1のサーバに転送する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項6】
請求項1ないし5のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバと第2のサーバを接続する前記ネットワークまたはバスシステムは遠隔ダイレクトメモリアクセス機能を有し、
第1のサーバと第2のサーバ間のマルチメディア情報の転送は、前記ネットワークまたはバスシステムによる遠隔ダイレクトメモリアクセス機能により行われる、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項7】
請求項1ないし6のうちいずれか1項に記載の分散型マルチメディアサーバシステムであって、
第1のサーバと第2のサーバ間のマルチメディア情報の転送は、分割したマルチメディア情報である分割マルチメディア情報単位で行われ、
第2のサーバは、分割マルチメディア情報単位で前記記憶装置に蓄積する、
ことを特徴とする分散型マルチメディアサーバシステム。
【請求項8】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積・配信方法であって、
前記分散型マルチメディアサーバシステムは、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバを有し、
各第1のサーバは、それぞれ、使用する第2のサーバの個数と順番を管理し、
各第1のサーバは、端末から受信したマルチメディア情報を、当該第1のサーバが管理する個数の第2のサーバに対して、当該第1のサーバが管理する順番で、循環的に転送し、
第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積する、
ことを特徴とするマルチメディア情報蓄積・配信方法。
【請求項9】
マルチメディア情報を蓄積し、端末からの再生要求に応じて、要求されたマルチメディア情報を配信する分散型マルチメディアサーバシステムにおけるマルチメディア情報蓄積・配信方法であって、
前記分散型マルチメディアサーバシステムは、ネットワークまたはバスシステムによって互いに接続された第1のサーバと第2のサーバと第3のサーバを有し、
第3のサーバは、第2のサーバの個数と順番を管理し、
第1のサーバは、端末から受信したマルチメディア情報を、第3のサーバが管理する個数の第2のサーバに対して、第3のサーバが管理する順番で、循環的に転送し、
第2のサーバは、第1のサーバから転送されたマルチメディア情報を記憶装置に蓄積し、
第3のサーバは、蓄積したマルチメディア情報に関するメタデータとともに、このマルチメディア情報を蓄積した記憶装置を持つ第2のサーバに関する情報とその順番を記録する、
ことを特徴とするマルチメディア情報蓄積・配信方法。
【図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−293307(P2008−293307A)
【公開日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2007−138631(P2007−138631)
【出願日】平成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 ]