Multiplex communications – Pathfinding or routing – Switching a message which includes an address header
Reexamination Certificate
1998-06-30
2001-11-27
Nguyen, Chau (Department: 2663)
Multiplex communications
Pathfinding or routing
Switching a message which includes an address header
C370S392000
Reexamination Certificate
active
06324177
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to methods and apparatuses for load balancing incoming connections based on a source IP address. More specifically, the invention relates to creating a connection object that contains an IP address and port number corresponding to a physical machine that handles a connection from outside based on the IP address of the outside machine making the connection.
2. Description of the Related Art
With the recent explosive growth of the Internet, a very large percentage of businesses, including many small businesses, desire to have an Internet site that is dedicated to them. An Internet site is generally implemented on an Internet server which is connected to the Internet via an Internet service provider (ISP). Some Internet sites are busy enough to require a plurality of servers in order to handle all of the connections which are made to those sites. Accordingly, co-pending application Ser. No. 08/850,248 describes a system and method for monitoring the availability of servers at an Internet site which simulate a virtual server and distributing new connection requests to servers which are available for connections and which are likely to have faster response times.
For less visited sites, the opposite situation is presented. Instead of one site requiring a plurality of servers, it would be desirable to combine a plurality of sites on a single server, since each one of the individual sites would not require all of the capacity of the server in order to service its connection traffic. It is also true that Internet traffic tends to be distributed among sites in a manner which is nonhomogenous. That is, certain sites receive a very large quantity of traffic while others receive little or no traffic. Furthermore, traffic on certain sites may increase or decrease unpredictably. Accordingly, co-pending application Ser. No. 08/850,730 describes a system and method for sharing connection load among a group of servers in a manner that allows each server to service more than one site and multiple servers to share the load for individual sites.
In a situation where a number of web servers are configured to service a website, it is possible that a number of different Clients will want to access the site via the Internet. It should be noted that the terms “Client” and “server” are used herein for the purpose of example only and that the roles of Client and server may be reversed in certain applications within the spirit and scope of the present invention. It would be desirable if different levels of service could be provided to different Clients without necessarily partitioning the different web servers in a rigid way such as allocating certain web servers to certain Clients. It would be most desirable if all web servers could be available for all Clients but certain Clients could have priority both in the quality of server to which their connections are assigned and in how quickly their connections are assigned to a server.
Therefore, in addition to distributing connections among a group of servers based on a determination of which server is best able to handle the connection, it would also be useful if different connections could be distributed among different sets of servers based on the source of an incoming connection request. Specifically, it would be most useful if various outside entities or Clients could be selectively granted access to sets of servers providing different classes of service based on the class of service subscribed to by each outside entity. Also, it would be useful if different outside entities could be directed to different servers or ports running special processes intended for specific entities. For example, it might be desirable to provide a special welcome page to visitors from certain preferred companies. In other situations, it might be desirable to provide a special not welcome page to site abusers who are unwelcome either because they appear to be repeatedly connecting to the server in a malicious attempt to keep the server busy or because the Client has been determined to be undesirable for some other reason. It would also be useful if Client connections could be assigned to a particular server based on the type of traffic generated by the Client or the frequency of traffic generated by the Client.
What is needed, therefore, is an apparatus and method for assigning connections using load balancing and also for providing access to different groups of servers or ports based on the identity of the outside entity attempting to establish a connection. Such a system would could ideally integrate load balancing of connections among a group of web servers with discriminating between Clients based on the identity of the Client or the behavior of the Client. Such a system would make possible a scheme where Clients could be assigned to different levels of service but where all Clients could be serviced by all available web servers if the servers happen to be available. In addition, a way of sending site abusers a not welcome page when they attempt to connect to the site is needed. Also, it may be desirable to welcome particular Clients who are customers from a particular company with a special welcome page.
SUMMARY OF THE INVENTION
Accordingly, the present invention provides a method of assigning connections to different web servers based on the Client IP address. The disclosed system provides faster dedicated service to certain Clients who have paid for special service. Also, different users may be sent to different applications running on different servers and certain servers are restricted to certain users. Incoming SYN packets are analyzed to determine the source IP address of new connection requests. The source IP address is used to determine which web server is assigned to handle the connection requested by the SYN packet.
It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one embodiment, a method for assigning an incoming connection to a server includes defining a client specific virtual machine object instance that is associated with a designated client IP address. An incoming packet is received that is associated with a new connection. The incoming packet has a packet source IP address, a packet source port number, a packet destination IP address, and a packet destination port number. A client specific virtual machine object instance is selected that is associated with the designated client IP address when the packet source IP address matches the designated client IP address. The packet destination IP address is translated to a physical machine IP address that is designated by the client specific virtual machine instance when the packet source IP address matches the designated client IP address so that the client specific virtual machine instance is selected when the designated client IP address matches the packet source IP address and the packet is routed to the physical machine that is designated by the client specific virtual machine instance.
These and other features and advantages of the present invention will be presented in more detail in the following specification of the invention and the accompanying figures which illustrate by way of example the principles of the invention.
REFERENCES:
patent: 5371852 (1994-12-01), Attanasio et al.
patent: 5617417 (1997-04-01), Sathe et al.
patent: 5774660 (1998-06-01), Brenda et al.
patent: 5809235 (1998-09-01), Sharma et al.
patent: 5918017 (1999-06-01), Attanasio et al.
patent: 6052711 (2000-04-01), Gish
patent: WO 97/05727 (1997-02-01), None
Web Page for Coyote Point Systems © 1997; www.coyotepoint.com.
Howes Richard A.
Kersey Edward C.
Cisco Technology
Mehra Inder Pal
Nguyen Chau
Van Pelt & Yi LLP
LandOfFree
Method and apparatus for managing connections based on a... 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 apparatus for managing connections based on a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for managing connections based on a... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2584670