Delay-compensated timeslot assignment method and system for point-to-multipoint communication networks
In a communication network, end-user systems are connected via a common transmission medium to a timeslot assignment unit. Each end-user system has a buffer for storing packets, and a queue length detector for detecting a queue length of the stored packets. The end-user system forwards packets on assigned timeslots to the network and transmits a signal for indicating the detected queue length to the assignment unit. The timeslot assignment unit maintains timeslot records to store count numbers of assigned timeslots, determines a total count number of timeslots assigned to each end-user system during a period corresponding to the delay time of the unit, and receives a queue length signal from each end-user system. From the total count number and the queue length a virtual queue length is determined for indicating the number of packets to which timeslots are still not assigned. Based on the virtual queue length, timeslots are assigned to each end-user system.
Latest NEC Corporation Patents:
- RADIO COMMUNICATION SYSTEM, RADIO STATION, RADIO TERMINAL, COMMUNICATION CONTROL METHOD, AND NON-TRANSITORY COMPUTER READABLE MEDIUM
- METHOD AND SYSTEM FOR CONFIGURING A USER EQUIPMENT
- DISASTER EVALUATION APPARATUS, DISASTER EVALUATION METHOD, AND NON-TRANSITORY STORAGE MEDIUM
- METHOD, USER EQUIPMENT, NETWORK NODE
- IMAGE PROCESSING DEVICE, CONTROL METHOD AND STORAGE MEDIUM
1. Field of the Invention
The present invention relates to a packet communication system and a method of assigning timeslots of the system. The present invention is particularly concerned with a dynamic timeslot assignment method for a common medium point-to-multipoint communication system in which multiple local units are connected to a network unit via a common transmission medium and the network unit dynamically assigns timeslots to the local units under varying traffic.
2. Description of the Related Art
A prior art point-to-multipoint communication system is comprised of a plurality of line concentrators on the user side of the system and a timeslot assignment unit on the network side. Each line concentrator multiplexes (i.e., concentrates) traffic from a plurality of user terminals onto an optical local access line which is coupled by an optical coupler to a common optical line. Each line concentrator includes a buffer for temporarily storing ATM cells received from the associated user terminals and a queue length detector is provided to count the number of outstanding cells in the buffer that form a queue waiting for transmission and sends a queue length signal to the timeslot assignment unit. In order to provide efficient utilization of the common medium for bursty traffic, the timeslot assignment unit dynamically assigns timeslots to the line concentrators based on the queue lengths of the line concentrators, as disclosed in Japanese Patent Publication 10-242981. According to the prior art timeslot assignment technique, timeslots are assigned to each line concentrator at periodic intervals S as shown in
However, there is an inherent control delay in this timeslot assignment process. Specifically, this control delay is a total sum of the intervals for timeslot assignment calculations, the propagation delay time, and the time to establish synchronization with system clock at each side of the network.
As shown in
It is seen that the value G0=40 produced at time t0 is actually used by the line concentrator at time t3 that is delayed by a period of 3S with respect to time t0. In the same way, the assigned timeslot count numbers G1=50 and G2=60 produced at times t1 and t2 are actually used by the concentrator at times t4 and t5. The presence of such control delay implies that there are cells in the buffer 6 which were already assigned timeslots but are still waiting for their turn to be forwarded to the network. For example, at time t3, there are 100 outstanding cells in the buffer that were already assigned timeslots whose total number equals 150 (=40+50+60).
However, because of the delay time fifty timeslots are unnecessarily assigned to the one-hundred outstanding cells. Since the surplus timeslots are not used by the line concentrators, they result in a low throughput in cell transfer. In addition, the delay time associated with the outstanding cells in the buffer and hence the buffer capacity for a given cell loss rate is proportional to the length of the queue. Due to the low cell transfer throughput, there is an increase in cell delay, hence an increase in required buffer capacity.
SUMMARY OF THE INVENTIONIt is therefore an object of the present invention to provide a delay-compensated method and system for a packet communication network in which timeslots are not repeatedly assigned to the same packets.
According to a first aspect, the present invention provides a timeslot assignment method for a communication system in which a plurality of end-user systems are connected to a timeslot assignment unit via a common transmission medium, each of the end-user systems comprising a buffer for storing packets of either variable or constant length and forwarding packets from the buffer on assigned timeslots, the method comprising the steps of (a) determining a first count number of said packets in the buffer of each end-user system, (b) determining a second, total count number of timeslots previously assigned to each end-user system during a delay time period of the timeslot assignment unit, (c) using said first and second count numbers for determining a third count number of packets in said buffer to which timeslots are not assigned, and (d) assigning timeslots to packets of each end-user system based on said third count number.
According to a second aspect of the present invention, there is provided a communication system comprising a plurality of end-user systems and a timeslot assignment unit connected via a common transmission medium to the end-user systems. Each of the end-user systems comprises a buffer for storing packets of either variable or constant length, a queue length detector for detecting a queue length indicating a count number of said packets in the buffer, and a controller for forwarding packets from the buffer on timeslots assigned by the timeslot assignment unit and transmitting a signal to the timeslot assignment unit for indicating the detected queue length. The timeslot assignment unit comprises a timeslot count table having a plurality of entries corresponding to the end-user systems. Each of the entries has a length corresponding to a delay time period of the timeslot assignment unit for storing a plurality of count numbers of assigned timeslots. The timeslot assignment unit (a) determines a total value of count numbers stored in each entry of the timeslot count table, (b) receives the queue length indicating signal from each end-user system, (c) uses the total count number and the received queue length to determine a virtual queue length of each end-user system indicating a count number of packets in the buffer to which timeslots are still not assigned, (d) assigns timeslots to each end-user system based on the virtual queue length, and (c) stores a count number of the assigned timeslots in an entry of the timeslot count table corresponding to each end-user system.
According to a third aspect, the present invention provides a communication system comprising a plurality of end-user systems, and a timeslot assignment unit connected via a common transmission medium to the end-user systems. Each of the end-user systems comprises a buffer for storing packets of either variable or constant length, a queue length detector for detecting a queue length indicating a count number of said packets in the buffer, a memory having a length corresponding to a delay time of said timeslot assignment unit for storing a plurality of count numbers of assigned timeslots, and a controller. The controller directs the buffer to forward packets on timeslots assigned by the timeslot assignment unit, determines a total value of the count numbers stored in the memory, determines from the total value and the queue length a virtual queue length indicating a count number of packets in the buffer to which timeslots are still not assigned. The controller transmits a signal to said timeslot assignment unit for indicating the virtual queue length. The timeslot assignment unit receives the virtual queue length indicating signal from each end-user system and assigns timeslots to each end-user system based on the received virtual queue length.
The present invention will be described in detail further with reference to the following drawings, in which:
Referring now to
On the network side, the transmission medium 5 is connected to a switching office of a switched communication network, now shown, via an optical splitter 12. A timeslot assignment unit 13 is connected to the transmission medium 5 to receive queue length signals from all line concentrators 1 via optical splitter 12 to provide timeslot assignment and sends timeslot position signals destined for respective line concentrators 1. These signals are sent via a common optical signaling line 14 and an optical splitter 15 to local optical signaling lines 16 to the line concentrators 1 for indicating the positions of respectively assigned timeslots within the interval of a frame.
In response to a timeslot position signal, the timing controller 8 of each line concentrator 1 directs the buffer 6 to forward an ATM cell on the assigned timeslot so that no data collisions occur on the common medium 5.
In addition, the time slot assignment unit 13 transmits a timing signal at periodic intervals to all line concentrators. In response to a timing signal, the timing controller 8 of each line concentrator 1 directs the queue length detector 7 to send its output to the timeslot assignment unit 13.
As shown in detail in
The operation of first control logic 30 proceeds according to the flowcharts shown in
In
At step 403, a variable “i” is set equal to one, where “i” identifies a line concentrator. Control logic 30 then reads all timeslot count numbers from the entry “i” of timeslot count table 32 and calculate the total number Ni of timeslots assigned to the line concentrator “i” during previous “k” update intervals (step 404).
Control logic 30 reads the queue length value Qi from the entry “i” of queue length table 31 (step 405) and calculates the difference between Qi and Ni as a “virtual” queue length VQi of the line concentrator “i” (step 406). Steps 404 to 406 are repeated to produce virtual queue lengths for all line concentrators by incrementing the variable “i” (step 408) until it equals the number of all line concentrators represented by the integer L (step 407).
Next, the control logic 30 performs a timeslot assignment subroutine 410. As described in detail, the control logic 30 assigns timeslots according to an algorithm and determines the number of timeslots (Ci) assigned to each line concentrator as will be described in
At step 411, the first control logic 30 supplies the number of timeslots assigned to each line concentrator to the second control logic 34. The latter determines the positions of the assigned timeslots within a frame and transmits signals each representing the timeslot positions to the line concentrators over the common signaling medium 14. At step 412, all contents of timeslot count table 32 are shifted by one column so that the oldest data are deleted and a new column of fields is vacated for storing the timeslot count numbers Ci as most recent timeslot count values. Control logic 30 now returns to the starting point of the routine.
At step 502, the variable “i” is set equal to one and a count value Ci of the line concentrator “i” is set equal to zero. Decision step 503 is then executed by checking to see if the virtual queue length VQi of the line concentrator “i” is zero. If VQi is positive, the decision at step 503 is negative and the control logic assigns one timeslot to line concentrator “i” at step 504. At step 505, the available timeslot number A is decremented by one and the count value Ci is incremented by one. If VQi is zero, the control logic assigns no timeslots and skips steps 504 and 505. By incrementing the variable “i”, round-robin assignment steps 503 to 505 will be repeated until the available timeslots reduce to zero (steps 506, 507). Therefore, timeslots are assigned on a round-robin basis to those line concentrators whose virtual queue lengths are positive.
In
In
For example, assume that the number of available timeslots is initially 90 and line concentrators 1a, 1b, 1c, 1d and 1e have virtual queue length values 20, 50, 40, 40 and 10, respectively, as shown in FIG. 8. Thus, the following timeslots are assigned:
When h=1, C1=50−40=10 assigned to concentrator 1b,
When h=2, C2=40−40=0 (no timeslots are assigned),
When h=3, C3=3×(40−20)=60 assigned to concentrators 1b, 1c, 1d,
When h=4, C4=4×20/4=20 assigned to concentrators 1a, 1b, 1c, 1d.
In this way, VQ values are averaged out and their variability among the line concentrators is reduced. Therefore, each line concentrator is not required to maintain a buffer of large storage capacity.
The operation of a line concentrator of the present invention will be understood by the following description with reference to a time sequence diagram shown in FIG. 9.
Assume that the line concentrator has a queue length value 100 at update times t0, t1 and t2. First control logic 30 initially determines that virtual queue length (VQ) value is equal to 100. Since no timeslots are assigned during the first interval t0 to t1, 40 timeslots may be assigned to the line concentrator at time t1−α. The VQ value of the concentrator at time t1 thus equals 60. Using the VQ value which is smaller than the original VQ value of 100, the control logic 30 may assign a smaller number of timeslots, 35, for example, at time t2−α, resulting in a VQ=25 at time t2. With VQ=25, the control logic may assign 25 timeslots and transmits at t3−α, leaving a VQ=0 at time t3. The count numbers 40, 35 and 25 of assigned timeslots are respectively supplied to the second control logic 34 at times t1−α, t2−α, and t3−α. Due to the inherent delay time involved with the timeslot position calculation, the second control logic 34 produces a timeslot position signal g0-i at time t3−α in response to the assigned slot count number=40 following a delay time of two update intervals. However, the total number of timeslots assigned to the line concentrator at time t3 equals the queue length value of 100. Thus, timeslots are not repeatedly assigned to the same outstanding cells.
A modified embodiment of the present invention is shown in
On the other hand, the timeslot assignment unit 13A shown in
The operation of the controller 20 of each line concentrator of
If an assigned slot count signal is received (step 802), flow proceeds to step 805 to store the count number contained in the received signal into the timeslot count memory 21 and returns to the starting point of the routine.
If a timing signal is received (step 801), the controller proceeds to step 806 and reads all timeslot count numbers from the timeslot count memory 21 and calculate a total count number of the assigned timeslots (C). At next step 806, the controller 20 reads a current queue length value (Q) from the queue length detector 22 (step 807) and determines a virtual queue length (VQ) value by subtracting C from the value Q (step 808) and communicates this VQ value to the timeslot assignment unit 13A (step 809). Controller 20 then returns to the starting point of the routine.
The operation of the first control logic 30A of
While mention has been made of embodiments in which ATM cells (packets of constant length) are discussed, the present invention could also be applied to a communication system in which packets of variable length are used. In such instances, packet length information is transmitted from the line concentrators to the timeslot assignment unit to determine the number of timeslots to be assigned to outstanding packets in the line concentrators.
Claims
1. A timeslot assignment method for a communication system in which a plurality of end-user systems are connected to a timeslot assignment unit via a common transmission medium, each of said end-user systems comprising a buffer for storing packets of either variable or constant length- and forwarding packets from said buffer on assigned timeslots, the method comprising the steps of:
- a) determining a first count number of said packets in the buffer of each of said end-user systems;
- b) determining a second, total count number of timeslots previously assigned to each end-user system during a delay time period of said timeslot assignment unit;
- c) using said first and second count numbers for determining a third count number of packets in said buffer to which timeslots are still not assigned; and
- d) assigning timeslots to packets of each end-user system based on an order of rank of third count numbers of respective ones of said plurality of end-user systems.
2. A timeslot assignment method as claimed in claim 1, wherein said third count number equals a difference between said first and second count numbers.
3. A timeslot assignment method as claimed in claim 1, wherein the step (d) assigns said timeslots on a round-robin basis.
4. A timeslot assignment method as claimed in claim 1, wherein the step (d) assigns said timeslots in proportion to said third count number.
5. A timeslot assignment method as claimed in claim 1, wherein the step (d) comprises the steps of:
- d1) arranging the third count numbers of said end-user systems in descending order of rank;
- d2) setting integer N to one;
- d3) detecting a difference between the third count number arranged in a rank represented by the integer N and the third count number arranged in a rank represented by integer (N+1);
- d4) assigning timeslots corresponding in number to said difference to packets of N end-user systems whose third count numbers are arranged in said descending order; and
- d5) incrementing the integer N by one and repeating the steps (d3) and (d4).
6. A timeslot assignment method as claimed in claim 1, wherein said packets are ATM cells.
7. A communication system comprising:
- a plurality of end-user systems; and
- a timeslot assignment unit connected via a common transmission medium to said end-user systems,
- each of said end-user systems comprising: a buffer for storing packets of either variable or constant length; a queue length detector for detecting a queue length indicating a count number of said packets in the buffer; and a controller for forwarding packets from said buffer on timeslots assigned by said timeslot assignment unit and transmitting a signal to said timeslot assignment unit for indicating the detected queue length,
- said timeslot assignment unit comprising: a timeslot count table having a plurality of entries corresponding to said end-user systems, each of the entries having a length corresponding to a delay time period of said timeslot assignment unit for storing a plurality of count numbers of assigned timeslots; and a controller for (a) determining a total value of count numbers stored in each entry of said timeslot count table, (b) receiving the queue length indicating signal from each of said end-user systems, (c) using said total count number and the received queue length for determining a virtual queue length of each end-user system indicating a count number of packets in said buffer to which timeslots are still not assigned, (d) assigning timeslots to each end-user system based on an order of rank of virtual queue lengths of respective ones of said plurality of end-user systems, and (e) storing a count number of the assigned timeslots in an entry of said timeslot count table corresponding to said each end-user system.
8. A communication system as claimed in claim 7, wherein said virtual queue length equals a difference between said total count number and the received queue length.
9. A communication system as claimed in claim 7, wherein the timeslot assignment unit assigns said timeslots on a round-robin basis.
10. A communication system as claimed in claim 7, wherein the timeslot assignment unit assigns aid timeslots in proportion to said virtual queue length.
11. A communication system as claimed in claim 7, wherein the timeslot assignment unit performs the functions of:
- arranging the virtual queue lengths of said end-user systems in descending order of rank, setting integer N to one;
- detecting a difference between the virtual queue length arranged in a rank represented by the integer N and virtual queue length arranged in a rank represented by integer (N+1);
- assigning timeslots corresponding in number to said difference to packets of N end-user systems whose virtual queue lengths are arranged in said descending order; and
- incrementing the integer N by one and repeating the functions of detecting said difference and assigning said timeslots.
12. A communication system as claimed in claim 7, wherein said packets are ATM cells.
13. A communication system comprising:
- a plurality of end-user systems; and
- a timeslot assignment unit connected via a common transmission medium to said end-user systems,
- each of said end-user systems comprising: a buffer for storing packets of either variable or constant length; a queue length detector for detecting a queue length indicating a count number of said packets in the buffer; a memory having a length corresponding to a delay time of said timeslot assignment unit for storing a plurality of count numbers of assigned timeslots; and a controller for forwarding packets from said buffer on timeslots assigned by said timeslot assignment unit, determining a total value of the count numbers stored in said memory, determining, from said total value and said queue length, a virtual queue length indicating a count number of packets in said buffer to which timeslots are still not assigned, and transmitting a signal to said timeslot assignment unit for indicating the virtual queue length,
- said transmission assignment unit receiving the virtual queue length indicating signal from each of said end-user systems and assigning timeslots to each end-user system based on an order of rank of received virtual queue lengths of respective ones of said plurality of end-user systems.
14. A communication system as claimed in claim 13, wherein said virtual queue length equals a difference between said queue length and said total value.
15. A communication system as claimed in claim 13, wherein the timeslot assignment unit assigns said timeslots on a round-robin basis.
16. A communication system as claimed in claim 13, wherein the timeslot assignment unit assigns said timeslots in proportion to said virtual queue length.
17. A communication system as claimed in claim 13, wherein the timeslot assignment unit performs the functions of:
- arranging the virtual queue lengths of said end-user systems in descending order of rank, setting integer N to one;
- detecting a difference between the virtual queue length arranged in a rank represented by the integer N and the virtual queue length arranged in a rank represented by integer (N+1);
- assigning timeslots corresponding in number to said difference to packets of N end-user systems whose virtual queue lengths are arranged in said descending order; and
- incrementing the integer N by one and repeating the functions of detecting said difference and assigning said timeslots.
18. A communication system as claimed in claim 13, wherein said timeslot assignment unit comprises:
- a first controller for transmitting a signal to each of said end-user systems for indicating a count number of said assigned timeslots for storing the count number into the memory of each end-user system; and
- a second controller for transmitting a position signal representing timeslot positions of the timeslots assigned by the first controller to each of said end-user systems.
19. A communication system as claimed in claim 13, wherein said packets are ATM cells.
3988545 | October 26, 1976 | Kuemmerle et al. |
5210750 | May 11, 1993 | Nassehi et al. |
5226044 | July 6, 1993 | Gupta et al. |
5363373 | November 8, 1994 | Nakahara et al. |
5515371 | May 7, 1996 | Venters |
5570355 | October 29, 1996 | Dail et al. |
5572517 | November 5, 1996 | Safadi |
5940403 | August 17, 1999 | Williams |
6370125 | April 9, 2002 | Belk |
6487222 | November 26, 2002 | Williams |
0 544 975 | June 1993 | EP |
58-218250 | December 1983 | JP |
9-214459 | August 1997 | JP |
10-242981 | September 1998 | JP |
- Copy of Japanese Office Action dated Sep. 9, 2003 (and English translation of relevant portion).
- Umayabashi et al., Proposal of Dynamic Bandwidth Allocation Control Scheme for ATM-PON Systems, The Institute of Electronics Information and Communication Engineers Technical Report, SSE98-226, IN98-198 (Mar. 1999).
- Umayabashi et al., Proposal of Dynamic Bandwidth Assignment Scheme, Improving Performance Degradation Caused by Control Delay in ATM-PON Systems, Proceedings of the 2000 IEICE General Conference , B-8-1 (2000).
- Miyabe et al., ATM Pon, Dynamic bandwidth allocation for ATM-PON, Proceedings of the 1998 IEICE General Conference, B-8-36 (1998).
- Yuki et al., IP-based PON, Dynamic Rate Assign Technique for IP-based Passive Optical Networks, B-8-8 (1998).
- Copy of Japanese Office Action dated Mar. 23, 2004 (and English translation of relevant portion).
Type: Grant
Filed: Jan 17, 2001
Date of Patent: May 10, 2005
Patent Publication Number: 20010008533
Assignee: NEC Corporation (Tokyo)
Inventor: Masaki Umayabashi (Tokyo)
Primary Examiner: Phirin Sam
Assistant Examiner: Anthony Ton
Attorney: Dickstein, Shapiro, Morin & Oshinsky, LLP.
Application Number: 09/761,983