説明

映像蓄積配信システム及び映像蓄積配信方法

【課題】1台のRAID装置の読み出し性能に制限されることなく性能向上が図れ、RAID装置自体の障害にも対応できる、信頼性の高い映像蓄積配信システムを提供する。
【解決手段】映像データの蓄積及び配信処理を行う蓄積配信処理部20と、映像データを記録するストレージシステム8と、前記ストレージシステムを管理する蓄積配信管理部10と、映像データの蓄積及び配信を指示する監視端末7とから構成し、映像データをIPネットワーク3経由で配信する映像蓄積配信システム100であり、前記ストレージシステム8には、RAID装置を少なくとも2台備え、固定時間長ファイルに分割した同一の映像データをそれぞれ蓄積し、映像データの配信時には、映像データの保存状態とRAID装置の配信負荷を基に、配信元のRAID装置を選択し、分割した映像データを順次配信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像蓄積配信システムに係わり、特にカメラ映像を映像データに変換してIP(Internet Protocol)ネットワーク経由で配信し、遠隔監視などを行うための映像監視システム等に好適な映像蓄積配信システム及び映像蓄積配信方法に関する。
【背景技術】
【0002】
数十台のカメラで撮影した映像をMPEG(Moving Picture Experts Group)等の映像データに変換し、映像データをIPネットワーク経由で配信して遠隔監視すると共に、同時にこの映像データをストレージと称される記憶装置に記憶しておき、有事の際等に映像を再生可能とするシステムが実用化されている。このような映像蓄積配信システムで用いられるストレージとしては、比較的安価な複数の磁気ディスク装置(ハードディスク装置)で構成する大容量で高性能かつ高信頼性のRAID(Redundant Arrays of Independent Disks)装置が製品化されている。一方、映像データを複数のRAID装置に大量に蓄積しておき、ユーザの要求に応じて蓄積データを提供するシステムも提案されているが、このようなシステムでは多数のユーザが特定の映像データに集中して配信を要求するような場合の負荷が問題となっており、その負荷を分散させる方法が提案されている。
【0003】
特許文献1には、時系列に変化する性能を測定し、特定のファイルにアクセスが集中した際の負荷状況に応じて、動的に記憶装置内の論理ボリュームを予備のボリュームにコピーし、負荷分散させるストレージ装置の例についての開示がある。
【特許文献1】特開2006−53601号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
RAID装置は、複数のハードディスクを使用して、信頼性の高い状態でデータを記録させるものであり、例えば、大容量で高性能かつ高信頼性のRAIDとしてRAID5方式のRAID装置が比較的安価に入手可能となってきている。ところが、高信頼性な方式とは言え、ディスクドライブ自体の故障や、RAIDコントローラの不具合などによる障害が皆無となる訳ではないため、それらの障害に対する対応が必要となる。このため、映像監視システムなど、映像の録画を止めてはならないシステムにおいては、RAID装置自体の障害に対する対応が必要となる。
【0005】
また、RAID装置の性能の面でみると、映像の録画の場合、同時に録画できる映像の本数を増やすには複数のRAID装置を設置して録画処理を分散すれば良いが、録画映像の配信の場合、ある一つの録画映像にアクセスが集中すると、1台のRAID装置の処理性能によりシステム全体の処理性能が制限されるという問題がある。
【0006】
本発明はかかる点に鑑みてなされたものであり、比較的安価な複数の磁気ディスク装置で構成する大容量で高性能かつ高信頼性のRAID装置を用いて、1台のRAID装置の読み出し性能によりシステム全体の性能が制限されることなく性能向上が図れ、RAID装置自体の障害にも対応できる、信頼性の高い映像蓄積配信システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、映像データの蓄積及び配信の処理を行う蓄積配信処理部と、映像データを記録する複数のRAID装置から構成するストレージシステムと、前記ストレージシステムを管理する蓄積配信管理部と、映像データの蓄積及び配信を指示する監視端末とから構成し、IPネットワークに接続するクライアントからの要求に応じて、前記ストレージシステムに蓄積した映像データをIPネットワーク経由で配信する映像蓄積配信システムであり、前記ストレージシステムには、RAID装置を少なくとも2台備え、前記蓄積配信管理部の指示に応じて、固定時間長ファイルに分割した同一の映像データを前記RAID装置にそれぞれ蓄積し、映像データの配信時には、映像データの保存状態とRAID装置の配信負荷を基に、配信元のRAID装置を選択し、分割した映像データを順次配信するものである。
【0008】
また、前記蓄積配信管理部は、管理者が映像データの蓄積や配信操作を行う際に使用するユーザインターフェース処理部と、前記ストレージシステム内の各RAID装置の死活状態に応じて、各RAID装置に同一映像データの蓄積を指示する蓄積管理処理部と、配信要求時に前記ストレージシステム内のRAID装置のうち、映像データを正常に蓄積した装置を選択して用いる配信管理処理部と、前記蓄積及び配信管理処理部で用いる管理テーブル群とから構成し、前記蓄積管理処理部において、前記各RAID装置の死活状態を検知して記憶する手段を備え、記憶している各RAID装置の死活状態を基に正常動作中の各RAID装置に同一映像データを蓄積する。
【0009】
また、前記配信管理処理部は、前記各RAID装置の配信状態および配信負荷を記憶する手段を備え、記憶している配信状態および配信負荷を基に、映像データを正常に蓄積したRAID装置のうち、配信負荷の低いRAID装置を選択して配信する。
【発明の効果】
【0010】
本発明によると、ストレージシステム内のRAID装置を少なくとも2台備えることにより、可用性の高い映像蓄積配信システムを構築できると共に、1台のRAID装置の読み出し性能によってシステム全体の性能が制限されることはなく、性能向上を図ることができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の一実施の形態を、添付図面を参照して説明する。
【0012】
図1に、本例による映像蓄積配信システムのシステム構成例を示す。まず、図1を参照して、本例の全体構成例について説明する。
【0013】
本例では、複数のカメラ1が撮影した映像信号を、エンコーダ2によってMPEG映像データへ変換し、変換された映像データをIPネットワーク3を介して本例の映像蓄積配信システム100に蓄積する。
【0014】
本例の映像蓄積配信システム100は、映像データの蓄積、配信処理を行う蓄積配信処理部20と、映像データを蓄積するストレージシステム8と、オペレータが映像データの蓄積及び配信を指示する際に用いる監視端末7と、上記の各装置を管理し、映像データの蓄積、配信処理の管理を行う蓄積配信管理部10と、これらの各装置をIPネットワーク3へ接続するための切換装置4とから構成する。また、切換装置4に接続し、MPEG映像データから映像信号へ変換するデコーダ5と、このデコーダ5の出力映像を再生するモニタ装置6も備える。また、上記蓄積配信管理部10には、オペレータが監視端末7を用いてカメラ映像データの蓄積や配信操作を行ったり、他のユーザがクライアント4の端末を用いて操作したりするためのユーザインターフェースを提供するユーザインターフェース処理部40と、蓄積配信処理部20へ映像データの蓄積や配信の指示を行う蓄積管理処理部50および配信管理処理部60と、蓄積や配信のための管理情報を格納する管理テーブル群70とを備えている。なお、本例では、ユーザインターフェース処理部40は、GUI(Graphical User Interface)を提供する処理とし、以降はGUI処理部40と称す。
【0015】
本例の蓄積配信管理部10および蓄積配信処理部20は、例えばサーバなどのコンピュータ装置に該当する処理を行うプログラムを実装させて、そのコンピュータ装置が備える演算処理機能や記憶機能などを利用して、実現したものである。図1では、蓄積配信管理部10と蓄積配信処理部20を別々に表示しているが、これらを1台のコンピュータ装置に実装して構成してもよい。また、監視端末7は、パーソナルコンピュータ等を用いて構成する。また、本例のストレージシステム8は、RAID装置A30およびB31から構成する。切換装置4は、スイッチングハブなどのネットワークを接続する中継装置を用いて構成する。
【0016】
本例において映像データを蓄積する場合は、複数のカメラ1で撮影された映像信号を、エンコーダ2によりMPEG映像データへ変換し、そのデータをネットワーク3及び切換装置4を介して受信する。受信した映像データは、蓄積配信管理部10により、正常に動作しているRAID装置を判別して蓄積先を決定し、蓄積配信処理部20がRAID装置A30またはB31に蓄積する。
【0017】
また、本例において映像データを配信する場合は、IPネットワーク3に接続するクライアント4からの要求や、オペレータが監視端末7から行った要求などに基づき、蓄積配信管理部10により、正常に映像データを蓄積したRAID装置の中から、RAID装置の負荷状態を判別して配信元を決定し、蓄積配信処理部20がRAID装置A30またはB31に蓄積されているMPEG映像データを読み出し、配信する。映像データをクライアント4へ配信する場合は、切換装置4を介してIPネットワーク3へデータを配信し、オペレータからの要求の場合は、切換装置4を介してデコーダ5へ配信し、デコーダ5にて変換した映像をモニタ装置6で再生する。
【0018】
実際の動作としては、オペレータが監視端末7を操作し、各カメラ1からIPネットワーク3を経て送信される映像データの、ストレージシステム8への蓄積指示や、この蓄積してある映像データの配信指示を行う。この蓄積指示や、配信指示は、蓄積配信管理部10で受け、その指示に対応して蓄積管理処理部50または配信管理処理部60が、管理テーブル群70の各種管理テーブルの情報に基づいて処理し、蓄積配信処理部20への蓄積指示や、クライアントへの配信指示を行う。
【0019】
次に、蓄積配信管理部10の各処理および蓄積配信処理部20の構成例について、図2を参照して説明する。
【0020】
図2の(a)は、蓄積配信管理部10のGUI処理部40の構成例を示す。GUI処理部40は、監視端末7やクライアント4の端末等に、映像の蓄積や配信のための操作を行うための画面を提供するGUI提供処理手段41と、画面から入力されたユーザの指示を判断するユーザ指示判断処理手段42と、ユーザ指示が映像データの蓄積だった場合に、蓄積管理処理部50へ指示を出す蓄積指示通信処理手段43と、ユーザ指示が映像データの配信だった場合に配信管理処理部60へ指示を出す配信指示通信処理手段44とを備える。
【0021】
図2の(b)は、蓄積配信管理部10の蓄積管理処理部50の構成例を示す。蓄積管理処理部50は、GUI処理部40からの蓄積指示を受ける蓄積指示待ち処理手段51と、同様に指示に基づき録画の開始処理を行う録画開始処理手段52と、録画の停止処理を行う録画停止処理手段53と、ストレージシステム8内のRAID装置A30及びB31の死活状態を監視して管理テーブル群70内の所定の管理テーブルへ死活状態を記録し、映像データの蓄積時及び配信時に活用させる死活状態監視処理手段54と、蓄積配信処理部20へ蓄積指示電文の送信による蓄積指示を出す蓄積指示電文送信処理手段55とを備える。
【0022】
図2の(c)は、蓄積配信管理部10の配信管理処理部60の構成例を示す。配信管理処理部60は、GUI処理部40からの配信指示を受ける配信指示待ち処理手段61と、同様に指示に基づき配信の開始処理を行う配信開始処理手段62と、配信の停止処理を行う配信停止処理手段63と、管理テーブル群70内の所定の管理テーブルを参照してストレージシステム8内のRAID装置A30及びB31の死活状態を判断する死活状態監視処理手段64と、管理テーブル群70内の所定の管理テーブルを参照してストレージシステム8内のRAID装置A30及びB31の配信負荷状態を管理し、各RAID装置にほぼ均等に負荷がかかるように制御する配信負荷状態監視処理手段65とを備える。
【0023】
図2の(d)は、蓄積配信処理部20の構成例を示す。蓄積配信処理部20は、蓄積配信管理部10の蓄積管理処理部50からの蓄積指示を受ける蓄積指示待ち処理手段21と、同様に指示に基づき蓄積の開始処理を行う蓄積開始処理手段22と、蓄積の停止を行う蓄積停止処理手段23とを備える。
【0024】
次に、蓄積配信管理部10の管理テーブル群70の構成例について、図3を参照して説明する。管理テーブル群70は、図1に示すように、RAID装置死活状態管理テーブル71、映像録画管理テーブル72、録画映像配信管理テーブル73、映像毎録画ファイル管理テーブル74、RAID装置負荷状態管理テーブル75、RAID装置情報管理テーブル76を備えている。
【0025】
図3の(a)は、RAID装置死活状態管理テーブル71の構成例を示す。RAID装置死活状態管理テーブル71は、ストレージシステム8内のRAID装置A30とB31について、正常に動作しているか、障害発生などにより停止しているかの死活状態712を記憶管理する。本例では、動作中の場合は“1”を、停止中の場合は“0”を設定するように示している。
【0026】
図3の(b)は、映像録画管理テーブル72の構成例を示す。映像録画管理テーブル72は、カメラ毎に定義された映像データの映像名称721と、録画状態722と、録画スレッドID(Identifier)723と、録画の開始時間と停止時間を示す録画時間724を記憶管理する。録画状態722は、録画中か、録画停止中かを示し、本例では、録画中の場合は“1”を、録画停止中の場合は“0”を設定する。録画スレッドID723は、当該映像データの録画処理を行っているスレッドの識別子を示し、詳細については後述する。
【0027】
図3の(c)は、録画映像配信管理テーブル73の構成例を示す。録画映像配信管理テーブル73は、配信中の映像名称731と、配信スレッドID732と、配信先情報733と、配信元のRAID装置名734と、配信中の映像ファイルの先頭時間735を記憶管理する。配信スレッドID732は、当該映像データの配信処理を行っているスレッドの識別子を示し、詳細については後述する。配信先情報733は、映像データの配信先のIPアドレスや、ポート番号など、配信先を特定するための情報を設定する。配信元のRAID装置名734は、配信中の映像ファイルを蓄積しているRAID装置名を設定する。また、本例では、映像データを固定時間長ファイルに分割して保存するため、映像データの配信時は、分割した複数の映像ファイルを時系列に繋げて配信する。そのため、現在配信中の映像ファイルを識別するために、映像ファイルの録画開始時間をファイル先頭時間735として設定する。
【0028】
図3の(d)は、映像毎録画ファイル管理テーブル74の構成例を示す。映像毎録画ファイル管理テーブル74は、蓄積している各カメラの映像データ毎に存在し、本例では1つの映像データを固定時間長ファイルに分割しているため、それら分割した映像ファイルを管理するために用いる。映像毎録画ファイル管理テーブル74は、分割した映像ファイルの録画開始時間と録画停止時間を設定する録画時間帯741と、ファイル名称742と、RAID装置録画状態管理情報743を記憶管理している。RAID装置録画状態管理情報743は、RAID装置に蓄積された映像ファイルが、正しく蓄積されたか否かを示し、本例では、正しく蓄積され、当該ファイルの映像データが有効である場合は“1”を、正しく蓄積されず、映像データとして無効である場合は”0“を、RAID装置A30とB31についてそれぞれ設定する。
【0029】
図3の(e)は、RAID装置負荷状態管理テーブル75の構成例を示す。RAID装置負荷状態管理テーブル75は、ストレージシステム8の各RAID装置における書き込み負荷752と、読み出し負荷753の状態を記憶管理する。本例では、書き込み負荷および読み出し負荷として、RAID装置への映像データの書き込みまたは読み出し時のデータ転送速度を設定する。
【0030】
図3の(f)は、RAID装置情報管理テーブル76の構成例を示す。RAID装置情報管理テーブル76は、ストレージシステム8内に存在するRAID装置の名称761及びディスク名762を記憶管理する。
【0031】
次に、図4を参照して蓄積管理処理部50による映像データの蓄積処理について説明する。図4は、蓄積管理処理部50の処理例を示すフローチャートである。
【0032】
蓄積管理処理部50は、メインプロセスと、メインプロセスから生成され、録画処理を実行する複数のスレッド(録画スレッド)から構成する。なお、録画スレッドは、映像データの蓄積要求が複数同時に発生した場合でも、並列処理により同時実行が可能である。
【0033】
まず、蓄積管理処理部50のメインプロセスでは、蓄積指示待ち処理手段51が、GUI処理部40のGUI提供処理手段41により、監視端末7に表示される画面などから入力されるオペレータの指示を待つ(ステップS11)。オペレータから入力があった場合は、GUI処理部40のユーザ指示判断処理手段42により指示内容が判断され、映像データの蓄積指示の場合は、蓄積指示通信処理手段43により、蓄積管理処理部50へ指示を出す。蓄積管理処理部50では、ステップS11でGUI処理部40からの指示を受けると、蓄積指示待ち処理手段51が指示内容を判断し、まず、録画開始の指示であるかを判断する(ステップS12)。録画開始指示だった場合は、録画開始処理手段52により指定映像データの録画を開始する(ステップS13)。指定映像データの録画開始処理は、映像録画管理テーブル72へ映像名称721と、録画時間724のうちの録画開始時間の情報登録を行い、指定映像データを撮影するカメラのIPアドレス情報などを引数にして録画スレッド200を生成する。スレッド生成後、映像録画管理テーブル72の録画スレッドID723へ生成した録画スレッドのスレッドIDを登録し、録画状態722を“録画中”とする。
【0034】
ステップS12の判断の結果、録画開始指示でない場合は、録画停止指示であるかを判断する(ステップS14)。録画停止指示の場合は、録画停止処理手段53により指定映像データの録画を停止する(ステップS15)。指定映像データの録画停止処理では、映像録画管理テーブル72から指定映像データの映像名称に対応する録画スレッドID723を取得して、対応する実行中の録画スレッド200に対して停止要求を出し、映像録画管理テーブル72の録画時間724へ録画停止時間を登録し、録画状態722を“停止中”とする。
【0035】
ステップS12およびステップS14でどちらの指示とも判断されなかった場合は、ステップS11へ戻り、次の指示を待つ。
【0036】
次に、メインプロセスから生成される録画スレッド200の処理について説明する。録画スレッド200は、まず、指定映像データのファイル管理を行うために、映像毎録画ファイル管理テーブル74を作成する(ステップS21)。以下、録画停止の指示があるまで、後述するステップS22からS26の処理を繰り返す。初めに、死活状態監視処理手段54によって、RAID装置情報管理テーブル76に登録してあるストレージシステム8の全てのRAID装置に対して死活状態を確認し、RAID装置死活状態管理テーブル71に登録する(ステップS22)。次に、蓄積指示電文送信処理手段55によって、RAID装置死活状態管理テーブル71を基に蓄積可能なRAID装置を選定し、蓄積指示電文を作成して蓄積配信処理部20へ送信する(ステップS23)。ここで、蓄積可能なRAID装置は、RAID装置死活状態管理テーブル71の死活状態712が“動作中”のものである。
【0037】
蓄積指示電文は、図7の(a)に示すように、指示ID811に指示電文を作成したスレッドIDと、指示内容812として蓄積開始の指示を示す識別子と、指定映像データの蓄積時間813と、映像データを固定時間長に分割するためのファイル名815およびファイル作成先のディレクトリ名814と、蓄積ディスク数816として蓄積可能なRAID装置の台数と、ディスク名817として、RAID装置情報管理テーブル76を参照して取得した蓄積可能なRAID装置のディスク名称762とを要素として作成する。図7の(b)は、図7(a)の蓄積指示電文インタフェース81の具体例を表している。指示内容822が蓄積開始(RecStart)、蓄積時間823が1800秒(30分)、ファイル名825がFile1、そして蓄積対象RAID装置のディスクが2台存在し、そのディスク名827がそれぞれD1とD2であることを示している。
【0038】
蓄積配信処理部20では、上記蓄積配信管理部10の蓄積管理処理部50が送信した蓄積指示電文を受け取ると、蓄積指示電文の内容に従って蓄積処理を開始する。蓄積処理の詳細については、後述する。この後、1ファイルの録画が終了するまでは、蓄積配信処理部20によって蓄積処理が行われるため、録画終了まで、もしくはメインプロセスからの停止指示が来るまでスリープする(ステップS24)。
【0039】
次に、スリープ終了後、録画終了かを判定し(ステップS25)、録画終了の場合は、映像毎録画ファイル管理テーブル74へ、新たに作成した録画ファイルの録画時間帯741として録画開始時間と停止時間、ファイル名称742、RAID装置録画状態管理情報743として、蓄積先のRAID装置毎の映像データの有効または無効の状態を登録する(ステップS26)し、ステップS22に戻り処理を繰り返す。ステップS25の判定の結果、録画終了でなかった場合は、メインプロセスから停止指示があってスリープを中断したのかを判定し(ステップS27)、停止指示の場合は、蓄積停止指示電文を作成して蓄積配信処理部20へ送信し(ステップS28)、録画スレッドの処理を終了する。停止指示でなかった場合は、録画スレッドの処理を終了する。蓄積停止指示電文は、図7の(c)に示すように、指示ID831に指示電文を作成したスレッドIDと、指示内容832として蓄積停止の指示を示す識別子と、蓄積を停止したい映像データのファイル名833と、蓄積を停止したいRAID装置の数と、蓄積を停止したいRAID装置のディスク名835とを要素として作成する。
【0040】
ここで、死活状態監視処理手段54によるRAID装置A30及びB31の死活状態の監視方法としては、映像データのファイルを閉じた時点で蓄積済みデータ量を取得し、所定のデータ量があるかを確認する方法や、定期的なPING(Packet Internet Groper)による応答確認によって、RAID装置の接続状態やネットワークの状態を確認する方法や、RAID装置自身の自己診断機能による診断結果を受信する方法などがある。その結果を基にRAID装置の死活状態を判定し、RAID装置死活状態管理テーブル71に登録する。
【0041】
次に、図5を参照して蓄積配信処理部20による映像データの蓄積処理について説明する。図5は、蓄積配信処理部20の処理例を示すフローチャートである。
【0042】
蓄積配信処理部20は、メインプロセスと、メインプロセスから生成され、映像データのファイルをストレージシステム8へ蓄積する処理を実行する複数のスレッド(蓄積スレッド)から構成する。なお、蓄積スレッドは、映像データの蓄積要求が複数同時に発生した場合でも、並列処理により同時実行が可能である。
【0043】
まず、蓄積配信処理部20のメインプロセスでは、蓄積指示待ち処理手段21が、蓄積配信管理部10の蓄積管理処理部50からの蓄積指示を待つ(ステップS31)。蓄積指示待ち処理手段21は、蓄積配信管理部10の蓄積管理処理部50から送信された蓄積指示電文を受け取ると、蓄積指示電文の内容に従って蓄積処理を開始する。まず、蓄積指示電文の指示内容812が蓄積開始の指示であるかを判断する(ステップS32)。蓄積開始指示だった場合は、蓄積開始処理手段22により指定映像データの蓄積を開始する(ステップS33)。指定映像データの蓄積開始処理は、蓄積管理処理部50から蓄積指示電文により指示された蓄積時間813、ファイル名815、蓄積可能なRAID装置数816、蓄積可能なRAID装置のディスク名817などを引数にして蓄積スレッド400を生成し、蓄積を開始する。
【0044】
ステップS32の判断の結果、蓄積開始指示でない場合は、蓄積停止指示であるかを判断する(ステップS34)。蓄積停止指示だった場合は、蓄積停止処理手段23により指定映像データの蓄積を停止する(ステップS35)。指定映像データの蓄積停止処理では、蓄積管理処理部50から送信された蓄積停止指示電文の内容に従い、指示ID831に対応する動作中の蓄積スレッドに対して停止要求を出す。ステップS32およびステップS34でどちらの指示とも判断されなかった場合は、ステップS31へ戻り、次の指示を待つ。
【0045】
次に、メインプロセスから生成される蓄積スレッド400の処理について説明する。蓄積スレッド400は、蓄積配信管理部10の蓄積管理処理部50から指定された全てのRAID装置のディスクに蓄積用ファイルを作成する(ステップS41)。以下、蓄積停止の指示があるまで、後述するステップS42からS44の処理を繰り返す。まず、IPネットワーク3を介してカメラ1から送られてくる映像データを受信し、蓄積用受信バッファに格納する(ステップS42)。次に、蓄積用受信バッファに、受信した映像データが一定量以上格納されていることを確認する(ステップS43)。判定の結果、蓄積用受信バッファに一定量以上格納されている場合は、指定された全てのRAID装置のディスクに作成した各蓄積用ファイルに、蓄積用受信バッファに格納された同一映像データを書き込む(ステップS44)。書き込み終了後、ステップS42へ戻り、蓄積用受信バッファに映像データが一定量以上貯まるのを待ち、処理を繰り返す。
【0046】
ステップS43の判定の結果、蓄積用受信バッファに映像データが一定量以上格納されていない場合は、RAID装置のディスクに作成された蓄積用ファイルへの書き込み量が蓄積指示電文で指示された蓄積時間以上になったかを判定する(ステップS45)。判定の結果、指示された蓄積時間以上格納されている場合は、蓄積用受信バッファに格納された残りの映像データを、指定された全てのRAID装置のディスクに作成した各蓄積用ファイルに書き込んで、蓄積スレッドの処理を終了する(ステップS46)。
【0047】
ステップS43およびステップS44の判定の結果、いずれも否と判定された場合は、メインプロセスから蓄積停止指示があったかを判定し(ステップS47)、停止指示の場合は、蓄積配信処理部20の蓄積停止処理手段23により停止処理を行い、蓄積スレッドの処理を終了する。判定の結果、停止指示でない場合は、そのまま処理を終了する。
【0048】
次に、図6を参照して蓄積配信管理部10の配信管理処理部60による映像データの配信処理について説明する。図6は、配信管理処理部60の処理例を示すフローチャートである。
【0049】
配信管理処理部60は、メインプロセスと、メインプロセスから生成され、映像データを要求元へ配信する処理を実行する複数のスレッド(配信スレッド)から構成する。なお、配信スレッドは、映像データの配信要求が複数同時に発生した場合でも、並列処理により同時実行が可能である。
【0050】
まず、配信管理処理部60のメインプロセスは、配信指示待ち処理手段61が、GUI処理部40のGUI提供処理手段41により、監視端末7に表示される画面などから入力されるオペレータの指示を待つ(ステップS51)。オペレータから入力があった場合は、GUI処理部40のユーザ指示判断処理手段42により指示内容が判断され、映像データの配信指示の場合は、配信指示通信処理手段44により、配信管理処理部60へ指示を出す。配信管理処理部60では、ステップS51でGUI処理部40からの指示を受けると、配信指示待ち処理手段61が指示内容を判断し、まず、配信開始の指示であるかを判断する(ステップS52)。配信開始指示だった場合は、配信開始処理手段62により指定映像データの配信を開始する(ステップS53)。指定映像データの配信開始処理は、録画映像配信管理テーブル73へ映像名称731と、配信先情報733や配信中ファイル情報としてファイル先頭時間735を登録し、これらの登録情報を引数にして配信スレッド600を生成する。スレッド生成後、録画映像配信管理テーブル73の配信スレッドID732へ生成した配信スレッドIDを登録する。
【0051】
ステップS52の判断の結果、配信開始指示でない場合は、配信停止指示であるかを判断する(ステップS54)。配信停止指示の場合は、配信停止処理手段63により指定映像データの配信を停止する(ステップS55)。指定映像データの配信停止処理では、録画映像配信管理テーブル73から、指定配信先情報に対応する配信スレッドIDを取得して、その配信スレッドIDを引数として、動作中の配信スレッドに対して停止要求を行う。
【0052】
ステップS52およびステップS54でどちらの指示とも判断されなかった場合は、ステップS51へ戻り、次の指示を待つ。
【0053】
次に、メインプロセスから生成される配信スレッド600の処理について説明する。配信スレッド600は、配信停止指示があるまで、後述するステップS61からS66の処理を繰り返す。初めに、現在配信中の映像ファイルを閉じ(配信停止)、次に配信すべき映像データのファイルを映像毎録画ファイル管理テーブル74から取得する(ステップS61)。次に、配信対象ファイルがあるかを判断する(ステップS62)。次のファイルがない場合は、配信対象の映像データの配信がすべて終了したため、配信スレッドの処理を終了する。配信対象ファイルがある場合は、死活状態監視処理手段64によって、配信可能なRAID装置を選定する(ステップS63)。死活状態監視処理手段64は、RAID装置情報管理テーブル76に登録されているストレージシステム8の全てのRAID装置に対して、RAID装置死活状態管理テーブル71に登録してある死活状態712及び、映像毎録画ファイル管理テーブル74のRAID装置録画状態管理情報743により、配信可能なRAID装置を選定する。次に、配信負荷状態監視処理手段65によって、ステップS63で選定されたRAID装置の負荷状態を基に、配信元のRAID装置を選定して蓄積配信処理部20へ配信を指示する(ステップS64)。ここで、ステップS63で選定したRAID装置が1台の場合は、ステップS63で選定したRAID装置を用いて配信するよう指示する。また、ステップS63で選定したRAID装置が複数ある場合は、RAID装置負荷状態管理テーブル75を参照し、読み出し負荷が最も小さいRAID装置を選択し、蓄積配信処理部20へ配信を指示する。この後、1ファイルの配信が終了するまでは、蓄積配信処理部20によって配信処理が行われるため、配信終了まで、もしくはメインプロセスからの停止指示が来るまでスリープする(ステップS65)。スリープ終了後、メインプロセスからの配信停止指示のためにスリープを中断したのかを判定し(ステップS66)、停止指示の場合は、配信スレッドの処理を終了する。停止指示でない場合は、ステップS61へ戻り、処理を繰り返す。
【0054】
上記配信処理における、具体的な配信元のRAID装置の選定方法について説明する。まず、RAID装置情報管理テーブル76に登録してあるストレージシステム8のRAID装置A30及びB31に対して、RAID装置死活状態管理テーブル71の情報から、RAID装置A30及びB31ともに動作中であり、映像毎録画ファイル管理テーブル74の情報から、対象ファイルがRAID装置A30及びB31とも有効であれば、RAID装置負荷状態管理テーブル75を調べて、読み出し負荷が小さいRAID装置を選択して配信の指示を出す。なお、配信指示を出したRAID装置については、RAID装置負荷状態管理テーブル75の読み出し負荷情報753を更新する。また、RAID装置死活状態管理テーブル71の情報から、ストレージシステム8のRAID装置A30またはB31の何れかに障害が発生するなどして停止中だった場合には、動作中のRAID装置を選択して配信を指示する。更に、RAID装置が何れも動作中の場合で、映像毎録画ファイル管理テーブル74の情報から、RAID装置A30またはB31の何れかの録画状態が無効だった場合には、録画状態が有効なRAID装置を選択して配信を指示する。
【0055】
図8の(a)及び(b)は、ストレージシステム8内にRAID装置が2台存在する場合の録画(蓄積)動作及び配信動作の概要を表している。図8を参照して上記録画処理及び配信処理の具体的な動作について説明する。
【0056】
図8の(a)は、上記蓄積管理処理部50および蓄積配信処理部20による映像データの蓄積処理により、ストレージシステム8のRAID装置A30及びB31に映像データを蓄積した例を示す。図に示すように、蓄積処理では、入力された映像データを、固定時間長に分割した入力映像801〜805として管理し、RAID装置A30及びB31へそれぞれ蓄積する。ここで、固定時間長ファイル812は、映像データ802を蓄積中にRAID装置A30に何らかの障害が発生し、蓄積ファイルが正しく生成されなかった状態を示している。同様に、固定時間長ファイル824は、映像データ804を蓄積中にRAID装置B31に何らかの障害が発生し、蓄積ファイルが正しく生成されなかった状態を示している。それ以外は、RAID装置A30及びB31に同じ映像データを蓄積している。
【0057】
図8の(b)は、上記配信管理処理部60による映像データの配信処理の例を示す。図に示すように、配信処理では、ストレージシステム8のRAID装置A30及びB31に蓄積されている固定時間長ファイルのうち、何らかの障害のために正しく蓄積できなかった固定時間長ファイル812と824を避け、固定時間長ファイル822と814を配信ファイルとして選択する。また、それ以外は、読み出し負荷を考慮し、負荷の小さいRAID装置から固定時間長ファイルを選択する。これらの固定時間長ファイル831から835を時系列に連続して配信することにより、配信要求のあった映像データを配信することができる。
【0058】
このように、本例では、映像データの蓄積中に1台のRAID装置に何らかの障害が発生した場合でも、入力映像801〜805をいずれかのRAID装置に途切れることなく録画することができる。このため、配信の際には、正常に録画されたRAID装置の固定時間長ファイルを選択して使用することにより、映像データを正しく配信することができる。
【0059】
図9に複数台のRAID装置を用いた場合の配信性能を示す。
【0060】
図9の(a)は、書き込み負荷分散のために、複数台のRAID装置をファイバーチャンネル等によるデイジーチェーン接続した場合の構成例を示す。図9の(b)には、デイジーチェーン接続の場合において、6Mbps/台のカメラ映像データ20台分を同時蓄積(計120Mbps)、RAID装置の処理性能は、読み出しと書き込み合わせて200Mbps、RAID装置以外には障害要因は存在しないことを条件とした処理性能を示す。この場合、RAID装置の台数が増加するに従い、1台当りの書き込み負荷は減少し、逆に配信要求が1映像に集中した場合の読み出し性能は増加する。これは、同時蓄積対象のカメラ台数が増加した場合には、RAID装置の接続台数を増やせば良いことを示している。ただし、読み出し性能に関しては、1台あたりの性能に制約されるため、最大でも200Mbpsを超えることはない。
【0061】
図9の(c)は、本例のRAID装置を複数台接続した場合のストレージシステムの構成例を示す。図9の(d)は、図9(c)の構成において、図9(b)と同様の条件の下で負荷分散をする場合の処理性能を示す。この場合、映像配信要求が1つの映像に集中した場合に、図9(a)の構成よりも読み出し性能が増加することを示している。したがって、本発明のようにRAID装置を2から3と増やすことにより、読み出し性能を大幅に向上させることができる。
【0062】
以上のように、ストレージシステムの中に複数のRAID装置を設け、映像データの書き込み及び読み出しを行う蓄積配信処理部を設け、映像データの書き込み(蓄積)時には、その時点で蓄積可能な全RAID装置に対して同一の映像データの同時書き込み指示を行うことにより、映像データの蓄積中に1台のRAID装置に何らかの障害が発生した場合でも、入力映像をいずれかのRAID装置に途切れることなく録画することができる。一方、読み出し(配信)時には、有効な映像データを格納し、かつ読み出し負荷が最も小さいRAID装置に対して映像配信要求を行うことにより、1つの映像に対して配信要求が集中しても負荷分散により高い配信能力を有することが可能となる。このように、1つのRAID装置に障害が発生しても、残りの正常なRAID装置により、蓄積配信動作を継続できるので、信頼性の高い映像蓄積配信システムが構築可能となる。
【0063】
なお、本例では、ストレージシステム内のRAID装置を2台として構成しているが、更に、より高い信頼性を要求される場合には、RAID装置を3台、4台構成とすることができることは明らかである。
【図面の簡単な説明】
【0064】
【図1】本発明の一実施の形態による全体構成例を示すブロック図である。
【図2】本発明の一実施の形態による各処理部の構成例を示す説明図である。
【図3】本発明の一実施の形態による管理テーブル郡の構成例を示す説明図である。
【図4】本発明の一実施の形態による蓄積管理処理部の処理例を示すフローチャートである。
【図5】本発明の一実施の形態による蓄積配信処理部の処理例を示すフローチャートである。
【図6】本発明の一実施の形態による配信管理処理部の処理例を示すフローチャートである。
【図7】本発明の一実施の形態による指示電文の構成例を示す説明図である。
【図8】本発明の一実施の形態による映像データの蓄積処理及び配信処理の動作例を示す説明図である。
【図9】本発明の一実施の形態による配信性能を示す説明図である。
【符号の説明】
【0065】
1…カメラ、2…エンコーダ、3…IPネットワーク、4…クライアント、5…デコーダ、6…モニタ、7…監視端末、8…ストレージシステム、9…切換装置、10…蓄積配信管理部、20…蓄積配信処理部、30,31…RAID装置、40…GUI処理部、50…蓄積管理処理部、60…配信管理処理部、70…管理テーブル群、71…RAID装置死活状態管理テーブル、72…映像録画管理テーブル、73…録画映像配信管理テーブル、74…映像毎録画ファイル管理テーブル、75…RAID装置負荷状態管理テーブル、76…RAID装置情報管理テーブル、100…映像蓄積配信システム

【特許請求の範囲】
【請求項1】
映像データの蓄積及び配信の処理を行う蓄積配信処理部と、
映像データを記録する複数のRAID装置から構成するストレージシステムと、
前記ストレージシステムを管理する蓄積配信管理部と、
映像データの蓄積及び配信を指示する監視端末とから構成し、
IPネットワークに接続するクライアントからの要求に応じて、前記ストレージシステムに蓄積した映像データをIPネットワーク経由で配信する映像蓄積配信システムであって、
前記蓄積配信管理部の指示に応じて、固定時間長ファイルに分割した同一の映像データを前記各RAID装置にそれぞれ蓄積し、映像データの配信時には、映像データの保存状態と各RAID装置の配信負荷を基に、配信元のRAID装置を前記複数のRAID装置から選択し、分割した映像データを順次配信することを特徴する映像蓄積配信システム。
【請求項2】
請求項1記載の映像蓄積配信システムにおいて、
前記蓄積配信管理部は、
管理者が映像データの蓄積や配信操作を行う際に使用するユーザインターフェース処理部と、
前記ストレージシステム内の各RAID装置の死活状態に応じて、各RAID装置に同一映像データの蓄積を指示する蓄積管理処理部と、
配信要求時に前記ストレージシステム内のRAID装置のうち、映像データを正常に蓄積した装置を選択して用いる配信管理処理部と、
前記蓄積及び配信管理処理部で用いる管理テーブル群とから構成し、
前記蓄積管理処理部において、前記各RAID装置の死活状態を検知して記憶する手段を備え、記憶している各RAID装置の死活状態を基に正常動作中の各RAID装置に同一映像データを蓄積することを特徴とする映像蓄積配信システム。
【請求項3】
請求項2記載の映像蓄積配信システムにおいて、
前記配信管理処理部は、前記各RAID装置の配信状態および配信負荷を記憶する手段を備え、記憶している配信状態および配信負荷を基に、映像データを正常に蓄積したRAID装置のうち、配信負荷の低いRAID装置を選択して配信することを特徴とする映像蓄積配信システム。
【請求項4】
映像データを記録する複数のRAID装置を備えたストレージシステムを使用して、前記ストレージシステムに蓄積した映像データをIPネットワーク経由で配信する映像蓄積配信方法において、
映像データの蓄積時は、録画した映像データを固定時間長ファイルに分割し、
分割した同一の映像データを前記複数のRAID装置にそれぞれ蓄積し、
映像データの配信時には、映像データの保存状態と各RAID装置の配信負荷を基に、配信元のRAID装置を前記複数のRAID装置から選択し、
選択したRAID装置から、分割した映像データを順次配信することを特徴する映像蓄積配信方法。
【請求項5】
請求項4記載の映像蓄積配信方法において、
管理者が映像データの蓄積や配信操作を行う際に使用するユーザインターフェース処理と、
前記ストレージシステム内の各RAID装置の死活状態に応じて、各RAID装置に同一映像データの蓄積を指示する蓄積管理処理と、
配信要求時に前記ストレージシステム内の複数のRAID装置のうち、映像データを正常に蓄積した装置を選択して用いる配信管理処理と、
前記蓄積及び配信管理処理で用いる管理テーブル群作成処理とを行い、
前記蓄積管理処理として、前記各RAID装置の死活状態を検知して記憶し、
記憶している各RAID装置の死活状態を基に、正常動作中の各RAID装置に同一映像データを蓄積することを特徴とする映像蓄積配信方法。
【請求項6】
請求項5記載の映像蓄積配信方法において、
前記配信管理処理は、前記各RAID装置の配信状態および配信負荷を記憶し、
記憶している配信状態および配信負荷を基に、映像データを正常に蓄積したRAID装置のうち、配信負荷の低いRAID装置を選択して配信することを特徴とする映像蓄積配信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−117151(P2008−117151A)
【公開日】平成20年5月22日(2008.5.22)
【国際特許分類】
【出願番号】特願2006−299495(P2006−299495)
【出願日】平成18年11月2日(2006.11.2)
【出願人】(000153443)株式会社日立情報制御ソリューションズ (359)
【Fターム(参考)】