(57)【要約】  【課題】クライアントコンピュータの利用状況を監視するために画面イメージを取得し、取得した画面イメージを効率的に保存し、保存した画面イメージを容易に検索可能にする。  【解決手段】クライアントコンピュータ（２）において、画面イメージを生成するときの描画コマンドを、ドライバウェア（２２）によって取得し、描画コマンドからテキストデータを抽出する。抽出したテキストデータと描画コマンドを関連付けて、サーバ（３）のデータベース（１３）に格納する。データベース（１３）をキーワードによって検索し、関連付けられた描画コマンドから画面イメージを再生する。【特許請求の範囲】
【請求項１】
電子計算機をオペレーティングシステムによって動作させ、前記電子計算機の表示装置に表示される表示イメージを記録して、前記電子計算機の利用状況を監視するための監視方法において、
前記オペレーティングシステム又は前記オペレーティングシステム上に動作するアプリケーションプログラムから前記表示装置にデータを表示するとき、前記オペレーティングシステムのグラフィック機能を提供するサブシステム（２３、３４）が前記表示イメージを生成するために実行する関数を、前記サブシステムの入力機能又は出力機能を利用した取得手段（１０、３５、２２）で取得し、
前記関数からテキストデータを抽出手段（１０、２２）で抽出し、
前記テキストデータと前記関数を関連付けて、前記電子計算機又は前記電子計算機とネットワークによって接続されたサーバに格納されているデータベースに格納手段（２２、３８）で格納する
ことを特徴とする電子計算機の監視方法。
【請求項２】
請求項１に記載の電子計算機の監視方法おいて、
前記取得手段（１０、３５、２２）は、前記電子計算機のデバイスを制御するためのデバイスドライバ間でデータの送受信を行う機能、及び前記オペレーティングシステムと前記デバイスドライバとの共通のインターフェースを提供する機能を備え、かつ、前記オペレーティングシステムのカーネルモードで動作するインターフェースドライバ手段（２２）を有し、
前記インターフェースドライバ手段（２２）は、前記オペレーティングシステム又は前記アプリケーションプログラムと、前記サブシステム（２３、３４）の前記入力機能又は前記出力機能とのインターフェースを提供し、
前記関数を前記インターフェースドライバ手段（２２）の前記インターフェースによって取得する
ことを特徴とする電子計算機の監視方法。
【請求項３】
請求項１又は２に記載の電子計算機の監視方法において、
前記アプリケーションプログラムの操作履歴、前記電子計算機の入力装置から入力される操作履歴、前記電子計算機の通信履歴、及び前記電子計算機の固有情報、前記サブシステム（２３、３４）から出力されるラスターデータ、及び前記関数の実行時間の中から選択される１以上のデータを取得して、前記テキストデータ又は前記関数に関連付けて前記データベースに格納する
ことを特徴とする電子計算機の監視方法。
【請求項４】
請求項１から３の中から選択される１項に記載の電子計算機の監視方法において、
前記電子計算機の利用状況を把握するために、キーワードによって前記データベースを検索手段で検索し、
前記検索の検索結果を表示手段で表示し、
前記検索の検索結果の前記テキストデータに関連付けられたもので、前記データベースに格納された前記関数を用いて前記表示イメージを再生手段で再生する
ことを特徴とする電子計算機の監視方法。
【請求項５】
電子計算機をオペレーティングシステムによって動作させ、前記電子計算機の表示装置に表示される表示イメージを記録して、前記電子計算機の利用状況を監視するための監視システムにおいて、
前記オペレーティングシステム又は前記オペレーティングシステム上に動作するアプリケーションプログラムから前記表示装置にデータを表示するとき、前記表示イメージを生成するために実行されるもので、前記オペレーティングシステムのグラフィック機能を提供するサブシステム（２３、３４）の関数を、前記サブシステムの入力機能又は出力機能を利用して取得する取得手段（１０、２２、３５）と、
前記関数からテキストデータを抽出する抽出手段（１０、２２）と、
前記取得手段（１０、２２、３５）によって取得した取得データと、前記テキストデータを、データベースが格納されている前記電子計算機又は前記電子計算機とネットワークによって接続されたサーバに、送信する送信手段（２６、２７、３７）と
を備えた前記電子計算機を有することを特徴とする電子計算機の監視システム。
【請求項６】
請求項５に記載の電子計算機の監視システムにおいて、
前記電子計算機のデバイスを制御するためのデバイスドライバ間でデータの送受信を行う機能と、前記オペレーティングシステムと前記デバイスドライバとの共通のインターフェースを提供する機能を備え、前記オペレーティングシステムのカーネルモードで動作するソフトウェアで、かつ、前記オペレーティングシステム又は前記アプリケーションプログラムと、前記サブシステムの前記入力機能又は前記出力機能とのインターフェースを提供する機能を持つインターフェースドライバ手段（２２）によって前記関数を取得する前記取得手段（２２）と
を備えた前記電子計算機を有することを特徴とする電子計算機の監視システム。
【請求項７】
請求項５又は６に記載の電子計算機の監視システムにおいて、
前記アプリケーションプログラムの操作履歴、前記電子計算機の入力装置から入力される操作履歴、前記電子計算機の通信履歴、前記電子計算機の固有情報、前記サブシステム（２３、３４）から出力されるラスターデータ、及び前記関数の実行時間の中から選択される1以上のデータを取得する前記取得手段（１０、２２、３５）と
を備えた前記電子計算機を有することを特徴とする電子計算機の監視システム。
【請求項８】
請求項５から７の中から選択される１項に記載の電子計算機の監視システムにおいて、
前記送信手段（２６、２７、３７）によって送信されてきた前記データを受信する受信手段（３７）と、
前記データに含まれる、前記取得データと前記テキストデータを関連付けて、前記データベースに格納する格納手段（３８）と
を備えた前記電子計算機、又は前記サーバを有することを特徴とする電子計算機の監視システム。
【請求項９】
請求項８に記載の電子計算機の監視システムにおいて、
前記電子計算機の利用状況を把握するために、キーワードによって前記データベースを検索する検索手段と、
前記検索の検索結果を表示する表示手段と、
前記検索の検索結果の前記テキストデータに関連付けられたもので、前記データベースに格納された前記関数を用いて前記表示イメージを再生する再生手段と
を備えた前記電子計算機、又は前記サーバ、又は前記サーバにネットワークによって接続された第２電子計算機を有することを特徴とする電子計算機の監視システム。
【請求項１０】
請求項９に記載の電子計算機の監視システムにおいて、
前記インターフェースドライバ手段（２２）は、前記記憶装置からデータを取り出すための記録装置用ドライバ部（３８）と、前記表示装置に直接表示可能な前記表示イメージを生成するためのグラフィックデバイスドライバ（２４）にデータを出力するためのインターフェース部とを有し、
前記データベースに格納された前記関数を前記記録装置用ドライバ部（３８）によって取得して、前記インターフェース部に出力して、前記表示イメージを再生する前記再生手段と
を備えた前記電子計算機、又は前記サーバ、又は前記第２電子計算機を有することを特徴とする電子計算機の監視システム。
【請求項１１】
請求項８に記載の電子計算機の監視システムにおいて、
前記データベースに格納された前記電子計算機に関するデータに基づいて、前記電子計算機の利用状況を示すレポートを前記監視システムの管理者の指示によって、又は定期的に作成するためのレポート作成手段を有し、
前記レポートは、前記電子計算機の固有情報、前記電子計算機を利用したユーザを示すユーザ情報、前記ユーザが前記電子計算機を利用した時間又は時間帯を示す時間情報、及び前記電子計算機で不審なプログラムを実行、又は不適切な情報を発するネットワークアドレスに前記電子計算機からアクセスした情報を示す不正アクセス情報からなる
ことを特徴とする電子計算機の監視システム。
【請求項１２】
電子計算機をオペレーティングシステムによって動作させ、前記電子計算機の表示装置に表示される表示イメージを記録して、前記電子計算機の利用状況を監視するための監視システム用のプログラムにおいて、
前記オペレーティングシステム又は前記オペレーティングシステム上に動作するアプリケーションプログラムから前記表示装置にデータを表示するとき、前記表示イメージを生成するために実行されるもので、前記オペレーティングシステムのグラフィック機能を提供するサブシステムの関数を、前記サブシステムの入力機能又は出力機能を利用して取得する取得ステップと、
前記関数からテキストデータを抽出する抽出ステップと、
前記取得ステップによって取得した取得データと、前記テキストデータを、データベースが格納されている前記電子計算機又は前記電子計算機とネットワークによって接続されたサーバに、送信する送信ステップと
を前記電子計算機に実行させるための監視システム用プログラム。
【請求項１３】
請求項１２に記載の監視システム用プログラムにおいて、
前記電子計算機のデバイスを制御するためのデバイスドライバ間のデータの送受信を行う機能と、前記オペレーティングシステムと前記デバイスドライバとの共通のインターフェースを提供する機能を備え、前記オペレーティングシステムのカーネルモードで動作するソフトウェアで、かつ、前記オペレーティングシステム又は前記アプリケーションプログラムと、前記サブシステムの前記入力機能又は前記出力機能とのインターフェースを提供する機能を持つインターフェースドライバプログラムによって前記関数を取得する前記取得ステップと
を前記電子計算機に実行させるための監視システム用プログラム。
【請求項１４】
請求項１２又は１３に記載の監視システム用プログラムにおいて、
前記アプリケーションプログラムの操作履歴、前記電子計算機の入力装置から入力される操作履歴、前記電子計算機の通信履歴、前記電子計算機の固有情報、前記サブシステムから出力されるラスターデータ、及び前記関数の実行時間の中から選択される1以上のデータを取得する前記取得ステップと
を前記電子計算機に実行させるための監視システム用プログラム。
【請求項１５】
請求項１２から１４の中から選択される１項に記載の監視システム用プログラムにおいて、
前記送信ステップによって送信されてきた前記データを受信する受信ステップと、
前記データに含まれる、前記取得データと前記テキストデータを関連付けて、前記データベースに格納する格納ステップと
を前記電子計算機、又は前記サーバに実行させるための監視システム用プログラム。
【請求項１６】
請求項１５に記載の監視システム用プログラムにおいて、
前記電子計算機の利用状況を把握するために、キーワードによってを検索する検索ステップと、
前記検索の検索結果を表示する表示ステップと、
前記検索の検索結果の前記テキストデータに関連付けられたもので、前記データベースに格納された前記関数を用いて前記表示イメージを再生する再生ステップと
を前記電子計算機、又は前記サーバ、又は前記サーバにネットワークによって接続された第２電子計算機に実行させるための監視システム用プログラム。
【請求項１７】
請求項１６に記載の監視システム用プログラムにおいて、
前記インターフェースドライバプログラムは、前記記憶装置からデータ取り出すための記録装置用ドライバ部と、前記表示装置に直接表示可能な前記表示イメージを生成するためのグラフィックデバイスドライバにデータを出力するためのインターフェース部とを有し、
前記データベースに格納された前記関数を前記記録装置用ドライバ部によって取得するステップと、前記記録装置用ドライバ部によって取得したデータを前記インターフェース部に出力して、前記表示イメージを再生する前記再生ステップと
を前記電子計算機、又は前記サーバ、又は前記第２電子計算機に実行させるための監視システム用プログラム。
【請求項１８】
請求項１５に記載の監視システム用プログラムにおいて、
前記電子計算機に関するデータを前記データベースから取得するデータ取得ステップと、
前記電子計算機に関するデータを分析する分析ステップと、
前記分析ステップの結果をまとめてレポートを作成するレポート作成ステップと
を前記電子計算機、又は前記サーバ、又は前記サーバにネットワークによって接続された第２電子計算機に実行させるための実行させるための監視システム用プログラム。
【請求項１９】
請求項１８に記載の監視システム用プログラムにおいて、
レポート作成ステップは、前記監視システムの管理者の指示によって、又は定期的に実行して、前記レポートを作成し、
前記レポートは、前記電子計算機の固有情報、前記電子計算機を利用したユーザを示すユーザ情報、前記ユーザが前記電子計算機を利用した時間又は時間帯を示す時間情報、及び前記電子計算機で不審なプログラムを実行、又は不適切な情報を発するネットワークアドレスに前記電子計算機からアクセスした情報を示す不正アクセス情報からなる
ことを特徴とする監視システム用プログラム。
【請求項２０】
請求項１２〜１９の中から選択される１項に記載の監視システム用プログラムを記録した電子計算機での読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子計算機の利用状況を監視するための監視方法、その方法を適用した監視システム、そのシステムにて用いられるプログラム、及びそのプログラムを記録した電子計算機での読み取り可能な記録媒体に関する。特に、ＬＡＮ（Local Area Network）等の通信網に接続するクライアントコンピュータのディスプレイに表示される画面イメージを監視する監視方法、監視システム、システム用のプログラム、及びプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
企業や政府機関等が入っている建造物、学校校舎等の構内にＬＡＮ（Local Area Network）等のネットワークを構築するシステムが普及している。このネットワークに接続されているクライアントコンピュータからは、インターネット等の外部通信網へのアクセスが可能であり、及びシステム内の情報や装置等を複数の利用者が共有している。【０００３】
これらの利用者は、クライアントコンピュータを用いて業務を行っている。また、これらの利用者は、クライアントコンピュータから外部通信網へアクセスしたり、システム内の共有された情報及び装置へアクセスしたりしてその業務に必要な行為を行っている。しかしながら、直接的に業務と関係の無いウェブページにアクセスする行為、及びゲームを行う行為等の非業務行為も行われており、業務効率の悪化等の諸問題が発生している。【０００４】
更に、非業務行為としては、情報の改竄、漏洩、及び破壊等の不正行為が行われる可能性もある。非業務行為が行われている場合でも、業務を行っている状況と一見しただけでは判別がつかず、規制が困難であるという問題がある。ウェブページのアクセス記録を蓄積することにより、業務と関係がないウェブページへのアクセスを調査する方法もある。【０００５】
ウェブページのＩＰアドレス等のアクセス記録から閲覧したウェブページを調査することは容易ではなく、またオフラインゲーム等の遊興行為については、記録が残り難く調査が困難であるという問題がある。このために、ネットワークに接続されているクライアントコンピュータの利用状況を監視するものとして様々なシステムが提案されている。特許文献１には、ＬＡＮ接続されたクライアントコンピュータの利用状況を監視するシステムを開示している。【０００６】
このシステムにおいては、ＬＡＮに接続された被監視装置の画面を、ＬＡＮに接続された監視装置のディスプレイに表示し、また、ＬＡＮに接続された記録装置に記録して保存している。受信した表示画像情報は、送信元の被監視装置を特定する識別情報及び時刻に対応付けて、記録装置に格納されている履歴データベースに記録している。この履歴データベースを元にクライアントコンピュータに利用状況を追跡することが可能になっている。【０００７】
特許文献２には、一台のサーバコンピュータで複数のエージェントコンピュータを監視するシステムを開示している。エージェントコンピュータのビデオディスプレイに表示された画像を圧縮して、ネットワークを介してサーバコンピュータに送信して、展開してビデオディスプレイに表示するか圧縮した状態で記憶装置に記録している。また、エージェント上に稼動中の処理の名称を取り出して、サーバコンピュータに送信して、画面の圧縮に伴う情報の欠落を補足している。【０００８】
【特許文献１】特開２００３−９１４３３号公報
【特許文献２】特開２００１−２２９１４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
画面に表示される画面イメージをビットマップ、ＪＰＥＧ等の画像ベースの形式で保存する方法は、取り扱うデータ量が大きく、ネットワークで伝送するとき通信データ大きくなり、記録装置への記録量が膨大なデータになる。この従来の方法では、クライアントコンピュータの利用状況を、保存された画面イメージを再生しながら確認している。保存された稼動処理の名称からは、どのようなプログラムが起動しているかを確認できるが、画面に表示されている内容までは把握できない。【００１０】
クライアントコンピュータの画面イメージを画像形式で保存しているため、画面に表示されたテキスト情報を検索することができない。画面の表示を追跡するときに、保存された画面イメージを一画面ずつ開いて再生しながら確認している。このような追跡方法では、必要な画面を簡単に見たり、表示したりすることができない。画像認識の画像処理技術を用いて、画面イメージからその中に表示されているテキストデータを認識することは理論的にできるが、そのための画像処理をするデータ量が膨大になるため、画面に表示されている連続再生の画面イメージからテキストデータを読み取ることは実用的ではない。【００１１】
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、クライアントコンピュータの利用状況を監視するために画面イメージを取得し、取得した画面イメージを効率的に保存するための監視方法、監視システム、システム用のプログラム、及びプログラムを記録した記録媒体を提供する。【００１２】
本発明の他の目的は、クライアントコンピュータの利用状況を監視するために保存した画面イメージを容易に検索可能にするための監視方法、監視システム、システム用のプログラム、及びプログラムを記録した記録媒体を提供する。【００１３】
本発明の更に他の目的は、クライアントコンピュータの利用状況を監視するために保存した描画コマンドベースの画面イメージを再生するための監視方法、監視システム、システム用のプログラム、及びプログラムを記録した記録媒体を提供する。
【課題を解決するための手段】
【００１４】
本発明は、前記目的を達成するため、次の手段を採る。
本発明は、クライアントコンピュータの利用状況を監視するための監視方法、監視システム、システム用のプログラム、及びプログラムを記録した記録媒体を提供する。本発明は、電子計算機をオペレーティングシステムによって動作させ、電子計算機の表示装置に表示される表示イメージを記録して、電子計算機の利用状況を監視するものである。本発明の監視システムは、電子計算機の表示装置に表示される画面イメージと、この画面イメージから抽出されたテキストデータとを関連付けてデータベース化して保存する。【００１５】
画面イメージは、この画面イメージを電子計算機で生成するときの、描画コマンドをベースにして保存される。また、画面イメージは、ラスターデータで保存されることができる。描画コマンドは、テキストデータとしてデータベースに保存される。このデータベースは、サーバに格納されている。サーバは、電子計算機とネットワークによって接続される。サーバは、データベースを検索するための検索手段と、保存されたラスターデータや描画コマンドから画面イメージを再生するための再生手段を備える。【００１６】
電子計算機の利用状況を把握するために、キーワードによってデータベースを検索手段で検索し、検索の検索結果を表示手段で表示する。更に、検索の検索結果のテキストデータに関連付けられたもので、データベースに格納された描画コマンド等の関数を用いて表示イメージを再生手段で再生する。電子計算機は、オペレーティングシステムによって制御されて動作する。オペレーティングシステム又はオペレーティングシステム上に動作するアプリケーションプログラムから電子計算機の表示装置にデータを表示するとき、オペレーティングシステムのグラフィック機能を提供するサブシステム（ＧＤＩ３２、ＧＤＩ）が表示イメージを生成している。【００１７】
画面イメージは、ＧＤＩ３２、ＧＤＩが提供している関数である描画コマンドによって生成される。描画コマンドには、画面イメージに、ベクターデータを表示するものと、ラスターデータを表示するものがある。また、テキストデータを表示するものもある。オペレーティングシステムのカーネルモードで動作するインターフェースドライバ手段からなる取得手段を電子計算機とサーバが備える。インターフェースドライバ手段は、オペレーティングシステム又はアプリケーションプログラムと、サブシステムの入力機能又は出力機能とのインターフェースを提供する。【００１８】
サブシステム（ＧＤＩ３２、ＧＤＩ）が表示イメージを生成するために実行する描画コマンド等の関数を、サブシステム（ＧＤＩ３２、ＧＤＩ）の入力機能又は出力機能を利用して取得する。つまり、描画コマンドは、ＧＤＩ３２、ＧＤＩ、ディスプレイデバイスドライバ等の入出力機能を利用して取得する。取得された関数からテキストデータを抽出し、テキストデータと関数を関連付けて、データベースに格納する。描画コマンド等の関数の取得は、取得手段によって行われる。取得手段は、関数をインターフェースドライバ手段のインターフェースによって取得する。【００１９】
アプリケーションプログラムからデータを画面に表示する要求が出力され、オペレーティングシステムのグラフィック関連の機能を提供するサブシステムＧＤＩ３２にデータが渡されるとき、描画コマンドが取得される。また、ＧＤＩ３２からオペレーティングシステムのカーネルモードのＧＤＩにデータが渡されるとき、又はＧＤＩが実行するときに、描画コマンドが取得される。【００２０】
電子計算機は、取得手段によって取得した取得データをサーバに送信するための送信手段を備える。サーバは、電子計算機の送信手段によって送信されてきたデータを受信する受信手段と、このデータに含まれる取得データをデータベースに格納する格納手段を備える。電子計算機から画面イメージがサーバに送信されてくると、画面イメージからテキストデータを抽出して、この画面イメージと関連つけてデータベースに保存する。画面イメージからテキストデータを抽出する機能は、電子計算機が有することができる。【００２１】
インターフェースドライバ手段は、記憶装置からデータを取り出すための記録装置用ドライバ部と、表示装置に直接表示可能な表示イメージを生成するためのグラフィックデバイスドライバにデータを出力するためのインターフェース部とを有する。サーバの再生手段は、記録装置用ドライバ部とインターフェース部を有する。サーバにおいては、データベースに格納された関数を記録装置用ドライバ部によって取得して、インターフェース部に出力して、表示イメージを再生する。【００２２】
電子計算機においては、アプリケーションプログラムの操作履歴、電子計算機の入力装置から入力される操作履歴、電子計算機の通信履歴、及び電子計算機の固有情報、サブシステムから出力されるラスターデータ、及び関数の実行時間の中から選択される１以上のデータを取得手段が取得する。これらの履歴データは、テキストデータ又は関数に関連付けてデータベースに格納する。データベースには、画面イメージに含まれるベクターデータとラスターデータの代わり、ベクターデータとラスターデータが保存された保存先のリンクを格納する方法を採用しても良い。【００２３】
電子計算機の利用状況を把握するために、キーワードによってデータベースを検索手段で検索し、検索の検索結果を表示手段で表示し、検索の検索結果のテキストデータに関連付けられたもので、データベースに格納された関数を用いて表示イメージを再生手段で再生する。データベースに格納されている履歴データ、関数、画面イメージ等の電子計算機に関するデータに基づいて、電子計算機の利用状況を示すレポートを作成する機能を監視システムが備える。【００２４】
このレポートは、監視システムの管理者の指示によって、又は定期的に作成される。サーバは、このレポートを作成するためのレポート作成手段を有する。レポート作成手段は、電子計算機に関するデータを分析し、その結果をまとめてレポートにする。レポートは、電子計算機の固有情報、電子計算機を利用したユーザを示すユーザ情報、ユーザが電子計算機を利用した時間又は時間帯を示す時間情報、及び電子計算機で不審なプログラムを実行、又は不適切な情報を発するネットワークアドレスに電子計算機からアクセスした情報を示す不正アクセス情報からなる。【００２５】
データベースに保存された画面イメージの再生は、ユーザモードのアプリケーションプログラム又は、カーネルモードのドライバウェアで実現する。データベース、画面イメージは、監視システムのサーバに格納されるが、電子計算機のローカル又は外付け記録装置に保存する方法を取っても良い。又は、データベースは、ネットワーク上の他の電子計算機に保存する方法を取っても良い。ネットワークを介してデータベースに接続された他の電子計算機は、データベースにアクセスし、その内容を検索し、画面イメージの再生を行う機能を備えることができる。
【発明の効果】
【００２６】
本発明によると、次の効果が奏される。
本発明は、クライアントコンピュータの画面に表示される画面イメージを、その画面イメージを生成するときのコマンドを取得して保存しているため、従来の画像ベースの保存形式と違って、データ量を低減することが可能になった。【００２７】
本発明は、クライアントコンピュータの画面に表示される画面イメージから、詳しくは取得したコマンドから、テキストデータを抽出して、このテキストデータとコマンドベースの画面イメージを関連付けて保存してデータベース化を図っているため、クライアントコンピュータの利用状況を容易に検索することが可能になった。【００２８】
本発明は、クライアントコンピュータの、描画コマンドをベースにした画面イメージと、それに含まれるテキストデータを関連付けてデータベース化し、データベースをテキストキーワードによって検索し、検索結果に関連付けられた描画コマンドから画面イメージを再生しているため、目的の画面イメージを容易に見つけることが可能になり、クライアントコンピュータの利用状況を管理しやすくなった。【００２９】
本発明は、クライアントコンピュータの利用状況を定期的に又は管理者の指示によってレポートとして作成し、管理のポリシーによって所定期間の間に保管することで、法人監査やセキュリティマネジメントにも利用することができる。
【発明を実施するための最良の形態】
【００３０】
本発明は、クライアントコンピュータの利用状況を監視するための監視システムである。本発明の監視システムは、クライアントコンピュータのディスプレイに表示される画面イメージと、この画面イメージから抽出されたテキストデータとを関連付けてデータベース化して保存している。クライアントコンピュータでは、ＧＤＩ３２（Graphics Device Interface 32の略、後述の説明参照）、ＧＤＩ（Graphics Device Interfaceの略、後述の説明参照）、ディスプレイデバイスドライバ等によって、画面イメージを生成している。【００３１】
画面イメージは、ＧＤＩ３２、ＧＤＩが提供している関数である描画コマンドによって生成される。描画コマンドには、画面イメージに、ベクターデータを表示するものと、ラスターデータを表示するものがある。また、テキストデータを表示するものもある。画面イメージは、この画面イメージをクライアントコンピュータで生成するときの、描画コマンドをベースにして保存する。【００３２】
描画コマンドは、ＧＤＩ３２、ＧＤＩ、ディスプレイデバイスドライバ等の入出力機能を利用して取得する。データベースには、画面イメージの生成された時間情報、クライアントコンピュータの識別情報、利用者の識別情報等も保存される。また、データベースには、画面イメージに含まれるベクターデータとラスターデータの代わり、ベクターデータとラスターデータが保存された保存先のリンクを格納する方法を採用できる。【００３３】
データベース、画面イメージは、監視システムの監視サーバに格納されるが、ネットワーク上の他の電子計算機、クライアントコンピュータのローカル又は外付け記録装置に保存する方法を採用できる。このデータベースに格納された情報を検索することにより、クライアントコンピュータのディスプレイに表示された内容を容易に把握することが可能になる。【００３４】
監視システムは、クライアントコンピュータ又は監視サーバからデータベースにアクセスしてその内容を検索したり、保存された画面イメージを再生したりする。また、監視サーバにネットワークを介して接続された他の電子計算機からも同様な操作をすることができる。【００３５】
描画コマンドは、アプリケーションプログラムからデータを画面に表示する要求が出力され、オペレーティングシステムのグラフィック関連の機能を提供するサブシステムＧＤＩ３２にデータが渡されるとき、取得する。また、描画コマンドは、ＧＤＩ３２からオペレーティングシステムのカーネルモードのＧＤＩにデータが渡されるとき、又はＧＤＩが実行するときに取得する。データベースに保存された画面イメージの再生は、ユーザモードのアプリケーションプログラム又は、カーネルモードのドライバウェアで実現する。【００３６】
次に、発明を実施するための最良の形態を説明する。図１は、本発明の監視システム１の概要を図示している。監視システム１は、クライアントコンピュータ２の利用状況を監視するためのシステムである。監視システム１は、クライアントコンピュータ２と監視サーバ３からなる。クライアントコンピュータ２は、入出力装置を備えた通常の電子計算機である。クライアントコンピュータ２と監視サーバ３は、ＬＡＮ４に接続されている。【００３７】
クライアントコンピュータ２は、ＬＡＮ４によって他のクライアントコンピュータ２やプリンタ５等と接続されている。また、ＬＡＮ４には、共有して利用するためのファイル等が格納されている共有ファイルサーバ６が接続されている。クライアントコンピュータ２は、共有ファイルサーバ６にＬＡＮ４経由でアクセスし、共有ファイルサーバ６に格納されている共有のファイルにアクセスすることができる。【００３８】
更に、ＬＡＮ４は、それに接続されているルータ７を介して、インターネット９等の外部ネットワークに接続されている。ＬＡＮ４は、ＬＡＮケーブル８によってそれを構成するクライアントコンピュータ２、監視サーバ３、共有ファイルサーバ６等の電子計算機、ルータ７、プリンタ５を相互に接続している。ユーザは、クライアントコンピュータ２を利用して、クライアントコンピュータ２にインストールされているソフトウェアを用いて必要な作業を行うことができる。【００３９】
また、ユーザは、クライアントコンピュータ２から他のクライアントコンピュータ２や共有ファイルサーバ６等にアクセスしたり、プリンタ５により書類を印刷したりする。また、クライアントコンピュータ２にインストールされているウェブブラウザからインターネット９にアクセスして、インターネット９上のデータの閲覧、ファイルのダウンロード、電子メール用のソフトウェアを利用した電子メールの送受信等を行う。【００４０】
クライアントコンピュータ２には、監視ツール１０がインストールされている（図２を参照）。監視ツール１０は、クライアントコンピュータ２の画面に表示されている内容を監視サーバ３に送信するためのソフトウェアである。監視ツール１０は、クライアントコンピュータ２の画面に表示される画面イメージと、この画面イメージに含まれるテキストデータを取得して監視サーバ３に送信する機能を有する。画面イメージは、この画面イメージを生成するときの、描画コマンドをベースにして保存される。【００４１】
画面イメージがＲＡＷのビットマップデータ等のラスターデータを含む場合は、監視ツール１０はこれをテキストデータと描画コマンドと一緒に監視サーバ３に送信する。また、画面イメージに含まれるラスターデータを圧縮して送信データの軽減を図ることができる。更に、画面イメージやテキストデータを送信するとき、暗号化して監視サーバ３に送信することもできる。これらの圧縮、暗号化は、公知の技術を用いて行われる。そのために、その詳細な説明を省略する。【００４２】
監視サーバ３には、監視用のアプリケーションプログラムである監視プログラム１１がインストールされ、これが動作する（図４を参照）。監視サーバ３は、その内蔵又は外付けで記憶装置３０（図４を参照）を有しており、これにクライアントコンピュータ２を監視するために必要なデータを格納したデータベース１３（図１を参照）を格納している。監視プログラム１１は、クライアントコンピュータ２から送信されてくる描画コマンドから画面イメージの再生に必要なデータと、描画コマンドから抽出されたテキストデータを関連付けてデータベース１３に保存する機能を備えている。【００４３】
監視ツール１０又は、ドライバウェア２２（説明は後述する）は、描画コマンドからテキストデータを抽出する機能を備えているが、監視サーバ３がこの機能を備えることもできる。監視ツール１０は、クライアントコンピュータ２上に動作するアプリケーションプログラム２０等のソフトウェアの動作に関する情報を取得して監視サーバ３に送信する機能を有する。例えば、監視ツール１０は、ファイルの開閉、更新や削除等の操作ログ、アプリケーションプログラム２０の実行に関連するデータ等を取得して監視サーバ３に送信する。監視ツール１０は、クライアントコンピュータ２の入出力装置を操作するときのデータを取得して監視サーバ３に送信する。【００４４】
図２には、クライアントコンピュータ２の概要を図示している。図２には、アプリケーションプログラム２０、オペレーティングシステム２１、ドライバウェア２２、ＧＤＩ２３、グラフィックデバイスドライバ２４、グラフィックカード２５、ネットワークデバイスドライバ２６、ネットワークカード２７、ディスプレイ２８が図示されている。更に、記憶装置用デバイスドライバ２９、記憶装置３０が図示されている。アプリケーションプログラム２０は、クライアントコンピュータ２にインストールされたソフトウェアである。【００４５】
クライアントコンピュータ２は、ディスプレイ２８、マウス（図示せず）、キーボード（図示せず）等の入出力装置、内蔵又は外付けハードディスク等の記憶装置３０、ＲＡＭ（図示せず）、ＲＯＭ（図示せず）等のメモリ、中央処理ユニット（図示せず）等を備えた通常の電子計算機である。クライアントコンピュータ２は、ネットワークカード２７、通信ポート（図示せず）等のデータ通信に必要なハードウェアも備えている。【００４６】
また、アプリケーションプログラム２０は、Windows（登録商標）のユーザモード３１で動作するプログラムである。オペレーティングシステム２１は、クライアントコンピュータ２に導入され、インストールされた基本ソフトウェアである。ディスプレイ２８は、クライアントコンピュータ２の出力装置の一つの物理装置である。ネットワークカード２７は、クライアントコンピュータ２がネットワークに接続するための物理デバイスである。【００４７】
ネットワークデバイスドライバ２６は、ネットワークカード２７を直接制御し、オペレーティングシステム２１又はアプリケーションプログラム２０とＬＡＮ８との通信を提供するためのプログラムである。クライアントコンピュータ２には、ネットワークカード２７やディスプレイ２８のような物理デバイスが数多く搭載されている。【００４８】
これらの物理デバイスは、ネットワークデバイスドライバ２６のような、それぞれのデバイスドライバによって制御されて動作している。オペレーティングシステム２１からこれらのデバイスドライバを制御している。一つのデバイスから他のデバイスへのデータの送受信は、オペレーティングシステム２１、特にオペレーティングシステム２１のユーザモード３１を経由して行われることが一般的である。【００４９】
ドライバウェア２２は、デバイスドライバ間のデータの送受信をカーネルモード３２で実現するためのソフトウェアである。ドライバウェア２２の例としては、電子計算機のインターフェースドライバプログラムとしてＷＯ０２／０９１１９５に開示されている。ドライバウェア２２は、デバイスドライバ間だけではなく、オペレーティングシステム２１と複数のデバイスドライバとのデータの送受信を提供する機能を有する。【００５０】
ドライバウェア２２は、オペレーティングシステム２１のカーネルモード３２で動作し、オペレーティングシステム２１のＧＤＩ３２（３４）からＧＤＩ２３へのデータの送受信を行うとき、そのデータを取得する。また、ドライバウェア２２は、ＧＤＩ２３からグラフィックデバイスドライバ２４へのデータの送受信を行うとき、そのデータを取得する。【００５１】
グラフィックカード２５は、ディスプレイ２８に表示される画面イメージを作成するための物理デバイスである。グラフィックデバイスドライバ２４は、グラフィックカード２５を制御するためのデバイスドライバである。グラフィックデバイスドライバ２４は、ＧＤＩ２３（後述の説明を参照）からの命令と渡されたデータに基づいて、かつ、グラフィックカード２５を制御しながら画面イメージを生成する。【００５２】
グラフィックカード２５は、ディスプレイ２８に表示するためのビットマップ形式のＲＡＷデータをその内部のメモリに格納し、グラフィックデバイスドライバ２４の命令によって、ディスプレイ２８に順次に送信し、画面イメージをディスプレイ２８に表示させる。監視ツール１０は、クライアントコンピュータ２にインストールされ、クライアントコンピュータ２のディスプレイ２８に表示される画面イメージ等のデータ取得して、サーバ３に送信するためのプログラムである。【００５３】
監視ツール１０は、ＧＤＩ３２監視モジュール３５から描画コマンドを取得する。詳しくは、ＧＤＩ３２監視モジュール３５は、アプリケーションプログラム２０からＧＤＩ３２（３５）に渡すデータと画面表示要求の描画コマンドを受信し、その受信したデータを監視ツール１０に渡す。この描画コマンドとは、表示装置に出力を行うためのベクターデータ、ラスターデータ、テキストデータを出力するためのＧＤＩ関数である。【００５４】
ドライバウェア２２は、ＧＤＩ２３とのインターフェースを提供するＧＤＩ監視モジュール３６、ネットワークデバイスドライバ２６とのインターフェースを提供するネットワークドライバモジュール３７、及び記憶装置用デバイスドライバ２９とのインターフェースを提供する記憶装置用ドライバモジュール３８を備えている。【００５５】
〔ＧＤＩについて〕
Windowsでは、ウィンドウや文字も含め、ディスプレイ２８に表示されるデータ全てを画像として扱っている。Windowsが標準で提供しているサブシステム３３は複数あり、その中でグラフィック関連のものはＧＤＩ３２（Graphics Device Interface 32）（３４）である。Windowsは、印刷装置やディスプレイ２８等の表示装置にテキスト、図形、画像データ等のデータを表示するときＧＤＩ３２（３４）を使う。ＧＤＩ３２（３４）は、オペレーティングシステム２１のユーザモード３１で動作する。【００５６】
アプリケーションプログラム２０は、画面イメージへの描画や印刷等の処理をサブシステム３３に依頼し、その処理はサブシステム３３内のＧＤＩ３２（３４）によって行われる。ＧＤＩ３２（３４）は、カーネルモード３２で動作するＧＤＩ２３と共に、その依頼をディスプレイドライバやプリンタドライバが処理できる形に変換して実行する。ＧＤＩ２３は、デバイスドライバとのやり取りによって出力装置の機種や種類による違いを吸収し、アプリケーションプログラム２０から見れば出力装置の違いを意識しないで動作することが可能になる。【００５７】
ＧＤＩ２３は、アプリケーションプログラム２０からの依頼データを処理するための次のような描画コマンドを提供する。例えば、線を描画するためのDrvLineToコマンド等のベクターデータを出力する描画コマンドがある。また、テキストの文字列を出力するためのDrvTextOutコマンド等の描画コマンドがある。また、ラスターデータを出力するためのDrvBitBltコマンド等の描画コマンドがある。【００５８】
次のＧＤＩ関数を使用してテキストの出力を行うことができる。
BOOL
DrvTextOut(
IN SURFOBJ  *pso,
IN STROBJ  *pstro,
IN FONTOBJ  *pfo,
IN CLIPOBJ  *pco,
IN RECTL  *prclExtra,
IN RECTL  *prclOpaque,
IN BRUSHOBJ  *pboFore,
IN BRUSHOBJ  *pboOpaque,
IN POINTL  *pptlOrg,
IN MIX  mix
);【００５９】
ドライバウェア２２は、ＧＤＩ２３とアプリケーションプログラム２０又はオペレーティングシステム２１とのインターフェースを提供し、ＧＤＩ２３とアプリケーションプログラム２０又はオペレーティングシステム２１からＧＤＩ２３に送信される命令、データを取得する。ドライバウェア２２は、ＧＤＩ２３とアプリケーションプログラム２０又はオペレーティングシステム２１から、画面イメージを生成するために送信されるために、ＧＤＩ２３に送信される描画コマンドを取得する。【００６０】
ドライバウェア２２は、描画コマンドからテキストデータを抽出する機能と、描画コマンドと、テキストデータをサーバ３に送信する機能を有する。監視ツール１０からの指示に従って、指定されたサーバ３に送信する。【００６１】
〔描画する手順〕
図３は、画面イメージを表示する手順を示すフローチャートである。アプリケーションプログラム２０は、ディスプレイ２８にテキストや図を表示するとき、テキストや図をＧＤＩ３２（３４）へ出力し、表示要求を依頼する（ステップ１）。アプリケーションプログラム１０からＧＤＩ３２（３４）への依頼は、サブシステム３４からＧＤＩ２３に渡される（ステップ３）。このとき、ＧＤＩ３２監視モジュール３５は、この依頼を取得する（ステップ２）。【００６２】
ＧＤＩ２３は、その依頼を受け取って、グラフィックデバイスドライバ２４で処理できる形式に変換して、グラフィックデバイスドライバ２４に送信する（ステップ４）。ドライバウェア２２は、ＧＤＩ２３からグラフィックデバイスドライバ２４へ送信されるデータをＧＤＩ監視モジュール３６によって取得し、監視ツール１０へ送信する。（ステップ５）【００６３】
画面イメージは、この画面イメージを生成するときの、描画コマンドをベースにして取得する。また、画面イメージをクライアントコンピュータで生成するときの、ラスターデータも取得して保存する。
監視ツール１０は、ＧＤＩ３２監視モジュール３５と、ドライバウェア２２から取得した画面イメージを生成する描画コマンドを分析して、それに含まれるテキストデータを取得する（ステップ６）。グラフィックデバイスドライバ２４、グラフィックカード２５は、ＧＤＩ２３から受け取ったデータを用いて画面イメージを生成する（ステップ７）。【００６４】
グラフィックカード２５は、生成された画面イメージをディスプレイ２８に送信して表示する（ステップ８）。監視ツール１０は、この取得したテキストデータと、画面イメージをドライバウェア２２へ渡し、ドライバウェ２２はテキストデータと、画面イメージを用いて監視サーバ３へ送信する送信データを作成する。この作成された送信データは、ネットワークデバイスドライバ２６へ渡され、ネットワークカード２７を経由して監視サーバ３へ送信される（ステップ９）。【００６５】
監視ツール１０は、描画コマンドそれに含まれるテキストデータの他に、画面イメージの生成された時間情報、クライアントコンピュータ２の識別情報、利用者の識別情報等を取得して監視サーバ３に送信する。クライアントコンピュータ２の識別情報としては、クライアントコンピュータ２のコンピュータ名、ＩＰアドレス、及びＭＡＣアドレスの中から１以上を取得する。利用者の識別情報としては、クライアントコンピュータ２にログインしているユーザ名を取得する。【００６６】
図４には、監視サーバ３の概要を図示している。監視サーバ３は、ディスプレイ２８、マウス（図示せず）、キーボード（図示せず）等の入出力装置、内蔵又は外付けハードディスク等の記憶装置３０、ＲＡＭ（図示せず）、ＲＯＭ（図示せず）等のメモリ、中央処理ユニット（図示せず）等を備えた通常の電子計算機である。監視サーバ３は、ネットワークカード２７、通信ポート（図示せず）等のデータ通信に必要なハードウェアも備えている。【００６７】
監視サーバ３は、記憶装置３０と記憶装置用デバイスドライバ２９を備えている。記憶装置３０は、監視サーバ３の内部記憶装置であり、データベース１３を格納するための記憶装置である。記憶装置用デバイスドライバ２９は、記憶装置３０を直接制御するためのデバイスドライバである。監視サーバ３の他のデバイスやソフトウェアについては、図２のものと同様な機能をするため、詳しい説明は省略する。以下は、違っている機能を動作だけを説明する。【００６８】
〔全体の動作〕
図５は、監視システム１の全体の動作を示すフローチャートである。利用状況を監視しようとするクライアントコンピュータ２には、予め、監視ツール１０がインストールされている（ステップ１１）。監視ツール１０は、ＣＤ−ＲＯＭやフレキシブルディスク等の記録媒体に格納されていて、記録媒体からクライアントコンピュータ２にインストールする。また、ネットワークからクライアントコンピュータ２にダウンロードしてインストールすることもできる。【００６９】
このとき、ドライバウェア２２が一緒にインストールされる。そして、クライアントコンピュータ２上に監視ツール１０を動作させて、監視サーバ３を指定してユーザの監視を開始する（ステップ１２）。また、クライアントコンピュータ２上に動作するアプリケーションプログラム２０の動作やファイルに関するログの監視を指定することができる。【００７０】
以後、監視ツール１０は、ＧＤＩ２３の入出力機能を利用して、クライアントコンピュータ２のディスプレイ２８に表示される画面イメージの描画コマンドと、この描画コマンドに含まれるテキストデータを取得する（ステップ１３）。このデータの取得については、図３のフローチャートにおいて詳しく説明している。そして、監視ツール１０は、ディスプレイ２８に送信可能な状態になった画面イメージを取得し、テキストデータと画面イメージ等を含む送信データを作成して、監視サーバ３に送信する（ステップ１４、１５）。【００７１】
この画面イメージは、基本的に描画コマンドベースのものであるが、ラスターデータで表現されている場合がある。この場合は、画面メージの圧縮、サイズの変更などを行うことができる。また、監視サーバ３への送信されるデータの暗号化を行うこともできる。監視サーバ３は、クライアントコンピュータ２から送信されてきたテキストデータ、画面イメージ等を含む送信データを受信し、その解析を行う（ステップ１６、１７）。【００７２】
そして、監視サーバ３は、テキストデータと画面イメージとの関連付けを行って記憶装置に保存する（ステップ１８、１９）。データベース１３は、テキストデータと画面イメージのデータで更新される（ステップ２０）。データベース１３には、更に、クライアントコンピュータ２から送信されてきた画面イメージの生成された時間情報、クライアントコンピュータ２の識別情報、利用者の識別情報等を格納する。【００７３】
そして、監視サーバ３は、次の処理に移る。監視サーバ３において行われているステップ１６から１９の処理は、監視プログラム１１によって行われる。このような処理が指定され、監視ツール１０がインストールされたクライアントコンピュータ２全てにおいて実行される。クライアントコンピュータ２の利用状況を、データベース１３に保存されたデータに基づいて把握することができる。【００７４】
データベース１３に保存されたデータを検索して、それに対応する画面イメージを再生しながら、クライアントコンピュータ２の利用状況を把握する。図６には、データベース１３の内容を検索して、画面を再生するときの画面例を図示している。図６の画面の中央付近には、クライアントコンピュータ２の利用状況を再生するための再生領域５１が表示されている。【００７５】
再生領域５１の中には、クライアントコンピュータ２の画面のイメージの再生を表示するための領域である再生画面５２と、再生するときにコントロールするためのボタンからなる再生ツールバー５３とがある。再生ツールバー５３は、再生画面５２に表示するイメージを連続的に再生し、制御するための各種のボタンが表示されている。再生ツールバー５３には、左側からコマ戻り、コマ送り、巻き戻し、再生、一時停止、早送り、停止するためのボタン等が表示されている。【００７６】
再生領域５１の左側には、検索領域５４が表示されている。検索領域５４には、端末リスト領域５５と、検索領域５６が表示されている。端末リスト領域５５には、監視しているクライアントコンピュータ２の一覧、又は監視するために表示画面を保存したクライアントコンピュータ２の一覧が表示される。検索領域５６には、検索するためのキーワードの入力ボックス等が表示される。【００７７】
再生領域５１の右側には、再生画面５２に表示されているイメージの描画コマンドの一覧を表示するための端末の操作履歴ビュー５７が表示されている。再生領域５１の下側には、サムネイル領域５８が表示されている。サムネイル領域５８には、検索領域５６にキーワード入力して検索した結果に対応するイメージのサムネイルが表示される。【００７８】
データベース１３に保存されたデータを検索して、それに対応する画面イメージを再生しながら、クライアントコンピュータ２の利用状況を把握する一例を図７のフローチャートに示している。監視プログラム１１を起動し（ステップ３０）、図６に図示した画面が表示される。検索領域５４には、検索キーワードを入力する（ステップ３１）。検索キーワードとしては、特定のプログラム名、入力単語、操作時間、操作期間、ＩＰアドレス、ユーザ名、アクセス先のＩＰアドレス等を指定することできる。【００７９】
また、クライアントコンピュータ２の識別情報、利用者の識別情報等を指定することができる。そして、この検索キーワードでデータベースの内容を検索する（ステップ３２）。そして、検索結果は、サムネイル領域５８に表示される（ステップ３３、３４）。検索結果が複数ある場合は、それが並べられて表示される。検索するとき、端末リスト領域５５から特定のクライアントコンピュータ２を選択することができる。【００８０】
サムネイル領域５８の検索結果から一つのサムネイルを選択すると、その結果に関連付けられた画面イメージが記憶装置３０から呼び出されて、再生画面５２に表示されて再生される（ステップ３５）。画面イメージは、描画コマンドをベースにして保存されているので、この描画コマンドによって画面イメージを再現し、連続的に再生する。そして、この画面イメージに使われた描画コマンドの一覧が、端末の操作履歴ビュー５７に表示される。端末の操作履歴ビュー５７には、クライアントコンピュータ２の操作履歴をも表示する。【００８１】
詳しくは、ファイルのアクセス履歴、アプリケーションプログラムの実行に関する情報等を端末の操作履歴ビュー５７に表示し、再生イメージのその前後の再生イメージとの関連する操作を把握する。再生ツールバー５３を利用しながら再生画面を再生したり、早送りしたりして、クライアントコンピュータ２の利用状況を確認する。検索結果でキーワードに該当する結果が見つからなかったときは、その旨の知らせをし、別の方法での検索を進めることができる（ステップ３３、３７、３８）。例えば、所定期間の間に記録された画面の再生や、類似のキーワードの検索等によってクライアントコンピュータ２の利用状況を確認する。【００８２】
このように、クライアントコンピュータ２の画面イメージだけを保存しないで、その画面イメージに含まれるテキストデータを関連付けて保存して置くと、その後、それを通常のテキストのキーワードを入力して検索可能になる。よって、ユーザがクライアントコンピュータ２をどのように利用しているかを迅速に把握することができる。画面イメージは、描画コマンドをベースにして保存しているため、取り扱うデータ量が、画像データより遥かに小さくなる。【００８３】
むろん、著作権のある電子データの不法コピーや、不適切なウェブページへのアクセス等の不審な操作をユーザがしていないかを確認し、容易に把握することができる。詳しいことは、記録装置３０に記録した画面イメージを順番に再生することで知ることができる。【００８４】
また、監視プログラム１１には、特定のキーワードが見つかったときは、管理者に知らせる機能を持たせる事ができ、ユーザの不審な操作に対して迅速に対応することができる。又は、クライアントコンピュータ２のディスプレイ２８に警告を表示し、又はクライアントコンピュータ２のユーザにメール等で知らせて警告することもできる。管理者のコンピュータに警告を表示したり、管理者の携帯電話に警告を送信したり、管理者のメールアドレスに警告を送信したりして管理者に知らせることができる。【００８５】
データベース１３、画面イメージは、監視サーバ３に格納されるが、ネットワーク上の他の電子計算機、クライアントコンピュータ２のローカル又は外付け記録装置に保存することができる。保存される画面イメージは、その保存容量の軽減を図るために白黒のイメージでも良い。このデータベース１３には、クライアントコンピュータ２、監視サーバ３、ネットワークを介して接続された他の電子計算機からアクセスして、そこに記録されている内容を検索したり、保存された画面イメージを再生したりすることができる。【００８６】
本実施の形態では、クライアントコンピュータ２上に動作する監視ツール１０、監視サーバ３上に動作する監視プログラム１１を提供している。しかし、監視プログラム１１の機能の一部の機能を制限したマネージャプログラムを提供することができる。例えば、マネージャプログラムは、保存された画面イメージの再生機能、及びデータベース３の検索機能だけを備えることができる。このマネージャプログラムは、専用のアプリケーションプログラムで保存された画面イメージやデータベース３にアクセス可能なコンピュータにインストールされて動作するもので良い。更に、このマネージャプログラムはウェブベースのプログラムでも良い。【００８７】
〔カーネルモード３２で画面イメージの再生〕
監視サーバ３によって、記憶装置３０に保存されている画面イメージを再生するとき、ユーザモード３１又はカーネルモード３２で再生する方法をとる。カーネルモード３２において、画面イメージを再生する方法を図８のフローチャートに示している。監視プログラム１１から画面イメージを再生するとき、ドライバウェア２２に対して、画面イメージ用のデータの要求が行われる（ステップ５０）。【００８８】
ドライバウェア２２は、この画面イメージの再生の要求を受信し（ステップ５１）、ドライバウェア２２の記憶装置用ドライバモジュール３８から記憶装置用デバイスドライバ２９にデータを要求する（ステップ５２）。記憶装置用デバイスドライバ２９は、記憶装置３０から要求されたデータを取得して（ステップ５３）、記憶装置用ドライバモジュール３８に送信する。【００８９】
記憶装置用ドライバモジュール３８は、記憶装置デバイスドライバ２９から受信したデータをドライバウェア２２にわたす。ドライバウェア２２は、このデータを、ＧＤＩ監視モジュール３６を経由して、グラフィックデバイスドライバ２４に送信する（ステップ５６、５７）。グラフィックデバイスドライバ２４とグラフィックカード２５は、ＧＤＩ監視モジュール３６から受信したデータからディスプレイ２８に表示可能な画面イメージを作成し、ディスプレイ２８に送信する（ステップ５８、５９）。【００９０】
よって、保存された画面イメージデータから画面イメージが再生される。この方法では、記憶装置３０から取得したデータは、オペレーティングシステム２１のカーネルモード３２だけを介して送信され、処理されているので、オペレーティングシステム２１はカーネルモード３２とユーザモード３１を切り替える必要が無く、一連の処理は高速に行われる。【００９１】
〔ユーザモード３２で画面イメージの再生〕
ユーザモード３１において、画面イメージを再生する方法を図９のフローチャートに示している。監視プログラム１１から記憶装置３０に対して画面イメージ用のデータ（画面再生用データ）の要求が行われる（ステップ７０）。この要求は、サブシステム３３を介して、記憶装置デバイスドライバ２９に送信される（ステップ７１）。【００９２】
監視プログラム１１から記憶装置デバイスドライバ２９へ画面再生用データを要求するときは、オペレーティングシステム２１の動作モードは、ユーザモード３１からカーネルモード３２へ切り替わる。記憶装置デバイスドライバ２９は、この要求を受信して（ステップ７２）、記憶装置３０から要求された画面再生用データを取得して（ステップ７３）、サブシステム２９を介して監視プログラム１１に渡す（ステップ７４、７５）。【００９３】
記憶装置デバイスドライバ２９から監視プログラム１１へ要求された画面再生用データを渡すとき、オペレーティングシステム２１の動作モードは、カーネルモード３２からユーザモード３１へ切り替わる。監視プログラム１１から記憶装置デバイスドライバ２９へ画面再生用データを要求するときと、記憶装置デバイスドライバ２９から監視プログラム１１に画面再生用データを渡すときは、ドライバウェア２２を介して行われるが、ドライバウェア２２はこれらのデータに対して何等かの処理を行わない。【００９４】
監視プログラム１１は、ＧＤＩ３２監視モジュール３５を介して画面再生用データを用いて画面イメージの再生を行う（ステップ７６）。ＧＤＩ３２監視モジュール３５は、監視プログラム１１から渡された画面イメージ用の画面再生用データをＧＤＩ３２（３４）にわたし、ＧＤＩ３２（３４）からＧＤＩ２３に渡される（ステップ７６、７７）。このとき、オペレーティングシステム２１の動作モードは、ユーザモード３１からカーネルモード３２へ切り替わる。【００９５】
ＧＤＩ２３は、画面イメージデータをグラフィックデバイスドライバ２４にわたす（ステップ７８）。グラフィックデバイスドライバ２４とグラフィックカード２５は、ＧＤＩ監視モジュール３６から受信したデータからディスプレイ２８に表示可能な画面イメージを作成し、ディスプレイ２８に送信する（ステップ７９、８０）。【００９６】
よって、記憶装置３０に保存された画面イメージ用の画面再生用データから画面イメージが再生される。この方法では、記憶装置３０から取得したデータは、オペレーティングシステム２１のカーネルモード３２、ユーザモード３１の切り替えを行いながら処理されている。このため、カーネルモード３２だけによって画面イメージが再生される場合（図８のフローチャートを参照）と比べ、一連の処理速度は遅い。【００９７】
このように、この監視システム１は、クライアントコンピュータ２にユーザがログインしてからログオフするまでの全ての操作の記録を保存し、クライアントコンピュータ２を監視することができる。管理者は、この保存された画面イメージやテキストデータから、クライアントコンピュータ２の利用状況を定期的に確認して監視できる。例えば、特定の時間帯を指定して、保存された画面イメージやテキストデータを検索し、クライアントコンピュータ２の利用状況に監視することができる。また、一日に数回ランダムにクライアントコンピュータ２の利用状況を確認することができる。監視システム１は、クライアントコンピュータ２の利用状況について定期的にレポートをするレポート機能を備えている。【００９８】
レポート機能は、それ専用のソフトウェアで実現されることができる。図１０には、レポートの例を図示している。図１０に図しているレポート７０は、クライアントコンピュータ２を利用した利用者が不審な操作をしたときのレポートである。レポート７０には、３つのコンピュータのレポート７１〜７３を示している。各レポート７１〜７３には、クライアントコンピュータ２を示す「コンピュータ」、クライアントコンピュータ２の利用者を示す「ユーザ名」、そのログイン時間を示す「ログイン時間」、そのログイン時間を示す「ログオフ時間」、不審な操作を行ったか否かを示す「不審な操作の回数」の項目がある。【００９９】
不審な操作には、次のような操作やアクセスが含まれる。コンピュータウィルスやハッキング、クラッキング等の不審なプログラムを実行である。利用者が、不適切な情報を発するネットワークアドレスにアクセスした操作である。また、監視システム１を導入した組織等の規則に反するアクセスをしたアクセス、著作権侵害に当たる情報をダウンロードした行為、そのサイトにアクセスしたアクセスである。また、これらのＩＰアドレス等のネットワークアドレスが不審な操作に含まれる。【０１００】
不審な操作があるときは、例えばレポート７１のとき、そのアクセスしたＩＰアドレスを示す「アクセスＩＰ」とアクセスした時間帯を示す「アクセス時間帯」の項目が追加されている。管理者は、このレポート７０を元に利用者の利用状況を保存された画面イメージを再生しながら監視することができる。このレポート７０には、更に、クライアントコンピュータ２を利用したデータを様々角度・視点から分析して結果を追加することができる。【０１０１】
例えば、利用者、クライアントコンピュータ、アクセスアドレス、使用プログラム、警告やテキストデータのキーワードごとに分析してレポートにまとめることができる。保存された画面イメージ、テキストデータやレポート７０は、管理のポリシーによって所定期間の間に保管されるので、法人監査やセキュリティマネジメントにも利用することができる。【０１０２】
医療機関に利用されているＭＲＩ装置等の大型の装置、患者の電子カルテシステム、心電図モニター装置、投薬モニター装置等の医療機器や医療用システムに本発明を応用することができる。特に、オペレーティングシステムとしてWindowsを利用しているものであれば全ての医療機器や医療用システムには、本発明の監視システム１を導入することができ、これらの医療機器や医療システムの履歴を残すことができる。よって、手書きだけでカルテに残している医療記録やリモートメンテナンスの記録が格段に向上し、検索機能によってオンライン監視することができる。【０１０３】
また、機密情報を含むデータが保存されているサーバ等のリモートメンテナンスを行っている端末には、本発明の監視システム１を導入することができる。この導入により、リモートメンテナンスの作業履歴を取得することができる。よって、リモートメンテナンスを行っている端末、サーバにおいて、不正操作が行われているか否かの監視を行うことができ、法人監査のときに作業履歴を証明として利用することが可能である。
【産業上の利用可能性】
【０１０４】
本発明は、電子データの緊密な管理が必要な分野に利用すると良い。特に、金融機関、原子力関連の施設、医療機関の機器の監視、リモートメンテナンスや個人データを扱う端末等の分野に利用されても良い。更に、情報セキュリティマネジメントシステム（ＩＳＭＳ、Information Security Management System）に利用されると良い。
【図面の簡単な説明】
【０１０５】
【図１】図１は、本発明の監視システム１の概要を図示した図である。
【図２】図２は、クライアントコンピュータ２の概要を図示している図である。
【図３】図３は、画面イメージをディスプレイ２８に表示する手順を示すフローチャートである。
【図４】図４は、監視サーバ３の概要を図示した図である。
【図５】図５は、監視システム１の全体の動作の流れを示すフローチャートである。
【図６】図６は、データベース１３に保存されたデータを検索して、クライアントコンピュータ２の画面イメージを再生するときの例を画面例である。
【図７】図７は、クライアントコンピュータ２の利用状況を、データベース１３に保存されたデータに基づいて把握する流れを示すフローチャートである。
【図８】図８は、カーネルモード３２で画面イメージを再生する例を示すフローチャートである。
【図９】図９は、ユーザモード３１で画面イメージを再生する例を示すフローチャートである。
【図１０】図１０は、クライアントコンピュータ２の利用状況を示すレポート７０の例を図示した図である。
【符号の説明】
【０１０６】
１…監視システム
２…クライアントコンピュータ
３…監視サーバ
４…ＬＡＮ
５…プリンタ
６…共有ファイルサーバ
７…ルータ
８…ＬＡＮケーブル
１０…監視ツール
１１…監視プログラム
１３…データベース
２０…アプリケーションプログラム
２１…オペレーティングシステム
２２…ドライバウェア
２３…ＧＤＩ
２４…グラフィックデバイスドライバ
２５…グラフィックカード
２６…ネットワークデバイスドライバ
２７…ネットワークカード
２８…ディスプレイ
２９…記憶装置用デバイスドライバ
３０…記憶装置
３１…ユーザモード
３２…カーネルモード
３３…サブシステム
３４…ＧＤＩ３２
３５…ＧＤＩ３２監視モジュール
３６…ＧＤＩ監視モジュール
３７…ネットワークドライバモジュール
３８…記憶装置用ドライバモジュール
５１…再生領域
５２…再生画面
５３…再生ツールバー
５４…検索領域
５５…端末リスト領域
５６…検索領域
５７…端末の操作履歴ビュー
５８…サムネイル領域
７０…レポート
【図１】
2006129676.tif 000002
【図２】
2006129676.tif 000003
【図３】
2006129676.tif 000004
【図４】
2006129676.tif 000005
【図５】
2006129676.tif 000006
【図６】
2006129676.tif 000007
【図７】
2006129676.tif 000008
【図８】
2006129676.tif 000009
【図９】
2006129676.tif 000010
【図１０】
2006129676.tif 000011
【国際調査報告】
2006129676.tif 000012
2006129676.tif 000013
2006129676.tif 000014
2006129676.tif 000015