JP6218767B2 - ユーザ対話パターンモニタのための方法、サーバ、及びエージェント - Google Patents

ユーザ対話パターンモニタのための方法、サーバ、及びエージェント Download PDF

Info

Publication number
JP6218767B2
JP6218767B2 JP2015055517A JP2015055517A JP6218767B2 JP 6218767 B2 JP6218767 B2 JP 6218767B2 JP 2015055517 A JP2015055517 A JP 2015055517A JP 2015055517 A JP2015055517 A JP 2015055517A JP 6218767 B2 JP6218767 B2 JP 6218767B2
Authority
JP
Japan
Prior art keywords
pattern
group
identifier
user
user interaction
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
JP2015055517A
Other languages
English (en)
Other versions
JP2015185166A (ja
Inventor
モルガン スンドクヴィスト
モルガン スンドクヴィスト
ヌルミ サム
ヌルミ サム
Original Assignee
ピンクドム アーベー
ピンクドム アーベー
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 ピンクドム アーベー, ピンクドム アーベー filed Critical ピンクドム アーベー
Publication of JP2015185166A publication Critical patent/JP2015185166A/ja
Application granted granted Critical
Publication of JP6218767B2 publication Critical patent/JP6218767B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/3409Recording 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 for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • 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/3438Recording 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 monitoring of user actions
    • 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/22Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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/3409Recording 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 for performance assessment
    • 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/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、サーバとインタフェース接続するクライアント・アプリケーションにおけるユーザ対話パターンをモニタするために分析サーバが実行する方法に関する。本発明は、さらに、該方法を実行する分析サーバに関する。本発明は、さらに、分析データを特定して分析サーバに転送するためにクライアント計算機上で実行されるエージェントに関する。
クライアント・アプリケーション、例えばWebサイトをレンダリングするWebブラウザにおけるユーザ対話をモニタする理由は、いくつかある。一つの理由は、初期段階で、エラーがクライアント・アプリケーションにおいて発生したことを発見することである。このようなエラーには、例えば、ボタン又はドロップダウンがもはや適切に機能していないことがある。クライアント・アプリケーションでのこのようなエラーによって、クライアント・アプリケーションのユーザ対話パターンが変わることがある。該モニタは、また、統計的利用の目的で行われることがある。
上記のようなユーザ対話のモニタ・プロセスには、しばしば、複雑で、継続的に変化するセットアップ・シナリオが関係する。新しいプロセスの実装、展開がこれまで以上に迅速に行われている。クライアント・アプリケーションにおいて実装又は変更されたすべての新しいプロセスに対して、該新しいプロセスが正しく機能することを確認するためにモニタを実装する必要がある。これは、歴史的に、対話パターンをスクリプトで記述し、エージェントに該スクリプトを実行させ、そして、実ユーザによる該クライアント・アプリケーションの使用をシミュレートすることにより行われてきた。この手法は、リソースが重く複雑になる。この理由は、スクリプトの人手記述が新しいプロセス毎に必要になるからである。また、それぞれの新しいプロセスを特定し定義することもリソースを重くする。前記クライアント・アプリケーションの開発毎に、新たなモニタ・スクリプトの追加、又は既存のスクリプトの変更が必要になることがある。
US2013−0067327(IBM社(登録商標))には、ユーザのアクションを記録するイベント・パターン・スクリプトを記録するためのソリューションが記載されている。ユーザ自身が該記録を始動して、該アプリケーションと対話することができる。これらのスクリプトは、後で使用して比較し、異常を発見することができる。該文献に記載された方法は、リソースが重く、かつ複雑であり、また、人間の対話が必要である。また、新しいプロセスが実装されると、明らかに、新しいスクリプトの記録が必要になる。
さらに、前記クライアント・アプリケーションがサーバに接続されることがある。そして、ユーザ対話は、データ・トラフィックのイベントを発生させ、該イベントが該クライアント・アプリケーションとサーバの間で送信されることがある。このような設定では、該サーバにおけるエラーによってもまた、該クライアント・アプリケーションのユーザ対話パターンが変わることがある。ユーザ対話をモニタする通常の手法は、歴史的に、ユーザ対話へ応答するときのサーバの処理を分析することによって行われてきた。この手法では、依然、新しいモニタ・スクリプト又は分析スクリプトが、新しいプロセスの実装毎に必要になる。さらに、クライアント・アプリケーションのオーナは、サーバに対するホスト型ソリューションを使用する場合、該サーバへのアクセス権を持ってない可能性がある。
したがって、ユーザ対話パターンをモニタする改良された方法に対するニーズが存在する。
そこで、本発明の目的は、一つ又は複数の上記問題点を解決するか、少なくとも、削減することである。上記の目的は、基本的には、添付特許請求範囲の独立請求項によって達成される。
第一の態様によれば、本発明は分析サーバによって実行される方法によって実現される。該方法は、サーバとインタフェース接続し、かつ、クライアント計算機上でレンダリングされるクライアント・アプリケーションにおけるユーザ対話パターンをモニタする。この方法には、クライアント計算機上で実行されるエージェントから、クライアント・アプリケーションとのユーザ対話のシーケンス、及び、該クライアント・アプリケーションとサーバ間のユーザ対話に応答して行われたデータ・トラフィックのイベントに関連する分析データを受信するステップが含まれる。各ユーザ対話及び各データ・トラフィックのイベントは、ユーザ対話を実行するユーザのユーザ識別子に対応付けられている。
該方法はさらに以下のステップを含む。すなわち、各ユーザ対話と、該ユーザ対話に応答して行われたデータ・トラフィックのイベントのすべてと、をグルーピングして、そして、各グループを該ユーザ対話と該グループにグルーピングされたデータ・トラフィックのイベントのすべてに基づくグループ識別子を用いてラベル付けし、かつ、各グループを、ユーザ対話に対応付けられた前記ユーザ識別子と対応付けすることによって、前記分析データからグループを形成するステップを含む。
該方法は、さらに、以下のステップを含む。すなわち、前記分析データ内の各ユーザ識別子に対して、ユーザ識別子に対応付けられた形成済みグループ間のパターンを識別するステップであって、各パターンは、少なくとも開始グループ及び終了グループを含む該形成済みグループのシーケンスを含み、かつ、ユーザ対話のシーケンスに対応しており、そして、該パターンに属する該グループのシーケンスのグループ識別子に基づくパターン識別子で各パターンのラベル付けを行うステップと、少なくとも各パターンのパターン識別子を含む、識別済みパターンに関連する情報をデータ格納手段に格納するステップと、を含む。
前記方法はさらに、前記データ格納手段に格納された、識別済みパターン識別子の各々に対して、前記形成済みグループの中から識別済みパターン識別子のノーマル状態を算出するステップを含む。該ノーマル状態は、2つの値の間の差異に基づいて算出される。第一の値は、該パターンの開始グループと同一のグループ識別子を持つグループに対応する、ユニークなユーザ識別子の数である。第二の値は、識別されたパターン識別子を持つパターンのグループのシーケンスと同一のグループ識別子を持つグループのシーケンス内の各々のグループに関係付けられる、ユニークなユーザ識別子の数である。
用語「クライアント・アプリケーション」によって本明細書の文脈で理解されるべきものには、例えば、Webブラウザ、スマートクライアント・アプリケーション、シン・クライアント、又はクライアント計算機上で実行される他のソフトウェアベースのアプリケーションがある。クライアント計算機には、デスクトップ・コンピュータ、ラップトップ・コンピュータ、スマート・フォン、タブレット・コンピュータ、及びスマート・ウォッチ等がある。
用語「サーバ」によって本明細書の文脈で理解されるべきものには、任意の種類のサーバがあり、例えば、Webサーバ、Webページや画像等のコンテンツを保存するサーバとして動作するローカル・サービス、電子メール等があり、ローカルには(すなわち、クライアント計算機上で実行中のサービスには)、専用のネットワーク・サーバのようなリモート・キャッシュ・サーバがある。
用語「データ・トラフィック」によって本明細書の文脈で理解されるべきものには、任意の種類のデータ・トラフィックがあり、該データ・トラフィックは、HTTP、TCP、JSON、WebSocket等の任意の種類のプロトコル又はフォーマットを使用すると理解されるべきである。
用語「クライアント計算機上で実行されるエージェント」によって本明細書の文脈で理解されるべきものには、例えば、クライアント側スクリプト、又は任意の他のソフトウェア・アプリケーションがある。該スクリプト、又は他のソフトウェア・アプリケーションは、ユーザ対話、及びクライアント・アプリケーションへの、及びクライアント・アプリケーションからのデータ・トラフィックのイベントを識別することができて、さらに、該データを、ユーザ対話パターンをモニタする分析サーバ等のリモートサーバに送信する。
用語「分析データ」によって本明細書の文脈で理解されるべきものには、すべてのクライアント計算機からのデータがあり、該クライアント計算機では、エージェントがインストールされ又は実行中であり、同時にクライアント・アプリケーションを実行中である。なお、該エージェント(複数可)からのデータは継続的に受信されており、分析サーバは受信したデータから継続的にグループを形成し、かつ、該形成済みグループは該分析サーバ、すなわち、RAMやディスク(又は、分析サーバに接続されたデータベース)に格納される。これは、次のいずれかの条件が満たされるまで継続される。一実施形態によると、該条件には、一定数のグループが形成されたことが含まれる。他の実施形態によれば、該条件には、グループが、1時間、1分、1日、又は他の適切な時間枠の間に形成されることが含まれる。さらに別の実施形態によると、該条件には、該格納された形成済みグループのバイト・サイズがしきい値のバイト・サイズを超えたことが含まれる。本発明の方法の残りのステップは、上記条件のいずれかが満たされるときに続けて実行される。
前記形成済みグループをディスク上に格納することの利点は、該形成済みグループ間でのパターンを識別するときにスライディング・ウィンドウ手法を採用することができることである。この意味は、新たに形成、格納したグループに対して、以前に格納されたグループの中でパターンが既に識別されているグループは、パターンを識別するために再利用することができることであり、この時点で、新しいグループが追加され、かつ、以前から格納されているグループのうちの、例えば、第1グループを削除してもよい。このため、該格納されたグループは、先入れ先出し(FIFO)キュー上で観測することができ、該キューは、パターンを識別するために継続的に使用される。
用語「ユーザ対話」には、クライアント・アプリケーションとのユーザ対話の任意の種類が包含されると理解されるべきであり、例えば、ボタンのクリック、ドロップ・ダウンリストでの選択、チェックボックスのチェック有無、メニュー項目を選択するリンクのクリック等がある。
なお、分析データから作られるグループは、同一ユーザによって実行される、すなわち、同一のユーザ識別子に対応付けられている、一つ又は複数のユーザ対話、及び、一つ又は複数のユーザ対話と対応付けられたサーバに対してかつ該サーバから送信されるデータ・トラフィックのすべてのイベントを含むことができる。
用語「ユーザ対話のシーケンス」によって本明細書の文脈で理解されるべきことは、一つのパターンが、ユーザ対話を含む第一のグループと、後続のユーザ対話を含む少なくとも一つの第二のグループとを含み、かつ、少なくとも2つのユーザ対話が同一ユーザによって実行されることである。これは、さらに、本明細書の詳細な説明で例示される。
用語「ユーザ識別子」によって本明細書の文脈で理解されるべきものは、特定のユーザを識別する任意の種類の識別子である。該ユーザ識別子は、セッション単位又は特定のクライアント計算機単位でユニークにすることができる。クライアント計算機は、例えば、該クライアント計算機のIP番号又は、ネットワークカードのMACアドレスで決まる。さらに、クライアント・ソフトウェアのライセンスを使用するか、又はアプリケーション起動時にライセンス・マネージャにソフトウェア・ライセンスを照会するか、又は、専用のユーザ識別子提供サーバ/サービスに、ユニークに決まっているユーザ識別子を照会する。該ユーザ識別子は、さらに、クライアント計算機毎の専用の時間枠の間、又は、クライアント計算機を使用するユーザのログインに基づく時間枠の間、同一である。
用語「データ格納手段」によって本明細書の文脈で理解されるべきものは、RAM、ディスク、又はデータベース等の任意の種類の記憶手段である。該データ格納手段は、分析サーバから遠隔地にあってもよいし、又は分析サーバ上にローカルに存在してもよい。データベースには、複数個のデータベースを備えた分散データベースがある。該データ格納手段は、例えば、RAMとデータベースの両方を含んでよく、又は、上述の格納手段の任意の他の組み合わせを含んでもよい。
本発明が基づいている知見は、エージェントをクライアント上に配置すること、例えば、Webサイトに簡単なスクリプトを配置すること、及び、クライアント・アプリケーションとのユーザ対話に関連するすべてのデータ、及び、ユーザ対話に応答して行われたクライアント・アプリケーションとサーバ間のデータ・トラフィックのイベントとを分析サーバへ送信することによって、ユーザ対話のモニタを行うために必要な構成を実質的に削減することができる、ということである。新しいプロセスに対しては、ユーザによるスクリプト記述又は定義は必要ない。代わりに、このような新しいプロセスは、分析サーバによって自動的に識別され、モニタされる。
分析サーバは、ユーザ識別子に対応付けられたデータを受信するので、ユーザ対話のシーケンスを追跡して、該シーケンス及び対応するデータ・トラフィックのイベントをパターンとして格納することができる。少なくとも一つのユーザ対話と該ユーザ対話に対応付けられた任意のトラフィック・イベントをグルーピングして、該グループを、グルーピングした対話とイベントに関連する分析データ(の一部)に基づくグループ識別子でラベル付けすることにより、該グループ識別子を使用して、前記分析データ中で同一グループ識別子を持つ他のグループを検索することができる。ここで、同一のグループ識別子で識別されたグループは、異なるユーザによって行われたユーザ対話から生じる可能性がある。従って、本発明は、パターンのモニタに関しては、異なるユーザによって実行されるユーザ対話を「同一のユーザ対話」として特定することを可能にする。
特定のユーザから形成されたグループから特定されるパターンと、他のユーザから形成されたグループから特定されるパターンとは、該パターンのグループのグループ識別子がユーザ間で一致する場合、上記と同様にして同一と考えることができる。
なお、識別済みパターンに関する情報を格納するステップは、識別済みパターンのパターン識別子が既にデータ格納手段に存在するかどうかをチェックして、識別済みパターンのパターン識別子がデータ格納手段に存在しない場合にのみ、該情報を格納するステップを含んでもよい。
全てのパターンを識別し、パターン識別子でラベル付けした後、形成済みグループ内のすべての識別されたユーザ全体のパターンのノーマル状態を計算することができる。基本的に、これは、パターンを開始するユーザ数と該パターンを終了するユーザ数を比較することによって行われる。該状態は、従って、パーセンテージとして定義することができる。例えば、AとBが二つのグループを表すとして、シーケンスA−Bのノーマル状態が33%で、シーケンスA−Cのノーマル状態が20%とする。残りの47%では、例えば、グループAに対するユーザ対話が発生した後に、クライアント・アプリケーションを終了している。これの意味するところは、もし100人がパターンA−Cを開始している場合、すなわち、ユニークなユーザ識別子の数(100)が、識別済みパターン識別子(例えば、「A−C」)を持つパターンの開始グループと同一のグループ識別子(例えば、「A」)を持つグループと対応付けられている場合、20人のユーザが該パターンを終了している、すなわち、ユニークなユーザ識別子の数(20)が、識別済みパターン識別子(例えば、「A−C」)を持つパターンのグループのシーケンス(例えば、グループAにグループCが続いているシーケンス)と同一のグループ識別子(例えば、「A」、「C」)を持つグループのシーケンス(例えば、グループAにグループCが続いているシーケンス)に対応されている。これは、さらに、本出願の詳細な説明において説明される。
本発明が有利である理由は、クライアント・アプリケーション又はサーバ上に実装された新しいプロセスが直ちに新しいパターンを生じさせて、該新しいパターンが分析サーバによって識別され、ノーマル状態を与えられるということである。スクリプトの記述又は人手による同様の交信は不要である。
本発明のいくつかの実施形態によれば、各ユーザ識別子は、少なくとも一つのユーザ・タイプを含む。本実施形態によれば、この方法は、さらに、データ格納手段に格納された識別済みパターン識別子の各々に対して、及び少なくとも一つのユーザ・タイプのうちの特定のユーザ・タイプの各々に対して、形成済みグループの中で、特定のユーザ・タイプに対する識別済みパターン識別子のノーマル状態を計算するステップを含む。該ノーマル状態は、2つの値の間の差に基づいている。第一の値は、該特定のユーザ・タイプを含み、かつ、該識別済みパターン識別子を持つパターンの開始グループと同一のグループ識別子を持つグループに対応する、ユニークなユーザ識別子の数であり。第二の値は、該特定のユーザ・タイプを含み、かつ、該識別済みパターン識別子を持つパターンの該グループのシーケンスと同一のグループ識別子を持つグループのシーケンスに対応付けられた、ユニークなユーザ識別子の数である。
ユーザ対話をモニタする場合、特定のタイプのユーザの対話をモニタすることが有意な場合がある。これを支援するために、各ユーザ識別子は、ユーザのタイプに関する情報を含むユーザ・タイプを少なくとも一つ含むことができる。該ユーザ・タイプは、例えば、ユーザが使用しているWebブラウザの種類、ユーザが住んでいる国及び/又は都市、又はユーザが使用するインターネット・サービス・プロバイダ(ISP)等を指定することができる。特定のユーザ・タイプに対するパターンのノーマル状態は、パターンのノーマル状態の全体に対する場合と同様に実現されるが、特定のユーザ・タイプ、すなわち、Mozilla Firefox(登録商標)又はMozilla Sweden(登録商標)を持つユーザに対するグループ及びパターンのみが、ノーマル状態を計算するために使用される。
本発明のいくつかの実施形態によれば、前記方法は、さらに、前記データ格納手段に格納された、識別され、二つ以上のグループを含み、かつ、少なくとも同一の開始グループと終了グループを持つパターンをグルーピングするステップを含む。該方法は、さらに、それぞれのグルーピング済みパターン毎に、該グルーピング済みパターンをパターン識別子でラベル付けするステップを含んでもよい。該パターン識別子は、グルーピング済みパターンの中にあるグルーピングされたパターンのグループのシーケンスのグループ識別子に基づいている。前記方法は、さらに、前記グルーピング済みパターンに関連する情報を前記データ格納手段に格納するステップを含む。ここで、該情報には、少なくとも、該グルーピング済みパターンのパターン識別子が含まれる。次に、該グルーピング済みパターンをラベル付けする該パターン識別子に対する前記ノーマル状態の計算が、グルーピングされた格納済みパターンのノーマル状態を該グルーピング済みパターン内に追加することによって行われる。
ユーザ対話の可能なシーケンスを多く含むクライアント・アプリケーションでは、あるタイプの識別済みパターンをグルーピング済みパターンにグルーピングして、ユーザ対話のより多くの一般的なシーケンスのノーマル状態を計算し、かつモニタすることが有意義であろう。該あるタイプの識別済みパターンは、少なくとも同一の開始グループと同一の終了グループを含む。
本発明のいくつかの実施形態によれば、前記方法は、さらに、各々の計算されたノーマル状態毎に、対応するパターン識別子に対するノーマル状態と、該対応するパターン識別子とを前記データ格納手段に格納するステップを含む。この意味することは、形成済みグループ間で識別済みパターン識別子の任意のノーマル状態、及び/又は、特定のユーザ・タイプに対する識別済みパターンの識別子の任意のノーマル状態、及び/又は、グルーピング済みパターンをラベル付けするパターン識別子に対する任意のノーマル状態のうちのノーマル状態を前記データ格納手段に格納することができることである。任意のタイプのパターン(例えば、パターン識別子)の格納済みのノーマル状態は、統計目的、又は、任意の他のタイプのユーザ対話をモニタする目的のために使用することができる。
本発明のいくつかの実施形態によれば、前記グルーピング済みパターンをラベル付けする、前記パターン識別子と前記ノーマル状態を格納するステップの実行は、グルーピング済みパターン内でグルーピングされている該格納されたパターンの該ノーマル状態のうちの少なくとも一つが閾値レベル未満である場合に実行される。本実施形態によれば、ノーマル状態が少ないパターンのみが格納される。すなわち、例えば、ユーザがグループTに進む前にグループDからグループEに進むことが異常であり、グループDからグループB、グループTと進むことがはるかに一般的である場合、有意なことは、該2つのパターンをグルーピング済みパターン、D−E|B−Tにグルーピングして該パターンのノーマル状態をモニタすることであろう。この理由は、異常なパターンD−E−Tのノーマル状態は、大多数のユーザが該シーケンスのユーザ対話を実行する場合にのみ急変動する可能性があるためである。
本発明のいくつかの実施形態によれば、該方法は、さらに、一定期間に亘ってパターン識別子の前記ノーマル状態の変化をモニタするステップと、該ノーマル状態の変化が閾値を超えた場合にエラー状態を生成するステップとを含むことができる。
本実施形態の利点は、分析サーバが、パターンのノーマル状態の変化を検出し、エラー状態を生成して、該エラー状態を、例えば、Webサイトの管理者又はクライアント・アプリケーションのオーナのサポート/品質部門に送信することができるということである。該エラー状態を使用して、該クライアント・アプリケーションが正しく機能していることを確認することができる。
本発明のいくつかの実施形態によれば、前記方法は、さらに、あるパターン識別子の特定のユーザ・タイプに対する前記ノーマル状態の変化を一定期間に亘ってモニタするステップと、該ノーマル状態の変化が閾値を超えた場合にエラー状態を生成するステップと、を含む。
本実施形態の利点は、分析サーバが、特定のユーザ・タイプに対して、パターンのノーマル状態の変化を検出し、エラー状態を生成して、該エラー状態を、例えば、Webサイトの管理者又はクライアント・アプリケーションのオーナのサポート/品質部門に送信することができることができるということである。該エラー状態を使用して、該クライアント・アプリケーションが正しく機能していることを確認することができる。
本発明のいくつかの実施形態によれば、前記期間の長さは、該期間におけるクライアント・アプリケーションとのユーザ対話の数に基づいている。したがって、該方法は、例えば、夜間や大きな休暇期間に、クライアント・アプリケーションと対話するユーザの数の急激な変化に対してより大きな耐性がある。
本発明のいくつかの実施形態によれば、前記期間の長さは、前記サーバ上の時限的な変化に基づいている。したがって、本方法は、例えば、Webサイト上のキャンペーンに対してより大きな耐性がある。このWebサイト上のキャンペーンは、短時間でユーザ対話パターンのノーマル状態を変更する可能性がある。この場合には、Webサイトの管理者は、ノーマル状態の変動を予想しているので、エラー状態の送信を望まないこともある。
本発明のいくつかの実施形態によれば、各々のクライアント・アプリケーションは、複数のサーバとインタフェース接続することができる。前記エージェントは、クライアント計算機上のみで実行されるので、各サーバに、又は、各サーバから送信されるデータ・トラフィックをモニタする必要のあるサーバの数には影響されない。本発明の方法の拡張性と簡明性は、モニタ・エージェントが、複数のサーバに存在しなければならない場合に比べて、大幅に改善されている。
本発明のいくつかの実施形態によれば、前記クライアント・アプリケーションは、WebサイトをレンダリングするWebブラウザであり、前記グループ識別子は、ユーザ対話が実行されるWebページの状態に基づいている。
用語「Webページの状態」によって本明細書の文脈で理解されるべきものには、例えば、Webページ上のAjaxコントロールにおけるコンテンツ、又は、ドロップ・ダウン・メニューにおける現在選択された項目、又は、Webページ上の任意の可能な状態がある。前記グループ識別子は、ユーザ対話が行われたときに、クライアント・アプリケーションがどのような状態にあるかに基づくことができる。Webページの状態を使用して、どういう要素がWebページを構築しているかに関係なく、これを達成することができる。いくつかの実施形態によれば、Webページの状態は、WebページのURLであってもよい。
本発明のいくつかの実施形態によれば、グループ識別子で各グループをラベル付けするステップは、前記データ・トラフィックのイベント及び前記対応するユーザ対話から、クライアント・アプリケーション・セッション固有のデータを削除し、そして、次に、該データ・トラフィックのイベント及び該対応するユーザ対話の残りの部分に基づくグループ識別子で各グループをラベル付けするステップを含む。本発明のいくつかの実施形態によれば、分析データは、データベース、又は上記で定義された他のデータ格納手段に保存される。ユーザ固有のデータ及びセッション固有のデータをデータ・トラフィックのイベント及びユーザ対話に関連するデータから除去することにより、前記格納するステップをより速く実行し、必要なメモリを少なくすることができる。削除されるデータは、例えば、タイムスタンプ、データ・トラフィックのイベントに含まれるデータの一部のユニークな識別子、プロトコル固有のデータ等に関係する。また、以降の分析のためのデータを一時的に(すなわち、上記の議論のいずれかの条件が満たされるまで)保存する前にユーザ固有のデータ及びセッション固有のデータをデータ・トラフィックのイベント及びユーザ対話に関連するデータから除去することにより、前記格納ステップは必要とするメモリを少なくし、より時間効率をよくすることができる。さらに、ユーザ固有のデータ及びセッション固有のデータをデータ・トラフィックのイベント及びユーザ対話に関連するデータから除去することにより、グルーピング及びグループの識別を大幅に単純化することができる。
第二の態様において、本発明は、サーバとインタフェース接続しクライアント計算機上でレンダリングされるクライアント・アプリケーションにおけるユーザ対話パターンをモニタするための分析サーバを提供する。
前記分析サーバは、クライアント計算機上で実行されるエージェントから、分析データを受信するように適合された受信部を有する。該分析データは、該クライアント・アプリケーションとのユーザ対話のシーケンス、及び、該ユーザ対話に応答して行われた、該クライアント・アプリケーションと該サーバ間のデータ・トラフィックのイベントを含む。各ユーザ対話及びデータ・トラフィックのイベントは、該ユーザ対話を実行するユーザのユーザ識別子に対応付けられている。
該分析サーバはさらに、前記分析データからグループを形成するように適合されたイベント・グルーピング部を有する。該グループの形成は、各ユーザ対話と、該ユーザ対話に応答して行われたデータ・トラフィックのイベントのすべてと、をグルーピングし、各グループを、該ユーザ対話及び該グループにグルーピングされたデータ・トラフィックのイベントのすべてと、に基づくグループ識別子でラベル付けし、そして、各グループを該ユーザ対話に対応付けられている該ユーザ識別子とを対応付けることによって行われる。
分析サーバは、さらに、パターン識別部を有する。該パターン識別部は、分析データ内のユーザ識別子毎に、該ユーザ識別子に対応付けられた該形成済みグループからパターンを識別するように適用されている。各パターンは形成済みグループのシーケンスを含み、該シーケンスは少なくとも開始グループと終了グループを含む。該パターンは該ユーザ対話のシーケンスに対応する。そして、該パターン識別部は、パターン識別子で各パターンをラベル付けする。各パターン識別子は該パターンに属する該グループの該シーケンスの該グループ識別子に基づいている。さらに、該パターン識別部は、識別済みパターンに関連する情報をデータ格納手段に格納する。該情報には、少なくとも、各パターンのパターン識別子が含まれる。
前記分析サーバは、ノーマル状態計算部を有する。該ノーマル状態計算部は、前記データ格納手段に格納された識別済みパターン識別子毎に、前記形成済みグループの中から識別済みパターン識別子のノーマル状態を算出する。該ノーマル状態は、該識別済みパターン識別子を持つ該パターンの開始グループと同一のグループ識別子を持つグループに対応する、ユニークなユーザ識別子の数と、該識別済みパターン識別子を持つ該パターンのグループのシーケンスと同一のグループ識別子を持つグループのシーケンスに対応付するユニークなユーザ識別子の数との差に基づいている。
なお、上述の各部位は、前記分析サーバ上で、例えば、該分析サーバ内の一つ又は複数のプロセッサによって実行される、単一のソフトウェアに実装することができる。該部位は、また、該分析サーバ上で実行される、異なる接続されたソフトウェアに実装してもよい。その場合には、一つ又は複数の上記部位を、単一のソフトウェアに実装することができる。
いくつかの実施形態によれば、前記分析サーバは、コンピュータ読み取り可能な記録媒体を有する。該媒体に記録されているのは一つ又は複数のプログラムであり、該プログラムは、処理装置(例えば、前記分析サーバ)上で実行されるときに本発明の第一の態様に基づく方法を実行する。
第3の態様において、本発明は、クライアント計算機上で実行されるエージェントを提供し、該クライアント計算機はサーバとインタフェース接続するクライアント・アプリケーションをレンダリングし、該エージェントはユーザ対話パターンをモニタする分析サーバに遠隔接続されている。該エージェントは、該クライアント・アプリケーションとのユーザ対話を識別するための手段と、該識別済みのユーザ対話に対するユーザ・セッションを識別するための手段と、該ユーザ対話に応答して行われた該クライアント・アプリケーションと該サーバ間のデータ・トラフィックのイベントを識別するための手段と、該ユーザ対話と該ユーザ識別子とを該識別されたユーザ・セッションに基づき対応付けする手段と、該ユーザ対話に応答して行われた該クライアント・アプリケーションと該サーバ間の該データ・トラフィックのイベントを該ユーザ識別子と対応付けする手段と、該識別済みのユーザ対話及び該識別済みのデータ・トラフィックのイベントを含む分析データを該分析サーバに転送するための手段と、を有する。
第二及び第三の態様は、一般に、第一の態様と同様の特徴及び利点を持っていることが多い。
本発明の他の目的、特徴及び利点は、以下の詳細な開示、及び図面から明らかになるであろう。
以降、本発明の態様についてのより詳細な説明が、本発明の実施形態を示す添付図面を参照して行われる。
本発明の実施形態に係る分析サーバを含むシステムの図である。 本発明の実施形態に係る分析サーバを説明するブロック図である 本発明の実施形態による、ユーザ対話のパターンをモニタするための方法を説明するフローチャートである。 Webサイトとのユーザ対話を説明する概略図である。 本発明の実施形態に係るパターンを説明する図である。 パターンのノーマル状態の変化をモニタするためのさまざまな時間間隔を説明する概略図である。 本発明の実施形態による、クライアント計算機上で実行されるエージェントを説明するブロック図である。 図に示すように、各レイヤ及び領域の大きさは、説明のために誇張されており、従って、各図は、本発明の実施形態の概略的な構造を説明するために提供される。類似の参照番号は、全体を通して類似の構成要素を指している。
以降、本発明を、添付図面を参照して詳細に説明する。該添付図面には、本発明の現時点での好ましい実施形態が示されている。本発明は、しかしながら、多くの異なる形態で実施することができ、本明細書に記載の実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、徹底して、完全かつ十分に、本発明の請求範囲を当業者に伝えるために開示されている。
図1では、一例として、システム100を示している。システム100ではクライアント・アプリケーションにおけるユーザ対話パターンがモニタされる。該クライアント・アプリケーションは、サーバ102a〜bとインタフェース接続しクライアント計算機110a〜c上でレンダリングされる。該システム100は、データ格納手段108に接続された分析サーバ106を有する。該データ格納手段108は、本例では、データベース108であるが、ハード・ドライブ、RAM、又はそれらの組み合わせであってもよく、その目的は、少なくともパターン識別子と該パターン識別子に対応するノーマル状態を格納することである。本実施形態では、分析サーバ106とデータベース108は別個の装置であるが、他の実施形態では、該分析サーバにデータベース108を含む。図1の例示的なシステムでは、3つのククライアント計算機110a〜cは、二つのサーバ102a〜b及び分析サーバ106にネットワーク112を介して接続されている。ネットワーク112としては、例えば、インターネットやイントラネットがある。クライアント計算機110a〜cの各々は、サーバ102a〜bとインタフェース接続するクライアント・アプリケーションをレンダリングする。クライアント計算機110a〜cの各々は、さらに、エージェントを有する。該エージェントは、クライアント計算機110a〜c上のクライアント・アプリケーションとのユーザ対話、及び該ユーザ対話に応答してなされたクライアント・アプリケーションと2つのサーバ102a〜bとの間のデータ・トラフィックのイベントを識別する。該エージェントの機能は、図4及び図7の説明と合わせて以降さらに説明される。
分析サーバによって実行される方法、すなわち、サーバとインタフェース接続しライアント計算機上にレンダリングされるクライアント・アプリケーションにおけるユーザ対話パターンをモニタするための方法、及び、このような分析サーバ106の構成要素を、図2及び図3と併せて説明する。
分析サーバ106は、受信ステップS302の実行に適合された受信部202を有する。該受信ステップでは、クライアント計算機上で実行されるエージェントから分析データを受信する。該分析データは、該クライアント・アプリケーションとのユーザ対話のシーケンス、及び、該ユーザ対話に応答して行われた該クライアント・アプリケーションとサーバとの間のデータ・トラフィックのイベントに関連している。各ユーザ対話、及び該ユーザ対話に応答して行われたデータ・トラフィックのイベントは、該ユーザ対話を実行したユーザのユーザ識別子に対応付けられている。前記分析サーバは、いくつかの実施形態では、エージェントから継続的に受信する分析データを格納する一時的データ格納手段(図示せず)を有している。該分析データは、後で使用するために、例えば、パターンのノーマル状態を確認するために格納される。該一時的データベースは、分析サーバ106に置かれてもよいし、又は別のデバイスに置かれて分析サーバに遠隔接続されてもよい。さらに、いくつかの実施形態によれば、受信した分析データは、(さらに)より永久的なデータ格納手段、例えば、データ格納手段108に格納され、分析プロセスにおいて後で使用され、例えば、モニタ結果の検証のために、又は、分析データに関するさらなる情報が必要な場合に使用される。
分析サーバ202は、さらに、イベント・グルーピング部204を有する。該イベント・グルーピング部204は、前記分析データからグループを形成する(ステップS304)。該グループの形成は、前記ユーザ識別子に対応付けられたデータ・トラフィックの各イベントを対応するユーザ対話とグルーピングすることによって行われる。そして、該イベント・グルーピング部204は、各グループにラベル付けをする。該ラベル付けは、データ・トラフィックのイベントと、対応するユーザ対話とに基づくグループ識別子で行われる。該イベント・グルーピング部は、さらに、各グループを、該ユーザ対話に対応付けられている該ユーザ識別子と対応付けする。該イベント・グルーピング部204は、分析データを、前記受信部202から、上記のように継続的に受信する。
いくつかの実施形態によれば、前記ユーザ識別子に対応付けられたデータ・トラフィックの各イベントを対応するユーザ対話とグルーピングする際に、クライアント・アプリケーション・セッション専用データが、データ・トラフィックのイベント及び対応するユーザ対話から除去される。この意味は、例えば、ユーザ対話が電子店舗で起こり、該ショップでユーザが仮想ショッピングカート内に特定の品物を入れる場合、該ユーザ対話は該ユーザが「購入」ボタンをクリックすることにあたり、前記クライアント・アプリケーション・セッション固有データは製品の識別子、「購入」ボタンをクリックする時のタイムスタンプ、製品等の色であってもよい。この例では、唯一の有意なことは、ユーザが、例えば女性用ジャケットページの上の「購入」ボタンをクリックしたこと、及び、データ・イベントに、カートに品物が一つ入っていると言う情報が含まれていることである。
図2でわかるように、イベント・グルーピング部204は、形成済みグループを格納するために、必要に応じてデータ格納手段108に接続することができる。該イベント・グルーピング部は、いくつかの実施形態によれば、更に、上記のように、「洗浄」されたユーザ対話及びデータ・トラフィックのイベントを、データ格納手段108に格納することができる。これは、すべての対話及びデータ・トラフィックの格納に比べて、データ格納にあまりスペースを必要としない。該イベント・グルーピング部204は、各グループのラベル付けをグループ識別子で行う。該グループ識別子は、例えば、グループ内のユーザ対話とデータ・トラフィックのハッシュ値、又は、上記のように洗浄されたユーザ対話及びデータ・トラフィックのイベントのハッシュ値である。該グループ識別子は、このように、グループ内のユーザ対話(複数可)が行われたときの、クライアント・アプリケーションの状態を反映している。上記電子店舗の例では、該グループ識別子は、例えば、女性用ジャケットのページのURLを反映してもよいし、これに基づいて作られてもよい。該電子店舗が、例えばAjaxコントロールに基づいている場合、これは、該電子店舗内の多くの又はすべての「ページ」が同一のURLを持つことを意味するが、該グループ識別子は、Ajaxコントロールの状態を反映してもよいし、これに基づいて作られてもよい。該Ajaxコントロールの状態には、女性用ジャケットの供給状況が提示されている。該イベント・グルーピング部は、また、各グループと、該グループのユーザ対話(複数可)に対応付けられているユーザ識別子との対応付けをする。
分析サーバ106は、さらに、パターン識別部206を有する。該パターン識別部206は、前記分析データ内のユーザ識別子毎に、該ユーザ識別子に対応付けられた形成済みグループの間のパターンを識別する(ステップS306)ように適用されている。該形成済みグループは、前記イベント・グルーピング部204から渡される。各パターンには、該形成済みグループのシーケンスが含まれる。各パターンは、少なくとも開始グループ及び終了グループを含み、該パターンがユーザ対話のシーケンスに対応するようになっている。パターンの形成については、さらに、図5と併せて説明する。パターン識別部206は、各パターンを、該パターンのグループのシーケンスのグループ識別子に基づくパターン識別子でラベル付けする。該パターン識別子は、例えば、該パターンに含まれるグループのグループ識別子のリストにすることができる。これが有便利な理由は、該パターン内のグループがパターン識別子から容易に逆追跡することができるからである。複数の実施形態によれば、パターン識別部206は、また、識別済みパターンを格納する(ステップS306)ために、データ格納手段108に接続される。各パターンに対して保存される情報は、少なくとも、各パターンのパターン識別子を含む。該パターン識別子が上記に従って構成されている場合、該パターン識別子を持つパターンのグループは、容易に逆追跡することができる。
前記分析サーバはさらに、ノーマル状態算出部208を有する。該ノーマル状態算出部208は、データ格納手段108に格納された識別済みパターンの識別子毎に、形成済みグループの中の、識別済みパターンの識別子のノーマル状態を計算する(ステップS308)ように適用されている。ノーマル状態の計算は、さらに、図5と併せて議論するが、該計算は、イベント・グルーピング部204から受信することができる情報とパターン識別部206から受信することができる情報の両方に基づいている。ノーマル状態計算部208は、このように、イベント・グルーピング部204に接続し、パターン識別部206から接続されることができる。他の実施形態では、ノーマル状態計算部208は、ノーマル状態を計算するために必要なデータをデータベース108から抽出することができる。
前記分析サーバは、複数の実施形態によれば、さらに、パターン格納部210を有することができる。該パターン格納部210は、パターン識別子毎に、パターン識別子と該パターン識別子に対応するノーマル状態とをデータ格納手段108に格納する(ステップS310)ように適用されている。
図3では、さらに、分析サーバ106によって実行される方法の任意のステップS312、S314について説明している。以降、ステップS312、S314について図5と併せて説明する。いくつかの実施形態によれば、該方法はさらに、3つ以上のグループを含み少なくとも同一の開始グループと終了グループを持つ識別済みパターンをグルーピングするステップS312を有する。図5では、3つのパターン又はシーケンスが、図5内でA〜Hとラベル付けされたグループのうち、3つ以上のグループを含み、かつ、同一の開始グループと終了グループを持っている。これらのパターンは、パターンA−C−E、A−B−E、及びA−D−Eである。いくつかの実施形態によれば、これらの3つのパターンは、一つのグルーピング済みパターン、A−C|B|D−Eにグルーピングすることができる。ここで、表記C|B|Dは、グループC、B、Dのいずれかを、グルーピング済みパターンにおける中間グループにすることができることを表わしている。このグルーピング済みパターンは、開始グループ及び終了グループのグループ識別子に基づくパターン識別子でラベル付けしてもよいが、前記可能な中間グループC、B、Dに基づく何らかの追加が伴うことになろう。
パターンのノーマル状態の計算について、表1を用いて説明する。
Figure 0006218767
第一の列はパターンを示す。図5のパターンのそれぞれは、表1に一つの行を持つ。表1に見られるように、各パターンはグループAから始まっている。「グループ1」の下の値は、したがって、各パターンに対して、ユニークなユーザ識別子の数を表す。該ユニークなユーザ識別子は、該識別済みパターン識別子を持つパターンの開始グループと同一のグループ識別子(例えば、「A」)を持つグループに対応している。該パターンにおける最後のグループの値は、従って、該識別済みパターン識別子を持つ該パターンのグループの該シーケンスと同一のグループ識別子を持つグループのシーケンスに対応付けられた、ユニークなユーザ識別子の数に対応する。従って、5000のユーザ(ユーザ識別子)がパターンA−B−E(パターン識別子)を開始したことになり、これらの5000のユーザ識別子のうち、100はグループBまで継続し、この100のうちの90はグループEまで継続することにより該パターンを終了している。パターンA−B−Eのノーマル状態は、従って5000分の90=1.8%である。同様に、5000ユーザ(ユーザ識別子)が、パターンA−C−Eを開始している。この5000のユーザ識別子のうち、1000はグループCまで継続し、1000のうちの700はグループEまで継続することにより該パターンを終了している。パターンA−C−Eのノーマル状態は、従って、5000分の700=14%である。パターンA−D−E(1%)、A−G−H(6%)、及びA−F(20%)のノーマル状態も、同一の方法で計算される。
上述のグルーピング済みパターンA−C|B|D−Eのノーマル状態は、グルーピング済みパターン内のグルーピングされたパターンのノーマル状態を加算することによって計算される。グルーピング済みパターンA−C|B|D−Eのノーマル状態は、従って、1.8+14+1=16.8%になる。
いくつかの実施形態によれば、グルーピング済みパターン及びグルーピング済みパターンのノーマル状態の格納は、該グルーピング済みパターン内にグルーピングされている格納済みパターンのノーマル状態のうち少なくとも一つが閾値レベルよりも低い場合にのみ行われる。したがって、上記の例では、閾値レベルが1%より大きい場合、グルーピング済みパターン(の識別子)A−C|B|D−Eとそのノーマル状態が格納されるが、閾値レベルが1%未満である場合、該格納ステップは実行されない。
いくつかの実施形態によれば、グルーピング済みパターンにおけるノーマル状態のうちの一つ以外のすべてが、閾値レベル未満になる場合にのみ格納が行なわれる。上記の例では、閾値レベルが例えば1.5%の場合、グルーピング済みパターンA−C|B|D−Eは格納されない。いくつかの実施形態によれば、このような場合、A−D−E(閾値レベル未満)は、A−B−E又はA−C−Eとグルーピングされ、その後、格納することができる。
いくつかの実施形態によれば、閾値レベルを超えるノーマル状態を持つパターン(グルーピング済みの又は通常の)が格納され、したがって、モニタされる。クライアント・アプリケーションのオーナは、例えば、一定の数のパターンのノーマル状態をモニタすることにのみ興味があるかもしれない。他の実施形態によれば、最高数のパターンのみが、すなわち、ノーマル状態が最高数のパターンのみが格納される。
いくつかの実施形態によれば、各ユーザ識別子は、少なくとも一つのユーザ・タイプを含む。従って、ユーザ対話パターンのモニタは、特定のユーザ・タイプ・レベルのユーザに関して行うことができる。たとえば、電子店舗のオーナの不安が、Mozilla Firefox(登録商標)を使用して電子店舗を閲覧中のユーザが製品に対する支払いの問題に遭遇するかも知れないということの場合、該オーナの希望は、ユーザ・タイプ「Mozilla Firefox」に関してユーザ対話パターンをモニタすることであろう。表2は、表1と同様のことを説明しているが、ユーザ・タイプ「Mozilla Firefox」を持つユーザのみについて説明している。換言すれば、表2の「グループ1」の下の値は、従って、パターン毎にユニークなユーザ識別子の数を表わすが、該ユーザ識別子は該特定のユーザ・タイプ(例えば、「Mozilla Firefox」)を含み、識別済みのパターン識別子を持つパターンの開始グループと同一のグループ識別子(例えば、「A」)を持つグループと対応している。該パターンの最後のグループの値は、結果的に、ユニークなユーザ識別子の数に対応するが、該最後のグループのユーザ識別子は、前記特定のユーザ・タイプを含み、識別済みパターンの識別子を持つパターンのグループのシーケンスと同一のグループ識別子を持つグループのシーケンスに対応している。
Figure 0006218767
以上のことから、前記Webサイトのオーナにわかることは、例えば、わずか1%のユーザが該パターンA−Fを完了するだけであり、表1のケース全体の20%と比較してわずかであること、しかし、代わりにFirefoxのユーザの30%がパターンAGHを完了しているが、表1全体のケースでは6%であることであろう。このパターンA−Fは、例えば、製品の支払いに対応し、パターンA−G−Hは、ヘルプ・ページの読み込みに対応する可能性がある。なお、上記の議論は、パターンをグルーピングし、該パターンを格納する前にフィルタリングすることに関するものであるが、該議論はユーザ・タイプ・レベルに関するユーザ対話パターンに対しても同じく有効であり得ることに留意されたい。
ユーザ対話パターンのモニタを行う目的は、クライアント・アプリケーションが期待通りに動作することを確認することであるが、この期待が、ユーザ対話パターンのノーマルな状態が日々ほとんど同一のままであることを意味する場合がある。このため、いくつかの実施形態によれば、一定期間に亘ってパターン(識別子)のノーマル状態の変化をモニタする場合がある。ノーマル状態が閾値レベルを超える場合、エラー状態を生成し、例えば、クライアント・アプリケーション等のオーナに送信又は提示することができる。ノーマル状態に関するこの乖離の分析は、異なるタイプの時間枠に亘って起こり得る。該時間枠は、1時間、1日等、固定してもよい。該時間枠は、動的に変えるようにしてもよく、時間の長さは、クライアント・アプリケーションの使用量に基づくことができる。これを図6に示す。点線502のそれぞれは、エージェントから受信した分析データを示す。各線上の点の数は、各エージェントから受信したデータの発生率を表す。多くのドットは、大量のデータがエージェントから送信されていることを意味する。前記時間枠は、矩形504、506によって表される。該矩形の幅は、時間枠の長さに対応する。図6に示すように、第一の時間枠504は第二の時間枠よりも短い。この理由は、第一の時間枠504の間に、6つのエージェントすべてが、分析サーバにデータを送信しているからである。第二の時間枠の間、最もビジーなエージェントの一つは、該エージェントが報告の担当になっているクライアント・アプリケーションの使用報告を停止している。次にビジーなエージェントもまた、クライアント・アプリケーションの使用報告を停止している。この結果、第二の時間枠506の間に、これらのクライアント・アプリケーションの使用率は低下し、第二の時間枠506は、図示のように長くなっている。
ただし、図6及び図6の上記説明は、実際を非常に簡略化した説明であり、時間枠の長さを決定する考え方を簡略化して説明していることに留意されたい。実際の実装では、時間枠504、506にはデータを報告するエージェントが数千入ることがあり、一般的に特定のエージェントが、時間枠全体に亘ってデータを報告するようなことはない。
さらに、図6の内容は、また、前記分析サーバが使用する時間枠を説明するために使用することができることに留意されたい。該分析サーバが該時間枠を使用する目的は、分析データを収集してグループを形成し、次に、パターンを識別して、パターン毎にノーマル状態を計算するためである。
クライアント計算機上で実行されるエージェントのコンポーネント及び機能について、図4及び図7と併せて以降説明する。ここで、クライアント計算機は、サーバとインタフェース接続するクライアント・アプリケーションをレンダリングし、該エージェントはユーザ対話パターンをモニタするために分析サーバに遠隔接続されている。図4では、Webサイト(クライアント・アプリケーション)とのユーザ対話412a〜cを例示的に示している。該Webサイトは、サーバ102とインタフェース接続している。エージェント416(図7にも示す)は遠隔接続された分析サーバ108に分析データ414を送信している。該分析データは、ユーザ対話412a〜cとデータ・トラフィックのイベント416a〜cに関連しており、該データ・トラフィックのイベントは、該Webサイトと該サーバ102との間でユーザ対話412a〜cに応答して、生成される。ユーザ410は、該Webサイトと対話している。該ユーザはまず、一番目のページ402に入り、ユーザ対話412aを行う。エージェント416は、クライアント・アプリケーションとのユーザ対話412aを識別するための手段702を有する。該エージェントはさらに、識別済みのユーザ対話に対応するユーザ・セッションを識別するための手段704、及び、識別済みのユーザ対話412aを識別されたユーザ・セッションに基づいてユーザ識別子と対応付けるための手段708を有する。その結果、エージェント416は、ユーザ・セッションを識別して、ユーザ対話に関するすべての情報をユーザ識別子(該当セッション中の)と対応付けて、次に分析サーバ108に該データを転送する(414)
ユーザ対話412aはデータ・トラフィックのイベント416aを引き起こす。該イベント416aは、Webサイトとサーバ102の間で、ユーザ対話412aに応答して発生する。エージェント416は、さらに、データ・トラフィックのイベント416aを識別するための手段706を有する。該イベント416aは、クライアント・アプリケーションとサーバ102との間で、ユーザ対話412aに応答して起こされる。該エージェント416は、さらに、識別済みのデータ・トラフィックのイベント416aを、ユーザ識別子と対応付ける手段708を有する。該データ・トラフィックのイベント416aは、クライアント・アプリケーションとサーバ102との間で、ユーザ対話412aに応答してなされる。従って、該エージェント416は、識別済みのデータ・トラフィックのイベントに関するすべての情報をユーザ識別子と対応付けてから(図4に記載したセッション期間中に)、該データを分析サーバ108に転送する。
エージェント414は、さらに、識別済みのユーザ対話412a及び識別済みのデータ・トラフィックのイベント416aを含む分析データ414を分析サーバ108に転送するための手段710を有する。
ユーザ410は、引き続きWebサイトとの対話412b〜cを行い、これらのユーザ対話は、データ・トラフィックのイベント416b〜cを引き起こす。該イベントは、Webサイトとサーバ102の間で、ユーザ対話412b〜cに応答して発生する。該エージェントは、これらの対話412b〜cとデータ・トラフィックのイベント416b〜cを識別し、識別済みのユーザ対話412b〜cと識別済みのデータ・トラフィックのイベント416b〜cとを含む分析データ414を分析サーバ108へ上記と同様にして転送する。
100 システム
102a〜c サーバ
110a〜c クライアント計算機
108 データ格納手段
106 分析サーバ
202 受信部
204 イベント・グルーピング部
206 パターン識別部
208 ノーマル状態算出部
210 パターン格納部
410 ユーザ
412a〜c ユーザ対話
416a〜c データ・トラフィックのイベント
414 分析データ
416 エージェント
502 エージェントから受信した分析データ
504、506 時間枠
702 ユーザ対話識別手段
704 ユーザ・セッション識別手段
706 データ・トラフィック・イベント識別手段
708 ユーザ対話とユーザ識別子との対応付け手段
710 分析データ転送手段

Claims (13)

  1. サーバ(102a〜b)とインタフェース接続し、かつ、クライアント計算機(110a〜c)上でレンダリングされるクライアント・アプリケーションにおけるユーザ対話(412a〜c)のパターンをモニタするための、分析サーバ(106)によって実行される方法であって、
    該方法は、
    クライアント計算機(110a〜c)上で実行されるエージェント(416)から、該クライアント・アプリケーションとのユーザ対話(412a〜c)のシーケンスと、該ユーザ対話(412a〜c)に応答して行われた、該クライアント・アプリケーションとサーバ(102a〜b)間のデータ・トラフィックのイベント(416a〜c)と、に関連する分析データ(414)を受信するステップ(S302)であって、各ユーザ対話(412a〜c)及び各データ・トラフィックのイベント(416a〜c)が、該ユーザ対話(412a〜c)を実行するユーザのユーザ識別子に対応付けられているステップ(S302)と、
    各ユーザ対話(412a〜c)と、該ユーザ対話(412a〜c)に応答して行われたデータ・トラフィックのイベント(416a〜c)のすべてとをグルーピングし、かつ、各グループを、該グループにグルーピングされた該ユーザ対話(412a〜c)と該データ・トラフィックのイベントのすべてとに基づくグループ識別子を用いてラベル付けし、かつ、各グループを、該ユーザ対話(412a〜c)に対応付けられた前記ユーザ識別子と対応付けすることによって、前記分析データ(414)からグループを形成するステップ(S304)と、
    前記分析データ(414)内の各ユーザ識別子に対して、
    該ユーザ識別子に対応付けられた前記形成済みグループ間のパターンを識別し、該識別済みパターンをラベル付けして、そして該識別済みパターンに関連する情報をデータ格納手段(108)に格納するステップ(S306)であって、該識別済みパターンの各々は、少なくとも、開始グループ及び終了グループを含む該形成済みグループのシーケンスを含み、かつ、同一ユーザによって実行されるユーザ対話(412a〜c)のシーケンスに対応し、前記開始グループは第一のユーザ対話を含むグループに相当し、前記終了グループは、該終了グループで前記識別済みパターンが終了するグループに相当しており、該ラベル付けは該パターンに属する該グループのシーケンスの該グループ識別子に基づくパターン識別子を用いて行われ、該識別済みパターンに関連する情報には少なくとも該各パターンのパターン識別子が含まれるステップ(S306)と、
    該データ格納手段(108)に格納された、識別済みパターン識別子の各々に対して、
    前記形成済みグループの中から該識別済みパターン識別子のノーマル状態を算出するステップ(S308)であって、
    該ノーマル状態は、
    該識別済みパターンの識別子を持つ該パターンの開始グループと同一のグループ識別子を持つグループに関係づけられた、ユニークなユーザ識別子の数と、
    該識別済みパターンの識別子を持つ該パターンのグループの該シーケンスと同一のグループ識別子を持つグループのシーケンス内の各々のグループに関係づけられた、ユニークなユーザ識別子の数と、
    の間の差異に基づいて算出されるステップ(S308)と、
    一定期間に亘ってパターン識別子の前記ノーマル状態の変化をモニタするステップと、
    該ノーマル状態の変化が閾値を超えた場合にエラー条件を生成するステップと
    を含むことを特徴とする、方法。
  2. 各ユーザ識別子は、少なくとも一つのユーザ・タイプを含み、
    前記方法は、さらに、
    前記データ格納手段(108)に格納された識別済みパターン識別子の各々に対して、
    該少なくとも一つのユーザ・タイプのうちの特定のユーザ・タイプの各々に対して、
    前記形成済みグループの中で、該特定のユーザ・タイプに対する該識別済みパターン識別子のノーマル状態を算出するステップ(S308)
    を含み、
    該ノーマル状態の算出は、
    該特定のユーザ・タイプを含み、かつ該識別済みパターン識別子を持つ前記パターンの前記開始グループと同一のグループ識別子を持つグループに対応するユニークなユーザ識別子の数と、
    該特定のユーザ・タイプを含み、かつ該識別済みパターン識別子を持つパターンのグループの該シーケンスと同一のグループ識別子を持つグループのシーケンスに対応付けされているユニークなユーザ識別子の数と、
    に基づいていること、
    を特徴とする、請求項1に記載の方法。
  3. さらに、
    前記データ格納手段(108)に格納され、かつ、二つ以上のグループを含み、かつ、少なくとも同一の開始グループと終了グループを持つ識別済みパターンをグルーピングし、かつ、それぞれのグルーピング済みパターン毎に、
    該グルーピング済みパターンをパターン識別子でラベル付けし、そして
    該グルーピング済みパターンに関連する情報を前記データ格納手段(108)に格納するステップ(S312)であって、
    該パターン識別子は、該グルーピング済みパターン内にグルーピングされたパターンの中のグループのシーケンスのグループ識別子に基づいており、
    該グルーピング済みパターンに関連する情報には、少なくとも、該グルーピング済みパターンのパターン識別子が含まれるようなステップ(S312)と、
    それぞれのグルーピング済みパターン毎に、該グルーピング済みパターンをラベル付けする該パターン識別子に対するノーマル状態を、該グルーピング済みパターン内にグルーピングされたパターンのノーマル状態を合算することによって計算するステップ(S314)と、を含むこと、
    を特徴とする、請求項1〜2のいずれかに記載の方法。
  4. さらに、各々の計算されたノーマル状態毎に、対応する前記パターン識別子に対するノーマル状態と、該対応するパターン識別子と、を前記データ格納手段(108)に格納するステップ(S310)を含むこと、
    を特徴とする、請求項1〜3のいずれかに記載の方法。
  5. 前記グルーピング済みパターンをラベル付けする、前記パターン識別子と前記ノーマル状態を格納する前記ステップは、前記グルーピング済みパターン内でグルーピングされている該格納済みパターンの該ノーマル状態のうちの少なくとも一つが閾値レベル未満である場合に実行されること、
    を特徴とする、請求項3に従属する場合の請求項4に記載の方法。
  6. さらに、
    前記一定期間に渡ってパターン識別子の特定のユーザ・タイプに対する前記ノーマル状態の変化をモニタするステップと、
    該ノーマル状態の変化が閾値を超えた場合にエラー状態を生成するステップと、
    を含むこと、
    を特徴とする、請求項2、又は、請求項2に従属する場合の請求項3〜5のいずれかに記載の方法。
  7. 前記一定期間の長さが該期間におけるクライアント・アプリケーションとのユーザ対話(412a〜c)の数に基づいていること、
    を特徴とする、請求項6に記載の方法。
  8. 前記一定期間の長さが前記サーバ(102a〜b)上の、制限時間内での変化に基づいていること、
    を特徴とする、請求項6に記載の方法。
  9. 各々のクライアント・アプリケーションが複数のサーバ(102a〜b)とインタフェース接続すること、
    を特徴とする、請求項1〜8のいずれかに記載の方法。
  10. 前記クライアント・アプリケーションは、WebサイトをレンダリングするWebブラウザであり、かつ、前記グループ識別子は、前記ユーザ対話(412a〜c)が実行されるWebページの状態に基づいていること、
    を特徴とする、請求項1〜9のいずれかに記載の方法。
  11. 前記グループ識別子の少なくともいくつかは、前記ユーザ対話(412a〜c)が実行されるWebページのURLに基づいていること、
    を特徴とする、請求項10に記載の方法。
  12. 各グループをグループ識別子でラベル付けする前記ステップが、
    クライアント・アプリケーション・セッション固有のデータを、前記データ・トラフィックのイベント(416a〜c)及び前記対応するユーザ対話(412a〜c)から削除し、そして、次に、該データ・トラフィックのイベント(416a〜c)及び該対応するユーザ対話(412a〜c)の残りの部分に基づくグループ識別子で各グループをラベル付けするステップと、を含むこと、
    を特徴とする、請求項1〜11のいずれかに記載の方法。
  13. サーバ(102a〜b)とインタフェース接続し、かつ、クライアント計算機(110a〜c)上でレンダリングされるクライアント・アプリケーションにおけるユーザ対話(412a〜c)パターンをモニタするための分析サーバ(106)であって、
    該分析サーバ(106)は、
    クライアント計算機(110a〜c)上で実行されるエージェント(416)から、該クライアント・アプリケーションとのユーザ対話(412a〜c)のシーケンスと、該ユーザ対話(412a〜c)に応答して行われた、該クライアント・アプリケーションと該サーバ(102a〜b)間のデータ・トラフィックのイベント(416a〜c)と、に関連する分析データ(414)を受信する(S302)受信部(202)であって、各ユーザ対話(412a〜c)及び各データ・トラフィックのイベント(416a〜c)が、該ユーザ対話(412a〜c)を実行するユーザのユーザ識別子に対応付けられている受信部(202)と、
    各ユーザ対話(412a〜c)と、該ユーザ対話(412a〜c)に応答して行われたデータ・トラフィックのイベント(416a〜c)のすべてとをグルーピングし、かつ、各グループを、該ユーザ対話(412a〜c)と該グループにグルーピングされたデータ・トラフィックのイベントのすべてと、に基づくグループ識別子を用いてラベル付けし、そして、各グループを、該ユーザ対話(412a〜c)に対応付けられている該ユーザ識別子と対応付けすることによって、前記分析データ(414)からグループを形成する(S304)イベント・グルーピング部(204)と、
    前記分析データ(414)内のユーザ識別子毎に、
    該ユーザ識別子に対応付けられた前記形成済みグループの間のパターンを識別し(S306)、該パターンは、少なくとも、開始グループ及び終了グループを含む該形成済みグループのシーケンスを含み、かつ、該パターンが、同一ユーザによって実行されるユーザ対話(412a〜c)のシーケンスに対応し、前記開始グループは第一のユーザ対話を含むグループに相当し、前記終了グループは、該終了グループで前記識別済みパターンが終了するグループに相当しており、さらに、
    各パターンを、該パターンに属する該グループのシーケンスの該グループ識別子に基づくパターン識別子でラベル付けし(S306)、そして、
    少なくとも該各パターンのパターン識別子が含まれる、該識別済みパターンに関連する情報をデータ格納手段(108)に格納する(S306)、
    ように適合されたパターン識別部(206)と、
    前記データ格納手段(108)に格納された前記識別済みパターン識別子の各々に対して、前記形成済みグループの中から識別済みパターン識別子のノーマル状態を算出し、
    一定期間に亘ってパターン識別子の前記ノーマル状態の変化をモニタし、
    該ノーマル状態の変化が閾値を超えた場合にエラー条件を生成する(S308)ように適合されたノーマル状態計算部(208)であって、
    該ノーマル状態の算出は、
    該識別済みパターン識別子を持つ該パターンの前記開始グループと同一のグループ識別子を持つグループに関係づけられた、ユニークなユーザ識別子の数と、
    該識別済みパターン識別子を持つ該パターンのグループの前記シーケンスと同一のグループ識別子を持つグループのシーケンス内の各々のグループに関係づけられた、ユニークなユーザ識別子の数と、の間の差異に基づいている、ノーマル状態計算部(208)と、
    を含むこと、を特徴とする分析サーバ(106)。
JP2015055517A 2014-03-24 2015-03-19 ユーザ対話パターンモニタのための方法、サーバ、及びエージェント Active JP6218767B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14161278.8 2014-03-24
EP14161278.8A EP2924581B1 (en) 2014-03-24 2014-03-24 Method, server and agent for monitoring user interaction patterns

Publications (2)

Publication Number Publication Date
JP2015185166A JP2015185166A (ja) 2015-10-22
JP6218767B2 true JP6218767B2 (ja) 2017-10-25

Family

ID=50389816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015055517A Active JP6218767B2 (ja) 2014-03-24 2015-03-19 ユーザ対話パターンモニタのための方法、サーバ、及びエージェント

Country Status (9)

Country Link
US (1) US20150271281A1 (ja)
EP (1) EP2924581B1 (ja)
JP (1) JP6218767B2 (ja)
CN (1) CN104951391B (ja)
AU (1) AU2015201419B2 (ja)
BR (1) BR102015006477B1 (ja)
CA (1) CA2885598C (ja)
PL (1) PL2924581T3 (ja)
SG (1) SG10201502121YA (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3350734A4 (en) * 2015-09-15 2019-06-05 Commonwealth Scientific and Industrial Research Organisation MONITORING OF ACTIVITY
US20170251072A1 (en) * 2015-10-22 2017-08-31 Symantec Corporation System and method for annotating client-server transactions
JP6783956B2 (ja) * 2017-05-08 2020-11-11 シグニファイ ホールディング ビー ヴィSignify Holding B.V. デバイス制御情報を分析することによるデバイスのグループの形成

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072800B1 (en) * 2002-09-26 2006-07-04 Computer Associates Think, Inc. Application response monitor
US8032866B1 (en) * 2003-03-27 2011-10-04 Identify Software Ltd. System and method for troubleshooting runtime software problems using application learning
WO2004097643A2 (en) * 2003-04-29 2004-11-11 University Of Strathclyde Monitoring software
US7418497B2 (en) * 2004-07-15 2008-08-26 International Business Machines Corporation Automatically infering and updating an availability status of a user
US8583772B2 (en) * 2008-08-14 2013-11-12 International Business Machines Corporation Dynamically configurable session agent
CN101482815B (zh) * 2008-01-10 2013-08-07 国际商业机器公司 生成软件系统的测试用例的方法和设备
US20100313009A1 (en) * 2009-06-09 2010-12-09 Jacques Combet System and method to enable tracking of consumer behavior and activity
US8745491B2 (en) * 2009-12-22 2014-06-03 International Business Machines Corporation Determining event patterns for monitored applications
US20120102411A1 (en) * 2010-10-25 2012-04-26 Nokia Corporation Method and apparatus for monitoring user interactions with selectable segments of a content package
US8650284B2 (en) * 2011-02-28 2014-02-11 Oracle International Corporation User activity monitoring
US8898092B2 (en) * 2012-01-31 2014-11-25 International Business Machines Corporation Leveraging user-to-tool interactions to automatically analyze defects in it services delivery
US9591095B2 (en) * 2014-03-10 2017-03-07 Microsoft Technology Licensing, Llc Prefetching application data for periods of disconnectivity

Also Published As

Publication number Publication date
BR102015006477B1 (pt) 2022-06-14
EP2924581A1 (en) 2015-09-30
AU2015201419A1 (en) 2015-10-08
CN104951391B (zh) 2017-12-15
SG10201502121YA (en) 2015-10-29
CN104951391A (zh) 2015-09-30
EP2924581B1 (en) 2019-09-04
CA2885598C (en) 2020-07-14
US20150271281A1 (en) 2015-09-24
AU2015201419B2 (en) 2016-06-30
JP2015185166A (ja) 2015-10-22
CA2885598A1 (en) 2015-09-24
PL2924581T3 (pl) 2020-02-28
BR102015006477A2 (pt) 2015-12-15

Similar Documents

Publication Publication Date Title
US10348809B2 (en) Naming of distributed business transactions
US9961129B2 (en) Business transaction correlation with client request monitoring data
US9965758B2 (en) Troubleshooting transactions in a network environment
US9628349B2 (en) Interactivity analyses of web resources based on reload events
US10049403B2 (en) Transaction identification in a network environment
US9760874B2 (en) Transaction tracing in a network environment
WO2016093871A1 (en) Method and system for automating submission of issue reports
JP6218767B2 (ja) ユーザ対話パターンモニタのための方法、サーバ、及びエージェント
US20170012814A1 (en) System Resiliency Tracing
US11531612B2 (en) Methods for providing an enterprise synthetic monitoring framework
CN112799741A (zh) 一种应用程序分身方法、装置、电子设备及存储介质
US10432490B2 (en) Monitoring single content page application transitions
US9858549B2 (en) Business transaction resource usage tracking
US20170012839A1 (en) System Architecture Mapping
US20160119199A1 (en) Reporting page composition data

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170926

R150 Certificate of patent or registration of utility model

Ref document number: 6218767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250