Single Copy Transmit and Receive for Unconstrained Data Over Constrained Medium
Original Publication Date: 1996-Nov-01
Included in the Prior Art Database: 2005-Apr-01
Martin, B: AUTHOR [+1]
On some media, some bit patterns may not be transmittable because they will be interpreted as control characters by the lower transmission layers. Examples of this include 0x7E, which some layers may interpret as an end-of-frame character, and 0x11 and 0x13, which many modems interpret as start and stop characters.
Single Copy Transmit and Receive for Unconstrained Data
media, some bit patterns may not be transmittable
because they will be interpreted as control characters by the lower
transmission layers. Examples of this include 0x7E, which some
layers may interpret as an end-of-frame character, and 0x11 and 0x13,
which many modems interpret as start and stop characters.
is solved by prefixing each control character with
a special transparency character and then transforming the control
character into a different bit pattern. The receiver must scan the
input for all transparency characters and reverse the transformation
on the following character. Many different protocols share this
problem, including SNA-over-async, PPP, and ZMODEM.
An example of
this is the ISO 3309 framing standard for SDLC
over an asynchronous connection. Rather than transmitting a 0x7E,
the bit patterns is sent it as the 2-byte structure 0x7D5E. A
similar transformation is applied to 0x11, 0x13 and 0x7D, resulting
in 0x7D31, 0x7D33, and 0x7D5D.
solves a serious transmission difficulty, it
introduces an inefficiency in the transmission and reception of
unconstrained data. When data is transmitted, first an extra copy
must be made with all control characters transformed to their 2-byte
equivalent. When the same data is received, an extra copy must be
made with all 2-byte equivalents transformed back into their original
1-byte form. Although the frequency of the control characters is <
1%, if only one control character is transmitted, the
entire block of
data must be copied.
presents a way of eliminating the extra copy on
both the transmission and reception of the data.
purposes of this document, assume that the two end
points of the data transmission are composed of a three level stack.
level will be the labeled USER. This
an unconstrained block of data down to the next lower level, and
receives an unconstrained block of data from the next lower level.
just below USER will be labeled FRAMER.
transmission this level creates the new block of data with all
control characters replaced with their 2-byte form. On reception
this level creates a new block of data with all control characters
converted back into their 1-byte original.
just below framer will be labeled DEVICE.
assumes that there will be no control characters in any data it sends
algorithm is based on the fact that control characters
occur in a data stream infrequently. For ease of explanation, we
will assume 99% of all data is non-control characters.
the extra copy when transmitting, each block of
data is logically divided into segments. Each segment starts with a
control character that will have to be transforme...