JP5758544B2 - 画面情報収集計算機、画面情報収集方法及び計算機読み取り可能な記憶媒体 - Google Patents

画面情報収集計算機、画面情報収集方法及び計算機読み取り可能な記憶媒体 Download PDF

Info

Publication number
JP5758544B2
JP5758544B2 JP2014521099A JP2014521099A JP5758544B2 JP 5758544 B2 JP5758544 B2 JP 5758544B2 JP 2014521099 A JP2014521099 A JP 2014521099A JP 2014521099 A JP2014521099 A JP 2014521099A JP 5758544 B2 JP5758544 B2 JP 5758544B2
Authority
JP
Japan
Prior art keywords
screen
client
information
screen information
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014521099A
Other languages
English (en)
Other versions
JPWO2013190607A1 (ja
Inventor
孝之 村岡
孝之 村岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP5758544B2 publication Critical patent/JP5758544B2/ja
Publication of JPWO2013190607A1 publication Critical patent/JPWO2013190607A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、クライアント計算機からクライアント画面情報を収集する画面情報収集計算機等に関する。
社会インフラ及び企業の基幹業務に関わる様々なサービスが、インターネット又はイントラネットでWebアプリケーションとして提供されることは一般的であり、Webアプリケーションのシステムトラブルへの速やかな原因の究明、及びシステムトラブルへの速やかな対処が求められている。一方、Webアプリケーションを実現する仕組みの高度化及び複雑化は日々進んでおり、システムトラブルの原因究明の難易度は高まる傾向にある。さらに、昨今のスマートフォンなどのモバイルデバイス環境の隆盛によって、システムトラブルの原因究明の難易度はさらに高まると予想される。
Webアプリケーションでは、クライアントに表示させる画面情報をサーバで生成し、サーバは生成した画面情報をクライアントに送信する。このため、サーバが画面情報を送信した直後にクライアントが表示する画面はサーバによって保持されているので、サーバの管理者はこの画面を容易に確認できる。クライアントが表示する画面は、クライアントが受け付けたユーザの操作によって変化する。
システムトラブルの原因究明のためのアプリケーションの挙動解析では、クライアントが受け付けたユーザの操作を反映した画面情報が必要となる場合が多い。サーバは、画面情報をクライアントに表示させるために生成する画面スクリプトに画面情報を取得する処理を埋め込むことによって、クライアントに表示された画面情報を取得できる。しかし、画面情報のデータ量は一般に大きいため、サーバの記憶容量に量的な制約があることから、サーバが適切なタイミングでクライアントに表示された画面情報を取得することが必要とされる。
この画面情報の取得技術として、特開2011−76152号公報(特許文献1)がある。この公報には、「WebブラウザにWebアプリケーションが提供する画面のうち画面上で目視確認が必要な項目の表示内容をキャプチャするキャプチャシステムであって、テストケース毎に画面上で確認が必要な項目と確認内容を定義したチェックリストを解析する解析手段と、Webアプリケーションが提供する画面のうち前記解析手段の解析結果に従い前記チェックリストに定義された特定の項目のみをキャプチャし、画像ファイルに格納するキャプチャ取得手段と、取得した画像ファイルと確認内容とを紐付けて確認画面ファイルを生成するキャプチャ取得結果生成手段と、前記キャプチャ取得結果生成手段で生成した確認画面ファイルの内容を表示するキャプチャ取得結果表示手段を備えること特徴とする。」と記載されている(要約参照)。
特開2011−76152号公報
しかし、サーバの画面情報取得タイミングは、各Webアプリケーションの実装及びWebアプリケーションを運用するシステムの状態遷移に依存するので、管理者が画面情報取得タイミングを決定するには、Webアプリケーションに対する技術的な知識やノウハウが必要となる。
さらに、画面情報取得タイミングはWebアプリケーションの使われ方にも依存するので、Webアプリケーションの開発時に管理者が画面情報取得タイミングを決定することは困難である。
特許文献1では、チェックリストに定義された特定の項目をキャプチャすることが開示されているのみで、画像情報の取得タイミングについては開示されておらず、上述した課題を解決できない。
本発明はこれらの課題に鑑みてなされたものであり、本発明の目的は、クライアントに表示された画像情報の最適な取得タイミングを自動的に決定する計算機を提供することである。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、表示したクライアント画面におけるユーザの操作を受け付けるクライアント計算機から、前記クライアント画面の情報であるクライアント画面情報を収集する画面情報収集計算機において、前記クライアント計算機から前記クライアント画面情報を収集するクライアント画面情報収集部と、前記クライアント画面におけるユーザの操作を特定可能な情報を示す操作情報を収集する操作情報収集部と、前記クライアント画面におけるユーザの操作のうち、前記クライアント画面情報収集部が前記クライアント画面情報を収集するタイミングとなるトリガ操作を決定するトリガ操作決定部と、を有し、前記トリガ操作決定部は、前記クライアント計算機に表示されるクライアント画面情報及び前記操作情報に基づいて、前記トリガ操作を決定することを特徴とする。
本発明の一態様によれば、クライアントに表示された画像情報の最適な取得タイミングを自動的に決定する計算機を提供できる。
本発明の実施例の概略の説明図である。 本発明の実施例の概略を示す第1シーケンス図である。 本発明の実施例の概略を示す第2シーケンス図である。 本発明の実施例のクライアントPCの機能ブロック図である。 本発明の実施例のサーバの機能ブロック図である。 本発明の実施例の情報処理システムによる全体処理のフローチャートである。 本発明の実施例の画面スクリプト記録部によって記録された画面スクリプトの説明図である。 本発明の実施例の操作履歴の説明図である。 本発明の実施例のログの説明図である。 本発明の実施例のトリガ操作特定情報の説明図である。 本発明の実施例のトリガ抽出ポリシの説明図である。 本発明の実施例のサーバが特定の画面スクリプトを生成したことによって実行されるトリガ抽出処理の説明図である。 本発明の実施例のクライアントPCが特定画面でトリガ抽出操作を受け付けた場合に実行されるトリガ抽出処理の説明図である。 本発明の実施例の本発明の実施例のサーバが特定のログを出力したことによって実行されるトリガ抽出処理の説明図である。 本発明の実施例のサーバが特定の画面スクリプトを生成したことによって実行されるトリガ抽出処理の具体的な説明図である。 本発明の実施例のトリガ取得処理の具体的な説明図である。 本発明の実施例のクライアントPCが特定画面でトリガ抽出操作を受け付けた場合に実行されるトリガ抽出処理の具体例の説明図である。 本発明の実施例のサーバが特定のログを出力したことによって実行されるトリガ抽出処理の具体例の説明図である。 本発明の実施例のトリガ抽出方式aの概略の説明図である。 本発明の実施例のトリガ抽出方式bの概略の説明図である。 本発明の実施例のトリガ抽出ポリシ設定画面の説明図である。 本発明の実施例のトリガ抽出ポリシ設定画面の説明図である。 本発明の実施例のトリガ抽出処理の全体のフローチャートである。 本発明の実施例のトリガ抽出方式aによるトリガ抽出処理のフローチャートである。 本発明の実施例のトリガ抽出方式bによるトリガ抽出処理のフローチャートである。 本発明の実施例のトリガ操作表示画面の説明図である。 本発明の実施例のクライアント画面情報表示画面の説明図である。
本発明の実施例を図1〜図27を用いて説明する。
まず、本実施例の概略について図1〜図3を用いて説明する。
図1は、本発明の実施例の概略の説明図である。
本実施例の情報処理システムは、クライアント計算機(PC)10、業務Webサーバ20及びログ記録・再生サーバ40を備える。クライアントPC10、業務Webサーバ20及びログ記録・再生サーバ40は、ネットワーク80を介して接続される。
クライアントPC10は、業務Webサーバ20から送信された画面スクリプトを実行し、クライアント画面を表示し、表示されたクライアント画面を介してユーザの入力を受け付ける。クライアントPC10は、クライアント画面で所定のボタンが操作された場合、リクエストを業務Webサーバ20に送信する。また、クライアントPC10は、クライアント画面及びクライアント画面における操作内容を示す操作情報をログ記録・再生サーバ40に送信する。
業務Webサーバ20は、クライアントPC10によって送信されたリクエストを受信し、リクエストに対応する処理を実行し、実行結果に応じたクライアント画面をクライアントPC10に表示させるための画面スクリプトを生成し、生成した画面スクリプトをクライアントPC10に送信する。
ログ記録・再生サーバ40は、クライアントPC10から送信されたクライアント画面情報及び操作情報を記録し、記録したクライアント画面情報及び操作情報を表示する。
図1では、クライアントPC10は、旅費精算システムの業務アプリケーションを実行しており、クライアント画面として旅費精算システム画面50を表示している。ユーザは旅費精算システムのクライアント画面を操作し、旅費精算システム画面50の各入力項目(精算日、国内外、出国日、輸出管理及び出張先など)に情報を入力し、クライアントPC10はこのユーザの入力操作を受け付ける。この入力操作中にエラーが発生した場合、クライアントPC10はクライアント画面として、問い合わせボタン61を含むエラー画面60を表示する。
クライアントPC10は、エラー画面60においてユーザによる問い合わせボタン61の押下操作を受け付けた場合、現在表示中のエラー画面60をクライアント画面情報としてログ記録・再生サーバ40に送信する。
ログ記録・再生サーバ40は、エラー画面60のクライアント画面情報を受信した場合、受信したエラー画面60の情報を記録し、オペレータが管理するオペレータ端末70にエラーが発生した旨を通知する。
オペレータ端末70は、オペレータの操作によって、エラーが発生したクライアントPC10で現在表示され、ログ記録・再生サーバ40に記録されたエラー画面60を表示する。ここで、エラー発生の原因は、旅費精算システム画面50における入力操作であるので、オペレータが知りたい情報は、エラー画面60に存在せず、旅費精算システム画面50に存在する。このため、オペレータは、旅費精算システム画面50でのユーザの操作内容の説明をユーザに求める必要があるが、ユーザが操作内容を説明することは困難である。
本実施例では、ログ記録・再生サーバ40は、記録されたクライアント画面情報、操作情報等に基づいて、クライアント画面情報をクライアントPC10にログ記録・再生サーバ40に送信させるタイミングとなるユーザの操作(トリガ操作)を決定する。ログ記録・再生サーバ40は、記録されたクライアント画面情報及び操作情報に基づいて、業務Webサーバ20及びクライアントPC10で特定状態(例えば、エラー等)の原因となる可能性が高い操作をトリガ操作として決定する。ログ記録・再生サーバ40は、クライアントPC10がトリガ操作を受け付けた場合にクライアントPC10に表示されているクライアント画面を取得する。
例えば、図1では、トリガ操作が旅費精算システム画面50で「出国日」の項目の入力操作に決定されていたとすると、クライアントPC10は、旅費精算システム画面50で「出国日」の項目の入力操作を受け付けた場合、当該入力操作を反映した旅費精算システム画面50の情報をクライアント画面情報としてログ記録・再生サーバ40に送信する。ログ記録・再生サーバ40は、「出国日」の項目の入力操作を反映した旅費精算システム画面50の情報を取得できるので、オペレータが知りたいクライアント画面をオペレータ端末70に表示できる。これによって、オペレータは、エラーの原因を速やかに究明でき、ユーザを的確にサポートできる。
また、ログ記録・再生サーバ40は、特定状態の原因となる可能性が高いトリガ操作を受け付けた場合のクライアント画面情報を記録するので、クライアント画面情報を記録するための記録容量を削減できる。また、ログ記録・再生サーバ40は、クライアント画面情報及び操作情報に基づいてトリガ操作を自動的に決定するため、Webアプリケーションに対する技術的な知識やノウハウが管理者に必要とされない。さらに、ログ記録・再生サーバ40にはトリガ操作が予め設定されているのではなく、ログ記録・再生サーバ40は、所定のタイミングでクライアント画面情報及び操作情報に基づいてトリガ操作を決定するので、Webアプリケーションの使われ方に応じてトリガ操作を決定できる。
なお、図1では、業務Webサーバ20の機能とログ記録・再生サーバ40の機能とは、一台の計算機に実装されていてもよく、以降の説明では、説明を簡単するために、業務Webサーバ20の機能とログ記録・再生サーバ40の機能とを有する計算機をサーバ90(例えば、図2参照)として説明するが、本発明はこれに限定されない。
図2は、本発明の実施例の概略を示す第1シーケンス図である。
図2では、本実施例を情報処理システムに適用した場合にサーバ90側でエラーが発生するケースについて説明する。
クライアントPC10でブラウザ11が起動され、所定のクライアント画面がクライアントPC10に表示されており、サーバ90はアプリケーション91を実行しているものとする。
クライアントPC10は、クライアント画面におけるユーザの所定の操作を受け付けた場合(201)、リクエストをサーバ90に送信する(202)。このリクエストには、サーバ90が業務を提供するために実行するアプリケーション91の動作に必要なデータが含まれる。例えば、クライアントPC10がリクエストを送信する所定の操作は、クライアント画面がログイン画面である場合におけるログインボタンの操作がある。この場合、クライアントPC10は、ユーザが入力したユーザID及びパスワードを含むログインリクエストをサーバ90に送信する。
サーバ90がステップ201の処理でクライアントPC10から送信されたリクエストを受信した場合、サーバ90によって実行されるアプリケーション91は、受信したリクエストのACKをクライアントPC10に送信する(203)。そして、アプリケーション91は、受信したリクエストに対応する処理を実行し、処理結果に応じたクライアント画面をクライアントPC10に表示させるための画面スクリプトを生成し、生成した画面スクリプトをクライアントPC10に送信する(204)。アプリケーション91が生成する画面スクリプトは、ブラウザ11が解釈可能な言語(例えばHTML)で記述される。
クライアントPC10がステップ204の処理でサーバ90から送信された画面スクリプトを受信した場合、ブラウザ11は、受信した画面スクリプトを実行して、受信した画面スクリプトに対応するクライアント画面を表示する。これによって、クライアントPC10に最初に表示されていたクライアント画面からステップ204の処理で送信された画面スクリプトに対応するクライアント画面に遷移する。
次に、ブラウザ11は、表示中のクライアント画面におけるユーザの操作を受け付けると(205)、受け付けたユーザの操作を操作ログとして記憶し、受け付けたユーザの操作に基づいてクライアント画面を変化させる。
ブラウザ11は、表示中のクライアント画面で所定の操作を受け付けると(206)、リクエストをサーバ90に送信する(207)。
サーバ90がステップ207の処理でクライアントPC10から送信されたリクエストを受信した場合、アプリケーション91は、受信したリクエストに対応するACKをクライアントPC10に送信し(208)、受信したリクエストに対応する処理を実行する。図2では、アプリケーション91で当該処理の実行中にエラーが発生するとする。
この場合、アプリケーション91は、エラー画面をクライアントPC10に表示させるための画面スクリプトを生成し、生成した画面スクリプトをクライアントPC10に送信する(209)。
クライアントPC10がステップ209の処理でサーバ90から送信された画面スクリプトを受信した場合、ブラウザ11は、エラー画面をクライアント画面として表示する。そして、クライアントPC10のユーザは、エラー画面を見て、エラーが発生したことを認識し、エラー画面にヘルプデスクに問い合わせる(210)。
クライアントPC10は、ステップ202及び207の処理でリクエストを送信する場合に、アプリケーション91の動作に必要なデータしか送信していないので、サーバ90にはエラーの原因となる操作や及び当該操作時のクライアント画面情報が記憶されていない。したがって、サーバ90は、ヘルプデスクのオペレータが知りたい画面を表示することができない。
本実施例では、例えば、ステップ206の処理でクライアントPC10が受け付けた操作がトリガ操作として決定されている場合、クライアントPC10は、ステップ206の処理でトリガ操作を受け付けると、クライアント画面情報及び操作ログをサーバ90に送信する。これによって、サーバ90は、ヘルプデスクのオペレータが知りたい画面を取得することができる。
なお、図2に示すサーバ90は、アプリケーション91でエラーが発生して、エラー発生画面をクライアントPC10に表示させる画面スクリプトを生成した場合に、これまでに取得したクライアント画面情報及び操作情報(具体的には、クライアント画面情報、操作情報及び(後述する)画面スクリプトテーブル520)に基づいて、トリガ操作を決定する。
図3は、本発明の実施例の概略を示す第2シーケンス図である。
図3では、本実施例を情報処理システムに適用した場合にクライアントPC10側でエラーが発生するケースについて説明する。図3に示す処理のうち、図2に示す処理と同じ処理は同じ符号を付与し、説明を省略する。
クライアントPC10のブラウザ11は、ステップ205の処理でユーザの操作を受け付けた後にさらにユーザの操作を受け付ける(301)。そして、ステップ301の処理で受け付けた操作が原因となるエラーがブラウザ11で発生した場合、ブラウザ11はエラー画面を表示する(302)。ブラウザ11は、エラーが発生した場合、現在表示中のエラー画面の情報であるクライアント画面情報及び操作ログをサーバ90に送信する(303)。
サーバ90には、図2と同様に、エラーの原因となる操作や及び当該操作時のクライアント画面情報が記憶されていなため、サーバ90は、ヘルプデスクのオペレータが知りたい画面を表示することができない。
本実施例では、例えば、ステップ301の処理でクライアントPC10が受け付けた操作がトリガ操作として決定されている場合、クライアントPC10は、ステップ301の処理でトリガ操作を受け付けると、クライアント画面情報及び操作ログをサーバ90に送信する。これによって、サーバ90は、ヘルプデスクのオペレータが知りたい画面を取得することができる。
なお、図3に示すサーバ90は、クライアントPC10からエラー画面の情報であるクライアント画面情報を受信した場合、これまでに取得したクライアント画面情報、操作情報及び画面スクリプトテーブル520に基づいて、トリガ操作を決定する。
次に、本実施例の情報処理システムの構成について図4及び図5を用いて説明する。
図4は、本発明の実施例のクライアントPC10の機能ブロック図である。
クライアントPC10は、Webアプリケーション実行部(ブラウザ)11及び通信部12を備える。Webアプリケーション実行部11は、サーバ90によって送信された画面スクリプト500を実行することによってクライアント画面を生成し、生成したクライアント画面を表示する。また、Webアプリケーション実行部11は、クライアント画面におけるユーザの操作を受け付ける。通信部12は、クライアントPC10をネットワーク80に接続するためのインタフェースである。
Webアプリケーション実行部11の詳細について説明する。
Webアプリケーション実行部11は、操作受付部111、画面スクリプト受付・更新部112、画面スクリプト実行部113及び画面情報生成表示部114を有する。
操作受付部111は、クライアントPC10によって表示されたクライアント画面におけるユーザの操作を受け付ける。画面スクリプト受付・更新部112は、通信部12が受信した画面スクリプト500を受け付け、実行対象の画面スクリプトを受け付けた画面スクリプト500に更新する。画面スクリプト実行部113は、画面スクリプト500を実行する。画面情報生成表示部114は、画面スクリプト実行部113による画面スクリプト500の実行結果に基づいてクライアント画面情報13を生成し、生成したクライアント画面情報13をクライアント画面として表示する。
次に、画面スクリプト500の詳細について説明する。
画面スクリプト500は、サーバ90がクライアントPC10に提供する業務に関連するスクリプトである業務部501と、クライアントPC10がトリガ操作を受け付けた場合にクライアント画面情報13及び操作履歴14をサーバ90に送信するクライアント画面情報送信部510(図5参照)と、を含む。
クライアント画面情報送信部510は、操作情報記録部511、操作イベント判定部512、画面情報記録部513、ヘルプデスク問合せ部514、データ送信部515及びトリガ操作特定情報516を有する。
操作情報記録部511は、操作受付部111が受け付けたユーザの操作を取得し、取得したユーザの操作を操作履歴14として、クライアントPC10の図示しない記憶領域に記録する。操作イベント判定部512は、トリガ操作特定情報516を参照し、操作情報記録部511が取得したユーザの操作がトリガ操作特定情報516によって特定されるトリガ操作であるか否かを判定する。画面情報記録部513は、操作イベント判定部512によってユーザの操作がトリガ操作であると判定された場合、画面情報生成表示部114が生成したクライアント画面情報13を取得し、取得したクライアント画面情報13を、クライアントPC10の図示しない記憶領域に記録する。ヘルプデスク問合せ部514は、クライアント画面に含まれるヘルプデスク問合せボタンのユーザによる押下操作を受け付けた場合、画面情報記録部513にクライアント画面情報13を取得させ、クライアントPC10とヘルプデスクに配置されたオペレータ端末70とを接続する。データ送信部515は、操作イベント判定部512によってユーザの操作がトリガ操作であると判定された場合、操作履歴14からユーザが当該トリガ操作をしたクライアント画面におけるユーザの操作履歴14を取得し、当該クライアント画面情報13及び取得した操作履歴14をサーバ90に送信する。
図5は、本発明の実施例のサーバ90の機能ブロック図である。
サーバ90は、Webアプリケーション実行部21、通信部22、ID生成部23及びクライアント画面情報収集部400を有する。
Webアプリケーション実行部21は、通信部22がクライアントPC10から送信されたリクエストを受信した場合、受信したリクエストに応じてアプリケーション91を実行し、画面スクリプト500を生成し、生成した画面スクリプト500をクライアントPC10に送信する。通信部22は、サーバ90をネットワーク80に接続するためのインタフェースである。
ID生成部23は、クライアントPC10から収集されたクライアント画面情報13及び操作履歴14、並びにWebアプリケーション実行部21によって出力されるログ24を関連付けるために、画面スクリプト500の識別情報(ID)を生成し、生成したIDを画面スクリプト生成部213によって生成された画面スクリプト500に付与する。クライアント画面情報収集部400は、クライアントPC10からクライアント画面情報13及び操作履歴14を収集し、クライアントPC10及びサーバ90の状態が特定状態となった場合にトリガ操作を決定する。
Webアプリケーション実行部21の詳細について説明する。
Webアプリケーション実行部21は、リクエスト受付部211、リクエスト処理部212、画面スクリプト生成部213及び画面スクリプト送信部214を有する。リクエスト受付部211は、通信部22が受信したクライアントPC10からのリクエストを受け付ける。リクエスト処理部212は、リクエスト受付部211が受け付けたリクエストに応じてアプリケーション91を実行することによって、リクエストに対応する処理を実行する。また、リクエスト処理部212は自身の動作をログ24として出力し、出力されたログ24はサーバ90のログテーブル240に記録される。ログテーブル240の詳細は図9で説明する。
画面スクリプト生成部213は、リクエスト処理部212による処理結果に基づいて、画面スクリプト500の業務部501を生成する。画面スクリプト送信部214は、画面スクリプト生成部213によって生成された画面スクリプト500にスクリプト挿入部42によってクライアント画面情報送信部510が挿入された画面スクリプト500をクライアントPC10に送信する。
次に、クライアント画面情報収集部400の詳細について説明する。
クライアント画面情報収集部400は、画面スクリプト記録部41、スクリプト挿入部42、データ受付・記録部43、トリガ抽出部44、トリガ抽出ポリシ設定部47、画面スクリプトテーブル520、クライアント画面情報テーブル130、操作履歴テーブル140、トリガ操作特定情報テーブル5160及びトリガ抽出ポリシテーブルを有する。
画面スクリプト記録部41は、画面スクリプト記録部41によって生成された画面スクリプト500を画面スクリプトテーブル520に記録する。画面スクリプトテーブル520の詳細は図7で説明する。スクリプト挿入部42は、画面スクリプト生成部213によって生成された画面スクリプト500にクライアント画面情報送信部510を挿入する。Webアプリケーション実行部21の画面スクリプト送信部214は、スクリプト挿入部42によってクライアント画面情報送信部510が挿入された画面スクリプト500をクライアントPC10に送信する。
データ受付・記録部43は、通信部22が受信したクライアントPC10からのクライアント画面情報13及び操作履歴14を受け付け、受け付けたクライアント画面情報13をクライアント画面情報テーブル130に記録し、受け付けた操作履歴14を操作履歴テーブル140に記録する。操作履歴テーブル140の詳細は図8で説明する。
トリガ抽出部44は、クライアントPC10及びサーバ90の少なくとも一方が特定状態となったことを検出すると、トリガ抽出ポリシテーブル48に従って、新たなトリガ操作を決定する。トリガ抽出ポリシ設定部47は、ユーザによって入力されたトリガ抽出ポリシをトリガ抽出ポリシテーブル48に登録する。トリガ抽出ポリシテーブル48には、トリガ抽出部44が新たなトリガ操作を決定するためのポリシが登録される。
なお、図5では、Webアプリケーション実行部21とクライアント画面情報収集部400とが同一のサーバ90に実装される例について説明したが、図1で説明したように、Webアプリケーション実行部21とクライアント画面情報収集部400とが別の計算機に実装されてもよい。
図6は、本発明の実施例の情報処理システムによる全体処理のフローチャートである。
図6に示す実線矢印は処理の流れを示し、点線矢印はデータの送信先を示し、一点鎖線は参照先のデータを示す。
クライアントPC10による処理について説明する。
まず、クライアントPC10の画面スクリプト受付・更新部112は、サーバ90によって送信された画面スクリプト500を受け付ける(601)。そして、画面スクリプト実行部113は受け付けた画面スクリプト500を実行し、画面情報生成表示部114がクライアント画面情報13を生成し、生成したクライアント画面情報13のクライアント画面を表示する(602)。
次に、表示されたクライアント画面にユーザが操作を入力すると、操作受付部111がユーザの操作を受け付け(603)、画面スクリプト500の操作情報記録部511は、操作受付部111が受け付けたユーザの操作を操作履歴14として記録する(604)。そして、画面スクリプト500の操作イベント判定部512は、操作受付部111が受け付けたユーザの操作が、画面スクリプト500に含まれるトリガ操作特定情報516によって特定されるトリガ操作であるか否かを判定する(605)。
ステップ605の処理で、ユーザの操作がトリガ操作であると判定された場合、画面スクリプト500の画面情報記録部513は、画面情報生成表示部114によって生成されたクライアント画面情報13を取得し(606)、データ送信部515は、画面情報記録部513が取得したクライアント画面情報13をサーバ90に送信し(607)、ステップ608の処理に進む。一方、ステップ605の処理で、ユーザの操作がトリガ操作でないと判定された場合、ステップ606及び607の処理を実行せずに、ステップ608の処理に進む。
次に、クライアントPC10は、操作受付部111が受け付けたユーザの操作がリクエストをサーバ90に送信する操作として予め設定された操作(リクエスト送信操作)であるか否かを判定する(608)。
ステップ608の処理で、ユーザの操作がリクエスト送信操作でないと判定された場合、画面情報生成表示部114は、操作受付部111が受け付けたユーザの操作をクライアント画面に反映するようにクライアント画面情報13を更新し(609)、ステップ603の処理に戻る。
一方、ステップ608の処理で、ユーザの操作がリクエスト送信操作であると判定された場合、データ送信部515は、リクエスト送信操作がなされたクライアント画面情報13に対応する操作履歴14をサーバ90に送信し(610)、リクエスト送信操作に対応するリクエストをサーバ90に送信し(611)、ステップ601の処理に戻る。
次に、サーバ90による処理について説明する。
サーバ90は、リクエスト受付部211がクライアントPC10から送信されたリクエストを受け付けるまで処理を待機する(621)。リクエスト受付部211がリクエストを受け付けた場合、リクエスト処理部212は、受け付けたリクエストに対応するアプリケーション91を実行し(622)、自身の動作を示すログ24を出力する(623)。出力されたログ24はログテーブル240に記録される。次に、ID生成部23が画面スクリプト500に付与するIDを生成し(624)、画面スクリプト生成部213が、リクエスト処理部212の処理結果に基づいて画面スクリプト500を生成する(625)。クライアント画面情報収集部400の画面スクリプト記録部41は、画面スクリプト生成部213が生成した画面スクリプト500を画面スクリプトテーブル520に記録する(626)。そして、クライアント画面情報収集部400のスクリプト挿入部42は、画面スクリプト記録部41が記録した画面スクリプト500にクライアント画面情報送信部510を挿入し(627)、画面スクリプト送信部214が、業務部501及びクライアント画面情報送信部510を含む画面スクリプト500をクライアントPC10に送信する(628)。
また、クライアント画面情報収集部400のトリガ抽出部44は、ログテーブル240、画面スクリプトテーブル520及び操作履歴テーブル140を参照し、クライアントPC10及びサーバ90が特定状態となったか否かを監視する(631)。そして、トリガ抽出部44は、クライアントPC10及びサーバ90が特定状態となった場合、クライアント画面情報13や操作履歴14を参照し、新たなトリガ操作を決定し(632)、ステップ631の処理に戻る。
また、クライアント画面情報収集部400のデータ受付・記録部43は、ステップ607及び610の処理でクライアントPC10から送信されたクライアント画面情報13及び操作履歴14を受け付ける(641)。そして、データ受付・記録部43は、受け付けたクライアント画面情報13をクライアント画面情報テーブル130に記録し、受け付けた操作履歴14を操作履歴テーブル140に記録する(642)。
図7は、本発明の実施例の画面スクリプトテーブル520の説明図である。
画面スクリプトテーブル520は、生成時刻701、ID702、画面URL703、スクリプト704及び前画面ID705を含む。
生成時刻701には、画面スクリプト500が生成された時刻が登録される。ID702には、ID生成部23によって画面スクリプト500に付与されたIDが登録される。画面URL703には、アクセス先のURLが登録される。画面URL703に登録されたURLが同じ画面スクリプト500は同じクライアント画面を生成する。スクリプト704には、画面スクリプト500の内容が登録される。前画面ID705には、当該画面スクリプト500の直前の画面スクリプト500に付与されたIDが登録される。
図8は、本発明の実施例の操作履歴テーブル140の説明図である。
操作履歴テーブル140は、発生時刻801、ID802、画面URL803、操作イベント804及び付随情報805を含む。
発生時刻801には、クライアントPC10の操作受付部111がユーザ操作を受け付けた時刻が登録される。ID802には、操作受付部111がユーザ操作を受け付けた場合に実行中の画面スクリプト500に付与されたIDが登録される。画面URL803には、ID802に登録されたIDによって識別される画面スクリプト500のアクセス先のURLが登録される。操作イベント804には、操作受付部111が受け付けたユーザ操作の種別が登録される。付随情報805には、操作受付部111が受け付けたユーザ操作に付随する情報が登録される。例えば、操作イベント804に「マウス移動」が登録されたレコードの付随情報805にはマウスが移動した座標が登録され、操作イベント804に「ボタン押下」が登録されたレコードの付随情報805には、操作されたボタンの種別が登録される。
図9は、本発明の実施例のログテーブル240の説明図である。
ログテーブル240は、発生時刻901、ID902、イベント903及び付随情報904を含む。
発生時刻901には、ログ24がリクエスト処理部212から出力された時刻が登録される。ID902には、リクエスト処理部212がログ24を出力した場合にリクエスト処理部212で実行中の処理に対応するリクエストに含まれる画面スクリプト500のIDが登録される。なお、クライアントPC10は、リクエストを送信する場合、実行中の画面スクリプト500のID及び画面URLを含めてリクエストを送信する。
イベント903には、リクエスト処理部212がログ24を出力した場合にリクエスト処理部212で実行中の処理の種別が登録される。付随情報904には、リクエスト処理部212がログ24を出力した場合にリクエスト処理部212で実行中の処理に対応するリクエストに含まれる画面URL等が登録される。
図10は、本発明の実施例のトリガ操作特定情報テーブル5160の説明図である。
トリガ操作特定情報テーブル5160は、画面URL1001、操作イベント1002及び付随情報1003を含む。
画面URL1001には、画面スクリプト500のアクセス先のURLが登録される。操作イベント1002には、トリガ操作となる操作の種別が登録される。付随情報1003には、トリガ操作に付随する情報が登録される。例えば、操作イベント1002に「ボタン押下」が登録されたレコードの付随情報1003には操作されるボタンの種別が登録される。
図11は、本発明の実施例のトリガ抽出ポリシテーブル48の説明図である。
トリガ抽出ポリシテーブル48は、種別1101、画面URL/イベント1102、検索範囲1103及び抽出方法1104を含む。
種別1101には、トリガ抽出部44によるトリガ抽出処理の実行が開始されるタイミングの種別が登録される。画面URL/イベント1102には、トリガ抽出部44によるトリガ抽出処理の実行が開始されるユーザの操作(トリガ抽出操作)がされた場合にクライアントPC10で実行中の画面スクリプト500の画面URL、又は、リクエスト処理部212がログ24を出力した場合にリクエスト処理部212で実行中の処理の種別が登録される。検索範囲1103には、トリガ操作を決定する場合に取得するクライアント画面情報13の検索範囲が登録される。抽出方法1104には、トリガ操作を決定するためのトリガ抽出方式の種類及び当該トリガ抽出方式に用いる閾値が登録される。なお、本実施例のトリガ抽出方式にはトリガ抽出方式a及びトリガ抽出方式bがあり、詳細は図19、図20、図24及び図25で説明する。
次に、トリガ抽出部44によるトリガ抽出処理の実行開始タイミングについて図12〜図14を用いて説明する。トリガ抽出処理の実行開始タイミングは、トリガ抽出部44がクライアントPC10及びサーバ90の少なくとも一方が特定状態となったことを検出したタイミングである。例えば、クライアントPC10の特定状態とはクライアントPC10が特定画面でトリガ抽出操作を受け付けた場合であり(図13参照)、サーバ90の特定状態とは、サーバ90が特定画面を表示させるための特定の画面スクリプト500を生成した場合(図12参照)、又はサーバ90が特定のログ24を出力した場合(図14参照)である。
図12は、本発明の実施例のサーバ90が特定の画面スクリプト500を生成したことによって実行されるトリガ抽出処理の説明図である。
まず、サーバ90のリクエスト処理部212は、アプリケーション91を起動させ、アプリケーション91の処理を開始する(1201)。次に、クライアントPC10の操作受付部111が特定のユーザ操作を受け付けた場合、クライアントPC10は、リクエストをサーバ90に送信する(1202)。特定のユーザ操作は、例えば、ブラウザ11上でのアプリケーション91へのリンクのクリック操作及びブラウザ11上でのアプリケーション91のURLの入力操作等がある。
サーバ90のリクエスト受付部211がクライアントPC10から送信されたリクエストを受け付けた場合、リクエスト処理部212が受け付けたリクエストに対応する処理を実行し(1203)、当該実行結果に基づいて画面スクリプト500を生成し(1204)、生成した画面スクリプト500をクライアントPC10に送信する。
このように、サーバ90は、クライアントPC10からのリクエストに応じてアプリケーション91を実行し、実行結果に基づいて画面スクリプト500を生成する処理を繰り返し実行する。
これらの処理の実行中にエラーが発生した場合、画面スクリプト生成部213は、エラー画面をクライアント画面として表示させるための画面スクリプト500を生成する(1205)。エラー画面の画面スクリプト500の生成がトリガ抽出ポリシテーブル48に登録されているので、トリガ抽出部44は、特定画面を検知し、サーバ90が特定状態となったことを検出し(1206)、トリガ抽出処理を実行する(1207)。このトリガ抽出処理では「xxx画面におけるaaa操作」がトリガ操作として抽出されるものとする。
ステップ1207の処理でトリガ抽出処理の実行後、サーバ90は、クライアントPC10からのリクエストに応じた処理の実行結果に基づく画面スクリプト500の生成処理を繰り返し実行する。
そして、画面スクリプト生成部213がxxx画面を表示させる画面スクリプト500を生成した場合(1208)、スクリプト挿入部42が、「xxx画面におけるaaa操作」を示すトリガ操作特定情報を含むクライアント画面情報送信部510を、ステップ1208の処理で生成された画面スクリプト500に挿入し(1209)、当該画面スクリプト500をクライアントPC10に送信する(1210)。
クライアントPC10は、ステップ1210の処理で送信された画面スクリプト500を受信した場合、画面スクリプト500を実行し、xxx画面をクライアント画面として表示する(1211)。そして、xxx画面の表示中に操作受付部111がaaa操作を受け付けた場合(1212)、表示中のクライアント画面のクライアント画面情報13を取得し、取得したクライアント画面情報13をサーバ90に送信する(1213)。
サーバ90は、クライアント画面情報13を受信した場合、受信したクライアント画面情報13をクライアント画面情報テーブル130記憶する(1214)。
以上によって、トリガ抽出部44は、画面スクリプト生成部213がエラー画面を表示させる画面スクリプト500を生成した場合、サーバ90が特定状態になったと判定し、新たなトリガ操作を決定する。
図13は、本発明の実施例のクライアントPC10が特定画面でトリガ抽出操作を受け付けた場合に実行されるトリガ抽出処理の説明図である。なお、図13に示す処理のうち、図12に示す処理と同じ処理は、同じ符号を付与し、説明を省略する。
サーバ90は、ステップ1204の処理で生成された画面スクリプト500をクライアントPC10に送信する(1301)。
クライアントPC10は、ステップ1301の処理で送信された画面スクリプト500を受信した場合、画面スクリプト500を実行し、クライアント画面を表示する(1302)。そして、クライアントPC10の操作受付部111は、表示したクライアント画面におけるユーザ操作を受け付け、受け付けたユーザ操作を操作履歴14に記録する(1303)。そして、クライアントPC10は、操作受付部111が受け付けたユーザ操作を反映するように、クライアント画面情報13を更新するが(1304)、この更新処理でエラーが発生するものとする。
この場合、クライアントPC10は、表示中のクライアント画面に含まれるヘルプデスク問合せボタンの押下操作を受け付け、受け付けた押下操作を操作履歴14に記録する(1305)。図10に示すトリガ操作特定情報にはヘルプデスク問合せボタンの押下操作がトリガ操作として登録されているので、クライアントPC10は、トリガ操作を検出し、表示中のクライアント画面情報13を取得し、取得したクライアント画面情報13をサーバ90に送信する(1306)。なお、ヘルプデスク問合せボタンはいずれのクライアント画面にも表示され、また、ヘルプデスク問合せボタンの押下操作はトリガ操作である。
サーバ90は、ステップ1306の処理で送信されたクライアント画面情報13を受信した場合、受信したクライアント画面情報13をクライアント画面情報テーブル130に記録する(1307)。また、受信したクライアント画面情報13はヘルプデスク問合せボタンの押下操作によって送信されたものであり、ヘルプデスク問合せの通知も含む。ヘルプデスク問合せの通知は図11に示すトリガ抽出ポリシテーブル48に登録されているため、トリガ抽出部44は、クライアントPC10がトリガ抽出操作を受け付けたと判定し、トリガ抽出処理を実行する(1308)。このトリガ抽出処理では「zzz画面におけるbbb操作」がトリガ操作として抽出されるものとする。
ステップ1308の処理でトリガ抽出処理の実行後、サーバ90は、クライアントPC10かのリクエストに応じた処理の実行結果に基づく画面スクリプト500の生成処理を繰り返し実行する。
そして、画面スクリプト生成部213がzzz画面を表示させる画面スクリプト500を生成した場合(1309)、スクリプト挿入部42が、「zzz画面におけるbbb操作」を示すトリガ操作特定情報を含むクライアント画面情報送信部510を、ステップ1308の処理で生成された画面スクリプト500に挿入し(1310)、当該画面スクリプト500をクライアントPC10に送信する(1311)。
クライアントPC10は、ステップ1311の処理で送信された画面スクリプト500を受信した場合、画面スクリプト500を実行し、zzz画面をクライアント画面として表示する(1312)。そして、zzz画面の表示中に操作受付部111がbbb操作を受け付けた場合(1313)、表示中のクライアント画面のクライアント画面情報13を取得し、取得したクライアント画面情報13をサーバ90に送信する(1314)。
サーバ90は、クライアント画面情報13を受信した場合、受信したクライアント画面情報13をクライアント画面情報テーブル130に記憶する(1315)。
以上によって、トリガ抽出部44は、クライアントPC10がトリガ抽出操作を受け付けた場合、クライアントPC10が特定状態になったと判定し、新たなトリガ操作を決定する。
図14は、本発明の実施例の本発明の実施例のサーバ90が特定のログ24を出力したことによって実行されるトリガ抽出処理の説明図である。図14に示す処理のうち、図12に示す処理と同じ処理は、同じ符号を付与し、説明を省略する。
リクエスト処理部212がリクエストに対応する処理を実行するたびに、ログ24を出力している。リクエスト処理部212がエラーを示すログ24を出力したとする(1401)。この場合、図11に示すトリガ抽出ポリシテーブル48には、エラーを示すログ24の出力がサーバ90の特定状態として登録されているので、トリガ抽出部44は、サーバ90が特定状態になったことを検出する(1402)。そして、トリガ抽出部44は、ステップ1207の処理でトリガ抽出処理を実行する。なお、以降の処理は、図12に示す処理と同じなので、説明を省略する。
以上によって、トリガ抽出部44は、サーバ90が特定のログ24を出力した場合、サーバ90が特定状態になったと判定し、新たなトリガ操作を決定する。
次に、トリガ抽出処理の実行開始タイミングの具体例について図15、図17及び図18を用いて説明し、トリガ取得処理の具体例について図16を用いて説明する。
図15は、本発明の実施例のサーバ90が特定の画面スクリプト500を生成したことによって実行されるトリガ抽出処理の具体的な説明図である。図15に示す処理のうち、図12に示す処理と同じ処理は、同じ符号を付与し、説明を省略する。
ステップ1204の処理で画面スクリプト生成部213がxxx画面の画面スクリプト500を生成する場合、画面スクリプト生成部213は、画面スクリプトテーブル520に新たなレコードを追加し、ID生成部23は、当該画面スクリプト500に付与するID「003」を生成する。そして、画面スクリプト生成部213は、追加したレコードの生成時刻701に当該画面スクリプト500の生成時刻を登録し、追加したレコードのID702に生成したID「003」を登録し、追加したレコードの画面URL703に当該画面スクリプト500のアクセス先となるURLを登録し、追加したレコードのスクリプト704に当該画面スクリプト500の内容を登録する。なお、当該画面スクリプト500の直前に生成された画面スクリプト500は存在しないので、画面スクリプト生成部213は、追加したレコードの前画面ID705に何も登録しない。
ステップ1205の処理で画面スクリプト生成部213がエラー画面の画面スクリプト500を生成する場合、画面スクリプト生成部213は、画面スクリプトテーブル520に新たなレコードを追加し、ID生成部23は、当該画面スクリプト500に付与するID「011」を生成する。そして、画面スクリプト生成部213は、追加したレコードの生成時刻701に当該画面スクリプト500の生成時刻を登録し、追加したレコードのID702に生成したID「011」を登録し、追加したレコードの画面URL703に当該画面スクリプト500のアクセス先となるURLを登録し、追加したレコードのスクリプト704に当該画面スクリプト500の内容を登録する。画面スクリプト生成部213は、追加したレコードの前画面ID705に、当該画面スクリプト500の直前に生成された画面スクリプトのID「010」を登録する。
トリガ抽出部44は、画面スクリプトテーブル520の画面URL703に特定画面のアクセス先となるURLが登録されたかを監視する。ここでは、トリガ抽出ポリシテーブル48の画面URL/イベント1102には、特定画面のアクセス先となるURLとして「/aaa/bbb/error.html」が予め登録されている。したがって、ステップ1205の処理で画面スクリプトテーブル520に追加されたレコードの画面URL703には「/aaa/bbb/error.html」が登録されるので、トリガ抽出部44は、ステップ1206の処理で特定画面を検出する。
トリガ抽出部44は、ステップ1206の処理で特定画面を検出すると、サーバ90が特定状態になったと判定し、ステップ1207の処理でトリガ抽出処理を実行する。具体的には、トリガ抽出部44は、トリガ抽出ポリシテーブル48の画面URL/イベント1102に「/aaa/bbb/error.html」が登録されたレコードの検索範囲1103及び抽出方法1104を用いてトリガ抽出処理を実行する。このトリガ抽出処理で、アクセス先となるURLが「/aaa/bbb/xxx.html」である画面スクリプト500によるクライアント表示画面における決定ボタンの押下操作がトリガ操作として決定される。トリガ抽出部44は、トリガ操作特定情報テーブル5160に新たなレコードを追加し、追加したレコードの画面URL1001に「/aaa/bbb/xxx.html」を登録し、追加したレコードの操作イベント1002に「ボタン押下」を登録し、付随情報1003に「ボタン、“決定”」を登録する。
以上によって、トリガ抽出部44は、画面スクリプトテーブル520を参照して、特定画面の生成を検出し、サーバ90が特定状態となったことを検出し、トリガ抽出処理を実行する。また、トリガ抽出部44は、トリガ抽出ポリシテーブル48に基づいてトリガ抽出処理を実行し、トリガ抽出処理で決定されたトリガ操作をトリガ特定情報テーブル5160に登録する。
図16は、本発明の実施例のトリガ取得処理の具体的な説明図である。図16に示す処理のうち図12に示す処理と同じ処理は、同じ符号を付与し、説明を省略する。
ステップ1208の処理で、画面スクリプト生成部213は、アクセス先のURLが「/aaa/bbb/xxx.html」となる画面スクリプト500を生成する。
次に、ステップ1209の処理で、スクリプト挿入部42は、トリガ操作特定情報テーブル5160を参照し、画面スクリプト生成部213によって生成された画面スクリプト500に、クライアント画面情報送信部510となるスクリプトを挿入する。具体的には、スクリプト挿入部42は、ヘルプデスク問合せボタン1601をクライアント画面に表示させるスクリプトを挿入する。また、スクリプト挿入部42は、ヘルプデスク問合せボタン1601が押下操作された場合に表示中のクライアント画面情報13を取得し、取得したクライアント画面情報13をサーバ90に送信させるクライアント画面情報送信部510となるスクリプトを挿入する。また、スクリプト挿入部42は、アクセス先のURLが「/aaa/bbb/xxx.html」となる画面スクリプト500によって表示されるクライアント画面において、決定ボタン1602が押下された場合に表示中のクライアント画面情報13を取得し、取得したクライアント画面情報13をサーバ90に送信させるクライアント画面情報送信部510となるスクリプトを挿入する。
ステップ1210の処理で、画面スクリプト送信部214は、スクリプト挿入部42によってスクリプトが挿入された画面スクリプト500をクライアントPC10に送信する。
ステップ1211の処理で、クライアントPC10の画面スクリプト実行部113は、受信した画面スクリプト500を実行し、画面情報生成表示部114は、画面スクリプト実行部113の実行結果に基づいてクライアント画面1600を表示する。ステップ1211の処理で表示されるクライアント画面1600は、ヘルプデスク問合せボタン1601及び決定ボタン1602を含む。
ステップ1212の処理で、操作受付部111がユーザによる決定ボタン1602の押下操作を受け付け、操作情報記録部511が当該操作を記録する。また、操作イベント判定部512は、ステップ1212の処理で受け付けた操作はトリガ操作であると判定し、ステップ1213の処理で、データ送信部515は、表示中のクライアント画面1600のクライアント画面情報13を取得し、取得したクライアント画面情報13をサーバ90に送信する。
ステップ1214の処理で、サーバ90は、ステップ1213の処理で送信されたクライアント画面情報13を受信した場合、受信したクライアント画面情報13をクライアント画面情報テーブル130記録する。
以上によって、スクリプト挿入部42は、トリガ操作特定情報テーブル5160を参照し、画面スクリプト生成部213によって生成された画面スクリプト500にクライアント画面情報送信部510を挿入する。そして、クライアントPC10は、クライアント画面情報送信部510でトリガ操作がなされたと判定された場合に、表示中のクライアント画面のクライアント画面情報13を取得し、取得したクライアント画面情報13をサーバ90に送信する。
図17は、本発明の実施例のクライアントPC10が特定画面でトリガ抽出操作を受け付けた場合に実行されるトリガ抽出処理の具体例の説明図である。図17に示す処理のうち、図13に示す処理と同じ処理は、同じ符号を付与し、説明を省略する。
ステップ1304の処理でクライアント画面が更新された場合にエラーが発生したとする。
ステップ1305の処理で、クライアントPC10の操作受付部111は、ユーザによるヘルプデスク問合せボタン1601の押下操作を受け付け、操作情報記録部511は、当該操作を操作履歴14に記録する。
ヘルプデスク問合せボタン1601の押下操作はトリガ操作であるため、ステップ1306の処理で、クライアントPC10は、表示中のクライアント画面のクライアント画面情報13をサーバ90に送信する。
サーバ90はユーザのヘルプデスク問合せボタン1601の押下操作によるクライアント画面情報13を受信した場合、ステップ1307の処理で、受信したクライアント画面情報13をクライアント画面情報テーブル130に記録し、クライアントPC10が特定状態になったことを検出し、ステップ1308の処理で、トリガ抽出部44は、ヘルプデスク問合せボタンの押下操作時のトリガ抽出ポリシテーブル48を参照して、トリガ抽出処理を実行する。具体的には、トリガ抽出部44は、トリガ抽出ポリシテーブル48の画面URL/イベント1102に「ヘルプデスク問合せ」が登録されたレコードの検索範囲1103及び抽出方法1104を用いてトリガ抽出処理を実行する。このトリガ抽出処理で、アクセス先となるURLが「/aaa/bbb/yyy.html」である画面スクリプト500によって表示されるクライアント表示画面におけるチェックボックス「ABC」の状態をONに変更する操作がトリガ操作として決定される。トリガ抽出部44は、トリガ操作特定情報テーブル5160に新たなレコードを追加し、追加したレコードの画面URL1001に「/aaa/bbb/yyy.html」を登録し、追加したレコードの操作イベント1002に「チェック状態変更」を登録し、付随情報1003に「チェックボックス、“ABC”、ON」を登録する。
以上によって、サーバ90は、クライアントPC10が特定状態となったことを検出し、トリガ抽出処理を実行する。
図18は、本発明の実施例のサーバ90が特定のログ24を出力したことによって実行されるトリガ抽出処理の具体例の説明図である。
リクエスト処理部212は、リクエスト受付部211がリクエストを受け付けた場合、リクエストを受け付けたことを示すログ24を出力する。この場合、リクエスト処理部212は、ログテーブル240に新たなレコードを追加し、追加したレコードの発生時刻901に当該ログ24の出力時刻を登録し、ID902に受け付けたリクエストに含まれる画面スクリプト500のID「003」を登録し、イベント903にリクエストを受け付けたことを示すイベント名「リクエスト受付」を登録し、付随情報904には、リクエストに含まれる画面URL「/aaa/bbb/yyy.html」を登録する。なお、リクエストには、リクエストを送信する操作を受け付けたクライアント画面を表示させる画面スクリプト500のID「003」及び当該画面スクリプト500のアクセス先となるURL(画面URL)「/aaa/bbb/yyy.html」が含まれる。
リクエスト処理部212が画面スクリプト500のID「006」を含むリクエストに対応する処理の実行中にエラーが発生したとすると、ステップ1401の処理で、リクエスト処理部212は、エラーを示すログ24を出力する。この場合、リクエスト処理部212は、ログテーブル240に新たなレコードを追加し、追加したレコードの発生時刻901に当該ログ24の出力時刻を登録し、ID902に受け付けたリクエストに含まれる画面スクリプト500のID「006」を登録し、イベント903にエラーを示すイベント名「エラー1」を登録し、付随情報904には何も登録しない。
ステップ1402の処理で、トリガ抽出部44は、トリガ抽出ポリシテーブル48にエラー1を示すイベントのログ24の出力がサーバ90の特定状態として登録されているので、サーバ90が特定状態になったことを検出する。そして、ステップ1207の処理で、トリガ抽出部44は、エラー1のログ24の出力時のトリガ抽出ポリシテーブル48を参照して、トリガ抽出処理を実行する。具体的には、トリガ抽出部44は、トリガ抽出ポリシテーブル48の画面URL/イベント1102に「エラー1」が登録されたレコードの検索範囲1103及び抽出方法1104を用いてトリガ抽出処理を実行する。このトリガ抽出処理で、アクセス先となるURLが「/aaa/bbb/xxx.html」である画面スクリプト500によるクライアント表示画面における決定ボタンの押下操作がトリガ操作として決定される。トリガ抽出部44は、トリガ操作特定情報テーブル5160に新たなレコードを追加し、追加したレコードの画面URL1001に「/aaa/bbb/xxx.html」を登録し、追加したレコードの操作イベント1002に「ボタン押下」を登録し、付随情報1003に「ボタン,“決定”」を登録する。
以上によって、サーバ90は、リクエスト処理部212が特定のログ24を出力したことによって、サーバ90が特定状態となったことを検出し、トリガ抽出処理を実行する。
次に、トリガ抽出処理に用いられるトリガ抽出方式a及びbの概略について図19及び図20を用いて説明する。
図19は、本発明の実施例のトリガ抽出方式aの概略の説明図である。
トリガ抽出方式aでは、トリガ抽出部44は、特定画面に至るまでの所定数のクライアント画面情報を含む第1クライアント画面遷移列と、特定画面に至る他のクライアント画面遷移列のうち当該第1クライアント画面遷移列と同じクライアント画面情報を含む第2クライアント画面遷移列と間で、同じクライアント画面情報における同じユーザ操作の操作回数を集計し、集計した操作回数が閾値以上であるユーザ操作をトリガ操作として決定する。これによって、特定画面に至る可能性の高いユーザ操作がトリガ操作として決定されるので、サーバ90は、特定画面に至る可能性の高いユーザ操作が反映されたクライアント画面情報を取得できる。
まず、トリガ抽出部44は、画面スクリプトテーブル520の画面URL703を参照し、特定画面が発生したことを検出する(Step1)。
次に、トリガ抽出部44は、Step1で検出した特定画面から指定した範囲までのクライアント画面情報を取得する(Step2)。具体的には、トリガ抽出部44は、トリガ抽出ポリシテーブル48のレコードのうち画面URL/イベント1102に検出した特定画面の画面URLが登録されたレコードを選択し、選択したレコードの検索範囲1103に登録された数を取得する。そして、トリガ抽出部44は、画面スクリプトテーブル520を参照し、検出した特定画面の画面スクリプト500から取得した数の間に存在する画面スクリプト500を取得する。Step1で検出した特定画面のクライアント画面情報及びStep2で取得した画面スクリプト500によるクライアント画面情報を第1クライアント画面遷移列という。
次に、トリガ抽出部44は、Step2で取得したクライアント画面情報以外のクライアント画面情報から、Step2で取得した第1クライアント画面遷移列と同じクライアント画面情報を含む第2クライアント画面遷移列を検索する(Step3)。
次に、トリガ抽出部44は、第1クライアント画面遷移列と第2クライアント画面遷移列との間で同じクライアント画面情報の操作履歴14を参照し、二つのクライアント画面情報の間で同じ操作の操作回数を集計する(Step4)。
次に、トリガ抽出部44は、集計結果に基づいて、同じ操作の操作回数が閾値以上の操作をトリガ操作として決定する(Step5)。
トリガ抽出方式aで決定されたトリガ操作は、特定画面に至るまでのクライアント画面情報において操作回数が多いユーザ操作であるので、特定画面に至る可能性が高いユーザ操作と推定される。
なお、トリガ抽出方式aの詳細な処理は図24で説明する。
図20は、本発明の実施例のトリガ抽出方式bの概略の説明図である。
トリガ抽出方式bでは、トリガ抽出部44は、特定画面に至るまでの所定数のクライアント画面情報を含む第1クライアント画面遷移列と、第1クライアント画面遷移列の特定画面以外のクライアント画面情報と同じクライアント画面情報を含む第3クライアント画面遷移列との間で、同じクライアント画面情報における同じユーザ操作の操作回数を集計し、集計した操作回数が閾値以下であるユーザ操作をトリガ操作として決定する。これによって、特定画面に至る可能性の高いユーザ操作がトリガ操作として決定されるので、サーバ90は、特定画面に至る可能性の高いユーザ操作が反映されたクライアント画面情報を取得できる。
まず、トリガ抽出部44は、画面スクリプトテーブル520の画面URL703を参照し、特定画面が発生したことを検出する(Step1)。
次に、トリガ抽出部44は、Step1で検出した特定画面から指定した範囲までのクライアント画面情報を取得する(Step2)。トリガ抽出方式bのStep1及びStep2は、トリガ抽出方式aのStep1及びStep2と同じ処理であるので、具体的な説明は省略する。
次に、トリガ抽出部44は、Step2で取得したクライアント画面情報以外のクライアント画面情報から、Step2で取得した第1クライアント画面遷移列のうち特定画面のクライアント画面情報以外が同じクライアント画面情報を含む第3クライアント画面遷移列を画面スクリプトテーブル520から検索する(Step3)。
次に、トリガ抽出部44は、第1クライアント画面遷移列と第3クライアント画面遷移列との間で同じクライアント画面情報の操作履歴14を参照し、二つのクライアント画面情報の間で同じ操作の操作回数を集計する(Step4)。
次に、トリガ抽出部44は、集計結果に基づいて、同じ操作の操作回数が閾値以下の操作をトリガ操作として決定する(Step5)。
トリガ抽出方式bで決定されたトリガ操作は、特定画面に至るまでのクライアント画面情報と特定画面に至らず、当該クライアント画面情報と同じクライアント画面情報との間において、操作回数が少ないユーザ操作である。すなわち、操作回数が少ないユーザ操作がなされたので特定画面に至ったと考えれば、当該ユーザ操作は、特定画面に至る可能性が高いユーザ操作と推定される。
なお、トリガ抽出方式bの詳細な処理は図25で説明する。
次に、トリガ抽出ポリシテーブル48を設定するためのトリガ抽出ポリシ設定画面2100について図21及び図22を用いて説明する。トリガ抽出ポリシ設定画面2100は、サーバ90によって図示しない表示装置に表示される。
図21は、本発明の実施例のトリガ抽出ポリシ設定画面2100の説明図である。
トリガ抽出ポリシ設定画面2100は、検索範囲201、画面2102、操作2103、ログ2104、抽出方式a設定フィールド2111、抽出方式b設定フィールド2112及び組合せ方設定フィールド2113を含む。
検索範囲2101は、トリガ操作を決定する場合に取得するクライアント画面情報13の範囲を設定するためのフィールドである。画面2102には、画面スクリプトテーブル520に格納された画面スクリプト500によってクライアントPC10に表示されるクライアント画面が表示される。
操作2103には、画面2102に表示されたクライアント画面で受け付けられたユーザ操作が表示される。具体的には、サーバ90は、操作履歴テーブル140に登録されたレコードのうち、ID802に画面2102に表示されたクライアント画面に対応する画面スクリプト500のIDが登録されたレコードが示す操作をクライアント画面において受け付けたユーザ操作として表示する。
ログ2104には、画面2102に表示されたクライアント画面を表示させる画面スクリプト500のIDを含むリクエストに対応する処理を実行中のリクエスト処理部212の動作を示すログ24が表示される。具体的には、サーバ90は、ログテーブル240に登録されたレコードのうち、ID902に画面2102に表示されたクライアント画面に対応する画面スクリプト500のIDが登録されたレコードが示すログ24を表示する。
なお、ユーザは、トリガ抽出ポリシ設定画面2100の画面2102、操作2103及びログ2104に表示された情報から、トリガ抽出処理の実行開始タイミングとなるサーバ90及びクライアントPC10の特定状態を選択する。
画面2102に表示されたあるクライアント画面が選択された場合、サーバ90は、画面スクリプトテーブル520を参照し、ID702に選択されたクライアント画面に対応する画面スクリプト500のIDが登録されたレコードの画面URL703に登録されたURLを取得する。そして、サーバ90は、トリガ抽出ポリシテーブル48に新たなレコードを追加して、追加したレコードの種別1101に画面生成を登録し、追加したレコードの画面URL/イベント1102に取得したURLを登録する。
また、操作2103に表示されたあるユーザ操作が選択された場合、サーバ90は、トリガ抽出ポリシテーブル48に新たなレコードを追加して、追加したレコードの種別1101にクライアント通知を登録し、追加したレコードの画面URL/イベント1102に選択されたユーザ操作を登録する。
また、ログ2104に表示されたあるログ24が選択された場合、サーバ90は、トリガ抽出ポリシテーブル48に新たなレコードを追加して、追加したレコードの種別1101にログを登録し、追加したレコードの画面URL/イベント1102に選択されたログが示すイベントを登録する。
抽出方式a設定フィールド2111は、トリガ抽出方式aを用いてトリガ抽出処理を実行するか否かのチェックボックスと、トリガ抽出方式aでトリガ操作を抽出する場合に用いる閾値を設定するフィールドと、を含む。
抽出方式b設定フィールド2112は、トリガ抽出方式bを用いてトリガ抽出処理を実行するか否かのチェックボックスと、トリガ抽出方式bでトリガ操作を抽出する場合に用いる閾値を設定するフィールドと、を含む。
組合せ方設定フィールド2113は、抽出方式a設定フィールド2111のチェックボックスがチェックされ、抽出方式b設定フィールド2112のチェックボックスがチェックされた場合、トリガ抽出方式aで抽出されたトリガ操作及びトリガ抽出方式bで抽出されたトリガ操作をどのように組み合わせるかをユーザに選択させるフィールドである。組合せ方設定フィールド2113で「and」が選択された場合、トリガ抽出方式aで抽出されたトリガ操作及びトリガ抽出方式bで抽出されたトリガ操作のうち、同じトリガ操作がトリガ操作として決定される。また、組合せ方設定フィールド2113で「or」が選択された場合、トリガ抽出方式aで抽出されたトリガ操作及びトリガ抽出方式bで抽出されたトリガ操作がトリガ操作として決定される。
なお、抽出方式a設定フィールド2111、抽出方式b設定フィールド2112及び組合せ方設定フィールド2113によるユーザの選択は、トリガ抽出ポリシテーブル48の抽出方法1104に登録される。
図21では、画面2102に表示された三つめのクライアント画面が特定画面として選択される。そして、ユーザに選択されたクライアント画面から二つ目までのクライアント画面が検索範囲2101として選択される。
また、抽出方式a設定フィールド2111のチェックボックスがチェックされ、トリガ抽出方式aによるトリガ抽出処理に用いられる閾値として「5」が選択される。
決定ボタン2114が押下されると、トリガ抽出ポリシ設定画面2100で選択された内容がトリガ抽出ポリシテーブル48に登録される。
図22は、本発明の実施例のトリガ抽出ポリシ設定画面2100の説明図である。
図22では、ログ2104に表示されたログが特定状態として選択される。そして、ユーザに選択されたログに対応するクライアント画面から二つ目までのクライアント画面が検索範囲2101として選択される。
また、抽出方式b設定フィールド2112のチェックボックスがチェックされ、トリガ抽出方式bによるトリガ抽出処理に用いられる閾値として「4」が選択される。
決定ボタン2114が押下されると、トリガ抽出ポリシ設定画面2100で選択された内容がトリガ抽出ポリシテーブル48に登録される。
次に、トリガ抽出処理の詳細について、図23〜図25を用いて説明する。
図23は、本発明の実施例のトリガ抽出処理の全体のフローチャートである。
まず、トリガ抽出部44は、サーバ90及びクライアントPC10の少なくとも一方が特定状態になったか否かを監視する(2301)。
ステップ2301の処理で、サーバ90及びクライアントPC10の少なくとも一方が特定状態になったことを検出した場合、トリガ抽出部44は、トリガ抽出ポリシテーブル48の検出した特定状態に対応するレコードの抽出方法1104に、トリガ抽出方式aによるトリガ抽出処理の実行が登録されているか、トリガ抽出方式bによるトリガ抽出処理の実行が登録されているか、トリガ抽出方式a及びトリガ抽出方式bの組合せによるトリガ抽出処理の実行が登録されているか、を判定する(2302)。
ステップ2302の処理で、抽出方法1104にトリガ抽出方式aによるトリガ抽出処理の実行が登録されていると判定された場合、トリガ抽出部44は、トリガ抽出方式aによるトリガ抽出処理を実行する(2303)。なお、トリガ抽出方式aによるトリガ抽出処理は、図24で詳細を説明する。そして、トリガ抽出部44は、ステップ2303の処理で抽出されたトリガ操作をトリガ操作特定情報テーブル5160に登録し(2304)、ステップ2301の処理に戻る。
ステップ2302の処理で、抽出方法1104にトリガ抽出方式bによるトリガ抽出処理の実行が登録されていると判定された場合、トリガ抽出部44は、トリガ抽出方式bによるトリガ抽出処理を実行する(2305)。なお、トリガ抽出方式bによるトリガ抽出処理は、図25で詳細を説明する。そして、ステップ2304の処理で、トリガ抽出部44は、ステップ2305の処理で抽出されたトリガ操作をトリガ操作特定情報テーブル5160に登録し、ステップ2301の処理に戻る。
ステップ2302の処理で、トリガ抽出方式a及びトリガ抽出方式bの組合せによるトリガ抽出処理の実行が登録されていると判定された場合、トリガ抽出部44は、トリガ抽出方式aによるトリガ抽出処理を実行し(2306)、トリガ抽出方式bによるトリガ抽出処理を実行する(2307)。次に、トリガ抽出部44は、組合せ方法が「and」であるか否かを判定する(2308)。ステップ2308の処理で組合せ方法が「and」であると判定された場合、トリガ抽出部44は、トリガ抽出方式aで抽出されたトリガ操作及びトリガ抽出方式bで抽出されたトリガ操作のうち、同じトリガ操作をトリガ操作特定情報テーブル5160に登録し(2309)、ステップ2301の処理に戻る。ステップ2308の処理で組合せ方法が「and」でないと判定された場合、すなわち、組合せ方法が「or」である場合、トリガ抽出部44は、トリガ抽出方式aで抽出されたトリガ操作及びトリガ抽出方式bで抽出されたトリガ操作をトリガ操作特定情報テーブル5160に登録し(2310)、ステップ2301の処理に戻る。
図24は、本発明の実施例のトリガ抽出方式aによるトリガ抽出処理のフローチャートである。
まず、トリガ抽出部44は、トリガ抽出ポリシテーブル48のステップ2301の処理で検出された特定状態に対応するレコードの検索範囲1103に登録された数のクライアント画面情報を取得し、第1クライアント画面遷移列を取得する(2401)。
ステップ2301の処理で検出された特定状態が特定の画面スクリプト500をサーバ90が生成した状態である場合について、ステップ2401の処理を具体的に説明する。
トリガ抽出部44は、画面スクリプトテーブル520のID702に特定の画面スクリプト500のIDが登録されたレコードを取得する。そして、トリガ抽出部44は、取得したレコードからトリガ抽出ポリシテーブル48の検索範囲1103に登録された数の間に存在するレコードを取得する。そして、トリガ抽出部44は、取得したレコードによって特定される画面スクリプト500がクライアントPC10に表示させるクライアント画面情報の遷移を第1クライアント画面遷移列として取得する。
次に、ステップ2301の処理で検出された特定状態が特定のユーザ操作をクライアントPC10が受け付けた状態である場合について、ステップ2401の処理を具体的に説明する。なお、この特定のユーザ操作が可能となる画面スクリプト500には、クライアントPC10が特定のユーザ操作を受け付けた場合にその旨の通知をサーバ90に送信するスクリプトが挿入されるものとする。特定のユーザ操作を受け付けた旨の通知には、当該ユーザ操作を受け付けた場合にクライアントPC10が実行中の画面スクリプト500のIDが含まれる。
トリガ抽出部44は、画面スクリプトテーブル520のID702に、特定のユーザ操作を受け付けた旨の通知に含まれる画面スクリプト500のIDが登録されたレコードを取得する。以降の処理は、ステップ2301の処理で特定の画面スクリプトをサーバ90が生成した状態が特定状態として検出された場合と同じなので説明を省略する。
次に、ステップ2301の処理で検出された特定状態が、サーバ90が特定のログ24を出力した状態である場合について、ステップ2401の処理を具体的に説明する。
トリガ抽出部44は、画面スクリプトテーブル520のID702に、サーバ90のリクエスト処理部212が出力したログ24に含まれる画面スクリプト500のIDが登録されたレコードを取得する。以降の処理は、ステップ2301の処理で特定の画面スクリプトをサーバ90が生成した状態が特定状態として検出された場合と同じなので説明を省略する。
次に、トリガ抽出部44は、ステップ2401の処理で取得した第1クライアント画面遷移列と同じ遷移であるクライアント画面情報の遷移を第2クライアント画面情報遷移列として取得する(2402)。
具体的には、トリガ抽出部44は、画面スクリプトテーブル520の画面URL703に登録されたURLの並び方が、ステップ2401の処理で取得した第1クライアント画面遷移列を構成する画面スクリプト500のURLの並び方と同じレコード群を取得する。そして、トリガ抽出部44は、取得したレコード群によって特定される画面スクリプト500がクライアントPC10に表示させるクライアント画面情報の遷移を第2クライアント画面遷移列として取得する。
次に、トリガ抽出部44は、ステップ2401の処理で取得した第1クライアント画面遷移列とステップ2402の処理で取得した第2クライアント画面遷移列とについて、同じクライアント画面における同じユーザ操作の操作回数を集計する(2403)。
具体的には、トリガ抽出部44は、第1クライアント画面遷移列を構成する画面スクリプト500と第2クライアント画面遷移列を構成する画面スクリプト500との間でURLが一致する画面スクリプト500同士を特定する。そして、トリガ抽出部44は、操作履歴テーブル140のID802が各画面スクリプト500のIDと一致するレコードの操作イベント804及び付随情報805を取得する。トリガ抽出部44は、各画面スクリプト500の取得した操作イベント804及び付随情報805に登録された情報が一致する場合に、操作イベント804及び付随情報805に登録された情報によって特定される操作の操作回数をインクリメントする。
次に、トリガ抽出部44は、ステップ2403の処理で集計された操作回数が閾値以上である操作をトリガ操作として決定し(2404)、処理を終了する。
図25は、本発明の実施例のトリガ抽出方式bによるトリガ抽出処理のフローチャートである。図25に示す処理のうち図24に示す処理と同じ処理は同じ符号を付与し、説明を省略する。
トリガ抽出部44は、ステップ2401の処理で取得した第1クライアント画面遷移列の特定状態に対応する画面スクリプト500によるクライアント画面情報以外のクライアント画面情報が同じ遷移であるクライアント画面情報の遷移を第3クライアント画面情報遷移列として取得する(2501)。
具体的には、トリガ抽出部44は、画面スクリプトテーブル520の画面URL703に登録されたURLの並び方が、ステップ2401の処理で取得した第1クライアント画面遷移列を構成する画面スクリプト500のうち、特定状態に対応する画面スクリプト500以外の画面スクリプト500のURLの並び方と同じレコード群を取得する。そして、トリガ抽出部44は、取得したレコード群によって特定される画面スクリプト500がクライアントPC10に表示させるクライアント画面情報の遷移を第3クライアント画面遷移列として取得する。
トリガ抽出部44は、ステップ2403の処理で集計された操作回数が閾値以下である操作をトリガ操作として決定し(2502)、処理を終了する。
なお、トリガ抽出部44は、クライアントPC10の動作環境及びクライアントPC10のユーザのユーザIDが同じクライアント画面情報のみに限定して、第1クライアント画面遷移列、第2クライアント画面遷移列及び第3クライアント画面遷移列を取得してもよい。クライアントPC10の動作環境の例としては、ブラウザ11の種類、クライアントPC10で稼働するOSの種類及びクライアントPC10のデバイスの種類等がある。
具体的には、クライアントPC10は、リクエストをサーバ10に送信する場合、送信するリクエストに自身の動作環境及びユーザIDを送信しておく。そして、サーバ10は、受信したリクエストに対応する画面スクリプト500を生成し、生成した画面スクリプト500を画面スクリプトテーブル520に記録する場合、生成した画面スクリプト500に対応するリクエストに含まれるクライアントPC10の動作環境及びユーザIDを、生成した画面スクリプト500に含まれるIDに対応付けて画面スクリプトテーブル500に記録する。
トリガ抽出部44は、サーバ90及びクライアントPC10の少なくとも一方が特定状態となったことを検出した場合、画面スクリプトテーブル520を参照し、特定状態に対応する画面スクリプト500のID対応付けられる動作環境及びユーザIDを取得する。そして、トリガ抽出部44は、画面スクリプトテーブル520を参照し、取得した動作環境及びユーザIDの少なくとも一方が一致する画面スクリプト500の中から、第1クライアント画面遷移列、第2クライアント画面遷移列、第3クライアント画面遷移列を構成するクライアント画面情報13を表示する画面スクリプト500を取得する。
サーバ90及びクライアントPC10が特定状態になる原因として、クライアントPC10の動作環境及びユーザ特有の操作の仕方等が考えられる。トリガ抽出部44は、クライアントPC10の動作環境及びユーザIDの少なくとも一方が同じクライアント画面情報13に限定して、トリガ操作を決定するので、より特定状態に至る可能性の高い操作をトリガ操作として決定することができる。
また、トリガ抽出部44は、トリガ抽出方式a及びトリガ抽出方式bによってユーザ操作単位でトリガ操作を決定したが、複数のユーザ操作から構成される操作列単位で、トリガ操作を決定してもよい。
また、トリガ抽出部44は、サーバ90及びクライアントPC10の少なくとも一方が特定状態となった場合にトリガ抽出処理を実行することを説明したが、トリガ抽出処理の実行タイミングは、サーバ90及びクライアントPC10の少なくとも一方が特定状態となった場合に限定されず、例えば、トリガ抽出ポリシ設定画面2100を介してトリガ抽出ポリシテーブル48に新たなトリガ抽出ポリシが登録されたタイミングであってもよい。
サーバ90は、管理者の要求に応じて、トリガ操作特定情報テーブル5160に登録されたトリガ操作をトリガ操作表示画面2600(図26参照)として表示可能である。トリガ操作表示画面2600について図26を用いて説明する。
図26は、本発明の実施例のトリガ操作表示画面2600の説明図である。
トリガ操作表示画面2600は、画面URL2601、操作イベント2602及び付随情報2603及び閉じるボタン2604を含む。
画面URL2601には、トリガ操作特定情報テーブル5160の画面URL1001に登録されたURLが表示される。操作イベント2602には、トリガ操作特定情報テーブル5160の操作イベント1002に登録された操作イベントが表示される。付随情報2603には、トリガ操作特定情報テーブル5160の付随情報2603に登録された情報が表示される。閉じるボタン2604が押下操作されると、サーバ90は、トリガ操作表示画面2600のウィンドウを閉じる。
これによって、管理者は、サーバ90に設定されているトリガ操作を確認することができる。
また、サーバ90は、管理者の要求に応じて、クライアントPC10から取得し、クライアント画面情報テーブル130に記録されたクライアント画面情報13をクライアント画面情報表示画面2700(図27)として表示可能である。クライアント画面情報表示画面2700について図27を用いて説明する。
図27は、本発明の実施例のクライアント画面情報表示画面2700の説明図である。
クライアント画面情報表示画面2700は、取得時刻2701、ID2702、取得画面2703、関連情報ボタン2704及び閉じるボタン2705を含む。
取得時刻2701にはクライアント画面情報13を取得した時刻が表示される。ID2702には、取得したクライアント画面情報13を表示させた画面スクリプト500のIDが表示される。取得画面2703には取得したクライアント画面情報13が表示される。関連情報ボタン2704が押下操作されると、サーバ90は、押下操作された関連情報ボタン2704に対応するクライアント画面情報の関連情報(例えば、操作履歴14及びログ24)を表示する。閉じるボタン2705が押下操作されると、サーバ90はクライアント画面情報表示画面2700のウィンドウを閉じる。
また、取得画面2703に表示されたクライアント画面情報13が押下操作されると、サーバ90は、押下操作されたクライアント画面情報13を拡大した拡大表示画面2710を表示する。拡大表示画面2710は閉じるボタン2711を含み、閉じるボタンが押下操作されると、拡大表示画面2710のウィンドウを閉じる。
これによって、管理者は、サーバ90が取得したクライアント画面情報13を確認することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。

Claims (19)

  1. 表示したクライアント画面におけるユーザの操作を受け付けるクライアント計算機から、前記クライアント画面の情報であるクライアント画面情報を収集する画面情報収集計算機において、
    前記クライアント計算機から前記クライアント画面情報を収集するクライアント画面情報収集部と、
    前記クライアント画面におけるユーザの操作を特定可能な情報を示す操作情報を収集する操作情報収集部と、
    前記クライアント画面におけるユーザの操作のうち、前記クライアント画面情報収集部が前記クライアント画面情報を収集するタイミングとなるトリガ操作を決定するトリガ操作決定部と、を有し、
    前記トリガ操作決定部は、前記クライアント計算機に表示されるクライアント画面情報及び前記操作情報に基づいて、前記トリガ操作を決定することを特徴とする画面情報収集計算機。
  2. 請求項1に記載の画面情報収集計算機であって、
    前記クライアント画面情報収集部は、
    前記トリガ操作決定部によって決定されたトリガ操作を特定可能なトリガ操作特定情報を前記クライアント計算機に送信し、
    前記クライアント計算機が前記トリガ操作情報によって特定されるトリガ操作を受け付けた場合に送信する前記クライアント画面情報を受信することによって、前記クライアント画面情報を収集することを特徴とする画面情報収集計算機。
  3. 請求項2に記載の画面情報収集計算機であって、
    前記クライアント画面情報収集部は、前記クライアント計算機が実行することによって前記クライアント画面を生成する画面スクリプトに前記トリガ操作特定情報を埋め込んで前記クライアント計算機に送信することを特徴とする画面情報収集計算機。
  4. 請求項1に記載の画面情報収集計算機であって、
    前記クライアント計算機が前記クライアント画面におけるリクエスト操作を受け付けた場合に前記クライアント計算機が送信するリクエストに対応する処理を実行し、自身の動作を示すログを出力するリクエスト処理部と、
    前記リクエスト処理部による処理結果に基づいて、前記クライアント計算機が実行することによって前記クライアント画面を生成する画面スクリプトを生成する画面スクリプト生成部と、
    前記画面スクリプト生成部によって生成された前記画面スクリプトの識別情報を生成し、前記生成した識別情報を前記画面スクリプトに付与する識別情報生成部と、を備え、
    前記クライアント画面情報収集部は、前記クライアント画面を表示する前記画面スクリプトに付与された識別情報を含む前記クライアント画面情報を収集し、
    前記操作情報収集部は、前記操作情報によって特定される操作がなされた前記クライアント画面を表示する前記画面スクリプトに付与された識別情報を含む前記操作情報を収集し、
    前記リクエスト処理部は、前記リクエスト操作がなされた前記クライアント画面を表示する前記画面スクリプトに付与された識別情報を含む前記ログを出力し、
    前記クライアント画面情報、前記操作情報及び前記ログは、前記画面スクリプトに付与された識別情報によって関連付けられることを特徴とする画面情報収集計算機。
  5. 請求項1に記載の画面情報収集計算機であって、
    前記トリガ操作決定部は、前記クライアント計算機の動作環境及び前記クライアント計算機のユーザ識別情報の少なくとも一方が同じ前記クライアント画面情報及び前記操作情報に基づいて、前記トリガ操作を決定することを特徴とする画面情報収集計算機。
  6. 請求項1に記載の画面情報収集計算機であって、
    前記トリガ操作決定部は、前記クライアント計算機及び前記画面情報収集計算機の少なくとも一方が特定状態となったことを検出した場合、前記トリガ操作を決定することを特徴とする画面情報収集計算機。
  7. 請求項6に記載の画面情報収集計算機であって、
    前記トリガ操作決定部は、
    前記クライアント計算機及び前記画面情報収集計算機の少なくとも一方が前記特定状態となったことを検出した場合、前記特定状態に対応するクライアント画面情報までの所定数のクライアント画面情報を第1クライアント画面遷移列として取得し、
    前記取得したクライアント画面遷移列に基づいて、第1方式及び第2方式の少なくとも一方を用いて前記トリガ操作を決定し、
    前記第1方式では、
    前記クライアント計算機に表示されるクライアント画面情報から、前記取得した第1クライアント画面遷移列と同じ遷移のクライアント画面情報を第2クライアント画面遷移列として取得し、
    前記第1クライアント画面遷移列及び前記第2クライアント画面遷移列の同じクライアント画面情報における操作情報から同じ操作の操作回数を集計し、
    前記集計した操作回数が第1所定値以上である操作を前記トリガ操作に決定し、
    前記第2方式では、
    前記クライアント計算機に表示されるクライアント画面情報から、前記取得した第1クライアント画面遷移列の前記特定状態に対応するクライアント画面情報以外のクライアント画面情報が同じクライアント画面情報を第3クライアント画面遷移列として取得し、
    前記第1クライアント画面遷移列及び前記第3クライアント画面遷移列の同じクライアント画面情報における操作情報から同じ操作の操作回数を集計し、
    前記集計した操作回数が第2所定値以下である操作を前記トリガ操作に決定することを特徴とする画面情報収集計算機。
  8. 請求項1に記載の画面情報収集計算機であって、
    前記トリガ操作決定部によって決定されたトリガ操作を表示するトリガ操作表示部及び、前記クライアント画面情報収集部によって収集されたクライアント画面情報を表示するクライアント画面情報表示部の少なくとも一方を備えることを特徴とする画面情報収集計算機。
  9. 請求項1に記載の画面情報収集計算機であって、
    前記トリガ操作は、前記クライアント画面におけるユーザの複数の操作を含むことを特徴とする画面情報収集計算機。
  10. 表示したクライアント画面におけるユーザの操作を受け付けるクライアント計算機と、
    前記クライアント画面の情報であるクライアント画面情報を前記クライアント計算機から収集する画面情報収集計算機と、を備えるシステムにおける画面情報収集方法であって、
    前記方法は、
    前記画面情報収集計算機が、前記クライアント計算機から前記クライアント画面情報を収集する第1ステップと、
    画面情報収集計算機が、前記クライアント画面におけるユーザの操作を特定可能な情報を示す操作情報を収集する第2ステップと、
    前記画面情報収集計算機が、前記クライアント画面におけるユーザの操作のうち、前記第1ステップで前記クライアント画面情報を収集するタイミングとなるトリガ操作を決定する第3ステップと、を含み、
    前記第3ステップでは、前記クライアント計算機に表示されるクライアント画面情報及び前記操作情報に基づいて、前記トリガ操作を決定することを特徴とする画面情報収集方法。
  11. 請求項10に記載の画面情報収集方法であって、
    前記第1ステップでは、
    前記画面情報計算機が。前記第3ステップで決定されたトリガ操作を特定可能なトリガ操作特定情報を前記クライアント計算機に送信し、
    前記クライアント計算機が、前記トリガ操作情報によって特定されるトリガ操作を受け付けた場合に前記クライアント画面情報を前記画面情報計算機に送信し、
    前記画面情報計算機が前記クライアント画面情報を受信することによって、前記クライアント画面情報を収集することを特徴とする画面情報収集方法。
  12. 請求項11に記載の画面情報収集方法であって、
    前記第1ステップでは、前記画面情報計算機が、前記クライアント計算機が実行することによって前記クライアント画面を生成する画面スクリプトに前記トリガ操作特定情報を埋め込んで前記クライアント計算機に送信することを特徴とする画面情報収集方法。
  13. 請求項10に記載の画面情報収集方法であって、
    前記クライアントが、前記クライアント画面におけるリクエスト操作を受け付けた場合にリクエストを送信する第4ステップと、
    前記画面情報収集計算機が、前記リクエストを受信した場合、前記リクエストに対応する処理を実行し、自身の動作を示すログを出力する第5ステップと、
    前記画面情報収集計算機が、前記第5ステップにおける処理結果に基づいて、前記クライアント計算機が実行することによって前記クライアント画面を生成する画面スクリプトを生成する第6ステップと、
    前記画面情報収集計算機が、前記第6ステップで生成された前記画面スクリプトの識別情報を生成し、前記生成した識別情報を前記画面スクリプトに付与する第7ステップと、を含み、
    前記第1ステップでは、前記画面情報収集計算機が、前記クライアント画面を表示する前記画面スクリプトに付与された識別情報を含む前記クライアント画面情報を収集し、
    前記第2ステップでは、前記画面情報収集計算機が、前記操作情報によって特定される操作がなされた前記クライアント画面を表示する前記画面スクリプトに付与された識別情報を含む前記操作情報を収集し、
    前記第5ステップでは、前記画面情報収集計算機が、前記リクエスト操作がなされた前記クライアント画面を表示する前記画面スクリプトに付与された識別情報を含む前記ログを出力し、
    前記クライアント画面情報、前記操作情報及び前記ログは、前記画面スクリプトに付与された識別情報によって関連付けられることを特徴とする画面情報収集方法。
  14. 請求項10に記載の画面情報収集方法であって、
    前記第3ステップでは、前記画面情報収集計算機が、前記クライアント計算機の動作環境及び前記クライアント計算機のユーザ識別情報の少なくとも一方が同じ前記クライアント画面情報及び前記操作情報に基づいて、前記トリガ操作を決定することを特徴とする画面情報収集方法。
  15. 請求項10に記載の画面情報収集方法であって、
    前記第3ステップでは、前記クライアント計算機及び前記画面情報収集計算機の少なくとも一方が特定状態となったことを検出した場合、前記トリガ操作を決定することを特徴とする画面情報収集方法。
  16. 請求項15に記載の画面情報収集方法であって、
    前記第3ステップは、
    前記画面情報収集計算機が、前記クライアント計算機及び前記画面情報収集計算機の少なくとも一方が前記特定状態となったことを検出した場合、前記特定状態に対応するクライアント画面情報までの所定数のクライアント画面情報を第1クライアント画面遷移列として取得するステップと、
    前記画面情報収集計算機が、前記取得したクライアント画面遷移列に基づいて、第1方式及び第2方式の少なくとも一方を用いて前記トリガ操作を決定するステップと、を含み、
    前記第1方式では、
    前記画面情報収集計算機が、前記クライアント計算機に表示されるクライアント画面情報から、前記取得した第1クライアント画面遷移列と同じ遷移のクライアント画面情報を第2クライアント画面遷移列として取得し、
    前記画面情報収集計算機が、前記第1クライアント画面遷移列及び前記第2クライアント画面遷移列の同じクライアント画面情報における操作情報から同じ操作の操作回数を集計し、
    前記画面情報収集計算機が、前記集計した操作回数が第1所定値以上である操作を前記トリガ操作に決定し、
    前記第2方式では、
    前記画面情報収集計算機が、前記クライアント計算機に表示されるクライアント画面情報から、前記取得した第1クライアント画面遷移列の前記特定状態に対応するクライアント画面情報以外のクライアント画面情報が同じクライアント画面情報を第3クライアント画面遷移列として取得し、
    前記画面情報収集計算機が、前記第1クライアント画面遷移列及び前記第3クライアント画面遷移列の同じクライアント画面情報における操作情報から同じ操作の操作回数を集計し、
    前記画面情報収集計算機が、前記集計した操作回数が第2所定値以下である操作を前記トリガ操作に決定することを特徴とする画面情報収集方法。
  17. 請求項10に記載の画面情報収集方法であって、
    前記画面情報収集計算機が、前記第3ステップで決定されたトリガ操作を表示する第8ステップ及び前記画面情報収集計算機が、前記第1ステップで収集されたクライアント画面情報を表示する第9ステップの少なくとも一方を含むことを特徴とする画面情報収集方法。
  18. 請求項10に記載の画面情報収集方法であって、
    前記トリガ操作は、前記クライアント画面におけるユーザの複数の操作を含むことを特徴とする画面情報収集方法。
  19. 表示したクライアント画面におけるユーザの操作を受け付けるクライアント計算機から、前記クライアント画面の情報であるクライアント画面情報を収集し、プロセッサ及び記憶領域を有する画面情報収集計算機で実行され、前記クライアント画面情報の収集処理を前記プロセッサに実行させるプログラムを記憶する計算機読み取り可能な記憶媒体であって、
    前記処理は、
    前記クライアント計算機から前記クライアント画面情報を収集する処理と、
    前記クライアント画面におけるユーザの操作を特定可能な情報を示す操作情報を収集する処理と、
    前記クライアント画面におけるユーザの操作のうち、前記クライアント画面情報を収集するタイミングとなるトリガ操作を決定する処理と、を含み、
    前記トリガ操作の決定処理は、前記クライアント計算機に表示されるクライアント画面情報及び前記操作情報に基づいて、前記トリガ操作を決定することを特徴とする計算機読み取り可能な記憶媒体。
JP2014521099A 2012-06-18 2012-06-18 画面情報収集計算機、画面情報収集方法及び計算機読み取り可能な記憶媒体 Expired - Fee Related JP5758544B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/065465 WO2013190607A1 (ja) 2012-06-18 2012-06-18 画面情報収集計算機、画面情報収集方法及び計算機読み取り可能な記憶媒体

Publications (2)

Publication Number Publication Date
JP5758544B2 true JP5758544B2 (ja) 2015-08-05
JPWO2013190607A1 JPWO2013190607A1 (ja) 2016-02-08

Family

ID=49768239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014521099A Expired - Fee Related JP5758544B2 (ja) 2012-06-18 2012-06-18 画面情報収集計算機、画面情報収集方法及び計算機読み取り可能な記憶媒体

Country Status (3)

Country Link
US (1) US20150326677A1 (ja)
JP (1) JP5758544B2 (ja)
WO (1) WO2013190607A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6476978B2 (ja) * 2015-02-19 2019-03-06 富士通株式会社 ログ情報収集プログラム、ログ情報収集装置、及びログ情報収集方法
US11172027B2 (en) * 2019-02-27 2021-11-09 Rohde & Schwarz Gmbh & Co. Kg System and method for monitoring remote usage of test and measuring instruments
WO2022180863A1 (ja) * 2021-02-26 2022-09-01 日本電信電話株式会社 ユーザ操作記録装置およびユーザ操作記録方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044320A (ja) * 2001-07-31 2003-02-14 Pfu Ltd 教育システム
US20040103409A1 (en) * 2001-03-12 2004-05-27 Omri Hayner System and method for capturing analyzing and recording screen events
JP2007323143A (ja) * 2006-05-30 2007-12-13 Hitachi Ltd 業務管理システム、情報システム及び業務管理方法
JP2008041041A (ja) * 2006-08-10 2008-02-21 Hitachi Information Systems Ltd ログ通知条件定義支援装置とログ監視システムおよびプログラムとログ通知条件定義支援方法
JP2010044457A (ja) * 2008-08-08 2010-02-25 Sky Co Ltd 操作監視システム
WO2011081126A1 (ja) * 2009-12-28 2011-07-07 株式会社エスディー システムイベントログシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103409A1 (en) * 2001-03-12 2004-05-27 Omri Hayner System and method for capturing analyzing and recording screen events
JP2003044320A (ja) * 2001-07-31 2003-02-14 Pfu Ltd 教育システム
JP2007323143A (ja) * 2006-05-30 2007-12-13 Hitachi Ltd 業務管理システム、情報システム及び業務管理方法
JP2008041041A (ja) * 2006-08-10 2008-02-21 Hitachi Information Systems Ltd ログ通知条件定義支援装置とログ監視システムおよびプログラムとログ通知条件定義支援方法
JP2010044457A (ja) * 2008-08-08 2010-02-25 Sky Co Ltd 操作監視システム
WO2011081126A1 (ja) * 2009-12-28 2011-07-07 株式会社エスディー システムイベントログシステム

Also Published As

Publication number Publication date
US20150326677A1 (en) 2015-11-12
JPWO2013190607A1 (ja) 2016-02-08
WO2013190607A1 (ja) 2013-12-27

Similar Documents

Publication Publication Date Title
US10613916B2 (en) Enabling a web application to call at least one native function of a mobile device
US8566648B2 (en) Automated testing on devices
US7464004B2 (en) Troubleshooting to diagnose computer problems
US20150106723A1 (en) Tools for locating, curating, editing, and using content of an online library
US20140317489A1 (en) Device-independent validation of website elements
WO2021129335A1 (zh) 操作监控方法及装置、操作分析方法及装置
JP5758544B2 (ja) 画面情報収集計算機、画面情報収集方法及び計算機読み取り可能な記憶媒体
US9727281B2 (en) Image processing apparatus, computer readable medium, and image processing method
US9769246B2 (en) Information processing terminal and control method
US20220164703A1 (en) Model acceptance determination support system and model acceptance determination support method
US20140344756A1 (en) Information processing apparatus, and control method therefor
JP5747751B2 (ja) リグレッションテスト支援プログラム及びリグレッションテスト支援装置
JP2012208919A (ja) 電子機器、情報処理システム、及びプログラム
TW201905669A (zh) App應用展示介面的方法、裝置和電子設備
US11747966B2 (en) Detecting paste and other types of user activities in computer environment
US9858549B2 (en) Business transaction resource usage tracking
CN111367703A (zh) 故障排查方法及装置
JP6261244B2 (ja) Webアプリケーションテスト装置およびそのプログラム
JP2014123298A (ja) 情報管理プログラム及び情報管理方法
JP2023026053A (ja) 情報処理プログラム、情報処理方法および情報処理装置
JP5519416B2 (ja) 情報閲覧システム、監視サーバ装置、クライアント装置およびその制御方法ならびにプログラム
JP7111527B2 (ja) 脆弱性診断装置、脆弱性診断方法及びプログラム
US20210306432A1 (en) Server for generating integrated usage log data and operating method thereof
KR102114260B1 (ko) 스크립트 생성 장치, 방법 및 컴퓨터로 판독 가능한 기록매체
JP5727344B2 (ja) 電子サービス画面保存システムおよび電子サービス画面保存方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150603

R150 Certificate of patent or registration of utility model

Ref document number: 5758544

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees