next up previous
Next: Modification to the TCP Up: Implementation details Previous: Architecture transparency

Operations of the Web switch

To describe the operations of the proposed one-way Web cluster, we refer to Figure 3, that for the sake of clarity does not show the creation and closure of a TCP connection.
Figure 3: Inner operations of the Web switch.
\begin{figure}
\begin{center}\leavevmode
\epsfxsize 7.5cm
\epsffile{p740-arch1wwork.eps}
\end{center}
\end{figure}
The first part of the HTTP request sent by the client (1) is intercepted by the forwarder module on the Web switch (2). The forwarder module delivers the request to the higher layers. The TCP protocol issues a call to the dispatcher module upon the arrival of the application-layer data. The dispatcher parses the HTTP request and chooses a Web server according to some content-aware dispatching policy (e.g., LARD, CAP, FLEX). The TCP protocol builds a THOP_CREATE message and sends it to the chosen Web server (3). The identifiers of the TCP connection, such as IP addresses and TCP ports, are packed into a structure and inserted into the hash table containing (active) transferred connections. In such a way, the Web switch is able to forward successive client packets referring to already established connections. The Web server may reply with a THOP_NOTIFYDROP, if it is not able to fulfill the request for whatever reason. In such a case, the Web switch removes the appropriate entry from the mapping table and aborts the TCP connection. In most cases, the Web server accepts the TCP connection, hence it builds the response and starts sending data directly to the client (4). Client ACKs sent to the Web switch are intercepted by the forwarder module of the switch (5), which analyzes the IP and TCP headers to extract all information necessary to perform the lookup in the mapping table. If an entry is found in the table, the packet is forwarded to the previously chosen Web server (6). As the server closes the TCP connection, it notifies this event to the Web switch with a THOP_NOTIFYCLS message (7). The Web switch removes the appropriate entry from the mapping table of transferred connections. The limit of the present implementation is that only one Web switch may be active at a time in the Web cluster. However, for availability purposes, it is possible to configure two machines in the LAN as Web switches and let one behave as a backup in the case of failures of the first machines.
next up previous
Next: Modification to the TCP Up: Implementation details Previous: Architecture transparency
Mauro Andreolini 2003-03-13