Electrical computers and digital processing systems: multicomput – Computer network managing – Computer network monitoring
Reexamination Certificate
1998-05-29
2001-11-06
Dinh, Dung C. (Department: 2153)
Electrical computers and digital processing systems: multicomput
Computer network managing
Computer network monitoring
C709S226000, C709S201000, C709S235000, C709S227000, C709S223000
Reexamination Certificate
active
06314463
ABSTRACT:
TECHNICAL FIELD
This invention relates to managing web servers and, more particularly, to a web service system that allows a system operator to manage multiple web servers.
BACKGROUND INFORMATION
Web servers are used to respond to user's web page requests. A web server monitors one or more computer network address/port endpoints for web page requests and responds to the web page requests sent to an endpoint by transmitting web pages to the requester. Such web servers may be implemented with a software program running on a general purpose computer. The service capacity of a web server limits the number of web page requests that may be received and responded to.
For web applications that generate a significant amount of requests, web page application providers may use two or more web servers. Each web page request may be directed towards one of the web servers, and that one of the web servers responds to that web page request. In this way the requests are divided among the web servers. The web page requester may or may not have knowledge that there are a plurality of web servers responding to requests for a particular application.
In one web service system, the requester has knowledge that the application is available from more than one web server. The requester selects a web server, and requests a web page from that server. The web server responds to that web page request by providing a web page. This system has the disadvantage of requiring that the requester be aware of the various web servers. It has the additional disadvantage of having the web server selection be out of the control of the web service system.
In another system with multiple web servers, the domain name system (“DNS”) that is in use in the Internet may be used to divide requests among a plurality of web servers. In normal use, a DNS server is used to match a web server name with a network address/port endpoint. A DNS request provides the DNS server with the name of a web server, and the DNS server responds with the network address/port endpoint of that web server. In the web service system that uses a DNS server to distribute requests to multiple web servers, when a web server name is submitted to the DNS server, the DNS server responds with one of the several address/port endpoints associated with the multiple web servers. In this way, DNS requests with the same DNS name may be responded to with different web servers having different network address/port endpoints. In this way, the DNS server can divide the requests among the servers. This has the advantage of not requiring the requester to have knowledge of the web service system architecture. One disadvantage of this system is that the DNS server must do more work than usually required to match names with endpoints, and this extra work may decrease the throughput of the DNS server. Another disadvantage is that the DNS server may not know how many web page requests are associated with a DNS request. Each response of the DNS server may be cached in other DNS servers for some period of time, and so one DNS request response may result in an unpredictably large number of web page requests being directed to the one web server, and that server may become overloaded.
In addition, systems that manage web servers may measure the performance of a web server. Web server performance has been measured by sending a request to the web server and measuring the time that passes until a response to the request is received. This metric has the disadvantage of including the network's performance in the measurement of web server performance.
SUMMARY OF THE INVENTION
In one aspect, the invention features a method for determining the length of a request queue of a web server. The method includes transmitting a page request to the web server. The method also includes counting the number of pages served by the web server after the page request is transmitted until the page request is served. The method also includes identifying the length of the request queue as the number of pages counted.
Embodiments of this aspect of the invention can include the following features. In one embodiment, the transmitting step includes transmitting, by an agent to the web server, the web page request. In another embodiment, the counting step includes receiving, by a web server interface, information about each page served by the web server. The counting step also includes transmitting, by the web server interface to the agent, the information about each page served by the web server. The counting step also includes monitoring, by the agent, the information about each page served by the web server. In another embodiment, the counting step further includes counting, by the agent, the pages served by the web server. The pages are counted until the web page request transmitted by the agent to the web server is responded to by the web server, thereby determining a page count. In another embodiment, the counting step also includes counting, by the agent, the pages served by the web server. The pages are counted until the web page request transmitted by the agent to the web server is recognized, thereby determining a page count. In another embodiment, the identifying step includes identifying, by the agent, the page count as the request queue length. In another embodiment, the step of transmitting by the web server interface to the agent includes transmitting over a shared memory communications channel.
In another aspect, the invention features a system for determining the length of a request queue of a web server. The system includes a transmitter for transmitting a page request to the web server. The system also includes a counter for counting the number of pages served by the web server after the page request is transmitted until the page request is served. The system also includes an identifier for identifying the length of the request queue as the number of pages counted by the counter. Embodiments of this aspect of the invention can include the following features. In one embodiment, the system includes an agent on the same host as the web server. In another embodiment, the transmitter includes an agent on the same host as the web server.
In another aspect, the invention features a method for determining the delay time of a page request in a request queue of a web server. The method includes transmitting a page request to the web server. The method also includes measuring the time from the transmission of the page request to the service of the requested page by the web server. The method also includes identifying the delay time as the time measured in the measuring step.
Embodiments of this aspect of the invention can include the following features. In one embodiment, the transmitting step comprises transmitting, by an agent to the web server, the web page request. In another embodiment, the measuring step includes receiving information about each page served by the web server. The measuring step also includes transmitting the information about each page served by the web server. The measuring step also includes monitoring the information about each page served by the web server.
In another embodiment, the timing step includes timing, by the agent, the pages served by the web server. The timing continues until the web page request transmitted by the agent to the web server is responded to by the web server. The processing time is subtracted, thereby determining a delay time. In another embodiment, the timing step includes timing, by the agent, the pages served by the web server. The timing continues until the web page request transmitted by the agent to the web server is processed, thereby determining a delay time. In another embodiment, the identifying step includes identifying, by the agent, the delay time as the request queue delay. In another embodiment, the step of transmitting by the web server interface to the agent includes transmitting over a shared memory communications channel.
In another aspect, the invention features a system for determining the delay time of a page request in
Abbott Freeland
Lara Marco
Yamane Stanley
Dinh Dung C.
Salad Abdullahi E.
Testa Hurwitz & Thibeault LLP
Webspective Software, Inc.
LandOfFree
Method and system for measuring queue length and delay does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for measuring queue length and delay, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for measuring queue length and delay will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2572654