US6411998B1 - World wide web internet delay monitor - Google Patents
World wide web internet delay monitor Download PDFInfo
- Publication number
- US6411998B1 US6411998B1 US08/924,987 US92498797A US6411998B1 US 6411998 B1 US6411998 B1 US 6411998B1 US 92498797 A US92498797 A US 92498797A US 6411998 B1 US6411998 B1 US 6411998B1
- Authority
- US
- United States
- Prior art keywords
- server
- http request
- web
- response
- web server
- 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 - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- the present invention relates generally to computer networks and more particularly to a method and system for monitoring and collecting data in a client-server computer network such as the Internet.
- the World Wide Web is the Internet's multimedia information retrieval system.
- client machines effect transactions to Web servers using the Hypertext Transfer Protocol (HTTP), which is a known application protocol providing users access to files (e.g., text, graphics, images, sound, video, etc.) using a standard page description language known as Hypertext Markup Language (HTML).
- HTML provides basic document formatting and allows the developer to specify “links” to other servers and files.
- a network path to a server is identified by a so-called Uniform Resource Locator (URL) having a special syntax for defining a network connection.
- URL Uniform Resource Locator
- Use of an HTML-compatible browser e.g., Netscape Navigator or Microsoft Internet Explorer
- the client makes a request to the server identified in the link and receives in return a document formatted according to HTML.
- the time period between the issuing of an HTTP request from the browser and the return of the requested document (or some component thereof) is known as the end user “response time.”
- the response time is a function of the time spent servicing the HTTP request at the Web server together with the network transmission time to and from the server.
- the network transmission time is sometimes referred to as the “Internet delay.”
- Internet delay time could be measured in environments where the clocks of the client and server machines are synchronized or where an external time reference is available to both the client and the server. Given the diverse nature of the Internet environment, however, such solutions are impractical because these criteria could not be met for all of the clients of a large web server.
- One possible alternative would be to place a special client (a so-called “transaction monitor”) on the Internet and have the transaction monitor periodically issue a request to the server of interest.
- the transaction monitor would have to be built with Internet delay time instrumentation included. Measured Internet delays for this client would then be presumed to be indicative of Internet delays that actual clients encountered.
- the transaction monitor would presumably hook into the Internet at a fixed site or ISP (or at most a small number of sites).
- the Internet delay times measured by the transaction monitor would thus represent only a small fraction of the total paths that may be used to connect to a large server.
- such a transaction monitor would be useless for resolving questions about the Internet delay times for requests issued by way of an ISP that the transaction monitor is not currently using.
- the transaction monitor would have to be constructed to use test transactions against the server. Test transactions are suspect in that they may omit entire classes of operations, and they can be difficult to create if the mission of the Web server is considered critical or secure (e.g., financial transactions).
- Another important object of this invention is to measure the Internet delay characteristics of the network, in general, and a given URL, in particular, to enable Web site operators to evaluate quality of service.
- One of the components of quality of service is response time to a user's request.
- service providers will be able to determine whether poor response time is due to delays on the Internet or delays at the provider's Web server.
- the method begins at the Web server in response to a first HTTP request.
- the Web server serves a response to the first HTTP request and logs a server processing time associated with serving that response.
- an end user response time associated with the first HTTP request is calculated at the Web client.
- the end user response time associated with the first HTTP request is then passed from the Web client to the Web server in a special cookie.
- the Web server logs the response time of the first request.
- the Internet delay associated with the first request can then be calculated by matching the two log records and subtracting the server processing time from the first log record from the response time from the second log record.
- This operation is preferably implemented by associating a unique response identifier (herein called RSPID) with each response generated by the server.
- RSPID a unique response identifier
- the RSPID is sent to the client as part of each response to a request; this RSPID is also logged by the server along with the server processing time for the request.
- the client includes the RSPID along with the response time in the cookie that is sent to the Web server on the subsequent request.
- the server logs the response time and the RSPID on receipt of the cookie.
- Well-known methods are used to match the records with corresponding RSPID's during log analysis to then calculate the Internet delay.
- the computer program product includes first program code means supported at the Web server and responsive to a first HTTP request from the Web client for logging a server processing time associated with serving the response.
- the product further includes second program code means supported at the Web server and responsive to receipt of a second HTTP request from the Web client to the Web server for retrieving data defining the response time of the first HTTP request and using that data to calculate the Internet delay associated with the first HTTP request.
- the second program code means preferably calculates the Internet delay associated with the first HTTP request by subtracting the server processing time from the response time.
- the data defining the response time of the first HTTP request is contained in a cookie of the second HTTP request.
- FIG. 1 is a representative system in which the present invention is implemented
- FIG. 2 is a flowchart illustrating the conventional processing associated with an HTTP request from the Web client to the Web server shown in FIG. 1;
- FIG. 3 is a simplified timing diagram illustrating how end user response time is calculated
- FIG. 4 is a flowchart illustrating the basic operation of the present invention.
- FIG. 5 is a flowchart illustrating the various operations of the Web client and the Web server in response to a user HTTP request
- FIG. 6 is a flowchart illustrating the various operations of the Web client and the Web server during the present invention.
- FIG. 1 A representative system in which the present invention is implemented is illustrated in FIG. 1.
- a client machine 10 is connected to a Web server platform 12 via a communication channel 14 .
- channel 14 is the Internet, an Intranet or other known network connection.
- Web server platform 12 is one of a plurality of servers which are accessible by clients, one of which is illustrated by machine 10 .
- a representative client machine includes a browser 16 , which is a known software tool used to access the servers of the network. Representative browsers include, among others, Netscape Navigator (Version 2.0 and higher), Microsoft Internet Explorer (Version 3.0 and higher) or the like, each of which are “off-the-shelf” or downloadable software programs.
- the Web server platform (sometimes referred to as a “Web” site) supports files in the form of hypertext documents and objects.
- a network path to a server is identified by a so-called Uniform Resource Locator (URL).
- URL Uniform Resource Locator
- the World Wide Web is the Internet's multimedia information retrieval system. In particular, it is a collection of servers of the Internet that use the Hypertext Transfer Protocol (HTTP), which provides users access to files using Hypertext Markup Language (HTML).
- HTTP Hypertext Transfer Protocol
- a representative Web Server platform 12 comprises an IBM RISC System/6000 computer 18 (a reduced instruction set of so-called RISC-based workstation) running the AIX (Advanced Interactive Executive Version 4.1 and above) Operating System 20 and a Web server program 22 , such as Netscape Enterprise Server Version 2.0, that supports interface extensions.
- the platform 12 also includes a graphical user interface (GUI) 24 for management and administration.
- GUI graphical user interface
- the various models of the RISC-based computers are described in many publications of the IBM Corporation, for example, RISC System/6000, 7013 and 7016 POWERstation and POWERserver Hardware Technical Reference, Order No. SA23-2644-00.
- AIX OS is described in AIX Operating System Technical Reference, published by IBM Corporation, First Edition (November 1985), and other publications. While the above platform is useful, any other suitable hardware/operating system/Web server combinations may be used.
- the Web Server accepts a client request and returns a response.
- the operation of the server program 22 is governed by a number of server application functions (SAFs), each of which is configured to execute in a certain step of a sequence.
- This sequence begins with authorization translation (AuthTrans) 30 , during which the server translates any authorization information sent by the client into a user and a group. If necessary, the AuthTrans step may decode a message to get the actual client request.
- AuthTrans authorization translation
- the URL associated with the request may be kept intact or it can be translated into a system-dependent file name, a redirection URL or a mirror site URL.
- step 34 called path checks (PathCheck), the server performs various tests on the resulting path to ensure that the given client may retrieve the document.
- objectType object types
- MIME Multipurpose Internet Mail Extension
- type information e.g., text/html, image/gif, etc.
- Service Service
- the Web server routine selects an internal server function to send the result back to the client. This function can run the normal server service routine (to return a file), some other server function (such as a program to return a custom document) or a CGI program.
- Add Log Add Log
- step 42 the server responds to the client when it encounters an error. Further details of these operations may be found in the Netscape Web Server Programmer's Guide, Chapter 5, which is incorporated herein by reference.
- the time spent carrying out the various functions of FIG. 2 (namely, the time spent by the Web server serving the HTTP request) is referred to below as the SERVER_PROCESSING_TIME.
- the Web server 18 includes a known set of server application functions (SAFs). These functions take the client's request and other configuration data of the server as input and return a response to the server as output.
- SAFs server application functions
- the Web server 18 also includes an Application Programming Interface (API) 26 that provides extensions to enable application developers to extend and/or customize the core functionality thereof (namely, the SAFs) through software programs commonly referred to as “plug-ins.”
- API Application Programming Interface
- the present invention is a technique for measuring total Internet delay encountered by a WWW request as it moves from the Web client (and, in particular, the browser) to a Web server and returns.
- the Internet delay associated with a given request is calculated by subtracting the amount of processing time within the Web server from the “response time” as seen by the end user on the Web client.
- FIG. 3 illustrates the various components that comprise the “response time” of a given HTTP request.
- a first time “x” represents the time to transfer the HTTP request (usually a GET or POST request) from the Web client to the Web server.
- a second time “y” represents the server processing time (SERVER_PROCESSING_TIME), which was described above with respect to the flowchart of FIG. 2.
- a third time “z” then represents the time to transfer a specified event in the response to the HTTP request back to the Web client.
- the specified event may be first packet return, last HTML byte, last .gif byte, or some intermediate event within the transfer.
- the response time “r” equals “x+y+z.”
- a preferred embodiment of calculating the end user response time (which is used in the Internet delay calculation) is illustrated in the simplified flowchart of FIG. 4 .
- the method begins at step 50 .
- a test is run repeatedly to determine whether a given HTTP request (e.g., a GET or POST) has been issued from the client to a given server. If the outcome of the test at step 52 is positive, the routine continues at step 54 to calculate the response time “x+y+z.” A preferred technique for performing this calculation is described below with respect to the flowchart of FIG. 5 .
- the calculated response time is saved at the client.
- a test is then run at step 58 to determine if a new HTTP request for the given server has been issued.
- the routine cycles and repeatedly tests for this condition. If, however, the result of the test at step 58 is positive, the routine continues at step 59 to retrieve the end user response time calculated at step 54 (which will usually be the response time associated with the most-recent visit to the server), and to formulate a response time protocol (RSP) cookie at step 60 . At step 62 , the cookie is then passed to the Web server, preferably within the new HTTP request itself. This completes the processing of the end user response time calculation.
- RTP response time protocol
- an end user response time associated with that request is first calculated as the HTTP request is being processed.
- the end user response time is calculated at the Web client but not passed to the Web server until a subsequent HTTP request (typically, a next request).
- the response time information is passed to the Web server in a special cookie associated with the subsequent HTTP request.
- a special “response time cookie” (herein referred to as the “RSP cookie”) is associated with the Web client browser and processed by the Web server.
- the RSP cookie comprises the following two fields of data (and possibly others, as will be described):
- LASTRSPTIME the response time of the last request
- Instrumented servers are servers that implement the RSP cookie protocol. It is presumed that there is some mechanism used to inform the browser as to whether or not a particular server is an instrumented server. The default is for a Web server to be non-instrumented. Web client browsers that support the RSP cookie protocol are called instrumented browsers. For the rest of this discussion, it is assumed that the HTTP request originates from an instrumented browser.
- the end user response time calculation protocol then operates as follows. As noted above, the information resulting from this protocol (namely, the end user response time for a given request) is then later used to calculate Internet delay associated with the request.
- the browser examines the cookie cache looking for a RSP cookie for that server. This is step 70 .
- a test is then made at step 72 to determine is an RSP cookie is found. If no RSP cookie is found, the routine continues at step 74 with the browser constructing a new RSP cookie for that server by initializing LASTRSPTIME to ⁇ 1 and LASTURL to null. If an RSP cookie is found (i.e.
- the browser includes the current contents of the RSP cookie for that server by inserting a “Cookie:” request into the header of the HTTP request and filling in the values for LASTRSPTIME and LASTURL from the cookie cache. This is step 76 .
- the browser records the time when the request is sent according to the time clock on the client system where the browser is running and stores this value in storage local to the browser (or in some other way accessible to the browser).
- the routine then continues with the server processing.
- the routine continues at step 80 and examines the LASTRSPTIME field.
- a test is then made at step 82 to determine if this field is negative. If so, the server processing ends, as indicated by step 84 . If the outcome of the test at step 82 indicates that the LASTRSPTIME field is non-negative, the routine continues at step 86 with the server logging the LASTRSPTIME field and the LASTURL and any other information from the request the server might find appropriate (e.g. the domain name of the requester).
- the server may choose to randomly sample the recorded response times and log only a subset of the times. Postmortem analysis tools would then examine the response time log and produce response time statistics per URL.
- step 88 at test is made to determine whether a response has been received from an instrumented server. If the outcome of the test at step 88 is negative, the step cycles and continues to test. If, however, the outcome of the test at step 88 indicates that a response to the HTTP request is received from an instrumented server, the routine continues at step 90 . In this step, the browser subtracts from the current client clock time the time that the request was sent. This time, as well as the “referring URL,” are recorded in the RSP cookie for that server at step 92 . This completes the end user response time processing.
- the “response time” is not necessarily the time between the initiation of the HTTP request at the client and the first or last packet return associated with the target document.
- This invention could also be used to record and collect intermediate response times such as: response time of first data arrival, response time HTML delivery complete, response time of all gif's delivered, or some other intermediate response time. If the domain name of the requester is logged as part of the server log record, one could also use this tool to determine whether poor response times are due to a particular ISP or other route into the server.
- the present invention takes advantage of the client-side calculation of the end user response time to determine the total “Internet delay” encountered by a World Wide Web request as it moves from a Web browser to a Web server and returns. This is the “x+z” calculation described above with respect to FIG. 3 .
- the solution provides a simple way to determine how much of the response time for a particular Web request is due to Internet delay.
- an “extended RSP cookie” comprises the following three fields of data:
- LASTRSPTIME the response time of the last request
- RSPID an identifier generated by the server uniquely identifying a particular response.
- RSPID is not significant; however, for this illustrative example, it is assumed to be an integer representing the count of requests serviced by the server where the response was generated since the server was first started. It is assumed that a 32 bit counter is sufficiently large that overflow is not a problem for distinguishing between responses.
- the RSPID is kept with the other fields of the extended RSP cookie and is sent to the instrumented server as part of each request.
- the protocol of the “Internet delay” monitor of this invention is illustrated in detail in the logic flow diagram shown in FIG. 6 .
- the left side of the diagram is the client (i.e. the browser) operation; the right side of the diagram is the server operation.
- the browser examines the cookie cache looking for an extended RSP cookie for that server. This is step 100 .
- a test is then made at step 102 to determine if an extended RSP cookie is found. If no extended RSP cookie is found, the routine continues at step 104 with the browser constructing a new extended RSP cookie for that server by initializing LASTRSPTIME to ⁇ 1, LASTURL to null and RSPID to ⁇ 1. If an extended RSP cookie is found (i.e.
- the browser includes the current contents of the extended RSP cookie for that server by inserting a “Cookie:” request into the header of the HTTP request and filling in the values for LASTRSPTIME, LASTURL and RSPID from the cookie cache. This is step 106 .
- the browser records the time when the request is sent according to the time clock on the client system where the browser is running and stores this value in storage local to the browser (or in some other way accessible to the browser).
- the routine continues at step 110 and examines the LASTRSPTIME field. A test is then made at step 112 to determine if this field is negative. If so, the server processing continues with step 122 . If the outcome of the test at step 112 indicates that the LASTRSPTIME field is non-negative, the routine continues at step 116 with the server logging the LASTRSPTIME field, the LASTURL, the RSPID from the cookie, and any other information from the request the server might find appropriate (e.g. the domain name of the requester). The record logged at step 116 is called R 1 . At step 122 , the server then generates a new RSPID associated with the current response. At step 124 , the server includes a Set-Cookie request of the form:
- the server logs the new RSPID along with the (server-local) elapsed clock time between when the request arrived and the response was sent. This is the SERVER_PROCESSING_TIME illustrated in the flowchart of FIG. 2 .
- the log record generated in step 126 is called R 2 .
- step 128 the routine continues in step 128 .
- postmortem analysis tools then correlate the log records R 1 and R 2 that contain the same RSPID. Missing R 1 records indicate that the extended RSP cookie for that RSPID has either been discarded by the browser or has not yet been received. Corresponding R 2 records would either be discarded or set aside for later use.
- the Internet delay time is then calculated at step 130 as follows:
- Internet_Delay_Time LASTRSPTIME ⁇ SERVER_PROCESSING_TIME, where LASTRSPTIME comes from record R 1 and SERVER_PROCESSING_TIME comes from record R 2 .
- the server should choose either to log both R 1 and R 2 records associated with a particular RSPID or to log neither. This is done to simplify the postmortem analysis tools. Since Internet delay statistics are likely to be sampled by the Web server in any case, the loss of an R 1 record given the existence of an R 2 record is not considered harmful.
- RSPID may vary depending on the conventions observed by the Web server. For example, to communicate this value to a server-side JavaScript program running on a Netscape Enterprise server, this field would be named:
- RSP cookie cache when the cookie cache is searched for a RSP cookie, the normal path matching of the Netscape cookie protocol is disabled. Equivalently, all RSP cookies are preferably stored with a path of “/”. The effect of this is that the RSP cookie is sent as part of every request to an instrumented server. There is potentially a separate RSP cookie for each instrumented server that the Web browser has contacted, subject to the limits of storage on the client machine. Well known methods, such as expiration dates, can be used to discard RSP cookies when they are likely to no longer be useful. A discarded RSP cookie means that a response time observation has been lost. Since RSP time statistics are likely to be sampled by the Web server in any case, however, the loss of a response time observation due to this event is not considered harmful.
- the present invention provides numerous advantages. As Internet commerce becomes more pervasive, suppliers of service on the Internet will need to measure the quality of that service. One of the components of quality of service is response time to a user's request. By using the Internet delay monitor described in this invention, service providers will be able to determine whether poor response time is due to delays on the Internet or delays at the provider's Web server.
- One of the preferred implementations of the scheme of the invention is as a set of instructions (program code) in a code module resident in the random access memory of the computer.
- the set of instructions may be stored in another computer memory, for example, in a hard disk drive, or in a removable memory such as an optical disk (for eventual use in a CD ROM) or floppy disk (for eventual use in a floppy disk drive), or downloaded via the Internet or other computer network
- the various methods described are conveniently implemented in a general purpose computer selectively activated or reconfigured by software, one of ordinary skill in the art would also recognize that such methods may be carried out in hardware, in firmware, or in more specialized apparatus constructed to perform the required method steps.
- Internet client should be broadly construed to mean any computer or component thereof directly or indirectly connected or connectable in any known or later-developed manner to a computer network, such as the Internet.
- Internet server should also be broadly construed to mean a computer, computer platform, an adjunct to a computer or platform, or any component thereof.
- client should be broadly construed to mean one who requests or gets the file
- server is the entity which downloads the file.
- inventive features of the present invention may be applied to other Internet services as well as to an HTTP-compliant browser.
- the invention may be useful in monitoring Internet delay associated with the sending or retrieval of e-mail (via the simple mail transfer protocol, or SMTP), associated with a file transfer (via the file transfer protocol, or FTP), associated with the posting to a bulletin board (via the network news transfer protocol, or NNTP), or associated with remote terminal access (Telnet)
- SMTP simple mail transfer protocol
- FTP file transfer
- NNTP network news transfer protocol
- Telnet remote terminal access
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A method of determining Internet delays associated with requests from a Web client connectable to a Web server. The method begins at the Web server in response to a first HTTP request. In particular, the Web server serves a response to the first HTTP request and logs a server processing time associated with serving that response. After the response is delivered back to the Web client that initiated the request, an end user response time associated with the first HTTP request is calculated at the Web client. Upon a new HTTP request (typically the next one), the end user response time associated with the first HTTP request is then passed from the Web client to the Web server in a cookie. The Internet delay associated with the first HTTP request is then calculated by subtracting the server processing time from the end user response time.
Description
1. Technical Field
The present invention relates generally to computer networks and more particularly to a method and system for monitoring and collecting data in a client-server computer network such as the Internet.
2. Description of the Related Art
The World Wide Web is the Internet's multimedia information retrieval system. In the Web environment, client machines effect transactions to Web servers using the Hypertext Transfer Protocol (HTTP), which is a known application protocol providing users access to files (e.g., text, graphics, images, sound, video, etc.) using a standard page description language known as Hypertext Markup Language (HTML). HTML provides basic document formatting and allows the developer to specify “links” to other servers and files. In the Internet paradigm, a network path to a server is identified by a so-called Uniform Resource Locator (URL) having a special syntax for defining a network connection. Use of an HTML-compatible browser (e.g., Netscape Navigator or Microsoft Internet Explorer) at a client machine involves specification of a link via the URL. In response, the client makes a request to the server identified in the link and receives in return a document formatted according to HTML.
The time period between the issuing of an HTTP request from the browser and the return of the requested document (or some component thereof) is known as the end user “response time.” The response time is a function of the time spent servicing the HTTP request at the Web server together with the network transmission time to and from the server. The network transmission time is sometimes referred to as the “Internet delay.”
Internet delay time could be measured in environments where the clocks of the client and server machines are synchronized or where an external time reference is available to both the client and the server. Given the diverse nature of the Internet environment, however, such solutions are impractical because these criteria could not be met for all of the clients of a large web server. One possible alternative would be to place a special client (a so-called “transaction monitor”) on the Internet and have the transaction monitor periodically issue a request to the server of interest. The transaction monitor would have to be built with Internet delay time instrumentation included. Measured Internet delays for this client would then be presumed to be indicative of Internet delays that actual clients encountered. Such an approach also has significant drawbacks. The transaction monitor would presumably hook into the Internet at a fixed site or ISP (or at most a small number of sites). The Internet delay times measured by the transaction monitor would thus represent only a small fraction of the total paths that may be used to connect to a large server. In addition, such a transaction monitor would be useless for resolving questions about the Internet delay times for requests issued by way of an ISP that the transaction monitor is not currently using. Further, the transaction monitor would have to be constructed to use test transactions against the server. Test transactions are suspect in that they may omit entire classes of operations, and they can be difficult to create if the mission of the Web server is considered critical or secure (e.g., financial transactions).
There remains a need to provide an Internet delay monitor that overcomes these and other problems associated with the known prior art.
It is thus a primary object of the present invention to measure Internet delay encountered by a an HTTP request as it moves from a Web browser to a Web server and returns.
It is another primary object of this invention to determine how much of a response time for a particular Web request is due to Internet delay.
It is another object of this invention to implement Internet delay monitoring capability without resort to synchronized clocks at the client and server machines, to use of an external time reference, or to implementation of a dedicated transaction monitor.
Another important object of this invention is to measure the Internet delay characteristics of the network, in general, and a given URL, in particular, to enable Web site operators to evaluate quality of service.
It is still another important object of this invention to facilitate the collection of Internet delay data and statistics for use by Web site operators.
It is yet another object of this invention to enable suppliers of service on the Internet to measure the quality of that service. One of the components of quality of service is response time to a user's request. By using the Internet delay monitor described in this invention, service providers will be able to determine whether poor response time is due to delays on the Internet or delays at the provider's Web server.
These and other objects of the invention are provided in a method of determining Internet delays associated with requests from a Web client connectable to a Web server. The method begins at the Web server in response to a first HTTP request. In particular, the Web server serves a response to the first HTTP request and logs a server processing time associated with serving that response. After the response is delivered back to the Web client that initiated the request, an end user response time associated with the first HTTP request is calculated at the Web client. Upon a new HTTP request (typically the next one), the end user response time associated with the first HTTP request is then passed from the Web client to the Web server in a special cookie. The Web server then logs the response time of the first request. The Internet delay associated with the first request can then be calculated by matching the two log records and subtracting the server processing time from the first log record from the response time from the second log record.
This operation is preferably implemented by associating a unique response identifier (herein called RSPID) with each response generated by the server. The RSPID is sent to the client as part of each response to a request; this RSPID is also logged by the server along with the server processing time for the request. The client includes the RSPID along with the response time in the cookie that is sent to the Web server on the subsequent request. The server then logs the response time and the RSPID on receipt of the cookie. Well-known methods are used to match the records with corresponding RSPID's during log analysis to then calculate the Internet delay.
Another aspect of the invention is the provision of a computer program product for determining Internet delay associated with an HTTP request from a Web client connectable to a Web server in a computer network. The computer program product includes first program code means supported at the Web server and responsive to a first HTTP request from the Web client for logging a server processing time associated with serving the response. The product further includes second program code means supported at the Web server and responsive to receipt of a second HTTP request from the Web client to the Web server for retrieving data defining the response time of the first HTTP request and using that data to calculate the Internet delay associated with the first HTTP request. The second program code means preferably calculates the Internet delay associated with the first HTTP request by subtracting the server processing time from the response time. As described above, preferably the data defining the response time of the first HTTP request is contained in a cookie of the second HTTP request.
The foregoing has outlined some of the more pertinent objects and features of the present invention. These objects should be construed to be merely illustrative of some of the more prominent features and applications of the invention. Many other beneficial results can be attained by applying the disclosed invention in a different manner or modifying the invention as will be described. Accordingly, other objects and a fuller understanding of the invention may be had by referring to the following Detailed Description of the Preferred Embodiment.
For a more complete understanding of the present invention and the advantages thereof, reference should be made to the following Detailed Description taken in connection with the accompanying drawings in which:
FIG. 1 is a representative system in which the present invention is implemented;
FIG. 2 is a flowchart illustrating the conventional processing associated with an HTTP request from the Web client to the Web server shown in FIG. 1;
FIG. 3 is a simplified timing diagram illustrating how end user response time is calculated;
FIG. 4 is a flowchart illustrating the basic operation of the present invention; and
FIG. 5 is a flowchart illustrating the various operations of the Web client and the Web server in response to a user HTTP request;
FIG. 6 is a flowchart illustrating the various operations of the Web client and the Web server during the present invention.
A representative system in which the present invention is implemented is illustrated in FIG. 1. A client machine 10 is connected to a Web server platform 12 via a communication channel 14. For illustrative purposes, channel 14 is the Internet, an Intranet or other known network connection. Web server platform 12 is one of a plurality of servers which are accessible by clients, one of which is illustrated by machine 10. A representative client machine includes a browser 16, which is a known software tool used to access the servers of the network. Representative browsers include, among others, Netscape Navigator (Version 2.0 and higher), Microsoft Internet Explorer (Version 3.0 and higher) or the like, each of which are “off-the-shelf” or downloadable software programs. The Web server platform (sometimes referred to as a “Web” site) supports files in the form of hypertext documents and objects. In the Internet paradigm, a network path to a server is identified by a so-called Uniform Resource Locator (URL). The World Wide Web is the Internet's multimedia information retrieval system. In particular, it is a collection of servers of the Internet that use the Hypertext Transfer Protocol (HTTP), which provides users access to files using Hypertext Markup Language (HTML).
A representative Web Server platform 12 comprises an IBM RISC System/6000 computer 18 (a reduced instruction set of so-called RISC-based workstation) running the AIX (Advanced Interactive Executive Version 4.1 and above) Operating System 20 and a Web server program 22, such as Netscape Enterprise Server Version 2.0, that supports interface extensions. The platform 12 also includes a graphical user interface (GUI) 24 for management and administration. The various models of the RISC-based computers are described in many publications of the IBM Corporation, for example, RISC System/6000, 7013 and 7016 POWERstation and POWERserver Hardware Technical Reference, Order No. SA23-2644-00. AIX OS is described in AIX Operating System Technical Reference, published by IBM Corporation, First Edition (November 1985), and other publications. While the above platform is useful, any other suitable hardware/operating system/Web server combinations may be used.
The Web Server accepts a client request and returns a response. The operation of the server program 22 is governed by a number of server application functions (SAFs), each of which is configured to execute in a certain step of a sequence. This sequence, illustrated in FIG. 2, begins with authorization translation (AuthTrans) 30, during which the server translates any authorization information sent by the client into a user and a group. If necessary, the AuthTrans step may decode a message to get the actual client request. At step 32, called name translation (NameTrans), the URL associated with the request may be kept intact or it can be translated into a system-dependent file name, a redirection URL or a mirror site URL. At step 34, called path checks (PathCheck), the server performs various tests on the resulting path to ensure that the given client may retrieve the document. At step 36, sometimes referred to as object types (ObjectType), MIME (Multipurpose Internet Mail Extension) type information (e.g., text/html, image/gif, etc.) for the given document is identified. At step 38, called Service (Service), the Web server routine selects an internal server function to send the result back to the client. This function can run the normal server service routine (to return a file), some other server function (such as a program to return a custom document) or a CGI program. At step 40, called Add Log (AddLog), information about the transaction is recorded. At step 42, called Error, the server responds to the client when it encounters an error. Further details of these operations may be found in the Netscape Web Server Programmer's Guide, Chapter 5, which is incorporated herein by reference. The time spent carrying out the various functions of FIG. 2 (namely, the time spent by the Web server serving the HTTP request) is referred to below as the SERVER_PROCESSING_TIME.
Thus, the Web server 18 includes a known set of server application functions (SAFs). These functions take the client's request and other configuration data of the server as input and return a response to the server as output. Referring back to FIG. 1, the Web server 18 also includes an Application Programming Interface (API) 26 that provides extensions to enable application developers to extend and/or customize the core functionality thereof (namely, the SAFs) through software programs commonly referred to as “plug-ins.”
The present invention is a technique for measuring total Internet delay encountered by a WWW request as it moves from the Web client (and, in particular, the browser) to a Web server and returns. In accordance with the invention, the Internet delay associated with a given request is calculated by subtracting the amount of processing time within the Web server from the “response time” as seen by the end user on the Web client. FIG. 3 illustrates the various components that comprise the “response time” of a given HTTP request. A first time “x” represents the time to transfer the HTTP request (usually a GET or POST request) from the Web client to the Web server. A second time “y” represents the server processing time (SERVER_PROCESSING_TIME), which was described above with respect to the flowchart of FIG. 2. A third time “z” then represents the time to transfer a specified event in the response to the HTTP request back to the Web client. The specified event may be first packet return, last HTML byte, last .gif byte, or some intermediate event within the transfer. Thus, the response time “r” equals “x+y+z.” The “Internet delay,” which is that portion of the response time associated with the actual transmission over the Internet itself (as opposed to the time spent within the server for processing), is then the value “x+z”.
A preferred embodiment of calculating the end user response time (which is used in the Internet delay calculation) is illustrated in the simplified flowchart of FIG. 4. The method begins at step 50. At step 52, a test is run repeatedly to determine whether a given HTTP request (e.g., a GET or POST) has been issued from the client to a given server. If the outcome of the test at step 52 is positive, the routine continues at step 54 to calculate the response time “x+y+z.” A preferred technique for performing this calculation is described below with respect to the flowchart of FIG. 5. At step 56, the calculated response time is saved at the client. A test is then run at step 58 to determine if a new HTTP request for the given server has been issued. If the result of the test at step 58 is negative, the routine cycles and repeatedly tests for this condition. If, however, the result of the test at step 58 is positive, the routine continues at step 59 to retrieve the end user response time calculated at step 54 (which will usually be the response time associated with the most-recent visit to the server), and to formulate a response time protocol (RSP) cookie at step 60. At step 62, the cookie is then passed to the Web server, preferably within the new HTTP request itself. This completes the processing of the end user response time calculation.
Thus, before the Internet delay is calculated for a given HTTP request, an end user response time associated with that request is first calculated as the HTTP request is being processed. The end user response time is calculated at the Web client but not passed to the Web server until a subsequent HTTP request (typically, a next request). Preferably, the response time information is passed to the Web server in a special cookie associated with the subsequent HTTP request. A more detailed description of this process is now provided.
In a preferred embodiment, a special “response time cookie” (herein referred to as the “RSP cookie”) is associated with the Web client browser and processed by the Web server. The RSP cookie comprises the following two fields of data (and possibly others, as will be described):
LASTRSPTIME the response time of the last request; and
LASTURL the URL of the last request
The particular format of LASTRSPTIME is not significant; however, for this example, it is assumed to be an integer representing the number of milliseconds required for the response. Web servers are divided into two classes: instrumented and non-instrumented. Instrumented servers are servers that implement the RSP cookie protocol. It is presumed that there is some mechanism used to inform the browser as to whether or not a particular server is an instrumented server. The default is for a Web server to be non-instrumented. Web client browsers that support the RSP cookie protocol are called instrumented browsers. For the rest of this discussion, it is assumed that the HTTP request originates from an instrumented browser.
The end user response time calculation protocol then operates as follows. As noted above, the information resulting from this protocol (namely, the end user response time for a given request) is then later used to calculate Internet delay associated with the request. Whenever an instrumented server is contacted, the browser examines the cookie cache looking for a RSP cookie for that server. This is step 70. A test is then made at step 72 to determine is an RSP cookie is found. If no RSP cookie is found, the routine continues at step 74 with the browser constructing a new RSP cookie for that server by initializing LASTRSPTIME to −1 and LASTURL to null. If an RSP cookie is found (i.e. the output of the test at step 72 is positive), or after step 74, the browser includes the current contents of the RSP cookie for that server by inserting a “Cookie:” request into the header of the HTTP request and filling in the values for LASTRSPTIME and LASTURL from the cookie cache. This is step 76. At step 78, the browser records the time when the request is sent according to the time clock on the client system where the browser is running and stores this value in storage local to the browser (or in some other way accessible to the browser).
The routine then continues with the server processing. In particular, when the cookie (associated with the HTTP request) is received, the routine continues at step 80 and examines the LASTRSPTIME field. A test is then made at step 82 to determine if this field is negative. If so, the server processing ends, as indicated by step 84. If the outcome of the test at step 82 indicates that the LASTRSPTIME field is non-negative, the routine continues at step 86 with the server logging the LASTRSPTIME field and the LASTURL and any other information from the request the server might find appropriate (e.g. the domain name of the requester). To minimize the total amount of data collected, the server may choose to randomly sample the recorded response times and log only a subset of the times. Postmortem analysis tools would then examine the response time log and produce response time statistics per URL.
Processing then continues at the client. In particular, at step 88 at test is made to determine whether a response has been received from an instrumented server. If the outcome of the test at step 88 is negative, the step cycles and continues to test. If, however, the outcome of the test at step 88 indicates that a response to the HTTP request is received from an instrumented server, the routine continues at step 90. In this step, the browser subtracts from the current client clock time the time that the request was sent. This time, as well as the “referring URL,” are recorded in the RSP cookie for that server at step 92. This completes the end user response time processing.
It should be appreciated that the “response time” is not necessarily the time between the initiation of the HTTP request at the client and the first or last packet return associated with the target document. This invention could also be used to record and collect intermediate response times such as: response time of first data arrival, response time HTML delivery complete, response time of all gif's delivered, or some other intermediate response time. If the domain name of the requester is logged as part of the server log record, one could also use this tool to determine whether poor response times are due to a particular ISP or other route into the server.
With the above as background, the inventive technique for measuring total Internet delay is now described. As previously noted, the present invention takes advantage of the client-side calculation of the end user response time to determine the total “Internet delay” encountered by a World Wide Web request as it moves from a Web browser to a Web server and returns. This is the “x+z” calculation described above with respect to FIG. 3. The solution provides a simple way to determine how much of the response time for a particular Web request is due to Internet delay.
The solution to this problem assumes the existence of an instrumented browser as described above. The present invention extends the “response time cookie” described above with information required to calculate the Internet delay encountered by the request. To this end, an “extended RSP cookie” comprises the following three fields of data:
LASTRSPTIME the response time of the last request;
LASTURL the URL of the last request; and
RSPID an identifier generated by the server uniquely identifying a particular response.
The format of RSPID is not significant; however, for this illustrative example, it is assumed to be an integer representing the count of requests serviced by the server where the response was generated since the server was first started. It is assumed that a 32 bit counter is sufficiently large that overflow is not a problem for distinguishing between responses. The RSPID is kept with the other fields of the extended RSP cookie and is sent to the instrumented server as part of each request.
The protocol of the “Internet delay” monitor of this invention is illustrated in detail in the logic flow diagram shown in FIG. 6. The left side of the diagram is the client (i.e. the browser) operation; the right side of the diagram is the server operation. Whenever an instrumented server is contacted, the browser examines the cookie cache looking for an extended RSP cookie for that server. This is step 100. A test is then made at step 102 to determine if an extended RSP cookie is found. If no extended RSP cookie is found, the routine continues at step 104 with the browser constructing a new extended RSP cookie for that server by initializing LASTRSPTIME to −1, LASTURL to null and RSPID to −1. If an extended RSP cookie is found (i.e. the output of the test at step 102 is positive), or after step 104, the browser includes the current contents of the extended RSP cookie for that server by inserting a “Cookie:” request into the header of the HTTP request and filling in the values for LASTRSPTIME, LASTURL and RSPID from the cookie cache. This is step 106. At step 108, the browser records the time when the request is sent according to the time clock on the client system where the browser is running and stores this value in storage local to the browser (or in some other way accessible to the browser).
Processing then continues in the server. When the cookie (associated with the HTTP request) is received, the routine continues at step 110 and examines the LASTRSPTIME field. A test is then made at step 112 to determine if this field is negative. If so, the server processing continues with step 122. If the outcome of the test at step 112 indicates that the LASTRSPTIME field is non-negative, the routine continues at step 116 with the server logging the LASTRSPTIME field, the LASTURL, the RSPID from the cookie, and any other information from the request the server might find appropriate (e.g. the domain name of the requester). The record logged at step 116 is called R1. At step 122, the server then generates a new RSPID associated with the current response. At step 124, the server includes a Set-Cookie request of the form:
Set-Cookie: RSPID=nnnnnnn; path=/
in the header of the response. This causes the browser to record the RSPID in the cookie cache. In addition, at step 126, the server logs the new RSPID along with the (server-local) elapsed clock time between when the request arrived and the response was sent. This is the SERVER_PROCESSING_TIME illustrated in the flowchart of FIG. 2. For reference below, the log record generated in step 126 is called R2.
To determine the Internet delay, the routine continues in step 128. In particular, postmortem analysis tools then correlate the log records R1 and R2 that contain the same RSPID. Missing R1 records indicate that the extended RSP cookie for that RSPID has either been discarded by the browser or has not yet been received. Corresponding R2 records would either be discarded or set aside for later use. The Internet delay time is then calculated at step 130 as follows:
Internet_Delay_Time=LASTRSPTIME−SERVER_PROCESSING_TIME, where LASTRSPTIME comes from record R1 and SERVER_PROCESSING_TIME comes from record R2.
If response times are sampled (i.e. not all extended RSP Cookies are logged), the server should choose either to log both R1 and R2 records associated with a particular RSPID or to log neither. This is done to simplify the postmortem analysis tools. Since Internet delay statistics are likely to be sampled by the Web server in any case, the loss of an R1 record given the existence of an R2 record is not considered harmful.
Naming conventions for the extended RSP cookie field RSPID may vary depending on the conventions observed by the Web server. For example, to communicate this value to a server-side JavaScript program running on a Netscape Enterprise server, this field would be named:
NETSCAPE_LIVEWIRE.RSPID
It should be noted that when the cookie cache is searched for a RSP cookie, the normal path matching of the Netscape cookie protocol is disabled. Equivalently, all RSP cookies are preferably stored with a path of “/”. The effect of this is that the RSP cookie is sent as part of every request to an instrumented server. There is potentially a separate RSP cookie for each instrumented server that the Web browser has contacted, subject to the limits of storage on the client machine. Well known methods, such as expiration dates, can be used to discard RSP cookies when they are likely to no longer be useful. A discarded RSP cookie means that a response time observation has been lost. Since RSP time statistics are likely to be sampled by the Web server in any case, however, the loss of a response time observation due to this event is not considered harmful.
The present invention provides numerous advantages. As Internet commerce becomes more pervasive, suppliers of service on the Internet will need to measure the quality of that service. One of the components of quality of service is response time to a user's request. By using the Internet delay monitor described in this invention, service providers will be able to determine whether poor response time is due to delays on the Internet or delays at the provider's Web server.
One of the preferred implementations of the scheme of the invention is as a set of instructions (program code) in a code module resident in the random access memory of the computer. Until required by the computer, the set of instructions may be stored in another computer memory, for example, in a hard disk drive, or in a removable memory such as an optical disk (for eventual use in a CD ROM) or floppy disk (for eventual use in a floppy disk drive), or downloaded via the Internet or other computer network In addition, although the various methods described are conveniently implemented in a general purpose computer selectively activated or reconfigured by software, one of ordinary skill in the art would also recognize that such methods may be carried out in hardware, in firmware, or in more specialized apparatus constructed to perform the required method steps.
As used herein, “Internet client” should be broadly construed to mean any computer or component thereof directly or indirectly connected or connectable in any known or later-developed manner to a computer network, such as the Internet. The term “Internet server” should also be broadly construed to mean a computer, computer platform, an adjunct to a computer or platform, or any component thereof. Of course, a “client” should be broadly construed to mean one who requests or gets the file, and “server” is the entity which downloads the file.
One of ordinary skill will also recognize that the inventive features of the present invention may be applied to other Internet services as well as to an HTTP-compliant browser. Thus, the invention may be useful in monitoring Internet delay associated with the sending or retrieval of e-mail (via the simple mail transfer protocol, or SMTP), associated with a file transfer (via the file transfer protocol, or FTP), associated with the posting to a bulletin board (via the network news transfer protocol, or NNTP), or associated with remote terminal access (Telnet)
Having thus described our invention, what we claim as new and desire to secure by Letters Patent is set forth in the following claims.
Claims (22)
1. A method of determining an Internet delay associated with requests from a Web client connectable to a Web server, comprising the steps of:
at the Web server, and in response to a first HTTP request from the Web client, serving a response to the first HTTP request and logging a server processing time associated with serving the response;
at the Web client, calculating an end user response time associated with the first HTTP request by measuring a length of time from issuance of the first HTTP request until receipt of the requested data from the Web server;
upon a next HTTP request, passing the end user response time associated with the first HTTP request from the Web client to the Web server; and
calculating the Internet delay associated with the first HTTP request.
2. The method as described in claim 1 wherein the Internet delay associated with the HTTP request is calculated by subtracting the server processing time from the end user response time.
3. The method as described in claim 1 further including the step of maintaining at the Web server a unique identifier associated with each response generated by the Web server.
4. The method as described in claim 1 wherein the end user response time is passed to the Web server in a cookie.
5. The method as described in claim 4 wherein the cookie includes the unique identifier.
6. The method as described in claim 5 wherein the cookie also includes the URL of the Web server.
7. The method as described in claim 1 wherein the Web client includes a browser for issuing HTTP requests from the Web client to the Web server.
8. A method of determining an Internet delay associated with requests from a Web client connectable to a Web server, comprising the steps of:
at the Web server, and in response to a first HTTP request from the Web client, serving a response to the first HTTP request and logging a server processing time and a response identifier associated with serving the response;
at the Web client, calculating an end user response time associated with the first HTTP request by measuring a length of time from issuance of the first HTTP request until receipt of the requested data from the Web server;
upon a next HTTP request, passing the end user response time associated with the first HTTP request and the response identifier from the Web client to the Web server in a cookie; and
calculating the Internet delay associated with the first HTTP request by subtracting the server processing time from the end user response time.
9. The method as described in claim 8 wherein the Web client includes a browser for issuing HTTP requests from the Web client to the Web server.
10. The method as described in claim 8 wherein the cookie further includes the URL of the Web server.
11. A computer program product in a computer-readable medium for determining Internet delay associated with an HTTP request from a Web client connectable to a Web server in a computer network, comprising:
first program code means supported at the Web server and responsive to a first HTTP request from the Web client to the Web server for logging a server processing time associated with serving a response; and
second program code means supported at the Web server and responsive to receipt of a second HTTP request from the Web client to the Web server for retrieving data defining the response time of the first HTTP request and using that data to calculate the Internet delay associated with the first HTTP request.
12. The computer program product as described in claim 11 wherein the second program code means calculates the Internet delay associated with the first HTTP request by subtracting the server processing time from the response time.
13. The computer program product as described in claim 11 wherein the data defining the response time of the first HTTP request is contained in a cookie of the second HTTP request.
14. The computer program product as described in claim 13 wherein the cookie further includes the URL of the Web server.
15. The computer program product as described in claim 13 wherein the cookie further includes a unique identifier associated with the response.
16. A computer for use as a server in a computer network having a Web client connectable to the computer, comprising:
a processor;
an operating system;
a Web server program;
first program code means responsive to a first HTTP request from the Web client to the Web server program for logging a server processing time associated with serving the response; and
second program code means responsive to receipt of a second HTTP request from the Web client to the Web server program for retrieving data defining the response time of the first HTTP request and using that data to calculate the Internet delay associated with the first HTTP request.
17. The computer as described in claim 16 wherein the second program code means calculates the Internet delay associated with the first HTTP request by subtracting the server processing time from the response time.
18. The computer as described in claim 16 wherein the data defining the response time of the first HTTP request is contained in a cookie of the second HTTP request.
19. The computer as described in claim 18 wherein the cookie also includes the URL of the Web server.
20. The computer as described in claim 18 wherein the cookie further includes a unique identifier associated with the response.
21. A method of determining an Internet delay associated with requests from a client connectable to a server, comprising the steps of:
at the server, and in response to a first transfer request from the client, serving a response to the first transfer request and logging a server processing time associated with serving the response;
at the client, calculating an end user response time associated with the first transfer request by measuring a length of time from issuance of the first transfer request until receipt of the requested data from the server;
upon a next transfer request, passing the end user response time associated with the first transfer request from the client to the server; and
calculating the Internet delay associated with the first transfer request.
22. The method as described in claim 21 wherein the transfer protocol is selected from the group of transfer protocols consisting of HTTP, SMTP, FTP, NMTP and Telnet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/924,987 US6411998B1 (en) | 1997-09-08 | 1997-09-08 | World wide web internet delay monitor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/924,987 US6411998B1 (en) | 1997-09-08 | 1997-09-08 | World wide web internet delay monitor |
Publications (1)
Publication Number | Publication Date |
---|---|
US6411998B1 true US6411998B1 (en) | 2002-06-25 |
Family
ID=25451040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/924,987 Expired - Fee Related US6411998B1 (en) | 1997-09-08 | 1997-09-08 | World wide web internet delay monitor |
Country Status (1)
Country | Link |
---|---|
US (1) | US6411998B1 (en) |
Cited By (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020046363A1 (en) * | 2000-04-28 | 2002-04-18 | Nelson Ellen M. | State constrained web browser navagition system providing a simple transaction configuration tool |
US20020099818A1 (en) * | 2000-11-16 | 2002-07-25 | Russell Ethan George | Method and system for monitoring the performance of a distributed application |
US20020112049A1 (en) * | 2000-12-14 | 2002-08-15 | International Business Machines Corporation | Measuring response time for a computer accessing information from a network |
US20020147835A1 (en) * | 2001-04-04 | 2002-10-10 | Peter Zatloukal | Method and apparatus for preventing overload using scaled recovery |
US20020167942A1 (en) * | 2001-05-04 | 2002-11-14 | Cathy Fulton | Server-site response time computation for arbitrary applications |
US6483813B1 (en) * | 1999-06-25 | 2002-11-19 | Argentanalytics.Com, Inc. | Systems for monitoring command execution time |
US20020174421A1 (en) * | 2001-03-30 | 2002-11-21 | Zhao Ling Z. | Java application response time analyzer |
US20020198985A1 (en) * | 2001-05-09 | 2002-12-26 | Noam Fraenkel | Post-deployment monitoring and analysis of server performance |
US20020198984A1 (en) * | 2001-05-09 | 2002-12-26 | Guy Goldstein | Transaction breakdown feature to facilitate analysis of end user performance of a server system |
US20030023712A1 (en) * | 2001-03-30 | 2003-01-30 | Zhao Ling Z. | Site monitor |
US20030051031A1 (en) * | 2001-09-07 | 2003-03-13 | Streble Mary Catherine | Method and apparatus for collecting page load abandons in click stream data |
US20030055883A1 (en) * | 2001-03-30 | 2003-03-20 | Wiles Philip V. | Synthetic transaction monitor |
US6571344B1 (en) * | 1999-12-21 | 2003-05-27 | Koninklijke Philips Electronics N. V. | Method and apparatus for authenticating time-sensitive interactive communications |
US6668279B1 (en) * | 2000-02-25 | 2003-12-23 | Sun Microsystems, Inc. | User level web server in-kernel network I/O accelerator |
US20040064395A1 (en) * | 2002-02-19 | 2004-04-01 | Mintz Sagy P. | System and method for simulating an electronic trading environment |
US20040068461A1 (en) * | 2002-10-02 | 2004-04-08 | Jens-Uwe Schluetter | Method and apparatus for a fair exchange |
US6792460B2 (en) | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
US20040199629A1 (en) * | 2003-04-01 | 2004-10-07 | International Business Machines Corporation | Method and system for a debugging utility based on a TCP tunnel |
US20040205227A1 (en) * | 2000-02-01 | 2004-10-14 | Darcy Paul B. | System and method for exchanging data |
US20040267820A1 (en) * | 1999-10-14 | 2004-12-30 | Microsoft Corporation | Method and system for recording and replaying internet transactions |
US20050091378A1 (en) * | 2000-04-10 | 2005-04-28 | Jorg Nonnenmacher | Method and system for using mobile code to measure quality of service over a network |
US6934761B1 (en) | 2000-02-25 | 2005-08-23 | Sun Microsystems, Inc. | User level web server cache control of in-kernel http cache |
US20050272989A1 (en) * | 2004-06-04 | 2005-12-08 | Medtronic Minimed, Inc. | Analyte sensors and methods for making and using them |
US6985953B1 (en) * | 1998-11-30 | 2006-01-10 | George Mason University | System and apparatus for storage and transfer of secure data on web |
US6993591B1 (en) * | 1998-09-30 | 2006-01-31 | Lucent Technologies Inc. | Method and apparatus for prefetching internet resources based on estimated round trip time |
US7028091B1 (en) | 2000-08-31 | 2006-04-11 | Sun Microsystems, Inc. | Web server in-kernel interface to data transport system and cache manager |
WO2006045322A1 (en) * | 2004-10-20 | 2006-05-04 | Telecom Italia S.P.A. | Method and system for monitoring performance of a client-server architecture |
US7069304B1 (en) * | 1998-06-05 | 2006-06-27 | International Business Machines Corporation | Customizable web filler for alleviation of network latency and delay |
US20060221852A1 (en) * | 2005-04-01 | 2006-10-05 | International Business Machines Corporation | System and method utilizing a single agent on a non-origin node for measuring the roundtrip response time over a public or private network with HTTP/HTTPS network protocol |
US20060221851A1 (en) * | 2005-04-01 | 2006-10-05 | International Business Machines Corporation | System and method for measuring the roundtrip response time of network protocols utilizing a single agent on a non-origin node |
US20070005885A1 (en) * | 2005-06-30 | 2007-01-04 | Fujitsu Limited | RAID apparatus, and communication-connection monitoring method and program |
US7188146B1 (en) * | 1998-12-10 | 2007-03-06 | Canon Kabushiki Kaisha | Navigation apparatus capable of generating and displaying information and method therefor |
US7206805B1 (en) | 1999-09-09 | 2007-04-17 | Oracle International Corporation | Asynchronous transcription object management system |
US7222293B1 (en) * | 1999-08-12 | 2007-05-22 | Applieoe, Inc. | Professional time tracking and reporting system |
US7290056B1 (en) * | 1999-09-09 | 2007-10-30 | Oracle International Corporation | Monitoring latency of a network to manage termination of distributed transactions |
US20080027287A1 (en) * | 2002-04-22 | 2008-01-31 | Rajiv Shah | Methods and materials for stabilizing analyte sensors |
US20080026473A1 (en) * | 2002-10-18 | 2008-01-31 | Yunbing Wang | Analyte sensors and methods for making and using them |
US20080221911A1 (en) * | 2007-03-09 | 2008-09-11 | Ludmila Cherkasova | System and method for determining a subset of transactions of a computing system for use in determining resource costs |
US7519007B2 (en) | 2005-04-01 | 2009-04-14 | International Business Machines Corporation | Method utilizing a single agent on a non-origin node for measuring the roundtrip response time of web pages with embedded HTML frames over a public or private network |
US20090119301A1 (en) * | 2007-11-05 | 2009-05-07 | Ludmila Cherkasova | System and method for modeling a session-based system with a transaction-based analytic model |
US20090172152A1 (en) * | 2007-12-31 | 2009-07-02 | Microsoft Corporation | Real-time monitoring of a routing server |
US20100011126A1 (en) * | 2000-09-26 | 2010-01-14 | Foundry Networks, Inc. | Global server load balancing |
US20100061236A1 (en) * | 2004-08-23 | 2010-03-11 | Foundry Networks, Inc. | Smoothing algorithm for round trip time (rtt) measurements |
US20100095008A1 (en) * | 2003-09-29 | 2010-04-15 | Foundry Networks, Inc. | Global server load balancing support for private VIP addresses |
US20100096278A1 (en) * | 2006-04-04 | 2010-04-22 | Medtronic Minimed, Inc. | Methods and materials for controlling the electrochemistry of analyte sensors |
US20100153558A1 (en) * | 2000-09-26 | 2010-06-17 | Foundry Networks, Inc. | Global server load balancing |
US20100223621A1 (en) * | 2002-08-01 | 2010-09-02 | Foundry Networks, Inc. | Statistical tracking for global server load balancing |
US7813780B2 (en) | 2005-12-13 | 2010-10-12 | Medtronic Minimed, Inc. | Biosensors and methods for making and using them |
US7899899B2 (en) | 2004-05-06 | 2011-03-01 | Foundry Networks, Llc | Configurable geographic prefixes for global server load balancing |
US20110099261A1 (en) * | 2004-05-06 | 2011-04-28 | Brocade Communications Systems, Inc. | Host-level policies for global server load balancing |
US20110152654A1 (en) * | 2009-12-21 | 2011-06-23 | Medtronic Minimed, Inc. | Analyte sensors comprising blended membrane compositions and methods for making and using them |
CN102137130A (en) * | 2010-01-22 | 2011-07-27 | 华为技术有限公司 | Synchronized method and device based on hypertext transport protocol (HTTP) |
US20110270975A1 (en) * | 2010-05-03 | 2011-11-03 | Salesforce.com. inc. | Configurable frame work for testing and analysis of client-side web browser page performance |
US20120254078A1 (en) * | 2011-03-28 | 2012-10-04 | Google Inc | Markov modeling of service usage patterns |
US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
US20140019589A1 (en) * | 2010-09-30 | 2014-01-16 | Scott Ross | Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus |
US9130954B2 (en) | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
US9602729B2 (en) | 2015-06-07 | 2017-03-21 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US9619076B2 (en) | 2012-05-09 | 2017-04-11 | Apple Inc. | Device, method, and graphical user interface for transitioning between display states in response to a gesture |
US9645732B2 (en) | 2015-03-08 | 2017-05-09 | Apple Inc. | Devices, methods, and graphical user interfaces for displaying and using menus |
US9674426B2 (en) | 2015-06-07 | 2017-06-06 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US20170180227A1 (en) * | 2015-12-18 | 2017-06-22 | Cellos Software Ltd. | Method for Estimating Time Elapsed Between User Selection and First Bit Receipt from a Server |
US9753639B2 (en) | 2012-05-09 | 2017-09-05 | Apple Inc. | Device, method, and graphical user interface for displaying content associated with a corresponding affordance |
US9778771B2 (en) | 2012-12-29 | 2017-10-03 | Apple Inc. | Device, method, and graphical user interface for transitioning between touch input to display output relationships |
US9785305B2 (en) | 2015-03-19 | 2017-10-10 | Apple Inc. | Touch input cursor manipulation |
US9823839B2 (en) | 2012-05-09 | 2017-11-21 | Apple Inc. | Device, method, and graphical user interface for displaying additional information in response to a user contact |
US9886184B2 (en) | 2012-05-09 | 2018-02-06 | Apple Inc. | Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object |
US9959025B2 (en) | 2012-12-29 | 2018-05-01 | Apple Inc. | Device, method, and graphical user interface for navigating user interface hierarchies |
US9990121B2 (en) | 2012-05-09 | 2018-06-05 | Apple Inc. | Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input |
US9996231B2 (en) | 2012-05-09 | 2018-06-12 | Apple Inc. | Device, method, and graphical user interface for manipulating framed graphical objects |
US10042542B2 (en) | 2012-05-09 | 2018-08-07 | Apple Inc. | Device, method, and graphical user interface for moving and dropping a user interface object |
US10048757B2 (en) | 2015-03-08 | 2018-08-14 | Apple Inc. | Devices and methods for controlling media presentation |
US10078442B2 (en) | 2012-12-29 | 2018-09-18 | Apple Inc. | Device, method, and graphical user interface for determining whether to scroll or select content based on an intensity theshold |
US10095391B2 (en) | 2012-05-09 | 2018-10-09 | Apple Inc. | Device, method, and graphical user interface for selecting user interface objects |
US10095396B2 (en) | 2015-03-08 | 2018-10-09 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object |
US10126930B2 (en) | 2012-05-09 | 2018-11-13 | Apple Inc. | Device, method, and graphical user interface for scrolling nested regions |
CN108984384A (en) * | 2017-06-01 | 2018-12-11 | 中国电信股份有限公司 | Webpage head screen time-delay measuring method, device and system |
US10162452B2 (en) | 2015-08-10 | 2018-12-25 | Apple Inc. | Devices and methods for processing touch inputs based on their intensities |
US10175864B2 (en) | 2012-05-09 | 2019-01-08 | Apple Inc. | Device, method, and graphical user interface for selecting object within a group of objects in accordance with contact intensity |
US10175757B2 (en) | 2012-05-09 | 2019-01-08 | Apple Inc. | Device, method, and graphical user interface for providing tactile feedback for touch-based operations performed and reversed in a user interface |
US10193852B2 (en) | 2002-08-07 | 2019-01-29 | Avago Technologies International Sales Pte. Limited | Canonical name (CNAME) handling for global server load balancing |
US10437333B2 (en) | 2012-12-29 | 2019-10-08 | Apple Inc. | Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture |
US10496260B2 (en) | 2012-05-09 | 2019-12-03 | Apple Inc. | Device, method, and graphical user interface for pressure-based alteration of controls in a user interface |
US10565646B2 (en) | 2015-08-05 | 2020-02-18 | Trading Technologies International, Inc. | Methods and apparatus to internalize trade orders |
US10620781B2 (en) | 2012-12-29 | 2020-04-14 | Apple Inc. | Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics |
US10817937B1 (en) | 2003-02-28 | 2020-10-27 | Trading Technologies International, Inc. | Method and system for internal matching |
US11068153B2 (en) | 2012-05-09 | 2021-07-20 | Apple Inc. | Device, method, and graphical user interface for displaying user interface objects corresponding to an application |
US11188941B2 (en) | 2016-06-21 | 2021-11-30 | The Nielsen Company (Us), Llc | Methods and apparatus to collect and process browsing history |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446680A (en) * | 1991-08-09 | 1995-08-29 | Ibm Business Machines Corporation | System and method for obtaining network performance data |
US5724514A (en) * | 1994-11-25 | 1998-03-03 | Netmanage | System, method and apparatus for controlling the transfer of data objects over a communications link |
US5774670A (en) * | 1995-10-06 | 1998-06-30 | Netscape Communications Corporation | Persistent client state in a hypertext transfer protocol based client-server system |
US5793976A (en) * | 1996-04-01 | 1998-08-11 | Gte Laboratories Incorporated | Method and apparatus for performance monitoring in electronic communications networks |
US5796633A (en) * | 1996-07-12 | 1998-08-18 | Electronic Data Systems Corporation | Method and system for performance monitoring in computer networks |
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US5802303A (en) * | 1994-08-03 | 1998-09-01 | Hitachi, Ltd. | Monitor data collecting method for parallel computer system |
US5802106A (en) * | 1996-12-06 | 1998-09-01 | Packeteer, Inc. | Method for rapid data rate detection in a packet communication environment without data rate supervision |
US5806043A (en) * | 1995-06-06 | 1998-09-08 | Interactive Media Works, L.L.C. | Method for providing customer on-line support via prepaid internet access |
US5812780A (en) * | 1996-05-24 | 1998-09-22 | Microsoft Corporation | Method, system, and product for assessing a server application performance |
US5815667A (en) * | 1995-11-28 | 1998-09-29 | Ncr Corporation | Circuits and methods for intelligent acknowledgement based flow control in a processing system network |
US5822543A (en) * | 1996-07-08 | 1998-10-13 | International Business Machines Corporation | Gathering data handling statistics in non-synchronous data communication networks |
US5864871A (en) * | 1996-06-04 | 1999-01-26 | Multex Systems | Information delivery system and method including on-line entitlements |
US5875296A (en) * | 1997-01-28 | 1999-02-23 | International Business Machines Corporation | Distributed file system web server user authentication with cookies |
US5878213A (en) * | 1996-02-15 | 1999-03-02 | International Business Machines Corporation | Methods, systems and computer program products for the synchronization of time coherent caching system |
US5905872A (en) * | 1996-11-05 | 1999-05-18 | At&T Corp. | Method of transferring connection management information in world wideweb requests and responses |
US5912878A (en) * | 1997-02-27 | 1999-06-15 | Motorola, Inc. | Method and end station with improved user reponse time in a mobile network |
US5958018A (en) * | 1996-10-30 | 1999-09-28 | Lucent Technologies Inc. | Wireless services data network translating mac address to asynchronous transfer mode (ATM) address |
US5996007A (en) * | 1997-06-16 | 1999-11-30 | John Klug | Method for providing selected content during waiting time of an internet session |
US6006260A (en) * | 1997-06-03 | 1999-12-21 | Keynote Systems, Inc. | Method and apparatus for evalutating service to a user over the internet |
US6011537A (en) * | 1997-01-27 | 2000-01-04 | Slotznick; Benjamin | System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space |
US6032189A (en) * | 1996-02-06 | 2000-02-29 | Nippon Telegraph And Telephone Corp. | Network data distribution system |
US6031818A (en) * | 1997-03-19 | 2000-02-29 | Lucent Technologies Inc. | Error correction system for packet switching networks |
US6078956A (en) * | 1997-09-08 | 2000-06-20 | International Business Machines Corporation | World wide web end user response time monitor |
US6078953A (en) * | 1997-12-29 | 2000-06-20 | Ukiah Software, Inc. | System and method for monitoring quality of service over network |
US6115393A (en) * | 1991-04-12 | 2000-09-05 | Concord Communications, Inc. | Network monitoring |
-
1997
- 1997-09-08 US US08/924,987 patent/US6411998B1/en not_active Expired - Fee Related
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115393A (en) * | 1991-04-12 | 2000-09-05 | Concord Communications, Inc. | Network monitoring |
US5446680A (en) * | 1991-08-09 | 1995-08-29 | Ibm Business Machines Corporation | System and method for obtaining network performance data |
US5802303A (en) * | 1994-08-03 | 1998-09-01 | Hitachi, Ltd. | Monitor data collecting method for parallel computer system |
US5724514A (en) * | 1994-11-25 | 1998-03-03 | Netmanage | System, method and apparatus for controlling the transfer of data objects over a communications link |
US5806043A (en) * | 1995-06-06 | 1998-09-08 | Interactive Media Works, L.L.C. | Method for providing customer on-line support via prepaid internet access |
US5774670A (en) * | 1995-10-06 | 1998-06-30 | Netscape Communications Corporation | Persistent client state in a hypertext transfer protocol based client-server system |
US5815667A (en) * | 1995-11-28 | 1998-09-29 | Ncr Corporation | Circuits and methods for intelligent acknowledgement based flow control in a processing system network |
US6032189A (en) * | 1996-02-06 | 2000-02-29 | Nippon Telegraph And Telephone Corp. | Network data distribution system |
US5878213A (en) * | 1996-02-15 | 1999-03-02 | International Business Machines Corporation | Methods, systems and computer program products for the synchronization of time coherent caching system |
US5793976A (en) * | 1996-04-01 | 1998-08-11 | Gte Laboratories Incorporated | Method and apparatus for performance monitoring in electronic communications networks |
US5812780A (en) * | 1996-05-24 | 1998-09-22 | Microsoft Corporation | Method, system, and product for assessing a server application performance |
US5864871A (en) * | 1996-06-04 | 1999-01-26 | Multex Systems | Information delivery system and method including on-line entitlements |
US5822543A (en) * | 1996-07-08 | 1998-10-13 | International Business Machines Corporation | Gathering data handling statistics in non-synchronous data communication networks |
US5796633A (en) * | 1996-07-12 | 1998-08-18 | Electronic Data Systems Corporation | Method and system for performance monitoring in computer networks |
US5958018A (en) * | 1996-10-30 | 1999-09-28 | Lucent Technologies Inc. | Wireless services data network translating mac address to asynchronous transfer mode (ATM) address |
US5905872A (en) * | 1996-11-05 | 1999-05-18 | At&T Corp. | Method of transferring connection management information in world wideweb requests and responses |
US5802106A (en) * | 1996-12-06 | 1998-09-01 | Packeteer, Inc. | Method for rapid data rate detection in a packet communication environment without data rate supervision |
US6011537A (en) * | 1997-01-27 | 2000-01-04 | Slotznick; Benjamin | System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space |
US5875296A (en) * | 1997-01-28 | 1999-02-23 | International Business Machines Corporation | Distributed file system web server user authentication with cookies |
US5912878A (en) * | 1997-02-27 | 1999-06-15 | Motorola, Inc. | Method and end station with improved user reponse time in a mobile network |
US6031818A (en) * | 1997-03-19 | 2000-02-29 | Lucent Technologies Inc. | Error correction system for packet switching networks |
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6006260A (en) * | 1997-06-03 | 1999-12-21 | Keynote Systems, Inc. | Method and apparatus for evalutating service to a user over the internet |
US5996007A (en) * | 1997-06-16 | 1999-11-30 | John Klug | Method for providing selected content during waiting time of an internet session |
US6078956A (en) * | 1997-09-08 | 2000-06-20 | International Business Machines Corporation | World wide web end user response time monitor |
US6078953A (en) * | 1997-12-29 | 2000-06-20 | Ukiah Software, Inc. | System and method for monitoring quality of service over network |
Non-Patent Citations (4)
Title |
---|
Dilley et al, Measurement Tools & Modeling Techniques fro Evaluating Web Server Performance www.hpl.hp.com/96/HPL-96-161.pdf, Dec. 1996.* * |
Dilley et al, Measurement Tools and Modeling Techniques for Evaluating Web Server Performance, 1996.* * |
Onunga et al, A simple adaptive data link protocol for performance enhancement on networks with -variable quality links. IEEE, 1991. * |
Onunga et al, A simple adaptive data link protocol for performance enhancement on networks with —variable quality links. IEEE, 1991. |
Cited By (177)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7069304B1 (en) * | 1998-06-05 | 2006-06-27 | International Business Machines Corporation | Customizable web filler for alleviation of network latency and delay |
US6993591B1 (en) * | 1998-09-30 | 2006-01-31 | Lucent Technologies Inc. | Method and apparatus for prefetching internet resources based on estimated round trip time |
US6985953B1 (en) * | 1998-11-30 | 2006-01-10 | George Mason University | System and apparatus for storage and transfer of secure data on web |
US7188146B1 (en) * | 1998-12-10 | 2007-03-06 | Canon Kabushiki Kaisha | Navigation apparatus capable of generating and displaying information and method therefor |
US6483813B1 (en) * | 1999-06-25 | 2002-11-19 | Argentanalytics.Com, Inc. | Systems for monitoring command execution time |
US7222293B1 (en) * | 1999-08-12 | 2007-05-22 | Applieoe, Inc. | Professional time tracking and reporting system |
US7290056B1 (en) * | 1999-09-09 | 2007-10-30 | Oracle International Corporation | Monitoring latency of a network to manage termination of distributed transactions |
US7206805B1 (en) | 1999-09-09 | 2007-04-17 | Oracle International Corporation | Asynchronous transcription object management system |
US20040267820A1 (en) * | 1999-10-14 | 2004-12-30 | Microsoft Corporation | Method and system for recording and replaying internet transactions |
US6571344B1 (en) * | 1999-12-21 | 2003-05-27 | Koninklijke Philips Electronics N. V. | Method and apparatus for authenticating time-sensitive interactive communications |
US20040205227A1 (en) * | 2000-02-01 | 2004-10-14 | Darcy Paul B. | System and method for exchanging data |
US7181528B2 (en) * | 2000-02-01 | 2007-02-20 | Microsoft Corporation | System and method for exchanging data |
US6934761B1 (en) | 2000-02-25 | 2005-08-23 | Sun Microsystems, Inc. | User level web server cache control of in-kernel http cache |
US6668279B1 (en) * | 2000-02-25 | 2003-12-23 | Sun Microsystems, Inc. | User level web server in-kernel network I/O accelerator |
US20050091378A1 (en) * | 2000-04-10 | 2005-04-28 | Jorg Nonnenmacher | Method and system for using mobile code to measure quality of service over a network |
US7120676B2 (en) * | 2000-04-28 | 2006-10-10 | Agilent Technologies, Inc. | Transaction configuration system and method for transaction-based automated testing |
US20020046363A1 (en) * | 2000-04-28 | 2002-04-18 | Nelson Ellen M. | State constrained web browser navagition system providing a simple transaction configuration tool |
US7028091B1 (en) | 2000-08-31 | 2006-04-11 | Sun Microsystems, Inc. | Web server in-kernel interface to data transport system and cache manager |
US20100082787A1 (en) * | 2000-09-26 | 2010-04-01 | Foundry Networks, Inc. | Global server load balancing |
US20100153558A1 (en) * | 2000-09-26 | 2010-06-17 | Foundry Networks, Inc. | Global server load balancing |
US9479574B2 (en) | 2000-09-26 | 2016-10-25 | Brocade Communications Systems, Inc. | Global server load balancing |
US8504721B2 (en) | 2000-09-26 | 2013-08-06 | Brocade Communications Systems, Inc. | Global server load balancing |
US9225775B2 (en) * | 2000-09-26 | 2015-12-29 | Brocade Communications Systems, Inc. | Global server load balancing |
US9130954B2 (en) | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
US20100011126A1 (en) * | 2000-09-26 | 2010-01-14 | Foundry Networks, Inc. | Global server load balancing |
US20100293296A1 (en) * | 2000-09-26 | 2010-11-18 | Foundry Networks, Inc. | Global server load balancing |
US9015323B2 (en) | 2000-09-26 | 2015-04-21 | Brocade Communications Systems, Inc. | Global server load balancing |
US8024441B2 (en) | 2000-09-26 | 2011-09-20 | Brocade Communications Systems, Inc. | Global server load balancing |
US20020099818A1 (en) * | 2000-11-16 | 2002-07-25 | Russell Ethan George | Method and system for monitoring the performance of a distributed application |
US7600014B2 (en) * | 2000-11-16 | 2009-10-06 | Symantec Corporation | Method and system for monitoring the performance of a distributed application |
US8032626B1 (en) * | 2000-11-16 | 2011-10-04 | Symantec Corporation | Method and system for monitoring the performance of a distributed application |
US20020112049A1 (en) * | 2000-12-14 | 2002-08-15 | International Business Machines Corporation | Measuring response time for a computer accessing information from a network |
US20030055883A1 (en) * | 2001-03-30 | 2003-03-20 | Wiles Philip V. | Synthetic transaction monitor |
US7506047B2 (en) | 2001-03-30 | 2009-03-17 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US7792948B2 (en) | 2001-03-30 | 2010-09-07 | Bmc Software, Inc. | Method and system for collecting, aggregating and viewing performance data on a site-wide basis |
US20020174421A1 (en) * | 2001-03-30 | 2002-11-21 | Zhao Ling Z. | Java application response time analyzer |
US20090240765A1 (en) * | 2001-03-30 | 2009-09-24 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US7461369B2 (en) * | 2001-03-30 | 2008-12-02 | Bmc Software, Inc. | Java application response time analyzer |
US20030023712A1 (en) * | 2001-03-30 | 2003-01-30 | Zhao Ling Z. | Site monitor |
US7966398B2 (en) | 2001-03-30 | 2011-06-21 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US20020147835A1 (en) * | 2001-04-04 | 2002-10-10 | Peter Zatloukal | Method and apparatus for preventing overload using scaled recovery |
US7240117B2 (en) * | 2001-04-04 | 2007-07-03 | Hall Aluminum Llc | Method and apparatus for preventing overload using scaled recovery |
USRE43011E1 (en) | 2001-04-04 | 2011-12-06 | Hall Aluminum Llc | Method and apparatus for preventing overload using scaled recovery |
US20020167942A1 (en) * | 2001-05-04 | 2002-11-14 | Cathy Fulton | Server-site response time computation for arbitrary applications |
WO2002091112A3 (en) * | 2001-05-04 | 2003-11-20 | Netqos Inc | Server-site response time computation for arbitrary applications |
WO2002091112A2 (en) * | 2001-05-04 | 2002-11-14 | Netqos, Inc. | Server-site response time computation for arbitrary applications |
US7197559B2 (en) * | 2001-05-09 | 2007-03-27 | Mercury Interactive Corporation | Transaction breakdown feature to facilitate analysis of end user performance of a server system |
US20020198985A1 (en) * | 2001-05-09 | 2002-12-26 | Noam Fraenkel | Post-deployment monitoring and analysis of server performance |
US20020198984A1 (en) * | 2001-05-09 | 2002-12-26 | Guy Goldstein | Transaction breakdown feature to facilitate analysis of end user performance of a server system |
US6973492B2 (en) * | 2001-09-07 | 2005-12-06 | International Business Machines Corporation | Method and apparatus for collecting page load abandons in click stream data |
US20030051031A1 (en) * | 2001-09-07 | 2003-03-13 | Streble Mary Catherine | Method and apparatus for collecting page load abandons in click stream data |
US8694414B2 (en) | 2002-02-19 | 2014-04-08 | Trading Technologies International, Inc | System and method for simulating an electronic trading environment |
US7610240B2 (en) | 2002-02-19 | 2009-10-27 | Trading Technologies International, Inc. | System and method for simulating an electronic trading environment |
US10304131B2 (en) | 2002-02-19 | 2019-05-28 | Trading Technologies International, Inc. | System and method for simulating an electronic trading environment |
US7672895B2 (en) | 2002-02-19 | 2010-03-02 | Trading Technologies International, Inc. | System and method for simulating an electronic trading environment |
US8239315B2 (en) | 2002-02-19 | 2012-08-07 | Trading Technologies International, Inc. | System and method for simulating an electronic trading environment |
US20100042530A1 (en) * | 2002-02-19 | 2010-02-18 | Trading Technologies International, Inc. | System and Method for Simulating an Electronic Trading Environment |
US20040064395A1 (en) * | 2002-02-19 | 2004-04-01 | Mintz Sagy P. | System and method for simulating an electronic trading environment |
US20060259399A1 (en) * | 2002-02-19 | 2006-11-16 | Sagy Mintz | System and Method for simulating an electronic trading environment |
US9492111B2 (en) | 2002-04-22 | 2016-11-15 | Medtronic Minimed, Inc. | Methods and materials for stabilizing analyte sensors |
US20080027287A1 (en) * | 2002-04-22 | 2008-01-31 | Rajiv Shah | Methods and materials for stabilizing analyte sensors |
US20100223621A1 (en) * | 2002-08-01 | 2010-09-02 | Foundry Networks, Inc. | Statistical tracking for global server load balancing |
US8949850B2 (en) | 2002-08-01 | 2015-02-03 | Brocade Communications Systems, Inc. | Statistical tracking for global server load balancing |
US11095603B2 (en) | 2002-08-07 | 2021-08-17 | Avago Technologies International Sales Pte. Limited | Canonical name (CNAME) handling for global server load balancing |
US10193852B2 (en) | 2002-08-07 | 2019-01-29 | Avago Technologies International Sales Pte. Limited | Canonical name (CNAME) handling for global server load balancing |
US7401143B2 (en) | 2002-10-02 | 2008-07-15 | Hewlett-Packard Development Company, L.P. | System and methods for monitoring application server performance |
US20040215768A1 (en) * | 2002-10-02 | 2004-10-28 | Yossi Oulu | System and methods for monitoring application server performance |
US8108297B2 (en) | 2002-10-02 | 2012-01-31 | Trading Technologies International, Inc. | Method and apparatus for a fair exchange |
US20040068461A1 (en) * | 2002-10-02 | 2004-04-08 | Jens-Uwe Schluetter | Method and apparatus for a fair exchange |
US8370251B2 (en) | 2002-10-02 | 2013-02-05 | Trading Technologies International, Inc. | Method and apparatus for a fair exchange |
US7752115B2 (en) | 2002-10-02 | 2010-07-06 | Trading Technologies International, Inc. | Method and apparatus for a fair exchange |
US6792460B2 (en) | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
US9818155B2 (en) | 2002-10-02 | 2017-11-14 | Trading Technologies International, Inc. | Method and apparatus for a fair exchange |
US8494954B2 (en) | 2002-10-02 | 2013-07-23 | Trading Technologies International, Inc | Method and apparatus for a fair exchange |
US7461026B2 (en) | 2002-10-02 | 2008-12-02 | Trading Technologies International, Inc. | Method and apparatus for a fair exchange |
US20040215762A1 (en) * | 2002-10-02 | 2004-10-28 | Yossi Oulu | System and methods for monitoring application server performance |
US10839456B2 (en) | 2002-10-02 | 2020-11-17 | Hulbert & Berghoff LLP | Method and apparatus for a fair exchange |
US20060259397A1 (en) * | 2002-10-02 | 2006-11-16 | Trading Technologies International, Inc. | Method and apparatus for a fair exchange |
US7822844B2 (en) | 2002-10-02 | 2010-10-26 | Hewlett-Packard Development Company, L.P. | System and methods for monitoring application server performance |
US9541519B2 (en) | 2002-10-18 | 2017-01-10 | Medtronic Minimed, Inc. | Amperometric sensor electrodes |
US9237865B2 (en) | 2002-10-18 | 2016-01-19 | Medtronic Minimed, Inc. | Analyte sensors and methods for making and using them |
US20080026473A1 (en) * | 2002-10-18 | 2008-01-31 | Yunbing Wang | Analyte sensors and methods for making and using them |
US20100175992A1 (en) * | 2002-10-18 | 2010-07-15 | Medtronic Minimed, Inc. | Methods and materials for controlling the electrochemistry of analyte sensors |
US9163273B2 (en) | 2002-10-18 | 2015-10-20 | Medtronic Minimed, Inc. | Biosensors and methods for making and using them |
US20100280347A1 (en) * | 2002-10-18 | 2010-11-04 | Medtronic Minimed, Inc. | Biosensors and methods for making and using them |
US11120501B2 (en) | 2003-02-28 | 2021-09-14 | Trading Technologies International, Inc. | Method and system for internal matching |
US10817937B1 (en) | 2003-02-28 | 2020-10-27 | Trading Technologies International, Inc. | Method and system for internal matching |
US20040199629A1 (en) * | 2003-04-01 | 2004-10-07 | International Business Machines Corporation | Method and system for a debugging utility based on a TCP tunnel |
US7441036B2 (en) | 2003-04-01 | 2008-10-21 | International Business Machines Corporation | Method and system for a debugging utility based on a TCP tunnel |
US20100095008A1 (en) * | 2003-09-29 | 2010-04-15 | Foundry Networks, Inc. | Global server load balancing support for private VIP addresses |
US9584360B2 (en) | 2003-09-29 | 2017-02-28 | Foundry Networks, Llc | Global server load balancing support for private VIP addresses |
US8510428B2 (en) | 2004-05-06 | 2013-08-13 | Brocade Communications Systems, Inc. | Configurable geographic prefixes for global server load balancing |
US20110191459A1 (en) * | 2004-05-06 | 2011-08-04 | Foundry Networks, Llc | Configurable geographic prefixes for global server load balancing |
US7899899B2 (en) | 2004-05-06 | 2011-03-01 | Foundry Networks, Llc | Configurable geographic prefixes for global server load balancing |
US8862740B2 (en) | 2004-05-06 | 2014-10-14 | Brocade Communications Systems, Inc. | Host-level policies for global server load balancing |
US20110099261A1 (en) * | 2004-05-06 | 2011-04-28 | Brocade Communications Systems, Inc. | Host-level policies for global server load balancing |
US7949757B2 (en) | 2004-05-06 | 2011-05-24 | Brocade Communications Systems, Inc. | Host-level policies for global server load balancing |
US8280998B2 (en) | 2004-05-06 | 2012-10-02 | Brocade Communications Systems, Inc. | Configurable geographic prefixes for global server load balancing |
US20050272989A1 (en) * | 2004-06-04 | 2005-12-08 | Medtronic Minimed, Inc. | Analyte sensors and methods for making and using them |
US20110122771A1 (en) * | 2004-08-23 | 2011-05-26 | Brocade Communications Systems, Inc. | Smoothing algorithm for round trip time (rtt) measurements |
US20100061236A1 (en) * | 2004-08-23 | 2010-03-11 | Foundry Networks, Inc. | Smoothing algorithm for round trip time (rtt) measurements |
US7885188B2 (en) | 2004-08-23 | 2011-02-08 | Brocade Communications Systems, Inc. | Smoothing algorithm for round trip time (RTT) measurements |
US8755279B2 (en) | 2004-08-23 | 2014-06-17 | Brocade Communications Systems, Inc. | Smoothing algorithm for round trip time (RTT) measurements |
US7933988B2 (en) | 2004-10-20 | 2011-04-26 | Telecom Italia S.P.A. | Method and system for monitoring performance of a client-server architecture |
CN101044463B (en) * | 2004-10-20 | 2010-08-18 | 意大利电信股份公司 | Method and system for monitoring performance of client-server architecture |
WO2006045322A1 (en) * | 2004-10-20 | 2006-05-04 | Telecom Italia S.P.A. | Method and system for monitoring performance of a client-server architecture |
US8135829B2 (en) | 2005-04-01 | 2012-03-13 | International Business Machines Corporation | Utilizing a single agent on a non-origin node for measuring the roundtrip response time of web pages with embedded HTML frames |
US7519007B2 (en) | 2005-04-01 | 2009-04-14 | International Business Machines Corporation | Method utilizing a single agent on a non-origin node for measuring the roundtrip response time of web pages with embedded HTML frames over a public or private network |
US20060221851A1 (en) * | 2005-04-01 | 2006-10-05 | International Business Machines Corporation | System and method for measuring the roundtrip response time of network protocols utilizing a single agent on a non-origin node |
US20060221852A1 (en) * | 2005-04-01 | 2006-10-05 | International Business Machines Corporation | System and method utilizing a single agent on a non-origin node for measuring the roundtrip response time over a public or private network with HTTP/HTTPS network protocol |
US7580365B2 (en) | 2005-04-01 | 2009-08-25 | International Business Machines Corporation | System and method utilizing a single agent on a non-origin node for measuring the roundtrip response time over a public or private network with HTTP/HTTPS network protocol |
US20070005885A1 (en) * | 2005-06-30 | 2007-01-04 | Fujitsu Limited | RAID apparatus, and communication-connection monitoring method and program |
US7567514B2 (en) * | 2005-06-30 | 2009-07-28 | Fujitsu Limited | RAID apparatus, and communication-connection monitoring method and program |
US7813780B2 (en) | 2005-12-13 | 2010-10-12 | Medtronic Minimed, Inc. | Biosensors and methods for making and using them |
US20100279377A1 (en) * | 2005-12-13 | 2010-11-04 | Medtronic Minimed, Inc. | Biosensors and methods for making and using them |
US20100096278A1 (en) * | 2006-04-04 | 2010-04-22 | Medtronic Minimed, Inc. | Methods and materials for controlling the electrochemistry of analyte sensors |
US20080221911A1 (en) * | 2007-03-09 | 2008-09-11 | Ludmila Cherkasova | System and method for determining a subset of transactions of a computing system for use in determining resource costs |
US7779127B2 (en) * | 2007-03-09 | 2010-08-17 | Hewlett-Packard Development Company, L.P. | System and method for determining a subset of transactions of a computing system for use in determing resource costs |
US20090119301A1 (en) * | 2007-11-05 | 2009-05-07 | Ludmila Cherkasova | System and method for modeling a session-based system with a transaction-based analytic model |
US8326970B2 (en) | 2007-11-05 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | System and method for modeling a session-based system with a transaction-based analytic model |
US7818422B2 (en) * | 2007-12-31 | 2010-10-19 | Microsoft Corporation | Real-time monitoring of a routing server |
US20090172152A1 (en) * | 2007-12-31 | 2009-07-02 | Microsoft Corporation | Real-time monitoring of a routing server |
US20110152654A1 (en) * | 2009-12-21 | 2011-06-23 | Medtronic Minimed, Inc. | Analyte sensors comprising blended membrane compositions and methods for making and using them |
US8660628B2 (en) | 2009-12-21 | 2014-02-25 | Medtronic Minimed, Inc. | Analyte sensors comprising blended membrane compositions and methods for making and using them |
US8990429B2 (en) * | 2010-01-22 | 2015-03-24 | Huawei Technologies Co., Ltd. | HTTP-based synchronization method and apparatus |
US9313015B2 (en) * | 2010-01-22 | 2016-04-12 | Huawei Technologies Co., Ltd. | HTTP-based synchronization method and apparatus |
US20150163047A1 (en) * | 2010-01-22 | 2015-06-11 | Huawei Technologies Co., Ltd. | Http-based synchronization method and apparatus |
US20120246258A1 (en) * | 2010-01-22 | 2012-09-27 | Huawei Technologies Co., Ltd. | Http-based synchronization method and apparatus |
WO2011088725A1 (en) * | 2010-01-22 | 2011-07-28 | 华为技术有限公司 | Method and apparatus for synchronization based on hypertext transfer protocol (http) |
CN102137130A (en) * | 2010-01-22 | 2011-07-27 | 华为技术有限公司 | Synchronized method and device based on hypertext transport protocol (HTTP) |
US8977739B2 (en) * | 2010-05-03 | 2015-03-10 | Salesforce.Com, Inc. | Configurable frame work for testing and analysis of client-side web browser page performance |
US20110270975A1 (en) * | 2010-05-03 | 2011-11-03 | Salesforce.com. inc. | Configurable frame work for testing and analysis of client-side web browser page performance |
US9332056B2 (en) * | 2010-09-30 | 2016-05-03 | The Nielsen Company (Us), Llc | Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus |
US20140019589A1 (en) * | 2010-09-30 | 2014-01-16 | Scott Ross | Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus |
US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
US9338182B2 (en) | 2010-10-15 | 2016-05-10 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
US8909562B2 (en) * | 2011-03-28 | 2014-12-09 | Google Inc. | Markov modeling of service usage patterns |
US20120254078A1 (en) * | 2011-03-28 | 2012-10-04 | Google Inc | Markov modeling of service usage patterns |
US10175757B2 (en) | 2012-05-09 | 2019-01-08 | Apple Inc. | Device, method, and graphical user interface for providing tactile feedback for touch-based operations performed and reversed in a user interface |
US10126930B2 (en) | 2012-05-09 | 2018-11-13 | Apple Inc. | Device, method, and graphical user interface for scrolling nested regions |
US9823839B2 (en) | 2012-05-09 | 2017-11-21 | Apple Inc. | Device, method, and graphical user interface for displaying additional information in response to a user contact |
US9619076B2 (en) | 2012-05-09 | 2017-04-11 | Apple Inc. | Device, method, and graphical user interface for transitioning between display states in response to a gesture |
US11068153B2 (en) | 2012-05-09 | 2021-07-20 | Apple Inc. | Device, method, and graphical user interface for displaying user interface objects corresponding to an application |
US9886184B2 (en) | 2012-05-09 | 2018-02-06 | Apple Inc. | Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object |
US10496260B2 (en) | 2012-05-09 | 2019-12-03 | Apple Inc. | Device, method, and graphical user interface for pressure-based alteration of controls in a user interface |
US9990121B2 (en) | 2012-05-09 | 2018-06-05 | Apple Inc. | Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input |
US9996231B2 (en) | 2012-05-09 | 2018-06-12 | Apple Inc. | Device, method, and graphical user interface for manipulating framed graphical objects |
US10042542B2 (en) | 2012-05-09 | 2018-08-07 | Apple Inc. | Device, method, and graphical user interface for moving and dropping a user interface object |
US10481690B2 (en) | 2012-05-09 | 2019-11-19 | Apple Inc. | Device, method, and graphical user interface for providing tactile feedback for media adjustment operations performed in a user interface |
US9753639B2 (en) | 2012-05-09 | 2017-09-05 | Apple Inc. | Device, method, and graphical user interface for displaying content associated with a corresponding affordance |
US10095391B2 (en) | 2012-05-09 | 2018-10-09 | Apple Inc. | Device, method, and graphical user interface for selecting user interface objects |
US10191627B2 (en) | 2012-05-09 | 2019-01-29 | Apple Inc. | Device, method, and graphical user interface for manipulating framed graphical objects |
US10175864B2 (en) | 2012-05-09 | 2019-01-08 | Apple Inc. | Device, method, and graphical user interface for selecting object within a group of objects in accordance with contact intensity |
US10620781B2 (en) | 2012-12-29 | 2020-04-14 | Apple Inc. | Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics |
US9959025B2 (en) | 2012-12-29 | 2018-05-01 | Apple Inc. | Device, method, and graphical user interface for navigating user interface hierarchies |
US9857897B2 (en) | 2012-12-29 | 2018-01-02 | Apple Inc. | Device and method for assigning respective portions of an aggregate intensity to a plurality of contacts |
US10101887B2 (en) | 2012-12-29 | 2018-10-16 | Apple Inc. | Device, method, and graphical user interface for navigating user interface hierarchies |
US9778771B2 (en) | 2012-12-29 | 2017-10-03 | Apple Inc. | Device, method, and graphical user interface for transitioning between touch input to display output relationships |
US10437333B2 (en) | 2012-12-29 | 2019-10-08 | Apple Inc. | Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture |
US10078442B2 (en) | 2012-12-29 | 2018-09-18 | Apple Inc. | Device, method, and graphical user interface for determining whether to scroll or select content based on an intensity theshold |
US10095396B2 (en) | 2015-03-08 | 2018-10-09 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object |
US10048757B2 (en) | 2015-03-08 | 2018-08-14 | Apple Inc. | Devices and methods for controlling media presentation |
US9645732B2 (en) | 2015-03-08 | 2017-05-09 | Apple Inc. | Devices, methods, and graphical user interfaces for displaying and using menus |
US9785305B2 (en) | 2015-03-19 | 2017-10-10 | Apple Inc. | Touch input cursor manipulation |
US9860451B2 (en) | 2015-06-07 | 2018-01-02 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US9674426B2 (en) | 2015-06-07 | 2017-06-06 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US9602729B2 (en) | 2015-06-07 | 2017-03-21 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US11631134B2 (en) | 2015-08-05 | 2023-04-18 | Trading Technologies International, Inc. | Methods and apparatus to internalize trade orders |
US11270378B2 (en) | 2015-08-05 | 2022-03-08 | Trading Technologies International, Inc. | Methods and apparatus to internalize trade orders |
US10565646B2 (en) | 2015-08-05 | 2020-02-18 | Trading Technologies International, Inc. | Methods and apparatus to internalize trade orders |
US11182017B2 (en) | 2015-08-10 | 2021-11-23 | Apple Inc. | Devices and methods for processing touch inputs based on their intensities |
US10162452B2 (en) | 2015-08-10 | 2018-12-25 | Apple Inc. | Devices and methods for processing touch inputs based on their intensities |
US10237154B2 (en) * | 2015-12-18 | 2019-03-19 | Cellos Software Ltd. | Method for estimating time elapsed between user selection and first bit receipt from a server |
US20170180227A1 (en) * | 2015-12-18 | 2017-06-22 | Cellos Software Ltd. | Method for Estimating Time Elapsed Between User Selection and First Bit Receipt from a Server |
US11188941B2 (en) | 2016-06-21 | 2021-11-30 | The Nielsen Company (Us), Llc | Methods and apparatus to collect and process browsing history |
US12093978B2 (en) | 2016-06-21 | 2024-09-17 | The Nielsen Company (Us), Llc | Methods and apparatus to collect and process browsing history |
CN108984384A (en) * | 2017-06-01 | 2018-12-11 | 中国电信股份有限公司 | Webpage head screen time-delay measuring method, device and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6411998B1 (en) | World wide web internet delay monitor | |
US6078956A (en) | World wide web end user response time monitor | |
US7870254B2 (en) | Method and apparatus for measuring web site performance | |
US6021439A (en) | Internet quality-of-service method and system | |
JP4334232B2 (en) | Method for measuring client-side performance, computer-readable medium holding instructions therefor, and method for responding to client-side performance | |
US7389343B2 (en) | Method, system and program product for tracking web user sessions | |
US7933988B2 (en) | Method and system for monitoring performance of a client-server architecture | |
US7437451B2 (en) | System and method for collecting desired information for network transactions at the kernel level | |
US5931912A (en) | Traversal path-based approach to understanding user-oriented hypertext object usage | |
US6671723B2 (en) | Method and apparatus for scanning a web site in a distributed data processing system for problem determination | |
US7506047B2 (en) | Synthetic transaction monitor with replay capability | |
US7680672B2 (en) | Event collection architecture | |
US7600014B2 (en) | Method and system for monitoring the performance of a distributed application | |
US7461369B2 (en) | Java application response time analyzer | |
US8392499B2 (en) | System and method for relating aborted client accesses of data to quality of service provided by a server in a client-server network | |
US7392321B1 (en) | Method and system for evaluating quality of service for transactions over a network | |
US20030023712A1 (en) | Site monitor | |
US20020073197A1 (en) | Method and apparatus for customizing performance of a browser for a given network connection | |
US20060047792A1 (en) | Dynamically configuring a server computer | |
KR101055871B1 (en) | Apparatus and method for extracting user session information through real-time analysis of web logs | |
EP1026608A2 (en) | Method and apparatus for logging web user activity using client-side support | |
CA2441014A1 (en) | Method and apparatus for processing of internet forms | |
US20060230133A1 (en) | On demand problem determination based on remote autonomic modification of web application server operating characteristics | |
Chiew | Web page performance analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BRYANT, RAYMOND M.;HOFFMAN, RICHARD D.;KAHN, SAMUEL;REEL/FRAME:008702/0236;SIGNING DATES FROM 19970820 TO 19970827 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
SULP | Surcharge for late payment |
Year of fee payment: 7 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20140625 |