(57)【要約】【課題】簡単な構成でデータを管理することができる。【解決手段】データレコードの全データフィールドのデータを読取り（ステップ３０２）、ダミーデータを置換するデータフィールドを決定し（ステップ３０６）、ダミーデータを生成する（ステップ３１０）。読取ったデータレコードの正規のデータとダミーデータとを置換して、データレコードを生成する（ステップ３１２）。これを繰り返して、設定されているデータベースに対応するデータレコードを生成し、各サーバ装置にデータレコードを送信する（ステップ３２６）。【選択図】図４
2007241461.tif 000002
【特許請求の範囲】
【請求項１】
各々データを入力するための複数のフィールドからなるデータ群を１単位のデータレコードとする所定構造のデータベースを各々記憶する複数の記憶手段の各々に、前記データレコードを格納する格納手段と、
前記データレコードの少なくとも１つのフィールドにおける正規データと相異するダミーデータを生成すると共に前記正規データを前記ダミーデータに置換した格納用データレコードを前記データレコードとして生成する生成手段と、
を備えたデータ管理装置。
【請求項２】
前記生成手段は、前記記憶手段毎に異なるフィールドの位置を設定する設定手段を含むことを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記生成手段は、前記記憶手段毎に異なるダミーデータを生成することを特徴とする請求項１または請求項２に記載のデータ管理装置。
【請求項４】
前記生成手段は、前記記憶手段の各々に対応して予め定めた規則でダミーデータを生成することを特徴とする請求項３に記載のデータ管理装置。
【請求項５】
前記複数の記憶手段の各々に格納された前記データレコードを取得する取得手段と、前記取得手段により取得した複数のデータレコードについて、同一フィールドのデータ群に含まれる最多のデータを正規データのフィールドのデータと認定する認定手段と、
をさらに備えたことを特徴とする請求項１乃至請求項４に記載のデータ管理装置。
【請求項６】
各々データを入力するための複数のフィールドからなるデータ群を１単位のデータレコードとする所定構造のデータベースを各々記憶する複数の記憶手段の各々に、通信回線を介して情報を授受するコンピュータにおいてデータを管理する管理方法であって、前記コンピュータが、前記記憶手段の各々に前記データレコードを格納する工程と、
前記データレコードの少なくとも１つのフィールドにおける正規データと相異するダミーデータを生成すると共に前記正規データを前記ダミーデータに置換した格納用データレコードを前記データレコードとして生成する工程と、
を実行するデータ管理方法。
【請求項７】
各々データを入力するための複数のフィールドからなるデータ群を１単位のデータレコードとする所定構造のデータベースを各々記憶する複数の記憶手段の各々に、前記データレコードを格納するステップと、
前記データレコードの少なくとも１つのフィールドにおける正規データと相異するダミーデータを生成すると共に前記正規データを前記ダミーデータに置換した格納用データレコードを前記データレコードとして生成するステップと、
をコンピュータで実行させるデータ管理プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置、管理方法及びデータ管理プログラムを記録した記録媒体にかかり、特にデータベース等に利用される複数のデータを管理する、データ管理装置、データ管理方法及びデータ管理プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
関連した多数のデータを管理するものの一例としてデータベースシステムが知られている。このデータベースシステムは、近年の情報通信機器の発展により、通信回線を介するネットワーク環境で利用可能になってきている。例えば、クライアント装置から通信回線を介してデータベース等を処理する特定のアプリケーションプログラムを実行するアプリケーションサーバ装置に接続して、そのアプリケーションサーバ装置で運用されるデータベースをクライアント装置から利用することを可能とするデータベースシステムが一般的に知られている。
【０００３】
ところが、所謂インターネットとして知られるように、通信回線を介するネットワーク環境下では、その利用を予期していない第三者のクライアント装置がアプリケーションサーバ装置に接続して、データベースが利用される可能性を有する。このため、予期しない第三者の利用を抑止する認証システム等を導入してデータベースシステムのセキュリティを向上することが行われている。例えば、クライアント装置とアプリケーションサーバ装置間の不正アクセスを検出するセキュリティサーバ装置を設けて、不正アクセスを検出した場合、クライアント装置の接続先をアプリケーションサーバ装置からダミーサーバ装置に変更する不正アクセス防止サービスシステムが知られている（特許文献１参照）。この不正アクセス防止サービスシステムでは、アプリケーションサーバ装置の他に、クライアント装置とアプリケーションサーバ装置間の不正アクセスを検出するセキュリティサーバ装置及びダミーサーバ装置を独立して設け、セキュリティサーバ装置がクライアント装置からの不正アクセスを検出すると、ダミーサーバ装置に転送接続することで、アプリケーションサーバ装置への不正アクセスを禁止している。
【特許文献１】特開２００２−４１４６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の不正アクセス防止サービスシステムでは、セキュリティサーバ装置、所定のアプリケーションプログラムを実行するアプリケーションサーバ装置及びダミーサーバ装置という、三種類の各々機能の異なる独立したサーバ装置を設けた専用のシステムを構築する必要がある。
【０００５】
本発明は、上記事実を考慮したもので、簡単な構成でデータベース等の複数のデータを容易に管理することができるデータ管理装置、データ管理方法及びデータ管理プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明のデータ管理装置は、各々データを入力するための複数のフィールドからなるデータ群を１単位のデータレコードとする所定構造のデータベースを各々記憶する複数の記憶手段の各々に、前記データレコードを格納する格納手段と、前記データレコードの少なくとも１つのフィールドにおける正規データと相異するダミーデータを生成すると共に前記正規データを前記ダミーデータに置換した格納用データレコードを前記データレコードとして生成する生成手段と、を備えたことを特徴とする。
【０００７】
本発明のデータ管理装置では、データベースを各々記憶する複数の記憶手段に、データレコードを格納手段によって格納する。データベースは、各々データを入力するための複数のフィールドからなるデータ群を１単位のデータレコードとする所定構造をしている。生成手段は、正規データをダミーデータに置換した格納用データレコードを生成する。ダミーデータは、データレコードの少なくとも１つのフィールドにおける正規データと相異するように生成手段によって生成される。このように、本発明のデータ管理装置では、データレコードの少なくとも１つのフィールドをダミーデータに置換して複数の記憶手段の各々に格納するので、記憶手段に格納されるデータレコードは、正規のデータレコードと相異することになり、記憶手段から正規のデータレコードを得ることが困難となり、セキュリティを向上できる。このように、ダミーデータを混入したデータレコードを複数の記憶手段の各々に格納するのみで、セキュリティを向上でき、専用のサーバ装置を設ける必要が無く、簡単な構成でデータベースの複数のデータを容易に管理できる。
【０００８】
前記生成手段は、前記記憶手段毎に異なるフィールドの位置を設定する設定手段を含むことを特徴とする。
【０００９】
ダミーデータに置換するフィールドの位置が固定的な場合、ダミーデータの判別が容易な場合がある。そこで、本発明では、生成手段に含まれる設定手段は、ダミーデータに置換するフィールドの位置として、記憶手段毎に異なるフィールドの位置を設定する。これにより、ダミーデータを離散的に配置できる。従って、ダミーデータの判別が困難になり、セキュリティを向上できる。なお、同一フィールドについてダミーデータを配置する総数は、記憶手段の総数の半数未満が好ましい。
【００１０】
前記生成手段は、前記記憶手段毎に異なるダミーデータを生成することを特徴とする。
【００１１】
ダミーデータの値が固定的な場合、ダミーデータの判別が容易な場合がある。そこで、本発明では、生成手段は、記憶手段毎に異なるダミーデータを生成する。これにより、ダミーデータの値を離散的にできる。従って、ダミーデータの判別が困難になり、セキュリティを向上できる。
【００１２】
前記生成手段は、前記記憶手段の各々に対応して予め定めた規則でダミーデータを生成することを特徴とする。
【００１３】
不正アクセスがなされた場合、どこの記憶手段に対してアクセスされたかを特定できることが好ましい。そこで、本発明では、流出したデータから記憶手段を特定することを可能とするものである。詳細には、生成手段は、記憶手段の各々に対応して予め定めた規則でダミーデータを生成する。この予め定めた規則による、ダミーデータからそのダミーデータが格納されている記憶手段が何れであるか特定できる。従って、例えば、第三者の不正アクセス等によりデータベースのデータが流出した場合、そのデータベースに含まれるダミーデータにより何れの記憶手段からデータベースが流出したのかを特定することができる。
【００１４】
前記複数の記憶手段の各々に格納された前記データレコードを取得する取得手段と、前記取得手段により取得した複数のデータレコードについて、同一フィールドのデータ群に含まれる最多のデータを正規データのフィールドのデータと認定する認定手段と、をさらに備えたことを特徴とする。
【００１５】
本発明のデータ管理装置は、さらに取得手段と認定手段とを備える。取得手段は、複数の記憶手段の各々に格納されたデータレコードを取得する。セキュリティ向上の観点から、ダミーデータは、例えば、置換されるフィールドの位置や値等が記憶手段毎に離散的であることが好ましく、この場合、同一フィールドのデータ群のうち最も多く含まれるデータは正規データである確度が高い。従って、認定手段は取得手段により取得した複数のデータレコードについて、同一フィールドのデータ群に含まれる最多のデータを正規データのフィールドのデータと認定する。このように、同一フィールドのデータ群のうち最も多く含まれるデータを正規データと認定しているので、正規データを容易に取得することができる。
【００１６】
本発明のデータ管理装置は、次のデータ管理方法の工程を実行することにより実現できる。詳細には、各々データを入力するための複数のフィールドからなるデータ群を１単位のデータレコードとする所定構造のデータベースを各々記憶する複数の記憶手段の各々に、通信回線を介して情報を授受するコンピュータにおいてデータを管理する管理方法であって、前記コンピュータが、前記記憶手段の各々に前記データレコードを格納する工程と、前記データレコードの少なくとも１つのフィールドにおける正規データと相異するダミーデータを生成すると共に前記正規データを前記ダミーデータに置換した格納用データレコードを前記データレコードとして生成する工程と、を実行する。
【００１７】
また、本発明のデータ管理装置は、次のデータ管理プログラムを記録した記録媒体のデータ管理プログラムを実行することにより実現できる。詳細には、各々データを入力するための複数のフィールドからなるデータ群を１単位のデータレコードとする所定構造のデータベースを各々記憶する複数の記憶手段の各々に、前記データレコードを格納するステップと、前記データレコードの少なくとも１つのフィールドにおける正規データと相異するダミーデータを生成すると共に前記正規データを前記ダミーデータに置換した格納用データレコードを前記データレコードとして生成するステップと、をコンピュータで実行させるデータ管理プログラムを記録している。
【発明の効果】
【００１８】
以上説明したように、本発明によれば、正規データと相異するダミーデータを含むデータレコードを生成し、複数の記憶手段の各々に格納するので、簡単な構成でデータベース等の複数のデータを容易に管理することができる、という効果がある。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施の一例を詳細に説明する。
【００２０】
［第１実施の形態］
図１は、本実施の形態に係るデータ管理装置１０の概略構成を示す。本実施の形態に係るデータ管理装置１０は、アプリケーションプログラム等のプログラムを各々独立して稼働可能な複数（本実施形態では３つ）の汎用のサーバ装置及びユーザが操作するクライアント装置を備えている。
【００２１】
なお、本実施の形態では、アプリケーションプログラムとしてデータベースアプリケーションプログラムを利用している。またデータベースアプリケーションプログラムで利用するデータベースには、住所録を一例として説明する。
【００２２】
データベースの構造は、各々データを入力するための複数のデータフィールドからなるデータ群を１単位のデータレコードとする所定の構造である。具体的には本実施の形態のデータベースは、名前、住所、年齢、職業の４個のデータフィールドからなるデータ群を１単位のデータレコードとする所定の構造である。
【００２３】
クライアント装置２０は、第１サーバ装置４０Ａ、第２サーバ装置４０Ｂ及び第３サーバ装置４０Ｃと通信回線５８によりデータやコマンドを送受信可能に接続されている。なお、クライアント装置２０と第１〜第３サーバ装置４０Ａ、４０Ｂ、４０Ｃとの接続は、認証装置５０で認証した場合にのみ接続できるようにしてもよい。
【００２４】
クライアント装置２０は、ＣＰＵ２２、ＲＯＭ２４、ＲＡＭ２６及びＩ／Ｏ３０を含んでおり、それぞれコマンドやデータの授受をすることが可能に接続されている。Ｉ／Ｏ３０には、通信装置３２、モニタなどの表示装置３４、キーボードなどの入力装置３６、及び後述する処理ルーチンを実行するためのプログラムが予め格納されているメモリ２８が接続されている。通信装置３２は、第１〜第３サーバ装置４０Ａ、４０Ｂ、４０Ｃと通信回線５８を通じてデータやコマンドを送受信するためのものである。
【００２５】
第１サーバ装置４０Ａは、ＣＰＵ４２Ａ、ＲＯＭ４４Ａ、ＲＡＭ４６Ａ、及びＩ／Ｏ５０Ａを含んでおり、それぞれコマンドやデータの授受をすることが可能に接続されている。Ｉ／Ｏ５０Ａには、クライアント装置２０と接続するための通信装置５２Ａ、データベースアプリケーションプログラムなどが予め格納されているメモリ４８Ａ、及び第１データベース（第１ＤＢ）５６Ａを格納するメモリ５４Ａが接続されている。第２サーバ装置４０Ｂ及び第３サーバ装置４０Ｃは、第１サーバ装置４０Ａと略同様の構成なので詳細な説明は省略する。なお、ＣＰＵ４２Ｂ、４２ＣはＣＰＵ４２Ａに対応し、ＲＯＭ４４Ｂ、４４ＣはＲＯＭ４４Ａに対応し、ＲＡＭ４６Ｂ、４６ＣはＲＡＭ４６Ａに対応し、メモリ４８Ｂ、４８Ｃはメモリ４８Ａに対応し、Ｉ／Ｏ５０Ｂ、５０ＣはＩ／Ｏ５０Ａに対応し、通信装置５２Ｂ、５２Ｃは通信装置５２Ａに対応し、メモリ５４Ｂ、５４Ｃはメモリ５４Ａに対応する。なお、メモリ５４Ｂには、第２データベース（第２ＤＢ）５６Ｂが格納され、メモリ５４Ｃには第３データベース（第３ＤＢ）５６Ｃが格納される。なお、第１〜第３サーバ装置４０Ａ、４０Ｂ、４０Ｃは汎用のサーバ装置を用いることができる。
【００２６】
なお、本実施の形態では、クライアント装置２０に接続するサーバ装置を３つとして構成しているが、サーバ装置の数はこれに限らず４つ以上のデータベースが格納できればよい。
【００２７】
次に、本実施の形態の作用を説明する。
【００２８】
（全体処理）
本実施の形態のデータ管理装置１０は、クライアント装置２０において、電源投入の後に、図２に示すメインルーチンが実行されてステップ１００へ進む。ステップ１００では、まずメモリ２８から、予め定めたデータベースの数及び、データベースの名称等のデータベースの設定値を読取る。
【００２９】
次のステップ１０２では、構築済みのデータベースが有るか否かを判断すなわち既存のデータベースの利用か、新規データベースの構築かを判別する。この判断は、クライアント装置２０の入力装置３６による入力値により実行してもよく、ステップ１００で読取ったデータベースの名称などの有無により自動的に実行してもよい。データベースが未構築と判断した場合（否定判断）はステップ１０４へ進む。ステップ１０４では、データベースの新規構築処理が実行される。このステップ１０４の詳細は後述するが（図３）、データベースの数及び名称などを設定し、データベースを新規に構築する処理である。
【００３０】
次のステップ１０６では、入力装置３６の入力値などを読取り、本処理を終了するか否かを判断し、肯定判断の場合には、本ルーチンを終了する。一方、否定判断の場合には、ステップ１００に戻る。
【００３１】
一方、データベースが構築済みで有り、ステップ１０２で肯定判断の場合、ステップ１０８へ進み、そのデータベースにおける処理をユーザが選択するための処理選択画面（図示省略）を表示装置３４に表示する。この表示と共に、追加、更新、参照、その他のうち何れか１つのユーザが選択した処理を読取る。
【００３２】
次のステップ１１０では、読取った処理が追加処理であるか否かを判断する。肯定判断の場合は、ステップ１１２へ進み、詳細を後述する追加処理（図４）を実行したのちにステップ１０６へ進む。なお、ステップ１１２は、構築済みのデータベースに新規データを追加するための処理である。一方、ステップ１１０で否定判断の場合は、ステップ１１４へ進み、読取った処理が更新処理であるか否かを判断する。肯定判断の場合は、ステップ１１６へ進み、詳細を後述する更新処理（図９）を実行したのちにステップ１０６へ進む。なお、ステップ１１６は、構築済みのデータベースの既存のデータを新しいデータに書き換える（更新する）ための処理である。一方、ステップ１１４で否定判断の場合は、ステップ１１８へ進み、読取った処理が参照処理であるか否かを判断する。肯定判断の場合は、ステップ１２０へ進み、詳細を後述する参照処理（図６）を実行したのちにステップ１０６へ進む。なお、ステップ１２０は、構築済みのデータベースの既存のデータの値を参照するための処理である。一方、ステップ１０８で読取った処理が追加、更新、参照以外の例えば、データベースのメンテナンスなどのその他の処理であり、ステップ１１８で否定判断となった場合は、ステップ１２２へ進み、その他の処理を実行した後にステップ１０６へ進み、ステップ１０６で否定されると本ルーチンを繰り返し、肯定されると本ルーチンを終了する。
【００３３】
（新規構築処理）
次に、ステップ１０４の新規構築処理について詳細に説明する。新規構築処理とは、データベースの構造等を設定して、データが未格納状態のデータベースを新規構築する処理である。
【００３４】
ステップ１０４の新規構築処理では、図３の処理ルーチンが実行される。まず、新規構築処理が実行されると、ステップ２００へ進み、データベースの個数及び名称を設定する。データベースの個数及び名称の設定は、例えば、ユーザが入力装置３６により入力する入力値を読取ることにより行っても、予め定めた値をメモリ２８から読取ることにより行ってもよい。
【００３５】
次のステップ２０２では、データベースの所定構造、すなわち、１単位のデータレコードを構成する各々データを入力するための複数のデータフィールドの個数及び名称を設定する。データフィールドの個数及び名称の設定は、例えば、ユーザが入力装置３６により入力する入力値を読取ることにより行っても、予め定めた値をメモリ２８から読取ることにより行ってもよい。本実施の形態では、データフィールドとして氏名、住所、年齢、職業の名称の４個のデータフィールドを入力値から読取って設定する。
【００３６】
次のステップ２０４ではその他の設定が有るか否かを判断する。その他の設定が無ければステップ２０６へ進む。ステップ２０６では、ステップ２００で設定された各データベースのサーバ装置、ここでは第１〜第３サーバ装置４０Ａ、４０Ｂ、４０Ｃに対して、データベースの構造を出力することによって、データベースの作成を指示し、本処理を終了する。
【００３７】
一方、ステップ２０４で肯定判断の場合、ステップ２０８へ進む。ステップ２０８では、ダミーデータなどの設定を行う。ここでは、ダミーデータの設定として、サーバ装置毎及びデータフィールド毎に異なるようにダミーデータの設定を行う。ダミーデータの設定は、例えば、ユーザが入力装置３６により入力する入力値を読取ることにより行っても、予め定めた値をメモリ２８から読取ることにより行ってもよい。設定したダミーデータは、メモリ２８に記憶する。その後、ステップ２０６へ進み、データベースの作成を指示し、本処理を終了する。
【００３８】
これにより、第１サーバ装置４０Ａ、第２サーバ装置４０Ｂ及び第３サーバ装置４０Ｃはそれぞれ、通信装置５２Ａ、５２Ｂ、５２Ｃでデータベース作成の指示を受信し、ステップ２００及びステップ２０２で設定した設定値に対応したデータベースをそれぞれ作成し、メモリ５４Ａ、５４Ｂ、５４Ｃに格納する。従って、第１サーバ装置４０Ａで作成された第１データベース５６Ａはメモリ５４Ａに格納された状態に、第２サーバ装置４０Ｂで作成された第２データベース５６Ｂはメモリ５４Ｂに格納された状態に、第３サーバ装置４０Ｃで作成された第３データベース５６Ｃはメモリ５４Ｃに格納された状態になる。
【００３９】
本処理により、データベースが構築済みの状態となるので、このデータベースに対する各処理について以下に詳細に説明する。
【００４０】
（追加処理）
ステップ１１０の追加処理とは、構築済みのデータベースに新規のデータレコードを追加する処理である。ここでは、上記の新規構築処理で構築したデータベースにＡさんの名前、住所、年齢、職業のデータを含むＡさんのデータレコードを追加する場合を図４及び図５を参照して詳細に説明する。
【００４１】
ステップ１１０の追加処理では、クライアント装置２０において図４の処理ルーチンが実行される。まず、追加処理が実行されると、ステップ３００へ進み、入力画面（図示省略）として、全データフィールドの名称等のデータベースの構造を表示する。
【００４２】
次のステップ３０２では、データレコードＲにおける全データフィールドＦのデータの入力値を読取る。ここでは、ＡさんのデータレコードＲ（図５の正規データレコードＲ）における全データフィールドの値Ｆ（図５のデータフィールド６４、６６、６８、６９）を読取る。
【００４３】
次のステップ３０４ではメモリ２８から、上記の新規構築処理で設定したデータベースの個数Ｋ＝３を読取った後、ステップ３０６へ進む。ステップ３０６では、ダミーデータを置換するデータフィールドを決定し、メモリ２８に記憶する。同一のデータフィールドにおけるダミーデータを置換するデータフィールドの数は、データベースの個数の半数未満になるように決定する。ここでは、データベースの個数Ｋ＝３なので、ダミーデータを置換するデータフィールドの数は１個とする。さらに、名前を置換するデータフィールドとして、第１のデータベース５６Ａのデータフィールド、住所を置換するデータフィールドとして、第２のデータベース５６Ｂのデータフィールド、年齢を置換するデータフィールドとして、第３のデータベース５６Ｃのデータフィールド、職業を置換するデータフィールドとして、第１のデータベース５６Ａのデータフィールドを決定し、メモリ２８に記憶する。なお、ダミーデータを置換するデータフィールドはこれに限らないが、セキュリティの向上のためには、全データフィールドが正規データとならないようにダミーデータを置換するデータフィールドを割り振ることが好ましい。
【００４４】
次のステップ３０８では、対象のデータベースを最初のデータベース（第１のデータベース５６Ａ）に設定し、次のステップ３１０では、ステップ３０６で決定したデータフィールドのダミーデータを生成する。ダミーデータの生成は、データフィールド毎に正規データと同様の形式のデータを生成する。ここでは、Ａさんの名前６４に対応するダミーの名前６４Ａ、Ａさんの職業６９に対応するダミーの職業６９Ａをメモリ２８から読取ってダミーデータとして生成する。
【００４５】
なお、ダミーデータの生成は、データフィールド毎に異なるダミーデータやサーバ装置毎に異なるダミーデータを用いなくとも正規のデータと相異するように生成すれば良い。ところが、ダミーデータがダミーデータであることを識別可能なデータであると、その特定が容易となる。そこで、データフィールド毎に正規データと同様の形式、例えば正規のデータと区別がつかないような不一致のダミーデータを生成することでダミーデータ自身の識別は困難となる。
【００４６】
次のステップ３１２では、追加レコードＲ（１）を生成し、メモリ２８に記憶する。なお、追加レコードＲ（ｉ）｛１≦ｉ≦３：データベースを表す数｝とする。追加レコードＲ（１）は、読取った正規データレコードＲの名前と職業のデータフィールドの正規データをステップ３１０で生成したダミーデータに置換することにより生成する。これらステップ３０６〜３１２の処理により、第１のデータベース５６Ａに追加するための追加レコードＲ（１）を生成する処理が完了する。
【００４７】
次のステップ３１４では、設定されているデータベースが最後のデータベースか否かを判断する。ステップ３１４で否定されると、ステップ３１６へ進み、次のデータベースを設定し、ステップ３１０に戻り、処理を繰り返して、第２のデータベースに追加するための追加レコードＲ（２）を生成し、さらに第３のデータベースに追加するための追加レコードＲ（３）を生成する。なお、追加レコードＲ（２）では、Ａさんの住所６６に対応するダミーの住所６６Ａが置換された構造となり、追加レコードＲ（３）では、Ａさんの年齢６８に対応するダミーの年齢６８Ｃが置換された構造となる。このようにして、それぞれデータフィールドの一部が正規のデータからダミーデータに置換された追加レコードＲ（１）、Ｒ（２）、Ｒ（３）が生成され、メモリ２８に記憶されると、ステップ３１４で肯定され、これらを各データベースに追加するためのステップ３１８からの処理へ移行する。
【００４８】
ステップ３１８では、対象のサーバ装置（第１サーバ装置４０Ａ、第２サーバ装置４０Ｂ、第３サーバ装置４０Ｃ）に対して、それぞれのデータベース（第１データベース５６Ａ、第２データベース５６Ｂ、第３データベース５６Ｃ）をロックするように指示を送信する。データベースのロックは、他のユーザが本データベースに同時にアクセスして、データの追加等をするのを防止するために行うものである。
【００４９】
次のステップ３２０では、設定を最初のサーバ装置Ｓとして第１サーバ装置４０Ａ＝Ｓ（１）に設定する。なお、サーバ装置Ｓ（ｉ）｛１≦ｉ≦３：サーバ装置を表す数｝とする。次のステップ３２２では、第１のデータベース５６Ａから追加レコードＲ（１）を登録するための新規レコードを獲得する。なお、新規レコードに含まれるレコードＩＤは、追加レコードＲ（１）、追加レコードＲ（２）追加レコードＲ（３）で同一の値となっている。ここでは、レコードＩＤとして、（０００１）を獲得する。
【００５０】
次のステップ３２４ではメモリ２８から追加レコードＲ（１）を読取る。そして次のステップ３２６では、サーバＳ（１）に追加レコードＲ（１）をレコードＩＤ（０００１）の新規レコードとして追加するように第１サーバ装置４０Ａにデータを送信する。
【００５１】
次のステップ３２８では、設定されているサーバ装置Ｓが最後のサーバ装置か否か、即ち、全サーバ装置４０Ａ、４０Ｂ、４０Ｃに追加レコードを新規レコードとして追加するようにデータを送信したか否かを判断する。ステップ３２８で否定されると、ステップ３３０へ進み、次のサーバ装置Ｓを設定し、ステップ３２２に戻り、処理を繰り返して第２のサーバ装置４０Ｂ＝Ｓ（２）に追加レコードＲ（２）を新規レコードとして追加するようにデータを送信し、第３のサーバ装置４０Ｃ＝Ｓ（３）に追加レコードＲ（３）を新規レコードとして追加するようにデータを送信する。
【００５２】
このようにして、第１〜第３サーバ装置４０Ａ、４０Ｂ、４０Ｃそれぞれに、追加レコードＲ（１）、Ｒ（２）、Ｒ（３）のデータを送信すると、ステップ３２８で肯定され、ステップ３３２へ進み第１〜第３サーバ装置４０Ａ、４０Ｂ、４０Ｃに対して、ステップ３１８で行った第１〜第３データベース５６Ａ、５６Ｂ、５６Ｃのロックを解除するように指示を送信して、本処理を終了する。
【００５３】
このようにステップ１１２の追加処理（図４）により、第１〜第３サーバ装置４０Ａ、４０Ｂ、４０Ｃに固有のダミーデータを用いて追加レコードＲ（１）、Ｒ（２）、Ｒ（３）を生成し、それぞれ対応するサーバ装置（データベース）に格納することができ、第１データベース５４Ａには追加レコードＲ（１）が、第２データベース５４Ｂには追加レコードＲ（２）が、第３データベース５４Ｃには追加レコードＲ（３）が同一のレコードＩＤのデータレコードに追加された状態となる。
【００５４】
従って、正規データレコードＲの少なくとも１つのデータフィールドにおける正規データと相異するダミーデータを生成すると共に第１〜第３サーバ装置４０Ａ、４０Ｂ、４０Ｃの各々に正規データをダミーデータに置換した追加レコードＲを追加することができる。
【００５５】
なお、本実施の形態のステップ３０４〜３１６の処理が本発明の生成手段に対応し、ステップ３０の処理が、本発明の設定手段に対応し、ステップ３２０〜３３０の処理が、本発明の格納手段に対応する。
【００５６】
このように本実施の形態では、データレコードの少なくとも１つのデータフィールドにおける正規データと相異するダミーデータを生成すると共に正規データをダミーデータに置換した追加レコードを生成し、複数のサーバ装置に格納することができる。これにより、１つのサーバ装置に格納されているデータレコードからだけでは、正規データレコードを得ることが困難になり、セキュリティを向上できる。例えば、複数のサーバ装置のうちの何れか１つのサーバ装置に第三者が不正にアクセスし、データベースを参照したり、盗難したりしても、正規のデータレコードを得ることは困難であるため、セキュリティが向上する。
【００５７】
本実施の形態では、ダミーデータを生成し、各データベースに格納するので、簡単な構成でデータベースの複数のデータを容易に管理することができるため、データの管理には、例えば、各々機能の異なるサーバ装置を複数設ける等の複雑な装置構成を必要とせず、例えば、データベース及びサーバ装置そのものは汎用のものを用いることができる。
【００５８】
また、本実施の形態では、ダミーデータは、正規のデータと同様の形式のデータであるため、ダミーデータのみからダミーデータであるとの判別が困難である。例えば、サーバ装置に第三者が不正にアクセスし、データベースを参照したり、盗難したりしても、その第三者には、ダミーデータの判別が困難であるため、そもそもダミーデータが含まれている（不正アクセスに失敗している）ことの判断を困難にすることができる。従って、セキュリティを向上することができる。
【００５９】
さらに、本実施の形態では、各サーバ装置毎に異なるダミーデータを格納しているので、複数のサーバ装置からダミーデータであることの判別が困難であり、例えば、サーバ装置に不正にアクセスした第三者には、ダミーデータが含まれている（不正アクセスに失敗している）ことの判断が困難になる。従って、セキュリティを向上することができる。
【００６０】
さらにまた、本実施の形態では、サーバ装置毎及びデータフィールド毎に異なるように予めダミーデータを定めて記憶し、これに基づいてダミーデータを生成しているので、予め定めてあるダミーデータを参照することにより、ダミーデータからそのダミーデータが格納されているサーバ装置が特定できる。例えば、サーバ装置に不正にアクセスした第三者によってデータベースが流出した場合、流出したデータベースに含まれるダミーデータにより、何れのサーバ装置からデータベースが流出したのか特定できるので、例えば、第三者が不正アクセスした経路の判明に役立つ。
【００６１】
（参照処理）
ステップ１２０の参照処理とは、所望のデータをデータベースから検索し、参照する処理である。ここでは、Ａさんの名前を検索して、Ａさんの住所を参照する場合を図６〜図８を参照して詳細に説明する。なお、図８は参照処理の説明図であり、図中の矢印は参照処理に含まれる個別の処理の流れを示している。
【００６２】
ステップ１２０の参照処理では、クライアント装置２０において図６の処理ルーチンが実行される。まず、参照処理が実行されると、ステップ４００へ進み、参照指示画面（図示を省略した検索対象フィールド及び参照フィールド入力画面）を表示装置３４に表示し、ステップ４０２へ進む。ステップ４０２では、入力値である検索対象フィールドの値及び参照フィールドの名称を読取る。ここでは、Ａさんの名前（検索対象フィールド）及び住所（参照フィールドの名称）を読取る。
【００６３】
上記追加処理により、同一のデータレコードから生成された複数のデータレコードは同一のレコードＩＤで格納されている。本実施の形態では、同一人物に対応する全てのデータレコードは同一のレコードＩＤで格納されており、ＡさんのデータレコードはレコードＩＤ（０００１）に格納されている。そこで、次のステップ４０４では、レコードＩＤを最初のレコードＩＤに設定し、メモリに記憶する。次のステップ４０６では、ダミーのデータと正規のデータが混在する中から多数決処理を行って正規のデータを抽出し、設定されたレコードＩＤにおける検索対象のフィールド値（正規のフィールド値）を取得する。
【００６４】
ここで、ステップ４０６の多数決処理について詳細に説明する。本処理は、多数決により、正規のデータとダミーデータとが混在するデータの中から正規のデータを抽出するための処理である。
【００６５】
ステップ４０６の多数決処理では、図７の処理ルーチンが実行される。まず、多数決処理が実行されると、ステップ５００へ進み、設定されているレコードＩＤと検索対象フィールド（名前）の名称を取得する。次のステップ５０２では、処理対象のデータベースを最初のデータベース（第１データベース５６Ａ）に設定し、ステップ５０４へ進む。ステップ５０４では設定されているレコードＩＤ（最初のレコードＩＤ）をメモリ２８から取得し、レコードＩＤに対応するデータレコードを、設定されたデータベースから取得する。次のステップ５０６では、取得したデータレコードから検索対象フィールド（名前）のデータを取得し、メモリ２８に記憶する。ステップ５００乃至ステップ５０６の処理が、図８に示す名前で検索する処理７０に相当する。具体的には、設定されているレコードＩＤが０００１の場合、名前で検索を行って、第１のデータベース５６Ａからダミーの名前６４Ａを取得し（図８の処理７０Ａ）、第２のデータベース５６ＢからＡさんの名前６４を取得し（図８の処理７０Ｂ）、第３のデータベース５６ＣからＡさんの名前６４を取得し（図８の処理７０Ｃ）、それぞれメモリ２８に記憶する。
【００６６】
次のステップ５０８では、現在のデータベースが最後のデータベースか否かを判断する。否定判断の場合はステップ５１０へ進み、次のデータベースに設定し、ステップ５０４に戻る。最後のデータベースに対する処理を完了した場合は、ステップ５０８で肯定され、ステップ５１２へ進む。
【００６７】
ステップ５１２では、メモリ２８に記憶している検索対象フィールド（名前）のデータの中から最多のデータを出力する多数決処理を実行した後に本ルーチンを終了する。本実施の形態では、同一フィールドのデータ群では、正規のデータがダミーデータよりも多いので、正規のデータが最多である。ここでは、Ａさんの名前６４が最多となるため、処理（図８の処理７２）によってＡさんの名前６４が決定され（図８に実線で示す処理７２Ｂ、７２Ｃによる値）、それを出力する。
【００６８】
検索対象フィールドの多数決処理が終了すると、図６のステップ４０８に進む。ステップ４０８では、多数決処理により出力された検索対象フィールドのデータとステップ４０２で読取った検索対象フィールドのデータとが一致するか否かを判断する。データが不一致の場合、ステップ４０８で否定され、ステップ４１０へ進む。ステップ４１０では、現在のレコードＩＤが最後のレコードＩＤか否かを判断し、否定判断の場合はステップ４１２において次のレコードＩＤに設定した後、ステップ４０６に戻る。最後のレコードＩＤの場合、ステップ４１０で肯定され、ステップ４１４において、エラー処理を行った後、本処理を終了する。エラー処理の一例は、参照に失敗した旨の表示を表示装置３４に表示するよう指示するなどがある。
【００６９】
一方、ステップ４０８で肯定されると、ステップ４１６へ進み、参照フィールドの多数決処理を実行する。
【００７０】
ステップ４１６の参照フィールドの多数決処理は、上述したステップ４０６の多数決処理と略同様の処理を実行して参照フィールド（住所）のデータを取得する。現在のレコードＩＤと参照フィールド（住所）を取得し（ステップ５００）、最初のデータベースに設定し（ステップ５０２）、データベースからレコードＩＤに対応するレコードを取得する（ステップ５０４、図８の処理７４）。次のステップ５０６では、取得したデータレコードから参照フィールド（住所）のデータを取得し（図８の処理７６）、メモリ２８に記憶する（ステップ５０６）。具体的には、レコードＩＤ（０００１）の住所を参照して、ＡさんのレコードＲ（１）からＡさんの住所６６を取得し（図８の処理７６Ａ）、ＡさんのレコードＲ（２）からダミーの住所６６を取得し（図８の処理７６Ｂ）、ＡさんのレコードＲ（３）からＡさんの住所６６を取得し（図８の処理７６Ｃ）、それぞれメモリ２８に記憶する。
【００７１】
次のステップ５０８では、現在のデータベースが最後のデータベースか否かを判断し、否定の場合は、次のデータベースに設定し（ステップ５１０）、ステップ５０４に戻る。最後のデータベースに対する処理を完了した場合（ステップ５０８で肯定）は、ステップ５１２へ進む。ステップ５１２では、メモリ２８に記憶している参照フィールド（住所）のデータの中から最多のデータを出力する多数決処理を実行した後に本ルーチンを終了する。ここでは、Ａさんの住所６６が最多となるため、処理（図８の処理７８）によってＡさんの住所６６が決定され（図８に実線で示す処理７８Ａ、７８Ｃによる値）、それを出力し、ステップ４１８へ進む。
【００７２】
ステップ４１８では出力された参照フィールド（住所）のデータ（Ａさんの住所６６）を表示装置３４に表示し、本処理を終了する。
【００７３】
なお、本実施の形態のステップ５０４の処理が本発明の取得手段に対応し、ステップ４０６の処理が、本発明の認定手段に対応する。
【００７４】
このように本実施の形態では、各サーバ装置の各々からデータレコードを取得し、多数決処理を行って、最多のデータを正規のデータとして取得しているので、データレコードの少なくとも１つのフィールドにおける正規データがダミーデータに置換されているデータレコードから、正規のデータを取得することができる。
【００７５】
（更新処理）
ステップ１１６の更新処理とは、データベースに格納されているデータレコードのデータの内容を書き換える（更新する）処理である。ここでは、Ａさんの住所を新たな住所に更新する場合を図９を参照して詳細に説明する。
【００７６】
更新処理は、追加処理（図４）及び参照処理（図６、図７）と略同様の処理を含むので、同一処理には、同一符号を付して詳細な説明は省略する。なお、図６と図９の差異は、ステップ４００をステップ８００に変更し、ステップ４０２をステップ８０２に変更し、ステップ４１６及びステップ４１８をステップ８０４の更新処理（図４のステップ３０６〜３３２）に変更したことである。
【００７７】
ステップ１１６の更新処理では、クライアント装置２０において図９の処理ルーチンが実行される。まず、更新処理が実行されると、ステップ８００へ進み、更新指示画面（図示を省略した検索対象フィールド及び更新フィールド入力画面）を表示装置３４に表示するよう指示を出す。次のステップ８０２では、入力された検索対象フィールドのデータ（Ａさんの名前）及び更新対象フィールドのデータ（更新するＡさんの住所）を読取る。次に上述したステップ４０４〜４１４の処理を行う。最後のレコードＩＤまで検索しても、多数決処理により出力した検索対象フィールドのデータが８０２で読取った検索対象フィールドのデータと一致しない（ステップ４０８で否定、ステップ４１０で肯定）場合は、ステップ４１４のエラー処理を行って、本処理を終了する。一方、多数決処理により出力した検索対象フィールドのデータがステップ８０２で読取った検索対象フィールドのデータと一致（ステップ４０８で肯定）する場合は、ステップ８０４の更新処理に進む。
【００７８】
ステップ８０４の更新処理は更新対象フィールドのデータ、ここではＡさんの更新した住所を含んだＡさんのデータレコードを生成し、第１〜第３データベース５６Ａ、５６Ｂ、５６Ｃに格納する処理であり、図４のステップ３０４〜３３２と略同様の処理である。図４のステップ３０４〜３３２との差異は、ステップ３０６におけるダミーデータを置換するデータフィールドの決定をステップ８０２で読取った更新対象フィールドとして決定すること、ステップ３１２では、追加レコードＲ（ｉ）ではなく、更新レコードＲ’（ｉ）｛１≦ｉ≦３：データベースを表す数｝を、既存の追加レコードＲ（ｉ）（ここでは、既存のＡさんの追加レコードＲ（１）、Ｒ（２）、Ｒ（３））の更新対象フィールドのデータのみステップ３１０で生成したダミーデータと置換することによって生成すること、ステップ３２２では、設定されているレコードＩＤのレコードを獲得すること及びステップ３２６でサーバ装置Ｓ（１）、Ｓ（２）、Ｓ（３）に、第１〜第３データベース５６Ａ、５６Ｂ、５６Ｃの既存の追加レコードＲ（１）、Ｒ（２）、Ｒ（３）に更新レコードＲ’（１）、Ｒ’（２）、Ｒ’（３）をそれぞれ上書きするようにデータ及び指示を送信することである。ステップ３３２の処理が終了、すなわち更新処理８０４が終了すると、本処理を終了する。
【００７９】
このように本実施の形態では、検索対象フィールドの正規データを含むデータレコードを取得し、取得したデータレコードの更新対象フィールドのデータを新しいデータに更新したデータレコードを生成し、既存のデータレコードに上書きしているので、既存のデータフィールドのデータを更新することができる。
【００８０】
このように本実施の形態のデータ管理装置では、データレコードの少なくとも１つのデータフィールドをダミーデータに置換して複数のサーバ装置の各々に格納するので、サーバ装置に格納されるデータレコードは、正規のデータレコードと相異することになり、サーバ装置から正規のデータレコードを得ることが困難となり、セキュリティを向上することができる。
【００８１】
以上説明したように、本実施の形態のデータ管理装置では、ダミーデータを混入したデータレコードを複数のサーバ装置の各々に格納することにより単一のデータベース例えば、サーバ装置単位では正規のデータレコードの取得を困難にしている。従って、単一のデータベースから正規のものを把握することは困難となり、データ流出に対するセキュリティを向上することができる。また、サーバ装置の各々には、ダミーデータに置換されたデータレコードからなるデータベースを格納するので、特殊な構造や特殊な接続関係のシステム構成にする必要もない。従って、例えば、各々機能の異なる専用のサーバ装置を複数設ける等の複雑な装置構成の必要がない汎用のサーバ装置を用いることができる。
【００８２】
なお、セキュリティ向上のために、データを暗号化することが考えられるが、そのためには専用且つ特殊な構成が必要となる。一方、本実施形態のデータ管理装置では、正規データをダミーデータに置換し、複数のサーバ装置に格納している。そして、これらの複数のサーバ装置から多数決により正規データを特定している。このように見かけ上、正規データに相当するダミーデータを格納するので、仮に不正アクセスがなされた場合であっても、データベース管理側で意図しない第三者にはダミーデータが流出するのみである。このため、暗号化を施すセキュリティ向上に比べて、本実施の形態のデータ管理装置では、第三者にセキュリティが施されていることの認知を困難とすることができる。
【００８３】
［第２実施の形態］
（データベース修復）
本実施の形態は、第１実施の形態により、構築された第１〜第３データベース５６Ａ、５６Ｂ、５６Ｃの何れかが破損、もしくは盗難などにより、使用不能になった場合に、そのデータベースの代替となるデータベースを残存するデータベースに基づいて作成するものである。なお、本実施の形態の処理は、第１実施の形態と略同様の処理を含むので、同一部分には、同一符号を付して詳細な説明は省略する。
【００８４】
例えば、上記実施の形態のメインルーチン（図２）のステップ１２２のその他の処理でデータベースのメンテナンスが選択された場合、図１０の処理ルーチンが実行されてステップ９００へ進む。本処理は、残存するデータベースから正規のデータレコードを生成し、生成した正規のデータレコードの一部のフィールドをダミーデータと置換したデータレコードを生成する処理を全ての正規のデータレコードに対して実行し、このダミーデータを含むデータレコードを格納することにより代替となるデータベースを作成するものである。そこで、ステップ９００でレコードＩＤを最初のレコードＩＤに設定するとステップ４０６に進み、最初のデータフィールドについて多数決処理により正規のデータフィールドのデータを取得し、次のステップ９０２では、取得した正規のデータフィールドのデータをデータフィールドｆｉ（ｉ：データフィールドの個数）の値としてメモリ２８に記憶する。次のステップ９０４では、設定されているのが最後のデータフィールドか否かを判断する。否定されると、ステップ９０６へ進み、次のデータフィールドを選択し、ステップ４０６に戻り、多数決処理を行い、取得した正規のデータフィールドのデータｆｉを記憶する処理を繰り返す。一方、設定したレコードＩＤのデータレコードに含まれる全ての正規のデータフィールドのデータｆｉを取得し、記憶した場合はステップ９０４で肯定され、ステップ９０８へ進む。ここでは、ｆ１＝名前、ｆ２＝住所、ｆ３＝年齢、ｆ４＝職業を取得するとステップ９０８へ進む。ステップ９０８では、メモリ２８に記憶しているフィールド値ｆｉから、正規のデータレコードを生成し、設定されているレコードＩＤと共に、メモリ２８に記憶する。
【００８５】
次のステップ９１０では、現在のレコードＩＤが最後のデータレコードのレコードＩＤか否かを判断する。否定されると、ステップ９１２へ進み、次のレコードＩＤを選択し、ステップ４０６に戻り、正規のデータフィールドを取得し、正規のデータレコードを生成、記憶する処理を繰り返す。
【００８６】
一方、ステップ９１０で最後のデータレコードのレコードＩＤと判断（肯定判断）されると、ステップ９１４へ進み一部登録処理を行った後、本処理を終了する。なお、ステップ９０４の一部登録処理は、上記実施形態の追加処理（図４）のステップ３０４〜３３２の処理をデータベースの個数Ｋを１として実行する処理である。
【００８７】
このように、本実施の形態では、残存しているデータベースのデータに基づいて、正規のデータを取得し、代替となるデータベースのみを作成することができるので、複数有るデータベースのうちの何れかが破損、もしくは盗難などにより、使用不能になった場合でも、そのデータベースの代替となるデータベースを残存するデータベースに基づいて作成することができる。
【図面の簡単な説明】
【００８８】
【図１】本発明の第１実施の形態に係るデータ管理装置の主要構成を示すブロック図である。
【図２】本発明の第１実施の形態に係るデータ管理装置で実行される主処理の流れを示すフローチャートである。
【図３】本発明の第１実施の形態で実行される新規構築処理の流れを示すフローチャートである。
【図４】本発明の第１実施の形態で実行される追加処理の流れを示すフローチャートである。
【図５】本発明の第１実施の形態で実行される追加処理を説明するための説明図である。
【図６】本発明の第１実施の形態で実行される参照処理の流れを示すフローチャートである。
【図７】本発明の第１実施の形態で実行される多数決処理の流れを示すフローチャートである。
【図８】本発明の第１実施の形態で実行される参照処理を説明するための説明図である。
【図９】本発明の第１実施の形態で実行される更新処理の流れを示すフローチャートである。
【図１０】本発明の第２実施の形態に係るデータ管理装置で実行されるデータベース修復処理の流れを示すフローチャートである。
【符号の説明】
【００８９】
１０  データ管理装置
２０  クライアント装置
４０Ａ  第１サーバ装置
５６Ａ  第１データベース
４０Ｂ  第２サーバ装置
５６Ｂ  第２データベース
４０Ｃ  第３サーバ装置
５６Ｃ  第３データベース
【図１】
2007241461.tif 000003
【図２】
2007241461.tif 000004
【図３】
2007241461.tif 000005
【図４】
2007241461.tif 000006
【図５】
2007241461.tif 000007
【図６】
2007241461.tif 000008
【図７】
2007241461.tif 000009
【図８】
2007241461.tif 000010
【図９】
2007241461.tif 000011
【図１０】
2007241461.tif 000012