JP2014510969A - ユーザ開始動作を監視し、バックエンドオペレーションと相互に関連付けるための方法およびコンピュータプログラム - Google Patents

ユーザ開始動作を監視し、バックエンドオペレーションと相互に関連付けるための方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2014510969A
JP2014510969A JP2013556738A JP2013556738A JP2014510969A JP 2014510969 A JP2014510969 A JP 2014510969A JP 2013556738 A JP2013556738 A JP 2013556738A JP 2013556738 A JP2013556738 A JP 2013556738A JP 2014510969 A JP2014510969 A JP 2014510969A
Authority
JP
Japan
Prior art keywords
request
user
client
initiated
event
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.)
Granted
Application number
JP2013556738A
Other languages
English (en)
Other versions
JP2014510969A5 (ja
JP6259662B2 (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 JP2014510969A publication Critical patent/JP2014510969A/ja
Publication of JP2014510969A5 publication Critical patent/JP2014510969A5/ja
Application granted granted Critical
Publication of JP6259662B2 publication Critical patent/JP6259662B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本発明の実施例は、ユーザ作業を監視するためのシステムおよび方法を含む。いくつかの実施例においては、フロントエンドコンポーネントは、アプリケーションとの対話時にユーザが何を行っていたかまたはユーザが何を行おうとしていたかを判断または推論する際にアドミニストレータなどにとって有用であり得るデータを集める。フロントエンドコンポーネントは、このデータのうち少なくともいくらかをバックエンドコンポーネントに伝達する。いくつかの実施例においては、ユーザ作業監視の間接費を減じるために、ユーザ作業に関するデータの通信が、要求および応答などの典型的な伝送でピギーバックされる。

Description

背景
A.技術分野
本発明は概してコンピュータアプリケーションに関し、より特定的には、コンピュータアプリケーションとのユーザの対話を監視することに関する。
B.発明の背景
ソフトウェアアプリケーションを含む如何なるプロダクトを開発およびメンテナンスする場合にも、プロダクトとのエンドユーザの対話を監視することが必要となるはずである。ユーザの作業を監視することができれば、ユーザが如何にアプリケーションと対話するのかを開発者および管理者が識別し易くなり、かつ改善すべき区域が識別し易くなる。
ユーザの対話を監視しようとするこれまでの試みは極端に制限されていた。ユーザに直接問合せすることはいくらか有効であり得るが、このような方法には魅力が欠けている。まず、調査に対する応答または問題の通知をユーザに行わせることが困難である。第二に、ユーザは、彼らが行っている動作には細心の注意を払わない可能性がある。第三に、企業が、ユーザに、ユーザ作業情報を自発的に提出させることができたとしても、ユーザは有益な情報を有していない可能性がある。現代社会においてはコンピュータが遍在しているが、これは、技術的能力を持たない多くの人がコンピュータを使用することを意味している。これらの素人ユーザは、自分たちのコンピュータと対話することについてなんの識見も有していない可能性があるだろう。従来、これらのエンドユーザは、アプリケーションとの対話を評価または監視するための基準をたった2つしか有していない。これらの基準とは、すなわち、アプリケーションとの対話が完了するのにどれくらいかかるのか、および、その利用可能性である。第四に、ユーザが1回の対話と見なしているものが、ユーザから遮蔽可能ないくつかのオペレーションを含む可能性がある。このため、ユーザが自発的に進んで自身の作業情報を追跡および提出し、何らかの有意義な情報を提供できるほど技術的に熟練していたとしても、対話についての厳密な問題は、ユーザには認識できない可能性がある。最後に、このような方法では遅れが生じ、リアルタイムで行うことができない。
ユーザの作業を監視しようとする他の試みには、ユーザの対話時にデータを観察することが含まれる。たとえば、ユーザが彼または彼女のブラウザを誘導させるウェブサイト、またはより特定的にはユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator)は、情報を抽出するためにある程度まで調べることができる。但し、このような方法では、せいぜい、通り一遍の情報に対して、実際のユーザの意図についてのわずかな見通しが与えられるに過ぎない。
したがって、アプリケーションと対話する際にユーザが行おうとしていたことについての有意義な情報を提供しようとするこれまでの試みは非常に制限されていたかまたは効果のないものであった。
図面の簡単な説明
本発明の実施例を参照し、その例を添付の図面において例示し得る。これらの図は、限定ではなく例示を意図したものである。本発明は概してこれらの実施例の文脈において説明されているが、それが本発明の範囲をこれらの特定の実施例に限定するよう意図されたものではないことが理解されるはずである。
本発明の実施例に従ったユーザ作業監視についてのシステムの例を示す図である。 本発明の実施例に従った1セットのネストされたタスクフローを示す図である。 本発明の実施例に従ったユーザ作業監視についての方法を示す図である。 本発明の実施例に従った部分ページ要求についてのユーザ作業監視のための方法を示す図である。 本発明の実施例に従った、記憶されたユーザ作業監視データを得るための方法を示す図である。 本発明の実施例に従った二次要求を含むユーザ作業監視のための方法を示す図である。 本発明の実施例に従ったクライアント側の転送を含むユーザ作業監視のための方法を示す図である。 本発明の実施例に従ったコンピューティングシステムの例を示すブロック図である。
好ましい実施例の詳細な説明
以下の記載においては、説明を目的として、本発明についての理解をもたらすために具体的な詳細が述べられる。しかしながら、本発明がこれらの詳細なしでも実施可能であることが当業者にとって明らかになるだろう。さらに、当業者であれば、以下に記載される本発明の実施例が、ソフトウェア、ハードウェアもしくはファームウェアまたはそれらの組合せを含むさまざまな方法で実現され得ることを認識するだろう。したがって、この明細書中において説明される図は、本発明の特定の実施例を例示するものであり、本発明を不明瞭にしないよう意図されたものである。
ブロック図に示されるコンポーネントまたはモジュールは、本発明の具体的な実施例を例示するものであり、本発明を不明瞭にしないよう意図されたものである。この説明全体にわたって、コンポーネントが、副次的単位を含み得る別個の機能単位として記載され得ることも理解されるだろう。但し、当業者であれば、さまざまなコンポーネントまたはそれらの部分が別個のコンポーネントに分割され得るか、または、単一のシステムもしくはコンポーネント内への一体化を含め、共に一体化され得ることを認識するだろう。この明細書中に記載される機能または動作がコンポーネントまたはモジュールとして実現され得ることに留意されたい。
さらに、図中のコンポーネント間の接続は、直接接続に限定されるよう意図されたものではない。むしろ、これらのコンポーネント間のデータは中間コンポーネントによって修正、再フォーマットまたは変更されてもよい。また、使用され得る接続を追加するかまたは減らしてもよい。「結合された(coupled)」または「通信可能に結合された(communicatively coupled)」とは、直接接続、1つ以上の中間装置を介した間接接続および無線接続を含むものと理解されることにも留意されたい。
明細書において「一実施例(one embodiment)」、「好ましい実施例(preferred embodiment)」、「ある実施例(an embodiment)」または「いくつかの実施例(embodiments)」と言及する場合、実施例に関連付けて記載される特定の特色、構造、特徴または機能が、本発明の少なくとも1つの実施例に含まれており、2つ以上の実施例に含まれ得ることを意味している。明細書中のさまざまな箇所に「一実施例においては(in one embodiment)」、「ある実施例においては(in an embodiment)」、「いくつかの実施例においては(in embodiments)」という語句があるが、これらは必ずしもすべてが同じ実施例を指すわけではない。
明細書中のさまざまな箇所において特定の用語が用いられている場合、これは例示のためであって、限定として解釈されるべきではない。「サービス(service)」または「機能(function)」という用語の使用は、単一の機能を記載することに限定されず、この用語を使用する場合、1グループの関連する機能または機能性を指す可能性もある。同様に、「リソース(resource)」という用語の使用は、単一のリソースを記載することに限定されず、この用語は、コンピューティング環境内に分散され得るかまたは集められ得る1セットのリソースを指すのに用いられてもよい。
この明細書中に提示される本発明の実施例を、ウェブアプリケーションの例を用いて説明することとする。これらの例は限定ではなく例示によって与えられる。当業者であれば、他のアプリケーションに対する本発明の一般的な適用可能性も認識するだろう。
A.包括的なシステムの概要
従来のユーザ対話監視方法の結果が効果のないものであったため、ユーザの対話についての意味情報をより直接的に判断および推論することを可能にするシステムおよび方法が必要とされる。このため、この発明の局面は、アプリケーションと対話する際にユーザが何を行おうとしていたかを判断または推論するのに有用であり得る情報の取込みを含む。アドミニストレータは、システム全体の健全性を監視しようと努め、個々のユーザの対話に関して集められたデータは、アドミニストレータがこのタスクを行うのを助ける。
このユーザ作業監視を容易にするために、リッチクライアントフレームワークは要求についての情報を提供して、アドミニストレータが、過去および現在の両方についてアプリケーション内のページの健全性を監視することができるようする。たとえば、ユーザ作業情報は、いくつかのデータ要素、たとえば、限定ではなく例示を目的として、「クリック・トゥ・レンダー(click to render)」時間、イベント情報、コンテキスト識別子、領域識別子、さらには、部分要求のために、ストリーミング要求(たとえばテーブルにおけるデータフェッチ)、およびクライアント側の転送要求、などを含み、ユーザ作業情報はさらに、特別なパラメータを用いてヘッダ、応答本文またはURL中に通常一まとめにされた情報に含まれてもよい。いくつかの実施例においては、性能メトリックである「クリック・トゥ・レンダー」時間は、ブラウザ上でユーザが動作を実行する時間(クライアント開始時間)から、ウェブアプリケーションがこの動作の処理を完了し、その結果を用いてブラウザを更新する時間(クライアント終了時間)までのすべての処理を含む。いくつかの実施例においては、アプリケーションは、このフレームワークを用いて、クライアントとサーバとの間のトラフィックをスニッフィングすることなどによって対話を監視し、容易に識別可能なパラメータを用いて意味情報を抽出することができる。次いで、抽出された意味情報をアプリケーションおよび/またはアドミニストレータが用いることによって、ユーザの対話を監視することができる。
図1は、本発明の実施例に従ったユーザ作業監視についての全体的なシステム100の例を図示する。図1には、ネットワーク125を介してバックエンドシステム130に通信可能に結合されるクライアントコンピューティングシステム110が示される。いくつかの実施例においては、コンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、または処理能力を有する他のデバイスもしくはデバイスのセットであり得る。ネットワーク125は、インターネット、イントラネット、エクストラネット、直接接続またはこれらの何らかの組合せであってもよい。いくつかの実施例においては、バックエンドシステム130はネットワーク125の一部をなし得る。いくつかの実施例においては、バックエンドシステム130は、ウェブサーバなどの1つ以上のサーバであってもよい。バックエンドシステム130は、単一のデバイス内に含まれ得るか、または、複数のデバイスにわたって分散され得る。
いくつかの実施例においては、システム100は、2つのソフトウエアコンポーネント、モジュールまたはアプリケーションを含む。一方のモジュール120は、フロントエンドまたはクライアントコンピューティングデバイス110において動作し、他方のモジュール135、バックエンドまたはサーバモジュール135は、バックエンド130において動作する。ある実施例においては、フロントエンドモジュール120は、ブラウザ115などのクライアントアプリケーションと共に機能するプラグインモジュールまたは他のモジュールであってもよい。クライアントモジュール120およびサーバモジュール130は、フレームワークの形成を支援するものであるが、このフレームワークは、クライアント側でユーザ対話情報を獲得してそれらの対話をバックエンドシステムによって実行されるオペレーションとリンクさせるために、アプリケーションがユーザ作業に関するデータを抽出することを可能にする。
クライアントモジュール120は、ユーザ作業情報を取込み、この情報のうち少なくともいくらかをバックエンド130とやり取りする。サーバモジュール135はまた、ユーザ作業監視に関するデータをクライアントモジュール120とやり取りするよう構成される。
いくつかの実施例においては、クライアントモジュール120は、この情報を、典型的な伝送に付随させることによって送信する。たとえば、クライアントモジュール120は、要求にユーザ作業データを含め得る。既存の対話またはネットワーク作業を用いてユーザ作業データをピギーバックすることは、ユーザ監視作業の間接費を下げることの助けとなる。また、間接処理費を下げるのを助けるために、ユーザ作業は、URL、ヘッダ、本文またはこれらの組合せにおいて1つ以上の特別なパラメータとして含まれてもよい。特別なパラメータを用いることにより、これら特別なパラメータをどこに伝送すべきかを選択することにより、またはこれら両方を行うことにより、ユーザ作業データを抽出する間接費を劇的に減らすことができる。当然、当業者であれば、他の実現例が利用され得ることを認識するだろう。たとえば、ネットワークトラフィックおよび/または処理方法がさほど大きな問題にならなければ、ユーザ作業データは別個のネットワーク伝送で伝送されてもよい。
いくつかの実施例においては、要求のためのユーザ作業監視データの一部として利用可能であり得る情報は、以下のものを含むが、これらに限定されない。
・ いくつかの実施例において、一次動作または二次動作のためのストリングコンテキスト識別子であるコンテキスト識別子;
・ いくつかの実施例において、二次動作のための親(または一次)動作のコンテキスト識別子である親コンテキスト識別子;
・ いくつかの実施例において、クライアント要求の現在の開始時間であるクライアント開始時間。いくつかの実施例においては、クライアント開始時間はクライアントのクロックを用いたUTC(Universal Coordinated Time(万国標準時))に沿っている;
・ いくつかの実施例において、現在の要求のためにクライアントに部分ターゲットとして登録したコンポーネント識別子のリストであるPPR(Partial Page Request(部分ページ要求))ターゲット。これらのアイテムは、ウェブページ全体の更新またはリロードを必要とすることなく変更または更新され得るコンポーネントを表わす。部分ページ要求は、ページ全体ではなく、ページのうち変更が必要な部分のみについてのマークアップを含む応答を結果としてもたらす要求である。クライアントは、具体的には、ページのある特定の部分を作成し直すことを要求することができ、サーバも付加的な部分を追加し得る。
・ いくつかの実施例において、以下の情報を含み得るがこれらに限定されない動作についての情報であるイベント情報:
− いくつかの実施例において、(ボタンまたはリンクが選択されたことを表わす動作イベントなどの)より低いレベルであり得るか、または、(ポップアップウィンドウが表示された、行がテーブルにおいて選択された、などの)より高いレベルであり得るイベントタイプ;
− コンポーネントタイプ。いくつかの実施例においては、ページのサーバ表示には、ページ上でユーザ対話を処理する(たとえば、テキスト領域への入力の処理、購入すべきアイテムの選別、などの)ためにコードが関連付けられている。これは、しばしば、ユーザインターフェイスコンポーネントのツリーとしてモデル化される。これらのコンポーネントは、また、クライアント上に表示されたコンテキスト、たとえばHTMLおよび関連するjavascript(登録商標)、を生成する。クライアントはまた、サーバに戻ることを必要とすることなくクライアント上で対話を処理するために、ユーザインターフェイスコンポーネントの対応するツリーを有してもよい。これらのコンポーネントは、ボタンのようなより低レベルのカプセル化、またはショッピングカートをユーザインターフェイスで表示するといったようなより高レベルのカプセル化であり得る。いくつかの実施例においては、コンポーネントタイプに関連して記録されるのはこれらのタイプのコンポーネントである。
− いくつかの実施例において、イベントのソースであるコンポーネントのクライアント識別子であるコンポーネントクライアントId。いくつかの実施例においては、これは、コンポーネントタイプのインスタンス、たとえばどのボタンがクリックされたかについて、を固有に識別する。
− いくつかの実施例において、ウェブページ上のコンポーネントを識別する名前であるコンポーネントディスプレイ名。たとえば、ボタンまたはリンクは、アプリケーションによって識別子が与えられてもよいが、アドミニストレータはその識別子が参照するものが何であるかを容易には知り得ないだろう。このため、いくつかの実施例においては、クライアントコンポーネントは、ユーザ作業を確認しようとする際に、アドミニストレータにとってより有意義になる可能性のあるディスプレイ名を割当てるかまたは少なくとも割当てるよう試みる。(たとえば、ユーザによって選択されたイベントが、ユーザが「キャンセル」ボタンをクリックした結果であった場合、コンポーネントディスプレイ名として「キャンセル」を割当てる)。すなわち、コンポーネントディスプレイ名は、通常、ユーザインターフェイス上に表示される「キャンセル」などの人間が読取れる名前であって、「キャンセル申込み」などのより意味のあるものである。識別子がページ内のコンポーネントを一意的に識別する一方で、ディスプレイ名は一意的ではない可能性がある。いくつかの実施例においては、識別子は、同様にコンポーネントについてのコンテキスト情報を提供し得る。いくつかの実施例においては、クライアントアプリカントは、アプリケーションによって割当てられたコンポーネントディスプレイ識別子と、それ自体のコンポーネントディスプレイ名識別子とをともに送信してもよい。
− いくつかの実施例において、ユーザ動作が領域内で始まった場合における、最も外側の領域までの領域名のリストである領域名。いくつかの実施例においては、ウェブページは、さまざまな領域およびタスクフローに分割されてもよい。イベントが規定された領域においては始まった場合、その領域名が集められて用いられてもよい。領域が1つ以上の他の領域内にネストされる場合、ネスト情報が集められてもよい。限定ではなく例示のために、図2に示される例を検討する。図2は、本発明の実施例に従った1セットのネストされたタスクフロー200を表す。図2に示されるように、アプリケーションのディスプレイの一部は、ディスプレイにおけるさまざまな領域において提示される1セットのネストされたタスクフローを含む。示される例においては、タスクフロー2の領域210内にコンポーネント、この場合はボタン215、が存在する。タスクフロー2の表示された領域210は、タスクフロー1に関連付けられるより大きな領域205内にネストされる。このため、領域識別子はこのネストされた関係を示す可能性がある。たとえば、ボタン215を選択するユーザのユーザイベントのための領域識別子は、「タスクフロー1:タスクフロー2:ボタン」であってもよい。
− 領域ビューIdは、ユーザ動作が領域内で始まった場合における、最も外側の領域にまで至る領域識別子のリストである。いくつかの実施例においては、領域名は、タスクフローを全体的に識別する名前であり、アドミニストレータが熟知している可能性のある名前、および、(「チェックアウト」などの)より高レベルのプロセスを記述する可能性のある名前であり、一方で、領域ビュー識別子は、(「checkout_credit_card.jsff)」などの)領域の定義を含むファイル名に由来している。
いくつかの実施例においては、クライアント属性の変化によってもたらされる要求のために、「イベント情報」が「ヌル(null)」に設定されてもよい。
いくつかの実施例においては、応答または要求の一部として含まれ得るユーザ作業監視データの一部として利用可能な情報は、以下を含み得るがこれらには限定されない。
・ いくつかの実施例において、ちょうど行われたところである要求についての応答ページのビューの識別子であるビューId;
・ いくつかの実施例において、現在の要求のコンテキスト識別子であるコンテキストId。いくつかの実施例においては、バックエンドにおいて機能する診断および監視サービスは、要求のために実行されたログ記録済みの作業を関連付けるのに用いられる現在の要求についての実行コンテキスト識別子を生成し得る。いくつかの実施例においては、この実行コンテキスト識別子(ECID:execution context identifier)は、コンテキストIdとして用いられてもよい。
・ いくつかの実施例において、要求または応答が以前の一次的なユーザ要求の補足部分であることを識別するためのパラメータである、二次的なもの。たとえば、データストリーミング要求は、二次応答を発生させることとなる二次要求の一例である。データストリーミング要求は、典型的には、一次要求についての応答がテーブルまたはツリーなどのデータリッチなコンポーネントを含む場合に発生する。しばしば、レイアウトだけが一次要求についての応答の一部となり、これらのコンポーネントについてのデータが二次ストリーミング要求の一部として検索される。いくつかの実施例においては、ブールフラグは、応答が以前の一次要求に関連付けられていることを示すよう設定され得る。
いくつかの実施例においては、ビューId、コンテキストIdおよび二次的なものを含むがこれらに限定されないパラメータが応答ヘッダに配置される。ヘッダにこの情報を配置することにより、かなりの量のデータを含み得る応答本文に配置される場合よりも抽出にかかる計算コストがより安くなる。しかしながら、当業者であれば、データを伝送および抽出し得るいくつかの方法を認識するだろう。したがって、当業者であれば、バックエンドシステムが、応答ペイロードの一部として、応答ヘッダの一部として、別個の通信でまたはその何らかの組合せで、ユーザ作業監視に関する1つ以上のパラメータをクライアントに送信し得ることを認識するだろう。いくつかの実施例においては、フロントエンドとバックエンドとの間の対話は、ユーザ作業監視に関するデータを得るために、監視アプリケーションによってスニッフィングされてもよい。
B.具体的な方法の実施例
図3は、本発明の実施例に従ったユーザ作業を監視するための方法の実施例を示す。いくつかの実施例においては、アプリケーションとのユーザの対話に関する意味情報がクライアントにおいて記録される(305)。意味情報は、ユーザがアプリケーションに対して何を行ったのかまたは何を行おうとしていたのかを判断または推論するのに用いることのできる情報を意味するものと理解されるだろう。クライアントとサーバとの間の意味情報の受渡しを容易にするために、識別可能なパラメータを用いて、クライアントまたはフロントエンドとサーバまたはバックエンドとの間で意味情報のうち少なくともいくらかを伝送する(310)。いくつかの実施例においては、特別なパラメータがURL、ヘッダ、本文、またはそれらの組合せで現われてもよい。バックエンドにおいて実行されたオペレーションについてログ記録された情報は、フロントエンドにおいて受取られるクライアント要求にリンクされ得る(315)。ユーザがフロントエンドにおいて何を行なっているかについての意味情報を有しており、かつ、フロントエンドオペレーションとバックエンドオペレーションとがリンクされていることにより、アプリケーションとの対話の際にユーザが何を行っていたかまたは何を行おうとしていたかを確認することが容易になり得る(320)。いくつかの実施例においては、アプリケーションは、このフレームワークを用いて、クライアントとサーバとの間のトラフィックをスニッフィングすることなどによって対話を監視し、容易に識別可能なパラメータを用いて意味情報を抽出することができる。次いで、抽出された意味情報をアプリケーションおよび/またはアドミニストレータが用いることによって、ユーザの対話を監視することができる。いくつかの実施例においては、このアプリケーションはバックエンドで動作してもよい。
ユーザインターフェイスおよびコンテキスト識別子についての意味情報を伝送することにより、少なくとも2つのレベルで分析を行うことが可能となる。すなわち、1)ユーザ−インターフェイス・セマンティクスに基づいて行われていることに関する迅速な分析(いくつかの実施例においては、この分析はリアルタイムで行われてもよく、ともに集約されてもよい)、および、2)特定の要求−応答に関して起こったものに関するより深い分析(いくつかの実施例においては、この分析を、コンテキスト識別子を用いて行うことにより、ユーザ対話、迅速な分析またはこれら両方を、特定の要求−応答についてバックエンド上で起こっていたものに関するより詳細な情報に結び付け直してもよい)。典型的なワークフローは、実行システムにおいて起こり得る問題を識別するために迅速な分析時に情報を用い、次いで、実際に何が起こったのかと、それがなぜ起こったのかとを判断するためにより深い分析を用いるアドミニストレータを含む。
ユーザ作業監視に関する方法の具体的な実施例を以下に示す。具体的な実施例は、限定ではなく例示として提供される実現情報を含む。たとえば、記載されかつクレームされている方法におけるステップのうちのいくつかが、本発明を実質的に変更することなく変更され得るかまたは異なる順序で実行され得ることに留意されたい。したがって、実現例の詳細が選択の余地があり、他の実現例が使用され得ることに留意されたい。このため、選択の余地があるかまたはユーザ作業監視のアプリケーションを実質的に変更しない実現例の詳細によって本発明の範囲が限定されるわけではない。
A.部分ページ要求の実施例
図4は、本発明の実施例に従った部分ページ要求についてのユーザ作業監視のための方法を示す。いくつかの実施例においては、ユーザがクライアントまたはフロントエンドにおいて動作を開始する。たとえば、ユーザがアプリケーションにURLを入力してもよい。いくつかの実施例においては、クライアント側のモジュールが、最初の対話についてのユーザ作業に関するデータを記憶する(420)。たとえば、最初の動作が、ユーザがウェブページ上でリンクまたはボタンを選択することであった場合、リンクまたはボタンの識別子が記録されてもよく、イベントが記録されてもよく、リンクまたはボタンの領域が記録されてもよい、等である。ユーザ要求のクライアント開始時間が最初の対話では知り得ない可能性があるので、いくつかの実施例においては、この情報がシミュレートされてもよく、またはブランク/不明のままにされてもよい。いくつかの実施例においては、他のユーザデータが集められて記憶されてもよい。
図4に図示のとおり、要求がクライアントからバックエンド415に送信される(420)。いくつかの実施例においては、要求は、クライアント410において取込まれたユーザ作業データのうちいくらかを含み得る(425)。代替的には、現在の要求についてのユーザ作業データには要求が含まれていなくてもよいが、代わりに、部分的に現在の要求で、かつ部分的に次の要求で、次の要求のみで、または、1つ以上の別個の通信として送信されてもよい。
バックエンドシステム415はフロントエンド410から要求を受取り(430)、要求を処理する(430)。いくつかの実施例においては、バックエンドシステムがコンテキスト識別子(たとえば、実行コンテキスト識別子(ECID:execution context identifier))を生成し、要求を処理する際に実行される作業がログ記録され、そのECIDに関連付けられる。作業をログ記録させ、開始要求と関連付けることにより、診断および監視が容易になり、さらに、ユーザ作業のログ記録も容易になる。しばしば、バックエンドアプリケーションサーバは、要求またはコンテキストの識別子を生成するための機構を有し得る。このため、いくつかの実施例においては、サーバコンポーネントのプラグインインターフェイスはその識別子を利用することができる。なお、さまざまなコンテキスト識別子を用いることができることで、本発明の実施例を特定用途向けのサーバ実現例から抽出することが可能となり、これにより汎用性が高くなることに留意されたい。いくつかの実施例においては、バックエンドシステム415がユーザ作業データを抽出し、これをコンテキスト識別子に関連付けて記憶する。いくつかの実施例においては、サーバシステムは抽出、記憶または分析を実行せず、むしろ、この情報は、単に、ネットワークトラフィックが集まるのを監視する1つ以上の他のアプリケーションまたはツールのために公表されるに過ぎない。このため、本発明の実施例は、1つの要求の始まりと応答との間に一時的なデータ記憶を実行するが、そうでない場合には、データが記憶またはログ記録されないかもしれない。いくつかの実施例においては、抽出されログ記録されたユーザ作業データは、現在の要求、以前の要求またはこれら両方についての情報を含み得る。
要求を処理した後、バックエンドシステムは応答435を返す(430)。いくつかの実施例においては、応答は、要求された動作を完了させるための応答ペイロードと、ユーザ監視に有用となり得る付加的なユーザ作業関連データとを含む。たとえば、いくつかの実施例においては、応答は、図示された例においてはECID.1であるコンテキスト識別子と、更新されるページについてのビュー識別子などの他のデータとを応答ヘッダに含み得る。たとえば、ユーザがプロダクトカタログを要求として見ることを選択した場合、要求URLは、バックエンド識別子とは異なる識別子を有し得る。このため、いくつかの実施例においては、ユーザが見るビューについてのバックエンド識別子であるビューIDは、応答とともに特別なパラメータとして送信されてもよい。一例として、応答1について図4に示されるビュー識別子は「ProductCatalog.jspx」であってもよい。
フロントエンドシステム410は、バックエンドからの応答を受取って処理する(440)。いくつかの実施例においては、クライアント側がページをロードし、要求された動作を完了させるためのクライアント終了時間が留意される。いくつかの実施例においては、この情報が次の要求の一部としてサーバに送信されることとなる。代替的には、最初のユーザ要求および応答に関する情報のうちいくらかまたはすべてが集められなくてもよいか、またはバックエンドに伝送されなくてもよい。
ユーザは、次の要求を作成するロード済みのページと対話する(たとえば、ボタン/リンクをクリックするかまたは属性を変化させる)。たとえば、次の要求は、部分ページ応答を引起こすためにサーバに渡されるイベントであってもよく、または、次の要求は、コンポーネントの部分的なリフレッシュを引起こすためにサーバに渡される属性変化であってもよい。当業者であれば、あるタイプの部分ページ要求が部分ページ送信(partial page submit)であり得ることを認識するだろう。要求2がサーバに進む準備ができた場合、クライアントモジュールは、以前の要求のために保存されたいずれかのクライアント側ユーザ作業データが存在するかどうかを確かめるためにチェックを行う。もし存在していれば、その要求、すなわち図4の要求2が含まれていることになる。
いくつかの実施例においては、要求でピギーバックされたユーザ作業データがヘッダまたは本文のいずれかに含まれ得る。というのも、要求は典型的には応答よりも小さく、これらは、典型的には、容易にパースされるHTTPポストなどのフォーマットであるからである。また、いくつかの実施例においては、エンドユーザ監視情報を識別する特別なパラメータによって識別が容易になる。というのも、パーサが本文中のそのパラメータを探すことができるからである。いくつかの実施例においては、特別なパラメータは、クライアント開始時間、起動されたイベントユーザ、領域などのさまざまなユーザ作業情報を含むXML文書であり得る。
図4に示される例においては、次の要求、すなわち要求2、がサーバに送信され(445)、ユーザ作業データが要求に含まれている。いくつかの実施例においては、ユーザ作業データは、((既知である場合、またはシミュレートされた場合)要求1のクライアント開始時間、要求−応答を完了させるクライアント終了時間、およびその要求−応答についてのコンテキスト識別子などの)以前の要求−応答に関するデータである。いくつかの実施例においては、ユーザ作業データはまた、(要求2のクライアント開始時間や、既知であり得る他のイベントまたはコンポーネント情報などの)現在の要求についてのデータを含み得る。この記載される実施例においては、要求2についてのコンテキスト識別子は、その識別子がサーバによって割当てられるので未知であることに留意されたい。また、要求2についてのクライアント終了時間は、その要求が現在進行中であるので、まだ未知のままである。
サーバは、この次の要求を受取り、従来通り、多くのステップを繰返す(450)。すなわち、いくつかの実施例においては、バックエンドはコンテキスト識別子(たとえばECID 2)を生成し、要求を処理し、要求2の処理に関するデータをログ記録する。いくつかの実施例においては、バックエンド415がまた、要求からユーザ作業データを抽出し、そのデータをログ記録する。先に述べたとおり、いくつかの実施例においては、サーバシステムは抽出、記憶または分析を実行しない可能性があるが、むしろ、このデータは、単に、ネットワークトラフィックが集まるのを監視する1つ以上の他のアプリケーションまたはツールのために公表されるに過ぎない。ユーザ作業データを一意的なコンテキスト識別子に関連付けることにより、ログ記録されたデータ同士をリンクさせることが可能となり、これにより、ユーザとシステム全体との間の対話についてのさらなる見通しをもたらすことができる。すなわち、ユーザ作業データを一意的なコンテキスト識別子に関連付けることにより、ログ記録されたデータを、他のバックエンドコンポーネントによってログ記録されたより詳細な情報とリンクさせることが可能となり、特定の要求/応答に関して起こったものに関するより包括的なアイディアが得られる。いくつかの実施例においては、バックエンドはまた応答データ(応答2)を送信する。これは、要求および応答2についてのコンテキスト識別子、ビュー識別子などの、ユーザ作業を監視するために用いられるデータを含み得る。
当業者であれば、さまざまなユーザ対話のためにこれらの一般的なプロセスステップ(たとえばステップ440〜455)を繰返すことができることを認識するだろう。たとえば、ステップ460〜475は、ユーザ作業関連データを集めて公開し、かつさまざまな作業をリンクさせるためにバックエンドとフロントエンドとの間のやり取りを容易にする同じ一般的な概念のステップを繰返す。
当業者であれば、ユーザ作業データが次の要求でピギーバックされるいくつかの実施例において、次の要求がない場合に、データが別々に送信され得るか、アプリケーションのアンロード前に送信され得るか、次のアプリケーションのロード時に送信され得るか、または送信され得ないことも認識するだろう。当業者であれば、データを送信するためのいくつかの方法が存在することを認識するだろう。
B.記憶済みのユーザ作業関連データの獲得
いくつかの実施例においては、クライアント側で集められたユーザ作業関連データが、ウェブページの一部として記憶される。しかしながら、ウェブアプリケーションは、ユーザ作業に関するデータを集めてやり取りしようとする際に複雑さを増す可能性のあるさまざまな要求および応答の対話を発生させる可能性がある。たとえば、ウェブブラウザが新しいページに転送される場合、新しいページがレンダリングされたときに、ページで記憶されたいずれのクライアント側情報も失われてしまう。このような状況に対処するために、ユーザ作業関連データが記憶されてもよく、および/または、1つ以上の二次記憶装置からアクセスされてもよい。図5は、本発明の実施例に従った記憶済みユーザ作業監視データを得るための方法を示す。
図5は、限定ではなく例示を目的として、本発明の実施例に従ったユーザ作業に関するデータを得ることに重点を置いて、クライアント510とサーバ515との間の対話の一部を表わす。例示だけを目的として、応答がサーバからクライアントに送信される(520)ことにより、結果として、クライアントが新しいページ全体をレンダリングする(525)こととなると想定する。新しいページが生成されるので、以前のページに記憶されたユーザ作業関連データがこのとき失われる。しかしながら、いくつかの実施例においては、以前の要求−応答対話のクライアント終了時間などのユーザ作業データのうちのいくらかは有用である可能性があり、ユーザ作業監視のためにバックエンドに伝えられなければならない。このため、クライアントシステムは、動作に応答して次の要求を送信する準備ができると、そのページで記憶された以前の要求−応答対話についてのユーザ作業関連データが存在するかどうかをチェックする(535)。以前の要求からのユーザ作業関連データがウェブページで記憶される場合、クライアントシステムは、そのデータを用いてサーバに送信する(540)。しかしながら、ここに記載される例において新しいページがレンダリングされているように、現在のページは新しく、このようなデータは記憶されていない。したがって、いくつかの実施例においては、クライアントシステム510は1つ以上の二次ソースからデータを獲得する(545)。
このため、いくつかの実施例においては、ユーザ作業関連データを記憶する際に、クライアントは、ウェブページでユーザ作業関連データを保存してもよく、また、1つ以上の他の位置において当該データを保存してもよい。いくつかの実施例においては、レンダリングよりも前に、ユーザ作業関連データが二次記憶装置に記憶される。加えて、または、代替例として、クライアントは、ブラウザセッションストレージ、クッキーまたはグローバルストレージなどを含むがこれらに限定されない二次ソースからデータを得てもよい。
(現在のページ(540)からであろうと、1つ以上の二次ソース(545)からであろうと)ユーザ作業関連データが得られると、クライアントはユーザ作業関連データとともに現在の要求を送信する。
C.特別な要求および応答
最後の段落において言及したように、ウェブアプリケーションは、ユーザ作業関連データを集めて伝達しようとする際に複雑さを増す可能性のあるさまざまな要求および応答の対話を発生させる可能性がある。直接的なユーザ動作ではない要求が生成されるインスタンスがある。本発明の実施例の主要な目標のうちの1つが、ユーザ作業または動作を判断または推論するのに用いられ得るデータを集めることであるので、ユーザ対話ではなく技術的対話の問題として生じる動作を考慮することは有益である。このような2つの例を、図6および図7に関連付けて以下に示す。図6は、本発明の実施例に従ったデータストリーミングの場合などの二次要求を含むユーザ作業監視のための方法を示す。図7は、本発明の実施例に従った転送要求を含むユーザ作業監視のための方法を示す。
1.データストリーミング
クライアントとサーバとの間のデータストリーミング対話により、結果として、クライアントとサーバとの間に付加的な要求および応答が発生する可能性がある。真のユーザ作業をより正確に取込むために、この発明の実施例はこのような対話を補償する。いくつかの実施例においては、より大きなタスクの一部である対話が一次タスクに付随するものとして注目される。図6に示される例について限定ではなく例示を目的として検討する。
図6は、本発明の実施例に従った二次要求を含むユーザ作業監視のための方法を示す。ユーザは、クライアント610において彼または彼女に対して表示されるウェブページ620を見ている。例示を目的として、ユーザがページ上でテーブルのレンダリングを引起す動作を選択したものと想定する。その要求(要求n)はバックエンドに送信される(625)。ユーザ作業関連データは、要求とともに送信されてもよい。いくつかの実施例においては、ユーザ作業関連データは、以前の要求−応答対話(要求−応答n−1)についてのデータを含み、現在の要求(要求n)についてのデータを含み得る。
バックエンドシステム615はフロントエンド610から要求を受取り(630)、要求を処理する(630)。いくつかの実施例においては、バックエンドシステムがコンテキスト識別子(たとえば実行コンテキスト識別子(ECID))を生成し、要求の処理時に実行される作業がログ記録され、そのECIDに関連付けられる。いくつかの実施例においては、バックエンドシステムはまた、ユーザ作業関連データを抽出し、特別なパラメータを用いてデータを識別して、そのデータを記憶する。先に述べたように、いくつかの実施例においては、サーバシステムは抽出、記憶または分析を実行しない可能性がある。むしろ、この情報は、単に、ネットワークトラフィックが集まるのを監視する1つ以上の他のアプリケーションまたはツールのために公表されるに過ぎない。バックエンドシステムは応答を返す(635)。いくつかの実施例においては、応答は、ユーザ監視に有用であり得る付加的なユーザ作業関連データとともに応答ペイロードを含む。
フロントエンドシステム610は、バックエンドからの応答を受取って処理する(640)。ウェブページ上に1つ以上のテーブルがある状況、または他のデータストリーミング状況においては、応答がクライアントに戻ってくると、ページのレイアウトが受取られる(たとえば640のディスプレイ)。但し、テーブルを埋めるべきデータが1つ以上の後続の対話の際にフェッチおよびロードされる。このため、クライアントシステムは、応答nを受取ると、テーブルについてのデータを得るためにサーバに対する別の要求(要求n+1)を自動的に開始する(645)。いくつかの実施例においては、クライアントモジュールは、それが二次要求であると理解する。なぜなら、コード(たとえばJavascript(登録商標)コード)の形でクライアントが動作を開始したからである。
しかしながら、この要求は一次要求に付随するものである。ユーザの観点から見ると、彼または彼女は、データを含むテーブルの獲得を要求していたので、データを含むテーブルが表示されると動作が完了したものと見なす。このため、いくつかの実施例においては、クライアントシステムは、この要求(要求n+1)が二次要求であることを示す特別なパラメータを含み得る。いくつかの実施例においては、二次要求であることを示す特別なパラメータは、要求本文中に、またはURLの一部として含まれてもよい。要求に特別なパラメータが含まれることにより、トラフィックをスニッフィングしているアプリケーションがユーザ作業データを監視することを可能にして、この要求が二次要求であることを知ることができる。さらに、最初の要求(要求n)がまだ果たされていないので、クライアントは、この要求(要求n+1)に他の如何なるユーザ作業関連データも含み得ない。
サーバは要求を受取って処理する(650)。いくつかの実施例においては、サーバは、二次要求についてのコンテキスト識別子を割当てて、要求の処理に関連付けられたデータをログ記録してもよい。要求を処理した後、サーバは応答(応答n+1)を準備する。いくつかの実施例においては、バックエンドシステムは、要求(要求n+1)がストリーミング要求であると理解し、これにより、この要求を二次要求にして、それが二次応答であることを示すために応答に特別なインジケータを追加する(655)。いくつかの実施例においては、二次要求−応答対話のためのコンテキスト識別子が含まれている場合、ユーザ作業データを監視するアプリケーションがそのコンテキスト識別子を一次コンテキスト識別子に関連付けることができる。
クライアントは二次応答を受取り(660)、テーブルにデータをロードする。いくつかの実施例においては、クライアント終了時間は、ユーザの要求を完了させる応答の終わりとして計算される。図示される例においては、クライアント開始時間670は一次要求(要求n)の始まりであって、クライアント終了時間675は、最初の応答の終わりではなく二次応答(応答n+1)の終わりである。当業者であれば、ウェブページ上にいくつかのテーブルが存在し得ることを認識するだろう。いくつかの実施例においては、クライアント終了時間は、最後のテーブルがデータで占められたときに設定される。図6におけるアイテム660は、データで占められたテーブルを有するウェブページを示す。いくつかの実施例においては、クライアント開始時間670およびクライアント終了時間675などのユーザ作業関連データが、次の要求(要求n+2)の一部として、または別個の通信としてサーバに送信されてもよい。いくつかの実施例においては、ユーザ作業関連データは、一次要求(たとえばECID.n)、二次要求(たとえばECID.n+1)またはこれら両方についてのコンテキスト識別子を含む。
当業者であれば、複数のテーブルが存在する場合、いくつかの実施例において、個々のテーブルについての終了時間も追跡され得ることも認識するだろう。たとえば、サーバは各テーブルごとに別個のスレッドを用いることができ、テーブルについてのデータが集められると、このデータをクライアントに送ることができる。クライアントは、どのテーブルが完了していないかを追跡することができ、サーバは同じことを行ってもよい。すべてのテーブルについてのデータが送信されると、サーバは接続を閉じ、クライアントは、それが行われたことを知って、完了した終了時間を計算することができる。
2.クライアント側の転送
クライアント側の転送により、ユーザ作業を正確に監視することについて同様の課題が生じる。具体的には、クライアント側の転送によっても、結果として、クライアントとサーバとの間に真のユーザ作業ではない付加的な要求および応答が生じる。真のユーザ作業をより正確に取込むために、本発明の実施例はクライアント側の転送に留意することによって補償を行う。限定ではなく例示を目的として、図7に示される例を検討する。
図7は、本発明の実施例に従ったクライアント側の転送を含むユーザ作業監視のための方法を示す。ユーザは、クライアント710において彼または彼女に対して表示されるウェブページ720を見ている。ユーザによって選択されたイベントにより、結果として、要求(要求n)がバックエンド715に送信されることとなる(725)。ユーザ作業関連データは、要求とともに送信されてもよい。いくつかの実施例においては、ユーザ作業関連データは、以前の要求−応答対話(要求−応答n−1)についてのデータを含んでもよく、現在の要求(要求n)についてのデータを含んでもよい。
バックエンドシステム715は要求を受取り(730)、それを処理する(730)。いくつかの実施例においては、バックエンドシステムはコンテキスト識別子(たとえばECID)を生成し、要求を処理する際に実行される作業がログ記録され、そのコンテキスト識別子に関連付けられる。いくつかの実施例においては、バックエンドシステムはまた、ユーザ作業関連データを抽出し、特別なパラメータを用いてデータを識別し、そのデータを記憶する。いくつかの実施例においては、サーバシステムは抽出、記憶または分析を実行しなくてもよく、むしろ、この情報は、単に、ネットワークトラフィックが集まるのを監視する1つ以上の他のアプリケーションまたはツールのために公表されるに過ぎない。バックエンドシステムは応答を返す(735)。いくつかの実施例においては、応答は、ユーザ監視に有用であり得る付加的なユーザ作業関連データとともに応答ペイロードを含む。
フロントエンドシステム710は、バックエンドからの応答を受取って処理する(740)。例示を目的として、クライアントにおいて処理された際の応答により、結果として、転送要求(要求n+1)が送信されることとなる(745)。いくつかの実施例においては、転送応答がクライアント上で処理されると、クライアントが、いずれの未報告のユーザ作業データおよびその関連するECIDをも二次記憶装置に保存してから、転送要求(要求n+1)が開始される。先の段落のデータストリーミングの場合と同様に、この要求は一次要求に付随するものである。ユーザの観点から見ると、彼または彼女は、最初の要求とは別個のタスクの転送については考慮しない可能性があるだろう。このため、いくつかの実施例においては、クライアントシステムは、この要求(要求n+1)が二次要求であることを示す特別なパラメータを含んでもよい。いくつかの実施例においては、それが二次要求であることを示す特別なパラメータが、要求本文に含まれてもよく、またはURLの一部として含まれてもよい。要求に特別なパラメータを含めることにより、トラフィックをスニッフィングしているアプリケーションが、この要求が二次要求であることを知ることが可能となる。さらに、いくつかの実施例においては、最初の要求(要求n)がまだ果たされていないので、クライアントは、この要求(要求n+1)に他の如何なるユーザ作業データも含めない可能性がある。
サーバは要求を受取って処理する(750)。いくつかの実施例においては、サーバは、転送要求についてのコンテキスト識別子を割当てて、要求の処理に関連付けられるデータをログ記録してもよい。要求を処理した後、サーバは応答(応答n+1)を準備する。いくつかの実施例においては、バックエンドシステムは、要求(要求n+1)が転送要求であることを理解し、これにより、その要求が二次要求とされ、それが二次応答であることを示すために応答に対して特別なインジケータが追加される(755)。いくつかの実施例においては、二次要求−応答対話のためのコンテキスト識別子が含まれている場合、ユーザ作業データを監視するアプリケーションはそのコンテキスト識別子を一次コンテキスト識別子に関連付けることができる。
クライアントは転送応答を受取り(760)、ウェブページをロードする。当業者であれば、転送の結果、ページ全体がロードされるので、クライアント開始時間770などのユーザ作業関連データのうちのいくらかが二次的なソースから得られることを認識するだろう。このため、いくつかの実施例においては、クライアントは、典型的にはECIDおよび要求725のクライアント開始時間であり二次記憶装置に記憶されたユーザ作業関連データを検索する。いくつかの実施例においては、クライアント終了時間は、ユーザの要求を完了させる応答755を処理した後に計測される。示される例においては、クライアント開始時間770は一次要求(要求n)の始まりであった。また、クライアント終了時間775は、最初の応答の終わりではなく二次応答(応答n+1)の終わりである。いくつかの実施例においては、クライアント開始時間770およびクライアント終了時間775などのユーザ作業関連データは、次の要求(要求n+2)の一部として、または別個の通信としてサーバに送信されてもよい。いくつかの実施例においては、ユーザ作業関連データは、一次要求(たとえばECID.n)、二次要求(たとえばECID.n+1)またはこれら両方についてのコンテキスト識別子を含む。
D.コンピューティングシステムの実現例
いくつかの実施例においては、コンピューティングシステムは、この明細書中に提示される方法、機能および/または動作のうち1つ以上を実行するよう構成され得る。この明細書中に記載される方法、機能および/または動作のうち少なくとも1つ以上を実現するシステムは、コンピュータシステム上で動作するユーザ作業監視アプリケーションを含み得る。コンピュータシステムは、1つ以上のコンピュータおよび1つ以上のデータベースを含み得る。
本発明が、電話、ラップトップコンピュータ、デスクトップコンピュータおよびサーバを含むがこれらに限定されない、データを処理可能な如何なる命令実行/コンピューティングデバイスまたはシステムにおいて実現され得ることに留意されたい。本発明はまた、他のコンピューティングデバイスおよびシステムへと実現され得る。さらに、本発明の局面は、ソフトウェア、ハードウェア、ファームウェアまたはこれらの組合せを含む多種多様な態様で実現され得る。たとえば、本発明のさまざまな局面を実施する機能は、離散的なロジックコンポーネント、1つ以上の特定用途向け集積回路(ASICs:application specific integrated circuits)および/またはプログラム制御されたプロセッサを含む多種多様な態様で実現されるコンポーネントによって実行され得る。なお、これらのアイテムが実現される態様が本発明にとって重要ではないことに留意されたい。
図8は、クライアントおよびサーバを含むがこれらに限定されない、本発明の実施例を実現または具体化し得る命令実行/コンピューティングデバイス800の実施例の機能ブロック図を示す。図8に図示のとおり、プロセッサ802はソフトウェア命令を実行し、他のシステムコンポーネントと対話する。ある実施例においては、プロセッサ802は、AMDプロセッサ、INTELプロセッサ、SUN MICROSYSTEMSプロセッサ、もしくはPOWERPC−コンパチブルCPUなどの(例示を目的としたものであってこれらに限定されない)汎用プロセッサであり得るか、または、プロセッサは、特定用途のプロセッサであり得る。プロセッサ802に結合された記憶装置804には、データおよびソフトウェアプログラムが長期間格納される。記憶装置804は、ハードディスクドライブ、および/または、磁気媒体もしくは光学媒体(たとえばディスケット、テープ、コンパクトディスク、DVDなどの)ドライブもしくはソリッドステートメモリデバイスなどの、データを記憶することのできる別のデバイスであり得る。記憶装置804は、プロセッサ802で使用されるべきプログラム、命令および/またはデータを保持し得る。ある実施例においては、記憶装置804に記憶されるかまたは記憶装置804からロードされるプログラムまたは命令がメモリ806にロードされ、プロセッサ802によって実行され得る。ある実施例においては、記憶装置804は、プロセッサ802上でオペレーティングシステムを実現するためのプログラムまたは命令を保持する。一実施例においては、実現可能なオペレーティングシステムは、UNIX(登録商標)、AIX、LINUX(登録商標)、マイクロソフト・ウィンドウズ(登録商標)およびアップルMAC OSを含むがこれらに限定されない。いくつかの実施例においては、オペレーティングシステムは、コンピューティングシステム800上で実行され、その動作を制御する。
プロセッサ802に結合されるアドレス可能なメモリ806を用いて、プロセッサ802によって実行されるべきデータおよびソフトウェア命令を記憶してもよい。メモリ806は、たとえば、ファームウェア、読取り専用メモリ(ROM:read only memory)、フラッシュメモリ、不揮発性ランダムアクセスメモリ(NVRAM:non-volatile random access memory)、ランダムアクセスメモリ(RAM:random access memory)またはこれらの如何なる組合せであってもよい。一実施例においては、メモリ806は、他の場合にはサービス、ユーティリティ、コンポーネントまたはモジュールとして公知であるいくつかのソフトウェアオブジェクトを記憶する。当業者であれば、ストレージ804およびメモリ806が両方の容量に関してアイテムおよび機能が同じであり得ることも認識するだろう。ある実施例においては、この明細書中に記載される方法、機能または動作のうち1つ以上が、メモリ804、806に格納されたモジュールとして実現され、プロセッサ802によって実行され得る。
ある実施例においては、コンピューティングシステム800は他のデバイス、他のネットワークまたはこれら両方と通信する能力を提供する。コンピューティングシステム800は、このコンピューティングシステム800を他のネットワークおよびデバイスに通信可能に結合するために1つ以上のネットワークインターフェイスまたはアダプタ812、814を含み得る。たとえば、コンピューティングシステム800は、ネットワークインターフェイス812、通信ポート814またはこれら両方を含んでもよく、その各々は、プロセッサ802に対して通信可能に結合され、コンピューティングシステム800を他のコンピュータシステム、ネットワークおよびデバイスに結合するのに用いられてもよい。
ある実施例においては、コンピューティングシステム800は、グラフィックスおよびテキストの表示を容易にするようプロセッサ802に結合された1つ以上の出力装置808を含み得る。出力装置808は、ディスプレイ、液晶ディスプレイ画面、CRTモニタ、プリンタ、タッチスクリーン、または情報を表示するための他のデバイスを含み得るがこれらに限定されない。コンピューティングシステム800はまた、出力装置808上に情報または画像を表示するのを支援するためのグラフィックスアダプタ(図示せず)を含んでもよい。
ユーザ入力を容易にするために、プロセッサ802に結合された1つ以上の入力装置810が用いられてもよい。入力装置810は、マウス、トラックボールまたはタッチパッドなどのポインティングデバイスを含み得るがこれらに限定されず、コンピューティングシステム800にデータまたは命令を入力するためのキーボードまたはキーパッドを含み得る。
ある実施例においては、コンピューティングシステム800は、スキャナ、コピー機、ファクシミリ装置または他のコンピューティングデバイスから、通信ポート814、ネットワークインターフェイス812を介してであろうと、または、入力装置810を介してであろうと、メモリ804/806に記憶されたデータの入力を受取り得る。
いくつかの実施例においては、コンピューティングシステム800は1つ以上のデータベースを含み得る。それらのうちいくつかは、プログラムまたはアプリケーションによって使用および/または生成されるデータを記憶し得る。いくつかの実施例においては、1つ以上のデータベースが、コンピューティングシステム800内にある1つ以上の記憶装置804に配置されてもよい。代替的な実施例においては、1つ以上のデータベースはリモートであってもよく(すなわち、コンピューティングシステム800に対してローカルではなく)、そのネットワークインターフェイス814を介してコンピューティングシステム800との接続をネットワーク816と共有し得る。さまざまな実施例においては、データベースは、SQLフォーマットされたコマンドに応答してデータを記憶、更新および検索するよう適合されたオラクル(Oracle)データベースなどのリレーショナルデータベースであってもよい。
当業者であれば、コンピューティングシステムまたはプログラミング言語が本発明の実施にとって重要ではないことを認識するだろう。当業者であれば、また、上述のいくつかの要素が物理的および/または機能的にサブモジュールに分割され得るかまたはともに組合わされ得ることを認識するだろう。
本発明の実施例がさらに、コンピュータによって実現されるさまざまなオペレーションを実行するためにコンピュータコードが格納されたコンピュータ読取可能媒体を備えたコンピュータプロダクトに関し得ることに留意されたい。この媒体およびコンピュータコードは、本発明の目的のために特別に設計および構築されたものであってもよく、または、当業者にとって公知であるかもしくは利用可能なものであってもよい。コンピュータ読取可能媒体の例として、ハードディスク、フロッピーディスク(登録商標)および磁気テープなどの磁気媒体;CD−ROMおよびホログラフィ装置などの光学媒体;磁気光学媒体;ならびに、プログラムコードを記憶するかまたはプログラムコードを記憶して実行するよう特別に構成された、特定用途向け集積回路(ASICs:application specific integrated circuits)、プログラム可能論理回路(PLD:programmable logic devices )、フラッシュメモリデバイス、ならびにROMおよびRAMデバイスなどのハードウェアデバイスが含まれるが、これらに限定されない。コンピュータコードの例として、コンパイラによって生成されるようなマシンコードや、インタープリタを用いてコンピュータによって実行されるより高レベルのコードを含むファイルが含まれる。本発明のいくつかの実施例は、全体的または部分的に、コンピュータによって実行されるプログラムモジュールにあり得る機械実行可能な命令として実現されてもよい。プログラムモジュールの例として、ライブラリ、プログラム、ルーチン、オブジェクト、コンポーネントおよびデータ構造が含まれる。分散されたコンピューティング環境においては、プログラムモジュールは、ローカルであるかリモートであるかまたはこれらの両方である設定で物理的に配置され得る。
上述の例および実施例が例示的なものであり、本発明の範囲に限定されないことが当業者に認識されるだろう。明細書を読み、添付の図面を検討することで当業者にとって明らかになるすべての変更例、向上例、同等例、組合せおよびそれらに対する改善例が本発明の真の精神および範囲内に含まれるものと意図されている。

Claims (24)

  1. ユーザ対話の監視を容易にするための方法であって、
    バックエンドシステムに対して要求を送信させるユーザ開始イベントに関する意味情報をクライアントシステムにおいて取込むステップと、
    少なくとも1つの特別なパラメータを用いて、ユーザ開始イベントについての意味情報のうち少なくともいくらかをクライアントシステムからバックエンドシステムに渡すステップと、
    意味情報のうち少なくともいくらかを、要求の処理時にバックエンドシステムによって実行される1つ以上の動作とリンクさせるための識別子をクライアントシステムにおいて受取るステップとを含む、方法。
  2. ユーザ開始イベントに関する意味情報は、ユーザ開始イベントのクライアント開始時間、ユーザ開始イベントのクライアント終了時間、イベント情報および部分ターゲットのうち少なくとも1つを含む、請求項1に記載の方法。
  3. イベント情報は、イベントタイプ、コンポーネントタイプ、コンポーネントクライアント識別子、コンポーネントディスプレイ名、領域名および領域ビュー識別子のうち少なくとも1つを含む、請求項2に記載の方法。
  4. 少なくとも1つの特別なパラメータを用いて、ユーザ開始イベントについての意味情報のうち少なくともいくらかをクライアントシステムからバックエンドシステムに渡すステップは、さらに、
    バックエンドシステムに対する要求に少なくとも1つの特別なパラメータを含めるステップを含む、請求項1に記載の方法。
  5. 要求は、ユーザ開始イベントに応答して生成される要求である、請求項4に記載の方法。
  6. 要求は、後続のユーザ開始イベントによって生成される要求である、請求項4に記載の方法。
  7. バックエンドシステムに対する要求に少なくとも1つの特別なパラメータを含めるステップは、さらに、
    ユーザ開始イベントに関する意味情報が現在のウェブページで記憶されていると判断したことに応答して、少なくとも1つの特別なパラメータについての、現在のウェブページで記憶されている意味情報のうち少なくともいくらかを用いるステップと、
    ユーザ開始イベントに関する意味情報が現在のウェブページで記憶されていないと判断したことに応答して、少なくとも1つの特別なパラメータについての、二次記憶装置に記憶された意味情報のうち少なくともいくらかを用いるステップとを含む、請求項6に記載の方法。
  8. バックエンドシステムに対して要求を送信させるユーザ開始イベントに関する意味情報をクライアントシステムにおいて取込むステップはさらに、
    意味情報のうち少なくともいくらかを二次記憶装置に記憶するステップをさらに含む、請求項1に記載の方法。
  9. 結果としてクライアントシステムから少なくとも1つの二次要求が送信されることとなるユーザ開始イベントに応答して、要求が二次要求であることを示すインジケータを少なくとも1つの二次要求に含めるステップをさらに含む、請求項1に記載の方法。
  10. 命令の1つ以上のシーケンスを記憶する少なくとも1つの一時的でないコンピュータ読取可能媒体を含むコンピュータプログラムプロダクトであって、1つ以上のプロセッサによって命令のうち1つ以上のシーケンスを実行することで、前記1つ以上のプロセッサに請求項1の方法を実行させる、コンピュータプログラムプロダクト。
  11. ユーザ対話の監視を容易にするための方法であって、
    クライアントシステムにおいて開始される少なくとも1つのイベントについての要求およびユーザ作業関連データをバックエンドシステムにおいて受取るステップを含み、前記ユーザ作業関連データは、少なくとも1つの容易に識別可能なパラメータを用いてバックエンドシステムに伝達され、前記方法はさらに、
    処理されている要求に応答して、処理された要求についての応答に少なくとも1つの容易に識別可能なパラメータを含めるステップを含み、前記少なくとも1つの容易に識別可能なパラメータは、要求の処理時にバックエンドシステムによって実行される1つ以上の動作を、要求を開始したクライアント開始イベントと関連付けるための少なくとも一意的な識別子を含む、方法。
  12. クライアントシステムにおいて開始された少なくとも1つのイベントについてのユーザ作業関連データは、
    要求に連付けられたユーザ作業関連データと、
    以前の要求に関連付けられたユーザ作業関連データとのうち少なくとも1つを含む、請求項11に記載の方法。
  13. 以前の要求に関連付けられたユーザ作業関連データは、以前の要求のクライアント開始時間、以前の要求の完了のクライアント終了時間、および、以前の要求を処理する際にバックエンドシステムによって実行される1つ以上の動作を関連付けるための一意的な識別子のうち少なくとも1つを含む、請求項12に記載の方法。
  14. ユーザ作業関連データは、要求のクライアント開始時間、部分ターゲット、イベントタイプ、コンポーネントタイプ、コンポーネントクライアント識別子、コンポーネントディスプレイ名、領域名および領域ビュー識別子のうち少なくとも1つを含む、請求項12に記載の方法。
  15. クライアント開始イベントはユーザ開始動作に対する二次要求であり、少なくとも1つの容易に識別可能なパラメータはさらに、応答が二次要求に対する二次応答であることの表示を含む、請求項11に記載の方法。
  16. 命令の1つ以上のシーケンスを記憶する少なくとも1つの一時的でないコンピュータ読取可能媒体を含むコンピュータプログラムプロダクトであって、1つ以上のプロセッサによって命令の1つ以上のシーケンスを実行することで、前記1つ以上のプロセッサに請求項11の方法を実行させる、コンピュータプログラムプロダクト。
  17. 命令の1つ以上のシーケンスを記憶する少なくとも1つの一時的でないコンピュータ読取可能媒体を含むコンピュータプログラムプロダクトであって、1つ以上のプロセッサによって命令の1つ以上のシーケンスを実行することで、前記1つ以上のプロセッサに、
    クライアントシステムによって取込まれたデータを含むユーザ開始動作に関するデータを識別する1つ以上のユーザ作業監視パラメータのために、クライアントシステムとバックエンドシステムとの間のネットワークトラフィック対話を監視するステップと、
    ユーザ開始動作に関するデータを含むユーザ作業監視パラメータを含むネットワークトラフィック対話に応答して、ネットワークトラフィック対話をパースして、ユーザ開始動作に関するデータを抽出するステップと、
    抽出されたデータを用いて、ユーザ開始動作に関するユーザの動作を判断または推論するステップとを含むステップを実行させる、コンピュータプログラムプロダクト。
  18. ユーザ開始動作に関するデータは、クライアント開始時間、クライアント終了時間、部分ターゲット、イベントタイプ、コンポーネントタイプ、コンポーネントクライアント識別子、コンポーネントディスプレイ名、領域名、および領域ビュー識別子のうち少なくとも1つを含む、請求項17に記載のコンピュータプログラムプロダクト。
  19. ユーザ開始動作に関するデータを識別する1つ以上のユーザ作業監視パラメータは、要求および応答のうち少なくとも1つに含まれる、請求項18に記載のコンピュータプログラムプロダクト。
  20. ユーザ開始動作に関するデータのうち少なくともいくらかを要求の処理時にバックエンドシステムによって実行される1つ以上の動作とリンクさせる識別子を、抽出されたデータから受取るステップをさらに含む、請求項17に記載のコンピュータプログラムプロダクト。
  21. 命令の1つ以上のシーケンスを記憶する少なくとも1つの一時的でないコンピュータ読取可能媒体を含むコンピュータプログラムプロダクトであって、1つ以上のプロセッサによって命令の1つ以上のシーケンスを実行することで、前記1つ以上のプロセッサに、
    バックエンドシステムに対して要求を送信させるユーザ開始イベントに関する意味情報をクライアントシステムにおいて取込むステップと、
    少なくとも1つの特別なパラメータを用いて、ユーザ開始イベントについての意味情報のうち少なくともいくらかをクライアントシステムからバックエンドシステムに渡すステップと、
    要求の処理時にバックエンドシステムによって実行される1つ以上の動作と意味情報のうち少なくともいくらかをリンクさせるための識別子をクライアントシステムにおいて受取るステップとを実行させる、コンピュータプログラムプロダクト。
  22. 命令の1つ以上のシーケンスを記憶する少なくとも1つの一時的でないコンピュータ読取可能媒体を含むコンピュータプログラムプロダクトであって、1つ以上のプロセッサによって命令の1つ以上のシーケンスを実行することで前記1つ以上のプロセッサに以下のステップを実行させ、前記以下のステップは、
    クライアントシステムにおいて開始された少なくとも1つのイベントについての要求およびユーザ作業関連データをバックエンドシステムにおいて受取るステップを含み、前記ユーザ作業関連データは、少なくとも1つの容易に識別可能なパラメータを用いてバックエンドシステムに伝達され、前記以下のステップはさらに、
    処理されている要求に応答して、少なくとも1つの容易に識別可能なパラメータを処理された要求についての応答に含めるステップを含み、前記少なくとも1つの容易に識別可能なパラメータは、要求の処理時にバックエンドシステムによって実行される1つ以上の動作を、要求を開始したクライアント開始イベントに関連付けるための少なくとも一意的な識別子を含む、コンピュータプログラムプロダクト。
  23. 1つ以上のマイクロプロセッサ上で動作し、ユーザ対話の監視を容易にするためのシステムであって、
    バックエンドシステムに対して要求を送信させるユーザ開始イベントに関する意味情報をクライアントシステムにおいて取込むためのクライアントモジュールを含み、
    前記クライアントモジュールは、少なくとも1つの特別なパラメータを用いて、ユーザ開始イベントについての意味情報のうち少なくともいくらかをクライアントシステムからバックエンドシステムに渡すためのものであり、
    前記クライアントモジュールは、意味情報のうち少なくともいくらかを、要求の処理時にバックエンドシステムによって実行される1つ以上の動作とリンクさせるための識別子をクライアントシステムにおいて受取るためのものである、システム。
  24. 1つ以上のマイクロプロセッサ上で動作し、ユーザ対話の監視を容易にするためのシステムであって、
    クライアントシステムにおいて開始された少なくとも1つのイベントについての要求およびユーザ作業関連データを受取るためのバックエンドシステムを含み、前記ユーザ作業関連データは、少なくとも1つの容易に識別可能なパラメータを用いてバックエンドシステムに伝達され、
    前記バックエンドシステムは、処理されている要求に応答して、少なくとも1つの容易に識別可能なパラメータを、処理された要求についての応答に含めるためのものであり、前記少なくとも1つの容易に識別可能なパラメータは、要求の処理時にバックエンドシステムによって実行される1つ以上の動作を、要求を開始したクライアント開始イベントに関連付けるための少なくとも一意的な識別子を含む、システム。
JP2013556738A 2011-02-28 2012-02-23 ユーザ開始動作を監視し、バックエンドオペレーションと相互に関連付けるための方法およびコンピュータプログラム Active JP6259662B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/037,074 US8650284B2 (en) 2011-02-28 2011-02-28 User activity monitoring
US13/037,074 2011-02-28
PCT/US2012/026367 WO2012125270A1 (en) 2011-02-28 2012-02-23 Method and computer program to monitor and correlate user - initiated actions with backend operations

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016124366A Division JP6211141B2 (ja) 2011-02-28 2016-06-23 ユーザ開始動作を監視し、バックエンドオペレーションと相互に関連付けるための方法およびコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2014510969A true JP2014510969A (ja) 2014-05-01
JP2014510969A5 JP2014510969A5 (ja) 2015-04-09
JP6259662B2 JP6259662B2 (ja) 2018-01-10

Family

ID=45809689

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013556738A Active JP6259662B2 (ja) 2011-02-28 2012-02-23 ユーザ開始動作を監視し、バックエンドオペレーションと相互に関連付けるための方法およびコンピュータプログラム
JP2016124366A Active JP6211141B2 (ja) 2011-02-28 2016-06-23 ユーザ開始動作を監視し、バックエンドオペレーションと相互に関連付けるための方法およびコンピュータプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016124366A Active JP6211141B2 (ja) 2011-02-28 2016-06-23 ユーザ開始動作を監視し、バックエンドオペレーションと相互に関連付けるための方法およびコンピュータプログラム

Country Status (6)

Country Link
US (1) US8650284B2 (ja)
EP (1) EP2681659B1 (ja)
JP (2) JP6259662B2 (ja)
KR (1) KR101988608B1 (ja)
CN (1) CN103415841B (ja)
WO (1) WO2012125270A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091367A (ja) * 2014-11-06 2016-05-23 キヤノン株式会社 ネットワークシステム、及び、ネットワークシステムの制御方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6264849B2 (ja) * 2013-11-12 2018-01-24 富士通株式会社 分析方法、分析装置、及び分析プログラム
US9407711B2 (en) * 2013-11-21 2016-08-02 Facebook, Inc. Systems and methods for receiving and processing detected events
CN103647794B (zh) * 2013-12-31 2017-07-21 北京启明星辰信息安全技术有限公司 一种基于j2ee平台的数据关联方法及关联插件
PL2924581T3 (pl) * 2014-03-24 2020-02-28 Pingdom Ab Sposób, serwer i agent do monitorowania wzorców interakcji użytkownika
US10028116B2 (en) * 2015-02-10 2018-07-17 Microsoft Technology Licensing, Llc De-siloing applications for personalization and task completion services
US10432490B2 (en) * 2015-07-31 2019-10-01 Cisco Technology, Inc. Monitoring single content page application transitions
US20170251072A1 (en) * 2015-10-22 2017-08-31 Symantec Corporation System and method for annotating client-server transactions
US10949066B2 (en) 2016-02-01 2021-03-16 Microsoft Technology Licensing, Llc Recall service for productivity applications
US10572280B2 (en) * 2017-02-17 2020-02-25 Google Llc Mobile application activity detector
US10984003B2 (en) * 2017-09-16 2021-04-20 Fujitsu Limited Report generation for a digital task
CN108874643A (zh) * 2018-06-05 2018-11-23 淮南师范学院 一种办公室免打扰系统
CN110971363B (zh) 2018-09-28 2022-03-08 华为技术有限公司 用于以太网数据的通信方法的方法和装置
CN109634808B (zh) * 2018-12-05 2022-05-10 中信百信银行股份有限公司 一种基于关联分析的链式监控事件根因分析方法
US11245719B2 (en) * 2019-01-11 2022-02-08 Oracle International Corporation Systems and methods for enhanced host classification
US11568421B1 (en) * 2019-07-24 2023-01-31 Walgreen Co. Client side diagnostics for enhanced customer care
CN112328225A (zh) * 2021-01-07 2021-02-05 北京安泰伟奥信息技术有限公司 一种页面运行方法及其运行系统
US12050526B2 (en) * 2022-04-19 2024-07-30 Autodesk, Inc. User feedback mechanism for software applications

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11346238A (ja) * 1998-01-23 1999-12-14 Hewlett Packard Co <Hp> 応答時間測定システム
JP2000330822A (ja) * 1999-04-07 2000-11-30 Internatl Business Mach Corp <Ibm> データ処理システムにおける動的トレーシングによる集中トレース機能
JP2004537097A (ja) * 2001-04-20 2004-12-09 オラクル・インターナショナル・コーポレイション クライアント側の性能をサーバ制御で測定するための技術
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置
JP2009104267A (ja) * 2007-10-22 2009-05-14 Hitachi Ltd ウェブアプリケーションの処理記録方法および処理記録装置
JP2009245374A (ja) * 2008-03-31 2009-10-22 Nec Corp 負荷監視分析装置、方法ならびにプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393479B1 (en) 1999-06-04 2002-05-21 Webside Story, Inc. Internet website traffic flow analysis
US6993590B1 (en) 2000-01-13 2006-01-31 Inktomi Corporation Method of creating data streams for user-specific usage data gathering systems
AUPR208900A0 (en) 2000-12-14 2001-01-11 Traffion Technologies Pty Ltd A method of deriving information relating to the browsing of a user on a network
US7650403B2 (en) * 2002-11-20 2010-01-19 Microsoft Corporation System and method for client side monitoring of client server communications
US7962931B2 (en) * 2002-12-23 2011-06-14 Coupons.Com Incorporated Method and system for integrating television brand advertising with promotional marketing
US20060085420A1 (en) 2004-09-27 2006-04-20 Symphoniq Corp. Method and apparatus for monitoring real users experience with a website
US20080228862A1 (en) * 2007-03-12 2008-09-18 Timothy Mackey Systems and Methods for End-User Experience Monitoring

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11346238A (ja) * 1998-01-23 1999-12-14 Hewlett Packard Co <Hp> 応答時間測定システム
JP2000330822A (ja) * 1999-04-07 2000-11-30 Internatl Business Mach Corp <Ibm> データ処理システムにおける動的トレーシングによる集中トレース機能
JP2004537097A (ja) * 2001-04-20 2004-12-09 オラクル・インターナショナル・コーポレイション クライアント側の性能をサーバ制御で測定するための技術
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置
JP2009104267A (ja) * 2007-10-22 2009-05-14 Hitachi Ltd ウェブアプリケーションの処理記録方法および処理記録装置
JP2009245374A (ja) * 2008-03-31 2009-10-22 Nec Corp 負荷監視分析装置、方法ならびにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091367A (ja) * 2014-11-06 2016-05-23 キヤノン株式会社 ネットワークシステム、及び、ネットワークシステムの制御方法

Also Published As

Publication number Publication date
CN103415841B (zh) 2016-06-15
EP2681659B1 (en) 2017-07-05
WO2012125270A1 (en) 2012-09-20
CN103415841A (zh) 2013-11-27
US8650284B2 (en) 2014-02-11
JP6259662B2 (ja) 2018-01-10
US20120221712A1 (en) 2012-08-30
EP2681659A1 (en) 2014-01-08
JP6211141B2 (ja) 2017-10-11
KR101988608B1 (ko) 2019-06-12
KR20140009416A (ko) 2014-01-22
JP2016173862A (ja) 2016-09-29

Similar Documents

Publication Publication Date Title
JP6211141B2 (ja) ユーザ開始動作を監視し、バックエンドオペレーションと相互に関連付けるための方法およびコンピュータプログラム
US10904117B1 (en) Insights for web service providers
US7849188B2 (en) End-to-end tracking of asynchronous long-running business process execution language processes
US9396046B2 (en) Graph based data model for API ecosystem insights
US9232011B2 (en) Tracking navigation flows within the same browser tab
US9734508B2 (en) Click fraud monitoring based on advertising traffic
US20070271375A1 (en) Method and apparatus for monitoring real users experience with a website capable of using service providers and network appliances
US20090327353A1 (en) method for measuring web site performance
US11860717B1 (en) Graphical user interface for presenting crash data
US20080215389A1 (en) Model oriented business process monitoring
US9715545B2 (en) Continuous collection of web API ecosystem data
US9491223B2 (en) Techniques for determining a mobile application download attribution
US8429535B2 (en) Client utility interaction analysis
US20190087180A1 (en) Identifying equivalent javascript events
US20150006511A1 (en) Composite active reports
US20060136504A1 (en) Combined analysis of statistical and performance data in a computer based enterprise application environment
JP2015503787A (ja) シナリオ・ベース巡回方法、システムおよびコンピュータ・プログラム
US10116512B2 (en) Service discovery and/or effort estimation in networked computing environments
US9858549B2 (en) Business transaction resource usage tracking
US11782781B1 (en) User interface event impact analysis
Azad Decision support for middleware performance benchmarking
Muskee Where is the user? Filtering Bots from the Edurep Query Logs

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171211

R150 Certificate of patent or registration of utility model

Ref document number: 6259662

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