Next: Client-Proxy Design issues and
Up: Implementation Description
Previous: HTTP Over UDP Control
Current Web clients are not equipped with reliable multicast
functionality. Instead of modifying an existing browser, we
developed a stand-alone proxy application which the client
communicates with it in normal unicast method. The proxy is
responsible for obtaining the response to the client request
and forwarding it via unicast back to the client. The proxy
is also responsible for obtaining the response via unicast
or multicast, depending on the server preference.
The following is the series of steps taken by a proxy when a
request from a client is received:
- 1. Parse the request for the server, page and port number.
- 2. Lookup the multicast address with the server name as the key.
- 3. Lookup multicast cast port with the page as the key.
- 4. Bind the socket to the multicast address and port.
- 5. Join the multicast group.
- 6. Send a UDP request to the server for the URL and wait for a reply.
- 7a. If the reply specifies unicast.
- 7a-1. Connect to the server via TCP.
- 7a-2. Receive the unicast data.
- 7a-3. Forward the data to the child socket.
- 7b. Else the reply specifies multicast.
- 7b-1. Listen to the multicast group and port.
- 7b-2. Buffer data until the beginning of the transmission.
- 7b-3. Receive the multicast data.
- 7b-4. Forward the data to the child socket.
- 7b-5. Send an ACK to server when all data is received.
- 8. Close both the client and server sockets.
Matthew James Sanders
Wed Dec 2 16:23:52 EST 1998