(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024152693
(43)【公開日】2024-10-25
(54)【発明の名称】データ、特に個人データを保存するためのシステムおよび方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20241018BHJP
G06F 16/2452 20190101ALI20241018BHJP
【FI】
G06F21/62 354
G06F21/62 318
G06F16/2452
【審査請求】未請求
【請求項の数】14
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024064217
(22)【出願日】2024-04-11
(31)【優先権主張番号】10 2023 109 178.6
(32)【優先日】2023-04-12
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】501205108
【氏名又は名称】エフ ホフマン-ラ ロッシュ アクチェン ゲゼルシャフト
(74)【代理人】
【識別番号】110001896
【氏名又は名称】弁理士法人朝日奈特許事務所
(72)【発明者】
【氏名】アイシュワリヤー アレックス ナマシヴァヤム
(72)【発明者】
【氏名】ヨッヘン ブリッツ
(72)【発明者】
【氏名】シュテファン ブシェリ
(72)【発明者】
【氏名】リカルド クリスティーノ
(72)【発明者】
【氏名】スタニスワフ フィンダイゼン
(72)【発明者】
【氏名】アルパー コカデミール
(72)【発明者】
【氏名】スディプト シェカール ロイ
(72)【発明者】
【氏名】ゲルハルト ゾンネンベルク
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175BA01
5B175EA03
5B175GC02
(57)【要約】 (修正有)
【課題】データを保存するための効率的で安全なシステム及び方法を提供する。
【解決手段】システム100は、インターフェース105と、認証モジュール130と、データを保存するための少なくとも1つのターゲットデータベース30,40と、データアクセスモジュール110と、を備える。データアクセスモジュール110は、インターフェースによってクライアントコンピュータ10からリクエストを受信することと、受信したリクエストに応答して、ターゲットデータベース30、40からデータをクエリすることと、クライアントコンピュータ及び/又はユーザがクエリを行う権限を有しているかどうかを判定することと、リクエストに応答するために、応答データセットを生成し、該応答データセットをクライアントコンピュータに送信することと、を含む。応答データセットのデータは、制限付き認証が確認された場合に匿名化される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
データ、特に個人データを保存するためのシステムであって、
インターフェース(105)、特にREST APIと、
認証モジュール(130)と、
前記データを保存するための少なくとも1つのターゲットデータベース(30,40)と、
データアクセスモジュール(110)であって、
a)前記インターフェースによってクライアントコンピュータ(10)からリクエストを受信することと、
b)受信した前記リクエストに応答して、前記少なくとも1つのターゲットデータベース(30,40)からデータをクエリすることと、
c)前記クライアントコンピュータおよび/またはユーザがクエリを行う権限を有しているかどうかを判定することと、
d)前記リクエストに応答するために応答データセットを生成することであって、前記応答データセットを前記クライアントコンピュータに送信し、前記応答データセットの少なくとも一部のデータは、制限付き認証が決定された場合に匿名化される、生成することと
を行うように設計されている、データアクセスモジュール(110)と
を備える、システム。
【請求項2】
前記インターフェース(105)と通信するように構成された、特に少なくとも1つのクライアントコンピュータ(10)にインストールされたデータベースドライバ(12)、特に、JDBCドライバを備える、請求項1に記載のシステム。
【請求項3】
前記データベースドライバ(12)がパーサユニットを備え、前記パーサユニットが、フィールド名のうちの少なくとも選ばれたものを使用して前記インターフェース(105)に送信するためのクエリを作成するために、SQL表現を含む文字列を受信し、前記SQL表現から、特にデータベーステーブルから前記フィールド名を抽出するように設計されており、および/または
前記データベースドライバ(12)は、前記SQL表現を例えば文字列としてRESTリクエスト内にカプセル化し、前記リクエストを前記インターフェース(105)上に出力するように設計されていることを特徴とする、請求項1または2に記載の、特に請求項2に記載のシステム。
【請求項4】
複数のロールおよび/またはユーザを保存するデータベースであって、前記ロール/ユーザにはそれぞれの権限が割り当てられている、データベースを特徴とし、
前記認証モジュール(130)は、前記インターフェース(105)によって受信された、リクエストのうちの少なくとも選ばれたものを受信し、前記データベースから少なくとも一つのロールまたはユーザに割り当て、割り当てられた前記権限に基づいて、それぞれの前記リクエストに応答して前記インターフェース(105)によってどのデータが送信されるかを決定するように設計されている、請求項1から3のいずれか一項に記載のシステム。
【請求項5】
前記システム、特に構成管理モジュール(120)は、所定の権限および/または割り当てられた権限に応じて、異なるユーザおよび/またはロール、特にリレーショナルターゲットデータベース(30,40)が、少なくとも1つのターゲットテーブルのビュー(31,32)を生成および保存するように設計され、前記ビュー(31,32)は、前記ターゲットテーブルからの値が匿名化された値で置き換えられるように、好ましくは前記権限に応じて構成されていることを特徴とする、請求項1から4のいずれか一項に記載のシステム。
【請求項6】
前記システムは、前記インターフェース(105)上のリクエストに対して、複数のターゲットデータベース(30,40)から、前記リクエストに応答するための前記データを含むターゲットデータベースを選択するように設計されており、および/または
前記認証モジュールは、
a)前記リクエストにロールおよび/またはユーザを割り当てることと、
b)前記ターゲットデータベースがリレーショナルデータベースであるかどうかを判定することと、
c)前記ターゲットデータベースがリレーショナルデータベース(30)である場合、前記ロールまたは前記ユーザに関する情報を使用して、前記リクエストに応答するために使用される複数のビュー(31,32)からビューを選択することと
を行うように設計されていることを特徴とする、請求項1から5のいずれか一項に記載のシステム。
【請求項7】
前記システム、特に構成管理モジュール(120)は、ターゲットデータベースとして使用される(分散された)ターゲットハッシュデータベースに対する所定の権限および/または割り当てられた権限に応じて、異なるユーザおよび/またはロールが、特に、コピーハッシュデータベースの形式でロール固有のコピーを生成および保存するように設計され、前記コピーハッシュデータベースは、前記ターゲットハッシュデータベースからの(選択的な)値が匿名化された値で置き換えられるように、好ましくは前記権限に応じて変更されることを特徴とする、請求項1から6のいずれか一項に記載のシステム。
【請求項8】
前記システムは、前記インターフェース(105)上のリクエストに対して、複数のターゲットデータベース(30,40)から、前記リクエストに応答するための前記データを含むターゲットデータベースを選択するように設計されており、および/または
前記認証モジュールは、
a)前記リクエストにロールおよび/またはユーザを割り当てることと、
b)前記ターゲットデータベースがハッシュデータベースであるかどうかを判定することと、
c)前記ターゲットデータベースがハッシュデータベースである場合、前記ロールまたは前記ユーザに関する情報を使用して、前記リクエストに応答するために使用される複数のコピーハッシュデータベースからコピーハッシュデータベースを選択することと
を行うように設計されていることを特徴とする、請求項1から7のいずれか一項に記載のシステム。
【請求項9】
前記少なくとも1つのターゲットデータベース上のデータセットのうちの少なくとも選ばれたもののデータ収集コンテキスト、例えば、前記データ収集の時間、前記データ収集の目的、前記データの保持期間、前記データ収集の法的根拠、関連付けられた保持ポリシーの詳細を保存するように設計されたデータ収集コンテキストモジュール(150)を特徴とする、請求項1から8のいずれか一項に記載のシステム。
【請求項10】
前記システム、特に構成管理モジュール(120)は、前記データ収集コンテキストに基づいてデータを選択し、選択された前記データを匿名化された形式で保存するように設計されていることを特徴とする、請求項1から9のいずれか一項に記載の、特に請求項9に記載のシステム。
【請求項11】
前記少なくとも1つのターゲットデータベース(30,40)の少なくとも一部のデータは暗号化されており、前記システム、特に認証モジュール(右上)は、セキュリティトークンを受信し、前記セキュリティトークンに基づいて、前記クエリを発行する前記クライアントコンピュータ(30)が、前記システムと通信することおよび/またはクエリされた前記データを受信することを許可されているかどうかを判定するように設計されていることを特徴とする、請求項1から10のいずれか一項に記載のシステム。
【請求項12】
鍵データベースであって、前記システムは、特に前記少なくとも1つのターゲットデータベース(30,40)から、暗号化されたデータを復号化するために使用される鍵を選択するために前記鍵データベースを使用するように設計されている、鍵データベース
を特徴とする、請求項1から11のいずれか一項に記載の、特に請求項11に記載のシステム。
【請求項13】
好ましくは請求項1から12のいずれか一項に記載のシステムを使用して、応答データセットによって少なくとも1つのリクエストに応答するための方法であって、
a)インターフェース(105)、特にREST APIを介して少なくとも一つのリクエストを受信ステップと、
b)受信した前記リクエストに応答して、少なくとも1つのターゲットデータベース(30,40)からデータをクエリするステップと、
c)前記クライアントコンピュータ(10)および/またはユーザがクエリを行う権限を有しているかどうかを判定するステップと、
d)前記リクエストに応答するために少なくとも1つの応答データセットを送信するステップであって、前記応答データセットの少なくとも一部のデータは、制限付き権限が確認された場合に匿名化される、少なくとも1つの応答データセットを送信するステップと
を含む、方法。
【請求項14】
命令を含むコンピュータ可読メモリであって、前記命令は、少なくとも1つの処理ユニット上で実行されたときには請求項13に記載の方法を実行する、コンピュータ可読メモリ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターフェースと、認証モジュールと、少なくとも1つのターゲットデータベースと、少なくとも1つのデータ・アクセス・モジュールとを備える、データを保存するためのシステムに関する。さらに、本発明は、対応するシステムによって対応するデータを保存するための方法に関する。
【背景技術】
【0002】
医療分野では、データを保存することには非常に問題がある。問題となるデータは、多くの場合、個人的であり、非常に機密性が高い。同時に、対応するデータが様々なグループの人々およびアプリケーションに利用可能である必要がある。信頼性の高いデータは、疾患の正確な診断を行うために、またその後の治療の成功のためにも必要である。医療アルゴリズムのさらなる開発はまた、特に長期にわたってデータが利用可能であることを必要とする。
【0003】
したがって、関連データ、特に個人データを利用可能にする包括的なシステムがヘルスケア分野において開発されている。
【0004】
このような個人データの管理は、このデータを処理するための様々な規則および法律があるため複雑である。これらの規則および法律は、保存の形態、その保持期間および異なる目的のためのその使用に関する。
【0005】
さらに、データを保存するためのこのようなシステムに様々なアプリケーションを接続することは複雑である。既存のアプリケーションおよびシステムの多くでは、ローカルで、すなわちそれぞれのアプリケーションにおいてデータ保護に準拠するために必要なアルゴリズムを実装する試みが行われており、この手法は非常に複雑である。より新しいシステムは中央データ管理に依存しており、既存のアプリケーションの接続は技術的に複雑である。ここで、既存のアプリケーションを完全に再実装する必要があることが多い。
【0006】
米国特許第10572684号明細書は、個人データが分散データベース、好ましくはブロックチェーンに保存されるシステムを記載している。欧州特許出願公開第1226524号明細書は、エンティティ間でデータを共有することができるシステムを記載している。このシステムでは、ヘルスケアシステム用のデータを公開することも可能であり、データセキュリティは暗号化および適切な証明書によって保証される。
【0007】
欧州特許第2656274号明細書は、文書を交換または利用可能にするためのシステムを記載している。システムは、個人データを保護することを可能にするアクセス制限を実施する。
【発明の概要】
【0008】
この従来技術から進んで、本発明の目的は、データを保存するための効率的で安全なシステムを作成することである。特に、システムは、既存のアプリケーションを容易かつ効率的に統合することを可能にすべきである。
【0009】
この目的は、請求項1に記載のシステムおよび請求項13に記載の方法によって達成される。
【0010】
特に、この目的は、データ、特に個人データを保存するためのシステムによって達成され、本システムは、
インターフェース、特にREST APIと、
認証モジュールと、
データを保存するための少なくとも1つのターゲットデータベースと、
データ・アクセス・モジュールであって、
a)インターフェースによってクライアントコンピュータからリクエストを受信することと、
b)受信したリクエストに応答して少なくとも1つのターゲットデータベースからデータをクエリすることと、
c)クライアントコンピュータおよび/またはユーザがクエリを行う権限を有しているかどうかを判定することと、
d)リクエストに応答するために応答データセットを生成することであって、応答データセットをクライアントコンピュータに送信し、応答データセットの少なくとも一部のデータは、制限付き権限が確認された場合に匿名化される、応答データセットを生成することと
を行うように設計されている、データ・アクセス・モジュールと
を備える。
【0011】
本発明の1つの着想は、(中央)ターゲットデータベースにデータを保存することである。ターゲットデータベースは、データへのアクセスを管理する(中央-)アップストリームデータ・アクセス・モジュールを有する。認証モジュールは、どのアプリケーションがどのデータにアクセスできるかを調整する。したがって、本発明では、アプリケーションがデータに直接アクセスすることはもはや不可能である。代わりに、アクセスは、好ましくは事前定義されたインターフェースを介して、例えばクライアントコンピュータからリクエストを受信するデータ・アクセス・モジュールを介して行われなければならない。次いで、リクエストされたデータは、ターゲットデータベースから少なくとも部分的にクエリされ得る。既に説明したように、クエリされたまたはリクエストされたデータにアクセスする権限があるかどうか、およびどの程度まで権限があるかが検証される。対応するアクセス規制は、ユーザおよび/またはロールおよび/またはデバイスに基づくことができ、一般的なオペレーティングシステムでは通例であるように、個々のアプリケーションにユーザアカウントを割り当てることが可能である。本発明によれば、他の既知の認証概念も考えられる。
【0012】
リクエストに応答するために、本発明によれば、データ・アクセス・モジュールは、応答データセットを生成することであって、応答データセットをクライアントコンピュータに送信し、応答データセット内の個々のデータは匿名化される、応答データセットを生成することを行うように設計されている。対応する匿名化は、オンラインで、すなわちクエリの時点で、またはオフラインで、リクエストの前の時点で、例えばデータを収集するときに、または夜間ルーチンの一部として行われ得る。
【0013】
本発明の一実施形態では、データをクエリおよび/または提供するために使用されるインターフェースはREST(「表現状態転送」ベースのインターフェースである。対応するREST APIは、ウェブサービスとして実装され得て、リクエストを効率的に処理することを可能にする。
【0014】
一実施形態では、システムは、特に少なくとも1つのクライアントコンピュータにインストールされ、インターフェースと通信するように構成されたデータベースドライバを備える。対応するデータベースドライバは、JDBCドライバとすることができる。高度に洗練されたデータベース・アクセス・モジュールは、既存のオペレーティングシステムの多くに存在する。これらのデータベース・アクセス・モジュールの多くは、ODBCベースである。したがって、クライアントコンピュータ上のアプリケーションは、データソースに直接アクセスするのではなく、インストールされたODBCドライバを使用して適切なアクセスを実施する。従来のODBCドライバと比較して、REST APIは比較的新しい。本発明は、ODBCドライバ、特にJDBCドライバを提供することを想定しており、アプリケーションはこれらのドライバを介して本発明によるシステムのインターフェースと通信することができる。したがって、アプリケーションのシステムへのアクセスは明確に構造化されており、既存のアプリケーションは、ODBCドライバまたはJDBCドライバによってシステムと通信することができる。したがって、特に、本発明によるシステムは、認証およびデータ・アクセス・モジュールの追加機能にもかかわらず、従来のターゲットデータベースのように動作することができると考える場合、移行のための出費は極めて低い。
【0015】
一実施形態では、データベース・アクセス・モジュールは、パーサユニットを備え、パーサユニットが、SQL表現を含む文字列を受信し、SQL表現からフィールド名を抽出するように設計されている。構成は、データベース・アクセス・モジュール内のSQLクエリに依然として適用され得る。
【0016】
SQLリクエストを、インターフェースに送信されるリクエストにほぼ自動的に変換するように、データベースドライバを実装することが可能である。例えば、一実施形態では、SQLリクエストはREST規格に準拠するリクエストに変換される。一実施形態では、このためにパーサユニットが使用され、パーサユニットは、例えば、SQL表現またはODBCリクエストからテーブル名および/またはカラム名を抽出する。このデータを使用して、インターフェースを介して特定のデータリクエストを作成することができる。例えば、HTTPを介してGETリクエストを送信することができ、テーブル名および/またはカラム名は、クエリされるリソースをアドレス指定する。
【0017】
1つの(さらなる)実施形態では、SQLリクエストは、インターフェースに送信されるRESTリクエストまたはRESTコールにおいて文字列としてカプセル化される。
【0018】
一実施形態では、システムは、複数のロールおよび/またはユーザを保存するデータベースを備え、権限がロール/ユーザのそれぞれに割り当てられる。システム、特に認証モジュールがアクセスを管理できるようにするために、個々のターゲットデータベースの認証概念を使用することが可能である。好ましい実施形態では、(別個の)データベースを使用して、ターゲットデータベース全体にわたってロールおよび/またはユーザを管理し、それらに権限を割り当てる。
【0019】
認証モジュールは、インターフェースによって受信されたリクエストのうちの少なくとも選ばれたものを、データベースからの少なくとも1つのロールまたはユーザに割り当てることと、割り当てられた権限に基づいて、それぞれのリクエストに応答してインターフェースによってどのデータが送信されるかを決定することとを行うように設計され得る。
【0020】
一実施形態では、認証モジュールは、特定のデータへのユーザまたはロールのアクセスを完全に拒否することを決定してよい。1つの(さらなる)実施形態では、権限は、どのターゲットデータベースおよび/または特定のターゲットデータベースのどのサブコンポーネント(例えば、テーブルおよび/またはビュー)がクエリされるかに影響を及ぼす。本発明によれば、ターゲットデータベース(オンライン)から特定のデータを匿名化するために、権限に基づいて少なくとも1つの匿名化された機能を選択することも可能である。
【0021】
一実施形態では、システム、特に構成管理モジュールは、事前定義されたおよび/または割り当てられた権限に応じて、異なるユーザおよび/またはロールのためのターゲットデータベースおよび/またはビュー(例えば、いわゆるSQLビュー)を生成し、保存するように設計される。一実施形態では、元のデータセットに対して複数のターゲットデータベースおよび/またはビューが存在し、個々のターゲットデータベースおよび/またはビューは、それらが異なる程度に匿名化されるという点で異なる。例えば、第1のビューは、構成管理モジュールによって最初に記録されたデータを出力することができ、第2のビューは、最初に記録されたデータの一部のみを示し、例えば、データセットが削除されており、および/またはエントリが匿名化されている。
【0022】
したがって、この実施形態ではオフライン匿名化が実行され、データは、異なるビューに基づいて異なるように複製または出力される可能性がある。この手法には、リクエストに非常に効率的に応答することができるという利点がある。個々のテーブル/ビュー/フィールドの状態、したがって様々な匿名化の度合いを記録し、したがって文書化することも可能である。
【0023】
既に説明したように、システムは、インターフェース上のリクエストのために複数のターゲットデータベースからターゲットデータベースを選択するように設計することができ、このデータベースは、リクエストに応答するためのデータを含む。
【0024】
一実施形態では、認証モジュールは、
a)リクエストにロールおよび/またはユーザを割り当てることと、
b)ターゲットデータベースがリレーショナルデータベースであるかどうかを判定することと、
c)ターゲットデータベースがリレーショナルデータベースである場合、ユーザに関するロールまたは情報を使用して、複数のビューからビューを選択することと、
d)選択されたビューを使用してリクエストに応答することと
を行うように設計されている。
【0025】
ビューの使用は、少なくともSQLデータベースに関して、データが自由に複製されず、同時に効果的なアクセス概念を実装できるという利点を有する。
【0026】
一実施形態では、システム、特に構成管理モジュールは、事前定義されたおよび/または割り当てられた権限に応じて、ターゲットデータベースとして使用される(分散された)ターゲットハッシュデータベースの異なるユーザおよび/またはロールのコピーを生成し、保存するように設計されている。このようにして作成されたコピーハッシュデータベースは、既に説明されたビューまたはSQLテーブルに匹敵する、様々な匿名化の度合いを有することができる。
【0027】
一実施形態では、異なる権限と異なるターゲットハッシュデータベースとの間に相関関係がある。一実施形態では、異なるロールとコピーハッシュデータベースとの間に相関関係がある。したがって、これらはロール固有のコピーである。
【0028】
非SQLベースのデータベースは、本発明の意味の範囲内でハッシュデータベースと呼ばれる。これは、キーと値のペアを保存するデータベースとすることができる。ハッシュデータベースは、AmazonのDynamoDB(登録商標)などの分散されたデータベースであってもよい。対応するハッシュデータベースは、リクエストへの応答に関して非常に性能が高い。この性能は、コピーの作成によって影響を受けない。個々のコピーを異なるサーバに巧みに分散させることによってシステムの性能をさらに向上させることができる。
【0029】
一実施形態では、システムは、インターフェース上のリクエストのために複数のターゲットデータベースからターゲットデータベースを選択するように設計されており、このデータベースは、リクエストに応答するためのデータを含む。これに関連して、認証モジュールはまた、
a)リクエストにロールおよび/またはユーザを割り当てることと、
b)ターゲットデータベースがハッシュデータベースであるかどうかを判定することと、
c)ターゲットデータベースがハッシュデータベースである場合、ロールまたはユーザに関する情報を使用して、リクエストに応答するために使用されるコピーハッシュデータベースを複数のコピーハッシュデータベースから選択することと
を行うように設計され得る。
【0030】
1つの(好ましい)実施形態では、SQLデータベースおよび非SQLデータベース、特にハッシュデータベースが並列に共存する。これに関連して、SQLデータベースの匿名化は、異なる手法に従って行われる。例えば、SQLデータベースは異なるビューを提供することによって匿名され得て、非SQLデータベースは個々のデータを複製することによって匿名され得る(コピーハッシュデータベースを参照)。システムは、少なくともこれら2つの匿名化手法を知っており、リクエストに応答するとき、所与の権限で使用されるエンティティ(ビューまたはコピー)を決定する。したがって、必要な匿名化にもかかわらず、異なるデータベース実装を使用することができる。特に、異なるデータベース実装は、データをどのように保存し、最も効率的にクエリできるかに合わせて調整されてもよい。したがって、必要なデータ保護は、それぞれのデータベースの特定の実装とは無関係に実装され得る。それぞれのデータベースを実装するために使用される特定の技術は、(インターフェースを介した)外部アクセスに対して透過的ではないため、均一なアクセスを行うことができる。
【0031】
一実施形態では、システムは、少なくとも1つのターゲットデータベース上のデータセットのうちの少なくとも選ばれたもののデータ収集コンテキストを保存するように設計されたデータ収集コンテキストモジュールを備える。データ収集コンテキストは、例えば、データが収集された時間、データ収集の目的、データの保持期間、データ収集の法的根拠、関連付けられた保持ポリシーに関する情報などとすることができる。データ収集コンテキストを決定することにより、このデータに基づいて異なる形式の匿名化を開始することが可能である。部分的または完全に自動化された保持ポリシーも、個々のデータに対して実施され得る。この目的のために、システム、特に構成管理モジュールは、データ収集コンテキストに基づいてデータを選択することと、選択されたデータを匿名形式で保存することとを行うように設計され得る。
【0032】
一実施形態では、少なくとも1つのターゲットデータベースのデータの少なくとも一部は暗号化され、システムは、セキュリティトークンを受信することと、セキュリティトークンに基づいて、クエリを発行するクライアントコンピュータがシステムと通信することを許可されているかどうか、および/またはクエリされたデータを受信することを許可されているかどうかを判定することと、を行うように設計される。この目的のために鍵データベースを提供することができ、システムは、特に少なくとも1つのターゲットデータベースから、暗号化されたデータを復号化するために使用される鍵を選択するために鍵データベースを使用するように設計される。
【0033】
したがって、本発明によるシステムは、鍵管理機能を実行することもでき、クエリを行うクライアント-コンピュータ/ユーザがシステム上で認証され、システムは、それ自体の認証概念に応じてターゲットデータベース内の個々の暗号化データにアクセスするための鍵を選択する。したがって、上述のドライバおよび本発明によるシステムによって、すべてのアクセスリクエストにわたって一様に実装される、クライアントコンピュータ上で実行されているより古いアプリケーションのための認証システムを実装することも可能である。
【0034】
冒頭で述べた目的は、応答データセットによって少なくとも1つのリクエストに応答するための方法によっても達成され、本方法は、以下のステップ、すなわち、
a)インターフェース、特にREST APIを介して少なくとも1つのリクエストを受信するステップと、
b)受信したリクエストに応答して、少なくとも1つのターゲットデータベースからデータをクエリするステップと、
c)クライアントコンピュータおよび/またはユーザがクエリする権限を有するかどうかを判定するステップと、
d)リクエストに応答するために少なくとも1つの応答データセットを送信するステップであって、応答データセットの少なくとも一部のデータが、制限付き権限が確認された場合に匿名化される、少なくとも1つの応答データセットを送信するステップと
を含む。
【0035】
システムに関連して既に説明したように、本方法には利点がある。本方法は、既に説明したシステムで実行され得る。システムの説明により、本発明による方法の暗黙的な方法ステップが得られ、本発明は、異なる実施形態においてこれらの方法ステップをより詳細に定義する。
【0036】
冒頭で述べた目的は、命令を含むコンピュータ可読メモリであって、特に命令が、少なくとも1つの処理ユニット上で実行されたときには上述の方法を実施する、コンピュータ可読メモリによっても達成される。ここでも、本発明によるシステムに関連して既に説明したものと同様の利点がある。
【0037】
さらなる有利な実施形態は、従属請求項から得られる。
本発明は、いくつかの例示的な実施形態によって以下に説明され、これらは、例示を参照してより詳細に説明される。
【図面の簡単な説明】
【0038】
【
図1】インターネットを介してクライアントコンピュータに通信可能に接続された本発明によるシステムの概略図である。
【
図2】
図1による本発明によるシステムの詳細な概略図である。
【発明を実施するための形態】
【0039】
なお、以下の説明において、同一に作用する部分には同一の符号が用いられている。
【0040】
図1は、インターネット1を介して本発明によるシステム100の例示的な実施形態に通信可能に接続されたクライアントコンピュータ10を示す。図示されている抽象化のレベルでは、システム100は、リレーショナルデータベース30と、ハッシュデータベース、例えばAmazonのDynamoDB(登録商標)データベースとを含む。
【0041】
様々なアプリケーションをクライアントコンピュータ10にインストールすることができ、クライアントコンピュータは通常、ODBCインターフェースを介してデータベースと通信する。図示されている例示的な実施形態では、アプリケーションがJDBCドライバを介してシステム100のREST API105(
図2を参照されたい)と通信することができるようにするデータベースドライバ12が提供されている。
【0042】
図2は、システム100を示し、一部のソフトウェアコンポーネントが概略的に強調表示されている。これらのソフトウェアコンポーネントには以下が含まれる。
【表1】
【0043】
本発明の一態様は、クライアントコンピュータ10がREST API105を介してデータ・アクセス・モジュール110と通信することである。データ・アクセス・モジュールは、システム100の中心的なコンポーネントを表し、クライアントコンピュータ10によって発行されるリクエストに対する応答を本質的に編成する。説明された例示的な実施形態では、REST API105とデータ・アクセス・モジュール110との間にデータベース接続モジュールまたはデータベースプロキシがある。これらを使用して、ターゲットデータベース固有の方法でデータ・アクセス・モジュール110にクエリを転送することができる(リレーショナルデータベース30またはSQLデータベースまたはハッシュデータベース40を参照)。図示された例示的な実施形態では、左のモジュールはSQL固有のデータベース接続モジュール140であり、右のコンポーネントは非SQLターゲットデータベース用のデータベース接続モジュールである。
【0044】
図2では、一例として、データクエリが元々クライアントコンピュータ10からではなく、その上で実行されているアプリケーションから来ることが示されている。
【0045】
一実施形態では、アプリケーションは、典型的には、ODBCインターフェースを介して適切なターゲットデータベースと通信するアプリケーションである。既に説明したように、本発明によれば、クライアントコンピュータ10は、提出されたSQLリクエストをRESTリクエストに変換するデータベースドライバ12を有する。これを行うために、アドレス指定されたテーブル名がリクエストから解析され、具体的なフィールド情報が解明される。ワイルドカード記号(「*」)などの不特定のフィールド情報も、ターゲットデータベースが既知である限り、個々のフィールド名に変換することができる。また、特定のリクエスト(キーワード:「WHERE」)に対して設定されたSQLの典型的な条件も変換することができる。基本的に、データベースドライバ12は、SQLクエリからRESTリクエストを生成し、このRESTリクエストをインターフェース105を介してシステム100に送信する。クエリは、とりわけ、データ・アクセス・モジュール110によってそこで処理される。
【0046】
データ・アクセス・モジュール110は、例えば、データベース接続モジュール140によって提供されたデータに基づいて、ターゲットデータベース、例えばリレーショナルデータベース30を選択する。
【0047】
一実施形態では、データ・アクセス・モジュール110はまた、リクエストに応答して元のデータまたは部分的に匿名化されたデータを提供することができる範囲を判定する。例えば、システム100内の特定のロールを、識別情報に基づいてクライアントコンピュータ10上のリクエストアプリケーションに割り当てることができる。このロールは、特定のリレーショナルデータベース30のビューに関連付けられ得る。
【0048】
図3は、2つの異なるビュー、すなわち完全なデータベースビュー31および少なくとも部分的に匿名化されたデータベースビュー32を示す。例として、図示されている表またはビューは、患者データであり得る。完全なデータベースビュー31では、名前、正確な生年月日、および血液型が与えられているが、匿名化されたデータベースビュー32には、名前に加えて、生年月日のみがあり、血液型に関する情報はない。匿名化されたデータベースビュー32を生成するために、血液型は単にヌル値「NULL」に設定された。
【0049】
これらのビューのうちの1つが選択されると、適切なデータが、データ・アクセス・モジュール110からREST API105を介してクライアントコンピュータ10上のアプリケーションに返され得る。この点で、明確に構造化され匿名化された形態でデータを提供することが容易に可能である。
【0050】
様々なビューによって
図3に示す手法は、データセットがリレーショナルデータベース30に一度だけ存在すればよく、必要な匿名化機能がデータセットをクエリするときにオンラインで実行されるという利点を有する。
【0051】
非SQLベースのデータベースには、明確に異なる手法を使用することができる。一例としてハッシュデータベース40を使用すると、元のハッシュデータベースのコピーを作成し、そこに特定の値を恒久的に上書きすることが可能である。したがって、割り当てられたロールに応じて、ハッシュデータベース40に向けられたクエリに対して、データ・アクセス・モジュール110は、クエリアプリケーションのユーザロールに関連付けられたハッシュデータベースを選択する。この手法は、高い性能が達成されるという利点を有する。
【0052】
説明された例示的な実施形態では、それぞれのターゲットデータベースの技術的実施態様に応じて、両方の手法が並行して追求される。しかしながら、本発明によれば、システム100においてこれらの手法のうちの一方のみを実施することも考えられる。
【0053】
一実施形態では、システム100は、データ収集コンテキストモジュール150を備える。このデータ収集コンテキストモジュールは、データを収集し、それをターゲットデータベース、例えばリレーショナルデータベース30またはハッシュデータベース40に保存するように設計され得る。この収集プロセスの一部として、データ収集のコンテキストを識別する追加情報が保存されてもよい。この目的のために、別個のデータベースを提供することができる。コンテキストデータまたはデータ収集コンテキストは、以下を含む。
データ収集コンテキストの一意の識別子
データ収集の範囲
データ収集の目的
データ収集の持続時間
データ収集の法的根拠
適用可能なデータ保護コンプライアンス規制
【0054】
このコンテキストデータを使用して、保存されたデータの最初に必要な匿名化ステップを決定することができる。また、時系列に応じてターゲットデータベースの内容を変更することができる。例えば、特定のデータを、特定の期間だけ保持することができることが考えられる。この点において、本発明によるシステム100は、特定の時点におけるコンテキストに基づいてデータを削除することを可能にする。加えて、または代替として、特定のデータを特定の時点の後に一般大衆または特定のアプリケーションが利用できるようにすることができる。この点で、匿名化の程度が経時的に増加することは必ずしも必要ではない。理論的には、後の時点で匿名化情報が少ないシナリオも考えられる。
【0055】
記載されたメカニズムはまた、純粋に時間的な情報に限定されない。例えば、コンテキストは、特定のデータが収集された目的を示すことができ、したがって、どのアクセスロールが特定のデータをクエリすることを許可されるかに影響を及ぼす。
【符号の説明】
【0056】
1 インターネット
10 クライアントコンピュータ
12 データベースドライバ
30 リレーショナルデータベース
31 完全なデータベースビュー
32 匿名化されたデータベースビュー
40 ハッシュデータベース
100 システム
105 REST API
110 データ・アクセス・モジュール
120 構成管理モジュール
130 認証モジュール
140 データベース接続モジュール
150 データ収集コンテキストモジュール
【外国語明細書】