Hello drbum-ga,
The term dates back to 1988.
United States Patent #5,010,553 which was filed on December 5, 1988
and subsequently granted on April 23, 1991, is titled:
High speed, error-free data transmission system and method
The inventors are listed as:
Scheller; Clifford D. (Bartlett, IL); Collins; Aaron A. (Arlington
Heights, IL); Hansen; Joseph M. (Roselle, IL)
and the patent itself was assigned to Compuquest, Inc.
The full patent can be seen at the US Patent and Trademark Office site at:
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/srchnum.htm&r=1&f=G&l=50&s1=5010553.WKU.&OS=PN/5010553&RS=PN/5010553
(if you follow their instructions for downloading their TIFF viewer,
you can also view the diagrams that were submitted with the patent.
This patent fully describes the concept of the data carousel --
consistent with your own description in your question -- and further
describes it as a "novel feature" that is being described for the
first time in this patent.
(The patent also references a number of earlier patents that involve
related technologies -- I searched the earlier patents as well, and
there is no mention in any of them of a data carousel).
I've included, below, excerpts from the patent that strike me as most
relevant regarding the data carousel.
I think this material should fully answer your question regarding the
origins of the concept. But before rating this answer, please let me
know if you would like any additional information. Just post a
Request for Clarification, and I'll be happy to assist you further.
Enjoy!
pafalafa-ga
==========
United States Patent 5,010,553
Scheller , et al. April 23, 1991
--------------------------------------------------------------------------------
High speed, error-free data transmission system and method
Abstract
A method of operating a high speed, error-free data transmission
system in a noisy medium comprises compressing data determined to be
compressible, forward error correcting the data and interleaving the
data in a bit matrix memory to enhance the forward error correction.
Digital information packets are formulated including a header bearing
a packet number, the total packet byte count, any packet number resend
request, the data byte count of the actual data and a CRC. The digital
information packet is loaded onto a transmitter carousel having a
fixed number of sectors. The receiver receives the data, requests
resend of any packet (by number) that is defective, error corrects if
necessary and sequentially loads the packet onto a receiver carousel.
Packets or sequential packet groups are removed from the carousel,
selectively decompressed and the data words extracted and sent to the
output.
[assorted excerpts]
...The inventive method is embodied in a protocol that incorporates a
number of novel features including adaptive data compression,
selective FEC, interleaving to expand FEC effectiveness, error
protection and a data carousel for permitting retransmission of
defective digital information packets by interspersing them into the
normal sequence of packet transmissions.
...The FEC packets are formulated into information packet form for
transmission with a header structure containing a packet
identification number, packet size and data file size information. A
CRC code is added for early verification of the integrity of the
header structure, the FEC encoded data is added, another CRC code is
appended and the completed digital information packet is transferred
to a transmission packet carousel for transmission to the data pump.
Since the system is a full duplex, i.e., completely bidirectional, it
is capable of simultaneously transmitting and receiving at Station A,
with the opposite operations being carried out for data at Station B.
Controllers may be both transmitting and receiving at the same time.
Incoming data from Station A is loaded into the receiver data carousel
at Station B, when determined to be error-free, and subsequently
"decompressed" and provided to the data entry terminal at Station B.
...The packets are loaded onto a transmission packet "carousel" which
consists of a cyclical array of segmented memory with 16 sectors of
432 bytes each. It may be helpful to think of it as children's pony
carousel with 16 ponies representing packet carriers. Packets are
loaded onto the carousel and are identified by their packet numbers.
When the carousel is full, the oldest packet is overwritten by the new
packet being loaded on the carousel. Transmission is sequential and
continuous. The transmitter is never allowed to overwrite a packet on
the carousel that has not been acknowledged as being received
error-free
==========
[the detailed technical description is here, and in Figure 7 of the patent]
...In FIG. 7, the makeup of the digital information packet structure
used in the preferred embodiment is shown. The maximum total packet
size is 432 bytes, although, as mentioned above, this number is not to
be considered limiting. The first two bytes are labelled SOH (start of
header) with the first byte being hexadecimal AA and the second byte
being either hexadecimal 55 or 5A. These two bytes are selected to be
unique from any other characters that may ever be encountered and are
not counted in the total block byte count. The 55 hexadecimal denotes
no FEC and 5A denotes FEC. The next two bytes of the header are the
total byte count in the digital information packet structure or block.
This is a two- byte number with the byte of lowest significance
occupying the first byte position in the header and that of greater
significance occupying the second byte position in the header. The
next byte identifies the block number, which in the preferred
embodiment is 1 to 255. (0 is an invalid block number.) The next two
bytes are the data count, that is the number of actual bytes in the
data portion of the block. The next block is a NAK (numbered no
acknowledgment) and constitutes a resend request to the other station
to resend a particular numbered, previously transmitted digital
information packet. Since each of Station A and B can transmit, they
have their own transmission packet numbers. The 0 indicates "no NAK"
or no request for a packet resend. The next two bytes consist of a
header CRC code. The provision of a header CRC contributes to system
throughput because an error received in the header saves the need for
time consuming processing by immediately requesting a resend (via a
NAK). The next group of bytes is variable (within the limits set for
information packet or block size) and comprises the user data. The
last two bytes are the packet CRC code for determining whether the
packet has been received error-free.
The packets are loaded onto a transmission packet "carousel" which
consists of a cyclical array of segmented memory with 16 sectors of
432 bytes each. It may be helpful to think of it as children's pony
carousel with 16 ponies representing packet carriers. Packets are
loaded onto the carousel and are identified by their packet numbers.
When the carousel is full, the oldest packet is overwritten by the new
packet being loaded on the carousel. Transmission is sequential and
continuous. The transmitter is never allowed to overwrite a packet on
the carousel that has not been acknowledged as being received
error-free
In the receiver, the packets are CRC code checked and forward error
corrected before they are loaded onto a receiving carousel, which also
has 16 sectors of 432 bytes each. First the header CRC is checked,
then the packet CRC, and FEC decoding, if used, is performed. A
defective packet is not loaded on the carousel but the sector
corresponding thereto is left empty. The receiver will immediately NAK
(request a resend of) that packet by inserting its packet number in
the next digital information packet sent to the transmitter. (If no
data is available for transmission the NAK will be sent in a padded
packet) All subsequently transmitted packets are received, error
checked and corrected and, if found to be error-free, loaded onto the
successive sectors of the carousel following the empty sector. An
error-free packet replacement for a defective packet is loaded into
the empty slot corresponding to it on the carousel and only then are
the higher numbered packets removed for further processing. Since the
data has a specific time relationship, it is essential that packets
not be removed from the carousel out of order to maintain the packet
sequence. Should a subsequent NAK not result in an error-free
replacement packet being received, the receiver will NAK incoming good
packets to preclude the transmitter from losing data by overrunning
the carousel. As in most transmitter systems, the incoming data is
throttled or held up when the transmitter is in danger of falling
behind. Thus, the receiver controls the transmitter, which controls
the incoming data stream. In the preferred embodiment the input data
rate is preferably twice the rate of the transmission link, which
allows for benefits realized from data compression.
=====
[The explicit "claim" for the carousel as a new patentable invention is here]
What is claimed is:
1. A method of transmitting data from a transmitter to a receiver with
improved throughput comprising the steps of:
formulating data into identifiable packets;
sequentially transmitting said packets to a receiver;
checking for errors in received packets;
loading error-free packets in sequence onto a packet carousel having a
fixed number of packet positions;
removing error-free packets in sequence from said carousel;
signaling the identity of a defective packet to said transmitter in a
header identifying the number of the packet, the number of total bytes
and the number of data bytes in the packet, and error detection
information;
maintaining an empty position on said packet carousel for a packet
found to be defective;
retaining error-free data packets in positions subsequent to said
empty position on said carousel; and
retransmitting said identified packet by interspersing it in the
normal sequence of transmitted packets.
2. The method of claim 1 including a transmitter packet carousel,
further comprising the steps of:
sequentially loading numbered packets onto said transmitter packet carousel;
removing packets from said transmitter packet carousel; and
overwriting the oldest packet with a new packet when said transmitter
packet carousel becomes full.
==========
Beyond the patent protection, there is no indication that "carousel"
is protected in any way. In fact, the term seems to be in relatively
common, unrestricted use, as evidenced by the results of a Google
search on "data carousel" which returned over 1,000 results:
://www.google.com/search?sourceid=navclient&ie=UTF-8&oe=UTF-8&q=%22data+carousel%22
Again, if there are any questions, just let me know, and I'm happy to
assist you further.
pafalafa-ga
search strategy: searched a full-text patent database for [data and
computer and carousel] |