USRE41903E1 - Systems and methods for recording and visually recreating sessions in a client-server environment - Google Patents

Systems and methods for recording and visually recreating sessions in a client-server environment Download PDF

Info

Publication number
USRE41903E1
USRE41903E1 US11/247,001 US24700105A USRE41903E US RE41903 E1 USRE41903 E1 US RE41903E1 US 24700105 A US24700105 A US 24700105A US RE41903 E USRE41903 E US RE41903E
Authority
US
United States
Prior art keywords
request
environmental data
client
auditor
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US11/247,001
Inventor
Robert Wenig
Igor Tsyganskiy
Kenneth Landry
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Priority to US11/247,001 priority Critical patent/USRE41903E1/en
Application granted granted Critical
Publication of USRE41903E1 publication Critical patent/USRE41903E1/en
Assigned to SAP SE reassignment SAP SE CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SAP AG
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAP SE
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Definitions

  • the present invention relates to a system and method for auditing network applications. More particularly, the present invention relates to a system and method for visually recreating a user session to analyze various aspects of the network application.
  • a client requests information from a server.
  • the server provides information to the client.
  • a typical server may be responding to several hundred clients at one time, while the client may access several servers intermittently and over a very short period of time.
  • problems associated with the application are difficult to isolate, repeat, and/or diagnose. Furthermore, such problems are difficult to attribute to either the server or the client.
  • the present invention is directed to a system and method for auditing network applications.
  • the present invention captures requests and responses sent between a client and a server during a particular user session of a network application.
  • the present invention stores the requests and responses in an auditor storage. Subsequently, the present invention retrieves the requests and responses from the auditor storage to visually recreate the user session.
  • One of the features of the present invention is that an analyst is able to retrieve a particular user session from the auditor storage and step through a particular user session thereby viewing the user session as the client viewed the user session. This enables the analyst to understand the sequence of events that occurred during a particular user session exactly as they occurred.
  • Another feature of the present invention is that the analyst can determine the exact sequence of events that occurred prior to an error occurring in the network application.
  • the present invention stores information describing the client/server environment during the user session so that the analyst may be able to attribute certain errors to loading or traffic on the server or the communication link.
  • Another feature of the present invention is that the analyst can view data associated with multiple user sessions to analyze how different clients navigated through a particular website. Such analysis is useful to determine how particular websites might be improved to achieve a particular result.
  • OLAP analysis can be used, for example, to provide better response times to clients who routinely purchase by shifting them to a faster application server.
  • clients who routinely purchase could also be offered a direct path to a particular location in the website thereby avoiding the path through the website provided to other clients.
  • the analyst can ascertain the value of advertising on the website by viewing the number of purchases before and after such advertising.
  • FIG. 1 illustrates an embodiment of the present invention capturing session data in a client/server environment
  • FIG. 2 illustrates an embodiment of the present invention analyzing captured session data in an auditing environment
  • FIG. 3 is a flowchart that illustrates the operation of one embodiment of the present invention as it captures session data
  • FIG. 4 is a flowchart that illustrates the operation of one embodiment of the present invention as it visually recreates a user session
  • FIG. 5 is a flowchart that illustrates the operation of a preferred embodiment of the present invention as it performs the step of recreating and visually displaying the dynamically generated screen;
  • FIG. 6 illustrates an analyzer according to a preferred embodiment of the present invention in further detail
  • FIG. 7 illustrates an analyze module according to a preferred embodiment of the present invention in further detail
  • FIG. 8 is a flowchart that illustrates the step of storing data in auditor storage according to one embodiment of the present invention.
  • FIG. 9 illustrates a star structure for storing OLAP data for an internet based environment according to one embodiment of the present invention.
  • FIG. 10 illustrates a star structure for storing OLAP data for an SAP R/3 environment according to one embodiment of the present invention
  • FIG. 11 illustrates a viewer table data structure for an internet based environment according to one embodiment of the present invention
  • FIG. 12 illustrates a viewer table data structure for an SAP R/3 environment according to one embodiment of the present invention.
  • FIG. 13 illustrates a dimension buffer data structure according to one embodiment of the present invention.
  • a client 110 communicates with a server environment 140 through a communication link 125 .
  • server environment 140 may comprise a single network server or several servers acting in conjunction with one another.
  • a particular set of related communications between client 110 and server environment 140 is referred to as a user session 130 .
  • User session 130 includes a series of requests 134 made by client 110 to server environment 140 , and a series of responses 132 from server environment 140 to client 110 in response to requests 134 .
  • a particular request 134 and its associated response 132 is referred to herein as a hit 135 or alternatively as a request/response pair.
  • client 110 may access server environment 140 in any of several manners, as is known in the art.
  • Client 110 accesses server environment 140 through a dynamically generated screen 120 which displays information to client 110 from server environment 140 for a particular network application. Based on requests 134 and responses 132 , server environment 140 provides information to update dynamically generated screen 120 .
  • dynamically generated screen 120 is generated by a work station (not shown) of client 110 based on information included in response 132 from server environment 140 .
  • dynamically generated screen 120 is generated by the work station based on a response 132 that includes a markup language such as HTML, XML, SGML, etc., used in various client/server environments 100 .
  • dynamically generated screen 120 is generated by a work station of client 110 based on a response 132 that includes information compatible with formats utilized in a dedicated on-line environment such as a SAP R/3 environment.
  • client/server environment 100 operating in an Internet or Web-based environment.
  • server environment 140 such as in the SAP R/3 environment. It will be apparent to one skilled in the art how the following discussion applies to such hardwired or “dedicated” systems.
  • an auditor capture filter 150 monitors communication link 125 to capture communications (i.e., requests 134 and responses 132 ) between client 110 and server environment 140 .
  • auditor capture filter 150 captures request 134 from client 110 to server environment 140 and captures response 132 from server environment 140 to client 110 .
  • auditor capture filter 150 captures request 134 from communication link 125 after server environment 140 has received request 134 but before server environment 140 has processed request 134 .
  • auditor capture filter 150 captures response 132 after server environment 140 has processed request 134 and determined response 132 but prior to server environment 140 sending response 132 . It should be understood that the capturing function of a preferred auditor capture filter 150 does not interfere with or interrupt communication between client 100 and server environment 140 .
  • server environment 140 would include the necessary modifications to provide auditor capture filter 150 with access to requests 134 and responses 132 .
  • server environment 140 would provide auditor capture filter 150 with the necessary hooks to the session data as would be apparent.
  • auditor capture filter 150 captures requests 134 and responses 132 with the cooperation and possibly the active participation of server environment 140 .
  • auditor capture filter 150 would not require the modifications to server environment 140 discussed above. In this alternate embodiment of the present invention, auditor capture filter 150 would capture requests 134 and responses 132 directly from communication link 125 and server environment 140 would function without regard to the presence of auditor capture filter 150 .
  • Auditor capture filter 150 stores captured request 134 and captured response 132 in an auditor storage 160 .
  • captured request 134 and captured response 132 are stored as a hit 135 .
  • Auditor storage 160 includes a storage device such as a disk drive, a RAM, a database or other such memory device as would be apparent.
  • auditor storage 160 stores all hits 135 in a particular user session 130 as stored hits 175 in a stored user session 170 .
  • the series of captured requests 134 and captured responses 132 that comprise a particular user session 130 are stored collectively as stored user session 170 .
  • user session 130 is conducted over an Internet.
  • client 110 and server environment 140 are not in active communication (i.e., they are effectively disconnected).
  • a unique session identification also referred herein as a state identification
  • the session identification is sent with each request 134 to uniquely determine the user context.
  • server environment 140 is able to handle client 110 over the Internet as if client 110 was continuously connected to server environment 140 .
  • client 10 and server environment 140 are continuously connected via dedicated communication link 125 .
  • a session identification is not necessary for each request 134 ; rather, the session identification is implicit in each transmission between client 110 and server environment 140 as a result of the dedicated communication link 125 .
  • an analyzer 220 enables an analyst 210 to analyze user session 170 .
  • analyst 210 may evaluate user session 170 to determine how client 10 moves through a particular network application to achieve a particular result.
  • Such evaluation is useful, for example, in commercial or e-commerce Internet applications.
  • application developers are interested in understanding how a client 110 navigates through a particular application to arrive at a particular result, such as a purchase.
  • the present invention permits analyst 210 to evaluate the particular application for different clients 110 , at different times, etc.
  • analyst 210 may evaluate user session 170 to isolate errors that occurred during user session 130 .
  • analyst 210 can recreate the entire user session 130 in an effort to identify and isolate a problem with a particular network application.
  • analyst 210 uses analyzer 220 to access auditor storage 160 .
  • analyst 210 is able to access a particular user session 170 and visually recreate it.
  • analyst 210 is able to step through the particular user session 170 and individually evaluate each request 134 and each response 132 as it occurred during user session 170 .
  • analyzer 220 visually recreates user session 170 by generating the various screens 120 that were presented to client 110 by server environment 140 during user session 130 . In this manner, analyst 210 is able to view the identical screens 120 that client 110 viewed during user session 130 .
  • Analyst 210 is also able to evaluate any request made by client 110 and evaluate any subsequent response 132 of server environment 140 .
  • analyst 210 may evaluate user session 130 off-line, that is, after user session 170 is complete, or in near real-time, that is, while user session 170 is occurring.
  • analyzer 220 may retrieve hits 175 from auditor storage 160 or directly from auditor capture filter 150 (thereby by passing auditor storage 160 ).
  • FIG. 3 is a flowchart that illustrates an operation 300 of auditor capture filter 150 as it captures requests 134 and responses 132 during user session 130 according to one embodiment of the present invention.
  • server environment 140 receives a request 134 from client 110 .
  • auditor capture filter 150 captures request 134 .
  • auditor capture filter 150 captures request 134 at server environment 140 .
  • auditor capture filter 150 captures request 134 from server environment 140 after server environment 140 receives request 134 but prior to server environment 140 processing request 134 .
  • server environment 140 may pass request 134 to auditor capture filter 150 as would be apparent.
  • auditor capture filter 150 may be passed to auditor capture filter 150 as would be apparent.
  • other mechanisms exist that permit auditor capture filter 150 to gain access to request 134 as would be apparent.
  • the capture of request 134 does not interfere with or interrupt communication between client 110 and server environment 140 .
  • auditor capture filter 150 captures request 134 directly from communication fink 125 without cooperation from or participation with server environment 140 .
  • capturing request 134 includes capturing or determining particular environmental data (not shown) associated with client 110 and server environment 140 at or about the time request 134 was sent or captured.
  • This environmental data includes parameters such as loading, traffic volume, status, or other such information available on communication link 125 and well known in client/server environment 100 .
  • the environmental data permits analyzer 220 to evaluate the effect of client/server environment 100 on a particular user session 170 .
  • server environment 140 determines a response 132 to request 134 from client 110 .
  • server environment 140 sends response 132 to client 110 .
  • auditor capture filter 150 captures response 132 from server environment 140 to client 110 .
  • server environment 140 may pass response 132 to auditor capture filter 150 as would be apparent.
  • auditor capture filter 150 captures response 132 directly from communication link 125 .
  • capturing response 132 includes capturing environmental data associated with response 132 .
  • auditor capture filter 150 stores captured request 134 and captured response 132 as a hit 175 in auditor storage 160 .
  • each hit 175 (or alternately, each request/response pair) is stored in auditor storage 160 together with other hits associated with a particular user session 170 .
  • auditor capture filter 150 stores captured request 134 in auditor storage 160 as soon as it is captured rather than waiting for an associated captured response 132 .
  • captured request 134 and captured response 132 are stored as they are captured.
  • auditor capture filter 150 captures or receives requests 134 and/or responses 132 from server environment 140 .
  • auditor capture filter 150 may reside on and operate in conjunction with server environment 140 .
  • software, hardware, or a combination of software and hardware associated with auditor capture filter 150 is not required at client 110 nor does client 110 require any modifications to the hardware or software residing therein.
  • auditor capture filter 150 captures requests 134 and responses 132 directly from communication link.
  • software, hardware, or a combination of software and hardware associated with auditor capture filter 150 is not required at either client 110 or server environment 140 .
  • FIG. 4 is a flowchart that illustrates the operation 400 of analyzer 220 as it facilities the analysis of a user session 170 according to one embodiment of the present invention.
  • analyzer 220 locates a particular user session 170 in auditor storage 160 .
  • analyzer 220 specifies to auditor capture filter 150 a particular user session 170 that analyzer 220 wishes to analyze.
  • User session 170 may be located by any number of mechanisms as would be apparent. Such mechanisms may permit analyzer to access auditor storage 160 according to the date and/or session number which correspond to a particular user session 170 sought. However, such date and session number may not always be known. Hence, analyzer 220 may include other mechanisms for locating user session 170 such as searching auditor storage 160 using key words, identifiers, etc., or any other manner of searching auditor storage 160 as would be apparent to one skilled in the art.
  • analyzer 220 retrieves request 134 from auditor storage 160 . Likewise, in a step 430 , analyzer 220 retrieves response 132 corresponding to request 134 from auditor storage 160 . As discussed above, in an alternate embodiment of the present invention, analyzer 220 may retrieve request 134 and response 132 directly from auditor capture filter 150 .
  • analyzer 220 when analyzer 220 retrieves request 134 and response 132 , analyzer 220 also retrieves associated environmental data that may have been stored with each request 134 and response 132 as discussed above.
  • analyzer 220 uses the retrieved request and the retrieved response, and in the preferred embodiment, the retrieved environmental data associated with each, to recreate and display the dynamically generated screen 120 . In this manner, analyzer 220 is able to present to analyst 210 a dynamically generated screen 120 that is the same as that viewed by client 110 during user session 130 .
  • FIG. 5 illustrates the operation of a preferred embodiment of step 440 in further detail.
  • analyzer 220 analyzes the environmental data and other factors associated with retrieved request 134 and retrieved response 132 .
  • analyzer 220 generates a screen based on retrieved request 134 and retrieved response 132 thereby recreating dynamically generated screen 120 .
  • analyzer 220 displays the analyzed environmental data and the generated screen to analyst 210 . This permits analyst 210 to view the recreated screen in the context of the environmental factors that may have effected the particular user session 170 .
  • the recreated screen is updated to reflect data entered by user 110 . This data is obtained from a subsequent request 132 from client 110 to server environment 140 in the particular user session 170 .
  • Analyzer 220 includes a analyze module 620 , an analyzer database 630 , and an import module 640 .
  • Import module 640 extracts meaningful information out of the raw data of user session 170 stored in auditor storage 160 for use by analyst 210 .
  • import module 640 extracts information from hits 175 in user session 170 from auditor storage 160 and stores it in analyzer database 630 in a particular format unique to analyzer database 630 .
  • import module 640 extracts information from hits 175 captured in an Internet environment, while for another application, import module 640 extracts information from hits 175 captured in an SAP R/3 environment.
  • import module 640 can extract session data associated with a variety of clients 110 and server environments 140 and combine it into one centralized, uniform database, such as analyzer database 630 .
  • subsequent analysis tools (such as analyze module 620 ) can analyze session data regardless of the format of captured hits 175 .
  • the subsequent analysis tools can meaningfully compare session data obtained from different clients 110 , server environments 140 , applications, etc.
  • data stored in analyzer database 630 includes pertinent data from request 132 and response 134 , and the associated environmental data.
  • This data includes information associated with and derived from client 110 and server environment 140 as well as the communication protocols used, and other relevant information that would be apparent to those familiar with various network protocols.
  • analyzer database 630 includes two sets of tables for each application in client/server environment 100 .
  • the first tables are referred to as OLAP (“On-line Analysis Program”) analysis tables.
  • the OLAP analysis tables are designed and optimized for preliminary OLAP analysis.
  • the OLAP analysis tables have a star-scheme structure and are fully indexed.
  • FIG. 9 illustrates a preferred embodiment for a star structure for hits captured in an Internet or Web-based environment
  • FIG. 10 illustrates a preferred embodiment for a star structure for hits captured in an SAP R/3 environment.
  • Session viewer/analysis tables are designed and optimized for visually recreating user session 130 and for doing session-specific analysis. Session viewer analysis tables include all of the hit information as well as information about the creation of available sessions and information extracted from the session identification.
  • FIG. 11 illustrates a preferred embodiment for a viewer table for hits captured in the Internet or Web-based environment
  • FIG. 12 illustrates a preferred embodiment for a viewer table for hits captured in an SAP R/3 environment.
  • FIG. 13 illustrates a dimension buffer data structure according to one embodiment of the present invention.
  • the dimension buffer data structure is useful for speeding OLAP analysis as would be apparent.
  • import module 640 also stores information from auditor storage 160 into an archive (not shown).
  • the archive is preferably a more permanent storage device.
  • the information stored in the archive may be the raw data as it is stored in auditor storage 160 , or it may be data from auditor storage 160 that is stripped of extraneous information not associated with the function or operation of analyzer 220 . In either case, the information stored in archive is indexed according to the session identification number associated with each user session 130 . Because each session identification is unique and non-reputable, the archive can store user sessions 170 from a variety of sources and a variety of applications without a risk of conflict resulting in the loss of data.
  • Analyze module 620 includes a global analysis module 710 and a viewer module 720 .
  • Viewer module 720 includes a specific analysis module 730 , an intelligent parser 740 , and a viewer component 750 .
  • Global analysis module 710 allows analyst 210 to dynamically analyze user sessions 170 stored in analyzer database 720 from various clients 110 , server environments 140 , and various applications running in client/server environment 100 .
  • global analysis module 710 permits analyst 210 to analyze user sessions 170 for all clients 110 that accessed a particular site in server environment 140 .
  • global analysis module 710 permits analyst 210 to analyze user sessions 170 for a particular client 110 that accessed multiple sites in different server environments 140 .
  • global analysis module 710 permits analyst 210 to analyze all user sessions 170 that resulted in a purchase of goods on a particular day for all clients 110 and all server environments 140 . These are merely examples of how global analysis module 710 might access analyzer database 720 and are limited only by the information available in analyzer database 720 itself.
  • Viewer module 720 is responsible for visually recreating a particular user session 130 , for performing session level analysis, and for presenting it to analyst 210 .
  • viewer module 720 includes specific analysis component 730 , intelligent parser module 740 , and viewer component 750 .
  • Specific analysis component 730 is responsible for constantly providing statistical information associated with a particular dynamically generated screen 120 and the environmental data associated with that screen at the lime it was generated and/or displayed to client 110 .
  • specific analysis component 730 also calculates congestion in client/server environment 100 on server environment 140 or on communication link 125 at the time the screen 120 was provided to client 110 by server environment 140 .
  • Viewer component 750 is responsible for physically displaying user session 170 .
  • viewer component 750 provides analyst 210 with means to move through user session 170 as well as to display statistics provided by specific analysis component 720 .
  • a separate viewer component 750 exists.
  • viewer component 750 is comprised of a web browser.
  • SAP R/3 viewer component 750 is comprised of a modified version of a front end used by SAP R/3.
  • viewer component 750 comprises an appropriate .viewing program as would be apparent.
  • a specific viewer component 750 is used depending on the particular client/server application.
  • Intelligent parser component 740 scans analyzer database 630 to determine if it includes HTML. If so, intelligent parser component 740 will determine if the HTML has any fields in it to allow intelligent parser component 740 to securely change the value of the fields upon a subsequent user request 134 . In this manner, analyst 210 is able to view data entered by client 110 on the dynamically generated screen 120 as it occurred during user session 130 . In a preferred embodiment of the present invention, intelligent parser component 740 does not implement this functionality for password fields for security reasons, as would be apparent.
  • the present invention stores all requests 134 and responses 132 that occur between client 110 and server environment 140 .
  • auditor capture filter 150 may only store requests 134 and responses 132 into auditor storage 160 when a significant event occurs.
  • requests 134 and responses 132 are stored in auditor storage 160 only if a purchase was completed.
  • the purchase is a significant event.
  • significant events may be further broken down. For example, one set of session data is stored for clients 110 that purchase $10 million or more worth of goods, while another set of session data is stored for clients 110 that purchase less than $10 million worth of goods.
  • This embodiment of the present invention eliminates much of the data from auditor storage 160 associated with “surfing” or “browsing” or other insignificant events that might otherwise be stored.
  • “surfing” or “browsing” data may be useful to determine usage patterns (i.e. shopping patterns) and should be stored in auditor storage 160 .
  • the specific significant events that trigger the storage of session data in auditor storage 160 can vary from application to application, as would be apparent.
  • requests 134 and responses 132 are preferably stored in a temporary memory until the particular significant event occurs. Once the significant event occurs, requests 134 and responses 132 would be transferred from the temporary memory into auditor storage 160 . This process of transferring requests 134 and responses 132 from temporary memory into auditor storage 160 is referred to as “committing” requests 134 and responses 132 to auditor storage 160 .
  • Other mechanisms for committing the session data (i.e., requests 134 and responses 132 ) to auditor storage 160 are available as would be apparent. For example, session data could be stored in auditor 160 prior to the significant event and would be marked or otherwise indicated as being temporary or uncommitted. Once the significant event occurs, this data would be marked as committed. If the significant event does not occur, this data would be subsequently deleted or erased.
  • auditor capture filter 150 stores a request/response pair in a temporary database or other temporary memory.
  • auditor capture filter 150 determines whether a significant event occurred. If the significant event occurred, in a step 830 , auditor capture filter 150 commits the request/response pairs stored in the temporary database or temporary memory to auditor storage 160 . At some point, if the temporary database or temporary memory was not committed, auditor capture filter 150 would delete such temporary database or temporary memory.

Abstract

A system and method for auditing network applications captures transmissions during a user session between a client and a server. An auditor capture filter captures and stores each request from the client and each response by the server to each request in an auditor storage. An auditor analyzer may use the captured requests and the captured responses to visually recreate the user session to thereby analyze what transpired during the user session.

Description

RELATED APPLICATION
This application is related to issued U.S. Pat. No. 6,286,098, entitled “System and Method for Encrypting Audit Information in Network Applications,” by inventors Robert Wenig and Igor Tsyganskiy. This application is also related to issued European Patent 1 097 428 B1, entitled “System and Method for Auditing Network Applications,” by inventors Robert Wenig, Igor Tsyganskiy, and Kenneth Landry, filed on 10 Jul. 1999.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a system and method for auditing network applications. More particularly, the present invention relates to a system and method for visually recreating a user session to analyze various aspects of the network application.
2. Discussion of the Related Art
In a network application, also referred to as a client/server application, a client requests information from a server. In response to each request, the server provides information to the client. A typical server may be responding to several hundred clients at one time, while the client may access several servers intermittently and over a very short period of time. As a result of the very dynamic nature of such applications, problems associated with the application are difficult to isolate, repeat, and/or diagnose. Furthermore, such problems are difficult to attribute to either the server or the client.
Another problem associated with network applications, particularly those dealing in electronic commerce (“e-commerce”), is that the precise behavior of the purchaser during the transaction is difficult to ascertain and even more difficult to evaluate or understand. For example, website developers may wish to understand how a particular buyer using an e-commerce application navigates through the website to purchase an item. Given the nature of conventional network applications, such understanding is difficult to obtain.
Still other problems exists with network applications, some of which are discussed in further detail below. A need exists for a system and method for auditing network applications that solves the problems described herein.
SUMMARY OF THE INVENTION
Accordingly, the present invention is directed to a system and method for auditing network applications. In particular, the present invention captures requests and responses sent between a client and a server during a particular user session of a network application. The present invention stores the requests and responses in an auditor storage. Subsequently, the present invention retrieves the requests and responses from the auditor storage to visually recreate the user session.
One of the features of the present invention is that an analyst is able to retrieve a particular user session from the auditor storage and step through a particular user session thereby viewing the user session as the client viewed the user session. This enables the analyst to understand the sequence of events that occurred during a particular user session exactly as they occurred.
Another feature of the present invention is that the analyst can determine the exact sequence of events that occurred prior to an error occurring in the network application. In addition, the present invention stores information describing the client/server environment during the user session so that the analyst may be able to attribute certain errors to loading or traffic on the server or the communication link.
Another feature of the present invention is that the analyst can view data associated with multiple user sessions to analyze how different clients navigated through a particular website. Such analysis is useful to determine how particular websites might be improved to achieve a particular result.
Another feature of the present invention is that OLAP analysis can be used, for example, to provide better response times to clients who routinely purchase by shifting them to a faster application server. Furthermore, clients who routinely purchase could also be offered a direct path to a particular location in the website thereby avoiding the path through the website provided to other clients. In addition, the analyst can ascertain the value of advertising on the website by viewing the number of purchases before and after such advertising.
Additional features and advantages of the present invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the process particularly pointed out in the written description and claims hereof as well as the appended drawings.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
BRIEF DESCRIPTION OF THE ATTACHED DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention that together with the description serve to explain the principles of the invention.
In the drawings:
FIG. 1 illustrates an embodiment of the present invention capturing session data in a client/server environment;
FIG. 2 illustrates an embodiment of the present invention analyzing captured session data in an auditing environment;
FIG. 3 is a flowchart that illustrates the operation of one embodiment of the present invention as it captures session data;
FIG. 4 is a flowchart that illustrates the operation of one embodiment of the present invention as it visually recreates a user session;
FIG. 5 is a flowchart that illustrates the operation of a preferred embodiment of the present invention as it performs the step of recreating and visually displaying the dynamically generated screen;
FIG. 6 illustrates an analyzer according to a preferred embodiment of the present invention in further detail;
FIG. 7 illustrates an analyze module according to a preferred embodiment of the present invention in further detail;
FIG. 8 is a flowchart that illustrates the step of storing data in auditor storage according to one embodiment of the present invention;
FIG. 9 illustrates a star structure for storing OLAP data for an internet based environment according to one embodiment of the present invention;
FIG. 10 illustrates a star structure for storing OLAP data for an SAP R/3 environment according to one embodiment of the present invention;
FIG. 11 illustrates a viewer table data structure for an internet based environment according to one embodiment of the present invention;
FIG. 12 illustrates a viewer table data structure for an SAP R/3 environment according to one embodiment of the present invention; and
FIG. 13 illustrates a dimension buffer data structure according to one embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
In a client/server environment 100, such as that illustrated in FIG. 1, a client 110 communicates with a server environment 140 through a communication link 125. As would be understood, server environment 140 may comprise a single network server or several servers acting in conjunction with one another.
A particular set of related communications between client 110 and server environment 140 is referred to as a user session 130. User session 130 includes a series of requests 134 made by client 110 to server environment 140, and a series of responses 132 from server environment 140 to client 110 in response to requests 134. A particular request 134 and its associated response 132 is referred to herein as a hit 135 or alternatively as a request/response pair. During user session 130, client 110 may access server environment 140 in any of several manners, as is known in the art.
Client 110 accesses server environment 140 through a dynamically generated screen 120 which displays information to client 110 from server environment 140 for a particular network application. Based on requests 134 and responses 132, server environment 140 provides information to update dynamically generated screen 120. According to one embodiment of the present invention, dynamically generated screen 120 is generated by a work station (not shown) of client 110 based on information included in response 132 from server environment 140. In one embodiment of the present invention, dynamically generated screen 120 is generated by the work station based on a response 132 that includes a markup language such as HTML, XML, SGML, etc., used in various client/server environments 100. In an alternate embodiment of the present invention, dynamically generated screen 120 is generated by a work station of client 110 based on a response 132 that includes information compatible with formats utilized in a dedicated on-line environment such as a SAP R/3 environment.
The following discussion is based on client/server environment 100 operating in an Internet or Web-based environment. However, it should be understood that the present invention also contemplates a system where client 110 is hard-wired directly to server environment 140, such as in the SAP R/3 environment. It will be apparent to one skilled in the art how the following discussion applies to such hardwired or “dedicated” systems.
According to the present invention, an auditor capture filter 150 monitors communication link 125 to capture communications (i.e., requests 134 and responses 132) between client 110 and server environment 140. In particular, auditor capture filter 150 captures request 134 from client 110 to server environment 140 and captures response 132 from server environment 140 to client 110. In one embodiment of the present invention, auditor capture filter 150 captures request 134 from communication link 125 after server environment 140 has received request 134 but before server environment 140 has processed request 134. In this embodiment of the present invention, auditor capture filter 150 captures response 132 after server environment 140 has processed request 134 and determined response 132 but prior to server environment 140 sending response 132. It should be understood that the capturing function of a preferred auditor capture filter 150 does not interfere with or interrupt communication between client 100 and server environment 140.
In the embodiment of the present invention just described, server environment 140 would include the necessary modifications to provide auditor capture filter 150 with access to requests 134 and responses 132. In other words, server environment 140 would provide auditor capture filter 150 with the necessary hooks to the session data as would be apparent. In this embodiment, auditor capture filter 150 captures requests 134 and responses 132 with the cooperation and possibly the active participation of server environment 140.
In an alternate embodiment of the present invention, auditor capture filter 150 would not require the modifications to server environment 140 discussed above. In this alternate embodiment of the present invention, auditor capture filter 150 would capture requests 134 and responses 132 directly from communication link 125 and server environment 140 would function without regard to the presence of auditor capture filter 150.
Auditor capture filter 150 stores captured request 134 and captured response 132 in an auditor storage 160. In a preferred embodiment of the present invention, captured request 134 and captured response 132 are stored as a hit 135. Auditor storage 160 includes a storage device such as a disk drive, a RAM, a database or other such memory device as would be apparent. In some preferred embodiments of the present invention, auditor storage 160 stores all hits 135 in a particular user session 130 as stored hits 175 in a stored user session 170. In other words, in these embodiments of the present invention, the series of captured requests 134 and captured responses 132 that comprise a particular user session 130 are stored collectively as stored user session 170.
In one embodiment of the present invention, user session 130 is conducted over an Internet. As such, after each transmission, (i.e., after each request 134 from client 110 to server environment 140 and after each response 132 from server environment 140 to client 10) client 110 and server environment 140 are not in active communication (i.e., they are effectively disconnected). In such an application, a unique session identification (also referred herein as a state identification) is used to identify a particular client 110 each time the particular client 110 accesses server environment 140. The session identification is sent with each request 134 to uniquely determine the user context. Using the session identification to attribute each request 134 to a particular client 110, server environment 140 is able to handle client 110 over the Internet as if client 110 was continuously connected to server environment 140.
In a second embodiment of the present invention, client 10 and server environment 140 are continuously connected via dedicated communication link 125. In this embodiment of the present invention, a session identification is not necessary for each request 134; rather, the session identification is implicit in each transmission between client 110 and server environment 140 as a result of the dedicated communication link 125.
As discussed above, a series of requests 134 and responses 132 between client 110 and server environment 140 that comprise user session 130 are stored in auditor storage 160 as stored hits 175 in stored user session 170. As discussed in reference to FIG. 2, an analyzer 220 enables an analyst 210 to analyze user session 170. For example, analyst 210 may evaluate user session 170 to determine how client 10 moves through a particular network application to achieve a particular result. Such evaluation is useful, for example, in commercial or e-commerce Internet applications. In these applications, application developers are interested in understanding how a client 110 navigates through a particular application to arrive at a particular result, such as a purchase. As can be appreciated, the present invention permits analyst 210 to evaluate the particular application for different clients 110, at different times, etc.
In another example, analyst 210 may evaluate user session 170 to isolate errors that occurred during user session 130. In this example, analyst 210 can recreate the entire user session 130 in an effort to identify and isolate a problem with a particular network application.
As shown at FIG. 2, analyst 210 uses analyzer 220 to access auditor storage 160. In particular, analyst 210 is able to access a particular user session 170 and visually recreate it. In other words, analyst 210 is able to step through the particular user session 170 and individually evaluate each request 134 and each response 132 as it occurred during user session 170. In a preferred embodiment of the present invention, analyzer 220 visually recreates user session 170 by generating the various screens 120 that were presented to client 110 by server environment 140 during user session 130. In this manner, analyst 210 is able to view the identical screens 120 that client 110 viewed during user session 130. Analyst 210 is also able to evaluate any request made by client 110 and evaluate any subsequent response 132 of server environment 140. As would be apparent, analyst 210 may evaluate user session 130 off-line, that is, after user session 170 is complete, or in near real-time, that is, while user session 170 is occurring. In this latter embodiment, analyzer 220 may retrieve hits 175 from auditor storage 160 or directly from auditor capture filter 150 (thereby by passing auditor storage 160).
Having thus described the components of the present invention, the operation of the present invention is now discussed. FIG. 3 is a flowchart that illustrates an operation 300 of auditor capture filter 150 as it captures requests 134 and responses 132 during user session 130 according to one embodiment of the present invention. In a step 310, server environment 140 receives a request 134 from client 110. In a step 320, auditor capture filter 150 captures request 134. In one embodiment of the present invention, auditor capture filter 150 captures request 134 at server environment 140. Specifically, in this embodiment, auditor capture filter 150 captures request 134 from server environment 140 after server environment 140 receives request 134 but prior to server environment 140 processing request 134. In an alternate embodiment of the present invention, server environment 140 may pass request 134 to auditor capture filter 150 as would be apparent. Of course, other mechanisms exist that permit auditor capture filter 150 to gain access to request 134 as would be apparent. In any case, the capture of request 134 does not interfere with or interrupt communication between client 110 and server environment 140.
In an alternate embodiment of the present invention, auditor capture filter 150 captures request 134 directly from communication fink 125 without cooperation from or participation with server environment 140.
In a preferred embodiment of the present invention, capturing request 134 includes capturing or determining particular environmental data (not shown) associated with client 110 and server environment 140 at or about the time request 134 was sent or captured. This environmental data includes parameters such as loading, traffic volume, status, or other such information available on communication link 125 and well known in client/server environment 100. As will be discussed below, the environmental data permits analyzer 220 to evaluate the effect of client/server environment 100 on a particular user session 170.
In a step 330, server environment 140 determines a response 132 to request 134 from client 110. In a step 340, server environment 140 sends response 132 to client 110. In a step 350, according to one embodiment of the present invention, auditor capture filter 150 captures response 132 from server environment 140 to client 110. In an alternate embodiment, server environment 140 may pass response 132 to auditor capture filter 150 as would be apparent. In yet another alternate embodiment of the present invention, auditor capture filter 150 captures response 132 directly from communication link 125. Furthermore, as discussed above with respect to capturing request 134, in a preferred embodiment of the present invention, capturing response 132 includes capturing environmental data associated with response 132.
Finally, in a step 360, auditor capture filter 150 stores captured request 134 and captured response 132 as a hit 175 in auditor storage 160. In particular, each hit 175 (or alternately, each request/response pair) is stored in auditor storage 160 together with other hits associated with a particular user session 170.
In an alternate embodiment of the present invention, auditor capture filter 150 stores captured request 134 in auditor storage 160 as soon as it is captured rather than waiting for an associated captured response 132. In other words, captured request 134 and captured response 132 are stored as they are captured.
According to one embodiment of the present invention, auditor capture filter 150 captures or receives requests 134 and/or responses 132 from server environment 140. In fact, in actual implementation, auditor capture filter 150 may reside on and operate in conjunction with server environment 140. With this implementation and according to the present invention, software, hardware, or a combination of software and hardware associated with auditor capture filter 150 is not required at client 110 nor does client 110 require any modifications to the hardware or software residing therein.
In an alternate embodiment of the present invention, auditor capture filter 150 captures requests 134 and responses 132 directly from communication link. In this embodiment of the present invention, software, hardware, or a combination of software and hardware associated with auditor capture filter 150 is not required at either client 110 or server environment 140.
FIG. 4 is a flowchart that illustrates the operation 400 of analyzer 220 as it facilities the analysis of a user session 170 according to one embodiment of the present invention. In a step 410, analyzer 220 locates a particular user session 170 in auditor storage 160. In an alternate embodiment that bypasses auditor storage 160, analyzer 220 specifies to auditor capture filter 150 a particular user session 170 that analyzer 220 wishes to analyze.
User session 170 may be located by any number of mechanisms as would be apparent. Such mechanisms may permit analyzer to access auditor storage 160 according to the date and/or session number which correspond to a particular user session 170 sought. However, such date and session number may not always be known. Hence, analyzer 220 may include other mechanisms for locating user session 170 such as searching auditor storage 160 using key words, identifiers, etc., or any other manner of searching auditor storage 160 as would be apparent to one skilled in the art.
After a particular user session 170 has been located, in a step 420, analyzer 220 retrieves request 134 from auditor storage 160. Likewise, in a step 430, analyzer 220 retrieves response 132 corresponding to request 134 from auditor storage 160. As discussed above, in an alternate embodiment of the present invention, analyzer 220 may retrieve request 134 and response 132 directly from auditor capture filter 150.
In a preferred embodiment of the present invention, when analyzer 220 retrieves request 134 and response 132, analyzer 220 also retrieves associated environmental data that may have been stored with each request 134 and response 132 as discussed above.
In a step 440, analyzer 220 uses the retrieved request and the retrieved response, and in the preferred embodiment, the retrieved environmental data associated with each, to recreate and display the dynamically generated screen 120. In this manner, analyzer 220 is able to present to analyst 210 a dynamically generated screen 120 that is the same as that viewed by client 110 during user session 130.
FIG. 5 illustrates the operation of a preferred embodiment of step 440 in further detail. In a step 510, analyzer 220 analyzes the environmental data and other factors associated with retrieved request 134 and retrieved response 132. In a step 520, analyzer 220 generates a screen based on retrieved request 134 and retrieved response 132 thereby recreating dynamically generated screen 120. In a step 530, analyzer 220 displays the analyzed environmental data and the generated screen to analyst 210. This permits analyst 210 to view the recreated screen in the context of the environmental factors that may have effected the particular user session 170. In a preferred embodiment of the present invention, in a step 540, the recreated screen is updated to reflect data entered by user 110. This data is obtained from a subsequent request 132 from client 110 to server environment 140 in the particular user session 170.
Analyzer 220 is now discussed in further detail in reference to FIG. 6. Analyzer 220 includes a analyze module 620, an analyzer database 630, and an import module 640. Import module 640 extracts meaningful information out of the raw data of user session 170 stored in auditor storage 160 for use by analyst 210. In a preferred embodiment of the present invention, import module 640 extracts information from hits 175 in user session 170 from auditor storage 160 and stores it in analyzer database 630 in a particular format unique to analyzer database 630. For example, for one application, import module 640 extracts information from hits 175 captured in an Internet environment, while for another application, import module 640 extracts information from hits 175 captured in an SAP R/3 environment. By doing so, import module 640 can extract session data associated with a variety of clients 110 and server environments 140 and combine it into one centralized, uniform database, such as analyzer database 630. Thus, subsequent analysis tools (such as analyze module 620) can analyze session data regardless of the format of captured hits 175. Furthermore, using the common format of analyzer database 630, the subsequent analysis tools can meaningfully compare session data obtained from different clients 110, server environments 140, applications, etc.
In a preferred embodiment of the present invention, data stored in analyzer database 630 includes pertinent data from request 132 and response 134, and the associated environmental data. This data includes information associated with and derived from client 110 and server environment 140 as well as the communication protocols used, and other relevant information that would be apparent to those familiar with various network protocols.
In a preferred embodiment of the present invention, analyzer database 630 includes two sets of tables for each application in client/server environment 100. The first tables are referred to as OLAP (“On-line Analysis Program”) analysis tables. The OLAP analysis tables are designed and optimized for preliminary OLAP analysis. In a preferred embodiment of the present invention, the OLAP analysis tables have a star-scheme structure and are fully indexed. FIG. 9 illustrates a preferred embodiment for a star structure for hits captured in an Internet or Web-based environment, while FIG. 10 illustrates a preferred embodiment for a star structure for hits captured in an SAP R/3 environment.
The second tables in database 1130 are referred to as session viewer/analysis tables. Session viewer/analysis tables are designed and optimized for visually recreating user session 130 and for doing session-specific analysis. Session viewer analysis tables include all of the hit information as well as information about the creation of available sessions and information extracted from the session identification. FIG. 11 illustrates a preferred embodiment for a viewer table for hits captured in the Internet or Web-based environment, while FIG. 12 illustrates a preferred embodiment for a viewer table for hits captured in an SAP R/3 environment.
FIG. 13 illustrates a dimension buffer data structure according to one embodiment of the present invention. The dimension buffer data structure is useful for speeding OLAP analysis as would be apparent.
In one embodiment of the present invention, import module 640 also stores information from auditor storage 160 into an archive (not shown). The archive is preferably a more permanent storage device. The information stored in the archive may be the raw data as it is stored in auditor storage 160, or it may be data from auditor storage 160 that is stripped of extraneous information not associated with the function or operation of analyzer 220. In either case, the information stored in archive is indexed according to the session identification number associated with each user session 130. Because each session identification is unique and non-reputable, the archive can store user sessions 170 from a variety of sources and a variety of applications without a risk of conflict resulting in the loss of data.
Analyze module 620 is now described in further detail with reference to FIG. 7. Analyze module 620 includes a global analysis module 710 and a viewer module 720. Viewer module 720 includes a specific analysis module 730, an intelligent parser 740, and a viewer component 750.
Global analysis module 710 allows analyst 210 to dynamically analyze user sessions 170 stored in analyzer database 720 from various clients 110, server environments 140, and various applications running in client/server environment 100. For example, global analysis module 710 permits analyst 210 to analyze user sessions 170 for all clients 110 that accessed a particular site in server environment 140. In another example, global analysis module 710 permits analyst 210 to analyze user sessions 170 for a particular client 110 that accessed multiple sites in different server environments 140. In yet another example, global analysis module 710 permits analyst 210 to analyze all user sessions 170 that resulted in a purchase of goods on a particular day for all clients 110 and all server environments 140. These are merely examples of how global analysis module 710 might access analyzer database 720 and are limited only by the information available in analyzer database 720 itself.
Viewer module 720 is responsible for visually recreating a particular user session 130, for performing session level analysis, and for presenting it to analyst 210. As mentioned above, viewer module 720 includes specific analysis component 730, intelligent parser module 740, and viewer component 750. Specific analysis component 730 is responsible for constantly providing statistical information associated with a particular dynamically generated screen 120 and the environmental data associated with that screen at the lime it was generated and/or displayed to client 110. In a preferred embodiment of the present invention, specific analysis component 730 also calculates congestion in client/server environment 100 on server environment 140 or on communication link 125 at the time the screen 120 was provided to client 110 by server environment 140.
Viewer component 750 is responsible for physically displaying user session 170. In particular, viewer component 750 provides analyst 210 with means to move through user session 170 as well as to display statistics provided by specific analysis component 720. In a preferred embodiment of the present invention, for each particular client/server application, a separate viewer component 750 exists. For HTML and XML, viewer component 750 is comprised of a web browser. For SAP R/3, viewer component 750 is comprised of a modified version of a front end used by SAP R/3. For other application, viewer component 750 comprises an appropriate .viewing program as would be apparent. In other words, a specific viewer component 750 is used depending on the particular client/server application.
Intelligent parser component 740 scans analyzer database 630 to determine if it includes HTML. If so, intelligent parser component 740 will determine if the HTML has any fields in it to allow intelligent parser component 740 to securely change the value of the fields upon a subsequent user request 134. In this manner, analyst 210 is able to view data entered by client 110 on the dynamically generated screen 120 as it occurred during user session 130. In a preferred embodiment of the present invention, intelligent parser component 740 does not implement this functionality for password fields for security reasons, as would be apparent.
As thus described, the present invention stores all requests 134 and responses 132 that occur between client 110 and server environment 140. However, this approach is not required and furthermore may not be desired, in all client/server environments 100. In alternate embodiments of the present invention, auditor capture filter 150 may only store requests 134 and responses 132 into auditor storage 160 when a significant event occurs. For example, in one embodiment of the present invention, requests 134 and responses 132 are stored in auditor storage 160 only if a purchase was completed. In this example, the purchase is a significant event. In another embodiment of the present invention, significant events may be further broken down. For example, one set of session data is stored for clients 110 that purchase $10 million or more worth of goods, while another set of session data is stored for clients 110 that purchase less than $10 million worth of goods. This embodiment of the present invention eliminates much of the data from auditor storage 160 associated with “surfing” or “browsing” or other insignificant events that might otherwise be stored. However, as would be apparent, in other embodiments of the present invention, such “surfing” or “browsing” data may be useful to determine usage patterns (i.e. shopping patterns) and should be stored in auditor storage 160. The specific significant events that trigger the storage of session data in auditor storage 160 can vary from application to application, as would be apparent.
In the embodiments of the present invention that use such significant events as a criteria for storing session data, requests 134 and responses 132 are preferably stored in a temporary memory until the particular significant event occurs. Once the significant event occurs, requests 134 and responses 132 would be transferred from the temporary memory into auditor storage 160. This process of transferring requests 134 and responses 132 from temporary memory into auditor storage 160 is referred to as “committing” requests 134 and responses 132 to auditor storage 160. Other mechanisms for committing the session data (i.e., requests 134 and responses 132) to auditor storage 160 are available as would be apparent. For example, session data could be stored in auditor 160 prior to the significant event and would be marked or otherwise indicated as being temporary or uncommitted. Once the significant event occurs, this data would be marked as committed. If the significant event does not occur, this data would be subsequently deleted or erased.
With this in mind, the operation of storing step 360 according to this embodiment of the present invention is now described with reference to FIG. 19. In a step 810, auditor capture filter 150 stores a request/response pair in a temporary database or other temporary memory. In a decision step 820, auditor capture filter 150 determines whether a significant event occurred. If the significant event occurred, in a step 830, auditor capture filter 150 commits the request/response pairs stored in the temporary database or temporary memory to auditor storage 160. At some point, if the temporary database or temporary memory was not committed, auditor capture filter 150 would delete such temporary database or temporary memory.
While the invention has been described in detail and with reference to specific embodiments thereof, it will be apparent to one skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope thereof. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.

Claims (130)

1. A method executing on a hardware computer system for visually recreating a user session in a computer environment including a client and a server, the method comprising the steps of:
receiving a request from the client at the server;
capturing at the server the request and first environmental data associated with the computer environment;
determining, by the server, a response to the request;
sending the response from the server to the client;
capturing at the server the response to the request and second environmental data associated with the computer environment; and
visually recreating at the server the user session based on the captured request and the captured response.
2. The method of claim 1, wherein the first environmental data is captured at or about when the request is captured.
3. The method of claim 2, wherein the second environmental data is captured at or about when the response is captured.
4. The method of claim 3, further comprising:
retrieving the request;
retrieving the response;
displaying the retrieved request and response on a dynamically generated screen based on the first and second environmental data.
5. The method of claim 4, further comprising:
analyzing the first and second environmental data; and
displaying the analyzed environmental data.
6. The method of claim 3, wherein the second environmental data includes information on load, traffic volume, status, and other system data.
7. The method of claim 2, wherein the first environmental data includes information on load, traffic volume, status, and other system data.
8. The method of claim 1, wherein capturing the request comprises receiving session identification information associated with the client.
9. The method of claim 1, wherein visually recreating the user session comprises:
locating the user session;
retrieving the request;
retrieving the response; and
displaying the retrieved request and response on a dynamically generated screen.
10. A hardware system for visually recreating a user session, which includes a request and a response to the request, in a computer environment including a client and a server comprising:
a communication link between the client and the server,
a memory,
an auditor capture filter capable of
capturing the request and a first environmental data associated with the computer environment and storing the request and the first environmental data in the memory;
capturing the response to the request environment and storing the request and the a second environmental data in the memory environment ; and
a display for visually recreating the user session based on the captured request and the captured response.
11. The system of claim 10, wherein the auditor capture filter is further able to capture the first environmental data at or about when the request is captured.
12. The system of claim 11, wherein the auditor capture filter is further able to capture the second environmental data at or about when the response is captured.
13. The system of claim 10, wherein the auditor capture filter is further able to receive session identification information associated with the client.
14. The system of claim 10, further comprising:
a processor for analyzing the first and second environmental data; and
wherein the display is further able to display the analyzed environmental data.
15. The system of claim 10, wherein the auditor capture filter is capable of storing the response to the request.
16. The system of claim 15, wherein the first environmental data includes a loading parameter.
17. The system of claim 15, wherein the second environmental data includes a loading parameter.
18. The system of claim 15, wherein the first environmental data includes a traffic volume parameter.
19. The system of claim 15, wherein the second environmental data includes a traffic volume parameter.
20. The system of claim 15, wherein the first environmental data includes a status parameter.
21. The system of claim 15, wherein the second environmental data includes a status parameter.
22. The system of claim 15, wherein the first environmental data includes data available on the communication link.
23. The system of claim 15, wherein the second environmental data includes data available on the communication link.
24. The system of claim 15, wherein the first environmental data includes data known by the client.
25. The system of claim 15, wherein the second environmental data includes data known by the client.
26. The system of claim 15, wherein the first environmental data includes data known by the server.
27. The system of claim 15, wherein the second environmental data includes data known by the server.
28. The system of claim 15, wherein the first environmental data includes data that identifies a date.
29. The system of claim 15, wherein the second environmental data includes data that identifies a date.
30. The system of claim 15, wherein the first environmental data includes data that is derived from the client.
31. The system of claim 15, wherein the second environmental data includes data that is derived from the client.
32. The system of claim 15, wherein the first environmental data includes data that is derived from the server.
33. The system of claim 15, wherein the second environmental data includes data that is derived from the server.
34. The system of claim 15, wherein the first environmental data includes data that identifies a communication protocol.
35. The system of claim 15, wherein the second environmental data includes data that identifies a communication protocol.
36. The system of claim 15, wherein the first environmental data includes data that indicates if an error occurred.
37. The system of claim 15, wherein the second environmental data includes data that indicates if an error occurred.
38. The system of claim 15, wherein the first environmental data includes data that indicates if a problem occurred.
39. The system of claim 15, wherein the second environmental data includes data that indicates if a problem occurred.
40. The system of claim 15, wherein the first environmental data includes data that indicates if a purchase occurred.
41. The system of claim 15, wherein the second environmental data includes data that indicates if a purchase occurred.
42. The system of claim 15, wherein the first environmental data includes data that indicates if a purchase over a predetermined value occurred.
43. The system of claim 15, wherein the second environmental data includes data that indicates if a purchase over a predetermined value occurred.
44. The system of claim 15, wherein the first environmental data includes data related to congestion in the computer environment.
45. The system of claim 15, wherein the second environmental data includes data related to congestion in the computer environment.
46. The system of claim 15, wherein the first environmental data includes data related to congestion in the communication link.
47. The system of claim 15, wherein the second environmental data includes data related to congestion in the communication link.
48. The system of claim 15, wherein the request includes a markup language statement.
49. The system of claim 15, wherein the request includes an HTML tag.
50. The system of claim 15, wherein the request includes an XML tag.
51. The system of claim 15, wherein the request includes an SGML tag.
52. The system of claim 15, wherein the request includes information utilized by an SAP R/3 computer environment.
53. The system of claim 15, wherein the auditor capture filter is capable of monitoring the communication link to capture the request and the response.
54. The system of claim 15, wherein the auditor capture filter is capable of capturing the request after the server has received the request but before the server has processed the request.
55. The system of claim 15, wherein the auditor capture filter is capable of capturing the response to the request after the server has processed the request and determined the response to the request but before the server outputs the response to the request.
56. The system of claim 15, wherein the server provides the auditor capture filter with access to the request.
57. The system of claim 15, wherein the server provides the auditor capture filter with hooks to session data.
58. The system of claim 15, wherein the auditor capture filter is capable of capturing the request with active participation of the server.
59. The system of claim 15, wherein the auditor capture filter is capable of capturing the request directly from the communication link.
60. The system of claim 15, wherein the server passes the request to the auditor capture filter.
61. The system of claim 15, wherein the auditor capture filter captures the request directly from the communication link without cooperation from or participation by the server.
62. The system of claim 15, wherein the auditor capture filter is capable of storing the request on a disk drive.
63. The system of claim 15, wherein the auditor capture filter is capable of storing the request in RAM.
64. The system of claim 15, wherein the auditor capture filter is capable of storing the request in a database.
65. The system of claim 15, wherein the auditor capture filter is capable of storing a series of requests and responses that comprise the user session.
66. The system of claim 15, wherein the auditor capture filter is capable of storing a series of requests and responses.
67. The system of claim 15, wherein the system is capable of storing a plurality of user sessions and the system is capable of locating a user session from the plurality of stored user sessions.
68. The system of claim 15, wherein the system is capable of storing a plurality of user sessions and the system is capable of searching for a user session from the plurality of stored user sessions based upon a search parameter.
69. The system of claim 15, wherein the system is capable of storing a plurality of user sessions and the system is capable of searching for a user session from the plurality of stored user sessions based upon a date.
70. The system of claim 15, wherein the system is capable of storing a plurality of user sessions and the system is capable of searching a user session from the plurality of stored user sessions based upon a session number.
71. The system of claim 15, wherein the system is capable of storing a plurality of user sessions and the system is capable of searching for a user session from the plurality of stored user sessions based upon a keyword.
72. The system of claim 15, wherein the system is capable of storing a plurality of user sessions and the system is capable of searching for a user session from the plurality of stored user sessions based upon an identifier.
73. The system of claim 15, wherein the system is configured to extract data from the response and store the extracted data in a database.
74. The system of claim 15, wherein the system is configured to extract data from a plurality of clients and store the data in a database.
75. The system of claim 15, wherein the system is capable of storing the request into a data structure that is indexed according to session identification numbers.
76. The system of claim 15, wherein the auditor capture filter is capable of committing the request in an auditor storage only if a specified event occurs.
77. The system of claim 15, wherein the auditor capture filter is capable of committing the request in an auditor storage only if a purchase occurs.
78. The system of claim 15, wherein the auditor capture filter is capable of committing the request in an auditor storage only if a purchase over a predetermined value occurs.
79. The system of claim 15, wherein the auditor capture filter is capable of storing the request in the memory regardless of whether a specified event occurs and the auditor capture filter is capable of storing the request in a second memory only if the specified event occurs.
80. The system of claim 15, wherein the communication link is a part of the Internet.
81. The system of claim 15, wherein the client is identified to the server with a session identification identifier.
82. The system of claim 15, wherein the request includes a session identification identifier.
83. The system of claim 15, wherein session identification data is implicit, but not express, in the request.
84. The system of claim 15, wherein the system is configured to allow an analyst to determine how the client moves through a network application.
85. The system of claim 15, wherein the system is configured to display how the client moves through a network application.
86. The system of claim 15, wherein the system is configured to allow an analyst to determine how the client moves through an e-commerce Internet application.
87. The system of claim 15, wherein the system is configured to display how the client moves through an e-commerce Internet application.
88. The system of claim 15, wherein the system is configured to allow an analyst to determine how the client moves through an e-commerce network application.
89. The system of claim 15, wherein the system is configured to display how the client moves through an e-commerce network application.
90. The system of claim 15, wherein the system is configured to allow an analyst to determine how the client moves through a network application in order to make a purchase.
91. The system of claim 15, wherein the system is configured to display how the client moves through a network application in order to make a purchase.
92. The system of claim 15, wherein the system is configured to allow an analyst to isolate an error.
93. The system of claim 15, wherein the system is configured to allow an analyst to recreate the user session in an effort to identify a problem with a network application.
94. The system of claim 15, wherein the system is configured to allow an analyst to step through a plurality of requests and responses in the time sequence that the requests and responses occurred.
95. The system of claim 15, wherein the system is configured to generate a plurality of screens that were displayed during the user session.
96. The system of claim 15, wherein the system is configured to allow an analyst to evaluate any request made by the client and to evaluate any response to any request.
97. The system of claim 15, wherein the system is configured to allow an analyst to evaluate the request after the user session is complete.
98. The system of claim 15, wherein the system is configured to allow an analyst to evaluate the request while the user session is occurring.
99. The system of claim 15, wherein the system includes an analyzer that retrieves a plurality of requests from an auditor storage.
100. The system of claim 15, wherein the system includes an analyzer that retrieves a plurality of requests from the auditor capture filter.
101. The system of claim 15, wherein the system is configured to perform an analysis based at least in part upon either the first environmental data or the second environmental data.
102. The system of claim 15, wherein the system is capable of visually recreating a user session based at least in part upon data entered by a user.
103. The system of claim 15, wherein the system is configured to compare data obtained from different clients.
104. The system of claim 15, wherein the system is configured to compare data obtained from different servers.
105. The system of claim 15, wherein the system is configured to compare data obtained from different network applications.
106. The system of claim 15, wherein the system is configured to perform a session-specific analysis.
107. The system of claim 15, wherein the system is capable of allowing an analyst to dynamically analyze a plurality of user sessions from a plurality of clients.
108. The system of claim 15, wherein the system is capable of displaying a plurality of user sessions from a plurality of clients.
109. The system of claim 15, wherein the system is capable of allowing an analyst to dynamically analyze a plurality of user sessions from a plurality of servers.
110. The system of claim 15, wherein the system is capable of displaying a plurality of user sessions from a plurality of servers.
111. The system of claim 15, wherein the system is capable of allowing an analyst to dynamically analyze user sessions from all clients that accessed a particular Web site.
112. The system of claim 15, wherein the system is capable of allowing an analyst to dynamically analyze user sessions from all clients that accessed a particular Web site during a specific time period.
113. The system of claim 15, wherein the system is capable of displaying user sessions from all clients that accessed a particular Web site during a specific time period.
114. The system of claim 15, wherein the system is capable of allowing an analyst to analyze user sessions for a client that accessed multiple Web sites hosted on different servers.
115. The system of claim 15, wherein the system is capable of displaying user sessions for a client that accessed multiple Web sites hosted on different servers.
116. The system of claim 15, wherein the system is capable of allowing an analyst to analyze all user sessions that resulted in a purchase of goods.
117. The system of claim 15, wherein the system is capable of displaying all user sessions that resulted in a purchase of goods.
118. The system of claim 15, wherein the system is capable of allowing an analyst to analyze all user sessions that resulted in a purchase of goods during a specific time interval.
119. The system of claim 15, wherein the system is capable of displaying all user sessions that resulted in a purchase of goods during a specific time interval.
120. The system of claim 15, wherein the system includes a database that contains data that indicates whether a user session resulted in a purchase of goods.
121. The system of claim 15, wherein the system is capable of calculating congestion in the computer environment.
122. The system of claim 15, wherein the system is capable of calculating congestion in the communication link.
123. The system of claim 15, wherein the system is capable of displaying congestion in the computer environment.
124. The system of claim 15, wherein the system is capable of displaying congestion in the communication link.
125. The system of claim 15, wherein the system is capable of scanning a database to determine if the database includes a field that could be changed by a request from the client.
126. The system of claim 15, wherein the system is capable of displaying data entered by a user of the client.
127. The system of claim 15, wherein the system is capable of displaying data entered by a user of the client in the same sequence that the data was entered by the user during a user session.
128. The system of claim 15, wherein the system is capable of displaying some but not all data entered by a user of the client.
129. The system of claim 15, wherein the system is capable of displaying all data entered by a user of the client except user-entered passwords.
130. The system of claim 15, wherein the auditor capture filter is capable of monitoring the communication link to capture the request and the response, the auditor capture filter is capable of storing the response to the request on a disk drive only if a specified event occurs, the first environmental variable is a loading parameter, and the request includes an HTML tag.
US11/247,001 1998-07-10 2005-10-07 Systems and methods for recording and visually recreating sessions in a client-server environment Expired - Lifetime USRE41903E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/247,001 USRE41903E1 (en) 1998-07-10 2005-10-07 Systems and methods for recording and visually recreating sessions in a client-server environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/113,376 US6286030B1 (en) 1998-07-10 1998-07-10 Systems and methods for recording and visually recreating sessions in a client-server environment
US11/247,001 USRE41903E1 (en) 1998-07-10 2005-10-07 Systems and methods for recording and visually recreating sessions in a client-server environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/113,376 Reissue US6286030B1 (en) 1998-07-10 1998-07-10 Systems and methods for recording and visually recreating sessions in a client-server environment

Publications (1)

Publication Number Publication Date
USRE41903E1 true USRE41903E1 (en) 2010-10-26

Family

ID=22349052

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/113,376 Ceased US6286030B1 (en) 1998-07-10 1998-07-10 Systems and methods for recording and visually recreating sessions in a client-server environment
US11/247,001 Expired - Lifetime USRE41903E1 (en) 1998-07-10 2005-10-07 Systems and methods for recording and visually recreating sessions in a client-server environment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/113,376 Ceased US6286030B1 (en) 1998-07-10 1998-07-10 Systems and methods for recording and visually recreating sessions in a client-server environment

Country Status (9)

Country Link
US (2) US6286030B1 (en)
EP (1) EP1097428B1 (en)
AT (1) ATE219586T1 (en)
AU (1) AU772016B2 (en)
CA (1) CA2335125C (en)
DE (2) DE19981276D2 (en)
DK (1) DK1097428T3 (en)
IL (1) IL140167A0 (en)
WO (1) WO2000003323A2 (en)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063968A1 (en) * 2007-08-31 2009-03-05 Tealeaf Technology, Inc. Replaying captured network interactions
US20110029665A1 (en) * 2008-08-14 2011-02-03 Tealeaf Technology, Inc. Dynamically configurable session agent
US7970722B1 (en) 1999-11-08 2011-06-28 Aloft Media, Llc System, method and computer program product for a collaborative decision platform
US8127000B2 (en) 2006-06-30 2012-02-28 Tealeaf Technology, Inc. Method and apparatus for monitoring and synchronizing user interface events with network data
US8533532B2 (en) 2010-06-23 2013-09-10 International Business Machines Corporation System identifying and inferring web session events
WO2013165536A1 (en) 2012-05-01 2013-11-07 International Business Machines Corporation Automated analysis system for modeling online business behavior and detecting outliers
US8868533B2 (en) 2006-06-30 2014-10-21 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US8914736B2 (en) 2010-03-30 2014-12-16 International Business Machines Corporation On-page manipulation and real-time replacement of content
US8930818B2 (en) 2009-03-31 2015-01-06 International Business Machines Corporation Visualization of website analytics
US8949406B2 (en) 2008-08-14 2015-02-03 International Business Machines Corporation Method and system for communication between a client system and a server system
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US9535720B2 (en) 2012-11-13 2017-01-03 International Business Machines Corporation System for capturing and replaying screen gestures
US9596253B2 (en) 2014-10-30 2017-03-14 Splunk Inc. Capture triggers for capturing network data
US9635094B2 (en) 2012-10-15 2017-04-25 International Business Machines Corporation Capturing and replaying application sessions using resource files
US9762443B2 (en) 2014-04-15 2017-09-12 Splunk Inc. Transformation of network data at remote capture agents
US9838512B2 (en) 2014-10-30 2017-12-05 Splunk Inc. Protocol-based capture of network data using remote capture agents
US9923767B2 (en) 2014-04-15 2018-03-20 Splunk Inc. Dynamic configuration of remote capture agents for network data capture
US9934320B2 (en) 2009-03-31 2018-04-03 International Business Machines Corporation Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions
US10032134B2 (en) 2014-10-02 2018-07-24 Sap Se Automated decision making
US10127273B2 (en) 2014-04-15 2018-11-13 Splunk Inc. Distributed processing of network data using remote capture agents
US10334085B2 (en) 2015-01-29 2019-06-25 Splunk Inc. Facilitating custom content extraction from network packets
US10360196B2 (en) 2014-04-15 2019-07-23 Splunk Inc. Grouping and managing event streams generated from captured network data
US10366101B2 (en) 2014-04-15 2019-07-30 Splunk Inc. Bidirectional linking of ephemeral event streams to creators of the ephemeral event streams
US10462004B2 (en) 2014-04-15 2019-10-29 Splunk Inc. Visualizations of statistics associated with captured network data
US10474735B2 (en) 2012-11-19 2019-11-12 Acoustic, L.P. Dynamic zooming of content with overlays
US10523521B2 (en) 2014-04-15 2019-12-31 Splunk Inc. Managing ephemeral event streams generated from captured network data
US10693742B2 (en) 2014-04-15 2020-06-23 Splunk Inc. Inline visualizations of metrics related to captured network data
US10700950B2 (en) 2014-04-15 2020-06-30 Splunk Inc. Adjusting network data storage based on event stream statistics
US11086897B2 (en) 2014-04-15 2021-08-10 Splunk Inc. Linking event streams across applications of a data intake and query system
US11281643B2 (en) 2014-04-15 2022-03-22 Splunk Inc. Generating event streams including aggregated values from monitored network data

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286030B1 (en) 1998-07-10 2001-09-04 Sap Aktiengesellschaft Systems and methods for recording and visually recreating sessions in a client-server environment
US7200804B1 (en) * 1998-12-08 2007-04-03 Yodlee.Com, Inc. Method and apparatus for providing automation to an internet navigation application
US8321411B2 (en) 1999-03-23 2012-11-27 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US6567796B1 (en) * 1999-03-23 2003-05-20 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US9208213B2 (en) 1999-05-28 2015-12-08 Microstrategy, Incorporated System and method for network user interface OLAP report formatting
US8607138B2 (en) 1999-05-28 2013-12-10 Microstrategy, Incorporated System and method for OLAP report generation with spreadsheet report within the network user interface
US6957255B1 (en) * 1999-06-28 2005-10-18 Amdocs (Israel) Ltd. Method and apparatus for session reconstruction and accounting involving VoIP calls
US6836537B1 (en) 1999-09-13 2004-12-28 Microstrategy Incorporated System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule
US6850603B1 (en) * 1999-09-13 2005-02-01 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized dynamic and interactive voice services
US8130918B1 (en) 1999-09-13 2012-03-06 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with closed loop transaction processing
US6587547B1 (en) 1999-09-13 2003-07-01 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time drilling via telephone
US6964012B1 (en) 1999-09-13 2005-11-08 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts
US6829334B1 (en) 1999-09-13 2004-12-07 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control
US7340040B1 (en) * 1999-09-13 2008-03-04 Microstrategy, Incorporated System and method for real-time, personalized, dynamic, interactive voice services for corporate-analysis related information
GB0000735D0 (en) 2000-01-13 2000-03-08 Eyretel Ltd System and method for analysing communication streams
US7899180B2 (en) 2000-01-13 2011-03-01 Verint Systems Inc. System and method for analysing communications streams
US6978304B2 (en) * 2000-05-26 2005-12-20 Pearl Software, Inc. Method of remotely monitoring an internet session
US7266510B1 (en) * 2000-09-01 2007-09-04 International Business Machines Corporation Method for graphically representing clickstream data of a shopping session on a network with a parallel coordinate system
US6996536B1 (en) 2000-09-01 2006-02-07 International Business Machines Corporation System and method for visually analyzing clickstream data with a parallel coordinate system
US7287071B2 (en) 2000-09-28 2007-10-23 Vignette Corporation Transaction management system
US7325190B1 (en) 2000-10-02 2008-01-29 Boehmer Tiffany D Interface system and method of building rules and constraints for a resource scheduling system
US20020065912A1 (en) * 2000-11-30 2002-05-30 Catchpole Lawrence W. Web session collaboration
US20020143925A1 (en) * 2000-12-29 2002-10-03 Ncr Corporation Identifying web-log data representing a single user session
US7958237B2 (en) 2001-01-23 2011-06-07 Pearl Software, Inc. Method for managing computer network access
GB0103381D0 (en) 2001-02-12 2001-03-28 Eyretel Ltd Packet data recording method and system
US8015042B2 (en) 2001-04-02 2011-09-06 Verint Americas Inc. Methods for long-range contact center staff planning utilizing discrete event simulation
US6952732B2 (en) 2001-04-30 2005-10-04 Blue Pumpkin Software, Inc. Method and apparatus for multi-contact scheduling
US20020147776A1 (en) * 2001-04-05 2002-10-10 Cpulse Llc System and method for monitoring consumer preferences
US6959405B2 (en) 2001-04-18 2005-10-25 Blue Pumpkin Software, Inc. Method and system for concurrent error identification in resource scheduling
US20020188732A1 (en) * 2001-06-06 2002-12-12 Buckman Charles R. System and method for allocating bandwidth across a network
US7095715B2 (en) * 2001-07-02 2006-08-22 3Com Corporation System and method for processing network packet flows
US20030033519A1 (en) * 2001-08-13 2003-02-13 Tippingpoint Technologies,Inc. System and method for programming network nodes
US6898599B2 (en) * 2001-10-26 2005-05-24 Sun Microsystems, Inc. Method and system for automated web reports
US7239639B2 (en) * 2001-12-27 2007-07-03 3Com Corporation System and method for dynamically constructing packet classification rules
US7882212B1 (en) 2002-01-28 2011-02-01 Verint Systems Inc. Methods and devices for archiving recorded interactions and retrieving stored recorded interactions
US7424715B1 (en) * 2002-01-28 2008-09-09 Verint Americas Inc. Method and system for presenting events associated with recorded data exchanged between a server and a user
US7219138B2 (en) * 2002-01-31 2007-05-15 Witness Systems, Inc. Method, apparatus, and system for capturing data exchanged between a server and a user
US20030145140A1 (en) * 2002-01-31 2003-07-31 Christopher Straut Method, apparatus, and system for processing data captured during exchanges between a server and a user
US9008300B2 (en) * 2002-01-28 2015-04-14 Verint Americas Inc Complex recording trigger
US7149788B1 (en) * 2002-01-28 2006-12-12 Witness Systems, Inc. Method and system for providing access to captured multimedia data from a multimedia player
US6874089B2 (en) * 2002-02-25 2005-03-29 Network Resonance, Inc. System, method and computer program product for guaranteeing electronic transactions
US7103659B2 (en) * 2002-04-09 2006-09-05 Cisco Technology, Inc. System and method for monitoring information in a network environment
DE10230883A1 (en) * 2002-07-09 2004-02-19 Siemens Ag Automatic evaluation of properties of a system based on process logs
GB0219493D0 (en) 2002-08-21 2002-10-02 Eyretel Plc Method and system for communications monitoring
US7171478B2 (en) * 2002-10-25 2007-01-30 Sap Aktiengesellschaft Session coupling
US7949765B2 (en) * 2002-12-02 2011-05-24 Sap Aktiengesellschaft Data structure for analyzing user sessions
US20040109011A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation Method, apparatus, and program for automatic client side refresh of advanced web pages
US20040181515A1 (en) * 2003-03-13 2004-09-16 International Business Machines Corporation Group administration of universal resource identifiers with members identified in search result
US20040179035A1 (en) * 2003-03-13 2004-09-16 International Business Machines Corporation Group administration of universal resource identifiers with asynchronous playback
US7543051B2 (en) * 2003-05-30 2009-06-02 Borland Software Corporation Method of non-intrusive analysis of secure and non-secure web application traffic in real-time
US9047624B1 (en) * 2004-08-16 2015-06-02 Advertising.Com Llc Auditing of content related events
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US8296441B2 (en) 2005-01-14 2012-10-23 Citrix Systems, Inc. Methods and systems for joining a real-time session of presentation layer protocol data
US7831728B2 (en) * 2005-01-14 2010-11-09 Citrix Systems, Inc. Methods and systems for real-time seeking during real-time playback of a presentation layer protocol data stream
US8145777B2 (en) 2005-01-14 2012-03-27 Citrix Systems, Inc. Method and system for real-time seeking during playback of remote presentation protocols
US8935316B2 (en) * 2005-01-14 2015-01-13 Citrix Systems, Inc. Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data
US8340130B2 (en) * 2005-01-14 2012-12-25 Citrix Systems, Inc. Methods and systems for generating playback instructions for rendering of a recorded computer session
US8230096B2 (en) 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US7996549B2 (en) * 2005-01-14 2011-08-09 Citrix Systems, Inc. Methods and systems for recording and real-time playback of presentation layer protocol data
US8200828B2 (en) 2005-01-14 2012-06-12 Citrix Systems, Inc. Systems and methods for single stack shadowing
US20060265089A1 (en) * 2005-05-18 2006-11-23 Kelly Conway Method and software for analyzing voice data of a telephonic communication and generating a retention strategy therefrom
US7995717B2 (en) 2005-05-18 2011-08-09 Mattersight Corporation Method and system for analyzing separated voice data of a telephonic communication between a customer and a contact center by applying a psychological behavioral model thereto
US8094803B2 (en) 2005-05-18 2012-01-10 Mattersight Corporation Method and system for analyzing separated voice data of a telephonic communication between a customer and a contact center by applying a psychological behavioral model thereto
US8094790B2 (en) 2005-05-18 2012-01-10 Mattersight Corporation Method and software for training a customer service representative by analysis of a telephonic interaction between a customer and a contact center
US8191008B2 (en) 2005-10-03 2012-05-29 Citrix Systems, Inc. Simulating multi-monitor functionality in a single monitor environment
US8108237B2 (en) 2006-02-22 2012-01-31 Verint Americas, Inc. Systems for integrating contact center monitoring, training and scheduling
US7853006B1 (en) 2006-02-22 2010-12-14 Verint Americas Inc. Systems and methods for scheduling call center agents using quality data and correlation-based discovery
US8112306B2 (en) 2006-02-22 2012-02-07 Verint Americas, Inc. System and method for facilitating triggers and workflows in workforce optimization
US7864946B1 (en) 2006-02-22 2011-01-04 Verint Americas Inc. Systems and methods for scheduling call center agents using quality data and correlation-based discovery
US8160233B2 (en) 2006-02-22 2012-04-17 Verint Americas Inc. System and method for detecting and displaying business transactions
US8112298B2 (en) 2006-02-22 2012-02-07 Verint Americas, Inc. Systems and methods for workforce optimization
US8670552B2 (en) 2006-02-22 2014-03-11 Verint Systems, Inc. System and method for integrated display of multiple types of call agent data
US8117064B2 (en) 2006-02-22 2012-02-14 Verint Americas, Inc. Systems and methods for workforce optimization and analytics
US7734783B1 (en) 2006-03-21 2010-06-08 Verint Americas Inc. Systems and methods for determining allocations for distributed multi-site contact centers
US8126134B1 (en) 2006-03-30 2012-02-28 Verint Americas, Inc. Systems and methods for scheduling of outbound agents
US7792278B2 (en) 2006-03-31 2010-09-07 Verint Americas Inc. Integration of contact center surveys
US8000465B2 (en) 2006-03-31 2011-08-16 Verint Americas, Inc. Systems and methods for endpoint recording using gateways
US8594313B2 (en) 2006-03-31 2013-11-26 Verint Systems, Inc. Systems and methods for endpoint recording using phones
US7672746B1 (en) 2006-03-31 2010-03-02 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US8130938B2 (en) 2006-03-31 2012-03-06 Verint Americas, Inc. Systems and methods for endpoint recording using recorders
US7701972B1 (en) 2006-03-31 2010-04-20 Verint Americas Inc. Internet protocol analyzing
US7826608B1 (en) 2006-03-31 2010-11-02 Verint Americas Inc. Systems and methods for calculating workforce staffing statistics
US8442033B2 (en) * 2006-03-31 2013-05-14 Verint Americas, Inc. Distributed voice over internet protocol recording
US7852994B1 (en) 2006-03-31 2010-12-14 Verint Americas Inc. Systems and methods for recording audio
US8254262B1 (en) 2006-03-31 2012-08-28 Verint Americas, Inc. Passive recording and load balancing
US7774854B1 (en) 2006-03-31 2010-08-10 Verint Americas Inc. Systems and methods for protecting information
US7822018B2 (en) 2006-03-31 2010-10-26 Verint Americas Inc. Duplicate media stream
US7680264B2 (en) 2006-03-31 2010-03-16 Verint Americas Inc. Systems and methods for endpoint recording using a conference bridge
US7995612B2 (en) 2006-03-31 2011-08-09 Verint Americas, Inc. Systems and methods for capturing communication signals [32-bit or 128-bit addresses]
US8204056B2 (en) 2006-03-31 2012-06-19 Verint Americas, Inc. Systems and methods for endpoint recording using a media application server
US8155275B1 (en) 2006-04-03 2012-04-10 Verint Americas, Inc. Systems and methods for managing alarms from recorders
EP1850245A1 (en) * 2006-04-28 2007-10-31 Sap Ag Systems and methods for providing a generic audit trail service
US8331549B2 (en) 2006-05-01 2012-12-11 Verint Americas Inc. System and method for integrated workforce and quality management
US8396732B1 (en) 2006-05-08 2013-03-12 Verint Americas Inc. System and method for integrated workforce and analytics
US7817795B2 (en) 2006-05-10 2010-10-19 Verint Americas, Inc. Systems and methods for data synchronization in a customer center
US7660407B2 (en) 2006-06-27 2010-02-09 Verint Americas Inc. Systems and methods for scheduling contact center agents
US7660406B2 (en) 2006-06-27 2010-02-09 Verint Americas Inc. Systems and methods for integrating outsourcers
US7903568B2 (en) 2006-06-29 2011-03-08 Verint Americas Inc. Systems and methods for providing recording as a network service
US7660307B2 (en) 2006-06-29 2010-02-09 Verint Americas Inc. Systems and methods for providing recording as a network service
US7853800B2 (en) 2006-06-30 2010-12-14 Verint Americas Inc. Systems and methods for a secure recording environment
US20080052535A1 (en) * 2006-06-30 2008-02-28 Witness Systems, Inc. Systems and Methods for Recording Encrypted Interactions
US8131578B2 (en) 2006-06-30 2012-03-06 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US7769176B2 (en) 2006-06-30 2010-08-03 Verint Americas Inc. Systems and methods for a secure recording environment
US7966397B2 (en) 2006-06-30 2011-06-21 Verint Americas Inc. Distributive data capture
US7881471B2 (en) * 2006-06-30 2011-02-01 Verint Systems Inc. Systems and methods for recording an encrypted interaction
US7848524B2 (en) 2006-06-30 2010-12-07 Verint Americas Inc. Systems and methods for a secure recording environment
US7953621B2 (en) 2006-06-30 2011-05-31 Verint Americas Inc. Systems and methods for displaying agent activity exceptions
JP5199262B2 (en) * 2006-09-22 2013-05-15 ポーラス・メディア・コーポレイション Improved membrane module
US7953750B1 (en) * 2006-09-28 2011-05-31 Verint Americas, Inc. Systems and methods for storing and searching data in a customer center environment
US7930314B2 (en) 2006-09-28 2011-04-19 Verint Americas Inc. Systems and methods for storing and searching data in a customer center environment
US7881216B2 (en) 2006-09-29 2011-02-01 Verint Systems Inc. Systems and methods for analyzing communication sessions using fragments
US8645179B2 (en) 2006-09-29 2014-02-04 Verint Americas Inc. Systems and methods of partial shift swapping
US7873156B1 (en) 2006-09-29 2011-01-18 Verint Americas Inc. Systems and methods for analyzing contact center interactions
US7920482B2 (en) 2006-09-29 2011-04-05 Verint Americas Inc. Systems and methods for monitoring information corresponding to communication sessions
US8005676B2 (en) 2006-09-29 2011-08-23 Verint Americas, Inc. Speech analysis using statistical learning
US7965828B2 (en) 2006-09-29 2011-06-21 Verint Americas Inc. Call control presence
US7899176B1 (en) 2006-09-29 2011-03-01 Verint Americas Inc. Systems and methods for discovering customer center information
US7752043B2 (en) 2006-09-29 2010-07-06 Verint Americas Inc. Multi-pass speech analytics
US8199886B2 (en) 2006-09-29 2012-06-12 Verint Americas, Inc. Call control recording
US7570755B2 (en) 2006-09-29 2009-08-04 Verint Americas Inc. Routine communication sessions for recording
US8837697B2 (en) 2006-09-29 2014-09-16 Verint Americas Inc. Call control presence and recording
US8068602B1 (en) 2006-09-29 2011-11-29 Verint Americas, Inc. Systems and methods for recording using virtual machines
US7991613B2 (en) 2006-09-29 2011-08-02 Verint Americas Inc. Analyzing audio components and generating text with integrated additional session information
US7899178B2 (en) 2006-09-29 2011-03-01 Verint Americas Inc. Recording invocation of communication sessions
US7885813B2 (en) 2006-09-29 2011-02-08 Verint Systems Inc. Systems and methods for analyzing communication sessions
US8130926B2 (en) 2006-12-08 2012-03-06 Verint Americas, Inc. Systems and methods for recording data
US8280011B2 (en) * 2006-12-08 2012-10-02 Verint Americas, Inc. Recording in a distributed environment
US8130925B2 (en) 2006-12-08 2012-03-06 Verint Americas, Inc. Systems and methods for recording
US8023639B2 (en) 2007-03-30 2011-09-20 Mattersight Corporation Method and system determining the complexity of a telephonic communication received by a contact center
US8743730B2 (en) 2007-03-30 2014-06-03 Verint Americas Inc. Systems and methods for recording resource association for a communications environment
US8170184B2 (en) 2007-03-30 2012-05-01 Verint Americas, Inc. Systems and methods for recording resource association in a recording environment
US8718262B2 (en) 2007-03-30 2014-05-06 Mattersight Corporation Method and system for automatically routing a telephonic communication base on analytic attributes associated with prior telephonic communication
US7869586B2 (en) 2007-03-30 2011-01-11 Eloyalty Corporation Method and system for aggregating and analyzing data relating to a plurality of interactions between a customer and a contact center and generating business process analytics
US9106737B2 (en) 2007-03-30 2015-08-11 Verint Americas, Inc. Systems and methods for recording resource association for recording
US8437465B1 (en) 2007-03-30 2013-05-07 Verint Americas, Inc. Systems and methods for capturing communications data
US7809868B1 (en) * 2007-04-23 2010-10-05 Network Appliance, Inc. System and method for filtering information in a data storage system
US8315901B2 (en) 2007-05-30 2012-11-20 Verint Systems Inc. Systems and methods of automatically scheduling a workforce
US10419611B2 (en) 2007-09-28 2019-09-17 Mattersight Corporation System and methods for determining trends in electronic communications
US8401155B1 (en) 2008-05-23 2013-03-19 Verint Americas, Inc. Systems and methods for secure recording in a customer center environment
US8719016B1 (en) 2009-04-07 2014-05-06 Verint Americas Inc. Speech analytics system and system and method for determining structured speech
US10115065B1 (en) 2009-10-30 2018-10-30 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US8301653B2 (en) * 2010-01-25 2012-10-30 Glenn Adamousky System and method for capturing and reporting online sessions
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
US9191510B2 (en) 2013-03-14 2015-11-17 Mattersight Corporation Methods and system for analyzing multichannel electronic communication data
GB201415860D0 (en) 2014-09-08 2014-10-22 User Replay Ltd Systems and methods for recording and recreating interactive user-sessions involving an on-line server
US20160162168A1 (en) * 2014-12-05 2016-06-09 Microsoft Technology Licensing, Llc Interaction sensing and recording of a process to control a computer system
US20160162167A1 (en) * 2014-12-05 2016-06-09 Microsoft Technology Licensing, Llc Playback and automatic execution of a process to control a computer system
US10154103B2 (en) * 2015-09-23 2018-12-11 At&T Intellectual Property I, L.P. System and method for exchanging a history of user activity information
US10366458B2 (en) 2017-03-01 2019-07-30 Bank Of America Corporation Live reporting of check image keying issues

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB326283A (en) * 1929-01-07 1930-03-13 Jacob Sieber Improvements in and connected with sign projecting apparatus
EP0032683A1 (en) 1980-01-17 1981-07-29 Henkel Kommanditgesellschaft auf Aktien Closure for the discharge opening of a liquid container
US5463547A (en) 1990-04-19 1995-10-31 New York Mercantile Exchange Portable trade recordation system including means for abbreviated entry of data
US5577254A (en) 1993-06-29 1996-11-19 Bull Hn Information Systems Inc. Method and apparatus for capturing the presentation of an interactive user session, monitoring, replaying and joining sessions
US5715314A (en) 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
WO1998025372A2 (en) 1996-11-22 1998-06-11 Voltaire Advanced Data Security Ltd. Information security method and apparatus
WO1998026571A2 (en) 1996-12-11 1998-06-18 At & T Corp. Method and apparatus for secure and auditable metering over a communications network
WO1998036520A1 (en) 1997-02-13 1998-08-20 Secure Transaction Solutions, Llc Cryptographic key split combiner
US5809250A (en) 1996-10-23 1998-09-15 Intel Corporation Methods for creating and sharing replayable modules representive of Web browsing session
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5832458A (en) 1995-06-07 1998-11-03 Electronic Data Systems Corporation System and method for electronically auditing point-of-sale transactions
US5848396A (en) 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5867578A (en) 1995-06-05 1999-02-02 Certco Llc Adaptive multi-step digital signature system and method of operation thereof
US5903652A (en) 1996-11-25 1999-05-11 Microsoft Corporation System and apparatus for monitoring secure information in a computer network
US5951643A (en) 1997-10-06 1999-09-14 Ncr Corporation Mechanism for dependably organizing and managing information for web synchronization and tracking among multiple browsers
WO2000013371A1 (en) 1998-08-28 2000-03-09 Sap Aktiengesellschaft System and method for controlling the operational sequence in network applications
US6151601A (en) 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
EP1097428B1 (en) 1998-07-10 2002-06-19 Sap Ag System and method for auditing network applications
GB0326283D0 (en) * 2003-11-11 2003-12-17 Sobola Olusegun Motor vehicle protection device
US6714931B1 (en) 1998-04-29 2004-03-30 Ncr Corporation Method and apparatus for forming user sessions and presenting internet data according to the user sessions
US7272639B1 (en) 1995-06-07 2007-09-18 Soverain Software Llc Internet server access control and monitoring systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8801628D0 (en) * 1988-01-26 1988-02-24 British Telecomm Evaluation system

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB326283A (en) * 1929-01-07 1930-03-13 Jacob Sieber Improvements in and connected with sign projecting apparatus
EP0032683A1 (en) 1980-01-17 1981-07-29 Henkel Kommanditgesellschaft auf Aktien Closure for the discharge opening of a liquid container
US5463547A (en) 1990-04-19 1995-10-31 New York Mercantile Exchange Portable trade recordation system including means for abbreviated entry of data
US5577254A (en) 1993-06-29 1996-11-19 Bull Hn Information Systems Inc. Method and apparatus for capturing the presentation of an interactive user session, monitoring, replaying and joining sessions
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5715314A (en) 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
US5909492A (en) 1994-10-24 1999-06-01 Open Market, Incorporated Network sales system
US5867578A (en) 1995-06-05 1999-02-02 Certco Llc Adaptive multi-step digital signature system and method of operation thereof
US7272639B1 (en) 1995-06-07 2007-09-18 Soverain Software Llc Internet server access control and monitoring systems
US5832458A (en) 1995-06-07 1998-11-03 Electronic Data Systems Corporation System and method for electronically auditing point-of-sale transactions
US5848396A (en) 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5809250A (en) 1996-10-23 1998-09-15 Intel Corporation Methods for creating and sharing replayable modules representive of Web browsing session
WO1998025372A2 (en) 1996-11-22 1998-06-11 Voltaire Advanced Data Security Ltd. Information security method and apparatus
US5903652A (en) 1996-11-25 1999-05-11 Microsoft Corporation System and apparatus for monitoring secure information in a computer network
WO1998026571A2 (en) 1996-12-11 1998-06-18 At & T Corp. Method and apparatus for secure and auditable metering over a communications network
WO1998036520A1 (en) 1997-02-13 1998-08-20 Secure Transaction Solutions, Llc Cryptographic key split combiner
US5951643A (en) 1997-10-06 1999-09-14 Ncr Corporation Mechanism for dependably organizing and managing information for web synchronization and tracking among multiple browsers
US6151601A (en) 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
US6714931B1 (en) 1998-04-29 2004-03-30 Ncr Corporation Method and apparatus for forming user sessions and presenting internet data according to the user sessions
EP1097428B1 (en) 1998-07-10 2002-06-19 Sap Ag System and method for auditing network applications
WO2000013371A1 (en) 1998-08-28 2000-03-09 Sap Aktiengesellschaft System and method for controlling the operational sequence in network applications
US6286098B1 (en) 1998-08-28 2001-09-04 Sap Aktiengesellschaft System and method for encrypting audit information in network applications
GB0326283D0 (en) * 2003-11-11 2003-12-17 Sobola Olusegun Motor vehicle protection device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Bishop, Matt et al., "A Model of Security Monitoring", Department of Mathematics and Computer Science, Dartmouth College, pp. 46-52, undated.
Holloway et al., "Cryptographic Initialization Test", IBM Technical Disclosure Bulletin, pp. 195-198, Feb. 1991.
Smith, John et al., "Automated Protocol Analysis", Human-Computer Interactions, 1993, vol. 8, pp. 101-145.

Cited By (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970722B1 (en) 1999-11-08 2011-06-28 Aloft Media, Llc System, method and computer program product for a collaborative decision platform
US8005777B1 (en) 1999-11-08 2011-08-23 Aloft Media, Llc System, method and computer program product for a collaborative decision platform
US8160988B1 (en) 1999-11-08 2012-04-17 Aloft Media, Llc System, method and computer program product for a collaborative decision platform
US9842093B2 (en) 2006-06-30 2017-12-12 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US9495340B2 (en) 2006-06-30 2016-11-15 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US8868533B2 (en) 2006-06-30 2014-10-21 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US8127000B2 (en) 2006-06-30 2012-02-28 Tealeaf Technology, Inc. Method and apparatus for monitoring and synchronizing user interface events with network data
US8335848B2 (en) 2006-06-30 2012-12-18 Tealeaf Technology, Inc. Method and apparatus for monitoring and synchronizing user interface events with network data
US20090063968A1 (en) * 2007-08-31 2009-03-05 Tealeaf Technology, Inc. Replaying captured network interactions
US8042055B2 (en) 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions
US8990714B2 (en) 2007-08-31 2015-03-24 International Business Machines Corporation Replaying captured network interactions
US9207955B2 (en) 2008-08-14 2015-12-08 International Business Machines Corporation Dynamically configurable session agent
US8583772B2 (en) 2008-08-14 2013-11-12 International Business Machines Corporation Dynamically configurable session agent
US8898275B2 (en) 2008-08-14 2014-11-25 International Business Machines Corporation Dynamically configurable session agent
US9787803B2 (en) 2008-08-14 2017-10-10 International Business Machines Corporation Dynamically configurable session agent
US20110029665A1 (en) * 2008-08-14 2011-02-03 Tealeaf Technology, Inc. Dynamically configurable session agent
US8949406B2 (en) 2008-08-14 2015-02-03 International Business Machines Corporation Method and system for communication between a client system and a server system
US8930818B2 (en) 2009-03-31 2015-01-06 International Business Machines Corporation Visualization of website analytics
US10521486B2 (en) 2009-03-31 2019-12-31 Acoustic, L.P. Method and apparatus for using proxies to interact with webpage analytics
US9934320B2 (en) 2009-03-31 2018-04-03 International Business Machines Corporation Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions
US8914736B2 (en) 2010-03-30 2014-12-16 International Business Machines Corporation On-page manipulation and real-time replacement of content
US8533532B2 (en) 2010-06-23 2013-09-10 International Business Machines Corporation System identifying and inferring web session events
WO2013165536A1 (en) 2012-05-01 2013-11-07 International Business Machines Corporation Automated analysis system for modeling online business behavior and detecting outliers
US10003671B2 (en) 2012-10-15 2018-06-19 International Business Machines Corporation Capturing and replaying application sessions using resource files
US10523784B2 (en) 2012-10-15 2019-12-31 Acoustic, L.P. Capturing and replaying application sessions using resource files
US9635094B2 (en) 2012-10-15 2017-04-25 International Business Machines Corporation Capturing and replaying application sessions using resource files
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US10474840B2 (en) 2012-10-23 2019-11-12 Acoustic, L.P. Method and apparatus for generating privacy profiles
US9535720B2 (en) 2012-11-13 2017-01-03 International Business Machines Corporation System for capturing and replaying screen gestures
US10474735B2 (en) 2012-11-19 2019-11-12 Acoustic, L.P. Dynamic zooming of content with overlays
US11818018B1 (en) 2014-04-15 2023-11-14 Splunk Inc. Configuring event streams based on identified security risks
US11716248B1 (en) 2014-04-15 2023-08-01 Splunk Inc. Selective event stream data storage based on network traffic volume
US10127273B2 (en) 2014-04-15 2018-11-13 Splunk Inc. Distributed processing of network data using remote capture agents
US9923767B2 (en) 2014-04-15 2018-03-20 Splunk Inc. Dynamic configuration of remote capture agents for network data capture
US10257059B2 (en) 2014-04-15 2019-04-09 Splunk Inc. Transforming event data using remote capture agents and transformation servers
US11451453B2 (en) 2014-04-15 2022-09-20 Splunk Inc. Configuring the generation of ephemeral event streams by remote capture agents
US11314737B2 (en) 2014-04-15 2022-04-26 Splunk Inc. Transforming event data using values obtained by querying a data source
US10348583B2 (en) 2014-04-15 2019-07-09 Splunk Inc. Generating and transforming timestamped event data at a remote capture agent
US10360196B2 (en) 2014-04-15 2019-07-23 Splunk Inc. Grouping and managing event streams generated from captured network data
US10366101B2 (en) 2014-04-15 2019-07-30 Splunk Inc. Bidirectional linking of ephemeral event streams to creators of the ephemeral event streams
US10374883B2 (en) 2014-04-15 2019-08-06 Splunk Inc. Application-based configuration of network data capture by remote capture agents
US11296951B2 (en) 2014-04-15 2022-04-05 Splunk Inc. Interval-based generation of event streams by remote capture agents
US10462004B2 (en) 2014-04-15 2019-10-29 Splunk Inc. Visualizations of statistics associated with captured network data
US11086897B2 (en) 2014-04-15 2021-08-10 Splunk Inc. Linking event streams across applications of a data intake and query system
US11108659B2 (en) 2014-04-15 2021-08-31 Splunk Inc. Using storage reactors to transform event data generated by remote capture agents
US10523521B2 (en) 2014-04-15 2019-12-31 Splunk Inc. Managing ephemeral event streams generated from captured network data
US9762443B2 (en) 2014-04-15 2017-09-12 Splunk Inc. Transformation of network data at remote capture agents
US11863408B1 (en) 2014-04-15 2024-01-02 Splunk Inc. Generating event streams including modified network data monitored by remote capture agents
US10693742B2 (en) 2014-04-15 2020-06-23 Splunk Inc. Inline visualizations of metrics related to captured network data
US11281643B2 (en) 2014-04-15 2022-03-22 Splunk Inc. Generating event streams including aggregated values from monitored network data
US10700950B2 (en) 2014-04-15 2020-06-30 Splunk Inc. Adjusting network data storage based on event stream statistics
US11252056B2 (en) 2014-04-15 2022-02-15 Splunk Inc. Transforming event data generated by remote capture agents using user-generated code
US11245581B2 (en) 2014-04-15 2022-02-08 Splunk Inc. Selective event stream data storage based on historical stream data
US10951474B2 (en) 2014-04-15 2021-03-16 Splunk Inc. Configuring event stream generation in cloud-based computing environments
US10032134B2 (en) 2014-10-02 2018-07-24 Sap Se Automated decision making
US10193916B2 (en) 2014-10-30 2019-01-29 Splunk Inc. Configuring the generation of event data based on a triggering search query
US10812514B2 (en) 2014-10-30 2020-10-20 Splunk Inc. Configuring the generation of additional time-series event data by remote capture agents
US10805438B2 (en) 2014-10-30 2020-10-13 Splunk Inc. Configuring the protocol-based generation of event streams by remote capture agents
US10701191B2 (en) 2014-10-30 2020-06-30 Splunk Inc. Configuring rules for filtering events to be included in event streams
US10382599B2 (en) 2014-10-30 2019-08-13 Splunk Inc. Configuring generation of event streams by remote capture agents
US11425229B2 (en) 2014-10-30 2022-08-23 Splunk Inc. Generating event streams from encrypted network traffic monitored by remote capture agents
US10264106B2 (en) 2014-10-30 2019-04-16 Splunk Inc. Configuring generation of multiple event streams from a packet flow
US9843598B2 (en) 2014-10-30 2017-12-12 Splunk Inc. Capture triggers for capturing network data
US9838512B2 (en) 2014-10-30 2017-12-05 Splunk Inc. Protocol-based capture of network data using remote capture agents
US9596253B2 (en) 2014-10-30 2017-03-14 Splunk Inc. Capture triggers for capturing network data
US11936764B1 (en) 2014-10-30 2024-03-19 Splunk Inc. Generating event streams based on application-layer events captured by remote capture agents
US11115505B2 (en) 2015-01-29 2021-09-07 Splunk Inc. Facilitating custom content extraction rule configuration for remote capture agents
US10334085B2 (en) 2015-01-29 2019-06-25 Splunk Inc. Facilitating custom content extraction from network packets

Also Published As

Publication number Publication date
ATE219586T1 (en) 2002-07-15
AU772016B2 (en) 2004-04-08
EP1097428A2 (en) 2001-05-09
EP1097428B1 (en) 2002-06-19
CA2335125C (en) 2007-06-05
WO2000003323A2 (en) 2000-01-20
WO2000003323A3 (en) 2000-04-13
DK1097428T3 (en) 2002-09-16
IL140167A0 (en) 2002-02-10
CA2335125A1 (en) 2000-01-20
AU6077299A (en) 2000-02-01
US6286030B1 (en) 2001-09-04
DE19981276D2 (en) 2001-06-28
DE59901813D1 (en) 2002-07-25

Similar Documents

Publication Publication Date Title
USRE41903E1 (en) Systems and methods for recording and visually recreating sessions in a client-server environment
US6286098B1 (en) System and method for encrypting audit information in network applications
US9185016B2 (en) System and method for monitoring and analyzing internet traffic
US10438295B2 (en) Method and system for E-commerce transaction data accounting
US6804701B2 (en) System and method for monitoring and analyzing internet traffic
US6643635B2 (en) Methods for dynamically accessing, processing, and presenting data acquired from disparate data sources
US6411998B1 (en) World wide web internet delay monitor
US8572226B2 (en) Enhancing network details using network monitoring scripts
US7617201B1 (en) System and method for analyzing statistics in a reporting system
US20090222426A1 (en) Computer-Implemented System And Method For Analyzing Search Queries
EP1220098A2 (en) Identifying web-log data representing a single user session
US20050138151A1 (en) System and method for providing integrated impact analysis data
CA2402437C (en) Methods and systems for monitoring quality assurance
US6535916B1 (en) Systems, methods and computer program products for linking transactions by multiple web site servers to web site visitors
US6836801B1 (en) System and method for tracking the use of a web tool by a web user by using broken image tracking
US7949765B2 (en) Data structure for analyzing user sessions
CN1308292A (en) System, method and record medium of supplying Internet auction information
CN114610689A (en) Method for recording and analyzing request log in distributed environment
CN114693278B (en) Intelligent auditing system and method for motor vehicle inspection supervision
JPH11306160A (en) Service unit extraction method and device from service application history and recording medium recording extraction program
CN117076771A (en) Data acquisition method, device, computer equipment and computer readable storage medium
CN114547414A (en) Data intercommunication capturing method and system
CN115130073A (en) Intelligent data analysis system and method
Esmin et al. A Tool for WEB Usage Knowledge Acquisition from User’s Interactions
Jim Jansen Search Log Analytics

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: SAP SE, GERMANY

Free format text: CHANGE OF NAME;ASSIGNOR:SAP AG;REEL/FRAME:033625/0334

Effective date: 20140707

AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAP SE;REEL/FRAME:035897/0929

Effective date: 20150615