(57)【要約】      （修正有）【課題】ネットワーク上に存在する情報から所望の情報を取得した取得履歴情報を用いて自動的に所望の情報を収集する情報収集システムの提供。【解決手段】情報収集サーバは、情報収集クライアントとＷｅｂサーバとの間でやり取りされたＨＴＴＰメッセージを補足し、履歴を生成する。生成した履歴をＸＭＬを用いてルール化して保存し、巡回収集の時に、ルールからリクエストメッセージを復元し、コンテンツの自動収集を行う。ＨＴＴＰメッセージのＸＭＬを用いたルール化において、ＨＴＴＰメッセージのコマンド行の値を取得し、その値をタグ＜ｃｏｍｍａｎｄＬｉｎｅ＞に、ＨＴＴＰメッセージのヘッダ・フィールドの値を取得し、その値をタグ＜ｈｔｔｐＨｅａｄｅｒ＞に、さらに、ＨＴＴＰメッセージのメッセージ・ボディの値を取得し、その値をタグ＜ｈｔｔｐＢｏｄｙ＞に対応させて記述する。【選択図】図５ａ
2009087088.tif 000002
【特許請求の範囲】
【請求項１】
情報収集要求装置が指定した情報を情報収集装置が自動的に収集する情報収集システムであって、
前記情報収集要求装置は、
情報を提供する情報提供装置から所定の情報を取得する情報取得手段、
前記所定の情報の取得の開始を知らせる取得開始情報及び終了を知らせる取得終了情報を提供する取得開始終了告知手段、
を有し、
前記情報収集装置は、
前記取得開始情報を取得してから前記取得終了情報を取得するまでの間において、前記情報収集要求装置が情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段に記憶させる情報収集履歴記憶制御手段、
前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出する要求手順抽出手段、
前記要求手順にしたがって、前記情報提供装置から情報を収集する情報収集手段、
を有する情報収集システム。
【請求項２】
情報収集要求装置が情報提供装置から情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段に記憶させる情報収集履歴記憶制御手段、
前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出する要求手順抽出手段、
前記要求手順にしたがって、前記情報提供装置から情報を収集する情報収集手段、
を有する情報収集装置。
【請求項３】
請求項１に係る情報収集システム又は請求項２に係る情報収集装置のいずれかにおいて、
前記情報収集履歴記憶制御手段は、さらに、
前記情報収集要求装置と前記情報提供装置との間の通信プロトコルに則っとり送受信されたデータを前記手順とすること、
を特徴とするもの。
【請求項４】
請求項３に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記情報収集履歴記憶制御手段は、さらに、
前記通信プロトコルとしてＨＴＴＰを用い、ＨＴＴＰメッセージを前記手順とし、
前記要求手順抽出手段は、
前記情報収集履歴情報から、前記ＨＴＴＰメッセージの中からリクエストメッセージを要求手順として抽出すること、
を特徴とするもの。
【請求項５】
請求項３に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記情報収集装置は、さらに、
前記情報収集要求装置が前記情報提供装置に送信したデータと、前記情報収集要求装置が前記情報提供装置から受信したデータとを比較する比較手段、
前記比較の結果、同一であると判断された部分を比較情報として記憶手段に記憶させる比較情報記憶制御手段、
前記要求手順にしたがって、前記情報提供装置から情報を獲得する際に、ある前記要求手順に対応して前記情報提供装置から受信した受信データと前記比較情報とを用いて、前記要求手順の次の要求手順における前記同一部分を、前記受信データにおける前記同一部分の値で修正する要求手順修正手段、
を有するもの。
【請求項６】
請求項５に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記情報収集手段は、さらに、
修正した前記要求手順にしたがって、情報を収集し、
前記情報収集要求装置は、さらに、
修正した前記要求手順にしたがって所定の情報を収集できない場合には、前記比較情報を修正する比較情報修正手段、
【請求項７】
請求項６に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記比較情報修正手段は、さらに、
前記比較情報から前記同一部分のうち一部若しくは全部を削除することによって、前記比較情報を修正すること、
を特徴とするもの。
【請求項８】
請求項１に係る情報収集システムにおいて、
前記情報取得手段は、さらに、
前記情報収集要求装置が有する情報を取得し、
前記情報収集要求装置は、さらに、
前記情報収集要求装置が有する情報を取得する際には、当該情報収集要求装置における前記情報の存在位置を知らせる存在位置告知情報を提供する存在位置提供手段、
を有し、
前記情報収集手段は、さらに、
前記存在位置告知情報にしたがって、前記情報を収集すること、
を特徴とするもの。
【請求項９】
請求項２に係る情報収集装置において、
前記情報収集手段は、さらに、
前記情報収集要求装置における情報の存在位置を知らせる存在位置告知情報にしたがって、前記情報収集要求装置が有する情報を収集すること、
を特徴とするもの。
【請求項１０】
請求項１〜請求項９に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記情報収集要求装置は、さらに、
前記所定の情報の一部の範囲を指定して当該情報の収集を要求する情報範囲指定情報を提供する情報範囲指定手段、
を有し、
前記情報収集手段は、さらに、
前記情報範囲指定情報にしたがって、当該情報の一部について情報を収集すること、
を特徴とするもの。
【請求項１１】
コンピュータを、情報収集装置として実現する情報収集プログラムであって、
前記情報収集プログラムは、コンピュータを、
情報収集要求装置が情報提供装置から情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段に記憶させる情報収集履歴記憶制御手段、
前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出する要求手順抽出手段、
前記要求手順にしたがって、前記情報提供装置から情報を収集する情報収集手段、
として実現する情報収集プログラム。
【請求項１２】
請求項１１に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集履歴記憶制御手段が、さらに、
前記情報収集要求装置と前記情報提供装置との間の通信プロトコルに則っとり送受信されたデータを前記手順とするもの、
として実現する情報収集プログラム。
【請求項１３】
請求項１２に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集履歴記憶制御手段が、さらに、
前記通信プロトコルとしてＨＴＴＰを用い、ＨＴＴＰメッセージを前記手順とし、
前記要求手順抽出手段が、さらに、
前記情報収集履歴情報から、前記ＨＴＴＰメッセージの中からリクエストメッセージを要求手順として抽出するもの、
として実現する情報収集プログラム。
【請求項１４】
請求項１３に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、さらに、
前記情報収集要求装置が前記情報提供装置に送信したデータと、前記情報収集要求装置が前記情報提供装置から受信したデータとを比較する比較手段、
前記比較の結果、同一であると判断された部分を比較情報として記憶手段に記憶させる比較情報記憶制御手段、
前記要求手順にしたがって、前記情報提供装置から情報を獲得する際に、ある前記要求手順に対応して前記情報提供装置から受信した受信データと前記比較情報とを用いて、前記要求手順の次の要求手順における前記同一部分を、前記受信データにおける前記同一部分の値で修正する要求手順修正手段、
として実現する情報収集プログラム。
【請求項１５】
請求項１４に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集手段が、さらに、
修正した前記要求手順にしたがって、情報を収集するものとし、
さらに、
修正した前記要求手順にしたがって所定の情報を収集できない場合には、前記比較情報を修正する比較情報修正手段、
として実現する情報収集プログラム。
【請求項１６】
請求項１５に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記比較情報修正手段が、さらに、
前記比較情報から前記同一部分のうち一部若しくは全部を削除することによって、前記比較情報を修正するもの、
として実現する情報収集プログラム。
【請求項１７】
請求項１１に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集手段が、さらに、
前記情報収集要求装置における情報の存在位置を知らせる存在位置告知情報にしたがって、前記情報収集要求装置が有する情報を収集するもの、
として実現する情報収集プログラム。
【請求項１８】
請求項１１〜請求項１７に係る情報収集プログラムのいずれかにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集手段が、さらに、
前記所定の情報の一部の範囲を指定して当該情報の収集を要求する情報範囲指定情報にしたがって、当該情報の一部について情報を収集するもの、
として実現する情報収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に存在する情報から所望の情報を自動的に収集する情報収集システムであって、特に、所望の情報を取得した取得履歴情報を用いて自動的に所望の情報を収集できるものに関する。
【背景技術】
【０００２】
従来の情報収集装置を特開２００６−１２００４８に記載されたテーブル監視装置を例に説明する。特開２００６−１２００４８におけるテーブル監視装置は、所定のＷｅｂページにおいてユーザが注目するデータ（注目データ）を格納するセルの位置がテーブル内で変わっても、注目データを格納するセルを同定し、注目データを監視、つまり注目データの値の変化の有無を判断するものである。
【０００３】
【特許文献１】特開２００６−１２００４８
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述のテーブル監視装置には、以下のような問題点がある。テーブル監視装置では、注目データを監視するにあたって、所定のＷｅｂページにアクセスする必要がある。所定のＷｅｂページに対してユーザ認証等のアクセス制限がかけられている場合、ユーザは、まずユーザ認証を実行してアクセス制限を解除した後に当該所定のＷｅｂページにアクセスする必要がある。また、注目データの監視は、ユーザ認証が有効である期間に行われなければならない。したがって、ユーザ認証が有効である期間、つまり比較的短時間における注目データの値の変化を判断する場合には適用できるが、ユーザ認証が無効となってしまう程長時間における注目データの値の変化の有無を判断する場合には適用できない。つまり、場合によっては所定のｗｅｂページにアクセスでいないという問題がある。
【０００５】
そこで、本発明は、どのような環境でも自動的に情報を収集できる情報収集システムの提供を目的とする。
【課題を解決するための手段】
【０００６】
本発明に関する課題を解決するための手段および発明の効果を以下に示す。
【０００７】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、前記取得開始情報を取得してから前記取得終了情報を取得するまでの間において、前記情報収集要求装置が情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段に記憶させ、前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出し、前記要求手順にしたがって、前記情報提供装置から情報を収集する。
【０００８】
これにより、取得開始情報を取得してから取得終了情報を取得するまでの間に情報収集履歴情報を取得するだけで容易に情報の自動収集を行うことができる。
【０００９】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記情報収集要求装置と前記情報提供装置との間の通信プロトコルに則っとり送受信されたデータを前記手順とする。
【００１０】
これにより、手順として、規格上ほぼ統一された形式を有する通信プロトコルに基づく送受信データを用いることによって、手順を容易に解析することができるので、情報収集履歴情報を用いて容易に情報の自動収集を行うことができる。
【００１１】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記通信プロトコルとしてＨＴＴＰを用い、ＨＴＴＰメッセージを前記手順とし、前記情報収集履歴情報から、前記ＨＴＴＰメッセージの中からリクエストメッセージを要求手順として抽出する。情報の収集に必要なリクエストメッセージを用いることによって、効率的に情報の自動収集を行うことができる。
【００１２】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記情報収集要求装置が前記情報提供装置に送信したデータと、前記情報収集要求装置が前記情報提供装置から受信したデータとを比較し、前記比較の結果、同一であると判断された部分を比較情報として記憶手段に記憶させ、前記要求手順にしたがって、前記情報提供装置から情報を獲得する際に、ある前記要求手順に対応して前記情報提供装置から受信した受信データと前記比較情報とを用いて、前記要求手順の次の要求手順における前記同一部分を、前記受信データにおける前記同一部分の値で修正する。
【００１３】
これにより、情報取得要求装置と情報提供装置との間の通信において、一連の情報取得手順を特定する場合、例えば、いわゆるセッション管理を行う場合であっても、容易に情報の自動収集を行うことができる。
【００１４】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、修正した前記要求手順にしたがって所定の情報を収集できない場合には、前記比較情報を修正する。
【００１５】
これにより、情報の収集可否に基づいて比較情報を修正するので、確実に自動収集を行うことができる。
【００１６】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記比較情報から前記同一部分のうち一部若しくは全部を削除することによって、前記比較情報を修正する。
【００１７】
これにより、容易かつ確実に比較情報の修正を行うことができる。
【００１８】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、前記情報収集要求装置における情報の存在位置を知らせる存在位置告知情報にしたがって、前記情報収集要求装置が有する情報を収集する。
【００１９】
これにより、情報収集要求装置が有する情報についても、容易に情報の自動収集を行うことができる。
【００２０】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記情報範囲指定情報にしたがって、当該情報の一部について情報を収集する。
【００２１】
これにより、必要な情報だけを自動収集することができる。
【発明を実施するための最良の形態】
【００２２】
本発明における情報収集システムの実施例を以下において説明する。
【実施例１】
【００２３】
1.  概要
本発明に係るスキル管理装置の機能ブロック図を図１に示す。情報収集システムＳ１は、情報収集装置Ｍ１１、情報収集要求装置Ｍ１３を有している。情報収集装置Ｍ１１は、情報収集履歴情報記憶制御手段ｍ１１１、記憶手段ｍ１１３、要求手順抽出手段ｍ１１５、及び情報収集手段ｍ１１７を有している。情報収集要求装置Ｍ１３は、情報取得手段ｍ１３１及び取得開始終了告知手段ｍ１３３を有している。
【００２４】
情報収集履歴情報記憶制御手段ｍ１１１は、前記取得開始情報を取得してから前記取得終了情報を取得するまでの間において、前記情報収集要求装置が情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段ｍ１１３に記憶させる。また、情報収集履歴情報記憶制御手段ｍ１１１は、前記情報収集要求装置と前記情報提供装置との間の通信プロトコルに則っとり送受信されたデータを前記手順とする。さらに、情報収集履歴情報記憶制御手段ｍ１１１は、前記通信プロトコルとしてＨＴＴＰを用い、ＨＴＴＰメッセージを前記手順とする。
【００２５】
要求手順抽出手段ｍ１１５は、前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出する。また、要求手順抽出手段ｍ１１５は、前記情報収集履歴情報から、前記ＨＴＴＰメッセージの中からリクエストメッセージを要求手順として抽出する。
【００２６】
情報収集手段ｍ１１７は、前記要求手順にしたがって、前記情報提供装置から情報を収集する。
【００２７】
情報取得手段ｍ１３１は、情報を提供する情報提供装置から所定の情報を取得する。取得開始終了告知手段ｍ１３３は、前記所定の情報の取得の開始を知らせる取得開始情報及び終了を知らせる取得終了情報を提供する。
【００２８】
2.  ハードウェア構成
2.1.  情報収集システム１のネットワーク構成
情報収集システム１のハードウェア構成を図２を用いて説明する。情報収集システム１は、情報収集サーバ１１及び情報収集クライアント１３を有している。情報収集サーバ１１及び情報収集クライアント１３は、互いにネットワークを介して接続されており、互いにデータの送受信を行うことができる。また、情報収集システム１は、ネットワークを介してＷｅｂサーバ１５、コンテンツサーバ１７と接続されており、互いにデータの送受信を行うことができる。
【００２９】
情報収集サーバ１１は、情報収集クライアント１３に代わってＷｅｂサーバ１５及びコンテンツサーバ１７から情報を収集し、収集した情報を情報収集クライアント１３へ提供する。情報収集クライアント１３は、情報収集サーバ１１に対して情報を収集するように命令する。
【００３０】
Ｗｅｂサーバ１５は、ＷＷＷシステムに則った情報の送受信を行う。コンテンツサーバ１７は、文書や映像等のコンテンツの保存および管理を行う。Ｗｅｂサーバ１５及びコンテンツサーバ１７は、一般的に用いられているＷｅｂサーバ、コンテンツサーバにより構成されている。
【００３１】
以下において、情報収集サーバ１１及び情報収集クライアント１３のハードウェア構成を説明する。
【００３２】
2.2.  情報収集サーバ１１のハードウェア構成
情報収集サーバ１１のハードウェア構成を図３を用いて説明する。情報収集サーバ１１は、ＣＰＵ１１１、メモリ１１２、ハードディスク１１３、キーボード１１４、マウス１１５、ディスプレイ１１６、光学式ドライブ１１７、及び通信制御回路１１８を有している。
【００３３】
ＣＰＵ１１１は、ハードディスク１１３に記録されているオペレーティング・システム（ＯＳ）、情報収集サーバプログラム等その他のアプリケーションに基づいた処理を行う。メモリ１１２は、ＣＰＵ１１１に対して作業領域を提供する。ハードディスク１１３は、オペレーティング・システム（ＯＳ）、情報収集サーバプログラム等その他のアプリケーション、コンテンツ巡回ルールを含む各種データを記録保持する。コンテンツ巡回ルールについては後述する。
【００３４】
キーボード１１４、マウス１１５は、ユーザ等による外部からの操作を受け付ける。ディスプレイ１１６は、ＯＳやアプリケーションのユーザインターフェイス等を表示する。
【００３５】
光学式ドライブ１１７は、情報収集サーバプログラムが記録されている光学式メディア１１０から情報収集プログラムを、また、他の光学式メディアからその他のアプリケーションのプログラムを読み取る等、光学式メディアからのデータの読み取りを行う。通信制御回路１１８は、ネットワークを介したデータの送受信を行う。
【００３６】
2.3.  情報収集クライアント１３のハードウェア構成
情報収集クライアント１３のハードウェア構成を図４を用いて説明する。情報収集クライアント１３は、ＣＰＵ１３１、メモリ１３２、ハードディスク１３３、キーボード１３４、マウス１３５、ディスプレイ１３６、光学式ドライブ１３７、及び通信制御回路１３８が接続されている。
【００３７】
ＣＰＵ１３１は、ハードディスク１３３に記録されているオペレーティング・システム（ＯＳ）、情報収集クライアントプログラム等その他のアプリケーションに基づいた処理を行う。メモリ１３２は、ＣＰＵ１３１に対して作業領域を提供する。ハードディスク１３３は、オペレーティング・システム（ＯＳ）、情報収集クライアントプログラム等その他のアプリケーションを含む各種データを記録保持する。
【００３８】
キーボード１３４、マウス１３５は、ユーザ等による外部からの命令を受け付ける。ディスプレイ１３６は、ＯＳやアプリケーションのユーザインターフェイス等を表示する。
【００３９】
光学式ドライブ１３７は、情報収集クライアントプログラムが記録されている光学式メディア１３０から情報収集クライアントプログラムを、また、他の光学式メディアからその他のアプリケーションのプログラムを読み取る等、光学式メディアからのデータの読み取りを行う。通信制御回路１３８は、ネットワークを介したデータの送受信を行う。
【００４０】
3.  ＨＴＴＰ
情報収集システム１では、データの送受信にＨＴＴＰ（Hyper Text Transfer Protocol）を用いている。ＨＴＴＰは、ＷｅｂサーバとＷｅｂブラウザ等のクライアントとの間でデータを送受信するのに用いられるプロトコルである。ＨＴＴＰでは、クライアントは、Ｗｅｂサーバにアクセスする際に、リクエストメッセージをＷｅｂサーバに渡し、リクエストメッセージを受け取ったＷｅｂサーバは、リクエストメッセージに対応するレスポンスメッセージをクライアントに返す。
【００４１】
ここで、ＨＴＴＰの記述形式を図５を用いて説明する。ＨＴＴＰにおけるリクエストメッセージ及びレスポンスメッセージは、メッセージヘッダ、メッセージボディにより構成される。メッセージヘッダとメッセージボディとは、１行の空行により区切られる。
【００４２】
メッセージヘッダは、リクエストライン若しくはステータスラインと呼ばれるコマンドを記述する行（以下、コマンド行とする。）とリクエストメッセージ及びレスポンスメッセージの実質的な内容や属性を記述するヘッダフィールドを有している。なお、コマンド行は１行と規定されている。メッセージボディは、常に存在するわけではなく、必要であれば記述される。
【００４３】
リクエストラインは、メソッドトークン、リクエストＵＲＩ、プロトコルバージョンの記述を有し、改行（ＣＲＬＦ）で終了する。リクエストラインを構成する各要素は、スペース（ＳＰ）によって区切られる。図５におけるリクエストラインでは、「ＧＥＴ」がメソッドトークンに、「／ｉｎｄｅｘ．ｈｔｍｌ」がリクエストＵＲＩに、「ＨＴＴＰ／１．１」がプロトコルバージョンに、それぞれ対応する。
【００４４】
ステータスラインは、ＨＴＴＰバージョン、ステータスコード、レスポンスフレーズの記述を有し、改行で終了する。リクエストラインを構成する各要素は、スペース（ＳＰ）によって区切られる。図５におけるステータスラインでは、「ＨＴＴＰ／１．１」がＨＴＴＰバージョンに、「２００」がステータスコードに、「ＯＫ」がレスポンスフレーズに、それぞれ対応する。 
ヘッダフィールドは、データに関する情報やソフトウェアに関する情報がメタ情報として記述される。ヘッダフィールドは、フィールド名、その後にコロン（：）、そしてフィールド値の記述を有する。図５におけるレスポンスメッセージにおけるヘッダフィールドでは、「Ｄａｔｅ」、「Ｓｅｖｅｒ」、「Ｃｏｎｔｅｎｔ−Ｌｅｎｇｔｈ」、「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」がフィールド名に対応し、「Ｓａｔｒｕｄａｙ，０７  Ｏｃｔ  ２００６  ０６：１８：３６  ＧＭＴ」、「Ａｐａｃｈｅ／１．３．２２（Ｕｎｉｘ）（Ｒｅｄ−Ｈａｔ／Ｌｉｎｕｘ）」、「４４４４」、「ｔｅｘｔ／ｈｔｍｌ」が、それぞれのフィールド名に対応するフィールド値となる。
【００４５】
メッセージボディには、送信する内容が記述される。
【００４６】
4.  コンテンツ巡回ルール
情報収集サーバ１１がハードディスク１１３に記録しているコンテンツ巡回ルールについて説明する。コンテンツ巡回ルールとは、情報収集サーバ１１が情報収集クライアント１３に代わってコンテンツ等を取得するためのルールをいう。本実施形態においては、情報収集クライアント１３がＨＴＴＰを用いてＷｅｂサーバ２５、コンテンツサーバ２７へ送信した所定のリクエストメッセージに基づき、コンテンツ巡回ルールを生成している。
【００４７】
ここで、コンテンツ巡回ルールについて図５ａを用いて説明する。図５ａは、本実施例におけるコンテンツ巡回ルールをＸＭＬを用いて記述したものを示している。また、図７におけるコンテンツ巡回ルールは、情報収集クライアント１３とＷｅｂサーバ２５若しくはコンテンツサーバ２７との間で図５に示すＨＴＴＰメッセージの送受信があった場合に生成されるものである。
【００４８】
図５ａにおけるＨＴＴＰメッセージを構成する各要素は抽出された後、要素毎に対応するタグと関連付けられ、図５ａに示すコンテンツ巡回ルールとして再構成される。図５ａに示すように、例えば、リクエストメッセージにおけるリクエストラインに記述されている値は、タグ＜ｃｏｍｍａｎｄＬｉｎｅ＞と関連付けられ、コンテンツ巡回ルールにおいてタグ＜ｃｏｍｍａｎｄＬｉｎｅ＞〜＜／ｃｏｍｍａｎｄＬｉｎｅ＞間に記述されている。なお、リクエストラインに記述されている値とコンテンツ巡回ルールにおけるタグとの対応関係は、予め定めておく。
【００４９】
5.  情報収集システム１の動作
情報収集システム１の動作の概略を図６、図７を用いて説明する。図６に示すように、情報収集クライアント１３のＣＰＵ１３１は、ＯＳを介して何らかのコマンドを獲得すると（Ｓ６０１）、獲得したコマンドがどの処理に対応するコマンドであるのかを判断する（Ｓ６０３）。
【００５０】
ＣＰＵ１３１は、獲得したコマンドが情報収集サーバ１１に対してコンテンツ巡回ルールの生成を要求する新規データ収集コマンドであると判断すると、情報収集プログラムを起動し（Ｓ６０５）、新規データ収集要求処理を実行する（Ｓ６０７）。ＣＰＵ１３１は、新規データ収集要求処理において生成した新規データインポートコマンド（後述）を情報収集サーバ１１へ送信する。
【００５１】
また、ＣＰＵ１３１は、獲得したコマンドが情報収集サーバ１１に対して収集データの更新を要求するデータ更新要求コマンドであると判断すると、情報収集プログラムを起動し（Ｓ６０９）、データ更新要求処理を実行する（Ｓ６１１）。ＣＰＵ１３１は、データ更新要求処理において生成したデータ更新コマンド（後述）を情報収集サーバ１１へ送信する。
【００５２】
なお、新規データ収集コマンド、データ更新要求コマンドは、例えば、ディスプレイ１１６上に配置されたショートカット・アイコン等の選択や、コマンド入力画面における対応するコマンドの入力といったユーザの作業を介して獲得する。
【００５３】
ＣＰＵ１３１は、獲得したコマンドが新規データ収集コマンド、データ更新要求コマンド以外のコマンドであった場合には、そのコマンドに対応する処理を実行する（Ｓ６１３）。
【００５４】
ＣＰＵ１３１は、新規データ収集要求処理（Ｓ６０７）、データ更新要求処理（Ｓ６０９）が終了した後、コマンド待ち状態とする（Ｓ６１５）。ＣＰＵ１３１は、コマンドを獲得すると、獲得したコマンドがどの処理に対応するコマンドであるのかを判断する（Ｓ６１７）。そして、ＣＰＵ１３１は、獲得したコマンドが新規データ収集コマンドであると判断すると新規データ収集要求処理（Ｓ６０７）を、データ更新要求コマンドであると判断するとデータ更新要求処理（Ｓ６０９）を、情報収集サーバプログラムの終了コマンドであると判断すると、情報収集サーバプログラムを終了する（Ｓ６１９）。
【００５５】
一方、図７に示すように、情報収集サーバ１１のＣＰＵ１１１は、情報収集サーバプログラムの起動命令を獲得すると（Ｓ７０１）、情報収集サーバプログラムを起動し（Ｓ７０３）、コマンド待ち状態とする（Ｓ７０５）。ＣＰＵ１１１は、コマンド待ち状態において、何らかのコマンドを獲得すると、獲得したコマンドがどの処理に対応するコマンドであるのかを判断する（Ｓ７０７）。
【００５６】
ＣＰＵ１１１は、獲得したコマンドが新規データインポートコマンドであると判断すると、コンテンツ巡回ルール生成処理を実行する（Ｓ７０９）。また、ＣＰＵ１１１は、獲得したコマンドがデータ更新コマンドであると判断すると、コンテンツ巡回処理を実行する（Ｓ７１１）。なお、ＣＰＵ１１１は、獲得したコマンドが新規データインポートコマンド、データ更新コマンド以外のコマンドであった場合には、そのコマンドに対応する処理を実行する（Ｓ７１３）。
【００５７】
ＣＰＵ１１１は、コンテンツ巡回ルール生成処理（Ｓ７０９）、コンテンツ巡回処理（Ｓ７１１）が終了した後、情報収集サーバプログラムの終了コマンドを獲得すると（Ｓ７１３）、情報収集サーバプログラムを終了する（Ｓ７１５）。
【００５８】
以下において、情報収集クライアント１３のＣＰＵ１３１が実行する新規データ収集要求処理（Ｓ６０７）及びデータ更新要求処理（Ｓ６１１）、情報収集サーバ１１のＣＰＵ１１１が実行するコンテンツ巡回ルール生成処理（Ｓ７０９）及びコンテンツ巡回処理（Ｓ７１１）を説明する。
【００５９】
5.1.  新規データ収集要求処理
情報収集クライアント１３のＣＰＵ１３１が実行する新規データ収集要求処理を図８に示すフローチャートを用いて説明する。ＣＰＵ１３１は、新規データ収集コマンドを獲得すると、新規データインポートコマンドを生成する（Ｓ８０１）。
【００６０】
ここで、新規データインポートコマンドについて説明する。新規データインポートコマンドとは、情報収集サーバ１１に対して、情報収集クライアントが送受信するＨＴＴＰメッセージの取得開始を要求するコマンドである。新規データインポートコマンドの一例を図９に示す。新規データインポートコマンドは、「ＩＭＰＯＲＴ  ＮＥＷ  ＤＡＴＡＳＥＴ」の記述と、これに続く「ＦＲＯＭ」以下の記述により構成されている。「ＩＭＰＯＲＴ  ＮＥＷ  ＤＡＴＡＳＥＴ」の記述は、当該コマンドが新規データインポートコマンドであることを示している。また、「ＦＲＯＭ」以下には、情報収集クライアント１３のネットワーク上の位置を特定する情報、例えばＩＰアドレスが記述される。
【００６１】
図８に戻って、ＣＰＵ１３１は、新規データインポートコマンドの生成が終了すると、ＲＰＣ（Remote Procedure Call）を用いて、生成した新規データインポートコマンドを情報収集サーバ１１へ送信する（Ｓ８０３）。ＲＰＣとは、ネットワーク上の異なるコンピュータの間での遠隔処理を実現する既存の技術である。なお、ＣＰＵ１３１は、ＲＰＣを用いた新規データインポートコマンドの送信に際して、予めハードディスク１１３に記憶している、情報収集サーバ１１のネットワーク上の位置を特定する情報、例えばＩＰアドレスを用いる。
【００６２】
ＣＰＵ１３１は、新規データインポートコマンドの送信が終了すると、ディスプレイ１１６にコンテンツ表示用画面を表示する（Ｓ８０５）。なお、コンテンツ表示用画面としては、既存のブラウザプログラムであってもよい。既存のブラウザプログラムを用いる場合、コンテンツ表示用画面を表示するにあたって、この段階でブラウザプログラムを起動する。
【００６３】
ＣＰＵ１３１は、ユーザによるＵＲＬの入力等、コンテンツの取得を要求するコンテンツ取得コマンドを獲得すると（Ｓ８０７）、当該コンテンツを有するＷｅｂサーバ２５やコンテンツサーバ２７に、通信制御回路２３８を介して接続する（Ｓ８０９）。ＣＰＵ１３１は、コンテンツを取得すると（Ｓ８１１）、取得したコンテンツをコンテンツ表示用画面に表示する（Ｓ８１３）。
【００６４】
ユーザは、コンテンツ表示用画面に表示されたコンテンツが、自らが取得を望むものであると判断すれば、コンテンツ表示用画面の上、若しくは、その周辺に配置されたアイコンやメニュー内の項目を選択することによって、データ特定コマンド生成要求情報を生成する。
【００６５】
ＣＰＵ１３１は、データ特定コマンド生成要求情報を獲得したと判断すると（Ｓ８１５）、データ特定コマンドを生成する（Ｓ８１７）。データ特定コマンドは、コンテンツ表示用画面に表示されている特定のコンテンツがユーザが巡回獲得を要求するコンテンツ（巡回コンテンツ）であることを示すコマンドである。ＣＰＵ１３１は、生成したデータ特定コマンドを情報収集サーバ１１へ送信する（Ｓ８１９）。
【００６６】
ＣＰＵ１３１は、情報収集サーバ１１から巡回ルール識別子（後述）を獲得すると、巡回コンテンツと関連付けてハードディスク２３３の巡回コンテンツ情報へ登録する（Ｓ８２１）。また、ＣＰＵ１１１は、巡回ルール識別子を獲得した巡回コンテンツを巡回コンテンツ一覧画面に表示する（Ｓ８２３）。巡回コンテンツ一覧画面の一例を図１０に示す。図１０においては、一つの巡回コンテンツは、当該コンテンツのＵＲＬ及び巡回を行った日時（巡回ルール識別子を獲得した日時、若しくは、コンテンツ更新完了情報（後述）を獲得した日時）と関連付けて表示される。
【００６７】
5.2.  コンテンツ巡回ルール生成処理
情報収集サーバ１１のＣＰＵ１１１が実行するコンテンツ巡回ルール生成処理を図１１に示すフローチャートを用いて説明する。ＣＰＵ１１１は、情報収集クライアント１３から新規データインポートコマンドを獲得したと判断すると、情報収集クライアント１３が送受信するデータの取得を開始する（Ｓ１１０１）。なお、情報収集クライアント１３が送受信するデータの取得に関しては、既存のパケット・キャプチャー技術を用いる。
【００６８】
ＣＰＵ１１１は、取得したデータがデータ特定コマンドであるか否かを判断する（Ｓ１１０３）。ＣＰＵ１１１は、データ特定コマンドでないと判断すると、取得したデータをメモリ１１２若しくはハードディスク１１３の所定の領域（ワークエリア）に一時記憶する（Ｓ１１０５）。
【００６９】
ここで、ワークエリアに一時記憶されたデータの例を図１２に示す。取得されたデータは、ワークエリアにおいて、取得された順番にしたがって、当該データを特定する番号と関連付けられて、一時記憶される。図１２においては、例えば、データ「ＧＥＴ  ／ｉｎｄｅｘ．ｈｔｍｌ  ＨＴＴＰ／１．１（ＣＲＬＦ）ＨＯＳＴ：  ｗｗｗ．ａｂｃ．ｊｐ」に対して番号「１」が関連付けられている。
【００７０】
図１１に戻って、ＣＰＵ１１１は、Ｓ１１０３において取得したデータがデータ特定コマンドであると判断すると、ＸＭＬにてコンテンツ巡回ルールを記述するための巡回ルール記述ファイルを生成する（Ｓ１１０６）。なお、ＣＰＵ１１１は、巡回ルール記述ファイルの生成に際して、書式データであるタグ＜？ｘｍｌ  ｖｅｒｓｉｏｎ＝“１．０”  ｅｎｃｏｒｄｉｎｇ＝“Ｓｈｉｆｔ＿ＪＩＳ”？＞を記述する。
【００７１】
ＣＰＵ１１１は、巡回ルール記述ファイルに記述されるコンテンツ巡回ルールを一意に特定する巡回ルール識別子を付与する（Ｓ１１０７）。ＣＰＵ１１１は、タグ＜ｒｕｌｅＳｅｔ＞を巡回ルール記述ファイルに追加的に記述する（Ｓ１１０９）。この際、巡回ルール識別子をタグ＜ｒｕｌｅＳｅｔ＞の属性「ｄａｔａＩＤ」の値として巡回ルール記述ファイルに追加的に記述する。タグ＜ｒｕｌｅＳｅｔ＞の具体的な記述形式は、＜ｒｕｌｅＳｅｔ  ｄａｔａＩＤ＝“（巡回ルール識別子）”＞となる。さらに、タグ＜ｒｕｌｅＳｅｔ＞の記述に際して、開始タグ＜ｒｕｌｅＳｅｔ＞に対する終了タグ＜／ｒｕｌｅＳｅｔ＞も、あわせて記述する。この段階でのコンテンツ巡回ルールを記述した巡回ルール記述ファイルの記述状態の一例を図１４Ａに示す。
【００７２】
また、ＣＰＵ１１１は、パラメータｎに値「１」を設定する（Ｓ１１１１）。ＣＰＵ１１１は、ワークエリアに一時記憶しているＨＴＴＰメッセージから、番号ｎに対応するＨＴＴＰメッセージを取得する（Ｓ１１１３）。
【００７３】
そして、ＣＰＵ１１１は、コンテンツ巡回ルールＸＭＬ記述処理を実行する（Ｓ１１１５）。コンテンツ巡回ルールＸＭＬ記述処理では、取得したＨＴＴＰメッセージをＸＭＬを用いて構造化し、当該ＨＴＴＰメッセージをＸＭＬで記述したメッセージルールを生成し、巡回ルール記述ファイルに記述する。コンテンツ巡回ルールＸＭＬ記述処理については後述する。
【００７４】
ＣＰＵ１１１は、ｎ＝ｎ＋１とする（Ｓ１１１７）。ＣＰＵ１１１は、番号ｎ＋１に対応するデータがワークエリアに一時記憶されているか否かを判断する（Ｓ１１１９）。ＣＰＵ１１１は、番号ｎ＋１に対応するＨＴＴＰメッセージがワークエリアに一時記憶されていると判断すると、ステップＳ１１０７〜ステップＳ１１１３までの処理を繰り返す。
【００７５】
一方、ＣＰＵ１１１は、番号ｎ＋１に対応するＨＴＴＰメッセージがワークエリアに一時記憶されていないと判断すると、生成したコンテンツ巡回ルールをハードディスク１１３に記憶する（Ｓ１１２１）。
【００７６】
5.3.  コンテンツ巡回ルールＸＭＬ記述処理
ＣＰＵ１１１が実行するコンテンツ巡回ルールＸＭＬ記述処理を図１３を用いて説明する。ＣＰＵ１１１は、新規データインポートコマンドを獲得してからデータ特定コマンドを獲得するまでに取得したＨＴＴＰメッセージの中から、ステップＳ１１０９において獲得したＨＴＴＰメッセージを一意に特定するメッセージ識別子「Ｐａｔｒｏｌ−ｎ」を、当該ＨＴＴＰメッセージに対して付与する（Ｓ１３０１）。そして、ＣＰＵ１１１は、取得したＨＴＴＰメッセージからコマンド行（リクエストライン若しくはコマンドライン）を取得し、取得した行の先頭から最初のスペースまでの文字列を取得する（Ｓ１３０３）。そして、ＣＰＵ１１１は、取得した文字列がどのメソッド・トークンに該当するかを判断する（Ｓ１３０５）。さらに、判断したメソッド・トークンの種類から、取得したデータのメッセージ種別、つまりリクエストメッセージであるか、レスポンスメッセージであるかを判断する（Ｓ１３０７）。
【００７７】
そして、ＣＰＵ１１１は、タグ＜ｒｕｌｅ＞を記述する（Ｓ１３０９）。タグ＜ｒｕｌｅ＞の記述に際しては、タグ＜ｒｕｌｅ＞における属性「ｒｕｌｅＮｏ」、「ｔｙｐｅ」の値としてメッセージ識別子「Ｐａｔｒｏｌ−ｎ」及びメッセージ種別を記述する。具体的には、＜ｒｕｌｅ  ｒｕｌｅＮｏ＝“Ｐａｔｒｏｌ−ｎ”、ｔｙｐｅ＝“（メッセージ種別）”＞として記述する。また、開始タグ＜ｒｕｌｅ＞に対応する終了タグ＜／ｒｕｌｅ＞も、あわせて記述する。なお、開始タグ＜ｒｕｌｅ＞、終了タグ＜／ｒｕｌｅ＞は、タグ＜ｒｕｌｅＳｅｔ＞〜＜／ｒｕｌｅＳｅｔ＞間に記述する。この段階でのコンテンツ巡回ルールを記述した巡回ルール記述ファイルの記述状態の一例を図１４Ｂに示す。
【００７８】
ＣＰＵ１１１は、タグ＜ｃｏｍｍａｎｄＬｉｎｅ＞を記述する（Ｓ１３１１）。この際、開始タグ＜ｃｏｍｍａｎｄＬｉｎｅ＞に対応する終了タグ＜／ｃｏｍｍａｎｄＬｉｎｅ＞も、あわせて記述する。また、タグ＜ｃｏｍｍａｎｄＬｉｎｅ＞の記述に際しては、コマンド行の値を取得し、取得したコマンド行の値をタグ＜ｃｏｍｍａｎｄＬｉｎｅ＞〜タグ＜／ｃｏｍｍａｎｄＬｉｎｅ＞の間に記述する。
【００７９】
ＣＰＵ１１１は、タグ＜ｈｔｔｐＨｅａｄｅｒ＞を記述する（Ｓ１３１３）。この際、開始タグ＜ｈｔｔｐＨｅａｄｅｒ＞に対応する終了タグ＜／ｈｔｔｐＨｅａｄｅｒ＞も、あわせて記述する。また、タグ＜ｈｔｔｐＨｅａｄｅｒ＞の記述に際しては、ヘッダ・フィールドの値を取得し、取得したヘッダ・フィールドの値をタグ＜ｈｔｔｐＨｅａｄｅｒ＞〜タグ＜／ｈｔｔｐＨｅａｄｅｒ＞の間に記述する。
【００８０】
ＣＰＵ１１１は、タグ＜ｈｔｔｐＢｏｄｙ＞を記述する（Ｓ１３１５）。この際、開始タグ＜ｈｔｔｐＢｏｄｙ＞に対応する終了タグ＜／ｈｔｔｐＢｏｄｙ＞も、あわせて記述する。
【００８１】
ここで、図１２に示す番号２、番号３のＨＴＴＰメッセージも送受信が行われているのは、図１３ａに示すような、テキスト入力を促すページに対するユーザの入力が行われていた場合である。このようなユーザからの入力操作を経て目的とするコンテンツへのアクセスが可能な場合には、ユーザから入力されたデータであることをコンテンツ巡回ルールにおいて明らかにしておく必要がある。
【００８２】
ＣＰＵ１１１は、コマンド行におけるメソッドの記述が「ＰＯＳＴ」であるか否かを判断する。ＣＰＵ１１１は、「ＰＯＳＴ」であると判断すると、メッセージボディに記述されているデータには、ユーザからの入力データが含まれていると判断し、タグ＜ｒａｗＤａｔａ＞〜タグ＜／ｒａｗＤａｔａ＞間に記述する。図１２における番号２のレスポンスメッセージでは、文字列「ｅｎｔｒｙ１＝ｔａｋａｔｏｒｉ＆ｅｎｔｒｙ２＝ｆｕｋｕｓｈｉｍａ」を抽出し、タグ＜ｒａｗＤａｔａ＞〜タグ＜／ｒａｗＤａｔａ＞間に記述する。
【００８３】
そして、ＣＰＵ１１１は、抽出したデータに「＆」が存在するか否かを判断する。ＣＰＵ１１１は、「＆」が存在すると判断すると、「＆」で文字列を分割する。図１２における番号３のリクエストメッセージでは、文字列「ｅｎｔｒｙ１＝ｔａｋａｔｏｒｉ」、「ｅｎｔｒｙ２＝ｆｕｋｕｓｈｉｍａ」に分割する。そして、ＣＰＵ１１１は、抽出したデータについて、「＝」の前に位置する文字列（文字列１）をインデックス、「＝」の後に位置する文字列（文字列２）をインデックスに対応する値と判断する。
【００８４】
ＣＰＵ１１１は、文字列１に対するタグを生成し、その値として文字列２を記述する。前述の例では、文字列１「ｅｎｔｒｙ１」のタグ＜ｅｎｔｒｙ１＞〜タグ＜／ｅｎｔｒｙ１＞を生成し、その値として文字列２「ｔａｋａｔｏｒｉ」を記述する。文字列１「ｅｎｔｒｙ２」、文字列２「ｆｕｋｕｓｈｉｍａ」についても同様である。
【００８５】
なお、文字列１等に対応するタグについては、タグ＜ｅｌｅｍｅｎｔ＞〜タグ＜／ｅｌｅｍｅｎｔ＞間に記述する。また、メッセージボディに記述されたデータに関するＸＭＬの記述は、タグ＜ｈｔｔｐＢｏｄｙ＞〜タグ＜／ｈｔｔｐＢｏｄｙ＞の間に記述する。
【００８６】
ＣＰＵ１１１は、メソッドが「ＰＯＳＴ」でないと判断すると、メッセージ・ボディの値を取得し、取得した値をタグ＜ｈｔｔｐＢｏｄｙ＞〜タグ＜／ｈｔｔｐＢｏｄｙ＞の間に記述する。
【００８７】
図１２における番号１のリクエストメッセージまでのコンテンツ巡回ルールを記述した巡回ルール記述ファイルの記述状態の一例を図１４Ｃに示す。なお、メッセージ・ボディが存在しないＨＴＴＰメッセージについては、タグ＜ｈｔｔｐＢｏｄｙ＞の記述は行わない。
【００８８】
また、  図１２における番号３のリクエストメッセージまでのコンテンツ巡回ルールを記述した巡回ルール記述ファイルの記述状態の一例を図１４ａに示す。なお、ＣＰＵ１１１は、メッセージルールをルール記述ファイルに記述するにあたって、既にメッセージルールが記述されているときは、記述されているメッセージルールの最後に追加するように記述する。
【００８９】
5.4.  データ更新要求処理
情報収集クライアント１３のＣＰＵ１３１が実行するデータ更新要求処理を図１５に示すフローチャートを用いて説明する。ＣＰＵ１３１は、データ更新要求コマンドを獲得すると、ハードディスク２３３に記憶されている巡回コンテンツ情報を取得し（Ｓ１５０１）、巡回コンテンツ一覧画面をディスプレイ２３６へ表示する（Ｓ１５０３）。巡回コンテンツ情報とは、ユーザが巡回したコンテンツと当該コンテンツを巡回取得する際に用いるコンテンツ巡回ルールに与えられた巡回ルール識別子とが関連付けられた情報である。
【００９０】
ユーザは、巡回コンテンツ一覧画面から、自らがデータの更新を求めるコンテンツ（更新コンテンツ）をマウス１１４等で選択する。
【００９１】
ＣＰＵ１３１は、更新コンテンツが選択されたと判断すると（Ｓ１５０５）、更新コンテンツに対応する巡回ルール識別子を巡回コンテンツ情報から取得する（Ｓ１５０６）。
【００９２】
ＣＰＵ１１１は、取得した巡回ルール識別子を用いて、データ更新コマンドを生成する（Ｓ１５０７）。ここで、データ更新コマンドについて説明する。データ更新コマンドとは、情報収集サーバ１１に対して、新たに巡回コンテンツの取得を要求するコマンドである。データ更新コマンドの一例を図１６に示す。データ更新コマンドは、「ＵＰＤＡＴＥ」の記述と、これに続く「ｄａｔａＩＤ」以降の記述により構成されている。「ＵＰＤＡＴＥ」の記述は、当該コマンドがデータ更新コマンドであることを示している。また、「ｄａｔａＩＤ」以降には、選択されたコンテンツに対応付けられていた巡回ルール識別子が記述される。
【００９３】
図１５に戻って、ＣＰＵ１３１は、データ更新コマンドの生成が終了すると、ＲＰＣを用いて、生成したデータ更新コマンドを情報収集サーバ１１へ送信する（Ｓ１５０９）。
【００９４】
ＣＰＵ１３１は、情報収集サーバ１１からコンテンツ更新完了情報を獲得したと判断すると（Ｓ１５１１）、獲得したコンテンツ更新完了情報から更新コンテンツを抽出する（Ｓ１５１３）。ＣＰＵ１３１は、抽出した更新コンテンツをコンテンツ表示画面に表示する（Ｓ１５１５）。
【００９５】
5.5.  コンテンツ巡回処理
情報収集サーバ１１のＣＰＵ１１１が実行するコンテンツ巡回処理を図１７に示すフローチャートを用いて説明する。ＣＰＵ１１１は、情報収集クライアント１３からデータ更新コマンドを獲得すると、当該データ更新コマンドから巡回ルール識別子の値を抽出する（Ｓ１７０１）。
【００９６】
ＣＰＵ１１１は、取得した巡回ルール識別子の値に対応する巡回ルールを獲得する（Ｓ１７０３）。ＣＰＵ１１１は、パラメータｎに値「１」を設定する（Ｓ１７０５）。ＣＰＵ１１１は、取得した巡回ルールからパラメータｎに対応するメッセージ識別子に対応するメッセージルールを取得する（Ｓ１７０７）。ＣＰＵ１１１は、メッセージルールのタグ＜ｒｕｌｅ＞内の属性「ｔｙｐｅ」の値を取得する（Ｓ１７０９）。ＣＰＵ１１１は、取得した属性「ｔｙｐｅ」の値が「Ｒｅｑｕｅｓｔ」であるか否かを判断する（Ｓ１７１１）。
【００９７】
ＣＰＵ１１１は、取得した属性「ｔｙｐｅ」の値が「Ｒｅｑｕｅｓｔ」であると判断すると、取得したメッセージ・ルールから、リクエストメッセージを復元する（Ｓ１７１３）。なお、リクエストメッセージの生成は、巡回ルール生成処理において実行した処理の逆を実行し、ＸＭＬ記述の生成あたって付加したタグを削除していけばよい。
【００９８】
ＣＰＵ１１１は、生成したリクエストメッセージに基づいて、対応するコンテンツを取得する（Ｓ１７１５）。ＣＰＵ１１１は、パラメータｎにｎ＋１を設定する（Ｓ１７１７）。そして、ＣＰＵ１１１は、ｎ＋１に対応するメッセージルールが存在すると判断すると（Ｓ１７１９）、ステップＳ１７０７〜Ｓ１７１５までの処理を実行する。一方、ＣＰＵ１１１は、ｎ＋１に対応するメッセージルールが存在しないと判断すると（Ｓ１７１９）、直前のステップＳ１７１５で取得したコンテンツを、巡回ルール識別子と関連付けて情報収集クライアント１３へ送信する（Ｓ１７２１）。
【実施例２】
【００９９】
前述の実施例１においては、情報収集クライアント１３とＷｅｂサーバ１５との間のデータの送受信、及び、情報収集クライアント１３とコンテンツサーバ１７との間のデータの送受信に、ＨＴＴＰを用いている。ＨＴＴＰにおいては、情報収集クライアント１３がＷｅｂサーバ１５若しくはコンテンツサーバ１７（以下、Ｗｅｂサーバ１５等）に対してリクエストを送信すると、両者の間でデータ送受信のためのコネクションが成立し、Ｗｅｂサーバ１５等が情報収集クライアント１３に対してレスポンスを送信し、両者の間で成立していたコネクションを切断する。この情報収集クライアント１３とＷｅｂサーバ１５等との間の一連のデータの送受信をセッションという。情報収集クライアント１３とＷｅｂサーバ１５等との間の各セッションは独立しており、前のセッションが後のセッションに対して影響を与えない。このため、例えば、あるセッションにおいて情報収集クライアント１３がＷｅｂサーバ１５等に対して送信したデータを、Ｗｅｂサーバ１５等が、次のセッションにおいて使用できない。このような問題を解決する方法としてセッション管理がある。セッション管理とは、情報収集クライアント１３とＷｅｂサーバ１５等との間の複数のセッションを一つの集合体として管理するための処理方法である。
【０１００】
そこで、本実施例における情報収集システムでは、情報収集クライアントとＷｅｂサーバ、コンテンツサーバとの間でセッション管理が行われている場合においても、情報収集サーバが情報収集クライアントに代わってＷｅｂサーバ、コンテンツサーバから情報収集し、収集した情報を情報収集クライアントへ提供することを可能とする。
【０１０１】
1.  機能ブロック図
本発明に係るスキル管理装置の機能ブロック図を図１８に示す。情報収集システムＳ３は、情報収集装置Ｍ３１、情報収集要求装置Ｍ３３を有している。情報収集装置Ｍ３１は、情報収集履歴情報記憶制御手段ｍ１１１、記憶手段ｍ１１３、要求手順抽出手段ｍ１１５、情報収集手段ｍ１１７、比較手段ｍ３１１、比較情報記憶制御手段ｍ３１３、及び要求手順修正手段ｍ３１５を有している。情報収集要求装置Ｍ３３は、情報取得手段ｍ１３１及び取得開始終了告知手段ｍ１３３を有している。
【０１０２】
比較手段ｍ３１１は、前記情報収集要求装置が前記情報提供装置に送信したデータと、前記情報収集要求装置が前記情報提供装置から受信したデータとを比較する。比較情報記憶制御手段ｍ３１３は、前記比較の結果、同一であると判断された部分を比較情報として記憶手段に記憶させる。要求手順修正手段ｍ３１５は、前記要求手順にしたがって、前記情報提供装置から情報を獲得する際に、ある前記要求手順に対応して前記情報提供装置から受信した受信データと前記比較情報とを用いて、前記要求手順の次の要求手順における前記同一部分を、前記受信データにおける前記同一部分の値で修正する。
【０１０３】
2.  ハードウェア構成
本実施例における情報収集システム３のハードウェア構成を図１９を用いて説明する。情報収集システム３は、情報収集サーバ３１及び情報収集クライアント３３を有している。情報収集サーバ３１及び情報収集クライアント３３は、互いにネットワークを介して接続されており、互いにデータの送受信を行うことができる。また、情報収集システム３は、ネットワークを介してＷｅｂサーバ３５、コンテンツサーバ３７と接続されており、互いにデータの送受信を行うことができる。
【０１０４】
情報収集サーバ３１は、情報収集クライアント３３に代わって、セッション管理を行っているＷｅｂサーバ３５及びコンテンツサーバ３７から情報を収集し、収集した情報を情報収集クライアント３３へ提供する。情報収集クライアント１３は、情報収集サーバ３１に対して情報を収集するように命令する。
【０１０５】
Ｗｅｂサーバ３５は、ＷＷＷシステムに則った情報の送受信を行う。コンテンツサーバ３７は、文書や映像等のコンテンツの保存および管理を行う。Ｗｅｂサーバ３５及びコンテンツサーバ３７は、情報収集クライアント３３との通信においてセッション管理を行う。なお、Ｗｅｂサーバ３５及びコンテンツサーバ３７は、一般的に用いられているＷｅｂサーバ、コンテンツサーバにより構成されている。
【０１０６】
以下において、情報収集サーバ３１及び情報収集クライアント３３のハードウェア構成を説明する。
【０１０７】
2.1.  情報収集サーバ３１のハードウェア構成
情報収集サーバ３１のハードウェア構成を図２０を用いて説明する。情報収集サーバ３１は、ＣＰＵ３１１、メモリ３１２、ハードディスク３１３、キーボード３１４、マウス３１５、ディスプレイ３１６、光学式ドライブ３１７、及び通信制御回路３１８を有している。
【０１０８】
ＣＰＵ３１１は、ハードディスク３１３に記録されているオペレーティング・システム（ＯＳ）、情報収集サーバプログラム等その他のアプリケーションに基づいた処理を行う。メモリ３１２は、ＣＰＵ３１１に対して作業領域を提供する。ハードディスク３１３は、オペレーティング・システム（ＯＳ）、情報収集サーバプログラム等その他のアプリケーション、コンテンツ巡回ルール、メタルールを含む各種データを記録保持する。メタルールについては後述する。
【０１０９】
キーボード３１４、マウス３１５は、ユーザ等による外部からの操作を受け付ける。ディスプレイ３１６は、ＯＳやアプリケーションのユーザインターフェイス等を表示する。
【０１１０】
光学式ドライブ３１７は、情報収集サーバプログラムが記録されているメディア１１０から情報収集プログラムを、また、他のメディアからその他のアプリケーションのプログラムを読み取る等、メディアからのデータの読み取りを行う。通信制御回路３１８は、ネットワークを介したデータの送受信を行う。
【０１１１】
2.2.  情報収集クライアント３３のハードウェア構成
情報収集クライアント３３のハードウェア構成を図２１を用いて説明する。情報収集クライアント３３は、ＣＰＵ３３１、メモリ３３２、ハードディスク３３３、キーボード３３４、マウス３３５、ディスプレイ３３６、光学式ドライブ３３７、及び通信制御回路３３８が接続されている。
【０１１２】
ＣＰＵ３３１は、ハードディスク３３３に記録されているオペレーティング・システム（ＯＳ）、情報収集クライアントプログラム等その他のアプリケーションに基づいた処理を行う。メモリ３３２は、ＣＰＵ３３１に対して作業領域を提供する。ハードディスク３３３は、オペレーティング・システム（ＯＳ）、情報収集クライアントプログラム等その他のアプリケーションを含む各種データを記録保持する。
【０１１３】
キーボード３３４、マウス３３５は、ユーザ等による外部からの命令を受け付ける。ディスプレイ３３６は、ＯＳやアプリケーションのユーザインターフェイス等を表示する。
【０１１４】
光学式ドライブ３３７は、情報収集クライアントプログラムが記録されているメディア３３０から情報収集クライアントプログラムを、また、他のメディアからその他のアプリケーションのプログラムを読み取る等、メディアからのデータの読み取りを行う。通信制御回路３３８は、ネットワークを介したデータの送受信を行う。
【０１１５】
3.  セッション管理
情報収集クライアント３３及びＷｅｂサーバ３５等は、両者間の通信においてＷｅｂサーバ３５等が発行するセッションＩＤを用いたセッション管理を行う。Ｗｅｂサーバ３５等は、セッション管理が必要となった時点（例えば、情報収集クライアント３３がＷｅｂサーバ３５等へログインした時点）で、情報収集クライアント３３に対してセッションＩＤを送信する。情報収集クライアント３３は、その後、同じＷｅｂサーバ３５等へアクセスするときには、このセッションＩＤをＷｅｂサーバ３５等に送信する。なお、Ｗｅｂサーバ３５等は、セッション管理が必要となる毎に新たなセッションＩＤを送信する。
【０１１６】
セッションＩＤを用いたセッション管理を実現する方法としては、クッキーにセッションＩＤを記述する方法、ＧＥＴメソッドを用いてＵＲＬにセッションＩＤを記述する方法、ＰＯＳＴメソッドを用いてＨＴＴＰボディにセッションＩＤを記述する方法等がある。
【０１１７】
以下において、クッキーにセッションＩＤを記述する方法を例にセッションＩＤを用いたセッション管理を図２２を用いて説明する。図２２には、情報収集クライアント３３がＷｅｂサーバ３５へアクセスしようとする際の一連のＨＴＴＰメッセージが記述されている。情報収集クライアント３３は、Ｗｅｂサーバ３５に対してＧＥＴメソッドによるリクエストメッセージ（番号１）を送信する。Ｗｅｂサーバ３５は、情報収集クライアント３３からのリクエストメッセージを受信すると、ヘッダフィールドのフィールド名「Ｓｅｔ−Ｃｏｏｋｉｅ」に続いてセッションＩＤを記述したレスポンスメッセージ（番号２）を送信する。
【０１１８】
情報収集クライアント３３は、Ｗｅｂサーバ３５から当該レスポンスを受信すると、Ｓｅｔ−Ｃｏｏｋｉｅに続いて記述されたセッションＩＤをクッキーの一部としてメモリ３１２に一時的に保持する。情報収集クライアント３３は、以降、Ｗｅｂサーバ３５に対する所定のアクセスにおいて、クッキーの一部として一時保存したセッションＩＤを用いる。
【０１１９】
次に、情報収集クライアント３３が、リクエストメッセージ（番号３）をＷｅｂサーバ３５に送信する際に、当該リクエストメッセージのヘッダーフィールドにおけるフィールド名「Ｃｏｏｋｉｅ」に続いて、クッキーの一部として保持したセッションＩＤを記述する。
【０１２０】
4.  情報収集システム３の動作
情報収集システム３の動作の概略を説明する。情報収集クライアント３３のＣＰＵ３３１の動作については、実施例１における情報収集クライアント１３の図６に示す動作と同様である。
【０１２１】
情報収集サーバ３１の動作を図２３を用いて説明する。情報収集サーバ３１の動作については、基本的に実施例１における情報収集サーバ１１の動作と同様である。但し、コンテンツ巡回ルール生成処理（Ｓ７０９’）及びコンテンツ巡回処理（Ｓ７１１’）が異なる。
【０１２２】
4.1.  コンテンツ巡回ルール生成処理
情報収集サーバ３１のＣＰＵ３１１が実行するコンテンツ巡回ルール生成処理について図２４を用いて説明する。ＣＰＵ３１１が実行するステップＳ１１０１〜Ｓ１１２１の処理については実施例１と同様である。
【０１２３】
ＣＰＵ３１１は、ステップＳ１１１５における巡回ルールＸＭＬ記述処理において、ｎ番目のメッセージルールをメッセージルール記述ファイルに記述した後、当該ｎ番目のメッセージルールに対してメタルール生成処理を実行する（Ｓ１９０１）。例えば、図２２に示すＨＴＴＰメッセージの送受信における番号３のリクエストメッセージに基づいて、３番目のメッセージルール（タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」の値が「Ｐａｔｒｏｌ−３」に対応するメッセージルール）を巡回ルール記述ファイルに記述し、図２７ａに示すコンテンツ巡回ルールを生成した場合であれば、当該３番目のメッセージルールに対してメタルール生成処理を実行する。なお、メタルール生成処理については後述する。
【０１２４】
ＣＰＵ３１１は、メタルール生成処理が終了すると、実施例１と同様に、ステップＳ１１１７以降の処理を実行する。
【０１２５】
4.2.  メタルール生成処理
ＣＰＵ３１１が実行するメタルール生成処理を図２５、図２５ａに示すフローチャートを用いて説明する。図２５に示すように、ＣＰＵ３１１は、ステップＳ１１０７若しくはＳ１１１３（図２４参照）で設定した番号ｎの値が「１」であるか否かを判断する（Ｓ２００１）。ＣＰＵ３１１は、番号ｎの値が「１」であると判断すると、メタルール生成処理を終了する。
【０１２６】
一方、ＣＰＵ３１１は、番号ｎの値が「１」でないと判断すると、図２４におけるステップＳ１１１１でコンテンツ記述ファイルに記述したｎ番目のメッセージルールがリクエストメッセージに関するルールであるか否かを判断する（Ｓ２００２）。具体的には、メッセージルールにおけるタグ＜ｒｕｌｅ＞の属性「ｔｙｐｅ」の値が「ｒｅｑｕｅｓｔ」であるか否かを判断する。例えば、図２７ａに示すコンテンツ巡回ルールの３番目のメッセージルール（タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」が示すメッセージ識別子の値が「Ｐａｔｒｏｌ−３」）の当該タグ＜ｒｕｌｅ＞の属性「ｔｙｐｅ」の値が「Ｒｅｑｕｅｓｔ」であるか否かを判断する。
【０１２７】
ＣＰＵ３１１は、リクエストメッセージに関するルールであると判断すると、ルール記述ファイルからｎ−１番目のメッセージルールを取得する（Ｓ２００３）。具体的には、メッセージルールにおけるタグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」が示すメッセージ識別子の値が「Ｐａｔｒｏｌ−［ｎ−１］」であるメッセージルールを取得する。前述のコンテンツ巡回ルールの３番目のメッセージルールに対しては、タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」が示すメッセージ識別子の値が「Ｐａｔｒｏｌ−２」であるメッセージルールを取得する。
【０１２８】
ＣＰＵ１１１は、ｎ−１番目のメッセージルールに適用するパラメータとして「ｓ」を、ｎ番目のメッセージルールに適用するパラメータとして「ｔ」を、それぞれ設定する（２００５）。ＣＰＵ１１１は、パラメータｓ、ｔ、それぞれに値「１」を設定し初期化する（Ｓ２００７）。
【０１２９】
ＣＰＵ１１１は、ｎ−１番目のメッセージルールから、記述状態において上からｓ番目に相当する開始タグが存在するか否かを判断する（Ｓ２００８）。ＣＰＵ３１１は、ｓ番目に相当する開始タグが存在すると判断すると、当該開始タグと対応する終了タグとの間の値（開始タグ、終了タグを含む）を取得する（Ｓ２００９）。前述のコンテンツ巡回ルールの２番目のメッセージルール（図２７ａ参照）に対して、ｓ＝５であるとすると、開始タグ＜ＳＥＳＳＩＯＮＩＤ＞、値「ＰＵＴＱＧＨＵＭＥＡＡＪＰＵＹＬ」、終了タグ＜／ＳＥＳＳＩＯＮＩＤ＞を取得する。
【０１３０】
ＣＰＵ３１１は、ステップＳ２００８において、ｓ番目のタグが存在しないと判断すると、メタルール記述ファイルを記憶する（Ｓ２０１１）。
【０１３１】
図２５ａに移って、ＣＰＵ１１１は、ｎ番目のメッセージルールから、記述状態において上からｔ番目に相当する開始タグが存在するか否かを判断する（Ｓ２０１３）。ＣＰＵ３１１は、ｔ番目に相当する開始タグが存在すると判断すると、当該開始タグと対応する終了タグとの間の値（開始タグ、終了タグを含む）を取得する（Ｓ２０１５）。前述のコンテンツ巡回ルールの３番目のメッセージルール（図２７ａ参照）に対して、ｔ＝６であるとすると、開始タグ＜ＳＥＳＳＩＯＮＩＤ＞、値「ＰＵＴＱＧＨＵＭＥＡＡＪＰＵＹＬ」、終了タグ＜／ＳＥＳＳＩＯＮＩＤ＞を取得する。
【０１３２】
ＣＰＵ１１１は、ステップＳ２００９及びステップＳ２０１５で取得したタグ間の値が一致するか否か判断する（Ｓ２０１７）。ＣＰＵ１１１は、両タグ間の値が一致すると判断すると、ｎ−１番目のメッセージルールについてステップＳ２００９で取得したタグ間の値と、ｎ−１番目のメッセージルールについてステップＳ２０１５で取得したタグ間の値とが同じであることを示すメタルールをＸＭＬで記述するためのメタルールＸＭＬ記述処理を実行する（Ｓ２０１９）。図２７ａに示すコンテンツ巡回ルールでは、ｓ＝５、ｔ＝６の場合、取得した開始タグ＜ＳＥＳＳＩＯＮＩＤ＞〜終了タグ＜／ＳＥＳＳＩＯＮＩＤ＞の間の値「ＰＵＴＱＧＨＵＭＥＡＡＪＰＵＹＬ」が一致するので、両者が同じ値であることを示すメタルールを生成する。メタルールＸＭＬ記述処理については後述する。
【０１３３】
ＣＰＵ３１１は、メタルールＸＭＬ記述処理が終了すると、パラメータｔをインクリメントし（Ｓ２０２１）、ステップＳ２０１３〜Ｓ２０２１までの処理を実行する。
【０１３４】
ＣＰＵ３１１は、ステップＳ２０１３において、ｔ番目に相当する開始タグが存在しないと判断すると、パラメータｔの値を「１」に初期化し（Ｓ２０２３）、また、パラメータｓの値をインクリメントし（Ｓ２０２５）、ステップＳ２００８（図２５参照）以下の処理を実行する。
【０１３５】
4.3.  メタルールＸＭＬ記述処理
ＣＰＵ３１１が行うメタルールＸＭＬ記述処理について図２６を用いて説明する。ＣＰＵ３１１は、現在生成しているコンテンツ巡回ルールに対応するメタルールが存在するか否かを判断する（Ｓ２１０１）。具体的には、コンテンツ巡回ルール記述ファイルにおけるタグ＜ｒｕｌｅＳｅｔ＞の属性「ｄａｔａＩＤ」の値（巡回ルール識別子）を取得し、メタルール記述ファイルのタグ＜ｒｕｌｅＳｅｔ＞の属性「ｄａｔａＩＤ」の値が、取得した「ｄａｔａＩＤ」の値であるものが存在するか否かを判断する。
【０１３６】
ＣＰＵ３１１は、コンテンツ巡回ルールに対応するメタルールが存在しないと判断すると、当該メタルールに対応するメタルール記述ファイルを生成する（Ｓ２１０３）。なお、ＣＰＵ１１１は、ルール記述ファイルの生成に際して、書式データであるタグ＜？ｘｍｌ  ｖｅｒｓｉｏｎ＝“１．０”  ｅｎｃｏｒｄｉｎｇ＝“Ｓｈｉｆｔ＿ＪＩＳ”？＞を記述する。また、取得したコンテンツ巡回ルール記述ファイルの巡回ルール識別子を、タグ＜ｒｕｌｅＳｅｔ＞の属性「ｄａｔａＩＤ」の値として記述する。
【０１３７】
ＣＰＵ３１１は、コンテンツ巡回ルール記述ファイルのｎ番目のメッセージルールのメッセージ識別子「Ｐａｔｒｏｌ−ｎ」をタグ＜ｒｕｌｅ＞における属性「ｒｕｌｅＮｏ」の値から取得し、図２７Ａに示すように、タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」の値として記述する（Ｓ２１０５）。
【０１３８】
ＣＰＵ３１１は、ステップＳ２０１５で取得したタグのコンテンツ巡回ルールにおける階層を判断し、タグ＜ｅｌｅｍｅｎｔ＞の属性「ｐａｔｈ」の値として開始タグ＜ｒｕｌｅ＞〜終了タグ＜／ｒｕｌｅ＞間に記述する（Ｓ２１０７）。例えば、図２２に示すコンテンツ巡回ルールおいては、メッセージ識別子「Ｐａｔｒｏｌ−３」のメッセージルールに属するタグ＜ＳＥＳＳＩＯＮＩＤ＞の値が、メッセージ識別子「Ｐａｔｒｏｌ−２」のメッセージルールに属するタグ＜ＳＥＳＳＩＯＮＩＤ＞の値と同じであるので、タグ＜ＳＥＳＳＩＯＮＩＤ＞のコンテンツ巡回ルールにおける階層を「．／ｈｔｔｐＨｅａｄｅｒ／Ｃｏｏｋｉｅ／ＳＥＳＳＩＯＮＩＤ」と判断し、図２７Ｂに示すように、タグ＜ｅｌｅｍｅｎｔ＞の属性「ｐａｔｈ」の値として記述する。なお、階層における「．／」の記述は、タグ＜ｅｌｅｍｅｎｔ＞が存在する階層を表している。
【０１３９】
さらに、ＣＰＵ３１１は、ステップＳ２０１１で取得したタグのコンテンツ巡回ルールにおける階層を判断し、タグ＜ｓａｍｅＶａｌｕｅ＞の値として開始タグ＜ｒｕｌｅ＞〜終了タグ＜／ｒｕｌｅ＞間に記述する（Ｓ２１０９）。例えば、図２２に示すコンテンツ巡回ルールおいては、メッセージ識別子「Ｐａｔｒｏｌ−２」のメッセージルールに属するタグ＜ＳＥＳＳＩＯＮＩＤ＞のコンテンツ巡回ルールにおける階層を「／ｒｕｌｅＳｅｔ／ｒｕｌｅ［＠ｒｕｌｅＮｏ＝’Ｐａｔｒｏｌ−２’］／ｈｔｔｐＨｅａｄｅｒ／Ｓｅｔ−Ｃｏｏｋｉｅ／ＳＥＳＳＩＯＮＩＤ」と判断し、図２７Ｃに示すように、タグ＜ｓａｍｅＶａｌｕｅ＞の値として開始タグ＜ｒｕｌｅ＞〜終了タグ＜／ｒｕｌｅ＞間に記述する。
【０１４０】
なお、ＣＰＵ３１１は、ステップＳ２１０１において、コンテンツ巡回ルールに対応するメタルールを記述したメタルール記述ファイルが存在すると判断すると、当該メタルールに対応するメタルール記述ファイルを取得する（Ｓ２１１１）。そして、ＣＰＵ３１１は、取得したメタルール記述ファイルに対して、当該メタルール記述ファイルに既に記述されているメタルールの記述に続けて、ステップＳ２１０７、Ｓ２１０９の処理に基づく記述を行う。
【０１４１】
4.4.  コンテンツ巡回処理
情報収集サーバ３１のＣＰＵ３１１が実行するコンテンツ巡回処理を図２８、図２８ａに示すフローチャートを用いて説明する。図２８に示すように、ＣＰＵ３１１は、情報収集クライアント１３からデータ更新コマンドを獲得すると、当該データ更新コマンドから巡回ルール識別子の値を抽出する（Ｓ１７０１）。
【０１４２】
ＣＰＵ３１１は、取得した巡回ルール識別子の値に対応するコンテンツ巡回ルールを取得する（Ｓ１７０３）。ＣＰＵ３１１は、さらに、当該巡回ルール識別子に対応するメタルールを取得する（Ｓ２４０１）。ＣＰＵ３１１は、パラメータｎに値「１」を設定する（Ｓ１７０５）。
【０１４３】
図２８ａに移って、ＣＰＵ３１１は、パラメータｎに対応するメッセージ識別子を判断し、取得したコンテンツ巡回ルールから当該メッセージ識別子に対応するメッセージルールを取得する（Ｓ１７０７）。具体的には、コンテンツ巡回ルールにおけるタグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」が示すメッセージ識別子の値が、「Ｐａｔｒｏｌ−ｎ」であるメッセージルールを取得する。
【０１４４】
ＣＰＵ３１１は、メッセージルールのタグ＜ｒｕｌｅ＞内の属性「ｔｙｐｅ」の値を取得する（Ｓ１７０９）。ＣＰＵ３１１は、取得した属性「ｔｙｐｅ」の値が「Ｒｅｑｕｅｓｔ」であるか否かを判断する（Ｓ１７１１）。
【０１４５】
ＣＰＵ３１１は、取得した属性「ｔｙｐｅ」の値が「Ｒｅｑｕｅｓｔ」であると判断すると、パラメータｎに対応するメッセージ識別子を判断し、ステップＳ２４０１において取得したメタルールに、当該メッセージ識別子に対応するメッセージメタルールが存在するか否かを判断する（Ｓ２４０３）。具体的には、メタルールにおけるタグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」が示すメッセージ識別子の値が、「Ｐａｔｒｏｌ−ｎ」であるメッセージメタルールが存在するか否かを判断する。ＣＰＵ３１１は、対象となるメッセージメタルールが存在すると判断すると、当該メッセージメタルールを取得する（Ｓ２４０５）。
【０１４６】
ＣＰＵ３１１は、ステップＳ１７０７で取得したメッセージルール及びステップＳ２４０５で取得したメッセージメタルールに基づいて、リクエストメッセージを復元する（Ｓ２４０７）。具体的には、ＣＰＵ３１１は、（１）ステップＳ１７０７で取得したメッセージルールに基づいてリクエストメッセージを復元し、（２）ステップＳ１７０３で取得したコンテンツ巡回ルールから、タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」の値が「Ｐａｔｒｏｌ−［ｎ−１］」であるメッセージルールを取得し、（３）当該メッセージルールから、ステップＳ２４０５で取得したメッセージメタルールのタグ＜ｓａｍｅＶａｌｕｅ＞が示す階層に属する値を置換値として取得し、（４）復元したリクエストメッセージにおいて、ステップＳ２４０５で取得したメッセージメタルールのタグ＜ｅｌｅｎｅｍｔ＞の属性「ｐａｔｈ」が示す階層に属する値を、置換値と置き換えることによって、リクエストメッセージを修正する。
【０１４７】
ＣＰＵ３１１は、復元したリクエストメッセージを対応するＷｅｂサーバ３５へ送信する（Ｓ１７１５）。ＣＰＵ３１１は、送信したリクエストメッセージに対応するレスポンスメッセージを取得したと判断すると（Ｓ２４０９）、当該レスポンスメッセージに基づいて、ステップＳ１７０３で取得したコンテンツ巡回ルールにおけるｎ＋１番目のメッセージルールを更新する（Ｓ２４１１）。具体的には、ＣＰＵ３１１は、（１）ステップＳ１７０７で取得したコンテンツ巡回ルールから、タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」の値が「Ｐａｔｒｏｌ−［ｎ＋１］」であるメッセージルールを取得し、（２）取得したメッセージルールに基づいてレスポンスメッセージを復元し、（３）ステップＳ２４０９で取得したレスポンスメッセージと復元したレスポンスメッセージとを比較し、相違する値を抽出し、（４）タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」の値が「Ｐａｔｒｏｌ−［ｎ＋１］」であるメッセージルールから抽出した値を、他の抽出した値に置き換えることによって、メッセージルールを更新する。
【０１４８】
例えば、ｎ＝１として、ステップＳ２４０９において図２９に示すレスポンスメッセージを取得したとすると、（１）ステップＳ１７０７で取得したコンテンツ巡回ルール（図２７ａ参照）から、タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」が示すメッセージ識別子の値が「Ｐａｔｒｏｌ−２」であるメッセージルールを取得し、（２）取得したメッセージルールに基づいてレスポンスメッセージを復元し（復元したレスポンスメッセージは図２２における番号２のレスポンスメッセージとなる）、（３）ステップＳ２４０９で取得したレスポンスメッセージと復元したレスポンスメッセージとを比較し、相違する値「ＸＢＲＩＤＫＲＩＬＩＩＰＮ」、「ＰＵＴＱＧＨＵＭＥＡＡＪＰＵＹＬ」を抽出し、（４）タグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」が示すメッセージ識別子の値が「Ｐａｔｒｏｌ−２」であるメッセージルールから抽出した値「ＰＵＴＱＧＨＵＭＥＡＡＪＰＵＹＬ」を、他の抽出した値「ＸＢＲＩＤＫＲＩＬＩＩＰＮ」に置き換えることによって、メッセージルールを更新する。この結果、図２７ａに示したコンテンツ巡回ルールは、図３０に示すコンテンツ巡回ルールに更新される。
【０１４９】
ＣＰＵ３１１は、パラメータｎをインクリメントし、ｎ＋１を設定する（Ｓ１７１７）。そして、ＣＰＵ３１１は、ｎ＋１に対応するメッセージルールが存在すると判断すると（Ｓ１７１９）、ステップＳ１７０７以下の処理を実行する。一方、ＣＰＵ３１１は、ｎ＋１に対応するメッセージルールが存在しないと判断すると（Ｓ１７１９）、ステップＳ２４０９で取得したレスポンスメッセージに含まれるコンテンツを、巡回ルール識別子と関連付けて情報収集クライアント３３へ送信する（Ｓ１７２１）。
【実施例３】
【０１５０】
前述の実施例２における情報収集システム３では、情報収集クライアント３３とＷｅｂサーバ３５等との間でセッション管理が行われている場合においても、情報収集サーバ３１が情報収集クライアント３３に代わってＷｅｂサーバ３５等から情報収集し、収集した情報を情報収集クライアント３３へ提供することが可能であった。セッション管理が行われている通信においては、一般的にセッションＩＤはランダムに設定される。したがって、図３１で示すようなある一連のＨＴＴＰメッセージの送受信において、セッション管理で設定されたセッションＩＤｔ３１と情報収集サーバ３３のユーザが入力したデータｔ３３とが、同一となる場合も起こり得る。この場合、情報収集サーバ３３が生成するメタルールにおいて、本来必要でないルールが存在し得る。そして、本来必要でないルールの存在によって、生成したコンテンツ巡回ルール及びメタルールでは確実にコンテンツの巡回獲得処理を行うことができない場合が想定され得る。
【０１５１】
そこで、本実施例における情報収集システムの情報収集サーバでは、生成した情報巡回ルールがコンテンツの巡回獲得を確実に行えるものであるか否かの適否を判断を行い、所定の情報を確実に巡回収集することを可能とする。
【０１５２】
1.  機能ブロック図
本発明に係るスキル管理装置の機能ブロック図を図３２に示す。情報収集システムＳ５は、情報収集装置Ｍ５１、情報収集要求装置Ｍ５３を有している。情報収集装置Ｍ５１は、情報収集履歴情報記憶制御手段ｍ１１１、記憶手段ｍ１１３、要求手順抽出手段ｍ１１５、情報収集手段ｍ１１７、比較手段ｍ３１１、比較情報記憶制御手段ｍ３１３、要求手順修正手段ｍ３１５、及び比較情報修正手段ｍ５１１を有している。情報収集要求装置Ｍ５３は、情報取得手段ｍ１３１及び取得開始終了告知手段ｍ１３３を有している。
【０１５３】
比較情報修正手段ｍ５１１は、修正した前記要求手順にしたがって所定の情報を収集できない場合には、前記比較情報を修正する。また、比較情報修正手段ｍ５１１は、記比較情報から前記同一部分のうち一部若しくは全部を削除することによって、前記比較情報を修正する。
【０１５４】
2.  ハードウェア構成
本実施例における情報収集システム５は情報収集サーバ５１及び情報収集クライアント５３を有している。情報収集システム５のネットワーク構成については実施例２と同様である（図１９参照）。また、情報収集サーバ５１及び情報収集クライアント５３のハードウェア構成についても実施例２と同様である（図２０、図２１参照）。但し、情報収集クライアント５３における新規データ収集要求処理の内容が異なる。
【０１５５】
以下においては、実施例２と異なるところを中心に説明する。なお、実施例２と同様の構成、処理については、実施例２と同じ番号を付している。
【０１５６】
3.  情報収集システム５の動作
情報収集システム５の動作の概略を説明する。情報収集クライアント５３のＣＰＵ５３１の動作については、実施例２における情報収集クライアント３３の動作と同様である。
【０１５７】
情報収集サーバ５１のＣＰＵ５１１の動作を図３３を用いて説明する。基本的に、本実施例における情報収集サーバ５１のＣＰＵ５１１の動作は、実施例２における情報収集サーバ３１の動作と同様である。但し、コンテンツ巡回処理（Ｓ７１１’’）が異なる。
【０１５８】
3.1.  コンテンツ巡回処理
情報収集サーバ５１のＣＰＵ５１１が実行するコンテンツ巡回処理を図３４に示すフローチャートを用いて説明する。ＣＰＵ５１１は、実施例２と同様に、ステップＳ１７０１〜Ｓ１７０５（図２８参照）、及び図３４におけるステップＳ１７０７〜Ｓ１７１５の処理を実行する。ＣＰＵ５１１は、図３４におけるステップＳ２４０１においてレスポンスメッセージを取得できたと判断すると、取得したレスポンスメッセージが所定のレスポンスメッセージであるか否かを判断する（Ｓ３４０１）。ＣＰＵ５１１は、所定のレスポンスメッセージを取得できたか否かを、レスポンスメッセージにおけるステータスラインの内容によって判断する。具体的には、ステータスラインの内容が、例えば「ＨＴＴＰ／１．１  ４０１  Ｕｎａｕｔｈｏｒｉｚｅｄ」等であれば所定のレスポンスメッセージが得られなかったと判断できる。また、ステータスラインの内容が、例えば「ＨＴＴＰ／１．１  ２００  ＯＫ」等であれば所定のレスポンスメッセージが得られたと判断できる。
【０１５９】
ＣＰＵ５１１は、所定のレスポンスメッセージを取得することができなかったと判断すると、メタルール修正処理を実行する（Ｓ３４０３）。メタルール修正処理については、後述する。
【０１６０】
ＣＰＵ５１１は、メタルール修正処理を施したメタルールを用いて、ステップＳ２４０７以降の処理を実行する。
【０１６１】
一方、ＣＰＵ５１１は、ステップＳ３４０１において所定のレスポンスメッセージを取得することができた判断すると、実施例２と同様に、ステップＳ１７１７以降の処理を実行する。
【０１６２】
3.2.  メタルール修正処理
ＣＰＵ５１１が行うメタルール修正処理について図３５を用いて説明する。ＣＰＵ５１１は、メモリ５１２に設けられるワークエリアにメタルール更新回数Ｒｃの値が存在するかどうかを判断する（Ｓ３５０１）。ここで、メタルール更新回数Ｒｃとは、メタルールの修正を行った回数を表すパラメータである。ＣＰＵ５１１は、ワークエリアにメタルール更新回数Ｒｃの値が存在しないと判断すると、メタルール更新回数Ｒｃを設定し、その初期値「１」を設定する（Ｓ３５０３）。ＣＰＵ５１１は、ステップＳ２４０５（図３４参照）で取得したメッセージメタルールをワークエリアに一時記憶する（Ｓ３５０５）。
【０１６３】
一方、ＣＰＵ５１１は、ステップＳ３５０１においてワークエリアにメタルール更新回数Ｒｃの値が存在すると判断すると、ワークエリアに一時記憶されているメッセージメタルール更新回数Ｒｃの値を取得する（Ｓ３５０７）。ＣＰＵ５１１は、さらに、ワークエリアに一時記憶しているメッセージメタルールを取得する（Ｓ３５０９）。
【０１６４】
ＣＰＵ５１１は、ステップＳ３５０５においてワークエリアに一時記憶したメッセージメタルール若しくはステップＳ３５０９においてワークエリアから取得したメッセージメタルールが有するサブルールの数を計数し、パラメータｓに代入する（Ｓ３５１１）。具体的には、メッセージメタルールに属するタグ＜ｅｌｅｍｅｎｔ＞の数を計数する。
【０１６５】
ＣＰＵ５１１は、削除すべきサブルールの個数を示す変数ｉを設定し、初期値「１」を設定する（Ｓ３５１３）。ＣＰＵ５１１は、ステップＳ３５０７で取得したメタルール更新回数Ｒｃの値とステップＳ３５１３で設定した変数ｉの値を用いて、以下に示す式１が成立するかどうかを判断する（Ｓ３５１５）。
【０１６６】
【数１】
2009087088.tif 000003
【０１６７】
ＣＰＵ５１１は、式１が成立すると判断すると、メッセージメタルールからｉ個のサブルールを選択して削除する。例えば、図３１に示す一連のＨＴＴＰメッセージについて、図３５ａＡに示す「Ｐａｔｒｏｌ−３」に関するメッセージメタルールが生成されていた場合、上から２番目のタグ＜ｅｌｅｍｅｎｔ＞に対応するサブルールは、不要なサブルールである。したがって、Ｒｃ＝２、ｉ＝１において当該タグに対応するサブルールを削除する。削除したメッセージルールを図３５ａＢに示す。
【０１６８】
なお、削除するサブルールの選択においては、既に選択し削除を実行したサブルールの組み合わせ以外の組み合わせを選択する。
【０１６９】
ＣＰＵ５１１は、メタルール更新回数Ｒｃをインクリメントし、ワークエリアに一時記憶する（Ｓ３５１９）。
【０１７０】
一方、ＣＰＵ５１１は、ステップＳ３５１５において式１が成立しないと判断すると、変数ｉの値をインクリメントし（Ｓ３５２１）、ステップＳ３５１５の処理を実行する。
【実施例４】
【０１７１】
前述の実施例１における情報収集システム１では、情報収集サーバ１１は、Ｗｅｂサーバ１５等から情報収集クライアント１３に送信されるデータをネットワーク上で捕捉することによってコンテンツを収集することとした。しかし、情報収集クライアント１３のユーザにおいて、情報収集クライアント１３内に存在するコンテンツについても巡回収集したい場合もあり得る。
【０１７２】
そこで、本実施例における情報収集システムでは、情報収集サーバにおいて、ネットワーク上を流れないコンテンツ、つまり、情報収集クライアント内に存在するコンテンツについても収集することを可能とした。
【０１７３】
1.  機能ブロック図
本発明に係るスキル管理装置の機能ブロック図を図３６に示す。情報収集システムＳ７は、情報収集装置Ｍ７１、情報収集要求装置Ｍ７３を有している。情報収集装置Ｍ５１は、情報収集履歴情報記憶制御手段ｍ１１１、記憶手段ｍ１１３、要求手順抽出手段ｍ１１５、及び情報収集手段ｍ１１７を有している。情報収集要求装置Ｍ７３は、情報取得手段ｍ１３１、取得開始終了告知手段ｍ１３３、及び存在位置提供手段ｍ７３１を有している。
【０１７４】
存在位置提供手段ｍ７３１は、前記情報収集要求装置が有する情報を取得する際には、当該情報収集要求装置における前記情報の存在位置を知らせる存在位置告知情報を提供する。
【０１７５】
2.  ハードウェア構成
本実施例における情報収集システム７は、情報収集サーバ７１及び情報収集クライアント７３を有している。なお、情報収集システム７のネットワーク構成については実施例１と同様である（図２参照）。また、情報収集サーバ７１及び情報収集クライアント７３のハードウェア構成についても実施例１と同様である（図３、図４参照）。但し、情報収集クライアント７３における新規データ収集要求処理の内容が異なる。
【０１７６】
以下においては、実施例１と異なるところを中心に説明する。なお、実施例１と同様の処理については、実施例１と同じ番号を付している。
【０１７７】
3.  情報収集システム７の動作
情報収集システム７の動作の概略を説明する。情報収集クライアント７３のＣＰＵ７３１の動作を図３７を用いて説明する。基本的に、本実施例における情報収集クライアント７３のＣＰＵ７３１の動作は、実施例１における情報収集クライアント１３の動作と同様である。但し、新規データ要求収集処理（Ｓ６０７’）の内容が異なる。なお、情報収集サーバ７１のＣＰＵ７１１の動作については、実施例１における情報収集サーバ１１の動作と同様である。
【０１７８】
3.1.  新規データ収集要求処理
本実施例における情報収集クライアント７３のＣＰＵ７３１が実行する新規データ収集要求処理について図３８に示すフローチャートを用いて説明する。ＣＰＵ７３１が実行する新規データ収集要求処理においては、ステップＳ８０１〜Ｓ８１３までの処理については、実施例１における新規データ収集要求処理（図８参照）と同様である。
【０１７９】
情報収集クライアント７３のＣＰＵ７３１は、ステップＳ８１３においてコンテンツを表示すると、ユーザが指定したコンテンツが情報収集クライアント７３のハードディスク７３３に存在するか否か、つまりローカルデータであるか否かを判断する（Ｓ３８０１）。ＣＰＵ７３１は、ユーザが指定したコンテンツがハードディスク７３３に存在すると判断した場合には、ローカルデータアクセスコマンドを生成する（Ｓ３８０３）。
【０１８０】
ここで、ローカルデータアクセスコマンドについて説明する。ローカルデータアクセスコマンドとは、情報収集サーバ７１に対して、情報収集クライアント７３のハードディスク７３３に存在するデータを収集する旨を指示するコマンドである。ローカルデータアクセスコマンドの一例を図３９に示す。ローカルデータアクセスコマンドは、当該コマンドがローカルデータアクセスコマンドであること示す識別情報「ＰＯＬＬＩＮＧ  ＤＩＲＥＣＴＯＲＹ」、及び、情報収集クライアント４３からコンテンツを取得する方法を示す取得方法情報「ｆｔｐ：／／ｔａｋａｔｏｒｉ：ｐａｓｓ＠１２３．２３．１３２．１０／ａｂｃ／ｘｙｚ；」が記述されている。前述の取得方法情報「ｆｔｐ：／／ｔａｋａｔｏｒｉ：ｐａｓｓ＠１２３．２３．１３２．１０／ａｂｃ／ｘｙｚ；」は、ＩＰアドレス「１２３．２３．１３２．１０」で特定されるユーザ名「ｔａｋａｔｏｒｉ」、パスワード「ｐａｓｓ」である情報収集クライアント４３に対して、当該情報収集クライアント７３のパス「ａｂｃ／ｘｙｚ」に存在するコンテンツを、ＦＴＰを用いて取得することを示したものである。
【０１８１】
図３８に戻って、ＣＰＵ７３１は、ローカルデータアクセスコマンドの生成が終了すると、生成したローカルデータアクセスコマンドを情報収集サーバ７１へ送信する（Ｓ３８０５）。
【０１８２】
ＣＰＵ７３１におけるステップＳ８２１以降の処理については、実施例１と同様である。
【実施例５】
【０１８３】
前述の実施例１においては、情報収集クライアント１３は、アクセスしたＵＲＬに存在するコンテンツのすべて、例えばｗｅｂページの1ページ分を取得することとした。しかし、情報収集クライアント１３のユーザは、コンテンツの一部についてのみ情報の収集を行いたいこともあり得る。
【０１８４】
そこで、本実施例における情報収集システムでは、情報収集クライアントがアクセスしたＵＲＬに存在するコンテンツの一部について指定し、情報収集サーバが指定された一部のコンテンツを巡回取得することを可能とした。
【０１８５】
1.  機能ブロック図
本発明に係るスキル管理装置の機能ブロック図を図４０に示す。情報収集システムＳ７は、情報収集装置Ｍ７１、情報収集要求装置Ｍ７３を有している。情報収集装置Ｍ５１は、情報収集履歴情報記憶制御手段ｍ１１１、記憶手段ｍ１１３、要求手順抽出手段ｍ１１５、及び情報収集手段ｍ１１７を有している。情報収集要求装置Ｍ７３は、情報取得手段ｍ１３１、取得開始終了告知手段ｍ１３３、存在位置提供手段ｍ７３１、及び情報範囲指定手段ｍ９３１を有している。
【０１８６】
情報範囲指定手段ｍ９３１は、前記所定の情報の一部の範囲を指定して当該情報の収集を要求する情報範囲指定情報を提供する。
【０１８７】
情報収集手段ｍ１１７は、さらに、前記情報収集要求装置における情報の存在位置を知らせる存在位置告知情報にしたがって、前記情報収集要求装置が有する情報を収集する。
【０１８８】
2.  ハードウェア構成
本実施例における情報収集システム９は情報収集サーバ９１及び情報収集クライアント９３を有している。情報収集システム９のネットワーク構成については実施例１と同様である（図２参照）。また、情報収集サーバ９１及び情報収集クライアント９３のハードウェア構成についても実施例１と同様である（図２、図３参照）。
【０１８９】
3.  情報収集システム９の動作
情報収集システム９の動作の概略を説明する。情報収集クライアント９３のＣＰＵ９３１の動作を図４１を用いて説明する。情報収集クライアント９３の動作は、基本的に、実施例１における情報収集クライアント１３の動作と同様である（図８参照）。但し、新規データ要求収集処理（Ｓ６０７’’）の内容が異なる。
【０１９０】
情報収集サーバ９１の動作を図４２を用いて説明する。情報収集サーバ９１の動作については、基本的に実施例１における情報収集サーバ１１の動作と同様である。但し、コンテンツ巡回ルール生成処理（Ｓ７０９）が終了した後データ特定ルール生成処理（Ｓ４５０１）を実行する。また、実施例１とはコンテンツ巡回処理（Ｓ７１１’’’）の内容が異なる。
【０１９１】
以下においては、実施例１と異なるところを中心に説明する。なお、実施例１と同様の構成、処理については、実施例１と同じ番号を付している。
【０１９２】
3.1.  新規データ収集要求処理
本実施例における情報収集クライアント９３のＣＰＵ９３１が行う新規データ収集要求処理について図８を用いて説明する。
【０１９３】
実施例1におけるデータ特定コマンドは、特定するコンテンツとしてコンテンツ１ページ分を対象としていたため、当該コンテンツを指定するＵＲＬの入力操作によってデータ特定コマンドが生成された。一方、本実施例におけるデータ特定コマンドは、コンテンツの一部を指定することを可能とするため、コンテンツの一部を指定する操作、例えばマウスによるコンテンツの一部の選択、によってデータ特定コマンドが生成される。
【０１９４】
したがって、ＣＰＵ９３１は、図８のステップＳ８１５において、ユーザによるマウス９３５等の操作によって、現在表示しているコンテンツから、リスト型のデータが選択され、データ特定コマンドであることを入力されると、図４３Ａに示すデータ特定コマンドを生成する。図４３Ａに示すデータ特定コマンドは、記述状態において上から８番目のテーブル型のデータ、及び、同様に上から２番目のリスト型のデータが指定されたことを示している。
【０１９５】
なお、ＣＰＵ９３１は、コンテンツを取得すると、コンテンツの記述に用いられているＨＴＭＬ（Hyper Text Markup Language）の構造を解析し、タグ＜ｌｉｓｔ＞、タグ＜ｔａｂｌｅ＞を抽出し、抽出した各タグ＜ｌｉｓｔ＞、タグ＜ｔａｂｌｅ＞を特定できるように番号を付与することによって、図４３Ａに示すデータ特定コマンドを生成することができる。
【０１９６】
また、他の例として、ステップＳ８１５において、ＣＰＵ９３１は、表示されたコンテンツの構造を解析するコンテンツ構造解析処理を実行し、コンテンツを領域分けし、図４４に示すように領域毎に選択可能なようにチェックボックスを表示する。情報収集クライアント９３のユーザは、マウス９３５等を用いてチェックボックスを選択し、所定のデータについてのデータ選択コマンドを生成する。ＣＰＵ９３１が生成するデータ選択コマンドの一例を図４３Ｂに示す。図４３Ｂに示すデータ選択コマンドにおいては、記述状態において上から８番目のテーブル型のデータについて、（行、列）として（１、１）、（１、３）、（１、４）、（２、１）、（２、３）、（２、４）、（３、１）、（３、３）、（３、４）、（４、１）、（４、３）、（４、４）のセルに対応するデータが指定されたことを示している。なお、コンテンツ構造解析処理については、例えば特開２０００−３３９３０１号広報に開示された技術を用いることができる。
【０１９７】
3.2.  データ特定ルール生成処理
情報収集サーバ９１のＣＰＵ９１１が実行するデータ特定ルール生成処理について図４５を用いて説明する。ＣＰＵ９１１は、データ特定ルールをＸＭＬを用いて記述するためのデータ特定ルール記述ファイルを生成する（Ｓ４５０１）。なお、生成したデータ特定ルール記述ファイルには、＜？ｘｍｌ  ｖｅｒｓｉｏｎ＝“１．０”  ｅｎｃｏｒｄｉｎｇ＝“Ｓｈｉｆｔ＿ＪＩＳ”？＞を記述する。
【０１９８】
ＣＰＵ９１１は、ステップＳ７０９において生成した巡回ルール記述ファイルから巡回ルール識別子の値を抽出する（Ｓ４５０３）。具体的には、例えば、図５ａに示すコンテンツ巡回ルールのタグ＜ｒｕｌｅＳｅｔ＞の属性「ｄａｔａＩＤ」の値「Ｃ１０１０１」を取得する。ＣＰＵ９１１は、取得した巡回ルール識別子の値を、データ特定ルール記述ファイルにおけるタグ＜ｒｕｌｅＳｅｔ＞の属性「ｄａｔａＩＤ」の値として記述する（Ｓ４５０５）。
【０１９９】
ＣＰＵ９１１は、パラメータｎに値「１」を設定する（Ｓ４５０７）。ＣＰＵ９１１は、データ特定コマンドの「ＤＡＴＡＳＥＴ」で特定されるデータを一意に特定するデータ特定識別子「ＳＰＥＣ−ｎ」を、当該データに対して付与する（Ｓ４５０９）。ＣＰＵ９１１は、付与したデータ特定識別子の値を、データ特定ルール記述ファイルにおけるタグ＜ｒｕｌｅ＞の属性「ｒｕｌｅＮｏ」の値として記述し、また、属性「ｔｙｐｅ」の値として「Ｓｐｅｃｉｆｙ」を記述する（Ｓ４５１１）。
【０２００】
ＣＰＵ９１１は、コンテンツ巡回ルール生成処理（図４２：ステップＳ７０９参照）におけるステップＳ１１０３（図１１参照）において取得したデータ特定コマンドにおいて上からｎ番目の「ＤＡＴＡＳＥＴ」の属性の値を取得し、対応するタグの値としてデータ特定ルール記述ファイルに記述する（Ｓ４５１３）。
【０２０１】
具体的には、データ特定コマンドとして図４１Ａに示すデータ特定コマンドを取得したとすると、ｎ＝１の場合、上から１番目の「ＤＡＴＡＳＥＴ」については、属性「ＴＹＰＥ」の値「ＴＡＢＬＥ」をデータ型として取得し、データ特定ルール記述ファイルにおいてタグ＜ｔｙｐｅ＞の値として記述し、また、属性「ＮＯ」の値「８」をデータの位置を特定する情報として取得し、データ特定ルール記述ファイルにおいてタグ＜ｎｏ＞の値として記述する。また、ｎ＝２の場合、上から２番目の「ＤＡＴＡＳＥＴ」については、属性「ＴＹＰＥ」の値「ＬＩＳＴ」をデータ型として取得し、データ特定ルール記述ファイルにおいてタグ＜ｔｙｐｅ＞の値として記述し、また、属性「ＮＯ」の値「２」をデータの位置を特定する情報として取得し、データ特定ルール記述ファイルにおいてタグ＜ｎｏ＞の値として記述する。このようにして生成されたデータ特定ルールを図４６Ａに示す。
【０２０２】
また、別の例として、データ特定コマンドとして図４１Ｂに示すデータ特定コマンドを取得したとすると、ｎ＝１の場合、上から１番目の「ＤＡＴＡＳＥＴ」については、属性「ＴＹＰＥ」の値「ＴＡＢＬＥ」をデータ型として取得し、データ特定ルール記述ファイルにおいてタグ＜ｔｙｐｅ＞の値として記述する。また、属性「ＮＯ」の値「８」をデータの位置を特定する情報として取得し、データ特定ルール記述ファイルにおいてタグ＜ｎｏ＞の値として記述する。さらに、属性「ＣＯＬ」の値「１、３、４」を列の指定情報として取得し、データ特定ルール記述ファイルにおいてタグ＜ｃｏｌ＞の値としてそれぞれ記述し、また、属性「ＲＯＷ」の値「１、２、３、４」を行の指定情報として取得し、データ特定ルール記述ファイルにおいてタグ＜ｒｏｗ＞の値としてそれぞれ記述する。このようにして生成されたデータ特定ルールを図４６Ｂに示す。
【０２０３】
図４５に戻って、ＣＰＵ９１１は、他の「ＤＡＴＡＳＥＴ」が存在すると判断すると（Ｓ４５１５）、パラメータｎの値をインクリメントし（Ｓ４５１７）、ステップＳ４５０９以降の処理を繰り返す。
【０２０４】
3.3.  データ更新処理
情報収集サーバ９１のＣＰＵ９１１が実行するデータ更新処理について図４７を用いて説明する。ＣＰＵ９１１は、実施例１と同様に、ステップＳ１７０１〜Ｓ１７１９までの処理を実行する。
【０２０５】
ＣＰＵ９１１は、ステップＳ１７１９においてｎ＋１に対応するメッセージルールが存在しないと判断すると、ステップＳ１７０１で取得した巡回ルール識別子に対応するデータ特定ルールが存在するか否かを判断する（Ｓ４７０１）。具体的には、データ特定ルールのタグ＜ｒｕｌｅＳｅｔ＞の属性「ｄａｔａＩＤ」の値が、取得した巡回ルール識別子と同一のデータ特定ルールが存在するか否かを判断する。
【０２０６】
ＣＰＵ９１１は、対応するデータ特定ルールが存在すると判断すると、当該データ特定ルールを取得する（Ｓ４７０３）。ＣＰＵ９１１は、取得したデータ特定ルールに基づいて、ステップＳ１７１５で取得したコンテンツから、巡回取得の対象となる情報を抽出する（Ｓ４７０５）。ＣＰＵ９１１は、抽出したコンテンツを巡回ルール識別子と関連付けて、情報収集クライアント９３へ送信する（Ｓ１７２１）。
【０２０７】
なお、ＣＰＵ９１１は、ステップＳ４７０５において対応するデータ特定ルールが存在しないと判断すると、ステップＳ１７１５で取得したコンテンツを巡回ルール識別子と関連付けて、情報収集クライアント９３へ送信する（Ｓ１７２１）。
【０２０８】
［その他の実施形態］
（１）ＨＴＴＰ
前述の実施例１〜実施例５においては、情報収集クライアントとＷｅｂサーバ等との間の通信はＨＴＴＰを用いることとしたが、通信におけるデータ形式が規定されているものであれば例示のものに限定されない。例えば、ＦＴＰ等であってもよい。
【０２０９】
（２）ＸＭＬ記述におけるタグ
前述の実施例１〜実施例５においては、ＨＴＴＰメッセージのデータについて、ＸＭＬのタグ＜ｃｏｍｍａｎｄＬｉｎｅ＞、＜ｈｔｔｐＨｅａｄｅｒ＞、＜ｈｔｔｐＢｏｄｙ＞＜Ｓｅｔ−Ｃｏｏｋｉｅ＞、＜Ｃｏｏｋｉｅ＞、＜ＳＥＳＳＩＯＮＩＤ＞等（図１４ａ、図２７ａ等参照）を用いて、抽出することとしたが、所定の規則に従って抽出するのであれば、例示のものに限定されない。例えば、図１２に示すＨＴＴＰメッセージをＸＭＬで記述するにあたり、番号３のリクエストメッセージのリクエストライン「ＰＯＳＴ  ／ｐａｇｅ１．ｃｇｉ  ＨＴＴＰ／１，１」について、タグ＜ｐｒｏｔｏｃｏｌ＞、タグ＜ｖｅｒｓｉｏｎ＞、タグ＜ｍｅｔｈｏｄ＞、タグ＜ｐａｔｈ＞を用いて、それぞれの値として「ＨＴＴＰ」、「１．１」、「ＰＯＳＴ」  「／ｐａｇｅ１．ｃｇｉ」を抽出するようにしてもよい。ＨＴＴＰメッセージにおけるどのデータをどのタグに対応させて抽出するかについては、ユーザの判断で決定し、予め規定しておけばよい。
【０２１０】
（３）ＸＭＬ
前述の実施例１〜実施例５においては、ＸＭＬを用いて、ＨＴＴＰメッセージである通信データを復元することができる、コンテンツ巡回ルール、メタルール、データ特定ルール等のルールを記述したが、記述したルールに基づいて元の通信データを復元できるものであれば例示のものに限定されない。例えば、図２２等に示すようなテーブル形式にして、通信データを復元するためのルールを記述するようにしてもよい。
【０２１１】
（４）コマンドの記述
前述の実施例１においては、情報収集サーバと情報収集クライアントとの間で用いるコマンドとして、新規データインポートコマンド（図９参照）、データ更新コマンド（図１６参照）、ローカルデータアクセスコマンド（図３９参照）、データ特定コマンド（図４１参照）を例示したが、各コマンドの内容を実現できるものであれば、記述形式は図に示されたものに限定されない。
【０２１２】
（５）セッション管理
前述の実施例２、実施例３においては、セッション管理の方法として、Ｃｏｏｋｉｅを用いた方法を示したが、ＧＥＴメソッドを用いてＵＲＬにセッションＩＤを記述する方法やＰＯＳＴメソッドを用いてＨＴＴＰボディにセッションＩＤを記述する方法であってもよい。
【０２１３】
ＰＯＳＴメソッドを用いてＨＴＴＰボディにセッションＩＤを記述する方法では、レスポンスメッセージのＨＴＴＰボディに記述されているＨＴＭＬ文書の中に、ｈｉｄｄｅｎ型属性をもつ「ｉｎｐｕｔ」に対する値としてセッションＩＤが記述されてることが多い。この場合、メタルールにおいて、当該ｉｎｐｕｔに対する値を特定するパス（例えば、「／ｒｕｌｅＳｅｔ／ｒｕｌｅ［＠ｒｕｌｅＮｏ＝‘Ｐａｔｒｏｌ−２’］／ｈｔｔｐＢｏｄｙ／ｅｌｅｍｅｎｔ／ＳＥＳＳＩＯＮＩＤ」で特定できる値）を、リクエストメッセージにおけるメッセージルールの値（例えば、「．／ｈｔｔｐＢｏｄｙ／ｅｌｅｍｅｎｔｓ／ＳＥＳＳＩＯＮＩＤ」というパスにて特定できる値）と対応付ける記述を設ければよい。
【０２１４】
（６）フローチャートにおける処理
前述の実施例１〜実施例５においては、図に示した各フローチャートに基づいて、各処理を実現するようにした。しかし、各処理を実現できるものであれば、各フローチャート内における処理は例示のものに限定されない。
【図面の簡単な説明】
【０２１５】
【図１】本発明における情報収集システムの実施例１における機能ブロック図を示した図である。
【図２】情報収集システム１のネットワーク構成を示した図である。
【図３】情報収集サーバ１１のハードウェア構成を示した図である。
【図４】情報収集クライアント１３のハードウェア構成を示した図である。
【図５】ＨＴＴＰの概要を説明する図である。
【図５ａ】コンテンツ巡回ルールの記述例を示した図である。
【図６】情報収集クライアント１３の動作を説明するためのフローチャートである。
【図７】情報収集サーバ１１の動作を説明するためのフローチャートである。
【図８】新規データ収集要求処理を説明するためのフローチャートである。
【図９】新規データインポートコマンドを示した図である。
【図１０】巡回コンテンツ一覧画面を示した図である。
【図１１】コンテンツ巡回ルール生成処理を説明するためのフローチャートである。
【図１２】ワークエリアのデータを示した図である。
【図１３】コンテンツ巡回ルールＸＭＬ記述処理を説明するためのフローチャートである。
【図１３ａ】ユーザにテキスト入力を促すページの一例を示した図である。
【図１４】コンテンツ巡回ルールを示した図であり、Ａ、Ｂ、Ｃはその生成過程を示している。
【図１４ａ】コンテンツ巡回ルールを示した図である。
【図１５】データ更新要求処理を説明するためのフローチャートである。
【図１６】データ更新コマンドを示した図である。
【図１７】データ更新処理を説明するためのフローチャートである。
【図１８】本発明における情報収集システムの実施例２における機能ブロック図を示した図である。
【図１９】情報収集システム３のネットワーク構成を示した図である。
【図２０】情報収集サーバ３１のハードウェア構成を示した図である。
【図２１】情報収集クライアント３３のハードウェア構成を示した図である。
【図２２】一連のＨＴＴＰメッセージを示した図である。
【図２３】情報収集サーバ３１の動作を説明するためのフローチャートである。
【図２４】コンテンツ巡回ルール生成処理を示したフローチャートである。
【図２５】メタルール生成処理を示したフローチャートである。
【図２５ａ】メタルール生成処理を示したフローチャートである。
【図２６】メタルールＸＭＬ記述処理を示したフローチャートである。
【図２７】メタルールを示した図であり、Ａ、Ｂ、Ｃはその生成過程を示している。
【図２７ａ】コンテンツ巡回ルールを示した図である。
【図２８】データ更新処理を示したフローチャートである。
【図２８ａ】データ更新処理を示したフローチャートである。
【図２９】レスポンスメッセージを示したフローチャートである。
【図３０】更新されたコンテンツ巡回ルールを示したフローチャートである。
【図３１】一連のＨＴＴＰメッセージを示した図である。
【図３２】本発明における情報収集システムの実施例３における機能ブロック図を示した図である。
【図３３】情報収集サーバ５１の動作を説明するためのフローチャートである。
【図３４】データ更新処理を示したフローチャートである。
【図３５】メタルール修正処理を示したフローチャートである。
【図３５ａ】メタルールの記述例であり、Ａは不要なサブルールが存在した状態を、Ｂは不要なサブルールを削除した状態を示している。
【図３６】本発明における情報収集システムの実施例４における機能ブロック図を示した図である。
【図３７】情報収集クライアント７３の動作を説明するためのフローチャートである。
【図３８】新規データ収集要求処理を示したフローチャートである。
【図３９】ローカルデータアクセスコマンドを示した図である。
【図４０】本発明における情報収集システムの実施例５における機能ブロック図を示した図である。
【図４１】情報収集クライアント９３の動作を説明するためのフローチャートである。
【図４２】情報収集サーバ９１の動作を説明するためのフローチャートである。
【図４３】データ特定コマンドを示した図である。
【図４４】コンテンツの一部を選択する画面の例を示した図である。
【図４５】データ特定ルール生成処理を示したフローチャートである。
【図４６】データ特定ルールを示した図である。
【図４７】データ更新処理を示したフローチャートである。
【符号の説明】
【０２１６】
Ｓ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９・・・・・情報収集システム
Ｍ１１、Ｍ３１、Ｍ５１、Ｍ７１、Ｍ９１・・・・・情報収集装置
Ｍ１３、Ｍ３３、Ｍ５３、Ｍ７３、Ｍ９３・・・・・情報収集要求装置
ｍ１１１・・・・・情報収集履歴情報記憶制御手段
ｍ１１３・・・・・記憶手段
ｍ１１５・・・・・要求手順抽出手段
ｍ１１７・・・・・情報収集手段
ｍ１３１・・・・・情報取得手段
ｍ１３３・・・・・取得開始終了告知手段
ｍ３１１・・・・・比較手段
ｍ３１３・・・・・比較情報記憶制御手段
ｍ３１５・・・・・要求手順修正手段
ｍ５１１・・・・・比較情報修正手段
ｍ７３１・・・・・存在位置提供手段
ｍ９３１・・・・・情報範囲指定手段
１１、３１、５１、７１、９１・・・・・情報収集サーバ
１３、３３、５３、７３、９３・・・・・情報収集クライアント
１５、２５・・・・・Ｗｅｂサーバ
１７、２７・・・・・コンテンツサーバ
【図１】
2009087088.tif 000004
【図２】
2009087088.tif 000005
【図３】
2009087088.tif 000006
【図４】
2009087088.tif 000007
【図５】
2009087088.tif 000008
【図５ａ】
2009087088.tif 000009
【図６】
2009087088.tif 000010
【図７】
2009087088.tif 000011
【図８】
2009087088.tif 000012
【図９】
2009087088.tif 000013
【図１０】
2009087088.tif 000014
【図１１】
2009087088.tif 000015
【図１２】
2009087088.tif 000016
【図１３】
2009087088.tif 000017
【図１３ａ】
2009087088.tif 000018
【図１４】
2009087088.tif 000019
【図１４ａ】
2009087088.tif 000020
【図１５】
2009087088.tif 000021
【図１６】
2009087088.tif 000022
【図１７】
2009087088.tif 000023
【図１８】
2009087088.tif 000024
【図１９】
2009087088.tif 000025
【図２０】
2009087088.tif 000026
【図２１】
2009087088.tif 000027
【図２２】
2009087088.tif 000028
【図２３】
2009087088.tif 000029
【図２４】
2009087088.tif 000030
【図２５】
2009087088.tif 000031
【図２５ａ】
2009087088.tif 000032
【図２６】
2009087088.tif 000033
【図２７】
2009087088.tif 000034
【図２７ａ】
2009087088.tif 000035
【図２８】
2009087088.tif 000036
【図２８ａ】
2009087088.tif 000037
【図２９】
2009087088.tif 000038
【図３０】
2009087088.tif 000039
【図３１】
2009087088.tif 000040
【図３２】
2009087088.tif 000041
【図３３】
2009087088.tif 000042
【図３４】
2009087088.tif 000043
【図３５】
2009087088.tif 000044
【図３５ａ】
2009087088.tif 000045
【図３６】
2009087088.tif 000046
【図３７】
2009087088.tif 000047
【図３８】
2009087088.tif 000048
【図３９】
2009087088.tif 000049
【図４０】
2009087088.tif 000050
【図４１】
2009087088.tif 000051
【図４２】
2009087088.tif 000052
【図４３】
2009087088.tif 000053
【図４４】
2009087088.tif 000054
【図４５】
2009087088.tif 000055
【図４６】
2009087088.tif 000056
【図４７】
2009087088.tif 000057