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.
It 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.
Number | Date | Country | Kind |
---|---|---|---|
2000-009608 | Jan 2000 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
3988545 | Kuemmerle et al. | Oct 1976 | A |
5210750 | Nassehi et al. | May 1993 | A |
5226044 | Gupta et al. | Jul 1993 | A |
5363373 | Nakahara et al. | Nov 1994 | A |
5515371 | Venters | May 1996 | A |
5570355 | Dail et al. | Oct 1996 | A |
5572517 | Safadi | Nov 1996 | A |
5940403 | Williams | Aug 1999 | A |
6370125 | Belk | Apr 2002 | B1 |
6487222 | Williams | Nov 2002 | B1 |
Number | Date | Country |
---|---|---|
0 544 975 | Jun 1993 | EP |
58-218250 | Dec 1983 | JP |
9-214459 | Aug 1997 | JP |
10-242981 | Sep 1998 | JP |
Number | Date | Country | |
---|---|---|---|
20010008533 A1 | Jul 2001 | US |