[comp.dcom.modems] SEA's Sliding Window XMODEM

mike2@lcuxa.UUCP (04/30/87)

Attached is a copy of SEA's developmental package describing and
implementing its supposedly backwards-compatible sliding window
version of XMODEM.  It contains a (primitive) terminal program that
can be used to experiment with the protocol.

There is at least one more fully featured "freeware" terminal program
floating around, TELIX, that implements SEA's sliding window XMODEM.
In view of the discussion of this topic recently, I though I'd share
it.  (The following is in uuencoded and arc'd form).

Don't bother cutting here (uudecode can handle it):

begin 600 sealink.arc
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
5````````````````````````````
`
end
-------------------------------------------------------------
No representations or warranties whatsoever.  I'm passing it 
along as received ....
				Mike Slomin

sweedler@yale.UUCP (Jonathan Sweedler) (05/06/87)

What does "sliding window" refer to?  Why is it called this?

-- 
UUCP:  ...!{seismo,decvax}!yale!sweedler  
ARPA:  sweedler@yale.arpa                          Jonathan Sweedler
BITNET: sweedler@yalecs.bitnet

miw@uqcspe.UUCP (05/11/87)

Address:    
Prentice Computer Centre | |ACSNET: m.williams@uqkl10.decnet.uq.oz
University of Queensland,| |ARPA: m.williams%uqkl10.decnet.uq.oz@seismo.css.gov
St.Lucia, Qld, 4079      | |UUCP:.!seismo!munnari!uqkl10.decnet.uq.oz!m.williams
Phone-No:    +61 7 377 4079 
 
--------
 
Couldn't get a reply through, so I am posting this article. If you know about
sliding windows, then hit the junk key now.

In Article <2883@yale-celed.yale.UUCP>, Jonathan Sweedler writes
 
      What does "sliding window" refer to?  Why is it called this?
 
 
Consider a simple ACK/NAK handshaking protocol. In this example, the sending
device sends a packet/block/frame of data, and waits for an acknowledgement.
The receiving device, on receiving the data, checks for errors using parity,
CRC, Checksum, or whatever. If no error is detected, it sends back an ACK, or
otherwise it sends a NAK. If the sender receives an ACK, it sends the next 
frame, if it receives a NAK it retransmits the last frame, and if it waits
longer than a set timeout period without receiving either it also retransmits.
	It can be shown that if transmission delay is negligible, and the size
of an ACK/NAK is small in comparison with the length of a data frame, then
the handshaking overhead is not very great. The system starts to break down,
however, when transmission delay becomes great, for example when a large
number of intermediate switching nodes ar involved, or the physical channel
is a sattelite link (round trip ~1/2 a second). In this situation, most of
the time would be taken up with the sender waiting for the positive or 
negative acknowledgement.
	This is where sliding windows come in. The transmitting station
numbers all its frames as it sends them, and maintains two variables. One
is the number of the last frame for which a positive acknowledgement has
been received, and the other is the number of the next frame to be sent. The
Receiving station now includes the number of the frame it is acknowledging
in its acknowledgement frames. The 'window', then, consists of those frames
with numbers between the two numbers stored at the transmitting end. These
frames are those frames sent but not acknowledged. The 
window size is the maximum number of frames which are allowed to be 
'outstanding' at any time. This method saves waiting time, because the sender
can wait the time required to send a windowfull of frames before an ACK is 
needed. There will be no wait due to transmission delay if the length of the
window is greater than the transmission (round trip) delay.
	When an error is detected, there are two possibilities. The sender
can go back and transmit the whole stream starting with the frame for which
the NAK was received, (GO BACK N), or it can just retransmit the frame that
got corrupted. (SELECTIVE REPEAT). The longer the transmission delay, the longer
the window nneds to be, and the more advantage to use the latter method.
 
	IF you found this simplistic, it is. I do not intend this to teach
one all about sliding window protocols. There are plenty of good books on the
topic. All the same, hope this answers your question.
 
                                  Mark Williams
 
 
 
--------