JP6259662B2 - Method and computer program for monitoring user-initiated behavior and correlating with back-end operations - Google Patents
Method and computer program for monitoring user-initiated behavior and correlating with back-end operations Download PDFInfo
- Publication number
- JP6259662B2 JP6259662B2 JP2013556738A JP2013556738A JP6259662B2 JP 6259662 B2 JP6259662 B2 JP 6259662B2 JP 2013556738 A JP2013556738 A JP 2013556738A JP 2013556738 A JP2013556738 A JP 2013556738A JP 6259662 B2 JP6259662 B2 JP 6259662B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- user
- client
- primary
- context identifier
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000012544 monitoring process Methods 0.000 title claims description 45
- 238000004590 computer program Methods 0.000 title 1
- 230000004044 response Effects 0.000 claims description 90
- 230000003993 interaction Effects 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/234—Monitoring or handling of messages for tracking messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3438—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring 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)
Description
背景
A.技術分野
本発明は概してコンピュータアプリケーションに関し、より特定的には、コンピュータアプリケーションとのユーザの対話を監視することに関する。
Background A. TECHNICAL FIELD The present invention relates generally to computer applications, and more particularly to monitoring user interactions with computer applications.
B.発明の背景
ソフトウェアアプリケーションを含む如何なるプロダクトを開発およびメンテナンスする場合にも、プロダクトとのエンドユーザの対話を監視することが必要となるはずである。ユーザの作業を監視することができれば、ユーザが如何にアプリケーションと対話するのかを開発者および管理者が識別し易くなり、かつ改善すべき区域が識別し易くなる。
B. BACKGROUND OF THE INVENTION When developing and maintaining any product that includes a software application, it should be necessary to monitor end-user interaction with the product. If the user's work can be monitored, it will be easier for developers and administrators to identify how the user interacts with the application and to identify areas to be improved.
ユーザの対話を監視しようとするこれまでの試みは極端に制限されていた。ユーザに直接問合せすることはいくらか有効であり得るが、このような方法には魅力が欠けている。まず、調査に対する応答または問題の通知をユーザに行わせることが困難である。第二に、ユーザは、彼らが行っている動作には細心の注意を払わない可能性がある。第三に、企業が、ユーザに、ユーザ作業情報を自発的に提出させることができたとしても、ユーザは有益な情報を有していない可能性がある。現代社会においてはコンピュータが遍在しているが、これは、技術的能力を持たない多くの人がコンピュータを使用することを意味している。これらの素人ユーザは、自分たちのコンピュータと対話することについてなんの識見も有していない可能性があるだろう。従来、これらのエンドユーザは、アプリケーションとの対話を評価または監視するための基準をたった2つしか有していない。これらの基準とは、すなわち、アプリケーションとの対話が完了するのにどれくらいかかるのか、および、その利用可能性である。第四に、ユーザが1回の対話と見なしているものが、ユーザから遮蔽可能ないくつかのオペレーションを含む可能性がある。このため、ユーザが自発的に進んで自身の作業情報を追跡および提出し、何らかの有意義な情報を提供できるほど技術的に熟練していたとしても、対話についての厳密な問題は、ユーザには認識できない可能性がある。最後に、このような方法では遅れが生じ、リアルタイムで行うことができない。 Previous attempts to monitor user interaction have been extremely limited. While querying the user directly may be somewhat effective, such a method lacks appeal. First, it is difficult for a user to respond to a survey or notify a problem. Second, users may not pay close attention to the actions they are performing. Third, even if a company can cause a user to voluntarily submit user work information, the user may not have useful information. Computers are ubiquitous in modern society, which means that many people without technical skills use computers. These amateur users may not have any insight into interacting with their computers. Traditionally, these end users have only two criteria for evaluating or monitoring their interaction with the application. These criteria are how long it takes to complete the interaction with the application and its availability. Fourth, what a user sees as a single interaction can include several operations that can be shielded from the user. Therefore, even if the user is willing to be willing to follow and submit his / her work information voluntarily and provide some meaningful information, the user will be aware of the rigorous problem of dialogue. It may not be possible. Finally, such a method is delayed and cannot be performed in real time.
ユーザの作業を監視しようとする他の試みには、ユーザの対話時にデータを観察することが含まれる。たとえば、ユーザが彼または彼女のブラウザを誘導させるウェブサイト、またはより特定的にはユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator)は、情報を抽出するためにある程度まで調べることができる。但し、このような方法では、せいぜい、通り一遍の情報に対して、実際のユーザの意図についてのわずかな見通しが与えられるに過ぎない。 Other attempts to monitor the user's work include observing data during user interaction. For example, a website, or more specifically a Uniform Resource Locator (URL), where the user is directed to his or her browser can be consulted to some degree to extract information. However, in such a method, at best, only a small perspective on the actual user's intention is given to the uniform information.
したがって、アプリケーションと対話する際にユーザが行おうとしていたことについての有意義な情報を提供しようとするこれまでの試みは非常に制限されていたかまたは効果のないものであった。 Thus, previous attempts to provide meaningful information about what the user was trying to do when interacting with the application have been very limited or ineffective.
図面の簡単な説明
本発明の実施例を参照し、その例を添付の図面において例示し得る。これらの図は、限定ではなく例示を意図したものである。本発明は概してこれらの実施例の文脈において説明されているが、それが本発明の範囲をこれらの特定の実施例に限定するよう意図されたものではないことが理解されるはずである。
BRIEF DESCRIPTION OF THE DRAWINGS Reference will now be made to embodiments of the invention, examples of which may be illustrated in the accompanying drawings. These figures are intended to be illustrative rather than limiting. While the invention has been described generally in the context of these examples, it should be understood that it is not intended to limit the scope of the invention to these particular examples.
好ましい実施例の詳細な説明
以下の記載においては、説明を目的として、本発明についての理解をもたらすために具体的な詳細が述べられる。しかしながら、本発明がこれらの詳細なしでも実施可能であることが当業者にとって明らかになるだろう。さらに、当業者であれば、以下に記載される本発明の実施例が、ソフトウェア、ハードウェアもしくはファームウェアまたはそれらの組合せを含むさまざまな方法で実現され得ることを認識するだろう。したがって、この明細書中において説明される図は、本発明の特定の実施例を例示するものであり、本発明を不明瞭にしないよう意図されたものである。
In the following description, for the purposes of explanation, specific details are set forth in order to provide an understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these details. Moreover, those skilled in the art will recognize that the embodiments of the invention described below can be implemented in a variety of ways, including software, hardware or firmware, or combinations thereof. Accordingly, the drawings described herein are illustrative of specific embodiments of the invention and are not intended to obscure the present invention.
ブロック図に示されるコンポーネントまたはモジュールは、本発明の具体的な実施例を例示するものであり、本発明を不明瞭にしないよう意図されたものである。この説明全体にわたって、コンポーネントが、副次的単位を含み得る別個の機能単位として記載され得ることも理解されるだろう。但し、当業者であれば、さまざまなコンポーネントまたはそれらの部分が別個のコンポーネントに分割され得るか、または、単一のシステムもしくはコンポーネント内への一体化を含め、共に一体化され得ることを認識するだろう。この明細書中に記載される機能または動作がコンポーネントまたはモジュールとして実現され得ることに留意されたい。 The components or modules shown in the block diagrams are illustrative of specific embodiments of the invention and are not intended to obscure the present invention. It will also be appreciated that throughout this description, components may be described as separate functional units that may include sub-units. However, one of ordinary skill in the art will recognize that the various components or portions thereof can be divided into separate components or can be integrated together, including integration into a single system or component. right. Note that the functions or operations described in this specification may be implemented as components or modules.
さらに、図中のコンポーネント間の接続は、直接接続に限定されるよう意図されたものではない。むしろ、これらのコンポーネント間のデータは中間コンポーネントによって修正、再フォーマットまたは変更されてもよい。また、使用され得る接続を追加するかまたは減らしてもよい。「結合された(coupled)」または「通信可能に結合された(communicatively coupled)」とは、直接接続、1つ以上の中間装置を介した間接接続および無線接続を含むものと理解されることにも留意されたい。 Furthermore, the connections between the components in the figure are not intended to be limited to direct connections. Rather, the data between these components may be modified, reformatted or changed by intermediate components. Also, connections that may be used may be added or reduced. By “coupled” or “communicatively coupled” is understood to include direct connection, indirect connection through one or more intermediate devices, and wireless connection. Please also note.
明細書において「一実施例(one embodiment)」、「好ましい実施例(preferred embodiment)」、「ある実施例(an embodiment)」または「いくつかの実施例(embodiments)」と言及する場合、実施例に関連付けて記載される特定の特色、構造、特徴または機能が、本発明の少なくとも1つの実施例に含まれており、2つ以上の実施例に含まれ得ることを意味している。明細書中のさまざまな箇所に「一実施例においては(in one embodiment)」、「ある実施例においては(in an embodiment)」、「いくつかの実施例においては(in embodiments)」という語句があるが、これらは必ずしもすべてが同じ実施例を指すわけではない。 Where the specification refers to “one embodiment”, “preferred embodiment”, “an embodiment” or “embodiments”, the embodiment A particular feature, structure, feature, or function described in connection with is meant to be included in at least one embodiment of the present invention and may be included in more than one embodiment. Various phrases in the specification include the phrases “in one embodiment”, “in an embodiment”, and “in embodiments”. Although not all of these are necessarily referring to the same embodiment.
明細書中のさまざまな箇所において特定の用語が用いられている場合、これは例示のためであって、限定として解釈されるべきではない。「サービス(service)」または「機能(function)」という用語の使用は、単一の機能を記載することに限定されず、この用語を使用する場合、1グループの関連する機能または機能性を指す可能性もある。同様に、「リソース(resource)」という用語の使用は、単一のリソースを記載することに限定されず、この用語は、コンピューティング環境内に分散され得るかまたは集められ得る1セットのリソースを指すのに用いられてもよい。 Where specific terms are used in various places in the specification, this is for purposes of illustration and should not be construed as limiting. The use of the terms “service” or “function” is not limited to describing a single function, and when used, refers to a group of related functions or functionality. There is a possibility. Similarly, use of the term “resource” is not limited to describing a single resource, and the term refers to a set of resources that can be distributed or collected within a computing environment. May be used to refer.
この明細書中に提示される本発明の実施例を、ウェブアプリケーションの例を用いて説明することとする。これらの例は限定ではなく例示によって与えられる。当業者であれば、他のアプリケーションに対する本発明の一般的な適用可能性も認識するだろう。 The embodiments of the present invention presented in this specification will be described using examples of web applications. These examples are given by way of illustration and not limitation. Those skilled in the art will also recognize the general applicability of the present invention to other applications.
A.包括的なシステムの概要
従来のユーザ対話監視方法の結果が効果のないものであったため、ユーザの対話についての意味情報をより直接的に判断および推論することを可能にするシステムおよび方法が必要とされる。このため、この発明の局面は、アプリケーションと対話する際にユーザが何を行おうとしていたかを判断または推論するのに有用であり得る情報の取込みを含む。アドミニストレータは、システム全体の健全性を監視しようと努め、個々のユーザの対話に関して集められたデータは、アドミニストレータがこのタスクを行うのを助ける。
A. Comprehensive System Overview Because the results of traditional user interaction monitoring methods have been ineffective, there is a need for systems and methods that allow more direct judgment and inference of semantic information about user interactions Is done. Thus, aspects of the invention include the capture of information that may be useful in determining or inferring what the user was trying to do when interacting with the application. The administrator seeks to monitor the health of the entire system, and the data collected regarding individual user interactions helps the administrator perform this task.
このユーザ作業監視を容易にするために、リッチクライアントフレームワークは要求についての情報を提供して、アドミニストレータが、過去および現在の両方についてアプリケーション内のページの健全性を監視することができるようする。たとえば、ユーザ作業情報は、いくつかのデータ要素、たとえば、限定ではなく例示を目的として、「クリック・トゥ・レンダー(click to render)」時間、イベント情報、コンテキスト識別子、領域識別子、さらには、部分要求のために、ストリーミング要求(たとえばテーブルにおけるデータフェッチ)、およびクライアント側の転送要求、などを含み、ユーザ作業情報はさらに、特別なパラメータを用いてヘッダ、応答本文またはURL中に通常一まとめにされた情報に含まれてもよい。いくつかの実施例においては、性能メトリックである「クリック・トゥ・レンダー」時間は、ブラウザ上でユーザが動作を実行する時間(クライアント開始時間)から、ウェブアプリケーションがこの動作の処理を完了し、その結果を用いてブラウザを更新する時間(クライアント終了時間)までのすべての処理を含む。いくつかの実施例においては、アプリケーションは、このフレームワークを用いて、クライアントとサーバとの間のトラフィックをスニッフィングすることなどによって対話を監視し、容易に識別可能なパラメータを用いて意味情報を抽出することができる。次いで、抽出された意味情報をアプリケーションおよび/またはアドミニストレータが用いることによって、ユーザの対話を監視することができる。 To facilitate this user activity monitoring, the rich client framework provides information about the request so that the administrator can monitor the health of the pages in the application for both past and present. For example, user work information may include several data elements, eg, “click to render” time, event information, context identifier, region identifier, and even partial, for purposes of illustration and not limitation For requests, including streaming requests (eg, fetching data in a table), client-side transfer requests, etc., user work information is also typically grouped in a header, response body or URL using special parameters. Information may be included. In some embodiments, the performance metric “click to render” time is the time that the user performs the action on the browser (client start time), and the web application completes the process of this action, All processes up to the time for updating the browser using the result (client end time) are included. In some embodiments, applications can use this framework to monitor interactions, such as by sniffing traffic between clients and servers, and extract semantic information using easily identifiable parameters. can do. The extracted semantic information can then be used by an application and / or administrator to monitor user interaction.
図1は、本発明の実施例に従ったユーザ作業監視についての全体的なシステム100の例を図示する。図1には、ネットワーク125を介してバックエンドシステム130に通信可能に結合されるクライアントコンピューティングシステム110が示される。いくつかの実施例においては、コンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、または処理能力を有する他のデバイスもしくはデバイスのセットであり得る。ネットワーク125は、インターネット、イントラネット、エクストラネット、直接接続またはこれらの何らかの組合せであってもよい。いくつかの実施例においては、バックエンドシステム130はネットワーク125の一部をなし得る。いくつかの実施例においては、バックエンドシステム130は、ウェブサーバなどの1つ以上のサーバであってもよい。バックエンドシステム130は、単一のデバイス内に含まれ得るか、または、複数のデバイスにわたって分散され得る。 FIG. 1 illustrates an example of an overall system 100 for user activity monitoring according to an embodiment of the present invention. FIG. 1 illustrates a client computing system 110 that is communicatively coupled to a backend system 130 via a network 125. In some examples, the computing device may be a desktop computer, laptop computer, mobile device, or other device or set of devices with processing capabilities. Network 125 may be the Internet, an intranet, an extranet, a direct connection, or some combination thereof. In some embodiments, the backend system 130 may be part of the network 125. In some embodiments, the backend system 130 may be one or more servers, such as a web server. The backend system 130 can be contained within a single device or can be distributed across multiple devices.
いくつかの実施例においては、システム100は、2つのソフトウエアコンポーネント、モジュールまたはアプリケーションを含む。一方のモジュール120は、フロントエンドまたはクライアントコンピューティングデバイス110において動作し、他方のモジュール135、バックエンドまたはサーバモジュール135は、バックエンド130において動作する。ある実施例においては、フロントエンドモジュール120は、ブラウザ115などのクライアントアプリケーションと共に機能するプラグインモジュールまたは他のモジュールであってもよい。クライアントモジュール120およびサーバモジュール130は、フレームワークの形成を支援するものであるが、このフレームワークは、クライアント側でユーザ対話情報を獲得してそれらの対話をバックエンドシステムによって実行されるオペレーションとリンクさせるために、アプリケーションがユーザ作業に関するデータを抽出することを可能にする。 In some embodiments, the system 100 includes two software components, modules or applications. One module 120 operates in the front end or client computing device 110, and the other module 135, back end or server module 135 operates in the back end 130. In some embodiments, the front end module 120 may be a plug-in module or other module that works with a client application, such as the browser 115. The client module 120 and the server module 130 support the formation of a framework, which captures user interaction information on the client side and links these interactions with operations performed by the backend system. To allow the application to extract data about user work.
クライアントモジュール120は、ユーザ作業情報を取込み、この情報のうち少なくともいくらかをバックエンド130とやり取りする。サーバモジュール135はまた、ユーザ作業監視に関するデータをクライアントモジュール120とやり取りするよう構成される。 The client module 120 takes user work information and exchanges at least some of this information with the backend 130. The server module 135 is also configured to exchange data regarding user work monitoring with the client module 120.
いくつかの実施例においては、クライアントモジュール120は、この情報を、典型的な伝送に付随させることによって送信する。たとえば、クライアントモジュール120は、要求にユーザ作業データを含め得る。既存の対話またはネットワーク作業を用いてユーザ作業データをピギーバックすることは、ユーザ監視作業の間接費を下げることの助けとなる。また、間接処理費を下げるのを助けるために、ユーザ作業は、URL、ヘッダ、本文またはこれらの組合せにおいて1つ以上の特別なパラメータとして含まれてもよい。特別なパラメータを用いることにより、これら特別なパラメータをどこに伝送すべきかを選択することにより、またはこれら両方を行うことにより、ユーザ作業データを抽出する間接費を劇的に減らすことができる。当然、当業者であれば、他の実現例が利用され得ることを認識するだろう。たとえば、ネットワークトラフィックおよび/または処理方法がさほど大きな問題にならなければ、ユーザ作業データは別個のネットワーク伝送で伝送されてもよい。 In some embodiments, the client module 120 sends this information by attaching it to a typical transmission. For example, the client module 120 may include user work data in the request. Piggybacking user work data using existing dialog or network work helps reduce the overhead of user monitoring work. Also, user work may be included as one or more special parameters in the URL, header, body, or combinations thereof to help reduce indirect processing costs. By using special parameters, the overhead of extracting user work data can be dramatically reduced by selecting where these special parameters should be transmitted, or both. Of course, those skilled in the art will recognize that other implementations may be utilized. For example, user work data may be transmitted in a separate network transmission, provided that network traffic and / or processing methods are not of great concern.
いくつかの実施例においては、要求のためのユーザ作業監視データの一部として利用可能であり得る情報は、以下のものを含むが、これらに限定されない。 In some embodiments, information that may be available as part of user work monitoring data for a request includes, but is not limited to:
・ いくつかの実施例において、一次動作または二次動作のためのストリングコンテキスト識別子であるコンテキスト識別子;
・ いくつかの実施例において、二次動作のための親(または一次)動作のコンテキスト識別子である親コンテキスト識別子;
・ いくつかの実施例において、クライアント要求の現在の開始時間であるクライアント開始時間。いくつかの実施例においては、クライアント開始時間はクライアントのクロックを用いたUTC(Universal Coordinated Time(万国標準時))に沿っている;
・ いくつかの実施例において、現在の要求のためにクライアントに部分ターゲットとして登録したコンポーネント識別子のリストであるPPR(Partial Page Request(部分ページ要求))ターゲット。これらのアイテムは、ウェブページ全体の更新またはリロードを必要とすることなく変更または更新され得るコンポーネントを表わす。部分ページ要求は、ページ全体ではなく、ページのうち変更が必要な部分のみについてのマークアップを含む応答を結果としてもたらす要求である。クライアントは、具体的には、ページのある特定の部分を作成し直すことを要求することができ、サーバも付加的な部分を追加し得る。
-In some embodiments, a context identifier that is a string context identifier for a primary or secondary operation;
• In some embodiments, a parent context identifier that is the context identifier of the parent (or primary) action for the secondary action;
• In some embodiments, the client start time, which is the current start time of the client request. In some embodiments, the client start time is in accordance with UTC (Universal Coordinated Time) using the client's clock;
In some embodiments, a PPR (Partial Page Request) target, which is a list of component identifiers registered as partial targets with the client for the current request. These items represent components that can be changed or updated without requiring the entire web page to be updated or reloaded. A partial page request is a request that results in a response that includes markup for only the portion of the page that needs to be changed, rather than the entire page. In particular, the client can request that a particular part of the page be recreated, and the server can add additional parts.
・ いくつかの実施例において、以下の情報を含み得るがこれらに限定されない動作についての情報であるイベント情報:
− いくつかの実施例において、(ボタンまたはリンクが選択されたことを表わす動作イベントなどの)より低いレベルであり得るか、または、(ポップアップウィンドウが表示された、行がテーブルにおいて選択された、などの)より高いレベルであり得るイベントタイプ;
− コンポーネントタイプ。いくつかの実施例においては、ページのサーバ表示には、ページ上でユーザ対話を処理する(たとえば、テキスト領域への入力の処理、購入すべきアイテムの選別、などの)ためにコードが関連付けられている。これは、しばしば、ユーザインターフェイスコンポーネントのツリーとしてモデル化される。これらのコンポーネントは、また、クライアント上に表示されたコンテキスト、たとえばHTMLおよび関連するjavascript(登録商標)、を生成する。クライアントはまた、サーバに戻ることを必要とすることなくクライアント上で対話を処理するために、ユーザインターフェイスコンポーネントの対応するツリーを有してもよい。これらのコンポーネントは、ボタンのようなより低レベルのカプセル化、またはショッピングカートをユーザインターフェイスで表示するといったようなより高レベルのカプセル化であり得る。いくつかの実施例においては、コンポーネントタイプに関連して記録されるのはこれらのタイプのコンポーネントである。
In some embodiments, event information that is information about operations that may include, but is not limited to:
-In some embodiments, it may be at a lower level (such as an action event indicating that a button or link has been selected) or (a pop-up window was displayed, a row was selected in the table, Event types that can be higher levels;
− Component type. In some embodiments, a server display of a page is associated with code to handle user interaction on the page (eg, processing input to a text area, selecting items to purchase, etc.) ing. This is often modeled as a tree of user interface components. These components also generate the context displayed on the client, such as HTML and associated javascript. The client may also have a corresponding tree of user interface components to handle interactions on the client without having to return to the server. These components can be lower level encapsulations such as buttons, or higher level encapsulations such as displaying a shopping cart in a user interface. In some embodiments, it is these types of components that are recorded in association with component types.
− いくつかの実施例において、イベントのソースであるコンポーネントのクライアント識別子であるコンポーネントクライアントId。いくつかの実施例においては、これは、コンポーネントタイプのインスタンス、たとえばどのボタンがクリックされたかについて、を固有に識別する。 -In some embodiments, a component client Id that is the client identifier of the component that is the source of the event. In some embodiments, this uniquely identifies an instance of the component type, eg, which button was clicked.
− いくつかの実施例において、ウェブページ上のコンポーネントを識別する名前であるコンポーネントディスプレイ名。たとえば、ボタンまたはリンクは、アプリケーションによって識別子が与えられてもよいが、アドミニストレータはその識別子が参照するものが何であるかを容易には知り得ないだろう。このため、いくつかの実施例においては、クライアントコンポーネントは、ユーザ作業を確認しようとする際に、アドミニストレータにとってより有意義になる可能性のあるディスプレイ名を割当てるかまたは少なくとも割当てるよう試みる。(たとえば、ユーザによって選択されたイベントが、ユーザが「キャンセル」ボタンをクリックした結果であった場合、コンポーネントディスプレイ名として「キャンセル」を割当てる)。すなわち、コンポーネントディスプレイ名は、通常、ユーザインターフェイス上に表示される「キャンセル」などの人間が読取れる名前であって、「キャンセル申込み」などのより意味のあるものである。識別子がページ内のコンポーネントを一意的に識別する一方で、ディスプレイ名は一意的ではない可能性がある。いくつかの実施例においては、識別子は、同様にコンポーネントについてのコンテキスト情報を提供し得る。いくつかの実施例においては、クライアントアプリカントは、アプリケーションによって割当てられたコンポーネントディスプレイ識別子と、それ自体のコンポーネントディスプレイ名識別子とをともに送信してもよい。 -In some embodiments, a component display name, which is a name that identifies the component on the web page. For example, a button or link may be given an identifier by the application, but the administrator will not readily know what the identifier refers to. Thus, in some embodiments, the client component attempts to assign or at least assign a display name that may be more meaningful to the administrator when attempting to confirm user work. (For example, if the event selected by the user is the result of the user clicking the “Cancel” button, “Cancel” is assigned as the component display name). That is, the component display name is usually a human-readable name such as “cancel” displayed on the user interface, and is more meaningful such as “cancel application”. While the identifier uniquely identifies the component within the page, the display name may not be unique. In some embodiments, the identifier may provide context information about the component as well. In some embodiments, the client appant may send both the component display identifier assigned by the application and its own component display name identifier.
− いくつかの実施例において、ユーザ動作が領域内で始まった場合における、最も外側の領域までの領域名のリストである領域名。いくつかの実施例においては、ウェブページは、さまざまな領域およびタスクフローに分割されてもよい。イベントが規定された領域においては始まった場合、その領域名が集められて用いられてもよい。領域が1つ以上の他の領域内にネストされる場合、ネスト情報が集められてもよい。限定ではなく例示のために、図2に示される例を検討する。図2は、本発明の実施例に従った1セットのネストされたタスクフロー200を表す。図2に示されるように、アプリケーションのディスプレイの一部は、ディスプレイにおけるさまざまな領域において提示される1セットのネストされたタスクフローを含む。示される例においては、タスクフロー2の領域210内にコンポーネント、この場合はボタン215、が存在する。タスクフロー2の表示された領域210は、タスクフロー1に関連付けられるより大きな領域205内にネストされる。このため、領域識別子はこのネストされた関係を示す可能性がある。たとえば、ボタン215を選択するユーザのユーザイベントのための領域識別子は、「タスクフロー1:タスクフロー2:ボタン」であってもよい。 -In some embodiments, a region name that is a list of region names up to the outermost region when a user action begins within the region. In some embodiments, the web page may be divided into various areas and task flows. If an event begins in a defined area, the area name may be collected and used. Nesting information may be gathered when a region is nested within one or more other regions. For purposes of illustration and not limitation, consider the example shown in FIG. FIG. 2 depicts a set of nested task flows 200 according to an embodiment of the present invention. As shown in FIG. 2, a portion of the application's display includes a set of nested task flows that are presented in various areas of the display. In the example shown, a component, in this case a button 215, exists in the area 210 of taskflow 2. The displayed area 210 of task flow 2 is nested within a larger area 205 associated with task flow 1. Thus, region identifiers may indicate this nested relationship. For example, the area identifier for the user event of the user selecting the button 215 may be “task flow 1: task flow 2: button”.
− 領域ビューIdは、ユーザ動作が領域内で始まった場合における、最も外側の領域にまで至る領域識別子のリストである。いくつかの実施例においては、領域名は、タスクフローを全体的に識別する名前であり、アドミニストレータが熟知している可能性のある名前、および、(「チェックアウト」などの)より高レベルのプロセスを記述する可能性のある名前であり、一方で、領域ビュー識別子は、(「checkout_credit_card.jsff)」などの)領域の定義を含むファイル名に由来している。 The region view Id is a list of region identifiers that reach the outermost region when a user action starts in the region. In some embodiments, the realm name is the name that identifies the task flow as a whole, a name that the administrator may be familiar with, and a higher level (such as “checkout”) A name that may describe the process, while the region view identifier is derived from a file name that contains the definition of the region (such as “checkout_credit_card.jsff)”.
いくつかの実施例においては、クライアント属性の変化によってもたらされる要求のために、「イベント情報」が「ヌル(null)」に設定されてもよい。 In some embodiments, “event information” may be set to “null” for a request resulting from a change in client attributes.
いくつかの実施例においては、応答または要求の一部として含まれ得るユーザ作業監視データの一部として利用可能な情報は、以下を含み得るがこれらには限定されない。 In some embodiments, information available as part of user work monitoring data that may be included as part of a response or request may include, but is not limited to:
・ いくつかの実施例において、ちょうど行われたところである要求についての応答ページのビューの識別子であるビューId;
・ いくつかの実施例において、現在の要求のコンテキスト識別子であるコンテキストId。いくつかの実施例においては、バックエンドにおいて機能する診断および監視サービスは、要求のために実行されたログ記録済みの作業を関連付けるのに用いられる現在の要求についての実行コンテキスト識別子を生成し得る。いくつかの実施例においては、この実行コンテキスト識別子(ECID:execution context identifier)は、コンテキストIdとして用いられてもよい。
-In some embodiments, a view Id that is the identifier of the view of the response page for the request that was just made;
In some embodiments, a context Id that is the context identifier of the current request. In some embodiments, a diagnostic and monitoring service functioning at the back end may generate an execution context identifier for the current request that is used to correlate logged work performed for the request. In some embodiments, this execution context identifier (ECID) may be used as the context Id.
・ いくつかの実施例において、要求または応答が以前の一次的なユーザ要求の補足部分であることを識別するためのパラメータである、二次的なもの。たとえば、データストリーミング要求は、二次応答を発生させることとなる二次要求の一例である。データストリーミング要求は、典型的には、一次要求についての応答がテーブルまたはツリーなどのデータリッチなコンポーネントを含む場合に発生する。しばしば、レイアウトだけが一次要求についての応答の一部となり、これらのコンポーネントについてのデータが二次ストリーミング要求の一部として検索される。いくつかの実施例においては、ブールフラグは、応答が以前の一次要求に関連付けられていることを示すよう設定され得る。 A secondary, in some embodiments, a parameter for identifying that the request or response is a supplemental part of a previous primary user request. For example, a data streaming request is an example of a secondary request that will generate a secondary response. A data streaming request typically occurs when the response for the primary request includes a data rich component such as a table or tree. Often, only the layout is part of the response for the primary request, and the data for these components is retrieved as part of the secondary streaming request. In some embodiments, the Boolean flag may be set to indicate that the response is associated with a previous primary request.
いくつかの実施例においては、ビューId、コンテキストIdおよび二次的なものを含むがこれらに限定されないパラメータが応答ヘッダに配置される。ヘッダにこの情報を配置することにより、かなりの量のデータを含み得る応答本文に配置される場合よりも抽出にかかる計算コストがより安くなる。しかしながら、当業者であれば、データを伝送および抽出し得るいくつかの方法を認識するだろう。したがって、当業者であれば、バックエンドシステムが、応答ペイロードの一部として、応答ヘッダの一部として、別個の通信でまたはその何らかの組合せで、ユーザ作業監視に関する1つ以上のパラメータをクライアントに送信し得ることを認識するだろう。いくつかの実施例においては、フロントエンドとバックエンドとの間の対話は、ユーザ作業監視に関するデータを得るために、監視アプリケーションによってスニッフィングされてもよい。 In some embodiments, parameters including, but not limited to, view Id, context Id, and secondary are placed in the response header. By placing this information in the header, the computational cost of extraction is lower than when it is placed in a response body that can contain a significant amount of data. However, those skilled in the art will recognize several ways in which data can be transmitted and extracted. Thus, one of ordinary skill in the art can send one or more parameters related to user work monitoring to the client as part of the response payload, as part of the response header, in a separate communication, or some combination thereof. You will recognize that you can. In some embodiments, the interaction between the front end and the back end may be sniffed by a monitoring application to obtain data regarding user work monitoring.
B.具体的な方法の実施例
図3は、本発明の実施例に従ったユーザ作業を監視するための方法の実施例を示す。いくつかの実施例においては、アプリケーションとのユーザの対話に関する意味情報がクライアントにおいて記録される(305)。意味情報は、ユーザがアプリケーションに対して何を行ったのかまたは何を行おうとしていたのかを判断または推論するのに用いることのできる情報を意味するものと理解されるだろう。クライアントとサーバとの間の意味情報の受渡しを容易にするために、識別可能なパラメータを用いて、クライアントまたはフロントエンドとサーバまたはバックエンドとの間で意味情報のうち少なくともいくらかを伝送する(310)。いくつかの実施例においては、特別なパラメータがURL、ヘッダ、本文、またはそれらの組合せで現われてもよい。バックエンドにおいて実行されたオペレーションについてログ記録された情報は、フロントエンドにおいて受取られるクライアント要求にリンクされ得る(315)。ユーザがフロントエンドにおいて何を行なっているかについての意味情報を有しており、かつ、フロントエンドオペレーションとバックエンドオペレーションとがリンクされていることにより、アプリケーションとの対話の際にユーザが何を行っていたかまたは何を行おうとしていたかを確認することが容易になり得る(320)。いくつかの実施例においては、アプリケーションは、このフレームワークを用いて、クライアントとサーバとの間のトラフィックをスニッフィングすることなどによって対話を監視し、容易に識別可能なパラメータを用いて意味情報を抽出することができる。次いで、抽出された意味情報をアプリケーションおよび/またはアドミニストレータが用いることによって、ユーザの対話を監視することができる。いくつかの実施例においては、このアプリケーションはバックエンドで動作してもよい。
B. Specific Method Embodiment FIG. 3 shows an embodiment of a method for monitoring user activity according to an embodiment of the present invention. In some embodiments, semantic information regarding user interaction with the application is recorded 305 at the client. Semantic information will be understood to mean information that can be used to determine or infer what a user has done or is trying to do with an application. To facilitate the passing of semantic information between the client and server, at least some of the semantic information is transmitted between the client or front end and the server or back end using identifiable parameters (310). ). In some embodiments, special parameters may appear in the URL, header, body, or combinations thereof. Logged information about operations performed at the back end may be linked to a client request received at the front end (315). It has semantic information about what the user is doing at the front end, and the front end and back end operations are linked so that what the user does when interacting with the application It may be easy to identify what was or was going to be done (320). In some embodiments, applications can use this framework to monitor interactions, such as by sniffing traffic between clients and servers, and extract semantic information using easily identifiable parameters. can do. The extracted semantic information can then be used by an application and / or administrator to monitor user interaction. In some embodiments, the application may run on the back end.
ユーザインターフェイスおよびコンテキスト識別子についての意味情報を伝送することにより、少なくとも2つのレベルで分析を行うことが可能となる。すなわち、1)ユーザ−インターフェイス・セマンティクスに基づいて行われていることに関する迅速な分析(いくつかの実施例においては、この分析はリアルタイムで行われてもよく、ともに集約されてもよい)、および、2)特定の要求−応答に関して起こったものに関するより深い分析(いくつかの実施例においては、この分析を、コンテキスト識別子を用いて行うことにより、ユーザ対話、迅速な分析またはこれら両方を、特定の要求−応答についてバックエンド上で起こっていたものに関するより詳細な情報に結び付け直してもよい)。典型的なワークフローは、実行システムにおいて起こり得る問題を識別するために迅速な分析時に情報を用い、次いで、実際に何が起こったのかと、それがなぜ起こったのかとを判断するためにより深い分析を用いるアドミニストレータを含む。 By transmitting semantic information about the user interface and context identifier, it is possible to perform analysis at at least two levels. 1) a quick analysis of what is being done based on user-interface semantics (in some embodiments, this analysis may be done in real time or aggregated together), and 2) A deeper analysis of what happened with respect to a particular request-response (in some embodiments, this analysis is performed using context identifiers to identify user interaction, rapid analysis, or both) Request-response can be rebound to more detailed information about what was happening on the backend). A typical workflow uses information during rapid analysis to identify potential problems in the execution system, and then deeper analysis to determine what actually happened and why it happened Includes administrators who use
ユーザ作業監視に関する方法の具体的な実施例を以下に示す。具体的な実施例は、限定ではなく例示として提供される実現情報を含む。たとえば、記載されかつクレームされている方法におけるステップのうちのいくつかが、本発明を実質的に変更することなく変更され得るかまたは異なる順序で実行され得ることに留意されたい。したがって、実現例の詳細が選択の余地があり、他の実現例が使用され得ることに留意されたい。このため、選択の余地があるかまたはユーザ作業監視のアプリケーションを実質的に変更しない実現例の詳細によって本発明の範囲が限定されるわけではない。 A specific example of a method related to user work monitoring is shown below. Specific examples include implementation information provided by way of example and not limitation. For example, it should be noted that some of the steps in the methods described and claimed can be changed or performed in a different order without substantially changing the invention. Thus, it should be noted that implementation details are optional and other implementations may be used. Thus, the scope of the present invention is not limited by implementation details that have room for choice or that do not substantially change the user work monitoring application.
A.部分ページ要求の実施例
図4は、本発明の実施例に従った部分ページ要求についてのユーザ作業監視のための方法を示す。いくつかの実施例においては、ユーザがクライアントまたはフロントエンドにおいて動作を開始する。たとえば、ユーザがアプリケーションにURLを入力してもよい。いくつかの実施例においては、クライアント側のモジュールが、最初の対話についてのユーザ作業に関するデータを記憶する(420)。たとえば、最初の動作が、ユーザがウェブページ上でリンクまたはボタンを選択することであった場合、リンクまたはボタンの識別子が記録されてもよく、イベントが記録されてもよく、リンクまたはボタンの領域が記録されてもよい、等である。ユーザ要求のクライアント開始時間が最初の対話では知り得ない可能性があるので、いくつかの実施例においては、この情報がシミュレートされてもよく、またはブランク/不明のままにされてもよい。いくつかの実施例においては、他のユーザデータが集められて記憶されてもよい。
A. Partial Page Request Embodiment FIG. 4 illustrates a method for user activity monitoring for partial page requests according to an embodiment of the present invention. In some embodiments, the user initiates operations at the client or front end. For example, the user may input a URL into the application. In some embodiments, a client-side module stores data regarding user work for the initial interaction (420). For example, if the initial action was the user selecting a link or button on a web page, the link or button identifier may be recorded, the event may be recorded, the link or button area May be recorded, and so on. In some embodiments, this information may be simulated or left blank / unknown because the client start time of the user request may not be known in the first interaction. In some embodiments, other user data may be collected and stored.
図4に図示のとおり、要求がクライアントからバックエンド415に送信される(420)。いくつかの実施例においては、要求は、クライアント410において取込まれたユーザ作業データのうちいくらかを含み得る(425)。代替的には、現在の要求についてのユーザ作業データには要求が含まれていなくてもよいが、代わりに、部分的に現在の要求で、かつ部分的に次の要求で、次の要求のみで、または、1つ以上の別個の通信として送信されてもよい。 As shown in FIG. 4, a request is sent from the client to the backend 415 (420). In some embodiments, the request may include some of the user work data captured at client 410 (425). Alternatively, the user work data for the current request may not include the request, but instead only the next request, partly in the current request and partly in the next request. Or as one or more separate communications.
バックエンドシステム415はフロントエンド410から要求を受取り(430)、要求を処理する(430)。いくつかの実施例においては、バックエンドシステムがコンテキスト識別子(たとえば、実行コンテキスト識別子(ECID:execution context identifier))を生成し、要求を処理する際に実行される作業がログ記録され、そのECIDに関連付けられる。作業をログ記録させ、開始要求と関連付けることにより、診断および監視が容易になり、さらに、ユーザ作業のログ記録も容易になる。しばしば、バックエンドアプリケーションサーバは、要求またはコンテキストの識別子を生成するための機構を有し得る。このため、いくつかの実施例においては、サーバコンポーネントのプラグインインターフェイスはその識別子を利用することができる。なお、さまざまなコンテキスト識別子を用いることができることで、本発明の実施例を特定用途向けのサーバ実現例から抽出することが可能となり、これにより汎用性が高くなることに留意されたい。いくつかの実施例においては、バックエンドシステム415がユーザ作業データを抽出し、これをコンテキスト識別子に関連付けて記憶する。いくつかの実施例においては、サーバシステムは抽出、記憶または分析を実行せず、むしろ、この情報は、単に、ネットワークトラフィックが集まるのを監視する1つ以上の他のアプリケーションまたはツールのために公表されるに過ぎない。このため、本発明の実施例は、1つの要求の始まりと応答との間に一時的なデータ記憶を実行するが、そうでない場合には、データが記憶またはログ記録されないかもしれない。いくつかの実施例においては、抽出されログ記録されたユーザ作業データは、現在の要求、以前の要求またはこれら両方についての情報を含み得る。 Back end system 415 receives the request from front end 410 (430) and processes the request (430). In some embodiments, the backend system generates a context identifier (eg, an execution context identifier (ECID)), and the work performed in processing the request is logged and stored in that ECID. Associated. Logging work and associating it with a start request facilitates diagnosis and monitoring, and also facilitates logging of user work. Often, the backend application server may have a mechanism for generating a request or context identifier. Thus, in some embodiments, the plug-in interface of the server component can utilize the identifier. It should be noted that the use of various context identifiers makes it possible to extract embodiments of the present invention from specific application implementations, thereby increasing versatility. In some embodiments, the backend system 415 extracts user work data and stores it in association with the context identifier. In some embodiments, the server system does not perform extraction, storage or analysis; rather, this information is simply published for one or more other applications or tools that monitor network traffic gathering. It is only done. Thus, embodiments of the present invention perform temporary data storage between the start and response of a request, otherwise the data may not be stored or logged. In some embodiments, the extracted and logged user work data may include information about current requests, previous requests, or both.
要求を処理した後、バックエンドシステムは応答435を返す(430)。いくつかの実施例においては、応答は、要求された動作を完了させるための応答ペイロードと、ユーザ監視に有用となり得る付加的なユーザ作業関連データとを含む。たとえば、いくつかの実施例においては、応答は、図示された例においてはECID.1であるコンテキスト識別子と、更新されるページについてのビュー識別子などの他のデータとを応答ヘッダに含み得る。たとえば、ユーザがプロダクトカタログを要求として見ることを選択した場合、要求URLは、バックエンド識別子とは異なる識別子を有し得る。このため、いくつかの実施例においては、ユーザが見るビューについてのバックエンド識別子であるビューIDは、応答とともに特別なパラメータとして送信されてもよい。一例として、応答1について図4に示されるビュー識別子は「ProductCatalog.jspx」であってもよい。 After processing the request, the backend system returns a response 435 (430). In some embodiments, the response includes a response payload for completing the requested action and additional user work related data that may be useful for user monitoring. For example, in some embodiments, the response is ECID. The response header may include a context identifier that is 1 and other data such as a view identifier for the page to be updated. For example, if the user chooses to view the product catalog as a request, the request URL may have an identifier that is different from the backend identifier. Thus, in some embodiments, the view ID, which is the backend identifier for the view that the user sees, may be sent as a special parameter with the response. As an example, the view identifier shown in FIG. 4 for response 1 may be “ProductCatalog.jspx”.
フロントエンドシステム410は、バックエンドからの応答を受取って処理する(440)。いくつかの実施例においては、クライアント側がページをロードし、要求された動作を完了させるためのクライアント終了時間が留意される。いくつかの実施例においては、この情報が次の要求の一部としてサーバに送信されることとなる。代替的には、最初のユーザ要求および応答に関する情報のうちいくらかまたはすべてが集められなくてもよいか、またはバックエンドに伝送されなくてもよい。 The front end system 410 receives and processes the response from the back end (440). In some embodiments, the client end time is noted for the client side to load the page and complete the requested operation. In some embodiments, this information will be sent to the server as part of the next request. Alternatively, some or all of the information about the initial user request and response may not be collected or transmitted to the backend.
ユーザは、次の要求を作成するロード済みのページと対話する(たとえば、ボタン/リンクをクリックするかまたは属性を変化させる)。たとえば、次の要求は、部分ページ応答を引起こすためにサーバに渡されるイベントであってもよく、または、次の要求は、コンポーネントの部分的なリフレッシュを引起こすためにサーバに渡される属性変化であってもよい。当業者であれば、あるタイプの部分ページ要求が部分ページ送信(partial page submit)であり得ることを認識するだろう。要求2がサーバに進む準備ができた場合、クライアントモジュールは、以前の要求のために保存されたいずれかのクライアント側ユーザ作業データが存在するかどうかを確かめるためにチェックを行う。もし存在していれば、その要求、すなわち図4の要求2が含まれていることになる。 The user interacts with a loaded page that creates the next request (eg, clicking a button / link or changing an attribute). For example, the next request may be an event that is passed to the server to trigger a partial page response, or the next request is an attribute change that is passed to the server to trigger a partial refresh of the component. It may be. One skilled in the art will recognize that one type of partial page request can be a partial page submit. When request 2 is ready to proceed to the server, the client module checks to see if any client-side user work data saved for the previous request exists. If it exists, the request, that is, request 2 in FIG. 4 is included.
いくつかの実施例においては、要求でピギーバックされたユーザ作業データがヘッダまたは本文のいずれかに含まれ得る。というのも、要求は典型的には応答よりも小さく、これらは、典型的には、容易にパースされるHTTPポストなどのフォーマットであるからである。また、いくつかの実施例においては、エンドユーザ監視情報を識別する特別なパラメータによって識別が容易になる。というのも、パーサが本文中のそのパラメータを探すことができるからである。いくつかの実施例においては、特別なパラメータは、クライアント開始時間、起動されたイベントユーザ、領域などのさまざまなユーザ作業情報を含むXML文書であり得る。 In some embodiments, user work data piggybacked on the request may be included in either the header or the body. This is because requests are typically smaller than responses, since these are typically formats such as HTTP posts that are easily parsed. Also, in some embodiments, identification is facilitated by special parameters that identify end user monitoring information. This is because the parser can find the parameter in the text. In some embodiments, the special parameter may be an XML document that includes various user work information such as client start time, triggered event user, region, and the like.
図4に示される例においては、次の要求、すなわち要求2、がサーバに送信され(445)、ユーザ作業データが要求に含まれている。いくつかの実施例においては、ユーザ作業データは、((既知である場合、またはシミュレートされた場合)要求1のクライアント開始時間、要求−応答を完了させるクライアント終了時間、およびその要求−応答についてのコンテキスト識別子などの)以前の要求−応答に関するデータである。いくつかの実施例においては、ユーザ作業データはまた、(要求2のクライアント開始時間や、既知であり得る他のイベントまたはコンポーネント情報などの)現在の要求についてのデータを含み得る。この記載される実施例においては、要求2についてのコンテキスト識別子は、その識別子がサーバによって割当てられるので未知であることに留意されたい。また、要求2についてのクライアント終了時間は、その要求が現在進行中であるので、まだ未知のままである。 In the example shown in FIG. 4, the next request, Request 2, is sent to the server (445) and user work data is included in the request. In some embodiments, the user work data is (for known or simulated) request 1 client start time, client-end time to complete the request-response, and its request-response. Data on previous request-response (such as the context identifier). In some embodiments, the user work data may also include data about the current request (such as the client start time of request 2 and other event or component information that may be known). Note that in the described embodiment, the context identifier for request 2 is unknown because that identifier is assigned by the server. Also, the client end time for request 2 is still unknown because the request is currently in progress.
サーバは、この次の要求を受取り、従来通り、多くのステップを繰返す(450)。すなわち、いくつかの実施例においては、バックエンドはコンテキスト識別子(たとえばECID 2)を生成し、要求を処理し、要求2の処理に関するデータをログ記録する。いくつかの実施例においては、バックエンド415がまた、要求からユーザ作業データを抽出し、そのデータをログ記録する。先に述べたとおり、いくつかの実施例においては、サーバシステムは抽出、記憶または分析を実行しない可能性があるが、むしろ、このデータは、単に、ネットワークトラフィックが集まるのを監視する1つ以上の他のアプリケーションまたはツールのために公表されるに過ぎない。ユーザ作業データを一意的なコンテキスト識別子に関連付けることにより、ログ記録されたデータ同士をリンクさせることが可能となり、これにより、ユーザとシステム全体との間の対話についてのさらなる見通しをもたらすことができる。すなわち、ユーザ作業データを一意的なコンテキスト識別子に関連付けることにより、ログ記録されたデータを、他のバックエンドコンポーネントによってログ記録されたより詳細な情報とリンクさせることが可能となり、特定の要求/応答に関して起こったものに関するより包括的なアイディアが得られる。いくつかの実施例においては、バックエンドはまた応答データ(応答2)を送信する。これは、要求および応答2についてのコンテキスト識別子、ビュー識別子などの、ユーザ作業を監視するために用いられるデータを含み得る。 The server receives this next request and repeats many steps as usual (450). That is, in some embodiments, the back end generates a context identifier (eg, ECID 2), processes the request, and logs data related to processing of request 2. In some embodiments, the back end 415 also extracts user work data from the request and logs that data. As noted above, in some embodiments, the server system may not perform extraction, storage or analysis, but rather this data is simply one or more that monitors network traffic gathering. Only published for other applications or tools. By associating user work data with a unique context identifier, it is possible to link logged data together, thereby providing further perspective on the interaction between the user and the entire system. That is, by associating user work data with a unique context identifier, it is possible to link logged data with more detailed information logged by other back-end components, and for specific requests / responses Get a more comprehensive idea of what happened. In some embodiments, the back end also sends response data (response 2). This may include data used to monitor user activity, such as context identifiers, view identifiers for request and response 2.
当業者であれば、さまざまなユーザ対話のためにこれらの一般的なプロセスステップ(たとえばステップ440〜455)を繰返すことができることを認識するだろう。たとえば、ステップ460〜475は、ユーザ作業関連データを集めて公開し、かつさまざまな作業をリンクさせるためにバックエンドとフロントエンドとの間のやり取りを容易にする同じ一般的な概念のステップを繰返す。 One skilled in the art will recognize that these general process steps (eg, steps 440-455) can be repeated for various user interactions. For example, steps 460-475 repeat the same general conceptual steps that collect and publish user work related data and facilitate the interaction between the back end and the front end to link the various work. .
当業者であれば、ユーザ作業データが次の要求でピギーバックされるいくつかの実施例において、次の要求がない場合に、データが別々に送信され得るか、アプリケーションのアンロード前に送信され得るか、次のアプリケーションのロード時に送信され得るか、または送信され得ないことも認識するだろう。当業者であれば、データを送信するためのいくつかの方法が存在することを認識するだろう。 A person skilled in the art will know that in some embodiments where user work data is piggybacked on the next request, if there is no next request, the data can be sent separately or before the application is unloaded. It will also be recognized that it can be obtained, transmitted on the next application load, or not transmitted. One skilled in the art will recognize that there are several ways to transmit data.
B.記憶済みのユーザ作業関連データの獲得
いくつかの実施例においては、クライアント側で集められたユーザ作業関連データが、ウェブページの一部として記憶される。しかしながら、ウェブアプリケーションは、ユーザ作業に関するデータを集めてやり取りしようとする際に複雑さを増す可能性のあるさまざまな要求および応答の対話を発生させる可能性がある。たとえば、ウェブブラウザが新しいページに転送される場合、新しいページがレンダリングされたときに、ページで記憶されたいずれのクライアント側情報も失われてしまう。このような状況に対処するために、ユーザ作業関連データが記憶されてもよく、および/または、1つ以上の二次記憶装置からアクセスされてもよい。図5は、本発明の実施例に従った記憶済みユーザ作業監視データを得るための方法を示す。
B. Obtaining Stored User Work Related Data In some embodiments, user work related data collected on the client side is stored as part of a web page. However, web applications can generate a variety of request and response interactions that can add complexity when attempting to gather and exchange data about user work. For example, if a web browser is transferred to a new page, any client-side information stored on the page will be lost when the new page is rendered. To handle such situations, user work related data may be stored and / or accessed from one or more secondary storage devices. FIG. 5 illustrates a method for obtaining stored user work monitoring data according to an embodiment of the present invention.
図5は、限定ではなく例示を目的として、本発明の実施例に従ったユーザ作業に関するデータを得ることに重点を置いて、クライアント510とサーバ515との間の対話の一部を表わす。例示だけを目的として、応答がサーバからクライアントに送信される(520)ことにより、結果として、クライアントが新しいページ全体をレンダリングする(525)こととなると想定する。新しいページが生成されるので、以前のページに記憶されたユーザ作業関連データがこのとき失われる。しかしながら、いくつかの実施例においては、以前の要求−応答対話のクライアント終了時間などのユーザ作業データのうちのいくらかは有用である可能性があり、ユーザ作業監視のためにバックエンドに伝えられなければならない。このため、クライアントシステムは、動作に応答して次の要求を送信する準備ができると、そのページで記憶された以前の要求−応答対話についてのユーザ作業関連データが存在するかどうかをチェックする(535)。以前の要求からのユーザ作業関連データがウェブページで記憶される場合、クライアントシステムは、そのデータを用いてサーバに送信する(540)。しかしながら、ここに記載される例において新しいページがレンダリングされているように、現在のページは新しく、このようなデータは記憶されていない。したがって、いくつかの実施例においては、クライアントシステム510は1つ以上の二次ソースからデータを獲得する(545)。 FIG. 5 represents, by way of example and not limitation, a portion of the interaction between client 510 and server 515 with an emphasis on obtaining data regarding user work in accordance with an embodiment of the present invention. For illustrative purposes only, assume that a response is sent from the server to the client (520), resulting in the client rendering (525) the entire new page. Since a new page is generated, user work related data stored on the previous page is lost at this time. However, in some embodiments, some of the user work data, such as the client end time of the previous request-response interaction, may be useful and must be communicated to the backend for user work monitoring. I must. Thus, when the client system is ready to send the next request in response to the action, it checks whether there is user work related data for the previous request-response interaction stored on that page ( 535). If user work related data from a previous request is stored on the web page, the client system uses that data to send to the server (540). However, as the new page is being rendered in the example described here, the current page is new and no such data is stored. Thus, in some embodiments, the client system 510 obtains data from one or more secondary sources (545).
このため、いくつかの実施例においては、ユーザ作業関連データを記憶する際に、クライアントは、ウェブページでユーザ作業関連データを保存してもよく、また、1つ以上の他の位置において当該データを保存してもよい。いくつかの実施例においては、レンダリングよりも前に、ユーザ作業関連データが二次記憶装置に記憶される。加えて、または、代替例として、クライアントは、ブラウザセッションストレージ、クッキーまたはグローバルストレージなどを含むがこれらに限定されない二次ソースからデータを得てもよい。 Thus, in some embodiments, when storing user work related data, the client may store the user work related data in a web page and the data at one or more other locations. May be saved. In some embodiments, user work related data is stored in secondary storage prior to rendering. Additionally or alternatively, the client may obtain data from secondary sources including but not limited to browser session storage, cookies or global storage.
(現在のページ(540)からであろうと、1つ以上の二次ソース(545)からであろうと)ユーザ作業関連データが得られると、クライアントはユーザ作業関連データとともに現在の要求を送信する。 Once user work related data is obtained (whether from the current page (540) or from one or more secondary sources (545)), the client sends the current request along with the user work related data.
C.特別な要求および応答
最後の段落において言及したように、ウェブアプリケーションは、ユーザ作業関連データを集めて伝達しようとする際に複雑さを増す可能性のあるさまざまな要求および応答の対話を発生させる可能性がある。直接的なユーザ動作ではない要求が生成されるインスタンスがある。本発明の実施例の主要な目標のうちの1つが、ユーザ作業または動作を判断または推論するのに用いられ得るデータを集めることであるので、ユーザ対話ではなく技術的対話の問題として生じる動作を考慮することは有益である。このような2つの例を、図6および図7に関連付けて以下に示す。図6は、本発明の実施例に従ったデータストリーミングの場合などの二次要求を含むユーザ作業監視のための方法を示す。図7は、本発明の実施例に従った転送要求を含むユーザ作業監視のための方法を示す。
C. Special requests and responses As mentioned in the last paragraph, web applications can generate a variety of request and response interactions that can add complexity when attempting to collect and communicate user work-related data. There is sex. There are instances where requests are generated that are not direct user actions. Since one of the primary goals of embodiments of the present invention is to collect data that can be used to determine or infer user work or actions, actions that occur as a problem of technical interaction rather than user interaction. It is beneficial to consider. Two such examples are shown below in connection with FIGS. FIG. 6 illustrates a method for user work monitoring including secondary requests, such as in the case of data streaming according to an embodiment of the present invention. FIG. 7 illustrates a method for user activity monitoring including a transfer request according to an embodiment of the present invention.
1.データストリーミング
クライアントとサーバとの間のデータストリーミング対話により、結果として、クライアントとサーバとの間に付加的な要求および応答が発生する可能性がある。真のユーザ作業をより正確に取込むために、この発明の実施例はこのような対話を補償する。いくつかの実施例においては、より大きなタスクの一部である対話が一次タスクに付随するものとして注目される。図6に示される例について限定ではなく例示を目的として検討する。
1. Data streaming interactions between the data streaming client and server can result in additional requests and responses between the client and server. In order to capture true user work more accurately, embodiments of the present invention compensate for such interactions. In some embodiments, an interaction that is part of a larger task is noted as being associated with the primary task. The example shown in FIG. 6 is considered for purposes of illustration and not limitation.
図6は、本発明の実施例に従った二次要求を含むユーザ作業監視のための方法を示す。ユーザは、クライアント610において彼または彼女に対して表示されるウェブページ620を見ている。例示を目的として、ユーザがページ上でテーブルのレンダリングを引起す動作を選択したものと想定する。その要求(要求n)はバックエンドに送信される(625)。ユーザ作業関連データは、要求とともに送信されてもよい。いくつかの実施例においては、ユーザ作業関連データは、以前の要求−応答対話(要求−応答n−1)についてのデータを含み、現在の要求(要求n)についてのデータを含み得る。 FIG. 6 illustrates a method for user activity monitoring including secondary requests according to an embodiment of the present invention. The user is viewing a web page 620 that is displayed to him or her on the client 610. For illustrative purposes, assume that the user has selected an action that causes rendering of the table on the page. The request (request n) is sent to the back end (625). User work related data may be sent with the request. In some embodiments, user work related data includes data for a previous request-response interaction (request-response n-1) and may include data for a current request (request n).
バックエンドシステム615はフロントエンド610から要求を受取り(630)、要求を処理する(630)。いくつかの実施例においては、バックエンドシステムがコンテキスト識別子(たとえば実行コンテキスト識別子(ECID))を生成し、要求の処理時に実行される作業がログ記録され、そのECIDに関連付けられる。いくつかの実施例においては、バックエンドシステムはまた、ユーザ作業関連データを抽出し、特別なパラメータを用いてデータを識別して、そのデータを記憶する。先に述べたように、いくつかの実施例においては、サーバシステムは抽出、記憶または分析を実行しない可能性がある。むしろ、この情報は、単に、ネットワークトラフィックが集まるのを監視する1つ以上の他のアプリケーションまたはツールのために公表されるに過ぎない。バックエンドシステムは応答を返す(635)。いくつかの実施例においては、応答は、ユーザ監視に有用であり得る付加的なユーザ作業関連データとともに応答ペイロードを含む。 The backend system 615 receives the request from the frontend 610 (630) and processes the request (630). In some embodiments, the backend system generates a context identifier (e.g., execution context identifier (ECID)) and the work performed when processing the request is logged and associated with that ECID. In some embodiments, the back-end system also extracts user work related data, identifies the data using special parameters, and stores the data. As noted above, in some embodiments, the server system may not perform extraction, storage or analysis. Rather, this information is only published for one or more other applications or tools that monitor network traffic gathering. The backend system returns a response (635). In some embodiments, the response includes a response payload with additional user work related data that may be useful for user monitoring.
フロントエンドシステム610は、バックエンドからの応答を受取って処理する(640)。ウェブページ上に1つ以上のテーブルがある状況、または他のデータストリーミング状況においては、応答がクライアントに戻ってくると、ページのレイアウトが受取られる(たとえば640のディスプレイ)。但し、テーブルを埋めるべきデータが1つ以上の後続の対話の際にフェッチおよびロードされる。このため、クライアントシステムは、応答nを受取ると、テーブルについてのデータを得るためにサーバに対する別の要求(要求n+1)を自動的に開始する(645)。いくつかの実施例においては、クライアントモジュールは、それが二次要求であると理解する。なぜなら、コード(たとえばJavascript(登録商標)コード)の形でクライアントが動作を開始したからである。 Front end system 610 receives and processes the response from the back end (640). In situations where there are one or more tables on the web page, or other data streaming situations, the page layout is received (eg, 640 display) when the response returns to the client. However, the data to fill the table is fetched and loaded during one or more subsequent interactions. Thus, when the client system receives response n, it automatically initiates another request (request n + 1) to the server to obtain data about the table (645). In some embodiments, the client module understands that it is a secondary request. This is because the client starts operation in the form of a code (for example, Javascript (registered trademark) code).
しかしながら、この要求は一次要求に付随するものである。ユーザの観点から見ると、彼または彼女は、データを含むテーブルの獲得を要求していたので、データを含むテーブルが表示されると動作が完了したものと見なす。このため、いくつかの実施例においては、クライアントシステムは、この要求(要求n+1)が二次要求であることを示す特別なパラメータを含み得る。いくつかの実施例においては、二次要求であることを示す特別なパラメータは、要求本文中に、またはURLの一部として含まれてもよい。要求に特別なパラメータが含まれることにより、トラフィックをスニッフィングしているアプリケーションがユーザ作業データを監視することを可能にして、この要求が二次要求であることを知ることができる。さらに、最初の要求(要求n)がまだ果たされていないので、クライアントは、この要求(要求n+1)に他の如何なるユーザ作業関連データも含み得ない。 However, this request is incidental to the primary request. From the user's point of view, he or she has requested acquisition of a table containing data, and therefore considers the operation complete when the table containing data is displayed. Thus, in some embodiments, the client system may include a special parameter that indicates that this request (request n + 1) is a secondary request. In some embodiments, a special parameter indicating a secondary request may be included in the request body or as part of the URL. The inclusion of special parameters in the request allows the application sniffing traffic to monitor user work data and knows that this request is a secondary request. Furthermore, since the initial request (request n) has not yet been fulfilled, the client may not include any other user work related data in this request (request n + 1).
サーバは要求を受取って処理する(650)。いくつかの実施例においては、サーバは、二次要求についてのコンテキスト識別子を割当てて、要求の処理に関連付けられたデータをログ記録してもよい。要求を処理した後、サーバは応答(応答n+1)を準備する。いくつかの実施例においては、バックエンドシステムは、要求(要求n+1)がストリーミング要求であると理解し、これにより、この要求を二次要求にして、それが二次応答であることを示すために応答に特別なインジケータを追加する(655)。いくつかの実施例においては、二次要求−応答対話のためのコンテキスト識別子が含まれている場合、ユーザ作業データを監視するアプリケーションがそのコンテキスト識別子を一次コンテキスト識別子に関連付けることができる。 The server receives and processes the request (650). In some embodiments, the server may assign a context identifier for the secondary request and log data associated with the processing of the request. After processing the request, the server prepares a response (response n + 1). In some embodiments, the backend system understands that the request (request n + 1) is a streaming request, thereby making this request a secondary request and indicating that it is a secondary response. A special indicator is added to the response (655). In some embodiments, if a context identifier for a secondary request-response interaction is included, an application that monitors user work data can associate that context identifier with the primary context identifier.
クライアントは二次応答を受取り(660)、テーブルにデータをロードする。いくつかの実施例においては、クライアント終了時間は、ユーザの要求を完了させる応答の終わりとして計算される。図示される例においては、クライアント開始時間670は一次要求(要求n)の始まりであって、クライアント終了時間675は、最初の応答の終わりではなく二次応答(応答n+1)の終わりである。当業者であれば、ウェブページ上にいくつかのテーブルが存在し得ることを認識するだろう。いくつかの実施例においては、クライアント終了時間は、最後のテーブルがデータで占められたときに設定される。図6におけるアイテム660は、データで占められたテーブルを有するウェブページを示す。いくつかの実施例においては、クライアント開始時間670およびクライアント終了時間675などのユーザ作業関連データが、次の要求(要求n+2)の一部として、または別個の通信としてサーバに送信されてもよい。いくつかの実施例においては、ユーザ作業関連データは、一次要求(たとえばECID.n)、二次要求(たとえばECID.n+1)またはこれら両方についてのコンテキスト識別子を含む。 The client receives the secondary response (660) and loads the data into the table. In some embodiments, the client end time is calculated as the end of the response that completes the user's request. In the illustrated example, client start time 670 is the beginning of the primary request (request n) and client end time 675 is the end of the secondary response (response n + 1) rather than the end of the first response. One skilled in the art will recognize that there can be several tables on a web page. In some embodiments, the client end time is set when the last table is populated with data. Item 660 in FIG. 6 shows a web page having a table populated with data. In some embodiments, user work related data such as client start time 670 and client end time 675 may be sent to the server as part of the next request (request n + 2) or as a separate communication. In some embodiments, the user work related data includes context identifiers for primary requests (eg, ECID.n), secondary requests (eg, ECID.n + 1), or both.
当業者であれば、複数のテーブルが存在する場合、いくつかの実施例において、個々のテーブルについての終了時間も追跡され得ることも認識するだろう。たとえば、サーバは各テーブルごとに別個のスレッドを用いることができ、テーブルについてのデータが集められると、このデータをクライアントに送ることができる。クライアントは、どのテーブルが完了していないかを追跡することができ、サーバは同じことを行ってもよい。すべてのテーブルについてのデータが送信されると、サーバは接続を閉じ、クライアントは、それが行われたことを知って、完了した終了時間を計算することができる。 One skilled in the art will also recognize that if there are multiple tables, in some embodiments the end times for the individual tables can also be tracked. For example, the server can use a separate thread for each table, and once the data for the table is collected, this data can be sent to the client. The client can keep track of which tables are not complete, and the server may do the same. Once the data for all tables has been sent, the server closes the connection and the client knows that it has been done and can calculate the completed end time.
2.クライアント側の転送
クライアント側の転送により、ユーザ作業を正確に監視することについて同様の課題が生じる。具体的には、クライアント側の転送によっても、結果として、クライアントとサーバとの間に真のユーザ作業ではない付加的な要求および応答が生じる。真のユーザ作業をより正確に取込むために、本発明の実施例はクライアント側の転送に留意することによって補償を行う。限定ではなく例示を目的として、図7に示される例を検討する。
2. Transfer on the client side Transfer on the client side presents the same problem of accurately monitoring user work. Specifically, the client-side transfer also results in additional requests and responses between the client and server that are not true user work. In order to capture true user work more accurately, embodiments of the present invention compensate by paying attention to client-side forwarding. For purposes of illustration and not limitation, consider the example shown in FIG.
図7は、本発明の実施例に従ったクライアント側の転送を含むユーザ作業監視のための方法を示す。ユーザは、クライアント710において彼または彼女に対して表示されるウェブページ720を見ている。ユーザによって選択されたイベントにより、結果として、要求(要求n)がバックエンド715に送信されることとなる(725)。ユーザ作業関連データは、要求とともに送信されてもよい。いくつかの実施例においては、ユーザ作業関連データは、以前の要求−応答対話(要求−応答n−1)についてのデータを含んでもよく、現在の要求(要求n)についてのデータを含んでもよい。 FIG. 7 illustrates a method for user activity monitoring including client-side transfer according to an embodiment of the present invention. The user is viewing a web page 720 that is displayed to him or her on the client 710. The event selected by the user results in a request (request n) being sent to the backend 715 (725). User work related data may be sent with the request. In some embodiments, user work related data may include data for a previous request-response interaction (request-response n-1) or may include data for a current request (request n). .
バックエンドシステム715は要求を受取り(730)、それを処理する(730)。いくつかの実施例においては、バックエンドシステムはコンテキスト識別子(たとえばECID)を生成し、要求を処理する際に実行される作業がログ記録され、そのコンテキスト識別子に関連付けられる。いくつかの実施例においては、バックエンドシステムはまた、ユーザ作業関連データを抽出し、特別なパラメータを用いてデータを識別し、そのデータを記憶する。いくつかの実施例においては、サーバシステムは抽出、記憶または分析を実行しなくてもよく、むしろ、この情報は、単に、ネットワークトラフィックが集まるのを監視する1つ以上の他のアプリケーションまたはツールのために公表されるに過ぎない。バックエンドシステムは応答を返す(735)。いくつかの実施例においては、応答は、ユーザ監視に有用であり得る付加的なユーザ作業関連データとともに応答ペイロードを含む。 The backend system 715 receives the request (730) and processes it (730). In some embodiments, the backend system generates a context identifier (eg, ECID) and the work performed in processing the request is logged and associated with that context identifier. In some embodiments, the back-end system also extracts user work related data, identifies the data using special parameters, and stores the data. In some embodiments, the server system may not perform extraction, storage, or analysis; rather, this information is simply one or more other applications or tools that monitor network traffic gathering. It is only published for that purpose. The backend system returns a response (735). In some embodiments, the response includes a response payload with additional user work related data that may be useful for user monitoring.
フロントエンドシステム710は、バックエンドからの応答を受取って処理する(740)。例示を目的として、クライアントにおいて処理された際の応答により、結果として、転送要求(要求n+1)が送信されることとなる(745)。いくつかの実施例においては、転送応答がクライアント上で処理されると、クライアントが、いずれの未報告のユーザ作業データおよびその関連するECIDをも二次記憶装置に保存してから、転送要求(要求n+1)が開始される。先の段落のデータストリーミングの場合と同様に、この要求は一次要求に付随するものである。ユーザの観点から見ると、彼または彼女は、最初の要求とは別個のタスクの転送については考慮しない可能性があるだろう。このため、いくつかの実施例においては、クライアントシステムは、この要求(要求n+1)が二次要求であることを示す特別なパラメータを含んでもよい。いくつかの実施例においては、それが二次要求であることを示す特別なパラメータが、要求本文に含まれてもよく、またはURLの一部として含まれてもよい。要求に特別なパラメータを含めることにより、トラフィックをスニッフィングしているアプリケーションが、この要求が二次要求であることを知ることが可能となる。さらに、いくつかの実施例においては、最初の要求(要求n)がまだ果たされていないので、クライアントは、この要求(要求n+1)に他の如何なるユーザ作業データも含めない可能性がある。 The front end system 710 receives and processes the response from the back end (740). For illustrative purposes, a response when processed at the client results in a transfer request (request n + 1) being sent (745). In some embodiments, when a transfer response is processed on the client, the client stores any unreported user work data and its associated ECID in secondary storage before the transfer request ( Request n + 1) is initiated. As with the data streaming in the previous paragraph, this request accompanies the primary request. From the user's perspective, he or she may not consider the transfer of tasks separate from the initial request. Thus, in some embodiments, the client system may include a special parameter that indicates that this request (request n + 1) is a secondary request. In some embodiments, a special parameter indicating that it is a secondary request may be included in the request body or as part of the URL. Including special parameters in the request allows the application sniffing traffic to know that the request is a secondary request. Further, in some embodiments, the client may not include any other user work data in this request (request n + 1) because the initial request (request n) has not yet been fulfilled.
サーバは要求を受取って処理する(750)。いくつかの実施例においては、サーバは、転送要求についてのコンテキスト識別子を割当てて、要求の処理に関連付けられるデータをログ記録してもよい。要求を処理した後、サーバは応答(応答n+1)を準備する。いくつかの実施例においては、バックエンドシステムは、要求(要求n+1)が転送要求であることを理解し、これにより、その要求が二次要求とされ、それが二次応答であることを示すために応答に対して特別なインジケータが追加される(755)。いくつかの実施例においては、二次要求−応答対話のためのコンテキスト識別子が含まれている場合、ユーザ作業データを監視するアプリケーションはそのコンテキスト識別子を一次コンテキスト識別子に関連付けることができる。 The server receives and processes the request (750). In some embodiments, the server may assign a context identifier for the transfer request and log data associated with the processing of the request. After processing the request, the server prepares a response (response n + 1). In some embodiments, the backend system understands that the request (request n + 1) is a transfer request, thereby indicating that the request is a secondary request and that it is a secondary response. Therefore, a special indicator is added to the response (755). In some embodiments, if a context identifier for a secondary request-response interaction is included, an application that monitors user work data can associate that context identifier with the primary context identifier.
クライアントは転送応答を受取り(760)、ウェブページをロードする。当業者であれば、転送の結果、ページ全体がロードされるので、クライアント開始時間770などのユーザ作業関連データのうちのいくらかが二次的なソースから得られることを認識するだろう。このため、いくつかの実施例においては、クライアントは、典型的にはECIDおよび要求725のクライアント開始時間であり二次記憶装置に記憶されたユーザ作業関連データを検索する。いくつかの実施例においては、クライアント終了時間は、ユーザの要求を完了させる応答755を処理した後に計測される。示される例においては、クライアント開始時間770は一次要求(要求n)の始まりであった。また、クライアント終了時間775は、最初の応答の終わりではなく二次応答(応答n+1)の終わりである。いくつかの実施例においては、クライアント開始時間770およびクライアント終了時間775などのユーザ作業関連データは、次の要求(要求n+2)の一部として、または別個の通信としてサーバに送信されてもよい。いくつかの実施例においては、ユーザ作業関連データは、一次要求(たとえばECID.n)、二次要求(たとえばECID.n+1)またはこれら両方についてのコンテキスト識別子を含む。 The client receives the forward response (760) and loads the web page. One skilled in the art will recognize that as a result of the transfer, the entire page is loaded, so that some of the user work related data, such as client start time 770, is obtained from a secondary source. Thus, in some embodiments, the client retrieves user work related data that is typically the ECID and client start time of request 725 and stored in secondary storage. In some embodiments, the client end time is measured after processing a response 755 that completes the user's request. In the example shown, client start time 770 was the start of the primary request (request n). The client end time 775 is not the end of the first response but the end of the secondary response (response n + 1). In some embodiments, user work related data such as client start time 770 and client end time 775 may be sent to the server as part of the next request (request n + 2) or as a separate communication. In some embodiments, the user work related data includes context identifiers for primary requests (eg, ECID.n), secondary requests (eg, ECID.n + 1), or both.
D.コンピューティングシステムの実現例
いくつかの実施例においては、コンピューティングシステムは、この明細書中に提示される方法、機能および/または動作のうち1つ以上を実行するよう構成され得る。この明細書中に記載される方法、機能および/または動作のうち少なくとも1つ以上を実現するシステムは、コンピュータシステム上で動作するユーザ作業監視アプリケーションを含み得る。コンピュータシステムは、1つ以上のコンピュータおよび1つ以上のデータベースを含み得る。
D. Computing System Implementations In some embodiments, a computing system may be configured to perform one or more of the methods, functions and / or operations presented herein. A system that implements at least one of the methods, functions and / or operations described herein may include a user work monitoring application running on a computer system. A computer system may include one or more computers and one or more databases.
本発明が、電話、ラップトップコンピュータ、デスクトップコンピュータおよびサーバを含むがこれらに限定されない、データを処理可能な如何なる命令実行/コンピューティングデバイスまたはシステムにおいて実現され得ることに留意されたい。本発明はまた、他のコンピューティングデバイスおよびシステムへと実現され得る。さらに、本発明の局面は、ソフトウェア、ハードウェア、ファームウェアまたはこれらの組合せを含む多種多様な態様で実現され得る。たとえば、本発明のさまざまな局面を実施する機能は、離散的なロジックコンポーネント、1つ以上の特定用途向け集積回路(ASICs:application specific integrated circuits)および/またはプログラム制御されたプロセッサを含む多種多様な態様で実現されるコンポーネントによって実行され得る。なお、これらのアイテムが実現される態様が本発明にとって重要ではないことに留意されたい。 It should be noted that the present invention may be implemented in any instruction execution / computing device or system capable of processing data, including but not limited to phones, laptop computers, desktop computers and servers. The invention can also be implemented in other computing devices and systems. Further, aspects of the invention may be implemented in a wide variety of ways including software, hardware, firmware, or combinations thereof. For example, the ability to implement various aspects of the present invention can vary widely, including discrete logic components, one or more application specific integrated circuits (ASICs) and / or program-controlled processors. It can be performed by a component implemented in an aspect. It should be noted that the manner in which these items are implemented is not important to the present invention.
図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上で実行され、その動作を制御する。 FIG. 8 shows a functional block diagram of an embodiment of an instruction execution / computing device 800 that may implement or embody embodiments of the present invention, including but not limited to clients and servers. As illustrated in FIG. 8, processor 802 executes software instructions and interacts with other system components. In some embodiments, the processor 802 may be a general purpose processor (for purposes of illustration and not limitation) such as an AMD processor, INTEL processor, SUN MICROSYSTEMS processor, or POWERPC-compatible CPU, or The processor may be a special purpose processor. Data and software programs are stored in the storage device 804 coupled to the processor 802 for a long period of time. Storage device 804 is a hard disk drive and / or another device capable of storing data, such as a magnetic or optical media (eg, diskette, tape, compact disk, DVD, etc.) drive or a solid state memory device. possible. Storage device 804 may hold programs, instructions and / or data to be used by processor 802. In certain embodiments, programs or instructions stored in or loaded from storage device 804 may be loaded into memory 806 and executed by processor 802. In one embodiment, storage device 804 holds a program or instructions for implementing an operating system on processor 802. In one embodiment, possible operating systems include, but are not limited to, UNIX, AIX, LINUX, Microsoft Windows, and Apple MAC OS. In some embodiments, the operating system runs on computing system 800 and controls its operation.
プロセッサ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によって実行され得る。 Addressable memory 806 coupled to processor 802 may be used to store data and software instructions to be executed by processor 802. The memory 806 is, for example, firmware, read only memory (ROM), flash memory, non-volatile random access memory (NVRAM), random access memory (RAM) or these. Any combination of these may be used. In one embodiment, memory 806 stores a number of software objects, otherwise known as services, utilities, components or modules. One skilled in the art will also recognize that the items and functions of storage 804 and memory 806 can be the same for both capacities. In certain embodiments, one or more of the methods, functions, or operations described herein may be implemented as modules stored in memory 804, 806 and executed by processor 802.
ある実施例においては、コンピューティングシステム800は他のデバイス、他のネットワークまたはこれら両方と通信する能力を提供する。コンピューティングシステム800は、このコンピューティングシステム800を他のネットワークおよびデバイスに通信可能に結合するために1つ以上のネットワークインターフェイスまたはアダプタ812、814を含み得る。たとえば、コンピューティングシステム800は、ネットワークインターフェイス812、通信ポート814またはこれら両方を含んでもよく、その各々は、プロセッサ802に対して通信可能に結合され、コンピューティングシステム800を他のコンピュータシステム、ネットワークおよびデバイスに結合するのに用いられてもよい。 In certain embodiments, computing system 800 provides the ability to communicate with other devices, other networks, or both. The computing system 800 may include one or more network interfaces or adapters 812, 814 to communicatively couple the computing system 800 to other networks and devices. For example, the computing system 800 may include a network interface 812, a communication port 814, or both, each of which is communicatively coupled to the processor 802 to connect the computing system 800 to other computer systems, networks and It may be used to couple to a device.
ある実施例においては、コンピューティングシステム800は、グラフィックスおよびテキストの表示を容易にするようプロセッサ802に結合された1つ以上の出力装置808を含み得る。出力装置808は、ディスプレイ、液晶ディスプレイ画面、CRTモニタ、プリンタ、タッチスクリーン、または情報を表示するための他のデバイスを含み得るがこれらに限定されない。コンピューティングシステム800はまた、出力装置808上に情報または画像を表示するのを支援するためのグラフィックスアダプタ(図示せず)を含んでもよい。 In certain embodiments, computing system 800 may include one or more output devices 808 coupled to processor 802 to facilitate the display of graphics and text. The output device 808 may include, but is not limited to, a display, liquid crystal display screen, CRT monitor, printer, touch screen, or other device for displaying information. Computing system 800 may also include a graphics adapter (not shown) to assist in displaying information or images on output device 808.
ユーザ入力を容易にするために、プロセッサ802に結合された1つ以上の入力装置810が用いられてもよい。入力装置810は、マウス、トラックボールまたはタッチパッドなどのポインティングデバイスを含み得るがこれらに限定されず、コンピューティングシステム800にデータまたは命令を入力するためのキーボードまたはキーパッドを含み得る。 One or more input devices 810 coupled to the processor 802 may be used to facilitate user input. Input device 810 may include, but is not limited to, a pointing device such as a mouse, trackball, or touchpad, and may include a keyboard or keypad for entering data or instructions into computing system 800.
ある実施例においては、コンピューティングシステム800は、スキャナ、コピー機、ファクシミリ装置または他のコンピューティングデバイスから、通信ポート814、ネットワークインターフェイス812を介してであろうと、または、入力装置810を介してであろうと、メモリ804/806に記憶されたデータの入力を受取り得る。 In certain embodiments, the computing system 800 may be from a scanner, copier, facsimile machine or other computing device, whether via a communication port 814, a network interface 812, or via an input device 810. Regardless, input of data stored in memory 804/806 may be received.
いくつかの実施例においては、コンピューティングシステム800は1つ以上のデータベースを含み得る。それらのうちいくつかは、プログラムまたはアプリケーションによって使用および/または生成されるデータを記憶し得る。いくつかの実施例においては、1つ以上のデータベースが、コンピューティングシステム800内にある1つ以上の記憶装置804に配置されてもよい。代替的な実施例においては、1つ以上のデータベースはリモートであってもよく(すなわち、コンピューティングシステム800に対してローカルではなく)、そのネットワークインターフェイス814を介してコンピューティングシステム800との接続をネットワーク816と共有し得る。さまざまな実施例においては、データベースは、SQLフォーマットされたコマンドに応答してデータを記憶、更新および検索するよう適合されたオラクル(Oracle)データベースなどのリレーショナルデータベースであってもよい。 In some embodiments, computing system 800 may include one or more databases. Some of them may store data used and / or generated by a program or application. In some embodiments, one or more databases may be located on one or more storage devices 804 within computing system 800. In an alternative embodiment, one or more databases may be remote (ie, not local to computing system 800) and connect to computing system 800 via its network interface 814. May be shared with network 816. In various embodiments, the database may be a relational database such as an Oracle database adapted to store, update and retrieve data in response to SQL formatted commands.
当業者であれば、コンピューティングシステムまたはプログラミング言語が本発明の実施にとって重要ではないことを認識するだろう。当業者であれば、また、上述のいくつかの要素が物理的および/または機能的にサブモジュールに分割され得るかまたはともに組合わされ得ることを認識するだろう。 Those skilled in the art will recognize that the computing system or programming language is not critical to the practice of the invention. One skilled in the art will also recognize that some of the elements described above can be physically and / or functionally divided into sub-modules or combined together.
本発明の実施例がさらに、コンピュータによって実現されるさまざまなオペレーションを実行するためにコンピュータコードが格納されたコンピュータ読取可能媒体を備えたコンピュータプロダクトに関し得ることに留意されたい。この媒体およびコンピュータコードは、本発明の目的のために特別に設計および構築されたものであってもよく、または、当業者にとって公知であるかもしくは利用可能なものであってもよい。コンピュータ読取可能媒体の例として、ハードディスク、フロッピーディスク(登録商標)および磁気テープなどの磁気媒体;CD−ROMおよびホログラフィ装置などの光学媒体;磁気光学媒体;ならびに、プログラムコードを記憶するかまたはプログラムコードを記憶して実行するよう特別に構成された、特定用途向け集積回路(ASICs:application specific integrated circuits)、プログラム可能論理回路(PLD:programmable logic devices )、フラッシュメモリデバイス、ならびにROMおよびRAMデバイスなどのハードウェアデバイスが含まれるが、これらに限定されない。コンピュータコードの例として、コンパイラによって生成されるようなマシンコードや、インタープリタを用いてコンピュータによって実行されるより高レベルのコードを含むファイルが含まれる。本発明のいくつかの実施例は、全体的または部分的に、コンピュータによって実行されるプログラムモジュールにあり得る機械実行可能な命令として実現されてもよい。プログラムモジュールの例として、ライブラリ、プログラム、ルーチン、オブジェクト、コンポーネントおよびデータ構造が含まれる。分散されたコンピューティング環境においては、プログラムモジュールは、ローカルであるかリモートであるかまたはこれらの両方である設定で物理的に配置され得る。 It should be noted that embodiments of the present invention may further relate to a computer product comprising a computer readable medium having computer code stored thereon for performing various computer-implemented operations. The media and computer code may be specially designed and constructed for the purposes of the present invention, or may be known or available to those skilled in the art. Examples of computer readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and holographic devices; magneto-optical media; and program code or program code Application specific integrated circuits (ASICs), programmable logic devices (PLDs), flash memory devices, and ROM and RAM devices specially configured to store and execute This includes but is not limited to hardware devices. Examples of computer code include machine code as generated by a compiler and files containing higher level code that is executed by a computer using an interpreter. Some embodiments of the invention may be implemented in whole or in part as machine-executable instructions that may reside in program modules that are executed by a computer. Examples of program modules include libraries, programs, routines, objects, components, and data structures. In a distributed computing environment, program modules may be physically located with settings that are local, remote, or both.
上述の例および実施例が例示的なものであり、本発明の範囲に限定されないことが当業者に認識されるだろう。明細書を読み、添付の図面を検討することで当業者にとって明らかになるすべての変更例、向上例、同等例、組合せおよびそれらに対する改善例が本発明の真の精神および範囲内に含まれるものと意図されている。 Those skilled in the art will recognize that the examples and examples described above are illustrative and are not limited to the scope of the invention. All modifications, enhancements, equivalents, combinations and improvements made obvious to those skilled in the art upon reading the specification and review of the accompanying drawings are included within the true spirit and scope of the invention. Is intended.
Claims (8)
クライアントシステムのユーザによって開始されたイベントに関する一次の意味情報をバックエンドシステムにおいて受信するステップを含み、前記イベントは、前記クライアントシステムにおけるクライアントアプリケーションからバックエンドシステムに対して一次の要求を送信させ、前記一次の意味情報は前記バックエンドシステムに渡され、
前記一次の要求に含まれる少なくとも1つの特別なパラメータを用いるステップと、
前記少なくとも1つの特別なパラメータを用いて、前記一次の意味情報を抽出するステップを含み、前記一次の意味情報は、前記一次の要求について前記バックエンドシステムによって生成された一次のコンテキスト識別子を介して、前記一次の要求の処理時にバックエンドシステムによって実行される1つ以上の動作とリンクされ、前記一次の意味情報は、イベントタイプ、コンポーネントタイプ、コンポーネントクライアント識別子、コンポーネントディスプレイ名、領域名および領域ビュー識別子のうち少なくとも1つを含むイベント情報を有しており、
二次の要求と前記二次の要求に関連付けられた二次の意味情報とを受信するステップを含み、前記二次の要求は前記一次のコンテキスト識別子を含み、前記二次の要求は、前記バックエンドシステムが前記一次の要求を処理することに応答して、前記クライアントアプリケーションによって開始され、
前記二次の要求について前記バックエンドシステムによって生成された二次のコンテキスト識別子を介して、前記二次の意味情報を、前記二次の要求の処理時に前記バックエンドシステムによって実行される1つ以上の動作にリンクするステップを含み、前記二次のコンテキスト識別子は、前記一次のコンテキスト識別子にさらにリンクされ、
前記意味情報と前記関連付けられた動作とを調べることにより、前記ユーザの前記バックエンドシステムとの対話を監視するステップを含み、前記監視することは、前記一次のコンテキスト識別子を使用するユーザによって開始された対話を識別することを含む、方法。 A method for monitoring user interaction between a user of a client system and an application , comprising:
Receiving at the back-end system primary semantic information regarding an event initiated by a user of the client system, wherein the event causes a client application at the client system to send a primary request to the back-end system; Primary semantic information is passed to the backend system,
Using at least one special parameter included in the primary request;
Extracting the primary semantic information using the at least one special parameter, wherein the primary semantic information is via a primary context identifier generated by the backend system for the primary request. Linked to one or more operations performed by a back-end system when processing the primary request, the primary semantic information includes event type, component type, component client identifier, component display name, region name and region view Having event information including at least one of the identifiers;
Receiving a secondary request and secondary semantic information associated with the secondary request , wherein the secondary request includes the primary context identifier, and the secondary request includes the back request. Initiated by the client application in response to an end system processing the primary request;
One or more executed by the backend system during processing of the secondary request, via the secondary context identifier generated by the backend system for the secondary request, the secondary semantic information The secondary context identifier is further linked to the primary context identifier,
Monitoring the user's interaction with the back-end system by examining the semantic information and the associated action, wherein the monitoring is initiated by a user using the primary context identifier. A method comprising identifying a conversation.
前記一次の意味情報が現在のウェブページで記憶されていると判断したことに応答して、少なくとも1つの特別なパラメータについての、前記一次の意味情報のうち少なくともいくらかを用いるステップと、
前記一次の意味情報が現在のウェブページで記憶されていないと判断したことに応答して、少なくとも1つの特別なパラメータについての、二次記憶装置に記憶された意味情報のうち少なくともいくらかを用いるステップとを含む、請求項1に記載の方法。 Including at least one special parameter in the primary request to the backend system further comprises:
Using at least some of the primary semantic information for at least one special parameter in response to determining that the primary semantic information is stored in a current web page;
In response to determining that the primary semantic information is not stored in the current web page, using at least some of the semantic information stored in the secondary storage for at least one special parameter The method of claim 1 comprising:
クライアントシステムにおいて開始される少なくとも1つのイベントについての要求およびユーザ作業関連データをバックエンドシステムにおいて受取るステップを含み、前記ユーザ作業関連データは、少なくとも1つの容易に識別可能なパラメータを用いてバックエンドシステムに伝達され、かつ、コンテキスト識別子を含み、前記ユーザ作業関連データは、要求のクライアント開始時間、部分ターゲット、イベントタイプ、コンポーネントタイプ、コンポーネントクライアント識別子、コンポーネントディスプレイ名、領域名および領域ビュー識別子のうち少なくとも1つを含み、前記方法はさらに、
処理されている要求に応答して、処理された要求についての応答に少なくとも1つの容易に識別可能なパラメータを含めるステップを含み、前記少なくとも1つの容易に識別可能なパラメータは、要求の処理時にバックエンドシステムによって実行される1つ以上の動作を、要求を開始したクライアント開始イベントと関連付けるための少なくとも一意的なコンテキスト識別子を含み、前記少なくとも一意的なコンテキスト識別子は、前記ユーザ作業関連データに含まれるコンテキスト識別子とは異なり、
クライアントシステムにおいて開始された少なくとも1つのイベントについてのユーザ作業関連データは、
要求に関連付けられた第1のユーザ作業関連データと、
以前の要求に関連付けられた第2のユーザ作業関連データとのうち少なくとも1つを含み、
前記方法は、
前記コンテキスト識別子を介して、前記第1のユーザ作業関連データと、前記第2のユーザ作業関連データとを関連付けるステップをさらに含む、方法。 A method for facilitating monitoring of user interaction, comprising:
Receiving at the back-end system a request for at least one event initiated at the client system and user work-related data, the user work-related data using the at least one easily identifiable parameter And the user work related data includes at least one of a client start time of request, a partial target, an event type, a component type, a component client identifier, a component display name, a region name, and a region view identifier. And the method further comprises:
In response to the request being processed, including at least one easily identifiable parameter in a response for the processed request, wherein the at least one easily identifiable parameter is backed when processing the request. Including at least a unique context identifier for associating one or more operations performed by an end system with the client-initiated event that initiated the request, wherein the at least unique context identifier is included in the user work related data Unlike context identifiers,
User work related data for at least one event initiated in the client system is:
A first user task related data assigned communication related to the request,
At least one of second user work related data associated with the previous request,
The method
The method further comprises associating the first user work-related data with the second user work-related data via the context identifier.
クライアントシステムのユーザによって開始されたイベントに関する一次の意味情報をバックエンドシステムにおいて受信するための手段を含み、前記イベントは、前記クライアントシステムにおけるクライアントアプリケーションからバックエンドシステムに対して一次の要求を送信させ、前記一次の意味情報は、前記一次の要求に含まれる少なくとも一つの特別なパラメータを用いて記バックエンドシステムに渡され、
前記少なくとも1つの特別なパラメータを用いて、前記一次の意味情報を抽出するための手段を含み、前記一次の意味情報は、前記一次の要求について前記バックエンドシステムによって生成された一次のコンテキスト識別子を介して、前記一次の要求の処理時にバックエンドシステムによって実行される1つ以上の動作とリンクされ、前記一次の意味情報は、イベントタイプ、コンポーネントタイプ、コンポーネントクライアント識別子、コンポーネントディスプレイ名、領域名および領域ビュー識別子のうち少なくとも1つを含むイベント情報を有しており、
二次の要求と前記二次の要求に関連付けられた二次の意味情報とを受信するための手段を含み、前記二次の要求は前記一次のコンテキスト識別子を含み、前記二次の要求は、前記バックエンドシステムが前記一次の要求を処理することに応答して、前記クライアントアプリケーションによって開始され、
前記二次の要求について前記バックエンドシステムによって生成された二次のコンテキスト識別子を介して、前記二次の意味情報を、前記二次の要求の処理時に前記バックエンドシステムによって実行される1つ以上の動作にリンクするための手段を含み、前記二次のコンテキスト識別子は、前記一次のコンテキスト識別子にさらにリンクされ、
前記意味情報と前記関連付けられた動作とを調べることにより、前記ユーザの前記バックエンドシステムとの対話を監視するための手段を含み、前記監視することは、前記一次のコンテキスト識別子を使用するユーザによって開始された対話を識別することを含む、システム。 A system for monitoring user interaction between a user of a client system and an application ,
Means for receiving at the back-end system primary semantic information regarding an event initiated by a user of the client system, said event causing a primary request from the client application at said client system to be transmitted to the back-end system. The primary semantic information is passed to the backend system using at least one special parameter included in the primary request;
Means for extracting said primary semantic information using said at least one special parameter, said primary semantic information comprising a primary context identifier generated by said backend system for said primary request. Via one or more actions performed by a back-end system during processing of the primary request, the primary semantic information comprising: event type, component type, component client identifier, component display name, region name, and Event information including at least one of the region view identifiers,
Means for receiving a secondary request and secondary semantic information associated with the secondary request , wherein the secondary request includes the primary context identifier, and the secondary request includes: Initiated by the client application in response to the backend system processing the primary request;
One or more executed by the backend system during processing of the secondary request, via the secondary context identifier generated by the backend system for the secondary request, the secondary semantic information The secondary context identifier is further linked to the primary context identifier,
Means for monitoring the user's interaction with the back-end system by examining the semantic information and the associated action, wherein the monitoring is by a user using the primary context identifier. A system that includes identifying an initiated conversation.
クライアントシステムにおいて開始される少なくとも1つのイベントについての要求およびユーザ作業関連データをバックエンドシステムにおいて受取るための手段を含み、前記ユーザ作業関連データは、少なくとも1つの容易に識別可能なパラメータを用いてバックエンドシステムに伝達され、かつ、コンテキスト識別子を含み、前記ユーザ作業関連データは、要求のクライアント開始時間、部分ターゲット、イベントタイプ、コンポーネントタイプ、コンポーネントクライアント識別子、コンポーネントディスプレイ名、領域名および領域ビュー識別子のうち少なくとも1つを含み、前記システムはさらに、
処理されている要求に応答して、処理された要求についての応答に少なくとも1つの容易に識別可能なパラメータを含めるための手段を含み、前記少なくとも1つの容易に識別可能なパラメータは、要求の処理時にバックエンドシステムによって実行される1つ以上の動作を、要求を開始したクライアント開始イベントと関連付けるための少なくとも一意的なコンテキスト識別子を含み、前記少なくとも一意的なコンテキスト識別子は、前記ユーザ作業関連データに含まれるコンテキスト識別子とは異なり、
クライアントシステムにおいて開始された少なくとも1つのイベントについてのユーザ作業関連データは、
要求に関連付けられた第1のユーザ作業関連データと、
以前の要求に関連付けられた第2のユーザ作業関連データとのうち少なくとも1つを含み、
前記システムは、
前記第1のユーザ作業関連データに含まれるコンテキスト識別子と、前記第2のユーザ作業関連データに含まれるコンテキスト識別子とを関連付けるための手段をさらに含む、システム。 A system for monitoring user interaction,
Means for receiving at the backend system a request for at least one event initiated at the client system and user work related data, wherein the user work related data is backed using at least one easily identifiable parameter. Communicated to the end system and includes a context identifier, wherein the user work related data includes: client start time of request, partial target, event type, component type, component client identifier, component display name, region name and region view identifier Including at least one of said systems , said system further comprising:
Means for including at least one easily identifiable parameter in a response to the processed request in response to the request being processed, wherein the at least one easily identifiable parameter is a request processing Including at least a unique context identifier for associating one or more operations that are sometimes performed by the backend system with the client-initiated event that initiated the request, the at least unique context identifier in the user work related data Unlike the included context identifier,
User work related data for at least one event initiated in the client system is:
A first user task related data assigned communication related to the request,
At least one of second user work related data associated with the previous request ,
The system
The system further comprising: means for associating a context identifier included in the first user work related data with a context identifier included in the second user work related data.
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 (en) | 2011-02-28 | 2016-06-23 | Method and computer program for monitoring user-initiated behavior and correlating with back-end operations |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014510969A JP2014510969A (en) | 2014-05-01 |
JP2014510969A5 JP2014510969A5 (en) | 2015-04-09 |
JP6259662B2 true JP6259662B2 (en) | 2018-01-10 |
Family
ID=45809689
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013556738A Active JP6259662B2 (en) | 2011-02-28 | 2012-02-23 | Method and computer program for monitoring user-initiated behavior and correlating with back-end operations |
JP2016124366A Active JP6211141B2 (en) | 2011-02-28 | 2016-06-23 | Method and computer program for monitoring user-initiated behavior and correlating with back-end operations |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016124366A Active JP6211141B2 (en) | 2011-02-28 | 2016-06-23 | Method and computer program for monitoring user-initiated behavior and correlating with back-end operations |
Country Status (6)
Country | Link |
---|---|
US (1) | US8650284B2 (en) |
EP (1) | EP2681659B1 (en) |
JP (2) | JP6259662B2 (en) |
KR (1) | KR101988608B1 (en) |
CN (1) | CN103415841B (en) |
WO (1) | WO2012125270A1 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6264849B2 (en) * | 2013-11-12 | 2018-01-24 | 富士通株式会社 | Analysis method, analysis device, and analysis program |
US9407711B2 (en) | 2013-11-21 | 2016-08-02 | Facebook, Inc. | Systems and methods for receiving and processing detected events |
CN103647794B (en) * | 2013-12-31 | 2017-07-21 | 北京启明星辰信息安全技术有限公司 | A kind of data correlation method and associated plug-in based on J2EE platforms |
EP2924581B1 (en) * | 2014-03-24 | 2019-09-04 | Pingdom AB | Method, server and agent for monitoring user interaction patterns |
JP6397312B2 (en) * | 2014-11-06 | 2018-09-26 | キヤノン株式会社 | Network system and network system control method |
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 |
EP4170493B1 (en) | 2016-02-01 | 2024-04-10 | 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 (en) * | 2018-06-05 | 2018-11-23 | 淮南师范学院 | A kind of office's no disturbing system |
CN110971363B (en) | 2018-09-28 | 2022-03-08 | 华为技术有限公司 | Method and device for communication method of Ethernet data |
CN109634808B (en) * | 2018-12-05 | 2022-05-10 | 中信百信银行股份有限公司 | Chain monitoring event root cause analysis method based on correlation analysis |
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 (en) * | 2021-01-07 | 2021-02-05 | 北京安泰伟奥信息技术有限公司 | Page operation method and operation system thereof |
US12050526B2 (en) * | 2022-04-19 | 2024-07-30 | Autodesk, Inc. | User feedback mechanism for software applications |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041352A (en) * | 1998-01-23 | 2000-03-21 | Hewlett-Packard Company | Response time measuring system and method for determining and isolating time delays within a network |
GB2348718A (en) * | 1999-04-07 | 2000-10-11 | Ibm | Data processing system having a centralised trace facility with dynamic tracing |
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 |
US20020184363A1 (en) | 2001-04-20 | 2002-12-05 | Steven Viavant | Techniques for server-controlled measurement of client-side performance |
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 |
JP2008117093A (en) | 2006-11-02 | 2008-05-22 | Hitachi Ltd | User operation recording/reproducing method and device |
US20080228862A1 (en) * | 2007-03-12 | 2008-09-18 | Timothy Mackey | Systems and Methods for End-User Experience Monitoring |
JP4906672B2 (en) | 2007-10-22 | 2012-03-28 | 株式会社日立製作所 | Web application process recording method and process recording apparatus |
JP2009245374A (en) * | 2008-03-31 | 2009-10-22 | Nec Corp | Load monitoring/analyzing apparatus, method, and program |
-
2011
- 2011-02-28 US US13/037,074 patent/US8650284B2/en active Active
-
2012
- 2012-02-23 WO PCT/US2012/026367 patent/WO2012125270A1/en active Application Filing
- 2012-02-23 CN CN201280010700.8A patent/CN103415841B/en active Active
- 2012-02-23 JP JP2013556738A patent/JP6259662B2/en active Active
- 2012-02-23 KR KR1020137025478A patent/KR101988608B1/en active IP Right Grant
- 2012-02-23 EP EP12707452.4A patent/EP2681659B1/en active Active
-
2016
- 2016-06-23 JP JP2016124366A patent/JP6211141B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8650284B2 (en) | 2014-02-11 |
JP2014510969A (en) | 2014-05-01 |
KR20140009416A (en) | 2014-01-22 |
KR101988608B1 (en) | 2019-06-12 |
US20120221712A1 (en) | 2012-08-30 |
CN103415841B (en) | 2016-06-15 |
WO2012125270A1 (en) | 2012-09-20 |
JP2016173862A (en) | 2016-09-29 |
CN103415841A (en) | 2013-11-27 |
EP2681659A1 (en) | 2014-01-08 |
JP6211141B2 (en) | 2017-10-11 |
EP2681659B1 (en) | 2017-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6211141B2 (en) | Method and computer program for monitoring user-initiated behavior and correlating with back-end operations | |
US10904117B1 (en) | Insights for web service providers | |
US11775343B1 (en) | Duty cycle estimation for job assignment | |
US9864673B2 (en) | Integration process management console with error resolution interface | |
US7849188B2 (en) | End-to-end tracking of asynchronous long-running business process execution language processes | |
US9232011B2 (en) | Tracking navigation flows within the same browser tab | |
US9396046B2 (en) | Graph based data model for API ecosystem insights | |
US8090679B2 (en) | Method for measuring web site performance | |
US11860717B1 (en) | Graphical user interface for presenting crash data | |
US20130275475A1 (en) | Monitoring System for Optimizing Integrated Business Processes to Work Flow | |
US20070164849A1 (en) | Enterprise software with contextual support | |
US20050081121A1 (en) | Data loss prevention | |
US9715545B2 (en) | Continuous collection of web API ecosystem data | |
US8429535B2 (en) | Client utility interaction analysis | |
US20060136504A1 (en) | Combined analysis of statistical and performance data in a computer based enterprise application environment | |
JP2015503787A (en) | Scenario-based patrol method, system, and computer program | |
US9665909B2 (en) | Transaction classification rule generation | |
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 | |
Tran | Developing web services with serverless architecture | |
Muskee | Where is the user? Filtering Bots from the Edurep Query Logs | |
Bihler | INTERPRETATION OF WEB SITE USER INTERACTION AS A BASE FOR CONTEXT-AWARE PAGE ADAPTATION |
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 |