Method of automatically selecting a mirror server for...

Electrical computers and digital processing systems: multicomput – Distributed data processing – Client/server

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S200000, C709S224000, C709S241000, C709S242000, C709S245000, C709S241000

Reexamination Certificate

active

06606643

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to methods of supplying information through a network from a host computer to a client program, such as a web browser. More specifically, this invention relates to methods of automatically selecting an appropriate web server computer from among multiple mirrored servers distributed on the Internet to supply web content to a requesting client.
2. Description of Related Art As the Internet grows in popularity, and as web sites increase in complexity of content and sophistication of presentation, many web based enterprises have begun to encounter significant problems relating to the speed of their web service. Currently, most host servers consist of a single machine, which may serve up to several million document requests, received from all over the world, each day. In the vast majority of cases, these enterprises have been observing a steady upward trend in the number of requests received, and a corresponding steady increase in the load upon the web server.
Further, most web enterprises plan to add dynamic content to their site in the near future, or are in the process of doing so already. Such dynamic content might include presenting users with graphical user interface forms containing enter-text-here fields, buttons, check-boxes, pull-down menus, and scrolling lists. The growth of content and improved functionality all lead to increased loads on the host server. For many web sites the load is becoming too great for a single server to carry with acceptable response time.
In addition to overloaded servers, network congestion contributes to the slow response time of popular web sites. When a single host server is used, the network connections leading to that server can become a bottleneck, leading to slow response times, even where the server would otherwise be capable of servicing the entire load.
Upgrading the server machine to a more powerful one, or increasing the network capacity are not long term solutions to these twin problems of slow speed, especially when incremental scalability is desirable. Traditionally, most sites have dealt with the speed problem by replacing the single web server with a cluster of co-located replicated servers. Although this may solve the problem of overloaded servers, it does not help alleviate latency arising as a result of network congestion. Instead, a concept that is becoming increasingly popular, especially with respect to software archives, is to geographically distribute the servers, and create “mirror” sites. Such a distributed architecture results in increased availability of the service in times of network congestion and partial unavailability, and has the potential for increased performance by taking into account topological proximity of clients and servers.
A current difficulty with distributed mirror server designs is that the user must manually select a server from a list of mirror servers. One popular web site offering downloadable web browser software currently offers visitors a choice of over
70
mirror sites, distributed all over the world. However, requiring actual human-user mediation to select a particular mirror server is a relatively crude and invasive technique. Moreover, there is no guarantee that the server chosen by the user will, in fact, be an optimal choice. A choice made on the basis of geographical proximity does not guarantee optimality since, in the context of the Internet, factors such as network traffic and server load can be critical in identifying an “optimum” mirror server.
One approach to automating mirror server selection has been based on the Domain Name Server (DNS) system. A DNS approach typically requires that the name server at the server side be modified to respond to translation requests with the IP (Internet Protocol) numbers of different hosts, perhaps in a Round-Robin fashion. As such, client requests are partitioned amongst the various replicated hosts and load is balanced amongst the servers.
There are several problems with this method, however. First, there are usually several intermediate name servers between the client and the Round-Robin DNS, which may cache name-to-IP mapping. The use of such cached results can later create serious load imbalances between the replicated servers. One immediate solution to this problem is to have the Round-Robin DNS specify a time-to-live (TTL) for each resolved name, such that requests made after the specified TTL has expired are not resolved in the local name server, but are instead forwarded to the authoritative DNS which can now return the IP address of the “optimal” web server. Nevertheless, multiple HTTP (hypertext transfer protocol) requests made during a given TTL period will continue to be directed to the same web server, causing the problem to resurface.
Making the TTL very small can help mitigate this effect, but comes at the added cost of significantly increased network traffic for name resolution. Furthermore, many name servers may just ignore a TTL which is smaller than some minimum threshold, choosing to default to some value.
Another potential solution to the problem of automated mirror server selection is to use a HTTP redirect approach. In this method HTTP return code URL redirection is used to perform the load balancing. This approach requires a busy server to return the address of another server, instead of the actual response, and then the client is asked to resubmit its request to the new server. However, the redirecting server knows nothing about the current workload of the new server, which is the target of the redirection.
Typically, HTTP redirection is done for moved web pages or a moved web site and is only used for a limited time frame, to allow people who have bookmarked the old location to continue to access the resource. It is not really useful for load balancing purposes because of the lack of knowledge about the workload of the new server, which is the target of the redirection.
Yet another class of solution uses a server side approach in which a server-side routing module redirects all incoming requests to a set of hosts based upon load characteristics. The routing module becomes a centralized authority responsible for selecting one of many clustered servers to service a request. The major drawback with this approach is that the centralized routing module often exhibits itself as a single point of failure, and as a severe performance bottleneck, thus defying the entire purpose of redirection for enhanced availability and rapid response time.
Bearing in mind the problems and deficiencies of the prior art, it is therefore an object of the present invention to provide a method of automatically selecting a mirror server in which small amounts of data transfer and computation are required, as compared to alternative solutions so that a minimum overhead is imposed upon the system.
It is another object of the present invention to provide a method of automatically selecting a mirror server which eliminates the need for a centralized intermediate agent that tracks individual packets passing between clients and servers.
It is a further object of the present invention to provide a method of automatically selecting a mirror server in which a direct connection is established between the client and the server after a close proximity server has been located by the system.
Yet another object of the present invention to provide a method of automatically selecting a mirror server in which a new web server can be easily added to the existing host replica network without having to modify the existing infrastructure in any significant way.
Still another object of the present invention to provide a method of automatically selecting a mirror server in which load balancing is accomplished without problems arise from client or name-server caching.
It is a further object of the invention to provide a method of automatically selecting a mirror server in which the entire replica-selection process is completely transparent to the human-user who is attempting to access- the we

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method of automatically selecting a mirror server for... 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 of automatically selecting a mirror server for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of automatically selecting a mirror server for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3074641

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.