Page 273 - Anatomy of a Robot
P. 273
09_200256_CH09/Bergren 4/17/03 11:24 AM Page 258
258 CHAPTER NINE
Shared Access
Communication links are often used by multiple communications entities: sources and
destinations. Sometimes the entities are in separate computers; sometimes they are in
separate processes in the same computer. If a link has multiple sources and destinations,
they have to contend for the use of the communications link. Often, the physical layer
will not allow them all to use the communications link at the same time. The designer
of the communications link must devise a strategy that enables each communications
entity the maximum amount of access to the corresponding communications entity on
the other end of the link. Given that a limited amount of bandwidth exists in the com-
munications link, the designers have to watch out for many different requirements.
BANDWIDTH
Every communication session between entities has different bandwidth requirements.
The requirement for bandwidth may change over time. Some sessions will require a
very steady bandwidth, and some sessions will suddenly require a large percentage of
the available bandwidth. These sessions will present various types of demands on the
bandwidth.
Raw Bandwidth
The different communications sessions may all have different requirements for
bandwidth.
Changes in Bandwidth
Some communication sessions have bandwidth requirements that change unpredictably.
On a shared environment, it often takes time to negotiate for more (or less) bandwidth.
It takes time to conclude such negotiations, which time must be taken into account by
the designer.
Further, the different communication sessions may all have changing requirements
for bandwidth. This presents a classical problem of how to pack all the competing
requirements into the available bandwidth. Even if enough bandwidth exists to satisfy
the arithmetic total of all the required bandwidths, it still may not be possible to pack
them together inside the channel. This problem is reduced to a classic mathematical
packing problem. This problem is akin to trying to pack different-sized blocks inside a
box. There’s almost no way to do it without wasting space. Even if the blocks could all