JP6037397B2 - ユーザ操作のログ記録方法、そのプログラムおよび装置 - Google Patents

ユーザ操作のログ記録方法、そのプログラムおよび装置 Download PDF

Info

Publication number
JP6037397B2
JP6037397B2 JP2014027192A JP2014027192A JP6037397B2 JP 6037397 B2 JP6037397 B2 JP 6037397B2 JP 2014027192 A JP2014027192 A JP 2014027192A JP 2014027192 A JP2014027192 A JP 2014027192A JP 6037397 B2 JP6037397 B2 JP 6037397B2
Authority
JP
Japan
Prior art keywords
data
acquired
log
display state
gui display
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.)
Active
Application number
JP2014027192A
Other languages
English (en)
Other versions
JP2015153210A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014027192A priority Critical patent/JP6037397B2/ja
Publication of JP2015153210A publication Critical patent/JP2015153210A/ja
Application granted granted Critical
Publication of JP6037397B2 publication Critical patent/JP6037397B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ソフトウェアにおけるグラフィカルユーザインタフェースに対するユーザ操作のログを記録する技術に関する。
コンピュータ上で動作するアプリケーションプログラム(以下、アプリケーション)などのソフトウェアによって実現される、企業における業務システム等の情報処理システム向けのソリューションとして、近年、ユーザ操作のログ(記録)を活用した技術が数多く提案されている。これらは、情報処理システムを構成するコンピュータの端末装置(以下、情報システム端末)におけるユーザの操作を記録・蓄積し、セキュリティ違反となる操作が行われていないことの監視を実現したり、操作のボトルネックを分析することにより業務の効率化を達成する用途に用いられている。
前述した情報処理システムを実現するソフトウェアの多くは、ユーザビリティ向上のためのインタフェースとして、グラフィカルユーザインタフェース(以下、GUI)を採用している。従って、前記のユーザ操作のログを活用した技術においても、GUIに対するユーザ操作を記録・蓄積することが必要となる。
GUIに対するユーザ操作は、主にマウス操作やキーボード入力であり、情報システム端末のオペレーティングシステム(以下、OS)のイベントとして発生時刻などの情報と共に検出することができる。しかし、このような操作に関するイベントのみを記録したとしても、用途によっては、操作ログを十分に活用できない場合がある。
例えば、分析の観点として、アプリケーションのウインドウに表示されているデータの初期化ボタンを押下する操作を、ログから違反操作として検出する場合を考える。しかし、実際にはこのような操作の全てが違反操作というわけではない。トラブルが発生してどうしてもデータを初期化する必要があったのかもしれないし、管理者が必要に応じて実施した操作かもしれない。本当に違反操作であるかの判断は、データ初期化ボタンを押した時、あるいはそれ以前のアプリケーションのGUIの表示状態を精密に調査する必要がある。
よって、単に操作のイベントを記録するだけでなく、ユーザの操作に合わせてそのときのGUIの表示状態も記録し、操作によるGUIの表示状態の変化を時系列にログとして記録する技術が必要である。
GUIの表示状態として取得するデータは、分析の用途やOS等によって様々なものが考えられる。
例えば、画面キャプチャは人手で操作ログを確認するとき、視覚的にGUIの状態を理解し易い。別の表示状態を示すデータとしては、UI Automation(非特許文献1参照)などのアクセシビリティAPIやインスツルメンテーション技術などによって取得できるオブジェクトデータがある。
オブジェクトデータはGUIを構成するGUI要素の表示状態を示す形式的なデータであり、GUI要素間の表示上の親子関係や各要素が保持する表示に関する属性情報(キャプションやGUI要素の種類、座標位置、活性状態など)を含む。図1にオブジェクトデータの一例を示す。
オブジェクトデータは人が直接参照してもGUIの表示状態を把握するのは難しい。しかし、GUI要素の表示に関する情報が形式的に表現されるため、プログラムからの分析が非常に容易である。例えば、GUIの画像データから、何のボタンが表示されているかをプログラムで識別するためには画像認識等のアルゴリズムが必要になるが、オブジェクトデータにはボタンという情報(テキストデータなど)がそのまま含まれているため、プログラムから直接扱うことができる。
先にも述べたが、これらのデータは分析の用途に応じて長所と短所が存在する。そのため、分析の用途が決まっている場合には、適したデータをGUIの表示状態としてログに記録すれば良い。しかし、この場合、分析する観点が時間の経過ともに変化してしまうと、その分析の観点に適したデータがログとして記録されておらず、ログの分析が困難になってしまう。
以上のことから、操作ログの記録では、ユーザ操作によって発生する操作イベントとそのイベントによって変化したGUIの表示状態を表す複数種別のデータを正確に記録する技術が必要になる。
[従来技術]
操作ログは、形式的に次のように表現することができる。すなわち、操作前のGUIの表示状態をgi-1、操作イベントをei、操作後のGUIの表示状態をgiとしたとき、これらの組ti=(gi-1,ei,gi)の有限列により、(g0,e1,g1)(g1,e2,g2)・・・(gn-1,en,gn)と表現することができる。ここでは操作イベントeiによる操作後のGUI表示状態giは、操作イベントei+1を実施する直前の操作前のGUIの表示状態と等しいとする。
ユーザ操作のログを取得するときは、情報システム端末でアプリケーションを起動し、そのバックグラウンドでログ取得プログラムを動作させなければならない。ログ取得プログラムに実装される記録方法は様々提案されているが、GUIの表示状態の記録タイミングによって大きく2つの方法が考えられる。
1つは操作イベントが発生し、そのイベントが発生する直前のGUIの表示状態を記録する操作前記録方法である。図2にその概要を示す。
操作イベントは、通常はデバイス(マウスやキーボード)からOS、OSから操作対象のアプリケーションへ通知され、GUIの表示状態が変化する。
操作前記録方法の場合は、バックグラウンドで動作するログ取得プログラム(検知エージェント)が、通常、OSから操作対象のアプリケーションへ通知される操作イベント(ここではその操作イベントをeiとする。)をフックし、操作対象アプリケーションへ操作イベントを通知する前に、画面キャプチャやアクセシビリティAPI等によって画像データやオブジェクトデータを取得する。
操作を実施する直前のアプリケーションのGUIの表示状態をgi-1とすると、操作イベントを操作対象アプリケーションに通知する前なので、その操作イベントによるGUI変化は発生しておらず、このとき取得されるデータは操作を実施する直前の表示状態gi-1となる。GUIの表示状態に関する一連のデータを取得した後、ログ取得プログラムはフックしている操作イベントを操作対象のアプリケーションへ通知すると共に、それまで蓄積してきた操作ログt1・・・ti-1の末尾へti=(gi,ei+1,null)を追加し、ti-1の操作後のGUIの表示状態へgiを代入する。この処理をユーザ操作のたびに繰り返して操作ログを構成する。
もう1つの操作ログの記録方法は、操作イベントが発生し、そのイベントによって変化した後のGUIの表示状態を記録する操作後記録方法である。図3に操作後記録方法を示す。
操作後記録の場合には、操作前記録方法と同様に、まずOSから操作対象アプリケーションへ通知される操作イベントeiをログ取得プログラムがフックする。しかし、操作前記録方法とは違って、操作イベントeiを直ちに操作対象アプリケーションへ送信してしまう。ログ取得プログラムは事前に設定されている待ち時間が経過した後、操作対象アプリケーションのGUI表示状態を示す各データを取得する。操作イベントeiを操作対象アプリケーションへ通知してから待ち時間の経過までに、GUIの表示状態の変化が完了していれば、操作後のGUIの表示状態であるgiを取得することができる。このとき、ログ取得プログラムはそれまで蓄積してきた操作ログのt1・・・ti-1の末尾に(gi-1,ei,gi)を追加する。なおここでのgi-1はti-1の操作後のGUI表示状態となる。
しかしながら、これら操作前記録方法や操作後記録方法にはそれぞれ課題が存在する。
すなわち、操作前記録方法の場合、操作対象アプリケーションへ操作イベントを通知する前にGUIの表示状態のデータを取得するため、正確に操作直前のGUIの表示状態を記録することができる。その一方で、ユーザが操作を行ってから操作対象アプリケーションのGUIが変化するまでの間に、GUIの表示状態のデータを取得する処理が追加される。そのため、ユーザにとってはアプリケーションの応答が遅れるように感じる。特にGUIの表示状態として取得するデータの種別が増えると、それだけ取得処理に必要とする時間(図2のΔt)が増加し、アプリケーションの応答の遅延が大きくなる。
アプリケーションの応答の遅延が大きくなると、アプリケーションへの操作そのものにユーザがストレスを感じてしまう場合がある。GUIの表示状態のデータを複数種別取得する場合でも、アプリケーションの応答遅延を抑えて正確に操作ログを取得する方法が必要である。
一方、操作後記録方法の場合、ログ取得プログラムは、OSから操作イベントをフックしたらすぐに操作対象アプリケーションへ操作イベントを送信する。結果として、操作イベントによるGUI変化は遅延なく発生するため、アプリケーションの応答の遅延は発生しない。しかし、待ち時間を経過した後のGUIの表示状態を取得するため、その待ち時間以内に操作イベントに対するGUI変化が完了していない場合、例えば図4に示すように操作後のGUIの表示状態としてGUI変化が完了した表示状態のgiではなく、変化前の表示状態gi-1を取得してしまう場合がある。待ち時間を十分長く設定すれば、その待ち時間が経過するまでにGUIの表示状態の変化が完了するかもしれないが、待ち時間経過前にユーザがアプリケーションに対して次の操作を実施し、別の表示状態に変化してしまう可能性がある。このように操作後記録方法の場合は、操作後のGUI表示状態の記録の正確性に問題がある。
本発明では、複数種別のGUIの表示状態を取得するときに、正確にGUIの表示状態を記録しつつ、操作対象アプリケーションの応答遅延を抑止するという課題を解決する。
本発明では、前述の課題を解決するために、以下の特徴を有する。
本発明の第一の発明として、
コンピュータ上で動作するアプリケーションに対するユーザ操作時のGUI表示状態を表すデータをログ取得プログラムにより取得し、ログとして記録する方法であって、
GUI表示状態を表すデータとして種別の異なるデータをそれぞれ取得可能な複数のログ取得プログラムを保持するとともに、当該各ログ取得プログラムが取得可能なデータ種別に関する情報を保持するGUI表示状態取得手段管理部と、
ログのGUI表示状態として取得するデータ種別の指定情報および予備取得するデータ種別の指定情報を登録するログ取得条件管理部と、
ログ取得部とを用い、
ログ取得部により、ログ取得条件管理部に登録されている予備取得するデータ種別のデータおよびログのGUI表示状態として取得する複数のデータ種別の各データを、GUI表示状態取得手段管理部に保持されている該当ログ取得プログラムをそれぞれ用いて取得し、記憶装置にキャッシュする第1のステップと、
ログ取得部により、ユーザ操作が発生した時、前記予備取得するデータ種別のデータを前記同様に取得して前記記憶装置にキャッシュした予備取得データと比較し、等しい場合は前記記憶装置にキャッシュした複数のデータ種別の各データをそのままログとして記録するとともに対象アプリケーションにユーザ操作のイベントを通知し、等しくない場合は前記ログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得してログとして記録するとともに対象アプリケーションにユーザ操作のイベントを通知する第2のステップと、
ログ取得部により、その後、ユーザ操作が発生するまでの間、所定の待ち時間毎に前記予備取得するデータ種別のデータを前記同様に取得して前記記憶装置にキャッシュした予備取得データと比較し、等しくない場合は前記ログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得し、前記取得した予備取得するデータ種別のデータとともに記憶装置のキャッシュを更新する第3のステップとを具備する
ことを特徴とするユーザ操作のログ記録方法を提案する。
また、本発明の第二の発明として、第一の発明における第2のステップは、
対象アプリケーションへのユーザ操作があった場合に予備取得するデータ種別のデータを取得するステップと、
前記取得したデータと、記憶装置にキャッシュした予備取得するデータ種別のデータとを比較し、等しければ記憶装置にキャッシュした複数のデータ種別の各データをGUI表示状態として操作イベントと共に操作ログに記録するステップと、
記録後に記憶装置のキャッシュをクリアし、対象アプリケーションへ操作イベントを通知するステップとからなる
ことを特徴とするユーザ操作のログ記録方法を提案する。
また、本発明の第三の発明として、第一の発明における第3のステップは、
対象アプリケーションへのユーザ操作がないときに、指定された所定の待ち時間の経過を計測するステップと、
所定の待ち時間が経過したときに、予備取得するデータ種別のデータを取得するステップと、
前記取得したデータと記憶装置にキャッシュした予備取得のデータとを比較するステップと、
等しくなければ、さらにログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得し、前記取得した予備取得するデータ種別のデータとともに記憶装置のキャッシュを更新するステップとからなる
ことを特徴とするユーザ操作のログ記録方法を提案する。
また、本発明の第四の発明として、第一の発明における第3のステップは、
取得したデータと記憶装置にキャッシュした予備取得データとの比較で連続して等しかった数を計数するためのカウント変数を設定するステップと、
対象アプリケーションへのユーザ操作がないときに、指定された所定の待ち時間の経過またはカウント変数の予め設定された所定の閾値の超過を計測するステップと、
所定の待ち時間が経過したときに、予備取得するデータ種別のデータを取得するステップと、
前記取得したデータと記憶装置にキャッシュした予備取得のデータとを比較するステップと、
等しければカウント変数をインクリメントするステップと、
等しくなければ、さらにログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得し、前記取得した予備取得するデータ種別のデータとともに記憶装置のキャッシュを更新するステップとからなる
ことを特徴とするユーザ操作のログ記録方法を提案する。
また、本発明の第五の発明として、第一乃至第四のいずれかの発明において、
予備取得するデータのデータ種別として、他のデータ種別のデータよりも高速に取得し比較することが可能なデータ種別を選択する
ことを特徴とするユーザ操作のログ記録方法を提案する。
また、本発明の第六の発明として、
コンピュータに第一乃至第五のいずれかの発明の各ステップを実行させるためのプログラムを提案する。
また、本発明の第七の発明として、
コンピュータ上で動作するアプリケーションに対するユーザ操作時のGUI表示状態を表すデータをログ取得プログラムにより取得し、ログとして記録する装置であって、
GUI表示状態を表すデータとして種別の異なるデータをそれぞれ取得可能な複数のログ取得プログラムを保持するとともに、当該各ログ取得プログラムが取得可能なデータ種別に関する情報を保持するGUI表示状態取得手段管理部と、
ログのGUI表示状態として取得するデータ種別の指定情報および予備取得するデータ種別の指定情報を登録するログ取得条件管理部と、
ログ取得条件管理部に登録されている予備取得するデータ種別のデータおよびログのGUI表示状態として取得する複数のデータ種別の各データを、GUI表示状態取得手段管理部に保持されている該当ログ取得プログラムをそれぞれ用いて取得し、記憶装置にキャッシュし、
ユーザ操作が発生した時、前記予備取得するデータ種別のデータを前記同様に取得して前記記憶装置にキャッシュした予備取得データと比較し、等しい場合は前記記憶装置にキャッシュした複数のデータ種別の各データをそのままログとして記録するとともに対象アプリケーションにユーザ操作のイベントを通知し、等しくない場合は前記ログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得してログとして記録するとともに対象アプリケーションにユーザ操作のイベントを通知し、
その後、ユーザ操作が発生するまでの間、所定の待ち時間毎に前記予備取得するデータ種別のデータを前記同様に取得して前記記憶装置にキャッシュした予備取得データと比較し、等しくない場合は前記ログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得し、前記取得した予備取得するデータ種別のデータとともに記憶装置のキャッシュを更新するログ取得部とを具備する
ことを特徴とするユーザ操作のログ記録装置を提案する。
本発明により、操作前記録方法と同様に正確にGUI表示状態を記録することができる。さらに従来の操作前記録方法と異なり、操作の都度、GUI表示状態として取得する全てのデータ種別を取得する必要がなくなり、アプリケーションの応答の遅延を防止することができる。
表示状態を示すオブジェクトデータの一例を示す説明図 従来の操作前記録方法のシーケンスの一例を示す説明図 従来の操作後記録方法のシーケンスの一例を示す説明図 従来の操作後記録方法のシーケンスの他の例を示す説明図 本発明の操作ログを記録する方法を実施する装置の実施の形態の一例を示す構成図 GUI表示状態のデータ種別とプログラムモジュールとの対応関係の一例を示す説明図 ログ取得条件管理部の保持内容の一例を示す説明図 本発明におけるGUIの状態のログ記録手続きの処理フロー図 本発明におけるGUIの状態のログ記録手続きの処理フロー図 本発明におけるGUIの状態のログ記録手続きの処理フロー図 ユーザ操作に伴うGUI表示状態の変化とそのときの取得情報および各変数の一例を示す説明図
図5は本発明のユーザ操作のログ記録方法を実施する装置の実施の形態の一例、ここでは周知のコンピュータ上に実現した例を示すもので、図中、1は入力装置、2は記憶装置、3は表示装置、4はコンピュータである。
入力装置1は、キーボード、マウス等からなり、ユーザがコンピュータ4に所定の情報、ここではGUI表示状態を示すデータ種別(画像データやオブジェクトデータ等)とそのデータを取得するログ取得プログラム(以下、プログラムモジュール)、さらにログのGUI表示状態として取得するデータ種別の指定、予備取得するデータ種別の指定、待ち時間の指定を入力し、さらに、操作ログの記録の開始と終了の指示を入力するためのものである。また、本来はログに記録する操作イベントの種別も指定する。これは、例えばマウス操作であれば、クリック、ダブルクリック、ドラッグ操作や、押下したマウスボタンの種類等であり、キーボード操作であれば、押したキーの内容、キーダウン、キーアップなどである。
なお、本発明では、ユーザが操作したときのGUIの表示状態をログに記録する方法に焦点にあてている。説明を簡単にするために、操作イベントの記録方法については、公知の技術と同様として説明を割愛する。
記憶装置2は、後述するログ取得部が図8、図9(または図10)に示す手続きを実施する際に必要とするキャッシュ変数や操作ログを格納する操作ログ変数を記録するためのものである。表示装置3は、液晶ディスプレイ、CRT等からなり、アプリケーションの画面を表示するとともに、コンピュータ4が実施する図8、図9(または図10)の手続き中の画面を必要に応じて表示するためのものである。
コンピュータ4は、GUI表示状態取得手段管理部5、ログ取得条件管理部6およびログ取得部7を構成し、ユーザ操作のログを記録する。
GUI表示状態取得手段管理部5は、入力装置1から入力されたGUI表示状態に関するデータ(画像データやオブジェクトデータ等)を取得する各プログラムモジュールを内部に登録・保持すると共に、GUI表示状態に関するデータの種別とそのデータを取得することができるプログラムモジュールとの対応関係を例えば、図6に示すにように登録・保持している。また、図8、図9(または図10)の手続きから呼び出されたときに対応するプログラムモジュールを実行し、GUI表示状態に関するデータを返す。
ログ取得条件管理部6は、入力装置1から入力された、ログのGUI表示状態(ユーザ操作時のGUI表示状態)として取得するデータ種別の指定と、予備取得するデータ種別の指定とを内部に登録・保持している。またログ取得条件管理部6は、入力装置1から入力された、所定の待ち時間を登録・保持している。
ログのGUI表示状態として取得するデータ種別の指定は、GUI表示状態取得手段管理部5に登録済みのデータ種別を指定する必要がある。本指定は異なる複数のデータ種別を指定しても良い。例えば、GUI表示状態取得手段管理部5に図6のデータ種別とプログラムモジュールが登録されている場合、画像データとオブジェクトデータを指定しても良いし、画像データのみ、あるいはオブジェクトデータのみを指定しても良い。
予備取得するデータ種別の指定も同様に、GUI表示状態取得手段管理部5に登録済みのデータ種別を指定する必要があるが、この指定はデータ種別を1つのみ選択する。よってGUI表示状態取得手段管理部5に図6のデータ種別とプログラムモジュールが登録されている場合は、画像データ、もしくはオブジェクトデータの指定ができる。なお、ログのGUI表示状態として取得するデータ種別として指定したデータ種別の中から、予備取得するデータ種別を指定する必要はない。
ログのGUI表示状態として取得するデータ種別として画像データとオブジェクトデータ、予備取得するデータ種別としてオブジェクトデータ、待ち時間が500msであるときのログ取得条件管理部6の保持内容を図7に示す。
ログ取得部7は、入力装置1からの操作ログの記録の開始の指示を受けて、図8、図9(または図10)の手続きを実施する。なお本説明では、図8の手続きを開始する前に操作対象アプリケーションを事前に起動しているものとして説明を進める。これはユーザが事前に起動させても良いし、本装置に操作対象アプリケーションの起動方法が与えられている場合には、操作ログの記録開始の指示を受けて本装置が操作対象アプリケーションを起動しても良い。
図8の手続きを実施するに当たっては、記憶装置2にGUI表示状態のデータを一時的に格納するキャッシュの役割をはたす変数Cと、これから取得する操作ログを格納する変数Lを用意する。
S1のステップではキャッシュ変数Cと操作ログ変数Lをクリアする。本説明ではこれら変数のクリアされた状態を定数nullが代入された状態で表すこととする。続くS2のステップでログ取得条件管理部6に登録されている予備取得するデータ種別Dを読み込む。さらにデータ種別Dをキーに、GUI表示状態取得手段管理部5が保持するデータの種別とそのデータを取得することができるプログラムモジュールの対応関係から、データ種別Dを取得するプログラムモジュールを特定し実行する。結果としてGUI表示状態に対するデータ種別DのデータとしてVを取得する。
S3のステップではログ取得条件管理部6に登録されているログのGUI表示状態として取得するデータ種別{D1,D2,…,DN}を読み込む。さらに読み込んだ各データ種別をキーに、GUI表示状態取得手段管理部5が保持するデータの種別とそのデータを取得することができるプログラムモジュールの対応関係から、各データ種別を取得するプログラムモジュールを特定しそのプログラムモジュールを実行する。結果、各データ{V1,V2,…,VN}を取得する。
さらにS4のステップでは、S2のステップで取得した予備取得データVとS3のステップで取得したGUI表示状態の各データ{V1,V2,…,VN}を記憶装置2のキャッシュ変数Cに代入し、C=(V,{V1,V2,…,VN})とし、操作回数をカウントする変数iに0を設定する。
S5のステップでは入力装置1から操作ログの記録終了の指示が入力されたかを判定し、記録終了の指示があれば処理を終了する。その指示がなければ、指示が入力装置1から入力されるまでS5からS13のステップを繰り返す。
まずS6のステップでは、ユーザが操作対象アプリケーションに対して操作を実施したかを検知する。発生していなければS5のステップに戻る。発生していればS7のステップに進み、まず変数iをインクリメントし、検知した操作イベントをeiとする。
さらにS8のステップでは、S2のステップと同様にログ取得条件管理部6に登録されている予備取得するデータ種別DのデータV’を取得する。なお、現段階では本装置は検知した操作イベントを操作対象アプリケーションへ通知していない状態であるため、アプリケーションは操作による画面遷移は発生していない。この状態でGUIの表示状態を取得する場合、操作直前の状態が取得されることに注意されたい。
S9のステップでは、現在のキャッシュ変数Cの予備取得したデータVとS8のステップで取得したデータV’の比較を実施する。もしVとV’が等しければ、S10のステップでキャッシュ変数CのGUI表示状態として取得した各データ{V1,V2,…,VN}をgi-1とする。等しくなければS11のステップにおいてS3のステップと同様に、ログ取得条件管理部6に登録されているログのGUI表示状態として取得するデータ種別{D1,D2,…,DN}の各データ{V1’,V2’,…,VN’}を取得してgi-1とする。
そしてS12のステップで操作前のGUI表示状態、操作イベント、操作後のGUI表示状態の組tiを(gi-1,ei,null)として、記憶装置2の操作ログ変数Lの末尾に追加する。なおこの時、i>0であるなら、すでにLに記録されているti-1の操作後のGUI表示状態をnullからgi-1に変更する。
S13のステップでは、キャッシュ変数Cの内容をクリアする。さらに操作イベントをアプリケーションへ通知し、別スレッドで図9(または図10)の手続きを起動した後、S5のステップへ戻る。
本発明の1つの特徴は、予備取得したデータとキャッシュの予備取得したデータをS8のステップで比較し、もしそのデータが同じであれば、キャッシュで取得したときのGUIの表示状態と現在の表示状態が同じであるとみなし、キャッシュで取得したGUI表示状態の各データを操作ログとして記録する点にある。これにより、操作イベントのタイミングで毎回、GUI表示状態の各データを取得する必要がなくなり、操作前記録方法に比べてアプリケーションの応答劣化を防止することが可能となる。
本発明ではGUIの表示状態が異なるかの判定はこの予備取得時に取得するデータで行う。ユーザはGUIの表示状態の変化を識別できるデータ種別を予備取得のデータ種別として指定する必要がある。また、GUI表示状態として取得する他のデータ種別よりも高速に取得、比較することができるデータ種別を予備取得として選択することにより、アプリケーションの応答劣化を防止するという効果をより大きくすることができる。
図9に、図8のS13のステップにおいて別スレッドで起動される手続きの一例を示す。本手続きは、操作後のGUI表示状態の変化をポーリング的に監視し、ユーザがアプリケーションを操作していない間にキャッシュ変数へGUI表示状態を蓄積することを目的としている。この手続きは図8の手続きと並列的に実行されることに注意されたい。
まずS21において操作対象アプリケーションへ操作が発生したかを調べ、もし操作が発生したらその時点で処理を停止する。操作が発生していなければS22のステップにおいて、時間の経過とともに値が増加する変数Tの値をリセットし0を代入する。
S23のステップでは、変数Tとログ取得条件管理部6に登録されている待ち時間Wを比較しT<Wであれば、待ち時間分、時間が経過していないため、再度S23のステップを繰り返す。もしT≧Wであれば待ち時間分時間が経過したので、S24のステップへと進み、図8の手続きのS2のステップと同様に、ログ取得条件管理部6に登録されている予備取得するデータ種別DのデータV’を取得する。S25のステップでは、現在のキャッシュ変数Cの予備取得したデータVとS24のステップで取得したデータV’の比較を実施する。もしVとV’が等しければ、既にキャッシュ変数に現在のGUI表示状態が蓄積されているため、S21のステップへと戻る。等しくなければS26のステップにおいて図8のS3のステップと同様に、ログ取得条件管理部6に登録されているログのGUI表示状態として取得するデータ種別{D1,D2,…,DN}の各データ{V1’,V2’,…,VN’}を取得する。
最後にS27のステップで、S24のステップで取得した予備取得データVとS26のステップで取得したGUI表示状態の各データ{V1,V2,…,VN}を記憶装置2のキャッシュ変数Cに代入し、C=(V,{V1’,V2’,…,VN’})とする。その後はS21のステップへと戻る。
なお、図9の手続きにおけるS23のステップでは、単純に待ち時間が経過したか判定し、経過したらS24からS27までのステップを実施しているため、GUIの変化が完了し表示が安定した後も毎回S24の予備取得を実施してしまう。そこで、図10に示すような、S25のステップのキャッシュ変数Cの予備取得データVとS24のステップで取得したデータV’との比較で連続して等しかった回数をカウントするためのカウント変数Countを設定してカウントし(S20,S29)、S23’のステップにおいてカウント変数Countが予め設定された所定の閾値THを超えた場合にはGUIの変化が完了したとみなし、以後はS24からS27までのステップを実施しないという手続きを図9の手続きの代わりに実施しても良い。
また、前述した実施の形態では、GUI表示状態取得手段管理部5、ログ取得条件管理部6およびログ取得部7をコンピュータ4上で実現した例を示したが、ハードウェアで実現しても良い。またこれら各装置が、適切な通信路で相互に接続された複数のハードウェア上に分散して存在し、相互に通信し合いながら実行することもできる。
本発明の装置がログの記録対象とするアプリケーションは、コンピュータ4において動作しても良いし、適切な通信路で相互に接続された別のハードウェア上で動作していても良い。
ここでは、本発明の実施例として、図5の構成をとった場合における操作ログの記録方法を説明する。
まず、本発明を利用するにあたって、事前にGUIの表示状態として取得するデータ種別とそのデータを取得するプログラムモジュールを入力装置1から入力する。ここでは、画像データに対してモジュールA、オブジェクトデータに対してモジュールBを入力し、これらの情報は、GUI表示状態取得手段管理部5に図6の状態で蓄積される。また、GUI表示状態として取得するデータ種別として画像データとオブジェクトデータを入力装置1から指定する。画像データとオブジェクトデータのどちらの取得・比較処理が高速であるかは、OSなどのプラットフォームごとに異なる。本実施例ではオブジェクトデータのほうが高速であると仮定し、予備取得するデータ種別として入力装置1からオブジェクトデータを指定する。さらに、待ち時間として500msを入力装置1から指定する。これらの入力パラメータは、ログ取得条件管理部6に蓄積され、図7の情報を保持する。
本発明の装置を利用するユーザは、操作対象アプリケーションを起動し(起動時のGUIをGUI Aとする。)、入力装置1へ操作記録の開始指示を入力する。この記録の開始指示を受け、ログ取得部7は図8および図9の手続きを実施し、操作ログを記録する。本実施例では図11に示すタイミングで操作イベントが発生した場合の本装置の動作を説明する。
(1)記録開始の指示直後、まず図8のS1を実施し、記憶装置2上のキャッシュ変数Cと操作ログ変数Lをクリアし、null値を代入する。
(2)次に図8のS2,S3のステップを実行して、現在のGUIの表示状態Aに関する予備取得のためにオブジェクトデータOBJ Aと、GUI表示状態として画像データIMG A,OBJ Aとを取得する。さらにS4のステップでキャッシュ変数Cへ(OBJ A,{IMG A,OBJ A})を格納する。なお、本実施例では予備取得で取得するオブジェクトデータは、GUI表示状態としても取得しているため、図11ではキャッシュ変数Cの予備取得のデータの表記は割愛し、GUI表示状態として取得したデータのみ表記する。
以降は入力装置1から操作ログ記録終了の通知があるまで繰り返し、操作対象アプリケーションへ操作が発生しているかを監視する(S5、S6のステップ)。
(3)操作イベントOP Aが発生したとき、図8のS7,S8のステップが実行され、i=1のもとで、e1=OP Aとなる。さらに予備取得としてオブジェクトデータの取得を実施し、結果としてGUI AのオブジェクトデータOBJ Aが取得される。
つづくS9のステップでキャッシュ変数Cの予備取得のデータOBJ A(図11の(2)のキャッシュ変数Cの内容)と直前に予備取得で取得したデータを比較する。この場合は等しいため、S10のステップでキャッシュ変数CのGUI表示状態{IMG A,OBJ A}をg0とする。つづく、S12のステップでt1=(g0,e1,null)を、記憶装置2の操作ログ変数Lの末尾に追加し、L=(g0,e1,null)とする。S13のステップではキャッシュ変数Cをクリアし、アプリケーションへ操作イベントOP Aを通知する。
さらに別スレッドで、図9の手続きを実施する。従来の操作前取得方法ではキャッシュや予備取得は実施していない。このため操作のタイミングでアプリケーションへ操作イベントを通知する前に毎回、画像データとオブジェクトデータの2つのデータを取得する処理時間が必要となり、アプリケーションの応答時間の劣化を招いていた。それに対して本発明では、操作よりも前に取得していたキャッシュ変数の情報を参照し、取得や比較時間の短いオブジェクトデータのみを取得し、キャッシュに蓄積しているGUI表示状態をログとして記録する。この例の場合、画像データの取得時間を省くことができ、従来よりもアプリケーションの応答時間を改善することができる。
(4)操作イベントOP AによってGUIがBへ変化する。その変化が完了する前、つまりまだGUIの表示がAのときに図9におけるGUI表示状態の取得が発生する場合を説明する。
このとき、操作対象アプリケーションへのユーザ操作はまだ発生していないため、S21からS23のステップへと進み、時間の経過を示す変数Tがログ取得条件管理部6の待ち時間500msよりも少ない間、S23のステップをループする。500ms以上時間が経過すると、S24のステップを実施し、予備取得でGUI AのオブジェクトデータであるOBJ Aを取得する。
さらにS25のステップでキャッシュ変数Cの予備取得のデータと比較するが、この場合はキャッシュ変数はクリアされた状態であるため、S26のステップへと進む。S26のステップでは、GUI表示状態として取得する画像データIMG AとオブジェクトデータOBJ Aを取得し、S27のステップでキャッシュ変数Cへ(OBJ A,{IMG A,OBJ A})を代入する。
(5)操作イベントOP AによるGUIのBへの変化が完了し、ユーザによる操作イベントは発生せずに図9におけるGUI表示状態の取得が発生する場合を説明する。
この場合(4)と同様に、S21からS24のステップへと進み、予備取得のデータとしてオブジェクトデータを取得する。このときGUIはBへと変化しているため、OBJ Bというデータを取得する。さらにS25のステップで、キャッシュ変数C(図11の(4)のキャッシュ変数Cの内容)の予備取得データOBJ Aと比較し、異なるデータであるため、S26のステップでGUIの表示状態としてIMG BとOBJ Bが取得される。S27のステップでキャッシュ変数Cが更新され、(OBJ B,{IMG B,OBJ B})と最新のGUIの表示状態を反映したものに変更される。
(6)GUI Bに対してユーザが操作を実施し、操作イベントとしてOP Bを検知した場合を説明する。
まず操作イベントを検知したため、図9のS21のステップにてこの手続きは一度終了する。また図8のS7,S8のステップが実行され、i=2のもとで、e2=OP Bとなる。さらに予備取得としてオブジェクトデータの取得を実施し、結果としてGUI BのオブジェクトデータOBJ Bが取得される。
つづくS9のステップでキャッシュ変数Cの予備取得のデータOBJ B(図11の(5)のキャッシュ変数Cの内容)と直前に予備取得で取得したデータを比較する。この場合は等しいため、S10のステップでキャッシュ変数CのGUI表示状態{IMG B,OBJ B}をg1とする。
つづく、S12のステップでt2=(g1,e2,null)を記憶装置2の操作ログ変数Lの末尾に追加し、さらにi>0であるためt1=(g0,e1,null)の操作後のGUI表示をg1へ置き換える。結果としてL=(g0,e1,g1) (g1,e2,null)となる。S13のステップではキャッシュ変数Cをクリアし、アプリケーションへ操作イベントOP Bを通知する。さらに別スレッドで、図9の手続きを実施する。
(7)操作イベントOP BによってGUIがCへ変化する。その変化が完了する前、つまりまだGUIの表示がCのときに図9におけるGUI表示状態の取得が発生する場合は、(4)のときと同様の処理が実施され、(7)のようなキャッシュ変数C、操作ログ変数Lの内容となる。
(8)操作イベントOP BによってGUIがCへ変化が完了し、図9におけるGUI表示状態の取得が発生する前にユーザが操作を実施した場合を説明する。
操作イベントとしてOP Cが本装置で検知され、図9のS21のステップにてこの手続きは一度終了する。また図8のS7,S8のステップが実行され、i=3のもとで、e3=OP Cとなる。さらに予備取得としてオブジェクトデータの取得を実施し、結果としてGUI CのオブジェクトデータOBJ Cが取得される。
つづくS9のステップでキャッシュ変数Cの予備取得のデータOBJ B(図11の(7)のキャッシュ変数Cの内容)と直前に予備取得で取得したデータを比較する。この場合は異なるデータであるため、S11のステップでGUI表示状態として取得する画像データとオブジェクトデータを取得する。
アプリケーションはGUI Cを表示しているためそれぞれIMG C,OBJ Cを取得し、g2={IMG C,OBJ C}とする。つづく、S12のステップでt3=(g2,e3,null)を記憶装置2の操作ログ変数Lの末尾に追加し、さらにi>0であるためt2=(g1,e2,null)の操作後のGUI表示をg2へ置き換える。結果としてL=(g0,e1,g1) (g1,e2,g2)(g2,e3,null)となる。S13のステップではキャッシュ変数Cをクリアし、アプリケーションへ操作イベントOP Cを通知する。さらに別スレッドで、図9の手続きを実施する。
以降は、入力装置1から操作記録終了の通知があるまで、同様の処理を繰り返す。
本発明では、操作前記録方法により正確にGUI表示状態を記録することができる。さらにユーザからの操作が実施されていない間に図9の手続きを実施することによって、GUIの表示状態を事前に取得しキャッシュしておく。ユーザが操作を行ったときは、GUI表示状態として取得するデータ種別の全てをいきなり取得せず、GUI表示状態の変化が検出可能で取得や比較が高速なデータ種別のテータを予備取得し、キャッシュのデータと比較する。もし同じデータだった場合は、既にキャッシュとして取得している各データ種別のデータを操作前のGUI表示状態として操作ログに記録する。これによって、従来の操作前記録方法と異なり、操作の都度、GUI表示状態として取得する全てのデータ種別を取得する必要がなくなり、アプリケーションの応答の遅延を防止することができる。
1:入力装置、2:記憶装置、3:表示装置、4:コンピュータ、5:GUI表示状態取得手段管理部、6:ログ取得条件管理部、7:ログ取得部。
"UIオートメーションの概要"、[online]、Microsoft Corpolation、[平成26年1月28日検索]、インターネット<URL:http://msdn.microsoft.com/ja-jp/library/ms747327.aspx> 中島一、増田健、高橋郁也、「業務アプリケーション操作可視化のためのハイブリッドなGUI状態の取得方式の提案」、電子情報通信学会技術研究報告、第111巻、第279号、pp.49-54、2011.11

Claims (7)

  1. コンピュータ上で動作するアプリケーションに対するユーザ操作時のGUI表示状態を表すデータをログ取得プログラムにより取得し、ログとして記録する方法であって、
    GUI表示状態を表すデータとして種別の異なるデータをそれぞれ取得可能な複数のログ取得プログラムを保持するとともに、当該各ログ取得プログラムが取得可能なデータ種別に関する情報を保持するGUI表示状態取得手段管理部と、
    ログのGUI表示状態として取得するデータ種別の指定情報および予備取得するデータ種別の指定情報を登録するログ取得条件管理部と、
    ログ取得部とを用い、
    ログ取得部により、ログ取得条件管理部に登録されている予備取得するデータ種別のデータおよびログのGUI表示状態として取得する複数のデータ種別の各データを、GUI表示状態取得手段管理部に保持されている該当ログ取得プログラムをそれぞれ用いて取得し、記憶装置にキャッシュする第1のステップと、
    ログ取得部により、ユーザ操作が発生した時、前記予備取得するデータ種別のデータを前記同様に取得して前記記憶装置にキャッシュした予備取得データと比較し、等しい場合は前記記憶装置にキャッシュした複数のデータ種別の各データをそのままログとして記録するとともに対象アプリケーションにユーザ操作のイベントを通知し、等しくない場合は前記ログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得してログとして記録するとともに対象アプリケーションにユーザ操作のイベントを通知する第2のステップと、
    ログ取得部により、その後、ユーザ操作が発生するまでの間、所定の待ち時間毎に前記予備取得するデータ種別のデータを前記同様に取得して前記記憶装置にキャッシュした予備取得データと比較し、等しくない場合は前記ログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得し、前記取得した予備取得するデータ種別のデータとともに記憶装置のキャッシュを更新する第3のステップとを具備する
    ことを特徴とするユーザ操作のログ記録方法。
  2. 前記第2のステップは、
    対象アプリケーションへのユーザ操作があった場合に予備取得するデータ種別のデータを取得するステップと、
    前記取得したデータと、記憶装置にキャッシュした予備取得するデータ種別のデータとを比較し、等しければ記憶装置にキャッシュした複数のデータ種別の各データをGUI表示状態として操作イベントと共に操作ログに記録するステップと、
    記録後に記憶装置のキャッシュをクリアし、対象アプリケーションへ操作イベントを通知するステップとからなる
    ことを特徴とする請求項1に記載のユーザ操作のログ記録方法。
  3. 前記第3のステップは、
    対象アプリケーションへのユーザ操作がないときに、指定された所定の待ち時間の経過を計測するステップと、
    所定の待ち時間が経過したときに、予備取得するデータ種別のデータを取得するステップと、
    前記取得したデータと記憶装置にキャッシュした予備取得のデータとを比較するステップと、
    等しくなければ、さらにログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得し、前記取得した予備取得するデータ種別のデータとともに記憶装置のキャッシュを更新するステップとからなる
    ことを特徴とする請求項1に記載のユーザ操作のログ記録方法。
  4. 前記第3のステップは、
    取得したデータと記憶装置にキャッシュした予備取得データとの比較で連続して等しかった数を計数するためのカウント変数を設定するステップと、
    対象アプリケーションへのユーザ操作がないときに、指定された所定の待ち時間の経過またはカウント変数の予め設定された所定の閾値の超過を計測するステップと、
    所定の待ち時間が経過したときに、予備取得するデータ種別のデータを取得するステップと、
    前記取得したデータと記憶装置にキャッシュした予備取得のデータとを比較するステップと、
    等しければカウント変数をインクリメントするステップと、
    等しくなければ、さらにログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得し、前記取得した予備取得するデータ種別のデータとともに記憶装置のキャッシュを更新するステップとからなる
    ことを特徴とする請求項1に記載のユーザ操作のログ記録方法。
  5. 予備取得するデータのデータ種別として、他のデータ種別のデータよりも高速に取得し比較することが可能なデータ種別を選択する
    ことを特徴とする請求項1乃至4のいずれかに記載のユーザ操作のログ記録方法。
  6. コンピュータに請求項1乃至5のいずれかに記載のユーザ操作のログ記録方法の各ステップを実行させるためのプログラム。
  7. コンピュータ上で動作するアプリケーションに対するユーザ操作時のGUI表示状態を表すデータをログ取得プログラムにより取得し、ログとして記録する装置であって、
    GUI表示状態を表すデータとして種別の異なるデータをそれぞれ取得可能な複数のログ取得プログラムを保持するとともに、当該各ログ取得プログラムが取得可能なデータ種別に関する情報を保持するGUI表示状態取得手段管理部と、
    ログのGUI表示状態として取得するデータ種別の指定情報および予備取得するデータ種別の指定情報を登録するログ取得条件管理部と、
    ログ取得条件管理部に登録されている予備取得するデータ種別のデータおよびログのGUI表示状態として取得する複数のデータ種別の各データを、GUI表示状態取得手段管理部に保持されている該当ログ取得プログラムをそれぞれ用いて取得し、記憶装置にキャッシュし、
    ユーザ操作が発生した時、前記予備取得するデータ種別のデータを前記同様に取得して前記記憶装置にキャッシュした予備取得データと比較し、等しい場合は前記記憶装置にキャッシュした複数のデータ種別の各データをそのままログとして記録するとともに対象アプリケーションにユーザ操作のイベントを通知し、等しくない場合は前記ログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得してログとして記録するとともに対象アプリケーションにユーザ操作のイベントを通知し、
    その後、ユーザ操作が発生するまでの間、所定の待ち時間毎に前記予備取得するデータ種別のデータを前記同様に取得して前記記憶装置にキャッシュした予備取得データと比較し、等しくない場合は前記ログのGUI表示状態として取得する複数のデータ種別の各データを前記同様に取得し、前記取得した予備取得するデータ種別のデータとともに記憶装置のキャッシュを更新するログ取得部とを具備する
    ことを特徴とするユーザ操作のログ記録装置。
JP2014027192A 2014-02-17 2014-02-17 ユーザ操作のログ記録方法、そのプログラムおよび装置 Active JP6037397B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014027192A JP6037397B2 (ja) 2014-02-17 2014-02-17 ユーザ操作のログ記録方法、そのプログラムおよび装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014027192A JP6037397B2 (ja) 2014-02-17 2014-02-17 ユーザ操作のログ記録方法、そのプログラムおよび装置

Publications (2)

Publication Number Publication Date
JP2015153210A JP2015153210A (ja) 2015-08-24
JP6037397B2 true JP6037397B2 (ja) 2016-12-07

Family

ID=53895362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014027192A Active JP6037397B2 (ja) 2014-02-17 2014-02-17 ユーザ操作のログ記録方法、そのプログラムおよび装置

Country Status (1)

Country Link
JP (1) JP6037397B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708417B (zh) * 2015-11-13 2020-08-11 阿里巴巴集团控股有限公司 缓存数据的管理方法及装置
KR102502982B1 (ko) 2016-03-03 2023-02-22 엘에스일렉트릭(주) 데이터 기록 장치
JP7106346B2 (ja) * 2018-05-11 2022-07-26 東芝テック株式会社 情報処理装置及び情報処理プログラム
US11966312B2 (en) 2019-05-23 2024-04-23 Nippon Telegraph And Telephone Corporation Operation logs visualization device, operation logs visualization method and operation logs visualization program
JP7235110B2 (ja) 2019-06-11 2023-03-08 日本電信電話株式会社 操作ログ取得装置、操作ログ取得方法および操作ログ取得プログラム
US11928160B2 (en) 2019-06-17 2024-03-12 Nippon Telegraph And Telephone Corporation Classification device, classification method, and classification program
US11875024B2 (en) * 2020-05-15 2024-01-16 Nippon Telegraph And Telephone Corporation User operation recording device and user operation recording method
WO2022180863A1 (ja) * 2021-02-26 2022-09-01 日本電信電話株式会社 ユーザ操作記録装置およびユーザ操作記録方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021438A (ja) * 2002-06-13 2004-01-22 Nec Corp 情報処理装置のユーザ操作履歴収集機構、ユーザ操作履歴収集プログラムおよびユーザ支援システム
JP4600493B2 (ja) * 2008-03-04 2010-12-15 日本電気株式会社 クライアントサーバシステム
JP6107337B2 (ja) * 2012-04-17 2017-04-05 富士電機株式会社 操作記録装置、操作記録方法及び操作記録プログラム

Also Published As

Publication number Publication date
JP2015153210A (ja) 2015-08-24

Similar Documents

Publication Publication Date Title
JP6037397B2 (ja) ユーザ操作のログ記録方法、そのプログラムおよび装置
US10459780B2 (en) Automatic application repair by network device agent
US11023355B2 (en) Dynamic tracing using ranking and rating
US10652274B2 (en) Identifying and responding to security incidents based on preemptive forensics
US9451017B2 (en) Method and system for combining trace data describing multiple individual transaction executions with transaction processing infrastructure monitoring data
US8789181B2 (en) Flow data for security data loss prevention
KR20190075972A (ko) 로그 파일들로부터 프로세스 흐름들을 식별하고 흐름을 시각화하기 위한 시스템들 및 방법들
US20170085458A1 (en) Real-Time Monitoring of Computer System Processor and Transaction Performance During an Ongoing Performance Test
US20140258872A1 (en) Passive Monitoring of Live Virtual Desktop Infrastructure (VDI) Deployments
WO2018184361A1 (zh) 应用程序测试方法、服务器、终端和存储介质
US10305762B2 (en) Techniques for determining queue backlogs, active counts, and external system interactions in asynchronous systems
CN113032237A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
CN119883773B (zh) 一种bios运维方法、系统及存储介质
US10108474B2 (en) Trace capture of successfully completed transactions for trace debugging of failed transactions
CN115982049A (zh) 性能测试中的异常检测方法、装置和计算机设备
CN112817831A (zh) 应用性能监测方法、装置、计算机系统和可读存储介质
CN113792341A (zh) 应用程序的隐私合规自动化检测方法、装置、设备及介质
CN116302989A (zh) 压力测试方法及系统、存储介质、计算机设备
CN108073499B (zh) 应用程序的测试方法及装置
US20180314765A1 (en) Field name recommendation
US20180219752A1 (en) Graph search in structured query language style query
US20160050101A1 (en) Real-Time Network Monitoring and Alerting
CN113656314A (zh) 压力测试处理方法及装置
CN111506455A (zh) 服务发布结果的查验方法及装置
CN110633165A (zh) 故障处理方法、装置、系统服务器及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161018

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: 20161026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161026

R150 Certificate of patent or registration of utility model

Ref document number: 6037397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350