(57)【要約】【課題】  ネポティスティックリンクの影響を受け難いように、ハイパーリンク情報に基づいてウェブページをランク付けするシステムおよび方法を提供する。【解決手段】  良質の問合せ結果を返すウェブ検索サービスが提供される。ターゲットページのスコアをつり上げるだけの目的で人為的に生成されるウェブページに対する、ＰａｇｅＲａｎｋ等の従来のランク付けアルゴリズムの脆弱性が解決される。直観的には、ランダムジャンプをすると、少数のページを有するウェブサーバ上で特定のページに到達するよりも多数のページを有するウェブサーバ上で特定のページに到達するほうが可能性が低い。即ち後者のようなページが他のページにリンク（他のページを推奨）することによって、当該他のページに及ぼす影響のほうが低い。そこで各ウェブページではなく各ウェブサーバに最低保証スコアを割り当て、そのウェブサーバ上のすべてのページ間で分配する。【選択図】  図３Ｇ
2005092881.tif 000002
【特許請求の範囲】
【請求項１】
複数の構造的にリンクされた文書のうちの１つの文書にスコアを割り当てる方法において、該文書は、（Ａ）同じシンボリックホスト名を有する複数のウェブページを含むサーバ、（Ｂ）同じドメインに関連する複数のウェブページを含むサーバ、および（Ｃ）同じＩＰアドレスに関連する複数のウェブページを有するサーバ、のうちの少なくとも１つによって定義されるウェブサーバ上に位置し、該文書は、いずれに位置する場合であれ、前記複数の構造的にリンクされた文書のうちの少なくとも１つの他の文書からの少なくとも１つのバックリンクを有し、
前記ウェブサーバ上に位置する文書の数に反比例するスコアを前記文書に割り当てる
ことを特徴とする文書にスコアを割り当てる方法。
【請求項２】
前記少なくとも１つの他の文書の数に比例するスコアを前記文書に割り当てる
ことをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記少なくとも１つの他の文書のうちの少なくとも１つに割り当てられた少なくとも１つのスコアに比例するスコアを割り当てる
ことをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
（Ａ）前記少なくとも１つの他の文書の数、および（Ｂ）前記少なくとも１つの他の文書のうちの少なくとも１つに割り当てられた少なくとも１つのスコア、に比例するスコアを割り当てる
ことをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記少なくとも１つの他の文書のうちの少なくとも１つの文書のアウトリンク（outlinks）の数に反比例するスコアを前記文書に割り当てる
ことをさらに含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記割り当てることが、前記文書と同じドメインに位置する文書の数に反比例するスコアを前記文書に割り当てることを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記割り当てることが、前記文書と同じシンボリックホスト名を有する文書の数に反比例するスコアを前記文書に割り当てることを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記割り当てることが、前記文書と同じインターネットプロトコル（ＩＰ）アドレスに関連する文書の数に反比例するスコアを前記文書に割り当てることを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記第１の文書にリンクしている前記少なくとも１つの他の文書のスコアの合計を取ることに基づくスコアを前記文書に割り当てる
ことをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記複数の構造的にリンクされた文書が、ハイパーリンクを有するウェブページであり、前記文書がウェブページであることを特徴とする請求項１に記載の方法。
【請求項１１】
ウェブ検索サービスのコンポーネントに前記文書のスコアを出力することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】
好ましい文書の集合に、平均最低スコアよりも高いスコアを割り当てることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記好ましい文書の集合が、ニールセン視聴率、人間により割り当てられた格付け、ＩＳＰプロキシログから抽出されたウェブページ利用パターン、検索エンジンから抽出されたウェブページ利用パターン、およびユーザ選好に従って指定された文書の少なくとも１つに基づくことを特徴とする請求項１２に記載の方法。
【請求項１４】
第２のスコアリング技法に基づいて前記文書のスコアを変更することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１５】
異常な結果を発見するために前記スコアを第２のスコアリング技法と比較することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１６】
請求項１に記載の方法を実施するためのコンピュータ実行可能命令を有するコンピュータ実行可能モジュールを備えたことを特徴とするアプリケーションプログラミングインタフェース。
【請求項１７】
請求項１に記載の方法を実施する手段を備えたことを特徴とするコンピューティングデバイス。
【請求項１８】
請求項１に記載の方法を実行するためのコンピュータ実行可能命令を伝えることを特徴とする変調データ信号。
【請求項１９】
複数の構造的にリンクされた文書のうちの１つの文書にスコアを割り当てる方法において、該文書は、（Ａ）同じシンボリックホスト名を有する複数のウェブページを含むサーバ、（Ｂ）同じドメインに関連する複数のウェブページを含むサーバ、および（Ｃ）同じＩＰアドレスに関連する複数のウェブページを有するサーバ、のうちの少なくとも１つによって定義されるウェブサーバ上に位置し、該文書は、前記複数の構造的にリンクされた文書のうちの少なくとも１つのソース文書からの少なくとも１つのバックリンクを有し、前記文書のスコアが、前記少なくとも１つのソース文書のうちの少なくとも１つに関連する少なくとも１つのスコアに比例して計算され、前記スコアが、前記ウェブサーバ上に位置する前記少なくとも１つのソース文書の数に反比例して計算される
ことを特徴とする文書にスコアを割り当てる方法。
【請求項２０】
前記スコアが、同じウェブサーバ上に位置する前記少なくとも１つのソース文書の数に反比例して計算されることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記スコアが、同じシンボリックホスト名を有する前記少なくとも１つのソース文書の数に反比例して計算されることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記スコアが、同じドメインに関連する前記少なくとも１つのソース文書の数に反比例して計算されることを特徴とする請求項２０に記載の方法。
【請求項２３】
前記スコアが、同じインターネットプロトコル（ＩＰ）アドレスに関連する前記少なくとも１つのソース文書の数に反比例して計算されることを特徴とする請求項２０に記載の方法。
【請求項２４】
前記複数の構造的にリンクされた文書が、ハイパーリンクを有するウェブページであり、前記文書がウェブページであることを特徴とする請求項１９に記載の方法。
【請求項２５】
請求項１９に記載の方法を実施するためのコンピュータ実行可能命令を有するコンピュータ実行可能モジュールを備えたことを特徴とするアプリケーションプログラミングインタフェース。
【請求項２６】
請求項１９に記載の方法を実施する手段を備えたことを特徴とするコンピューティングデバイス。
【請求項２７】
請求項１９に記載の方法を実行するためのコンピュータ実行可能命令を伝えることを特徴とする変調データ信号。
【請求項２８】
問合せ要求に基づいてウェブページ情報および関連するスコアのデータベースに問い合わせる問合せメカニズムを備えた検索エンジンとともに使用するためのアプリケーションプログラミングインタフェースであって、それによって、該データベースから取得された結果が各結果に関連するスコアによって順序付けられ、該スコアが前記問合せを満たすウェブページの品質を反映する、アプリケーションプログラミングインタフェースと、
前記ウェブページ情報に関連するスコアを生成するスコアリングオブジェクトであって、少なくとも１つの対応するソースウェブページへの少なくとも１つのバックリンクを有するウェブページに対して、該スコアリングオブジェクトが、該少なくとも１つの対応するソースウェブページのうちの少なくとも１つに関連する少なくとも１つのスコアに比例するスコアを該ウェブページに割り当て、該スコアが、同じウェブサーバ上に位置する前記少なくとも１つの対応するソースウェブページの数に反比例して計算される、スコアリングオブジェクトと
を備えたことを特徴とするサーバオブジェクト。
【請求項２９】
前記スコアリングオブジェクトが、前記問合せメカニズムとは独立に動作することを特徴とする請求項２８に記載のサーバオブジェクト。
【請求項３０】
ウェブサーバが、共通のシンボリックホスト名に基づいて定義されることを特徴とする請求項２８に記載のサーバオブジェクト。
【請求項３１】
ウェブサーバが、共通ドメインに基づいて定義されることを特徴とする請求項２８に記載のサーバオブジェクト。
【請求項３２】
ウェブサーバが、共通のインターネットプロトコル（ＩＰ）アドレスに基づいて定義されることを特徴とする請求項２８に記載のサーバオブジェクト。
【請求項３３】
複数の構造的にリンクされた文書のうちの１つの文書にスコアを割り当てるためのコンピュータ実行可能命令を含むコンピュータ実行可能モジュールを備えたコンピュータ可読媒体において、該文書は、ウェブサーバ上に位置し、前記複数の構造的にリンクされた文書のうちの少なくとも１つの他の文書からの少なくとも１つのバックリンクを有し、該モジュールが、
前記ウェブサーバ上に位置する文書の数に反比例するスコアを前記文書に割り当てる手段
を備えたことを特徴とするコンピュータ可読媒体。
【請求項３４】
前記少なくとも１つの他の文書の数に比例するスコアを前記文書に割り当てる手段
をさらに含むことを特徴とする請求項３３に記載のコンピュータ可読媒体。
【請求項３５】
前記少なくとも１つの他の文書のうちの少なくとも１つに割り当てられた少なくとも１つのスコアに比例するスコアを割り当てる手段
をさらに含むことを特徴とする請求項３３に記載のコンピュータ可読媒体。
【請求項３６】
（Ａ）前記少なくとも１つの他の文書の数、および（Ｂ）前記少なくとも１つの他の文書のうちの少なくとも１つに割り当てられた少なくとも１つのスコア、に比例するスコアを割り当てる手段
をさらに含むことを特徴とする請求項３３に記載のコンピュータ可読媒体。
【請求項３７】
前記少なくとも１つの他の文書のうちの少なくとも１つの文書のアウトリンクの数に反比例するスコアを前記文書に割り当てる手段
をさらに含むことを特徴とする請求項３４に記載のコンピュータ可読媒体。
【請求項３８】
前記割り当てる手段が、前記文書と同じシンボリックホスト名を有するウェブサーバ上に位置する文書の数に反比例するスコアを前記文書に割り当てる手段を含むことを特徴とする請求項３３に記載のコンピュータ可読媒体。
【請求項３９】
前記割り当てる手段が、前記文書と同じドメインに位置する文書の数に反比例するスコアを前記文書に割り当てる手段を含むことを特徴とする請求項３３に記載のコンピュータ可読媒体。
【請求項４０】
前記割り当てる手段が、前記文書と同じインターネットプロトコル（ＩＰ）アドレスに関連する文書の数に反比例するスコアを前記文書に割り当てる手段を含むことを特徴とする請求項３３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造的に相互関係のある情報に基づく文書のランク付けに関する。特に、本発明は、縁故主義的な(nepotistic)、つまり利己的な（self−serving）リンクに抵抗し、その影響を受け難くしたやり方での、ハイパーリンク情報に基づくウェブページのランク付けに関する。
【背景技術】
【０００２】
ウェブ検索サービスは、例えばユーザまたはアプリケーションから問合せを受け付け、その問合せを満たす結果（例えば文書または文書へのリンク）のリストを返す。なお、本明細書で使用される場合の「文書」という用語は、検索することができる任意のコンテンツを指し、ワードプロセッサ文書やウェブページのようなファイルに限定されるものと解釈されてはならない。満足できる見聞を提供するため、この結果リストは、ユーザに最も関連性のある文書が最初に現れるべきであることを考慮して順序付けられるべきである。現在、文書をランク付けするための多数のアルゴリズムが存在し、ほとんどのウェブ検索エンジンは、このようなアルゴリズムのいくつかを使用して、さまざまなランク付けアルゴリズムによって割り当てられたランクの組合せに基づいて問合せの結果をランク付けしている。
【０００３】
従来の多数のランク付けアルゴリズムは、問合せ依存型（動的ともいう）または問合せ非依存型（静的ともいう）のいずれであるかに基づいて分類することができる。問合せ依存型ランク付けアルゴリズムは問合せ中の用語を使用するが、問合せ非依存型ランク付けアルゴリズムは問合せ中の用語を使用しない。すなわち、問合せ非依存型ランク付けアルゴリズムはウェブ上の各文書に品質スコア（得点）を割り当てる。したがって、問合せ非依存型ランク付けアルゴリズムは、前もって都合よく実行することができ、問合せが提出されるたびに再実行する必要がない。  
【０００４】
ランク付けアルゴリズムは、コンテンツベース、使用量ベース、およびリンクベースの各ランク付けアルゴリズムに大別することもできる。コンテンツベースのランク付けアルゴリズムは、文書中の単語を用いて文書をランク付けする（例えば、問合せ依存型コンテンツベースランク付けアルゴリズムでは、文書の前の方に、または大きいフォントや太字のフォントで、問合せ用語を含む文書に、より高いスコアを与えるであろう）。使用量ベースのランク付けアルゴリズムは、ウェブページが何回閲覧されたかの見積値に基づいてウェブページをランク付けする。このような見積値は、ウェブプロキシログ（Web proxy logs）を調べることによって、または検索エンジンの結果ページでのクリックスルー(click-throughs)を監視することによって、生成することができる。最後に、リンクベースのランク付けアルゴリズムは、ウェブページ間のハイパーリンクを用いてウェブページをランク付けする。
【０００５】
例えば、非常に単純な静的リンクベースランク付けアルゴリズムでは、あるページを指している他のページからのリンクはそのページを「推奨(endorse)」していると考えて、各ウェブページに、そのページを指しているリンク（「バックリンク(backlink)」）の数に比例するスコアを割り当てるであろう。例えば、図１Ａに示すように、ウェブページＡ、Ｂ、ＣおよびＤがそれぞれ、ウェブページ内の黒い矩形で表されているように、他のウェブページへの３個のリンク（「アウトリンク(outlink)」）を含むとする。この例では、静的リンクベースランク付けアルゴリズムを用いると、ページＤはページＣよりも低いスコアを受ける。というのは、ページＤにはバックリンクがないのに対して、ページＣはページＢからの１個のバックリンクＬ２およびページＡからの１個のバックリンクＬ１を有するからである。なお、ページＡ、Ｂ、ＣおよびＤをダウンロードしてしまえば、それぞれが何個のアウトリンクを有するか、およびそれらがどこへリンクしているかは、そのページを読むことができるので確定的であるが、アルゴリズムにおいて考慮に入れることができない未知のロケーション（記憶場所）からの、例えばバックリンクＬＵのような未知のバックリンクがまだ存在する可能性がある。この単純な手法の主たる欠点は、それぞれの「推奨（endorsement）」が同等に扱われることであるが、このことはこの手法を利用しやすいシステムにしている。
【０００６】
ＰａｇｅＲａｎｋ（ページランク）は、群を抜いて、最もよく知られている問合せ非依存リンクベースランク付けアルゴリズムであるので、その原理を本明細書に記載する。ＰａｇｅＲａｎｋは、図１Ａの素朴な静的リンクベースシステムの原理を基に、システムに再帰的レイヤを追加することによって作られている。図１Ｂに示すように、４個のウェブページが例示され、ＰａｇｅＲａｎｋが直観的に示されている。ＰａｇｅＲａｎｋでは、推奨される側のページ（被推奨側ページ）にスコアを割り当てる際に、推奨する側のページ（推奨側ページ）のスコアが考慮に入れられる。したがって、ウェブページＧに与えられるスコアに対して、ウェブページＥ（そのスコアは１００）からの推奨の重みのほうが、ウェブページＦ（そのスコアは９）からの推奨よりもはるかに大きい影響を及ぼす。直観的には、推奨側ページのスコアが、その被推奨側の間に分割されると考えることができる。
【０００７】
数学的には、ＰａｇｅＲａｎｋアルゴリズムの直観的概念は次のように説明することができる。既知のウェブページの集合およびそれらの間のリンクが、頂点集合Ｖ（各頂点がウェブページに対応する）および辺集合Ｅ（各辺（ｕ，ｖ）がページｕからページｖへのハイパーリンクに対応する）を有するグラフを引き起こすと仮定する。｜Ｖ｜で集合Ｖのサイズを表し、Ｏ（ｕ）で頂点ｕの出次数（すなわち、ウェブページｕに埋め込まれているハイパーリンクの数）を表し、ｐで０と１の間の数（例えば０．１５）を表す。ウェブページｖのＰａｇｅＲａｎｋ Ｒ（ｖ）は次のように定義される。
【０００８】
【数１】
2005092881.tif 000003
【０００９】
ＰａｇｅＲａｎｋ公式は、次のように説明されることが多い。ウェブ上でランダムウォーク（迷い歩き）しているウェブサーファを考える。ウォークにおける各ステップごとに、サーファは、次のアルゴリズムを用いて、あるウェブページから別のウェブページへ移動する：ある確率ｐで、サーファは一様ランダムにウェブページを選択してそこへジャンプする；それ以外の場合、サーファは現在のページ内の出ハイパーリンクのうちの１つを一様ランダムに選択してそれをたどる。この比喩のため、数ｐは「ジャンプ確率」（すなわち、サーファが完全にランダムなページにジャンプする確率）と呼ばれることがある。ウェブサーファが確率ｐでジャンプし、｜Ｖ｜個のウェブページがある場合、ある特定のページにジャンプする確率はｐ／｜Ｖ｜である。ジャンプによっていずれかのページに到達することができるので、各ページには少なくともｐ／｜Ｖ｜のスコアが保証される。
【００１０】
ＰａｇｅＲａｎｋスコアは、問合せ結果をランク付けするために用いることができる。他のすべてのファクタが同一である場合、ＰａｇｅＲａｎｋを用いた検索エンジンは、ＰａｇｅＲａｎｋスコアの低いページよりもＰａｇｅＲａｎｋスコアの高いページの方を上位にランク付けする。検索エンジンのほとんどのユーザは最初のいくつかの結果しか調べないので、商用ウェブサイトの運営者は、自分のサイトへのリンクが結果リストの前のほうに現れること、すなわち自分のウェブページが高いＰａｇｅＲａｎｋスコアを受けることに利害関係がある。すなわち、商用ウェブサイト運営者には、自分のウェブサイト上のページのＰａｇｅＲａｎｋスコアを人為的に上げようとする動機付けがある。
【００１１】
ＰａｇｅＲａｎｋ公式を解析することにより、ウェブページｖのＰａｇｅＲａｎｋスコアを上げる１つの方法として、多くの他のページをそのページにリンクさせればよいことが明らかとなる。この理由は、ウェブページが自分のアウトリンクを通じて他のウェブページを推奨することができるという考え方がＰａｇｅＲａｎｋの核心にあるからである。ｖにリンクしているすべてのページが低いＰａｇｅＲａｎｋスコアを有する場合、それぞれの個々のページはわずかしか寄与しないであろう。しかし、あらゆるページが最低限のＰａｇｅＲａｎｋスコアとしてｐ／｜Ｖ｜を有することが保証されているので、多くのこのような低品質のページからのリンクであっても、合計はかなりの寄与になることがある。これは、ＰａｇｅＲａｎｋアルゴリズムの脆弱性を露呈する。
【００１２】
実際、ＰａｇｅＲａｎｋのこの脆弱性は、自分のメインホームページを「推奨」することのみを目的とする非常に多数のページを含むウェブサイトによって活用されている。通常、これらの推奨側ページは、推奨されるページへのリンクと、別の推奨側ページへの別のリンクとを含む。すべての推奨側ページはオンザフライで自動的に作成される。したがって、ウェブクローラ（Ｗｅｂページ巡回プログラム）が、たまたまいずれかの推奨側ページに遭遇すると、（推奨側ページが他の推奨側ページにリンクしているので）さらに多くの推奨側ページをダウンロードし続けることにより、それらのページを多数蓄積することになる。この多数のページは、すべて単一のページを推奨しているので、推奨されているページのＰａｇｅＲａｎｋスコアを人為的につり上げる。ＰａｇｅＲａｎｋスコアを人為的につり上げるために用いられる技法は、俗に「リンクスパミング(link spamming)」あるいは「リンクスパム(link spam)」と呼ばれている。
【００１３】
また、個別化（パーソナライズ）されたＰａｇｅＲａｎｋスコアが、特定の観点からのウェブの一覧（view）を作り出すことができることも知られている。例えば、ユーザのブックマークを取り、ユーザのブックマーク内にあるページのＰａｇｅＲａｎｋスコアをつり上げることにより、個別化されたＰａｇｅＲａｎｋスコアリングシステムが実現される。本質的に、あるウェブページをブックマークとして指定しているユーザは、そのウェブページを、スコアリングシステムが基準にしてほしいウェブページとして暗黙のうちに推奨している。ユーザが「リンクスパム」ページをブックマークとして選択することはまれであり、まして多数の「リンクスパム」ページを選択することはないが、個別化されたＰａｇｅＲａｎｋの考え方は、リンクスパミングの問題に明示的に対処するものではない。というのは、各リンクスパムウェブページに関連する最低スコアが依然として存在するからである。
【００１４】
したがって、その基本的考え方は正しいが、ＰａｇｅＲａｎｋの結果は、ネポティスティックリンク（縁故主義のリンク）により導入される妨害を受けやすい。すなわち、推奨側や被推奨側の真の価値を考慮せずに、自己推奨および昇格の目的の一群のページを作成されてしまうことがあり得る。ＰａｇｅＲａｎｋスコアに関してリンクスパムの問題が存在することは既知であるが、当技術分野においてその解決法はいまだ見出されていない。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
したがって、問合せ非依存でリンクベースのランク付けアルゴリズムの改善が必要とされている。より具体的には、ネポティスティックリンクの影響を大幅に低減する改善されたランク付けのシステムおよび方法が必要とされている。さらに、ターゲットとなる被推奨側ウェブページに関連するＰａｇｅＲａｎｋスコアを人為的につり上げる目的で一群の自己推奨ウェブページを作成しようとするリンクスパマ(link spammer)のやる気を低減する改善されたランク付けのシステムおよび方法が必要とされている。
【課題を解決するための手段】
【００１６】
従来技術の上述の確認された短所に鑑みて、本発明は、文書の構造的相互関係に関する情報に基づいて文書をランク付けするシステムおよび方法を提供する。本発明のシステムおよび方法は、ネポティスティックリンクの影響を受けにくいように、ハイパーリンク情報に基づいてウェブページをランク付けするために用いることができる。種々の実施形態では、本発明は、良質の問合せ結果を返すためのウェブ検索サービスにおいて実施される。本発明は、ターゲットページのスコア（得点）をつり上げるだけの目的で人為的に生成されるウェブページに対する、ＰａｇｅＲａｎｋ等の従来のランク付けアルゴリズムの脆弱性を解決する。直観的には、本発明は、ランダムジャンプをすると、少数のページを有するウェブサーバ上で特定のページに到達するよりも、多数のページを有するウェブサーバ上で特定のページに到達するほうが、その可能性が低いということを認識している。このことは、そのようなページが他のページにリンクする（すなわち他のページを推奨する）ことによって当該他のページに及ぼす影響が低いことを意味する。したがって、種々の非限定的実施形態では、本発明は、各ウェブページではなく各ウェブサーバに最低保証スコア（guaranteed minimum score）を割り当てる。そして、サーバに割り当てられるこの最低スコアを、そのウェブサーバ上のすべてのページ間で分割することができる。
【００１７】
本発明の他の利点および特徴は以下に記載される。
本発明による改善されたランク付けアルゴリズムを提供するシステムおよび方法は、添付図面を参照してさらに説明される。
【発明を実施するための最良の形態】
【００１８】
［概要］
前述のように、ＰａｇｅＲａｎｋアルゴリズムは、ウェブ上のあらゆるページを一つの数字、すなわちそのページのＰａｇｅＲａｎｋに凝縮するという大胆な仕事を引き受けている。ＰａｇｅＲａｎｋは、すべてのウェブページについて、それらの内容とは無関係に、ウェブのグラフ構造におけるその位置のみに基づいて決まるグローバル（広範囲）なランキングである。
【００１９】
ＰａｇｅＲａｎｋを用いると、検索結果は、より重要で中心的なウェブページほど優先されるように順序付けられる。ＰａｇｅＲａｎｋの背後にある直観的概念は、ウェブページ自体の外部にある情報、すなわちそれらのバックリンクを使用することである。バックリンクは、一種のピアレビューを提供する。さらに、再帰的定義により、「重要」なページからのバックリンクは、平均的リンクからのバックリンクよりも有意義であるとみなされる。
【００２０】
また、個別化されたＰａｇｅＲａｎｋスコアが、特定の観点からウェブの一覧を作り出すことができることも知られている。これは、例えば、ユーザのブックマークを取り、ユーザのブックマーク内にあるページのＰａｇｅＲａｎｋスコアをつり上げることにより行われる。しかし、個別化されたＰａｇｅＲａｎｋは、リンクスパミングの問題に明示的に対処するものではない。というのは、各リンクスパムウェブページに関連する最低スコアが依然として存在するからである。したがって、リンクスパマは依然として、単一のウェブサーバ上で、それぞれが自己の最低ＰａｇｅＲａｎｋスコアを有する多数のウェブページを（必要であれば自動的に）作成することができ、それらのページが、互いを、およびターゲット被推奨側ウェブページを推奨することによって、ターゲット被推奨側ウェブページのスコアを人為的につり上げる。リンクスパマが作成する多数のウェブページは通常、（Ａ）同じシンボリックホスト名を有するか、（Ｂ）同じドメインに関連付けられるか、または（Ｃ）同じＩＰアドレスに関連付けられるかのいずれか１つまたは複数である。
【００２１】
本発明は、次のことを認識することによって、この脆弱性を解決する。すなわち、ランダムジャンプをすると、少数のページを有するウェブサーバ上で特定のページに到達するよりも、多数のページを有するウェブサーバ上で特定のページに到達するほうが、可能性が低い。このことは、そのようなページが他のページにリンクする（すなわち他のページを推奨する）ことによって当該他のページに及ぼす影響が低いことを意味する。したがって、種々の非限定的実施形態では、本発明は、各ウェブページではなく各ウェブサーバに最低保証スコアを割り当てる。そして、この最低スコアを、そのウェブサーバ上のすべてのページ間で分割することができる。
【００２２】
［例示的なネットワーク環境および分散環境］
当業者には理解されるように、本発明は、任意のコンピュータまたは他のクライアントもしくはサーバデバイスとの関連において実施することができる。これらは、コンピュータネットワークの一部として配備されても、分散コンピューティング環境に配備されてもよい。この点で、本発明は、任意個数のメモリまたはストレージユニットを有する任意のコンピュータシステムまたは環境、ならびに任意個数のストレージユニットまたはボリュームにわたって生じる任意個数のアプリケーションおよびプロセスに関連し、これらを本発明による文書をランク付けするプロセスとの関連で用いることができる。本発明は、リモートまたはローカルストレージを有するネットワーク環境または分散コンピューティング環境に配備されたサーバコンピュータおよびクライアントコンピュータを有する環境に適用することができる。また、本発明は、リモートまたはローカルサービスとの関連で情報を生成、受信および送信するためのプログラミング言語機能、解釈および実行の能力を有する独立型コンピューティングデバイスにも適用することができる。ウェブページをダウンロードし解析することは、ネットワーク環境または分散コンピューティング環境で動作するコンピューティングデバイスにとって特に関連性があるため、本発明によるランク付けのアルゴリズムおよび技法は、そのような環境において特に有効に適用することができる。
【００２３】
分散コンピューティングは、コンピューティングデバイスおよびシステムの間の交換によって、コンピュータリソースおよびサービスの共有を行う。このようなリソースおよびサービスとしては、情報の交換、キャッシュストレージ、およびファイルのためのディスク記憶装置がある。分散コンピューティングは、ネットワーク接続を利用することにより、クライアントの集団的能力を活用して企業全体の利益となることを可能にする。この点で、さまざまなデバイスが、本発明のランク付けのアルゴリズムおよびプロセスに関わり得るアプリケーション、オブジェクトまたはリソースを有することができる。
【００２４】
図２Ａは、例示的なネットワーク環境または分散コンピューティング環境の概略図を示している。分散コンピューティング環境は、コンピューティングオブジェクト１０ａ、１０ｂ等およびコンピューティングオブジェクトまたはデバイス１１０ａ、１１０ｂ、１１０ｃ等を備える。これらのオブジェクトは、プログラム、メソッド、データストア、プログラム可能ロジック等を備えることができる。オブジェクトは、ＰＤＡ（Personal Digital Assistant:携帯情報端末）、テレビ、ＭＰ３プレーヤ、パーソナルコンピュータ等の同じまたは異なるデバイスの各部分を含み得る。各オブジェクトは、通信ネットワーク１４経由で他のオブジェクトと通信することができる。このネットワーク自体が、図２Ａのシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピューティングデバイスを備えてもよく、ネットワーク自体は、複数の相互接続されたネットワークを表していてもよい。本発明の一態様によれば、各オブジェクト１０ａ、１０ｂ等または１１０ａ、１１０ｂ、１１０ｃ等は、本発明によるランク付けプロセスの使用を要求するために、ＡＰＩを利用し得るアプリケーション、または他のオブジェクト、ソフトウェア、ファームウェアおよび／またはハードウェアを含んでもよい。
【００２５】
また、理解されるように、１１０ｃ等のオブジェクトは、別のコンピューティングデバイス１０ａ、１０ｂ等または１１０ａ、１１０ｂ等をホストとしてもよい。したがって、図示されている物理的環境は、接続されているデバイスをコンピュータとして示しているかもしれないが、このような図示は単なる例示であり、物理的環境は、別法として、ＰＤＡ、テレビ、ＭＰ３プレーヤ等の種々のディジタルデバイスや、インタフェース、ＣＯＭオブジェクト等のソフトウェアオブジェクトを備えて図示または記述されてもよい。
【００２６】
分散コンピューティング環境をサポートするさまざまなシステム、コンポーネント、およびネットワーク構成がある。例えば、コンピューティングシステムは、有線または無線システムによって、ローカルネットワークまたは広域分散ネットワークによってともに接続されてもよい。現在、ネットワークの多くはインターネットに接続されている。インターネットは、広域分散コンピューティングのためのインフラストラクチャを提供し、多くの異なるネットワークを包含する。いかなるインフラストラクチャも、本発明による相互関係のあるリンクを有する文書をランク付けすることに付随してなされる例示的通信のために用いることができる。
【００２７】
ホームネットワーキング環境では、電力線、データ（無線および有線の両方）、音声（例えば電話）および娯楽メディアのように、それぞれが独自のプロトコルをサポートし得る少なくとも４つの異種のネットワークトランスポート媒体がある。電灯のスイッチや家庭電化製品のようなほとんどのホーム制御デバイスは、接続のために電力線を用いることができる。データサービスは、ブロードバンド（例えば、ＤＳＬ(デジタル加入者回線)またはケーブルモデムのいずれか）として家庭に入っている場合があり、無線（例えばＨｏｍｅＲＦまたは８０２．１１Ｂ）または有線（例えばＨｏｍｅＰＮＡ、Ｃａｔ５、イーサネット（登録商標）、そして電力線さえも）のいずれかの接続を用いて家庭内でアクセス可能である。音声トラフィックは、有線（例えばＣａｔ３）または無線（例えば携帯電話）のいずれによって家庭に入るとしてもよく、Ｃａｔ３配線を用いて家庭内で配信されてもよい。娯楽メディア等のグラフィックデータは、衛星またはケーブルのいずれを通じて家庭に入ることが可能であり、通常は同軸ケーブルを用いて家庭内に配信される。ＩＥＥＥ１３９４およびＤＶＩ（デジタルビジュアルインターフェース）もまた、メディアデバイスのクラスタのためのディジタル相互接続である。プロトコル標準として現れ得るこれらのネットワーク環境等のすべてが相互接続されてイントラネットのようなネットワークを形成し、これがインターネット経由で外部世界に接続されてもよい。要するに、データの記憶および伝送のためのさまざまな異種のソースが存在するため、先に進むと、コンピューティングデバイスは、本発明によるランク付け技法を利用するプログラムオブジェクトに付随してアクセスまたは利用されるデータ等のデータを共有する方法を必要とする。
【００２８】
インターネットは、一般的に、コンピュータネットワーキングの技術分野で周知のＴＣＰ／ＩＰプロトコルスイートを利用するネットワークおよびゲートウェイの集まりを指す。ＴＣＰ／ＩＰとは、「Transmission Control Protocol/Internet Protocol」（通信制御プロトコル／インターネットプロトコル）の頭字語である。インターネットは、ユーザがネットワークを通じて情報をやりとりし共有することを可能にするネットワーキングプロトコルを実行するコンピュータによって相互接続された、地理的に分散したリモートコンピュータネットワークのシステムとして記述することができる。このような広範囲の情報共有のために、インターネットのようなリモートネットワークはこれまで、オープンシステムへと全般的に進化してきた。オープンシステムのために、開発者は、本質的に制限なしに、特殊なオペレーションやサービスを実行するためのソフトウェアアプリケーションを設計することができる。
【００２９】
こうして、ネットワークインフラストラクチャは、クライアント／サーバ、ピアツーピア（peer-to-peer）、またはハイブリッドアーキテクチャのような多数のネットワークトポロジーを可能にする。「クライアント」は、関係していない別のクラスまたはグループのサービスを使用するクラスまたはグループのメンバである。したがって、コンピューティングにおいては、クライアントは、別のプログラムによって提供されるサービスを要求するプロセス（すなわち、おおよそ命令またはタスクの集合）である。クライアントプロセスは、他のプログラムまたはサービス自体に関する作業の詳細を「知る」ことを必要とせずに、要求したサービスを利用する。クライアント／サーバ型アーキテクチャ、特にネットワークシステムでは、クライアントは通常、別のコンピュータ（例えばサーバ）によって提供される共有ネットワークリソースにアクセスするコンピュータである。図２Ａの例では、コンピュータ１１０ａ、１１０ｂ等はクライアントとみなすことができ、コンピュータ１０ａ、１０ｂ等はサーバとみなすことができる。ここでサーバ１０ａ、１０ｂ等はデータを維持管理し、そのデータがクライアントコンピュータ１１０ａ、１１０ｂ等において複製される。ただし、いかなるコンピュータも、状況に応じてクライアント、サーバ、またはその両方とみなすことができる。これらのコンピューティングデバイスのいずれも、本発明のランク付け技法に関わり得るデータを処理し、またはサービスもしくはタスクを要求することができる。
【００３０】
サーバは通常、インターネットのようなリモートまたはローカルネットワークを通じてアクセス可能なリモートコンピュータシステムである。クライアントプロセスは第１のコンピュータシステムにおいてアクティブであり、サーバプロセスは第２のコンピュータシステムにおいてアクティブであるとしてよい。これらが互いに通信媒体を通じて通信することにより、分散された機能を提供し、複数のクライアントがサーバの情報収集能力を利用することが可能となる。本発明のランク付け技法に従って利用されるいかなるソフトウェアオブジェクトも、複数のコンピューティングデバイスまたはオブジェクトにわたって分散されてよい。
【００３１】
クライアントおよびサーバは、プロトコルレイヤによって提供される機能を利用して互いに通信する。例えば、HyperText Transfer Protocol（ＨＴＴＰ:ハイパーテキスト転送プロトコル）は、ワールドワイドウェブ（ＷＷＷ）（あるいは単に「ウェブ」ともいう）と関連して使用される一般的なプロトコルである。通常、インターネットプロトコル（ＩＰ）アドレス等のコンピュータネットワークアドレスや、ユニバーサルリソースロケータ（ＵＲＬ）等の他の参照を用いて、サーバまたはクライアントコンピュータを互いに識別することができる。ネットワークアドレスは、ＵＲＬアドレスとも呼ぶことができる。通信は、通信媒体を通じて提供することができる。例えば、クライアントおよびサーバは、大容量通信用のＴＣＰ／ＩＰコネクション経由で互いに接続されることが可能である。
【００３２】
このように、図２Ａは、サーバがネットワーク／バス経由でクライアントコンピュータと通信する、例示的なネットワーク環境または分散環境を示しており、本発明はこの環境において用いることができる。さらに詳細には、本発明によれば、いくつかのサーバ１０ａ、１０ｂ等が、通信ネットワーク／バス１４（これは、ＬＡＮ、ＷＡＮ、イントラネット、インターネット等でよい）経由で、いくつかのクライアントまたはリモートコンピューティングデバイス１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅ等（例えば、ポータブルコンピュータ、ハンドヘルドコンピュータ、シンクライアント、ネットワーク家庭電化製品、またはＶＣＲ、ＴＶ、オーブン、電灯、ヒータ等の他のデバイス）と相互接続される。このように、本発明は、構造的に相互関係のあるリンクを有する文書のランク付けを実施するのが望ましいいかなるコンピューティングデバイスにも適用することができると考えられる。
【００３３】
例えば、通信ネットワーク／バス１４がインターネットであるネットワーク環境において、サーバ１０ａ、１０ｂ等はウェブサーバであることが可能であり、クライアント１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅ等は、ＨＴＴＰ等のいくつかの既知のプロトコルのいずれかによりこのウェブサーバと通信する。サーバ１０ａ、１０ｂ等は、分散コンピューティング環境に特徴的なように、クライアント１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅ等としての役割を果たすこともある。
【００３４】
通信は、適宜、有線でも無線でもよい。クライアントデバイス１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅ等が通信を行う場合、通信ネットワーク／バス１４経由であってもそうでなくてもよく、それらに関連する独立の通信を有してもよい。例えば、ＴＶまたはＶＣＲの場合、その制御にネットワークの側面がある場合もない場合もある。各クライアントコンピュータ１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅ等およびサーバコンピュータ１０ａ、１０ｂ等は、種々のアプリケーションプログラムモジュールまたはオブジェクト１３５および種々のタイプのストレージ要素またはオブジェクトへのコネクションまたはアクセスを備えてもよい。これらにより、ファイルまたはデータストリームが記憶され、あるいはファイルまたはデータストリームの一部がダウンロード、伝送または移動されてもよい。コンピュータ１０ａ、１０ｂ、１１０ａ、１１０ｂ等のいずれか１つまたは複数は、本発明により処理されるデータを記憶するためのデータベース２０等の記憶要素（例えば、データベースまたはメモリ２０）の維持および更新を担当してもよい。このように、本発明は、コンピュータネットワーク／バス１４にアクセスしてやりとりすることができるクライアントコンピュータ１１０ａ、１１０ｂ等と、クライアントコンピュータ１１０ａ、１１０ｂ等のデバイスおよびデータベース２０とやりとりすることができるサーバコンピュータ１０ａ、１０ｂ等とを有するコンピュータネットワーク環境において利用することができる。
【００３５】
［例示的コンピューティングデバイス］
図２Ｂおよび以下の説明は、本発明を実施し得る好適なコンピューティング環境の簡単な概要を提供するためのものである。しかし、理解されるように、すべての種類のハンドヘルド型、ポータブル型等のコンピューティングデバイスおよびコンピューティングオブジェクトが、本発明との関連で使用するために、すなわち、コンピューティング環境においてウェブページ等の構造的に相互関係のある文書と接するいかなる場合にも、考えられる。以下では汎用コンピュータについて説明するが、これは単なる一例にすぎず、本発明は、ネットワーク／バス相互運用性および相互作用を有するシンクライアントを用いて実施してもよい。したがって、本発明は、わずかな、あるいは最小限のクライアントリソースしか関与しないネットワークホストサービスの環境において実施することができる。そのような環境は、例えば、家庭電化製品内にあるオブジェクトのように、クライアントデバイスが単にネットワーク／バスへのインタフェースとしてのみ働くようなネットワーク環境である。本質的に、データを記憶しておくことができる場所や、そこからデータを取り出すことができる場所、または別のコンピュータへデータを送信することができる場所はいずれも、本発明によるランク付け技法の動作にとって望ましい、あるいは好適な環境である。
【００３６】
必須要件ではないが、本発明は、デバイスまたはオブジェクトに対するサービスの開発者が使用するためにオペレーティングシステムを通じて実施されること、および／または本発明のランク付け技法との関連で動作するアプリケーションソフトウェア内に含まれることが可能である。ソフトウェアは、クライアントワークステーション、サーバ等のデバイスのような１つまたは複数のコンピュータによって実行されるプログラムモジュール等のコンピュータ実行可能命令との一般的関連で記述することができる。一般的に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。通常、プログラムモジュールの機能は、種々の実施形態において望み通りに組み合わせ、または分散させることができる。さらに、当業者には理解されるように、本発明は、他のコンピュータシステム構成およびプロトコルとともに実施してもよい。本発明とともに使用するのに好適であり得る他の周知のコンピューティングシステム、環境、および／または構成としては、以下のものに限定されないが、パーソナルコンピュータ（ＰＣ）、現金自動預け払い機（ＡＴＭ）、サーバコンピュータ、ハンドヘルド型またはラップトップ型デバイス、マルチプロセッサシステム、マイクロプロセッサ方式のシステム、プログラム可能な家庭電化製品、ネットワークＰＣ、電気器具、照明、環境制御要素、ミニコンピュータ、メインフレームコンピュータ（大型汎用コンピュータ）等がある。また、本発明は、通信ネットワーク／バス等のデータ伝送媒体を通じてリンクされたリモート処理デバイスによってタスクが実行されるような分散コンピューティング環境において実施してもよい。分散コンピューティング環境では、プログラムモジュールはメモリ記憶デバイスを含むローカルおよびリモートの両方のコンピュータ記憶媒体に配置されてもよく、その場合、クライアントノードはサーバノードとして動作してもよい。
【００３７】
このように、図２Ｂは、本発明を実施し得る好適なコンピューティングシステム環境１００の一例を示しているが、上記で明らかなように、コンピューティングシステム環境１００は好適なコンピューティング環境の単なる一例であり、本発明の使用および機能の範囲に関するいかなる限定を示唆することも意図していない。また、コンピューティング環境１００は、例示的オペレーティング環境１００に示されるいかなるコンポーネントまたはその組合せに関するいかなる従属性または要件を有するとも解釈されてはならない。
【００３８】
図２Ｂを参照すると、本発明を実施するための例示的システムは、コンピュータ１１０の形態の汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントとしては、処理ユニット１２０、システムメモリ１３０、およびシステムメモリを含む種々のシステムコンポーネントを処理ユニット１２０に接続するシステムバス１２１が挙げられるが、これらには限定されない。システムバス１２１は、さまざまなバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のいずれでもよい。例として、限定ではないが、このようなアーキテクチャとしては、Industry Standard Architecture（ＩＳＡ）バス、Micro Channel Architecture（ＭＣＡ）バス、Enhanced ISA（ＥＩＳＡ）バス、Video Electronics Standards Association（ＶＥＳＡ）ローカルバス、および（Mezzanineバスとも呼ばれる）Peripheral Component Interconnect（ＰＣＩ）バスがある。  
【００３９】
コンピュータ１１０は通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０がアクセスすることができるいかなる利用可能な媒体であってもよく、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方がある。例として、限定ではないが、コンピュータ可読媒体としては、コンピュータ記憶媒体および通信媒体が挙げられる。コンピュータ記憶媒体としては、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータのような情報の記憶のための任意の方法または技術で実現された揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体の両方がある。コンピュータ記憶媒体としては、以下のものに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等のメモリ技術、ＣＤＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）等の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置等の磁気記憶デバイス、または所望の情報を記憶するために使用可能でありコンピュータ１１０によりアクセス可能な任意の他の媒体がある。通信媒体は通常、キャリア波等の変調データ信号または他のトランスポートメカニズムでコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを具現化し、いかなる情報配信媒体も含む。「変調データ信号」という用語は、信号中に情報を符号化するように１つまたは複数の信号の特性が設定または変更された信号を意味する。例として、限定ではないが、通信媒体としては、有線ネットワークまたは直接有線コネクションのような有線媒体、および音響、ＲＦ（無線周波数）、赤外線等の無線媒体のような無線媒体がある。上記のいずれかの組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００４０】
システムメモリ１３０は、読み出し専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２のような揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中等にコンピュータ１１０内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が通常ＲＯＭ１３１に記憶されている。ＲＡＭ１３２は通常、処理ユニット１２０から直ちにアクセス可能な、および／または処理ユニット１２０が現在作用しているデータおよび／またはプログラムモジュールを含む。例として、限定ではないが、図２Ｂは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示している。
【００４１】
また、コンピュータ１１０は、他のリムーバブル（取り外し可能）／非リムーバブル（取り外し不可能）、揮発性／不揮発性のコンピュータ記憶媒体を含んでもよい。単なる例として、図２Ｂは、非リムーバブル不揮発性磁気媒体の読み書きを行うハードディスクドライブ１４１、リムーバブル不揮発性磁気ディスク１５２の読み書きを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭ等の光媒体のようなリムーバブル不揮発性光ディスク１５６の読み書きを行う光ディスクドライブ１５５を示している。例示的オペレーティング環境で使用可能な他のリムーバブル／非リムーバブル、揮発性／不揮発性のコンピュータ記憶媒体としては、以下のものに限定されないが、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭ等がある。ハードディスクドライブ１４１は通常、インタフェース１４０のような非リムーバブルメモリインタフェースを通じてシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インタフェース１５０のようなリムーバブルメモリインタフェースによりシステムバス１２１に接続される。
【００４２】
前述し図２Ｂに示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ１１０のためのコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの記憶を行う。例えば図２Ｂにおいて、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６およびプログラムデータ１４７を記憶するように示されている。なお、これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６およびプログラムデータ１３７と同じでも異なってもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６およびプログラムデータ１４７は、少なくともそれらが別のコピーであることを示すためにここでは異なる番号が与えられている。ユーザは、キーボード１６２、およびマウス、トラックボールまたはタッチパッドと一般的に呼ばれるポインティングデバイス１６１のような入力デバイスを通じてコンピュータ１１０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）としては、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等が挙げられる。これらおよび他の入力デバイスは、システムバス１２１に結合したユーザ入力インタフェース１６０を通じて処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）等の他のインタフェースおよびバス構造により接続されてもよい。ノースブリッジ(Northbridge)等のグラフィクスインタフェース１８２もまたシステムバス１２１に接続されてもよい。ノースブリッジは、ＣＰＵ、すなわちホスト処理ユニット１２０と通信するチップセットであり、アクセラレーテッドグラフィクスポート（ＡＧＰ）通信を担当する。１つまたは複数のグラフィクス処理ユニット（ＧＰＵ）１８４がグラフィクスインタフェース１８２と通信してもよい。この点で、ＧＰＵ１８４は、一般的に、レジスタストレージ等のオンチップメモリストレージを含み、ＧＰＵ１８４は、本発明のアプリケーション変数が影響を及ぼし得るビデオメモリ１８６と通信する。しかし、ＧＰＵ１８４は、コプロセッサ（coprocessor）の単なる一例であり、さまざまなコプロセシングデバイスがコンピュータ１１０に含まれてもよく、また、ピクセルシェーダ(shader:陰影処理)や頂点シェーダ等のさまざまな手続き型シェーダを含んでもよい。モニタ１９１または他のタイプのディスプレイデバイスもまた、ビデオインタフェース１９０のようなインタフェースを通じてシステムバス１２１に接続され、このインタフェースがさらにビデオメモリ１８６と通信してもよい。モニタ１９１に加えて、コンピュータはスピーカ１９７やプリンタ１９６のような他の周辺出力デバイスを含んでもよく、これらは出力周辺インタフェース１９５を通じて接続され得る。
【００４３】
コンピュータ１１０は、リモートコンピュータ１８０のような１つまたは複数のリモートコンピュータへの論理結合を用いたネットワーク環境または分散環境で動作してもよい。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス（peer device）または他の普通のネットワークノードであってよく、通常、コンピュータ１１０に関して前述した要素の多くまたはすべてを含む。ただし、図２Ｂにはメモリ記憶デバイス１８１のみが示されている。図２Ｂに示す論理結合は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワーク／バスを含んでもよい。このようなネットワーキング環境は、家庭、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットで一般的である。
【００４４】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０はネットワークインタフェースすなわちアダプタ１７０を通じてＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は通常、インターネットのようなＷＡＮ１７３を通じて通信を確立するためのモデム１７２等の手段を含む。モデム１７２は、内蔵でも外付けでもよいが、ユーザ入力インタフェース１６０等の適当なメカニズムを通じてシステムバス１２１に接続され得る。ネットワーク環境では、コンピュータ１１０に関して図示したプログラムモジュールまたはその部分は、リモートメモリ記憶デバイスに記憶されてもよい。例として、限定ではないが、図２Ｂは、リモートアプリケーションプログラム１８５がメモリデバイス１８１上に存在するように示している。理解されるように、図示したネットワークコネクションは例示であり、コンピュータ間に通信リンクを確立する他の手段を使用してもよい。
【００４５】
［例示的分散コンピューティングフレームワークまたはアーキテクチャ］
パーソナルコンピューティングとインターネットの集中を考慮に入れて、種々の分散コンピューティングフレームワークがすでに開発され、現在も開発され続けている。個人ユーザにも企業ユーザにも区別なく、アプリケーションおよびコンピューティングデバイスのため、シームレスに相互運用可能な、ウェブ対応のインタフェースが提供されている。これにより、コンピューティング活動はますますウェブブラウザ指向あるいはネットワーク指向になっている。
【００４６】
例えば、ＭＩＣＲＯＳＯＦＴ（登録商標）のマネージドコードプラットフォーム、すなわち、ＮＥＴは、サーバと、ウェブベースのデータストレージやダウンロード可能なデバイスソフトウェアのようなビルディングブロックサービスを含む。一般的に言えば、．ＮＥＴプラットフォームにより以下のことが実現される。（１）すべてのコンピューティングデバイスを協調動作させ、それらすべての上でユーザ情報を自動的に更新し同期させることができる。（２）ＨＴＭＬではなくＸＭＬのほうをより多く活用することによって、ウェブページのインタラクティブ（対話式）の能力を向上させる。（３）例えば電子メールのような種々のアプリケーションやＯｆｆｉｃｅ  ．ＮＥＴのようなソフトウェアの管理のために、スターティングポイント（中央基点）からユーザへの製品およびサービスのカスタマイズされたアクセスおよび配布を特徴とするオンラインサービスを提供する。（４）集中化されたデータストレージにより、情報へのアクセスと、ユーザおよびデバイスの間の情報の同期を効率化し容易化する。（５）電子メール、ファックス、および電話のような種々の通信媒体を統合することができる。（６）開発者にとっては、再利用可能なモジュールを作成することができるため、生産性が向上しプログラミングエラーの数が減る。そして、（７）多くの他のクロスプラットフォーム機能および言語統合機能もある。
【００４７】
本明細書では、いくつかの例示的実施形態が、コンピューティングデバイス上に存在するソフトウェアとの関連で説明されるが、本発明の１つまたは複数の部分は、オペレーティングシステム、アプリケーションプログラミングインタフェース（ＡＰＩ）または「仲介役（middle man）」オブジェクト、コントロールオブジェクト、ハードウェア、ファームウェア、中間言語命令またはオブジェクト等によって実施されてもよい。それによって、本方法は、．ＮＥＴコードのようなマネージドコードにより可能となるすべての言語およびサービス、ならびに他の分散コンピューティングフレームワークに、含まれ、サポートされ、またはそれらによってアクセスされることが可能となる。
【００４８】
［ウェブページをランク付けするシステムおよび方法］
背景技術のところで既に述べたように、本発明は、ターゲットウェブページのスコアをつり上げるだけの目的で人為的に生成されるウェブページに対する、ＰａｇｅＲａｎｋ等の従来のランク付けアルゴリズムの脆弱性を解決する。本発明では、ウェブサーファが特定のサーバへランダムにジャンプしようとしていると仮定すると、少数のページを有するウェブサーバ上でサーファが特定のページに「着地」するよりも、多数のページを有するウェブサーバ上でサーファが特定のページに「着地」するほうが、可能性が低いであろう、と認識している。この原理を適用してランク付けアルゴリズムを適用すると、本発明は、複数の推奨が同一サーバから発している場合、それらの推奨の影響を低減する。この影響の低減を達成するために、種々の非限定的実施形態では、本発明は、各ウェブページではなく、各ウェブサーバに最低保証スコアを割り当てる。そして、そのウェブサーバに割り当てられるその最低スコアを、そのウェブサーバ上のすべてのページ間で分割することができる。従って、あるウェブサーバ上の複数のページにより任意多数個のネポティスティックリンクを作成しても、それにより達成される「推奨値」は、ウェブサーバ上の少数のページ上の比較的少数のネポティスティックリンクと同程度である。一般的に、任意多数個のネポティスティックリンクは、（Ａ）同じシンボリックホスト名を有するか、（Ｂ）同じドメインに関連付けられるか、または（Ｃ）同じＩＰアドレスに関連付けられるかのいずれか１つまたは複数である。一実施形態では、本発明は、良質の問合せ結果をユーザに返すためにウェブ検索サービスにおいて実施される。
【００４９】
なお、何がウェブサーバを構成するかについて、いくつかの可能な定義が存在する。ウェブサーバは、シンボリックホスト名（例えば、www.google.com）によって定義されてもよく、共通ドメインによって定義されてもよく、あるいは、１つ（または複数）のＩＰアドレス（例えば、207.46.134.222）によって定義されてもよい。ウェブサーバのいずれの定義を利用する実施態様もリンクスパム（link spammers）問題を解決するが、本発明の目的上、後の２つの定義のほうが好適であり、リンクスパマに対して、より良い抑止力として働く。というのは、ほとんど無限個のホスト名を解決するようにＤＮＳ（ドメイン名システム）サーバを設定することが可能であって（ＲＦＣ１０３５は、ホスト名の長さを高々２５５キャラクタに限定しており、各キャラクタは文字、数字、またはハイフンである。したがって、３７２５５個の可能なホスト名が存在し、すべての実用上の目的にとっては「ほとんど無限」である）、無限個のウェブページをサービスするようにウェブサーバを設定することが可能であることとちょうど同じだからである。以下の説明では、２つの代替実施形態について順に各定義を使用する。
【００５０】
本発明によるランク付けメトリック（metric）の第１実施形態では、ウェブサーバはそのシンボリックホスト名によって定義される。ｈ（ｕ）でＵＲＬ  ｕのホスト名コンポーネントを表し、Ｈを全ホストの集合、すなわち
Ｈ＝｛ｈ（ｖ）：ｖ∈Ｖ｝
とする。ＶＨ（ｈ）を、ホストｈによってサービスされるＵＲＬの集合、すなわち
ＶＨ（ｈ）＝｛ｖ：ｖ∈Ｖ∧ｈ（ｖ）＝ｈ｝
とする。そして、これらの２つの定義を、本発明の第１実施形態による第１の新しいランク付けメトリックＲＨの定義において用いる。これは次のように表される。
【００５１】
【数２】
2005092881.tif 000004
【００５２】
本発明によるランク付けメトリックの第２実施形態では、ウェブサーバはそのドメイン名によって定義される。ｄ（ｕ）でＵＲＬ  ｕのドメイン名コンポーネントを表し、Ｄを全ドメインの集合、すなわち
Ｄ＝｛ｄ（ｖ）：ｖ∈Ｖ｝
とする。ＶＤ（ｈ）を、ドメインｄ内のウェブサーバによってサービスされるＵＲＬの集合、すなわち
ＶＤ（ｄ）＝｛ｖ：ｖ∈Ｖ∧ｄ（ｖ）＝ｄ｝
とする。そして、これらの２つの定義を、本発明の第２実施形態による第２の新しいランク付けメトリックＲＤの定義において用いる。これは次のように表される。
【００５３】
【数３】
2005092881.tif 000005
【００５４】
本発明の第３実施形態では、ウェブサーバはそのＩＰアドレスの集合によって定義される。Ａ（ｕ）で、そこからＵＲＬ  ｕがサービスされ得るＩＰアドレスの集合（すなわち、ｈ（ｕ）が解決される先のＩＰアドレスの集合）を表す。Ａを全ＩＰアドレスの集合、すなわち、
【００５５】
【数４】
2005092881.tif 000006
【００５６】
とする。ＶＡ（ａ）をＩＰアドレスａによってサービスされるＵＲＬの集合、すなわち
ＶＡ（ａ）＝｛ｖ：ｖ∈Ｖ∧ａ∈Ａ（ｖ）｝
とする。そして、これらの２つの定義を、本発明の第３実施形態による第３の新しいランク付けメトリックＲＡの定義において用いる。これは次のように表される。
【００５７】
【数５】
2005092881.tif 000007
【００５８】
次に、本発明について、図３Ａ〜図３Ｇを参照して説明する。図３Ａは、第１ノードＮ１（例えば、文書またはウェブページ）を示しており、この第１ノードＮ１は第２ノードＮ２へのリンクを有する。ＰａｇｅＲａｎｋの直観的概念は、Ｎ２のほうが、全く入リンク（incoming link）のないノードよりも優れているページであるということである。というのは、Ｎ１は、Ｎ２にリンクすることによって、Ｎ２を推奨している、すなわちＮ２の存在を「認証(validate)」しているからである。ＰａｇｅＲａｎｋの直観的概念は、図３Ｂを図３Ａと比較することによって、さらに説明することができる。図３ＡではＮ１はただ１つのノードＮ２にリンクしているのに対して、図３ＢではノードＮ１は９個のノードＮ２〜Ｎ１０にリンクしているので、ＰａｇｅＲａｎｋはＮ１の推奨の価値を低下させる。というのは、Ｎ１は、図３ＡのノードＮ１に比べて、他のウェブページを無差別に推奨しているように見えるからである。図３ＡのノードＮ１は他のノードをより選択的に推奨しているので、図３Ａでは、対応するＮ２には、（すべての他のファクタは同一として）Ｎ２へのＮ１のリンクの結果として、より高いスコアが割り当てられる。ＰａｇｅＲａｎｋの直観的概念は、図３Ｃを図３Ａと対比することによって、さらに説明することができる。この対比では、図３Ｃの推奨側ノードＮ１に割り当てられるスコアは、図３Ａの推奨側ノードＮ１に割り当てられるスコアの１０倍である。したがって、推奨側ノードの品質（スコア）は図３Ｃのほうが高いため、図３ＡのノードＮ２に割り当てられるスコアに比べて、図３ＣのノードＮ２に割り当てられるスコアのほうが高い。これらの直観的概念を組み合わせることにより、ＰａｇｅＲａｎｋアルゴリズムが得られる。
【００５９】
しかし、背景技術のところで注意したように、ＰａｇｅＲａｎｋは図３Ｄに例示する状況に対して脆弱である。というのは、あらゆるノードは、それが他の何個のノードを推奨しているか、あるいは自分のＰａｇｅＲａｎｋスコアがどれほど小さいかにかかわらず、最低限のスコアを受けるからである。この最低スコアは小さいが、それが多数になると、小さいスコアが増倍されて相当の大きさになり得る。したがって、ノードＮ２のオーナは、多数の推奨側ページを手動または自動で作成し、例えば図３Ｄに示すような何らかの方法または構成で各推奨側ページがそれぞれノードＮ２および互いを推奨することによって、ノードＮ２のスコアを人為的につり上げることができる。一般的に言えば、費用対効果の高い方法でこれを行うために、リンクスパマは通常、リンクスパムノードＬＳ１〜ＬＳ９等のそれぞれを同じホスト（例えば、www.foo.com）上に置く。というのは、同じホスト上に、www.foo.com/page1、www.foo.com/page2、www.foo.com/page3等の追加のウェブページを生成するのには、ほとんどまたは全くコストがかからないからである。したがって、利口なリンクスパマは、この技法によって、ウェブ上で、人気がないウェブページの露出を増大させることができる。ウェブサーバには無限個のページを動的に作成してサービスするものがあるので、ウェブページの数は無限である。明らかに、もう１つのウェブページを作成するための増分コストは低い。
【００６０】
これに応じて、本発明は、このようなリンクスパム技法の使用を不利にする。リンクスパムノードＬＳ１〜ＬＳ９のそれぞれがすべて同じホストwww.foo.com上にある場合、ＬＳ１〜ＬＳ９のそれぞれに最低スコアを割り当てるのではなく、一実施形態では、本発明は、各ホストに最低スコアを割り当て、そのホスト上の各ノード間でその最低スコアを分配する。したがって、ホストwww.foo.com上に１０００個のリンクスパムノードＬＳ１〜ＬＳ１０００が存在するか、それとも１個のリンクスパムノードＬＳ１が存在するかにかかわらず、ノードＮ２に対する推奨への寄与は（他のすべてのファクタを同一と仮定すれば）同一である。こうして、図３Ｅに例示するように、本発明では、ホストwww.foo.comに最低スコアを割り当て、ページＬＳ１〜ＬＳ９の間でその最低スコアを分割する。
【００６１】
しかし、確信的なリンクスパマは、本発明のこの改良型（variant）の裏をかくことができる。リンクスパマは、類似の品質スコアを有する他のウェブページよりも高いスコアを得るために、自分のウェブページに関連する品質スコアを比較的少量だけ増大させることに決めるかもしれない。例えば、ウェブページのランクが典型的な検索エンジン結果において上昇し、ランキングにおいて５番目にリストされていたのが最初にリストされるようになれば、比較的小さい品質スコアの変化でも、リンクスパマにとっては大きな利益となるであろう。現在の形態のインターネットドメインネーミングシステムでは、ユーザは各ドメイン名について年間利用料（約２５ドル）を支払い、そのドメイン内に任意個数のシンボリックホスト名を作成することができる。したがって、リンクスパマは、少数のドメインを取得し、それらのドメイン内の任意の可能なホスト名を決定する（resolve）ようにＤＮＳサーバを設定することができる。そして、スパマは、これらのドメイン内の多くの異なるホストから来ているように見えるリンクスパムページを設けることにより、非常に多数のページの最低スコアを累積することによって、ページを推奨する能力を取り戻すことができる。この状況を図３Ｆに示す。図３Ｆにおいて、複数のウェブページが確信的なリンクスパマによって生成されている。各ウェブページは、固有のシンボリックホスト名www1.foo.com、www2.foo.com、www3.foo.com等からもたらされる。しかし、各ウェブページは、共通ドメインfoo.comからももたらされる。したがって、本発明の第２実施形態では、最低スコアを、各ウェブページやそれぞれの異なるホスト名ではなく、それぞれの異なるドメイン名に割り当てる。
【００６２】
結局のところ、ドメイン名は金がかかるが、極端に高くつくわけではない。無限個のウェブページおよび潜在的に多数（３７２５５）のドメイン名があるが、現実に存在するのは１５００万個程度のドメイン名である。新しいホスト名を作成するのは、（ドメイン内の任意の可能なホスト名を決定する（resolve）ようにＤＮＳサーバを設定することによって）、無料であるが、新しいドメイン名を作成するには２５ドル程度かかる。したがって、約２５ドルでドメイン名を取得することができるので、確信的リンクスパマにとっては、図３Ｇに例示するシステムを実装することは依然として実現可能である。図３Ｇにおいて、確信的リンクスパマはリンクスパムノードＬＳ１〜ＬＳ９等を作成しているが、この場合、リンクスパマは、各ノードを、固有のシンボリックホスト名www.foo.com、www.goo.com、www.hoo.com等を有する固有のドメイン上に置いている。しかし、リンクスパマは、www.foo.com、www.goo.com、www.hoo.com等のそれぞれを同じＩＰアドレスに置いているであろう。ＩＰアドレスには、約４０億個の異なるＩＰアドレスがある。ＩＰアドレスは比較的安価に取得できるが、リンクスパマはリンクスパムウェブページごとに異なるＩＰアドレスを割り当てるシステムを実装しないであろう。というのは、異なるＩＰアドレスを無限に供給することはできないからである。したがって、本発明の第３実施形態では、最低スコアを、各ウェブページ、各ホスト名、または各ドメインではなく、それぞれの異なるＩＰアドレスに割り当て、確信的リンクスパマから防護する。この理由は、リンクスパマがサーバ上にリンクスパムノードを有する１００個の異なるドメインを置くか、リンクスパマがサーバ上に１個のリンクスパムノードを有する１個のドメインを置くかにかかわらず、ノードＮ２に対する推奨に関する効果は同一だからである（今度も、他のすべてのファクタは一定のままであるとする）。
【００６３】
本発明は、任意の構造的に相互関係のある文書をランク付けするために適用することができるが、図４Ａ（システム図）、図４Ｂおよび図４Ｃ（流れ図）は、検索エンジンアプリケーションのためのウェブページのランク付けに対する本発明の例示的適用形態を示している。本発明のアルゴリズムは、問合せ非依存であるので、本発明による文書をランク付けするプロセスは、文書に割り当てられるスコアに基づいて、文書を要求する検索エンジン等のアプリケーションとは独立に行うことができる。例えば、図４Ａに示すように、１つまたは複数のクローラ（crawler）４１０が、インターネット上のウェブページ等の構造的に相互関係のある文書のソース４００をクロール(crawl：這い回って巡回)して、リポジトリ(repository：貯蔵所)４２０に格納するために文書または文書に関する関連情報を取り込むことができる。文書に関する関連情報は、他のソース４１５からもたらされることも可能である。
【００６４】
クローラとは、検索エンジンインデックスのエントリを作成するために、ウェブサイトを訪問してそれらのページその他の情報を読み出すプログラムである。クローラは、サーバからサーバへとハイパーテキストリンクをたどり、検索基準に基づいて情報をインデックス付けすることによって、新しい文書および新しいサイトを探索するために使用される。
【００６５】
ウェブ上の主要な検索エンジンはすべてこのようなプログラムを有し、それは「スパイダ(spider)」、「アント(ant)」、「ロボット(robot)」（「ボット(bot：検索ロボット)」）または「インテリジェントエージェント(intelligent agent)」とも呼ばれる。クローラは通常、サイトのオーナによって新規なサイトまたは更新されたサイトとして登録されたサイトを訪問するようにプログラムされる。サイト全体または特定のページを選択的に訪問しインデックス付けすることができる。クローラは、サイト内を一度に１ページずつ巡回(crawl)し、全ページを読み終えるまで、そのサイト上の他のページへのリンクをたどることから、その名前が付いたようである。通常、クローラは、同時に多くのウェブサイトをクロールする。一般的に、クローラは、Standard for Robot Exclusion（ＳＲＥ）に規定されるウェブクローラの行儀作法（politeness）の規則に従う。
【００６６】
図４Ｂは、文書を収集するプロセスを流れ図により示している。４５０で、ウェブページを見つけ、ウェブページおよび／またはそのウェブページに関する情報をクローラにより収集する。これは、矢印で示されているように、反復的な、または進行中のプロセスとすることができる。４６０で、文書の集まりの構造が分かった任意の与えられた時点において、本発明を適用することにより、収集された各文書にスコアを割り当て、それにより、ウェブページ（またはそれへのリンク）のリポジトリがそれぞれ存在し、そのそれぞれがＲＡメトリック、ＲＤメトリック、またはＲＨメトリックを用いて関連付けられた品質スコアを有するようにしている。オブジェクト４３０が、ＡＰＩ４３２経由で、リポジトリ４２０内の各文書にスコアを割り当てるための計算を実行することができる。また、以下でさらに詳細に説明するが、理解されるように、ＲＡ、ＲＤ、および／またはＲＨメトリックは、特定のアプリケーションまたはユーザに関して文書に割り当てられるスコアの品質を上げるために、他のメトリックと組み合わせることもできる。
【００６７】
文書およびスコアの初期リポジトリ４２０（これは、反復的に、連続的に、または定期的に更新することができる）が生成された後、検索エンジンの例示的アプリケーションを適用することができる。例えば、４７０で、検索エンジン（または他のアプリケーション）オブジェクト４４０は、ユーザから入力問合せを受け取ることができる。４８０で、その問合せに基づいて、問合せ基準に従って問合せ用語を含むウェブページを検索し、それらに関連するスコアに従ってランク付けすることができ、それにより、最も品質の高い文書を最初に、またはより目立つようにユーザに対して表示する。一例示的実施態様では、図４Ａに示すように、問合せは検索エンジンサーバオブジェクト４４０から受け取られる。検索エンジンサーバオブジェクト４４０は、ＡＰＩ４３４経由でオブジェクト４３０とインタフェースをとる。オブジェクト４３０は、問合せに基づいて、ＡＰＩ４３２経由でリポジトリ４２０から関連するウェブページ（またはウェブページへのリンク）を検索して順序付ける。そして、オブジェクト４３０は、ユーザに対して表示するために、順序付けられた結果のリストをアプリケーションオブジェクト４４０に返す。別法として、オブジェクト４４０が、関連するスコアに基づいて結果の順序付けを実行することができる。
【００６８】
明らかなように、本発明のメトリックは、互いに組み合わせてもよく、全体的メトリックに対する他の改善と組み合わせてもよい。例えば、「信頼できる」文書の基本セットを用いて、任意のメトリックにより達成されるスコアの全体的品質を改善することができる。このような改善としては、ニールセン視聴率（Nielsen rating）を考慮に入れることがある。例えば、上位のニールセンウェブページは、他のスコアを評価するためのウェブページの信頼できる基礎として用いることができる。さらに、ニールセン視聴率は、重み付けされたスコアを割り当てるために、本発明のメトリックと組み合わせて用いることができる。あるいは、異常な結果を発見するために、本発明のメトリックの結果をニールセン視聴率と比較することができる。
【００６９】
基本的に、ウェブページ等の文書の信頼性に関する外部情報源は、本発明のメトリックの結果と組み合わせて、またはその結果を確認するために、用いることができる。他の例としては、ＩＳＰからのユーザ情報の集まりに基づく情報を用いるものがある。例えば、ＩＳＰは、ユーザがある特定のウェブページをどのくらいの頻度で訪問しているかに関して、ニールセン情報に類似の直接的情報を収集することができ、したがって、利用パターンに基づいて品質、人気、または信頼性のスコアを割り当てることができる。ＩＳＰプロキシログ(proxy logs)を、この目的のために調べることができる。もう１つの例は、検索エンジン上で人々を観察することを含む。ユーザがウェブページを選択する可能性が最も高い理由は、単にそのウェブページが最高スコアを取っていることだけではない。したがって、検索エンジン上でのユーザの挙動は、ウェブページの品質を検証するのに役立つ。また、例えば１０，０００件の優良なウェブページを認定する仕事を何人かの編集者に割り当てることもできる。職務の進行中に、それらのウェブページが信頼できるウェブページであるということが知られるため、これらの１０，０００件のスコアがつり上げられることにより、本発明のメトリックによるそれらの推奨能力がつり上げられる可能性がある。良質のウェブページに関するもう１つの情報源として、ユーザのブックマークのようなユーザの選好からもたらされるものがあり得る。要約すれば、本発明のメトリックは、最良のユーザ見聞が提供されることを保証するために、任意の他の既知の品質メトリックと組み合わせることができる。有利な点として、本発明のメトリックを含むいかなる組合せも、リンクスパマの努力を挫折させるであろう。
【００７０】
本発明を実施する方法としては、アプリケーションおよびサービスが本発明のランク付けのシステムおよび方法を使用することを可能にする適当なＡＰＩ、ツールキット、ドライバコード、オペレーティングシステム、コントロール、独立型の、あるいはダウンロード可能なソフトウェアオブジェクト等の多くの方法がある。本発明は、ＡＰＩ（または他のソフトウェアオブジェクト）の観点からとともに、本発明によるランク付け技法の適用のためにウェブページまたはウェブページに関連する構造的情報を受け取るソフトウェアまたはハードウェアオブジェクトの観点からの本発明の使用を考慮している。したがって、本明細書に記載されている本発明の種々の実施態様は、完全にハードウェアによる態様、部分的にハードウェアで部分的にソフトウェアによる態様、およびソフトウェアによる態様を有し得る。
【００７１】
上記のように、本発明の例示的実施形態は種々のコンピューティングデバイスおよびネットワークアーキテクチャとの関連で説明されているが、基礎となる概念は、構造的に相互関係のある文書をランク付けすることが望ましいいかなるコンピューティングデバイスまたはシステムにも適用することができる。例えば、本発明のアルゴリズムおよびハードウェア実施態様は、コンピューティングデバイスのオペレーティングシステムに適用され、デバイス上の別個のオブジェクトとして、別のオブジェクトの一部として、再利用可能コントロールとして、サーバからダウンロード可能なオブジェクトとして、デバイスまたはオブジェクトとネットワークとの間の「仲介役」として、分散オブジェクトとして、ハードウェアとして、メモリ内に、あるいは以上のいずれかの組合せとして提供されてもよい。例示的なプログラミング言語、名前および例は、本明細書では、種々の選択肢を代表するものとして選択されているが、これらの言語、名前および例は限定的であることを意図していない。当業者には理解されるように、本発明の種々の実施形態によって達成されるのと同一、類似または等価な機能を達成するオブジェクトコードおよび命名法を提供する数多くの方法がある。
【００７２】
上記のように、本明細書に記載されている種々の技法は、ハードウェアもしくはソフトウェア、または適宜その両方の組合せとの関連で実施することができる。したがって、本発明の方法および装置、またはそのある特定の態様または部分は、フロッピー（登録商標）ディスケット、ＣＤ−ＲＯＭ、ハードドライブ等のマシン可読記憶媒体のような有形媒体に具現化されたプログラムコード（すなわち命令）の形態をとってもよい。ここで、プログラムコードがコンピュータ等のマシンにロードされて実行される場合、そのマシンが本発明を実施する装置となる。プログラム可能なコンピュータ上でプログラムコードを実行する場合、コンピューティングデバイスは一般的に、プロセッサ、そのプロセッサが読むことができる記憶媒体（揮発性および不揮発性メモリおよび／または記憶要素を含む）、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスを含む。例えばデータ処理ＡＰＩ、再利用可能コントロール等の使用を通じて本発明のランク付け技法を実施または利用することができる１つまたは複数のプログラムは、好ましくは、コンピュータシステムと通信する高レベルの手続き型またはオブジェクト指向プログラミング言語として実装される。しかし、プログラムは、必要であれば、アセンブリ言語またはマシン語で実装することができる。いずれの場合でも、言語は、コンパイルされた言語または解釈された言語であってもよく、ハードウェア実施態様と組み合わされてもよい。
【００７３】
本発明の方法および装置は、電気配線またはケーブル、光ファイバ、または任意の他の形態の伝送等の何らかの伝送媒体を通じて伝送されるプログラムコードの形態で具現化される通信により実施されてもよい。ここで、プログラムコードがＥＰＲＯＭ、ゲートアレイ、プログラマブルロジックデバイス（ＰＬＤ）、クライアントコンピュータ等のマシンに受信され、ロードされて実行される場合、そのマシンが本発明を実施する装置となる。汎用プロセッサ上で実施される場合、プログラムコードがプロセッサと組み合わされて、本発明の機能を呼び出すように動作する固有の装置を提供する。また、本発明との関連で使用される任意の記憶技法は必然的にハードウェアとソフトウェアの組合せとなるであろう。
【００７４】
本発明は、種々の図の好ましい実施形態との関連で説明されているが、理解されるように、本発明から逸脱することなく、本発明と同じ機能を実行するために、他の類似の実施形態を用いてもよく、記載されている実施形態に変更または追加をしてもよい。例えば、本発明の例示的ネットワーク環境は、ピアツーピアネットワーク環境等のネットワーク環境との関連で説明されているが、当業者には認識されるように、本発明はこれに限定されない。本明細書に記載の方法は、有線か無線かを問わず、ゲーム用コンソール、ハンドヘルドコンピュータ、ポータブルコンピュータ等のいかなるコンピューティングデバイスまたは環境に適用することもできるし、また、通信ネットワーク経由で接続され、ネットワーク越しにやりとりをする任意個数のこのようなコンピューティングデバイスに適用することもできる。さらに、強調しておかなければならないが、特に無線ネットワークデバイスの数が増大し続けるとともに、ハンドヘルドデバイス用オペレーティングシステム等のアプリケーション固有のオペレーティングシステムを含むさまざまなコンピュータプラットフォームが考えられる。
【００７５】
例示的実施形態は、ウェブ検索サービスの関連で本発明を利用することに関するものであるが、本発明は、ウェブ検索サービスの場合に限定されず、何らかの形で互いを参照する文書またはコンテンツの任意の集合にある種の品質メトリックを提供するために実施することができる。例えば、ユーザのコンピュータに（または複数のコンピューティングデバイスにわたって）、何らかの形で（人、場所、時、イベント、アーティスト、アルバム、タイトル、俳優等によって）構造的に相互関係のある画像、映画、歌等の集合が記憶されている場合、本発明のスコアリングを、コンテンツの構造的相互関係に基づいて画像に適用することができる。例えば、第１のコンテンツと第２のコンテンツの間の類似性等の関係を、第１のコンテンツから第２のコンテンツへのリンクとみなしてもよい。また、ＡＰＩ４３２は上記ではスコアリングプロセスとの関連で説明されているが、その目的のために別個のＡＰＩを実装してもよいことが注意される。すなわち、問合せに基づいて検索および順序付けを行うためのＡＰＩ４３２の使用は、必ずしもスコアリングプロセスに関連するものである必要はない。さらに、本明細書で用いられる場合の「〜に比例する（して）」という用語は、一方のエンティティが増大すると、すべての既知の数学的関係に従って他方が増大するような２つのエンティティ間の任意の数学的関係を指す。そのような数学的関係としては、以下のものに限定されないが、幾何、線形、指数、対数等の関係がある。同じことは「反比例する」または「〜に反比例する（して）」という用語、すなわち、一方のエンティティが増大すると他方が減少する場合にも当てはまる。また、サーバという用語はさまざまな文脈でさまざまなものを意味し得るが、本明細書で種々に用いられる場合の「ウェブサーバ」という用語は、（Ａ）同じシンボリックホスト名を有する複数のウェブページ、（Ｂ）同じドメインに関連する複数のウェブページ、および（Ｃ）同じＩＰアドレスに関連する複数のウェブページ、のいずれか１つまたは複数を含むサーバコンピュータおよび／またはサーバオブジェクトを少なくとも指すことを意図している。さらに、本発明は、複数の処理チップまたはデバイスにおいて、またはそれら全体にわたって実施することができ、記憶（格納）も同様に複数のデバイスにわたって実行することができる。したがって、本発明は、いかなる単一の実施形態にも限定されてはならず、特許請求の範囲に基づく広さおよび範囲において解釈されなければならない。
【図面の簡単な説明】
【００７６】
【図１Ａ】静的リンクベースアルゴリズムによりウェブページをランク付けする従来技術の技法を示す概念図である。
【図１Ｂ】ＰａｇｅＲａｎｋアルゴリズムによりウェブページをランク付けする従来技術の技法を示す概念図である。
【図２Ａ】本発明を実装し得るさまざまなコンピューティングデバイスを有する例示的ネットワーク環境を表すブロック図である。
【図２Ｂ】本発明を実装し得る例示的な非限定的コンピューティングデバイスを表すブロック図である。
【図３Ａ】本発明によるリンクスパムの防止の背後にある直観的概念を示す模式図である。
【図３Ｂ】本発明によるリンクスパムの防止の背後にある直観的概念を示す模式図である。
【図３Ｃ】本発明によるリンクスパムの防止の背後にある直観的概念を示す模式図である。
【図３Ｄ】本発明によるリンクスパムの防止の背後にある直観的概念を示す模式図である。
【図３Ｅ】本発明によるリンクスパムの防止の背後にある直観的概念を示す模式図である。
【図３Ｆ】本発明によるリンクスパムの防止の背後にある直観的概念を示す模式図である。
【図３Ｇ】本発明によるリンクスパムの防止の背後にある直観的概念を示す模式図である。
【図４Ａ】検索エンジンアプリケーションにおける本発明の種々の実施形態の例示的実施態様を示すシステム図である。
【図４Ｂ】検索エンジンアプリケーションにおける本発明の種々の実施形態の例示的実施態様を示す流れ図である。
【図４Ｃ】検索エンジンアプリケーションにおける本発明の種々の実施形態の例示的実施態様を示す流れ図である。
【符号の説明】
【００７７】
１０ａ，１０ｂ  コンピューティングオブジェクト（サーバ）
１４  通信ネットワーク
２０  データベース
１００  コンピューティングシステム環境
１１０  コンピュータ
１１０ａ，１１０ｂ，１１０ｃ  コンピューティングオブジェクト（クライアント）
１１０ｄ，１１０ｅ  コンピューティングオブジェクト（クライアント）
１２０  処理ユニット
１２１  システムバス
１３０  システムメモリ
１３１  読み出し専用メモリ（ＲＯＭ）
１３２  ランダムアクセスメモリ（ＲＡＭ）
１３３  基本入出力システム（ＢＩＯＳ）
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  非リムーバブルメモリインタフェース
１４１  ハードディスクドライブ
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  リムーバブルメモリインタフェース
１５１  磁気ディスクドライブ
１５２  磁気ディスク
１５５  光ディスクドライブ
１５６  光ディスク
１６０  ユーザ入力インタフェース
１６１  ポインティングデバイス
１６２  キーボード
１７０  ネットワークインタフェース
１７１  ローカルエリアネットワーク（ＬＡＮ）
１７２  モデム
１７３  広域ネットワーク（ＷＡＮ）
１８０  リモートコンピュータ
１８１  メモリ記憶デバイス
１８２  グラフィクスインタフェース
１８４  グラフィクス処理ユニット（ＧＰＵ）
１８５  リモートアプリケーションプログラム
１８６  ビデオメモリ
１９０  ビデオインタフェース
１９１  モニタ
１９５  出力周辺インタフェース
１９６  プリンタ
１９７  スピーカ
４００  構造的に相互関係のある文書のソース
４１０  クローラ
４２０  リポジトリ
４３０  オブジェクト
４３２，４３４  ＡＰＩ
４４０  アプリケーションオブジェクト
【図１Ａ】
2005092881.tif 000008
【図１Ｂ】
2005092881.tif 000009
【図２Ａ】
2005092881.tif 000010
【図２Ｂ】
2005092881.tif 000011
【図３Ａ】
2005092881.tif 000012
【図３Ｂ】
2005092881.tif 000013
【図３Ｃ】
2005092881.tif 000014
【図３Ｄ】
2005092881.tif 000015
【図３Ｅ】
2005092881.tif 000016
【図３Ｆ】
2005092881.tif 000017
【図３Ｇ】
2005092881.tif 000018
【図４Ａ】
2005092881.tif 000019
【図４Ｂ】
2005092881.tif 000020
【図４Ｃ】
2005092881.tif 000021