IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特表2025-504283データベース管理システムのためのデータベース管理エンジン
<>
  • 特表-データベース管理システムのためのデータベース管理エンジン 図1A
  • 特表-データベース管理システムのためのデータベース管理エンジン 図1B
  • 特表-データベース管理システムのためのデータベース管理エンジン 図1C
  • 特表-データベース管理システムのためのデータベース管理エンジン 図2A
  • 特表-データベース管理システムのためのデータベース管理エンジン 図2B
  • 特表-データベース管理システムのためのデータベース管理エンジン 図3
  • 特表-データベース管理システムのためのデータベース管理エンジン 図4
  • 特表-データベース管理システムのためのデータベース管理エンジン 図5
  • 特表-データベース管理システムのためのデータベース管理エンジン 図6
  • 特表-データベース管理システムのためのデータベース管理エンジン 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-12
(54)【発明の名称】データベース管理システムのためのデータベース管理エンジン
(51)【国際特許分類】
   G06F 16/11 20190101AFI20250204BHJP
   G06F 21/62 20130101ALI20250204BHJP
【FI】
G06F16/11
G06F21/62 345
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024532811
(86)(22)【出願日】2022-12-06
(85)【翻訳文提出日】2024-07-10
(86)【国際出願番号】 US2022051891
(87)【国際公開番号】W WO2023129342
(87)【国際公開日】2023-07-06
(31)【優先権主張番号】17/567,022
(32)【優先日】2021-12-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】ゴラン,オロン
(72)【発明者】
【氏名】ファイヤーバーガー,アビラム
(72)【発明者】
【氏名】パインズ,アビアド
(72)【発明者】
【氏名】アティアス,アディアー
(72)【発明者】
【氏名】ルットスカイ,エフゲニー
(57)【要約】
方法、システム、およびコンピュータ記憶媒体は、データベースをデータベースのバックアップコピーに復元した後の、プライバシーポリシーへのデータベースのレベルのコンプライアンスを示すプライバシーコンプライアンス通知を提供する。データベースはデータベース管理エンジンに関連付けられる。データベースは、プライバシーベースの第1種データエンティティをサポートする。プライバシーベースの第1種データエンティティは、データベース言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有するデータベースエンティティである。プライバシーコンプライアンス通知は、データベースがデータベースのバックアップコピーに復元されて以降、データベースジャーナルおよびプライバシージャーナルに関連するプライバシーデータベース操作がデータベースに関して実行されたかどうかを判定することに基づいて生成され得る。データベース・トランザクション・ジャーナルは、データベースに対して実行されたデータベース操作のトランザクションログを含み、プライバシージャーナルは、複数のプライバシーベースの第1種データエンティティに関連するプライバシーデータベース操作として記録されたデータベース操作を含む。
【特許請求の範囲】
【請求項1】
1つまたは複数のコンピュータプロセッサと、
前記1つまたは複数のコンピュータプロセッサによって使用されるとき、前記1つまたは複数のコンピュータプロセッサに動作を実施させるコンピュータ使用可能命令を記憶するコンピュータメモリであって、前記動作は、
データベース管理エンジンで、複数のプライバシーベースの第1種データエンティティをサポートするデータベースにアクセスするステップであって、前記プライバシーベースの第1種データエンティティは、データベース言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有するデータベースエンティティである、ステップと、
前記データベースに関してデータベース操作を実行するステップであって、前記データベース操作は、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティに関連付けられる、ステップと、
前記データベース操作を実行したことに基づいて、プライバシージャーナル内に前記データベース操作を記録するステップであって、前記プライバシージャーナルは、前記プライバシーベースの第1種データエンティティおよび前記プライバシー・システム・レベル・メタデータ・プロパティに関連するプライバシーデータベース操作としてデータベース操作を記録するように構成される、ステップと、
前記データベースを前記データベースのバックアップコピーへと復元するステップと、
前記データベースを前記バックアップコピーへと復元したことに基づいて、前記プライバシージャーナル内で、前記復元以降に前記データベースに関して実行されていないプライバシーデータベース操作を識別するステップと、
前記復元以降に前記データベースに関して実行されていない前記プライバシーデータベース操作を識別したことに基づいて、前記データベースに関連するプライバシーコンプライアンス通知を生成するステップと
を含む、コンピュータメモリと
を含む、コンピュータ化されたシステム。
【請求項2】
請求項1に記載のシステムであって、前記データベース操作は、データ定義言語(DDL)コマンドと、リレーショナル・データベース・エンティティと、前記プライバシー・システム・レベル・メタデータ・プロパティについての値とを含む、システム。
【請求項3】
請求項1に記載のシステムであって、第1のプライバシーベースの第1種データエンティティは、プライバシーポリシーで定義されるプライバシー管理操作に関連するプライバシータイプであり、
第2のプライバシーベースの第1種データエンティティは、データベース操作に関連するプライバシーメタデータを追跡し、前記プライバシーメタデータは、対応するデータベース操作と共に前記プライバシージャーナル内に記憶される、システム。
【請求項4】
請求項1に記載のシステムであって、前記プライバシージャーナル内に前記データベース操作を記録するステップは、前記プライバシージャーナル内にポインタを記録することを含み、前記ポインタは、前記データベース操作に対応するデータベース・トランザクション・ジャーナル内のエントリを指し示す、システム。
【請求項5】
請求項1に記載のシステムであって、前記復元以降に前記データベースに関して実行されていない前記プライバシーデータベース操作を識別するステップは、前記データベースのデータベース・トランザクション・ジャーナル内のデータベース操作を再生する際のエラーを検出することに基づき、前記プライバシージャーナルは、前記データベース・トランザクション・ジャーナル内のデータベース操作のサブセットを含む、システム。
【請求項6】
請求項1に記載のシステムであって、前記復元以降に前記データベースに関して実行されていない前記プライバシーデータベース操作を識別するステップは、
前記バックアップコピーが生成された後に実行されたデータベース・トランザクション・ジャーナルのデータベース操作を再生することと、
前記データベース操作を再生する際のエラーを検出することと、
前記データベース・トランザクション・ジャーナル内の未再生のデータベース操作を前記プライバシージャーナル内のデータベース操作と比較することと、
前記プライバシーデータベース操作が前記データベース・トランザクション・ジャーナル内の未再生のデータベース操作に合致することに基づいて、前記プライバシージャーナル内の前記プライバシーデータベース操作を識別することと
に基づく、システム。
【請求項7】
請求項1に記載のシステムであって、前記プライバシーコンプライアンス通知は、前記復元以降に前記プライバシーデータベース操作が前記データベースに関して実行されていないために前記データベースが準拠しないことを示す、システム。
【請求項8】
コンピュータ実行可能命令がその上に組み込まれた1つまたは複数のコンピュータ記憶媒体であって、前記コンピュータ実行可能命令は、プロセッサおよびメモリを有するコンピューティングシステムによって実行されるとき、前記プロセッサに、
データベース管理エンジンで、複数のプライバシーベースの第1種データエンティティをサポートするデータベースにアクセスするステップであって、前記プライバシーベースの第1種データエンティティのデータベースエンティティは、データ定義言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有する、ステップと、
前記データベースのバックアップコピーを生成するステップであって、前記バックアップコピーは、データベース操作を記録するように構成されたデータベース・トランザクション・ジャーナルと、前記プライバシーベースの第1種データエンティティおよび前記プライバシー・システム・レベル・メタデータ・プロパティに関連するプライバシーデータベース操作を記録するように構成されたプライバシージャーナルとに関連付けられる、ステップと、
前記データベースに関してデータベース操作を実行するステップであって、前記データベース操作は、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティに関連付けられる、ステップと、
前記データベース操作を実行したことに基づいて、前記データベース・トランザクション・ジャーナルおよび前記プライバシージャーナル内に前記データベース操作を記録するステップであって、前記データベース操作は、プライバシーデータベース操作として前記プライバシージャーナル内に記録される、ステップと、
前記データベース内のエラーを検出するステップと、
前記データベース内の前記エラーを検出したことに基づいて、前記データベースを前記データベースの前記バックアップコピーに復元するステップと、
前記データベースを前記バックアップコピーに復元したことに基づいて、前記復元以降にプライバシーデータベース操作が前記データベースに関して実行されていないかどうかを判定するステップと、
前記復元以降に前記プライバシーデータベース操作が前記データベースに関して実行されていないかどうかを判定したことに基づいて、前記データベースに関連するプライバシーコンプライアンス通知を生成するステップと、
セキュリティ移行動作を実施させるステップと
を行わせる、1つまたは複数のコンピュータ記憶媒体。
【請求項9】
請求項8に記載の媒体であって、前記データベース操作は、データ定義言語(DDL)コマンドと、リレーショナル・データベース・エンティティと、前記プライバシー・システム・レベル・メタデータ・プロパティについての値とを含む、媒体。
【請求項10】
請求項8に記載の媒体であって、第1のプライバシーベースの第1種データエンティティは、プライバシーポリシーで定義されるプライバシー管理操作に関連するプライバシータイプであり、第2のプライバシーベースの第1種データエンティティは、データベース操作に関連するプライバシーメタデータを追跡し、前記プライバシーメタデータは、対応するデータベース操作と共に前記プライバシージャーナル内に記憶される、媒体。
【請求項11】
請求項8に記載の媒体であって、前記プライバシージャーナル内に前記データベース操作を記録するステップは、前記プライバシージャーナル内にポインタを記録するステップを含み、前記ポインタは、前記データベース操作に対応する前記データベース・トランザクション・ジャーナル内のエントリを指し示す、媒体。
【請求項12】
請求項8に記載の媒体であって、前記復元以降に前記プライバシーデータベース操作が前記データベースに関して実行されていないと判定することは、
前記バックアップコピーが生成された後に実行された前記データベース・トランザクション・ジャーナルのデータベース操作を再生することと、
前記データベース操作を再生する際のエラーを検出することと、
前記データベース・トランザクション・ジャーナル内の未再生のデータベース操作を前記プライバシージャーナルと比較することと、
前記プライバシーデータベース操作が前記データベース・トランザクション・ジャーナル内の未再生のデータベース操作に合致することに基づいて、前記プライバシージャーナル内の前記プライバシーデータベース操作を識別することと
に基づく、媒体。
【請求項13】
請求項8に記載の媒体であって、前記命令は、前記プロセッサに、
前記復元以降に前記データベースに関して実行されていないプライバシーデータベース操作が前記プライバシージャーナル内にないと判定するステップと、
前記復元以降に前記データベースに関して実行されていないプライバシーデータベースがないと判定したことに基づいて、前記コンプライアンス通知を生成するステップであって、前記コンプライアンス通知は、それが前記復元以降に前記データベースに関して実行されていないプライバシーデータベース操作ではないために前記データベースが準拠することを示す、ステップと
をさらに行わせる、媒体。
【請求項14】
請求項8に記載の媒体であって、前記命令は、前記プロセッサに、
前記復元以降にプライバシーデータベース操作が前記データベースに関して実行されていないと判定するステップと、
前記復元以降に前記プライバシーデータベース操作が前記データベースに関して実行されていないと判定したことに基づいて、前記コンプライアンス通知を生成するステップであって、前記コンプライアンス通知は、前記復元以降に前記プライバシーデータベース操作が前記データベースに関して実行されていないために前記データベースが準拠しないことを示す、ステップと
をさらに行わせる、媒体。
【発明の詳細な説明】
【背景技術】
【0001】
ユーザは、様々なデータリポジトリ(たとえば、データベース)内に記憶されたデータの制御を容易にするためにアプリケーションおよびサービスに依拠する。分散コンピューティングシステム(たとえば、クラウド・コンピューティング・プラットフォーム)が、データへのネットワークアクセスをサポートするデータベース管理システムをホストする。データベース管理システム(DBMS)は、作成、読取り、更新、および/または削除(CRUD)操作を可能にする様々なタイプのデータ制御ツールを提供する分散コンピューティングシステム内の情報管理システムの部分であり得る。DBMSは、データ記憶、管理、移行、編成、および操作サービスを提供するために情報管理システムの部分として動作し得る。具体的には、DBMSは、様々な企業、部門、または政府規制プライバシーポリシーへのデータベースコンプライアンスを容易にするためにコンピューティングタスクを実施する。たとえば、DBMSは、ユーザが開始した削除操作と、ユーザによって除去するように要求されたプライバシーデータを除去することを求める要求とを含むデータベース操作をサポートする。
【0002】
従来、データベース管理システムは、データベースのバックアップコピーが復元されるときにデータベースコンプライアンスを維持することをサポートするためのコンピューティングインフラストラクチャおよび論理と共に構成されない。たとえば、通常、DBMSは、バックアップが実施された時刻を遅らせるプライバシーデータ除去要求を反映することなく、データベースの状態をバックアップコピーに動作可能に復元するように実装される。動作可能バックアップ復元モデルは、データベースのバックアップコピーが復元されるとき、プライバシーデータが復元され、システム的に識別されず、削除されないので、プライバシーコンプライアンスを保証することができない。したがって、プライバシーコンプライアンスを容易にするための操作を実施するための代替の基盤を有する、より包括的なデータベース管理システムが、データベース管理システムでのコンピューティング操作およびインターフェースを改善し得る。
【発明の概要】
【0003】
本明細書で説明される技術の様々な態様は一般に、とりわけプライバシーコンプライアンス通知を提供するためのシステム、方法、およびコンピュータ記憶媒体を対象とする。プライバシーコンプライアンス通知は、プライバシーポリシーへのデータベースのレベルのコンプライアンスの表示である。プライバシーコンプライアンス通知は、具体的には、データベースのバックアップコピーにデータベースを復元した後に生成され得る。プライバシーコンプライアンス通知は、メッセージを配信するためのソフトウェアまたはハードウェア手段およびコンポーネントに関連するメッセージであり得る。プライバシーコンプライアンス通知は、データベースがデータベースのバックアップコピーに復元されて以降、データベースジャーナルおよびプライバシージャーナルに関連するプライバシーデータベース操作がデータベースに関して実行(すなわち、再実行)されたかどうかを判定することに基づいて生成され得る。データベースがデータベースのバックアップコピーに復元されて以降、データベースに関して実行されていないプライバシーデータベース操作が、データベース・トランザクション・ジャーナルおよびプライバシージャーナルを使用して識別され得る。
【0004】
動作可能に、データベース・トランザクション・ジャーナルは、データベースに関して、またはデータベースに対して実行されたデータベース操作のトランザクションログを含む。プライバシージャーナルは、データベース・トランザクション・ジャーナルとは別々であり、データベース・トランザクション・ジャーナルよりもサイズが小さく、したがってプライバシージャーナルは、データベース・トランザクション・ジャーナル内に含まれる情報のサブセットを含み得る。データベースは、データベース言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有するデータベースエンティティに対応する複数のプライバシーベースの第1種データエンティティ(すなわち、コンピューティングにおける第1種シチズン)をサポートする。データベースがデータベースのバックアップコピーに復元されて以降、プライバシージャーナル内のプライバシーデータベース操作がデータベースに関して実行されていないことを識別したことに基づいて、プライバシーコンプライアンス通知を生成して、データベース管理者に送ることにより、本開示の態様は、計算効率の高い形で、バックアップ復元操作を通じてプライバシーコンプライアンスを保証することを可能にする。具体的には、本開示の態様は、プライバシー・システム・レベル・メタデータを活用して、復元されたバックアップコピーのデータベース・トランザクション・ジャーナルとプライバシージャーナルとの比較に基づいて、データベースのバックアップコピーに関して実行されていないプライバシーデータベース操作を識別することを含む。
【0005】
従来、データベース管理システムは、データベースのバックアップコピーが復元されるときにデータベースコンプライアンスを維持することをサポートするためのコンピューティングインフラストラクチャおよび論理と共に構成されない。従来のデータベース管理システムの制限に対する技術的解決策が、プライバシーコンプライアンス通知を提供する。プライバシーコンプライアンス通知は、データベースがデータベースのバックアップコピーに復元されて以降、プライバシージャーナル内のプライバシーデータベース操作がデータベースに関して実行されていないことを識別したことに基づいて生成され、それに基づく情報を含み得る。したがって、本開示の態様は、計算効率の高い形で、バックアップ復元操作を通じてプライバシーコンプライアンスを保証することを可能にする。
【0006】
動作の際に、コンピューティングデバイスは、データベース管理エンジンで、データベース言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有する複数のプライバシーベースの第1種データエンティティをサポートするデータベースにアクセスし得る。コンピューティングデバイスは、データベースに関して、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティに関連するデータベース操作を実行し得る。コンピューティングデバイスは、データベース操作を実行することに基づいて、プライバシージャーナル内にデータベース操作を記録し得る。たとえば、プライバシージャーナルは、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータに関連するプライバシーデータベース操作としてデータベース操作を記録するように構成される。コンピューティングデバイスは、データベースをデータベースのバックアップコピーに復元し、復元に基づいて、プライバシージャーナル内で、復元以降にデータベースに関して実行(すなわち、再実行)されていないプライバシーデータベース操作を識別する。復元以降にデータベースに関して実行されていないプライバシーデータベース操作を識別したことに基づいて、コンピューティングデバイスは、データベースに関連するプライバシーコンプライアンス通知を生成する。
【0007】
さらに、データベース管理システムは、データベース管理エンジンで、複数のプライバシーベースの第1種データエンティティをサポートするデータベースにアクセスするように動作する。プライバシーベースの第1種データエンティティは、データ定義言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有するデータベースエンティティである。データベース管理システムは、データベース操作を記録するように構成されたデータベース・トランザクション・ジャーナルと、データベース操作をプライバシーデータベース操作として記録するように構成されたプライバシージャーナルとに関連するデータベースのバックアップコピーを生成するように動作する。
【0008】
データベース管理システムは、データベースに関して、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティに関連するデータベース操作を実行するように動作する。データベース管理システムは、データベース操作を実行したことに基づいて、データベース・トランザクション・ジャーナルおよびプライバシージャーナル内にデータベース操作を記録するように動作する。データベース操作は、プライバシーデータベース操作としてプライバシージャーナル内に記録される。データベース管理システムはまた、データベース内のエラーを検出し、データベース内のエラーを検出したことに基づいて、データベースをデータベースのバックアップコピーに復元するように動作する。データベース管理システムは、データベースをバックアップコピーに復元したことに基づいて、復元以降にどんなプライバシーデータベース操作もデータベースに関して実行されていないかどうかを判定するようにさらに動作する。データベース管理システムは、プライバシーデータベース操作が実行されていないと判定し、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないと判定したことに基づいて、データベースに関連するプライバシーコンプライアンス通知を生成する。
【0009】
この概要は、以下の詳細な説明でさらに説明される概念の抜粋を簡略化した形で紹介するために与えられるものである。この概要は、特許請求される主題の主要な特徴または不可欠な特徴を特定することを意図するものではなく、特許請求される主題の範囲を決定する際の助けとして使用されることを意図するものでもない。
【0010】
本明細書で説明される技術が、添付の図面を参照しながら以下で詳細に説明される。
【図面の簡単な説明】
【0011】
図1A】本明細書で説明される技術の態様による、データベース管理システムのデータベース管理エンジンを使用してプライバシーポリシーへのコンプライアンスを決定するために使用されるプライバシーコンプライアンス通知を生成するための例示的データベース管理システムのブロック図である。
図1B】本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジンを使用してプライバシーポリシーへのコンプライアンスを決定するために使用されるプライバシーコンプライアンス通知を生成するための例示的概略のブロック図である。
図1C】本明細書で説明される技術の態様による、データベース管理システム内でプライバシーコンプライアンス通知を生成するように構成された例示的データベース管理システムである。
図2A】本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジンを使用して、データベース・トランザクション・ジャーナル内にデータベーストランザクションを記憶し、プライバシージャーナル内にプライバシー・データベース・トランザクションを記憶するための例示的データベース管理システムである。
図2B】本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジンを使用して、プライバシーポリシーへのコンプライアンスを決定するために使用されるプライバシーコンプライアンス通知を生成するための例示的データベース管理システムである。
図3】本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジンを使用してプライバシーコンプライアンス通知を生成する第1の例示的方法を与える図である。
図4】本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジンを使用してプライバシーコンプライアンス通知を生成する第2の例示的方法を与える図である。
図5】本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジンを使用してプライバシーコンプライアンス通知を生成する第3の例示的方法を与える図である。
図6】本明細書で説明される技術の態様を実装する際に使用するのに適した例示的分散コンピューティング環境のブロック図である。
図7】本明細書で説明される技術の態様を実装する際に使用するのに適した例示的コンピューティング環境のブロック図である。
【発明を実施するための形態】
【0012】
技術的問題、技術的解決策、および技術的改良の概要
データベース管理システムは、データ記憶、管理、移行、編成、および操作サービスを提供するために情報管理システム内で動作する。具体的には、データベース管理システムは、様々な企業、部門、または政府規制プライバシーポリシーへのデータベースコンプライアンスを容易にするためにコンピューティングタスクを実施する。たとえば、データベース管理システムは、ユーザによって除去するように要求されたプライバシーデータを除去するために、ユーザが開始した削除操作を処理することを含むデータベース操作をサポートする。従来、データベース管理システムは、バックアップが実行されるとき、およびあるプライバシーデータの除去が後で要求されるときに、データベースコンプライアンスの保守を継続することを容易にすることを扱うためのコンピューティング論理と共に構成されない。
【0013】
本明細書では、「プライバシーポリシー」は、データを管理するための規則または規制のセットを指すことがある。プライバシーポリシーは、データ特有のもの、ユーザ特有のもの、企業特有のものなどであり得る。たとえば、カリフォルニア州消費者プライバシー法(CCPA)および一般データ保護規則(GDPR)は、ある種のデータの規制および制御に関する世界の特定の領域に特有の規則および規制を与える。プライバシーポリシーは、例として、個人データの仮名化および暗号化、処理システムおよびサービスの進行中の機密性、保全性、可用性、および回復力を保証する能力、物理的または技術的事象の場合に適時に個人データに対する可用性およびアクセスを復元する能力、処理のセキュリティを保証するために技術的および組織的処置の有効性を定期的にテスト、査定、および評価するためのプロセスに関連する規則または規制を満たすコンピューティング論理を含み得る。コンプライアンスを保証することは、データの制御に関する顧客の要求に準拠するため、およびプライバシーポリシーに準拠することを怠ることに関連する料金または制裁を回避するために近年重要になっている。バックアップ復元を通じてプライバシーポリシーに準拠することは、本明細書で論じられるような追加の課題を含む。
【0014】
本明細書では、「バックアップ」、「バックアップを実施すること」、「データベースバックアップ記憶操作を開始すること」、または「データベースのバックアップコピーを保存すること」は、データベース(たとえば、構造化照会言語(SQL)サーバデータベース)からのデータレコード、またはトランザクションログの対応するデータベース・トランザクション・ジャーナル(本明細書では、「データベース・トランザクション・ジャーナル」と呼ばれる)からのログ記録をコピーすることによって、データベースのバックアップコピーを作成するプロセスを互換的に指すことがある。バックアップを開始したことに応答して、バックアップが開始されたときからの特定の瞬間のデータベースのバックアップコピーが作成され得る。バックアップコピーは、たとえばユーザがデータベースを前のコピーに復元したいとき、データおよび関連するデータベース・トランザクション・ジャーナルを復元および回復するために使用され得る。「データベース・トランザクション・ジャーナル」は、データベースに関して実施され、データベースの対応するコピーまたはバージョンが得られるデータベース操作を含むトランザクションログを指すことがある。このようにして、「バックアップ復元操作」を実施することは、データベースならびに対応するデータベース・トランザクション・ジャーナルを、バックアップが実施されたときに関連するバックアップコピーに復元し得る。
【0015】
いくつかの従来のデータベース管理システムは、完全なデータベースバックアップ、部分的データベースバックアップ、またはファイルバックアップを開始し得る。さらに、従来のデータベース管理システムは、(1)完全なデータベースまたは部分的データベース、または(2)データファイルまたはファイルグループのセット(「差分ベース」)の最近の完全なバックアップに基づく差分バックアップ復元操作を開始し得、したがって差分バックアップ復元操作は、差分ベース以降に変化したデータに関連する修正のみを含む。差分バックアップ復元操作は、前のバックアップ復元以降に修正されたデータのみが置き換えられる点で、完全なバックアップよりも効率的であるが、差分バックアップ復元操作を利用するデータベース管理システムでさえも、ユーザが以前に除去されるように要求したプライバシーデータを復元するバックアップ復元操作に関連するプライバシーポリシーコンプライアンス問題に対処するためのコンピューティング論理または計算モデルを提供しない。
【0016】
実際に、従来のデータベース管理システムは、一般にバックアップが完了した時の後に通信および/または実行されるプライバシーデータに関連するデータベース操作を反映することなく、データ構造の状態をバックアップが完了した時の状態に盲目的に復元するように実装される。ブラインドバックアップ復元モデルは、(たとえば、バックアップ復元操作の部分として復元され、プライバシーポリシーに違反してデータベースをレンダリングするデータをアドレス指定または除去することによって)プライバシー・ポリシー・コンプライアンスを保証することができない。バックアップを完了するために、ブラインド・バックアップ・モデルは、バックアップの日付の後に除去するように以前に要求されたプライバシーデータを含む、バックアップの部分として記憶されたデータを復元させる。
【0017】
プライバシーポリシーへのデータベースコンプライアンスを容易にするための一手法は、情報技術(IT)専門家に、プライバシーポリシーへのデータベースコンプライアンスを保証する作業に専念させることを含み得る。こうした専門のIT専門家は、データ構造およびデータベースを手作業で解析して、プライバシーポリシーの違反を識別することが負担となり得る。しかしながら、プライバシーポリシーの違反を識別するこの手作業のプロセスは厄介であり、非効率であり、見落とされるプライバシーポリシーに準拠し損なうデータ構造が得られることがある。既存の手法とは対照的に、本開示の態様は、プライバシーポリシーへのデータベースコンプライアンスを達成する効率を改善し、プライバシーデータベース操作の識別を自動化することによってCPUサイクルを削減し、ネットワーク帯域幅を削減し得る。
【0018】
プライバシーポリシーへのデータベースコンプライアンスを保証する別の既存の手法は、顧客(たとえば、分散コンピューティング・システム・データベース・ソリューションの顧客)に、リレーショナルデータベースのフィールドおよびレコードなどの、データ構造を手作業でタグ付けする自由を与えることを含み得る。しかしながら、プライバシータグ付け管理の複雑さに関与する自由を顧客に負わせる結果、特にIT専門家の増大する要求を満たすことのできるIT専門家の欠如の増大に鑑みて、非効率、不整合、および誤ってタグ付けされたデータが生じ得る。さらに、IT専門家が企業から去る、または退職することが、より新しいIT専門家にプライバシータグ付け管理タスクを継続的に交替させることがあり、新しいIT専門家は、前のIT専門家によって使用される組織的な手法を知らないことがあり、その結果、プライバシーポリシーへのコンプライアンスを維持しようと試みる手法が不整合となる。したがって、プライバシー管理操作を実施するための代替の基盤を有する、より包括的なデータベース管理システムが、データベース管理システムでのコンピューティング操作およびインターフェースを改善し得る。
【0019】
本開示の実施形態はプライバシーコンプライアンス通知を提供する。プライバシーコンプライアンス通知は、プライバシーポリシーへのデータベースのレベルのコンプライアンスの表示である。プライバシーコンプライアンス通知は、具体的には、データベースのバックアップコピーにデータベースを復元した後に生成され得る。プライバシーコンプライアンス通知は、メッセージを配信するためのソフトウェアまたはハードウェア手段およびコンポーネントに関連するメッセージであり得る。プライバシーコンプライアンス通知は、データベースがデータベースのバックアップコピーに復元されて以降、データベースジャーナルおよびプライバシージャーナルに関連するプライバシーデータベース操作がデータベースに関して実行(すなわち、再実行)されたかどうかを判定することに基づいて生成され得る。データベースがデータベースのバックアップコピーに復元されて以降、データベースに関して実行されていないプライバシーデータベース操作が、データベース・トランザクション・ジャーナルおよびプライバシージャーナルを使用して識別され得る。
【0020】
動作の際に、プライバシーが、第1レベル・データ・エンティティとしてデータベースプラットフォーム(たとえば、構造化照会言語データベース)内に動作可能に統合される。本明細書では、「第1レベル・データ・エンティティ」とは、データベース内の他のエンティティを容易にする動作をサポートするエンティティを指す。プライバシー第1レベル・データ・エンティティとは、データベースプラットフォームの事前定義されたエンティティおよびデータ操作と同様の方式でプライバシーデータベース操作をサポートするように生成され、データベースプラットフォーム内に統合されるプライバシーエンティティを指すことがある。このようにして、プライバシーのコンテキストでは、例示的な第1レベル・データ・エンティティは、オブジェクト、関数、操作、補助リレーショナル・データベース・エンティティを含む。いくつかのコンテキストでは、第1レベル・データ・エンティティは、限定はしないがPython、SQL、Cプログラミング言語スイートなどのプログラミング言語に特有のものであり得る。第1レベル・データ・エンティティにとって利用可能な操作は、引数として渡され、関数として返され、修正され、変数に割り当てられる能力を含む。
【0021】
一実施形態では、システム・レベル・メタデータが、たとえば第1レベル・データ・エンティティ指定によって可能となるデータ定義言語(DDL)を使用して、テーブル、列(たとえば、フィールド)、または対応する行(たとえば、レコード)などのデータ構造に割り当てられる。このようにして、標準データベースDDL操作が、プライバシー・システム・レベル・メタデータを有する一定のデータ構造を割り当てるために利用され得、プライバシー・システム・レベル・メタデータをターゲットデータ構造に割り当てるためのプロセスが簡単になる。本明細書では、「プライバシー・システム・レベル・メタデータ」または「プライバシー・システム・レベル・メタデータ・プロパティ」は、対応するデータ構造がプライバシーポリシーによって制御される情報に関連付けられることを示す、任意の適切なデータ構造に割り当てられた任意のタグまたはメタデータを指すことがある。たとえば、「社会保障番号」を含む列が、プライバシー・システム・レベル・メタデータに関連付けられ得、列内のエントリがプライバシーデータに対応することを示す。したがって、「プライバシーデータ」は、「プライバシー・システム・レベル・メタデータ」またはその他を含む、あるいは対応するデータ構造がプライバシーデータを含むことを示すメタデータでタグ付けされた、任意のデータを指す。プライバシーデータの制御はプライバシーポリシーによって規制され得る。
【0022】
非限定的な例として、プライバシー・システム・レベル・メタデータを割り当てるためのDDL操作は、
”ALTER TABLE table_name MODIFY column_name privacy=true”
を含み、上記は、MODIFYエントリで定義される列に、プライバシー・システム・レベル・メタデータを割り当てさせ、MODIFYエントリで定義される列が、ALTER TABLEエントリで定義されるテーブルに関連付けられる。具体的には、この例で与えられるように、「privacy=true」は、この例示的なコードの行で定義されるテーブル(たとえば、table_name)の列(たとえば、column_name)にプライバシー・システム・レベル・メタデータを割り当てるように構成されたコンピュータ可読スクリプトであり得る。このようにして、コンピューティングシステムは、プライバシー・システム・レベル・メタデータが列に割り当てられているので、このテーブルのこの列内の任意のエントリに関して実施されるデータベース操作がプライバシーデータに関係すると識別し得る。この例は、書かれたコードによってプライバシー・システム・レベル・メタデータを列に割り当てることを含むが、ドロップダウンメニューを介して行われる選択、データフィールド内に書かれたテキストなどを含む、任意の適切な入力または選択によってプライバシー・システム・レベル・メタデータが割り当てられ得ることを理解されたい。
【0023】
さらに、本開示の態様は、とりわけ、データベースに関連するプライバシーポリシーへのコンプライアンスのレベルを示すプライバシーコンプライアンス通知を提供することを対象とする。本明細書では、「コンプライアンスのレベル」は、プライバシーポリシーに対して達成されるコンプライアンスの程度を示す。コンプライアンスのレベルは、データを評価し(たとえば、プライバシーデータベース操作またはプライバシージャーナル)、プライバシーポリシーへのコンプライアンスのレベルを決定するためのコンピューティング論理に関連付けられ得る。たとえば、削除すべきプライバシーデータがデータベース内に存在しない(準拠)か、それとも存在する(非準拠)かに基づくバイナリレベル0-準拠および1-非準拠。プライバシーポリシーに違反するプライバシーデータの存在に対する程度によって示されるコンプライアンスのレベルの他の変形および組合せが、本開示の実施形態と共に企図される。
【0024】
本明細書で論じられるように、プライバシーコンプライアンス通知は、データベースのバックアップコピーが、ユーザによって除去されるように以前に要求されたプライバシーデータを復元している可能性があるような、データベースのバックアップコピーを復元するバックアップ復元後の、プライバシーポリシーへのデータベースのコンプライアンスのレベルの表示を含み得る。プライバシーコンプライアンス通知は、Eメール、インスタントメッセージ、ブラウザ通知、統合カレンダ通知などの任意の適切なフォーマットでの任意の適切な表示を含み得る。プライバシーコンプライアンス通知が生成され、データベース管理者を含む任意の適切な人員(または関連するデバイス)に送られ得る。
【0025】
プライバシーコンプライアンス通知は、プライバシージャーナル内で、復元されたバックアップコピーに関して実施されていないプライバシーデータベース操作を識別することに基づいて生成され得る。「プライバシーデータベース操作」は、プライバシー・システム・レベル・メタデータに関連する、フィールド/列、レコード/行、テーブルなどのデータ構造に関して実施されるデータベース操作を指すことがある。「プライバシージャーナル」は、プライバシーデータベース操作のリスティングを含むトランザクションログまたはジャーナルを指すことがある。プライバシージャーナルは、データベース・トランザクション・ジャーナル内の情報のサブセットを含み得る。一例として、プライバシージャーナルは、プライバシー・システム・レベル・メタデータに関連するデータ構造に関して実施されるデータベース操作に対応するデータベース・トランザクション・ジャーナル内のエントリを指し示すポインタを含み得る。たとえば、ポインタは、トランザクション識別子(「ID」)などの低ビットデータ構造に対応し得る。このようにして、ポインタなどの、プライバシージャーナル内のエントリの構造が、追加のどんなプライバシーデータも省略し得るので、プライバシーポリシーへのコンプライアンスがプライバシージャーナル内で維持される。さらに、ポインタなどのプライバシージャーナルの低ビット構造が、以下で論じられるように、復元以降にデータベースのコピーに関して実行されていないプライバシーデータベース操作をプライバシージャーナルから識別することなど、計算を実施する際の速度を改善し得る。
【0026】
さらに、プライバシーコンプライアンス通知が、コンプライアンスのレベルに関するより具体的な命令を与え得るので、コンプライアンスを手作業で保証するためにデータベースのバックアップコピーに関して操作を実行するデータベース管理者に関連する計算資源が削減される。たとえば、プライバシーコンプライアンス通知は、バックアップ操作の部分としてバックアップコピーが生成された後に、プライバシージャーナルのどのプライバシーデータベース操作が実行されたかを示し得る。追加または代替として、プライバシーコンプライアンス通知は、バックアップ復元後にデータベースのコピーに関して実行されていないどんなプライバシーデータベース操作もプライバシージャーナルが含まないことに基づいて、バックアップコピーがプライバシーポリシーに準拠することを示し得る。
【0027】
プライバシーコンプライアンス通知を提供する一例を示すために、データベース管理システムのデータベース管理エンジンが、データベース(またはファイル)に関するバックアップ操作を実行し得る。第1の瞬間に、バックアップ操作は、第1の瞬間にデータベースのバックアップコピーおよび対応するデータベース・トランザクション・ジャーナルを記憶させ得る。(第1の瞬間の後の)第2の瞬間に、ユーザが、データベースからプライバシーデータを除去するように求める要求を通信し得る。データベース管理エンジンは、ユーザのプライバシーデータを除去するように求める要求にアクセスし、削除ステートメントを実行して、データベースからプライバシーデータを除去し得る。データベース管理エンジンは、削除ステートメントに関連するトランザクションをデータベース・トランザクション・ジャーナル内に記憶し得る。
【0028】
(第2の瞬間の後の)第3の瞬間に、データベース管理エンジンは、バックアップ復元操作を開始することを求める要求を受信し得る。バックアップ復元操作は、データベース内のエラーなどの、何らかのターゲットイベントの検出に応答して受信され得る。その結果、第3の瞬間に、データベース管理システムは、データベースをデータベースのバックアップコピーに復元し得る。データベースをデータベースのバックアップコピーに復元することは、第3の瞬間からのデータベースおよび関連するデータベース・トランザクション・ジャーナルを、データベースの第1のコピーの(すなわち、第1の瞬間に関連する)データベースおよび関連するデータベース・トランザクション・ジャーナルに置換することを含む。
【0029】
いくつかの実施形態では、(バックアップ復元操作の前の)第3の瞬間からのデータベース・トランザクション・ジャーナルが記憶デバイス内に保存され、どのプライバシーデータベース操作が実施されていないかについての決定が容易になり得る。プライバシーポリシーへのコンプライアンスを検証するために、データベース管理エンジンは、(i)バックアップコピーに関連するデータベース・トランザクション・ジャーナルを(ii)プライバシージャーナルと比較し得る。データベース管理エンジンは、比較に基づいて、バックアップ操作が以前に削除されたユーザのプライバシーデータを復元したと判定したことに応答して、プライバシーデータを除去するように試みるためのデータベース操作を決定し得る。追加または代替として、データベース管理エンジンは、バックアップ復元後のデータベースのコンプライアンスのレベルを示すプライバシーコンプライアンス通知を決定し、生成し得る。
【0030】
したがって、リレーショナルデータベースのフィールドおよびレコードなどのデータ構造を、手作業で、独立して、様々にタグ付けする自由を顧客(たとえば、分散コンピューティング・システム・データベース・ソリューションの顧客)に与えるのとは対照的に、同一の、一様な、基礎となるプライバシーベースのデータベースインフラストラクチャを使用するとき、マシン演算がより効率的になる。実際に、不整合のタグ付けされたデータ構造を変換することに関連する追加の計算演算が、開示されたプライバシーベースのデータベースインフラストラクチャを利用することによって削減される。
【0031】
技術的解決策の態様が、例として、図1A図1B、および図1Cを参照しながら説明され得る。図1Aは、データベース管理エンジン110、プライバシー・クライアント・デバイス120、データベース管理者デバイス126、およびネットワーク180を有するデータベース管理システム100を示す。データベース管理エンジンは、データソース130、トランザクションエンジン140、データベース操作エンジン150、およびプライバシー通知エンジン170を含む。
【0032】
図1Bを参照すると、図1Bは、本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジンを使用してプライバシーコンプライアンス通知を提供するための例示的データベース管理システム100を含む。図1Bは、図1Aを参照しながら説明したコンポーネントに対応するコンポーネントを含む。データベース管理システム100は、プライバシー・クライアント・インターフェース・データ122を有するプライバシー・クライアント・デバイス120と、データベース管理者インターフェースデータを有するデータベース管理者デバイス126と、データベース・トランザクション・ログ・データ132、プライバシー・トランザクション・ログ・データ134、プライバシーデータ136、およびバックアップデータ138を有するデータソース130と、クライアント要求処理エンジン142、データベース・トランザクション・エンジン144、プライバシー・トランザクション・エンジン146、および比較エンジン148を有するトランザクションエンジン140と、バックアップエンジン152、データベースエラー検出エンジン154、復元エンジン156、プライバシーデータ除去エンジン158を有するデータベース操作エンジン150と、プライバシー違反イベントデータ172を有するプライバシー通知エンジン170とをさらに含む。
【0033】
データベース管理システム100は、データベース管理システム内のプライバシーコンプライアンス通知を提供するように構成される。データベース管理システム100は、管理エンジンクライアント(プライバシー・クライアント・デバイス120およびデータベース管理者デバイス126の管理エンジンなど)と共に動作し、プライバシーコンプライアンス通知を管理し、本明細書で説明される機能を提供するように管理するデータベース管理エンジン110を含む。プライバシー・クライアント・デバイス120および/またはデータベース管理者デバイス126は、プライバシーコンプライアンス通知を提供するためのデータベース管理エンジン110のサーバ側コンピューティング論理および命令を補完および補足するクライアント側コンピューティング論理および命令を含む。たとえば、データベース管理システム110は、本明細書で説明されるように、(1)プライバシーベースの第1種データエンティティおよび/またはプライバシー・システム・レベル・メタデータ・プロパティに基づいて操作を実施し、(2)プライバシーコンプライアンス通知に関連するインターフェースにアクセスし、インターフェースを通信し、生成するインターフェースを提供し得る。
【0034】
データベース・トランザクション・ログ・データ132、プライバシー・トランザクション・ログ・データ134、プライバシーデータ136、およびバックアップデータ138が、データベース管理システム100のデータソース(たとえば、データソース130)を介して記憶され、検索され得、データベース管理システム100に関連するサービスの提供をサポートするデータを含み得る。たとえば、データベース管理システムは、(データベースに関して実施される)データベース操作をデータベース・トランザクション・ログ・データ132として記録すること、および(プライバシー・システム・レベル・メタデータを有するデータベースのデータ構造に関して実施される)データベース操作をプライバシー・トランザクション・ログ・データ134として記録することをサポートし得、データベース管理システム100は、データベース・トランザクション・ログ・データ132およびプライバシー・トランザクション・ログ・データ134を管理するように動作可能にされる。データベース・トランザクション・ログ・データ132およびプライバシー・トランザクション・ログ・データ134に関連する追加のデータ(たとえば、メタデータ)が追跡され、記憶され得る。
【0035】
図1Cを参照すると、本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジン110を使用してプライバシーコンプライアンス通知を提供するための例示的データベース管理システム100が示されている。図1Cは、図1Bを参照しながら説明したコンポーネントに対応するコンポーネントを含む。図1Cは、プライバシークライアント120と、データソース130、トランザクションエンジン140、データベース操作エンジン150、およびプライバシー通知エンジン170を有するデータベース管理エンジン110とを含む。
【0036】
動作可能に、ブロック12で、データベース操作エンジン150が、バックアップ操作に基づいてデータベースのバックアップコピーを記憶する。ブロック14で、プライバシークライアント120が、プライバシー・システム・レベル・メタデータに関連するデータベース操作を通信する。ブロック16で、データベース管理エンジン110が、プライバシーベースの第1種データエンティティをサポートするデータベースにアクセスし、ブロック18で、プライバシーベースの第1種データエンティティをサポートするデータベースに対してデータベース操作を実行する。プライバシーベースの第1種データエンティティは、プライバシーポリシーで定義されるプライバシー管理操作に関連するプライバシータイプを含み得る。代替または追加として、プライバシーベースの第1種データエンティティは、データベース操作に関連するプライバシーメタデータを追跡し、それによってプライバシーメタデータが、対応するデータベース操作と共にプライバシージャーナル内に記憶される。
【0037】
ブロック20で、トランザクションエンジン140が、データベース操作に関連する第1のエントリをデータベース・トランザクション・ジャーナル内に記録し、ブロック22で、トランザクションエンジン140は、データベース操作が適用されるデータ構造に関連するプライバシー・システム・レベル・メタデータを決定する。ブロック24で、データベース管理エンジン110は、データベース操作に関連する第2のエントリをプライバシーデータベース操作としてプライバシージャーナル内に記録する。ブロック26で、トランザクションエンジンは、プライバシーデータベース操作に関連するエントリをプライバシージャーナル内に記録する。
【0038】
ブロック28で、データベース操作エンジン150が、バックアップ復元を開始することを求める要求を受信し、ブロック30で、データベースをデータベースのバックアップコピーに復元し、ブロック32で、データベースのバックアップコピーのデータベース・トランザクション・ジャーナルをプライバシージャーナルと比較する。ブロック34で、データベース管理エンジン110が、復元以降にデータベースのコピーに関して、またはデータベースのコピーに対して実行されていないプライバシーデータベース操作を識別する。ブロック36で、トランザクションエンジン140が、実行されていないプライバシーデータベース操作を改善する(たとえば、実行する)ことに関連する追加のデータベース操作を生成する。ブロック38で、プライバシー通知エンジン170が、データベースに関連するプライバシーポリシーへのコンプライアンスのレベルを示すプライバシーコンプライアンス通知を生成する。
【0039】
データベース管理システム内のデータベース管理エンジンを使用してプライバシーコンプライアンス通知を提供するための例示的環境の概要
技術的解決策の態様が、例として、図2Aおよび2Bを参照しながら説明され得る。図2Aは、技術的解決策の実施形態を実装する際に使用される、図6および7を参照しながら説明される例示的環境に基づく、例示的技術的解決策環境のブロック図である。一般に、技術的解決策環境は、本開示の方法が利用され得る例示的データベース管理システム100を提供するのに適した技術的解決策システムを含む。具体的には、図2Aは、本開示の実装によるデータベース管理システム100の高レベルアーキテクチャを示す。
【0040】
図示されていない他のエンジン、マネージャ、ジェネレータ、セレクタ、またはコンポーネント(本明細書では集合的に「コンポーネント」と呼ばれる)の中でも、データベース管理システム100の技術的解決策環境はデータベース管理エンジン110を含む。図示されるように、データベース管理エンジン110は、データベースディスク210Aを含むデータベース210を含み得、データベース・トランザクション・ジャーナル220が、データベース・トランザクション・ジャーナル・ログ・ディスク220Aを含み、データベース・トランザクション・ジャーナル・ログ・ディスク240を含むプライバシージャーナル230、プライバシー違反イーブン論理データを含むプライバシー通知データ240。図2Bのデータベース・トランザクション・ログ・データ132およびプライバシー・トランザクション・ログ・データ134に関連して以下で論じられるように、データベース・トランザクション・ジャーナル220は、データベース・トランザクション・ジャーナル・ログ・ディスク220A内にデータベース操作を記録し得る。同様に、プライバシージャーナル230は、データベース操作をプライバシーデータベース操作としてプライバシー・ジャーナル・ログ・ディスク230A内に記録し得、プライバシー通知データ240がプライバシー違反イベント論理データ240Aに基づいて生成され得る。したがって、データベース管理エンジン110は、データベース・トランザクション・ジャーナル220内およびプライバシージャーナル230内にトランザクションを記録し得る。たとえば、プライバシージャーナル230内にデータベース操作を記録することは、プライバシージャーナル230内にポインタを記録することを含み、ポインタは、データベース操作に対応するデータベース・トランザクション・ジャーナル220内のエントリを指し示す。さらに、データベース210は、任意のデータ、たとえばプライバシークライアント120の(図2Bの)プライバシーデータ136を記憶し得る。データベース210がデータディスク内に含まれるように示され、一方、データベース・トランザクション・ジャーナル220およびプライバシージャーナル230がそれぞれのログ・ディスク内に含まれるように示されているが、データベース、データベース・トランザクション・ジャーナル220、およびプライバシージャーナル230が、限定はしないが図6および7に関連して論じられる特徴を含む、任意の適切な記憶デバイスまたはメモリデバイス内に記憶され得ることを理解されたい。
【0041】
データベース210は、データベース操作(たとえば、データベースディスク210A内に記憶されたデータに対する変更を行うことを求める要求)を処理し得る。いくつかの実施形態では、変更は、たとえばSQLなどの、任意の適切なデータベース言語構文でのコンピュータ可読スクリプトを含み得る。SQLを例示的データベース言語構文として取り上げると、データベースに対する変更は、限定はしないがデータベース操作包含DDL、DML、データ制御言語(DCL)、遷移制御言語(TCL)、プライバシーデータなどを含む、任意の適切なコマンドの結果として生じ得る。トランザクションエンジン140に関連して以下で詳細に論じられるように、データベース・トランザクション・ジャーナル220は、データベース・トランザクション・ログ・データ132を含むエントリを含み得、プライバシージャーナル230は、プライバシー・トランザクション・ログ・データ134を含むエントリを含み得る。動作の際に、プライバシージャーナルは、データベース210のデータ構造に関して実施されたプライバシーデータベース操作の表示を含み得る。プライバシーデータベース操作は、本明細書で論じられるように、プライバシー・システム・レベル・メタデータを有する(データベース210の)データ構造に対して実施されたデータベース操作に対応し得る。いくつかの実施形態では、プライバシー・システム・レベル・メタデータに対して変更を行うことは、プライバシー・システム・レベル・メタデータに関連するデータベース操作と分類され得、したがってプライバシー・システム・レベル・メタデータに対して変更を行うことは、対応するエントリをプライバシージャーナル230(およびデータベース・トランザクション・ジャーナル220)内に記録させ得る。本明細書でより詳細に論じられるように、プライバシー通知データ240およびプライバシー違反イベントログデータ240Aは、図1Bのプライバシー通知エンジン170およびプライバシー違反イベント論理172に関連付けられる。プライバシー通知データ240およびプライバシー違反イベント論理データ240Aは、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないかどうかを判定することと、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないかどうかを判定したことに基づいて、データベースに関連するプライバシーコンプライアンス通知を生成することとに関連付けられる。
【0042】
図2Bを参照すると、本明細書で説明される技術の態様による、データベース管理システム内のデータベース管理エンジンを使用してプライバシーコンプライアンス通知を提供するための例示的データベース管理システム100が示されている。図2Bは、図1Bを参照しながら説明したコンポーネントに対応するが、ここでより詳細に論じられるコンポーネントを含む。いくつかの実施形態では、データベース管理システム100は、技術的解決策の実施形態を実装する際に使用される、図6および7を参照しながら説明される例示的環境に基づいて実装され得る。
【0043】
プライバシー・クライアント・デバイス120が、データベース管理エンジン110に通信可能に結合するように構成される。プライバシー・クライアント・インターフェース・データ122が、プライバシークライアント120に、データベース管理エンジン110によって提供される特徴またはサービスと対話させるように構成され得る。一実施形態では、プライバシー・クライアント・インターフェース・データ122は、プライバシークライアント120に関連するデータを制御するように対話可能なグラフィカル・ユーザ・インターフェース(GUI)要素を提示するための論理を含み得る。たとえば、GUI要素は、選択可能なアイコン、ドロップダウンメニュー、スクリプティングインターフェース、テキストブロック、テーブルなどを含み得る。SQLをサポートするプライバシー・クライアント・インターフェース・データ122のコンテキストでは、プライバシークライアント120はデータ定義言語(DDL)コマンドを通信し得る。以下で論じられるように、データベース管理エンジン110がプライバシーベースの第1種データエンティティをサポートし得るので、プライバシークライアント120は、DDLコマンドなどのユーザ入力をサブミットして、特定のデータ構造をプライバシー・システム・レベル・メタデータに関連付け得る。代替として、いくつかの実施形態では、プライバシークライアント120は、データベース管理エンジン110によってプライバシー・システム・レベル・メタデータと共に構成されたデータ構造にアクセスし得、したがってプライバシークライアント120は、プライバシー・システム・レベル・メタデータと共に事前構成されたテーブルにアクセスし、テーブルを使用し得る。
【0044】
いくつかの実施形態では、プライバシークライアント120は、プライバシーデータなどの任意の適切なデータを含むデータ構造と対話し得る。プライバシーデータは、本明細書で論じられるように、個人識別情報(「PII」)、医療記録、写真などのメディア、通信、金融情報、および/またはプライバシー・システム・レベル・メタデータに関連する任意の他のデータを含み得る。データ構造と対話するプライバシークライアント120の一例として、プライバシークライアント120は、データソース130から一定のプライバシーデータ136を除去するように求める要求を通信し得る。プライバシーデータ136を除去するように求める要求は、DELETEなどのデータ操作言語(DML)コマンド、削除することを求める要求を示すドロップダウンメニューからの選択、または対応するプライバシーデータ136をデータベース管理エンジン110に削除させることを求める、データベース管理エンジン110に通信される任意の他の適切な要求を含み得る。プライバシークライアント120からの通信が削除または除去操作のコンテキストで論じられるが、データベース管理エンジン110は、プライバシー・システム・レベル・メタデータに関連するデータ構造(たとえば、フィールドまたはレコード)に対して実施すべきデータベース操作を含む、任意の適切なデータベース操作を受信し得ることを理解されたい。
【0045】
図2Bを続けると、トランザクションエンジン140は、プライバシークライアント120およびデータベース管理者126からの要求を処理するように構成される。トランザクションエンジン140は、前述のDMLまたはDDLコマンドなどのデータ操作コマンドを生成することにより、要求を処理して、プライバシーデータ136などのデータを修正し得る。いくつかの実施形態では、データベースのデータ構造に対して実行される要求に関連するトランザクションおよび/または操作が、データベース・トランザクション・ログ・データ132としてデータソース130内に記録される。データベース・トランザクション・ログ・データ132は、データベース内の、またはデータベースとは別々の、別々のファイルまたはファイルのセットとして実装されるデータベース・トランザクション・ログに対応し得る。たとえば、データベース・トランザクション・ログ・データ132は、データベースとは別々に管理されるログキャッシュを含み得る。一実施形態では、データベース管理エンジン110は、データベース・トランザクション・ログ・データ132を切り捨てるように構成され、したがって、データベース・トランザクション・ログ内の空間が、チェックポイント、バックアップの発生などの任意の数の要素に基づいて、再利用のために解放される。
【0046】
データベース・トランザクション・ログ・データ132は、ログ記録についての固有IDを含むログシーケンス番号(LSN)を含み得る。一実施形態では、LSNは、データベース・トランザクション・ログ内のトランザクションの時間順リスティングを維持することを容易にする、単調増加順に割り当てられる。さらに、データベース・トランザクション・ログ・データ132は、対応するトランザクションログを最後のトランザクションログにリンクするPrev LSNを含み得る。このようにして、トランザクションログは、同様に互いに時間的に関係付けられ得る。追加または代替として、データベース・トランザクション・ログ・データ132は、ログ記録を生成する関連するデータベース操作への参照に対応し得るトランザクションID番号を含む。データベース・トランザクション・ログ・データ132は、対応するデータベース操作がDDL、DML、DCL、TCL、プライバシーデータなどを含んだかどうかの表示などの、トランザクションログのタイプの表示を含み得る。
【0047】
いくつかの実施形態では、データベース操作がプライバシー・システム・レベル・メタデータに関連するデータ構造に対して実行されるとき、データベース操作に関連する情報が、プライバシー・トランザクション・ログ・データ134およびデータベース・トランザクション・ログ・データ132として記憶され得る。一実施形態では、プライバシー・トランザクション・ログ・データ134は、トランザクションログのエントリを参照するポインタを含み得る。たとえば、ポインタは、トランザクションID、データベース・トランザクション・ログ内の特定の(かつ固有の)エントリに対するポイントを含み得る。ポインタを使用することにより、プライバシー・トランザクション・エンジン146は、以下で論じられるように、プライバシートランザクションジャーナル内のエントリを将来処理するために、効率的に記録し、アクセスすることができ得る。
【0048】
トランザクションエンジン140のクライアント要求処理エンジン142は、プライバシー・クライアント・デバイス120またはデータベース管理者デバイス126から要求を受信して、プライバシー・システム・レベル・メタデータを割り当て得る。本明細書で論じられるように、データベース管理エンジン110はプライバシー第1レベル第1種データエンティティを作成し得、したがってプライバシークライアント120またはデータベース管理者126が、一様な方式でプライバシー・システム・レベル・メタデータを割り当てることができる。したがって、プライバシー・システム・レベル・メタデータを割り当てるための対照的な手法に関連する不整合が削減され、または完全に解消され得る。たとえば、プライバシークライアントは、「Data」と識別されるテーブル内に配置された「FirstName」と識別される列を、プライバシーデータを含むデータ構造として関連付けたいことがある。プライバシークライアント120は、この列をプライバシーデータを含むデータ構造として指定するために、以下のスクリプトの行を通信し得る。
”ALTER TABLE FirstName MODIFY Data privacy=true”
このようにして、「FirstName」フィールド内に含まれるレコードに対して実施される任意のデータベース操作が、プライバシーデータベース操作(すなわち、プライバシーデータに関して実施されるデータベース操作)として識別され得る。コンピュータ可読スクリプトを通信する代わりに、プライバシー・クライアント・デバイス120は、任意のアクセス可能なデータ構造に関連するプライバシー・システム・レベル・メタデータを割り当て、または修正することを求める任意の要求または要求を示す選択を通信し得ることを理解されたい。たとえば、プライバシークライアント120は、データベース管理システム100からプライバシークライアント120のファーストネームを除去することを求めるEメールを通信し得る。
【0049】
トランザクションエンジン140のクライアント要求処理エンジン142は、プライバシークライアント120からデータベース操作を受信するように、コンピューティング論理と共に構成される。上記で論じたように、プライバシークライアント120によって通信されるデータベース操作または要求は、任意の適切な方式でフォーマットされ得る。クライアント要求エンジン142は、プライバシークライアント120から要求またはデータベース操作を受信し得る。いくつかの実施形態では、クライアント要求エンジン142は、(1)実施すべき操作を決定し、(2)操作を実施すべきデータベース内のデータ構造を決定する。さらに、クライアント要求エンジン142は、決定したデータ構造がプライバシー・システム・レベル・メタデータに関連するかどうかを判定し得る。データ構造がプライバシー・システム・レベル・メタデータに関連するかどうかの判定は、データ構造に関連するメタデータにアクセスすることと、メタデータがプライバシー・システム・レベル・メタデータに対応するかどうかを判定することとを含み得る。データベース操作を実施すべきデータ構造がプライバシー・システム・レベル・メタデータ(したがってプライバシーデータベース操作)に関連すると判定したことに応答して、クライアント要求処理エンジン142は、データベース・トランザクション・エンジン144およびプライバシー・トランザクション・エンジン146にプライバシーデータベース操作を通信し得る。
【0050】
一方、データベース操作を実施すべきデータ構造がプライバシー・システム・レベル・メタデータに関連しないと判定したことに応答して、クライアント要求処理エンジン142は、データベース操作をデータベース・トランザクション・エンジン144に通信し得、プライバシー・トランザクション・エンジン146には通信しないことがある。したがって、一実施形態では、プライバシー・トランザクション・エンジン146は、データベース操作がプライバシー・システム・レベル・メタデータに関連し、したがってプライバシーデータに関して実施すべきプライバシーデータベース操作に対応するとき、データベース操作の表示を受信し得るだけである。
【0051】
いくつかの実施形態では、トランザクションエンジン140のデータベース・トランザクション・エンジン144は、データベース操作を実行するようにコンピューティング論理と共に構成される。上記の例を続けると、プライバシーデータ(この例では、プライバシークライアントのファーストネーム)を削除することを求める要求に応答して、データベース・トランザクション・エンジン144は、ターゲットデータ構造に関する削除データベース操作を実施し得る。削除データベース操作を実施することは、データソース310からターゲットプライバシーデータ136(この例では、ファーストネーム)を除去することを含み得る。いくつかの実施形態では、プライバシーデータ136を除去するように求める要求などの、プライバシークライアント120からの要求に準拠することは、プライバシーポリシーの部分であり得る。プライバシークライアント120からのそのような要求に準拠することができないことは、データベース管理システム100がプライバシーポリシーに違反することになり得る。この例は削除データベース操作のコンテキストで論じられたが、データベース・トランザクション・エンジン144は任意の他の適切なデータベース操作を実行し得るので、本開示の実施形態は削除データベース操作に限定されないことを理解されたい。
【0052】
さらに、いくつかの実施形態では、データベース・トランザクション・エンジン144は、対応するデータベーストランザクションをデータベース・トランザクション・ログ・データ132としてデータベース・トランザクション・ジャーナル220内に記録するように構成される。上記の例を続けると、プライバシーデータ136を削除するように求める要求を受信したことに応答して、データベース・トランザクション・エンジンは、ターゲットデータ構造に関して実施された削除操作に関連するエントリをデータベース・トランザクション・ジャーナル220内に記録し得る。上記で論じたように、データベース・トランザクション・ジャーナル220内のエントリは、LSN、Prev LSN、トランザクションID、トランザクションのタイプなどを含み得る。
【0053】
図2Bを続けると、プライバシー・トランザクション・エンジン146は、プライバシー・システム・レベル・メタデータを有する、またはプライバシー・システム・レベル・メタデータに関連するデータ構造に関して、またはデータ構造に対してデータベース操作が実施されるかどうかの判定に基づいて、プライバシージャーナル230(図2A)内にエントリを記録するように、コンピューティング論理と共に構成される。プライバシー・トランザクション・エンジン146は、プライバシーデータベース操作に関連するエントリを記録し得る。一実施形態では、プライバシー・トランザクション・エンジン146は、データベース・トランザクション・ジャーナル220内の対応するエントリから情報をコピーし、情報をプライバシージャーナル230内に記録する。たとえば、プライバシーデータベース操作が実施されたことに応答して、プライバシー・トランザクション・エンジン146は、データベース・トランザクション・ジャーナル220から、対応するデータベース操作に関連するエントリ全体をコピーし得る。代替として、プライバシーデータベース操作が実施されたことに応答して、プライバシー・トランザクション・エンジン146は、データベース・トランザクション・ジャーナル220から、対応するデータベース操作に関連するエントリの情報のサブセットをコピーし得る。
【0054】
比較エンジン148は、データベースの復元されたバックアップコピーに対してまだ実施されていないプライバシーデータベース操作を識別するように、コンピューティング論理と共に構成される。いくつかの実施形態では、比較エンジン148は、プライバシージャーナル230と、データベース・トランザクション・ジャーナル220との比較に基づいて、データベースの復元されたバックアップコピーに対して実施されていないプライバシーデータベース操作を決定する。たとえば、比較エンジン148は、バックアップコピーを遅らせるプライバシージャーナル230内のどのエントリがバックアップコピー内に含まれるかを決定する。代替として、比較エンジン148は、プライバシージャーナル230内のどのエントリが、データベースのバックアップコピーに関連するデータベース・トランザクション・ジャーナル220内に含まれないかを決定し得る。このようにして、比較エンジン148は、プライバシーポリシーへのコンプライアンスを維持するために、データベースの復元されたバックアップコピーに対してどのプライバシーデータベース操作を実行すべきかを決定することができる。
【0055】
一実施形態では、比較エンジン148は、バックアップコピーが生成された後に実行されたデータベース・トランザクション・ジャーナルのデータベース操作を再生するように動作する。次いで比較エンジンは、データベース・トランザクション・ジャーナル内の未再生のデータベース操作と、プライバシージャーナルとの比較をトリガするデータベース操作を再生する際のエラーを検出する。データベース・トランザクション・ジャーナル内の未再生のデータベース操作と、プライバシーとの比較に基づいて、比較エンジン148は、プライバシーデータベース操作がデータベース・トランザクション・ジャーナル内の未再生のデータベース操作に合致することに基づいて、プライバシージャーナル内のプライバシーデータベース操作を識別する。したがって、データベースが復元されて以降に実行されていないプライバシーデータベース操作が識別される。
【0056】
いくつかの実施形態では、トランザクションエンジン140は、セキュリティ移行動作を実施させ得る。セキュリティ移行動作は、データベースをプライバシーポリシーへのコンプライアンスに至らせ得る任意の適切なコンピュータ動作に対応し得る。一実施形態では、トランザクションエンジン140は、(以下で論じられるように、復元エンジン156によって復元された)データベースの復元されたバックアップコピーに関して実施されていないと判定されたプライバシーデータベース操作に関連する任意のデータを集約し得る。たとえば、トランザクションエンジン140は、データベース操作に関連するコマンド、プライバシーデータベース操作が実行されたデータ構造、および復元されたバックアップコピーに関して実施されていないプライバシーデータベース操作に関連する任意の他の適切な情報を集約し得る。セキュリティ移行動作は、プライバシーデータベース操作に関連する、集約されたデータに基づいて実施され得る。例示的セキュリティ移行動作は、プライバシーポリシーへのコンプライアンスの欠如を改善するための命令、データベース操作、データベースの復元されたバックアップコピー内のデータ構造の識別などを実施するための命令を与えることを含む。
【0057】
図2Bを続けると、データベース操作エンジン150は、バックアップを実行し、データベースのバックアップコピーの復元後に実施するプライバシーデータベース操作を決定するように、コンピューティング論理と共に構成される。バックアップエンジン152は、バックアップ操作を実施するように構成される。バックアップ操作を実施することにより、バックアップエンジン152は、バックアップ操作が実施されたときからのデータベースのコピーを記憶し得る。いくつかの実施形態では、バックアップを実施することは、データベースのコピー、ならびにバックアップ操作が実施された時刻からのデータベース・トランザクション・ジャーナル220(および対応するエントリ)を記憶することを含み得る。このようにして、データベースのバックアップコピーに対する変更を行うように求めるユーザ(たとえば、データベース管理者126)は、対応するデータベース・トランザクション・ジャーナル220に基づいて、どのデータベース操作がデータベース内に取り込まれ、データベースに対して実施されたかを決定し得る。
【0058】
バックアップエンジン152は、任意の適切なスケジュールに基づいてバックアップを実施するように、コンピューティング論理と共に構成される。たとえば、バックアップエンジン152は、周期的に(たとえば、毎日、毎週、毎月、毎年など)、またはイベントの発生に基づいてバックアップを実施し得る。たとえば、データベースエラー検出エンジン154は、セキュリティ問題の可能性をバックアップエンジン152に通知し得、したがってバックアップエンジン152は、データベースエラー検出エンジンから通知を受信したことに応答してバックアップを実施する。
【0059】
図2Bを続けると、データベースエラー検出エンジン154は、データベース内のエラーを検出するように、コンピューティング論理と共に構成される。データベース内のエラーは、データベースを一時的または永続的に使用不能にした任意の操作を含み得る。データベースエラー検出エンジン154は、操作を実施することができなかったことに応答して、エラーを検出し得る。たとえば、データベースが不十分な列幅と共に生成されていることがあり、それによってデータベースに対する入力がエラーとなる。別の例として、データベースのテーブルの索引が修正されていることがあり、それによって未修正の元の索引に依拠する他のテーブルを使用することができず、それによってデータベースが使用不能となる。別の例として、あるデータセンタでの停電がデータの削除を引き起こし、他のデータセンタを介して実行されるデータベース操作を実施することができなくなる。別の例示的エラーは、ボリュームオーバーフローを受けること、時間帯を無視すること、監査トレインを見過ごすこと、照合を無視することなどを含む。
【0060】
復元エンジン156は、データベースのバックアップコピーにデータベースを復元するバックアップ復元操作を開始し、実施するように、コンピューティング論理と共に構成される。いくつかの実施形態では、復元エンジン156は、データベースエラー検出エンジン154が何らかのエラーを検出したことに基づいてバックアップ復元操作を実施する。代替または追加として、復元エンジン156は、手動ユーザ入力に基づいてバックアップ復元操作を実施し得る。本明細書で論じられるように、バックアップ復元操作を実施することは、バックアップ操作の部分として記憶されたデータベースのバックアップコピーで現データベースを置換することを含み得る。いくつかの実施形態では、復元エンジン156は、最後のバックアップ復元以降に変更または修正されたデータベース内のデータ構造のみを置換し得る。代替として、復元エンジン156は、データベースのバックアップコピーでデータベース全体を置換し得る。
【0061】
データベース操作エンジン150のプライバシーデータ除去エンジン158は、データベースの復元されたバックアップコピーに対して実行されていないと識別されたプライバシーデータベース操作を実行するように、コンピューティング論理と共に構成される。プライバシーデータ除去エンジン158は、比較エンジン148から、データベースの復元されたバックアップコピーに対して実行されていないプライバシージャーナル230からのプライバシー・データベース・トランザクションの表示を受信し得る。いくつかの実施形態では、比較エンジン148は、実施すべきプライバシーデータベース操作に対応するポインタ(たとえば、トランザクションID)を通信し得る。プライバシーデータ除去エンジン158は、ポインタを対応するデータベース操作に変換し、データベースの復元されたバックアップコピーに関してデータベース操作を実施し得る。たとえば、ポインタは、バックアップ復元操作が実施される前の、データベースのデータベース・トランザクション・ジャーナル220内のエントリに対応するトランザクションIDを指し示し得る。したがって、プライバシーデータ除去エンジン158は、ポインタ(たとえば、トランザクションID)を受信して、データベース・トランザクション・ログ・データ132内の対応するデータベース操作を探索し得る。このようにして、プライバシーデータ除去エンジン158は、データベースの復元されたバックアップコピーに対するプライバシーデータベース操作を実行しようと試み、たとえばプライバシーデータを除去するように求める要求に準拠するようにデータベース管理システムに要求し得るプライバシーポリシーへのコンプライアンスを維持しようと試み得る。
【0062】
比較エンジン148によって実施される比較と、プライバシーデータ除去エンジン158によって実施されるプライバシーデータベース操作を実行する試みに基づいて、プライバシー通知エンジン170は、プライバシーコンプライアンス通知を生成し、通信し得る。プライバシー通知エンジン170は、プライバシーポリシーへのコンプライアンスのレベルを示すプライバシーコンプライアンス通知を生成するように、コンピューティング論理と共に構成される。一実施形態では、プライバシー通知エンジン170は、データベース・トランザクション・ジャーナル220がプライバシージャーナル230のすべてのエントリを含むことに応答して、プライバシーポリシーへのコンプライアンスを示すプライバシーコンプライアンス通知を生成し得る。これは、データベース・トランザクション・ジャーナル220内のエントリによって示されるように、すべてのプライバシー・データベース・トランザクションが復元されたコピーに関して実施されたことを示すことになる。
【0063】
いくつかの実施形態では、プライバシージャーナル230がデータベース・トランザクション・ジャーナル220内に含まれなかったエントリを含むことに応答して、プライバシー通知エンジン170は、プライバシーポリシーへのコンプライアンスの欠如を示すプライバシーコンプライアンス通知を生成し得る。さらに、プライバシー通知エンジン170は、プライバシージャーナル230内のエントリ、実施すべき、対応するプライバシーデータベース操作、および対応するプライバシーデータベース操作を実施する試みが行われたかどうかを示すステータスを含むように、プライバシーコンプライアンス通知を生成し得る。
【0064】
プライバシー通知エンジン172は、データベースまたはデータベースの復元されたバックアップコピーがプライバシーポリシーに準拠する、または準拠しない条件を定義するプライバシー違反イベント論理172を含み得る。たとえば、プライバシー違反イベント論理172は、様々なプライバシーポリシーへのコンプライアンスについての条件を定義し得る。たとえば、第1のプライバシーポリシーが、健康記録が政府規制に基づいて暗号化されることを要求し得、第2のプライバシーポリシーが、対応するプライバシークライアント120による要求時にファーストネームを除去することを要求し得る。プライバシー通知エンジン170によって生成されるプライバシーコンプライアンス通知が、データベースの復元されたバックアップコピーがどのプライバシーポリシーに準拠することができないかを提供し得る。
【0065】
プライバシー通知エンジン170は、データベース管理者デバイス126にプライバシーコンプライアンス通知を通信し得る。データベース管理者126は、データベース管理者インターフェースデータ128に基づいてデータベース管理者デバイス126上に生成されたGUIによってプライバシーコンプライアンス通知を受信し得る。
【0066】
図3~5を参照すると、データベース管理システム100(たとえば、図1~2)内のデータベース管理エンジン110(図1~2)を使用してプライバシーコンプライアンス通知を生成することに関連する方法を示す流れ図が与えられる。いくつかの実施形態では、データベース管理システム100、プライバシークライアント120(図1~2)、および/またはデータベース管理者126のうちの1つまたは複数のコンポーネントが、図3~5に示される方法を実施するように構成される。いくつかの実施形態では、1つまたは複数のプロセッサによって実行されるとき、データベース管理システム100(たとえば、コンピュータ化されたシステムまたはコンピューティングシステム)内で方法(たとえば、コンピュータ実装方法)を1つまたは複数のプロセッサに実施させ得るコンピュータ実行可能命令またはコンピュータ使用可能命令がその上に組み込まれた1つまたは複数のコンピュータ記憶媒体。
【0067】
図3に示されるプロセス300を参照すると、データベース管理エンジン110は、データ定義言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータを有するデータベースエンティティであるプライバシーベースの第1種データエンティティをサポートするデータベースにアクセスし得る(ブロック302)。データベース管理エンジン110は、データベース210(図2A)に関して、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティに関連するデータベース操作を実行し得る(ブロック304)。プライバシーベースの第1種データエンティティは、プライバシーポリシーで定義されるプライバシー管理操作に関連するプライバシータイプを含み得、かつ/またはデータベース操作に関連するプライバシーメタデータを追跡し得る。プライバシーメタデータは、対応するデータベース操作と共にプライバシージャーナル230(図2A)内に記憶される。
【0068】
さらに、データベース管理エンジン110は、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータに関連するプライバシーデータベース操作としてデータベース操作を記録するように構成されたプライバシージャーナル230内にデータベース操作を記録し得る(ブロック306)。データベース管理エンジン110は、データベースをデータベースのバックアップコピーに復元し得る(ブロック306)。データベースをバックアップコピーに復元したこと(ブロック306)に基づいて、データベース管理エンジン110は、プライバシージャーナル230内で、復元以降にデータベース210に関して実行されていないプライバシーデータベース操作を識別し得る(ブロック310)。復元以降にデータベース210に関して実行されていないプライバシーデータベース操作を識別したこと(ブロック310)に基づいて、データベース210に関連するプライバシーコンプライアンス通知を生成する(ブロック312)。プライバシーコンプライアンス通知は、プライバシーポリシーへのコンプライアンスのレベルを与え得る。いくつかの実施形態では、データベース管理者126(図1~2)は、プライバシーコンプライアンス通知に基づいて、コンプライアンスの欠如が生じる問題を手作業で改善し得る。
【0069】
図4に示されるプロセス400を参照すると、データベース管理エンジン110は、データ定義言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有するデータベースエンティティに対応し得る、プライバシーベースの第1種データエンティティをサポートするデータベースにアクセスし得る(ブロック402)。データベース管理エンジン110は、データベース210のバックアップコピー(図2A)を生成し得(ブロック404)、バックアップコピーは、データベース操作を記録するように構成されたデータベース・トランザクション・ジャーナル220(図2A)と、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータに関連するプライバシーデータベース操作を記録するように構成されたプライバシージャーナル230(図2A)とに関連付けられる。データベース管理エンジン110は、データベース210に関して、プライバシーベースの第1種データエンティティ、プライバシー・システム・レベル・メタデータ・プロパティ、および/またはプライバシーメタデータに関連するデータベース操作を実行し得る(ブロック406)。
【0070】
図4を続けると、データベース管理エンジン110は、データベース操作をプライバシーデータベース操作としてプライバシージャーナル230内に記録し、データベース・トランザクション・ジャーナル220内に記録し得る(ブロック408)。データベース管理エンジン110は、データベース210内のエラーを検出し(ブロック410)、データベース内のエラーを検出したこと(ブロック410)に基づいて、データベースをデータベース210のバックアップコピーに復元し得る(ブロック412)。
【0071】
データベース管理エンジン110は、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないと判定し得る(ブロック414)。一実施形態では、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないと判定すること(ブロック412)は、(1)バックアップコピーが生成された後に実行されたデータベース・トランザクション・ジャーナル220のデータベース操作を再生することと、(2)データベース操作を再生する際のエラーを検出することと、(3)データベース・トランザクション・ジャーナル220内の未再生のデータベース操作をプライバシージャーナル230と比較することと、(4)プライバシーデータベース操作がデータベース・トランザクション・ジャーナル220内の未再生のデータベース操作に合致することに基づいて、プライバシージャーナル230内のプライバシーデータベース操作を識別することとに基づく。データベース操作を再生することは、任意の適切な順序でデータベースの復元されたバックアップコピーに関してプライバシーデータベース操作を実施しようと試みることを含み得る。たとえば、プライバシーデータベース操作は、最も最近に実施されたものから、最も古く実施されたものへの順序で実施され得、または最も古く実施されたものから、最も最近に実施されたものに順序付けられ得る。
【0072】
データベース管理エンジン110は、データベースに関連するプライバシーコンプライアンス通知を生成し得る(ブロック416)。図3および4のプロセス300および400が、図1および2のデータベース管理エンジンによって実施されるように論じられるが、コンピュータ可読命令を処理することのできる任意の適切なコンポーネントが、これらのプロセスを実施するように構成され得ることを理解されたい。
【0073】
図5を参照すると、プロセス500が、データベース管理者GUIにアクセスすること(ブロック502)を含む。データベース管理者GUIは、データベース管理者インターフェースデータ128(図1B)に基づいて生成され得る。プロセス500は、データベース管理者グラフィカル・ユーザ・インターフェースを介して、データベースを復元することを求める要求を通信すること(ブロック502)を含む。いくつかの実施形態では、プロセス500はデータベース管理者デバイス126(図1~2)によって実装され得る。データベース管理者グラフィカル・ユーザ・インターフェースに関連するデータベース管理者クライアントは、データベースを復元することを求める要求を通信したことに基づいて、データベース管理エンジンに、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないと判定させ、データベースに関連するプライバシーコンプライアンス通知を生成させる(ブロック504)。データベース管理者クライアントは、データベースに関して実行されていないプライバシー操作に関連するデータを含むプライバシーコンプライアンス通知にアクセスする(506)。
【0074】
技術的改善および特許請求の範囲についての字義的裏付け
プライバシーポリシーへのデータベースのレベルのコンプライアンスを示すプライバシーコンプライアンス通知を提供するための方法、システム、およびコンピュータ記憶媒体。いくつかの実施形態では、コンピュータ化されたシステムが提供される。コンピュータ化されたシステムは、1つまたは複数のコンピュータプロセッサによって使用されるとき、1つまたは複数のコンピュータプロセッサに動作を実施させるコンピュータ使用可能命令を記憶する1つまたは複数のコンピュータプロセッサおよびコンピュータメモリを含む。動作は、データベース管理エンジンで、複数のプライバシーベースの第1種データエンティティをサポートするデータベースにアクセスすることを含み、プライバシーベースの第1種データエンティティは、データベース言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有するデータベースエンティティである。動作は、データベースに関してデータベース操作を実行することを含み、データベース操作は、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティに関連付けられる。動作は、データベース操作を実行したことに基づいて、プライバシージャーナル内にデータベース操作を記録することを含み、したがってプライバシージャーナルは、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティに関連するプライバシーデータベース操作としてデータベース操作を記録するように構成される。動作は、データベースのバックアップコピーにデータベースを復元することを含む。動作は、データベースをバックアップコピーに復元したことに基づいて、プライバシージャーナル内で、復元以降にデータベースに関して実行されていないプライバシーデータベース操作を識別することと、復元以降にデータベースに関して実行されていないプライバシーデータベース操作を識別したことに基づいて、データベースに関連するプライバシーコンプライアンス通知を生成することとを含む。有利には、これらおよび他の実施形態は、本明細書で説明されるように、プライバシーポリシーへのデータベースコンプライアンスを達成する効率を改善するためのコンピュータシステムに対する改良型の技術を提供し、プライバシーデータベース操作の識別を自動化することによってCPUサイクルを削減し、ネットワーク帯域幅を削減し得る。たとえば、既存の手法は、プライバシーポリシーへのデータベースコンプライアンスを保証する作業に専門の情報技術(IT)専門家を割り当てることによって、プライバシーポリシーへのデータベースコンプライアンスを容易にすることを含み得る。これらの専門のIT専門家は、データ構造およびデータベースを手作業で解析して、プライバシーポリシーの違反を識別することが負担となり得る。しかしながら、プライバシーポリシーの違反を識別するこの手作業のプロセスは厄介であり、非効率であり、見落とされるプライバシーポリシーに準拠し損なうデータ構造が得られることがある。さらに、ポインタなどのプライバシージャーナルの低ビット構造が、本明細書で論じられるように、復元以降にデータベースのコピーに関して実行されていないプライバシーデータベース操作をプライバシージャーナルから識別することなど、計算を実施する際の速度を改善し得る。
【0075】
上記の実施形態の任意の組合せにおいて、データベース操作は、データ定義言語(DDL)コマンド、リレーショナル・データベース・エンティティ、およびプライバシー・システム・レベル・メタデータ・プロパティについての値を含む。
【0076】
上記の実施形態の任意の組合せにおいて、第1のプライバシーベースの第1種データエンティティは、プライバシーポリシーで定義されるプライバシー管理操作に関連するプライバシータイプであり、第2のプライバシーベースの第1種データエンティティは、データベース操作に関連するプライバシーメタデータを追跡し、したがってプライバシーメタデータが、対応するデータベース操作と共にプライバシージャーナル内に記憶される。
【0077】
上記の実施形態の任意の組合せにおいて、プライバシージャーナル内にデータベース操作を記録することは、プライバシージャーナル内にポインタを記録することを含み、ポインタは、データベース操作に対応するデータベース・トランザクション・ジャーナル内のエントリを指し示す。
【0078】
上記の実施形態の任意の組合せにおいて、復元以降にデータベースに関して実行されていないプライバシーデータベース操作を識別することは、データベースのデータベース・トランザクション・ジャーナル内のデータベース操作を再生する際のエラーを検出することに基づき、したがってプライバシージャーナルは、データベース・トランザクション・ジャーナル内のデータベース操作のサブセットを含む。
【0079】
上記の実施形態の任意の組合せにおいて、復元以降にデータベースに関して実行されていないプライバシーデータベース操作を識別することは、(1)バックアップコピーが生成された後に実行されたデータベース・トランザクション・ジャーナルのデータベース操作を再生することと、(2)データベース操作を再生する際のエラーを検出することと、(3)データベース・トランザクション・ジャーナル内の未再生のデータベース操作をプライバシージャーナル内のデータベース操作と比較することと、(4)プライバシーデータベース操作がデータベース・トランザクション・ジャーナル内の未再生のデータベース操作に合致することに基づいて、プライバシージャーナル内のプライバシーデータベース操作を識別することとに基づく。
【0080】
上記の実施形態の任意の組合せにおいて、プライバシーコンプライアンス通知は、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないのでデータベースが準拠しないことを示す。
【0081】
いくつかの実施形態では、プロセッサおよびメモリを有するコンピューティングシステムによって実行されるとき、プロセッサに、データベース管理エンジンで、複数のプライバシーベースの第1種データエンティティをサポートするデータベースにアクセスさせるコンピュータ実行可能命令がその上に組み込まれた1つまたは複数のコンピュータ記憶媒体であって、プライバシーベースの第1種データエンティティが、データ定義言語構文でのデータ操作に関連するプライバシー・システム・レベル・メタデータ・プロパティを有する、1つまたは複数のコンピュータ記憶媒体。コンピュータ実行可能命令は、プロセッサにデータベースのバックアップコピーを生成させ、バックアップコピーは、データベース操作を記録するように構成されたデータベース・トランザクション・ジャーナルと、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティに関連するプライバシーデータベース操作を記録するように構成されたプライバシージャーナルとに関連付けられる。コンピュータ実行可能命令は、プロセッサに、データベースに関するデータベース操作を実行させ、データベース操作が、プライバシーベースの第1種データエンティティおよびプライバシー・システム・レベル・メタデータ・プロパティとに関連付けられる。コンピュータ実行可能命令は、プロセッサに、データベース操作を実行したことに基づいて、データベース・トランザクション・ジャーナルおよびプライバシージャーナル内にデータベース操作を記録させ、データベース操作は、プライバシーデータベース操作としてプライバシージャーナル内に記録される。コンピュータ実行可能命令は、プロセッサにデータベース内のエラーを検出させ、データベース内のエラーを検出したことに基づいて、データベースをデータベースのバックアップコピーに復元させ、データベースをバックアップコピーに復元したことに基づいて、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないかどうかを判定させ、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないかどうかを判定したことに基づいて、データベースに関連するプライバシーコンプライアンス通知を生成させ、セキュリティ移行動作を実施させる。有利には、これらおよび他の実施形態は、本明細書で説明されるように、プライバシーポリシーへのデータベースコンプライアンスを達成する効率を改善するためのコンピュータシステムに対する改良型の技術を提供し、プライバシーデータベース操作の識別を自動化することによってCPUサイクルを削減し、ネットワーク帯域幅を削減し得る。たとえば、既存の手法は、プライバシーポリシーへのデータベースコンプライアンスを保証する作業に専門の情報技術(IT)専門家を割り当てることによって、プライバシーポリシーへのデータベースコンプライアンスを容易にすることを含み得る。これらの専門のIT専門家は、データ構造およびデータベースを手作業で解析して、プライバシーポリシーの違反を識別することが負担となり得る。しかしながら、プライバシーポリシーの違反を識別するこの手作業のプロセスは厄介であり、非効率であり、見落とされるプライバシーポリシーに準拠し損なうデータ構造が得られることがある。さらに、ポインタなどのプライバシージャーナルの低ビット構造が、本明細書で論じられるように、復元以降にデータベースのコピーに関して実行されていないプライバシーデータベース操作をプライバシージャーナルから識別することなど、計算を実施する際の速度を改善し得る。
【0082】
上記の実施形態の任意の組合せにおいて、データベース操作は、データ定義言語(DDL)コマンド、リレーショナル・データベース・エンティティ、およびプライバシー・システム・レベル・メタデータ・プロパティについての値を含む。
【0083】
上記の実施形態の任意の組合せにおいて、第1のプライバシーベースの第1種データエンティティは、プライバシーポリシーで定義されるプライバシー管理操作に関連するプライバシータイプであり、第2のプライバシーベースの第1種データエンティティは、データベース操作に関連するプライバシーメタデータを追跡し、したがってプライバシーメタデータが、対応するデータベース操作と共にプライバシージャーナル内に記憶される。
【0084】
上記の実施形態の任意の組合せにおいて、プライバシージャーナル内にデータベース操作を記録することは、プライバシージャーナル内にポインタを記録することを含み、ポインタは、データベース操作に対応するデータベース・トランザクション・ジャーナル内のエントリを指し示す。
【0085】
上記の実施形態の任意の組合せにおいて、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないと判定することは、(1)バックアップコピーが生成された後に実行されたデータベース・トランザクション・ジャーナルのデータベース操作を再生することと、(2)データベース操作を再生する際のエラーを検出することと、(3)データベース・トランザクション・ジャーナル内の未再生のデータベース操作をプライバシージャーナルと比較することと、(4)プライバシーデータベース操作がデータベース・トランザクション・ジャーナル内の未再生のデータベース操作に合致することに基づいて、プライバシージャーナル内のプライバシーデータベース操作を識別することとに基づく。
【0086】
上記の実施形態の任意の組合せにおいて、命令は、プロセッサに、復元以降にデータベースに関して実行されていないプライバシーデータベース操作がプライバシージャーナル内にないと判定することと、復元以降にデータベースに関して実行されていないプライバシーデータベースがないと判定したことに基づいて、それが復元以降にデータベースに関して実行されていないプライバシーデータベース操作ではないのでデータベースが準拠することを示すコンプライアンス通知を生成することとをさらに行わせる。
【0087】
上記の実施形態の任意の組合せにおいて、命令は、プロセッサに、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないと判定することと、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないと判定したことに基づいて、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないのでデータベースが準拠しないことを示す前記コンプライアンス通知を生成することとをさらに行わせる。
【0088】
いくつかの実施形態では、コンピュータ実装方法が提供され、データベース管理エンジンで、複数のプライバシーベースの第1種データエンティティをサポートするデータベースにアクセスすることを含み、プライバシーベースの第1種データエンティティは、プライバシー・システム・レベル・メタデータ・プロパティを有するデータベースエンティティである。コンピュータ実装方法は、データベースに関して実行されたデータベースのバックアップコピーへの復元操作に基づいて、プライバシージャーナル内で、復元以降にデータベースに関して実行されていないプライバシーデータベース操作を識別することを含む。コンピュータ実装方法は、復元以降にデータベースに関して実行されていないプライバシーデータベース操作を識別したことに基づいて、セキュリティ移行動作を実施させることを含む。有利には、これらおよび他の実施形態は、本明細書で説明されるように、プライバシーポリシーへのデータベースコンプライアンスを達成する効率を改善するためのコンピュータシステムに対する改良型の技術を提供し、プライバシーデータベース操作の識別を自動化することによってCPUサイクルを削減し、ネットワーク帯域幅を削減し得る。たとえば、既存の手法は、プライバシーポリシーへのデータベースコンプライアンスを保証する作業に専門の情報技術(IT)専門家を割り当てることによって、プライバシーポリシーへのデータベースコンプライアンスを容易にすることを含み得る。これらの専門のIT専門家は、データ構造およびデータベースを手作業で解析して、プライバシーポリシーの違反を識別することが負担となり得る。しかしながら、プライバシーポリシーの違反を識別するこの手作業のプロセスは厄介であり、非効率であり、見落とされるプライバシーポリシーに準拠し損なうデータ構造が得られることがある。さらに、ポインタなどのプライバシージャーナルの低ビット構造が、本明細書で論じられるように、復元以降にデータベースのコピーに関して実行されていないプライバシーデータベース操作をプライバシージャーナルから識別することなど、計算を実施する際の速度を改善し得る。
【0089】
上記の実施形態の任意の組合せにおいて、プライバシー・システム・レベル・メタデータ・プロパティが、データ定義言語(DDL)構文でのデータ操作に関連付けられ、したがってデータベース操作は、DDLコマンド、リレーショナル・データベース・エンティティ、およびプライバシー・システム・レベル・メタデータ・プロパティについての値を含む。
【0090】
上記の実施形態の任意の組合せにおいて、第1のプライバシーベースの第1種データエンティティは、プライバシーポリシーで定義されるプライバシー管理操作に関連するプライバシータイプ、および、プライバシーメタデータが、対応するデータベース操作と共にプライバシージャーナル内に記憶されるようにデータベース操作に関連するプライバシーメタデータを追跡する第2のプライバシーベースの第1種データエンティティである。
【0091】
上記の実施形態の任意の組合せにおいて、プライバシージャーナル内のプライバシーデータベース操作は、プライバシージャーナル内のポインタであり、ポインタは、データベースに関して実行されたデータベース操作に対応するデータベース・トランザクション・ジャーナル内のエントリを指し示す。
【0092】
上記の実施形態の任意の組合せにおいて、復元以降にデータベースに関して実行されていないプライバシーデータベース操作を識別することは、データベースのデータベース・トランザクション・ジャーナル内のデータベース操作を再生する際のエラーを検出することに基づき、プライバシージャーナルは、データベース・トランザクション・ジャーナル内のデータベース操作のサブセットを含む。
【0093】
上記の実施形態の任意の組合せにおいて、セキュリティ移行動作を実施させることが、データベースに関連するプライバシーコンプライアンス通知を生成することを含み、したがってプライバシーコンプライアンス通知は、復元以降にプライバシーデータベース操作がデータベースに関して実行されていないのでデータベースが準拠しないことを示す。
【0094】
発明の詳細な説明についての追加の裏付け
例示的分散コンピューティングシステム環境
次に図6を参照すると、図6は、本開示の実装が利用され得る例示的分散コンピューティング環境600を示す。具体的には、図6は、技術的解決策環境またはその一部(たとえば、データ受託者環境)をホストし得る例示的クラウド・コンピューティング・プラットフォーム610の高レベルアーキテクチャを示す。本明細書で説明されるこの構成および他の構成は例として述べられるに過ぎないことを理解されたい。たとえば、前述のように、本明細書で説明される要素の多くが、別個のコンポーネントもしくは分散コンポーネントとして、または他のコンポーネントと共に、任意の適切な組合せおよび場所で実装され得る。他の構成および要素(たとえば、マシン、インターフェース、機能、順序、および機能のグループ化)が、図示されるものに加えて、またはその代わりに使用され得る。
【0095】
データセンタが、クラウド・コンピューティング・プラットフォーム610、ラック620、およびラック620内のノード630(たとえば、コンピューティングデバイス、処理装置、またはブレード)を含む分散コンピューティング環境600をサポートし得る。技術的解決策環境は、相異なるデータセンタおよび地理的領域にわたってクラウドサービスを実行するクラウド・コンピューティング・プラットフォーム610と共に実装され得る。クラウド・コンピューティング・プラットフォーム610は、クラウドサービスのリソース割振り、配置、アップグレード、および管理をプロビジョニングおよび管理するためのファブリックコントローラ640コンポーネントを実装し得る。通常、クラウド・コンピューティング・プラットフォーム610は、分散式にデータを記憶し、またはサービスアプリケーションを実行するように動作する。データセンタ内のクラウドコンピューティングインフラストラクチャ610は、特定のサービスアプリケーションのエンドポイントの動作をホストおよびサポートするように構成され得る。クラウドコンピューティングインフラストラクチャ610は、パブリッククラウド、プライベートクラウド、または専用クラウドであり得る。
【0096】
ノード630は、ノード630上で定義済みソフトウェアスタックを実行するホスト650(たとえば、オペレーティングシステムまたはランタイム環境)と共にプロビジョニングされ得る。ノード630はまた、クラウド・コンピューティング・プラットフォーム610内の特殊化された機能(たとえば、計算ノードまたはストレージノード)を実施するように構成され得る。ノード630は、テナントのサービスアプリケーションの1つまたは複数の部分を実行するように割り振られる。テナントとは、クラウド・コンピューティング・プラットフォーム610のリソースを利用する顧客を指すことがある。特定のテナントをサポートするクラウド・コンピューティング・プラットフォーム610のサービスアプリケーションコンポーネントは、マルチテナントインフラストラクチャまたはテナンシと呼ばれることがある。サービスアプリケーション、アプリケーション、またはサービスという用語は、本明細書では互換的に使用され、広範には、データセンタの上で動作し、またはデータセンタ内のストレージおよび計算デバイス位置にアクセスする任意のソフトウェア、またはソフトウェアの部分を指す。
【0097】
複数の別々のサービスアプリケーションがノード630によってサポートされているとき、ノード630は、仮想マシン(たとえば、仮想マシン652および仮想マシン654)に区分化され得る。物理マシンも別々のサービスアプリケーションを同時に実行し得る。仮想マシンまたは物理マシンは、クラウド・コンピューティング・プラットフォーム610内のリソース660(たとえば、ハードウェアリソースおよびソフトウェアリソース)によってサポートされる個別化されたコンピューティング環境として構成され得る。リソースが特定のサービスアプリケーションのために構成され得ることが企図される。さらに、各サービスアプリケーションは機能部分に分割され得、それによって各機能部分は別々の仮想マシン上で実行され得る。クラウド・コンピューティング・プラットフォーム610では、複数のサーバは、サービスアプリケーションを実行し、クラスタ内のデータ記憶操作を実施するために使用され得る。具体的には、サーバは、データ操作を独立して実施するが、クラスタと呼ばれる単一のデバイスとして公開され得る。クラスタ内の各サーバは、ノードとして実装され得る。
【0098】
クライアントデバイス680は、クラウド・コンピューティング・プラットフォーム610内のサービスアプリケーションにリンクされ得る。クライアントデバイス680は任意のタイプのコンピューティングデバイスであり得、コンピューティングデバイスは、図6を参照しながら説明したコンピューティングデバイス600に対応し得、たとえば、クライアントデバイス680は、クラウド・コンピューティング・プラットフォーム610にコマンドを発行するように構成され得る。実施形態では、クライアントデバイス680は、クラウド・コンピューティング・プラットフォーム610内の指定のエンドポイントに向けて通信要求を送る仮想インターネットプロトコル(IP)およびロードバランサまたは他の手段を通じてサービスアプリケーションと通信し得る。クラウド・コンピューティング・プラットフォーム610のコンポーネントは、ネットワーク(図示せず)を介して互いに通信し得、ネットワークは、限定はしないが、1つまたは複数のローカルエリアネットワーク(LAN)および/または広域ネットワーク(WAN)を含み得る。
【0099】
例示的分散コンピューティング環境
本発明の実施形態の概要を簡潔に説明したので、本発明の様々な態様の一般的コンテキストを与えるために、本発明の実施形態が実装され得る例示的動作環境が、以下で説明される。最初に特に図6を参照すると、本発明の実施形態を実装するための例示的動作環境が図示されており、全体的にコンピューティングデバイス600と示されている。コンピューティングデバイス600は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関する何らかの限定を示唆するものではない。コンピューティングデバイス700が、図示されるコンポーネントのいずれか1つまたは組合せに関する何らかの依存関係または要件を有すると解釈すべきでもない。
【0100】
本発明は、携帯情報端末や他のハンドヘルドデバイスなどのコンピュータまたは他のマシンで実行中の、プログラムモジュールなどのコンピュータ実行可能命令を含む、コンピュータコードまたはマシン使用可能命令の一般的コンテキストで説明され得る。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラムモジュールは、特定のタスクを実施し、または特定の抽象データタイプを実装するコードを指す。本発明は、ハンドヘルドデバイス、コンシューマエレクトロニクス、汎用コンピュータ、より専門のコンピューティングデバイスなどを含む様々なシステム構成で実施され得る。本発明はまた、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが実施される分散コンピューティング環境で実施され得る。
【0101】
図7を参照すると、コンピューティングデバイス700は、以下のデバイスを直接的または間接的に結合するバス710を含む:メモリ712、1つまたは複数のプロセッサ714、1つまたは複数のプレゼンテーションコンポーネント716、入力/出力ポート718、入力/出力コンポーネント720、および例示的電源722。バス710は、1つまたは複数のバスとなり得るものを表す(アドレスバス、データバス、またはそれらの組合せなど)。図7の様々なブロックは、概念上の明快さのために線と共に示されており、記載のコンポーネントおよび/またはコンポーネント機能の他の構成も企図される。たとえば、ディスプレイデバイスなどのプレゼンテーションコンポーネントをI/Oコンポーネントと見なし得る。さらに、プロセッサはメモリを有する。本発明者らは、そのようなことが当技術分野の性質であることを認め、図7のダイアグラムが、本発明の1つまたは複数の実施形態と共に使用され得る例示的コンピューティングデバイスの例に過ぎないことを繰り返しておく。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などのカテゴリの間の区別は行われない。すべてが図7の範囲内で企図され、「コンピューティングデバイス」に対する参照であるからである。
【0102】
コンピューティングデバイス700は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピューティングデバイス700によってアクセスされ得る任意の利用可能な媒体であり得、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不能媒体の両方を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得る。
【0103】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、他のデータなどの情報の記憶のための任意の方法または技術で実装される揮発性および不揮発性の取外し可能および取外し不能媒体を含む。コンピュータ記憶媒体は、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD-ROM、デジタル・バーサタイル・ディスク(DVD)、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶デバイス、あるいは所望の情報を記憶するために使用され得、コンピューティングデバイス700によってアクセスされ得る任意の他の媒体を含む。コンピュータ記憶媒体は、本質的に信号を除外する。
【0104】
通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波や他の移送機構などの被変調データ信号で実施し、任意の情報伝達媒体を含む。「被変調データ信号」という用語は、信号内に情報を符号化するような方式でその特性の1つまたは複数が設定または変更された信号を意味する。限定ではなく例として、通信媒体は、ワイヤードネットワークやダイレクトワイヤード接続などのワイヤード媒体と、音響、RF、赤外線、他のワイヤレス媒体などのワイヤレス媒体とを含む。上記のいずれかの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0105】
メモリ712は、揮発性および/または不揮発性メモリの形態のコンピュータ記憶媒体を含む。メモリは取外し可能、取外し不能、またはそれらの組合せであり得る。例示的ハードウェアデバイスは、ソリッドステートメモリ、ハードドライブ、光ディスクドライブなどを含む。コンピューティングデバイス700は、メモリ712やI/Oコンポーネント720などの様々なエンティティからデータを読み取る1つまたは複数のプロセッサを含む。プレゼンテーションコンポーネント716は、ユーザまたは他のデバイスにデータ表示を提示する。例示的プレゼンテーションコンポーネントは、ディスプレイデバイス、スピーカ、印刷コンポーネント、振動コンポーネントなどを含む。
【0106】
I/Oポート718は、I/Oコンポーネント720を含む他のデバイスにコンピューティングデバイス700を論理的に結合することを可能にし、I/Oコンポーネント720のうちの一部は組込みであり得る。例示的コンポーネントは、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、プリンタ、ワイヤレスデバイスなどを含む。
【0107】
技術的解決策の実施形態の追加の構造的および機能的特徴
本明細書で利用される様々なコンポーネントを識別したが、任意の数のコンポーネントおよび構成が、本開示の範囲内の所望の機能を達成するために利用され得ることを理解されたい。たとえば、図に示される実施形態でのコンポーネントが、概念上の明快さのために線と共に示されている。これらおよび他のコンポーネントの他の構成も実装され得る。たとえば、いくつかのコンポーネントが単一のコンポーネントとして示されるが、本明細書で説明される要素の多くが、別個のコンポーネントもしくは分散コンポーネントとして、または他のコンポーネントと共に、任意の適切な組合せおよび場所で実装され得る。いくつかの要素は完全に省略され得る。さらに、1つまたは複数のエンティティによって実施されるように本明細書で説明される様々な機能は、以下で説明されるように、ハードウェア、ファームウェア、および/またはソフトウェアによって実施され得る。たとえば、様々な機能が、メモリ内に記憶された命令を実行するプロセッサによって実施され得る。したがって、他の構成および要素(たとえば、マシン、インターフェース、機能、順序、および機能のグループ化)が、図示されるものに加えて、またはその代わりに使用され得る。
【0108】
以下の段落で説明される実施形態が、具体的に説明される代替実施形態のうちの1つまたは複数と組み合わされ得る。具体的には、特許請求される実施形態が、代替実施形態では、複数の他の実施形態への参照を含み得る。特許請求される実施形態は、特許請求される主題のさらなる限定を指定し得る。
【0109】
本発明の実施形態の主題が、法定の要件を満たすように本明細書で具体的に説明される。しかしながら、説明自体は本特許の範囲を限定しないものとする。むしろ、特許請求される主題が、他の現在または将来の技術と共に、本文書で説明されるものと類似の異なるステップまたはステップの組合せを含むように、他の方式でも実施され得ることを本発明者らは企図している。さらに、「ステップ」および/または「ブロック」という用語が、本明細書では、利用される方法の異なる要素を暗示するように使用され得るが、個々のステップの順序が明示的に説明されない限り、かつ明示的に説明されるときを除いて、用語が、開示される本明細書の様々なステップの間の何らかの特定の順序を示唆すると解釈すべきではない。
【0110】
本開示では、「含むこと(including)」という語は、「備えること(comprising)」という語と同じ広い意味を有し、「アクセスすること(accessing)」という語は、「受信すること(receving)」、「参照すること(referencing)」、または「検索すること(retrieving)」を含む。さらに、「通信すること(communicating)」という語は、本明細書で説明される通信媒体を使用するソフトウェアまたはハードウェアベースのバス、受信機、送信機によって容易にされる「受信すること(receiving)」または「送信すること(transmitting)」という語と同じ広い意味を有する。さらに、「a」や「an」などの語は、別段に示されていない限り、複数ならびに単数を含む。したがって、たとえば、1つまたは複数の特徴が存在する場合、「特徴(a feature)」の制約が満たされる。さらに、「または」という用語は、連言、選言、およびその両方を含む(したがって、aまたはbは、aまたはb、ならびにaかつbの両方を含む)。
【0111】
上記の詳細な議論では、本発明の実施形態が、分散コンピューティング環境を参照しながら説明されるが、本明細書で示される分散コンピューティング環境は例示的なものに過ぎない。コンポーネントは、実施形態の新規な態様を実施するために構成され得、「のために構成される(configured for)」という用語は、特定のタスクを実施し、またはコードを使用して特定の抽象データタイプを実装する「ようにプログラムされる(programmed to)」ことを指すことがある。さらに、本発明の実施形態は一般に、本明細書で説明される技術的解決策環境および概略図を参照することがあるが、記載の技法が他の実装コンテキストに拡張され得ることを理解されたい。
【0112】
本発明の実施形態が、すべての点で制限的なものではなく例示的なものとなるように意図される特定の実施形態に関して説明された。本発明の範囲から逸脱することなく、代替実施形態が、本発明に関する当業者には明らかとなるであろう。
【0113】
上記から、本発明が、明らかであり、構造に固有である他の利点と共に上記で述べられるすべての目的および目標を達成するように良く適合されたのであることを理解するであろう。
【0114】
いくつかの特徴およびサブコンビネーションが有用であり、他の特徴またはサブコンビネーションを参照することなく利用され得ることを理解されよう。これは、特許請求の範囲によって企図され、特許請求の範囲内にある。
図1A
図1B
図1C
図2A
図2B
図3
図4
図5
図6
図7
【国際調査報告】