DEVICE-TO-DEVICE DISTRIBUTED SCHEDULING
A system and method for distributed scheduling of transmissions between device-to-device (D2D) communications is disclosed. The distributed scheduling method employs a distributed scheduling structure in which device identifiers rather than connection identifiers are used to enable scheduling of a D2D data transfer between devices in a wireless neighborhood. The novel distributed scheduling structure is scalable to a larger number of D2D devices than is feasible with a connection ID-based tone matrix.
This application claims priority to U.S. Provisional Patent Application No. 61/732,851, filed on Dec. 3, 2012.
TECHNICAL FIELDThis application relates to distributed scheduling for device-to-device transmissions under 3GPP LTE.
BACKGROUNDDevice-to-device (D2D) communications are supported under 3GPP LTE (short for third-generation partnership project—long-term evolution), and companies are developing methods for distributed scheduling operations between the devices.
Distributed scheduling in D2D communications is a channel allocation mechanism where channel request and allocation are done, not by a central device, but by a pair of transmitter and receiver devices themselves. With this mechanism, multiple pairs of devices can share the channel resources. One prior art solution employs tone matrix-based distributed scheduling. The proposed solution, however, does not scale well with the number of transmitters and receivers in the transmission space.
Thus, there is a continuing need for a tone matrix-based D2D scheduling mechanism that overcomes the shortcomings of the prior art.
The foregoing aspects and many of the attendant advantages of this document will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein like reference numerals refer to like parts throughout the various views, unless otherwise specified.
In accordance with the embodiments described herein, a system and method for distributed scheduling of transmissions between D2D devices is disclosed. The distributed scheduling method employs a novel distributed scheduling structure in which device IDs rather than connection IDs are used to enable scheduling of a D2D data transfer between devices in a wireless neighborhood. The distributed scheduling structure includes tones that are distributed in frequency and time physically. The novel distributed scheduling structure is scalable to a larger number of D2D devices than is feasible with a connection ID-based tone matrix.
In the following detailed description, reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the subject matter described herein may be practiced. However, it is to be understood that other embodiments will become apparent to those of ordinary skill in the art upon reading this disclosure. The following detailed description is, therefore, not to be construed in a limiting sense, as the scope of the subject matter is defined by the claims.
Each traffic slot 34 includes a contention scheduling header 36 made up of a transmit (TX) block 54 and a receive (RX) block 56. Together, the TX block 54 and the RX block 56 are known as a tone matrix 50. The tone matrix 50 enables a potential transmitter in a wireless neighborhood to contend for a data segment 46 in the traffic slot 34, thus allowing D2D communication with a receiver also in the wireless neighborhood.
The tone matrix 50 is made up of individual tones 52. The tones 52 are enabled or disabled (ON or OFF), which enable communication between transmitter-receiver pairs. The TX block 54 of the tone matrix 50 is depicted as a 12×4 grid of polka-dotted tones 52 while the RX block 56 of the tone matrix is depicted as a 12×4 grid of checkerboard tones. The tones 52 occupy both the TX block 54 and the RX block 56. The tone matrix 50 may be larger or smaller, depending on the number of connections between devices in the wireless neighborhood.
Each pair of users is assigned a unique CID and allocated a tone-pair, one in the TX block 54 and one in the RX block 56. A tone pair is simply a tone 52 located in the TX block 54 and an analogous tone (same row, same column) in the RX block 56. When a tone or “1” or ON value is placed in either or both of the tones 52 making up that tone pair, the CID assigned to that tone pair, and thus the connected users, is referenced. In other words, a particular tone pair (e.g., tone in TX block and analogous tone in RX block) in the tone matrix 50 is mapped to a particular CID. Thus, when a transmitter “sends a signal on the tone” of the TX block 54, this essentially means that the transmitter is enabling one of the tones 52 in the tone matrix 50, with the tone having previously been associated with a distinct CID. The receiver that is part of the connection having the CID is thus notified of the signaling by the transmitter. Similarly, when the receiver “sends a signal on the tone” of the RX block 56, the receiver is likewise essentially enabling one of the tones 52 in the RX block 56 of the tone matrix 50, thus notifying the transmitter that is part of the connection. In this manner, the transmitters and receivers making up the wireless neighborhood have a mechanism, the tone matrix 50, with which to communicate with one another.
In
In the drawings, the CIDs are allocated in numerical order for ease of presentation. However, other tones 52 of the TX block 54 and RX block 56 may be assigned the CIDs. The assignments need not be consecutive or necessarily adjacent to one another, for example. Further, the CIDs may be assigned to a tone pair as the connections are made or according to some other criteria, and are not necessarily presented in numerical order. Nevertheless, if the first tone 52 of the TX block 54 is allocated to a particular CID (in this case, C1), then the first tone 52 of the RX block 56 is allocated that same CID, with C1 referring to a unidirectional connection from U1 to U2. In the tone matrix 50, up to 48 connections may be allocated a tone pair.
If the transmitter has data to send, the transmitter will send a signal on the tone 52 of the TX block 54 as a request. Subsequently, to acknowledge the request, the receiver sends a signal on the analogous tone of RX block 56, with the tone and the analogous tone making up the tone pair. Upon receiving the acknowledgement, both users making up the connection referenced by the CID, the transmitter and the receiver, have become mutually aware of the pending transaction. Thus, the transmitter is able to send data in the data segment 46, knowing that the receiver will retrieve the data.
In this case, multiple users, U1 and U2, have data to send to a third user, U3. To resolve this, a different priority can be assigned to each tone 52, such that the CID that occupies a higher-priority tone is preferred over a CID with a lower priority. The mapping of the CIDs in the tones 52 within the tone matrix 50 can be randomized, slot-by-slot, to guarantee the fairness among users. In
The TX block 54 and the RX block 56 of the tone matrix 50 thus provide a mechanism in which connected transmitter-receiver pairs can handshake with one another to initiate data transmission. Simply, the transmitter(s) wanting to transmit data let the desired receiver know by turning on the relevant tone 52 in the TX block 54 associated with the desired CID, and the receiver accepts the transmission request for one of the requesting transmitters by turning on the analogous tone in the RX block 56 of the CID.
Because the above scheme is CID-based, each tone 52 of the tone matrix 50 is available to be mapped to a CID. As the number, N, of D2D devices increases, the size of the tone matrix 50 increases, as the square of N, or N2, so as to allow direct communication between any two devices. Namely, N2 tones in both the TX block 54 and the RX block 56 are required. Thus, supporting a D2D group having more than about thirty users, e.g., about the size of a classroom, becomes problematic.
As N grows, so does the size of the tone matrix 50. In some embodiments, the number of tone pairs is given by the following formula:
# of tone pairs=2*N*(N−1) (1)
Thus, where there are four users (
After the users (transmitters) have populated the TX block 54 with the relevant CIDs, the user (receiver) U3 decides which of the three requests to honor. In this case, by sending a signal on the tone 52 where the CID C16 is located, the user U3 selects the user U4. The selection of one user over another may be based on some selection criteria, whether by a priority scheme, or a randomized one. In
Contrasting the wireless neighborhoods 200 (
Each transceiver includes an antenna 154, a front-end 132, a radio 136, a baseband digital signal processor (DSP) 138, and a medium access controller (MAC) 130. The transmitter 160 includes a power amplifier 146 in its front-end 132 while the receiver 170 includes a low noise amplifier 148 in its front-end. The transmitter 160 includes a digital-to-analog converter (DAC) 134 while the receiver 170 includes an analog-to-digital converter (ADC) 142. The transceivers 160, 170 may be virtually any wireless device, such as a laptop computer, a cellular phone, or other wireless system, and may operate as a transmitter (transmit mode) or as a receiver (receive mode).
The MAC 130 includes an embedded central processing unit (CPU) 124 and a data memory 120, such that the device ID-based distributed scheduling method 500, some portion of which is software-based, in some embodiments, may be loaded into the memory and executed by the CPU. The depiction of
The MAC 130 interfaces with logic devices that are commonly found in transmitters and receivers: the front-end 132, the DAC 134, the ADC 142, the radio 136, and the DSP 138. The devices 132, 134, 136, 138, and 142 are also known herein as target modules. The target modules, as well as the logic devices within the MAC 130, may consist of hardware, software, or a combination of hardware and software components.
The target modules are commonly found in most transmitters and receivers. The FE 132 is connected to the antenna 154, and includes a power amplifier (PA) (for the transmitter), a low noise amplifier (LNA) (for the receiver), and an antenna switch (not shown), for switching between transmitter and receiver modes. The DAC 134 is used to convert the digital signal coming from the DSP 138 to an analog signal prior to transmission via the radio (transmitter); conversely, the ADC 142 is used to convert the analog signal coming from the radio to a digital signal before processing by the DSP 138 (receiver). At the transmitter 160, the radio 136 transfers the signal from base-band to the carrier frequency; at the receiver 170, the radio 136 transfers the signal from carrier frequency to base-band. At the receiver 170, the DSP 138 demodulates the OFDM signal from the ADC 142, for processing by the MAC 130. At the transmitter 160, the DSP 138 modulates the MAC data into an OFDM signal in base-band frequency, and sends the resulting signal to the DAC 134.
A typical transmit operation occurs as follows: at the transmitter 160, the MAC 130 sends a packet to the DSP 138. The DSP 138 converts the packet into a digital OFDM signal and sends it to the DAC 134. The DAC 134 converts the signal into an analog signal, and sends the signal to the radio 136. The radio 136 modulates the base-band signal to the carrier frequency and sends the signal to the power amplifier 146 of the front-end 132, which amplifies the signal to be suitable for over-air transmission via the antenna 154.
At the receiver 170, the signal is received by the antenna 154. The weak analog signal is received into the low noise amplifier 148 of the front-end 132, sending the amplified analog signal to the radio 136, which filters the signal according to the selected frequency band and demodulates the carrier frequency signal into base-band. The radio 136 sends the analog signal to the ADC 142, which converts the analog signal to a digital signal, suitable for processing by the DSP 138. The DSP 138 demodulates the OFDM signal and converts the signal to MAC 130 packet bytes. Other operations, such as encryption and decryption of the packets, are not shown. Where the transmission is successful, the packet received by the MAC 130 in the receiver 170 is the same as the packet transmitted by the MAC 130 in the transmitter 160.
In the MAC, the device ID-based distributed scheduling method 500 employs a new, modified distributed scheduling structure 90, described in more detail below, that replaces the tone matrix 50. The device ID-base distributed scheduling method 500 is implemented in software, in some embodiments, with the software being loaded into the memory 120 and executed by the embedded CPU 124. In other embodiments, as depicted in
A novel distributed scheduling structure 90 found in the MACs 130 of
The distributed scheduling structure 90 enables a potential transmitter in a wireless neighborhood to contend for a data segment 76 in the traffic slot and to effectively communicate with a potential receiver to ensure successful receipt of the data segment. The distributed scheduling structure 90 is made up of individual tones 82. The tones 82 are populated with ON or OFF signals, allowing transmitters and receivers to communicate with one another in a wireless neighborhood. In contrast to the CID-based distributed scheduling method 100 (
In the RX ID block 92 (framed in diagonal stripes), each tone pair is mapped to a receiver device ID (DID), rather than a CID, and in the TX ID block 94 (framed in horizontal stripes), each tone pair is mapped to a transmitter DID. In
In both the RX ID block 92 and the TX ID block 94, there are transmit block 84 (polka-dotted), transmit block 88 (tightly polka-dotted), receive block 86 (checkerboarded), and receive block 96 (horizontally dashed), respectively, enabling the transmitter and the receiver to send both requests and responses. Thus, within the RX ID block, the first tone 82A of the tone pair is located in the transmit block 84 while the second tone 82B is located in the receive block 86. Similarly, withing the TX ID block 94, the first tone 82C of the tone pair is located in the TX block 88 while the second tone 82D is located in the receive block 96.
The distributed scheduling structure 90 enables a two-step scheduling operation. In a first step, the RX DID can be determined in the RX ID block. In a second step, the TX DID can be determined in the TX ID block, so that a complete scheduling can be done.
The distributed scheduling structure 90 is used to map device identifiers (DIDs) rather than CIDs, in some embodiments. This lowers the size requirement for the distributed scheduling structure 90 from N2 (which is the size requirement for the tone matrix 50 in
# of tone pairs=4*N (2)
Thus, for a wireless neighborhood having eight users, the number of tone pairs needed is 32, with sixteen tones 82 being occupied in the RX ID block 92, sixteen tones in the TX ID block 94. Since the number of DIDs linearly increases with N instead of N2, the contention overhead is reduced by a factor of N, in some embodiments, relative to using the CID-based distributed scheduling method 100.
For simplicity, in
Thus, in some embodiments, the distributed scheduling structure 90 includes enough tones 82 to enable each transmitter and each receiver within a wireless neighborhood to be indicated by one of the tones. Although succeeding illustrations of the distributed scheduling structure 90 depict a rectangular structure,
For a group of D2D devices, each device is assigned a unique device ID (DID) within the group. A DID is mapped to a tone of the N tones in RX ID block 92 and TX ID block 94 as shown in
In contrast to the prior art example above, no connections between transmitter and receiver are as yet established, nor are such connections required with the device ID-based distributed scheduling method 500, in some embodiments. Receivers RX1-RX8 have associated DIDs DR1-DR8, respectively, while transmitters TX1-TX8 have associated DIDs DT1-DT8, respectively. Although device IDs appear to be presented in numerical order in the TX block 84 and TX block 88, the device IDs may populate the blocks in a variety of arrangements.
If a receiver sees that someone called its device ID, the receiver responds in an allocated tone 92. Since the third tone 92 of the TX block 84 is used for the DID of RX3, the third tone of the RX block 86 is likewise used for the acknowledgement by the receiver RX3. In
In essence, receiver RX3 is asking the transmitter to send its DID in the subsequent TX ID block 94. Where there is but a single transmitter vying for a single receiver, the two operations performed in the RX ID block 92, namely, the transmitter requesting connection to the receiver by sending a signal on the tone 92 allocated for the receiver, and the receiver acknowledging its availability, pairs the transmitter and receiver. In some embodiments, the receiver DIDs, not the transmitter DIDs, are stored in the RX ID block 92.
Where there are multiple transmitters calling the same receiver, as in
This is shown in the third step of
For combating fading, more than one tone 92 of the tone matrix 90 is used, in some embodiments. For example, two tones 92 or four tones may be used. In some embodiments, the first goal of the device ID-based distributed scheduling method 500 is to pair a transmitter and receiver.
In
If there are multiple transmitters requesting to send to the same receiver, the receiver RX3 can select one of the transmitters and schedule the data segment 76 for the selected transmitter to send the data. Using the device ID-based distributed scheduling method 500, the focus is on selecting one transmitter to send data, in some embodiments. In the final step of the operations depicted in
For differentiating between transmitters TX4 and TX8, a unique tone 92 may or may not be assigned for each transmitter DID. The reason is as follows. First, the chance of multiple transmitters contending for the same receiver at the same time may be low in D2D transmissions. Second, a small number of tones can be used for each contending transmitter to select according to its ID and/or priority. As long as the collision rate of the tone selection is low enough, say, 1%, there is no need to allocate a distinct tone for each transmitter, in some embodiments.
In another example, if, during one transmission request, e.g., from transmitter TX2 to receiver RX7, there is another transmission request, there are two solutions, in some embodiments. The first solution adopts the rule that the called receiver always responds if ready to receive.
Next, the transmitter TX2 finds out from the RX block 86 of the RX ID block 92 that both receiver RX3 and receiver RX7 respond (step 3). Further, the transmitter TX2 learns that the received power from receivers RX3 and RX7 are strong. Therefore, based on the higher priority of the receiver RX3 compared to its desired receiver RX7, transmitter TX2 quits further transmission to receiver RX7 (step 4). The transmitter TX2 estimates its potential interference to receiver RX3 from the receiver power and decides to give up this time request because the response of receiver RX3 used a tone 92 with a higher priority than the response of receiver RX7. In
The second solution is depicted in
By using this method, the scheduling overhead can be saved, especially when the number of devices is large. For N devices, if there is a direct link (transmitter to receiver) between any two devices, there will be 4*N notes required in both the RX ID block 92 and in the TX ID block 94, compared with 2*N*(N−1) in the prior art CID-based distributed scheduling method 100 (
For indicating priority of the transmission, one receiver may have multiple DIDs or tones 92, as illustrated in
While the application has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of the invention.
Claims
1. A transceiver capable of engaging, device-to-device, with other transceivers in a wireless neighborhood, the transceiver comprising:
- a distributed scheduling structure comprising a plurality of tones; and logic to: transmit a signal on a tone of a first transmit block of the distributed scheduling structure; receive an acknowledgement signal on an analogous tone of a first receive block; transmit a second signal on a second tone of a second transmit block, wherein the second tone identifies the requesting transmitter to the receiver; and transmit data to the receiver in response to receiving a second acknowledgement signal on a second analogous tone of a second receive block.
2. The transceiver of claim 1, the distributed scheduling structure further comprising:
- a receiver (RX) identifier (ID) block, comprising tone pairs mapped to device IDs (DIDs) of transceivers operating as receivers in the wireless neighborhood, wherein the RX ID block comprises the first transmit block and the first receive block; and
- a transmitter (TX) ID block comprising tone pairs mapped to DIDs of transceivers operating as transmitters in the wireless neighborhood, wherein the TX ID block comprises the second transmit block and the second receive block.
3. The transceiver of claim 2, wherein the first transmit block, the first receive block, the second transmit block, and the second receive block each comprise a predetermined number of tones and one or more tones in the TX block of the RX ID block and one or more analogous tones in the RX block of the RX ID block map to a single receiver DID.
4. The transceiver of claim 2, wherein the first tone and the first analogous tone comprise a first tone pair in the RX ID block.
5. The transceiver of claim 4, wherein the first tone pair is mapped to the DID of the receiver.
6. The transceiver of claim 1, wherein the logic comprises a software program executed by a central processing unit.
7. The transceiver of claim 1, wherein the logic comprises an application-specific integrated circuit driving a state machine implemented using logic registers.
8. The transceiver of claim 1, wherein the distributed scheduling structure is part of a contention scheduling field of a traffic slot of a data stream.
9. The transceiver of claim 3, wherein two tones in the TX block of the RX ID block and two analogous tones in the RX block of the RX ID block map to a single receiver DID.
10. The transceiver of claim 3, wherein four tones in the TX block of the RX ID block and four analogous tones in the RX block of the RX ID block map to a single receiver DID.
11. A distributed scheduling method for device-to-device (D2D) transmissions between transceivers in a wireless neighborhood, the method comprising:
- transmitting, by a transceiver operating as a requesting transmitter, a signal on a tone of a first section of a distributed scheduling structure, the distributed scheduling structure comprising a plurality of tones allocated into four distinct sections;
- transmitting, by the transceiver operating as the requesting transmitter, a second signal on a second tone of a second section of the distributed scheduling structure in response to having received an acknowledgement signal on an analogous tone of a third section of the distributed scheduling structure; wherein the tone and the analogous tone comprise a first tone pair and the second tone identifies the requesting transmitter to a receiver.
12. The method of claim 11, further comprising:
- sending data, by the requesting transmitter, to the receiver in response to receiving an second acknowledgement signal on a second analogous tone of a fourth section of the distributed scheduling structure, wherein the second tone and the second analogous tone comprise a second tone pair.
13. The method of claim 11, wherein the first section comprises a transmit (TX) block of a receiver (RX) identifier (ID) block of the distributed scheduling structure.
14. The method of claim 11, wherein the second section comprises a TX block of a TX ID block of the distributed scheduling structure.
15. The method of claim 13, wherein the third section comprises a RX block of the RX ID block of the distributed scheduling structure.
16. The method of claim 14, wherein the fourth section comprises a RX block of the TX ID block of the distributed scheduling structure.
17. The method of claim 11, further comprising:
- obtaining, by the requesting transmitter, a priority of a receiver (RX) device ID (DID) to which the acknowledgement signal is mapped;
- comparing, by the requesting transmitter, the priority to a second priority of a second RX DID, wherein a third tone mapped to a second RX DID is located in the third section of the distributed scheduling structure; and
- declining, by the requesting transmitter, to further communicate with the receiver, based on the second RX DID having a higher priority than the RX DID.
18. A distributed scheduling method for device-to-device (D2D) transmissions between transceivers in a wireless neighborhood, the method comprising:
- mapping, by a transceiver operating as a requested receiver, a signal on a tone of a transmit (TX) block of a receiver (RX) identifier (ID) block of a distributed scheduling structure to a device ID (DID) of a first receiver, the distributed scheduling structure comprising a plurality of tones, wherein one or more tones in the TX block of the RX ID block map to a single transceiver DID;
- mapping, by the transceiver operating as the requested receiver, a second signal on a second tone of the TX block of the RX ID block of the distributed scheduling structure to a DID of the requested receiver; and
- declining, by the transceiver operating as the requested receiver, to respond to a transmission request, based on the DID of the requested receiver having a lower priority than the DID of the first receiver.
19. The distributed scheduling method of claim 18, wherein two tones in the TX block of the RX ID block map to a single receiver DID.
20. The distributed scheduling method of claim 18, wherein four tones in the TX block of the RX ID block map to a single receiver ID.
Type: Application
Filed: Sep 27, 2013
Publication Date: Jun 19, 2014
Patent Grant number: 9100976
Inventors: Honggang Li (Beijing), Qinghua Li (San Ramon, CA), Huaning Niu (Milpitas, CA), Hujun Yin (Saratoga, CA), Yuan Zhu (Beijing)
Application Number: 14/126,035
International Classification: H04W 72/12 (20060101);