【実施例】
【0021】
本実施例においては、端末を企業の従業員が所有する端末を想定して説明する。また、分割ファイルバックアップシステムは、災害情報通知システムと連携するものとして説明する。
【0022】
図1は、本発明の分割ファイルバックアップシステム100の利用イメージを概略的に示した概念図である。すなわち、ファイルバックアップシステム100と、災害情報通知システムとの関係を模式的に示す図である。
は、また
【0023】
分割ファイルバックアップシステム100は、複数のセンタ110、120、複数の端末130、を有する。
センタ110は、主センタAを構成し、センタ120は、副センタBを構成する。複数の端末130は、地理的に異なる複数の地域、例えば都道府県に分散している。
【0024】
センタ110、120は、共に端末管理DB1101、1201、データ管理DB1102、1202、を有する。端末管理DB1101、1201、データ管理DB1102、1202は、後述する。
【0025】
端末は、固定、移動を含む端末であって、データをHDDなどの記憶装置に記録することができ、かつ通信機能を有するものであれば、例えばTV、冷蔵庫などの家庭電化製品であってもよい。
【0026】
センタ110は、分割データ配布/分割データ復元手段1003、データ復旧手段160、同期手段170、を有する。
【0027】
分割データ配布/分割データ復元手段1103は、バックアップしたいデータ(元のデータ)を単体では意味を持たない複数のデータに分割し、当該分割データを地理的に異なる複数の地域(都道府県)で利用される複数の端末130に、配布先リスト1103(
図8参照)を元に送信配布する機能を有する。この配布先リスト1103は、端末管理DB1101およびデータ管理DB1102の両情報を元にセンタ110の処理統括部11015(
図6参照)で生成する。また、この配布先リスト1103の配布情報を元に分割データ(複数の端末130から送信される分割データ)を統合して元のデータに復元する機能を有する。バックアップしたいデータのデータ形式は問わない。配布先リスト1103および処理統括部11015の詳細については後述する。
【0028】
また、センタ110は、端末管理DB1101及びデータ管理DB1102を別途USB等の記憶手段1105に保管しておく。
【0029】
データ復旧手段1106は、例えば、災害時に前記コピーした端末管理DB1101を使用してデータ復旧を可能とする。
【0030】
センタ120は、センタ110と同じ端末管理DB1201、データ管理DBリスト1202を共有し、例えばセンタ110の災害時に別環境で分割データを統合し、元のデータに復元する手段1203、を有する。復元領域は後付け可能とする。
【0031】
同期手段1107は、センタ110とセンタ120のデータ管理DB1101、1201の配布情報(端末管理DB及びデータ管理DB)のみを定期的に同期する。なお、この時データ自体の同期は不要である。センタAでは災害情報通知システム300からの各種予報や、災害情報と位置情報を元にデータを動的に管理する。
【0032】
図2は、複数の分割データA〜Cを複数の地域に分散(センタ110から端末に配布)した場合において、単一地域での障害時と、複数地域での障害時のデータ保護、データ復旧不可を模式的に示す図である。
【0033】
同図において、単一地域において、データA、Bに障害が発生した場合、冗長化により保障可能な範囲内であれば、データ保護が可能である。しかし、複数地域において、データA、BおよびデータA、Cに障害が発生した場合、冗長化により保障可能な範囲を超えると、データ復旧は不可能であることを示している。
【0034】
図3は、複数の分割データA〜Cを複数の地域に分散(センタから端末に配布)し、かつ位置情報および災害情報通知システムからの災害予測情報等を活用し、データAの移動(端末間でのデータ移動)ができた場合において、単一地域での障害時と、複数地域での障害時のデータ損失を最小限にでき、またデータ保障が可能であることを模式的に示す図である。
【0035】
同図において、単一地域において、データBに障害が発生した場合、冗長化により保障可能な範囲内でも最小限にできる。また、複数地域において、データBおよびCに障害が発生した場合、冗長化のみでは保障不可能なデータ保障が可能であることを示している。
【0036】
図4および
図5は、センタ110から配布された複数の分割データA〜Fを複数の端末A、a、端末B、b、端末C、c、端末D、dにて受信、格納し、管理する一態様を示す図である。
【0037】
図4は、同一分割データ、例えばデータAおよびP−DEFを複数端末A、aで保持し、当該データの安全性を維持するデータ管理イメージを示す図である。他の端末でも同様にデータを管理する。
【0038】
各端末に対する管理データ(格納データ)は、固定としないことで、上述したリストなしでデータの所在を特定できないようにする。また、パリティデータを用意し、より障害耐性を高めるようにしてもよい。
【0039】
また、世代管理を実施してもよい。また、例えば、端末Dと端末dとの間において、端末DのデータDを端末dにコピーし、端末側のサーバ負荷軽減・高速化を図ってもよい。基本的には、全てのデータはセンタにて分割後、各格納先端末にて分割データを格納する。
ただし、冗長化するデータも存在するため、これらについては同一データを格納することに決まった端末間でコピー処理を行っても良い
【0040】
図5は、1世代前までのデータを保持する場合を示すデータ管理イメージを示す図である。
【0041】
例えば、最初に端末Aで、データA、A、Aを管理し、端末Bで、データB、Bを管理し、端末Cで、データC、C、Cを管理し、次いで、端末Aで、データA、A、Aを管理し、端末Bで、データB、Bを管理し、端末bで、データBを管理し、端末Cで、データC、C、Cを管理するようにする。
【0042】
ここで、各データには、同時性判断のため、つまり時限性を持たせるため、例えばタイムスタンプ等を付与する。データ復元に必要なデータが必要十分(冗長性加味)揃うまでは古いデータ(2世代前)を削除対象としない。また、データが揃ったことを確認したあと古いデータを削除対象とする。但し、無理にデータを削除する必要はない。データ削除のタイミングは、例えば次回の世代要求タイミングとする。本実施例の如く、データの格納先を移動体端末とする場合には、常に安定的な通信ができることが保障される端末ではないでないため、上述のデータ削除処理の完了は厳密に確認しないこととする。その代わりに、センタと端末との通信開始毎に、保持が不要なデータが分かるようなデータをセンタ側から送付し、端末側が必要に応じてデータを削除する手続きとする。削除目的のみの通信は不要とする。
【0043】
図6は、センタ110と複数の端末130の各構成を示すブロック図である。
センタ110は、サーバからなり、データ分割部11011、データ結合部11012、データ管理部1101、端末管理部DB1102、処理統括部11015、通信部11016、災害対応基準DB11017、災害対策判定部11018、を有する。
【0044】
データ分割部11011は、バックアップしたいデータを単体では意味を持たない複数のデータに分割する。
データ結合部11012は、複数の分割データを結合して元のデータを復元する。
【0045】
データ管理部1101は、データ管理ベース(以下、データ管理DBと言う)からなり、当該DBは、分割データの分割データ情報を格納する。分割データ情報110131(
図8参照)は、データID、タイムスタンプ(分割元データのタイムスタンプ)、格納先端末ID、データ格納先、の各情報を有する。
【0046】
端末管理部1102は、端末管理データベース(以下、端末管理DBと言う)からなり、当該DBは、端末データを格納する。端末データ(
図8参照)は、端末ID、通信先等の端末に関する通信基本情報、を有する。
【0047】
処理統括部11015は、データ管理DB1101と端末管理DB1102の管理情報(分割データ情報&端末データ)を元にデータ分割部11011による分割データの格納先端末への割り当てを行い、当該割り当てに基づいてデータ配信を、通信部11016を介して実行する。この割り当ては、分散定義DB11019(
図9参照)の分散基準データ110191を参照する。その詳細は、後述する。
【0048】
通信部11016は、処理統括部11015にて割り当てられた分割データを複数の端末130に対して送信し、配布する。また、複数の端末130から複数の分割データを受信し、また災害情報通知システム300(
図1参照)の災害情報通知部310から災害予測情報を受信する。
【0049】
データ結合部11012は、複数の端末130からの複数の分割データを統合し、元のデータに復元する。
【0050】
災害対応基準DB11017は、災害対応基準データを有する。災害対応基準データ(
図11参照)は、ID、種別、閾値、を有する。種別とは、地震、火災等であり、閾値は、震度xx、火災規模xx等である。
【0051】
災害対策判定部11018は、災害情報通知部310からの災害予測情報を取得し、災害対策基準DB1107の災害対応基準データを元に移動候補端末の判定を行う。
【0052】
各端末130は、通信部1301、位置測定部1302、データ格納部1303、を有する。
【0053】
通信部1301は、センタ110の通信部11016との間で分割データの送受信を行う。
位置測定部1302は、例えばGPSからなり、各端末130の位置を測定する。
【0054】
データ格納部1303は、センタ110から配布される分割データを、例えば
図4、
図5に示すように記録し、格納する。
【0055】
図7は、格納先端末にて保持するデータの世代数が一世代の場合におけるデータ格納先から見た分割データの遷移を示す図である。
同図において、データの配布、削除等は、データ配布命令、データ配布完了後の旧データ削除許可命令、端末起動時の削除データ確認、データ消去命令、に基づき実行する。ここで、旧データの削除タイミングを「配布完了後の削除許可命令時」と「端末起動時の削除可能データ確認時」の2回としているが、定期的な端末監視時にも、同様の処理を行うようにしてもよい。また、データ配布命令には、データ移動に伴うデータ配布も含むものとする。
【0056】
図8は、データの分割から分割データの端末130への送信(配布)までのデータ配布シーケンスを示す図である。センタ110のサーバ110によるデータ配布処理は、以下の手順で実行する。
【0057】
まず、ステップS801において、例えば、データ管理DB1101に管理しているデータのバックアップしたいデータをデータ分割部11011にて分割する。当該分割データは、単体では意味を持たないものとする。
【0058】
なお、端末管理DB1102の端末データ110141を有する端末管理DB11021からのみのデータ復旧を可能にするため、全てのデータを集めれば、元のデータに復元可能としてもよい。この場合には、配布するデータと共に元データのタイムスタンプをデータ管理DB1101に記録する等、元データの元の同一性やデータの最新性を判断可能な工夫が必要である。
【0059】
ステップS802において、分割データの分割データ情報110131をデータ管理DB1101に格納する。
分割データ情報110131は、データID(1〜)、元ファイル名(TestData)、元ファイルタイムスタンプ(2012/0827 hh.mm.ss)、格納先端末(端末ID1〜)、データ格納先(…/aaa/xx)、を有する。
また、実際には、冗長性を保つため、各データは複数の端末130に重複して保存する。また、各端末にも単一の分割データのみではなく、複数の分割データが保存することがある。ただし、本例では、説明を簡略化して記載する。
元ファイルタイムスタンプは、世代管理を見据えた上で、分割元ファイルを特定可能な情報であれば何でもよい。
【0060】
ステップS803において、端末管理DB1102から通信(格納)先の端末管理DB130の端末データ110141を読み込む。
端末データ110141は、端末ID(1〜)、通信基本情報(通信基本情報1〜)、端末区分(移動、固定)、位置情報(経緯Y経度y)、を有する。移動体端末の場合には、端末との通信時に位置情報を取得する。
【0061】
ステップS804において、当該端末管理DBを元に通信可能な端末を検索する。例えば、サーバ110から端末130側のクライアントA(固定端末130A)、クライアントB(移動端末130B)に対して接続要求する。
【0062】
このとき、端末側の固定端末130Aは、ステップS831において、接続要求を受信し、ステップS832において、接続応答をサーバに対して送信する移動端末130Bは、ステップS841において、接続要求を受信し、ステップS842において、位置測定部1302にて位置情報を取得し、ステップS843において、接続応答をサーバに対して送信する。
ここで、位置情報の取得に失敗した端末も格納先として利用したい場合には、「位置情報不明」として次の処理に進んでもよい。
【0063】
サーバ110は、ステップ805において、端末130A、130Bからの接続応答を受信する。実装時は、以降の処理を全ての結果応答後に実施するのではなく、定期的に行う。
【0064】
次に、ステップS806において、端末側から応答のあった端末130A、130Bのリストをデータ管理DB1101(
図1参照)として作成する。
データ管理DB1101は、端末ID(1〜)、位置情報(緯度X経度x・・)、配布データID(1001・・)、を有する。
【0065】
また、ステップS807において、データ管理DB1101に登録されている端末に対して、配布データを割り当てる。
この割り当て時には、データ送付に失敗する可能性もあることを考慮し、確保すべき冗長性より少し多めに割り当てを行ってもよい。
なお、意図的にデータ分布を管理したい場合には、予め分散の基準となるデータを用意し、位置情報を元に制御するなどしてもよい。データ分散方法の例は後述する。
【0066】
次に、ステップS808において、データ管理DB1101の割り当てに従って、分割データを、通信部1106を介して当該端末130A、130Bに送信し、配布する。
【0067】
このとき、端末130A、130Bは、ステップS833、S844において、データを受信し、ステップS834、S845において、データ格納部1303にデータを格納し、ステップS835、S846において、データ格納完了応答をサーバ110側に対して送信する。
【0068】
サーバ110は、ステップS809において、このデータ格納完了応答を受信する。実装時は、以降の処理を全ての結果応答後に実施するのではなく、定期的に行う。
【0069】
ステップS810において、分割データの配布結果は、データ管理DB1101に格納し、保存する。
【0070】
また、ステップS812において、必要な分割データ配布が完了したか否かを判定する。
完了していない場合(No)には、ステップS811において、応答待ちの有無を確認し、応答待ちがないならば、不足分のデータ配布先の再割り当てを行って、ステップS807に戻る。
完了している場合(Yes)には、ステップS813において、保存が必要な世代数より古いデータの情報を、データ管理DB1101から削除する。
【0071】
最後に、サーバ110は、保存が必要な世代数より古いデータの削除許可命令を端末130A、130Bに送信する。
【0072】
このとき、端末130A、130Bは、ステップS836、S847において、削除許可命令を受信し、ステップS837、S848において、削除対象データ有無を確認し、削除データ有りの時のみ削除を実施する。
【0073】
本例では、データ例として、「ファイル名、タイムスタンプ、データID」、としている。また、ファイル名からデータ管理DB1101に格納された情報との関連が判断できるようにしているが、移動体端末側で対応付けするための情報を保持するDBを持ち、ファイル名を分割・結合上不都合のないものに変更してもよい。
【0074】
また、格納先が、日常的に使用する端末であることを考慮し、データ格納後には、定期的にデータ格納先の状態を確認し、冗長性が下がっているデータについては、追加で送付処理を行うことで冗長性を保つこととする。
【0075】
図9は、サーバから各端末に対して、データを送信するに際して、データ分散する分散装置の分散定義DBの分散基準データを用いて、配布データを、位置情報を元に分散する場合の一例を示す配布データ割り当てシーケンスである。
【0076】
ステップS901において、分散定義DB11019より、分散基準データ110191を取得する。分散基準データ110191は、ID、優先度、座標範囲(座標データ)、を有する。
【0077】
ステップS902において、データ管理DB1102の先頭から順に、分散基準データ内で自身の位置情報定義が存在するか確認する。例えば、1順目:端末ID1の座標有無確認、2順目:端末ID2の座標有無確認、・・・n順目:端末IDnの座標有無確認、等を行う。
【0078】
ステップS903において、定義有無を判断する。
定義が無い場合(No)は、ステップS902に戻る。有り(Yes)の場合は、ステップS904において、座標の優先度+同一座標範囲の端末検索回数×m(分散基準データの個数)を端末の配布優先度としてデータ管理DB1102に追記する。
例えば、分散基準データID1をはじめて使用した場合を1+0×m=優先度1とし、分散基準データID1を一回使用済みの場合を1+1×m=優先度m+1とし、分散基準データID1をh回使用済みの場合を1+h×m=優先度mh+1、とする内容を記述する。
【0079】
ステップS905において、データ管理DBの最後まで到達したか否かを判定する。
最後まで到達していない場合(No)には、ステップS902に戻る。最後まで到達した場合(Yes)には、ステップ906において、優先度未設定端末に現在設定されている最も低い優先度以下の値を順に割り当てて、データ管理DB1102に追記する。
本処理に入る際に残っている端末は、分散基準データ外の端末のみである。なお、この際、分散基準データで設定された位置情報から遠い端末から順に優先度を設定する等、更に分散配置させるための仕組みを導入してもよい。
【0080】
最後に、サーバ110は、ステップ906において、データ管理DBに追記された優先度順に配布データを割り当て、処理終了とする。
【0081】
図10は、サーバ110において、端末130A、130Bから送信される分割データを受信し、データ結合部11011にて当該分割データを結合して元のデータを復元するデータ結合シーケンスである。
【0082】
サーバ110は、まずステップS101において、データ管理DB1101より配布先情報を取得する。
【0083】
ステップS102において、配布先情報を元に配布データリスト11021を作成する。配布データリスト11021は、配布データID、端末ID、取得済みフラグ(FALSE)、を有する。
【0084】
ステップS103において、端末管理DB1102の端末データ110141から通信先の通信基本情報を取得する。
【0085】
ステップS104において、配布データリスト11021と取得した通信基本情報を元に分割データ取得要求を端末130A、130Bに対して行う。
【0086】
このとき、端末130A、130Bは、ステップS121、S131において、分割データ取得要求を受信し、ステップS122、S132において、分割データを検索し、データが存在する場合は、分割データをサーバ110に対して、送信する。
【0087】
サーバ110は、ステップS105において、端末130A、130Bからの分割データを受信する。
【0088】
ステップS106において、受信結果をステップS102にて、作成した配布データリスト11021に反映する。例えば、取得済みフラグの{FALSE}を「TRUE」とする。
【0089】
ステップS107において、全ての分割データ取得が完了したか否かを判定し、完了していない場合(No)には、ステップS104に戻る。完了している場合(Yes)には、ステップ108において、データ結合部にて受信した分割データを結合し、元のデータに復元し、配布処理を完了する。
【0090】
図11は、災害発生時に災害情報通知システム300(
図1参照)の災害情報通知部310から災害情報等を受けた場合、分割データを移動するデータ移動シーケンスである。
【0091】
ステップS1111において、災害情報通知システムの災害情報通知部310から予測情報の種類(地震、火事等の種別)、災害内容(震度、火災規模等)、被災予測地域等を取得する。
【0092】
ステップS1112において、災害対応基準DB11017から、予測情報の種別に応じた災害内容の閾値情報を取得する。
【0093】
ステップS1113において、予測規模が閾値を上回るか否かを判定し、閾値以下の場合(No)には、処理を終了する。閾値を上回る場合(Yes)には、ステップS1114において、データ管理DB1101から、格納先端末の情報を取得する。
【0094】
ステップS1115において、格納先端末の情報(端末ID)を元に移動候補端末管理DB110111を作成する。
【0095】
ステップS1116において、移動候補端末管理DB110111の先頭から順に判定処理を開始する。
【0096】
ステップS1117において、端末管理DB1101から、判定対象の端末の端末区分・通信基本情報・位置情報を取得する。
【0097】
ステップS1118において、端末区分が固定か否かを判定し、固定でない場合(No)には、ステップS1119において、端末から最新の位置情報を取得する。
固定である場合(Yes)には、ステップS1120において、固定:DBの位置情報、移動:最新の位置情報を元に被災予測地域の範囲外かどうかを確認する。
【0098】
ステップS1121において、被災予測地域内か否かを判定し、地域範囲内でない場合(No)には、ステップ1116に戻る。
【0099】
地域範囲内である場合(Yes)には、ステップS1122において、移動候補端末管理DB110111の移動フラグ(true)を立てる。
【0100】
ステップS1123において、全ての移動候補端末の判定が完了したか否かを判定し、完了していない場合(No)には、ステップS1116に戻る。完了した場合(Yes)には、ステップS1124において、各種DBを使用して、被災予測地域外に存在する端末を検索し、移動候補端末管理DB110111にて、移動フラグ(true)が立っている端末データの再配布を行って処理を終了する。
【0101】
このとき、被災予測地域を配布対象から外す。また、配布データが移動フラグの立っているデータに限られる以外には、データ配布シーケンスと同様とする。
なお、災害時に迅速にデータを移動する事を考慮し、移動フラグが立っている端末からのデータ削除よりデータ移動を優先する。
【0102】
本発明は上記した実施例限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、上記の各構成、機能等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、Ssd(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。