Multiplex communications – Pathfinding or routing – Switching a message which includes an address header
Reexamination Certificate
2000-04-25
2003-04-15
Kizou, Hassan (Department: 2662)
Multiplex communications
Pathfinding or routing
Switching a message which includes an address header
C370S230000, C370S429000
Reexamination Certificate
active
06549541
ABSTRACT:
The present invention relates to a buffer management method for ensuring a certain minimum buffer for each buffer user in an apparatus employing a shared buffer storage, such as an ATM switching apparatus (ATM, Asynchronous Transfer Mode).
In present wide-bard data networks, buffering is a “bottleneck”. Buffering is used for temporary data storage in a situation where the receiving party is unable to receive the data at the same rate as it has been transmitted. The data to be buffered is generally stored in a so-called buffer storage. In prior art, several buffer management methods for maximising the utilisation of the available buffering and transfer capacity are known.
In general, the sharing of a buffer is closely associated with the decision-making process that produces the decision as to what part of the data in the buffer is to be deleted when data of a higher priority level is coming in or whether the data is to be admitted into the buffer at all.
In principle, three types of buffer management method are known: complete partitioning, complete sharing and partial sharing. Complete partitioning means that the entire buffer capacity is allocated to concurrent users or entities (e.g. priority classes or queues) so that the sum of segments allocated does not exceed the buffer capacity. Complete sharing means that all users are allowed to occupy buffer space until the buffer is full. Users may be assigned individual maximum limits to ensure that a single user will not occupy the whole buffer space. When the sum of the maximum limits approaches the total buffer capacity, complete sharing approaches complete partitioning. The implementation of complete sharing often comprises a so-called pushout feature, which means that a higher-priority cell or data received in the buffer supersedes a lower-priority cell or data if the buffer is full. In partial sharing (also known as threshold method), a certain threshold is designated for the defeat of each priority. In this case, data belonging to a given class is admitted into the buffer if the amount of data of this priority class in the buffer is below the threshold designated for that class. The pushout mechanism or threshold method requires that different priorities have been defined for data.
A problem with the threshold method is that it is impossible to guarantee a minimum buffer while at the same time using the buffer effectively. A problem with the pushout method is that the method is difficult to implement using equipment known so far. Moreover, it is difficult to judge and identify the data or cell to be deleted when data of a higher priority level is received in the buffer.
Another problem with prior-art methods is that while the counters used to count the data packets or cells do know the actual number of packets or cells, they do not know what part of the cells is guaranteed and what part is not.
The object of the present invention is to eliminate the problems described above.
A specific object of the present invention is to disclose a new type of buffer management method. A further object of the invention is to disclose a buffer management method in which minimum thresholds and rejection rules are observed so that a minimum buffer space can be guaranteed for each user of the buffer and the remaining buffer space can be allocated dynamically among all users.
The invention relates to a buffer management method for sharing the storage capacity F of the buffer between buffer users, such as queues, communication links or equivalent, which store packets in the buffer. A packet may be an ATM cell, and IP packet (IP, Internee Protocol) of equivalent, depending on the use and the application. In this method, the total number of packets stored in the buffer and the total number stored by each user are counted or determined. Based on these, the amount of buffer capacity to be granted to the users is controlled with respect to each packet, i.e. each time when a user attempts to store a packet in the buffer, a function determining whether the user is to be accorded buffer space or not is executed.
According to the invention, a modified total number of packets T* stored in the buffer is determined from the equation:
T
*
=
⁢
∑
i
=
1
N
⁢
⁢
max
⁢
{
a
⁡
(
i
)
,
c
⁡
(
i
)
}
,
⁢
where
N
=
⁢
total
⁢
⁢
number
⁢
⁢
of
⁢
⁢
users
;
a
⁡
(
i
)
=
⁢
minimum
⁢
⁢
buffer
⁢
⁢
capacity
⁢
⁢
(
a
⁡
(
i
)
≥
0
)
⁢
⁢
allocated
⁢
⁢
for
⁢
⁢
user
⁢
⁢
i
;
⁢
and
c
⁡
(
i
)
=
⁢
actual
⁢
⁢
buffer
⁢
⁢
capacity
⁢
⁢
occupied
⁢
⁢
by
⁢
⁢
user
⁢
⁢
i
⁢
⁢
at
⁢
⁢
the
⁢
⁢
reference
⁢
⁢
instant
.
(
1
)
As in buffer management in general, buffer control in this invention, too, is based on rejection of packets, i.e. on making a decision as to whether a packet is to be admitted into the buffer or not. Further, according to the invention, if the conditions T*≧F and c(i)≧a(i) are true, then a packet of user i is rejected without storing it in the buffer.
It is to be noted that equation (1) is a logical representation of the counter T*. The counter T* may be implemented by various systems, including, but not limited to, an apparatus employing a shared buffer storage, such as an ATM switching apparatus.
For example, the following methods can be used to determine the value of the counter T*:
1) Each time a packet comes in or leaves the buffer, T* is calculated in, accordance with equation (1).
2) T* is calculated in accordance with equation (1). After this, the following is done: When a packet is coming in to the buffer for user i, the value of the counter T* is increased if the packet is accepted and c(i)≧a(i) (before c(i) is updated). When a packet of user i leaves the buffer, the value of the counter T* is decreased if c(i)>a(i) (before c(i) is updated).
As compared with prior art, the invention has the advantage that a minimum buffer can be reliably guaranteed for each buffer user.
Another advantage of the invention is that the buffer capacity left over after the allocation of a minimum capacity for the users can be flexibly and dynamically shared among users that may need it. In this way, the objects of guaranteeing a minimum buffer for each user and effective buffer utilisation are realised.
The buffer management method, calculation of a modified total amount and rejection rule described above can be applied in many ways. In a preferred embodiment of the invention, the buffer management method can be applied among a selected set of users U, in which case the modified total T* is calculated from the equation
T
*
=
⁢
∑
i
=
1
i
∈
U
N
⁢
⁢
max
⁢
{
a
⁡
(
i
)
,
c
⁡
(
i
)
}
,
⁢
where
N
=
⁢
total
⁢
⁢
number
⁢
⁢
of
⁢
⁢
users
;
U
=
⁢
set
⁢
⁢
of
⁢
⁢
selected
⁢
⁢
users
;
a
⁡
(
i
)
=
⁢
minimum
⁢
⁢
capacity
⁢
⁢
(
a
⁡
(
i
)
≥
0
)
⁢
⁢
allocated
⁢
⁢
for
⁢
⁢
user
⁢
⁢
i
⁢
⁢
in
⁢
the
⁢
⁢
buffer
;
⁢
and
c
⁡
(
i
)
=
⁢
actual
⁢
⁢
buffer
⁢
⁢
capacity
⁢
⁢
occupied
⁢
⁢
by
⁢
⁢
user
⁢
⁢
i
⁢
⁢
at
⁢
⁢
the
⁢
reference
⁢
⁢
instant
.
(
2
)
In this embodiment, a certain portion F
Q
(U)≦F of the storage capacity of the buffer is allocated for the selected users, and the storage of additional packets by user i is inhibited if the total T*≧F
Q
(U) and c(i)≧a(i). Users not included in set U may use any method to share the remaining portion F−F
Q
(U) of the buffer.
Further, it is possible t
Maunu Holma
Paajanen Timo
Sainio Sampo
Elallam Ahmed
Kizou Hassan
Nokia Corporation
Squire Sanders & Dempsey L.L.P.
LandOfFree
Buffer management does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Buffer management, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Buffer management will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3022114