Global network monitoring system
AssigneeTonic Software, Inc.
InventorJohn Bradley Chen
Life of this patent
Estimating the term…
Loading patent…
AssigneeTonic Software, Inc.
InventorJohn Bradley Chen
Estimating the term…
A method of analyzing performance data collected in regard to a plurality of content sources on a network. A ratio of performance metrics such as a render time for retrieving and displaying images and a fetch time for retrieving a base document, or a render bandwidth and a fetch bandwidth, for different content sources, is very useful in analyzing the performance of a distributed application across the network. By comparing measurements for two or more content sources and analyzing them according to a network structure, it is possible to recognize differences in the relative performance of the content sources and to quantify one content source relative to a standard defined by the performance of the other. The analysis both determines network performance and identifies specific performance problems manifest at specific localities of the network topology.
A method of analyzing the performance of a distributed application across a network using measurement related to a plurality of different content sources, the method comprising the steps of:
An article of manufacture adapted for use with a processor, comprising:
An article of manufacture adapted for use with a processor, comprising:
A system for measuring a performance of a distributed application across a network, comprising:
A system for measuring the performance of a distributed application across a network, comprising:
A method of analyzing the performance of a distributed application across a network, comprising the steps of:
A method of analyzing the performance of a distributed application across a network, comprising the steps of:
An article of manufacture adapted for use with a processor, comprising:
A system for measuring a performance of a distributed application across a network, comprising:
A method for measuring a performance of a distributed application across a network, comprising the steps of:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
Network analysis or design: using statistical or mathematical methods
Arrangements for monitoring or testing data switching networks: generation of reports
By checking availability: by checking functioning
Processing captured monitoring data, e.g. for logfile generation: for graphical visualisation of monitoring data
Term end not estimated
The present invention generally relates to the online monitoring of the performance of a distributed application across a distributed network of computing systems, and more particularly, to measuring the performance of distributed applications across a global network, or a global network service, from the edge of the network, and at a plurality of small, topologically related blocks of end points.
A distributed application is a software system that runs on two or more computers connected by a computer network. Client-server computing is a special case of distributed application computing. With the growth of the World Wide Web (WWW), interactive distributed applications have become a substantial part of popular computer usage. Web services based on Hypertext Markup Language (HTML) and Hypertext Transfer Protocol (HTTP) represent one type of distributed application. Other kinds of distributed applications include instant messaging, streaming media, and automated teller machines used by banks. Electronic mail (email) is an example of a non-interactive distributed application. Distributed applications are commonly implemented using the Internet, but can also be implemented using private wide area networks (intranets), virtual private networks (VPNs), or local area networks (LANs).
A significant problem for users and providers of network services can be the slow or poor performance of a distributed application. Software that enables the performance of distributed applications to be monitored is thus an important tool in analyzing such performance issues. However, measuring the delivery via protocols such as HTTP of content over the Internet is complicated by the federated nature of the Internet (compared to LANs or intranets), because the overall performance of the system depends not only on infrastructure that is directly controlled by the application provider, but also by a multitude of third parties. These third parties include the providers of collocation and hosting services (e.g., Rackspace, Netinfra, Digex), providers of Internet network connections (e.g., InterNAP, UUNet, and Cable & Wireless), multiple backbone providers (e.g., ATT, Sprint, MCI, UUNet, and Cable & Wireless), content delivery networks (CDNs) (e.g., Akamai, Mirror Image Internet, and Digital Island—a subsidiary of Cable & Wireless), advertising networks (e.g., Double-Click and Avenue-A), and consumer Internet service providers (ISPs) (e.g., AOL, Earthlink, MSN, and ATT Broadband Internet). Problems in any of these third party providers can lead to distributed application service degradation or failure, but the number of providers involved (literally thousands) and the limited visibility that an application provider generally has into these independently administered systems commonly makes service problems particularly difficult to detect and diagnose.
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
FIG. 1 is a schematic diagram showing exemplary client computers coupled in a network with a server computer and with a data center at which performance metrics are selectively collected and processed;
FIG. 2 is a schematic block diagram illustrating the components of a generally conventional personal computer suitable as either a recipient of monitored distribution application data (e.g., a monitored Web page) or as a source of the monitored application data, in connection with implementing the present invention;
The present invention is a method of analyzing response time data collected from a plurality of hosts on an internetwork. The analysis serves to quantify internetwork performance and further, to identify specific performance problems manifest at the edge of the internetwork, where the users of the internetwork reside. Preferably, the data to be processed are derived from a large and diverse base of client computers. An exemplary data source for use in conjunction with the present invention is the product described in the above-noted patent application that has been incorporated herein by reference, although other data sources can alternatively be employed.
The term “Web page” as used herein refers to “distributed application content,” while the term “Web site” is used to refer more generally to a distributed application. Distributed application content thus refers to a document and components comprising the document that are retrieved as a part of processing or “rendering” the document and its components. HTML documents, Standard Meta Language (SML) documents, and eXtensible Markup Language (XML) documents are examples of distributed application content. “Fetch time” as used herein refers to the time required to retrieve a base document. For example, in the case of a Web browser, the base document will typically be the HTML document referenced by a Uniform Resource Locator (URL) that is being displayed by the browser. “Render time” as used herein refers to the time to retrieve an image or other object and fully display the image or other object in a browser program at an end point. It should be noted that these definitions are consistent with those employed in the specification of the commonly assigned patent application specifically incorporated herein by reference above. “Performance record” as used herein refers to performance statistics (including render and fetch time) for the event of a specific Web page or subnet being loaded by a specific end point. “Content source” as used herein refers to the internetwork entity where a specific content is stored and served to a browser program that is accessing the content. For example, a Web page that includes both text and graphics often stores the text and image portions in different locations. Even different images or different frames on a Web page can be stored at different locations. The code (such as HTML or XML) defining the Web page will include links (i.e., URLs) for the specific internetwork location of the text or image required to display the Web page and its components on a user's computer. The browser automatically retrieves the required content from the indicated source. Generally, content sources are servers where the content is stored so that it can be accessed by a client that is accessing a Web page in which the content is a component. If a Web page does not include components stored on another source, but is instead, stored in its entirety on a single server, that server is then the content source for the Web page. The term “end point” of an internetwork refers to a user device that accesses content from a content source. A subnet includes a plurality of end points that are related in the manner in which the end points access the internetwork.
The analysis of the present invention is facilitated by a number of novel performance metrics. Several of these metrics are discussed in detail below, and specific examples of the use of those metrics are provided. Before providing a detailed discussion of the present invention, it will be useful to discuss it in more general terms.