(57)【要約】【課題】１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を送受信することを課題とする。【解決手段】マルチメディアデータの送信側サーバでは、１番組を構成するマルチメディア情報をサーバ内の複数の通信サーバモジュールを同時に使用して並列に送出する。一方、受信側のサーバでも、送信側サーバの通信サーバモジュールから送信されてきた１番組を構成するマルチメディアデータを、サーバ内の複数の通信サーバモジュールを同時に使用して並列に受信するとともに、蓄積装置への蓄積を行う。【選択図】        図１
2008278198.tif 000002
【特許請求の範囲】
【請求項１】
１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置において、マルチメディアデータの送受信および蓄積を制御するマルチメディア情報転送蓄積方法であって、
通信速度要求値とともにマルチメディアデータ転送要求を受け付けて、前記分散型マルチメディアサーバ間で１番組のマルチメディアデータがいくつかに分割された各セグメントの転送を行う場合に、送信側として機能する分散型マルチメディアサーバが、各蓄積サーバモジュールにより各蓄積装置に分散格納された各セグメントを送信するために使用する通信サーバモジュールの台数を、データ転送要求とともに受け付けた通信速度要求値に応じて仮設定し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在する場合には、当該仮設定された台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在しない場合には、使用可能な範囲内で最大の台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信する送信工程と、
受信側として機能する分散型マルチメディアサーバが、送信側として機能する分散型マルチメディアサーバにおいて前記各セグメントを送信するために用いられた通信サーバモジュールと同じ台数の通信サーバモジュールを使用して当該各セグメントを受信する受信工程と、
受信側として機能する分散型マルチメディアサーバが、前記受信工程により各セグメントを受信する際に使用した通信サーバモジュールの台数以上の台数の蓄積サーバモジュールにより、受信した各セグメントを各蓄積装置に分散格納する格納工程と、
を含んだことを特徴とするマルチメディア情報転送蓄積方法。
【請求項２】
前記送信側として機能する分散型マルチメディアサーバにおいて、前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみから、送信対象となるセグメントの読み出しを行う工程をさらに含んだことを特徴とする請求項１に記載のマルチメディア情報転送蓄積方法。
【請求項３】
前記受信側として機能する分散型マルチメディアサーバにおいて、前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみに、受信したセグメントの書き込みを行う工程をさらに含んだことを特徴とする請求項１に記載のマルチメディア情報転送蓄積方法。
【請求項４】
前記送信側として機能する分散型マルチメディアサーバにおいて、前記各セグメントを送信する通信サーバモジュールが、前記受信側として機能する分散型マルチメディアサーバの通信サーバモジュールを当該セグメントごとに変更する工程をさらに含んだことを特徴とする請求項１または２に記載のマルチメディア情報転送蓄積方法。
【請求項５】
１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置であって、
通信速度要求値とともにマルチメディアデータ転送要求を受け付けて、他の分散型マルチメディアサーバに対して、１番組のマルチメディアデータがいくつかに分割された各セグメントを転送する場合に、各蓄積サーバモジュールにより各蓄積装置に分散格納された各セグメントを送信するために使用する通信サーバモジュールの台数を、データ転送要求とともに受け付けた通信速度要求値に応じて仮設定し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在する場合には、当該仮設定された台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在しない場合には、使用可能な範囲内で最大の台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信する送信手段を備えたことを特徴とする分散型マルチメディアサーバ装置。
【請求項６】
１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置であって、
他の分散型マルチメディアサーバから１番組のマルチメディアデータがいくつかに分割された各セグメントを受信する場合に、当該他の分散型マルチメディアサーバにおいて各セグメントを送信するために用いられた通信サーバモジュールと同じ台数の通信サーバモジュールを使用して各セグメントを受信する受信手段と、
前記受信手段により各セグメントを受信する際に使用した通信サーバモジュールの台数以上の台数の蓄積サーバモジュールにより、受信した各セグメントを各蓄積装置に分散格納する格納手段と、
を備えたことを特徴とする分散型マルチメディアサーバ装置。
【請求項７】
前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみから、送信対象となるセグメントの読み出しを行う手段をさらに備えたことを特徴とする請求項５に記載の分散型マルチメディアサーバ装置。
【請求項８】
前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみに、受信したセグメントの書き込みを行う手段をさらに備えたことを特徴とする請求項６に記載の分散型マルチメディアサーバ装置。
【請求項９】
前記各セグメントを送信する通信サーバモジュールが、受信側として機能する他の分散型マルチメディアサーバ装置の通信サーバモジュールを当該セグメントごとに変更する手段をさらに備えたことを特徴とする請求項５または７に記載の分散型マルチメディアサーバ装置。
【請求項１０】
１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置間において、当該１番組のマルチメディアデータがいくつかに分割された各セグメントの転送を行う分散型マルチメディアサーバシステムであって、
送信側として機能する前記分散型マルチメディアサーバ装置は、
通信速度要求値とともにマルチメディアデータ転送要求を受け付けた場合に、各蓄積サーバモジュールにより各蓄積装置に分散格納された各セグメントを送信するために使用する通信サーバモジュールの台数を、データ転送要求とともに受け付けた通信速度要求値に応じて仮設定し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在する場合には、当該仮設定された台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在しない場合には、使用可能な範囲内で最大の台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信する送信手段と、
前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみから、送信対象となるセグメントの読み出しを行う手段と、
前記各セグメントを送信する通信サーバモジュールが、受信側として機能する他の分散型マルチメディアサーバ装置の通信サーバモジュールを当該セグメントごとに変更する手段と、
を備え、
受信側として機能する前記分散型マルチメディアサーバ装置は、
前記送信側の分散型マルチメディアサーバから１番組のマルチメディアデータがいくつかに分割された各セグメントを受信する場合に、当該送信側の分散型マルチメディアサーバにおいて各セグメントを送信するために用いられた通信サーバモジュールと同じ台数の通信サーバモジュールを使用して各セグメントを受信する受信手段と、
前記受信手段により各セグメントを受信する際に使用した通信サーバモジュールの台数以上の台数の蓄積サーバモジュールにより、受信した各セグメントを各蓄積装置に分散格納する格納手段と、
前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみに、受信したセグメントの書き込みを行う手段と、
を備えたことを特徴とする分散型マルチメディアサーバシステム。
【請求項１１】
請求項１、請求項２、請求項３および請求項４に記載のマルチメディア情報転送蓄積方法をコンピュータに実行させることにより実現することを特徴とするプログラム。
【請求項１２】
請求項１、請求項２、請求項３および請求項４に記載のマルチメディア情報転送蓄積方法をコンピュータに実行させることにより実現することを特徴とするプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置において、マルチメディアデータの送受信および蓄積を制御するマルチメディア情報転送蓄積方法、当該方法を実現する機能を有する分散型マルチメディアサーバ装置、当該サーバ装置を含んで構成された分散型マルチメディアシステム、当該マルチメディア情報転送蓄積方法を実現するプログラムおよび当該プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来より、音声や映像などのマルチメディア情報を蓄積および配信することを目的として、複数のハードウェアモジュールをクラスタ状に接続したシステムにおいて、各番組のマルチメディアデータを各番組内でそれぞれ分割して分散蓄積する分散ＲＡＩＤ型マルチメディアサーバ装置というものが存在する。
【０００３】
以下に、従来の分散ＲＡＩＤ型マルチメディアサーバ装置（以下、適宜「分散ＲＡＩＤ型マルチメディアサーバ装置」と記載する）について簡単に説明する。図４５に例示するように、従来の分散ＲＡＩＤ型マルチメディアサーバ装置は、サーバモジュール間ネットワークを介して、複数の通信サーバモジュールと、それぞれが蓄積装置を備えた複数の蓄積サーバモジュールとを接続して構成される。また、同図に示すように、この分散ＲＡＩＤ型マルチメディアサーバ装置は、端末側ネットワークを介して、端末およびマルチメディア情報入力装置と接続される。
【０００４】
ここで、端末は、分散ＲＡＩＤ型マルチメディアサーバ装置にマルチメディア情報の配信要求を発行し、分散ＲＡＩＤ型マルチメディアサーバ装置から配信されてきたマルチメディア情報を再生する。また、マルチメディア情報入力装置は、分散ＲＡＩＤ型マルチメディアサーバ装置にマルチメディア情報の蓄積要求を発行し、分散ＲＡＩＤ型マルチメディアサーバ装置から蓄積許可が下りると、蓄積したいマルチメディア情報を分散ＲＡＩＤ型マルチメディアサーバ装置に送信する機能を持つ。
【０００５】
このような構成を有する分散ＲＡＩＤ型マルチメディアサーバ装置は、以下に説明するようにして１番組のマルチメディア情報を蓄積する。すなわち、マルチメディア情報入力装置は、分散ＲＡＩＤ型マルチメディアサーバ装置に発行したマルチメディア情報の蓄積要求に対する蓄積許可を受信すると、分散ＲＡＩＤ型マルチメディアサーバ装置内の通信サーバモジュールｊ（なお、１≦ｊ≦Ｍ）に、蓄積したいマルチメディア情報の送信を開始する。
【０００６】
マルチメディア情報入力装置からマルチメディア情報を受信した通信サーバモジュールｊは、図４６に示すように、受信したマルチメディア情報を順次固定長のセグメントに分割していく。そして、マルチメディア情報の先頭データからなる最初の「セグメント０」を蓄積サーバモジュール１の蓄積装置１へ蓄積し、「セグメント０」のデータの後続データからなる「セグメント１」を蓄積サーバモジュール２の蓄積装置２へ蓄積するというように、蓄積装置１〜Ｎを巡回しながら各セグメントを分散させて蓄積していく。通信サーバモジュールｊは、番組内のマルチメディア情報の全データの受信を完了するまで上述してきた処理を継続する。
【０００７】
一方、分散ＲＡＩＤ型マルチメディアサーバ装置は、以下に説明するようにして端末にマルチメディア情報を配信する。端末側ネットワークを介して、マルチメディア情報の読出し要求をいずれかの端末から受信すると、分散ＲＡＩＤ型マルチメディアサーバ装置は、通信サーバモジュールのいずれかを使って、端末からの読出し要求に応じたマルチメディア情報を配信する。
【０００８】
例えば、マルチメディア情報の送信元となる通信サーバモジュールｊは、図４７に示すように、読出し要求に応じたマルチメディア情報の先頭データからなるセグメントを格納した蓄積サーバモジュール１に対して、セグメントの読出し要求を送信する。この読出し要求を受信した蓄積サーバモジュール１は、要求されたマルチメディア情報の先頭データからなる「セグメント０」を蓄積装置１から読出し、サーバモジュール間ネットワークを介して通信サーバモジュールｊへ送信する。「セグメント０」を受信した通信サーバモジュールｊは、その「セグメント０」を端末側ネットワークへ転送できる形のマルチメディア情報に変換し、マルチメディア情報の読出し要求の送信元である端末に送信する。続いて、通信サーバモジュールｊは、「セグメント０」と同様に、蓄積サーバモジュール２に対して「セグメント１」の読出し要求を送信し、蓄積サーバモジュール２から受信した「セグメント１」をマルチメディア情報に変換して端末に送信する。通信サーバモジュールｊは、読出し要求に応じたマルチメディア情報の全データを端末に送信完了するまで、上述してきた処理を繰り返す。
【０００９】
上述してきたように、従来の分散型サーバは、自らが備える通信サーバモジュールの中からマルチメディア情報の送受信を担当する通信サーバモジュールを一つ選択して、ある１番組に関するマルチメディア情報の全データの蓄積、または、ある１番組に関するマルチメディア情報の全データの配信を担当させている（例えば、図４８参照）。そして、従来の分散型サーバは、接続される端末やマルチメディア情報入力装置が増加した場合であっても、通信サーバモジュールおよび蓄積サーバモジュールを増設したり、あるいは、通信サーバモジュールおよび蓄積サーバモジュールのいずれか一方を増設したりすることで、増加する処理負荷に対して柔軟に対応することができる。
【００１０】
【特許文献１】特開平１１−１４６０１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、上記した従来の分散ＲＡＩＤ型マルチメディアサーバ装置は、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を外部装置（例えば、端末やマルチメディア情報入力装置）との間で送受信することができないという問題点があった。
【００１２】
すなわち、従来の分散ＲＡＩＤ型マルチメディアサーバ装置は、ある１番組に関するマルチメディア情報については、その全データを１台の通信サーバモジュールに経由させて、端末側ネットワークとの間で送受信している。したがって、ある１番組に関するマルチメディア情報の全データを端末側ネットワークに対して送信できる最大の速度、または、ある１番組に関するマルチメディア情報の全データを蓄積する場合に端末側ネットワークから受信できる最大の速度は、その番組に関するマルチメディア情報の全データの送受信を担当する通信サーバモジュールが、端末側ネットワークを介してデータの送受信を行う際の最大通信速度を越えることができない。換言すれば、従来の分散ＲＡＩＤ型マルチメディアサーバ装置は、通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を外部装置との間で送受信することができないという問題点があった。
【００１３】
しかしながら、従来の分散ＲＡＩＤ型マルチメディアサーバ装置が外部装置との間でマルチメディア情報を送受信する際に要求される通信速度については、その番組の実時間の再生速度が上限というわけではなく、用途や状況によって要求速度に上限がないといっても過言ではない。例えば、地理的に離れた場所にある２つの放送局にそれぞれ設置された２つのサーバ装置間で、番組制作側の局から放送側の局へ番組素材映像やＣＭ（Ｃｏｍｍｅｒｃｉａｌ  Ｍｅｓｓａｇｅ）の素材映像を転送するような場合、転送がいち早く完了されることが望ましいのは明らかである。
【００１４】
このような例を鑑みても、ある１番組のマルチメディア情報を送受信する際の速度についての要求には限りがないが、従来の分散ＲＡＩＤ型マルチメディアサーバ装置では、このような要求に応えるのは困難である。
【００１５】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を送受信することが可能なマルチメディア情報転送蓄積方法、分散型マルチメディアサーバ装置、分散型マルチメディアサーバシステム、マルチメディア情報転送蓄積方法を実現するプログラムおよび当該プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置において、マルチメディアデータの送信および蓄積を制御するマルチメディア情報転送蓄積方法であって、通信速度要求値とともにマルチメディアデータ転送要求を受け付けて、前記分散型マルチメディアサーバ間で１番組のマルチメディアデータがいくつかに分割された各セグメントの転送を行う場合に、送信側として機能する分散型マルチメディアサーバが、各蓄積サーバモジュールにより各蓄積装置に分散格納された各セグメントを送信するために使用する通信サーバモジュールの台数を、データ転送要求とともに受け付けた通信速度要求値に応じて仮設定し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在する場合には、当該仮設定された台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在しない場合には、使用可能な範囲内で最大の台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信する送信工程と、受信側として機能する分散型マルチメディアサーバが、送信側として機能する分散型マルチメディアサーバにおいて前記各セグメントを送信するために用いられた通信サーバモジュールと同じ台数の通信サーバモジュールを使用して当該各セグメントを受信する受信工程と、受信側として機能する分散型マルチメディアサーバが、前記受信工程により各セグメントを受信する際に使用した通信サーバモジュールの台数以上の台数の蓄積サーバモジュールにより、受信した各セグメントを各蓄積装置に分散格納する格納工程と、を含んだことを特徴とする。
【００１７】
また、請求項２に係る発明は、上記の発明において、前記送信側として機能する分散型マルチメディアサーバにおいて、前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみから、送信対象となるセグメントの読み出しを行う工程をさらに含んだことを特徴とする。
【００１８】
また、請求項３に係る発明は、上記の発明において、前記受信側として機能する分散型マルチメディアサーバにおいて、前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみに、受信したセグメントの書き込みを行う工程をさらに含んだことを特徴とする。
【００１９】
また、請求項４に係る発明は、上記の発明において、前記送信側として機能する分散型マルチメディアサーバにおいて、前記各セグメントを送信する通信サーバモジュールが、前記受信側として機能する分散型マルチメディアサーバの通信サーバモジュールを当該セグメントごとに変更する工程をさらに含んだことを特徴とする。
【００２０】
また、請求項５に係る発明は、１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置であって、通信速度要求値とともにマルチメディアデータ転送要求を受け付けて、他の分散型マルチメディアサーバに対して、１番組のマルチメディアデータがいくつかに分割された各セグメントを転送する場合に、各蓄積サーバモジュールにより各蓄積装置に分散格納された各セグメントを送信するために使用する通信サーバモジュールの台数を、データ転送要求とともに受け付けた通信速度要求値に応じて仮設定し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在する場合には、当該仮設定された台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在しない場合には、使用可能な範囲内で最大の台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信する送信手段を備えたことを特徴とする。
【００２１】
また、請求項６に係る発明は、１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置であって、他の分散型マルチメディアサーバから１番組のマルチメディアデータがいくつかに分割された各セグメントを受信する場合に、当該他の分散型マルチメディアサーバにおいて各セグメントを送信するために用いられた通信サーバモジュールと同じ台数の通信サーバモジュールを使用して各セグメントを受信する受信手段と、前記受信手段により各セグメントを受信する際に使用した通信サーバモジュールの台数以上の台数の蓄積サーバモジュールにより、受信した各セグメントを各蓄積装置に分散格納する格納手段と、を備えたことを特徴とする。
【００２２】
また、請求項７に係る発明は、上記の発明において、前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみから、送信対象となるセグメントの読み出しを行う手段をさらに備えたことを特徴とする。
【００２３】
また、請求項８に係る発明は、上記の発明において、前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみに、受信したセグメントの書き込みを行う手段をさらに備えたことを特徴とする。
【００２４】
また、請求項９に係る発明は、上記の発明において、前記各セグメントを送信する通信サーバモジュールが、受信側として機能する他の分散型マルチメディアサーバ装置の通信サーバモジュールを当該セグメントごとに変更する手段をさらに備えたことを特徴とする。
【００２５】
また、請求項１０に係る発明は、１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置間において、当該１番組のマルチメディアデータがいくつかに分割された各セグメントの転送を行う分散型マルチメディアサーバシステムであって、送信側として機能する前記分散型マルチメディアサーバ装置は、通信速度要求値とともにマルチメディアデータ転送要求を受け付けた場合に、各蓄積サーバモジュールにより各蓄積装置に分散格納された各セグメントを送信するために使用する通信サーバモジュールの台数を、データ転送要求とともに受け付けた通信速度要求値に応じて仮設定し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在する場合には、当該仮設定された台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信し、当該仮設定された台数の通信サーバモジュールが使用可能な状態で存在しない場合には、使用可能な範囲内で最大の台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信する送信手段と、前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみから、送信対象となるセグメントの読み出しを行う手段と、前記各セグメントを送信する通信サーバモジュールが、受信側として機能する他の分散型マルチメディアサーバ装置の通信サーバモジュールを当該セグメントごとに変更する手段と、を備え、受信側として機能する前記分散型マルチメディアサーバ装置は、前記送信側の分散型マルチメディアサーバから１番組のマルチメディアデータがいくつかに分割された各セグメントを受信する場合に、当該送信側の分散型マルチメディアサーバにおいて各セグメントを送信するために用いられた通信サーバモジュールと同じ台数の通信サーバモジュールを使用して各セグメントを受信する受信手段と、前記受信手段により各セグメントを受信する際に使用した通信サーバモジュールの台数以上の台数の蓄積サーバモジュールにより、受信した各セグメントを各蓄積装置に分散格納する格納手段と、前記各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみに、受信したセグメントの書き込みを行う手段と、を備えたことを特徴とする。
【００２６】
また、請求項１１に係る発明は、請求項１、請求項２、請求項３および請求項４に記載のマルチメディア情報転送蓄積方法をコンピュータに実行させることにより実現することを特徴とするプログラムである。
【００２７】
また、請求項１２に係る発明は、請求項１、請求項２、請求項３および請求項４に記載のマルチメディア情報転送蓄積方法をコンピュータに実行させることにより実現することを特徴とするプログラムを記録した記録媒体である。
【００２８】
［本発明の基本概念］
続いて、図を参照しつつ、本発明に係る、マルチメディア情報転送蓄積方法、分散型マルチメディアサーバ装置、分散型マルチメディアサーバシステム、マルチメディア情報転送蓄積方法を実現するプログラム、および当該プログラムを記録した記録媒体の基本概念について説明する。なお、以下では、いわゆる分散ＲＡＩＤ型マルチメディアサーバ装置間でマルチメディア情報に関するデータ転送を行う場合に、分散ＲＡＩＤ型マルチメディアサーバ装置の構成を限定した場合、および分散ＲＡＩＤ型マルチメディアサーバ装置の構成を一般化した場合における本発明の基本概念をそれぞれ説明する。
【００２９】
［分散ＲＡＩＤ型マルチメディアサーバ装置の構成を限定した場合］
最初に、図を参照しつつ、分散ＲＡＩＤ型マルチメディアサーバ装置の構成を限定した場合における本発明の基本概念を説明する。
【００３０】
図１に示すように、マルチメディアデータの送信側サーバでは、１番組を構成するマルチメディア情報をサーバ内の複数の通信サーバモジュールを同時に使用して並列に送出する。一方、図２に示すように、受信側のサーバでも、送信側サーバの通信サーバモジュールから送信されてきた１番組を構成するマルチメディアデータを、サーバ内の複数の通信サーバモジュールを同時に使用して並列に受信するとともに、蓄積装置への蓄積を行う。
【００３１】
このようにして、本発明は、１番組のマルチメディアデータ転送を複数の通信サーバモジュールを使用して行うことにより、サーバ間でのマルチメディア情報の転送を高速化する。
【００３２】
図１および図２は、マルチメディアデータを２台の分散ＲＡＩＤ型マルチメディアサーバ装置間で送受信する場合に、以下の（１）〜（４）の条件を付与したものである。すなわち、（１）送信側サーバ、および受信側サーバはともに、通信サーバモジュールおよび蓄積サーバモジュールを同じ台数備えて構成される。（２）送信側サーバと受信側サーバとの規模が等しい（両サーバの通信サーバモジュールおよび蓄積サーバモジュールはともにＮ台）。（３）１番組を構成するマルチメディア情報は、Ｎ台全ての蓄積サーバモジュール上の蓄積装置に分散して格納される。（４）１番組を構成するマルチメディアデータ転送に、Ｎ台全ての通信サーバモジュールを使用する。
【００３３】
そして、図１および図２に示すように、１番組のマルチメディア情報を構成する各セグメントの中から、「セグメント０」を蓄積装置１に、「セグメント１」を蓄積装置２にというように、セグメントごとに蓄積装置１〜Ｎを巡回して格納する場合に、上記した（１）〜（４）の条件を満足する構成を備えるものとすると、送信側サーバの通信サーバモジュールｊ（１≦ｊ≦Ｎ）は、自身のサーバ内の蓄積装置ｊ内に格納された該当番組のマルチメディア情報のセグメントｊ−１、Ｎ＋ｊ−１、２Ｎ＋ｊ−１、．．．を蓄積サーバモジュールｊから受信し、受信側サーバの通信サーバモジュールｊを送信先に指定して外部ネットワークへ送出する。一方、受信側サーバの通信サーバモジュールｊは、受信したマルチメディア情報をセグメント化し、自身のサーバ内の蓄積サーバモジュールｊ内の蓄積装置ｊにセグメントを蓄積する。このように、複数の通信サーバモジュールを使用して１番組のマルチメディアデータを並列に転送することができるとともに、セグメントを正しい順序で受信側サーバに格納することができる。
【００３４】
［分散ＲＡＩＤ型マルチメディアサーバ装置の構成を一般化した場合］
続いて、図を参照しつつ、分散ＲＡＩＤ型マルチメディアサーバ装置の構成を一般化した場合における本発明の基本概念を説明する。
【００３５】
図３に示すように、送信側サーバは、Ｐ台の蓄積サーバモジュールおよびＱ台の通信サーバモジュールから構成され、受信側サーバは、Ｔ台の蓄積サーバモジュールおよびＲ台の通信サーバモジュールから構成される。なお、両サーバの蓄積サーバモジュールおよび通信サーバモジュールには、１から始まる昇順の整数値の識別子が付与されているものとする。
【００３６】
そして、上記したサーバ構成を限定した場合とは異なり、前記の条件（１）および（２）を排除して、両サーバとも蓄積サーバモジュールおよび通信サーバモジュールの台数が異なり、両サーバの構成も互いに異なっている。さらに、前記の条件（３）を排除して、送信側サーバにおいて、送信対象となるマルチメディアデータは、蓄積サーバモジュール１〜Ｐの全てに分散して格納されているとは限らず、その部分集合のみに格納されている場合も対象とする。
【００３７】
このようなことから、送信対象のマルチメディアデータを格納している蓄積サーバモジュール群を以下の式（１）ように表すことができる。
【００３８】
【数１】
2008278198.tif 000003
【００３９】
ただし、式（１）に示すＳ1は以下の式（２）を見たす整数であり、集合Ｎの各要素は、各蓄積サーバモジュールに付与されている前述の識別子の値をとる１以上のＳ1以下の整数である。
【００４０】
【数２】
2008278198.tif 000004
【００４１】
このとき、１番組のマルチメディアデータは、蓄積サーバモジュールｎ1からｎS1のＳ1個の蓄積サーバモジュールに跨っていて、かつ、この順序でマルチメディアデータのセグメントごとに巡回する格納されていることを前提とする。すなわち、ｔ、ｗを以下に示す式（３）で表される１以上の整数とした時、シーケンス番号ｑ（ｑは０以上の整数）のセグメントは、蓄積サーバモジュールｎtの蓄積装置内のｗ番目セグメントして格納されているものとする。ただし、ｘｄｉｖｙ、ｘｍｏｄｙは、０以上の整数ｘを正の整数ｙで割った時の商、余りをそれぞれ表す。
【００４２】
【数３】
2008278198.tif 000005
【００４３】
さらに、本発明が対象とする分散ＲＡＩＤ型マルチメディアサーバ装置間のデータ転送では、前記の条件（４）を排除して、マルチメディアデータの転送に使用する通信サーバモジュールの台数も自由に設定することができるものとする。このとき、送信側サーバにおいて、１番組のマルチメディアデータの転送に使用する通信サーバモジュールの集合Ｎ’は以下の式（４）に示すように定義することができる。
【００４４】
【数４】
2008278198.tif 000006
【００４５】
ただし、集合Ｎ’は、送信側サーバの全通信サーバモジュールの識別子を並べた集合、以下の式（５）の部分集合であり、その要素数はＳ2で、各要素は識別子の値を昇順に並べたものとする。すなわち、以下の式（６）および（７）に示す条件が成立する。
【００４６】
【数５】
2008278198.tif 000007
【００４７】
【数６】
2008278198.tif 000008
【００４８】
【数７】
2008278198.tif 000009
【００４９】
ただし、Ｓ2とＳ1との間には以下の式（８）に示す条件が成立するものとする。
【００５０】
【数８】
2008278198.tif 000010
【００５１】
これは、蓄積サーバモジュールの台数を上回る数の通信サーバモジュールを使用しても、多くの場合、蓄積サーバモジュールの転送性能を合計した速度を上回る速度でマルチメディアデータの送信を行うことはできず、意味がないためである。
【００５２】
次に、受信側サーバについて説明する。受信側サーバでは、送信側サーバがマルチメディアデータの送信に使用する通信サーバモジュールと同じ台数、すなわち、Ｓ2台の通信サーバモジュールを使用して、送信側サーバから送信されてきたマルチメディアデータを受信するものとする。受信側サーバにおいて、１番組のマルチメディアデータの受信に使用する通信サーバモジュールの集合Ｍ’を以下の式（９）に示すように定義する。
【００５３】
【数９】
2008278198.tif 000011
【００５４】
ただし、集合Ｍ’は、受信側サーバの全通信サーバモジュールの識別子を並べた集合、以下の式（１０）の部分集合であり、その要素数はＳ2で、各要素は識別子の値を昇順に並べたものとする。すなわち、以下の式（１１）および（１２）に示す条件が成立する。
【００５５】
【数１０】
2008278198.tif 000012
【００５６】
【数１１】
2008278198.tif 000013
【００５７】
【数１２】
2008278198.tif 000014
【００５８】
通信サーバモジュールの集合Ｍ’を使用して受信した１番組の全てのマルチメディアデータは、最終的に以下の式（１３）に示す識別子の集合からなる蓄積サーバモジュール内の蓄積装置内に、この順でセグメントごとに巡回する形で格納されるものとする。
【００５９】
【数１３】
2008278198.tif 000015
【００６０】
すなわち、ｐ、ｙを以下に示す式（１４）で表される１以上の整数とした時、シーケンス番号ｑ（ｑは０以上の整数）のセグメントは、蓄積サーバモジュールｍpの蓄積装置内のｙ番目セグメントして格納するものとする。
【００６１】
【数１４】
2008278198.tif 000016
【００６２】
ただし、集合Ｍは、受信側サーバの全蓄積サーバモジュールの識別子を並べた集合、以下の式（１５）の部分集合であり、その要素数はＳ3で、各要素は識別子の値を昇順に並べたものである。すなわち、以下の式（１６）および（１７）に示す条件が成立する。
【００６３】
【数１５】
2008278198.tif 000017
【００６４】
【数１６】
2008278198.tif 000018
【００６５】
【数１７】
2008278198.tif 000019
【００６６】
さらに、Ｓ2トＳ3との間には以下の式（１８）に示す条件が成立するものとする。
【００６７】
【数１８】
2008278198.tif 000020
【００６８】
これは、蓄積サーバモジュールの台数を通信サーバモジュールの台数Ｓ2よりも少なくすると、マルチメディアデータの蓄積サーバモジュール側への転送速度が端末側ネットワークからの受信速度に追いつかなくなり、不具合が生じるためである。よって、上記の式（６）、（８）、（１１）と、上記の式（１８）とをあわせると、Ｓ2は以下にしめす式（１９）を満足する値でなくてはならない。
【００６９】
【数１９】
2008278198.tif 000021
【００７０】
以上をまとめると、分散ＲＡＩＤ型マルチメディアサーバ装置の構成を一般化した場合に、本発明は、図３に示すような送信側サーバと受信側サーバにおいて、送信側サーバでは、上記の式（１）で表されるＳ1台の蓄積サーバモジュールに、上記の式（３）で表される順序で格納されている１番組のマルチメディアデータを、上記の式（４）で定義されるＳ2台の通信サーバモジュールを使って送信し、受信側サーバでは、上記の式（９）で定義されるＳ2台の通信サーバモジュールを使って受信し、上記の式（１３）で定義されるＳ3台の蓄積サーバモジュールの蓄積装置上に、上記の式（１４）で表される順序で格納する、という転送動作を基本概念とする。この基本概念を図４にまとめて示す。なお、以下では、この転送動作をＴ（Ｓ1,Ｓ3：Ｓ2）と表記する。
【００７１】
また、１番組を構成するマルチメディアデータの転送が、そのデータの送受信を担当する１台の通信サーバモジュールを経由して実現される従来の技術は、本発明においてＳ2＝１とした場合に帰着される。
【００７２】
ここで、上記の式（３）は、以下に示す式（２０）と同値であり、これを上記の式（１４）に代入することにより、以下の示す式（２１）のように、式（１４）のｐ、ｙを式（３）のｔ、ｗで表すことができる。
【００７３】
【数２０】
2008278198.tif 000022
【００７４】
【数２１】
2008278198.tif 000023
【００７５】
ここで、上記の式（２１）のｐ、ｑを表す式の右辺をそれぞれｈ（ｔ,ｗ,Ｓ1,Ｓ3）、ｋ（ｔ,ｗ,Ｓ1,Ｓ3）と書くと、上記のＴ（Ｓ1,Ｓ3：Ｓ2）がそれぞれのセグメントについて１対１の可逆転送であることから、以下に示す（２２）式が成立することは自明である。
【００７６】
【数２２】
2008278198.tif 000024
【００７７】
ところで、本発明の基本概念についてこれまで説明してきた以外の部分については、以下の３つの考え方に基づいた３種類の異なる方式１〜３を提供する。
【００７８】
すなわち、方式１は、送信側サーバで、同一の蓄積サーバモジュールの蓄積装置内の１番組のセグメントは、全て同一の通信サーバモジュールから送信する方式である。
【００７９】
方式２は、受信側サーバで、同一の蓄積サーバモジュールの蓄積装置内に格納される１番組のセグメントは、全て同一の通信サーバモジュールで受信する方式である。
【００８０】
方式３は、上記の方式１および方式２の双方を満たす方式である。
【００８１】
以下に、方式１〜３のそれぞれの方式について具体的に説明する。
【００８２】
［方式１について］
まず、本発明の方式１について説明する。方式１は、上記のＴ（Ｓ1,Ｓ3：Ｓ2）の実現する場合において、同一の蓄積サーバモジュールの蓄積装置内に格納されている送信対象番組のセグメントは、全て同一の通信サーバモジュールから送信されるように、セグメントを送信する通信サーバモジュールを割り付ける方式である。
【００８３】
換言するならば、送信側サーバの各蓄積サーバモジュール、および各蓄積装置内の送信対象となる番組のファイルに対して、各通信サーバモジュールは排他的にアクセスを行う。また、各蓄積装置内の送信対象番組のファイルへのリードアクセスについて、必ずファイルの先頭位置から始め、リード操作の度にファイルの読出し位置を１セグメントサイズずつインクリメントする形で行うことができ、該当ファイルへのランダムアクセスを行う必要がない。このようなことから、この方式１では、送信側サーバの実装を容易にすることができる。
【００８４】
すなわち、集合Ｎの各要素を集合Ｎ’の各要素へ対応させる写像Ψとして、このときの集合Ｎ’の要素ｎi'（１≦ｉ≦Ｓ2）へと写像される集合Ｎの要素の集合をＮiとしたとき、以下に示す式（２３）を満足する写像Ψを決定し、集合Ｎiの要素を識別子に持つ蓄積サーバモジュールの蓄積装置内のマルチメディアデータを識別子ｎi'で表される通信サーバモジュール（以下、通信サーバモジュールｎi'と略記する）から送信する。
【００８５】
【数２３】
2008278198.tif 000025
【００８６】
さらに、写像Ψは、上記の式（２３）に加えて、以下に示す式（２４）および（２５）を満足するものとする。
【００８７】
【数２４】
2008278198.tif 000026
【００８８】
【数２５】
2008278198.tif 000027
【００８９】
式（２４）は、集合Ｎ’に属する全ての通信サーバモジュールが、実際にマルチメディア情報の転送に使用されることを表し、式（２５）は、通信サーバモジュールによって送信されない蓄積サーバモジュールの蓄積装置内のマルチメディアデータが存在してはならないことを示す。
【００９０】
このとき、上記の式（２３）および（２５）により、以下に示す式（２６）が成立する。
【００９１】
【数２６】
2008278198.tif 000028
【００９２】
このような写像Ψによって集合Ｎの要素が集合Ｎ’の要素に対応される様子を図５に示す。
【００９３】
次に、蓄積サーバモジュールの集合Ｎiを割り当てられた通信サーバモジュールｎi'が、送信対象となる番組のマルチメディアデータのセグメントを、これらの蓄積サーバモジュールから受け取って端末側ネットワークへ送信する動作について説明する。まず、集合Ｎiの要素を以下の式（２７）のように示す。
【００９４】
【数２７】
2008278198.tif 000029
【００９５】
ただし、上記の式（２７）の表記は、ｎi_k＝ｎu、ｎi_l＝ｎvのとき、以下に示す式（２８）の条件を満足するように集合Ｎiの要素を並べたものとする。このとき、通信サーバモジュールｎi'は、蓄積サーバモジュールｎi_1からｎi_|Ni|をこの順に巡回しながら、各蓄積サーバモジュールからマルチメディアデータのセグメントを１つずつ受け取り、それを受信側サーバの対向の通信サーバモジュールｍi'に送信する、という動作を繰り返す。この通信サーバモジュールｎi'の動作の様子を図６に示す。
【００９６】
【数２８】
2008278198.tif 000030
【００９７】
さらに、送信側サーバの通信サーバモジュールｎi'は、受信側サーバが受信したセグメントを正しい順序に並べ直して蓄積装置内に格納できるように、自身が送信する送信対象の番組に関するマルチメディアデータの各セグメントに対して、番組内容を構成するデータに加えて、この番組内におけるそのセグメントの位置を表すシーケンス番号を付加情報として付与する。これについては、通信サーバモジュールｎi'は、蓄積サーバモジュールｎt（１≦ｔ≦Ｓ1）からｗ番目（１≦ｗ）に受け取ったセグメントに対して、上記の式（２０）で定まるシーケンス番号ｑを付与する（以下に示す式（２９）にこの式を再記する）。
【００９８】
【数２９】
2008278198.tif 000031
【００９９】
ここで、本方式１においては、上記の式（２９）は以下に示す式（３０）のように表すこともできる。
【０１００】
【数３０】
2008278198.tif 000032
【０１０１】
以上が送信側サーバの動作の説明である。次に、受信側サーバの動作の説明をすると、送信側サーバから送信されてきたマルチメディアデータのセグメントを通信サーバモジュールｍi'を使って受信し、最終的に全てのセグメントをＭの要素からなる蓄積サーバモジュール群の蓄積装置内に、図７に示すような配列で格納する。
【０１０２】
この動作を実現するために、通信サーバモジュールｍi'は、送信側サーバの対向の通信サーバモジュールｎi'から送信されてきたシーケンシャル番号ｑのセグメントを、上記の式（１４）で定まる自身のサーバの蓄積サーバモジュールｍpに転送する動作を繰り返す。また、これを受け取った蓄積サーバモジュールｍpは、このセグメントを自身の蓄積装置内に上記の式（１４）で定まるｙ番目のセグメントとして格納する。以上が、本発明の方式１の説明である。なお、方式１では、前記の写像Ψについて、それが満足すべき条件のみを規定し、写像Ψ自体については具体的に規定しない。
【０１０３】
［方式２について］
次に、本発明の方式２について説明する。方式２は、上記のＴ（Ｓ1,Ｓ3：Ｓ2）の実現において、受信側サーバで、同一の蓄積サーバモジュールの蓄積装置内に格納されるマルチメディアデータのセグメントは、全て同一の通信サーバモジュールで受信する方式である。
【０１０４】
換言するならば、受信側サーバの各蓄積サーバモジュール、および各蓄積装置内の対象となる番組のファイルに対して、各通信サーバモジュールは排他的にアクセスを行う。また、各蓄積装置内の対象となる番組のファイルへのライトアクセスについて、必ずファイルの先頭位置から始め、ライト操作の度にファイルの書き込み位置を１セグメントサイズずつインクリメントする形で行うことができ、該当ファイルへのランダムアクセスを行う必要がない。このようなことから、この方式２では、受信側サーバの実装を容易にすることができる。
【０１０５】
すなわち、集合Ｍの各要素を集合Ｍ’の各要素へ対応させる写像をΩ、このとき集合Ｍ’の要素ｍi’（１≦ｉ≦Ｓ2）へと写像される集合Ｍの要素の集合をＭiとして、以下に示す式（３１）を満足する写像Ωを決定し、集合Ｍiの要素を識別子に持つ蓄積サーバモジュールの蓄積装置内のマルチメディアデータを識別子ｍi’で表される通信サーバモジュール（以下、通信サーバモジュールｍi’と略記する）から受信する。
【０１０６】
【数３１】
2008278198.tif 000033
【０１０７】
さらに、写像Ωは、上記の式（３１）に加えて、以下に示す式（３２）および（３３）も満足するものとする。
【０１０８】
【数３２】
2008278198.tif 000034
【０１０９】
【数３３】
2008278198.tif 000035
【０１１０】
式（３２）は、集合Ｍ’に属する全ての通信サーバモジュールが実際にマルチメディア情報の受信に使用されることを表し、式（３３）は、集合Ｍの蓄積サーバモジュールにおける蓄積装置内のマルチメディアデータが、必ず集合Ｍ’のいずれかの通信サーバモジュールによって受信されることを示す。
【０１１１】
また、このときの集合Ｍiの要素を、以下に示す式（３４）のように表記する。
【０１１２】
【数３４】
2008278198.tif 000036
【０１１３】
方式２では、受信側サーバの通信サーバモジュール、および蓄積サーバモジュールは、上述した方式１と全く同じ動作を行う。すなわち、受信したセグメントのシーケンス番号と上記の式（１４）によって定まる場所にそのセグメントを格納する処理を繰り返す。
【０１１４】
一方、送信側サーバの通信サーバモジュールｎi'の動作が方式１とは異なる。すなわち、方式２では、送信側サーバの通信サーバモジュールｎi'は、受信側サーバが上記の動作を行う場合に、結果として通信サーバモジュールｍi’が蓄積サーバモジュールｍi_1からｍi_|Mi|をこの順に巡回しながらセグメントを格納するよう、然るべきセグメントを然るべき順序で送信する。
【０１１５】
受信側サーバが上記のような巡回動作を行う場合、通信サーバモジュールｍi’がｘ番目（０≦ｘ）に蓄積サーバモジュール側に転送するセグメントは、蓄積サーバモジュールｍi_pのｙ番目（１≦ｙ）に格納される。
【０１１６】
ただし、ｐ、ｙは、以下に示す式（３５）によって定まる値である。
【０１１７】
【数３５】
2008278198.tif 000037
【０１１８】
受信側でこのようにセグメントを格納した結果、最終的に受信側サーバの蓄積装置内にセグメントがシーケンス番号の順に正しく格納されたものとすると、上記のｘ番目のセグメントは、送信側サーバの蓄積サーバモジュールｎtの蓄積装置のｗ番目に格納されていたセグメントである。ただし、ｔ、ｗは式（２２）および（３５）により求まる以下の式（３６）および（３７）で示される値である。
【０１１９】
【数３６】
2008278198.tif 000038
【０１２０】
【数３７】
2008278198.tif 000039
【０１２１】
よって、送信側サーバの通信サーバモジュールｎi'は、対向の受信側サーバの通信サーバモジュールｍi’へ送信するｘ（０≦ｘ）番目のセグメントとして、上記の式（３６）および（３７）で表される位置に格納されているセグメントを選択し、これを蓄積サーバモジュールから読み出す。そして、同セグメントに対し、上記の式（２０）のｔに式（３６）、ｗに式（３７）の値を代入することにより得られる以下の式（３８）で定まるシーケンス番号ｑを付与した後、受信側サーバの通信サーバモジュールｍi’へ送信する、という動作を繰り返せばよい。以上が、本発明の方式２の説明である。なお、方式２では、前記の写像Ωについて、それが満足すべき条件のみを規定し、写像Ω自体については具体的に規定しない。
【０１２２】
【数３８】
2008278198.tif 000040
【０１２３】
［方式３について］
続いて、方式３について説明する。方式３は、上記のＴ（Ｓ1,Ｓ3：Ｓ2）の実現において、送信側サーバで、同一の蓄積サーバモジュールの蓄積装置内に格納されているマルチメディアデータのセグメントは全て同一の通信サーバモジュールから送信されるという方式１と、受信側サーバで、同一の蓄積サーバモジュールの蓄積装置内に格納されるマルチメディアデータのセグメントは、全て同一の通信サーバモジュールで受信する方式２の双方の条件を満足する方式である。
【０１２４】
換言するならば、送受信サーバの各蓄積サーバモジュール、および各蓄積装置内の送受信対象となる番組ファイルに対して、それぞれのサーバの各通信サーバモジュールが排他的にアクセスを行う。また、各蓄積装置内の番組ファイルへのリード／ライトアクセスについて、必ずファイルの先頭位置から始め、リード／ライト操作の度にファイルの読出し／書き込み位置を１セグメントサイズずつインクリメントする形で行うことができ、該当ファイルへのランダムアクセスを行う必要がない。このようなことから、この方式３では、送受信側サーバの実装を容易にすることができる。
【０１２５】
方式３では、送信側サーバにおいては方式１と同様の写像Ψを定義し、受信側サーバにおいては方式２と同様の写像Ωを定義する。
【０１２６】
すなわち、方式３では、送信側サーバの通信サーバモジュールｎi'は、方式１と同様に、蓄積サーバモジュールｎi_1からｎi_|Ni|をこの順に巡回しながら、各蓄積サーバモジュールからマルチメディアデータのセグメントを１つずつ受け取り、上記の式（２９）（あるいは、式（３０））で定まるシーケンス番号を付与して受信側サーバへ送信するという動作を繰り返す。
【０１２７】
また、受信側サーバの通信サーバモジュールは、方式１（あるいは、方式２）と同様に、受信したセグメントのシーケンス番号と上記の式（１４）で定まる場所にセグメントを格納する処理を繰り返す。ただし、方式３の送受信側サーバの通信サーバモジュールは、以下に説明する２つの動作が方式１とは異なる。
【０１２８】
すなわち、方式１とは異なる動作の一つ目は、送信側サーバの通信サーバモジュールｎi'は、受信側サーバの各通信サーバモジュールｍk’が上記の動作をする場合に、結果として集合Ｍkの要素の蓄積サーバモジュール以外にアクセスしない形になるように、セグメントの送信先の通信サーバモジュールを変更しながら送信動作を行う点である。
【０１２９】
具体的には、送信側サーバの通信サーバモジュールｎi'は、蓄積サーバモジュールｎi_t、すなわち、蓄積サーバモジュールｎfi(t)からｗ番目に読み出したセグメントに対し、上記の式（２１）を用いてこのセグメントの受信側サーバでの格納先となる蓄積装置の番号ｐを以下に示す式（３９）により求める。
【０１３０】
【数３９】
2008278198.tif 000041
【０１３１】
さらに、このｐの値に対して、以下に示す式（４０）を満足するｊの値を求め、このセグメントの送信先を受信側サーバの通信サーバモジュールｍj’に決定する（上記の式（３１）および（３３）により、このようなｊが必ず存在し、その値が一意に定まる）。
【０１３２】
【数４０】
2008278198.tif 000042
【０１３３】
送信側サーバの通信サーバモジュールがこのような動作を行う時、受信側サーバのある１つの通信サーバモジュールに対しては、マルチメディアデータのセグメントが送信側サーバの複数の異なる通信サーバモジュールから非同期に、順不定に送信されてくることになる。
【０１３４】
したがって、受信側サーバの通信サーバモジュールｍi’が、方式２と同様に蓄積サーバモジュールｍi_1からｍi_|Mi|をこの順に巡回しながらセグメントを格納し、各蓄積装置内の番組ファイルへの書き込み位置をランダムに変化させることを避けるようにするためには、同通信サーバモジュールｍi’は、蓄積装置ｍ1_p（１≦ｐ≦｜Ｍi｜）内の番組ファイルのｙ（１≦ｙ）番目の位置に格納されるべきセグメントを、セグメントの到着順序とは無関係にｘ（０≦ｘ）番目に蓄積サーバモジュール側へ転送する必要がある。ただし、ｘは、以下に示す式（４１）により定められる。以上が、方式１とは異なる動作の二つ目である。
【０１３５】
【数４１】
2008278198.tif 000043
【０１３６】
以上が、本発明の方式３の説明である。なお、方式３では、上記の写像Ψ、Ωについて、それが満足すべき条件のみを規定し、写像Ψ、Ω自体については具体的に規定しない。
【０１３７】
上述してきた本発明の基本概念および方式１〜３は、以下のように、従来の方式についての課題を解決する。すなわち、従来の方式では、１番組を構成する全てのマルチメディアデータが、そのデータの送受信を担当する１台の通信サーバモジュールを経由して外部装置との間で送受信されるため、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で１番組を構成する全てのマルチメディアデータを外部装置との間で送受信することはできない。これに対して、本発明の基本概念および方式１〜３では、１番組を構成する全てのマルチメディアデータを複数の通信サーバモジュールを同時に使用して送受信する。このようなことから、送受信側のサーバでそれぞれ使用される通信サーバモジュールの台数に応じて、１番組を構成するマルチメディアデータの転送速度の上限を向上させることができる。
【発明の効果】
【０１３８】
本発明によれば、通信速度要求値とともにマルチメディアデータ転送要求を受け付けて、分散型マルチメディアサーバ間で１番組のマルチメディアデータがいくつかに分割された各セグメントの転送を行う場合に、送信側として機能する分散型マルチメディアサーバが、各蓄積サーバモジュールにより各蓄積装置に分散格納された各セグメントを送信するために使用する通信サーバモジュールの台数を、データ転送要求とともに受け付けた通信速度要求値に応じて仮設定し、仮設定された台数の通信サーバモジュールが使用可能な状態で存在する場合には、仮設定された台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信し、仮設定された台数の通信サーバモジュールが使用可能な状態で存在しない場合には、使用可能な範囲内で最大の台数の通信サーバモジュールを使用して、受信側として機能する分散型マルチメディアサーバに各セグメントを並行して送信し、受信側として機能する分散型マルチメディアサーバが、送信側として機能する分散型マルチメディアサーバが各セグメントを送信するために用いた通信サーバモジュールと同じ台数の通信サーバモジュールを使用して各セグメントを受信し、受信側として機能する分散型マルチメディアサーバが、各セグメントを受信する際に使用した通信サーバモジュールの台数以上の台数の蓄積サーバモジュールにより、受信した各セグメントを各蓄積装置に分散格納するので、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で送受信することが可能である。
【０１３９】
また、本発明によれば、送信側として機能する分散型マルチメディアサーバにおいて、各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみから、送信対象となるセグメントの読み出しを行うので、蓄積サーバモジュールおよび通信サーバモジュール間で排他的に読出しアクセスを行うことを保証することができ、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で高速に送受信することが可能であるとともに、送信側サーバの実装を容易にすることが可能である。
【０１４０】
また、本発明によれば、受信側として機能する分散型マルチメディアサーバにおいて、各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみに、受信したセグメントの書き込みを行うので、蓄積サーバモジュールおよび通信サーバモジュール間で排他的に書き込みアクセスを行うことを保証することができ、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で高速に送受信することが可能であるとともに、受信側サーバの実装を容易にすることが可能である。
【０１４１】
また、本発明によれば、送信側として機能する分散型マルチメディアサーバにおいて、各セグメントを送信する通信サーバモジュールが、受信側として機能する分散型マルチメディアサーバの通信サーバモジュールをセグメントごとに変更するので、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で高速に送受信する際に柔軟な対応を実現することが可能である。
【０１４２】
また、本発明によれば、分散型マルチメディアサーバ間でデータの送受信を行う場合であっても、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で送受信することが可能である。
【０１４３】
また、本発明によれば、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で送受信することが可能なプログラム、およびこのプログラムを記録した記録媒体を得ることが可能である。
【発明を実施するための最良の形態】
【０１４４】
以下に添付図面を参照して、この発明に係るマルチメディア情報転送蓄積方法、分散型マルチメディアサーバ装置、分散型マルチメディアサーバシステム、マルチメディア情報転送蓄積方法を実現するプログラムおよび当該プログラムを記録した記録媒体の実施例を詳細に説明する。なお、以下では、本発明に係るマルチメディア情報転送蓄積方法を適用したシステムを本発明の一実施形態である実施例１として説明した後に、本発明に含まれる他の実施例を説明する。
【実施例１】
【０１４５】
［システム構成（実施例１）］
まず最初に、図８を用いて、実施例１に係るシステム構成を説明する。実施例１に係るシステムは、分散ＲＡＩＤ型マルチメディアサーバ装置１と、分散ＲＡＩＤ型マルチメディアサーバ装置２と、制御端末と、管理ＤＢとを端末側ネットワークを介して通信可能な状態で接続して構成される。
【０１４６】
分散ＲＡＩＤ型マルチメディアサーバ装置１は、通信サーバモジュール１〜８と、蓄積サーバモジュール１〜８と、蓄積装置１〜８とを含んで構成され、通信サーバモジュール１〜８と蓄積サーバモジュール１〜８とがサーバモジュール間ネットワークを介して通信可能な状態で接続される。
【０１４７】
分散ＲＡＩＤ型マルチメディアサーバ装置２は、通信サーバモジュール１〜５と、蓄積サーバモジュール１〜５と、蓄積装置１〜５とを含んで構成され、通信サーバモジュール１〜５と蓄積サーバモジュール１〜５とがサーバモジュール間ネットワークを介して通信可能な状態で接続される。
【０１４８】
制御端末は、管理ＤＢに対して、分散ＲＡＩＤ型マルチメディアサーバ装置内に格納された所定の番組のマルチメディアデータの転送要求を発行する機能を備える。
【０１４９】
管理ＤＢは、分散ＲＡＩＤ型マルチメディアサーバ装置の各種リソースに関する情報を管理するＤＢを有しており、そのＤＢにおいて管理されている情報に基づいて、制御端末からの転送要求を実現するために必要な指示を分散ＲＡＩＤ型マルチメディアサーバ装置に発行する機能を備える。
【０１５０】
なお、サーバモジュール間ネットワークについては、任意のサーバモジュール間で情報転送を行う機能を実現することができるものであればよく、高速ＬＡＮやＩｎｆｉｎｉＢａｎｄをはじめとする各種既存技術をそのまま利用することができる。また、端末側ネットワークについては、広域通信網として広く用いられているＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークなどの既存技術をそのまま利用することができる。
【０１５１】
分散ＲＡＩＤ型マルチメディアサーバ装置は、従来の技術において記述した従来方式によるマルチメディア情報転送、すなわち、１番組につき１台の通信サーバモジュールを使用して端末側ネットワーク上の端末や、マルチメディア情報入力装置との間でマルチメディアデータを送受信する機能をも備える。
【０１５２】
［各種構成要素の動作（実施例１）］
続いて、分散ＲＡＩＤ型マルチメディアサーバ装置１を送信側サーバ、分散ＲＡＩＤ型マルチメディアサーバ装置２を受信側サーバとして、これら２台のサーバ間で１番組を構成するマルチメディアデータの高速転送を行う場合における各構成要素の動作を説明する。
【０１５３】
なお、各サーバ装置では、マルチメディア情報のメディアの種類ごとに定まる１つの映像フレームを１つのセグメントを単位として、マルチメディアデータを扱うものとする。また、図９に例示すように、各サーバ装置内の蓄積装置では、各マルチメディアデータは番組ごとに独立したファイルとして格納されており、それぞれの番組のファイルは複数のセグメントを連ねたものとする。
【０１５４】
［制御端末の動作（実施例１）］
まず、図を参照しつつ、構成要素の一つである制御端末の動作を説明する。図１０に示すように、分散ＲＡＩＤ型マルチメディアサーバ装置１から分散ＲＡＩＤ型マルチメディアサーバ装置２に対して、ある１番組のマルチメディアデータの転送要求が発生すると（ステップＳ１００１肯定）、制御端末は、管理ＤＢへその番組のマルチメディアデータの転送要求を発行する（ステップＳ１００２）。
【０１５５】
ここで、この転送要求は、図１１に例示するように、転送したい番組のマルチメディアデータを格納している送信側サーバを示す識別子と、転送先の受信側サーバを示す識別子と、転送したい番組を表す番組名と、その番組を端末側ネットワーク上で転送する際の通信速度要求値とからなる。
【０１５６】
転送要求の発行後、制御端末は、管理ＤＢから正常な受付通知の受信を待機する（ステップＳ１００３）。そして、管理ＤＢから正常な受付通知を受信した場合には（ステップＳ１００３肯定）、転送処理が完了するのを待つ（ステップＳ１００４）。これとは反対に、管理ＤＢから正常な受付通知を受信できなかった場合には（ステップＳ１００３否定）、そのまま全ての処理を終了する。なお、正常な受付通知を受信できなかった場合とは、後述する転送要求受け付け不可通知を受信した場合に相当する。
【０１５７】
ところで、図１２に例示するように、分散ＲＡＩＤ型マルチメディアサーバ装置１の蓄積装置３〜８をセグメントごとに巡回する形で格納されている所定の番組のマルチメディアデータが、上記の転送要求内の番組識別子によって転送処理の対象に指定されたものとすると、上記の式（１）および（２）によって規定される集合ＮとＳ1は、以下に示す式（４２）のようになる。
【０１５８】
【数４２】
2008278198.tif 000044
【０１５９】
［管理ＤＢの動作（実施例１）］
次に、図を参照しつつ、構成要素の一つである管理ＤＢの動作を説明する。
【０１６０】
管理ＤＢは、図１５に例示するように、各分散ＲＡＩＤ型マルチメディアサーバ装置のリソース管理のためのデータベースを有する。このデータベースは、管理対象の分散ＲＡＩＤ型マルチメディアサーバ装置ごとの情報を格納したサーバデータを記憶して構成される。各サーバデータは、サーバの属性を記述したサーバ属性、および同サーバに格納されている番組の情報を格納したサーバ内番組データから構成される。
【０１６１】
ここで、サーバ属性には、サーバを構成する通信サーバモジュールおよび蓄積サーバモジュールの集合の情報、通信サーバモジュールおよび蓄積サーバモジュールの各性能値、およびマルチメディアデータの転送に使用中の通信サーバモジュールの集合の情報が含まれる。なお、以下の説明において、通信／蓄積サーバモジュール集合といった場合には、それらの識別子の順序も考慮した集合を意味するものとする。
【０１６２】
サーバ内番組データには、その番組の属性を記述した番組属性として、番組名、セグメント数で表した番組長、映像メディアの種類、１つのセグメントのサイズ、その番組のマルチメディアデータを格納している蓄積サーバモジュールの集合Ｎが含まれている。
【０１６３】
図１３を用いて、管理ＤＢの動作の説明を開始する。管理ＤＢは、制御端末から転送要求を受信すると（ステップＳ１３０１肯定）、転送要求に含まれる送信側および受信側サーバの識別子を参照して、自データベース内の参照すべきサーバデータを特定するとともに（ステップＳ１３０２）、転送要求に含まれる番組名を参照して、同サーバデータ内の参照すべきサーバ内番組データを特定する（ステップＳ１３０３）。
【０１６４】
そして、管理ＤＢは、転送要求内に含まれる通信速度要求値と、サーバデータ内の通信／蓄積サーバモジュールの性能値のデータとを用いて、所望の通信速度要求値を実現するために通信サーバモジュールが何台必要であるかを計算し、さらに上記の式（１９）の制約を考慮して、送受信サーバ間での転送処理に使用する通信サーバモジュールの台数Ｓ2を仮設定する（ステップＳ１３０４）。
【０１６５】
続いて、管理ＤＢは、サーバデータ内の使用中の通信サーバモジュールの集合を参照して、仮設定したＳ2台に等しい台数の通信サーバモジュールが送受信側の両サーバにおいて未使用の状態で存在するか否か検査する（ステップＳ１３０５）。検査の結果、Ｓ2台に等しい台数の通信サーバモジュールが送受信側の両サーバにおいて未使用の状態で存在する場合には（ステップＳ１３０５肯定）、実際に使用する通信サーバモジュールを決定して（ステップＳ１３０６）、決定された通信サーバモジュールの要素Ｎ’およびＭ’を新たにサーバデータ内の使用中の通信サーバモジュールのリストに追加する（ステップＳ１３０７）。
【０１６６】
一方、検査の結果、Ｓ2台に等しい台数の通信サーバモジュールが送受信側の両サーバにおいて未使用の状態で存在しない場合には（ステップＳ１３０５否定）、管理ＤＢは、Ｓ2の値を１つずつ減らしていき（ステップＳ１３０８）、Ｓ2の値が“０”となっているか否か判定する（ステップＳ１３０９）。判定の結果、Ｓ2の値が“０”となっていない場合には（ステップＳ１３０９否定）、再び、ステップＳ１３０５に記載した検査を実行することにより、使用可能な範囲で最大の通信サーバモジュールの台数をＳ2の値として決定する。これとは反対に、判定の結果、Ｓ2の値が“０”となっている場合には（ステップＳ１３０９肯定）、番組のマルチメディアデータ転送処理が不可能であるものとして、管理ＤＢは、制御端末に転送要求    受け付け不可通知を送信して（ステップＳ１３１０）、全ての処理を終了する。
【０１６７】
ここでは、仮に、Ｓ2＝４台の通信サーバモジュールを使用して、番組のマルチメディアデータ転送処理を実行するように最終決定され、上記の式（４）および（９）に相当する、送受信サーバで転送処理に使用される通信サーバモジュールの集合（Ｎ’、Ｍ’）が以下に示す式（４３）のように決定されたものとする。
【０１６８】
【数４３】
2008278198.tif 000045
【０１６９】
また、番組のマルチメディアデータの転送先である受信側サーバでは、転送されてきたデータは全て蓄積サーバモジュール上に蓄積装置を巡回する形で格納されるものとする。このとき、上記の式（１３）で表される集合、および上記の式（１６）のＳ3の値は、以下に示す式（４４）のようになる。
【０１７０】
【数４４】
2008278198.tif 000046
【０１７１】
上述してきた管理ＤＢによる各種設定状態を図１６に例示する。
【０１７２】
引き続き、図１４を用いて、管理ＤＢの動作を説明する。同図に示すように、送受信サーバで転送処理に使用される通信サーバモジュールの集合（Ｎ’、Ｍ’）を決定した管理ＤＢは、Ｎ’で示される送信側サーバの通信サーバモジュールの全てに対して新規番組送信要求を送信するとともに（ステップＳ１４０１）、Ｍ’で示される受信側サーバの通信サーバモジュールの全てに対して新規番組受信要求を送信する（ステップＳ１４０２）。
【０１７３】
ここで、新規番組送信要求および新規番組受信要求は、それぞれ図１７および図１８に例示するように、転送対象となる番組のサーバ内番組データ、転送処理に使用される通信サーバモジュールの集合Ｎ’およびＭ’、その番組のマルチメディアデータが格納されている蓄積サーバモジュールの集合Ｍの情報を含んでいる。なお、転送対象となる番組のマルチメディアデータが格納されている蓄積サーバモジュールの集合Ｎの情報は、図１５に例示したように、サーバ内番組データに格納されている。
【０１７４】
新規番組送信要求および新規番組受信要求を送信後、管理ＤＢは、制御端末に対して転送要求の正常受付通知を送信し（ステップＳ１４０３）、集合Ｎ’およびＭ’の通信サーバモジュールから番組のマルチメディアデータの転送終了通知の受付を待機する（ステップＳ１４０４）。転送終了通知を受け付けると、管理ＤＢは、制御端末へ転送処理の終了通知を送信して（ステップＳ１４０５）、集合Ｎ’およびＭ’の要素をサーバデータ内の使用中の通信サーバモジュールのリストから消去する（ステップＳ１４０６）。
【０１７５】
そして、管理ＤＢは、番組のマルチメディアデータが受信側サーバへ転送されたことを記録するため、受信側サーバに対応するサーバデータ内に、受信側サーバへ転送された番組のマルチメディアデータをサーバ内番組データとして追加し（ステップＳ１４０７）、転送要求に対する処理を全て終了する。
【０１７６】
［送信側サーバの通信サーバモジュールの動作（実施例１）］
続いて、図を参照しつつ、送信側サーバの通信サーバモジュールの動作を説明する。送信側サーバでは、集合Ｎ’に含まれる１つ１つの通信サーバモジュールがそれぞれ独立に動作を実行する。
【０１７７】
すなわち、図１９に示すように、通信サーバモジュールは、管理ＤＢから新規番組送信要求を受信すると（ステップＳ１９０１肯定）、この送信要求に含まれる通信サーバモジュールの集合Ｎ’を参照し、この集合の中で自身の通信サーバモジュールの識別子が書かれている位置を検出することにより、Ｎ’における自身の位置を示す識別子ｉの値を判別する（ステップＳ１９０２）。
【０１７８】
例えば、Ｎ’中の通信サーバモジュール１は、この処理により自身がｎ1'（ｉ＝１）に相当することを判別し、通信サーバモジュール３は、同様に、自身がｎ2'（ｉ＝２）に相当することを判別する。
【０１７９】
次に、上記で判別した識別子ｉと、集合Ｎ’およびＮとを用いて、上記で説明した写像Ψに基づく集合Ｎiの要素、すなわち、自身が送信を担当する蓄積装置を有する蓄積サーバモジュールの集合、および上記で説明した関数ｆi（  ）を決定する（ステップＳ１９０３）。
【０１８０】
ここで、写像Ψとしては、図２１に例示するように、集合Ｎ’の各要素をｎ1'からｎS2'へと巡回しながら、集合Ｎの要素をｎ1からｎS1まで順に割り当てていく写像を用いるものとする。単純な写像ではあるが、各通信サーバモジュールが担当する蓄積サーバモジュールの数を最大限に均等化することができ、実用性が高いものである。このとき、図２１から明らかなように、１≦ｉ≦Ｓ2の条件を満足するｉに対して、以下に示す式（４５）〜（４７）が成立する。
【０１８１】
【数４５】
2008278198.tif 000047
【０１８２】
【数４６】
2008278198.tif 000048
【０１８３】
【数４７】
2008278198.tif 000049
【０１８４】
したがって、写像Ψでは、各通信サーバモジュールｎi'は自身が担当する蓄積サーバモジュールを巡回しながら１つずつセグメントを受け取り、上記の式（３０）を用いて、所定の受信セグメントに対して、式（３０）と式（４７）とによって定義された以下の式（４８）で定まるシーケンス番号ｑを付与して、対向の受信側サーバの通信サーバモジュールｍi'に送信すればよい。
【０１８５】
【数４８】
2008278198.tif 000050
【０１８６】
この写像Ψを実施例１に係るシステムに適用すると、図２１から確認できるように、以下に示す式（４９）が成り立つことを容易に確認できるが、上記の式（４５）および（４６）を用いてＮiを求めてみると、式（４６）、（５０）より、以下に示す式（５１）が導かれ、これを考慮すると上記の式（４５）により以下に示す式（５２）となり、Ｎiが求められる。
【０１８７】
【数４９】
2008278198.tif 000051
【０１８８】
【数５０】
2008278198.tif 000052
【０１８９】
【数５１】
2008278198.tif 000053
【０１９０】
【数５２】
2008278198.tif 000054
【０１９１】
なお、この写像Ψが上記の式（２３）〜（２５）を満たすことは用意に確認できる。
【０１９２】
通信サーバモジュールは、担当する蓄積サーバモジュールの集合Ｎiが求まると、Ｎiの全ての蓄積サーバモジュールに対して番組ファイルをオープンするように指示を発行し（ステップＳ１９０４）、この指示に対する蓄積サーバモジュールからの応答（ファイルオープン終了通知）を待つ（ステップＳ１９０５）。
【０１９３】
Ｎiの全ての蓄積サーバモジュールから番組ファイルオープン終了通知が届くと、通信サーバモジュールは、受信側サーバの対向の通信サーバモジュールｍi'からセグメント受信完了通知が届くのを待つ（ステップＳ１９０６）。セグメント受信完了通知により、通信サーバモジュールは、受信側サーバの受信準備が完了したと判断し、転送対象である番組のマルチメディアデータのセグメント転送処理に移行する。
【０１９４】
次に、図２０を用いて、セグメント転送処理における通信サーバモジュールの動作を説明する。ｎi_tの各蓄積サーバモジュールに対応する転送終了フラグを全て“０”に初期化して（ステップＳ２００１）、集合Ｎiの蓄積サーバモジュールを示す添え字ｔ、および各蓄積サーバモジュールへの何回目のセグメント要求であるかを示すセグメント要求通知番号ｗをともに“１”に初期化する（ステップＳ２００２）。
【０１９５】
ここで、転送終了フラグC[t]について、その値が“１”である場合には、蓄積サーバモジュールｎi_tの蓄積装置内の該当番組のセグメントを全てｍi’へ転送完了したことを示し、“０”である場合には、まだ転送が完了していないことを示す。
【０１９６】
次に、ｔの値に対応する転送終了フラグが“１”であるか否か判定する（ステップＳ２００３）。判定の結果、ｔの値に対応する転送終了フラグが“１”ではない場合（つまり、“０”である場合）には（ステップＳ２００３否定）、通信サーバモジュールは、自身を表す送信元通信サーバモジュールの識別子、管理ＤＢからの新規番組送信要求に含まれていた該当番組のサーバ内番組データ、およびセグメント要求通知信号ｗを付加情報に持つセグメント要求を作成し（ステップＳ２００４）、蓄積サーバモジュールｎi_tへセグメント要求通知を発行する（ステップＳ２００５）。
【０１９７】
このセグメント要求通知に対して送信されてきたセグメントを蓄積サーバモジュールから受信すると（ステップＳ２００６）、そのセグメントにサーバ内番組データとシーケンス番号を付与し（ステップＳ２００７）、受信側サーバの対向の通信サーバモジュールｍi’へ、そのセグメントを送信する（ステップＳ２００８）。
【０１９８】
蓄積サーバモジュールへ送信するセグメント要求通知と、そのセグメント要求通知に対して送信されてくるセグメントの形式を図２２に例示するとともに、受信側サーバの対向の通信サーバモジュールへ送信されるセグメントの形式を図２３に例示する。
【０１９９】
図２２に例示するように、セグメント要求通知には、送信元の通信サーバモジュール識別子、転送対象となる該当番組のサーバ内番組データ、およびセグメント要求通知番号ｗが含まれている。また、同図に例示するように、蓄積サーバモジュールから転送されてくる該当番組のセグメントには、番組を構成するマルチメディアデータのほかに、送信元の蓄積サーバモジュール識別子、サーバ内番組データ、セグメント要求通知信号ｗ、およびＬＡＳＴＦＬＡＧが付加情報として付与されている。ＬＡＳＴＦＬＡＧは、該当番組のその蓄積サーバモジュールからの最後のセグメントであることを示すフラグであり、その値が“１”である場合には最後のセグメントであることを示す。
【０２００】
セグメントを通信サーバモジュールｍi’へ送信する際に付与するシーケンス番号は、上記の式（４８）に基づいて算出する。ここで、通信サーバモジュールｎ1'がＮ1の要素の蓄積サーバモジュールから送信するセグメントのシーケンス番号について、その一部を計算してみると、以下に示す式（５３）のようになり、図１６の記載と一致することがわかる。
【０２０１】
【数５３】
2008278198.tif 000055
【０２０２】
再び、転送処理の動作の説明に戻ると、通信サーバモジュールは、蓄積サーバモジュールｎi_tから受け取ったセグメントのＬＡＳＴＦＬＡＧの値が“１”であるか否か判定する（ステップＳ２００９）。判定の結果、ＬＡＳＴＦＬＡＧの値が“１”である場合には（ステップＳ２００９肯定）、通信サーバモジュールは、転送終了フラグの値を“１”にセットし（ステップＳ２０１０）、以降、その蓄積サーバモジュールへセグメント要求通知を発行する必要がないことを認識する。
【０２０３】
これとは反対に、ＬＡＳＴＦＬＡＧの値が“１”ではない場合には（ステップＳ２００９否定）、通信サーバモジュールは、ｔおよびｗの値をインクリメントさせながら（ステップＳ２０１２〜ステップＳ２０１５）、全てのｔについて転送終了フラグの値が“１”になるまで上記の処理（ステップＳ２００４〜Ｓ２００８）を繰り返す。
【０２０４】
ここで、上記のステップＳ２００３の説明に戻ると、上記のステップＳ２０１０において転送終了フラグの値が“１”にセットされた場合、すなわち、判定の結果、ｔの値に対応する転送終了フラグが“１”である場合には（ステップＳ２００３肯定）、全てのｔの値に対応する転送終了フラグが“１”であるか否か判定する（ステップＳ２０１１）。判定の結果、全てのｔの値に対応する転送終了フラグが“１”である場合には（ステップＳ２０１１肯定）、受信側サーバの対向の通信サーバモジュールｍi’に対して転送終了通知を送信し（ステップＳ２０１６）、管理ＤＢに対しても転送終了通知を送信して（ステップＳ２０１７）、すべての処理を終了する。
【０２０５】
［送信側サーバの蓄積サーバモジュールの動作（実施例１）］
続いて、図を参照しつつ、送信側サーバの蓄積サーバモジュールの動作を説明する。図２４に示すように、蓄積サーバモジュールは、通信サーバモジュール（例えば、ｎi'）から番組ファイルのオープン指示を受信すると（ステップＳ２４０１肯定）、指示された番組ファイルのオープン処理を実行する（ステップＳ２４０２）。そして、蓄積サーバモジュールは、通信サーバモジュールｎi'へファイルオープン終了通知を送信し（ステップＳ２４０３）、通信サーバモジュールｎi'からのセグメント要求通知（図２２参照）の受信待ち状態をとる（ステップＳ２４０４）。
【０２０６】
通信サーバモジュールｎi'からセグメント要求通知を受信すると、蓄積サーバモジュールは、自身の蓄積装置内の該当番組ファイルから、セグメント要求で指示された同蓄積装置におけるｗ番目のセグメントに相当するデータを読み出す（ステップＳ２４０５）。なお、ｗ番目のセグメントに相当するデータとは、該当番組ファイルの先頭位置からｗ番目のセグメント位置から始まり、１セグメントの長さに相当するマルチメディアデータである。
【０２０７】
蓄積サーバモジュールは、セグメント要求通知内のサーバ内番組データの番組属性（図１５参照）に書かれている値を参照して、セグメントサイズを認識する。そして、蓄積サーバモジュールは、ｗ番目のセグメントに相当するデータの読み出しを完了すると、このデータが蓄積装置内の最後のセグメントに相当するデータであるか否か確認する（ステップＳ２４０６）。確認の結果、最後のセグメントに相当するデータである場合には（ステップＳ２４０６肯定）、蓄積サーバモジュールは、同蓄積装置内の該当番組ファイルにおける最後のセグメントであることを示す値“１”をＬＡＳＴＦＬＡＧに挿入し（ステップＳ２４０７）、このＬＡＳＴＦＬＡＧ、自身を表す送信元蓄積サーバモジュール識別子、セグメント要求通知に付与されている該当番組のサーバ内番組データ、および蓄積装置内でのセグメント番号ｗをセグメントに付与する（ステップＳ２４０８）。そして、蓄積サーバモジュールは、セグメント要求通知の送信元である通信サーバモジュールｎi'にセグメントを転送し（ステップＳ２４０９）、該当番組ファイルをクローズして（ステップＳ２４１０）、全ての処理を終了する。
【０２０８】
一方、蓄積装置から読み出したｗ番目のセグメントに相当するデータが最後のセグメントに相当するデータであるか否かを確認した結果、最後のセグメントに相当するデータではない場合には（ステップＳ２４０６否定）、蓄積サーバモジュールは、同蓄積装置内の該当番組ファイルにおける最後のセグメントではないことを示す値“０”をＬＡＳＴＦＬＡＧに挿入し（ステップＳ２４１１）、このＬＡＳＴＦＬＡＧ、自身を表す送信元蓄積サーバモジュール識別子、セグメント要求通知に付与されている該当番組のサーバ内番組データ、および蓄積装置内でのセグメント番号ｗをセグメントに付与する（ステップＳ２４１２）。そして、蓄積サーバモジュールは、セグメント要求通知の送信元である通信サーバモジュールｎi'にセグメントを転送する（ステップＳ２４１２）。
【０２０９】
以上のように、送信サーバ側の１台の蓄積装置に対してアクセスを行う通信サーバモジュールは１台だけであり（図２１参照）、その蓄積装置内の番組ファイルに対して通信サーバモジュールにより行われるリードアクセスは、該当番組ファイルの先頭位置から始まって１セグメントずつシーケンシャルに位置をずらしながら行われる（つまり、アクセス位置を示すｗの値を１つずつインクリメントしながら行われる、図２５参照）。このため、送信側サーバにおいて、番組ファイルへのランダムアクセスは発生しない。以上が送信側サーバの動作の説明である。
【０２１０】
［受信側サーバの通信サーバモジュールの動作（実施例１）］
続いて、図を参照しつつ、受信側サーバの通信サーバモジュールの動作を説明する。受信側サーバでは、集合Ｍ’に含まれる１つ１つの通信サーバモジュールがそれぞれ独立に動作を実行する。
【０２１１】
すなわち、図２６に示すように、受信側サーバの通信サーバモジュールは、管理ＤＢから新規番組受信要求を受信すると（ステップＳ２６０１肯定）、番組データを格納する蓄積サーバモジュールＭの集合に含まれる全ての蓄積サーバモジュールに対して、これから受信する番組のマルチメディアデータの格納用ファイルをオープンする指示を出した後（ステップＳ２６０２）、集合Ｍに含まれる全ての蓄積サーバモジュールからのファイルオープン終了通知を待つ（ステップＳ２６０３）。
【０２１２】
全ての蓄積サーバモジュールからのファイルオープン終了通知を受信すると、受信側サーバの通信サーバモジュールは、送信側サーバの対向の通信サーバモジュールに対して、セグメント受信準備完了通知を送信し（ステップＳ２６０４）、マルチメディアデータのセグメント受信処理へ移行する。
【０２１３】
次に、図２７を用いて、セグメント受信処理における通信サーバモジュールの動作を説明する。同図に示すように、受信側サーバの通信サーバモジュールｍi'は、送信側サーバの対向の通信サーバモジュールｎi'から、新規番組のマルチメディアデータのセグメント（図２３参照）を受信すると（ステップＳ２７０１肯定）、上記の式（１４）を用いてセグメントの転送先となる蓄積サーバモジュールを示す識別子ｐの値を算出するとともに（ステップＳ２７０２）、転送先の蓄積サーバモジュールｍpの蓄積装置内におけるセグメントの格納位置識別子ｙの値を算出する（ステップＳ２７０３）。
【０２１４】
そして、通信サーバモジュールｍi'は、受信したセグメントにサーバ内番組データおよび位置識別子ｙを付与した後（ステップＳ２７０４）、識別子ｐに基づいて判明した転送先の蓄積サーバモジュールｍpへセグメントを転送する（ステップＳ２７０５）。図２８に、通信サーバモジュールｍi'から蓄積サーバモジュールｍpへ転送されるセグメント構成例を示す。
【０２１５】
蓄積サーバモジュールｍpへセグメントを転送した後、通信サーバモジュールｍi'は、送信側サーバの対向の通信サーバモジュールｎi'から転送終了通知が既に届いているか否か検査する（ステップＳ２７０６）。検査の結果、転送終了通知が既に届いている場合には（ステップＳ２７０６肯定）、新規番組のマルチメディアデータを格納する蓄積サーバモジュールの集合Ｍの要素であるすべての蓄積サーバモジュールに対して、通信サーバモジュールｎi'のセグメントの受信処理が終了したことを示す転送終了通知を送信するとともに（ステップＳ２７０７）、管理ＤＢに対しても同様の転送終了通知を送信する（ステップＳ２７０８）。これとは反対に、通信サーバモジュールｎi'から転送終了通知がまだ届いていない場合には（ステップＳ２７０６否定）、通信サーバモジュールｍi'は、新しいセグメントの受信を待機する。
【０２１６】
ここで、セグメントの転送先の蓄積サーバモジュール識別子ｐと、セグメントの格納位置識別子ｙの算出方法についての理解を助けるため、上記の式（１４）を用いて、該当番組のシーケンス番号ｑが０〜６間でのセグメントについて、蓄積サーバモジュール識別子ｐおよびセグメントの格納位置識別子ｙを算出してみると、以下に示す式（５４）のようになり、これらの算出結果は図１６に示す結果と一致していることがわかる。
【０２１７】
【数５４】
2008278198.tif 000056
【０２１８】
［受信側サーバの蓄積サーバモジュールの動作（実施例１）］
続いて、図を参照しつつ、受信側サーバの蓄積サーバモジュールの動作を説明する。集合Ｍに含まれる各蓄積サーバモジュールがそれぞれ独立に動作を実行する。
【０２１９】
すなわち、図２９に示すように、受信側サーバの蓄積サーバモジュールは、集合Ｍ’に含まれる各通信サーバモジュールにおいて該当番組のセグメント受信処理が完了したか否かを示す転送終了フラグを全て“０”に初期化する（ステップＳ２９０１）。
【０２２０】
ここで、転送終了フラグC[j]の値が“０”である場合には、通信サーバモジュールｍj'が、送信側サーバの対向の通信サーバモジュールｎj'から送信されてくるセグメントの受信処理を完了しておらず、引き続き、通信サーバモジュールｍj'から蓄積サーバモジュールへセグメントの転送が行われることを示す。一方、転送終了フラグC[j]の値が“１”である場合には、通信サーバモジュールｍj'が、送信側サーバの対向の通信サーバモジュールｎj'から送信されてくるセグメントの受信処理を完了しており、これ以上、通信サーバモジュールｍj'から蓄積サーバモジュールへセグメントの転送が行われないことを示す。
【０２２１】
転送終了フラグの初期化を終えると、受信側サーバの蓄積サーバモジュールは、集合Ｍ’中の任意の通信サーバモジュールからの何かしらの通知を待つ（ステップＳ２９０２）。この通知としては、番組格納用のファイルオープン指示通知、セグメントの転送終了通知、および実際のセグメントの転送といった３種類の通知が考えられ、蓄積サーバモジュールは、これらの通知の種類に応じた動作を実行する。
【０２２２】
通信サーバモジュールから通知を受け付けると（ステップＳ２９０２肯定）、受信側サーバの蓄積サーバモジュールは、通知がファイルオープン指示通知であるか否か確認する（ステップＳ２９０３）。確認の結果、ファイルオープン指示通知である場合には（ステップＳ２９０３肯定）、蓄積サーバモジュールは、該当番組格納用のファイルをオープン済みであるか否か確認する（ステップＳ２９０４）。確認の結果、ファイルをオープンしていない場合には（ステップＳ２９０４否定）、蓄積サーバモジュールは、自身の蓄積装置内の番組ファイルをオープンして、通信サーバモジュールにファイルオープン終了通知を送信する（ステップＳ２９０６）。これとは反対に、ファイルをオープン済みである場合には（ステップＳ２９０４肯定）、蓄積サーバモジュールは、そのまま、通信サーバモジュールにファイルオープン終了通知を送信する。
【０２２３】
このように、各蓄積サーバモジュールは、自身の蓄積装置内に該当番組格納用のファイルをオープンする処理を１度行えばよい。しかし、実際には、集合Ｍ’中の各通信サーバモジュールが動作時において、それぞれ独立にファイルのオープン指示を全ての蓄積サーバモジュールに発行するため、各蓄積サーバモジュールには全部でＳ2からのファイルオープン指示通知が届くことになる。そこで、最初にファイルオープン指示通知が届いた時にのみ、番組格納用のファイルをオープンする処理を行い、それ以後のファイルオープン指示通知については、そのまま、ファイルオープン終了通知を送信を送信することで対処すればよい。
【０２２４】
ここで、ステップＳ２９０３の説明に戻ると、通信サーバモジュールから受け付けた通知の内容を確認した結果、ファイルオープン指示通知ではない場合には（ステップＳ２９０３否定）、蓄積サーバモジュールは、転送終了通知であるか否か確認する（ステップＳ２９０７）。確認の結果、転送終了通知である場合には（ステップＳ２９０７肯定）、蓄積サーバモジュールは、その通知を送信した通信サーバモジュールｍi'に対応する転送終了フラグの値を“１”にセットする（ステップＳ２９０８）。このとき、蓄積サーバモジュールは、全通信サーバモジュールに対応する全転送終了フラグの値が“１”であるか否か確認する（ステップＳ２９０９）。確認の結果、全転送終了フラグの値が全て“１”である場合には（ステップＳ２９０９肯定）、これ以上、通信サーバモジュールから該当番組のセグメントが転送されてくることはないので、番組格納用ファイルをクローズして（ステップＳ２９１０）、全ての処理を終了する。
【０２２５】
これとは反対に、全転送終了フラグの値が全て“１”ではない場合には（ステップＳ２９０９否定）、蓄積サーバモジュールは、通信サーバモジュールからの通知を待つ。
【０２２６】
ここで、ステップＳ２９０７の説明に戻ると、通信サーバモジュールから受け付けた通知の内容を確認した結果、転送終了通知でもない場合には（ステップＳ２９０７否定）、蓄積サーバモジュールは、マルチメディアデータのセグメントが転送されてきたものと判断して、格納位置識別子ｙの値を参照し、転送されてきたマルチメディアデータのセグメントを自身の蓄積装置内の番組ファイルのｙ番目セグメント位置に格納する（ステップＳ２９１１）。図３０に、この格納処理の概要を示す。格納処理を終了すると、蓄積サーバモジュールは、再び、通信サーバモジュールからの通知を待つ。以上が、受信側サーバの動作の説明である。
【０２２７】
［実施例１による効果］
上述してきたように、実施例１では、上記した課題を解決するための手段（方式（１））を用いて、構成の異なる２台の分散ＲＡＩＤ型マルチメディアサーバ装置間で、一方のマルチメディアサーバ装置内の蓄積装置に分散格納された１番組のマルチメディアデータのセグメントを４台の通信サーバモジュールを用いて、他方のマルチメディアサーバ装置に対して並列に転送し、転送先のマルチメディアサーバ装置では、受信したマルチメディアデータのセグメントを順序正しく並び替えて、自装置内の蓄積装置に格納する場合を説明した。このようなことから、実施例１によれば、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で送受信することが可能である。
【０２２８】
また、実施例１によれば、送信側として機能する分散ＲＡＩＤ型マルチメディアサーバ装置において、各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみから、送信対象となるセグメントの読み出しを行うので、蓄積サーバモジュールおよび通信サーバモジュール間で排他的に読出しアクセスを行うことを保証することができ、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で高速に送受信することが可能であるとともに、送信側サーバの実装を容易にすることが可能である。
【実施例２】
【０２２９】
引き続き、以下では、本発明の一実施形態である実施例２について説明する。なお、以下の実施例２では、上記の実施例１と同様のシステム構成（図８参照）を用いて、分散ＲＡＩＤ型マルチメディアサーバ装置１内の蓄積装置３〜８を跨いで格納されたマルチメディアデータを分散ＲＡＩＤ型マルチメディアサーバ装置２に転送し、分散ＲＡＩＤ型マルチメディアサーバ装置２内の蓄積装置１〜５に跨って格納される実施例１と同様の動作（図１６参照）について説明する。
【０２３０】
また、実施例２では、上記の方式（２）において説明した写像Ωとして、上記の実施例１で用いて写像Ψと同様の写像、すなわち、集合Ｍ’の各要素をｍ1'〜ｍS2'へと巡回しながら、集合Ｍの要素をｍ1〜ｍS3まで順番に一つずつ割り当てていく写像を用いるものとする。このとき、実施例１で用いた写像Ψと同様に考えて、１≦ｉ≦Ｓ2となるｉに対して、以下に示す式（５５）、（５６）および（５７）が成立する。
【０２３１】
【数５５】
2008278198.tif 000057
【０２３２】
【数５６】
2008278198.tif 000058
【０２３３】
【数５７】
2008278198.tif 000059
【０２３４】
このとき、上記の方式（２）で説明した式（３６）、（３７）および（３８）は、上記の式（５７）を用いることにより、以下に示す式（５８）、（５９）および（６０）のように具体化される。
【０２３５】
【数５８】
2008278198.tif 000060
【０２３６】
【数５９】
2008278198.tif 000061
【０２３７】
【数６０】
2008278198.tif 000062
【０２３８】
実施例２では、図８に示す制御端末および管理ＤＢは実施例１と同様の動作を行うので、詳細な説明は省略する。以下に、実施例２に係る送受信サーバの動作を説明する。
【０２３９】
［送信側サーバの通信サーバモジュールの動作（実施例２）］
まず、図を参照しつつ、送信側サーバの通信サーバモジュールの動作を説明する。送信側サーバでは、上記の実施例１と同様に、集合Ｎ’に含まれる１つ１つの通信サーバモジュールがそれぞれ独立に動作を実行するが、以下に説明する点が実施例１とは異なる。
【０２４０】
具体的には、図３１に示すように、通信サーバモジュールは、集合Ｎ’に属するそれぞれの通信サーバモジュールが、集合Ｎの全ての要素の蓄積サーバモジュールに対して番組ファイルのオープン指示を発行する点（ステップＳ３１０４）、および受信側サーバの集合Ｍiを求める計算を行う点（ステップＳ３１０３）が実施例１とは異なる。
【０２４１】
すなわち、上記の方式（２）に基づいた実施例２では、蓄積サーバモジュールに対して各通信サーバモジュールが排他的にアクセスを行っていないため、番組ファイルのオープン指示の発行について排他制御の枠組を適用する必要がなく、上記の式（５８）、（５９）および（６０）の演算を実行するためにＭiの情報が必要となるからである。これらの動作以外（ステップＳ３１０１、Ｓ３１０２，Ｓ３１０５およびＳ３１０６）は上記の実施例１と同様である（図１９参照）。
【０２４２】
ここで、図３１に示すステップＳ３１０３の処理において定まる集合Ｍiを具体的に求めてみる。すなわち、以下に示す式（６１）および上記の式（５６）から、以下に示す式（６２）が導かれる。
【０２４３】
【数６１】
2008278198.tif 000063
【０２４４】
【数６２】
2008278198.tif 000064
【０２４５】
さらに、上記の式（６２）に示される値を考慮して、上記の式（５５）により、以下に示す式（６３）が導かれる。なお、ここで用いた写像Ωが上記の式（３１）〜（３３）を満たすことは容易に確認することができる。
【０２４６】
【数６３】
2008278198.tif 000065
【０２４７】
次に、図３２を用いて、セグメント転送処理における通信サーバモジュールの動作を説明する。同図に示すように、通信サーバモジュールｎi'は、受信側サーバの対向の通信サーバモジュールｍi'に対して転送するセグメントのカウンタｘの値を“０”に初期化して（ステップＳ３２０１）、図３１に示すステップＳ３１０３で求めた｜Ｍi｜およびｇi（）と、上記の式（５８）および（５９）とを用いて、現在のｘの値に対応するｔ、ｗの値を求める（ステップＳ３２０２）。
【０２４８】
ｔ、ｗの値を求めた後、通信サーバモジュールｎi'は、自身を表す送信元通信サーバモジュール識別子、管理ＤＢからの新規番組送信要求に含まれていた該当番組のサーバ内番組データ、および蓄積サーバモジュール内のセグメント番号ｗを付加情報に持つセグメント要求を作成し（ステップＳ３２０３）、蓄積サーバモジュールｎtへセグメント要求通知を発行する（ステップＳ３２０４）。
【０２４９】
蓄積サーバモジュールｎtからセグメント要求通知に対するセグメントを受信すると（ステップＳ３２０５）、受信したセグメント内のマルチメディアデータに対してサーバ内番組データ、および上記の式（６０）で定まるシーケンス番号ｑを付与して（ステップＳ３２０６）、受信側サーバの対向の通信サーバモジュールｍi'へそのセグメントを送信する（ステップＳ３２０７）。
【０２５０】
セグメントの送信後、通信サーバモジュールｎi'は、受信側サーバの対向の通信サーバモジュールｍi'から転送終了通知が届いているか否か確認する（ステップＳ３２０８）。確認の結果、転送終了通知が届いていない場合には（ステップＳ３２０８否定）、通信サーバモジュールｎi'は、転送終了通知が届くまで、ｘの値をインクリメントしながら（ステップＳ３２０９）、上記のステップＳ３２０２〜ステップＳ３２０７までの処理を繰り返す。
【０２５１】
これとは反対に、転送終了通知が届いている場合には（ステップＳ３２０８肯定）、通信サーバモジュールｎi'は、集合Ｎの全ての蓄積サーバモジュールへ転送終了通知を送信するとともに（ステップＳ３２１０）、管理ＤＢへ転送終了通知を送信して（ステップＳ３２１１）、全ての処理を終了する。
【０２５２】
ここで、送信側サーバの通信サーバモジュールｎi'が受信側サーバの通信サーバモジュールｍi'に対して、セグメントを送信する場合の上記ｔ、ｗ、ｑの値の計算方法、および、それらの意味に関する理解を助けるために、通信サーバモジュールｎ1'（＝１）が対向の通信サーバモジュールｍ1'（＝２）に対して送信するセグメントについて、上記の式（５８）、（５９）および（６０）を用いて、ｘ＝０〜５までのｔ、ｗ、ｑの値を計算してみると、以下に示す式（６４）、（６５）、（６６）、（６７）、（６８）および（６９）のようになる（ｉ＝１、｜Ｍi｜＝２、Ｓ1＝６、Ｓ2＝４、Ｓ3＝５であることに注意）。
【０２５３】
【数６４】
2008278198.tif 000066
【０２５４】
【数６５】
2008278198.tif 000067
【０２５５】
【数６６】
2008278198.tif 000068
【０２５６】
【数６７】
2008278198.tif 000069
【０２５７】
【数６８】
2008278198.tif 000070
【０２５８】
【数６９】
2008278198.tif 000071
【０２５９】
以上の計算結果は、通信サーバモジュールｎ1'（＝１）が、蓄積サーバモジュールｎt＝ｎ1＝３のｗ＝１番目のセグメント位置にあるマルチメディアデータに、セグメント番号ｑ＝０を付与したものを最初のセグメントとしてｍ1'＝２へ送信し、２番目のセグメントとして蓄積サーバモジュールｎt＝ｎ5＝７のｗ＝１番目のセグメント位置にあるマルチメディアデータに、セグメント番号ｑ＝４を付与したものを送信し、３番目のセグメントとして蓄積サーバモジュールｎt＝ｎ6＝８のｗ＝１番目のセグメント位置にあるマルチメディアデータに、セグメント番号ｑ＝５を付与したものを送信し、４番目のセグメントとして蓄積サーバモジュールｎt＝ｎ4＝６のｗ＝２番目のセグメント位置にあるマルチメディアデータに、セグメント番号ｑ＝９を付与したものを送信し、５番目のセグメントとして蓄積サーバモジュールｎt＝ｎ5＝７のｗ＝２番目のセグメント位置にあるマルチメディアデータに、セグメント番号ｑ＝１０を付与したものを送信し、６番目のセグメントとして蓄積サーバモジュールｎt＝ｎ3＝５のｗ＝３番目のセグメント位置にあるマルチメディアデータに、セグメント番号ｑ＝１４を付与したものを送信することを意味している。
【０２６０】
上記の図１６に示した分散ＲＡＩＤ型マルチメディアサーバ装置１の蓄積サーバモジュールの蓄積装置上で、該当番組データのそれぞれのシーケンス番号のセグメントが格納されている位置とこれの計算結果とを比較することにより、上記の式（６０）により送出セグメントへのシーケンス番号の付与が正しく行われていることがわかる。
【０２６１】
また、上記の６つのセグメントのシーケンス番号の並び“０,４，５,９,１０,１４”に着目すれば、これらのセグメントは分散ＲＡＩＤ型マルチメディアサーバ装置２で受信された後、同サーバ装置内の蓄積サーバモジュールｍ1とｍ5に交互に格納されていることがわかる。ここで、ｍ1＝ｍ1_1、ｍ5＝ｍ1_2、｜Ｍ1｜＝２であることから、分散ＲＡＩＤ型マルチメディアサーバ装置２の通信サーバモジュールｍi'は、Ｍ1のすべての要素の蓄積サーバモジュールを巡回しながら受信したセグメントを格納するという、上記の
方式（２）で説明した所望の動作を実現できていることが確認できる。分散ＲＡＩＤ型マルチメディアサーバ装置１および２の他の通信サーバモジュールについても、同様の方法で動作を確認することができる。
【０２６２】
［送信側サーバの蓄積サーバモジュールの動作（実施例２）］
続いて、図を参照しつつ、送信側サーバの蓄積サーバモジュールの動作を説明する。図３３に示すように、蓄積サーバモジュールは、集合Ｎ’に含まれる各通信サーバモジュールからセグメントの転送終了通知が到着したか否かを示す転送終了フラグの値を全て“０”に初期化する（ステップＳ３３０１）。
【０２６３】
転送終了フラグC[j]の値が“０”である場合には、通信サーバモジュールｎj'からのセグメント要求通知が今後も送られてくることを示し、転送終了フラグC[j]の値が“０”ではない場合（“１”である場合）には、通信サーバモジュールｎj'からのセグメント要求がこれ以上送られてこないことを示す。
【０２６４】
転送終了フラグの初期化が終了すると、蓄積サーバモジュールは、集合Ｎ’の任意の通信サーバモジュールからの通知を待つ（ステップＳ３３０２）。この通知としては、番組格納用ファイルのオープン指示、セグメント転送終了通知、およびセグメント要求通知の３種類があり、蓄積サーバモジュールは、これらの通知の種類に応じた動作を実行する。
【０２６５】
通信サーバモジュールから通知を受け付けると（ステップＳ３３０２肯定）、受信側サーバの蓄積サーバモジュールは、通知がファイルオープン指示通知であるか否か確認する（ステップＳ３３０３）。確認の結果、ファイルオープン指示通知である場合には（ステップＳ３３０３肯定）、蓄積サーバモジュールは、該当番組格納用のファイルをオープン済みであるか否か確認する（ステップＳ３３０４）。確認の結果、ファイルをオープンしていない場合には（ステップＳ３３０４否定）、蓄積サーバモジュールは、自身の蓄積装置内の番組ファイルをオープンして、通信サーバモジュールにファイルオープン終了通知を送信する（ステップＳ３３０５）。これとは反対に、ファイルをオープン済みである場合には（ステップＳ３３０４肯定）、蓄積サーバモジュールは、そのまま、通信サーバモジュールにファイルオープン終了通知を送信する（ステップＳ３３０６）。
【０２６６】
前述のように、集合Ｎ’中の各通信サーバモジュールが動作の開始時においてそれぞれ独立にファイルのオープン指示をすべての蓄積サーバモジュールに対して発行するため、各蓄積サーバモジュールに対して全部でＳ2回のファイルのオープン指示が届く。しかし、本来、各蓄積サーバモジュールは、自身の蓄積装置内に該当番組格納用のファイルをオープンする処理を１度行えばよい。そこで、最初にファイルオープン指示通知が届いた時にのみ、番組格納用のファイルをオープンする処理を行い、それ以後のファイルオープン指示通知については、そのまま、ファイルオープン終了通知を送信を送信することで対処すればよい。
【０２６７】
ここで、ステップＳ３３０３の説明に戻ると、通信サーバモジュールから受け付けた通知の内容を確認した結果、ファイルオープン指示通知ではない場合には（ステップＳ３３０３否定）、蓄積サーバモジュールは、転送終了通知であるか否か確認する（ステップＳ３３０７）。確認の結果、転送終了通知である場合には（ステップＳ３３０７肯定）、蓄積サーバモジュールは、その通知を送信した通信サーバモジュールｎi'に対応する転送終了フラグの値を“１”にセットする（ステップＳ３３０８）。このとき、蓄積サーバモジュールは、全通信サーバモジュールに対応する全転送終了フラグの値が“１”であるか否か確認する（ステップＳ３３０９）。確認の結果、全転送終了フラグの値が全て“１”である場合には（ステップＳ３３０９肯定）、これ以上、通信サーバモジュールから該当番組のセグメントが転送されてくることはないので、番組格納用ファイルをクローズして（ステップＳ３３１０）、全ての処理を終了する。
【０２６８】
これとは反対に、全転送終了フラグC[j]の値が全て“１”ではない場合には（ステップＳ３３０９否定）、蓄積サーバモジュールは、通信サーバモジュールからの通知を待つ。
【０２６９】
ここで、ステップＳ３３０７の説明に戻ると、通信サーバモジュールから受け付けた通知の内容を確認した結果、転送終了通知でもない場合には（ステップＳ３３０７否定）、蓄積サーバモジュールは、マルチメディアデータのセグメント要求が通知されてきたものと判断して、格納位置識別子ｗの値を参照し、自身の蓄積装置内のすでにオープンしてある番組ファイルのｗ番目のセグメント位置のマルチメディアデータを読み出す（ステップＳ３３１１）。そして、このデータに、自身を表す送信元蓄積サーバモジュール識別子、サーバ内番組データ、および読み出したデータの蓄積装置内におけるセグメント位置を示す番号ｗを付与した後（ステップＳ３３１２）、通信サーバモジュールｎi'に対してセグメントを送信する（ステップＳ３３１３）。以上が、送信側サーバの動作の説明である。
【０２７０】
［受信側サーバの通信サーバモジュールの動作（実施例２）］
続いて、図を参照しつつ、受信側サーバの通信サーバモジュールの動作を説明する。受信側サーバでは、集合Ｍ’に含まれる１つ１つの通信サーバモジュールがそれぞれ独立に動作を実行する。
【０２７１】
すなわち、図３４に示すように、受信側サーバの通信サーバモジュールは、管理ＤＢから新規番組受信要求を受信すると（ステップＳ３４０１肯定）、この新規番組受信要求に含まれる通信サーバモジュールの集合Ｍ’を参照し、この集合の中に自身の通信サーバモジュール識別子が書かれている位置を検出することにより、この集合Ｍ’における自身の位置を示す識別子ｉの値を判別する（ステップＳ３４０２）。
【０２７２】
そして、通信サーバモジュールは、この判別した識別子ｉと、集合Ｍ’およびＭを用いて、上記の式（５５）および（５６）から写像Ωに基づく集合Ｍiの要素、すなわち、自身がセグメントの転送を担当する蓄積サーバモジュールの集合を決定する（ステップＳ３４０３）。
【０２７３】
Ｍiを決定すると、通信サーバモジュールは、集合Ｍiの各要素Ｍi_j（１≦ｊ≦｜Ｍi｜）へ転送すべき総セグメント数Ｌjを計算する（ステップＳ３４０４）。このＬjは、ｍi_j＝ｍgi(j)を満たす上記の式（５７）の関数ｇi（）、新規番組受信要求内の番組データに含まれる番組長Ｌ、およびＳ3を用いて、以下に示す式（７０）のように算出される。
【０２７４】
【数７０】
2008278198.tif 000072
【０２７５】
また、このＬjは、送信側サーバの対向の通信サーバモジュールｎi'へセグメントの格納完了通知を送信するための判断に用いられる。
【０２７６】
このように、上記の方式（２）に基づく実施例２では、送信側サーバの集合Ｎ’に属する通信サーバモジュールは、同サーバ内の集合Ｎに属する全蓄積サーバモジュールからランダムに番組データのセグメントを受信するため、同通信サーバモジュールにおいて番組データの送信終了を検出することは難しい。このため、実施例２では、以下に説明するように、受信側サーバの通信サーバモジュールにおいてセグメントの受信完了を判断し、送信側サーバに通知する。
【０２７７】
上記のステップＳ３４０４が終了すると、通信サーバモジュールは、Ｍiの全ての要素の蓄積サーバモジュールに対して、ファイルオープン指示通知を送信することにより番組格納用ファイルのオープンを指示する（ステップＳ３４０５）。そして、通信サーバモジュールはファイルオープン終了通知の受信を待機し（ステップＳ３４０６）、Ｍiの全ての要素の蓄積サーバモジュールからファイルオープン終了通知を受け付けると、送信側サーバの対向の通信サーバモジュールｎi'へセグメントの受信準備完了通知を送信し（ステップＳ３４０７）、セグメント受信処理へ移行する。
【０２７８】
次に、図３５を用いて、セグメント受信処理における通信サーバモジュールの動作を説明する。同図に示すように、受信側サーバの通信サーバモジュールは、Ｍiの各要素に対応する格納終了フラグ、および格納セグメントカウンタを全て“０”に初期化する（ステップＳ３５０１およびステップＳ３５０２）。この格納終了フラグC1[j]は、Ｍi_jへのセグメント転送が完了したか否かを示すフラグであり、格納セグメントカウンタC2[j]は、Ｍi_jへ転送したセグメントの数を示すカウンタである。
【０２７９】
各フラグ、各カウンタの初期化が終了すると、送信側サーバの対向の通信サーバモジュールｎi'からの該当番組の新しいセグメントが到着するのを待つ（ステップＳ３５０３）。そして、新しいセグメントが到着すると、通信サーバモジュールは、そのセグメントのシーケンス番号ｑの値および上記の式（１４）を用いて、セグメントの転送先蓄積サーバモジュールを示すｐの値を求めるとともに（ステップＳ３５０４）、および蓄積装置内の該当番組ファイル内におけるセグメント格納位置識別子ｙの値を求める（ステップＳ３５０５）。そして、通信サーバモジュールは、転送先蓄積サーバモジュールｍpに対応する格納セグメントカウンタの値をインクリメントする（ステップＳ３５０６）。
【０２８０】
そして、通信サーバモジュールは、蓄積サーバモジュールｍpへ格納すべき該当番組の全てのセグメントの受信が完了したか否か判断する（格納セグメントカウンタの値がＬpになっているか否か、ステップＳ３５０７）。その結果、蓄積サーバモジュールｍpへ格納すべき全てのセグメントの受信が完了していない場合には（ステップＳ３５０７否定）、通信サーバモジュールｍi'から蓄積サーバモジュールｍpへの最後のセグメントの転送ではないことを示す値“０”ＬＡＳＴＦＬＡＧにセットし（ステップＳ３５０８）、送信側サーバから受信したセグメントのマルチメディアデータに対して、このＬＡＳＴＦＬＡＧ、サーバ内番組データ、および位置識別子ｙを付与するとともに（ステップＳ３５０９）、このセグメントを蓄積サーバモジュールｍpへ転送して（ステップＳ３５１０）、次のセグメント到着を待つ。
【０２８１】
一方、通信サーバモジュールは、蓄積サーバモジュールｍpへ格納すべき全てのセグメントの受信が完了している場合には（ステップＳ３５０７肯定）、通信サーバモジュールｍi'から蓄積サーバモジュールｍpへの最後のセグメントの転送であることを示す値“１”をＬＡＳＴＦＬＡＧにセットし（ステップＳ３５１１）、送信側サーバから受信したセグメントのマルチメディアデータに対して、このＬＡＳＴＦＬＡＧ、サーバ内番組データ、および位置識別子ｙを付与するとともに（ステップＳ３５１２）、このセグメントを蓄積サーバモジュールｍpへ転送する（ステップＳ３５１３）。そして、蓄積サーバモジュールｍpに対応する格納終了フラグの値を“１”にセットする（ステップＳ３５１４）。
【０２８２】
このとき、通信サーバモジュールは、全ての蓄積サーバモジュールに対応する格納終了フラグの値が“１”にセットされているか否か確認する（ステップＳ３５１５）。確認の結果、全ての蓄積サーバモジュールに対応する格納終了フラグの値が“１”にセットされている場合には（ステップＳ３５１５肯定）、通信サーバモジュールは、自身が担当する全ての蓄積サーバモジュールに対するセグメントの転送が完了したことになるため、送信側サーバの対向の通信サーバモジュールｎi'に対して、その旨を通知するための格納完了通知を送信するとともに（ステップＳ３５１６）、管理ＤＢにも同様の格納完了通知を送信して（ステップＳ３５１７）、全ての処理を終了する。
【０２８３】
これとは反対に、全ての蓄積サーバモジュールに対応する格納終了フラグの値が“１”にセットされていない場合には（ステップＳ３５１５否定）、通信サーバモジュールは、次のセグメントの到着を待つ。
【０２８４】
［受信側サーバの蓄積サーバモジュールの動作（実施例２）］
続いて、図を参照しつつ、受信側サーバの蓄積サーバモジュールの動作を説明する。集合Ｍに含まれる各蓄積サーバモジュールがそれぞれ独立に動作を実行する。
【０２８５】
すなわち、図３６に示すように、集合Ｍiに含まれる蓄積サーバモジュールは、通信サーバモジュールｍi'から番組格納用のファイルオープン指示があると（すなわち、ファイルオープン指示通知を受信すると、ステップＳ３６０１肯定）、自身の蓄積装置上に該当番組データの書込み用ファイルをオープンした後（ステップＳ３６０２）、通信サーバモジュールｍi'へファイルオープン終了通知を送信する（ステップＳ３６０３）。
【０２８６】
そして、蓄積サーバモジュールは、通信サーバモジュールｍi'から該当番組の新しいセグメントが到着するのを待つ（ステップＳ３６０４）。新しいセグメントが到着すると、蓄積サーバモジュールは、そのセグメント内のマルチメディアデータを番組格納用ファイルに格納する（ステップＳ３６０５）。このとき、セグメント内の位置識別子ｙによって指定された番組ファイル内の位置にマルチメディアデータを格納する。
【０２８７】
マルチメディアデータを格納した後、蓄積サーバモジュールは、受信したセグメント内のＬＡＳＴＦＬＡＧの値が“１”であるか否か確認する（ステップＳ３６０６）。確認の結果、ＬＡＳＴＦＬＡＧの値が“１”である場合には（ステップＳ３６０６肯定）、これ以上、通信サーバモジュールｍi'から新しい番組のセグメントが到着することはないので、番組格納用ファイルをクローズして（ステップＳ３６０７）、全ての処理を終了する。これとは反対に、ＬＡＳＴＦＬＡＧの値が“１”ではない場合には（ステップＳ３６０６否定）、次のセグメント到着を待つ。以上が受信側サーバの動作の説明である。
【０２８８】
［実施例２による効果］
上述してきたように、実施例２では、上記した課題を解決するための手段（方式（２））を用いて、構成の異なる２台の分散ＲＡＩＤ型マルチメディアサーバ装置間で、一方のマルチメディアサーバ装置内の蓄積装置に分散格納された１番組のマルチメディアデータのセグメントを４台の通信サーバモジュールを用いて、他方のマルチメディアサーバ装置に対して並列に転送し、転送先のマルチメディアサーバ装置では、受信したマルチメディアデータのセグメントを順序正しく並び替えて、自装置内の蓄積装置に格納する場合を説明した。このようなことから、実施例２によれば、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で送受信することが可能である。
【０２８９】
また、実施例２によれば、受信側として機能する分散ＲＡＩＤ型マルチメディアサーバ装置において、各セグメントをそれぞれが備える蓄積装置に分散格納した複数の蓄積サーバモジュールのそれぞれに対して通信サーバモジュールを一意に割り当て、各通信サーバモジュールがそれぞれに割り当てられた蓄積サーバモジュールのみに、受信したセグメントの書き込みを行うので、蓄積サーバモジュールおよび通信サーバモジュール間で排他的に書き込みアクセスを行うことを保証することができ、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で高速に送受信することが可能であるとともに、受信側サーバの実装を容易にすることが可能である。
【実施例３】
【０２９０】
引き続き、以下では、上記の課題を解決するための手段で説明した方式（３）に基づく本発明の一実施形態を実施例３として説明する。なお、以下の実施例２では、上記の実施例１および２と同様のシステム構成（図８参照）を用いて、分散ＲＡＩＤ型マルチメディアサーバ装置１内の蓄積装置３〜８を跨いで格納されたマルチメディアデータを分散ＲＡＩＤ型マルチメディアサーバ装置２に転送し、分散ＲＡＩＤ型マルチメディアサーバ装置２内の蓄積装置１〜５に跨って格納される実施例１および２と同様の動作（図１６参照）について説明する。
【０２９１】
また、実施例３では、送信側サーバ、すなわち、図８に例示する分散ＲＡＩＤ型マルチメディアサーバ装置１に、課題を解決するための手段の方式（１）内で説明した写像Ψとして上記の実施例１と同様の写像を用い、受信側サーバ、すなわち、分散ＲＡＩＤ型マルチメディアサーバ装置２に、課題を解決するための手段の方式（２）内で説明した写像Ωとして上記の実施例２と同様の写像を用いるものとする。したがって、実施例３においても、実施例１において説明した上記の式（４５）〜（４７）、実施例２において説明した上記の式（５５）〜（５７）が同様に成立する。また、実施例では、上記の式（４７）により、上記の方式（３）で説明した上記の式（３９）は以下に示す式（７１）のように具体化される。
【０２９２】
【数７１】
2008278198.tif 000073
【０２９３】
また、実施例３では、図８に示す制御端末および管理ＤＢは実施例１および２と同様の動作を行うので、詳細な説明は省略する。以下に、実施例３に係る送受信サーバの動作を説明する。
【０２９４】
［送信側サーバの通信サーバモジュールの動作（実施例３）］
まず、図を参照しつつ、送信側サーバの通信サーバモジュールの動作を説明する。送信側サーバでは、上記の実施例１と同様に、集合Ｎ’に含まれる１つ１つの通信サーバモジュールがそれぞれ独立に動作を実行するが、以下に説明する点が実施例１とは異なる。
【０２９５】
具体的には、図３７に示すステップＳ３７０４の動作（Ｍj（１≦j≦Ｓ2）を求める計算を実行する点）が上記の実施例１とは異なり、それ以外の動作は実施例１で説明した送信側サーバの通信サーバモジュールと同様である（図１９参照）。このステップＳ３７０４による計算結果は、図３８に示すセグメント転送処理において、セグメントを受信側サーバへ送信する際の宛て先の通信サーバモジュールを決定するために必要となるものである。
【０２９６】
また、図３８に示すセグメント転送処理についても、ステップＳ３８０８およびステップＳ３８０９の動作が上記の実施例１とは異なり、それ以外の動作は実施例１で説明した送信側サーバの通信サーバモジュールと同様である（図２０参照）。すなわち、上記の実施例１では、セグメントの送信先となる受信側サーバの通信サーバモジュールは固定（対向の通信サーバモジュールｍi'）であるのに対し、実施例３では、ステップＳ３８０８によって求められる宛先に対して各セグメントを送信する。これにより、受信側サーバの通信サーバモジュールｍj'（１≦ｊ≦Ｓ2）が、受信側サーバの集合Ｍjに含まれる蓄積サーバモジュール以外の蓄積サーバモジュールにアクセスしないという排他制御を実現している。
【０２９７】
ここで、セグメントの送信先となる受信側サーバの通信サーバモジュールを求める計算についての理解を助けるために、送信側サーバの通信サーバモジュールｎ1'の動作を例に挙げて、この通信サーバモジュールｎ1'が送信するセグメントについて計算した結果を以下の式（７２）に示す。
【０２９８】
【数７２】
2008278198.tif 000074
【０２９９】
このように、図１６に示した分散ＲＡＩＤ型マルチメディアサーバ装置１および２の蓄積サーバモジュールの蓄積装置上で、該当番組データのシーケンス番号のそれぞれに対応するセグメントが格納された位置、および前述の各集合の各構成要素と、上記の式（７２）に示す計算結果を比較することにより、上記の式（４８）によって送出セグメントへのシーケンス番号の付与が正しく行われ、また、上記の式（４０）および（７１）によって送信先通信サーバモジュールの選定が正しく行われていることが確認できる。
【０３００】
［送信側サーバの蓄積サーバモジュールの動作（実施例３）］
実施例３の送信側サーバの蓄積サーバモジュールの動作は、図３９に示すように、上記の実施例１で説明した蓄積サーバモジュールの動作（図２４参照）と全く同様であるため説明は省略する。集合Ｎに含まれる各通信サーバモジュールがそれぞれ独立に図３９に示す動作を実行する点も同様である。以上が、送信側サーバの動作の説明である。
【０３０１】
［受信側サーバの通信サーバモジュールの動作（実施例３）］
続いて、図を参照しつつ、受信側サーバの通信サーバモジュールの動作を説明する。動作の説明に入る前に、図４０を用いて、実施例３に係る受信側サーバの通信サーバモジュールの構成を説明する。実施例３に係る受信側サーバの通信サーバモジュールは、本体およびメッセージ受信部の２つの動作主体を備えて構成される。
【０３０２】
メッセージ受信部は、同図に示すように、端末側ネットワークを経由して、送信側サーバの複数の通信サーバモジュールから送信されてくる、ある番組のマルチメディアデータのセグメント、あるいは、転送終了通知を到着順に１つずつ受信し、転送終了通知の場合は転送終了フラグ操作を行い、セグメントの場合はセグメントバッファに格納する処理を行う。
【０３０３】
ここで、実施例３では、送信側サーバの通信サーバモジュール同士が相互に同期を取ることなく非同期に動作していることや、端末側ネットワークの伝送特性に遅延を一定に保つこととする等の仮定をしていないことから、端末側ネットワークを経由して送信されてくる、ある番組のマルチメディアデータのセグメントが、どのような順序で通信サーバモジュールに到着するかは不定である。そこで、受信側サーバの通信サーバモジュール本体は、セグメントバッファに一時的に到着順に格納されたマルチメディアデータのセグメントを検索し、後述するように然るべき順序で蓄積サーバモジュールに転送する処理を行う。
【０３０４】
まず、図４１を用いて、メッセージ受信部の動作を説明する。同図に示すように、メッセージ受信部は、本体によって起動されると（ステップＳ４１０１）、送信側サーバの各通信サーバモジュールに対応する転送終了フラグを全て“０”に初期化する（ステップＳ４１０２）。実施例３では、上記の実施例１と同様に、送信側サーバの各通信サーバモジュールがセグメントの転送終了を通知してくるため、本フラグを用いて各通信サーバモジュールからの転送終了通知の受信が完了したか否かを記録する。
【０３０５】
転送終了フラグの初期化後、メッセージ受信部は、送信側サーバのいずれかの通信サーバモジュールからのメッセージを待つ（ステップＳ４１０３）。そして、メッセージ受信部は、送信側サーバのある通信サーバモジュールｎi'からメッセージを受信すると（ステップＳ４１０３肯定）、受信したメッセージが転送終了通知であるか否か確認する（ステップＳ４１０４）。確認の結果、転送終了通知ではない場合には（ステップＳ４１０４否定）、メッセージ受信部は、受信したメッセージがセグメントであるものと認識し、セグメントをセグメントバッファ内に格納する（ステップＳ４１０５）。そして、メッセージ受信部は、次のメッセージを待つ。
【０３０６】
一方、転送終了通知である場合には（ステップＳ４１０４肯定）、メッセージ受信部は、通信サーバモジュールｎi'に対応する転送終了フラグの値を“１”にセットして（ステップＳ４１０６）、以後、通信サーバモジュールｎi'からメッセージが転送されてこないことを記録する。このとき、メッセージ受信部は、送信側サーバの全ての通信サーバモジュールに対応する各転送フラグが“１”にセットされているか否か確認する（ステップＳ４１０７）。確認の結果、各通信サーバモジュールに対応する転送フラグが全て“１”にセットされている場合には（ステップＳ４１０７肯定）、メッセージ受信部は、全ての処理を終了する。これとは反対に、各通信サーバモジュールに対応する転送フラグの全てが“１”にセットされてはいない場合には（ステップＳ４１０７否定）、次のメッセージを待つ。
【０３０７】
続いて、受信側の通信サーバモジュールの本体の動作について説明する。なお、この本体の動作は、図４２に示すステップＳ４２０２の動作が追加されている点と、および図３１のステップＳ３１０４の動作を必要としない点が上記の実施例２と異なっている。すなわち、実施例３では、送信側サーバの通信サーバモジュールはからセグメントの転送終了が通知されるので、後者の処理を必要としない。その他の本体の動作は、図３１に示す動作と同様である。
【０３０８】
図４２に示す処理を終えると、本体は、図４３に示すように、セグメント転送処理に移行する。本体は、この転送処理において、課題を解決するための手段内の方式（３）で説明したように、図４２に示すステップＳ４２０４で求めた集合Ｍiの蓄積サーバモジュールに対して、ｍi_1からｍi_|Mi|をこの順に巡回しながら、セグメントを転送し、その結果、各蓄積装置内の番組ファイルへの書き込み位置を先頭からシーケンシャルに変化させることを達成しなければならない（注：受信側サーバにおける蓄積サーバモジュールへのアクセスの通信サーバモジュール間での排他制御については、送信側サーバによるセグメントの転送先制御により達成される）。
【０３０９】
このようなことから、この転送処理では、蓄積装置ｍi_p（１≦ｐ≦｜Ｍi｜）内の番組ファイルのｙ（１≦ｙ）番目の位置に格納されるべきセグメントを、セグメントの到着順序とは無関係に、上記の式（４１）によって定まるｘ番目にセグメントバッファから抽出して転送する動作を行う。
【０３１０】
この動作は、ｘ番目に転送されるセグメントに、上記の実施例２で説明した式（６０）によって定まるシーケンス番号ｑが付与されていることに着目すれば、ｘ、ｐ、ｙのそれぞれ値をインクリメントしながら、ｘの値に対応するシーケンス番号ｑを持つセグメントをセグメントバッファから検索し、そのセグメントを蓄積装置ｍi_pへのｙ番目のセグメントとして転送することで実現されることが分かる。
【０３１１】
以下に、図４３を用いて、この動作の流れを説明する。本体は、転送セグメント番号ｘの値を“０”に初期化するとともに（ステップＳ４３０１）、セグメントの転送先蓄積サーバモジュールを示す識別子ｐ、および同セグメントの格納位置識別子ｙをそれぞれ“１”に初期化する（ステップＳ４３０２）。そして、図４２に示すステップＳ４２０３で求められたｉの値、同図に示すステップＳ４２０４で求められた集合Ｍi、および現在のｘの値を用いて、次に転送すべきセグメントのシーケンス番号ｑの値を上記の式（６０）によって算出する（ステップＳ４３０３）。
【０３１２】
このとき、本体は、セグメントバッファ内を検索して、同バッファ内に未処理のセグメントが存在するか否か判断する（ステップＳ４３０４）。その結果、セグメントバッファ内に未処理のセグメントが存在する場合には（ステップＳ４３０４肯定）、上記のステップＳ４３０３で算出したシーケンス番号ｑのセグメントが存在するか否か判断する（ステップＳ４３０５）。その結果、シーケンス番号ｑのセグメントが存在する場合には（ステップＳ４３０５肯定）、そのセグメントのマルチメディアデータに、管理ＤＢによって通知された番組のサーバ内番組データ、および位置識別子ｙを付与し（ステップＳ４３０６）、このセグメントを蓄積サーバモジュールｍi_pに転送して（ステップＳ４３０７）、転送したセグメントをセグメントバッファから削除する（ステップＳ４３０８）。そして、本体は、ｘ、ｐ、ｙの値を適切にインクリメントして（ステップＳ４３０９〜ステップＳ４３１１）、再び、セグメントバッファの検索に戻る。
【０３１３】
一方、セグメントバッファ内に存在する未処理のセグメントの中に、シーケンス番号ｑのセグメントが存在しない場合には（ステップＳ４３０５否定）、本体は、シーケンス番号ｑのセグメントがセグメントバッファ内に格納されるまで、セグメントバッファ内の検索を繰り返す。
【０３１４】
ここで、ステップＳ４３０４の説明に戻ると、セグメントバッファ内に未処理のセグメントが存在しない場合には（ステップＳ４３０４肯定）、本体は、転送終了フラグを参照して、転送終了フラグの値が全て“１”になっているか否か確認する（ステップＳ４３１２）。確認の結果、転送終了フラグの値が全て“１”になっている場合には（ステップＳ４３１２肯定）、本体は、これ以上、送信側サーバからセグメントが送信されてくることはないため、｜Ｍi｜の全蓄積サーバモジュールに対して転送終了通知を送信するとともに（ステップＳ４３１３）、管理ＤＢに対しても同様の転送終了通知を送信して（ステップＳ４３１４）、処理を終了する。これとは反対に、確認の結果、転送終了フラグの値が全て“１”になってはいない場合には（ステップＳ４３１２否定）、本体は、再び、セグメントバッファの検索に戻る。以上が、受信側サーバの動作の説明である。
【０３１５】
［受信側サーバの蓄積サーバモジュールの動作（実施例３）］
実施例３の受信側サーバの蓄積サーバモジュールの動作は、図４４に示すように、処理の終了判断方法（ステップＳ４４０６参照）を除いて、上記の実施例２で説明した蓄積サーバモジュールの動作（図３６参照）と全く同様であるため説明は省略する。以上が、受信側サーバの動作の説明である。
【０３１６】
［実施例３による効果］
上述してきたように、実施例３では、上記した課題を解決するための手段（方式（３））を用いて、構成の異なる２台の分散ＲＡＩＤ型マルチメディアサーバ装置間で、一方のマルチメディアサーバ装置内の蓄積装置に分散格納された１番組のマルチメディアデータのセグメントを４台の通信サーバモジュールを用いて、他方のマルチメディアサーバ装置に対して並列に転送し、転送先のマルチメディアサーバ装置では、受信したマルチメディアデータのセグメントを順序正しく並び替えて、自装置内の蓄積装置に格納する場合を説明した。このようなことから、実施例３によれば、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で送受信することが可能である。
【０３１７】
また、実施例３によれば、送信側として機能する分散ＲＡＩＤ型マルチメディアサーバ装置において、各セグメントを送信する通信サーバモジュールが、受信側として機能する分散ＲＡＩＤ型マルチメディアサーバ装置の通信サーバモジュールをセグメントごとに変更するので、ある１番組のマルチメディア情報を分散型マルチメディアサーバ間で高速に送受信する際に柔軟な対応を実現することが可能である。
【産業上の利用可能性】
【０３１８】
以上のように、本発明に係るマルチメディア情報転送蓄積方法、分散型マルチメディアサーバ装置、分散型マルチメディアサーバシステム、マルチメディア情報転送蓄積方法を実現するプログラムおよび当該プログラムを記録した記録媒体は、１番組のマルチメディアデータをいくつかに分割することにより生成された各セグメントを、それぞれが備える蓄積装置に分散させて格納する複数の蓄積サーバモジュールと、当該蓄積サーバモジュールから受信したセグメントを他の外部装置に送信し、他の外部装置から受信したセグメントを当該蓄積サーバモジュールに送信する通信サーバモジュールとをネットワークで通信可能な状態に接続して構成される分散型マルチメディアサーバ装置において、マルチメディアデータの送受信および蓄積を制御する場合に有用であり、特に、１台の通信サーバモジュールのハードウェアの性能限界を上回る速度で、ある１番組のマルチメディア情報を送受信することに適する。
【実施例４】
【０３１９】
さて、これまで本発明の実施例１〜３について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０３２０】
（１）システム構成等
図８に示したシステムを構成する分散ＲＡＩＤ型マルチメディアサーバ装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、分散ＲＡＩＤ型マルチメディアサーバ装置の分散・統合の具体的形態は図示のものに限られず、各通信サーバモジュールおよび各蓄積サーバモジュールをそれぞれ統合して、単数の通信サーバモジュールおよび単数の蓄積サーバモジュールとするなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、分散ＲＡＩＤ型マルチメディアサーバ装置１にて行なわれる各処理機能（各通信サーバモジュールおよび各蓄積サーバモジュールの動作により実現される処理機能）は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０３２１】
なお、上記の実施例１〜３で説明した各通信サーバモジュールおよび各蓄積サーバモジュールの動作は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【図面の簡単な説明】
【０３２２】
【図１】サーバの構成を限定した場合の本発明の方式における送信側サーバの動作例を示す図である。
【図２】サーバの構成を限定した場合の本発明の方式における受信側サーバの動作例を示す図である。
【図３】構成が一般化された複数の分散ＲＡＩＤ型マルチメディアサーバ装置からなるシステムの構成例を示す図である。
【図４】本発明の方式が実現する動作の概略を説明するための図である。
【図５】集合Ｎの要素を集合Ｎ’の要素へ対応させる写像Ψの説明図である。
【図６】蓄積サーバモジュールを割り当てられた通信サーバモジュールの動作説明図である。
【図７】写像Ψを具体的に規定した場合のセグメント格納方法を説明するための図である。
【図８】本発明の実施例１の説明に用いるシステム構成図である。
【図９】蓄積装置内の番組データファイルの説明図である。
【図１０】実施例１のシステムにおける制御端末の動作を示すフローチャートである。
【図１１】制御端末から管理ＤＢへの転送要求メッセージの形式を示す図である。
【図１２】実施例１の送信側サーバにおける番組データの格納方式を説明するための図である。
【図１３】実施例１のシステムにおける管理ＤＢの動作を示すフローチャートである。
【図１４】実施例１のシステムにおける管理ＤＢの動作を示すフローチャートである。
【図１５】管理ＤＢが管理するデータベースの内容を示す図である。
【図１６】実施例１の送受信側サーバにおける集合Ｎ、Ｎ’、Ｍ、Ｍ’の設定の様子をまとめて示す図である。
【図１７】管理ＤＢから通信サーバモジュールへ送信される送信開始通知の形式を示す図である。
【図１８】管理ＤＢから通信サーバモジュールへ送信される蓄積開始通知の形式を示す図である。
【図１９】実施例１の送信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図２０】実施例１の送信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図２１】実施例１で規定した写像Ψを具体的に示す図である。
【図２２】通信サーバモジュールからのセグメント要求通知とセグメントの形式を示す図である。
【図２３】送信側サーバの通信サーバモジュールから送信されるセグメントの形式を示す図である。
【図２４】実施例１の送信側サーバの蓄積サーバモジュールの動作を示すフローチャートである。
【図２５】送信側サーバにおける番組ファイルからのセグメント読出し処理を説明するための図である。
【図２６】実施例１の受信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図２７】実施例１の受信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図２８】受信側サーバ内部におけるセグメントの形式を示す図である。
【図２９】実施例１の受信側サーバの蓄積サーバモジュールの動作を示すフローチャートである。
【図３０】受信側サーバにおけるセグメントの番組ファイルへの格納処理を説明するための図である。
【図３１】実施例２の送信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図３２】実施例２の送信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図３３】実施例２の送信側サーバの蓄積サーバモジュールの動作を示すフローチャートである。
【図３４】実施例２の受信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図３５】実施例２の受信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図３６】実施例２の受信側サーバの蓄積サーバモジュールの動作を示すフローチャートである。
【図３７】実施例３の送信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図３８】実施例３の送信側サーバの通信サーバモジュールの動作を示すフローチャートである。
【図３９】実施例３の送信側サーバの蓄積サーバモジュールの動作を示すフローチャートである。
【図４０】実施例３の受信側サーバの通信サーバモジュールの構成図である。
【図４１】実施例３の受信側サーバの通信サーバモジュールにおけるメッセージ受信部の動作を示すフローチャートである。
【図４２】実施例３の受信側サーバの通信サーバモジュールにおける本体の動作を示すフローチャートである。
【図４３】実施例３の受信側サーバの通信サーバモジュールにおける本体の動作を示すフローチャートである。
【図４４】実施例３の受信側サーバの蓄積サーバモジュールの動作を示すフローチャートである。
【図４５】従来の分散ＲＡＩＤ型マルチメディアサーバ装置の例を示す図である。
【図４６】従来の分散ＲＡＩＤ型マルチメディアサーバ装置における受信処理の概要を説明するための図である。
【図４７】従来の分散ＲＡＩＤ型マルチメディアサーバ装置における送信処理の概要を説明するための図である。
【図４８】従来の分散ＲＡＩＤ型マルチメディアサーバ装置における複数番組処理の例を示す図である。
【図１】
2008278198.tif 000075
【図２】
2008278198.tif 000076
【図３】
2008278198.tif 000077
【図４】
2008278198.tif 000078
【図５】
2008278198.tif 000079
【図６】
2008278198.tif 000080
【図７】
2008278198.tif 000081
【図８】
2008278198.tif 000082
【図９】
2008278198.tif 000083
【図１０】
2008278198.tif 000084
【図１１】
2008278198.tif 000085
【図１２】
2008278198.tif 000086
【図１３】
2008278198.tif 000087
【図１４】
2008278198.tif 000088
【図１５】
2008278198.tif 000089
【図１６】
2008278198.tif 000090
【図１７】
2008278198.tif 000091
【図１８】
2008278198.tif 000092
【図１９】
2008278198.tif 000093
【図２０】
2008278198.tif 000094
【図２１】
2008278198.tif 000095
【図２２】
2008278198.tif 000096
【図２３】
2008278198.tif 000097
【図２４】
2008278198.tif 000098
【図２５】
2008278198.tif 000099
【図２６】
2008278198.tif 000100
【図２７】
2008278198.tif 000101
【図２８】
2008278198.tif 000102
【図２９】
2008278198.tif 000103
【図３０】
2008278198.tif 000104
【図３１】
2008278198.tif 000105
【図３２】
2008278198.tif 000106
【図３３】
2008278198.tif 000107
【図３４】
2008278198.tif 000108
【図３５】
2008278198.tif 000109
【図３６】
2008278198.tif 000110
【図３７】
2008278198.tif 000111
【図３８】
2008278198.tif 000112
【図３９】
2008278198.tif 000113
【図４０】
2008278198.tif 000114
【図４１】
2008278198.tif 000115
【図４２】
2008278198.tif 000116
【図４３】
2008278198.tif 000117
【図４４】
2008278198.tif 000118
【図４５】
2008278198.tif 000119
【図４６】
2008278198.tif 000120
【図４７】
2008278198.tif 000121
【図４８】
2008278198.tif 000122