Abstract:
A device to device (D2D) user equipment (UE) used for a wireless communication system is provided. The D2D UE is located in a network topology including a plurality of transmitting ends and a plurality of receiving ends. The D2D UE may be a transmitting end or a receiving end. The receiving ends perform a resource scheduling procedure several times according to transmitting end sequences echoed from the transmitting ends to schedule the appropriate resources for the transmitting ends so as to prevent a transmission collision.

Description:
PRIORITY 
     This application claims the benefit of priority based on U.S. Provisional Application Ser. No. 61/953,023 filed on Mar. 14, 2014, which is hereby incorporated by reference in its entirety. 
    
    
     FIELD 
     The present invention relates to a device-to-device (D2D) user equipment (UE) for a wireless communication system and a resource scheduling method thereof. More particularly, the D2D UE of the present invention executes a resource scheduling procedure several times to avoid transmission collisions. 
     BACKGROUND 
     As the wireless communication technologies become matured in recent years, various wireless communication systems have been developed and widely applied in people&#39;s daily life to satisfy the users&#39; need for communication. Among these wireless communication systems, the 3GPP LTE (3 rd  Generation Partnership Project Long Term Evolution) communication system has experienced the rapidest development. 
     In the 3GPP LTE communication system, UEs that are to transmit data therebetween usually have to take a base station and a core network as media and transmit data via resources allocated by the base station. Although a concept of allowing the UEs to transmit data by directly contending for wireless resources (i.e., device-to-device (D2D) communication) has been proposed in the art and the industry, the existing contention-for-scheduling mechanisms all have a lot of drawbacks. 
     The existing contention-for-scheduling mechanisms are mainly divided into the purely distributed type and the central assistance type. The purely distributed type is based on the CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) protocol or the ALOHA protocol, and allows distributed D2D UEs to obtain wireless resources necessary for data transmission. However, the contention-for-scheduling mechanisms of the purely distributed type generally only allow contending for wireless resources on the time axis, and leave much time idle, so the spectrum utilization efficiency is relatively limited. 
     Additionally, in the contention-for-scheduling mechanism of the central assistance type, the base station needs to obtain the neighborship between D2D UEs and wireless resources needed. In practice, there might be a lot of D2D UEs, so obtaining such information necessitates a large amount of data exchanges. In such a case, having the base station be responsible for the resource scheduling will cause an excessive burden on the base station. Therefore, the contention-for-scheduling mechanisms of the central assistance type are difficult to be implemented. 
     Accordingly, an urgent need exists in the art to provide a resource scheduling mechanism that allows D2D UEs to obtain wireless resources necessary for direct mode communication with adjacent D2D UES in a distributed way in consideration of the spectrum utilization efficiency. 
     SUMMARY 
     Disclosed is a resource scheduling mechanism. The resource scheduling mechanism is based on the two-dimensional time-frequency contention, and allows D2D UEs to obtain wireless resources necessary for direct mode communication with adjacent UEs in a distributed way. Thereby, as compared with the conventional contending-for-scheduling mechanisms of the purely distributed type, the present invention can reduce the idle time and improve the spectrum utilization efficiency so as to improve the quality of service (QoS). 
     Also disclosed is a device-to-device (D2D) user equipment (UE) for a wireless communication system. The wireless communication system defines a scheduling channel, an echo channel and a plurality of data resource block sets. The scheduling channel comprises a plurality of scheduling resource blocks. The echo channel comprises a plurality of echo resource blocks. The scheduling channel and the echo channel correspond to each other. The scheduling resource blocks and the data resource block sets correspond to each other. The D2D UE is located in a network topology. The network topology includes a plurality of transmitting ends and a plurality of receiving ends, and the D2D UE is one of the receiving ends. The D2D UE comprises a transceiver, a storage, and a processor. The storage is configured to store a plurality of pieces of resource demand information and a plurality of priority values of the transmitting ends as well as a plurality of transmitting end sequences. Each of the transmitting ends corresponds to one of the transmitting end sequences. The processor is electrically connected to the transceiver and the storage, and is configured to execute the following operations: generating a first resource scheduling result according to the resource demand information and the priority value of each of the transmitting ends; sending one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the first resource scheduling result; receiving at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver; generating a second resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values; and sending one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the second resource scheduling result. 
     Further disclosed is a resource scheduling method for a D2D UE. The D2D UE is used in a wireless communication system and is located in a network topology. The network topology includes a plurality of transmitting ends and a plurality of receiving ends. The D2D UE is one of the receiving ends and comprises a transceiver, a storage and a processor. The storage is configured to store a plurality of pieces of resource demand information and a plurality of priority values of the transmitting ends, and a plurality of transmitting end sequences. Each of the transmitting ends corresponds to one of the transmitting end sequences. The wireless communication system defines a scheduling channel, an echo channel and a plurality of data resource block sets. The scheduling channel comprises a plurality of scheduling resource blocks. The echo channel comprises a plurality of echo resource blocks. The scheduling channel and the echo channel correspond to each other. The scheduling resource blocks and the data resource block sets correspond to each other. The resource scheduling method is executed by the processor and comprises the following steps of: generating a first resource scheduling result according to the resource demand information and the priority value of each of the transmitting ends; sending one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the first resource scheduling result; receiving at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver; generating a second resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values; and sending one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the second resource scheduling result. 
     Additionally disclosed is a D2D UE for a wireless communication system. The wireless communication system defines a scheduling channel, an echo channel and a plurality of data resource block sets. The scheduling channel comprises a plurality of scheduling resource blocks. The echo channel comprises a plurality of echo resource blocks. The scheduling channel and the echo channel correspond to each other. The scheduling resource blocks and the data resource block sets correspond to each other. The D2D UE is located in a network topology that includes a plurality of transmitting ends and a plurality of receiving ends, and the D2D UE is one of the transmitting ends. The D2D UE comprises a transceiver, a storage and a processor. The storage is configured to store a plurality of transmitting end sequences. The D2D UE corresponds to one of the transmitting end sequences. The processor is electrically connected to the transceiver and the storage, and is configured to execute the following operations: (a) receiving at least one of the transmitting end sequences respectively from the scheduling resource blocks via the transceiver; (b) sending at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver, wherein the at least one transmitting end sequence transmitted in the echo resource blocks is the same as the at least one transmitting end sequence received from the scheduling resource blocks; and (c) receiving at least one of the transmitting end sequences respectively again from the scheduling resource blocks via the transceiver. 
     Further disclosed is a resource scheduling method for a D2D UE. The D2D UE is used in a wireless communication system and is located in a network topology. The network topology includes a plurality of transmitting ends and a plurality of receiving ends. The D2D UE is one of the transmitting ends and comprises a transceiver, a storage and a processor. The storage is configured to store a plurality of transmitting end sequences. The D2D UE corresponds to one of the transmitting end sequences. The wireless communication system defines a scheduling channel, an echo channel and a plurality of data resource block sets. The scheduling channel comprises a plurality of scheduling resource blocks. The echo channel comprises a plurality of echo resource blocks. The scheduling channel and the echo channel correspond to each other. The scheduling resource blocks and the data resource block sets correspond to each other. The resource scheduling method is executed by the processor and comprises the following steps of: (a) receiving at least one of the transmitting end sequences respectively from the scheduling resource blocks via the transceiver; (b) sending at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver, wherein the at least one transmitting end sequence transmitted in the echo resource blocks is the same as the at least one transmitting end sequence received from the scheduling resource blocks; and (c) receiving at least one of the transmitting end sequences respectively again from the scheduling resource blocks via the transceiver. 
     The detailed technology and preferred embodiments implemented for the subject invention are described in the following paragraphs accompanying the appended drawings for people skilled in this field to well appreciate the features of the claimed invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1A  is a schematic view of a network topology according to a first embodiment of the present invention; 
         FIG. 1B  depicts a scheduling channel SCH, an echo channel ECH and a data resource block set DRBS_i according to the first embodiment of the present invention; 
         FIG. 1C  depicts transmitting end sequences sent in the scheduling channel SCH and transmitting end sequences received in the echo channel ECH by the receiving ends RX 1  and RX 2  according to the first embodiment of the present invention; 
         FIG. 1D  depicts transmitting end sequences received in the scheduling channel SCH and transmitting end sequences sent in the echo channel ECH by the transmitting ends TX 1  and TX 2  according to the first embodiment of the present invention; 
         FIG. 2A  is a schematic view of a network topology according to a second embodiment of the present invention; 
         FIG. 2B  depicts transmitting end sequences sent in the scheduling channel SCH and transmitting end sequences received in the echo channel ECH by the receiving end RX 1  according to the second embodiment of the present invention; 
         FIG. 2C  depicts transmitting end sequences sent in the scheduling channel SCH and transmitting end sequences received in the echo channel ECH by the receiving end RX 2  according to the second embodiment of the present invention; 
         FIG. 2D  depicts transmitting end sequences sent in the scheduling channel SCH and transmitting end sequences received in the echo channel ECH by the receiving end RX 3  according to the second embodiment of the present invention; 
         FIG. 2E  depicts transmitting end sequences received in the scheduling channel SCH and transmitting end sequences sent in the echo channel ECH by the transmitting end TX 1  according to the second embodiment of the present invention; 
         FIG. 2F  depicts transmitting end sequences received in the scheduling channel SCH and transmitting end sequences sent in the echo channel ECH by the transmitting end TX 2  according to the second embodiment of the present invention; 
         FIG. 2G  depicts transmitting end sequences received in the scheduling channel SCH and transmitting end sequences sent in the echo channel ECH by the transmitting end TX 3  according to the second embodiment of the present invention; 
         FIG. 2H  depicts transmitting end sequences received in the scheduling channel SCH and transmitting end sequences sent in the echo channel ECH by the transmitting end TX 4  according to the second embodiment of the present invention; 
         FIG. 3  is a schematic view of a D2D UE according to a third embodiment to a sixth embodiment of the present invention; 
         FIG. 4  is a flowchart diagram of a resource scheduling method according to a seventh embodiment of the present invention; and 
         FIG. 5  is a flowchart diagram of a resource scheduling method according to an eighth embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     In the following description, the present invention will be explained with reference to certain example embodiments thereof. It shall be appreciated that, these example embodiments are not intended to limit the present invention to any specific example, embodiment, environment, applications or particular implementations described in these embodiments. Therefore, description of these example embodiments is only for purpose of illustration rather than to limit the present invention, and the scope of this application shall be governed by the claims. 
     In the following embodiments and the attached drawings, elements unrelated to the present invention are omitted from depiction; and dimensional relationships among individual elements in the attached drawings are illustrated only for ease of understanding, but not to limit the actual scale. 
     The D2D UE of the present invention is used in a wireless communication system, and has a function of device-to-device direct mode communication. The wireless communication system involved in the present invention may be a wireless communication system conforming to the Long Term Evolution (LTE) standard or some other wireless communication system such as a wireless communication system adopting the Orthogonal Frequency Division Multiplexing Access (OFDMA) communication technology. 
     A first embodiment of the present invention is shown in  FIG. 1A , which depicts that there are two receiving ends RX 1 , RX 2  and two transmitting ends TX 1  and TX 2  in a region. The receiving ends RX 1 , RX 2  and the transmitting ends TX 1  and TX 2  form a network topology. The receiving end RX 1  can receive signals transmitted by the transmitting ends TX 1  and TX 2 , while the receiving end RX 2  can only receive signals transmitted by the transmitting end TX 2 . In detail, the transmitting end TX 1  may not be located within a signal coverage of the receiving end RX 2 , or the signal transmission therebetween is blocked due to geographical environment factors. The receiving ends RX 1 , RX 2  and the transmitting ends TX 1  and TX 2  are all the D2D UEs of the present invention. 
     The receiving end RX 1  learns wireless resources necessary for data transmission of the transmitting ends TX 1  and TX 2  and transmitting end index values (e.g., connection identifications) of the transmitting ends TX 1  and TX 2  through receiving resource request messages from the transmitting ends TX 1  and TX 2 . After having learned the wireless resources needed by the transmitting ends TX 1 , TX 2  and the transmitting end index values, the receiving ends RX 1  and RX 2  generate and store resource demand information and priority values of the transmitting ends TX 1  and TX 2 . In this embodiment, the priority values of the transmitting ends TX 1  and TX 2  are determined according to the transmitting end index values of the transmitting ends TX 1  and TX 2 , and the transmitting end with a smaller transmitting end index value has a smaller priority value (e.g., the priority value of the transmitting end TX 1  is 1, while the priority value of the transmitting end TX 2  is 2). In the following descriptions of this embodiment, the transmitting end with a smaller priority value is preferentially allocated a resource block set. 
     Similarly, the receiving end RX 2  learns wireless resources necessary for data transmission of the transmitting end TX 2  and the transmitting end index value of the transmitting end TX 2  through receiving a resource request message from the transmitting end TX 2 . After having learned the wireless resources needed by the transmitting end TX 2  and the transmitting end index value, the receiving end RX 2  generates and stores the resource demand information and the priority value of the transmitting end TX 2 . Additionally, the receiving ends RX 1  and RX 2  further store a plurality of transmitting end sequences. The transmitting end index value of each of the transmitting ends TX 1  and TX 2  corresponds to one of the transmitting end sequences, so the transmitting end TX 1  is associated with the transmitting end sequence TS 1  and the transmitting end TX 2  is associated with the transmitting end sequence TS 2 . The transmitting end sequences are sequences orthogonal to each other, or the sequences able to be separately identifiable, e.g., Zadoff-Chu sequences. It should be appreciated that, the receiving ends in this embodiment learn the wireless resources needed by the transmitting ends and the transmitting end index values thereof through receiving the resource request messages from the transmitting ends. However, in other embodiments, the receiving ends may learn the wireless resources needed by the surrounding transmitting ends and the transmitting end index values thereof from a base station that they are connecting to. 
     In this embodiment, the wireless resources may be in units of resource blocks defined by the LTE wireless communication system, or in units similar to the resource blocks defined by the LTE wireless communication system. A resource block is a specific region formed by a time axis and a frequency axis. Because the composition of the resource block can be readily appreciated by those of ordinary skill in the art, it will not be further detailed herein. 
     The wireless communication system defines a scheduling channel SCH, an echo channel ECH and a plurality of data resource block sets DRBS_i. For example, as shown in  FIG. 1B , the scheduling channel SCH comprises six scheduling resource blocks SRB 1 ˜SRB 6 , and the echo channel ECH comprises six echo resource blocks ERB 1 ˜ERB 6 . The scheduling channel SCH and the echo channel ECH correspond to each other (i.e., SRB 1  corresponds to ERB 1 , and SRB 2  corresponds to ERB 2  and so on). The scheduling channel SCH and the echo channel ECH appear alternately with time, and the two can be located in a same frequency band or in different frequency bands. For example, the scheduling channel SCH and the echo channel ECH appear in different subframes alternately, and the frequency bands occupied by the two in the respective subframes may be the same or different. 
     The scheduling resource blocks SRB 1 ˜SRB 6  correspond to six different data resource block sets DRBS_i respectively, and each of the data resource block sets DRBS_i comprises a plurality of resource blocks. For example, each of the data resource block sets DRBS_i comprises ten data resource blocks DRB 1 ˜DRB 10 , and the scheduling resource blocks SRB 1 ˜SRB 6  correspond to the data resource block sets DRBS_ 1 ˜DRBS_ 6  respectively. The data resource block sets may be adjacent to each other or be distributed. It shall be appreciated that, the number of scheduling resource blocks comprised in the aforesaid scheduling channel SCH, the number of echo resource blocks comprised in the echo channel ECH, the number of data resource block sets, and the number of resource blocks comprised in each of the data resource block sets are provided only for purpose of illustration rather than to limit the scope of the present invention. 
     In the network topology of  FIG. 1A , the maximum and farthest hop number of the network topology is 3 (i.e., 2N+1, where N=1), so the receiving ends RX 1  and RX 2  of this embodiment need to perform the resource scheduling procedure twice times (i.e. N+1 times). The receiving ends RX 1 , RX 2  and the transmitting ends TX 1  and TX 2  connect to a backhaul network server (not depicted) via base stations (not depicted) that they are respectively connecting to. The backhaul network server decides the maximum and farthest hop number 2N+1 and informs the transmitting ends TX 1 , TX 2  and the receiving ends RX 1  and RX 2  of this. 
     The receiving end RX 1  performs a first resource scheduling procedure according to the resource demand information and the priority values of the transmitting ends TX 1  and TX 2 . Herein, suppose that the transmitting end TX 1  needs two data resource block sets for data transmission and the transmitting end TX 2  needs three data resource block sets for data transmission. Thus, the receiving end RX 1  informs the transmitting ends TX 1  and TX 2  of a first resource scheduling result of the first resource scheduling procedure via the scheduling resource blocks SRB 1 ˜SRB 6  of the scheduling channel SCH. Similarly, the receiving end RX 2  performs the first resource scheduling procedure according to the resource demand information and the priority value of the transmitting end TX 2 , and informs the transmitting end TX 2  of the first resource scheduling result of the first resource scheduling procedure via the scheduling resource blocks SRB 1 ˜SRB 6  of the scheduling channel SCH. 
     As previously described, the transmitting end with a smaller priority value is preferentially allocated a resource block set; that is, the smaller the priority value is, the higher the priority level will be. Therefore, the receiving end firstly allocates the data resource block set DRBS_i with a smaller serial number to the transmitting end with a smaller priority value. As shown in  FIG. 1C , in the first resource scheduling result of the first resource scheduling procedure, the receiving end RX 1  allocates the data resource block sets DRBS_ 1 ˜DRBS_ 2  to the transmitting end TX 1 , and allocates the data resource block sets DRBS_ 3 ˜DRBS_ 5  to the transmitting end TX 2 . Then, the receiving end RX 1  sends the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2  of the scheduling channel SCH, and sends the transmitting end sequence TS 2  in the scheduling resource blocks SRB 3 ˜SRB 5 . On the other hand, in the first resource scheduling result of the first resource scheduling procedure, the receiving end RX 2  allocates the data resource block sets DRBS_ 1 ˜DRBS_ 3  to the transmitting end TX 2 . Then, the receiving end RX 2  sends the transmitting end sequence TS 2  in the scheduling resource blocks SRB 1 ˜SRB 3  of the scheduling channel SCH. 
     Afterwards, as shown in  FIG. 1D , the transmitting end TX 1  receives the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2  of the scheduling channel SCH, and receives the transmitting end sequence TS 2  in the scheduling resource blocks SRB 3 ˜SRB 5  of the scheduling channel SCH. Then, the transmitting end TX 1  sends the transmitting end sequences, which are received by the transmitting end TX 1  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequence TS 1  in the echo resource blocks ERB 1 ˜ERB 2  and send the transmitting end sequence TS 2  in the echo resource blocks ERB 3 ˜ERB 5 ). Similarly, the transmitting end TX 2  receives the transmitting end sequence TS 2  in the scheduling resource blocks SRB 1 ˜SRB 3  of the scheduling channel SCH. Then, the transmitting end TX 2  sends the transmitting end sequence, which is received by the transmitting end TX 2  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequence TS 2  in the echo resource blocks ERB 1 ˜ERB 3 ). 
     Next, the receiving end RX 1  performs a second resource scheduling procedure, and determines whether there are two or more transmitting end sequences in the echo resource blocks ERB 1 ˜ERB 6  of the echo channel ECH. If the determination result is “yes”, it means that there is a data resource block set DRBS_i that is allocated to the transmitting ends TX 1  and TX 2  simultaneously, so the scheduling resource blocks for sending the transmitting end sequences TS 1 , TS 2  need to be further adjusted according to the priority values of the transmitting ends TX 1  and TX 2 . Otherwise, if the answer is “no”, there is no need for the receiving end RX 1  to make any adjustment. In this embodiment, the transmitting end sequences TS 1  and TS 2  are received by the receiving end RX 1  simultaneously in the echo resource blocks ERB 1 ˜ERB 2  of the echo channel ECH. Therefore, the receiving end RX 1  further determines that the priority value of the transmitting end TX 1  is smaller than that of the transmitting end TX 2  and, thus, decides to still allocate the data resource block sets DRSB_ 1 ˜DRBS_ 2  to the transmitting end TX 1 . Then, according to the second resource scheduling result of the second resource scheduling procedure, the receiving end RX 1  still allocates the data resource block sets DRBS_ 1 ˜DRBS_ 2  to the transmitting end TX 1 , and allocates the data resource block sets DRBS_ 3 ˜DRBS_ 5  to the transmitting end TX 2 . Finally, the receiving end RX 1  sends the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2  of the scheduling channel SCH, and sends the transmitting end sequence TS 2  in the scheduling resource blocks SRB 3 ˜SRB 5 . 
     On the other hand, the receiving end RX 2  also performs the second resource scheduling procedure, and determines whether there are two or more transmitting end sequences in the echo resource blocks ERB 1 ˜ERB 6  of the echo channel ECH. In this embodiment, the transmitting end sequences TS 1  and TS 2  are also received by the receiving end RX 2  simultaneously in the echo resource blocks ERB 1 ˜ERB 2  of the echo channel ECH, so the receiving end RX 2  further determines that the priority value of the transmitting end TX 2  is greater than that of the transmitting end TX 1 . Therefore, the first resource scheduling result of the first resource scheduling procedure needs to be adjusted by skipping the data resource block sets DRBS_ 1 ˜DRBS_ 2  and allocating the data resource block sets DRBS_ 3 ˜DRBS_ 5  with greater serial numbers to the transmitting end TX 2 . Then, the receiving end RX 2  sends the transmitting end sequence TS 2  in the scheduling resource blocks SRB 3 ˜SRB 5  of the scheduling channel SCH according to the second resource scheduling result of the second resource scheduling procedure. 
     Accordingly, the transmitting end TX 1  can perform data transmission through the use of the data resource block sets DRBS_ 1 ˜DRBS_ 2  according to the transmitting end sequence TS 1  of the scheduling resource blocks SRB 1 ˜SRB 2 , and the transmitting end TX 2  can perform data transmission through the use of the data resource block sets DRBS_ 3 ˜DRBS_ 5  according to the transmitting end sequence TS 2  of the scheduling resource blocks SRB 3 ˜SRB 5 . As can be known from this, through the first resource scheduling procedure and the second resource scheduling procedure described above, the present invention allocates data resource block sets DRBS_i with greater serial numbers to transmitting ends with greater priority values, so it can be avoided that a same data resource block set DRBS_i is allocated by the receiving ends RX 1  and RX 2  to the transmitting ends TX 1  and TX 2  simultaneously. 
     A second embodiment of the present invention is shown in  FIG. 2A , which depicts that there are three receiving ends RX 1 , RX 2 , RX 3  and four transmitting ends TX 1 , TX 2 , TX 3  and TX 4  in a region. The receiving end RX 1  can receive signals transmitted by the transmitting ends TX 1  and TX 2 ; the receiving end RX 2  can receive signals transmitted by the transmitted ends TX 2  and TX 3 ; and the receiving end RX 3  can receive signals transmitted by the transmitted ends TX 3  and TX 4 . The receiving ends RX 1 , RX 2 , RX 3  and the transmitting ends TX 1 , TX 2 , TX 3  and TX 4  are all the D2D UEs of the present invention. 
     In the network topology of  FIG. 2A , the maximum and farthest hop number is 5 (i.e., 2N+1, where N=2), so the receiving ends RX 1 , RX 2  and RX 3  of this embodiment need to perform the resource scheduling procedure three times (i.e. N+1 times). For purpose of simplicity, the following description will be made with reference to  FIGS. 2B-2H  for each of the receiving ends RX 1 , RX 2 , RX 3  and each of the transmitting ends TX 1 , TX 2 , TX 3 , TX 4  in the scheduling channel SCH and the echo channel ECH during respective resource scheduling procedure stages. Moreover, it is supposed herein that the transmitting ends TX 1 , TX 2 , TX 3  and TX 4  respectively need two, one, two and one data resource block set for data transmission and the priority values of the transmitting ends TX 1 , TX 2 , TX 3 , and TX 4  are 1, 2, 3, and 4 respectively. 
     Referring firstly to  FIG. 2B , in the first resource scheduling procedure, the receiving end RX 1  allocates the data resource block sets DRBS_ 1 ˜DRBS_ 2  to the transmitting end TX 1 , and allocates the data resource block set DRBS_ 3  to the transmitting end TX 2 . Then, the receiving end RX 1  sends the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2 , and sends the transmitting end sequence TS 2  in the scheduling resource block SRB 3 . Afterwards, the receiving end RX 1  receives the transmitting end sequences TS 1  and TS 2  simultaneously in the echo resource block ERB 1 , receives the transmitting end sequences TS 1  and TS 3  simultaneously in the echo resource block ERB 2 , and receives the transmitting end sequences TS 2  and TS 3  simultaneously in the echo resource block ERB 3 . 
     Next, in the second resource scheduling procedure, the receiving end RX 1  determines whether each of the echo resource blocks comprises two or more transmitting end sequences, and adjusts the transmitting end sequences sent in the scheduling resource blocks according to the priority values of the transmitting ends corresponding to the transmitting end sequences. Accordingly, in the second resource scheduling procedure, the receiving end RX 1  allocates the data resource block sets DRBS_ 1 ˜DRBS_ 2  to the transmitting end TX 1 , and allocates the data resource block set DRBS_ 3  to the transmitting end TX 2 . Afterwards, the receiving end RX 1  sends the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2 , and sends the transmitting end sequence TS 2  in the scheduling resource block SRB 3 . Then, the receiving end RX 1  receives the transmitting end sequence TS 1  in the echo resource blocks ERB 1  and ERB 2 , receives the transmitting end sequence TS 2  in the echo resource block ERB 3 , and receives the transmitting end sequence TS 3  in the echo resource blocks ERB 4  and ERB 5 . 
     Finally, in the third resource scheduling procedure, the receiving end RX 1  determines that each of the echo resource blocks has only one transmitting end sequence, so the second resource scheduling result of the second resource scheduling procedure remains unchanged: that is, the data resource block sets DRBS_ 1 ˜DRBS_ 2  are allocated to the transmitting end TX 1 , the data resource block set DRBS_ 3  is allocated to the transmitting end TX 2 , the transmitting end sequence TS 1  is sent in the scheduling resource blocks SRB 1 ˜SRB 2 , and the transmitting end sequence TS 2  is sent in the scheduling resource block SRB 3 . 
     Referring to  FIG. 2C , in the first resource scheduling procedure, the receiving end RX 2  allocates the data resource block set DRBS_ 1  to the transmitting end TX 2 , and allocates the data resource block sets DRBS_ 2 ˜DRBS_ 3  to the transmitting end TX 3 . Then, the receiving end RX 2  sends the transmitting end sequence TS 2  in the scheduling resource block SRB 1 , and sends the transmitting end sequence TS 3  in the scheduling resource blocks SRB 2 ˜SRB 3 . Afterwards, the receiving end RX 2  receives the transmitting end sequences TS 1 , TS 2  and TS 3  simultaneously in the echo resource block ERB 1 , receives the transmitting end sequences TS 1  and TS 3  simultaneously in the echo resource block ERB 2 , and receives the transmitting end sequences TS 2 , TS 3  and TS 4  simultaneously in the echo resource block ERB 3 . 
     Then, in the second resource scheduling procedure, the receiving end RX 2  determines whether each of the echo resource blocks comprises two or more transmitting end sequences, and adjusts the transmitting end sequences sent in the scheduling resource blocks according to the priority values of the transmitting ends corresponding to the transmitting end sequences. Accordingly, in the second resource scheduling procedure, the receiving end RX 2  allocates the data resource block set DRBS_ 3  to the transmitting end TX 2 , and allocates the data resource block sets DRBS_ 4 ˜DRBS_ 5  to the transmitting end TX 3 . Then, the receiving end RX 2  sends the transmitting end sequence TS 2  in the scheduling resource block SRB 3 , and sends the transmitting end sequence TS 3  in the scheduling resource blocks SRB 4 ˜SRB 5 . Afterwards, the receiving end RX 2  receives the transmitting end sequence TS 1  in the echo resource block ERB 1 , receives the transmitting end sequences TS 1  and TS 3  simultaneously in the echo resource block ERB 2 , receives the transmitting end sequences TS 2  and TS 3  simultaneously in the echo resource block ERB 3 , receives the transmitting end sequences TS 3  and TS 4  simultaneously in the echo resource block ERB 4 , and receives the transmitting end sequence TS 3  in the echo resource block ERB 5 . 
     Finally, in the third resource scheduling procedure, the receiving end RX 2  determines whether each of the echo resource blocks comprises two or more transmitting end sequences and, according to the priority values of the transmitting ends, determines whether the scheduling resource blocks for sending the transmitting end sequences need to be adjusted. Because the priority value of the transmitting end TX 2  is smaller than the priority value of the transmitting end TX 3  which, in turn, is smaller than that of the transmitting end TX 4 , the receiving end RX 2  keeps the second resource scheduling result of the second resource scheduling procedure unchanged: that is, the data resource block set DRBS_ 3  is allocated to the transmitting end TX 2 , the data resource block sets DRBS_ 4 ˜DRBS_ 5  are allocated to the transmitting end TX 3 , the transmitting end sequence TS 2  is sent in the scheduling resource block SRB 3 , and the transmitting end sequence TS 3  is sent in the scheduling resource blocks SRB 4 ˜SRB 5 . 
     Referring to  FIG. 2D , in the first resource scheduling procedure, the receiving end RX 3  allocates the data resource block sets DRBS_ 1 ˜DRBS_ 2  to the transmitting end TX 3 , and allocates the data resource block set DRBS_ 3  to the transmitting end TX 4 . Then, the receiving end RX 3  sends the transmitting end sequence TS 3  in the scheduling resource blocks SRB 1 ˜SRB 2 , and sends the transmitting end sequence TS 4  in the scheduling resource block SRB 3 . Afterwards, the receiving end RX 3  receives the transmitting end sequences TS 2  and TS 3  simultaneously in the echo resource block ERB 1 , receives the transmitting end sequence TS 3  in the echo resource block ERB 2 , and receives the transmitting end sequences TS 3  and TS 4  simultaneously in the echo resource block ERB 3 . 
     Then, in the second resource scheduling procedure, the receiving end RX 3  determines whether each of the echo resource blocks comprises two or more transmitting end sequences, and adjusts the transmitting end sequences sent in the scheduling resource blocks according to the priority values of the transmitting ends corresponding to the transmitting end sequences. Accordingly, in the second resource scheduling procedure, the receiving end RX 3  allocates the data resource block sets DRBS_ 2 ˜DRBS_ 3  to the transmitting end TX 3 , and allocates the data resource block set DRBS_ 4  to the transmitting end TX 4 . Afterwards, the receiving end RX 3  sends the transmitting end sequence TS 3  in the scheduling resource blocks SRB 2 ˜SRB 3 , and sends the transmitting end sequence TS 4  in the scheduling resource block SRB 4 . Then, the receiving end RX 3  receives the transmitting end sequence TS 3  in the echo resource block ERB 2 , receives the transmitting end sequences TS 2  and TS 3  simultaneously in the echo resource block ERB 3 , receives the transmitting end sequences TS 3  and TS 4  simultaneously in the echo resource block ERB 4 , and receives the transmitting end sequence TS 3  in the echo resource block ERB 5 . 
     Finally, in the third resource scheduling procedure, the receiving end RX 3  determines whether each of the echo resource blocks comprises two or more transmitting end sequences and, according to the priority values of the transmitting ends, determines whether the scheduling resource blocks for sending the transmitting end sequences need to be adjusted. Because the priority value of the transmitting end TX 2  is smaller than the priority value of the transmitting end TX 3  which, in turn, is smaller than that of the transmitting end TX 4 , the receiving end RX 3  adjusts the second resource scheduling result of the second resource scheduling procedure so that the data resource block sets DRBS_ 4 ˜DRBS_ 5  are allocated to the transmitting end TX 3 , the data resource block set DRBS_ 6  is allocated to the transmitting end TX 4 , the transmitting end sequence TS 3  is sent in the scheduling resource blocks SRB 4 ˜SRB 5 , and the transmitting end sequence TS 4  is sent in the scheduling resource block SRB 6 . 
     Referring to  FIG. 2E , in response to the first resource scheduling result of the receiving end RX 1 , the transmitting end TX 1  receives the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2  and receives the transmitting end sequence TS 2  in the scheduling resource block SRB 3 . Then, the transmitting end TX 1  sends the transmitting end sequences, which are received by the transmitting end TX 1  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequence TS 1  in the echo resource blocks ERB 1 ˜ERB 2  and send the transmitting end sequence TS 2  in the echo resource block ERB 3 ). 
     Afterwards, in response to the second resource scheduling result of the receiving end RX 1 , the transmitting end TX 1  still receives the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2 , and receives the transmitting end sequence TS 2  in the scheduling resource block SRB 3 . Likewise, the transmitting end TX 1  sends the transmitting end sequences, which are received by the transmitting end TX 1  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequence TS 1  in the echo resource blocks ERB 1 ˜ERB 2  and send the transmitting end sequence TS 2  in the echo resource block ERB 3 ). Finally, in response to the third resource scheduling result of the receiving end RX 1 , the transmitting end TX 1  receives the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2  and receives the transmitting end sequence TS 2  in the scheduling resource block SRB 3  again. 
     Referring to  FIG. 2F , in response to the first resource scheduling result of the receiving ends RX 1  and RX 2 , the transmitting end TX 2  receives the transmitting end sequences TS 1  and TS 2  simultaneously in the scheduling resource block SRB 1 , receives the transmitting end sequences TS 1  and TS 3  simultaneously in the scheduling resource block SRB 2 , and receives the transmitting end sequences TS 2  and TS 3  simultaneously in the scheduling resource block SRB 3 . Then, the transmitting end TX 2  sends the transmitting end sequences, which are received by the transmitting end TX 2  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequences TS 1  and TS 2  in the echo resource block ERB 1 , send the transmitting end sequences TS 1  and TS 3  in the echo resource block ERB 2 , and send the transmitting end sequences TS 2  and TS 3  in the echo resource block ERB 3 ). 
     Afterwards, in response to the second resource scheduling result of the receiving ends RX 1  and RX 2 , the transmitting end TX 2  receives the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2 , receives the transmitting end sequence TS 2  in the scheduling resource block SRB 3 , and receives the transmitting end sequence TS 3  in the scheduling resource blocks SRB 4 ˜SRB 5 . Then, the transmitting end TX 2  sends the transmitting end sequences, which are received by the transmitting end TX 2  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequence TS 1  in the echo resource blocks ERB 1 ˜ERB 2 , send the transmitting end sequence TS 2  in the echo resource block ERB 3 , and send the transmitting end sequence TS 3  in the echo resource blocks ERB 4 ˜ERB 5 ). Finally, in response to the third resource scheduling result of the receiving ends RX 1  and RX 2 , the transmitting end TX 2  receives the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2 , receives the transmitting end sequence TS 2  in the scheduling resource block SRB 3 , and receives the transmitting end sequence TS 3  in the scheduling resource blocks SRB 4 ˜SRB 5 . 
     Referring to  FIG. 2G , in response to the first resource scheduling result of the receiving ends RX 2  and RX 3 , the transmitting end TX 3  receives the transmitting end sequences TS 2  and TS 3  simultaneously in the scheduling resource block SRB 1 , receives the transmitting end sequence TS 3  in the scheduling resource block SRB 2 , and receives the transmitting end sequences TS 3  and TS 4  simultaneously in the scheduling resource block SRB 3 . Then, the transmitting end TX 3  sends the transmitting end sequences, which are received by the transmitting end TX 3  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequences TS 2  and TS 3  in the echo resource block ERB 1 , send the transmitting end sequence TS 3  in the echo resource block ERB 2 , and send the transmitting end sequences TS 3  and TS 4  in the echo resource block ERB 3 ). 
     Afterwards, in response to the second resource scheduling result of the receiving ends RX 2  and RX 3 , the transmitting end TX 3  receives the transmitting end sequence TS 3  in the scheduling resource block SRB 2 , receives the transmitting end sequences TS 2  and TS 3  simultaneously in the scheduling resource block SRB 3 , receives the transmitting end sequences TS 3  and TS 4  simultaneously in the scheduling resource block SRB 4 , and receives the transmitting end sequence TS 3  in the scheduling resource block SRB 5 . Then, the transmitting end TX 3  sends the transmitting end sequences, which are received by the transmitting end TX 3  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequence TS 3  in the echo resource block ERB 2 , send the transmitting end sequences TS 2  and TS 3  in the echo resource block ERB 3 , send the transmitting end sequences TS 3  and TS 4  in the echo resource block ERB 4 , and send the transmitting end sequence TS 3  in the echo resource block ERB 5 ). Finally, in response to the third resource scheduling result of the receiving ends RX 2  and RX 3 , the transmitting end TX 3  receives the transmitting end sequence TS 2  in the scheduling resource block SRB 3 , receives the transmitting end sequence TS 3  in the scheduling resource blocks SRB 4 ˜SRB 5 , and receives the transmitting end sequence TS 4  in the scheduling resource block SRB 6 . 
     Referring to  FIG. 2H , in response to the first resource scheduling result of the receiving end RX 3 , the transmitting end TX 4  receives the transmitting end sequence TS 3  in the scheduling resource blocks SRB 1 ˜SRB 2 , and receives the transmitting end sequence TS 4  in the scheduling resource block SRB 3 . Then, the transmitting end TX 4  sends the transmitting end sequences, which are received by the transmitting end TX 4  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequence TS 3  in the echo resource blocks ERB 1 ˜ERB 2  and send the transmitting end sequence TS 4  in the echo resource block ERB 3 ). 
     Afterwards, in response to the second resource scheduling result of the receiving end RX 3 , the transmitting end TX 4  receives the transmitting end sequence TS 3  in the scheduling resource blocks SRB 2 ˜SRB 3 , and receives the transmitting end sequence TS 4  in the scheduling resource block SRB 4 . Then, the transmitting end TX 3  sends the transmitting end sequences, which are received by the transmitting end TX 3  in the scheduling channel SCH, via the echo channel ECH (i.e., to send the transmitting end sequence TS 3  in the echo resource blocks ERB 2 ˜ERB 3  and send the transmitting end sequence TS 4  in the echo resource block ERB 4 ). Finally, in response to the third resource scheduling result of the receiving end RX 3 , the transmitting end TX 4  receives the transmitting end sequence TS 3  in the scheduling resource blocks SRB 4 ˜SRB 5 , and receives the transmitting end sequence TS 4  in the scheduling resource block SRB 6 . 
     Accordingly, the transmitting end TX 1  can use the data resource block sets DRBS_ 1 ˜DRBS_ 2  for data transmission according to the transmitting end sequence TS 1  of the scheduling resource blocks SRB 1 ˜SRB 2 ; the transmitting end TX 2  can use the data resource block set DRBS_ 3  for data transmission according to the transmitting end sequence TS 2  of the scheduling resource block SRB 3 ; the transmitting end TX 3  can use the data resource block sets DRBS_ 4 ˜DRBS_ 5  for data transmission according to the transmitting end sequence TS 3  of the scheduling resource blocks SRB 4 ˜SRB 5 ; and the transmitting end TX 4  can use the data resource block set DRBS_ 6  for data transmission according to the transmitting end sequence TS 4  of the scheduling resource block SRB 6 . As can be known from this, through the first to the third resource scheduling procedures described above, the present invention can avoid that the receiving ends RX 1 , RX 2  and RX 3  allocate a same data resource block set DRBS_i to different transmitting ends simultaneously. 
     A third embodiment of the present invention is shown in  FIG. 3 , which is a schematic view of a D2D UE  1 . The D2D UE  1  is used in a wireless communication system, and comprises a storage  11 , a processor  13  and a transceiver  15 . The storage  11  is configured to store a plurality of pieces of resource demand information and a plurality of priority values of a plurality of transmitting ends as well as a plurality of transmitting end sequences. The resource demand information of each of the transmitting ends indicates the wireless resource needed by the transmitting end to transmit data. The processor  13  is electrically connected to the storage  11  and the transceiver  15 . As described in the previous embodiments, the wireless communication system defines a scheduling channel, an echo channel and a plurality of data resource block sets. The scheduling channel comprises a plurality of scheduling resource blocks, and the echo channel comprises a plurality of echo resource blocks. The scheduling channel and the echo channel correspond to each other, and the scheduling resource blocks and the data resource block sets correspond to each other. 
     Specifically, the D2D UE  1  is located in a network topology that includes a plurality of transmitting ends and a plurality of receiving ends. These receiving ends and transmitting ends are all D2D UEs, and have functions identical to those of the D2D UE  1 . The network topology has a maximum and farthest hop number of 2N+1, where N is a natural number. In this embodiment, the maximum and farthest hop number is 3, so N is 1. The D2D UE  1  is a receiving end, which may be either of the receiving ends RX 1  and RX 2  of the first embodiment. 
     The processor  13  generates a first resource scheduling result according to the resource demand information and the priority value of each of the transmitting ends. Then, the processor  13  sends one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver  15  according to the first resource scheduling result. For example, when the D2D UE  1  is the receiving end RX 1  of the first embodiment, the processor  13  sends the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2 , and sends the transmitting end sequence TS 2  in the scheduling resource blocks SRB 3 ˜SRB 5  via the transceiver  15 . Afterwards, the processor  13  receives at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver  15 . For example, when the D2D UE  1  is the receiving end RX 1  of the first embodiment, the processor  13  receives the transmitting end sequences TS 1  and TS 2  simultaneously in the echo resource blocks ERB 1 ˜ERB 2 , and receives the transmitting end sequence TS 2  in the echo resource blocks ERB 3 ˜ERB 5  via the transceiver  15 . 
     Then, the processor  13  generates a second resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values, and sends one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver  15  according to the second resource scheduling result. For example, when the D2D UE  1  is the receiving end RX 1  of the first embodiment, the processor  13  sends the transmitting end sequence TS 1  in the scheduling resource blocks SRB 1 ˜SRB 2 , and sends the transmitting end sequence TS 2  in the scheduling resource blocks SRB 3 ˜SRB 5  via the transceiver  15 . 
     Please also refer to  FIG. 3  for a fourth embodiment of the present invention. Different from the third embodiment, the D2D UE  1  of the fourth embodiment is located in a network topology, and the network topology has a maximum and farthest hop number of 2N+1, where N is greater than 1. Besides executing the operations described in the third embodiment, the processor  13  in this embodiment further executes the following operations for N−1 times, and i is 2 to N: receiving at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver; generating a (i+1) th  resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values; and sending one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the (i+1) th  resource scheduling result. 
     Take a case where the D2D UE  1  is the receiving end RX 2  of the second embodiment and N=2 as an example. The processor  13  generates a first resource scheduling result according to the resource demand information and the priority value of each of the transmitting ends and, according to the first resource scheduling result, sends the transmitting end sequence TS 2  in the scheduling resource block SRB 1  and sends the transmitting end sequence TS 3  in the scheduling resource blocks SRB 2 ˜SRB 3  via the transceiver  15 . Afterwards, the processor  13  receives the transmitting end sequences TS 1 , TS 2  and TS 3  simultaneously in the echo resource block ERB 1 , receives the transmitting end sequences TS 1  and TS 3  simultaneously in the echo resource block ERB 2 , and receives the transmitting end sequences TS 2 , TS 3  and TS 4  simultaneously in the echo resource block ERB 3  via the transceiver  15 . 
     Then, the processor  13  generates a second resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values and, according to the second resource scheduling result, sends the transmitting end sequence TS 2  in the scheduling resource block SRB 3  and sends the transmitting end sequence TS 3  in the scheduling resource blocks SRB 4 ˜SRB 5  via the transceiver  15 . Then, the processor  13  receives the transmitting end sequence TS 1  in the echo resource block ERB 1 , receives the transmitting end sequences TS 1  and TS 3  simultaneously in the echo resource block ERB 2 , receives the transmitting end sequences TS 2  and TS 3  simultaneously in the echo resource block ERB 3 , receives the transmitting end sequences TS 3  and TS 4  simultaneously in the echo resource block ERB 4 , and receives the transmitting end sequence TS 3  in the echo resource block ERB 5  via the transceiver  15 . Finally, the processor  13  generates a third resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values and, according to the third resource scheduling result, sends the transmitting end sequence TS 2  in the scheduling resource block SRB 3  and sends the transmitting end sequence TS 3  in the scheduling resource blocks SRB 4 ˜SRB 5  via the transceiver  15 . 
     In other embodiments, besides further executing the aforesaid operations for N−1 times, the processor  13  may further execute the aforesaid operations for M times more, where M represents an adjustment number and is a natural number. In other words, the processor  13  further executes the following operations for N+M−1 times, and i is 2 to N+M: receiving at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver; generating a (i+1) th  resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values; and sending one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the (i+1) th  resource scheduling result. 
     The adjustment number M may be decided by the backhaul network server, and is informed to each of the transmitting ends and the receiving ends; or may be decided by the processor  13  through executing an adjustment procedure. For example, the adjustment number M may be decided by the backhaul network server according to a fact that there is a D2D UE moving at a high speed in the network topology so as to avoid that the wireless resources can not be appropriately allocated to the transmitting ends due to an insufficient number of times of the resource scheduling procedure being executed by the receiving ends when a change in the maximum and farthest hop number is caused by the D2D UE moving at a high speed. Additionally, in the adjustment procedure, the processor  13  may also determine that the D2D UE  1  itself or one of surrounding D2D UEs is moving at a high speed, decide the adjustment number M correspondingly, and then informs the adjustment number M to each of the transmitting ends and the receiving ends via the backhaul network server. 
     Please also refer to  FIG. 3  for a fifth embodiment of the present invention. In this embodiment, the maximum and farthest hop number is 3, so N is 1. The D2D UE  1  is a transmitting end, which may be either of the receiving ends TX 1  and TX 2  of the first embodiment. The processor  13  executes the following operations: (a) receive at least one of the transmitting end sequences respectively from the scheduling resource blocks via the transceiver  15 ; (b) transmit at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver  15 , where the at least one transmitting end sequence transmitted in the echo resource blocks is the same as the at least one transmitting end sequence received from the scheduling resource blocks; and (c) receive at least one of the transmitting end sequences respectively from the scheduling resource blocks via the transceiver  15  again. 
     Taking the receiving end TX 2  of the first embodiment as an example, the processor  13  receives the transmitting end sequences TS 1  and TS 2  simultaneously from the scheduling resource blocks SRB 1 ˜SRB 2 , and receives the transmitting end sequence TS 2  from the scheduling resource blocks SRB 3 ˜SRB 4  via the transceiver  15 . Then, the processor  13  sends the transmitting end sequences TS 1  and TS 2  in the echo resource blocks ERB 1 ˜ERB 2 , and sends the transmitting end sequence TS 2  in the echo resource blocks ERB 3 ˜ERB 5  via the transceiver  15 . Finally, the processor  13  receives the transmitting end sequence TS 1  from the scheduling resource blocks SRB 1 ˜SRB 2  and receives the transmitting end sequence TS 2  from the scheduling resource blocks SRB 3 ˜SRB 5  via the transceiver  15  again. 
     Please also refer to  FIG. 3  for a sixth embodiment of the present invention. Different from the fifth embodiment, the D2D UE  1  is located in a network topology which has a maximum and farthest hop number of 2N+1, where N is greater than 1. In this embodiment, besides further executing the operations (a)-(c) described in the fourth embodiment, the processor  13  further repeatedly executes the operations (b) and (c) for N−1 times after the operation (c). 
     Take a case where the D2D UE  1  is the transmitting end TX 3  of the second embodiment and N=2 as an example. The processor  13  receives the transmitting end sequences TS 2  and TS 3  simultaneously from the scheduling resource block SRB 1 , receives the transmitting end sequence TS 3  from the scheduling resource block SRB 2 , and receives the transmitting end sequences TS 3  and TS 4  simultaneously from the scheduling resource block SRB 3  via the transceiver  15 . Then, the processor  13  sends the transmitting end sequences TS 1  and TS 3  in the echo resource block ERB 1 , sends the transmitting end sequence TS 3  in the echo resource block ERB 2 , and sends the transmitting end sequences TS 3  and TS 4  in the echo resource block ERB 3  via the transceiver  15 . 
     Afterwards, the processor  13  receives the transmitting end sequence TS 3  from the scheduling resource block SRB 2 , receives the transmitting end sequences TS 2  and TS 3  simultaneously from the scheduling resource block SRB 3 , receives the transmitting end sequences TS 3  and TS 4  simultaneously from the scheduling resource block SRB 4 , and receives the transmitting end sequence TS 3  from the scheduling resource block SRB 5  via the transceiver  15 . Then, the processor  13  sends the transmitting end sequence TS 3  in the echo resource block ERB 2 , sends the transmitting end sequences TS 2  and TS 3  in the echo resource block ERB 3 , sends the transmitting end sequences TS 3  and TS 4  in the echo resource block ERB 4 , and sends the transmitting end sequence TS 3  in the echo resource block ERB 5  via the transceiver  15 . Finally, the processor  13  receives the transmitting end sequence TS 2  from the scheduling resource block SRB 3 , receives the transmitting end sequence TS 3  from the scheduling resource blocks SRB 3 ˜SRB 4 , and receives the transmitting end sequence TS 4  from the scheduling resource block SRB 5  via the transceiver  15 . 
     Similarly, besides further executing the aforesaid operations for N−1 times, the processor  13  in other embodiments may further execute the aforesaid operations for M times more, where M is an adjustment number and is a natural number. In other words, the processor  13  further repeatedly executes the operations (b) and (c) for N+M−1 times after the operation (c). As described above, the adjustment number M may be decided by the backhaul network server and then informed to each of the transmitting ends and the receiving ends; or may be decided by the processor  13  through executing an adjustment procedure. 
     A seventh embodiment of the present invention is shown in  FIG. 4 , which is a flowchart diagram of a resource scheduling method. The resource scheduling method is used for a D2D UE (e.g., either of the receiving ends RX 1  and RX 2  of the first embodiment). The D2D UE is used in a wireless communication system and is located in a network topology that includes a plurality of transmitting ends and a plurality of receiving ends. The D2D UE is one of the receiving ends. The D2D UE comprises a transceiver, a storage and a processor. The storage is configured to store a plurality of pieces of resource demand information and a plurality of priority values of the transmitting ends as well as a plurality of transmitting end sequences. Each of the transmitting ends corresponding to one of the transmitting end sequences. The wireless communication system defines a scheduling channel, an echo channel and a plurality of data resource block sets. The scheduling channel comprises a plurality of scheduling resource blocks, and the echo channel comprises a plurality of echo resource blocks. The scheduling channel and the echo channel correspond to each other, and the scheduling resource blocks and the data resource block sets correspond to each other. The resource scheduling method is executed by the processor. 
     Firstly, step  401  is executed to generate a first resource scheduling result according to the resource demand information and the priority value of each of the transmitting ends. Then, step  403  is executed to send one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the first resource scheduling result. Then, step  405  is executed to receive at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver. 
     Afterwards, step  407  is executed to generate a second resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values. Next, step  409  is executed to send one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the second resource scheduling result. 
     Additionally, in other embodiments, the network topology has a maximum and farthest hop number of 2N+1, where N is a natural number. The resource scheduling method of the present invention may further comprise the following steps and the processor further executes the following steps for N−1 times, where i is 2 to N: receiving at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver; generating a (i+1) th  resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values; and sending one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the (i+1) th  resource scheduling result. 
     Furthermore, in other embodiments, the network topology has a maximum and farthest hop number of 2N+1, where N is a natural number. The resource scheduling method of the present invention may further comprise the following steps and the processor further executes the following steps for N+M−1 times, where M represents an adjustment number and is a natural number, and i is 2 to N+M: receiving at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver; generating a (i+1) th  resource scheduling result according to the transmitting end sequences received from the echo resource blocks and the priority values; and sending one of the transmitting end sequences respectively in the scheduling resource blocks via the transceiver according to the (i+1) th  resource scheduling result. 
     In addition to the aforesaid steps, the resource scheduling method of this embodiment can also execute all the operations and have all the corresponding functions set forth in the previous embodiments. How the resource scheduling method of this embodiment executes these operations and have these functions will be readily appreciated by those of ordinary skill in the art based on the disclosures of the previous embodiments, and thus will not be further described herein. 
     An eighth embodiment of the present invention is shown in  FIG. 5 , which is a flowchart diagram of a resource scheduling method. The resource scheduling method is used for a D2D UE. The D2D UE is used in a wireless communication system and is located in a network topology. The network topology includes a plurality of transmitting ends and a plurality of receiving ends. The D2D UE is one of the transmitting ends (e.g., either of the transmitting ends TX 1  and TX 2  of the first embodiment). The D2D UE comprises a transceiver, a storage and a processor. The storage is configured to store a plurality of transmitting end sequences of the transmitting ends. The wireless communication system defines a scheduling channel, an echo channel and a plurality of data resource block sets. The scheduling channel comprises a plurality of scheduling resource blocks, and the echo channel comprises a plurality of echo resource blocks. The scheduling channel and the echo channel correspond to each other, and the scheduling resource blocks and the data resource block sets correspond to each other. The resource scheduling method is executed by the processor. 
     Firstly, step  501  is executed to receive at least one of the transmitting end sequences respectively from the scheduling resource blocks via the transceiver. Then, step  503  is executed to transmit at least one of the transmitting end sequences respectively in the echo resource blocks via the transceiver. The at least one transmitting end sequence transmitted in the echo resource blocks is the same as the at least one transmitting end sequence received from the scheduling resource blocks. Afterwards, step  505  is executed to receive at least one of the transmitting end sequences respectively from the scheduling resource blocks via the transceiver again. 
     In other embodiments, the network topology has a maximum and farthest hop number of 2N+1, where N is a natural number. The resource scheduling method of the present invention may further comprise the following step of: repeatedly executing the step  503  and the step  505  for N−1 times after the step  505 . 
     In other embodiments, the D2D UE has a maximum and farthest hop number of 2N+1, where N is a natural number. The resource scheduling method of the present invention may further comprise the following step of: repeatedly executing the step  503  and the step  505  for N+M−1 times after the step  505 , where M represents an adjustment number and is a natural number. 
     In addition to the aforesaid steps, the resource scheduling method of this embodiment can also execute all the operations and have all the corresponding functions set forth in the previous embodiments. How the resource scheduling method of this embodiment executes these operations and have these functions will be readily appreciated by those of ordinary skill in the art based on the disclosures of the previous embodiments, and thus will not be further described herein. 
     According to the above descriptions, the resource scheduling mechanism of the present invention is adapted for a wireless communication system adopting the OFDMA communication technology. This allows the D2D UEs to obtain wireless resources necessary for direct mode communication with adjacent D2D UEs in a distributed way and through two-dimensional time-frequency contention. Thereby, as compared with the conventional contending-for-scheduling mechanisms of the purely distributed type, the present invention can reduce the idle time and improve the spectrum utilization efficiency so as to improve the quality of service (QoS). 
     The above disclosure is related to the detailed technical contents and inventive features thereof. People skilled in this field may proceed with a variety of modifications and replacements based on the disclosures and suggestions of the invention as described without departing from the characteristics thereof. Nevertheless, although such modifications and replacements are not fully disclosed in the above descriptions, they have substantially been covered in the following claims as appended.