JP2011100457A - 複数のアプリケーションが使用するオブジェクト関連データを処理し管理するシステムおよび方法 - Google Patents

複数のアプリケーションが使用するオブジェクト関連データを処理し管理するシステムおよび方法 Download PDF

Info

Publication number
JP2011100457A
JP2011100457A JP2010248996A JP2010248996A JP2011100457A JP 2011100457 A JP2011100457 A JP 2011100457A JP 2010248996 A JP2010248996 A JP 2010248996A JP 2010248996 A JP2010248996 A JP 2010248996A JP 2011100457 A JP2011100457 A JP 2011100457A
Authority
JP
Japan
Prior art keywords
data object
application
index
applications
data
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.)
Granted
Application number
JP2010248996A
Other languages
English (en)
Other versions
JP5586425B2 (ja
Inventor
Russell Stringham
ラッセル・ストリンガム
Eduardo Suarez
エドゥアルド・シュアレス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2011100457A publication Critical patent/JP2011100457A/ja
Application granted granted Critical
Publication of JP5586425B2 publication Critical patent/JP5586425B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/328Management therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数のアプリケーションが使用するオブジェクト関連データを処理し管理するシステムおよび方法を提供する。
【解決手段】複数のアプリケーションが使用するデータのインデックスを作成するコンピュータにより実施される方法は、複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信し、共通形式データオブジェクトをトークン化して、データオブジェクトからトークンを抽出すること、およびデータオブジェクトから抽出されたトークンのインデックスを作成することを含み、インデックスは、複数のアプリケーションのそれぞれにより利用されるようにフォーマットされる。また、複数のアプリケーションがアクセス可能なデータベースにインデックスを記憶することを含み、さらに複数のアプリケーションは2つ以上のアプリケーションタイプを含み得る。
【選択図】図2

Description

システム上のコンピュータファイルからデータを収集しインデックスを作成するいくつかのソフトウェアアプリケーションがある。例えば、検索エンジンは、多くの場合、複数のファイルからのデータのインデックスを作成し、インデックス作成されたデータを利用して、ファイル内の特定のファイルコンテンツを高速検索する。データ損失回避、スパムフィルタリング、コンテンツ管理、アーカイブ、およびバックアップの目的で使用される様々なアプリケーションは、システム上のファイルのインデックスも生成し利用し得る。多くの場合、ファイルインデックスを使用する各アプリケーションは、他のプログラムとは別個にファイルインデックスを生成しなければならない。したがって、システム上のいくつかの異なるアプリケーションのそれぞれが、同じプログラムファイルのインデックスを作成し得る。
ファイルインデックスは、検索等のプロセスを効率的に行えるようにし得るが、ファイルインデックスの作成には、多くの場合、大量の処理リソースが使用される。多くのファイルは、インデックスを作成するために直接、構文解析することができない。むしろ、ファイルをまず、HTMLまたは平文等の共通形式に変換しなければならない。したがって、様々なインデックス作成プログラムを実行するシステムは、様々なシステムファイルを異なるアプリケーションで複数回、インデックス作成する時間およびリソースを無駄にし得る。インデックス作成プロセスは、システム帯域幅および入/出力性能にも大きな負担をかけ得る。したがって、本開示は、システム上の複数のアプリケーションにより実行されるインデックス作成機能を統合するシステムおよび方法に対する必要性を特定し、その必要性に対処する。
さらに詳細に後述するように、本開示は一般に、複数のアプリケーションが使用するデータのインデックスを作成するシステムおよび方法に関する。特定の実施形態によれば、複数のアプリケーションが使用するデータのインデックスを作成するコンピュータにより実施される方法は、複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信すること、データオブジェクトをトークン化して、データオブジェクトからトークンを抽出すること、データオブジェクトから抽出されたトークンのインデックスを作成すること(インデックスは、複数のアプリケーションのそれぞれにより利用されるようにフォーマットされる)、および複数のアプリケーションがアクセス可能なデータベースにインデックスを記憶することを含み得る。複数のアプリケーションは、2つ以上のアプリケーションタイプを含み得る。共通形式データオブジェクトは、マークアップ言語(例えば、HTMLもしくはXML)および/または平文のうちの少なくとも1つを含み得る。
いくつかの実施形態において、データオブジェクトは、少なくとも1つのプログラムタイプによりアクセスされるように構成されたプログラム固有データを含み得、本方法は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換することをさらに含み得る。本方法は、複数のアプリケーションのうちの第2のアプリケーションから、インデックス要求を受信すること、および第2のアプリケーションによるデータベースへのアクセスを許可することも含み得る。
本方法は、プログラム固有データオブジェクトに関連するメタデータおよび/またはプログラム固有データオブジェクトに関連する隠しファイルのうちの少なくとも1つを生成することをさらに含み得る。本方法は、プログラム固有データオブジェクトのデータ分類を実行すること、ならびにデータ分類結果を共通形式データオブジェクトおよび/またはインデックスのうちの少なくとも一方に関連付けることも含み得る。少なくとも1つの例では、データ分類結果を共通形式データオブジェクトに関連付けることは、データ分類結果を参照するデータタグを作成することを含み得る。いくつかの例では、データ分類を実行することは、インデックスメタデータ、インデックスコンテンツ、抽出されたパターン、および/または抽出されたエンティティのうちの少なくとも1つに基づいて、プログラム固有データオブジェクト内のデータを分類することを含み得る。
いくつかの実施形態によれば、本方法は、プログラム固有データオブジェクトのデータ分類に基づいて少なくとも1つのポリシーを実行することをさらに含み得る。少なくとも1つのポリシーは、スパムポリシー、ウィルス対策ポリシー、データ損失回避ポリシー、知的財産漏出回避ポリシー、アーカイブポリシー、バックアップポリシー、コンテンツ管理ポリシー、法遵守ポリシー、および/または電子情報開示ポリシーのうちの少なくとも1つを含み得る。いくつかの例では、複数のアプリケーションタイプは、検索エンジン、アーカイブアプリケーション、データ損失回避アプリケーション、スパムフィルタリングアプリケーション、ウィルス対策アプリケーション、バックアップアプリケーション、コンテンツ管理アプリケーション、法遵守アプリケーション、および/または電子情報開示アプリケーションのうちの2つ以上を含み得る。
様々な実施形態によれば、第1のアプリケーションは、プログラム固有データオブジェクトを共通形式データオブジェクトに変換すること、共通形式データオブジェクトをトークン化すること、インデックスを作成すること、プログラム固有データオブジェクトのデータ分類を実行すること、および/または共通形式データオブジェクトに対して言語検出を実行することのうちの少なくとも1つを実行し得る。いくつかの例では、第1のアプリケーションは、プログラム固有データオブジェクトを共通形式データオブジェクトに変換すること、共通形式データオブジェクトをトークン化すること、インデックスを作成すること、プログラム固有データオブジェクトのデータ分類を実行すること、および/または共通形式データオブジェクトに対して言語検出を実行することのうちの少なくとも1つを実行するように第3のアプリケーションに命令し得る。
様々な例では、本方法は、データオブジェクトの言語検出、データオブジェクトのパターン検出、および/またはデータオブジェクトのエンティティ抽出のうちの少なくとも1つを実行することを含み得る。本方法は、複数のアプリケーションのうちの第2のアプリケーションから、インデックス要求を受信すること、および第2のアプリケーションによるインデックスへのアクセスを許可することをさらに含み得る。
少なくとも1つの実施形態では、複数のアプリケーションが使用するデータのインデックスを作成するコンピュータにより実施される方法は、複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信すること、共通形式データオブジェクトをトークン化して、データオブジェクトからトークンを抽出すること、データオブジェクトから抽出されたトークンのオブジェクトインデックスを作成すること(オブジェクトインデックスは複数のアプリケーションのそれぞれが利用するためにフォーマットされる)、および複数のデータオブジェクトに関連するインデックス作成情報を含むマスタインデックスにオブジェクトインデックスを組み込むこと(マスタインデックスは複数のアプリケーションによりアクセス可能である)を含み得る。複数のアプリケーションは、2つ以上のアプリケーションタイプを含み得る。少なくとも1つの例では、マスタインデックスは、複数のアプリケーションのうちの2つ以上から受信した複数のオブジェクトインデックスを含み得る。
いくつかの実施形態では、複数のアプリケーションが使用するデータのインデックスを作成するシステムは、複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信するようにプログラムされた通信モジュールを含み得る。このシステムは、共通形式データオブジェクトをトークン化して、データオブジェクトからトークンを抽出するようにプログラムされたトークン化モジュールおよびデータオブジェクトから抽出されたトークンのインデックスを作成するようにプログラムされたインデックス作成モジュールも含み得る。本システムは、インデックスを記憶するデータベースをさらに含み得、このデータベースは複数のアプリケーションによりアクセス可能である。
いくつかの例では、本システムは、プログラム固有データオブジェクトを共通形式データオブジェクトに変換するようにプログラムされた変換モジュール、共通形式データオブジェクトに対して言語検出を実行するようにプログラムされた言語検出モジュール、プログラム固有データオブジェクトのデータ分類を実行するようにプログラムされた分類モジュール、およびデータアクセスを許可されたアプリケーションに制限するようにプログラムされたセキュリティモジュールも含み得る。
添付図面にいくつかの例示的な実施形態を示し、添付図面は本明細書の一部である。以下の説明と併せて、これら図面は本開示の様々な原理を実証し説明する。
複数のアプリケーションが使用するデータのインデックスを作成する例示的なシステムのブロック図である。 複数のアプリケーションが使用するデータのインデックスを作成する別の例示的なシステムのブロック図である。 複数のアプリケーションが使用するデータのインデックスを作成する別の例示的なシステムのブロック図である。 複数のアプリケーションが使用するデータのインデックスを作成する別の例示的なシステムのブロック図である。 複数のアプリケーションが使用するデータのインデックスを作成する例示的な方法の流れ図である。 複数のアプリケーションが使用するデータのインデックスを作成する別の例示的な方法の流れ図である。 本明細書において説明し、かつ/または示される実施形態のうちの1つまたは複数を実施可能な例示的な計算システムのブロック図である。 本明細書において説明され、かつ/または示される実施形態のうちの1つまたは複数を実施可能な例示的な計算ネットワークのブロック図である。
図面全体を通して、同一の参照文字および説明は、同様であるが必ずしも同一である必要はない要素を示す。本明細書において説明される例示的な実施形態には様々な変更および代替の形態が可能であるが、特定の実施形態が例として図面に示されており、それら特定の実施形態について本明細書において詳細に説明する。しかし、本明細書において説明される例示的な実施形態は、開示される特定の形態への限定を意図しない。むしろ、本開示は、添付の特許請求の範囲内に入るすべての変更、均等物、および代替を包含する。
さらに詳細に後述するように、本開示は一般に、複数のアプリケーションが使用するデータのインデックスを作成する様々な方法およびシステムに関する。本開示の実施形態は、システム内の複数のアプリケーションのうちの第1のアプリケーションが、データオブジェクト(例えば、PDFファイル、DOCファイル、XLSファイル、PPTファイル、またはMSGファイル)のインデックスを作成できるようにし得る。データオブジェクトのインデックスは、システム内の複数のアプリケーションのそれぞれがアクセス可能であり、システム内の複数のアプリケーションのそれぞれが利用可能なデータベースに記憶し得る。したがって、複数のアプリケーションのそれぞれがデータオブジェクトのインデックスを別個に生成する必要があることに代えて、本明細書において開示される方法およびシステムは、データオブジェクトに遭遇した第1のアプリケーションが、複数のアプリケーションのそれぞれがアクセス可能なインデックスを生成できるようにし得る。
例えば、第1のアプリケーションは、プログラム固有データオブジェクトを受信し、プログラム固有データオブジェクトを共通形式データオブジェクト(例えば、HTML、XML、または平文ドキュメント)に変換し得る。次に、第1のアプリケーションは、共通形式データオブジェクトをトークン化し、共通形式データオブジェクトから抽出されたトークンのインデックスを作成し得る(例えば、ワード、フィールド、および/またはメタデータタグ)。インデックスは、複数のアプリケーション(例えば、検索エンジン、データ損失回避アプリケーション、スパムフィルタリングアプリケーション、ウィルス対策アプリケーション、コンテンツ管理アプリケーション、アーカイブアプリケーション、および/またはバックアップアプリケーション)のそれぞれが使用するようにフォーマットし得る。次に、インデックスを、複数の異なるアプリケーションがアクセス可能なデータベースに記憶し得る。
以下に、図1〜図4を参照して、複数のアプリケーションが使用するデータのインデックスを作成する例示的なシステムの詳細な説明を提供する。対応するコンピュータにより実施される方法の詳細な説明も、図5および図6に関連して提供される。さらに、本明細書において説明される実施形態のうちの1つまたは複数を実施可能な例示的な計算システムおよびネットワークアーキテクチャの詳細な説明も図7および図8のそれぞれに関連して提供する。
図1は、複数のアプリケーションが使用するデータのインデックスを作成する例示的なシステム100のブロック図である。例示的なシステム100は、1つまたは複数のタスクを実行する1つまたは複数のモジュール110を含み得る。図1に示すように、モジュール110は、通信モジュール112、セキュリティモジュール113、変換モジュール114、言語検出モジュール115、トークン化モジュール116、インデックス作成モジュール117、分類モジュール118、およびデータ共有モジュール119を含み得る。
通信モジュール112は、少なくとも1つのプログラムタイプによりアクセスされるように構成されたプログラム固有データオブジェクト等のデータオブジェクトを受信するようにプログラムし得る。セキュリティモジュール113は、セキュリティポリシーに基づいて、インデックスおよび分類データ等のデータに対する要求をフィルタリングして、関連するデータおよびメタデータのみが許可されたアプリケーションおよびユーザに転送されることを保証するようにプログラムし得る。変換モジュール114は、データオブジェクトを共通形式データオブジェクトに変換するようにプログラムし得る。言語検出モジュール115は、データオブジェクトに言語検出を実行するようにプログラムし得る。トークン化モジュール116は、言語検出後に、データオブジェクトからトークンを抽出することにより、データオブジェクトをトークン化するようにプログラムし得る。インデックス作成モジュール117は、データオブジェクトから抽出されたトークンのインデックスを作成するようにプログラムし得る。分類モジュール118は、データオブジェクトのデータ分類を実行するようにプログラムし得る。データ共有モジュール119は、複数のアプリケーションとインデックスを共有するようにプログラムし得る。図1のモジュール110のうちの1つまたは複数は、別個の要素として示されるが、単一のモジュールまたはアプリケーションの部分を表してもよい。
特定の実施形態では、図1のモジュール110のうちの1つまたは複数は、計算装置により実行された場合、計算装置に1つまたは複数のタスクを実行させ得る1つまたは複数のソフトウェアアプリケーションまたはプログラム(例えば、検索ソフトウェア、データ損失回避ソフトウェア、スパムフィルタリングソフトウェア、コンテンツ管理ソフトウェア、アーカイブソフトウェア、および/またはバックアップソフトウェア)を表し得る。例えば、さらに詳細に後述するように、モジュール110のうちの1つまたは複数は、図2に示されるアプリケーション(すなわち、第1のアプリケーション212、第2のアプリケーション222、および/またはデータベースサブシステム230)、図3に示されるアプリケーションおよび装置(すなわち、第1のアプリケーション312、第2のアプリケーション322、第3のアプリケーション332、および/またはデータベースサブシステム340)、図4に示されるアプリケーションおよび装置(すなわち、第1のアプリケーション412、第2のアプリケーション422、および/または企業アプリケーション432)、図7の計算システム710、ならびに/あるいは図8の例示的なネットワークアーキテクチャ800の部分等の1つまたは複数の計算アプリケーションおよび/または装置で実行されるように構成された記憶されたソフトウェアモジュールを表し得る。図1のモジュール110のうちの1つまたは複数は、1つまたは複数のタスクを実行するように構成された1つまたは複数の専用コンピュータのすべてまたは部分も表し得る。
図1に示すように、例示的なシステム100は1つまたは複数のデータベース120も含み得る。データベース120は、単一のデータベースもしくは計算装置の部分または複数のデータベースもしくは計算装置を表し得る。示されるように、データベース120は、データオブジェクトのインデックスを記憶するインデックスデータベース122を含み得る。データベース120は、共通形式データオブジェクト等のデータオブジェクトを記憶するデータオブジェクトデータベース124およびデータオブジェクトに関連する分類データを記憶する分類データベース126も記憶し得る。いくつかの実施形態では、データベースのうちの1つまたは複数はインデックス自体であってもよい。
図1のデータベース120は、1つまたは複数の計算装置の部分を表し得る。例えば、データベース120は、図2のデータベースサブシステム230の部分、図3のデータベースサブシステム340の部分、図4の企業データベース434の部分、図7の計算システム710の部分、および/または図8の例示的なネットワークアーキテクチャ800の部分を表し得る。あるいは、図1のデータベース120は、図2のデータベースサブシステム230、図3のデータベースサブシステム340、図4の企業データベース434、図7の計算システム710、および/または図8の例示的なネットワークアーキテクチャ800の部分等の、計算装置がアクセス可能な物理的に別個の1つまたは複数の装置を表し得る。
少なくとも1つの実施形態では、システム100のすべてまたは部分は、物理的に単一の計算装置で実行されるように構成し得る。例えば、システム100のすべてまたは部分は、単一の計算装置で実行されるように構成された複数の異なるアプリケーションを含み得る。さらなる実施形態では、システム100は、複数のネットワーク化された計算装置等の複数の計算装置で実行されるように構成し得る。
いくつかの実施形態では、例示的なシステム100のすべてまたは部分は、図2に示すネットワークベースのシステム200の部分を表し得る。図2は、複数のアプリケーションが使用するデータのインデックスを作成する例示的なシステム200のブロック図である。この図に示すように、例示的なシステム200は、第2の計算サブシステム220と通信する第1の計算サブシステム210と、ネットワーク240を介して接続されたデータベースサブシステム230とを含み得る。いくつかの実施形態では、例示的なシステム200のすべてまたは部分は、クラウド計算環境の部分を表し得る。クラウド計算環境は、インターネットを介して様々なサービスおよびアプリケーションを提供し得る。
第1の計算サブシステム210および第2の計算サブシステム220は、1つまたは複数の計算装置に配置し得る。例えば、第1の計算サブシステム210および第2の計算サブシステム220は、単一の計算装置に配置し得る。さらなる例では、第1の計算サブシステム210は第1の計算装置に配置し、第2の計算サブシステム220は、第1の計算装置とは別個の第2の計算装置に配置し得る。第1の通信サブシステム210および/または第2の通信サブシステム220を含む計算装置は一般に、例えば、ラップトップ、デスクトップ、サーバ、埋め込みシステム、これらのうちの1つもしくは複数の組み合わせ、図7の例示的な計算システム、または任意の他の適した計算装置等のコンピュータ実行可能命令を読み取り可能な任意の種類または形態の計算装置を表す。
様々な実施形態によれば、データベースサブシステム230は、データ記憶サービスおよび/またはデータ共有サービスを提供可能な任意の種類または形態の計算装置を表し得る。データベースサブシステム230の例としては、様々な種類の計算装置(例えば、第1の計算サブシステム210および第2の計算サブシステム220に関して列挙されたもの)、特定のソフトウェアアプリケーションを実行するように構成されたアプリケーションサーバ、ならびに/あるいは様々なデータベースサービスを提供するように構成されたデータベースサーバが挙げられるが、これらに限定さない。いくつかの例では、データベースサブシステム230は、第1の計算サブシステム210および/または第2の計算サブシステム220とは別個の計算装置に配置し得る。さらなる例では、データベースサブシステム230は、第1の計算サブシステム210および/または第2の計算サブシステム220と同じ計算装置に配置し得る。
ネットワーク240は一般に、通信またはデータ転送に役立つことが可能な任意の媒体またはアーキテクチャを表す。ネットワーク240の例としては、イントラネット、広域ネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、パーソナルエリアネットワーク(「PAN」)、インターネット、電力線通信(「PLC」)、セルラネットワーク(例えば、GSMネットワーク)、図8の例示的なネットワークアーキテクチャ800の少なくとも部分、またはこれらと同様のものが挙げられるが、これらに限定されない。ネットワーク240は、無線接続および/または有線接続を使用する通信またはデータ転送に役立ち得る。一実施形態では、ネットワーク240は、第1の計算サブシステム210、第2の計算サブシステム220、および/またはデータベースサブシステム230の間の通信に役立ち得る。
図2に示すように、第1の計算サブシステム210は第1のアプリケーション212を含み、第2の計算サブシステム220は第2のアプリケーション222を含み得る。第1のアプリケーション212および第2のアプリケーション222は一般に、様々なコンピュータ実行可能命令を実行可能な任意の種類のソフトウェアアプリケーションを表す。第1のアプリケーション212および第2のアプリケーション222の例としては、検索エンジン、アーカイブアプリケーション、バックアップアプリケーション、データ損失回避アプリケーション、スパムフィルタリングアプリケーション、ウィルス対策アプリケーション、法遵守アプリケーション、電子情報開示アプリケーション、コンテンツ管理アプリケーション、および/またはインデックス作成機能を実行可能なアプリケーション等の任意の他の適したアプリケーションが挙げられるが、これらに限定されない。
少なくとも1つの実施形態によれば、第1のアプリケーション212は、通信モジュール112(a)、セキュリティモジュール113(a)、変換モジュール114、トークン化モジュール116、インデックス作成モジュール117、および分類モジュール118(a)を含み得る。通信モジュール112(a)は、第1の計算サブシステム210および/またはネットワーク240に接続されたアプリケーション等の1つまたは複数のアプリケーションにデータを送信し、かつ/または1つまたは複数のアプリケーションからデータを受信し得る。いくつかの例では、通信モジュール112(a)は、プログラム固有のデータファイルおよび/またはドキュメント(例えば、DOCファイル、PDFファイル、XLSファイル、PPTファイル、および/またはMSGファイル)等の様々なデータオブジェクトを送信し、かつ/または受信し得る。通信モジュール112(a)が送信し、かつ/または受信し得るデータオブジェクトの例としては、文書処理ファイル、ポータブルドキュメントファイル、スプレッドシートファイル、インスタントメッセージファイル、テキストメッセージファイル、マルチメディアプレゼンテーションファイル、電子メールファイル、テキストファイル、ハイパーテキストファイル、および/または任意の他の適したファイルタイプが挙げられるが、これらに限定されない。
通信モジュール112(a)は、例えば、文書処理プログラム、ポータブルドキュメント閲覧および/または編集プログラム、スプレッドシートプログラム、インスタントメッセージプログラム、テキストメッセージプログラム、マルチメディアプレゼンテーションプログラム、電子メールプログラム、ならびに/あるいは任意の他の適したソフトウェアプログラムタイプ等の少なくとも1つのプログラムタイプがアクセス可能なように構成されたプログラム固有データオブジェクトを受信するようにプログラムし得る。少なくとも1つの実施形態によれば、第1のアプリケーション212は、システム200内の第2のアプリケーション222等の他のアプリケーションよりも先に、プログラム固有データオブジェクトを受信し得る。
いくつかの例では、第1のアプリケーション212は、プログラム固有データオブジェクトが、システム200内の第2のアプリケーション222等の別のアプリケーションにより以前に受信され、インデックス作成され、かつ/または記憶されたか否かを判断し得る。例えば、第1のアプリケーション212は、プログラム固有データオブジェクトに関連する、インデックス付きデータ等のデータを要求する要求をデータベースサブシステム230のデータ共有モジュール119に送信し得る。第1のアプリケーション212は、プログラム固有データオブジェクトに関連する要求されたデータが、データベースサブシステム230またはシステム200の他のロケーションに記憶されていないことを示す応答をデータベースサブシステム230から受信する場合、プログラム固有データオブジェクトのインデックスを作成することに進み得る。第1のアプリケーション212は、名称、ロケーション、サイズ、作成日、最後に更新された日付け、および/またはオブジェクトの指紋等のオブジェクトに関連するメタデータを使用して、以前に見たことがあるオブジェクトであるか否かを判断し得る。指紋は、MD5もしくはSHA−1等のハッシュもしくはチェックサム、または任意の他の適したハッシュアルゴリズムからなり得る。
変換モジュール114は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し得る。例えば、変換モジュール114は、DOCファイル、PDFファイル、XLPファイル、PPTファイル、および/またはMSGファイル等のプログラム固有データオブジェクトをHTML、XML、および/またはテキストファイル等の共通形式データオブジェクトに変換し得る。言語検出モジュール115は、言語検出を共通形式データオブジェクトに対して実行し得る。次に、トークン化モジュール116は、共通形式データオブジェクトをトークン化し得る。トークン化は、共通形式データオブジェクト内のワードおよび/または他の有意単位(例えば、タグ、漢字、および/またはサブワード)等のトークンの識別および抽出を含み得る。いくつかの例では、共通形式データオブジェクトのトークン化は、共通形式データオブジェクト内で識別された様々なワードのステミングも含み得る。いくつかの例では、言語検出および/またはトークン化は、プログラム固有データオブジェクトに対して実行し得る。
インデックス作成モジュール117は続けて、トークン化モジュール116により抽出されたトークン等の、共通形式データオブジェクトおよび/またはプログラム固有データオブジェクトから抽出されたトークンのインデックスを作成し得る。インデックス作成モジュール117により作成されたインデックスは、複数の異なるアプリケーションタイプがそのインデックスを利用できるようにフォーマットし得る。例えば、インデックスは、検索エンジン、アーカイブアプリケーション、データ損失回避アプリケーション、スパムフィルタリングアプリケーション、ウィルス対策アプリケーション、コンテンツ管理アプリケーション、法遵守アプリケーション、電子情報開示アプリケーション、および/またはシステム200に記憶されたデータオブジェクトのインデックスを利用するように構成された任意の他の適したアプリケーションタイプのうちの1つまたは複数により利用されるようにフォーマットし得る。様々な実施形態によれば、分類モジュール118(a)は、プログラム固有データオブジェクトのデータ分類を実行し得る。分類データは、1つまたは複数のアプリケーションにより、データオブジェクトを容易に識別し、かつ/または分類するために使用され得る。少なくとも1つの実施形態によれば、インデックス作成前に、データオブジェクトの何等かの分類を実行し得る。例えば、データオブジェクトのインデックス作成前に、分類およびパターン検出に利用される正規表現(例えば、REGEX)を実行し得る。さらなる例では、パターン検出およびエンティティ抽出は、インデックス作成前にデータに対して実行してもよい。
様々な実施形態によれば、第2のアプリケーション222は、通信モジュール112(b)、セキュリティモジュール113(b)、および分類モジュール118(b)を含み得る。通信モジュール112(b)は、第2の計算サブシステム220および/またはネットワーク240に接続されたアプリケーション等の1つまたは複数のアプリケーションにデータを送信し、かつ/または1つまたは複数のアプリケーションからデータを受信し得る。分類モジュール118(b)は、通信モジュール112(b)により受信されたデータのデータ分類を実行し得る。少なくとも1つの例によれば、第2のアプリケーション222は、第1のアプリケーション212を参照して上述したものと同様の変換モジュール、言語検出モジュール、トークン化モジュール、およびインデックス作成モジュールも含み得る。いくつかの例では、第2のアプリケーション222は、第1のアプリケーション212よりも先にプログラム固有データオブジェクトを受信し得る。そのような例では、第2のアプリケーション222は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し、言語検出を共通形式データオブジェクトに実行し、共通形式データオブジェクトをトークン化し、かつ/または共通形式データオブジェクトのインデックスを作成し得る。
データベースサブシステム230は、インデックスデータベース122、データオブジェクトデータベース124、分類データベース126、および/またはデータ共有モジュール119を含み得る。インデックスデータベース122は、例えば、インデックス作成モジュール117により作成されたデータオブジェクトのインデックス等の1つまたは複数のデータ要素インデックスを記憶し得る。少なくとも1つの実施形態によれば、インデックスデータベース122は、2つ以上のデータオブジェクトインデックスをまとめたものを含むマスタインデックスを含み得る。
データオブジェクトデータベース124は、プログラム固有データオブジェクトおよび/または共通形式データオブジェクトを記憶し得る。分類データベース126は、1つまたは複数のデータオブジェクトに関連する分類情報を記憶し得る。いくつかの実施形態では、インデックスデータベース122、データオブジェクトデータベース124、および/または分類データベース126を単一のインデックスに含め得る。データ共有モジュール119は、インデックス情報、分類情報、および/またはデータオブジェクトを、例えば、第1のアプリケーション212および/または第2のアプリケーション222等のネットワーク240に接続された1つまたは複数のアプリケーションと共有し得る。少なくとも1つの例によれば、データベースサブシステム230に記憶されるデータは、1つまたは複数のデータオブジェクトに関連し得る。
上述したように、図1の例示的なシステム100は、様々な方法で構成し得る。例えば、例示的なシステム100のすべてまたは部分は、図3に示す例示的なネットワークに基づくシステム300の部分を表し得る。図3は、複数のアプリケーションが使用するデータのインデックスを作成する例示的なネットワークに基づくシステム300のブロック図である。この図に示されるように、例示的なシステム300は、ネットワーク350を介して接続された第1の計算サブシステム310、第2の計算サブシステム320、およびデータベースサブシステム340を含み得る。ネットワーク350の例には、様々な種類のネットワーク(図2のネットワーク240に関して列挙されたもの等)が含まれるが、これらに限定されない。第1の計算サブシステム310、第2の計算サブシステム320、およびデータベースサブシステム340は、1つまたは複数の計算装置に配置し得る。例えば、第1の計算サブシステム310、第2の計算サブシステム320、および/またはデータベースサブシステム340は、単一の計算装置に配置してもよく、または2つ以上の別個の計算装置に配置してもよい。
様々な実施形態によれば、第1の計算サブシステム310は、通信モジュール112(a)と、セキュリティモジュール113(a)と、分類モジュール118(a)とを含む第1のアプリケーション312を含み、第2の計算サブシステム320は、通信モジュール112(b)と、セキュリティモジュール113(b)と、分類モジュール118(b)とを含む第2のアプリケーション322を含み得る。いくつかの例では、2つ以上のアプリケーションおよび/またはデータベース(例えば、デスクトップ検索アプリケーション、アーカイブアプリケーション、バックアップアプリケーション、および/またはデータ損失回避アプリケーション)を、パーソナルデスクトップコンピュータ等の単一の計算装置に配置し得る。例えば、図3に示すように、第2の計算サブシステム320は、第3のアプリケーション332も含み得る。様々な実施形態によれば、第3のアプリケーション332は、通信モジュール112(c)、セキュリティモジュール113(b)、変換モジュール114、言語検出モジュール115、トークン化モジュール116、インデックス作成モジュール117、および分類モジュール118(c)を含み得る。データベースサブシステム340は、インデックスデータベース122、データオブジェクトデータベース124、分類データベース126、およびデータ共有モジュール119を含み得る。第1の計算サブシステム310、第2の計算サブシステム320、およびデータベースサブシステム340の例には、様々な種類の計算装置(図2の第1の計算サブシステム210、第2の計算サブシステム220、およびデータベースサブシステム230に関して列挙したもの等)が挙げられるが、これらに限定されない。
少なくとも1つの実施形態によれば、第1のアプリケーション312は、第2のアプリケーション322または第3のアプリケーション332等のシステム300内の他のアプリケーションよりも先にプログラム固有データオブジェクトを受信し得る。例えば、第1のアプリケーション312の通信モジュール112(a)は、プログラム固有データオブジェクトを受信し得る。プログラム固有データオブジェクトを受信した後、第1のアプリケーション312は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し、データオブジェクトの言語検出を実行し、データオブジェクトをトークン化し、データオブジェクトのインデックスを作成し、かつ/またはデータオブジェクトを分類するように、別のアプリケーションに命令し得る。例えば、第1のアプリケーション312は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し、データオブジェクトに言語検出を実行し、データオブジェクトをトークン化し、データオブジェクトから抽出されたデータのインデックスを作成し、次に、オブジェクト内のデータに基づいて様々な分類をデータオブジェクトに割り当てるように、第3のアプリケーション332に命令し得る。
第3のアプリケーション332により生成されるインデックス付きデータは、データベースサブシステム340に記憶し得る。共通形式データオブジェクト、分類データ、および/または第3のアプリケーション332により生成される任意の他のデータも、データベースサブシステム340に記憶し得る。データベースサブシステム340は、第3のアプリケーション332により生成されたデータオブジェクトのインデックス等のインデックスに対する要求を第2のアプリケーション322(またはシステム300内の1つもしくは複数の他のアプリケーション)から受信し得る。いくつかの実施形態では、データベースサブシステム340は、例えば、分類データおよび/またはプログラム固有データオブジェクトの共通形式データオブジェクト表現を含むインデックスおよび/またはデータオブジェクトに関連する他のデータに対する要求も第2のアプリケーション322から受信し得る。少なくとも1つの例では、データベースサブシステム340のデータ共有モジュール119は、セキュリティモジュール113(d)により決定されるセキュリティポリシーに従って、要求されたデータへの第2のアプリケーション322によるアクセスを許可し得る。いくつかの実施形態では、データ共有モジュール119は、セキュリティモジュール113(d)により決定されるセキュリティポリシーに従って、要求されたデータを第2のアプリケーション322および/またはシステム300内の他のアプリケーションに送信し得る。
様々な実施形態によれば、例示的なシステム100のすべてまたは部分は、図4に示される例示的なネットワークに基づくシステム400の部分を表し得る。図4は、複数のアプリケーションが使用するデータのインデックスを作成する例示的なネットワークに基づくシステム400のブロック図である。この図に示されるように、例示的なシステム400は、ネットワーク440を介して接続された第1の計算サブシステム410、第2の計算サブシステム420、および企業サブシステム430を含み得る。ネットワーク440の例には、様々な種類のネットワーク(図2のネットワーク240に関して列挙したもの等)が含まれるが、これらに限定されない。
第1の計算サブシステム410、第2の計算サブシステム420、および企業サブシステム430は、1つまたは複数の計算装置に配置し得る。例えば、第1の計算サブシステム410、第2の計算サブシステム420、および/または企業サブシステム430は、単一の計算装置に配置してもよく、または2つ以上の別個の計算装置に配置してもよい。第1の計算サブシステム410、第2の計算サブシステム420、および企業サブシステム430の例には、様々な種類の計算装置(図2の第1の計算サブシステム210、第2の計算サブシステム220、およびデータベースサブシステム230に関して列挙したもの等)が含まれるが、これらに限定されない。
様々な実施形態によれば、第1の計算サブシステム410は、通信モジュール112(a)と、セキュリティモジュール113(a)と、分類モジュール118(a)とを含む第1のアプリケーション412を含み、第2の計算サブシステム420は、通信モジュール112(b)と、セキュリティモジュール113(b)と、分類モジュール118(b)とを含む第2のアプリケーション422を含み得る。企業サブシステム430は、通信モジュール112(c)と、セキュリティモジュール113(c)と、変換モジュール114と、言語検出モジュール115と、トークン化モジュール116と、インデックス作成モジュール117と、分類モジュール118(c)とを含む企業アプリケーション432を含み得る。様々な実施形態によれば、企業サブシステム430は、インデックスデータベース122と、データオブジェクトデータベース124と、分類データベース126と、データ共有モジュール119とを含む企業データベース434も含み得る。
企業サブシステム430は、例示的なシステム400内の第1の計算サブシステム410および第2の計算サブシステム420等の計算装置および/またはサブシステムにサービスを提供するようにプログラムされた計算サブシステムを含み得る。企業サブシステム430により提供されるサービスの例としては、データ検索および/または記憶サービスが挙げられるが、これらに限定されない。様々な実施形態によれば、企業サブシステム430により提供される異なるサービスは、複数の異なるソフトウェアアプリケーションタイプにより提供し得る。いくつかの例によれば、第1の計算サブシステム410および/または第2の計算サブシステム420も、様々なバックアップ動作、アーカイブ動作、セキュリティ動作、および/またはコンテンツ管理動作(例えば、アンチウィルス保護サービス、スパムフィルタリングサービス、およびデータ損失回避保護サービス)を実行し得る。第1の計算サブシステム410および/または第2の計算サブシステム420は、バックアップ動作、アーカイブ動作、セキュリティ動作、および/またはコンテンツ管理動作を実行するために、インデックスおよび分類データ等の、企業サブシステム430により得られるデータを利用し得る。
少なくとも1つの実施形態では、企業サブシステム430は、検索サービスおよび/または記憶サービス等のサービスをシステム400内の計算装置および/またはサブシステムに提供するようにプログラムされた企業アプリケーション432(例えば、企業検索機器、埋め込み検索エンジン、またはホストされる検索エンジン)を含み得る。例えば、企業アプリケーション432は、第1の計算サブシステム410および/または第2の計算サブシステム420上の1つまたは複数のデータオブジェクトの要素を検索するようにプログラムし得る。データオブジェクトの検索を容易にするために、変換モジュール114は、データオブジェクトを共通形式データオブジェクトに変換し、言語検出モジュール115は言語検出をデータオブジェクトに対して実行し、トークン化モジュール116はデータオブジェクトをトークン化し、インデックス作成モジュール117は1つまたは複数のデータオブジェクトのインデックスを作成し得る。企業アプリケーション432は、1つまたは複数のデータオブジェクトの検索要求を受信した場合、要求されるデータオブジェクトのインデックスを検索し得る。
少なくとも1つの実施形態によれば、第1のアプリケーション412は、システム400内の第2のアプリケーション422等の他のアプリケーションよりも先にプログラム固有データオブジェクトを受信し得る。例えば、第1のアプリケーション412の通信モジュール112(a)は、プログラム固有データオブジェクトを受信し得る。プログラム固有データオブジェクトを受信した後、第1のアプリケーション412は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し、データオブジェクトをトークン化し、かつ/またはデータオブジェクトのインデックスを作成するように、企業アプリケーション432に命令し得る。例えば、第1のアプリケーション412は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し、言語検出をデータオブジェクトに対して実行し、データオブジェクトをトークン化し、共通形式データオブジェクトから抽出されたトークンのインデックスを作成するように、企業アプリケーション432に命令し得る。
いくつかの例では、第1のアプリケーション412は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し、言語検出をデータオブジェクトに対して実行し、データオブジェクトをトークン化し、かつ/またはデータオブジェクトのインデックスを作成し得る。第1のアプリケーション412により作成されたデータオブジェクトのインデックスならびに/あるいは共通形式データオブジェクトおよび/または任意の関連する分類データ等のプログラム固有データオブジェクトに関連する任意の他の適したデータは、第1のアプリケーション412から企業アプリケーション432に転送し得る。
いくつかの実施形態では、第1のアプリケーション412は、プログラム固有データオブジェクトが、第2のアプリケーション422等の1つまたは複数の他のアプリケーションによりシステム400内で以前に受信、変換、インデックス作成、かつ/または他の様式で記憶されたか否かを判断し得る。例えば、第1のアプリケーション412は、プログラム固有データオブジェクトに関連するインデックス付きデータ等のデータを要求する要求を企業アプリケーション432のデータ共有モジュール119に送信し得る。第1のアプリケーション412が、プログラム固有データオブジェクトに関連する要求されたデータが企業データベース434またはシステム400内の他のロケーションに記憶されていないことを示す応答を企業アプリケーション432から受信した場合、第1のアプリケーション412は、プログラム固有データオブジェクトのインデックス作成に進んでもよく、かつ/またはプログラム固有データオブジェクトのインデックスを作成するように、企業アプリケーション432に命令してもよい。
図5は、複数のアプリケーションが使用するデータのインデックスを作成するコンピュータにより実施される例示的な方法500の流れ図である。図5に示されるステップは、任意の適したコンピュータ実行可能コードおよび/または計算システムにより実行し得る。いくつかの実施形態では、図5に示されるステップは、さらに詳細に後述するように、図1のシステム100の構成要素のうちの1つもしくは複数、図2のシステム200のサブシステムのうちの1つもしくは複数、図3のシステム300のサブシステムのうちの1つもしくは複数、および/または図4のシステム400のサブシステムのうちの1つもしくは複数により実行し得る。
図5のステップ510において、システムは、複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信し得る。少なくとも1つの例では、データオブジェクトは、少なくとも1つのプログラムタイプによりアクセスされるように構成されたプログラム固有データオブジェクトを含み得る。例えば、通信モジュール112は、文書処理ファイル等のプログラム固有データオブジェクトを受信し得る。通信モジュール112は、様々なコンテキストでデータオブジェクトを受信し得る。例えば、通信モジュール112は、インデックス作成プロセス中にプログラム固有データオブジェクトを識別し、そのプログラム固有データオブジェクトのインデックスが別のアプリケーションによりまだ作成されていないと判断することにより、データオブジェクトを受信し得る。いくつかの実施形態では、通信モジュール112は、バックアップアプリケーションおよび/またはデスクトップ検索アプリケーション等のインデックス作成を実行するアプリケーションと共に含められるプラグイン(または他のコード)を含み得る。
複数のアプリケーションは、2つ以上のアプリケーションタイプを含み得る。例えば、図2の第1のアプリケーション212および第2のアプリケーション222のそれぞれが異なるアプリケーションタイプを含み得る。説明のために、第1のアプリケーション212は、システム200内でインデックス付きデータオブジェクトのデータ検索を行うようにプログラムされたアプリケーションを含み得る。他方、第2のアプリケーション222は、システム200内でデータオブジェクトのバックアップファイルを作成するように構成し得る。第2のアプリケーション222は、バックアップのため、およびバックアップされたデータを後に検索するために、データオブジェクトに関連するインデックスデータを使用し得る。第1のアプリケーション212および第2のアプリケーション222は両方とも、システムのインデックスデータベース122等のデータベースに記憶されたインデックスを利用し得る。
いくつかの実施形態では、データオブジェクトはプログラム固有データオブジェクトであり、システムは、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し得る。例えば、変換モジュール114は、文書処理ファイルを、2つ以上のアプリケーションタイプが容易に読み取り、かつ/または他の様式で利用可能なファイル形式に変換し得る。共通形式データオブジェクトとしては、例えば、マークアップ言語(例えば、HTMLまたはXML)および/または平文言語が挙げられる。
少なくとも1つの実施形態では、第1のアプリケーション(例えば、第1のアプリケーション212)は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し得る。さらなる例では、第1のアプリケーションは、プログラム固有データオブジェクトを共通形式データオブジェクトに変換するように、別のアプリケーションに命令し得る。例えば、図3の第1のアプリケーション312は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換するように、第3のアプリケーション332に命令し得る。少なくとも1つの例では、図4の第1のアプリケーション412は、プログラム固有データオブジェクトを共通形式データオブジェクトに変換するように、企業アプリケーション432に命令し得る。次に、システムは、言語検出をデータオブジェクトに対して実行し得る。例えば、言語検出モジュール115は、データオブジェクトのトークン化およびインデックス作成前に、言語検出を共通形式データオブジェクトに対して実行し得る。図5のステップの以下の考察では、語句「データオブジェクト」は、共通形式データオブジェクトにまだ変換されていないデータオブジェクトまたは共通形式データオブジェクトに変換されたデータオブジェクトを指し得る。
図5のステップ520において、システムは、データオブジェクトをトークン化して、データオブジェクトからトークンを抽出する。例えば、トークン化モジュール116は、共通形式データオブジェクト内のワードを識別することにより、共通形式データオブジェクトをトークン化し得る。いくつかの実施形態では、タグおよび/またはサブワード等の他の有意単位が、データオブジェクトのトークン化中に識別され得る。様々な実施形態によれば、第1のアプリケーションがデータオブジェクトをトークン化してもよく、データオブジェクトをトークン化するように、別のアプリケーション(例えば、第3のアプリケーション332および/または企業アプリケーション432)に命令してもよい。
図5のステップ530において、システムは、データオブジェクトから抽出されたトークンのインデックスを作成し得、これがデータオブジェクトのインデックスである。インデックスは、複数のアプリケーションのそれぞれに利用されるようにフォーマットし得る。例えば、インデックス作成モジュール117は、データオブジェクト内のトークン化されたワードおよび/または他の有意単位等の、データオブジェクトから抽出されたトークンのインデックスを作成し得る。第1のアプリケーションがインデックスを作成してもよく、かつ/またはデータオブジェクトからのトークンのインデックスを作成するように、別のアプリケーション(例えば、第3のアプリケーション322および/または企業アプリケーション432)に命令してもよい。
図5のステップ540において、システムは、複数のアプリケーションがアクセス可能なデータベースにインデックスを記憶し得る。例えば、インデックスは、企業データベース434に配置されたデータベース等の、セキュリティモジュール113(c)により確立され実施されるセキュリティポリシーに従って第1のアプリケーション412および第2のアプリケーション422がアクセス可能なネットワークに基づくデータベースおよび/または企業に基づくデータベースに記憶し得る。特定の実施形態によれば、インデックスは、圧縮形式でデータベースに保存し得る。圧縮形式のインデックスは、データベースに使用される記憶領域を低減し、かつ/またはネットワークを介するインデックスの転送に使用される帯域幅を低減し得る。
少なくとも1つの実施形態によれば、方法500は、システム内の別のアプリケーションからインデックス要求を受信することをさらに含み得る。例えば、システム200内の第2のアプリケーション222は、データベースサブシステム230からインデックスを要求し得る。いくつかの例では、本方法は、第2のアプリケーションによるインデックスデータベース122に記憶されたインデックスへのアクセスを許可することをさらに含み得る。例えば、セキュリティモジュール113(c)により確立され実施されるセキュリティポリシーに従って、第2のアプリケーション222によるインデックス自体の検索または企業アプリケーション432を利用してのインデックスの検索を許可し得る。
様々な実施形態によれば、方法500は、データオブジェクトをデータベースに記憶することも含み得る。例えば、プログラム固有データオブジェクトの共通形式データオブジェクト表現をデータオブジェクトデータベース124に記憶し得る。いくつかの例では、プログラム固有データオブジェクトをデータオブジェクトデータベース124に記憶してもよい。プログラム固有データオブジェクトに、データベース内で、共通形式データオブジェクトおよび/またはデータオブジェクトのインデックスを関連付け得る。特定の例では、共通形式データオブジェクトを圧縮形式でデータベースに記憶し得る。
少なくとも1つの実施形態では、システムは、プログラム固有データオブジェクトに関連するメタデータおよび/またはプログラム固有データオブジェクトに関連する隠しファイルのうちの少なくとも一方も生成し得る。メタデータおよび/または隠しファイルは、プログラム固有データオブジェクトと共に別のアプリケーションに転送し得る。いくつかの例では、プログラム固有データオブジェクトが削除または他の様式でシステムから除去された場合、そのプログラム固有データオブジェクトに関連するメタデータおよび/または隠しファイルも、システムから削除し得る。
例えば、WINDOWS NTFSファイルシステムに記憶された文書処理ドキュメントの場合、共通形式データオブジェクトを、その文書処理ドキュメント自体を記憶するものと同じファイルの代替のデータストリームに記憶し得る。インデックスは、この同じファイルのさらに別のストリームに記憶し得る。文書処理ドキュメントに関連するデータ分類情報をさらに別のデータストリームに記憶してもよく、または共通形式ストリームまたはインデックスストリーム内に含めてもよい。複数のアプリケーションのそれぞれは、ドキュメントに別個のデータ分類を提供し得、各アプリケーションは、その分類を別個のストリームに記憶してもよく、またはその他のストリームのうちの1つにグループ化してもよい。例えば、データ損失回避アプリケーションは、ドキュメントがクレジットカード番号および/または社会保障番号を含む分類を提供し得る。いくつかの例では、ウィルス対策アプリーションは、マクロウィルスを含むものとしてドキュメントを分類し得る。さらなる例では、アーカイブアプリケーションは、7年間保持する必要があるものとしてドキュメントを分類し得る。これら代替のストリームのすべては、セキュリティモジュール113(c)等のセキュリティモジュールにより確立されるセキュリティポリシーに基づいて、エンドユーザから隠し得るが、それらにアクセスしたい場合がある第1のアプリケーション212または222等の他のアプリケーションに提供し得る。
ユーザがドキュメントを削除した場合、代替のストリームを自動的に削除し得る。ユーザがドキュメントを同じボリューム上の別のロケーションに移動した場合、代替のストリームをドキュメントと共に移動し得る。ユーザがドキュメントをコピーした場合、コピー動作の実行に使用される方法に応じて、ストリームもコピーし得る。例えば、MICROSOFT WORDドキュメント(または他のMICROSOFT OFFICEドキュメントが変更された場合、WORDはドキュメントの新しいバージョンを異なるファイルに書き込み、古いバージョンを削除し、次に、新しいバージョンの名称を正確な名称に変更し得る。これは、新しいバージョンに当てはまらないであろうメタデータ等のドキュメントの古いバージョンに関連付けられたすべてのメタデータを自動的に削除し得る。その場所で変更されたファイルの場合、代替のストリームはもはやファイルに適用し得ない。タイムスタンプ、指紋、または他のメタデータを使用して、代替のストリームが古くなったときを判断し得る。
少なくとも1つの実施形態では、方法500は、共通形式データオブジェクトに対する要求を受信することも含み得る。例えば、第2のアプリケーション222は、データベースサブシステム230から共通形式データオブジェクトを要求し、データ共有モジュール119は、セキュリティモジュール113(c)により確立され実施されるセキュリティポリシーに従って、共通形式データオブジェクトを第2のアプリケーション222に送信し得る。さらに、データ共有モジュール119は、共通形式データオブジェクトおよび/またはプログラム固有データオブジェクトに関連する任意の他の要求されたデータも送信し得る。
いくつかの実施形態によれば、方法500は、プログラム固有データオブジェクトのデータ分類を実行すること、およびデータ分類結果を共通形式データオブジェクト、プログラム固有データオブジェクト、および/またはインデックスのうちの少なくとも1つに関連付けることをさらに含み得る。例えば、分類モジュール118は、データオブジェクトの要素を識別し、データオブジェクトおよび/またはデータオブジェクトの識別された要素を分類し得る。少なくとも1つの例では、データ分類結果を共通形式データオブジェクトに関連付けることは、データ分類結果を参照するデータタグを追加することを含み得る。
さらなる例では、方法500は、データ分類結果に基づいて少なくとも1つのポリシーを実行することを含み得る。少なくとも1つのポリシーの例としては、スパムポリシー、ウィルス対策ポリシー、データ損失回避ポリシー、知的財産漏出回避ポリシー、アーカイブポリシー、バックアップポリシー、コンテンツ管理ポリシー(分類ポリシーおよび/またはフィルタリングポリシー)、電子情報開示ポリシー、ならびに/あるいは法遵守ポリシーが挙げられるが、これらに限定されない。分類結果により、プログラム固有データオブジェクトに適用される1つまたは複数のポリシーが決まり得る。説明のために、分類結果により、プログラム固有データオブジェクトがスパム電子メールを含むことが示される場合、スパムポリシーを実行して、プログラム固有データオブジェクトを検疫し得る。
図6は、複数のアプリケーションが使用するデータのインデックスを作成するコンピュータにより実施される例示的な方法600の流れ図である。図6に示されるステップは、任意の適したコンピュータ実行可能コードおよび/または計算システムにより実行し得る。いくつかの実施形態では、図6に示されるステップは、さらに詳細に後述するように、図1の構成要素のうちの1つもしくは複数、図2のシステム200のサブシステムのうちの1つもしくは複数、図3のシステム300のサブシステムのうちの1つもしくは複数、および/または図4のシステム400のサブシステムのうちの1つもしくは複数により実行し得る。
図6のステップ610において、システムは、複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信し得る。例えば、データオブジェクトは、少なくとも1つのアプリケーションタイプによりアクセスされるように構成されたプログラム固有データオブジェクトを含み得る。いくつかの実施形態では、システムは、プログラム固有データオブジェクトを共通形式データオブジェクトに変換し、言語検出をデータオブジェクトに対して実行し得る。図6のステップ620において、システムは、データオブジェクトをトークン化し得る。図6のステップ630において、システムは、データオブジェクトから抽出されたトークンのオブジェクトインデックスを作成し得る。オブジェクトインデックスは、複数のアプリケーションのそれぞれにより利用されるようにフォーマットし得る。図6のステップ610、620、および630は、図5のステップ510、520、および530と同様である。したがって、ステップ510〜530の上記考察がステップ610〜630にも当てはまり得る。
図6のステップ640において、システムは、複数のデータオブジェクトに関連するインデックス情報を含むマスタインデックスにオブジェクトインデックスを記憶し得る。例えば、マスタインデックスは、複数のプログラム固有データオブジェクトから変換された複数の共通形式データオブジェクトのオブジェクトインデックスを含み得る。いくつかの例では、マスタインデックスは、複数のアプリケーションから受信されたインデックスを含み得る。マスタインデックスは、ネットワークに基づくデータベースおよび/または企業アプリケーション432に配置されたデータベース等の企業に基づくデータベースに記憶されたインデックスを含み得る。いくつかの実施形態では、マスタインデックスは、システム200内の第1の計算サブシステム210上のデータベース等の、プログラム固有データオブジェクトが記憶されたロケーションの隠しエリアに記憶し得る。個々のオブジェクトインデックスは、プログラム固有データオブジェクトが記憶されたロケーションに独立したインデックスとして記憶してもよい。
様々な実施形態によれば、マスタインデックスには、システム内の複数のアプリケーションがアクセス可能であり得る。少なくとも1つの例では、複数のアプリケーションは2つ以上のアプリケーションタイプを含み得る。説明のために、第1のアプリケーション212等のシステム内のアプリケーションのうちの少なくとも1つは、データ損失回避アプリケーションを含み、第2のアプリケーション222等のシステム内のアプリケーションのうちの別のものは、アーカイブアプリケーションを含み得る。様々な実施形態では、マスタインデックスは、複数のアプリケーションのうちの2つ以上から受信した複数のオブジェクトインデックスを含み得る。
上述したように、複数のアプリケーションが使用するデータのインデックスを作成する手段を提供することにより、本明細書において説明されるシステムおよび方法は、複数のアプリケーションのうちの第1のアプリーションが、複数のアプリケーションのそれぞれが利用可能なデータオブジェクトのインデックスを作成できるようにし、それにより、複数のアプリケーションのそれぞれがデータオブジェクトのインデックスを別個に作成する必要性をなくし得る。
例えば、第1のアプリケーション412は、まだインデックスが作成されていないMICROSOFT WORDドキュメントに遭遇し得る。第1のアプリケーション412は、例えば、企業検索アプリケーションおよび/またはエンジンであり得る企業サブシステム430上の企業アプリケーション432にWORDドキュメントの処理を通知し得る。次に、企業アプリケーション432は、ドキュメントの共通形式バージョンを作成し、言語検出をドキュメントの共通形式バージョンに対して実行し、ドキュメントの共通形式バージョンをトークン化し、次に、その結果のインデックスを作成し、ドキュメントの共通形式バージョンを記憶し、インデックスを企業データベース434に記憶し得る。次に、第1のアプリケーション412は、ドキュメントの共通形式バージョンまたはインデックスを使用して、タスクを実行し得る。次に、第2のアプリケーション422は、同じMICROSOFT WORDドキュメントに遭遇し、すでにインデックスが作成されていると判断し、企業データベース434に記憶されているインデックスを使用して、ドキュメントのデータ分類を実行し得る。次に、第2のアプリケーション422は、データ分類結果を企業データベース434に記憶し得、それにより、分類を利用可能であり得る任意の他のアプリケーションがその分類を利用することができる。
図7は、本明細書において説明され、かつ/または示される実施形態のうちの1つまたは複数を実施可能な例示的な計算システム710のブロック図である。計算システム710は一般に、コンピュータ可読命令を実行可能な任意のシングルプロセッサまたはマルチプロセッサの計算装置または計算システムを広く表す。計算システム710の例としては、ワークステーション、ラップトップ、クライアント側端末、分散計算システム、ハンドヘルド装置、または他の任意の計算システムもしくは装置が挙げられるが、これらに限定されない。その最も基本的な構成では、計算システム710は、少なくとも1つのプロセッサ714およびシステムメモリ716を含み得る。
プロセッサ714は一般に、データを処理可能であるか、または命令を解釈し実行することが可能な任意の種類または形態の処理ユニットを表す。特定の実施形態では、プロセッサ714は、ソフトウェアアプリケーションまたはモジュールから命令を受信し得る。これら命令は、本明細書において説明され、かつ/または示される例示的な実施形態のうちの1つまたは複数の機能をプロセッサ714に実行させる。例えば、プロセッサ714は、単独で、または他の要素と組み合わせて、本明細書において説明した受信するステップ、変換するステップ、トークン化するステップ、作成するステップ、記憶するステップ、送信するステップ、実行するステップ、生成するステップ、実行するステップ、関連付けるステップ、および/またはインデックスを作成するステップのうちの1つまたは複数を実行し得、かつ/またはそれ(ら)を実行する手段であり得る。プロセッサ714は、本明細書において説明され、かつ/または示される任意の他のステップ、方法、またはプロセスも実行し得、かつ/またはそれ(ら)を実行する手段でもあり得る。
システムメモリ716は一般に、データおよび/または他のコンピュータ可読命令を記憶可能な任意の種類または形態の揮発性または不揮発性の記憶装置または記憶媒体を表す。システムメモリ716の例としては、ランダムアクセスメモリ(「RAM」)、読み取り専用メモリ(「ROM」)、フラッシュメモリ、または他の任意の適したメモリ装置が挙げられるが、これらに限定されない。必要なわけではないが、特定の実施形態では、計算システム710は、揮発性メモリユニット(例えば、システムメモリ716等)および不揮発性記憶装置(例えば、詳細に後述するような一次記憶装置732等)の両方を含み得る。一例では、図1のモジュール110のうちの1つまたは複数は、システムメモリ716にロードし得る。
特定の実施形態では、例示的な計算システム710は、プロセッサ714およびシステムメモリ716に加えて、1つまたは複数の構成要素または要素も含み得る。例えば、図7に示すように、計算システム710は、メモリコントローラ718、入出力(「I/O」)コントローラ720、および通信インタフェース722を含み得、これらのそれぞれは通信基盤712を介して相互接続し得る。通信基盤712は一般に、計算装置の1つまたは複数の構成要素間の通信に役立つことが可能な任意の種類または形態の基盤を表す。通信基盤712の例としては、通信バス(ISA、PCI、PCIe、または同様のバス等)およびネットワークが挙げられるが、これらに限定されない。
メモリコントローラ718は一般に、メモリまたはデータを処理可能であるか、または計算システム710の1つまたは複数の構成要素間の通信に役立つことが可能な任意の種類または形態の装置を表す。例えば、特定の実施形態では、メモリコントローラ718は、通信基盤712を介するプロセッサ714、システムメモリ716、およびI/Oコントローラ720間の通信を制御し得る。特定の実施形態では、メモリコントローラ718は、単独で、または他の要素と組み合わせて、受信、変換、トークン化、作成、記憶、送信、実行、関連付け、および/またはインデックス作成等の本明細書において説明され、かつ/または示されるステップまたは特徴のうちの1つまたは複数を実行し得、かつ/またはそれ(ら)を実行する手段であり得る。
I/Oコントローラ720は一般に、計算装置の入力機能および出力機能を調整可能であり、かつ/または制御可能な任意の種類または形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ720は、プロセッサ714、システムメモリ716、通信インタフェース722、ディスプレイアダプタ726、入力インタフェース730、およびストレージインタフェース734等の計算システム710の1つまたは複数の要素間のデータ転送を制御し得、またはそれに役立ち得る。I/Oコントローラ720は、例えば、単独で、または他の要素と組み合わせて、本明細書において説明した受信するステップ、変換するステップ、トークン化するステップ、作成するステップ、記憶するステップ、送信するステップ、実行するステップ、生成するステップ、実行するステップ、関連付けるステップ、および/またはインデックスを作成するステップのうちの1つまたは複数を実行するために、またはそれ(ら)を実行する手段として、使用され得る。I/Oコントローラ720は、本開示において記載される他のステップおよび特徴を実行するためにも、またはそれ(ら)を実行する手段としても使用され得る。
通信インタフェース722は、例示的な計算システム710と1つまたは複数の追加の装置との間の通信に役立つことが可能な任意の種類または形態の通信装置またはアダプタを広く表す。例えば、特定の実施形態では、通信インタフェース722は、計算システム710と追加の計算システムを含む私設または公衆ネットワークとの間の通信に役立ち得る。通信インタフェース722の例としては、有線ネットワークインタフェース(ネットワークインタフェースカード等)、無線ネットワークインタフェース(無線ネットワークインタフェースカード等)、モデム、および他の任意の適したインタフェースが挙げられるが、これらに限定されない。少なくとも1つの実施形態では、通信インタフェース722は、インターネット等のネットワークへの直接リンクを介して遠隔サーバへの直接接続を提供し得る。通信インタフェース722は、例えば、ローカルエリアネットワーク(イーサネットネットワーク等)、パーソナルエリアネットワーク、電話回線網、ケーブル網、セルラ電話接続、衛星データ接続、または任意の他の適した接続を通して、そのような接続を間接的に提供してもよい。
特定の実施形態では、通信インタフェース722は、外部バスまたは通信チャネルを介しての計算システム710と1つまたは複数の追加のネットワークまたは記憶装置との間の通信に役立つように構成されたホストアダプタも表し得る。ホストアダプタの例としては、SCSIホストアダプタ、USBホストアダプタ、IEEE794ホストアダプタ、SATAアダプタ、およびeSATAホストアダプタ、ATAおよびPATAホストアダプタ、ファイバチャネルインタフェースアダプタ、イーサネットアダプタ、またはこれらと同様のものが挙げられるが、これらに限定されない。通信インタフェース722は、計算システム710が分散計算または遠隔計算を行えるようにもし得る。例えば、通信インタフェース722は、遠隔装置から命令を受信し、または実行のための命令を遠隔装置に送信し得る。特定の実施形態では、通信インタフェース722は、単独で、または他の要素と組み合わせて、本明細書において開示される受信するステップ、変換するステップ、トークン化するステップ、作成するステップ、記憶するステップ、送信するステップ、実行するステップ、生成するステップ、実行するステップ、関連付けるステップ、および/またはインデックスを作成するステップのうちの1つまたは複数を実行し得、かつ/またはそれ(ら)を実行する手段であり得る。通信インタフェース722は、本開示に記載する他のステップおよび特徴を実行するため、かつ/または実行する手段としても使用し得る。
図7に示すように、計算システム710は、ディスプレイアダプタ726を介して通信基盤712に結合された少なくとも1つの表示装置724も含み得る。表示装置724は一般に、ディスプレイアダプタ726により転送される情報を視覚的に表示可能な任意の種類または形態の装置を表す。同様に、ディスプレイアダプタ726は一般に、通信基盤712から(または当分野において既知のように、フレームバッファから)表示装置724に表示するためのグラフィックス、テキスト、および他のデータに転送する任意の種類または形態の装置を表す。
図7に示すように、例示的な計算システム710は、入力インタフェース730を介して通信基盤712に結合された少なくとも1つの入力装置728も含み得る。入力装置728は一般に、コンピュータまたは人間により生成された入力を例示的な計算システム710に提供可能な任意の種類または形態の入力装置を表す。入力装置728の例としては、キーボード、ポインティングデバイス、音声認識装置、または他の任意の適した入力装置が挙げられるが、これらに限定されない。少なくとも1つの実施形態では、入力装置728は、単独で、または他の要素と組み合わせて、本明細書において開示される受信するステップ、変換するステップ、トークン化するステップ、作成するステップ、記憶するステップ、送信するステップ、実行するステップ、生成するステップ、実行するステップ、関連付けるステップ、および/またはインデックスを作成するステップのうちの1つまたは複数を実行し得、かつ/またはそれ(ら)を実行する手段であり得る。入力装置728は、本開示に記載される他のステップおよび特徴を実行するためにも、かつ/またはそれ(ら)を実行する手段としても使用され得る。
図7に示すように、例示的な計算システム710は、ストレージインタフェース734を介して通信基盤712に結合された一次記憶装置732およびバックアップ記憶装置733も含み得る。記憶装置732および733は一般に、データおよび/またはコンピュータ可読命令を記憶可能な任意の種類または形態の記憶装置または記憶媒体を表す。例えば、記憶装置732および733は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブ、またはこれらと同様のものであり得る。ストレージインタフェース734は一般に、記憶装置732および733と計算システム710の他の構成要素との間でデータを転送する任意の種類または形態のインタフェースまたは装置を表す。一例では、図1からのデータベース120を一次記憶装置732に記憶し得る。
特定の実施形態では、記憶装置732および733は、コンピュータソフトウェア、データ、または他のコンピュータ可読情報を記憶するように構成されたリムーバブル記憶ユニットに対して書き込みおよび/または読み取りを行うように構成され得る。適したリムーバブル記憶ユニットの例としては、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリ装置、またはこれらと同様のものが挙げられるが、これらに限定されない。記憶装置732および733は、コンピュータソフトウェア、データ、または他のコンピュータ可読命令を計算システム710にロードできるようにする他の同様の構造または装置も備え得る。例えば、記憶装置732および733は、ソフトウェア、データ、または他のコンピュータ可読情報を読み書きするように構成され得る。記憶装置732および733は、計算システム710の部分であってもよく、または他のインタフェースシステムを通してアクセスされる別個の装置であってもよい。
特定の実施形態では、記憶装置732および733は、例えば、単独で、または他の要素と組み合わせて、本明細書において開示される受信するステップ、変換するステップ、トークン化するステップ、作成するステップ、記憶するステップ、送信するステップ、実行するステップ、生成するステップ、実行するステップ、関連付けるステップ、および/またはインデックスを作成するステップのうちの1つまたは複数を実行するために、かつ/またはそれ(ら)を実行する手段として、使用され得る。記憶装置732および733は、本開示に記載される他のステップおよび特徴を実行するためにも、かつ/またはそれ(ら)を実行する手段としても使用され得る。
多くの他の装置またはサブシステムを計算システム710に接続し得る。逆に、本明細書において説明され、かつ/または示される実施形態を実施するために、図7に示す構成要素および装置のすべてが存在する必要があるわけではない。上で参照される装置およびサブシステムは、図7に示す方法と異なる方法で相互接続してもよい。計算システム710は、任意の数のソフトウェア構成、ファームウェア構成、および/またはハードウェア構成を利用してもよい。例えば、本明細書において開示する例示的な実施形態のうちの1つまたは複数は、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、またはコンピュータ制御論理とも呼ばれる)としてコンピュータ可読媒体に符号化し得る。語句「コンピュータ可読媒体」は一般に、コンピュータ可読命令を記憶または搬送することが可能な任意の形態または装置、キャリア、または媒体を指す。コンピュータ可読媒体の例としては、搬送波等の伝送型媒体ならびに磁気記憶媒体(例えば、ハードディスクドライブおよびフロッピーディスク)、光学記憶媒体(例えば、CD−ROMまたはDVD−ROM)、電子記憶媒体(例えば、固体状態ドライブおよびフラッシュメディア)、および他の分散システム等の物理的媒体が挙げられるが、これらに限定されない。
コンピュータプログラムを含むコンピュータ可読媒体を計算システム710にロードし得る。次に、コンピュータ可読媒体に記憶されているコンピュータプログラムのすべてまたは部分をシステムメモリ716ならびに/あるいは記憶装置732および733の様々な部分に記憶し得る。プロセッサ714により実行されると、計算システム710にロードされたコンピュータプログラムは、プロセッサ714に、本明細書において説明され、かつ/または示される例示的な実施形態のうちの1つまたは複数の機能を実行させ得、かつ/または実行する手段であり得る。追加または代替として、本明細書において説明され、かつ/または示される例示的な実施形態のうちの1つまたは複数をファームウェアおよび/またはハードウェアで実施してもよい。例えば、計算システム710は、本明細書において開示する例示的な実施形態のうちの1つまたは複数を実施するように構成された特定用途向け集積回路(「ASIC」)として構成し得る。
図8は、クライアントシステム810、820、および830ならびにサーバ840および845をネットワーク850に結合し得る例示的なネットワークアーキテクチャ800のブロック図である。クライアントシステム810、820、および830は一般に、図7の例示的な計算システム710等の任意の種類または形態の計算装置または計算システムを表す。一例では、クライアントシステム810、820、および/または830ならびに/あるいはサーバ840および/または845は、図1のシステム100のすべてまたは部分を含み得る。
同様に、サーバ840および845は一般に、様々なデータベースサービスを提供し、かつ/または特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバまたはデータベースサーバ等の計算装置または計算システムを表す。ネットワーク850は一般に、例えば、イントラネット、広域ネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、パーソナルエリアネットワーク(「PAN」)、またはインターネットを含む任意の通信ネットワークまたはコンピュータネットワークを表す。
図8に示すように、1つまたは複数の記憶装置860(1)〜(N)はサーバ840に直接接続し得る。同様に、1つまたは複数の記憶装置870(1)〜(N)もサーバ845に直接接続し得る。記憶装置860(1)〜(N)および記憶装置870(1)〜(N)は一般に、データおよび/または他のコンピュータ可読命令を記憶可能な任意の種類または形態の記憶装置または記憶媒体を表す。特定の実施形態では、記憶装置860(1)〜(N)および記憶装置870(1)〜(N)は、NFS、SMB、またはCIFS等の様々なプロトコルを使用してサーバ840および845と通信するように構成されたネットワーク接続記憶(「NAS」)装置を表し得る。
サーバ840および845は、ストレージエリアネットワーク(「SAN」)ファブリック880にも接続し得る。SANファブリック880は一般に、複数の記憶装置間での通信に役立つことが可能な任意の種類または形態のコンピュータネットワークまたはアーキテクチャを表す。SANファブリック880は、サーバ840および845、複数の記憶装置890(1)〜(N)、ならびに/あるいはインテリジェントストレージアレイ895間の通信に役立ち得る。SANファブリック880は、装置890(1)〜(N)および/またはアレイ895が、クライアントシステム810、820、および830にローカルに接続された装置として見えるように、ネットワーク850ならびにサーバ840および845を介して、クライアントシステム810、820、および830と記憶装置890(1)〜(N)および/またはインテリジェントストレージアレイ895との間の通信にも役立ち得る。記憶装置860(1)〜(N)および記憶装置870(1)〜(N)と同様に、記憶装置890(1)〜(N)およびインテリジェントストレージアレイ895は一般に、データおよび/または他のコンピュータ可読命令を記憶可能な任意の種類または形態の記憶装置または記憶媒体を表す。
特定の実施形態では、図7の例示的な計算システム710を参照して、図7の通信インタフェース722等の通信インタフェースを使用して、各クライアントシステム810、820、および830とネットワーク850との間に接続性を提供し得る。クライアントシステム810、820、および830は、例えば、ウェブブラウザまたは他のクライアントソフトウェアを使用してサーバ840または845上の情報にアクセス可能であり得る。そのようなソフトウェアは、クライアントシステム810、820、および830が、サーバ840、サーバ845、記憶装置860(1)〜(N)、記憶装置870(1)〜(N)、記憶装置890(1)〜(N)、またはインテリジェントストレージアレイ895によりホストされるデータにアクセスできるようにし得る。図8は、データの交換にネットワーク(インターネット等)の使用を示すが、本明細書において説明され、かつ/または示される実施形態は、インターネットまたはいかなる特定のネットワークに基づく環境にも限定されない。
少なくとも1つの実施形態では、本明細書において開示される例示的な実施形態のうちの1つまたは複数のすべてまたは部分は、コンピュータプログラムとして符号化し、サーバ840、サーバ845、記憶装置860(1)〜(N)、記憶装置870(1)〜(N)、記憶装置890(1)〜(N)、インテリジェントストレージアレイ895、またはこれらの任意の組み合わせにロードされて実行され得る。本明細書において開示される例示的な実施形態のうちの1つまたは複数のすべてまたは部分は、サーバ840に記憶され、サーバ845により実行され、ネットワーク850を介してクライアントシステム810、820、および830に分散するコンピュータプログラムとして符号化してもよい。したがって、ネットワークアーキテクチャ800は、単独で、または他の要素と組み合わせて、本明細書において開示される受信するステップ、変換するステップ、トークン化するステップ、作成するステップ、記憶するステップ、送信するステップ、実行するステップ、生成するステップ、実行するステップ、関連付けるステップ、分類するステップ、および/またはインデックスを作成するステップのうちの1つまたは複数を実行し得、かつ/またはそれ(ら)を実行する手段であり得る。ネットワークアーキテクチャ800は、本開示において記載される他のステップおよび特徴を実行するためにも、かつ/またはそれ(ら)を実行する手段としても使用され得る。
上記開示に、特定のブロック図、フローチャート、および例を使用して様々な実施形態を説明したが、本明細書において説明され、かつ/または図示される各ブロック図の構成要素、フローチャートのステップ、動作、および/または構成要素は、独立して、かつ/または集合的に、広範囲のハードウェア構成、ソフトウェア構成、またはファームウェア構成(またはこれらの任意の組み合わせ)を使用して実施し得る。さらに、他の構成要素内に含まれる構成要素のいかなる開示も、同じ機能を達成するために、他の多くの構造を実施可能なため、例示的な性質のものであるとみなされるべきである。
本明細書において説明され、かつ/または図示されるプロセスパラメータおよびステップシーケンスは、単なる例として与えられ、必要に応じて変更が可能である。例えば、本明細書において図示され、かつ/または説明されるステップは、特定の順序で図示または説明され得るが、これらのステップは、必ずしも図示または説明された順序で実行される必要はない。本明細書において説明され、かつ/または図示される例示的な様々な方法は、本明細書において説明されるか、もしくは図示されるステップのうちの1つもしくは複数を省いてもよく、または開示されるステップに加えて他のステップを含んでもよい。
様々な実施形態を完全に機能する計算システムの文脈の中で本明細書において説明し、かつ/または図示したが、配布を実際に実行するために使用されるコンピュータ可読媒体の特定の種類に関係なく、これら例示的な実施形態のうちの1つまたは複数を様々な形態のプログラム製品として配布してもよい。本明細書に開示される実施形態は、特定のタスクを実行するソフトウェアモジュールを使用して実施してもよい。これらソフトウェアモジュールは、コンピュータ可読記憶媒体または計算システムに記憶可能なスクリプト、バッチ、または他の実行可能ファイルを含み得る。いくつかの実施形態では、これらソフトウェアモジュールは、本明細書において開示された例示的な実施形態のうちの1つまたは複数を実行するように、計算システムを構成し得る。
本明細書において説明したソフトウェアモジュールのうちの1つまたは複数は、データ、物理的な装置、および/または物理的な装置の表現を一形態から別の形態に変換し得る。例えば、本明細書において説明されるモジュールのうちの1つまたは複数は、インデックス付きデータをデータ記憶装置に記憶することにより、データ記憶装置の状態を変換し得る。
上記説明は、当業者が、本明細書において開示した例示的な実施形態の様々な態様を最良に利用できるようにするために提供された。この例示的な説明は、網羅的であることを意図しない。すなわち、開示されるいかなる厳密な形態にも限定されないことを意図する。多くの変更および変形が、本開示の主旨および範囲から逸脱せずに可能である。本明細書において開示する実施形態は、すべての点で限定ではなく例示として考えられるべきである。本開示の範囲を決定する際には、添付の特許請求の範囲およびその均等物を参照されたい。
別段に記される場合を除き、本明細書および特許請求の範囲において使用される場合、用語「a」または「an」は、「少なくとも1つの」を意味するものと解釈されるべきである。さらに、使いやすさのために、単語「含む」および「有する」は、本明細書および特許請求の範囲において使用される場合、単語「備える」と同義であり、同じ意味を有する。
100、200、300、400、 システム
110 モジュール
112、112(a)、112(b)、112(c) 通信モジュール
113、113(a)、113(b)、113(c)、113(d) セキュリティモジュール
114 変換モジュール
115 言語検出モジュール
116 トークン化モジュール
117 インデックス作成モジュール
118、118(a)、118(b)、118(c) 分類モジュール
119 データ共有モジュール
120 データベース
122 インデックスデータベース
124 データオブジェクトデータベース
126 分類データベース
210、310、410 第1の計算サブシステム
212、312、412 第1のアプリケーション
220、320、420 第2の計算サブシステム
222、322、422 第2のアプリケーション
230、340 データベースサブシステム
240、350、440、850 ネットワーク
332 第3のアプリケーション
430 企業サブシステム
432 企業アプリケーション
434 企業データベース
500、600 方法
710 計算システム
712 通信基盤
714 プロセッサ
716 システムメモリ
718 メモリコントローラ
720 I/Oコントローラ
722 通信インタフェース
724 表示装置
726 ディスプレイアダプタ
728 入力装置
730 入力インタフェース
732 一次記憶装置
733 バックアップ記憶装置
734 ストレージインタフェース
800 ネットワークアーキテクチャ
810〜830 クライアントシステム
840、845 サーバ
860(1)〜(N)、870(1)〜(N)、890(1)〜(N) 記憶装置
880 SANファブリック
895 インテリジェントストレージアレイ

Claims (15)

  1. 複数のアプリケーションが使用するデータのインデックスを作成するコンピュータにより実施される方法であって、少なくとも部分的に、少なくとも1つのプロセッサを含む計算装置により実行され、
    複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信すること、
    前記データオブジェクトをトークン化して、前記データオブジェクトからトークンを抽出すること、
    前記データオブジェクトから抽出されたトークンのインデックスを作成することであって、前記インデックスは、前記複数のアプリケーションのそれぞれにより利用されるようにフォーマットされること、および
    前記複数のアプリケーションがアクセス可能なデータベースに前記インデックスを記憶すること
    を含み、
    前記複数のアプリケーションは2つ以上のアプリケーションタイプを含む、方法。
  2. 前記データオブジェクトは、少なくとも1つのプログラムタイプによりアクセスされるように構成されたプログラム固有データオブジェクトを含み、
    前記プログラム固有データオブジェクトを共通形式データオブジェクトに変換することをさらに含む、請求項1に記載の方法。
  3. 前記共通形式データオブジェクトは、
    マークアップ言語、および
    平文
    のうちの少なくとも一方を含む、請求項2に記載の方法。
  4. 前記共通形式データオブジェクトを前記データベースに記憶すること、
    前記複数のアプリケーションのうちの第2のアプリケーションから、前記共通形式データオブジェクトに対する要求を受信すること、および
    前記共通形式データオブジェクトを前記第2のアプリケーションに送信すること
    をさらに含む、請求項2に記載の方法。
  5. 前記プログラム固有データオブジェクトに関連するメタデータ、および
    前記プログラム固有データオブジェクトに関連する隠しファイル
    のうちの少なくとも一方を生成することをさらに含む、請求項2に記載の方法。
  6. 前記プログラム固有データオブジェクトのデータ分類を実行すること、および
    前記データ分類結果を、
    前記共通形式データオブジェクト、および
    前記インデックス
    のうちの少なくとも一方に関連付けること
    をさらに含む、請求項2に記載の方法。
  7. 前記第1のアプリケーションは、
    前記プログラム固有データオブジェクトを共通形式データオブジェクトに変換すること、
    前記共通形式データオブジェクトをトークン化すること、
    前記インデックスを作成すること、
    前記プログラム固有データオブジェクトの前記データ分類を実行すること、および
    言語検出を前記共通形式データオブジェクトに対して実行すること
    のうちの少なくとも1つを実行する、請求項6に記載の方法。
  8. 前記第1のアプリケーションは、第3のアプリケーションに、
    前記プログラム固有データオブジェクトを共通形式データオブジェクトに変換すること、
    前記共通形式データオブジェクトをトークン化すること、
    前記インデックスを作成すること、
    前記プログラム固有データオブジェクトの前記データ分類を実行すること、および
    言語検出を前記共通形式データオブジェクトに対して実行すること
    のうちの1つを実行するように命令する、請求項6に記載の方法。
  9. 前記データオブジェクトに対する言語検出、
    前記データオブジェクトに対するパターン検出、および
    前記データオブジェクトに対するエンティティ抽出
    のうちの少なくとも1つを実行することをさらに含む、請求項1に記載の方法。
  10. 前記複数のアプリケーションのうちの第2のアプリケーションから、前記インデックスに対する要求を受信すること、および
    前記第2のアプリケーションによる前記インデックスへのアクセスを許可すること
    をさらに含む、請求項1に記載の方法。
  11. 前記複数のアプリケーションタイプは、
    検索エンジン、
    アーカイブアプリケーション、
    データ損失回避アプリケーション、
    スパムフィルタリングアプリケーション、
    ウィルス対策アプリケーション、
    バックアップアプリケーション、
    コンテンツ管理アプリケーション、
    法遵守アプリケーション、および
    電子情報開示アプリケーション
    のうちの2つ以上を含む、請求項1に記載の方法。
  12. 複数のアプリケーションが使用するデータのインデックスを作成するコンピュータにより実施される方法であって、少なくとも部分的に、少なくとも1つのプロセッサを含む計算装置により実行され、
    複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信すること、
    前記データオブジェクトをトークン化して、前記データオブジェクトからトークンを抽出すること、
    前記データオブジェクトから抽出されたトークンのオブジェクトインデックスを作成することであって、前記オブジェクトインデックスは、前記複数のアプリケーションのそれぞれにより利用されるようにフォーマットされること、および
    複数のデータオブジェクトに関連するインデックス情報を含むマスタインデックスに前記オブジェクトインデックスを記憶することであって、前記マスタインデックスは、2つ以上のアプリケーションタイプを含む前記複数のアプリケーションによりアクセス可能であること
    を含む、方法。
  13. 前記マスタインデックスは、前記複数のアプリケーションのうちの1つまたは複数から受信する複数のオブジェクトインデックスを含む、請求項12に記載の方法。
  14. 複数のアプリケーションが使用するデータのインデックスを作成するシステムであって、
    複数のアプリケーションのうちの第1のアプリケーションでデータオブジェクトを受信するようにプログラムされた通信モジュールと、
    前記データオブジェクトをトークン化して、前記データオブジェクトからトークンを抽出するようにプログラムされたトークン化モジュールと、
    前記データオブジェクトから抽出されたトークンのインデックスを作成するようにプログラムされたインデックス作成モジュールであって、前記インデックスは、前記複数のアプリケーションのそれぞれにより利用されるようにフォーマットされる、インデックス作成モジュールと、
    前記インデックスを記憶するデータベースであって、2つ以上のアプリケーションタイプを含む前記複数のアプリケーションによりアクセス可能である、データベースと
    を備える、システム。
  15. 前記データオブジェクトは、少なくとも1つのプログラムタイプによりアクセスされるように構成されたプログラム固有データオブジェクトを含み、前記システムは、
    前記プログラム固有データオブジェクトを共通形式データオブジェクトに変換するようにプログラムされた変換モジュールと、
    言語検出を前記共通形式データオブジェクトに対して実行するようにプログラムされた言語検出モジュールと、
    前記プログラム固有データオブジェクトのデータ分類を実行するようにプログラムされた分類モジュールと、
    データアクセスを許可されたアプリケーションに制限するようにプログラムされたセキュリティモジュールと
    をさらに備える、請求項14に記載のシステム。
JP2010248996A 2009-11-06 2010-11-05 複数のアプリケーションが使用するオブジェクト関連データを処理し管理するシステムおよび方法 Expired - Fee Related JP5586425B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/613,748 US8458186B2 (en) 2009-11-06 2009-11-06 Systems and methods for processing and managing object-related data for use by a plurality of applications
US12/613,748 2009-11-06

Publications (2)

Publication Number Publication Date
JP2011100457A true JP2011100457A (ja) 2011-05-19
JP5586425B2 JP5586425B2 (ja) 2014-09-10

Family

ID=43401471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010248996A Expired - Fee Related JP5586425B2 (ja) 2009-11-06 2010-11-05 複数のアプリケーションが使用するオブジェクト関連データを処理し管理するシステムおよび方法

Country Status (5)

Country Link
US (1) US8458186B2 (ja)
JP (1) JP5586425B2 (ja)
CN (1) CN102054022B (ja)
DE (1) DE102010043265A1 (ja)
GB (1) GB2475151A (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266135B2 (en) * 2009-01-05 2012-09-11 International Business Machines Corporation Indexing for regular expressions in text-centric applications
US10229191B2 (en) * 2009-09-09 2019-03-12 Varonis Systems Ltd. Enterprise level data management
US8898318B2 (en) * 2010-06-03 2014-11-25 Microsoft Corporation Distributed services authorization management
US8555383B1 (en) 2010-09-28 2013-10-08 Amazon Technologies, Inc. Network data transmission auditing
US8565108B1 (en) * 2010-09-28 2013-10-22 Amazon Technologies, Inc. Network data transmission analysis
US9824091B2 (en) 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
US8620894B2 (en) * 2010-12-21 2013-12-31 Microsoft Corporation Searching files
US9229818B2 (en) 2011-07-20 2016-01-05 Microsoft Technology Licensing, Llc Adaptive retention for backup data
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US20140006967A1 (en) * 2012-06-29 2014-01-02 Suresh Arumugam Cross-application transfers of user interface objects
US9405482B2 (en) * 2012-12-21 2016-08-02 Commvault Systems, Inc. Filtered reference copy of secondary storage data in a data storage system
GB2518880A (en) * 2013-10-04 2015-04-08 Glasswall Ip Ltd Anti-Malware mobile content data management apparatus and method
US10078668B1 (en) 2014-05-04 2018-09-18 Veritas Technologies Llc Systems and methods for utilizing information-asset metadata aggregated from multiple disparate data-management systems
US10635645B1 (en) 2014-05-04 2020-04-28 Veritas Technologies Llc Systems and methods for maintaining aggregate tables in databases
US10095768B2 (en) * 2014-11-14 2018-10-09 Veritas Technologies Llc Systems and methods for aggregating information-asset classifications
US10079835B1 (en) * 2015-09-28 2018-09-18 Symantec Corporation Systems and methods for data loss prevention of unidentifiable and unsupported object types
US9477555B1 (en) * 2015-11-16 2016-10-25 International Business Machines Corporation Optimized disaster-recovery-as-a-service system
CN105488208B (zh) * 2015-12-11 2019-03-08 北京奇虎科技有限公司 数据查找方法与装置
DE102016224470A1 (de) * 2016-12-08 2018-06-14 Bundesdruckerei Gmbh Server-Computersystem zur Bereitstellung von Datensätzen
DE102016224455A1 (de) * 2016-12-08 2018-06-14 Bundesdruckerei Gmbh Datenbankindex aus mehreren Feldern
US11017117B2 (en) 2019-01-02 2021-05-25 Bank Of America Corporation Pre-firewall data classification
DE102019108858A1 (de) * 2019-04-04 2020-10-08 Bundesdruckerei Gmbh Maschinelles Lernen auf Basis von Trigger-Definitionen
DE102019108857A1 (de) * 2019-04-04 2020-10-08 Bundesdruckerei Gmbh Automatisiertes maschinelles Lernen auf Basis gespeicherten Daten
JP7114820B2 (ja) * 2019-05-23 2022-08-08 グーグル エルエルシー プラットフォームをまたいだコンテンツのミュート

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105566A (ja) * 1996-09-30 1998-04-24 Hitachi Software Eng Co Ltd 画像データの検索・表示方法
JP2000163445A (ja) * 1998-11-26 2000-06-16 Cai Kk データベース管理システム
WO2005096185A1 (en) * 2004-03-08 2005-10-13 Microsoft Corporation Structured indexes on results of function applications over data
WO2011000745A1 (en) * 2009-07-01 2011-01-06 Thomson Licensing Method for accessing files of a file system according to metadata and device implementing the method

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243713B1 (en) * 1998-08-24 2001-06-05 Excalibur Technologies Corp. Multimedia document retrieval by application of multimedia queries to a unified index of multimedia data for a plurality of multimedia data types
GB2362078B (en) * 1999-01-22 2003-01-22 Kent Ridge Digital Labs Method and apparatus for indexing and retrieving images using visual keywords
US20030061195A1 (en) * 2001-05-02 2003-03-27 Laborde Guy Vachon Technical data management (TDM) framework for TDM applications
US6980976B2 (en) * 2001-08-13 2005-12-27 Oracle International Corp. Combined database index of unstructured and structured columns
US7139938B2 (en) * 2002-04-01 2006-11-21 Capital One Financial Corporation System and method for providing common event format using alert index
US7702666B2 (en) * 2002-06-06 2010-04-20 Ricoh Company, Ltd. Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
US7139752B2 (en) * 2003-05-30 2006-11-21 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, and providing multiple document views derived from different document tokenizations
US20050108630A1 (en) 2003-11-19 2005-05-19 Wasson Mark D. Extraction of facts from text
US7293005B2 (en) * 2004-01-26 2007-11-06 International Business Machines Corporation Pipelined architecture for global analysis and index building
US7433893B2 (en) 2004-03-08 2008-10-07 Marpex Inc. Method and system for compression indexing and efficient proximity search of text data
US7664804B2 (en) * 2004-06-01 2010-02-16 Microsoft Corporation Method, system, and apparatus for exposing workbook ranges as data sources
US7685106B2 (en) * 2005-04-29 2010-03-23 International Business Machines Corporation Sharing of full text index entries across application boundaries
US7689620B2 (en) * 2006-05-24 2010-03-30 Sizhe Tan Efficiently and systematically searching stock, image, and other non-word-based documents
US20080208820A1 (en) 2007-02-28 2008-08-28 Psydex Corporation Systems and methods for performing semantic analysis of information over time and space
US8301637B2 (en) 2007-07-27 2012-10-30 Seiko Epson Corporation File search system, file search device and file search method
US8301633B2 (en) 2007-10-01 2012-10-30 Palo Alto Research Center Incorporated System and method for semantic search

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105566A (ja) * 1996-09-30 1998-04-24 Hitachi Software Eng Co Ltd 画像データの検索・表示方法
JP2000163445A (ja) * 1998-11-26 2000-06-16 Cai Kk データベース管理システム
WO2005096185A1 (en) * 2004-03-08 2005-10-13 Microsoft Corporation Structured indexes on results of function applications over data
WO2011000745A1 (en) * 2009-07-01 2011-01-06 Thomson Licensing Method for accessing files of a file system according to metadata and device implementing the method

Also Published As

Publication number Publication date
US8458186B2 (en) 2013-06-04
CN102054022B (zh) 2015-04-01
CN102054022A (zh) 2011-05-11
GB2475151A (en) 2011-05-11
JP5586425B2 (ja) 2014-09-10
US20110113466A1 (en) 2011-05-12
DE102010043265A1 (de) 2011-05-12
GB201018244D0 (en) 2010-12-15

Similar Documents

Publication Publication Date Title
JP5586425B2 (ja) 複数のアプリケーションが使用するオブジェクト関連データを処理し管理するシステムおよび方法
JP6336675B2 (ja) 複数の異種データ管理システムからの情報資産メタデータを集約するためのシステム及び方法
Garfinkel Digital media triage with bulk data analysis and bulk_extractor
JP5520291B2 (ja) ファイル分類を特定する方法およびシステム
US8612594B1 (en) Systems and methods for preventing data loss from files sent from endpoints
US8793222B1 (en) Systems and methods for indexing backup content
US9317679B1 (en) Systems and methods for detecting malicious documents based on component-object reuse
US11663236B2 (en) Search and analytics for storage systems
US9922033B1 (en) Systems and methods for efficiently extracting contents of container files
US8219766B1 (en) Systems and methods for identifying the presence of sensitive data in backups
US20200241967A1 (en) Methods and systems for data backup based on cognitive data classification
US11914869B2 (en) Methods and systems for encryption based on intelligent data classification
TW201812634A (zh) 威脅情報雲
US10275396B1 (en) Techniques for data classification based on sensitive data
US9053109B1 (en) Systems and methods for efficient data storage for content management systems
US9424269B1 (en) Systems and methods for deduplicating archive objects
US9244932B1 (en) Resolving reparse point conflicts when performing file operations
WO2024082525A1 (zh) 一种文件快照方法、系统、电子设备及存储介质
US9734195B1 (en) Automated data flow tracking
WO2017024288A1 (en) Managing regulated content items stored on non-regulated storage platforms
US8595243B1 (en) Systems and methods for deduplicating archived data
US9111015B1 (en) System and method for generating a point-in-time copy of a subset of a collectively-managed set of data items
Taşdelen et al. Analysing and Carving MS Word and PDF Files from RAM Images on Windows
US9191279B1 (en) Systems and methods for data loss prevention
US9141808B1 (en) Data loss prevention

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

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: 20140624

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140722

R150 Certificate of patent or registration of utility model

Ref document number: 5586425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

LAPS Cancellation because of no payment of annual fees