JP4667362B2 - Identifying similarity and revision history in large unstructured data sets - Google Patents
Identifying similarity and revision history in large unstructured data sets Download PDFInfo
- Publication number
- JP4667362B2 JP4667362B2 JP2006501066A JP2006501066A JP4667362B2 JP 4667362 B2 JP4667362 B2 JP 4667362B2 JP 2006501066 A JP2006501066 A JP 2006501066A JP 2006501066 A JP2006501066 A JP 2006501066A JP 4667362 B2 JP4667362 B2 JP 4667362B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- documents
- operation history
- similarity
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 100
- 239000013598 vector Substances 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 2
- 230000014759 maintenance of location Effects 0.000 claims 5
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims 2
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 238000011156 evaluation Methods 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 description 25
- 230000008901 benefit Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000005315 distribution function Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004308 accommodation Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001747 exhibiting effect Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000010363 phase shift Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000698776 Duma Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011842 forensic investigation Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Storage Device Security (AREA)
Description
本件出願は、2003年12月17日に出願された米国特許出願第10/738,924号および2003年12月17日に出願された米国特許出願第10/738,919号の優先権を主張する部分継続出願であり、これらは、2003年1月23日に出願された「所有する電子情報の適応的識別および保護の方法およびシステム(Method and System for Adaptive Identification and Protection
of Proprietary Electronic Information)」という名称の米国特許仮出願第60/442,464号の利益を主張している。上記出願の教示の全体は、ここでの言及によって本明細書に組み込まれたものとする。
This application is a continuation-in-part application claiming priority from U.S. Patent Application No. 10 / 738,924 filed on December 17, 2003 and U.S. Patent Application No. 10 / 738,919 filed on December 17, 2003. These are “Method and System for Adaptive Identification and Protection” filed on January 23, 2003.
claims the benefit of US Provisional Application No. 60 / 442,464, entitled “Proprietary Electronic Information”. The entire teachings of the above application are hereby incorporated herein by reference.
今やほぼすべての組織が、知的財産を包含する機密に属する情報を含むその組織の大量の情報を種々のフォーマットの電子ファイルとして保存している。この傾向は、コンピュータのコストが低くて幅広く利用可能であること、電子および磁気記憶媒体そのもののコストが減少し続けていること、および情報のアーカイブとしてのバックアップの維持が比較的容易であることなど、多くの理由による。 Almost all organizations now store a large amount of their information, including confidential information that encompasses intellectual property, as electronic files in various formats. This trend is due to the low cost of computers and wide availability, the cost of electronic and magnetic storage media themselves continue to decrease, and the ease of maintaining backups as information archives, etc. For many reasons.
データの電子的保存データへの強い動機の1つは、特定の情報を求めて大量のファイルに効率よく照会できる容易な点にある。この課題に対処するために、いくかのアルゴリズム的技法が提案されている。広く知られている技術の1つは、テキスト形式の内容に限られており、ウェブでのサーチエンジンで最も広く使用されている。この技法では、ユーザが単語または単語のセットをサーチエンジンに打ち込み、次いでサーチエンジンが膨大なデータの集まりについてあらかじめインデックス化しておいたイメージを処理して、サーチ条件で指定された単語を含む文書を取って来る(フェッチする)。 One strong motivation for data to be stored electronically is the ease with which a large amount of files can be efficiently queried for specific information. Several algorithmic techniques have been proposed to address this challenge. One well-known technique is limited to textual content and is most widely used in search engines on the web. In this technique, a user types a word or set of words into a search engine, then processes the images that the search engine has pre-indexed for a large collection of data to produce a document that contains the word specified in the search criteria. Get (fetch).
この技法を洗練することによって、ユーザは、よりユーザ・フレンドリな人間の言葉の形式(単語セット、すなわち単語「ボストン AND 特売」ではない)で情報を入力できるようになる。これらのいわゆる「自然言語」インターフェイスによって、ユーザは、「ボストン地域で現在特売を宣伝しているのはいずれの取引業者か?」などとクエリ(照会)を入力することができる。画像パターン認識および数学的相関などのその他の技法を用いて、例えば画像のようなテキスト以外のデータの集まりにおいて情報が見つけ出される(例えば、保安カメラで顔を捉えた人物が既知の犯罪者のデータベース内に存在するか否か見つけるため)。 Refinement of this technique allows the user to enter information in the form of a more user-friendly human language (not a word set, ie the word “Boston AND Sale”). These so-called “natural language” interfaces allow the user to enter a query such as “Which trader is currently promoting the bargain in the Boston area?”. Other techniques such as image pattern recognition and mathematical correlation are used to find information in a collection of non-text data such as images (for example, a database of criminals with known faces captured by security cameras) To find out if it exists in).
技術が発展し、またハードウェアがより利用可能になり手ごろな価格になるにつれて、コンピュータ・ユーザは、同一文書について複数のコピーを保持できる能力を獲得した(また、そのようにすることを実際に好んでいる)。このようなコピーは、テキストの追加、削除もしくは配置変更、画像のトリミング、1つの文書を2つの文書に分ける、またはいくつかの文書の合体など、わずかな量の編集によってのみ異なっていることがしばしばである。さらに、文書は異なるフォーマットに変換されることがあり、例えば、植字指示付きのテキスト・ファイルを印刷可能形式に変換することができる。これら同一またはきわめて類似した文書の複数のコピーが、同一のコンピュータ上に保持されるかもしれない。しかしながら、これら文書を構内通信網(LAN)または広域通信網(WAN)に接続された多くのコンピュータに分散させることも可能であり、すなわち異なる部署、あるいは物理的に何千マイルも離れた場所にさえ置くことができる。 As technology has evolved and hardware has become more available and affordable, computer users have acquired the ability to hold multiple copies of the same document (and actually do so). I like it). Such copies may differ only by a small amount of editing, such as adding text, deleting or changing text, cropping an image, splitting a document into two documents, or merging several documents. Often. Further, the document may be converted to a different format, for example, a text file with typesetting instructions can be converted to a printable format. Multiple copies of these same or very similar documents may be kept on the same computer. However, it is also possible to distribute these documents across many computers connected to a local area network (LAN) or wide area network (WAN), i.e. in different departments, or physically thousands of miles away. Can even put.
しかしながら、同一文書について多数のコピーを容易に生成できるということは、あるいくつかの問題を引き起こす。これらの問題としては、以下のものがある。
・データのセキュリティ−−文書のコピーが多くなるとともに、その中身へのアクセス
を管理することが難しくなる。
・文書の分類−−類似の文書のコピーは、ユーザの介在を必要とせずに同一の方法で処理される必要があると考えられ、さらにこれを自動で行なうのが望ましい。
・系図−−特定の文書がいかに発展したのかについて履歴を特定する。
・フォレンジック−−誰が文書を改ざんしたかを特定する。
・法令遵守−−今や、医療業界および金融業界におけるあるいくつかの法律および規則が、文書へのアクセスを管理して、かつ/または文書が所定の時間経過後に自動的に廃棄されるように要求している。
However, the ability to easily generate multiple copies for the same document causes some problems. These problems include the following.
Data security--more copies of documents and more difficult to manage access to their contents.
Document classification—copying of similar documents is considered to need to be processed in the same way without the need for user intervention, and it is desirable to do this automatically.
Genealogy--identifies history about how a particular document has evolved.
Forensics--identifying who has tampered with a document
Legal compliance--Some laws and regulations in the medical and financial industries now require access to documents to be managed and / or to be automatically disposed of after a certain amount of time is doing.
既存のデータ検索アルゴリズムは、文書間の類似性の計算および文書配布経路の再現について、効率性、正確さ、または拡張性が十分ではない。 Existing data retrieval algorithms are not efficient, accurate, or scalable for calculating similarity between documents and reproducing document distribution paths.
本発明の一構成によれば、文書の巨大な集合からのデータと所定のデータ一部(新規であってもよく、前記集合に属していてもよい)との間の類似度を効率的に発見するの方法およびシステムが提供される。 According to one configuration of the present invention, the similarity between data from a large set of documents and a predetermined part of data (which may be new or may belong to the set) is efficiently increased. Methods and systems for discovery are provided.
さらに詳細には、本システムは、組織のコンピュータにわたって分散されるソフトウェア・プログラムとして実装できる。クライアント側のモニタ・プロセスが、コンピュータ・ユーザのディジタル資産に関するアクティビティ(例えば、機密に属するユーザ文書がコピーされ、変更され、削除され、あるいは送信される)を報告する。これらアクティビティの報告を使用して、データ・セキュリティ・アプリケーションが、文書配布経路(DDP)を文書間の履歴的な関係の表現である有向グラフとして保持することができる。DDPは、ユーザのアクティビティの履歴を観測するシステムにもとづいて構築される。 More particularly, the system can be implemented as a software program distributed across an organization's computers. The client-side monitoring process reports activity on the computer user's digital assets (eg, confidential user documents are copied, modified, deleted, or transmitted). Using these activity reports, data security applications can maintain document distribution paths (DDPs) as a directed graph that is a representation of historical relationships between documents. The DDP is constructed based on a system that observes a history of user activity.
さらに、本システムは、ユーザ・データ・ファイルについて、類似する(必ずしも等価でなくてよい)情報の高速な照会を可能にするようにインデックス化され、きわめて大きく低減された(「不可逆の」)階層表現を保持する。これより、本システムは、「所定の文書に類似する文書を発見せよ」などといった照会に応答できる。次いで、この情報は、ある操作がクライアント・モニタ処理にとって不可視である場合に、DDPグラフのさらなる追補に使用される。 In addition, the system is indexed to allow fast querying of similar (but not necessarily equivalent) information for user data files, and a greatly reduced ("irreversible") hierarchy Hold the expression. Thus, the system can respond to an inquiry such as “Find a document similar to a predetermined document”. This information is then used to further supplement the DDP graph if an operation is invisible to the client monitor process.
文書の類似性照会は、ユーザから手動で起動されることができ、または分散データ処理システム・サービスの一部として適用および/もしくは実装することができる。「新規ファイルに類似するデータを含む」既存のファイルを見つけ、新規ファイルに自動的に適切な管理を適用することができる、組織全体にわたるセキュリティの解決手段を提供するために、類似性検出エンジン(SDE)と呼ばれる文書類似性サービスを使用することができる。好ましい実施の形態においては、類似性の判断を高速化するために、SDEは文書のスパース表現を使用する。スパース表現は、好ましくは、ファイルの選択された部分すなわち「チャンク」から割り出された応答型のフーリエ係数の階層で構成される。文書を最もよく表わしているフーリエ係数成分を選択的に選ぶためにアルゴリズムが使用される。 Document similarity queries can be initiated manually from a user, or can be applied and / or implemented as part of a distributed data processing system service. Similarity detection engine (to provide an organizational security solution that can find existing files "contains data similar to new files" and automatically apply appropriate controls to new files ( A document similarity service called SDE) can be used. In the preferred embodiment, the SDE uses a sparse representation of the document to speed up similarity determination. The sparse representation preferably consists of a hierarchy of responsive Fourier coefficients determined from selected portions or “chunks” of the file. An algorithm is used to selectively select the Fourier coefficient components that best represent the document.
このシステムは、エンドユーザに透過であり、最新のコンピュータ・ワークステーションにおいて利用可能なリソースのわずかな部分しか利用しない。本システムは、多数のクライアント・ワークステーションをサポートするために、専用のサーバまたはサーバ・クラスタを必要とする場合もある。 This system is transparent to the end user and uses only a small portion of the resources available on modern computer workstations. The system may require a dedicated server or server cluster to support a large number of client workstations.
このように、文書配布経路を自動的に保持および/または再構築する能力を有するデータ管理アプリケーションを提供するために、本システムを使用することができる。この経
路は、1)文書の起源、2)起源の場所からの配布経路、および3)当該文書を改ざんしたユーザの名前および改ざんが生じた時刻、を特定することができる。
In this way, the system can be used to provide a data management application that has the ability to automatically maintain and / or reconstruct document distribution paths. This route can specify 1) the origin of the document, 2) the distribution route from the place of origin, and 3) the name of the user who altered the document and the time when the alteration occurred.
組織は、本発明のこの能力を多数の最終用途に適用することができる。例えば、業務の流れに影響する情報交換の致命的なボトルネックを特定して解消することによって、文書の流れおよび能率的な企業実務を監視するために、本発明を使用することができる。 Organizations can apply this capability of the present invention to a number of end uses. For example, the present invention can be used to monitor document flow and efficient business practices by identifying and resolving fatal bottlenecks in information exchange that affect business flow.
たとえ企業の膨大な文書の集合にわたっても、類似文書をリアルタイムで自動的に特定できるようにすることで、情報セキュリティ・アプリケーションにこの構成を実装することも可能である。機密でない文書の交換を妨げることなく機密に属するデータへの不適切なアクセスまたは配布を防止するために、不可欠なデータ・セキュリティ機能である文書の機密性の判断に文書の類似性分析を利用することができる。 This configuration can also be implemented in information security applications by allowing similar documents to be automatically identified in real time, even across a large collection of documents in a company. Use document similarity analysis to determine document confidentiality, an essential data security feature, to prevent inappropriate access or distribution of sensitive data without interfering with the exchange of non-sensitive documents be able to.
本発明の前記の目的、特徴および利点、ならびに他の目的、特徴および利点は、添付の図面に示した本発明の好ましい実施の形態に関する以下のさらに詳しい説明から明らかになるであろう。添付の図面においては、異なる図であっても同一参照符号は同一部分を指している。図面は必ずしも縮尺どおりではなく、本発明の原理を示すことに重点がおかれている。 The foregoing objects, features and advantages of the present invention, as well as other objects, features and advantages will become apparent from the following more detailed description of the preferred embodiment of the present invention as illustrated in the accompanying drawings. In the accompanying drawings, the same reference numerals refer to the same parts even in different drawings. The drawings are not necessarily to scale, emphasis instead being placed on illustrating the principles of the invention.
<システム環境の概要>
図1は、データ類似性発見システム100を高度に概念化した図である。クライアント・コンピュータ102およびサーバ・コンピュータ104(利用される場合)が、ユーザの作業を継続的に監視し、データ・ファイルまたは価値ある情報を包含する文書ファイルのようなその他「ディジタル資産」についての情報を収集する。監視されるイベントには、コンピュータのオペレーティング・システム(OS)ならびにそのユーザによって変更(生成、コピー、移動、削除、編集、または合体)された文書についての情報の検出および記録のみが含まれる。この情報は、文書配布経路(DDP)150と称されるデータ構造として表わされ、通常は有向グラフとして実現される。有向グラフにおける頂点は文書を表わし、有向グラフにおける辺は文書間の履歴的な関係(historic relationship)を記述する。DDP150は、ファイルおよびそれらのチャンク(ひとまとまりのデータ群)に関するその他の情報とともに、データベースに保存される。
<Overview of system environment>
FIG. 1 is a highly conceptualized view of the data similarity discovery system 100. Information about other "digital assets" such as data files or document files that contain valuable information, as client computer 102 and server computer 104 (if utilized) continually monitor user work. To collect. Monitored events include only the detection and recording of information about the computer's operating system (OS) and documents that have been modified (created, copied, moved, deleted, edited, or merged) by the user. This information is represented as a data structure called a document distribution path (DDP) 150 and is usually realized as a directed graph. Vertices in the directed graph represent documents, and edges in the directed graph describe historical relationships between documents. The DDP 150 is stored in a database along with other information about the files and their chunks.
多くの場合において、OSおよびネットワーク・プロトコル・アーキテクチャによって、全文書間の履歴上の関係をシステム100が再構築するのが妨げられる。特に、ユーザが電子メールの添付として文書を受信してディスクに保存した場合、既存の電子メール・プロトコルは、組織的ネットワークの別のワークステーションでのファイルの起源(文書の起源)までさかのぼって当該ファイルを追跡するアプリケーションをサポートしていない。このような場合、システム100は、受信した文書を既存の文書のデータベースに対して照会するように、類似性検出エンジン(SDE)160(以下で詳しく説明する)を使用することができる。次いで、システムは照会結果を使用して、DDP150を最初に構築する。
In many cases, the OS and network protocol architecture prevents the system 100 from reconstructing historical relationships between all documents. In particular, if a user receives a document as an email attachment and saves it to disk, the existing email protocol is traced back to the origin of the file (origin of the document) on another workstation in the organizational network. Does not support applications that track files. In such a case, the system 100 can use a similarity detection engine (SDE) 160 (described in detail below) to query the received document against a database of existing documents. The system then builds
SDE160は、システムで利用できる文書の「チャンク」のデータベースを維持する。SDE160は、これらのチャンクのデータを高度に圧縮された階層構造表現170に変換する。この階層構造表現170は、チャンク間の類似性を近似的に示して使用するのに最適な形式である。さらに、SDE160は、チャンクの出所についての情報を文書チャンク・データベース175内に保持する。
The
本システムは、単一のスタンドアロンのローカル・マシン102上で動作するように構
成でき、この場合、DDP150、SDE160、および階層構造170はすべてこのローカル・マシン102に存在する。しかしながら、システムを企業全体にわたるデータの管理またはセキュリティ解決手段として実装できることを理解すべきである。この場合、クライアント装置102およびサーバ104は構内通信網および/またはインターネットワーク接続106を介して接続される。このようなシステムにおいて、インターネット108のような外部のネットワークへの接続も可能であることより、企業の外でファイルが生成されて、かつ/または企業の外に分配される。
The system can be configured to operate on a single stand-alone local machine 102, in which case the
ネットワーク化された環境において、DDP150、SDE160、および階層構造170といった各構成要素が、通常は複数のクライアント102およびサーバ104および/またはサーバ・クラスタに分散される。これより、SDE160はローカル・マシン102上の文書の階層化データベース170による表現を保持し、分散によってサーバ104上、および/またはサーバ104のクラスタ上に同一の圧縮された表現を保持できる。クラスタおよび/または分散型の実装において、ローカルSDE160が新規に受信した文書に対する照会に応答できないとき、ローカルSDE160はサーバSDE104に照会を行なう。次いで、ユーザが新規文書を生成したとき、または既存の文書を変更したとき、ローカルSDE160がサーバSDE104を更新する。更新がサーバSDE104に届くと、すぐに他のクライアント・ワークステーション上で動作する他のローカルSDE160による照会が利用可能になる。クライアント102がネットワーク106に接続されていない状況(例えば、ラップトップのユーザがオフィスを離れて旅行中の場合など)においては、ネットワーク接続が回復されるときまで通信要求が延期されて待ち行列に入れられる。
In a networked environment, each component, such as
DDP150およびSDE160は多数のさまざまなアプリケーション120において使用される。このようなアプリケーションの一例は、文書の使用についてのアカウンタビリティの境界を使用点(使用時点および使用場所)において確立するために、データ・セキュリティ・アプリケーションが使用される。このアカウンタビリティ・モデルは、権限を与えられたユーザによる文書へのアクセスを追跡できるだけでなく、さらに重要なことには、機密に属する文書のコピーを周辺機器またはネットワーク接続を介してアクセスまたは移動しようとする企てを監視することができる。このようにして、機密に属する知的財産または他の情報を配布もしくは記録しようとする企て、あるいは他に考えられる権限を悪用するイベントを管理または防止するために、SDE依存セキュリティ・アプリケーション120が使用される。
透過システムのイベント・モニタ180と呼ばれるシステム構成要素が、アプリケーション120のエージェントとして動作する。モニタ180は、クライアント102上で動作するオペレーティング・システム(OS)とエンドユーザ・アプリケーション190との間に介装されている。モニタ・プロセス180は、ファイル・システム192、ネットワーク・インターフェイス194、ポート196、および/またはシステム・クリップボード198への読み書き動作を検出するために、センサまたはシム(Shim)を有する。これらモニタ・プロセス180のセンサは、ローカル・ファイル・サーバには見ることも制御するもできない装置にユーザがアクセスするときに常に生じうる、考えられる不正なイベントを検出するために使用されてもよい。これらのイベントには、コンパクト・ディスク読み書き(CD−RW)ドライブ、携帯情報端末(PDA)、ユニバーサル・シリアル・バス(USB)記憶装置、無線装置、ディジタル・ビデオ記録装置などの管理不可能な媒体への文書の書き込みが含まれ、さらには文書の印刷も含まれる。他の疑わしいイベントは、外部ピア・トゥ・ピア(P2P)アプリケーション、外部の電子メール・アプリケーションを介しての文書の送信、インスタント・メッセージ(IM)アプリケーションの実行、およびインターネット108を介してのウェブサイトへの文書のアップロードなどのイベントを検出するために、ネットワーク・センサ194によって検出される。
A system component called transparent system event monitor 180 operates as an agent of application 120. The monitor 180 is interposed between an operating system (OS) operating on the client 102 and the end user application 190. Monitor process 180 has sensors or shims to detect read / write operations to file
イベントとともに通常集められるデータはイベントの種類およびDDP150内に保持したいと望まれる情報の種類による。このような情報は以下に示すものを含むことができる。
・ファイル操作の場合には、元/先のファイル名、操作の種類(オープン、書き込み、削除、名前の変更、ゴミ箱への移動)、装置の種類、最初および最後のアクセス時刻
・アプリケーションの呼び出しの場合には、呼び出しプロセスの識別、実行可能な名前、開始時間、終了時間、およびプロセス所有者
・ログオンまたはログオフなどのユーザ操作の場合には、時刻およびユーザの識別子(ID)
・ネットワーク操作の場合には、発信元/宛先のアドレス、ポートおよびホスト名、開始/終了時刻のスタンプ、送信および受信したバイト数、入力および出力のデータ伝送時間
・クリップボード操作の場合には、宛先のプロセスID、イベント開始時刻、関係するファイル名のフルパス
・リムーバブル記憶媒体へのアクセスのようなその他の高レベルの操作の場合には、ファイル名、装置ID、日時、転送されたバイト数、など
The data that is normally collected with an event depends on the type of event and the type of information that is desired to be stored in the
-For file operations, source / destination file name, operation type (open, write, delete, rename, move to trash), device type, first and last access time In the case of call process identification, executable name, start time, end time, and process owner. In the case of user operations such as logon or logoff, time and user identifier (ID)
-For network operation, source / destination address, port and host name, start / end time stamp, number of bytes sent and received, input and output data transmission time-For clipboard operation, destination Process ID, event start time, full path of the relevant file name-For other high-level operations such as accessing removable storage media, file name, device ID, date and time, number of bytes transferred, etc.
類似性発見システムがセキュリティ・システムの一部である場合、ローカル文書へのアクセス規制、リムーバブル媒体への書き込みの禁止、またはネットワーク・トラフィックの制限など、セキュリティ・アプリケーション120によって定義されているように、アクセス・ポリシーを受け取り行使するために、さらにモニタ・プロセス180を使用できる。 If the similarity discovery system is part of a security system, as defined by the security application 120, such as restricting access to local documents, prohibiting writing to removable media, or restricting network traffic, A monitoring process 180 can also be used to receive and enforce access policies.
イベント・モニタ180処理は、アプリケーション120、DDP150および/またはSDE160による処理を制限するために発見的方法(heuristics)を含んでもよい。典型的な発見的方法は、システム・ファイルへの標準的な呼び出しによって生成された多数の重要でないイベントを自動的にフィルタリングするための承認ファイル・フィルタを含んでもよい。例えば、多種多様な実行可能ファイルおよびダイナミック・ライブラリのオペレーティング・システムのファイル、フォント・ファイルなどは、同一のアプリケーションから繰り返しオープンされてアクセスされるのが、全くあたりまえである。
Event monitor 180 processing may include heuristics to limit processing by application 120,
イベント・モニタ180およびそれとセキュリティ・アプリケーション120とのやり取りについてのさらなる詳細が本件出願と同時に継続中であるヴェルデーシス社(Verdasys,Inc.)による2003年11月12日付の「ディジタル資産の管理された配布(Managed Distribution of Digital Assets)」という名称の関連の米国特許出願第10/706,871号に含まれており、この出願は、その全体がここでの言及によって本明細書に組み込まれたものとする。しかしながら、SDE依存アプリケーションの他の種類も本発明を利用できることを理解すべきである。 "Managed distribution of digital assets" dated 12 November 2003 by Verdasys, Inc., where further details about the event monitor 180 and its interaction with the security application 120 are ongoing at the same time as this application. No. 10 / 706,871 in the related application entitled “Managed Distribution of Digital Assets”, which is incorporated herein by reference in its entirety. However, it should be understood that other types of SDE dependent applications can also utilize the present invention.
<文書の系図を表現する文書配布経路(DDP)150の生成>
前記データ・セキュリティ・アプリケーション120の一部として、システムは、通常システム内における文書の流れについての履歴的なイベントの表現である文書配布経路(DDP)150を生成する。DDPは通常、ノードすなわち頂点が文書の識別子であって、辺が文書間の履歴的な関係を記述する有向グラフであってもよい。このようなグラフを保持することによって、文書が生成、修正、および/またはアクセスされたときに、セキュリティ・ポリシーをリアルタイムに適用することができる。
<Generation of Document Distribution Path (DDP) 150 Representing Document Tree>
As part of the data security application 120, the system generates a document distribution path (DDP) 150, which is typically a historical event representation of document flow within the system. A DDP may typically be a directed graph in which nodes or vertices are document identifiers and edges describe historical relationships between documents. By maintaining such a graph, security policies can be applied in real time as documents are generated, modified, and / or accessed.
さらに、文書の新しいバージョンとこれら文書の起源である出所元文書との類似性は、コンピュータ・システムの動作(例えば、文書の名前が変更、または文書がコピーもしく
は合体させられる場合は常に)を監視することによって明らかにされることもしばしばある。その他の場合(例えば、文書がネットワーク108から受信された場合)には、この類似性を、文書がデータベース内の既存の文書と同様であるか否かを判定することによってのみ明らかにできる。これは、SDE160がセキュリティ・アプリケーション120の重要な一部となる状況の別の例である。
In addition, the similarity between the new versions of the documents and the original documents from which they originated monitors the behavior of the computer system (for example, whenever a document is renamed or copied or merged) It is often revealed by doing. In other cases (eg, when a document is received from the network 108), this similarity can only be revealed by determining whether the document is similar to an existing document in the database. This is another example of a situation where the
図2は、コンピュータ・システム内の文書の流れの経路の一例(シナリオ)、およびいかに典型的なDDP150を構築できるのかを示す図である。最初の時刻t0において、システムは、データベース内の3つの文書(図2において、「文書」A,BおよびCと印されている)の起源について何の情報も有していない。しかしながら、セキュリティ・アプリケーションはSDE160を使用し、文書A,BおよびCの比較を実行して文書AおよびCが類似しているという最初の結論を確立することができる。この結果が、図3に示すとおり、DDP150の関係を有するデータ・セットのエントリ群におけるエントリ301として保存される。
FIG. 2 is a diagram illustrating an example (scenario) of a document flow path in a computer system and how a
さらに、文書Aに高セキュリティ設定が付されているが、文書Cがそのように特定されていない場合、これらの文書が類似であるとSDE160が判断したことから、セキュリティ・アプリケーション120は、今や文書Cにも同一のセキュリティ設定を適用する。このように、新しい文書に直面したときにセキュリティ・アプリケーション120によって適用される一般的アルゴリズムは、類似文書の探索にSDE160を使用することになっている。類似の文書が見つけ出された場合、新しい文書に対して同一セキュリティ設定を仮定することができる。
Further, if the document A has a high security setting, but the document C is not identified as such, the security application 120 now determines that the documents are similar, because the
時刻t2において、イベント・モニタ180(図1)によってコピー・イベント202が検出され、文書Aがコピーされて文書A’として保存されたことが報告される。これが、さらなるエントリ302(図3を参照)としてDDP150に記録される。これは単なるコピー操作であるため、文書同士は類似であると推定され、2つの文書間の関係を完成するためにSDE160を使用する必要はない。
At time t 2 , event monitor 180 (FIG. 1) detects
時刻t3において、文書Bおよび文書Cを合体させて新しい文書BCにするファイル合体イベント203が見られる。文書Cが高セキュリティのラベルを有するので、1つの結果は、このようなラベルが合体後の文書BCに自動的に適用されるというものであろう。
At time t 3 , a
時刻t4において、イベント・モニタ180が、文書Aの文書A''への名称変更204を報告する。このイベントが、エントリ304(図3を参照)としてDDP150に保存される。
At time t 4, the event monitor 180, to report the
次に、t5において、2つのイベントが生じるが、これは、イベント・モニタ180およびSDE160の他の部分の両者を備えなければフォレンジックに対して解読困難である状況の一例である。イベント205−1が、機密に属する文書A''が編集プログラム(マイクロソフト・ワードなど)にロードされた旨を報告している。イベント205−3は、文書Dがインターネットから受信されて、やはりエディタ(編集プログラム)によってオープンされた旨を報告している。しかしながら、SDE160は、現時点において文書Dの起源を知らない(実際には、この例では、ユーザが作業を行なっている文書Dは個人的な誕生日パーティの招待状であり、正確な判断をするためには、システムがこの文書を機密に属する文書に分類してはならない)。時刻t6において、クリップボードについてのカット・アンド・ペースト操作のイベント206が見られる。しかしながら、マイクロソフト・ワードのカット・アンド・ペースト操作はセキュリティ・アプリケーション120の「適用範囲外」であるという事実により、解決すべき問題が存在している。したがって単にファイル名および保存操作を追跡するだけで文書の系図を辿るのは困難である。こ
れより、検出された操作の範囲が、セキュリティ・アプリケーション120には知らされない。
Then, at t 5, but two events occurs, which is an example of a difficult decryption situation with respect to forensic be equipped both other parts of the event monitor 180 and SDE160. Event 205-1 reports that confidential document A ″ has been loaded into an editing program (such as Microsoft Word). Event 205-3 reports that document D has been received from the Internet and has also been opened by the editor (editing program). However,
t7において、イベント・モニタ108が文書Eへの保存操作を見つけ、時刻t8において、文書Eがインターネットを介して送信されるというイベント208をイベント・モニタ180が報告する。このユーザは、機密に属する文書A''からの情報を文書Eとして保存して送信し、セキュリティを損なったか?あるいは、このユーザは、単に文書Dから誕生日の招待状用の文書Eを生成しただけか?
In t 7, the
ここで、文書A''と文書E、および文書Dと文書Eの比較を要求するSDE160の結果によって、セキュリティ分類の精度を大きく向上させることができる。文書Eが文書Dにきわめて類似するとの報告が返されたならば、これは低セキュリティのイベントであって違反は生じておらず、インターネット転送の動作の続行が許可される(そして/あるいは、報告はされない)。しかしながら、文書Eが文書A''に類似するのであれば、違反が生じていると考えられ、セキュリティ・アプリケーションが、企業のセキュリティ・ポリシーに規定されているとおりに適切な処理を行なう。低リスクのイベントを誤って高リスクのイベントに分類してしまうことは、このような誤りが多数の誤警報につながり、セキュリティ・システムの運営コストを大きく膨大させてしまうため、一般に納得できるものではない。
Here, the accuracy of the security classification can be greatly improved by the result of the
これらのイベントを記録する適切なエントリ306,307および308(図3参照)がDDP150に入力され、新規ドキュメントDおよびEがどこから由来したのかについての履歴、および文書Eが送り出されたという事実が記録される。
時刻t8において、いずれかのアプリケーションから保存イベント209が検出される。このイベント209では、古いファイルである文書C’と同一の名前を有する新しいファイルに別のデータが保存される。ここでも、同一ファイル名を有するファイルは同一セキュリティ分類に属すると単に仮定するのではなく、文書C’の中身をデータベースと比較して文書C’を分類するために、SDE160のエンジンを使用することができる。
At time t8, a
時刻t9において、企業のセキュリティ部門が所有情報漏洩の報告を受信したため、フォレンジック調査が要求された。このような調査は、調査人がDDP150の情報を利用できるのであれば、大幅に簡略化され、より正確に行なうことができる。したがって、企業の外部への機密情報の配布を阻止するようにシステムが構成されていなくても、適切なログおよび報告が一旦もたらされると、後の調査によってこのような漏洩を発見し、違反者に対して法的手段に訴えることができる。
At time t 9, because the security department of the company has received the report of the ownership information leakage, forensic investigation has been requested. Such an investigation can be greatly simplified and performed more accurately if the investigator can use the information of the
SDE160は、また、2つのファイルの比較の結果として、類似性の程度(実際の数字)を報告することができる。次いで、この数字が使用されて、さらに/あるいはDDPに保持される。したがって、新規文書Eが文書A''に60%類似し、文書Dに32%類似していると例えばSDE160が報告する場合、この情報も、いかに文書が作成されたかについてフォレンジックを推測するうえで重要でありうる。
The
文書から文書への類似性の程度は、好ましくは2つの文書内の「チャンク」の総数に対する類似するチャンクの数にもとづいて計算される(このようなアルゴリズムの1つについての詳細な説明は、後述されている)。ファイルの一方が入手不可能であり、このファイルに対する類似性を他のファイルに対する既知の類似度にもとづいて計算しなければならない場合、確率論に共通の公式を推定として使用してもよい。例えば、入手できない文書Aの文書Bに対する類似度がSABであると分かっており、文書Bの文書Cに対する類似度がSBCであると分かっている場合、文書Aと文書Cとの間の類似度は、 The degree of similarity from document to document is preferably calculated based on the number of similar chunks relative to the total number of “chunks” in the two documents (a detailed description of one such algorithm is As described below). If one of the files is not available and the similarity to this file must be calculated based on the known similarity to the other file, a common formula in probability theory may be used as an estimate. For example, when it is known that the similarity between the document A and the document B that cannot be obtained is S AB and the similarity between the document B and the document C is S BC , The similarity is
であると推定できる。この公式より、入手不可能なファイルAおよび照会されたファイルCに対する類似度が、既知であるファイルの数が多くなれば、より大幅に正確になりうる。 It can be estimated that. From this formula, the similarity to unavailable file A and queried file C can be much more accurate if the number of known files increases.
<SDE160によって使用されるデータの圧縮された内部表現>
次に、SDE160がいかに2つの文書が類似であるか否かを判断するかについて説明する。SDE160の現実の実装は、いくつかの要件を満足していなければならない。通常は、上述した目的のためには、むしろ非類似の情報であっても類似していると考えられるべきである(例えば、大きく変更された文書でも、元の文書に類似していると考えられるべきである)。今や、一般的なユーザが取り扱う情報の量はきわめて大きくなる可能性があり、システム間での大量のデータの転送がきわめて高速に実行可能であることもしばしばであるため、SDE160は、コンピュータ的にきわめて効率的かつ正確でなければならない。SDE160に必要なメモリ量およびディスク空間量は、ユーザに対して透過であるという要件を満足するため、きわめて限られた量である必要がある。
<Compressed internal representation of data used by
Next, how the
効率的なSDE160の実装における1つの一般的所見は、2つのバイナリ・データ・ストリームから取り出される同一サイズの2つのチャンクについて、一方のチャンクに存在する長い一連のバイトが他方のチャンクの長い一連のバイトとほぼ一致する(必ずしも正確に一致していなくてもよい)ならば、2つのチャンクは通常は類似であると考えられる。数学的には、このような類似度を示す量は、2つのチャンク間の「共分散」であってもよい(共分散の計算のために各チャンクから取り出されたバイトの対は二次元のデータ点であると考えられる)。ここに記載したSDE160の実装において、望ましいチャンクのサイズは、1キロバイト(KBt)が一般的な値である可変のパラメータである。この数値はシステムのパラメータであり、SDE160についての所望の速度と正確さの間のトレードオフ、保持しなければならない情報の量、および典型的な文書のサイズなどに応じて、より大きくすることも、より小さくすることも、可能である。
One common observation in an
典型的な動作の例(シナリオ)には、このように2つ以上のチャンクを含むデータ・ストリームを伴い、さらに別個に、このデータ・ストリームが比較されるチャンクのセット(おそらくは大きなセット)を伴う。目標は、ストリームからのチャンクに類似するチャンクがデータ・セット中に存在するか否かを見出すことにある。「部分文字列検索(substring search)」または「編集回数(number of edits)」などの伝統的なアルゴリズムは、これらがチャンクのデータ・セットに対して、ストリームのすべてのチャンクをすべての文字位置(character position)から出発して照会するため、実用的ではない。伝統的なアルゴリズムが所定のストリームからの互いに重なり合わないチャンクのみを照会するように改良された場合、データ・ストリームを分割するときに分割の位置シフトすなわち「位相」を正確に推測することができないため、類似チャンクの対をほとんど発見できないであろう。 A typical operation example (scenario) involves a data stream that includes two or more chunks in this way, and additionally involves a set of chunks (possibly large sets) against which this data stream is compared. . The goal is to find out if there are chunks in the data set that are similar to the chunks from the stream. Traditional algorithms such as “substring search” or “number of edits” are used to set all chunks of a stream to all character positions (for a data set of these chunks). Since it starts from character position), it is not practical. When traditional algorithms are modified to query only non-overlapping chunks from a given stream, the position shift or “phase” of the split cannot be accurately guessed when splitting the data stream Therefore, you will hardly find pairs of similar chunks.
好ましい実施の形態においては、代わりに、SDE160がチャンクのフーリエ係数の絶対値を比較し、かなりの大きさで互いの位相がずれているチャンクについて、チャンク間の類似性を見つけ出す。以下に説明する階層的チャンク表現を使用して、SDE160は正確な一致を特定するためにフーリエ係数の全セットの約10%しか必要とせず、それらを低い正確さの形式(それぞれにつき1バイト、あるいは半バイト)で維持することが
できる。
In the preferred embodiment, instead, the
したがって、データ比較のために効果的に利用されるデータの圧縮された内部表現は、データの短いチャンクのフーリエ係数の絶対値の部分集合であって、低い正確さの形式で維持される。 Thus, the compressed internal representation of the data that is effectively utilized for data comparison is a subset of the absolute values of the Fourier coefficients of the short chunks of data and is maintained in a low accuracy form.
<クラスタリング・アルゴリズムおよびインデックス・アルゴリズム>
このように、フーリエ変換に基づくチャンク比較は、SDE160(図1を参照)の核心をなす手法である。これより、元となる既存の文書ファイル(例えば、前述した文書A,A’,A'',B,Cなど)が、小さなチャンク(それぞれ約1KBt)に分割され、これらのフーリエ係数のいくつかがチャンク・データベース175に保持される。新しいデータ・ストリームを受信すると、SDE160はこのストリームをチャンクのセットに分解し、これらをデータベース175と比較する。SDE160は、新しいデータ・ストリームとデータベース上のチャンクを構成している既存の文書との間の類似度に関して比較の結果を返す。
<Clustering algorithm and index algorithm>
Thus, chunk comparison based on Fourier transform is a technique that forms the core of SDE 160 (see FIG. 1). Thus, the original existing document file (for example, the documents A, A ′, A ″, B, and C described above) is divided into small chunks (about 1 KBt each), and some of these Fourier coefficients. Is held in the
図4は、高いレベルにおけるSDE160の処理の代表的なフローチャートである。このように、第1の工程400はデータのストリームを受信する工程であり、次いで工程410でストリームのチャンクを決定する。工程420において、チャンクのフーリエ係数が計算され、これらのうちのいくつかのみが保持される一方で、残りは廃棄される(詳細は後述)。次いで、一連の工程430が、各チャンクのフーリエ係数をデータベース内のファイルのチャンクのフーリエ係数と比較するように、順序だてた方法で実行される。その後、工程440において類似度を割り出す。
FIG. 4 is a representative flowchart of the processing of the
通常のファイル・システムが分割されて得られるチャンクの数はきわめて多く、これらのフーリエ係数のデータベースへの効率的な照会手段、および圧縮されたフォーマットでデータを保持する方法が必要とされる。特に、簡単なSQLに基づく照会では、わずかに少数のフーリエ係数の大きな相違を、たとえ他のフーリエ級数の良好な一致が勝っていても、一致していないと判断するため、類似のデータ・チャンクを突き止めることができない。しかしながら、SDE160は、いわゆる最近隣探索(nearest neighbor search)を利用して、少数のフーリエ係数の不一致を重大な相違であるとはみなさない。
The number of chunks that can be obtained by splitting a normal file system is very large, and an efficient means of querying these Fourier coefficient databases and a method of holding the data in a compressed format is required. In particular, a simple SQL-based query determines that large differences in a small number of Fourier coefficients are not matched, even if a good match in other Fourier series wins. I ca n’t find out. However, the
すなわち工程420において、チャンクの係数で構成されるベクトル・セットの効率的な表現は、係数の大クラスタのツリー状構造であり、クラスタ・サイズが十分に類似するチャンクのグループを表現するのに十分なだけ小さくなるまで、より小さいクラスタに分割される。このクラスタリング・アルゴリズムはフーリエ級数のセットについてのハッシュ関数の概念を実装し、データベースのインデックスと多少類似する役割を果たす。
That is, in
工程420のさらなる詳細に関し、最初にSDE160、照会されたチャンクを含むクラスタを見つけるために、最も高いレベルのクラスタを検索する。この処理は、クラスタ階層の底部で一致するチャンク(またはチャンクのセット)に到達するまで、あるいは類似のチャンクが存在しないと判断されるまで続けられる。こうして、SDE160は、類似の文書を同一のクラスタ・セットにマッピングすることができ、これより、クラスタにフィットするすべてのチャンクの座標ではなく、クラスタそのものの座標のみを保持することによって、高レベルのデータ圧縮が達成される。
For further details of
以下で示すとおり、単一のチャンク・ルックアップ・クエリが、存在するのであれば、類似チャンクの発見を保証することが、SDE160の全体性能にとって極めて重要というわけではない。一致するレコードの取り出しが保証されている決定論的なデータベース・アーキテクチャに反して、SDE160の照会は、多くの場合において正しい一致を見
つけるが、すべての場合とは対照的に、その他の場合には形式的に誤った不一致または「発見されず」の応答を返す。このような緩やかな要件の環境においては、照会を速度について大幅に最適化することができる。
As shown below, ensuring that similar chunks are found is not critical to the overall performance of the
階層内のクラスタは、かなりの程度の重なり合いを有しているため、類似のクラスタが発見される可能性があるツリーのすべての分岐枝を下るということは、照会を大部分の分岐枝を下って移動させることになり、(単純なクラスタ・セットと比べて)階層を備えることの利益を無にしてしまう。本照会は、確率論的推定を使用して、所定チャンクをいずれのクラスタが最も受け入れる可能性があるかを判断し、これらのクラスタを通過する階層の分岐枝のみを探索するように進める。この多分岐枝確率論的サーチは、必要とされる正確さと性能との間に設定可能なバランスをもたらし、これがリアルタイムで文書の類似度を判断するために不可欠である。 Because clusters in the hierarchy have a significant degree of overlap, going down all branches in the tree where similar clusters can be found means that queries go down most branches. And the benefits of having a hierarchy (compared to a simple cluster set) are negated. The query uses probabilistic estimation to determine which clusters are most likely to accept a given chunk and proceeds to search only the branch branches of the hierarchy that pass through these clusters. This multi-branch branch probabilistic search provides a configurable balance between required accuracy and performance, which is essential for determining document similarity in real time.
SDE160が、元々の照会の他にさらに2つの類似の照会を開始するのであれば、工程440における照会の正確さは大きく改善される。これらの照会においては、元のチャンクの最初の半分または最後の半分のいずれかからのデータのみがフーリエ変換に使用され、使用されない半分からのデータはゼロに設定される。照会されたチャンクに類似するチャンクがシステムに存在する場合、それは照会された半チャンクの一方を含む(重なり合うのではなく)であろう。また、それらの類似度はかなり大きいであろう。3つの照会のうち、最も類似するチャンクのセットを取り出した照会が、最も信頼できる結果を生成するであろう。
If
単一のクラスタ内にファイル・システムからの多数のチャンクが属する可能性があり、またそれが通常であるため、単一のチャンク照会では、いずれの文書が所定のチャンクに類似するチャンクを含むかを判断することができない。したがって、SDE160が所定のファイルまたはストリームのいくつかの連続するチャンクについて実行する複数の照会430からの結果を照会解釈手順440が統合し、所定のファイルに最も類似するいくつかのファイルの名称(または識別子)を出力する。さらにSDE160は、照会結果の正確さを裏打ちするため、結果についての確率論的大きさを出力する。この大きさが、文書配布経路内における類似度の推定として、あるいは情報セキュリティ・システムにおける確定性因子として使用される。
Because many chunks from the file system can belong in a single cluster and it is normal, a single chunk query contains which chunks are similar to a given chunk Cannot be judged. Thus, the
<多種内容ファイルからのデータ抽出>
いくつかの共通する種類のファイル(例えば、オフィス文書)は、異なる性質の情報を異なるストリーム中に別個に保持している。ストリームごとにもとづき、この情報を分離する方法がいくつか存在する。チャンク・データベースのルックアップをより高速にするためにこれらの手段を利用することができる。例えば、テキスト情報は、画像のデータベースと比較する必要がなく、所定の実装例では、ある種の情報(例えば、ダウンロードしたウェブページ)を機密に関すると判断しないよう決定できる。
<Data extraction from various content files>
Some common types of files (e.g., office documents) hold different types of information separately in different streams. There are several ways to separate this information on a stream-by-stream basis. These means can be used to make the chunk database lookup faster. For example, text information need not be compared to a database of images, and in certain implementations, it can be determined that certain information (eg, downloaded web pages) is not considered confidential.
<好ましい実施の形態の設計に関する数学的側面>
フーリエ係数のスパース表現を使用する比較処理の設計の目的は、ストリームからのデータを、SDE160が利用できるすべての文書からのすべてのチャンクを含む予め定められたデータベースと比較できるアルゴリズムを設計することにあった。2つのn次元データベクトルxおよびyを考える(必ずしも同じ長さでなくてもよい)。これらのベクトルの畳み込みは、以下のとおり定義される。
<Mathematical Aspects Regarding Design of Preferred Embodiment>
The purpose of the design of the comparison process using the sparse representation of the Fourier coefficients is to design an algorithm that can compare the data from the stream with a predetermined database containing all chunks from all documents available to the
添字qの関数としての畳み込みが、あるqにおいて平均に比べて大きい値を有する場合、これらベクトルの2つのチャンクは、おそらくは互いに類似している。畳み込みが複数のピークを呈するということは、ベクトルxおよびyの中に一致するチャンクが多数存在し、これら一致するチャンクの対に関し、これらが属するベクトルの始点からのオフセットの距離が異なっているということを意味する。 If the convolution as a function of the subscript q has a large value compared to the average at a certain q, then the two chunks of these vectors are probably similar to each other. The fact that the convolution exhibits multiple peaks means that there are many matching chunks in the vectors x and y, and for these matching chunk pairs, the offset distance from the starting point of the vector to which they belong is different. Means that.
図5は、畳み込み結果の一例である。図示の信号を生成するために、以下のmatlab(計算機言語の一種)スクリプトを使用した。
clear
n=1000;
a1=rand(n,1);a2=rand(size(a1));
1part=n/4;n1part=1;n2part=n1part+1part-1;
j1part=n1part:n2part;j2part=n/2+(n1part:n2part);
a2(j1part)=a1(j1part);a2(j2part)=a1(j2part+100);
a1=a1-mean(a1);a2=a2-mean(a2);
c=conv(a1,flipud(a2));plot(c)
FIG. 5 is an example of the convolution result. The following matlab script was used to generate the signal shown.
clear
n = 1000;
a1 = rand (n, 1); a2 = rand (size (a1));
1part = n / 4; n1part = 1; n2part = n1part + 1part-1;
j1part = n1part: n2part; j2part = n / 2 + (n1part: n2part);
a2 (j1part) = a1 (j1part); a2 (j2part) = a1 (j2part + 100);
a1 = a1-mean (a1); a2 = a2-mean (a2);
c = conv (a1, flipud (a2)); plot (c)
関数conv(x,y)、さらに正確にはそのピークの高さが、ベクトルxとyの間の類似度のよい指標である。この関数の以下の特徴を、アルゴリズムの構築に使用することができる。ベクトルx、y、およびconv(x,y)のフーリエ・スペクトルについて検討する。畳み込み定理によれば、 The function conv (x, y), more precisely the height of its peak, is a good measure of similarity between the vectors x and y. The following features of this function can be used to construct the algorithm. Consider the Fourier spectrum of the vectors x, y, and conv (x, y). According to the convolution theorem,
であり、ここでFは、ベクトルへのフーリエ分解の適用を示している。この式は、上記式の両辺をexp(ikq)で乗算し、qについて合計し、総和を右辺に入れ換えることによって容易に確認できる。フーリエ係数は、一般に複素数である。絶対値をとり、次いで上記式の両辺の平均を計算すると、以下のとおりである。 Where F indicates the application of Fourier decomposition to the vector. This equation can be easily confirmed by multiplying both sides of the above equation by exp (ikq), summing up q, and replacing the sum with the right side. The Fourier coefficient is generally a complex number. Taking the absolute value and then calculating the average of both sides of the above equation is as follows.
ここで、│・│は、複素数の絶対値を取ることを意味しており、<・>は、平均値を取り除いた後の平均化を表わしている。ベクトルxおよびyが両者の間の位相シフト無しで一致する場合、式の右辺の平均は、同一の振幅および長さを有する任意のベクトル間について得られる平均よりも大きくなるであろう。しかしながら、たとえxおよびyの間に位相シフトが存在しても、(xとyの大きさの差と対照的に)これらのフーリエ係数の位相の差に反映され、この位相シフトの影響は絶対値をとることによって除去される。 Here, | · | means that the absolute value of the complex number is taken, and <·> represents the averaging after removing the average value. If the vectors x and y match without a phase shift between them, the average of the right hand side of the equation will be greater than the average obtained between any vectors with the same amplitude and length. However, even if there is a phase shift between x and y, it is reflected in the phase difference of these Fourier coefficients (as opposed to the magnitude difference between x and y), and the effect of this phase shift is absolutely Removed by taking the value.
この公式が、比較アルゴリズムの数学的基礎の1つを提供する。類似のいくつかのアルゴリズムの説明について、例えばエム・ジェイ・アタラー(M.J.Atallah)、エフ・チザ
ク(F.Chyzak)、ピー・デュマス(P.Dumas)の「近似文字列マッチングのためのランダム化アルゴリズム(A Randomized Algorithm for Approximate String Matching)」、http://algo.inria.fr/dumas/AtChDu99/を参照されたい。
This formula provides one of the mathematical foundations of the comparison algorithm. For a description of several similar algorithms, see “Randomization algorithms for approximate string matching” by MJAtallah, F.Chyzak, and P. Dumas. A Randomized Algorithm for Approximate String Matching) ”, http://algo.inria.fr/dumas/AtChDu99/.
この式は、その右辺において、2つのベクトルのフーリエ係数の絶対値間の相関の公式ときわめてよく似ている。したがって、2つのストリームの比較の問題は、それらのフーリエ係数間の相関係数の計算の問題に帰する。我々のニーズにとって十分な正確さで相関係数を推定するためには、文書のチャンクに保存されたデータのフーリエ係数のすべてを保持する必要はない。我々の実験から、実際に必要とされるのは、すべてのフーリエ係数のうちのわずか約10%であることが明らかになっている。これらほとんどが必要とされない係数の指標を選択するために異なる手法も試みて、より低周波数の係数が保持される手法が、最もよい結果を示した。 This equation is very similar to the formula for the correlation between the absolute values of the Fourier coefficients of the two vectors on its right side. Thus, the problem of comparing the two streams results in the problem of calculating the correlation coefficient between their Fourier coefficients. In order to estimate the correlation coefficient with sufficient accuracy for our needs, it is not necessary to retain all of the Fourier coefficients of the data stored in the document chunks. From our experiments, it is clear that only about 10% of all Fourier coefficients are actually needed. Different approaches have also been tried to select the index of coefficients for which most of these are not needed, and approaches that retain lower frequency coefficients have shown the best results.
conv(x,y)のピークを見つけることに比べると、このアプローチの利点の1つは、ある長さ(小さな素数の倍数、好ましくは2の整数乗)のベクトルのフーリエ係数を、ベクトルの長さとほぼ線形である時間で計算できるという事実による。高速フーリエ変換として知られている一般的なアルゴリズムは、ベクトルの長さがnである場合、時間O(nlogn)で動作する。このアルゴリズムを適用することによって、2つのベクトルの畳み込みのフーリエ係数の平均の計算を、時間がベクトルのサイズの平方に比例する畳み込みそのものの直接計算よりも、大幅に高速にすることができる。 Compared to finding the peak of conv (x, y), one advantage of this approach is that the Fourier coefficient of a vector of a certain length (a multiple of a small prime number, preferably an integer power of 2) Due to the fact that it can be calculated in a time that is almost linear. A common algorithm known as Fast Fourier Transform operates at time O (nlogn) when the vector length is n. By applying this algorithm, the calculation of the average of the Fourier coefficients of the convolution of two vectors can be made significantly faster than the direct calculation of the convolution itself, whose time is proportional to the square of the vector size.
ベクトルの係数間の相関の計算の問題について、さらに詳しく検討する。成分が正規分布(ガウス分布)している2つの任意のベクトルを考える。これらの相関係数rの分布関数を調べる。ベクトルが十分に長い長さkである(この記述の目的において、k>10を十分に大きい数字であると考えることができる)場合、量の分布関数yが、分散D=1/(k−3)でほぼ標準的であることが、統計学から知られているのが事実である。 The problem of calculating the correlation between vector coefficients will be examined in more detail. Consider two arbitrary vectors whose components are normally distributed (Gaussian distribution). The distribution function of these correlation coefficients r is examined. If the vector has a sufficiently long length k (for the purposes of this description, k> 10 can be considered a sufficiently large number), the quantity distribution function y has a variance D = 1 / (k− It is a fact that statistics are known to be almost standard in 3).
ジー・エイ・コーン(G.A.Korn)、ティー・エム・コーン(T.M.Korn)の「科学者および技術者のための数学ハンドブック(Mathematical Handbook for Scientista and Engineers)」、マグロウヒル社(McGraw-Hill)、1968年を参照されたい。 GA Korn, TMKorn's "Mathematical Handbook for Scientista and Engineers", McGraw-Hill, 1968 See year.
この記述は、上記の条件のもとでは、2つのベクトルについて測定された相関係数が理論値とは異なっており、相違はベクトルの長さとともにほぼ指数関数的に減少することを意味している。 This description means that, under the above conditions, the correlation coefficient measured for two vectors is different from the theoretical value, and the difference decreases almost exponentially with the length of the vector. Yes.
ある1つのチャンクに保存されたデータのフーリエ係数がいかに分布(正規または他の何らかの分布)しているか明らかでないため、文書のチャンクに保存されたデータのフーリエ成分の相関係数に上記の記述は直接当てはまらない。実際、我々は、現実の多くの場面において、文書のチャンクに保存されたデータのフーリエ係数の分布関数が正規ではないことを見出している。我々は、単純な技法(外れ値を放棄するなど)を適用することが、フーリエ係数の分布関数をほぼ正規に促進させるのに十分であることを見出した。 Since it is not clear how the Fourier coefficients of the data stored in one chunk are distributed (normal or some other distribution), the above description is in the correlation coefficient of the Fourier components of the data stored in the document chunk Does not apply directly. In fact, we have found that in many real-world situations, the distribution function of the Fourier coefficients of the data stored in the document chunks is not normal. We have found that applying simple techniques (such as abandoning outliers) is sufficient to promote the distribution function of the Fourier coefficients to be approximately normal.
今や、「文書の2つのチャンクが類似であるか」という質問が、一般的な統計学の枠組みの中に置かれる。我々は、「2つの文書のチャンクが関係していない」という統計的仮
説を考査することを意図した。文書のチャンクに保存されたデータのフーリエ係数の絶対値が正規分布しているという仮定のもとで、この仮説は「上記導入された量yが、ゼロ平均および1/(k−3)の分散を有する正規分布に属している」に帰する(kは、使用するフーリエ係数の数である)。この考査は、統計学においても最も一般的かつよく検討されているものの1つである。この問題の再構成は、我々に「ファイルのチャンクが類似である」および「ファイルのチャンクに保存されたデータのフーリエ係数がよく相関している」という2つの定性的表現を交換可能に使用させる。
The question “is the two chunks of a document similar?” Is now placed in the general statistical framework. We intended to examine the statistical hypothesis that “the two document chunks are not related”. Under the assumption that the absolute values of the Fourier coefficients of the data stored in the document chunks are normally distributed, the hypothesis is that the introduced quantity y is zero mean and 1 / (k−3). Belongs to a normal distribution with variance "(k is the number of Fourier coefficients used). This examination is one of the most common and well studied in statistics. The reconstruction of this problem allows us to use two qualitative representations interchangeably: “file chunks are similar” and “Fourier coefficients of data stored in file chunks are well correlated” .
我々の結論は、文書のチャンクを利用可能なチャンクのデータベースに対して考査するために、所定のチャンクおよびデータベース内のすべてのチャンクについて「2つのチャンクは関係ない」という仮説を考査することを選択してもよい。しかしながら、ファイル・システムのうちでSDE160に公開されている部分およびチャンクのデータベース175(図1参照)がきわめて大きいかもしれないので、この考査は法外に高価となる。したがって、我々の課題に対して、「すべてのチャンクを考査する」方法すなわち「サーチし尽くす」方法よりも効率的な技法を発明する必要がある。この件への対処の試みにおいて、我々は、文書のチャンクのツリー状の"world inside the world"構造(図6を参照)を設計した。決定的に重要なことは、相関の関係がほぼ推移的であり、aがbと相関し、bがcと相関するならば、aはcと相関するというものである。換言すれば、ベクトルの小クラスタの中心が、ある所定のベクトルとの強い相関を示さないのであれば、その所定のベクトルは、クラスタ内のあらゆるベクトルとの間に強い相関をもたない可能性が高い。
Our conclusion is to examine the hypothesis that “two chunks are irrelevant” for a given chunk and all chunks in the database to examine the document's chunk against the available chunk database. May be. However, this review is prohibitively expensive because the portion of the file system that is exposed to the
その要素がSDE160に公開された文書のチャンクに保存されたデータのフーリエ係数であって、ユニタリL2ノルムを有するように正規化されている空間を考える。我々は、この空間内の要素の類似度の大きさとしてベクトル間の相関を使用する。
Consider a space whose elements are Fourier coefficients of data stored in a chunk of a document published to
推移性の近似関係を念頭において、図6に示すようなクラスタの階層構造が生成される。以下の説明は、所定のチャンクに類似するチャンクを求める照会に対してこの構造600がいかに「すべてをチェックする」方法すなわち網羅的サーチよりも効率的な照会をサポートするのかについての詳細な説明である。特に、照会は、照会されたベクトルと相関するクラスタの中心を通過する構造600の分岐枝に掘り下げられる。
With the approximate relation of transitivity in mind, a cluster hierarchical structure as shown in FIG. 6 is generated. The following description is a detailed description of how this
次に、上記クラスタの階層構造600を構築するために我々が使用したクラスタリング方法を説明する。一般に、クラスタリングの問題はNP困難(現実的な次元で解けない)であり、進んだアルゴリズムの適用を必要とする(K-means法、遺伝的アルゴリズム、など)。我々の場合には、すべてのチャンクをメモリ内に同時に保持することさえ不可能である(そのメモリのデータをきわめて多数回閲覧することは言うまでもなく不可能である)ことが、従来からのクラスタリング技法の使用の可能性を無くしてしまうきわめて厄介な問題である。我々は、階層の構築の全プロセスにおいて1回のみ、または最大でも数回のみ、すべてのチャンクを監視することができるオンライン・アルゴリズムを構築する必要がある。
Next, the clustering method we used to construct the
我々は、ディッテンバッハ・エム(Dittenbach,M)、ラウバー・エー(Rauber,A)、およびメルクル・ディー(Merkl,D)の「成長する階層自己組織化マップを使用するデータ内階層構造の発見(Uncovering the Hierarchical Structure in Data Using the Growing Hierarchical Self-Organizing Maps)」、ニューロコンピューティング(Neurocomputing)、2002年、48巻(1〜4):199〜216頁、http://www.ifs.tuwien.ac.at/〜mbach/ghsom/に記載の「成長する階層自己組織化マップ(Growing Hierarchical Self-Organizing Maps)」法に類似するアルゴリズムの構築を選択する。 We found “in-data hierarchy using the growing hierarchical self-organizing map” by Dittenbach, M, Rauber, A, and Merkl, D (Uncovering the Hierarchical Structure in Data Using the Growing Hierarchical Self-Organizing Maps), Neurocomputing, 2002, 48 (1-4): 199-216, http: //www.ifs.tuwien Choose to build an algorithm similar to the “Growing Hierarchical Self-Organizing Maps” method described in .ac.at / ~ mbach / ghsom /.
このアルゴリズムにおいて、すべてのクラスタは当該クラスタに新しい要素が挿入されたときに空間内における位置を変化させるが、このような挿入は、要素がクラスタ内に収まる場合にのみ生じる(このようなクラスタが存在しない場合、構造によって別のクラスタが自動的に生成される)。我々の構造において我々が使用するクラスタは所定の半径を有する球形状である。同一階層レベルにあるクラスタの半径は同一であり、階層の上部から底部へと次第に小さくなる。底部レベルではない1つのクラスタから階層のいくつかの分岐枝が発生する。すべての分岐枝は共通の底部に達する。要素は、構造の底部レベルにおいて登録される。我々の理論の構築のために、我々は「クラスタが要素に類似している」という表現を、より厳密な「クラスタが、要素に類似している中心を備えている」という表現に代えて使用する。クラスタの半径は、そのメンバーがその中心で有する最小の相関係数に対応している。 In this algorithm, every cluster changes position in space when a new element is inserted into that cluster, but such insertion occurs only if the element fits within the cluster (such a cluster is If not, another cluster is automatically generated by the structure). The clusters we use in our structure are spherical with a certain radius. The radii of clusters at the same hierarchical level are the same and gradually decrease from the top to the bottom of the hierarchy. Several branch branches of the hierarchy arise from one cluster that is not at the bottom level. All branch branches reach a common bottom. Elements are registered at the bottom level of the structure. To build our theory, we use the phrase “clusters are similar to elements” instead of the more rigorous expression “clusters have centers that are similar to elements”. To do. The radius of the cluster corresponds to the smallest correlation coefficient that the member has at its center.
クラスタが少数の要素しか有していない場合、要素が挿入されたときにクラスタは大きく移動して空間内における適切な位置を「学習」する。クラスタの歩幅は、クラスタが成長するにつれて小さくなり、最終的にクラスタは、事実上不動になる。我々は、新しい要素が挿入されたときに、常に中心がクラスタに属するすべての要素の平均であるように、クラスタの中心の座標を更新することを選択する。ひとたびクラスタが元の位置から移動すると、当該クラスタの要素が依然クラスタ内にあるかどうか保証することがもはやできない。しかしながら、中心極限定理によれば、新たなチャンクが挿入されたときに初期位置からのクラスタ中心の移動の総距離は、いくつのチャンクが属しているかにかかわらず有限である。この理由から、要素がそれら要素の属するクラスタの範囲外になることはまれである。アルゴリズムが、階層構造600を定期的に調べて、クラスタの動きを定期的に調べ、各クラスタの要素が受け入れ先クラスタの範囲から外れる可能性を推定する。次いで、前記可能性があるしきい値(典型的には10−3)を超えたクラスタの要素を自動的に再チェックする。
If the cluster has only a small number of elements, when the element is inserted, the cluster moves greatly and "learns" the appropriate position in space. The stride of the cluster decreases as the cluster grows, and eventually the cluster becomes practically immobile. We choose to update the cluster center coordinates so that when a new element is inserted, the center is always the average of all elements belonging to the cluster. Once a cluster has moved from its original position, it can no longer be guaranteed that the elements of the cluster are still in the cluster. However, according to the central limit theorem, the total distance of movement of the cluster center from the initial position when a new chunk is inserted is finite regardless of how many chunks belong. For this reason, it is rare for elements to be outside the range of clusters to which they belong. The algorithm periodically examines the
われわれの構造600のクラスタ610は、程度の大きな重なり合いを互いに有しているようである。構造600内に挿入しようとする要素(すなわち、フーリエ係数のセット)620に対して、当該要素を任意のクラスタに挿入するのに十分高い類似度のクラスタ610が複数存在することもしばしばである。これら複数のクラスタのすべては当該要素に対して一定の類似度を呈する。したがって、それらの中からいずれのクラスタが挿入しようとする要素にとって最も適した受け入れ先であるかを判断しなければならないことが、しばしばある。我々は、このロジックをこの章でさらに明らかにする。
The
我々の階層構造600は、すべてのツリー状構造に共通であるいくつかの問題を抱えている。第1に、これらの構造は、これらが適切にバランスしている場合、すなわち所定のレベルから出発して各分岐枝の要素の数が大まかに同一である場合にのみ、上手く機能する。簡潔なツリー構造では、(要素が挿入されるときに)オンザフライのバランスが可能であるのに対し、より複雑なツリー構造では、定期的なバランス再調整手順が必要になる。我々の構造も、このような手順を必要とし、ワークステーション102(図1参照)が待機状態の間にSDE160が適切な方法を呼び出す。
Our
次に、図7のフローチャートを参照して、所定の要素について十分に高い相関を呈するクラスタのセットを求めて要素のクラスタの階層構造を照会する手順を説明する。データの掘り出しにおいて、このような手順は「類似度サーチ」と称される。ここに検討する手順の目標は、探し歩く構造の分岐枝の数を可能な限り少なくしつつ(したがって、照会を満足するために要する時間を減らす)、サーチ条件を満足するクラスタを可能な限り多く突き止めることにある。形式的に、我々のサーチ条件は常に、「所定の要素とクラスタ中心との相関が、指定のしきい値よりも大である」というものである。このしきい値rqの値は、この手順の外部パラメータであり、いかに選択されるのかも含めて、この章で後述
する。このアルゴリズムの全体的目標に沿って、この手順の正確さは、確率論的な条件で表現され、すなわちこの手順は、所定の条件を満足するクラスタをすべて突き止めることを保証しない。
Next, a procedure for querying the hierarchical structure of the cluster of elements for a set of clusters exhibiting a sufficiently high correlation for a predetermined element will be described with reference to the flowchart of FIG. In data mining, such a procedure is called “similarity search”. The goal of the procedure considered here is to make as many clusters that satisfy the search criteria as possible, while minimizing the number of branches in the search structure (thus reducing the time required to satisfy the query). It is to find out. Formally, our search condition is always that the correlation between a given element and the cluster center is greater than a specified threshold. The value of this threshold r q is an external parameter for this procedure and will be described later in this chapter, including how it is selected. In line with the overall goal of the algorithm, the accuracy of the procedure is expressed in terms of probabilistic conditions, i.e. the procedure does not guarantee to find all clusters that satisfy a given condition.
照会される要素をqとする(「照会のベース」とも称される)。階層構造において最上位レベルに位置するすべてのクラスタ(図6を参照)を Let q be the element being queried (also referred to as the “base of the query”). All clusters located at the highest level in the hierarchy (see Figure 6)
とし、それらの中心を And the center of them
とする。この手順は、最初に階層構造の最上位レベルを調べる(図7を参照、工程701)。幾何学的検討によれば、あるクラスタ And This procedure first examines the highest level of the hierarchical structure (see FIG. 7, step 701). According to geometric considerations, a cluster
においてqと高い類似度を呈する要素xを発見する可能性は、 The possibility of finding an element x that exhibits high similarity to q in
とqとの間の相関係数に従って増加する。
xについてcorr(q,x)>rとすると、
And increase according to the correlation coefficient between q and q.
If corr (q, x)> r for x,
この公式が、われわれの照会手順の基礎である。この手順の次の工程703は、すべての
This formula is the basis of our inquiry procedure. The
についてqとの相関係数を計算する。 Calculate the correlation coefficient with q for.
次の工程705は、これらの係数の値に従ってクラスタを並べ替える工程である。次の工程707において、qとの高い類似度を呈する要素の収容先である可能性が最も高い
The
からクラスタの部分集合 To a subset of clusters
を選択する。 Select.
内に入るクラスタと他のクラスタとの間の区別に使用される可能性しきい値Pqは、この手順の外部パラメータである。このパラメータは、通常はPq〜10−2〜10−4の範囲で選択され、これがこの手順の速度と正確さの間の受け入れ可能なトレードオフであることを我々は見出している。パラメータPqは、qとの高い類似度を呈する要素をこの手順が報告しない確率である。この手順は、階層構造の最上位レベルにおいてPqに相当する相関しきい値 The probability threshold P q used to distinguish between clusters that fall within and other clusters is an external parameter of this procedure. This parameter is usually selected in the range of P q -10 −2 to 10 −4 and we have found that this is an acceptable trade-off between the speed and accuracy of this procedure. The parameter P q is the probability that this procedure does not report an element that exhibits a high similarity to q. This procedure involves a correlation threshold corresponding to P q at the highest level of the hierarchy.
を自動的に計算する。この手順が選択するクラスタの部分集合 Is automatically calculated. The subset of clusters that this procedure selects
は、さらに詳細に調べる価値のある階層構造中の分岐枝の部分集合を特定する。 Identifies a subset of branch branches in a hierarchical structure that is worth examining in more detail.
次の工程709において、この手順は階層構造の次の(より低い)レベルを調べる。構造の当該レベルに属し、かつこの手順の最初の工程で進入する価値があると見出された分岐枝の部分集合に属するすべてのクラスタが集められる。
In the
このようにして、工程709においてクラスタの部分集合
In this way, a subset of clusters in
が形成され、 Formed,
の代わりに Instead of
を使用して前述の分析が適用される。この分析の結果として、この部分集合 The above analysis is applied using As a result of this analysis, this subset
が、qとの高い類似度を呈するクラスタによって形成される、さらなる Are formed by clusters exhibiting high similarity to q
に帰し、必要とされる相関しきい値 To the required correlation threshold
の値が計算される。 The value of is calculated.
これらの工程は状態712で手順が階層構造の底部レベルに達したことが発見されるまで繰り返され、このレベルにおいてrq(この手順の外部パラメータ、前記を参照)よりも大きいqとの相関を中心が呈するクラスタがこの手順の結果として報告される(工程714)。
These steps are repeated until it is found at
すでに述べたように、要素qが階層構造に挿入されるとき、階層構造のレベルlにおいて、当該要素を収容しうる2つ以上のクラスタ As already mentioned, when an element q is inserted into a hierarchical structure, two or more clusters that can accommodate the element at level l of the hierarchical structure
が存在することがしばしばである。これらのクラスタは、 Is often present. These clusters are
であり、ここでrlは、レベルlにおけるクラスタ半径を定める相関しきい値である。qを収容するのに適したクラスタのこの部分集合の中から、qに対してもっとも適切な収容先あろうクラスタを選択しなければならない。次に、いかにクラスタ選択を決定するかについて説明する。 Where r l is the correlation threshold that defines the cluster radius at level l. From this subset of clusters suitable for accommodating q, the cluster that is most likely to be accommodated for q must be selected. Next, how to determine the cluster selection will be described.
分岐枝上の他のクラスタとともに、要素qを収容する階層構造の底部レベルのあるクラスタ A cluster at the bottom level of the hierarchy that contains element q, along with other clusters on the branch
を選択すると仮定する(ここで、Lは階層の底部レベルを表わしている)。次いで、すでに述べたとおり照会のベースとして行なわれる同一要素qについての類似度照会を実行すると仮定する。以下の条件が、qの最も適切な収容先として底部レベルのクラスタを指定する。そのクラスタは、引き続く類似度照会が、同一要素を最も高い確度で見つけることができるクラスタである。最もqに類似するクラスタは階層の各レベルにおいて見つけられ、その分岐枝がqの収容先として選択される「貪欲な(greedy)」挿入ロジックが、必ずしも策定された基準を満足しないことに注意すべきである。実際、最上位のレベルにおいてあるクラスタがqにきわめて類似している場合、貪欲なロジックは、このクラスタをqの収容先として選択し、このクラスタから出発する分岐枝のみを下ってより低いレベル
の収容先クラスタの選択を続けるであろう。しかしながら、選択された分岐枝に属し、かつ我々の構造の次のレベルにおいて最もqに類似しているクラスタ
(Where L represents the bottom level of the hierarchy). Then, assume that a similarity query for the same element q, which is performed as the basis of the query as described above, is executed. The following conditions specify the bottom level cluster as the most appropriate accommodation for q. That cluster is the cluster where subsequent similarity queries can find the same element with the highest accuracy. Note that the most greedy cluster is found at each level of the hierarchy, and the “greedy” insertion logic whose branch is selected as the destination for q does not necessarily meet the established criteria. Should. In fact, if a cluster at the highest level is very similar to q, then the greedy logic chooses this cluster as the destination for q and goes down only the branch branch starting from this cluster to the lower level. Will continue to select the accommodation cluster. However, the cluster that belongs to the selected branch and is most similar to q at the next level of our structure
が、qとかなり非類似である場合がありうる(また、そのような場合が多い)。特に、 Can be quite dissimilar to q (and is often the case). In particular,
の場合を考えてみよう。ここでr1および Let's consider the case. Where r 1 and
の意味は、すでに述べたとおりである。このような状況下において、引き続く照会手順は The meaning of is as already described. Under these circumstances, the subsequent inquiry procedure is
をqの収容先としての可能性があると考えず、したがって階層内でqを見つけることができないであろう。要素挿入手順の設計において考慮に入れるべき他の重要な側面は、クラスタに新規要素が挿入されたときにすべてのレベルのクラスタが移動するという点である。その結果、ある時点において要素qに対して良好な候補のように思われる階層の分岐枝は、構造が成長するとともに良好な候補ではなくなるかもしれない。 Will not be considered as a potential containment of q, so q will not be found in the hierarchy. Another important aspect to consider in designing the element insertion procedure is that all levels of clusters move when new elements are inserted into the cluster. As a result, a branch in a hierarchy that appears to be a good candidate for element q at some point in time may not be a good candidate as the structure grows.
所定の要素qを挿入するのに階層構造の最も適切な分岐枝を突き止めるために我々が使用を好む方法を以下の内容で説明する。 The method we prefer to use to locate the most appropriate branch in the hierarchy to insert a given element q is described below.
我々は最初に、階層の底部においてqに類似するクラスタのグループを見つけるために、類似度照会手順を実行する。 We first perform a similarity query procedure to find a group of clusters similar to q at the bottom of the hierarchy.
次いで我々は、平均して、階層のすべてのレベルにおいてqに最も類似している分岐枝に属するクラスタをこのグループ内で見つける。我々は、qと階層のすべてのレベルにおいて分岐枝を構成しているクラスタの中心との間の重み付けしたL2距離の二乗平均平方根としてこの平均を定義する。この計算における重み付けは、先の照会手順において We then find, on average, clusters in this group that belong to the branch that is most similar to q at all levels of the hierarchy. It defines the average as the root mean square of the weighted L 2 distance between the center of the cluster constituting the branches branch at all levels of q and hierarchies. The weight in this calculation is
に対応する半径である。 Is the radius corresponding to.
すでに述べたとおり、工程714(図7参照)における要素の類似度の照会は、次に通常、照会された要素(照会ベース)に類似するクラスタのセットを返す。このセット内の各クラスタは、種々の文書からのデータ・チャンクを含む。したがって、ただ1つの照会では、いずれの単一文書が照会されたチャンクを収容しているかを判断するのに十分ではない。しかしながら、SDE160は、ベースとして文書からの連続するチャンクとの複数の類似度照会を実行でき、次いで、これら照会の結果にもとづいていずれの文書が所望のチャンクを含むかを推論することができる。この目標を満足するために、チャンクが含まれる階層のクラスタにそのチャンクをマッピングした文書チャンク・データベースをSDE160は維持している。ひとたび未知の文書の連続するチャンクに対していくつかの類似度照会をSDE160が実行し、これら連続するチャンクに類似するクラスタのセットが得られると、別の手順が実行される。この手順は、文書チャンク・データベースにアクセスし、その連続するチャンクが、類似度照会によって発見されたものと同一のクラスタに含まれ、かつ同一順序である文書を引き出す。これらの文書が、照会された未知の文書と類似であるとして報告される。後処理の正確さは、照会された未知の文書のチャンクの数に従って指数関数的に増加する。これにより、前処理された文書の1つと当該文書との類似度を高い確度で発見するためには、その文書の少数の連続するチャンクのみを調べればよい。
As already mentioned, the query of element similarity in step 714 (see FIG. 7) then typically returns a set of clusters similar to the queried element (query base). Each cluster in this set contains data chunks from various documents. Thus, a single query is not sufficient to determine which single document contains the queried chunk. However,
次に、我々の典型的な類似度照会手順(上記参照)において、われわれの手順が引き出すクラスタとの照会のベースの類似度しきい値を指定するパラメータrqについて検討する。照会の後処理を簡単にするために、ベースに偶発的に類似する可能性と同程度のクラスタをこの手順が取り出すことがないように十分に高い値をこのパラメータは有する必要がある。同時に、この照会の最終の目標である要素に類似するチャンクを収容するクラスタをこの手順が取り出してしまうことを防止できるので、このパラメータを高くしすぎてもいけない。したがって、照会の後処理手順がいかに実装されるかに応じてこのパラメータは決まり、さらに階層構造の空間の次元(すなわち、含まれるフーリエ・モードの数)によって決まる。我々の実験においては、70の次元が我々の目的にとって適切であると見出されており、パラメータrqは、偶発的クラスタ取出しが約1%であるように選択される。 Next, in our typical similarity query procedure (see above), consider the parameter r q that specifies the base similarity threshold for queries with clusters that we derive. In order to simplify the post-processing of the query, this parameter should have a value that is high enough so that the procedure does not pick out as many clusters as it could accidentally resemble the base. At the same time, this parameter should not be set too high because it can prevent the procedure from taking out clusters that contain chunks similar to the element that is the ultimate goal of the query. Thus, this parameter depends on how the query post-processing is implemented, and further depends on the dimension of the hierarchical space (ie, the number of included Fourier modes). In our experiments, 70 dimensions have been found suitable for our purposes, and the parameter r q is chosen such that the accidental cluster retrieval is about 1%.
以上、本発明を、本発明の好ましい実施の形態を参照しつつ詳しく示して説明したが、添付の特許請求の範囲に包含される本発明の技術的範囲から離れることなく、形態や詳細においてさまざまな変更が可能であることを、当業者であれば理解できるであろう。 Although the present invention has been shown and described in detail with reference to the preferred embodiments of the present invention, it has been described in various forms and details without departing from the technical scope of the present invention as encompassed by the appended claims. Those skilled in the art will understand that various modifications are possible.
Claims (32)
(i)1つ以上の元文書の識別子、(ii)少なくとも1つの先文書の識別子、および(iii)前記1つ以上の元文書が前記先文書の生成に用いられた程度を表わしている関係記述子、を備えたエントリを含む文書配布経路表現を、前記コンピュータ装置のデータベースに維持する維持工程と、
前記コンピュータ装置のオペレーティング・システム・カーネル内におけるモニタ手段が、文書間の関係に影響を及ぼす可能性のあるアクセス・イベントを検出する検出工程と、
新たな元文書を生成するアクセス・イベントまたは既存の文書についての関係記述子に変更が生じるアクセス・イベントの検出に応答して、このアクセス・イベントを前記操作の履歴に反映させるように、前記コンピュータ装置の手段が、検出したアクセス・イベントによって決まる関係記述子で、前記文書配布経路表現に新規エントリを生成する生成工程とを備えた、操作履歴表現の保持方法において、
前記検出したアクセス・イベントからは前記関係記述子を決定できない場合に、
類似性検出手段が、前記先文書を既存の文書からなるデータベースに対して照会して、前記先文書に対する適切な関係記述子を決定することを特徴とした、操作履歴表現の保持方法。A method of maintaining a representation of a history of operations performed on a document in a data processing environment of a computer device ,
(i) an identifier of one or more original documents, (ii) an identifier of at least one previous document, and (iii) a relationship representing the degree to which the one or more original documents were used to generate the previous document. Maintaining a document distribution path representation including an entry with a descriptor in a database of the computing device ;
A detecting step in which the monitoring means in the operating system kernel of the computing device detects an access event that may affect the relationship between documents;
In response to detecting an access event that generates a new original document or an access event that changes a relationship descriptor for an existing document, the computer is configured to reflect the access event in the history of operations. In the method for retaining an operation history expression, wherein the device means includes a generation step of generating a new entry in the document distribution path expression with a relation descriptor determined by the detected access event,
If the relationship descriptor cannot be determined from the detected access event,
A method for holding an operation history expression , wherein the similarity detection means inquires of the previous document against a database of existing documents and determines an appropriate relation descriptor for the previous document.
先文書を既存の文書からなるデータベースに対して照会する前記工程が、類似の文書が存在すると判断した場合に、前記データ・セキュリティ・アプリケーションが、当該類似の文書にすでに割り当てられているセキュリティ分類を前記先文書に適用する、操作履歴表現の保持方法。The data distribution path of claim 1, wherein the data distribution path is used to implement a data security application on the computing device ,
If the step of querying a pre-existing document against a database of existing documents determines that a similar document exists, the data security application determines the security classification already assigned to the similar document. An operation history expression holding method applied to the destination document.
データ処理システムにおいてディジタル形式で保存された第1および第2の文書が類似しているか否かを、これら第1および第2の文書のスパース表現を比較することによって判断する方法が用いられ、この判断方法が、
前記第1および第2の文書を所定サイズのデータのチャンクに分割する分割工程と、
文書内のデータの代表としてすべてのチャンクの部分集合を選択する選択工程と、
選択されたチャンクを表わす係数のセットを決定する決定工程と、
係数のセットを係数クラスタに組み合わせる工程であって、係数クラスタは所定の類似度基準に従って類似である係数を含む、組合せ工程と、
両方の文書からのチャンクが該当するクラスタをカウントすることによって、前記類似性検出手段が文書間の類似性の度合いを評価する評価工程とを備えた、操作履歴表現の保持方法。 In claim 1, the determination of the appropriate relationship descriptor includes:
A method is used to determine whether first and second documents stored in digital form in a data processing system are similar by comparing sparse representations of the first and second documents. Judgment method is
A dividing step of dividing the first and second documents into chunks of data of a predetermined size;
A selection process that selects a subset of all chunks as representative of the data in the document;
A determining step for determining a set of coefficients representing the selected chunk;
Combining a set of coefficients into a coefficient cluster, the coefficient cluster including coefficients that are similar according to a predetermined similarity criterion;
An operation history expression holding method , comprising: an evaluation step in which the similarity detection unit evaluates the degree of similarity between documents by counting clusters to which chunks from both documents correspond.
a.第1の文書について、階層の所定のレベルに位置する係数のセットから導き出されるクラスタ探索セットを選択する選択工程と、
b.前記クラスタ探索セット内のクラスタについて、このクラスタ探索セット内のクラスタをベース要素として選択された第2の文書の少なくとも1つのチャンクと比較することによって、類似性を計算する計算工程と、
c.前記第2の要素からのチャンクに対する類似性の度合いに従って、前記比較したクラスタを並べ替える並べ替え工程と、
d.進出の類似性しきい値を計算する計算工程と、
e.前記ベース要素に最も類似するクラスタとして、前記クラスタ探索セットの部分集合を選択する選択工程と、
f.この部分集合をさらに次のクラスタ探索セットとして取り扱う取扱い工程と、
g.階層の底部に達するまで前記工程b〜前記fを繰り返す繰返し工程と、
h.繰り返しが完了した場合、工程fで生成された部分集合を解として返す返却工程とを備えた、操作履歴表現の保持方法。In claim 25, further
a. Selecting for a first document a cluster search set derived from a set of coefficients located at a given level of the hierarchy;
b. A computing step for calculating a similarity for the clusters in the cluster search set by comparing the clusters in the cluster search set with at least one chunk of the second document selected as a base element;
c. A reordering step of reordering the compared clusters according to a degree of similarity to chunks from the second element;
d. A calculation process for calculating a similarity threshold for advancement;
e. A selection step of selecting a subset of the cluster search set as the cluster most similar to the base element;
f. Handling the subset as the next cluster search set;
g. Repeating steps b to f until reaching the bottom of the hierarchy;
h. A method of holding an operation history expression, comprising: a return step that returns the subset generated in step f as a solution when the iteration is completed.
前記第1の文書、およびこの類似性判断方法によってすでに処理された処理済み文書セットのすべての文書について、これら文書内の類似のチャンク数を割り出すさらなる工程によって、
前記第1の文書が、処理済み文書からなるより大規模なセット中の文書のグループに類似していると判断される、操作履歴表現の保持方法。In claim 28, further:
For the first document and for all documents in the processed document set that have already been processed by this similarity determination method, a further step of determining the number of similar chunks in these documents,
A method of retaining an operation history representation, wherein the first document is determined to be similar to a group of documents in a larger set of processed documents.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US44246403P | 2003-01-23 | 2003-01-23 | |
US10/738,919 US6947933B2 (en) | 2003-01-23 | 2003-12-17 | Identifying similarities within large collections of unstructured data |
US10/738,924 US7490116B2 (en) | 2003-01-23 | 2003-12-17 | Identifying history of modification within large collections of unstructured data |
PCT/US2004/001530 WO2004066086A2 (en) | 2003-01-23 | 2004-01-21 | Identifying similarities and history of modification within large collections of unstructured data |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006516775A JP2006516775A (en) | 2006-07-06 |
JP2006516775A5 JP2006516775A5 (en) | 2007-03-22 |
JP4667362B2 true JP4667362B2 (en) | 2011-04-13 |
Family
ID=32777026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006501066A Expired - Lifetime JP4667362B2 (en) | 2003-01-23 | 2004-01-21 | Identifying similarity and revision history in large unstructured data sets |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1590748A4 (en) |
JP (1) | JP4667362B2 (en) |
CA (1) | CA2553654C (en) |
WO (1) | WO2004066086A2 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4695388B2 (en) * | 2004-12-27 | 2011-06-08 | 株式会社リコー | Security information estimation apparatus, security information estimation method, security information estimation program, and recording medium |
JP2006338147A (en) * | 2005-05-31 | 2006-12-14 | Ricoh Co Ltd | Document management device, document management method and program |
JP4791776B2 (en) * | 2005-07-26 | 2011-10-12 | 株式会社リコー | Security information estimation apparatus, security information estimation method, security information estimation program, and recording medium |
WO2007117643A2 (en) * | 2006-04-07 | 2007-10-18 | Mathsoft Engineering & Education, Inc. | System and method for maintaining the genealogy of documents |
JP4895696B2 (en) * | 2006-06-14 | 2012-03-14 | 株式会社リコー | Information processing apparatus, information processing method, and information processing program |
JP5003131B2 (en) | 2006-12-04 | 2012-08-15 | 富士ゼロックス株式会社 | Document providing system and information providing program |
JP5023715B2 (en) * | 2007-01-25 | 2012-09-12 | 富士ゼロックス株式会社 | Information processing system, information processing apparatus, and program |
JP2008305094A (en) * | 2007-06-06 | 2008-12-18 | Canon Inc | Documentation management method and its apparatus |
JP5294002B2 (en) * | 2008-07-22 | 2013-09-18 | 株式会社日立製作所 | Document management system, document management program, and document management method |
JP5213758B2 (en) * | 2009-02-26 | 2013-06-19 | 三菱電機株式会社 | Information processing apparatus, information processing method, and program |
JP2011022705A (en) | 2009-07-14 | 2011-02-03 | Hitachi Ltd | Trail management method, system, and program |
JP5264643B2 (en) * | 2009-07-28 | 2013-08-14 | 日本電信電話株式会社 | Content distribution monitoring method and system, and apparatus and program used in this system |
JP5630193B2 (en) * | 2010-10-08 | 2014-11-26 | 富士通株式会社 | Operation restriction management program, operation restriction management apparatus, and operation restriction management method |
JP5621490B2 (en) * | 2010-10-08 | 2014-11-12 | 富士通株式会社 | Log management program, log management apparatus, and log management method |
US20120215908A1 (en) * | 2011-02-18 | 2012-08-23 | Hitachi, Ltd. | Method and system for detecting improper operation and computer-readable non-transitory storage medium |
JP5701096B2 (en) * | 2011-02-24 | 2015-04-15 | 三菱電機株式会社 | File tracking apparatus, file tracking method, and file tracking program |
US9384177B2 (en) | 2011-05-27 | 2016-07-05 | Hitachi, Ltd. | File history recording system, file history management system and file history recording method |
CN112199936B (en) * | 2020-11-12 | 2024-01-23 | 深圳供电局有限公司 | Intelligent analysis method and storage medium for repeated declaration of scientific research projects |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001023297A (en) * | 1999-07-02 | 2001-01-26 | Sharp Corp | Contents distribution control device and program recording medium |
JP2001136363A (en) * | 1999-11-02 | 2001-05-18 | Nippon Telegraph & Telephone West Corp | Contents use acceptance managing method and its device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0581096A (en) * | 1991-09-19 | 1993-04-02 | Matsushita Electric Ind Co Ltd | Page deletion system for electronic filing device |
JP3584540B2 (en) * | 1995-04-20 | 2004-11-04 | 富士ゼロックス株式会社 | Document copy relation management system |
JPH0944432A (en) * | 1995-05-24 | 1997-02-14 | Fuji Xerox Co Ltd | Information processing method and information processor |
JPH0950410A (en) * | 1995-06-01 | 1997-02-18 | Fuji Xerox Co Ltd | Information processing method and information processor |
US5926812A (en) * | 1996-06-20 | 1999-07-20 | Mantra Technologies, Inc. | Document extraction and comparison method with applications to automatic personalized database searching |
JPH10133934A (en) * | 1996-09-05 | 1998-05-22 | Fujitsu Ltd | Distributed document managing system and program storing medium realizing it |
US5940830A (en) * | 1996-09-05 | 1999-08-17 | Fujitsu Limited | Distributed document management system |
JP3832077B2 (en) * | 1998-03-06 | 2006-10-11 | 富士ゼロックス株式会社 | Document management device |
US6633882B1 (en) * | 2000-06-29 | 2003-10-14 | Microsoft Corporation | Multi-dimensional database record compression utilizing optimized cluster models |
-
2004
- 2004-01-21 WO PCT/US2004/001530 patent/WO2004066086A2/en active Application Filing
- 2004-01-21 EP EP04704049A patent/EP1590748A4/en not_active Withdrawn
- 2004-01-21 CA CA2553654A patent/CA2553654C/en not_active Expired - Lifetime
- 2004-01-21 JP JP2006501066A patent/JP4667362B2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001023297A (en) * | 1999-07-02 | 2001-01-26 | Sharp Corp | Contents distribution control device and program recording medium |
JP2001136363A (en) * | 1999-11-02 | 2001-05-18 | Nippon Telegraph & Telephone West Corp | Contents use acceptance managing method and its device |
Also Published As
Publication number | Publication date |
---|---|
JP2006516775A (en) | 2006-07-06 |
CA2553654C (en) | 2014-04-22 |
EP1590748A2 (en) | 2005-11-02 |
WO2004066086A2 (en) | 2004-08-05 |
CA2553654A1 (en) | 2004-08-05 |
EP1590748A4 (en) | 2008-07-30 |
WO2004066086A3 (en) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7490116B2 (en) | Identifying history of modification within large collections of unstructured data | |
JP4667362B2 (en) | Identifying similarity and revision history in large unstructured data sets | |
US8965925B2 (en) | Access controls | |
US7610285B1 (en) | System and method for classifying objects | |
US8627403B1 (en) | Policy applicability determination | |
US9244975B2 (en) | Just-in-time analytics on large file systems | |
US7797323B1 (en) | Producing representative hashes for segments of a file | |
CN102054022B (en) | Systems and methods for processing and managing object-related data for use by a plurality of applications | |
US20180300494A1 (en) | Method of identifying and tracking sensitive data and system thereof | |
US8914412B2 (en) | Determining file ownership of active and inactive files based on file access history | |
US10417265B2 (en) | High performance parallel indexing for forensics and electronic discovery | |
US11030054B2 (en) | Methods and systems for data backup based on data classification | |
US8965941B2 (en) | File list generation method, system, and program, and file list generation device | |
US20130066874A1 (en) | Systems and methods for probabilistic data classification | |
US11113148B2 (en) | Methods and systems for metadata tag inheritance for data backup | |
KR20060044563A (en) | Method for duplicate detection and suppression | |
US11853415B1 (en) | Context-based identification of anomalous log data | |
US20140122540A1 (en) | Dimensional Reduction Mechanisms for Representing Massive Communication Network Graphs for Structural Queries | |
US8290962B1 (en) | Determining the relationship between source code bases | |
US11914869B2 (en) | Methods and systems for encryption based on intelligent data classification | |
US20200210382A1 (en) | System and method of deletion of files and counteracting their restoration | |
US8533150B2 (en) | Search index generation apparatus | |
US9734195B1 (en) | Automated data flow tracking | |
US11526506B2 (en) | Related file analysis | |
Abdalla et al. | NoSQL: Robust and efficient data management on deduplication process by using a mobile application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100608 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100825 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101126 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101221 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4667362 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |