説明

情報収集システム、情報収集装置

【課題】ネットワーク上に存在する情報から所望の情報を取得した取得履歴情報を用いて自動的に所望の情報を収集する情報収集システムの提供。
【解決手段】情報収集サーバは、情報収集クライアントとWebサーバとの間でやり取りされたHTTPメッセージを補足し、履歴を生成する。生成した履歴をXMLを用いてルール化して保存し、巡回収集の時に、ルールからリクエストメッセージを復元し、コンテンツの自動収集を行う。HTTPメッセージのXMLを用いたルール化において、HTTPメッセージのコマンド行の値を取得し、その値をタグ<commandLine>に、HTTPメッセージのヘッダ・フィールドの値を取得し、その値をタグ<httpHeader>に、さらに、HTTPメッセージのメッセージ・ボディの値を取得し、その値をタグ<httpBody>に対応させて記述する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上に存在する情報から所望の情報を自動的に収集する情報収集システムであって、特に、所望の情報を取得した取得履歴情報を用いて自動的に所望の情報を収集できるものに関する。
【背景技術】
【0002】
従来の情報収集装置を特開2006−120048に記載されたテーブル監視装置を例に説明する。特開2006−120048におけるテーブル監視装置は、所定のWebページにおいてユーザが注目するデータ(注目データ)を格納するセルの位置がテーブル内で変わっても、注目データを格納するセルを同定し、注目データを監視、つまり注目データの値の変化の有無を判断するものである。
【0003】
【特許文献1】特開2006−120048
【発明の開示】
【発明が解決しようとする課題】
【0004】
前述のテーブル監視装置には、以下のような問題点がある。テーブル監視装置では、注目データを監視するにあたって、所定のWebページにアクセスする必要がある。所定のWebページに対してユーザ認証等のアクセス制限がかけられている場合、ユーザは、まずユーザ認証を実行してアクセス制限を解除した後に当該所定のWebページにアクセスする必要がある。また、注目データの監視は、ユーザ認証が有効である期間に行われなければならない。したがって、ユーザ認証が有効である期間、つまり比較的短時間における注目データの値の変化を判断する場合には適用できるが、ユーザ認証が無効となってしまう程長時間における注目データの値の変化の有無を判断する場合には適用できない。つまり、場合によっては所定のwebページにアクセスでいないという問題がある。
【0005】
そこで、本発明は、どのような環境でも自動的に情報を収集できる情報収集システムの提供を目的とする。
【課題を解決するための手段】
【0006】
本発明に関する課題を解決するための手段および発明の効果を以下に示す。
【0007】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、前記取得開始情報を取得してから前記取得終了情報を取得するまでの間において、前記情報収集要求装置が情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段に記憶させ、前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出し、前記要求手順にしたがって、前記情報提供装置から情報を収集する。
【0008】
これにより、取得開始情報を取得してから取得終了情報を取得するまでの間に情報収集履歴情報を取得するだけで容易に情報の自動収集を行うことができる。
【0009】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記情報収集要求装置と前記情報提供装置との間の通信プロトコルに則っとり送受信されたデータを前記手順とする。
【0010】
これにより、手順として、規格上ほぼ統一された形式を有する通信プロトコルに基づく送受信データを用いることによって、手順を容易に解析することができるので、情報収集履歴情報を用いて容易に情報の自動収集を行うことができる。
【0011】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記通信プロトコルとしてHTTPを用い、HTTPメッセージを前記手順とし、前記情報収集履歴情報から、前記HTTPメッセージの中からリクエストメッセージを要求手順として抽出する。情報の収集に必要なリクエストメッセージを用いることによって、効率的に情報の自動収集を行うことができる。
【0012】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記情報収集要求装置が前記情報提供装置に送信したデータと、前記情報収集要求装置が前記情報提供装置から受信したデータとを比較し、前記比較の結果、同一であると判断された部分を比較情報として記憶手段に記憶させ、前記要求手順にしたがって、前記情報提供装置から情報を獲得する際に、ある前記要求手順に対応して前記情報提供装置から受信した受信データと前記比較情報とを用いて、前記要求手順の次の要求手順における前記同一部分を、前記受信データにおける前記同一部分の値で修正する。
【0013】
これにより、情報取得要求装置と情報提供装置との間の通信において、一連の情報取得手順を特定する場合、例えば、いわゆるセッション管理を行う場合であっても、容易に情報の自動収集を行うことができる。
【0014】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、修正した前記要求手順にしたがって所定の情報を収集できない場合には、前記比較情報を修正する。
【0015】
これにより、情報の収集可否に基づいて比較情報を修正するので、確実に自動収集を行うことができる。
【0016】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記比較情報から前記同一部分のうち一部若しくは全部を削除することによって、前記比較情報を修正する。
【0017】
これにより、容易かつ確実に比較情報の修正を行うことができる。
【0018】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、前記情報収集要求装置における情報の存在位置を知らせる存在位置告知情報にしたがって、前記情報収集要求装置が有する情報を収集する。
【0019】
これにより、情報収集要求装置が有する情報についても、容易に情報の自動収集を行うことができる。
【0020】
本発明に係る情報収集システム、情報収集装置、及び情報収集プログラムでは、さらに、前記情報範囲指定情報にしたがって、当該情報の一部について情報を収集する。
【0021】
これにより、必要な情報だけを自動収集することができる。
【発明を実施するための最良の形態】
【0022】
本発明における情報収集システムの実施例を以下において説明する。
【実施例1】
【0023】
1. 概要
本発明に係るスキル管理装置の機能ブロック図を図1に示す。情報収集システムS1は、情報収集装置M11、情報収集要求装置M13を有している。情報収集装置M11は、情報収集履歴情報記憶制御手段m111、記憶手段m113、要求手順抽出手段m115、及び情報収集手段m117を有している。情報収集要求装置M13は、情報取得手段m131及び取得開始終了告知手段m133を有している。
【0024】
情報収集履歴情報記憶制御手段m111は、前記取得開始情報を取得してから前記取得終了情報を取得するまでの間において、前記情報収集要求装置が情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段m113に記憶させる。また、情報収集履歴情報記憶制御手段m111は、前記情報収集要求装置と前記情報提供装置との間の通信プロトコルに則っとり送受信されたデータを前記手順とする。さらに、情報収集履歴情報記憶制御手段m111は、前記通信プロトコルとしてHTTPを用い、HTTPメッセージを前記手順とする。
【0025】
要求手順抽出手段m115は、前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出する。また、要求手順抽出手段m115は、前記情報収集履歴情報から、前記HTTPメッセージの中からリクエストメッセージを要求手順として抽出する。
【0026】
情報収集手段m117は、前記要求手順にしたがって、前記情報提供装置から情報を収集する。
【0027】
情報取得手段m131は、情報を提供する情報提供装置から所定の情報を取得する。取得開始終了告知手段m133は、前記所定の情報の取得の開始を知らせる取得開始情報及び終了を知らせる取得終了情報を提供する。
【0028】
2. ハードウェア構成
2.1. 情報収集システム1のネットワーク構成
情報収集システム1のハードウェア構成を図2を用いて説明する。情報収集システム1は、情報収集サーバ11及び情報収集クライアント13を有している。情報収集サーバ11及び情報収集クライアント13は、互いにネットワークを介して接続されており、互いにデータの送受信を行うことができる。また、情報収集システム1は、ネットワークを介してWebサーバ15、コンテンツサーバ17と接続されており、互いにデータの送受信を行うことができる。
【0029】
情報収集サーバ11は、情報収集クライアント13に代わってWebサーバ15及びコンテンツサーバ17から情報を収集し、収集した情報を情報収集クライアント13へ提供する。情報収集クライアント13は、情報収集サーバ11に対して情報を収集するように命令する。
【0030】
Webサーバ15は、WWWシステムに則った情報の送受信を行う。コンテンツサーバ17は、文書や映像等のコンテンツの保存および管理を行う。Webサーバ15及びコンテンツサーバ17は、一般的に用いられているWebサーバ、コンテンツサーバにより構成されている。
【0031】
以下において、情報収集サーバ11及び情報収集クライアント13のハードウェア構成を説明する。
【0032】
2.2. 情報収集サーバ11のハードウェア構成
情報収集サーバ11のハードウェア構成を図3を用いて説明する。情報収集サーバ11は、CPU111、メモリ112、ハードディスク113、キーボード114、マウス115、ディスプレイ116、光学式ドライブ117、及び通信制御回路118を有している。
【0033】
CPU111は、ハードディスク113に記録されているオペレーティング・システム(OS)、情報収集サーバプログラム等その他のアプリケーションに基づいた処理を行う。メモリ112は、CPU111に対して作業領域を提供する。ハードディスク113は、オペレーティング・システム(OS)、情報収集サーバプログラム等その他のアプリケーション、コンテンツ巡回ルールを含む各種データを記録保持する。コンテンツ巡回ルールについては後述する。
【0034】
キーボード114、マウス115は、ユーザ等による外部からの操作を受け付ける。ディスプレイ116は、OSやアプリケーションのユーザインターフェイス等を表示する。
【0035】
光学式ドライブ117は、情報収集サーバプログラムが記録されている光学式メディア110から情報収集プログラムを、また、他の光学式メディアからその他のアプリケーションのプログラムを読み取る等、光学式メディアからのデータの読み取りを行う。通信制御回路118は、ネットワークを介したデータの送受信を行う。
【0036】
2.3. 情報収集クライアント13のハードウェア構成
情報収集クライアント13のハードウェア構成を図4を用いて説明する。情報収集クライアント13は、CPU131、メモリ132、ハードディスク133、キーボード134、マウス135、ディスプレイ136、光学式ドライブ137、及び通信制御回路138が接続されている。
【0037】
CPU131は、ハードディスク133に記録されているオペレーティング・システム(OS)、情報収集クライアントプログラム等その他のアプリケーションに基づいた処理を行う。メモリ132は、CPU131に対して作業領域を提供する。ハードディスク133は、オペレーティング・システム(OS)、情報収集クライアントプログラム等その他のアプリケーションを含む各種データを記録保持する。
【0038】
キーボード134、マウス135は、ユーザ等による外部からの命令を受け付ける。ディスプレイ136は、OSやアプリケーションのユーザインターフェイス等を表示する。
【0039】
光学式ドライブ137は、情報収集クライアントプログラムが記録されている光学式メディア130から情報収集クライアントプログラムを、また、他の光学式メディアからその他のアプリケーションのプログラムを読み取る等、光学式メディアからのデータの読み取りを行う。通信制御回路138は、ネットワークを介したデータの送受信を行う。
【0040】
3. HTTP
情報収集システム1では、データの送受信にHTTP(Hyper Text Transfer Protocol)を用いている。HTTPは、WebサーバとWebブラウザ等のクライアントとの間でデータを送受信するのに用いられるプロトコルである。HTTPでは、クライアントは、Webサーバにアクセスする際に、リクエストメッセージをWebサーバに渡し、リクエストメッセージを受け取ったWebサーバは、リクエストメッセージに対応するレスポンスメッセージをクライアントに返す。
【0041】
ここで、HTTPの記述形式を図5を用いて説明する。HTTPにおけるリクエストメッセージ及びレスポンスメッセージは、メッセージヘッダ、メッセージボディにより構成される。メッセージヘッダとメッセージボディとは、1行の空行により区切られる。
【0042】
メッセージヘッダは、リクエストライン若しくはステータスラインと呼ばれるコマンドを記述する行(以下、コマンド行とする。)とリクエストメッセージ及びレスポンスメッセージの実質的な内容や属性を記述するヘッダフィールドを有している。なお、コマンド行は1行と規定されている。メッセージボディは、常に存在するわけではなく、必要であれば記述される。
【0043】
リクエストラインは、メソッドトークン、リクエストURI、プロトコルバージョンの記述を有し、改行(CRLF)で終了する。リクエストラインを構成する各要素は、スペース(SP)によって区切られる。図5におけるリクエストラインでは、「GET」がメソッドトークンに、「/index.html」がリクエストURIに、「HTTP/1.1」がプロトコルバージョンに、それぞれ対応する。
【0044】
ステータスラインは、HTTPバージョン、ステータスコード、レスポンスフレーズの記述を有し、改行で終了する。リクエストラインを構成する各要素は、スペース(SP)によって区切られる。図5におけるステータスラインでは、「HTTP/1.1」がHTTPバージョンに、「200」がステータスコードに、「OK」がレスポンスフレーズに、それぞれ対応する。
ヘッダフィールドは、データに関する情報やソフトウェアに関する情報がメタ情報として記述される。ヘッダフィールドは、フィールド名、その後にコロン(:)、そしてフィールド値の記述を有する。図5におけるレスポンスメッセージにおけるヘッダフィールドでは、「Date」、「Sever」、「Content−Length」、「Content−Type」がフィールド名に対応し、「Satruday,07 Oct 2006 06:18:36 GMT」、「Apache/1.3.22(Unix)(Red−Hat/Linux)」、「4444」、「text/html」が、それぞれのフィールド名に対応するフィールド値となる。
【0045】
メッセージボディには、送信する内容が記述される。
【0046】
4. コンテンツ巡回ルール
情報収集サーバ11がハードディスク113に記録しているコンテンツ巡回ルールについて説明する。コンテンツ巡回ルールとは、情報収集サーバ11が情報収集クライアント13に代わってコンテンツ等を取得するためのルールをいう。本実施形態においては、情報収集クライアント13がHTTPを用いてWebサーバ25、コンテンツサーバ27へ送信した所定のリクエストメッセージに基づき、コンテンツ巡回ルールを生成している。
【0047】
ここで、コンテンツ巡回ルールについて図5aを用いて説明する。図5aは、本実施例におけるコンテンツ巡回ルールをXMLを用いて記述したものを示している。また、図7におけるコンテンツ巡回ルールは、情報収集クライアント13とWebサーバ25若しくはコンテンツサーバ27との間で図5に示すHTTPメッセージの送受信があった場合に生成されるものである。
【0048】
図5aにおけるHTTPメッセージを構成する各要素は抽出された後、要素毎に対応するタグと関連付けられ、図5aに示すコンテンツ巡回ルールとして再構成される。図5aに示すように、例えば、リクエストメッセージにおけるリクエストラインに記述されている値は、タグ<commandLine>と関連付けられ、コンテンツ巡回ルールにおいてタグ<commandLine>〜</commandLine>間に記述されている。なお、リクエストラインに記述されている値とコンテンツ巡回ルールにおけるタグとの対応関係は、予め定めておく。
【0049】
5. 情報収集システム1の動作
情報収集システム1の動作の概略を図6、図7を用いて説明する。図6に示すように、情報収集クライアント13のCPU131は、OSを介して何らかのコマンドを獲得すると(S601)、獲得したコマンドがどの処理に対応するコマンドであるのかを判断する(S603)。
【0050】
CPU131は、獲得したコマンドが情報収集サーバ11に対してコンテンツ巡回ルールの生成を要求する新規データ収集コマンドであると判断すると、情報収集プログラムを起動し(S605)、新規データ収集要求処理を実行する(S607)。CPU131は、新規データ収集要求処理において生成した新規データインポートコマンド(後述)を情報収集サーバ11へ送信する。
【0051】
また、CPU131は、獲得したコマンドが情報収集サーバ11に対して収集データの更新を要求するデータ更新要求コマンドであると判断すると、情報収集プログラムを起動し(S609)、データ更新要求処理を実行する(S611)。CPU131は、データ更新要求処理において生成したデータ更新コマンド(後述)を情報収集サーバ11へ送信する。
【0052】
なお、新規データ収集コマンド、データ更新要求コマンドは、例えば、ディスプレイ116上に配置されたショートカット・アイコン等の選択や、コマンド入力画面における対応するコマンドの入力といったユーザの作業を介して獲得する。
【0053】
CPU131は、獲得したコマンドが新規データ収集コマンド、データ更新要求コマンド以外のコマンドであった場合には、そのコマンドに対応する処理を実行する(S613)。
【0054】
CPU131は、新規データ収集要求処理(S607)、データ更新要求処理(S609)が終了した後、コマンド待ち状態とする(S615)。CPU131は、コマンドを獲得すると、獲得したコマンドがどの処理に対応するコマンドであるのかを判断する(S617)。そして、CPU131は、獲得したコマンドが新規データ収集コマンドであると判断すると新規データ収集要求処理(S607)を、データ更新要求コマンドであると判断するとデータ更新要求処理(S609)を、情報収集サーバプログラムの終了コマンドであると判断すると、情報収集サーバプログラムを終了する(S619)。
【0055】
一方、図7に示すように、情報収集サーバ11のCPU111は、情報収集サーバプログラムの起動命令を獲得すると(S701)、情報収集サーバプログラムを起動し(S703)、コマンド待ち状態とする(S705)。CPU111は、コマンド待ち状態において、何らかのコマンドを獲得すると、獲得したコマンドがどの処理に対応するコマンドであるのかを判断する(S707)。
【0056】
CPU111は、獲得したコマンドが新規データインポートコマンドであると判断すると、コンテンツ巡回ルール生成処理を実行する(S709)。また、CPU111は、獲得したコマンドがデータ更新コマンドであると判断すると、コンテンツ巡回処理を実行する(S711)。なお、CPU111は、獲得したコマンドが新規データインポートコマンド、データ更新コマンド以外のコマンドであった場合には、そのコマンドに対応する処理を実行する(S713)。
【0057】
CPU111は、コンテンツ巡回ルール生成処理(S709)、コンテンツ巡回処理(S711)が終了した後、情報収集サーバプログラムの終了コマンドを獲得すると(S713)、情報収集サーバプログラムを終了する(S715)。
【0058】
以下において、情報収集クライアント13のCPU131が実行する新規データ収集要求処理(S607)及びデータ更新要求処理(S611)、情報収集サーバ11のCPU111が実行するコンテンツ巡回ルール生成処理(S709)及びコンテンツ巡回処理(S711)を説明する。
【0059】
5.1. 新規データ収集要求処理
情報収集クライアント13のCPU131が実行する新規データ収集要求処理を図8に示すフローチャートを用いて説明する。CPU131は、新規データ収集コマンドを獲得すると、新規データインポートコマンドを生成する(S801)。
【0060】
ここで、新規データインポートコマンドについて説明する。新規データインポートコマンドとは、情報収集サーバ11に対して、情報収集クライアントが送受信するHTTPメッセージの取得開始を要求するコマンドである。新規データインポートコマンドの一例を図9に示す。新規データインポートコマンドは、「IMPORT NEW DATASET」の記述と、これに続く「FROM」以下の記述により構成されている。「IMPORT NEW DATASET」の記述は、当該コマンドが新規データインポートコマンドであることを示している。また、「FROM」以下には、情報収集クライアント13のネットワーク上の位置を特定する情報、例えばIPアドレスが記述される。
【0061】
図8に戻って、CPU131は、新規データインポートコマンドの生成が終了すると、RPC(Remote Procedure Call)を用いて、生成した新規データインポートコマンドを情報収集サーバ11へ送信する(S803)。RPCとは、ネットワーク上の異なるコンピュータの間での遠隔処理を実現する既存の技術である。なお、CPU131は、RPCを用いた新規データインポートコマンドの送信に際して、予めハードディスク113に記憶している、情報収集サーバ11のネットワーク上の位置を特定する情報、例えばIPアドレスを用いる。
【0062】
CPU131は、新規データインポートコマンドの送信が終了すると、ディスプレイ116にコンテンツ表示用画面を表示する(S805)。なお、コンテンツ表示用画面としては、既存のブラウザプログラムであってもよい。既存のブラウザプログラムを用いる場合、コンテンツ表示用画面を表示するにあたって、この段階でブラウザプログラムを起動する。
【0063】
CPU131は、ユーザによるURLの入力等、コンテンツの取得を要求するコンテンツ取得コマンドを獲得すると(S807)、当該コンテンツを有するWebサーバ25やコンテンツサーバ27に、通信制御回路238を介して接続する(S809)。CPU131は、コンテンツを取得すると(S811)、取得したコンテンツをコンテンツ表示用画面に表示する(S813)。
【0064】
ユーザは、コンテンツ表示用画面に表示されたコンテンツが、自らが取得を望むものであると判断すれば、コンテンツ表示用画面の上、若しくは、その周辺に配置されたアイコンやメニュー内の項目を選択することによって、データ特定コマンド生成要求情報を生成する。
【0065】
CPU131は、データ特定コマンド生成要求情報を獲得したと判断すると(S815)、データ特定コマンドを生成する(S817)。データ特定コマンドは、コンテンツ表示用画面に表示されている特定のコンテンツがユーザが巡回獲得を要求するコンテンツ(巡回コンテンツ)であることを示すコマンドである。CPU131は、生成したデータ特定コマンドを情報収集サーバ11へ送信する(S819)。
【0066】
CPU131は、情報収集サーバ11から巡回ルール識別子(後述)を獲得すると、巡回コンテンツと関連付けてハードディスク233の巡回コンテンツ情報へ登録する(S821)。また、CPU111は、巡回ルール識別子を獲得した巡回コンテンツを巡回コンテンツ一覧画面に表示する(S823)。巡回コンテンツ一覧画面の一例を図10に示す。図10においては、一つの巡回コンテンツは、当該コンテンツのURL及び巡回を行った日時(巡回ルール識別子を獲得した日時、若しくは、コンテンツ更新完了情報(後述)を獲得した日時)と関連付けて表示される。
【0067】
5.2. コンテンツ巡回ルール生成処理
情報収集サーバ11のCPU111が実行するコンテンツ巡回ルール生成処理を図11に示すフローチャートを用いて説明する。CPU111は、情報収集クライアント13から新規データインポートコマンドを獲得したと判断すると、情報収集クライアント13が送受信するデータの取得を開始する(S1101)。なお、情報収集クライアント13が送受信するデータの取得に関しては、既存のパケット・キャプチャー技術を用いる。
【0068】
CPU111は、取得したデータがデータ特定コマンドであるか否かを判断する(S1103)。CPU111は、データ特定コマンドでないと判断すると、取得したデータをメモリ112若しくはハードディスク113の所定の領域(ワークエリア)に一時記憶する(S1105)。
【0069】
ここで、ワークエリアに一時記憶されたデータの例を図12に示す。取得されたデータは、ワークエリアにおいて、取得された順番にしたがって、当該データを特定する番号と関連付けられて、一時記憶される。図12においては、例えば、データ「GET /index.html HTTP/1.1(CRLF)HOST: www.abc.jp」に対して番号「1」が関連付けられている。
【0070】
図11に戻って、CPU111は、S1103において取得したデータがデータ特定コマンドであると判断すると、XMLにてコンテンツ巡回ルールを記述するための巡回ルール記述ファイルを生成する(S1106)。なお、CPU111は、巡回ルール記述ファイルの生成に際して、書式データであるタグ<?xml version=“1.0” encording=“Shift_JIS”?>を記述する。
【0071】
CPU111は、巡回ルール記述ファイルに記述されるコンテンツ巡回ルールを一意に特定する巡回ルール識別子を付与する(S1107)。CPU111は、タグ<ruleSet>を巡回ルール記述ファイルに追加的に記述する(S1109)。この際、巡回ルール識別子をタグ<ruleSet>の属性「dataID」の値として巡回ルール記述ファイルに追加的に記述する。タグ<ruleSet>の具体的な記述形式は、<ruleSet dataID=“(巡回ルール識別子)”>となる。さらに、タグ<ruleSet>の記述に際して、開始タグ<ruleSet>に対する終了タグ</ruleSet>も、あわせて記述する。この段階でのコンテンツ巡回ルールを記述した巡回ルール記述ファイルの記述状態の一例を図14Aに示す。
【0072】
また、CPU111は、パラメータnに値「1」を設定する(S1111)。CPU111は、ワークエリアに一時記憶しているHTTPメッセージから、番号nに対応するHTTPメッセージを取得する(S1113)。
【0073】
そして、CPU111は、コンテンツ巡回ルールXML記述処理を実行する(S1115)。コンテンツ巡回ルールXML記述処理では、取得したHTTPメッセージをXMLを用いて構造化し、当該HTTPメッセージをXMLで記述したメッセージルールを生成し、巡回ルール記述ファイルに記述する。コンテンツ巡回ルールXML記述処理については後述する。
【0074】
CPU111は、n=n+1とする(S1117)。CPU111は、番号n+1に対応するデータがワークエリアに一時記憶されているか否かを判断する(S1119)。CPU111は、番号n+1に対応するHTTPメッセージがワークエリアに一時記憶されていると判断すると、ステップS1107〜ステップS1113までの処理を繰り返す。
【0075】
一方、CPU111は、番号n+1に対応するHTTPメッセージがワークエリアに一時記憶されていないと判断すると、生成したコンテンツ巡回ルールをハードディスク113に記憶する(S1121)。
【0076】
5.3. コンテンツ巡回ルールXML記述処理
CPU111が実行するコンテンツ巡回ルールXML記述処理を図13を用いて説明する。CPU111は、新規データインポートコマンドを獲得してからデータ特定コマンドを獲得するまでに取得したHTTPメッセージの中から、ステップS1109において獲得したHTTPメッセージを一意に特定するメッセージ識別子「Patrol−n」を、当該HTTPメッセージに対して付与する(S1301)。そして、CPU111は、取得したHTTPメッセージからコマンド行(リクエストライン若しくはコマンドライン)を取得し、取得した行の先頭から最初のスペースまでの文字列を取得する(S1303)。そして、CPU111は、取得した文字列がどのメソッド・トークンに該当するかを判断する(S1305)。さらに、判断したメソッド・トークンの種類から、取得したデータのメッセージ種別、つまりリクエストメッセージであるか、レスポンスメッセージであるかを判断する(S1307)。
【0077】
そして、CPU111は、タグ<rule>を記述する(S1309)。タグ<rule>の記述に際しては、タグ<rule>における属性「ruleNo」、「type」の値としてメッセージ識別子「Patrol−n」及びメッセージ種別を記述する。具体的には、<rule ruleNo=“Patrol−n”、type=“(メッセージ種別)”>として記述する。また、開始タグ<rule>に対応する終了タグ</rule>も、あわせて記述する。なお、開始タグ<rule>、終了タグ</rule>は、タグ<ruleSet>〜</ruleSet>間に記述する。この段階でのコンテンツ巡回ルールを記述した巡回ルール記述ファイルの記述状態の一例を図14Bに示す。
【0078】
CPU111は、タグ<commandLine>を記述する(S1311)。この際、開始タグ<commandLine>に対応する終了タグ</commandLine>も、あわせて記述する。また、タグ<commandLine>の記述に際しては、コマンド行の値を取得し、取得したコマンド行の値をタグ<commandLine>〜タグ</commandLine>の間に記述する。
【0079】
CPU111は、タグ<httpHeader>を記述する(S1313)。この際、開始タグ<httpHeader>に対応する終了タグ</httpHeader>も、あわせて記述する。また、タグ<httpHeader>の記述に際しては、ヘッダ・フィールドの値を取得し、取得したヘッダ・フィールドの値をタグ<httpHeader>〜タグ</httpHeader>の間に記述する。
【0080】
CPU111は、タグ<httpBody>を記述する(S1315)。この際、開始タグ<httpBody>に対応する終了タグ</httpBody>も、あわせて記述する。
【0081】
ここで、図12に示す番号2、番号3のHTTPメッセージも送受信が行われているのは、図13aに示すような、テキスト入力を促すページに対するユーザの入力が行われていた場合である。このようなユーザからの入力操作を経て目的とするコンテンツへのアクセスが可能な場合には、ユーザから入力されたデータであることをコンテンツ巡回ルールにおいて明らかにしておく必要がある。
【0082】
CPU111は、コマンド行におけるメソッドの記述が「POST」であるか否かを判断する。CPU111は、「POST」であると判断すると、メッセージボディに記述されているデータには、ユーザからの入力データが含まれていると判断し、タグ<rawData>〜タグ</rawData>間に記述する。図12における番号2のレスポンスメッセージでは、文字列「entry1=takatori&entry2=fukushima」を抽出し、タグ<rawData>〜タグ</rawData>間に記述する。
【0083】
そして、CPU111は、抽出したデータに「&」が存在するか否かを判断する。CPU111は、「&」が存在すると判断すると、「&」で文字列を分割する。図12における番号3のリクエストメッセージでは、文字列「entry1=takatori」、「entry2=fukushima」に分割する。そして、CPU111は、抽出したデータについて、「=」の前に位置する文字列(文字列1)をインデックス、「=」の後に位置する文字列(文字列2)をインデックスに対応する値と判断する。
【0084】
CPU111は、文字列1に対するタグを生成し、その値として文字列2を記述する。前述の例では、文字列1「entry1」のタグ<entry1>〜タグ</entry1>を生成し、その値として文字列2「takatori」を記述する。文字列1「entry2」、文字列2「fukushima」についても同様である。
【0085】
なお、文字列1等に対応するタグについては、タグ<element>〜タグ</element>間に記述する。また、メッセージボディに記述されたデータに関するXMLの記述は、タグ<httpBody>〜タグ</httpBody>の間に記述する。
【0086】
CPU111は、メソッドが「POST」でないと判断すると、メッセージ・ボディの値を取得し、取得した値をタグ<httpBody>〜タグ</httpBody>の間に記述する。
【0087】
図12における番号1のリクエストメッセージまでのコンテンツ巡回ルールを記述した巡回ルール記述ファイルの記述状態の一例を図14Cに示す。なお、メッセージ・ボディが存在しないHTTPメッセージについては、タグ<httpBody>の記述は行わない。
【0088】
また、 図12における番号3のリクエストメッセージまでのコンテンツ巡回ルールを記述した巡回ルール記述ファイルの記述状態の一例を図14aに示す。なお、CPU111は、メッセージルールをルール記述ファイルに記述するにあたって、既にメッセージルールが記述されているときは、記述されているメッセージルールの最後に追加するように記述する。
【0089】
5.4. データ更新要求処理
情報収集クライアント13のCPU131が実行するデータ更新要求処理を図15に示すフローチャートを用いて説明する。CPU131は、データ更新要求コマンドを獲得すると、ハードディスク233に記憶されている巡回コンテンツ情報を取得し(S1501)、巡回コンテンツ一覧画面をディスプレイ236へ表示する(S1503)。巡回コンテンツ情報とは、ユーザが巡回したコンテンツと当該コンテンツを巡回取得する際に用いるコンテンツ巡回ルールに与えられた巡回ルール識別子とが関連付けられた情報である。
【0090】
ユーザは、巡回コンテンツ一覧画面から、自らがデータの更新を求めるコンテンツ(更新コンテンツ)をマウス114等で選択する。
【0091】
CPU131は、更新コンテンツが選択されたと判断すると(S1505)、更新コンテンツに対応する巡回ルール識別子を巡回コンテンツ情報から取得する(S1506)。
【0092】
CPU111は、取得した巡回ルール識別子を用いて、データ更新コマンドを生成する(S1507)。ここで、データ更新コマンドについて説明する。データ更新コマンドとは、情報収集サーバ11に対して、新たに巡回コンテンツの取得を要求するコマンドである。データ更新コマンドの一例を図16に示す。データ更新コマンドは、「UPDATE」の記述と、これに続く「dataID」以降の記述により構成されている。「UPDATE」の記述は、当該コマンドがデータ更新コマンドであることを示している。また、「dataID」以降には、選択されたコンテンツに対応付けられていた巡回ルール識別子が記述される。
【0093】
図15に戻って、CPU131は、データ更新コマンドの生成が終了すると、RPCを用いて、生成したデータ更新コマンドを情報収集サーバ11へ送信する(S1509)。
【0094】
CPU131は、情報収集サーバ11からコンテンツ更新完了情報を獲得したと判断すると(S1511)、獲得したコンテンツ更新完了情報から更新コンテンツを抽出する(S1513)。CPU131は、抽出した更新コンテンツをコンテンツ表示画面に表示する(S1515)。
【0095】
5.5. コンテンツ巡回処理
情報収集サーバ11のCPU111が実行するコンテンツ巡回処理を図17に示すフローチャートを用いて説明する。CPU111は、情報収集クライアント13からデータ更新コマンドを獲得すると、当該データ更新コマンドから巡回ルール識別子の値を抽出する(S1701)。
【0096】
CPU111は、取得した巡回ルール識別子の値に対応する巡回ルールを獲得する(S1703)。CPU111は、パラメータnに値「1」を設定する(S1705)。CPU111は、取得した巡回ルールからパラメータnに対応するメッセージ識別子に対応するメッセージルールを取得する(S1707)。CPU111は、メッセージルールのタグ<rule>内の属性「type」の値を取得する(S1709)。CPU111は、取得した属性「type」の値が「Request」であるか否かを判断する(S1711)。
【0097】
CPU111は、取得した属性「type」の値が「Request」であると判断すると、取得したメッセージ・ルールから、リクエストメッセージを復元する(S1713)。なお、リクエストメッセージの生成は、巡回ルール生成処理において実行した処理の逆を実行し、XML記述の生成あたって付加したタグを削除していけばよい。
【0098】
CPU111は、生成したリクエストメッセージに基づいて、対応するコンテンツを取得する(S1715)。CPU111は、パラメータnにn+1を設定する(S1717)。そして、CPU111は、n+1に対応するメッセージルールが存在すると判断すると(S1719)、ステップS1707〜S1715までの処理を実行する。一方、CPU111は、n+1に対応するメッセージルールが存在しないと判断すると(S1719)、直前のステップS1715で取得したコンテンツを、巡回ルール識別子と関連付けて情報収集クライアント13へ送信する(S1721)。
【実施例2】
【0099】
前述の実施例1においては、情報収集クライアント13とWebサーバ15との間のデータの送受信、及び、情報収集クライアント13とコンテンツサーバ17との間のデータの送受信に、HTTPを用いている。HTTPにおいては、情報収集クライアント13がWebサーバ15若しくはコンテンツサーバ17(以下、Webサーバ15等)に対してリクエストを送信すると、両者の間でデータ送受信のためのコネクションが成立し、Webサーバ15等が情報収集クライアント13に対してレスポンスを送信し、両者の間で成立していたコネクションを切断する。この情報収集クライアント13とWebサーバ15等との間の一連のデータの送受信をセッションという。情報収集クライアント13とWebサーバ15等との間の各セッションは独立しており、前のセッションが後のセッションに対して影響を与えない。このため、例えば、あるセッションにおいて情報収集クライアント13がWebサーバ15等に対して送信したデータを、Webサーバ15等が、次のセッションにおいて使用できない。このような問題を解決する方法としてセッション管理がある。セッション管理とは、情報収集クライアント13とWebサーバ15等との間の複数のセッションを一つの集合体として管理するための処理方法である。
【0100】
そこで、本実施例における情報収集システムでは、情報収集クライアントとWebサーバ、コンテンツサーバとの間でセッション管理が行われている場合においても、情報収集サーバが情報収集クライアントに代わってWebサーバ、コンテンツサーバから情報収集し、収集した情報を情報収集クライアントへ提供することを可能とする。
【0101】
1. 機能ブロック図
本発明に係るスキル管理装置の機能ブロック図を図18に示す。情報収集システムS3は、情報収集装置M31、情報収集要求装置M33を有している。情報収集装置M31は、情報収集履歴情報記憶制御手段m111、記憶手段m113、要求手順抽出手段m115、情報収集手段m117、比較手段m311、比較情報記憶制御手段m313、及び要求手順修正手段m315を有している。情報収集要求装置M33は、情報取得手段m131及び取得開始終了告知手段m133を有している。
【0102】
比較手段m311は、前記情報収集要求装置が前記情報提供装置に送信したデータと、前記情報収集要求装置が前記情報提供装置から受信したデータとを比較する。比較情報記憶制御手段m313は、前記比較の結果、同一であると判断された部分を比較情報として記憶手段に記憶させる。要求手順修正手段m315は、前記要求手順にしたがって、前記情報提供装置から情報を獲得する際に、ある前記要求手順に対応して前記情報提供装置から受信した受信データと前記比較情報とを用いて、前記要求手順の次の要求手順における前記同一部分を、前記受信データにおける前記同一部分の値で修正する。
【0103】
2. ハードウェア構成
本実施例における情報収集システム3のハードウェア構成を図19を用いて説明する。情報収集システム3は、情報収集サーバ31及び情報収集クライアント33を有している。情報収集サーバ31及び情報収集クライアント33は、互いにネットワークを介して接続されており、互いにデータの送受信を行うことができる。また、情報収集システム3は、ネットワークを介してWebサーバ35、コンテンツサーバ37と接続されており、互いにデータの送受信を行うことができる。
【0104】
情報収集サーバ31は、情報収集クライアント33に代わって、セッション管理を行っているWebサーバ35及びコンテンツサーバ37から情報を収集し、収集した情報を情報収集クライアント33へ提供する。情報収集クライアント13は、情報収集サーバ31に対して情報を収集するように命令する。
【0105】
Webサーバ35は、WWWシステムに則った情報の送受信を行う。コンテンツサーバ37は、文書や映像等のコンテンツの保存および管理を行う。Webサーバ35及びコンテンツサーバ37は、情報収集クライアント33との通信においてセッション管理を行う。なお、Webサーバ35及びコンテンツサーバ37は、一般的に用いられているWebサーバ、コンテンツサーバにより構成されている。
【0106】
以下において、情報収集サーバ31及び情報収集クライアント33のハードウェア構成を説明する。
【0107】
2.1. 情報収集サーバ31のハードウェア構成
情報収集サーバ31のハードウェア構成を図20を用いて説明する。情報収集サーバ31は、CPU311、メモリ312、ハードディスク313、キーボード314、マウス315、ディスプレイ316、光学式ドライブ317、及び通信制御回路318を有している。
【0108】
CPU311は、ハードディスク313に記録されているオペレーティング・システム(OS)、情報収集サーバプログラム等その他のアプリケーションに基づいた処理を行う。メモリ312は、CPU311に対して作業領域を提供する。ハードディスク313は、オペレーティング・システム(OS)、情報収集サーバプログラム等その他のアプリケーション、コンテンツ巡回ルール、メタルールを含む各種データを記録保持する。メタルールについては後述する。
【0109】
キーボード314、マウス315は、ユーザ等による外部からの操作を受け付ける。ディスプレイ316は、OSやアプリケーションのユーザインターフェイス等を表示する。
【0110】
光学式ドライブ317は、情報収集サーバプログラムが記録されているメディア110から情報収集プログラムを、また、他のメディアからその他のアプリケーションのプログラムを読み取る等、メディアからのデータの読み取りを行う。通信制御回路318は、ネットワークを介したデータの送受信を行う。
【0111】
2.2. 情報収集クライアント33のハードウェア構成
情報収集クライアント33のハードウェア構成を図21を用いて説明する。情報収集クライアント33は、CPU331、メモリ332、ハードディスク333、キーボード334、マウス335、ディスプレイ336、光学式ドライブ337、及び通信制御回路338が接続されている。
【0112】
CPU331は、ハードディスク333に記録されているオペレーティング・システム(OS)、情報収集クライアントプログラム等その他のアプリケーションに基づいた処理を行う。メモリ332は、CPU331に対して作業領域を提供する。ハードディスク333は、オペレーティング・システム(OS)、情報収集クライアントプログラム等その他のアプリケーションを含む各種データを記録保持する。
【0113】
キーボード334、マウス335は、ユーザ等による外部からの命令を受け付ける。ディスプレイ336は、OSやアプリケーションのユーザインターフェイス等を表示する。
【0114】
光学式ドライブ337は、情報収集クライアントプログラムが記録されているメディア330から情報収集クライアントプログラムを、また、他のメディアからその他のアプリケーションのプログラムを読み取る等、メディアからのデータの読み取りを行う。通信制御回路338は、ネットワークを介したデータの送受信を行う。
【0115】
3. セッション管理
情報収集クライアント33及びWebサーバ35等は、両者間の通信においてWebサーバ35等が発行するセッションIDを用いたセッション管理を行う。Webサーバ35等は、セッション管理が必要となった時点(例えば、情報収集クライアント33がWebサーバ35等へログインした時点)で、情報収集クライアント33に対してセッションIDを送信する。情報収集クライアント33は、その後、同じWebサーバ35等へアクセスするときには、このセッションIDをWebサーバ35等に送信する。なお、Webサーバ35等は、セッション管理が必要となる毎に新たなセッションIDを送信する。
【0116】
セッションIDを用いたセッション管理を実現する方法としては、クッキーにセッションIDを記述する方法、GETメソッドを用いてURLにセッションIDを記述する方法、POSTメソッドを用いてHTTPボディにセッションIDを記述する方法等がある。
【0117】
以下において、クッキーにセッションIDを記述する方法を例にセッションIDを用いたセッション管理を図22を用いて説明する。図22には、情報収集クライアント33がWebサーバ35へアクセスしようとする際の一連のHTTPメッセージが記述されている。情報収集クライアント33は、Webサーバ35に対してGETメソッドによるリクエストメッセージ(番号1)を送信する。Webサーバ35は、情報収集クライアント33からのリクエストメッセージを受信すると、ヘッダフィールドのフィールド名「Set−Cookie」に続いてセッションIDを記述したレスポンスメッセージ(番号2)を送信する。
【0118】
情報収集クライアント33は、Webサーバ35から当該レスポンスを受信すると、Set−Cookieに続いて記述されたセッションIDをクッキーの一部としてメモリ312に一時的に保持する。情報収集クライアント33は、以降、Webサーバ35に対する所定のアクセスにおいて、クッキーの一部として一時保存したセッションIDを用いる。
【0119】
次に、情報収集クライアント33が、リクエストメッセージ(番号3)をWebサーバ35に送信する際に、当該リクエストメッセージのヘッダーフィールドにおけるフィールド名「Cookie」に続いて、クッキーの一部として保持したセッションIDを記述する。
【0120】
4. 情報収集システム3の動作
情報収集システム3の動作の概略を説明する。情報収集クライアント33のCPU331の動作については、実施例1における情報収集クライアント13の図6に示す動作と同様である。
【0121】
情報収集サーバ31の動作を図23を用いて説明する。情報収集サーバ31の動作については、基本的に実施例1における情報収集サーバ11の動作と同様である。但し、コンテンツ巡回ルール生成処理(S709’)及びコンテンツ巡回処理(S711’)が異なる。
【0122】
4.1. コンテンツ巡回ルール生成処理
情報収集サーバ31のCPU311が実行するコンテンツ巡回ルール生成処理について図24を用いて説明する。CPU311が実行するステップS1101〜S1121の処理については実施例1と同様である。
【0123】
CPU311は、ステップS1115における巡回ルールXML記述処理において、n番目のメッセージルールをメッセージルール記述ファイルに記述した後、当該n番目のメッセージルールに対してメタルール生成処理を実行する(S1901)。例えば、図22に示すHTTPメッセージの送受信における番号3のリクエストメッセージに基づいて、3番目のメッセージルール(タグ<rule>の属性「ruleNo」の値が「Patrol−3」に対応するメッセージルール)を巡回ルール記述ファイルに記述し、図27aに示すコンテンツ巡回ルールを生成した場合であれば、当該3番目のメッセージルールに対してメタルール生成処理を実行する。なお、メタルール生成処理については後述する。
【0124】
CPU311は、メタルール生成処理が終了すると、実施例1と同様に、ステップS1117以降の処理を実行する。
【0125】
4.2. メタルール生成処理
CPU311が実行するメタルール生成処理を図25、図25aに示すフローチャートを用いて説明する。図25に示すように、CPU311は、ステップS1107若しくはS1113(図24参照)で設定した番号nの値が「1」であるか否かを判断する(S2001)。CPU311は、番号nの値が「1」であると判断すると、メタルール生成処理を終了する。
【0126】
一方、CPU311は、番号nの値が「1」でないと判断すると、図24におけるステップS1111でコンテンツ記述ファイルに記述したn番目のメッセージルールがリクエストメッセージに関するルールであるか否かを判断する(S2002)。具体的には、メッセージルールにおけるタグ<rule>の属性「type」の値が「request」であるか否かを判断する。例えば、図27aに示すコンテンツ巡回ルールの3番目のメッセージルール(タグ<rule>の属性「ruleNo」が示すメッセージ識別子の値が「Patrol−3」)の当該タグ<rule>の属性「type」の値が「Request」であるか否かを判断する。
【0127】
CPU311は、リクエストメッセージに関するルールであると判断すると、ルール記述ファイルからn−1番目のメッセージルールを取得する(S2003)。具体的には、メッセージルールにおけるタグ<rule>の属性「ruleNo」が示すメッセージ識別子の値が「Patrol−[n−1]」であるメッセージルールを取得する。前述のコンテンツ巡回ルールの3番目のメッセージルールに対しては、タグ<rule>の属性「ruleNo」が示すメッセージ識別子の値が「Patrol−2」であるメッセージルールを取得する。
【0128】
CPU111は、n−1番目のメッセージルールに適用するパラメータとして「s」を、n番目のメッセージルールに適用するパラメータとして「t」を、それぞれ設定する(2005)。CPU111は、パラメータs、t、それぞれに値「1」を設定し初期化する(S2007)。
【0129】
CPU111は、n−1番目のメッセージルールから、記述状態において上からs番目に相当する開始タグが存在するか否かを判断する(S2008)。CPU311は、s番目に相当する開始タグが存在すると判断すると、当該開始タグと対応する終了タグとの間の値(開始タグ、終了タグを含む)を取得する(S2009)。前述のコンテンツ巡回ルールの2番目のメッセージルール(図27a参照)に対して、s=5であるとすると、開始タグ<SESSIONID>、値「PUTQGHUMEAAJPUYL」、終了タグ</SESSIONID>を取得する。
【0130】
CPU311は、ステップS2008において、s番目のタグが存在しないと判断すると、メタルール記述ファイルを記憶する(S2011)。
【0131】
図25aに移って、CPU111は、n番目のメッセージルールから、記述状態において上からt番目に相当する開始タグが存在するか否かを判断する(S2013)。CPU311は、t番目に相当する開始タグが存在すると判断すると、当該開始タグと対応する終了タグとの間の値(開始タグ、終了タグを含む)を取得する(S2015)。前述のコンテンツ巡回ルールの3番目のメッセージルール(図27a参照)に対して、t=6であるとすると、開始タグ<SESSIONID>、値「PUTQGHUMEAAJPUYL」、終了タグ</SESSIONID>を取得する。
【0132】
CPU111は、ステップS2009及びステップS2015で取得したタグ間の値が一致するか否か判断する(S2017)。CPU111は、両タグ間の値が一致すると判断すると、n−1番目のメッセージルールについてステップS2009で取得したタグ間の値と、n−1番目のメッセージルールについてステップS2015で取得したタグ間の値とが同じであることを示すメタルールをXMLで記述するためのメタルールXML記述処理を実行する(S2019)。図27aに示すコンテンツ巡回ルールでは、s=5、t=6の場合、取得した開始タグ<SESSIONID>〜終了タグ</SESSIONID>の間の値「PUTQGHUMEAAJPUYL」が一致するので、両者が同じ値であることを示すメタルールを生成する。メタルールXML記述処理については後述する。
【0133】
CPU311は、メタルールXML記述処理が終了すると、パラメータtをインクリメントし(S2021)、ステップS2013〜S2021までの処理を実行する。
【0134】
CPU311は、ステップS2013において、t番目に相当する開始タグが存在しないと判断すると、パラメータtの値を「1」に初期化し(S2023)、また、パラメータsの値をインクリメントし(S2025)、ステップS2008(図25参照)以下の処理を実行する。
【0135】
4.3. メタルールXML記述処理
CPU311が行うメタルールXML記述処理について図26を用いて説明する。CPU311は、現在生成しているコンテンツ巡回ルールに対応するメタルールが存在するか否かを判断する(S2101)。具体的には、コンテンツ巡回ルール記述ファイルにおけるタグ<ruleSet>の属性「dataID」の値(巡回ルール識別子)を取得し、メタルール記述ファイルのタグ<ruleSet>の属性「dataID」の値が、取得した「dataID」の値であるものが存在するか否かを判断する。
【0136】
CPU311は、コンテンツ巡回ルールに対応するメタルールが存在しないと判断すると、当該メタルールに対応するメタルール記述ファイルを生成する(S2103)。なお、CPU111は、ルール記述ファイルの生成に際して、書式データであるタグ<?xml version=“1.0” encording=“Shift_JIS”?>を記述する。また、取得したコンテンツ巡回ルール記述ファイルの巡回ルール識別子を、タグ<ruleSet>の属性「dataID」の値として記述する。
【0137】
CPU311は、コンテンツ巡回ルール記述ファイルのn番目のメッセージルールのメッセージ識別子「Patrol−n」をタグ<rule>における属性「ruleNo」の値から取得し、図27Aに示すように、タグ<rule>の属性「ruleNo」の値として記述する(S2105)。
【0138】
CPU311は、ステップS2015で取得したタグのコンテンツ巡回ルールにおける階層を判断し、タグ<element>の属性「path」の値として開始タグ<rule>〜終了タグ</rule>間に記述する(S2107)。例えば、図22に示すコンテンツ巡回ルールおいては、メッセージ識別子「Patrol−3」のメッセージルールに属するタグ<SESSIONID>の値が、メッセージ識別子「Patrol−2」のメッセージルールに属するタグ<SESSIONID>の値と同じであるので、タグ<SESSIONID>のコンテンツ巡回ルールにおける階層を「./httpHeader/Cookie/SESSIONID」と判断し、図27Bに示すように、タグ<element>の属性「path」の値として記述する。なお、階層における「./」の記述は、タグ<element>が存在する階層を表している。
【0139】
さらに、CPU311は、ステップS2011で取得したタグのコンテンツ巡回ルールにおける階層を判断し、タグ<sameValue>の値として開始タグ<rule>〜終了タグ</rule>間に記述する(S2109)。例えば、図22に示すコンテンツ巡回ルールおいては、メッセージ識別子「Patrol−2」のメッセージルールに属するタグ<SESSIONID>のコンテンツ巡回ルールにおける階層を「/ruleSet/rule[@ruleNo=’Patrol−2’]/httpHeader/Set−Cookie/SESSIONID」と判断し、図27Cに示すように、タグ<sameValue>の値として開始タグ<rule>〜終了タグ</rule>間に記述する。
【0140】
なお、CPU311は、ステップS2101において、コンテンツ巡回ルールに対応するメタルールを記述したメタルール記述ファイルが存在すると判断すると、当該メタルールに対応するメタルール記述ファイルを取得する(S2111)。そして、CPU311は、取得したメタルール記述ファイルに対して、当該メタルール記述ファイルに既に記述されているメタルールの記述に続けて、ステップS2107、S2109の処理に基づく記述を行う。
【0141】
4.4. コンテンツ巡回処理
情報収集サーバ31のCPU311が実行するコンテンツ巡回処理を図28、図28aに示すフローチャートを用いて説明する。図28に示すように、CPU311は、情報収集クライアント13からデータ更新コマンドを獲得すると、当該データ更新コマンドから巡回ルール識別子の値を抽出する(S1701)。
【0142】
CPU311は、取得した巡回ルール識別子の値に対応するコンテンツ巡回ルールを取得する(S1703)。CPU311は、さらに、当該巡回ルール識別子に対応するメタルールを取得する(S2401)。CPU311は、パラメータnに値「1」を設定する(S1705)。
【0143】
図28aに移って、CPU311は、パラメータnに対応するメッセージ識別子を判断し、取得したコンテンツ巡回ルールから当該メッセージ識別子に対応するメッセージルールを取得する(S1707)。具体的には、コンテンツ巡回ルールにおけるタグ<rule>の属性「ruleNo」が示すメッセージ識別子の値が、「Patrol−n」であるメッセージルールを取得する。
【0144】
CPU311は、メッセージルールのタグ<rule>内の属性「type」の値を取得する(S1709)。CPU311は、取得した属性「type」の値が「Request」であるか否かを判断する(S1711)。
【0145】
CPU311は、取得した属性「type」の値が「Request」であると判断すると、パラメータnに対応するメッセージ識別子を判断し、ステップS2401において取得したメタルールに、当該メッセージ識別子に対応するメッセージメタルールが存在するか否かを判断する(S2403)。具体的には、メタルールにおけるタグ<rule>の属性「ruleNo」が示すメッセージ識別子の値が、「Patrol−n」であるメッセージメタルールが存在するか否かを判断する。CPU311は、対象となるメッセージメタルールが存在すると判断すると、当該メッセージメタルールを取得する(S2405)。
【0146】
CPU311は、ステップS1707で取得したメッセージルール及びステップS2405で取得したメッセージメタルールに基づいて、リクエストメッセージを復元する(S2407)。具体的には、CPU311は、(1)ステップS1707で取得したメッセージルールに基づいてリクエストメッセージを復元し、(2)ステップS1703で取得したコンテンツ巡回ルールから、タグ<rule>の属性「ruleNo」の値が「Patrol−[n−1]」であるメッセージルールを取得し、(3)当該メッセージルールから、ステップS2405で取得したメッセージメタルールのタグ<sameValue>が示す階層に属する値を置換値として取得し、(4)復元したリクエストメッセージにおいて、ステップS2405で取得したメッセージメタルールのタグ<elenemt>の属性「path」が示す階層に属する値を、置換値と置き換えることによって、リクエストメッセージを修正する。
【0147】
CPU311は、復元したリクエストメッセージを対応するWebサーバ35へ送信する(S1715)。CPU311は、送信したリクエストメッセージに対応するレスポンスメッセージを取得したと判断すると(S2409)、当該レスポンスメッセージに基づいて、ステップS1703で取得したコンテンツ巡回ルールにおけるn+1番目のメッセージルールを更新する(S2411)。具体的には、CPU311は、(1)ステップS1707で取得したコンテンツ巡回ルールから、タグ<rule>の属性「ruleNo」の値が「Patrol−[n+1]」であるメッセージルールを取得し、(2)取得したメッセージルールに基づいてレスポンスメッセージを復元し、(3)ステップS2409で取得したレスポンスメッセージと復元したレスポンスメッセージとを比較し、相違する値を抽出し、(4)タグ<rule>の属性「ruleNo」の値が「Patrol−[n+1]」であるメッセージルールから抽出した値を、他の抽出した値に置き換えることによって、メッセージルールを更新する。
【0148】
例えば、n=1として、ステップS2409において図29に示すレスポンスメッセージを取得したとすると、(1)ステップS1707で取得したコンテンツ巡回ルール(図27a参照)から、タグ<rule>の属性「ruleNo」が示すメッセージ識別子の値が「Patrol−2」であるメッセージルールを取得し、(2)取得したメッセージルールに基づいてレスポンスメッセージを復元し(復元したレスポンスメッセージは図22における番号2のレスポンスメッセージとなる)、(3)ステップS2409で取得したレスポンスメッセージと復元したレスポンスメッセージとを比較し、相違する値「XBRIDKRILIIPN」、「PUTQGHUMEAAJPUYL」を抽出し、(4)タグ<rule>の属性「ruleNo」が示すメッセージ識別子の値が「Patrol−2」であるメッセージルールから抽出した値「PUTQGHUMEAAJPUYL」を、他の抽出した値「XBRIDKRILIIPN」に置き換えることによって、メッセージルールを更新する。この結果、図27aに示したコンテンツ巡回ルールは、図30に示すコンテンツ巡回ルールに更新される。
【0149】
CPU311は、パラメータnをインクリメントし、n+1を設定する(S1717)。そして、CPU311は、n+1に対応するメッセージルールが存在すると判断すると(S1719)、ステップS1707以下の処理を実行する。一方、CPU311は、n+1に対応するメッセージルールが存在しないと判断すると(S1719)、ステップS2409で取得したレスポンスメッセージに含まれるコンテンツを、巡回ルール識別子と関連付けて情報収集クライアント33へ送信する(S1721)。
【実施例3】
【0150】
前述の実施例2における情報収集システム3では、情報収集クライアント33とWebサーバ35等との間でセッション管理が行われている場合においても、情報収集サーバ31が情報収集クライアント33に代わってWebサーバ35等から情報収集し、収集した情報を情報収集クライアント33へ提供することが可能であった。セッション管理が行われている通信においては、一般的にセッションIDはランダムに設定される。したがって、図31で示すようなある一連のHTTPメッセージの送受信において、セッション管理で設定されたセッションIDt31と情報収集サーバ33のユーザが入力したデータt33とが、同一となる場合も起こり得る。この場合、情報収集サーバ33が生成するメタルールにおいて、本来必要でないルールが存在し得る。そして、本来必要でないルールの存在によって、生成したコンテンツ巡回ルール及びメタルールでは確実にコンテンツの巡回獲得処理を行うことができない場合が想定され得る。
【0151】
そこで、本実施例における情報収集システムの情報収集サーバでは、生成した情報巡回ルールがコンテンツの巡回獲得を確実に行えるものであるか否かの適否を判断を行い、所定の情報を確実に巡回収集することを可能とする。
【0152】
1. 機能ブロック図
本発明に係るスキル管理装置の機能ブロック図を図32に示す。情報収集システムS5は、情報収集装置M51、情報収集要求装置M53を有している。情報収集装置M51は、情報収集履歴情報記憶制御手段m111、記憶手段m113、要求手順抽出手段m115、情報収集手段m117、比較手段m311、比較情報記憶制御手段m313、要求手順修正手段m315、及び比較情報修正手段m511を有している。情報収集要求装置M53は、情報取得手段m131及び取得開始終了告知手段m133を有している。
【0153】
比較情報修正手段m511は、修正した前記要求手順にしたがって所定の情報を収集できない場合には、前記比較情報を修正する。また、比較情報修正手段m511は、記比較情報から前記同一部分のうち一部若しくは全部を削除することによって、前記比較情報を修正する。
【0154】
2. ハードウェア構成
本実施例における情報収集システム5は情報収集サーバ51及び情報収集クライアント53を有している。情報収集システム5のネットワーク構成については実施例2と同様である(図19参照)。また、情報収集サーバ51及び情報収集クライアント53のハードウェア構成についても実施例2と同様である(図20、図21参照)。但し、情報収集クライアント53における新規データ収集要求処理の内容が異なる。
【0155】
以下においては、実施例2と異なるところを中心に説明する。なお、実施例2と同様の構成、処理については、実施例2と同じ番号を付している。
【0156】
3. 情報収集システム5の動作
情報収集システム5の動作の概略を説明する。情報収集クライアント53のCPU531の動作については、実施例2における情報収集クライアント33の動作と同様である。
【0157】
情報収集サーバ51のCPU511の動作を図33を用いて説明する。基本的に、本実施例における情報収集サーバ51のCPU511の動作は、実施例2における情報収集サーバ31の動作と同様である。但し、コンテンツ巡回処理(S711’’)が異なる。
【0158】
3.1. コンテンツ巡回処理
情報収集サーバ51のCPU511が実行するコンテンツ巡回処理を図34に示すフローチャートを用いて説明する。CPU511は、実施例2と同様に、ステップS1701〜S1705(図28参照)、及び図34におけるステップS1707〜S1715の処理を実行する。CPU511は、図34におけるステップS2401においてレスポンスメッセージを取得できたと判断すると、取得したレスポンスメッセージが所定のレスポンスメッセージであるか否かを判断する(S3401)。CPU511は、所定のレスポンスメッセージを取得できたか否かを、レスポンスメッセージにおけるステータスラインの内容によって判断する。具体的には、ステータスラインの内容が、例えば「HTTP/1.1 401 Unauthorized」等であれば所定のレスポンスメッセージが得られなかったと判断できる。また、ステータスラインの内容が、例えば「HTTP/1.1 200 OK」等であれば所定のレスポンスメッセージが得られたと判断できる。
【0159】
CPU511は、所定のレスポンスメッセージを取得することができなかったと判断すると、メタルール修正処理を実行する(S3403)。メタルール修正処理については、後述する。
【0160】
CPU511は、メタルール修正処理を施したメタルールを用いて、ステップS2407以降の処理を実行する。
【0161】
一方、CPU511は、ステップS3401において所定のレスポンスメッセージを取得することができた判断すると、実施例2と同様に、ステップS1717以降の処理を実行する。
【0162】
3.2. メタルール修正処理
CPU511が行うメタルール修正処理について図35を用いて説明する。CPU511は、メモリ512に設けられるワークエリアにメタルール更新回数Rcの値が存在するかどうかを判断する(S3501)。ここで、メタルール更新回数Rcとは、メタルールの修正を行った回数を表すパラメータである。CPU511は、ワークエリアにメタルール更新回数Rcの値が存在しないと判断すると、メタルール更新回数Rcを設定し、その初期値「1」を設定する(S3503)。CPU511は、ステップS2405(図34参照)で取得したメッセージメタルールをワークエリアに一時記憶する(S3505)。
【0163】
一方、CPU511は、ステップS3501においてワークエリアにメタルール更新回数Rcの値が存在すると判断すると、ワークエリアに一時記憶されているメッセージメタルール更新回数Rcの値を取得する(S3507)。CPU511は、さらに、ワークエリアに一時記憶しているメッセージメタルールを取得する(S3509)。
【0164】
CPU511は、ステップS3505においてワークエリアに一時記憶したメッセージメタルール若しくはステップS3509においてワークエリアから取得したメッセージメタルールが有するサブルールの数を計数し、パラメータsに代入する(S3511)。具体的には、メッセージメタルールに属するタグ<element>の数を計数する。
【0165】
CPU511は、削除すべきサブルールの個数を示す変数iを設定し、初期値「1」を設定する(S3513)。CPU511は、ステップS3507で取得したメタルール更新回数Rcの値とステップS3513で設定した変数iの値を用いて、以下に示す式1が成立するかどうかを判断する(S3515)。
【0166】
【数1】

【0167】
CPU511は、式1が成立すると判断すると、メッセージメタルールからi個のサブルールを選択して削除する。例えば、図31に示す一連のHTTPメッセージについて、図35aAに示す「Patrol−3」に関するメッセージメタルールが生成されていた場合、上から2番目のタグ<element>に対応するサブルールは、不要なサブルールである。したがって、Rc=2、i=1において当該タグに対応するサブルールを削除する。削除したメッセージルールを図35aBに示す。
【0168】
なお、削除するサブルールの選択においては、既に選択し削除を実行したサブルールの組み合わせ以外の組み合わせを選択する。
【0169】
CPU511は、メタルール更新回数Rcをインクリメントし、ワークエリアに一時記憶する(S3519)。
【0170】
一方、CPU511は、ステップS3515において式1が成立しないと判断すると、変数iの値をインクリメントし(S3521)、ステップS3515の処理を実行する。
【実施例4】
【0171】
前述の実施例1における情報収集システム1では、情報収集サーバ11は、Webサーバ15等から情報収集クライアント13に送信されるデータをネットワーク上で捕捉することによってコンテンツを収集することとした。しかし、情報収集クライアント13のユーザにおいて、情報収集クライアント13内に存在するコンテンツについても巡回収集したい場合もあり得る。
【0172】
そこで、本実施例における情報収集システムでは、情報収集サーバにおいて、ネットワーク上を流れないコンテンツ、つまり、情報収集クライアント内に存在するコンテンツについても収集することを可能とした。
【0173】
1. 機能ブロック図
本発明に係るスキル管理装置の機能ブロック図を図36に示す。情報収集システムS7は、情報収集装置M71、情報収集要求装置M73を有している。情報収集装置M51は、情報収集履歴情報記憶制御手段m111、記憶手段m113、要求手順抽出手段m115、及び情報収集手段m117を有している。情報収集要求装置M73は、情報取得手段m131、取得開始終了告知手段m133、及び存在位置提供手段m731を有している。
【0174】
存在位置提供手段m731は、前記情報収集要求装置が有する情報を取得する際には、当該情報収集要求装置における前記情報の存在位置を知らせる存在位置告知情報を提供する。
【0175】
2. ハードウェア構成
本実施例における情報収集システム7は、情報収集サーバ71及び情報収集クライアント73を有している。なお、情報収集システム7のネットワーク構成については実施例1と同様である(図2参照)。また、情報収集サーバ71及び情報収集クライアント73のハードウェア構成についても実施例1と同様である(図3、図4参照)。但し、情報収集クライアント73における新規データ収集要求処理の内容が異なる。
【0176】
以下においては、実施例1と異なるところを中心に説明する。なお、実施例1と同様の処理については、実施例1と同じ番号を付している。
【0177】
3. 情報収集システム7の動作
情報収集システム7の動作の概略を説明する。情報収集クライアント73のCPU731の動作を図37を用いて説明する。基本的に、本実施例における情報収集クライアント73のCPU731の動作は、実施例1における情報収集クライアント13の動作と同様である。但し、新規データ要求収集処理(S607’)の内容が異なる。なお、情報収集サーバ71のCPU711の動作については、実施例1における情報収集サーバ11の動作と同様である。
【0178】
3.1. 新規データ収集要求処理
本実施例における情報収集クライアント73のCPU731が実行する新規データ収集要求処理について図38に示すフローチャートを用いて説明する。CPU731が実行する新規データ収集要求処理においては、ステップS801〜S813までの処理については、実施例1における新規データ収集要求処理(図8参照)と同様である。
【0179】
情報収集クライアント73のCPU731は、ステップS813においてコンテンツを表示すると、ユーザが指定したコンテンツが情報収集クライアント73のハードディスク733に存在するか否か、つまりローカルデータであるか否かを判断する(S3801)。CPU731は、ユーザが指定したコンテンツがハードディスク733に存在すると判断した場合には、ローカルデータアクセスコマンドを生成する(S3803)。
【0180】
ここで、ローカルデータアクセスコマンドについて説明する。ローカルデータアクセスコマンドとは、情報収集サーバ71に対して、情報収集クライアント73のハードディスク733に存在するデータを収集する旨を指示するコマンドである。ローカルデータアクセスコマンドの一例を図39に示す。ローカルデータアクセスコマンドは、当該コマンドがローカルデータアクセスコマンドであること示す識別情報「POLLING DIRECTORY」、及び、情報収集クライアント43からコンテンツを取得する方法を示す取得方法情報「ftp://takatori:pass@123.23.132.10/abc/xyz;」が記述されている。前述の取得方法情報「ftp://takatori:pass@123.23.132.10/abc/xyz;」は、IPアドレス「123.23.132.10」で特定されるユーザ名「takatori」、パスワード「pass」である情報収集クライアント43に対して、当該情報収集クライアント73のパス「abc/xyz」に存在するコンテンツを、FTPを用いて取得することを示したものである。
【0181】
図38に戻って、CPU731は、ローカルデータアクセスコマンドの生成が終了すると、生成したローカルデータアクセスコマンドを情報収集サーバ71へ送信する(S3805)。
【0182】
CPU731におけるステップS821以降の処理については、実施例1と同様である。
【実施例5】
【0183】
前述の実施例1においては、情報収集クライアント13は、アクセスしたURLに存在するコンテンツのすべて、例えばwebページの1ページ分を取得することとした。しかし、情報収集クライアント13のユーザは、コンテンツの一部についてのみ情報の収集を行いたいこともあり得る。
【0184】
そこで、本実施例における情報収集システムでは、情報収集クライアントがアクセスしたURLに存在するコンテンツの一部について指定し、情報収集サーバが指定された一部のコンテンツを巡回取得することを可能とした。
【0185】
1. 機能ブロック図
本発明に係るスキル管理装置の機能ブロック図を図40に示す。情報収集システムS7は、情報収集装置M71、情報収集要求装置M73を有している。情報収集装置M51は、情報収集履歴情報記憶制御手段m111、記憶手段m113、要求手順抽出手段m115、及び情報収集手段m117を有している。情報収集要求装置M73は、情報取得手段m131、取得開始終了告知手段m133、存在位置提供手段m731、及び情報範囲指定手段m931を有している。
【0186】
情報範囲指定手段m931は、前記所定の情報の一部の範囲を指定して当該情報の収集を要求する情報範囲指定情報を提供する。
【0187】
情報収集手段m117は、さらに、前記情報収集要求装置における情報の存在位置を知らせる存在位置告知情報にしたがって、前記情報収集要求装置が有する情報を収集する。
【0188】
2. ハードウェア構成
本実施例における情報収集システム9は情報収集サーバ91及び情報収集クライアント93を有している。情報収集システム9のネットワーク構成については実施例1と同様である(図2参照)。また、情報収集サーバ91及び情報収集クライアント93のハードウェア構成についても実施例1と同様である(図2、図3参照)。
【0189】
3. 情報収集システム9の動作
情報収集システム9の動作の概略を説明する。情報収集クライアント93のCPU931の動作を図41を用いて説明する。情報収集クライアント93の動作は、基本的に、実施例1における情報収集クライアント13の動作と同様である(図8参照)。但し、新規データ要求収集処理(S607’’)の内容が異なる。
【0190】
情報収集サーバ91の動作を図42を用いて説明する。情報収集サーバ91の動作については、基本的に実施例1における情報収集サーバ11の動作と同様である。但し、コンテンツ巡回ルール生成処理(S709)が終了した後データ特定ルール生成処理(S4501)を実行する。また、実施例1とはコンテンツ巡回処理(S711’’’)の内容が異なる。
【0191】
以下においては、実施例1と異なるところを中心に説明する。なお、実施例1と同様の構成、処理については、実施例1と同じ番号を付している。
【0192】
3.1. 新規データ収集要求処理
本実施例における情報収集クライアント93のCPU931が行う新規データ収集要求処理について図8を用いて説明する。
【0193】
実施例1におけるデータ特定コマンドは、特定するコンテンツとしてコンテンツ1ページ分を対象としていたため、当該コンテンツを指定するURLの入力操作によってデータ特定コマンドが生成された。一方、本実施例におけるデータ特定コマンドは、コンテンツの一部を指定することを可能とするため、コンテンツの一部を指定する操作、例えばマウスによるコンテンツの一部の選択、によってデータ特定コマンドが生成される。
【0194】
したがって、CPU931は、図8のステップS815において、ユーザによるマウス935等の操作によって、現在表示しているコンテンツから、リスト型のデータが選択され、データ特定コマンドであることを入力されると、図43Aに示すデータ特定コマンドを生成する。図43Aに示すデータ特定コマンドは、記述状態において上から8番目のテーブル型のデータ、及び、同様に上から2番目のリスト型のデータが指定されたことを示している。
【0195】
なお、CPU931は、コンテンツを取得すると、コンテンツの記述に用いられているHTML(Hyper Text Markup Language)の構造を解析し、タグ<list>、タグ<table>を抽出し、抽出した各タグ<list>、タグ<table>を特定できるように番号を付与することによって、図43Aに示すデータ特定コマンドを生成することができる。
【0196】
また、他の例として、ステップS815において、CPU931は、表示されたコンテンツの構造を解析するコンテンツ構造解析処理を実行し、コンテンツを領域分けし、図44に示すように領域毎に選択可能なようにチェックボックスを表示する。情報収集クライアント93のユーザは、マウス935等を用いてチェックボックスを選択し、所定のデータについてのデータ選択コマンドを生成する。CPU931が生成するデータ選択コマンドの一例を図43Bに示す。図43Bに示すデータ選択コマンドにおいては、記述状態において上から8番目のテーブル型のデータについて、(行、列)として(1、1)、(1、3)、(1、4)、(2、1)、(2、3)、(2、4)、(3、1)、(3、3)、(3、4)、(4、1)、(4、3)、(4、4)のセルに対応するデータが指定されたことを示している。なお、コンテンツ構造解析処理については、例えば特開2000−339301号広報に開示された技術を用いることができる。
【0197】
3.2. データ特定ルール生成処理
情報収集サーバ91のCPU911が実行するデータ特定ルール生成処理について図45を用いて説明する。CPU911は、データ特定ルールをXMLを用いて記述するためのデータ特定ルール記述ファイルを生成する(S4501)。なお、生成したデータ特定ルール記述ファイルには、<?xml version=“1.0” encording=“Shift_JIS”?>を記述する。
【0198】
CPU911は、ステップS709において生成した巡回ルール記述ファイルから巡回ルール識別子の値を抽出する(S4503)。具体的には、例えば、図5aに示すコンテンツ巡回ルールのタグ<ruleSet>の属性「dataID」の値「C10101」を取得する。CPU911は、取得した巡回ルール識別子の値を、データ特定ルール記述ファイルにおけるタグ<ruleSet>の属性「dataID」の値として記述する(S4505)。
【0199】
CPU911は、パラメータnに値「1」を設定する(S4507)。CPU911は、データ特定コマンドの「DATASET」で特定されるデータを一意に特定するデータ特定識別子「SPEC−n」を、当該データに対して付与する(S4509)。CPU911は、付与したデータ特定識別子の値を、データ特定ルール記述ファイルにおけるタグ<rule>の属性「ruleNo」の値として記述し、また、属性「type」の値として「Specify」を記述する(S4511)。
【0200】
CPU911は、コンテンツ巡回ルール生成処理(図42:ステップS709参照)におけるステップS1103(図11参照)において取得したデータ特定コマンドにおいて上からn番目の「DATASET」の属性の値を取得し、対応するタグの値としてデータ特定ルール記述ファイルに記述する(S4513)。
【0201】
具体的には、データ特定コマンドとして図41Aに示すデータ特定コマンドを取得したとすると、n=1の場合、上から1番目の「DATASET」については、属性「TYPE」の値「TABLE」をデータ型として取得し、データ特定ルール記述ファイルにおいてタグ<type>の値として記述し、また、属性「NO」の値「8」をデータの位置を特定する情報として取得し、データ特定ルール記述ファイルにおいてタグ<no>の値として記述する。また、n=2の場合、上から2番目の「DATASET」については、属性「TYPE」の値「LIST」をデータ型として取得し、データ特定ルール記述ファイルにおいてタグ<type>の値として記述し、また、属性「NO」の値「2」をデータの位置を特定する情報として取得し、データ特定ルール記述ファイルにおいてタグ<no>の値として記述する。このようにして生成されたデータ特定ルールを図46Aに示す。
【0202】
また、別の例として、データ特定コマンドとして図41Bに示すデータ特定コマンドを取得したとすると、n=1の場合、上から1番目の「DATASET」については、属性「TYPE」の値「TABLE」をデータ型として取得し、データ特定ルール記述ファイルにおいてタグ<type>の値として記述する。また、属性「NO」の値「8」をデータの位置を特定する情報として取得し、データ特定ルール記述ファイルにおいてタグ<no>の値として記述する。さらに、属性「COL」の値「1、3、4」を列の指定情報として取得し、データ特定ルール記述ファイルにおいてタグ<col>の値としてそれぞれ記述し、また、属性「ROW」の値「1、2、3、4」を行の指定情報として取得し、データ特定ルール記述ファイルにおいてタグ<row>の値としてそれぞれ記述する。このようにして生成されたデータ特定ルールを図46Bに示す。
【0203】
図45に戻って、CPU911は、他の「DATASET」が存在すると判断すると(S4515)、パラメータnの値をインクリメントし(S4517)、ステップS4509以降の処理を繰り返す。
【0204】
3.3. データ更新処理
情報収集サーバ91のCPU911が実行するデータ更新処理について図47を用いて説明する。CPU911は、実施例1と同様に、ステップS1701〜S1719までの処理を実行する。
【0205】
CPU911は、ステップS1719においてn+1に対応するメッセージルールが存在しないと判断すると、ステップS1701で取得した巡回ルール識別子に対応するデータ特定ルールが存在するか否かを判断する(S4701)。具体的には、データ特定ルールのタグ<ruleSet>の属性「dataID」の値が、取得した巡回ルール識別子と同一のデータ特定ルールが存在するか否かを判断する。
【0206】
CPU911は、対応するデータ特定ルールが存在すると判断すると、当該データ特定ルールを取得する(S4703)。CPU911は、取得したデータ特定ルールに基づいて、ステップS1715で取得したコンテンツから、巡回取得の対象となる情報を抽出する(S4705)。CPU911は、抽出したコンテンツを巡回ルール識別子と関連付けて、情報収集クライアント93へ送信する(S1721)。
【0207】
なお、CPU911は、ステップS4705において対応するデータ特定ルールが存在しないと判断すると、ステップS1715で取得したコンテンツを巡回ルール識別子と関連付けて、情報収集クライアント93へ送信する(S1721)。
【0208】
[その他の実施形態]
(1)HTTP
前述の実施例1〜実施例5においては、情報収集クライアントとWebサーバ等との間の通信はHTTPを用いることとしたが、通信におけるデータ形式が規定されているものであれば例示のものに限定されない。例えば、FTP等であってもよい。
【0209】
(2)XML記述におけるタグ
前述の実施例1〜実施例5においては、HTTPメッセージのデータについて、XMLのタグ<commandLine>、<httpHeader>、<httpBody><Set−Cookie>、<Cookie>、<SESSIONID>等(図14a、図27a等参照)を用いて、抽出することとしたが、所定の規則に従って抽出するのであれば、例示のものに限定されない。例えば、図12に示すHTTPメッセージをXMLで記述するにあたり、番号3のリクエストメッセージのリクエストライン「POST /page1.cgi HTTP/1,1」について、タグ<protocol>、タグ<version>、タグ<method>、タグ<path>を用いて、それぞれの値として「HTTP」、「1.1」、「POST」 「/page1.cgi」を抽出するようにしてもよい。HTTPメッセージにおけるどのデータをどのタグに対応させて抽出するかについては、ユーザの判断で決定し、予め規定しておけばよい。
【0210】
(3)XML
前述の実施例1〜実施例5においては、XMLを用いて、HTTPメッセージである通信データを復元することができる、コンテンツ巡回ルール、メタルール、データ特定ルール等のルールを記述したが、記述したルールに基づいて元の通信データを復元できるものであれば例示のものに限定されない。例えば、図22等に示すようなテーブル形式にして、通信データを復元するためのルールを記述するようにしてもよい。
【0211】
(4)コマンドの記述
前述の実施例1においては、情報収集サーバと情報収集クライアントとの間で用いるコマンドとして、新規データインポートコマンド(図9参照)、データ更新コマンド(図16参照)、ローカルデータアクセスコマンド(図39参照)、データ特定コマンド(図41参照)を例示したが、各コマンドの内容を実現できるものであれば、記述形式は図に示されたものに限定されない。
【0212】
(5)セッション管理
前述の実施例2、実施例3においては、セッション管理の方法として、Cookieを用いた方法を示したが、GETメソッドを用いてURLにセッションIDを記述する方法やPOSTメソッドを用いてHTTPボディにセッションIDを記述する方法であってもよい。
【0213】
POSTメソッドを用いてHTTPボディにセッションIDを記述する方法では、レスポンスメッセージのHTTPボディに記述されているHTML文書の中に、hidden型属性をもつ「input」に対する値としてセッションIDが記述されてることが多い。この場合、メタルールにおいて、当該inputに対する値を特定するパス(例えば、「/ruleSet/rule[@ruleNo=‘Patrol−2’]/httpBody/element/SESSIONID」で特定できる値)を、リクエストメッセージにおけるメッセージルールの値(例えば、「./httpBody/elements/SESSIONID」というパスにて特定できる値)と対応付ける記述を設ければよい。
【0214】
(6)フローチャートにおける処理
前述の実施例1〜実施例5においては、図に示した各フローチャートに基づいて、各処理を実現するようにした。しかし、各処理を実現できるものであれば、各フローチャート内における処理は例示のものに限定されない。
【図面の簡単な説明】
【0215】
【図1】本発明における情報収集システムの実施例1における機能ブロック図を示した図である。
【図2】情報収集システム1のネットワーク構成を示した図である。
【図3】情報収集サーバ11のハードウェア構成を示した図である。
【図4】情報収集クライアント13のハードウェア構成を示した図である。
【図5】HTTPの概要を説明する図である。
【図5a】コンテンツ巡回ルールの記述例を示した図である。
【図6】情報収集クライアント13の動作を説明するためのフローチャートである。
【図7】情報収集サーバ11の動作を説明するためのフローチャートである。
【図8】新規データ収集要求処理を説明するためのフローチャートである。
【図9】新規データインポートコマンドを示した図である。
【図10】巡回コンテンツ一覧画面を示した図である。
【図11】コンテンツ巡回ルール生成処理を説明するためのフローチャートである。
【図12】ワークエリアのデータを示した図である。
【図13】コンテンツ巡回ルールXML記述処理を説明するためのフローチャートである。
【図13a】ユーザにテキスト入力を促すページの一例を示した図である。
【図14】コンテンツ巡回ルールを示した図であり、A、B、Cはその生成過程を示している。
【図14a】コンテンツ巡回ルールを示した図である。
【図15】データ更新要求処理を説明するためのフローチャートである。
【図16】データ更新コマンドを示した図である。
【図17】データ更新処理を説明するためのフローチャートである。
【図18】本発明における情報収集システムの実施例2における機能ブロック図を示した図である。
【図19】情報収集システム3のネットワーク構成を示した図である。
【図20】情報収集サーバ31のハードウェア構成を示した図である。
【図21】情報収集クライアント33のハードウェア構成を示した図である。
【図22】一連のHTTPメッセージを示した図である。
【図23】情報収集サーバ31の動作を説明するためのフローチャートである。
【図24】コンテンツ巡回ルール生成処理を示したフローチャートである。
【図25】メタルール生成処理を示したフローチャートである。
【図25a】メタルール生成処理を示したフローチャートである。
【図26】メタルールXML記述処理を示したフローチャートである。
【図27】メタルールを示した図であり、A、B、Cはその生成過程を示している。
【図27a】コンテンツ巡回ルールを示した図である。
【図28】データ更新処理を示したフローチャートである。
【図28a】データ更新処理を示したフローチャートである。
【図29】レスポンスメッセージを示したフローチャートである。
【図30】更新されたコンテンツ巡回ルールを示したフローチャートである。
【図31】一連のHTTPメッセージを示した図である。
【図32】本発明における情報収集システムの実施例3における機能ブロック図を示した図である。
【図33】情報収集サーバ51の動作を説明するためのフローチャートである。
【図34】データ更新処理を示したフローチャートである。
【図35】メタルール修正処理を示したフローチャートである。
【図35a】メタルールの記述例であり、Aは不要なサブルールが存在した状態を、Bは不要なサブルールを削除した状態を示している。
【図36】本発明における情報収集システムの実施例4における機能ブロック図を示した図である。
【図37】情報収集クライアント73の動作を説明するためのフローチャートである。
【図38】新規データ収集要求処理を示したフローチャートである。
【図39】ローカルデータアクセスコマンドを示した図である。
【図40】本発明における情報収集システムの実施例5における機能ブロック図を示した図である。
【図41】情報収集クライアント93の動作を説明するためのフローチャートである。
【図42】情報収集サーバ91の動作を説明するためのフローチャートである。
【図43】データ特定コマンドを示した図である。
【図44】コンテンツの一部を選択する画面の例を示した図である。
【図45】データ特定ルール生成処理を示したフローチャートである。
【図46】データ特定ルールを示した図である。
【図47】データ更新処理を示したフローチャートである。
【符号の説明】
【0216】
S1、S3、S5、S7、S9・・・・・情報収集システム
M11、M31、M51、M71、M91・・・・・情報収集装置
M13、M33、M53、M73、M93・・・・・情報収集要求装置
m111・・・・・情報収集履歴情報記憶制御手段
m113・・・・・記憶手段
m115・・・・・要求手順抽出手段
m117・・・・・情報収集手段
m131・・・・・情報取得手段
m133・・・・・取得開始終了告知手段
m311・・・・・比較手段
m313・・・・・比較情報記憶制御手段
m315・・・・・要求手順修正手段
m511・・・・・比較情報修正手段
m731・・・・・存在位置提供手段
m931・・・・・情報範囲指定手段
11、31、51、71、91・・・・・情報収集サーバ
13、33、53、73、93・・・・・情報収集クライアント
15、25・・・・・Webサーバ
17、27・・・・・コンテンツサーバ

【特許請求の範囲】
【請求項1】
情報収集要求装置が指定した情報を情報収集装置が自動的に収集する情報収集システムであって、
前記情報収集要求装置は、
情報を提供する情報提供装置から所定の情報を取得する情報取得手段、
前記所定の情報の取得の開始を知らせる取得開始情報及び終了を知らせる取得終了情報を提供する取得開始終了告知手段、
を有し、
前記情報収集装置は、
前記取得開始情報を取得してから前記取得終了情報を取得するまでの間において、前記情報収集要求装置が情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段に記憶させる情報収集履歴記憶制御手段、
前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出する要求手順抽出手段、
前記要求手順にしたがって、前記情報提供装置から情報を収集する情報収集手段、
を有する情報収集システム。
【請求項2】
情報収集要求装置が情報提供装置から情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段に記憶させる情報収集履歴記憶制御手段、
前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出する要求手順抽出手段、
前記要求手順にしたがって、前記情報提供装置から情報を収集する情報収集手段、
を有する情報収集装置。
【請求項3】
請求項1に係る情報収集システム又は請求項2に係る情報収集装置のいずれかにおいて、
前記情報収集履歴記憶制御手段は、さらに、
前記情報収集要求装置と前記情報提供装置との間の通信プロトコルに則っとり送受信されたデータを前記手順とすること、
を特徴とするもの。
【請求項4】
請求項3に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記情報収集履歴記憶制御手段は、さらに、
前記通信プロトコルとしてHTTPを用い、HTTPメッセージを前記手順とし、
前記要求手順抽出手段は、
前記情報収集履歴情報から、前記HTTPメッセージの中からリクエストメッセージを要求手順として抽出すること、
を特徴とするもの。
【請求項5】
請求項3に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記情報収集装置は、さらに、
前記情報収集要求装置が前記情報提供装置に送信したデータと、前記情報収集要求装置が前記情報提供装置から受信したデータとを比較する比較手段、
前記比較の結果、同一であると判断された部分を比較情報として記憶手段に記憶させる比較情報記憶制御手段、
前記要求手順にしたがって、前記情報提供装置から情報を獲得する際に、ある前記要求手順に対応して前記情報提供装置から受信した受信データと前記比較情報とを用いて、前記要求手順の次の要求手順における前記同一部分を、前記受信データにおける前記同一部分の値で修正する要求手順修正手段、
を有するもの。
【請求項6】
請求項5に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記情報収集手段は、さらに、
修正した前記要求手順にしたがって、情報を収集し、
前記情報収集要求装置は、さらに、
修正した前記要求手順にしたがって所定の情報を収集できない場合には、前記比較情報を修正する比較情報修正手段、
【請求項7】
請求項6に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記比較情報修正手段は、さらに、
前記比較情報から前記同一部分のうち一部若しくは全部を削除することによって、前記比較情報を修正すること、
を特徴とするもの。
【請求項8】
請求項1に係る情報収集システムにおいて、
前記情報取得手段は、さらに、
前記情報収集要求装置が有する情報を取得し、
前記情報収集要求装置は、さらに、
前記情報収集要求装置が有する情報を取得する際には、当該情報収集要求装置における前記情報の存在位置を知らせる存在位置告知情報を提供する存在位置提供手段、
を有し、
前記情報収集手段は、さらに、
前記存在位置告知情報にしたがって、前記情報を収集すること、
を特徴とするもの。
【請求項9】
請求項2に係る情報収集装置において、
前記情報収集手段は、さらに、
前記情報収集要求装置における情報の存在位置を知らせる存在位置告知情報にしたがって、前記情報収集要求装置が有する情報を収集すること、
を特徴とするもの。
【請求項10】
請求項1〜請求項9に係る情報収集システム又は情報収集装置のいずれかにおいて、
前記情報収集要求装置は、さらに、
前記所定の情報の一部の範囲を指定して当該情報の収集を要求する情報範囲指定情報を提供する情報範囲指定手段、
を有し、
前記情報収集手段は、さらに、
前記情報範囲指定情報にしたがって、当該情報の一部について情報を収集すること、
を特徴とするもの。
【請求項11】
コンピュータを、情報収集装置として実現する情報収集プログラムであって、
前記情報収集プログラムは、コンピュータを、
情報収集要求装置が情報提供装置から情報を取得する際の前記情報収集要求装置と前記情報提供装置との間の手順を情報収集履歴情報として記憶手段に記憶させる情報収集履歴記憶制御手段、
前記情報収集履歴情報から前記情報収集要求装置が前記情報提供装置に対して処理を要求することを示す手順を要求手順として抽出する要求手順抽出手段、
前記要求手順にしたがって、前記情報提供装置から情報を収集する情報収集手段、
として実現する情報収集プログラム。
【請求項12】
請求項11に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集履歴記憶制御手段が、さらに、
前記情報収集要求装置と前記情報提供装置との間の通信プロトコルに則っとり送受信されたデータを前記手順とするもの、
として実現する情報収集プログラム。
【請求項13】
請求項12に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集履歴記憶制御手段が、さらに、
前記通信プロトコルとしてHTTPを用い、HTTPメッセージを前記手順とし、
前記要求手順抽出手段が、さらに、
前記情報収集履歴情報から、前記HTTPメッセージの中からリクエストメッセージを要求手順として抽出するもの、
として実現する情報収集プログラム。
【請求項14】
請求項13に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、さらに、
前記情報収集要求装置が前記情報提供装置に送信したデータと、前記情報収集要求装置が前記情報提供装置から受信したデータとを比較する比較手段、
前記比較の結果、同一であると判断された部分を比較情報として記憶手段に記憶させる比較情報記憶制御手段、
前記要求手順にしたがって、前記情報提供装置から情報を獲得する際に、ある前記要求手順に対応して前記情報提供装置から受信した受信データと前記比較情報とを用いて、前記要求手順の次の要求手順における前記同一部分を、前記受信データにおける前記同一部分の値で修正する要求手順修正手段、
として実現する情報収集プログラム。
【請求項15】
請求項14に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集手段が、さらに、
修正した前記要求手順にしたがって、情報を収集するものとし、
さらに、
修正した前記要求手順にしたがって所定の情報を収集できない場合には、前記比較情報を修正する比較情報修正手段、
として実現する情報収集プログラム。
【請求項16】
請求項15に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記比較情報修正手段が、さらに、
前記比較情報から前記同一部分のうち一部若しくは全部を削除することによって、前記比較情報を修正するもの、
として実現する情報収集プログラム。
【請求項17】
請求項11に係る情報収集プログラムにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集手段が、さらに、
前記情報収集要求装置における情報の存在位置を知らせる存在位置告知情報にしたがって、前記情報収集要求装置が有する情報を収集するもの、
として実現する情報収集プログラム。
【請求項18】
請求項11〜請求項17に係る情報収集プログラムのいずれかにおいて、
前記情報収集プログラムは、コンピュータを、
前記情報収集手段が、さらに、
前記所定の情報の一部の範囲を指定して当該情報の収集を要求する情報範囲指定情報にしたがって、当該情報の一部について情報を収集するもの、
として実現する情報収集プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図5a】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図13a】
image rotate

【図14】
image rotate

【図14a】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図25a】
image rotate

【図26】
image rotate

【図27】
image rotate

【図27a】
image rotate

【図28】
image rotate

【図28a】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図35a】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate


【公開番号】特開2009−87088(P2009−87088A)
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願番号】特願2007−256530(P2007−256530)
【出願日】平成19年9月28日(2007.9.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
2.Linux
【出願人】(391002409)株式会社 日立システムアンドサービス (205)
【Fターム(参考)】