予め選択されたデータを含むメッセージを取り扱う方法及び装置
【課題】予め選択されたデータを含むメッセージの送信を阻止する。
【解決手段】一実施形態において、この方法は、ネットワークを経て受信者へ送信されるメッセージが予め選択されたデータを含むことを決定するステップを備えている。予め選択されたデータは、ソースデータのテーブル構造体内の少なくとも1つのランダムな行からの情報を含む。この方法は、更に、受信者への予め選択されたデータの無断送信を防止するステップも備えている。
【解決手段】一実施形態において、この方法は、ネットワークを経て受信者へ送信されるメッセージが予め選択されたデータを含むことを決定するステップを備えている。予め選択されたデータは、ソースデータのテーブル構造体内の少なくとも1つのランダムな行からの情報を含む。この方法は、更に、受信者への予め選択されたデータの無断送信を防止するステップも備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理の分野に係り、より詳細には、予め選択された(例えば、所有権)データを含むメッセージの取り扱いに係る。
【背景技術】
【0002】
多くの組織は、セキュリティに機密な大量の情報をリレーショナルデータベースに記憶している。この形式のデータは、通常、物理的セキュリティ、アクセス制御、周辺セキュリティ制限、及びある場合には、暗号化を含む非常に徹底したセキュリティ対策を受ける。データベースデータへのアクセスは、企業における大勢の従業員の職務にとって必須であるから、この情報が盗難にあったり偶発的に配布されたりする多数のポイントが考えられる。情報の盗難や、悪意のない不注意な開示は、知的財産の価値及び取締り遵守に関係した法的責任の両方に関して著しいビジネスリスクを意味する。
【0003】
リレーショナルデータベースシステム
リレーショナルデータベースシステムは、膨大な範囲のアプリケーションにとって有用である。リレーショナル構造体は、データに問合せするための生来の直観的な仕方を表わす形態でデータを保持し、基礎となるディスク記憶システムの詳細をユーザから隠すという付加的な利点を有する。データベースシステムの典型的なアプリケーションは、当然テーブル構造体へとフォーマットできるデータの非常に多数の小さな断片を記憶し検索することを含む。リレーショナルデータベースは、高い有用性を有する。というのは、ほとんどの人々が気にかける問合せの形式を、以下に述べる良く知られたインデックス構造体を使用して最適化できるからである。
【0004】
リレーショナルデータベースシステムで要求される問合せは、ユーザが探しているテーブルデータをユーザが簡潔に要求するのを許す構造化問合せ言語(SQL)と称される生来の直感的述語論理を使用する。データベーステーブルには、ほとんど常に、SQLに基づく問合せをより効率的なものにするインデックスが設けられる。これらのインデックスは、B−ツリーと称するデータ構造体を使用してメモリに記憶される。現在の検討に最も関連したB−ツリーの顕著な特性は、次の通りである。
B−ツリーは、バイナリーツリーに基づくアブストラクトデータ構造体であり;
B−ツリーは、それがインデックスするデータのあるコピーを含まねばならず;そして
B−ツリーは、以下に述べる問合せを使用すると、最も効率的である。
【0005】
多数の問合せ例がある。
式A=vの厳密な一致問合せ:ここで、
Aは、所与のデータベーステーブルの列又は「属性」を指す
vは、特定の属性値を指す
例えば、SELECT*FROM CUSTOMERS WHERE Income=30,000
式v1<A<v2の範囲問合せ:ここで、
Aは、所与のデータベーステーブルの列又は「属性」を指す
例えば、SELECT*FROM CUSTOMERS WHERE 30 < Income < 40
式A MATCHES s*のプレフィックス問合せ:ここで、
“s”は、特定ストリング値を指す
“s*”は、通常の表現である
例えば、Last_Name MATCHES “Smith”
【0006】
データベースシステムの分野における最初の研究に対して多数の参考文献がある。その第1は、E. F. Doddによるリレーショナルデータベースに関する発展性のある研究“A Relational Model of Data for Large Shared Data Banks”、Communications of the ACM、13(6):377−387、1970である。
【0007】
第2の参照文献は、上述した形式の効率的な問合せを可能にする基本的データ構造体である“B-Tree”データ構造体に関する最初に出版された研究の1つである。Rudolf Bayer及びEdward M. McCreightの“Organization and Maintenance of Large Ordered Indices”、Record of the 1970 ACM SIGFIDET Workshop on Data Description and Access、11月15−16日、1970年、ライスユニバーシティ、ヒューストン、テキサス州、USA(第2版、アペンディックス付き)、ページ107−141、ACM、1970年。
【0008】
情報検索システム
情報検索は、ドキュメントに見出されたテキストデータの記憶及び検索を取り扱う広範囲な分野である。これらのシステムは、主として、テーブルデータではなく標準的なドキュメントに焦点をおいたという点でデータベースシステムとは相違する。このシステムの初期の例は、コーネル(Cornell)においてSMARTシステムの一部分として開発された。今日、最も知られた情報検索アプリケーションは、Google、Inktomi及びAltaVistaのようなウェブベースのサーチエンジンである。これらのシステムを使用するための典型的な方法は、デジタルドキュメントの大きなセットの一部分であるドキュメントに対する参照を見出すことである。これらアプリケーションに対するユーザの経験は、通常、結果のブラウジングとインターリーブされた一連の問合せで構成される。問合せの結果は、関連性が低下する順に表わされ、ユーザは、更なるブラウジングの後に問合せを洗練化することができる。リレーショナルデータベースと同様に、これらシステムの甚だしい人気は、人々が最も有用に見出す問合せの形式に対して迅速な応答を与えるための基礎的なインデックスの能力によるものである。
【0009】
これらシステムのほとんどは、インデックスされたドキュメントの集合から構築されるいわゆる「コンコーダンス」から導出されるインデックスをベースとするものである。これらのコンコーダンスは、ワードごとに、各ドキュメントにおいてそのワードが各々生じる位置をリストしたデータ構造体を含む。このようなデータ構造体は、特定の用語を含む全てのドキュメントの迅速なルックアップを許す。用語の集合を含む全てのドキュメントを求めるユーザ問合せに対して、インデックスは、高次元のユークリッドベクトル空間における非常に多数のベクトルを表わすように構成される。次いで、問合せ用語のユーザリストも、この空間におけるベクトルとして解釈し直される。問合せは、ドキュメント空間におけるどのベクトルが問合せベクトルに最も近いか見出すことにより実行される。この最後の解決策は、精度及び速度のために種々の異なる最適化が適用され、「コサインメトリック(cosine metric)」と称される。
【0010】
上述したように、これら種類のシステムとの典型的なユーザ相互作用は、問合せ、ブラウジング、洗練化、そして再び問合せへと戻る反復サイクルである。問合せ結果は、通常、関連性の順序でランク付けされた非常に多数のドキュメントであり、偽の肯定レートが非常に高くなる。問合せについての幾つかの古典的な例がある。
ブールの問合せは、次のようなものである。
a)用語「データベース」及び「インデックス」を含む全てのドキュメント
b)「データベース」又は「インデックス」を含むが、「サイベース(Sybase)」を含まない全てのドキュメント
リンクベースの問合せは、次のようなものである。
a)用語「ドッグ(dog)」を含むドキュメントによりリンクされる全てのドキュメント
b)ワード「ドッグ」を含む最も「人気のある」(即ちリンクされた)ドキュメント
【0011】
情報検索システムの第1の意義のある実施プロジェクトの1つは、コーネルにおけるSMARTシステムである。このシステムは、今日も依然使用されている情報検索システムの本質的なコンポーネントの多くを含む:C. Buckley著、“Implementation of the SMART Information Retrieval System”、テクニカルレポートTR85−686、コーネルユニバーシティ、1985年。
【0012】
WAISプロジェクトは、シンキングマシンズインク(Thinking Machines Inc.)により製造された大規模なパラレルスーパーコンピュータの初期のアプリケーションであった。これは、インターネットを経て利用できるようにされる第1フィールド情報検索システムの1つである。この研究に対するこの一次参照ソースは、Brewster Kahle及びArt Medlarの“An Information System for Corporate Users: Wide Area Information Servers”、テクニカルレポートTMC−199、シンキングマシンズインク、1991年4月、バージョン3.19である。
【0013】
インターネットサーチサービスの多くの現代コマーシャル売主の中にGoogleがある。サーチ精度においてのGoogleの真の躍進は、インデックスされたドキュメントのテキスト及びハイパーリンク構造の両方からのデータを収穫するための能力である。Sergey Brain、Lawrence Page、“The Anatomy of a Large-Scale Hypertextual Web Search Engine”、http://dbpubs.stanford.edu:8090/pub/1998-8を参照されたい。
【0014】
ファイルシングリングシステム
デジタルドキュメントをコピーし配布するインターネット及び手ごろな手段の成長は、ドキュメントの不法又は不適切なコピーを検出する上で助けとなる技術においてリサーチの関心に拍車をかけた。この研究についての主たる用途は、著作権法の違反を検出し、剽窃行為を検出することであった。又、この問題は、スパムeメール(AKA非懇願コマーシャルeメール)の検出及び自動的削除にも関係しているので、著しい関心がある。これら技術のほとんどを説明するのに適用される技術用語は、ドキュメント断片の隣接シーケンスがハッシュコードにより「シングル(shingle)」に減少され、次いで、それらがドキュメントにおいて見つかったのと同じシーケンスでルックアップテーブルに記憶される「ファイルシングリング(file shingling)」である。
【0015】
ファイルシングリングは、2つのドキュメント間の類似性を見つけるための非常に迅速な方法を与える。特定のドキュメント(例えば、テキストファイル)に対して保護を与えるために、ドキュメントをセンテンスごとにハッシュし、そしてこれらのハッシュされたセンテンスを素早くルックアップするためにテーブルに記憶することにより、ドキュメントがシングリングされる。新たなドキュメントをテストして、著作権のあるコンテンツの断片を含んでいるかどうか調べるために、同じハッシュ関数をテストメッセージの各断片に適用し、それら断片が著作権コンテンツの場合と同様の順序で現れるかどうか調べる。この技術は、個々の断片をルックアップするのに必要な時間が非常に速いので、迅速である。
【0016】
ファイルシングリングシステムとの典型的なユーザ相互作用は、能動的ではなく、受動的である。ファイルシングリングシステムは、通常、ドキュメントを自動的に処理し、そして問合せ結果をユーザに非同期で配送するように設定される。典型的なファイルシングリングアプリケーションは、スパム防止であり、1組のメッセージを使用して、組織がそのeメールシステムへの配送を希望しない制限されたコンテンツのインデックスを生成する。このシナリオにおいて、「問合せ」とは、単に、eメールメッセージの自動処理及び適当な自動ルーティングである。
【0017】
ドキュメント等価問合せに関して、各テストドキュメントtに対して、tと同じコンテンツを有する全てのドキュメントdを、インデックスされたドキュメントの集合において見出す。スパム検出を容易にするため、セットdは、全ての既知のアクティブなスパムメッセージであり、そしてドキュメントtは、到来するeメールメッセージである。
【0018】
切り取って貼り付ける(cut-and-paste)検出の問合せについては、各テストドキュメントtに対して、ドキュメントdのある断片がドキュメントtに生じるような全てのドキュメントdを、インデックスされたドキュメントの集合において見出す。剽窃行為を検出する場合には、セットdが、特定のクラスに対して以前に提示された全てのエッセーであり、そしてドキュメントtは、剽窃行為が疑われている学生により書かれた新聞である。
【0019】
ファイルシングリングにおける主たる公表されたリサーチプロジェクトは、KOALA、COPS、及びSCAMと称される。これらは、全て、上述した基本的なファイルシングリング解決策の変形を、性能及び精度を最適化する変形と共に使用する。KOALAに関する情報については、N. Heintzeの“Scalable Document Fingerprinting”、Proceedings of Second USENIX Workshop on Electronic Commerce、1996年11月、http://www-2.cs.cmu.edu/afs/cs/user/nch/www/koala/main.htmlを参照されたい。COPSに関する情報については、S. Brin、J. Davis、及びH. Garcia-Molinaの“Copy Detection Mechanisms for Digital Documents”、Proceedings of the ACM SIGMOD Annual Conference、1995年5月を参照されたい。SCAMに関する情報については、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)、1995年6月、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) 1996年3月、http://www-db.stanford.edu/pub/pagers/performance.ps.も参照されたい。
【0020】
インターネットコンテンツフィルタリングシステム
コンテンツフィルタリングシステムと称される種々のコマーシャルアプリケーションが保護対策を実施する。このカテゴリーには、ウェブサイト制限/モニタリングソフトウェア、及びeメールコンテンツ制御、の2つの主たる形式のアプリケーションが存在する。両方の場合に、現在使用される主たるアルゴリズムは、テキスト断片のセット集合のための1組の通常の表現に対するパターンマッチングであって、データの誤用を指示するものである。その一例は、テキスト断片「XXX」を含むURLに全てのブラウジングを制限することである。eメールコンテンツ制御カテゴリーに対する一例は、ワード「所有権(proprietary)」及び「機密(confidential)」を含む全てのeメールを停止し且つ阻止するが、ワード「ジョーク(joke)」又は「冗談(kidding)」を含むものは、そのようにしないことである。
【0021】
ファイアウオール、侵入検出及び侵入防止システム
共通の形式のメッセージ処理システムは、ファイアウオールと称される。ファイアウオール及び侵入検出システムは、ネットワーク間の通信を監視し、そしてソース及び行先アドレス、ポート番号、及びパケットコンテンツのようなルールに基づいてコンテンツのフィルタリングを実施する。これらのルールは、通常、上述したように、厳密なマッチング及びパターンマッチングをベースとする。これらのシステムは、無断通信がなされたことを検出すると、通信を阻止するか、それをリルートするか、又はそれを単に報告するかのいずれかである。
【0022】
ウイルス防止システム
ウイルス防止システムは、メッセージ(通常、eメール及びHTTPメッセージ)を、悪意の実行コードについてサーチする。メッセージが、ウイルス符牒に一致する実行コードの断片を含むことが分かった場合には、メッセージが阻止されるか、削除されるか、又は検疫サーバーへリルートされる。悪意のコードを検出するために適用される典型的なサーチアルゴリズムは、直接的な比較により疑わしいメッセージ内の悪意のコードの既知の断片をサーチする。
【0023】
スパム防止システム
非懇願のコマーシャルメッセージ(「スパム」として一般に知られている)を阻止する上で助けとなる種々のシステムが存在する。これらのシステムは、到来するメッセージ(通常eメールメッセージ)を監視し、そしてコマーシャルメッセージの確認を専門に扱うコンテンツ検出アルゴリズムを使用してそれらをフィルタリングする。1)ソースブラックリスティング、2)厳密マッチング、及び3)統計学的プロフィーリング、の3つの良く知られた解決策が存在する。ソースブラックリスティングでは、スパムの既知のソースが識別され、次いで、これらソースからの通信が無視される。厳密なマッチングでは、到来するメッセージが、完全な又は部分的な形態でスパムの既知のサンプルと直接的に比較され、そして充分にオーバーラップすることが分ると、到来するメッセージが拒絶され、又は検疫される。統計学的なプロフィーリングでは、スパムの既知のサンプルが、統計学的な技術(例えば、ベイズ分析又はワード使用頻度)を使用してプロフィーリングされる。次いで、到来するメッセージが到着するときにそれらの統計学的なプロフィールが取り上げられ、そして到来するメッセージのプロフィールがスパムメッセージに一致する場合に、そのメッセージが破棄されるか、又は検疫サーバーへリルートされる。
【発明の概要】
【0024】
テーブルデータソースからの予め選択されたデータを含むメッセージを取り扱うための方法及び装置が説明される。ある実施形態では、この方法は、ネットワークを経て受信者へ送信されるメッセージが、指定のテーブルデータソースからの予め選択されたデータを含むことを決定するステップを備えている。予め選択されたデータは、ソースデータのテーブル構造体内の少なくとも1つのランダムな行からの情報を含む。この方法は、更に、予め選択されたデータの、受信者への無断送信を防止するステップも含む。
【0025】
本発明は、本発明の種々の実施形態についての以下の詳細な説明及び添付図面から充分に理解されよう。しかしながら、これは、例示に過ぎず、本発明は、この特定の実施形態に限定されるものではない。
【図面の簡単な説明】
【0026】
【図1】ワークフローの一実施形態を示す。
【図2】A−Bは、例示的なオペレーションモードを示す。
【図3】データベースのデータを保護するプロセスの一実施形態を示すフローチャートである。
【図4】データベースのデータをインデックスするプロセスの一実施形態を示すフローチャートである。
【図5】予め選択されたデータに対する情報コンテンツをサーチするプロセスの一実施形態を示すフローチャートである。
【図6A】予め選択されたデータから導出されたアブストラクトデータ構造体におけるコンテンツ断片のサブセットに対する一致を見つけるプロセスの一実施形態を示すフローチャートである。
【図6B】予め選択されたデータから導出されたアブストラクトデータ構造体におけるコンテンツ断片のサブセットに対する一致を見つけるプロセスの一実施形態を示すフローチャートである。
【図7A】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの実施形態を示すフローチャートである。
【図7B】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの別の実施形態を示すフローチャートである。
【図7C】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの別の実施形態を示すフローチャートである。
【図8】メッセージ監視システムの一実施形態を示すブロック図である。
【図9】予め選択された機密データの無断送信を防止するプロセスの実施形態を示すフローチャートである。
【図10】予め選択された機密データの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図11】予め選択された機密データの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図12A】予め選択された機密データの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図12B】特定のポリシーに基づいてeメールメッセージを取り扱うプロセスを示す図である。
【図13】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの実施形態を示すフローチャートである。
【図14】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図15】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図16A】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図16B】特定のポリシーに基づいてeメールメッセージを変更するプロセスを示す図である。
【図17】ここに述べる1つ以上のオペレーションを遂行できる例示的コンピュータシステムのブロック図である。
【発明を実施するための形態】
【0027】
予め選択された機密データを含むメッセージを取り扱うためのシステム及び方法について説明する。以下の説明では、本発明をより完全に説明するために多数の細部について述べる。しかしながら、当業者であれば、これらの特定の細部を伴わずに本発明を実施できることが明らかであろう。他の例において、良く知られた構造及び装置は、本発明を不明瞭にするのを回避するために、詳細に示すのではなく、ブロック図で示す。
【0028】
以下の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズム及び記号表現に関して表わされる。これらアルゴリズム記述及び表現は、データ処理技術の当業者により、それらの仕事の実体をその分野の他の等業者に伝えるために使用される手段である。アルゴリズムは、ここでは、一般的に、希望の結果を導くステップの自己矛盾のないシーケンスと考えられる。これらステップは、物理量の物理的操作を要求するものである。通常、必ずしもそうでないが、これらの量は、記憶、転送、合成、比較、その他、操作することのできる電気信号又は磁気信号の形態をとる。時には、主として、共通に使用するという理由で、これらの信号をビット、値、エレメント、記号、キャラクタ、項、番号、等として参照するのが便利なことが分った。
【0029】
しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられ、これらの量に適用される単なる便利な表示に過ぎないことを銘記されたい。特に記載しない限り、以下の説明から明らかなように、説明全体にわたり、「処理」又は「コンピューティング」又は「計算」又は「決定」又は「表示」等の用語を使用する論議は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表わされたデータを、コンピュータシステムメモリ又はレジスタ、或いは他のそのような情報記憶、送信又はディスプレイ装置内の物理量として同様に表わされた他のデータへと操作及び変換するコンピュータシステム又は同様の電子的コンピューティング装置のアクション及びプロセスを指すことが明らかであろう。
【0030】
又、本発明は、ここに述べるオペレーションを遂行するための装置にも係る。この装置は、要求された目的に対して特別に構成されてもよいし、或いは記憶されたコンピュータプログラムにより選択的にアクチベート又は再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、コンピュータ読み取り可能な記憶媒体、例えば、これに限定されないが、フロッピー(登録商標)ディスク、光学ディスク、CD−ROM及び磁気−光学ディスクを含む任意の形式のディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光学カード、或いは電子的インストラクションを記憶するのに適したもので、コンピュータシステムバスに各々結合された任意の形式の媒体に記憶することができる。
【0031】
アルゴリズム及びそこに表現される表示は、特定のコンピュータ又は他の装置に固有に関係したものではない。種々の汎用システムは、ここでの教示に基づくプログラムに使用されてもよいし、或いは必要な方法ステップを遂行するための特殊な装置を構成するのに便利であることも分っている。種々のこれらシステムに必要な構造は、以下の説明から明らかとなろう。更に、本発明は、特定のプログラミング言語を参照して説明するものではない。ここに述べる本発明の教示を実施するのに種々のプログラミング言語を使用できることが明らかであろう。
【0032】
マシン読み取り可能な媒体は、マシン(例えば、コンピュータ)により読み取りできる形態で情報を記憶又は送信するためのメカニズムを含む。例えば、マシン読み取り可能な媒体は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気、光学、音響又は他の形式の伝播信号(例えば、搬送波、赤外線信号、デジタル信号、等)、等々を含む。
【0033】
実施形態の要素
一実施形態において、ここに述べる検出機構を遂行するためのシステムは、2つの主たる要素、即ちポリシーマネージメントシステム(PMS)、及びメッセージモニタリングシステム(MMS)より成る。PMSは、ネットワークを経て送信されるメッセージ内に含まれるか、又はポータブルコンピュータ、デスクトップコンピュータ、パーソナルデジタルアシスタント、セルラー電話、等のパーソナルコンピューティング装置のデータ記憶媒体に記憶されるソースデータ(例えば、データベースデータ)を使用し送信するための情報セキュリティポリシーを決定するユーザ入力を受け容れるという役割を果たす。従って、このデータは、予め選択される。ここで使用する「パーソナルコンピューティング装置のデータ記憶媒体」という用語は、パーソナルコンピューティング装置内の記憶を指すか、或いはパーソナルコンピューティング装置のためのデータを一時的又は永久的に記憶できるパーソナルコンピューティング装置へアクセスできることを指す。
【0034】
MMSは、ネットワークを経て送信されたメッセージ、パーソナルコンピューティング装置により処理されたデータ、又はパーソナルコンピューティング装置のデータ記憶媒体に記憶されたデータにおいてコンテンツサーチを遂行するという役割を果たすと共に、ユーザによりPMSに識別されたポリシーを実施するという役割も果たす。一実施形態において、これらシステムは、両方とも、情報を交換するための任意の標準プロトコルを通信するコンピュータネットワークに結合される。
【0035】
この実施形態における通常のオペレーション中に、ユーザは、ある個人によるソースデータの使用又は送信を制限する所与のポリシーを実施するように判断し、次いで、このポリシーを、グラフィックユーザインターフェイス及び1つ以上のユーザ入力装置(例えば、マウス、キーボード、等)を使用してPMSに入力する。ユーザインターフェイスは、入力を受け取り、そしてPMSをもつコンピュータシステム又は個別のマシンにおいて実行される。一実施形態では、ポリシーは、望ましい保護の性質(例えば、従業員のサブセットだけを制限する)、保護を要求するデータの形式(例えば、データベースデータ)、及び保護を要求するデータベースデータのネットワーク位置(例えば、データベーステーブル名、サーバーのIPアドレス、サーバー又はファイルの名前)を含む。
【0036】
一実施形態においてユーザにより調整できるがデフォールトでは指定インターバル(例えば、1日)当たり一回である規則的な間隔で、PMSは、保護されるべきソースデータのコピーを抽出し、そしてそのデータから、以下に詳細に述べるアブストラクトデータ構造体(以下、「インデックス」と称する)を導出する。
【0037】
PMSは、次いで、このインデックスを、実施されるべきポリシーの各事項と共にMMSへ送信し、従って、MMSは、ポリシーの施行を開始することができる。MMSは、施行されるべきポリシーの詳細と一緒にPMSからインデックスを受け取る。MMSは、インデックス及びポリシー情報を使用して、ユーザにより指定されたポリシーを施行する。一実施形態では、MMSは、以下に詳細に述べるように、このインデックスを使用して、出て行くメッセージの各々(例えば、eメールメッセージ、ウェブメールメッセージ等)を、保護されるべきソースデータについてサーチする。別の実施形態では、MMSは、このインデックスを使用して、パーソナルコンピューティング装置のデータ記憶媒体のコンテンツ及び/又はユーザとパーソナルコンピューティング装置との間の対話のコンテンツを、保護されるべきデータベースデータについてサーチする。
【0038】
例示的ワークフローの概要を図1に見ることができ、ここでは、最高値の情報が識別され、ポリシーが著作され、監督及び施行が行なわれて、実行可能なビジネスインテリジェンスへと導く。
【0039】
ネットワークベースのオペレーションモード
一実施形態において、メッセージモニタリングシステムは、「監督モード」及び「施行モード」の2つの仕方の一方で構成することができる。図2A及び2Bは、2つのネットワーク構成を示す。図2Aに示す「監督モード」では、MMSがネットワーク上のどこかに配置され、トラフィックを注視してポリシーの違反を報告できるが、メッセージが出て行くときにそれらを阻止するようには特に構成されない。PMSは、情報にアクセスすることができ、そしてスイッチ、タップ及びファイアウオールを経てインターネットに結合される。MMSは、タップを使用してネットワークメッセージを監視する。
【0040】
図2Bに示す「施行モード」では、MMSは、トラフィックを注視して違反を報告できるが、メッセージをインターセプトしてリルートし、その最終的な行先を変更することができる。PMSは、情報にアクセスすることができ、そしてスイッチ及びファイアウオールを経てインターネットに結合される。この実施形態では、MMSは、一連のサーバーを使用してトラフィックを監視し、そしてメッセージがおそらく予め選択された情報を含むことをMMSが決定した場合に、トラフィックを、例えば、あるサーバーへリルートする。MMSは、種々のレイヤプロトコルの各々に対して異なるサーバーを使用することができる。
【0041】
メッセージのリルートは、要求されない。或いは又、MMSは、出て行くメッセージをインターセプトして停止するだけであるようにも構成できる。「施行モード」における例示的ポリシーは、ポリシーに違反する全てのメッセージを、ポリシーに違反する個人のマネージャーへルーティングして、適当な懲戒アクションをとれるようにすることである。「施行モード」におけるMMSのオペレーションは、図8−10を参照して以下に詳細に説明する。
【0042】
両オペレーションモードにおいて、コンテンツを検出するのに必要なインデックスのそれ自身のコピーを各々伴う多数のMMSをインストールすることができる。このパラレル処理構成は、スケーリングの問題や、多数の考えられる情報出口ポイントを保護することについて役立つ。
【0043】
両構成において、MMSは、種々のプロトコル(例えば、簡単なメール転送プロトコル(SMTP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、AOLインスタントメッセージング(AIM)、ICQ、単一オブジェクトアクセスプロトコル(SOAP)、SQLNet、送信制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、イーサネット(登録商標)、802.11、等)を使用して搬送されるメッセージをアクティブにパージングする。
【0044】
一実施形態では、2つのサブシステム(PMS及びMMS)が1つのローカルエリアネットワーク(LAN)において実行される。しかしながら、PMS及びMMSは、同じ物理的又は論理的システムに合体されてもよい。この統合された構成は、システムを形成するのに必要な製品の制御コストの理由でより適したものである。
【0045】
更に別の実施形態では、PMS及びMMSは、必ずしも同じLANに存在しなくてもよい。PMSは、データベース情報と同じLANに存在するが、MMSは、PMSが存在するLANから分離された異なるLANに存在する。この構成では、2つの個別のLANは、最終的に、インターネットを経て一緒に結合されるが、ファイアウオール、ルーター、及び/又は他のネットワーク装置によって分離される。これは、ある会社が、そのデータベースデータを必要とする別の会社(例えば、法律事務所又はマーケッティング代理店)を、その第1の会社のデータベースポリシーに違反することから制限したい場合に好都合な構成である。
【0046】
図3は、ソースデータを保護するプロセスの一実施形態のフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0047】
図3を参照すれば、処理ロジックは、予め選択されたデータに対してメッセージを監視する(処理ブロック301)。次いで、処理ロジックは、メッセージが、予め選択されたデータを有するかどうか決定する(処理ブロック302)。もしそうでなければ、処理は、処理ブロック301へ移行する。もしそうであれば、処理ロジックは、メッセージにおいて情報を送信/受信するために個々の送信/受信メッセージが許可されたかどうか決定する(処理ブロック303)。もしそうであれば、プロセスは終了し、処理は、処理ブロック301へ移行する。もしそうでなければ、処理ロジックは、メッセージをインターセプトし、メッセージをリルートし、メッセージをログし、等々の1つ以上のアクションを行い(処理ブロック304)、そして処理は、処理ブロック301へ移行する。これらのアクションは、図8−10を参照して以下に詳細に説明する。
【0048】
例示的サーチ技術
上述したように、違反は、規定のポリシーを使用して情報コンテンツをサーチすることにより検出される。一実施形態では、ソースデータから導出されたアブストラクトデータ構造体(インデックス)を使用してサーチが遂行される。一実施形態では、このインデックスは、ソースデータのコピーを含まないか、又はソースデータの暗号化又はハッシュ化コピーしか含まない。この実施形態は、特に、データそれ自体の表現を記憶するのを回避し、ハッカーが、DMS(上述したように、コンテンツサーチを遂行するときにインデックスを利用する)を実行するホストに侵入する場合に、窃盗に曝されるデータが取るに足らないものであるようにする。インデックスは、データベースデータの断片に関連した多数のタプルを記憶するためのデータ構造体を与えるタプル記憶メカニズムを使用して生成されてもよい。タプル記憶メカニズムの例は、リレーショナルデータベースマネージメントシステムにおいてハッシュテーブル、ベクトル、アレー、ツリー、リスト、又はテーブルを含む。以下に述べるプロセスでは、インデックスに記憶されるデータは、データベースにおけるエレメントの、他のエレメントに対する相対的な配置しか含まない。例えば、ハッシュテーブルの場合には、インデックスは、データベースデータの各断片(例えば、データベースセル内のデータ断片)に対して、その断片のハッシュコードを、その行番号、列番号及び列の形式と一緒に記憶することができる。
【0049】
別の実施形態では、インデックスは、保護のもとにある知的財産の断片を含み、従って、その情報をセキュリティの脅威に曝すことにより、解決策の価値を下げる。
【0050】
更に別の実施形態では、システムにおけるデータの大きな割合を表わすデータベースからの頻繁に使用されるストリング及び番号の少量のコピーが、データベーステーブル(1つ又は複数)におけるデータの相対的な配置に関する情報の残りと共に、依然、インデックスに直接的に記憶される。これは、ハッシュコードではなく、これら一般的ストリングそれ自体のコピーを記憶することにより行なわれる。その結果、インデックスは、行番号、列番号、及びソースデータの形式を含むが、ハッシュコードを記憶するのではなく、ストリングそれ自体を記憶する。あまり一般的でないデータベースのセルの残りに対して、これらストリングのコピーを特に記憶せずに、行番号、列番号、及びソースデータの形式のみが記憶される。この解決策は、データベースにおけるストリング及び数値データの統計学的分布には、しばしば、歪みがあり、最も一般的な用語が、記憶されたデータの全体量の非常に大きな割合を占めるという事実を利用するものである。これら一般的用語を個別のインデックスに記憶すると、少数の一般的用語が問合せの大きな割合を占めるので、インデックス問合せの効率に有用であり、これら問合せは、文献からの標準的な迅速技術を使用して実行することができる(例えば、ハッシュテーブルルックアップ、ビットマップ、等)。これがセキュリティを脆弱にするものではない理由は、ソースデータの不釣合いな分担量を占めるこの少数の用語が、最も価値の低いデータ断片であることである。用語「ジョン(John)」及び「スミス(Smith)」は、名前を含むデータベース内で非常に一般的であるが、これら用語の窃盗は、比較的無益である。この実施形態では、システムは、価値が高く一般性の低い用語のデータ(例えば、クレジットカード番号、SSN、一般性のない名前、等)のコピーを記憶することを依然入念に回避する。
【0051】
図4は、ソースデータをインデックスするプロセスの一実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0052】
図4を参照すれば、処理ロジックは、ソースデータが標準的なテーブルフォーマットで記憶されたかどうか決定することで始まる(処理ボックス402)。もしそうでなければ、処理ロジックは、ソースデータを標準テーブルフォーマットへ変換する(処理ボックス404)。それにより生じるテーブルの各セルは、ソースデータの断片を記憶する。一実施形態では、各データ断片がトークンである。トークンは、単一のワードでもよいし、ワードのクラスター(例えば、引用符で囲まれたワード)でもよい。例えば、ワード「これ(this)」は、データベースセルに記憶されたトークンを表わすが、フレーズ「このトークン(this token)」は、データベースセルに単一ストリングとして記憶される場合には独立トークンを表わしてもよい。
【0053】
次いで、処理ロジックは、ソースデータから導出されるタプル記憶構造体を生成する(処理ボックス406)。タプル記憶構造体は、ソースデータの断片に関連した多数のタプルを記憶するためのメカニズムを与える。タプル記憶構造体の例は、ハッシュテーブル、ベクトル、アレー、ツリー又はリストを含む。タプル記憶構造体の各形式が、所与のコンテンツフラグメントに対するタプルのセットを検索するための方法に関連付けられる(タプルのセットは、タプル記憶構造体に一致が見られない場合に空となる)。
【0054】
更に、処理ロジックは、ソースデータ内の各データ断片の位置に関する情報を対応タプルに記憶する(処理ボックス408)。一実施形態では、データ断片の位置に関する情報は、ソースデータにデータ断片を記憶する行の番号を含む。別の実施形態では、この情報は、ソースデータにデータ断片を記憶する列の番号と、任意であるが、列のデータ形式とを含む。
【0055】
その後、処理ロジックは、タプルを所定の順序(例えば、上昇する辞書編集上の順序)で分類する(処理ボックス410)。
【0056】
従って、それにより得られるアブストラクトデータ構造体(即ち、インデックス)は、より大きな全体のコンテクストにおけるデータレコードの相対的な配置に関する情報のみを含むが、ソースデータそれ自体の断片は含まない。
【0057】
一実施形態では、インデックスのコンテンツは、インデックスを窃盗から更に安全確保するために暗号的に処理される(例えば、ハッシュ関数で、又は暗号キーを伴う暗号関数を使用して)。
【0058】
例示的なサーチ技術を以下に詳細に説明する。図5は、ソースデータに対する情報コンテンツをサーチするプロセスの一実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0059】
図5を参照すれば、処理ロジックは、情報コンテンツを識別することで始まる(処理ボックス502)。情報コンテンツは、フリーフロム(free-from)テキストを備え、そしてファイル(例えば、コンピュータのハードドライブに記憶されたアーカイブ型eメールメッセージ)、又はネットワークを経て送信されたデータのブロック(例えば、任意の形式のネットワークプロトコルを使用してネットワークを経て送信されたeメールメッセージ)に含まれる。上述したように、サーチされるべき情報コンテンツは、ユーザにより指定される窃盗検出条件に基づいて選択することができる。
【0060】
次いで、処理ロジックは、ソースデータの一部分をおそらく含み得るコンテンツ断片のシーケンスを情報コンテンツにおいて検出する(処理ボックス504)。コンテンツ断片の検出されたシーケンスは、情報コンテンツ内の隣接又は非隣接トークンのセットである。各トークンは、ワード又はフレーズのいずれかに対応する。コンテンツ断片の検出されたシーケンスは、受け取った情報コンテンツの一部分でもよいし、又は全情報コンテンツでもよい。別の実施形態では、コンテンツ断片の検出されたシーケンスは、トークンのサブセットのセットとして考えられ、トークンの各サブセットは、おそらく、ソースデータの一部分を含む。
【0061】
一実施形態では、処理ロジックは、コンテンツ断片のシーケンスが列フォーマットデータに似ていることを決定する際にコンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。この決定は、受け取った情報コンテンツをパージングして、分離されたライン(例えば、タグ<cr>又は<cr><lf>で指示される)を識別し、そしてこれらの分離されたラインが同様の数のトークン及び任意であるが同様のデータ形式のトークンを含むことを見出すことにより行うことができる。
【0062】
別の実施形態では、処理ロジックは、全情報コンテンツをパージングして、ソースデータに対する隣接トークンのブロックをサーチするときに、コンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。一実施形態では、隣接トークンのブロックは、ユーザ指定パラメータ、例えば、各ブロックのユーザ指定巾、及び情報コンテンツ内の各ブロックのユーザ指定位置、に基づいて定義される(例えば、ユーザは、2つの隣接ブロックがある数のトークンで分離されることを要求してもよい)。
【0063】
更に別の実施形態では、処理ロジックは、規定のフォーマットの表現を情報コンテンツにおいて見出すときに、コンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。このような表現は、例えば、口座番号、社会保障番号、クレジットカード番号、電話番号、郵便番号、eメールアドレス、金額又は数値を示すテキストフォーマット(例えば、“$”符号を伴う数字)、等でよい。この表現が見つかると、処理ロジックは、その表現を取り巻くテキストの領域がおそらくソースデータの一部分を含むと判断する。この領域のサイズは、見つかった表現の各側における所定数のトークンにより定義される。
【0064】
更に別の実施形態では、処理ロジックは、情報コンテンツ(又は情報コンテンツのある部分)におけるワード使用又はワード分布が、情報コンテンツにおけるソースデータの考えられる包含を指示する統計学的パターンに似ていることを決定する際に、コンテンツ断片のシーケンスがソースデータの一部分をおそらく含むと判断する。
【0065】
更に別の実施形態では、処理ロジックは、受信した情報コンテンツに関連したあるプロパティが以前の違反の経歴に基づいて情報コンテンツにおけるソースデータの考えられる包含を指示することを決定する際に、コンテンツ断片のシーケンスがソースデータの一部分をおそらく含むと判断する。これらのプロパティは、例えば、情報コンテンツの行先(例えば、電子メッセージの受信者)、情報コンテンツの起点、情報コンテンツに関連した送信の時間、情報コンテンツに関連した送信のサイズ、送信に含まれたファイルの形式(例えば、ファイルの多目的インターネットメール拡張(MIME)形式)、等々を含む。一実施形態では、以前の違反の経歴は、ソースデータの各検出について、ソースデータが検出された情報コンテンツのプロパティを識別し、そしてこれらプロパティを以前の違反のデータベースに記録することにより、維持される。その後、処理ロジックは、新たな情報コンテンツ内のコンテンツ断片のシーケンスがソースデータの一部分をおそらく含むかどうか判断するときに、新たな情報コンテンツのプロパティを識別し、そして以前の違反のデータベースをそれらのプロパティに対してサーチする。一致が見つからない場合には、処理ロジックは、一致するプロパティに関連した以前の違反が新たな情報コンテンツにおけるソースデータの考えられる包含を指示するかどうか決定する。この指示は、一致するプロパティに関連した以前の違反の数、又は一致するプロパティに関連した以前の違反の頻度に基づいたものでよい。例えば、この指示は、特定の送信者がコミットした違反の全数、又は所与の期間にわたるこれら違反の頻度に基づいたものでよい。
【0066】
その後、ソースデータの一部分をおそらく含むコンテンツ断片のシーケンスを検出すると、処理ロジックは、これらコンテンツ断片のサブセットがソースデータのサブセットに一致し且つ上述したポリシーパラメータに基づくものとなるかどうかの決定を行なう(処理ボックス506)。
【0067】
図6A−6Cは、コンテンツ断片のサブセットに対して、ソースデータから導出されたアブストラクトデータ構造体におけるポリシーパラメータを満足する一致を見出すプロセスの種々の実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0068】
図6Aを参照すれば、処理ロジックは、図5の処理ブロック504で識別されたコンテンツ断片のシーケンスをコンテンツ断片(例えば、トークン)へとパージングすることで開始する。次いで、各コンテンツ断片に対して、処理ロジックは、アブストラクトデータ構造体を、一致するタプルのセットについてサーチする(処理ブロック602)。例えば、情報コンテンツに含まれたワード「スミス(Smith)」は、アブストラクトデータ構造体に反映されるソースデータに数回発生する。より詳細には、これらの各発生は、それに対応するタプルをアブストラクトデータ構造体に有する。サーチ中に、処理ロジックは、ソースデータにおけるワード「Smith」の発生に対応するタプルのセットを検索する。各タプルは、ソースデータを記憶するデータベース又はテーブル内におけるこのデータ断片の位置に関する情報を記憶する。一実施形態では、位置情報は、データ断片を記憶するセルの行番号を含む。別の実施形態では、位置情報は、このセルの列番号と、任意であるが、列のデータ形式も含む。
【0069】
次いで、処理ロジックは、全てのコンテンツ断片に対して見つかった一致するタプルセットを合成し(処理ブロック604)、次いで、その合成された一致するタプルセットを行番号によりグループLへとグループ編成する(処理ブロック606)。その結果、各グループL(ここでは、アキュムレータと称される)は、全てが同じ列番号を有する一致するタプルセットを含み、即ち各グループLにおける一致するタプルセットは、全てがデータベースにおける同じ行からのものであると思われるソースデータの断片に対応する。
【0070】
更に、処理ロジックは、各グループに含まれた一致するタプルセットの数でグループLを分類し(処理ブロック608)、そして一実施形態では、個別の列番号を伴うタプルセットを有するグループを選択する(処理ブロック610)。その後、処理ロジックは、選択されたグループのいずれかがポリシーパラメータを満足するかどうか決定する(処理ブロック612)。
【0071】
図6Bは、タプルセットのいずれかの選択されたグループがポリシーパラメータを満足するかどうか決定するプロセスの一実施形態を示す。
【0072】
図6Bを参照すれば、処理ロジックは、ポリシーパラメータが包含列を指定するかどうか決定することで開始する(判断ボックス652)。もしそうでない場合には、処理ロジックは、判断ボックス664へ進む。もしそうである場合には、処理ロジックは、ポリシーパラメータが最小数Mの包含列を指定するかどうか決定する(判断ボックス654)。数Mが指定された場合には、処理ロジックは、少なくともM個の包含列からのタプルを伴うグループをサーチし(処理ブロック660)、そしてこのようなグループのいずれかが見つかった(即ち、見つかったグループの数が0より大きい)かどうか決定する(判断ボックス662)。判断ボックス662で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス664へ進む。判断ボックス662で行われた判断が否定である場合には、処理ロジックは、違反が検出されないと判断する(処理ブロック680)。
【0073】
数Mが指定されない場合には(判断ボックス654)、処理ロジックは、各指定の包含列からのタプルを伴うグループをサーチし(処理ブロック656)、そしてこのようなグループのいずれかが見つかったかどうか決定する(判断ボックス658)。判断ボックス658で行なわれる決定が肯定である場合には、処理ロジックは、判断ボックス664へ進む。判断ボックス658で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する(処理ブロック680)。
【0074】
判断ボックス664において、処理ロジックは、ポリシーパラメータがキーワード又は表現を指定するかどうか決定する。もしそうでなければ、処理ロジックは、判断ボックス670へ進む。もしそうであれば、処理ロジックは、指定のキーワード又は表現に一致するタプルを伴うグループをサーチし(処理ブロック666)、そしてこのようなグループが見つかるかどうか決定する(判断ボックス668)。判断ボックス668で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス670へ進む。判断ボックス668で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する(処理ブロック680)。
【0075】
判断ボックス670において、処理ロジックは、ポリシーパラメータが除外列を指定するかどうか決定する。もしそうでなければ、処理ロジックは、判断ボックス676へ進む。もしそうであれば、処理ロジックは、全ての除外列からのものではないタプルを伴うグループをサーチし(処理ブロック672)、そしてこのようなグループが見つかったかどうか決定する(判断ボックス674)。判断ボックス672で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス676へ進む。判断ボックス672で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する(処理ブロック680)。
【0076】
判断ボックス676において、処理ロジックは、ポリシーパラメータが行の最小数Lを指定するかどうか決定する。もしそうでなければ、処理ロジックは、違反が検出されたと判断する(処理ブロック682)。もしそうであれば、処理ロジックは、見つかったグループの最新の数がL以上であるかどうか決定する(判断ボックス678)。この決定が肯定である場合には、処理ロジックは、違反が検出されたと判断する(処理ブロック682)。判断ボックス678で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する(処理ブロック680)。
【0077】
図6Cは、タプルセットの選択されたグループがポリシーパラメータを満足するかどうか決定するプロセスの別の実施形態を示す。
【0078】
図6Cを参照すれば、処理ロジックは、包含列(即ち、データをサーチ結果に含ませる必要のあるデータソース列)の最小数を識別するパラメータmを受け取ることで開始する(処理ブロック682)。
【0079】
次いで、処理ロジックは、包含列のセットを指定するパラメータSを受け取り、|S|がm以上であることを確認する(処理ブロック684)。
【0080】
処理ブロック686において、処理ロジックは、行の最小数を指定するパラメータrを受け取る。パラメータrは、サーチ結果が少なくともr行のソースデータからのデータを含むことを要求する。
【0081】
処理ブロック688では、処理ロジックは、除外列(即ち、データをサーチ結果から除外すべきデータソース列)のセットを指定するパラメータEを受け取り、そしてEの各eメンバーに対して|e|がmに等しいことを確認する。
【0082】
処理ブロック690において、処理ロジックは、テキストTを最大一致グループGについてサーチし、この場合、
(a)各コンポーネントは、データソースDの同じ行からのトークンを含むテキストTのサブセットgであり、
(b)gからの各トークンは、Sで指定されたDにおける列からのエレメントであり、
(c)|g|≧mであり、そして
(d)gのトークンは、除外列Eからのデータを含まない。
【0083】
判断ボックス692において、処理ロジックは、|G|がrより大きいかどうか決定する。もしそうであれば、処理ロジックは、一致が検出されたと判断する(処理ブロック694)。もしそうでなければ、処理ロジックは、一致が検出されないと判断する(処理ブロック696)。
【0084】
サーチプロセスの実施形態を以下に説明する。図7A−7Cは、ソースデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするためのプロセスの別々の実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0085】
図7Aを参照すれば、処理ロジックは、到来するメッセージをパージングすることで開始する(処理ブロック702)。次いで、処理ロジックは、到来するメッセージのパーズされた部分が列フォーマットデータを含むかどうか決定する(処理ボックス704)。一実施形態では、語彙分析を使用して、到来するメッセージのパーズされた部分におけるラインを識別し(例えば、ラインを分離するのに使用されるタグ<cr>又は<cr><lf>を見出すことにより)、次いで、隣接ラインにおいて見つかった多数のトークンが個数的及び形式的に同一であることを検出する。一実施形態では、処理ロジックは、各トークンの形式を、トークンの全数と共に記憶する。
【0086】
処理ボックス704で行なわれた決定が否定である場合には、処理が処理ブロック702へ移行する。さもなければ、処理は、処理ブロック706へ移行し、そこで、処理ロジックは、iを、列フォーマットデータに類似した第1ラインに等しくセットする。
【0087】
次いで、処理ロジックは、ラインiの各トークンにハッシュ関数H(k)を適用し(処理ブロック708)、ラインiの各トークンに対してハッシュテーブル内でH(k)におけるタプルのセットを見出し、リストLにタプルを追加し、そしてリストLを、各個々のアキュムレーターのタプルが同じ行番号値を有するアキュムレーターのセットへとグループ編成し直す(処理ブロック712)。更に、処理ロジックは、そのリストLを各Aiの長さで分類し(処理ブロック714)、そして分類されたリストLにおける列の独特の発生をチェックする(処理ブロック716)。処理ブロック710において、任意の前処理ロジックは、リストLに挿入する前にトークンをフィルタするように遂行され、元のトークンkの語彙形式に一致する形式のタプルのみがLに追加される。他の実施形態では、列の独特の発生のチェックが、スピード又は簡単化の理由でスキップされてもよいことに注意されたい。更に別の実施形態では、タプルは、行番号のみを含む簡単な「シングルトン(singleton)」である(即ち、列番号も、形式指示子もない)。
【0088】
その後、到来するメッセージが、列フォーマットデータに類似したより多くのラインを含む場合には(処理ボックス718)、処理ロジックは、iを、列フォーマットデータに類似した次のラインへと増加し(処理ブロック722)、そしてプロセスは、処理ブロック706へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するAiを伴うテキストのラインを報告する(処理ブロック720)。
【0089】
図7Bを参照すれば、処理ロジックは、「巾(width)」(W)及び「ジャンプ(jump)」(J)のユーザ指定パラメータを受け取り(処理ブロック732)、そして到来するメッセージをパーズする(処理ブロック734)ことで開始する。パラメータWは、単一の繰り返し中にサーチされるべき隣接トークンの各ブロックにおける隣接トークンの数を指定し、そしてパラメータJは、2つの隣接ブロック間のトークンの必要数を指定する。
【0090】
次いで、処理ロジックは、位置変数(St)の値を0にセットし(処理ブロック736)、そしてStでスタートするメッセージのW個の隣接トークンを収集することによりサーチされるべきブロック(テキストブロック)を定義する(処理ブロック738)。
【0091】
更に、処理ロジックは、テキストブロックにおける各トークンにハッシュ関数H(k)を適用し(処理ブロック740)、テキストブロックの各トークンに対してハッシュテーブルのH(k)においてタプルのセットを見出し、テキストブロックにおける対応トークンと同じ形式をもつタプルをリストLに追加し(処理ブロック742)、リストLをアキュムレーターのセットへグループ編成し直し(処理ブロック744)、そのリストLを各Aiの長さで分類し(処理ブロック746)、そして分類されたリストLにおける列の独特の発生をチェックする(処理ブロック748)。
【0092】
その後、処理ロジックは、StをJ数のトークンだけ増加し(処理ブロック750)、そして位置Stが依然メッセージ内であるかどうか決定する(処理ボックス752)。この決定が肯定である場合には、プロセスは、処理ブロック738へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するAiを伴うテキストブロックを報告する(処理ブロック754)。
【0093】
図7Cを参照すれば、処理ロジックは、到来するメッセージをパーズし(処理ブロック764)、そしてユーザ指定フォーマットをもつ第1表現を探す(処理ブロック766)ことで開始する。このような表現は、例えば、口座番号、社会保障番号、クレジットカード番号、金額又は数値を示すテキストフォーマット(例えば、“$”符号を伴う数字)、等でよい。一致する表現が見つからない場合には、プロセスは、処理ブロック764へ移行する。さもなければ、プロセスは、処理ブロック768へ移行し、処理ロジックは、一致する表現の前後にW個の隣接トークンを収集することによりサーチされるべきブロック(テキストブロック)を定義する。例えば、テキストブロックは、一致する表現の直前の10個のトークン、一致する表現それ自体、及び一致する表現の直後の10個のトークンより成る。
【0094】
更に、処理ロジックは、テキストブロックの各トークンにハッシュ関数H(k)を適用し(処理ブロック770)、テキストブロックの各トークンに対してハッシュテーブルのH(k)においてタプルのセットを見出し、テキストブロックの対応するトークンと同じ形式を有するタプルをリストLに追加し(処理ブロック772)、リストLをアキュムレーターのセットへとグループ編成し直し(処理ブロック774)、リストLを各Aiの長さで分類し(処理ブロック776)、そして分類されたリストLにおける列の独特な発生をチェックする(処理ブロック778)。
【0095】
その後、処理ロジックは、メッセージがユーザ指定フォーマットのより多くの表現を有するかどうか決定する(処理ボックス780)。この決定が肯定である場合には、プロセスは、処理ブロック768へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するAiを伴うテキストブロックを報告する(処理ブロック782)。
【0096】
予め選択されたデータを含むメッセージの取り扱い
図8は、予め選択されたデータを含むメッセージを取り扱い、そして意図された受信者への予め選択されたデータの無断送信を防止する役割を果たすメッセージモニタリングシステム(MMS)800のブロック図である。MMS800により処理されるメッセージは、ネットワークスタックの任意のレイヤにおけるネットワークトラフィックの一部分である。例えば、これらのメッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中に交換されるメッセージ、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、等を含む。更に、MMS800により処理されるメッセージは、異なるメッセージフロー形式の一部分でもよい。例えば、これらのメッセージは、アウトバウンドメッセージ、インバウンドメッセージ、内部メッセージ、又は上記形式の組み合せである。
【0097】
MMS800は、メッセージインターセプター804、メッセージルーター806、メッセージブロッカー808、メッセージモディファイアー810、及びポリシースペシファイアー812を備えている。
【0098】
メッセージインターセプター804は、メッセージ(例えば、インバウンドメッセージ、アウトバウンドメッセージ、及び内部メッセージ)を検査し、そしてインターセプトされたメッセージが予め選択されたデータを含むかどうか決定する役割を果たす。この決定は、上述したいずれかのサーチ技術を使用して行うことができる。一実施形態では、メッセージインターセプター804は、メッセージヘッダに含まれた指示子が、サーチが必要であることを指示する場合だけ、予め選択されたデータについてメッセージをサーチする。例えば、メッセージヘッダは、メッセージがマーケッティング資料の一部分であり、従って、予め選択されたデータの存在についてスキャンされる必要がないことを示すタグを含むことができる。
【0099】
メッセージルーター806は、予め選択されたデータを含むインターセプトされたメッセージを、受信者以外の行先にリルートする役割を果たす。例えば、メッセージルーター806は、インターセプトされたメッセージを検疫サーバーへリルートし、このサーバーは、メッセージが、許可されたビジネスプロセスの一部であるかどうか決定する。もしそうであれば、メッセージルーター806は、受信者へメッセージを送信する。もしそうでなければ、メッセージルーター806は、MMS800の対応コンポーネントを呼び出して、保護手段(例えば、機密データの阻止、減少、警報の挿入、等)をメッセージに適用する。別の例では、メッセージルーター806は、メッセージ送信者のスーパーバイザーにメッセージをリルートし、スーパーバイザーに無断送信を通知する。更に別の例では、メッセージルーター806は、メッセージをアーカイブサーバーにリルートし、このサーバーは、メッセージをアーカイブデータベースに保管する。一実施形態では、メッセージルーター806は、メッセージを上記行先の幾つか(例えば、検疫サーバー及びアーカイブサーバー、又は検疫サーバー及びスーパーバイザー)にリルートすることができる。
【0100】
一実施形態では、メッセージルーター806は、予め選択されたデータを含むインターセプトされたメッセージを、より高いレベルのチャンネルセキュリティ(例えば、バーチャルプライベートネットワーク(VPN)暗号化を使用する)を有するネットワークセグメントを通してリルートするという役割を果たす。
【0101】
メッセージブロッカー808は、予め選択されたデータを含むインターセプトされたメッセージの送信を阻止するという役割を果たす。更に、一実施形態では、メッセージブロッカー808は、メッセージ送信者のスーパーバイザー、アーカイブサーバー、又は他の何らかのサイトへメッセージのコピーを送信することもできる。又、一実施形態では、メッセージブロッカー808は、メッセージが阻止されたことをメッセージ受信者及び/又はメッセージ送信者に通知するという役割も果たす。
【0102】
一実施形態において、メッセージブロッカー808は、通信ストリームからメッセージを引き出すことによりメッセージの送信を阻止する。或いは又、メッセージブロッカー808は、メッセージの送信を終了することを要求する信号を、メッセージをその後処理するシステム(ダウンストリームシステム)へ送信することができる。このダウンストリームシステムは、次いで、付加的なネットワークパケットを通信ストリームに注入し、予め選択されたデータを含むメッセージの送信を終了することができる。
【0103】
メッセージモディファイアー810は、インターセプトされたメッセージをリアルタイムで変更するという役割を果たす。以下に詳細に述べるように、メッセージモディファイアー810は、メッセージの本体を修正するか(例えば、メッセージにおける機密データを受信者に通知するために)、又はメッセージのヘッダを修正することができる(例えば、その後メッセージを処理するシステムにメッセージにおける機密データを通知するために)。メッセージが修正されると、メッセージルーター806は、受信者及び/又は他の行先へメッセージを送信することができる。
【0104】
ポリシースペシファイアー812は、メッセージアクションポリシーに関するユーザ入力を受け取り、そしてユーザ入力に基づいてメッセージアクションポリシーを定義するという役割を果たす。一実施形態において、メッセージアクションポリシーは、予め選択されたデータのソース(例えば、データベース名、ファイル名、等)を識別するもので、特定のアクション(例えば、阻止、リルート、種々のメッセージ変更、等)をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきか指定するルールのセットを含む。例えば、ルールのセットは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合にメッセージを阻止することを要求する。別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含む場合にメッセージをリルートすることを要求するために、予め選択されたデータの特定列に対する値を指定してもよく、単一行からの一致する情報は、特定列からのデータを含み、そしてこのデータは、指定された値に等しい。更に別の実施形態では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージヘッダが含む場合にそのメッセージヘッダを変更することを要求するために最小数の列を与えてもよく、そして単一行からの情報は、少なくともこの数の指定の列からのデータを含む。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージ本体が含む場合にそのメッセージ本体を変更することを要求するために除外列を指定してもよく、そして単一行からの情報は、指定された除外列からのデータを除外する。更に別の例では、ルールのセットは、予め選択されたデータの少なくともこの数のランダムな行からの情報に一致する断片をメッセージが含む場合にメッセージを阻止することを要求するために最小数の行を指定してもよい。
【0105】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール(例えば、メッセージの送信者及び/又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等)を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール(例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール)を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード(1つ又は複数)を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【0106】
一実施形態では、メッセージアクションポリシーは、このポリシーのルールに対する例外を識別する例外条項を含む。一実施形態では、例外条項は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び/又は受信者を宣言する。例えば、会社のCEOを指定する例外条項に基づき、ポリシーのルールで指定された予め選択されたデータが存在すると、メッセージの送信者又は受信者がCEOでない限り、あるメッセージアクション(例えば、メッセージの阻止)をトリガーする。例外条項は、個々の送信者及び受信者を宣言してもよいし、又はドメイン又はサイト全体にわたる送信者及び受信者を宣言してもよい。又、例外条項は、メッセージヘッダに関するものでもよい。例えば、例外条項は、メッセージをマーケッティング資料として識別するヘッダ指示子が、予め選択されたデータについてスキャンされずに、意図された受信者へメッセージを送信させねばならないことを宣言してもよい。
【0107】
一実施形態では、メッセージアクションポリシーは、メッセージにおける予め選択されたデータの存在によりトリガーされるアクションが特定の特性を有することを要求するルールを含む。これらの特性は、例えば、アクションの希望の時間巾、アクションの希望のスタート時間、アクションを遂行するための希望の位置、等を含む。例えば、メッセージアクションポリシーは、予め選択されたデータからのある情報が存在することでメッセージが検疫サーバーへリルートされ且つ検疫サーバーがそのメッセージを特定の期間中保持することを要求する(例えば、検疫サーバーは、金融利益がアナウンスされるまで、金融利益データを含むメッセージを検疫しなければならない)。
【0108】
一実施形態では、メッセージアクションポリシーは、指定されたアクションをトリガーするための付加的な条件を指定する。付加的な条件は、メッセージ送信者及び/又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、送信者による機密コンテンツの第3の送信の後でなければメッセージが阻止されないことを要求してもよい。
【0109】
一実施形態において、メッセージアクションポリシーにおけるルールは、一次ロジック(例えば、AND、OR、NAND、NOR、NOT、等価、非等価、等)を使用して組み合わされる。
【0110】
一実施形態において、ポリシースペシファイアー812は、ルールパラメータのユーザ入力を容易にするユーザインターフェイスを与える。他の実施形態では、ポリシースペシファイアー812は、ユーザにより識別されたルールパラメータを、アプリケーションプログラミングインターフェイス(API)から受け取るか、或いはテキストにおいてフォーマットされたコンフィギュレーションファイル又は定義されたデータフォーマット(例えば、拡張可能なマークアップ言語(XML)又はバイナリーフォーマット)を経て受け取る。
【0111】
別の実施形態では、MMS800は、メッセージアクションポリシーを使用せず、むしろ、インターセプトされた全てのメッセージに対して規定のメッセージアクション(例えば、ユーザにより指定されるか又はプログラムで定義された)を使用するか、或いはメッセージにおいて検出された違反の特性にプログラム指定されたメッセージアクションを選択する。この特性は、例えば、違反の形式(例えば、厳しい違反、軽い違反、等)、規定の期間にわたり記録された違反の数(例えば、この送信者による機密データの送信回数)、等を識別するものでよい。
【0112】
従って、本発明の幾つかの実施形態は、サーチされたメッセージに現れるソースからのエレメントの順序又はフォーマットとは独立して、テーブルデータソースからの予め選択されたデータのコピーを含むメッセージを正確に阻止する能力を提供する。
【0113】
図9−12Aは、予め選択された機密データの無断送信を防止するプロセスの別々の実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。一実施形態において、このプロセスは、MMS800により遂行される。
【0114】
図9を参照すれば、処理ロジックは、メッセージをインターセプトし、そしてそのインターセプトされたメッセージが予め選択されたデータを含むことを決定することで開始する(処理ブロック902)。インターセプトされたメッセージは、組織内の送信者により組織外部の受信者へ送信することができる。或いは又、インターセプトされたメッセージは、組織外部の送信者により組織内の受信者へ送信されてもよい。更に又、インターセプトされたメッセージは、組織内の送信者により組織内の受信者へ送信されてもよい。
【0115】
次いで、処理ロジックは、メッセージの送信を阻止する(処理ブロック904)。メッセージの送信は、通信ストリームからメッセージを除去するか、或いは通信ストリームに付加的なネットワークパケットを注入して、メッセージの送信を終了させることにより、阻止されてもよい。或いは又、処理ロジックは、予め選択されたデータの存在の指示を、メッセージをその後処理するシステムへ与え、次いで、このシステムが、メッセージの送信を終了させる付加的なネットワークパケットを通信ストリームに注入する。処理ロジックは、ダウンストリームシステムに信号を送信するか、又はメッセージに警報を追加することにより(例えば、メッセージヘッダのフラグをセットすることにより)、この指示を与えることができる。
【0116】
処理ブロック906において、一実施形態では、処理ロジックは、メッセージ受信者及び/又は送信者に阻止を通知する(処理ブロック906)。
【0117】
処理ブロック908において、一実施形態では、処理ロジックは、メッセージのコピーを別のサイトに送信する。例えば、メッセージのコピーを、送信者のスーパーバイザー、又はアーカイブサーバーへ送信することができる。
【0118】
図10を参照すれば、処理ロジックは、メッセージをインターセプトし、そのインターセプトされたメッセージが予め選択されたデータを含むことを決定し、そしてそのインターセプトされたメッセージを検疫サーバーへリルートすることで開始する(処理ブロック1002)。次いで、検疫サーバーは、メッセージが、許可されたビジネスプロセスの一部分であるかどうか判断する。この判断は、セキュリティ分析者により与えられた入力に基づいて、又は検疫サーバーで実行されるプログラムにより、行うことができる。メッセージが、許可されたプロセスの一部分でないことを検疫サーバーが示す場合には(処理ブロック1004)、処理ロジックは、メッセージのコピーを別のサイト(例えば、送信者のスーパーバイザー又はアーカイブサーバー)へ送信する(処理ブロック1006)。
【0119】
検疫サーバーは、メッセージをある期間中保持するか、或いは指定の時間又は事象まで保持することができる。例えば、検疫サーバーは、会社の金融利益データを含むメッセージを、会社がこのデータの公式なアナウンスを行なうまで、保持することができる。
【0120】
検疫が終わると、処理ロジックは、検疫サーバーから返送されるメッセージを受け取り(処理ブロック1008)、そして意図される受信者へメッセージを送信する(処理ブロック1010)。
【0121】
図11を参照すれば、処理ロジックは、メッセージのヘッダが非スキャニング指示子を含むかどうか決定することで開始する(処理ブロック1102)。非スキャニング指示子は、(例えば、メッセージがマーケッティング資料の一部分である場合に)予め選択されたデータについてメッセージをサーチする必要がないことを指定するためにメッセージヘッダに含ませることができる。
【0122】
メッセージヘッダが非スキャニング指示子を含む場合には、処理ロジックは、予め選択されたデータの存在に関わらず、受信者へメッセージを送信する(処理ブロック1106)。或いは又、処理ロジックは、メッセージをスキャンし、そしてメッセージが予め選択されたデータを含むかどうか決定する(処理ブロック1104)。
【0123】
メッセージが予め選択されたデータを含まない場合には、処理ロジックは、メッセージを受信者へ送信する(処理ブロック1106)。さもなければ、メッセージが予め選択されたデータを含む場合には、処理ロジックは、予め選択されたデータの無断送信を防止するためにメッセージに適用されるべき1つ以上のアクションを識別する(処理ブロック1108)。これらアクションは、例えば、メッセージを阻止すること、別のサイト(例えば、検疫サーバー、アーカイブサーバー、送信者のスーパーバイザー、等)へメッセージをリルートすること、より高いレベルのチャンネルセキュリティ(例えば、VPN暗号化を使用する)を有するネットワークセグメントを通してメッセージをリルートすること、メッセージを変更すること、等々を含む。
【0124】
一実施形態において、メッセージに適用されるべきアクションは、ユーザにより定義されるか、或いは違反の形式(例えば、厳しい違反、軽い違反、等)、メッセージにおいて検出される違反の数(例えば、機密なデータアイテムの数、機密情報がメッセージに含まれた個人の数、等)、或いは検出された違反の他の特性に基づいてプログラムで定義される。別の実施形態では、メッセージに適用されるアクションは、メッセージの送信者及び/又は受信者に関連した経歴データに基づいてプログラムで定義される。例えば、特定の送信者に関連した違反の数がスレッシュホールドを越える場合には、現在メッセージを阻止しなければならず、もしそうでなければ、現在メッセージを検疫サーバーへリルートしなければならない。更に別の実施形態では、メッセージに適用されるアクションは、図12を参照して以下に詳細に述べるように、メッセージアクションポリシーにより指定される。
【0125】
処理ブロック1110において、処理ロジックは、処理ブロック1108で識別されたアクション(1つ又は複数)をメッセージに適用する。
【0126】
図12Aを参照すれば、処理ロジックは、メッセージアクションポリシーを識別することで開始する(処理ブロック1202)。上述したように、メッセージアクションポリシーは、特定のアクションをトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきかを指定する予め選択されたデータに関するルールのセットを含むことができる。更に、一実施形態では、メッセージアクションポリシーは、前記ルールに対する例外を宣言する例外条項を含むこともできる。これらの例外は、例えば、メッセージヘッダがスキャニング指示子を含む場合だけ予め選択されたデータについてメッセージをサーチすることを要求するヘッダコンテンツベースの例外を含んでもよい。別の例外は、予め選択されたデータを伴うメッセージを交換することが許可された送信者及び/又は受信者を指定することができる。更に、一実施形態では、メッセージアクションポリシーは、ルールにより要求されるアクションをトリガーするための付加的な条件を指定することができる。これら付加的な条件は、メッセージの送信者及び/又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、ルールにより指定されたアクションが、単一送信者による予め選択されたデータの第3送信の後にのみ行なわれることを要求してもよい。
【0127】
処理ブロック1204において、処理ロジックは、メッセージアクションポリシーがヘッダコンテンツに基づく例外条項を含むかどうか決定する。もしそうでなければ、処理ロジックは、処理ブロック1208へ進む。もしそうであれば、処理ロジックは、ヘッダコンテンツに基づく例外が満足されるかどうか更に決定する(処理ブロック1206)。
【0128】
ヘッダコンテンツに基づく例外が満足された場合には、処理ロジックは、ポリシールールにより指定された予め選択されたデータについてメッセージをサーチせずに、受信者へメッセージを送信する(処理ブロック1222)。或いは又、ヘッダコンテンツに基づく例外が満足されない場合には、処理ロジックは、ポリシールールをメッセージに適用する(処理ブロック1208)。上述したように、ポリシールールは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合にメッセージにアクションが適用されることを要求してもよい。或いは又、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、単一行からの一致する情報が特定列からのデータを含み、そしてこのデータが指定値に等しい場合に、メッセージにアクションが適用されることを要求してもよい。別の例では、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含みそして単一行からの情報が少なくともある数の指定された列からのデータを含む場合に、メッセージにアクションが適用されることを要求してもよい。更に別の例では、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含みそして単一行からの情報がいずれかの指定された除外列からデータを除外する場合に、メッセージにアクションが適用されることを要求してもよい。更に別の例では、ポリシールールは、予め選択されたデータの少なくともある数のランダムな行からの情報に一致する断片をメッセージが含む場合にメッセージにアクションが適用されることを要求してもよい。
【0129】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール(例えば、メッセージの送信者及び/又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等)を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール(例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール)を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード(1つ又は複数)を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【0130】
処理ブロック1210において、処理ロジックは、ポリシー結果が満足されるかどうか決定する。もしそうでなければ、処理ロジックは、メッセージを受信者に送信する(処理ブロック1222)。もしそうであれば、処理ロジックは、ポリシーが付加的な例外条項を含むかどうか決定する(処理ブロック1212)。
【0131】
ポリシーが付加的な例外条項(例えば、受信者のグループに対する例外を指定する条項)を含まない場合には、処理ロジックは、処理ブロック1216へ進む。ポリシーが付加的な例外条項(例えば、受信者のグループに対する例外を指定する条項)を含む場合には、処理ロジックは、この例外条項が満足されるかどうか決定する(処理ブロック1214)。もしそうであれば、処理ロジックは、メッセージを受信者へ送信する(処理ブロック1222)。もしそうでなければ、処理ロジックは、ポリシーが、送信者及び/又は受信者の以前の経歴に基づいて何らかの条件を含むかどうか決定する(処理ブロック1216)。
【0132】
ポリシーがいずれの条件を含まない場合には、処理ロジックは、処理ブロック1220へ進む。ポリシーが送信者及び/又は受信者の以前の経歴に基づく条件を含む場合には、処理ロジックは、この条件が満足されるかどうか決定する(処理ブロック1218)。もしそうでない場合には、処理ロジックは、メッセージを受信者へ送信する(処理ブロック1222)。もしそうである場合には、処理ロジックは、ポリシールールにより要求されるアクションをメッセージに適用する(処理ブロック1220)。
【0133】
図12Bは、特定のポリシーに基づいてeメールメッセージを取り扱うプロセスを示す。図示されたように、予め選択されたソースデータ1230は、口座番号列と、ラストネーム(姓)列と、ファーストネーム(名)列と、残高列とを含む。ポリシー1232は、eメールメッセージがソースデータ1230の単一行からのデータ断片を含み、そしてこれらデータ断片が、メッセージに任意の順序で現れるファーストネーム列、口座番号列、及び残高列からの情報を含む場合に、eメールメッセージを阻止することを要求する。
【0134】
メッセージ1240は、ポリシー1232により指定された列からのものであるソースデータ1230の行1234からのデータ断片1242、1244及び1246を含む。ここでは、メッセージ1240が阻止される。
【0135】
予め選択されたデータの存在に基づくメッセージの変更
上述したように、図8のMMS800は、予め選択されたデータについてメッセージをサーチする。MMS800により処理されるメッセージは、ネットワークスタックのレイヤにおけるネットワークトラフィックの一部分である。例えば、これらのメッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中に交換されるメッセージ、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、等を含む。更に、MMS800により処理されるメッセージは、異なるメッセージフロー形式の一部分であってもよい。例えば、これらのメッセージは、アウトバウンドメッセージ、インバウンドメッセージ、内部メッセージ、又は上記形式の組み合せでよい。
【0136】
一実施形態において、MMS800は、予め選択されたデータの存在に基づいてメッセージを変更するメッセージモディファイアー810を備えている。特に、一実施形態において、メッセージが予め選択されたデータを含まない場合には、メッセージモディファイアー810は、予め選択されたデータの欠落を指示する情報をメッセージに追加する。この情報は、受信者に通知するためにメッセージの本体に追加されるか、又はその後メッセージを処理するシステムに通知するために(例えば、機密データを含まないメッセージを保管するアーカイブシステムに通知するために)メッセージのヘッダに追加される。
【0137】
メッセージが予め選択されたデータを含む場合には、メッセージモディファイアー810は、異なる形式のメッセージ変更を遂行することができる。メッセージ変更の形式は、ユーザにより予め定義されるか、現在の予め選択されたデータの特性、及び/又は送信者/受信者の特性に基づいてプログラムで定義されるか、或いはメッセージアクションポリシーにより指定される。
【0138】
メッセージ変更の形式は、メッセージヘッダの変更、メッセージ主題ラインの変更及びメッセージ本体の変更を含む。メッセージヘッダは、その後メッセージを処理するシステムに、予め選択されたデータの存在を通知するように変更される。このダウンストリームシステムは、次いで、意図された受信者(1人又は複数)にメッセージを送信するのに加えて、又はそれに代わって、あるアクションをメッセージに適用することができる。例えば、アーカイブシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージを保管するのを控える。別の例では、ダウンストリームシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージの送信を終了する付加的なネットワークパケットを通信ストリームに注入することができる。更に別の例では、ダウンストリームシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージの本体を暗号化することができる。更に別の例では、クライアントメールアプリケーションは、メッセージヘッダにおける予め選択されたデータの指示子を見出し、次いで、警報(例えば、「このメッセージは機密である」)をメッセージに追加することができる。
【0139】
メッセージの主題ラインは、予め選択されたデータの存在を受信者に通知するように変更することができる。例えば、メッセージの機密さの警報をメッセージの主題ラインに追加することができる。
【0140】
又、メッセージの本体も、予め選択されたデータの存在を受信者に通知するように変更することができる。例えば、メッセージの機密さの警報をメッセージの本体に追加することができる。或いは又、機密情報を含むメッセージの本体をアタッチメントとして再構成することができ、そしてこのアタッチメントが機密情報を含むことを指示するように新たなメッセージ本体を再書き込みすることができる。更に別の例では、代用メッセージをオリジナルに代わって送信してもよい。この代用メッセージは、オリジナルのキャッシュコピーを指す安全リンクを含むことができる。この安全リンクは、適切な認証を要求すると共に、セキュアソケットレイヤ(SSL)通信プロトコルのようなプロトコルを経てチャンネルセキュリティを確保する。更に別の例では、メッセージにおける予め選択されたデータを編集することができる(例えば、関連メッセージトークンをブラックにしたり、削除したり、あるデータでオーバーライトしたり、等々)。
【0141】
メッセージに適用しなければならないメッセージ変更の形式は、メッセージアクションポリシーにより指定することができる。一実施形態において、メッセージアクションポリシーは、特定のメッセージ変更(例えば、ヘッダ変更、主題ライン変更、本体変更、等)をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在しなければならないか指定するルールのセットを含む。例えば、ルールのセットは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合に、あるメッセージ変更を遂行することを要求する。別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、その単一行からの一致する情報が特定列からのデータを含み、そしてこのデータが指定値に等しい場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、そしてその単一行からの情報が少なくともある数の指定列からのデータを含む場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、そしてその単一行からの情報が指定の除外列からデータを除外する場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの少なくともある数のランダムな行からの情報に一致する断片をメッセージが含む場合に、あるメッセージ変更を遂行することを要求する。
【0142】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール(例えば、メッセージの送信者及び/又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等)を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール(例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール)を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード(1つ又は複数)を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【0143】
一実施形態では、メッセージアクションポリシーは、このポリシーのルールに対する例外を識別する例外条項を含む。一実施形態では、例外条項は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び/又は受信者を宣言する。例えば、会社のCEOを指定する例外条項に基づき、ポリシーのルールで指定された予め選択されたデータが存在すると、メッセージの送信者又は受信者がCEOでない限り、あるメッセージ変更をトリガーする。例外条項は、個々の送信者及び受信者を宣言してもよいし、又は全ドメイン又はサイトにわたる送信者及び受信者を宣言してもよい。又、例外条項は、メッセージヘッダに関するものでもよい。例えば、例外条項は、メッセージをマーケッティング資料として識別するヘッダ指示子が、予め選択されたデータについてスキャンされずに、意図された受信者へメッセージを送信させねばならないことを宣言してもよい。
【0144】
一実施形態では、メッセージアクションポリシーは、指定された変更をトリガーするための付加的な条件を指定する。付加的な条件は、メッセージ送信者及び/又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、送信者による機密コンテンツの第3の送信の後にメッセージ本体を変更することを要求してもよい。
【0145】
図13−16Aは、予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別々の実施形態のフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。一実施形態において、このプロセスは、MMS800により遂行される。
【0146】
図13を参照すれば、処理ロジックは、インターセプトされたメッセージが、予め選択されたデータを含むことを決定することで開始する(処理ブロック1302)。
【0147】
処理ブロック1304において、処理ロジックは、予め選択されたデータの存在を指示するようにメッセージを変更する。一実施形態では、処理ロジックは、メッセージのヘッダを変更する。別の実施形態では、処理ロジックは、メッセージの本体を変更する。更に別の実施形態では、処理ロジックは、メッセージの主題ラインを変更する。
【0148】
処理ブロック1306において、処理ロジックは、変更されたメッセージを受信者へ送信する。更に、一実施形態では、処理ロジックは、オリジナルメッセージのコピーを送信者のスーパーバイザー及び/又はアーカイブシステムへ送信する(処理ブロック1308)。処理ロジックは、関連ポリシーにより要求された場合だけ、オリジナルメッセージのコピーを送信者のスーパーバイザー及び/又はアーカイブシステムへ送信する。
【0149】
図14を参照すれば、処理ロジックは、メッセージの本体において予め選択されたデータを検出し、そしてメッセージの本体から予め選択されたデータを抽出することで開始する(処理ブロック1402)。
【0150】
処理ブロック1406において、処理ロジックは、その抽出された予め選択されたデータをアタッチメントとして再構成する。別の実施形態では、処理ロジックは、予め選択されたデータをアタッチメントとして含む全メッセージ本体を再構成する。
【0151】
処理ブロック1408において、処理ロジックは、アタッチメントが機密データを含むことを指示する警報をメッセージ本体に追加する。
【0152】
図15を参照すれば、処理ロジックは、メッセージにおいて予め選択されたデータを検出し、そしてこの予め選択されたデータのいずれかの部分が編集を必要とするかどうか決定することで開始する(処理ブロック1502)。この決定は、予め定義されたルールに基づいて行うことができる(例えば、社会保障番号は編集しなければならないが、出生地は編集しない)。編集が必要でない場合には、処理ロジックは、メッセージを変更せずに受信者へ送信する(処理ブロック1508)。或いは又、予め選択されたデータの少なくとも一部分を編集する必要がある場合には、処理ロジックは、予め選択されたデータのこの機密部分をリアルタイムで編集し(処理ブロック1504)、そしてそれにより得られたメッセージを受信者へ送信する(処理ブロック1506)。編集は、例えば、関連メッセージトークンをブラックアウトし、関連メッセージトークンを削除し、関連メッセージトークンをあるデータでオーバーライトし、等々を含む。別の例では、編集は、予め選択されたデータを含む全アタッチメントの除去を含む。
【0153】
図16Aを参照すれば、処理ロジックは、メッセージアクションポリシーを識別することで開始する(処理ブロック1602)。上述したように、メッセージアクションポリシーは、予め選択されたデータに関するルールのセットであって、特定のメッセージ変更をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきであるか指定するルールのセットを含む。更に、一実施形態では、メッセージアクションポリシーは、前記ルールに対する例外を宣言する例外条項を含む。これらの例外は、例えば、メッセージヘッダがスキャニング指示子を含む場合だけ、予め選択されたデータについてメッセージをサーチすることを要求するヘッダコンテンツに基づく例外を含む。別の例外は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び/又は受信者を指定する。更に、一実施形態では、メッセージアクションポリシーは、ルールにより要求されるメッセージ変更をトリガーするための付加的な条件を指定する。これら付加的な条件は、メッセージの送信者及び/又は受信者に関連した経歴データに関するものである。例えば、付加的な条件は、ルールにより指定されたメッセージ変更が、単一の送信者による予め選択されたデータの第3の送信の後にのみ行われることを要求する。
【0154】
処理ブロック1604において、処理ブロックは、ポリシーに含まれたヘッダコンテンツに基づく例外が満足されるかどうか決定する。もしそうであれば、処理ロジックは、予め選択されたデータについてメッセージをサーチせずに、受信者へオリジナルメッセージを送信する(処理ブロック1618)。もしそうでなければ、処理ロジックは、ポリシールールにより指定された予め選択されたデータが見つかったかどうか決定する(処理ブロック1606)。
【0155】
メッセージが、指定された予め選択されたデータを含まない場合には、処理ロジックは、予め選択されたデータの欠落の指示子をメッセージヘッダに追加し(処理ブロック1616)、そしてメッセージを受信者へ送信する(処理ブロック1618)。メッセージが、指定された予め選択されたデータを含む場合には、処理ロジックは、受信者/送信者例外が満足されたかどうか決定する(処理ブロック1608)。もしそうであれば(即ち、メッセージの受信は及び/又は送信者が、予め選択されたデータを含むメッセージを交換することが許可された場合)、処理ロジックは、オリジナルメッセージを受信者へ送信する(処理ブロック1618)。もしそうでなければ、処理ロジックは、送信者及び/又は受信者の以前の経歴に基づく条件が満足されるかどうか決定し、処理ロジックは、この条件が満足されるかどうか決定する(処理ブロック1610)。以前の経歴条件が満足されない場合には、処理ロジックは、オリジナルメッセージを受信者へ送信する(処理ブロック1618)。以前の経歴条件が満足される場合には、処理ロジックは、メッセージアクションポリシーにより要求されるようにメッセージを変更し(処理ブロック1612)、そしてその変更されたメッセージを受信者へ送信する(処理ブロック1614)。
【0156】
図16Bは、特定のポリシーに基づいてeメールメッセージを取り扱うプロセスを示す。図示されたように、例示的な予め選択されたソースデータ1630は、口座番号列と、ラストネーム(姓)列と、ファーストネーム(名)列と、残高列とを含む。ポリシー1632は、eメールメッセージがソースデータ1630の単一行からのデータ断片を含み、そしてこれらデータ断片が、メッセージに任意の順序で現れるファーストネーム列、口座番号列、及び残高列からの情報を含む場合に、eメールメッセージを変更することを要求する。
【0157】
メッセージ1640は、ポリシー1632により指定された列からのものであるソースデータ1630の行1634からのデータ断片1642、1644及び1646を含む。ここでは、メッセージ1640が変更される。
【0158】
従来技術との比較
データベース問合せメカニズムは、ここに述べる教示とは著しく相違する。1つの相違は、B−ツリーが、実際に、それらがインデックスするデータベーステーブルの断片を含むことである。上述した解決策では、インデックスの内部に記憶されたデータベースデータのコピーはない。これが重要である理由は、上述したように、DMSは、データを脱出から保護するためにインデックスのコピーをもたねばならないが、DMSは、又、著しい脅威に曝され得るネットワーク内の位置に最良に配備されるからである。DMSが使用するインデックスを、データベースデータのコンポーネントがないように保持することが、重要な要件である。
【0159】
標準的なデータベース問合せメカニズムと、ここに述べる本発明との間の別の相違は、要求された問合せの形式で行わねばならない。リレーショナルデータベースに使用される問合せの標準的セットは、AND及びORのような接続語を使用する述語論理をベースとしている。この基本的なシステムは、通常、eメール及びウェブメールメッセージへ切り取って貼り付けるデータベースデータの検出に対して充分機能しない。eメールメッセージへ切り取って貼り付けるデータベースデータは、通常、レポートからのものであり、無関係な各ラインにデータをしばしば含み、データベーステーブル内では見つからない。その一例は、例えば、一群の顧客に対する口座情報を含むeメールメッセージである。このようなメッセージは、保護を必要とするコアデータベースからの沢山のレコード、例えば、ファーストネーム、ラストネーム、社会保障番号、等を含むが、コアデータベーステーブルにない情報も含むことができる。典型的な例は、他のデータベースから「結合」される情報である。別の例は、データベースデータのフィールドを分離するトークンをフォーマットする簡単なラインである。これらラインの各々に通常見られるこの余計なデータがおそらくあるために、出て行くメッセージのライン上の各トークンに適用されるAND及びORのような標準的な述語論理接続語は、ヒットが多過ぎるか(ORの場合のように)又はヒットがゼロか(ANDの場合のように)のいずれかとなる。ここでの説明では、システムは、nがライン内の全トークン数より相当に小さい場合でも、全てデータベーステーブルの同じ行からのn個以上のトークンの存在を検出することができる。これは、データベース及びドキュメント問合せメカニズムに対する本発明と上述した従来技術との間の別の顕著な相違である。
【0160】
上述した技術と情報検索技術との間には多数の大きな相違がある。第1に、これらシステムのためのインデックスは、保護されるべきデータベースに記憶される同じ用語を(コンコーダンス内に)含んでいる。ここでも、システムは、潜在的にハッカーの脅威のもとにあるネットワークの位置にこのインデックスを配備するので、これは、明白な欠点である。第2に、これら問合せシステムは、AND及びORのような述語論理の形態を使用してブールの問合せを実行する。上述したように、この解決策は、他のテーブルからの無関係なデータとおそらく「結合」されたデータベースレコードを検出するための個別の欠点である。
【0161】
ファイルシングリングの技術は、ここに述べる技術に類似しているが、実質的に相違する。ファイルシングリングでは、関心のある主題は、テキストデータ(散文、ソフトウェア、アウトライン、等)である。ここに述べる技術では、データベースデータを保護することに焦点が当てられる。1つの相違は、所与のデータベーステーブルからのデータベースデータが、テストメッセージにおいて任意に並び替えられた行順序又は列順序で現れることである。これらの並び替えは、データベースデータを抽出するために通常適用される問合せメカニズムの簡単な結果である。データベース問合せは、任意の列順序及び任意の行順序となるデータベースデータのブロックを生じさせることができる。この理由で、ファイルシングリングの基本的技術は、データベースデータに適用された場合に機能しない。ファイルシングリングは、保護されたドキュメントとテストドキュメントとの間で同じ直線的シーケンスをたどることを仮定する。
【0162】
インターネットコンテンツフィルタリングシステムと、ここに述べる教示との間には、多数の重要な相違がある。上述したように、インターネットコンテンツフィルタリングシステムは、キーワードサーチをベースとする。上述した新規な技術は、保護しようとするデータベースデータからアブストラクトデータ構造体を構築する。このアブストラクトデータ構造体は、保護しようと試みるテキストの断片を含まない。キーワードフィルタリングシステムは、その問合せを実行するためにサーチしているテキストのある表現を含まねばならない。第2の大きな相違は、これらのインターネットコンテンツフィルタリングシステムがデータベースデータの保護を意図していないことである。通常の表現マッチングを使用して、データベースデータに対する組織のプライバシーポリシーの違反を検出すると、非常に不正確な検出方法を招く。これらのシステムは、主として、ポルノ又は虐待的コンテンツ及び言語に関係するような、従業員によるインターネットの悪用を停止するために適用される。このようなシステムは、データベースデータの保護に適用された場合には、通常の表現を使用して、データベースレコードにマッチングさせる。これは、セキュリティリスクが最大となるようなネットワーク上のコンピュータにデータベースデータの断片を転送する結果にもなる。
【0163】
例示的コンピュータシステム
図17は、ここに述べるオペレーションの1つ以上を遂行する例示的コンピュータシステムのブロック図である。図17を参照すれば、コンピュータシステム1700は、例示的クライアント1750又はサーバー1700コンピュータシステムを含む。コンピュータシステム1700は、情報を通信するための通信メカニズム又はバス1711と、情報を処理するためにバス1711に結合されたプロセッサ1712とを備えている。プロセッサ1712は、例えば、PentiumTM、PowerPCTM、AlphaTM、等のマイクロプロセッサを含むが、これに限定されない。
【0164】
システム1700は、更に、プロセッサ1712により実行されるべきインストラクション及び情報を記憶するためにバス1711に結合されたランダムアクセスメモリ(RAM)又は他のダイナミック記憶装置1704(メインメモリと称される)を備えている。メインメモリ1704は、又、プロセッサ1712によるインストラクションの実行中に一時的変数又は他の中間情報を記憶するのにも使用できる。
【0165】
又、コンピュータシステム1700は、プロセッサ1712のためのスタティック情報及びインストラクションを記憶するためにバス1711に結合されたリードオンリメモリ(ROM)及び/又は他のスタティック記憶装置1706と、磁気ディスク又は光学ディスク及びそれに対応するディスクドライブのようなデータ記憶装置1707も備えている。データ記憶装置1707は、情報及びインストラクションを記憶するためにバス1711に結合される。
【0166】
コンピュータシステム1700は、更に、コンピュータユーザに情報を表示するためにバス1711に結合された陰極線管(CRT)又は液晶ディスプレイ(LCD)のようなディスプレイ装置1721に結合される。プロセッサ1722に情報及びコマンド選択を通信するために、アルファニューメリックキー及び他のキーを含むアルファニューメリック入力装置1722もバス1711に結合される。付加的なユーザ入力装置は、マウス、トラックボール、トラックパッド、スタイラス、又はカーソル方向キーのようなカーソルコントローラ1723であり、これは、方向情報及びコマンド選択をプロセッサ1722へ通信すると共に、ディスプレイ1721上のカーソル移動を制御するために、バス1711に結合される。
【0167】
バス1711に結合される別の装置は、ハードコピー装置1724であり、これは、インストラクション、データ、又は他の情報をペーパー、フィルムのような媒体、又は同様の形式の媒体にプリントするのに使用される。更に、音声記録及び再生装置、例えば、スピーカ及び/又はマイクロホンが、コンピュータシステム1700との音声インターフェイスのためにバス1711に任意に結合される。バス1711に結合される別の装置は、電話又はハンドヘルドパルム装置と通信するためのワイヤード/ワイヤレス通信能力1725である。
【0168】
システム1700及びそれに関連したハードウェアのいずれか又は全てのコンポーネントを本発明に使用できることに注意されたい。しかしながら、コンピュータシステムの他の構成は、幾つかの又は全ての装置を含んでもよいことが明らかである。
【0169】
当業者であれば、前記説明を読んだ後に、本発明の多数の変更や修正が疑いなく明らかであろうが、例示のために図示して説明した特定の実施形態は、本発明をこれに限定するものではないことを理解されたい。それ故、種々の実施形態の細部を参照することは、本発明の本質と考えられる特徴のみを列挙した特許請求の範囲を限定するものではない。
【技術分野】
【0001】
本発明は、データ処理の分野に係り、より詳細には、予め選択された(例えば、所有権)データを含むメッセージの取り扱いに係る。
【背景技術】
【0002】
多くの組織は、セキュリティに機密な大量の情報をリレーショナルデータベースに記憶している。この形式のデータは、通常、物理的セキュリティ、アクセス制御、周辺セキュリティ制限、及びある場合には、暗号化を含む非常に徹底したセキュリティ対策を受ける。データベースデータへのアクセスは、企業における大勢の従業員の職務にとって必須であるから、この情報が盗難にあったり偶発的に配布されたりする多数のポイントが考えられる。情報の盗難や、悪意のない不注意な開示は、知的財産の価値及び取締り遵守に関係した法的責任の両方に関して著しいビジネスリスクを意味する。
【0003】
リレーショナルデータベースシステム
リレーショナルデータベースシステムは、膨大な範囲のアプリケーションにとって有用である。リレーショナル構造体は、データに問合せするための生来の直観的な仕方を表わす形態でデータを保持し、基礎となるディスク記憶システムの詳細をユーザから隠すという付加的な利点を有する。データベースシステムの典型的なアプリケーションは、当然テーブル構造体へとフォーマットできるデータの非常に多数の小さな断片を記憶し検索することを含む。リレーショナルデータベースは、高い有用性を有する。というのは、ほとんどの人々が気にかける問合せの形式を、以下に述べる良く知られたインデックス構造体を使用して最適化できるからである。
【0004】
リレーショナルデータベースシステムで要求される問合せは、ユーザが探しているテーブルデータをユーザが簡潔に要求するのを許す構造化問合せ言語(SQL)と称される生来の直感的述語論理を使用する。データベーステーブルには、ほとんど常に、SQLに基づく問合せをより効率的なものにするインデックスが設けられる。これらのインデックスは、B−ツリーと称するデータ構造体を使用してメモリに記憶される。現在の検討に最も関連したB−ツリーの顕著な特性は、次の通りである。
B−ツリーは、バイナリーツリーに基づくアブストラクトデータ構造体であり;
B−ツリーは、それがインデックスするデータのあるコピーを含まねばならず;そして
B−ツリーは、以下に述べる問合せを使用すると、最も効率的である。
【0005】
多数の問合せ例がある。
式A=vの厳密な一致問合せ:ここで、
Aは、所与のデータベーステーブルの列又は「属性」を指す
vは、特定の属性値を指す
例えば、SELECT*FROM CUSTOMERS WHERE Income=30,000
式v1<A<v2の範囲問合せ:ここで、
Aは、所与のデータベーステーブルの列又は「属性」を指す
例えば、SELECT*FROM CUSTOMERS WHERE 30 < Income < 40
式A MATCHES s*のプレフィックス問合せ:ここで、
“s”は、特定ストリング値を指す
“s*”は、通常の表現である
例えば、Last_Name MATCHES “Smith”
【0006】
データベースシステムの分野における最初の研究に対して多数の参考文献がある。その第1は、E. F. Doddによるリレーショナルデータベースに関する発展性のある研究“A Relational Model of Data for Large Shared Data Banks”、Communications of the ACM、13(6):377−387、1970である。
【0007】
第2の参照文献は、上述した形式の効率的な問合せを可能にする基本的データ構造体である“B-Tree”データ構造体に関する最初に出版された研究の1つである。Rudolf Bayer及びEdward M. McCreightの“Organization and Maintenance of Large Ordered Indices”、Record of the 1970 ACM SIGFIDET Workshop on Data Description and Access、11月15−16日、1970年、ライスユニバーシティ、ヒューストン、テキサス州、USA(第2版、アペンディックス付き)、ページ107−141、ACM、1970年。
【0008】
情報検索システム
情報検索は、ドキュメントに見出されたテキストデータの記憶及び検索を取り扱う広範囲な分野である。これらのシステムは、主として、テーブルデータではなく標準的なドキュメントに焦点をおいたという点でデータベースシステムとは相違する。このシステムの初期の例は、コーネル(Cornell)においてSMARTシステムの一部分として開発された。今日、最も知られた情報検索アプリケーションは、Google、Inktomi及びAltaVistaのようなウェブベースのサーチエンジンである。これらのシステムを使用するための典型的な方法は、デジタルドキュメントの大きなセットの一部分であるドキュメントに対する参照を見出すことである。これらアプリケーションに対するユーザの経験は、通常、結果のブラウジングとインターリーブされた一連の問合せで構成される。問合せの結果は、関連性が低下する順に表わされ、ユーザは、更なるブラウジングの後に問合せを洗練化することができる。リレーショナルデータベースと同様に、これらシステムの甚だしい人気は、人々が最も有用に見出す問合せの形式に対して迅速な応答を与えるための基礎的なインデックスの能力によるものである。
【0009】
これらシステムのほとんどは、インデックスされたドキュメントの集合から構築されるいわゆる「コンコーダンス」から導出されるインデックスをベースとするものである。これらのコンコーダンスは、ワードごとに、各ドキュメントにおいてそのワードが各々生じる位置をリストしたデータ構造体を含む。このようなデータ構造体は、特定の用語を含む全てのドキュメントの迅速なルックアップを許す。用語の集合を含む全てのドキュメントを求めるユーザ問合せに対して、インデックスは、高次元のユークリッドベクトル空間における非常に多数のベクトルを表わすように構成される。次いで、問合せ用語のユーザリストも、この空間におけるベクトルとして解釈し直される。問合せは、ドキュメント空間におけるどのベクトルが問合せベクトルに最も近いか見出すことにより実行される。この最後の解決策は、精度及び速度のために種々の異なる最適化が適用され、「コサインメトリック(cosine metric)」と称される。
【0010】
上述したように、これら種類のシステムとの典型的なユーザ相互作用は、問合せ、ブラウジング、洗練化、そして再び問合せへと戻る反復サイクルである。問合せ結果は、通常、関連性の順序でランク付けされた非常に多数のドキュメントであり、偽の肯定レートが非常に高くなる。問合せについての幾つかの古典的な例がある。
ブールの問合せは、次のようなものである。
a)用語「データベース」及び「インデックス」を含む全てのドキュメント
b)「データベース」又は「インデックス」を含むが、「サイベース(Sybase)」を含まない全てのドキュメント
リンクベースの問合せは、次のようなものである。
a)用語「ドッグ(dog)」を含むドキュメントによりリンクされる全てのドキュメント
b)ワード「ドッグ」を含む最も「人気のある」(即ちリンクされた)ドキュメント
【0011】
情報検索システムの第1の意義のある実施プロジェクトの1つは、コーネルにおけるSMARTシステムである。このシステムは、今日も依然使用されている情報検索システムの本質的なコンポーネントの多くを含む:C. Buckley著、“Implementation of the SMART Information Retrieval System”、テクニカルレポートTR85−686、コーネルユニバーシティ、1985年。
【0012】
WAISプロジェクトは、シンキングマシンズインク(Thinking Machines Inc.)により製造された大規模なパラレルスーパーコンピュータの初期のアプリケーションであった。これは、インターネットを経て利用できるようにされる第1フィールド情報検索システムの1つである。この研究に対するこの一次参照ソースは、Brewster Kahle及びArt Medlarの“An Information System for Corporate Users: Wide Area Information Servers”、テクニカルレポートTMC−199、シンキングマシンズインク、1991年4月、バージョン3.19である。
【0013】
インターネットサーチサービスの多くの現代コマーシャル売主の中にGoogleがある。サーチ精度においてのGoogleの真の躍進は、インデックスされたドキュメントのテキスト及びハイパーリンク構造の両方からのデータを収穫するための能力である。Sergey Brain、Lawrence Page、“The Anatomy of a Large-Scale Hypertextual Web Search Engine”、http://dbpubs.stanford.edu:8090/pub/1998-8を参照されたい。
【0014】
ファイルシングリングシステム
デジタルドキュメントをコピーし配布するインターネット及び手ごろな手段の成長は、ドキュメントの不法又は不適切なコピーを検出する上で助けとなる技術においてリサーチの関心に拍車をかけた。この研究についての主たる用途は、著作権法の違反を検出し、剽窃行為を検出することであった。又、この問題は、スパムeメール(AKA非懇願コマーシャルeメール)の検出及び自動的削除にも関係しているので、著しい関心がある。これら技術のほとんどを説明するのに適用される技術用語は、ドキュメント断片の隣接シーケンスがハッシュコードにより「シングル(shingle)」に減少され、次いで、それらがドキュメントにおいて見つかったのと同じシーケンスでルックアップテーブルに記憶される「ファイルシングリング(file shingling)」である。
【0015】
ファイルシングリングは、2つのドキュメント間の類似性を見つけるための非常に迅速な方法を与える。特定のドキュメント(例えば、テキストファイル)に対して保護を与えるために、ドキュメントをセンテンスごとにハッシュし、そしてこれらのハッシュされたセンテンスを素早くルックアップするためにテーブルに記憶することにより、ドキュメントがシングリングされる。新たなドキュメントをテストして、著作権のあるコンテンツの断片を含んでいるかどうか調べるために、同じハッシュ関数をテストメッセージの各断片に適用し、それら断片が著作権コンテンツの場合と同様の順序で現れるかどうか調べる。この技術は、個々の断片をルックアップするのに必要な時間が非常に速いので、迅速である。
【0016】
ファイルシングリングシステムとの典型的なユーザ相互作用は、能動的ではなく、受動的である。ファイルシングリングシステムは、通常、ドキュメントを自動的に処理し、そして問合せ結果をユーザに非同期で配送するように設定される。典型的なファイルシングリングアプリケーションは、スパム防止であり、1組のメッセージを使用して、組織がそのeメールシステムへの配送を希望しない制限されたコンテンツのインデックスを生成する。このシナリオにおいて、「問合せ」とは、単に、eメールメッセージの自動処理及び適当な自動ルーティングである。
【0017】
ドキュメント等価問合せに関して、各テストドキュメントtに対して、tと同じコンテンツを有する全てのドキュメントdを、インデックスされたドキュメントの集合において見出す。スパム検出を容易にするため、セットdは、全ての既知のアクティブなスパムメッセージであり、そしてドキュメントtは、到来するeメールメッセージである。
【0018】
切り取って貼り付ける(cut-and-paste)検出の問合せについては、各テストドキュメントtに対して、ドキュメントdのある断片がドキュメントtに生じるような全てのドキュメントdを、インデックスされたドキュメントの集合において見出す。剽窃行為を検出する場合には、セットdが、特定のクラスに対して以前に提示された全てのエッセーであり、そしてドキュメントtは、剽窃行為が疑われている学生により書かれた新聞である。
【0019】
ファイルシングリングにおける主たる公表されたリサーチプロジェクトは、KOALA、COPS、及びSCAMと称される。これらは、全て、上述した基本的なファイルシングリング解決策の変形を、性能及び精度を最適化する変形と共に使用する。KOALAに関する情報については、N. Heintzeの“Scalable Document Fingerprinting”、Proceedings of Second USENIX Workshop on Electronic Commerce、1996年11月、http://www-2.cs.cmu.edu/afs/cs/user/nch/www/koala/main.htmlを参照されたい。COPSに関する情報については、S. Brin、J. Davis、及びH. Garcia-Molinaの“Copy Detection Mechanisms for Digital Documents”、Proceedings of the ACM SIGMOD Annual Conference、1995年5月を参照されたい。SCAMに関する情報については、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)、1995年6月、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) 1996年3月、http://www-db.stanford.edu/pub/pagers/performance.ps.も参照されたい。
【0020】
インターネットコンテンツフィルタリングシステム
コンテンツフィルタリングシステムと称される種々のコマーシャルアプリケーションが保護対策を実施する。このカテゴリーには、ウェブサイト制限/モニタリングソフトウェア、及びeメールコンテンツ制御、の2つの主たる形式のアプリケーションが存在する。両方の場合に、現在使用される主たるアルゴリズムは、テキスト断片のセット集合のための1組の通常の表現に対するパターンマッチングであって、データの誤用を指示するものである。その一例は、テキスト断片「XXX」を含むURLに全てのブラウジングを制限することである。eメールコンテンツ制御カテゴリーに対する一例は、ワード「所有権(proprietary)」及び「機密(confidential)」を含む全てのeメールを停止し且つ阻止するが、ワード「ジョーク(joke)」又は「冗談(kidding)」を含むものは、そのようにしないことである。
【0021】
ファイアウオール、侵入検出及び侵入防止システム
共通の形式のメッセージ処理システムは、ファイアウオールと称される。ファイアウオール及び侵入検出システムは、ネットワーク間の通信を監視し、そしてソース及び行先アドレス、ポート番号、及びパケットコンテンツのようなルールに基づいてコンテンツのフィルタリングを実施する。これらのルールは、通常、上述したように、厳密なマッチング及びパターンマッチングをベースとする。これらのシステムは、無断通信がなされたことを検出すると、通信を阻止するか、それをリルートするか、又はそれを単に報告するかのいずれかである。
【0022】
ウイルス防止システム
ウイルス防止システムは、メッセージ(通常、eメール及びHTTPメッセージ)を、悪意の実行コードについてサーチする。メッセージが、ウイルス符牒に一致する実行コードの断片を含むことが分かった場合には、メッセージが阻止されるか、削除されるか、又は検疫サーバーへリルートされる。悪意のコードを検出するために適用される典型的なサーチアルゴリズムは、直接的な比較により疑わしいメッセージ内の悪意のコードの既知の断片をサーチする。
【0023】
スパム防止システム
非懇願のコマーシャルメッセージ(「スパム」として一般に知られている)を阻止する上で助けとなる種々のシステムが存在する。これらのシステムは、到来するメッセージ(通常eメールメッセージ)を監視し、そしてコマーシャルメッセージの確認を専門に扱うコンテンツ検出アルゴリズムを使用してそれらをフィルタリングする。1)ソースブラックリスティング、2)厳密マッチング、及び3)統計学的プロフィーリング、の3つの良く知られた解決策が存在する。ソースブラックリスティングでは、スパムの既知のソースが識別され、次いで、これらソースからの通信が無視される。厳密なマッチングでは、到来するメッセージが、完全な又は部分的な形態でスパムの既知のサンプルと直接的に比較され、そして充分にオーバーラップすることが分ると、到来するメッセージが拒絶され、又は検疫される。統計学的なプロフィーリングでは、スパムの既知のサンプルが、統計学的な技術(例えば、ベイズ分析又はワード使用頻度)を使用してプロフィーリングされる。次いで、到来するメッセージが到着するときにそれらの統計学的なプロフィールが取り上げられ、そして到来するメッセージのプロフィールがスパムメッセージに一致する場合に、そのメッセージが破棄されるか、又は検疫サーバーへリルートされる。
【発明の概要】
【0024】
テーブルデータソースからの予め選択されたデータを含むメッセージを取り扱うための方法及び装置が説明される。ある実施形態では、この方法は、ネットワークを経て受信者へ送信されるメッセージが、指定のテーブルデータソースからの予め選択されたデータを含むことを決定するステップを備えている。予め選択されたデータは、ソースデータのテーブル構造体内の少なくとも1つのランダムな行からの情報を含む。この方法は、更に、予め選択されたデータの、受信者への無断送信を防止するステップも含む。
【0025】
本発明は、本発明の種々の実施形態についての以下の詳細な説明及び添付図面から充分に理解されよう。しかしながら、これは、例示に過ぎず、本発明は、この特定の実施形態に限定されるものではない。
【図面の簡単な説明】
【0026】
【図1】ワークフローの一実施形態を示す。
【図2】A−Bは、例示的なオペレーションモードを示す。
【図3】データベースのデータを保護するプロセスの一実施形態を示すフローチャートである。
【図4】データベースのデータをインデックスするプロセスの一実施形態を示すフローチャートである。
【図5】予め選択されたデータに対する情報コンテンツをサーチするプロセスの一実施形態を示すフローチャートである。
【図6A】予め選択されたデータから導出されたアブストラクトデータ構造体におけるコンテンツ断片のサブセットに対する一致を見つけるプロセスの一実施形態を示すフローチャートである。
【図6B】予め選択されたデータから導出されたアブストラクトデータ構造体におけるコンテンツ断片のサブセットに対する一致を見つけるプロセスの一実施形態を示すフローチャートである。
【図7A】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの実施形態を示すフローチャートである。
【図7B】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの別の実施形態を示すフローチャートである。
【図7C】予め選択されたデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするプロセスの別の実施形態を示すフローチャートである。
【図8】メッセージ監視システムの一実施形態を示すブロック図である。
【図9】予め選択された機密データの無断送信を防止するプロセスの実施形態を示すフローチャートである。
【図10】予め選択された機密データの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図11】予め選択された機密データの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図12A】予め選択された機密データの無断送信を防止するプロセスの別の実施形態を示すフローチャートである。
【図12B】特定のポリシーに基づいてeメールメッセージを取り扱うプロセスを示す図である。
【図13】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの実施形態を示すフローチャートである。
【図14】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図15】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図16A】予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別の実施形態を示すフローチャートである。
【図16B】特定のポリシーに基づいてeメールメッセージを変更するプロセスを示す図である。
【図17】ここに述べる1つ以上のオペレーションを遂行できる例示的コンピュータシステムのブロック図である。
【発明を実施するための形態】
【0027】
予め選択された機密データを含むメッセージを取り扱うためのシステム及び方法について説明する。以下の説明では、本発明をより完全に説明するために多数の細部について述べる。しかしながら、当業者であれば、これらの特定の細部を伴わずに本発明を実施できることが明らかであろう。他の例において、良く知られた構造及び装置は、本発明を不明瞭にするのを回避するために、詳細に示すのではなく、ブロック図で示す。
【0028】
以下の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズム及び記号表現に関して表わされる。これらアルゴリズム記述及び表現は、データ処理技術の当業者により、それらの仕事の実体をその分野の他の等業者に伝えるために使用される手段である。アルゴリズムは、ここでは、一般的に、希望の結果を導くステップの自己矛盾のないシーケンスと考えられる。これらステップは、物理量の物理的操作を要求するものである。通常、必ずしもそうでないが、これらの量は、記憶、転送、合成、比較、その他、操作することのできる電気信号又は磁気信号の形態をとる。時には、主として、共通に使用するという理由で、これらの信号をビット、値、エレメント、記号、キャラクタ、項、番号、等として参照するのが便利なことが分った。
【0029】
しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられ、これらの量に適用される単なる便利な表示に過ぎないことを銘記されたい。特に記載しない限り、以下の説明から明らかなように、説明全体にわたり、「処理」又は「コンピューティング」又は「計算」又は「決定」又は「表示」等の用語を使用する論議は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表わされたデータを、コンピュータシステムメモリ又はレジスタ、或いは他のそのような情報記憶、送信又はディスプレイ装置内の物理量として同様に表わされた他のデータへと操作及び変換するコンピュータシステム又は同様の電子的コンピューティング装置のアクション及びプロセスを指すことが明らかであろう。
【0030】
又、本発明は、ここに述べるオペレーションを遂行するための装置にも係る。この装置は、要求された目的に対して特別に構成されてもよいし、或いは記憶されたコンピュータプログラムにより選択的にアクチベート又は再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、コンピュータ読み取り可能な記憶媒体、例えば、これに限定されないが、フロッピー(登録商標)ディスク、光学ディスク、CD−ROM及び磁気−光学ディスクを含む任意の形式のディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光学カード、或いは電子的インストラクションを記憶するのに適したもので、コンピュータシステムバスに各々結合された任意の形式の媒体に記憶することができる。
【0031】
アルゴリズム及びそこに表現される表示は、特定のコンピュータ又は他の装置に固有に関係したものではない。種々の汎用システムは、ここでの教示に基づくプログラムに使用されてもよいし、或いは必要な方法ステップを遂行するための特殊な装置を構成するのに便利であることも分っている。種々のこれらシステムに必要な構造は、以下の説明から明らかとなろう。更に、本発明は、特定のプログラミング言語を参照して説明するものではない。ここに述べる本発明の教示を実施するのに種々のプログラミング言語を使用できることが明らかであろう。
【0032】
マシン読み取り可能な媒体は、マシン(例えば、コンピュータ)により読み取りできる形態で情報を記憶又は送信するためのメカニズムを含む。例えば、マシン読み取り可能な媒体は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気、光学、音響又は他の形式の伝播信号(例えば、搬送波、赤外線信号、デジタル信号、等)、等々を含む。
【0033】
実施形態の要素
一実施形態において、ここに述べる検出機構を遂行するためのシステムは、2つの主たる要素、即ちポリシーマネージメントシステム(PMS)、及びメッセージモニタリングシステム(MMS)より成る。PMSは、ネットワークを経て送信されるメッセージ内に含まれるか、又はポータブルコンピュータ、デスクトップコンピュータ、パーソナルデジタルアシスタント、セルラー電話、等のパーソナルコンピューティング装置のデータ記憶媒体に記憶されるソースデータ(例えば、データベースデータ)を使用し送信するための情報セキュリティポリシーを決定するユーザ入力を受け容れるという役割を果たす。従って、このデータは、予め選択される。ここで使用する「パーソナルコンピューティング装置のデータ記憶媒体」という用語は、パーソナルコンピューティング装置内の記憶を指すか、或いはパーソナルコンピューティング装置のためのデータを一時的又は永久的に記憶できるパーソナルコンピューティング装置へアクセスできることを指す。
【0034】
MMSは、ネットワークを経て送信されたメッセージ、パーソナルコンピューティング装置により処理されたデータ、又はパーソナルコンピューティング装置のデータ記憶媒体に記憶されたデータにおいてコンテンツサーチを遂行するという役割を果たすと共に、ユーザによりPMSに識別されたポリシーを実施するという役割も果たす。一実施形態において、これらシステムは、両方とも、情報を交換するための任意の標準プロトコルを通信するコンピュータネットワークに結合される。
【0035】
この実施形態における通常のオペレーション中に、ユーザは、ある個人によるソースデータの使用又は送信を制限する所与のポリシーを実施するように判断し、次いで、このポリシーを、グラフィックユーザインターフェイス及び1つ以上のユーザ入力装置(例えば、マウス、キーボード、等)を使用してPMSに入力する。ユーザインターフェイスは、入力を受け取り、そしてPMSをもつコンピュータシステム又は個別のマシンにおいて実行される。一実施形態では、ポリシーは、望ましい保護の性質(例えば、従業員のサブセットだけを制限する)、保護を要求するデータの形式(例えば、データベースデータ)、及び保護を要求するデータベースデータのネットワーク位置(例えば、データベーステーブル名、サーバーのIPアドレス、サーバー又はファイルの名前)を含む。
【0036】
一実施形態においてユーザにより調整できるがデフォールトでは指定インターバル(例えば、1日)当たり一回である規則的な間隔で、PMSは、保護されるべきソースデータのコピーを抽出し、そしてそのデータから、以下に詳細に述べるアブストラクトデータ構造体(以下、「インデックス」と称する)を導出する。
【0037】
PMSは、次いで、このインデックスを、実施されるべきポリシーの各事項と共にMMSへ送信し、従って、MMSは、ポリシーの施行を開始することができる。MMSは、施行されるべきポリシーの詳細と一緒にPMSからインデックスを受け取る。MMSは、インデックス及びポリシー情報を使用して、ユーザにより指定されたポリシーを施行する。一実施形態では、MMSは、以下に詳細に述べるように、このインデックスを使用して、出て行くメッセージの各々(例えば、eメールメッセージ、ウェブメールメッセージ等)を、保護されるべきソースデータについてサーチする。別の実施形態では、MMSは、このインデックスを使用して、パーソナルコンピューティング装置のデータ記憶媒体のコンテンツ及び/又はユーザとパーソナルコンピューティング装置との間の対話のコンテンツを、保護されるべきデータベースデータについてサーチする。
【0038】
例示的ワークフローの概要を図1に見ることができ、ここでは、最高値の情報が識別され、ポリシーが著作され、監督及び施行が行なわれて、実行可能なビジネスインテリジェンスへと導く。
【0039】
ネットワークベースのオペレーションモード
一実施形態において、メッセージモニタリングシステムは、「監督モード」及び「施行モード」の2つの仕方の一方で構成することができる。図2A及び2Bは、2つのネットワーク構成を示す。図2Aに示す「監督モード」では、MMSがネットワーク上のどこかに配置され、トラフィックを注視してポリシーの違反を報告できるが、メッセージが出て行くときにそれらを阻止するようには特に構成されない。PMSは、情報にアクセスすることができ、そしてスイッチ、タップ及びファイアウオールを経てインターネットに結合される。MMSは、タップを使用してネットワークメッセージを監視する。
【0040】
図2Bに示す「施行モード」では、MMSは、トラフィックを注視して違反を報告できるが、メッセージをインターセプトしてリルートし、その最終的な行先を変更することができる。PMSは、情報にアクセスすることができ、そしてスイッチ及びファイアウオールを経てインターネットに結合される。この実施形態では、MMSは、一連のサーバーを使用してトラフィックを監視し、そしてメッセージがおそらく予め選択された情報を含むことをMMSが決定した場合に、トラフィックを、例えば、あるサーバーへリルートする。MMSは、種々のレイヤプロトコルの各々に対して異なるサーバーを使用することができる。
【0041】
メッセージのリルートは、要求されない。或いは又、MMSは、出て行くメッセージをインターセプトして停止するだけであるようにも構成できる。「施行モード」における例示的ポリシーは、ポリシーに違反する全てのメッセージを、ポリシーに違反する個人のマネージャーへルーティングして、適当な懲戒アクションをとれるようにすることである。「施行モード」におけるMMSのオペレーションは、図8−10を参照して以下に詳細に説明する。
【0042】
両オペレーションモードにおいて、コンテンツを検出するのに必要なインデックスのそれ自身のコピーを各々伴う多数のMMSをインストールすることができる。このパラレル処理構成は、スケーリングの問題や、多数の考えられる情報出口ポイントを保護することについて役立つ。
【0043】
両構成において、MMSは、種々のプロトコル(例えば、簡単なメール転送プロトコル(SMTP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、AOLインスタントメッセージング(AIM)、ICQ、単一オブジェクトアクセスプロトコル(SOAP)、SQLNet、送信制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、イーサネット(登録商標)、802.11、等)を使用して搬送されるメッセージをアクティブにパージングする。
【0044】
一実施形態では、2つのサブシステム(PMS及びMMS)が1つのローカルエリアネットワーク(LAN)において実行される。しかしながら、PMS及びMMSは、同じ物理的又は論理的システムに合体されてもよい。この統合された構成は、システムを形成するのに必要な製品の制御コストの理由でより適したものである。
【0045】
更に別の実施形態では、PMS及びMMSは、必ずしも同じLANに存在しなくてもよい。PMSは、データベース情報と同じLANに存在するが、MMSは、PMSが存在するLANから分離された異なるLANに存在する。この構成では、2つの個別のLANは、最終的に、インターネットを経て一緒に結合されるが、ファイアウオール、ルーター、及び/又は他のネットワーク装置によって分離される。これは、ある会社が、そのデータベースデータを必要とする別の会社(例えば、法律事務所又はマーケッティング代理店)を、その第1の会社のデータベースポリシーに違反することから制限したい場合に好都合な構成である。
【0046】
図3は、ソースデータを保護するプロセスの一実施形態のフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0047】
図3を参照すれば、処理ロジックは、予め選択されたデータに対してメッセージを監視する(処理ブロック301)。次いで、処理ロジックは、メッセージが、予め選択されたデータを有するかどうか決定する(処理ブロック302)。もしそうでなければ、処理は、処理ブロック301へ移行する。もしそうであれば、処理ロジックは、メッセージにおいて情報を送信/受信するために個々の送信/受信メッセージが許可されたかどうか決定する(処理ブロック303)。もしそうであれば、プロセスは終了し、処理は、処理ブロック301へ移行する。もしそうでなければ、処理ロジックは、メッセージをインターセプトし、メッセージをリルートし、メッセージをログし、等々の1つ以上のアクションを行い(処理ブロック304)、そして処理は、処理ブロック301へ移行する。これらのアクションは、図8−10を参照して以下に詳細に説明する。
【0048】
例示的サーチ技術
上述したように、違反は、規定のポリシーを使用して情報コンテンツをサーチすることにより検出される。一実施形態では、ソースデータから導出されたアブストラクトデータ構造体(インデックス)を使用してサーチが遂行される。一実施形態では、このインデックスは、ソースデータのコピーを含まないか、又はソースデータの暗号化又はハッシュ化コピーしか含まない。この実施形態は、特に、データそれ自体の表現を記憶するのを回避し、ハッカーが、DMS(上述したように、コンテンツサーチを遂行するときにインデックスを利用する)を実行するホストに侵入する場合に、窃盗に曝されるデータが取るに足らないものであるようにする。インデックスは、データベースデータの断片に関連した多数のタプルを記憶するためのデータ構造体を与えるタプル記憶メカニズムを使用して生成されてもよい。タプル記憶メカニズムの例は、リレーショナルデータベースマネージメントシステムにおいてハッシュテーブル、ベクトル、アレー、ツリー、リスト、又はテーブルを含む。以下に述べるプロセスでは、インデックスに記憶されるデータは、データベースにおけるエレメントの、他のエレメントに対する相対的な配置しか含まない。例えば、ハッシュテーブルの場合には、インデックスは、データベースデータの各断片(例えば、データベースセル内のデータ断片)に対して、その断片のハッシュコードを、その行番号、列番号及び列の形式と一緒に記憶することができる。
【0049】
別の実施形態では、インデックスは、保護のもとにある知的財産の断片を含み、従って、その情報をセキュリティの脅威に曝すことにより、解決策の価値を下げる。
【0050】
更に別の実施形態では、システムにおけるデータの大きな割合を表わすデータベースからの頻繁に使用されるストリング及び番号の少量のコピーが、データベーステーブル(1つ又は複数)におけるデータの相対的な配置に関する情報の残りと共に、依然、インデックスに直接的に記憶される。これは、ハッシュコードではなく、これら一般的ストリングそれ自体のコピーを記憶することにより行なわれる。その結果、インデックスは、行番号、列番号、及びソースデータの形式を含むが、ハッシュコードを記憶するのではなく、ストリングそれ自体を記憶する。あまり一般的でないデータベースのセルの残りに対して、これらストリングのコピーを特に記憶せずに、行番号、列番号、及びソースデータの形式のみが記憶される。この解決策は、データベースにおけるストリング及び数値データの統計学的分布には、しばしば、歪みがあり、最も一般的な用語が、記憶されたデータの全体量の非常に大きな割合を占めるという事実を利用するものである。これら一般的用語を個別のインデックスに記憶すると、少数の一般的用語が問合せの大きな割合を占めるので、インデックス問合せの効率に有用であり、これら問合せは、文献からの標準的な迅速技術を使用して実行することができる(例えば、ハッシュテーブルルックアップ、ビットマップ、等)。これがセキュリティを脆弱にするものではない理由は、ソースデータの不釣合いな分担量を占めるこの少数の用語が、最も価値の低いデータ断片であることである。用語「ジョン(John)」及び「スミス(Smith)」は、名前を含むデータベース内で非常に一般的であるが、これら用語の窃盗は、比較的無益である。この実施形態では、システムは、価値が高く一般性の低い用語のデータ(例えば、クレジットカード番号、SSN、一般性のない名前、等)のコピーを記憶することを依然入念に回避する。
【0051】
図4は、ソースデータをインデックスするプロセスの一実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0052】
図4を参照すれば、処理ロジックは、ソースデータが標準的なテーブルフォーマットで記憶されたかどうか決定することで始まる(処理ボックス402)。もしそうでなければ、処理ロジックは、ソースデータを標準テーブルフォーマットへ変換する(処理ボックス404)。それにより生じるテーブルの各セルは、ソースデータの断片を記憶する。一実施形態では、各データ断片がトークンである。トークンは、単一のワードでもよいし、ワードのクラスター(例えば、引用符で囲まれたワード)でもよい。例えば、ワード「これ(this)」は、データベースセルに記憶されたトークンを表わすが、フレーズ「このトークン(this token)」は、データベースセルに単一ストリングとして記憶される場合には独立トークンを表わしてもよい。
【0053】
次いで、処理ロジックは、ソースデータから導出されるタプル記憶構造体を生成する(処理ボックス406)。タプル記憶構造体は、ソースデータの断片に関連した多数のタプルを記憶するためのメカニズムを与える。タプル記憶構造体の例は、ハッシュテーブル、ベクトル、アレー、ツリー又はリストを含む。タプル記憶構造体の各形式が、所与のコンテンツフラグメントに対するタプルのセットを検索するための方法に関連付けられる(タプルのセットは、タプル記憶構造体に一致が見られない場合に空となる)。
【0054】
更に、処理ロジックは、ソースデータ内の各データ断片の位置に関する情報を対応タプルに記憶する(処理ボックス408)。一実施形態では、データ断片の位置に関する情報は、ソースデータにデータ断片を記憶する行の番号を含む。別の実施形態では、この情報は、ソースデータにデータ断片を記憶する列の番号と、任意であるが、列のデータ形式とを含む。
【0055】
その後、処理ロジックは、タプルを所定の順序(例えば、上昇する辞書編集上の順序)で分類する(処理ボックス410)。
【0056】
従って、それにより得られるアブストラクトデータ構造体(即ち、インデックス)は、より大きな全体のコンテクストにおけるデータレコードの相対的な配置に関する情報のみを含むが、ソースデータそれ自体の断片は含まない。
【0057】
一実施形態では、インデックスのコンテンツは、インデックスを窃盗から更に安全確保するために暗号的に処理される(例えば、ハッシュ関数で、又は暗号キーを伴う暗号関数を使用して)。
【0058】
例示的なサーチ技術を以下に詳細に説明する。図5は、ソースデータに対する情報コンテンツをサーチするプロセスの一実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0059】
図5を参照すれば、処理ロジックは、情報コンテンツを識別することで始まる(処理ボックス502)。情報コンテンツは、フリーフロム(free-from)テキストを備え、そしてファイル(例えば、コンピュータのハードドライブに記憶されたアーカイブ型eメールメッセージ)、又はネットワークを経て送信されたデータのブロック(例えば、任意の形式のネットワークプロトコルを使用してネットワークを経て送信されたeメールメッセージ)に含まれる。上述したように、サーチされるべき情報コンテンツは、ユーザにより指定される窃盗検出条件に基づいて選択することができる。
【0060】
次いで、処理ロジックは、ソースデータの一部分をおそらく含み得るコンテンツ断片のシーケンスを情報コンテンツにおいて検出する(処理ボックス504)。コンテンツ断片の検出されたシーケンスは、情報コンテンツ内の隣接又は非隣接トークンのセットである。各トークンは、ワード又はフレーズのいずれかに対応する。コンテンツ断片の検出されたシーケンスは、受け取った情報コンテンツの一部分でもよいし、又は全情報コンテンツでもよい。別の実施形態では、コンテンツ断片の検出されたシーケンスは、トークンのサブセットのセットとして考えられ、トークンの各サブセットは、おそらく、ソースデータの一部分を含む。
【0061】
一実施形態では、処理ロジックは、コンテンツ断片のシーケンスが列フォーマットデータに似ていることを決定する際にコンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。この決定は、受け取った情報コンテンツをパージングして、分離されたライン(例えば、タグ<cr>又は<cr><lf>で指示される)を識別し、そしてこれらの分離されたラインが同様の数のトークン及び任意であるが同様のデータ形式のトークンを含むことを見出すことにより行うことができる。
【0062】
別の実施形態では、処理ロジックは、全情報コンテンツをパージングして、ソースデータに対する隣接トークンのブロックをサーチするときに、コンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。一実施形態では、隣接トークンのブロックは、ユーザ指定パラメータ、例えば、各ブロックのユーザ指定巾、及び情報コンテンツ内の各ブロックのユーザ指定位置、に基づいて定義される(例えば、ユーザは、2つの隣接ブロックがある数のトークンで分離されることを要求してもよい)。
【0063】
更に別の実施形態では、処理ロジックは、規定のフォーマットの表現を情報コンテンツにおいて見出すときに、コンテンツ断片のシーケンスがおそらくソースデータの一部分を含むと判断する。このような表現は、例えば、口座番号、社会保障番号、クレジットカード番号、電話番号、郵便番号、eメールアドレス、金額又は数値を示すテキストフォーマット(例えば、“$”符号を伴う数字)、等でよい。この表現が見つかると、処理ロジックは、その表現を取り巻くテキストの領域がおそらくソースデータの一部分を含むと判断する。この領域のサイズは、見つかった表現の各側における所定数のトークンにより定義される。
【0064】
更に別の実施形態では、処理ロジックは、情報コンテンツ(又は情報コンテンツのある部分)におけるワード使用又はワード分布が、情報コンテンツにおけるソースデータの考えられる包含を指示する統計学的パターンに似ていることを決定する際に、コンテンツ断片のシーケンスがソースデータの一部分をおそらく含むと判断する。
【0065】
更に別の実施形態では、処理ロジックは、受信した情報コンテンツに関連したあるプロパティが以前の違反の経歴に基づいて情報コンテンツにおけるソースデータの考えられる包含を指示することを決定する際に、コンテンツ断片のシーケンスがソースデータの一部分をおそらく含むと判断する。これらのプロパティは、例えば、情報コンテンツの行先(例えば、電子メッセージの受信者)、情報コンテンツの起点、情報コンテンツに関連した送信の時間、情報コンテンツに関連した送信のサイズ、送信に含まれたファイルの形式(例えば、ファイルの多目的インターネットメール拡張(MIME)形式)、等々を含む。一実施形態では、以前の違反の経歴は、ソースデータの各検出について、ソースデータが検出された情報コンテンツのプロパティを識別し、そしてこれらプロパティを以前の違反のデータベースに記録することにより、維持される。その後、処理ロジックは、新たな情報コンテンツ内のコンテンツ断片のシーケンスがソースデータの一部分をおそらく含むかどうか判断するときに、新たな情報コンテンツのプロパティを識別し、そして以前の違反のデータベースをそれらのプロパティに対してサーチする。一致が見つからない場合には、処理ロジックは、一致するプロパティに関連した以前の違反が新たな情報コンテンツにおけるソースデータの考えられる包含を指示するかどうか決定する。この指示は、一致するプロパティに関連した以前の違反の数、又は一致するプロパティに関連した以前の違反の頻度に基づいたものでよい。例えば、この指示は、特定の送信者がコミットした違反の全数、又は所与の期間にわたるこれら違反の頻度に基づいたものでよい。
【0066】
その後、ソースデータの一部分をおそらく含むコンテンツ断片のシーケンスを検出すると、処理ロジックは、これらコンテンツ断片のサブセットがソースデータのサブセットに一致し且つ上述したポリシーパラメータに基づくものとなるかどうかの決定を行なう(処理ボックス506)。
【0067】
図6A−6Cは、コンテンツ断片のサブセットに対して、ソースデータから導出されたアブストラクトデータ構造体におけるポリシーパラメータを満足する一致を見出すプロセスの種々の実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0068】
図6Aを参照すれば、処理ロジックは、図5の処理ブロック504で識別されたコンテンツ断片のシーケンスをコンテンツ断片(例えば、トークン)へとパージングすることで開始する。次いで、各コンテンツ断片に対して、処理ロジックは、アブストラクトデータ構造体を、一致するタプルのセットについてサーチする(処理ブロック602)。例えば、情報コンテンツに含まれたワード「スミス(Smith)」は、アブストラクトデータ構造体に反映されるソースデータに数回発生する。より詳細には、これらの各発生は、それに対応するタプルをアブストラクトデータ構造体に有する。サーチ中に、処理ロジックは、ソースデータにおけるワード「Smith」の発生に対応するタプルのセットを検索する。各タプルは、ソースデータを記憶するデータベース又はテーブル内におけるこのデータ断片の位置に関する情報を記憶する。一実施形態では、位置情報は、データ断片を記憶するセルの行番号を含む。別の実施形態では、位置情報は、このセルの列番号と、任意であるが、列のデータ形式も含む。
【0069】
次いで、処理ロジックは、全てのコンテンツ断片に対して見つかった一致するタプルセットを合成し(処理ブロック604)、次いで、その合成された一致するタプルセットを行番号によりグループLへとグループ編成する(処理ブロック606)。その結果、各グループL(ここでは、アキュムレータと称される)は、全てが同じ列番号を有する一致するタプルセットを含み、即ち各グループLにおける一致するタプルセットは、全てがデータベースにおける同じ行からのものであると思われるソースデータの断片に対応する。
【0070】
更に、処理ロジックは、各グループに含まれた一致するタプルセットの数でグループLを分類し(処理ブロック608)、そして一実施形態では、個別の列番号を伴うタプルセットを有するグループを選択する(処理ブロック610)。その後、処理ロジックは、選択されたグループのいずれかがポリシーパラメータを満足するかどうか決定する(処理ブロック612)。
【0071】
図6Bは、タプルセットのいずれかの選択されたグループがポリシーパラメータを満足するかどうか決定するプロセスの一実施形態を示す。
【0072】
図6Bを参照すれば、処理ロジックは、ポリシーパラメータが包含列を指定するかどうか決定することで開始する(判断ボックス652)。もしそうでない場合には、処理ロジックは、判断ボックス664へ進む。もしそうである場合には、処理ロジックは、ポリシーパラメータが最小数Mの包含列を指定するかどうか決定する(判断ボックス654)。数Mが指定された場合には、処理ロジックは、少なくともM個の包含列からのタプルを伴うグループをサーチし(処理ブロック660)、そしてこのようなグループのいずれかが見つかった(即ち、見つかったグループの数が0より大きい)かどうか決定する(判断ボックス662)。判断ボックス662で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス664へ進む。判断ボックス662で行われた判断が否定である場合には、処理ロジックは、違反が検出されないと判断する(処理ブロック680)。
【0073】
数Mが指定されない場合には(判断ボックス654)、処理ロジックは、各指定の包含列からのタプルを伴うグループをサーチし(処理ブロック656)、そしてこのようなグループのいずれかが見つかったかどうか決定する(判断ボックス658)。判断ボックス658で行なわれる決定が肯定である場合には、処理ロジックは、判断ボックス664へ進む。判断ボックス658で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する(処理ブロック680)。
【0074】
判断ボックス664において、処理ロジックは、ポリシーパラメータがキーワード又は表現を指定するかどうか決定する。もしそうでなければ、処理ロジックは、判断ボックス670へ進む。もしそうであれば、処理ロジックは、指定のキーワード又は表現に一致するタプルを伴うグループをサーチし(処理ブロック666)、そしてこのようなグループが見つかるかどうか決定する(判断ボックス668)。判断ボックス668で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス670へ進む。判断ボックス668で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する(処理ブロック680)。
【0075】
判断ボックス670において、処理ロジックは、ポリシーパラメータが除外列を指定するかどうか決定する。もしそうでなければ、処理ロジックは、判断ボックス676へ進む。もしそうであれば、処理ロジックは、全ての除外列からのものではないタプルを伴うグループをサーチし(処理ブロック672)、そしてこのようなグループが見つかったかどうか決定する(判断ボックス674)。判断ボックス672で行なわれた決定が肯定である場合には、処理ロジックは、判断ボックス676へ進む。判断ボックス672で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する(処理ブロック680)。
【0076】
判断ボックス676において、処理ロジックは、ポリシーパラメータが行の最小数Lを指定するかどうか決定する。もしそうでなければ、処理ロジックは、違反が検出されたと判断する(処理ブロック682)。もしそうであれば、処理ロジックは、見つかったグループの最新の数がL以上であるかどうか決定する(判断ボックス678)。この決定が肯定である場合には、処理ロジックは、違反が検出されたと判断する(処理ブロック682)。判断ボックス678で行なわれた決定が否定である場合には、処理ロジックは、違反が検出されなかったと判断する(処理ブロック680)。
【0077】
図6Cは、タプルセットの選択されたグループがポリシーパラメータを満足するかどうか決定するプロセスの別の実施形態を示す。
【0078】
図6Cを参照すれば、処理ロジックは、包含列(即ち、データをサーチ結果に含ませる必要のあるデータソース列)の最小数を識別するパラメータmを受け取ることで開始する(処理ブロック682)。
【0079】
次いで、処理ロジックは、包含列のセットを指定するパラメータSを受け取り、|S|がm以上であることを確認する(処理ブロック684)。
【0080】
処理ブロック686において、処理ロジックは、行の最小数を指定するパラメータrを受け取る。パラメータrは、サーチ結果が少なくともr行のソースデータからのデータを含むことを要求する。
【0081】
処理ブロック688では、処理ロジックは、除外列(即ち、データをサーチ結果から除外すべきデータソース列)のセットを指定するパラメータEを受け取り、そしてEの各eメンバーに対して|e|がmに等しいことを確認する。
【0082】
処理ブロック690において、処理ロジックは、テキストTを最大一致グループGについてサーチし、この場合、
(a)各コンポーネントは、データソースDの同じ行からのトークンを含むテキストTのサブセットgであり、
(b)gからの各トークンは、Sで指定されたDにおける列からのエレメントであり、
(c)|g|≧mであり、そして
(d)gのトークンは、除外列Eからのデータを含まない。
【0083】
判断ボックス692において、処理ロジックは、|G|がrより大きいかどうか決定する。もしそうであれば、処理ロジックは、一致が検出されたと判断する(処理ブロック694)。もしそうでなければ、処理ロジックは、一致が検出されないと判断する(処理ブロック696)。
【0084】
サーチプロセスの実施形態を以下に説明する。図7A−7Cは、ソースデータのハッシュテーブルインデックスを使用して到来するメッセージをサーチするためのプロセスの別々の実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。
【0085】
図7Aを参照すれば、処理ロジックは、到来するメッセージをパージングすることで開始する(処理ブロック702)。次いで、処理ロジックは、到来するメッセージのパーズされた部分が列フォーマットデータを含むかどうか決定する(処理ボックス704)。一実施形態では、語彙分析を使用して、到来するメッセージのパーズされた部分におけるラインを識別し(例えば、ラインを分離するのに使用されるタグ<cr>又は<cr><lf>を見出すことにより)、次いで、隣接ラインにおいて見つかった多数のトークンが個数的及び形式的に同一であることを検出する。一実施形態では、処理ロジックは、各トークンの形式を、トークンの全数と共に記憶する。
【0086】
処理ボックス704で行なわれた決定が否定である場合には、処理が処理ブロック702へ移行する。さもなければ、処理は、処理ブロック706へ移行し、そこで、処理ロジックは、iを、列フォーマットデータに類似した第1ラインに等しくセットする。
【0087】
次いで、処理ロジックは、ラインiの各トークンにハッシュ関数H(k)を適用し(処理ブロック708)、ラインiの各トークンに対してハッシュテーブル内でH(k)におけるタプルのセットを見出し、リストLにタプルを追加し、そしてリストLを、各個々のアキュムレーターのタプルが同じ行番号値を有するアキュムレーターのセットへとグループ編成し直す(処理ブロック712)。更に、処理ロジックは、そのリストLを各Aiの長さで分類し(処理ブロック714)、そして分類されたリストLにおける列の独特の発生をチェックする(処理ブロック716)。処理ブロック710において、任意の前処理ロジックは、リストLに挿入する前にトークンをフィルタするように遂行され、元のトークンkの語彙形式に一致する形式のタプルのみがLに追加される。他の実施形態では、列の独特の発生のチェックが、スピード又は簡単化の理由でスキップされてもよいことに注意されたい。更に別の実施形態では、タプルは、行番号のみを含む簡単な「シングルトン(singleton)」である(即ち、列番号も、形式指示子もない)。
【0088】
その後、到来するメッセージが、列フォーマットデータに類似したより多くのラインを含む場合には(処理ボックス718)、処理ロジックは、iを、列フォーマットデータに類似した次のラインへと増加し(処理ブロック722)、そしてプロセスは、処理ブロック706へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するAiを伴うテキストのラインを報告する(処理ブロック720)。
【0089】
図7Bを参照すれば、処理ロジックは、「巾(width)」(W)及び「ジャンプ(jump)」(J)のユーザ指定パラメータを受け取り(処理ブロック732)、そして到来するメッセージをパーズする(処理ブロック734)ことで開始する。パラメータWは、単一の繰り返し中にサーチされるべき隣接トークンの各ブロックにおける隣接トークンの数を指定し、そしてパラメータJは、2つの隣接ブロック間のトークンの必要数を指定する。
【0090】
次いで、処理ロジックは、位置変数(St)の値を0にセットし(処理ブロック736)、そしてStでスタートするメッセージのW個の隣接トークンを収集することによりサーチされるべきブロック(テキストブロック)を定義する(処理ブロック738)。
【0091】
更に、処理ロジックは、テキストブロックにおける各トークンにハッシュ関数H(k)を適用し(処理ブロック740)、テキストブロックの各トークンに対してハッシュテーブルのH(k)においてタプルのセットを見出し、テキストブロックにおける対応トークンと同じ形式をもつタプルをリストLに追加し(処理ブロック742)、リストLをアキュムレーターのセットへグループ編成し直し(処理ブロック744)、そのリストLを各Aiの長さで分類し(処理ブロック746)、そして分類されたリストLにおける列の独特の発生をチェックする(処理ブロック748)。
【0092】
その後、処理ロジックは、StをJ数のトークンだけ増加し(処理ブロック750)、そして位置Stが依然メッセージ内であるかどうか決定する(処理ボックス752)。この決定が肯定である場合には、プロセスは、処理ブロック738へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するAiを伴うテキストブロックを報告する(処理ブロック754)。
【0093】
図7Cを参照すれば、処理ロジックは、到来するメッセージをパーズし(処理ブロック764)、そしてユーザ指定フォーマットをもつ第1表現を探す(処理ブロック766)ことで開始する。このような表現は、例えば、口座番号、社会保障番号、クレジットカード番号、金額又は数値を示すテキストフォーマット(例えば、“$”符号を伴う数字)、等でよい。一致する表現が見つからない場合には、プロセスは、処理ブロック764へ移行する。さもなければ、プロセスは、処理ブロック768へ移行し、処理ロジックは、一致する表現の前後にW個の隣接トークンを収集することによりサーチされるべきブロック(テキストブロック)を定義する。例えば、テキストブロックは、一致する表現の直前の10個のトークン、一致する表現それ自体、及び一致する表現の直後の10個のトークンより成る。
【0094】
更に、処理ロジックは、テキストブロックの各トークンにハッシュ関数H(k)を適用し(処理ブロック770)、テキストブロックの各トークンに対してハッシュテーブルのH(k)においてタプルのセットを見出し、テキストブロックの対応するトークンと同じ形式を有するタプルをリストLに追加し(処理ブロック772)、リストLをアキュムレーターのセットへとグループ編成し直し(処理ブロック774)、リストLを各Aiの長さで分類し(処理ブロック776)、そして分類されたリストLにおける列の独特な発生をチェックする(処理ブロック778)。
【0095】
その後、処理ロジックは、メッセージがユーザ指定フォーマットのより多くの表現を有するかどうか決定する(処理ボックス780)。この決定が肯定である場合には、プロセスは、処理ブロック768へ移行する。さもなければ、処理ロジックは、所定のサイズを越え且つ独特の列番号を有するAiを伴うテキストブロックを報告する(処理ブロック782)。
【0096】
予め選択されたデータを含むメッセージの取り扱い
図8は、予め選択されたデータを含むメッセージを取り扱い、そして意図された受信者への予め選択されたデータの無断送信を防止する役割を果たすメッセージモニタリングシステム(MMS)800のブロック図である。MMS800により処理されるメッセージは、ネットワークスタックの任意のレイヤにおけるネットワークトラフィックの一部分である。例えば、これらのメッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中に交換されるメッセージ、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、等を含む。更に、MMS800により処理されるメッセージは、異なるメッセージフロー形式の一部分でもよい。例えば、これらのメッセージは、アウトバウンドメッセージ、インバウンドメッセージ、内部メッセージ、又は上記形式の組み合せである。
【0097】
MMS800は、メッセージインターセプター804、メッセージルーター806、メッセージブロッカー808、メッセージモディファイアー810、及びポリシースペシファイアー812を備えている。
【0098】
メッセージインターセプター804は、メッセージ(例えば、インバウンドメッセージ、アウトバウンドメッセージ、及び内部メッセージ)を検査し、そしてインターセプトされたメッセージが予め選択されたデータを含むかどうか決定する役割を果たす。この決定は、上述したいずれかのサーチ技術を使用して行うことができる。一実施形態では、メッセージインターセプター804は、メッセージヘッダに含まれた指示子が、サーチが必要であることを指示する場合だけ、予め選択されたデータについてメッセージをサーチする。例えば、メッセージヘッダは、メッセージがマーケッティング資料の一部分であり、従って、予め選択されたデータの存在についてスキャンされる必要がないことを示すタグを含むことができる。
【0099】
メッセージルーター806は、予め選択されたデータを含むインターセプトされたメッセージを、受信者以外の行先にリルートする役割を果たす。例えば、メッセージルーター806は、インターセプトされたメッセージを検疫サーバーへリルートし、このサーバーは、メッセージが、許可されたビジネスプロセスの一部であるかどうか決定する。もしそうであれば、メッセージルーター806は、受信者へメッセージを送信する。もしそうでなければ、メッセージルーター806は、MMS800の対応コンポーネントを呼び出して、保護手段(例えば、機密データの阻止、減少、警報の挿入、等)をメッセージに適用する。別の例では、メッセージルーター806は、メッセージ送信者のスーパーバイザーにメッセージをリルートし、スーパーバイザーに無断送信を通知する。更に別の例では、メッセージルーター806は、メッセージをアーカイブサーバーにリルートし、このサーバーは、メッセージをアーカイブデータベースに保管する。一実施形態では、メッセージルーター806は、メッセージを上記行先の幾つか(例えば、検疫サーバー及びアーカイブサーバー、又は検疫サーバー及びスーパーバイザー)にリルートすることができる。
【0100】
一実施形態では、メッセージルーター806は、予め選択されたデータを含むインターセプトされたメッセージを、より高いレベルのチャンネルセキュリティ(例えば、バーチャルプライベートネットワーク(VPN)暗号化を使用する)を有するネットワークセグメントを通してリルートするという役割を果たす。
【0101】
メッセージブロッカー808は、予め選択されたデータを含むインターセプトされたメッセージの送信を阻止するという役割を果たす。更に、一実施形態では、メッセージブロッカー808は、メッセージ送信者のスーパーバイザー、アーカイブサーバー、又は他の何らかのサイトへメッセージのコピーを送信することもできる。又、一実施形態では、メッセージブロッカー808は、メッセージが阻止されたことをメッセージ受信者及び/又はメッセージ送信者に通知するという役割も果たす。
【0102】
一実施形態において、メッセージブロッカー808は、通信ストリームからメッセージを引き出すことによりメッセージの送信を阻止する。或いは又、メッセージブロッカー808は、メッセージの送信を終了することを要求する信号を、メッセージをその後処理するシステム(ダウンストリームシステム)へ送信することができる。このダウンストリームシステムは、次いで、付加的なネットワークパケットを通信ストリームに注入し、予め選択されたデータを含むメッセージの送信を終了することができる。
【0103】
メッセージモディファイアー810は、インターセプトされたメッセージをリアルタイムで変更するという役割を果たす。以下に詳細に述べるように、メッセージモディファイアー810は、メッセージの本体を修正するか(例えば、メッセージにおける機密データを受信者に通知するために)、又はメッセージのヘッダを修正することができる(例えば、その後メッセージを処理するシステムにメッセージにおける機密データを通知するために)。メッセージが修正されると、メッセージルーター806は、受信者及び/又は他の行先へメッセージを送信することができる。
【0104】
ポリシースペシファイアー812は、メッセージアクションポリシーに関するユーザ入力を受け取り、そしてユーザ入力に基づいてメッセージアクションポリシーを定義するという役割を果たす。一実施形態において、メッセージアクションポリシーは、予め選択されたデータのソース(例えば、データベース名、ファイル名、等)を識別するもので、特定のアクション(例えば、阻止、リルート、種々のメッセージ変更、等)をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきか指定するルールのセットを含む。例えば、ルールのセットは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合にメッセージを阻止することを要求する。別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含む場合にメッセージをリルートすることを要求するために、予め選択されたデータの特定列に対する値を指定してもよく、単一行からの一致する情報は、特定列からのデータを含み、そしてこのデータは、指定された値に等しい。更に別の実施形態では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージヘッダが含む場合にそのメッセージヘッダを変更することを要求するために最小数の列を与えてもよく、そして単一行からの情報は、少なくともこの数の指定の列からのデータを含む。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージ本体が含む場合にそのメッセージ本体を変更することを要求するために除外列を指定してもよく、そして単一行からの情報は、指定された除外列からのデータを除外する。更に別の例では、ルールのセットは、予め選択されたデータの少なくともこの数のランダムな行からの情報に一致する断片をメッセージが含む場合にメッセージを阻止することを要求するために最小数の行を指定してもよい。
【0105】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール(例えば、メッセージの送信者及び/又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等)を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール(例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール)を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード(1つ又は複数)を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【0106】
一実施形態では、メッセージアクションポリシーは、このポリシーのルールに対する例外を識別する例外条項を含む。一実施形態では、例外条項は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び/又は受信者を宣言する。例えば、会社のCEOを指定する例外条項に基づき、ポリシーのルールで指定された予め選択されたデータが存在すると、メッセージの送信者又は受信者がCEOでない限り、あるメッセージアクション(例えば、メッセージの阻止)をトリガーする。例外条項は、個々の送信者及び受信者を宣言してもよいし、又はドメイン又はサイト全体にわたる送信者及び受信者を宣言してもよい。又、例外条項は、メッセージヘッダに関するものでもよい。例えば、例外条項は、メッセージをマーケッティング資料として識別するヘッダ指示子が、予め選択されたデータについてスキャンされずに、意図された受信者へメッセージを送信させねばならないことを宣言してもよい。
【0107】
一実施形態では、メッセージアクションポリシーは、メッセージにおける予め選択されたデータの存在によりトリガーされるアクションが特定の特性を有することを要求するルールを含む。これらの特性は、例えば、アクションの希望の時間巾、アクションの希望のスタート時間、アクションを遂行するための希望の位置、等を含む。例えば、メッセージアクションポリシーは、予め選択されたデータからのある情報が存在することでメッセージが検疫サーバーへリルートされ且つ検疫サーバーがそのメッセージを特定の期間中保持することを要求する(例えば、検疫サーバーは、金融利益がアナウンスされるまで、金融利益データを含むメッセージを検疫しなければならない)。
【0108】
一実施形態では、メッセージアクションポリシーは、指定されたアクションをトリガーするための付加的な条件を指定する。付加的な条件は、メッセージ送信者及び/又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、送信者による機密コンテンツの第3の送信の後でなければメッセージが阻止されないことを要求してもよい。
【0109】
一実施形態において、メッセージアクションポリシーにおけるルールは、一次ロジック(例えば、AND、OR、NAND、NOR、NOT、等価、非等価、等)を使用して組み合わされる。
【0110】
一実施形態において、ポリシースペシファイアー812は、ルールパラメータのユーザ入力を容易にするユーザインターフェイスを与える。他の実施形態では、ポリシースペシファイアー812は、ユーザにより識別されたルールパラメータを、アプリケーションプログラミングインターフェイス(API)から受け取るか、或いはテキストにおいてフォーマットされたコンフィギュレーションファイル又は定義されたデータフォーマット(例えば、拡張可能なマークアップ言語(XML)又はバイナリーフォーマット)を経て受け取る。
【0111】
別の実施形態では、MMS800は、メッセージアクションポリシーを使用せず、むしろ、インターセプトされた全てのメッセージに対して規定のメッセージアクション(例えば、ユーザにより指定されるか又はプログラムで定義された)を使用するか、或いはメッセージにおいて検出された違反の特性にプログラム指定されたメッセージアクションを選択する。この特性は、例えば、違反の形式(例えば、厳しい違反、軽い違反、等)、規定の期間にわたり記録された違反の数(例えば、この送信者による機密データの送信回数)、等を識別するものでよい。
【0112】
従って、本発明の幾つかの実施形態は、サーチされたメッセージに現れるソースからのエレメントの順序又はフォーマットとは独立して、テーブルデータソースからの予め選択されたデータのコピーを含むメッセージを正確に阻止する能力を提供する。
【0113】
図9−12Aは、予め選択された機密データの無断送信を防止するプロセスの別々の実施形態を示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。一実施形態において、このプロセスは、MMS800により遂行される。
【0114】
図9を参照すれば、処理ロジックは、メッセージをインターセプトし、そしてそのインターセプトされたメッセージが予め選択されたデータを含むことを決定することで開始する(処理ブロック902)。インターセプトされたメッセージは、組織内の送信者により組織外部の受信者へ送信することができる。或いは又、インターセプトされたメッセージは、組織外部の送信者により組織内の受信者へ送信されてもよい。更に又、インターセプトされたメッセージは、組織内の送信者により組織内の受信者へ送信されてもよい。
【0115】
次いで、処理ロジックは、メッセージの送信を阻止する(処理ブロック904)。メッセージの送信は、通信ストリームからメッセージを除去するか、或いは通信ストリームに付加的なネットワークパケットを注入して、メッセージの送信を終了させることにより、阻止されてもよい。或いは又、処理ロジックは、予め選択されたデータの存在の指示を、メッセージをその後処理するシステムへ与え、次いで、このシステムが、メッセージの送信を終了させる付加的なネットワークパケットを通信ストリームに注入する。処理ロジックは、ダウンストリームシステムに信号を送信するか、又はメッセージに警報を追加することにより(例えば、メッセージヘッダのフラグをセットすることにより)、この指示を与えることができる。
【0116】
処理ブロック906において、一実施形態では、処理ロジックは、メッセージ受信者及び/又は送信者に阻止を通知する(処理ブロック906)。
【0117】
処理ブロック908において、一実施形態では、処理ロジックは、メッセージのコピーを別のサイトに送信する。例えば、メッセージのコピーを、送信者のスーパーバイザー、又はアーカイブサーバーへ送信することができる。
【0118】
図10を参照すれば、処理ロジックは、メッセージをインターセプトし、そのインターセプトされたメッセージが予め選択されたデータを含むことを決定し、そしてそのインターセプトされたメッセージを検疫サーバーへリルートすることで開始する(処理ブロック1002)。次いで、検疫サーバーは、メッセージが、許可されたビジネスプロセスの一部分であるかどうか判断する。この判断は、セキュリティ分析者により与えられた入力に基づいて、又は検疫サーバーで実行されるプログラムにより、行うことができる。メッセージが、許可されたプロセスの一部分でないことを検疫サーバーが示す場合には(処理ブロック1004)、処理ロジックは、メッセージのコピーを別のサイト(例えば、送信者のスーパーバイザー又はアーカイブサーバー)へ送信する(処理ブロック1006)。
【0119】
検疫サーバーは、メッセージをある期間中保持するか、或いは指定の時間又は事象まで保持することができる。例えば、検疫サーバーは、会社の金融利益データを含むメッセージを、会社がこのデータの公式なアナウンスを行なうまで、保持することができる。
【0120】
検疫が終わると、処理ロジックは、検疫サーバーから返送されるメッセージを受け取り(処理ブロック1008)、そして意図される受信者へメッセージを送信する(処理ブロック1010)。
【0121】
図11を参照すれば、処理ロジックは、メッセージのヘッダが非スキャニング指示子を含むかどうか決定することで開始する(処理ブロック1102)。非スキャニング指示子は、(例えば、メッセージがマーケッティング資料の一部分である場合に)予め選択されたデータについてメッセージをサーチする必要がないことを指定するためにメッセージヘッダに含ませることができる。
【0122】
メッセージヘッダが非スキャニング指示子を含む場合には、処理ロジックは、予め選択されたデータの存在に関わらず、受信者へメッセージを送信する(処理ブロック1106)。或いは又、処理ロジックは、メッセージをスキャンし、そしてメッセージが予め選択されたデータを含むかどうか決定する(処理ブロック1104)。
【0123】
メッセージが予め選択されたデータを含まない場合には、処理ロジックは、メッセージを受信者へ送信する(処理ブロック1106)。さもなければ、メッセージが予め選択されたデータを含む場合には、処理ロジックは、予め選択されたデータの無断送信を防止するためにメッセージに適用されるべき1つ以上のアクションを識別する(処理ブロック1108)。これらアクションは、例えば、メッセージを阻止すること、別のサイト(例えば、検疫サーバー、アーカイブサーバー、送信者のスーパーバイザー、等)へメッセージをリルートすること、より高いレベルのチャンネルセキュリティ(例えば、VPN暗号化を使用する)を有するネットワークセグメントを通してメッセージをリルートすること、メッセージを変更すること、等々を含む。
【0124】
一実施形態において、メッセージに適用されるべきアクションは、ユーザにより定義されるか、或いは違反の形式(例えば、厳しい違反、軽い違反、等)、メッセージにおいて検出される違反の数(例えば、機密なデータアイテムの数、機密情報がメッセージに含まれた個人の数、等)、或いは検出された違反の他の特性に基づいてプログラムで定義される。別の実施形態では、メッセージに適用されるアクションは、メッセージの送信者及び/又は受信者に関連した経歴データに基づいてプログラムで定義される。例えば、特定の送信者に関連した違反の数がスレッシュホールドを越える場合には、現在メッセージを阻止しなければならず、もしそうでなければ、現在メッセージを検疫サーバーへリルートしなければならない。更に別の実施形態では、メッセージに適用されるアクションは、図12を参照して以下に詳細に述べるように、メッセージアクションポリシーにより指定される。
【0125】
処理ブロック1110において、処理ロジックは、処理ブロック1108で識別されたアクション(1つ又は複数)をメッセージに適用する。
【0126】
図12Aを参照すれば、処理ロジックは、メッセージアクションポリシーを識別することで開始する(処理ブロック1202)。上述したように、メッセージアクションポリシーは、特定のアクションをトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきかを指定する予め選択されたデータに関するルールのセットを含むことができる。更に、一実施形態では、メッセージアクションポリシーは、前記ルールに対する例外を宣言する例外条項を含むこともできる。これらの例外は、例えば、メッセージヘッダがスキャニング指示子を含む場合だけ予め選択されたデータについてメッセージをサーチすることを要求するヘッダコンテンツベースの例外を含んでもよい。別の例外は、予め選択されたデータを伴うメッセージを交換することが許可された送信者及び/又は受信者を指定することができる。更に、一実施形態では、メッセージアクションポリシーは、ルールにより要求されるアクションをトリガーするための付加的な条件を指定することができる。これら付加的な条件は、メッセージの送信者及び/又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、ルールにより指定されたアクションが、単一送信者による予め選択されたデータの第3送信の後にのみ行なわれることを要求してもよい。
【0127】
処理ブロック1204において、処理ロジックは、メッセージアクションポリシーがヘッダコンテンツに基づく例外条項を含むかどうか決定する。もしそうでなければ、処理ロジックは、処理ブロック1208へ進む。もしそうであれば、処理ロジックは、ヘッダコンテンツに基づく例外が満足されるかどうか更に決定する(処理ブロック1206)。
【0128】
ヘッダコンテンツに基づく例外が満足された場合には、処理ロジックは、ポリシールールにより指定された予め選択されたデータについてメッセージをサーチせずに、受信者へメッセージを送信する(処理ブロック1222)。或いは又、ヘッダコンテンツに基づく例外が満足されない場合には、処理ロジックは、ポリシールールをメッセージに適用する(処理ブロック1208)。上述したように、ポリシールールは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合にメッセージにアクションが適用されることを要求してもよい。或いは又、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、単一行からの一致する情報が特定列からのデータを含み、そしてこのデータが指定値に等しい場合に、メッセージにアクションが適用されることを要求してもよい。別の例では、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含みそして単一行からの情報が少なくともある数の指定された列からのデータを含む場合に、メッセージにアクションが適用されることを要求してもよい。更に別の例では、ポリシールールは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含みそして単一行からの情報がいずれかの指定された除外列からデータを除外する場合に、メッセージにアクションが適用されることを要求してもよい。更に別の例では、ポリシールールは、予め選択されたデータの少なくともある数のランダムな行からの情報に一致する断片をメッセージが含む場合にメッセージにアクションが適用されることを要求してもよい。
【0129】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール(例えば、メッセージの送信者及び/又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等)を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール(例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール)を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード(1つ又は複数)を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【0130】
処理ブロック1210において、処理ロジックは、ポリシー結果が満足されるかどうか決定する。もしそうでなければ、処理ロジックは、メッセージを受信者に送信する(処理ブロック1222)。もしそうであれば、処理ロジックは、ポリシーが付加的な例外条項を含むかどうか決定する(処理ブロック1212)。
【0131】
ポリシーが付加的な例外条項(例えば、受信者のグループに対する例外を指定する条項)を含まない場合には、処理ロジックは、処理ブロック1216へ進む。ポリシーが付加的な例外条項(例えば、受信者のグループに対する例外を指定する条項)を含む場合には、処理ロジックは、この例外条項が満足されるかどうか決定する(処理ブロック1214)。もしそうであれば、処理ロジックは、メッセージを受信者へ送信する(処理ブロック1222)。もしそうでなければ、処理ロジックは、ポリシーが、送信者及び/又は受信者の以前の経歴に基づいて何らかの条件を含むかどうか決定する(処理ブロック1216)。
【0132】
ポリシーがいずれの条件を含まない場合には、処理ロジックは、処理ブロック1220へ進む。ポリシーが送信者及び/又は受信者の以前の経歴に基づく条件を含む場合には、処理ロジックは、この条件が満足されるかどうか決定する(処理ブロック1218)。もしそうでない場合には、処理ロジックは、メッセージを受信者へ送信する(処理ブロック1222)。もしそうである場合には、処理ロジックは、ポリシールールにより要求されるアクションをメッセージに適用する(処理ブロック1220)。
【0133】
図12Bは、特定のポリシーに基づいてeメールメッセージを取り扱うプロセスを示す。図示されたように、予め選択されたソースデータ1230は、口座番号列と、ラストネーム(姓)列と、ファーストネーム(名)列と、残高列とを含む。ポリシー1232は、eメールメッセージがソースデータ1230の単一行からのデータ断片を含み、そしてこれらデータ断片が、メッセージに任意の順序で現れるファーストネーム列、口座番号列、及び残高列からの情報を含む場合に、eメールメッセージを阻止することを要求する。
【0134】
メッセージ1240は、ポリシー1232により指定された列からのものであるソースデータ1230の行1234からのデータ断片1242、1244及び1246を含む。ここでは、メッセージ1240が阻止される。
【0135】
予め選択されたデータの存在に基づくメッセージの変更
上述したように、図8のMMS800は、予め選択されたデータについてメッセージをサーチする。MMS800により処理されるメッセージは、ネットワークスタックのレイヤにおけるネットワークトラフィックの一部分である。例えば、これらのメッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中に交換されるメッセージ、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、等を含む。更に、MMS800により処理されるメッセージは、異なるメッセージフロー形式の一部分であってもよい。例えば、これらのメッセージは、アウトバウンドメッセージ、インバウンドメッセージ、内部メッセージ、又は上記形式の組み合せでよい。
【0136】
一実施形態において、MMS800は、予め選択されたデータの存在に基づいてメッセージを変更するメッセージモディファイアー810を備えている。特に、一実施形態において、メッセージが予め選択されたデータを含まない場合には、メッセージモディファイアー810は、予め選択されたデータの欠落を指示する情報をメッセージに追加する。この情報は、受信者に通知するためにメッセージの本体に追加されるか、又はその後メッセージを処理するシステムに通知するために(例えば、機密データを含まないメッセージを保管するアーカイブシステムに通知するために)メッセージのヘッダに追加される。
【0137】
メッセージが予め選択されたデータを含む場合には、メッセージモディファイアー810は、異なる形式のメッセージ変更を遂行することができる。メッセージ変更の形式は、ユーザにより予め定義されるか、現在の予め選択されたデータの特性、及び/又は送信者/受信者の特性に基づいてプログラムで定義されるか、或いはメッセージアクションポリシーにより指定される。
【0138】
メッセージ変更の形式は、メッセージヘッダの変更、メッセージ主題ラインの変更及びメッセージ本体の変更を含む。メッセージヘッダは、その後メッセージを処理するシステムに、予め選択されたデータの存在を通知するように変更される。このダウンストリームシステムは、次いで、意図された受信者(1人又は複数)にメッセージを送信するのに加えて、又はそれに代わって、あるアクションをメッセージに適用することができる。例えば、アーカイブシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージを保管するのを控える。別の例では、ダウンストリームシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージの送信を終了する付加的なネットワークパケットを通信ストリームに注入することができる。更に別の例では、ダウンストリームシステムは、メッセージヘッダにおける予め選択されたデータの指示子を検出し、次いで、メッセージの本体を暗号化することができる。更に別の例では、クライアントメールアプリケーションは、メッセージヘッダにおける予め選択されたデータの指示子を見出し、次いで、警報(例えば、「このメッセージは機密である」)をメッセージに追加することができる。
【0139】
メッセージの主題ラインは、予め選択されたデータの存在を受信者に通知するように変更することができる。例えば、メッセージの機密さの警報をメッセージの主題ラインに追加することができる。
【0140】
又、メッセージの本体も、予め選択されたデータの存在を受信者に通知するように変更することができる。例えば、メッセージの機密さの警報をメッセージの本体に追加することができる。或いは又、機密情報を含むメッセージの本体をアタッチメントとして再構成することができ、そしてこのアタッチメントが機密情報を含むことを指示するように新たなメッセージ本体を再書き込みすることができる。更に別の例では、代用メッセージをオリジナルに代わって送信してもよい。この代用メッセージは、オリジナルのキャッシュコピーを指す安全リンクを含むことができる。この安全リンクは、適切な認証を要求すると共に、セキュアソケットレイヤ(SSL)通信プロトコルのようなプロトコルを経てチャンネルセキュリティを確保する。更に別の例では、メッセージにおける予め選択されたデータを編集することができる(例えば、関連メッセージトークンをブラックにしたり、削除したり、あるデータでオーバーライトしたり、等々)。
【0141】
メッセージに適用しなければならないメッセージ変更の形式は、メッセージアクションポリシーにより指定することができる。一実施形態において、メッセージアクションポリシーは、特定のメッセージ変更(例えば、ヘッダ変更、主題ライン変更、本体変更、等)をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在しなければならないか指定するルールのセットを含む。例えば、ルールのセットは、予め選択されたデータ内の単一行の特定列からの情報に一致する断片をメッセージが含む場合に、あるメッセージ変更を遂行することを要求する。別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、その単一行からの一致する情報が特定列からのデータを含み、そしてこのデータが指定値に等しい場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、そしてその単一行からの情報が少なくともある数の指定列からのデータを含む場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの単一行からの情報に一致する断片をメッセージが含み、そしてその単一行からの情報が指定の除外列からデータを除外する場合に、あるメッセージ変更を遂行することを要求する。更に別の例では、ルールのセットは、予め選択されたデータの少なくともある数のランダムな行からの情報に一致する断片をメッセージが含む場合に、あるメッセージ変更を遂行することを要求する。
【0142】
ある実施形態では、メッセージアクションポリシーは、全メッセージの特性に適用できるルール(例えば、メッセージの送信者及び/又は受信者が特定のパターンを満足することを要求するルール、特定のプロトコルを使用してメッセージを搬送することを要求するルール、公衆の討論に対して投函されるメッセージの行先が特定のニュースグループ名に一致することを要求するルール、等)を含む。他の実施形態では、メッセージアクションポリシーは、メッセージアタッチメントの特性に適用されるルール(例えば、メッセージアタッチメントが特定の形式又はサイズであるか、或いは特定のファイルアタッチメント名をもつことを要求するルール)を含む。更に別の実施形態では、メッセージアクションポリシーは、メッセージが、あるキーワード(1つ又は複数)を含むか、又はある規則的表現パターンに一致する表現を含む場合に、特定のアクションを要求するルールを含む。
【0143】
一実施形態では、メッセージアクションポリシーは、このポリシーのルールに対する例外を識別する例外条項を含む。一実施形態では、例外条項は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び/又は受信者を宣言する。例えば、会社のCEOを指定する例外条項に基づき、ポリシーのルールで指定された予め選択されたデータが存在すると、メッセージの送信者又は受信者がCEOでない限り、あるメッセージ変更をトリガーする。例外条項は、個々の送信者及び受信者を宣言してもよいし、又は全ドメイン又はサイトにわたる送信者及び受信者を宣言してもよい。又、例外条項は、メッセージヘッダに関するものでもよい。例えば、例外条項は、メッセージをマーケッティング資料として識別するヘッダ指示子が、予め選択されたデータについてスキャンされずに、意図された受信者へメッセージを送信させねばならないことを宣言してもよい。
【0144】
一実施形態では、メッセージアクションポリシーは、指定された変更をトリガーするための付加的な条件を指定する。付加的な条件は、メッセージ送信者及び/又は受信者に関連した経歴データに関するものでよい。例えば、付加的な条件は、送信者による機密コンテンツの第3の送信の後にメッセージ本体を変更することを要求してもよい。
【0145】
図13−16Aは、予め選択されたデータの存在に基づいてメッセージを変更するプロセスの別々の実施形態のフローチャートである。このプロセスは、ハードウェア(回路、専用ロジック、等)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンにおいて実行される)、又は両方の組み合せを含む処理ロジックにより遂行される。一実施形態において、このプロセスは、MMS800により遂行される。
【0146】
図13を参照すれば、処理ロジックは、インターセプトされたメッセージが、予め選択されたデータを含むことを決定することで開始する(処理ブロック1302)。
【0147】
処理ブロック1304において、処理ロジックは、予め選択されたデータの存在を指示するようにメッセージを変更する。一実施形態では、処理ロジックは、メッセージのヘッダを変更する。別の実施形態では、処理ロジックは、メッセージの本体を変更する。更に別の実施形態では、処理ロジックは、メッセージの主題ラインを変更する。
【0148】
処理ブロック1306において、処理ロジックは、変更されたメッセージを受信者へ送信する。更に、一実施形態では、処理ロジックは、オリジナルメッセージのコピーを送信者のスーパーバイザー及び/又はアーカイブシステムへ送信する(処理ブロック1308)。処理ロジックは、関連ポリシーにより要求された場合だけ、オリジナルメッセージのコピーを送信者のスーパーバイザー及び/又はアーカイブシステムへ送信する。
【0149】
図14を参照すれば、処理ロジックは、メッセージの本体において予め選択されたデータを検出し、そしてメッセージの本体から予め選択されたデータを抽出することで開始する(処理ブロック1402)。
【0150】
処理ブロック1406において、処理ロジックは、その抽出された予め選択されたデータをアタッチメントとして再構成する。別の実施形態では、処理ロジックは、予め選択されたデータをアタッチメントとして含む全メッセージ本体を再構成する。
【0151】
処理ブロック1408において、処理ロジックは、アタッチメントが機密データを含むことを指示する警報をメッセージ本体に追加する。
【0152】
図15を参照すれば、処理ロジックは、メッセージにおいて予め選択されたデータを検出し、そしてこの予め選択されたデータのいずれかの部分が編集を必要とするかどうか決定することで開始する(処理ブロック1502)。この決定は、予め定義されたルールに基づいて行うことができる(例えば、社会保障番号は編集しなければならないが、出生地は編集しない)。編集が必要でない場合には、処理ロジックは、メッセージを変更せずに受信者へ送信する(処理ブロック1508)。或いは又、予め選択されたデータの少なくとも一部分を編集する必要がある場合には、処理ロジックは、予め選択されたデータのこの機密部分をリアルタイムで編集し(処理ブロック1504)、そしてそれにより得られたメッセージを受信者へ送信する(処理ブロック1506)。編集は、例えば、関連メッセージトークンをブラックアウトし、関連メッセージトークンを削除し、関連メッセージトークンをあるデータでオーバーライトし、等々を含む。別の例では、編集は、予め選択されたデータを含む全アタッチメントの除去を含む。
【0153】
図16Aを参照すれば、処理ロジックは、メッセージアクションポリシーを識別することで開始する(処理ブロック1602)。上述したように、メッセージアクションポリシーは、予め選択されたデータに関するルールのセットであって、特定のメッセージ変更をトリガーするために、予め選択されたデータからのどの情報がメッセージに存在すべきであるか指定するルールのセットを含む。更に、一実施形態では、メッセージアクションポリシーは、前記ルールに対する例外を宣言する例外条項を含む。これらの例外は、例えば、メッセージヘッダがスキャニング指示子を含む場合だけ、予め選択されたデータについてメッセージをサーチすることを要求するヘッダコンテンツに基づく例外を含む。別の例外は、予め選択されたデータを含むメッセージを交換することが許可された送信者及び/又は受信者を指定する。更に、一実施形態では、メッセージアクションポリシーは、ルールにより要求されるメッセージ変更をトリガーするための付加的な条件を指定する。これら付加的な条件は、メッセージの送信者及び/又は受信者に関連した経歴データに関するものである。例えば、付加的な条件は、ルールにより指定されたメッセージ変更が、単一の送信者による予め選択されたデータの第3の送信の後にのみ行われることを要求する。
【0154】
処理ブロック1604において、処理ブロックは、ポリシーに含まれたヘッダコンテンツに基づく例外が満足されるかどうか決定する。もしそうであれば、処理ロジックは、予め選択されたデータについてメッセージをサーチせずに、受信者へオリジナルメッセージを送信する(処理ブロック1618)。もしそうでなければ、処理ロジックは、ポリシールールにより指定された予め選択されたデータが見つかったかどうか決定する(処理ブロック1606)。
【0155】
メッセージが、指定された予め選択されたデータを含まない場合には、処理ロジックは、予め選択されたデータの欠落の指示子をメッセージヘッダに追加し(処理ブロック1616)、そしてメッセージを受信者へ送信する(処理ブロック1618)。メッセージが、指定された予め選択されたデータを含む場合には、処理ロジックは、受信者/送信者例外が満足されたかどうか決定する(処理ブロック1608)。もしそうであれば(即ち、メッセージの受信は及び/又は送信者が、予め選択されたデータを含むメッセージを交換することが許可された場合)、処理ロジックは、オリジナルメッセージを受信者へ送信する(処理ブロック1618)。もしそうでなければ、処理ロジックは、送信者及び/又は受信者の以前の経歴に基づく条件が満足されるかどうか決定し、処理ロジックは、この条件が満足されるかどうか決定する(処理ブロック1610)。以前の経歴条件が満足されない場合には、処理ロジックは、オリジナルメッセージを受信者へ送信する(処理ブロック1618)。以前の経歴条件が満足される場合には、処理ロジックは、メッセージアクションポリシーにより要求されるようにメッセージを変更し(処理ブロック1612)、そしてその変更されたメッセージを受信者へ送信する(処理ブロック1614)。
【0156】
図16Bは、特定のポリシーに基づいてeメールメッセージを取り扱うプロセスを示す。図示されたように、例示的な予め選択されたソースデータ1630は、口座番号列と、ラストネーム(姓)列と、ファーストネーム(名)列と、残高列とを含む。ポリシー1632は、eメールメッセージがソースデータ1630の単一行からのデータ断片を含み、そしてこれらデータ断片が、メッセージに任意の順序で現れるファーストネーム列、口座番号列、及び残高列からの情報を含む場合に、eメールメッセージを変更することを要求する。
【0157】
メッセージ1640は、ポリシー1632により指定された列からのものであるソースデータ1630の行1634からのデータ断片1642、1644及び1646を含む。ここでは、メッセージ1640が変更される。
【0158】
従来技術との比較
データベース問合せメカニズムは、ここに述べる教示とは著しく相違する。1つの相違は、B−ツリーが、実際に、それらがインデックスするデータベーステーブルの断片を含むことである。上述した解決策では、インデックスの内部に記憶されたデータベースデータのコピーはない。これが重要である理由は、上述したように、DMSは、データを脱出から保護するためにインデックスのコピーをもたねばならないが、DMSは、又、著しい脅威に曝され得るネットワーク内の位置に最良に配備されるからである。DMSが使用するインデックスを、データベースデータのコンポーネントがないように保持することが、重要な要件である。
【0159】
標準的なデータベース問合せメカニズムと、ここに述べる本発明との間の別の相違は、要求された問合せの形式で行わねばならない。リレーショナルデータベースに使用される問合せの標準的セットは、AND及びORのような接続語を使用する述語論理をベースとしている。この基本的なシステムは、通常、eメール及びウェブメールメッセージへ切り取って貼り付けるデータベースデータの検出に対して充分機能しない。eメールメッセージへ切り取って貼り付けるデータベースデータは、通常、レポートからのものであり、無関係な各ラインにデータをしばしば含み、データベーステーブル内では見つからない。その一例は、例えば、一群の顧客に対する口座情報を含むeメールメッセージである。このようなメッセージは、保護を必要とするコアデータベースからの沢山のレコード、例えば、ファーストネーム、ラストネーム、社会保障番号、等を含むが、コアデータベーステーブルにない情報も含むことができる。典型的な例は、他のデータベースから「結合」される情報である。別の例は、データベースデータのフィールドを分離するトークンをフォーマットする簡単なラインである。これらラインの各々に通常見られるこの余計なデータがおそらくあるために、出て行くメッセージのライン上の各トークンに適用されるAND及びORのような標準的な述語論理接続語は、ヒットが多過ぎるか(ORの場合のように)又はヒットがゼロか(ANDの場合のように)のいずれかとなる。ここでの説明では、システムは、nがライン内の全トークン数より相当に小さい場合でも、全てデータベーステーブルの同じ行からのn個以上のトークンの存在を検出することができる。これは、データベース及びドキュメント問合せメカニズムに対する本発明と上述した従来技術との間の別の顕著な相違である。
【0160】
上述した技術と情報検索技術との間には多数の大きな相違がある。第1に、これらシステムのためのインデックスは、保護されるべきデータベースに記憶される同じ用語を(コンコーダンス内に)含んでいる。ここでも、システムは、潜在的にハッカーの脅威のもとにあるネットワークの位置にこのインデックスを配備するので、これは、明白な欠点である。第2に、これら問合せシステムは、AND及びORのような述語論理の形態を使用してブールの問合せを実行する。上述したように、この解決策は、他のテーブルからの無関係なデータとおそらく「結合」されたデータベースレコードを検出するための個別の欠点である。
【0161】
ファイルシングリングの技術は、ここに述べる技術に類似しているが、実質的に相違する。ファイルシングリングでは、関心のある主題は、テキストデータ(散文、ソフトウェア、アウトライン、等)である。ここに述べる技術では、データベースデータを保護することに焦点が当てられる。1つの相違は、所与のデータベーステーブルからのデータベースデータが、テストメッセージにおいて任意に並び替えられた行順序又は列順序で現れることである。これらの並び替えは、データベースデータを抽出するために通常適用される問合せメカニズムの簡単な結果である。データベース問合せは、任意の列順序及び任意の行順序となるデータベースデータのブロックを生じさせることができる。この理由で、ファイルシングリングの基本的技術は、データベースデータに適用された場合に機能しない。ファイルシングリングは、保護されたドキュメントとテストドキュメントとの間で同じ直線的シーケンスをたどることを仮定する。
【0162】
インターネットコンテンツフィルタリングシステムと、ここに述べる教示との間には、多数の重要な相違がある。上述したように、インターネットコンテンツフィルタリングシステムは、キーワードサーチをベースとする。上述した新規な技術は、保護しようとするデータベースデータからアブストラクトデータ構造体を構築する。このアブストラクトデータ構造体は、保護しようと試みるテキストの断片を含まない。キーワードフィルタリングシステムは、その問合せを実行するためにサーチしているテキストのある表現を含まねばならない。第2の大きな相違は、これらのインターネットコンテンツフィルタリングシステムがデータベースデータの保護を意図していないことである。通常の表現マッチングを使用して、データベースデータに対する組織のプライバシーポリシーの違反を検出すると、非常に不正確な検出方法を招く。これらのシステムは、主として、ポルノ又は虐待的コンテンツ及び言語に関係するような、従業員によるインターネットの悪用を停止するために適用される。このようなシステムは、データベースデータの保護に適用された場合には、通常の表現を使用して、データベースレコードにマッチングさせる。これは、セキュリティリスクが最大となるようなネットワーク上のコンピュータにデータベースデータの断片を転送する結果にもなる。
【0163】
例示的コンピュータシステム
図17は、ここに述べるオペレーションの1つ以上を遂行する例示的コンピュータシステムのブロック図である。図17を参照すれば、コンピュータシステム1700は、例示的クライアント1750又はサーバー1700コンピュータシステムを含む。コンピュータシステム1700は、情報を通信するための通信メカニズム又はバス1711と、情報を処理するためにバス1711に結合されたプロセッサ1712とを備えている。プロセッサ1712は、例えば、PentiumTM、PowerPCTM、AlphaTM、等のマイクロプロセッサを含むが、これに限定されない。
【0164】
システム1700は、更に、プロセッサ1712により実行されるべきインストラクション及び情報を記憶するためにバス1711に結合されたランダムアクセスメモリ(RAM)又は他のダイナミック記憶装置1704(メインメモリと称される)を備えている。メインメモリ1704は、又、プロセッサ1712によるインストラクションの実行中に一時的変数又は他の中間情報を記憶するのにも使用できる。
【0165】
又、コンピュータシステム1700は、プロセッサ1712のためのスタティック情報及びインストラクションを記憶するためにバス1711に結合されたリードオンリメモリ(ROM)及び/又は他のスタティック記憶装置1706と、磁気ディスク又は光学ディスク及びそれに対応するディスクドライブのようなデータ記憶装置1707も備えている。データ記憶装置1707は、情報及びインストラクションを記憶するためにバス1711に結合される。
【0166】
コンピュータシステム1700は、更に、コンピュータユーザに情報を表示するためにバス1711に結合された陰極線管(CRT)又は液晶ディスプレイ(LCD)のようなディスプレイ装置1721に結合される。プロセッサ1722に情報及びコマンド選択を通信するために、アルファニューメリックキー及び他のキーを含むアルファニューメリック入力装置1722もバス1711に結合される。付加的なユーザ入力装置は、マウス、トラックボール、トラックパッド、スタイラス、又はカーソル方向キーのようなカーソルコントローラ1723であり、これは、方向情報及びコマンド選択をプロセッサ1722へ通信すると共に、ディスプレイ1721上のカーソル移動を制御するために、バス1711に結合される。
【0167】
バス1711に結合される別の装置は、ハードコピー装置1724であり、これは、インストラクション、データ、又は他の情報をペーパー、フィルムのような媒体、又は同様の形式の媒体にプリントするのに使用される。更に、音声記録及び再生装置、例えば、スピーカ及び/又はマイクロホンが、コンピュータシステム1700との音声インターフェイスのためにバス1711に任意に結合される。バス1711に結合される別の装置は、電話又はハンドヘルドパルム装置と通信するためのワイヤード/ワイヤレス通信能力1725である。
【0168】
システム1700及びそれに関連したハードウェアのいずれか又は全てのコンポーネントを本発明に使用できることに注意されたい。しかしながら、コンピュータシステムの他の構成は、幾つかの又は全ての装置を含んでもよいことが明らかである。
【0169】
当業者であれば、前記説明を読んだ後に、本発明の多数の変更や修正が疑いなく明らかであろうが、例示のために図示して説明した特定の実施形態は、本発明をこれに限定するものではないことを理解されたい。それ故、種々の実施形態の細部を参照することは、本発明の本質と考えられる特徴のみを列挙した特許請求の範囲を限定するものではない。
【特許請求の範囲】
【請求項1】
ネットワークを経て受信者へ送信するためのメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記受信者への前記予め選択されたデータの無断送信を防止するステップと、
を備えた方法。
【請求項2】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、前記受信者へのメッセージの送信を阻止することを含む、請求項1に記載の方法。
【請求項3】
送信者及び前記受信者の少なくとも一方に前記阻止を通知するステップを更に備えた、請求項2に記載の方法。
【請求項4】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、検疫サーバー及びアーカイブサーバーの少なくとも一方へメッセージをリルートすることを含む、請求項1に記載の方法。
【請求項5】
前記メッセージが許可されたビジネスプロセスの一部分であるという指示を前記検疫サーバーから受け取るステップと、
前記メッセージを前記受信者へ送信するステップと、
を更に備えた請求項4に記載の方法。
【請求項6】
前記メッセージが許可されたビジネスプロセスの一部分ではないという指示を前記検疫サーバーから受け取るステップと、
前記受信者への前記メッセージの送信を阻止するステップと、
を更に備えた請求項4に記載の方法。
【請求項7】
前記検疫サーバーは、特定の期間中、又は指定の時間まで、前記メッセージを保持する、請求項4に記載の方法。
【請求項8】
前記メッセージのコピーを代替サイトへ送信するステップを更に備えた、請求項1に記載の方法。
【請求項9】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、メッセージの送信を終了する付加的なネットワークパケットを通信ストリームに注入することを含む、請求項1に記載の方法。
【請求項10】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、少なくとも1つのより高いレベルのチャンネルセキュリティを伴うネットワークセグメントを通して前記メッセージをリルートすることを含む、請求項1に記載の方法。
【請求項11】
前記メッセージを前記予め選択されたデータについてサーチする必要があることを前記メッセージのヘッダが指示していることを決定するステップを更に備えた、請求項1に記載の方法。
【請求項12】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、メッセージアクションポリシーの1つ以上のルールが満足される場合にメッセージに適用されるべき少なくとも1つのアクションを指定するメッセージアクションポリシーに基づいて前記メッセージに少なくとも1つのアクションを適用することを含む、請求項1に記載の方法。
【請求項13】
前記メッセージアクションポリシーの1つ以上のルールは、
前記予め選択されたデータに関する1つ以上のルール、
少なくとも1つのアクションの特性に関する1つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項12に記載の方法。
【請求項14】
前記メッセージアクションポリシーは、前記1つ以上のルールに対する例外を識別する例外条項を含む、請求項12に記載の方法。
【請求項15】
前記例外条項は、前記予め選択されたデータへアクセスすることが許可された送信者及び受信者の少なくとも一方を宣言する、請求項14に記載の方法。
【請求項16】
前記例外条項は、メッセージをマーケッティング資料として識別するヘッダを含むメッセージを、前記予め選択されたデータをサーチせずに、受信者へ送信することを要求する、請求項14に記載の方法。
【請求項17】
前記メッセージアクションポリシーは、少なくとも1つのアクションをトリガーするための付加的な条件を指定し、この付加的な条件は、送信者及び受信者の少なくとも一方に関連した経歴データに関する、請求項12に記載の方法。
【請求項18】
前記メッセージは、アウトバウンドメッセージ、インバウンドメッセージ及び内部メッセージのいずれか1つである、請求項1に記載の方法。
【請求項19】
前記メッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中のメッセージ交換、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル(HTTP)セッション中に交換されるメッセージ、簡単なオブジェクトアクセスプロトコル(SOAP)セッション中に交換されるメッセージ、送信制御プロトコル/インターネットプロトコル(TCP/IP)セッション中に交換されるメッセージ、ユーザデータグラムプロトコル(UDP)セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び801.11セッション中に交換されるメッセージの1つである、請求項1に記載の方法。
【請求項20】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定する手段と、
前記受信者への前記予め選択されたデータの無断送信を防止する手段と、
を備えた装置。
【請求項21】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するための違反検出器と、
メッセージをインターセプトし、前記受信者への前記予め選択されたデータの無断送信を防止するためのメッセージインターセプタと、
を備えたシステム。
【請求項22】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記受信者への前記予め選択されたデータの無断送信を防止するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【請求項23】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するステップと、
前記受信者へ前記変更されたメッセージを送信するステップと、
を備えた方法。
【請求項24】
前記メッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中のメッセージ交換、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル(HTTP)セッション中に交換されるメッセージ、単一オブジェクトアクセスプロトコル(SOAP)セッション中に交換されるメッセージ、送信制御プロトコル/インターネットプロトコル(TCP/IP)セッション中に交換されるメッセージ、ユーザデータグラムプロトコル(UDP)セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び801.11セッション中に交換されるメッセージの1つである、請求項23に記載の方法。
【請求項25】
メッセージを変更する前記ステップは、受信者に警告するために前記メッセージの本体に前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項23に記載の方法。
【請求項26】
前記メッセージの本体に前記予め選択されたデータの存在を表わす情報を追加することは、
前記メッセージから前記予め選択されたデータを抽出し、
前記抽出された予め選択されたデータをアタッチメントとして再構成し、そして
前記アタッチメントが機密データを含むことを示す情報を前記メッセージ本体に追加する、
ことを含む請求項25に記載の方法。
【請求項27】
メッセージを変更する前記ステップは、受信者に警告するために前記メッセージの主題ラインに前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項23に記載の方法。
【請求項28】
メッセージを変更する前記ステップは、前記メッセージのその後の処理の役目を果たすシステムに通知するために前記メッセージのヘッダに前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項23に記載の方法。
【請求項29】
前記メッセージのヘッダに前記予め選択されたデータの存在を表わす情報を追加することは、メッセージヘッダフラグを変更することを含む、請求項28に記載の方法。
【請求項30】
前記メッセージを変更することは、
前記予め選択されたデータの少なくとも一部分を隠す必要があることを決定し、
前記予め選択されたデータを編集し、そして
前記編集された予め選択されたデータを伴うメッセージを前記受信者へ送信する、
ことを含む請求項23に記載の方法。
【請求項31】
前記予め選択されたデータを編集することは、前記予め選択されたデータを含むアタッチメントを前記メッセージから除去することを含む、請求項30に記載の方法。
【請求項32】
前記メッセージを変更することは、
前記予め選択されたデータを含むメッセージを記憶し、
前記記憶されたメッセージを指す安全なリンクを含む代用メッセージを生成し、そして
前記代用メッセージを前記受信者に送信する、
ことを含む請求項23に記載の方法。
【請求項33】
前記メッセージが前記予め選択されたデータを含まないことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの欠落を表わす情報を前記メッセージに追加するステップと、
を更に備えた請求項23に記載の方法。
【請求項34】
前記メッセージは、メッセージアクションポリシーの1つ以上のルールが満足される場合にメッセージに適用されるべき少なくとも1つの変更を識別するメッセージアクションポリシーに基づいて変更される、請求項23に記載の方法。
【請求項35】
前記メッセージアクションポリシーの1つ以上のルールは、
前記予め選択されたデータに関する1つ以上のルール、
前記少なくとも1つの変更の特性に関する1つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項34に記載の方法。
【請求項36】
前記メッセージアクションポリシーは、前記1つ以上のルールに対する例外を識別する例外条項を含む、請求項34に記載の方法。
【請求項37】
前記例外条項は、前記予め選択されたデータへアクセスすることが許可された送信者及び受信者の少なくとも一方を宣言する、請求項36に記載の方法。
【請求項38】
前記例外条項は、メッセージをマーケッティング資料として識別するヘッダを含むメッセージを、前記予め選択されたデータをサーチせずに、受信者へ送信することを要求する、請求項36に記載の方法。
【請求項39】
前記メッセージアクションポリシーは、少なくとも1つのアクションを適用するための付加的な条件を指定し、この付加的な条件は、送信者及び受信者の少なくとも一方に関連した経歴データに関する、請求項34に記載の方法。
【請求項40】
ネットワークを経て受信者へ送信されるメッセージが機密データを含むことを決定するステップと、
前記機密データを編集することにより前記メッセージを変更するステップと、
前記変更されたメッセージを前記受信者へ送信するステップと、
を備えた方法。
【請求項41】
前記メッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中のメッセージ交換、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル(HTTP)セッション中に交換されるメッセージ、単一オブジェクトアクセスプロトコル(SOAP)セッション中に交換されるメッセージ、送信制御プロトコル/インターネットプロトコル(TCP/IP)セッション中に交換されるメッセージ、ユーザデータグラムプロトコル(UDP)セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び801.11セッション中に交換されるメッセージの1つである、請求項40に記載の方法。
【請求項42】
前記メッセージのコピーを、編集の前に、送信者のスーパーバイザー及びアーカイブサーバーのいずれか一方に送信するステップを更に備えた、請求項40に記載の方法。
【請求項43】
予め選択されたデータを編集することは、予め選択されたデータを含むアタッチメントを前記メッセージから除去することを含む、請求項40に記載の方法。
【請求項44】
前記予め選択されたデータは、メッセージアクションポリシーの1つ以上のルールが満足される場合に編集を要求するメッセージアクションポリシーに基づいて編集される、請求項40に記載の方法。
【請求項45】
前記メッセージアクションポリシーの1つ以上のルールは、
前記予め選択されたデータに関する1つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項44に記載の方法。
【請求項46】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定する手段と、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更する手段と、
前記変更されたメッセージを前記受信者へ送信する手段と、
を備えた装置。
【請求項47】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するための違反検出器と、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するためのメッセージ変更器と、
前記変更されたメッセージを前記受信者へ送信するためのメッセージルーターと、
を備えたシステム。
【請求項48】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するステップと、
前記変更されたメッセージを前記受信者へ送信するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【請求項49】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージが機密データを含むことを決定するステップと、
前記機密データをリアルタイムで編集するステップと、
前記編集されたデータを伴うメッセージを前記受信者へ送信するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【請求項1】
ネットワークを経て受信者へ送信するためのメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記受信者への前記予め選択されたデータの無断送信を防止するステップと、
を備えた方法。
【請求項2】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、前記受信者へのメッセージの送信を阻止することを含む、請求項1に記載の方法。
【請求項3】
送信者及び前記受信者の少なくとも一方に前記阻止を通知するステップを更に備えた、請求項2に記載の方法。
【請求項4】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、検疫サーバー及びアーカイブサーバーの少なくとも一方へメッセージをリルートすることを含む、請求項1に記載の方法。
【請求項5】
前記メッセージが許可されたビジネスプロセスの一部分であるという指示を前記検疫サーバーから受け取るステップと、
前記メッセージを前記受信者へ送信するステップと、
を更に備えた請求項4に記載の方法。
【請求項6】
前記メッセージが許可されたビジネスプロセスの一部分ではないという指示を前記検疫サーバーから受け取るステップと、
前記受信者への前記メッセージの送信を阻止するステップと、
を更に備えた請求項4に記載の方法。
【請求項7】
前記検疫サーバーは、特定の期間中、又は指定の時間まで、前記メッセージを保持する、請求項4に記載の方法。
【請求項8】
前記メッセージのコピーを代替サイトへ送信するステップを更に備えた、請求項1に記載の方法。
【請求項9】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、メッセージの送信を終了する付加的なネットワークパケットを通信ストリームに注入することを含む、請求項1に記載の方法。
【請求項10】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、少なくとも1つのより高いレベルのチャンネルセキュリティを伴うネットワークセグメントを通して前記メッセージをリルートすることを含む、請求項1に記載の方法。
【請求項11】
前記メッセージを前記予め選択されたデータについてサーチする必要があることを前記メッセージのヘッダが指示していることを決定するステップを更に備えた、請求項1に記載の方法。
【請求項12】
前記受信者への前記予め選択されたデータの無断送信を防止する前記ステップは、メッセージアクションポリシーの1つ以上のルールが満足される場合にメッセージに適用されるべき少なくとも1つのアクションを指定するメッセージアクションポリシーに基づいて前記メッセージに少なくとも1つのアクションを適用することを含む、請求項1に記載の方法。
【請求項13】
前記メッセージアクションポリシーの1つ以上のルールは、
前記予め選択されたデータに関する1つ以上のルール、
少なくとも1つのアクションの特性に関する1つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項12に記載の方法。
【請求項14】
前記メッセージアクションポリシーは、前記1つ以上のルールに対する例外を識別する例外条項を含む、請求項12に記載の方法。
【請求項15】
前記例外条項は、前記予め選択されたデータへアクセスすることが許可された送信者及び受信者の少なくとも一方を宣言する、請求項14に記載の方法。
【請求項16】
前記例外条項は、メッセージをマーケッティング資料として識別するヘッダを含むメッセージを、前記予め選択されたデータをサーチせずに、受信者へ送信することを要求する、請求項14に記載の方法。
【請求項17】
前記メッセージアクションポリシーは、少なくとも1つのアクションをトリガーするための付加的な条件を指定し、この付加的な条件は、送信者及び受信者の少なくとも一方に関連した経歴データに関する、請求項12に記載の方法。
【請求項18】
前記メッセージは、アウトバウンドメッセージ、インバウンドメッセージ及び内部メッセージのいずれか1つである、請求項1に記載の方法。
【請求項19】
前記メッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中のメッセージ交換、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル(HTTP)セッション中に交換されるメッセージ、簡単なオブジェクトアクセスプロトコル(SOAP)セッション中に交換されるメッセージ、送信制御プロトコル/インターネットプロトコル(TCP/IP)セッション中に交換されるメッセージ、ユーザデータグラムプロトコル(UDP)セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び801.11セッション中に交換されるメッセージの1つである、請求項1に記載の方法。
【請求項20】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定する手段と、
前記受信者への前記予め選択されたデータの無断送信を防止する手段と、
を備えた装置。
【請求項21】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するための違反検出器と、
メッセージをインターセプトし、前記受信者への前記予め選択されたデータの無断送信を防止するためのメッセージインターセプタと、
を備えたシステム。
【請求項22】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記受信者への前記予め選択されたデータの無断送信を防止するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【請求項23】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するステップと、
前記受信者へ前記変更されたメッセージを送信するステップと、
を備えた方法。
【請求項24】
前記メッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中のメッセージ交換、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル(HTTP)セッション中に交換されるメッセージ、単一オブジェクトアクセスプロトコル(SOAP)セッション中に交換されるメッセージ、送信制御プロトコル/インターネットプロトコル(TCP/IP)セッション中に交換されるメッセージ、ユーザデータグラムプロトコル(UDP)セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び801.11セッション中に交換されるメッセージの1つである、請求項23に記載の方法。
【請求項25】
メッセージを変更する前記ステップは、受信者に警告するために前記メッセージの本体に前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項23に記載の方法。
【請求項26】
前記メッセージの本体に前記予め選択されたデータの存在を表わす情報を追加することは、
前記メッセージから前記予め選択されたデータを抽出し、
前記抽出された予め選択されたデータをアタッチメントとして再構成し、そして
前記アタッチメントが機密データを含むことを示す情報を前記メッセージ本体に追加する、
ことを含む請求項25に記載の方法。
【請求項27】
メッセージを変更する前記ステップは、受信者に警告するために前記メッセージの主題ラインに前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項23に記載の方法。
【請求項28】
メッセージを変更する前記ステップは、前記メッセージのその後の処理の役目を果たすシステムに通知するために前記メッセージのヘッダに前記予め選択されたデータの存在を表わす情報を追加することを含む、請求項23に記載の方法。
【請求項29】
前記メッセージのヘッダに前記予め選択されたデータの存在を表わす情報を追加することは、メッセージヘッダフラグを変更することを含む、請求項28に記載の方法。
【請求項30】
前記メッセージを変更することは、
前記予め選択されたデータの少なくとも一部分を隠す必要があることを決定し、
前記予め選択されたデータを編集し、そして
前記編集された予め選択されたデータを伴うメッセージを前記受信者へ送信する、
ことを含む請求項23に記載の方法。
【請求項31】
前記予め選択されたデータを編集することは、前記予め選択されたデータを含むアタッチメントを前記メッセージから除去することを含む、請求項30に記載の方法。
【請求項32】
前記メッセージを変更することは、
前記予め選択されたデータを含むメッセージを記憶し、
前記記憶されたメッセージを指す安全なリンクを含む代用メッセージを生成し、そして
前記代用メッセージを前記受信者に送信する、
ことを含む請求項23に記載の方法。
【請求項33】
前記メッセージが前記予め選択されたデータを含まないことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの欠落を表わす情報を前記メッセージに追加するステップと、
を更に備えた請求項23に記載の方法。
【請求項34】
前記メッセージは、メッセージアクションポリシーの1つ以上のルールが満足される場合にメッセージに適用されるべき少なくとも1つの変更を識別するメッセージアクションポリシーに基づいて変更される、請求項23に記載の方法。
【請求項35】
前記メッセージアクションポリシーの1つ以上のルールは、
前記予め選択されたデータに関する1つ以上のルール、
前記少なくとも1つの変更の特性に関する1つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項34に記載の方法。
【請求項36】
前記メッセージアクションポリシーは、前記1つ以上のルールに対する例外を識別する例外条項を含む、請求項34に記載の方法。
【請求項37】
前記例外条項は、前記予め選択されたデータへアクセスすることが許可された送信者及び受信者の少なくとも一方を宣言する、請求項36に記載の方法。
【請求項38】
前記例外条項は、メッセージをマーケッティング資料として識別するヘッダを含むメッセージを、前記予め選択されたデータをサーチせずに、受信者へ送信することを要求する、請求項36に記載の方法。
【請求項39】
前記メッセージアクションポリシーは、少なくとも1つのアクションを適用するための付加的な条件を指定し、この付加的な条件は、送信者及び受信者の少なくとも一方に関連した経歴データに関する、請求項34に記載の方法。
【請求項40】
ネットワークを経て受信者へ送信されるメッセージが機密データを含むことを決定するステップと、
前記機密データを編集することにより前記メッセージを変更するステップと、
前記変更されたメッセージを前記受信者へ送信するステップと、
を備えた方法。
【請求項41】
前記メッセージは、eメールメッセージ、インスタントメッセージング(IM)メッセージ、telnetセッション中のメッセージ交換、ファイル転送プロトコル(FTP)セッション中に交換されるメッセージ、ハイパーテキスト転送プロトコル(HTTP)セッション中に交換されるメッセージ、単一オブジェクトアクセスプロトコル(SOAP)セッション中に交換されるメッセージ、送信制御プロトコル/インターネットプロトコル(TCP/IP)セッション中に交換されるメッセージ、ユーザデータグラムプロトコル(UDP)セッション中に交換されるメッセージ、イーサネットセッション中に交換されるメッセージ、及び801.11セッション中に交換されるメッセージの1つである、請求項40に記載の方法。
【請求項42】
前記メッセージのコピーを、編集の前に、送信者のスーパーバイザー及びアーカイブサーバーのいずれか一方に送信するステップを更に備えた、請求項40に記載の方法。
【請求項43】
予め選択されたデータを編集することは、予め選択されたデータを含むアタッチメントを前記メッセージから除去することを含む、請求項40に記載の方法。
【請求項44】
前記予め選択されたデータは、メッセージアクションポリシーの1つ以上のルールが満足される場合に編集を要求するメッセージアクションポリシーに基づいて編集される、請求項40に記載の方法。
【請求項45】
前記メッセージアクションポリシーの1つ以上のルールは、
前記予め選択されたデータに関する1つ以上のルール、
表現パターンを指定するルール、
メッセージアタッチメント形式を指定するルール、
メッセージアタッチメントサイズを指定するルール、
送信者識別子パターンを指定するルール、
受信者識別子パターンを指定するルール、
キーワードを指定するルール、
ファイルアタッチメント名前パターンを指定するルール、
メッセージを搬送するプロトコルを指定するルール、及び
ニュースグループの名前を指定するルール、
より成るグループから選択される請求項44に記載の方法。
【請求項46】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定する手段と、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更する手段と、
前記変更されたメッセージを前記受信者へ送信する手段と、
を備えた装置。
【請求項47】
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するための違反検出器と、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するためのメッセージ変更器と、
前記変更されたメッセージを前記受信者へ送信するためのメッセージルーターと、
を備えたシステム。
【請求項48】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージがソースデータのテーブル構造体内の少なくとも1つのランダムな行からの予め選択されたデータを含むことを決定するステップと、
前記メッセージにおける前記予め選択されたデータの存在を指示するように前記メッセージを変更するステップと、
前記変更されたメッセージを前記受信者へ送信するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【請求項49】
処理システムで実行されたときに、処理システムが、
ネットワークを経て受信者へ送信されるメッセージが機密データを含むことを決定するステップと、
前記機密データをリアルタイムで編集するステップと、
前記編集されたデータを伴うメッセージを前記受信者へ送信するステップと、
を備えた方法を遂行するようにさせるインストラクションを与えるコンピュータ読み取り可能な媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7A】
【図7B】
【図7C】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16A】
【図16B】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7A】
【図7B】
【図7C】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16A】
【図16B】
【図17】
【公開番号】特開2012−150816(P2012−150816A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−24308(P2012−24308)
【出願日】平成24年2月7日(2012.2.7)
【分割の表示】特願2007−555368(P2007−555368)の分割
【原出願日】平成18年2月14日(2006.2.14)
【出願人】(501113353)シマンテック コーポレーション (78)
【氏名又は名称原語表記】Symantec Corporation
【Fターム(参考)】
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2012−24308(P2012−24308)
【出願日】平成24年2月7日(2012.2.7)
【分割の表示】特願2007−555368(P2007−555368)の分割
【原出願日】平成18年2月14日(2006.2.14)
【出願人】(501113353)シマンテック コーポレーション (78)
【氏名又は名称原語表記】Symantec Corporation
【Fターム(参考)】
[ Back to top ]