(57)【要約】【課題】クエリー候補パラメータ値のパターンベースのフィルタリングを行う方法及び装置を提供する。【解決手段】結論の形式及び１つ以上のクエリー候補パラメータ値を指定するサーチ要求をコンピューティング装置により受け取るための方法、装置及び物品が開示される。また、コンピューティング装置は、結論の形式に関連した複数のパターンに鑑み、クエリー候補パラメータ値をフィルタリングすることによりクエリー候補パラメータ値の幾つか又は全部を選択し、その選択されたクエリーパラメータ値でのデータベースのクエリーを容易にすることができる。【選択図】図２
2010518465.tif 000002
【特許請求の範囲】
【請求項１】
結論の形式及び１つ以上のクエリー候補パラメータ値を指定するサーチ要求をコンピューティング装置により受け取るステップと、
前記結論の形式に関連した複数のパターンに鑑み、前記クエリー候補パラメータ値をフィルタリングすることにより前記クエリー候補パラメータ値の幾つか又は全部を前記コンピューティング装置により選択して、その選択されたクエリーパラメータ値でのデータベースのクエリーを行なうステップとを有する方法。
【請求項２】
前記複数のパターンのうちの各パターンは、１つ以上のクエリーパラメータ形式を含む、請求項１に記載の方法。
【請求項３】
前記複数のパターンは、トークンを含む第１パターン、ＭＡＣＡ及びＷＩＮＤを含む第２パターン、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ及びＩＥＩＤを含む第３パターン、アカウント識別子及びサービスプロバイダー識別子を含む第４パターン、又は都市、国、地域及びタイムゾーンを含む第５パターンの少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記フィルタリングは、前記クエリー候補パラメータ値のクエリーパラメータ形式を前記パターンのクエリーパラメータ形式と交差(intersect)させて、その交差に対応し且つパターンの全てのクエリーパラメータ形式が前記クエリー候補パラメータ値のクエリーパラメータ形式と交差すると分かったクエリーパラメータ形式のセットを決定することを含み、そして前記選択は、その決定されたセットのクエリーパラメータ形式に関連したクエリー候補パラメータ値を選択することを含む、請求項２に記載の方法。
【請求項５】
前記結論形式とクエリーパラメータ形式の組合せの１つとの関連性を証明する経歴データに鑑み、前記結論形式をクエリーパラメータ形式の組合せと統計学的に相関させることにより、前記複数のパターンを前記コンピューティング装置により発生するステップを更に含む、請求項２に記載の方法。
【請求項６】
前記選択されたクエリーパラメータ値及びその関連形式で前記データベースに前記コンピューティング装置によりクエリーし、前記結論形式に関連した１つ以上の結論を決定するステップを更に含む、請求項１に記載の方法。
【請求項７】
各々の前記選択されたクエリーパラメータ値に対する結論、及び各結論に対する関連重み値を前記コンピューティング装置により受け取るステップと、
同一の結論の重み値を前記コンピューティング装置により総計するステップと、
を更に含む、請求項６に記載の方法。
【請求項８】
サーチ要求に対する応答を前記コンピューティング装置により与えるステップを更に含み、この応答は、多くて最大結論数を含み、且つ所定のスレッシュホールドより大きさが大きい重み値をもつ結論のみを含み、その最大数及び所定のスレッシュホールドは、サーチ要求において指定される、請求項７に記載の方法。
【請求項９】
プロセッサと、
前記プロセッサが、
結論形式及び１つ以上のクエリー候補パラメータ値を指定するサーチ要求を受信し、
前記結論形式に関連した複数のパターンに鑑み、前記１つ以上のクエリー候補パラメータ値をフィルタリングすることにより、クエリーパラメータ値を選択し、
その選択されたクエリーパラメータ値でデータベースにクエリーして、１つ以上の結論を決定する、
というように動作されるロジックとを備えた装置。
【請求項１０】
前記複数のパターンのうちの各パターンは、１つ以上のクエリーパラメータ形式を含む、請求項９に記載の装置。
【請求項１１】
前記複数のパターンは、トークンを含む第１パターン、ＭＡＣＡ及びＷＩＮＤを含む第２パターン、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ及びＩＥＩＤを含む第３パターン、アカウント識別子及びサービスプロバイダー識別子を含む第４パターン、又は都市、国、地域及びタイムゾーンを含む第５パターンの少なくとも１つを含む、請求項１０に記載の装置。
【請求項１２】
前記ロジックにおいて、
前記フィルタリングが、更に、前記クエリー候補パラメータ値のクエリーパラメータ形式を前記パターンのクエリーパラメータ形式と交差(intersect)させて、その交差に対応し且つパターンの全てのクエリーパラメータ形式が前記クエリー候補パラメータ値のクエリーパラメータ形式と交差すると分かったクエリーパラメータ形式のセットを決定することを含み、そして、
前記選択が、前記決定されたセットのクエリーパラメータ形式に関連したクエリー候補パラメータ値を選択すること、
を含む、請求項１０に記載の装置。
【請求項１３】
前記ロジックは、更に、前記結論形式とクエリーパラメータ形式の組合せの１つとの関連性を証明する経歴データに鑑み、前記結論形式をクエリーパラメータ形式の組合せと統計学的に相関させることにより、前記複数のパターンを発生する、請求項１０に記載の装置。
【請求項１４】
前記ロジックにおいて、前記クエリーが、前記選択されたクエリーパラメータ値及びその関連形式で前記データベースにクエリーし、前記結論形式に関連した１つ以上の結論を決定することを含む、請求項９に記載の装置。
【請求項１５】
前記ロジックにおいて、更に、
各々の前記選択されたクエリーパラメータ値に対する結論、及び各結論に対する関連重み値を受信し、そして、
同一の結論の重み値を総計する、請求項１４に記載の装置。
【請求項１６】
前記ロジックにおいて、更に、サーチ要求に対する応答を提供し、この応答は、多くて、最大結論数を含み、且つ所定のスレッシュホールドより大きさが大きい重み値をもつ結論のみを含み、その最大数及び所定のスレッシュホールドは、サーチ要求において指定される、請求項１５に記載の装置。
【請求項１７】
記憶媒体と、
装置が、
結論形式及び１つ以上のクエリー候補パラメータ値を指定するサーチ要求を受信し、
前記結論形式に関連した複数のパターンに鑑み、前記１つ以上のクエリー候補パラメータ値をフィルタリングすることにより、クエリーパラメータ値を選択し、
その選択されたクエリーパラメータ値でデータベースにクエリーして、１つ以上の結論を決定する、ことができるように前記記憶媒体に記憶した複数のプログラミングインストラクションとを備えた製造物品。
【請求項１８】
前記複数のパターンのうちの各パターンは、１つ以上のクエリーパラメータ形式を含む、請求項１７に記載の物品。
【請求項１９】
前記複数のパターンは、トークンを含む第１パターン、ＭＡＣＡ及びＷＩＮＤを含む第２パターン、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ及びＩＥＩＤを含む第３パターン、アカウント識別子及びサービスプロバイダー識別子を含む第４パターン、又は都市、国、地域及びタイムゾーンを含む第５パターンの少なくとも１つを含む、請求項１８に記載の物品。
【請求項２０】
前記プログラミングインストラクションは、更に、前記装置が、
前記フィルタリングを行えるように構成され、このフィルタリングは、更に、前記クエリー候補パラメータ値のクエリーパラメータ形式を前記パターンのクエリーパラメータ形式と交差させて、その交差に対応し且つパターンの全てのクエリーパラメータ形式が前記クエリー候補パラメータ値のクエリーパラメータ形式と交差すると分かったクエリーパラメータ形式のセットを決定することを含み、そして、
前記選択を行えるように構成され、この選択は、更に、前記決定されたセットのクエリーパラメータ形式に関連したクエリー候補パラメータ値を選択することを含む、請求項１８に記載の物品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理の分野に係り、より詳細には、クエリー候補のパラメータ値のパターンベース・フィルタリングに関する。
【０００２】
関連出願：本出願は、２００７年１０月２４日に出願された“Pattern-Based Filtering of Query Input”と題する米国非仮特許出願第１１／９２３，５８０号、２００６年１０月２５日に出願された“Pattern Matching Engine”と題する米国プロビジョナル特許出願第６０／８６２，９６６号、及び２００６年１０月２５日に出願された“Device Identification Using Pattern Matching Engine”と題する米国仮特許出願第６０／８６２，９６０号の優先権を主張するもので、それらの明細書全体をあらゆる目的で参考としてここにそのまま組み入れるが、本明細書と矛盾する部分がもしあれば、それについては除外する。
【背景技術】
【０００３】
１つ以上のキー値に基づいて効率的なルックアップを行うために、システムはしばしばデータベースマネージメントシステム（ＤＢＭＳ）を使用し、この場合、キーを含む属性が前もって知られ、データベースの構造へと定義される。システムが複雑な変数パターンに基づいてルックアップを遂行する必要があるときに、ほとんどの解決策は、埋め込み型ロジック（ルール）をルックアップに使用するか、又は複数のルックアップからのデータを合成するための式を使用する。ロジックベースの及び式ベースの解決策は、パターンを定義し又は増強する必要があるときに、コード変更をしばしば要求する。又、それらは、コンピュータにおけるより多くのインストラクションの実行を要求すると共に、一般的には、システムにわたって関連データが分布するためにより多くのデータの読み取りを要求する。
【０００４】
本発明は、同様の要素が同一の参照番号で指示された添付図面に示す実施形態により説明するが、これに限定されない。
【図面の簡単な説明】
【０００５】
【図１】本発明の種々の実施形態の概略を示す。
【図２】種々の実施形態による選択されたオペレーションのフローチャートである。
【図３】種々の実施形態によるパターンマッチング動作を表すベン図である。
【図４】種々の実施形態により、本発明の実施に使用するのに適したコンピュータシステムを例示するブロック図である。
【発明を実施するための形態】
【０００６】
本発明の例示のための実施形態は、結論(outcome)の形式及び１つ以上のクエリーパラメータ値を指定するサーチ要求をコンピューティング装置によって受信するための方法及び装置を含むが、これに限定されない。又、コンピューティング装置は、結論の形式に関連した複数のパターンに鑑み、クエリー候補パラメータ値をフィルタリングすることによりクエリー候補パラメータ値の幾つか又は全部を選択し、その選択されたクエリーパラメータ値でのデータベースのクエリーを容易にすることができる。
【０００７】
例示のための実施形態の種々の態様は、当業者の仕事の実体を他の当業者に伝えるために当業者により通常使用される用語を使用して説明される。しかしながら、当業者であれば、ここに述べる態様の幾つかのみで別の実施形態を実践できることも明らかであろう。説明上、一例としての実施形態を完全に理解するために、特定の数字、材料及び構成について述べる。しかしながら、当業者であれば、特定の詳細を伴わずに別の実施形態を実践できることが明らかであろう。他の点において、一例としての実施形態を不明瞭にしない目的のために、良く知られた特徴は省略又は簡単化されるものとする。
【０００８】
更に、種々のオペレーションは、複数の個別のオペレーションとして説明し、ひいては、例示のための実施形態の理解を最も助けるように説明するが、説明の順序は、それらのオペレーションが順序に依存するものと解釈されるべきではない。特に、それらのオペレーションは、ここに提示する順序で実行される必要はない。
【０００９】
「一実施形態では」というフレーズが、繰り返し使用される。このフレーズは、一般的に、同じ実施形態を指すものではないが、そうであってもよい。「備える」、「有する」及び「含む」といった語は、特に指示のない限り、同義である。“Ａ／Ｂ”のフレーズは、“Ａ又はＢ”を意味する。“Ａ及び／又はＢ”のフレーズは、“（Ａ）、（Ｂ）又は（Ａ及びＢ）”を意味する。“Ａ、Ｂ及びＣの少なくとも１つ”のフレーズは、“（Ａ）、（Ｂ）、（Ｃ）、（Ａ及びＢ）、（Ａ及びＣ）、（Ｂ及びＣ）又は（Ａ、Ｂ及びＣ）”を意味する。“（Ａ）Ｂ”のフレーズは、“（Ｂ）又は（ＡＢ）”を意味し、即ちＡは任意である。
【００１０】
図１は、本発明の種々の実施形態の概略を示す。図示されたように、サーバー１０４は、要求者１０２からサーチ要求を受け取り、この要求は、求められる結論の形式と、要求者により結論の形式に潜在的に関連するとして選択される１つ以上のクエリー候補パラメータ値とを識別する。要求を受け取ると、サーバー１０４は、パターンマッチング及びサーチ／クエリーロジック１０６（以下、「ロジック１０６」）を呼び出すことができる。ロジック１０６は、結論の形式に関連した複数のパターンに鑑み、クエリー候補パラメータ値をフィルタリングすることにより、クエリー候補パラメータ値の１つ以上を選択することができる。ある実施形態では、ロジック１０６は、選択されたクエリーパラメータ値及びそれに関連した形式でデータベース１０８にクエリーをして、結論形式に関連した１つ以上の結論を決定することができる。サーバー１０４は、次いで、１つ以上の結論、又はそのサブセットを要求者１０２に与えることができる。
【００１１】
図示されたように、要求者１０２及び／又はサーバー１０４の各々は、ロジック１０６及びここに詳細に述べるオペレーションを遂行する他のロジックを除いて、本技術で知られた何らかの種類のコンピューティング装置の１つ以上でよい。要求者１０２及び／又はサーバー１０４の各々は、パーソナルコンピュータ（ＰＣ）、ワークステーション、サーバー、ルーター、メインフレーム、ブレードサーバー又は高密度サーバー内のモジュラーコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、娯楽センター、セットトップボックス、又は移動電話でよい。更に、要求者１０２及び／又はサーバー１０４の各々は、ロジック１０６及びここに詳細に述べるオペレーションを遂行する他のロジックを除いて、本技術で知られた単一又はマルチプロセッサ或いはプロセッサコア中央処理ユニット（ＣＰＵ）コンピューティングシステムでよい。ここに例示する単一／マルチプロセッサ或いはプロセッサコア要求者１０２及び／又はサーバー１０４は、図４に示されており、以下に詳細に説明する。
【００１２】
上述したように、要求者１０２は、特定の結論形式に対しサーバー１０４へサーチ要求を発行する。例えば、要求者１０２は、コンピューティング装置の識別（アイデンティティ）を求める。このような要求者１０２は、「装置識別子」を、求められる結論形式として指定する。
【００１３】
また、要求者１０２は、１つ以上のクエリー候補パラメータ値を要求に含ませることができる。ある実施形態では、要求者１０２は、クエリー候補パラメータ値及びその関連形式の両方を名前／値対のセットとして含ませることができる。例えば、装置識別子を求める要求者１０２は、次のようなクエリーパラメータ形式、即ちトークン、媒体アクセス制御アドレス（ＭＡＣＡ）、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ、ＩＥＩＤ、アカウント識別子（ＡＣＣＴ）、サービスプロバイダー識別子（ＩＳＰ）、都市、地域、国、又はタイムゾーン、に対応する１つ以上のクエリー候補パラメータ値を含ませてもよい。これらの形式のうち、ＭＡＣ−Ａ、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ、ＩＥＩＤは、本技術で既知である。ＡＣＣＴ又はＩＳＰのような形式は、アイデンティティが求められるコンピューティング装置のサービス契約と関連付けられる。都市、地域、国、又はタイムゾーンのような形式は、アイデンティティが求められるコンピューティング装置の位置に関連付けられる。トークンの形式は、アイデンティティが求められるコンピューティング装置をある時点で唯一に識別することのできる装置識別子である。このようなトークンは、２００７年１０月２４日に出願された“Creating and Verifying Globally Unique Device-Specific Identifiers”と題する米国特許出願に詳細に説明されている。
【００１４】
また、ある実施形態では、要求者１０２は、最小重みスレッシュホールド及び最大結論数を要求に含ませることができる。ここに詳細に述べるように、各結論は、重みに関連付けられ、そして要求者１０２は、サーバー１０４から受け取られる結論の数及び／又は質を狭めるためのスレッシュホールドを指定する。又、要求者１０２は、受け取られる結論の数を狭めるために最大結論数を指定することもできる。種々の実施形態において、要求者１０２は、同期プロセスでも、非同期プロセスでもよく、そして要求を発行する際に、サーバー１０４からの応答を待機しても、しなくてもよい。要求を発行した後のある時点で、要求者１０２は、サーバー１０４から、結論の配列体、及びある実施形態では、それらの関連重みを受け取る。
【００１５】
種々の実施形態において、要求者１０２は、サーバー１０４によりオファーされるサービスへの加入者でよく、それ自身、他のエンドユーザコンピューティング装置と対話することができる。ある実施形態では、要求者１０２は、これらのエンドユーザ装置のうちの１つの装置のアイデンティティを求め、当該コンピューティング装置の装置識別子を結論の形式として示し、そしてコンピューティング装置の多数の記述子をクエリーパラメータ値として与えることができる。
【００１６】
ある実施形態では、要求者１０２及びサーバー１０４は、実際には、同じコンピューティング装置に存在してもよく、そしてその装置のサーバー及びクライアントプロセスでよい。他の実施形態では、例示のために全体に述べるように、要求者１０２及びサーバー１０４は、個別のリモート配置されるコンピューティング装置でよい。要求者１０２がサーバー１０４からリモート配置された種々の実施形態では、要求者１０２及びサーバー１０４は、互いに通信接続される。ある実施形態では、要求者１０２及びサーバー１０４は、ネットワークファブリック（図示せず）により接続されてもよい。このようなネットワークファブリックは、本技術で知られているように、ＬＡＮ、ＷＡＮ、及びインターネットの１つ以上を含んでもよい。
【００１７】
図示され、且つ上述したように、サーバー１０４は、パターンを発生し、これらパターンに基づいてフィルタリングを行ってクエリーパラメータ値を選択し、その選択された値でデータベース１０８にクエリーし、そしてクエリーから結論を受け取るためのロジックを含むことができる。サーバー１０４は、上述した１つ以上のコンピューティング装置を備え、そして一実施形態では、ロジック１０６は、サーバー１０４の複数のコンピューティング装置にわたって分散された分布型プロセスでよい。又、ある実施形態では、サーバー１０４は、データベース１０８を含んでもよい。他の実施形態では、データベース１０８は、別のリモート配置されたコンピューティング装置、例えば、データベースサーバーに位置されてもよい。
【００１８】
種々の実施形態において、ロジック１０６は、サーバー１０４に全体的に又は部分的に位置された単一スレッド又はマルチスレッドプロセスでよい。ロジック１０６は、先ず、要求者１０２からのサーチ要求をサーバー１０４が受け取るのに応答して、例えば、ファンクションコールを経て、サーバー１０４により呼び出すことができる。例示的なサーチ要求のコンテンツは、前記で詳細に述べた。ロジック１０６は、このように呼び出されると、最初に、例えば、要求をパーズすることにより、要求に含まれた結論形式を決定することができる。結論形式が決定されると、ロジック１０６は、結論形式に関連したパターンを発生するか、又は結論形式に関連した既に発生されたパターンを検索することができる。
【００１９】
ある実施形態において、ロジック１０６は、結論形式とクエリーパラメータ形式の組合せの１つとの関連性を証明する経歴データに鑑み、結論形式をクエリーパラメータ形式の組合せと統計学的に相関させることにより、複数のパターンを発生することができる。一実施形態では、複数のパターンのうちの各パターンは、１つ以上のクエリーパラメータ形式を含む。クエリーパラメータ形式の組合せは、クエリーパラメータ形式間のある論理的相関に基づいてロジック１０６により形成することができる。例えば、ある位置を記述する全てのパラメータ形式が１つの組合せを形成する。組合せが形成されると、それらは、経歴データに鑑み、結論形式と統計学的に相関される。統計学的データは、ロジック１０６により、データベース１０８から検索されるか、又は結論形式とクエリーパラメータ形式の組合せとの関連性の記述を記憶する他の何らかのリモート又はローカルソースから検索される。例えば、相関は、所定のスレッシュホールドを越える重み値を有する結論形式の結論を既に決定している全ての組合せをパターンとして選択することを含む。これは、単に、多くのパターン発生の中の１つの方法に過ぎない。それに代わって又はそれに加えて、マシン学習ツールやスキーマベースの分析のような多数の他の方法も使用できる。一実施形態では、複数の発生されたパターンは、トークンを含む第１パターン、ＭＡＣＡ及びＷＩＮＤを含む第２パターン、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ及びＩＥＩＤを含む第３パターン、アカウント識別子及びサービスプロバイダー識別子を含む第４パターン、又は都市、国、地域及びタイムゾーンを含む第５パターンの少なくとも１つを含む。
【００２０】
種々の実施形態では、パターンを発生し又は検索すると、ロジック１０６は、それらパターンを使用して、要求に含まれた１つ以上のクエリー候補パラメータ値をフィルタリングし、それらの中から選択を行うことができる。ロジック１０６は、最初に、要求をパーズして、要求がパラメータ形式及び値の両方を名前／値対として含むか、或いはクエリー候補パラメータ値のみを含むか決定することができる。値のみが含まれる場合には、ロジック１０６は、その値を分析して、どの形式がおそらくそれに関連しているか決定することができる。クエリー候補パラメータ値に関連したクエリーパラメータ形式が検索又は決定されると、ロジック１０６は、パターンに鑑み、クエリーパラメータ形式をフィルタリングすることができ、このフィルタリングは、クエリー候補パラメータ値のクエリーパラメータ形式をパターンのクエリーパラメータ形式と交差させて、その交差に対応し且つパターンの全てのクエリーパラメータ形式がクエリー候補パラメータ値のクエリーパラメータ形式と交差すると分かったクエリーパラメータ形式のセットを決定することを含む。図３は、交差及びセット決定のベン図であり、これについて詳細に述べる。
図３に示すように、クエリーパラメータ形式は、パターンの各形式が要求において見つかったところのパターンにそれらが属する場合にセットの一部分であると決定される。いかなるパターンにも交差しない要求のクエリーパラメータ形式は、ある実施形態では、セットに含まれない。ロジック１０６がクエリーパラメータ形式のセットを決定すると、それら形式の名前／値対と、それに関連したクエリー候補パラメータ値とを形成する（形成された名前／値対は、以下「シグネチャー」と称される）。
【００２１】
ある実施形態では、シグネチャーを決定／選択すると、ロジック１０６は、シグネチャー及び結論形式を含むクエリーを発生することができる。次いで、ロジック１０６は、データベース１０８のクエリーを行う。ロジック１０６は、シグネチャーの名前／値対と、データベース１０８により結論に関連付けられた名前／値対との完全な一致についてデータベース１０８にクエリーし、これらの結論(outcome)は、クエリー結果(result)を含む。一実施形態では、各結論に対する重み値も、結果である。種々の実施形態において、クエリーは、シグネチャーの各名前／値対に対する一連のルックアップではなくて、単一の最適なクエリーにおいてルックアップを行うオラクル(Oracle)ＤＢＭＳ実行プランを使用してロジック１０６により効率的に遂行することができる。これを遂行するため、ロジック１０６は、シグネチャーを、予めセットされたディクショナリー統計データと共にグローバルな一時的テーブルに記憶し、そしてＮＯ＿ＨＡＳＨヒントを利用して性能上直接ルックアップと同等の実行プランを生じさせるクエリーを使用することができる。種々の実施形態において、クエリーは、この技術で知られたクエリー言語、例えば、ＳＱＬを使用して形成することができる。他の実施形態では、クエリー自身を発生するのではなく、ロジック１０６を経て、サーバー１０４は、別のコンピューティング装置へシグネチャーを与えて、クエリーを公式化することができる。
【００２２】
データベース１０８がサーバー１０４からリモート配置された一実施形態では、サーバー１０４及びデータベース１０８は、互いに通信結合される。ある実施形態では、サーバー１０４及びデータベース１０８は、ネットワークファブリック（図示せず）により接続される。このようなネットワークファブリックは、本技術で知られたように、ＬＡＮ、ＷＡＮ及びインターネットの１つ以上を含んでもよい。
【００２３】
図示されたように、ロジック１０６は、クエリーを行った後のある時点で、データベース１０８から複数の結論をクエリー結果として受け取る。上述したように、クエリー結果は、更に、各結論に対する重み値を含む。結論に対する重み値が含まれる場合に、ロジック１０６は、いずれかの結論が同一であるかどうか決定する。重み値が８の第１の結論デバイス１、及び重み値が２４の第２の結論デバイス１のような同一の結論に対して、ロジック１０６は、重み値を累積／総計し、総計された重み値をもつ１つの合成された結論、例えば、重み値が３２の合成された結論デバイス１に達する。一実施形態では、累積／総計は、重み値を加算することを含み、そして総計された重み値は、合計重み値を含む。
【００２４】
ロジック１０６は、次いで、サーチ要求を検査して、要求が重みスレッシュホールド又は最大結論数を指定したかどうか決定する。ある実施形態において、スレッシュホールド又は最大値が指定されない場合は、ロジック１０６は、クエリー結果で受け取られた全ての結論（及びもしその結果に含まれていれば、それらの重み値）を要求者１０２に単に与えるだけである。他の実施形態では、ロジック１０６は、デフォールトスレッシュホールド及びデフォールト最大結論数を使用し、そしてサーチ要求がスレッシュホールド及び最大値を指定した場合と同様に動作することができる。
【００２５】
種々の実施形態において、ロジック１０６は、結論／合成結論の重み値／総計重み値を、デフォールトにより指定され又は与えられた重みスレッシュホールドと比較するように進む。第１の実施形態では、重み値がスレッシュホールドより小さい結論は、サーチ結果に含まれない。第２の実施形態では、重み値がスレッシュホールドより大きい結論は、サーチ結果に含まれない。例えば、スレッシュホールドが１２の場合、第１の実施形態では重みが３２の上述した合成結論が含まれる。次いで、ロジック１０６は、残りの結論の数が、デフォールトにより指定され又は与えられた最大数を越えるかどうか決定する。最大数を越える場合には、ロジック１０６は、一実施形態において、最低の重み値をもつ結論の数をサーチ結果に含ませず、その数は、残りの結論の数と最大数との差に等しく、そして「最低」と考えられるものは、実施形態ごとに変化する。別の実施形態では、最高の重み値をもつ結論の数が含まれず、「最高」と考えられるものは、実施形態ごとに変化する。スレッシュホールド及び／又は最大数に基づいて結論を減少した後に、ロジック１０６は、上述したように、残りの結論及びそれらの重み値を結論／重み値対の配列体として与えることができる。
【００２６】
図示されたように、データベース１０８は、その内部構造（例えば、テーブル）及びデータを除くと、本技術で知られた任意の種類のデータベースでよい。データベース１０８は、関係データベース、正規化データベース、非正規化データベース、又はファイルでよい。種々の実施形態において、データベース１０８は、複数の結論形式に対して複数の結論を記憶することができる。又、データベース１０８は、結論をクエリーパラメータ値に関連付ける１つ以上のテーブルを含んでもよく、列における結論は、結論形式により指定され、そして列におけるクエリーパラメータ値は、クエリーパラメータ形式により指定される。データベース１０８は、更に、ロジック１０６の上述したオペレーションを容易にするために必要なデータを含む複数の他のテーブルであって、ロジック１０６により公式化されるクエリーに対する結果を与えることのできるテーブルを備えてもよい。又、一実施形態では、データベース１０８は、ロジック１０６が複数のパターンを発生するのを容易にするために上述した経歴データを記憶してもよい。
【００２７】
図２は、種々の実施形態による選択されたオペレーションのフローチャートである。図示されたように、サーチサーバー１０４のようなコンピューティング装置は、ブロック２０２において、サーチ要求を受け取り、このサーチ要求は、結論形式及び１つ以上のクエリー候補パラメータ値を指定する。ある実施形態では、コンピューティング装置は、次いで（又は上述したように事前に）、ブロック２０４において、複数のパターンを発生し、これは、結論形式とクエリーパラメータ形式の組合せの１つとの関連性を証明する経歴データに鑑み、結論形式をクエリーパラメータ形式の組合せと統計学的に相関させることによって行われる。一実施形態では、複数のパターンのうちの各パターンは、１つ以上のクエリーパラメータ形式を含む。複数のパターンは、トークンを含む第１パターン、ＭＡＣＡ及びＷＩＮＤを含む第２パターン、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ及びＩＥＩＤを含む第３パターン、アカウント識別子及びサービスプロバイダー識別子を含む第４パターン、又は都市、国、地域及びタイムゾーンを含む第５パターン、の少なくとも１つを含む。
【００２８】
種々の実施形態において、コンピューティング装置は、次いで、ブロック２０６において、結論形式に関連した複数のパターンに鑑み、クエリー候補パラメータ値をフィルタリングすることによりクエリー候補パラメータ値の幾つか又は全部を選択し、その選択されたクエリーパラメータ値でのデータベースのクエリーを容易にすることができる。ある実施形態では、このフィルタリングは、クエリー候補パラメータ値のクエリーパラメータ形式をパターンのクエリーパラメータ形式と交差(intersect)させて、その交差に対応し且つパターンの全てのクエリーパラメータ形式がクエリー候補パラメータ値のクエリーパラメータ形式と交差すると分かったクエリーパラメータ形式のセットを決定することを含み、そして選択は、その決定されたセットのクエリーパラメータ形式に関連したクエリー候補パラメータ値を選択することを含む。
【００２９】
図示されたように、コンピューティング装置は、次いで、ブロック２０８において、その選択されたクエリーパラメータ値及びそれに関連した形式でデータベースにクエリーし、結論形式に関連した１つ以上の結論を決定する。それに応答して、コンピューティング装置は、ブロック２１０において、その選択されたクエリーパラメータ値の各々に対する結論、及び各結論に対する関連重み値を受け取り、そしてブロック２１２において、同一の結論の重み値を総計することができる。ある実施形態では、コンピューティング装置は、次いで、ブロック２１４において、サーチ要求に対する応答を与え、この応答は、せいぜい、最大結論数を含み、且つ所定のスレッシュホールドより大きさが大きい重み値をもつ結論のみを含み、その最大数及び所定のスレッシュホールドは、サーチ要求において指定される。
【００３０】
図３は、種々の実施形態によるパターンマッチングオペレーションを表すベン図である。図示されたように、複数のパターンが、受け取られたサーチ要求に与えられた候補値に関連したクエリーパラメータ形式と交差される。この図において、サーチ要求は、最も大きな円で表わされ、そしてパターンは、各々、他の円の１つで表わされる。各パターンは、１つ以上のクエリーパラメータ形式を含む。例えば、図示されたパターンは、トークンを含む第１パターン、ＭＡＣＡ及びＷＩＮＤを含む第２パターン、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ及びＩＥＩＤを含む第３パターン、アカウント識別子（ＡＣＣＴ）及びサービスプロバイダー識別子（ＩＳＰ）を含む第４パターン、又は都市及びＤＷＺＬを含む第５パターンを含む。図示されたサーチ要求は、例えば、要求の候補値に対応する次のようなクエリーパラメータ形式、即ちトークン、ＭＡＣＡ、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ、ＩＥＩＤ、ＩＳＰ、地域、及びＷＭＰＬを含む。上述したように、サーバー１０４は、パターン及びクエリーパラメータ形式を交差させ、その交差に対応し且つパターンの全てのクエリーパラメータ形式が候補値のクエリーパラメータ形式と交差すると分かったクエリーパラメータ形式のセットを決定することができる。図３において、そのセットは、例えば、トークン、ＭＡＣＡ、ＷＩＮＤ、ＷＰＩＤ、ＨＤＩＤ、ＩＥＩＤ形式を含む。ＩＳＰ形式は、パターンのクエリーパラメータ形式に交差するが、そのパターンの他の形式であるＡＣＣＴは、サーチ要求に関連したクエリーパラメータ形式と交差しない。従って、ＩＳＰ形式は、セットに含まれない。上述したように、決定されたセットのクエリーパラメータ形式に関連したクエリー候補パラメータ値は、次いで、データベース１０８のクエリーにおいてサーバー１０４により利用される。
【００３１】
図４は、種々の実施形態により、本発明の実施に使用するのに適したコンピュータシステムを例示するブロック図である。図示されたように、コンピューティングシステム４００は、１つ以上のプロセッサ又はプロセッサコア４０２と、システムメモリ４０４とを備えている。特許請求の範囲を含む本出願の目的上、「プロセッサ」及び「プロセッサコア」という語は、特に明確な指示のない限り、同義と考えることができる。更に、コンピューティングシステム４００は、大量記憶装置４０６（例えば、ディスケット、ハードドライブ、コンパクトディスクリードオンリメモリ（ＣＤＲＯＭ）等）、入力／出力装置４０８（例えば、キーボード、カーソルコントロール等）、及び通信インターフェイス４１０（例えば、ネットワークインターフェイスカード、モデム等）を含む。これらの要素は、１つ以上のバスを表すシステムバス４１２を経て互いに結合される。複数のバスの場合に、それらは、１つ以上のバスブリッジ（図示せず）でブリッジされる。
【００３２】
これらの要素の各々は、本技術で知られた従来のファンクションを遂行する。特に、システムメモリ４０４及び大量記憶装置４０６は、ここに集合的に４２２と示された上述したファンクションの全部又は一部分を具現化するプログラミングインストラクションのワーキングコピー及び永久的コピーを記憶するのに使用される。インストラクション４２２は、プロセッサ（１つ又は複数）４０２によりサポートされるアセンブラインストラクションでもよいし、又はＣ言語のような高レベル言語からコンパイルできるインストラクションでもよい。
【００３３】
プログラミングインストラクションの永久的コピーは、例えば、コンパクトディスク（ＣＤ）のような配布媒体（図示せず）を通して、又は（配布サーバー（図示せず）から）通信インターフェイス４１０を通して、工場又は現場で、永久記憶装置４０６に入れることができる。即ち、インストラクション４２２を有する１つ以上の配布媒体は、インストラクション４２２を配布し種々のコンピューティング装置をプログラムするのに使用できる。
【００３４】
これらの要素４０２−４１２の構造は既知であり、従って、詳細に説明しない。
【００３５】
本発明の実施形態（図示せず）において、製造物品を使用して、ここに開示した１つ以上の方法を具現化することができる。例えば、例示のための実施形態では、製造物品は、記憶媒体と、この記憶媒体に記憶され、装置がサーチ要求を受け取れるように装置をプログラムするための複数のプログラミングインストラクションとを備え、サーチ要求は、結論形式と、１つ以上のクエリー候補パラメータ値とを指定する。これら実施形態の種々の１つにおいて、プログラミングインストラクションは、結論形式に関連した複数のパターンに鑑み、１つ以上のクエリー候補パラメータ値をフィルタリングすることにより、クエリーパラメータ値を選択するようにされる。種々の実施形態において、プログラミングインストラクションは、その選択されたクエリーパラメータ値でデータベースにクエリーし、１つ以上の結論を決定するようにされる。
【００３６】
特定の実施形態を図示して説明したが、当業者であれば、本発明の範囲から逸脱せずに、種々様々な別の及び／又は等価な具現化を、図示して説明した特定の実施形態に置き換え得ることが明らかであろう。又、当業者であれば、種々様々な実施形態において本発明を具現化でき、又はそこから拡張できることも容易に明らかであろう。本出願は、ここに述べた実施形態のいかなる適応又は変形も網羅することが意図される。それ故、本発明は、特許請求の範囲及びその均等物のみによって限定されることが明確に意図される。
【符号の説明】
【００３７】
１０２：要求者
１０４：サーバー
１０６：パターン／サーチロジック
１０８：データベース
４０２：プロセッサ
４０４：システムメモリ
４０６：大量記憶装置
４０８：Ｉ／Ｏ装置
４１０：通信インターフェイス
４２２：動作ロジック
【図１】
2010518465.tif 000003
【図２】
2010518465.tif 000004
【図３】
2010518465.tif 000005
【図４】
2010518465.tif 000006
【国際調査報告】
2010518465.tif 000007