(57)【特許請求の範囲】
【請求項１】
１つ以上のプロセッサと、該１つ以上のプロセッサに結合されコンピュータプログラムを記録したメモリとを有するコンピュータであって、前記プログラムは、前記１つ以上のプロセッサに分類パイプラインを提供させ、該分類パイプラインが、
データ項目と関連付けられた分類メタデータの現在値を含む、前記データ項目と関連付けられたメタデータを入手するコンポーネントと、
１つまたは複数の分類モジュールのセットであって、前記分類モジュールのセットの内の各分類モジュールが、関連した分類ルールを有し、各前記分類ルールが、呼び出されると、前記データ項目と関連付けられた前記メタデータ及び前記データ項目と関連付けられた前記分類メタデータの現在値とを使用して前記データ項目を分類メタデータに分類する、１つまたは複数の分類モジュールのセットと、
前記分類モジュールのセットの内の各分類モジュールからの分類結果を前記分類メタデータに集約する集約コンポーネントと、
前記データ項目にポリシーを適用する際に使用するために、前記データ項目に前記分類メタデータを関連付けるコンポーネントと
を含む、コンピュータ。
【請求項２】
前記分類パイプラインはデータ項目処理パイプラインに組み込まれ、前記データ項目処理パイプラインは、前記データ項目を発見する発見モジュールを含むことを特徴とする請求項１に記載のコンピュータ。
【請求項３】
前記データ項目はファイルに対応し、前記発見モジュールは、ｉ）ファイルシステムをスキャンしてその中のファイルを発見すること、およびｉｉ）前記ファイルをスキャンして前記ファイルの変更を検出すること、の内の少なくとも１つを実行するように構成されたことを特徴とする請求項２に記載のコンピュータ。
【請求項４】
前記分類パイプラインはデータ項目処理パイプライン内に組み込まれ、前記データ項目処理パイプラインは、ポリシーを前記データ項目に適用するために前記分類メタデータを評価するポリシーモジュールを含むことを特徴とする請求項１に記載のコンピュータ。
【請求項５】
前記分類パイプラインは、ｉ）任意の既存の分類データ、およびｉｉ）前記データファイルに対する以前の変更を示すタイムスタンプまたは他の識別子、の内の少なくとも１つに基づいて、前記分類モジュールのセットの内の１つの分類モジュールを呼び出すかどうかを決定する決定モジュールを更に含むことを特徴とする請求項１に記載のコンピュータ。
【請求項６】
分類メタデータを外部に設定するために前記分類パイプラインとインタラクトするためのインタフェースを更に含むことを特徴とする請求項１に記載のコンピュータ。
【請求項７】
分類メタデータを外部で取得するために前記分類パイプラインとインタラクトするためのインタフェースを更に含むことを特徴とする請求項１に記載のコンピュータ。
【請求項８】
前記分類モジュールのセットは、該分類セット内の別の分類モジュールの分類メタデータをオーバーライドする権限のある分類モジュールを含むことを特徴とする請求項１に記載のコンピュータ。
【請求項９】
コンピュータで実行する、データ項目を分類する方法であって、
第１のフェーズにおいて、データ項目を発見するステップと、
前記第１のフェーズとは独立している第２のフェーズにおいて、前記データ項目と関連付けられた１つ以上のプロパティを使用して前記データ項目を分類するステップであって、これにより関連する分類プロパティセットを生成し、前記１つ以上のプロパティが、現在定められた１つ以上の分類プロパティを含み、前記データ項目が、１つ以上の分類コンポーネントにより分類される、ステップと、
前記データ項目が２つ以上の分類コンポーネントにより分類されたときに分類プロパティセットを集約するステップと、
前記第２のフェーズとは独立している第３のフェーズにおいて、ｉ）前記分類プロパティセット、およびｉｉ）前記集約した分類プロパティセット、の内の少なくとも１つに基づいてポリシーを前記データ項目に適用するステップと
を含むことを特徴とする方法。
【請求項１０】
前記データ項目と関連付けられた１つ以上のプロパティを使用するステップは、少なくとも１つの分類コンポーネントを含む分類コンポーネントのセットからの分類結果を使用して分類ルールを自動的に適用するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
事前定義された順序付けにおいて前記２以上の分類コンポーネントを呼び出すステップと、前記２以上の分類コンポーネントの内の１つをイネーブルしてプロパティのセットを前記２以上の分類コンポーネントの内の第２の分類コンポーネントに渡すステップと、を更に含むことを特徴とする請求項９に記載の方法。
【請求項１２】
事前定義された順序において前記２以上の分類コンポーネントを呼び出すステップと、前記事前定義された順序における後続の分類コンポーネントが、前記事前定義された順序における前の分類コンポーネントのプロパティのセットを変更できるようにするステップとを更に含むことを特徴とする請求項９に記載の方法。
【請求項１３】
コンピュータプログラムであって、
１つ以上のデータ項目を発見するステップと、
前記データ項目と関連付けられたプロパティのプロパティセットを入手するステップでであって、前記プロパティセットが、前記データ項目と関連付けられた１つ以上の現在定められた分類プロパティを含む、ステップと、
分類器セットの内の１つ以上の分類器を使用して前記データ項目を分類するかどうかを決定するステップと、
前記２つ以上の分類器が呼び出されたとき、前記分類器セットの内の２以上の分類器からの分類結果を集約するステップと、
ｉ）前記１つ以上の分類器、およびｉｉ）前記２つ以上の分類器、のうちの少なくとも１つによりなされる任意の変更に基づいて前記プロパティセットを更新するステップと、
更新された前記プロパティセットに基づいてポリシーを前記データ項目に適用するステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１４】
前記請求項１３に記載のコンピュータプログラムを記録したコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動分類ルールを含むデータ分類パイプラインに関する。
【背景技術】
【０００２】
典型的な企業環境において維持されて処理されるデータ量は、膨大で急速に増加している。例えば、情報技術（ＩＴ）部門が、数十のフォーマット内の何百万あるいは何十億ものファイルを取り扱わなければならないのはよくあることである。さらに、既存の数は、かなりの率で増加する（例えば、１年で二桁の増加）傾向にある。このようなデータのほとんどは、積極的に管理されずに、共有するファイル内に構造化されていない形で保存されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
既存のデータ管理ツールおよびその実施は、提示し得る多様で複雑なシナリオの変化に対応する能力があまりない。そのようなシナリオは、コンプライアンス、セキュリティ、および格納を含み、そして構造化されていないデータ（例えば、ファイル）、半構造化データ（例えば、ファイルに別のプロパティ／メタデータを足したもの）、および構造化データ（例えば、データベースによる構造化）に適用する。従って、管理コストおよびリスクを低減する何らかの技術が望ましい。
【課題を解決するための手段】
【０００４】
本発明の概要は、以下の発明を実施するための形態でさらに説明される代表的な概念からの選択を簡易な形式において導入するために与えられる。本発明の概要は、特許請求される発明の主題の主要な特徴または不可欠な特徴を明らかにすることを意図せず、特許請求される発明の主題の範囲を限定するであろういかなる方法においても使用されることを意図しない。
【０００５】
簡潔に言えば、本明細書で説明される発明の主題のさまざまな態様は、データ項目（例えば、ファイル）がデータ処理パイプライン（ｄａｔａ  ｐｒｏｃｅｓｓｉｎｇ  ｐｉｐｅｌｉｎｅ）を通じて処理される技術に向けられ、データ処理パイプラインは、データ項目をその分類に基づいて管理するのを容易にする分類パイプライン（ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｐｉｐｅｌｉｎｅ）を含む。一態様において、分類パイプラインは、発見された各データ項目と関連付けられるメタデータ（例えば、ビジネスインパクト、プライバシーレベルなど）を入手する。１または複数の分類子（ｃｌａｓｓｉｆｉｅｒｓ）のセットは、呼び出されるとデータ項目を分類メタデータ（例えば、１または複数のプロパティ）に分類し、分類メタデータは、次に、そのデータ項目と関連付けられる（関連付けられて保存される）。ポリシーは、次に、データ項目が関連付けられた分類メタデータに基づいて各データ項目に適用され、例えば、各ファイルのメタデータに基づいてファイルを消去（ｅｘｐｉｒｅ）したり、ファイルの保護／アクセスレベルを変更したりするなどに適用され得る。
【０００６】
一態様において、データ項目を処理するパイプラインは、項目を発見し、分類し、そしてポリシーを適用する独立したフェーズに対するモジュラーコンポーネントを含む。各フェーズは、拡張可能であり、そのフェーズ内で機能する１または複数のモジュールを含むことができる（またはモジュールを含まない）。各項目の分類メタデータ／プロパティは、設定されたインタフェースまたは取得されたインタフェースを経由して外部で設定または入手され得る。
【０００７】
一態様において、分類フェーズにおいて、複数の分類子モジュールが呼び出され得る。データ項目が以前に分類されたかどうかおよび／または分類された時間といった、さまざまな基準に基づいて、各分類子を呼び出すかどうかの決定が行われ得る。分類子は、データ項目を分類する際、データ項目と関連付けられるプロパティ、および／またはデータ項目自体のコンテンツを任意に使用し得る。分類子の事前定義された順序付け、権限のある（ａｕｔｈｏｒｉｔａｔｉｖｅ）分類子および／または集約（ａｇｇｒｅｇａｔｉｏｎ）機構は、異なる分類子が同じ項目を分類することによる競合に対処するのに使用され得る技術に含まれる。
【０００８】
データ項目の場所に基づいてデータ項目を分類する分類子、グローバルリポジトリベースの分類子（所有者および／または著者に基づく）、および／または項目内に含まれるコンテンツに基づいて項目を分類するコンテンツベースの分類子を含む、異なる分類子型が提供され得る。各分類子は、自動分類ルールに対応し得るし、その分類子は、プロパティ値を直接変更し得る、または対応するルール機構がプロパティを変更できるように、変更した結果を対応するルール機構に返し得る。
【０００９】
他の利点は、図面と併用される時に以下の詳細な説明によって明らかになり得る。
【図面の簡単な説明】
【００１０】
本発明は、例として図示され、同様の参照数字が同様の要素を含む添付図に限定されない。
【００１１】
【図１】データ管理のために、データ項目を自動的に処理するパイプラインサービスにおいて、データ項目を発見し、そのデータ項目を分類し、そしてその分類に基づいてポリシーを適用することを含む例示的なモジュールを示すブロック図である。
【図２】ファイルサーバのファイルを処理してそのファイルと関連付けられたプロパティにする時にパイプラインサービスによって行われる例示的なステップを示す代表的な図である。
【図３】データ項目のプロパティが分類ランタイム経由で処理するためのモジュール同士で渡され得る方法を実証する例示的な分類サービスアーキテクチャの代表的な図である。
【図４Ａ】ポリシーを適用するための項目を分類するステップを含むデータ項目を処理するために用いられる例示的なステップを示すフロー図を備える図である。
【図４Ｂ】ポリシーを適用するための項目を分類するステップを含むデータ項目を処理するために用いられる例示的なステップを示すフロー図を備える図である。
【図５】本発明のさまざまな態様が組み込まれ得るコンピューティング環境の例を示す図である。
【発明を実施するための形態】
【００１２】
本明細書で説明される技術のさまざまな態様は、データ項目（オブジェクト）を分類に分類し、そしてその分類に基づいてデータ管理ポリシーを適用することによってデータ（例えば、ファイルサーバ上のファイルまたは同種のもの）を管理することに概ね向けられる。一態様において、これは、分類パイプラインに基づいたデータ分類対応ソリューション用のモジュラーアプローチ経由で達成される。概して、パイプラインは、共通インタフェースを通じて通信を行う一連のモジュラーソフトウェアコンポーネントを備える。さまざまな時点で、データ分類に基づいたデータに適用されるポリシーを用いて、データが発見されて分類される。
【００１３】
ファイルサーバ上で維持されるファイル／データを分類するための異なるファイルの分類型のようなさまざまな例が、本明細書で説明されるが、本明細書で説明されるどの例も限定する例ではないことに留意されたい。例えば、ファイルが分類され得るだけでなく、他のデータ構造も関係のある分類「型」に分類され得るし、例えば、構造化された任意のデータ（例えば、データの表し方およびデータにアクセスすることができる方法を記述する抽象モデルに続く任意のデータ）が、例えば、電子メール項目、データベースのテーブル、ネットワークデータなどに分類され得る。さらに、データを格納する他の方法が使用され得るし、例えば、ファイルサーバの代わりまたはそれに加えて、データが、ローカルストレージ、分散ストレージ、ストレージエリアネットワーク、インターネットストレージなどに維持され得る。そのため、本発明は、本明細書で説明される特定の実施形態、態様、概念、構造、機能性または例に限定されない。むしろ、本明細書で説明される実施形態、態様、概念、構造、機能性または例のいずれも限定するものではないし、本発明は、概してコンピューティングおよびデータ管理において利益を与えるさまざまな方法に使用され得る。
【００１４】
図１は、本明細書で説明される、データ項目を処理するパイプラインを含む技術に関係するさまざまな態様を示し、本明細書で例証されるパイプラインは、ファイルを処理するのに使用され得るが、電子メール項目などの１または複数の他のデータ構造を処理するのに使用され得るようにも理解される。図１の例において、パイプラインは、データストア１０４によって表されるようなデータの任意のセット上で動作するサービス１０２として実装される。
【００１５】
概して、パイプライン１０２は、発見モジュール１０６、分類サービス１０８、およびポリシーモジュール１１３を含む。用語「サービス」は、単一のマシンと必ずしも関連付けられるわけではないが、パイプラインのある実行を調整する機構であることに留意されたい。この例において、分類サービス１０８は、他のモジュール、つまりメタデータ抽出モジュール（複数可）１０９、分類モジュール（複数可）１１０、およびメタデータストレージモジュール（複数可）１１１を含む。以下で説明されるそれぞれのモジュールは、フェーズであると考えられ得るし、実際、動作ごとのタイムラインが連続する必要はなく、即ち、各フェーズは、比較的独立して行われ得るし、直ちに前のフェーズに続く必要はない。例えば、発見フェーズは、分類フェーズが後で分類する項目を発見して維持し得る。別の例として、データは、週に１回稼動するデータ管理アプリケーション（例えば、バックアップ）を用いて１日ベースで分類され得る。どのフェーズも、実時間のオンライン処理またはオフライン処理、フォアグラウンドまたはバックグラウンド（例えば、遅延）動作、または別個のマシン上に分散される方法によって、独立して行われ得る。
【００１６】
概して、発見モジュール（複数可）１０６は、分類する項目（例えば、ファイル）を見つけて、分類するために２以上の機構を使用し得る。例として、ファイルサーバ上でファイルを発見する２つの方法があり得、１つの方法では、ファイルシステムをスキャンすることによって動作し、もう１つの方法では、リモートファイルアクセスプロトコルからのファイルの新しい修正を検出する。概して、発見されたデータは、分類するための項目として、直接または中間ストレージ経由で分類フェーズ／サービス１０８に提供される。このようにして、発見は、分類から論理的にデタッチされ得る。
【００１７】
発見は、いくつかの方法で開始され得る。１つの方法は、要求の後に項目が発見されるオンデマンド方法である。別の方法は、１または複数の項目の変更が発見動作をトリガする実時間の方法である。さらに別の方法は、例えば、通常の就業時間後の１日１回などにスケジュールされた発見方法である。さらに別の方法は、バックグラウンドプロセスまたは同種のものが、例えば、ネットワークまたはサーバ利用が比較的少ない時などの低い優先度で項目を発見するように動作する遅延した発見方法である。さらに、発見は、オンライン動作において、つまり、実データ上で、または元データのポイント・イン・タイムスナップショットなどのデータのオフラインコピー上で稼動され得ることに留意されたい（概して、スナップショットコピーは、特定のデータ項目がある定義された時点にあった時のそれらのコピーを指し、それによって、データ項目が実時間に変更し得る生システムとは対照的に、スナップショットコピー上の作業は、データ項目が処理される時にそれらが変わらない状態を維持するのに役立つことに留意されたい）。
【００１８】
分類フェーズ／サービス１０８（以下で説明される）に続いて、ポリシーモジュール（複数可）１１３は、各項目の分類に基づいてポリシーを適用する。例として、情報漏洩保護プロダクトは、あるファイルが「個人識別可能情報」または同種のものを有すると分類し得る。ファイルバックアッププロダクトは、「個人識別可能情報」を有すると分類される任意のファイルが、暗号化されたストレージにバックアップされるようなポリシーに構成され得る。
【００１９】
次に図１に表したような分類に関係するさまざまな態様について、メタデータ抽出モジュール（複数可）１０９は、データ項目と関連付けれたメタデータを見つける。例えば、ファイルシステムは、それがファイルを関連付ける多くの属性を有し、この属性は、周知の方法で抽出され得る。メタデータ抽出モジュール（複数可）１０９は、それを分類フェーズへの入力として使用することができるように、分類メタデータの現在の値も抽出する。分類は、生データまたはバックアップデータ上で稼動され得ることに留意されたい。
【００２０】
メタデータのいくつかの例は、プロパティ名（または識別子）、値型プロパティ（ｐｒｏｐｅｒｔｙ  ｖａｌｕｅ  ｔｙｐｅ）（実値のデータ型、例えば、ストリング、日付、ブール値、順序付けられた値のセットまたは複数セットなどの単純なデータ型を識別する）、および階層的分類法によって記述されるデータ型（文書型、組織単位、または地理的場所）などの複雑なデータ型といったさまざまな要素を有する分類プロパティ定義を含む。分類プロパティ値（「プロパティ値」または単純に「プロパティ」と呼ぶ）は、データ項目を分類する目的でそのデータ項目に割り当てられ得るある値である。この値は、分類プロパティと関連付けられて、その関連付けられたプロパティ定義によって課せられる制限を概ね遵守する。
【００２１】
他の例は、プロパティスキーマ（実行可能な値に対する多くの制限を記述する）および複数の値が単一の値に集約され得る方法を記述する集約ポリシーを含み、パイプラインを実行する間にそのような集約が必要な場合に行う。さらに、メタデータは、言語依存情報、追加の識別子などのプロパティと関連付けられる付加的な属性を備え得る。
【００２２】
例として、型が「順序付けられた値のセット（ｏｒｄｅｒｅｄ  ｖａｌｕｅ  ｓｅｔ）」で「ビジネスインパクト（Ｂｕｓｉｎｅｓｓ  ｉｍｐａｃｔ）」という名のプロパティがあり、ＨＢＩ（高位ビジネスインパクト）、ＭＢＩ（中位ビジネスインパクト）およびＬＢＩ（低位ビジネスインパクト）の値に限られ、ＨＢＩはＭＢＩに勝り、ＭＢＩはＬＢＩに勝る集約ポリシーを用いると考えてみる。分類プロセスにおいて、プロパティ値をデータ項目に関連付けることは、その文書を文書のクラス（例えば、カテゴリ）に自動的に「結合する（ｂｉｎｄ）」ことに留意されたい。例えば、プロパティＢｕｓｉｎｅｓｓｉｍｐａｃｔ＝ＨＢＩ”をデータ項目にアタッチすることによって、このデータ項目は、文書Ｂｕｓｉｎｅｓｓｉｍｐａｃｔ＝ＨＢＩ”の「カテゴリ」に暗示的に割り当てられる。
【００２３】
メタデータは、外部のデータソースまたは他のキャッシュ内でも維持され得る。一例では、ユーザ、またはクライアント、および／または１または複数の他の機構が、分類メタデータまたは分類自体を設定し、それを、データベースなどのデータストア内に維持するのを可能にすることを含む。従って、例えば、ユーザは、ファイルを「個人識別可能情報」または同種のものを含むように手動で設定し得る。自動化プロセスは、例えば、ファイルが機密フォルダに付加される時に、プロセスが、関連付けられたメタデータをそのファイルに自動的に設定し得るなど、どのようなフォルダがファイルを含むかに基づいてメタデータを決定するといった同様の動作を行い得る。
【００２４】
さらに、項目用のメタデータは、以前の抽出および／または分類動作によって維持（キャッシュされ得る。従って、メタデータの抽出は、例えば、既存のメタデータを抽出（読み出し）するおよび新しいメタデータを抽出するなど、複数の部分において行われ得る。容易に認識することができるように、既存のメタデータの読み出しは、ほとんど変更しないファイルなどに対する分類効率を上げ得る。さらに、効率機構は、例えば、分類子から受信したタイムスタンプに基づくなど、その分類子のメタデータが更新された最後の時間に基づいて分類子を呼び出すかどうかを決定し得る。ルール変更または分類子変更といった分類子サービス１０８の構成の変更も、新しい分類をトリガし得る。
【００２５】
ひとたび項目用のメタデータが入手されると、１または複数の分類モジュール１１０は、そのメタデータに基づいて項目を分類する。その項目のコンテンツも、例えば、ファイルを分類するのに使用され得るファイルのプロパティに関するあるキーワード（例えば、「機密用（ｃｏｎｆｉｄｅｎｔｉａｌ）」、タグまたは他のインジケータを探すのに評価され得る。データを分類するのにさまざまな方法がある。例えば、ファイルを分類する時、ファイルは、ユーザによって手動で分類に設定され、および／またはファイルを制御するラインオブビジネス（ＬＯＢ）アプリケーション（例えば、人材アプリケーション）によって分類されたかもしれない。ファイルは、管理スクリプトを稼動することによって分類に設定され、および／または分類ルールのセットを使用して自動的に分類され得る。
【００２６】
概して、自動分類ルールは、分類パイプラインフェーズ１０８の一部である一般的で拡張可能な機構を提供する。これによって、管理者または同種のものが、データ項目に適用されてその項目を分類する自動分類ルールを定義できるようになる。各自動分類ルールは、あるデータオブジェクトのセットの分類を決定して、分類プロパティを設定することができる分類モジュール（分類子）をアクティブ化する。１つの分類子モジュールは、同じデータ項目（または異なるデータ項目）に対して異なる分類プロパティを決定するいくつかのルールを含み得る。さらに、複数の分類子は、同じデータ項目に適用され得るし、例えば、異なる２つの分類子がそれぞれ、ファイルが「個人識別可能情報」を有するかどうかを決定し得る。両方の分類子は、同じファイルを評価するのにデプロイ（ｄｅｐｌｏｙ）され得るし、それによって、たとえ１つの分類子のみが、ファイルが「個人識別可能情報」を含むと決定しても、そのファイルは、そのように分類される。
【００２７】
例として、ルールが包含し得るいくつかの要素は、ルール管理情報（ルール名、識別子など）、ルールスコープ（ｒｕｌｅ  ｓｃｏｐｅ）（「ｃ：＼ｆｏｌｄｅｒ１内のすべてのファイルといったルールによって管理されるデータ項目のセットの記述」）、およびパイプラインの間にルールがどのようにして実行されるかを記述する、ルール評価オプションを含む。他の要素は、分類子モジュール（このルールによって使用される分類子を参照して実際にプロパティ値に割り当てる）、プロパティ（このルールによって割り当てられたプロパティのセットを定義する任意の記述）、および付加的な実行ポリシー（ファイルのコンテンツおよび同種のものを分類するのに使用される正規表現のような付加的なフィルタなど）のような付加的なルールパラメータを含む。
【００２８】
分類子モジュールの例は、（１）データ項目の場所（例えば、ファイルディレクトリ）に基づいて項目を分類する分類子、（２）データ項目のいくつかの特性に基づいてグローバルリポジトリを使用する（例えば、ファイル所有者に基づいてＡｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ（登録商標）またはＡＤの組織単位を検索する）ことによって分類する分類子、（３）データコンテンツおよびデータ特性に基づいて分類する（例えば、項目のデータのパターンを探す）分類子を含む。これらは例にすぎず、当業者は、項目の他の特性も異なる項目を分類するのに使用され得る、即ち、実質的に、項目間のどの相対的差異も分類目的に使用され得ることを認識し得ることに留意されたい。
【００２９】
一実装において、分類子は、さまざまなモードで動作し得る。例えば、１つの「明示的分類子（ｅｘｐｌｉｃｉｔ  ｃｌａｓｓｉｆｉｅｒ）」の動作モードは、例えば、個人情報がファイル内で見つかった時にその分類子が対応するプロパティ「ＰII」を「存在する（Ｅｘｉｓｔｓ）」または同種のものに設定するように、分類子を１または複数の実プロパティに設定する。もう１つの適するモードは、「非明示的分類子（ｎｏｎ−ｅｘｐｌｉｃｉｔ  ｃｌａｓｓｉｆｉｅｒ）」であり、例えば、ファイルがｃ：＼ｄｅｂｕｇｇｅｒなどのあるディレクトリ内にあるかどうかについて、分類子をＴＲＵＥまたはＦＡＬＳＥで返し得る。ＴＲＵＥまたはＦＡＬＳＥモードにおいて、自動分類ルールは、分類子がＴＲＵＥを返す度に設定されるプロパティおよび値に関連付けられる。従って、分類子は、１または複数のプロパティ値を設定し得るし、または分類子を呼び出すルールがそれを行い得る。ＴＲＵＥまたはＦＡＬＳＥ型以外の分類子は、例えば、数値（例えば、確率値）を返してより粒度の高い分類および分類ルールを提供するのに用いられ得ることに留意されたい。
【００３０】
分類に続いて、分類結果、および恐らく他の抽出されたメタデータは、項目と関連付けられて任意に保存される。図１に表すように、メタデータストレージモジュール１１１は、この動作を行う。格納によって、ポリシーが、後の時間にその分類に基づいて適用されるのが可能になる。
【００３１】
それぞれの分類パイプラインモジュールは、さまざまな企業が所与の実装をカスタマイズし得るように拡張可能である。その拡張性によって、２以上のモジュールがパイプラインの同じフェーズに差し込まれる（ｐｌｕｇｇｅｄ）のを可能にする。さらに、どのフェーズも、例えば、（複数のマシンにわたる）分散方法において、並列または縦列で行われ得る。例えば、分類の計算コストが高い場合、ポリシーモジュールに提供される各並列パスの結果を用いて、項目を（例えば、負荷バランシング技術を使用して）、異なるマシン上で稼動する分類子の並列セットに分散することができる。
【００３２】
ポリシーに関して、アプリケーション（パイプラインに直接差し込まれないものを含む）は、項目を対処する方法についてのポリシー決定を行うために、分類メタデータを評価し得る。そのようなアプリケーションは、項目の有効期限（ｅｘｐｉｒａｔｉｏｎ）、監査、バックアップ、保有（ｒｅｔｅｎｔｉｏｎ）、検索（ｓｅａｒｃｈ）、セキュリティ、コンプライアンス、最適化などをチェックする動作を行うアプリケーションを含む。そのような保留動作（ｐｅｎｄｉｎｇ  ｏｐｅｒａｔｉｏｎ）のいずれも、データがまだ分類されていない、またはその保留動作に関してまだ分類されていないイベント内のデータの分類をトリガし得ることに留意されたい。
【００３３】
容易に認識することができるように、異なる分類子は、異なるおよび恐らく競合する分類結果になり得る。一態様において、プロパティに対する分類値の集約が行われる。このため、その分類プロパティを決定するために、データ項目ごとに、定義された分類ルールが（例えば、管理者またはプロセスによって）評価される。２つの分類ルールが、１つの具体的な分類プロパティに対して同じ値を設定することができる場合、集約プロセスは、その分類プロパティの最終値を決定する。従って、例えば、１つのルールによってプロパティの結果が「１」に設定されて、別のルールによってその同じプロパティの結果が「２」に設定されるであろう場合、定義された集約ポリシーは、いくつかの実施形態において、そのプロパティに与えるべき実値、即ち、「１」または「２」または他の値を決定し得る。この特定のシナリオにおいて、１つのルールは、別のルールのプロパティの設定を上書きしないが、その競合を管理するために集約ポリシーが呼び出されることに留意されたい。
【００３４】
別のシナリオにおいて、権限のある分類子が使用され得る。権限のある分類子は、別の分類子型であり、概して、集約ルールをアクティブ化せずに、他の分類子をオーバーライド（ｏｖｅｒｒｉｄｅ）することができる分類子である。このような分類子は、例えば、どの競合にも勝るように、その結果のフラグを立てることができる。
【００３５】
別の態様において、分類ルールに対する評価順序を自動的に決定するための機構が提供される。このため、分類ルールの評価順序は、管理者によって決定され得るし、および／または異なるルールと分類子間のなんらかの依存関係（ｄｅｐｅｎｄｅｎｃｉｅｓ）によって決定されることによって自動的に決定され得る。例えば、Ｒｕｌｅ−Ｒ１が分類プロパティＰｒｏｐｅｒｔｙ−Ｐ１を設定して、Ｒｕｌｅ−Ｒ２が、Ｐｒｏｐｅｒｔｙ−Ｐ１を使用してＰｒｏｐｅｒｔｙ−Ｐ２の値を決定するＣｌａｓｓｉｆｉｅｒ−Ｃ１を使用する場合、Ｒｕｌｅ−Ｒ１は、Ｒｕｌｅ−Ｒ２の前に評価される必要がある。
【００３６】
さらに、分類子を稼動するかどうかは、以前の分類子の結果によって決まり得る。従って、例えば、ほとんど誤検出がない１つの分類子が使用され得るし、「ＴＲＵＥ」が出る度にその結果が使用される。二次的な分類子（例えば、検出漏れを無くすために設計される）は、権限のある分類子が「ＴＲＵＥ」を返さない場合（例えば、「ＦＡＬＳＥ」または恐らく不確実性を示す結果を返す場合）にのみ考慮される。別の例では、事前定義された「高度（ａｌｔｉｔｕｄｅ）」に基づいて、ある分類子をパイプライン内で順序付ける。例えば、低高度（ｌｏｗｅｒ−ａｌｔｉｔｕｄｅ）の分類子は、高高度（ｈｉｇｈｅｒ  ａｌｔｉｔｕｄｅ）の分類子の前にパイプライン内で実行される。従って、パイプラインにおいて、分類子は、高度が低いものから順にソートされる。
【００３７】
図２は、拡張可能な自動分類ルールをファイルサーバ２２０上で実装することに向けられたさらに具体的な例を示す。概して、モジュールの代わりに、図２は、パイプラインサービスのさまざまなステップ２２１から２２５までを表し、見れば分かるように、このステップ／モジュール２２１から２２５までは、図１のモジュール１０６、１０９から１１１まで、および１１３にそれぞれ対応する。従って、分類ルールは、分類パイプライン内で適用され、１または複数のデータ発見モジュール２２１（例えば、スキャナ）、１または複数のメタデータ読み取りモジュール２２２（例えば、抽出器および読み出し器）、分類（分類子）を決定する１または複数のモジュール２２３のセット、メタデータ（セッター（ｓｅｔｔｅｒｓ））を格納する１または複数のモジュール２２４、および分類（ポリシーモジュール）に基づいてポリシーを適用する１または複数のモジュール２２５を含む。
【００３８】
また図２に表されるように、どのステップにおいてもモジュールの数は、拡張され得る。例えば、分類ステップは、分類子用の拡張性モデルを提供し、管理者は、新しい分類子を登録し、既存の分類子を列挙し、そしてもはや望ましくない分類子の登録を取り消すことができる。
【００３９】
本明細書で概ね説明したように、ファイルサーバ上でファイルを管理するためのステップは、ファイルを分類すること、および各ファイルの分類に基づいてデータ管理ポリシーを適用することを含む。ファイルは、どのポリシーもファイルに適用されないように分類され得ることに留意されたい。
【００４０】
一実装において、ファイルサーバ２２０上のファイルに対する自動分類プロセスは、そのサーバ２２０上で定義される分類ルールによって駆動される。ファイルが、分類がアクティブであるファイルサーバ上で格納される時、そのファイルは、自動的に分類される。即ち、そのファイルを分類するユーザからの明示的要求がない。その特定のファイルサーバ上でファイルを分類するのに使用され得るさまざまな分類基準は、（１）分類ルールおよびファイルサーバ上で稼動する分類子、（２）ファイルと関連付けられたままの以前の分類ルール、および／または（３）ファイル（またはその属性）自体に格納されるプロパティを含む。この基準は、プロパティストア２３４に格納される（しかし、ファイル自体に格納され得る）、プロパティ２３２の合成セット（ｒｅｓｕｌｔａｎｔ  ｓｅｔ）を提供するために所与のファイルの分類を決定する時に評価される。
【００４１】
一実装において、各分類ルールは、以下に示すような評価オプションを有し得る。
ファイルがまだ分類されていない場合に限り評価する。
【００４２】
たとえファイルがすでに分類されていても評価し、以前の１または複数の分類プロパティ値（例えば、存在するのであれば、同じファイル上での以前の分類プロセスによる実行からの値）を考慮に入れる。
【００４３】
たとえファイルがすでに分類されていても評価するが、以前の分類プロパティ値のいずれも考慮に入れない。
【００４４】
例として、ユーザによってサーバ上のフォルダにファイルとして保存された文書（割り当てられたプロパティがない）を考えてみる。自動分類ルールは、ファイルを中位ビジネスインパクト、つまり、Ｂｕｓｉｎｅｓｓｉｍｐａｃｔ＝ＭＢＩを有すると分類する。この分類は、文書内部にも格納され得る（ファイルサーバがこの文書型にインストールされるパーサーを有する理由による）。
【００４５】
文書が、次に別のサーバ（および異なるフォルダ）にコピーされると考えてみる。新しいフォルダは、稼動する場合、フォルダ内のファイルを分類する分類ルールに組み込まれ、ファイルがまだ分類されていない場合、高位ビジネスインパクトＢｕｓｉｎｅｓｓｉｍｐａｃｔ＝ＨＢＩとして分類される。しかしながら、このファイル内のプロパティが、ビジネスインパクトの分類がすでにＭＢＩに設定されていることを示す理由により、そのファイルのビジネスプロパティは、ＭＢＩのままである。
【００４６】
上記のルールは、たとえファイルがすでに分類されているとしてもそのファイルを評価するために修正され得るし、ファイル内のプロパティ値を考慮に入れても入れなくてもよい。後続の分類の稼動中にそのルールが評価され、ＨＢＩがＭＢＩよりも高位である理由により、集約ポリシーは、そのファイルのプロパティがＨＢＩに設定されることを決定する。
【００４７】
見れば分かるように、各分類ルールは、そのルールに使用される分類子に依存する。別の例として、＜ｓｃｏｐｅ＞、＜ｃｌａｓｓｉｆｉｅｒ＞、＜ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｐｒｏｐｅｒｔｙ＞、＜ｖａｌｕｅ＞、を含む分類ルールがあり、その分類子が、ファイルを分類するのに使用される具体的な実装を含むと考えてみる。例えば、「フォルダによって分類する（ｃｌａｓｓｉｆｙ  ｂｙ  ｆｏｌｄｅｒ）」分類子は、ファイルの場所によってファイルの分類を可能にする。この分類子は、そのファイルの現在のパスを調べて（ｌｏｏｋ  ａｔ）、ファイルを分類ルールの＜ｓｃｏｐｅ＞で指定されたパスと一致させる。そのパスが＜ｓｃｏｐｅ＞内にある場合、ルールは、＜ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｐｒｏｐｅｒｔｙ＞が、そのルールで指定された＜ｖａｌｕｅ＞を有することができることを示す（この分類プロパティに対する実値を決定するために、複数のルールが集約される必要があり得る理由により、そのプロパティは、必ずしも設定されない）。これは、ルールが、＜ｖａｌｕｅ＞が指定されることを要求するので、明示的分類子であることに留意されたい。
【００４８】
異なる分類子型の例として、「所有者が分類をＡＤから読み出す（Ｒｅｔｒｉｅｖｅ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｆｒｏｍ  ＡＤ  ｂｙ  ｏｗｎｅｒ）」分類子は、ファイルの所有者を読み込んで、アクティブディレクトリに問い合わせて、所有者がルールに記載した（ｍｅｎｔｉｏｎｅｄ）＜ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｐｒｏｐｅｒｔｙ＞に対する正しい値を解明する。これは、所有者が、＜ｖａｌｕｅ＞を決定することによって、その＜ｖａｌｕｅ＞がルールで指定されないので、非明示的分類子であることに留意されたい。
【００４９】
各分類子は、分類子がどのプロパティを分類論理に使用するかを任意に示し得る。この情報は、分類プロセスが分類子を呼び出す順序を決定する際に役立つのに加え、その分類子を呼び出す前に、どのプロパティがストア２３４から読み出される必要があるかを示す。
【００５０】
さらに、各分類子は、分類子がどのプロパティを設定用に使用するかを任意に示し得る。この情報は、どのプロパティがこの分類子に関連があるかを示すユーザインタフェース（何も記載されない場合、すべてのプロパティが関連する）に使用され得るのに加え、その分類子を呼び出す前に、この情報が、どのプロパティがストアから読み出されるかを示す分類プロセスに使用され得る。その情報は、明示的および非明示的分類子に関連がある。例えば、「フォルダによって分類する（Ｃｌａｓｓｉｆｙ  ｂｙ  ｆｏｌｄｅｒ）」明示的分類子は、示される具体的なプロパティを有しないし、「所有者が分類をＡＤから読み出す（Ｒｅｔｒｉｅｖｅ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｆｒｏｍ  ＡＤ  ｂｙ  ｏｗｎｅｒ）」非明示的分類子もプロパティを有しない。しかしながら、「組織単位を決定する（Ｄｅｔｅｒｍｉｎｅ  ｏｒｇａｎｉｚａｔｉｏｎａｌ  ｕｎｉｔ）」非明示的分類子のみが「組織単位（Ｏｒｇａｎｉｚａｔｉｏｎａｌ  Ｕｎｉｔ）」プロパティを設定する方法を知っている。
【００５１】
付加的な識別について、任意の情報を使用して、会社名およびバージョンラベルなどの分類子を記述し得る。
【００５２】
分類子は、付加的なパラメータを消費する必要もあり得る。例えば、分類子が、いくつかの粒度表現（ｇｒａｎｕｌａｒ  ｅｘｐｒｅｓｓｉｏｎｓ）に基づいてファイル内の個人情報を見つけるのに構築される場合、その粒度表現は、その分類子にハードコード化される必要はなく、むしろ定期的に更新されるＸＭＬファイルなどの外部リソースから提供され得る。この場合、分類子は、そのＸＭＬファイルのポインタを含む。ファイルサーバリソースマネージャ（ＦＳＲＭ）ベースの分類によって、付加的なパラメータを分類に指定することができ、分類子が呼び出される時に、パラメータが入力として分類子に渡される。
【００５３】
さらに、分類子が稼動する許可レベルの理由により、分類子ランタイムの振る舞いは、異なる分類子間で異なり得る。１つの許可レベルでは、例えば、「ローカルシステム」または「ネットワークサービス」など、いかに高いまたは低い許可レベルが必要であり得るとしても、「ローカルサービス」である。
【００５４】
別の態様は、分類子がファイルのコンテンツにアクセスする必要があるかどうかについてである。例えば、上述したフォルダの分類子は、含んでいるフォルダに基づいてその分類子が分類する理由により、ファイルのコンテンツにアクセスする必要がない。対照的に、ファイル内の具体的なテキストまたはパターン（例えば、クレジットカード番号）を識別する分類子は、そのファイルのコンテンツを処理する必要がある。ＦＳＲＭ分類がそのファイルのコンテンツを分類子に流す（ｓｔｒｅａｍ）理由により、ファイルのコンテンツにアクセスする必要がある分類子は、高められた権限で稼動する必要はないことに留意されたい。
【００５５】
以下の表は、分類子の一実装のさまざまな特性を要約する。
【００５６】
【表１】
0005600345.tif 000002
【００５７】
図２は、ＡＰＩ２４０、ＡＰＩ２４２も表し、それぞれのインタフェースによって、他の外部のアプリケーションが、データ項目用のプロパティを取得しまたは設定できるようになる。概して、ＧｅｔＰｒｏｐｅｒｔｉｅｓＡＰＩ２４０は、任意の時間においてプロパティを「プルする（ｐｕｌｌ）」のに使用される（ポリシーモジュールが稼動する時、プロパティをそのモジュールにプッシュするパイプラインとは対照的である）。このＡＰＩ２４０は、分類データフェーズ２２３の間に設定されたどのようなプロパティも取得することができるように、分類フェーズ２２３およびストレージフェーズ２２４の後に示していることに留意されたい。
【００５８】
ＳｅｔＰｒｏｐｅｒｔｉｅｓＡＰＩ２４２は、任意の時間においてプロパティをシステム内に「プッシュする（ｐｕｓｈ）」のに使用される（しかし、このＡＰＩ２４２は、プロパティを後の、ＳｔｏｒｅＰｒｏｐｅｒｔｉｅｓフェーズ２２４の間に保存することができるように、分類データフェーズ２２３と併せて動作するものとして示している、つまり、ＳｅｔＰｒｏｐｅｒｔｉｅｓが基本的にユーザに向けられた手動の分類であることに留意されたい）。さらに、分類プロセスの一部として、分類子は、分類に使用するためのファイル（例えば、Ｆｉｌｅ．ＣｒｅａｔｉｏｎＴｉｍｅ．．）から抽出される付加的な事前定義されたファイルのプロパティにアクセスし得ることに留意されたい。このプロパティは、分類ＡＰＩを介した分類プロパティとして表示（ｅｘｐｏｓｅ）されないかもしれない。
【００５９】
図３について、フォルダ分類子３６３を含む分類サービス１０８に対する１つの例示的なアーキテクチャは、共通のストリーミングインタフェースを介して、例として１（１）から１０（１０）までラベル付けされ、例えば、実線の矢印がＤＣＯＭ呼を表す動作を経由して、分類ランタイム３７０との通信を行うパイプラインモジュール３６１から３６５までをアセンブルすることによって構築される。この例において、各パイプラインモジュール３６１から３６５までは、ＰｒｏｐｅｒｔｙＢａｇオブジェクト（１文書／ファイル当たり１プロパティバッグ）のストリームを処理し、そこで各ＰｒｏｐｅｒｔｙＢａｇオブジェクトは、（必要に応じて）以前のパイプラインモジュールから累積したプロパティのリストを保持する。概して、各パイプラインモジュール３６１から３６５までの役割は、このファイルプロパティに基づいていくつかのアクションを行い（例えば、プロパティをさらに付加する）、そして同じプロパティバッグをランタイム３７０に戻すことである。ランタイム３７０は、プロパティバッグのストリームを次のパイプラインモジュールが完了するまで渡す。
【００６０】
１つのＦＳＲＭベースの分類サービスにおいて、パイプラインモジュールは、感度（ｓｅｎｓｉｔｉｖｉｔｙ）によって異なってホストされる。より詳細には、ユーザコンテンツを解釈／解析しないパイプラインモジュール（実証された、ファイルシステムのメタデータを解釈する「フォルダ」分類子またはＡＤプロパティに向けられた「ＡＤ」分類子など）は、ＦＳＲＭ分類サービス内に直接ホストされ得る。パイプラインモジュールは、ユーザから提供されたコンテンツおよび／またはサードパーティー／外部のモジュールを取り扱う（権限の低いホスティングプロセスにホストされたＷｏｒｄ文書を解析する、管理者ではないユーザのアカウントに従って稼動するなど）。
【００６１】
図４Ａおよび図４Ｂでは、項目の発見を表すステップ４０２から始まる例示的なフロー図のステップによって、さまざまなパイプライン動作を要約する。ステップ４０２として動作し得るステップ４０４は、新しい各項目を提供する、またはステップ４０２が少なくとも１つの項目を提供した後いつでも第１の項目を選択する。
【００６２】
ステップ４０６では、選択された項目がキャッシュされているかおよびそのキャッシュ内で更新されているかどうかを評価する。そうである場合、その項目は、残りのパイプラインを介して処理される必要がないので、ステップ４０７に移ってプロパティの要望に基づいて任意のポリシーを適用する。ポリシーは、必要に応じてキャッシュ／更新ファイルに適用されることに留意されたい。ステップ４０８およびステップ４０９では、他の項目が何も残らなくなるまでそのプロセスを繰り返す。
【００６３】
項目が残りのパイプラインを介して処理される場合、ステップ４０６は、今度は項目を、その項目の基本プロパティがスキャンすることを表すステップ４１０に移る。このような基本プロパティは、ファイルのメタデータ、埋め込まれたプロパティなどになり得る。
【００６４】
ステップ４１２は、項目と関連付けられた既存の任意のプロパティを読み出すことを表す。このような読み出しは、上述のように、例えば、埋め込まれたモジュールおよびデータベースモジュールなどのさまざまなストレージモジュールから行い得る。
【００６５】
ステップ４１４では、さまざまなプロパティを集約する。プロパティが競合し得る場合があり、例えば、上記の例において、ファイルの分類プロパティは、ファイル内に埋め込まれ得るし、ファイルと外部でも関連付けられ得ることに留意されたい。タイムスタンプまたは他の競合解消ルールは、勝者（ｗｉｎｎｅｒ）を決定し得るし、そうでなければ分類は、競合するプロパティ値の理由により分類がスキップされない限り強制され得る。ステップ４１６は、例えば、ストレージモジュールの権限に基づくなど、そのような任意の競合を解消することを表す。
【００６６】
プロセスは、上述したように、分類子の順序付けに基づいて第１の分類子を選択することを表す図４Ｂのステップ４２０に続く（分類子が１つだけかもしれないことに留意されたい）。ステップ４２２は、選択された分類子を呼び出すかどうかを決定することを表す。上述のように、例えば、以前の分類の存在に基づく、タイムスタンプまたは他の基準に基づくなど、特定の分類子が稼動され得ないさまざまな理由がある。呼び出されない場合、ステップ４２２は、ステップ４２６に移動して、別の分類子が考慮されるかどうかをチェックする。
【００６７】
ステップ４２２において選択された分類子が呼び出される場合、上述のように、分類子を呼び出して、任意のパラメータを渡すことを表し、次に分類を行うステップ４２４が行われる。またも上述したように、分類子がプロパティを直接設定しない場合、その分類子の結果に基づいて対応するルールが使用される。
【００６８】
ステップ４２６およびステップ４２７は、他の任意の分類子に対してステップ４２２およびステップ４２４のプロセスを繰り返す。他の各分類子は、高度または他の順序付け技術によって決定づけられるような評価の順序に従って選択される。
【００６９】
ステップ４３０は、分類に基づいて必要に応じてプロパティを集約することを表す。上述のように、これは、任意の競合に対処することを含むが、集約は、権限のある任意の分類子の分類結果に適用しない。
【００７０】
ステップ４３２は、プロパティの変更を保存することを表し、もしあれば、ファイルと関連付けられたプロパティの変更も保存する。ポリシーモジュールは、ファイルのプロパティが変更されていない場合、ポリシーの適用をスキップし得ることに留意されたい。プロセスは、次に、図４Ａのステップ４０５に返って、任意のポリシー（ステップ４０７）を適用し、次の項目がもしあれば、その項目が何も残らなくなるまで選択および／処理し得る。
【００７１】
例示的なオペレーティング環境
図５は、図１から図４までの例が実装され得るのに適したコンピューティングおよびネットワーキング環境５００の例を図示する。コンピューティングシステム環境５００は、適したコンピューティング環境のほんの一例にすぎず、本発明の使用または機能性の範囲に関していかなる限定を示唆することも意図しない。コンピューティングシステム環境５００は、例示的なオペレーティング環境５００において図示されたコンポーネントの任意の１つまたはその組み合わせに関係する任意の依存性または要件を有するものとして解釈されるべきでない。
【００７２】
本発明は、他の多数の汎用または専用コンピューティングシステム環境または構成との動作が可能である。本発明を用いて適切に使用され得る周知のコンピューティングシステム、環境、および／または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家電、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスを任意に含む分散コンピューティング環境などを含むが、これに限らない。
【００７３】
本発明は、コンピュータによって実行されるプログラムモジュールなどの、コンピュータ実行可能命令の一般的な文脈において説明され得る。概して、プログラムモジュールは、特定のタスクを行うまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが行われる分散コンピューティング環境においても実施され得る。分散コンピューティング環境において、プログラムモジュールは、メモリストレージデバイスを含む、ローカルおよび／またはリモートコンピュータストレージ媒体に配置され得る。
【００７４】
図５を参照して、本発明のさまざまな態様を実装するための例示的なシステムは、コンピュータ５１０の形式で汎用コンピューティングデバイスを含み得る。コンピュータ５１０のコンポーネントは、処理ユニット５２０、システムメモリ５３０、およびシステムメモリを含むさまざまなシステムコンポーネントを処理ユニット５２０に接続するシステムバス５２１を含み得るが、これに限らない。システムバス５２１は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャを任意に使用したローカルバスを含む、いくつかのタイプのバス構造のいずれにもなり得る。例として、そのようなアーキテクチャは、工業標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクス標準協会（ＶＥＳＡ）ローカルバス、およびメザニンバスとしても知られる周辺機器コンポーネント相互接続（ＰＣＩ）バスを含むが、これに限らない。
【００７５】
コンピュータ５１０は、典型的には、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ５１０によってアクセスすることができる利用可能な任意の媒体にすることができ、揮発性および不揮発性媒体とリムーバブルおよびノンリムーバブル媒体との両方を含む。例として、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を備えることができるが、これに限らない。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を格納するための任意の方法または技術に実装される、揮発性および不揮発性媒体、リムーバブルおよびノンリムーバブル媒体を含む。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または所望の情報を格納するために使用することができて、コンピュータ５１０によってアクセスすることができるその他の媒体を含むが、これに限らない。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを、搬送波または他の移送機構などの変調データ信号で具現化し、任意の情報配信媒体を含む。用語「変調データ信号」は、その特性のうちの１または複数を、その信号内の情報を符号化するような方法で設定または変更する信号を意味する。例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音響、ＲＦ、赤外線などの無線媒体および他の無線媒体を含むが、これに限らない。上記の任意の組み合わせも、コンピュータ可読媒体の範囲内に含まれ得る。
【００７６】
システムメモリ５３０は、読み取り専用メモリ（ＲＯＭ）５３１およびランダムアクセスメモリ（ＲＡＭ）５３２などの揮発性および／または不揮発性メモリの形式のコンピュータストレージ媒体を含む。スタートアップ時など、コンピュータ５１０内の要素間で情報を転送するのに役立つ基本ルーチンを含む、基本入力／出力システム５３３（ＢＩＯＳ）は、典型的には、ＲＯＭ５３１に格納される。ＲＡＭ５３２は、典型的には、直ちにアクセス可能な、および／または処理ユニット５２０によって現在動作しているデータおよび／またはプログラムモジュールを含む。例として、図５は、オペレーティングシステム５３４、アプリケーションプログラム５３５、他のプログラムモジュール５３６およびプログラムデータ５３７が図示されているが、これに限らない。
【００７７】
コンピュータ５１０は、他のリムーバブル／ノンリムーバブル、揮発性／不揮発性のコンピュータストレージ媒体も含み得る。例として、図５は、ノンリムーバブルで不揮発性の磁気媒体を読み取るまたは書き込むハードディスクドライブ５４１と、リムーバブルで不揮発性の磁気ディスク５５２を読み取るまたは書き込む磁気ディスクドライブ５５１と、ＣＤ−ＲＯＭまたは他の光媒体などのリムーバブルで不揮発性の光ディスク５５６を読み取るまたは書き込む光ディスクドライブ５５５とが図示されている。例示的なオペレーティング環境において使用することができる他のリムーバブル／ノンリムーバブル、揮発性／不揮発性のコンピュータストレージ媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどを含むが、これに限らない。ハードディスクドライブ５４１は、典型的には、インタフェース５４０などのノンリムーバブルメモリインタフェースを介してシステムバス５２１に接続され、磁気ディスクドライブ５５１および光ディスクドライブ５５５は、典型的には、インタフェース５５０などのリムーバブルメモリインタフェースによってシステムバス５２１に接続される。
【００７８】
上述して図５に図示されたドライブおよびそれらに関連付けられたコンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータのストレージをコンピュータ５１０に提供する。図５において、例えば、ハードディスクドライブ５４１は、オペレーティングシステム５４４、アプリケーションプログラム５４５、他のプログラムモジュール５４６およびプログラムデータ５４７を格納するものとして図示される。これらのコンポーネントは、オペレーティングシステム５３４、アプリケーションプログラム５３５、他のプログラムモジュール５３６、およびプログラムデータ５３７と同じにすることもできるし、または異なることもできることに留意されたい。オペレーティングシステム５４４、アプリケーションプログラム５４５、他のプログラムモジュール５４６、およびプログラムデータ５４７は、本明細書では、それらが異なるコピーであることを図示するために異なる数字が最小限で与えられている。ユーザは、タブレットまたは電子デジタイザ５６４、マイクロフォン５６３、キーボード５６２、および一般的にマウス、トラックポールまたはタッチパッドと呼ばれるポインティングデバイス５６１などの入力デバイスを介して、コマンドおよび情報をコンピュータ５１０に入力し得る。図５に示していない他の入力デバイスは、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含み得る。これらと他の入力デバイスは、システムバスに接続されたユーザ入力インタフェース５６０を介して処理ユニット５２０に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）などの他のインタフェースおよびバス構造によって接続され得る。モニタ５９１または他のタイプのディスプレイデバイスも、ビデオインタフェース５９０などのインタフェース経由でシステムバス５２１に接続される。モニタ５９１も、タッチスクリーンパネルなどと一体化され得る。モニタおよび／またはタッチスクリーンパネルを、コンピューティングデバイス５１０がタブレット型パーソナルコンピュータなどに組み込まれる、ハウジング（ｈｏｕｓｉｎｇ）に物理的に接続することができることに留意されたい。さらに、コンピューティングデバイス５１０などのコンピュータは、出力周辺インタフェース５９４または同種のものを介して接続され得るスピーカ５９５およびプリンタ５９６などの、他の周辺出力デバイスも含み得る。
【００７９】
コンピュータ５１０は、リモートコンピュータ５８０などの１または複数のリモートコンピュータへの論理接続を使用したネットワーク化環境において動作し得る。リモートコンピュータ５８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードにし得るし、メモリストレージデバイス５８１のみが図５に図示されているが、典型的には、コンピュータ５１０に対して上述した多くのまたはすべての要素を含む。図５に描画された論理接続は、１または複数のローカルエリアネットワーク（ＬＡＮ）５７１および１または複数のワイドエリアネットワーク（ＷＡＮ）５７３を含むが、他のネットワークを含も含み得る。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて当たり前となっている。
【００８０】
ＬＡＮネットワーキング環境において使用される時、コンピュータ５１０は、ネットワークインタフェースまたはアダプタ５７０を介してＬＡＮ５７１に接続される。ＷＡＮネットワーキング環境において使用される時、コンピュータ５１０は、典型的には、モデム５７２、またはインターネットなどの、ＷＡＮ５７３上で通信を確立するための他の手段を含む。モデム５７２は、内部または外部で可能であり、ユーザ入力インタフェース５６０または他の適切な機構を経由してシステムバス５２１に接続され得る。インタフェースおよびアンテナを備えるような無線ネットワーキングコンポーネント５７４は、アクセスポイントまたはピアコンピュータなどの適したデバイスを介してＷＡＮまたはＬＡＮに接続され得る。ネットワーク化環境において、コンピュータ５１０またはその一部に対して描画されたプログラムモジュールは、リモートメモリストレージデバイスに格納され得る。例として、図５は、リモートアプリケーションプログラム５８５がメモリデバイス５８１上に常駐しているように図示しているが、これに限らない。図示したネットワーク接続は、例示的であり、コンピュータ間で通信リンクを確立する他の手段が使用され得ることが認識され得る。
【００８１】
補助サブシステム５９９（例えば、コンテンツを補助的に表示するためのシステム）は、ユーザインタフェース５６０経由で接続され得ることによって、たとえコンピュータシステムの主部が低電力状態であっても、プログラムコンテンツ、システム状況およびイベント通知などのデータをユーザに提供できるようになる。補助サブシステム５９９は、モデム５７２および／またはネットワークインタフェース５７０に接続され得ることによって、主処理ユニット５２０が低電力状態であってもこのシステム間で通信ができるようになる。
【００８２】
結論
本発明は、さまざまに修正して代替的に構成することが可能であるが、そのいくつかの例示的な実施形態が図面で示され、上記で詳細に説明されている。しかしながら、本発明を開示された具体的な形式に限定することを意図せず、反対に、その意図するところは、本発明の精神および範囲内におけるすべての修正、代替的構成および同等物を網羅することであることを理解されたい。
【図１】
0005600345.tif 000003
【図２】
0005600345.tif 000004
【図３】
0005600345.tif 000005
【図４Ａ】
0005600345.tif 000006
【図４Ｂ】
0005600345.tif 000007
【図５】
0005600345.tif 000008