Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing
Reexamination Certificate
2000-03-31
2004-08-17
Alam, Hosain (Department: 2155)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
C709S226000, C709S245000
Reexamination Certificate
active
06779039
ABSTRACT:
CROSS REFERENCE TO APPENDIX
This patent application includes microfiche Appendix A which is a part of the present disclosure and which is incorporated by reference herein in its entirety. This Appendix consists of a total of 2 sheets that contain a total of 122 frames. Appendix A is a listing of software code for embodiments of the present invention, which are described more completely below.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to computer networking and, in particular, to a system that performs clustering of routers in multiple network servers.
2. Discussion of Related Art
Increasing numbers of companies are conducting transactions and building relationships online, with consumers and business partners in a phenomenon called “e-business.”
E-business is usage of Internet-based technologies to improve communications with customers and information exchange with business partners, and to increase sales. Web sites, electronic commerce, intranets, and extranets are all examples of E-business entities. Many Web, DNS, proxy, FTP, firewall, and application server services are needed in any of these environments. If any of the services fails or responds slowly, the entire system suffers. Downtime in today's highly competitive marketplace can mean lost revenue and lost credibility.
Adding more memory or substituting a larger server can expand the capacity of an E-business entity, such as a Website. In either case, expansion requires downtime and an additional capital expenditure. In conventional systems, the only way to supply a reliable capacity to meet a rapidly increasing demand is to purchase computing power far beyond that which meets current needs. Then, once the demand exceeds the purchased computing power, the entire computer must be replaced and the purchase cycle repeated. The conventional business practice is highly inefficient, wasteful of operating expenses, and inadequate for meeting customer needs.
One technique for improving the reliability and responsiveness of Internet sites is the usage of server clusters. Server clusters are arrays of servers that share common tasks while appearing to external devices as single resources. In a cluster, each server shares the load that would be handled traditionally by a large server alone. A user accesses a cluster in the same manner as a single server is accessed.
Clusters improve both reliability and scalability of operation in comparison to single server operation. Redundant servers in a cluster support tolerance to system failures.
Several basic approaches to Internet server clustering and load balancing are presently available. One approach is the usage of software executing on one or more servers to create clusters of Internet Servers. The clusters are peer-to-peer clusters with no arbitrator or manager. According to measurements using benchmarking tools, software-based cluster performance is generally poor since servers in the cluster must devote significant amounts of computer power to managing the cluster. Also, communications among the servers for cluster management and resource arbitration add large amounts of data onto the network connecting the servers.
A second approach is the usage of “load balancing” software executing on special-purpose industrial PCs. A PC executing the load balancing software broadcasts the source PC Internet Protocol (IP) address as an identification address of the cluster of Internet Servers. As network traffic is received, the load balancing system uses a technology known as Network Address Translation (NAT) to modify each packet, changing from the source IP address to the actual address of the server that is to receive the traffic. The server responds to the request and the PC load balancing software again uses NAT to modify the “From” address in each packet to create the appearance that the PC load balancer sent the packets. PC load balancers are restricted to applications that use TCP/IP (transmission control protocol/Internet protocol), effectively limiting the applications to technologies including Web servers, firewall servers and proxy servers. The TCP/IP products usually become a bottleneck for data traffic into and out of the cluster, slowing overall performance. NAT technology requires that the body of each packet be available to the processor, so a cluster based on a PC load balancer cannot be used if the data packets are encrypted.
A third approach is the usage of load balancing software that executes from a local area network (LAN) switch rather than a PC. Execution from the switch hardware increases data transfer rates but remains based on NAT technology using TCP/IP, limiting applications to Web servers, firewall servers, and proxy servers. Switch-based and PC load balancers cannot be used when the data packets are encrypted.
What is needed is a system and operating method that attains very high data throughput rates and supports all Internet protocols.
SUMMARY OF THE PRESENT INVENTION
A router clustering system connects two or more routers to one or more distinct Internet Service Providers (ISPs) in a high-availability arrangement. Typically, the two or more routers connect to a plurality of ISPs at a site so that an outage of one ISP does not affect connectivity and availability to the site. The router clustering system typically includes a plurality of clustering units for redundancy that avoids difficulties that arise with a single point of failure. Fore example, two clustering units may be used in an active-passive high-availability configuration.
Various implementations of the router clustering system have several router clustering features and benefits. Outgoing traffic that is destined for devices on the Internet is distributed among the two or more routers included in the cluster. The router clustering system distributes traffic based on the destination IP addresses of the packets thus ensuring that all IP-based protocols are supported.
In some embodiments, the same router handles all outgoing traffic for a single client-server session, and unlimited client-server sessions can be supported.
In some embodiments, the same router handles all outgoing traffic for a single client-server session and unlimited client-server sessions can be supported.
For communication interconnects using a router clustering system, servers need not be configured with multiple gateways. Servers are configured to use a single ‘logical’ gateway having an IP address identifying the router cluster.
In some implementations, the router clustering system continually monitors the operational health of the routers and associated wide area network (WAN) links.
In some implementations, the router clustering system detects one or more of various failure conditions including: (1) failure of the router LAN interface and link, (2) failure of the router due to power outage, software malfunction, hardware malfunction, or other condition, and (3) failure of the router WAN interface and link. When the router clustering system detects a failure, traffic is automatically forwarded to the remaining operational router or routers. The router clustering system does not require manual intervention at the server to bypass the failed router.
Additional routers may be seamlessly added to supply additional bandwidth and greater fault tolerance.
The router clustering system operates in a manner that is independent of the router hardware and software. Various combinations of routers can exist in the cluster as long as the routers have the same connectivity.
In one aspect of a router clustering system, a router cluster creator creates or configures a router cluster. To create a router cluster, an administrator assigns to the cluster a logical Internet protocol (IP) address IPgw and specifies routers, Router
1
and Router
2
, that are members of the cluster. Typically the member routers are previously configured as servers. The router clustering system begins to monitor “health” of the routers. In some implementations, the router clustering system monitors router hea
Bommareddy Satish
Chaganty Srinivas
Kale Makarand
Alam Hosain
Avaya Technology Corp.
Tran Philip B.
Volejnicek David
LandOfFree
System and method for routing message traffic using 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 System and method for routing message traffic using a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for routing message traffic using a... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3359220