(57)【要約】【課題】  オートリストを作成し、問い合わせを実行するためのコンピュータ方法を提供する。【解決手段】  サーバ（２００）がテキスト・ファイルを格納する。第１オートリスト（２０１）を作成し、関連クエリ定義を規定して、これを用いて、サーバ（２００）上でオートリストのクエリ定義を満たす、対応するデータ・ファイルを探索する。サーバ（２００）上に格納されており、第２クエリ定義を満たすテキスト・ファイルを探索するために第２オートリスト（２０２）を作成することができる。第１クエリの修正に基づく探索範囲の修正を、第２クエリに対する探索範囲に自動的に反映させることができる。【選択図】      図６
2008541261.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが定義したクエリ定義に一致する少なくとも１つのデータ・ファイルを探索する、コンピュータが実行する方法であって、
第１クエリ定義を定義する第１ユーザ入力を受け取るステップと、
第２クエリ定義を定義する第２ユーザ入力を受け取るステップであって、前記第２クエリ定義は、参照により前記第１クエリ定義を組み込む、ステップと、
前記第１および第２クエリ定義の双方に一致するデータ・ファイルを探索するステップと、
を備えた方法。
【請求項２】
請求項１記載の方法において、前記第１クエリ定義は、第１の範囲を備えている、方法。
【請求項３】
請求項２記載の方法において、前記第１クエリ定義は、更に、１つ以上の判断基準の第１集合を備えている、方法。
【請求項４】
請求項３記載の方法において、前記第２クエリ定義は、第２の範囲を備えており、該第２範囲は、前記第１クエリ定義の結果を含む、方法。
【請求項５】
請求項３記載の方法において、データ・ファイルを探索する前記ステップは、前記第１クエリ定義の結果内のデータ・ファイルを探索することを含む、方法。
【請求項６】
請求項４記載の方法において、前記第２の範囲は、複数のメモリ位置を含む、方法。
【請求項７】
請求項４記載の方法であって、更に、前記第１クエリ定義の修正に応答して、前記第２の範囲を修正するステップを備えている、方法。
【請求項８】
請求項１記載の方法において、前記第２クエリ定義は、前記第１クエリ定義に含まれている判断基準とは異なる、１つ以上の判断基準の第２の集合を備えた、方法。
【請求項９】
請求項１記載の方法を実行するためのコンピュータ実行命令を格納したコンピュータ読み取り可能媒体。
【請求項１０】
ユーザが定義したクエリ定義に一致する少なくとも１つのデータ・ファイルを探索する、コンピュータが実行する方法であって、
第１クエリ定義を有する第１クエリを受け取るステップと、
前記第１クエリ定義に基づいて、第２クエリに対する探索範囲の少なくとも一部を定義するステップと、  
第２クエリを受け取るステップであって、該第２クエリが、第２クエリ定義の探索判断基準部分を提供する、ステップと、
を備えている、方法。
【請求項１１】
請求項１０記載の方法であって、更に、前記第２クエリに対する前記探索範囲内において、前記第２クエリ定義に対応する少なくとも１つのデータ・ファイルを探索するステップを備えている、方法。
【請求項１２】
請求項１０記載の方法において、前記第２クエリ定義は、１つ以上の判断基準の集合を備えている、方法。
【請求項１３】
第１クエリ定義を定義する第１ユーザ入力を受け取るステップと、
第２クエリ定義を定義する第２ユーザ入力を受け取るステップであって、前記第２クエリ定義が、範囲と、１つ以上の探索判断基準の集合とを備えており、第２ユーザ入力が、前記第２クエリ定義の範囲に、前記第１クエリ定義を参照により組み込む、ステップと、
前記第２クエリ定義に一致するデータ・ファイルを探索するステップと、
を実行するコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体。
【請求項１４】
請求項１３記載のコンピュータ読み取り可能媒体であって、更に、修正したユーザ定義第１クエリを受け取るステップを実行するためのコンピュータ実行可能命令を有し、前記第２クエリの探索範囲を、参照による組み込みに基づいて、前記ユーザ定義第１クエリの修正に対応して、自動的に修正する、コンピュータ読み取り可能媒体。
【請求項１５】
請求項１３記載のコンピュータ読み取り可能媒体において、前記第１クエリ定義は、第１の範囲と、１つ以上の判断基準の第１集合とを備えている、コンピュータ読み取り可能媒体。
【請求項１６】
請求項１５記載のコンピュータ読み取り可能媒体において、データ・ファイルを探索する前記ステップは、前記第１の範囲を含む探索範囲内のみにおいてデータ・ファイルを探索することを含む、コンピュータ読み取り可能媒体。
【請求項１７】
請求項１６記載のコンピュータ読み取り可能媒体において、前記探索範囲を、前記第１クエリ定義の対応する修正に応答して、修正する、コンピュータ読み取り可能媒体。
【請求項１８】
請求項１記載の方法であって、更に、少なくとも１つの追加のクエリ定義を定義する少なくとも１つの追加のユーザ入力を受け取るステップを備えており、前記第２クエリ定義は、更に、前記少なくとも１つの追加のクエリ定義を参照により組み込む、方法。
【請求項１９】
請求項１記載の方法であって、更に、前記第１および第２クエリ定義双方に一致するデータ・ファイルを供給するステップを備えており、前記供給されるデータ・ファイルの各々は唯一である、方法。
【請求項２０】
請求項１記載の方法であって、更に、前記探索するステップの前に、前記第１クエリ定義が前記第２クエリ定義を参照により組み込んだか否か判定を行うステップを備えており、前記探索するステップは、前記第１クエリ定義が前記第２クエリ定義を参照により組み込まない場合にのみ実行する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、コンピュータ・システムに関し、更に特定すれば、コンピュータ・システムにおける問い合わせまたはクエリ(query)に関する。特に、本発明は、探索判断基準に一致する探索範囲の少なくとも一部として、オートリストを用いて、コンピュータ上において問い合わせを行い、動的にデータ・ファイル集合を求めることに関する。
【背景技術】
【０００２】
コンピュータ・ユーザは、コンピュータまたはネットワーク上における種々の場所に格納されているファイルまたはフォルダを発見することが必要になる場合が多い。これらのファイルまたはフォルダは、ユーザが指定する判断基準集合に基づいて探索することができる。通例、ユーザは、ユーザが探索したいフォルダ、即ち、探索範囲を指定しなければならない。例えば、ユーザが所望の判断基準を満たすファイル全てを見つけたい場合、探索すべきフォルダまたはコンピュータ・ドライブ、例えば、Ｃ：ドライブ、Ｄ：ドライブ、またはＣ：＼users＼foo等を指定しなければならない。
【０００３】
所望のファイルを探索する従来技術には問題があり、コンピュータ・ユーザはいらいらされられていた。例えば、これらの従来技術は、通例、指定した範囲内においてファイルを探索することができる。しかしながら、指定した探索範囲(scope)を探索するので、探索すべきファイルの幅(range)が範囲とは無関係に変化する場合、探索に柔軟性がない。また、ファイルを探索する従来技術に柔軟性がないのは、１回の探索における探索クエリを、別の探索においてファイルを探索するために用いることができないからである。したがって、従来技術の技法は、別の探索定義を組み合わせることによって、クエリ定義を用いて探索を実行する能力をユーザに提供していない。また、従来技術のファイル探索は、クエリ定義を組み込んだ第２探索を自動的に更新することができるように動的にクエリ定義を変更することができるようになっていない。逆に、ユーザは探索判断基準またはクエリ定義を繰り返し指定しなければならない。
【０００４】
データ・ファイルを探索し特定し続けるに連れて、データ・ファイルが増々多くなる。データ・ファイルは、パターンまたは分類法（例えば、ディレクトリ構造）で格納する。新しいデータ・ファイルを特定するに連れて（即ち、新たな探索によって）、これら新しいデータ・ファイルを既存のディレクトリ構造即ち分類法に追加し、指定した判断基準にしたがって類別するのが通例である。例えば、指定した判断基準は、特定したデータ・ファイルに対する探索判断基準に対応する場合がある。ユーザが後続の探索において所望の判断基準を変更した場合、またはそれ以外で探索判断基準を変更した場合、新しい探索判断基準を満たす追加のデータ・ファイルを特定することができる。新しい判断基準によって探索を行っていくに連れて、特定されたデータ・ファイルが既存の分類法即ちディレクトリ構造に追加され続ける。しかしながら、新しいデータ・ファイルは、追加の探索判断基準を既存の分類法（例えば、サブフォルダとして）追加することによって含められるに過ぎず、修正した探索判断基準に基づいて動的に既存の分類法を更新しているのではない。この結果、特定されるデータ・ファイル集合は、硬直化しており、潜在的に修正前の探索判断基準に対応することもあり得る。何故なら、特定されたデータ・ファイルの分類法即ちディレクトリ構造は、探索判断基準の変化に流動的に適応することができないからである。
【０００５】
例えば、コンピュータ・ユーザがコンピュータ上にある全てのオーディオ・ファイルから気に入った８０曲（例えば、５つ星の評価）の歌を見つけたい場合、必要なフィルタ全て、例えば、探索毎に８０曲の音楽および／または５つ星を指定しなければならない。新しいファイルまたは歌が追加された場合、探索を再度組み立てて繰り返さなければならない。周期的に新しいファイルが追加または除去されている可能性があるので、コンピュータ・ユーザは、更新されたファイル・リストに合わせて探索判断基準を組み立てるという時間のかかるプロセスを繰り返さなければならない。また、所望のファイルを特定するためのクエリ定義を修正した場合、ユーザは、クエリ定義を組み込んだ第２探索に、クエリ定義の修正を容易にそして効率的に組み込むことができない。むしろ、ユーザは、探索判断基準を入力し、探索を繰り返さなければならない。また、ユーザは、更新した判断基準にしたがって、潜在的に膨大な数になり得るデータ・ファイルを手作業で編成し直さなければならない。
【０００６】
同様に、コンピュータ・ユーザは、ユーザが指定したフォルダまたはボリュームにおいて同じまたは修正したファイル・リストを再度探索しなければならない。これはユーザにとっていらだたしい。何故なら、所望のファイルが、探索したフォルダ以外のフォルダ内にある可能性があるからである。その場合、異なるフォルダにおいて探索を行っているコンピュータ・ユーザは、全てのファイルを首尾良く突き止めることができない。つまり、ファイルは事実上「失われた」ことになり、コンピュータ・ユーザは、ファイルが容易に突き止めることができないからであったとしても、ファイルへのアクセスを失うことになる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、当技術分野では、コンピュータ・ユーザがクエリを定義するまたは組み立てることによって、コンピュータ上において効果的そして効率的に所望のファイルを突き止めることができるシステムおよび方法が求められている。また、当技術分野では、クエリ内部にあるクエリを更に利用し、クエリおよびその他のフィルタ情報を組み合わせる方法およびシステムを提供することにより、ファイル探索の柔軟性を高めることが必要となっている。また、当技術分野では、他のクエリからの他のクエリ定義がクエリ構造に流入できるように、他のクエリ構造に関するクエリ構造を構築するシステムおよび方法も求められている。
【課題を解決するための手段】
【０００８】
以下に、本発明の形態の一部についての基本的な理解を得るために、本発明の簡素化した摘要を呈示する。この摘要は、本発明の広範な全体像ではない。これは、発明の枢要な即ち欠くことができない要素を特定することや、発明の範囲を正確に叙述することを意図するのではない。以下の摘要は、単に、本発明の概念の一部を簡略化した形式で、以下に行う更に詳細な説明に対する序論として呈示するに過ぎない。
【０００９】
前述の従来技術における欠点を克服するために、そして本明細書を読み理解すれば明白となるその他の欠点を克服するために、本発明の第１の例示形態では、動的な探索判断基準集合によって少なくとも部分的に定義される範囲内において、探索判断基準に位置する少なくとも１つのデータ・ファイルの探索を実行する。データ・ファイルは、限定ではなく、実行可能プログラム、データ・リンク・ライブラリ、環境設定ファイル、データベース、文書ファイル、グラフィック画像、ビデオ・ファイル、二進データ・ファイル、テキスト・データ・ファイル、オブジェクト・ファイル、ソースコード・ファイル、アプリケーション特有ファイル・タイプ、任意の他のファイルのようなコンピュータ・データ構造またはファイル、あるいは電子メール、カレンダ項目、コンタクト、タスク等のようなその他の原子データ・ユニット(atomic data unit)とすることができる。この例では、コンピュータは、データ・ファイル集合を定義するクエリを受け取ることができる。クエリは、「クエリ定義」と呼ばれる、少なくとも１つの判断基準に基づいて、データ・ファイル集合を定義する。クエリ定義（フィルタ情報を含み、データ・ファイル集合をフィルタ処理して、フィルタ情報内に明記されている判断基準を満たすデータ・ファイルを得る）は、例えば、所望のキーワードまたは所望の判断基準とすることができ、限定ではなく、ファイルの作成日、ファイルを最後に修正した日、またはデータ・ファイルを特徴付けるその他のあらゆる条件等である。
【００１０】
「オートリスト」は、所望のデータ・ファイルを特定または探索するために用いることができる。オートリストは、ここで用いる場合、いずれの所与の時点においても一致するデータ・ファイル集合を得るために用いることができる永続的クエリ定義のことを言う。オートリストから得られるデータ・ファイル集合は、動的であり、関連するオートリストまたは永続的クエリ定義を満たす新しいデータ・ファイルが、オートリストを呼び出す時に、返される。同様に、関連するオートリストをもはや満たさないデータ・ファイル（例えば、データ・ファイルを修正したために、データがクエリ定義を満たさなくなった）は、オートリストを呼び出すときには、返されることはない。
【００１１】
一実施形態では、オートリストは、対応する永続的クエリ定義に一致する動的なデータ・ファイル集合を返させる。例えば、所望の判断基準集合を収容したクエリ定義を受け取ることができる。クエリ定義は、データ・ファイルの探索に適用し、クエリ定義を満たすデータ・ファイル全てを突き止めることができる。したがって、オートリストは、クエリ定義を定義するために用いることができ、クエリ定義を満たすデータ・ファイルを探索によって返すことができる。
【００１２】
本発明の別の例では、データ・ファイルの第２探索範囲を定義するために用いることができる。この例では、永続的クエリ定義を備えているオートリストを受け取り、オートリストを満たすデータ・ファイルを特定する。しかしながら、更に、第１オートリストが明記するクエリ定義を満たすデータ・ファイルを特定することに加えて、第２クエリ定義が明記するクエリ定義を満たすデータ・ファイルも特定するように、第２オートリストを受け取ることもできる。第１オートファイルまたは第２オートファイルのいずれかを満たすデータ・ファイルも動的であると言うことができ、データ・ファイルに対するあらゆる修正または新しいファイルの追加が、第１または第２オートリストのいずれかにおける含入に自動的に反映される。このため、例えば、第１オートリストにおいて明記されたクエリ定義を満たすデータ・ファイルが修正され、データ・ファイルがもはや第１オートリストを満たさなくなった場合、第１オートリストをもはや満たさないデータ・ファイルを自動的に除去し、これらが第１オートリストによって返されないようにすることができる。同様に、データ・ファイルを修正して、第２オートリストをもはや満たさなくなった場合にも、データ・ファイルを第２オートリストから除去することができる（即ち、第２オートリストによって返されない）。
【００１３】
本発明の別の形態では、別のオートリストを定義するためには、いずれの数のオートリストでも、探索範囲として用いることができる。例えば、先に記したような永続的クエリ定義と各々関連付けることができる２つ以上のオートリストを組み合わせて、動的なデータ・ファイル集合に対する探索範囲を定義することもできる。このオートリストの組み合わせは、新しいオートリストが受け取られ、データ・ファイル集合が返されるように、探索範囲を定義することができ、返されるデータ・ファイル集合は、探索範囲を定義するオートリストのいずれも満たし、更に新しいオートリストに明記されているいずれの判断基準も満たす。
【００１４】
本発明の別の例では、オートリストに追加の判断基準を加えて、永続的クエリ定義を拡張することもできる。例えば、追加のフィルタ情報（即ち、探索判断基準）と共にクエリ定義を受け取ることができ、探索範囲をオートリストによって定義して、オートリストのクエリ定義および追加のフィルタ情報を満たすデータ・ファイルを見つけだして返すようにすることもできる。この例では、データ・ファイルがオートリストのクエリ定義を満たさない場合、または追加のフィルタ情報を満たさない場合、返されるデータ・ファイルのグループには、このデータ・ファイルは含まれない。返されるデータ・ファイルのグループは、更に、新しいオートリストを用いて、以降の探索において含ませることができる。
【００１５】
本発明の別の形態では、オートリストを修正すると、別のオートリストにおいて対応する修正が自動的に行われる。例えば、第１オートリストが第２オートリストに対する探索範囲を定義するとする。第１オートリストを更新または修正すると、第２オートリストに対する探索範囲が、第１オートリストの変化に対応して、自動的に更新される。
【００１６】
また、本発明は、コンピュータ・メモリに格納するソフトウェアとして実施することができ、コンピュータのオペレーティング・システムの制御の下で走らせることができ、ユーザが定義する種々の判断基準を満たすファイルを探索するために用いることができる。一例として、本発明は、オートリストを用いてデータ・ファイルを探索するまたは問い合わせるためのコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体を提供する。
【発明を実施するための最良の形態】
【００１７】
以下の種々の実施形態の説明では、添付図面を参照するが、添付図面は明細書の一部をなし、発明を実施することができる種々の実施形態を、例示として、示す。尚、本発明の範囲から逸脱することなく、他の実施形態も利用でき、構造的および機能的修正を行ってもよいことは言うまでもない。
【００１８】
本発明の形態は、オートリストを用いて、コンピュータ上において問い合わせを行いデータ・ファイルを探索する方法およびシステムを提供する。先に明記したように、オートリストとは、いずれの所与の時点においても使用可能な永続的クエリ定義であり、このクエリ定義と一致するファイル集合を得るためにある。オートリストから得られるデータ・ファイル集合は動的であり、関連するオートリストまたは永続的クエリ定義を満たす新しいデータ・ファイルが、オートリストを呼び出す時に、返される。同様に、関連するオートリストをもはや満たさないデータ・ファイル（例えば、データ・ファイルを修正したために、データがクエリ定義を満たさなくなった）は、オートリストを呼び出すときには、返されることはない。また、先に記したように、別のオートリストまたは永続的クエリ定義の探索範囲を定義するために、オートリストを用いることができる。
【００１９】
本発明の別の実施形態の一例では、オートリストは、異なるメモリ位置にあるデータ・ファイルを返すことができる。異なるメモリ位置は、限定ではなく、フォルダ、ボリューム、リモート・マシンまたはデバイス等を含む。オートリストによるデータ・ファイルの探索は、メモリにおけるデータ・ファイルの位置ではなく、探索するデータ・ファイルのプロパティに基づいてもよい。更に、オートリストは、データ構造内にオートリストの定義を格納することによって、永続的とすることもできる。
【００２０】
本発明の別の形態では、オートリスト・クエリは、別のオートリストに対するデータ・ファイルを特定するための探索範囲を定義するために用いることができる。このプロセスは、データ・ファイルまたは文書探索の柔軟性を高める。本発明の更に別の形態では、オートリスト・クエリを他のファイル情報または判断基準と組み合わせることができる。
【００２１】
図１は、本発明を実施することができる、適した計算システム環境１００の一例を示す。計算システム環境１００は、適した計算機環境の一例に過ぎず、本発明の使用範囲や機能性について限定を示唆する意図は全くない。また、計算機環境１００は、動作環境例１００に示す構成要素のいずれの１つまたは組み合わせに関しても、何らかの依存性や必須要件を有するという解釈は行わないこととする。
【００２２】
本発明は、多数のその他の汎用または特殊目的用計算システム環境や構成とでも動作することができる。本発明と共に用いるのに適していると思われる周知の計算システム、環境、および／または構成の例には、パーソナル・コンピュータ、サーバ・コンピュータ、サーバ・コンピュータ、ハンド・ヘルドまたはラップトップ・コンピュータ、マイクロプロセッサ・システム、マイクロプロセッサに基づくシステム、プログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、前述のシステムまたはデバイスのいずれをも含む分散型計算機環境等が含まれるが、これらに限定されるのではない。
【００２３】
図１を参照すると、本発明を実施するシステム例は、コンピュータ１１０の形態とした汎用計算機を含む。コンピュータ１１０の構成要素は、限定ではなく、演算装置１２０、システム・メモリ１３０、およびシステム・バス１２１を含むことができる。システム・バス１２１は、システム・メモリを含む種々のシステム構成要素を演算装置１２０に結合する。システム・バス１２１は、数種類のバス構造のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス構造のいずれかを用いるローカル・バスを含む。限定ではなく一例として、このような構造には、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、改良ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子規格連合（ＶＥＳＡ）ローカル・バス、先進グラフィックス・ポート（ＡＧＰ）、およびMezzanine バスとしても知られている周辺素子相互接続（ＰＣＩ）バスが含まれる。
【００２４】
コンピュータ１１０は、通例、種々のコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータ１１０がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。限定ではない一例をあげると、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体を含むと考えられる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納のために、あらゆる方法または技術で実施される、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピュータ１１０がアクセス可能なその他のいずれの媒体も含むが、これらに限定されるのではない。通信媒体は、通例、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波またはその他の移送機構のような変調データ信号において具体化し、あらゆる情報配信媒体を含む。「変調データ信号」という用語は、その特性集合の１つ以上が、情報を信号内にエンコードするようなやり方で、変化している信号を意味する。限定ではなく、一例として、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、ＲＦ、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。前述のいずれの組み合わせも、コンピュータ読み取り可能媒体の範囲に当然含まれるものとする。
【００２５】
システム・メモリ１３０は、リード・オンリ・メモリ（ＲＯＭ）１３１およびランダム・アクセス・メモリ（ＲＡＭ）１３２のような揮発性および／または不揮発性メモリの形態で、コンピュータ記憶媒体を含む。基本入出力システム１３３（ＢＩＯＳ）は、起動中のように、コンピュータ２０内のエレメント間におけるデータ転送を補助する基本的なルーティンを含み、通例ＲＯＭ１３１内に格納されている。ＲＡＭ１３２は、通例、演算装置１２０が直ちにアクセス可能であるデータおよび／またはプログラム・モジュール、または現在これによって処理されているデータおよび／またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図１は、オペレーティング・システム１３４、アプリケーション・プログラム１３５、その他のプログラム・モジュール１３６、およびプログラム・データ１３７を示す。
【００２６】
また、コンピュータ１１０は、その他のリムーバブル／非リムーバブル揮発性／不揮発性コンピュータ記憶媒体も含むことができる。一例としてのみ、図１は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ１４１、リムーバブル不揮発性磁気ディスク１５２からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ１５１、ならびにＣＤ−ＲＯＭまたはその他の光媒体のようなリムーバブル不揮発性光ディスク１５６からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ１５５を示す。動作環境の一例において使用可能なその他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリ・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭ等が含まれる。ハード・ディスク・ドライブ１４１は、通例、インターフェース１４０のような非リムーバブル・メモリ・インターフェースを介してシステム・バス１２１に接続され、磁気ディスク・ドライバ１５１および光ディスク・ドライブ１５５は、通例、インターフェース１５０のようなリムーバブル・メモリ・インターフェースによって、システム・バス１２１に接続する。
【００２７】
先に論じ図１に示すドライブおよびそれらと関連するコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびコンピュータ１１０のその他のデータを格納する。図１では、例えば、ハード・ディスク・ドライブ１４１は、オペレーティング・システム１４４、アプリケーション・プログラム１４５、その他のプログラム・モジュール１４６、およびプログラム・データ１４７を格納するように示されている。尚、これらの構成要素は、オペレーティング・システム１３４、アプリケーション・プログラム１３５、その他のプログラム・モジュール１３６、およびプログラム・データ１３７と同じでも異なっていても可能であることを記しておく。オペレーティング・システム１４４、アプリケーション・プログラム１４５、その他のプログラム・モジュール１４６、およびプログラム・データ１４７は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザは、キーボード１６２、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス１６１によって、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザ入力インターフェース１６０を介して、演算装置１２０に接続されている。ユーザ入力インターフェース１６０は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）のようなその他のインターフェースおよびバス構造によって接続することも可能である。モニタ１９１またはその他の形式の表示装置も、ビデオ・インターフェース１９０のようなインターフェースを介して、システム・バス１２１に接続されている。モニタに加えて、コンピュータは、スピーカ１９７およびプリンタ１９６のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース１９０を通じて接続することができる。
【００２８】
コンピュータ１１０は、リモート・コンピュータ１８０のような１つ以上のリモート・コンピュータへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピュータ１８０は、パーソナル・コンピュータ、ハンド・ヘルド・デバイス、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピュータ１１０に関して先に説明したエレメントの多くまたは全てを含むが、図１にはメモリ記憶装置１８１のみを示す。図１に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）１７１およびワイド・エリア・ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、一般的である。
【００２９】
ＬＡＮネットワーク環境で用いる場合、コンピュータ１１０は、ネットワーク・インターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続する。ＷＡＮネットワーク環境で用いる場合、コンピュータ１１０は、通例、モデム１７２、またはインターネットのようなＷＡＮ１７３を通じて通信を確立するその他の手段を含む。モデム１７２は、内蔵でも外付けでもよく、ユーザ入力インターフェース１６０またはその他の適切な機構を介してシステム・バス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関して図示したプログラム・モジュール、またはその一部は、リモート・メモリ記憶装置に格納することもできる。一例として、そして限定ではなく、図１は、リモート・アプリケーション・プログラム１８５がメモリ素子１８１上に常駐するものとして示している。尚、図示のネットワーク接続は一例であり、コンピュータ間で通信リンクを確立する他の手段も使用可能であることは認められよう。
【００３０】
尚、図示のネットワーク接続は一例では、コンピュータ間に通信リンクを確立する別の手段も使用可能であることは認められよう。ＴＣＰ／ＩＰ、イーサネット（登録商標）、ＦＴＰ、ＨＴＴＰ等のような種々の周知のプロトコルのいずれかが存在することを想定しており、システムは、ユーザがウェブに基づくサーバからウェブ・ページを検索できるように、クライアント・サーバ構成で動作することができる。種々の従来からのウェブ・ブラウザのいずれでも、ウェブ・ページ上のデータを表示および操作するために用いることができる。
【００３１】
本発明の一形態は、コンピュータ上においてデータ・ファイルまたは文書を探索し、位置を突き止め、発見する際におけるオートリストの使用に関する。データ・ファイルは、更に、複数のメモリ位置および／またはコンピュータに跨って見つけることもできる。例えば、あるコンピュータ上では、所望のデータ・ファイルが異なるフォルダにおいて発見できるように、フォルダが異なるメモリ位置にある場合もある。同様に、限定ではなく、コンピュータに接続されている異なる記憶装置、または異なるコンピュータ同士というような、異なるメモリ・デバイスにおいてデータ・ファイルが発見される場合もある。したがって、コンピュータの記憶装置またはサーバは、種々のメモリ位置に多くのデータ・ファイルを収容している場合もあり、あるいはデータ・ファイルが異なるフォルダ、ドライブ、記憶装置等に格納されている場合もある。
【００３２】
コンピュータ・ユーザは、複数の異なるメモリ位置（例えば、別のフォルダまたは記憶装置）に位置し、クエリ定義を満たすファイルを含む、ある判判断基準（即ち、クエリ定義）を満たす全てのファイルにアクセスする、またはこれらを発見することを望む場合がある。本発明の一形態では、クエリ定義を収容したクエリをユーザから受け取り、クエリ定義に基づいてファイルを探索する。クエリ定義は、ファイルを探索する基となる判断基準を規定する。例えば、クエリ定義は、所望のファイルにおいて探索するための１つまたは複数のキーワードを与えることができる。クエリ構造は、データ構造（即ち、オートリスト）ないに存続することもでき、ユーザが必要に応じて再利用することができる。更に、  オートリストに対応する仮想フォルダを作成するために、コンピュータのオペレーティング・システムによって用いることもできる。
【００３３】
本発明は、コンピュータ・ユーザがクエリ定義集合（即ち、探索判断基準）を適用することにより、オートリストを作成することができる方法およびシステムを提供する。クエリ定義は、探索範囲の定義を含むことができる。オートリストの作成には、オートリストに対するクエリ定義を規定することにより、オートリストに対して探索範囲を定義することを伴う。いずれの数のオートリストでも、いずれの数のクエリ定義を適用することにより、作成することができる。また、オートリストの組み立て(compose)は、オートリストの探索範囲を、別のオートリストまたはオートリスト集合によって定義すれば、遂行することができる。
【００３４】
図２は、オートリストを作成しおよび／または組み立て、オートリストに基づいて問い合わせを実行する本発明の形態を示す。図２のコンピュータは、サーバ２００のような、メモリ記憶装置を備えており、その中にファイルを格納する。この例では、サーバ２００は、リポータのために雑誌または新聞記事のテキスト・ファイルを格納する。この例におけるユーザは、多数の定期的刊行物のリポータとすることができ、刊行物の内２つを図２に示す（例えば、National GeographicおよびWired）。リポータは、サーバ２００上に、彼が執筆した全ての記事を格納し、それらの記事がNational GeographicまたはWired Magazine、あるいはリポータが執筆することができるその他の定期的刊行物のいずれのために執筆されたのでも構わない。本発明のこの例は、クエリ定義を満たす所望の記事または記事集合の効率的なアクセスおよび呼び出しを可能にする方法およびシステムを提供する。図２に示す一例では、第１オートリスト２０１を作成する際、National Geographicの記事に関連があり動物または旅行に関する記事を得るためのクエリ定義を適用する。この例では、第１オートリスト２０１は、永続的クエリ定義を処理することにより、例えば、"Animals"（動物）、"Travel"（旅行）、または"National Geographic"というキーワード（Keyword）を収容する記事を探索することによって、記事を返す。更に、オートリストは、探索を行うべき探索の範囲（Scope）（即ち、探索が行われる場所、例えば、サーバ２００）も示すことができる。つまり、この例では、オートリスト２０１は関連するクエリ定義を与え、サーバ２００上に位置し、オートリスト・クエリを満たす、対応するデータ・ファイルを探索するために用いることができる。
【００３５】
同様に、サーバ２００上に格納されており第２クエリ定義を満たす記事を探索するために、第２オートリスト２０２を作成することができる。この例では、第２オートリストは、所望のWired Magazineの記事（例えば、Phones（電話機）およびGadgets（機械装置）に関するWired Magazineの記事）を見つけるためのクエリ定義（即ち、探索判断基準）を規定する。この例では、Phones、Gadgets、およびWired（オートリスト２０２によって与えられる）というキーワードを、指定された探索範囲において探索し（例えば、この例ではオートリスト２０２によって規定されるサーバ２００）、サーバ２００上に格納されている、電話機および機械装置に関するWiredの記事全てを突き止める。
【００３６】
図３Ａおよび図３Ｂは、オートリストを作成する例を示し、National Geographicオートリスト２０１を作成することを例示する。図３Ａおよび図３Ｂにおいて、図２の例からのユーザは、動物および旅行に関するNational Geographicの記事を選択する際、この種の文書を得るために、対応する探索判断基準を入力する。図３Ａでは、ユーザは、所望のクエリ定義を用いてNational Geographicの記事を探索し、アドレス・バー３０１（パン皮バー(breadcrumb bar)とも呼ぶ）に示される探索判断基準を満たす記事３０１の集合体を得る。更に、ユーザはクエリ定義をオートリストとして保存することができる。この例では、ユーザは、図３Ｂに示すように、"National Geographic"３０２と題するオートリスト２０１として、クエリ定義を保存する。このように、ユーザは更新した探索にいつでも容易にアクセスすることができる。
【００３７】
同様に、図４Ａおよび図４Ｂは、オートリストの作成を示し、Wired Magazineに対するオートリストを作成し、ユーザが電話機（Phones）および機械装置（Gadgets）に関するWired雑誌の記事を探索することを例示する。この例では、ユーザは、アドレス・バー４０１に示す関連クエリ定義を用いて、電話機および機械装置に関するWired記事４０１を得て（図４Ａ）、"Wired"４０２と題するオートリスト２０２として、得られたクエリ定義を保存する（図４Ｂ）。
【００３８】
再度図２を参照すると、オートリストは、後続のクエリ定義に基づく探索に対応する探索範囲を定義するためにも用いることができる。加えて、クエリ定義は、後続の探索中に、追加の探索判断基準をクエリ定義に加えることによって拡張することができる。また、オートリストの組み立ては、別のオートリストまたはオートリスト集合によってオートリストの範囲を定義することによっても遂行することができる。このオートリストを組み立てる例では、第３の探索のクエリ定義を、"Late Articles"（遅れた記事）２０３によって定義する。第３の探索のクエリ定義（即ち、"Late Articles"２０３のオートリスト）は、クエリ定義の一部として、探索範囲が２つの既存のオートリスト、即ち、National GeographicおよびWiredであることを示す。追加の探索判断基準をLate Articlesオートリスト２０３のクエリ定義に加える。図２に示すように、オートリスト２０３のクエリ定義に加えられた新しい探索判断基準は、この例では、"Assigned to = Nicholas"（割り当て先＝Nicholas）、Priority=1（優先度＝１）、そしてDue Date>Last Month（期日＞先月）である。したがって、この例のLate Articleオートリスト２０３は、National GeographicオートリストおよびWiredオートリストの中にある記事の内、少なくとも先月からの期限を有し、高い優先度を有し、Nicholasに割り当てられた記事全ての探索および特定を可能にする。
【００３９】
注記すべきは、探索範囲を定義する際に用いられたオートリストのいずれにでも変更がなされた場合、または探索範囲を定義する際に用いられたオートリストによって異なる探索結果が得られた場合、修正した以前のオートリストを探索範囲の一部として組み込んでいる第３のオートリストも自動的に更新されることである。この例では、National GeographicまたはWiredのいずれかの記事のクエリ定義に変更がなされた場合（例えば、動物および旅行に加えて、エジプト美術に関する記事を含むようにNational Geographicを更新した場合、または電話機および機械装置に加えて、光ファイバに関する記事を含むようにWiredを更新した場合）、これらの変更は自動的にLate Articlesオートリストのクエリに反映されることになる。
【００４０】
図５Ａ〜図５Ｃは、図２に示したLate Articlesオートリストの組成の一例を示す。この例では、ユーザ（例えば、リポータ）がWired Magazineの編集者に提出する記事の期限を過ぎてしまい、全ての期限を過ぎたWired Magazineの記事を見つけて特定したいと望んでいる。こうするために、この例におけるユーザ／リポータは、期限経過という判断基準を満たす全てのWired Articlesを探索するために、クエリ定義を入力することができる。得られたクエリは"Late Articles"オートリストを構成する。このように、期限および潜在的に遅れた記事の提出を追跡し続けるために、Late Articlesオートリストが組み立てられる。
【００４１】
また、この例のユーザ／リポータは、指定した探索判断基準を満たす全てのデータ・ファイルを突き止めるための探索判断基準を適用することもできる。図５Ａに示すように、ユーザ／リポータは、彼に指定された一定の優先度および期日の記事を得るために、探索判断基準（即ち、クエリ定義）を適用する。例えば、クエリ定義に基づく探索は、Late Articlesオートリストに基づき、その結果、"Nicholas"（即ち、ユーザ）に割り当てられ（Assigned to = Nicholas）、優先度＝１（Priority=1）であり、期日が少なくとも先月である（即ち、期日＞先月（Due Date>Last Month））全ての記事が返される。
【００４２】
図５Ｂは、探索範囲の指定を示す。この例では、ユーザは、全ての関連するNational Geographicの記事を探索し突き止めるオートリスト、および全ての関連するWired Magazineの記事を探索し突き止める別のオートリストを既に作成している。これらの判断基準を、関連するNational Geographicの記事に対するオートリスト、および関連するWired Magazineの記事に対するオートリストによって少なくとも部分的に定義される範囲内において別の探索に入力しなければいけない代わりに（これは、探索の柔軟性を阻害する）、ユーザは、既存のオートリスト（この例では、National Geographicおよび／またはWired オートリスト）の使用により探索範囲を指定することによって、オートリストを組み立てることができる。また、ユーザは、探索範囲として用いられるオートリストを指定しさえすればよく、以前から存在するオートリストによって表される所望のキーワードおよびその他の判断基準を再入力する必要はない。これは、ユーザ側において時間および労力の節約となる。図５Ｂは、カスタム（Custom)オートリストの組成を示し、ここでは、National GeographicオートリストおよびWiredオートリストと関連がある永続的クエリ定義を含むように、範囲を設定している。National GeographicおよびWiredオートリストに対応する探索範囲の指示を含む新しいクエリ定義を定義する、新たに組み立てたオートリストは、一意の名称の下で保存するとよい。この例では、新たに組み立てたオートリストを"Late Articles"（遅れた記事）オートリスト（図５Ｃ）として保存する。
【００４３】
更に、図２は、探索範囲を定義するためにオートリストを用いる別の例を示す。図２では、ユーザ／リポータが、出版のために提出されている全ての記事を検索することを望んでいることもあり得る。更に、特定の個人によって提出された全ての記事、および／または特定のステータス(Status）を有する全ての記事を探索することが望まれる場合もあり得る。図２に示すように、このような所望の記事全てを探索し戻すオートリストを組み立てることができる。この例では、ユーザが見付けたいと思っているのは、"Ready for Review"（検討する準備ができている）（即ち、特定のステータス）であり、NicolasまたはMelissaが執筆した全てのNational Geographicの記事およびWiredの記事である。対応するクエリ定義が、所望の判断基準に対応して受け取られ、NicolasまたはMelissaのいずれかが執筆し"Ready for Review"である記事が、Articles Submitted（提出済み記事）オートリスト２０４によって探索され返される。しかしながら、探索範囲はクエリ定義の一部であり、この例ではNational GeographicおよびWiredオートリストによって定義されるので、関連するNational GeographicおよびWiredの記事は、Articles Submittedオートリスト２０４によって返される。
【００４４】
尚、オートリストは多くの形態をなすことができるので、以上の例は単に例示するに過ぎず、本発明を限定するのではないことは言うまでもない。別の例では、１つのオートリストが１つのソースまたは範囲を探索するためのクエリ定義を定義することができ、一方別のオートリストが異なるソースまたは範囲を探索するためのクエリ定義を定義することができる。これは図６に示す通りである。この例では、所望の判断基準を満たすNational Geographicの記事（ここでは、動物および旅行に関連し、１９９５年以降に録取されたNational Geographicの記事）が、National Geographicオートリスト６０３に返される。また、電話機および機械装置に関連し、１９９９年以降に録取されたWiredの記事がWiredオートリスト６０４に返される。しかしながら、National Geographicの記事は、サーバ１  ６０１内部で探索されてNational Geographicオートリスト６０３を形成し、一方Wired Magazineの記事はサーバ２  ６０２内部で探索されてWiredオートリスト６０４を形成する。したがって、各オートリストが異なるソースまたは格納場所から記事を得ることになる。所望のクエリ定義を満たす記事に対するNational Geographicオートリスト６０３およびWiredオートリスト６０４のクエリ定義において明記されている範囲内で探索を行うことにより、図６においてLate Articlesオートリスト６０５またはArticles Submittedオートリスト６０６に対応する記事が返される。Late Articlesオートリスト６０５については、返された記事は最新の期日および高い優先度を有し、特定のリポータ（例えば、Nicholas)に割り当てされている。Articles Submittedオートリスト６０６については、検索された記事は、NicolasまたはMelissaが所有（own）し、「検討する準備ができている（ready for review）」。National Geographicオートリスト６０３がサーバ１  ６０１において探索を行い、一方Wired オートリスト６０４がサーバ２  ６０２において探索を行うのであるが、探索範囲はNational Geographicオートリスト６０３およびWired オートリスト６０４のそれぞれの永続的クエリ定義によって定義されるので、Late Articlesオートリスト６０５およびArticles Submittedオートリスト６０６の双方は、National Geographicの記事およびWired Magazineの記事を探索する。この例では、Late Articlesオートリスト６０５およびArticles Submittedオートリスト６０６は、各々、その範囲において用いられている各オートリスト（即ち、この例では、National Geographicオートリスト６０３およびWiredオートリスト６０４）からの結果の合体をなし、それらそれぞれのクエリ定義におけるそれらそれぞれの追加の探索判断基準を適用する。このため、探索範囲を定義するために用いられるオートリストは、異なるまたは矛盾する判断基準であってもよい。
【００４５】
本発明の範囲内においてオートリストのいずれのフォーマットでも用いることができるので、本発明は、オートリストのいずれのフォーマットにも限定されることはない。図７Ａ〜図７Ｃは、オートリスト・エディタに用いることができる代用のユーザ・インターフェース・フォーマットの別の非限定的な例を示す。図７Ａにおいて、オートリストはツリーにおけるノードとして設けられている。オートリスト（Autolists）の各々は、選択のためのチェック・ボックスを収容している。例えば、National Geographicオートリスト８０１およびWiredオートリスト８０２の各々は、対応するチェック・ボックスを有する。
【００４６】
図７Ｂは、オートリスト・ノードを、上位ノード（例えば、ローカル・ディスクＣ（Local Disk C））におけるサブノードとして示す。例えば、National Geographicオートリスト８０５およびWiredオートリスト８０６の各々は、オートリスト（Autolists）サブノード８０４の下に描画されており、一方オートリスト・サブノード８０４はローカル・ディスクＣのノードの下に描画されている。
【００４７】
図７Ｃは、コンピュータにおける別の場所から離れたオートリスト８０６の別個のリストとして、オートリストを示す。加えて、オートリストにはフィルタを収容することができ、オートリスト・エディタ（図示せず）において直列に示すことができる。しかしながら、フィルタを反映するいずれの方法でも用いることができる。例えば、フィルタは、カーソル（図示せず）を動かす(hover)ときにツールチップ(tooltip)として示すことができる。
【００４８】
あるいは、別のオートリストの作成中に、クエリ定義内における探索判断基準としてオートリストを明示することもできる。図８Ａでは、National Geographicオートリストを探索判断基準として追加し、National Geographicオートリストから返された結果を、Late Articlesオートリストのクエリ定義の一部として組み込むようにしている。図８Ｂは、National Geographic オートリストをフィルタとして追加（adding as a filter）することにより（即ち、探索判断基準）、National Geographicオートリストを通じたオートリスト結果の追加を示す。この例では、ドロップダウンメニューによってオートリストを選択するが、いずれの方法を用いてもよい。図８Ｃは、Late Articlesオートリストの範囲に含まれるNational Geographicオートリストを示す。
【００４９】
オートリストを設ける代替方法の更に別の例では、１つのオートリストが多数の判断基準を表示することもできる。例えば、図９Ａでは、別の判断基準として含まれているオートリストを含むLate Articlesオートリストの詳細を最大限表示する。この例では、National Geographicオートリストは、追加の判断基準として含まれており（Also include)、Nicolasに割り当てられ、高い優先度があり、少なくとも先月期日であった記事を見付ける。このように、"Patrick"および"Common"において探索してこのような記事を求めることに加えて、Late Articles オートリストはNational Geographicオートリストを用いた探索も行う。これら追加の判断基準は、オートリスト・エディタ（Autolist editor）に表示される。
【００５０】
図９Ｂは、多数の判断基準を有するオートリストを設ける別の例を示し、この場合、潜在的に期限を過ぎている可能性があるWiredの記事を見付けるためにWiredオートリストを用いる。例えば、図９Ｂでは、Wiredオートリストは、別の判断基準として含まれている。この例では、Wiredオートリストは、更に、National  Geographicの記事に加えて、Nicolasに割り当てられ、優先度が高く、少なくとも先月が期日であったWiredの記事も見付けるために含まれている。この例では、判断基準として含まれている全てのオートリストの詳細が最大限規定されている。
【００５１】
本発明の別の例示的形態によれば、重複する結果はオートリストによって返されないようにすることもできる。例えば、第１のオートリストはメモリ位置集合、例えば、フォルダ、ディスク・ドライブ、メモリ・デバイスの集合等からデータ・ファイルを返すことができる。第２のオートリストは、第２のメモリ位置集合からデータ・ファイルを返すことができる。更に、第１のオートリストと第２のオートリストとの間には重複するメモリ位置があることもあり、第１のオートリストが探索したメモリ位置の少なくとも１つが、第２のオートリストが探索したメモリ位置と同一であることもあり得る。第３のオートリストが第１のオートリストおよび第２のオートリスト双方を組み込む場合、返されるデータ・ファイルの重複が生ずる可能性がある。つまり、第３のオートリストによって返されるデータ・ファイルの全てが唯一でなくなる。その結果、それぞれの探索結果には、唯一でない重複データ・ファイルが返されることになる。
【００５２】
返されるデータ・ファイル集合において複製データ・ファイルを管理するオートリストの例を図１０に示す。図１０では、極東からの休暇の写真に関する画像ファイルに対応するデータ・ファイルを返すクエリ定義によって、Far East Travel（極東旅行）オートリスト１００１を作成する。この例では、Far East Travelオートリスト１００１は、日本、中国、韓国、またはタイ（Japan, China, Korea, or Thailand）におけるランドマークを描写する画像（image）データ・ファイルを返す。また、Japan（日本）オートリスト１００２は、日本に関する画像および文書に対応するデータ・ファイルを返すクエリ定義によって作成される。Leisure（レジャー）オートリスト１００３は、Far East Travelオートリスト１００１およびJapanオートリスト１００２を参照により(by reference)組み込むクエリ定義によって組み立てられる。この例では、Leisureオートリスト１００３は、Far East Travelオートリスト１００１およびJapanオートリスト１００２を、探索範囲を定義するものとして、組み込む。つまり、Leisureオートリスト１００３は、この例では、極東からの休暇の写真ならびに日本に関する画像および文書の双方に対応するデータ・ファイルを返す。
【００５３】
しかしながら、Leisureオートリスト１００３がFar East Travelオートリスト１００１およびJapanオートリスト１００２双方を探索範囲として組み込むので、いずれかのデータ・ファイルがFar East Travelオートリスト１００１およびJapanオートリスト１００２双方のクエリ定義を満たす場合、これらのデータ・ファイルはLeisureオートリストにおいて２回返される可能性がある。返されたデータ・ファイルが唯一でない場合、重複結果が生じ、探索結果の混乱に至る。冗長な探索結果に伴う問題を解消するために、オートリストは、唯一のデータ・ファイルのみを選別して返すことができる。このように、本発明のこの形態例では、システムは重複データ・ファイルを検出し、このようなデータ・ファイルの１つのインスタンスのみを返す（即ち、唯一のデータ・ファイルのみを返す）ことができる。
【００５４】
本発明の形態の別の例では、オートリストにおける望ましくない巡回を防止することができる。例えば、クエリ定義において第２のオートリストを組み込む第１のオートリストを組み立てる場合、第２のオートリストも同様にクエリ定義において第１のオートリストを組み込むのであれば、オートリスト間で参照し合う無限の巡回が生ずる可能性がある。同様に、一連の参照による組み込みにおいて、１つのオートリストが順に他のオートリストの１つを組み込む場合、巡回が形成される可能性があり、オートリストが機能しなくなる可能性がある。図１１は、オートリストの巡回の例を示す。この例では、My Favorite Photos（私の大好きな写真）オートリスト１１０３が組み立てられ、ユーザ（この例では、Nicolas)の画像データ・ファイルを返そうとしている。My Favorite Photosオートリスト１１０３は、この例では、参照によりRecent Photos（最近の写真）オートリスト１１０１およびVacation Photos（休暇の写真）オートリスト１１０２を組み込む。つまり、Recent Photosオートリスト１１０１およびVacation Photosオートリスト１１０２は、My Favorite Photosオートリスト１１０３に対して探索範囲を規定する。更に図１１に示すように、Recent Photosオートリスト１１０１は、My Favorite Photosオートリスト１１０３も組み込む。Recent Photosオートリスト１１０１を組み込むMy Favorite Photosオートリスト１１０３、およびMy Favorite Photosオートリスト１１０３を組み込むRecent Photosオートリスト１１０１は、オートリスト間同士で参照し合う巡回を形成し、無限の参照ループとなる可能性がある。
【００５５】
本発明のこの例では、第１のオートリストが第２のオートリストを参照し、一方第２のオートリストは第１オートリストを参照するという望ましくない巡回を防止する。同様に、第１のオートリストが第２のオートリストを組み込み、第２のオートリストが第１のオートリストを参照により直接的には組み込まないが第３のオートリストを組み込む場合にも、巡回は発生する可能性がある。第３のオートリストが第１のオートリストを組み込むと、ループが閉じて、同様の望ましくない巡回が形成される。このような巡回には、いずれの数のオートリストでも関与し、いずれの数のオートリストでも介在する可能性がある。
【００５６】
図１２Ａおよび図１２Ｂは、オートリストの巡回を防止する本発明の一例を示す。この例では、図１１に示すようにRecent Photosオートリスト１１０１を組み込むMy Favorite Photosオートリスト１１０３の組み立てを試みる。しかしながら、Recent Photosオートリスト１１０１は既にMy Favorite Photosオートリスト１１０３を既に組み込んでいる。このため、システムはオートリストの巡回に際して不用意な試みを検出し、それが行われるのを防止する。図１２Ａに示すように、Recent PhotosオートリストおよびVacation Photosオートリストの各々は、それぞれのクエリ定義を含むように作成されている。図１２Ｂは、図１１に示すようにMy Favorite Photosオートリスト１１０３を組み立てる試みを示す。しかしながら、My Favorite Photosオートリストは、図１１に示すように、Recent Photosオートリスト１１０１を組み込み、許されないオートリストの巡回の原因となる。このため、図１２Ｂに示すように、システムはメッセージを与えて、オートリストを参照するときに、違法な試みが生じ、参照が行われるのを防止したことを、ユーザに通知する。
【００５７】
図１２Ａおよび図１２Ｂは、ユーザ、例えば、ユーザ・インターフェースとの双方向処理を組み込んだオートリストの巡回防止の例を示すが、オートリストの巡回を防止する例は他にも多数ある。例えば、巡回は、処理レベルでも同様に防止することができる。この例では、オートリストの処理中に、オートリストにおいて巡回を形成する試みを検出し、自動的に巡回を終了させる。このように、ユーザとの双方向処理を必要とせずに、オートリストの巡回を防止する。
【００５８】
図１３は、処理レベルでオートリストにおける巡回を防止する別の例を示すデータ・フロー図である。この例では、National Geographicオートリスト１３０３は、サーバ１  １３０１においてデータ・ファイルを探索することによって、所望のNational Geographicの記事（即ち、動物または旅行に関する）を返す。Wiredオートリスト１３０４は、サーバ２  １３０２においてデータ・ファイルを探索することによって、所望のWiredの記事（即ち、電話機および機械装置に関する）を返す。しかしながら、この例では、Wiredオートリスト１３０４の探索範囲においてLate Articlesオートリスト１３０５をWiredオートリスト１３０４に含ませる試みを行う。Late Articlesオートリスト１３０５は、National Geographicオートリスト１３０３およびWiredオートリスト１３０４を探索範囲として組み込むことによって、期限が過ぎた記事を返す。しかしながら、これはオートリストにおいて巡回を形成する試みとなる。何故なら、Wiredオートリスト１３０４はLate Articlesオートリスト１３０５を組み込もうとし、一方Late Articlesオートリスト１３０５はWiredオートリスト１３０４を組み込もうとするからである。
【００５９】
オートリストの巡回防止のこの例では、ユーザ・インターフェースの必要もなく、処理レベルで、試みられた巡回を検出する。システムは、巡回を検出し、自動的にこの巡回を除去する。例えば、図１３に示すWiredオートリスト１３０４は、サーバ２  １３０２において探索することによって、関連のある Wiredの記事（即ち、電話機および機械装置に関するWiredの記事）を返すことができる。Late Articlesオートリスト１３０５の組み込みは、許されない巡回として検出されるので、Wiredオートリスト１３０４は自動的にLate Articlesオートリスト１３０５を探索範囲から「間引く」。したがって、Articles Submittedオートリスト１３０６は、図１３に示すように、National Geographicオートリスト１３０４およびWiredオートリスト１３０４を組み込むことによって、関連する提出記事を返すことができ、一方Wiredオートリスト１３０４はサーバ２  １３０２のみを探索して、関連するWiredの記事（即ち、電話機および装置機械に関する）を求める。Wiredオートリスト１３０４によるLate Articlesオートリスト１３０５の参照による組み込みは、自動的に「間引かれる」。更に、望ましければ、ユーザには、オートリストを修正したことを知らせるために、通知または警告メッセージを供給することもできる。  
【００６０】
オートリストは、多くのフォーマットでコードとして格納することができる。例えば、オートリストは、ＸＭＬのようなマークアップ言語の形態で格納することができる。ＸＭＬファイルとして格納したオートリストの例は、次の通りである。
【００６１】
【表１】
2008541261.tif 000003
上の例では、オートリストは、特定の著者によって積層されたデータ・ファイル全てを供給する。
【００６２】
ＸＭＬとして格納したオートリストの別の例は、次の通りである。
【００６３】
【表２】
2008541261.tif 000004
この例では、全てのデータ・ファイルを、最終編集日に基づいて降順で返す。
【００６４】
尚、本発明の形態は多くの形態および実施形態を取ることができることは言うまでもない。ここに示した実施形態は、本発明を限定するのではなく、例示することを意図しており、本発明の範囲の主旨から逸脱することなく変容も可能であることは認められよう。本発明の例示的な実施形態について示し説明したが、広範囲におよぶ修正、変更、および交換が前述の開示には織り込まれており、場合によっては、本発明の特徴の一部は、対応して他の特徴を使用しなくても、用いることができる。したがって、添付した特許請求の範囲は、広義にそして本発明の範囲との齟齬がないように解釈してしかるべきである。
【図面の簡単な説明】
【００６５】
【図１】図１は、本発明を実施するための、汎用計算デバイスを含むシステムの一例を示す。
【図２】図２は、本発明の例示形態によるオートリスト間の関係を表す全体的構造図を示す。
【図３Ａ】図３Ａは、オートリスト作成の一例を示す。
【図３Ｂ】図３Ｂは、オートリスト作成の一例を示す。
【図４Ａ】図４Ａは、オートリスト作成の別の例を示す。
【図４Ｂ】図４Ｂは、オートリスト作成の別の例を示す。
【図５Ａ】図５Ａは、１つのオートリストの組成を２つの別のオートリストの組成で置換する例の一形態を示す。
【図５Ｂ】図５Ｂは、１つのオートリストの組成を２つの別のオートリストの組成で置換する例の一形態を示す。
【図５Ｃ】図５Ｃは、１つのオートリストの組成を２つの別のオートリストの組成で置換する例の一形態を示す。
【図６】図６は、本発明の例示形態による異なるオートリストに対する異なるソースを表すデータ・フロー図を示す。
【図７Ａ】図７Ａは、オートリスト選択制御に対するフォーマット例を示す。
【図７Ｂ】図７Ｂは、オートリスト選択制御に対するフォーマット例を示す。
【図７Ｃ】図７Ｃは、オートリスト選択制御に対するフォーマット例を示す。
【図８Ａ】図８Ａは、オートリストをフィルタ判断基準として明示する例を示す。
【図８Ｂ】図８Ｂは、オートリストをフィルタ判断基準として明示する例を示す。
【図８Ｃ】図８Ｃは、オートリストをフィルタ判断基準として明示する例を示す。
【図９Ａ】図９Ａは、個々のオートリストのソースに対して判断基準を適用する例を示す。
【図９Ｂ】図９Ｂは、個々のオートリストのソースに対して判断基準を適用する例を示す。
【図１０】図１０は、オートリストの複製データ・ファイルを管理する例を示す全体的構造図である。
【図１１】図１１は、オートリストの巡回を示す全体的構造図である。
【図１２Ａ】図１２Ａは、オートリストの巡回防止の例を示す。
【図１２Ｂ】図１２Ｂは、オートリストの巡回防止の例を示す。
【図１３】図１３は、オートリストの巡回防止の別の例を示すデータ・フロー図である。
【図３Ａ】
2008541261.tif 000005
【図３Ｂ】
2008541261.tif 000006
【図４Ａ】
2008541261.tif 000007
【図４Ｂ】
2008541261.tif 000008
【図５Ａ】
2008541261.tif 000009
【図５Ｂ】
2008541261.tif 000010
【図５Ｃ】
2008541261.tif 000011
【図７Ａ】
2008541261.tif 000012
【図７Ｂ】
2008541261.tif 000013
【図７Ｃ】
2008541261.tif 000014
【図８Ａ】
2008541261.tif 000015
【図８Ｂ】
2008541261.tif 000016
【図８Ｃ】
2008541261.tif 000017
【図９Ａ】
2008541261.tif 000018
【図９Ｂ】
2008541261.tif 000019
【図１２Ａ】
2008541261.tif 000020
【図１】
2008541261.tif 000021
【図２】
2008541261.tif 000022
【図６】
2008541261.tif 000023
【図１０】
2008541261.tif 000024
【図１１】
2008541261.tif 000025
【図１２Ｂ】
2008541261.tif 000026
【図１３】
2008541261.tif 000027
【国際調査報告】
2008541261.tif 000028