(57)【要約】      （修正有）【課題】システムを構成する複数台の映像管理装置の内の１台の故障が発生した場合でも映像管理システムの機能を維持する映像管理装置を提供する。【解決手段】複数のカメラ装置とカメラ装置からの映像を受信して記録する映像管理装置で構成される映像管理システムにおいて、分散合意プロトコルにより、複数台の映像管理装置からリーダを選択するリーダ選択手段を備え、リーダに選択された際の前記リーダ以外に送信するメッセージに、各映像管理装置の映像管理情報更新を行うためのデータを有することにより、故障の発生した映像管理装置からリーダ権限を委譲することにより、映像管理システムの機能を維持する。【選択図】図６
2019145973.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、カメラ装置の映像データを蓄積する複数台の映像管理装置からなる映像管理システムにおいて、
前記映像管理装置は、
前記映像データを受信する映像受信手段と、
前記ネットワーク内の複数台の映像管理装置の一覧を保有する監視テーブルと、
分散合意プロトコルにより前記複数台からリーダを選択するリーダ選択手段と、
前記リーダに選択された際に前記リーダ以外の映像管理装置を監視する監視手段とを備え、
前記分散合意プロトコルのリーダに選択された際の前記リーダ以外に送信するメッセージに、各映像管理装置の映像管理情報の更新を行うための管理情報データを有することを特徴とする映像管理システム。
【請求項２】
前記リーダに選択された以後の前記リーダが送信するハートビートのメッセージに各映像管理装置の映像管理情報更新を行うための管理情報データを有することを特徴とする請求項１に記載の映像管理システム。
【請求項３】
前記映像管理情報の更新を行うためのデータを受信した映像管理装置は、前記管理情報データ内にあらかじめ保有されている状態データを現在の状態データに書き換えることを特徴とする請求項１または２に記載の映像管理システム。
【請求項４】
前記状態データは、映像取得時刻、映像蓄積空き容量、受信映像数の情報を有することを特徴とする請求項３に記載の映像管理システム。
【請求項５】
映像データを受信する映像受信手段と、
ネットワーク内に接続されている複数の接続装置の一覧を保有する監視テーブルと、
前記監視テーブルに基づいて分散合意プロトコルにより前記複数の接続装置の中からリーダを選択するリーダ選択手段と、
前記リーダに選択された際に前記リーダ以外の前記接続装置を監視する監視手段を備えたことを特徴とする映像管理装置。
【請求項６】
前記リーダに選択された際の前記リーダ以外の前記接続装置に送信するメッセージに、映像管理情報の更新を行うための管理情報データを有することを特徴とする請求項５に記載の映像管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、カメラ装置からのデータを受信し、蓄積する映像管理システムおよび映像管理装置に関するものである。
【背景技術】
【０００２】
従来の映像管理システムにおいて、カメラ装置からのデータを受信し、及び蓄積処理を行う映像管理装置が故障した場合、別の映像管理装置でリカバリすることは様々な方法で実現されている。
その１つとして、１台のカメラ装置からの映像データを２台の映像管理装置で受信し、蓄積する方法がある。この場合、１台の映像管理装置が故障しても他の１台の映像管理装置で、データの受信、蓄積処理を継続させることができる。しかしながらこの構成ではカメラ装置台数の２倍の映像管理装置が必要となり、かつ映像管理システム全体の機能を維持するための映像管理装置の故障の許容台数は１台までとなる。これは１台のカメラ装置の映像データを受信をしている２台の映像管理装置の両方共が故障すると、そのカメラ装置の映像データを蓄積できなくなり、映像管理システムの機能を維持できなくなるからである。
【０００３】
他の方法としては、映像データを受信する映像管理装置の他に、その映像管理装置が故障した際の代替映像管理装置を決定するための監視装置を設ける手法がある。しかしこの方法では、カメラ装置台数の２倍の映像管理装置を用意していた場合、映像管理装置については「カメラ装置台数−１台」までの故障に耐えられるが、監視装置が故障した場合は映像管理システムの機能を維持することが困難となる。
【０００４】
映像管理システム以外でも、冗長化を実現する方法が提示されている。例えば、管理ノードで業務マッピングテーブルを管理し、これに基づきＮ台の処理ノードに分担して処理を行う負荷分散を実現している（例えば、特許文献１参照）。これは前述した監視装置による構成と変わらないため、管理ノードの故障で機能が維持できなくなる。
【０００５】
また、統括サブシステムで下位の複数のサブシステムを管理するものがある（例えば、特許文献２参照）。統括サブシステムとサブシステムの関係は再帰的になっており、サブシステム内部でも統括サブシステムと複数のサブシステムから構成されている。上位の統括サブシステムが故障した場合でも、下位のサブシステムの中の統括サブシステムが協調動作して、上位の統括サブシステムの機能を代行することでシステム動作を維持し続ける。上位の統括サブシステムと下位のサブシステムの監視にはハートビート等の監視機能を利用している。しかし、このような構成は、通信経路が閉ざされた場合に複数の統括サブシステムが互いの故障を検出して、互いに処理を代行しようとするスプリットブレイン問題を引き起こす可能性がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−２１４９６２号公報
【特許文献２】特開平１０−９７３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このように、従来のシステム構成では、数台の映像管理装置の故障、又は１台の監視装置の故障により映像管理システムの機能を維持できなくなる恐れがあった。また、サブシステムとこれを統括する統括サブシステムの構成としても、処理の代行について上述のような問題が生じ、代行させたい統括サブシステムに切り替えることが困難な場合があった。
本発明は、このような課題を解決するためになされたものであり、複数台の映像管理装置で構成される映像管理装置について、１台以上の映像管理装置の故障の際にも、映像管理システムの機能を維持できるとともに、監視用機能も損なわれることのない映像管理装置を目的とするものである。
【課題を解決するための手段】
【０００８】
この発明に係る映像管理システムは、ネットワークに接続され、カメラ装置の映像データを蓄積する複数台の映像管理装置からなるものであって、映像管理装置は、映像データを受信する映像受信手段と、ネットワーク内の複数台の映像管理装置の一覧を保有する監視テーブルと、分散合意プロトコルにより複数台からリーダを選択するリーダ選択手段と、リーダに選択された際にリーダ以外の映像管理装置を監視する監視手段とを備え、分散合意プロトコルのリーダに選択された際にリーダ以外に送信するメッセージに、各映像管理装置の映像管理情報の更新を行うためのデータを有することを特徴とする。
【発明の効果】
【０００９】
この発明によれば、システムを監視する映像管理装置の選択とともに映像管理情報が更新することができ、システム内の映像管理装置の監視を迅速かつ容易にできる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る映像管理システムの全体構成図である。
【図２】本発明の実施の形態１に係る映像管理装置の機能構成図である。
【図３】図２の監視テーブル１０４を説明するための図である。
【図４】図２の監視テーブル１０４を説明するための別の図である。
【図５】本発明の実施の形態１に係る映像管理装置のハードウエア構成図である。
【図６】本発明の実施の形態１に係る映像管理装置の送受信のチャート図である。
【図７】本発明の実施の形態１の映像管理情報データのデータ構造図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は本発明の実施の形態１の映像管理システムの全体構成図である。カメラ装置１が複数台、ネットワーク１０００に接続されている。例えば、カメラ装置１ａからカメラ装置１ｇで撮像された映像データは、ネットワーク１０００に接続された映像管理装置１０が、図１内破線で示すように１対１に対応して受信する。カメラ装置１の台数と映像管理装置１０の台数との関係は、映像管理装置１０の台数＞カメラ装置１の台数の関係にある。従って映像データを受信しない残りの映像管理装置１０ｈ〜１０ｚは、予備として接続されている。
【００１２】
図２は、本発明の実施の形態１の映像管理装置１０の機能構成図である。
映像受信機能１０１は、カメラ装置１から送信された映像データを受信して蓄積する。
監視機能１０２は、映像管理装置１０の故障の有無を検出する。例えば、映像管理装置１０ｃの故障を検出した場合、映像管理装置１０ｃが受信していたカメラ装置１ｃの映像データを、映像管理装置１０ｈで受信するなど、他の映像管理装置が代替して受信するように指示を出す。複数の映像管理装置の内、監視機能１０２が動作する映像管理装置は、システム中で１台のみとする。この１台を映像管理装置１０のリーダと呼ぶ。
【００１３】
リーダ選択機能１０３は、分散合意プロトコルによって、全ての映像管理装置１０の中から一台だけリーダを選択する機能である。リーダの選択は任意のタイミングで任意の映像管理装置が立候補することから始まる。1台の映像管理装置が立候補したとすると、他の映像管理装置にその旨を通知する。この通知に対する他の映像管理装置の返信において、映像管理装置がリーダとなることが認められれば、リーダと認められた映像管理装置の監視機能１０２を動作させる。リーダは任意のタイミングで辞任もできる。リーダとなった映像管理装置が故障してリーダ不在となった場合は、不在であることを認識した他の映像管理装置が立候補することにより、次のリーダの選定が行われる。即ち、映像管理装置１０の内、必ず１台がリーダとなり、そのリーダが故障しても、リーダ選択機能１０３により、次のリーダの選定が行われ、新たに選定されたリーダの映像管理装置１０の監視機能が動作する。これにより、映像管理システムの機能を維持できるとともに、映像管理システムの監視機能も損なわれることがない。
【００１４】
上述したような分散合意プロトコルについて以下に詳述する。
ネットワーク上で分散している複数のノード間で、ある命題に対する合意を得るための分散合意プロトコルの中で、もっとも有名なものはＰａｘｏｓである。これは、任意のノードの提案に他のノードが賛成、又は反対の票を投じる。賛成の票が過半数に達すればその提案は承認される、というものである。実施の形態１の分散合意プロトコルも基本的にはこの手順に基づいているが、映像管理装置についていかにこの分散合意プロトコルを実現するかにつき、送信メッセージの形態及びこのメッセージを使用したプロトコルの手順について以下に説明する。
【００１５】
図２中、監視テーブル１０４は、本プロトコルの通信対象となる映像管理装置１０の一覧を保存している。その例を図３に示す。これは７台の映像管理装置１０からなる場合の例である。図３において、例えば映像管理装置１０ａは、以後で説明するメッセージを、映像管理装置１０ｃ〜１０ｇに送ることを示している。即ち、一台の映像管理装置が５台の装置と通信する。図４は、一台の装置が６台の映像管理装置と通信する場合の監視テーブル１０４の例である。これはブロードキャストと同等となる。
【００１６】
このような機能を有する映像管理装置１０のハードウエアの一例を図５に示す。プロセッサ２０と記憶装置３０から構成され、図示していないが、記憶装置はランダムアクセスメモリ等の揮発性記憶装置と、フラッシュメモリ等の不揮発性の補助記憶装置とを具備する。また、フラッシュメモリの代わりにハードディスクの補助記憶装置を具備してもよい。プロセッサ２０は、記憶装置３０から入力されたプログラムを実行し、上述した機能の一部又は全部を遂行する。この場合、補助記憶装置から揮発性記憶装置を介してプロセッサ２０にプログラムが入力される。また、プロセッサ２０は、演算結果等のデータを記憶装置３０の揮発性記憶装置に出力してもよいし、揮発性記憶装置を介して補助記憶装置にデータを保存してもよい。
【００１７】
次に、映像管理装置１０が本プロトコルの中で利用する送信メッセージ（後述）に関するデータついて説明する。
（Ａ）データNは、映像管理装置１０がリーダ選定の指標とするために個別に保有する整数値である。初期値は０としてもよい。データNはプロトコル処理中に単純増加する。個々の映像管理装置が個別に保有するため、動作状況によっては、映像管理装置間で値が異なる場合もあり得る。説明のため、以後、映像管理装置１０ａのデータNをN1、映像管理装置１０ｃのデータNをN3とする。また、映像管理装置を特定できない場合はデータNiと記載する。
（Ｂ）リストQは、メッセージ送信の対象とする映像管理装置１０のリストであり、監視テーブルの定義によって決まる。例えば、図３中、映像管理装置１０ａのリストQ1は、
Q1＝{１０ｃ、１０ｄ、１０ｅ、１０ｆ、１０ｇ}
であり、映像管理装置１０ｂのリストQ2は、
Q2＝{１０ａ、１０ｄ、１０ｅ、１０ｆ、１０ｇ}
である。
（Ｃ）リーダとして選定された映像管理装置１０をデータLとして記録しておく。
【００１８】
上述したデータを使用したプロトコルによる動作を以下の３つのグループに分類して説明する。リーダに立候補した映像管理装置に応じてリストQ内の映像管理装置、及びリストQ外の映像管理装置が変更される。
（１）リーダに立候補した映像管理装置（以後、リーダ候補と称す）
（２）リーダ候補のリストQに含まれる映像管理装置（リストQ内の映像管理装置）
（３）リーダ候補のリストQに含まれない映像管理装置（リストQ以外の映像管理装置）
【００１９】
リーダ選択機能１０３で行われるリーダ選定時の処理動作を、図３の監視テーブル１０４の、リストQ1内の映像管理装置１０ｃ〜１０ｇを例にとり図６のメッセージの送受信を表すチャート図で説明するが、リストQ1以外も同様な手順の処理動作が行われる。
（１）リーダ候補の映像管理装置の処理動作
リーダ候補の映像管理装置１０ａは以下の処理を行う。
（ア）最初に送信メッセージ「候補」の意味を示すメッセージ、Prepare(N1+1)をリストQ1内の映像管理装置１０ｃ、１０ｄ、１０ｅ、１０ｆ、１０ｇに配信する（図６中、ステップＳ１）。
（イ）配信した相手からの応答メッセージを待つ。応答メッセージは、Ack(n)またはNack(n)で返信される。これ以後、nは引数を示している（ステップＳ２）。
（ウ）Ack(n)が返ってくると、nとN1+1とを比較する。N1+1=nであれば、映像管理装置１０ａの「候補」メッセージPrepareが承認されたものとする。
（エ）Nack(n)が返ってくると、N1+1＜nであれば、映像管理装置１０ａの「候補」メッセージPrepareは拒否されたものとする。
（オ）図３の場合、７台の映像管理装置の過半数である４台からのAckが返ってきて承認されていれば映像管理装置１０ａがリーダとなる。この際、N1を１増加する（N1=N1+1）。
（カ）映像管理装置１０ａは自分がリーダとなったことをリストQ1内の映像管理装置１０ｃ〜１０ｇに宣言するため、「宣言」の意味を示すメッセージAccepted!(N1,Q~,X)を送付する（ステップＳ３）。図３に示した例の場合、集合Q~はリストQ1の補集合から自身である映像管理装置１０ａを除いたものを示している。Accepted!のメッセージを受け取った映像管理装置１０ｃがリストQ1に含まれない映像管理装置１０ｂに対し「宣言」のメッセージであるAcceptedを送るために集合Q~の情報は必要である。ただし、図３のテーブルを全ての映像管理装置１０ａ〜１０ｇが保持しているのであれば集合Q~の送付をしなくてもよい。映像管理情報データXは、映像管理装置の映像の受信及び蓄積の最新情報を示したものであり、後述する。
（キ）承認するAckが過半数に達しない場合は、映像管理装置１０ａは、リーダになるのをあきらめる。この場合、受信した、Ack(n)またはNack(n)のnの内で、最大値を改めてN1とする。
【００２０】
（２）リーダ候補以外のリストQ1内の映像管理装置（例えば図３の映像管理装置１０ｃ）のリーダ選定時の処理動作の場合、
リーダ候補である映像管理装置１０ａからPrepare(n)メッセージが到着すると、以下の処理を行う。
（ア）すでに自分が他のリーダを認識していれば、Nack(N3)を返す（ステップＳ２）。
（イ）別の映像管理装置からの「候補」メッセージPrepare(n)に対してAck(n)を返している状態であれば、Nack(N3)を返す。
（ウ）N3=nであれば、Nack(N3)を返す。
（エ）そうでなければ、Ack(n)を返す。
（オ）「宣言」メッセージAccepted!(n,Q~,X)を受信すると、そのメッセージを送信してきた映像管理装置（ここでは映像管理装置１０ａ）がリーダである。データLとしてその映像管理装置を保存しておく（ステップＳ３）。N3≦nならば、N3=nとする。さらに、集合Q~中の映像管理装置のうち、リストQ1に含まれる、映像管理装置１０ｂに対し「宣言」メッセージAccepted(N3,null,X)を送付する（ステップＳ４）。
【００２１】
（３）リストQ1外の映像管理装置（本件の場合、映像管理装置１０ｂ）のリーダ選定時の処理動作は以下の通り。
リストQ1内の映像管理装置、例えば映像管理装置１０ｃから、「宣言」メッセージAccepted(N3,null,X)を受信した場合は、自分（映像管理装置１０ｂ）に対してPrepareのメッセージを送信してきた者以外の映像管理装置がリーダとして選定されたことを示している。この場合、N2=nとし、L=nullとする（ステップＳ４）。
【００２２】
以上映像管理装置１０ａがリーダになる場合を例に説明した。
このようなプロトコルにより、例えば、映像管理装置１０ａがリーダを宣言した後、映像管理装置１０ｂがリーダに立候補しようとした場合、映像管理装置１０ｂは、図３の監視テーブル１０４に従い、リストQ2の映像管理装置１０ａ、１０ｄ〜１０ｇに「候補」メッセージPrepare(n)を送信するが、リストQ2の全ての映像管理装置からNackが返送されるため、リーダにはなれない。
また、映像管理装置１０ａと映像管理装置１０ｂがほぼ同時にリーダに立候補した場合は、双方が監視テーブル１０４に従い、リストQ1とリストQ2内の映像管理装置にそれぞれ「候補」メッセージPrepare(n)を送信するが、送信が重なる映像管理装置１０ｄ〜１０ｇには、順番にメッセージが到着するため、映像管理装置１０ａまたは１０ｂのどちらか一方にAckを、もう一方にNackを返すことになる。このため、過半数のAckを取得したどちらか一方がリーダとなり、両方が同時にリーダとなることはない。
このように、どの映像管理装置でも任意のタイミングでリーダに立候補しても構わないし、既にリーダが存在する場合には他の誰もリーダになれず、必ず１台の映像管理装置がリーダに選定される。
【００２３】
リーダが選定された以後の各映像管理装置の処理を同様に分類して説明する。図３の監視テーブル１０４の、リストQ1内の映像管理装置１０ｃ〜１０ｇを例にとり、説明するが、リストQ1以外も同様な手順の処理動作が行われる。
（１）リーダである映像管理装置１０ａのリーダ選定以後の処理動作
（ア）一定周期でリストQ1内の映像管理装置１０ｃ〜１０ｇに対し、メッセージAccept(N1,Q~,X)をハートビートとして送信する。リストQ1内の映像管理装置１０ｃ〜１０ｇに対しリーダの存在を示すものとなる（図６中、ステップＳ５）。
（イ）その他、前述した映像管理装置の故障の際の他の映像管理装置への代替の指示など、リーダとしての管理を行う。
【００２４】
（２）リストQ1内の映像管理装置のリーダ選定以後の処理動作の処理を行う。
（ア）映像管理装置１０ａからのメッセージAccept(n,Q~,X)を受信すると、リーダが存在していることを示している（ステップＳ５）。後述する最新映像管理情報の更新処理を行う（ステップＳ７）。
（イ）集合Q~中の映像管理装置のうち、リストQ1に含まれる、映像管理装置１０ｂに対しメッセージを送信する（ステップＳ６）。
【００２５】
（３）リストQ1外の映像管理装置のリーダ選定以後の処理動作
リストQ1内の映像管理装置からメッセージAccept(n,null,X)を受信するとリストQ1内のリーダが存在していることを示している（ステップＳ６）。後述する最新の映像管理情報データXの更新処理を行う（ステップＳ７）。
【００２６】
リーダは任意のタイミングで辞任することができる。この場合の処理動作を以下に説明する。
（１）辞任する場合のリーダである映像管理装置１０ａの処理動作
ハートビートであるメッセージAccept(N1,Q~,X)の送信を停止する。
（２）リーダ辞任時のリストQ1内の映像管理装置の処理動作
Accept(N1,Q~,X)が一定時間受信できなかった場合は、リーダが存在しなくなった（異常停止又は辞任）ことを理解する。L=nullとする。
（３）リーダ辞任時のリストQ1外の映像管理装置の処理動作
Accept(N1,Q~,X)が一定時間受信できなかった場合は、リーダが存在しなくなった（異常停止又は辞任）ことを理解する。リーダ辞任に対する処理は特になにもしない。
【００２７】
次に、リーダから送信される、「宣言」メッセージAccepted!(N1,Q~,X)、Accepted(N3,null,X)、又はハートビートメッセージAccept(N1,Q~,X)内に付加されている映像管理情報データXの構造を図７に示す。
映像管理情報データXは映像管理装置の本来の業務である映像の受信及び蓄積に関する、映像の取得時刻４０、映像管理装置の映像蓄積のための空き容量５０、現受信映像数６０、などの現在情報を、全ての映像管理装置に対して保存し、各映像管理装置で共有するものである。
【００２８】
映像管理情報データXは、送受信されるメッセージに含まれて各映像管理装置間を受け渡される。映像管理情報データX中の各映像管理装置の状態は、以下の手段で更新される。
（１）映像管理情報データXを受け渡された映像管理装置は、自装置の動作状態に基づき、常に映像管理情報データX内の自装置の状態をアップデートしておく。
（２）メッセージに含まれる映像管理情報データX内の各映像管理装置の状態と、自装置が持っている映像管理装置の管理情報xの状態とを比較し、管理情報xの取得時刻が映像管理情報データXの取得時刻よりも新しければ、映像管理情報データXを管理情報xに基づいて更新する（図６中、ステップＳ７）。
（３）これら最新の映像管理情報データXをリーダに返送することによりリーダのデータXの内容が更新され、以後に送信される宣言メッセージ、又はハートビートメッセージと共に全ての映像管理装置につき更新された映像管理情報データXがリーダから他の映像管理装置に送信される。
この方式によって、各映像管理装置の現在状態が、リアルタイムではないにしろ現実的に許容できる範囲の遅延で共有が可能となり、さらに、リーダの映像管理装置に故障が生じても、次の映像管理装置がリーダとなり、リーダを宣言する際に、映像管理情報データXを含むメッセージを更新するため、映像管理情報データXの更新が途切れることがなく、システム内の映像管理装置の監視を迅速かつ容易に行うことが可能となる。
【００２９】
なお、この発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００３０】
１：カメラ装置、１０：映像管理装置、２０：プロセッサ、３０：記憶装置、
１０１：映像受信機能（映像受信手段）、１０２：監視機能（監視手段）、
１０３：リーダ選択機能（リーダ選択手段）、１０４：監視テーブル
【図１】
2019145973.tif 000003
【図２】
2019145973.tif 000004
【図３】
2019145973.tif 000005
【図４】
2019145973.tif 000006
【図５】
2019145973.tif 000007
【図６】
2019145973.tif 000008
【図７】
2019145973.tif 000009