(57)【要約】  アラート検索機構が、所望のドキュメントおよび／またはリソースを検索するためにクローラなどの検索エンジンと共に使用される。特定のドキュメントが検索クエリを使用することにより見つけられる。検索機構は、クエリにおける関連プロパティのセットの値を追跡する。システムによってドキュメントが検索される度に、これらのプロパティのセットの値が、古い値と突き合わせられる。一致がない場合、これが、ドキュメントが変更していることを示す。
2009535691.tif 000002
【特許請求の範囲】
【請求項１】
検索アラート結果を送信するためにコンピュータに実装される方法であって、
第１の検索エンジンから第１のクエリ結果を受信するステップであって、前記クエリ結果はリソースを特定するための第１の検索値を含む第１のクエリに応答して得られる、受信するステップと、
前記第１の検索クエリ結果によって識別される前記リソースの第１の関連部分の第１のデジタル署名を形成するステップであって、前記第１の関連部分は、前記第１の検索値によって識別されるコンテンツを含む、形成するステップと、
第２の検索エンジンから第２のクエリ結果を受信するステップであって、前記クエリ結果は前記第１の検索クエリを含む第２のクエリに応答して得られ、前記第２の検索エンジンは前記第１の検索エンジンと同一または異なる、受信するステップと、
前記第２の検索クエリ結果によって識別される前記リソースの第２の関連部分の第２のデジタル署名を形成するステップであって、前記第２の関連部分は、前記第１の検索値によって識別されるコンテンツを含む、形成するステップと、
異なる前記第１のデジタル署名と前記第２のデジタル署名との比較に応答して、ユーザに通知を送信するステップと
を含むことを特徴とする方法。
【請求項２】
前記第１の検索クエリ結果によって識別される前記リソースの第３の関連部分の第３のデジタル署名を形成するステップであって、前記第３の関連部分は、第２の検索値によって識別されるコンテンツを含む、形成するステップと、
前記第２の検索クエリ結果によって識別される前記リソースの第４の関連部分の第４のデジタル署名を形成するステップであって、前記第４の関連部分は、前記第１のデジタル署名と前記第２のデジタル署名とを比較する前記第２の検索値によって識別されるコンテンツを含む、形成するステップと、
異なる前記第３のデジタル署名と第４のデジタル署名との比較に応答して、ユーザに通知を送信するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１の検索値は関連プロパティのセットを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記第１の検索クエリ結果によって識別される前記リソースのＵＲＬのデジタル署名を形成するステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記第１の検索エンジンおよび第２の検索エンジンはクローラであることを特徴とする請求項１に記載の方法。
【請求項６】
前記通知は、所定の時間間隔で前記ユーザに送信されることを特徴とする請求項１に記載の方法。
【請求項７】
前記第１の検索クエリ結果によって識別される前記リソースのＵＲＬのデジタル署名を形成するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記第１の検索クエリ結果によって識別される前記リソースのスキーマの第５のデジタル署名を形成するステップと、
前記第２の検索クエリ結果によって識別される前記リソースのスキーマの第６のデジタル署名を形成するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
異なる前記第５のデジタル署名と第６のデジタル署名との比較に応答して、前記通知をユーザに送信しないことを特徴とする請求項８に記載の方法。
【請求項１０】
前記第１の検索クエリ結果によって識別される前記リソースのフルテキストインデックスを形成するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１１】
検索アラート結果を送信するためのシステムであって、
ドキュメントを検索するための検索値を含むアラートクエリを記憶し、発行するための検索アラートハンドラと、
アラートクエリによって識別されるドキュメントからの検索値のプロパティのプロパティセットを記憶するためのプロパティストアと、
プロパティの前記セットに対して変更が行われる時を検出するためのギャザラとを含み、前記ギャザラは、第１の時刻に検索値によって識別されるドキュメント中の検索値のプロパティの第１のプロパティセットと、第２の時刻に前記検索値によって識別される前記ドキュメント中の前記検索値のプロパティの第２のプロパティセットとを比較することによって前記変更を検出し、かつ前記ギャザラは、前記検出された変更に関連づけられた前記ドキュメントをユーザに通知することを特徴とするシステム。
【請求項１２】
前記ドキュメントは媒体コンテンツを含むことを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記ギャザラは、前記第１の時刻に前記検索値によって識別される前記ドキュメントのフルテキストインデックスを構築するようにさらに構成されたことを特徴とする請求項１１に記載のシステム。
【請求項１４】
前記プロパティセットは、前記第１の時刻に前記検索値によって識別される前記ドキュメントの修正時刻についてのプロパティを含むことを特徴とする請求項１１に記載のシステム。
【請求項１５】
前記プロパティセットは、前記第１の時刻に前記検索値によって識別される前記ドキュメントの発見時刻についてのプロパティを含むことを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記プロパティセットは、前記第１の時刻に前記検索値によって識別される前記ドキュメントについてのスキーマのスキーマ修正時刻についてのプロパティを含み、かつ前記ギャザラは、前記スキーマ修正時刻よりも後の修正時刻を有するドキュメント変更をユーザに通知するようにさらに構成されたことを特徴とする請求項１４に記載のシステム。
【請求項１７】
第１の時刻および第２の時刻にアラートクエリによって識別されるドキュメントについての検索値のプロパティの、前記検索値を含む前記識別されるドキュメントの部分のデジタル署名であるプロパティセットを記憶し、
前記第１の時刻からの前記プロパティセットと、前記第２の時刻からの前記プロパティセットとを比較し、
前記第２の時刻からの前記プロパティセットと異なる前記第１の時刻からの前記プロパティセットに応答してユーザに通知を送信するための
コンピュータ実行可能命令を含むことを特徴とする有形な媒体。
【請求項１８】
前記第１の時刻に前記アラートクエリによって識別される前記ドキュメントに関連づけられたＵＲＬのデジタル署名を実行するためのコンピュータ実行可能命令をさらに含むことを特徴とする請求項１７に記載の有形な媒体。
【請求項１９】
前記第１の時刻に前記アラートクエリによって識別される前記ドキュメントに関連づけられたスキーマのデジタル署名を実行するためのコンピュータ実行可能命令をさらに含むことを特徴とする請求項１７に記載の有形な媒体。
【請求項２０】
前記記憶されたプロパティセットのリストのバージョンを追跡するためのコンピュータ実行可能命令をさらに含むことを特徴とする請求項１７に記載の有形な媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
検索アラートは、システムに保持される永続的なクエリ（ｑｕｅｒｉｅｓ）である。システムが、永続的なクエリに適合する新たなクエリ結果（たとえばドキュメント、リストアイテム、フォルダなど）を識別する度に、アラートユーザはその結果について通知される。アラートユーザは一般的に、自身に送信されるアラートの頻度を選択することができる。たとえば、アラートを送信する頻度を日次とすることができる。
【０００２】
ところが、無関係な結果を（あまりにも頻繁に）送信することによって、検索アラートユーザのための検索アラート結果がユーザにとって煩わしいものになることがある。具体的には、無関係な結果は、ユーザにとって関心のない、ドキュメントの検索における変更によって生成される。
【０００３】
たとえば、あるユーザが「特許」という用語を検索したいと思い、システム（インターネットを介してネットワーク化されたコンピュータなど）において、この検索のための日次のアラートを作成する。ユーザは、典型的に、その前日に発見されたすべての結果を含んだ日次の通知を受け取ることになる。システムは、その前日中にシステムにより発見された、または修正された「特許」という用語を含むすべてのドキュメントをリスト化した結果を返す。多くの場合、特定の変更は、それを通知されるユーザにとって十分に関心のあるものではなく、煩わしいものとみなされることがある。ドキュメントが、ユーザには認識できないセキュリティ記述子の変更、または他のプロパティに対する変更を有し得る場合、ユーザはその結果を煩わしいものとみなすことがある。
【発明の開示】
【０００４】
本概要は、一揃いの概念を簡略化した形で導入するために示されるものであり、その概念は下記の詳細な説明においてさらに説明される。本概要は、特許請求される主題の重要な特徴または本質的な特徴を特定することも、特許請求される主題の範囲を決定する一助となることも意図していない。
【０００５】
本開示は、クエリにおいて関連プロパティのセットのみの値を追跡するアラート検索機構を対象とする。システムによってドキュメントがクロール（ｃｒａｗｌ）される度に、このプロパティのセットの値（「コンテンツ署名」と呼ばれる）が古い値（「旧コンテンツ署名」と呼ばれる）と突き合わせられる。一致がない場合、これが、ドキュメントが変更していることを示す。非関心のプロパティ（セキュリティ記述子など）のみが変更した場合、このプロパティの値は旧コンテンツ署名にも新コンテンツ署名にも追跡されなかったため、したがって尚も一致があるために、ドキュメントは変更しているように見えないことになる。
【０００６】
さらに、ドキュメントについての関連プロパティのセット（たとえばスキーマ（ｓｃｈｅｍａ））は管理者が変更することができる。たとえば、「関連セット」にプロパティが追加されることによりプロパティのセットが変更される場合、ドキュメントは変更しているように見えることになる。ドキュメントが変更しているように見えるのは、旧コンテンツ署名が、新コンテンツ署名とは異なるプロパティのセットを含み、それにより異なるコンテンツが突き合わせられ得るからである。こうして、システムは、ドキュメントそのものではなく、ドキュメントについてのスキーマが変更していると判定することができる。一実施形態では、システムはこの状況を、チェックサムなどの「スキーマバージョン（ｓｃｈｅｍａ  ｖｅｒｓｉｏｎ）」デジタル署名を追跡することによって検出することができる。新コンテンツ署名が旧コンテンツ署名と一致せず、かつ「スキーマバージョン」が変更していない場合、ドキュメントは変更されている。「スキーマバージョン」も変更している場合は、ドキュメントは変更されていないとみなすことができる（なぜなら、実際には変更されていないドキュメントについての通知を送信することによってユーザを煩わせる可能性のあるアラートの送信は避けた方がよいことがあるからである）。
【０００７】
これらおよび他の特徴ならびに利点は、下記の詳細な説明を読むこと、および関連する図面を検討することによって明らかになるであろう。上記の一般的な説明および下記の詳細な説明のいずれも、単に説明的なものであり、特許請求される本発明を限定するものではないことを理解されたい。
【発明を実施するための最良の形態】
【０００８】
本明細書の一部を成し、特定の実施形態を例示によって示す添付の図面を参照して、実施形態が以下でさらに詳しく説明される。とりわけ、本明細書で説明されるさまざまな実施形態が、方法、デバイス、またはそれらの組合せとして具体化されてよい。同様に、さまざまな実施形態は、完全にハードウエアによる実施形態、完全にソフトウエアによる実施形態、またはソフトウエアとハードウエアの態様を組み合わせる実施形態の形をとってよい。したがって、以下の詳細な説明は、限定する意味において捉えられるべきではない。
【０００９】
図１を参照すると、本発明を実装するための１つの例示的なシステムは、コンピューティングデバイス１００などのコンピューティングデバイスを含む。コンピューティングデバイス１００は、クライアント、サーバ、モバイルデバイス、またはネットワークベースの共同システムにおいてデータをやり取りする他の任意のコンピューティングデバイスとして構成することができる。極めて基本的な構成では、コンピューティングデバイス１００は、典型的に少なくとも１つの処理ユニット１０２およびシステムメモリ１０４を含む。厳密な構成およびコンピューティングデバイスのタイプによって、システムメモリ１０４は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリ、他など）またはそれら２つの何らかの組合せであってよい。システムメモリ１０４は、典型的にはオペレーティングシステム１０５と、１つまたは複数のアプリケーション１０６とを含み、プログラムデータ１０７を含んでもよい。図２〜４を参照して以下で詳細に説明されるアラート通知サービス１０８は、システムメモリ１０４内に実装される。
【００１０】
コンピューティングデバイス１００は、追加の特徴または機能を有することができる。たとえばコンピューティングデバイス１００は、たとえば、磁気ディスク、光学ディスク、またはテープなどの追加の（着脱可能および／または着脱不可能な）データ記憶デバイスを含むこともできる。こうした追加の記憶装置は、着脱可能な記憶装置１０９および着脱不可能な記憶装置１１０により、図１に示されている。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術において実装される、揮発性および不揮発性、着脱可能および着脱不可能な媒体を含むことができる。システムメモリ１０４、着脱可能な記憶装置１０９、および着脱不可能な記憶装置１１０は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、以下に限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を記憶するために使用でき、コンピューティングデバイス１００によってアクセスできる他の任意の媒体が含まれる。こうした任意のコンピュータ記憶媒体は、デバイス１００の部分であってよい。コンピューティングデバイス１００はまた、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの１つまたは複数の入力デバイス１１２を有することができる。ディスプレイ、スピーカ、プリンタなどの１つまたは複数の出力デバイス１１４も含まれてよい。
【００１１】
コンピューティングデバイス１００はまた、ネットワークなどを介して他のコンピューティングデバイス１１８と通信することを可能にする通信接続部１１６を含む。ネットワークには、ローカルエリアネットワーク、ワイドエリアネットワーク、ならびにそれだけに限らないが、イントラネットおよびエクストラネットを含む他の大規模ネットワークが含まれる。通信接続部１１６は、通信媒体の一例である。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、またはモジュール化されたデータ信号における他のデータ（たとえば搬送波または他の搬送機構）によって具体化されることができ、任意の情報伝達媒体を含む。用語「モジュール化されたデータ信号」とは、信号中の情報を符号化するように設定または変更された１つまたは複数の信号特性を有する信号を意味する。限定ではなく例示として、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体と、音響、ＲＦ、赤外線および他の無線媒体などの無線媒体とが含まれる。本明細書で使用される用語「コンピュータ可読媒体」には、記憶媒体と通信媒体との両方が含まれる。
【００１２】
本開示は、クエリにおいて関連プロパティのセットの値を追跡するアラート検索機構を対象とする。体系的なやり方でワールドワイドウェブをブラウズする自動化プログラムであるウェブクローラは、ドキュメントを検索するために使用できる。たとえばシステムによってドキュメントが「クロール」される度に、これらのプロパティのセットの値（「コンテンツ署名」と呼ばれる）が、古い値（「旧コンテンツ署名」と呼ばれる）と突き合わせられる。（ドキュメントは、ドキュメントプロパティそのものの値を比較することによって突き合わせることもできるが、これは通常、たとえばその後比較され得る署名を生成するためにＭＤ５ハッシュ関数を使用することほどには効率的ではない）。一致がない場合、これが、変更している関心のあるコンテンツをドキュメントが有することを示す。非関心のプロパティ（セキュリティ記述子など）のみが変更している場合、このプロパティの値は旧コンテンツ署名にも新コンテンツ署名にも追跡されなかったため、ドキュメントには通常、変更されたものとしてのフラグは立てられない。
【００１３】
ドキュメントについての関連プロパティのセット（たとえばスキーマ）は管理者が変更することができる。たとえば「関連セット」にプロパティが追加されることによりこのセットが変更される場合、ドキュメントは変更しているように見えることになる。ドキュメントが変更しているように見えるのは、旧コンテンツ署名が、新コンテンツ署名とは異なるプロパティのセットを含み、それにより異なるコンテンツが突き合わせられ得るからである。したがって、システムは、ドキュメントそのものではなく、ドキュメントについてのスキーマが変更していると判定することができる。
【００１４】
たとえば、関連プロパティのセットがプロパティＡおよびプロパティＢである場合、（旧）コンテンツ署名はプロパティＡの値とプロパティＢの値とを含む。管理者が、関連プロパティのセットにプロパティＣを追加するとき、スキーマが変更する。新コンテンツ署名は、典型的にすべてのプロパティの値（Ａ、ＢおよびＣ）を含むことになる。（（Ａ＋Ｂ＋Ｃ）を含む）新コンテンツ署名が、旧コンテンツ署名（Ａ＋Ｂ）と比較されるとき、値は一致しない。値が一致しないとき、ＡとＢのプロパティ値そのものは変更していないにもかかわらず、こうしてドキュメントは変更しているように見える。
【００１５】
システムはこの状況を、チェックサムなどの「スキーマバージョン」デジタル署名を追跡することによって検出することができる。たとえば、プロパティ値を含まないプロパティ識別子のチェックサムを追跡できる。プロパティ識別子のチェックサムの追跡は、典型的にドキュメント中の関連プロパティの存在を取り込むことになる。新コンテンツ署名が旧コンテンツ署名と一致せず、かつ「スキーマバージョン」が変更していない場合、ドキュメントは変更されている。「スキーマバージョン」も変更している場合は、ドキュメントは変更されていないとみなされることができる。
【００１６】
図２は、本発明の態様による有意な変更検索アラートのためのシステムのブロック図を示す。ギャザラアプリケーション（Ｇａｔｈｅｒｅｒ  ａｐｐｌｉｃａｔｉｏｎ）２１０は、複数の記憶装置、さまざまなフォーマットおよび言語からのドキュメントなどの検索対象アイテムを集めるための包括的な機構を提供する。ギャザラアプリケーション２１０は、ドキュメントのコンテンツを、主にドキュメント全体にわたるフルテキストインデックスを構築するのに適した統一化されたフォーマットに体系化する。ギャザラパイプライン（Ｇａｔｈｅｒｅｒ  ｐｉｐｅｌｉｎｅ）２２０は、集められたドキュメントへのアクセスを複数のコンシューマ（ｃｏｎｓｕｍｅｒ）に提供する。ギャザラアプリケーション２１０は、典型的に、ドキュメントを一度フェッチし、複数のコンシューマによる同一データを処理することを可能にする。
【００１７】
ＡＲＰＩ（アーカイバルプラグイン（ａｒｃｈｉｖａｌ  ｐｌｕｇｉｎ））は、ギャザラパイプラインのコンシューマである。ドキュメントがギャザラアプリケーション２１０によってクロールされるとき、デジタル署名（ＭＤ５ハッシュ関数など）が、クロールされるドキュメントのコンテンツについて計算される。ＡＲＰＩは、残りのプロパティに加えてＭＤ５ハッシュをプロパティストア（Ｐｒｏｐｅｒｔｙ  Ｓｔｏｒｅ）（ＳＱＬデータベース２４０に記憶されるものなど）に書き込む。さらに、ＡＲＰＩは、ドキュメント中のすべての関連プロパティの（たとえば）チェックサムであり得るスキーマ署名を書き込むこともできる。
【００１８】
図３は、本発明の態様によるシステム検索アラートクエリ処理機構のブロック図を示す。ユーザが検索アラートを作成すると、結果としてのアラートクエリが検索アラートハンドラ３１０に記憶される。次いでアラートは、たとえば日次または週次などの特定量（たとえば所定の期間であってよい）で、トリガされる。アラートがトリガされると、検索アラートハンドラ３１０が、アラートのユーザに通知すべき新しい結果があるかどうかを調べるために、検索クエリを実行する。オブジェクトモデル３２０はクエリを受信し、そのクエリをクエリプロセッサ３３０に転送する。クエリプロセッサ３３０は、プロパティストア３４０およびフルテキストインデックス３５０に対し、クエリコマンドを発行する。下記で説明するように、クエリは、たとえば、検索クエリに適合し、前回の通知時刻よりも後に追加されている新しいドキュメントがあるかどうか、または前回の通知時刻以降変更している何らかの関連ドキュメントがあるかどうかを判定するために使用される。
【００１９】
前回の通知時刻よりも後に作成／変更され、ランク順に並べられた上位１０件の結果をフェッチする例示的なクエリが以下である。
【００２０】
【表１】
2009535691.tif 000003
【００２１】
上記で説明したように、ユーザは、アラートユーザにとって関係のない変更を有するドキュメントを含む検索結果を示されることが多い。その主な理由の１つが、デジタル署名（ＭＤ５ハッシュなど）が、任意の追跡可能なスキーマセットのプロパティを基に計算されることである。管理者がプロパティを追加しているかまたはこのセットからプロパティを除去している場合、それだけで、アラートは誤ってトリガされ得るであろう。
【００２２】
フルテキストインデックスが作成されると、ドキュメントについての新しいプロパティが計算され、（ＡＲＰＩによって）プロパティストアに追加される。新しいプロパティは、検索対象ドキュメントの「ＤｉｓｃｏｖｅｒｙＴｉｍｅ」および「ＭｏｄｉｆｉｃａｔｉｏｎＴｉｍｅ」などのプロパティを設定するために使用される。ＤｉｓｃｏｖｅｒｙＴｉｍｅは、クロールを実行するギャザラアプリケーションによってドキュメントが発見された最初の時刻である。ＭｏｄｉｆｉｃａｔｉｏｎＴｉｍｅは、以前のクロール以降にドキュメントになされた何らかの有意な修正があった時を示す。
【００２３】
「ＭｏｄｉｆｉｃａｔｉｏｎＴｉｍｅ」プロパティを決定するために、「ＵｒｌＳｉｇｎａｔｕｒｅ」プロパティ、ＣｏｎｔｅｎｔＳｉｇｎａｔｕｒｅプロパティ、ＳｃｈｅｍａＳｉｇｎａｔｕｒｅプロパティ、およびＳｃｈｅｍａＭｏｄｉｆｉｃａｔｉｏｎＴｉｍｅプロパティが追跡される。ＳＱＬテーブルのＭＳＳＡｌｅｒｔＤｏｃＨｉｓｔｏｒｙは、システムによって処理されているすべてのドキュメントおよびリソースについてのプロパティを追跡するのに使用することができる。
【００２４】
たとえば、ＵｒｌＳｉｇｎａｔｕｒｅプロパティは、ＵＲＬのＭＤ５ハッシュであり、ＣｏｎｔｅｎｔＳｉｇｎａｔｕｒｅは、アラートによって追跡されるプロパティ上のＭＤ５ハッシュであり、ＳｃｈｅｍａＳｉｇｎａｔｕｒｅプロパティは、アラートによって追跡されるプロパティのセットのチェックサム（またはＭＤ５ハッシュを含む他の適切なデジタル署名）であり、ＳｃｈｅｍａＭｏｄｉｆｃａｔｉｏｎＴｉｍｅプロパティは、アラートによって追跡されるプロパティのセットが変更された前回の時刻である。「ＭｏｄｉｆｉｃａｔｉｏｎＴｉｍｅ」プロパティはまた、ドキュメントが前回変更された時を特定するために使用することができる。
【００２５】
プロパティのセットに対して変更が行われるとき、変更はアラート通知システムのギャザラアプリケーションによって検出される。アラート通知システムは、典型的に、実際に変更されたものが「関連プロパティ」のセットであったときには、ドキュメントが変更したことをユーザに通知することを選択しない。なぜなら、新しいプロパティが関連プロパティのセットに単に追加されるとき、またはプロパティが関連プロパティのセットから単に除去されるときには、一般的にユーザは関心がないからである。
【００２６】
図４は、本発明の態様によるアラート通知をトリガするかどうかを決定するプロセスの流れ図である。ドキュメント４１０が発見されているまたは修正されているかどうかを判定するために、動作４２０で、プロセス（ギャザラアプリケーション２１０など）はドキュメント４１０に関連づけられたＵＲＬのデジタル署名が変更されているかどうかを判定する。プロセスが、デジタル署名について一致がないと判定する場合、プロセスは動作４３０に進み、そこでアラートシステムが、新しい関心のあるドキュメントが最近作成されていることを報告する。プロセスがＵＲＬ署名について一致があると判定する場合、プロセスは動作４４０に進む。
【００２７】
２つのドキュメントが同一のＵｒｌＳｉｇｎａｔｕｒｅプロパティを示す場合、問題になる可能性がある。２つのドキュメントが同一のＵｒｌＳｉｇｎａｔｕｒｅプロパティを示し、かつ完全なクロールが行われているとき、システムは、関連のある変更が実際にはない可能性のときに、関連のある変更があると報告することがある。６４ビットのＭＤ５ハッシュを実行し保存することにより、コーパス（たとえばドキュメントのテキスト本文）が非常に大きい場合でも、この問題は極めて起こりにくくなる。この問題をさらに起こりにくくするために、ＵｒｌＳｉｇｎａｔｕｒｅを保存することに加えて、そのＵＲＬ全体を保存することができる。
【００２８】
動作４４０で、プロセスは、ドキュメント４１０に関連づけられたコンテンツのデジタル署名が変更されているかどうかを判定する。プロセスがコンテンツ署名について一致がないと判定する場合、プロセスは動作４５０に進む。プロセスがコンテンツ署名について一致があると判定する場合、プロセスは動作４７０に進む。
【００２９】
動作４５０で、プロセスは、ドキュメント４１０に関連づけられたスキーマが変更されているかどうかを判定する。プロセスが、スキーマが変更されていると判定する場合、スキーマ署名およびスキーマ修正時刻のプロパティが更新される。（プロセスが、スキーマは変更されていないと判定する場合は、ドキュメント４１０に関連づけられたプロパティは、通常更新される必要はない）。
【００３０】
動作４７０で、プロセスは、スキーマ署名が変更されているかどうかを判定する。プロセスが、スキーマが変更されていると判定した場合、プロセスは動作４９０に進み、ここでスキーマ署名プロパティおよびスキーマ修正時刻プロパティが更新される（ドキュメント修正時刻プロパティは、通常更新されない）。プロセスが、スキーマは変更されていないと判定する場合、プロセスは動作４８０に進む。動作４８０で、アラートシステムにより、関心のあるドキュメントが最近修正されているという通知が送信される。修正時刻プロパティもまた更新される。
【００３１】
表１は、既存のドキュメントに対して変更が行われるときに起こる、よくあるシナリオを示す。
【００３２】
【表２】
2009535691.tif 000004
【００３３】
時刻Ｔ０で、既存のドキュメントプロパティの状態によるアラート通知が行われており、コンテンツ署名、スキーマ署名、発見時刻、スキーマ修正時刻および修正時刻が、それぞれＸ、Ｙ、Ｔ、ＴおよびＴとして記録される。
【００３４】
時刻Ｔ１で、ドキュメントに対する最初の変更が行われる。クロールが行われていないため、ドキュメントに対する変更はドキュメントプロパティには影響せず、変更はシステムによって通知されていない。
【００３５】
時刻Ｔ２で、クロールが行われる。コンテンツ署名中の変更が検出され、コンテンツ署名の状態がＸ１に更新される。修正時刻の状態がＴ２に更新される。（クロールは通常継続ベースで行われるために、この時点でのアラート通知は行われないが、一方で、表中に示されるように、時刻Ｔ０およびＴ５で発生するアラート通知など、アラート通知が所定の間隔で行われることがある）。
【００３６】
時刻Ｔ３で、ドキュメントに対する２回目の変更が行われる。ドキュメントに対する変更は、クロールが行われるまでドキュメントプロパティに影響しない。
【００３７】
時刻Ｔ４で、２回目のクロールが行われる。コンテンツ署名中の変更が検出され、コンテンツ署名の状態がＸ２に更新され、修正時刻がＴ４に更新される。
【００３８】
時刻Ｔ５で、アラート通知が行われる。アラート通知システムのユーザは、既存のドキュメントに対する第１および第２の変更を通知される。
【００３９】
表２は、既存のドキュメントに対して、および既存のドキュメントに関連づけられたスキーマに対して変更が行われる時を示す。
【００４０】
【表３】
2009535691.tif 000005
【００４１】
時刻Ｔ０で、既存のドキュメントプロパティの状態によるアラート通知が行われており、コンテンツ署名、スキーマ署名、発見時刻、スキーマ修正時刻および修正時刻が、それぞれＸ、Ｙ、Ｔ、ＴおよびＴとして記録される。
【００４２】
時刻Ｔ１でクロールが行われ、ここではドキュメントまたはスキーマに対する変更は検出されていない。
【００４３】
時刻Ｔ２で、スキーマ変更が行われる。（クロールは通常継続ベースで行われるために、この時点でのアラート通知は行われないが、一方で、表中に示されるように、時刻Ｔ０およびＴ５で発生するアラート通知など、アラート通知が所定の間隔で行われることがある）。
【００４４】
時刻Ｔ３で、ドキュメントに対する変更が行われる。ドキュメントに対する変更は、クロールが行われるまでドキュメントプロパティに影響しない。
【００４５】
時刻Ｔ４で、２回目のクロールが行われる。コンテンツ署名中の変更が検出され、コンテンツ署名の状態がＸ２に更新され、スキーマ署名の状態がＹ１に更新され、スキーマ修正時刻がＴ４に更新される。スキーマ修正時刻の状態も変更されているために、コンテンツ署名の状態はＸ１からＸ２に変更されているにもかかわらず、修正時刻の状態は更新されない。コンテンツ署名に対する変更がドキュメントの関心のあるプロパティのうちの１つにおける実際の変更による結果であるべきかどうか、またはこの変更が追跡されているプロパティのセットにおける変更による結果であるべきかどうかは、必ずしも明らかではない。
【００４６】
時刻Ｔ５で、アラート通知時刻が発生する。スキーマが変更されているために、アラート通知システムのユーザは、既存のドキュメントに対する変更を通知されない。
【００４７】
代替の実施形態では、「関連プロパティ」のセットにあるプロパティのリストがバージョン情報と共に追跡されてよい。プロパティのセットに対して変更が行われる度に、バージョンレベルを上げることができる。またバージョンレベルを、（図３に関して上述した）ＳＱＬテーブルのＭＳＳＡｌｅｒｔＤｏｃＨｉｓｔｏｒｙに記憶することができる。クロールが行われ、現行のバージョンが記憶されているバージョンと異なると、テーブルの中のバージョン値およびスキーマ署名プロパティの値が更新され、一方でスキーマ修正時刻は更新されず、同じままである。したがって、前回のアラート通知よりも後（しかし、関連プロパティのセットに対する変更よりも前）に既存のドキュメントに対して行われるすべての変更は、通常、ユーザに送信される。また、関連プロパティのセットに対して行われる変更よりも後に行われる既存のドキュメントに対するすべての変更は、ユーザに送信されない。
【００４８】
代替の実施形態では、実際に行われたいくつかの変更をユーザに報告しないことにすることも可能である。この実施形態は、過多の無関係な通知を優先して、いくつかの有効な通知を使用するポリシーに従って使用することができる。
【００４９】
別の実施形態では、基本プロパティの署名が、所定のプロパティのセットに対して行われる変更を追跡するのに使用されてよい。追跡可能なプロパティのバージョンが、ＳＱＬテーブルのＭＳＳＡｌｅｒｔＤｏｃＨｉｓｔｏｒｙに保持されているバージョンと一致しないとき、基本プロパティの署名を調べることができる。基本的なプロパティの署名が一致しない場合、ユーザはその変更を通知されてよい。したがって、ユーザが逃す通知は、単に追跡可能なプロパティに対する変更に基づいてなされた通知と比較して、より少ない数の通知となる。
【００５０】
さらに別の実施形態では、クローラが実際に同一のドキュメントを複数回再発見したときの確認を助けるために、ＵＲＬ署名が追跡されてよい。たとえば、管理者が、クロール中に使用されるルールを修正するとき、またはアカウント証明書を修正するとき、多くのドキュメントがクローラにアクセスできなくなることがある。問題の修正にあたり、度々多くのドキュメントがまずインデックスから削除され、その後再追加される。この問題に対処するために、目録からのコンテンツの除去に関するクローラの挙動にかかわらず、ＵＲＬ署名が維持される（かつ削除されない）。したがって、維持されるＵＲＬ署名を、再追加されたコンテンツに起因する誤った通知を避けるために調べることができる。
【００５１】
図５は、検索アラート結果を送信するプロセスを示す流れ図である。プロセス５００の動作５１０で、第１の検索エンジンから第１のクエリ結果が受信され、このクエリ結果は、リソースを特定するための第１の検索値を含む第１のクエリに応答して得られる。動作５２０で、第１の検索クエリ結果によって識別されるリソースの第１の関連部分から第１のデジタル署名が形成され、第１の関連部分は第１の検索値によって識別されるコンテンツを含む。動作５３０で、第２の検索エンジンから第２のクエリ結果が受信され、このクエリ結果は、第１の検索クエリを含む第２のクエリに応答して得られ、第２の検索エンジンは第１の検索エンジンと同一、または異なるエンジンである。動作５４０で、第２の検索クエリ結果によって識別されるリソースの第２の関連部分から第２のデジタル署名が形成され、第２の関連部分は第１の検索値によって識別されるコンテンツを含む。動作５５０で、異なる第１のデジタル署名と第２のデジタル署名との比較に応答して、ユーザに通知が送信される。
【００５２】
上述した詳細、例示およびデータは、本発明の構成における製造および使用の完全な説明を示す。本発明の精神および範囲を逸脱することなく、本発明の多くの実施形態が可能であることから、本発明は添付の特許請求の範囲に帰するものである。
【図面の簡単な説明】
【００５３】
【図１】本発明の例示的な実施形態に従って使用できるコンピューティングデバイスを示す図である。
【図２】有意な変更検索アラートのためのシステムのブロック図である。
【図３】システム検索アラートクエリ処理機構のブロック図である。
【図４】アラート通知をトリガするかどうかを決定するプロセスの流れ図である。
【図５】検索アラート結果を送信するプロセスを示す流れ図である。
【図１】
2009535691.tif 000006
【図２】
2009535691.tif 000007
【図３】
2009535691.tif 000008
【図４】
2009535691.tif 000009
【図５】
2009535691.tif 000010
【国際調査報告】
2009535691.tif 000011
2009535691.tif 000012