(57)【要約】【課題】未知の通過型ＵＲＬ等が示すＷｅｂページへの不要なアクセスを回避し、本質的なコンテンツを直接ダウンロードすることを可能にすることを目的とする。【解決手段】ＵＲＬ変換装置１は、Ｗｅｂクローラ８がコンテンツ情報を収集したＵＲＬと、収集したコンテンツ情報から参照されるＵＲＬとを取得して、通過型ＵＲＬ等から本質的コンテンツを有するＷｅｂページのＵＲＬへの変換ルールを抽出する。また、ＵＲＬ変換装置１は、Ｗｅｂクローラ８から収集した次のアクセス先を示すＵＲＬが変換ルールに該当する場合、変換ルールに基づきそのＵＲＬを変換して、変換後のＵＲＬをＷｅｂクローラ８へ返す。Ｗｅｂクローラ８は、ＵＲＬ変換装置１により変換されたＵＲＬに従いＷｅｂページからコンテンツを収集する。【選択図】図１
2010123043.tif 000002
【特許請求の範囲】
【請求項１】
複数のアクセス先からコンテンツ情報を収集する収集装置がアクセス先を指定するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を変換するＵＲＬ変換装置であり、
前記収集装置がコンテンツ情報を収集したＵＲＬである参照元ＵＲＬと、収集したコンテンツ情報から参照されるＵＲＬである参照先ＵＲＬとを取得する取得部と、
前記取得部が取得した前記参照元ＵＲＬと前記参照先ＵＲＬとを対にして記憶装置に記憶して前記対を蓄積するＵＲＬ蓄積部と、
前記ＵＲＬ蓄積部が蓄積した前記対から変換元ＵＲＬと変換先ＵＲＬとを変換ルールとして処理装置により検出する変換ルール検出部と、
前記変換ルール検出部が検出した変換ルールを記憶装置に記憶する変換ルール記憶部と、
前記取得部が取得した参照先ＵＲＬの少なくとも一部が前記変換ルール記憶部が記憶した変換ルールの変換元ＵＲＬと一致する場合、前記参照先ＵＲＬの一致部分を当該変換先ＵＲＬに処理装置により置き換えて前記収集装置へ送信する変換部と
を備えることを特徴とするＵＲＬ変換装置。
【請求項２】
前記ＵＲＬ蓄積部は、複数の対を蓄積し、
前記変換ルール検出部は、
前記ＵＲＬ蓄積部が蓄積した複数の対の各対における前記参照元ＵＲＬのコンテンツの位置を示すパス要素から共通部分を参照元共通パス要素として抽出するとともに、前記各対における前記参照先ＵＲＬのパス要素から共通部分を参照先共通パス要素として抽出して、
前記各対について、前記参照元ＵＲＬのパス要素の前記参照元共通パス要素以外の部分である参照元個別パス要素と前記参照先ＵＲＬのパス要素の前記参照先共通パス要素以外の部分である参照先個別パス要素とが一致する場合には、前記参照元共通パス要素を変換元ＵＲＬのパス要素と、前記参照先共通パス要素を変換先ＵＲＬのパス要素とする変換ルールとして検出する
ことを特徴とする請求項１に記載のＵＲＬ変換装置。
【請求項３】
前記ＵＲＬ変換装置は、コンテンツの位置を示すパス要素と、パラメータ名とパラメータ値との組を有するクエリ値とを含むＵＲＬを変換するＵＲＬ変換装置であり、
前記変換ルール検出部は、変換元ＵＲＬのパス要素及び変換元ＵＲＬのパラメータ名と、変換先ＵＲＬのパス要素及び変換先ＵＲＬのパラメータ名とを変換ルールとして検出し、
前記変換ルール記憶部は、前記変換ルール検出部が検出した変換元ＵＲＬのパス要素及び変換元ＵＲＬのパラメータ名と、変換先ＵＲＬのパス要素及び変換先ＵＲＬのパラメータ名とを対にして記憶し、
前記変換部は、前記取得部が取得した参照先ＵＲＬの少なくとも一部が前記変換ルール記憶部が記憶した変換元ＵＲＬと一致するとともに、前記変換元ＵＲＬのパラメータ名が前記参照先ＵＲＬに含まれる場合、前記参照先ＵＲＬの一致部分を前記変換先ＵＲＬのパス要素に置き換えるとともに、前記参照先ＵＲＬのパラメータ名であって前記変換元ＵＲＬのパラメータ名と一致するパラメータ名を前記変換先ＵＲＬのパラメータ名に置き換えて、前記収集装置へ送信する
ことを特徴とする請求項１又は２に記載のＵＲＬ変換装置。
【請求項４】
前記変換ルール検出部は、
前記ＵＲＬ蓄積部が蓄積した対における前記参照先ＵＲＬのクエリ値が有するパラメータ値が、前記対における前記参照元ＵＲＬのクエリ値が有するパラメータ値を含む場合には、前記参照元ＵＲＬのクエリ値に含まれるパラメータ値に対するパラメータ名を変換元パラメータ名と、前記参照先ＵＲＬのクエリ値に含まれるパラメータ値に対するパラメータ名を変換先パラメータ名とする変換ルールとして検出する
ことを特徴とする請求項３に記載のＵＲＬ変換装置。
【請求項５】
前記取得部は、前記参照元ＵＲＬ及び前記参照先ＵＲＬとともに、前記コンテンツの形式を示す参照元種別を取得し、
前記ＵＲＬ蓄積部は、前記取得部が取得した参照元種別が所定の参照元種別である場合に、前記参照元ＵＲＬと前記参照先ＵＲＬとを対にして記憶する
ことを特徴とする請求項１から４までのいずれかに記載のＵＲＬ変換装置。
【請求項６】
前記ＵＲＬ蓄積部は、前記参照元種別がＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）リダイレクト又は動的コンテンツを示す場合に、前記参照元ＵＲＬと前記参照先ＵＲＬとを対にして記憶する
ことを特徴とする請求項５に記載のＵＲＬ変換装置。
【請求項７】
前記変換部は、前記参照先ＵＲＬの前記一部を前記変換先ＵＲＬに置き換えて生成した新たなＵＲＬの一部が、前記変換ルール記憶部が記憶した変換元ＵＲＬと一致する場合、前記新たなＵＲＬの一致部分を前記変換先ＵＲＬに置き換える
ことを特徴とする請求項１から６までのいずれかに記載のＵＲＬ変換装置。
【請求項８】
前記変換部は、前記取得部が取得した参照先ＵＲＬの少なくとも一部が前記変換ルール記憶部が記憶した変換元ＵＲＬと一致する場合、所定の確率で前記参照先ＵＲＬの前記一部を前記変換先ＵＲＬに置き換える
ことを特徴とする請求項１から７までのいずれかに記載のＵＲＬ変換装置。
【請求項９】
前記変換ルール検出部は、前記ＵＲＬ蓄積部が蓄積した対が所定の件数である場合に、変換ルールの検出を行う
ことを特徴とする請求項１から８までのいずれかに記載のＵＲＬ変換装置。
【請求項１０】
前記ＵＲＬ変換装置は、さらに、
前記取得部が取得した前記参照元ＵＲＬを記憶装置に一時記憶するキャッシュ記憶部を備え、
前記変換ルール検出部は、前記キャッシュ記憶部が記憶した前記参照元ＵＲＬが示すアクセス先のサーバを特定し、特定したアクセス先のサーバを示す参照元ＵＲＬを有する対を前記ＵＲＬ蓄積部が蓄積した対から抽出して、抽出した対から変換ルールを検出する
ことを特徴とする請求項１から９までのいずれかに記載のＵＲＬ変換装置。
【請求項１１】
前記ＵＲＬ変換装置は、さらに、
前記ＵＲＬ蓄積部が記憶した前記参照元ＵＲＬのコンテンツの位置を示すパス要素の共通部分である参照元共通パス要素と、前記参照元共通パス要素の出現回数とを記憶装置に記憶する共通部分記憶部を備え、
前記変換ルール検出部は、前記共通部分記憶部が記憶した出現回数が所定の回数以上である前記参照元共通パス要素を含む参照元ＵＲＬを有する対を前記前記ＵＲＬ蓄積部が蓄積した対から抽出して、抽出した対から変換ルールを検出する
ことを特徴とする請求項１から１０までのいずれかに記載のＵＲＬ変換装置。
【請求項１２】
前記ＵＲＬ変換装置は、さらに、
前記取得部が取得した前記参照元ＵＲＬの少なくとも一部が前記変換ルール記憶部が記憶した変換元ＵＲＬと一致する場合に、前記参照元ＵＲＬの一致部分を前記変換先ＵＲＬに置き換えて新たなＵＲＬを生成して、生成した新たなＵＲＬと前記取得部が取得した前記参照先ＵＲＬとが不一致である場合には、前記変換元ＵＲＬと前記変換先ＵＲＬとの変換ルールを削除する変換ルール確認部
を備えることを特徴とする請求項１から１１までのいずれかに記載のＵＲＬ変換装置。
【請求項１３】
複数のアクセス先からコンテンツ情報を収集する収集装置がアクセス先を指定するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を変換するＵＲＬ変換方法であり、
処理装置が、前記収集装置がコンテンツ情報を収集したＵＲＬである参照元ＵＲＬと、収集したコンテンツ情報から参照されるＵＲＬである参照先ＵＲＬとを取得する取得ステップと、
記憶装置が、前記取得ステップで取得した前記参照元ＵＲＬと前記参照先ＵＲＬとを対にして記憶して前記対を蓄積するＵＲＬ蓄積ステップと、
処理装置が、前記ＵＲＬ蓄積ステップで蓄積した前記対から変換元ＵＲＬと変換先ＵＲＬとを変換ルールとして検出する変換ルール検出ステップと、
記憶装置が、前記変換ルール検出ステップで検出した変換ルールを記憶する変換ルール記憶ステップと、
処理装置が、前記取得ステップで取得した参照先ＵＲＬの少なくとも一ステップで前記変換ルール記憶ステップで記憶した変換ルールの変換元ＵＲＬと一致する場合、前記参照先ＵＲＬの一致ステップ分を当該変換先ＵＲＬに置き換えて前記収集装置へ送信する変換ステップと
を備えることを特徴とするＵＲＬ変換方法。
【請求項１４】
複数のアクセス先からコンテンツ情報を収集する収集装置がアクセス先を指定するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を変換するＵＲＬ変換プログラムであり、
前記収集装置がコンテンツ情報を収集したＵＲＬである参照元ＵＲＬと、収集したコンテンツ情報から参照されるＵＲＬである参照先ＵＲＬとを取得する取得処理と、
前記取得処理で取得した前記参照元ＵＲＬと前記参照先ＵＲＬとを対にして記憶して前記対を蓄積するＵＲＬ蓄積処理と、
前記ＵＲＬ蓄積処理で蓄積した前記対から変換元ＵＲＬと変換先ＵＲＬとを変換ルールとして検出する変換ルール検出処理と、
前記変換ルール検出処理で検出した変換ルールを記憶する変換ルール記憶処理と、
前記取得処理で取得した参照先ＵＲＬの少なくとも一処理で前記変換ルール記憶処理で記憶した変換ルールの変換元ＵＲＬと一致する場合、前記参照先ＵＲＬの一致処理分を当該変換先ＵＲＬに置き換えて前記収集装置へ送信する変換処理と
をコンピュータに実行させることを特徴とするＵＲＬ変換プログラム。
【請求項１５】
複数のアクセス先からコンテンツ情報を収集する収集装置と、前記収集装置がアクセス先を指定するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を変換するＵＲＬ変換装置とを備えるＷｅｂ情報収集システムであり、
前記ＵＲＬ変換装置は、
前記収集装置がコンテンツ情報を収集したＵＲＬである参照元ＵＲＬと、収集したコンテンツ情報から参照されるＵＲＬである参照先ＵＲＬとを取得する取得部と、
前記取得部が取得した前記参照元ＵＲＬと前記参照先ＵＲＬとを対にして記憶装置に記憶して前記対を蓄積するＵＲＬ蓄積部と、
前記ＵＲＬ蓄積部が蓄積した前記対から変換元ＵＲＬと変換先ＵＲＬとを変換ルールとして処理装置により検出する変換ルール検出部と、
前記変換ルール検出部が検出した変換ルールを記憶装置に記憶する変換ルール記憶部と、
前記取得部が取得した参照先ＵＲＬの少なくとも一部が前記変換ルール記憶部が記憶した変換ルールの変換元ＵＲＬと一致する場合、前記参照先ＵＲＬの一致部分を当該変換先ＵＲＬに処理装置により置き換えた新たなＵＲＬを前記収集装置へ送信する変換部と
を備え、
前記収集装置は、前記変換部が送信した新たなＵＲＬを受信して、前記新たなＵＲＬによりアクセス先を指定してコンテンツ情報を取得する
ことを特徴とするＷｅｂ情報収集システム。
【請求項１６】
前記Ｗｅｂ情報収集システムは、さらに、
前記収集装置が収集したコンテンツ情報が動的コンテンツである場合、前記動的コンテンツを再生する動的コンテンツ再生部を備え、
前記収集装置は、前記動的コンテンツ再生部が前記動的コンテンツを再生してコンテンツ情報を取得した場合、前記コンテンツ情報を取得したアクセス先を示すＵＲＬを参照元ＵＲＬとし、前記コンテンツ情報から参照されるＵＲＬを参照先ＵＲＬとして取得し、
前記取得部は、前記収集装置が取得した前記参照元ＵＲＬと前記参照先ＵＲＬとを取得する
ことを特徴とするＷｅｂ情報収集システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、Ｗｅｂクローラ等のアクセス先を指定するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を変換する技術に関する。
【背景技術】
【０００２】
ＵＲＬによって特定されるＷｅｂ上のアクセス先（以下、Ｗｅｂページ）には、本質的なコンテンツを持たないものが多数存在している。
例えば、Ｗｅｂサイト運営者は、管理するサイトを経由して外部のサイトを訪問した閲覧者を把握するために、外部ＵＲＬを直接リンクせず、外部ＵＲＬと１対１に対応する通過型ＵＲＬをリンクすることがある。通過型ＵＲＬのリンクを閲覧者がクリックすると、その通過型ＵＲＬが示すＷｅｂページへのアクセスが行われ、そのＷｅｂページのアクセスログに外部ＵＲＬを導出可能な前記ＵＲＬが記録される。その後、通過型ＵＲＬが示すＷｅｂページはＷｅｂブラウザにリダイレクト応答を返し、閲覧者に意識させることなく外部ＵＲＬが示すＷｅｂページ（コンテンツ情報を有するＷｅｂページ）へアクセスされる。このような手法は、外部ＵＲＬへのリンクが集約される検索エンジンやポータルサイト等で広く用いられており、Ｗｅｂサイトの構成の改善や閲覧者の行動分析等に活用されている。
【０００３】
また、音声や動画のストリーミング等においては、直接コンテンツをダウンロードする代わりに、一旦再生用プログラムをダウンロード・実行させ、その再生用プログラムが実コンテンツをダウンロードするという手法が用いられる。現状、Ｗｅｂブラウザの基本機能では、コンテンツ全体をダウンロードしてから再生用プログラムを起動することしかできない。そこで、ストリーミング機能を持つ小容量の再生用プログラムをダウンロードし、Ｗｅｂブラウザのプラグインとして実行することで、閲覧者の待ち時間を解消するとともに、Ｗｅｂブラウザと密接に連携した柔軟なインタフェースの提供を可能にしている。
【０００４】
上記のような本質的なコンテンツへのアクセス経路として設置された通過型ＵＲＬは、閲覧者の行動分析の重視や、ＹｏｕＴｕｂｅ（登録商標）等のユーザ作成コンテンツ（ＵＧＣ：Ｕｓｅｒ−Ｇｅｎｅｒａｔｅｄ  Ｃｏｎｔｅｎｔｓ）サイトの隆盛に伴い、今後ますます増加すると考えられる。しかしながら、Ｗｅｂ情報の分析を目的としてＷｅｂクローラによる自動的なコンテンツ収集を行う際には、閲覧者が人間であることを前提とした通過型ＵＲＬの存在は、ＷｅｂクローラおよびＷｅｂサイトの双方にとって不要なアクセス負荷を生じる要因となる。
上記リダイレクトＵＲＬに対しては、リダイレクト元ＵＲＬとリダイレクト先ＵＲＬの文字列的な対応関係を与え、リダイレクト元ＵＲＬをリダイレクト先ＵＲＬに変換する手法が提案されている（例えば、特許文献１参照）。これにより、リダイレクト元ＵＲＬへのアクセスが生じた際には、リダイレクト元ＵＲＬをアクセスする代わりに、直接リダイレクト先ＵＲＬをアクセスすることが可能になる。
【特許文献１】特開２００５−１８２６１７号公報
【非特許文献１】「Ｍｉｎｉｎｇ  ｔｈｅ  Ｗｅｂ：  Ｄｉｓｃｏｖｅｒｉｎｇ  Ｋｎｏｗｌｅｄｇｅ  ｆｒｏｍ  Ｈｙｐｅｒｔｅｘｔ  Ｄａｔａ」Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ（２００２年８月１５日）、ＩＳＢＮ：９７８−１−５５８６０−７５４−５
【非特許文献２】「Ｇｏｏｇｌｅを支える技術  巨大システムの内側の世界」技術評論社（２００８年３月２８日）、ＩＳＢＮ：９７８−４−７７４１−３４３２−１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来のリダイレクトＵＲＬ変換方式では、ＵＲＬ変換のルールを予め与える必要があり、少数の既知Ｗｅｂサイトにしか適用できないという課題がある。つまり、未知のＷｅｂサイトにおいてはリダイレクト元ＵＲＬに対するアクセスを回避することができない。
また、通常のＷｅｂクローリングでは、動画等のストリーミング再生用プログラムを収集する。しかし、通常のＷｅｂクローリングでは、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等の静的コンテンツを対象とするため、再生用プログラムについては充分な解析は行われない。つまり、通常のＷｅｂクローリングでは、再生用プログラムを収集することは不要であるが、これを回避することはできない。また、動画等のストリーミング再生用プログラムがアクセスする実コンテンツのＵＲＬは、その再生用プログラムを実行しないと判明しないものもある。そのため、通常のＷｅｂクローリングでは、本質的でない（不要な）再生用プログラムへのアクセスが回避できないだけでなく、実コンテンツが収集できないという課題がある。
【０００６】
この発明は、例えば、未知の通過型ＵＲＬ等が示すＷｅｂページへの不要なアクセスを回避し、本質的なコンテンツを直接ダウンロードすることを可能にし、大規模Ｗｅｂクローリングの効率化を実現することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るＵＲＬ変換装置は、例えば、
複数のアクセス先からコンテンツ情報を収集する収集装置がアクセス先を指定するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を変換するＵＲＬ変換装置であり、
前記収集装置がコンテンツ情報を収集したＵＲＬである参照元ＵＲＬと、収集したコンテンツ情報から参照されるＵＲＬである参照先ＵＲＬとを取得する取得部と、
前記取得部が取得した前記参照元ＵＲＬと前記参照先ＵＲＬとを対にして記憶装置に記憶して前記対を蓄積するＵＲＬ蓄積部と、
前記ＵＲＬ蓄積部が蓄積した前記対から変換元ＵＲＬと変換先ＵＲＬとを変換ルールとして処理装置により検出する変換ルール検出部と、
前記変換ルール検出部が検出した変換ルールを記憶装置に記憶する変換ルール記憶部と、
前記取得部が取得した参照先ＵＲＬの少なくとも一部が前記変換ルール記憶部が記憶した変換ルールの変換元ＵＲＬと一致する場合、前記参照先ＵＲＬの一致部分を当該変換先ＵＲＬに処理装置により置き換えて前記収集装置へ送信する変換部と
を備えることを特徴とする。
【発明の効果】
【０００８】
この発明に係るＵＲＬ変換装置は、収集装置が収集したＵＲＬと、そのＵＲＬが示すアクセス先から取得したコンテンツに含まれるＵＲＬとからＵＲＬの変換ルールを生成する。そして、生成した変換ルールに基づき、ＵＲＬを変換する。したがって、この発明に係るＵＲＬ変換装置によれば、未知の通過型ＵＲＬに対しても不要なアクセスを回避し、リダイレクト先や実コンテンツを直接ダウンロードすることを可能にし、大規模Ｗｅｂクローリングの効率化を実現することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
この実施の形態では、アクセスしたＵＲＬとリダイレクト先ＵＲＬの間、あるいはストリーミング再生用プログラムのＵＲＬとストリーミングコンテンツのＵＲＬの間等に共通する部分文字列を検出し、ＵＲＬ間の変換規則を自動的に導出することで、未知の通過型ＵＲＬに対しても不要なアクセスを回避するＷｅｂ情報収集システム（ＵＲＬ変換システム）について説明する。
【００１０】
図１は、この実施の形態に係るＷｅｂ情報収集システムの構成図である。
図１において、Ｗｅｂ情報収集システムは、ＵＲＬ変換装置１、Ｗｅｂクローラ８（収集装置の一例）、動的コンテンツ再生部９を備える。
ＵＲＬ変換装置１は、ＵＲＬテーブル３（ＵＲＬ蓄積部）と変換ルールテーブル４（変換ルール記憶部）とを備える記憶部２、取得部５（受付部）、変換ルール検出部６、変換部７を備える。また、ＵＲＬ変換装置１は、取得部５と変換部７とにより、Ｗｅｂクローラ８とネットワークを介して接続されている。取得部５は、Ｗｅｂクローラ８からＵＲＬ受付情報５０をネットワークを介して取得してＵＲＬテーブル３に蓄積する。変換ルール検出部６は、ＵＲＬテーブル３に蓄積された複数のＵＲＬ受付情報５０から変換ルールを検出して変換ルールテーブル４に記憶する。変換部７は、変換ルールテーブル４に記憶された変換ルールに基づき、取得部５が取得したＵＲＬ受付情報５０を変換してＵＲＬ応答情報７０にして、Ｗｅｂクローラ８へネットワークを介して送信する。
Ｗｅｂクローラ８と動的コンテンツ再生部９とは、インターネット１０に接続されており、インターネット１０に接続された複数のＷｅｂサーバ１１ａ〜１１ｃからコンテンツをダウンロードする。
【００１１】
なお、上述したＵＲＬ変換装置１は、詳しくは後述するが、ＣＰＵ９１１（プロセッサ）、バス９１２、メモリ、固定ディスクインタフェース、固定ディスク装置、およびネットワークインタフェース等を備えた一般的なコンピュータにより実現できる。より具体的には、記憶部２を固定ディスク装置で実現し、取得部５、変換ルール検出部６、変換部７をメモリに格納されＣＰＵ９１１で実行されるプログラムとして実現することができる。
また、Ｗｅｂクローラ８と動的コンテンツ再生部９とは、ＵＲＬ変換装置１と同一のコンピュータ、又はＵＲＬ変換装置１とは別のコンピュータを用いて実現することができ、それぞれ、メモリあるいは固定ディスク装置、又はネットワークインタフェースを介してＵＲＬ変換装置１と接続される。
【００１２】
ここで、一般的なＷｅｂクローラの動作は、公知の文献（例えば、非特許文献１、非特許文献２）に記載されている通り、アクセス先ＵＲＬが示すＷｅｂページのコンテンツをインターネットを介して取得する。また、一般的なＷｅｂクローラは、取得したコンテンツを解析してそのコンテンツにリンクされたＵＲＬを取り出し、新たなアクセス先ＵＲＬとすることにより、多数のＷｅｂサーバから大量のコンテンツを自動的に収集するものである。
この実施の形態におけるＷｅｂクローラ８も、上述したような一般的なＷｅｂクローラと同様に動作する。しかし、この実施の形態におけるＷｅｂクローラ８は、取得したコンテンツから取り出したリンクＵＲＬを新たな取得対象としてフィードバックする際に、ＵＲＬ変換装置１を経由させる点が異なる。
また、一般的なＷｅｂクローラはＨＴＭＬやＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等で記述されたコンテンツのみを解析し、＜Ａ＞タグのＨＲＥＦ属性等に明示的に記述されたＵＲＬをリンクされたＵＲＬとして抽出を行う。
この実施の形態におけるＷｅｂクローラ８もＨＴＭＬやＸＭＬ等の静的コンテンツのみを解析する点は一般的なＷｅｂクローラと同様である。しかし、この実施の形態におけるＷｅｂクローラ８は、例えば、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社のＡｄｏｂｅ  Ｆｌａｓｈ（登録商標）形式等の動的コンテンツに対しては、動的コンテンツ再生部９の起動を行う点が異なる。
【００１３】
動的コンテンツ再生部９は、Ｗｅｂブラウザおよびそのプラグイン等、ユーザがＷｅｂを閲覧するのに用いるプログラム自体か、画面表示等を除いてＷｅｂ閲覧用プログラムと同様に動作するように作成されたプログラムにより実現される。
動的コンテンツ再生部９は、再生対象の動的コンテンツを再生する過程で、その動的コンテンツに埋め込まれた指示にしたがってインターネット１０からのダウンロードを行う。Ｗｅｂクローラ８は、動的コンテンツ再生部９がインターネット１０へアクセスしたことを検知する。そして、Ｗｅｂクローラ８は、そのアクセス先のＵＲＬを、その動的コンテンツからのリンクＵＲＬとして抽出して、ＵＲＬ変換装置１に受け渡す。
なお、Ｗｅｂクローラ８がＨＴＭＬコンテンツと同様に動的コンテンツ自体を解析し、アクセス先ＵＲＬの抽出を行わないのは、アクセス先ＵＲＬが静的な文字列として記述されていない場合があるためである。また、動的コンテンツ再生部９がその動的コンテンツの指示にしたがってダウンロードしたコンテンツが、さらに別のコンテンツに対するダウンロード指示を含むこともある。そのため、動的コンテンツからリンクされたコンテンツを正確に把握するためには、ユーザによる閲覧時と同様の環境で再生する必要があるためである。
【００１４】
以上のように、Ｗｅｂクローラ８は、動的コンテンツ再生部９と連携することにより、ＨＴＭＬで記述された静的コンテンツに加え、動的コンテンツに対しても、リンク先ＵＲＬの追跡を可能にしている。
【００１５】
図２は、取得部５がＷｅｂクローラ８から取得するＵＲＬ受付情報５０の形式を示す図である。
ＵＲＬ受付情報５０は、参照元ＵＲＬ５１、参照元種別５２、および参照先ＵＲＬ５３の３つの項目を含む。
参照元ＵＲＬ５１は、Ｗｅｂクローラ８がコンテンツ情報を収集したＵＲＬである。つまり、参照元ＵＲＬ５１は、Ｗｅｂクローラ８が取得し解析した静的コンテンツのＵＲＬ、又は動的コンテンツ再生部９が再生した動的コンテンツのＵＲＬである。
参照元種別５２は、参照元ＵＲＬ５１に対応するコンテンツの形式を表す情報である。参照元種別５２は、例えば、「ｔｅｘｔ／ｈｔｍｌ」（ＨＴＭＬコンテンツ）、「ａｐｐｌｉｃａｔｉｏｎ／ｒｓｓ＋ｘｍｌ」（ＸＭＬコンテンツの一種であるＲＳＳフィード）、「ａｐｐｌｉｃａｔｉｏｎ／ｘ−ｓｈｏｃｋｗａｖｅ−ｆｌａｓｈ」（Ａｄｏｂｅ  Ｆｌａｓｈコンテンツ）等のＭＩＭＥタイプ文字列が値となる。参照元種別５２の値は、Ｗｅｂクローラ８がＷｅｂサーバ１１ａ〜１１ｃから受け取ったＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）応答ヘッダに含まれる「Ｃｏｎｔｅｎｔ−ｔｙｐｅ」フィールドの値とすればよい（ＲＦＣ２６１６「Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ―  ＨＴＴＰ／１．１」参照）。
参照先ＵＲＬ５３は、Ｗｅｂクローラ８が取得したコンテンツ情報から参照されるＵＲＬである。つまり、参照先ＵＲＬ５３は、静的コンテンツから抽出したリンク先ＵＲＬ、又は動的コンテンツのアクセス先ＵＲＬである。
【００１６】
なお、例えば、Ｗｅｂクローラ８がＷｅｂサーバ１１ａ〜１１ｃから受け取ったＨＴＴＰ応答が成功（ステータス２００）ではなく、別ＵＲＬへのリダイレクト（ステータス３０１、３０２、３０３、および３０７）であった場合には、アクセスしたＵＲＬを参照元ＵＲＬ５１に、「ｈｔｔｐ／ｒｅｄｉｒｅｃｔ」を参照元種別５２に、リダイレクト先ＵＲＬ（ＨＴＴＰ応答ヘッダのＬｏｃａｔｉｏｎフィールドの値）を参照先ＵＲＬ５３に、それぞれ設定したＵＲＬ受付情報５０を取得部５に受け渡すものとする。
また、参照元ＵＲＬに対応する参照先ＵＲＬが複数ある場合は、参照先ＵＲＬ毎にＵＲＬ受付情報５０の受け渡しを行う。つまり、１つのＵＲＬが示すＷｅｂページのコンテンツ情報から複数のＵＲＬへリンクされている場合、リンクされているＵＲＬ毎にＵＲＬ受付情報５０を生成して、ＵＲＬ変換装置１へ受け渡す。すなわち、１つのＵＲＬ（元ＵＲＬ）が示すＷｅｂページのコンテンツ情報から３つのＵＲＬ（先ＵＲＬ１、先ＵＲＬ２、先ＵＲＬ３）へリンクされている場合、参照元ＵＲＬ５１を元ＵＲＬ、参照先ＵＲＬ５３を先ＵＲＬ１とするＵＲＬ受付情報５０と、参照元ＵＲＬ５１を元ＵＲＬ、参照先ＵＲＬ５３を先ＵＲＬ２とするＵＲＬ受付情報５０と、参照元ＵＲＬ５１を元ＵＲＬ、参照先ＵＲＬ５３を先ＵＲＬ３とするＵＲＬ受付情報５０との３つのＵＲＬ受付情報５０を生成して、ＵＲＬ変換装置１へ受け渡す。
【００１７】
図３は、変換部７がＷｅｂクローラ８に受け渡すＵＲＬ応答情報７０の形式を示す図である。
ＵＲＬ応答情報７０は、参照元ＵＲＬ７１、および参照先ＵＲＬ７２、の２つの項目を含む。
参照元ＵＲＬ７１の値は、参照先ＵＲＬ７２のコンテンツをダウンロードする際に、ＨＴＴＰ要求ヘッダのＲｅｆｅｒｅｒフィールドに設定するために用いる。変換部７が参照先ＵＲＬ５３を変換した場合、参照元ＵＲＬ７１にはＵＲＬ受付情報５０の参照先ＵＲＬ５３が設定される。一方、変換部７が参照先ＵＲＬ５３を変換しない場合、参照元ＵＲＬ７１にはＵＲＬ受付情報５０の参照元ＵＲＬ５１が設定される。
参照先ＵＲＬ７２には、変換部７が変換ルールテーブル４に記憶された変換ルールに基づき、参照先ＵＲＬ５３を変換した変換後のＵＲＬが設定される。変換部７によるＵＲＬの変換が行われない場合、参照先ＵＲＬ７２には参照先ＵＲＬ５３が設定される。
つまり、変換部７によるＵＲＬの変換が行われない場合、ＵＲＬ応答情報７０の参照元ＵＲＬ７１と参照先ＵＲＬ７２との値は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１と参照先ＵＲＬ５３との値と同一となる。
Ｗｅｂクローラ８は、ＵＲＬ応答情報７０を受け取り、参照先ＵＲＬ７２を新たなアクセス先のＵＲＬ（取得対象ＵＲＬ）とする。変換部７は、取得部５が取得したＵＲＬ受付情報５０に対してＵＲＬ応答情報７０をＷｅｂクローラ８へ返す。したがって、ＵＲＬ受付情報５０と同様に、参照元ＵＲＬに対応する参照先ＵＲＬが複数ある場合は、参照先ＵＲＬ毎にＵＲＬ応答情報７０をＷｅｂクローラ８へ返す。
【００１８】
なお、図２と図３とに例として示した値は、上述したＵＲＬ変換装置１によるＵＲＬの変換処理によって変換が行われた場合に対応している。つまり、変換部７が変換を行った場合の例を示す。すなわち、取得部５が図２に示すＵＲＬ受付情報５０をＷｅｂクローラ８から取得した場合に、変換部７が図３に示すＵＲＬ応答情報７０をＷｅｂクローラ８へ返すことを示す。
【００１９】
図４は、ＵＲＬテーブル３の形式を示す図である。
ＵＲＬテーブル３は、参照元ＵＲＬ３１、参照先ＵＲＬ３２の２つの項目を含む。
参照元ＵＲＬ３１と参照先ＵＲＬ３２との値は、取得部５がＷｅｂクローラ８から取得したＵＲＬ受付情報５０の参照元ＵＲＬ５１と参照先ＵＲＬ５３との値である。つまり、ＵＲＬテーブル３は、取得部５が取得したＵＲＬ受付情報５０の参照元ＵＲＬ５１と参照先ＵＲＬ５３とを参照元ＵＲＬ３１と参照先ＵＲＬ３２との対として蓄積する。Ｗｅｂクローラ８は、アクセスしたＷｅｂページから次々にＵＲＬ受付情報５０を抽出して、取得部５へ受け渡すため、ＵＲＬテーブル３には、複数の参照元ＵＲＬ３１と参照先ＵＲＬ３２との対が蓄積される。
なお、複数の対は、参照元ＵＲＬ３１の文字列順に取り出すことが可能になっている。これには、参照元ＵＲＬ３１をキーとして、公知のＢ−ｔｒｅｅ構造等を用いて各対を格納すれば実現できる。
【００２０】
図５は、変換ルールテーブル４の形式を示す図である。
変換ルールテーブル４は、変換部７がＵＲＬの変換に使用する変換ルールを記憶するもので、変換元プレフィックス４１、変換元パラメータ名集合４２、変換先プレフィックス４３、および変換先パラメータ名集合４４の４つの項目を含む。
変換元プレフィックス４１と変換元パラメータ名集合４２とは、変換元のＵＲＬに関する情報であり、変換先プレフィックス４３と変換先パラメータ名集合４４とは、変換先（変換後）のＵＲＬに関する情報である。変換元プレフィックス４１に対して、変換先プレフィックス４３が対応する情報であり、変換元パラメータ名集合４２に対して、変換先パラメータ名集合４４が対応する情報である。
変換元プレフィックス４１と変換先プレフィックス４３とは、ＵＲＬ文字列の先頭から取り出した部分文字列である。但し、部分文字列は文字単位ではなく、「／」を区切り文字とするパス要素（ディレクトリ名）を単位として切り出すものとする。例えば、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」の部分文字列は、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／」、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／」、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」のいずれかとなる。また、ＵＲＬがクエリ文字列（「？」に続く部分）を含む場合、部分文字列にはクエリ文字列を含めないものとする。例えば、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｓｅａｒｃｈ？ｑ＝ｆｏｏ＆ｎ＝１００」の最長部分文字列は、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｓｅａｒｃｈ？」となる。つまり、パス要素とは、ＵＲＬのうち、コンテンツの位置（ディレクトリ）を示す情報である。
変換元パラメータ名集合４２と変換先パラメータ名集合４４とは、ＵＲＬのクエリ文字列における「パラメータ名１＝値１＆パラメータ名２＝値２＆．．．」形式から抽出した０個以上のパラメータ名からなる。変換ルールテーブル４の各組の変換元パラメータ名集合４２と変換先パラメータ名集合４４とは、同数のパラメータ名を含み、各パラメータ名は並び順に応じて対応付けられている。図５の例では、変換元パラメータ名ｉｄが変換先パラメータ名ｉｄに、変換元パラメータ名ｖが変換先パラメータ名ｉｄに、変換元パラメータ名ｓｉｚｅが変換先パラメータ名ｓｉｚｅに、それぞれ対応する。
なお、変換ルール検出部６は、ＵＲＬテーブル３に蓄積された対から変換ルールを所定のタイミングで抽出して変換ルールテーブル４に記憶する。したがって、変換ルールテーブル４には、複数の変換ルールが蓄積される。蓄積された複数の変換ルールは、変換元プレフィックス４１の文字列順に取り出すことが可能になっている。これには、変換元プレフィックス４１をキーとして、公知のＢ−ｔｒｅｅ構造等を用いて各対を格納すれば実現できる。
【００２１】
次に、この実施の形態に係るＵＲＬ変換装置１の動作について説明する。
図６は、この実施の形態に係る取得部５の動作を示すフローチャートである。取得部５は、Ｗｅｂクローラ８からＵＲＬ受付情報５０を取得する度に以下の処理（Ｓ５１−Ｓ５５：取得ステップ）を実行する。
（Ｓ５１：参照元種別判定ステップ）
取得部５は、取得したＵＲＬ受付情報５０の参照元種別５２の値がリダイレクト、又は動的コンテンツを示しているか否か判定する。参照元種別５２がリダイレクト、又は動的コンテンツを示している場合（Ｓ５１でＹｅｓ）、（Ｓ５２）へ進む。一方、参照元種別５２がリダイレクト、又は動的コンテンツを示していない場合（Ｓ５１でＮｏ）、（Ｓ５５）へ進む。
（Ｓ５２：ＵＲＬ蓄積ステップ）
取得部５は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１と参照先ＵＲＬ５３とを、それぞれ参照元ＵＲＬ３１と参照先ＵＲＬ３２として対にしてＵＲＬテーブル３に挿入する。つまり、取得部５は、参照元ＵＲＬ３１と参照先ＵＲＬ３２とを対にしてＵＲＬテーブル３に蓄積する。
（Ｓ５３：蓄積件数判定ステップ）
取得部５は、ＵＲＬテーブル３に蓄積された対の件数を取得する。取得した件数が基準値の整数倍になっている場合（Ｓ５３でＹｅｓ）、（Ｓ５４）に進む。一方、取得した件数が基準値の整数倍になっていない場合（Ｓ５３でＮｏ）、（Ｓ５５）に進む。なお、基準値は予め定めておく。
（Ｓ５４：変換ルール検出ステップ）
取得部５は、変換ルール検出部６を起動して処理を実行させる。変換ルール検出部６の処理については後述する。
（Ｓ５５：ＵＲＬ受け渡しステップ）
取得部５は、取得したＵＲＬ受付情報５０を変換部７へ受け渡す。
【００２２】
図７は、変換ルール検出部６の動作を示すフローチャートである。変換ルール検出部６は、起動されると以下の処理（Ｓ６１−Ｓ６９：変換ルール検出ステップ）を行う。
（Ｓ６１：変換ルール初期化ステップ）
変換ルール検出部６は、初期設定として、変換ルールテーブル４を全件削除して空にする。また、変換ルール検出部６は、変数ｉ＝２、ｋ１＝０を初期値として設定する。
（Ｓ６２：最長共通プレフィックス抽出ステップ）
変換ルール検出部６は、ＵＲＬテーブル３の第ｉ件目の参照元ＵＲＬ３１と第ｉ−１件目の参照元ＵＲＬ３１に対し、最長共通プレフィックス（参照元共通パス要素）を求める。ここで、ＵＲＬを「／」で分割した各部分文字列をパス要素と呼ぶ。また、最長共通プレフィックスとは、２つのＵＲＬを「／」でパス要素に分割した際に、先頭から一致するパス要素を全て連結したものである。但し、「？」に続くクエリ文字列はＵＲＬ文字列から取り除く。
また、変換ルール検出部６は、抽出した最長共通プレフィックスのパス要素数をｋｉとし、抽出した最長共通プレフィックスを共通プレフィックスｋｉとする。
例えば、図４の１行目と２行目とに示す参照元ＵＲＬ３１「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」と「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／ｄｉｒ４／ｆｉｌｅ２」の最長共通プレフィックスは「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」、そのパス要素数は１である。また、例えば、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｓｅａｒｃｈ？ｑ＝ｆｏｏ＆ｎ＝１００」と「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｓｅａｒｃｈ？ｑ＝ｂａｒ＆ｎ＝１００」の最長共通プレフィックスは「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｓｅａｒｃｈ？」、そのパス要素数は３である。
（Ｓ６３：共通プレフィックス判定ステップ）
変換ルール検出部６は、（Ｓ６２）で求めたｋｉを、１つ小さなｉ（つまり、「ｉ−１」）に対して既に求めた最長共通プレフィックスのパス要素数ｋｉ−１と比較する。ｋｉ＜ｋｉ−１である場合（Ｓ６３でＹｅｓ）、（Ｓ６４）へ進む。一方、ｋｉ＜ｋｉ−１でない場合（Ｓ６３でＮｏ）、（Ｓ６６）へ進む。
例えば、現在のｉの値が３である場合、図４であれば、２行目（第ｉ−１件目）と３行目（第ｉ件目）との最長共通プレフィックスは「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／」、そのパス要素数ｋｉは２である。一方、１つ小さなｉに対して既に求めた最長共通プレフィックスのパス要素数ｋｉ−１（つまり、図４の１行目と２行目との最長共通プレフィックスのパス要素数）は上記の通り１である。したがって、この場合、ｋｉ＜ｋｉ−１でないため（Ｓ６６）へ進む。
また、現在のｉの値が４である場合、図４であれば、３行目（第ｉ−１件目）と４行目（第ｉ件目）との最長共通プレフィックスは「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」、そのパス要素数ｋｉは１である。一方、１つ小さなｉに対して既に求めた最長共通プレフィックスのパス要素数ｋｉ−１は上記の通り２である。したがって、この場合、ｋｉ＜ｋｉ−１であるため（Ｓ６４）へ進む。
（Ｓ６４：変換ルールチェックステップ）
変換ルール検出部６は、パス要素数（ｋｉ＋１）からｋｉ−１までに対応する共通プレフィックスのそれぞれに対し、後述する変換ルールチェック処理を行う。
つまり、上記の現在のｉの値が４である場合の例であれば、パス要素数（ｋｉ＋１）は２であり、パス要素数ｋｉ−１は２であるから、パス要素数２に対応する共通プレフィックス「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／」について後述する変換ルールチェック処理を行う。
（Ｓ６５：カウンタ値初期化ステップ）
変換ルール検出部６は、パス要素数毎の共通プレフィックスの出現数をカウントするカウンタの内、パス要素数（ｋｉ＋１）からｋｉ−１までに対応するものを０クリアする。
つまり、上記の現在のｉの値が４である場合の例であれば、パス要素数２に対応するカウンタを０クリアする。
（Ｓ６６：カウントステップ）
変換ルール検出部６は、パス要素数ｋｉに対応するカウンタに１を加える。これは、共通プレフィックスが一致し、直後に続くパス要素が異なる参照元ＵＲＬ３１を数えることに相当する。
つまり、上記の現在のｉの値が４である場合の例であれば、パス要素数１に対応するカウンタに１加える。つまり、共通プレフィックスは「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」であって、直後に続くパス要素が異なる参照元ＵＲＬ３１のカウンタに１を加える。つまり、ｉの値が４の時点で、パス要素数１に対応するカウンタは３になる。すなわち、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」を含む参照元ＵＲＬ３１は４件であるが、図４の２行目と３行目とは、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」の直後に続くパス要素が同じであるため１件とカウントされる。したがって、カウンタは３になる。
なお、ＵＲＬテーブル３の各対は、参照元ＵＲＬ３１の順に格納されている。そのため、最長共通プレフィックスのパス要素数が減少した場合（つまり、Ｓ６３でＹｅｓの場合）、前の最長共通プレフィックスに一致する参照元ＵＲＬ３１が再度現れることはない。つまり、上記の例であれば、ｉの値が５以上の場合に、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／」を含む参照元ＵＲＬ３１はない。したがって、（Ｓ６３）の条件成立後の（Ｓ６４）では、パス要素数（ｋｉ＋１）からｋｉ−１までに対応するカウンタは確定値となる。そこで、（Ｓ６４）においてパス要素数（ｋｉ＋１）からｋｉ−１までに対応する共通プレフィックスについての処理を行う。そして、（Ｓ６５）において、パス要素数（ｋｉ＋１）からｋｉ−１までに対応するカウンタをクリアすることで、同じパス要素数を持つ別の共通プレフィックスについての処理に備える。
（Ｓ６７：ｉインクリメントステップ）
変換ルール検出部６は、ステップＳ６７でｉに１を加える。
（Ｓ６８：終了判定ステップ）
変換ルール検出部６は、ｉがＵＲＬテーブル３の件数を超えたかどうかを判定する。つまり、変換ルール検出部６は、ＵＲＬテーブル３の全ての対について処理を行ったか否かを判定する。ｉがＵＲＬテーブル３の件数を超えている場合（Ｓ６８でＹｅｓ）、（Ｓ６９）へ進む。一方、ｉがＵＲＬテーブル３の件数を超えていない場合（Ｓ６８でＮｏ）、（Ｓ６２）へ戻り処理を繰り返す。
（Ｓ６９：終了処理ステップ）
変換ルール検出部６は、終了処理としてパス要素数０からｋｉ−１までに対応する共通プレフィックスのそれぞれに対し、後述する変換ルールチェック処理を行う。
【００２３】
図８は、図７のステップ（Ｓ６４）と（Ｓ６９）とから呼び出される変換ルールチェック処理の動作を示すフローチャートである。変換ルール検出部６は、パス要素数毎の共通プレフィックスに対し以下の処理（Ｓ７１−Ｓ７６：変換ルールチェックステップ）を行う。
（Ｓ７１：カウンタチェックステップ）
変換ルール検出部６は、共通プレフィックスに対応するカウンタの値と閾値とを比較する。カウンタが閾値以上である場合（Ｓ７１でＹｅｓ）、（Ｓ７２）へ進む。一方、カウンタが閾値以上でない場合（Ｓ７１でＮｏ）、処理を終了する。これにより、一部のＵＲＬ間に偶然成立する変換ルールを誤って導出することを防ぐ。なお、閾値は予め定めておく。
つまり、上記のｉの値が４である場合の例であれば、共通プレフィックス「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／」（パス要素数２）に対応するカウンタの値（つまり、２）と閾値とを比較する。
（Ｓ７２：プレフィックス抽出ステップ）
変換ルール検出部６は、共通プレフィックスに対応するＵＲＬテーブル３の各対から参照先ＵＲＬ３２の集合を取得する。そして、変換ルール検出部６は、その集合の全要素に共通するプレフィックス（参照先共通パス要素）を求める。参照先ＵＲＬの共通プレフィックスは空（パス要素数＝０）でも良い。
つまり、上記のｉの値が４である場合の例であれば、共通プレフィックス「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／」に対応するＵＲＬテーブル３の対、すなわち図４の２行目と３行目との対から参照先ＵＲＬ３２を取得する。そして、２行目の「ｈｔｔｐ：／／ｄａｔａ．ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／ｄｉｒ４／ｆｉｌｅ２？ｖ＝１」と、３行目の「ｈｔｔｐ：／／ｄａｔａ．ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／ｄｉｒ５／ｆｉｌｅ３？ｖ＝１」とに共通するプレフィックス「ｈｔｔｐ：／／ｄａｔａ．ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／」を求める。なお、ここでは、説明のため、上記のｉの値が４である場合に（Ｓ７１でＹｅｓ）であったとする。
（Ｓ７３：パス要素チェックステップ）
変換ルール検出部６は、ＵＲＬテーブル３の各対において、参照元ＵＲＬ３１のサフィックス（共通プレフィックスに続くパス要素。参照元個別パス要素）と参照先ＵＲＬ３２のサフィックス（参照先ＵＲＬ３２の共通プレフィックスに続くパス要素。参照先ＵＲＬ３２の共通プレフィックスが空の場合、全てのパス要素。参照先個別パス要素）がそれぞれ一致するか否か判定する。全て一致する場合（Ｓ７３でＹｅｓ）、（Ｓ７４）へ進む。一方、不一致がある場合（Ｓ７３でＮｏ）、変換ルールの導出は不可能であるため処理を終了する。
つまり、上記のｉの値が４である場合の例であれば、図４の２行目と３行目とのそれぞれの対について確認を行う。つまり、２行目であれば、参照元ＵＲＬ３１のサフィックス「ｄｉｒ４／ｆｉｌｅ２？」と参照先ＵＲＬ３２のサフィックス「ｄｉｒ４／ｆｉｌｅ２？」とが一致するか否か判定する。同様に３行目についても判定する。
なお、変換ルール検出部６は、参照元ＵＲＬ３１のサフィックスと参照先ＵＲＬ３２のサフィックスとを比較する場合には、ＵＲＬデコードした上で比較を行う。ＵＲＬデコードとは、「％」に続く１６進表現された文字列を文字コードを表すものと解釈することである。つまり、変換ルール検出部６は、「％」に続く１６進表現された文字列を文字コードを表すものとして変換して比較する。
（Ｓ７４：パラメータ値チェックステップ）
変換ルール検出部６は、ＵＲＬテーブル３の各対において、参照先ＵＲＬ３２のクエリ文字列から取り出したパラメータ値の集合が、参照元ＵＲＬ３１のクエリ文字列から取り出したパラメータ値の集合に包含されているか否か判定する。包含されている場合（Ｓ７４でＹｅｓ）、（Ｓ７５）へ進む。一方、包含されていない場合（Ｓ７５でＮｏ）、変換ルールの導出は不可能なため処理を終了する。但し、参照元ＵＲＬ３１と参照先ＵＲＬ３２とがいずれもクエリ文字列を持たない場合（パラメータ値の集合がいずれも空集合の場合）は、包含されているものとみなす。
つまり、上記のｉの値が４である場合の例であれば、２行目と３行目との各対について、参照先ＵＲＬ３２のクエリ文字列から取り出したパラメータ値と参照元ＵＲＬ３１のクエリ文字列から取り出したパラメータ値とを抽出する。例えば、２行目であれば、パラメータ値はいずれも「１」である。したがって、包含されている。同様に３行目についても包含されている。
（Ｓ７５：パラメータ名チェックステップ）
変換ルール検出部６は、ＵＲＬテーブル３の対毎に、パラメータ値が一致するパラメータ名の集合を抽出する。変換ルール検出部６は、抽出したパラメータ名集合が全ての対において一致するか否かを判定する。なお、両集合とも空の場合は一致するものとみなす。一致する場合（Ｓ７５でＹｅｓ）、（Ｓ７６）へ進む。一方、一致しない場合（Ｓ７５でＮｏ）、変換ルールの導出は不可能なため処理を終了する。
つまり、上記のｉの値が４である場合の例であれば、２行目と３行目との各対について、パラメータ値が一致するパラメータ名の集合を抽出する。２行目と３行目とはいずれもパラメータ値が「１」で一致するパラメータ名は参照元ＵＲＬ３１においては「ｉｄ」であり、参照先ＵＲＬ３２においては「ｖ」であるため、一致する。
（Ｓ７６：変換ルール記憶ステップ）
変換ルール検出部６は、参照元ＵＲＬ３１の共通プレフィックス（（Ｓ６２）で抽出した共通プレフィックス）を変換元プレフィックス４１として、（Ｓ７５）で抽出したパラメータ名集合のうち参照元ＵＲＬ３１に含まれるパラメータ名を変換元パラメータ名集合４２として、参照先ＵＲＬ３２の共通プレフィックス（（Ｓ７２）で抽出した共通プレフィックス）を変換先プレフィックス４３として、（Ｓ７５）で抽出したパラメータ名集合のうち参照先ＵＲＬ３２に含まれるパラメータ名を変換先パラメータ名集合４４として、変換ルールテーブル４に挿入する。
つまり、上記のｉの値が４である場合の例であれば、変換元プレフィックス４１に「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／」を挿入する。変換元パラメータ名集合４２に「ｉｄ」を挿入する。変換先プレフィックス４３に「ｈｔｔｐ：／／ｄａｔａ．ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ３／」を挿入する。変換先パラメータ名集合４４に「ｖ」を挿入する。
【００２４】
図９は、変換部７の動作を示すフローチャートである。
（Ｓ８１：検索ステップ）
変換部７は、（Ｓ５５）で取得部５から取得したＵＲＬ受付情報５０の参照先ＵＲＬ５３に最長一致する変換元プレフィックス４１を持つエントリ（レコード）を変換ルールテーブル４から検索して取得する。最長一致するとは、最も一致する部分が多いことであり、言い替えると、最も一致するパス要素数が多いことである。また、ここでは、ＵＲＬ受付情報５０の参照先ＵＲＬ５３の先頭側の一部が、変換元プレフィックス４１と一致するエントリを検索する。この最長一致検索は、参照先ＵＲＬ５３のパス要素を末尾から取り除きながら検索を繰り返すことで実現できる。
（Ｓ８２：検索判定ステップ）
変換部７は、検索が成功したか否かを判定する。つまり、変換部７は、（Ｓ８１）でＵＲＬ受付情報５０の参照先ＵＲＬ５３の一部と一致する変換元プレフィックス４１を持つエントリが取得できたか否かを判定する。検索が成功した場合（Ｓ８２でＹｅｓ）、（Ｓ８３）へ進む。一方、検索が失敗した場合（Ｓ８２でＮｏ）、（Ｓ８８）へ進む。
（Ｓ８３：パラメータ名チェックステップ）
変換部７は、参照先ＵＲＬ５３のクエリ文字列からパラメータ名の集合を取り出し、（Ｓ８１）で検索したエントリの変換元パラメータ名集合４２の全ての要素が含まれるか否かを判定する。含まれている場合（Ｓ８３でＹｅｓ）、（Ｓ８４）へ進む。一方、含まれていない場合（Ｓ８３でＮｏ）、（Ｓ８８）へ進む。
（Ｓ８４：乱数チェックステップ）
変換部７は、一様乱数を発生して、発生した乱数値が閾値以上か否かを判定する。乱数値が閾値以上である場合（Ｓ８４でＹｅｓ）、（Ｓ８５）へ進む。乱数値が閾値以上でない場合（Ｓ８４でＮｏ）、（Ｓ８８）へ進む。なお、閾値は予め定めておく。
ここでの閾値は変換部７が意図的に変換動作を行わない確率を表す。導出した変換ルール（変換ルールテーブル４に蓄積された変換ルール）を常に適用した場合、変換元プレフィックス４１に合致するＵＲＬに対するアクセスは全く行われなくなる。そのため、変換ルールが成立し続けているかどうか確認する手段がなくなる。つまり、変換ルールが成立しない状態となった場合であっても、それに気づくことなく変換を続けることになってしまう。そこで、（Ｓ８４）により、一定の確率で、変換ルールを適用しないようにする。その結果、変換元プレフィックス４１に合致する新たな参照元ＵＲＬ３１がＵＲＬテーブル３に追加されるようになる。そのため、成立しなくなった変換ルールが削除される。つまり、（Ｓ６１）での全件削除後、（Ｓ７６）での再挿入が行われない。
（Ｓ８５：プレフィックス変換ステップ）
変換部７は、ＵＲＬ受付情報５０の参照先ＵＲＬ５３の変換元プレフィックス４１に一致する部分を、対応する変換先プレフィックス４３に置換する。
（Ｓ８６：パラメータ名変換ステップ）
変換部７は、参照先ＵＲＬ５３のクエリ文字列中のパラメータ名のうち、変換元パラメータ名集合４２に含まれるものを、変換先パラメータ名集合４４の対応するパラメータ名に置換する。
（Ｓ８７：第１ＵＲＬ応答情報生成ステップ）
変換部７は、ＵＲＬ受付情報５０の参照先ＵＲＬ５３を参照元ＵＲＬ７１へ設定するとともに、（Ｓ８５）と（Ｓ８６）とで参照先ＵＲＬ５３を置換して生成した新たなＵＲＬを、参照先ＵＲＬ７２に設定してＵＲＬ応答情報７０を生成する。そして、変換部７は、生成したＵＲＬ応答情報７０をＷｅｂクローラ８へ送信する。
（Ｓ８８：第２ＵＲＬ応答情報生成ステップ）
変換部７は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１を参照元ＵＲＬ７１に設定するとともに、参照先ＵＲＬ５３を参照先ＵＲＬ７２に設定して、ＵＲＬ応答情報７０を生成する。そして、変換部７は、生成したＵＲＬ応答情報７０をＷｅｂクローラ８へ送信する。
【００２５】
以上のように、この実施の形態に係るＵＲＬ変換装置１によれば、ＵＲＬテーブル３に蓄積されたリダイレクトや動的コンテンツにおけるＵＲＬ間の対応関係に基づき、変換ルール検出部６がＵＲＬプレフィックスおよびパラメータ名の置換で変換可能な場合を検出し、変換ルールとして変換ルールテーブル４に蓄積する。そして、変換部７が自動的に蓄積された変換ルールを適用してＵＲＬを変換する。そのため、この実施の形態に係るＵＲＬ変換装置１によれば、リダイレクト先や実コンテンツが予測できる通過型ＵＲＬに対するアクセスを回避し、Ｗｅｂクローリングの効率を向上することができる。
特に、動的コンテンツ再生部９が動的コンテンツの再生を行いながらＷｅｂクローラ８を動作するため、動的コンテンツを再生しなければ得られないコンテンツ情報まで収集することができ、Ｗｅｂクローニングの適用範囲を広げることができる。一方で、動的コンテンツ再生部９が動的コンテンツの再生を行いながらＷｅｂクローラ８を動作させても、通過型の再生用プログラムを一定数実行した後には、通過型ＵＲＬのアクセスを回避できるようになるため、実コンテンツに対応する全ての再生用プログラムを再生することによる速度低下は起こらない。
【００２６】
なお、上記説明では、ＵＲＬの共通プレフィックスには、クエリ文字列は含まないものとした。しかし、「パラメータ名＝値」の同じ組が共通して現れる場合には、クエリ文字列の「パラメータ名＝値」部分を共通プレフィックスの一部として扱ってもよい。この場合、共通プレフィックスとして扱った「パラメータ名＝値」部分は、クエリ文字列から除外して扱う。
図１０は、図８の（Ｓ７２）で参照先ＵＲＬ３２の共通プレフィックスを求めた後に、追加で実行されるステップを示す図である。
（Ｓ７２１：クエリ文字列判定ステップ）
変換ルール検出部６は、参照先ＵＲＬの共通プレフィックス直後にクエリ文字列が続くか否か判定する。クエリ文字列が続く場合（Ｓ７２１でＹｅｓ）、（Ｓ７２２）へ進む。一方、クエリ文字列が続かない場合（Ｓ７２１でＮｏ）、（Ｓ７３）へ進む。
（Ｓ７２２：出現数算出ステップ）
変換ルール検出部６は、図８の（Ｓ７２）で対象とした参照先ＵＲＬ３２の集合における「パラメータ名＝値」の組の出現数を算出する。
（Ｓ７２３：プレフィックス抽出ステップ）
変換ルール検出部６は、出現数が閾値以上となる「パラメータ名＝値」の組を、参照先ＵＲＬの共通プレフィックスに追加するとともに、参照先ＵＲＬのクエリ文字列から除外する。そして、（Ｓ７３）へ進む。
これにより、参照先ＵＲＬが参照元ＵＲＬと関係ない「パラメータ名＝値」部分を（デフォルト値として）常に含んでいても、（Ｓ７４）での変換ルールの棄却を防ぎ、変換ルールの適用範囲を広げることが可能になる。
【００２７】
また、上記説明では、変換部７は変換ルールの適用を１回しか行わない。しかし、変換後の参照先ＵＲＬに対する変換ルールが存在する限り、複数回変換ルールを適用してもよい。つまり、リダイレクトされた先のＷｅｂページで、さらにリダイレクトされるように、複数回リダイレクトされる場合が考えられる。すなわち、複数の通過型ＵＲＬが示すＷｅｂページを経由して、実コンテンツ情報を有するＷｅｂページへアクセスする場合がある。このような場合に、複数回変換ルールを適用することにより、全ての通過型ＵＲＬが示すＷｅｂページへのアクセス回避して、実コンテンツ情報を有するＷｅｂページへ直接アクセスすることを可能とする。
図１１は、図９のステップＳ８７に代わって実行されるステップを示す図である。
（Ｓ８７’：第１ＵＲＬ応答情報生成ステップ）
変換部７は、参照元ＵＲＬ５１を新たな参照元ＵＲＬに、参照先ＵＲＬ５３を新たな参照先ＵＲＬに設定して（Ｓ８１）へ戻る。つまり、２度目以降に実行される（Ｓ８１）では、取得部５が取得したＵＲＬ受付情報５０の代わりに（Ｓ８７’）で置換されたＵＲＬ受付情報５０を入力として処理を実行する。
これにより、通過型ＵＲＬを複数回経由するようなリダイレクト、およびストリーミングコンテンツ再生においても、その始点ＵＲＬを終点ＵＲＬに置換し、直接終点ＵＲＬをアクセスすることで、Ｗｅｂクローリングの効率を向上することが可能になる。
なお、変換ルールの適用回数は所定の回数に限定してもよい。
【００２８】
実施の形態２．
この実施の形態では、実施の形態１に係るＵＲＬ変換装置１と比べ、変換ルール検出部６の動作効率を向上させたＵＲＬ変換装置１について説明する。
【００２９】
図１２は、この実施の形態に係るＷｅｂ情報収集システムの構成図である。実施の形態２に係るＵＲＬ変換装置１は、図１の構成を持つ実施の形態１に係るＵＲＬ変換装置１と比べ、ＵＲＬキャッシュ１２（キャッシュ記憶部）を備える点が異なり、その他の構成要素については実施の形態１に係るＵＲＬ変換装置１と同様である。また、ＵＲＬ変換装置１以外のＷｅｂ情報収集システムの構成は、実施の形態１に係るＷｅｂ情報収集システムと同様である。
図１３は、ＵＲＬキャッシュ１２の形式を示す図である。ＵＲＬキャッシュ１２は、所定数以下の参照元ＵＲＬ３３を含む。
【００３０】
図１４は、この実施の形態に係る取得部５の動作を示すフローチャートである。この実施の形態においては、取得部５は図６に代わり、図１４に従って動作する。
（Ｓ９１）と（Ｓ９２）とは、（Ｓ５１）と（Ｓ５２）とそれぞれ同様である。但し、（Ｓ９１でＹｅｓ）の場合（Ｓ９２）へ進み、（Ｓ９１でＮｏ）の場合（Ｓ９７）へ進む。
（Ｓ９３：キャッシュ追加ステップ）
取得部５は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１を参照元ＵＲＬ３３としてＵＲＬキャッシュ１２に追加する。
（Ｓ９４：キャッシュ判定ステップ）
取得部５は、ＵＲＬキャッシュ１２に格納された参照元ＵＲＬ３３の件数を取得する。件数が所定数である場合（Ｓ９４でＹｅｓ）、（Ｓ９５）へ進む。一方、件数が所定数でない場合（Ｓ９４でＮｏ）、（Ｓ９７）へ進む。
（Ｓ９５：変換ルール検出ステップ）
取得部５は、ＵＲＬキャッシュ１２に格納された参照元ＵＲＬ３３の値に対応するＵＲＬテーブル３のエントリに対して変換ルール検出部６を起動して処理を実行させる。つまり、変換ルール検出部６の処理は、ＵＲＬテーブル３の一部のエントリに対してのみ実行される。
ＵＲＬキャッシュ１２に格納された参照元ＵＲＬ３３の値に対応するＵＲＬテーブル３のエントリとは、ＵＲＬキャッシュ１２に格納された参照元ＵＲＬ３３に含まれるＷｅｂサーバ名（ドメイン名）を含む参照元ＵＲＬ３１を有するエントリである。つまり、取得部５は、ＵＲＬキャッシュ１２に格納された参照元ＵＲＬ３３に含まれるＷｅｂサーバ名を抽出し、抽出したＷｅｂサーバ名を含む参照元ＵＲＬ３１を有するＵＲＬテーブル３のエントリを抽出して、抽出したエントリを対象として変換ルール検出部６を動作させる。変換ルール検出部６は、図７における変数ｉを前記抽出したエントリに限定して、ＵＲＬテーブル３の件数を前記抽出したエントリ数とする。また、変換ルールテーブル４の削除対象を、Ｗｅｂサーバ名を含む変換元プレフィックス４１を有するエントリのみとする。
（Ｓ９６：キャッシュ初期化ステップ）
取得部５は、ＵＲＬキャッシュ１２の全件を削除する。
（Ｓ９７）は、（Ｓ５５）と同様である。
【００３１】
以上のように、この実施の形態に係るＵＲＬ変換装置１は、ＵＲＬキャッシュ１２を備えるため、変換ルール検出部６を起動するまでにＵＲＬテーブル３に追加されたエントリを把握することが可能である。そのため、変換ルール検出部６の動作結果が異なる可能性のある範囲に限定して変換ルール検出部６を動作させることができ、変換ルール検出部６の動作効率を向上することができる。
【００３２】
実施の形態３．
この実施の形態では、変換ルール更新動作の遅延を防ぎ、Ｗｅｂクローラ８の動作効率を向上するＷｅｂ情報収集システムについて説明する。
【００３３】
図１５は、この実施の形態に係るＷｅｂ情報収集システムの構成図である。この実施の形態に係るＵＲＬ変換装置１は、実施の形態１に係るＵＲＬ変換装置１と比べ、プレフィックステーブル１３（共通部分記憶部）と変換ルール確認部１４とを備える点が異なり、その他の構成要素については実施の形態１に係るＵＲＬ変換装置１と同様である。また、ＵＲＬ変換装置１以外のＷｅｂ情報収集システムの構成は、実施の形態１に係るＷｅｂ情報収集システムと同様である。
図１６は、プレフィックステーブル１３の形式を示す図である。プレフィックステーブル１３は、参照元ＵＲＬプレフィックス３４、長さ３５、および出現数３６の組を含む。参照元ＵＲＬプレフィックス３４は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１から抽出したプレフィックスである。つまり、参照元ＵＲＬプレフィックス３４は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１の先頭からパス要素を単位として切り出したＵＲＬである。例えば、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」のプレフィックスは、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／」と、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」と、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／」と、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」との４つである。長さ３５は、参照元ＵＲＬプレフィックス３４に含まれるパス要素数である。出現数３６は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１に参照元ＵＲＬプレフィックス３４が含まれていた回数である。
変換ルール確認部１４は、変換ルールテーブル４に蓄積された変換ルールのうち、成立しなくなった変換ルールを削除する。
【００３４】
図１７は、取得部５と変換ルール確認部１４との動作を示すフローチャートである。この実施の形態においては、取得部５は図６に代わり、図１７に従って動作する。
（Ｓ１０１）と（Ｓ１０２）とは、（Ｓ５１）と（Ｓ５２）とそれぞれ同様である。但し、（Ｓ１０１でＹｅｓ）の場合（Ｓ１０２）へ進み、（Ｓ１０１でＮｏ）の場合（Ｓ１０６）へ進む。
（Ｓ１０３：プレフィックス更新ステップ）
取得部５は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１の各プレフィックスに基づき、プレフィックステーブル１３のエントリを更新する。ここで、参照元ＵＲＬ５１の各プレフィックスとは、変換元プレフィックス４１等と同様に、ＵＲＬ文字列の先頭からパス要素単位に取り出した部分文字列である。例えば、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」のプレフィックスは、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／」と、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」と、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／」と、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」との４つである。取得部５は、参照元ＵＲＬ５１の最長のプレフィックスから順に、パス要素を末尾から１つずつ削除しながら、各プレフィックスと一致する参照元ＵＲＬプレフィックス３４を持つエントリをプレフィックステーブル１３から検索する。つまり、上記例では、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」から順に、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／」、・・・、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／」までの各プレフィックスを有するエントリをプレフィックステーブル１３から検索する。そして、取得部５は、一致するエントリが存在すればプレフィックステーブル１３の出現数３６の値に１を加える。一方、取得部５は、エントリが存在しなければ、プレフィックステーブル１３の参照元ＵＲＬプレフィックス３４にそのプレフィックスを設定し、長さ３５に当該プレフィックスのパス要素数を設定し、出現数３６に１を設定した新たなエントリをプレフィックステーブル１３に追加する。
（Ｓ１０４：変換ルール削除ステップ）
変換ルール確認部１４は、ＵＲＬ受付情報５０の参照元ＵＲＬ５１の各プレフィックスと一致する変換元プレフィックス４１を持つ変換ルールテーブル４のエントリを検索して抽出する。変換ルール確認部１４は、抽出した各エントリに基づきＵＲＬ受付情報５０の参照元ＵＲＬ５１を変換した結果が参照先ＵＲＬ５３と一致するか否か判定する。そして、変換ルール確認部１４は、一致しない結果をもたらすエントリを変換ルールテーブル４から削除する。
（Ｓ１０５：変換ルール検出ステップ）
取得部５は、（Ｓ１０３）でプレフィックステーブル１３を更新したことにより、出現数３６が閾値を越えたプレフィックステーブル１３のエントリが存在する場合、変換ルール検出部６を起動してそのエントリについて変換ルールの抽出を行う。特に、取得部５は、更新対象となったプレフィックステーブル１３のエントリのうち、出現数３６が閾値を超え、かつ長さ３５が最も大きいエントリに対して、変換ルール検出部６を起動してそのエントリについて変換ルールの抽出を行う。例えば、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／ｆｉｌｅ」のによりプレフィックステーブル１３を更新した場合に、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／」と、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／」と、「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／」と出現数３６が閾値を超えた場合、最も長さ３５が長い「ｈｔｔｐ：／／ａａａ．ｃｏｍ／ｄｉｒ１／ｄｉｒ２／」について変換ルールの抽出を行う。
但し、変換ルール検出部６は、図８に示す変換ルールチェック処理のみを行う。また、変換ルール検出部６は、カウンタの値を前記プレフィックステーブル１３のエントリの出現数３６から、そのエントリの参照元ＵＲＬプレフィックス３４で始まる（参照元ＵＲＬプレフィックス３４を有する）他のエントリの各出現数３６の値の総和を引いた値として動作する。また、変換ルール検出部６は、共通プレフィックスをそのエントリの参照元ＵＲＬプレフィックス３４の値として動作する。また、変換ルール検出部６を起動した参照元ＵＲＬプレフィックス３４については出現数３６を０クリアする。あるいは、変換ルール検出部６を起動した参照元ＵＲＬプレフィックス３４を削除する。
（Ｓ１０６）は、（Ｓ５５）と同様である。
【００３５】
以上のように、この実施の形態に係るＵＲＬ変換装置１は、プレフィックステーブル１３を備えるため、取得部５がＵＲＬ受付情報５０を受け取る度に必要に応じて変換ルール検出部６を動作させることができる。そのため、変換ルール検出部６の動作の遅延を防ぐことができ、動作効率を向上させることができる。
また、取得部５は、ＵＲＬ受付情報５０と矛盾する変換ルールを削除する処理（Ｓ１０４）を備えるので、成立しなくなった変換ルールを誤って適用することを防ぐことができる。
【００３６】
以上の実施の形態をまとめると、次のようになる。
記憶部２と取得部５と変換ルール検出部６と変換部７とを備えたＵＲＬ変換装置１であって、
記憶部２は、
ＵＲＬと、前記ＵＲＬに対応するコンテンツから参照されるＵＲＬ（以下、参照先ＵＲＬと称する）と、の組を複数格納するＵＲＬテーブル３と、
ＵＲＬ文字列の部分文字列と、前記ＵＲＬ文字列の前記部分文字列を置換して別のＵＲＬ文字列を生成するための置換部分文字列と、の組からなる変換ルールを複数格納する変換ルールテーブル４とを備え、
取得部５は、ＵＲＬと、前記ＵＲＬに対応する参照先ＵＲＬと、からなるＵＲＬ受付情報５０を受け取ってＵＲＬテーブル３に格納し、
変換ルール検出部６は、
ＵＲＬテーブル３に格納された、前記ＵＲＬと、前記参照先ＵＲＬと、の所定数以上の組からなる集合であって、
その全ての組の前記ＵＲＬに共通する空でない部分文字列が存在し、各組の前記ＵＲＬから前記共通する部分文字列を取り除いた文字列が、前記ＵＲＬと同じ組の前記参照先ＵＲＬから、全ての組の前記参照先ＵＲＬに共通する部分文字列を取り除いた文字列を含むような集合に対し、前記ＵＲＬに共通する部分文字列と、前記参照先ＵＲＬに共通する部分文字列と、からなる前記変換ルールを変換ルールテーブル４に格納し、
変換部７は、
取得部５が受け取った前記参照先ＵＲＬについて、
変換ルールテーブル４の前記部分文字列のいずれかに適合する場合、
前記参照先ＵＲＬと、前記参照先ＵＲＬの前記部分文字列に一致する部分を前記置換部分文字列に置換してなるＵＲＬ文字列と、の組をＵＲＬ応答情報７０として出力し、
前記適合する部分文字列が存在しない場合、
前記ＵＲＬと、前記参照先ＵＲＬと、の組をＵＲＬ応答情報７０として出力する
ことを特徴とする。
【００３７】
取得部５は、
さらに前記ＵＲＬに対応するコンテンツの種別を含むＵＲＬ受付情報５０を受け取り、
前記コンテンツ種別が所定の値の場合に、ＵＲＬテーブル３に前記ＵＲＬと、前記参照先ＵＲＬを格納し、
前記コンテンツ種別が所定の値でない場合に、ＵＲＬテーブル３に前記ＵＲＬと、前記参照先ＵＲＬを格納しない
ことを特徴とする。
【００３８】
前記所定の値は、ＨＴＴＰリダイレクト、又は音声・動画等マルチメディアコンテンツを示す値である
ことを特徴とする。
【００３９】
取得部５は、
受け取った前記ＵＲＬが変換ルールテーブル４の前記部分文字列に適合し、
受け取った前記参照先ＵＲＬが前記ＵＲＬの置換結果と一致しない場合に、当該変換ルールを変換ルールテーブル４から除去する
ことを特徴とする。
【００４０】
変換ルール検出部６は、前記ＵＲＬから前記共通する部分文字列を取り除いた文字列と、前記参照先ＵＲＬから前記参照先ＵＲＬに共通する部分文字列を取り除いた文字列の比較を行う際に、ＵＲＬデコード（「％」文字に続く１６進文字列を文字コードを表すものと解釈）した値を比較する
ことを特徴とする。
【００４１】
変換部７は、前記参照先ＵＲＬを置換してなるＵＲＬ文字列が、前記変換ルールテーブルの前記部分文字列に適合する場合、繰り返し置換を行う
ことを特徴とする。
【００４２】
変換部７は、前記参照先ＵＲＬの置換が所定の回数を超えて行われた場合、
前記ＵＲＬ応答情報７０を出力しない
ことを特徴とする。
【００４３】
変換部７は、所定の割合の前記参照先ＵＲＬに対し、変換ルールテーブル４の前記部分文字列に適合しても、置換を行わない
ことを特徴とする。
【００４４】
前記部分文字列、および前記置換部分文字列は、それぞれ、ＵＲＬ文字列のパスプレフィックス（元の文字列のいずれかの「／」文字以降を取り除いたもの）と、０個以上のパラメータ名（「？」文字に続くクエリ文字列における「パラメータ名＝値」形式から抽出したもの）の組である
ことを特徴とする。
【００４５】
取得部５は、ＵＲＬテーブル３に格納された前記組の件数が所定の条件を満たす場合に前記検出部を起動し、
変換ルール検出部６は、ＵＲＬテーブル３の各組を前記ＵＲＬの文字列順に取得し、１つ前のＵＲＬと共通するパスプレフィックスの長さ毎に出現数を数え、前記共通パスプレフィックスの長さが減少した際に、出現数が所定値を超える前記共通パスプレフィックスを前記部分文字列として、前記変換ルールを導出する
ことを特徴とする。
【００４６】
記憶部２は、さらに所定容量のＵＲＬキャッシュ１２を備え、
取得部５は、さらに受け取った前記ＵＲＬをＵＲＬキャッシュ１２に追加し、前記ＵＲＬキャッシュが前記所定容量に達した場合に前記検出部を起動し、
変換ルール検出部６は、ＵＲＬキャッシュ１２に格納された前記ＵＲＬから取り出した一意Ｗｅｂサーバに対応するＵＲＬテーブル３の組の集合に対して、前記変換ルールの導出を行う
ことを特徴とする。
【００４７】
記憶部２は、さらにプレフィックステーブル１３を備え、
取得部５は、さらに受け取った前記ＵＲＬから導出される全てのパスプレフィックスの出現数をプレフィックステーブル１３に格納するとともに、前記出現数が所定数に達した前記パスプレフィックスのうち最長のものに対して、変換ルール検出部６を起動し、
変換ルール検出部６は、前記パスプレフィックスで始まり、前記パスプレフィックスより長いパスプレフィックス全ての出現数の総和を、前記パスプレフィックスの出現数から引いた値が所定数を超える場合に、前記変換ルールの導出を行う
ことを特徴とする。
【００４８】
次に、実施の形態におけるＵＲＬ変換装置１、Ｗｅｂクローラ８、動的コンテンツ再生部９のハードウェア構成について説明する。
図１８は、ＵＲＬ変換装置１、Ｗｅｂクローラ８、動的コンテンツ再生部９のハードウェア構成の一例を示す図である。
図１８に示すように、ＵＲＬ変換装置１、Ｗｅｂクローラ８、動的コンテンツ再生部９は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０（固定ディスク装置）の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置９２０は、所定の固定ディスクインタフェースを介して接続される。
【００４９】
ＲＯＭ９１３、磁気ディスク装置９２０は、不揮発性メモリの一例である。ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３とＲＡＭ９１４と磁気ディスク装置９２０とは、記憶装置（メモリ）の一例である。また、キーボード９０２、通信ボード９１５は、入力装置の一例である。また、通信ボード９１５は、通信装置（ネットワークインタフェース）の一例である。さらに、ＬＣＤ９０１は、表示装置の一例である。
【００５０】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００５１】
プログラム群９２３には、上記の説明において「取得部５」、「変換ルール検出部６、」「変換部７」、「変換ルール確認部１４」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「記憶部２」が記憶する情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００５２】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【図面の簡単な説明】
【００５３】
【図１】実施の形態１に係るＷｅｂ情報収集システムの構成図。
【図２】取得部５がＷｅｂクローラ８から取得するＵＲＬ受付情報５０の形式を示す図。
【図３】変換部７がＷｅｂクローラ８に受け渡すＵＲＬ応答情報７０の形式を示す図。
【図４】ＵＲＬテーブル３の形式を示す図。
【図５】変換ルールテーブル４の形式を示す図。
【図６】取得部５の動作を示すフローチャート。
【図７】変換ルール検出部６の動作を示すフローチャート。
【図８】変換ルールチェック処理の動作を示すフローチャート。
【図９】変換部７の動作を示すフローチャート。
【図１０】図８の（Ｓ７２）で参照先ＵＲＬ３２の共通プレフィックスを求めた後に、追加で実行されるステップを示す図。
【図１１】図９のステップＳ８７に代わって実行されるステップを示す図。
【図１２】実施の形態２に係るＷｅｂ情報収集システムの構成図。
【図１３】ＵＲＬキャッシュ１２の形式を示す図。
【図１４】実施の形態２に係る取得部５の動作を示すフローチャート。
【図１５】実施の形態３に係るＷｅｂ情報収集システムの構成図。
【図１６】プレフィックステーブル１３の形式を示す図。
【図１７】実施の形態３に係る取得部５と変換ルール確認部１４との動作を示すフローチャート。
【図１８】ＵＲＬ変換装置１、Ｗｅｂクローラ８、動的コンテンツ再生部９のハードウェア構成の一例を示す図。
【符号の説明】
【００５４】
１  ＵＲＬ変換装置、２  記憶部、３  ＵＲＬテーブル、４  変換ルールテーブル、５  取得部、６  変換ルール検出部、７  変換部、８  Ｗｅｂクローラ、９  動的コンテンツ再生部、１０  インターネット、１１ａ，１１ｂ，１１ｃ  Ｗｅｂサーバ、１２  ＵＲＬキャッシュ、１３  プレフィックステーブル、１４  変換ルール確認部、３１  参照元ＵＲＬ、３２  参照先ＵＲＬ、３３  参照元ＵＲＬ、３４  参照元ＵＲＬプレフィックス、３５  長さ、３６  出現数、４１  変換元プレフィックス、４２  変換元パラメータ名集合、４３  変換先プレフィックス、４４  変換先パラメータ名集合、５０  ＵＲＬ受付情報、５１  参照元ＵＲＬ、５２  参照元種別、５３  参照先ＵＲＬ、７０  ＵＲＬ応答情報、７１  参照元ＵＲＬ、７２  参照先ＵＲＬ。
【図１】
2010123043.tif 000003
【図２】
2010123043.tif 000004
【図３】
2010123043.tif 000005
【図４】
2010123043.tif 000006
【図５】
2010123043.tif 000007
【図６】
2010123043.tif 000008
【図７】
2010123043.tif 000009
【図８】
2010123043.tif 000010
【図９】
2010123043.tif 000011
【図１０】
2010123043.tif 000012
【図１１】
2010123043.tif 000013
【図１２】
2010123043.tif 000014
【図１３】
2010123043.tif 000015
【図１４】
2010123043.tif 000016
【図１５】
2010123043.tif 000017
【図１６】
2010123043.tif 000018
【図１７】
2010123043.tif 000019
【図１８】
2010123043.tif 000020