(57)【特許請求の範囲】
【請求項１】
複数のファイルに格納されたログデータを時系列に沿って読み出すログ読出し方法において、
前記各ファイルの先頭ログデータが持つ時刻情報をそれぞれ取出し、該時刻情報に基づいて時系列に前記各ファイルをソートして前記複数のファイルの読出し順序を決定する、ことを特徴とするログ読出し方法。
【請求項２】
複数のファイルに格納されたログデータを時系列に沿って読み出すログ読出し装置において、
前記各ファイルのログデータから時刻情報を含む所望のデータを取り出すデータ取出し部と、
前記データ取出し部により取り出された各ファイルの先頭ログデータが持つ時刻情報に基づいて時系列に前記各ファイルをソートして次に処理するファイルを検索するファイル検索部と、
前記ファイル検索部及びデータ取出し部を、前記ログデータを時系列に沿って読み出すべく制御する読出し制御部と、を備えた、ことを特徴とするログ読出し装置。
【請求項３】
前記読出し制御部は、１つのファイルに対する読み出しが終了し、次のファイルを決める段階でその都度前記ファイル検索部を動作させ、前記複数のファイルをソートして読出し順序を決定する、ことを特徴とする請求項２に記載のログ読出し装置。
【請求項４】
前記ファイル検索部は、前記複数のファイルのうちの２つを順次オープンし、双方のアクセス環境を保持した状態でそれぞれのファイルの先頭ログが持つ時刻情報を比較し、その比較結果に基づいて前記複数のファイルの読出し順序を決定する、ことを特徴とする請求項２に記載のログ読出し装置。
【請求項５】
前記読出しの中断時またはログデータの終了時の情報を履歴ファイルに保存する履歴記録部を備え、
前記読出し制御部は、前記履歴ファイルから読み出した情報に基づいて前記中断時または終了時の読出し位置を復元して読出しを再開する、
ことを特徴とする請求項２に記載のログ読出し装置。
【請求項６】
前記中断時または終了時の情報は、先頭ログの時刻と最終読出しオフセットを含み、
前記読出し制御部は、前記先頭ログの時刻に基づいて処理するファイルを前記ファイル検索部によって特定し、前記最終読出しオフセットに基づいて特定したファイル内の読出し位置を復元する、
ことを特徴とする請求項５に記載のログ読出し装置。
【請求項７】
複数のファイルに格納されたログデータを時系列に沿って読み出す機能をコンピュータに実現させるためのプログラムであって、
前記各ファイルの先頭ログデータが持つ時刻情報をそれぞれ取出す機能と、該時刻情報に基づいて時系列に前記各ファイルをソートして前記複数のファイルの読出し順序を決定する機能と、を前記コンピュータに実現させるための前記プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＷＷＷ関連サーバの稼働状況分析で利用するログを読み出すサーバのログ読出し方法、ログ読出し装置、及び記録媒体に関するものである。
【０００２】
近年、インターネット等のネットワークでは、サーバコンピュータに蓄積された種々の情報をクライアントからの要求に応じて提供する検索サービス等のサービスが活用されている。これらのサービスでは、クライアントからＷＷＷサーバへ要求を送信し、その後ＷＷＷサーバから応答を受信して結果を表示する形態をとる。この様なサーバにおいて、システムの使用傾向などを分析する稼働状況分析が行われる。この稼働状況分析は、サーバのアクセス記録などを記録したファイル（ログファイル）を利用し、ログを時系列で順番に読み出して行われる。しかし、ログの格納形態（ファイル名、フォーマットなど）はサーバによって異なり、各サーバに対応してログを時系列に読み出すことが難しい。このため、各サーバに容易に対応することができるログ読出し方法が求められている。
【０００３】
【従来の技術】
従来、コンピュータネットワークによるインターネットにおいては、このインターネット上にＷｅｂサーバやＰｒｏｘｙサーバ等、複数種類のサーバ（これらはＷＷＷ関連サーバであり、これらを総称してインターネットサーバと呼ぶこともある）が接続される。例えば、ユーザはクライアントコンピュータにて直接またはＰｒｏｘｙサーバを介して情報提供者のＷｅｂサーバ等にアクセスし、このＷｅｂサーバに蓄積された種々の情報を閲覧することができる。
【０００４】
このようなＷＷＷ関連サーバの稼働分析では、各サーバが蓄積しているログをデータとして利用することにより、サーバの使用傾向（例えば、Ｗｅｂページのアクセス数や単位時間毎のアクセス数の変化）等の時間的な稼働状況の変化を把握することができる。
【０００５】
【発明が解決しようとする課題】
ところで、ログファイルの形態は、サーバによって様々であり、単純に１つのファイルから構成されるケースもあれば、規則的な切り替えによって複数のファイルから構成されケースもある。後者については、ファイルを切り替える度に作成日等の情報を付加したファイル名にて新しいファイルを作成してそのファイルにログデータを記録するタイプのものや、ファイルを切り替える度に使用済のファイル名をリネームしてログデータを記録するファイルを常に同一ファイル名にて新しく作成するタイプのものなどがある。このため、複数のファイルで構成されるログファイルからログデータを時系列に読み出すには、サーバ固有のファイル命名規則に沿ってログデータを読み出すファイルの順序を決定し、その順で各ファイルからログデータを読み出していた。
【０００６】
しかし、サーバによっては、ファイルの命名規則（ファイルのアクセス順序）と格納されたログデータの時系列が一致しないものがある。このように、読み出し方が各サーバの命名規則により決定されるため単純にログデータを時系列で読み出すことができず、ログデータを分析するためには、各サーバそれぞれに対応してログデータの読み出し部を実装する必要があった。
【０００７】
本発明は上記問題点を解決するためになされたものであって、その目的は格納媒体が複数ファイルで構成されるログについて、サーバ固有の格納媒体生成規則に依存しない、汎用的なログの読み出し方式、ログ読出し装置、及び記録媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明は、複数のファイルに格納されたログデータを時系列に沿って読み出すログ読出し方法において、前記各ファイルの先頭ログデータが持つ時刻情報をそれぞれ取出し、該時刻情報に基づいて時系列に前記各ファイルをソートして前記複数のファイルの読出し順序を決定する。これにより、ファイルの命名規則に関わらずにログデータを時系列で読み出すことができる。
【０００９】
請求項２に記載の発明は、複数のファイルに格納されたログデータを時系列に沿って読み出すログ読出し装置において、前記各ファイルのログデータから時刻情報を含む所望のデータを取り出すデータ取出し部と、前記データ取出し部により取り出された各ファイルの先頭ログデータが持つ時刻情報に基づいて時系列に前記各ファイルをソートして次に処理するファイルを検索するファイル検索部と、前記ファイル検索部及びデータ取出し部を、前記ログデータを時系列に沿って読み出すべく制御する読出し制御部と、を備えた。これにより、ファイルの命名規則に関わらずにログデータを時系列で読み出すことができる。
【００１０】
前記読出し制御部は、請求項３に記載の発明のように、１つのファイルに対する読み出しが終了し、次のファイルを決める段階でその都度前記ファイル検索部を動作させ、前記複数のファイルをソートして読出し順序を決定する。これにより、読出し中にファイルがリネームされても、ログデータを時系列で読み出すことができる。
【００１１】
前記ファイル検索部は、請求項４に記載の発明のように、前記複数のファイルのうちの２つを順次オープンし、双方のアクセス環境を保持した状態でそれぞれのファイルの先頭ログが持つ時刻情報を比較し、その比較結果に基づいて前記複数のファイルの読出し順序を決定する。これにより、比較中にファイルがリネームされてもログデータを時系列で読み出すことができる。
【００１２】
請求項５に記載の発明のように、前記読出しの中断時またはログデータの終了時の情報を履歴ファイルに保存する履歴記録部を備え、前記読出し制御部は、前記履歴ファイルから読み出した情報に基づいて前記中断時または終了時の読出し位置を復元して読出しを再開する。これにより、読出し再開時における手間を省くことができる。
【００１３】
前記中断時または終了時の情報は、請求項６に記載の発明のように、先頭ログの時刻と最終読出しオフセットを含み、前記読出し制御部は、前記先頭ログの時刻に基づいて処理するファイルを前記ファイル検索部によって特定し、前記最終読出しオフセットに基づいて特定したファイル内の読出し位置を復元する。これにより、中断から再開までの間にファイルがリネームされてもログデータを時系列で読み出すことができる。
【００１５】
請求項７に記載の発明は、複数のファイルに格納されたログデータを時系列に沿って読み出す機能をコンピュータに実現させるためのプログラムであって、前記各ファイルの先頭ログデータが持つ時刻情報をそれぞれ取出す機能と、該時刻情報に基づいて時系列に前記各ファイルをソートして前記複数のファイルの読出し順序を決定する機能と、を前記コンピュータに実現させるための前記プログラムを記録したコンピュータ読み取り可能な記録媒体である。これにより、ファイルの命名規則に関わらずにログデータを時系列で読み出すことができる。
【００１６】
尚、上記各請求項において、複数のファイルが存在するパスがワイルドカードを用いて指定される。これにより、複数のファイルの保存位置に関係なくログデータを読み出すことができる。
【００１７】
また、取り出すデータの種類を示すキーワードが記録形式として指定され、該記録形式に基づいて前記各ファイルのログデータから所望のデータを取り出すようにしてもよい。これにより、固定されたログファイルの記録形式に依存しない読出しが可能となる。
【００１８】
【発明の実施の形態】
（第一実施形態）
以下、本発明を具体化した第一実施形態を図１〜図４に従って説明する。
【００１９】
図１は、システムの構成及び接続形態を概略的に示すブロック図である。
このシステムは、クライアントコンピュータ（以下、単にクライアントという）１１ａ，１１ｂ、Ｐｒｏｘｙサーバ１２，Ｗｅｂサーバ１３、分析用コンピュータ１４を含む。クライアント１１ａはネットワーク１６に直接的に接続され、クライアント１１ｂはＰｒｏｘｙサーバ１２を介してネットワークに接続される。Ｗｅｂサーバ１３及び分析用コンピュータ１４はネットワーク１６に直接的に接続される。
【００２０】
Ｗｅｂサーバ１３は、ユーザが操作するクライアント１１ａ，１１ｂからの要求に応答してＷｅｂページ等のコンテンツを提供するサービス機能を持ち、そのサービス提供の状況をログファイル１７に格納する。尚、ログファイル１７はＷｅｂサーバ１３がログを格納する格納媒体を機能的に示したものであり、Ｗｅｂサーバ１３が持つ命名規則に従って作成される複数のファイルにより構成されるものである。
【００２１】
分析用コンピュータ１４は、ネットワーク１６を介してＷｅｂサーバ１３のログファイル１７からログデータを時系列に読み出し、Ｗｅｂサーバ１３の稼働状況を分析する機能を持つ。
【００２２】
図２は、分析用コンピュータ１４に対応する情報処理装置（コンピュータ）のハードウェア構成を概略的に示すブロック図である。分析用コンピュータ１４が提供する機能は、このような汎用的な目的で使用される計算機上で実行するコンピュータプログラムにより実現する。尚、クライアント１１ａ，１１ｂ、Ｐｒｏｘｙサーバ１２、Ｗｅｂサーバ１３も同様に汎用的な計算機上で実行するコンピュータプログラムにより実現する。
【００２３】
情報処理装置は、中央処理装置（ＣＰＵ）２１を含み、このＣＰＵ２１は、メモリ２２と、入力装置２３と、出力装置２４と、記憶装置２５と、ドライブ装置２６と、通信装置２７とをそれに接続された状態で有している。
【００２４】
ＣＰＵ２１は、メモリ２２を利用してプログラムを実行し、ログデータの読み出し、稼働分析等の機能を実現する。メモリ２２には、機能の提供に必要なプログラムとデータが格納され、メモリ２２としては、通常、キャッシュ・メモリ、システム・メモリおよびディスプレー・メモリを含む。
【００２５】
入力装置２３は、キーボードおよびマウス装置（図示せず）を含み、ユーザからの要求や指示の入力に用いられる。また、出力装置２４は、表示装置（ＶＤＴ）またはモニタおよびプリンタを含み、サービス画面，分析結果等の出力に用いられる。
【００２６】
記憶装置２５は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。この記憶装置２５には、上述のプログラムとデータが格納され、ＣＰＵ２１は、入力装置２３による指示に応答してプログラム，データをメモリ２２へ転送し、それを実行する。
【００２７】
ドライブ装置２６は、記録媒体２８を駆動し、その記憶内容にアクセスする。記録媒体２８としては、メモリカード、フロッピーディスク、光ディスク（CD-ROM,DVD-ROM,…）、光磁気ディスク（MO,MD,…）等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体２８に、上述のプログラム，データを格納しておき、必要に応じて、メモリ２２にロードして使用することもできる。
【００２８】
通信装置２７は、ネットワーク１６への接続に用いられ、通信に伴うデータ変換等を行って、他の情報処理装置（クライアント１１ａ，１１ｂ、Ｐｒｏｘｙサーバ１２、Ｗｅｂサーバ１３）との間でプログラムやデータの送受信を行う。また、情報処理装置は、外部の情報提供者のデータベース等からネットワークを介して、上述のプログラムとデータを受け取り、必要に応じて、メモリ２２にロードして使用することもできる。
【００２９】
図３は、分析用コンピュータ１４とログファイル１７を機能的に示すブロック図である。
ログファイル１７は、複数（図３では４つ）のファイル１７ａ，１７ｂ，１７ｃ，１７ｄから構成されている。各ファイル１７ａ〜１７ｄは、それぞれファイル名がＷｅｂサーバ１３の命名規則により「ファイル１」，「ファイル２」，「ファイル３」，「ファイル４」と命名されている。
【００３０】
尚、本実施形態では、ログファイル１７は、以下の条件により作成されている。
−ファイルはテキストファイルである。
−ファイルは同一ディレクトリ配下に存在する。
−ログはテキスト行一行に一回分が記録される。
【００３１】
分析用コンピュータ１４は、ログ分析部３１とデータ読出し部３２を含み、そのデータ読出し部３２は、読出し制御部３３、ファイル検索部３４、データ取出し部３５を備えている。
【００３２】
ログ分析部３１はその分析処理時にデータ読出し部３２を介してログファイル１７から時系列的に読み出したログデータに基づいてＷｅｂサーバ１３の稼働状況を分析する。ログ分析部３１は、分析しようとするログの時刻（分析開始時刻）等の読出し情報を指定してデータ読出し部３２を呼び出す。
【００３３】
データ読出し部３２は、読出し情報とＷｅｂサーバ１３に対応して設定されるログ情報に基づいて各ファイル１７ａ〜１７ｄの読出し順序を決定し、その決定した読出し順序に従って読み出したログデータをログ分析部３１に出力する。
【００３４】
ログ情報は、Ｗｅｂサーバの制約事項（Ｗｅｂサーバ毎に決められている事項）やそれを運用するユーザが決定する事項等、である。尚、本実施形態ではログ情報として以下の事項を外部から与える。
−ファイル群が存在するディレクトリのパス。
−ファイル名パターン（可変部分をワイルドカードで指定）。
−ファイル内のログの記録形式（データ種類を示すキーワードの並び）。
【００３５】
読出し制御部３３は、時系列読出しを制御する役割を担い、処理の経過に従って適宜ファイル検索部３４又はデータ取出し部３５を呼び出す。ファイル検索部３４は、外部から与えられるログ情報（「ディレクトリのパス」と「ファイル名パターン」）に基づいて、次の処理するファイルを検索し、その検索したファイルをオープンした環境を読出し制御部３３に引き渡す役割を担う。
【００３６】
データ取出し部３５は、読出し制御部３３及びファイル検索部３４から呼び出され、外部から与えられるログ情報（「記録形式」）に基づいて、ファイルから読み出した１行分のログデータから時刻情報等の各種分析用データを取り出し、それらを呼び出し元に出力する。
【００３７】
詳述すると、読出し制御部３３は、分析部３１から指定される分析開始時刻を基点時刻として指定してファイル検索部３４を呼び出す。呼び出されたファイル検索部３４は、「ディレクトリのパス」と「ファイル名パターン」に基づいてファイルを順次オープンし、オープン環境にあるファイルからログデータを１行分読出し、データ取出し部３５を呼び出す。呼び出されたデータ取出し部３５は、ログデータ１行分から「記録形式」に基づいて取り出した時刻情報等の各種分析用データを呼び出し元であるファイル検索部３４に出力する。
【００３８】
図４は、ログの「記録形式」を示す説明図である。
この例では、ログデータの一行には、アクセス時刻、アクセス元情報（クライアント情報）、被アクセス情報（アクセスされたファイル名）、データ量、その処理時間が格納されており、これらの情報に対応するキーワードの並びが記録形式４１として外部から指定される。これにより、サーバ固有のログの記録形式に依存しない読出しを可能としている。この記録形式４１は、Ｗｅｂサーバ１３に対応して一度すれば良い。
【００３９】
ファイル検索部３４は、各ファイルの先頭ログデータが持つ時刻情報に基づいて時系列にファイルをソートして読出し順序を決定する。そして、ファイル検索部３４は、決定した読出し順序に基づいて次に処理するファイルをオープンし、そのファイルのオープン環境を読出し制御部３３に引き渡す。
【００４０】
具体的には、ファイル検索部３４は２つのファイルをオープンし、双方のアクセス環境（オープン環境）を保持した状態でそれらの先頭ログデータが持つ時刻情報を比較する。そして、ファイル検索部３４は、基点時刻以降で基点時刻に最も近い時刻情報を持つログデータを格納した一方のファイルのオープン環境を保持し、他方のファイルをクローズして次のファイルをオープンする。このように、ファイル検索部３４は、全てのファイルの先頭ログデータが持つ時刻情報を比較し、基点時刻以降で基点時刻に最も近い時刻情報を持つログデータを格納したファイルのオープン環境を読出し制御部３３に受け渡す。
【００４１】
尚、ファイル検索部３４は、１つのファイルに対する読出しが終了し、次に処理するファイルを決定する段階でソート処理をその都度実行する。これにより、読出し中に実施されたファイルのリネーム処理に対応する。また、ファイル検索部３４は、ソート時に２つのファイルの比較を双方のアクセス環境を保持した状態（双方のファイルをオープンした状態）で実行することで、比較中のリネーム処理に対応する。
【００４２】
即ち、Ｗｅｂサーバ１３は、アクセスがある毎にログファイル１７を更新する。従って、ソート処理を１度だけ実行してファイルの読出し順序を決定する方法では、リネームされてファイル名が変更されると読出し順序が変わってしまい、時系列にログデータを読み出すことができなくなる。また、双方のファイルをクローズして比較する方法では、比較中にリネーム処理が実行されると、比較結果に基づいてオープンするファイル名が変わる又はそのファイルが無くなってしまうことがあり、やはり時系列にログデータを確実に読み出すことができなくなるからである。
【００４３】
読出し制御部３３は、オープン環境を受け取り、オープン環境にあるファイルからログデータを１行分読出し、データ取出し部３５を呼び出す。呼び出されたデータ取出し部３５は、ログデータ１行分から「記録形式」に基づいて取り出した時刻情報等の各種分析用データを呼び出し元である読出し制御部３３に出力する。読出し制御部３３は、引き継いだオープン環境がファイルの終端に到達するまで（ファイルのログデータが無くなるまで）データ取出し部３５を呼び出してそのファイルの全てのログデータから取り出した各種分析用データを受け取り、それらをログ分析部３１に出力する。
【００４４】
このように、１つのファイルのログデータを全てについて処理を終了すると、読出し制御部３３は、次のファイルの読出しを行うべく例えば先のファイルの最終ログデータの時刻情報を基点時刻として再度ファイル検索部３４を呼び出す。
【００４５】
次に、ファイル検索について詳述する。尚、ここでは、ＵＮＩＸにおけるＣ言語による実装として示す。
例えば、ファイル２，ファイル３，ファイル４，ファイル１の順に時系列になっており、システムコール opendir()関数でディレクトリをオープンした場合に、 readdir()関数でディレクトリエントリがファイル１，ファイル２，ファイル３，ファイル４の順で読み出される。この時、ファイル検索部３４が実施する最初に処理するファイルを検索する処理は、以下のとおりである。
【００４６】
（１） fopen()関数で「ファイル１」をオープンし、 fgets()関数で先頭ログのテキスト行を得、データ取出し部３５を呼び出して先頭ログの時刻情報を取り出す。
【００４７】
（２） fopen()関数で「ファイル２」をオープンし、 fgets()関数で先頭ログのテキスト行を得、データ取出し部３５を呼び出して先頭ログの時刻情報を取り出す。
【００４８】
（３）時刻情報を比較すると「ファイル２」の方が古いので、「ファイル２」のオープン環境をそのままにして、fclose()関数で「ファイル１」のオープン環境をクローズする。
【００４９】
（４） fopen()関数で「ファイル３」をオープンし、 fgets()関数で先頭ログのテキスト行を得、データ取出し部３５を呼び出して先頭ログの時刻情報を取り出す。
【００５０】
（５）時刻情報を比較すると「ファイル２」の方が古いので、「ファイル２」のオープン環境をそのままにして、fclose()関数で「ファイル３」のオープン環境をクローズする。
【００５１】
（６） fopen()関数で「ファイル４」をオープンし、 fgets()関数で先頭ログのテキスト行を得、データ取出し部３５を呼び出して先頭ログの時刻情報を取り出す。
【００５２】
（７）時刻情報を比較すると「ファイル２」の方が古いので、「ファイル２」のオープン環境をそのままにして、fclose()関数で「ファイル４」のオープン環境をクローズする。
【００５３】
（８）全てのファイルついて検索処理が終了したので、該当ファイル名を「ファイル２」とし、「ファイル２」のオープン環境をそのまま読出し制御部３３へ引き渡す。
【００５４】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）データ読出し部３２は、各ファイル１７ａ〜１７ｄのログデータから時刻情報を含む所望のデータを取り出すデータ取出し部３５と、データ取出し部３５により取り出された各ファイル１７ａ〜１７ｄの先頭ログデータが持つ時刻情報を時系列にソートして次に処理するファイルを検索するファイル検索部３４と、ファイル検索部３４及びデータ取出し部３５を、ログデータを時系列に沿って読み出すべく制御する読出し制御部３３と、を備えた。これにより、ファイルの命名規則に関わらずにログデータを時系列で読み出すことができる。
【００５５】
（２）読出し制御部３３は、１つのファイルに対する読み出しが終了し、次のファイルを決める段階でその都度ファイル検索部３４を動作させ、複数のファイルをソートして読出し順序を決定する。これにより、読出し中にファイルがリネームされても、ログデータを時系列で読み出すことができる。
【００５６】
（３）ファイル検索部３４は、複数のファイルのうちの２つを順次オープンし、双方のアクセス環境を保持した状態でそれぞれのファイルの先頭ログが持つ時刻情報を比較し、その比較結果に基づいて読出し順序を決定する。これにより、比較中にファイルがリネームされてもログデータを時系列で読み出すことができる。
【００５７】
（４）ファイル検索部３４は、複数のファイルが存在するパスがワイルドカードを用いて指定されパスに存在する複数のファイル１７ａ〜１７ｄをソートする。これにより、複数のファイルの保存位置に関係なくログデータを読み出すことができる。
【００５８】
（５）データ取出し部３５は、取り出すデータの種類を示すキーワードが記録形式として指定され、該記録形式に基づいて各ファイルのログデータから所望のデータを取り出す。これにより、固定されたログファイルの記録形式に依存しない読出しを行うことができる。
【００５９】
（第二実施形態）
以下、本発明を具体化した第二実施形態を図５に従って説明する。
尚、説明の便宜上、第一実施形態と同様の構成については同一の符号を付してその説明を一部省略する。
【００６０】
図５は、分析用コンピュータ１４ａとログファイル１７を機能的に示すブロック図である。尚、分析用コンピュータ１４ａに対応する情報処理装置（コンピュータ）のハードウェア構成は、第一実施形態の分析用コンピュータ１４と同じである（図２参照）ため、図面及び詳細な説明を省略する。
【００６１】
分析用コンピュータ１４ａは、ログ分析部３１ａとデータ読出し部３２ａを含み、そのデータ読出し部３２ａは、読出し制御部３３ａ、ファイル検索部３４ａ、データ取出し部３５、履歴記録部５１を備えている。
【００６２】
ログ分析部３１ａはその分析処理時にデータ読出し部３２ａを介してログファイル１７から時系列的に読み出したログデータに基づいてＷｅｂサーバ１３の稼働状況を分析する。
【００６３】
ログ分析部３１ａは、分析しようとするログの時刻（分析開始時刻）等の読出し情報又は読出しの再開又は中断を指定してデータ読出し部３２ａを呼び出す。データ読出し部３２ａは、読出し情報とＷｅｂサーバ１３に対応して設定されるログ情報に基づいて各ファイル１７ａ〜１７ｄの読出し順序を決定し、その決定した読出し順序に従って読み出したログデータをログ分析部３１ａに出力する。また、データ読出し部３２ａは、読出しの再開又は中断指示に基づいて、先に読出し処理した最後のログデータの次のログデータからの読出し、または読出しの中断処理を行う。
【００６４】
読出し制御部３３ａは、読出しの中断指示を受け取るか、またはログファイル１７の全てのログデータを読み出すと、履歴記録部５１を制御してその時点の状態を保存する。具体的には、読出し制御部３３ａは、その時の「先頭ログの時刻」及び ftell()関数によって得られる「最終読出しオフセット」を履歴記録部５１に出力し、履歴記録部５１はそれらを履歴ファイル５２に記録する。尚、履歴を元にして読出しを再開できるように、ファイル検索部３４ａは指定した時刻に一致する先頭ログを持つファイルを検索する機能を備える。
【００６５】
読出し制御部３３ａは、読出しの再開指示を受け取ると、先ず、履歴記録部５１を介して履歴ファイル５２から「先頭ログの時刻」及び「最終読出しオフセット」を読出し、その「先頭ログの時刻」を基点時刻として指定してファイル検索部３４ａを呼び出す。ファイル検索部３４ａは、指定された基点時刻に対応するファイルのオープン環境を読出し制御部３３ａに引き渡す。
【００６６】
読出し制御部３３ａは、次に、「最終読出しオフセット」でファイル内の読出し位置を復元し、その復元位置からデータ取出し部３５を制御して読出しを再開する。これにより、読出しの中断指示又は所定の集計時間に満たないログデータの集計を再開する機能を提供する。
【００６７】
即ち、ログデータの読出し中に分析部３１ａからの指示によって読出しが中断する場合がある。また、読み出したログデータが所定の集計時間（例えば１時間、１日など）に満たない（所定の集計時間内のログデータの収集が済んでいない）場合がある。これらの場合、読出しを再開するファイルを検索するのに時間がかかったり、「先頭ログの時刻」だけでファイル検索を行うと、先に読み出したログデータを再度読み込んで集計したり、ログデータを２度集計してしまう等することがある。このため、履歴ファイル５２に「先頭ログの時刻」及び「最終読出しオフセット」を記録し、これらに基づいて読出しを再開することで、ファイル検索の手間や、集計のだぶりを防ぐ。また、「先頭ログの時刻」で読出しを再開するファイルを特定することで、中断から再開までの間における該当ファイルのリネームに対応する。即ち、ファイル名が変更されても、「先頭ログの時刻」が変えられない以上、同じ内容を持つファイルを容易にオープンすることができる。
【００６８】
以上記述したように、本実施の形態によれば、第一実施形態の効果に加えて以下の効果を奏する。
（１）データ読出し部３２ａは、読出しの中断時またはログデータの終了時の情報を履歴ファイル５２に保存する履歴記録部５１を備え、読出し制御部３３ａは、履歴ファイル５２から読み出した情報に基づいて中断時または終了時の読出し位置を復元して読出しを再開する。これにより、読出し再開時における手間を省くことができ、ログの時分割的な読出しや、ＥＯＦ(end of file) からの追加分の読出しを容易に行うことができる。
【００６９】
（２）履歴ファイル５２に格納される中断時または終了時の情報は、「先頭ログの時刻」と「最終読出しオフセット」を含み、読出し制御部３３ａは、「先頭ログの時刻」に基づいて処理するファイルをファイル検索部３４ａによって特定し、「最終読出しオフセット」に基づいて特定したファイル内の読出し位置を復元する。これにより、中断から再開までの間にファイルがリネームされてもログデータを時系列で読み出すことができる。
【００７０】
尚、前記各実施形態は、以下の態様に変更してもよい。
○上記各実施形態では、Ｗｅｂサーバ１３と分析用コンピュータ１４を別々の構成としたが、同一の計算機にてＷｅｂページ等のサービス機能とログの読出し及び分析機能を提供する構成としても良い。
【００７１】
○上記各実施形態では、ログデータの読出し部３２，３２ａを分析用コンピュータ１４，１４ａに実装したが、これをＷｅｂサーバ１３に実装し、時系列的に読出したログデータを順次、或いは所定のまとまりを持って分析用コンピュータ１４，１４ａに送信する構成としても良い。
【００７２】
○上記各実施形態では、Ｗｅｂサーバ１３のログを読み出す読出し部３２，３２ａに具体化したが、図１のＰｒｏｘｙサーバ１２や、他のＷＷＷ関連サーバのログデータを読み出す読出し部３２，３２ａに具体化して実施しても良い。ＷＷＷ関連サーバとしては、Ｗｅｂサーバのようにネットワークに接続されたクライアントにデータベース，メール等のサービスを提供するもの、Ｐｒｏｘｙサーバのようにクライアントをネットワークに接続するためのサービスを提供するものを含む。
【００７３】
○上記各実施形態では、Ｃ言語により実装した機能（プログラム）について説明したが、他の言語を用いて作成したプログラムにより機能を実装するようにしてもよい。
【００７４】
以上の実施形態をまとめ、本発明の構成に関する以下の事項を開示する。
（１）  前記ソートを、１つのファイルに対する読み出しが終了し、次のファイルを決める段階でその都度実行する、ことを特徴とする請求項１に記載のログ読出し方法。これにより、読出し中にファイルがリネームされても、ログデータを時系列で読み出すことができる。
【００７５】
（２）  前記ソート時に前記複数のファイルのうちの２つを順次オープンし、双方のアクセス環境を保持した状態でそれぞれのファイルの先頭ログデータが持つ時刻情報を比較し、その比較結果に基づいて前記読出し順序を決定する、ことを特徴とする請求項１に記載のログ読出し方法。これにより、比較中にファイルがリネームされてもログデータを時系列で読み出すことができる。
【００７６】
（３）  前記読出しの中断時またはログデータの終了時の情報を保存し、該情報を読み出して前記中断時または終了時の読出し位置を復元して読出しを再開する、ことを特徴とする請求項１に記載のログ読出し方法。これにより、読出し再開時における手間を省くことができる。
【００７７】
（４）  前記情報に含まれる先頭ログの時刻に基づいて処理するファイルを特定し、前記情報に含まれる最終読み出しオフセットに基づいて前記特定したファイル内の読み出し位置を復元する、ことを特徴とする上記（３）に記載のログ読出し方法。これにより、中断から再開までの間にファイルがリネームされてもログデータを時系列で読み出すことができる。
【００７８】
（５）  前記プログラムは、前記ソートを、１つのファイルに対する読み出しが終了し、次のファイルを決める段階でその都度実行する、請求項８に記載の記録媒体。
【００７９】
（６）  前記プログラムは、前記複数のファイルのうちの２つを順次オープンし、双方のアクセス環境を保持した状態でそれぞれのファイルの先頭ログデータが持つ時刻情報を比較し、その比較結果に基づいて前記読出し順序を決定する、請求項８に記載の記録媒体。
【００８０】
（７）  前記プログラムは、前記読出しの中断時またはログデータの終了時の情報を保存し、該情報を読み出して前記中断時または終了時の読出し位置を復元して読出しを再開するステップを実行する、請求項８に記載の記録媒体。
【００８１】
（８）  前記プログラムは、前記情報に含まれる先頭ログの時刻に基づいて処理するファイルを特定し、前記情報に含まれる最終読み出しオフセットに基づいて前記特定したファイル内の読み出し位置を復元するステップを実行する、上記（７）に記載の記録媒体。
【００８２】
【発明の効果】
以上詳述したように、本発明によれば、複数のファイルの先頭ログデータが持つ時刻情報をソートしてファイルの読出し順序を決定するようにしたことで、ＷＷＷ関連サーバ（Ｗｅｂサーバ、Ｐｒｏｘｙサーバなど）の稼働状況分析において、サーバの固有情報に関わらずにログデータを時系列で読出しを行うことができる。
【図面の簡単な説明】
【図１】  システム構成を概略的に示すブロック図である。
【図２】  分析用コンピュータのハードウェア構成を概略的に示すブロック図である。
【図３】  第一実施形態の分析用コンピュータの機能ブロック回路図である。
【図４】  ログの記録形式を示す説明図である。
【図５】  第二実施形態の分析用コンピュータの機能ブロック回路図である。
【符号の説明】
１７，１７ａ〜１７ｄ  ログファイル
３３，３３ａ  読出し制御部
３４，３４ａ  ファイル検索部
３５  データ取出し部
５１  履歴記録部
５２  履歴ファイル
【図１】
0004429434.tif 000002
【図２】
0004429434.tif 000003
【図３】
0004429434.tif 000004
【図４】
0004429434.tif 000005
【図５】
0004429434.tif 000006