next up previous contents
Next: 2.3 Product Functions Up: 2 Overall Description Previous: 2.1 User Characteristics and   Contents

Subsections

2.2 Product Perspective

This section aims to describe both the existing and the proposed systems, with respect to why the proposed system is needed.

2.2.1 Existing System

Figure 1: Shows a typical network with a low-bandwidth link to the outside world
\includegraphics[width=0.8\textwidth]{diagrams/existing-system}

The existing system for TCP flow control within the current Linux kernel contains an algorithm for determining the window size of packets sent across a network. The window size is based entirely on information already available to the receiver.

One drawback with the current algorithm is that it is not specifically optimised for low bandwidth links. The window size chosen often becomes too large, causing a packet to be dropped. In response to this, the algorithm then lowers the window size to a sub-optimum level and continues gradually increasing it until it again becomes too large, resulting again in the same response. This cycle results in the low bandwidth link performing beneath its potential. This is particularly a problem because such links are often bottlenecks between networks.

2.2.2 Proposed System

The Client's algorithm for TCP window size takes into account the outgoing queue size on the Router, and in theory causes the window size for the link to stabilise at a level which provides better throughput than the current window size algorithm.

FCM is an implementation of the Client's algorithm which replaces the current algorithm, through the insertion of kernel modules on both the Router and the Receiver computers. SAM has two main functions: firstly, it allows the user to create a network log file containing information relevant to network performance. Secondly, SAM can then use this network log file to perform statistical analysis on it. See Figure 2 for a diagram showing the proposed system.

Figure 2: Shows the path a TCP packet will take through the FCM component of the proposed system
\includegraphics[width=0.8\textwidth]{diagrams/proposed-flow}


next up previous contents
Next: 2.3 Product Functions Up: 2 Overall Description Previous: 2.1 User Characteristics and   Contents