Abstract:
A hybrid communication network for a transportation safety system includes a fixed wired nodes and mobile wireless nodes. Because the wired nodes operate independently packets transmitted by the wired nodes to the wireless nodes need to be synchronized. A downlink travel time for downlink packets traveling from a controller to the wireless nodes is determined. Then, the controller schedules downlink data intervals (DDI) based on the downlink travel time; and transmits downlink packets to the wireless nodes during the DDI, such that a latency requirement of the transportation safety system is satisfied.

Description:
RELATED APPLICATION 
       [0001]    This U.S. Patent Application is a Continuation-in-Part of U.S. patent application Ser. No. 12/964,283, “Synchronous Data Transmission in Hybrid Communication Networks for Transportation Safety Systems,” filed Dec. 9, 2010 by Guo et al., incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    This invention relates generally to communication networks for transportation safety systems, and more particularly to scheduling transmission of data packets in hybrid communication networks including wired fixed nodes and wireless mobile nodes. 
       BACKGROUND OF THE INVENTION 
       [0003]    Data communications in transportation safety systems require high reliability and low latency. For example, the International Electronic Commission (IEC) has set stringent safety and reliability requirements on communication networks in elevator systems. Only one error is allowed in approximately 10 15  safety related packets. The latency requirement for high priority packets can be as short as a few milliseconds. 
         [0004]    Conventional safety systems are typically implemented with nodes (transceivers) connected to a dedicated wired communication networks. For example, to send safety packets between a controller and a car in an elevator system, a heavy communication cable in an elevator shaft is connected to a moveable car. 
         [0005]    Recently, wireless communication technologies have been applied to safety systems to reduce cost and increase scalability. Communication Based Train Control (CBTC) is an example. The communication network in safety systems usually includes multiple fixed nodes such as trackside nodes for CBTC systems, and multiple mobile nodes arranged in train cars. The fixed nodes are connected by a wired network such as Ethernet. Fixed nodes are also capable of transmitting and receiving (transceiving) data wirelessly. 
         [0006]    A controller for the safety system is typically connected to at least one fixed node via a wired interface. Packets are transmitted from the controller to a fixed node via the wired interface, and relayed hop-by-hop to all other fixed nodes via the wired network. Then, the fixed nodes retransmit the packet to the mobile nodes using the wireless network. Mobile nodes communicate packets via the wireless network to the fixed nodes. Fixed nodes receive the data, and then relay the data to the fixed node connected to the controller via the wired network. The fixed node connected to the controller then transmits data to the controller via the wired interface. 
         [0007]    However, the specifications of existing CBTC systems are insufficient in some aspects. The latency is in the order of seconds due to the use of a conventional Carrier Sense Multiple Access (CSMA) for the wireless network, and the handover process at mobile nodes. Additionally, message error rates can be as high as 10 −8 . 
         [0008]    Therefore, it is desired to develop a communication network for safety systems that achieves higher reliability, such as a message error rate of 10 −15 , and a latency of a few milliseconds. 
       SUMMARY OF THE INVENTION 
       [0009]    Embodiments of the invention provide scheduling methods for data transmission in a multihop hybrid communication networks to enable high reliability and low latency for transportation safety systems. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]      FIG. 1A  is a schematic of a multihop hybrid wireless communication network for safety systems according to embodiments of the invention; 
           [0011]      FIG. 1B  is a schematic of travel time of a downlink packet transmitted from a fixed controller to a mobile node according to embodiments of the invention; 
           [0012]      FIG. 1C  is a schematic of travel time of an uplink packet transmitted from the mobile node to the controller according to embodiments of the invention; 
           [0013]      FIG. 2  is a schematic of flight time according to embodiments of the invention; 
           [0014]      FIG. 3  is a schematic of scheduling fixed length downlink data intervals and uplink data intervals according to embodiments of the invention; 
           [0015]      FIG. 4A  is a schematic of scheduling variable length downlink data interval dynamically according to embodiments of the invention; 
           [0016]      FIG. 4B  is a schematic of scheduling variable length uplink data interval dynamically according to embodiments of the invention; 
           [0017]      FIG. 5  is a schematic of scheduling downlink data intervals when the controller and the fixed nodes have dedicated downlink and uplink transmission channels according to embodiments of the invention; 
           [0018]      FIG. 6A  is a schematic of a downlink packet queuing time based on packet travel time and packet latency requirement according to embodiments of the invention; 
           [0019]      FIG. 6B  is a schematic of an uplink packet queuing time based on the packet travel time and the packet latency requirement according to embodiments of the invention; and 
           [0020]      FIG. 7  is a schematic of scheduling multiple downlink data packets for transmission within a downlink data interval. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0021]    As shown in  FIG. 1A , a multihop hybrid communication network  100  includes a wired network  101  and a wireless network  102 . The hybrid network can be used for high reliability and low latency communication. The wired network includes a set of m+1 fixed nodes FN 0 , FN 1 , FN 2 , . . . , FN m . The nodes are arranged in a sequential order so that a previous fixed node with a lower index is followed by a next fixed node with a higher index. That is, the nodes sequentially transmit and receive packets in time. 
         [0022]    Each fixed node (FN) is equipped with at least two communication interfaces, one to a wired network  110 , and one or more wireless transceivers  111 . The wireless network  102  includes a set of mobile nodes MN 1 , MN 2 , . . . , MN i . Each mobile node (MN i )  112  is also equipped with one or more wireless transceivers  111 . Each mobile node MN i  represents a mobile device such as an elevator or train car  132 . 
         [0023]    All fixed nodes are arranged along trajectory  120 , such as for an elevator car  132  moving in a shaft, or a car moving on a train track. The FNs are arranged linearly, although not necessarily a straight line. All FNs are connected via the wired backbone, such as fiber optic cable. MNs generally move along the trajectory. The underlying physical layer protocol used on the wired network is arbitrary. 
         [0024]    Sources and sinks of data in the network include a controller  131 , such as elevator controller or train controller, and mobile devices such as an elevator or train car  132 . Therefore, it can also be said that controller and mobile nodes are data sources and sinks. The safety related data are transmitted as packets. 
         [0025]    The controller is connected to the FNs via a wired interface  130 , not necessarily the same as the wired backbone. In the preferred embodiment, it is assumed that the controller is connected to the FN at a first end of the linearly arranged network, e.g., FN 0 . If the controller is connected to the FN located elsewhere, then it is possible to partition the wired network into two sub-networks so that the controller is connected to the FNs located at the end of each respective sub-networks. 
         [0026]    The FNs can be classified into three types of nodes. The FN that is connected to the controller  131  is called a head node. The head node FN 0  is the only fixed node that transmits data to and receives data from the controller. The FN that is located at the second end of the network is called a terminal node FN m . All remaining FNs form a set of (one or more) relay nodes that pass packets to adjacent FNs using wired backbone. 
         [0027]    The FNs also communicates with the MNs wirelessly. Packets  135  generated in the controller and transmitted to MNs via FNs are called downlink packets. Packets  136  generated by cars and transmitted from the MNs to the controller via FNs are called uplink packets. 
         [0028]    Synchronous transmission of fixed nodes in an asynchronous network is described in U.S. Pat. No. 12/964,283. This invention provides scheduling methods for downlink and uplink packet transmission to improve reliability and reduce latency of packet containing high priority data, such as control signals. 
         [0029]    Downlink Packet Transmission 
         [0030]    The controller transmits a downlink packet  135  to the head node FN 0  via the wired interface. 
         [0031]    The packet is asynchronously relayed sequentially to all the fixed nodes via the wired network  101 . 
         [0032]    All fixed nodes the transmit packet synchronously to the mobile nodes wirelessly via the wireless network  102 . 
         [0033]    Uplink Packet Transmission 
         [0034]    The mobile node transmits the packet wirelessly to the fixed nodes within transmission range of the mobile node. 
         [0035]    The fixed nodes that receive the packet successfully relay the packet to the head node via the wired network. 
         [0036]    The head node transmits the packet to the controller via the wired interface. 
         [0037]    Functionality of Scheduling Methods 
         [0038]    In the multihop hybrid wireless communication network  100 , scheduling method for downlink and uplink data packet transmission includes the following: scheduling downlink data intervals (DDI) and uplink data intervals (UDI) for controller and mobile nodes, and scheduling multiple data packets for transmission within a downlink data interval, or an uplink data interval. 
         [0039]    Packet Travel Time 
         [0040]    The scheduling methods depend on a travel time for the packet, which is determined as follows. In the multihop hybrid wireless communication network  100 , packet transmission is different from that in a conventional peer-to-peer network. The packet is relayed between the controller and the mobile nodes by fixed nodes. Each relay has an inherent latency. For safety systems, the safety signal in the packet must be delivered to the destination within a specific time period. That is, high priority packet transmission must meet a latency requirement. Any delay is unacceptable. Therefore, to schedule packet transmission without violating the latency requirement, the data source determines the time it takes for the packet to travel from the source to the sink. 
         [0041]    As shown in  FIG. 1B , the downlink travel time T D  for a downlink packet  151  from the controller  131  to the mobile node MN i    112  is 
         [0000]        T   D   =T   CH   +T   HF   +T   FM .   (1)
       I. T CH  is the time from when the controller begins transmitting the packet to the time the head node (FN 0 ) has received the packet.   II. T HF  is the time from when the head node has received the packet to the time when all the fixed nodes begin transmitting packet synchronously.   III. T FM  is the time from when all the fixed nodes synchronously transmit the packet to the time when the mobile node MN i  has received the packet.       
 
         [0045]    The determination of T HF  is described in U.S. Ser. No. 12/964,283. T CH  and T FW  can be determined using round trip packet transmission flight time as shown in  FIG. 2 , see U.S. Ser. No. 12/964,283. 
         [0046]      FIG. 1C  shows the uplink travel time T U  of an uplink packet  152 . The travel time T U  is 
         [0000]        T   U   =T   MF   +T   FH   +T   HC .   (2)
       I. T MF  is time from when the mobile node MN i  begins transmitting the packet wirelessly to the time the fixed nodes have received the packet.   II. T FH  is time from when the fixed nodes have received the packet to the time when the head node begins transmitting the packet to the controller.   III. T HC  is the time from when the head node starts transmitting the packet to the controller to the time when the controller has received the packet.       
 
         [0050]    Due to the symmetry of transmission, T MF =T FM  and T HC =T CH  as long as the length of the uplink packet equals to the length of the downlink packet. However, T FH  can be smaller than T HF  even if the lengths of the downlink and uplink packets are identical. For the uplink packet, T FH  depends in part on the location of the mobile node  112 . T FH  is smaller when the mobile node is near the head node, and T FH  is larger when the mobile node is near the terminal node. T FH =T HF  only if the uplink relay starts from terminal node. 
         [0051]    The travel time of the packet also depends on the length of the packet. It takes more time for longer packet and takes less time for shorter packet. To be more accurate, packets are partitioned into n different categories C j  (j=1, 2, . . . , n) based on the length of the packet. For each category C j , the packet with the maximum length is used to determine the travel time T Cj . The packets are partitioned such that T C1 &lt;T C2 &lt; . . . &lt;T Cn . If the length of a packet falls into category C j , T Cj  is used as travel time for that packet. 
         [0052]    For example, if the packets are partitioned into three categories with category C 1  including packets for which the length ranges from 1 byte to 100 bytes, category C 2  includes packets for which the length ranges from 101 bytes to 200 bytes, and for category C 3 , the length of the packets ranges from 201 bytes to the maximum packet length allowed in the network  100 . Then, a packet with length of 200 bytes is used to determine the packet travel time for category C 2 . If the length of a packet is 50 bytes, then the packet travel time for category C 1  is used as the travel time for that packet in scheduling. 
         [0053]    The determination of time T Cj  (j=1, 2, . . . , n) can be done before packet transmission starts. For uplink packets, T Cj  depends on the location of mobile nodes. To be safe, the travel time is based on when the uplink relay starts from the terminal node. This guarantees a compliant travel time for all uplink packets transmitted by the mobile node at any location. 
         [0054]    Schedule Downlink and Uplink Data Intervals 
         [0055]    In a multihop hybrid wireless communication network according to embodiments of the invention, nodes are not synchronized. The controller and the mobile nodes do not communicate directly with each other. The packets are relayed by the fixed nodes via the wired network and then to the mobile nodes via the wireless network or to the controller via the wired interface. Data transmission time is partitioned into downlink data intervals (DDI) and uplink data intervals (UDI). The length of the DDI and the UDI can be fixed or variable. Also, the length of the DDI can be different from the length of the UDI. 
         [0056]    Based on whether the length of the DDI and the UDI is fixed or variable, two scheduling methods are provided. Also, based on the availability of dedicated downlink and uplink channels, a third scheduling method is provided. 
         [0057]    Schedule Fixed Length DDI and UDI 
         [0058]    There are two ways to schedule the fixed length DDI and UDI. The controller and the mobile nodes can start their DDI and UDI at the predefined time or dynamically. The predefined time starting scheme is straightforward because the start time of DDI and UDI is predetermined. The controller and mobile nodes just transmit and receive according to the predefined DDI and UDI. The following describes dynamic DDI and UDI starting, in which the start of DDI and UDI is determined dynamically by the controller and the mobile nodes. 
         [0059]    As shown in  FIG. 3 , the controller initiates the first DDI 1  at controller time T C0  by transmitting a downlink data packet. That is, the packet transmission starts with downlink data first. The mobile nodes wait for the packet from the controller before transmitting their uplink packets. For the purpose of simplicity, the first downlink packet transmitted at the beginning of each DDI has the same length. This is only for keeping the start of DDI and UDI periodic, and this description simple. It is to be understood that the same scheduling method works for non-periodic start of DDI and UDI. That is, there is no restriction on the length of the first downlink packet. 
         [0060]    To start the first DDI 1 , the controller transmits a downlink data packet with specific length. If there is no data to be transmitted, the controller transmits a packet with payload padded to zero. The starting time T C0  of the first downlink packet transmission is the beginning of the DDI 1  for the controller. 
         [0061]    The mobile nodes start their DDI 1  when the mobile nodes receive the first downlink packet from the controller. For the mobile nodes, the starting time T M0  of receiving the first downlink packet denotes the beginning of their DDI 1 . Because the downlink packet is transmitted to the mobile nodes synchronously, all mobile nodes receive the first downlink packet at the same time. Therefore, mobile nodes start their DDI 1  at the same time. 
         [0062]    Starting from the first packet transmission, the controller transmits downlink packets until the DDI 1  ends at time T C1 =T C0 +T DDI , where T DDI  denotes the time period length of the DDI. 
         [0063]    Starting from receiving the first downlink packet at the time T M0 , the mobile nodes continue receiving downlink packets until to the end of their DDI 1  at time T M1 =T M0 +T DDI . Then, the mobile nodes start their first UDI 1 , and transmit the uplink packets until their UDI 1  ends at time T M2 =T M0 +T DDI +T UDI , where T UDI  denotes the time period length of the UDI. 
         [0064]    The controller can determine when the mobile nodes start their UDI 1  according to the controller time. The UDI 1  at the mobile nodes starts at time T C0 +T CH +T HF +T DDI  and ends at time T C0 +T CH +T HF +T DDI +T UDI , where T CH  and T HF  are for the first downlink packet and their definitions are described in Eqn. (1). Because the travel time of the uplink packet depends on the location of the mobile node and packet length, the controller must be ready for the earliest arriving uplink packet. So controller starts its UDI 1  at time T C2 =T C0 +T CH +T HF +T DDI +T MF , where T MF  is for a minimum length uplink packet and as defined by Eqn. (2). For the controller, its UDI 1  ends at time T C3 =T C0 +2(T CH +T HF )+T DDI +T UDI . 
         [0065]    Note that the UDI for the controller is longer than the UDI for the mobile nodes. This guarantees that the controller receives uplink packet transmitted by the mobile nodes at any location with any packet length. 
         [0066]    When its UDI 1  ends at time T C3 , the controller starts its DDI 2  immediately by transmitting downlink packets and its DDI 2  ends at time TC 4 =T C0 +2(T CH +T HF )+2T DDI +T UDI . 
         [0067]    The mobile nodes can also determine when to start their DDI 2 . According to the mobile node time, the DDI 2  starts at time T M3 =T M0 +2(T CH +T HF )+T DDI +T UDI  and ends at time T M4 =T M0 +2(T CH +T HF )+2T DDI +T UDI . 
         [0068]    This DDI and UDI pattern continues. In general for the controller, the DDI n  (n=1, 2, . . . ) starts at the controller time 
         [0000]        T   C0 +( n -1)[2( T   CH   +T   HF )+ T   DDI   +T   UDI ] 
         [0000]    and ends at the controller time 
         [0000]        T   C0 +( n -1)[2( T   CH   +T   HF )+ T   DDI   +T   UDI   ]+T   DDI    
         [0000]    and its UDI n (n=1, 2, . . . ) starts at the controller time 
         [0000]        T   C0 +(2 n -1)( T   CH   +T   HF )+ nT   DDI +( n -1) T   UDI   +T   MF    
         [0000]    and ends at the controller time 
         [0000]        T   C0   +n[ 2( T   CH   +T   HF )+ T   DDI   +T   UDI ] 
         [0069]    For the mobile nodes, their DDI n  (n=1, 2, . . . ) starts at the mobile node time 
         [0000]        T   M0 +( n -1)[2( T   CH   +T   HF )+ T   DDI   +T   UDI ] 
         [0000]    and ends at the mobile node time 
         [0000]        T   M0 +2( n -1)( T   CH   +T   HF )+ nT   DDI +( n -1) T   UDI    
         [0000]    and their UDI n  (n=1, 2, . . . ) starts at the mobile node time 
         [0000]        T   M0 +2( n -1)( T   CH   +T   HF )+ nT   DDI +( n -1) T   UDI    
         [0000]    and ends at the mobile node time 
         [0000]        T   M0 +2( n -1)( T   CH   +T   HF )+ nT   DDI   +nT   UDI    
         [0070]    It is to be understood that if there is no restriction on the length of the first downlink packet transmitted in each DDI, there is no general expressions for start and end times of the DDI and UDI. The first downlink packet in DDI 1  determines start and end times of the DDI 1  and the UDI 1 . The first downlink packet in the DDI 2  determines start and end times of the DDI 2  and the UDI 2 . In general, the first downlink packet in the DDI n  determines start and end times of the DDI n  and the UDI n  (n=1, 2, . . . ). The calculation of start and end times for the DDI n  and the UDI n  is same as the calculation for the DDI 1  and the UDI 1  as described above. 
         [0071]    As shown in  FIG. 3 , the DDI and the UDI for the controller and the mobile nodes are not aligned due to the packet travel time in a multihop hybrid wireless communication network.  FIG. 3  also shows that there is a free interval (FI) for the controller between a DDI and next UDI. There is also a FI for the mobile nodes between a UDI and next DDI. The length of the FI can be different from that for mobile nodes and it may also vary from time to time depending on if start of DDI and UDI is periodic. 
         [0072]    Schedule Variable Length DDI and UDI 
         [0073]    In this embodiment, it is allowed to terminate the DDI or the UDI early if there is no more data to be transmitted within the DDI or the UDI. 
         [0074]    DDI and UDI scheduling starts the same as for the fixed length DDI and UDI, with the default length defined for the DDI and the UDI. The DDI and the UDI can start at the predefined time, or dynamically. However, for optimizing bandwidth, the controller can terminate the DDI early if the controller does not have any packets to transmit within the DDI, and the mobile nodes can terminate the UDI early if mobile nodes do not have any packets to transmit within the UDI. 
         [0075]      FIG. 4A  shows DDI early termination by the controller. Following UDI n , the controller starts downlink data transmission in the next DDI. Before the end of the DDI, the controller indicates the termination of current DDI in its last downlink packet transmitted to the mobile nodes. 
         [0076]    When the mobile nodes receive this DDI termination packet, the mobile nodes terminate their DDI and start their next UDI. The controller can determine when the mobile node receives the DDI termination packet and starts their next UDI. Therefore, the controller can decide when it should start its next UDI. Starting from this UDI 1 , the DDI and UDI pattern continues with default length for DDI and UDI until an early termination is made by either the controller or the mobile nodes. 
         [0077]      FIG. 4B  shows early termination of the UDI with only one mobile node. When DDI n  ends, the mobile node starts uplink data transmission in the next UDI. Before the end of the UDI, the mobile node indicates the termination of current UDI in its last uplink packet transmitted to the controller. When the controller receives this UDI termination packet, the controller terminates its own UDI and starts its next DDI. The mobile node starts its next DDI when it receives next downlink packet. Starting from this DDT I , the DDI and the UDI pattern continues with default length for DDI and UDI until an early termination is made by either the controller or the mobile node. 
         [0078]    If there are multiple mobile nodes, termination of the UDI is indicated by all mobile nodes. For example, there are two mobile nodes, MN 1  and MN 2 . If MN 1  indicates a termination of UDI, then the controller does not terminate its UDI and it keeps receiving uplink packets from MN 2  until to the end of the current UDI. In this case, MN 1  does not have any uplink packet to transmit. Therefore, MN 1  waits for the next downlink packet from the controller to start its next DDI. However, if the controller receives the UDI termination from both MN 1  and MN 2 , the controller then terminates its UDI and starts the next DDI. 
         [0079]    Schedule DDI for Networks with Controller and Fixed Nodes Having Dedicated Downlink and Uplink Communication Channels 
         [0080]    If the wired network is equipped with dedicated downlink and uplink channels, a more efficient scheduling method is provided. In this case, the controller has a dedicated downlink channel to the head node and a dedicated uplink channel from the head node. Also, the wired network has a dedicated downlink channel and a dedicated uplink channel. 
         [0081]    As shown in  FIG. 5 , the controller can start  501  the downlink data transmission early for DDI 2 . Precisely, the controller can start the DDI 2  downlink transmission at time T C0 +T DDI +T UDI +ΔT, where ΔT accommodates turnaround time for all the mobile nodes. In general, the controller can start downlink transmission for DDI n  at time T C0 +(n-1)(T DDI +T UDI )+ΔT (n=2, 3, . . . ). This scheduling method fully utilizes the free intervals of the mobile nodes. 
         [0082]    Schedule Multiple Data Packets for Transmission within a DDI or UDI 
         [0083]    In most communication networks, a packet is stored in a transmission queue when the packet is generated. The packet remains in the transmission queue until the packet is transmitted. The time from packet generation to packet transmission is called the queuing time. In safety systems, there is a strict restriction on the latency for high priority packet. The high priority packet must be transmitted to satisfy a specific latency requirement. Therefore, the packet queuing time must be carefully limited. 
         [0084]    Packet Queuing Time 
         [0085]    The controller and the mobile nodes start relative timing when the packet is generated. For the high priority packet, such as a control signal packet, the queuing time is restricted, based on the latency requirement. 
         [0086]    As shown in  FIG. 6A , for a high priority downlink packet, the queuing time T Q  satisfies the following condition: 
         [0000]        T   Q +T D ≦L D ,   (3)
 
         [0000]    where the queuing time T Q =T TX −T G , T G  is the time the packet is generated, T TX  is the time the packet transmitted, T D  is the travel time for the downlink packet, and L D  is the latency requirement for the downlink packet. 
         [0087]    Similarly, as shown in  FIG. 6B  for a high priority uplink packet, the queuing time T Q  satisfies the following condition: 
         [0000]        T   Q   +T   U   &lt;=L   U ,   (4)
 
         [0000]    where queuing time T Q  is same as in Eqn. (3), T U  is the travel time needed by the uplink packet, and L U  is the latency requirement for the uplink packet. 
         [0088]    The maximum queuing time T QM  for the downlink packet is 
         [0000]        T   QM   =L   D   −T   D , 
         [0000]    and the maximum queuing time T QM  for the uplink packet is 
         [0000]        T   QM   =L   U   −T   U . 
         [0089]    If T Q ≦T QM , then the packet is that is transmitted satisfies its latency requirement. However, if T Q &gt;T QM , then transmission of the packet does not meet the latency requirement. 
         [0090]    Schedule Multiple Packets for Transmission 
         [0091]    Given the DDI or UDI, the controller or the mobile nodes determine the number of packets that can be transmitted. For the controller, scheduling depends on T DDI , the number of packets in the downlink transmission queue, the queuing time, priority, the latency requirement and the travel time of each downlink data packet. For the mobile nodes, the scheduling depends on T UDI , the number of packets in the uplink transmission queue, the queuing time, the priority, the latency requirement, and the travel time of each uplink data packet. 
         [0092]    As described in U.S. Ser. No. 12/964,283, to avoid latency due to feedback, no packet acknowledgement is used. Therefore, the number of packets to be transmitted within a data interval can be determined. Assume the controller transmits K j  packets from category C j  (j=1, 2, . . . , n), then the following condition is satisfied: 
         [0000]        K   1   *T   C1   +K   2   *T   C2   + . . . +K   n   *T   Cn   &lt;=T   DDI    (5)
 
         [0093]    A similar inequality also holds for mobile nodes. 
         [0094]    It is not necessary that packets are transmitted in the queuing order. For example, with the same queuing time, a higher priority packet is transmitted before a lower priority packet. With the same priority, a packet with longer queuing time is transmitted before a packet with a shorter queuing time. In case of bandwidth shortage, lower priority packets yield to higher priority packets. Thus, the latency requirement for higher priority packet is guaranteed. 
         [0095]      FIG. 7  shows a scheduling example, in which there are k downlink packets in the transmission queue to be transmitted in the next DDI. All k packets have same the priority. Packets are generated such that T G1 &lt;T G2 &lt; . . . &lt;T G(k-1) &lt;T Gk . That is, T Q1 &gt;T Q2 &gt; . . . &gt;T Q(k-1) &gt;T Qk . However, the k-th packet has a shorter latency, such that T Gk +L k &lt;T G1 +L 1 &lt; . . . &lt;T G(k-1) +L k-1 , where L 1 , L 2 , . . . , L k  are the respective latency requirements for k packets. Therefore, the transmission times T TX1 , T TX2 , . . . , T TXk  are scheduled as T TXk &lt;T TX1 &lt; . . . &lt;T TX(k-1) . That is, the k-th packet is transmitted first. 
         [0096]    The controller and the mobile nodes can select the number of packets from different categories to optimize the usage of bandwidth as long as the latency requirement is satisfied. 
         [0097]    The controller and the mobile nodes guarantee that their scheduled packet transmissions can be completed within the given data interval. The controller and the mobile nodes also guarantee that their packet transmission can be completely received by destination within scheduled receiving time interval for the destination. In other words, transmission of the last packet in the DDI or the UDI is not too close to the end of the DDI or the UDI. For the controller, the starting transmission time T L   TX  of the last downlink packet with respect to beginning of the DDI satisfies: 
         [0000]        T   L   TX   &lt;=T   DDI   +T   1   CH   +T   1   HF   −T   L   D ,   (6)
 
         [0000]    where T 1   CH  and T 1   HF  are for the first downlink packet of the DDI as defined in Eqn. (1), and T L   D  is travel time of the last downlink packet. 
         [0098]    For the mobile nodes, the starting transmission time T L   TX  of the last uplink packet with respect to the beginning of the UDI satisfies: 
         [0000]        T   L   TX   &lt;=T   UDI   +T   C1   MF   −T   L   U ,   (7)
 
         [0000]    where T C1   MF  is defined in Eqn. (2) for a category C 1  packet, T L   U  is the travel time of the last uplink packet with the relay starting from terminal node. In other words, the mobile nodes determine a latest transmission time for a last uplink packet transmitted in the UDI. 
         [0099]    Uplink Packet Relay 
         [0100]    All the fixed nodes that successfully receive an uplink packet from the mobile node relay the received packet to the head node via wired network. However, the fixed node that receives the relayed packet from a previous node checks the packet ID to determine if the same packet has already been forwarded to the next node. If yes, the node drops packet, otherwise, the packet is relayed to the next node. 
         [0101]    Although the invention has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the append claims to cover all such variations and modifications as come within the true spirit and scope of the invention.