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
   268   269   270   271   272   273   274   275   276   277   278