TCP CONNECTION HOP
April 2001
A core technology invention of Resonate which provides a powerful, flexible architecture for intelligent load balancing and traffic scheduling is called the "TCP Connection Hop." The TCP Connection Hop capability is implemented through a powerful, efficient, and high performance software component called Resonate Exchange Protocol(RXP). RXP, which is installed on every machine in a Central Dispatch cluster, serves multiple functions depending upon the designation of the machine on which it is running.
RESONATE ACTIVE SERVICE LEVEL MANAGEMENT SOLUTION
Resonate delivers the first active service level management solutions for e-business applications. By combining real-time monitoring with policy-based control, Resonate Commander takes immediate corrective action to ensure maximized service levels of an e-business application. Resonate solutions ensure service levels of e-business applications, providing high availability and performance while leveraging existing infrastructure investments.
Resonate's Unique patented TCP Connection Hop is a core technology invention of Resonate which provides a powerful, flexible architecture for intelligent load balancing and traffic scheduling. It is an integral part of Resonate Commander as well as Resonate Central Dispatch and Resonate Global Dispatch.
The TCP Connection Hop capability is implemented through a powerful, efficient, and high performance software component called Resonate Exchange Protocol (RXP). RXP, which is installed on every machine in a Central Dispatch cluster, serves multiple functions depending upon the designation of the machine on which it is running.
RXP FUNCTIONS
- Primary Scheduler. If the machine is designated as a primary scheduler, RXP functions as the master scheduler for all incoming requests to a cluster of servers.
- Server Node. On all other (content) server nodes the RXP component serves as the recipient of traffic directed to it by the scheduler, ensuring that connections are efficiently and reliably made with the targeted server, and also that content sent to clients can go directly to clients without passing back through the scheduler.
- Backup Scheduler. On a server designated as the backup scheduler, RXP also waits to take over the scheduling functions should the primary server fail. Note: A server can be designated to serve both scheduling and content serving functions. Because the same RXP software component is installed onto each machine, designations can change on the fly without disrupting service to clients.
Resonate traffic management service agents, which are not discussed in detail in this paper, are also installed onto each machine in order to communicate to RXP the health (CPU load, availability, network latency) of each server in the cluster.
The TCP Connection Hop is an invention unique to Resonate and Resonate has been granted a U.S. Patent for this invention.
FUNCTIONAL OVERVIEW
As the primary scheduler, RXP performs the following actions for each TCP request:
- Receives the connection request (SYN packet) from requesting client.
- Establishes a TCP connection in order to determine appropriate load balancing and scheduling decision.
- Checks a table of customer specified scheduling rules to determine which server and port to send the request to. A resource-based scheduling is enabled, which can parse the URL to determine content being requested.
- If more than one server is available to serve the content, picks the least loaded server based upon load balancing metrics.
- "Hops" or transfers the TCP connection, using a Resonate protocol, to the RXP component on the targeted server.
- Manages acknowledgements (ACK packets) from clients and persistent session information for ongoing requests.
SAMPLE DATA FLOW DESCRIBED
- The client browser makes an HTTP request to the virtual IP (VIP) address a.b.c.3. An IP packet is created by the client machine and sent through the network to the machine physically bound to the a.b.c.3 address, which is the active scheduler, in this case a.b.c.1.
- The IP packet makes its way up the network stack until it reaches RXP. RXP recognizes that this packet is destined to a VIP, so it decides it must schedule and load balance that packet, as opposed to just letting it pass through. Based on the VIP, port and Layer 7 application information (e.g. URL, cookies, header value), RXP is aware of what nodes it can schedule that packet to. Then, based on real-time information about those nodes from the agents, and the scheduling policy, RXP decides to schedule the packet to the node at a.b.c.2. RXP then encapsulates the entire IP packet, as it was sent from the client, in an RXP packet, and sends it to a.b.c.2.
RXP on the server node gets this packet, sees that it is an RXP packet and strips off the RXP header (revealing the original IP packet), and then passes that packet up the network stack where it reached the web server. Since the Web server is bound to the VIP (a.b.c.3) via the Loopback Adapter, the Web server takes the packet and processes it as if it came directly from the client.
- The Web server replies directly to the client, without having to pass back through the scheduler. The packet contains the destination address of the VIP, as expected by the client receiving the packet.
KEY ADVANTAGES OF THE TCP CONNECTION HOP
The TCP Connection Hop technology of Resonate has many advantages, as listed below. It is a non-intrusive, efficient method for scheduling and load balancing all TCP-based traffic. The existence of any software product is completely transparent to the client at all times, and the triangular data flow is optimized for the asymmetric nature of Internet traffic (heavy server-to-client traffic, light client-to-server traffic).
- No Modifications to Native Kernel. The original packet from the client is not modified, re-addressed, spoofed etc. It is moved from one machine to another. RXP is a Kernel Module, sitting between the NIC driver and the server's native TCP/IP stack; the native kernel or network software is not "hacked into" or modified in any way. RXP is a loaded kernel module, which can be loaded and unloaded easily.
- No Performance Hit From Using Native TCP/IP Stack. Because RXP is below the TCP Stack, the scheduler machine's native TCP/IP stack never processes connections to the VIP, unless RXP determines that the scheduler machine is the least loaded and should directly serve that client's request.
- Efficient, High Performance Design. The whole connection hop occurs at the network layer, is very efficient, and has very little overhead associated with it. This architecture is proven and scales to handle traffic to some of the largest Internet Web sites. Since RXP is acting like a traffic cop, a connection only passes through it for a few milliseconds. All of the scheduling rules and agent node statistics are in memory and RXP has direct access to them so it can schedule a packet on the fly.
- Ability to Cross Subnets. Because RXP sits on both the scheduler and (content) server nodes it is able to perform the TCP Connection Hop across subnets. This eliminates the need for network redesign that many hardware solutions require and eases system and network management (changes in network topology) as sites grow, services are added, or servers/networks are reconfigured.
- Triangular Data Flow. Packets go directly from content servers to the client without having to pass through the scheduler. In hardware solutions, packets must pass back through the hardware box and network address translation performed on each packet.
- Resource-Based Scheduling. Because RXP performs delayed binding of the TCP connection, Layer 7 application information passed from the client can be parsed to provide more control over which server(s) the connection should be passed to. This provides a powerful mechanism for optimizing the allocation of server resources and easing content replication issues by segregating the content on large server farms.
- Flexible TCP Service Scheduling. Multiple TCP services (and VIPs) can be scheduled to any set of available servers, in an overlapping or segregated design. For example, HTTP traffic can be scheduled to servers A, B, and C, while FTP traffic can be scheduled to servers C and D (with C having both HTTP and FTP traffic). Alternatively, HTTP traffic (servers A and B) can be segregated from FTP traffic (servers C and D).
- Real-Time Server Designation. At any time, any server can be designated as either the primary or backup schedulers. Content servers can be enabled or disabled (e.g., for maintenance) on the fly without disrupting service.
SUMMARY
Resonate's patented TCP Connection Hop provides an efficient, reliable, high performance and flexible mechanism for intelligent scheduling and load balancing of TCP-based traffic. Operating at the network level, the scheduling function determines on-the-fly (before entering the native TCP/IP stack of a server) where each request should go. The receiving function of RXP ensures that the connection is handled reliably and that the client receives the requested content. Through the TCP Connection Hop performance is optimized by protecting the source behind a single VIP address.
These functions and capabilities enable Resonate to provide the most efficient load balancing and scheduling flexibility. This enables Resonate customers to support the greatest range of expected network topologies, TCP services, content and server configurations, both today and in the future.
For more information on how Resonate can help you guarantee the end-user service levels of business-critical applications while cutting operating costs, contact a sales representative at
or 408-545-5535.
Back to Literature