(57)【要約】  予め選択されたデータを含むメッセージを阻止するための方法及び装置が説明される。一実施形態において、この方法は、ネットワークを経て受信者へ送信されるメッセージが予め選択されたデータを含むことを決定するステップを備えている。予め選択されたデータは、ソースデータのテーブル構造体内の少なくとも１つのランダムな行からの情報を含む。この方法は、更に、受信者への予め選択されたデータの無断送信を防止するステップも備えている。【選択図】図８
2008537195.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを経て受信者へ送信するためのメッセージがソースデータのテーブル構造体内の少なくとも１つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記受信者への前記予め選択されたデータの無断送信を防止するステップと、
を備えた方法。
【請求項２】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、前記受信者へのメッセージの送信を阻止することを含む、請求項１に記載の方法。
【請求項３】
送信者及び前記受信者の少なくとも一方に前記阻止を通知するステップを更に備えた、請求項２に記載の方法。
【請求項４】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、検疫サーバー及びアーカイブサーバーの少なくとも一方へメッセージをリルートすることを含む、請求項１に記載の方法。
【請求項５】
前記メッセージが許可されたビジネスプロセスの一部分であるという指示を前記検疫サーバーから受け取るステップと、
前記メッセージを前記受信者へ送信するステップと、
を更に備えた請求項４に記載の方法。
【請求項６】
前記メッセージが許可されたビジネスプロセスの一部分ではないという指示を前記検疫サーバーから受け取るステップと、
前記受信者への前記メッセージの送信を阻止するステップと、
を更に備えた請求項４に記載の方法。
【請求項７】
前記検疫サーバーは、特定の時間周期中、又は指定の時間まで、前記メッセージを保持する、請求項４に記載の方法。
【請求項８】
前記メッセージのコピーを代替サイトへ送信するステップを更に備えた、請求項１に記載の方法。
【請求項９】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、メッセージの送信を終了する付加的なネットワークパケットを通信ストリームに注入することを含む、請求項１に記載の方法。
【請求項１０】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、少なくとも１つのより高いレベルのチャンネルセキュリティを伴うネットワークセグメントを通して前記メッセージをリルートすることを含む、請求項１に記載の方法。
【請求項１１】
前記メッセージを前記予め選択されたデータについてサーチする必要があることを前記メッセージのヘッダが指示していることを決定するステップを更に備えた、請求項１に記載の方法。
【請求項１２】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、メッセージアクションポリシーの１つ以上のルールが満足される場合にメッセージに適用されるべき少なくとも１つのアクションを指定するメッセージアクションポリシーに基づいて前記メッセージに少なくとも１つのアクションを適用することを含む、請求項１に記載の方法。
【請求項１３】
前記メッセージアクションポリシーの１つ以上のルールは、
前記予め選択されたデータに関する１つ以上のルール、
少なくとも１つのアクションの特性に関する１つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項１２に記載の方法。
【請求項１４】
前記メッセージアクションポリシーは、前記１つ以上のルールに対する例外を識別する例外条項を含む、請求項１２に記載の方法。
【請求項１５】
前記例外条項は、前記予め選択されたデータへアクセスすることが許可された送信者及び受信者の少なくとも一方を宣言する、請求項１４に記載の方法。
【請求項１６】
前記例外条項は、メッセージをマーケッティング資料として識別するヘッダを含むメッセージを、前記予め選択されたデータをサーチせずに、受信者へ送信することを要求する、請求項１４に記載の方法。
【請求項１７】
前記メッセージアクションポリシーは、少なくとも１つのアクションをトリガーするための付加的な条件を指定し、この付加的な条件は、送信者及び受信者の少なくとも一方に関連した経歴データに関する、請求項１２に記載の方法。
【請求項１８】
前記メッセージは、アウトバウンドメッセージ、インバウンドメッセージ及び内部メッセージのいずれか１つである、請求項１に記載の方法。
【請求項１９】
前記メッセージは、ｅメールメッセージ、インスタントメッセージング（ＩＭ）メッセージ、ｔｅｌｎｅｔセッション中のメッセージ交換、ファイル転送プロトコル（ＦＴＰ）セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル（ＨＴＴＰ）セッション中に交換されるメッセージ、簡単なオブジェクトアクセスプロトコル（ＳＯＡＰ）セッション中に交換されるメッセージ、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）セッション中に交換されるメッセージ、ユーザデータグラムプロトコル（ＵＤＰ）セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び８０１．１１セッション中に交換されるメッセージの１つである、請求項１に記載の方法。
【請求項２０】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも１つのランダムな行からの予め選択されたデータを含むことを決定する手段と、
前記受信者への前記予め選択されたデータの無断送信を防止する手段と、
を備えた装置。
【請求項２１】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも１つのランダムな行からの予め選択されたデータを含むことを決定するための違反検出器と、
メッセージをインターセプトし、前記受信者への前記予め選択されたデータの無断送信を防止するためのメッセージインターセプタと、
を備えたシステム。
【請求項２２】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも１つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記受信者への前記予め選択されたデータの無断送信を防止するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【請求項２３】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも１つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するステップと、
前記受信者へ前記変更されたメッセージを送信するステップと、
を備えた方法。
【請求項２４】
前記メッセージは、ｅメールメッセージ、インスタントメッセージング（ＩＭ）メッセージ、ｔｅｌｎｅｔセッション中のメッセージ交換、ファイル転送プロトコル（ＦＴＰ）セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル（ＨＴＴＰ）セッション中に交換されるメッセージ、単一オブジェクトアクセスプロトコル（ＳＯＡＰ）セッション中に交換されるメッセージ、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）セッション中に交換されるメッセージ、ユーザデータグラムプロトコル（ＵＤＰ）セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び８０１．１１セッション中に交換されるメッセージの１つである、請求項２３に記載の方法。
【請求項２５】
メッセージを変更する前記ステップは、受信者に警告するために前記メッセージの本体に前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項２３に記載の方法。
【請求項２６】
前記メッセージの本体に前記予め選択されたデータの存在を表わす情報を追加することは、
前記メッセージから前記予め選択されたデータを抽出し、
前記抽出された予め選択されたデータをアタッチメントとして再構成し、そして
前記アタッチメントが繊細なデータを含むことを示す情報を前記メッセージ本体に追加する、
ことを含む請求項２５に記載の方法。
【請求項２７】
メッセージを変更する前記ステップは、受信者に警告するために前記メッセージの主題ラインに前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項２３に記載の方法。
【請求項２８】
メッセージを変更する前記ステップは、前記メッセージのその後の処理の役目を果たすシステムに通知するために前記メッセージのヘッダに前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項２３に記載の方法。
【請求項２９】
前記メッセージのヘッダに前記予め選択されたデータの存在を表わす情報を追加することは、メッセージヘッダフラグを変更することを含む、請求項２８に記載の方法。
【請求項３０】
前記メッセージを変更することは、
前記予め選択されたデータの少なくとも一部分を隠す必要があることを決定し、
前記予め選択されたデータを編集し、そして
前記編集された予め選択されたデータを伴うメッセージを前記受信者へ送信する、
ことを含む請求項２３に記載の方法。
【請求項３１】
前記予め選択されたデータを編集することは、前記予め選択されたデータを含むアタッチメントを前記メッセージから除去することを含む、請求項３０に記載の方法。
【請求項３２】
前記メッセージを変更することは、
前記予め選択されたデータを含むメッセージを記憶し、
前記記憶されたメッセージを指す安全なリンクを含む代用メッセージを生成し、そして
前記代用メッセージを前記受信者に送信する、
ことを含む請求項２３に記載の方法。
【請求項３３】
前記メッセージが前記予め選択されたデータを含まないことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの欠落を表わす情報を前記メッセージに追加するステップと、
を更に備えた請求項２３に記載の方法。
【請求項３４】
前記メッセージは、メッセージアクションポリシーの１つ以上のルールが満足される場合にメッセージに適用されるべき少なくとも１つの変更を識別するメッセージアクションポリシーに基づいて変更される、請求項２３に記載の方法。
【請求項３５】
前記メッセージアクションポリシーの１つ以上のルールは、
前記予め選択されたデータに関する１つ以上のルール、
前記少なくとも１つの変更の特性に関する１つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項３４に記載の方法。
【請求項３６】
前記メッセージアクションポリシーは、前記１つ以上のルールに対する例外を識別する例外条項を含む、請求項３４に記載の方法。
【請求項３７】
前記例外条項は、前記予め選択されたデータへアクセスすることが許可された送信者及び受信者の少なくとも一方を宣言する、請求項３６に記載の方法。
【請求項３８】
前記例外条項は、メッセージをマーケッティング資料として識別するヘッダを含むメッセージを、前記予め選択されたデータをサーチせずに、受信者へ送信することを要求する、請求項３６に記載の方法。
【請求項３９】
前記メッセージアクションポリシーは、少なくとも１つのアクションを適用するための付加的な条件を指定し、この付加的な条件は、送信者及び受信者の少なくとも一方に関連した経歴データに関する、請求項３４に記載の方法。
【請求項４０】
ネットワークを経て受信者へ送信されるメッセージが繊細なデータを含むことを決定するステップと、
前記繊細なデータを編集することにより前記メッセージを変更するステップと、
前記変更されたメッセージを前記受信者へ送信するステップと、
を備えた方法。
【請求項４１】
前記メッセージは、ｅメールメッセージ、インスタントメッセージング（ＩＭ）メッセージ、ｔｅｌｎｅｔセッション中のメッセージ交換、ファイル転送プロトコル（ＦＴＰ）セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル（ＨＴＴＰ）セッション中に交換されるメッセージ、単一オブジェクトアクセスプロトコル（ＳＯＡＰ）セッション中に交換されるメッセージ、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）セッション中に交換されるメッセージ、ユーザデータグラムプロトコル（ＵＤＰ）セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び８０１．１１セッション中に交換されるメッセージの１つである、請求項４０に記載の方法。
【請求項４２】
前記メッセージのコピーを、編集の前に、送信者のスーパーバイザー及びアーカイブサーバーのいずれか一方に送信するステップを更に備えた、請求項４０に記載の方法。
【請求項４３】
予め選択されたデータを編集することは、予め選択されたデータを含むアタッチメントを前記メッセージから除去することを含む、請求項４０に記載の方法。
【請求項４４】
前記予め選択されたデータは、メッセージアクションポリシーの１つ以上のルールが満足される場合に編集を要求するメッセージアクションポリシーに基づいて編集される、請求項４０に記載の方法。
【請求項４５】
前記メッセージアクションポリシーの１つ以上のルールは、
前記予め選択されたデータに関する１つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項４４に記載の方法。
【請求項４６】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも１つのランダムな行からの予め選択されたデータを含むことを決定する手段と、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更する手段と、
前記変更されたメッセージを前記受信者へ送信する手段と、
を備えた装置。
【請求項４７】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも１つのランダムな行からの予め選択されたデータを含むことを決定するための違反検出器と、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するためのメッセージ変更器と、
前記変更されたメッセージを前記受信者へ送信するためのメッセージルーターと、
を備えたシステム。
【請求項４８】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも１つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するステップと、
前記変更されたメッセージを前記受信者へ送信するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【請求項４９】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージが繊細なデータを含むことを決定するステップと、
前記繊細なデータをリアルタイムで編集するステップと、
前記編集されたデータを伴うメッセージを前記受信者へ送信するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理の分野に係り、より詳細には、予め選択された（例えば、所有権）データを含むメッセージの取り扱いに係る。
【背景技術】
【０００２】
多くの組織は、セキュリティに敏感な大量の情報をリレーショナルデータベースに記憶している。この形式のデータは、通常、物理的セキュリティ、アクセス制御、周辺セキュリティ制限、及びある場合には、暗号化を含む非常に徹底したセキュリティ対策を受ける。データベースデータへのアクセスは、企業における大勢の従業員の職務にとって必須であるから、この情報が盗難にあったり偶発的に配布されたりする多数のポイントが考えられる。情報の盗難や、悪意のない不注意な開示は、知的財産の価値及び取締り遵守に関係した法的責任の両方に関して著しいビジネスリスクを意味する。
【０００３】
リレーショナルデータベースシステム
リレーショナルデータベースシステムは、膨大な範囲のアプリケーションにとって有用である。リレーショナル構造体は、データに問合せするための生来の直観的な仕方を表わす形態でデータを保持し、基礎となるディスク記憶システムの詳細をユーザから隠すという付加的な利点を有する。データベースシステムの典型的なアプリケーションは、当然テーブル構造体へとフォーマットできるデータの非常に多数の小さな断片を記憶し検索することを含む。リレーショナルデータベースは、高い有用性を有する。というのは、ほとんどの人々が気にかける問合せの形式を、以下に述べる良く知られたインデックス構造体を使用して最適化できるからである。
【０００４】
リレーショナルデータベースシステムで要求される問合せは、ユーザが探しているテーブルデータをユーザが簡潔に要求するのを許す構造化問合せ言語（ＳＱＬ）と称される生来の直感的述語論理を使用する。データベーステーブルには、ほとんど常に、ＳＱＬに基づく問合せをより効率的なものにするインデックスが設けられる。これらのインデックスは、Ｂ−ツリーと称するデータ構造体を使用してメモリに記憶される。現在の検討に最も関連したＢ−ツリーの顕著な特性は、次の通りである。
Ｂ−ツリーは、バイナリーツリーに基づくアブストラクトデータ構造体であり；
Ｂ−ツリーは、それがインデックスするデータのあるコピーを含まねばならず；そして
Ｂ−ツリーは、以下に述べる問合せを使用すると、最も効率的である。
【０００５】
多数の問合せ例がある。
式Ａ＝ｖの厳密な一致問合せ：ここで、
Ａは、所与のデータベーステーブルの列又は「属性」を指す
ｖは、特定の属性値を指す
例えば、SELECT*FROM CUSTOMERS WHERE Income＝30,000
式ｖ１＜Ａ＜ｖ２の範囲問合せ：ここで、
Ａは、所与のデータベーステーブルの列又は「属性」を指す
例えば、SELECT*FROM CUSTOMERS WHERE 30 < Income < 40
式Ａ  ＭＡＴＣＨＥＳ  ｓ＊のプレフィックス問合せ：ここで、
“ｓ”は、特定ストリング値を指す
“ｓ＊”は、通常の表現である
例えば、Last_Name MATCHES “Smith”
【０００６】
データベースシステムの分野における最初の研究に対して多数の参考文献がある。その第１は、E. F. Doddによるリレーショナルデータベースに関する発展性のある研究“A Relational Model of Data for Large Shared Data Banks”、Communications of the ACM、１３（６）：３７７−３８７、１９７０である。
【０００７】
第２の参照文献は、上述した形式の効率的な問合せを可能にする基本的データ構造体である“B-Tree”データ構造体に関する最初に出版された研究の１つである。Rudolf Bayer及びEdward M. McCreightの“Organization and Maintenance of Large Ordered Indices”、Record of the 1970 ACM SIGFIDET Workshop on Data Description and Access、１１月１５−１６日、１９７０年、ライスユニバーシティ、ヒューストン、テキサス州、ＵＳＡ（第２版、アペンディックス付き）、ページ１０７−１４１、ＡＣＭ、１９７０年。
【０００８】
情報検索システム
情報検索は、ドキュメントに見出されたテキストデータの記憶及び検索を取り扱う広範囲な分野である。これらのシステムは、主として、テーブルデータではなく標準的なドキュメントに焦点をおいたという点でデータベースシステムとは相違する。このシステムの初期の例は、コーネル(Cornell)においてＳＭＡＲＴシステムの一部分として開発された。今日、最も知られた情報検索アプリケーションは、Ｇｏｏｇｌｅ、Ｉｎｋｔｏｍｉ及びＡｌｔａＶｉｓｔａのようなウェブベースのサーチエンジンである。これらのシステムを使用するための典型的な方法は、デジタルドキュメントの大きなセットの一部分であるドキュメントに対する参照を見出すことである。これらアプリケーションに対するユーザの経験は、通常、結果のブラウジングとインターリーブされた一連の問合せで構成される。問合せの結果は、関連性が低下する順に表わされ、ユーザは、更なるブラウジングの後に問合せを洗練化することができる。リレーショナルデータベースと同様に、これらシステムの甚だしい人気は、人々が最も有用に見出す問合せの形式に対して迅速な応答を与えるための基礎的なインデックスの能力によるものである。
【０００９】
これらシステムのほとんどは、インデックスされたドキュメントの集合から構築されるいわゆる「コンコーダンス」から導出されるインデックスをベースとするものである。これらのコンコーダンスは、ワードごとに、各ドキュメントにおいてそのワードが各々生じる位置をリストしたデータ構造体を含む。このようなデータ構造体は、特定の用語を含む全てのドキュメントの迅速なルックアップを許す。用語の集合を含む全てのドキュメントを求めるユーザ問合せに対して、インデックスは、高次元のユークリッドベクトル空間における非常に多数のベクトルを表わすように構成される。次いで、問合せ用語のユーザリストも、この空間におけるベクトルとして解釈し直される。問合せは、ドキュメント空間におけるどのベクトルが問合せベクトルに最も近いか見出すことにより実行される。この最後の解決策は、精度及び速度のために種々の異なる最適化が適用され、「コサインメトリック(cosine metric)」と称される。
【００１０】
上述したように、これら種類のシステムとの典型的なユーザ相互作用は、問合せ、ブラウジング、洗練化、そして再び問合せへと戻る反復サイクルである。問合せ結果は、通常、関連性の順序でランク付けされた非常に多数のドキュメントであり、偽の肯定レートが非常に高くなる。問合せについての幾つかの古典的な例がある。
ブールの問合せは、次のようなものである。
ａ）用語「データベース」及び「インデックス」を含む全てのドキュメント
ｂ）「データベース」又は「インデックス」を含むが、「サイベース(Sybase)」を含まない全てのドキュメント
リンクベースの問合せは、次のようなものである。
ａ）用語「ドッグ(dog)」を含むドキュメントによりリンクされる全てのドキュメント
ｂ）ワード「ドッグ」を含む最も「人気のある」（即ちリンクされた）ドキュメント
【００１１】
情報検索システムの第１の意義のある実施プロジェクトの１つは、コーネルにおけるＳＭＡＲＴシステムである。このシステムは、今日も依然使用されている情報検索システムの本質的なコンポーネントの多くを含む：C. Buckley著、“Implementation of the SMART Information Retrieval System”、テクニカルレポートＴＲ８５−６８６、コーネルユニバーシティ、１９８５年。
【００１２】
ＷＡＩＳプロジェクトは、シンキングマシンズインク(Thinking Machines Inc.)により製造された大規模なパラレルスーパーコンピュータの初期のアプリケーションであった。これは、インターネットを経て利用できるようにされる第１フィールド情報検索システムの１つである。この研究に対するこの一次参照ソースは、Brewster Kahle及びArt Medlarの“An Information System for Corporate Users: Wide Area Information Servers”、テクニカルレポートＴＭＣ−１９９、シンキングマシンズインク、１９９１年４月、バージョン３．１９である。
【００１３】
インターネットサーチサービスの多くの現代コマーシャル売主の中にＧｏｏｇｌｅがある。サーチ精度においてのＧｏｏｇｌｅの真の躍進は、インデックスされたドキュメントのテキスト及びハイパーリンク構造の両方からのデータを収穫するための能力である。Sergey Brain、Lawrence Page、“The Anatomy of a Large-Scale Hypertextual Web Search Engine”、http://dbpubs.stanford.edu:8090/pub/1998-8を参照されたい。
【００１４】
ファイルシングリングシステム
デジタルドキュメントをコピーし配布するインターネット及び手ごろな手段の成長は、ドキュメントの不法又は不適切なコピーを検出する上で助けとなる技術においてリサーチの関心に拍車をかけた。この研究についての主たる用途は、著作権法の違反を検出し、剽窃行為を検出することであった。又、この問題は、スパムｅメール（ＡＫＡ非懇願コマーシャルｅメール）の検出及び自動的削除にも関係しているので、著しい関心がある。これら技術のほとんどを説明するのに適用される技術用語は、ドキュメント断片の隣接シーケンスがハッシュコードにより「シングル(shingle)」に減少され、次いで、それらがドキュメントにおいて見つかったのと同じシーケンスでルックアップテーブルに記憶される「ファイルシングリング(file shingling)」である。
【００１５】
ファイルシングリングは、２つのドキュメント間の類似性を見つけるための非常に迅速な方法を与える。特定のドキュメント（例えば、テキストファイル）に対して保護を与えるために、ドキュメントをセンテンスごとにハッシュし、そしてこれらのハッシュされたセンテンスを素早くルックアップするためにテーブルに記憶することにより、ドキュメントがシングリングされる。新たなドキュメントをテストして、著作権のあるコンテンツの断片を含んでいるかどうか調べるために、同じハッシュ関数をテストメッセージの各断片に適用し、それら断片が著作権コンテンツの場合と同様の順序で現れるかどうか調べる。この技術は、個々の断片をルックアップするのに必要な時間が非常に速いので、迅速である。
【００１６】
ファイルシングリングシステムとの典型的なユーザ相互作用は、能動的ではなく、受動的である。ファイルシングリングシステムは、通常、ドキュメントを自動的に処理し、そして問合せ結果をユーザに非同期で配送するように設定される。典型的なファイルシングリングアプリケーションは、スパム防止であり、１組のメッセージを使用して、組織がそのｅメールシステムへの配送を希望しない制限されたコンテンツのインデックスを生成する。このシナリオにおいて、「問合せ」とは、単に、ｅメールメッセージの自動処理及び適当な自動ルーティングである。
【００１７】
ドキュメント等価問合せに関して、各テストドキュメントｔに対して、ｔと同じコンテンツを有する全てのドキュメントｄを、インデックスされたドキュメントの集合において見出す。スパム検出を容易にするため、セットｄは、全ての既知のアクティブなスパムメッセージであり、そしてドキュメントｔは、到来するｅメールメッセージである。
【００１８】
切り取って貼り付ける(cut-and-paste)検出の問合せについては、各テストドキュメントｔに対して、ドキュメントｄのある断片がドキュメントｔに生じるような全てのドキュメントｄを、インデックスされたドキュメントの集合において見出す。剽窃行為を検出する場合には、セットｄが、特定のクラスに対して以前に提示された全てのエッセーであり、そしてドキュメントｔは、剽窃行為が疑われている学生により書かれた新聞である。
【００１９】
ファイルシングリングにおける主たる公表されたリサーチプロジェクトは、ＫＯＡＬＡ、ＣＯＰＳ、及びＳＣＡＭと称される。これらは、全て、上述した基本的なファイルシングリング解決策の変形を、性能及び精度を最適化する変形と共に使用する。ＫＯＡＬＡに関する情報については、N. Heintzeの“Scalable Document Fingerprinting”、Proceedings of Second USENIX Workshop on Electronic Commerce、１９９６年１１月、http://www-2.cs.cmu.edu/afs/cs/user/nch/www/koala/main.htmlを参照されたい。ＣＯＰＳに関する情報については、S. Brin、J. Davis、及びH. Garcia-Molinaの“Copy Detection Mechanisms for Digital Documents”、Proceedings of the ACM SIGMOD Annual Conference、１９９５年５月を参照されたい。ＳＣＡＭに関する情報については、N. Shivakumar及びH. Garcia-Molinaの“SCAM: A Copy Detection Mechanism for Digital Documents”、Proceedings of 2nd International Conference in Theory and Practice of Digital Libraries (DL'95)、１９９５年６月、http://www-db.stanford.edu/-shiva/SCAM/scamInfo.htmlを参照されたい。又、（N. Shivakumar及びH. Garcia-Molinaによる）“Building a Scalable and Accurate Copy Detection Mechanism”、Proceedings of 1st ACM Conference on Digital Libraries (DL'96) １９９６年３月、http://www-db.stanford.edu/pub/pagers/performance.ps.も参照されたい。
【００２０】
インターネットコンテンツフィルタリングシステム
コンテンツフィルタリングシステムと称される種々のコマーシャルアプリケーションが保護対策を実施する。このカテゴリーには、ウェブサイト制限／モニタリングソフトウェア、及びｅメールコンテンツ制御、の２つの主たる形式のアプリケーションが存在する。両方の場合に、現在使用される主たるアルゴリズムは、テキスト断片のセット集合のための１組の通常の表現に対するパターンマッチングであって、データの誤用を指示するものである。その一例は、テキスト断片「ＸＸＸ」を含むＵＲＬに全てのブラウジングを制限することである。ｅメールコンテンツ制御カテゴリーに対する一例は、ワード「所有権(proprietary)」及び「機密(confidential)」を含む全てのｅメールを停止し且つ阻止するが、ワード「ジョーク(joke)」又は「冗談(kidding)」を含むものは、そのようにしないことである。
【００２１】
ファイアウオール、侵入検出及び侵入防止システム
共通の形式のメッセージ処理システムは、ファイアウオールと称される。ファイアウオール及び侵入検出システムは、ネットワーク間の通信を監視し、そしてソース及び行先アドレス、ポート番号、及びパケットコンテンツのようなルールに基づいてコンテンツのフィルタリングを実施する。これらのルールは、通常、上述したように、厳密なマッチング及びパターンマッチングをベースとする。これらのシステムは、無断通信がなされたことを検出すると、通信を阻止するか、それをリルートするか、又はそれを単に報告するかのいずれかである。
【００２２】
ウイルス防止システム
ウイルス防止システムは、メッセージ（通常、ｅメール及びＨＴＴＰメッセージ）を、悪意の実行コードについてサーチする。メッセージが、ウイルス符牒に一致する実行コードの断片を含むことが分かった場合には、メッセージが阻止されるか、削除されるか、又は検疫サーバーへリルートされる。悪意のコードを検出するために適用される典型的なサーチアルゴリズムは、直接的な比較により疑わしいメッセージ内の悪意のコードの既知の断片をサーチする。
【００２３】
スパム防止システム
非懇願のコマーシャルメッセージ（「スパム」として一般に知られている）を阻止する上で助けとなる種々のシステムが存在する。これらのシステムは、到来するメッセージ（通常ｅメールメッセージ）を監視し、そしてコマーシャルメッセージの確認を専門に扱うコンテンツ検出アルゴリズムを使用してそれらをフィルタリングする。１）ソースブラックリスティング、２）厳密マッチング、及び３）統計学的プロフィーリング、の３つの良く知られた解決策が存在する。ソースブラックリスティングでは、スパムの既知のソースが識別され、次いで、これらソースからの通信が無視される。厳密なマッチングでは、到来するメッセージが、完全な又は部分的な形態でスパムの既知のサンプルと直接的に比較され、そして充分にオーバーラップすることが分ると、到来するメッセージが拒絶され、又は検疫される。統計学的なプロフィーリングでは、スパムの既知のサンプルが、統計学的な技術（例えば、ベイズ分析又はワード使用頻度）を使用してプロフィーリングされる。次いで、到来するメッセージが到着するときにそれらの統計学的なプロフィールが取り上げられ、そして到来するメッセージのプロフィールがスパムメッセージに一致する場合に、そのメッセージが破棄されるか、又は検疫サーバーへリルートされる。
【発明の開示】
【００２４】
テーブルデータソースからの予め選択されたデータを含むメッセージを取り扱うための方法及び装置が説明される。ある実施形態では、この方法は、ネットワークを経て受信者へ送信されるメッセージが、指定のテーブルデータソースからの予め選択されたデータを含むことを決定するステップを備えている。予め選択されたデータは、ソースデータのテーブル構造体内の少なくとも１つのランダムな行からの情報を含む。この方法は、更に、予め選択されたデータの、受信者への無断送信を防止するステップも含む。
【００２５】
本発明は、本発明の種々の実施形態についての以下の詳細な説明及び添付図面から充分に理解されよう。しかしながら、これは、例示に過ぎず、本発明は、この特定の実施形態に限定されるものではない。
【発明を実施するための最良の形態】
【００２６】
予め選択された繊細なデータを含むメッセージを取り扱うためのシステム及び方法について説明する。以下の説明では、本発明をより完全に説明するために多数の細部について述べる。しかしながら、当業者であれば、これらの特定の細部を伴わずに本発明を実施できることが明らかであろう。他の例において、良く知られた構造及び装置は、本発明を不明瞭にするのを回避するために、詳細に示すのではなく、ブロック図で示す。
【００２７】
以下の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズム及び記号表現に関して表わされる。これらアルゴリズム記述及び表現は、データ処理技術の当業者により、それらの仕事の実体をその分野の他の等業者に伝えるために使用される手段である。アルゴリズムは、ここでは、一般的に、希望の結果を導くステップの自己矛盾のないシーケンスと考えられる。これらステップは、物理量の物理的操作を要求するものである。通常、必ずしもそうでないが、これらの量は、記憶、転送、合成、比較、その他、操作することのできる電気信号又は磁気信号の形態をとる。時には、主として、共通に使用するという理由で、これらの信号をビット、値、エレメント、記号、キャラクタ、項、番号、等として参照するのが便利なことが分った。
【００２８】
しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられ、これらの量に適用される単なる便利な表示に過ぎないことを銘記されたい。特に記載しない限り、以下の説明から明らかなように、説明全体にわたり、「処理」又は「コンピューティング」又は「計算」又は「決定」又は「表示」等の用語を使用する論議は、コンピュータシステムのレジスタ及びメモリ内の物理（電子）量として表わされたデータを、コンピュータシステムメモリ又はレジスタ、或いは他のそのような情報記憶、送信又はディスプレイ装置内の物理量として同様に表わされた他のデータへと操作及び変換するコンピュータシステム又は同様の電子的コンピューティング装置のアクション及びプロセスを指すことが明らかであろう。
【００２９】
又、本発明は、ここに述べるオペレーションを遂行するための装置にも係る。この装置は、要求された目的に対して特別に構成されてもよいし、或いは記憶されたコンピュータプログラムにより選択的にアクチベート又は再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、コンピュータ読み取り可能な記憶媒体、例えば、これに限定されないが、フロッピー（登録商標）ディスク、光学ディスク、ＣＤ−ＲＯＭ及び磁気−光学ディスクを含む任意の形式のディスク、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光学カード、或いは電子的インストラクションを記憶するのに適したもので、コンピュータシステムバスに各々結合された任意の形式の媒体に記憶することができる。
【００３０】
アルゴリズム及びそこに表現される表示は、特定のコンピュータ又は他の装置に固有に関係したものではない。種々の汎用システムは、ここでの教示に基づくプログラムに使用されてもよいし、或いは必要な方法ステップを遂行するための特殊な装置を構成するのに便利であることも分っている。種々のこれらシステムに必要な構造は、以下の説明から明らかとなろう。更に、本発明は、特定のプログラミング言語を参照して説明するものではない。ここに述べる本発明の教示を実施するのに種々のプログラミング言語を使用できることが明らかであろう。
【００３１】
マシン読み取り可能な媒体は、マシン（例えば、コンピュータ）により読み取りできる形態で情報を記憶又は送信するためのメカニズムを含む。例えば、マシン読み取り可能な媒体は、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気、光学、音響又は他の形式の伝播信号（例えば、搬送波、赤外線信号、デジタル信号、等）、等々を含む。
【００３２】
実施形態の要素
一実施形態において、ここに述べる検出機構を遂行するためのシステムは、２つの主たる要素、即ちポリシーマネージメントシステム（ＰＭＳ）、及びメッセージモニタリングシステム（ＭＭＳ）より成る。ＰＭＳは、ネットワークを経て送信されるメッセージ内に含まれるか、又はポータブルコンピュータ、デスクトップコンピュータ、パーソナルデジタルアシスタント、セルラー電話、等のパーソナルコンピューティング装置のデータ記憶媒体に記憶されるソースデータ（例えば、データベースデータ）を使用し送信するための情報セキュリティポリシーを決定するユーザ入力を受け容れるという役割を果たす。従って、このデータは、予め選択される。ここで使用する「パーソナルコンピューティング装置のデータ記憶媒体」という用語は、パーソナルコンピューティング装置内の記憶を指すか、或いはパーソナルコンピューティング装置のためのデータを一時的又は永久的に記憶できるパーソナルコンピューティング装置へアクセスできることを指す。
【００３３】
ＭＭＳは、ネットワークを経て送信されたメッセージ、パーソナルコンピューティング装置により処理されたデータ、又はパーソナルコンピューティング装置のデータ記憶媒体に記憶されたデータにおいてコンテンツサーチを遂行するという役割を果たすと共に、ユーザによりＰＭＳに識別されたポリシーを実施するという役割も果たす。一実施形態において、これらシステムは、両方とも、情報を交換するための任意の標準プロトコルを通信するコンピュータネットワークに結合される。
【００３４】
この実施形態における通常のオペレーション中に、ユーザは、ある個人によるソースデータの使用又は送信を制限する所与のポリシーを実施するように判断し、次いで、このポリシーを、グラフィックユーザインターフェイス及び１つ以上のユーザ入力装置（例えば、マウス、キーボード、等）を使用してＰＭＳに入力する。ユーザインターフェイスは、入力を受け取り、そしてＰＭＳをもつコンピュータシステム又は個別のマシンにおいて実行される。一実施形態では、ポリシーは、望ましい保護の性質（例えば、従業員のサブセットだけを制限する）、保護を要求するデータの形式（例えば、データベースデータ）、及び保護を要求するデータベースデータのネットワーク位置（例えば、データベーステーブル名、サーバーのＩＰアドレス、サーバー又はファイルの名前）を含む。
【００３５】
一実施形態においてユーザにより調整できるがデフォールトでは指定インターバル（例えば、１日）当たり一回である規則的な間隔で、ＰＭＳは、保護されるべきソースデータのコピーを抽出し、そしてそのデータから、以下に詳細に述べるアブストラクトデータ構造体（以下、「インデックス」と称する）を導出する。
【００３６】
ＰＭＳは、次いで、このインデックスを、実施されるべきポリシーの各事項と共にＭＭＳへ送信し、従って、ＭＭＳは、ポリシーの施行を開始することができる。ＭＭＳは、施行されるべきポリシーの詳細と一緒にＰＭＳからインデックスを受け取る。ＭＭＳは、インデックス及びポリシー情報を使用して、ユーザにより指定されたポリシーを施行する。一実施形態では、ＭＭＳは、以下に詳細に述べるように、このインデックスを使用して、出て行くメッセージの各々（例えば、ｅメールメッセージ、ウェブメールメッセージ等）を、保護されるべきソースデータについてサーチする。別の実施形態では、ＭＭＳは、このインデックスを使用して、パーソナルコンピューティング装置のデータ記憶媒体のコンテンツ及び／又はユーザとパーソナルコンピューティング装置との間の対話のコンテンツを、保護されるべきデータベースデータについてサーチする。
【００３７】
例示的ワークフローの概要を図１に見ることができ、ここでは、最高値の情報が識別され、ポリシーが著作され、監督及び施行が行なわれて、実行可能なビジネスインテリジェンスへと導く。
【００３８】
ネットワークベースのオペレーションモード
一実施形態において、メッセージモニタリングシステムは、「監督モード」及び「施行モード」の２つの仕方の一方で構成することができる。図２Ａ及び２Ｂは、２つのネットワーク構成を示す。図２Ａに示す「監督モード」では、ＭＭＳがネットワーク上のどこかに配置され、トラフィックを注視してポリシーの違反を報告できるが、メッセージが出て行くときにそれらを阻止するようには特に構成されない。ＰＭＳは、情報にアクセスすることができ、そしてスイッチ、タップ及びファイアウオールを経てインターネットに結合される。ＭＭＳは、タップを使用してネットワークメッセージを監視する。
【００３９】
図２Ｂに示す「施行モード」では、ＭＭＳは、トラフィックを注視して違反を報告できるが、メッセージをインターセプトしてリルートし、その最終的な行先を変更することができる。ＰＭＳは、情報にアクセスすることができ、そしてスイッチ及びファイアウオールを経てインターネットに結合される。この実施形態では、ＭＭＳは、一連のサーバーを使用してトラフィックを監視し、そしてメッセージがおそらく予め選択された情報を含むことをＭＭＳが決定した場合に、トラフィックを、例えば、あるサーバーへリルートする。ＭＭＳは、種々のレイヤプロトコルの各々に対して異なるサーバーを使用することができる。
【００４０】
メッセージのリルートは、要求されない。或いは又、ＭＭＳは、出て行くメッセージをインターセプトして停止するだけであるようにも構成できる。「施行モード」における例示的ポリシーは、ポリシーに違反する全てのメッセージを、ポリシーに違反する個人のマネージャーへルーティングして、適当な懲戒アクションをとれるようにすることである。「施行モード」におけるＭＭＳのオペレーションは、図８−１０を参照して以下に詳細に説明する。
【００４１】
両オペレーションモードにおいて、コンテンツを検出するのに必要なインデックスのそれ自身のコピーを各々伴う多数のＭＭＳをインストールすることができる。このパラレル処理構成は、スケーリングの問題や、多数の考えられる情報出口ポイントを保護することについて役立つ。
【００４２】
両構成において、ＭＭＳは、種々のプロトコル（例えば、簡単なメール転送プロトコル（ＳＭＴＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、ファイル転送プロトコル（ＦＴＰ）、ＡＯＬインスタントメッセージング（ＡＩＭ）、ＩＣＱ、単一オブジェクトアクセスプロトコル（ＳＯＡＰ）、ＳＱＬＮｅｔ、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、イーサネット（登録商標）、８０２．１１、等）を使用して搬送されるメッセージをアクティブにパージングする。
【００４３】
一実施形態では、２つのサブシステム（ＰＭＳ及びＭＭＳ）が１つのローカルエリアネットワーク（ＬＡＮ）において実行される。しかしながら、ＰＭＳ及びＭＭＳは、同じ物理的又は論理的システムに合体されてもよい。この統合された構成は、システムを形成するのに必要な製品の制御コストの理由でより適したものである。
【００４４】
更に別の実施形態では、ＰＭＳ及びＭＭＳは、必ずしも同じＬＡＮに存在しなくてもよい。ＰＭＳは、データベース情報と同じＬＡＮに存在するが、ＭＭＳは、ＰＭＳが存在するＬＡＮから分離された異なるＬＡＮに存在する。この構成では、２つの個別のＬＡＮは、最終的に、インターネットを経て一緒に結合されるが、ファイアウオール、ルーター、及び／又は他のネットワーク装置によって分離される。これは、ある会社が、そのデータベースデータを必要とする別の会社（例えば、法律事務所又はマーケッティング代理店）を、その第１の会社のデータベースポリシーに違反することから制限したい場合に好都合な構成である。
【００４５】
図３は、ソースデータを保護するプロセスの一実施形態のフローチャートである。このプロセスは、ハードウェア（回路、専用ロジック、等）、ソフトウェア（例えば、汎用コンピュータシステム又は専用マシンにおいて実行される）、又は両方の組み合せを含む処理ロジックにより遂行される。
【００４６】
図３を参照すれば、処理ロジックは、予め選択されたデータに対してメッセージを監視する（処理ブロック３０１）。次いで、処理ロジックは、メッセージが、予め選択されたデータを有するかどうか決定する（処理ブロック３０２）。もしそうでなければ、処理は、処理ブロック３０１へ移行する。もしそうであれば、処理ロジックは、メッセージにおいて情報を送信／受信するために個々の送信／受信メッセージが許可されたかどうか決定する（処理ブロック３０３）。もしそうであれば、プロセスは終了し、処理は、処理ブロック３０１へ移行する。もしそうでなければ、処理ロジックは、メッセージをインターセプトし、メッセージをリルートし、メッセージをログし、等々の１つ以上のアクションを行い（処理ブロック３０４）、そして処理は、処理ブロック３０１へ移行する。これらのアクションは、図８−１０を参照して以下に詳細に説明する。
【００４７】
例示的サーチ技術
上述したように、違反は、規定のポリシーを使用して情報コンテンツをサーチすることにより検出される。一実施形態では、ソースデータから導出されたアブストラクトデータ構造体（インデックス）を使用してサーチが遂行される。一実施形態では、このインデックスは、ソースデータのコピーを含まないか、又はソースデータの暗号化又はハッシュ化コピーしか含まない。この実施形態は、特に、データそれ自体の表現を記憶するのを回避し、ハッカーが、ＤＭＳ（上述したように、コンテンツサーチを遂行するときにインデックスを利用する）を実行するホストに侵入する場合に、窃盗に曝されるデータが取るに足らないものであるようにする。インデックスは、データベースデータの断片に関連した多数のタプルを記憶するためのデータ構造体を与えるタプル記憶メカニズムを使用して生成されてもよい。タプル記憶メカニズムの例は、リレーショナルデータベースマネージメントシステムにおいてハッシュテーブル、ベクトル、アレー、ツリー、リスト、又はテーブルを含む。以下に述べるプロセスでは、インデックスに記憶されるデータは、データベースにおけるエレメントの、他のエレメントに対する相対的な配置しか含まない。例えば、ハッシュテーブルの場合には、インデックスは、データベースデータの各断片（例えば、データベースセル内のデータ断片）に対して、その断片のハッシュコードを、その行番号、列番号及び列の形式と一緒に記憶することができる。
【００４８】
別の実施形態では、インデックスは、保護のもとにある知的財産の断片を含み、従って、その情報をセキュリティの脅威に曝すことにより、解決策の価値を下げる。
【００４９】
更に別の実施形態では、システムにおけるデータの大きな割合を表わすデータベースからの頻繁に使用されるストリング及び番号の少量のコピーが、データベーステーブル（１つ又は複数）におけるデータの相対的な配置に関する情報の残りと共に、依然、インデックスに直接的に記憶される。これは、ハッシュコードではなく、これら一般的ストリングそれ自体のコピーを記憶することにより行なわれる。その結果、インデックスは、行番号、列番号、及びソースデータの形式を含むが、ハッシュコードを記憶するのではなく、ストリングそれ自体を記憶する。あまり一般的でないデータベースのセルの残りに対して、これらストリングのコピーを特に記憶せずに、行番号、列番号、及びソースデータの形式のみが記憶される。この解決策は、データベースにおけるストリング及び数値データの統計学的分布には、しばしば、歪みがあり、最も一般的な用語が、記憶されたデータの全体量の非常に大きな割合を占めるという事実を利用するものである。これら一般的用語を個別のインデックスに記憶すると、少数の一般的用語が問合せの大きな割合を占めるので、インデックス問合せの効率に有用であり、これら問合せは、文献からの標準的な迅速技術を使用して実行することができる（例えば、ハッシュテーブルルックアップ、ビットマップ、等）。これがセキュリティを脆弱にするものではない理由は、ソースデータの不釣合いな分担量を占めるこの少数の用語が、最も価値の低いデータ断片であることである。用語「ジョン(John)」及び「スミス(Smith)」は、名前を含むデータベース内で非常に一般的であるが、これら用語の窃盗は、比較的無益である。この実施形態では、システムは、価値が高く一般性の低い用語のデータ（例えば、クレジットカード番号、ＳＳＮ、一般性のない名前、等）のコピーを記憶することを依然入念に回避する。
【００５０】
図４は、ソースデータをインデックスするプロセスの一実施形態を示すフローチャートである。このプロセスは、ハードウェア（回路、専用ロジック、等）、ソフトウェア（例えば、汎用コンピュータシステム又は専用マシンにおいて実行される）、又は両方の組み合せを含む処理ロジックにより遂行される。
【００５１】
図４を参照すれば、処理ロジックは、ソースデータが標準的なテーブルフォーマットで記憶されたかどうか決定することで始まる（処理ボックス４０２）。もしそうでなければ、処理ロジックは、ソースデータを標準テーブルフォーマットへ変換する（処理ボックス４０４）。それにより生じるテーブルの各セルは、ソースデータの断片を記憶する。一実施形態では、各データ断片がトークンである。トークンは、単一のワードでもよいし、ワードのクラスター（例えば、引用符で囲まれたワード）でもよい。例えば、ワード「これ(this)」は、データベースセルに記憶されたトークンを表わすが、フレーズ「このトークン(this token)」は、データベースセルに単一ストリングとして記憶される場合には独立トークンを表わしてもよい。
【００５２】
次いで、処理ロジックは、ソースデータから導出されるタプル記憶構造体を生成する（処理ボックス４０６）。タプル記憶構造体は、ソースデータの断片に関連した多数のタプルを記憶するためのメカニズムを与える。タプル記憶構造体の例は、ハッシュテーブル、ベクトル、アレー、ツリー又はリストを含む。タプル記憶構造体の各形式が、所与のコンテンツフラグメントに対するタプルのセットを検索するための方法に関連付けられる（タプルのセットは、タプル記憶構造体に一致が見られない場合に空となる）。
【００５３】
更に、処理ロジックは、ソースデータ内の各データ断片の位置に関する情報を対応タプルに記憶する（処理ボックス４０８）。一実施形態では、データ断片の位置に関する情報は、ソースデータにデータ断片を記憶する行の番号を含む。別の実施形態では、この情報は、ソースデータにデータ断片を記憶する列の番号と、任意であるが、列のデータ形式とを含む。
【００５４】
その後、処理ロジックは、タプルを所定の順序（例えば、上昇する辞書編集上の順序）で分類する（処理ボックス４１０）。
【００５５】
従って、それにより得られるアブストラクトデータ構造体（即ち、インデックス）は、より大きな全体のコンテクストにおけるデータレコードの相対的な配置に関する情報のみを含むが、ソースデータそれ自体の断片は含まない。
【００５６】
一実施形態では、インデックスのコンテンツは、インデックスを窃盗から更に安全確保するために暗号的に処理される（例えば、ハッシュ関数で、又は暗号キーを伴う暗号関数を使用して）。
【００５７】
例示的なサーチ技術を以下に詳細に説明する。図５は、ソースデータに対する情報コンテンツをサーチするプロセスの一実施形態を示すフローチャートである。このプロセスは、ハードウェア（回路、専用ロジック、等）、ソフトウェア（例えば、汎用コンピュータシステム又は専用マシンにおいて実行される）、又は両方の組み合せを含む処理ロジックにより遂行される。
【００５８】
図５を参照すれば、処理ロジックは、情報コンテンツを識別することで始まる（処理ボックス５０２）。情報コンテンツは、フリーフロム(free-from)テキストを備え、そしてファイル（例えば、コンピュータのハードドライブに記憶されたアーカイブ型ｅメールメッセージ）、又はネットワークを経て送信されたデータのブロック（例えば、任意の形式のネットワークプロトコルを使用してネットワークを経て送信されたｅメールメッセージ）に含まれる。上述したように、サーチされるべき情報コンテンツは、ユーザにより指定される窃盗検出条件に基づいて選択することができる。
【００５９】
次いで、処理ロジックは、ソースデータの一部分をおそらく含み得るコンテンツ断片のシーケンスを情報コンテンツにおいて検出する（処理ボックス５０４）。コンテンツ断片の検出されたシーケンスは、情報コンテンツ内の隣接又は非隣接トークンのセットである。各トークンは、ワード又はフレーズのいずれかに対応する。コンテンツ断片の検出されたシーケンスは、受け取った情報コンテンツの一部分でもよいし、又は全情報コンテンツでもよい。別の実施形態では、コンテンツ断片の検出されたシーケンスは、トークンのサブセットのセットとして考えられ、トークンの各サブセットは、おそらく、ソースデータの一部分を含む。
【００６０】
一実施形態では、処理ロジックは、コンテンツ断片のシーケンスが列フォーマットデータに似ていることを決定する際にコンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。この決定は、受け取った情報コンテンツをパージングして、分離されたライン（例えば、タグ＜ｃｒ＞又は＜ｃｒ＞＜ｌｆ＞で指示される）を識別し、そしてこれらの分離されたラインが同様の数のトークン及び任意であるが同様のデータ形式のトークンを含むことを見出すことにより行うことができる。
【００６１】
別の実施形態では、処理ロジックは、全情報コンテンツをパージングして、ソースデータに対する隣接トークンのブロックをサーチするときに、コンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。一実施形態では、隣接トークンのブロックは、ユーザ指定パラメータ、例えば、各ブロックのユーザ指定巾、及び情報コンテンツ内の各ブロックのユーザ指定位置、に基づいて定義される（例えば、ユーザは、２つの隣接ブロックがある数のトークンで分離されることを要求してもよい）。
【００６２】
更に別の実施形態では、処理ロジックは、規定のフォーマットの表現を情報コンテンツにおいて見出すときに、コンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。このような表現は、例えば、口座番号、社会保障番号、クレジットカード番号、電話番号、郵便番号、ｅメールアドレス、金額又は数値を示すテキストフォーマット（例えば、“＄”符号を伴う数字）、等でよい。この表現が見つかると、処理ロジックは、その表現を取り巻くテキストの領域がおそらくソースデータの一部分を含むと判断する。この領域のサイズは、見つかった表現の各側における所定数のトークンにより定義される。
【００６３】
更に別の実施形態では、処理ロジックは、情報コンテンツ（又は情報コンテンツのある部分）におけるワード使用又はワード分布が、情報コンテンツにおけるソースデータの考えられる包含を指示する統計学的パターンに似ていることを決定する際に、コンテンツ断片のシーケンスがソースデータの一部分をおそらく含むと判断する。
【００６４】
更に別の実施形態では、処理ロジックは、受信した情報コンテンツに関連したあるプロパティが以前の違反の経歴に基づいて情報コンテンツにおけるソースデータの考えられる包含を指示することを決定する際に、コンテンツ断片のシーケンスがソースデータの一部分をおそらく含むと判断する。これらのプロパティは、例えば、情報コンテンツの行先（例えば、電子メッセージの受信者）、情報コンテンツの起点、情報コンテンツに関連した送信の時間、情報コンテンツに関連した送信のサイズ、送信に含まれたファイルの形式（例えば、ファイルの多目的インターネットメール拡張（ＭＩＭＥ）形式）、等々を含む。一実施形態では、以前の違反の経歴は、ソースデータの各検出について、ソースデータが検出された情報コンテンツのプロパティを識別し、そしてこれらプロパティを以前の違反のデータベースに記録することにより、維持される。その後、処理ロジックは、新たな情報コンテンツ内のコンテンツ断片のシーケンスがソースデータの一部分をおそらく含むかどうか判断するときに、新たな情報コンテンツのプロパティを識別し、そして以前の違反のデータベースをそれらのプロパティに対してサーチする。一致が見つからない場合には、処理ロジックは、一致するプロパティに関連した以前の違反が新たな情報コンテンツにおけるソースデータの考えられる包含を指示するかどうか決定する。この指示は、一致するプロパティに関連した以前の違反の数、又は一致するプロパティに関連した以前の違反の頻度に基づいたものでよい。例えば、この指示は、特定の送信者がコミットした違反の全数、又は所与の時間周期にわたるこれら違反の頻度に基づいたものでよい。
【００６５】
その後、ソースデータの一部分をおそらく含むコンテンツ断片のシーケンスを検出すると、処理ロジックは、これらコンテンツ断片のサブセットがソースデータのサブセットに一致し且つ上述したポリシーパラメータに基づくものとなるかどうかの決定を行なう（処理ボックス５０６）。
【００６６】
図６Ａ−６Ｃは、コンテンツ断片のサブセットに対して、ソースデータから導出されたアブストラクトデータ構造体におけるポリシーパラメータを満足する一致を見出すプロセスの種々の実施形態を示すフローチャートである。このプロセスは、ハードウェア（回路、専用ロジック、等）、ソフトウェア（例えば、汎用コンピュータシステム又は専用マシンにおいて実行される）、又は両方の組み合せを含む処理ロジックにより遂行される。
【００６７】
図６Ａを参照すれば、処理ロジックは、図５の処理ブロック５０４で識別されたコンテンツ断片のシーケンスをコンテンツ断片（例えば、トークン）へとパージングすることで開始する。次いで、各コンテンツ断片に対して、処理ロジックは、アブストラクトデータ構造体を、一致するタプルのセットについてサーチする（処理ブロック６０２）。例えば、情報コンテンツに含まれたワード「スミス(Smith)」は、アブストラクトデータ構造体に反映されるソースデータに数回発生する。より詳細には、これらの各発生は、それに対応するタプルをアブストラクトデータ構造体に有する。サーチ中に、処理ロジックは、ソースデータにおけるワード「Smith」の発生に対応するタプルのセットを検索する。各タプルは、ソースデータを記憶するデータベース又はテーブル内におけるこのデータ断片の位置に関する情報を記憶する。一実施形態では、位置情報は、データ断片を記憶するセルの行番号を含む。別の実施形態では、位置情報は、このセルの列番号と、任意であるが、列のデータ形式も含む。
【００６８】
次いで、処理ロジックは、全てのコンテンツ断片に対して見つかった一致するタプルセットを合成し（処理ブロック６０４）、次いで、その合成された一致するタプルセットを行番号によりグループＬへとグループ編成する（処理ブロック６０６）。その結果、各グループＬ（ここでは、アキュムレータと称される）は、全てが同じ列番号を有する一致するタプルセットを含み、即ち各グループＬにおける一致するタプルセットは、全てがデータベースにおける同じ行からのものであると思われるソースデータの断片に対応する。
【００６９】
更に、処理ロジックは、各グループに含まれた一致するタプルセットの数でグループＬを分類し（処理ブロック６０８）、そして一実施形態では、個別の列番号を伴うタプルセットを有するグループを選択する（処理ブロック６１０）。その後、処理ロジックは、選択されたグループのいずれかがポリシーパラメータを満足するかどうか決定する（処理ブロック６１２）。
【００７０】
図６Ｂは、タプルセットのいずれかの選択されたグループがポリシーパラメータを満足するかどうか決定するプロセスの一実施形態を示す。
【００７１】
図６Ｂを参照すれば、処理ロジックは、ポリシーパラメータが包含列を指定するかどうか決定することで開始する（判断ボックス６５２）。もしそうでない場合には、処理ロジックは、判断ボックス６６４へ進む。もしそうである場合には、処理ロジックは、ポリシーパラメータが最小数Ｍの包含列を指定するかどうか決定する（判断ボックス６５４）。数Ｍが指定された場合には、処理ロジックは、少なくともＭ個の包含列からのタプルを伴うグループをサーチし（処理ブロック６６０）、そしてこのようなグループのいずれかが見つかった（即ち、見つかったグループの数が０より大きい）かどうか決定する（判断ボックス６６２）。判断ボックス６６２で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス６６４へ進む。判断ボックス６６２で行われた判断が否定である場合には、処理ロジックは、違反が検出されないと判断する（処理ブロック６８０）。
【００７２】
数Ｍが指定されない場合には（判断ボックス６５４）、処理ロジックは、各指定の包含列からのタプルを伴うグループをサーチし（処理ブロック６５６）、そしてこのようなグループのいずれかが見つかったかどうか決定する（判断ボックス６５８）。判断ボックス６５８で行なわれる決定が肯定である場合には、処理ロジックは、判断ボックス６６４へ進む。判断ボックス６５８で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する（処理ブロック６８０）。
【００７３】
判断ボックス６６４において、処理ロジックは、ポリシーパラメータがキーワード又は表現を指定するかどうか決定する。もしそうでなければ、処理ロジックは、判断ボックス６７０へ進む。もしそうであれば、処理ロジックは、指定のキーワード又は表現に一致するタプルを伴うグループをサーチし（処理ブロック６６６）、そしてこのようなグループが見つかるかどうか決定する（判断ボックス６６８）。判断ボックス６６８で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス６７０へ進む。判断ボックス６６８で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する（処理ブロック６８０）。
【００７４】
判断ボックス６７０において、処理ロジックは、ポリシーパラメータが除外列を指定するかどうか決定する。もしそうでなければ、処理ロジックは、判断ボックス６７６へ進む。もしそうであれば、処理ロジックは、全ての除外列からのものではないタプルを伴うグループをサーチし（処理ブロック６７２）、そしてこのようなグループが見つかったかどうか決定する（判断ボックス６７４）。判断ボックス６７２で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス６７６へ進む。判断ボックス６７２で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する（処理ブロック６８０）。
【００７５】
判断ボックス６７６において、処理ロジックは、ポリシーパラメータが行の最小数Ｌを指定するかどうか決定する。もしそうでなければ、処理ロジックは、違反が検出されたと判断する（処理ブロック６８２）。もしそうであれば、処理ロジックは、見つかったグループの最新の数がＬ以上であるかどうか決定する（判断ボックス６７８）。この決定が肯定である場合には、処理ロジックは、違反が検出されたと判断する（処理ブロック６８２）。判断ボックス６７８で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する（処理ブロック６８０）。
【００７６】
図６Ｃは、タプルセットの選択されたグループがポリシーパラメータを満足するかどうか決定するプロセスの別の実施形態を示す。
【００７７】
図６Ｃを参照すれば、処理ロジックは、包含列（即ち、データをサーチ結果に含ませる必要のあるデータソース列）の最小数を識別するパラメータｍを受け取ることで開始する（処理ブロック６８２）。
【００７８】
次いで、処理ロジックは、包含列のセットを指定するパラメータＳを受け取り、｜Ｓ｜がｍ以上であることを確認する（処理ブロック６８４）。
【００７９】
処理ブロック６８６において、処理ロジックは、行の最小数を指定するパラメータｒを受け取る。パラメータｒは、サーチ結果が少なくともｒ行のソースデータからのデータを含むことを要求する。
【００８０】
処理ブロック６８８では、処理ロジックは、除外列（即ち、データをサーチ結果から除外すべきデータソース列）のセットを指定するパラメータＥを受け取り、そしてＥの各ｅメンバーに対して｜ｅ｜がｍに等しいことを確認する。
【００８１】
処理ブロック６９０において、処理ロジックは、テキストＴを最大一致グループＧについてサーチし、この場合、
（ａ）各コンポーネントは、データソースＤの同じ行からのトークンを含むテキストＴのサブセットｇであり、
（ｂ）ｇからの各トークンは、Ｓで指定されたＤにおける列からのエレメントであり、
（ｃ）｜ｇ｜≧ｍであり、そして
（ｄ）ｇのトークンは、除外列Ｅからのデータを含まない。
【００８２】
判断ボックス６９２において、処理ロジックは、｜Ｇ｜がｒより大きいかどうか決定する。もしそうであれば、処理ロジックは、一致が検出されたと判断する（処理ブロック６９４）。もしそうでなければ、処理ロジックは、一致が検出されないと判断する（処理ブロック６９６）。
【００８３】
サーチプロセスの実施形態を以下に説明する。図７Ａ−７Ｃは、ソースデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするためのプロセスの別々の実施形態を示すフローチャートである。このプロセスは、ハードウェア（回路、専用ロジック、等）、ソフトウェア（例えば、汎用コンピュータシステム又は専用マシンにおいて実行される）、又は両方の組み合せを含む処理ロジックにより遂行される。
【００８４】
図７Ａを参照すれば、処理ロジックは、到来するメッセージをパージングすることで開始する（処理ブロック７０２）。次いで、処理ロジックは、到来するメッセージのパーズされた部分が列フォーマットデータを含むかどうか決定する（処理ボックス７０４）。一実施形態では、語彙分析を使用して、到来するメッセージのパーズされた部分におけるラインを識別し（例えば、ラインを分離するのに使用されるタグ＜ｃｒ＞又は＜ｃｒ＞＜ｌｆ＞を見出すことにより）、次いで、隣接ラインにおいて見つかった多数のトークンが個数的及び形式的に同一であることを検出する。一実施形態では、処理ロジックは、各トークンの形式を、トークンの全数と共に記憶する。
【００８５】
処理ボックス７０４で行なわれた決定が否定である場合には、処理が処理ブロック７０２へ移行する。さもなければ、処理は、処理ブロック７０６へ移行し、そこで、処理ロジックは、ｉを、列フォーマットデータに類似した第１ラインに等しくセットする。
【００８６】
次いで、処理ロジックは、ラインｉの各トークンにハッシュ関数Ｈ（ｋ）を適用し（処理ブロック７０８）、ラインｉの各トークンに対してハッシュテーブル内でＨ（ｋ）におけるタプルのセットを見出し、リストＬにタプルを追加し、そしてリストＬを、各個々のアキュムレーターのタプルが同じ行番号値を有するアキュムレーターのセットへとグループ編成し直す（処理ブロック７１２）。更に、処理ロジックは、そのリストＬを各Ａｉの長さで分類し（処理ブロック７１４）、そして分類されたリストＬにおける列の独特の発生をチェックする（処理ブロック７１６）。処理ブロック７１０において、任意の前処理ロジックは、リストＬに挿入する前にトークンをフィルタするように遂行され、元のトークンｋの語彙形式に一致する形式のタプルのみがＬに追加される。他の実施形態では、列の独特の発生のチェックが、スピード又は簡単化の理由でスキップされてもよいことに注意されたい。更に別の実施形態では、タプルは、行番号のみを含む簡単な「シングルトン(singleton)」である（即ち、列番号も、形式指示子もない）。
【００８７】
その後、到来するメッセージが、列フォーマットデータに類似したより多くのラインを含む場合には（処理ボックス７１８）、処理ロジックは、ｉを、列フォーマットデータに類似した次のラインへと増加し（処理ブロック７２２）、そしてプロセスは、処理ブロック７０６へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するＡｉを伴うテキストのラインを報告する（処理ブロック７２０）。
【００８８】
図７Ｂを参照すれば、処理ロジックは、「巾(width)」（Ｗ）及び「ジャンプ(jump)」（Ｊ）のユーザ指定パラメータを受け取り（処理ブロック７３２）、そして到来するメッセージをパーズする（処理ブロック７３４）ことで開始する。パラメータＷは、単一の繰り返し中にサーチされるべき隣接トークンの各ブロックにおける隣接トークンの数を指定し、そしてパラメータＪは、２つの隣接ブロック間のトークンの必要数を指定する。
【００８９】
次いで、処理ロジックは、位置変数（Ｓt）の値を０にセットし（処理ブロック７３６）、そしてＳtでスタートするメッセージのＷ個の隣接トークンを収集することによりサーチされるべきブロック（テキストブロック）を定義する（処理ブロック７３８）。
【００９０】
更に、処理ロジックは、テキストブロックにおける各トークンにハッシュ関数Ｈ（ｋ）を適用し（処理ブロック７４０）、テキストブロックの各トークンに対してハッシュテーブルのＨ（ｋ）においてタプルのセットを見出し、テキストブロックにおける対応トークンと同じ形式をもつタプルをリストＬに追加し（処理ブロック７４２）、リストＬをアキュムレーターのセットへグループ編成し直し（処理ブロック７４４）、そのリストＬを各Ａｉの長さで分類し（処理ブロック７４６）、そして分類されたリストＬにおける列の独特の発生をチェックする（処理ブロック７４８）。
【００９１】
その後、処理ロジックは、ＳtをＪ数のトークンだけ増加し（処理ブロック７５０）、そして位置Ｓtが依然メッセージ内であるかどうか決定する（処理ボックス７５２）。この決定が肯定である場合には、プロセスは、処理ブロック７３８へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するＡｉを伴うテキストブロックを報告する（処理ブロック７５４）。
【００９２】
図７Ｃを参照すれば、処理ロジックは、到来するメッセージをパーズし（処理ブロック７６４）、そしてユーザ指定フォーマットをもつ第１表現を探す（処理ブロック７６６）ことで開始する。このような表現は、例えば、口座番号、社会保障番号、クレジットカード番号、金額又は数値を示すテキストフォーマット（例えば、“＄”符号を伴う数字）、等でよい。一致する表現が見つからない場合には、プロセスは、処理ブロック７６４へ移行する。さもなければ、プロセスは、処理ブロック７６８へ移行し、処理ロジックは、一致する表現の前後にＷ個の隣接トークンを収集することによりサーチされるべきブロック（テキストブロック）を定義する。例えば、テキストブロックは、一致する表現の直前の１０個のトークン、一致する表現それ自体、及び一致する表現の直後の１０個のトークンより成る。
【００９３】
更に、処理ロジックは、テキストブロックの各トークンにハッシュ関数Ｈ（ｋ）を適用し（処理ブロック７７０）、テキストブロックの各トークンに対してハッシュテーブルのＨ（ｋ）においてタプルのセットを見出し、テキストブロックの対応するトークンと同じ形式を有するタプルをリストＬに追加し（処理ブロック７７２）、リストＬをアキュムレーターのセットへとグループ編成し直し（処理ブロック７７４）、リストＬを各Ａｉの長さで分類し（処理ブロック７７６）、そして分類されたリストＬにおける列の独特な発生をチェックする（処理ブロック７７８）。
【００９４】
その後、処理ロジックは、メッセージがユーザ指定フォーマットのより多くの表現を有するかどうか決定する（処理ボックス７８０）。この決定が肯定である場合には、プロセスは、処理ブロック７６８へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するＡｉを伴うテキストブロックを報告する（処理ブロック７８２）。
【００９５】
予め選択されたデータを含むメッセージの取り扱い
図８は、予め選択されたデータを含むメッセージを取り扱い、そして意図された受信者への予め選択されたデータの無断送信を防止する役割を果たすメッセージモニタリングシステム（ＭＭＳ）８００のブロック図である。ＭＭＳ８００により処理されるメッセージは、ネットワークスタックの任意のレイヤにおけるネットワークトラフィックの一部分である。例えば、これらのメッセージは、ｅメールメッセージ、インスタントメッセージング（ＩＭ）メッセージ、ｔｅｌｎｅｔセッション中に交換されるメッセージ、ファイル転送プロトコル（ＦＴＰ）セッション中に交換されるメッセージ、等を含む。更に、ＭＭＳ８００により処理されるメッセージは、異なるメッセージフロー形式の一部分でもよい。例えば、これらのメッセージは、アウトバウンドメッセージ、インバウンドメッセージ、内部メッセージ、又は上記形式の組み合せである。
【００９６】
ＭＭＳ８００は、メッセージインターセプター８０４、メッセージルーター８０６、メッセージブロッカー８０８、メッセージモディファイアー８１０、及びポリシースペシファイアー８１２を備えている。
【００９７】
メッセージインターセプター８０４は、メッセージ（例えば、インバウンドメッセージ、アウトバウンドメッセージ、及び内部メッセージ）を検査し、そしてインターセプトされたメッセージが予め選択されたデータを含むかどうか決定する役割を果たす。この決定は、上述したいずれかのサーチ技術を使用して行うことができる。一実施形態では、メッセージインターセプター８０４は、メッセージヘッダに含まれた指示子が、サーチが必要であることを指示する場合だけ、予め選択されたデータについてメッセージをサーチする。例えば、メッセージヘッダは、メッセージがマーケッティング資料の一部分であり、従って、予め選択されたデータの存在についてスキャンされる必要がないことを示すタグを含むことができる。
【００９８】
メッセージルーター８０６は、予め選択されたデータを含むインターセプトされたメッセージを、受信者以外の行先にリルートする役割を果たす。例えば、メッセージルーター８０６は、インターセプトされたメッセージを検疫サーバーへリルートし、このサーバーは、メッセージが、許可されたビジネスプロセスの一部であるかどうか決定する。もしそうであれば、メッセージルーター８０６は、受信者へメッセージを送信する。もしそうでなければ、メッセージルーター８０６は、ＭＭＳ８００の対応コンポーネントを呼び出して、保護手段（例えば、繊細なデータの阻止、減少、警報の挿入、等）をメッセージに適用する。別の例では、メッセージルーター８０６は、メッセージ送信者のスーパーバイザーにメッセージをリルートし、スーパーバイザーに無断送信を通知する。更に別の例では、メッセージルーター８０６は、メッセージをアーカイブサーバーにリルートし、このサーバーは、メッセージをアーカイブデータベースに保管する。一実施形態では、メッセージルーター８０６は、メッセージを上記行先の幾つか（例えば、検疫サーバー及びアーカイブサーバー、又は検疫サーバー及びスーパーバイザー）にリルートすることができる。
【００９９】
一実施形態では、メッセージルーター８０６は、予め選択されたデータを含むインターセプトされたメッセージを、より高いレベルのチャンネルセキュリティ（例えば、バーチャルプライベートネットワーク（ＶＰＮ）暗号化を使用する）を有するネットワークセグメントを通してリルートするという役割を果たす。
【０１００】
メッセージブロッカー８０８は、予め選択されたデータを含むインターセプトされたメッセージの送信を阻止するという役割を果たす。更に、一実施形態では、メッセージブロッカー８０８は、メッセージ送信者のスーパーバイザー、アーカイブサーバー、又は他の何らかのサイトへメッセージのコピーを送信することもできる。又、一実施形態では、メッセージブロッカー８０８は、メッセージが阻止されたことをメッセージ受信者及び／又はメッセージ送信者に通知するという役割も果たす。
【０１０１】
一実施形態において、メッセージブロッカー８０８は、通信ストリームからメッセージを引き出すことによりメッセージの送信を阻止する。或いは又、メッセージブロッカー８０８は、メッセージの送信を終了することを要求する信号を、メッセージをその後処理するシステム（ダウンストリームシステム）へ送信することができる。このダウンストリームシステムは、次いで、付加的なネットワークパケットを通信ストリームに注入し、予め選択されたデータを含むメッセージの送信を終了することができる。
【０１０２】
メッセージモディファイアー８１０は、インターセプトされたメッセージをリアルタイムで変更するという役割を果たす。以下に詳細に述べるように、メッセージモディファイアー８１０は、メッセージの本体を修正するか（例えば、メッセージにおける繊細なデータを受信者に通知するために）、又はメッセージのヘッダを修正することができる（例えば、その後メッセージを処理するシステムにメッセージにおける繊細なデータを通知するために）。メッセージが修正されると、メッセージルーター８０６は、受信者及び／又は他の行先へメッセージを送信することができる。
【０１０３】
ポリシースペシファイアー８１２は、メッセージアクションポリシーに関するユーザ入力を受け取り、そしてユーザ入力に基づいてメッセージアクションポリシーを定義するという役割を果たす。一実施形態において、メッセージアクションポリシーは、予め選択されたデータのソース（例えば、データベース名、ファイル名、等）を識別するもので、特定のアクション（例えば、阻止、リルート、種々のメッセージ変更、等）をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきか指定するルールのセットを含む。例えば、ルールのセットは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合にメッセージを阻止することを要求する。別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含む場合にメッセージをリルートすることを要求するために、予め選択されたデータの特定列に対する値を指定してもよく、単一行からの一致する情報は、特定列からのデータを含み、そしてこのデータは、指定された値に等しい。更に別の実施形態では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージヘッダが含む場合にそのメッセージヘッダを変更することを要求するために最小数の列を与えてもよく、そして単一行からの情報は、少なくともこの数の指定の列からのデータを含む。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージ本体が含む場合にそのメッセージ本体を変更することを要求するために除外列を指定してもよく、そして単一行からの情報は、指定された除外列からのデータを除外する。更に別の例では、ルールのセットは、予め選択されたデータの少なくともこの数のランダムな行からの情報に一致する断片をメッセージが含む場合にメッセージを阻止することを要求するために最小数の行を指定してもよい。
【０１０４】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール（例えば、メッセージの送信者及び／又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等）を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール（例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール）を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード（１つ又は複数）を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【０１０５】
一実施形態では、メッセージアクションポリシーは、このポリシーのルールに対する例外を識別する例外条項を含む。一実施形態では、例外条項は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び／又は受信者を宣言する。例えば、会社のＣＥＯを指定する例外条項に基づき、ポリシーのルールで指定された予め選択されたデータが存在すると、メッセージの送信者又は受信者がＣＥＯでない限り、あるメッセージアクション（例えば、メッセージの阻止）をトリガーする。例外条項は、個々の送信者及び受信者を宣言してもよいし、又はドメイン又はサイト全体にわたる送信者及び受信者を宣言してもよい。又、例外条項は、メッセージヘッダに関するものでもよい。例えば、例外条項は、メッセージをマーケッティング資料として識別するヘッダ指示子が、予め選択されたデータについてスキャンされずに、意図された受信者へメッセージを送信させねばならないことを宣言してもよい。
【０１０６】
一実施形態では、メッセージアクションポリシーは、メッセージにおける予め選択されたデータの存在によりトリガーされるアクションが特定の特性を有することを要求するルールを含む。これらの特性は、例えば、アクションの希望の時間巾、アクションの希望のスタート時間、アクションを遂行するための希望の位置、等を含む。例えば、メッセージアクションポリシーは、予め選択されたデータからのある情報が存在することでメッセージが検疫サーバーへリルートされ且つ検疫サーバーがそのメッセージを特定の時間周期中保持することを要求する（例えば、検疫サーバーは、金融利益がアナウンスされるまで、金融利益データを含むメッセージを検疫しなければならない）。
【０１０７】
一実施形態では、メッセージアクションポリシーは、指定されたアクションをトリガーするための付加的な条件を指定する。付加的な条件は、メッセージ送信者及び／又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、送信者による繊細なコンテンツの第３の送信の後でなければメッセージが阻止されないことを要求してもよい。
【０１０８】
一実施形態において、メッセージアクションポリシーにおけるルールは、一次ロジック（例えば、ＡＮＤ、ＯＲ、ＮＡＮＤ、ＮＯＲ、ＮＯＴ、等価、非等価、等）を使用して組み合わされる。
【０１０９】
一実施形態において、ポリシースペシファイアー８１２は、ルールパラメータのユーザ入力を容易にするユーザインターフェイスを与える。他の実施形態では、ポリシースペシファイアー８１２は、ユーザにより識別されたルールパラメータを、アプリケーションプログラミングインターフェイス（ＡＰＩ）から受け取るか、或いはテキストにおいてフォーマットされたコンフィギュレーションファイル又は定義されたデータフォーマット（例えば、拡張可能なマークアップ言語（ＸＭＬ）又はバイナリーフォーマット）を経て受け取る。
【０１１０】
別の実施形態では、ＭＭＳ８００は、メッセージアクションポリシーを使用せず、むしろ、インターセプトされた全てのメッセージに対して規定のメッセージアクション（例えば、ユーザにより指定されるか又はプログラムで定義された）を使用するか、或いはメッセージにおいて検出された違反の特性にプログラム指定されたメッセージアクションを選択する。この特性は、例えば、違反の形式（例えば、厳しい違反、軽い違反、等）、規定の時間周期にわたり記録された違反の数（例えば、この送信者による繊細なデータの送信回数）、等を識別するものでよい。
【０１１１】
従って、本発明の幾つかの実施形態は、サーチされたメッセージに現れるソースからのエレメントの順序又はフォーマットとは独立して、テーブルデータソースからの予め選択されたデータのコピーを含むメッセージを正確に阻止する能力を提供する。
【０１１２】
図９−１２Ａは、予め選択された繊細なデータの無断送信を防止するプロセスの別々の実施形態を示すフローチャートである。このプロセスは、ハードウェア（回路、専用ロジック、等）、ソフトウェア（例えば、汎用コンピュータシステム又は専用マシンにおいて実行される）、又は両方の組み合せを含む処理ロジックにより遂行される。一実施形態において、このプロセスは、ＭＭＳ８００により遂行される。
【０１１３】
図９を参照すれば、処理ロジックは、メッセージをインターセプトし、そしてそのインターセプトされたメッセージが予め選択されたデータを含むことを決定することで開始する（処理ブロック９０２）。インターセプトされたメッセージは、組織内の送信者により組織外部の受信者へ送信することができる。或いは又、インターセプトされたメッセージは、組織外部の送信者により組織内の受信者へ送信されてもよい。更に又、インターセプトされたメッセージは、組織内の送信者により組織内の受信者へ送信されてもよい。
【０１１４】
次いで、処理ロジックは、メッセージの送信を阻止する（処理ブロック９０４）。メッセージの送信は、通信ストリームからメッセージを除去するか、或いは通信ストリームに付加的なネットワークパケットを注入して、メッセージの送信を終了させることにより、阻止されてもよい。或いは又、処理ロジックは、予め選択されたデータの存在の指示を、メッセージをその後処理するシステムへ与え、次いで、このシステムが、メッセージの送信を終了させる付加的なネットワークパケットを通信ストリームに注入する。処理ロジックは、ダウンストリームシステムに信号を送信するか、又はメッセージに警報を追加することにより（例えば、メッセージヘッダのフラグをセットすることにより）、この指示を与えることができる。
【０１１５】
処理ブロック９０６において、一実施形態では、処理ロジックは、メッセージ受信者及び／又は送信者に阻止を通知する（処理ブロック９０６）。
【０１１６】
処理ブロック９０８において、一実施形態では、処理ロジックは、メッセージのコピーを別のサイトに送信する。例えば、メッセージのコピーを、送信者のスーパーバイザー、又はアーカイブサーバーへ送信することができる。
【０１１７】
図１０を参照すれば、処理ロジックは、メッセージをインターセプトし、そのインターセプトされたメッセージが予め選択されたデータを含むことを決定し、そしてそのインターセプトされたメッセージを検疫サーバーへリルートすることで開始する（処理ブロック１００２）。次いで、検疫サーバーは、メッセージが、許可されたビジネスプロセスの一部分であるかどうか判断する。この判断は、セキュリティ分析者により与えられた入力に基づいて、又は検疫サーバーで実行されるプログラムにより、行うことができる。メッセージが、許可されたプロセスの一部分でないことを検疫サーバーが示す場合には（処理ブロック１００４）、処理ロジックは、メッセージのコピーを別のサイト（例えば、送信者のスーパーバイザー又はアーカイブサーバー）へ送信する（処理ブロック１００６）。
【０１１８】
検疫サーバーは、メッセージをある時間周期中保持するか、或いは指定の時間又は事象まで保持することができる。例えば、検疫サーバーは、会社の金融利益データを含むメッセージを、会社がこのデータの公式なアナウンスを行なうまで、保持することができる。
【０１１９】
検疫が終わると、処理ロジックは、検疫サーバーから返送されるメッセージを受け取り（処理ブロック１００８）、そして意図される受信者へメッセージを送信する（処理ブロック１０１０）。
【０１２０】
図１１を参照すれば、処理ロジックは、メッセージのヘッダが非スキャニング指示子を含むかどうか決定することで開始する（処理ブロック１１０２）。非スキャニング指示子は、（例えば、メッセージがマーケッティング資料の一部分である場合に）予め選択されたデータについてメッセージをサーチする必要がないことを指定するためにメッセージヘッダに含ませることができる。
【０１２１】
メッセージヘッダが非スキャニング指示子を含む場合には、処理ロジックは、予め選択されたデータの存在に関わらず、受信者へメッセージを送信する（処理ブロック１１０６）。或いは又、処理ロジックは、メッセージをスキャンし、そしてメッセージが予め選択されたデータを含むかどうか決定する（処理ブロック１１０４）。
【０１２２】
メッセージが予め選択されたデータを含まない場合には、処理ロジックは、メッセージを受信者へ送信する（処理ブロック１１０６）。さもなければ、メッセージが予め選択されたデータを含む場合には、処理ロジックは、予め選択されたデータの無断送信を防止するためにメッセージに適用されるべき１つ以上のアクションを識別する（処理ブロック１１０８）。これらアクションは、例えば、メッセージを阻止すること、別のサイト（例えば、検疫サーバー、アーカイブサーバー、送信者のスーパーバイザー、等）へメッセージをリルートすること、より高いレベルのチャンネルセキュリティ（例えば、ＶＰＮ暗号化を使用する）を有するネットワークセグメントを通してメッセージをリルートすること、メッセージを変更すること、等々を含む。
【０１２３】
一実施形態において、メッセージに適用されるべきアクションは、ユーザにより定義されるか、或いは違反の形式（例えば、厳しい違反、軽い違反、等）、メッセージにおいて検出される違反の数（例えば、繊細なデータアイテムの数、繊細な情報がメッセージに含まれた個人の数、等）、或いは検出された違反の他の特性に基づいてプログラムで定義される。別の実施形態では、メッセージに適用されるアクションは、メッセージの送信者及び／又は受信者に関連した経歴データに基づいてプログラムで定義される。例えば、特定の送信者に関連した違反の数がスレッシュホールドを越える場合には、現在メッセージを阻止しなければならず、もしそうでなければ、現在メッセージを検疫サーバーへリルートしなければならない。更に別の実施形態では、メッセージに適用されるアクションは、図１２を参照して以下に詳細に述べるように、メッセージアクションポリシーにより指定される。
【０１２４】
処理ブロック１１１０において、処理ロジックは、処理ブロック１１０８で識別されたアクション（１つ又は複数）をメッセージに適用する。
【０１２５】
図１２Ａを参照すれば、処理ロジックは、メッセージアクションポリシーを識別することで開始する（処理ブロック１２０２）。上述したように、メッセージアクションポリシーは、特定のアクションをトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきかを指定する予め選択されたデータに関するルールのセットを含むことができる。更に、一実施形態では、メッセージアクションポリシーは、前記ルールに対する例外を宣言する例外条項を含むこともできる。これらの例外は、例えば、メッセージヘッダがスキャニング指示子を含む場合だけ予め選択されたデータについてメッセージをサーチすることを要求するヘッダコンテンツベースの例外を含んでもよい。別の例外は、予め選択されたデータを伴うメッセージを交換することが許可された送信者及び／又は受信者を指定することができる。更に、一実施形態では、メッセージアクションポリシーは、ルールにより要求されるアクションをトリガーするための付加的な条件を指定することができる。これら付加的な条件は、メッセージの送信者及び／又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、ルールにより指定されたアクションが、単一送信者による予め選択されたデータの第３送信の後にのみ行なわれることを要求してもよい。
【０１２６】
処理ブロック１２０４において、処理ロジックは、メッセージアクションポリシーがヘッダコンテンツに基づく例外条項を含むかどうか決定する。もしそうでなければ、処理ロジックは、処理ブロック１２０８へ進む。もしそうであれば、処理ロジックは、ヘッダコンテンツに基づく例外が満足されるかどうか更に決定する（処理ブロック１２０６）。
【０１２７】
ヘッダコンテンツに基づく例外が満足された場合には、処理ロジックは、ポリシールールにより指定された予め選択されたデータについてメッセージをサーチせずに、受信者へメッセージを送信する（処理ブロック１２２２）。或いは又、ヘッダコンテンツに基づく例外が満足されない場合には、処理ロジックは、ポリシールールをメッセージに適用する（処理ブロック１２０８）。上述したように、ポリシールールは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合にメッセージにアクションが適用されることを要求してもよい。或いは又、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、単一行からの一致する情報が特定列からのデータを含み、そしてこのデータが指定値に等しい場合に、メッセージにアクションが適用されることを要求してもよい。別の例では、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含みそして単一行からの情報が少なくともある数の指定された列からのデータを含む場合に、メッセージにアクションが適用されることを要求してもよい。更に別の例では、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含みそして単一行からの情報がいずれかの指定された除外列からデータを除外する場合に、メッセージにアクションが適用されることを要求してもよい。更に別の例では、ポリシールールは、予め選択されたデータの少なくともある数のランダムな行からの情報に一致する断片をメッセージが含む場合にメッセージにアクションが適用されることを要求してもよい。
【０１２８】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール（例えば、メッセージの送信者及び／又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等）を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール（例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール）を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード（１つ又は複数）を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【０１２９】
処理ブロック１２１０において、処理ロジックは、ポリシー結果が満足されるかどうか決定する。もしそうでなければ、処理ロジックは、メッセージを受信者に送信する（処理ブロック１２２２）。もしそうであれば、処理ロジックは、ポリシーが付加的な例外条項を含むかどうか決定する（処理ブロック１２１２）。
【０１３０】
ポリシーが付加的な例外条項（例えば、受信者のグループに対する例外を指定する条項）を含まない場合には、処理ロジックは、処理ブロック１２１６へ進む。ポリシーが付加的な例外条項（例えば、受信者のグループに対する例外を指定する条項）を含む場合には、処理ロジックは、この例外条項が満足されるかどうか決定する（処理ブロック１２１４）。もしそうであれば、処理ロジックは、メッセージを受信者へ送信する（処理ブロック１２２２）。もしそうでなければ、処理ロジックは、ポリシーが、送信者及び／又は受信者の以前の経歴に基づいて何らかの条件を含むかどうか決定する（処理ブロック１２１６）。
【０１３１】
ポリシーがいずれの条件を含まない場合には、処理ロジックは、処理ブロック１２２０へ進む。ポリシーが送信者及び／又は受信者の以前の経歴に基づく条件を含む場合には、処理ロジックは、この条件が満足されるかどうか決定する（処理ブロック１２１８）。もしそうでない場合には、処理ロジックは、メッセージを受信者へ送信する（処理ブロック１２２２）。もしそうである場合には、処理ロジックは、ポリシールールにより要求されるアクションをメッセージに適用する（処理ブロック１２２０）。
【０１３２】
図１２Ｂは、特定のポリシーに基づいてｅメールメッセージを取り扱うプロセスを示す。図示されたように、予め選択されたソースデータ１２３０は、口座番号列と、ラストネーム（姓）列と、ファーストネーム（名）列と、残高列とを含む。ポリシー１２３２は、ｅメールメッセージがソースデータ１２３０の単一行からのデータ断片を含み、そしてこれらデータ断片が、メッセージに任意の順序で現れるファーストネーム列、口座番号列、及び残高列からの情報を含む場合に、ｅメールメッセージを阻止することを要求する。
【０１３３】
メッセージ１２４０は、ポリシー１２３２により指定された列からのものであるソースデータ１２３０の行１２３４からのデータ断片１２４２、１２４４及び１２４６を含む。ここでは、メッセージ１２４０が阻止される。
【０１３４】
予め選択されたデータの存在に基づくメッセージの変更
上述したように、図８のＭＭＳ８００は、予め選択されたデータについてメッセージをサーチする。ＭＭＳ８００により処理されるメッセージは、ネットワークスタックのレイヤにおけるネットワークトラフィックの一部分である。例えば、これらのメッセージは、ｅメールメッセージ、インスタントメッセージング（ＩＭ）メッセージ、ｔｅｌｎｅｔセッション中に交換されるメッセージ、ファイル転送プロトコル（ＦＴＰ）セッション中に交換されるメッセージ、等を含む。更に、ＭＭＳ８００により処理されるメッセージは、異なるメッセージフロー形式の一部分であってもよい。例えば、これらのメッセージは、アウトバウンドメッセージ、インバウンドメッセージ、内部メッセージ、又は上記形式の組み合せでよい。
【０１３５】
一実施形態において、ＭＭＳ８００は、予め選択されたデータの存在に基づいてメッセージを変更するメッセージモディファイアー８１０を備えている。特に、一実施形態において、メッセージが予め選択されたデータを含まない場合には、メッセージモディファイアー８１０は、予め選択されたデータの欠落を指示する情報をメッセージに追加する。この情報は、受信者に通知するためにメッセージの本体に追加されるか、又はその後メッセージを処理するシステムに通知するために（例えば、繊細なデータを含まないメッセージを保管するアーカイブシステムに通知するために）メッセージのヘッダに追加される。
【０１３６】
メッセージが予め選択されたデータを含む場合には、メッセージモディファイアー８１０は、異なる形式のメッセージ変更を遂行することができる。メッセージ変更の形式は、ユーザにより予め定義されるか、現在の予め選択されたデータの特性、及び／又は送信者／受信者の特性に基づいてプログラムで定義されるか、或いはメッセージアクションポリシーにより指定される。
【０１３７】
メッセージ変更の形式は、メッセージヘッダの変更、メッセージ主題ラインの変更及びメッセージ本体の変更を含む。メッセージヘッダは、その後メッセージを処理するシステムに、予め選択されたデータの存在を通知するように変更される。このダウンストリームシステムは、次いで、意図された受信者（１人又は複数）にメッセージを送信するのに加えて、又はそれに代わって、あるアクションをメッセージに適用することができる。例えば、アーカイブシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージを保管するのを控える。別の例では、ダウンストリームシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージの送信を終了する付加的なネットワークパケットを通信ストリームに注入することができる。更に別の例では、ダウンストリームシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージの本体を暗号化することができる。更に別の例では、クライアントメールアプリケーションは、メッセージヘッダにおける予め選択されたデータの指示子を見出し、次いで、警報（例えば、「このメッセージは機密である」）をメッセージに追加することができる。
【０１３８】
メッセージの主題ラインは、予め選択されたデータの存在を受信者に通知するように変更することができる。例えば、メッセージの繊細さの警報をメッセージの主題ラインに追加することができる。
【０１３９】
又、メッセージの本体も、予め選択されたデータの存在を受信者に通知するように変更することができる。例えば、メッセージの繊細さの警報をメッセージの本体に追加することができる。或いは又、繊細な情報を含むメッセージの本体をアタッチメントとして再構成することができ、そしてこのアタッチメントが繊細な情報を含むことを指示するように新たなメッセージ本体を再書き込みすることができる。更に別の例では、代用メッセージをオリジナルに代わって送信してもよい。この代用メッセージは、オリジナルのキャッシュコピーを指す安全リンクを含むことができる。この安全リンクは、適切な認証を要求すると共に、セキュアソケットレイヤ（ＳＳＬ）通信プロトコルのようなプロトコルを経てチャンネルセキュリティを確保する。更に別の例では、メッセージにおける予め選択されたデータを編集することができる（例えば、関連メッセージトークンをブラックにしたり、削除したり、あるデータでオーバーライトしたり、等々）。
【０１４０】
メッセージに適用しなければならないメッセージ変更の形式は、メッセージアクションポリシーにより指定することができる。一実施形態において、メッセージアクションポリシーは、特定のメッセージ変更（例えば、ヘッダ変更、主題ライン変更、本体変更、等）をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在しなければならないか指定するルールのセットを含む。例えば、ルールのセットは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合に、あるメッセージ変更を遂行することを要求する。別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、その単一行からの一致する情報が特定列からのデータを含み、そしてこのデータが指定値に等しい場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、そしてその単一行からの情報が少なくともある数の指定列からのデータを含む場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、そしてその単一行からの情報が指定の除外列からデータを除外する場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの少なくともある数のランダムな行からの情報に一致する断片をメッセージが含む場合に、あるメッセージ変更を遂行することを要求する。
【０１４１】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール（例えば、メッセージの送信者及び／又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等）を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール（例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール）を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード（１つ又は複数）を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【０１４２】
一実施形態では、メッセージアクションポリシーは、このポリシーのルールに対する例外を識別する例外条項を含む。一実施形態では、例外条項は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び／又は受信者を宣言する。例えば、会社のＣＥＯを指定する例外条項に基づき、ポリシーのルールで指定された予め選択されたデータが存在すると、メッセージの送信者又は受信者がＣＥＯでない限り、あるメッセージ変更をトリガーする。例外条項は、個々の送信者及び受信者を宣言してもよいし、又は全ドメイン又はサイトにわたる送信者及び受信者を宣言してもよい。又、例外条項は、メッセージヘッダに関するものでもよい。例えば、例外条項は、メッセージをマーケッティング資料として識別するヘッダ指示子が、予め選択されたデータについてスキャンされずに、意図された受信者へメッセージを送信させねばならないことを宣言してもよい。
【０１４３】
一実施形態では、メッセージアクションポリシーは、指定された変更をトリガーするための付加的な条件を指定する。付加的な条件は、メッセージ送信者及び／又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、送信者による繊細なコンテンツの第３の送信の後にメッセージ本体を変更することを要求してもよい。
【０１４４】
図１３−１６Ａは、予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別々の実施形態のフローチャートである。このプロセスは、ハードウェア（回路、専用ロジック、等）、ソフトウェア（例えば、汎用コンピュータシステム又は専用マシンにおいて実行される）、又は両方の組み合せを含む処理ロジックにより遂行される。一実施形態において、このプロセスは、ＭＭＳ８００により遂行される。
【０１４５】
図１３を参照すれば、処理ロジックは、インターセプトされたメッセージが、予め選択されたデータを含むことを決定することで開始する（処理ブロック１３０２）。
【０１４６】
処理ブロック１３０４において、処理ロジックは、予め選択されたデータの存在を指示するようにメッセージを変更する。一実施形態では、処理ロジックは、メッセージのヘッダを変更する。別の実施形態では、処理ロジックは、メッセージの本体を変更する。更に別の実施形態では、処理ロジックは、メッセージの主題ラインを変更する。
【０１４７】
処理ブロック１３０６において、処理ロジックは、変更されたメッセージを受信者へ送信する。更に、一実施形態では、処理ロジックは、オリジナルメッセージのコピーを送信者のスーパーバイザー及び／又はアーカイブシステムへ送信する（処理ブロック１３０８）。処理ロジックは、関連ポリシーにより要求された場合だけ、オリジナルメッセージのコピーを送信者のスーパーバイザー及び／又はアーカイブシステムへ送信する。
【０１４８】
図１４を参照すれば、処理ロジックは、メッセージの本体において予め選択されたデータを検出し、そしてメッセージの本体から予め選択されたデータを抽出することで開始する（処理ブロック１４０２）。
【０１４９】
処理ブロック１４０６において、処理ロジックは、その抽出された予め選択されたデータをアタッチメントとして再構成する。別の実施形態では、処理ロジックは、予め選択されたデータをアタッチメントとして含む全メッセージ本体を再構成する。
【０１５０】
処理ブロック１４０８において、処理ロジックは、アタッチメントが繊細なデータを含むことを指示する警報をメッセージ本体に追加する。
【０１５１】
図１５を参照すれば、処理ロジックは、メッセージにおいて予め選択されたデータを検出し、そしてこの予め選択されたデータのいずれかの部分が編集を必要とするかどうか決定することで開始する（処理ブロック１５０２）。この決定は、予め定義されたルールに基づいて行うことができる（例えば、社会保障番号は編集しなければならないが、出生地は編集しない）。編集が必要でない場合には、処理ロジックは、メッセージを変更せずに受信者へ送信する（処理ブロック１５０８）。或いは又、予め選択されたデータの少なくとも一部分を編集する必要がある場合には、処理ロジックは、予め選択されたデータのこの繊細な部分をリアルタイムで編集し（処理ブロック１５０４）、そしてそれにより得られたメッセージを受信者へ送信する（処理ブロック１５０６）。編集は、例えば、関連メッセージトークンをブラックアウトし、関連メッセージトークンを削除し、関連メッセージトークンをあるデータでオーバーライトし、等々を含む。別の例では、編集は、予め選択されたデータを含む全アタッチメントの除去を含む。
【０１５２】
図１６Ａを参照すれば、処理ロジックは、メッセージアクションポリシーを識別することで開始する（処理ブロック１６０２）。上述したように、メッセージアクションポリシーは、予め選択されたデータに関するルールのセットであって、特定のメッセージ変更をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきであるか指定するルールのセットを含む。更に、一実施形態では、メッセージアクションポリシーは、前記ルールに対する例外を宣言する例外条項を含む。これらの例外は、例えば、メッセージヘッダがスキャニング指示子を含む場合だけ、予め選択されたデータについてメッセージをサーチすることを要求するヘッダコンテンツに基づく例外を含む。別の例外は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び／又は受信者を指定する。更に、一実施形態では、メッセージアクションポリシーは、ルールにより要求されるメッセージ変更をトリガーするための付加的な条件を指定する。これら付加的な条件は、メッセージの送信者及び／又は受信者に関連した経歴データに関するものである。例えば、付加的な条件は、ルールにより指定されたメッセージ変更が、単一の送信者による予め選択されたデータの第３の送信の後にのみ行われることを要求する。
【０１５３】
処理ブロック１６０４において、処理ブロックは、ポリシーに含まれたヘッダコンテンツに基づく例外が満足されるかどうか決定する。もしそうであれば、処理ロジックは、予め選択されたデータについてメッセージをサーチせずに、受信者へオリジナルメッセージを送信する（処理ブロック１６１８）。もしそうでなければ、処理ロジックは、ポリシールールにより指定された予め選択されたデータが見つかったかどうか決定する（処理ブロック１６０６）。
【０１５４】
メッセージが、指定された予め選択されたデータを含まない場合には、処理ロジックは、予め選択されたデータの欠落の指示子をメッセージヘッダに追加し（処理ブロック１６１６）、そしてメッセージを受信者へ送信する（処理ブロック１６１８）。メッセージが、指定された予め選択されたデータを含む場合には、処理ロジックは、受信者／送信者例外が満足されたかどうか決定する（処理ブロック１６０８）。もしそうであれば（即ち、メッセージの受信は及び／又は送信者が、予め選択されたデータを含むメッセージを交換することが許可された場合）、処理ロジックは、オリジナルメッセージを受信者へ送信する（処理ブロック１６１８）。もしそうでなければ、処理ロジックは、送信者及び／又は受信者の以前の経歴に基づく条件が満足されるかどうか決定し、処理ロジックは、この条件が満足されるかどうか決定する（処理ブロック１６１０）。以前の経歴条件が満足されない場合には、処理ロジックは、オリジナルメッセージを受信者へ送信する（処理ブロック１６１８）。以前の経歴条件が満足される場合には、処理ロジックは、メッセージアクションポリシーにより要求されるようにメッセージを変更し（処理ブロック１６１２）、そしてその変更されたメッセージを受信者へ送信する（処理ブロック１６１４）。
【０１５５】
図１６Ｂは、特定のポリシーに基づいてｅメールメッセージを取り扱うプロセスを示す。図示されたように、例示的な予め選択されたソースデータ１６３０は、口座番号列と、ラストネーム（姓）列と、ファーストネーム（名）列と、残高列とを含む。ポリシー１６３２は、ｅメールメッセージがソースデータ１６３０の単一行からのデータ断片を含み、そしてこれらデータ断片が、メッセージに任意の順序で現れるファーストネーム列、口座番号列、及び残高列からの情報を含む場合に、ｅメールメッセージを変更することを要求する。
【０１５６】
メッセージ１６４０は、ポリシー１６３２により指定された列からのものであるソースデータ１６３０の行１６３４からのデータ断片１６４２、１６４４及び１６４６を含む。ここでは、メッセージ１６４０が変更される。
【０１５７】
従来技術との比較
データベース問合せメカニズムは、ここに述べる教示とは著しく相違する。１つの相違は、Ｂ−ツリーが、実際に、それらがインデックスするデータベーステーブルの断片を含むことである。上述した解決策では、インデックスの内部に記憶されたデータベースデータのコピーはない。これが重要である理由は、上述したように、ＤＭＳは、データを脱出から保護するためにインデックスのコピーをもたねばならないが、ＤＭＳは、又、著しい脅威に曝され得るネットワーク内の位置に最良に配備されるからである。ＤＭＳが使用するインデックスを、データベースデータのコンポーネントがないように保持することが、重要な要件である。
【０１５８】
標準的なデータベース問合せメカニズムと、ここに述べる本発明との間の別の相違は、要求された問合せの形式で行わねばならない。リレーショナルデータベースに使用される問合せの標準的セットは、ＡＮＤ及びＯＲのような接続語を使用する述語論理をベースとしている。この基本的なシステムは、通常、ｅメール及びウェブメールメッセージへ切り取って貼り付けるデータベースデータの検出に対して充分機能しない。ｅメールメッセージへ切り取って貼り付けるデータベースデータは、通常、レポートからのものであり、無関係な各ラインにデータをしばしば含み、データベーステーブル内では見つからない。その一例は、例えば、一群の顧客に対する口座情報を含むｅメールメッセージである。このようなメッセージは、保護を必要とするコアデータベースからの沢山のレコード、例えば、ファーストネーム、ラストネーム、社会保障番号、等を含むが、コアデータベーステーブルにない情報も含むことができる。典型的な例は、他のデータベースから「結合」される情報である。別の例は、データベースデータのフィールドを分離するトークンをフォーマットする簡単なラインである。これらラインの各々に通常見られるこの余計なデータがおそらくあるために、出て行くメッセージのライン上の各トークンに適用されるＡＮＤ及びＯＲのような標準的な述語論理接続語は、ヒットが多過ぎるか（ＯＲの場合のように）又はヒットがゼロか（ＡＮＤの場合のように）のいずれかとなる。ここでの説明では、システムは、ｎがライン内の全トークン数より相当に小さい場合でも、全てデータベーステーブルの同じ行からのｎ個以上のトークンの存在を検出することができる。これは、データベース及びドキュメント問合せメカニズムに対する本発明と上述した従来技術との間の別の顕著な相違である。
【０１５９】
上述した技術と情報検索技術との間には多数の大きな相違がある。第１に、これらシステムのためのインデックスは、保護されるべきデータベースに記憶される同じ用語を（コンコーダンス内に）含んでいる。ここでも、システムは、潜在的にハッカーの脅威のもとにあるネットワークの位置にこのインデックスを配備するので、これは、明白な欠点である。第２に、これら問合せシステムは、ＡＮＤ及びＯＲのような述語論理の形態を使用してブールの問合せを実行する。上述したように、この解決策は、他のテーブルからの無関係なデータとおそらく「結合」されたデータベースレコードを検出するための個別の欠点である。
【０１６０】
ファイルシングリングの技術は、ここに述べる技術に類似しているが、実質的に相違する。ファイルシングリングでは、関心のある主題は、テキストデータ（散文、ソフトウェア、アウトライン、等）である。ここに述べる技術では、データベースデータを保護することに焦点が当てられる。１つの相違は、所与のデータベーステーブルからのデータベースデータが、テストメッセージにおいて任意に並び替えられた行順序又は列順序で現れることである。これらの並び替えは、データベースデータを抽出するために通常適用される問合せメカニズムの簡単な結果である。データベース問合せは、任意の列順序及び任意の行順序となるデータベースデータのブロックを生じさせることができる。この理由で、ファイルシングリングの基本的技術は、データベースデータに適用された場合に機能しない。ファイルシングリングは、保護されたドキュメントとテストドキュメントとの間で同じ直線的シーケンスをたどることを仮定する。
【０１６１】
インターネットコンテンツフィルタリングシステムと、ここに述べる教示との間には、多数の重要な相違がある。上述したように、インターネットコンテンツフィルタリングシステムは、キーワードサーチをベースとする。上述した新規な技術は、保護しようとするデータベースデータからアブストラクトデータ構造体を構築する。このアブストラクトデータ構造体は、保護しようと試みるテキストの断片を含まない。キーワードフィルタリングシステムは、その問合せを実行するためにサーチしているテキストのある表現を含まねばならない。第２の大きな相違は、これらのインターネットコンテンツフィルタリングシステムがデータベースデータの保護を意図していないことである。通常の表現マッチングを使用して、データベースデータに対する組織のプライバシーポリシーの違反を検出すると、非常に不正確な検出方法を招く。これらのシステムは、主として、ポルノ又は虐待的コンテンツ及び言語に関係するような、従業員によるインターネットの悪用を停止するために適用される。このようなシステムは、データベースデータの保護に適用された場合には、通常の表現を使用して、データベースレコードにマッチングさせる。これは、セキュリティリスクが最大となるようなネットワーク上のコンピュータにデータベースデータの断片を転送する結果にもなる。
【０１６２】
例示的コンピュータシステム
図１７は、ここに述べるオペレーションの１つ以上を遂行する例示的コンピュータシステムのブロック図である。図１７を参照すれば、コンピュータシステム１７００は、例示的クライアント１７５０又はサーバー１７００コンピュータシステムを含む。コンピュータシステム１７００は、情報を通信するための通信メカニズム又はバス１７１１と、情報を処理するためにバス１７１１に結合されたプロセッサ１７１２とを備えている。プロセッサ１７１２は、例えば、ＰｅｎｔｉｕｍTM、ＰｏｗｅｒＰＣTM、ＡｌｐｈａTM、等のマイクロプロセッサを含むが、これに限定されない。
【０１６３】
システム１７００は、更に、プロセッサ１７１２により実行されるべきインストラクション及び情報を記憶するためにバス１７１１に結合されたランダムアクセスメモリ（ＲＡＭ）又は他のダイナミック記憶装置１７０４（メインメモリと称される）を備えている。メインメモリ１７０４は、又、プロセッサ１７１２によるインストラクションの実行中に一時的変数又は他の中間情報を記憶するのにも使用できる。
【０１６４】
又、コンピュータシステム１７００は、プロセッサ１７１２のためのスタティック情報及びインストラクションを記憶するためにバス１７１１に結合されたリードオンリメモリ（ＲＯＭ）及び／又は他のスタティック記憶装置１７０６と、磁気ディスク又は光学ディスク及びそれに対応するディスクドライブのようなデータ記憶装置１７０７も備えている。データ記憶装置１７０７は、情報及びインストラクションを記憶するためにバス１７１１に結合される。
【０１６５】
コンピュータシステム１７００は、更に、コンピュータユーザに情報を表示するためにバス１７１１に結合された陰極線管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）のようなディスプレイ装置１７２１に結合される。プロセッサ１７２２に情報及びコマンド選択を通信するために、アルファニューメリックキー及び他のキーを含むアルファニューメリック入力装置１７２２もバス１７１１に結合される。付加的なユーザ入力装置は、マウス、トラックボール、トラックパッド、スタイラス、又はカーソル方向キーのようなカーソルコントローラ１７２３であり、これは、方向情報及びコマンド選択をプロセッサ１７２２へ通信すると共に、ディスプレイ１７２１上のカーソル移動を制御するために、バス１７１１に結合される。
【０１６６】
バス１７１１に結合される別の装置は、ハードコピー装置１７２４であり、これは、インストラクション、データ、又は他の情報をペーパー、フィルムのような媒体、又は同様の形式の媒体にプリントするのに使用される。更に、音声記録及び再生装置、例えば、スピーカ及び／又はマイクロホンが、コンピュータシステム１７００との音声インターフェイスのためにバス１７１１に任意に結合される。バス１７１１に結合される別の装置は、電話又はハンドヘルドパルム装置と通信するためのワイヤード／ワイヤレス通信能力１７２５である。
【０１６７】
システム１７００及びそれに関連したハードウェアのいずれか又は全てのコンポーネントを本発明に使用できることに注意されたい。しかしながら、コンピュータシステムの他の構成は、幾つかの又は全ての装置を含んでもよいことが明らかである。
【０１６８】
当業者であれば、前記説明を読んだ後に、本発明の多数の変更や修正が疑いなく明らかであろうが、例示のために図示して説明した特定の実施形態は、本発明をこれに限定するものではないことを理解されたい。それ故、種々の実施形態の細部を参照することは、本発明の本質と考えられる特徴のみを列挙した特許請求の範囲を限定するものではない。
【図面の簡単な説明】
【０１６９】
【図１】ワークフローの一実施形態を示す。
【図２Ａ−Ｂ】例示的なオペレーションモードを示す。
【図３】データベースのデータを保護するプロセスの一実施形態を示すフローチャートである。
【図４】データベースのデータをインデックスするプロセスの一実施形態を示すフローチャートである。
【図５】予め選択されたデータに対する情報コンテンツをサーチするプロセスの一実施形態を示すフローチャートである。
【図６Ａ】予め選択されたデータから導出されたアブストラクトデータ構造体におけるコンテンツ断片のサブセットに対する一致を見つけるプロセスの一実施形態を示すフローチャートである。
【図６Ｂ】予め選択されたデータから導出されたアブストラクトデータ構造体におけるコンテンツ断片のサブセットに対する一致を見つけるプロセスの一実施形態を示すフローチャートである。
【図７Ａ】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの実施形態を示すフローチャートである。
【図７Ｂ】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの別の実施形態を示すフローチャートである。
【図７Ｃ】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの別の実施形態を示すフローチャートである。
【図８】メッセージ監視システムの一実施形態を示すブロック図である。
【図９】予め選択された繊細なデータの無断送信を防止するプロセスの実施形態を示すフローチャートである。
【図１０】予め選択された繊細なデータの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図１１】予め選択された繊細なデータの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図１２Ａ】予め選択された繊細なデータの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図１２Ｂ】特定のポリシーに基づいてｅメールメッセージを取り扱うプロセスを示す図である。
【図１３】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの実施形態を示すフローチャートである。
【図１４】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図１５】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図１６Ａ】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図１６Ｂ】特定のポリシーに基づいてｅメールメッセージを変更するプロセスを示す図である。
【図１７】ここに述べる１つ以上のオペレーションを遂行できる例示的コンピュータシステムのブロック図である。
【図１】
2008537195.tif 000003
【図２Ａ−Ｂ】
2008537195.tif 000004
【図３】
2008537195.tif 000005
【図４】
2008537195.tif 000006
【図５】
2008537195.tif 000007
【図６Ａ】
2008537195.tif 000008
【図６Ｂ】
2008537195.tif 000009
【図７Ａ】
2008537195.tif 000010
【図７Ｂ】
2008537195.tif 000011
【図７Ｃ】
2008537195.tif 000012
【図８】
2008537195.tif 000013
【図９】
2008537195.tif 000014
【図１０】
2008537195.tif 000015
【図１１】
2008537195.tif 000016
【図１２Ａ】
2008537195.tif 000017
【図１２Ｂ】
2008537195.tif 000018
【図１３】
2008537195.tif 000019
【図１４】
2008537195.tif 000020
【図１５】
2008537195.tif 000021
【図１６Ａ】
2008537195.tif 000022
【図１６Ｂ】
2008537195.tif 000023
【図１７】
2008537195.tif 000024
【国際調査報告】
2008537195.tif 000025
2008537195.tif 000026
2008537195.tif 000027
2008537195.tif 000028