Check out the new USENIX Web site. next up previous
Next: Motivation and Overview Up: Anypoint: Extensible Transport Switching Previous: Anypoint: Extensible Transport Switching

Introduction

This paper presents the design and implementation of Anypoint, a new architecture for transparent communication with ensemble sites such as cluster-based network services. Intermediary routers at the ensemble border act to mediate communication with the ensemble, presenting it as a single virtual site to the outside network. Anypoint is implemented as a new set of functions for extensible switches.

Anypoint provides transport switching; it is the first general indirection approach that operates at the granularity of transport frames. Transport switching enables reliable, ordered, rate-controlled communication to the ensemble through a redirecting switch. Unlike a TCP proxy, an Anypoint switch does not terminate transport connections. Instead Anypoint switching functions transform each frame to maintain transport-layer guarantees between end nodes. Anypoint is complementary to IP-layer Internet indirection architectures such as Anycast [33] and i3 [41].

A key goal of Anypoint is to generalize ``L4-L7'' server switches that support load balancing and content-aware request routing for Web server clusters. Previous work (e.g., [31,8,9,18]) demonstrated the importance of content-aware request routing for Web services, and the challenges of supporting it, particularly with persistent connections [28]. Web switch architectures are limited to handle each request in a separate transport connection, or to process requests on each persistent connection serially; the former increases overheads and provides no ordering guarantees, and the latter limits concurrency and imposes head-of-line blocking for delayed packets or large requests. While these restrictions still exist for HTTP, redirection architectures that depend on them cannot extend to other services including network storage protocols, which have also been shown to benefit from content-aware request routing [5].


  
Figure: A connection between a peer (client) and an Anypoint server ensemble. The ensemble appears to the peer as a single virtual server; an Anypoint switch at the ensemble border transforms the packets to route the connection's traffic according to policies defined by switch plugins (Application Layer Routing Modules or ALRMs). In addition to simple load balancing, an ALRM can implement content-aware routing policies to improve service performance and robustness. In contrast to current Web switches, Anypoint enables concurrent handling of pipelined requests while preserving ordering constraints at the transport layer; thus it is useful for a general class of service protocols including IP storage.
\begin{figure*}
\centerline{\epsfig{file = figs/acp_virt2.eps, width =4in}}
\end{figure*}

To overcome this challenge, we designed Anypoint for advanced IP transports with partially ordered application-level framing (ALF), as proposed by Clark and Tennenhouse over a decade ago [14]. These features are present in emerging IP transports such as SCTP [40] and DCCP [27]. We show how redirecting switches can leverage framing to enable an approach that is both more powerful and more elegant than Web switches and other solutions constrained by TCP. Our premise is that IP-based services--including network storage, general RPC-based services, and next-generation Web services using SOAP/HTTP--will migrate from TCP to these new transports. Our goal is to define a redirecting switch that accommodates pluggable indirection policies for a wide range of service protocols, not limited to HTTP over TCP. This generality is in the spirit of Active Networks [44] and subsequent proposals for extensible routers [17,29,38].

The contributions of this paper are to: (1) show that transport frame switching at the network edge is a powerful technique to virtualize and extend Internet services, (2) define an extensible framework and mechanisms to enable this technique, (3) present experimental results demonstrating the use of Anypoint for an NFS storage router, (4) compare the behavior of the Anypoint prototype to an alternative structure using application-level proxies [19,39], and (5) explore the implications for Internet service structure, extensible switches, and IP transport protocols.


next up previous
Next: Motivation and Overview Up: Anypoint: Extensible Transport Switching Previous: Anypoint: Extensible Transport Switching
Kenneth G. Yocum
2003-01-20