1.  Field of the Invention
The present invention relates to a method, system and program for measuring client performance in network system in general and the Internet in particular. 
2.  Description of the Related Art
One of the problems facing electronic commerce over the Internet, i.e., World Wide Web, is the delays in processing electronic transactions and returning information to a customer or user.  Electronic commerce includes both purchasing products or services over the Internet as well as including advertisements in web pages that are otherwise freely available.  A customer at a remote location from a merchant""s server may experience a delay of several seconds to a couple of minutes to perform each step of an electronic transaction, including the steps of retrieving information on the transaction, retrieving an order form to display in the customer""s Web browser, transmitting the filled out form to the merchant""s Internet server form, and then receiving confirmation of the completion of the transaction.  Further, the customer may experience substantial delays when purchasing and downloading multi-media files or programs over the Internet.  Still further, users web pages that include requested information, such as newspaper articles, along with advertisements, may experience significant delays in retrieving the desired web page.  The sum total of delays for each of these operations may discourage users from engaging in electronic commerce over the Internet. 
There are many possible causes of delays in processing Internet transactions.  A user may have a slow communication device, such as a low speed modem which substantially limits bandwidth.  Further, a merchant""s server may be experiencing significant traffic which increases the system load and causes transactions to be queued, i.e., wait-listed.  Still further, delays may be caused by the route a file takes when transmitted across the Internet.  To transfer a file across the Internet, the file is broken into many packets, which are then transferred across multiple routers to the end user, where they are assembled to form the complete file.  The transmission of a packet over a router is referred to as a hop.  Each time a packet is forwarded to a router a hop occurs.  Transmission time increases as a packet makes hops.  Delays further include the time for the graphical user interface (GUI) at the customer computer to display the information transmitted over the Internet. 
Currently, there are utilities that can measure certain performance aspects in the route of Internet transmissions.  For instance, there are utilities which test a server""s ability to handle Internet file requests by load and stress testing the server with file requests.  Traceroute and Packet Internet Groper (xe2x80x9cPingxe2x80x9d) programs determine the route of a file transmitted over the network, i.e., all the intermediary routers and hosts through which the packets of the file passed.  Traceroute and Ping are helpful for determining whether specific IP addresses are functioning, whether file packets are being lost or dropped when transmitted over the network, and the response times for requests.  Large variances in the response time of Pings, also referred to as xe2x80x9cjitter,xe2x80x9d can indicate a cause of poor Internet performance. 
Notwithstanding the usefulness of the present Internet performance measurement utilities, as electronic commerce extends world wide, electronic commerce merchants need tools to estimate and determine the response times for electronic Internet transactions from customers located at IP addresses throughout the world.  Further, current performance utilities may measure certain network transmission times and paths, but do not measure specific client response times, such as the time it takes for the customer to display information requested from the server. 
The lack of tools to adequately measure response time performance can prevent merchants from accurately assessing the cause of delays.  Further, without adequate performance measurement tools, merchants cannot optimize and tailor the design of Web pages to accommodate the bandwidth limitations of both the customer computers and network communication paths between the merchant server and customers.  If merchants cannot accurately estimate the response time from the customer end, then they may not realize problems with the design of the web page, especially delays in downloading merchant web pages, that are discouraging customers from using electronic commerce to purchase products over the Internet.  Moreover, the importance of the Internet as a sales and marketing channel is increasing exponentially.  Thus, the need for accurate response time measurement tools is ever more apparent and necessary to operate in the new xe2x80x9con-linexe2x80x9d economy. 
To overcome the limitations in the prior art described above, preferred embodiments disclose a system, method, and program for generating network performance data.  Performance information including a performance time to download a page and execute the page within an application program is received.  The received performance information is processed and then performance information output indicating network performance is generated in response to processing the performance information. 
In further embodiments, executing the page comprises displaying the entire contents of the page.  Still further, executing the page may comprise executing a script program to input data into the displayed page.  The page including the input data is then transmitted and a response concerning the transmitted page is received.  In such case, the performance time further includes the time to enter the input data into the page, transmit the page including the input data, and receive the response. 
In still further embodiments, a network address at a location remote from the server is determined.  The performance information output may then be used to estimate a performance time for a hypothetical device at the network address to download and execute the page. 
With preferred embodiments, performance data may be gathered from remote computers and then used to assess network performance and/or estimate performance times at any network address, such as an IP address, worldwide.  In preferred embodiments, the performance time includes both the network delay time and the client performance time.  The network delay time includes the time to transmit a request to the server, have the server process the request and generate a response page, and then transmit the response page back to the client.  The client performance time includes the time for the client processor and system resources to display the received response in a browser.  Further, the client performance time may include time for the client to enter data into the received page, transmit the page to the server for processing, and then receive confirmation of the page with the inputted data from the server. 
In this way, the performance time includes all the delay time a user, such as a customer, experiences when engaging in transactions with a remote server.  With commercial transactions, the performance time can include the time to download a purchase order from a merchant""s server, enter data into the purchase order, submit the purchase order to the server, and receive confirmation that the purchase order was processed.  Merchants can use actual performance time information to estimate performance time at IP addresses at any location in the world.  These estimated performance times provide an accurate estimate of all delays a consumer might experience, including network delays and client performance delays.  With this information, a merchant or other web site host can determine whether the design of their web site, including the number of pages and content within the pages, produces unacceptable delays in user/customer processing that needs to be addressed in order to avoid losing customers dissatisfied with the delays.