Google Answers Logo
View Question
 
Q: History of the term "carousel" in computer science. ( Answered 4 out of 5 stars,   0 Comments )
Question  
Subject: History of the term "carousel" in computer science.
Category: Computers > Algorithms
Asked by: drbum-ga
List Price: $50.00
Posted: 16 Jul 2004 15:32 PDT
Expires: 15 Aug 2004 15:32 PDT
Question ID: 375154
Carousel is a fairly common term in the data broadcasting community.  

Here is a description and usage example from a patent:

"In order to acquire information in an efficient manner, the program
guide data is preferably broadcast on multiple carousels in parallel.

A carousel is a repeating broadcast of a data series. 

For example, a carousel 140 including objects A, B, C, and D may
broadcast A, B, C, D, A, B, C, D, A, etc."

I would like to know the history of this term.  When did it enter
common usage with this meaning?  Are there restrictions on its use? 
Is there a patent on the notion?

Request for Question Clarification by pafalafa-ga on 16 Jul 2004 18:28 PDT
It's hard to tell when a term with a generic meaning transmorgrifies
into a specific computer term.

For instance, here's some usage from a time when computers had tapes
as the only option for data storage:

"This invention is specifically directed to apparatus which makes use
of a plurality of these standard cartridges to form a data base, and
which provides efficient access of external digital computer equipment
with the data base. More specifically, the apparatus includes a
carousel in which the plurality of cartridges are releasably held in a
radial arrangement. The carousel is used in conjunction with a control
housing having a plurality of read/write stations, and which is
capable of indexing any cartridge in the carousel for use by any of
the plurality of read/write stations. Once indexed, a cartridge is
released from the carousel by the station mechanism, which then
automatically carries the cartridge to a read/write position.
Electromagnetic information can then be transferred between the
cartridge and accessed computer through a selected one of a plurality
of input/output ports."


Does that sound like the usage of the term "carousel" that's of interest to you?


Let me know what you think.

pafalafa-ga

Clarification of Question by drbum-ga on 16 Jul 2004 22:30 PDT
Not really.  The example you give is a mechanical device that
automates a mechanical process.  Thus you have CD carousels that
provide access to multiple CDs on a single reader device.  Presumably
in the mechanism, there is some element of going around in a circle,
like a merry-go-round.

In the kind of carousel I mean, data goes around in a circle.

For example, the usage I an interested is pertinent to Electronic
Program Guides in broadcast of digital video.

Carousels are used to distribute program guide information.

Imagine a dead simple 2 channel TV system with a two hour program
guide window.  At 9 pm, the program guide carousel might be broadcast
like this:

channel 1; 9pm; Larry King Live
channel 1; 9:30pm; Oprah
channel 1; 10:00pm; WWF
channel 1; 10:30pm; McNeil, Lehrer

channel 2; 9pm; Rugrats
channel 2; 9:30pm; Three's Company
channel 2; 10:00pm; Saturday Night Live
channel 2; 10:30pm; ER

It would repeat that way, over and over, so that someone who comes
on-line would be able to retrieve the program guide info for the
current segment shortly after power up.

At 9:31pm, it would likely change to look something like this:

channel 1; 9:30pm; Oprah
channel 1; 10:00pm; WWF
channel 1; 10:30pm; McNeil, Lehrer
channel 1; 11pm; The Dog Show

channel 2; 9:30pm; Three's Company
channel 2; 10:00pm; Saturday Night Live
channel 2; 10:30pm; ER
channel 2; 11pm; The Cat Show

and repeat that way until 10pm, when the 9:30pm shows would age out
and the 11:30 shows would be needed.

By the way, carousel in this sense is both a noun and a verb (e.g. to
carousel some data, carouseling the data).

Does this help?

Request for Question Clarification by pafalafa-ga on 17 Jul 2004 06:07 PDT
Yes, it does help.

I'm getting hits going back to the 1980's on the term "carousel" that
appears to be used in the meaning you've described.  Here's a key
passage, for instance:

====

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

=====

Does this look like what you're after?

pafalafa-ga

Clarification of Question by drbum-ga on 17 Jul 2004 08:27 PDT
Yeah, that's the concept.  Not sure why I didn't describe it as a
"circular queue" in the first place.
Answer  
Subject: Re: History of the term "carousel" in computer science.
Answered By: pafalafa-ga on 17 Jul 2004 09:19 PDT
Rated:4 out of 5 stars
 
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]

Request for Answer Clarification by drbum-ga on 17 Jul 2004 20:14 PDT
You mention a tiff viewer at uspto.  Would you supply a pointer for
instructions on downloading.

Thanks.

Clarification of Answer by pafalafa-ga on 18 Jul 2004 05:04 PDT
Glad to help.

When you click on the link to the patent:


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


it should open up a page with the full text of the patent.  At the top
of the page is a small box that says "Images".

When I click on the "Images", it takes me directly to the patent
diagrams, since I already have the TIFF viewer on my system.  But for
a first-time user, the USPTO should prompt you at this point to
download their viewer - I don't recall the exact sequence of steps,
since is was a while ago that I actually went through the process
myself.

Anyway, click on "Images" and follow the steps provided.  If you have
any problems with this, just post another Request for Clarification,
and we'll find a way to work it out.

pafalafa-ga
drbum-ga rated this answer:4 out of 5 stars and gave an additional tip of: $10.00
Thanks for the work.  This is helpful.  I have gotten extremely busy
and haven't had time to ask for clarification.  I didn't think it fair
to leave the answer unrated.  I think there may be more digging to do,
but what's here is useful.

Comments  
There are no comments at this time.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy