MLDesign Technologies, Inc.






A TDMA Reservation System

This is a model of a TDMA Reservation System that consists of a finite number of terminals, a reservation unit, and a single bus (media). All the active terminals share the same bus for transmitting their messages. The reservation unit manages bus access. When a terminal has a message to transmit, it sends its request with the size of the message to the reservation unit. The reservation unit will then notify the terminal when to start the message transmission (which data slots to use.) For the reservation unit to allocate access properly, it should have global knowledge of those terminals with outstanding messages and their assigned transmission periods.

In this system, time is divided into transmission periods called frame periods which, in turn, are divided into Grant Reservation Slots, Row Slots, and Data Slots. Grant Reservation Slots are used by reservation units to report the reservations to the terminals. Row Slots are used by terminals to make transmission requests to the reservation unit. Data Slots are periods which are assigned to terminals so they can transmit their data.

Each frame has only a few row slots available and, since each terminal selects a row slot randomly, there is a possibility of collision between terminals in a row slot. Conversely, each time frame has many data slots and a reservation unit will assign a requsting terminal enough sequential data slots to the specified message. The reservation unit assigns a data slot to at most one terminal and therefore there is no chance of terminal collision in a data slot.

In the TDMA Reservation System a Frame Period consists of one Grant Reservation Slot, row slots (the number defined by the parameter RowSlots/Frame), and data slots (the number defined by the parameter "DataSlots/Frame".) For simplicity, the Grant Reservation Slot is combined with Row Slots to form the "Header Period". The size of the data slots (in seconds) is defined by the "DataSlot Period" parameter. Another parameter, "Bits/DataSlot", is the total number of bits that can be transmitted in a data slot. Note that only data slots are used for transmission of user's data; the Header Period is considered overhead.

The TDMA Reservation System consists of two blocks (sub-modules): (1)TERMINALS and (2) HUB. A brief description of each follows.

The Terminals block is the terminals requests generator and is designed to simulate any finite number of terminals.

TDMA top-level block diagram
Terminals block

At the simulation start time, this block generates one request for each terminal (defined by the parameter "Number of Terminals") and gives each request a seperate Terminal ID number. The Terminals block then applies a probability (defined by the parameter "Probability of Transmission") to determine the time between the terminal requests and a Geometic distribution function to determine how many frame(s) to wait before sending the next request for the terminal. After time stamping the request, the Terminals block selects the row slot number and the request message length for the terminal request using the uniform distribution (the parameters "RowSlots/Frame" and "Number of Terminals".) The Terminals block then sends a terminal request for transmitting a message to the HUB block to get a reservation.

The Hub block responds to the request by granting (or not granting) a reservation. If a reservation is granted, the  requesting terminal begins its transmission task. Otherwise, the request is resubmitted to the HUB block for a reservation after a calculated time delay.

The terminal transmission task, known as transmission delay or queuing delay, consists of waiting time and transmission time. Waiting time is the wait for the start of the first assigned data slot. Transmission time is the time to transmit the entire message. Note that in addition to the data slots, a transmission time can cover more than one Header Period because some messages are large enough to require more than one Frame Period for transmission.

Hub block
Collisions per minute

It accumulates all the terminal requests in a queue during a time period equal to a Frame Period. As it accumulates the requests, the Hub block maintains the number of requests selecting each row slot. The time period in which the accumulation takes place, begins at the end of the last row slot and ends at the end of the next last row slot. At the end of this time period, all the accumulated terminal requests come out of the queue. If only one request is placed in a particular row slot, then a reservation & completion time is determined. Otherwise, a terminal request collision is detected and the request is sent back to the Terminals block without a reservation; and the total number of collisions is increased by one.

The model can be configured to generate a variety of statistical reports. The graph below shows one such report: a summary of the mean collisions per minute for three different values of the Probability of Transmission parameter.