(57)【要約】【課題】  サーバの負荷を、サーバのカメラ制御の特性を考慮して効率的に分散させることができる負荷分散装置を提供する。【解決手段】  カメラ制御の頻度が高い高頻度サーバが制御するカメラのうち、カウンタ２７２のカウントした制御回数が所定値よりも多いカメラであって、カメラ制御を実施中ではない高頻度振分けカメラを検出する処理を所定時間ごとに繰り返すと共に、カメラ制御の頻度が低い低頻度サーバが制御対象とするカメラのうち、制御回数が所定値以下の小さいカメラを低頻度振分けカメラとして検出するサーバ選択部２７３、カメラ制御中判定部２７４、振分け対象カメラ選択部２７５と、高頻度振分けカメラの制御を低頻度サーバに変更し、低頻度振分けカメラの制御を高頻度サーバに変更する制御対象カメラ変更部２７６と、カメラと、カメラを制御するサーバとを関連付けるテーブルを作成するセッション管理テーブル作成部２７７とを有している。【選択図】        図３
2013196235.tif 000002
【特許請求の範囲】
【請求項１】
カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、
サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、
前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、
前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、
前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、
前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第３検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、
カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と、
前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段とを備えることを特徴とする負荷分散装置。
【請求項２】
カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第３検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段とを備える負荷分散装置と、
前記負荷分散装置から送信された管理テーブルを受信し、受信した管理テーブルに指定されたカメラを制御する、複数のカメラ管理サーバとを有することを特徴とする負荷分散システム。
【請求項３】
コンピュータを、
カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、
サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、
前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、
前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、
前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、
前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第３検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、
カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と、
前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段として機能させるためのプログラム。
【請求項４】
コンピュータにより実行される負荷分散方法であって、
カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数ステップと、
サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出ステップと、
前記算出ステップで算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出ステップと、
前記第１検出ステップで検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数ステップの計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出ステップと、
前記第１検出ステップで検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数ステップで計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出ステップと、
前記第２検出ステップで検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第３検出ステップで検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出ステップでカメラを検出する処理を行うごとに行う変更ステップと、
カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成するステップであって、前記変更ステップで変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成ステップと、
前記管理テーブル作成ステップで作成した管理テーブルを前記各サーバに送信する送信ステップとを有することを特徴とする負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、負荷分散装置、負荷分散システム、プログラム及び方法に関する。
【背景技術】
【０００２】
通信技術の発達により、多数のユーザが、カメラをネットワークを介して制御し、カメラの撮影した映像を見ることができるようになってきている。ネットワークを介してユーザ端末と接続したサーバは、ユーザの操作入力を受け付けて、ユーザの指定するカメラの向きや画角などを制御する。
【０００３】
多数のユーザがカメラを制御できるようになると、カメラへのアクセスが集中した場合に、アクセスが集中するカメラを多数制御するサーバの負荷が増大し、応答遅延等の問題が生じる。特許文献１には、サーバの負荷を分散させる方法の一例が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２５０５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、サーバによるカメラ制御の場合、カメラを複数台のサーバで制御することはできず、カメラが制御を受けるサーバの台数は１台と決められている。また、カメラがサーバの制御を受けている最中に、制御を受けているカメラの制御担当を他のサーバに変更することはできない。
【０００６】
本発明は上記事情に鑑みてなされたものであり、サーバの負荷を、サーバのカメラ制御の特性を考慮して効率的に分散させることができる負荷分散装置、負荷分散システム、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本明細書に記載の負荷分散装置は、カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第２検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と、前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段とを備える。
【０００８】
本明細書に記載の負荷分散システムは、カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第２検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段とを備える負荷分散装置と、前記負荷分散装置から送信された管理テーブルを受信し、受信した管理テーブルに指定されたカメラを制御する、複数のカメラ管理サーバとを備える。
【０００９】
本明細書に記載のプログラムは、コンピュータを、カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第２検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と、前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段として機能させる。
【００１０】
本明細書に記載の負荷分散方法は、コンピュータにより実行される負荷分散方法であって、カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数ステップと、サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出ステップと、前記算出ステップで算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出ステップと、前記第１検出ステップで検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数ステップの計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出ステップと、前記第１検出ステップで検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数ステップで計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出ステップと、前記第２検出ステップで検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第２検出ステップで検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出ステップでカメラを検出する処理を行うごとに行う変更ステップと、カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成するステップであって、前記変更ステップで変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成ステップと、前記管理テーブル作成ステップで作成した管理テーブルを前記各サーバに送信する送信ステップとを有している。
【発明の効果】
【００１１】
本明細書に記載の負荷分散装置、負荷分散システム、プログラム及び方法は、サーバの負荷を、サーバのカメラ制御の特性を考慮して効率的に分散させる、という効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】システム構成の一例を示す図である。
【図２】負荷分散装置のハードウェア構成の一例を示す図である。
【図３】ソフトウェアとハードウェアとの協働によって実現される機能をブロック化した機能ブロック図の一例を示す図である。
【図４】カメラオン管理テーブルの一例を示す図である。
【図５】セッション管理テーブルの一例を示す図である。
【図６】負荷分散処理を行う前の各カメラ管理サーバと、各カメラ管理サーバが制御するカメラとの関係を模式的に示した図である。
【図７】負荷分散処理後の各カメラ管理サーバと、各カメラ管理サーバが制御するカメラとの関係を模式的に示した図である。
【図８】カメラ管理サーバ３００Ｂが制御するカメラ５６２の操作を、他のカメラ管理サーバ３００Ａ、３００Ｃに接続した端末から行う場合について説明するための図である。
【図９】カメラ管理サーバの構成の一例を示す図である。
【図１０】負荷分散装置の制御部の制御手順の全体の概略を示すフローチャートである。
【図１１】制御回数カウント処理の詳細な手順を示すフローチャートである。
【図１２】負荷分散解析処理の詳細な手順を示すフローチャートである。
【図１３】負荷分散解析処理の詳細な手順を示すフローチャートであって、図１２の続きの手順を示すフローチャートである。
【図１４】リトライ処理の詳細な手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
添付図面を参照しながら本発明の好適な実施例を説明する。
【００１４】
図１に、負荷分散システムの構成の一例を示す。図１に示す負荷分散システムは、本システムを利用する複数のユーザの端末１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ・・・と、負荷分散装置２００と、複数のカメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃ・・・と、複数のカメラ５０１〜５２０、５３１〜５５０、５６１〜５８０、・・・とを備えている。
なお、図１には、４つの端末１００Ａ、１００Ｂ、１００Ｃ、１００Ｄを示しているが、端末の数は４つに限定されるものではない。また、各端末１００Ａ、１００Ｂ、１００Ｃ、１００Ｄを特に区別する必要がない場合には、端末１００と表記する。同様に、図１には、３台のカメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃを示しているが、カメラ管理サーバの台数は３台に限定されない。また、カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃも特に区別する必要がない場合には、カメラ管理サーバ３００と表記する。
また、図１に示す例では、カメラ管理サーバ３００Ａがカメラ５０１〜５２０の制御を担当し、カメラ管理サーバ３００Ｂがカメラ５３１〜５５０の制御を担当し、カメラ管理サーバ３００Ｃがカメラ５６１〜５８０の制御を担当している。しかし、各カメラ管理サーバ３００が制御を担当するカメラは固定ではなく、負荷分散装置２００が各カメラ管理サーバ３００の負荷を判定して、各カメラ管理サーバ３００が制御を担当するカメラを変更する。
また、図１には、各カメラ管理サーバ３００がそれぞれ２０台のカメラを制御する場合を示しているが、カメラを制御する台数は２０台に限定されるものではない。各カメラ管理サーバ３００がカメラ制御を行うカメラの台数は、２０台よりも多くても、少なくてもよい。なお、各カメラ５０１〜５２０、５３１〜５５０、５６１〜５８０を区別する必要がない場合には、カメラと表記する。
また、カメラ制御とは、カメラの向きや画角の制御をいうものとする。
【００１５】
端末１００と負荷分散装置２００とはＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、ＰＳＴＮ（Public Switched Telephone Networks：公衆交換電話網）、インターネット等のネットワーク１５０で接続されている。また、複数のカメラ管理サーバ３００と、複数のカメラとの間もＬＡＮ、ＷＡＮ等のネットワーク６００で接続されている。
また、図１に示す例では、負荷分散装置２００と、各カメラ管理サーバ３００とをそれぞれ専用の通信回線で接続した場合を示しているが、ＬＡＮ、ＷＡＮ等のネットワーク回線で接続するものであってもよい。また、カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃ間も専用の通信回線で接続しているが、ネットワーク回線で接続するものであってもよい。
【００１６】
次に、図２を参照しながら負荷分散装置２００のハードウェア構成の一例を説明する。
負荷分散装置２００は、ハードウェアとして、制御部２１０、ネットワークインターフェース２２０、通信インターフェース２３０、操作部２４１、入力インターフェース２４２、グラフィックインターフェース２５１、表示部２５２、ハードディスク装置２６０を備える。また、制御部２１０は、ＣＰＵ（Central Processing Unit）２１１、ＲＯＭ（Read Only Memory）２１２、ＲＡＭ（Random Access Memory）２１３を備える。
【００１７】
まず、制御部２１０について説明する。ＲＯＭ２１２には、ＣＰＵ２１１が制御に使用する制御プログラムが記録されており、ＣＰＵ２１１は、起動すると、制御プログラムをＲＯＭ２１２から読み出してＲＡＭ２１３に記憶させる。ＣＰＵ２１１は、ＲＡＭ２１３に記憶させた制御プログラムに従ってデータの演算処理を行う。ＲＡＭ２１３は、ＣＰＵ２１１のワークメモリとして使用され、ＣＰＵ２１１が演算に使用するデータや、ＣＰＵ２１１による演算後のデータ等が記憶される。ＣＰＵ２１１、ＲＡＭ２１３などのハードウェアと、ＲＯＭ２１２に記憶したプログラムとの協働によって実現される機能ブロックについては、図３を参照しながら後述する。
【００１８】
ネットワークインターフェース２２０は、制御部２１０の制御に従って、ネットワーク１５０に接続し、端末１００と通信を行う。
【００１９】
通信インターフェース２３０は、各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃにそれぞれ接続した通信回線に接続し、制御部２１０の制御に従って各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃとデータの送受信を行う。負荷分散装置２００から各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃには、セッション管理テーブル（後述する）が送信される。また、各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃから負荷分散装置２００には、各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃが制御する各カメラの制御状態を示す情報がデータとして送信される。
【００２０】
操作部２４１は、ユーザによって入力される操作情報を受け付ける受付部である。操作部２４１で入力を受け付けた操作情報は、入力インターフェース２４２を介して制御部２１０に送られる。
【００２１】
グラフィックインターフェース２５１は、制御部２１０で処理されたグラフィックデータを表示部２５２に表示させるためのインターフェースであり、表示部２５２に表示させるためにグラフィックデータを波形電気信号に変換する。
【００２２】
ハードディスク装置（図２には、ＨＤＤと表記する）２６０は、データを記憶する記憶装置である。ハードディスク装置２６０は、例えば、ＲＡＭ２１３に記憶しているデータであって、負荷分散装置２００の電源をオフする場合に保存しておく必要のあるデータを記憶する。
【００２３】
次に、図３を参照しながら制御部２１０の備える機能ブロックについて説明する。機能ブロックとは、制御部２１０の備えるＣＰＵ２１１、ＲＡＭ２１３などのハードウェアと、ＲＯＭ２１２に記憶したプログラムとの協働によって実現される機能を一定の機能ごとにまとめたブロックである。
制御部２１０は、送受信部２７１、カウンタ２７２、サーバ選択部２７３、カメラ制御中判定部２７４、振分け対象カメラ選択部２７５、制御対象カメラ変更部２７６、セッション管理テーブル作成部２７７を機能ブロック２７０として備える。制御部２１０は、各カメラ管理サーバ３００のカメラ制御の負荷を判定して、カメラ管理サーバ３００が制御を担当するカメラを割り当てる、負荷分散解析処理を行う。
【００２４】
送受信部２７１は、セッション管理テーブル作成部２７７により作成され、ＲＡＭ２１３に記憶されているセッション管理テーブルを各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃに送信する。また、送受信部２７１は、各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃから送信される、各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃの制御するカメラの制御状態を示す情報を受信してＲＡＭ２１３に記憶させる。
【００２５】
カウンタ２７２は、事前に設定された計測時間Ｔの間に、各カメラ管理サーバ３００が制御対象の各カメラを制御した回数（以下、制御回数という）をカメラごとにカウントする。カウンタ２７２は、カウントした各カメラの制御回数をＲＡＭ２１３に記録する。計測時間Ｔは、ユーザからのカメラの操作要求の頻度に応じて、例えば、１時間、３時間、５時間、１日等適宜変更することができる。なお、カウンタ２７２は、計測時間Ｔを経過すると、カウント値をリセットして、再度、計測時間Ｔの間、各カメラの制御回数をカウントする。
ここで、制御回数について説明する。一例として、カメラ管理サーバ３００Ａが端末１００Ａからカメラ５０１の操作要求を受け付けた場合を例にして説明する。カメラ管理サーバ３００Ａは、端末１００Ａから操作要求を受け付けると、受け付けた操作要求によって指定されたカメラ５０１を、端末１００Ａから送られる操作指示に従って制御する状態（以下、制御状態と呼ぶ）とする。この制御状態では、カメラ管理サーバ３００Ａは、他の端末１００からカメラ５０１の操作要求を受け付けても、他の端末１００のカメラ５０１に対する操作要求を拒否する。又は、カメラ管理サーバ３００Ａは、他の端末１００からカメラ５０１の操作要求を受け付けた場合に、他の端末１００に、カメラ５０１は使用中であるから所定時間待機するように指示する要求を送信してもよい。
また、カメラ管理サーバ３００Ａは、カメラ５０１を制御状態としている端末１００Ａから操作終了要求を受け付けると、カメラ５０１の制御状態を解除する。その後、カメラ管理サーバ３００Ａは、他の端末１００からのカメラ５０１に対する操作要求を受け付け可能な状態となる。
カメラ管理サーバ３００Ａは、端末１００からの操作要求を受け付けて、この操作要求で指定されたカメラを制御状態とした場合に、負荷分散装置２００に制御開始通知を送信する。この制御開始通知には、カメラを制御状態とした旨と、制御状態としたカメラの識別情報と、カメラ管理サーバ３００の識別情報とが含まれる。また、カメラ管理サーバ３００は、カメラの制御状態を解除した場合には、負荷分散装置２００に、制御終了通知を送信する。この制御終了通知には、カメラの制御状態を解消して終了させた旨と、制御状態を解消したカメラの識別情報と、カメラ管理サーバ３００の識別情報とが含まれる。
カウンタ２７２は、カメラ管理サーバ３００から通知される制御開始通知と、制御終了通知とにより、各カメラ管理サーバ３００による各カメラの制御状況を認識する。また、カウンタ２７２は、カメラ管理サーバ３００から制御開始通知を受信してから制御終了通知を受信するまでを、カメラ管理サーバ３００がカメラを制御する１単位としてカウントする。すなわち、カウンタ２７２は、カメラ管理サーバ３００から制御開始通知と、制御終了通知とを受信することにより、該当するカメラの制御回数のカウント値を１加算する。ＲＡＭ２１３には、各カメラ管理サーバ３００がカメラを制御する頻度を管理する頻度管理テーブル（後述する）が作成されている。カウンタ２７２は、各カメラ管理サーバ３００の通知に従って、各カメラ管理サーバ３００が制御する各カメラの制御回数をＲＡＭ２１３に記録する。
【００２６】
カウンタ２７２による制御回数のカウント方法は、上述の方法以外に、制御状態に設定されたカメラに対して、端末１００から送信される操作指示に従いカメラ管理サーバ３００がカメラを実際に制御した回数をカウントするものであってもよい。例えば、端末１００から送信されたズーム、撮影範囲を右側に移動させる指示等に従って、カメラ管理サーバ３００がカメラをズームに設定したり、撮影範囲を右側に移動させた１つ１つの制御を１回の制御回数としてカウントしてもよい。
【００２７】
次に、サーバ選択部２７３について説明する。サーバ選択部２７３は、まず、各カメラ管理サーバ３００が制御対象のカメラを制御した頻度をカメラ管理サーバ３００ごとに算出する。頻度の算出は、例えば、カメラ管理サーバ３００ごとに、制御対象の全カメラを制御した制御回数を加算して、加算値を各カメラ管理サーバ３００が制御するカメラ台数で除算する。除算結果である制御回数の平均値を頻度とする方法が挙げられる。また、制御回数ではなく制御時間で各カメラ管理サーバ３００が制御対象のカメラを制御した頻度を判定してもよい。例えば、各カメラが制御状態にあった時間を計測時間Ｔに対する割合で算出し、算出した割合の平均値をカメラ管理サーバごとに算出してもよい。この場合、カウンタ２７２は、各カメラの制御回数をカウントするのではなく、制御時間を計時することとなる。また、各カメラ管理サーバ３００のカメラ制御の頻度として、制御回数が所定値以上のカメラの数を使用してもよい。例えば、制御回数が所定値以上のカメラ（この説明では、高頻度カメラという）の数をカメラ管理サーバ３００ごとに求める。そして、処理対象のカメラ管理サーバ３００を選択し、選択したカメラ管理サーバ３００の高頻度カメラ数と、選択したカメラ管理サーバ以外のカメラ管理サーバ３００の、高頻度カメラ数の平均値とを比較する。選択したカメラ管理サーバ３００の高頻度カメラ数が、他のカメラ管理サーバ３００の高頻度カメラ数の平均値よりも多い場合に、選択したカメラ管理サーバ３００を頻度が第１しきい値よりも大きいカメラ管理サーバ３００と判定する。
【００２８】
次に、サーバ選択部２７３は、算出した頻度が、第１しきい値よりも大きいカメラ管理サーバ３００と、算出した頻度が、第１しきい値と同値か第１しきい値よりも小さい第２しきい値よりも小さいカメラ管理サーバ３００とを検出する。なお、以下では、サーバ選択部２７３によって、頻度が第１しきい値よりも大きいと判定されたカメラ管理サーバ３００を高頻度サーバと呼ぶ。また、頻度が第２しきい値よりも小さいと判定されたカメラ管理サーバ３００を低頻度サーバと呼ぶ。また、サーバ選択部２７３は、高頻度サーバが制御対象とするカメラのうち、カウンタ２７２のカウントした制御回数が第３しきい値よりも大きいカメラを検出する。同様に、サーバ選択部２７３は、低頻度サーバが制御対象とするカメラのうち、カウンタ２７２のカウントした制御回数が第４しきい値よりも小さいカメラを検出する。
【００２９】
サーバ選択部２７３が高頻度サーバと低頻度サーバとを選択する処理についてより具体的に説明する。なお、以下では、各カメラ管理サーバ３００が制御対象のカメラを制御した頻度を判断するための判断材料として、上述した制御回数の平均値を算出する場合を例として説明する。
まず、サーバ選択部２７３は、カウンタ２７２がカウントした、各カメラの制御回数（以下、最新制御回数と呼ぶ）をＲＡＭ２１３から読み出す。なお、ＲＡＭ２１３には、最新制御回数の他に、過去に算出された、各カメラの制御回数の平均値（以下、平均制御回数と呼ぶ）が記録されている。平均制御回数は、カウンタ２７２が計測時間Ｔ毎にカウントした、各カメラの制御回数の平均値を各カメラごとに求めたものである。サーバ選択部２７３は、カウンタ２７２のカウントした各カメラの最新制御回数から、対応するカメラの平均制御回数を減算し、減算した値を制御回数差分としてＲＡＭ２１３に記録する。
また、サーバ選択部２７３は、ＲＡＭ２１３から読み出した各カメラの最新制御回数を使用して、各カメラ管理サーバ３００の制御回数の平均値を算出する。サーバ選択部２７３は、同一のカメラ管理サーバ３００の制御を受けるカメラの最新制御回数を加算し、加算値を、同一のカメラ管理サーバ３００の制御を受けるカメラの台数で除算して、平均値をカメラ管理サーバ３００ごとに算出する。この各カメラ管理サーバ３００の制御回数の平均値を、最新制御回数平均値と呼ぶ。
表１に、ＲＡＭ２１３に記録された、カメラ管理サーバ３００Ａのデータを管理する頻度管理テーブルの一例を示す。表２に、ＲＡＭ２１３に記録された、カメラ管理サーバ３００Ｂのデータを管理する頻度管理テーブルの一例を示す。表３に、ＲＡＭ２１３に記録された、カメラ管理サーバ３００Ｃのデータを管理する頻度管理テーブルの一例を示す。
【００３０】
【表１】
2013196235.tif 000003
【００３１】
【表２】
2013196235.tif 000004
【００３２】
【表３】
2013196235.tif 000005
【００３３】
表１、２、３に示す各頻度管理テーブルには、カメラを識別するカメラ番号（表には、カメラＮＯと表記する）に、平均制御回数と、最新制御回数と、制御回数差分とが対応付けて記録されている。
また、各頻度管理テーブルには、最新制御回数平均値と、振分け対象カメラフラグと、振分け対象サーバフラグとが記録されている。なお、振分け対象カメラフラグとは、各カメラごとに記録される情報であって、該当のカメラが後述する判定処理により振分け対象カメラであると判定された場合にオンされるフラグである。振分け対象カメラについては後述する。
また、振分け対象サーバフラグは、各カメラ管理サーバ３００ごとに記録される情報である。該当するカメラ管理サーバ３００が制御するカメラであって、振分け対象カメラフラグがオンのカメラ数が所定の条件を満たしている場合にオンされるフラグである。振分け対象カメラフラグの詳細についても後述する。
【００３４】
次に、サーバ選択部２７３は、カメラの制御回数差分が、このカメラを制御するカメラ管理サーバ３００の最新制御回数平均値よりも大きいカメラの数をカメラ管理サーバ３００毎に算出する。なお、以下では、制御回数差分が、最新制御回数平均値よりも大きいカメラを振分け候補カメラと呼ぶ。この最新制御回数平均値が本発明の第３しきい値と第４しきい値とに該当する。サーバ選択部２７３は、各カメラ管理サーバ３００の振分け候補カメラを検出すると、振分け候補カメラとして検出したカメラ数が最大のカメラ管理サーバ３００を選択する。選択したカメラ管理サーバ３００を、以下ではMax_Sサーバと呼び、このMax_Sサーバの振分け候補カメラ数をMax_Cと呼ぶ。
なお、本実施例では、第３しきい値と第４しきい値とに同じ最新制御回数平均値を使用する場合について説明するが、第４しきい値は、第３しきい値よりも小さい値を使用してもよい。また、本実施例では、制御回数差分と最新制御回数平均値とを比較して振分け候補カメラを検出しているが、カウンタ２７２のカウントした制御回数と最新制御回数平均値とを比較して、振分け候補カメラを検出してもよい。また、第３しきい値、第４しきい値として、最新制御回数平均値を使用しているが、事前に決められた固定値を使用してもよい。例えば、第３しきい値を「３」とし、第４しきい値を「１」とすることもできる。
【００３５】
次に、サーバ選択部２７３は、振分け候補カメラ数Max_Cが１よりも大きいか否か（以下、第１判定条件と呼ぶ）を判定する。また、サーバ選択部２７３は、Max_Sサーバの振分け候補カメラ数Max_Cが、他のカメラ管理サーバ３００の振分け候補カメラ数の平均値よりも大きいか否か（以下、第２判定要件と呼ぶ）を判定する。
なお、上記第１判定条件の「１」と、第２判定条件の「他のカメラ管理サーバ３００の振分け候補カメラ数の平均値」とが、本発明の第１しきい値及び第２しきい値に該当する。また、振分け候補カメラ数Max_Cが、カメラ管理サーバ３００のカメラ制御の頻度に該当する。また、この例では、第１しきい値と第２しきい値とに同一のしきい値を使用する場合について説明するが、第１しきい値と第２しきい値とは値の異なる値であってもよい。例えば、第１しきい値を「３」、第２しきい値を「１」とし、第１しきい値、第２しきい値として事前に決められた固定値を使用してもよい。
第１判定条件を満たし、第２判定条件を満たしたカメラ管理サーバ３００が、高頻度サーバとして選択され、振分け対象サーバフラグがオンされる。また、振分け対象サーバフラグがオンされたカメラ管理サーバ３００が制御する振分け候補カメラを振分け対象カメラとし、振分け対象カメラフラグがオンされる。
また、第１判定条件と第２判定条件とのうち、少なくとも１つの判定条件を満たさないMax_Sサーバは、高頻度サーバには選出されない。このため、Max_Sサーバの振分け対象サーバフラグはオンされず、Max_Sサーバが制御を行う振分け候補カメラの振分け対象カメラフラグもオンされない。なお、Max_Sサーバに対する処理が終了すると、このMax_Sサーバを処理対象から除外し、他のカメラ管理サーバ３００の中から次のMax_Sサーバを選出する処理を行う。Max_Sサーバの選出と、選出したMax_Sサーバを振分け対象サーバとして選択するか否かの判定は、振分け候補カメラ数が１よりも大きいカメラ管理サーバ３００が存在しなくなるまで繰り返される。このため、振分け対象サーバフラグがオンされるカメラ管理サーバ３００の数は複数になる場合がある。Max_Sサーバに選出されたが振分け対象サーバフラグがオンされなかったカメラ管理サーバ３００と、振分け候補カメラ数が１以下のカメラ管理サーバ３００とを低頻度サーバと呼ぶ。
【００３６】
カメラ制御中判定部２７４は、振分け対象カメラが、端末１００からの操作要求によって制御状態にあるか否かを判定する。上述のように負荷分散装置２００には、各カメラ管理サーバ３００から制御開始通知と制御終了通知とが送信されてくる。カメラ制御中判定部２７４は、これらの情報に基づいて、振分け対象カメラが制御状態にあるか否かを判定する。なお、カメラ制御中判定部２７４は、振分け対象カメラが制御状態にあるか否かを判定する処理を所定時間ごとに複数回繰り返す。カメラが制御状態にあるか否かを判定する処理を繰り返す回数については、複数回であればよく、２回でも３回でもよい。
図４には、サーバ選択部２７３によってＲＡＭ２１３に作成される、振分け対象カメラを別途管理するカメラオン管理テーブルの一例を示す。図４に示すカメラオン管理テーブルでは、振分け対象カメラのカメラ番号に対応付けて、最新制御回数と、カメラが制御状態にあるか否かを示すフラグとが記録される。以下、このフラグをカメラ制御中フラグと呼ぶ。また、このカメラオン管理テーブルでは、最新制御回数が多いカメラの順にカメラの情報（カメラ番号、最新制御回数カメラ制御中フラグ）が記録される。カメラ制御中判定部２７４は、制御状態にあると判定したカメラのカメラ制御中フラグをオンに変更する。
【００３７】
振分け対象カメラ選択部２７５は、図４に示すカメラオン管理テーブルを参照して、振分け対象カメラの中から処理を行うカメラを選択する。振分け対象カメラ選択部２７５は、振分け対象カメラフラグがオンのカメラであって（すなわち、カメラオン管理テーブルに登録されたカメラ）、カメラ制御中フラグがオフのカメラのうち、最新制御回数が最多のものを選択する。選択したカメラを高頻度振分けカメラと呼ぶ。
また、振分け対象カメラ選択部２７５は、高頻度振分けカメラを制御している高頻度サーバが、この高頻度振分けカメラに替えて制御するカメラを選択する。このカメラを低頻度振分けカメラと呼ぶ。振分け対象カメラ選択部２７５は、低頻度サーバ（振分け対象サーバフラグがオフのサーバ）の最新制御回数平均値を比較して、最新制御回数平均値が最小のカメラ管理サーバ３００を選択する。次に、振分け対象カメラ選択部２７５は、選択したカメラ管理サーバ３００が制御するカメラのうち、最新制御回数が最も小さいカメラを低頻度振分けカメラとして選択する。なお、低頻度振分けカメラを選択する際に、制御状態にあるカメラであるか否かを考慮して低頻度振分けカメラを選択してもよい。すなわち、最新制御回数が最も小さく、カメラ制御中フラグがオフのカメラを低頻度振分けカメラとして選択する。また、カメラ管理サーバ３００からの制御を受ける頻度が低いカメラの場合、制御状態にある確率は低いので、カメラが制御状態にあるか否かを考慮せずに、低頻度振分けカメラを選択してもよい。
【００３８】
制御対象カメラ変更部２７６は、高頻度振分けカメラの制御担当を、低頻度振分けカメラを制御していた低頻度サーバに変更する。また、低頻度振分けカメラの制御担当を、高頻度振分けカメラを制御していた高頻度サーバに変更する。具体的には、表１〜３に示す頻度管理テーブルに記録しているデータを書き換える処理を行う。
【００３９】
また、振分け対象カメラ選択部２７５は、高頻度振分けカメラと低頻度振分けカメラの選択が終了すると、選択した高頻度振分けカメラ以外の振分け対象カメラに、振分け対象カメラフラグがオンであって、カメラ制御中フラグがオフのカメラがあるか否かを判定する。振分け対象カメラフラグがオンであって、カメラ制御中フラグがオフのカメラが残っている場合には、この振分け対象カメラの中で最新制御回数が最多のものを高頻度振分けカメラとして選択し、さらに上述のように低頻度振分けカメラを選択する。
なお、振分け対象カメラ選択部２７５は、高頻度振分けカメラと低頻度振分けカメラとの選択を、振分け対象カメラフラグがオンであって、カメラ制御中フラグがオフのカメラを高頻度振分けカメラとして選択するまで処理を繰り返す。制御対象カメラ変更部２７６は、振分け対象カメラ選択部２７５が、高頻度振分けカメラと低頻度振分けカメラとを選択する毎に、頻度管理テーブルのデータの書き換えを行う。
【００４０】
さらに、振分け対象カメラ選択部２７５は、カメラ制御中判定部２７４が上述の処理を所定時間ごとに行うと、図４に示すカメラオン管理テーブルを参照して振分け対象カメラフラグがオンであって、カメラ制御中フラグがオフのカメラがあるか否かを判定する。振分け対象カメラ選択部２７５は、カメラ制御中フラグがオンからオフに変更されたカメラを検出した場合、上述のように、高頻度振分けカメラと低頻度振分けカメラとの選択を行う。振分け対象カメラ選択部２７５によって高頻度振分けカメラと低頻度振分けカメラとが選択されると、制御対象カメラ変更部２７６は、上述のように、これらのカメラを制御するカメラ管理サーバ３００の担当を入れ替える処理を行う。
【００４１】
セッション管理テーブル作成部２７７は、セッション管理テーブルを作成する。
セッション管理テーブルは、各カメラ管理サーバ３００と、各カメラ管理サーバ３００が制御するカメラとの対応関係を管理するテーブルである。セッション管理テーブル作成部２７７は、振分け対象カメラ選択部２７５によって変更された、カメラ管理サーバ３００と、このカメラ管理サーバ３００が制御するカメラとの対応関係をセッション管理テーブルに記録する。図５にセッション管理テーブルの一例を示す。セッション管理テーブル作成部２７７は、作成したセッション管理テーブルをＲＡＭ２１３に記録する。
【００４２】
ＲＡＭ２１３に記録されたセッション管理テーブルは、送受信部２７１によってＲＡＭ２１３から読み出され、各カメラ管理サーバ３００に送信される。
【００４３】
具体例を挙げて説明する。振分け対象カメラフラグがオンとなるカメラが、表４に示すカメラ管理サーバ３００Ｃのカメラ５６１〜５６５であるとする。
カメラ５６１〜５６５は、制御回数差分が最新制御回数平均値よりも大きいため、カメラ５６１〜５６５が振分け候補カメラとして選択される。また、カメラ管理サーバ３００Ｃは、振分け候補カメラ数Max_Cが１よりも大きい。さらに、振分け候補カメラ数Max_Cが、他のカメラ管理サーバの振分け候補カメラ数の平均値（カメラ管理サーバ３００Ａ、３００Ｂは共に振分け候補カメラ数が１）よりも大きい。このため、カメラ管理サーバ３００Ｃは、高頻度サーバとして振分け対象サーバフラグがオンに変更され、カメラ管理サーバ３００Ｃが制御する振分け候補カメラ５６１〜５６５の振分け対象カメラフラグもオンに変更される。表４に、カメラ５６１〜５６５の振分け対象カメラフラグをオンにし、振分け対象サーバフラグをオンにしたカメラ管理サーバ３００Ｃの頻度管理テーブルを示す。
【００４４】
【表４】
2013196235.tif 000006
【００４５】
振分け対象カメラ選択部２７５は、図４に示すカメラオン管理テーブルを参照して、振分け対象カメラの中から処理を行うカメラを選択する。図４に示すカメラオン管理テーブルでは、カメラ５６２の最新制御回数が最も多いが、カメラ制御中フラグがオンになっている。このため、振分け対象カメラ選択部２７５は、次に最新制御回数が多く、カメラ制御中フラグがオフになっているカメラ５６４を高頻度振分けカメラとして選択する。
【００４６】
また、振分け対象カメラ選択部２７５は、低頻度サーバと判定されたカメラ管理サーバ３００Ａ、３００Ｂの最新制御回数平均値を比較する。前述の表１と表２に示すようにカメラ管理サーバ３００Ａの最新制御回数平均値は、「５．５５」で、カメラ管理サーバ３００Ｂの最新制御回数平均値は、「７」である。このため、振分け対象カメラ選択部２７５は、カメラ管理サーバ３００Ａの制御対象のカメラから低頻度振分けカメラを選択する。表１のカメラ管理サーバ３００の頻度管理テーブルには、最新制御回数が「０」のカメラが３つ示されている。これらのカメラのうちのどれを選択してもよいが、本実施例の振分け対象カメラ選択部２７５は、最新制御回数が同値の場合、カメラ番号の小さいものから選択するものとする。振分け対象カメラ選択部２７５は、カメラ５６４を高頻度振分けカメラに選択し、カメラ５０６を低頻度振分けカメラに選択する。
【００４７】
制御対象カメラ変更部２７６は、高頻度振分けカメラである、カメラ５６４の制御担当を、選択した低頻度サーバであるカメラ管理サーバ３００Ａに変更する。また、制御対象カメラ変更部２７６は、低頻度振分けカメラである、カメラ５０６のカメラの制御担当を、高頻度サーバであるカメラ管理サーバ３００Ｃに変更する。表５に、カメラ５６４のカメラのデータを、カメラ５０６のデータ記載欄に記載した状態を示し、表６に、カメラ５０６のカメラのデータを、カメラ５６４のデータ記載欄に記載した状態を示す。
【００４８】
【表５】
2013196235.tif 000007
【００４９】
【表６】
2013196235.tif 000008
【００５０】
なお、制御対象カメラ変更部２７６は、制御対象のカメラの入れ替え処理を行うと、制御対象を変更したカメラ管理サーバ３００Ａとカメラ管理サーバ３００Ｃの最新制御回数平均値を計算する。制御対象のカメラをカメラ５０６からカメラ５６４に変更したことにより、カメラ管理サーバ３００Ａの最新制御回数平均値が「５．５５」から「１０．７」に増加した。また、制御対象のカメラをカメラ５６４からカメラ５０６に変更したことにより、カメラ管理サーバ３００Ｃの最新制御回数平均値が「３４．３」から「２９．１５」に減少した。
【００５１】
以降、振分け対象カメラ選択部２７５と制御対象カメラ変更部２７６とは同様の処理を繰り返し、高頻度振分けカメラと低頻度振分けカメラとの選択と、これらのカメラを制御するカメラ管理サーバ３００の入れ替え処理とを行う。表７には、カメラ管理サーバ３００Ｂの頻度管理テーブルを示す。この頻度管理テーブルでは、カメラ５６１の制御担当をカメラ管理サーバ３００Ｂに変更した場合を示している。図４に示すカメラオン管理テーブルに記録されたカメラの中から、カメラ制御中フラグがオフであって、最新制御回数がカメラ５６４の次に大きいカメラ５６１が高頻度振分けカメラとして選択される。また、カメラ５６４の制御担当が、カメラ管理サーバ３００Ａに変更になったため、カメラ管理サーバ３００Ａの制御最新制御回数平均値が「１０．７」に増加し、カメラ管理サーバ３００Ａの制御最新制御回数平均値「７」よりも大きくなっている。このため、カメラ５６１の制御担当として、カメラ管理サーバ３００Ｂが選択されている。また、表８には、カメラ５３１の制御担当をカメラ管理サーバ３００Ｂからカメラ管理サーバ３００Ｃに変更した場合の、カメラ管理サーバ３００Ｃの頻度管理テーブルを示す。
【００５２】
【表７】
2013196235.tif 000009
【００５３】
【表８】
2013196235.tif 000010
【００５４】
また、表９には、カメラ管理サーバ３００Ｃの制御対象であった、カメラ５６３の制御を割り当てたカメラ管理サーバ３００Ａの頻度管理テーブルを示す。また、表１０には、カメラ管理サーバ３００Ａの制御対象であった、カメラ５０７の制御を割り当てたカメラ管理サーバ３００Ｃの頻度管理テーブルを示す。
【００５５】
【表９】
2013196235.tif 000011
【００５６】
【表１０】
2013196235.tif 000012
【００５７】
また、カメラ制御中判定部２７４の所定時間ごとの判定により、カメラ制御中フラグがオンであったカメラ５６２の制御状態が解除され、カメラ制御中フラグがオフに変更されたとする。この場合、振分け対象カメラ選択部２７５は、最新制御回数が最多であるカメラ５６２をカメラを高頻度振分けカメラとして選択する。また、カメラ管理サーバ３００Ａの制御最新制御回数平均値が「１５．１５」（表９参照）であり、カメラ管理サーバ３００Ｂの制御最新制御回数平均値が「１２．１」（表７参照）であるため、カメラ５６２の制御担当として、カメラ管理サーバ３００Ｂが選択されている。表１１には、カメラ管理サーバ３００Ｃの制御対象であった、カメラ５６２の制御を割り当てたカメラ管理サーバ３００Ｂの頻度管理テーブルを示す。また、表１２には、カメラ管理サーバ３００Ｃの制御対象であった、カメラ５３７の制御を割り当てたカメラ管理サーバ３００Ｃの頻度管理テーブルを示す。
【００５８】
【表１１】
2013196235.tif 000013
【００５９】
【表１２】
2013196235.tif 000014
【００６０】
以上のようにして、各カメラ管理サーバ３００が制御するカメラの入れ替え処理を行うことで、高頻度サーバであったカメラ管理サーバ３００Ｃの最新制御回数平均値を、「８．４５」に減少させることができた。
【００６１】
なお、振分け対象カメラフラグがオンになっているカメラ５６５は、カメラ制御中フラグがオンになっているため、カメラ５６５を制御するカメラ管理サーバ３００は、カメラ管理サーバ３００Ｃのままとなっている。このカメラ５６５については、カメラ制御中判定部２７４がカメラ５６５の制御状態が解除されたか否かを所定時間ごとに判定している。カメラ制御中判定部２７４によりカメラ５６５のカメラ制御中フラグがオフに変更された場合には、振分け対象カメラ選択部２７５は、カメラ制御中フラグがオフに変更されたカメラを高頻度振分けカメラとして選択する。以降、同様の処理により、制御を担当するカメラ管理サーバ３００の入れ替え処理が行われる。
【００６２】
図６は、負荷分散装置２００による負荷分散解析処理が行われる前の各カメラ管理サーバ３００と、カメラ管理サーバ３００の制御を受けるカメラとの接続関係を模式的に示している。なお、各カメラ管理サーバ３００と各カメラとはネットワーク回線で接続されているため、カメラ管理サーバ３００とカメラとが直接専用回線で接続されているわけではない。図７は、負荷分散装置２００による負荷分散解析処理後の、各カメラ管理サーバ３００と、各カメラ管理サーバ３００が制御するカメラとの接続関係を模式的に示している。負荷分散装置２００が作成したセッション管理テーブルに従って、各カメラ管理サーバ３００が制御するカメラを変更した後の各カメラ管理サーバ３００とカメラ管理サーバ３００の制御を受けるカメラとの関係を模式的に示している。なお、図７に示すカメラのブロックのうち、ブロック内に斜線を引いたカメラが、負荷分散解析処理により制御担当を他のカメラ管理サーバ３００に変更したカメラを示している。表１〜表１２を参照しながら説明した、高頻度振分けカメラの制御担当を低頻度サーバに入れ替える処理と、低頻度振分けカメラの制御担当を高頻度サーバに入れ替える処理により、各カメラ管理サーバ３００が最終的に制御するカメラが示されている。カメラ管理サーバ３００Ａは、カメラ５０６、５０７に替えて、カメラ５６３、５６４の制御を担当する。カメラ管理サーバ３００Ｂは、カメラ５３７、５４６に替えて、カメラ５６１、５６２の制御を担当する。カメラ管理サーバ３００Ｃは、カメラ５６１〜５６４に替えて、カメラ５０６、５０７、５３７、５４６の制御を担当する。
【００６３】
図８は、上述の処理によって、制御担当をカメラ管理サーバ３００Ｃからカメラ管理サーバ３００Ｂに変更されたカメラ５６２と、カメラ管理サーバ３００Ｂとの接続を模式的に示したものである。
カメラ管理サーバ３００Ｂにアクセスした端末１００Ａが、カメラ５６２の操作を行う場合について説明する。この場合、端末１００Ａは、カメラ５６２の制御を担当するカメラ管理サーバ３００Ｂにアクセスしているので、端末１００Ａは、カメラ管理サーバ３００Ｂの制御によってカメラ５６２を操作することができる。
次に、カメラ管理サーバ３００Ｃにアクセスした端末１００Ｂが、カメラ５６２の操作を行う場合について説明する。端末１００Ｂは、通常、カメラ管理サーバ３００Ｂにアクセスしてカメラの操作を行うように設定された端末であるが、カメラ管理サーバ３００Ｂにアクセスが集中したため、カメラ管理サーバ３００Ｃに接続したものとする。カメラ管理サーバ３００Ｃは、端末１００Ｂからカメラ５６２の操作要求を受け付けると、カメラ５６２を制御するカメラ管理サーバ３００Ｂに、カメラ５６２の操作要求を送る。カメラ管理サーバ３００Ｃは、カメラ管理サーバ３００Ｂからカメラ５６２の制御許可が出された場合には、端末１００Ｂから受信した操作要求をカメラ管理サーバ３００Ｂに送る。カメラ管理サーバ３００Ｂは、カメラ管理サーバ３００Ｃから送られた操作要求に従ってカメラ５６２を制御する。また、カメラ管理サーバ３００Ｃは、カメラ管理サーバ３００Ｂからカメラ５６２の制御許可が出されなかった場合には、端末１００Ｂに対しカメラ５６２が制御状態にある旨を通知する。同様にして、カメラ管理サーバ３００Ａにアクセスした端末１００Ｃも、カメラ管理サーバ３００Ａを介してカメラ管理サーバ３００Ｂに操作要求を送り、カメラ５６２が制御状態ではない場合には、カメラ５６２を操作することができる。
【００６４】
次に、図９を参照しながらカメラ管理サーバ３００Ａの構成について説明する。なお、カメラ管理サーバ３００Ｂ、３００Ｃの構成は、カメラ管理サーバ３００Ａとほぼ同一の構成を備えているため、カメラ管理サーバ３００Ａの構成を説明することで、他のカメラ管理サーバ３００Ｂ、３００Ｃの説明とする。
なお、このカメラ管理サーバ３００Ａの説明では、カメラ管理サーバ３００Ａが制御するカメラは、カメラ５０１〜５２０であるとして説明する。また、カメラ管理サーバ３００Ｂが制御するカメラは、カメラ５３１〜５５０、カメラ管理サーバ３００Ｃが制御するカメラは、カメラ５６１〜５８０であるとして説明する。
カメラ管理サーバ３００Ａは、通信インターフェース３１０と、カメラ制御部３２０と、映像配信部３３０と、記憶部３４０とを備える。なお、記憶部３４０には、負荷分散装置２００から送信されたセッション管理テーブルが記憶されている。
【００６５】
通信インターフェース３１０は、負荷分散装置２００と専用回線で接続している。通信インターフェース３１０は、カメラ制御部３２０から送られた制御開始通知や制御終了通知を負荷分散装置２００に送信する。また、通信インターフェース３１０は、負荷分散装置２００から送信されるセッション管理テーブルを受信し、受信したセッション管理テーブルをカメラ制御部３２０の制御により記憶部３４０に記憶させる。
また、通信インターフェース３１０は、他のカメラ管理サーバ３００Ｂ、３００Ｃともネットワーク回線や専用回線等の通信回線で接続されており、カメラ管理サーバ３００Ａが制御するカメラ５０１〜５２０で撮影された映像を、他のカメラ管理サーバ３００Ｂ、３００Ｃに送信する。また、他のカメラ管理サーバ３００Ｂ、３００Ｃから送信されてくる、他のカメラ管理サーバ３００Ｂ、３００Ｃの制御するカメラで撮影した映像を受信して記憶部３４０に記憶させる。
【００６６】
カメラ制御部３２０は、記憶部３４０に記憶されたセッション管理テーブルを参照して、制御を担当するカメラを判定する。カメラ制御部３２０は、制御を担当するカメラの操作要求を端末１００から受け付けると、受け付けた操作要求により指定されたカメラ５０１〜５２０を制御状態とする。すなわち、カメラ制御部３２０は、端末１００から送信される、ズーム、右移動などの指示に従って、カメラをズームに設定したり、撮影範囲を右側に移動させりする指示信号を該当のカメラ５０１〜５２０に送信する。
また、カメラ制御部３２０は、カメラ５０１〜５２０を制御状態とすると、カメラ５０１〜５２０の制御を開始したことを示す制御開始通知を負荷分散装置２００に送信する。さらに、カメラ５０１〜５２０の制御状態を解消した場合には、制御状態が終了したことを示す制御終了通知を負荷分散装置２００に送信する。
また、カメラ制御部３２０は、他のカメラ管理サーバ３００Ｂ、３００Ｃからカメラ５０１〜５２０の操作要求を受け付けた場合、操作要求を受けたカメラ５０１〜５２０の制御状態をまず判断する。操作要求を受けたカメラ５０１〜５２０が制御状態にある場合、カメラ制御部３２０は、操作要求を送信した他のカメラ管理サーバ３００Ｂ、３００Ｃに対し、該当のカメラ５０１〜５２０は制御状態にある旨を通知する。また、操作要求を受けたカメラ５０１〜５２０が制御状態にない場合、カメラ制御部３２０は、操作要求を送信した他のカメラ管理サーバ３００Ｂ、３００Ｃに対し、該当のカメラ５０１〜５２０の操作要求を受け付ける旨の通知を行う。カメラ制御部３２０は、他のカメラ管理サーバ３００Ｂ、３００Ｃから送信される操作指示に従って該当のカメラ５０１〜５２０を制御する。
【００６７】
映像配信部３３０は、カメラ管理サーバ３００Ａが制御するカメラ５０１〜５２０の撮影する映像を受信して、該当のカメラ５０１〜５２０を操作している端末１００に受信した映像を配信する。映像配信部３３０は、カメラ５０１〜５２０で撮影された映像をネットワーク１５０を介して端末１００へ配信する。また、映像配信部３３０は、カメラ５０１〜５２０から送られた映像を記憶部３４０に記憶させる。カメラ制御部３２０は、所定時間ごとに、記憶部３４０を参照して、記憶部３４０に新たに記憶された映像を他のカメラ管理サーバ３００Ｂ、３００Ｃに送信する。端末１００のユーザは、カメラ管理サーバ３００Ａが制御するカメラ５０１〜５２０の映像を、カメラ管理サーバ３００Ａにアクセスせずに、カメラ管理サーバ３００Ｂ、３００Ｃにアクセスして視聴することができる。同様に、カメラ管理サーバ３００Ｂが制御するカメラ５３１〜５５０の映像を、カメラ管理サーバ３００Ａ、３００Ｃにアクセスして視聴することができる。カメラ管理サーバ３００Ｃが制御するカメラ５６１〜５８０の映像を、カメラ管理サーバ３００Ａ、３００Ｂにアクセスして視聴することができる。
【００６８】
次に、図１０〜図１４に示すフローチャートを参照しながら制御部２１０の処理手順を説明する。まず、図１０を参照しながら制御部２１０の処理の概要を説明する。
制御部２１０は、制御回数カウント処理を行う（ステップＳ１）。制御回数カウント処理とは、計測時間Ｔにおいて、各カメラ管理サーバ３００Ａ、３００Ｂ、３００Ｃがそれぞれの制御対象のカメラを制御した制御回数をカメラごとにカウントする処理である。なお、制御回数をカウントする計測時間Ｔは特に限定しないが、例えば、１時間とすることができる。
【００６９】
次に、制御部２１０は、制御回数のカウント開始から計測時間Ｔを経過すると、負荷分散解析処理（ステップＳ２）を実施する。負荷分散処理は、上述のように、各カメラ管理サーバ３００が、制御対象のカメラを制御する頻度を考慮して、各カメラ管理サーバ３００の制御するカメラの入れ替えを行い、各カメラ管理サーバ３００の負荷を軽減させる処理である。
【００７０】
次に、制御部２１０は、負荷分散処理を終了すると、リトライ処理を実施する（ステップＳ３）。リトライ処理とは、制御回数の多いカメラであるが、端末１００の操作を受ける制御状態にあったため振分けの対象から外されたカメラが引き続き制御状態にあるか否かを判定する処理である。判定したカメラの制御状態が解消されている場合には、制御部２１０は、制御状態が解消されたカメラを高頻度振分けカメラとして、制御担当のカメラ管理サーバ３００を変更する。
【００７１】
次に、制御部２１０は、セッション管理テーブルの作成処理を行う（ステップＳ４）。
【００７２】
次に、制御部２１０は、平均アクセスカウント処理を行う（ステップＳ５）。
平均アクセスカウント処理は、上述のカウンタ２７２がカウントした各カメラの最新制御回数を、対応するカメラの平均制御回数に加算して２で除算することで、各カメラの平均制御回数を再計算する処理である。
【００７３】
上記ステップＳ１〜Ｓ５の処理が終了すると、制御部２１０は、ステップＳ４で作成したセッション管理テーブルを各カメラ管理サーバ３００に送信する。
【００７４】
次に、上述した各ステップの詳細について説明する。まず、図１１に示すフローチャートを参照しながら制御回数カウント処理の詳細について説明する。
まず、制御部２１０は、計測時間Ｔの間に、各カメラ管理サーバ３００が、各カメラ管理サーバ３００の制御するカメラを制御した回数をカウントする（ステップＳ１０１）。
制御部２１０は、各カメラ管理サーバ３００から通知される制御開始通知により各カメラ管理サーバ３００が制御状態にしたカメラを認識する。そして、各カメラ管理サーバ３００から通知される制御終了通知により、制御状態にあったカメラの最新制御回数をカウントアップする。例えば、カメラ管理サーバ３００Ａからカメラ５０１の制御開始通知と、制御終了通知とを受信すると、制御部２１０は、表１に示すカメラ管理サーバ３００Ａの頻度管理テーブルの記録情報を更新する。すなわち、カメラ５０１の最新制御回数を１加算して書き換える。この処理を計測時間Ｔの間繰り返すことで、制御部２１０のＲＡＭ２１３には、各カメラ管理サーバ３００の制御回数が各カメラごとにカウントされた頻度管理テーブルが作成される。
【００７５】
計測時間Ｔを経過すると（ステップＳ１０２／ＹＥＳ）、制御部２１０は、ステップＳ１０３の処理に移行する。ステップＳ１０３では、制御部２１０は、各カメラごとにカウントした制御回数により、各カメラの制御回数差分を求める（ステップＳ１０３）。制御部２１０は、計測時間Ｔにおける制御回数の計測値である最新制御回数から、過去の計測によって計数した制御回数の平均値である平均制御回数を減算して、制御回数差分を各カメラごとに求める。制御部２１０は、算出した各カメラの制御回数差分を表１〜表３に示す各カメラ管理サーバ３００の頻度管理テーブルの該当記録欄に記録する。制御部２１０は、各カメラの制御回数差分を算出して、該当するカメラ番号が示す制御回数差分の記録欄に記録する。
【００７６】
次に、制御部２１０は、各カメラの振分け対象カメラフラグをオフに変更するか否かを判定するため、処理対象となる選択サーバを１つ選択する（ステップＳ１０４）。この処理は、前回カウントした制御回数のカウント値に基づく処理で振分け対象カメラフラグがオンされたカメラが、今回の制御回数のカウント値からも利用頻度が高いカメラであると判定できるかを判定する処理である。制御部２１０は、選択サーバを選択すると、この選択サーバが制御するカメラの中から処理対象とする選択カメラを選択する（ステップＳ１０５）。そして、制御部２１０は、選択カメラの制御回数差分をＲＡＭ２１３から読み出し（ステップＳ１０６）、読み出した制御回数差分が０よりも小さいか否かを判定する（ステップＳ１０７）。選択カメラの制御回数差分が０よりも小さい場合には（ステップＳ１０７／ＹＥＳ）、制御部２１０は、選択カメラの振分け対象カメラフラグをオフに変更する（ステップＳ１０８）。また、選択カメラの制御回数差分が０以上である場合には（ステップＳ１０７／ＮＯ）、制御部２１０は、選択サーバの制御するカメラの中から選択カメラを新たに選択し（ステップＳ１０５）、選択した選択カメラに対してステップＳ１０６、Ｓ１０７、Ｓ１０８の処理を行う。選択サーバが制御を担当するすべてのカメラを選択カメラに選択し、選択カメラに対する処理が終了すると（ステップＳ１０９／ＹＥＳ）、制御部２１０は、選択サーバの最新制御回数平均値を算出する（ステップＳ１１０）。すなわち、選択サーバが制御する各カメラの最新制御回数を加算してカメラ台数で除算することで、最新制御回数平均値を算出する。制御部２１０は、算出した最新制御回数平均値を管理テーブルの該当記録欄に記録する。
【００７７】
次に、制御部２１０は、全カメラ管理サーバ３００を選択サーバに選択したか否かを判定する（ステップＳ１１１）。選択サーバに選択していないカメラ管理サーバ３００がある場合には（ステップＳ１１１／ＮＯ）、制御部２１０は、ステップＳ１０４で選択されていないカメラ管理サーバ３００を選択サーバとする。そして、制御部２１０は、ステップＳ１０４〜Ｓ１１１までの処理を繰り返す。また、全カメラ管理サーバ３００を選択サーバに選択したと判定した場合には（ステップＳ１１１／ＹＥＳ）、制御部２１０は、制御回数カウント処理を終了し、次の負荷分散解析処理に移行する。
【００７８】
次に、負荷分散解析処理の詳細について、図１２及び図１３に示すフローチャートを参照しながら説明する。
まず、制御部２１０は、処理対象のカメラ管理サーバ３００（以下選択サーバと呼ぶ）を選択する（ステップＳ２０１）。次に、制御部２１０は、選択サーバが制御するカメラの中から処理対象のカメラ（以下、選択カメラと呼ぶ）を選択する（ステップＳ２０２）。次に、制御部２１０は、選択カメラの制御回数差分と選択サーバの最新制御回数平均値とをＲＡＭ２１３から読み出し、これらの値の大小比較を行う（ステップＳ２０３）。
選択カメラの制御回数差分が、選択サーバの最新制御回数平均値よりも多い場合（ステップＳ２０３／ＹＥＳ）、制御部２１０は、対象カメラカウントをカウントアップする（ステップＳ２０４）。対象カメラカウントは、制御回数差分が、選択カメラを制御する選択サーバの最新制御回数平均値よりも多いカメラの数をカウントするカウンタである。また、制御回数差分が最新制御回数平均値よりも多いカメラは、振分け候補カメラに選出されたカメラである。
また、選択カメラの制御回数差分が、選択サーバの最新制御回数平均値以下である場合（ステップＳ２０３／ＮＯ）、制御部２１０は、選択カメラの振分け対象カメラフラグがオフになっているか否かを判定する。選択カメラの振分け対象カメラフラグがオフになっていない場合、制御部２１０は、振分け対象カメラフラグをオフにする（ステップＳ２０５）。
【００７９】
次に、制御部２１０は、ステップＳ２０１で選択した選択サーバが制御する全てのカメラを選択カメラに選択してステップＳ２０３〜Ｓ２０５の処理を行ったか否かを判定する（ステップＳ２０６）。否定判定の場合、制御部２１０は、ステップＳ２０２で選択されていないカメラを選択カメラとして選択し、ステップＳ２０３〜Ｓ２０５の処理を行う。また、肯定判定の場合、制御部２１０は、すべてのカメラ管理サーバ３００を選択サーバに選択したか否かを判定する（ステップＳ２０７）。否定判定の場合、制御部２１０は、ステップＳ２０１に戻り、選択サーバの選択（ステップＳ２０１）と選択カメラの選択（ステップＳ２０２）とを行い、ステップＳ２０３〜Ｓ２０６の処理を繰り返す。肯定判定の場合、制御部２１０は、ステップＳ２０８の処理に移行する。
【００８０】
ステップＳ２０８では、制御部２１０は、各カメラ管理サーバ３００ごとに算出された対象カメラカウントのカウント値を比較して、対象カメラカウント数が最大のカメラ管理サーバ３００を選択する。対象カメラカウント数が最大のカメラ管理サーバ３００であるMax_Sサーバを選択すると、制御部２１０は、このMax_Sサーバの対象カメラカウント数Max_CをＲＡＭ２１３から読み出す（ステップＳ２０８）。また、制御部２１０は、Max_Sサーバ以外のカメラ管理サーバ３００の対象カメラカウント数をＲＡＭ２１３から読み出し、読み出した対象カメラカウント数の平均値（Ave_C）を算出する（ステップＳ２０９）。
次に、制御部２１０は、Max_Sサーバの対象カメラカウント数Max_Cが１よりも多いか否かを判定する（ステップＳ２１０）。肯定判定の場合、制御部２１０は、Max_Sサーバの対象カメラカウント数Max_CがMax_Sサーバ以外のカメラ管理サーバ３００の対象カメラカウント数の平均値（Ave_C）よりも多いか否かを判定する（ステップＳ２１１）。肯定判定の場合には、制御部２１０は、ステップＳ２１２の処理に移行する。また、ステップＳ２１０の判定と、ステップＳ２１１の判定とのいずれかの判定が否定判定であった場合、制御部２１０は、ステップＳ２１４の処理に移行する。
【００８１】
ステップＳ２１０の判定とステップＳ２１１の判定がいずれも肯定判定であった場合、制御部２１０は、Max_Sサーバを高頻度サーバに選出し、Max_Sサーバの振分け対象サーバフラグをオンにする（Ｓ２１２）。また、制御部２１０は、Max_Sサーバが制御するカメラのうち、制御回数差分が最新制御回数平均値よりも多いカメラの振分け対象カメラフラグをオンにする（ステップＳ２１３）。振分け対象カメラフラグがオンにされたカメラは、振分け対象カメラに選出されたことを意味している。
次に、制御部２１０は、対象カメラカウント数が１よりも多いカメラ管理サーバ３００が他にあるか否かを判定する（ステップＳ２１４）。肯定判定の場合、制御部２１０は、すでにMax_Sサーバとして選択済みのカメラ管理サーバを除外し、残りのカメラ管理サーバ３００を処理対象としてステップＳ２０８〜２１３の処理を行う。また、否定判定の場合、制御部２１０は、ステップＳ２１２で振分け対象カメラフラグがオンのカメラを制御回数が多い順に並び替えた、図４に示すカメラオン管理テーブルを作成する（ステップＳ２１５）。このカメラオン管理テーブルでは、振分け対象カメラフラグがオンされたカメラが制御状態にあるか否かが記録され管理される。次に、制御部２１０は、制御状態にあるカメラを検出し（ステップＳ２１６）、制御状態にあるカメラを検出した場合には（ステップＳ２１７／ＹＥＳ）、検出したカメラのカメラ制御中フラグをオンに変更する（ステップＳ２１８）。また、制御状態にあるカメラを検出できなかった場合（ステップＳ２１７／ＮＯ）、制御部２１０は、ステップＳ２１９の処理に移行する。なお、ステップＳ２１６〜Ｓ２１８の処理は、振分けカメラ対象カメラフラグがオンのカメラに対してだけではなく、振分けカメラ対象カメラフラグがオフのカメラに対しても行われる。
【００８２】
ステップＳ２１９の処理では、制御部２１０は、振分け対象サーバフラグがオンの高頻度サーバのなかで、最新制御回数平均値が最大のカメラ管理サーバ３００を選択する。制御部２１０は、選択した高頻度サーバの最新制御回数平均値（以下、Ｆｓｖと表記する）をＲＡＭ２１３から読み出す（ステップＳ２１９）。次に、制御部２１０は、振分け対象サーバフラグがオフである低頻度サーバの最新制御回数平均値を値の小さい順に並び替える（ステップＳ２２０）。また、制御部２１０は、並び替えた最新制御回数平均値の中から値が最も小さい最新制御回数平均値（以下、Ｉｓｖと表記する）を読み出す（ステップＳ２２０）。そして、制御部２１０は、ＦｓｖがＩｓｖよりも大きいか否かを判定する（ステップＳ２２１）。否定判定の場合、制御部２１０は、後述するステップＳ２２６の判定に移行する。また、肯定判定の場合、制御部２１０は、最新制御回数平均値がＩｓｖの低頻度サーバが制御するカメラの制御回数を値の小さい順に並び替える（ステップＳ２２２）。そして、制御部２１０は、制御回数が最も小さいカメラを低頻度振分けカメラとして選択する。なお、ステップＳ２１８において、制御状態にあるカメラのカメラ制御中フラグがオンされているので、制御部２１０は、カメラ制御中フラグがオフのカメラの中から、制御回数が最も小さいカメラを低頻度振分けカメラとして選択する。
【００８３】
次に、制御部２１０は、ステップＳ２１９で選択した高頻度サーバが制御する、カメラ制御中フラグがオフのカメラであって、制御回数が最も多いカメラを高頻度振分けカメラとして選択する。制御部２１０は、高頻度振分けカメラの制御担当を、低頻度振分けカメラを制御していた低頻度サーバに変更する（ステップＳ２２３）。また、制御部２１０は、低頻度振分けカメラの制御担当を、高頻度振分けカメラを制御していた高頻度サーバに変更する（ステップＳ２２４）。具体的には、表１〜３に示す頻度管理テーブルに記録しているデータを書き換える処理を行う。
【００８４】
次に、制御部２１０は、制御するカメラを入れ替えた高頻度サーバと低頻度サーバの最新制御回数平均値を算出する（ステップＳ２２５）。また、制御部２１０は、算出した最新制御回数平均値を高頻度サーバと低頻度サーバの頻度管理テーブルにそれぞれ記録する。
次に、制御部２１０は、図４に示すカメラオン管理テーブルに記録された、振分け対象カメラフラグがオンのカメラであって、カメラ制御中フラグがオフのカメラに対する振分け処理がすべて終了したか否かを判定する（ステップＳ２２６）。否定判定の場合、制御部２１０は、ステップＳ２１９に戻って高頻度サーバを選択し、ステップＳ２１９〜Ｓ２２６の処理を繰り返す。また、肯定判定の場合、制御部２１０は、ステップＳ４のリトライ処理に移行する。
【００８５】
次に、図１４に示すフローチャートを参照しながらリトライ処理の詳細について説明する。
まず、制御部２１０は、カメラ制御中フラグがオンのカメラの数を検出する（ステップＳ３０１）。次に、制御部２１０は、カメラ制御中フラグがオンのカメラの数が１台以上あるか否かを判定する（ステップＳ３０２）。否定判定の場合、制御部２１０は、リトライ処理を終了し、平均アクセスカウント処理に移行する。また、肯定判定の場合、制御部２１０は、振分け対象カメラフラグがオンのカメラの中から、処理対象のカメラを選択する（ステップＳ３０３）。そして、制御部２１０は、処理対象のカメラがカメラ制御中であるか否かを判定する（ステップＳ３０４）。肯定判定である場合、制御部２１０は、次の処理対象のカメラを選択する。また、否定判定である場合、制御部２１０は、処理対象のカメラのカメラ制御中フラグをオフにする（ステップＳ３０５）。
【００８６】
次に、制御部２１０は、振分け対象カメラフラグがオンのカメラの中に、処理対象として選出されていないカメラがあるか否かを判定する（ステップＳ３０６）。肯定判定の場合、制御部２１０は、ステップＳ３０４〜Ｓ３０６の処理を繰り返す。また、否定判定の場合、制御部２１０は、カメラ制御中フラグがオンからオフに変更されたカメラがあるか否かを判定する。否定判定の場合、制御部２１０は、ステップＳ４のセッション管理テーブル作成処理に移行する。また、肯定判定の場合、制御部２１０は、図１３に示すステップＳ２１９〜２２６の処理を、カメラ制御中フラグがオンからオフに変更されたカメラと、このカメラを制御するカメラ管理サーバ３００とに対して行う。
【００８７】
以上の説明のように本実施例は、各カメラ管理サーバ３００のカメラ制御回数に基づいて高負荷サーバと高負荷のカメラを判定し、高負荷のカメラの制御を、このカメラが制御中でない場合に低負荷サーバに変更することで、高負荷サーバの負荷を軽減させることができる。また、高負荷のカメラが制御状態にあった場合には、制御担当を低負荷サーバに変更することは行わず、所定時間経過後に、高負荷のカメラが継続して制御状態にあるか否かを判定している。したがって、サーバの負荷を、サーバのカメラ制御の特性を考慮して効率的に分散させることができる。
【００８８】
上述した実施例は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
例えば、上述した実施例では、負荷分散装置２００は、各カメラ管理サーバ３００とは別個に設けていたが、負荷分散装置２００を各カメラ管理サーバ３００内に設けてもよい。例えば、各負荷分散装置２００により、負荷分散装置２００を設けたカメラ管理サーバ３００が制御するカメラの制御について、カメラ管理サーバ３００の負荷を検出する。負荷分散装置２００は、カメラ管理サーバ３００が上述した高頻度サーバであると判定した場合に、他のカメラ管理サーバ３００に通知して、上述した低頻度サーバであると判定できるカメラ管理サーバ３００を検出する。そして、高頻度サーバの負荷分散装置２００と、低頻度サーバの負荷分散装置２００とで、それぞれ振分け対象カメラを選択し、選択したカメラの制御を入れ替える処理を行う。
【００８９】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、
サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、
前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、
前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、
前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、
前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第３検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、
カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と、
前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段とを備えることを特徴とする負荷分散装置。
（付記２）  前記第２検出手段は、処理対象のカメラを選択し、選択したカメラの、前記計数手段の計数した制御回数と、前記計数手段によって過去に計数された、前記選択したカメラの制御回数の平均値との差分が、前記選択したカメラが制御を受けるサーバと同一のサーバの制御を受ける各カメラの制御回数の平均値よりも大きいか否かを判定して、前記選択したカメラの前記差分が前記制御回数の平均値よりも大きく、前記選択したカメラがカメラ制御を実施中ではない場合に、前記選択したカメラを検出条件を満たすカメラとして検出する手段であり、
前記第３検出手段は、前記選択したカメラの前記差分が前記制御回数の平均値以下であり、前記選択したカメラがカメラ制御を実施中ではないカメラである場合に、前記選択したカメラを検出条件を満たすカメラとして検出する手段であることを特徴とする付記１記載の負荷分散装置。
（付記３）  前記第１検出手段は、第１のサーバの制御を受けるカメラの中から処理対象のカメラを選択し、選択したカメラの、前記計数手段の計数した制御回数と、前記計数手段によって過去に計数された、前記選択したカメラの制御回数の平均値との差分が、前記第１のサーバの制御を受ける各カメラの制御回数の平均値よりも大きいか否かを判定して、前記差分が前記制御回数の平均値よりも大きいカメラの数を前記第１のサーバの高頻度カメラ数として算出し、算出した高頻度カメラ数が所定値よりも大きく、前記第１のサーバの高頻度カメラ数が、第２のサーバの制御を受けるカメラについて算出した高頻度カメラ数と、第３のサーバの制御を受けるカメラについて算出した高頻度カメラ数との平均値よりも大きい場合に、前記第１のサーバを前記頻度が前記第１しきい値よりも大きいサーバとして検出し、前記第１のサーバの高頻度カメラ数が、前記第２のサーバと前記第３のサーバの高頻度カメラ数の平均値以下である場合に、前記第１のサーバを前記頻度が前記第２しきい値よりも小さいサーバとして検出することを特徴とする付記１又は２記載の負荷分散装置。
（付記４）  カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第３検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段とを備える負荷分散装置と、
前記負荷分散装置から送信された管理テーブルを受信し、受信した管理テーブルに指定されたカメラを制御する、複数のカメラ管理サーバとを有することを特徴とする負荷分散システム。
（付記５）  前記第２検出手段は、処理対象のカメラを選択し、選択したカメラの、前記計数手段の計数した制御回数と、前記計数手段によって過去に計数された、前記選択したカメラの制御回数の平均値との差分が、前記選択したカメラが制御を受けるサーバと同一のサーバの制御を受ける各カメラの制御回数の平均値よりも大きいか否かを判定して、前記選択したカメラの前記差分が前記制御回数の平均値よりも大きく、前記選択したカメラがカメラ制御を実施中ではない場合に、前記選択したカメラを検出条件を満たすカメラとして検出する手段であり、前記第３検出手段は、前記選択したカメラの前記差分が前記制御回数の平均値以下であり、前記選択したカメラがカメラ制御を実施中ではないカメラである場合に、前記選択したカメラを検出条件を満たすカメラとして検出する手段であることを特徴とする付記４記載の負荷分散システム。
（付記６）  前記第１検出手段は、第１のサーバの制御を受けるカメラの中から処理対象のカメラを選択し、選択したカメラの、前記計数手段の計数した制御回数と、前記計数手段によって過去に計数された、前記選択したカメラの制御回数の平均値との差分が、前記第１のサーバの制御を受ける各カメラの制御回数の平均値よりも大きいか否かを判定して、前記差分が前記制御回数の平均値よりも大きいカメラの数を前記第１のサーバの高頻度カメラ数として算出し、算出した高頻度カメラ数が所定値よりも大きく、前記第１のサーバの高頻度カメラ数が、第２のサーバの制御を受けるカメラについて算出した高頻度カメラ数と、第３のサーバの制御を受けるカメラについて算出した高頻度カメラ数との平均値よりも大きい場合に、前記第１のサーバを前記頻度が前記第１しきい値よりも大きいサーバとして検出し、前記第１のサーバの高頻度カメラ数が、前記第２のサーバと前記第３のサーバの高頻度カメラ数の平均値以下である場合に、前記第１のサーバを前記頻度が前記第２しきい値よりも小さいサーバとして検出することを特徴とする付記４又は付記５記載の負荷分散システム。
（付記７）  コンピュータを、
カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数手段と、
サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出手段と、
前記算出手段の算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出手段と、
前記第１検出手段が検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出手段と、
前記第１検出手段が検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数手段の計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出手段と、
前記第２検出手段が検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第３検出手段が検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出手段がカメラを検出する処理を行うごとに行う変更手段と、
カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成する手段であって、前記変更手段で変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成手段と、
前記管理テーブル作成手段が作成した管理テーブルを前記各サーバに送信する送信手段として機能させるためのプログラム。
（付記８）  前記第２検出手段は、処理対象のカメラを選択し、選択したカメラの、前記計数手段の計数した制御回数と、前記計数手段によって過去に計数された、前記選択したカメラの制御回数の平均値との差分が、前記選択したカメラが制御を受けるサーバと同一のサーバの制御を受ける各カメラの制御回数の平均値よりも大きいか否かを判定して、前記選択したカメラの前記差分が前記制御回数の平均値よりも大きく、前記選択したカメラがカメラ制御を実施中ではない場合に、前記選択したカメラを検出条件を満たすカメラとして検出する手段であり、前記第３検出手段は、前記選択したカメラの前記差分が前記制御回数の平均値以下であり、前記選択したカメラがカメラ制御を実施中ではないカメラである場合に、前記選択したカメラを検出条件を満たすカメラとして検出する手段であることを特徴とする付記７記載のプログラム。
（付記９）  前記第１検出手段は、第１のサーバの制御を受けるカメラの中から処理対象のカメラを選択し、選択したカメラの、前記計数手段の計数した制御回数と、前記計数手段によって過去に計数された、前記選択したカメラの制御回数の平均値との差分が、前記第１のサーバの制御を受ける各カメラの制御回数の平均値よりも大きいか否かを判定して、前記差分が前記制御回数の平均値よりも大きいカメラの数を前記第１のサーバの高頻度カメラ数として算出し、算出した高頻度カメラ数が所定値よりも大きく、前記第１のサーバの高頻度カメラ数が、第２のサーバの制御を受けるカメラについて算出した高頻度カメラ数と、第３のサーバの制御を受けるカメラについて算出した高頻度カメラ数との平均値よりも大きい場合に、前記第１のサーバを前記頻度が前記第１しきい値よりも大きいサーバとして検出し、前記第１のサーバの高頻度カメラ数が、前記第２のサーバと前記第３のサーバの高頻度カメラ数の平均値以下である場合に、前記第１のサーバを前記頻度が前記第２しきい値よりも小さいサーバとして検出することを特徴とする付記７又は付記８記載のプログラム。
（付記１０）  コンピュータにより実行される負荷分散方法であって、
カメラを制御するサーバが、ユーザ端末からの要求に従ってカメラを制御した制御回数を、カメラごとに計数する計数ステップと、
サーバが、制御対象のカメラを制御した頻度を各サーバごとに算出する算出ステップと、
前記算出ステップで算出した頻度が第１しきい値よりも大きいサーバと、値が前記第１しきい値以下の第２しきい値よりも小さいサーバとを検出する第１検出ステップと、
前記第１検出ステップで検出した、前記頻度が前記第１しきい値よりも大きいサーバが制御対象とするカメラのうち、前記計数ステップの計数した制御回数が第３しきい値よりも大きいカメラであって、カメラ制御を実施中ではないカメラを検出する処理を所定時間ごとに複数回行う第２検出ステップと、
前記第１検出ステップで検出した、前記頻度が前記第２しきい値よりも小さいサーバが制御対象とするカメラのうち、前記計数ステップで計数した制御回数が、前記第３しきい値以下の第４しきい値よりも小さいカメラであって、カメラ制御を実施中ではないカメラを検出する第３検出ステップと、
前記第２検出ステップで検出した、前記制御回数が前記第３しきい値よりも大きいカメラの制御担当を前記頻度が前記第２しきい値よりも小さいサーバに変更し、前記第３検出ステップで検出した、前記制御回数が前記第４しきい値よりも小さいカメラの制御担当を前記頻度が前記第１しきい値よりも大きいサーバに変更する処理を、前記第２検出ステップでカメラを検出する処理を行うごとに行う変更ステップと、
カメラと、該カメラを制御するサーバとを関連付けた管理テーブルを作成するステップであって、前記変更ステップで変更されたカメラと、該カメラを制御するサーバとの対応を記録した管理テーブルを作成する管理テーブル作成ステップと、
前記管理テーブル作成ステップで作成した管理テーブルを前記各サーバに送信する送信ステップとを有することを特徴とする負荷分散方法。
（付記１１）  前記第２検出ステップは、処理対象のカメラを選択し、選択したカメラの、前記計数ステップの計数した制御回数と、前記計数ステップによって過去に計数された、前記選択したカメラの制御回数の平均値との差分が、前記選択したカメラが制御を受けるサーバと同一のサーバの制御を受ける各カメラの制御回数の平均値よりも大きいか否かを判定して、前記選択したカメラの前記差分が前記制御回数の平均値よりも大きく、前記選択したカメラがカメラ制御を実施中ではない場合に、前記選択したカメラを検出条件を満たすカメラとして検出するステップであり、
前記第３検出ステップは、前記選択したカメラの前記差分が前記制御回数の平均値以下であり、前記選択したカメラがカメラ制御を実施中ではないカメラである場合に、前記選択したカメラを検出条件を満たすカメラとして検出するステップであることを特徴とする付記１０記載の負荷分散方法。
（付記１２）  前記第１検出ステップは、第１のサーバの制御を受けるカメラの中から処理対象のカメラを選択し、選択したカメラの、前記計数ステップの計数した制御回数と、前記計数ステップによって過去に計数された、前記選択したカメラの制御回数の平均値との差分が、前記第１のサーバの制御を受ける各カメラの制御回数の平均値よりも大きいか否かを判定して、前記差分が前記制御回数の平均値よりも大きいカメラの数を前記第１のサーバの高頻度カメラ数として算出し、算出した高頻度カメラ数が所定値よりも大きく、前記第１のサーバの高頻度カメラ数が、第２のサーバの制御を受けるカメラについて算出した高頻度カメラ数と、第３のサーバの制御を受けるカメラについて算出した高頻度カメラ数との平均値よりも大きい場合に、前記第１のサーバを前記頻度が前記第１しきい値よりも大きいサーバとして検出し、前記第１のサーバの高頻度カメラ数が、前記第２のサーバと前記第３のサーバの高頻度カメラ数の平均値以下である場合に、前記第１のサーバを前記頻度が前記第２しきい値よりも小さいサーバとして検出することを特徴とする付記１０又は付記１１記載の負荷分散方法。
【符号の説明】
【００９０】
１００  端末
２００  負荷分散装置
２１０  制御部
２１３  ＲＡＭ
２７１  送受信部
２７２  カウンタ
２７３  サーバ選択部（第１検出手段、第２検出手段、第３検出手段）
２７４  カメラ制御中判定部（第２検出手段）
２７５  振分け対象カメラ選択部（第２検出手段、第３検出手段）
２７６  制御対象カメラ変更部（変更手段）
２７７  セッション管理テーブル作成部（管理テーブル作成手段）
３００  カメラ管理サーバ
５０１〜５２０、５３１〜５５０、５６１〜５８０  カメラ
【図１】
2013196235.tif 000015
【図２】
2013196235.tif 000016
【図３】
2013196235.tif 000017
【図４】
2013196235.tif 000018
【図５】
2013196235.tif 000019
【図６】
2013196235.tif 000020
【図７】
2013196235.tif 000021
【図８】
2013196235.tif 000022
【図９】
2013196235.tif 000023
【図１０】
2013196235.tif 000024
【図１１】
2013196235.tif 000025
【図１２】
2013196235.tif 000026
【図１３】
2013196235.tif 000027
【図１４】
2013196235.tif 000028