(57)【要約】データ処理アプリケーションの運用記録作成、記録および報告を行うインフラに関する。ＨＩＰＡＡ（医療保険の相互運用性と説明責任に関する法律）のような規制指導、内部組織および企業、個人の情報プライバシー、ならびに他のセキュリティ・ポリシーの遵守が、レガシー・アプリケーション・ソフトウェアを書き直す必要性なく強制される。コア・エージェント・プロセスが、ユーザと対象のレガシー・アプリケーションとの間で、キーボードおよびマウスの操作などのユーザ入力イベントを捕捉する「リスナ」機能を提供する。エージェントは、アプリケーション・プロファイラ・ツールによって前もって捕捉されたとおりにアプリケーションの動作を記述している情報にアクセスし、そのようなイベントにいかに対処するかの指示を得る。【選択図】図２
2008522282.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション・プロセスにおけるアクティビティを制御する方法であって、
エージェント・プロセスを前記アプリケーション・プロセスとは別個の自律プロセスとして実行させ、このエージェント・プロセスが、
・前記アプリケーション・プロセスのユーザによる操作に関する所定の低レベル・イベントのセットを検出する工程と、
・検出される低レベル・ユーザ・イベントのセットと前記アプリケーション・プロセスに関するアプリケーション−レベルのアクティビティとの対応関係を表わす少なくとも１つのアプリケーション・プロファイルを特定する工程と、
・前記アプリケーション・プロセスのプログラム・ロジックを変更することなく、前記検出された低レベル・イベントのセットに対応されたアプリケーション・プロファイルに関連する１つ以上の規則に従って、その後に許可されるアプリケーション−レベルのアクティビティを制御する工程とを実行するアクティビティ制御方法。
【請求項２】
請求項１において、さらに、
前記アプリケーション−レベルのアクティビティの識別を記録することによって、監視したアプリケーションのアクティビティの運用記録を作成するアクティビティ制御方法。
【請求項３】
請求項１において、前記アプリケーション・プロファイルが、高レベルのマークアップ言語で保存されるアクティビティ制御方法。
【請求項４】
請求項１において、前記アプリケーション・プロセスが、クライアント／サーバのデータ処理システムにおいて実行されるアクティビティ制御方法。
【請求項５】
請求項１において、前記アプリケーション・プロセスが、メインフレーム／端末のデータ処理システムにおいて実行されるアクティビティ制御方法。
【請求項６】
請求項１において、前記アプリケーション・プロセスが、メインフレーム・エミュレータ／端末サーバのデータ処理システムにおいて実行されるアクティビティ制御方法。
【請求項７】
請求項１において、前記エージェント・プロセスが、特定のアプリケーション・データ・アクセス規制の遵守を保証する規則を指定するアクティビティ制御方法。
【請求項８】
請求項１において、前記規則が、前記アプリケーション・プロセスのユーザのクラスに応じて指定されているアクティビティ制御方法。
【請求項９】
請求項４において、前記エージェント・プロセスが、前記クライアントのオペレーティング・システム内のカーネル・プロセスとして実行されるアクティビティ制御方法。
【請求項１０】
請求項５において、前記エージェント・プロセスが、前記メインフレームと前記端末との間のデータ通信を監視するアクティビティ制御方法。
【請求項１１】
請求項１において、
プロファイル・サーバが、複数のアプリケーション・プロファイルを保存し、
前記エージェント・プロセスが、さらに、前記プロファイル・サーバから１つ以上のアプリケーション・プロファイルを受信する工程を備えたアクティビティ制御方法。
【請求項１２】
請求項１において、前記所定の低レベル・ユーザ・イベントが、入力フィールドへのデータ入力、キー操作、メニュー選択、およびボタン・クリックからなる一群から選択されるアクティビティ制御方法。
【請求項１３】
請求項１において、前記所定のアプリケーション−レベル・アクションが、データ・レコードの追加、変更、および削除からなる一群から選択されるアクティビティ制御方法。
【請求項１４】
請求項１において、前記所定のアプリケーション−レベル・アクションが、ユーザのログインであるアクティビティ制御方法。
【請求項１５】
アプリケーションのアクティビティを監視する装置であって、
エージェント・プロセスを前記アプリケーション・プロセスとは別個の自律プロセスとして実行させるデータ・プロセッサを備え、このエージェント・プロセスが、
・前記アプリケーションへのユーザの入力に関する１つ以上の所定の低レベル・イベントを検出する検出部と、
・検出される低レベル・イベントを、このような低レベル・イベントの１つ以上のパターンと比較してアプリケーション−レベルのアクションが生じたか否かを判断する比較部であって、低レベル・イベントのこのようなパターンの表記が、規則とともにアプリケーション・プロファイルに設けられている比較部とを有し、
前記アプリケーションのプログラム・ロジックを変更することなく、アプリケーション−レベルのアクションの監視が可能となっているアクティビティ監視装置。
【請求項１６】
請求項１５において、さらに、前記エージェント・プロセスが、前記アプリケーション−レベルのアクションに関連する１つ以上の規則に従って、少なくとも１つの後続のアプリケーション−レベルのアクションを制御するアクティビティ監視装置。
【請求項１７】
請求項１５において、さらに、前記検出されたアプリケーション−レベルのアクションの運用記録を作成する運用記録作成部を有するアクティビティ監視装置。
【請求項１８】
請求項１５において、前記アプリケーションが、クライアント／サーバのデータ処理システムにおいて実行されるアクティビティ監視装置。
【請求項１９】
請求項１５において、前記アプリケーションが、メインフレーム／端末のデータ処理システムにおいて実行されるアクティビティ監視装置。
【請求項２０】
請求項１５において、前記アプリケーションが、メインフレーム・エミュレータ／端末サーバのデータ処理システムにおいて実行されるアクティビティ監視装置。
【請求項２１】
請求項１６において、前記規則が、アプリケーション・データ・アクセス規制の遵守を指定しているアクティビティ監視装置。
【請求項２２】
請求項１６において、前記規則が、前記アプリケーションのユーザのクラスに応じて指定されているアクティビティ監視装置。
【請求項２３】
請求項１８において、前記エージェントが、前記クライアントのオペレーティング・システム内のカーネル・プロセスとして実行されるアクティビティ監視装置。
【請求項２４】
請求項１９において、前記エージェント・プロセスが、前記メインフレームと前記端末との間の通信を監視するアクティビティ監視装置。
【請求項２５】
請求項１５において、さらに、
プロファイル・サーバが、アプリケーション・プロファイルを保存し、
前記エージェントが、前記プロファイル・サーバから１つ以上のアプリケーション・プロファイルを受信するアクティビティ監視装置。
【請求項２６】
請求項１５において、前記所定の低レベル・イベントが、入力フィールドへのデータ入力、キー操作、メニュー選択、およびボタン・クリックからなる一群から選択されるアクティビティ監視装置。
【請求項２７】
請求項１５において、前記所定のアプリケーション−レベル・イベントが、データ追加、データ変更、およびデータ削除からなる一群から選択されるアクティビティ監視装置。
【請求項２８】
請求項１５において、前記所定のアプリケーション−レベル・アクションが、ユーザのログインであるアクティビティ監視装置。
【請求項２９】
請求項２５において、複数のアプリケーションのうちの一部が、クライアント／サーバ環境で実行され、他のアプリケーションが、メインフレーム／端末環境で実行され、各アプリケーションが、共通のアプリケーション・テンプレート・サーバにアクセスするアクティビティ監視装置。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、2004年11月22日出願の米国特許出願第10/995,020号の継続出願である。上記出願の教示の全体は、ここでの言及によって本明細書に取り入れられたものとする。
【技術分野】
【０００２】
本出願は、データ処理システムに関し、特にレガシー・データ処理アプリケーション（既存のデータ処理アプリケーション）に対する規則および／または法令遵守に関する。
【背景技術】
【０００３】
ほぼすべての事務および管理の処理において、コンピュータがますます使用されるようになるにつれて、新規な規則および法令との適合性およびこれらの遵守を保証する必要がある。規則は、組織の内部から生じて、データ処理のセキュリティ脅威への対処に関するものである。このような規則により、例えば、顧客のクレジットカード番号のような機密データを含むシステムへのパスワード保護アクセスなどの事前措置を、几帳面な従業員であれば守っている。
【０００４】
しかしながら、他のより厳格なデータ遵守の要求が、今や政府機関によって課される法令として生じている。例えば、米国政府は、Health Insurance Portability and Accountability Act（ＨＩＰＡＡ）として一般に知られる医療保険情報の交換および保護を包含する包括的な法律を成立させている。この法律は、患者の健康情報を不正な開示から保護することを意図している。ＨＩＰＡＡの遵守が、元々は大きな保険会社および医療保険提供業者を対象にしようとしていることは明らかであるが、考えられる罰則の厳しさ、ならびに訴訟および批判的なマスコミ報道にさらされる可能性があるため、遵守がより小さな医療保険提供者にとってさえも問題となる。
【０００５】
この法律の遵守は、あらゆる医療保険組織にとって重要な課題となっている。既存のソフトウェア・アプリケーションの修正のコスト、時間、および業務上のリスクが、多くの場合に極めて高価かつ危険である。例えば、多数の医療保険ソフトウェア・アプリケーションは、元々は２０年以上も前にプログラムされたメインフレーム型のシステム上で、依然として動作している。司法の介入が確実ではないことと、レガシー・アプリケーションを書き直そうと試みて動作不能にさせてしまう可能性が高いこととを照らし合わせて、一部の医療保険提供者は遵守しないことを選択している。
【０００６】
いくつかの他の規則、および企業内部の監査基準が、同様の下位レベルのユーザ・アプリケーションの監視を要件としている。例えば、政府関連機関は、ＮＩＳＰＯＭ、ＤＩＳＫＩＤ、ＴＥＭＰＥＳＴ、などのセキュリティ、監査、および報告の基準を遵守する適切な機能を、契約者に対して要求することが多い。ＧＬＢＡまたはカリフォルニア・プライバシー保護法（California Privacy Act）などのプライバシー規則でさも、同様に、アプリケーションの特定の使用を目に見えるようにすることを求めている。また、一部の組織は、極めて下位レベルで監査される必要があるセキュリティの手順を遵守するための内部システムを実装し始めている。
【発明の開示】
【０００７】
本発明は、レガシー・アプリケーションを含むアプリケーション・ソフトウェアを書き直す必要なく、アプリケーションの運用記録作成（logging）、記録（recording）、および報告（reporting）を行うインフラに関する。本発明は、レガシー・アプリケーションの修正に対する費用対効果に優れた手法を提供する。例えば、以下を提供するために用いられる。
・ＨＩＰＡＡのような規制指導の遵守、
・企業における個人情報プライバシーおよびセキュリティの方針の遵守、
・集中化されたアプリケーションの使用、監視、および制御、
・イベントの自動的な監査および報告、
・証拠品質の運用記録作成によるレコードの調査フォレンジック、
・企業のセキュリティ方針の学習および認知
【０００８】
本発明の一好ましい実施形態によれば、ユーザと対象のレガシー・アプリケーションとの間で、キーボードおよびマウスの操作などの低レベルのユーザ入力イベントを捕捉する「リスナ（listener）」機能を提供するために、コア・エージェント・プロセスが実装される。
【０００９】
エージェントは、アプリケーション・プロファイラ・ツールによって前もって捕捉されたとおりにアプリケーションを記述している情報にアクセスして、このような低レベル・イベントにいかに対処するかについての指示を得る。アプリケーション・プロファイラ・ツールは、対象とする種々のモードでアプリケーションを動作させて、経験あるユーザのアクションを記録する。次に、キーボードおよびマウスによるデータ入力のシーケンスのような低レベルのイベント、画面上の制御、ならびに対象のデータ・フィールドの操作などが、アプリケーション・プロファイリング・プロセス中にタグ付けされる。このデータは、レガシー・アプリケーションの各モードに対して展開されたアプリケーション・プロファイルに保存される。
【００１０】
次に、エージェント・プロセスは、レガシー・アプリケーションとのユーザの相互作用を監視、記録、および制御する際に、このアプリケーション・プロファイルを参照する。
【００１１】
本発明は、メインフレーム／端末アプリケーションおよび／またはクライアント／サーバのアプリケーションを含む種々の情報技術（ＩＴ）環境において実装される。したがって、「ファット」クライアント、「シン」クライアント、およびレガシー「メインフレーム」アプリケーションを、本発明によって提案されるとおり共通の手法によって完全にカバーすることができる。
【００１２】
一例として、本発明を、ＨＩＰＡＡ法令の遵守を保証するためにいかに使用できるのかを検討する。このような遵守の１つの基本的部分は、いかなる患者であろうと患者にアクセスするすべてのソフトウェア・アプリケーションにおけるユーザのアクティビティの監視である。詳細には、アプリケーションへの認証（ログイン）の成功および失敗のような特定のアプリケーション−レベルのアクション、ならびにデータ・レコードの追加、更新、および削除などの事態などを中央位置に記録する必要がある。遵守には、さらに随意により、認証されるユーザごとの基準でデータ要素をアプリケーション−レベルで隠すことが必要とされる場合もある。
【００１３】
患者情報を取り扱う企業はいくつかのソフトウェア・アプリケーションを使用し、これらアプリケーションは多数の異なるプラットフォームおよび技術を使用して開発されている。本発明は元のプログラム・ロジックを変更する必要を回避する。この元のプログラム・ロジックは、元のソース・コード内に備えられた認証および／またはデータ更新の機能を実装するものである。
【００１４】
本発明のより良好かつより費用対効果に優れた手法は、それぞれのアプリケーション・プロファイルに共有されたイベントについて各アプリケーションを監視するためにエージェント・プロセスを使用することにある。必要とされる情報は、中央のサーバまたはメインフレームに記されて、運用記録が作成される。このようにして、エージェント・プロセスが、既存のアプリケーション・コードを変更する必要なく、実行中のすべてのアプリケーションに、継続的でリアルタイムの低レベルのイベントを見えるようにする。エージェント・プロセスに関連するサーバが、企業全体にわたるアプリケーションの運用記録作成機能を提供し、企業がＨＩＰＡＡのような法令を遵守するために必要とするアプリケーション−レベルのアクションを記録する。アプリケーション−レベルのアクションを記録することによって、低レベルのユーザ・イベントの解読におけるさらなる作業が不要である。
【００１５】
この機能のさらなる適用領域は、ユーザの識別にもとづいてユーザ・アプリケーションの特定の機能を提供または制御する能力である。この能力によって、エージェント・プロセスはアプリケーションからのユーザ・プロビジョニング（ユーザに応じて提供するプロセス）を制御できる。これにより、ユーザの作業は、そのユーザにとって有効にされている範囲の機能で許可される。
【００１６】
本発明の前記の目的、特徴および利点、ならびに他の目的、特徴および利点は、添付の図面に示した本発明の好ましい実施の形態に関する以下のさらに詳しい説明から明らかになるであろう。添付の図面においては、異なる図であっても同一参照符号は同一部分を指している。図面は必ずしも縮尺どおりではなく、本発明の原理を示すことに重点がおかれている。
【発明を実施するための最良の形態】
【００１７】
本発明の好ましい実施形態を説明する。
【００１８】
Ａ．システムの概要
本発明は、企業の任意のデータ処理環境において実現できるが、図１は、１つの一般的な環境１００の図である。特定のレガシー・ソフトウェア・アプリケーションが、ＩＢＭ３２７０（登録商標）端末エミュレータまたはＸ‐Ｗｉｎｄｏｗｓ（登録商標）端末エミュレータ１０４などの端末エミュレータを通じてアクセスされるメインフレーム１０２を、ホストコンピュータとして使用する。他のレガシー・アプリケーションは、Ｃｉｔｒｉｘ（登録商標）サーバ１０６の環境においてネットワーク接続されたアプリケーションとして動作する。これらユーザは、シン・クライアントである端末エミュレータ１０８を使用してアプリケーション・サーバ１０６にアクセスする。さらに他のユーザは、ネットワーク接続されたパーソナル・コンピュータ（ＰＣ）１１０を介してネットワーク上の後置のデータベースおよび／または中間層アプリケーション・サーバ１０７にアクセスするファット・クライアント−サーバ・アプリケーションを実行する。ＰＣ１１０は、インターネット１１４のようなネットワークを通じて接続されるリモート・ユーザ１１２、またはラップトップ・コンピュータのような自律的に動作している非接続のユーザ１１６を含む。
【００１９】
さらに管理コンソール１２０およびガーディアン・サーバ１５０も、このシステムの一部である。ガーディアン・サーバ１５０は、例えば、アクティブ・ディレクトリ・プロセス１６０によってユーザおよびグループの情報にアクセスする。
【００２０】
企業におけるアプリケーションの特定の実装にかかわらず、本発明の基本的な考え方は、エージェント・プロセス２００を提供することであり、このエージェント・プロセス２００は、アプリケーションの動作を記述するアプリケーション・プロファイルを生成するためのアプリケーション・プロファイリング・プロセスによってアプリケーション２１０に指示する。エージェント・プロセス２００は、ユーザのアクティビティを、それが生じたときに、デスクトップまたはファイル・サーバなどの使用の地点において特徴付ける。詳細には、図２に示されているように、ガーディアン・エージェント・プロセス２００が、クライアント１１０、１１２、１１６においてサーバ１０６もしくは１０７の一部として、またはメインフレーム１０２上で動作する並列アプリケーションとして動作する。エージェント・プロセス２００は、低レベルのユーザ入力イベントのような、アプリケーション２１０の動作を傍受し、それに応じて適切な対策をとるための機構を提供する。エージェント・プロセス２００は、アプリケーション２１０とは別個のプロセスとして動作する。
【００２１】
一般に、アプリケーション２１０のアクティビティが、キーボード・モニタ２２２、メッセージ・モニタ２３２、またはプロトコル・アナライザ２４２などの低レベル入力／出力機能を通じて、エージェント２００によって監視される。これらのモニタ機能が、キーボード２２０またはマウス２３０などのユーザ装置からの入力の動作の分析を可能にするとともに、アプリケーション２１０によって生成される出力メッセージを、例えばネットワーク・プロトコル・アナライザ２４２によって分析できるようにする。説明責任モデルは、さらにエージェント２００に対し、例えばＣＤ‐ＲＯＭ、ＰＤＡ、ＵＳＢポート、無線装置、デジタル・ビデオ・レコーダ、またはＡＰＩを通じてのファイルの印刷などの非管理の媒体にファイルを書き込むために用いられる装置へのユーザ・アクセスの監視を求めることができる。
【００２２】
次に、エージェント・プロセス２００をさらに詳しく説明する。エージェント・プロセス２００は、ネットワーク内のクライアント１０４および／またはサーバ１０２上で動作するオペレーティング・システムとアプリケーションとの間に介装される。エージェント２００は、アプリケーション−レベルの動作としての情報を、アクティビティ・ジャーナリングおよび／またはアプリケーション監査証跡データベース２４０に報告する。アプリケーション監査証跡に供給されるアプリケーション−レベルの報告を引き起こす特定の低レベル・イベントの種類および／または列（sequence）が、アプリケーション・プロファイル・ファイル２６０（本明細書において、テンプレートと称することもある）によって定義されている。
【００２３】
ここで、報告されるべき特定のアプリケーション−レベルの動作が、その特定のアプリケーションと、アプリケーション・プロファイル２６０によって指定された監視対象のイベントの種類とに応じて決まることを、理解すべきである。
【００２４】
ガーディアン・サーバ１５０が、種々のエージェント・プロセス２００およびアプリケーション・プロファイル２６０の管理機能を有する。例えば、企業を完全に防御するために、エージェント・プロセス２００は、すべてのデスクトップ１１０、リモート・ユーザ１１２およびファイル・サーバ１０７、アプリケーション・サーバ１０６、および／または関連する企業のデータ処理システムに存在できる。したがって、ガーディアン・サーバ１５０の機能の１つは、エージェント・プロセスが正しくインストールされ、無効化されていないことを保証することにある。ガーディアン・サーバ１５０は、Ｍｉｃｒｏｓｏｆｔ（登録商標）社の．ＮＥＴインフラまたは他の安全なネットワーク・システムなどの安全なネットワークのアプリケーションを通じて、エージェント・プロセス２００と通信する。
【００２５】
エージェント・プロセス２００は、一般には、あらゆるアプリケーション２１０から自律し、クライアントのオペレーティング・システムにカーネル・プロセスとして存在する。例えば、エージェントは、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）またはＷｉｎｄｏｗｓＸＰ（登録商標）のカーネルにおいて動作する。エージェント・プロセスの自律した動作によって、キーボード・イベントまたはメッセージ・イベントなどの低レベルのイベントの検出が可能になる。また、エージェント・プロセス２００は、オペレーティング・システムのタスク・マネージャまたは類似のプロセスから隠されており、好ましくは完全な防御を保証するために、セーフ・モード・ブートの場合も機能する。
【００２６】
エージェント・プロセス２００とアプリケーション監査サーバ２４０との間の通信は、公開鍵基盤（ＲＳＡ／ＰＫＩ）または他の意味暗号化技法を使用することによって、ハイパーテキスト・トランスファ・プロトコル・セキュア（ＨＴＴＰＳ）チャネルなどの暗号化された通信チャネルを介して行うことができる。
【００２７】
管理コンソール１２０が、アプリケーション・プロファイル２６０のデータベースへのアクセスを可能にするとともに、いかにアプリケーション・プロファイル２６０が展開されるかについてのさらなる情報を具体的に提供するために使用される。
【００２８】
このように、ガーディアン・サーバ１５０が、一般に、アプリケーション・プロファイル２６０の保存および管理と、監視すべきアプリケーションの特定のユーザおよびマシン（１０４、１０８、１０６、１０７、１１０、１１２、１１６）への割り当てと、割り当てられたマシンへの適切なアプリケーション・プロファイル２６０の配布と、エージェント・プロセス２００から返される監査情報の受信、保存、および表示との機能を有する。
【００２９】
エージェント・プロセス２００がその意図するタスクを実行できるまでに、アプリケーション２１０をプロファイリングして、それに応じてアプリケーション・プロファイル２６０を生成するために、管理ユーザによってアプリケーション・プロファイラ・プロセス２５０が実行される。詳細には、各アプリケーション２１０は、またはユーザが情報を入力するフィールドおよび／もしくはユーザが他のアクションを実行するフィールドを有する画面（スクリーン）またはフォームの集合であると考えられることができる。この低レベル−イベント情報が、１つ以上のアプリケーション・プロファイル２６０に保存される。
【００３０】
ユーザがアプリケーションを実行している最中にユーザが行ったアプリケーション−レベルのアクションを推定するために、アプリケーション・プロファイル２６０がエージェント２００によって使用される。これより、システム１００は、使用される基礎技術にかかわらず、データ・アクションを実行するための入力のような明確な低レベル−イベントを有する画面またはフォームの集合を含む１つ以上のアプリケーション−レベルのアクションであると、アプリケーション２１０を見なす。フォームは、固有の名称を有しており、捕捉または保護を必要とする特定可能なフィールドを有する。低レベル・イベント入力は、キーボード操作、メニューの選択、またはクリックされてユーザのアクションをもたらすことができるボタンであってもよい。これらのイベントは、キーボード・モニタ２２２もしくはメッセージ・モニタ２３２またはプロトコル・アナライザ２４２によって検出されることができる。すなわち、いくつかのアプリケーションにとっては、キーボード操作が、当該アプリケーションと同一クライアントにおいて動作しているエージェント・プロセスによって容易に検出される。しかしながら、メインフレームのアプリケーションにおいては、「データ処理能力のない」端末においてエージェント・プロセスを実行することができないため、データの閲覧、変更、または削除のアクションなどのイベントが検出されるように、プロトコル・アナライザ２４２によってネットワーク・トラフィックをプロファイリングすることが必要である。この場合には、ネットワーク・トラフィックのパターンが、アプリケーション・プロファイル２６０の一部として保存される低レベル−イベントであると考えられる。
【００３１】
これらの低レベル入力が集められ、全体として解釈されて、アプリケーション−レベルのアクションが推定される。アプリケーション−レベルの「データ」アクションの例として、データの更新、データの閲覧、およびデータの削除を挙げることができる。次いで、これらのアプリケーション−レベルのアクションが集められ、プロセスの一部として運用記録が作成される。
【００３２】
すなわち、アプリケーション・プロファイラ２５０が、監視対象のアプリケーションの特定の実行段階にとって重要であるフォームを特定する。例えば、典型的な病院データ処理システム環境は、多数の異なる種類の多数のフォームを有している。対象となるフォームの種類の１つは、例えば患者識別情報を含むフォームである。
【００３３】
一例として、ＨＩＰＡＡの遵守に対して、アプリケーション・プロファイラ２５０は、ログイン・イベントが成功したか否かにかかわらず、そのログイン・イベントを捕捉するように指示され、さらにログオフ時間を捕捉するようにも指示される。
【００３４】
また、アプリケーション・プロファイラ２５０には、一般的に、患者データ・レコードの「閲覧」、「修正」、「追加」、または「削除」などのユーザ・イベントを制御および／または運用記録に作成するために適用されるべき規則のような、ユーザ・セッション中におけるさらなるアクションに適用される規則一式が与えられる。
【００３５】
いくつかのアプリケーションには、認証を必要とする特別な場合または特別なフォームが存在する。この特別なフォームに対して、アプリケーション・プロファイル２６０は、さらに、ログインの試行および使用されたユーザ名などの、成功または不成功のアプリケーション−レベルのアクションを検出できるようにするパターン情報を集める。
【００３６】
したがって、プロファイラ・ツール２５０はスマートなマクロレコーダと考えることができる。これにより、管理ユーザは、監査可能なフォームと、保護もしくは捕捉または閲覧からの秘匿が必要なフィールドと、そのようなフォームに対して所望の監査および／または制御を実行するためにエージェント２００が必要とするすべてのデータ収集パラメータとを定めることができる。
【００３７】
例えば、ＨＩＰＡＡの遵守に対して、単にアクションの種類を検出するだけでは不十分である。システムは、さらに、追加または削除されたアプリケーション−レベルのデータを保存しなければならない。したがって、プロファイル２６０は、いずれのフィールドがセーブされるかをエージェント２００に指示するための情報も保存する。すなわち、エージェント２００によって所定のアプリケーション−レベルのアクションが検出されると、いずれのフィールドがセーブされなければならないかを指定するためにも、プロファイラ２５０が使用されることができる。ＨＩＰＡＡに関して検討される例においては、さらに、アプリケーション−レベルにおける患者レコードの「追加」、「削除」、または「変更」のイベントに関係する社会保障番号および医療費請求コードを捕捉することが欲される可能性がある。
【００３８】
さらにエージェント２００は、一般的には、アプリケーション−レベルのアクションが生じたときにこのアクションを特定するためのみではなく、例えばこれらアクションをアプリケーション監査証跡データベース２４０に運用記録することによって、前後の脈略においてこれらアクションに関する他のデータを捕捉するためにもプロファイル２６０を使用する。
【００３９】
Ｂ．アプリケーション・プロファイルの簡単な例
次に、アプリケーション・プロファイル（テンプレート）２６０を生成するためにアプリケーション・プロファイラ２５０がいかに使用され、次いでこのようなアプリケーション・プロファイル２６０がエージェント・プロセスによっていかに使用されるかについて、さらに詳しい例を説明する。まず図３を参照すると、アプリケーション・プロファイラ２５０は、エージェント２００の監視機能を含むスタンドアロンのプログラムである。例えば、アプリケーション・プロファイラ２５０は、キーボード、マウス、メッセージ、ＡＰＩモニタ２５５へのシステム・コール、および／またはプロトコル・アナライザ２４２を通過するネットワーク・トラフィックなどの、低レベルのユーザ・イベントをカプセル化する。アプリケーション・プロファイラ２５０は、これら種々の監視された入力ストリームを使用し、アプリケーション−レベルのアクションを低レベル・イベントの特定のパターンとして定義するためのプラットフォームを提供する。
【００４０】
次いで、アプリケーション２１０についてのアプリケーション−レベルのアクションのパターンの集まりが、アプリケーション−レベルのイベントが検出されたときに適用される規則とともに、アプリケーション・プロファイル２６０に保存される。
【００４１】
単純なアプリケーション・プロファイル２６０が、図３の下部に示されており、この特定のプロファイルは、ＸＭＬ（eXtensible Markup Language）において定義されている。ここで、アプリケーションの名称｛ａｐｐｉｄ｝は「ＣＡＲＥ」であり、種類は「ＦＡＴ３２」と示されている。このように、このアプリケーションは、クライアント・サーバ・アプリケーションとして特定され、実行ソフトウェアがクライアントにインストールされている。
【００４２】
プロファイル２６０の残りのエントリは、キーボードおよびマウスのイベントに関連づけられた種類の定義である。例えば、第１のエントリは、低レベルのキーボード・イベント、すなわちＣＴＲＬ−Ｆ４が生じた場合に、「新規追加（ＡＤＤ  ＮＥＷ）」として特定されるアプリケーション−レベルのアクションがアプリケーションによって実行される事を定めている（例えば、このアプリケーション−レベルのアクションが、患者データベースに新規レコードを追加する）。
【００４３】
プロファイル２６０のさらなるエントリは、ユーザが新規レコードを追加することができる別の入力アクションに関係がある。例えば、「ｔａｒｇｅｔ＝３３１１３」は、アプリケーションによってボタンまたはフィールド・イベントとして報告されるオブジェクト識別子である。これは、例えば、ユーザの左ボタン・クリック「ｌｂｃｌｉｃｋ」した場合に報告される。
【００４４】
新規レコードを追加する第３の方法は、メニュー項目でオプションを選択することである。このアクションは、アプリケーションによって「ｔａｒｇｅｔ＝３２１１１」として特定される。
【００４５】
他のアプリケーション−レベルのアクションに対して同様の定義を与えることができる。例えば、レコードをセーブする操作「セーブ（ＳＡＶＥ）」は、ＣＴＲＬ‐Ｆ１０というキーボード操作または特定のメニュー状況における左ボタン・クリックとして、ユーザによって引き起こされることができる。
【００４６】
この方法でプロファイルが作成されると、エージェント２００は、キーボード・モニタおよびマウス・モニタを使用して、ユーザ・インターフェイスへのシステム・コールを「スパイ」し、プロファイルによって特定される低レベル・イベントがいつ生じたかを判別する。
【００４７】
キーボードまたはマウスのイベントではなく、例えばプロトコル・アナライザ２４２を介したメッセージ・トラフィックを考慮しなければならない他の種類のアプリケーションが存在することを、理解すべきである。これらは、例えば、エージェント・プロセスをリモート・クライアントにおいて実行させることができないメインフレームまたはシン・クライアントのアプリケーションにおいて使用される可能性が高い。
【００４８】
図４は、図３に定義したプロファイルが実行中のアプリケーションを監視するためにいかに使用されるかについての例である。キーボード・モニタ２２２およびメッセージ・モニタ２３２が、低レベル・イベントを検出するためにリアルタイムで動作する。このようなイベントが生じると、エージェント・プロセス２００は、対象のアプリケーションにおけるマウスおよびキーボード入力を特定し、これらが監視すべき高レベルのアクションを含むか否かを特定する。次に、キーボードおよびマウスの入力が捕捉され、アプリケーション固有のプロファイルに対して照合される。このようにして、コントロール・キーボード操作ＣＴＲＬ−Ｆ１０のようなマウス・イベントが、エージェント・プロセス２００によって高レベルのアクションに一致するものとしてフラグ設定される。
【００４９】
図５は、本発明とともに使用できるアプリケーション・プログラミング・インターフェイス（ＡＰＩ）モニタの例である。ＡＰＩモニタは、リアルタイムのシステム・コールを検出するために使用される。これにより、エージェント・プロセスは対象のアプリケーションを特定して、それらが監視対象であるか否かを特定できる。プロファイル２６０によって指定された固有のシステム・コールが捕捉され、アプリケーション状態情報が、後の使用のためにセーブされる。この手法を、画面／フォームの名称およびデータ・フィールドの内容などの追加のコンテクスト情報を捕捉するためにも使用することができる。アクションについての高レベル・イベントが生成されると、コンテクスト情報がイベント識別子と共にアプリケーション監査証跡２４０に運用記録される。
【００５０】
図６は、エージェント・プロセス２００が対象のアプリケーションを特定して、それが監視対象であるか否かを特定できるリアルタイムのネットワーク・トラフィック・アナライザの例である。固有のネットワーク・ポート番号、プロトコルの種別、およびバイト列が捕捉され、アプリケーション固有のプロファイルに対して照合される。一致が発見されると、そのアプリケーションについて高レベルのイベントが生成される。この手法は、エージェント・プロセス２００をクライアント・マシンにおいて実行させることができないメインフレームまたはシン・クライアントのアプリケーションに対して使用される。
【００５１】
Ｃ．簡単なＨＩＰＡＡ規則の実装
次に、ＨＩＰＡＡの遵守のための規則のさらに詳しい例を検討する。この例は、「医療評価管理者（medical review administrator）」として特定されるユーザ群に規則を適用する。この規則は以下のとおりである。
（１）取り出し可能な記憶媒体のすべてのイベントを阻止する。
（２）オペレーティング・システムのすべての「クリップボード」イベント（例えば、「カット」および「ペースト」を阻止する。
（３）特定のホスト・サーバへのネットワーク接続のみを許可する。
（４）アプリケーション−レベルのアクションにおいてクレジットカードおよび社会保障の情報を編集する。
この規則はフォームを印刷できる医療評価監督者には適用されない。ただし、印刷されるフォームは、クレジットカード情報およびＳＳＮが編集された状態である。
【００５２】
図７に示した例としてのＸＭＬプロファイル２６０を、例えば編集規則（４）を実装するために使用することができる。アプリケーションは、「patientclaims.exe」と名付けられており、フォームが患者情報フォームである場合に、クレジットカード・フィールドおよび社会保障フィールドの情報を編集するように指示が与えられている。
【００５３】
図８に示したさらなる例によれば、規則（１）によって指定されるように、取り出し可能な媒体への書き込みを阻止することができる。このプロファイルは、イベント・プロパティが「書き込み」操作であって、媒体の種類が「取り出し可能」である場合に、要求されたアクションを実行するために必要なシステム・コールへのアプリケーションのアクセスを防止する処理がとられるように指定している。
【００５４】
Ｄ．レガシー・メインフレームの金融アプリケーションのプロファイリング
図９および図１０（図１０Ａ，図１０Ｂおよび図１０Ｃからなる）は、ＩＢＭ３２７０アプリケーションから得られた画面、およびユーザ・データ・エントリ・セッションの後に作成された対応するアプリケーション・プロファイルの図である。図９の画面は、大手のクレジットカード部門の人員によって使用されるレガシー・メインフレーム・アプリケーションと考えられるものの典型例である。図１０の対応するプロファイルは、対象のいくつかのセクションを有する。第１に、アプリケーションの名称「ＪＫ  Ａｃｃｏｕｎｔｓ‐ｚ  Ｓｅｒｉｅｓ  Ａ‐ＴＣＰ００００２」が特定されている。画面名「ａｃｃｏｕｎｔ＿ｄｅｔａｉｌｓ」が割り当てられ、その種類は「ＤＡＴＡ」である。
【００５５】
次に、フィールドを種類、名称、およびそれらの内容によって特定するいくつかのエントリが続いている。エントリは、さらに、ここでは「見出し（Discovered）」、「特定（Identify）」、および「選択（Selected）」と定義されたグループに整理されている。
【００５６】
「見出し」フィールドは、アプリケーション・プロファイラが自動的に特定できたフィールドである。ＩＢＭ３２７０の環境においては、これは、メインフレームと端末（例えば、ＳＭＡ）との間の通信に使用されるプロトコルが、画面、フィールド名、およびデータの種類を特定する極めて固有のプロトコルであるため、比較的容易である。この場合、アプリケーション・プロファイラが、メインフレームから送信されたメッセージを単に読むことによって、画面のいくつかの領域を自動的に特定できる。他のプロトコルを使用する他の環境においては、アプリケーション・プロファイラはフィールドを自動的に特定できる場合もあれば、できない場合もあることを、理解すべきである（当然ながら、これは、ハイパーテキスト・トランスファ・プロトコル（ＨＴＴＰ）のような自由なフォームのプロトコルにおいてより困難になるであろう）。
【００５７】
「選択」フィールドは、管理ユーザがプロファイリング・プロセス中に手作業で選択しなければならないフィールドである。
【００５８】
「特定」フィールドは、管理ユーザがプロファイリング・プロセス中に設定するフィールドである。これらのフィールドは、システムの現在の状態を特定するための最低限の量の情報であると考えられるものである。一般に、このような「特定」フィールドは、イベントを運用記録するために捕捉されて保存される。例えば、患者登録アプリケーションにおいて、「特定」フィールドは、患者の名称および社会保障番号（ＳＳＮ）またはプラン・メンバーシップＩＤ番号などである。
【００５９】
さらには、この例では示していないが「ターゲット（target）」フィールドが、特定の情報が誰に属するかを特定するために使用されてもよい。
【００６０】
Ｅ．ファット・クライアント・アプリケーションのプロファイリングの詳しい例
１．１．１  アプリケーション・プロファイラおよびアプリケーション・テンプレート
プロファイラ２５０は、アプリケーション・プロファイル２６０を作成するスタンドアロンのアプリケーションである。プロファイラによって、監査可能なフォーム、捕捉が必要なフィールド、および所望の監査を実行するためにエージェントが必要とするすべてのデータ収集パラメータを、ユーザが定めることができる。このアプリケーションは、知的であって可能な限り自動化されおり、ユーザの相互作用を全くかほとんど必要としない。ユーザは、フォーム内容識別子、ターゲット識別子、およびデータ・アクションを特定するユーザ・インターフェイス入力を特定するのみでよい。
【００６１】
プロファイラ・ツールがアプリケーション・プロファイル・ファイル２６０を生成する。このアプリケーション・プロファイル・ファイル２６０は、アプリケーションの識別をプロファイル・データとともに含む。次に、アプリケーション・プロファイル２６０は、アプリケーション・プロファイル２６０を必要とする環境１００内の種々のマシンに配布されるために、ガーディアン・サーバ１５０にアップロードされる。
【００６２】
１．１．２  アプリケーションのプロファイリング
図１１は、アクション中のプロファイラ２５０を示すスクリーンショットである。この実施形態においては、ユーザ・インターフェイスが、２つのウインドウで構成されている。上部のウインドウは、３つのタブページを有するプロファイリングされたフォームのページ制御部を含む。下部のウインドウは、上部のウインドウにおいて選択された各フォームの種類についてのプロファイリング詳細を含む。下部のウインドウは、コンテクストに左右されやすく、選択されたフォームの種類に応じて変化する。例えば、「他のフォーム」タブが選択されると、下部のウインドウは空白になる。
【００６３】
ログイン・フォーム（Ｌｏｇｉｎ  Ｆｏｒｍｓ）、データ・フォーム（Ｄａｔａ  Ｆｏｒｍｓ）、および他のフォーム（Ｏｔｈｅｒ  Ｆｏｒｍｓ）を含む各ページ制御部が、図１１のプロファイラ・ウインドウに列挙されている。この画面では、データ・フォームのページがアクティブになっており、管理者ユーザが、データ・フォームのうちの１つにおいて「扶養家族をさらに追加（Ａｄｄ  ｍｏｒｅ  ｄｅｐｅｎｄｅｎｔｓ）」ボタンに関連づけられるべき動作を記述している。
【００６４】
１．１．２．１  ツールバーのボタン
ツールバーのボタン（図１１の図では見ることができないが、ファイル（Ｆｉｌｅ）、閲覧（Ｖｉｅｗ）、操作（Ｏｐｅｒａｔｉｏｎ）のタブからドロップ・ダウン・メニューを通じてアクセスできる）は、以下を含む。
１．新規プロファイルの作成
２．プロファイル概要シートの印刷
３．現在のプロファイルをディスクにセーブ
４．フォームを削除
５．アプリケーションを選択
６．フォームを追加
【００６５】
１．１．２．２  フォームのページ制御部
ログイン・フォームのページは、アプリケーションがユーザを認証するために表示するすべてのフォームすなわちダイアログのリストを含む。データ・フォームのページは、情報を収集したいアプリケーションからのフォームを含む。最後のページ、すなわち他のフォームは、フォームの移行を検出するために使用されるフォームのリストを含む。
【００６６】
１．１．２．３  データ・フォームの下部ウインドウ
データ・フォームのプロファイリングの際、ウインドウは、３つのタブを有するページ制御部を含む。データ・アクション（Ｄａｔａ  Ａｃｔｉｏｎ）タブは、データ・アクションをリスト表示する「コンボボックス」と、コンボボックスにおいて選択されたデータ・アクションを生じさせるユーザ入力イベント（ボタン押下、キーの組み合わせ、およびメニュー選択）を含むリストボックスとを有する。さらに、アクションを生じさせるユーザ入力の捕捉を開始する追加（Ａｄｄ）ボタンも存在している。アプリケーションにおいてユーザ入力が実行されると、プロファイラ２５０がユーザ入力をリストボックスに追加する。リストボックスから項目を削除するための削除（Ｒｅｍｏｖｅ）ボタンも存在する（図１２を参照）。ターゲット・フィールド（Ｔａｒｇｅｔ  Ｆｉｅｌｄ）およびベクトル・フィールド（Ｖｅｃｔｏｒ  Ｆｉｅｌｄ）のページは、フォーム・ベクトルまたはフォーム・ターゲットとして集められた情報を保持するすべての制御のリストボックスを含む。ページは、やはり追加および削除のボタンを含む。
【００６７】
１．１．２．４  ログイン・フォームの下部ウインドウ
上部ウインドウにおいてログイン・フォームが選択されると、下部のウインドウが、データ・フォームまたは他のフォームの２つのタブページのいずれかにおけるすべてのフォームのリストボックスを表示する。選択されたフォームは、成功したログインの後にアプリケーションがログイン・フォームから移行するフォームでなくてはならない（図１３を参照）
【００６８】
１．１．２．５  段階的なプロファイリング
次に、フォームをプロファイリングする手順の例を説明する。ユーザは、一般に、以下の工程を、示されている順序で実行する。
１．アプリケーション・プロファイラ２５０の開始。
２．プロファイリングされるアプリケーションを開始。
３．「新規プロファイル」（ツールバーの最初のボタン）をクリック。「アプリケーション選択」ボタン（ツールバーの５番目のボタン）もしくは操作（Ｏｐｅｒａｔｉｏｎ）メニューからのメニュー選択肢をクリックし、リストまたは実行中アプリケーションからプロファイリングされるアプリケーションを選択。アプリケーションが特定されると、プロファイラ２５０の主インターフェイスが表示される。
【００６９】
４．ログイン・フォームのプロファイリング：アプリケーションに進み、アプリケーションに所望のログイン・フォームを表示させるために必要なアクションを実行。プロファイラにおいて、ログイン・フォームのタブページを選択し、「フォーム追加（Ａｄｄ  Ｆｏｒｍ）」ボタン（ツールバーの６番目）を押下。これによって捕捉が開始される。ログイン・フォームの見出し部すなわちボックス内をクリック。下部のウインドウにおいて、ログイン成功時にログイン・フォームが移行するフォームを選択。
【００７０】
５．データ・フォームのプロファイルリング：アプリケーションに進み、アプリケーションに所望のデータ・フォームを表示させるために必要なアクションを実行。プロファイラにおいて、データ・フォームのタブページを選択し、「フォーム追加（Ａｄｄ  Ｆｏｒｍ）」ボタン（ツールバーの６番目）を押下。これによって捕捉が開始される。データ・フォームの見出し部すなわちボックス内をクリック。
【００７１】
６．データ・アクションのプロファイリング：アプリケーションに進み、アプリケーションに所望のデータ・フォームを表示させるために必要なアクションを実行。「データ・フォーム」のタブページを選択。リストから所望のデータ・フォームを選択。下部ウインドウにおいてデータ・アクションのページを選択し、アクション・コンボボックスの所望のデータ・アクションを選択。選択されたアクションに対してユーザ入力を追加するために、追加ボタンを押して捕捉を開始。アプリケーションの制御が、これらの上にマウスが位置するときに赤い囲みで強調（ハイライト）される。アプリケーションにおいてユーザ入力を実行（強調された制御の選択またはキー組み合わせを押下）。ユーザの入力が、選択されたアクションに組み合わせられる。
【００７２】
７．ターゲットまたはベクトル・フィールドのプロファイリング：アプリケーションに進み、アプリケーションに所望のデータ・フォームを表示させるために必要なアクションを実行。「データ・フォーム」のタブページを選択。リストから所望のデータ・フォームを選択。下部ウインドウにおいてターゲット・フィールドまたはベクトル・フィールドのページを選択。選択された目的のために、集める必要があるデータを含む制御を追加するように、追加ボタンを押して捕捉を開始。アプリケーションの制御が、これらの上にマウスが位置するときに赤い囲みで強調（ハイライト）される。アプリケーションにおいてユーザ入力を実行。選択された制御に含まれているデータが、データ・アクションに対して集められる。
【００７３】
２．２  サーバ・アプリケーションの計測サービス（Instrumentation）の追加
特徴のプロファイリングに加えて、ガーディアン・サーバは、さらに、エージェント２００によって集められたアプリケーションの運用記録情報の保存、およびこれを閲覧するためのレポートの作成の機能を有する。さらに、ＤＧサーバは、エージェント・アプリケーションの運用記録機能を管理できる必要がある。これは、アプリケーション・プロファイル２６０の保存および配布、ならびに組織単位によるアプリケーション・イベント・フィルタリングの管理を含む。
【００７４】
２．２．１  データ収集およびフィルタリング
ガーディアン・サーバ１５０は、標準的な高レベル・ユーザ・アクティビティ・データおよびアプリケーション・アクティビティ・データの取り扱いの間の相違を理解している。アプリケーション・データは、「ターゲット（Ｔａｒｇｅｔ）」と呼ばれる特別なピボット・ポイントを有する。すべてのデータ・アクション・イベントが、報告を推進するために後に使用されるターゲットに関連づけられている。
【００７５】
サーバは、マシンによるデータ・アクション・イベントのフィルタリングを指定するために、ユーザ・インターフェイスを提供する。フィルタリングの構成は、サーバによって自動的にエージェント２００に配布される。
【００７６】
２．２．２  レポート
システムによって提供されることができる考えられる多数のレポートが存在する。４つの基本的なレポートをここで説明する。
【００７７】
２．２．２．１  アプリケーション・アクセスのフォレンジック・レポート
図１４に示すこのレポートの例は、アプリケーションに対するすべてのログインの試みのリストである。表示されるフィールドは以下のとおりである。
・時刻
・マシン
・特定のアプリケーション
・アプリケーション・ユーザ
・ウインドウ・ログオン・ユーザ
・ログインの成否
任意のフィールドについて、並べ替えまたはフィルタリングが可能である。
【００７８】
２．２．２．２  データ・アクセスのレポート
このレポートは、特定のターゲット（多くの場合は、患者）に関するすべてのデータ・アクション・イベント、または特定のユーザによって実行されたすべてのデータ・アクション・イベントのリストで構成される。特定のターゲットに関するすべてのデータ・アクションのレポートを望む場合、レポート・フィルタにおいて、特定のターゲットを指定することができ、ユーザについては「すべて（ＡＬＬ）」を指定する。ターゲット・データに対してユーザが何を実行したかを知りたい場合には、「すべてのターゲット（ＡＬＬ  Ｔａｒｇｅｔ）」を指定することができ、ユーザをウインドウズ・ログイン名またはアプリケーション・ユーザ名によって選択することができる（例については図１５を参照）。
【００７９】
このレポートは、種々のフォームおよびアプリケーションについてデータを表示するため、「フォーム・ベクトル（Ｆｏｒｍ  Ｖｅｃｔｏｒ）」情報は表示されない。代わりに、ユーザが「詳細（Ｄｅｔａｉｌ）」リンクをクリックすると、そのフォームに固有のフォーム・ベクトル・フィールドの値が、図１６に示されているとおり表示される。
【００８０】
さらに、このリストは以下の項目によってフィルタリングできる。
・時間期間
・マシン
・対象／ターゲット
・特定のアプリケーション
・特定のフォーム
・アプリケーション・ユーザ
・ウインドウズのログオン・ユーザ
・データ・アクションの種類
【００８１】
２．２．２．３  リスク評価レポート
さらなるレポートが可能である。例えば、リスク評価レポートが、傾向の観察および関心領域の評価のために、アプリケーションの運用記録に関する種々のイベントの数（すべてのデータ・アクション・イベントにログイン失敗回数を加算）を集計する。これは、データがユーザおよび種類ごとのイベントの回数によって集計される現在の高レベル・イベント・レポートに類似している。ユーザ／イベント／回数の組み合わせがクリックされると、そのユーザについての「データ・アクセスのレポート」が、集計された特定のデータ・アクション・イベントによってフィルタリングされて表示される。このレポートは以下の項目によってフィルタリングされて集計される。
・時間期間
・特定のアプリケーション
・特定のフォーム
・アプリケーション・ユーザ
・ウインドウズのログオン・ユーザ
・データ・アクションの種類
【００８２】
以上、本発明を、本発明の好ましい実施形態に関して図示し、説明してきたが、添付の特許請求の範囲に包含される本発明の範囲から逸脱することなく、形態および細部においてさまざまな変更が可能であることは、当業者には理解されるであろう。
【図面の簡単な説明】
【００８３】
【図１】本発明が実装される一般的な情報技術（ＩＴ）システム環境を示す図である。
【図２】アプリケーションにおいて使用されるエージェントをいかにキーボードまたは他のイベントの検出ならびにアプリケーション・プロファイラによって生成されたアプリケーション・プロファイルによる解釈に使用できるのかを示す図である。
【図３】アプリケーション・プロファイラのさらに詳しい説明の図である。
【図４】アプリケーション制御のアーキテクチャ、および入力装置プロファイルの例を示す図である。
【図５】アプリケーション・プログラミング・インターフェイス（ＡＰＩ）モニタを示す図である。
【図６】ネットワーク・プロトコル・アナライザが本発明の一部分の実装に使用できることを説明している図である。
【図７】ＨＩＰＡＡ遵守のための規則の例を示す図である。
【図８】ＨＩＰＡＡ遵守のための規則の他の例を示す図である。
【図９】ＩＢＭ３２７０金融アプリケーションのスクリーンショットの図である。
【図１０Ａ】図９のスクリーンのプロファイル・ファイルの一部を示す図である。
【図１０Ｂ】図９のスクリーンのプロファイル・ファイルの一部を示す図であり、図１０Ａに続く部分である。
【図１０Ｃ】図９のスクリーンのプロファイル・ファイルの一部を示す図であり、図１０Ｂに続く部分である。
【図１１】ファット・クライアント・アプリケーションの特徴付けるためにアプリケーション・プロファイラを使用する例の図である。
【図１２】ファット・クライアント・アプリケーションの特徴付けるためにアプリケーション・プロファイラを使用する例の図である。
【図１３】図１１および図１２と同一のアプリケーションのログイン・スクリーンについてのプロファイリング・プロセスを示す図である。
【図１４】アプリケーション・アクセス・レポートの例を示す図である。
【図１５】データ・アクセス・レポートの例を示す図である。
【図１６】フォーム・ベクトル・フィールド値を示す図である。
【図１】
2008522282.tif 000003
【図２】
2008522282.tif 000004
【図３】
2008522282.tif 000005
【図４】
2008522282.tif 000006
【図５】
2008522282.tif 000007
【図６】
2008522282.tif 000008
【図７】
2008522282.tif 000009
【図８】
2008522282.tif 000010
【図９】
2008522282.tif 000011
【図１０Ａ】
2008522282.tif 000012
【図１０Ｂ】
2008522282.tif 000013
【図１０Ｃ】
2008522282.tif 000014
【図１１】
2008522282.tif 000015
【図１２】
2008522282.tif 000016
【図１３】
2008522282.tif 000017
【図１４】
2008522282.tif 000018
【図１５】
2008522282.tif 000019
【図１６】
2008522282.tif 000020
【国際調査報告】
2008522282.tif 000021