Sliding window protocol is a method of transmitting data across a network. It is used where the computer needs to receive packets of data in a specific, reliable order, providing "windows" of time where data can be sent. Although a sliding window protocol can transmit a theoretical unlimited amount of data, data can only be transmitted through fixed windows in time, allowing the computer to more accurately gauge the order of the packets being sent.
Information sent across a computer network is not sent in one large transmission, but rather in smaller "packets." Packets are simply bite-sized pieces of information that the receiving computer reassembles to construct the finished product. The idea of a typical jigsaw puzzle can be used to illustrate the point; when the puzzle is bought, the pieces are scattered and disassembled, but they can be reconstructed to form a final image. Packets work in much the same way.
A sliding window protocol is necessary when the receiving computer needs to obtain the packets in a reliable order. It operates a bit like a traffic light controlling an intersection. When the light is green, the sliding window is opened, and information can flow through freely. After one cycle of information is sent, the "light" turns red and no more data can be transmitted for the moment. Once the receiving computer has the packets, it sends back a signal confirming that it has received the information; that is the signal to send more data along the line.
By constantly stopping and starting the flow of data, breaking the transmission into several distinct and measurable pieces, the receiving computer will obtain the packets in a more regulated order. This can be compared with transmission methods that do not manage the flow of data. Without constant feedback from the receiving computer to ensure that the packets are obtained in the proper order, the information transmission can quickly become a chaotic mess.
Ideally, the amount of information sent during any single burst of data during a sliding window protocol should be larger than the bandwidth-delay measurement of the connection line. The bandwidth delay measurement simply tells how long it takes information to flow from one end of the connection to the other. So long as the amount of information sent per burst exceeds this number, the information transmission will appear seamless from the end-user's point of view; there will be no delay between the sending of packets using this method.