実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、第1実施形態に係るサーバシステムの全体構成図である。
サーバシステム1は、サーバ群100と、1以上の端末装置200,210,220と、活動情報解析装置300と、外部動態情報DB310とを備える。サーバ群100と、1以上の端末装置200,210,220と、活動情報解析装置300と、外部動態情報DB310とは、ネットワーク50を介して接続されている。ネットワーク50は、LAN(Local Area Network)やWAN(Wide Area Network)などのネットワークである。
サーバ群100は、管理するデータのやり取りを行う複数のサーバ(図1の例では、サーバ110,120,130)を含む。図1のサーバシステム1では、サーバ群100は、3つのサーバから構成されているが、本発明は、これに限定されるものではなく、2つ又は4つ以上のサーバから構成されてもよい。サーバ群100を構成する各サーバは、例えば、互いに物理的(地理的)距離の離れた異なる地域に設置されていてもよい。
端末装置200,210,220は、それぞれ異なる災害障害対策を行う組織(災害障害対応組織)が保有し、利用する装置である。端末装置200,210,220は、各組織の活動情報をサーバ群100に配信し、サーバ群100から活動情報に対する解析結果を取得する。
活動情報解析装置30は、端末装置200,210,220等によりサーバ群100に配信された活動情報を取得して、解析し、解析結果をサーバ群100に配信する。
外部動態情報DB310は、端末装置を保有する各組織や、サーバ群の各サーバを運用している組織の管理外からの動態情報(災害状況情報の一例)をサーバ群100に提供する。
動態情報は、例えば、災害に関係する自然現象自体に関する情報と、自然現象に起因する所定の対象(人や建物等)の被害に関する情報とを含む。災害に関係する自然現象自体に関する情報としては、例えば、地震の震度分布、地震の状態、気象情報(例えば、大雨警報洪水警報等の気象警報、雨量、河川水位等)がある。所定の対象の被害に関する情報としては、地震による建物被害や建物の推定被害、地震での震度暴露人口、道路状況、医療機関の状態等がある。なお、動態情報に、雲の動きから予測される数時間後の気象予測や、過去の渋滞状況に基づいた渋滞予測等の未来の状況を予測する情報が含まれていてもよい。なお、図1に示すサーバシステム1においては、外部動態情報DBを1つとしていたが、本発明は、これに限られず、2つ以上の外部動態情報DBを備えていてもよい。また、外部動態情報DBに代えて、自らデータを収集して解析することにより動態情報を作成し、サーバ群100に提供するシステムを備えてもよい。
次に、サーバシステム1の各構成について詳細に説明する。
図2は、第1実施形態に係るサーバシステムの各構成の詳細構成図である。
サーバ110は、例えば、プロセッサやメモリ等を備えるコンピュータにより構成され、サーバ間連携部111と、サーバ適正度判定部112と、危険度動態DB113と、解析情報DB114と、活動情報DB115と、メタデータDB116とを含む。サーバ間連携部111と、サーバ適正度判定部112とは、プロセッサがメモリに格納されたプログラムを実行することにより構成される。ここで、サーバ適正度判定部112は、判定部、受理決定部、入替要請部の一例であり、サーバ間連携部111は、アクセス管理部の一例である。
サーバ間連携部111は、他のサーバのサーバ間連携部との間での通信を実施する。サーバ適正度判定部112は、外部動態情報DB310やサーバ間連携部111から取得した他のサーバの情報から、各サーバの設置位置の危険度や、後述するレコードの複製率に基づき、各サーバの危険度等を計算して、サーバが主レコードを配置するサーバとして適正か否かを判定する。危険度動態DB113は、適正度判定部112が計算した各サーバの危険度と、外部動態情報DB310から取得した情報を保存する。解析結果DB114は、活動情報解析装置300が解析した結果を保存する。活動情報DB115は、各端末装置200,210,220等から配信される活動情報等を保存する。メタデータDB116は、処理に必要な各種メタデータ(図7参照)を保存する。なお、他のサーバ120、130もサーバ110と同様な構成をしている。
端末装置200は、例えば、プロセッサやメモリ等を備えるコンピュータにより構成され、解析結果取得部201と、活動情報配信部202と、情報形式変換部203と、保有活動情報DB204とを含む。活動情報配信部202と、情報形式変換部203と、保有活動情報DB204とは、プロセッサがメモリに格納されたプログラムを実行することにより構成される。
保有活動情報DB204は、端末装置200により集められた各組織の活動状況等を含むデータを格納する。解析結果取得部201は、サーバ群100に保存されている解析結果を取得する。活動情報配信部202は、保有する組織の活動情報等のデータをサーバ群100に配信して書き込む。情報形式変換部203は、保有活動情報DB204に格納されている情報を、活動情報配信部202がサーバ群100に書き込める形式に変換する。なお、他の端末装置210、端末装置220は、端末装置200と同様な構成をしている。
端末装置200の保有活動情報DB204に格納されている各組織の活動状況、管理する施設の状態等を表すデータは、情報形式変換部203によってサーバ群100で管理するデータの形式に変換され、活動情報配信部202により、サーバ110(120,120)中の活動情報DB115(125,135)に書き込まれる。
活動情報解析装置300は、例えば、プロセッサやメモリ等を備えるコンピュータにより構成され、解析結果配信部301と、情報形式変換部302と、インテリジェンス導出部303と、活動情報取得部304とを含む。解析結果配信部301と、情報形式変換部302と、インテリジェンス導出部303と、活動情報取得部304とは、プロセッサがメモリに格納されたプログラムを実行することにより構成される。
解析結果配信部301は、サーバ群100に解析結果を書き込む。情報形式変換部302は、インテリジェンス導出部303による解析結果をサーバ群100に書き込めるデータ形式を変換する。インテリジェンス導出部303は、サーバ群100から取得した各端末装置(200,210,220)のデータに基づいて解析処理を実行する。インテリジェンス導出部303は、活動情報を統合する機能や、重要支援地域を抽出する機能や、解析結果を可視化する機能を有する。活動情報取得部304は、サーバ群100から各端末装置に保有されている活動情報を取得する。
活動情報解析装置300では、活動情報取得部304がサーバ群100の活動情報DB(サーバ110では、活動情報DB115)に書き込まれたデータを取得し、インテリジェンス導出部303に渡す。インテリジェンス導出部303は、活動情報取得部304から渡されたデータを用いて、各組織の活動の意思決定を支援するような解析結果を出力する。情報形式変換部302は、インテリジェンス導出部303により出力された解析結果をサーバ群100で管理するデータ形式に変換し、解析結果配信部301は、データ形式が変換された解析結果をサーバ群100の解析結果DB(サーバ110であれば、解析結果DB114)に書き込む。
端末装置200は、解析結果取得部201によって、サーバ群100の解析結果DBから解析結果を取得し、各組織の活動の意思決定をする際の判断材料に用いる。また、サーバ群100のサーバ、例えば、サーバ110では、サーバ適正度判定部112が外部動態情報DB310から、停電や河川氾濫情報等の動態情報を取得し、各サーバ110,120,130の主レコードと副レコードとの配置の入れ替え(主副レコード配置入替という)の判断材料として扱う。
なお、端末情報200とサーバ110との間、活動情報解析装置300とサーバ110との間、及び外部動態情報DB310とサーバ110との間で実施されるデータの書き込み及び読み出しは、全て非同期で実施されてもよい。
次に、本実施形態に係るサーバシステム1における各サーバの状態の一例について説明する。
図3は、第1実施形態に係るサーバシステムにおけるサーバの状態の一例を示す図である。なお、図3中において、線320等の実線で表されている矢印は、データを送る方向を示し、線330のように点線で表される矢印は、データを複製する方向を示し、線340のように破線で表される矢印は、サーバ間の通信を要請する方向を示している。
図3の例では、各組織の活動情報は、種類Aと種類Bとの情報(部分情報)に分割されて管理されている。なお、図3の例では、活動情報は、種類Aと種類Bとの2つに分割されているが、これに限定されるものではなく、活動情報は分割されていなくてもよく、3つ以上に分割されてもよい。活動情報の分割ルールは、例えば、図3の例では、端末装置200のデータを種類Bとし、端末装置210のデータを種類Aとするようにしているが、例えば、医療施設に関わる活動情報を種類Aとし、物資供給に関わる情報を種類Bとするように活動情報の内容に応じて分割してもよく、端末装置から書き込まれた時刻が偶数分であったら種類Aとし、奇数分であったら種類Bとしてもよく、これらに限定されるものではない。
一方、活動情報解析装置300からの解析結果は、図3に示す例では、種類Cと、種類Dとの情報(部分情報)に分割されているが、活動情報と同様に、分割する種類の数や、分割ルールについては、これに限定されない。
ここで、端末装置が直接情報を読み書きするサーバ(110,120,130)の記憶領域を主レコードといい、主レコードに書き込まれたデータが複製される記憶領域を副レコードという。また、種類A、B、C、Dのデータについての主レコードを、それぞれ主レコードA、主レコードB、主レコードC、主レコードDという。同様に、種類A、B、C、Dのデータについての副レコードを、それぞれ副レコードA、副レコードB、副レコードC、副レコードDという。
図3の例では、端末装置210の活動情報、すなわち種類Aの情報が書き込まれる主レコードAは、主レコードA1251としてサーバ120に配置され、主レコードA1251のデータの複製が格納される副レコードAは、副レコードA1151としてサーバ110に配置され、副レコードA1351としてサーバ130に配置されている。
また、端末装置200の活動情報、すなわち種類Bの情報が書き込まれる主レコードBは、主レコードB1152としてサーバ110に配置され、主レコードB1252のデータの複製が格納される副レコードBは、副レコードB1252としてサーバ120に配置されている。
解析結果の種類Cの情報が書き込まれる主レコードCは、主レコードC1241としてサーバ120に配置され、主レコードC1241のデータの複製が格納される副レコードCは、副レコードC1141としてサーバ110に配置され、副レコードC1341としてサーバ130に配置されている。
また、解析結果の種類Dの情報が書き込まれる主レコードDは、主レコードD1142としてサーバ110に配置され、主レコードD1142のデータの複製が格納される副レコードDは、副レコードD1242としてサーバ120に配置されている。
図3の例では、活動情報の種類Aの情報と、解析結果の種類Cの情報との、主レコードと副レコードの構成及び配置は同様であり、活動情報の種類Bの情報と、解析結果の種類Dの情報との、主レコードと副レコードの構成及び配置は同様となっているが、それぞれの種類の主レコードと副レコードの構成や配置は、同様でなくてもよい。
各サーバ110,120,130が保有するサーバ間連携部111,121,131は、自サーバが保有する副レコードに対応する主レコードを持つサーバに対して通信を要請して、主レコードのデータを取得し、副レコードに複製する。例えば、サーバ110のサーバ間連携部111は、保有する副レコードA1151,C1141に対応する主レコードA1251,C1241を保有するサーバ120のサーバ間連携部121に通信を要請して、主レコードのデータを副レコードに複製する。
同様に、サーバ120のサーバ間連携部121は、保有する副レコードB1252,副レコードD1242に対応する主レコードB1152,主レコードD1142を保有するサーバ110のサーバ間連携部111に対して通信を要請して、主レコードのデータを副レコードに複製する。
また、サーバ130のサーバ間連携部131は、保有する副レコードA1351,副レコードC1341に対応する主レコードA1251,主レコードC1241を保有するサーバ120のサーバ間連携部121に対して通信を要請して、主レコードのデータを副レコードに複製する。
なお、各レコードのデータの通信については、各サーバ間連携部は、一方的に通信を要請するが、複数のレコードがある場合には、結果として各サーバ間連携部が双方に通信を要請している状態となることもある。
次に、主レコードと、副レコードとの配置の入れ替えを行った場合のサーバの状態を説明する。
図4は、図3に示すサーバの状態から主副レコードの入れ替えを行った場合のサーバの状態を示す図である。
図4においては、図3に示すサーバ120の主レコードA1251と主レコードC1241と、サーバ130の副レコードA1351と副レコードC1341との主副レコードの配置が入れ替えられている。
これにより、サーバ120には、主レコードA1251に代えて、副レコードA1253が配置され、主レコードC1241に代えて、副レコードC1243が配置される。一方、サーバ130には、副レコードA1351に代えて、主レコードA1352が配置され、副レコードC1341に代えて、主レコードC1342が配置される。
この変更により、端末装置210は、活動情報の種類Aの情報を、サーバ130の主レコードA1352に格納することとなる。また、副レコードA1151が配置されているサーバ110のサーバ間連携部111は、主レコードAが配置されているサーバ130のサーバ間連携部131に主レコードA1352の情報を要求する。また、副レコードA1253が配置されているサーバ120のサーバ間連携部121は、主レコードAが配置されているサーバ130のサーバ間連携部131に主レコード1352Aの情報を要求する。
次に、サーバシステム1におけるサーバ群100から解析結果を取得する際のデータフローについて説明する。
図5は、第1実施形態に係るサーバシステムにおける解析結果の取得におけるデータフローを説明する図である。
サーバ群100(110,120,130)に格納されている解析結果を取得する場合には、端末装置200は、取得対象の種類の解析結果を格納している主レコードから解析結果を取得する。具体的には、種類Cの解析結果については、端末装置200の解析結果取得部201は、種類Cの主レコードである主レコードC1241が格納されているサーバ120を特定し、そのサーバ120の解析結果DB124の主レコードC1241から解析結果を取得する。一方、種類Dの解析結果については、端末装置200の解析結果取得部201は、種類Dの主レコードである主レコードD1142が格納されているサーバ110を特定し、そのサーバ110の解析結果DB114の主レコードD1142から解析結果を取得する。
次に、サーバシステム1における活動情報解析装置300による解析処理及び解析結果の格納におけるデータフローについて説明する。
図6は、第1実施形態に係る解析処理及び解析結果の格納におけるデータフローを説明する図である。サーバ群100が図3に示す状態において、活動情報解析装置300が活動情報をサーバ群100の活動情報DBから取得し、解析結果をサーバ群100の解析結果DBに格納する際のデータフローを示している。
活動情報解析装置300の活動情報取得部304は、活動情報の各種類の情報を、それぞれの主レコードから取得して集約する。具体的には、活動情報取得部304は、種類Aの情報については、サーバ120の活動情報DB125の主レコードA1251から取得し、種類Bについては、サーバ110の活動情報DB115の主レコードB1152から取得する。
インテリジェンス導出部303は、活動情報取得部304により集約された活動情報を用いて解析処理を行い、解析結果を情報形式変換部302に渡す。情報形式変換部302は、解析結果を解析結果DBに格納可能なファイル形式にし、解析結果配信部301に渡す。解析結果配信部301は、解析結果の中の種類Cの情報については、サーバ120の解析結果DB124の主レコードC1241に格納し、種類Dの情報については、サーバ110の解析結果DB114の主レコードD1142に格納する。
なお、図6においては、活動情報解析装置300及び活動情報解析装置300の構成要素は、それぞれ1つずつとしているが、これに限定されるものではない。例えば、活動情報取得部304を複数用意し、活動情報の主レコードC1241の情報を読み出す活動情報取得部、活動情報の主レコードD1142の情報を読み出す活動情報取得部のように、各活動情報取得部が、異なる主レコードからデータを読み出すようにしてもよい。また、複数のインテリジェンス導出部303を用意し、それらによって活動情報を並列に解析して、解析結果を得てもよい。また、複数の解析結果配信部を用意し、解析結果の種類Cのデータを主レコードC1241に書き込む解析結果配信部、解析結果の種類Dのデータを主レコードD1142に書き込む解析結果配信部のように、各解析結果配信部が、異なる解析結果の主レコードにデータを書き込んでもよい。
次に、メタデータDB116,126,136に格納されるメタデータ400について説明する。
図7は、第1実施形態に係るメタデータを説明する図である。図7は、メタデータ400として格納されているメタデータの種類と、図3に示す状態でのサーバ110におけるメタデータ400の具体例と、メタデータの更新タイミングとを示す。
メタデータ400としては、管理レコード401と、サーバ群のサーバ設定情報402と、関連レコードを保有するサーバの状況403と、関連レコードを保有するサーバの危険度指数404と、情報分割ルール405とがある。
管理レコード401は、サーバ群100が管理している情報の種類及び種類ごとのレコード数のデータである。図7の例では、管理レコード401は、活動情報について、種類A,種類Bのそれぞれのレコードが存在し、解析結果について、種類C、種類Dのそれぞれのレコードが存在することを示している。管理レコード401は、例えば、管理レコードを設定した場合に更新される。
サーバ群のサーバ設定情報402は、サーバ群100を構成する各サーバについての設定情報である。サーバ群のサーバ設定情報402としては、例えば、サーバに配置されたレコードの内容と、サーバの設置位置を示す設置位置情報(例えば、その位置の緯度及び経度)等がある。図7の例では、サーバ群のサーバ設定情報402は、サーバ110は、レコードA、B、C、Dを保有し、設置位置は、緯度X、経度Yであり、サーバ120は、レコードA、B、C、Dを保有し、設置位置は、緯度X’、経度Y’であり、サーバ130は、レコードA、Cを保有し、設置位置は、緯度X’’、経度Y’’である。サーバ群のサーバ設定情報402は、設定情報に変更があった場合に更新される。
関連レコードを保有するサーバの状況403は、データデータ400を格納しているサーバが保持するレコードと関連するレコード、すなわち、副レコードに対応する主レコード又は副レコードに対応する主レコードを、保有するサーバについての状況を示す情報である。関連レコードを保有するサーバの状況403は、例えば、サーバからの応答があるか否かの情報や、主レコードのデータを副レコードに複製した割合(複製率)等である。図7の例では、関連レコードを保有するサーバの状況403は、サーバ120から応答があり、サーバ120の副レコードの複製率が95%であることを示している。関連レコードを保有するサーバの状況403は、例えば、定期的に更新される。
関連レコードを保有するサーバの危険度指数404は、関連するレコードを保有するサーバに関する危険度指数である。図7の例では、関連レコードを保有するサーバの危険度指数404は、サーバ120の危険度指数が0.8であることを示している。関連レコードを保有するサーバの危険度指数404は、例えば、定期的に更新される。
情報分割ルール405は、活動情報や、解析情報を分割するルールである。図7の例では、情報分割ルール405は、活動情報については、Lに関しては種類Aとし、Mに関しては種類Bとし、解析結果については、Nに関しては種類Cとし、Oに関しては種類Dとして分割するとのルールとなっている。情報分割ルール405は、例えば、設定時のみ更新される。
メタデータ400の中の各サーバで共通に管理すべきデータについては、各サーバのサーバ間連携部111,121,131によって、情報交換されている。
次に、サーバシステム1における処理動作について説明する。
まず、サーバ群100のサーバに端末装置からシステムへの接続要請(システム接続要請)があった場合のシステム接続要請対応処理について説明する。
図8は、第1実施形態に係るシステム接続要請対応処理のフローチャートである。なお、以下の例では、サーバ110の処理として説明するが、他のサーバでも同様な処理が行われる。
サーバ110のサーバ間連携部111は、端末装置からシステム接続要請を受信すると(ステップ501)、メタデータ400の情報分割ルール405を参照して、システム接続要請に対応する情報の種類を特定し、メタデータのサーバ群のサーバの設定情報402を参照して、特定した種類に関連するレコード(主レコード及び副レコード)を保有するサーバを特定し、特定したサーバの1つを対象として、主レコード又は副レコードのいずれを保有しているかを問い合わせる(ステップ502)。
問合せ先のサーバから応答を得た場合には、サーバ間連携部111は、主レコードを保有しているサーバであるか否かを確認し(ステップ503)、主レコードを保有していないサーバである場合(ステップ503:NO)には、処理をステップ502に進めて、他のサーバに対して問い合わせを行う。
一方、主レコードを保有しているサーバである場合(ステップ503:YES)には、サーバ間連携部111は、主レコードを保有するサーバのサーバIDを取得し(ステップ504)、システム接続要請の要請元の端末装置に対して、今後の接続先のサーバのサーバIDとして、取得したサーバIDを送信する(ステップ505)。
例えば、サーバ群100の状態が図3に示す場合において、端末装置200からサーバ120に対して端末装置200の活動情報のデータを格納させるシステム接続要請があった場合には、端末装置200の活動情報の種類は、種類Bであり、ステップ502では、種類Bのレコード(すなわち、レコードB)を保有するサーバ110,120が特定される。サーバ110に問合わせると、ステップ503でサーバ110のレコードが主レコードであるとの応答が得られるので、ステップ504で、サーバ間連携部121は、主レコードを保有するサーバ110のサーバIDを取得し、ステップ505で端末装置200に今後のアクセス先が、取得したサーバIDのサーバ110であることを送信する。これにより、端末装置200は、活動情報のデータの格納については、サーバ110にアクセスすることとなる。
なお、端末装置が新規に接続する場合に限らず、例えば、端末装置の活動情報を、その活動情報の種類を格納する主レコードを保持しないサーバに対して格納要請をした場合にもシステム接続要請対応処理同様な処理が行われて、主レコードを保持するサーバを端末装置に通知するようにしてもよい。
次に、サーバ群100を構成する各サーバで実施されるルーティン処理について説明する。
図9は、第1実施形態に係るルーティン処理のフローチャートである。
ルーティン処理は、自他サーバの状態を確認する処理(ステップ510~512)と、主副レコードの配置を入れ替える処理(ステップ513)と、レコードの複製数の増加を検討する処理(ステップ514~518)とに大別される。
サーバのサーバ間連携部は、自サーバが保有する活動情報と解析結果とのレコードに対応するレコードを保有するサーバ(関連サーバ)に対して、稼働中であるか否かの問合せを行って応答状況を確認する(ステップ510)。次いで、サーバは、外部動態情報DB310から、自サーバ及び関連サーバの設置位置を含む範囲の動態情報を取得する(ステップ511)。次いで、サーバは、動態情報に基づいて、後述する方法により、各サーバの危険度を計算し、危険度を危険度動態DBに格納する(ステップ512)。
次いで、サーバは、自サーバが保有するレコード毎に、主副レコード配置入替制御処理を実行する(ステップ513)。主副レコード配置入替制御処理には、副レコードを対象にする主副レコード配置制御処理(図10参照)と、主レコードを対象にする主副レコード配置制御処理(図11参照)とがある。
次いで、サーバは、複製数の足りないサーバがあるか否かを判定する(ステップ514)。この結果、複製数の足りないサーバがない場合(ステップ514:NO)には、サーバは、処理をステップ516に進める。一方、複製数の足りないサーバがある場合(ステップ514:YES)には、サーバは、サーバ群100の各サーバに対して新規の副レコードの作成要請(新規副レコード作成要請)を行い(ステップ515)、処理をステップ516に進める。
ステップ516では、サーバは、他サーバから新規の副レコードの作成要請(新規副レコード作成要請)があったか否かを判定する(ステップ516)。ここで、ルーティン処理は、他のサーバでも、例えば、非同期で実施されているため、他のサーバで実施されたステップ515の新規副レコード作成要請を受ける可能性がある。そこで、ステップ516では、所定の期間だけ、他サーバからの新規副レコード作成要請を待つこととしている。所定の期間としては、例えば、1回のルーティン処理にかかる時間に基づいて、ある一定期間、例えば1回のルーティン処理にかかる時間の平均が1分であったら、30秒間としてもよい。所定の期間は、上記に限られず、サーバシステム1のサーバ数や、レコード数や、サーバの性能等といったシステムの規模や性能によって任意の期間としてもよい。
次いで、他サーバから新規副レコード作成要請が無かった場合(ステップ516:NO)には、サーバは、処理をステップ510に進める一方、他サーバから新規副レコード作成要請があった場合(ステップ516:YES)には、自サーバにレコードを新規に作成する資格があるか否かを判断する(ステップ517)。具体的には、サーバは、危険度動態DBからこれまでに計算された自サーバの危険度を取得し、この危険度から危険度指標を計算し、新規にレコードを作成する資格があるか否かを判断する。
この結果、自サーバに新規にレコードを作成する資格がないと判断した場合(ステップ517:NO)には、サーバは、処理をステップ510に進める。一方、自サーバに新規にレコードを作成する資格があると判断した場合(ステップ517:YES)には、サーバは、要請されたレコードを作成し、全サーバに対してレコードを作成したことを連絡し(ステップ518)、処理をステップ510に進める。
なお、ルーティン処理においては、便宜上ステップ510から開始するとして説明したが、ルーティン処理は、サーバが稼働している間に、常に実施される処理であるため、ステップ510から始めることに限定されず、自他サーバの状態を確認する処理(ステップ510~512)と、主副レコードの配置を入れ替える処理(ステップ513)と、レコードの複製数の増加を検討する処理(ステップ514~518)とのいずれかの最初のステップから処理を開始してもよい。
次に、ルーティン処理を、図3に示す状態のサーバシステム1において、サーバ110が実施する場合を例に具体的に説明する。
まず、サーバ110は、メタデータ400を照会し、サーバ110が保有する活動情報のレコードA,Bと、解析結果のレコードC,Dのいずれかを保有するサーバ120とサーバ130とに対して、稼働中であるか否かの問い合わせを行う(ステップ510)。そして、サーバ110は、外部動態情報DB310から、自サーバ110の設置位置を含む範囲のデータと、関連サーバであるサーバ120,130の設置位置を含む範囲のデータを取得する(ステップ511)。次に、サーバ110は、ステップ511で取得したデータに基づいて、各サーバの危険度計算し、危険度動態DB113に計算結果を保存する(ステップ512)。
次に、サーバ110は、副レコードA1151、副レコードC1141、主レコードB1152、主レコードD1142に関して、それぞれ独立に主副レコード配置入替制御処理を実施する(ステップ513)。
主副レコード配置入替制御処理を実施後、サーバ110は、ステップ510で確認した、保有するレコードに関する副レコードを保有する他サーバの稼働数に基づいて、レコードの複製数の増加を検討する処理を実施する。例えば、サーバ110がステップ510で、サーバ130の稼働を確認できなかった場合には、活動情報のレコードAと、解析結果のレコードCに関するレコードの複製数(副レコードの数)が1つであると認識する。活動情報のレコードAと、解析結果のレコードCとのそれぞれに関するレコードの最低複製数が2であった場合には、ステップ514で複製数の足りないレコードが存在すると判断されるので、サーバ110は、サーバ群100の全サーバに対して、活動情報のレコードAと、解析結果のレコードCに関する副レコードの新規作成を要請する(ステップ515)。
ステップ516では、他のサーバから副レコードの新規作成要請がなかった場合、1回分のルーティン処理を終えたことになり、処理をステップ510に進める。ステップ516で他サーバから新規副レコード作成要請があった場合、サーバ110は、危険度動態DB113のこれまでに計算されたサーバ110の危険度から、危険度指標を計算し、現時点でサーバ110が新規にレコードを増やす資格があるか否かを判断し、資格があれば、新規レコードを作成し、メタデータ400を照会し、全サーバに、サーバ110が新規に副レコードを作成したことを伝え、処理をステップ510に進める。これにより、サーバ110に新たな副レコードが追加することができ、他のサーバに副レコードが追加されたことを把握させることができる。
次に、ステップ513における主副レコード配置制御処理の中の副レコードを対象にする主副レコード配置制御処理について説明する。
図10は、第1実施形態に係る副レコードが配置されたサーバによる主副レコード配置入替制御処理のフローチャートである。
サーバのサーバ適正度判定部は、危険度動態DBにアクセスし、これまでに計算されたサーバの危険度から、現時点でのサーバの危険度指標を計算し、サーバが処理対象のレコード(対象レコードという)についての主レコードを保有する資格があるか否かを判断する(ステップ520)。この結果、主レコードを保有する資格がないと判断した場合(ステップ520:NO)には、サーバは処理を終了し、ルーティン処理のステップS514に処理を進める。
一方、主レコードを保有する資格があると判断した場合(ステップ520:YES)には、サーバは、危険度動態DBにアクセスし、対象レコードの主レコードを保有するサーバ(保有サーバ)について、これまでに計算された保有サーバの危険度と、自サーバの危険度とを比較し、現時点において、自サーバと保有サーバとのどちらに主レコードを配置するのが相応しいかを比較し(ステップ521)、自サーバの副レコードと、保有サーバの主レコードとの配置を入れ替える必要があるか否かを判断する(ステップ522)。
この結果、自サーバの副レコードと、保有サーバの主レコードとの配置を入れ替える必要がないと判断した場合(ステップ522:NO)には、サーバは処理を終了する。一方、自サーバの副レコードと、保有サーバの主レコードとの配置を入れ替える必要があると判断した場合(ステップ522:YES)には、サーバは、保有サーバに、主副レコードを入れ替える要請(入替要請)を送信する(ステップ523)。
次いで、サーバは、所定の期間(例えば、10秒)待って、保有サーバに入替要請が受理されたか否かを判定する(ステップ524)。ここで、所定の期間は、上記に限られず、サーバシステム1のサーバ数や、レコード数や、サーバの性能等といったシステムの規模や性能によって任意の期間としてもよい。この結果、入替要請が受理されていない場合(ステップ524:NO)には、処理を終了する。一方、入替要請が受理された場合(ステップ524:YES)には、サーバは、主副レコードの入替処理を実行し(ステップ525)、自サーバ及び保有サーバ以外の対象レコードを保有するサーバに対して、主副レコードの入れ替えを実施したことを通知し、処理を終了する。このように、主副レコードの配置を入れ替えた場合には、今後は、自サーバが主レコードを保有するサーバとして機能するようになる。
次に、副レコードを対象にする主副レコード配置制御処理について、図3に示す状態のサーバシステム1において、サーバ130が保有する活動情報の副レコードA1351を対象として実施する場合を例に具体的に説明する。
サーバ130は、危険度動態DB133にアクセスし、これまでに計算されたサーバ130の危険度から、現時点でのサーバ130の危険度指標を計算し、サーバ130が活動情報の種類Aの情報についての主レコードを保有する資格があるか否かを判断する(ステップ520)。サーバ130が主レコードを保有する資格がないと判断した場合(ステップ520:NO)には、処理を終了し、サーバ130は、ルーティン処理のステップ514に処理を進める。一方、サーバ130が主レコードを保有する資格があると判断した場合(ステップ520:YES)、サーバ130は、危険度動態DB133にアクセスし、活動情報の種類Aの情報についての主レコードを保有しているサーバ120について、これまでに計算されたサーバ120の危険度から、現時点において、サーバ120とサーバ130とのどちらが主レコードを保有するのが相応しいかを比較し(ステップ521)、判断する(ステップ522)。
ステップ522において、サーバ120の方が、サーバ130よりも主レコードを保有するに相応しく、主副レコードの配置の入替の必要性がない判断した場合(ステップ522:NO)には、処理を終了する。一方、ステップ522において、サーバ120よりもサーバ130の方が主レコードを保有するに相応しく、主副レコードの配置の入替の必要性があると判断した場合(ステップ522:YES)、サーバ130は、サーバ120に対して、主副レコード配置入替の要請を送信し、受理された場合(ステップ524:YES)には、主副レコードの入替を実施し(ステップ525)、サーバ130とサーバ120以外の活動情報の種類Aのレコードを保有するサーバ、すなわち、サーバ110に対して、サーバ130とサーバ120との間で主副レコードの配置の入替を実施したことを伝える。これにより、サーバ130の活動情報の種類Aの副レコードA1351は、図4に示すように、主レコードA1352として機能し、サーバ120の主レコードA1251は、図4に示すように副レコードA1253として機能するようになる。
次に、ステップ513における主副レコード配置制御処理の中の主レコードを対象にする主副レコード配置制御処理について説明する。
図11は、第1実施形態に係る主レコードが配置されたサーバによる主副レコード配置入替制御処理のフローチャートである。
サーバのサーバ適正度判定部は、危険度動態DBにアクセスし、これまでに計算されたサーバの危険度から、現時点でのサーバの危険度指標を計算し、サーバがレコードついての主レコードを保有する資格があるか否かを判断する(ステップ530)。この結果、主レコードを保有する資格があると判断した場合(ステップ530:YES)には、主副レコードの配置の入替を行う必要がないので、サーバは処理を終了し、ルーティン処理のステップS514に処理を進める。
一方、主レコードを保有する資格がないと判断した場合(ステップ530:NO)には、所定の期間、例えば10秒間において、処理対象の情報の副レコードを保有するサーバからの主副レコードの配置の入替の要請(主副レコード配置入替要請)を受け付ける(ステップ531)。ここで、所定の期間は、上記に限られず、サーバシステム1のサーバ数や、レコード数や、サーバの性能等といったシステムの規模や性能によって任意の期間としてもよい。
次いで、サーバは、主副レコード配置入替要請があったか否かを判定し(ステップ532)、この結果、主副レコード配置入替要請がなかった場合(ステップ532:NO)には、処理をステップ530に進める。
一方、主副レコード配置入替要請があった場合(ステップ532:YES)には、入替先を決定し、決定した入替先のサーバに対して入替要請受理を送信する(ステップ533)。サーバは、例えば、1つのサーバからのみ主副レコード配置入替要請を受け取った場合には、このサーバを入替先と決定する一方、複数のサーバから主福レコード入替要請を受け取った場合には、各サーバの危険度と、各サーバの副レコードの主レコードの情報についての複製率とに基づいて、入替先のサーバを決定する。
次いで、サーバは、入替先のサーバとの間で主副レコードの配置の入替処理を実施し(ステップ534)、処理を終了する。
次に、主レコードを対象にする主副レコード配置制御処理について、図3に示す状態のサーバシステム1において、サーバ120が保有する活動情報の主レコードA1251を対象として実施する場合を例に具体的に説明する。
サーバ120は、危険度動態DB123にアクセスし、これまでに計算されたサーバ120の危険度から、現時点においてサーバ120が主レコードを保有する資格があるか否かを判断する(ステップ530)。ステップ530で、主レコードを保有する資格があると判断された場合(ステップ530:YES)、サーバ120は、処理を終了し、ルーティン処理のステップ514に処理を進める。一方、ステップ530で、サーバ120が主レコードを保有する資格がないと判断された場合(ステップ530:NO)、所定の期間(例えば10秒間)、活動情報の種類Aの副レコード(副レコードA)を保有するサーバである、サーバ110とサーバ130とからの主副レコード配置入替要請を受け付ける(ステップ531)。
ステップ531で、サーバ110またはサーバ130の一方のみから主副レコード配置入替要請があった場合、例えばサーバ130のみから主副レコード配置入替要請があった場合、サーバ130に対して入替要請受理(ステップ533)を伝える。これにより、サーバ130では、ステップ524とステップ525の処理が実施され、サーバ120は、サーバ130との間で主副レコードの配置の入替を行う(ステップ534)。この結果、図3に示すシステムの状態は、図4に示す状態に遷移する。すなわち、サーバ120の活動情報の種類Aの副レコードA1351は、図4に示すように、主レコード1352Aとして機能し、サーバ130の副レコードA1251は、図4に示すように副レコードA1253として機能するようになる。
一方、サーバ110とサーバ130とからレコード入替要請があった場合、サーバ120は、危険度動態DB123にアクセスし、これまでに計算されたサーバ110とサーバ130との危険度を特定するとともに、サーバ120の持つメタデータから、副レコードA1151と、副レコードA1351についての主レコードA1251に対する複製率を特定し、危険度と複製率とを総合的に考慮し、いずれのサーバを入替先とするかを判断する。例えば、サーバ110の危険指数が0.8であり、副レコードA1151の複製率は80%であり、サーバ130の危険指数が0.9であり、副レコードA1351の複製率が99%であるとした場合に、比較するレコードの指標を、(レコード複製率)/(サーバの危険指数)とすると、サーバ110の副レコードA1151についての指標は、100であり、サーバ130の副レコードA1351についての指標は、110となる。この場合には、サーバ120は、指標の値が大きいサーバ130の副レコードA1351の方が、主レコードとして適切であると判断して入替先として決定し(ステップ533)、サーバ120は、サーバ130に対して、主副レコード配置入替要請の受理を伝える。これにより、サーバ130では、ステップ524とステップ525の処理が実施され、図3に示すシステムの状態は、図4に示す状態に遷移する。
次に、主レコードに書き込まれたデータを副レコードに複製するレコード間の複製処理について説明する。
図12は、第1実施形態に係るレコード間の複製処理のフローチャートである。
レコード間の複製処理は、副レコードを保有する各サーバが副レコード毎に実施する処理である。この処理は、例えば、副レコード毎に独立且つ並列に常時実施される。
まず、複製処理の複製先の副レコードを保有するサーバ(副レコード保有サーバ)は、副レコードに複製された最新のデータを確認し、最新のデータを、複製元の主レコードを保有するサーバ(主レコード保有サーバ)に送信する(ステップ540)。
主レコード保有サーバは、副レコード保有サーバから送信された副レコードでの最新のデータの内容に基づいて、主レコードに書き込まれたデータと副レコードのデータとの差分量を計算し、差分量を副レコード保有サーバに送信する(ステップ544)。
副レコード保有サーバは、副レコードと主レコードとの差分があるか否か、すなわち、主レコード保有サーバからの送信された差分量のデータの読み出しが完了したか否かを判定する(ステップ541)。この結果、差分量のデータの読み出しが完了していない場合(ステップ541:YES)には、副レコード保有サーバは、主レコード保有サーバから送られてきた差分量に基づいて、主レコードから1回のアクセスで読み出すデータ量を計算し、算出したデータ量のデータを主レコードから読み出す(ステップ542)。例えば、1回のアクセスで読み出すデータ量としては、システムのサーバ数やレコード数やサーバの性能等に基づいて決定してもよく、例えば、データの差分量が10MBである場合に、1回のアクセスで読み出すデータ量を100KBとしてもよい。
次いで、副レコード保有サーバは、主レコードから読み出したデータを副レコードに書き込み(ステップ543)、処理をステップ541に進める。以降は、副レコード保有サーバは、主レコード保有サーバから送られてきた差分量のデータを読み出すまでステップ541~543までの処理を繰り返し実行する。
一方、副レコードと主レコードとの差分がない場合、すなわち、副レコードと主レコードの差分がもともとなかった場合、又は差分量のデータを主レコードから読み出した場合(ステップ541:NO)には、副レコード保有サーバは、処理をステップ540に進める。
次に、レコード間の複製処理について、図3に示す状態のサーバ110の活動状態の種類Aの副レコードA1151に対して、サーバ120の活動状態の種類Aの主レコードA1251に書き込まれたデータを複製する場合を例に具体的に説明する。なお、このレコード間の複製処理は、サーバ130の活動状態の種類Aの副レコードA1351に対して、サーバ120の活動状態の種類Aの主レコードA1251に書き込まれたデータを複製する複製処理とは、独立且つ平行して実施される。
まず、サーバ110は、副レコードA1151に複製された最新のデータを確認し(ステップ540)、最新のデータをサーバ120に送信する(ステップ540)。サーバ120は、サーバ110から送られた副レコードA1151の最新のデータの内容と、主レコードA1251に書き込まれたデータの差分量を計算し、差分量をサーバ110に送信する(ステップ544)。
サーバ110は、サーバ120から送信された差分量に基づき、主レコードA1251から一度のアクセスで読み出すデータ量を計算し、これに従って、主レコードA1251記録されたデータを読み出し(ステップ542)、副レコードA1151に書き込む(ステップ543)。サーバ110は、サーバ12から送信された差分量のデータを全て受信するまで、ステップ542及びステップ543の処理を実行する。サーバ110は、差分量のデータを全て受信した場合(ステップ541:NO)には、再びステップ540からの処理を実行する。
次に、ステップ511及び512で実行される外部動態情報DB310から取得したデータに基づいて、各サーバの設置地域におけるサーバが影響を受ける危険度を計算する方法について図13A~図13Dを参照して説明する。
図13Aは、第1実施形態に係る停電区域データを説明する図である。図13Bは、第1実施形態に係る河川氾濫区域データを説明する図である。図13Cは、第1実施形態に係る危険度計算処理のフローチャートである。図13Dは、第1実施形態に係る危険度計算結果を説明する図である。
まず、外部動態情報DB310に格納されたデータについて説明する。外部動態情報DB310には、図13Aに示す停電区域を示す停電区域データ600が格納される。停電区域データ600においては、停電区域を含む行政区画を示す、図中実線で示されたポリゴン601が含まれている、また、外部動態情報DB310には、図13Bに示す河川氾濫区域データ603が格納されている。河川氾濫区域データ603には、河川氾濫が発生した区域を含む行政区画を示す、図中実線で示されたポリゴン604が含まれている。
次に、外部動態情報DB310に格納された停電区域データ600及び河川氾濫区域データ603を利用した危険度計算処理の動作を、図13Cを参照して説明する。
図13Cに示す危険度計算処理は、各サーバ110,120,130のサーバ適正度判定部112,122,132のそれぞれによって独立して実行される。
サーバ適正度判定部は、メタデータを参照し、自分が属するサーバ(自サーバ)が保持するレコードに関連するレコードを保持するサーバ(関連サーバ)を特定し、関連サーバと、自サーバの設置位置周辺、すなわち設置位置を含むその周囲についての最新の停電区域データ600と河川氾濫データ603とを外部動態情報DB310から取得する(ステップ550)。
次いで、サーバ適正度判定部は、外部動態情報DB310から取得した停電区域データ及び河川氾濫データについて、災害が発生した範囲(ここでは、停電区域及び河川氾濫区域)を示すポリゴンを囲む領域、例えば、緯度と経度とのそれぞれの軸に平行な辺で囲まれた矩形(長方形、又は正方形)を特定する(ステップ551)。例えば、サーバ適正度判定部は、停電区域データ600について、図13Aに示す停電区域を示すポリゴン(ポリゴン601等)を囲む破線で表された矩形(矩形602等)を特定するとともに、河川氾濫データ603について、図13Bに示す河川氾濫区域を示すポリゴン(ポリゴン604等)を囲む破線で表された矩形(矩形605等)を特定する。
次いで、サーバ適正度判定部は、停電区域データ600と河川氾濫区域データ603に含まれる各ポリゴンを囲む全ての矩形について、その頂点の緯度と経度の値毎に、昇順または降順に並べた数列を作成し、緯度又は経度の数列中の各値に対して、前後の値の間隔が、必要な精度に対して狭すぎる場合には、その値と前後の値とを、前後の値の平均値に置き換える等して、数列の値の個数を減らして適切な値の数列に調整し、調整後の数列中の各値を格子の位置とするメッシュ(例えば、図13Dで点線として示されるメッシュ)を作成する(ステップ552)。
次いで、サーバ適正度判定部は、作成したメッシュの各区画について、その区画が停電区域データ600中のポリゴンの内側に含まれるか否か、及び、その区画が河川氾濫区域データ603中のポリゴンの内側に含まれるか否かに基づいて、各区画の危険度を計算する(ステップ553)。例えば、区画が停電区域データ600中のポリゴンの内側に含まれる場合は、その区画の計算用危険度に0.80を加算し、区画が河川氾濫区域データ603中のポリゴンの内側に含まれる場合は、その区画の計算用危険度に0.90を加算し、各区画の計算用危険度に対して規格化処理を行う(ここでは、2つのデータを用いているため計算用危険度を2で除算する)ことにより得られた値を、その区画の危険度とする。例えば、対象となる区画が、停電区域データ600中のポリゴンの内側に含まれるとともに、河川氾濫区域データ603中のポリゴンの内側に含まれる場合には、計算用危険度が0.80+0.90=1.7となり、最終的な危険度が0.85となる。
ステップ553の処理により、各区画の危険度は、例えば、図13Dに示すようになる。
図13Dにおいては、危険度0.85の区画を網掛け表示し、危険度がそれ以下の区画については、危険度を0とし、特に装飾表示していない。
次いで、サーバ適正度判定部は、サーバが保有するメタデータから関連サーバの位置を特定し、メッシュにおける関連サーバの設置位置が属する区画を同定し、その区画における危険度を、計算を実行した時刻におけるサーバの稼働に関する危険度として、危険度動態DBに書き込む(ステップ554)。なお、ステップ550で過去の或る時点のデータを取得する場合には、その区画における危険度は、過去の或る時点におけるサーバの危険度としてもよい。
図13Dにおける十字マーカ605,606,607は、各サーバの設置位置を示している。例えば、図13Cに示す危険度計算処理が、例えば、所定の時点(例えば発災時点)から12時間後に実施されたとし、サーバ110の設置位置が十字マーカ605で示され、サーバ120の設置位置が十字マーカ606で示され、サーバ130の設置位置が十字マーカ607で示されているとすると、発災後12時間後においては、サーバ110の危険度は、0.00であり、サーバ120の危険度は0.85であり、サーバ130の危険度は0.00として特定され、危険度動態DBに書き込まれる。
次に、図13Dの危険度計算処理によって計算された結果と、各レコードの複製率との利用方法の例について図14A、図14B、及び図14Cを参照して説明する。
図14Aは、第1実施形態に係る危険度変動を示す図である。図14Bは、第1実施形態に係る複製率変動を示す図である。図14Cは、第1実施形態に係る将来の予測も含む危険度変動を示す図である。
ステップ517(図9)、ステップ520(図10)、ステップ530(図11)において実施される処理は、例えば、発災から96時間後である処理時点(現時点)までに各サーバの危険度動態DBに書き込まれた図14Aに示す各サーバの危険度変動610と、図14Bに示す各レコードの複製率変動615とに基づいて実施される。
ここでは、例えば、サーバシステム1の状態が図3に示す状態であるとする。さらに、図10の副レコードを保持するサーバにおける主副レコード配置入替制御処理をサーバ110のサーバ適正度判定部112が実施し、図11の主レコードを保持するサーバにおける主副レコード配置入替制御処理をサーバ120のサーバ適正度判定部122が実施するものとする。また、サーバ危険度変動610には、図14Aに示すように、サーバ110の危険度が、危険度変動611と平常危険度範囲614とに示す状態であり、サーバ120の危険度が、危険度変動612と平常危険度範囲615とに示す状態であり、サーバ130の危険度が、危険度変動613と平常危険度範囲616とに示す状態であることが含まれているものとする。なお、平常危険度範囲614、615、616は、平常であればその範囲に属すると想定される危険度の範囲である。また、レコード複製率変動617には、サーバ110の副レコードA1151の複製率が、レコード複製率変動618と平常複製率範囲620とに示す状態であり、サーバ130の副レコードA1351の複製率がレコード複製率変動619と平常複製率範囲621とに示す状態であることが含まれているものとする。なお、平常複製率範囲620、621とは、平常であれば、その範囲に属すると想定される複製率の範囲である。
サーバ110のサーバ適正度判定部112は、ステップ520において、サーバ110の情報である、危険度変動611と、平常危険度範囲614と、複製率変動619と、平常複製率範囲621とだけに着目してもよい。サーバ適正度判定部112は、発災から96時間後の現時点における最新のサーバ110の危険度を、設定された閾値、例えば危険度0.70を超えているか否かを判断し、危険度が閾値を超えていない場合は、平常危険度範囲614で示される発災後からのサーバ110の危険度の変動の不定性範囲が危険度0.20付近であり、最新の危険度が危険度0.50程度であることから、サーバ110の最新の相対的な危険度(危険度指標の一例)は0.30程度であると計算し、例えば、設定された相対的な危険度の閾値が0.40である場合、相対的な危険度が閾値を下回っているため、サーバ110は主レコードを保有する資格があると判断する。
そして、ステップ521では、サーバ適正度判定部112は、活動情報の種類Aの主レコードAを保有するサーバ120の最新の危険度(0.80程度)と、サーバ110の最新の危険度(0.50程度)との比較と、サーバ120の最新の相対的な危険度(0.70程度)と、サーバ110の相対的な危険度(0.30程度)との比較を行う。2つの比較の両方において、サーバ110よりもサーバ120の方が危険であると判断された場合には、ステップ522で、サーバ適正度判定部112は、入替の必要性があると判断してもよい。ステップ521とステップ522で実施される比較及び判断は、最新の危険度だけの比較や、相対的な危険度だけの比較や、両方の比較における差分を足し合わせた値の比較や、両方の比較における差分を掛け合わせた値の比較等によって判断してもよく、また、これらに制限されるものではない。
図11の主レコードを保有するサーバにおける主副レコード配置入替制御処理におけるステップ530では、サーバ120のサーバ適正度判定部122は、サーバ適正度判定部112が実施するステップ520における危険度変動611に代えて、危険度変動612を用い、平常危険度範囲614に代えて平常危険度範囲615を用いて実行すればよい。この場合に、発災から96時間後においてサーバ120の危険度は閾値である0.70を上回っているため、サーバ適正度判定部122は、サーバ120は主レコードを保有する資格がないと判断して、処理をステップ531に進める。
ステップ531では、サーバ副レコードA1151を保有するサーバ110と、副レコードA1351を保有するサーバ130とから、入替要請を受信するので、ステップ533での入替先の決定の処理においては、サーバ適正度判定部122は、副レコードA1151を保有するサーバ110の危険度変動611及び平常危険度範囲614と、副レコードA1351を保有するサーバ130の危険度変動613及び平常危険度範囲616と、副レコードA1151の複製率変動618及び平常複製範囲620と、副レコードA1351の複製率変動619及び平常複製範囲621と、に基づいて判断する。
ステップ533における入替先の決定には、様々な評価パラメータによる比較があるが、例えば、入替要請を送信したサーバの保有するレコードの複製率を100で規格化し、そのレコードを保有するサーバの危険度で割り、さらにそのサーバの危険度の平常危険度範囲からの相対的な危険度で割った値を、入替先決定の評価パラメータとしてもよい。
この場合、副レコードA1151の評価パラメータは、最新の複製率が98%であり、サーバ110の危険度が0.50であり、相対的な危険度が0.30であるため、およそ6.53となる。一方、副レコードA1351の評価パラメータは、最新の複製率が88%であり、サーバ130の危険度が0.40であり、相対的な危険度が0.03であるため、およそ、73.3となる。この結果、ステップ533では、評価パラメータの大きい、副レコードA1351を入替先として決定する。
なお、ステップ533における、入替先の判断は、判断時点までの情報だけではなく、例えば、図14Cに示すように、危険度変動623を指数関数等の関数でフィッティングし、近似した危険度変数624を用いて、現時点から数時間後のサーバの危険度を推測し、推測した値を入替先の判断に用いてもよい。これにより、外部動態情報DB310から、サーバ設置位置周辺の停電の可能性や、サーバ設置位置周辺の河川氾濫の可能性が高いといった情報を受け取る前に、危険の予測に従って、主副レコード配置入替を実施することができる。
また、上記したステップ533では、副レコードからの入替要請を受信する時間として所定の期間を設け、その期間中に受信した全てを平等に扱い、サーバの危険度と、レコードの複製率とに基づいて入替先を決定している。しかしながら、副レコードを保有するサーバが入替要請を送信するためには、図10に示すように、副レコードを保有するサーバの危険度が設定された危険度を下回っており(ステップ520)、かつ主レコードを保有するサーバよりも、主レコードを保有するサーバとして適正である(ステップ521)という条件を、送信の時点で既に満たしているため、入替要請を送信したどのサーバであっても主レコードを保有してもよいという考えに基づいて、主副レコード配置入替を行うサーバを決定してもよい。この場合は、ステップ531において、入替要請に一定期間設けず、1つの副レコードを保有するサーバから入替要請を受け取った時点で、そのサーバの副レコードを入替先として決定し、処理をステップ534に進めてもよい。
また、ステップ517における処理については、上記したステップ520とステップ530における処理と同様な処理である。例えば、サーバ110がステップ517で実施する処理は、ステップ520とステップ530との処理と同じである。
次に、活動情報解析装置300における活動情報の解析の例について説明する。
まず、端末装置からサーバ群100に格納される活動情報の一例について説明する。
図15は、第1実施形態に係るライフラインの状況を示すデータの一例を説明する図である。図15は、活動情報の一例としての病院におけるライフラインの状況の情報を示している。
病院におけるライフラインの状況の情報は、電気使用状況、水使用状況、配管損傷有無、食糧供給状況等のパラメータを含む。電気使用状況には、「停電中」、「発電機使用中」、「正常」との3段階がある。水使用状況には、「枯渇」、「貯水・給水対応」、「井戸水使用中」、「正常」の4段階がある。配管損傷有無には、「損傷有」、「正常」の2段階がある。食料供給状況には、「枯渇」、「供給の見込み無し」、「備蓄で対応」、「正常」の4段階がある。
端末装置は、管理している各病院について、電気使用状況は「停電中」、水使用状況は「枯渇」、配管損傷有無は「損傷有」、食料供給状況は「備蓄で対応」のように、4つの各パラメータとその状況を含むデータをサーバ群の主レコードに格納する。
本実施形態では、各パラメータを統一的に扱い、各病院のライフライン状況を1つの数値で表すために、活動情報解析装置300(より詳細には、インテリジェンス導出部303)では、図15に示すように、各パラメータの状況に対して、ライフラインへの対応の緊急性が高いほど数値が高くなるようなライフライン異常指数に従って数値化し、4つのパラメータのライフライン異常指数を足し合わせた数値を病院のライフライン異常指数として解析に用いている。例えば、或る病院について、電気使用状況は「停電中」、水使用状況は「枯渇」、配管損傷有無は「損傷有」、食料供給状況は「備蓄で対応」という内容のデータであれば、この病院のライフライン異常指数は10であると数値化する。
次に、図3に示すサーバシステム1の状態において、各端末装置が、それぞれが担当する病院の電気使用状況と水使用状況と配管損傷有無と食糧供給状況とを含むライフライン状況を示すデータ(ライフライン状況データ)を、サーバ群100に配信して格納する場合を例に、活動情報解析装置300による解析処理について説明する。なお、端末装置200が病院A及び病院Bについてのライフライン状況データを配信し、端末装置210が病院Cについてライフライン状況データを配信するものとする。
端末装置200は、病院A及び病院Bについてのライフライン状況データを、サーバ110の主レコードB1152に格納し、端末装置210は、病院Cについてのライフライン状況データをサーバ120の主レコードA1251に格納する。
活動情報解析装置300の活動情報取得部304は、病院A、Bについてのライフライン状況データをサーバ110の主レコードB1152から取得できる。ライフライン状況データとしては、現時点(この例では、発災から96時間後)の病院A、Bのライフライン状況データだけではなく、発災から96時間までの間における病院A、Bのライフライン状況データを取得できる。また、活動情報取得部304は、病院Cについてのライフライン状況データをサーバ120の主レコードA1251から取得できる。ライフライン状況データとしては、現時点(この例では、発災から96時間後)の病院Cのライフライン状況データだけではなく、発災から96時間までの間における病院Cのライフライン状況データを取得できる。
インテリジェンス導出部303は、このように活動情報取得部304が取得できる病院A、B、Cのライフライン状況データの時間変動を解析し、その結果から例えば、現時点での災害対応活動を実施するユーザが対応すべき病院を提案することができる。
次に、病院A、B、Cについてのライフライン状況データをインテリジェンス導出部303が解析した解析結果である医療施設解析結果630に含まれるライフライン異常指数の変動について説明する。
図16は、第1実施形態に係るライフライン異常指数変動を示す図である。図16において、医療施設解析結果630における変動631は、病院Aのライフライン異常指数の変動を示し、変動632は、病院Bのライフライン異常指数の変動を示し、変動633は、病院Cのライフライン異常指数の変動を示す。
インテリジェンス導出部303が解析した時点(現時点:発災から96時間後)においては、ライフライン異常指数が最大となっている病院は、病院Cである。病院Cは、発災から72時間後からライフライン異常指数が大きくなっているのに対して、病院Aは発災直後から長期に渡ってライフライン異常指数が大きいため、現時点では、病院Aの方が病院Cよりも災害対応活動を実施する組織による救援の緊急度が高いことがわかる。また、病院Bは、発災直後はライフライン異常指数が大きいが、発災24時間後から発災48時間後の間に、ライフライン異常指数が小さくなっており、現時点においては、救援の緊急度が低いことがわかる。以上のことから、インテリジェンス導出部303は、現時点において、病院A、B、Cに対して、救援の優先度が高い、病院A、C、Bの順に優先度をつけ、この優先度の結果を解析結果としてサーバ群100の解析結果DBの主レコードに書き込む。端末装置は、この解析結果をサーバ群100の解析結果DBの主レコードから取得し、今後の災害対応活動の方針を決定する材料とすることができる。
次に、端末装置に表示される操作画面について説明する。
図17は、第1実施形態に係る端末装置に表示される操作画面の一例を示す図である。
端末装置に表示される操作画面720は、活動情報配信方法選択領域721と、解析結果取得方法選択領域723と、アラート表示領域725と、解析結果表示領域726とを含む。
活動情報配信方法選択領域721は、サーバ群100への活動情報配信方法を選択するための領域である。活動情報配信方法選択領域721では、活動情報を自動で配信することを指示する自動配信と、ユーザが手動で(配信ボタン722を押すことにより)活動情報を配信することを指示する手動配信とを選択することができる。例えば、数秒に数十棟の医療施設のライフライン状況が集約されるように、高い頻度で情報が集約されるような災害対応活動を実施するユーザである場合、手動によって情報の配信を随時実施することは困難であるため、活動情報配信方法選択領域721で自動配信を選択することで、端末装置に集約された医療施設のライフライン状況を自動でサーバ群100に配信することができる。一方、数時間に数棟の医療施設のライフライン状況が集約されるように、低い頻度で情報が集約されるような災害対応活動を実施するユーザである場合、活動情報配信方法選択領域721で手動配信を選択し、必要に応じて配信ボタン722を押すことで、ライフライン状況をサーバ群100に配信することができる。この場合には、端末装置における無駄な処理や、端末装置とサーバ群100との無駄な通信を減らすことができる。
解析結果取得方法選択領域723は、サーバ群100からの解析結果の取得方法を選択するための領域である。解析結果取得方法選択領域723では、解析結果を自動で更新することを指示する自動更新と、ユーザが手動で(更新ボタン724を押すことにより)解析結果を更新することを指示する手動更新とを選択することができる。例えば、人命に直結する等の緊急性の高い災害対応活動を実施するユーザの場合は、最新の他ユーザの活動状況等を常に把握することの重要度が高いため、解析結果取得方法選択領域723で自動更新を選択することで、最新の他ユーザの活動状況等を把握することができる。一方、人員等が不足しているユーザ等の場合は、最新の状況が常に更新されても対応が間に合わないことが予想されるため、解析結果取得方法選択領域723で手動更新を選択し、必要に応じて更新ボタン723を押すことで、人員規模に適した災害対応活動を実施することができる。
このように、活動情報配信方法選択領域721と解析結果取得方法選択領域723とに対して設定等を行うことにより、各端末装置を操作するユーザは、実施する災害対応活動に適した設定を適切に選択することができる。
アラート表示領域725は、緊急性の高い解析結果が表示される領域である。アラート表示領域725は、例えば、活動情報解析装置300が緊急性の高い解析結果、例えば、数百名の重症患者の治療している病院Dで停電が生じたために治療の継続が困難となるといったような結果を得た場合に、その解析結果の情報が表示される。これにより、解析結果取得方法選択領域723で手動更新を選択しているユーザであっても緊急度の高い情報については適切に把握することができる。
解析結果表示領域726は、活動情報解析装置300による解析結果の詳細を表示する領域であり、解析結果選択領域727と、地図選択領域728と、地図表示領域730と、局所変動表示領域729とを含む。
解析結果選択領域727は、表示させる解析結果を選択する領域であり、例えば、解析結果の情報の種類の一覧が表示され、その中から表示が必要な情報を選択することができる。この形跡結果選択領域727での選択結果に応じて、地図選択領域728と、地図表示領域730と、局所変動表示領域729に表示される解析結果が切り替えられる。
地図選択領域728は、表示される地図の種別を選択する領域である。地図選択領域728で選択された種別の地図が地図表示領域に表示される。地図表示領域730は、解析結果選択領域727及び地図選択領域728での選択内容に対応する地図を表示する領域である。局所変動表示領域729は、地図表示領域730の地図上の選択された領域での所定の情報の変動を表示する。
例えば、図17の解析結果表示領域726では、解析結果選択領域727で医療活動が選択され、表示地図選択領域728でライフライン異常指数分布が選択された例を示しており、地図表示部730には地域毎のライフライン異常指数を示す2次元ヒストグラムが表示され、局所変動表示領域729は、地図表示部730の地図中で選択された地域におけるライフライン異常指数の時間変動を示すグラフが表示される。この解析結果表示領域726によると、ユーザは地図表示領域730に表示される地図によって、広い地域のライフラインの状況を把握することができ、局所変動表示領域729に表示されるグラフによって、選択した地域の発災直後からのライフラインの状況の変化を把握することができる。
次に、サーバに表示される操作画面について説明する。
図18は、第1実施形態に係るサーバにおける操作画面の一例を示す図である。
サーバ群100を構成する各サーバに表示される操作画面731は、活動情報タブ732と、解析結果タブ733とを含む。活動情報タブ732を選択することで、活動情報のレコード設定を操作するための表示領域が表示され、解析結果タブ733を選択することで、解析結果のレコード設定を操作するための表示領域が表示される。
活動情報タブ732を選択すると、主レコード設定表示領域734と、副レコード設定表示領域738と、サーバ設置位置表示領域741と、レコード作成方法選択領域742と、新規レコード作成承認領域743とが表示される。
主レコード設定表示領域734は、レコード入替承認方法選択領域735と、副レコード状態表示領域736とを含む。レコード入替承認方法選択領域735は、保有する主レコードについて主副レコード配置入替要請に対する承認を自動でするのか、手動でするのかを設定する領域である。例えば、レコード入替承認方法選択領域735において、手動承認のチェックボックスを選択することで、図11に示す処理における主副レコード配置入替要請に対する承認を手動で実施することができる。レコード入替承認方法選択領域753で手動承認を選択している場合、副レコードを持つサーバのIDと、複製率と、危険度と、入替要請の有無と、承認のためのチェックボックスとを含むレコード入替承認領域737が副レコード状態表示領域736に表示される。レコード入替承認領域737の承認のチェックボックスが選択されると、対応するサーバからの入替要請が承認される。
副レコード設定表示領域738は、レコード入替要請方法選択領域739と、主レコード状態表示領域740とを含む。レコード入替要請方法選択部739は、保有する副レコードについて主副レコード配置入替要請を自動でするのか、手動でするのかを設定する領域である。例えば、レコード入替要請方法選択領域739で手動承認のチェックボックスを選択することで、図10に示す処理における主副レコード配置入替要請を手動で実施することができる。レコード入替要請方法選択領域739で、手動承認を選択している場合、主レコードのレコードIDと、主レコードを保有するサーバのIDと、危険度と、入替要請のチェックボックスとを含む主レコード状態表示領域740が表示される。例えば、レコードCの主レコードを保有するサーバ「2」に入替要請を送信する場合は、主レコード状態表示領域740に表示される対応するレコードIDのチェックボックスを選択することで、サーバに対してレコードの入替要請を送信することができる。
サーバ設置位置表示領域741には、レコードを保有するサーバの設置位置を表すオブジェクト(例えば、十字のマーカ)と、例えば、図13Cの危険度計算方法によって計算した危険度が閾値を超えたポリゴンの区画を表す網掛けの領域とが表示される。サーバ設置位置表示領域741の内容によって、サーバの管理者は、レコードを保有するサーバの状態を把握することができる。
レコード作成方法選択領域742は、レコードを自動で作成するのか、手動で作成するのかを設定する領域である。例えば、レコード作成方法選択領域742で、手動作成のチェックボックスを選択することで、サーバの管理者は、図9のステップ516の処理を手動で実施することができる。レコード作成方法選択領域742で手動作成が選択されている場合には、新規のレコード作成要請があると、新規レコード作成承認領域743に作成要請があったレコードの一覧が表示される。サーバの管理者は、新規レコード作成承認領域743において、或るレコードの新規作成要請を承認する場合、そのレコードに対応するチェックボックスを選択することでレコードの新規作成の要請を承認することができる。
次に、第2実施形態に係るサーバシステムについて説明する。なお、第2実施形態に係るサーバシステムは、第1実施形態に係るサーバシステムにおける一部の構成の機能が異なるだけであるので、便宜的に、第1実施形態に係るサーバシステムの各部の符号を用いて、異なる点について説明する。
図19Aは、第2実施形態に係るサーバのサーバ適正度判定部の処理を説明する図である。
サーバ適正度判定部112,122,132は、図10及び図11で示す処理におけるサーバが主レコードを保有する資格があるかを判断する処理と、図9のステップ517において自サーバにレコードを新規に作成する資格があるか否かを判断する処理(これら処理を、本実施形態においては、判断処理ということとする)において、図19Aに示すように、活動情報解析装置300によりサーバ群100の解析結果DBに格納されている解析結果を取得し、この解析結果を加味するようにしている。
ここで、サーバ110のサーバ適正度判定部112による処理を例に説明する。なお、解析結果DB114の主レコードD1142及び解析結果DB124の主レコードC1241には、図16に示す医療施設解析結果630の情報が分割されて格納されているものとする。
サーバ適正度判定部112は、危険度動態DB113から図14Aに示す各サーバの危険度を取得するとともに、主レコードD1142と、主レコードC1241とから医療施設解析結果630を取得し、各サーバの危険度と医療施設解析結果630とを組み合わせて判断処理を行う。これにより、確度の高い判断を下すことができる。
ここで、医療施設解析結果630の利用方法の一例について説明する。
図19Bは、第2実施形態に係る危険度変動とライフライン異常指数変動とを示す図である。
ライフライン異常指数は、図15及び図16に示すように、0から12の範囲の値である。一方、危険度指数は0から1の範囲の値であるため、ライフライン異常指数の値に、スケーリング因子1/12をかけることにより、病院(図19Bでは、病院B)の補正後ライフライン異常指数変動633-2を作成する。例えば、病院Bとサーバ120との距離が1km以内にあるならば、病院B周辺とサーバ120の設置位置周辺との災害による被害状況は似通っていると考えられるため、サーバ120の危険度に対して、補正後ライフライン異常指数を乗算した値をサーバ120の危険度因子として、判断処理で利用する。これにより、より確度の高い判断を下すことができる。
次に、第3実施形態に係るサーバシステムについて説明する。なお、第3実施形態に係るサーバシステムは、第1実施形態に係るサーバシステムにおける一部の構成の機能が異なるだけであるので、便宜的に、第1実施形態に係るサーバシステムの各部の符号を用いて、異なる点について説明する。
第3実施形態に係るサーバシステムのサーバにおいては、自サーバが保有するレコード毎に、主副レコード配置入替制御処理を実行するステップ513において、主レコードを対象にする主副レコード配置制御処理として、図20Aに示す処理を実行し、副レコードを対象にする主副レコード配置制御処理として、図20Bに示す処理を実行する。
まず、主レコードが配置されたサーバによる主副レコード配置入替制御処理について説明する。
図20Aは、第3実施形態に係る主レコードが配置されたサーバによる主副レコード配置入替制御処理のフローチャートである。
サーバのサーバ適正度判定部は、ステップ520と同様の処理によって、主レコードを保有する資格があるか否かを判断する(ステップ550)。この結果、主レコードを保有する資格があると判断した場合(ステップ550:YES)には、サーバは処理を終了し、ルーティン処理のステップS514に処理を進める。
一方、主レコードを保有する資格がないと判断した場合(ステップ550:NO)には、サーバは、危険度動態DBにアクセスし、主レコード対応する副レコードを保有する1以上のサーバ(保有サーバ)について、これまでに計算された保有サーバの危険度に基づく指標を算出して比較し(ステップ551)、主レコードを配置するのに適正なサーバがあるか否かを判定する(ステップ552)。
この結果、適正なサーバがないと判断した場合(ステップ552:NO)には、サーバは、処理をステップ550に進める。一方、適正なサーバがあると判断した場合(ステップ552:YES)には、サーバは、適正なサーバに、主副レコードを入れ替える要請(入替要請)を送信する(ステップ553)。なお、適正なサーバが複数ある場合には、サーバは、複数のサーバに対して入替要請を送信してもよい。
次いで、サーバは、所定の期間(例えば、10秒)待って、保有サーバに入替要請が受理されたか否かを判定する(ステップ554)。ここで、所定の期間は、上記に限られず、サーバシステム1のサーバ数や、レコード数や、サーバの性能等といったシステムの規模や性能によって任意の期間としてもよい。この結果、入替要請が受理されていない場合(ステップ554:NO)には、処理をステップ551に進める。一方、入替要請が受理された場合(ステップ554:YES)には、サーバは、主副レコードの入替処理を実行し(ステップ555)、自サーバ及びレコード配置の入れ替えを行ったサーバ以外の対象レコードを保有するサーバに対して、主副レコードの入れ替えを実施したことを通知し、処理を終了する。なお、ステップ554で、複数のサーバからの要請受理を受け取った場合には、ステップ551で実施した指標の比較や、受理した順番等の条件から入れ替えを実施する副レコードを選択すればよい。
次に、主レコードを対象にする主副レコード配置制御処理について、図3に示す状態のサーバシステム1において、サーバ110が保有する活動情報の主レコードB1152を対象として実施する場合を例に具体的に説明する。
サーバ110のサーバ適正度判定部112は、自サーバが主レコードを保有する資格があるか否かを判断し(ステップ550)、保有する資格がないと判断した場合(ステップ550:NO)、ステップ521と同様の処理により、サーバ120の指標を計算する。計算した指標が主レコードを保有するのに適正である判断した場合(ステップ552:YES)、サーバ適正度判定部112は、サーバ120のサーバ間連携部121に対して、主副レコード配置入替要請を送る(ステップ553)。この結果、サーバ120によって、入替要請が受理された場合(ステップ554:YES)、サーバ110は、正副レコードの入替処理を実施する(ステップ555)。
次に、副レコードが配置されたサーバによる主副レコード配置入替制御処理について説明する。
図20Bは、第3実施形態に係る副レコードが配置されたサーバによる主副レコード配置入替制御処理のフローチャートである。
サーバのサーバ適正度判定部は、ステップ550と同様の処理によって、主レコードを保有する資格があるか否かを判断する(ステップ560)。この結果、主レコードを保有する資格がないと判断した場合(ステップ560:NO)には、サーバは処理を終了し、ルーティン処理のステップS514に処理を進める。
一方、主レコードを保有する資格があると判断した場合(ステップ560:YES)には、所定の期間、例えば10秒間において、処理対象の情報の主レコードを保有するサーバからの主副レコードの配置の入れ替えの要請(主副レコード配置入替要請)を受け付ける(ステップ561)。
次いで、サーバは、主副レコード配置入替要請があったか否かを判定し(ステップ562)、この結果、主副レコード配置入替要請がなかった場合(ステップ562:NO)には、処理を終了する。
一方、主副レコード配置入替要請があった場合(ステップ562:YES)には、主福レコード入替要請を行ったサーバに対して入替要請受理を送信し、主福レコードの入替処理を実行し(ステップ563)、処理を終了する。
なお、主レコードのサーバと、副レコードのサーバとは、ステップ550、551、560の処理を外部動態情報DB310から取得した情報に基づいて行っているため、主レコードのサーバがステップ551,552で副レコードを保有するサーバが主レコードを保有する資格があると判断した場合において、副レコードを保持するサーバにおいて、ステップ560で主レコードを保有する資格がないと相反する判断を行うことは、基本的には起こり得ない。しかしながら、ステップ551とステップ552での指標の閾値が、ステップ560での閾値と異なっている場合や、ステップ553とステップ561との実行タイミングがずれてしまっている場合や、サーバがメンテナンスをしながら稼働していて通常の状態でない場合等には、相反する判断がされてしまう虞がある。そこで、本実施形態では、ステップ561での一定期間にのみ入替要請を受け付けるようにすることにより、相反する判断がされることを回避することができ、サーバシステムを安定して運用することができる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
また、上記実施形態において、プロセッサが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。