JP2008541261A - オートリストを用いたクエリ組成 - Google Patents

オートリストを用いたクエリ組成 Download PDF

Info

Publication number
JP2008541261A
JP2008541261A JP2008511099A JP2008511099A JP2008541261A JP 2008541261 A JP2008541261 A JP 2008541261A JP 2008511099 A JP2008511099 A JP 2008511099A JP 2008511099 A JP2008511099 A JP 2008511099A JP 2008541261 A JP2008541261 A JP 2008541261A
Authority
JP
Japan
Prior art keywords
autolist
query
query definition
search
definition
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.)
Pending
Application number
JP2008511099A
Other languages
English (en)
Inventor
ベッツ,ベンジャミン・エイ
デ・ボルチック,デイヴィッド,ジー
ウォング,ライアン・ケイ・エフ
マッキー,ティモシー・ピー
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008541261A publication Critical patent/JP2008541261A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 オートリストを作成し、問い合わせを実行するためのコンピュータ方法を提供する。
【解決手段】 サーバ(200)がテキスト・ファイルを格納する。第1オートリスト(201)を作成し、関連クエリ定義を規定して、これを用いて、サーバ(200)上でオートリストのクエリ定義を満たす、対応するデータ・ファイルを探索する。サーバ(200)上に格納されており、第2クエリ定義を満たすテキスト・ファイルを探索するために第2オートリスト(202)を作成することができる。第1クエリの修正に基づく探索範囲の修正を、第2クエリに対する探索範囲に自動的に反映させることができる。
【選択図】 図6

Description

本発明は、一般的には、コンピュータ・システムに関し、更に特定すれば、コンピュータ・システムにおける問い合わせまたはクエリ(query)に関する。特に、本発明は、探索判断基準に一致する探索範囲の少なくとも一部として、オートリストを用いて、コンピュータ上において問い合わせを行い、動的にデータ・ファイル集合を求めることに関する。
コンピュータ・ユーザは、コンピュータまたはネットワーク上における種々の場所に格納されているファイルまたはフォルダを発見することが必要になる場合が多い。これらのファイルまたはフォルダは、ユーザが指定する判断基準集合に基づいて探索することができる。通例、ユーザは、ユーザが探索したいフォルダ、即ち、探索範囲を指定しなければならない。例えば、ユーザが所望の判断基準を満たすファイル全てを見つけたい場合、探索すべきフォルダまたはコンピュータ・ドライブ、例えば、C:ドライブ、D:ドライブ、またはC:\users\foo等を指定しなければならない。
所望のファイルを探索する従来技術には問題があり、コンピュータ・ユーザはいらいらされられていた。例えば、これらの従来技術は、通例、指定した範囲内においてファイルを探索することができる。しかしながら、指定した探索範囲(scope)を探索するので、探索すべきファイルの幅(range)が範囲とは無関係に変化する場合、探索に柔軟性がない。また、ファイルを探索する従来技術に柔軟性がないのは、1回の探索における探索クエリを、別の探索においてファイルを探索するために用いることができないからである。したがって、従来技術の技法は、別の探索定義を組み合わせることによって、クエリ定義を用いて探索を実行する能力をユーザに提供していない。また、従来技術のファイル探索は、クエリ定義を組み込んだ第2探索を自動的に更新することができるように動的にクエリ定義を変更することができるようになっていない。逆に、ユーザは探索判断基準またはクエリ定義を繰り返し指定しなければならない。
データ・ファイルを探索し特定し続けるに連れて、データ・ファイルが増々多くなる。データ・ファイルは、パターンまたは分類法(例えば、ディレクトリ構造)で格納する。新しいデータ・ファイルを特定するに連れて(即ち、新たな探索によって)、これら新しいデータ・ファイルを既存のディレクトリ構造即ち分類法に追加し、指定した判断基準にしたがって類別するのが通例である。例えば、指定した判断基準は、特定したデータ・ファイルに対する探索判断基準に対応する場合がある。ユーザが後続の探索において所望の判断基準を変更した場合、またはそれ以外で探索判断基準を変更した場合、新しい探索判断基準を満たす追加のデータ・ファイルを特定することができる。新しい判断基準によって探索を行っていくに連れて、特定されたデータ・ファイルが既存の分類法即ちディレクトリ構造に追加され続ける。しかしながら、新しいデータ・ファイルは、追加の探索判断基準を既存の分類法(例えば、サブフォルダとして)追加することによって含められるに過ぎず、修正した探索判断基準に基づいて動的に既存の分類法を更新しているのではない。この結果、特定されるデータ・ファイル集合は、硬直化しており、潜在的に修正前の探索判断基準に対応することもあり得る。何故なら、特定されたデータ・ファイルの分類法即ちディレクトリ構造は、探索判断基準の変化に流動的に適応することができないからである。
例えば、コンピュータ・ユーザがコンピュータ上にある全てのオーディオ・ファイルから気に入った80曲(例えば、5つ星の評価)の歌を見つけたい場合、必要なフィルタ全て、例えば、探索毎に80曲の音楽および/または5つ星を指定しなければならない。新しいファイルまたは歌が追加された場合、探索を再度組み立てて繰り返さなければならない。周期的に新しいファイルが追加または除去されている可能性があるので、コンピュータ・ユーザは、更新されたファイル・リストに合わせて探索判断基準を組み立てるという時間のかかるプロセスを繰り返さなければならない。また、所望のファイルを特定するためのクエリ定義を修正した場合、ユーザは、クエリ定義を組み込んだ第2探索に、クエリ定義の修正を容易にそして効率的に組み込むことができない。むしろ、ユーザは、探索判断基準を入力し、探索を繰り返さなければならない。また、ユーザは、更新した判断基準にしたがって、潜在的に膨大な数になり得るデータ・ファイルを手作業で編成し直さなければならない。
同様に、コンピュータ・ユーザは、ユーザが指定したフォルダまたはボリュームにおいて同じまたは修正したファイル・リストを再度探索しなければならない。これはユーザにとっていらだたしい。何故なら、所望のファイルが、探索したフォルダ以外のフォルダ内にある可能性があるからである。その場合、異なるフォルダにおいて探索を行っているコンピュータ・ユーザは、全てのファイルを首尾良く突き止めることができない。つまり、ファイルは事実上「失われた」ことになり、コンピュータ・ユーザは、ファイルが容易に突き止めることができないからであったとしても、ファイルへのアクセスを失うことになる。
したがって、当技術分野では、コンピュータ・ユーザがクエリを定義するまたは組み立てることによって、コンピュータ上において効果的そして効率的に所望のファイルを突き止めることができるシステムおよび方法が求められている。また、当技術分野では、クエリ内部にあるクエリを更に利用し、クエリおよびその他のフィルタ情報を組み合わせる方法およびシステムを提供することにより、ファイル探索の柔軟性を高めることが必要となっている。また、当技術分野では、他のクエリからの他のクエリ定義がクエリ構造に流入できるように、他のクエリ構造に関するクエリ構造を構築するシステムおよび方法も求められている。
以下に、本発明の形態の一部についての基本的な理解を得るために、本発明の簡素化した摘要を呈示する。この摘要は、本発明の広範な全体像ではない。これは、発明の枢要な即ち欠くことができない要素を特定することや、発明の範囲を正確に叙述することを意図するのではない。以下の摘要は、単に、本発明の概念の一部を簡略化した形式で、以下に行う更に詳細な説明に対する序論として呈示するに過ぎない。
前述の従来技術における欠点を克服するために、そして本明細書を読み理解すれば明白となるその他の欠点を克服するために、本発明の第1の例示形態では、動的な探索判断基準集合によって少なくとも部分的に定義される範囲内において、探索判断基準に位置する少なくとも1つのデータ・ファイルの探索を実行する。データ・ファイルは、限定ではなく、実行可能プログラム、データ・リンク・ライブラリ、環境設定ファイル、データベース、文書ファイル、グラフィック画像、ビデオ・ファイル、二進データ・ファイル、テキスト・データ・ファイル、オブジェクト・ファイル、ソースコード・ファイル、アプリケーション特有ファイル・タイプ、任意の他のファイルのようなコンピュータ・データ構造またはファイル、あるいは電子メール、カレンダ項目、コンタクト、タスク等のようなその他の原子データ・ユニット(atomic data unit)とすることができる。この例では、コンピュータは、データ・ファイル集合を定義するクエリを受け取ることができる。クエリは、「クエリ定義」と呼ばれる、少なくとも1つの判断基準に基づいて、データ・ファイル集合を定義する。クエリ定義(フィルタ情報を含み、データ・ファイル集合をフィルタ処理して、フィルタ情報内に明記されている判断基準を満たすデータ・ファイルを得る)は、例えば、所望のキーワードまたは所望の判断基準とすることができ、限定ではなく、ファイルの作成日、ファイルを最後に修正した日、またはデータ・ファイルを特徴付けるその他のあらゆる条件等である。
「オートリスト」は、所望のデータ・ファイルを特定または探索するために用いることができる。オートリストは、ここで用いる場合、いずれの所与の時点においても一致するデータ・ファイル集合を得るために用いることができる永続的クエリ定義のことを言う。オートリストから得られるデータ・ファイル集合は、動的であり、関連するオートリストまたは永続的クエリ定義を満たす新しいデータ・ファイルが、オートリストを呼び出す時に、返される。同様に、関連するオートリストをもはや満たさないデータ・ファイル(例えば、データ・ファイルを修正したために、データがクエリ定義を満たさなくなった)は、オートリストを呼び出すときには、返されることはない。
一実施形態では、オートリストは、対応する永続的クエリ定義に一致する動的なデータ・ファイル集合を返させる。例えば、所望の判断基準集合を収容したクエリ定義を受け取ることができる。クエリ定義は、データ・ファイルの探索に適用し、クエリ定義を満たすデータ・ファイル全てを突き止めることができる。したがって、オートリストは、クエリ定義を定義するために用いることができ、クエリ定義を満たすデータ・ファイルを探索によって返すことができる。
本発明の別の例では、データ・ファイルの第2探索範囲を定義するために用いることができる。この例では、永続的クエリ定義を備えているオートリストを受け取り、オートリストを満たすデータ・ファイルを特定する。しかしながら、更に、第1オートリストが明記するクエリ定義を満たすデータ・ファイルを特定することに加えて、第2クエリ定義が明記するクエリ定義を満たすデータ・ファイルも特定するように、第2オートリストを受け取ることもできる。第1オートファイルまたは第2オートファイルのいずれかを満たすデータ・ファイルも動的であると言うことができ、データ・ファイルに対するあらゆる修正または新しいファイルの追加が、第1または第2オートリストのいずれかにおける含入に自動的に反映される。このため、例えば、第1オートリストにおいて明記されたクエリ定義を満たすデータ・ファイルが修正され、データ・ファイルがもはや第1オートリストを満たさなくなった場合、第1オートリストをもはや満たさないデータ・ファイルを自動的に除去し、これらが第1オートリストによって返されないようにすることができる。同様に、データ・ファイルを修正して、第2オートリストをもはや満たさなくなった場合にも、データ・ファイルを第2オートリストから除去することができる(即ち、第2オートリストによって返されない)。
本発明の別の形態では、別のオートリストを定義するためには、いずれの数のオートリストでも、探索範囲として用いることができる。例えば、先に記したような永続的クエリ定義と各々関連付けることができる2つ以上のオートリストを組み合わせて、動的なデータ・ファイル集合に対する探索範囲を定義することもできる。このオートリストの組み合わせは、新しいオートリストが受け取られ、データ・ファイル集合が返されるように、探索範囲を定義することができ、返されるデータ・ファイル集合は、探索範囲を定義するオートリストのいずれも満たし、更に新しいオートリストに明記されているいずれの判断基準も満たす。
本発明の別の例では、オートリストに追加の判断基準を加えて、永続的クエリ定義を拡張することもできる。例えば、追加のフィルタ情報(即ち、探索判断基準)と共にクエリ定義を受け取ることができ、探索範囲をオートリストによって定義して、オートリストのクエリ定義および追加のフィルタ情報を満たすデータ・ファイルを見つけだして返すようにすることもできる。この例では、データ・ファイルがオートリストのクエリ定義を満たさない場合、または追加のフィルタ情報を満たさない場合、返されるデータ・ファイルのグループには、このデータ・ファイルは含まれない。返されるデータ・ファイルのグループは、更に、新しいオートリストを用いて、以降の探索において含ませることができる。
本発明の別の形態では、オートリストを修正すると、別のオートリストにおいて対応する修正が自動的に行われる。例えば、第1オートリストが第2オートリストに対する探索範囲を定義するとする。第1オートリストを更新または修正すると、第2オートリストに対する探索範囲が、第1オートリストの変化に対応して、自動的に更新される。
また、本発明は、コンピュータ・メモリに格納するソフトウェアとして実施することができ、コンピュータのオペレーティング・システムの制御の下で走らせることができ、ユーザが定義する種々の判断基準を満たすファイルを探索するために用いることができる。一例として、本発明は、オートリストを用いてデータ・ファイルを探索するまたは問い合わせるためのコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体を提供する。
以下の種々の実施形態の説明では、添付図面を参照するが、添付図面は明細書の一部をなし、発明を実施することができる種々の実施形態を、例示として、示す。尚、本発明の範囲から逸脱することなく、他の実施形態も利用でき、構造的および機能的修正を行ってもよいことは言うまでもない。
本発明の形態は、オートリストを用いて、コンピュータ上において問い合わせを行いデータ・ファイルを探索する方法およびシステムを提供する。先に明記したように、オートリストとは、いずれの所与の時点においても使用可能な永続的クエリ定義であり、このクエリ定義と一致するファイル集合を得るためにある。オートリストから得られるデータ・ファイル集合は動的であり、関連するオートリストまたは永続的クエリ定義を満たす新しいデータ・ファイルが、オートリストを呼び出す時に、返される。同様に、関連するオートリストをもはや満たさないデータ・ファイル(例えば、データ・ファイルを修正したために、データがクエリ定義を満たさなくなった)は、オートリストを呼び出すときには、返されることはない。また、先に記したように、別のオートリストまたは永続的クエリ定義の探索範囲を定義するために、オートリストを用いることができる。
本発明の別の実施形態の一例では、オートリストは、異なるメモリ位置にあるデータ・ファイルを返すことができる。異なるメモリ位置は、限定ではなく、フォルダ、ボリューム、リモート・マシンまたはデバイス等を含む。オートリストによるデータ・ファイルの探索は、メモリにおけるデータ・ファイルの位置ではなく、探索するデータ・ファイルのプロパティに基づいてもよい。更に、オートリストは、データ構造内にオートリストの定義を格納することによって、永続的とすることもできる。
本発明の別の形態では、オートリスト・クエリは、別のオートリストに対するデータ・ファイルを特定するための探索範囲を定義するために用いることができる。このプロセスは、データ・ファイルまたは文書探索の柔軟性を高める。本発明の更に別の形態では、オートリスト・クエリを他のファイル情報または判断基準と組み合わせることができる。
図1は、本発明を実施することができる、適した計算システム環境100の一例を示す。計算システム環境100は、適した計算機環境の一例に過ぎず、本発明の使用範囲や機能性について限定を示唆する意図は全くない。また、計算機環境100は、動作環境例100に示す構成要素のいずれの1つまたは組み合わせに関しても、何らかの依存性や必須要件を有するという解釈は行わないこととする。
本発明は、多数のその他の汎用または特殊目的用計算システム環境や構成とでも動作することができる。本発明と共に用いるのに適していると思われる周知の計算システム、環境、および/または構成の例には、パーソナル・コンピュータ、サーバ・コンピュータ、サーバ・コンピュータ、ハンド・ヘルドまたはラップトップ・コンピュータ、マイクロプロセッサ・システム、マイクロプロセッサに基づくシステム、プログラマブル消費者用電子機器、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、前述のシステムまたはデバイスのいずれをも含む分散型計算機環境等が含まれるが、これらに限定されるのではない。
図1を参照すると、本発明を実施するシステム例は、コンピュータ110の形態とした汎用計算機を含む。コンピュータ110の構成要素は、限定ではなく、演算装置120、システム・メモリ130、およびシステム・バス121を含むことができる。システム・バス121は、システム・メモリを含む種々のシステム構成要素を演算装置120に結合する。システム・バス121は、数種類のバス構造のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス構造のいずれかを用いるローカル・バスを含む。限定ではなく一例として、このような構造には、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、改良ISA(EISA)バス、ビデオ電子規格連合(VESA)ローカル・バス、先進グラフィックス・ポート(AGP)、およびMezzanine バスとしても知られている周辺素子相互接続(PCI)バスが含まれる。
コンピュータ110は、通例、種々のコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータ110がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。限定ではない一例をあげると、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体を含むと考えられる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納のために、あらゆる方法または技術で実施される、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリまたはその他のメモリ技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピュータ110がアクセス可能なその他のいずれの媒体も含むが、これらに限定されるのではない。通信媒体は、通例、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波またはその他の移送機構のような変調データ信号において具体化し、あらゆる情報配信媒体を含む。「変調データ信号」という用語は、その特性集合の1つ以上が、情報を信号内にエンコードするようなやり方で、変化している信号を意味する。限定ではなく、一例として、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、RF、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。前述のいずれの組み合わせも、コンピュータ読み取り可能媒体の範囲に当然含まれるものとする。
システム・メモリ130は、リード・オンリ・メモリ(ROM)131およびランダム・アクセス・メモリ(RAM)132のような揮発性および/または不揮発性メモリの形態で、コンピュータ記憶媒体を含む。基本入出力システム133(BIOS)は、起動中のように、コンピュータ20内のエレメント間におけるデータ転送を補助する基本的なルーティンを含み、通例ROM131内に格納されている。RAM132は、通例、演算装置120が直ちにアクセス可能であるデータおよび/またはプログラム・モジュール、または現在これによって処理されているデータおよび/またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図1は、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137を示す。
また、コンピュータ110は、その他のリムーバブル/非リムーバブル揮発性/不揮発性コンピュータ記憶媒体も含むことができる。一例としてのみ、図1は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ141、リムーバブル不揮発性磁気ディスク152からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ151、ならびにCD−ROMまたはその他の光媒体のようなリムーバブル不揮発性光ディスク156からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ155を示す。動作環境の一例において使用可能なその他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータ記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリ・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROM等が含まれる。ハード・ディスク・ドライブ141は、通例、インターフェース140のような非リムーバブル・メモリ・インターフェースを介してシステム・バス121に接続され、磁気ディスク・ドライバ151および光ディスク・ドライブ155は、通例、インターフェース150のようなリムーバブル・メモリ・インターフェースによって、システム・バス121に接続する。
先に論じ図1に示すドライブおよびそれらと関連するコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびコンピュータ110のその他のデータを格納する。図1では、例えば、ハード・ディスク・ドライブ141は、オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147を格納するように示されている。尚、これらの構成要素は、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137と同じでも異なっていても可能であることを記しておく。オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザは、キーボード162、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス161によって、コマンドおよび情報をコンピュータ110に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザ入力インターフェース160を介して、演算装置120に接続されている。ユーザ入力インターフェース160は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス(USB)のようなその他のインターフェースおよびバス構造によって接続することも可能である。モニタ191またはその他の形式の表示装置も、ビデオ・インターフェース190のようなインターフェースを介して、システム・バス121に接続されている。モニタに加えて、コンピュータは、スピーカ197およびプリンタ196のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース190を通じて接続することができる。
コンピュータ110は、リモート・コンピュータ180のような1つ以上のリモート・コンピュータへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピュータ180は、パーソナル・コンピュータ、ハンド・ヘルド・デバイス、サーバ、ルータ、ネットワークPC、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピュータ110に関して先に説明したエレメントの多くまたは全てを含むが、図1にはメモリ記憶装置181のみを示す。図1に示す論理接続は、ローカル・エリア・ネットワーク(LAN)171およびワイド・エリア・ネットワーク(WAN)173を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、一般的である。
LANネットワーク環境で用いる場合、コンピュータ110は、ネットワーク・インターフェースまたはアダプタ170を介してLAN171に接続する。WANネットワーク環境で用いる場合、コンピュータ110は、通例、モデム172、またはインターネットのようなWAN173を通じて通信を確立するその他の手段を含む。モデム172は、内蔵でも外付けでもよく、ユーザ入力インターフェース160またはその他の適切な機構を介してシステム・バス121に接続することができる。ネットワーク環境では、コンピュータ110に関して図示したプログラム・モジュール、またはその一部は、リモート・メモリ記憶装置に格納することもできる。一例として、そして限定ではなく、図1は、リモート・アプリケーション・プログラム185がメモリ素子181上に常駐するものとして示している。尚、図示のネットワーク接続は一例であり、コンピュータ間で通信リンクを確立する他の手段も使用可能であることは認められよう。
尚、図示のネットワーク接続は一例では、コンピュータ間に通信リンクを確立する別の手段も使用可能であることは認められよう。TCP/IP、イーサネット(登録商標)、FTP、HTTP等のような種々の周知のプロトコルのいずれかが存在することを想定しており、システムは、ユーザがウェブに基づくサーバからウェブ・ページを検索できるように、クライアント・サーバ構成で動作することができる。種々の従来からのウェブ・ブラウザのいずれでも、ウェブ・ページ上のデータを表示および操作するために用いることができる。
本発明の一形態は、コンピュータ上においてデータ・ファイルまたは文書を探索し、位置を突き止め、発見する際におけるオートリストの使用に関する。データ・ファイルは、更に、複数のメモリ位置および/またはコンピュータに跨って見つけることもできる。例えば、あるコンピュータ上では、所望のデータ・ファイルが異なるフォルダにおいて発見できるように、フォルダが異なるメモリ位置にある場合もある。同様に、限定ではなく、コンピュータに接続されている異なる記憶装置、または異なるコンピュータ同士というような、異なるメモリ・デバイスにおいてデータ・ファイルが発見される場合もある。したがって、コンピュータの記憶装置またはサーバは、種々のメモリ位置に多くのデータ・ファイルを収容している場合もあり、あるいはデータ・ファイルが異なるフォルダ、ドライブ、記憶装置等に格納されている場合もある。
コンピュータ・ユーザは、複数の異なるメモリ位置(例えば、別のフォルダまたは記憶装置)に位置し、クエリ定義を満たすファイルを含む、ある判判断基準(即ち、クエリ定義)を満たす全てのファイルにアクセスする、またはこれらを発見することを望む場合がある。本発明の一形態では、クエリ定義を収容したクエリをユーザから受け取り、クエリ定義に基づいてファイルを探索する。クエリ定義は、ファイルを探索する基となる判断基準を規定する。例えば、クエリ定義は、所望のファイルにおいて探索するための1つまたは複数のキーワードを与えることができる。クエリ構造は、データ構造(即ち、オートリスト)ないに存続することもでき、ユーザが必要に応じて再利用することができる。更に、 オートリストに対応する仮想フォルダを作成するために、コンピュータのオペレーティング・システムによって用いることもできる。
本発明は、コンピュータ・ユーザがクエリ定義集合(即ち、探索判断基準)を適用することにより、オートリストを作成することができる方法およびシステムを提供する。クエリ定義は、探索範囲の定義を含むことができる。オートリストの作成には、オートリストに対するクエリ定義を規定することにより、オートリストに対して探索範囲を定義することを伴う。いずれの数のオートリストでも、いずれの数のクエリ定義を適用することにより、作成することができる。また、オートリストの組み立て(compose)は、オートリストの探索範囲を、別のオートリストまたはオートリスト集合によって定義すれば、遂行することができる。
図2は、オートリストを作成しおよび/または組み立て、オートリストに基づいて問い合わせを実行する本発明の形態を示す。図2のコンピュータは、サーバ200のような、メモリ記憶装置を備えており、その中にファイルを格納する。この例では、サーバ200は、リポータのために雑誌または新聞記事のテキスト・ファイルを格納する。この例におけるユーザは、多数の定期的刊行物のリポータとすることができ、刊行物の内2つを図2に示す(例えば、National GeographicおよびWired)。リポータは、サーバ200上に、彼が執筆した全ての記事を格納し、それらの記事がNational GeographicまたはWired Magazine、あるいはリポータが執筆することができるその他の定期的刊行物のいずれのために執筆されたのでも構わない。本発明のこの例は、クエリ定義を満たす所望の記事または記事集合の効率的なアクセスおよび呼び出しを可能にする方法およびシステムを提供する。図2に示す一例では、第1オートリスト201を作成する際、National Geographicの記事に関連があり動物または旅行に関する記事を得るためのクエリ定義を適用する。この例では、第1オートリスト201は、永続的クエリ定義を処理することにより、例えば、"Animals"(動物)、"Travel"(旅行)、または"National Geographic"というキーワード(Keyword)を収容する記事を探索することによって、記事を返す。更に、オートリストは、探索を行うべき探索の範囲(Scope)(即ち、探索が行われる場所、例えば、サーバ200)も示すことができる。つまり、この例では、オートリスト201は関連するクエリ定義を与え、サーバ200上に位置し、オートリスト・クエリを満たす、対応するデータ・ファイルを探索するために用いることができる。
同様に、サーバ200上に格納されており第2クエリ定義を満たす記事を探索するために、第2オートリスト202を作成することができる。この例では、第2オートリストは、所望のWired Magazineの記事(例えば、Phones(電話機)およびGadgets(機械装置)に関するWired Magazineの記事)を見つけるためのクエリ定義(即ち、探索判断基準)を規定する。この例では、Phones、Gadgets、およびWired(オートリスト202によって与えられる)というキーワードを、指定された探索範囲において探索し(例えば、この例ではオートリスト202によって規定されるサーバ200)、サーバ200上に格納されている、電話機および機械装置に関するWiredの記事全てを突き止める。
図3Aおよび図3Bは、オートリストを作成する例を示し、National Geographicオートリスト201を作成することを例示する。図3Aおよび図3Bにおいて、図2の例からのユーザは、動物および旅行に関するNational Geographicの記事を選択する際、この種の文書を得るために、対応する探索判断基準を入力する。図3Aでは、ユーザは、所望のクエリ定義を用いてNational Geographicの記事を探索し、アドレス・バー301(パン皮バー(breadcrumb bar)とも呼ぶ)に示される探索判断基準を満たす記事301の集合体を得る。更に、ユーザはクエリ定義をオートリストとして保存することができる。この例では、ユーザは、図3Bに示すように、"National Geographic"302と題するオートリスト201として、クエリ定義を保存する。このように、ユーザは更新した探索にいつでも容易にアクセスすることができる。
同様に、図4Aおよび図4Bは、オートリストの作成を示し、Wired Magazineに対するオートリストを作成し、ユーザが電話機(Phones)および機械装置(Gadgets)に関するWired雑誌の記事を探索することを例示する。この例では、ユーザは、アドレス・バー401に示す関連クエリ定義を用いて、電話機および機械装置に関するWired記事401を得て(図4A)、"Wired"402と題するオートリスト202として、得られたクエリ定義を保存する(図4B)。
再度図2を参照すると、オートリストは、後続のクエリ定義に基づく探索に対応する探索範囲を定義するためにも用いることができる。加えて、クエリ定義は、後続の探索中に、追加の探索判断基準をクエリ定義に加えることによって拡張することができる。また、オートリストの組み立ては、別のオートリストまたはオートリスト集合によってオートリストの範囲を定義することによっても遂行することができる。このオートリストを組み立てる例では、第3の探索のクエリ定義を、"Late Articles"(遅れた記事)203によって定義する。第3の探索のクエリ定義(即ち、"Late Articles"203のオートリスト)は、クエリ定義の一部として、探索範囲が2つの既存のオートリスト、即ち、National GeographicおよびWiredであることを示す。追加の探索判断基準をLate Articlesオートリスト203のクエリ定義に加える。図2に示すように、オートリスト203のクエリ定義に加えられた新しい探索判断基準は、この例では、"Assigned to = Nicholas"(割り当て先=Nicholas)、Priority=1(優先度=1)、そしてDue Date>Last Month(期日>先月)である。したがって、この例のLate Articleオートリスト203は、National GeographicオートリストおよびWiredオートリストの中にある記事の内、少なくとも先月からの期限を有し、高い優先度を有し、Nicholasに割り当てられた記事全ての探索および特定を可能にする。
注記すべきは、探索範囲を定義する際に用いられたオートリストのいずれにでも変更がなされた場合、または探索範囲を定義する際に用いられたオートリストによって異なる探索結果が得られた場合、修正した以前のオートリストを探索範囲の一部として組み込んでいる第3のオートリストも自動的に更新されることである。この例では、National GeographicまたはWiredのいずれかの記事のクエリ定義に変更がなされた場合(例えば、動物および旅行に加えて、エジプト美術に関する記事を含むようにNational Geographicを更新した場合、または電話機および機械装置に加えて、光ファイバに関する記事を含むようにWiredを更新した場合)、これらの変更は自動的にLate Articlesオートリストのクエリに反映されることになる。
図5A〜図5Cは、図2に示したLate Articlesオートリストの組成の一例を示す。この例では、ユーザ(例えば、リポータ)がWired Magazineの編集者に提出する記事の期限を過ぎてしまい、全ての期限を過ぎたWired Magazineの記事を見つけて特定したいと望んでいる。こうするために、この例におけるユーザ/リポータは、期限経過という判断基準を満たす全てのWired Articlesを探索するために、クエリ定義を入力することができる。得られたクエリは"Late Articles"オートリストを構成する。このように、期限および潜在的に遅れた記事の提出を追跡し続けるために、Late Articlesオートリストが組み立てられる。
また、この例のユーザ/リポータは、指定した探索判断基準を満たす全てのデータ・ファイルを突き止めるための探索判断基準を適用することもできる。図5Aに示すように、ユーザ/リポータは、彼に指定された一定の優先度および期日の記事を得るために、探索判断基準(即ち、クエリ定義)を適用する。例えば、クエリ定義に基づく探索は、Late Articlesオートリストに基づき、その結果、"Nicholas"(即ち、ユーザ)に割り当てられ(Assigned to = Nicholas)、優先度=1(Priority=1)であり、期日が少なくとも先月である(即ち、期日>先月(Due Date>Last Month))全ての記事が返される。
図5Bは、探索範囲の指定を示す。この例では、ユーザは、全ての関連するNational Geographicの記事を探索し突き止めるオートリスト、および全ての関連するWired Magazineの記事を探索し突き止める別のオートリストを既に作成している。これらの判断基準を、関連するNational Geographicの記事に対するオートリスト、および関連するWired Magazineの記事に対するオートリストによって少なくとも部分的に定義される範囲内において別の探索に入力しなければいけない代わりに(これは、探索の柔軟性を阻害する)、ユーザは、既存のオートリスト(この例では、National Geographicおよび/またはWired オートリスト)の使用により探索範囲を指定することによって、オートリストを組み立てることができる。また、ユーザは、探索範囲として用いられるオートリストを指定しさえすればよく、以前から存在するオートリストによって表される所望のキーワードおよびその他の判断基準を再入力する必要はない。これは、ユーザ側において時間および労力の節約となる。図5Bは、カスタム(Custom)オートリストの組成を示し、ここでは、National GeographicオートリストおよびWiredオートリストと関連がある永続的クエリ定義を含むように、範囲を設定している。National GeographicおよびWiredオートリストに対応する探索範囲の指示を含む新しいクエリ定義を定義する、新たに組み立てたオートリストは、一意の名称の下で保存するとよい。この例では、新たに組み立てたオートリストを"Late Articles"(遅れた記事)オートリスト(図5C)として保存する。
更に、図2は、探索範囲を定義するためにオートリストを用いる別の例を示す。図2では、ユーザ/リポータが、出版のために提出されている全ての記事を検索することを望んでいることもあり得る。更に、特定の個人によって提出された全ての記事、および/または特定のステータス(Status)を有する全ての記事を探索することが望まれる場合もあり得る。図2に示すように、このような所望の記事全てを探索し戻すオートリストを組み立てることができる。この例では、ユーザが見付けたいと思っているのは、"Ready for Review"(検討する準備ができている)(即ち、特定のステータス)であり、NicolasまたはMelissaが執筆した全てのNational Geographicの記事およびWiredの記事である。対応するクエリ定義が、所望の判断基準に対応して受け取られ、NicolasまたはMelissaのいずれかが執筆し"Ready for Review"である記事が、Articles Submitted(提出済み記事)オートリスト204によって探索され返される。しかしながら、探索範囲はクエリ定義の一部であり、この例ではNational GeographicおよびWiredオートリストによって定義されるので、関連するNational GeographicおよびWiredの記事は、Articles Submittedオートリスト204によって返される。
尚、オートリストは多くの形態をなすことができるので、以上の例は単に例示するに過ぎず、本発明を限定するのではないことは言うまでもない。別の例では、1つのオートリストが1つのソースまたは範囲を探索するためのクエリ定義を定義することができ、一方別のオートリストが異なるソースまたは範囲を探索するためのクエリ定義を定義することができる。これは図6に示す通りである。この例では、所望の判断基準を満たすNational Geographicの記事(ここでは、動物および旅行に関連し、1995年以降に録取されたNational Geographicの記事)が、National Geographicオートリスト603に返される。また、電話機および機械装置に関連し、1999年以降に録取されたWiredの記事がWiredオートリスト604に返される。しかしながら、National Geographicの記事は、サーバ1 601内部で探索されてNational Geographicオートリスト603を形成し、一方Wired Magazineの記事はサーバ2 602内部で探索されてWiredオートリスト604を形成する。したがって、各オートリストが異なるソースまたは格納場所から記事を得ることになる。所望のクエリ定義を満たす記事に対するNational Geographicオートリスト603およびWiredオートリスト604のクエリ定義において明記されている範囲内で探索を行うことにより、図6においてLate Articlesオートリスト605またはArticles Submittedオートリスト606に対応する記事が返される。Late Articlesオートリスト605については、返された記事は最新の期日および高い優先度を有し、特定のリポータ(例えば、Nicholas)に割り当てされている。Articles Submittedオートリスト606については、検索された記事は、NicolasまたはMelissaが所有(own)し、「検討する準備ができている(ready for review)」。National Geographicオートリスト603がサーバ1 601において探索を行い、一方Wired オートリスト604がサーバ2 602において探索を行うのであるが、探索範囲はNational Geographicオートリスト603およびWired オートリスト604のそれぞれの永続的クエリ定義によって定義されるので、Late Articlesオートリスト605およびArticles Submittedオートリスト606の双方は、National Geographicの記事およびWired Magazineの記事を探索する。この例では、Late Articlesオートリスト605およびArticles Submittedオートリスト606は、各々、その範囲において用いられている各オートリスト(即ち、この例では、National Geographicオートリスト603およびWiredオートリスト604)からの結果の合体をなし、それらそれぞれのクエリ定義におけるそれらそれぞれの追加の探索判断基準を適用する。このため、探索範囲を定義するために用いられるオートリストは、異なるまたは矛盾する判断基準であってもよい。
本発明の範囲内においてオートリストのいずれのフォーマットでも用いることができるので、本発明は、オートリストのいずれのフォーマットにも限定されることはない。図7A〜図7Cは、オートリスト・エディタに用いることができる代用のユーザ・インターフェース・フォーマットの別の非限定的な例を示す。図7Aにおいて、オートリストはツリーにおけるノードとして設けられている。オートリスト(Autolists)の各々は、選択のためのチェック・ボックスを収容している。例えば、National Geographicオートリスト801およびWiredオートリスト802の各々は、対応するチェック・ボックスを有する。
図7Bは、オートリスト・ノードを、上位ノード(例えば、ローカル・ディスクC(Local Disk C))におけるサブノードとして示す。例えば、National Geographicオートリスト805およびWiredオートリスト806の各々は、オートリスト(Autolists)サブノード804の下に描画されており、一方オートリスト・サブノード804はローカル・ディスクCのノードの下に描画されている。
図7Cは、コンピュータにおける別の場所から離れたオートリスト806の別個のリストとして、オートリストを示す。加えて、オートリストにはフィルタを収容することができ、オートリスト・エディタ(図示せず)において直列に示すことができる。しかしながら、フィルタを反映するいずれの方法でも用いることができる。例えば、フィルタは、カーソル(図示せず)を動かす(hover)ときにツールチップ(tooltip)として示すことができる。
あるいは、別のオートリストの作成中に、クエリ定義内における探索判断基準としてオートリストを明示することもできる。図8Aでは、National Geographicオートリストを探索判断基準として追加し、National Geographicオートリストから返された結果を、Late Articlesオートリストのクエリ定義の一部として組み込むようにしている。図8Bは、National Geographic オートリストをフィルタとして追加(adding as a filter)することにより(即ち、探索判断基準)、National Geographicオートリストを通じたオートリスト結果の追加を示す。この例では、ドロップダウンメニューによってオートリストを選択するが、いずれの方法を用いてもよい。図8Cは、Late Articlesオートリストの範囲に含まれるNational Geographicオートリストを示す。
オートリストを設ける代替方法の更に別の例では、1つのオートリストが多数の判断基準を表示することもできる。例えば、図9Aでは、別の判断基準として含まれているオートリストを含むLate Articlesオートリストの詳細を最大限表示する。この例では、National Geographicオートリストは、追加の判断基準として含まれており(Also include)、Nicolasに割り当てられ、高い優先度があり、少なくとも先月期日であった記事を見付ける。このように、"Patrick"および"Common"において探索してこのような記事を求めることに加えて、Late Articles オートリストはNational Geographicオートリストを用いた探索も行う。これら追加の判断基準は、オートリスト・エディタ(Autolist editor)に表示される。
図9Bは、多数の判断基準を有するオートリストを設ける別の例を示し、この場合、潜在的に期限を過ぎている可能性があるWiredの記事を見付けるためにWiredオートリストを用いる。例えば、図9Bでは、Wiredオートリストは、別の判断基準として含まれている。この例では、Wiredオートリストは、更に、National Geographicの記事に加えて、Nicolasに割り当てられ、優先度が高く、少なくとも先月が期日であったWiredの記事も見付けるために含まれている。この例では、判断基準として含まれている全てのオートリストの詳細が最大限規定されている。
本発明の別の例示的形態によれば、重複する結果はオートリストによって返されないようにすることもできる。例えば、第1のオートリストはメモリ位置集合、例えば、フォルダ、ディスク・ドライブ、メモリ・デバイスの集合等からデータ・ファイルを返すことができる。第2のオートリストは、第2のメモリ位置集合からデータ・ファイルを返すことができる。更に、第1のオートリストと第2のオートリストとの間には重複するメモリ位置があることもあり、第1のオートリストが探索したメモリ位置の少なくとも1つが、第2のオートリストが探索したメモリ位置と同一であることもあり得る。第3のオートリストが第1のオートリストおよび第2のオートリスト双方を組み込む場合、返されるデータ・ファイルの重複が生ずる可能性がある。つまり、第3のオートリストによって返されるデータ・ファイルの全てが唯一でなくなる。その結果、それぞれの探索結果には、唯一でない重複データ・ファイルが返されることになる。
返されるデータ・ファイル集合において複製データ・ファイルを管理するオートリストの例を図10に示す。図10では、極東からの休暇の写真に関する画像ファイルに対応するデータ・ファイルを返すクエリ定義によって、Far East Travel(極東旅行)オートリスト1001を作成する。この例では、Far East Travelオートリスト1001は、日本、中国、韓国、またはタイ(Japan, China, Korea, or Thailand)におけるランドマークを描写する画像(image)データ・ファイルを返す。また、Japan(日本)オートリスト1002は、日本に関する画像および文書に対応するデータ・ファイルを返すクエリ定義によって作成される。Leisure(レジャー)オートリスト1003は、Far East Travelオートリスト1001およびJapanオートリスト1002を参照により(by reference)組み込むクエリ定義によって組み立てられる。この例では、Leisureオートリスト1003は、Far East Travelオートリスト1001およびJapanオートリスト1002を、探索範囲を定義するものとして、組み込む。つまり、Leisureオートリスト1003は、この例では、極東からの休暇の写真ならびに日本に関する画像および文書の双方に対応するデータ・ファイルを返す。
しかしながら、Leisureオートリスト1003がFar East Travelオートリスト1001およびJapanオートリスト1002双方を探索範囲として組み込むので、いずれかのデータ・ファイルがFar East Travelオートリスト1001およびJapanオートリスト1002双方のクエリ定義を満たす場合、これらのデータ・ファイルはLeisureオートリストにおいて2回返される可能性がある。返されたデータ・ファイルが唯一でない場合、重複結果が生じ、探索結果の混乱に至る。冗長な探索結果に伴う問題を解消するために、オートリストは、唯一のデータ・ファイルのみを選別して返すことができる。このように、本発明のこの形態例では、システムは重複データ・ファイルを検出し、このようなデータ・ファイルの1つのインスタンスのみを返す(即ち、唯一のデータ・ファイルのみを返す)ことができる。
本発明の形態の別の例では、オートリストにおける望ましくない巡回を防止することができる。例えば、クエリ定義において第2のオートリストを組み込む第1のオートリストを組み立てる場合、第2のオートリストも同様にクエリ定義において第1のオートリストを組み込むのであれば、オートリスト間で参照し合う無限の巡回が生ずる可能性がある。同様に、一連の参照による組み込みにおいて、1つのオートリストが順に他のオートリストの1つを組み込む場合、巡回が形成される可能性があり、オートリストが機能しなくなる可能性がある。図11は、オートリストの巡回の例を示す。この例では、My Favorite Photos(私の大好きな写真)オートリスト1103が組み立てられ、ユーザ(この例では、Nicolas)の画像データ・ファイルを返そうとしている。My Favorite Photosオートリスト1103は、この例では、参照によりRecent Photos(最近の写真)オートリスト1101およびVacation Photos(休暇の写真)オートリスト1102を組み込む。つまり、Recent Photosオートリスト1101およびVacation Photosオートリスト1102は、My Favorite Photosオートリスト1103に対して探索範囲を規定する。更に図11に示すように、Recent Photosオートリスト1101は、My Favorite Photosオートリスト1103も組み込む。Recent Photosオートリスト1101を組み込むMy Favorite Photosオートリスト1103、およびMy Favorite Photosオートリスト1103を組み込むRecent Photosオートリスト1101は、オートリスト間同士で参照し合う巡回を形成し、無限の参照ループとなる可能性がある。
本発明のこの例では、第1のオートリストが第2のオートリストを参照し、一方第2のオートリストは第1オートリストを参照するという望ましくない巡回を防止する。同様に、第1のオートリストが第2のオートリストを組み込み、第2のオートリストが第1のオートリストを参照により直接的には組み込まないが第3のオートリストを組み込む場合にも、巡回は発生する可能性がある。第3のオートリストが第1のオートリストを組み込むと、ループが閉じて、同様の望ましくない巡回が形成される。このような巡回には、いずれの数のオートリストでも関与し、いずれの数のオートリストでも介在する可能性がある。
図12Aおよび図12Bは、オートリストの巡回を防止する本発明の一例を示す。この例では、図11に示すようにRecent Photosオートリスト1101を組み込むMy Favorite Photosオートリスト1103の組み立てを試みる。しかしながら、Recent Photosオートリスト1101は既にMy Favorite Photosオートリスト1103を既に組み込んでいる。このため、システムはオートリストの巡回に際して不用意な試みを検出し、それが行われるのを防止する。図12Aに示すように、Recent PhotosオートリストおよびVacation Photosオートリストの各々は、それぞれのクエリ定義を含むように作成されている。図12Bは、図11に示すようにMy Favorite Photosオートリスト1103を組み立てる試みを示す。しかしながら、My Favorite Photosオートリストは、図11に示すように、Recent Photosオートリスト1101を組み込み、許されないオートリストの巡回の原因となる。このため、図12Bに示すように、システムはメッセージを与えて、オートリストを参照するときに、違法な試みが生じ、参照が行われるのを防止したことを、ユーザに通知する。
図12Aおよび図12Bは、ユーザ、例えば、ユーザ・インターフェースとの双方向処理を組み込んだオートリストの巡回防止の例を示すが、オートリストの巡回を防止する例は他にも多数ある。例えば、巡回は、処理レベルでも同様に防止することができる。この例では、オートリストの処理中に、オートリストにおいて巡回を形成する試みを検出し、自動的に巡回を終了させる。このように、ユーザとの双方向処理を必要とせずに、オートリストの巡回を防止する。
図13は、処理レベルでオートリストにおける巡回を防止する別の例を示すデータ・フロー図である。この例では、National Geographicオートリスト1303は、サーバ1 1301においてデータ・ファイルを探索することによって、所望のNational Geographicの記事(即ち、動物または旅行に関する)を返す。Wiredオートリスト1304は、サーバ2 1302においてデータ・ファイルを探索することによって、所望のWiredの記事(即ち、電話機および機械装置に関する)を返す。しかしながら、この例では、Wiredオートリスト1304の探索範囲においてLate Articlesオートリスト1305をWiredオートリスト1304に含ませる試みを行う。Late Articlesオートリスト1305は、National Geographicオートリスト1303およびWiredオートリスト1304を探索範囲として組み込むことによって、期限が過ぎた記事を返す。しかしながら、これはオートリストにおいて巡回を形成する試みとなる。何故なら、Wiredオートリスト1304はLate Articlesオートリスト1305を組み込もうとし、一方Late Articlesオートリスト1305はWiredオートリスト1304を組み込もうとするからである。
オートリストの巡回防止のこの例では、ユーザ・インターフェースの必要もなく、処理レベルで、試みられた巡回を検出する。システムは、巡回を検出し、自動的にこの巡回を除去する。例えば、図13に示すWiredオートリスト1304は、サーバ2 1302において探索することによって、関連のある Wiredの記事(即ち、電話機および機械装置に関するWiredの記事)を返すことができる。Late Articlesオートリスト1305の組み込みは、許されない巡回として検出されるので、Wiredオートリスト1304は自動的にLate Articlesオートリスト1305を探索範囲から「間引く」。したがって、Articles Submittedオートリスト1306は、図13に示すように、National Geographicオートリスト1304およびWiredオートリスト1304を組み込むことによって、関連する提出記事を返すことができ、一方Wiredオートリスト1304はサーバ2 1302のみを探索して、関連するWiredの記事(即ち、電話機および装置機械に関する)を求める。Wiredオートリスト1304によるLate Articlesオートリスト1305の参照による組み込みは、自動的に「間引かれる」。更に、望ましければ、ユーザには、オートリストを修正したことを知らせるために、通知または警告メッセージを供給することもできる。
オートリストは、多くのフォーマットでコードとして格納することができる。例えば、オートリストは、XMLのようなマークアップ言語の形態で格納することができる。XMLファイルとして格納したオートリストの例は、次の通りである。
上の例では、オートリストは、特定の著者によって積層されたデータ・ファイル全てを供給する。
XMLとして格納したオートリストの別の例は、次の通りである。
この例では、全てのデータ・ファイルを、最終編集日に基づいて降順で返す。
尚、本発明の形態は多くの形態および実施形態を取ることができることは言うまでもない。ここに示した実施形態は、本発明を限定するのではなく、例示することを意図しており、本発明の範囲の主旨から逸脱することなく変容も可能であることは認められよう。本発明の例示的な実施形態について示し説明したが、広範囲におよぶ修正、変更、および交換が前述の開示には織り込まれており、場合によっては、本発明の特徴の一部は、対応して他の特徴を使用しなくても、用いることができる。したがって、添付した特許請求の範囲は、広義にそして本発明の範囲との齟齬がないように解釈してしかるべきである。
図1は、本発明を実施するための、汎用計算デバイスを含むシステムの一例を示す。 図2は、本発明の例示形態によるオートリスト間の関係を表す全体的構造図を示す。 図3Aは、オートリスト作成の一例を示す。 図3Bは、オートリスト作成の一例を示す。 図4Aは、オートリスト作成の別の例を示す。 図4Bは、オートリスト作成の別の例を示す。 図5Aは、1つのオートリストの組成を2つの別のオートリストの組成で置換する例の一形態を示す。 図5Bは、1つのオートリストの組成を2つの別のオートリストの組成で置換する例の一形態を示す。 図5Cは、1つのオートリストの組成を2つの別のオートリストの組成で置換する例の一形態を示す。 図6は、本発明の例示形態による異なるオートリストに対する異なるソースを表すデータ・フロー図を示す。 図7Aは、オートリスト選択制御に対するフォーマット例を示す。 図7Bは、オートリスト選択制御に対するフォーマット例を示す。 図7Cは、オートリスト選択制御に対するフォーマット例を示す。 図8Aは、オートリストをフィルタ判断基準として明示する例を示す。 図8Bは、オートリストをフィルタ判断基準として明示する例を示す。 図8Cは、オートリストをフィルタ判断基準として明示する例を示す。 図9Aは、個々のオートリストのソースに対して判断基準を適用する例を示す。 図9Bは、個々のオートリストのソースに対して判断基準を適用する例を示す。 図10は、オートリストの複製データ・ファイルを管理する例を示す全体的構造図である。 図11は、オートリストの巡回を示す全体的構造図である。 図12Aは、オートリストの巡回防止の例を示す。 図12Bは、オートリストの巡回防止の例を示す。 図13は、オートリストの巡回防止の別の例を示すデータ・フロー図である。

Claims (20)

  1. ユーザが定義したクエリ定義に一致する少なくとも1つのデータ・ファイルを探索する、コンピュータが実行する方法であって、
    第1クエリ定義を定義する第1ユーザ入力を受け取るステップと、
    第2クエリ定義を定義する第2ユーザ入力を受け取るステップであって、前記第2クエリ定義は、参照により前記第1クエリ定義を組み込む、ステップと、
    前記第1および第2クエリ定義の双方に一致するデータ・ファイルを探索するステップと、
    を備えた方法。
  2. 請求項1記載の方法において、前記第1クエリ定義は、第1の範囲を備えている、方法。
  3. 請求項2記載の方法において、前記第1クエリ定義は、更に、1つ以上の判断基準の第1集合を備えている、方法。
  4. 請求項3記載の方法において、前記第2クエリ定義は、第2の範囲を備えており、該第2範囲は、前記第1クエリ定義の結果を含む、方法。
  5. 請求項3記載の方法において、データ・ファイルを探索する前記ステップは、前記第1クエリ定義の結果内のデータ・ファイルを探索することを含む、方法。
  6. 請求項4記載の方法において、前記第2の範囲は、複数のメモリ位置を含む、方法。
  7. 請求項4記載の方法であって、更に、前記第1クエリ定義の修正に応答して、前記第2の範囲を修正するステップを備えている、方法。
  8. 請求項1記載の方法において、前記第2クエリ定義は、前記第1クエリ定義に含まれている判断基準とは異なる、1つ以上の判断基準の第2の集合を備えた、方法。
  9. 請求項1記載の方法を実行するためのコンピュータ実行命令を格納したコンピュータ読み取り可能媒体。
  10. ユーザが定義したクエリ定義に一致する少なくとも1つのデータ・ファイルを探索する、コンピュータが実行する方法であって、
    第1クエリ定義を有する第1クエリを受け取るステップと、
    前記第1クエリ定義に基づいて、第2クエリに対する探索範囲の少なくとも一部を定義するステップと、
    第2クエリを受け取るステップであって、該第2クエリが、第2クエリ定義の探索判断基準部分を提供する、ステップと、
    を備えている、方法。
  11. 請求項10記載の方法であって、更に、前記第2クエリに対する前記探索範囲内において、前記第2クエリ定義に対応する少なくとも1つのデータ・ファイルを探索するステップを備えている、方法。
  12. 請求項10記載の方法において、前記第2クエリ定義は、1つ以上の判断基準の集合を備えている、方法。
  13. 第1クエリ定義を定義する第1ユーザ入力を受け取るステップと、
    第2クエリ定義を定義する第2ユーザ入力を受け取るステップであって、前記第2クエリ定義が、範囲と、1つ以上の探索判断基準の集合とを備えており、第2ユーザ入力が、前記第2クエリ定義の範囲に、前記第1クエリ定義を参照により組み込む、ステップと、
    前記第2クエリ定義に一致するデータ・ファイルを探索するステップと、
    を実行するコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体。
  14. 請求項13記載のコンピュータ読み取り可能媒体であって、更に、修正したユーザ定義第1クエリを受け取るステップを実行するためのコンピュータ実行可能命令を有し、前記第2クエリの探索範囲を、参照による組み込みに基づいて、前記ユーザ定義第1クエリの修正に対応して、自動的に修正する、コンピュータ読み取り可能媒体。
  15. 請求項13記載のコンピュータ読み取り可能媒体において、前記第1クエリ定義は、第1の範囲と、1つ以上の判断基準の第1集合とを備えている、コンピュータ読み取り可能媒体。
  16. 請求項15記載のコンピュータ読み取り可能媒体において、データ・ファイルを探索する前記ステップは、前記第1の範囲を含む探索範囲内のみにおいてデータ・ファイルを探索することを含む、コンピュータ読み取り可能媒体。
  17. 請求項16記載のコンピュータ読み取り可能媒体において、前記探索範囲を、前記第1クエリ定義の対応する修正に応答して、修正する、コンピュータ読み取り可能媒体。
  18. 請求項1記載の方法であって、更に、少なくとも1つの追加のクエリ定義を定義する少なくとも1つの追加のユーザ入力を受け取るステップを備えており、前記第2クエリ定義は、更に、前記少なくとも1つの追加のクエリ定義を参照により組み込む、方法。
  19. 請求項1記載の方法であって、更に、前記第1および第2クエリ定義双方に一致するデータ・ファイルを供給するステップを備えており、前記供給されるデータ・ファイルの各々は唯一である、方法。
  20. 請求項1記載の方法であって、更に、前記探索するステップの前に、前記第1クエリ定義が前記第2クエリ定義を参照により組み込んだか否か判定を行うステップを備えており、前記探索するステップは、前記第1クエリ定義が前記第2クエリ定義を参照により組み込まない場合にのみ実行する、方法。
JP2008511099A 2005-05-10 2005-07-29 オートリストを用いたクエリ組成 Pending JP2008541261A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/125,328 US7984057B2 (en) 2005-05-10 2005-05-10 Query composition incorporating by reference a query definition
PCT/US2005/026873 WO2006121453A1 (en) 2005-05-10 2005-07-29 Query composition using autolists

Publications (1)

Publication Number Publication Date
JP2008541261A true JP2008541261A (ja) 2008-11-20

Family

ID=37396843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008511099A Pending JP2008541261A (ja) 2005-05-10 2005-07-29 オートリストを用いたクエリ組成

Country Status (14)

Country Link
US (1) US7984057B2 (ja)
EP (1) EP1880317A4 (ja)
JP (1) JP2008541261A (ja)
KR (1) KR20080005531A (ja)
CN (1) CN101189604B (ja)
AU (1) AU2005331533A1 (ja)
BR (1) BRPI0520173A2 (ja)
CA (1) CA2606536A1 (ja)
MX (1) MX2007014059A (ja)
NO (1) NO20075691L (ja)
RU (1) RU2007141644A (ja)
TW (1) TW200639665A (ja)
WO (1) WO2006121453A1 (ja)
ZA (1) ZA200709595B (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) * 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) * 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US20110173215A1 (en) * 2009-05-27 2011-07-14 Hitachi Solutions, Ltd. Retrieval system, retrieval space map server apparatus and program
US8495025B2 (en) 2010-02-18 2013-07-23 Autonomy, Inc. Foldering by stable query
US20120297344A1 (en) * 2011-05-22 2012-11-22 Microsoft Corporation Search and browse hybrid
US9002873B1 (en) * 2011-05-31 2015-04-07 Google Inc. Pipeline query interface
US9811667B2 (en) 2011-09-21 2017-11-07 Mcafee, Inc. System and method for grouping computer vulnerabilities
US9817898B2 (en) * 2011-11-14 2017-11-14 Microsoft Technology Licensing, Llc Locating relevant content items across multiple disparate content sources
JP5865297B2 (ja) * 2013-06-17 2016-02-17 新日鉄住金ソリューションズ株式会社 候補提示装置、候補提示方法及びプログラム
CN103646120A (zh) * 2013-12-27 2014-03-19 联想(北京)有限公司 一种信息处理方法及电子设备
US10025764B2 (en) 2014-10-30 2018-07-17 Snap-On Incorporated Methods and systems for taxonomy assist at data entry points
WO2017128357A1 (zh) * 2016-01-30 2017-08-03 深圳市博信诺达经贸咨询有限公司 基于大数据的网页抓取方法及系统
US10430606B1 (en) 2018-04-30 2019-10-01 Aras Corporation System and method for implementing domain based access control on queries of a self-describing data system
US11645285B2 (en) * 2018-04-27 2023-05-09 Aras Corporation Query engine for recursive searches in a self-describing data system
US12020305B2 (en) 2018-04-27 2024-06-25 Aras Corporation Query engine for executing configurator services in a self-describing data system

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202058B1 (en) 1994-04-25 2001-03-13 Apple Computer, Inc. System for ranking the relevance of information objects accessed by computer users
US5724567A (en) 1994-04-25 1998-03-03 Apple Computer, Inc. System for directing relevance-ranked data objects to computer users
US5515488A (en) * 1994-08-30 1996-05-07 Xerox Corporation Method and apparatus for concurrent graphical visualization of a database search and its search history
US5870746A (en) * 1995-10-12 1999-02-09 Ncr Corporation System and method for segmenting a database based upon data attributes
US5872568A (en) * 1996-08-14 1999-02-16 International Business Machines Corporation Application and method for creating a list from pre-defined and user values
US5873080A (en) * 1996-09-20 1999-02-16 International Business Machines Corporation Using multiple search engines to search multimedia data
US6195657B1 (en) * 1996-09-26 2001-02-27 Imana, Inc. Software, method and apparatus for efficient categorization and recommendation of subjects according to multidimensional semantics
US6081801A (en) * 1997-06-30 2000-06-27 International Business Machines Corporation Shared nothing parallel execution of procedural constructs in SQL
US5926809A (en) * 1997-08-29 1999-07-20 Advanced Micro Devices, Inc. Two-tier query methodology for a database
JP4081175B2 (ja) * 1998-03-19 2008-04-23 富士通株式会社 検索処理装置および記憶媒体
US6199063B1 (en) * 1998-03-27 2001-03-06 Red Brick Systems, Inc. System and method for rewriting relational database queries
US6356899B1 (en) * 1998-08-29 2002-03-12 International Business Machines Corporation Method for interactively creating an information database including preferred information elements, such as preferred-authority, world wide web pages
US6922708B1 (en) * 1999-02-18 2005-07-26 Oracle International Corporation File system that supports transactions
US6345252B1 (en) * 1999-04-09 2002-02-05 International Business Machines Corporation Methods and apparatus for retrieving audio information using content and speaker information
US7620620B1 (en) * 1999-08-05 2009-11-17 Oracle International Corporation Basing directory contents on a query that is associated with a file identifier
US6560595B1 (en) * 1999-11-15 2003-05-06 Novell, Inc. Operator for correlated predicates in a query
US6496692B1 (en) 1999-12-06 2002-12-17 Michael E. Shanahan Methods and apparatuses for programming user-defined information into electronic devices
US6732088B1 (en) * 1999-12-14 2004-05-04 Xerox Corporation Collaborative searching by query induction
US6636848B1 (en) * 2000-05-31 2003-10-21 International Business Machines Corporation Information search using knowledge agents
US7039871B2 (en) * 2000-10-27 2006-05-02 Swiftknowledge, Inc. Secure data access in a multidimensional data environment
US6804662B1 (en) * 2000-10-27 2004-10-12 Plumtree Software, Inc. Method and apparatus for query and analysis
JP2002222210A (ja) * 2001-01-25 2002-08-09 Hitachi Ltd 文書検索システム、文書検索方法及び検索サーバ
US7200627B2 (en) * 2001-03-21 2007-04-03 Nokia Corporation Method and apparatus for generating a directory structure
JP4016610B2 (ja) * 2001-05-11 2007-12-05 ティアック株式会社 階層ディレクトリ構造を有する記録媒体、検索装置、検索プログラム、及び検索方法
US7720842B2 (en) * 2001-07-16 2010-05-18 Informatica Corporation Value-chained queries in analytic applications
US7076484B2 (en) * 2002-09-16 2006-07-11 International Business Machines Corporation Automated research engine
US7752197B2 (en) 2002-10-03 2010-07-06 International Business Machines Corporation SQL query construction using durable query components
US20040098379A1 (en) * 2002-11-19 2004-05-20 Dan Huang Multi-indexed relationship media organization system
AU2003274612A1 (en) * 2002-12-11 2004-06-30 Koninklijke Philips Electronics N.V. Method and apparatus for presenting a list of items
US7499925B2 (en) 2003-03-27 2009-03-03 Microsoft Corporation File system for displaying items of different types and from different physical locations
US8447775B2 (en) 2003-06-13 2013-05-21 Microsoft Corporation Database query user interface to assist in efficient and accurate query construction
US20050034064A1 (en) * 2003-07-25 2005-02-10 Activeviews, Inc. Method and system for creating and following drill links
US7225195B2 (en) * 2003-08-27 2007-05-29 Gil Avrahami Method for a dynamic information messaging system
US20050187911A1 (en) * 2004-02-24 2005-08-25 Microsoft Corporation Visual query
US7370273B2 (en) * 2004-06-30 2008-05-06 International Business Machines Corporation System and method for creating dynamic folder hierarchies
US20060036567A1 (en) * 2004-08-12 2006-02-16 Cheng-Yew Tan Method and apparatus for organizing searches and controlling presentation of search results
US7337167B2 (en) * 2005-04-14 2008-02-26 International Business Machines Corporation Estimating a number of rows returned by a recursive query
US7937390B2 (en) * 2006-06-01 2011-05-03 Mediareif Moestl & Reif Kommunikations-Und Informationstechnologien Oeg Method for controlling a relational database system
US7774337B2 (en) * 2006-07-11 2010-08-10 Mediareif Moestl & Reif Kommunikations-Und Informationstechnologien Oeg Method for controlling a relational database system
US7730084B2 (en) * 2006-11-01 2010-06-01 Red Hat, Inc. Nested queries with index

Also Published As

Publication number Publication date
EP1880317A1 (en) 2008-01-23
US20060259449A1 (en) 2006-11-16
KR20080005531A (ko) 2008-01-14
AU2005331533A1 (en) 2006-11-16
CN101189604B (zh) 2014-03-26
RU2007141644A (ru) 2009-05-20
WO2006121453A1 (en) 2006-11-16
US7984057B2 (en) 2011-07-19
ZA200709595B (en) 2009-05-27
CN101189604A (zh) 2008-05-28
BRPI0520173A2 (pt) 2009-04-22
CA2606536A1 (en) 2006-11-16
MX2007014059A (es) 2008-02-11
EP1880317A4 (en) 2010-02-24
TW200639665A (en) 2006-11-16
NO20075691L (no) 2007-12-07

Similar Documents

Publication Publication Date Title
JP2008541261A (ja) オートリストを用いたクエリ組成
JP4477689B2 (ja) 異なる情報システムのデータで協働アプリケーションにおけるドキュメントに注釈付与すること
CN100462929C (zh) 使用基于时间线的计算环境恢复数据的方法和系统
JP5787963B2 (ja) コンピュータプラットフォームのプログラミングインターフェース
US8688750B2 (en) Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
KR101343165B1 (ko) 지능적인 컨테이너 인덱싱 및 검색
US7162488B2 (en) Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
CA2560215C (en) Property tree for metadata navigation and assignment
KR100984400B1 (ko) 공통 요소에 기초하여 아이템들을 필터링하고 편성하기위한 시스템 및 방법
US20070233647A1 (en) Sharing Items In An Operating System
US20060242122A1 (en) Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US8180814B1 (en) System and method for file management
US20170212920A1 (en) Keyword-based content management
US20070055928A1 (en) User workflow lists to organize multimedia files
WO2008131009A2 (en) Keyword-based content management
JP2007521540A (ja) 統合コレクションの拡張可能な作成および編集
JP2010204897A (ja) 情報選択装置、情報選択プログラム及び情報選択方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110518

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111102