Читать книгу Wireless Connectivity - Petar Popovski - Страница 28
1.4.3 Short Control Packets and the Idea of Reservation
ОглавлениеInstead of directly allocating an uplink slot to send data, each device is given the opportunity to send a short control packet, termed a reservation packet, which is used to inform Basil how many slots for sending data it will need in the TDMA frame. We need to make a distinction between reservation and data packets. The reservation packet should only carry a few bits in order to indicate how many data slots in the frame it can use. For example, if the TDMA frame has a fixed number of data slots, then the reservation packet should carry at least bits, as it should be able to describe numbers from 0 to 2.
Figure 1.8(a) describes a possible way to use reservation packets. Basil sends the frame header H to indicate that it allows uplink reservation transmissions to start. This is followed by reservation slots, that have a total duration to . Here is the total number of devices that have established a link with Basil. Each of the devices is pre-allocated a unique reservation slot in which a user is allowed to send and it is guaranteed that there will no be a collision with another user. Due to this unique association between a device and a reservation slot, the reservation packets sent by the device do not need to carry the address of the device that transmits it. After the uplink reservation slots, Basil sends a short allocation packet A that announces how the data slots are allocated to different users. Considering the total number of possible allocations, the allocation packet A should contain bits. It should be noted that, through the reservation slots, the total amount of resources required by the devices can be larger than . In this case Basil uses a certain scheduling policy to decide how to allocate the data resources to the devices. The requests that are not met in that frame can be scheduled in future frames.
Figure 1.8 Uplink transmission with a reservation frame. (a) Case when the allocation is done based on the reservation outcome in the same TDMA frame. (b) Case when the allocation is done based on the reservation outcome in the previous TDMA frame.
Figure 1.8(a) also illustrates the cost introduced by the reservation packets. If Basil somehow knows to whom to allocate the data slots in the current uplink frame, then the reservation slots should be omitted and the allocation packet A becomes a part of the frame header. We now proceed to evaluate how much the reservation slots are affecting the performance in terms of useful data rate experienced by the users. The total duration of the frame is , where is the duration of the reservation frame, is the duration of the allocation frame, such that the data rate for a device that uses a single uplink slot is
which indicates the average data rate, observed in a period of a frame and by a terminal that has a single slot allocated to it.
While it is clear that the rate (1.5) is lower than , we still lack an illustration of how short the reservation packet should be in order to justify its role. To do that, we need to enrich our system model with an additional assumption: the duration of a single bit is always equal to , regardless of whether it is a bit that belongs to a data packet or a bit describing a signaling information (headers/reservation/allocation). Denote by the number of bits in a data packet, such that . Thus, we can express the durations as fractions of :
where it is assumed that the header has only two bits, a reservation packet contains bits, while the allocation packet has bits. Using (1.5) we get:
The effect of the overhead caused by sending signaling information is more clearly seen if, instead of (1.7), we look at the total useful data sent in a frame, irrespective of which user is sending it. This is often called sum rate or system goodput and in this particular case can be expressed as:
Figure 1.9 Overlapped downlink and uplink frame for a full-duplex base station and devices. H-D is the header for the downlink, H-U for the uplink. The allocation made by H-U is decided based on the reservation slots that occur during H-D. The slots allocated by H-U are slots from the same frame and slot from the next frame.
(1.8)
This is clearly showing that having large data packets, and , improves the overall efficiency of the system.
One might object to the fact that the number of reservation slots is equal to the number of users , since the number of users might change. This is not the same as having fixed number of data slots in a frame, since Basil can use a scheduling policy to decide how the slots are used, as informed through the allocation packet A. However, each user should have the opportunity to voice her requirements in a frame; otherwise there should be another, pre-reservation frame to pre-reserve the reservation slots, etc. Expressions (1.6) use a rather conservative estimate of the required resources, as it is always assumed that the number of users is maximal possible. This is clearly inefficient if there are only few active users. A quick fix would be to replace with , the number of currently active users. However, in that case Basil needs to correctly signal this to all active users, along with the allocation of the reservation slots. There can be other ways to make a better use of the reservation slots, based on the partial knowledge that Basil may have about the traffic demands. For example, Basil may use some machine learning methods to estimate which group of users is likely to have data to send in a certain period. We will not go into detail for all possible techniques, as our purpose has been to illustrate only the most important principles. The general class of protocols that addresses the case in which the number of active user is (much) lower than the total number of users is the one of random access protocols, which is the subject of the next chapter.