説明

データ転送制御プログラム、データ転送制御方法、データ配信装置および記録媒体

【課題】データの読出し処理遅延の影響が波及することを防止することを課題とする。
【解決手段】ストリームサーバ10は、各ディスクサーバ(例えば、ディスクサーバ30〜ディスクサーバ50)から読み出されたデータをそれぞれ個別に蓄積するように、各ディスクサーバに対応付けてバッファサーバ20に複数のバッファ(例えば、バッファ21〜バッファ23)を備える。そして、バッファサーバ20は、ディスクサーバ30、ディスクサーバ40およびディスクサーバ50から転送されてきたデータをそれぞれ受け付けると、ディスクサーバ30から受け付けたデータをバッファ21に、ディスクサーバ40から受け付けたデータをバッファ22に、ディスクサーバ50から受け付けたデータをバッファ23にそれぞれ個別に蓄積する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、分散させたデータをそれぞれ保存する各データ保存装置と、各データ保存装置から読み出されたデータを蓄積するデータ蓄積装置とを含んで構成され、端末装置からの要求に応じてデータ蓄積装置に蓄積されたデータを配信するデータ配信装置において、各データ保存装置からデータ蓄積装置へのデータの転送を制御するための方法をコンピュータに実行させるデータ転送制御プログラム等に関する。
【背景技術】
【0002】
従来より、マルチメディアデータなどを分散して保存しておき、各端末からの要求に応じて配信する分散型マルチメディアサーバシステムというものが存在する。例えば、図6を用いて、ストリームサーバを含んで構成される従来の分散型マルチディアサーバシステムについて簡単に説明する(非特許文献1または2参照)。
【0003】
図6に示すように、ストリームサーバは、分割されたマルチメディアデータをそれぞれ蓄積するための複数のディスクサーバ(以下、適宜「DS」と記す)と、各DSから読み出した分割マルチメディアデータを取り込んで多重化するバッファサーバ(以下、適宜「BS」と記す)とから構成される。また、例えば、BSには、各DS(例えば、DS1〜DS3)から読み出した分割マルチメディアデータを取り込むためのバッファが備えられている。
【0004】
そして、ストリームサーバは、端末からの要求に応じて、各DSからBSに取り込んだ分割マルチメディアデータを多重化して端末に配信する。なお、ストリームサーバは、各DSに蓄積されている分割マルチメディアデータを取り込む際には、各DSに対して順番に(例えば、DS1からDS3の順に)読み出しを行ってBSに取り込む。
【0005】
【非特許文献1】「InfiniBandを用いたPCクラスタ型高速ストリームサーバアーキテクチャ」、信学技報、電子情報通信学会、平成17年5月25日、Vol.105、No.86、p.33―36
【非特許文献2】「PCクラスタを用いたIPネットワークデータベースの非圧縮HDTV10多重ストリームサーバ」、マルチメディア,分散,協調とモバイル(DICOMO 2005)シンポジウム予稿集、情報処理学会、平成17年7月8日、p.797―800
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上記した従来の技術は、データの読出し処理遅延の影響が波及する場合があるという問題点があった。すなわち、上記した従来の技術は、各DSからシーケンシャルにデータの読み出し処理を行っているので、ストレージサーバ内のある特定のDSからのマルチメディアデータの読出し処理が遅延すると、次のDSからのマルチメディアデータの読み出しに移ることができず、結果として、全てのDSからのマルチメディアデータの読出し処理が遅延する場合があるという問題点があった。
【0007】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、データの読出し処理遅延の影響が波及することを防止することが可能なデータ転送制御プログラム、データ転送制御方法、データ配信装置および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、分散させたデータをそれぞれ保存する各データ保存装置と、各データ保存装置から読み出されたデータを蓄積するデータ蓄積装置とを含んで構成され、端末装置からの要求に応じてデータ蓄積装置に蓄積されたデータを配信するデータ配信装置において、各データ保存装置からデータ蓄積装置へのデータの転送を制御するための方法をコンピュータに実行させるデータ転送制御プログラムであって、前記各データ保存装置に対応付けて前記データ蓄積装置内に備えられた各データ蓄積部に、当該データ保存装置から読み出されたデータをそれぞれ蓄積するデータ蓄積手順をコンピュータに実行させることを特徴とする。
【0009】
また、請求項2に係る発明は、上記の発明において、前記データ配信装置は、前記データ蓄積装置を複数含んで構成されるものであって、前記データ蓄積手順により蓄積された各データ蓄積部におけるデータ蓄積量が所定の閾値を超えているか否かをデータ蓄積装置ごとに判断する閾値判断手順と、前記閾値判断手順によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積部を含むデータ蓄積装置について、前記データ保存装置からのデータの読み出しを停止させる停止手順とをさらにコンピュータに実行させることを特徴とする。
【0010】
また、請求項3に係る発明は、分散させたデータをそれぞれ保存する各データ保存装置と、各データ保存装置から読み出されたデータを蓄積するデータ蓄積装置とを含んで構成され、端末装置からの要求に応じてデータ蓄積装置に蓄積されたデータを配信するデータ配信装置において、各データ保存装置からデータ蓄積装置へのデータの転送を制御するデータ転送制御方法であって、前記各データ保存装置に対応付けて前記データ蓄積装置内に備えられた各データ蓄積部に、当該データ保存装置から読み出されたデータをそれぞれ蓄積するデータ蓄積工程を含んだことを特徴とする。
【0011】
また、請求項4に係る発明は、上記の発明において、前記データ配信装置は、前記データ蓄積装置を複数含んで構成されるものであって、前記データ蓄積工程により蓄積された各データ蓄積部におけるデータ蓄積量が所定の閾値を超えているか否かをデータ蓄積装置ごとに判断する閾値判断工程と、前記閾値判断工程によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積部を含むデータ蓄積装置について、前記データ保存装置からのデータの読み出しを停止させる停止工程とをさらに含んだことを特徴とする。
【0012】
また、請求項5に係る発明は、分散させたデータをそれぞれ保存する各データ保存装置と、各データ保存装置から読み出されたデータを蓄積するデータ蓄積装置とを含んで構成され、端末装置からの要求に応じてデータ蓄積装置に蓄積されたデータを配信するデータ配信装置であって、前記データ保存装置から読み出されたデータを当該データ保存装置ごとに蓄積するデータ蓄積手段を備えたことを特徴とする。
【0013】
また、請求項6に係る発明は、上記の発明において、前記データ配信装置は、前記データ蓄積装置を複数含んで構成されるものであって、前記データ蓄積手段により蓄積された各データ蓄積装置におけるデータ蓄積量が所定の閾値を超えているか否かを判断する閾値判断手段と、前記閾値判断手段によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積装置について、前記データ保存装置からのデータの読み出しを停止させる停止手段とをさらに備えたことを特徴とする。
【0014】
また、請求項7に係る発明は、各データ保存装置に対応付けてデータ蓄積装置内に備えられた各データ蓄積部に、当該データ保存装置から読み出されたデータをそれぞれ蓄積するデータ蓄積手順に対応するプログラムを読取可能な状態に記録することを特徴とする。
【0015】
また、請求項8に係る発明は、データ蓄積手順により蓄積された各データ蓄積部のデータ蓄積量が所定の閾値を超えているか否かをデータ蓄積装置ごとに判断する閾値判断手順に対応するプログラムと、前記閾値判断手順によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積部を含むデータ蓄積装置について、データ保存装置からのデータの読み出しを停止させる停止手順に対応するプログラムとを読取可能な状態に記録することを特徴とする。
【発明の効果】
【0016】
本発明によれば、各データ保存装置に対応付けてデータ蓄積装置内に備えられた各データ蓄積部に、データ保存装置から読み出されたデータをそれぞれ蓄積するデータ蓄積手順をコンピュータに実行させるので、従来のように、各ディスクサーバからシーケンシャルにデータの読み出し処理を行う必要がなく、データの読出し処理遅延の影響が波及することを防止することが可能である。すなわち、各ディスクサーバから取り込まれたデータの蓄積処理をそれぞれ個別に(並列に)実行するので、ある特定のディスクサーバからのデータの読み出し処理が遅延したとしても、他のディスクサーバからのデータの読み出し処理が影響を受けることはない。
【0017】
また、本発明によれば、データ蓄積装置を複数含んで構成されるデータ配信装置において、データ蓄積手順により蓄積された各データ蓄積部におけるデータ蓄積量が所定の閾値を超えているか否かをデータ蓄積装置ごとに判断する閾値判断手順と、閾値判断手順によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積部を含むデータ蓄積装置について、データ保存装置からのデータの読み出しを停止させる停止手順とをさらにコンピュータに実行させるので、データ蓄積量が多いデータ蓄積装置のデータの読出しを停止させるといった簡易な処理で、結果的として、データの蓄積量が少ないデータ蓄積装置に優先的にデータを蓄積させることが可能である。
【0018】
また、本発明によれば、各データ保存装置に対応付けてデータ蓄積装置内に備えられた各データ蓄積部に、データ保存装置から読み出されたデータをそれぞれ蓄積するデータ蓄積手順に対応するプログラムを読取可能な状態に記録する記録媒体を得ることが可能である。
【0019】
また、本発明によれば、データ蓄積手順により蓄積された各データ蓄積部のデータ蓄積量が所定の閾値を超えているか否かをデータ蓄積装置ごとに判断する閾値判断手順に対応するプログラムと、閾値判断手順によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積部を含むデータ蓄積装置について、データ保存装置からのデータの読み出しを停止させる停止手順に対応するプログラムとを読取可能な状態に記録する記録媒体を得ることが可能である。
【発明を実施するための最良の形態】
【0020】
以下に添付図面を参照して、本発明に係るデータ転送制御プログラム、データ転送制御方法、データ配信装置および記録媒体の実施例を詳細に説明する。なお、以下では、本発明に係るデータ転送プログラムを実行するデータ配信装置(ストリームサーバ)を例に挙げて実施例1として説明した後に、本発明に含まれる他の実施例を説明する。
【0021】
以下の実施例1では、実施例1に係るストリームサーバの概要および特徴、ストリームサーバの構成を順に説明し、最後に実施例1による効果を説明する。
【実施例1】
【0022】
[ストリームサーバの概要および特徴(実施例1)]
まず最初に、図1を用いて、実施例1に係るストリームサーバの概要および特徴を説明する。図1は、実施例1に係るストリームサーバの概要および特徴を説明するための図である。
【0023】
同図に示すように、実施例1に係るストリームサーバ10は、分散させたデータをそれぞれ保存する各ディスクサーバと、各ディスクサーバに保存されているデータを読み出して蓄積するバッファサーバとを含んで構成され、端末からの要求に応じてバッファサーバに蓄積されたマルチメディアデータ(例えば、映像データや音楽データなど)を配信することを概要とする。
【0024】
このような概要を有する実施例1に係るストリームサーバ10は、従来のように、各ディスクサーバからシーケンシャルにデータの読み出し処理を行う必要がなく、データの読出し処理遅延の影響が波及することを防止することが可能である点に主たる特徴がある。
【0025】
この主たる特徴について具体的説明すると、実施例1に係るストリームサーバ10は、各ディスクサーバ(例えば、ディスクサーバ30〜ディスクサーバ50)から読み出されたデータをそれぞれ個別に蓄積するように、各ディスクサーバに対応付けてバッファサーバ20に複数のバッファ(例えば、バッファ21〜バッファ23)を備える。
【0026】
そして、バッファサーバ20は、ディスクサーバ30、ディスクサーバ40およびディスクサーバ50から転送されてきたデータをそれぞれ受け付けると、ディスクサーバ30から受け付けたデータをバッファ21に、ディスクサーバ40から受け付けたデータをバッファ22に、ディスクサーバ50から受け付けたデータをバッファ23にそれぞれ個別に蓄積する。
【0027】
このようなことから、実施例1に係るストリームサーバは、上述した主たる特徴のごとく、従来のように、各ディスクサーバからシーケンシャルにデータの読み出し処理を行う必要がなく、データの読出し処理遅延の影響が波及することを防止することが可能である。
【0028】
[ストリームサーバの構成(実施例1)]
次に、図2を用いて、実施例1に係るストリームサーバの構成を説明する。図2は、実施例1に係るストリームサーバの構成を示すブロック図である。なお、同図には、実施例1に係るストリームサーバを実現する上で密接に関連する処理機能部のみを記載し、その他の処理機能部については記載を省略している。
【0029】
同図に示すように、実施例1に係るストリームサーバ10は、データ配信用ネットワークを介して端末と通信可能な状態に接続される。また、実施例1に係るストリームサーバ10は、データ転送用ネットワークを介して、バッファサーバ20と各ディスクサーバ(ディスクサーバ30、ディスクサーバ40およびディスクサーバ50)とを通信可能な状態に接続して構成される。
【0030】
このうち、バッファサーバ20は、バッファ21と、バッファ22と、バッファ23と、制御部内に含まれるデータ読出し要求部24およびデータ多重化部25とから構成される。
【0031】
各バッファ(バッファ21、バッファ22およびバッファ23)は、各ディスクサーバから読み出されたデータをそれぞれ個別に蓄積する。具体的には、バッファサーバ20は、ディスクサーバ30、ディスクサーバ40およびディスクサーバ50から転送されてきたデータをそれぞれ受け付けると、ディスクサーバ30から受け付けたデータをバッファ21に、ディスクサーバ40から受け付けたデータをバッファ22に、ディスクサーバ50から受け付けたデータをバッファ23にそれぞれ個別に蓄積する。
【0032】
制御部は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行し、特に本発明に密接に関連するものとして、データ読出し要求部24およびデータ多重化部25とを備える。このうち、データ読出し要求部24は、データ転送用ネットワークを介して、各ディスクサーバにデータ読出し要求を行う。また、データ多重化部25は、各バッファに蓄積されているデータを適切な順序で読み出して多重化する。
【0033】
各ディスクサーバ(ディスクサーバ30、ディスクサーバ40およびディスクサーバ50)は、マルチメディアデータ(映像データや音楽データなど)を所定の単位で分割した分割マルチメディアデータをそれぞれ保存する。
【0034】
そして、ストリームサーバ10は、端末からのデータ要求に応じて、バッファサーバ20に蓄積されたデータをデータ配信用ネットワーク14を介して配信する。
【0035】
なお、ストリームサーバ10、バッファサーバ20、ディスクサーバ30〜ディスクサーバ50は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した各機能を搭載することによって実現することができる。
【0036】
[実施例1の効果]
上述してきたように、実施例1によれば、各ディスクサーバ(ディスクサーバ30〜ディスクサーバ50)から読み出されたデータをそれぞれ個別に蓄積する各バッファ(バッファ21、バッファ22およびバッファ23)をバッファサーバ20内に備えるので、従来のように、各ディスクサーバからシーケンシャルにデータの読み出し処理を行う必要がなく、データの読出し処理遅延の影響が波及することを防止することが可能である。すなわち、各ディスクサーバから取り込まれたデータの蓄積処理をそれぞれ個別に(並列に)実行するので、ある特定のディスクサーバからのデータの読み出し処理が遅延したとしても、他のディスクサーバからのデータの読み出し処理が影響を受けることはない。
【実施例2】
【0037】
また、上記の実施例1において、ストリームサーバ10内に複数のバッファサーバを設置し、各バッファにおけるデータ蓄積量が所定の閾値を超えているか否かをバッファサーバごとに判断して、ディスクサーバからバッファサーバへのデータの転送を制御するようにしてもよい。そこで、以下の実施例2では、実施例2に係るストリームサーバの構成および処理を順に説明し、最後に実施例2による効果を説明する。
【0038】
[ストリームサーバ装置の構成(実施例2)]
まず、図3を用いて、実施例2に係るストリームサーバの構成を説明する。図3は、実施例2に係るストリームサーバの構成を示すブロック図である。同図に示すように、実施例2に係るストリームサーバ10と実施例1に係るストリームサーバ10とは、基本的には同様の構成であるが、以下に説明する点が異なる。
【0039】
すなわち、実施例2に係るストリームサーバ10は、複数のバッファサーバ(バッファサーバ20、バッファサーバ60およびバッファサーバ70)を設置して構成される。そして、各バッファサーバの制御部に、データ蓄積量監視部26を備える。
【0040】
例えば、バッファサーバ20のデータ蓄積量監視部26は、ストリームサーバ10の起動中、各バッファ(例えば、バッファ21、バッファ22およびバッファ23)におけるデータ蓄積量を監視して、データ蓄積量が閾値(データ蓄積量の上限値)を超えているか否かを判断する。そして、データ蓄積量が閾値を超えていると判断したバッファが存在する場合には、データ読出し要求部24にデータ読出し要求の停止指示を送出する。
【0041】
このようにして、バッファサーバ20において各ディスクサーバへのデータ読出し要求が停止されている間に、各ディスクサーバでは、他のバッファサーバ(例えば、バッファサーバ60やバッファサーバ70)からの読出し要求が処理され、結果的に、他のバッファサーバ内の各バッファにデータが蓄積されていく。
【0042】
また、バッファサーバ20のデータ蓄積量監視部26は、データ読出し要求部24にデータ読出し要求の停止指示を送出した後も、データ蓄積量が閾値を超えていると判断したバッファの監視を継続して、例えば、データ蓄積量が閾値の半分より少なくなった場合には、データ読出し要求部24にデータ読出し要求の再開指示を送出する。データ読出し要求の再開指示を送出した後、データ蓄積量監視部26は、再び、各バッファ(例えば、バッファ21、バッファ22およびバッファ23)におけるデータ蓄積量の監視に戻る。
【0043】
上述してきた処理の流れについて簡単に説明すると、データ蓄積量監視部26は、各バッファのデータ蓄積量を監視しつつ、各バッファのデータ蓄積量が閾値を超えているか否か所定のタイミングで順に判断する。例えば、バッファ21のデータ蓄積量が閾値を超えているか否か判断し、その結果、バッファ21のデータ蓄積量が閾値を超えていると判断した場合には、バッファ21へのバッファリングを停止するように、対応ディスクサーバ(例えば、DS30)に対するデータ読出し要求の停止指示をデータ読出し要求部24に送出する。
【0044】
データ蓄積量監視部26は、引き続き、バッファ21のデータ蓄積量の監視を継続して、バッファ21のデータ蓄積量が閾値の半分より少なくなったか否か所定のタイミングで判断する。その結果、バッファ21のデータ蓄積量が閾値の半分より少なくなった場合には、バッファ21へのバッファリングを再開するように、対応ディスクサーバに対するデータ読出し要求の再開指示をデータ読出し要求部24に送出する。
【0045】
そして、データ蓄積量監視部26は、データ蓄積量が閾値を超えているか否か判断すべき次のバッファがあるかどうか確認する。その結果、次のバッファがある場合には、例えば、次のバッファであるバッファ22について、まず、データ蓄積量が閾値を超えているか否か判断する等、上述したバッファ21と同様の処理を実行する。データ蓄積量が閾値を超えているか否か判断すべき次のバッファが無い場合には、データ蓄積量監視部26は、各バッファのデータ蓄積量の監視に戻る。
【0046】
なお、データ蓄積量監視部26は、ストリームサーバ10の起動中は常時、あるいは定期的に各バッファのデータ蓄積量を監視するようにしてもよい。また、データ読出し要求部24にデータ読出し要求の再開指示を送出するタイミングは、データ蓄積量が閾値の半分より少なくなった場合に限られるものではなく、適宜変更することができる。
【0047】
データ読出し要求部24は、データ蓄積量監視部26からデータ読出し要求停止指示を受け付けると、各ディスクサーバに対するデータ読出し要求を停止する。また、データ読出し要求部24は、データ蓄積量監視部26からデータ読出し要求再開指示を受け付けると、各ディスクサーバに対するデータ読出し要求を再開する。
【0048】
[ストリームサーバの処理(実施例2)]
次に、図4を用いて、実施例2に係るストリームサーバの処理を説明する。図4は、実施例2に係るストリームサーバの処理の流れを示すフローチャートである。なお、以下では、ストリームサーバ10の起動中に、バッファサーバ20のデータ蓄積量監視部26において実行されるデータ転送制御処理について説明する。
【0049】
同図に示すように、データ蓄積量監視部26は、各バッファのデータ蓄積量を監視しつつ、各バッファのデータ蓄積量が閾値を超えているか否か順に判断する(ステップS401)。例えば、バッファ21のデータ蓄積量が閾値を超えているか否か判断し、その結果、バッファ21のデータ蓄積量が閾値を超えていると判断した場合には(ステップS401肯定)、バッファ21へのバッファリングを停止するように、対応ディスクサーバ(例えば、DS30)に対するデータ読出し要求の停止指示をデータ読出し要求部24に送出する(ステップS402)。
【0050】
データ蓄積量監視部26は、引き続き、バッファ21のデータ蓄積量の監視を継続して、バッファ21のデータ蓄積量が閾値の半分より少なくなったか否か判断する(ステップS403)。その結果、バッファ21のデータ蓄積量が閾値の半分より少なくなったと判断した場合には(ステップS403肯定)、バッファ21へのバッファリングを再開するように、対応ディスクサーバに対するデータ読出し要求の再開指示をデータ読出し要求部24に送出する(ステップS404)。
【0051】
そして、データ蓄積量監視部26は、データ蓄積量が閾値を超えているか否か判断すべき次のバッファがないかどうか確認する(ステップS405)。その結果、次のバッファがある場合には(ステップS405否定)、例えば、次のバッファであるバッファ22について、まず、データ蓄積量が閾値を超えているか否か判断する等、上述したバッファ21と同様の処理を実行する。これとは反対に、データ蓄積量が閾値を超えているか否か判断すべき次のバッファが無い場合には(ステップS405肯定)、データ蓄積量監視部26は、各バッファのデータ蓄積量の監視に戻る。
【0052】
ここで、ステップS401の説明に戻ると、データ蓄積量監視部26は、例えば、バッファ21のデータ蓄積量が閾値を超えているか否か判断し、その結果、バッファ21のデータ蓄積量が閾値を超えていないと判断した場合には(ステップS401否定)、データ蓄積量が閾値を超えているか否か判断すべき次のバッファがないかどうか確認する(ステップS405)。
【0053】
また、ステップS403の説明に戻ると、データ蓄積量監視部26は、引き続き、バッファ21のデータ蓄積量の監視を継続して、バッファ21のデータ蓄積量が閾値の半分より少なくなったか否か所定のタイミングで判断した結果、バッファ21のデータ蓄積量が閾値の半分より少なくなっていないと判断した場合には(ステップS403否定)、データ蓄積量が閾値を超えているか否か判断すべき次のバッファがないかどうか確認する(ステップS405)。
【0054】
[実施例2による効果]
上述してきたように、実施例2によれば、ストリームサーバ10内に複数のバッファサーバ(例えば、バッファサーバ20、バッファサーバ60およびバッファサーバ70)を設置し、各バッファにおけるデータ蓄積量が所定の閾値を超えているか否かをバッファサーバごとに判断してデータ蓄積量を制御するので、データ蓄積量が多いバッファサーバ20のデータの読出しを停止させるといった簡易な処理で、結果的として、データの蓄積量が少ないバッファサーバに優先的にデータを蓄積させることが可能である。
【実施例3】
【0055】
さて、これまで本発明の実施例1または実施例2について説明してきたが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0056】
(1)装置構成等
図2または図3に示したストリームサーバ10を構成する各バッファサーバの各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各バッファサーバの分散・統合の具体的形態は図示のものに限られず、図2に示すバッファサーバ20のバッファ21と、バッファ22と、バッファ23とを統合し、図3に示すバッファサーバ20のデータ読出し要求部24とデータ蓄積量監視部26とを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、ストリームサーバ10を構成する各バッファサーバおよび各ディスクサーバにて行なわれる各処理機能(例えば、図4等参照)は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0057】
(2)データ転送制御プログラム
ところで、上記の実施例2で説明したデータ転送制御処理方法(図4参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、その一例として、図5を用いて、上記の実施例2と同様の機能を有するデータ転送制御プログラムを実行するコンピュータを説明する。図5は、データ転送制御プログラムを実行するコンピュータを示す図である。
【0058】
まず、図5に示すように、バッファサーバとしてのコンピュータ80は、通信制御I/F部81、HDD82、RAM83、ROM84およびCPU85をバス90で接続して構成される。
【0059】
そして、ROM84には、上記の実施例2に示したバッファサーバ20(図3参照)と同様の機能を発揮するデータ転送制御プログラム、つまり、図5に示すように、データ読出し要求プログラム84a、データ多重化プログラム84bおよびデータ蓄積量監視プログラム84cがあらかじめ記憶されている。なお、これらのプログラム84a、84bおよび84cについては、図3に示したバッファサーバ20の各構成要素と同様、適宜統合または分散してもよい。なお、ROM84は、不揮発性の「RAM」でもよい。
【0060】
そして、CPU85が、これらのプログラム84a、84bおよび84cをROM84から読み出して実行することで、図5に示すように、各プログラム84a、84bおよび84cは、データ読出し要求プロセス85a、データ多重化プロセス85bおよびデータ蓄積量監視プロセス85cとして機能するようになる。なお、各プロセス85a、85bおよび85cは、図3に示したデータ読出し要求部24、データ多重化部25およびデータ蓄積量監視部26にそれぞれ対応する。
【0061】
また、HDD82には、図5に示すように、データ蓄積量情報テーブル82aが設けられる。このデータ蓄積量情報テーブル82aにおいて管理される情報は、図3に示したバッファ21、バッファ22およびバッファ23におけるデータ蓄積量の情報に対応する。そして、CPU85は、データ蓄積量情報テーブル82aからデータ蓄積量情報83aを読み出してRAM83に格納し、RAM83に格納されたデータ蓄積量情報83aに基づいてデータ転送制御処理を実行する。
【0062】
なお、上記した各プログラム84a、84bおよび84cについては、必ずしも最初からROM84に記憶させておく必要はなく、例えば、コンピュータ80に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ80の内外に備えられるHDDなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ80に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ80がこれらから各プログラムを読み出して実行するようにしてもよい。
【産業上の利用可能性】
【0063】
以上のように、本発明に係るデータ転送制御プログラム、データ転送制御方法、データ配信装置および記録媒体は、分散させたデータをそれぞれ保存する各データ保存装置と、各データ保存装置から読み出されたデータを蓄積するデータ蓄積装置とを含んで構成され、端末装置からの要求に応じてデータ蓄積装置に蓄積されたデータを配信するデータ配信装置において、各データ保存装置からデータ蓄積装置へのデータの転送を制御する場合に有用であり、特に、データの読出し処理遅延の影響が波及することを防止することに適する。
【図面の簡単な説明】
【0064】
【図1】実施例1に係るストリームサーバの概要および特徴を説明するための図である。
【図2】実施例1に係るストリームサーバの構成を示すブロック図である。
【図3】実施例2に係るストリームサーバの構成を示すブロック図である。
【図4】実施例2に係るストリームサーバの処理の流れを示すフローチャートである。
【図5】データ転送制御プログラムを実行するコンピュータを示す図である。
【図6】従来技術の構成例を示す図である。
【符号の説明】
【0065】
1、2、3 ディスクサーバ
4 データ配信用ネットワーク
5 データ転送用ネットワーク
10 ストリームサーバ
20、60、70 バッファサーバ
21、22、23 バッファ
24 データ読出し要求部
25 データ多重化部
26 データ蓄積量監視部
30、40、50 ディスクサーバ
80 コンピュータ
81 通信制御I/F部
82 HDD(Hard Disk Drive)
82a データ蓄積量情報テーブル
83 RAM(Random Access Memory)
83a データ蓄積量情報
84 ROM(Read Only Memory)
84a データ読出し要求プログラム
84b データ多重化プログラム
84c データ蓄積量監視プログラム
85 CPU(Central Processing Unit)
85a データ読出し要求プロセス
85b データ多重化プロセス
85c データ蓄積量監視プロセス
90 バス

【特許請求の範囲】
【請求項1】
分散させたデータをそれぞれ保存する各データ保存装置と、各データ保存装置から読み出されたデータを蓄積するデータ蓄積装置とを含んで構成され、端末装置からの要求に応じてデータ蓄積装置に蓄積されたデータを配信するデータ配信装置において、各データ保存装置からデータ蓄積装置へのデータの転送を制御するための方法をコンピュータに実行させるデータ転送制御プログラムであって、
前記各データ保存装置に対応付けて前記データ蓄積装置内に備えられた各データ蓄積部に、当該データ保存装置から読み出されたデータをそれぞれ蓄積するデータ蓄積手順をコンピュータに実行させることを特徴とするデータ転送制御プログラム。
【請求項2】
前記データ配信装置は、前記データ蓄積装置を複数含んで構成されるものであって、
前記データ蓄積手順により蓄積された各データ蓄積部におけるデータ蓄積量が所定の閾値を超えているか否かをデータ蓄積装置ごとに判断する閾値判断手順と、
前記閾値判断手順によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積部を含むデータ蓄積装置について、前記データ保存装置からのデータの読み出しを停止させる停止手順とをさらにコンピュータに実行させることを特徴とする請求項1に記載のデータ転送制御プログラム。
【請求項3】
分散させたデータをそれぞれ保存する各データ保存装置と、各データ保存装置から読み出されたデータを蓄積するデータ蓄積装置とを含んで構成され、端末装置からの要求に応じてデータ蓄積装置に蓄積されたデータを配信するデータ配信装置において、各データ保存装置からデータ蓄積装置へのデータの転送を制御するデータ転送制御方法であって、
前記各データ保存装置に対応付けて前記データ蓄積装置内に備えられた各データ蓄積部に、当該データ保存装置から読み出されたデータをそれぞれ蓄積するデータ蓄積工程を含んだことを特徴とするデータ転送制御方法。
【請求項4】
前記データ配信装置は、前記データ蓄積装置を複数含んで構成されるものであって、
前記データ蓄積工程により蓄積された各データ蓄積部におけるデータ蓄積量が所定の閾値を超えているか否かをデータ蓄積装置ごとに判断する閾値判断工程と、
前記閾値判断工程によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積部を含むデータ蓄積装置について、前記データ保存装置からのデータの読み出しを停止させる停止工程とをさらに含んだことを特徴とする請求項3に記載のデータ転送制御方法。
【請求項5】
分散させたデータをそれぞれ保存する各データ保存装置と、各データ保存装置から読み出されたデータを蓄積するデータ蓄積装置とを含んで構成され、端末装置からの要求に応じてデータ蓄積装置に蓄積されたデータを配信するデータ配信装置であって、
前記データ保存装置から読み出されたデータを当該データ保存装置ごとに蓄積するデータ蓄積手段を備えたことを特徴とするデータ配信装置。
【請求項6】
前記データ配信装置は、前記データ蓄積装置を複数含んで構成されるものであって、
前記データ蓄積手段により蓄積された各データ蓄積装置におけるデータ蓄積量が所定の閾値を超えているか否かを判断する閾値判断手段と、
前記閾値判断手段によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積装置について、前記データ保存装置からのデータの読み出しを停止させる停止手段とをさらに備えたことを特徴とする請求項5に記載のデータ配信装置。
【請求項7】
各データ保存装置に対応付けてデータ蓄積装置内に備えられた各データ蓄積部に、当該データ保存装置から読み出されたデータをそれぞれ蓄積するデータ蓄積手順に対応するプログラムを読取可能な状態に記録することを特徴とする記録媒体。
【請求項8】
データ蓄積手順により蓄積された各データ蓄積部におけるデータ蓄積量が所定の閾値を超えているか否かをデータ蓄積装置ごとに判断する閾値判断手順に対応するプログラムと、
前記閾値判断手順によりデータ蓄積量が所定の閾値を超えているものと判断されたデータ蓄積部を含むデータ蓄積装置について、データ保存装置からのデータの読み出しを停止させる停止手順に対応するプログラムとを読取可能な状態に記録することを特徴とする記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


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