(57)【要約】【課題】  本発明は、ローカルデータベースシステムまたはリモートデータベースシステム内のデータアイテムを自動的にクラスタ化し、表示するシステムおよび方法を提供する。【解決手段】  こうしたクラスタ化は、データアイテムに関連する、タイプ、場所、人物、日付、時刻、ユーザ定義などのプロパティに基づいていてもよい。この場合、最初のプロパティを使用してクラスタ化の最初のレベルを形成し、さらに下位のプロパティを自動的に決定して最適なクラスタ化を構成し、ここから必要な情報を見つけ出し、取り出す。データを体系化し、取り出すコンピュータ制御のインターフェースが提供される。このインターフェースには、少なくとも２つのクラスタプロパティに関するアイテムの分類を決定するプロパティアアナライザと、部分的にこのアイテムの分類に基づいて新しいクラスタを形成するオーガナイザが含まれる。【選択図】  図１
2005235196.tif 000002
【特許請求の範囲】
【請求項１】
データを表示するためのコンピュータ制御のインターフェースであって、
少なくとも２つのクラスタプロパティに関してアイテムの分類を決定するプロパティアアナライザと、
部分的にこのアイテムの分類に基づいて新しいクラスタを形成するオーガナイザを備えることを特徴とするインターフェース。
【請求項２】
前記クラスタプロパティは、１つまたは複数のデータアイテムに関連付けられており、前記データアイテムはローカルストレージおよびリモートストレージの少なくとも１つの場所に格納されることを特徴とする請求項１に記載のシステム。
【請求項３】
前記データアイテムは、文書、ファイル、フォルダ、イメージ、オーディオファイル、ビデオファイル、コード、メッセージ、および人物または場所を含む外部オブジェクトのコンピュータ表現を含むことを特徴とする請求項２に記載のシステム。
【請求項４】
前記クラスタプロパティは、アイテムタイプ、作成した日付または時刻、前記データアイテムに関連付けられた人物、場所、カテゴリ、およびシステム、アプリケーション、管理者、またはユーザが定義したプロパティの少なくとも１つに関連付けられていることを特徴とする請求項２に記載のシステム。
【請求項５】
前記プロパティアナライザは、アイテムのタイプごとにクラスタを決定し、さらに別のプロパティに基づいて下位のクラスタを決定することを特徴とする請求項１に記載のシステム。
【請求項６】
前記プロパティアナライザは、様々なアイテムプロパティにクラスタ化のスコアを割り当て、スコアが最も高いプロパティを選択することを特徴とする請求項１に記載のシステム。
【請求項７】
前記クラスタ化のスコアは、次の式：
ｓｃｏｒｅ＝ｎ＿ｉｔｅｍｓｃｌｕｓｔｅｒ１＊ｎ＿ｉｔｅｍｓｃ１ｕｓｔｅｒ２＊．．．
での乗算により計算されることを特徴とする請求項６に記載のシステム。
【請求項８】
前記クラスタ化のスコアは、次の式：
ｓｃｏｒｅ＝（Ｎ＿ｔｏｔａｌ）！／（（ｎ＿ｉｔｅｍｓｃｌｕｓｔｅｒ１）！＊（ｎ＿ｉｔｅｍｓｃ１ｕｓｔｅｒ２）！＊．．．）
のように２項分布に基づくことを特徴とする請求項６に記載のシステム。
【請求項９】
クラスタ結果の表示、選択したクエリの受信、プロパティ情報の受信、クラスタ内のデータアイテムに関連する情報の表示の少なくとも１つを行うユーザインターフェースをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１０】
請求項１に記載の前記プロパティアナライザと前記クラスタオーガナイザを実装するコンピュータ可読命令を格納することを特徴とするコンピュータ可読媒体。
【請求項１１】
クエリの結果を自動的にクラスタリングするシステムであって、
複数のアイテムの複数のプロパティを取り出す手段と、
前記プロパティに基づいて複数のアイテムのスコアを決定する手段と、
前記決定したスコアに基づいて前記アイテムに関連付けられたデータを自動的にクラスタリングする手段とを備えることを特徴とするシステム。
【請求項１２】
自動クエリクラスタリングの方法であって、
１つまたは複数のプロパティを複数のデータアイテムに関連付けるステップと、
前記プロパティに基づいて前記データアイテムの分類を決定するステップと、
前記決定した分類に基づいて前記データアイテムを自動的にクラスタリングするステップとを備えることを特徴とする方法。
【請求項１３】
前記分類は、次の式：
ｓｃｏｒｅ＝ｎ＿ｉｔｅｍｓｃｌｕｓｔｅｒ１＊ｎ＿ｉｔｅｍｓｃ１ｕｓｔｅｒ２＊．．．
ｓｃｏｒｅ＝（Ｎ＿ｔｏｔａｌ）！／（（ｎ＿ｉｔｅｍｓｃｌｕｓｔｅｒ１）！＊（ｎ＿ｉｔｅｍｓｃ１ｕｓｔｅｒ２）！＊．．．）
の少なくとも１つから決定することを特徴とする請求項１２に記載の方法。
【請求項１４】
Ｎ個のアイテムとＭ個のプロパティとを処理するステップをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１５】
Ｍ個のハッシュテーブルを初期化するステップ、Ｎ個のアイテムについて繰り返しを行うステップ、およびアイテムごとにＭ個のプロパティについて繰り返しを行うステップの少なくとも１つをさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１６】
プロパティごとにハッシュ値を計算するステップをさらに備えることを特徴とする請求項１５に記載の方法。
【請求項１７】
関連するハッシュテーブルのデータを使用してプロパティごとにクラスタ化のスコアを計算するステップをさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
事前に決定したしきい値に基づいてクラスタを自動的に体系化するステップをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１９】
クラスタの代替のグループ分けを提案するステップをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項２０】
ユーザ定義のプロパティに基づいてクラスタを体系化するステップをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項２１】
データベースに格納された１つまたは複数のデータアイテムおよび関連のプロパティと、
前記データアイテム用に作成された１つまたは複数の表示オブジェクトと、
前記データアイテムおよび前記関連のプロパティを選択するための入力コンポーネントと、
部分的に前記プロパティの自動分析に基づいて前記表示オブジェクトを表示する表示コンポーネントとを備えることを特徴とするグラフィカルユーザインターフェース。
【請求項２２】
前記プロパティと相互作用するためのコントロールをさらに備えることを特徴とする請求項２１に記載のインターフェース。
【請求項２３】
前記プロパティは結果のネストされたクエリに使用されることを特徴とする請求項２２に記載のインターフェース。
【請求項２４】
前記プロパティは、タイプ、場所、カテゴリ、人物、日付、時刻、およびユーザ定義のパラメータの少なくとも１つを含むことを特徴とする請求項２２に記載のインターフェース。
【請求項２５】
ユーザの操作から暗黙的に学習するコンポーネントをさらに備えることを特徴とする請求項２２に記載のインターフェース。
【請求項２６】
一部折りたたんだリストまたはグループをさらに備えることを特徴とする請求項２２に記載のインターフェース。
【請求項２７】
前記リストまたはグループを展開するためのコントロールをさらに備えることを特徴とする請求項２６に記載のインターフェース。
【請求項２８】
一部折りたたんだリストを利用して、圧縮されたビューに少なくとも１つの大規模なプロパティクラスタを表示することを特徴とする請求項２７に記載のインターフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータシステムに関し、より詳細には情報アイテムを様々なプロパティクラスタ（ｐｒｏｐｅｒｔｙ  ｃｌｕｓｔｅｒｓ）に関連付けられたアイテムの分類を分析することで、情報アイテムをより小さなサブセットに自動的に体系化するシステムおよび方法に関する。
【背景技術】
【０００２】
データベースベースのオペレーティングシステムが備える１つの重要な特徴は、多くのアイテムプロパティに関連するクエリを実行することで、該当するアイテムを迅速に見つけ出すことができることである。これに比べて、従来のシステムでは、例えば必要な情報を取り出すためにはフォルダ階層内のファイルの場所がわかっていなければならない。このクエリを使用したアプローチは非常に強力であるが、新しいシステムが成功するかどうかの大部分は、平均的なユーザがクエリを実行できる簡単でわかりやすいユーザインターフェース（ＵＩ）を作成できるかどうかにかかっている。データベースクエリ（例えばＴ−ＳＱＬ言語で表現される）は、本来の形では専門のプログラマにとっても処理が難しいので、通常、エンドユーザには適していない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
クエリの問題への１つのアプローチは、事前に定義されたいくつかのクエリに直接アクセスできるユーザインターフェースコマンドを提供することである。例えば、ディスク（ピクチャライブラリ）上のすべてのピクチャファイルや、すべての未読電子メールを見つけ出す事前定義のクエリを作成できる。さらに、システムは特定の方法で結果のグループ分けを提示することもできる。例えば、写真を撮影日によって自動的にグループ分けしてもよい。このようなパターンの事前定義クエリは、共通のシナリオの多くで役に立つが、一般性に欠けるため、データベースの機能をフルに活用することはできない。写真の例を使用すると、すべての写真を同じ日に撮影した（あるいはおそらくカメラのクロックがセットされていなかった）場合は、日付でグループ分けするのは無意味である。サードパーティのプロパティ（アプリケーション定義、管理者定義、あるいはユーザ定義のプロパティ）を処理する場合は、この状況がさらに悪化する。こうしたプロパティはオペレーティングシステムの作成元では把握していないので、このようなプロパティに関する事前定義のクエリを設定するのはほとんど不可能であろう。
【０００４】
もう１つのアプローチは、一見自然言語に近いテキストのクエリを使用してユーザがデータベースのクエリを実行できるようにすることである。こうしたクエリは、データベースという観点から見て十分に一般的であり、ユーザにもわかりやすいと言える。しかし、完全な自由形式による自然言語のクエリを記述できるようにする場合、個々のケースでユーザの意図を正しく理解するパーサを作成するのは困難である。何らかの文法上の制約を課す場合、多くの式の組合せで処理できるクエリを、ユーザが正しい構文で作成するのはさらに困難になる。いずれにしても、クエリのテキストを入力しなければならないという発想自体が多くのユーザを遠ざける恐れがある。小さな子供、英語を母国語としないユーザ、キーボードのないデバイス（例えばタブレットＰＣ）のユーザのいずれにとっても、テキストの入力は困難である。したがって、ポイントアンドクリック方式で簡単に情報を見つけ出し、取り出すことができるクエリインターフェースが必要である。
【課題を解決するための手段】
【０００５】
本発明のいくつかの態様について基本的な理解が得られるように、本発明の概要について以下に簡単に説明する。以下の説明は、本発明の広範囲の概要を示すものではない。本発明の重要／不可欠な要素を特定したり、本発明の範囲を限定したりする意図はない。唯一の目的は、後述の実施形態に関する説明の準備として、本発明に関するいくつかの概念を簡略化した形で示すことである。
【０００６】
本発明は、必要な情報を管理しやすい情報クラスタのサブセットの形で自動的に取り出し、表示する方法に関する。ファイルシステムのユーザインターフェースでは、必要な情報を見つけ出し、取り出そうとする場合に、例えばアイテムをリスト形式で表示することによって大規模なアイテムセット内をナビゲートする（ｎａｖｉｇａｔｉｎｇ）のは厄介な作業になる。本発明は、アイテムのプロパティに基づいて分類された大規模なアイテムセットをナビゲートできる改良型のポイントアンドクリック方式のインターフェースを提供する。このようなプロパティに基づいてクラスタリングされたアイテムは、フォルダと同様の形式で（あるいは他の形式で）表示できる。これにより、別のプロパティまたは下位の（ｓｕｂｓｅｑｕｅｎｔ  ）プロパティを使用して自動的なクラスタ化を行い、クエリの結果を容易に管理できるクラスタのサブセットに分割または体系化できる。そして、こうしたサブセットを選択して必要な情報を取り出したり、他のクラスタリング手順（例えばネストされたクラスタ化）を実行したりできる。クラスタリングの基準となる最適なプロパティは、様々なプロパティクラスタ内のアイテム分類を分析することで決定できる。
【０００７】
本発明の一態様により、クラスタ化のプロパティが自動的に選択される。このようなプロパティを決定するための問題は、次のように記述できる。「開始アイテムセットとグループ分けに使用できる一連のアイテムプロパティが指定された場合、このアイテムセットに関連付けられたどのプロパティを使用すれば結果の最適なクラスタリングを実現できるか。」本発明では、結果の最適なクラスタリングによって、結果を均一にグループ分けし、適切な数のクラスタに分割しようとする。したがって、クラスタ数がほんのわずかでそれぞれのアイテム数が非常に多い場合、またはクラスタ数が非常に多くてそれぞれのアイテム数がほんのわずかの場合は、必要な情報を効率的に見つけ出し、取り出すためには一般的に望ましくない。
【０００８】
前述の問題は、アイテムプロパティごとにクラスタ化のスコアを割り当て、スコアが最も高いプロパティを選択することで解決できる。クラスタ化のスコアは、各クラスタに属するアイテムの数をかけ合わせることで計算できる。アイテムがＮ個の場合にクラスタサイズの積としてクラスタ化のスコアを計算する関数は、アイテムが
【０００９】
【数１】
2005235196.tif 000003
【００１０】
個のクラスタに分割され、各クラスタに
【００１１】
【数２】
2005235196.tif 000004
【００１２】
個のアイテムが属する場合に最大値をとる。他の分類については、このスコアを利用してこの分類が理想的な分類からどれだけかけ離れているかを測定し、比較する。別のスコア関数の例は、例えば２項分布に基づいていてもよい。この種の分布では、スコアの値に統計的な意味があり、合計Ｎ個アイテムを特定のサイズのクラスタに分割できる多くの方法が提供される。ユーザにとって最も価値のあるクラスタ化は、それに代わる分類の最大数を軽減するものである。下位のクラスタ化に使用できる様々なプロパティを比較するために、すべてのプロパティについてクラスタ化のスコアを計算してもよい。このような計算は、一連のアイテムを１回ずつ使用して容易に実行できる。
【００１３】
前述の目的と関連の目的を達成するために、ここで本発明の特定の例示的な態様について、以下の実施形態と添付の図面に関連付けながら説明する。これらの態様は、本発明を実施できる様々な方法を示している。こうした方法は、すべて本発明の範囲に含まれるものとする。本発明のその他の利点と新しい機能は、以下に示す本発明の実施形態に添付の図面を関連付けて考察することで明らかになるであろう。
【発明を実施するための最良の形態】
【００１４】
本発明は、ローカルデータベースシステムまたはリモートデータベースシステム内のデータアイテムを自動的にクラスタ化し、表示するシステムおよび方法に関する。こうしたクラスタ化は、データアイテムに関連する、タイプ、場所、人物、日付、時刻、ユーザ定義などのプロパティに基づいていてもよい。この場合、最初のプロパティを使用してクラスタ化の最初のレベルを形成し、さらに下位のプロパティを自動的に決定して最適なクラスタ化を形成し、ここから必要な情報を見つけ出し、取り出す。一態様では、データを体系化し、取り出すコンピュータ制御のインターフェースが提供される。このインターフェースには、少なくとも２つのクラスタプロパティに関するアイテムの分類を決定するプロパティアアナライザと、部分的にこのアイテムの分類に基づいて新しいクラスタを形成するオーガナイザが含まれる。
【００１５】
本出願で使用する限り、「コンポーネント」、「アナライザ」、「クラスタ」、「システム」などの用語は、コンピュータ関連のエンティティを表すものとし、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェア（ｓｏｆｔｗａｒｅ  ｉｎ  ｅｘｅｃｕｔｉｏｎ）のいずれでもよい。例えば、コンポーネントは、プロセッサで実行するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行中のスレッド、プログラム、および／またはコンピュータのいずれでもよいが、これらに限定はされない。例えば、サーバ上で動作するアプリケーションとサーバはいずれもコンポーネントとすることができる。実行中のプロセスおよび／またはスレッド内に１つまたは複数のコンポーネントが存在してもよい。また、コンポーネントは１台のコンピュータに集中しても、かつ／または２台またはそれ以上のコンピューに分散してもよい。さらに、こうしたコンポーネントは、様々なデータ構造を格納した様々なコンピュータ可読媒体から実行してもよい。コンポーネントは、ローカルプロセスおよび／またはリモートプロセスを介して、例えば１つまたは複数のデータパケット（例えば、ローカルシステム内、分散システム内の別のコンポーネントと、および／またはインターネットなどのネットワークを経由して信号を介して他のシステムと対話するコンポーネントのデータ）を含む信号に従って通信できる。
【００１６】
初めに図１を参照すると、本発明の一態様に従ったクエリクラスタリングシステム１００が示されている。システム１００は、ユーザインターフェース（図示せず）に表示する複数のデータアイテム１２０を格納するデータストレージ１１０を備えている。こうしたアイテム１２０には、文書、ファイル、フォルダ、イメージ、オーディオファイル、ソースコードなどを含めてもよい。これらは、後で詳細に説明するユーザインターフェースに様々な状態で表示できる。また、アイテム１２０には、アイテムのタイプ（イメージ、文書、スプレッドシート、バイナリなど）、作成日、アイテムに関連付けられた人物、場所、カテゴリ、ユーザ定義のプロパティなどの側面を表す様々なプロパティ（例えばメタデータ）が関連付けられている。アグリゲータ（ａｇｇｒｅｇａｔｏｒ）１３０はアイテム１２０と関連のプロパティを収集してプロパティアナライザ１４０に提供し、プロパティアナライザ１４０は個々のアイテムとプロパティの分析を行う。例えば、こうした分析の中で、様々なクラスタリングのシナリオあるいはアイテムのグループ分けの可能性を探るためのスコアを自動的に決定してもよい。
【００１７】
アナライザ１４０の分析に基づいて、クラスタオーガナイザ１５０は新しいクラスタ１６０の最適なグループ分けをユーザに提示する。クラスタ１６０の最適なグループ分けによって、データストレージ１１０から必要な情報を容易に見つけ出し、取り出すことができる。データストレージ１１０は、ローカルストレージ媒体、リモートストレージ媒体、ローカルストレージとリモートストレージの組合せのいずれでもよい。
【００１８】
自動クラスタリングの１つの例では、デフォルトの最上位レベルのクラスタ化によってアイテムをアイテムタイプに基づいてグループ化できる。ユーザの研究では、第１レベルのアイテムタイプに基づくグループ化は実用的であり、ユーザが理解しやすいことがわかっている。ただし、別のプロパティによる第２レベルのクラスタ化は自明ではなく、わかりにくいことも示されている。こうして、本発明の一態様により、クラスタ化のプロパティを自動的に選択できる。この問題は、次のように記述できる。「開始アイテムセットとグループ化に使用できるアイテムプロパティセットとが指定された場合、どのプロパティを使用すれば最適なクラスタリングされた結果を実現できるか。」最適なクラスタリングされた結果によって、アイテムを均一に適切な数のクラスタに分割することが目標である。
【００１９】
上の目標は、アイテムのプロパティごとにクラスタ化のスコアを割り当て、スコアが最も高いプロパティを選択することで達成できる。クラスタ化のスコアは、以下の式に示すように、各クラスタに属するアイテムの数をかけ合わせることで計算できる。
【００２０】
ｓｃｏｒｅ＝ｎ＿ｉｔｅｍｓｃｌｕｓｔｅｒ１＊ｎ＿ｉｔｅｍｓｃｌｕｓｔｅｒ２＊．．．
アイテムがＮ個の場合は、クラスタサイズの積としてクラスタ化のスコアを計算する関数は、アイテムが
【００２１】
【数３】
2005235196.tif 000005
【００２２】
個のクラスタに分類され、各クラスタには
【００２３】
【数４】
2005235196.tif 000006
【００２４】
個のアイテムが属する場合に最大値をとる。他の分類については、このスコアを利用してこの分類が最適な分類からどれだけ離れているかを測定し、比較する。上のスコア関数により、テストケースで妥当な結果が得られることがわかっている。ただし、利用されたスコア関数は１つの例であることに留意されたい。例えば、他の関数を利用して様々な相対的な重みを割り当て、分類が理想的な分類からどれだけかけ離れているかを表すことができる。
【００２５】
別のスコア関数の例は、次のように２項分布に基づいていてもよい。
【００２６】
ｓｃｏｒｅ＝（Ｎ＿ｔｏｔａｌ）！／（ｎ＿ｉｔｅｍｓｃｌｕｓｔｅｒ１）！＊（ｎ＿ｉｔｅｍｓｃｌｕｓｔｅｒ２）！＊．．．）
この例では、スコアの値に統計的な意味があり、合計Ｎ個アイテムを特定のサイズのクラスタに分類できる多くの方法が提供される。ユーザにとって最も価値のあるクラスタ化は、それに代わる分類の最大数を軽減するものである。下位のクラスタ化に使用することができる様々なプロパティを比較するために、すべてのプロパティについてクラスタ化のスコアを計算する。この計算は、図２に詳細に示されているように、一連のアイテムを１回ずつ使用して容易に実行できる。
【００２７】
図２は、本発明の一態様に従った自動クエリクラスタリングプロセス２００を示す流れ図である。説明を簡単にするために、本方法は一連の動作として図示され、説明されているが、本発明がこの動作の順序に限定されないことを理解されたい。例えば、いくつかの動作は、本発明に従って以下に説明する様々な順序で、かつ／またはここで図示され、説明される他の動作と同時に発生してもよい。例えば、方法論は、状態図のように相互に関連する一連の状態またはイベントとしても表現できることを当業者は理解するであろう。さらに、本発明に従った方法を実装するために、図示されたすべての動作が必要なわけではない。
【００２８】
Ｎ個のアイテムとＭ個のプロパティが存在し、これらについて比較する場合は、プロセス２００を次のように使用できる。２１０で、Ｍ個のハッシュテーブルを初期化する。２２０で、Ｎ個のアイテムについて繰り返す。２３０で、アイテムごとにＭ個のプロパティについて繰り返す。２４０で、アイテムプロパティごとにハッシュ値を計算する。ハッシュ関数は、同じクラスタに属する２つのプロパティの値は同じハッシュ値を返すように選択される。例えば、日付／時刻のプロパティによるクラスタリングの場合に、ハッシュ関数は日付の要素のみに基づき、時刻の要素を無視してもよい。２５０で、ハッシュテーブルを使用してクラスタの数と各クラスタに属するアイテムの数を追跡する。２６０で、プロパティごとに関連のハッシュテーブルのデータを使用してクラスタ化のスコアを計算する。
【００２９】
２７０で、リスト上に記載されるプロパティは、それぞれが生成するクラスタの品質によって順序付けられる。アイテムの数が特定のしきい値を超えると（例えば１０アイテムを超えると）、２８０でリストの最上位のプロパティを使用して結果を自動的にクラスタリングできる。次の順位に相当する別のクラスタリングを代わりに指定してもよい。例えば、タイプが電子メールメッセージのすべてのアイテムを選択すると、電子メールメッセージのテストケースでは、前述のプロセスによって結果をメッセージの送信者ごとに自動的にクラスタリングする。ただし、タイプがＷｏｒｄ文書のアイテムを選択すると、例えば最終更新日に基づいてクラスタが作成される。一方、タイプがＣ＃ソースファイルのアイテムの場合は、格納される場所ごとにグループ化される（これはプログラミングプロジェクトごとのグループ分けに対応する）。前述のアプローチの一般的な性質により、カスタムプロパティおよびサードパーティのプロパティの評価も含めて、特定のアイテムセットに最適なグループ化のアルゴリズムを決定できる。
【００３０】
図３〜１０は、前述の１つまたは複数の自動クラスタリングシステムおよびプロセスを説明するユーザインターフェースの様々な例を示している。このようなインターフェースには、複数の寸法、形状、色、テキスト、データ、サウンドを設定できる設定可能なアイコン、ボタン、スライダ、入力ボックス、選択オプション、メニュー、タブなどの形でこうした態様を含む１つまたは複数の表示オブジェクトを備えており、システム１００の動作を円滑化する表示が含まれることに留意されたい。さらに、このインターフェースには本発明の１つまたは複数の態様を調整し、設定する他の複数の入力またはコントロールも含まれる。これらについては、以下で詳説する。これには、マウス、キーボード、音声入力、Ｗｅｂサイト、リモートＷｅｂサービス、および／またはカメラやビデオの入力のような他のデバイスからのユーザコマンドを受信して、システム１００のインターフェースの動作または他の態様を左右したり変更したりすることが含まれてよい。
【００３１】
以下の説明は、本発明の様々な態様を説明しており、図３〜１０に示すインターフェースの例に関連する。フォルダまたは他のタイプの構造体を設計する場合は、設計者（アプリケーションプログラマでもエンドユーザでもよい）の自由度が高いので、あまり重要でないアイテムまたはほとんど使用しないアイテムを非表示のフォルダに移動することで上位の表示から隠すことができる。同様に、プロパティベースのブラウザを作成する場合は、クラスタリングアルゴリズムで高スコアが割り当てられた場合でも、様々なメカニズムを使用して意味のないプロパティまたは役に立たないプロパティを非表示にできる。
【００３２】
プロパティの格上げ／格下げ（ｕｐ／ｄｏｗｎｇｒａｄｉｎｇ）は、様々なレベルで考慮できる。アプリケーションレベルでは、どのプロパティがユーザインターフェースにさらすべき第１位のプロパティか、およびどのプロパティが第２位のあるいは補助のプロパティかをアプリケーション設計者が指定できる。これは、通常はアイテムタイプごとに個別に定義される。前のセクションで説明した自動クエリクラスタリングでは、一般に第１位のプロパティを考慮する。さらに、アイテムタイプごとに、すべてのアイテムに共通のプロパティのプロパティマッピングを定義する必要がある。例えば、共通の日付プロパティは、写真の場合は撮影日にマッピングされ、文書の場合は最終更新日にマッピングされる。同様に、人物のフィールドは、文書の場合は作成者であるが、電子メールの場合は送信者である。他のプロパティについても同様である。
【００３３】
一般に、個々のデータを表示する場合にどのプロパティが最適であるかを決定できるのはユーザである。特定のプロパティを格上げまたは格下げするための明示的なＵＩがあってもよいが、本発明はユーザの操作から暗黙的に学習することもできる（例えば学習アルゴリズムを介して）。各プロパティには重みが割り当てられており、この重みはユーザが異なるプロパティのクラスタ化から別のプロパティのクラスタ化に切り替える場合に増大し、終了（ｓｗｉｔｃｈ  ｏｕｔ）する場合に減少する。各プロパティの最終的な格付け（ｒａｔｉｎｇ）（どのプロパティでクラスタリングするかの判断に使用する）は、プロパティの重みとクラスタ化のスコア（前述の式に従って計算した値）の積である。
【００３４】
前述のように、ユーザは一般にフラットなリストよりアイテムタイプのクラスタを使用した階層構造を好む。階層によって特定のタイプの順序が導入され、要求されたアイテムタイプの値を見つけ出しやすくなる。ある程度の数の異なるプロパティ値をとる任意のプロパティについて同じことが言える。以下に、プロパティ値を階層表示の形で体系化する方法の個別の例について説明する。
【００３５】
通常のファイルの場合は、アイテムタイプがファイル拡張子によって定義される。現在のビューアプログラムで定義するユーザがわかりやすいファイルタイプ名を使用してもよい。ファイル拡張子が異なってもわかりやすい名前が同じになる場合は、一般にはすでに同じグループに統合されている（例えば、．ｈと．ｈｘｘはＣ／Ｃ＋＋ヘッダーファイルと呼ばれる）。さらに、同様のタイプのすべてのファイルをグループ化することでもう１つの階層レベルを導入できる。プロトタイプ（ｐｒｏｔｏｔｙｐｅ）では、文書ファイル、ピクチャファイル、ミュージックおよびビデオファイル、プログラミングファイル、さらにその他のファイルがメタグループと見なされ、処理される。また、人物メタグループをクラスオブジェクトとして処理してもよい。
【００３６】
例えば、アイテムタイプ＝人物のリストを通信チャネルのタイプごとのより小さなセクションに分割し、これを使用して特定の個人に到達できる。これには、例えば、郵便、電話、インスタントメッセージング、または電子メールによって到達できる人物のグループが含まれる。これらのグループは、それぞれ必要に応じてさらに分割してもよい。例えば、企業環境では電子メールアドレスを社内（企業のアドレス帳から抽出）と社外（通常はユーザ個人の連絡先リストによる）に分割できる。一部の人物は複数の通信手段を備えていてもよい。その場合、このような人物は複数のクラスタに属していてもよい。プロパティのクラスタには、従来のフォルダとは異なり、各アイテムが唯一の場所に入るという制限はない。
【００３７】
フォルダは、ユーザが作成するアイテムのグループを表している。時間の経過に伴い、アイテムのプロパティベースのクラスタリングによってフォルダの必要性と意味は低減するが、フォルダは依然としてサポートされる。フォルダは一般に階層構造をとっており、フォルダのクラスタもこの階層と同様である。フォルダ階層の１つの欠点は、Ｐｒｏｇｒａｍ  ＦｉｌｅｓやＷｉｎｄｏｗｓ（登録商標）ディレクトリのように、ユーザがほとんど関心のない多くのディレクトリが存在することである。既存のフォルダを使用してアイテムのクラスタを構成する場合の明らかな改良点は、いくつかの関心のあるアイテムを含むフォルダ階層の一部のみを表示することである。
【００３８】
図３は、（ボリュームＣ：）上のプログラムファイルを含むサンプルインターフェース３００である。例えば、Ｗｉｎｄｏｗｓ（登録商標）エクスプローラでは、フォルダ構造全体が表示される。プロトタイプでは、「カテゴリ」によるファイルのクラスタリングには実際に選択されたアイテムのセットに関連するフォルダ（フォルダツリー全体のサブセット）のみが表示される。
【００３９】
図４は、フォルダごとのクラスタリングを表示するインターフェース４００である。フォルダ階層のもう１つの態様では、物理ロケーション（ｌｏｃａｔｉｏｎ）の概念（このディスクかあのディスクか、あるいは外部共有か）を論理ロケーションの概念（フォルダ階層内の位置）に関連付けている。複数の物理ロケーションにまたがる論理グループを作成できるので、物理ロケーションをフォルダのプロパティから分離し、物理ロケーションにかかわらず、名前の同じ統合されたフォルダを提示してもよい。理解されるように、場所ごとのグループ分けも提供される。
【００４０】
図５は、２つのドライブ（ボリュームＣ：とボリュームＤ：）上に存在するフォルダ（ＶＳＳ）のサンプルインターフェース５００である。「カテゴリ」ＶＳＳに注目すると、５１０でインターフェース５００は物理ロケーションのフォルダの内容を組み合わせている。この機能性は、２つまたはそれを上回るフォルダの名前が同じ場合は意図的にこうなるという仮定に基づいている。それ以外の場合は、図６に示すユーザインターフェース６００で場所のプロパティ６１０によってファイルを容易に分離できる。
【００４１】
図７は、日付のプロパティごとのクラスタリングを表示するインターフェース７００である。日付と時刻によるクラスタリングは、実際の年／月／日／時間／分（ｙｅａｒ／ｍｏｎｔｈ／ｄａｙ／ｈｏｕｒ／ｍｉｎｕｔｅ）による階層構造をとる。しかし、現在を基準とした相対的な時間の概念も存在する。いずれの概念も重要であると考えられる。日付のクラスタには、今日、昨日などのアイテムを含む事前に定義した多くのクエリ（動的なグループ）が含まれる。
【００４２】
１つの興味深いアイテム分類は、アイテムを人物に関連付けることによる。このような関連付けの作成に利用できる多くのアイテムプロパティが存在する。例えば、電子メールメッセージまたは添付ファイルの送信者または受信者、文書の作成者、写真の撮影者などがある。人物によるアイテムのクラスタリングでは、人物階層を表示することで伝えられる社会的な意味によって、特殊な問題が発生する場合がある。例えば、人物は社内または社外の連絡先のような形式的な属性によってグループ化できるが、こうしたグループの一部は依然として大きすぎて効率的に処理できない場合がある。例えば、サンプル電子メールメッセージで参照する社内の連絡先リストには、約５，０００の名前が含まれる。
【００４３】
リストはアルファベット順に並べたり、頭文字ごとにグループ化したりできるが（辞書と同様に）、一般に長いリストがあるとわかりにくい。１つの問題は、ユーザにとって重要な人物の名前がたまたま存在するほとんど知らない人物の名前に紛れてわかりにくくなることである。最も重要な連絡先は、ユーザが非常に頻繁に、あるいはごく最近、電子メールを送信した相手や、ユーザのディスク上にある文書の作成者または共同作成者などである。何らかの重みを考慮した分析を使用して、すべての人物をユーザにとって重要な順に並べたリストを作成してもよい。
【００４４】
ただし、計算した重要度の順に人物の名前を並べた長いリストを作成しても、適切なソリューションにはならない場合もある。計算した順序は偶然であり、ユーザの重要度の感覚を正しく反映していない場合もあるが、リストの中ほどや下位に位置する名前を見つけ出すのは非常に困難である。重要度の情報を使用してどの名前を先頭または上位に表示するかを選択し、一方で、名前をアルファベット順に並べて特定の名前を検索しやすくし、人物の相対的な重要度に関する考えられる提案があいまいになる。
【００４５】
図８は、関連の人物の一部折りたたんだ（ｓｅｍｉ−ｃｏｌｌａｐｓｅｄ）リストを表示するサンプルインターフェース８００である。このインターフェースでは、人物のリストの階層を展開して表示できる。展開しないと、ユーザにはフラットなアルファベット順のリストとして表示される。リストを初めて表示すると、最も重要な上位の少数（１０〜２０）の名前のみがアルファベット順に表示される。このことにより、１回のクリックだけで最適な人物に関する情報にアクセスできる。同時に、最上位の名前は辞書のブックマークの役割を果たしており、それぞれを展開すると第２レベル、第３レベルの名前を表示できる。
【００４６】
これは、階層の展開に似ているが、全ての展開された名前は第１レベルの名前と同等に最上位レベルに表示される。この場合、１個人が別の個人より上にあることの意味があいまいになるので、階層構造をとらないと否定的に感じられる可能性がある。リストの展開は、重要度リストの下位にある名前が表示されるまで続けることができる。ただし、展開はリストの選択領域で実行できるので、表示できる名前の総数は限定され、通常は１０人のみである。指定した任意の時点で、表示できる名前はアルファベット順にソートされ、唯一のリストに表示される。これで、要求された名前を見つけ出しやすくなる。一部折りたたんだリストは、人物だけでなく様々な分類に利用できることに留意されたい。わかりやすい例としては、キーワード（カテゴリ）のリストや、辞書（百科事典）のエントリがある。
【００４７】
既存のエントリをカタログのインデックスとして使用するという考え方は一般的である。実際、これは印刷した辞書を編成するための標準的な方法である。ただし、標準的な辞書のアプローチでは、インデックスを各ページの先頭と末尾に印刷してページの内容を示している。これは、連続するインデックス間の「一定の間隔」として説明できる。インデックスとして選択されたことばは、何も特別ではなく、たまたまページの最初と最後に記載されているにすぎない。
【００４８】
本発明では、インデックスとして選択することばは「重要度」リストの上位に位置するものである。辞書で類推すると、これらは最も頻繁に参照することばである。さらに、これらの名前自体がエントリである。つまり、名前をクリックするとそれが選択される。したがって、１回のクリックで多くの一般的なエントリにアクセスでき、そのエントリが記載されるページまでスクロールする必要はない。一方、インデックス同士の間に、数が変動する第２レベルのエントリが存在してもよい。第２レベルのエントリの数が多い場合は、第３レベルのインデックスを作成してもよい。同様にさらに下位のインデックスも作成できる。
【００４９】
図９は、一部折りたたんだグループ９００を示している。一方、図１０のグループ１０００はグループ９００から選択して展開した状態で示されている。図１０には、グループ１０００の一部折りたたんだ状態１０１０も示されている。クラスタ（またはアイテムをグループ分けする他の方法）を視覚化する場合のもう１つの問題は、画面上にクラスタをどう表示するかである。グループを表示する一般的な方法は、グループ全体の表示（折りたたんだビュー（ｖｉｅｗ））、またはグループに属するすべてのアイテムの集まり（展開したビュー）として表示することである。標準的なＷｉｎｄｏｗｓ（登録商標）の表示では、左側のフォルダのリスト、および右側のフォルダのリストは、現在見られるフォルダに対する拡大ビュー、および他のすべてのフォルダに対する展開ビューとすることができる。現在表示しているフォルダの展開されたビューとして右側にアイテムのリストが表示される。他のすべてのフォルダは折りたたんだビューで表示される。現在のフォルダのサブフォルダは、サブフォルダのサムネイルにいくつかの所属アイテムのコラージュ（ｃｏｌｌａｇｅ）が含まれる場合でも、通常は折りたたんだビューで表示される。場合によっては、複数の展開されたグループを同時に表示したり、アイテムをスタックにグループ化して表示したりすることもできる。
【００５０】
グループ化や複数グループの同時の表示が可能なファイルビューアでは、グループを「折りたたみ可能」、つまりグループの内容を個別に表示したり非表示にしたりできるのが一般的である。それにもかかわらず、グループは依然として２つの状態が可能であり、展開された状態によってグループ内の個々のアイテムとの相互作用（ｉｎｔｅｒａｃｔｉｎｇ）が可能になる。大規模なグループの場合は、１つのグループを展開すると他のすべてのグループを表示できなくなるので、複数のグループビューは実用的ではない。
【００５１】
本発明では、グループの先頭に位置するいくつかのアイテムを表示する第３の状態が導入される。これは、９００に示すグループの「圧縮された（ｓｑｕｅｅｚｅｄ）」状態または「一部折りたたんだ」状態と呼ばれる。１つのボタンを繰り返し押すことで、展開された状態１０００、圧縮された状態１０１０、および折りたたんだ状態９００を切り替えることができる。インターフェース９００は、２つの一部折りたたんだグループを表示するファイルビューアであり、９１０で第３の小規模なグループが完全に展開された状態で表示されている。
【００５２】
圧縮された状態の１つの利点は、グループが占める画面の領域が展開した状態より小さいが、折りたたんだ状態より多くのグループの情報をユーザに提供することである。これで、より多くのグループを表示しながら、グループの内容に関する詳細な情報も提供できる。ユーザは、大規模なアイテムセット内でグループをより迅速に評価できるので、大規模なアイテムグループのより効率的な評価と操作が可能になる。
【００５３】
第２の利点は、折りたたんだ状態でも依然として表示されているいくつかのアイテムに１回のクリックでアクセスできることである。表示されているアイテムがユーザにとっての「重要度」（例えば、ごく最近アクセスした、またはこれまでに最も頻繁にアクセスした）によって選択されたと仮定すればと、ユーザは表示されているアイテムを探している可能性が高い。例えば、最近だれかに送信した写真を印刷するには、ユーザがピクチャグループまでスクロールすると、右側のリストの上位にファイルが表示されるはずである（最近アクセスしたファイルの１つとして）。これに現在のビューアと比較すると、写真のサムネイルがフォルダアイコンで表示される場合に、ユーザはさらにフォルダを展開してファイルにアクセスする必要がある。最後に、圧縮したビューは折りたたんだビューと展開したビューのほぼ中間であり、グループ全体の表示および操作と個々のアイテムへのアクセスを両立しようとしている。
【００５４】
一部折りたたんだビューによってグループ内の選択したアイテムに簡単にアクセスする方法が提供され（グループ内のすべてのアイテムを操作する必要がない）、ユーザは一部折りたたんだビューにどのアイテムをいくつ表示するかを制御できる。１つのアプローチとして、事前に指定した基準に基づいてアイテムをソートし、ソートしたリストの上位のアイテムを表示してもよい。ユーザは、ソート基準と表示エレメント数を変更できる。例えば、文書をソートする場合の便利で実用的な方法は、最終更新日を使用した方法である。一部折りたたんだビューには、最近更新された文書のリストの上位ｎ個がデフォルトで表示され、次のｎ個を表示するボタンが表示される。あるいは、今日、昨日、先週、先月などのその他の文書を表示するボタンを備えていてもよい。一般に、こうしたすべてのケースで、アイテムを表示する順序は、表示するアイテムを限定するための順序と同じである。ただし、別のアプローチでは、ユーザにとって最も都合のよい順序でアイテムが表示され、アイテムを選択する基準と必ずしも同じでなくてもよい。例えば、人物は、「重要度」の順に選択された場合でも、一般にアルファベット順にソートするのが最適である。
【００５５】
圧縮されたグループに属するアイテムは、一部折りたたんだリストとして表示できる。一部折りたたんだリストは、選択的に展開してより多くのアイテムを表示できる。（あるいは、グループ全体を展開してすべてのアイテムを表示することもできる。）一部折りたたんだリストビューは、任意のタイプのアイテムに利用でき、ソート順が選択順と異なる場合にも利用できる（ソート順が選択順と同じ場合にも、一部展開したビューを利用できる。）例として、人気のある歌をアルファベット順にソートしたリストが挙げられる。ユーザはリストの一部を展開すればあまり知られていない歌を表示できるが、次に表示される歌は人気のあるものが選択される。
【００５６】
プロパティの階層を作成する場合は、一般に上位のクラスタにはネストされたすべてのクラスタの内容が属する。例えば、文書（Ｄｏｃｕｍｅｎｔｓ）クラスタにはＷｏｒｄ文書、Ｅｘｃｅｌワークシートなどがすべて含まれる。同様に、２００３年のアイテムには各月のアイテムが含まれ、各月のアイテムには各日のアイテムが含まれる。任意のコンテナ（クラスタまたはフォルダ）は独立したアイテムと考えられるので、ビューを体系化する場合に、唯一のエンティティとしても、単にアイテムのグループとしても操作できる。
【００５７】
アイテムブラウザ（ｉｔｅｍ  ｂｒｏｗｓｅｒ）の最も重要な機能は、要求されたアイテム（１つ以上）を容易に見つけ出すことができることである。ただし、プロパティクラスタをたどる（ｔｒａｖｅｒｓｉｎｇ  ｄｏｗｎ）ことは方法の１つにすぎない。横方向の検索を可能にすることで、ブラウズ機能性は大幅に向上し、プロパティ階層をたどることなく該当するアイテムに到達する。さらに、ブラウザはユーザが定義する任意の方法でアイテムを体系化できる。アイテムを検索する場合に、ユーザはたびたびアイテム同士を関連付けて処理する。例えば、文書が最後に編集された正確な日付は不明であるが、重要な会議の直前であったことをユーザが覚えているとする。会議自体は容易に確認でき、この時点で最適なクエリは「日付の同じ文書をすべて表示（ｓｈｏｗ  ａｌｌ  ｄｏｃｕｍｅｎｔｓ  ｆｒｏｍ  ｔｈｅ  ｓａｍｅ  ｄａｔｅ）」である。
【００５８】
図１１を参照すると、本発明の様々な態様を実装する例示的な環境１１１０にはコンピュータ１１１２が含まれる。コンピュータ１１１２には、プロセッシングユニット１１１４、システムメモリ１１１６、システムバス１１１８が含まれる。システムバス１１１８は、システムメモリ１１１６からプロセッシングユニット１１１４までを含みこれに限定されないシステムコンポーネントを接続する。プロセッシングユニット１１１４は、市販の様々なプロセッサのいずれでもよい。デュアルマイクロプロセッサやその他のマルチプロセッサアーキテクチャもプロセッシングユニット１１１４として利用できる。
【００５９】
システムバス１１１８は、１６ビットバス、業界標準アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、マイクロチャネルアーキテクチャ（ＭＳＡ：Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、拡張業界標準アーキテクチャ（ＥＩＳＡ：Ｘｔｅｎｄｅｄ  ＩＳＡ）、インテリジェントドライブエレクトロニクス（ＩＤＥ：Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、ＶＥＳＡローカルバス（ＶＬＢ：ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ）、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、アドバンストグラフィクスポート（ＡＧＰ：Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）バス、小型コンピュータ用周辺機器インターフェース（ＳＣＳＩ：Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）などを含みこれに限定されない市販の様々なバスアーキテクチャを使用する、メモリバス、メモリコントローラ、周辺バス、外部バス、またはローカルバスを含む複数のバス構造タイプのいずれでもよい。
【００６０】
システムメモリ１１１６には、揮発性メモリ１１２０と不揮発性メモリ１１２２が含まれる。コンピュータ１１１２内のエレメント間で情報を転送する起動時などの基本ルーチンを含む基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）は、不揮発性メモリ１１２２に格納される。例として、不揮発性メモリ１１２２には、読み出し専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、プログラマブルＲＯＭ（ＰＲＯＭ：ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ＲＯＭ）、またはフラッシュメモリが含まれるが、これらに限定はされない。揮発性メモリ１１２０には、外部キャッシュメモリとして動作するランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）が含まれる。例として、ＲＡＭは、シンクロナスＲＡＭ（ＳＲＡＭ：）、ダイナミックＲＡＭ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ：ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ：ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ：ｅｎｈａｎｃｅｄ  ＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ：Ｓｙｎｃｈｌｉｎｋ  ＤＲＡＭ）、ダイレクトラムバスＲＡＭ（ＤＲＲＡＭ：ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ＲＡＭ）などの様々な形式を利用できるが、これらに限定はされない。
【００６１】
コンピュータ１１１２には、取り外し可能／不可能、揮発性／不揮発性のコンピュータ記憶媒体も含まれる。図１１には、例としてディスクストレージ１１２４が示されている。ディスクストレージ１１２４には、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、ジャズ（Ｊａｚ）ドライブ、ジップ（Ｚｉｐ）ドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、メモリースティックなどのデバイスが含まれるが、これらに限定はされない。また、ディスクストレージ１１２４には、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ＲＯＭ）装置、ＣＤ−Ｒ（ＣＤ  ｒｅｃｏｒｄａｂｌｅ  ）ドライブ、ＣＤ−ＲＷ（ＣＤ  ｒｅｗｒｉｔａｂｌｅ）ドライブ、ＤＶＤ  ＲＯＭ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ  ＲＯＭ）装置などの光ディスクドライブを含むがこれらに限定はされない記憶媒体の個別の配置も複数の記憶媒体の組合せも含まれる。ディスクストレージデバイス１１２４からシステムバス１１１８への接続を容易にするために、通常はインターフェース１１２６のような取り外し可能または取り外し不可能なインターフェースを使用する。
【００６２】
図１１がユーザと適切な動作環境１１１０で記述される基本コンピュータリソースとの仲介として動作するソフトウェアを示すことを理解されたい。こうしたソフトウェアには、オペレーティングシステム１１２８が含まれる。オペレーティングシステム１１２８は、ディスクストレージ１１２４に格納でき、コンピュータシステム１１１２のリソースの制御および割り当てを行う。システムアプリケーション１１３０は、システムメモリ１１１６またはディスクストレージ１１２４に格納されたプログラムモジュール１１３２とプログラムデータ１１３４を使用して、オペレーティングシステム１１２８によるリソースの管理を利用する。本発明が様々なオペレーティングシステムまたは複数のオペレーティングシステムの組合せで実装できることを理解されたい。
【００６３】
ユーザは、入力装置（１つまたは複数）１１３６を使用してコンピュータ１１１２にコマンドまたは情報を入力する。入力装置１１３６には、マウス、トラックボール、スタイラス、タッチパッドなどのポインティングデバイス、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナ、テレビチューナーパッド、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどが含まれるが、これらに限定されない。これらの入力装置およびその他の入力装置は、１つまたは複数のインターフェースポート１１３８を経由してプロセッシングユニット１１１４からシステムバス１１１８に接続する。インターフェースポート１１３８には、例えばシリアルポート、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）が含まれる。出力装置（１つまたは複数）１１４０は、入力装置（１つまたは複数）１１３６と同じタイプのポートのいくつかを使用する。このように、例えばＵＳＢポートはコンピュータ１１１２に入力を提供するため、およびコンピュータ１１１２からの出力情報を出力装置１１４０に提供するために使用できる。出力アダプタ１１４２は、出力装置１１４０の中でもモニタ、スピーカー、プリンタのように専用アダプタを必要とするものがあることを説明するために図示している。出力アダプタ１１４２には、例として出力装置１１４０とシステムバス１１１８の接続手段を提供するビデオカードやサウンドカードが含まれるが、これらに限定はされない。他のデバイスおよび／またはデバイスのシステムは、リモートコンピュータ（１台または複数台）１１４４のように入出力両方の機能を提供することに留意されたい。
【００６４】
コンピュータ１１１２は、リモートコンピュータ１１４４のようなリモートコンピュータ（１台または複数台）への論理接続を使用してネットワーク環境で動作できる。リモートコンピュータ１１４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースの機器、ピアデバイス、または他の一般的なネットワークノードなどでもよく、通常はコンピュータ１１１２に関連して説明したエレメントの多くのまたはすべてが含まれる。簡潔にするために、リモートコンピュータ１１４４に伴ってメモリ記憶装置１１４６だけが図示されている。リモートコンピュータ１１４４は、ネットワークインターフェース１１４８を介してコンピュータ１１１２に論理的に接続され、さらに通信接続１１５０を介して物理的に接続されている。ネットワークインターフェース１１４８には、ローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ワイドエリアネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）といった通信ネットワークが含まれる。ＬＡＮの技術には、光ファイバー分散データインターフェース（ＦＤＤＩ：Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、より対線ＦＤＤＩ（ＣＤＤＩ：Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、イーサネット（登録商標）／ＩＥＥＥ  １１０２．３、トークンリングＩＥＥＥ  １１０２．５などが含まれる。ＷＡＮの技術には、ポイントツーポイントリンク、統合サービスデジタル通信網（ＩＳＤＮ：Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋｓ）やその変形のような回路切り替えネットワーク、パケット切り替えネットワーク、デジタルサブスクライバーライン（ＤＳＬ：Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅｓ）が含まれるが、これらに限定はされない。
【００６５】
通信接続（１つまたは複数）１１５０は、ネットワークインターフェース１１４８をバス１１１８に接続するためのハードウェアまたはソフトウェアを意味する。通信接続１１５０は、コンピュータ１１１２の内部を明確に示すために図示しているが、コンピュータ１１１２の外部にあってもよい。ネットワークインターフェース１１４８の接続に必要なハードウェア／ソフトウェアには、例示の目的に限定して、通常電話回線モデム、ケーブルモデム、ＤＳＬモデム、ＩＳＤＮアダプタ、イーサネット（登録商標）カードなどの内蔵および外付けのテクノロジーが含まれる。
【００６６】
図１２は、本発明が対話できるサンプルコンピューティング環境１２００の概略を示すブロック図である。システム１２００には、クライアント（１つまたは複数）１２１０が含まれる。クライアント１２１０は、ハードウェアおよび／またはソフトウェア（例えばスレッド、プロセス、コンピューティングデバイス）である。システム１２００には、サーバ（１つまたは複数）１２３０も含まれる。サーバ１２３０は、ハードウェアおよび／またはソフトウェア（例えばスレッド、プロセス、コンピューティングデバイス）である。サーバ１２３０には、例えば本発明を使用した変形を実行するスレッドを格納できる。クライアント１２１０とサーバ１２３０の間で可能な１つの通信の例は、２つ以上のコンピュータプロセス間で送信できるデータパケットの形でもよい。システム１２００は、クライアント１２１０とサーバ１２３０の間の通信を容易にする通信フレームワーク１２５０を備えている。クライアント１２１０は、クライアント１２１０のローカルな情報を格納するための１つまたは複数のクライアントデータストレージ１２６０に操作可能に接続される。同様に、サーバ１２３０はサーバ１２３０のローカルな情報を格納するための１つまたは複数のサーバデータストレージ１２４０に操作可能に接続される。
【００６７】
以上の説明には、本発明の例が含まれる。本発明について説明するためにコンポーネントまたは方法のあらゆる組合せについて説明するのはもちろん不可能であるが、他にも本発明の多くの組合せや置き換えが可能であることは当業者には言うまでもない。したがって、本発明には添付の特許請求の精神と範囲を逸脱しない代替、変更、変形のすべてが含まれるものとする。さらに、発明の実施の形態と特許請求の範囲のいずれかで使用する「含む」という用語およびその変形の範囲は、「備える、含む」が特許請求の範囲で遷移語（ｔｒａｎｓｉｔｉｏｎａｌ  ｗｏｒｄ）として使用された場合に解釈される用語「備える、含む」と同様に包括的な意味を表す。
【図面の簡単な説明】
【００６８】
【図１】本発明の一態様に従ったクラスタリングシステムの概略を示すブロック図である。
【図２】本発明の一態様に従った自動クエリクラスタリングプロセスを示す流れ図である。
【図３】本発明の一態様に従った自動クエリクラスタリングのためのユーザインターフェースの例を示す図である。
【図４】本発明の一態様に従った自動クエリクラスタリングのためのユーザインターフェースの例を示す図である。
【図５】本発明の一態様に従った自動クエリクラスタリングのためのユーザインターフェースの例を示す図である。
【図６】本発明の一態様に従った自動クエリクラスタリングのためのユーザインターフェースの例を示す図である。
【図７】本発明の一態様に従った自動クエリクラスタリングのためのユーザインターフェースの例を示す図である。
【図８】本発明の一態様に従った自動クエリクラスタリングのためのユーザインターフェースの例を示す図である。
【図９】本発明の一態様に従った自動クエリクラスタリングのためのユーザインターフェースの例を示す図である。
【図１０】本発明の一態様に従った自動クエリクラスタリングのためのユーザインターフェースの例を示す図である。
【図１１】本発明の一態様に従った適切な動作環境の概略を示すブロック図である。
【図１２】本発明と対話できるサンプルコンピューティング環境の概略を示すブロック図である。
【符号の説明】
【００６９】
１１０  データストレージ
１２０  アイテムおよび様々なアイテムのアイテムプロパティ
１３０  アグリゲータ
１４０  プロパティアナライザ
１５０  クラスタオーガナイザ
【図１】
2005235196.tif 000007
【図２】
2005235196.tif 000008
【図３】
2005235196.tif 000009
【図４】
2005235196.tif 000010
【図５】
2005235196.tif 000011
【図６】
2005235196.tif 000012
【図７】
2005235196.tif 000013
【図８】
2005235196.tif 000014
【図９】
2005235196.tif 000015
【図１０】
2005235196.tif 000016
【図１１】
2005235196.tif 000017
【図１２】
2005235196.tif 000018
【外国語明細書】
2005235196000001.pdf