(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-30
(54)【発明の名称】安全なデータ複製システムおよび方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20250123BHJP
【FI】
G06F21/62 318
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024539850
(86)(22)【出願日】2023-01-06
(85)【翻訳文提出日】2024-07-01
(86)【国際出願番号】 US2023010256
(87)【国際公開番号】W WO2023146739
(87)【国際公開日】2023-08-03
(32)【優先日】2022-01-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】パインズ,アビアド
(72)【発明者】
【氏名】ファイヤーバーガー,アビラム
(72)【発明者】
【氏名】ゴラン,オロン
(72)【発明者】
【氏名】アティアス,アディアー
(72)【発明者】
【氏名】ルットスカイ,エフゲニー
(57)【要約】
1つの方法の実施形態は、少なくとも1つの地理的エリアまたは政治的エリアに配置されたパブリッシャノードによるデータの配信を、少なくとも1つの地理的エリアまたは政治的エリア外のサブスクライバノードに制限するように実施されるデータ配信制限を作成する入力を受けることを含む。方法は、その後、少なくとも1つの地理的エリアまたは政治的エリアに配置されたパブリッシャノード上のパブリッシャノードデータイベントへのサブスクリプションを定義するデータを格納するサブスクリプションリポジトリに問い合わせて、少なくとも1つの地理的エリアまたは政治的エリア外に配置されたサブスクライバノードによる特定のデータに関するデータイベントへの既存のサブスクリプションを識別する。方法は、その後、新たな、または新たに変更されたデータ配信制限に反する既存のサブスクライバノードサブスクリプションを識別する問合結果を出力し得る。受けた入力は、その後、後続する変更が、新たな、または新たに変更されたデータ配信制限によって条件付きで制限されるように、データベースに格納され得る。
【特許請求の範囲】
【請求項1】
データソースを識別し、そのデータソースを、他のノードがサブスクライブできるパブリッシャノードと、前記ソースに関連付けられたアイデンティティプロパティとして指定するデータを、データストレージデバイスに格納するステップと、
サブスクライバノードと、前記サブスクライバノードに関連付けられたアイデンティティプロパティとを識別するデータを、前記データストレージデバイスに格納するステップと、
サブスクライバノードによって、サブスクリプションを要求する入力を、前記パブリッシャノードから受けるステップと、
前記パブリッシャノードおよび前記サブスクライバノードの前記アイデンティティプロパティを識別するアイデンティティプロパティデータを、データベースから取得するステップと、
前記パブリッシャノードおよび前記サブスクライバノードの一方または両方の前記アイデンティティプロパティに関連付けられた任意のアイデンティティプロパティ関連ポリシを、前記データベースから取得するステップであって、各アイデンティティプロパティ関連ポリシは、それぞれの前記アイデンティティプロパティ関連ポリシを定義するデータで指定された前記アイデンティティプロパティを有するサブスクライバによってアクセスされるパブリッシャからのデータの配信を制限する、ステップと、
取得されたアイデンティティプロパティ関連ポリシを考慮して、要求された前記サブスクリプションを検証するステップと、
前記検証に成功すると、要求された前記サブスクリプションを有効にするデータを前記データベースに格納し、受けた前記サブスクリプション要求に応じて、ネットワーク経由で成功表示を送信するステップと
を含む方法。
【請求項2】
請求項1に記載の方法であって、
前記検証に失敗すると、受けた前記サブスクリプション要求に応じて前記ネットワーク経由でエラー表示を送信し、前記サブスクリプション要求を無視するステップ
をさらに含む方法。
【請求項3】
請求項1に記載の方法であって、前記データソースを識別する入力を、前記ネットワークを経由して受け、前記データストレージデバイスに格納するステップであって、前記入力は、前記データソースによって格納されたデータへのアクセスおよび配信を制限するプライバシおよびセキュリティ要件のうちの少なくとも1つに準拠するデータのタイプを格納しているとして識別する、ステップをさらに含む方法。
【請求項4】
請求項1に記載の方法であって、前記データソースは、データベースインスタンスと、データベーステーブルと、データベーステーブルのカラムとのうちの少なくとも1つを含む、方法。
【請求項5】
請求項1に記載の方法であって、
新たなアイデンティティ関連ポリシを定義するデータを受け、前記データベースに格納するステップと、
前記データベースに格納されたサブスクリプションに、前記新たなアイデンティティ関連ポリシを適用して、任意の違反を識別するステップと、
識別された前記違反をリストするレポートを出力するステップと
さらに含む方法。
【請求項6】
請求項5に記載の方法であって、
前記新たなアイデンティティ関連ポリシに違反していると識別されたサブスクリプションを一時停止するステップ
をさらに含む方法。
【請求項7】
請求項1に記載の方法であって、
前記アイデンティティプロパティは、前記パブリッシャノードおよび前記サブスクライバノードのそれぞれの場所を識別し、
前記アイデンティティプロパティ関連ポリシは、場所関連ポリシであり、
前記アイデンティティプロパティ関連ポリシは、場所から、場所へ、または、場所間でのデータの配信を制限し、プライバシ規制と、セキュリティ規制と、輸出管理規制とのうちの少なくとも1つを実施する少なくとも1つのポリシを含む、
方法。
【請求項8】
コンピュータプロセッサと、
ネットワークインターフェースデバイスと、
データストレージデバイスと、
前記データ管理システムのモジュールを定義する、前記データストレージデバイスに格納された命令と
を含むデータ管理システムであって、前記命令は、前記データ管理システムにローカルであり、前記ネットワークインターフェースデバイスを介してアクセス可能なデータに関して、前記コンピュータプロセッサによって実行可能であり、前記モジュールは、
データを格納するポリシリポジトリモジュールであって、前記データは、第1の関連付けを有するパブリッシャノードから、第2の関連付けを有するサブスクライバノードへの配信者サービスによるデータの複製を制限する少なくとも1つのポリシを定義する、ポリシリポジトリモジュールと、
データイベントの発生時に、パブリッシャノードからそれぞれのサブスクライバノードへデータを複製し、前記ポリシリポジトリモジュールに格納されたデータにおいて定義されたポリシに準拠することを条件として、パブリッシャノードからサブスクライバノードへのデータ複製を呼び出すように構成された配信者サービスモジュールと、
前記ポリシリポジトリモジュールに格納されたデータにおいて定義された前記ポリシを適用して、前記配信者サービスモジュールによるデータの配信を制限することを実行するポリシエンジンと
を含む、データ管理システム。
【請求項9】
請求項8に記載のデータ管理システムであって、前記ポリシエンジンは、前記ポリシリポジトリに格納されたポリシを考慮して、有効なサブスクライバノードデータ複製サブスクリプションのみを格納できるように、格納前に、新たなデータ複製サブスクリプションまたは既存のデータ複製サブスクリプションの変更の検証を実行する、データ管理システム。
【請求項10】
請求項8に記載のデータ管理システムであって、前記第1の関連付けおよび前記第2の関連付けは、前記パブリッシャノードおよび前記サブスクライバノードを、前記パブリッシャノードおよび前記サブスクライバノードが中に物理的に配置されているそれぞれのエリアに関連付ける、データ管理システム。
【請求項11】
請求項10に記載のデータ管理システムであって、前記エリアは、地理的エリアおよび政治的エリアのうちの一方または両方を含む、データ管理システム。
【請求項12】
請求項11に記載のデータ管理システムであって、前記ポリシリポジトリモジュールは、パブリッシャノードの地理的エリアおよび政治的エリアの一方または両方に基づいて、データ配信を制限する少なくとも1つのポリシを定義するデータを格納する、データ管理システム。
【請求項13】
請求項12に記載のデータ管理システムであって、少なくとも1つのポリシは、サブスクライバノードの地理的エリアおよび政治的エリアに基づいてデータ配信をさらに制限する、データ管理システム。
【請求項14】
請求項12に記載のデータ管理システムであって、地理的エリアおよび政治的エリアの定義の一方または両方に基づいてデータの配信を制限する1つのポリシは、データ配信を制限する政府によって課せられた要件である、データ管理システム。
【請求項15】
請求項12に記載のデータ管理システムであって、地理的エリアおよび政治的エリアの定義の一方または両方に基づいてデータの配信を制限する1つのポリシは、少なくとも1つのパブリッシャノードによって格納されるデータの特定のサブセットに関連付けられる、データ管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、一般に、データの保存および配信、特に安全なデータ複製システムおよび方法に関する。
【背景技術】
【0002】
近年、データ保護は、ますます重要になった。この重要性は、簡単、迅速、さらには自動的なデータ複製、個人データのプライバシに関する懸念、データセキュリティ侵害とそれに伴う消費者のネガティブな感情、輸出規制、データプライバシ規制など、いくつかの要因によって高まっている。結果として、規制(たとえば、一般データ保護規則、すなわち「GDPR」、カリフォルニア州消費者保護法、すなわち「CCPA」、医療保険の携行性と責任に関する法律、すなわち「HIPAA」)、企業ポリシ、契約要件、消費者の期待への準拠は、非常に専門的で時間がかかり、エラーが発生しやすいプロセスである。そのようなエラーは、多額の罰金、有害なニュース報道、および顧客の信頼の喪失につながる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本明細書の様々な実施形態は、ポリシインスペクタの役割または機能を導入することにより、データ共有、プライバシ、セキュリティ規制、法律、およびいくつかの実施形態における他の制限から生じる問題に対処する。ポリシインスペクタは、サブスクライバデータストレージノードに対して、パブリッシャデータストレージノードによって公開されたデータイベントへの新たなサブスクリプションを設定する場合など新たなデータ複製イベント時に、定義済みのポリシを格納、管理、評価し、それに基づいて動作する役割を担う。したがって、本明細書での様々な実施形態におけるデータ複製の役割または機能は、パブリッシャ、サブスクライバ、配信者、およびポリシインスペクタである。そのような実施形態は、データセキュリティと、ポリシおよび法的要件への準拠とを向上させるだけでなく、すべてのデータ複製イベントのこれまで必要だった検証を排除することによって、システムパフォーマンスを向上させることもできる。
【課題を解決するための手段】
【0004】
方法の形態の1つの実施形態は、データ配信制限を作成または変更する入力を受けることを含み、これが実施されると、少なくとも1つの地理的エリアまたは政治的エリアに配置されたパブリッシャノードによる特定のデータの配信が、少なくとも1つの地理的エリアまたは政治的エリア外のサブスクライバノードに制限される。この方法は、少なくとも1つの地理的エリアまたは政治的エリアに配置されたパブリッシャノード上のパブリッシャノードデータイベントへのサブスクリプションを定義するデータを格納するサブスクリプションリポジトリを問い合わせて、少なくとも1つの地理的エリアまたは政治的エリア外に配置されたサブスクライバノードによる特定のデータに関するデータイベントへの既存のサブスクリプションを識別することで続行する。次に、この方法は、新たな、または新たに変更されたデータ配信制限に反して、既存のサブスクライバノードのサブスクリプションを識別する問合結果を出力し得る。次に、受けた入力は、データベースに格納され得、既存のサブスクリプションへのその後の変更および新たなサブスクリプションの作成が、新たな、または新たに変更されたデータ配信制限によって条件付きで制限される。
【0005】
別の方法の実施形態は、データソースを識別するデータをデータストレージデバイスに格納すること、および他のノードがサブスクライブする可能性のあるパブリッシャノードとしてそのデータソース、およびソースに関連付けられた場所を指定することを含む。この方法は、その後、サブスクライバノードおよびサブスクライバノードに関連付けられた場所を識別する追加データを、データストレージデバイスに格納し得る。
【0006】
次に、サブスクライバノードによってパブリッシャノードからのサブスクリプションを要求する入力が受けられ得る。それに応じて、いくつかの実施形態は、パブリッシャノードおよびサブスクライバノードの場所を識別する場所データをデータベースから取得し、さらに、パブリッシャノードおよびサブスクライバノードの一方または両方の場所に関連付けられた場所関連ポリシをデータベースから取得することによって続行し、各場所関連ポリシは、それぞれの場所関連ポリシを定義するデータで指定された場所から、場所へ、または場所間でのデータの配信を制限する。次に、取得されたすべての場所関連ポリシを考慮して、要求されたサブスクリプションに対する検証処理が実行される。検証に成功すると、この方法は、要求されたサブスクリプションを有効にするデータをデータベースに格納することと、受けたサブスクリプション要求に応じて、ネットワーク経由で成功表示を送信することとを含む。
【0007】
さらに例示的な実施形態は、コンピュータプロセッサ、ネットワークインターフェースデバイス、データストレージデバイス、およびデータ管理システムのモジュールを定義するデータストレージデバイスに格納された命令を含むデータ管理システムの形態をとる。そのような実施形態の命令は、データ管理システムにローカルなデータに対してコンピュータプロセッサによって実行可能であり、ネットワークインターフェースデバイス経由でアクセス可能である。これらモジュールは、様々なモジュールを含む。いくつかのそのような実施形態では、ポリシリポジトリモジュールは、第1の関連付けを有するパブリッシャノードから、第2の関連付けを有するサブスクライバノードへの配信者サービスモジュールによるデータの複製を制限する少なくとも1つのポリシを定義するデータを格納する。配信者サービスモジュールは、いくつかの実施形態では、ポリシリポジトリモジュールに格納されたデータにおいて定義されたポリシに準拠することを条件として、パブリッシャノードからサブスクライバノードへのデータ複製を呼び出すように構成されたデータイベントの発生時に、パブリッシャノードからそれぞれのサブスクライバノードへデータを複製する。
【0008】
それに加えて、ポリシエンジンモジュールは、ポリシリポジトリモジュールに格納されたデータにおいて定義されたポリシを適用して、配信者サービスモジュールによるデータの配信を制限することを実行する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、例示的な実施形態による方法のブロックフロー図である。
【
図2】
図2は、例示的な実施形態による方法のブロックフロー図である。
【
図3】
図3は、例示的な実施形態による方法のブロックフロー図である。
【
図4】
図4は、例示的な実施形態によるシステムの論理ブロック図である。
【
図5】
図5は、例示的な実施形態による方法のブロックフロー図である。
【
図6】
図6は、例示的な実施形態によるコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0010】
現代のデータシステムは、多くの場合、データが1つのデータベースから別のデータベースに長距離にわたって複製される分散データモデルに依存している。この複製は、異なる理由で、異なる懸念事項に対処するために発生する可能性がある。たとえば、現在の複製モデルおよびツールは、2つの重要な懸念事項を有しており、それらは、データの整合性、つまり、すべてのデータが、ソースから、その目的の宛先に正しく複製されることを保証することと、パフォーマンスの改善、つまり、複製されたデータをフィルタ処理して、レイテンシおよび全体的なネットワークスループットを低減することである。しかしながら、そのようなツールは、企業がデータを複製する前に検討するポリシや追加の問題を考慮していない。さらに、現在標準となっているように、すべてのデータ複製イベントでデータ共有および複製ポリシと法的要件を施行することは、一部のそのような取組みのパフォーマンス改善目標に逆効果である。
【0011】
ある場所から別の場所へのデータの盲目的な複製は、欧州連合(「EU」)の標準契約条項(「SCC」)、一般データ保護およびプライバシ規制(「GDPR」)、カリフォルニア州消費者保護法(「CCPA」)、医療保険の携行性と責任に関する法律(「HIPPA」)などのポリシや規制に違反する可能性がある。他のポリシや規制は、輸出規制への準拠、国家または企業のセキュリティ上の懸念または目的、企業秘密データの保護、契約上の義務の遵守、および他の同様の目的を目的とする場合がある。そのような違反は、これらのポリシや規制のうちの1つまたは他のポリシや規制で禁止されている場所にあるデータストレージシステムにデータをコピーすることで発生する可能性がある。
【0012】
ほとんどの事例では、そのような違反は、悪意のある行為である必要はない。違反は、たとえば、データベース管理者が規制またはポリシを認識しておらず、禁止されている場所にデータをコピーしたり、または違反している場所にデータイベントを自動的に公開するデータ複製プロセスを設定したりした場合に、誤って行われることがある。グローバル企業の場合、違反は、非常に簡単に発生する可能性がある。いずれにせよ、違反は、多額の罰金、有害なニュース報道、および顧客の信頼の喪失をもたらす可能性がある。
【0013】
本明細書の様々な実施形態は、パブリッシャデータストレージノードによって公開されたデータイベントへのサブスクライバデータストレージノードの新たなサブスクリプションを設定する場合など、新たなデータ複製イベント時に、定義済みのポリシを格納、管理、評価、およびそれに基づいて動作する役割を担うポリシインスペクタの役割または機能を導入することで、そのような問題に対処する。そのような実施形態は、サブスクリプションが設定されているときに、問題のあるデータ複製が発生する前にデータ複製を検証する。したがって、確立されたサブスクリプションのみを作成できるため、すべてのデータ複製トリガイベントの発生時に、検証のためのデータ処理リソースの消費がなくなる。
【0014】
したがって、本明細書における様々な実施形態におけるデータ複製の役割または機能は、パブリッシャ、サブスクライバ、配信者、およびポリシインスペクタである。パブリッシャは、構成されたデータイベントから配信者へデータを公開するように構成されたデータストレージノードである。サブスクライバは、配信者から利用可能なパブリッシャによって構成された特定のデータイベントからデータを受けるように構成されたデータストレージノードである。配信者は、サブスクライバを登録して、パブリッシャから新たなデータや、既存のデータへの更新などのデータイベントを受けるメディエータである。
【0015】
ポリシインスペクタの役割または機能は、いくつかの実施形態では、配信者の従属要素または別個の要素であり、いくつかのタスクを実行する。これらのタスクは、他のタスクの中でも、様々なポリシ、法律、規制が、データ共有や複製にどのように影響し、または制限するかに関する表現を含むポリシデータを格納することと、サブスクリプションが作成され、新たなポリシが定義された場合に、サブスクリプションを評価して、既存のサブスクリプションへの影響を少なくとも識別し、一部またはすべての違反を通知して修正することとを含み得る。いくつかの実施形態では、そのようなタスクは、たとえば、それぞれのノードが配置されている地理的エリア(たとえば、物理的な場所)および政治的エリア(たとえば、国、経済地域または当局、貿易または他の条約への参加など)のうちの一方または両方を識別する地理的マーカ(地理マーカ)のような、パブリッシャおよびサブスクライバデータストレージノードの様々なプロパティを識別する、格納されたデータを利用する。いくつかのそのような実施形態では、様々なパブリッシャノードおよびサブスクライバノードは、ポリシインスペクタが、この点に関するデータを有するので、他の地理マーカに関する知識を必要としない。他のいくつかの実施形態では、特定の個人、請負業者や市民権を持つ人々などの特定の役割を持つ人々、または輸出管理データ制限の対象となる他の人口統計情報にデータをさらすデータ共有を制限するなど、他の目的のためにポリシを確立することができ、この場合、権限のない人が機密データにアクセスできる可能性のある場所にデータを格納するだけで、データが実際にアクセスされたか否かなどに関係なく違反が発生する。
【0016】
これらおよび他の実施形態は、本明細書では図面を参照して説明される。そのような実施形態により、より大きく、より迅速で、より正確で予測可能な準拠が可能になり、データベース管理者とポリシ担当者との両方にとって最小の労力で実施され得る。
【0017】
以下の詳細な説明では、本明細書の一部を形成し、本発明の主題を実施できる特定の実施形態を例として示す添付の図面に対する参照がなされる。これらの実施形態は、当業者が実施できるように十分に詳細に説明されており、他の実施形態が利用され、本発明の主題の範囲から逸脱することなく構造的、論理的、および電気的な変更が行われる可能性があることが理解されるべきである。本発明の主題のそのような実施形態は、便宜上、本明細書では「発明」という用語で個別におよび/または集合的に称されることがあるが、複数の発明または発明概念が実際に開示されている場合に、本願の範囲を任意の単一の発明または発明概念に自発的に限定する意図はない。
【0018】
したがって、以下の説明は、限定的な意味で解釈されるべきではなく、本発明の主題の範囲は添付の特許請求の範囲によって定義される。
【0019】
本明細書で説明される機能またはアルゴリズムは、1つの実施形態では、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアとの組合せで実施される。ソフトウェアは、メモリまたは他のタイプのストレージデバイスなどのコンピュータ可読媒体に格納されたコンピュータ実行可能命令を備える。さらに、説明される機能は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せであり得るモジュールに対応し得る。必要に応じて、1つまたは複数のモジュールで複数の機能が実行され、説明される実施形態は単なる例である。ソフトウェアは、パーソナルコンピュータ、サーバ、ルータ、またはネットワーク相互接続デバイスを含むデータ処理が可能な他のデバイスなどのシステムで動作するデジタル信号プロセッサ、ASIC、マイクロプロセッサ、または他のタイプのプロセッサで実行される。
【0020】
いくつかの実施形態では、関連する制御信号およびデータ信号が、モジュール間で、およびモジュールを介して、または特定用途向け集積回路の一部として通信される、2つ以上の特定の相互接続されたハードウェアモジュールまたはデバイスにおいて機能を実施する。したがって、例示的なプロセスフローは、ソフトウェア、ファームウェア、およびハードウェア実施に適用可能である。
【0021】
図1は、例示的な実施形態による方法100のブロックフロー図である。方法100は、管理者による定義時に、新たに追加されたサブスクリプションを、格納される前に検証するために、ポリシインスペクタモジュールによって実行される方法の例である。
【0022】
方法100は、データベース管理者、ポリシ担当者、またはそのようなタスクを割り当てられた他の個人からの入力に基づいて実行され得る。いくつかの実施形態では、方法100は、ウェブページ、モバイルデバイスアプリケーション、クライアントに展開されたアプリケーション、コマンドラインインターフェースなどのうちの1つまたは複数によって提示されるユーザインターフェース内で受けた入力に基づいて実行される。いずれにせよ、方法100の様々な検証機能は、検証が実行されるコンピューティングデバイス、リモートサーバ、またはクラウドに格納され得るポリシデータに基づいて、入力を受けるコンピューティングデバイス、リモートサーバ、またはクラウドで実行され得る。
【0023】
方法100は、データストレージノードをパブリッシャとして指定し、データストレージノードが配置されている、たとえばフランスのような、場所の地理マーカを指定する、入力を受けることを含む(102)。フランスはEU加盟国であるため、いくつかの実施形態では、EU指定を自動的に作成し得る。
【0024】
次に、方法100は、102で受けた入力のパブリッシャから複製されたデータを受けるようにサブスクライバデータストレージノードを構成する入力を受けることを含む(104)。サブスクライバはすでに地理マーカで指定されている場合があり得るか、または、104で受けた入力も、同様にEU加盟国であるスペインのような、地理マーカを含み得る。方法100はまた同様に、102で受けた入力のパブリッシャから複製されたデータを受けるように、サブスクライバデータストレージノードを構成する入力を受けることも含む(106)。106で受けた入力は、非EU加盟国である米国に配置されたサブスクライバに関する。
【0025】
次に受ける入力は、102,104,106で受けた入力を格納するコマンドであり得るが、他の実施形態では、格納コマンドは、102,104,106で受けた入力のおのおのに関して受けられ得るか、または入力を受けると自動的に実行され得る。格納コマンド入力をいつ受けるか、手動か自動かに関係なく、各データ複製構成を格納する前に、方法100は、ポリシリポジトリから関連ポリシを取得して、ポリシ、規制などに違反していないか否かを判定することを含む。ポリシの取得は、パブリッシャとサブスクライバとのおのおのに関連付けられた地理マーカに依存し得る。例示された実施形態では、パブリッシャは、フランスにあり、第1のサブスクライバは、スペインにある。どちらもEU加盟国であるため、GDPR違反はなく、102で受けたパブリッシャ入力と、104で受けたサブスクリプション入力とが格納される。しかしながら、106で受けた第2のサブスクライバ入力は、EU加盟国ではない、米国に配置されたサブスクライバに関する。したがって、受けた第2の入力は、たとえばGDPR規制に違反し(108)、106で受けた入力は、サブスクリプションとして格納されない。いくつかの実施形態では、入力が格納されるか格納されない方法100の各ポイントで、監査テーブルまたは監査ファイルにエントリを作成して、追加、識別された違反、削除などを追跡し、説明責任の目的で監査証跡を再作成し、発生する可能性のある問題のトラブルシューティングを支援することができる。
【0026】
図2は、例示的な実施形態による方法200のブロックフロー図である。方法200は、企業が法律、規制、契約、または他の方法で設定するかまたは基づいて準拠する、データプライバシポリシまたは規制に基づいてポリシを定義するための入力を受けるために実行され得る方法の例である。
【0027】
方法200は、データベース管理者、ポリシ担当者、またはポリシリポジトリに格納されたポリシのデータ表現を作成するようにタスクを割り当てられた他の個人からの入力に基づいて実行され得る。いくつかの実施形態では、方法200は、ウェブページ、モバイルデバイスアプリケーション、クライアントに展開されたアプリケーション、コマンドラインインターフェースなどのうちの1つまたは複数によって提示されるユーザインターフェース内で受けた入力に基づいて実行される。いずれにせよ、方法200の様々な要素は、検証が実行されるコンピューティングデバイス、リモートサーバ、またはクラウドに格納されている可能性のあるポリシデータに基づいて、入力を受けるコンピューティングデバイス、リモートサーバ、またはクラウドで実行され得る。
【0028】
方法200は、ユーザインターフェース内で既存のポリシを取得するか、または新たなポリシ用にブランクのインターフェースを開くなどして、ポリシ構成プロセスを開始することを含む(202)。方法200は、ポリシが適用可能である国、条約地域またはメンバ、政治的エリアまたは地理的エリアなどの地理マーカ、および、データ複製がブロックされるか、追跡されるか、通知を提供されるか、または、リレーショナルデータベースなどのネットワークデータノード間のデータ複製に関して防止または実行される他のアクティビティを識別する入力を受けることによって続行する(204)。受けた入力は、ポリシを、データ内に直接、または説明とともに、特定の法律、規制、企業ポリシ、契約上の義務、ベストプラクティス標準、ユーザまたは顧客の好みなどに関連付ける追加データも含み得る。その後、方法206は、ポリシを、ポリシリポジトリに格納206し得る(208)。
【0029】
方法200のいくつかの実施形態では、地理マーカを識別する入力を受けること(204)は、代わりに、データ配信制限を作成または変更する入力を受けることを含み得、これが実施されると、少なくとも1つの関連プロパティを有するパブリッシャノードによる特定のデータの配信を、少なくとも1つの関連プロパティを有さないサブスクライバノードに制限する。そのプロパティは、地理マーカではなく、1人または複数の個人に関するデータの項目を識別するデータ、たとえば国籍、個人のアイデンティティ、1人または人々のグループの役割、および個人またはエンティティをセグメント化するために使用できる他のデータであり得る。そのような実施形態では、次に方法200は、データの項目に基づいて、識別されたグループに包括的または排他的である個人またはエンティティのデータストアからのデータ複製を制限するように適応される。
【0030】
図3は、例示的な実施形態によるシステム300の論理ブロック図である。システム300は、いくつかの実施形態が展開され得るシステムの例である。システムは、国、州、経済圏などの異なる地域に展開されたデータ管理システム302,304,306,308のクラスタを含む。データ管理システム302,304,306,308のクラスタは、リレーショナルデータベース管理システム、ファイル複製システムなどの1つまたは複数のデータベース管理システムであり得るか、または含み得る。
【0031】
例示されるように、データ管理システムクラスタ308は、配信者310へのパブリッシャとして設定された2つのデータベース320,322を含む。配信者は、サブスクリプションリポジトリ312に設定されているデータサブスクリプションを提供するように動作して、データベース320,322から、データ管理システム302,304,306の他のクラスタ内のサブスクライバとして設定されているデータベースのデータベースへ、または1つのデータベース320,322から別のデータベース320,322へ、データを複製する。サブスクリプションは、本明細書の他の箇所で説明されているポリシに準拠し、ポリシリポジトリ318に格納されている。ポリシリポジトリに格納されたポリシは、ポリシインスペクタ316によって適用され、サブスクリプションリポジトリ312内のサブスクリプションが、ポリシリポジトリ318に格納されたポリシに違反していないことを確認する。
【0032】
サブスクリプションが作成され、サブスクリプションリポジトリに格納されると、いくつかの実施形態は、ポリシインスペクタ316を実行して、サブスクリプションを格納する前に、まずサブスクリプションがポリシに準拠していることを確認する。しかしながら、いくつかの実施形態は、代わりに、配信者310によるデータ複製イベントの実行前にサブスクリプションを評価し得る。データ管理システムクラスタ308は、ポリシおよびサブスクリプションの作成、編集、および適用に関する様々なデータが記録される監査証跡314も含む。
【0033】
図4は、例示的な実施形態による方法400のブロックフロー図である。方法400は、新たなポリシを作成したり、または既存のポリシを変更したりするために実行され得る方法の例である。
【0034】
たとえば、方法400は、データ配信制限を作成または変更する入力を受けることを含む(402)。データ配信制限は、実施されると、少なくとも1つの地理的エリアまたは政治的エリアに配置されたリレーショナルデータベース管理システムなどのデータストレージシステムのパブリッシャノードによる特定のデータの配信を、少なくとも1つの地理的エリアまたは政治的エリア外のサブスクライバノードに制限する。
【0035】
方法400のいくつかの実施形態、および本明細書の他のいくつかの実施形態では、ポリシまたはデータ配信制限は、対象データベースからのすべてのデータに関する場合がある。しかしながら、いくつかの事例では、制限は、金融口座データ、医療データ、アイデンティティデータ、またはデータベース全体より小さい他のデータなど、特定のタイプのデータのみに関し得る。これらの制限は、データベースの特定のカラムまたはテーブルによって指定され得る。他の実施形態では、1つまたは複数のデータベースは、カラム、テーブル、データベースビュー、格納されたプロシージャなどによって格納されたデータに関する特徴的な詳細を提供するメタデータを含み得る。そのため、いくつかの実施形態では、制限は、いくつかのデータベースのそのようなメタデータを参照して定義され得、特定のポリシに基づいて、どのデータを制限するかを判定するための追加のロジックをポリシ内で定義することを可能にする。
【0036】
方法400はさらに、少なくとも1つの地理的エリアまたは政治的エリアに配置されたパブリッシャノード上のパブリッシャノードデータイベントへのサブスクリプションを定義するデータを格納するサブスクリプションリポジトリを照会することを含む(404)。照会すること(404)は、少なくとも1つの地理的エリアまたは政治的エリア外に配置されたサブスクライバノードによる特定のデータに関するデータイベントへの既存のサブスクリプションを識別するために実行される。次に、この方法は、新たな、または新たに変更されたデータ配信制限に反する既存のサブスクライバノードサブスクリプションを識別する照会結果を出力し(406)、受けた入力をデータベースに格納する(408)。その結果、既存のサブスクリプションへのその後の変更および新たなサブスクリプションの作成は、新たな、または新たに変更されたデータ配信制限によって条件付きで制限される。
【0037】
方法400のいくつかの実施形態はさらに、照会404によって識別され、新たな、または新たに変更されたデータ配信制限に反する、既存の識別されたサブスクライバノードサブスクリプションを一時停止することを含む。そのようないくつかの実施形態では、識別されたサブスクリプションのリストが、ユーザインターフェースに提示され、一時停止されたサブスクリプションをサブスクライバに通知する1つまたは複数のメッセージが送信され得るか、または他の通知が生成されて提示または送信される。他の実施形態では、照会404によって識別された既存の識別されたサブスクライバノードサブスクリプションのリストが、適切な関係者またはエンティティに問題を通知するために、ユーザに出力され得るか、または電子メールなどの別の通信メカニズムを介して出力され得る。
【0038】
図5は、例示的な実施形態による方法500のブロックフロー図である。方法500は、サブスクリプションを定義し、格納されたポリシデータに具体化された1つのデータ複製制限を考慮して、サブスクリプションを検証するために実行され得る方法の例である。
【0039】
方法500は、データソース識別して、他のノードがサブスクライブできるパブリッシャノードとしてそのデータソースを指定するデータを、データストレージデバイスに格納することを含む(502)。格納されたデータは、データソースに関連付けられた場所を識別するデータも含む。方法500はさらに、サブスクライバノードと、サブスクライバノードに関連付けられた場所とを識別するデータを、データストレージデバイスに格納することを含む(504)。
【0040】
方法500は、いくつかの実施形態では、サブスクライバノードによって、パブリッシャノードからサブスクリプションを要求する入力を受けること(506)と、データベースから、パブリッシャノードおよびサブスクライバノードの場所を識別する場所データを取得すること(508)とを含む。方法500はまた、データベースから、パブリッシャノードおよびサブスクライバノードの一方または両方の場所に関連付けられた場所関連ポリシを取得すること(510)も含む。そのような実施形態では、取得(510)された各場所関連ポリシは、それぞれの場所関連ポリシを定義するデータで指定された場所から、その場所へ、またはその場所間でのデータの配信を制限する。取得(510)された場所関連ポリシは、その後、要求されたサブスクリプションを検証する(512)ために利用され、要求されたサブスクリプションの検証(512)に成功すると、方法500は、要求されたサブスクリプションを有効にするデータをデータベースに格納することと、受けたサブスクリプション要求に応じて、ネットワーク経由で成功表示を送信すること(514)とを含む。
【0041】
方法500の別の実施形態では、検証(512)に失敗すると、受けたサブスクリプション要求に応じて、ネットワークを介してエラー表示が送信され、サブスクリプション要求は無視される。方法500のさらなる実施形態は、データソースが、データソースによって格納されたデータへのアクセスと配信を制限するプライバシ要件およびセキュリティ要件の少なくとも1つに準拠するデータのタイプを格納していることとして識別する入力を、ネットワークを介して受け、データストレージデバイスに格納することを含む。
【0042】
図6は、例示的な実施形態によるコンピューティングデバイスのブロック図である。1つの実施形態では、複数のそのようなコンピュータシステムが、分散ネットワークで利用され、トランザクションベースの環境で複数のコンポーネントを実施する。オブジェクト指向、サービス指向、クラウドベース、他のアーキテクチャ、またはそれらの様々な組合せを使用して、そのような機能を実施し、複数のシステムと構成要素との間で通信することができる。
【0043】
コンピュータ610の形態の1つの例示的なコンピューティングデバイスは、処理ユニット602、メモリ604、取外し可能なストレージ612、および取外し不可能なストレージ614を含み得る。例示的なコンピューティングデバイスは、コンピュータ610として例示および説明されているが、コンピューティングデバイスは、異なる実施形態では、異なる形態のコンピューティングデバイスを含み得るか、またはそれらと通信し得る。たとえば、コンピューティングデバイスは代わりに、複数の仮想マシンが実行するコンピューティングデバイス、スマートフォン、タブレット、スマートウォッチ、または
図6に関して例示および説明されているものと同じまたは同様の要素を含む他のコンピューティングデバイスであり得る。スマートフォン、タブレット、およびスマートウォッチなどのデバイスは、一般的に、総称してモバイルデバイスと称される。
【0044】
さらに、様々なデータストレージ要素が、コンピュータ610の一部として例示されているが、ストレージは、インターネットなどのネットワーク経由でアクセス可能なクラウドベースのストレージもまた、あるいはその代わりに、含み得る。
【0045】
コンピュータ610に戻って説明するように、メモリ604は、揮発性メモリ606および不揮発性メモリ608を含み得る。コンピュータ610は、揮発性メモリ606および不揮発性メモリ608、取外し可能なストレージ612、および取外し不可能なストレージ614などの様々なコンピュータ可読媒体を含むコンピューティング環境を含み得るか、またはこのようなコンピューティング環境へのアクセスを有し得る。コンピュータストレージは、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、消去可能なプログラム可能な読取専用メモリ(EPROM)および電気的に消去可能なプログラム可能な読取専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読取専用メモリ(CD ROM)、デジタル多用途ディスク(DVD)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、またはコンピュータ可読命令を格納できる他の任意の媒体を含む。
【0046】
コンピュータ610は、入力616、出力618、および通信接続620を含むコンピューティング環境を含み得るか、またはそのようなコンピューティング環境へのアクセスを有し得る。入力616は、タッチスクリーン、タッチパッド、マウス、キーボード、カメラ、1つまたは複数のデバイス固有のボタン、コンピュータ610内に統合されているか、またはワイヤまたはワイヤレスデータ接続を介してコンピュータ610に結合されている1つまたは複数のセンサ、および他の入力デバイスのうちの1つまたは複数を含み得る。コンピュータ610は、通信接続620を使用して、ネットワーク環境で動作して、データベースサーバ、ウェブサーバ、および他のコンピューティングデバイスなどの1つまたは複数のリモートコンピュータに接続し得る。例示的なリモートコンピュータは、パーソナルコンピュータ(PC)、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードなどを含み得る。通信接続620は、ネットワークに接続され得るイーサネットカードとワイヤレスカードまたは回路のうちの一方または両方などのネットワークインターフェースデバイスであり得る。ネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、および他のネットワークのうちの1つまたは複数を含み得る。いくつかの実施形態では、通信接続620は、コンピュータ610が他のBLUETOOTH(登録商標)デバイスとデータをワイヤレスで受信および送信できるようにするBLUETOOTH(登録商標)デバイスなどのトランシーバデバイスもまた、あるいは代わりに含み得る。たとえば、いくつかの実施形態では、通信接続620は、スピーカおよびマイクロフォンを含むワイヤレスヘッドセットとのBLUETOOTH(登録商標)接続であり得る。したがって、これらの実施形態では、BLUETOOTH(登録商標)トランシーバデバイスは、本明細書の他の箇所で説明されているように、オーディオ出力デバイスであり得る。
【0047】
コンピュータ可読媒体に格納されたコンピュータ可読命令は、コンピュータ610の処理ユニット602によって実行可能である。ハードドライブ(磁気ディスクまたはソリッドステート)、CD-ROM、およびRAMは、非一時的なコンピュータ可読媒体を含む物品のいくつかの例である。たとえば、本明細書で例示および説明されている方法の1つまたは複数を実施する仮想マシンソフトウェア、1つまたは複数のアプリケーションおよびモジュールのような様々なコンピュータプログラム625またはアプリ、あるいは、サーバ、モバイルデバイスで、仮想マシン内で実行する、またはウェブブラウザ経由でアクセス可能なアプリまたはアプリケーションは、非一時的なコンピュータ可読媒体に格納され得る。
【0048】
さらなる例示的な実施形態は、データ管理システムの形態である。そのような実施形態のデータ管理システムは、コンピュータプロセッサ、ネットワークインターフェースデバイス、データストレージデバイス、およびデータストレージデバイスに格納され、データ管理システムのモジュールを定義する命令を含む。そのような実施形態の命令は、データ管理システムにローカルで、ネットワークインターフェースデバイス経由でアクセス可能なデータに対してコンピュータプロセッサによって実行可能である。これらのモジュールは、ポリシリポジトリモジュール、配信者サービスモジュール、およびポリシエンジンモジュールを含む。
【0049】
いくつかの実施形態では、ポリシリポジトリモジュールは、配信者サービスによって、第1の関連付けを有するパブリッシャノードから、第2の関連付けを有するサブスクライバノードへのデータの複製を制限する少なくとも1つのポリシを定義するデータを格納する。配信者サービスモジュールは、いくつかの実施形態では、ポリシリポジトリモジュールに格納されたデータにおいて定義されているポリシに準拠することを条件として、パブリッシャノードからサブスクライバノードへのデータ複製を呼び出すように構成されたデータイベントの発生時に、パブリッシャノードからそれぞれのサブスクライバノードへデータを複製する。
【0050】
それに加えて、ポリシエンジンは、一般に、ポリシリポジトリモジュールに格納されたデータにおいて定義されているポリシを適用して、配信者サービスモジュールによるデータの配信を制限することを実行する。たとえば、ポリシエンジンは、ポリシリポジトリに格納されたポリシを考慮して、新たなデータ複製サブスクリプションまたは既存のデータ複製サブスクリプションの変更を、その格納前に検証することを実行して、有効なサブスクライバノードデータ複製サブスクリプションのみを格納できるようにする。
【0051】
当業者であれば、発明的主題の本質を説明するために記載および例示されている部品および方法の段階の詳細、材料、配置に様々な他の変更を加えることは、添付の特許請求の範囲で表現されている発明的主題の原理および範囲から逸脱することなくなされ得ることが容易に理解されるであろう。
【国際調査報告】