Site hosted by Angelfire.com: Build your free website today!

Wireless Networking

PC - Radio Interface


Flow Control Techniques

 Flow control is a technique for assuring that a transmitting entity does not overwhelm a receiving entity with data. A receiving entity typically allocates a data buffer of some maximum length for a transfer. When data is received, the receiver must do some amount of processing before passing the data to the higher level software. In the absense of flow control, the receiver’s buffer may fill up, and overflow while it is processing old data. Basically there are two types of flow control mechanisms.

Stop-and-Wait Flow Control

The simplest form of flow control is stop-and-wait and works as follows. A source entity transmits a frame. After reception, the destination entity indicates its willingness to accept another frame by sending back an acknowledgement to the frame just received. The source must wait until it receives the acknowledgement before sending the next frame. The destination can thus stop flow of data by just withholding the acknowledgement. This method fails if the message transmitted is very large.Care must be taken to split the large frames into smaller ones of size lesser than maximum buffer size. Smaller blocks also provide the following advantages -

 
Sliding Window Flow Control
 
 This flow control comes to the rescue where the buffer size is limited and pre-established. During a typical communication between a sender and a receiver the receiver allocates buffer space for n frames, where n is the buffer size in frames. Thus, the receiver can accept n frames and the sender can send n frames without waiting for an acknowledgment. To keep track of which frames have been acknowledged each is labelled with a sequence number. The receiver acknowledges a frame by sending an acknowledgement that includes the sequence number of the next frame expected. This acknowledgement also explicitly announces that the receiver is ready to receive n frames, begining with the number specified. Both the sender and receiver maintain what is called a window. The size of the window  is less than or equal to the buffer size.
 
As compared to stop-and-wait flow control the sliding window flow control has a far better  performance. This is because in a wireless environment data rates are very low and noise level is very high, so waiting for an acknowledge for every packet that is transfered does not seem feasible. Thus,Transferring data as a bulk ( Once the medium is allocated ) would yield a better performance in terms of higher throughput. So the choice is sliding window flow control.

Sliding window flow control is a point to point protocol assuming that no other entity tries to communicate until the current data transfer is complete.The window maintained by the sender indicates which frames he can send. The sender sends all the frames in the window and waits for an acknowledgement. The sender on receiving an acknowledgement indicating the next frame expected , shifts the window to the corresponding sequence number, thus indicating that frames within the window starting from the current sequence number can be sent.

 Flow control also includes the control of data transfer between the PC and the Radio. While the PC is transferring data to the modem and if the modem detects a reception, the PC-Radio communication must be paused, giving higher priority to the incoming signal.