(57)【要約】  本明細書では、ユーザーアプリケーションのデータプライバシー注釈フレームワークのシステム、方法、及びソフトウェアを提供する。例示的な方法は、少なくとも第１のしきい値量、第１のしきい値量を第２のしきい値量に修正するための弾性因子、及びいつ第２のしきい値量が第１のしきい値量をオーバーライドするかを示すしきい値回復性を示す指示を識別するステップを含む。この方法は、ユーザーコンテンツのコンテンツ編集プロセスを監視して、１つ又は複数の所定のデータスキームに対応する機密データを含むユーザーコンテンツの量を識別するステップと、コンテンツ編集プロセス中に、第１のしきい値量、有効時の第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示に関連する現在の量に少なくとも部分的に基づいて、コンテンツ要素についての注釈インジケーターの提示を有効及び無効にするステップと、を含む。
2020516986.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーアプリケーションを動作させる方法であって、
少なくとも第１のしきい値量、有効時に前記第１のしきい値量を第２のしきい値量に修正するための弾性因子、及びいつ前記第２のしきい値量が前記第１のしきい値量をオーバーライドするかを示すしきい値回復性を示す指示を識別するステップと、
ユーザーデータファイル内のユーザーコンテンツのコンテンツ編集プロセスを監視して、前記ユーザーコンテンツ内の、１つ又は複数の所定のデータスキームに対応する機密データを含むコンテンツ要素の量を識別するステップと、
前記コンテンツ編集プロセス中に、前記第１のしきい値量、有効時に前記第１のしきい値量についての前記弾性因子、及び前記しきい値回復性を示す前記指示に関連する前記コンテンツ要素の現在の量に少なくとも部分的に基づいて、前記コンテンツ要素のうちの１つ又は複数についての注釈インジケーターの提示を有効及び無効にするステップと、
を含む、方法。
【請求項２】
前記注釈インジケーターが、
前記ユーザーデータファイルに適用される、前記ユーザーアプリケーションへのユーザーインタフェースに提示されるグローバルインジケーター、及び
前記機密データを含む個々のコンテンツ要素の近傍に位置決めされる、前記ユーザーインタフェースに提示される個別インジケーター
のうちの１つ又は複数を含む、請求項１に記載の方法。
【請求項３】
前記コンテンツ編集プロセス中に、
コンテンツ要素の前記現在の量が前記第１のしきい値量を超えたことに少なくとも基づいて、前記ユーザーインタフェースにおいて、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも第１の機密データを含むものとしてフラグを設定する少なくとも１つの注釈インジケーターの提示を開始するステップと、
コンテンツ要素の前記現在の量が最初に前記第１のしきい値量を超え、その後、前記弾性因子が前記第１のしきい値量に適用されたときに前記第１のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示を除去するための第２のしきい値量を前記弾性因子に少なくとも基づいて確立するステップと、
前記弾性因子が前記第１のしきい値量に適用されたときにコンテンツ要素の前記現在の量が前記第２のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示の除去を開始するステップと、
コンテンツ要素の前記現在の量が最初に前記第２のしきい値量を下回り、その後、前記しきい値回復性が前記第２のしきい値量に適用されたときに前記第２のしきい値量を超えたことに少なくとも基づいて、前記ユーザーインタフェースにおいて、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する少なくとも１つの別の注釈インジケーターの提示を開始するステップと、
コンテンツ要素の前記現在の量が最初に前記第１のしきい値量を超え、その後、前記弾性因子が前記第１のしきい値量に適用されないときに前記第１のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示を除去するステップと、
コンテンツ要素の前記現在の量が最初に前記第２のしきい値量を下回り、その後、前記回復性が前記第２のしきい値量に適用されないときに前記第２のしきい値量を超えたことに少なくとも基づいて、コンテンツ要素の前記量が前記第１のしきい値量を超えるまで、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも前記第２の機密データを含むものとしてフラグを設定する前記少なくとも１つの別の注釈インジケーターの提示を差し控えるステップと、
をさらに含む、請求項１に記載の方法。
【請求項４】
ユーザーアプリケーションのデータプライバシー注釈フレームワークであって、
１つ又は複数のコンピューター可読ストレージ媒体と、
前記１つ又は複数のコンピューター可読ストレージ媒体に動作可能に結合された処理システムと、
前記１つ又は複数のコンピューター可読ストレージ媒体に記憶されたプログラム命令であり、前記処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、
第１のしきい値量、前記第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示のうちの１つ又は複数を識別し、
前記ユーザーアプリケーションへのユーザーインタフェースにコンテンツ編集のために提示されるユーザーデータファイル内のユーザーコンテンツを監視して、前記ユーザーコンテンツ内の、１つ又は複数の所定のデータスキームに対応する機密データを含むコンテンツ要素の量を識別し、
前記コンテンツ編集プロセス中に、
コンテンツ要素の前記量が前記第１のしきい値量を超えたことに少なくとも基づいて、前記ユーザーインタフェースにおいて、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも第１の機密データを含むものとしてフラグを設定する少なくとも１つの注釈インジケーターの提示を開始し、
コンテンツ要素の前記量が最初に前記第１のしきい値量を超え、その後、前記弾性因子が前記第１のしきい値量に適用されたときに前記第１のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示を除去するための第２のしきい値量を前記弾性因子に少なくとも基づいて確立し、
コンテンツ要素の前記量が最初に前記第２のしきい値量を下回り、その後、前記しきい値回復性が前記第２のしきい値量に適用されたときに前記第２のしきい値量を超えたことに少なくとも基づいて、前記ユーザーインタフェースにおいて、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する少なくとも１つの別の注釈インジケーターの提示を開始する
ように前記処理システムに指示するプログラム命令と、を含む、データプライバシー注釈フレームワーク。
【請求項５】
前記処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、
前記コンテンツ編集中に、前記弾性因子が前記第１のしきい値量に適用されたときにコンテンツ要素の前記量が前記第２のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示の除去を開始し、
前記コンテンツ編集中に、コンテンツ要素の前記量が最初に前記第１のしきい値量を超え、その後、前記弾性因子が前記第１のしきい値量に適用されないときに前記第１のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示を除去し、
前記コンテンツ編集中に、コンテンツ要素の前記量が最初に前記第２のしきい値量を下回り、その後、前記回復性が前記第２のしきい値量に適用されないときに前記第２のしきい値量を超えたことに少なくとも基づいて、コンテンツ要素の前記量が前記第１のしきい値量を超えるまで、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも前記第２の機密データを含むものとしてフラグを設定する前記少なくとも１つの別の注釈インジケーターの提示を差し控える
ように前記処理システムに指示するプログラム命令をさらに含む、請求項４に記載のデータプライバシー注釈フレームワーク。
【請求項６】
前記第１のしきい値量、前記第１のしきい値量についての前記弾性因子、及びしきい値回復性を示す前記指示のうちの１つ又は複数を識別することが、前記コンテンツ編集に関連するターゲットエンティティについて確立された注釈ポリシーを決定するステップを含み、前記注釈ポリシーが、前記第１のしきい値量、前記第１のしきい値量についての前記弾性因子、及びしきい値回復性を示す前記指示のうちの１つ又は複数を含む、請求項４に記載のデータプライバシー注釈フレームワーク。
【請求項７】
前記ターゲットエンティティが、前記コンテンツ編集を実行するユーザー、前記コンテンツ編集を実行する前記ユーザーを含む組織、及び前記ユーザーアプリケーションのアプリケーションタイプのうちの少なくとも１つを含む、請求項６に記載のデータプライバシー注釈フレームワーク。
【請求項８】
前記少なくとも１つの注釈インジケーター、及び前記少なくとも１つの別の注釈インジケーターがそれぞれ、
前記ユーザーデータファイルに適用される、ユーザーインタフェースに提示されるグローバルインジケーター、及び
前記機密データを含む個々のコンテンツ要素の近傍に位置決めされる、前記ユーザーインタフェースに提示される個別インジケーター
のうちの１つ又は複数を含む、請求項４に記載のデータプライバシー注釈フレームワーク。
【請求項９】
前記１つ又は複数の所定のデータスキームが、分類サービスが前記ユーザーコンテンツを解析し、前記コンテンツ要素のうち、１つもしくは複数の所定のコンテンツパターン又は１つもしくは複数の所定のコンテンツタイプを示すデータを含むコンテンツ要素を識別するために使用する１つ又は複数の表現によって定義される、請求項４に記載のデータプライバシー注釈フレームワーク。
【請求項１０】
ユーザーアプリケーションのデータプライバシー注釈フレームワークを提供する方法であって、
第１のしきい値量、前記第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示のうちの１つ又は複数を識別するステップと、
前記ユーザーアプリケーションへのユーザーインタフェースにコンテンツ編集のために提示されるユーザーデータファイル内のユーザーコンテンツを監視して、前記ユーザーコンテンツ内の、１つ又は複数の所定のデータスキームに対応する機密データを含むコンテンツ要素の量を識別するステップと、
前記コンテンツ編集プロセス中に、
コンテンツ要素の前記量が前記第１のしきい値量を超えたことに少なくとも基づいて、前記ユーザーインタフェースにおいて、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも第１の機密データを含むものとしてフラグを設定する少なくとも１つの注釈インジケーターの提示を開始するステップと、
コンテンツ要素の前記量が最初に前記第１のしきい値量を超え、その後、前記弾性因子が前記第１のしきい値量に適用されたときに前記第１のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示を除去するための第２のしきい値量を前記弾性因子に少なくとも基づいて確立するステップと、
コンテンツ要素の前記量が最初に前記第２のしきい値量を下回り、その後、前記しきい値回復性が前記第２のしきい値量に適用されたときに前記第２のしきい値量を超えたことに少なくとも基づいて、前記ユーザーインタフェースにおいて、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する少なくとも１つの別の注釈インジケーターの提示を開始するステップと、
を含む、方法。
【請求項１１】
前記コンテンツ編集中に、前記弾性因子が前記第１のしきい値量に適用されたときにコンテンツ要素の前記量が前記第２のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示の除去を開始するステップと、
前記コンテンツ編集中に、コンテンツ要素の前記量が最初に前記第１のしきい値量を超え、その後、前記弾性因子が前記第１のしきい値量に適用されないときに前記第１のしきい値量を下回ったことに少なくとも基づいて、前記少なくとも１つの注釈インジケーターの提示を除去するステップと、
前記コンテンツ編集中に、コンテンツ要素の前記量が最初に前記第２のしきい値量を下回り、その後、前記回復性が前記第２のしきい値量に適用されないときに前記第２のしきい値量を超えたことに少なくとも基づいて、コンテンツ要素の前記量が前記第１のしきい値量を超えるまで、前記ユーザーインタフェース内の前記ユーザーコンテンツに少なくとも前記第２の機密データを含むものとしてフラグを設定する前記少なくとも１つの別の注釈インジケーターの提示を差し控えるステップと、
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記第１のしきい値量、前記第１のしきい値量についての前記弾性因子、及びしきい値回復性を示す前記指示のうちの１つ又は複数を識別するステップが、前記コンテンツ編集に関連するターゲットエンティティについて確立された注釈ポリシーを決定するステップを含み、前記注釈ポリシーが、前記第１のしきい値量、前記第１のしきい値量についての前記弾性因子、及びしきい値回復性を示す前記指示のうちの１つ又は複数を含む、請求項１０に記載の方法。
【請求項１３】
前記ターゲットエンティティが、前記コンテンツ編集を実行するユーザー、前記コンテンツ編集を実行する前記ユーザーを含む組織、及び前記ユーザーアプリケーションのアプリケーションタイプのうちの少なくとも１つを含む、請求項１２に記載の方法。
【請求項１４】
前記少なくとも１つの注釈インジケーター、及び前記少なくとも１つの別の注釈インジケーターがそれぞれ、
前記ユーザーデータファイルに適用される、ユーザーインタフェースに提示されるグローバルインジケーター、及び
前記機密データを含む個々のコンテンツ要素の近傍に位置決めされる、前記ユーザーインタフェースに提示される個別インジケーター
のうちの１つ又は複数を含む、請求項１０に記載の方法。
【請求項１５】
前記１つ又は複数の所定のデータスキームが、分類サービスが前記ユーザーコンテンツを解析し、前記コンテンツ要素のうち、１つもしくは複数の所定のコンテンツパターン又は１つもしくは複数の所定のコンテンツタイプを示すデータを含むコンテンツ要素を識別するために使用する１つ又は複数の表現によって定義される、請求項１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プライバシーセンシティブなユーザーコンテンツの構成可能な注釈に関する。
【背景技術】
【０００２】
[0001]様々なユーザープロダクティビティアプリケーションにより、ユーザーコンテンツのデータ入力及び解析が可能である。これらのアプリケーションは、スプレッドシート、プレゼンテーション、テキストドキュメント、混合メディアドキュメント、メッセージングフォーマット、又はその他のユーザーコンテンツフォーマットを使用した、コンテンツの作成、編集、及び解析を実現することができる。このユーザーコンテンツの中でも、様々なテキスト、英数字、又はその他の文字に基づく情報は、ユーザー又は組織が、出版又は配信される作品に含めたくないと思う可能性がある機密データ（ｓｅｎｓｉｔｉｖｅ  ｄａｔａ）を含むこともある。例えば、スプレッドシートは、社会保障番号（ＳＳＮ）、クレジットカード情報、医療識別番号、又はその他の情報を含むこともある。このデータ又はユーザーコンテンツを入力するユーザーは、こうした機密データを閲覧する許可を有していることがあるが、他のエンティティ又は配信エンドポイントは、その許可を有していないこともある。
【０００３】
[0002]情報の保護及び管理技術は、この機密データの不正流用及び不適切な割当てを回避しようとするデータ損失防止（ＤＬＰ）と呼ばれることがある。スプレッドシート、スライドに基づくプレゼンテーション、及びグラフィック作図アプリケーションに含まれるものなど、特定のコンテンツフォーマット又はコンテンツタイプでは、ユーザーコンテンツは、様々なセル、オブジェクト、又はその他の構造化もしくは半構造化データエンティティに含まれる可能性がある。さらに、機密データは、複数のデータエンティティの間で分割されることもある。
【発明の概要】
【０００４】
このようなドキュメントが機密データを含むときに、機密データの損失を識別し、損失から保護しようとすると、様々な困難が生じる可能性がある。
【課題を解決するための手段】
【０００５】
[0003]本明細書では、ユーザーアプリケーションのデータプライバシー注釈フレームワークのシステム、方法、及びソフトウェアを提供する。例示的な方法は、少なくとも第１のしきい値量、第１のしきい値量を第２のしきい値量に修正するための弾性因子（ｅｌａｓｔｉｃｉｔｙ  ｆａｃｔｏｒ）、及びいつ第２のしきい値量が第１のしきい値量をオーバーライドするかを示すしきい値回復性（ｒｅｓｉｌｉｅｎｃｙ  ｐｒｏｐｅｒｔｙ）を示す指示を識別するステップを含む。この方法は、ユーザーコンテンツのコンテンツ編集プロセスを監視して、１つ又は複数の所定のデータスキームに対応する機密データを含むコンテンツ要素の量を識別するステップと、コンテンツ編集プロセス中に、第１のしきい値量、有効時の第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示に関連する現在の量に少なくとも部分的に基づいて、コンテンツ要素についての注釈インジケーターの提示を有効及び無効にするステップと、を含む。
【０００６】
[0004]この発明の概要は、以下の発明を実施するための形態においてさらに説明する一連の概念を簡単な形態で紹介するために与えたものである。この概要は、請求対象となる主題の重要な特徴又は不可欠な特徴を特定するためのものではなく、また請求対象となる主題の範囲を限定するために使用されるように意図されたものでもない。
【０００７】
[0005]本開示の多くの態様は、以下の図面を参照するとより深く理解することができる。これらの図面と関連付けていくつかの実施態様について説明するが、本開示は、本明細書に開示するこれらの実施態様に限定されない。逆に、全ての代替形態、修正形態、及び均等物をカバーするものとして意図されている。
【図面の簡単な説明】
【０００８】
【図１】[0006]１例におけるデータ損失防止環境を示す図である。
【図２】[0007]１例におけるデータ損失防止環境の要素を示す図である。
【図３】[0008]１例におけるデータ損失防止環境の要素を示す図である。
【図４】[0009]１例におけるデータ損失防止環境の動作を示す図である。
【図５】[0010]１例におけるデータ損失防止環境の動作を示す図である。
【図６】[0011]１例におけるデータ損失防止環境の動作を示す図である。
【図７】[0012]１例におけるデータ損失防止環境の動作を示す図である。
【図８】[0013]１例におけるデータ損失防止環境のデータしきい値動作を示す図である。
【図９】[0014]本明細書に開示するアーキテクチャ、プロセス、プラットフォーム、サービス、及び動作シナリオのうちのいずれかを実施するのに適したコンピューティングシステムを示す図である。
【発明を実施するための形態】
【０００９】
[0015]ユーザープロダクティビティアプリケーションは、スプレッドシート、スライド、ベクターグラフィックス要素、ドキュメント、電子メール、メッセージングコンテンツ、データベース、又はその他のアプリケーションデータのフォーマット及びタイプを使用した、ユーザーによるデータ及びコンテンツの作成、編集、及び解析を実現する。ユーザーコンテンツには、様々なテキスト、英数字、又はその他の文字に基づく情報が含まれ得る。例えば、スプレッドシートは、社会保障番号（ＳＳＮ）、クレジットカード情報、医療識別番号、パスポート番号、又はその他の情報を含むこともある。このデータ又はユーザーコンテンツを入力するユーザーは、機密データを閲覧する許可を有することがあるが、他のエンティティ又は配信エンドポイントは、そのような許可を有していないこともある。どのタイプのデータ又はユーザーコンテンツが性質的に機密であるかを示す、様々なプライバシーポリシー又はデータプライバシー規則を確立することができる。本明細書に記載する強化型データ損失防止（ＤＬＰ）対策を実施すれば、この機密データの不正流用及び不適切な割当てを回避することができる。
【００１０】
[0016]スプレッドシート、スライドに基づくプレゼンテーション、及びグラフィック作図アプリケーションに含まれるものなど、特定のコンテンツフォーマット又はコンテンツタイプでは、ユーザーコンテンツは、様々なセル、オブジェクト、又はその他の構造化もしくは半構造化データエンティティに含まれてもよい。さらに、機密データは、複数のデータ要素又はエンティティの間で分割されることもある。本明細書の例は、構造化データ要素を含むユーザーデータファイル中の機密データの強化した識別を提供する。さらに、本明細書の例は、機密データについてユーザーに通報する（ａｌｅｒｔ）ための強化したユーザーインタフェースも提供する。これらのユーザーインタフェース要素は、個々の機密データを含むデータをマークする要素、並びにコンテンツの編集中に通報するためのしきい値を含んでもよい。
【００１１】
[0017]スプレッドシートアプリケーションなど、構造化データ要素を使用する１つの例示的なアプリケーションでは、行列状に配列されたセルにデータを入力することができる。各セルは、ユーザーデータ又はユーザーコンテンツを含むことができ、また、１つ又は複数の他のセルのユーザー入力データを参照することができる計算を実行するために使用される１つ又は複数の表現も含むことができる。スライドショープレゼンテーションアプリケーションなど、他のユーザーアプリケーションは、複数のスライド上に、並びにそれらのスライドに含まれるオブジェクト内に、ユーザーコンテンツを含むことができる。
【００１２】
[0018]本明細書の例及び実施態様は、データ損失防止サービスのための強化した動作及び構造を提供するので有利である。これらの強化した動作及び構造は、ドキュメント内の、特にスプレッドシート、プレゼンテーション、及びグラフィック作図などの構造化ドキュメントの機密コンテンツの識別が速くなるという技術的効果を有する。さらに、複数のアプリケーションが、多数の異なるアプリケーション及びエンドユーザープラットフォームにまたがってユーザーデータファイル内の機密コンテンツの検出及び識別を提供する１つの分類サービスを共有することもできる。エンドユーザーレベルの注釈及び難読化プロセスも、アプリケーションとのユーザーインタフェースにおいて有意な利点及び技術的効果をもたらす。例えば、機密コンテンツのグラフィック注釈、及び様々な難読化又はマスキングオプションを提示するポップアップダイアログボックスを、ユーザーに提示することができる。また、様々な強化された注釈しきい値を確立し、機密コンテンツをユーザーに対して動的に示して、ユーザーコンテンツの編集及び機密データの難読化をさらに効率的に、かつ様々なデータ損失防止のポリシー及び規則にさらに準拠するようにすることもできる。
【００１３】
[0019]ユーザーアプリケーションのためのデータ損失防止環境の第１の例として、図１を与える。図１は、１例におけるデータ損失防止環境１００を示す図である。環境１００は、ユーザープラットフォーム１１０と、データ損失防止プラットフォーム１２０とを含む。図１の要素は、１つ又は複数の物理的又は論理的通信リンクを介して通信することができる。図１には、リンク１６０〜１６１が示してある。ただし、これらのリンクは、単なる例示に過ぎず、１つ又は複数の追加のリンクが含まれてもよく、それらは、ワイヤレスの部分、有線の部分、光学的な部分、又は論理的な部分を含んでもよいことを理解されたい。
【００１４】
[0020]データ損失防止フレームワークは、特定のユーザーアプリケーションにローカルな部分と、多数のアプリケーションにまたがって利用される共用部分とを含んでもよい。ユーザープラットフォーム１１０は、ユーザーがユーザーインタフェース１１２を介してユーザーアプリケーション１１１の要素と対話するためのアプリケーション環境を提供する。アプリケーション１１１とのユーザー対話中に、コンテンツの入力及びコンテンツの走査が実行されることもある。アプリケーションデータ損失防止（ＤＬＰ）モジュール１１３は、アプリケーション１１１内における機密データの注釈及び置換のための機能の部分を提供することができる。アプリケーションＤＬＰモジュール１１３は、この例ではユーザープラットフォーム１１０にローカルであるが、アプリケーション１１１から分離している、又はアプリケーション１１１に一体化されていることもある。アプリケーションＤＬＰモジュール１１３は、ユーザー及びアプリケーション１１１の機密データの注釈及び置換を提供することができる。データ損失防止プラットフォーム１２０は、データ損失防止フレームワークの共用部分を提供し、関連付けられた位置のＤＬＰ部分１９３を有するアプリケーション１９０などの多数のアプリケーションが共用するための共用ＤＬＰサービス１２１を提供する。
【００１５】
[0021]動作時には、アプリケーション１１１は、１つもしくは複数のデータファイルを介してロードすることができる、又はユーザーインタフェース１１２を介して入力することができるユーザーコンテンツの入力、編集、及びその他の操作を行うなど、ユーザーがアプリケーション１１１と対話することを可能にするユーザーインタフェース１１２を提供する。図１には、行列状に配置されたセルを有するスプレッドシートブックが示してある。アプリケーション１１１の一部として、機密ユーザーコンテンツを識別して、ユーザーが機密ユーザーコンテンツを安全なテキスト又はデータで置換することができるようにする、データ損失防止サービスが提供される。機密コンテンツは、プライバシーに関連し得るコンテンツ、プライバシーポリシー／規則、又は拡散することが望ましくない、もしくは不要なその他の性質を含む。この文脈におけるデータ損失とは、個人データ又は機密データが未承認のユーザー又はエンドポイントに拡散することを指す。
【００１６】
[0022]機密コンテンツを識別するために、アプリケーション１１１は、ユーザーコンテンツを複数のピース又はチャンクに分割し、そのピース又はチャンクをデータ損失防止サービスに提供する。図１には、個々のコンテンツ部分１４１〜１４５が時間経過とともにＤＬＰサービス１２１に提供されるコンテンツ部分１４０が示してある。通常は、アプリケーション１１１は、アプリケーション１１１に関係する１つ又は複数の処理スレッドが遊休状態である、又はアクティビティしきい値未満であるときなど遊休期間中に、ユーザーコンテンツを処理して複数の部分に分割する。以下で述べるように、構造化ユーザーコンテンツは、分割プロセス中に「フラット化」又は非構造化配置に変換される。この非構造化配置には、ＤＬＰサービス１２１による処理にとっていくつかの利点がある。
【００１７】
[0023]次いで、ＤＬＰサービス１２１は、ユーザーコンテンツの各部分又は「チャンク」を個々に処理して、それらの部分が機密コンテンツを含むかどうかを判定する。データスキーム、データパターン、又はプライバシーポリシー／規則など、様々な分類規則１２５をＤＬＰサービス１２１に導入して、機密データの識別を行うことができる。ＤＬＰサービス１２１がユーザーコンテンツの個々のチャンクのそれぞれを解析した後で、ユーザーデータファイル内の機密データの位置オフセットを決定し、アプリケーションＤＬＰモジュール１１３に対して示す。アプリケーションＤＬＰモジュール１１３内のマッパー機能が、チャンクのオフセットとドキュメントの構造との間の構造的関係を決定する。位置オフセット、機密データの長さ、機密データのタイプを示す指示を、機密データ指示１５０として示すように、アプリケーション１１１に提供することができる。ＤＬＰサービス１２１によって示される位置オフセットは、その機密コンテンツについてのユーザーデータファイルの構造要素の中での正確な、又は詳細な位置を生じないこともある。これらの例では、アプリケーション１１１のアプリケーションＤＬＰモジュール１１３が、マッピングプロセスを利用して、機密データを含む具体的な構造要素を決定することができる。
【００１８】
[0024]詳細な位置が決定されると、アプリケーション１１１は、ユーザーインタフェース１１２内で機密データに注釈をつけることができる。この注釈は、機密データのグローバル又は個別のフラグ設定又はマーキングを含んでもよい。注釈は、ユーザーインタフェース中に提示される「ポリシーヒント」を含むことができる。次いで、ユーザーコンテンツを難読化するなどして元の機密コンテンツとして識別不能にする１つ又は複数のオプションを、ユーザーに提示することができる。機密コンテンツの通知について、ユーザーデータファイル内に存在する機密データの数又は量に基づいてトリガするように、様々なしきい値を確立することができる。
【００１９】
[0025]１例では、ユーザーデータファイル１１４は、スプレッドシートブックの特定のワークシート又はページに関連付けられていることもあるユーザーデータファイル１１４の特定のセルに、コンテンツ１１５、１１６、及び１１７を含む。様々なコンテンツが、これらの関連するセルに含まれてもよく、このコンテンツは、図１においてＳＳＮ、電話番号、及び住所として示す例のように、機密であり得るデータを含んでもよい。このコンテンツの一部は、複数のセルにまたがる、又は複数のグラフィックオブジェクトにまたがるなど、ユーザーデータファイルの構造的境界を越えることもある。「チャンク」がデータを複数の行又は行グループに分割する場合には、フラット化表現（すなわち任意の構造的コンテンツが除去されている）で、依然として１つ又は複数のセル内の機密データを識別することができる。
【００２０】
[0026]ユーザープラットフォーム１１０及びＤＬＰプラットフォーム１２０のそれぞれの要素は、通信インタフェース、ネットワークインタフェース、処理システム、コンピューターシステム、マイクロプロセッサ、ストレージシステム、ストレージ媒体、又はその他の何らかの処理デバイスもしくはソフトウェアシステムを含んでもよく、複数のデバイス間に、又は複数の地理的位置間に分散してもよい。ユーザープラットフォーム１１０及びＤＬＰプラットフォーム１２０のそれぞれの要素の例は、オペレーティング・システム、アプリケーション、ログ、インタフェース、データベース、ユーティリティ、ドライバ、ネットワーキングソフトウェア、及びコンピューター可読媒体に格納されたその他のソフトウェアなどのソフトウェアを含んでもよい。ユーザープラットフォーム１１０及びＤＬＰプラットフォーム１２０のそれぞれの要素は、分散型コンピューティングシステム又はクラウドコンピューティングサービスをホストとする１つ又は複数のプラットフォームを含んでもよい。ユーザープラットフォーム１１０及びＤＬＰプラットフォーム１２０のそれぞれの要素は、ソフトウェア定義インタフェース、及びアプリケーションプログラミングインタフェース（ＡＰＩ）などの論理的インタフェース要素を含んでもよい。
【００２１】
[0027]ユーザープラットフォーム１１１の要素は、アプリケーション１１１と、ユーザーインタフェース１１２と、アプリケーションＤＬＰモジュール１１３とを含む。この例では、アプリケーション１１１は、スプレッドシートアプリケーションを含む。ユーザーアプリケーション１１１は、プロダクティビティアプリケーション、通信アプリケーション、ソーシャルメディアアプリケーション、ゲーミングアプリケーション、モバイルアプリケーション、又はその他のアプリケーションなど、任意のユーザーアプリケーションを含むことができることを理解されたい。ユーザーインタフェース１１２は、ユーザーに対して表示される出力を生成することができ、かつユーザーからの入力を受け取ることができる、グラフィカルユーザーインタフェース要素を含む。ユーザーインタフェース１１２は、ユーザーインタフェースシステム９０８について図９に示して後述する要素を含むことができる。アプリケーションＤＬＰモジュール１１３は、動作の中でも特に、コンテンツを分類サービスに配布するために分割し、機密として示されているデータに注釈をつけ、機密データを難読化するように構成された１つ又は複数のソフトウェア要素を含む。
【００２２】
[0028]ＤＬＰプラットフォーム１２０の要素は、ＤＬＰサービス１２１を含む。ＤＬＰサービス１２１は、アプリケーションプログラミングインタフェース（ＡＰＩ）１２２の形態の外部インタフェースを含むが、その他のインタフェースを利用することもできる。ＤＬＰサービス１２１は、トラッカー１２３、及び分類サービス１２４も含むが、これらについては、以下でさらに詳細に説明する。ＡＰＩ１２２は、特にウェブインタフェース、ＡＰＩ、端末インタフェース、コンソールインタフェース、コマンドラインシェルインタフェース、拡張可能マークアップ言語（ＸＭＬ）インタフェースなどの、１つ又は複数のユーザーインタフェースを含み得る。トラッカー１２３は、構造化ユーザーコンテンツのフラット化部分内の特定のドキュメントについて発見された機密データの数又は量を保持し、また、構造化ユーザーコンテンツ内の機密データの位置に対応する、構造化ユーザーコンテンツのフラット化部分内の位置オフセットのレコードも保持する。トラッカー１２３は、しきい値解析を実行して、しきい値量の機密データが発見され、アプリケーションＤＬＰモジュール１１３によって注釈をつけるべきときを決定することもできる。ただし、他の例では、ＤＬＰサービス１２１のしきい値／カウント部分は、ＤＬＰモジュール１１３に含まれることもある。分類サービス１２４は、フラット化ユーザーコンテンツを解析して、機密データの存在を判定し、機密データを識別する規則及びポリシーを定義する様々な入力を利用することができる。アプリケーションＤＬＰモジュール１１３及び共用ＤＬＰサービス１２１の要素は、構成の中でも特に、共用ＤＬＰサービス１２１の一部分がアプリケーションＤＬＰモジュール１１３又はアプリケーション１１１に含まれる場合など、図１に示す様々な配置又は分布で構成することができる。１例では、共用ＤＬＰサービス１２１の一部分は、アプリケーション１１１及びアプリケーションＤＬＰモジュール１１３によって使用されるユーザープラットフォーム１１０上に含まれるダイナミックリンクライブラリ（ＤＬＬ）を含む。
【００２３】
[0029]リンク１６０〜１６１は、分かりやすくするために図１の要素としては図示していない他のリンクとともに、ワイヤレス又は有線のネットワークリンクを含む１つ又は複数のネットワークリンクなど、１つ又は複数の通信リンクをそれぞれ含んでもよい。これらのリンクは、様々な論理的インタフェース、物理的インタフェース、又はアプリケーションプログラミングインタフェースを含んでもよい。例示的な通信リンクは、金属、ガラス、光学材料、空気、空間、又はその他の何らかの材料を伝送媒体として使用することができる。これらのリンクは、インターネットプロトコル（ＩＰ）、イーサネット（登録商標）、光／同軸ハイブリッドシステム（ｈｙｂｒｉｄ  ｆｉｂｅｒ−ｃｏａｘ）（ＨＦＣ）、同期光ネットワーク（ＳＯＮＥＴ）、非同期転送モード（ＡＴＭ）、時分割多重（ＴＤＭ）、回線交換、通信シグナリング、ワイヤレス通信、又はこれらの組合せ、改良、もしくは変形を含む、その他の何らかの通信フォーマットなど、様々な通信プロトコルを使用することができる。これらのリンクは、直接リンクであることも、又は中間のネットワーク、システム、もしくはデバイスを含むこともあり、複数の物理リンクを介して転送される論理ネットワークリンクを含んでもよい。
【００２４】
[0030]環境１００の要素及び動作についてさらに説明するために、図２を与える。図２は、要素の中でも特に、アプリケーションＤＬＰモジュール１１３の例示的な動作を強調するアプリケーションＤＬＰモジュール１１３の例示的な構成２００を示すブロック図である。図２では、アプリケーションＤＬＰモジュール１１３は、コンテンツアポーショナー（ａｐｐｏｒｔｉｏｎｅｒ）２１１と、アノテーター（ａｎｎｏｔａｔｏｒ）２１２と、マッパー２１３と、オブファスケーター２１４とを含む。要素２１１〜２１４はそれぞれ、アプリケーションＤＬＰモジュール１１３によって利用されて以下に述べるように動作するソフトウェアモジュールを含んでもよい。
【００２５】
[0031]動作時には、図１にユーザーデータファイル１１４として示すように、スプレッドシートファイル又はブックなどのユーザーコンテンツが、アプリケーションＤＬＰモジュール１１３に提供される。このユーザーデータファイルは、スプレッドシートの例では行及び列に整理されるセルなど、構造化又は半構造化フォーマットに整理することができる。これに代わり、ページ／スライド及び多数の個別のグラフィックオブジェクトを有するスライドショープレゼンテーション、様々なページに様々なオブジェクトを有するベクター形式の描画プログラム、様々なオブジェクト（表、テキストボックス、ピクチャ）を有するワードプロセッシングドキュメント、データベース、ウェブページコンテンツ、又はそれらの組合せを含むその他のフォーマットなど、他のデータフォーマットを利用することもできる。ユーザーデータファイルは、機密コンテンツ又は機密データを含むこともある。この機密データは、１つ又は複数のパターン又はデータスキームに適合する任意のユーザーコンテンツを含んでもよい。例示的な機密データの種類は、社会保障番号、クレジットカード番号、パスポート番号、住所、電話番号、又はその他の情報を含む。
【００２６】
[0032]ユーザーデータファイルの編集又は閲覧と平行して、コンテンツアポーショナー２１１は、ユーザーコンテンツを、元／ネイティブの構造化又は階層型形態からフラット化形態である１つ又は複数の部分又は「チャンク」に細分する。コンテンツアポーショナー２１１は、次いで、これらのコンテンツチャンクを、各チャンクのチャンクメタデータとともに、共用ＤＬＰサービス１２１に提供することができる。チャンクメタデータは、コンテンツ全体の中でのチャンクの位置オフセット、及びチャンクの長さなど、様々なチャンクプロパティを示すことができる。位置オフセットは、ユーザードキュメント／ファイル全体に対するチャンクの位置に対応し、チャンク長は、チャンクのサイズに対応する。
【００２７】
[0033]共用ＤＬＰサービス１２１は、コンテンツチャンクを個別に解析して、それらのチャンクのフラット化されたユーザーコンテンツの中で機密データを識別し、機密データを示す指示をアプリケーションＤＬＰモジュール１１３に返送する。以下に述べるいくつかの例では、指示をアプリケーションＤＬＰモジュール１１３に提供する前に、機密データの数又は量に様々なしきい値を適用する。これらの指示は、機密データを含む各チャンクについてのオフセット、チャンクの長さ、及び任意選択で機密データに関連付けられたデータタイプ又はデータスキームを示すインジケーターを含む。これらの機密データ指示を利用して、ユーザーデータファイルの構造化データの中での機密コンテンツの実際の、又は詳細な位置を決定することができる。データタイプのインジケーターは、整数値など、マッパー２１３が注釈のためにデータタイプを識別するために使用することができるインジケーターのリストを参照するシンボル又は数値で符号化されたインジケーターとすることができる。
【００２８】
[0034]マッパー２１３を利用して、オフセット及び長さを、ドキュメント又はユーザーファイル内の詳細な位置に変換することができる。オフセット及び長さは、マッパー２１３によって保持され、セッション識別子と関連付けて格納される詳細なチャンク識別に対応する。セッション識別子は、少なくともユーザーがドキュメントを開いた状態又は閲覧されている状態にしておくセッションの間持続する、一意的な識別子とすることができる。マッパー２１３は、コンテンツアポーショナー２１１からチャンクメタデータを提供されると、チャンクのオフセットと、長さと、セッション識別子との間にマップ関係を形成することができる。機密データを示す指示を受信したのに応答して、マッパー２１３は、マップ関係を利用して、チャンクのオフセット及び長さに対応する、ドキュメント内の機密データについて示される粗い位置を識別することができる。チャンクはユーザーデータファイルの複数の構造的又は階層的要素を含むことがあるので、マッパー２１３は、機密データについてのユーザーデータファイル内の詳細な位置を発見するために、さらなる位置特定プロセスを実行することもある。
【００２９】
[0035]例えば、オフセットが、スプレッドシート内の特定の行又は特定の列など、粗い位置を示すことがある。示された行又は列内のセルなど、詳細な位置を決定するためには、マッパー２１３は、オフセット／長さを、構造化データ及びユーザーデータファイル自体についてのローカルな知識とともに使用して、構造化データの中での機密データを位置特定することができる。マッパー２１３は、スプレッドシートの例では、関連する行、列、ワークシートなど、またスライドショーの例では、関連するスライド／ページ、及びオブジェクトなど、ユーザーデータファイル内のどこからチャンクが提供されたかを決定する。ワードプロセッシングの例など、他の例では、構造がそれほどないこともあり、コンテンツは、より容易にフラット化され、オフセットは、ドキュメントのワード数又はそれに類する配置に基づくことができる。
【００３０】
[0036]いくつかの例では、特定の粗い位置において機密データを検索することによって、詳細な位置を決定する。特定のオフセットによって複数の構造的要素又は階層的要素が暗示されるときには、マッパー２１３は、それらの要素のそれぞれを反復して検索又はウォークスルーして、機密データを位置特定することができる。例えば、ドキュメント内に「ｎ」レベルの構造／階層がある場合には、マッパー２１３は、最初に上層の階層内を移動し、その後に下層の階層内を移動する。スプレッドシートの例では、階層／構造は、関連する行及び列を有するワークシートを含むことがある。ドキュメントプレゼンテーションの例では、階層／構造は、関連する図形／オブジェクトを有するスライド／ページを含むことがある。オフセットによって示される各ワークシート及びスライド内を進行していって、機密コンテンツを含む正確なセル又はオブジェクトを発見することができる。さらに別の例では、機密データの位置特定は、粗い位置に関連する１つ又は複数のチャンクを再作成し、それらの作成したチャンク内で機密データを発見して、機密データの詳細な位置を発見することによって行うことができる。
【００３１】
[0037]機密データの詳細な位置が決定されたら、アノテーター２１２を利用して、ユーザーに対して、機密データにマークするなどしてフラグを設定することができる。この注釈は、機密コンテンツがユーザーデータファイル内に存在することをユーザーに対して示すグローバルなフラグ又はバナーの形態をとることができる。この注釈は、機密データの近傍のマークを示す個別フラグの形態をとることもできる。１例では、図２は、現在閲覧又は編集のために開いているブックを有するスプレッドシートユーザーインタフェースのビューを有する構成２０１を示す。バナー注釈２２０、並びに個別セル注釈２２１が示してある。個別セル注釈２２１は、ユーザーコンテンツの１つ又は複数の部分に注釈をつけるグラフィック指示を含み、また、その１つ又は複数の部分の近傍に位置決めされた、ユーザーインタフェース１１２内で難読化オプションを提示するために選択可能なインジケーターを含む。
【００３２】
[0038]特定の注釈が選択されたときに、１つ又は複数のオプションをユーザーに提示することができる。特に切り取り、コピー、貼り付けなど、様々な閲覧／編集オプションを含むポップアップメニュー２０２が提示されることもある。ポップアップメニュー２０２は、難読化オプションを含むこともできる。難読化オプションのうちの１つを選択すると、関連するユーザーコンテンツのデータスキームを維持し、関連するユーザーコンテンツのデータスキームを維持しながら、関連するユーザーコンテンツの識別は防止するように選択されたシンボルを含む、難読化されたコンテンツを生成することができる。いくつかの例では、シンボルは、考慮事項の中でも特に、関連するユーザーコンテンツのデータスキームに部分的に基づいて選択される。例えば、データスキームが数値データスキームを含む場合には、難読化シンボルとして文字が使用されることもある。同様に、データスキームが英字データスキームを含む場合には、難読化シンボルとして数字が使用されることもある。英数字コンテンツの例では、難読化シンボルとして、文字と数字の組合せ、又はその他のシンボルが選択されることもある。
【００３３】
[0039]図２では、第１の難読化オプションは、機密コンテンツを、マスクするなどして難読化されたテキストで置換することを含み、第２の難読化オプションは、全てのコンテンツを、現在選択されている注釈のコンテンツと同様のパターン又はデータスキームで置換することを含む。例えば、ＳＳＮがセルに含まれる場合には、ＳＳＮのデータスキームは変更せずに残しながら、すなわち馴染みのあるダッシュ文字で分離された「３−２−４」の文字配列は変更せずに残しながら、ＳＳＮ中の数字を文字「Ｘ」で置換するオプションが、ユーザーに提示されることもある。さらに、さらなる難読化オプションが、選択したＳＳＮのパターンに適合する全てのＳＳＮを文字「Ｘ」で置換するオプションを含んでもよい。上記とは異なる例示的な難読化オプションを提示することもでき、異なる文字を置換プロセスで使用することもできることを理解されたい。ただし、利用される難読化文字にかかわらず、機密データは、匿名化され、サニタイズされ、「クリーン」になり、又は元のコンテンツとして識別不能になる。
【００３４】
[0040]次に図３を参照すると、ＤＬＰサービス１２１の特徴に注目した例示的な構成３００が示してある。図３では、ＤＬＰサービス１２１は、コンテンツアポーショナー２１１によって１つ又は複数のコンテンツチャンクに含めて提供される、フラット化されたユーザーコンテンツの一部分を、コンテンツ全体の中でのオフセット及びチャンクの長さを少なくとも含むチャンクメタデータとともに受信する。図３には、２つの例示的なタイプの構造化ユーザーコンテンツ、すなわちスプレッドシートコンテンツ３０１、及びスライドショー／プレゼンテーションコンテンツ３０２が示してある。スプレッドシートコンテンツ３０１は、個々のセルを定義する行３２１及び列３２２を反映した構造を有する。さらに、スプレッドシートコンテンツ３０１は、このワークシートの下にタブで区切られた複数のワークシート３２０を有することもあり、各ワークシートが、別個の行／列のセットを有することができる。各セルは、文字、英数字コンテンツ、テキストコンテンツ、数字コンテンツ、又はその他のコンテンツなどのユーザーコンテンツを有することがある。スライドショーコンテンツ３０２は、複数のオブジェクト３２４を含む１つ又は複数のスライド又はページ３２３を有することができる。各オブジェクトは、文字、英数字コンテンツ、テキストコンテンツ、数字コンテンツ、又はその他のコンテンツなどのユーザーコンテンツを有することがある。
【００３５】
[0041]コンテンツアポーショナー２１１は、ユーザーコンテンツを複数のピースに細分し、例えばテキスト又は英数字コンテンツなど任意のユーザーコンテンツをセル又はオブジェクトから抽出し、次いで、抽出したコンテンツを、ＤＬＰサービス１２１に送付するために、フラット化された、又は線形のチャンクに配置することなどにより、任意の関連する構造を除去する。これらのチャンク及びチャンクメタデータは、潜在的な機密データを発見するためにＤＬＰサービス１２１に提供される。
【００３６】
[0042]ＤＬＰサービス１２１がユーザーコンテンツの個々のチャンクを受信すると、分類サービス１２４によって様々な処理がこれらのチャンクに対して実行される。また、トラッカー１２３は、オフセット／長さ及びセッション識別子を発見された機密データの数と関係付ける１つ又は複数のデータ構造を含むデータレコード３３２を保持する。データレコード３３２は、そのＤＬＰサービス１２１が、機密データを含むチャンクについてのオフセット／長さを、その中で発見された任意の機密コンテンツのさらなる位置特定及び注釈付けが行われるように要求側のアプリケーションに返送するように記憶される。
【００３７】
[0043]分類サービス１２４は、各チャンクを様々な分類規則３３１と突き合わせて解析して、機密データ又は機密コンテンツを識別する。分類規則３３１は、チャンクの一部分を１つもしくは複数の所定のコンテンツパターン又は１つもしくは複数の所定のコンテンツタイプを示すものとして識別するためにフラット化チャンク／データ表現を解析するために使用される１つ又は複数の表現によって定義される１つ又は複数の所定のデータスキームを確立することができる。
【００３８】
[0044]機密コンテンツは、通常は、機密コンテンツと関連付けられたデータ構造パターン又はデータ「スキーム」に基づいて識別される。これらのパターン又はスキームは、チャンクの正確なコンテンツが異なり得るが、データは機密データタイプを反映するパターン又は配置に適合し得るときを識別することができる。例えば、ＳＳＮは、相互に混合され、所定数のダッシュで分離された、所定数の数字を有する特定のデータ配置を有することがある。分類規則３３１は、機密データの識別において使用される様々な定義及びポリシーを含むことができる。これらの分類規則は、プライバシーポリシー、データパターン、データスキーム、及びしきい値ポリシーを含んでもよい。プライバシーポリシーは、考慮事項の中でも特に、特定の機密であり得るデータが、企業、組織、又はユーザーのポリシーにより、アプリケーションに対して機密として示されない可能性があることを示すことがある。しきい値ポリシーは、機密データの存在がアプリケーションに報告される前に様々なチャンク内で機密データを発見するための最小しきい値を確立することがある。分類規則３３１は、ユーザーが確立することもできるし、又は管理者などのポリシー作成者が確立することもできる。
【００３９】
[0045]さらに、分類サービス１２４は、正規表現（ｒｅｇｅｘ）サービス３３３によって処理される１つ又は複数の正規表現を通してデータコンテンツを処理することができる。ｒｅｇｅｘサービス３３３は、ユーザー又はポリシー作成者が機密データの識別のために展開し得る様々な正規表現とともに、正規表現一致及び処理サービスを含んでもよい。ｒｅｇｅｘサービス３３３のさらに別の例については、図７を参照して以下で説明する。
【００４０】
[0046]具体例として、分類プロセス３４１は、ドキュメント又はユーザーデータファイルの構造的又は階層的配置に元々含まれていたコンテンツの線形版であるいくつかのコンテンツチャンクＣ１〜Ｃ８を示している。分類サービス１２４は、これらのチャンクを処理して、これらのチャンクのうち機密データを含むものを識別する。任意の機密データが発見された場合には、指示をアプリケーションに提供することができる。これらの指示は、その機密データについてのオフセット及び長さを含んでもよく、マッパー２１３がユーザーデータファイルの構造内で機密データを位置特定するために提供される。チャンク自体は、各チャンクを処理して機密データの識別を行った後で、分類サービス１２４によって廃棄することができる。オフセット及び長さによって元のデータファイル内の機密データを発見することができ、（その間に編集が行われていなければ）元のコンテンツがデータファイル内に残るので、処理した後で実際のチャンクを保存する必要はない。
【００４１】
[0047]チャンクを形成するために、コンテンツアポーショナー２１１は、テキストなどの英数字コンテンツを、文字列又はＢＳＴＲ（基本文字列（ｂａｓｉｃ  ｓｔｒｉｎｇ）又はバイナリ文字列）などの１つ又は複数の線形データ構造にバンドルする。分類サービス１２４は、これらの線形データ構造を処理し、結果のリストを決定する。機密データがないかどうかチャンクを検査し、線形データ構造の一部分を、機密コンテンツを有するものとして決定することができる。分類サービス１２４は、トラッカー１２３と協働して、線形データ構造の中の機密データを含むチャンクに対応するオフセット／長さを決定する。これらのオフセットは、粗い位置を示すことができ、これらの粗い位置を、ユーザーコンテンツを含む元のドキュメント（例えばユーザーデータファイル）内の詳細な位置に変換することができる。トラッカー１２３は、チャンクを受信すると、各チャンクを、チャンクメタデータ内に示されるオフセット／長さ情報と相関させることができる。マッパー２１３は、このオフセット／長さ情報を使用して、元のドキュメントの構造又は階層に逆マッピングすることができる。
【００４２】
[0048]ただし、ＤＬＰサービス１２１は、通常は、コンテキストの一部のみを、最初に生成された線形データ構造内のオフセットなどによって示される元のドキュメント又はユーザーデータファイルに戻す。さらに、線形データ構造及びユーザーコンテンツ自体は、分類プロセスの終了時に分類サービス１２４によって解除／削除されていることもある。これは、分類サービス１２４が、機密コンテンツを直接検索して、元のドキュメント内で機密データを詳細に位置特定することができない可能性があり、分類サービス１２４が正確な機密コンテンツを検索することができたとしても、「チャンク化」アルゴリズムが元のドキュメント又はデータファイル内の下位層構成又は構造の境界を越える可能性があるので、分類サービス１２４が、機密コンテンツを発見することができないこともあるということを意味し得る。具体例として、スプレッドシートドキュメントのワークシート３２０は、４つの隣接するセルにまたがるテキスト「ＳＳＮ  １２３  ４５  ６７８９」を有することがある。分類サービス１２４は、機密コンテンツを含むものとしてこのテキストを発見することができるので有利である。ただし、分類サービス１２４による越境（ｂｏｕｎｄａｒｙ−ｃｒｏｓｓｉｎｇ）解析により、ポリシー規則評価の終了時には、分類サービス１２４は、通常は、元のドキュメント内で機密データを発見してユーザーに提示できるだけの十分なデータを有していない。ユーザーは、機密コンテンツは存在しなかったという誤った印象を持つこともある。
【００４３】
[0049]機密コンテンツがないかどうかユーザーコンテンツを効率的にスキャンするために、分類サービス１２４は、アプリケーションが遊休状態である間のある時点でユーザーコンテンツのチャンクを読み込み、部分解析を行い、このプロセスを継続する。分類サービス１２４は、全てのコンテンツの読取りを終了したときに、開始点／オフセット及び長さのみしか有していないなど、元のコンテンツ内での機密コンテンツの粗い位置しか有していない。構造化又は半構造化ドキュメントに効率的に逆マッピングするために、マッパー２１３は、複数の技術を組み合わせて利用することができる。これらの技術は、コンテンツがしきい値を超えたかどうかを理解するためには、単なる単語／文／段落だけでなくコンテンツ全体が必要となる可能性があることなどの理由により、スペルチェック及び文章校正の機能の仕方とは異なることに留意されたい。
【００４４】
[0050]元のドキュメント内に存在する物理的下位層又は構造（すなわちブックにおけるワークシート、又はプレゼンテーションにおけるスライド）の全てのレベルについて、マッパー２１３は、識別子を使用して、マッピングデータ構造中の存在を示し、妥当な数の階層レベル（すなわちワークシートにおける行、スライドにおける図形）でコンテンツをさらに細分して、各階層レベルが処理されるにつれて、マッパー２１３が元のコンテンツの長さを把握し、またマップへの挿入の順序に基づいてその要素の暗黙的な開始点を把握するようになっている。識別子は、特定のドキュメントの開いているインスタンス間で持続するプロセス耐性識別子であることも、又は、その特定のドキュメントの各インスタンスで異なることもある。いくつかの例では、未処理のコンテンツが残っておらず、コンテンツをさらに変化させることになる保留状態の編集もなくなるまで、機密コンテンツの有無を混同する計算は差し控えられる。
【００４５】
[0051]機密コンテンツが存在すると仮定すると、マッパー２１３は、ＤＬＰサービス１２１から、各機密コンテンツの開始点及び長さを受信し、最も正確なマップ領域内の機密コンテンツの識別子及びインセットのマッピングデータ構造においてルックアップを実行して、正確な位置を発見する。実施上の理由から、特定の数の階層レベルしかトラッキングしないこともあり、それによりスライド内の図形内の表、又はワークシート内の行内のセルを個別にトラッキングしないこともある。したがって、正確な位置を発見するために、逆マッピングを行った後で、部分的なリウォーク（ｒｅ−ｗａｌｋ）を実行することもある。
【００４６】
[0052]具体例として、ブックが、２０枚のワークシートを有し、数百万行、及びその数百万行のそれぞれが、５０列のユーザーデータを有することもある。この例において、機密データが比較的少数である（すなわち１枚のシートが機密データを有する列を１列しか有していない）場合には、分類プロセスは、極めてメモリ集中的になり、２０×１００万×５０個の記憶される「長さ＋オフセット」データを有することもある。機密データが実際には元のドキュメント内で識別されているときには、最後の次元を除去すると、５０倍のメモリ節約になり、計算コストも少なくなる。メモリ占有領域を小さく保ち、開始点／長さを元のコンテンツに逆マッピングすることができるので、有利である。
【００４７】
[0053]図１〜図３の要素の動作をさらに説明するために、図４に流れ図を与える。図４には、２つの主要な流れ、すなわち機密データを識別するための第１の流れ４００と、機密データの注釈付け及び難読化を行うための第２の流れ４０１とが示してある。第１の流れ４００から第２の流れ４０１につながることができるが、その他の構成も可能である。
【００４８】
[0054]図４では、ＤＬＰサービス１２１は、関連するフラット化表現に統合された構造化ユーザーコンテンツのサブセットを受信する（４１０）。これらの関連するフラット化表現はそれぞれ、構造化ユーザーコンテンツの対応するサブセットへのマッピングを有する。上述のように、構造化コンテンツは、シート／行／列に整理されたスプレッドシートコンテンツを含むこともあるし、又は特にスライド／オブジェクトに整理されたスライドショーコンテンツ、ページ／オブジェクトに整理された作図プログラムコンテンツ、もしくはページに整理されたテキストコンテンツなど、その他の構造を含むこともある。構造化ユーザーコンテンツのこれらのサブセットは、特に、図１に示す「チャンク」１４１〜１４６、又は図３に示すチャンクＣ１〜Ｃ８を含むことができる。基になるユーザーコンテンツの構造は、これらのサブセットではフラット化又は除去されてチャンクを形成しており、各サブセットが、例えばシート／行／列又はスライド／オブジェクトなどの構造識別子又はローカライザーを参照することによって、元の構造に逆マッピングする。
【００４９】
[0055]ＤＬＰサービス１２１は、例えば図１のリンク１６０又はＡＰＩ１２２などを介して、これらのチャンク及びチャンクメタデータを受信し、フラット化表現を個別に解析して、一部分を１つ又は複数の所定のデータスキームに対応する機密コンテンツを含むものとして分類する（４１１）。分類規則１２５は、チャンクの一部分を１つもしくは複数の所定のコンテンツパターン又は１つもしくは複数の所定のコンテンツタイプを示すものとして識別するために平坦化チャンク／データ表現を解析するために使用される１つ又は複数の表現によって定義される１つ又は複数のデータスキームを確立することができる。
【００５０】
[0056]機密データが発見された場合（４１２）には、各部分について、ＤＬＰサービス１２１は、トラッカー１２３に保持されるデータレコード３３２に示される構造化ユーザーコンテンツについての関連するオフセット／長さを決定する（４１３）。ＤＬＰサービス１２１は、次いで、少なくともそれらの部分についての関連するオフセット／長さをユーザーアプリケーション１１１に対して示して、ユーザーアプリケーション１１１へのユーザーインタフェース１１２内で機密コンテンツがマーク付けされるようにする（４１４）。機密データが発見されない場合、又はいかなる関連するしきい値も満たされない場合には、チャンクのさらなる処理を継続することができる、又は、ユーザーアプリケーション１１１から提供される追加のチャンクがないかどうかさらに監視を継続することができる。さらに、ユーザーコンテンツの編集又は変更によって、任意の変更又は編集されたユーザーコンテンツについての分類プロセスの追加又は反復が促されることもある。
【００５１】
[0057]アプリケーションＤＬＰモジュール１１３は、ＤＬＰサービス１２１の分類サービスから、ユーザーコンテンツの機密コンテンツを含む１つ又は複数の部分を示す指示を受信する（４１５）。ここで、この指示は、機密コンテンツに関連するオフセット／長さを含む。アプリケーションＤＬＰモジュール１１３は、ユーザーコンテンツのその１つ又は複数の部分に機密コンテンツを含むとして注釈をつけるグラフィックインジケーターを、ユーザーアプリケーション１１１へのユーザーインタフェース１１２に提示する（４１６）。アプリケーションＤＬＰモジュール１１３は、次いで、ユーザーインタフェース１１２において、ユーザーコンテンツのその１つ又は複数の部分のうちの少なくとも選択した部分内で機密コンテンツをマスクする難読化オプションを提示することができる（４１７）。この難読化オプションのうちの少なくとも１つがユーザーによって選択されたのに応答して、アプリケーションＤＬＰモジュール１１３は、関連するユーザーコンテンツを、その関連するユーザーコンテンツのデータスキームを維持する難読化コンテンツで置換する（４１８）。
【００５２】
[0058]図５は、図１〜図３の要素の動作をさらに説明するためのシーケンス図５００を示している。さらに、図５は、図５のプロセスステップのうちの一部についての詳細な例示的構造５１０も含む。図５では、アプリケーション１１１は、ユーザーによる閲覧又は編集のためにドキュメントを開くことがある。このドキュメントを、アプリケーションＤＬＰモジュール１１３が検出することができる。任意の関連するポリシー又は分類規則をＤＬＰサービス１２１にプッシュして、任意の分類ポリシーを定義することができる。これで、ＤＬＰサービス１２１は、いくつかの開いているドキュメントのリストを含むことがあるレコード３３２中の開いているドキュメントの処理インスタンスを保持することができる。アプリケーション１１１の遊休処理時間枠がＤＬＰモジュール１１３によって検出されると、遊休インジケーターをＤＬＰサービス１２１に提示することができ、ＤＬＰサービス１２１は、これに応答して、ユーザーコンテンツのチャンクを分類のために要求する。あるいは、ＤＬＰモジュール１１３は、アプリケーション１１１の遊休期間中に、ユーザーコンテンツのチャンクをＤＬＰサービス１２１にプッシュすることもできる。ＤＬＰモジュール１１３は、ユーザーコンテンツをチャンクに分割し、これらのチャンクは、ドキュメントの構造又は階層オブジェクトに含まれるテキスト又はその他のコンテンツに基づいて決定されることがある。チャンクが決定されると、ＤＬＰモジュール１１３は、分類のためにチャンクをＤＬＰサービス１２１に転送する。ＤＬＰサービス１２１は、各チャンクを個別に分類し、それらのチャンクに分類規則を適用して、それらのチャンクの中で機密であり得るユーザーコンテンツを識別する。この分類プロセスは、反復プロセスにして、ＤＬＰモジュール１１３によって転送される全てのチャンクが処理されていることを保証することができる。チャンクの中で機密データ又はコンテンツが発見された場合には、ＤＬＰサービス１２１は、機密データの存在をＤＬＰモジュール１１３に対して示して、さらなる処理が行われるようにする。本明細書で述べているように、機密データは、オフセット、粗い位置、又はその他の位置情報、並びに長さ情報によって示すことができる。次いで、ＤＬＰモジュール１１３は、ドキュメント内の機密データに対して、１つ又は複数の注釈プロセス及び難読化プロセスを実行することができる。
【００５３】
[0059]分類規則は、例えばユーザー、管理者、ポリシー担当者、又はその他のエンティティなどによって、分類プロセスの前に確立することができる。構造５１０に見られるように、様々な規則５１１及び５１２は、１つ又は複数の述語に基づくことができる。述語は、図５では、２つのカテゴリで、すなわちコンテンツ関連述語５１１及びアクセス関連述語５１２として示してある。コンテンツ関連述語５１１は、データパターン、データ構造情報、又はデータスキームを定義する正規表現など、機密データを示すデータスキームを含んでもよい。アクセス関連述語５１２は、機密データが特定のユーザー、組織、又はその他の要因による拡散又は解放に望ましくないときを定義するコンテンツ共有規則など、ユーザーレベル、組織レベル、又はその他のアクセスベースの規則を含む。
【００５４】
[0060]コンテンツ関連述語及びアクセス関連述語のうちの１つ又は複数を結合してポリシー５５１〜５５４にするポリシー規則５１３を、確立することができる。各ポリシー規則は、優先度、及び関連するアクションも有する。一般に、優先度は、アクションの重要度に一致する。例えば、ポリシー規則は、アプリケーションの「保存」フィーチャー（ｆｅａｔｕｒｅ）がブロックされると定義することもある。別の例示的なポリシー規則では、ユーザーコンテンツは、コンテンツ関連述語に従って定義されるＳＳＮを含むことがあるが、アクセス関連述語によれば、これらのＳＳＮは、拡散が許容できないこともある。ほとんどのポリシー規則は、述語５１１〜５１２の中から少なくとも１つの分類述語を含む。これらのポリシーは、１つ又は複数のアクション５１４を実施することができる。これらのアクションは、特に、ユーザーの通知、通知及びユーザーによるオーバーライドの許可、フィーチャー／機能（すなわち「保存」又は「コピー」フィーチャー）のブロック、及び正当なオーバーライドなど、アプリケーションが機密コンテンツの識別に応答して行うことがある様々な注釈動作を含んでもよい。
【００５５】
[0061]図６は、図１〜図３の要素の動作をさらに説明するための流れ図６００を示している。図６は、機密データの識別、注釈付け、及び難読化プロセスを含む１つの例示的なプロセス全体に着目している。サブプロセス６０１は、ポリシー及び規則の確立、記憶、及び取得を含む。これらのポリシー及び規則は、本明細書に記載する情報の中でも特に、注釈規則、分類規則、正規表現、整理／ユーザーポリシーであり得る。図６の動作６１１では、検出ポリシーを構成するために、様々な検出規則６３０及び置換規則６３１を、ユーザーインタフェース又はＡＰＩを介して導入することができる。検出規則６３０及び置換規則６３１は、特に、図５に見られる様々な述語及び規則を含んでもよい。ユーザー、管理者、ポリシー担当者、又はその他のエンティティは、例えばエンティティ及びアクティビティの中でも特に、ユーザー、組織、又はアプリケーション用途についてのポリシーを確立することなどによって、検出規則６３０及び置換規則６３１を導入することができる。検出規則６３０及び置換規則６３１は、動作６１２で、後に使用することができるように、１つ又は複数のストレージシステムに記憶することができる。１つ又は複数のクライアントが、検出規則６３０及び置換規則６３１によって確立されたポリシーを使用したいと思う場合には、動作６１３で、これらのポリシーをダウンロード又は取得することができる。例えば、注釈規則は、あるアプリケーションによってダウンロードされて、ユーザーインタフェースで機密コンテンツに注釈をつける際に使用されることがあり、分類規則は、ユーザーコンテンツを機密コンテンツとして分類するために共用ＤＬＰサービスがダウンロードすることがある。
【００５６】
[0062]サブプロセス６０２は、ユーザーインタフェースで編集又は閲覧するためにドキュメントをロードすること、及び分類のためにそれらのドキュメントのチャンクを提供することなどのクライアント側アプリケーションアクティビティを含む。動作６１４で、クライアントアプリケーションは、動作の中でも特に、ユーザーコンテンツを処理する、ユーザーコンテンツを編集する、又はユーザーコンテンツを閲覧する、１つ又は複数のエンドユーザーエクスペリエンスを提供することができる。動作６１４で、後述する注釈プロセス及び難読化プロセスも提供することができる。動作６１５で、このユーザーコンテンツの一部を、ユーザーコンテンツの分類のために共用ＤＬＰサービスに提供する。いくつかの例では、これらの部分は、元のドキュメントから関連する構造又は階層が除去された、ユーザーコンテンツのフラット化チャンクを含む。
【００５７】
[0063]サブプロセス６０３は、ユーザーコンテンツの中で機密データを検出するためのユーザーコンテンツの分類、並びにこの機密データのユーザーに対する注釈付けを含む。動作６１６では、検出規則及びプロセスの中でも特に、図７を参照して後述する正規表現など、様々な検出規則が適用される。機密データが発見された場合には、動作６１７で、ユーザーに通知すべきかどうかを判定する。この通知は、機密データの量が通報しきい値量未満である場合には行われないこともある。ただし、ユーザーに通報する場合には、動作６１９で、構造化データの検出領域内の機密データの位置を計算することができる。本明細書に記載するように、マッピングプロセスを利用して、機密データの文字列又は部分のフラット化されたデータのオフセット及び長さから、構造化要素又は階層要素内の機密データの詳細な位置を決定することができる。これらの詳細な位置が決定されたら、動作６１８で、それらの位置をユーザーに対して表示することができる。注釈又はその他の強調ユーザーインタフェース要素を利用して、ユーザーコンテンツの中に機密データが存在することをユーザーに知らせる。
【００５８】
[0064]サブプロセス６０４は、構造化又は階層要素を含むユーザーコンテンツ内の機密データの難読化を含む。動作６２１で、ユーザー入力を受け取って、機密データの少なくとも１つのインスタンスを「安全な」又は難読化されたデータ／テキストで置換することができる。注釈又は「ポリシーヒント」を出現させた機密データを示す強調領域がユーザーに対して示されると、機密データをその機密データを難読化する「安全なテキスト」で置換するオプションをユーザーに対して提示することができる。動作６１１で最初にポリシーを設定したエンティティによって行われる選択に応じて、動作６２２及び６２４で、１つ又は複数の置換又は難読化規則を決定及び生成する。難読化規則は、内部コード名をマーケティング用の承認名で置換するために使用することができ、個人を特定できる情報（ＰＩＩ）を定型名で難読化するために使用することもでき、あるいは数値機密データを、実際の機密データを明らかにすることなく機密データのタイプ（すなわち、特にクレジットカード番号、社会保障番号、車両識別番号）を将来のドキュメントの閲覧者に対して示す文字のセットで置換するために使用することもできる。動作６２３で、機密データを難読化データで置換する。難読化データを使用して、数値機密データを、データスキーム又はコンテンツタイプを確認するために使用することができるが、たとえ決意の固い人間であってもそこから元のデータを導出するには不十分である（すなわちそのコンテンツピースがＳＳＮであると判定することはできても、実際のＳＳＮを明らかにするには不十分である）文字のセットで置換することができる。ユーザーは、難読化テキストによる機密コンテンツの個別の、もしくは単一インスタンスの置換を実行することもできるし、又は機密コンテンツの複数のインスタンスを示すユーザーインタフェースからの一括置換を実行することもできる。
【００５９】
[0065]テキスト又は英数字コンテンツなどの機密コンテンツの置換は、正規表現を用いて行うこともできるし、あるいは非決定性有限オートマトン（ＮＦＡ）、決定性有限オートマトン（ＤＦＡ）、プッシュダウンオートマトン（ＰＤＡ）、チューリングマシン、任意関数コード、又はその他のプロセスを介して行うこともできる。機密コンテンツの置換は、通常は、テキスト又はコンテンツの間でのパターンマッチングを含む。このパターンマッチングは、例えば区切り文字の場合など、ターゲットパターンが、複数の文字が文字列内の指定された位置に存在する能力を有し、それらの文字をマスクする必要がないかどうかを考慮することによって、マスクされない文字又はコンテンツを残してもよい。例えば、マスキングプロセスの後で、文字列「１２３−１２−１２３４」は「ｘｘｘ−ｘｘ−ｘｘｘｘ」になることがあり、文字列「１２３  １２  １２３４」は「ｘｘｘ  ｘｘ  ｘｘｘｘ」になることがある。このパターンマッチングは、一意性のために、クレジットカード又はＳＳＮの末尾の所定数の数字など、特定の部分を識別可能に保つこともできる。例えば、「１２３４−１２３４−１２３４−１２３４」は、マスキングプロセスの後で、「ｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘ−１２３４」になることがある。コード名のマスキング／置換では、全てのアスペクトがパターンであるとは限らず、実際には内部コード名又はその他のキーワードであることもある。例えば、「Ｗｈｉｓｔｌｅｒ」というコード名が、マスキングプロセスの後で、「Ｗｉｎｄｏｗｓ  ＸＰ」になることもある。さらに、可変数の文字を安全なテキストで置換するパターンは、長さを不変に保つ、又は長さを既知の定数に設定することが許容されることもある。例えば、同じ規則が、「１２３４−１２３４−１２３４−１２３４」を、マスキングプロセスの後で、「ｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘ−１２３４」及び「ｘｘｘｘｘ−ｘｘｘｘｘ−ｘ１２３４」に変換してもよい。この場合、こうした任意のケースを取り扱うのに十分なデータを含むパターンが必要になることがある。正規表現は、各アトム（ａｔｏｍ）一致表現を括弧で括り、どの拡張「マッチ」ステートメントがどの「置換」ステートメントと対になるかを把握することによって正規表現を拡張することにより、このようなシナリオを取り扱うことができる。正規表現マッチングの他の例は、以下に述べる図７に示してある。
【００６０】
[0066]複数のドキュメント／ファイルの間で注釈及び分類プロセスの整合性を維持するために、様々なプロセスを確立することができる。検出／分類、注釈、及び難読化の規則及びポリシーは、通常は、ドキュメントファイルに含まれない。これにより、ポリシーの変更が可能になり、難読化技術のリバースエンジニアリングが防止される。例えば、ユーザーがドキュメントを保存し、その後にそのドキュメントを閉じ、ロードする場合には、ポリシーの問題によって変更され得る機密データの存在を考慮するために必要な、そのドキュメントのどの部分が機密データを含むかについての規則。さらに、注釈フラグは、切り取り、コピー、又は貼り付けなどのクリップボード動作に含めてはならない。ユーザーが１つのドキュメントのコンテンツをコピーして、別のドキュメントに貼り付けようとする場合には、その２つ目のドキュメントには、異なる検出／分類、注釈、及び難読化規則が適用されていることもある。ユーザーが第１のドキュメントのテキストをコピーして、第２のドキュメントに貼り付けようとする場合には、第１のドキュメントの注釈は、再分類されるまで無関係であると考えなければならない。ユーザーが１つのドキュメントのコンテンツを同じドキュメント内にコピーしようとする場合でも、機密コンテンツの任意のカウントがシフトする可能性があり、ドキュメント内で強調する必要があるものが変化する可能性がある。
【００６１】
[0067]図７は、図１〜図３の要素の動作をさらに説明するための流れ図７００を示している。図７は、機密データ難読化プロセス中の正規表現に着目している。図７では、架空の運転免許証の例の正規表現７３０の正規表現、（ｒｅｇｅｘ）、及びそれに一致する文字列を与え、動作７１１に示すように、それぞれの分離可能な文字一致表現（例えば各アトム）を括弧で括ることによって正規表現を少なくとも拡張することにより、完全一致を生じることができる。次いで、動作７１２で、その拡張した正規表現を再適用又は実行して、難読化又はマスキングプロセスを実行することができる。一致するたびに、動作７１３〜７１４で、実際に一致した最も広い文字セット及び最も狭い文字セットを決定する。例えば、一致した文字が「−」であるときには、この文字は、１文字であるので、狭い。一致した文字が全ての英字のセットであるときには、広い。どの領域にあってもよい文字の絶対数が、重要な決定要因である。動作７１５の難読化プロセスでは、一致の幅に応じて文字を置換することができる。一致した文字がばらばらの文字である場合には、難読化プロセスは変更を加えることはできない。一致した文字が広いグループに含まれる文字である場合には、難読化プロセスで、それらの文字を、そのセットに含まれない「安全な」文字で置換する。例えば、全ての文字のセットが「０」になり、全ての数字のセットが「Ｘ」になり、英数字の混合したコンテンツが「？」になり、使い果たすまで使用される文字の予備リストがある。テキスト又はコンテンツに難読化又はマスキングプロセスが行われたら、動作７１６で、その新たなテキスト／コンテンツの文字列が元のｒｅｇｅｘと一致しなくなったときに、そのテキスト又はコンテンツが上手く難読化されたと確認する。
【００６２】
[0068]図８は、図１〜図３の要素の動作をさらに説明するための流れ図８００を示している。図８は、ユーザーインタフェースにおける機密データの注釈付けに使用される拡張しきい値プロセスに着目している。図８の動作は、機密データに注釈をつける拡張ヒステリシス動作を含んでもよく、様々なしきい値又は注釈規則が、エンティティの中でも特に、ポリシー管理者又はユーザーによって設定されてもよい。
【００６３】
[0069]図８は、ドキュメント内に存在する機密データ／コンテンツ項目の量を示す縦軸及び時間を示す横軸を含むグラフ８００を含む。ユーザーインタフェースにおける機密データの注釈の提示又は除去を開始することができる第１のしきい値８２０が、確立されている。やはり機密データの注釈の提示又は除去を開始することができる第２のしきい値８２２が、確立されている。第１のしきい値及び第２のしきい値の挙動を修正するための弾性因子８２１及び回復性８２３を確立することができる。
【００６４】
[0070]ユーザーインタフェースにおいて、機密データに例えばフラグ、マーク、又はハイライトなどによって注釈がつけられると、ユーザーは、その機密コンテンツを編集して、（例えば１つ又は複数の難読化オプションを選択することなどによって）機密コンテンツの問題を解決することがある。しかし、しきい値数の機密コンテンツの問題を解決すると、問題の残りのインスタンスが、整理又は保存位置についての機密コンテンツ規則に全体として違反しているとの文書の注釈を保証するのに十分でなくなることがある。同様に、新たな機密コンテンツが文書に導入されると、ユーザーに機密コンテンツを示す文書の注釈を保証するのに十分なインスタンスであることがある。
【００６５】
[0071]ユーザーによるコンテンツ編集プロセス中には、１つ又は複数のコンテンツ要素についての注釈インジケーターを有効にしたり無効にしたりすることは、少なくとも部分的には、注釈規則に関連するコンテンツ要素の現在の量に基づくことができる。注釈規則は、少なくとも、第１のしきい値量８２０、有効時に第１のしきい値量８２０を第２のしきい値量８２２に修正するための弾性因子８２１、及びいつ第２のしきい値量８２２が第１のしきい値量８２０をオーバーライドするかを示すしきい値回復性又は「持続性」８２３の指示を含んでもよい。アノテーター２１２などの注釈サービスは、コンテンツ編集に関連するターゲットエンティティについて確立される図５に示すポリシー規則５１３及びアクション５１４などの注釈規則を決定又は識別することができる。ターゲットエンティティは、特に、コンテンツ編集を実行するユーザー、コンテンツ編集を実行するユーザーを含む組織、又はユーザーアプリケーションのアプリケーションタイプを含んでもよい。機密コンテンツを含む、又は機密コンテンツを含んでもよいドキュメントのユーザーによる編集中には、アノテーター２１２は、ユーザーアプリケーションへのユーザーインタフェースにコンテンツ編集のために提示される関連するユーザーデータファイル内のユーザーコンテンツを監視する。アノテーター２１２は、本明細書に記載する１つ又は複数の所定のデータスキームに対応するユーザーコンテンツの中で機密コンテンツを含むコンテンツ要素の量を識別する。これらのコンテンツ要素は、セル、オブジェクト、図形、単語、又はその他のデータ構造もしくはデータ階層要素を含むことがある。
【００６６】
[0072]編集中に、コンテンツ要素の量が少なくとも第１のしきい値量を超えたことに基づいて、アノテーター２１２は、ユーザーインタフェースにおいて、ユーザーインタフェース内のユーザーコンテンツに少なくとも第１の機密コンテンツを含むものとしてフラグを設定する少なくとも１つの注釈インジケーターの提示を開始する。図８（「オフ」状態の注釈から開始する）では、第１のしきい値８２０は、ユーザーインタフェースにおける注釈インジケーターの提示をトリガするものとして、移行点８３０に、例示的な量「８」を示している。機密コンテンツを有するコンテンツ要素の量は、例えばユーザーによる編集などによって増加し得、その後、ユーザーがその機密データが存在することを理解し、その機密コンテンツをマスクするために難読化オプションを選択し始めた後で、減少することがある。
【００６７】
[0073]コンテンツ要素の量が、最初に第１のしきい値量８２０を超え、その後に弾性因子８２１が第１のしきい値量８２０に適用されたときに第１のしきい値量８２０を下回ったことに少なくとも基づいて、アノテーター２１２は、少なくとも弾性因子に基づいて第２のしきい値量８２２を確立する。第２のしきい値量８２２がアクティブであるとき（すなわち弾性因子８２１が第１のしきい値量８２０に適用されるとき）には、移行点８３２に示すように量が第２のしきい値量８２２を下回ったときに、第２のしきい値量８２２を使用して、上記の少なくとも１つの注釈インジケーターの提示の除去を開始する。ただし、コンテンツ要素の量が、最初に第１のしきい値量８２０を超え、その後に弾性因子が第１のしきい値量８２０に適用されていないときに第１のしきい値量８２０を下回ったことに少なくとも基づいて、移行点８３１に示すように、上記の少なくとも１つの注釈インジケーターの提示は除去される。
【００６８】
[0074]弾性因子８２１は、０パーセントから１００パーセントの範囲のパーセント、又は別のメトリックを含んでもよい。具体例では、１００個を超えるＳＳＮをドキュメントに含めることは企業のポリシーに違反すると定義する注釈規則が確立されることもある。１００個のＳＳＮを超えるドキュメントの編集中には、第１のしきい値量についての注釈規則により、ドキュメント内の全てのＳＳＮを強調することが促されることもある。ユーザーがＳＳＮを難読化し始めると、残りの未難読化ＳＳＮの量が減少する。弾性因子は、例えば９９個のＳＳＮが未難読化の状態であるときなど、注釈をトリガした第１のしきい値量８２０が満たされなくなった場合でも、ＳＳＮの注釈又は協調を維持することができる。弾性因子が１００であるということは、第１のしきい値量が修正されないことに対応し、弾性因子が０であるということは、全てのＳＳＮが難読化されるまで、注釈が除去されないことに対応する。弾性因子が中間の値の５０であるということは、注釈の提示が最初にトリガされてから５０番目の入力が修正されたら注釈を除去することに対応する。したがって、図８の例では、弾性因子が、注釈がユーザーに対して提示された後で注釈を除去するための第２のしきい値量を確立する。この例では、第２のしきい値量８２２は「２」であり、したがって、移行点８３２に示すように残りの機密コンテンツの問題が「２」未満になったときに、注釈が除去されることになる。
【００６９】
[0075]第２のしきい値量８２２を下回り、次いでコンテンツ編集中に追加の機密コンテンツの問題が生じた場合には、アノテーター２１２は、いつ注釈を再度提示することによってユーザーに通報するかを判断しなければならない。コンテンツ要素の量が最初に第２のしきい値量８２２を下回り、その後、しきい値回復性８２３が第２のしきい値量８２２に適用されたときに第２のしきい値量８２２を超えたことに少なくとも基づいて、アノテーター２１２は、ユーザーインタフェースにおいて、移行点８３３に示すように、ユーザーインタフェース内のユーザーコンテンツに機密コンテンツを含むものとしてフラグを設定するさらに別の注釈の提示を開始する。
【００７０】
[0076]回復性８２３は、第２のしきい値量８２２の「持続性」を含み、オン／オフ又はブール条件によって定義される。無効であるときには、第２のしきい値量８２２は、超えた場合でも、注釈の再提示のためには使用されない。有効であるときには、第２のしきい値量８２２は、超えた場合に、注釈の再提示のために使用される。したがって、コンテンツ要素の量が最初に第２のしきい値量８２２を下回り、その後に回復性が第２のしきい値量８２２に適用されていないときに第２のしきい値量８２２を超えたことに少なくとも基づいて、アノテーター２１２は、コンテンツ要素の量が再度第１のしきい値量８２０を超えるまで、ユーザーインタフェース内のユーザーコンテンツに少なくとも機密コンテンツを含むものとしてフラグを設定する注釈の提示を差し控える。
【００７１】
[0077]次に図９を参照すると、コンピューティングシステム９０１が示してある。コンピューティングシステム９０１は、本明細書に開示する様々な動作アーキテクチャ、シナリオ、及びプロセスを実施することができる任意のシステム又はシステムの集合体を表す。例えば、コンピューティングシステム９０１を使用して、図１のユーザープラットフォーム１１０又はＤＬＰプラットフォーム１２０のいずれかを実施することもできる。コンピューティングシステム９０１の例は、これらに限定されるわけではないが、サーバーコンピューター、クラウドコンピューティングシステム、分散型コンピューティングシステム、ソフトウェア定義ネットワーキングシステム、コンピューター、デスクトップコンピューター、ハイブリッドコンピューター、ラックサーバー、ウェブサーバー、クラウドコンピューティングプラットフォーム、及びデータセンター機器、並びにその他の任意のタイプの物理又は仮想サーバーマシン、並びにその他のコンピューティングシステム及びデバイス、並びにそれらの任意の変形形態又は組合せを含む。コンピューティングシステム９０１の一部分がユーザーデバイス上に実装されるときには、例示的なデバイスは、スマートフォン、ラップトップコンピューター、タブレットコンピューター、デスクトップコンピューター、ゲームシステム、エンターテインメントシステムなどを含む。
【００７２】
[0078]コンピューティングシステム９０１は、単一の装置、システム、もしくはデバイスとして実装されることも、又は複数の装置、システム、もしくはデバイスとして分散して実装されることもある。コンピューティングシステム９０１は、これらに限定されるわけではないが、処理システム９０２と、ストレージシステム９０３と、ソフトウェア９０５と、通信インタフェースシステム９０７と、ユーザーインタフェースシステム９０８とを含む。処理システム９０２は、ストレージシステム９０３、通信インタフェースシステム９０７、及びユーザーインタフェースシステム９０８に動作可能に結合される。
【００７３】
[0079]処理システム９０２は、ストレージシステム９０３からソフトウェア９０５をロードして、実行する。ソフトウェア９０５は、アプリケーションＤＬＰ環境９０６、及び／又は共用ＤＬＰ環境９０９を含み、これらは、前述の図面を参照して説明したプロセスを表す。処理システム９０２によって実行されて、ユーザーコンテンツを処理して、機密コンテンツの識別、注釈、及び難読化を行うときには、ソフトウェア９０５は、少なくとも前述の実施態様において説明した様々なプロセス、動作シナリオ、及び環境について本明細書に記載するように動作するように処理システム９０２に指示する。コンピューティングシステム９０１は、簡潔にするためにここでは説明しない追加のデバイス、フィーチャー、又は機能を任意選択で含むこともある。
【００７４】
[0080]さらに図９を参照して、処理システム９０２は、ストレージシステム９０３からソフトウェア９０５を取得して実行するマイクロプロセッサ及び処理回路を含むことがある。処理システム９０２は、単一の処理デバイス内に実装されることもあるが、協働してプログラム命令を実行する複数の処理デバイス又はサブシステムの間に分散していることもある。処理システム９０２の例は、汎用中央処理装置、特定用途向けプロセッサ、及び論理デバイス、並びにその他の任意のタイプの処理デバイス、それらの組合せ又は変形形態を含む。
【００７５】
[0081]ストレージシステム９０３は、処理システム９０２が読み取ることができる、ソフトウェア９０５を記憶することができる任意のコンピューター可読ストレージ媒体を含んでもよい。ストレージシステム９０３は、コンピューター可読命令、データ構造、プログラムモジュール、又はその他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性媒体及び不揮発性媒体、リムーバブル媒体及び非リムーバブル媒体を含んでもよい。ストレージ媒体の例は、ランダムアクセスメモリ、読取り専用メモリ、磁気ディスク、抵抗変化型メモリ、光ディスク、フラッシュメモリ、仮想メモリ及び非仮想メモリ、磁気カセット、磁気テープ、磁気ディスクストレージデバイスもしくはその他の磁気ストレージデバイス、又はその他の任意の適当なストレージ媒体を含む。コンピューター可読ストレージ媒体が伝搬信号であることはない。
【００７６】
[0082]コンピューター可読ストレージ媒体の他に、いくつかの実施態様では、ストレージシステム９０３は、ソフトウェア９０５の少なくとも一部を内部で、又は外部と通信できるようにする、コンピューター可読通信媒体を含むこともある。ストレージシステム９０３は、単一のストレージデバイスとして実装されることもあるが、互いに同じ位置にある、又は分散している、複数のストレージデバイス又はサブシステムにまたがって実装されることもある。ストレージシステム９０３は、処理システム９０２、又は場合によっては他のシステムと通信することができる、制御装置などの追加の要素を含むこともある。
【００７７】
[0083]ソフトウェア９０５は、プログラム命令に実装することができ、機能の中でも特に、処理システム９０２によって実行されたときに、本明細書に例示する様々な動作シナリオ、シーケンス、及びプロセスに関連して記載するように動作するように処理システム９０２に指示することができる。例えば、ソフトウェア９０５は、本明細書に記載するデータセット処理環境及びプラットフォームを実施するプログラム命令を含むこともある。
【００７８】
[0084]特に、プログラム命令は、協働するなどして相互作用して、本明細書に記載する様々なプロセス及び動作シナリオを実行する、様々なコンポーネント又はモジュールを含むことがある。これらの様々なコンポーネント又はモジュールは、コンパイル済みもしくは解釈済み命令で、又はその他の何らかの命令の変形形態もしくは組合せで実施することができる。これらの様々なコンポーネント又はモジュールは、同期もしくは非同期で、連続的もしくは並列的に、単一スレッド環境もしくはマルチスレッド環境で、又はその他の任意の適当な実行パラダイムで、それらの変形形態もしくは組合せで、実行することができる。ソフトウェア９０５は、アプリケーションＤＬＰ環境９０６又は共用ＤＬＰ環境９０９に加えて、オペレーティングシステムソフトウェア又はその他のアプリケーションソフトウェアなどの追加のプロセス、プログラム、又はコンポーネントを含むことも、あるいはアプリケーションＤＬＰ環境９０６又は共用ＤＬＰ環境９０９を含む、オペレーティングシステムソフトウェア又はその他のアプリケーションソフトウェアなどの追加のプロセス、プログラム、又はコンポーネントを含むこともある。ソフトウェア９０５は、ファームウェア、又は処理システム９０２によって実行可能なその他の何らかの形態の機械可読処理命令を含むこともある。
【００７９】
[0085]一般に、ソフトウェア９０５は、処理システム９０２にロードされて実行されたときに、（コンピューティングシステム９０１が表す）適当な装置、システム、又はデバイスの全体を、汎用コンピューティングシステムから、機密コンテンツの識別、注釈、及び難読化を行うためのユーザーコンテンツの拡張処理を容易にするようにカスタマイズされた特殊目的コンピューティングシステムに変換することがある。実際に、ストレージシステム９０３上でソフトウェア９０５を符号化することにより、ストレージシステム９０３の物理構造を変換することができる。物理構造が具体的にどのように変換されるかは、本明細書の様々な実施形態の様々な要因によって決まってもよい。このような要因の例は、これらに限定されるわけではないが、ストレージシステム９０３のストレージ媒体を実装するために使用される技術、及びコンピューターストレージ媒体が１次ストレージとして特徴付けられるか又は２次ストレージとして特徴付けられるか、並びにその他の要因を含んでもよい。
【００８０】
[0086]例えば、コンピューター可読ストレージ媒体が半導体型メモリとして実装される場合には、ソフトウェア９０５は、プログラム命令がその内部で符号化されたときに、例えばトランジスタ、コンデンサ、又はその他の半導体メモリを構成するディスクリート回路要素の状態を変換することによって、半導体メモリの物理的状態を変換することがある。磁気媒体又は光媒体でも、同様の変換が起こることがある。本明細書の範囲を逸脱することなく、その他の物理的媒体の変換も可能であり、上記の例は、本明細書の説明を容易にするために与えたものに過ぎない。
【００８１】
[0087]アプリケーションＤＬＰ環境９０６又は共用ＤＬＰ環境９０９は、それぞれ、ＯＳ９２１／９３１及びアプリケーション９２２／９３２など、１つ又は複数のソフトウェア要素を含む。これらの要素は、ユーザー、データソース、データサービス、又はその他の要素が対話するコンピューティングシステム９０１の様々な部分を記述することができる。例えば、ＯＳ９２１／９３１は、アプリケーション９２２／９３２がそこで実行されて、機能の中でも特に機密コンテンツの識別、注釈、及び難読化を行うようにユーザーコンテンツを処理することを可能にするソフトウェアプラットフォームを提供することができる。
【００８２】
[0088]１例では、ＤＬＰサービス９３２は、コンテンツアポーショナー９２４と、アノテーター９２５と、マッパー９２６と、オブファスケーター９２７とを含む。コンテンツアポーショナー９２４は、分類サービスによる処理のために、構造化又は階層型ユーザーコンテンツ要素をフラット化して線形チャンクにする。アノテーター９２５は、ユーザーインタフェース内で機密データ又はコンテンツをグラフィックで強調して、しきい値量の機密データの存在をユーザーに通報できるようにする。マッパー９２６は、例えば分類サービスからオフセット／長さ／ＩＤのみが提供されてドキュメントの様々な構造型又は階層型要素において機密データを位置特定するときなどに、機密データの注釈付けのためにドキュメントから詳細な位置を導出することができる。オブファスケーター９２７は、機密データとして識別されたユーザーコンテンツのマスキング／置換を行うための難読化オプションを提示する。オブファスケーター９２７は、また、難読化オプションがユーザーによって選択されたのに応答して、機密コンテンツを置換する。
【００８３】
[0089]別の例では、ＤＬＰサービス９３３は、分類サービス９３４と、トラッカー９３５と、ポリシー／規則モジュール９３６と、ｒｅｇｅｘサービス９３７とを含む。分類サービス９３４は、データ又はコンテンツの線形チャンクを解析して、機密データを識別する。トラッカー９３５は、分類サービス９３４によって発見された機密データ項目の数又は量を保持し、ドキュメント内での注釈付けのために、機密データのオフセット及び長さをマッパーに対して示す（マッパー９２６及びアノテーター９２５など）。ポリシー／規則モジュール９３６は、注釈、分類、検出、難読化、又はその他のユーザーコンテンツに対する動作のための様々なポリシー及び規則を受け取り、保持することができる。ｒｅｇｅｘサービス９３７は、データパターン又はデータスキームを使用して機密データを識別し、一致したコンテンツのテキストを難読化したコンテンツで置換する、正規表現マッチングを使用した１つの例示的な分類技術を含む。
【００８４】
[0090]通信インタフェースシステム９０７は、通信ネットワーク（図示せず）を介した他のコンピューティングシステム（図示せず）との通信を可能にする通信接続及びデバイスを含むことがある。協働してシステム間通信を可能にする接続及びデバイスの例は、ネットワークインタフェースカード、アンテナ、電力増幅器、ＲＦ回路、トランシーバ、及びその他の通信回路を含んでもよい。これらの接続及びデバイスは、金属、ガラス、空気、又はその他の任意の適当な通信媒体などの通信媒体を介して通信して、他のコンピューティングシステム又はシステムのネットワークと通信を交換することができる。通信インタフェースシステム９０７の物理要素又は論理要素は、テレメトリソースからデータセットを受信し、データセット及び制御情報を１つ又は複数の分散したデータストレージ要素間で転送し、ユーザーとインタフェースをとって、フィーチャーの中でも特に、データの選択を受け取り、視覚化データセットを提供することができる。
【００８５】
[0091]ユーザーインタフェースシステム９０８は、任意選択であり、ユーザーからの入力を受け取るためのキーボード、マウス、音声入力デバイス、タッチ入力デバイスを含むことがある。ディスプレイ、スピーカー、ウェブインタフェース、端末インタフェース、及びその他のタイプの出力デバイスなどの出力デバイスも、ユーザーインタフェースシステム９０８に含まれることがある。ユーザーインタフェースシステム９０８は、通信インタフェースシステム９０７などのネットワークインタフェースを介して、出力を提供し、かつ入力を受け取ることができる。ネットワークの例では、ユーザーインタフェースシステム９０８は、表示データ又はグラフィックデータを、１つ又は複数のネットワークインタフェースを介して結合された表示システム又はコンピューティングシステムによって遠隔表示するために、パケット化することもある。ユーザーインタフェースシステム９０８の物理又は論理要素は、動作の中でも特に、ユーザー又はポリシー担当者から分類の規則又はポリシーを受け取り、ユーザーからのデータ編集アクティビティを受け取り、機密コンテンツの注釈をユーザーに提示し、難読化オプションをユーザーに提供し、難読化したユーザーコンテンツをユーザーに提示することができる。ユーザーインタフェースシステム９０８は、上述した様々なユーザー入力デバイス及び出力デバイスをサポートするために処理システム９０２によって実行可能な関連するユーザーインタフェースソフトウェアを含むこともある。ユーザーインタフェースソフトウェア及びユーザーインタフェースデバイスは、別個に、又は互いに、また他のハードウェア要素及びソフトウェア要素と協働して、グラフィカルユーザーインタフェース、ナチュラルユーザーインタフェース、又はその他の任意のタイプのユーザーインタフェースをサポートすることができる。
【００８６】
[0092]コンピューティングシステム９０１と他のコンピューティングシステム（図示せず）の間の通信は、１つ又は複数の通信ネットワークを介して、様々な通信プロトコル、プロトコルの組合せ、又はそれらの変形形態に従って生じ得る。例としては、イントラネット、種々のインターネット（ｉｎｔｅｒｎｅｔｓ）、インターネット（ｔｈｅ  Ｉｎｔｅｒｎｅｔ）、ローカルエリアネットワーク、広域ネットワーク、ワイヤレスネットワーク、有線ネットワーク、仮想ネットワーク、ソフトウェア定義ネットワーク、データセンターバス、コンピューティングバックプレーン、又はその他の任意のタイプのネットワーク、ネットワークの組合せ、もしくはそれらの変形形態が挙げられる。前述の通信ネットワーク及びプロトコルは、周知であり、ここでは詳細に説明する必要はない。しかし、使用され得るいくつかの通信プロトコルとしては、これらに限定されるわけではないが、インターネットプロトコル（ＩＰ、ＩＰｖ４、ＩＰｖ６など）、伝送制御プロトコル（ＴＣＰ）、及びユーザーデータグラムプロトコル（ＵＤＰ）、並びにその他の任意の適当な通信プロトコル、それらの変形又は組合せが挙げられる。
【００８７】
[0093]特定の発明性のある態様は、以下にその様々な例を挙げる上記の開示から理解することができる。
[0094]例１。ユーザーアプリケーションを動作させる方法であって、少なくとも第１のしきい値量、有効時に第１のしきい値量を第２のしきい値量に修正するための弾性因子、及びいつ第２のしきい値量が第１のしきい値量をオーバーライドするかを示すしきい値回復性を示す指示を識別するステップと、ユーザーデータファイル内のユーザーコンテンツのコンテンツ編集プロセスを監視して、ユーザーコンテンツ内の、１つ又は複数の所定のデータスキームに対応する機密データを含むコンテンツ要素の量を識別するステップと、を含む方法。この方法は、コンテンツ編集プロセス中に、第１のしきい値量、有効時に第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示に関連するコンテンツ要素の現在の量に少なくとも部分的に基づいて、コンテンツ要素のうちの１つ又は複数についての注釈インジケーターの提示を有効及び無効にするステップを含む。
【００８８】
[0095]例２。注釈インジケーターが、ユーザーデータファイルに適用される、ユーザーアプリケーションへのユーザーインタフェースに提示されるグローバルインジケーター、及び機密データを含む個々のコンテンツ要素の近傍に位置決めされる、ユーザーインタフェースに提示される個別インジケーターのうちの１つ又は複数を含む、例１の方法。
【００８９】
[0096]例３。コンテンツ編集プロセス中に、コンテンツ要素の現在の量が第１のしきい値量を超えたことに少なくとも基づいて、ユーザーインタフェースにおいて、ユーザーインタフェース内のユーザーコンテンツに少なくとも第１の機密データを含むものとしてフラグを設定する少なくとも１つの注釈インジケーターの提示を開始するステップをさらに含む、例１の方法。この方法は、コンテンツ編集プロセス中に、コンテンツ要素の現在の量が最初に第１のしきい値量を超え、その後、弾性因子が第１のしきい値量に適用されたときに第１のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示を除去するための第２のしきい値量を弾性因子に少なくとも基づいて確立するステップをさらに含む。この方法は、コンテンツ編集プロセス中に、弾性因子が第１のしきい値量に適用されたときにコンテンツ要素の現在の量が第２のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示の除去を開始するステップをさらに含む。この方法は、コンテンツ編集プロセス中に、コンテンツ要素の現在の量が最初に第２のしきい値量を下回り、その後、しきい値回復性が第２のしきい値量に適用されたときに第２のしきい値量を超えたことに少なくとも基づいて、ユーザーインタフェースにおいて、ユーザーインタフェース内のユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する少なくとも１つの別の注釈インジケーターの提示を開始するステップをさらに含む。
【００９０】
[0097]例４。コンテンツ編集プロセス中に、コンテンツ要素の現在の量が最初に第１のしきい値量を超え、その後、弾性因子が第１のしきい値量に適用されないときに第１のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示を除去するステップをさらに含む、例３の方法。この方法は、コンテンツ編集プロセス中に、コンテンツ要素の現在の量が最初に第２のしきい値量を下回り、その後、回復性が第２のしきい値量に適用されないときに第２のしきい値量を超えたことに少なくとも基づいて、コンテンツ要素の量が第１のしきい値量を超えるまで、ユーザーインタフェース内のユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する上記少なくとも１つの別の注釈インジケーターの提示を差し控えるステップをさらに含む。
【００９１】
[0098]例５。ユーザーアプリケーションのデータプライバシー注釈フレームワークであって、１つ又は複数のコンピューター可読ストレージ媒体と、１つ又は複数のコンピューター可読ストレージ媒体に動作可能に結合された処理システムと、１つ又は複数のコンピューター可読ストレージ媒体に記憶されたプログラム命令と、を含む、データプライバシー注釈フレームワーク。これらのプログラム命令は、処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、第１のしきい値量、第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示のうちの１つ又は複数を識別し、ユーザーアプリケーションへのユーザーインタフェースにコンテンツ編集のために提示されるユーザーデータファイル内のユーザーコンテンツを監視して、ユーザーコンテンツ内の、１つ又は複数の所定のデータスキームに対応する機密データを含むコンテンツ要素の量を識別するように処理システムに指示する。これらのプログラム命令は、さらに、コンテンツ編集中に、コンテンツ要素の現在の量が第１のしきい値量を超えたことに少なくとも基づいて、ユーザーインタフェースにおいて、ユーザーインタフェース内のユーザーコンテンツに少なくとも第１の機密データを含むものとしてフラグを設定する少なくとも１つの注釈インジケーターの提示を開始するように処理システムに指示する。これらのプログラム命令は、さらに、コンテンツ編集中に、コンテンツ要素の現在の量が最初に第１のしきい値量を超え、その後、弾性因子が第１のしきい値量に適用されたときに第１のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示を除去するための第２のしきい値量を弾性因子に少なくとも基づいて確立するように処理システムに指示する。これらのプログラム命令は、さらに、コンテンツ編集中に、コンテンツ要素の現在の量が最初に第２のしきい値量を下回り、その後、しきい値回復性が第２のしきい値量に適用されたときに第２のしきい値量を超えたことに少なくとも基づいて、ユーザーインタフェースにおいて、ユーザーインタフェース内のユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する少なくとも１つの別の注釈インジケーターの提示を開始するように処理システムに指示する。
【００９２】
[0099]例６。処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、コンテンツ編集中に、弾性因子が第１のしきい値量に適用されたときにコンテンツ要素の量が第２のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示の除去を開始するように処理システムに指示する別のプログラム命令を含む、例５のデータプライバシー注釈フレームワーク。
【００９３】
[0100]例７。処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、コンテンツ編集中に、コンテンツ要素の量が最初に第１のしきい値量を超え、その後、弾性因子が第１のしきい値量に適用されないときに第１のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示を除去するように処理システムに指示する別のプログラム命令を含む、例５のデータプライバシー注釈フレームワーク。
【００９４】
[0101]例８。処理システムによって読み取られて実行されたことに少なくとも基づいて、少なくとも、コンテンツ編集中に、コンテンツ要素の量が最初に第２のしきい値量を下回り、その後、回復性が第２のしきい値量に適用されないときに第２のしきい値量を超えたことに少なくとも基づいて、コンテンツ要素の量が第１のしきい値量を超えるまで、ユーザーインタフェース内のユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する上記少なくとも１つの別の注釈インジケーターの提示を差し控えるように処理システムに指示する別のプログラム命令を含む、例５のデータプライバシー注釈フレームワーク。
【００９５】
[0102]例９。第１のしきい値量、第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示のうちの１つ又は複数を識別することが、コンテンツ編集に関連するターゲットエンティティについて確立された注釈ポリシーを決定するステップを含み、注釈ポリシーが、第１のしきい値量、第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示のうちの１つ又は複数を含む、例５のデータプライバシー注釈フレームワーク。
【００９６】
[0103]例１０。ターゲットエンティティが、コンテンツ編集を実行するユーザー、コンテンツ編集を実行するユーザーを含む組織、及びユーザーアプリケーションのアプリケーションタイプのうちの少なくとも１つを含む、例９のデータプライバシー注釈フレームワーク。
【００９７】
[0104]例１１。上記少なくとも１つの注釈インジケーター、及び上記少なくとも１つの別の注釈インジケーターがそれぞれ、ユーザーデータファイルに適用される、ユーザーインタフェースに提示されるグローバルインジケーター、及び機密データを含む個々のコンテンツ要素の近傍に位置決めされる、ユーザーインタフェースに提示される個別インジケーターのうちの１つ又は複数を含む、例５のデータプライバシー注釈フレームワーク。
【００９８】
[0105]例１２。１つ又は複数の所定のデータスキームが、分類サービスがユーザーコンテンツを解析し、コンテンツ要素のうち、１つもしくは複数の所定のコンテンツパターン又は１つもしくは複数の所定のコンテンツタイプを示すデータを含むコンテンツ要素を識別するために使用する１つ又は複数の表現によって定義される、例５のデータプライバシー注釈フレームワーク。
【００９９】
[0106]例１３。ユーザーアプリケーションのデータプライバシー注釈フレームワークを提供する方法であって、第１のしきい値量、第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示のうちの１つ又は複数を識別するステップと、ユーザーアプリケーションへのユーザーインタフェースにコンテンツ編集のために提示されるユーザーデータファイル内のユーザーコンテンツを監視して、ユーザーコンテンツ内の、１つ又は複数の所定のデータスキームに対応する機密データを含むコンテンツ要素の量を識別するステップと、を含む、方法。この方法は、コンテンツ編集プロセス中に、コンテンツ要素の量が第１のしきい値量を超えたことに少なくとも基づいて、ユーザーインタフェースにおいて、ユーザーインタフェース内のユーザーコンテンツに少なくとも第１の機密データを含むものとしてフラグを設定する少なくとも１つの注釈インジケーターの提示を開始するステップを含む。この方法は、コンテンツ編集プロセス中に、コンテンツ要素の量が最初に第１のしきい値量を超え、その後、弾性因子が第１のしきい値量に適用されたときに第１のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示を除去するための第２のしきい値量を弾性因子に少なくとも基づいて確立するステップを含む。この方法は、コンテンツ編集プロセス中に、コンテンツ要素の量が最初に第２のしきい値量を下回り、その後、しきい値回復性が第２のしきい値量に適用されたときに第２のしきい値量を超えたことに少なくとも基づいて、ユーザーインタフェースにおいて、ユーザーインタフェース内のユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する少なくとも１つの別の注釈インジケーターの提示を開始するステップを含む。
【０１００】
[0107]例１４。コンテンツ編集中に、弾性因子が第１のしきい値量に適用されたときにコンテンツ要素の量が第２のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示の除去を開始するステップをさらに含む、例１３の方法。
【０１０１】
[0108]例１５。コンテンツ編集中に、コンテンツ要素の量が最初に第１のしきい値量を超え、その後、弾性因子が第１のしきい値量に適用されないときに第１のしきい値量を下回ったことに少なくとも基づいて、上記少なくとも１つの注釈インジケーターの提示を除去するステップをさらに含む、例１３の方法。
【０１０２】
[0109]例１６。コンテンツ編集中に、コンテンツ要素の量が最初に第２のしきい値量を下回り、その後、回復性が第２のしきい値量に適用されないときに第２のしきい値量を超えたことに少なくとも基づいて、コンテンツ要素の量が第１のしきい値量を超えるまで、ユーザーインタフェース内のユーザーコンテンツに少なくとも第２の機密データを含むものとしてフラグを設定する上記少なくとも１つの別の注釈インジケーターの提示を差し控えるステップをさらに含む、例１３の方法。
【０１０３】
[0110]例１７。第１のしきい値量、第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示のうちの１つ又は複数を識別するステップが、コンテンツ編集に関連するターゲットエンティティについて確立された注釈ポリシーを決定するステップを含み、注釈ポリシーが、第１のしきい値量、第１のしきい値量についての弾性因子、及びしきい値回復性を示す指示のうちの１つ又は複数を含む、例１３の方法。
【０１０４】
[0111]例１８。ターゲットエンティティが、コンテンツ編集を実行するユーザー、コンテンツ編集を実行するユーザーを含む組織、及びユーザーアプリケーションのアプリケーションタイプのうちの少なくとも１つを含む、例１７の方法。
【０１０５】
[0112]例１９。上記少なくとも１つの注釈インジケーター、及び上記少なくとも１つの別の注釈インジケーターがそれぞれ、ユーザーデータファイルに適用される、ユーザーインタフェースに提示されるグローバルインジケーター、及び機密データを含む個々のコンテンツ要素の近傍に位置決めされる、ユーザーインタフェースに提示される個別インジケーターのうちの１つ又は複数を含む、例１３の方法。
【０１０６】
[0113]例２０。１つ又は複数の所定のデータスキームが、分類サービスがユーザーコンテンツを解析し、コンテンツ要素のうち、１つもしくは複数の所定のコンテンツパターン又は１つもしくは複数の所定のコンテンツタイプを示すデータを含むコンテンツ要素を識別するために使用する１つ又は複数の表現によって定義される、例１３の方法。
【０１０７】
[0114]図面に与えた機能ブロック図、動作シナリオ及びシーケンス、並びに流れ図は、本開示の新規の態様を実行するための例示的なシステム、環境、及び方法を表すものである。説明を簡潔にするために、本明細書に含まれる方法は、機能図、動作シナリオもしくはシーケンス、又は流れ図の形態をとることがあり、一連のアクションとして説明することもあるが、これらの方法は、そのアクションの順序によって限定されず、これらの方法によれば、一部のアクションは、本明細書に図示して説明した順序とは異なる順序で、及び／又は他のアクションと同時に起こることもあることを理解及び認識されたい。例えば、ある方法は、別法として、例えば状態図などの相互に関係する一連の状態又は事象として表現することもできることを、当業者なら理解及び認識するであろう。さらに、１つの方法に示す全てのアクションが、新規の実施態様に必要であるとは限らない。
【０１０８】
[0115]本明細書の説明及び図面は、どのようにすれば最良の選択を行って使用することができるかを当業者に教示するために具体的な実施態様を示すものである。発明性のある原理を教示するために、いくつかの従来の態様は簡略化又は省略してある。当業者なら、本開示の範囲に含まれる、これらの実施態様の変形形態を理解するであろう。また、当業者なら、上述した特徴を様々に組み合わせて、複数の実施態様を構成することができることに認識するであろう。結果として、本発明は、上述の具体的な実施態様に限定されず、特許請求の範囲及びその均等物によってのみ限定される。
【図１】
2020516986.tif 000003
【図２】
2020516986.tif 000004
【図３】
2020516986.tif 000005
【図４】
2020516986.tif 000006
【図５】
2020516986.tif 000007
【図６】
2020516986.tif 000008
【図７】
2020516986.tif 000009
【図８】
2020516986.tif 000010
【図９】
2020516986.tif 000011
【国際調査報告】
2020516986.tif 000012
2020516986.tif 000013
2020516986.tif 000014