情報転送システムおよび情報転送方法
【課題】送信側の各通信サーバモジュールが送信するデータ量に不均衡を生じさせることなく、また、受信側の情報転送システムの内部構成に関する情報を送信側の情報転送システムに通知することなくデータを高速に転送すること。
【解決手段】情報転送システム1aの通信サーバモジュール2が、シーケンス番号が付与されたセグメントを、それぞれ独立して送信する送信工程と、情報転送システム1bの通信サーバモジュール2が、セグメントに付与されたシーケンス番号に基づいて蓄積サーバモジュール3の1つへ振り分ける振り分け工程と、情報転送システム1bの蓄積サーバモジュール3が、情報転送システム1bの通信サーバモジュール2によって振り分けられたセグメントを、セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行する。
【解決手段】情報転送システム1aの通信サーバモジュール2が、シーケンス番号が付与されたセグメントを、それぞれ独立して送信する送信工程と、情報転送システム1bの通信サーバモジュール2が、セグメントに付与されたシーケンス番号に基づいて蓄積サーバモジュール3の1つへ振り分ける振り分け工程と、情報転送システム1bの蓄積サーバモジュール3が、情報転送システム1bの通信サーバモジュール2によって振り分けられたセグメントを、セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報転送システムおよび情報転送方法に関する。
【背景技術】
【0002】
ネットワークを介して接続されたサイト間で動画等のマルチメディアデータを高速に転送する方式として、分散RAID(Redundant Arrays of Inexpensive Disks)方式と呼ばれる方式が知られている(特許文献1参照)。
【0003】
分散RAID方式とは、サイト内に複数の蓄積サーバモジュールと複数の通信サーバモジュールとを設け、各蓄積サーバモジュールと各通信サーバモジュールを独立に動作させる方式である。蓄積サーバモジュールは、マルチメディアデータを分割した単位であるセグメントを循環的に分散して蓄積するために用いられる。通信サーバモジュールは、自サイトの蓄積サーバモジュールからセグメントを読み出して対向のサイトへ送信したり、対向のサイトから送信されたセグメントを受信して自サイトの蓄積サーバモジュールに記憶させたりするために用いられる。
【0004】
分散RAID方式を採用した情報転送システムの一例を図25に示す。図25では、情報転送システム10と、端末20aおよび20bと、マルチメディアデータ入力装置30とが、端末側ネットワーク40に接続されている。端末側ネットワーク40は、マルチメディアデータの伝送に十分な帯域を備えたネットワークであり、例えば、IPネットワークである。
【0005】
端末20aおよび20bは、情報転送システム10に対してマルチメディアデータの配信要求を発行し、情報転送システム10から配信されたマルチメディアデータを再生する。マルチメディアデータ入力装置30は、情報転送システム10に対してマルチメディアデータの蓄積要求を発行し、情報転送システム10から蓄積許可がおりると、蓄積すべきマルチメディアデータを情報転送システム10に対して送信する。
【0006】
情報転送システム10は、分散RAID方式を採用した情報転送システムであり、通信サーバモジュール111〜11MというM台の通信サーバモジュールと、蓄積サーバモジュール121〜12NというN台の蓄積サーバモジュールと、蓄積装置131〜13NというN台の蓄積装置と、サーバモジュール間ネットワーク14とを含む。サーバモジュール間ネットワーク14は、サーバモジュール間の情報のやりとりを中継する。
【0007】
通信サーバモジュール111〜11Mは、端末側ネットワーク40およびサーバモジュール間ネットワーク14と接続されている。通信サーバモジュール111〜11Mは、端末側ネットワーク40側からマルチメディアデータのセグメントを受信すると、受信したセグメントを、サーバモジュール間ネットワーク14を介して蓄積サーバモジュール121〜12Nのいずれかに転送する。また、通信サーバモジュール111〜11Mは、サーバモジュール間ネットワーク14を介して蓄積サーバモジュール121〜12Nのいずれかからマルチメディアデータのセグメントを受信すると、受信したセグメントを端末側ネットワーク40側へ転送する。
【0008】
蓄積サーバモジュール121〜12Nは、サーバモジュール間ネットワーク14と接続されるとともに、それぞれが、蓄積装置131〜13Nのいずれか1つと1対1で接続される。蓄積サーバモジュール121〜12Nは、対応する蓄積装置13へのセグメントの格納と、対応する蓄積装置13からのセグメントの読み出しを制御する。蓄積装置131〜13Nは、対応する蓄積サーバモジュール12の制御に従って、セグメントの格納や読み出しを実行する。
【0009】
図25に示した情報転送システム10へのマルチメディアデータの蓄積について図26を参照しながら説明する。情報転送システム10に蓄積すべきマルチメディアデータを有するマルチメディアデータ入力装置30は、情報転送システム10に対してマルチメディアデータの蓄積要求を送信する。そして、マルチメディアデータ入力装置30は、情報転送システム10から蓄積許可を受信すると、情報転送システム10に含まれる通信サーバモジュール11j(ただし、1≦j≦M)に対して、蓄積すべきマルチメディアデータの送信を開始する。なお、説明を簡単にするため、マルチメディアデータの送信先となる通信サーバモジュール11を決定する方法についてはここでは説明を省略する。
【0010】
情報転送システム10の通信サーバモジュール11jは、図26に示すように、マルチメディアデータ入力装置30からマルチメディアデータを受信すると、受信したマルチメディアデータをセグメントに順次分割していく。そして、通信サーバモジュール11jは、マルチメディアデータの先頭のセグメント(セグメント番号0のセグメント。以下、「セグメント0」と表記する)を蓄積サーバモジュール121へ転送して、蓄積装置131に格納させる。続いて、通信サーバモジュール11jは、後続のセグメント1を蓄積サーバモジュール122へ転送して、蓄積装置132に格納させる。
【0011】
このように、通信サーバモジュール11jは、受信したマルチメディアデータの最後のセグメントを転送し終えるまで、蓄積サーバモジュール121〜12Nを巡回するようにセグメントを蓄積サーバモジュール12へ転送し、セグメントを蓄積装置131〜13Nに格納させる。その結果、セグメント0が蓄積装置131に格納され、セグメント1が蓄積装置132に格納され、セグメント(N−1)が蓄積装置13Nに格納され、セグメントNが蓄積装置131に格納されるというように、セグメントが、蓄積装置131〜13Nに循環的に分散して蓄積される。
【0012】
続いて、図25に示した情報転送システム10からのマルチメディアデータの配信について図27を参照しながら説明する。情報転送システム10は、端末側ネットワーク40上の端末20の1つからマルチメディアデータの読み出し要求を受信すると、情報転送システム10に含まれる通信サーバモジュール11j(ただし、1≦j≦M)を使って要求された番組のマルチメディアデータの配信をおこなう。なお、説明を簡単にするため、マルチメディアデータの送信元となる通信サーバモジュール11を決定する方法についてはここでは説明を省略する。
【0013】
通信サーバモジュール11jは、まず、要求されたマルチメディアデータの先頭のセグメントであるセグメント0が格納されている蓄積装置131に対応する蓄積サーバモジュール121に対して、セグメント0の読み出し要求を送信する。蓄積サーバモジュール121は、読み出し要求を受信すると、要求されたセグメント0を対応する蓄積装置131から読み出し、サーバモジュール間ネットワーク14を介して通信サーバモジュール11jへ送信する。
【0014】
通信サーバモジュール11jは、セグメント0を受信すると、セグメント0を端末側ネットワーク40へ転送できる形式のマルチメディアデータへ変換し、マルチメディアデータの読み出し要求を発行した端末20へ送信する。
【0015】
通信サーバモジュール11jは、続いて、要求されたマルチメディアデータの次のセグメントであるセグメント1が格納されている蓄積装置132に対応する蓄積サーバモジュール122に対して、セグメント1の読み出し要求を送信する。そして、蓄積サーバモジュール122からセグメント1を受信すると、受信したセググメント1を同様にマルチメディアデータへ変換して要求元の端末20へと送信する。
【0016】
このように、通信サーバモジュール11jは、蓄積サーバモジュール121〜12Nを1つずつ巡回しながら、要求されたマルチメディアデータの全体の送信が完了するまで、同様の処理を繰り返す。
【0017】
分散RAID方式を採用する情報転送システムは、このような構成および動作によって、1つの番組のマルチメディアデータを1台の蓄積装置にまとめて格納する方式と比較して、番組毎のアクセス頻度が大きく異なる場合でも各蓄積装置に要する負荷を均等化することができる。そのため、分散RAID方式を採用する情報転送システムには、システム規模の拡張にともなう処理性能の向上効果が大きくなるという利点がある。
【0018】
続いて、分散RAID方式を採用する情報転送システム間でマルチメディアデータを送受信する場合について、図28および図29を参照しながら説明する。図28は、端末側ネットワーク40を介して接続される情報転送システム10aと情報転送システム10bとを示している。情報転送システム10aと情報転送システム10bは、分散RAID方式を採用する情報転送システムである。
【0019】
情報転送システム10aは、通信サーバモジュール111〜11QというQ台の通信サーバモジュール11と、蓄積サーバモジュール121〜12PというP台の蓄積サーバモジュール12と、蓄積装置131〜13PというP台の蓄積装置13と、サーバモジュール間ネットワーク14とを含む。情報転送システム10bは、通信サーバモジュール111〜11RというR台の通信サーバモジュール11と、蓄積サーバモジュール121〜12TというT台の蓄積サーバモジュール12と、蓄積装置131〜13TというT台の蓄積装置13と、サーバモジュール間ネットワーク14とを含む。
【0020】
図29は、情報転送システム10aから情報転送システム10bへマルチメディアデータが送信される場面を示している。図29に示した例では、送信側である情報転送システム10aは、上述した情報転送システム10が端末20へマルチメディアデータを配信する場合と同じ方法で、マルチメディアデータを情報転送システム10bへ送信している。そして、受信側である情報転送システム10bは、上述した情報転送システム10がマルチメディアデータ入力装置30から受信したマルチメディアデータを蓄積する場合と同じ方法で、マルチメディアデータを蓄積している。
【0021】
図29に示した方式の場合、分散RAID方式を採用することによる上記の利点は得られるものの、送信側でも受信側でも1つのマルチメディアデータの送受信に際して1台の通信サーバモジュール11しか使用されない。このため、図29に示した方式では、1台の通信サーバモジュール11のハードウェアの性能限界を上回る速度でマルチメディアデータを転送することができない。近年、高解像度のテレビ受信機の普及等にともなって、マルチメディアデータの転送性能の向上が強く望まれているが、図29に示した方式ではこの要望に応え難い。
【0022】
そこで、特許文献2では、分散RAID方式を採用する情報転送システム間でマルチメディアデータを高速に転送するために、送信側と受信側において複数の通信サーバモジュールを並列に動作させる技術が提案されている。
【0023】
特許文献2で提案されている技術の概要を図30に示す。送信側の情報転送システム10aは、P台の蓄積サーバモジュール121〜12Pに対応するP台の蓄積装置131〜13PのうちS1台の蓄積装置13に分散して格納されたマルチメディアデータを、Q台の通信サーバモジュール111〜11QのうちのS2台の通信サーバモジュール11を用いて並列に送信する。そして、受信側の情報転送システム10bは、R台の通信サーバモジュール111〜11Rのうち、送信側と同じ台数のS2台の通信サーバモジュール11を用いてマルチメディアデータを並列に受信し、受信したマルチメディアデータを、T台の蓄積サーバモジュール121〜12Tに対応するT台の蓄積装置131〜13TのうちのS3台の蓄積装置13に分散して格納する。
【0024】
このように、特許文献2で提案されている方式では、マルチメディアデータの転送がS2台の通信サーバモジュール11を並列に用いておこなわれるので、転送性能が向上する。また、特許文献2で提案されている方式では、以下に示すように、送信側と受信側の各情報転送システム10に含まれる通信サーバモジュール11と蓄積サーバモジュール12の数が異なる場合でも、マルチメディアデータを構成する各セグメントを正しい順序で循環的に受信側の蓄積装置13に格納することができる。
【0025】
通信サーバモジュール11を並列に用いつつ、マルチメディアデータを構成する各セグメントを正しい順序で循環的に受信側の蓄積装置13に格納するには、各セグメントと、それらを送受信する通信サーバモジュール11との対応を適切に制御する必要がある。特許文献2では、各セグメントと、それらを送受信する通信サーバモジュール11との対応を制御する方式として、方式1〜3の3つの方式が提案されている。
【0026】
方式1の概要について図31を参照しながら説明する。方式1では、送信側のS2台の通信サーバモジュール11と受信側のS2台の通信サーバモジュール11とが1対1で対応付けられる。そして、送信側の情報転送システム10aは、S2台の通信サーバモジュール11のそれぞれに、蓄積サーバモジュール12の部分集合を割り当てる。通信サーバモジュール11に割り当てられる蓄積サーバモジュール12の部分集合は、転送対象のマルチメディアデータが分散して格納されているS1台の蓄積装置13と1対1で対応する蓄積サーバモジュール12の集合をS2個に分割したものである。
【0027】
そして、蓄積サーバモジュール12の部分集合を割り当てられた通信サーバモジュール11は、自らに割り当てられた部分集合に属する蓄積サーバモジュール12のみから転送対象のマルチメディアデータのセグメントを読み出す。したがって、方式1では、送信側の通信サーバモジュール11が転送すべき全てのセグメントを読み出し終えるまで、その通信サーバモジュール11に割り当てられた部分集合に属する蓄積サーバモジュール12は、他の通信サーバモジュール11によってアクセスされることがない。
【0028】
このように、方式1では、送信側において、通信サーバモジュール11が蓄積サーバモジュール12に排他的にアクセスすることができる。このため、送信側の情報転送システム10の実装が容易になる。
【0029】
続いて、方式2の概要について図32を参照しながら説明する。方式2では、送信側のS2台の通信サーバモジュール11と受信側のS2台の通信サーバモジュール11とが1対1で対応付けられる。そして、受信側の情報転送システム10bは、S2台の通信サーバモジュール11のそれぞれに、蓄積サーバモジュール12の部分集合を割り当てる。通信サーバモジュール11に割り当てられる蓄積サーバモジュール12の部分集合は、転送されたマルチメディアデータが分散して格納される対象であるS3台の蓄積装置13と1対1で対応する蓄積サーバモジュール12の集合をS2個に分割したものである。
【0030】
そして、蓄積サーバモジュール12の部分集合を割り当てられた通信サーバモジュール11は、転送されたマルチメディアデータのセグメントを、自らに割り当てられた部分集合に属する蓄積サーバモジュール12のみに転送して、対応する蓄積装置13に格納させる。したがって、方式2では、受信側の通信サーバモジュール11が転送された全てのセグメントを格納させ終えるまで、その通信サーバモジュール11に割り当てられた部分集合に属する蓄積サーバモジュール12は、他の通信サーバモジュール11によってアクセスされることがない。
【0031】
このように、方式2では、受信側において、通信サーバモジュール11が蓄積サーバモジュール12に排他的にアクセスすることができる。そして、送信側の通信サーバモジュール11からは、セグメントが、マルチメディアデータの先頭から近い順に格納されるように送信される。このため、蓄積装置13へ格納するセグメントの順序を整列するためのバッフアを蓄積サーバモジュール12上に設けなくても、各蓄積装置13が、蓄積要求のたびに書き込み位置を1セグメント分ずつインクリメントすることにより、各セグメントが正しい順序で蓄積装置13へ格納される。
【0032】
すなわち、方式2では、各蓄積装置13が、ランダムアクセスをおこなうことなく、順次アクセスによってセグメントを適切に格納することができるので、受信側の情報転送システム10の実装が容易になるとともに、受信側の情報転送システム10でのデータ書き込み性能を向上させやすくなる。
【0033】
なお、方式2では、受信側の通信サーバモジュール11は、受信したセグメントを自らに割り当てられた部分集合に属する蓄積サーバモジュール12に所定の順序で振り分けていくに過ぎない。したがって、セグメントがS3台の蓄積装置13に図26のように分散して循環的に格納されるようにするには、送信側の通信サーバモジュール11が適切な順序でセグメントを読み出して受信側へ送信する必要がある。このため、方式2では、送信側の通信サーバモジュール11は、受信側の情報転送システム10においてどの蓄積装置13にセグメントが分散して循環的に格納されるのかに関する情報を予め取得している必要がある。
【0034】
続いて、方式3の概要について図33を参照しながら説明する。方式3では、通信サーバモジュール11から蓄積サーバモジュール12への排他的アクセスが送信側と受信側の双方の情報転送システム10においておこなわれる。そして、送信側のS2台の通信サーバモジュール11は、セグメント毎に転送先となる受信側の通信サーバモジュール11を選択し直して送信する全対全通信をおこなう。
【先行技術文献】
【特許文献】
【0035】
【特許文献1】特開平11−146014号公報
【特許文献2】特開2008−278198号公報
【発明の概要】
【発明が解決しようとする課題】
【0036】
上記の方式1の従来技術については、送信側の情報転送システム10において、通信サーバモジュール11毎に送信するデータ量に不均衡が生じ、リソースが有効に活用されない場合がある。
【0037】
例えば、図31に示した例は、S1=3、S2=2の場合、すなわち、送信側の情報転送システム10aが、蓄積装置131、132および13S1という3台の蓄積装置13に分散して格納されているマルチメディアデータを、通信サーバモジュール111および11S2という2台の通信サーバモジュール11が送信する場合を示している。この例では、通信サーバモジュール111には、蓄積サーバモジュール121および122という2台の蓄積サーバモジュール12を含む部分集合が割り当てられているのに対して、通信サーバモジュール11S2には、蓄積サーバモジュール12S1という1台のみの蓄積サーバモジュール12を含む部分集合が割り当てられている。
【0038】
この例の場合、通信サーバモジュール11S2が送信するデータ量は、通信サーバモジュール111が送信するデータ量の約半分となる。このため、通信サーバモジュール11S1は、マルチメディアデータ全体の送信が完了するまで、約半分の時間を待機して過ごすこととなる。
【0039】
また、上記の方式2の従来技術については、上述したように、送信側の通信サーバモジュール11が、適切な順序でセグメントを送信するために、受信側の情報転送システム10においてどの蓄積装置13にセグメントが分散して循環的に格納されるのかに関する情報を予め取得している必要がある。このことは、受信側の情報転送システム10の内部構成に関する情報を送信側の情報転送システム10に対して隠蔽できないことを意味しており、リソース管理モデルやセキュリティ面での妥当性の観点から問題である。
【0040】
また、上記の方式3の従来技術については、方式1のように送信側の情報転送システム10において通信サーバモジュール11から蓄積サーバモジュール12へのアクセスの排他化をおこなう方式と、方式2のように受信側の情報転送システム10において通信サーバモジュール11から蓄積サーバモジュール12へのアクセスの排他化をおこなう方式との両方が採用されているため、上述した方式1の問題点と方式2の問題点を併せもっている。
【0041】
本発明は、上記に鑑みてなされたものであって、送信側の各通信サーバモジュールが送信するデータ量に不均衡を生じさせることなく、また、受信側の情報転送システムの内部構成に関する情報を送信側の情報転送システムに通知することなくデータを高速に転送することができる情報転送システムおよび情報転送方法を提供することを目的とする。
【課題を解決するための手段】
【0042】
上述した課題を解決し、目的を達成するために、本発明は、1つの態様において、1つのデータを分割したセグメントを分散して循環的に格納する複数の蓄積部と、前記セグメントをネットワークを介して対向の情報転送システムとの間で送受信する複数の通信部とを有する情報転送システムによって実行される情報転送方法において、第1の情報転送システムの通信部が、第2の情報転送システムへ転送されるデータを構成するセグメントであって、該データにおける位置を示すシーケンス番号が付与されたセグメントを、第2の情報転送システムへそれぞれ独立して送信する送信工程と、第2の情報転送システムの通信部が、前記送信工程において前記第1の情報転送システムの通信部によって送信されたセグメントに付与された前記シーケンス番号に基づいて第2の情報転送システムの蓄積部の1つへ振り分ける振り分け工程と、第2の情報転送システムの蓄積部が、第2の情報転送システムの通信部によって振り分けられたセグメントを、該セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行する格納工程とを含むことを特徴とする。
【0043】
また、本発明は、他の態様において、さらに、第1の情報転送システムの通信部は、前記送信工程において、第2の情報転送システムへ転送される前記データを構成するセグメントが格納されている第1の情報転送システムの蓄積部を、該蓄積部の全てから該データを構成するセグメントを全て読み出し終えた旨の応答が得られるまで、循環的にアクセスしてセグメントを読み出し、第1の情報転送システムの蓄積部は、前記データのセグメントのうち、自身に格納されているセグメントを第1の情報転送システムの通信部の要求に応じて順次応答し、自身に格納されているセグメントを全て応答した後は、該データを構成するセグメントを全て読み出し終えた旨を応答することを特徴とする。
【0044】
また、本発明は、1つの態様において、1つのデータを分割したセグメントを分散して循環的に格納する複数の蓄積部と、前記セグメントをネットワークを介して対向の情報転送システムとの間で送受信する複数の通信部とを有する情報転送システムにおいて、前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントであって、該データにおける位置を示すシーケンス番号が付与されたセグメントを、前記対向の情報転送システムへ送信し、前記対向の情報転送システムから当該の情報転送システムへデータが転送される場合に、前記対向の情報転送システムから受信したセグメントを該セグメントに付与された前記シーケンス番号に基づいて前記蓄積部の1つへ振り分ける処理をそれぞれ独立に実行し、前記蓄積部は、前記通信部によって振り分けられたセグメントを、該セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行することを特徴とする。
【0045】
また、本発明は、他の態様において、さらに、前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントが格納されている蓄積部を、該蓄積部の全てから該データを構成するセグメントを全て読み出し終えた旨の応答が得られるまで、循環的にアクセスしてセグメントを読み出し、前記蓄積部は、前記データのセグメントのうち、自身に格納されているセグメントを前記通信部の要求に応じて順次応答し、自身に格納されているセグメントを全て応答した後は、該データを構成するセグメントを全て読み出し終えた旨を応答することを特徴とする。
【発明の効果】
【0046】
本発明に係る情報転送システムおよび情報転送方法は、送信側の各通信サーバモジュールが送信するデータ量に不均衡を生じさせることなく、また、受信側の情報転送システムの内部構成に関する情報を送信側の情報転送システムに通知することなくデータを高速に転送することができるという効果を奏する。
【図面の簡単な説明】
【0047】
【図1】図1は、本願の実施例に係る情報転送方法の概要を示す図である。
【図2】図2は、本願の実施例に係る情報転送方法を実行するネットワークシステムの一例を示す図である。
【図3】図3は、蓄積装置に番組毎にファイルとして格納されるマルチメディアデータの一例を示す図である。
【図4】図4は、制御端末の動作を示すフローチャートである。
【図5】図5は、制御端末から管理装置への転送要求メッセージの形式を示す図である。
【図6】図6は、送信側の情報転送システムにおけるセグメントの格納され方の一例を示す図である。
【図7】図7は、管理装置の動作を示すフローチャートである。
【図8】図8は、管理装置の動作の続きを示すフローチャートである。
【図9】図9は、管理装置が管理するデータベースの一例を示す図である。
【図10】図10は、集合N、N’、M’Mの一例を示す図である。
【図11】図11は、管理装置から送信側の通信サーバモジュールへ送信される新規番組送信要求の形式を示す図である。
【図12】図12は、管理装置から受信側の通信サーバモジュールへ送信される新規番組受信要求の形式を示す図である。
【図13】図13は、送信側の通信サーバモジュールの動作を示すフローチャートである。
【図14】図14は、送信側の通信サーバモジュールの動作の続きを示すフローチャートである。
【図15】図15は、通信サーバモジュールから送信されるセグメント要求通知と応答されるセグメントの形式を示す図である。
【図16】図16は、送信側の情報転送システムの通信サーバモジュールから送信されるセグメントの形式を示す図である。
【図17】図17は、送信側の蓄積サーバモジュールの動作を示すフローチャートである。
【図18】図18は、送信側の蓄積サーバモジュールの動作の続きを示すフローチャートである。
【図19】図19は、送信側の情報転送システムにおけるセグメントの読み出し処理を示す図である。
【図20】図20は、受信側の通信サーバモジュールの動作を示すフローチャートである。
【図21】図21は、受信側の通信サーバモジュールの動作の続きを示すフローチャートである。
【図22】図22は、受信側の情報転送システム内部で転送されるセグメントの形式を示す図である。
【図23】図23は、受信側の蓄積サーバモジュールの動作を示すフローチャートである。
【図24】図24は、受信側におけるセグメントの格納処理を示す図である。
【図25】図25は、従来の情報転送システムを含むネットワークシステムの構成を示す図である。
【図26】図26は、従来の情報転送システムにおける受信処理の概要を示す図である。
【図27】図27は、従来の情報転送システムにおける送信処理の概要を示す図である。
【図28】図28は、従来の情報転送システムを2つ含むネットワークシステムの構成を示す図である。
【図29】図29は、2つの情報転送システム間での従来の情報転送方式を示す図である。
【図30】図30は、2つの情報転送システム間で並列に転送処理を実行する場合の従来の情報転送方式の概要を示す図である。
【図31】図31は、2つの情報転送システム間で並列に転送処理を実行する場合の従来の第1の情報転送方式を示す図である。
【図32】図32は、2つの情報転送システム間で並列に転送処理を実行する場合の従来の第2の情報転送方式を示す図である。
【図33】図33は、2つの情報転送システム間で並列に転送処理を実行する場合の従来の第3の情報転送方式を示す図である。
【発明を実施するための形態】
【0048】
以下に、本発明に係る情報転送システムおよび情報転送方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下の説明では、既に説明した要素と同様の要素については、既に説明した同様の要素と同一の符号を付して、重複する説明を省略することとする。
【実施例】
【0049】
まず、図1を参照しながら、本実施例に係る情報転送方法の概要について説明する。図1は、情報転送システム1aが、端末側ネットワーク40を介して、マルチメディアデータを情報転送システム1bへ転送する場面を示している。端末側ネットワーク40は、マルチメディアデータの伝送に十分な帯域を備えたネットワークであり、例えば、IPネットワークである。
【0050】
情報転送システム1aおよび情報転送システム1bは、本実施例に係る情報転送方法によってマルチメディアデータを転送する。なお、図1に示した例では、情報転送システム1aから情報転送システム1bへマルチメディアデータが転送される場面が示されているが、情報転送システム1bから情報転送システム1aへもマルチメディアデータを転送できる。また、図1に示した例では、情報転送システム1aおよび情報転送システム1bという2つの情報転送システム1が端末側ネットワーク40に接続されているが、3つ以上の情報転送システム1を端末側ネットワーク40に接続し、任意の情報転送システム1間でマルチメディアデータを転送できるように構成してもよい。
【0051】
情報転送システム1aおよび情報転送システム1bは、それぞれ、複数の通信サーバモジュール2と、複数の蓄積サーバモジュール3と、蓄積サーバモジュール3と同数の蓄積装置4と、サーバモジュール間ネットワーク5とを含む。なお、図1では、図示を簡略化するため、転送対象となっているマルチメディアデータの転送と関連のない通信サーバモジュール2、蓄積サーバモジュール3および蓄積装置4の図示を省略している。
【0052】
通信サーバモジュール2は、端末側ネットワーク40および自システム内のサーバモジュール間ネットワーク5と接続され、他の情報転送システム1との間でマルチメディアデータのセグメントを送受信する。蓄積サーバモジュール3は、自システム内のサーバモジュール間ネットワーク5と接続されるとともに、それぞれが、自システム内の蓄積装置4のいずれか1つと1対1で接続される。蓄積サーバモジュール3は、対応する蓄積装置4へのセグメントの格納と、対応する蓄積装置4からのセグメントの読み出しを制御する。
【0053】
蓄積装置4は、対応する蓄積サーバモジュール3の制御に従って、セグメントの格納や読み出しを実行する。サーバモジュール間ネットワーク5は、サーバモジュール間の情報のやりとりを中継するネットワークであり、例えば、高速LAN(Local Area Network)やInfniBand等の技術を利用して実現される。
【0054】
図1に示す例では、送信側の情報転送システム1aの複数の蓄積サーバモジュール3のうち、集合Nに属するS1台の蓄積サーバモジュール3に対応する各蓄積装置4に転送対象のマルチメディアデータが分散して循環的に格納されている。そして、転送対象のマルチメディアデータは、受信側の情報転送システム1bの複数の蓄積サーバモジュール3のうち、集合Mに属するS3台の蓄積サーバモジュール3に対応する各蓄積装置4に分散して循環的に格納されることとなっている。
【0055】
また、マルチメディアデータを転送するため、送信側の情報転送システム1aでは、複数の通信サーバモジュール2のうち、集合N’に属するS2台の通信サーバモジュール2がセグメントの送信を担当するために選択されている。そして、受信側の情報転送システム1bでは、複数の通信サーバモジュール2のうち、集合M’に属するS2台の通信サーバモジュール2がセグメントの送信を担当するために選択されている。
【0056】
なお、以下の説明では、集合N、集合N’、集合Mおよび集合M’の要素を以下のように記述することがある。
【0057】
【数1】
【0058】
【数2】
【0059】
【数3】
【0060】
【数4】
【0061】
また、集合Nの要素n1に相当する蓄積サーバモジュール3を蓄積サーバモジュールn1のように記述することがある。他の集合の要素についても同様である。
【0062】
情報転送システム1aおよび情報転送システム1bは、本実施例に係る情報転送方法に基づいて、以下のように動作する。
【0063】
(1)送信側の情報転送システム1aにおいて、集合N’に属する全ての通信サーバモジュール2、すなわち、転送対象のマルチメディアデータの送信処理に関わる全ての通信サーバモジュール2が、集合Nに属する全ての蓄積サーバモジュール3、すなわち、転送対象のマルチメディアデータが分散して格納されている蓄積装置4に対応する全ての蓄積サーバモジュール3にアクセスし、転送対象のマルチメディアデータのセグメントを読み出す(全対全アクセス)。
【0064】
(2)送信側の情報転送システム1aの集合N’に属する通信サーバモジュール2と、受信側の情報転送システム1bの集合M’に属する通信サーバモジュール2とは、1対1に接続される。そして、送信側の各通信サーバモジュール2は、シーケンス番号が付与されたセグメントを、対応する受信側の通信サーバモジュール2に対してのみ送信する(1対1通信)。
【0065】
(3)受信側の情報転送システム1bにおいて、集合M’に属する全ての通信サーバモジュール2、すなわち、転送対象のマルチメディアデータの送信処理に関わる全ての通信サーバモジュール2が、対向の送信側の通信サーバモジュール2から送信されてきた各セグメントのシーケンス番号に基づいて、格納先となる蓄積装置4、および、当該蓄積装置4内の番組ファイルにおける当該セグメントの書き込み位置を決定し、それらを明示して当該蓄積装置4を管理する蓄積サーバモジュール3にそのセグメントを転送する。受信側の情報転送システム1bの集合Mに属する全ての蓄積装置4がセグメントの格納先となる可能性があるため、上記動作の結果、受信側の情報転送システム1bにおいても集合M’に属する全ての通信サーバモジュール2が、集合Mに属する全ての蓄積サーバモジュール3に対してアクセスをおこなうことになり得る(全対全アクセス)。
【0066】
本実施例に係る情報転送方法は、上記の(1)と(3)のように動作する点、すなわち、全ての通信サーバモジュール2から全ての蓄積サーバモジュール3への全対全アクセスを送信側と受信側の双方の情報転送システム1においておこなう点で、上述した従来技術の方式1〜3と異なる。
【0067】
また、送信側の情報転送システム1aの各通信サーバモジュールn’i(1≦i≦S2)は、上記の(1)と(2)は、集合Nに含まれる蓄積サーバモジュール3のいずれか1つに対して転送対象のマルチメディアデータのセグメントの読み出しを求めるセグメント要求を発行し、その要求に対して蓄積サーバモジュール3から送られてきたセグメントを1つずつ端末側ネットワーク40に送出する処理を繰り返す。
【0068】
セグメント要求の発行先となる蓄積サーバモジュール3は、この繰り返し処理のたびに随時決定される。この決定方法についてはここでは特に規定しないが、集合N’の要素の全ての通信サーバモジュール2について、セグメント要求の発行の対象となり得る蓄積サーバモジュール3は集合N中の全ての蓄積サーバモジュール3であり、セグメント要求の発行宛先を決定する際には、集合N中の全ての蓄積サーバモジュールを候補として、その中から選択するものとする。
【0069】
そして、送信側の通信サーバモジュールn’iから端末側ネットワーク40へ送出されるセグメントには、転送対象のマルチメディアデータ全体の中で、そのセグメントのデータが占める位置を表わすシーケンス番号qが付与される。集合Nのt番目の要素である蓄積サーバモジュールntに対応する蓄積装置4内に転送対象のマルチメディアデータのw番目のセグメントとして格納されているセグメントのシーケンス番号qは、以下の式によって算出される。
【0070】
【数5】
【0071】
このようにしてシーケンス番号を算出することができるのは、集合Nに属する蓄積サーバモジュール3に対応する各蓄積装置4内に、図27に示したように、セグメントが循環的に格納されているからである。
【0072】
なお、シーケンス番号qの付与は、蓄積サーバモジュール3がおこなってもよいし、通信サーバモジュール2がおこなってもよい。また、本実施例に係る情報転送方法に関して、通信サーバモジュール2が同時に複数の蓄積サーバモジュール3に対してセグメント要求を発行する拡張や、端末側ネットワーク40へ同時に複数のセグメントを送出する拡張も考えられるが、説明を簡単にするため、ここでは説明を省略する。
【0073】
また、上記の(3)では、通信サーバモジュールn’iと接続された受信側の情報転送システム1bの対向の通信サーバモジュールm’iは、通信サーバモジュールn’iから受信したセグメントを格納する蓄積装置4と、その蓄積装置4にセグメントが格納される位置とを以下の式によって決定する。
【0074】
【数6】
【0075】
ここで、modは、除算における余りを求める演算子であり、divは、除算における商(小数点以下を切り捨てた整数部分)を求める演算子である。また、pは、セグメントを格納する蓄積装置4が、集合Mの何番目の要素の蓄積サーバモジュール3に対応するものであるかを表し、yは、セグメントが、蓄積サーバモジュールmpに対応する蓄積装置4おいて当該のマルチメディアデータが格納されるファイルに何番目のセグメントとして格納すべきものであるかを表す。
【0076】
通信サーバモジュールm’iは、こうしてpとyを算出すると、蓄積サーバモジュールmpにセグメントを転送して、対応する蓄積装置4内のyが表す位置にセグメントを格納するように指示する。
【0077】
以上が、本実施例に係る情報転送方法による基本的な動作である。本実施例に係る情報転送方法では、集合N’に属する送信側の各通信サーバモジュール2が、セグメント要求の発行先となる送信側の蓄積サーバモジュール3を随時変更しながら、送信側の蓄積サーバモジュール3からのセグメントの受信と、端末側ネットワーク40へセグメントの送信を繰り返す。
【0078】
このように、集合N’に属する送信側の全ての通信サーバモジュール2が、集合Nに属する全ての蓄積サーバモジュール3を対象としながら、それぞれ独立に上記処理を繰り返すため、それぞれの通信サーバモジュール2のデータ転送量は、各通信サーバモジュール2の処理性能の差や、各種リソースの割り当てに関する優先度の差がない限り、ほぼ等しくなる。これにより、通信サーバモジュール11毎に送信するデータ量に不均衡が生じ、リソースが有効に活用されないという従来の問題が解決される。
【0079】
また、送信側の情報転送システム1aの処理は、上記の式(5)で定まるシーケンス番号を付与してセグメントを端末側ネットワーク40へ送出するだけであり、その処理の実行のために受信側の情報転送システム1bの内部構成に関する情報は必要ない。したがって、受信側の情報転送システム1bの内部構成に関する情報を送信側の情報転送システム1aに対して隠蔽することができ、リソース管理モデルやセキュリティ面での従来の妥当性の問題を解決することができる。
【0080】
以下、本実施例に係る情報転送方法を実行する情報転送システム1a、情報転送システム1b等の構成および動作についてより詳細に説明する。
【0081】
まず、本実施例に係る情報転送方法を実行するシステム全体の構成の例を図2に示す。図2に示す例では、情報転送システム1aと、情報転送システム1bと、制御端末50と、管理装置60とが、端末側ネットワーク40に接続されている。
【0082】
情報転送システム1aは、通信サーバモジュール21〜28と、蓄積サーバモジュール31〜38と、蓄積サーバモジュール31〜38と1対1で対応する蓄積装置41〜48と、通信サーバモジュール21〜28と蓄積サーバモジュール31〜38を通信可能に接続するサーバモジュール間ネットワーク5とを含む。
【0083】
情報転送システム1bは、通信サーバモジュール21〜25と、蓄積サーバモジュール31〜35と、蓄積サーバモジュール31〜35と1対1で対応する蓄積装置41〜45と、通信サーバモジュール21〜25と蓄積サーバモジュール31〜35を通信可能に接続するサーバモジュール間ネットワーク5とを含む。
【0084】
情報転送システム1aおよび情報転送システム1bの蓄積装置4には、図3に示すように、マルチメディアデータを分割したセグメントの集合が、番組毎に独立したファイルとして格納される。マルチメディアデータは、例えば、メディアの種類毎に定まる1つの映像フレームを1つのセグメントとして分割される。
【0085】
制御端末50は、管理装置60に対して、情報転送システム1aまたは情報転送システム1bに格納されたマルチメディアデータの転送要求を発行する機能を有する。管理装置60は、情報転送システム1aおよび情報転送システム1bの各種リソースに関する情報を管理するDB(Data Base)を有し、そのDBに格納されている情報に基づいて、制御端末50からの転送要求を実現するために必要な指示を情報転送システム1aまたは情報転送システム1bに発行する機能を有する。
【0086】
続いて、情報転送システム1aから情報転送システム1bへマルチメディアデータを転送する場合を例として、情報転送システム1a等の動作について説明する。まず、図4のフローチャートを参照しながら制御端末50の動作を説明する。制御端末50は、図4に示す動作を繰り返して実行する。
【0087】
情報転送システム1aから情報転送システム1bへある1つの番組のマルチメディアデータを転送する要求が発生すると(S401:YES)、利用者の指示に基づいて、制御端末50は、管理装置60へ当該番組のマルチメディアデータの転送を求めるマルチメディアデータ転送要求を発行する(S402)。
【0088】
マルチメディアデータ転送要求は、図5に示すように、転送すべき番組を格納している送信側の情報転送システム1aを示す送信側サーバ識別子と、転送先の情報転送システム1bを示す受信側サーバ識別子と、転送すべき番組を示す番組名と、当該番組を端末側ネットワーク40経由で転送する際の転送速度要求値とを含む。
【0089】
制御端末50は、マルチメディアデータ転送要求の送信後、管理装置60から正常な受付通知を受信した場合(S403:YES)は、転送処理が完了するまで待ち(S404)、正常な受付通知を受信できなかった場合は(例えば、後述の転送要求受付不可通知を受信した場合)(S403:NO)、一連の処理を終了する。
【0090】
以下に説明する例では、図6に示すように情報転送システム1aの蓄積装置43〜48を巡回する形でセグメント毎に格納されている番組が、上記のマルチメディアデータ転送要求内の番組名によって転送処理の対象に指定されたものとする。したがって、上記の式(1)によって規定される集合Nと、S1の値は、この例では、以下のようになる。
【0091】
【数7】
【0092】
次に、図7のフローチャートを参照しながら管理装置60の動作を説明する。管理装置60は、図7に示す動作を繰り返して実行する。
【0093】
管理装置60は、図9に示すように、各情報転送システム1のリソース管理のためのDBを有する。このDBは、情報転送システム1毎の情報を格納したサーバデータを記憶する。各サーバデータは、対応する情報転送システム1の属性を記述したサーバ属性と、対応する情報転送システム1に格納されている番組の情報を保持するサーバ内番組データとを含む。
【0094】
サーバ属性は、対応する情報転送システム1を特定するためのサーバ識別子と、対応する情報転送システム1を構成する通信サーバモジュール2と蓄積サーバモジュール3の集合と、上記の通信サーバモジュール2と蓄積サーバモジュール3の性能値と、マルチメディアデータの転送に使用中の通信サーバモジュールの集合とが含まれる。なお、以降の説明で通信サーバモジュールや蓄積サーバモジュールの集合という場合は、それらの集合に含まれる各モジュールの識別子の順序も考慮した集合であるものとする。
【0095】
サーバ内番組データには、対応する番組の属性を記述した番組属性として、番組名と、セグメント数で表した番組長と、映像メディアの種類(本実施例では特に使用しないが、通常、番組を実時間配信する際の転送レートの決定等に必要である)と、1つのセグメントのサイズと、当該番組のマルチメディアデータを格納している蓄積装置4に対応する蓄積サーバモジュール3の集合Nとが含まれる。
【0096】
図7のフローチャートに示すように、管理装置60は、制御端末50から図5に示したマルチメディアデータ転送要求を受信すると(S701:YES)、マルチメディアデータ転送要求内の送信側サーバ識別子と受信側サーバ識別子を参照して、それらの識別子と一致するサーバ識別子をもつサーバデータをDBから取得する。これにより送信側と受信側の参照すべきサーバデータが特定される(S702)。
【0097】
そして、管理装置60は、マルチメディアデータ転送要求内の番組名を参照し、送信側のサーバデータ内の参照すべきサーバ内番組データを特定する(S703)。そして、マルチメディアデータ転送要求内で指定された転送速度要求値と、送信側と受信側のサーバデータ内の通信サーバモジュール2の性能値のデータを用いて、所望の転送速度要求値を実現するために通信サーバモジュール2が何台必要かを計算して、転送処理に使用する通信サーバモジュール2の台数S2を仮設定する(S704)。なお、本実施例においては、S2の具体的な算出方法は特に規定しない。
【0098】
そして、管理装置60は、送信側と受信側のサーバデータ内の使用中の通信サーバモジュールの集合を参照して、仮設定したS2台に等しい台数の通信サーバモジュール2が送信側と受信側の双方において未使用の状態で存在するか否かを確認する検査し、存在すれば(S705:YES)、それらの中から使用する送信側と受信側の通信サーバモジュール2を決定し(S706)、決定した通信サーバモジュール2を、サーバデータ内の使用中の通信サーバモジュール2の集合に追加する(S707)。
【0099】
一方、未使用のS2台の通信サーバモジュールが送信側と受信側の少なくとも一方に存在しなければ(S705:NO)、管理装置60は、S2の値を1つずつ減らしながら同様の検査をおこない(S708)、使用可能な範囲の中で最大の通信サーバモジュール2の台数をS2の値として最終設定し、使用する送信側と受信側の通信サーバモジュール2を決定を決定する。もし使用可能な通信サーバモジュールが1台もなければ(S709:YES)、管理装置60は、番組データの転送処理が不可能であるとして制御端末50へ転送要求受付不可通知を行い(S710)、処理を終了する。
【0100】
ここでは、例として、図10に示すように、S2=4台の通信サーバモジュールを用いてマルチメディアデータの転送がおこなわれるように最終決定され、送信側と受信側で転送処理に使用される通信サーバモジュール2の集合であるN’とM’が以下のように決定されたものとする。
【0101】
【数8】
【0102】
【数9】
【0103】
また、図10に示すように、マルチメディアデータの転送先の情報転送システム1bでは、転送されたマルチメディアデータが全ての蓄積サーバモジュール3に対応する蓄積装置4を巡回する形で格納されるものとする。したがって、上記の式(3)によって規定される集合Mと、S3の値は、以下のようになる。なお、マルチメディアデータの格納先となる蓄積装置4の決定は、制御端末50がおこなうこととしてもよいし、管理装置60がおこなうこととしてもよい。
【0104】
【数10】
【0105】
図8のフローチャートを参照しながら、管理装置60の動作に関する説明を続ける。管理装置60は、集合N’に属する送信側の全ての通信サーバモジュール2に対して新規番組送信要求を送信する(S711)。また、管理装置60は、集合M’に属する受信側の全ての通信サーバモジュール2に対して新規番組受信要求を送信する(S712)。
【0106】
ここで、新規番組送信要求と新規番組受信要求は、それぞれ図11と12に示すように、転送対象となる番組のサーバ内番組データ、転送処理に使用される通信サーバモジュール2の集合N’、M’を含む。なお、当該番組のマルチメディアデータが格納されている
蓄積装置4に対応する蓄積サーバモジュール3の集合Nの情報は、図9に示したようにサーバ内番組データに含まれている。
【0107】
管理装置60は、新規番組送信要求と新規番組受信要求の送信を終えると、制御端末50に対して転送要求の正常受付通知を送信する(S713)。そして、管理装置60は、集合M’とN’に属する全ての通信サーバモジュール2からマルチメディアデータの転送終了通知が受信されるのを待つ(S714)。そして、管理装置60は、全ての転送終了通知を受信し終えると、制御端末50へ転送終了通知を送信し(S715)、集合N’とN’に属する全ての通信サーバモジュール2をサーバデータ内の使用中の通信サーバモジュールの集合から消去する(S716)。
【0108】
そして、管理装置60は、マルチメディアデータが受信側の情報転送システム1bへ転送されたことを記録するため、受信側の情報転送システムに対応するサーバデータ中のサーバ内番組データとして、転送されたマルチメディアデータの情報を追加する(S717)。
【0109】
次に、図13と図14のフローチャートを参照しながら、送信側の情報転送システム1aの通信サーバモジュール2の動作を説明する。送信側の情報転送システム1aにおいては、集合N’に含まれる各通信サーバモジュール2が、図13と図14のフローチャートが示す動作をそれぞれ独立に繰り返して実行する。
【0110】
図13に示すように、送信側の情報転送システム1aの通信サーバモジュール2は、管理装置60から新規番組送信要求を受信すると(S1301:YES)、新規番組送信要求に含まれる通信サーバモジュール2の集合N’を参照し、この集合の中で自身の通信サーバモジュール識別子が出現する位置を検出することにより、N’における自身の位置を示す識別子iの値を判別する(S1302)。
【0111】
集合N’が図10に示す通りである場合、集合N’中の通信サーバモジュール21は、この処理により、自身がn’1(i=1)に相当することを判別し、通信サーバモジュール23は、この処理により、自身がn’2(i=2)に相当することを判別する。
【0112】
そして、送信側の通信サーバモジュール2は、集合Nに属する全ての蓄積サーバモジュール3に対して、転送対象のマルチメディアデータのセグメントが格納された番組ファイルをオープンするよう指示を出し(S1303)、この指示に対する蓄積サーバモジュール3からの応答を待つ(S1304)。
【0113】
集合Nに属する全ての蓄積サーバモジュール3から番組ファイルのオープンの終了通知が届くと、送信側の通信サーバモジュール2は、S1302で判別した識別子iを用いて、受信側の情報転送システム1bの対向の通信サーバモジュールm’iに対して、セグメント受信準備通知を送信する(S1305)。このセグメント受信準備通知は、受信側の通信サーバモジュールm’iに対して、マルチメディアデータの受信動作に先立つ準備を促すものである。
【0114】
そして、送信側の通信サーバモジュール2は、通信サーバモジュールm’iからセグメント受信準備完了通知が届くのを待つ(S1306)。セグメント受信準備完了通知を受信すると、送信側の通信サーバモジュール2は、通信サーバモジュールm’iの受信準備が完了したと判断し、図14に示すセグメント転送処理を実行する。
【0115】
続いて、セグメント転送処理について、図14のフローチャートを参照しながら説明する。送信側の通信サーバモジュール2は、まず、集合Nに含まれる各蓄積サーバモジュール3に対応する読み出し完了フラグC[t](1≦t≦|N|)を全て0に初期化するとともに(S1307)、集合Nの要素の番号を示す添字tを1に初期化する(S1308)。なお、送信側の各通信サーバモジュール2が特定の蓄積サーバモジュール3に集中してアクセスして、その蓄積サーバモジュール3の負荷が増大することがないように、添字tの初期値を通信サーバモジュール2毎に異ならせてもよい。
【0116】
添字tに対応する読み出し完了フラグC[t]は、蓄積サーバモジュールntに対応する蓄積装置4内に格納されている転送対象のマルチメディアデータのセグメントが、集合N’に属する通信サーバモジュール2によって既に全て読み出さている場合に「1」に設定され、蓄積サーバモジュールntに対応する蓄積装置4にまだ読み出されていない転送対象のセグメントが残っている場合に「0」に設定される。
【0117】
送信側の通信サーバモジュール2は、現在のtの値に対応する読み出し完了フラグC[t]が1であるかを検査する(S1309)。ここで、読み出し完了フラグC[t]が1でなければ(S1309:NO)、送信側の通信サーバモジュール2は、自身を表す送信元通信サーバモジュール識別子と、管理装置60からの新規番組送信要求に含まれていた転送対象のマルチメディアデータのサーバ内番組データとを含むセグメント要求を作成し(S1310)、蓄積サーバモジュールntへセグメント要求通知として送信する(S1311)。
【0118】
セグメント要求通知に対して、蓄積サーバモジュールntからは、転送対象のマルチメディアデータのセグメント、または、転送終了通知が送信される。転送終了通知については、送信側の蓄積サーバモジュール3の動作説明の中で詳しく説明する。
【0119】
送信側の通信サーバモジュール2は、蓄積サーバモジュールntから受信したものが転送終了通知である場合(S1312:NO)、蓄積サーバモジュールntに対応する読み出し完了フラグであるC[t]の値を1に設定してS1317へ移行する(S1313)。一方、蓄積サーバモジュールntから受信したものが転送対象のマルチメディアデータのセグメントである場合(S1312:YES)、送信側の通信サーバモジュール2は、受信側の対向の通信サーバモジュールm’iへそのセグメントを送信する(S1314)。
【0120】
ここで、送信側の通信サーバモジュールn’iが蓄積サーバモジュールntへ送信するセグメント要求通知と、蓄積サーバモジュールntから受信されるセグメントの形式を図15に示す。また、送信側の通信サーバモジュールn’iが受信側の対向の通信サーバモジュールm’iへ送信するセグメントの形式を図16に示す。
【0121】
図15に示すように、セグメント要求通知には、送信元の通信サーバモジュール識別子と、転送対象のマルチメディアデータのサーバ内番組データ(図9に示したもの)が含まれる。また、蓄積サーバモジュールntから受信されるセグメントには、送信元の蓄積サーバモジュール識別子と、転送対象のマルチメディアデータのサーバ内番組データと、セグメントのシーケンス番号と、LASTFLAGと、転送対象のマルチメディアデータが分割されたものであるセグメントの実体とが含まれる。LASTFLAGは、送信されるセグメントが、蓄積サーバモジュールntに格納されている転送対象のマルチメディアデータのセグメントの最後のものである場合に「1」に設定され、さもなければ「0」に設定される。
【0122】
また、図16に示すように、送信側の通信サーバモジュールn’iが受信側の対向の通信サーバモジュールm’iへ送信するセグメントには、転送対象のマルチメディアデータのサーバ内番組データと、セグメントのシーケンス番号と、番組を構成するマルチメディアデータが分割されたものであるセグメントの実体とが含まれる。
【0123】
送信側の通信サーバモジュール2は、受信側の対向の通信サーバモジュールm’iへセグメントを送信した後、蓄積サーバモジュールntから受信したセグメントのLASTFLAGの値を検査する(S1315)。そして、LASTFLAGの値が1であれば(S1315:YES)、送信側の通信サーバモジュール2は、読み出し完了フラグC[t]の値を1に設定し(S1316)、S1317へ移行する。
【0124】
LASTFLAGの値が1でなければ(S1315:NO)、送信側の通信サーバモジュール2は、集合Nの次の要素を示すように添字tを更新する。具体的には、送信側の通信サーバモジュール2は、添字tが集合Nの要素数(S1)と同一でなければ(S1318:NO)、添字tを1だけインクリメントし(S1319)、添字tが集合Nの要素数(S1)と同一であれば(S1318:YES)、添字tを1にリセットする(S1320)。そして、送信側の通信サーバモジュール2は、添字tを更新した後、S1309から処理を再開する。
【0125】
こうして、送信側の通信サーバモジュール2は、S1309以降の処理を繰り返し実行し、いずれかの蓄積サーバモジュール3から転送対象のマルチメディアデータの全てのセグメントを読み出し終えていると判断された場合、全ての蓄積サーバモジュール3から転送対象のマルチメディアデータの全てのセグメントを読み出し終えているかを確認するために読み出し完了フラグC[t]の値を確認する(S1317)。
【0126】
ここで、いずれかの蓄積サーバモジュール3から転送対象のマルチメディアデータの全てのセグメントを読み出し終えていると判断された場合とは、S1309で読み出し完了フラグC[t]が1であった場合(S1309:YES)、S1315でLASTFLAGの値が1であればあった場合(S1315:YES)、もしくは、S1312で蓄積サーバモジュールntから受信したものが転送終了通知であった場合(S1312:NO)である。
【0127】
そして、読み出し完了フラグC[t]の値が全てのtについて1になっていなければ(S1317:NO)、送信側の通信サーバモジュール2は、S1318以降の処理を実行する。一方、読み出し完了フラグC[t]の値が全てのtについて1になっていれば(S1317:YES)、送信側の通信サーバモジュール2は、全ての蓄積サーバモジュール3から転送対象のマルチメディアデータの全てのセグメントを読み出し終えていると判断して、受信側の対向の通信サーバモジュールm’iへ転送終了通知を送信し(S1321)、さらに管理装置60へも転送終了通知を送信して(S1322)、転送処理を終了する。
【0128】
次に、図17と図18のフローチャートを参照しながら、送信側の情報転送システム1aの蓄積サーバモジュール3の動作を説明する。送信側の情報転送システム1aにおいては、集合Nに含まれる各蓄積サーバモジュール3が、図17と図18のフローチャートが示す動作をそれぞれ独立に繰り返して実行する。
【0129】
上述したように、送信側の情報転送システム1aにおいては、集合N’に含まれる各通信サーバモジュール2は、集合Nに含まれる蓄積サーバモジュール3に対して、それぞれ独立して非同期に各種のメッセージを発行する。したがって、送信側の各蓄積サーバモジュール3に対しては、複数の通信サーバモジュール2からの複数のメッセージが不定期に到着し、かつ、複数のメッセージが同時に到着することもある。本実施例では、説明を簡単にするため、送信側の蓄積サーバモジュール3は、集合N’に含まれる各通信サーバモジュール2からの複数のメッセージを1つずつ逐次的に受信し処理するものとするが、複数のメッセージを並列に処理できるように送信側の蓄積サーバモジュール3を構成してもよい。
【0130】
図17に示すように、送信側の蓄積サーバモジュール3は、まず、送信側の通信サーバモジュールn’iから、転送対象のマルチメディアデータのセグメントが格納された番組ファイルのオープン指示を受ける(S1701)。この指示は、図13に示したS1303での指示に対応する。送信側の蓄積サーバモジュール3は、番組ファイルのオープン指示を受信すると、転送終了フラグC[J](1≦J≦S2)を全て0に初期化する(S1702)。
【0131】
転送終了フラグC[J]は、送信側の通信サーバモジュールn’Jに対して、自身に対応する蓄積装置4に格納されている転送対象のマルチメディアデータの全てのセグメントを読み出し終えたことの通知を完了したか否かを識別するためのフラグである。転送終了フラグC[J]の値は、送信側の通信サーバモジュールn’Jに対して通知を完了している場合には「1」に設定され、通知が完了していなければ「0」に設定される。
【0132】
転送終了フラグC[J]を初期化した後、送信側の蓄積サーバモジュール3は、番組ファイルからのセグメント読み出し位置を表す変数wの値を1に初期化する(S1703)。図19に示すように、変数wは、自身に対応する蓄積装置4に格納されている転送対象のマルチメディアデータの番組ファイルからセグメントを読み出す際の読み出し位置を表す変数である。例えば、wの値が初期値「1」の場合は、番組ファイルの先頭から1セグメント分のサイズのデータが読み出され、wの値が「2」の場合は、番組ファイルの先頭から1セグメント分のサイズをオフセットした位置から1セグメント分のサイズのデータが読み出される。
【0133】
後述するように、送信側の蓄積サーバモジュール3は、変数wの値を1から1つずつインクリメントしていくことにより、番組ファイルの先頭から1セグメントのサイズずつ順番にデータを読み出し、セグメントを要求した通信サーバモジュール2へ送信する。なお、送信側の蓄積サーバモジュール3は、セグメントのデータサイズを、例えば、通信サーバモジュール2から受信したセグメント要求通知内のサーバ内番組データの番組属性から取得する。
【0134】
転送終了フラグC[J]の初期化が終了すると、送信側の蓄積サーバモジュール3は、転送対象のマルチメディアデータが格納されている蓄積装置4に対応する蓄積サーバモジュール3の集合Nを参照し、この集合の中で自身の蓄積サーバモジュール識別子が出現する位置を検出することにより、集合Nにおける自身の位置を示す識別子tを判別する(S1704)。なお、集合Nに関する情報は、S1701において受信した番組ファイルオープン指示に含まれているものとする。
【0135】
そして、送信側の蓄積サーバモジュール3は、番組ファイルオープン指示によって指示された番組ファイルを読み出し用にオープンするように対応する蓄積装置4に指示し(S1705)、通信サーバモジュールn’iへファイルオープン終了通知を返信する(S1706)。その後、送信側の蓄積サーバモジュール3は、他の通信サーバモジュール2からの通知を待つ(S1707)。
【0136】
前述のように、集合N’の各通信サーバモジュール2は、それぞれ独立に番組ファイルのオープン指示を、集合N中の全ての蓄積サーバモジュール3に対して発行するため、各蓄積サーバモジュール3には、全部でS2回のファイルオープン指示が届く。また、集合N’の各通信サーバモジュール2は、番組ファイルのオープン終了通知を受信した後、それぞれ独立にセグメントの要求を集合N中の各蓄積サーバモジュール3に対して順次発行していく。
【0137】
このため、S1707で受信される通知には、S1701において番組ファイルオープン指示を通知してきた通信サーバモジュール2以外の他の通信サーバモジュール2からの番組ファイルオープン指示、または、既にファイルオープン終了通知を送信した通信サーバモジュール2からのセグメント要求通知の2種類があり得る。
【0138】
なお、S1707において新たに受信した通知の送信元である通信サーバモジュール2を改めてn’iと記載するが、これはS1701において番組ファイルオープン指示を送信してきた通信サーバモジュール2と同じであるとは限らないことに注意されたい。
【0139】
通知を受信すると、送信側の蓄積サーバモジュール3は、受信した通知が番組ファイルのオープン指示通知であるか否かを検査する。受信した通知が、番組ファイルのオープン指示通知の場合(S1708:YES)、既に番組ファイルのオープン処理は終了しているので、送信側の蓄積サーバモジュール3は、通知の送信元の通信サーバモジュールn’iにオープン終了通知を送信してS1707へ戻る(S1709)。
【0140】
受信した通知が、番組ファイルのオープン指示通知でない場合、すなわち、セグメント要求通知の場合は(S1708:NO)、送信側の蓄積サーバモジュール3は、図18に示すセグメント送信処理へ移行する。
【0141】
続いて、セグメント送信処理について、図18のフローチャートを参照しながら説明する。図18に示すように、送信側の蓄積サーバモジュール3は、自身に対応する蓄積装置4から、指示された番組ファイルに格納されている全てのセグメントの読み出しを完了しており、当該番組ファイルをクローズ済みであるか否か(換言すれば、S1717を実行済みであるか否か)を検査する(S1710)。
【0142】
ここで、クローズ済みである場合は(S1710:YES)、送信側の蓄積サーバモジュール3は、セグメント要求通知の送信元の通信サーバモジュールn’iに対して、これ以上送信するセグメントが無いことを示す転送終了通知を送信する(S1711)。そして、その通信サーバモジュールn’iに対応する転送終了フラグC[i]の値を1に設定して、通信サーバモジュールn’iに対して転送終了通知の送信が完了したことを記録する(S1712)。
【0143】
そして、送信側の蓄積サーバモジュール3は、転送終了フラグC[J]の値を検査し、全てのJについてC[J]の値が1であれば(S1713:YES)、処理を終了する。一方、転送終了フラグC[J]の中に値が0のものが1つでもあれば(S1713:NO)、送信側の蓄積サーバモジュール3は、それらに対応する通信サーバモジュール2からの通知を待つためにS1707へ戻る。
【0144】
また、S1710において番組ファイルをまだクローズしていない場合は(S1710:NO)、送信側の蓄積サーバモジュール3は、自身に対応する蓄積装置4から番組ファイルのw番目のセグメントを読み出す(S1714)。そして、送信側の蓄積サーバモジュール3は、読み出したセグメントが番組ファイル内の最後のセグメントか否かを検査する(S1715)。この検査は、通信サーバモジュール2から受信したセグメント要求通知の中のサーバ内番組データに含まれている番組長と、変数wの値とを比較することにより可能である。
【0145】
読み出したセグメントが最後のセグメントである場合(S1715:YES)、送信側の蓄積サーバモジュール3は、これ以上番組ファイルのデータを読み出す必要がないので番組ファイルをクローズし(S1717)、セグメントに付与するLASTFLAGの値を1に設定する(S1718)。読み出したセグメントが最後のセグメントでない場合は(S1715:NO)、送信側の蓄積サーバモジュール3は、LASTFLAGの値を0に設定する(S1716)。
【0146】
LASTFLAGの値を設定した後、送信側の蓄積サーバモジュール3は、読み出したセグメントに付与するシーケンス番号を算出する(S1719)。シーケンス番号の算出は、上記の式(5)に、現時点でのwの値と、S1714で求めたtの値と、S1701において受信した番組ファイルオープン指示に含まれている集合Nの要素数であるS1とを適用して行われる。
【0147】
そして、送信側の蓄積サーバモジュール3は、図19に示すように、自身を表す送信元の蓄積サーバモジュール識別子と、セグメント要求通知に付与されていた転送対象のマルチメディアデータのサーバ内番組データと、算出したシーケンス番号と、LASTFLAGとを、読み出したセグメントに付与して(S1720)、これらの情報が付与されたセグメントをセグメント要求通知の発行元の通信サーバモジュールn’iへ送信する(S1721)。
【0148】
セグメントの送信が終了すると、送信側の蓄積サーバモジュール3は、変数wの値をインクリメントし(S1722)、S1707へ戻って、通信サーバモジュール2からの次の通知を待つ。
【0149】
次に、図20と図21のフローチャートを参照しながら、受信側の情報転送システム1bの通信サーバモジュール2の動作を説明する。受信側の情報転送システム1bにおいては、集合M’に含まれる各通信サーバモジュール2が、図20と図21のフローチャートが示す動作をそれぞれ独立に繰り返して実行する。
【0150】
図20に示すように、受信側の通信サーバモジュール2は、管理装置60から新規番組受信要求を受信すると(S2001:YES)、まず、送信側の情報転送システム1aの対向の通信サーバモジュールn’iからのセグメント受信準備通知を待つ(S2002)。
【0151】
そして、受信側の通信サーバモジュール2は、セグメント受信準備通知を受信すると、集合Mに含まれる全ての蓄積サーバモジュール3、すなわち、転送対象のマルチメディアデータの格納先となる蓄積装置4に対応する全ての蓄積サーバモジュール3に対して、マルチメディアデータの格納用ファイルをオープンする指示を出し(S2003)、集合Mに含まれる全ての蓄積サーバモジュール3からのファイルオープン終了通知を待つ(S2004)。
【0152】
受信側の通信サーバモジュール2は、集合Mに含まれる全ての蓄積サーバモジュール3からファイルオープン終了通知を受信すると、送信側の対向の通信サーバモジュールn’iに対してセグメント受信準備完了通知を送信し(S2005)、図21に示すセグメント受信処理へ移行する。
【0153】
続いて、セグメント受信処理について、図21のフローチャートを参照しながら説明する。受信側の通信サーバモジュール2は、送信側の対向の通信サーバモジュールn’iから図16に示したマルチメディアデータのセグメントが送信されると(S2006:YES)、上記の式(6)を用いて、セグメントの転送先となる蓄積サーバモジュールを示す識別子pと、転送先の蓄積サーバモジュールmpに対応する蓄積装置4における当該セグメントの格納位置識別子yを算出する(S2007、S2008)。
【0154】
そして、受信側の通信サーバモジュール2は、図22に示すように、受信したセグメントにサーバ内番組データと、算出した格納位置識別子yとを付与し(S2009)、算出した識別子pに対応する蓄積サーバモジュールmpへセグメントを転送する(S2010)。
【0155】
そして、受信側の通信サーバモジュール2は、送信側の対向の通信サーバモジュールn’iから転送終了通知が届いているかを検査し(S2011)、届いている場合は(S2011:YES)、集合Mに含まれる全ての蓄積サーバモジュール3と管理装置60に対して、通信サーバモジュールm’iのセグメントの受信処理が終了したことを示す転送終了通知を送信し(S2012、S2013)、処理を終了する。
【0156】
通信サーバモジュールn’iからまだ転送終了通知が届いていない場合は(S2011:NO)、受信側の通信サーバモジュール2は、S2006へ戻って、新しいセグメントの受信を待つ。
【0157】
次に、図23のフローチャートを参照しながら、受信側の情報転送システム1bの蓄積サーバモジュール3の動作を説明する。受信側の情報転送システム1bにおいては、集合Mに含まれる各蓄積サーバモジュール3が、図23のフローチャートが示す動作をそれぞれ独立に繰り返して実行する。
【0158】
図23に示すように、受信側の蓄積サーバモジュール3は、まず、集合M’に含まれる各通信サーバモジュール2におけるセグメントの受信処理が完了したか否かを表す転送終了フラグC[J](1≦J≦S2)を全て0に初期化する(S2301)。C[J]の値が0であることは、受信側の通信サーバモジュールm’Jが、送信側の対向の通信サーバモジュールn’Jからのセグメントの受信処理を完了しておらず、したがって通信サーバモジュールm’Jから当該の蓄積サーバモジュール3へセグメントの転送が引続きおこなわれることを表す。C[J]の値が1であることは、通信サーバモジュールm’Jが、送信側の対向の通信サーバモジュールn’Jからのセグメントの受信処理を完了し、通信サーバモジュールm’Jから当該の蓄積サーバモジュール3へのセグメントの転送がこれ以上おこなわれないことを表す。
【0159】
続いて、受信側の蓄積サーバモジュール3は、集合M’に含まれる任意の通信サーバモジュールm’iからの通知を待つ(S2302)。通信サーバモジュールm’iからの通知としては、番組格納用ファイルのオープン指示と、セグメントの転送終了通知と、転送対象のセグメントの転送という3種類があり、受信側の蓄積サーバモジュール3は、これらの通知の種類に応じた動作をおこなう。
【0160】
受信側の蓄積サーバモジュール3は、自身に対応する蓄積装置4内に転送対象のマルチメディアデータのセグメントを格納するための番組ファイルをオープンする処理については、1度だけおこなえばよい。しかし、集合M’に含まれる各通信サーバモジュール2は、それぞれ独立にファイルのオープン指示を集合Mに属する全ての蓄積サーバモジュール3に対して発行するため、各蓄積サーバモジュール3は、ファイルのオープン指示を全部でS2回受信する。
【0161】
このため、受信側の蓄積サーバモジュール3は、最初にファイルのオープン指示が届いた場合のみファイルのオープン処理を対応する蓄積装置4に実行させる。具体的には、受信側の蓄積サーバモジュール3は、ファイルのオープン指示を受信した場合(S2003:YES)、指示されたファイルをオープン済みでなければ(S2304:NO)、指示されたファイルを書き込み用にオープンさせて(S2305)、通知元の通信サーバモジュールm’iへファイルオープン終了通知を送信し(S2306)、S2302へ戻って次の通知を待つ。一方、指示されたファイルをオープン済みであれば(S2304:YES)、指示されたファイルを再度オープンさせる必要はないので、通知元の通信サーバモジュールm’iへファイルオープン終了通知を送信する処理だけおこなって(S2306)、S2302へ戻って次の通知を待つ。
【0162】
通信サーバモジュールm’iからの通知がセグメントの転送終了通知であった場合(S2303:NO、S2307:YES)、受信側の蓄積サーバモジュール3は、当該通知を送信した通信サーバモジュールm’iに対応する転送終了フラグC[i]の値を1に設定する(S2308)。このとき、全ての転送終了フラグの値が1になっていれば(S2309:YES)、受信側の蓄積サーバモジュール3は、これ以上通信サーバモジュール2からセグメントが転送されてくることはないので、番組ファイルをクローズし(S2310)、処理を終了する。一方、値が0の転送終了フラグがまだ存在すれば(S2309:NO)、受信側の蓄積サーバモジュール3は、S2302へ戻って次の通知を待つ。
【0163】
通信サーバモジュールm’iからの通知が番組格納用ファイルのオープン処理通知でも転送終了通知でもない場合、すなわち、マルチメディアデータのセグメントが転送されてきた場合(S2303:NO、S2307:NO)、受信側の蓄積サーバモジュール3は、図24に示すように、セグメントに付与された格納位置識別子yの値を参照し、転送されてきたセグメントのマルチメディアデータの部分を、番組ファイルのy番目のセグメント位置に格納させる(S2311)。データの格納が終了すると、受信側の蓄積サーバモジュール3は、S2302へ戻って次の通知を待つ。
【0164】
以上、フローチャートに基づいて、図2に示した本実施例のシステムの動作の詳細を説明した。本実施例は、構成の異なる2つの情報転送システム1の間で、一方の情報転送システム1内の蓄積装置4に分散して格納された1つの番組のマルチメディアデータを4台の通信サーバモジュール2を用いて並列に他方の情報転送システムへ転送し、転送先の情報転送システム1においてマルチメディアデータのセグメントを順序正しく並びかえて蓄積装置4内に分散して格納する例であり、本発明のシステムおよび方法が実施可能であることを示すものである。
【0165】
上述してきたように、本実施例に係る情報転送方法は、一方の情報転送システムの複数の蓄積装置内に分散して格納されたセグメントを、複数の通信サーバモジュールを用いて並列に他方の情報転送システムへ転送し、受信側の情報転送システムにおいては、複数の通信サーバモジュールで並列に受信したセグメントを再び順序正しく並び直して蓄積装置内に格納する。
【0166】
本実施例に係る情報転送方法は、マルチメディアデータを送受信する2つの情報転送システムの構成が異なる場合でも、また、マルチメディアデータが一部の蓄積装置のみに格納されている場合でも適用可能である。また、本実施例に係る情報転送方法によれば、使用する通信サーバモジュールの台数も自由に設定することが可能であり、これによりマルチメディアデータの転送速度を調整することが可能となっている。
【0167】
このように、本実施例に係る情報転送方法は、システム構成に対する制約が小さく、また、動作性能に対する柔軟性の高いマルチメディアデータ転送方式を実現する。
【0168】
また、本実施例に係る情報転送方法では、送信側の情報転送システムの集合N’に属する各通信サーバモジュールが、セグメント送信要求の発行先となる送信側の蓄積サーバモジユールを随時変更しながら、蓄積サーバモジュールからのセグメントの受信と端末側ネットワークへのセグメントの送信を繰り返す。
【0169】
このように、本実施例に係る情報転送方法では、集合N’に属する全ての通信サーバモジュールが集合Nに属する全ての蓄積サーバモジュールを対象としながら、それぞれ独立に上記処理を繰り返すため、それぞれの通信サーバモジュールのデータ転送量は、各通信サーバモジュールの処理性能の差や、各種リソースの割り当てに関する優先度の差がない限り、ほぼ等しくなる。これにより、通信サーバモジュール毎に送信するデータ量に不均衡が生じ、リソースが有効に活用されない場合があるという従来技術の問題が解決される。
【0170】
さらに、本実施例に係る情報転送方法では、送信側の情報転送システムの処理は、上述した式で定まるシーケンス番号を付与してセグメントを端末へ送出するだけであり、その処理の実行のために受信側の情報転送システムの内部構成に関する情報を必要としない。このため、受信側の情報転送システムの内部構成に関する情報を送信側の情報転送システムに対して隠蔽できないために、リソース管理モデルやセキュリティ面での妥当性を欠く、という従来技術の問題を解決することができる。
【符号の説明】
【0171】
1 情報転送システム
2 通信サーバモジュール
3 蓄積サーバモジュール
4 蓄積装置
5 サーバモジュール間ネットワーク
10 情報転送システム
11 通信サーバモジュール
12 蓄積サーバモジュール
13 蓄積装置
14 サーバモジュール間ネットワーク
20 端末
30 マルチメディアデータ入力装置
40 端末側ネットワーク
50 制御端末
60 管理装置
【技術分野】
【0001】
本発明は、情報転送システムおよび情報転送方法に関する。
【背景技術】
【0002】
ネットワークを介して接続されたサイト間で動画等のマルチメディアデータを高速に転送する方式として、分散RAID(Redundant Arrays of Inexpensive Disks)方式と呼ばれる方式が知られている(特許文献1参照)。
【0003】
分散RAID方式とは、サイト内に複数の蓄積サーバモジュールと複数の通信サーバモジュールとを設け、各蓄積サーバモジュールと各通信サーバモジュールを独立に動作させる方式である。蓄積サーバモジュールは、マルチメディアデータを分割した単位であるセグメントを循環的に分散して蓄積するために用いられる。通信サーバモジュールは、自サイトの蓄積サーバモジュールからセグメントを読み出して対向のサイトへ送信したり、対向のサイトから送信されたセグメントを受信して自サイトの蓄積サーバモジュールに記憶させたりするために用いられる。
【0004】
分散RAID方式を採用した情報転送システムの一例を図25に示す。図25では、情報転送システム10と、端末20aおよび20bと、マルチメディアデータ入力装置30とが、端末側ネットワーク40に接続されている。端末側ネットワーク40は、マルチメディアデータの伝送に十分な帯域を備えたネットワークであり、例えば、IPネットワークである。
【0005】
端末20aおよび20bは、情報転送システム10に対してマルチメディアデータの配信要求を発行し、情報転送システム10から配信されたマルチメディアデータを再生する。マルチメディアデータ入力装置30は、情報転送システム10に対してマルチメディアデータの蓄積要求を発行し、情報転送システム10から蓄積許可がおりると、蓄積すべきマルチメディアデータを情報転送システム10に対して送信する。
【0006】
情報転送システム10は、分散RAID方式を採用した情報転送システムであり、通信サーバモジュール111〜11MというM台の通信サーバモジュールと、蓄積サーバモジュール121〜12NというN台の蓄積サーバモジュールと、蓄積装置131〜13NというN台の蓄積装置と、サーバモジュール間ネットワーク14とを含む。サーバモジュール間ネットワーク14は、サーバモジュール間の情報のやりとりを中継する。
【0007】
通信サーバモジュール111〜11Mは、端末側ネットワーク40およびサーバモジュール間ネットワーク14と接続されている。通信サーバモジュール111〜11Mは、端末側ネットワーク40側からマルチメディアデータのセグメントを受信すると、受信したセグメントを、サーバモジュール間ネットワーク14を介して蓄積サーバモジュール121〜12Nのいずれかに転送する。また、通信サーバモジュール111〜11Mは、サーバモジュール間ネットワーク14を介して蓄積サーバモジュール121〜12Nのいずれかからマルチメディアデータのセグメントを受信すると、受信したセグメントを端末側ネットワーク40側へ転送する。
【0008】
蓄積サーバモジュール121〜12Nは、サーバモジュール間ネットワーク14と接続されるとともに、それぞれが、蓄積装置131〜13Nのいずれか1つと1対1で接続される。蓄積サーバモジュール121〜12Nは、対応する蓄積装置13へのセグメントの格納と、対応する蓄積装置13からのセグメントの読み出しを制御する。蓄積装置131〜13Nは、対応する蓄積サーバモジュール12の制御に従って、セグメントの格納や読み出しを実行する。
【0009】
図25に示した情報転送システム10へのマルチメディアデータの蓄積について図26を参照しながら説明する。情報転送システム10に蓄積すべきマルチメディアデータを有するマルチメディアデータ入力装置30は、情報転送システム10に対してマルチメディアデータの蓄積要求を送信する。そして、マルチメディアデータ入力装置30は、情報転送システム10から蓄積許可を受信すると、情報転送システム10に含まれる通信サーバモジュール11j(ただし、1≦j≦M)に対して、蓄積すべきマルチメディアデータの送信を開始する。なお、説明を簡単にするため、マルチメディアデータの送信先となる通信サーバモジュール11を決定する方法についてはここでは説明を省略する。
【0010】
情報転送システム10の通信サーバモジュール11jは、図26に示すように、マルチメディアデータ入力装置30からマルチメディアデータを受信すると、受信したマルチメディアデータをセグメントに順次分割していく。そして、通信サーバモジュール11jは、マルチメディアデータの先頭のセグメント(セグメント番号0のセグメント。以下、「セグメント0」と表記する)を蓄積サーバモジュール121へ転送して、蓄積装置131に格納させる。続いて、通信サーバモジュール11jは、後続のセグメント1を蓄積サーバモジュール122へ転送して、蓄積装置132に格納させる。
【0011】
このように、通信サーバモジュール11jは、受信したマルチメディアデータの最後のセグメントを転送し終えるまで、蓄積サーバモジュール121〜12Nを巡回するようにセグメントを蓄積サーバモジュール12へ転送し、セグメントを蓄積装置131〜13Nに格納させる。その結果、セグメント0が蓄積装置131に格納され、セグメント1が蓄積装置132に格納され、セグメント(N−1)が蓄積装置13Nに格納され、セグメントNが蓄積装置131に格納されるというように、セグメントが、蓄積装置131〜13Nに循環的に分散して蓄積される。
【0012】
続いて、図25に示した情報転送システム10からのマルチメディアデータの配信について図27を参照しながら説明する。情報転送システム10は、端末側ネットワーク40上の端末20の1つからマルチメディアデータの読み出し要求を受信すると、情報転送システム10に含まれる通信サーバモジュール11j(ただし、1≦j≦M)を使って要求された番組のマルチメディアデータの配信をおこなう。なお、説明を簡単にするため、マルチメディアデータの送信元となる通信サーバモジュール11を決定する方法についてはここでは説明を省略する。
【0013】
通信サーバモジュール11jは、まず、要求されたマルチメディアデータの先頭のセグメントであるセグメント0が格納されている蓄積装置131に対応する蓄積サーバモジュール121に対して、セグメント0の読み出し要求を送信する。蓄積サーバモジュール121は、読み出し要求を受信すると、要求されたセグメント0を対応する蓄積装置131から読み出し、サーバモジュール間ネットワーク14を介して通信サーバモジュール11jへ送信する。
【0014】
通信サーバモジュール11jは、セグメント0を受信すると、セグメント0を端末側ネットワーク40へ転送できる形式のマルチメディアデータへ変換し、マルチメディアデータの読み出し要求を発行した端末20へ送信する。
【0015】
通信サーバモジュール11jは、続いて、要求されたマルチメディアデータの次のセグメントであるセグメント1が格納されている蓄積装置132に対応する蓄積サーバモジュール122に対して、セグメント1の読み出し要求を送信する。そして、蓄積サーバモジュール122からセグメント1を受信すると、受信したセググメント1を同様にマルチメディアデータへ変換して要求元の端末20へと送信する。
【0016】
このように、通信サーバモジュール11jは、蓄積サーバモジュール121〜12Nを1つずつ巡回しながら、要求されたマルチメディアデータの全体の送信が完了するまで、同様の処理を繰り返す。
【0017】
分散RAID方式を採用する情報転送システムは、このような構成および動作によって、1つの番組のマルチメディアデータを1台の蓄積装置にまとめて格納する方式と比較して、番組毎のアクセス頻度が大きく異なる場合でも各蓄積装置に要する負荷を均等化することができる。そのため、分散RAID方式を採用する情報転送システムには、システム規模の拡張にともなう処理性能の向上効果が大きくなるという利点がある。
【0018】
続いて、分散RAID方式を採用する情報転送システム間でマルチメディアデータを送受信する場合について、図28および図29を参照しながら説明する。図28は、端末側ネットワーク40を介して接続される情報転送システム10aと情報転送システム10bとを示している。情報転送システム10aと情報転送システム10bは、分散RAID方式を採用する情報転送システムである。
【0019】
情報転送システム10aは、通信サーバモジュール111〜11QというQ台の通信サーバモジュール11と、蓄積サーバモジュール121〜12PというP台の蓄積サーバモジュール12と、蓄積装置131〜13PというP台の蓄積装置13と、サーバモジュール間ネットワーク14とを含む。情報転送システム10bは、通信サーバモジュール111〜11RというR台の通信サーバモジュール11と、蓄積サーバモジュール121〜12TというT台の蓄積サーバモジュール12と、蓄積装置131〜13TというT台の蓄積装置13と、サーバモジュール間ネットワーク14とを含む。
【0020】
図29は、情報転送システム10aから情報転送システム10bへマルチメディアデータが送信される場面を示している。図29に示した例では、送信側である情報転送システム10aは、上述した情報転送システム10が端末20へマルチメディアデータを配信する場合と同じ方法で、マルチメディアデータを情報転送システム10bへ送信している。そして、受信側である情報転送システム10bは、上述した情報転送システム10がマルチメディアデータ入力装置30から受信したマルチメディアデータを蓄積する場合と同じ方法で、マルチメディアデータを蓄積している。
【0021】
図29に示した方式の場合、分散RAID方式を採用することによる上記の利点は得られるものの、送信側でも受信側でも1つのマルチメディアデータの送受信に際して1台の通信サーバモジュール11しか使用されない。このため、図29に示した方式では、1台の通信サーバモジュール11のハードウェアの性能限界を上回る速度でマルチメディアデータを転送することができない。近年、高解像度のテレビ受信機の普及等にともなって、マルチメディアデータの転送性能の向上が強く望まれているが、図29に示した方式ではこの要望に応え難い。
【0022】
そこで、特許文献2では、分散RAID方式を採用する情報転送システム間でマルチメディアデータを高速に転送するために、送信側と受信側において複数の通信サーバモジュールを並列に動作させる技術が提案されている。
【0023】
特許文献2で提案されている技術の概要を図30に示す。送信側の情報転送システム10aは、P台の蓄積サーバモジュール121〜12Pに対応するP台の蓄積装置131〜13PのうちS1台の蓄積装置13に分散して格納されたマルチメディアデータを、Q台の通信サーバモジュール111〜11QのうちのS2台の通信サーバモジュール11を用いて並列に送信する。そして、受信側の情報転送システム10bは、R台の通信サーバモジュール111〜11Rのうち、送信側と同じ台数のS2台の通信サーバモジュール11を用いてマルチメディアデータを並列に受信し、受信したマルチメディアデータを、T台の蓄積サーバモジュール121〜12Tに対応するT台の蓄積装置131〜13TのうちのS3台の蓄積装置13に分散して格納する。
【0024】
このように、特許文献2で提案されている方式では、マルチメディアデータの転送がS2台の通信サーバモジュール11を並列に用いておこなわれるので、転送性能が向上する。また、特許文献2で提案されている方式では、以下に示すように、送信側と受信側の各情報転送システム10に含まれる通信サーバモジュール11と蓄積サーバモジュール12の数が異なる場合でも、マルチメディアデータを構成する各セグメントを正しい順序で循環的に受信側の蓄積装置13に格納することができる。
【0025】
通信サーバモジュール11を並列に用いつつ、マルチメディアデータを構成する各セグメントを正しい順序で循環的に受信側の蓄積装置13に格納するには、各セグメントと、それらを送受信する通信サーバモジュール11との対応を適切に制御する必要がある。特許文献2では、各セグメントと、それらを送受信する通信サーバモジュール11との対応を制御する方式として、方式1〜3の3つの方式が提案されている。
【0026】
方式1の概要について図31を参照しながら説明する。方式1では、送信側のS2台の通信サーバモジュール11と受信側のS2台の通信サーバモジュール11とが1対1で対応付けられる。そして、送信側の情報転送システム10aは、S2台の通信サーバモジュール11のそれぞれに、蓄積サーバモジュール12の部分集合を割り当てる。通信サーバモジュール11に割り当てられる蓄積サーバモジュール12の部分集合は、転送対象のマルチメディアデータが分散して格納されているS1台の蓄積装置13と1対1で対応する蓄積サーバモジュール12の集合をS2個に分割したものである。
【0027】
そして、蓄積サーバモジュール12の部分集合を割り当てられた通信サーバモジュール11は、自らに割り当てられた部分集合に属する蓄積サーバモジュール12のみから転送対象のマルチメディアデータのセグメントを読み出す。したがって、方式1では、送信側の通信サーバモジュール11が転送すべき全てのセグメントを読み出し終えるまで、その通信サーバモジュール11に割り当てられた部分集合に属する蓄積サーバモジュール12は、他の通信サーバモジュール11によってアクセスされることがない。
【0028】
このように、方式1では、送信側において、通信サーバモジュール11が蓄積サーバモジュール12に排他的にアクセスすることができる。このため、送信側の情報転送システム10の実装が容易になる。
【0029】
続いて、方式2の概要について図32を参照しながら説明する。方式2では、送信側のS2台の通信サーバモジュール11と受信側のS2台の通信サーバモジュール11とが1対1で対応付けられる。そして、受信側の情報転送システム10bは、S2台の通信サーバモジュール11のそれぞれに、蓄積サーバモジュール12の部分集合を割り当てる。通信サーバモジュール11に割り当てられる蓄積サーバモジュール12の部分集合は、転送されたマルチメディアデータが分散して格納される対象であるS3台の蓄積装置13と1対1で対応する蓄積サーバモジュール12の集合をS2個に分割したものである。
【0030】
そして、蓄積サーバモジュール12の部分集合を割り当てられた通信サーバモジュール11は、転送されたマルチメディアデータのセグメントを、自らに割り当てられた部分集合に属する蓄積サーバモジュール12のみに転送して、対応する蓄積装置13に格納させる。したがって、方式2では、受信側の通信サーバモジュール11が転送された全てのセグメントを格納させ終えるまで、その通信サーバモジュール11に割り当てられた部分集合に属する蓄積サーバモジュール12は、他の通信サーバモジュール11によってアクセスされることがない。
【0031】
このように、方式2では、受信側において、通信サーバモジュール11が蓄積サーバモジュール12に排他的にアクセスすることができる。そして、送信側の通信サーバモジュール11からは、セグメントが、マルチメディアデータの先頭から近い順に格納されるように送信される。このため、蓄積装置13へ格納するセグメントの順序を整列するためのバッフアを蓄積サーバモジュール12上に設けなくても、各蓄積装置13が、蓄積要求のたびに書き込み位置を1セグメント分ずつインクリメントすることにより、各セグメントが正しい順序で蓄積装置13へ格納される。
【0032】
すなわち、方式2では、各蓄積装置13が、ランダムアクセスをおこなうことなく、順次アクセスによってセグメントを適切に格納することができるので、受信側の情報転送システム10の実装が容易になるとともに、受信側の情報転送システム10でのデータ書き込み性能を向上させやすくなる。
【0033】
なお、方式2では、受信側の通信サーバモジュール11は、受信したセグメントを自らに割り当てられた部分集合に属する蓄積サーバモジュール12に所定の順序で振り分けていくに過ぎない。したがって、セグメントがS3台の蓄積装置13に図26のように分散して循環的に格納されるようにするには、送信側の通信サーバモジュール11が適切な順序でセグメントを読み出して受信側へ送信する必要がある。このため、方式2では、送信側の通信サーバモジュール11は、受信側の情報転送システム10においてどの蓄積装置13にセグメントが分散して循環的に格納されるのかに関する情報を予め取得している必要がある。
【0034】
続いて、方式3の概要について図33を参照しながら説明する。方式3では、通信サーバモジュール11から蓄積サーバモジュール12への排他的アクセスが送信側と受信側の双方の情報転送システム10においておこなわれる。そして、送信側のS2台の通信サーバモジュール11は、セグメント毎に転送先となる受信側の通信サーバモジュール11を選択し直して送信する全対全通信をおこなう。
【先行技術文献】
【特許文献】
【0035】
【特許文献1】特開平11−146014号公報
【特許文献2】特開2008−278198号公報
【発明の概要】
【発明が解決しようとする課題】
【0036】
上記の方式1の従来技術については、送信側の情報転送システム10において、通信サーバモジュール11毎に送信するデータ量に不均衡が生じ、リソースが有効に活用されない場合がある。
【0037】
例えば、図31に示した例は、S1=3、S2=2の場合、すなわち、送信側の情報転送システム10aが、蓄積装置131、132および13S1という3台の蓄積装置13に分散して格納されているマルチメディアデータを、通信サーバモジュール111および11S2という2台の通信サーバモジュール11が送信する場合を示している。この例では、通信サーバモジュール111には、蓄積サーバモジュール121および122という2台の蓄積サーバモジュール12を含む部分集合が割り当てられているのに対して、通信サーバモジュール11S2には、蓄積サーバモジュール12S1という1台のみの蓄積サーバモジュール12を含む部分集合が割り当てられている。
【0038】
この例の場合、通信サーバモジュール11S2が送信するデータ量は、通信サーバモジュール111が送信するデータ量の約半分となる。このため、通信サーバモジュール11S1は、マルチメディアデータ全体の送信が完了するまで、約半分の時間を待機して過ごすこととなる。
【0039】
また、上記の方式2の従来技術については、上述したように、送信側の通信サーバモジュール11が、適切な順序でセグメントを送信するために、受信側の情報転送システム10においてどの蓄積装置13にセグメントが分散して循環的に格納されるのかに関する情報を予め取得している必要がある。このことは、受信側の情報転送システム10の内部構成に関する情報を送信側の情報転送システム10に対して隠蔽できないことを意味しており、リソース管理モデルやセキュリティ面での妥当性の観点から問題である。
【0040】
また、上記の方式3の従来技術については、方式1のように送信側の情報転送システム10において通信サーバモジュール11から蓄積サーバモジュール12へのアクセスの排他化をおこなう方式と、方式2のように受信側の情報転送システム10において通信サーバモジュール11から蓄積サーバモジュール12へのアクセスの排他化をおこなう方式との両方が採用されているため、上述した方式1の問題点と方式2の問題点を併せもっている。
【0041】
本発明は、上記に鑑みてなされたものであって、送信側の各通信サーバモジュールが送信するデータ量に不均衡を生じさせることなく、また、受信側の情報転送システムの内部構成に関する情報を送信側の情報転送システムに通知することなくデータを高速に転送することができる情報転送システムおよび情報転送方法を提供することを目的とする。
【課題を解決するための手段】
【0042】
上述した課題を解決し、目的を達成するために、本発明は、1つの態様において、1つのデータを分割したセグメントを分散して循環的に格納する複数の蓄積部と、前記セグメントをネットワークを介して対向の情報転送システムとの間で送受信する複数の通信部とを有する情報転送システムによって実行される情報転送方法において、第1の情報転送システムの通信部が、第2の情報転送システムへ転送されるデータを構成するセグメントであって、該データにおける位置を示すシーケンス番号が付与されたセグメントを、第2の情報転送システムへそれぞれ独立して送信する送信工程と、第2の情報転送システムの通信部が、前記送信工程において前記第1の情報転送システムの通信部によって送信されたセグメントに付与された前記シーケンス番号に基づいて第2の情報転送システムの蓄積部の1つへ振り分ける振り分け工程と、第2の情報転送システムの蓄積部が、第2の情報転送システムの通信部によって振り分けられたセグメントを、該セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行する格納工程とを含むことを特徴とする。
【0043】
また、本発明は、他の態様において、さらに、第1の情報転送システムの通信部は、前記送信工程において、第2の情報転送システムへ転送される前記データを構成するセグメントが格納されている第1の情報転送システムの蓄積部を、該蓄積部の全てから該データを構成するセグメントを全て読み出し終えた旨の応答が得られるまで、循環的にアクセスしてセグメントを読み出し、第1の情報転送システムの蓄積部は、前記データのセグメントのうち、自身に格納されているセグメントを第1の情報転送システムの通信部の要求に応じて順次応答し、自身に格納されているセグメントを全て応答した後は、該データを構成するセグメントを全て読み出し終えた旨を応答することを特徴とする。
【0044】
また、本発明は、1つの態様において、1つのデータを分割したセグメントを分散して循環的に格納する複数の蓄積部と、前記セグメントをネットワークを介して対向の情報転送システムとの間で送受信する複数の通信部とを有する情報転送システムにおいて、前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントであって、該データにおける位置を示すシーケンス番号が付与されたセグメントを、前記対向の情報転送システムへ送信し、前記対向の情報転送システムから当該の情報転送システムへデータが転送される場合に、前記対向の情報転送システムから受信したセグメントを該セグメントに付与された前記シーケンス番号に基づいて前記蓄積部の1つへ振り分ける処理をそれぞれ独立に実行し、前記蓄積部は、前記通信部によって振り分けられたセグメントを、該セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行することを特徴とする。
【0045】
また、本発明は、他の態様において、さらに、前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントが格納されている蓄積部を、該蓄積部の全てから該データを構成するセグメントを全て読み出し終えた旨の応答が得られるまで、循環的にアクセスしてセグメントを読み出し、前記蓄積部は、前記データのセグメントのうち、自身に格納されているセグメントを前記通信部の要求に応じて順次応答し、自身に格納されているセグメントを全て応答した後は、該データを構成するセグメントを全て読み出し終えた旨を応答することを特徴とする。
【発明の効果】
【0046】
本発明に係る情報転送システムおよび情報転送方法は、送信側の各通信サーバモジュールが送信するデータ量に不均衡を生じさせることなく、また、受信側の情報転送システムの内部構成に関する情報を送信側の情報転送システムに通知することなくデータを高速に転送することができるという効果を奏する。
【図面の簡単な説明】
【0047】
【図1】図1は、本願の実施例に係る情報転送方法の概要を示す図である。
【図2】図2は、本願の実施例に係る情報転送方法を実行するネットワークシステムの一例を示す図である。
【図3】図3は、蓄積装置に番組毎にファイルとして格納されるマルチメディアデータの一例を示す図である。
【図4】図4は、制御端末の動作を示すフローチャートである。
【図5】図5は、制御端末から管理装置への転送要求メッセージの形式を示す図である。
【図6】図6は、送信側の情報転送システムにおけるセグメントの格納され方の一例を示す図である。
【図7】図7は、管理装置の動作を示すフローチャートである。
【図8】図8は、管理装置の動作の続きを示すフローチャートである。
【図9】図9は、管理装置が管理するデータベースの一例を示す図である。
【図10】図10は、集合N、N’、M’Mの一例を示す図である。
【図11】図11は、管理装置から送信側の通信サーバモジュールへ送信される新規番組送信要求の形式を示す図である。
【図12】図12は、管理装置から受信側の通信サーバモジュールへ送信される新規番組受信要求の形式を示す図である。
【図13】図13は、送信側の通信サーバモジュールの動作を示すフローチャートである。
【図14】図14は、送信側の通信サーバモジュールの動作の続きを示すフローチャートである。
【図15】図15は、通信サーバモジュールから送信されるセグメント要求通知と応答されるセグメントの形式を示す図である。
【図16】図16は、送信側の情報転送システムの通信サーバモジュールから送信されるセグメントの形式を示す図である。
【図17】図17は、送信側の蓄積サーバモジュールの動作を示すフローチャートである。
【図18】図18は、送信側の蓄積サーバモジュールの動作の続きを示すフローチャートである。
【図19】図19は、送信側の情報転送システムにおけるセグメントの読み出し処理を示す図である。
【図20】図20は、受信側の通信サーバモジュールの動作を示すフローチャートである。
【図21】図21は、受信側の通信サーバモジュールの動作の続きを示すフローチャートである。
【図22】図22は、受信側の情報転送システム内部で転送されるセグメントの形式を示す図である。
【図23】図23は、受信側の蓄積サーバモジュールの動作を示すフローチャートである。
【図24】図24は、受信側におけるセグメントの格納処理を示す図である。
【図25】図25は、従来の情報転送システムを含むネットワークシステムの構成を示す図である。
【図26】図26は、従来の情報転送システムにおける受信処理の概要を示す図である。
【図27】図27は、従来の情報転送システムにおける送信処理の概要を示す図である。
【図28】図28は、従来の情報転送システムを2つ含むネットワークシステムの構成を示す図である。
【図29】図29は、2つの情報転送システム間での従来の情報転送方式を示す図である。
【図30】図30は、2つの情報転送システム間で並列に転送処理を実行する場合の従来の情報転送方式の概要を示す図である。
【図31】図31は、2つの情報転送システム間で並列に転送処理を実行する場合の従来の第1の情報転送方式を示す図である。
【図32】図32は、2つの情報転送システム間で並列に転送処理を実行する場合の従来の第2の情報転送方式を示す図である。
【図33】図33は、2つの情報転送システム間で並列に転送処理を実行する場合の従来の第3の情報転送方式を示す図である。
【発明を実施するための形態】
【0048】
以下に、本発明に係る情報転送システムおよび情報転送方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下の説明では、既に説明した要素と同様の要素については、既に説明した同様の要素と同一の符号を付して、重複する説明を省略することとする。
【実施例】
【0049】
まず、図1を参照しながら、本実施例に係る情報転送方法の概要について説明する。図1は、情報転送システム1aが、端末側ネットワーク40を介して、マルチメディアデータを情報転送システム1bへ転送する場面を示している。端末側ネットワーク40は、マルチメディアデータの伝送に十分な帯域を備えたネットワークであり、例えば、IPネットワークである。
【0050】
情報転送システム1aおよび情報転送システム1bは、本実施例に係る情報転送方法によってマルチメディアデータを転送する。なお、図1に示した例では、情報転送システム1aから情報転送システム1bへマルチメディアデータが転送される場面が示されているが、情報転送システム1bから情報転送システム1aへもマルチメディアデータを転送できる。また、図1に示した例では、情報転送システム1aおよび情報転送システム1bという2つの情報転送システム1が端末側ネットワーク40に接続されているが、3つ以上の情報転送システム1を端末側ネットワーク40に接続し、任意の情報転送システム1間でマルチメディアデータを転送できるように構成してもよい。
【0051】
情報転送システム1aおよび情報転送システム1bは、それぞれ、複数の通信サーバモジュール2と、複数の蓄積サーバモジュール3と、蓄積サーバモジュール3と同数の蓄積装置4と、サーバモジュール間ネットワーク5とを含む。なお、図1では、図示を簡略化するため、転送対象となっているマルチメディアデータの転送と関連のない通信サーバモジュール2、蓄積サーバモジュール3および蓄積装置4の図示を省略している。
【0052】
通信サーバモジュール2は、端末側ネットワーク40および自システム内のサーバモジュール間ネットワーク5と接続され、他の情報転送システム1との間でマルチメディアデータのセグメントを送受信する。蓄積サーバモジュール3は、自システム内のサーバモジュール間ネットワーク5と接続されるとともに、それぞれが、自システム内の蓄積装置4のいずれか1つと1対1で接続される。蓄積サーバモジュール3は、対応する蓄積装置4へのセグメントの格納と、対応する蓄積装置4からのセグメントの読み出しを制御する。
【0053】
蓄積装置4は、対応する蓄積サーバモジュール3の制御に従って、セグメントの格納や読み出しを実行する。サーバモジュール間ネットワーク5は、サーバモジュール間の情報のやりとりを中継するネットワークであり、例えば、高速LAN(Local Area Network)やInfniBand等の技術を利用して実現される。
【0054】
図1に示す例では、送信側の情報転送システム1aの複数の蓄積サーバモジュール3のうち、集合Nに属するS1台の蓄積サーバモジュール3に対応する各蓄積装置4に転送対象のマルチメディアデータが分散して循環的に格納されている。そして、転送対象のマルチメディアデータは、受信側の情報転送システム1bの複数の蓄積サーバモジュール3のうち、集合Mに属するS3台の蓄積サーバモジュール3に対応する各蓄積装置4に分散して循環的に格納されることとなっている。
【0055】
また、マルチメディアデータを転送するため、送信側の情報転送システム1aでは、複数の通信サーバモジュール2のうち、集合N’に属するS2台の通信サーバモジュール2がセグメントの送信を担当するために選択されている。そして、受信側の情報転送システム1bでは、複数の通信サーバモジュール2のうち、集合M’に属するS2台の通信サーバモジュール2がセグメントの送信を担当するために選択されている。
【0056】
なお、以下の説明では、集合N、集合N’、集合Mおよび集合M’の要素を以下のように記述することがある。
【0057】
【数1】
【0058】
【数2】
【0059】
【数3】
【0060】
【数4】
【0061】
また、集合Nの要素n1に相当する蓄積サーバモジュール3を蓄積サーバモジュールn1のように記述することがある。他の集合の要素についても同様である。
【0062】
情報転送システム1aおよび情報転送システム1bは、本実施例に係る情報転送方法に基づいて、以下のように動作する。
【0063】
(1)送信側の情報転送システム1aにおいて、集合N’に属する全ての通信サーバモジュール2、すなわち、転送対象のマルチメディアデータの送信処理に関わる全ての通信サーバモジュール2が、集合Nに属する全ての蓄積サーバモジュール3、すなわち、転送対象のマルチメディアデータが分散して格納されている蓄積装置4に対応する全ての蓄積サーバモジュール3にアクセスし、転送対象のマルチメディアデータのセグメントを読み出す(全対全アクセス)。
【0064】
(2)送信側の情報転送システム1aの集合N’に属する通信サーバモジュール2と、受信側の情報転送システム1bの集合M’に属する通信サーバモジュール2とは、1対1に接続される。そして、送信側の各通信サーバモジュール2は、シーケンス番号が付与されたセグメントを、対応する受信側の通信サーバモジュール2に対してのみ送信する(1対1通信)。
【0065】
(3)受信側の情報転送システム1bにおいて、集合M’に属する全ての通信サーバモジュール2、すなわち、転送対象のマルチメディアデータの送信処理に関わる全ての通信サーバモジュール2が、対向の送信側の通信サーバモジュール2から送信されてきた各セグメントのシーケンス番号に基づいて、格納先となる蓄積装置4、および、当該蓄積装置4内の番組ファイルにおける当該セグメントの書き込み位置を決定し、それらを明示して当該蓄積装置4を管理する蓄積サーバモジュール3にそのセグメントを転送する。受信側の情報転送システム1bの集合Mに属する全ての蓄積装置4がセグメントの格納先となる可能性があるため、上記動作の結果、受信側の情報転送システム1bにおいても集合M’に属する全ての通信サーバモジュール2が、集合Mに属する全ての蓄積サーバモジュール3に対してアクセスをおこなうことになり得る(全対全アクセス)。
【0066】
本実施例に係る情報転送方法は、上記の(1)と(3)のように動作する点、すなわち、全ての通信サーバモジュール2から全ての蓄積サーバモジュール3への全対全アクセスを送信側と受信側の双方の情報転送システム1においておこなう点で、上述した従来技術の方式1〜3と異なる。
【0067】
また、送信側の情報転送システム1aの各通信サーバモジュールn’i(1≦i≦S2)は、上記の(1)と(2)は、集合Nに含まれる蓄積サーバモジュール3のいずれか1つに対して転送対象のマルチメディアデータのセグメントの読み出しを求めるセグメント要求を発行し、その要求に対して蓄積サーバモジュール3から送られてきたセグメントを1つずつ端末側ネットワーク40に送出する処理を繰り返す。
【0068】
セグメント要求の発行先となる蓄積サーバモジュール3は、この繰り返し処理のたびに随時決定される。この決定方法についてはここでは特に規定しないが、集合N’の要素の全ての通信サーバモジュール2について、セグメント要求の発行の対象となり得る蓄積サーバモジュール3は集合N中の全ての蓄積サーバモジュール3であり、セグメント要求の発行宛先を決定する際には、集合N中の全ての蓄積サーバモジュールを候補として、その中から選択するものとする。
【0069】
そして、送信側の通信サーバモジュールn’iから端末側ネットワーク40へ送出されるセグメントには、転送対象のマルチメディアデータ全体の中で、そのセグメントのデータが占める位置を表わすシーケンス番号qが付与される。集合Nのt番目の要素である蓄積サーバモジュールntに対応する蓄積装置4内に転送対象のマルチメディアデータのw番目のセグメントとして格納されているセグメントのシーケンス番号qは、以下の式によって算出される。
【0070】
【数5】
【0071】
このようにしてシーケンス番号を算出することができるのは、集合Nに属する蓄積サーバモジュール3に対応する各蓄積装置4内に、図27に示したように、セグメントが循環的に格納されているからである。
【0072】
なお、シーケンス番号qの付与は、蓄積サーバモジュール3がおこなってもよいし、通信サーバモジュール2がおこなってもよい。また、本実施例に係る情報転送方法に関して、通信サーバモジュール2が同時に複数の蓄積サーバモジュール3に対してセグメント要求を発行する拡張や、端末側ネットワーク40へ同時に複数のセグメントを送出する拡張も考えられるが、説明を簡単にするため、ここでは説明を省略する。
【0073】
また、上記の(3)では、通信サーバモジュールn’iと接続された受信側の情報転送システム1bの対向の通信サーバモジュールm’iは、通信サーバモジュールn’iから受信したセグメントを格納する蓄積装置4と、その蓄積装置4にセグメントが格納される位置とを以下の式によって決定する。
【0074】
【数6】
【0075】
ここで、modは、除算における余りを求める演算子であり、divは、除算における商(小数点以下を切り捨てた整数部分)を求める演算子である。また、pは、セグメントを格納する蓄積装置4が、集合Mの何番目の要素の蓄積サーバモジュール3に対応するものであるかを表し、yは、セグメントが、蓄積サーバモジュールmpに対応する蓄積装置4おいて当該のマルチメディアデータが格納されるファイルに何番目のセグメントとして格納すべきものであるかを表す。
【0076】
通信サーバモジュールm’iは、こうしてpとyを算出すると、蓄積サーバモジュールmpにセグメントを転送して、対応する蓄積装置4内のyが表す位置にセグメントを格納するように指示する。
【0077】
以上が、本実施例に係る情報転送方法による基本的な動作である。本実施例に係る情報転送方法では、集合N’に属する送信側の各通信サーバモジュール2が、セグメント要求の発行先となる送信側の蓄積サーバモジュール3を随時変更しながら、送信側の蓄積サーバモジュール3からのセグメントの受信と、端末側ネットワーク40へセグメントの送信を繰り返す。
【0078】
このように、集合N’に属する送信側の全ての通信サーバモジュール2が、集合Nに属する全ての蓄積サーバモジュール3を対象としながら、それぞれ独立に上記処理を繰り返すため、それぞれの通信サーバモジュール2のデータ転送量は、各通信サーバモジュール2の処理性能の差や、各種リソースの割り当てに関する優先度の差がない限り、ほぼ等しくなる。これにより、通信サーバモジュール11毎に送信するデータ量に不均衡が生じ、リソースが有効に活用されないという従来の問題が解決される。
【0079】
また、送信側の情報転送システム1aの処理は、上記の式(5)で定まるシーケンス番号を付与してセグメントを端末側ネットワーク40へ送出するだけであり、その処理の実行のために受信側の情報転送システム1bの内部構成に関する情報は必要ない。したがって、受信側の情報転送システム1bの内部構成に関する情報を送信側の情報転送システム1aに対して隠蔽することができ、リソース管理モデルやセキュリティ面での従来の妥当性の問題を解決することができる。
【0080】
以下、本実施例に係る情報転送方法を実行する情報転送システム1a、情報転送システム1b等の構成および動作についてより詳細に説明する。
【0081】
まず、本実施例に係る情報転送方法を実行するシステム全体の構成の例を図2に示す。図2に示す例では、情報転送システム1aと、情報転送システム1bと、制御端末50と、管理装置60とが、端末側ネットワーク40に接続されている。
【0082】
情報転送システム1aは、通信サーバモジュール21〜28と、蓄積サーバモジュール31〜38と、蓄積サーバモジュール31〜38と1対1で対応する蓄積装置41〜48と、通信サーバモジュール21〜28と蓄積サーバモジュール31〜38を通信可能に接続するサーバモジュール間ネットワーク5とを含む。
【0083】
情報転送システム1bは、通信サーバモジュール21〜25と、蓄積サーバモジュール31〜35と、蓄積サーバモジュール31〜35と1対1で対応する蓄積装置41〜45と、通信サーバモジュール21〜25と蓄積サーバモジュール31〜35を通信可能に接続するサーバモジュール間ネットワーク5とを含む。
【0084】
情報転送システム1aおよび情報転送システム1bの蓄積装置4には、図3に示すように、マルチメディアデータを分割したセグメントの集合が、番組毎に独立したファイルとして格納される。マルチメディアデータは、例えば、メディアの種類毎に定まる1つの映像フレームを1つのセグメントとして分割される。
【0085】
制御端末50は、管理装置60に対して、情報転送システム1aまたは情報転送システム1bに格納されたマルチメディアデータの転送要求を発行する機能を有する。管理装置60は、情報転送システム1aおよび情報転送システム1bの各種リソースに関する情報を管理するDB(Data Base)を有し、そのDBに格納されている情報に基づいて、制御端末50からの転送要求を実現するために必要な指示を情報転送システム1aまたは情報転送システム1bに発行する機能を有する。
【0086】
続いて、情報転送システム1aから情報転送システム1bへマルチメディアデータを転送する場合を例として、情報転送システム1a等の動作について説明する。まず、図4のフローチャートを参照しながら制御端末50の動作を説明する。制御端末50は、図4に示す動作を繰り返して実行する。
【0087】
情報転送システム1aから情報転送システム1bへある1つの番組のマルチメディアデータを転送する要求が発生すると(S401:YES)、利用者の指示に基づいて、制御端末50は、管理装置60へ当該番組のマルチメディアデータの転送を求めるマルチメディアデータ転送要求を発行する(S402)。
【0088】
マルチメディアデータ転送要求は、図5に示すように、転送すべき番組を格納している送信側の情報転送システム1aを示す送信側サーバ識別子と、転送先の情報転送システム1bを示す受信側サーバ識別子と、転送すべき番組を示す番組名と、当該番組を端末側ネットワーク40経由で転送する際の転送速度要求値とを含む。
【0089】
制御端末50は、マルチメディアデータ転送要求の送信後、管理装置60から正常な受付通知を受信した場合(S403:YES)は、転送処理が完了するまで待ち(S404)、正常な受付通知を受信できなかった場合は(例えば、後述の転送要求受付不可通知を受信した場合)(S403:NO)、一連の処理を終了する。
【0090】
以下に説明する例では、図6に示すように情報転送システム1aの蓄積装置43〜48を巡回する形でセグメント毎に格納されている番組が、上記のマルチメディアデータ転送要求内の番組名によって転送処理の対象に指定されたものとする。したがって、上記の式(1)によって規定される集合Nと、S1の値は、この例では、以下のようになる。
【0091】
【数7】
【0092】
次に、図7のフローチャートを参照しながら管理装置60の動作を説明する。管理装置60は、図7に示す動作を繰り返して実行する。
【0093】
管理装置60は、図9に示すように、各情報転送システム1のリソース管理のためのDBを有する。このDBは、情報転送システム1毎の情報を格納したサーバデータを記憶する。各サーバデータは、対応する情報転送システム1の属性を記述したサーバ属性と、対応する情報転送システム1に格納されている番組の情報を保持するサーバ内番組データとを含む。
【0094】
サーバ属性は、対応する情報転送システム1を特定するためのサーバ識別子と、対応する情報転送システム1を構成する通信サーバモジュール2と蓄積サーバモジュール3の集合と、上記の通信サーバモジュール2と蓄積サーバモジュール3の性能値と、マルチメディアデータの転送に使用中の通信サーバモジュールの集合とが含まれる。なお、以降の説明で通信サーバモジュールや蓄積サーバモジュールの集合という場合は、それらの集合に含まれる各モジュールの識別子の順序も考慮した集合であるものとする。
【0095】
サーバ内番組データには、対応する番組の属性を記述した番組属性として、番組名と、セグメント数で表した番組長と、映像メディアの種類(本実施例では特に使用しないが、通常、番組を実時間配信する際の転送レートの決定等に必要である)と、1つのセグメントのサイズと、当該番組のマルチメディアデータを格納している蓄積装置4に対応する蓄積サーバモジュール3の集合Nとが含まれる。
【0096】
図7のフローチャートに示すように、管理装置60は、制御端末50から図5に示したマルチメディアデータ転送要求を受信すると(S701:YES)、マルチメディアデータ転送要求内の送信側サーバ識別子と受信側サーバ識別子を参照して、それらの識別子と一致するサーバ識別子をもつサーバデータをDBから取得する。これにより送信側と受信側の参照すべきサーバデータが特定される(S702)。
【0097】
そして、管理装置60は、マルチメディアデータ転送要求内の番組名を参照し、送信側のサーバデータ内の参照すべきサーバ内番組データを特定する(S703)。そして、マルチメディアデータ転送要求内で指定された転送速度要求値と、送信側と受信側のサーバデータ内の通信サーバモジュール2の性能値のデータを用いて、所望の転送速度要求値を実現するために通信サーバモジュール2が何台必要かを計算して、転送処理に使用する通信サーバモジュール2の台数S2を仮設定する(S704)。なお、本実施例においては、S2の具体的な算出方法は特に規定しない。
【0098】
そして、管理装置60は、送信側と受信側のサーバデータ内の使用中の通信サーバモジュールの集合を参照して、仮設定したS2台に等しい台数の通信サーバモジュール2が送信側と受信側の双方において未使用の状態で存在するか否かを確認する検査し、存在すれば(S705:YES)、それらの中から使用する送信側と受信側の通信サーバモジュール2を決定し(S706)、決定した通信サーバモジュール2を、サーバデータ内の使用中の通信サーバモジュール2の集合に追加する(S707)。
【0099】
一方、未使用のS2台の通信サーバモジュールが送信側と受信側の少なくとも一方に存在しなければ(S705:NO)、管理装置60は、S2の値を1つずつ減らしながら同様の検査をおこない(S708)、使用可能な範囲の中で最大の通信サーバモジュール2の台数をS2の値として最終設定し、使用する送信側と受信側の通信サーバモジュール2を決定を決定する。もし使用可能な通信サーバモジュールが1台もなければ(S709:YES)、管理装置60は、番組データの転送処理が不可能であるとして制御端末50へ転送要求受付不可通知を行い(S710)、処理を終了する。
【0100】
ここでは、例として、図10に示すように、S2=4台の通信サーバモジュールを用いてマルチメディアデータの転送がおこなわれるように最終決定され、送信側と受信側で転送処理に使用される通信サーバモジュール2の集合であるN’とM’が以下のように決定されたものとする。
【0101】
【数8】
【0102】
【数9】
【0103】
また、図10に示すように、マルチメディアデータの転送先の情報転送システム1bでは、転送されたマルチメディアデータが全ての蓄積サーバモジュール3に対応する蓄積装置4を巡回する形で格納されるものとする。したがって、上記の式(3)によって規定される集合Mと、S3の値は、以下のようになる。なお、マルチメディアデータの格納先となる蓄積装置4の決定は、制御端末50がおこなうこととしてもよいし、管理装置60がおこなうこととしてもよい。
【0104】
【数10】
【0105】
図8のフローチャートを参照しながら、管理装置60の動作に関する説明を続ける。管理装置60は、集合N’に属する送信側の全ての通信サーバモジュール2に対して新規番組送信要求を送信する(S711)。また、管理装置60は、集合M’に属する受信側の全ての通信サーバモジュール2に対して新規番組受信要求を送信する(S712)。
【0106】
ここで、新規番組送信要求と新規番組受信要求は、それぞれ図11と12に示すように、転送対象となる番組のサーバ内番組データ、転送処理に使用される通信サーバモジュール2の集合N’、M’を含む。なお、当該番組のマルチメディアデータが格納されている
蓄積装置4に対応する蓄積サーバモジュール3の集合Nの情報は、図9に示したようにサーバ内番組データに含まれている。
【0107】
管理装置60は、新規番組送信要求と新規番組受信要求の送信を終えると、制御端末50に対して転送要求の正常受付通知を送信する(S713)。そして、管理装置60は、集合M’とN’に属する全ての通信サーバモジュール2からマルチメディアデータの転送終了通知が受信されるのを待つ(S714)。そして、管理装置60は、全ての転送終了通知を受信し終えると、制御端末50へ転送終了通知を送信し(S715)、集合N’とN’に属する全ての通信サーバモジュール2をサーバデータ内の使用中の通信サーバモジュールの集合から消去する(S716)。
【0108】
そして、管理装置60は、マルチメディアデータが受信側の情報転送システム1bへ転送されたことを記録するため、受信側の情報転送システムに対応するサーバデータ中のサーバ内番組データとして、転送されたマルチメディアデータの情報を追加する(S717)。
【0109】
次に、図13と図14のフローチャートを参照しながら、送信側の情報転送システム1aの通信サーバモジュール2の動作を説明する。送信側の情報転送システム1aにおいては、集合N’に含まれる各通信サーバモジュール2が、図13と図14のフローチャートが示す動作をそれぞれ独立に繰り返して実行する。
【0110】
図13に示すように、送信側の情報転送システム1aの通信サーバモジュール2は、管理装置60から新規番組送信要求を受信すると(S1301:YES)、新規番組送信要求に含まれる通信サーバモジュール2の集合N’を参照し、この集合の中で自身の通信サーバモジュール識別子が出現する位置を検出することにより、N’における自身の位置を示す識別子iの値を判別する(S1302)。
【0111】
集合N’が図10に示す通りである場合、集合N’中の通信サーバモジュール21は、この処理により、自身がn’1(i=1)に相当することを判別し、通信サーバモジュール23は、この処理により、自身がn’2(i=2)に相当することを判別する。
【0112】
そして、送信側の通信サーバモジュール2は、集合Nに属する全ての蓄積サーバモジュール3に対して、転送対象のマルチメディアデータのセグメントが格納された番組ファイルをオープンするよう指示を出し(S1303)、この指示に対する蓄積サーバモジュール3からの応答を待つ(S1304)。
【0113】
集合Nに属する全ての蓄積サーバモジュール3から番組ファイルのオープンの終了通知が届くと、送信側の通信サーバモジュール2は、S1302で判別した識別子iを用いて、受信側の情報転送システム1bの対向の通信サーバモジュールm’iに対して、セグメント受信準備通知を送信する(S1305)。このセグメント受信準備通知は、受信側の通信サーバモジュールm’iに対して、マルチメディアデータの受信動作に先立つ準備を促すものである。
【0114】
そして、送信側の通信サーバモジュール2は、通信サーバモジュールm’iからセグメント受信準備完了通知が届くのを待つ(S1306)。セグメント受信準備完了通知を受信すると、送信側の通信サーバモジュール2は、通信サーバモジュールm’iの受信準備が完了したと判断し、図14に示すセグメント転送処理を実行する。
【0115】
続いて、セグメント転送処理について、図14のフローチャートを参照しながら説明する。送信側の通信サーバモジュール2は、まず、集合Nに含まれる各蓄積サーバモジュール3に対応する読み出し完了フラグC[t](1≦t≦|N|)を全て0に初期化するとともに(S1307)、集合Nの要素の番号を示す添字tを1に初期化する(S1308)。なお、送信側の各通信サーバモジュール2が特定の蓄積サーバモジュール3に集中してアクセスして、その蓄積サーバモジュール3の負荷が増大することがないように、添字tの初期値を通信サーバモジュール2毎に異ならせてもよい。
【0116】
添字tに対応する読み出し完了フラグC[t]は、蓄積サーバモジュールntに対応する蓄積装置4内に格納されている転送対象のマルチメディアデータのセグメントが、集合N’に属する通信サーバモジュール2によって既に全て読み出さている場合に「1」に設定され、蓄積サーバモジュールntに対応する蓄積装置4にまだ読み出されていない転送対象のセグメントが残っている場合に「0」に設定される。
【0117】
送信側の通信サーバモジュール2は、現在のtの値に対応する読み出し完了フラグC[t]が1であるかを検査する(S1309)。ここで、読み出し完了フラグC[t]が1でなければ(S1309:NO)、送信側の通信サーバモジュール2は、自身を表す送信元通信サーバモジュール識別子と、管理装置60からの新規番組送信要求に含まれていた転送対象のマルチメディアデータのサーバ内番組データとを含むセグメント要求を作成し(S1310)、蓄積サーバモジュールntへセグメント要求通知として送信する(S1311)。
【0118】
セグメント要求通知に対して、蓄積サーバモジュールntからは、転送対象のマルチメディアデータのセグメント、または、転送終了通知が送信される。転送終了通知については、送信側の蓄積サーバモジュール3の動作説明の中で詳しく説明する。
【0119】
送信側の通信サーバモジュール2は、蓄積サーバモジュールntから受信したものが転送終了通知である場合(S1312:NO)、蓄積サーバモジュールntに対応する読み出し完了フラグであるC[t]の値を1に設定してS1317へ移行する(S1313)。一方、蓄積サーバモジュールntから受信したものが転送対象のマルチメディアデータのセグメントである場合(S1312:YES)、送信側の通信サーバモジュール2は、受信側の対向の通信サーバモジュールm’iへそのセグメントを送信する(S1314)。
【0120】
ここで、送信側の通信サーバモジュールn’iが蓄積サーバモジュールntへ送信するセグメント要求通知と、蓄積サーバモジュールntから受信されるセグメントの形式を図15に示す。また、送信側の通信サーバモジュールn’iが受信側の対向の通信サーバモジュールm’iへ送信するセグメントの形式を図16に示す。
【0121】
図15に示すように、セグメント要求通知には、送信元の通信サーバモジュール識別子と、転送対象のマルチメディアデータのサーバ内番組データ(図9に示したもの)が含まれる。また、蓄積サーバモジュールntから受信されるセグメントには、送信元の蓄積サーバモジュール識別子と、転送対象のマルチメディアデータのサーバ内番組データと、セグメントのシーケンス番号と、LASTFLAGと、転送対象のマルチメディアデータが分割されたものであるセグメントの実体とが含まれる。LASTFLAGは、送信されるセグメントが、蓄積サーバモジュールntに格納されている転送対象のマルチメディアデータのセグメントの最後のものである場合に「1」に設定され、さもなければ「0」に設定される。
【0122】
また、図16に示すように、送信側の通信サーバモジュールn’iが受信側の対向の通信サーバモジュールm’iへ送信するセグメントには、転送対象のマルチメディアデータのサーバ内番組データと、セグメントのシーケンス番号と、番組を構成するマルチメディアデータが分割されたものであるセグメントの実体とが含まれる。
【0123】
送信側の通信サーバモジュール2は、受信側の対向の通信サーバモジュールm’iへセグメントを送信した後、蓄積サーバモジュールntから受信したセグメントのLASTFLAGの値を検査する(S1315)。そして、LASTFLAGの値が1であれば(S1315:YES)、送信側の通信サーバモジュール2は、読み出し完了フラグC[t]の値を1に設定し(S1316)、S1317へ移行する。
【0124】
LASTFLAGの値が1でなければ(S1315:NO)、送信側の通信サーバモジュール2は、集合Nの次の要素を示すように添字tを更新する。具体的には、送信側の通信サーバモジュール2は、添字tが集合Nの要素数(S1)と同一でなければ(S1318:NO)、添字tを1だけインクリメントし(S1319)、添字tが集合Nの要素数(S1)と同一であれば(S1318:YES)、添字tを1にリセットする(S1320)。そして、送信側の通信サーバモジュール2は、添字tを更新した後、S1309から処理を再開する。
【0125】
こうして、送信側の通信サーバモジュール2は、S1309以降の処理を繰り返し実行し、いずれかの蓄積サーバモジュール3から転送対象のマルチメディアデータの全てのセグメントを読み出し終えていると判断された場合、全ての蓄積サーバモジュール3から転送対象のマルチメディアデータの全てのセグメントを読み出し終えているかを確認するために読み出し完了フラグC[t]の値を確認する(S1317)。
【0126】
ここで、いずれかの蓄積サーバモジュール3から転送対象のマルチメディアデータの全てのセグメントを読み出し終えていると判断された場合とは、S1309で読み出し完了フラグC[t]が1であった場合(S1309:YES)、S1315でLASTFLAGの値が1であればあった場合(S1315:YES)、もしくは、S1312で蓄積サーバモジュールntから受信したものが転送終了通知であった場合(S1312:NO)である。
【0127】
そして、読み出し完了フラグC[t]の値が全てのtについて1になっていなければ(S1317:NO)、送信側の通信サーバモジュール2は、S1318以降の処理を実行する。一方、読み出し完了フラグC[t]の値が全てのtについて1になっていれば(S1317:YES)、送信側の通信サーバモジュール2は、全ての蓄積サーバモジュール3から転送対象のマルチメディアデータの全てのセグメントを読み出し終えていると判断して、受信側の対向の通信サーバモジュールm’iへ転送終了通知を送信し(S1321)、さらに管理装置60へも転送終了通知を送信して(S1322)、転送処理を終了する。
【0128】
次に、図17と図18のフローチャートを参照しながら、送信側の情報転送システム1aの蓄積サーバモジュール3の動作を説明する。送信側の情報転送システム1aにおいては、集合Nに含まれる各蓄積サーバモジュール3が、図17と図18のフローチャートが示す動作をそれぞれ独立に繰り返して実行する。
【0129】
上述したように、送信側の情報転送システム1aにおいては、集合N’に含まれる各通信サーバモジュール2は、集合Nに含まれる蓄積サーバモジュール3に対して、それぞれ独立して非同期に各種のメッセージを発行する。したがって、送信側の各蓄積サーバモジュール3に対しては、複数の通信サーバモジュール2からの複数のメッセージが不定期に到着し、かつ、複数のメッセージが同時に到着することもある。本実施例では、説明を簡単にするため、送信側の蓄積サーバモジュール3は、集合N’に含まれる各通信サーバモジュール2からの複数のメッセージを1つずつ逐次的に受信し処理するものとするが、複数のメッセージを並列に処理できるように送信側の蓄積サーバモジュール3を構成してもよい。
【0130】
図17に示すように、送信側の蓄積サーバモジュール3は、まず、送信側の通信サーバモジュールn’iから、転送対象のマルチメディアデータのセグメントが格納された番組ファイルのオープン指示を受ける(S1701)。この指示は、図13に示したS1303での指示に対応する。送信側の蓄積サーバモジュール3は、番組ファイルのオープン指示を受信すると、転送終了フラグC[J](1≦J≦S2)を全て0に初期化する(S1702)。
【0131】
転送終了フラグC[J]は、送信側の通信サーバモジュールn’Jに対して、自身に対応する蓄積装置4に格納されている転送対象のマルチメディアデータの全てのセグメントを読み出し終えたことの通知を完了したか否かを識別するためのフラグである。転送終了フラグC[J]の値は、送信側の通信サーバモジュールn’Jに対して通知を完了している場合には「1」に設定され、通知が完了していなければ「0」に設定される。
【0132】
転送終了フラグC[J]を初期化した後、送信側の蓄積サーバモジュール3は、番組ファイルからのセグメント読み出し位置を表す変数wの値を1に初期化する(S1703)。図19に示すように、変数wは、自身に対応する蓄積装置4に格納されている転送対象のマルチメディアデータの番組ファイルからセグメントを読み出す際の読み出し位置を表す変数である。例えば、wの値が初期値「1」の場合は、番組ファイルの先頭から1セグメント分のサイズのデータが読み出され、wの値が「2」の場合は、番組ファイルの先頭から1セグメント分のサイズをオフセットした位置から1セグメント分のサイズのデータが読み出される。
【0133】
後述するように、送信側の蓄積サーバモジュール3は、変数wの値を1から1つずつインクリメントしていくことにより、番組ファイルの先頭から1セグメントのサイズずつ順番にデータを読み出し、セグメントを要求した通信サーバモジュール2へ送信する。なお、送信側の蓄積サーバモジュール3は、セグメントのデータサイズを、例えば、通信サーバモジュール2から受信したセグメント要求通知内のサーバ内番組データの番組属性から取得する。
【0134】
転送終了フラグC[J]の初期化が終了すると、送信側の蓄積サーバモジュール3は、転送対象のマルチメディアデータが格納されている蓄積装置4に対応する蓄積サーバモジュール3の集合Nを参照し、この集合の中で自身の蓄積サーバモジュール識別子が出現する位置を検出することにより、集合Nにおける自身の位置を示す識別子tを判別する(S1704)。なお、集合Nに関する情報は、S1701において受信した番組ファイルオープン指示に含まれているものとする。
【0135】
そして、送信側の蓄積サーバモジュール3は、番組ファイルオープン指示によって指示された番組ファイルを読み出し用にオープンするように対応する蓄積装置4に指示し(S1705)、通信サーバモジュールn’iへファイルオープン終了通知を返信する(S1706)。その後、送信側の蓄積サーバモジュール3は、他の通信サーバモジュール2からの通知を待つ(S1707)。
【0136】
前述のように、集合N’の各通信サーバモジュール2は、それぞれ独立に番組ファイルのオープン指示を、集合N中の全ての蓄積サーバモジュール3に対して発行するため、各蓄積サーバモジュール3には、全部でS2回のファイルオープン指示が届く。また、集合N’の各通信サーバモジュール2は、番組ファイルのオープン終了通知を受信した後、それぞれ独立にセグメントの要求を集合N中の各蓄積サーバモジュール3に対して順次発行していく。
【0137】
このため、S1707で受信される通知には、S1701において番組ファイルオープン指示を通知してきた通信サーバモジュール2以外の他の通信サーバモジュール2からの番組ファイルオープン指示、または、既にファイルオープン終了通知を送信した通信サーバモジュール2からのセグメント要求通知の2種類があり得る。
【0138】
なお、S1707において新たに受信した通知の送信元である通信サーバモジュール2を改めてn’iと記載するが、これはS1701において番組ファイルオープン指示を送信してきた通信サーバモジュール2と同じであるとは限らないことに注意されたい。
【0139】
通知を受信すると、送信側の蓄積サーバモジュール3は、受信した通知が番組ファイルのオープン指示通知であるか否かを検査する。受信した通知が、番組ファイルのオープン指示通知の場合(S1708:YES)、既に番組ファイルのオープン処理は終了しているので、送信側の蓄積サーバモジュール3は、通知の送信元の通信サーバモジュールn’iにオープン終了通知を送信してS1707へ戻る(S1709)。
【0140】
受信した通知が、番組ファイルのオープン指示通知でない場合、すなわち、セグメント要求通知の場合は(S1708:NO)、送信側の蓄積サーバモジュール3は、図18に示すセグメント送信処理へ移行する。
【0141】
続いて、セグメント送信処理について、図18のフローチャートを参照しながら説明する。図18に示すように、送信側の蓄積サーバモジュール3は、自身に対応する蓄積装置4から、指示された番組ファイルに格納されている全てのセグメントの読み出しを完了しており、当該番組ファイルをクローズ済みであるか否か(換言すれば、S1717を実行済みであるか否か)を検査する(S1710)。
【0142】
ここで、クローズ済みである場合は(S1710:YES)、送信側の蓄積サーバモジュール3は、セグメント要求通知の送信元の通信サーバモジュールn’iに対して、これ以上送信するセグメントが無いことを示す転送終了通知を送信する(S1711)。そして、その通信サーバモジュールn’iに対応する転送終了フラグC[i]の値を1に設定して、通信サーバモジュールn’iに対して転送終了通知の送信が完了したことを記録する(S1712)。
【0143】
そして、送信側の蓄積サーバモジュール3は、転送終了フラグC[J]の値を検査し、全てのJについてC[J]の値が1であれば(S1713:YES)、処理を終了する。一方、転送終了フラグC[J]の中に値が0のものが1つでもあれば(S1713:NO)、送信側の蓄積サーバモジュール3は、それらに対応する通信サーバモジュール2からの通知を待つためにS1707へ戻る。
【0144】
また、S1710において番組ファイルをまだクローズしていない場合は(S1710:NO)、送信側の蓄積サーバモジュール3は、自身に対応する蓄積装置4から番組ファイルのw番目のセグメントを読み出す(S1714)。そして、送信側の蓄積サーバモジュール3は、読み出したセグメントが番組ファイル内の最後のセグメントか否かを検査する(S1715)。この検査は、通信サーバモジュール2から受信したセグメント要求通知の中のサーバ内番組データに含まれている番組長と、変数wの値とを比較することにより可能である。
【0145】
読み出したセグメントが最後のセグメントである場合(S1715:YES)、送信側の蓄積サーバモジュール3は、これ以上番組ファイルのデータを読み出す必要がないので番組ファイルをクローズし(S1717)、セグメントに付与するLASTFLAGの値を1に設定する(S1718)。読み出したセグメントが最後のセグメントでない場合は(S1715:NO)、送信側の蓄積サーバモジュール3は、LASTFLAGの値を0に設定する(S1716)。
【0146】
LASTFLAGの値を設定した後、送信側の蓄積サーバモジュール3は、読み出したセグメントに付与するシーケンス番号を算出する(S1719)。シーケンス番号の算出は、上記の式(5)に、現時点でのwの値と、S1714で求めたtの値と、S1701において受信した番組ファイルオープン指示に含まれている集合Nの要素数であるS1とを適用して行われる。
【0147】
そして、送信側の蓄積サーバモジュール3は、図19に示すように、自身を表す送信元の蓄積サーバモジュール識別子と、セグメント要求通知に付与されていた転送対象のマルチメディアデータのサーバ内番組データと、算出したシーケンス番号と、LASTFLAGとを、読み出したセグメントに付与して(S1720)、これらの情報が付与されたセグメントをセグメント要求通知の発行元の通信サーバモジュールn’iへ送信する(S1721)。
【0148】
セグメントの送信が終了すると、送信側の蓄積サーバモジュール3は、変数wの値をインクリメントし(S1722)、S1707へ戻って、通信サーバモジュール2からの次の通知を待つ。
【0149】
次に、図20と図21のフローチャートを参照しながら、受信側の情報転送システム1bの通信サーバモジュール2の動作を説明する。受信側の情報転送システム1bにおいては、集合M’に含まれる各通信サーバモジュール2が、図20と図21のフローチャートが示す動作をそれぞれ独立に繰り返して実行する。
【0150】
図20に示すように、受信側の通信サーバモジュール2は、管理装置60から新規番組受信要求を受信すると(S2001:YES)、まず、送信側の情報転送システム1aの対向の通信サーバモジュールn’iからのセグメント受信準備通知を待つ(S2002)。
【0151】
そして、受信側の通信サーバモジュール2は、セグメント受信準備通知を受信すると、集合Mに含まれる全ての蓄積サーバモジュール3、すなわち、転送対象のマルチメディアデータの格納先となる蓄積装置4に対応する全ての蓄積サーバモジュール3に対して、マルチメディアデータの格納用ファイルをオープンする指示を出し(S2003)、集合Mに含まれる全ての蓄積サーバモジュール3からのファイルオープン終了通知を待つ(S2004)。
【0152】
受信側の通信サーバモジュール2は、集合Mに含まれる全ての蓄積サーバモジュール3からファイルオープン終了通知を受信すると、送信側の対向の通信サーバモジュールn’iに対してセグメント受信準備完了通知を送信し(S2005)、図21に示すセグメント受信処理へ移行する。
【0153】
続いて、セグメント受信処理について、図21のフローチャートを参照しながら説明する。受信側の通信サーバモジュール2は、送信側の対向の通信サーバモジュールn’iから図16に示したマルチメディアデータのセグメントが送信されると(S2006:YES)、上記の式(6)を用いて、セグメントの転送先となる蓄積サーバモジュールを示す識別子pと、転送先の蓄積サーバモジュールmpに対応する蓄積装置4における当該セグメントの格納位置識別子yを算出する(S2007、S2008)。
【0154】
そして、受信側の通信サーバモジュール2は、図22に示すように、受信したセグメントにサーバ内番組データと、算出した格納位置識別子yとを付与し(S2009)、算出した識別子pに対応する蓄積サーバモジュールmpへセグメントを転送する(S2010)。
【0155】
そして、受信側の通信サーバモジュール2は、送信側の対向の通信サーバモジュールn’iから転送終了通知が届いているかを検査し(S2011)、届いている場合は(S2011:YES)、集合Mに含まれる全ての蓄積サーバモジュール3と管理装置60に対して、通信サーバモジュールm’iのセグメントの受信処理が終了したことを示す転送終了通知を送信し(S2012、S2013)、処理を終了する。
【0156】
通信サーバモジュールn’iからまだ転送終了通知が届いていない場合は(S2011:NO)、受信側の通信サーバモジュール2は、S2006へ戻って、新しいセグメントの受信を待つ。
【0157】
次に、図23のフローチャートを参照しながら、受信側の情報転送システム1bの蓄積サーバモジュール3の動作を説明する。受信側の情報転送システム1bにおいては、集合Mに含まれる各蓄積サーバモジュール3が、図23のフローチャートが示す動作をそれぞれ独立に繰り返して実行する。
【0158】
図23に示すように、受信側の蓄積サーバモジュール3は、まず、集合M’に含まれる各通信サーバモジュール2におけるセグメントの受信処理が完了したか否かを表す転送終了フラグC[J](1≦J≦S2)を全て0に初期化する(S2301)。C[J]の値が0であることは、受信側の通信サーバモジュールm’Jが、送信側の対向の通信サーバモジュールn’Jからのセグメントの受信処理を完了しておらず、したがって通信サーバモジュールm’Jから当該の蓄積サーバモジュール3へセグメントの転送が引続きおこなわれることを表す。C[J]の値が1であることは、通信サーバモジュールm’Jが、送信側の対向の通信サーバモジュールn’Jからのセグメントの受信処理を完了し、通信サーバモジュールm’Jから当該の蓄積サーバモジュール3へのセグメントの転送がこれ以上おこなわれないことを表す。
【0159】
続いて、受信側の蓄積サーバモジュール3は、集合M’に含まれる任意の通信サーバモジュールm’iからの通知を待つ(S2302)。通信サーバモジュールm’iからの通知としては、番組格納用ファイルのオープン指示と、セグメントの転送終了通知と、転送対象のセグメントの転送という3種類があり、受信側の蓄積サーバモジュール3は、これらの通知の種類に応じた動作をおこなう。
【0160】
受信側の蓄積サーバモジュール3は、自身に対応する蓄積装置4内に転送対象のマルチメディアデータのセグメントを格納するための番組ファイルをオープンする処理については、1度だけおこなえばよい。しかし、集合M’に含まれる各通信サーバモジュール2は、それぞれ独立にファイルのオープン指示を集合Mに属する全ての蓄積サーバモジュール3に対して発行するため、各蓄積サーバモジュール3は、ファイルのオープン指示を全部でS2回受信する。
【0161】
このため、受信側の蓄積サーバモジュール3は、最初にファイルのオープン指示が届いた場合のみファイルのオープン処理を対応する蓄積装置4に実行させる。具体的には、受信側の蓄積サーバモジュール3は、ファイルのオープン指示を受信した場合(S2003:YES)、指示されたファイルをオープン済みでなければ(S2304:NO)、指示されたファイルを書き込み用にオープンさせて(S2305)、通知元の通信サーバモジュールm’iへファイルオープン終了通知を送信し(S2306)、S2302へ戻って次の通知を待つ。一方、指示されたファイルをオープン済みであれば(S2304:YES)、指示されたファイルを再度オープンさせる必要はないので、通知元の通信サーバモジュールm’iへファイルオープン終了通知を送信する処理だけおこなって(S2306)、S2302へ戻って次の通知を待つ。
【0162】
通信サーバモジュールm’iからの通知がセグメントの転送終了通知であった場合(S2303:NO、S2307:YES)、受信側の蓄積サーバモジュール3は、当該通知を送信した通信サーバモジュールm’iに対応する転送終了フラグC[i]の値を1に設定する(S2308)。このとき、全ての転送終了フラグの値が1になっていれば(S2309:YES)、受信側の蓄積サーバモジュール3は、これ以上通信サーバモジュール2からセグメントが転送されてくることはないので、番組ファイルをクローズし(S2310)、処理を終了する。一方、値が0の転送終了フラグがまだ存在すれば(S2309:NO)、受信側の蓄積サーバモジュール3は、S2302へ戻って次の通知を待つ。
【0163】
通信サーバモジュールm’iからの通知が番組格納用ファイルのオープン処理通知でも転送終了通知でもない場合、すなわち、マルチメディアデータのセグメントが転送されてきた場合(S2303:NO、S2307:NO)、受信側の蓄積サーバモジュール3は、図24に示すように、セグメントに付与された格納位置識別子yの値を参照し、転送されてきたセグメントのマルチメディアデータの部分を、番組ファイルのy番目のセグメント位置に格納させる(S2311)。データの格納が終了すると、受信側の蓄積サーバモジュール3は、S2302へ戻って次の通知を待つ。
【0164】
以上、フローチャートに基づいて、図2に示した本実施例のシステムの動作の詳細を説明した。本実施例は、構成の異なる2つの情報転送システム1の間で、一方の情報転送システム1内の蓄積装置4に分散して格納された1つの番組のマルチメディアデータを4台の通信サーバモジュール2を用いて並列に他方の情報転送システムへ転送し、転送先の情報転送システム1においてマルチメディアデータのセグメントを順序正しく並びかえて蓄積装置4内に分散して格納する例であり、本発明のシステムおよび方法が実施可能であることを示すものである。
【0165】
上述してきたように、本実施例に係る情報転送方法は、一方の情報転送システムの複数の蓄積装置内に分散して格納されたセグメントを、複数の通信サーバモジュールを用いて並列に他方の情報転送システムへ転送し、受信側の情報転送システムにおいては、複数の通信サーバモジュールで並列に受信したセグメントを再び順序正しく並び直して蓄積装置内に格納する。
【0166】
本実施例に係る情報転送方法は、マルチメディアデータを送受信する2つの情報転送システムの構成が異なる場合でも、また、マルチメディアデータが一部の蓄積装置のみに格納されている場合でも適用可能である。また、本実施例に係る情報転送方法によれば、使用する通信サーバモジュールの台数も自由に設定することが可能であり、これによりマルチメディアデータの転送速度を調整することが可能となっている。
【0167】
このように、本実施例に係る情報転送方法は、システム構成に対する制約が小さく、また、動作性能に対する柔軟性の高いマルチメディアデータ転送方式を実現する。
【0168】
また、本実施例に係る情報転送方法では、送信側の情報転送システムの集合N’に属する各通信サーバモジュールが、セグメント送信要求の発行先となる送信側の蓄積サーバモジユールを随時変更しながら、蓄積サーバモジュールからのセグメントの受信と端末側ネットワークへのセグメントの送信を繰り返す。
【0169】
このように、本実施例に係る情報転送方法では、集合N’に属する全ての通信サーバモジュールが集合Nに属する全ての蓄積サーバモジュールを対象としながら、それぞれ独立に上記処理を繰り返すため、それぞれの通信サーバモジュールのデータ転送量は、各通信サーバモジュールの処理性能の差や、各種リソースの割り当てに関する優先度の差がない限り、ほぼ等しくなる。これにより、通信サーバモジュール毎に送信するデータ量に不均衡が生じ、リソースが有効に活用されない場合があるという従来技術の問題が解決される。
【0170】
さらに、本実施例に係る情報転送方法では、送信側の情報転送システムの処理は、上述した式で定まるシーケンス番号を付与してセグメントを端末へ送出するだけであり、その処理の実行のために受信側の情報転送システムの内部構成に関する情報を必要としない。このため、受信側の情報転送システムの内部構成に関する情報を送信側の情報転送システムに対して隠蔽できないために、リソース管理モデルやセキュリティ面での妥当性を欠く、という従来技術の問題を解決することができる。
【符号の説明】
【0171】
1 情報転送システム
2 通信サーバモジュール
3 蓄積サーバモジュール
4 蓄積装置
5 サーバモジュール間ネットワーク
10 情報転送システム
11 通信サーバモジュール
12 蓄積サーバモジュール
13 蓄積装置
14 サーバモジュール間ネットワーク
20 端末
30 マルチメディアデータ入力装置
40 端末側ネットワーク
50 制御端末
60 管理装置
【特許請求の範囲】
【請求項1】
1つのデータを分割したセグメントを分散して循環的に格納する複数の蓄積部と、前記セグメントをネットワークを介して対向の情報転送システムとの間で送受信する複数の通信部とを有する情報転送システムにおいて、
前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントであって、該データにおける位置を示すシーケンス番号が付与されたセグメントを、前記対向の情報転送システムへ送信し、前記対向の情報転送システムから当該の情報転送システムへデータが転送される場合に、前記対向の情報転送システムから受信したセグメントを該セグメントに付与された前記シーケンス番号に基づいて前記蓄積部の1つへ振り分ける処理をそれぞれ独立に実行し、
前記蓄積部は、前記通信部によって振り分けられたセグメントを、該セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行すること
を特徴とする情報転送システム。
【請求項2】
前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントが格納されている蓄積部を、該蓄積部の全てから該データを構成するセグメントを全て読み出し終えた旨の応答が得られるまで、循環的にアクセスしてセグメントを読み出し、
前記蓄積部は、前記データのセグメントのうち、自身に格納されているセグメントを前記通信部の要求に応じて順次応答し、自身に格納されているセグメントを全て応答した後は、該データを構成するセグメントを全て読み出し終えた旨を応答すること
を特徴とする請求項1に記載の情報転送システム。
【請求項3】
前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントが格納されている前記蓄積部の部分集合から該セグメントを読み出すことを特徴とする請求項1または2に記載の情報転送システム。
【請求項4】
前記通信部は、前記対向の情報転送システムから当該の情報転送システムへデータが転送される場合に、前記対向の情報転送システムから受信したセグメントを該セグメントに付与された前記シーケンス番号に基づいて、所定の部分集合に属する前記蓄積部の1つへ振り分けることを特徴とする請求項1〜3のいずれか1つに記載の情報転送システム。
【請求項5】
1つのデータを分割したセグメントを分散して循環的に格納する複数の蓄積部と、前記セグメントをネットワークを介して対向の情報転送システムとの間で送受信する複数の通信部とを有する情報転送システムによって実行される情報転送方法において、
第1の情報転送システムの通信部が、第2の情報転送システムへ転送されるデータを構成するセグメントであって、該データにおける位置を示すシーケンス番号が付与されたセグメントを、第2の情報転送システムへそれぞれ独立して送信する送信工程と、
第2の情報転送システムの通信部が、前記送信工程において前記第1の情報転送システムの通信部によって送信されたセグメントに付与された前記シーケンス番号に基づいて第2の情報転送システムの蓄積部の1つへ振り分ける振り分け工程と、
第2の情報転送システムの蓄積部が、第2の情報転送システムの通信部によって振り分けられたセグメントを、該セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行する格納工程と
を含むことを特徴とする情報転送方法。
【請求項6】
第1の情報転送システムの通信部は、前記送信工程において、第2の情報転送システムへ転送される前記データを構成するセグメントが格納されている第1の情報転送システムの蓄積部を、該蓄積部の全てから該データを構成するセグメントを全て読み出し終えた旨の応答が得られるまで、循環的にアクセスしてセグメントを読み出し、
第1の情報転送システムの蓄積部は、前記データのセグメントのうち、自身に格納されているセグメントを第1の情報転送システムの通信部の要求に応じて順次応答し、自身に格納されているセグメントを全て応答した後は、該データを構成するセグメントを全て読み出し終えた旨を応答すること
を特徴とする請求項5に記載の情報転送方法。
【請求項7】
第1の情報転送システムの通信部は、前記送信工程において、第2の情報転送システムへ転送される前記データを構成するセグメントが格納されている第1の情報転送システムの蓄積部の部分集合から該セグメントを読み出すことを特徴とする請求項5または6に記載の情報転送方法。
【請求項8】
第2の情報転送システムの通信部は、前記振り分け工程において、第1の情報転送システムの通信部によって送信されたセグメントに付与された前記シーケンス番号に基づいて、所定の部分集合に属する第2の情報転送システムの蓄積部の1つへ振り分けることを特徴とする請求項5〜7のいずれか1つに記載の情報転送方法。
【請求項1】
1つのデータを分割したセグメントを分散して循環的に格納する複数の蓄積部と、前記セグメントをネットワークを介して対向の情報転送システムとの間で送受信する複数の通信部とを有する情報転送システムにおいて、
前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントであって、該データにおける位置を示すシーケンス番号が付与されたセグメントを、前記対向の情報転送システムへ送信し、前記対向の情報転送システムから当該の情報転送システムへデータが転送される場合に、前記対向の情報転送システムから受信したセグメントを該セグメントに付与された前記シーケンス番号に基づいて前記蓄積部の1つへ振り分ける処理をそれぞれ独立に実行し、
前記蓄積部は、前記通信部によって振り分けられたセグメントを、該セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行すること
を特徴とする情報転送システム。
【請求項2】
前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントが格納されている蓄積部を、該蓄積部の全てから該データを構成するセグメントを全て読み出し終えた旨の応答が得られるまで、循環的にアクセスしてセグメントを読み出し、
前記蓄積部は、前記データのセグメントのうち、自身に格納されているセグメントを前記通信部の要求に応じて順次応答し、自身に格納されているセグメントを全て応答した後は、該データを構成するセグメントを全て読み出し終えた旨を応答すること
を特徴とする請求項1に記載の情報転送システム。
【請求項3】
前記通信部は、当該の情報転送システムから前記対向の情報転送システムへデータが転送される場合に、該データを構成するセグメントが格納されている前記蓄積部の部分集合から該セグメントを読み出すことを特徴とする請求項1または2に記載の情報転送システム。
【請求項4】
前記通信部は、前記対向の情報転送システムから当該の情報転送システムへデータが転送される場合に、前記対向の情報転送システムから受信したセグメントを該セグメントに付与された前記シーケンス番号に基づいて、所定の部分集合に属する前記蓄積部の1つへ振り分けることを特徴とする請求項1〜3のいずれか1つに記載の情報転送システム。
【請求項5】
1つのデータを分割したセグメントを分散して循環的に格納する複数の蓄積部と、前記セグメントをネットワークを介して対向の情報転送システムとの間で送受信する複数の通信部とを有する情報転送システムによって実行される情報転送方法において、
第1の情報転送システムの通信部が、第2の情報転送システムへ転送されるデータを構成するセグメントであって、該データにおける位置を示すシーケンス番号が付与されたセグメントを、第2の情報転送システムへそれぞれ独立して送信する送信工程と、
第2の情報転送システムの通信部が、前記送信工程において前記第1の情報転送システムの通信部によって送信されたセグメントに付与された前記シーケンス番号に基づいて第2の情報転送システムの蓄積部の1つへ振り分ける振り分け工程と、
第2の情報転送システムの蓄積部が、第2の情報転送システムの通信部によって振り分けられたセグメントを、該セグメントに付与された前記シーケンス番号によって定まる位置へ格納する処理をそれぞれ独立に実行する格納工程と
を含むことを特徴とする情報転送方法。
【請求項6】
第1の情報転送システムの通信部は、前記送信工程において、第2の情報転送システムへ転送される前記データを構成するセグメントが格納されている第1の情報転送システムの蓄積部を、該蓄積部の全てから該データを構成するセグメントを全て読み出し終えた旨の応答が得られるまで、循環的にアクセスしてセグメントを読み出し、
第1の情報転送システムの蓄積部は、前記データのセグメントのうち、自身に格納されているセグメントを第1の情報転送システムの通信部の要求に応じて順次応答し、自身に格納されているセグメントを全て応答した後は、該データを構成するセグメントを全て読み出し終えた旨を応答すること
を特徴とする請求項5に記載の情報転送方法。
【請求項7】
第1の情報転送システムの通信部は、前記送信工程において、第2の情報転送システムへ転送される前記データを構成するセグメントが格納されている第1の情報転送システムの蓄積部の部分集合から該セグメントを読み出すことを特徴とする請求項5または6に記載の情報転送方法。
【請求項8】
第2の情報転送システムの通信部は、前記振り分け工程において、第1の情報転送システムの通信部によって送信されたセグメントに付与された前記シーケンス番号に基づいて、所定の部分集合に属する第2の情報転送システムの蓄積部の1つへ振り分けることを特徴とする請求項5〜7のいずれか1つに記載の情報転送方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【公開番号】特開2011−59954(P2011−59954A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−208501(P2009−208501)
【出願日】平成21年9月9日(2009.9.9)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願日】平成21年9月9日(2009.9.9)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]