Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing
Reexamination Certificate
2000-05-10
2004-09-07
Eng, David Y. (Department: 2155)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Reexamination Certificate
active
06789125
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to data networks, and more specifically to a technique for distributed load balancing of network traffic across a data network.
2. Background
Content providers on the World Wide Web are willing to pay a great deal of money to guarantee that their content is delivered quickly and accurately to any given client. Accordingly, a great deal of research has been conducted to address the problem of speeding up HTTP transactions conducted between a client and a server, particularly in situations where there is a relatively large propagation delay between the client and the server.
Although the speed of data transmission across the Internet is continuing to increase, the propagation delay associated with the speed of an electrical signal traveling through a wire or fiberoptic cable (i.e. the speed of light) cannot be reduced. Such delays are becoming a significant factor in the overall propagation delay between the server and client. In order to reduce the overall propagation delay between a given server and a given client, conventional techniques have resorted to replicating the server system, and placing multiple copies of the replicated server system at locations as near as possible to the client.
Thus, for example, a common technique used by content providers is to store content from the host server in co-location spaces that are geographically distributed over a wide area. The co-location spaces form an overlay network that is more costly and less flexible, but provide better service than the traditional Internet. Typically the ISPs which manage the co-location spaces charge the content provider for each megabyte stored in the co-location space. The co-location spaces may be implemented as proxy servers, which pull specific data from the host server in response to specific client requests, or may be implemented as fully replicated servers which include all the information of the host server.
Although the use of co-location spaces will help reduce the overall propagation delay between a server and client, another issue which arises relates to the problem of determining how an arbitrary client is redirected to the nearest replica or proxy server, particularly where it is not known ahead of time which clients will be asking for information and where the clients are located. Some conventional techniques have been implemented to address this problem, but typically require the use of a gateway router.
An alternate technique for predicting, for a given client, the nearest replica or proxy server to that client has been developed by Akamai Technologies, Inc. (of Cambridge, Mass.). The proprietary Akamai routing technique involves constructing a network map of the Internet topology. The network map information is stored in a central network operating center or NOC which is located on a specific Akamai server. When a client attempts to access a content provider's site which is part of the Akamai overlay network of co-location servers, the client will initiate a DNS resolution request, which is resolved by the NOC server. The NOC dynamically resolves the requested domain name to a co-location server address that is nearest topologically to the client, using information from the network map.
However, in order for Akamai's routing technique to be successfully implemented, the network topology map must be continually updated and maintained. According to at least one school of thought, however, maintaining an accurate Internet topology may be nearly impossible since the Internet topology is dynamically changing and is exponentially growing in size and complexity each day.
Accordingly, in light of the foregoing, there exists a continual need to develop alternative solutions for providing fast and efficient routing and load balancing of web traffic across data networks.
SUMMARY OF THE INVENTION
According to specific embodiments of the present invention, a technique is provided for routing a client device to access a specific client server in a data network. The data network may include at least one host server, a sub-network of client servers associated with the at least one host server, and at least one client system. According to one embodiment, the data network corresponds to the Internet, wherein the at least one host server corresponds to the host server of a content provider, the sub-network of client servers corresponds to an overlay network of proxy or replica servers, and the client system corresponds to at least one client computer which accesses the Internet via a name server.
The technique of the present invention provides a solution to the problem of routing or redirecting a given client to a replica or proxy server which has a relatively shortest propagation delay to the client. According to the technique of the present invention, a network device referred to as an intercept server sits in front of a host server, and intercepts packets routed to the host server. When desired, packets which are intercepted by the intercept server are replicated, encapsulated and tunneled to selected client servers in the overlay network. The tunneled packets are received and processed by each of the selected client servers, whereupon each of the selected client servers generates a respective spoofed response to the source device identified in the header of the originally intercepted packet. Further, according to the technique of the present invention, each of the selected client servers transmits its respective spoofed response to the identified source device at substantially the same time. The client server associated with the spoofed response which is first received at the identified source device is considered to have a relatively shortest propagation delay to the identified source device, and is identified as the successful client server. Thereafter, the source device will be directed or redirected to communicate directly with the successful client server when subsequently attempting to access information from the host server.
According to specific embodiments of the present invention, a method and computer program product are disclosed for routing a specific device to access a specific client server in a data network which includes a sub-network of client servers associated with at least one host server. A first request from a source device is received. The source device is identified using information from the received request. The identified source device information is then used to determine a first portion of client servers to which the first request will be forwarded. Information relating to the first request is then forwarded to the first portion of client servers. Additionally, each of the first portion of client servers is caused to respond to the source device at substantially the same time.
According to one embodiment, the intercept server determines the associated one-way propagation delay value for communicating with each respective client server in the sub-network. Using this data, the intercept server staggers the transmission of the forwarded first request to each of the first plurality of client servers in order to ensure that the forwarded first requests are received at the first portion of client servers at substantially the same time. According to an alternative embodiment, the intercept server transmits trigger information along with each forwarded first request. The trigger information corresponds to a specific time at which all of the first portion of client servers are to transmit their respective spoofed responses to the source device.
According to alternate embodiments of the present invention, a method and computer program product are disclosed for routing a specific device to access a specific client server in a data network. The data network may include a sub-network of client servers associated with at least one host server. A tunneled packet from an intercept server is received at a first client server. The tunneled packet includes information relating to a first
Aviani James
Baker Frederick
Gnagy Matthew Richard
Mueller, II Kenneth E.
Swanson David Eric
Beyer Weaver & Thomas LLP
Cisco Technology Inc.
Eng David Y.
Wolf, Esq. Dean E.
LandOfFree
Distributed network traffic load balancing technique... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Distributed network traffic load balancing technique..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Distributed network traffic load balancing technique... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3222868