Subject: [PCN] Please modify the marking behaviour draft

From: SATOH Daisuke <[email-masked]>
Date: Wed, 21 Jan 2009 16:46:00 +0900

If you received this e-mail again, I'm sorry.

I would like you to modify draft-ietf-pcn-marking-behaviour-01. I made
an example of modification as follows.
I understand I have to show you the performance of our algorithm. So I
have to update draft-satoh-pcn-st-marking-00. We have simulated our algorithm
in extreme cases for both admission and termination. Now we are
simulating it. Please wait for performance evaluation awhile. 

---
2.3. Threshold meter function

2.3.1 Threshold meter function with One threshold
A PCN-node MUST implement a Threshold Meter that has behaviour functionally
equivalent to the following. The meter acts like a token bucket, which
is sized in bits and has a configured bit rate, termed
PCN-threshold-rate. The amount of tokens in the token bucket is termed
TBthreshold.fill. Tokens are added at the PCN-threshold-rate, to a
maximum value TBthreshold.max. Tokens are removed equal to the size in
bits of the metered-packet, to a minimum TBthreshold.fill=0. The token
bucket has a configured intermediate depth, termed TBthreshold.threshold.
If TBthreshold.fill < TBthreshold.threshold, then the meter indicates to
the Marking function that the packet is to be threshold-marked;
otherwise it does not.

2.3.2 Threshold meter function with two threshold
A PCN-node MUST implement a Threshold Meter that has behaviour functionally
equivalent to the following.

The meter acts like a token bucket, which is sized in bits and has a configured
bit rate, termed PCN-threshold-rate. The amount of tokens in the token
bucket is termed TBthreshold.fill. Tokens are added at the
PCN-threshold-rate, to a maximum value TBthreshold.max. Tokens are
removed equal to the size in bits of the metered-packet, to a minimum
TBthreshold.fill=0. The token bucket has two configured intermediate
depths, termed TBthreshold.shallow.threshold and TBthreshold.threshold,
where TBthreshold.shallow.threshold is greater than
TBthreshold.threshold. If (TBthreshold.fill <
TBthreshold.shallow.threshold) and (TBthreshold.fill >=
TBthreshold.threshold), then the meter indicates to the Marking function
that one-N-th packets are threshold-marked. If TBthreshold.fill <
TBthreshold.threshold, then the meter indicates to the Marking function
that the packet is to be threshold-marked; otherwise it does not.

2.5 Combination of the meter functions
A PCN-node MAY implement combination of Threshold and Excess traffic meters. The
meter is composed of two tandem meters of Threshold and Excess traffic
meters or two Threshold meters or two Excess traffic meters. The former
meter is used for marking switch and the latter meter is used for
marking.

The combined meter has behaviour functionally equivalent to the following.

If TBthreshold.fill >= TBthreshold.threshold (when the former meter is the Threshold
meter) or if the token bucket is not empty (the former meter is the
Excess traffic meter), the combined meter indicates to the Marking
function that the packet is not to be marked even if the latter meter
indicates to the Marking function that the packet is to be marked.
Otherwise, the combined meter indicates the same result as the latter
meter's indication to the Marking function.

A.3 Combined metering and marking
The combined meter by using two Threshold meters is introduced. The two combined
token buckets with the following parameters:

o TBthreshold.PCN-threshold-rate.former: token rate of the former token bucket (bits/second)

o TBthreshold.PCN-threshold-rate.latter: token rate of the latter token bucket (bits/second)

o TBthreshold.max.former: depth of the former token bucket (bits)

o TBthreshold.max.latter: depth of the latter token bucket (bits)

o TBthreshold.threshold.former: marking threshold of the former token bucket (bits)

o TBthreshold.shallow.threshold.latter: One-Nth marking threshold of the latter token bucket (bits)

o TBthreshold.threshold.latter: marking threshold of the latter token bucket (bits)

o TBthreshold.lastUpdate: time both token buckets were last updated (seconds)

o TBthreshold.fill.former: amount of tokens in the former token bucket (bits)

o TBthreshold.fill.latter: amount of tokens in the latter token bucket (bits)

A PCN-packet has the following parameters:

o packet.size: the size of the PCN-packet (bits)

o packet.mark: the PCN encoding state of the packet

In addition there is the parameter:

o now: the current time (seconds)

The following steps are performed when a PCN-packet arrives on a link:

o TBthreshold.fill.former = min(TBthreshold.max.former, TBthreshold.fill.former +
TBthreshold.PCN-threshold-rate.former*(now - TBthreshold.lastUpdate));
// add tokens to the former token bucket

o TBthreshold.fill.latter = min(TBthreshold.max.latter, TBthreshold.fill.latter +
TBthreshold.PCN-threshold-rate.latter*(now - TBthreshold.lastUpdate));//
add tokens to the latter token bucket

o TBthreshold.fill.former = max(0, TBthreshold.fill.former - packet.size); //remove
tokens from the former token bucket

o TBthreshold.fill.latter = max(0, TBthreshold.fill.latter - packet.size); //remove
tokens from the latter token bucket

o if (TBthreshold.fill.former < TBthreshold.threshold.former) then 
     if  (TBthreshold.fill.latter < TBthreshold.shallow.threshold.latter) then 
        if (TBthreshold.fill.latter >= TBthreshold.threshold.latter) then
	       one-Nth packets are threshold-marked
        else 
		packet.mark = threshold-marked;
//do threshold marking with two thresholds only when TBthreshold.fill.former <= TBthreshold.threshold.former

o TBthreshold.lastUpdate = now
---
Best regards,

Daisuke

_______________________________________________
PCN mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/pcn

---

From: <[email-masked]>
Date: Wed, 21 Jan 2009 09:10:19 -0000

Got your email!
Yes, will wait to see your evaluation data.
Best wishes
phil

{ -----Original Message-----
{ From: [email-masked] [mailto:[email-masked]] On Behalf Of
{ SATOH Daisuke
{ Sent: 21 January 2009 07:46
{ To: [email-masked]
{ Subject: [PCN] Please modify the marking behaviour draft
{ 
{ 
{ 
{ Hi Phil,
{ 
{ 
{ If you received this e-mail again, I'm sorry.
{ 
{ 
{ I would like you to modify draft-ietf-pcn-marking-behaviour-01. I made
{ an example of modification as follows.
{ I understand I have to show you the performance of our algorithm. So I
{ have to update draft-satoh-pcn-st-marking-00. We have simulated our
{ algorithm
{ in extreme cases for both admission and termination. Now we are
{ simulating it. Please wait for performance evaluation awhile.
{ 
{ 
{ 
{ ---
{ 2.3. Threshold meter function
{ 
{ 2.3.1 Threshold meter function with One threshold
{ A PCN-node MUST implement a Threshold Meter that has behaviour
{ functionally
{ equivalent to the following. The meter acts like a token bucket, which
{ is sized in bits and has a configured bit rate, termed
{ PCN-threshold-rate. The amount of tokens in the token bucket is termed
{ TBthreshold.fill. Tokens are added at the PCN-threshold-rate, to a
{ maximum value TBthreshold.max. Tokens are removed equal to the size in
{ bits of the metered-packet, to a minimum TBthreshold.fill=0. The token
{ bucket has a configured intermediate depth, termed
TBthreshold.threshold.
{ If TBthreshold.fill < TBthreshold.threshold, then the meter indicates
to
{ the Marking function that the packet is to be threshold-marked;
{ otherwise it does not.
{ 
{ 
{ 2.3.2 Threshold meter function with two threshold
{ A PCN-node MUST implement a Threshold Meter that has behaviour
{ functionally
{ equivalent to the following.
{ 
{ The meter acts like a token bucket, which is sized in bits and has a
{ configured
{ bit rate, termed PCN-threshold-rate. The amount of tokens in the token
{ bucket is termed TBthreshold.fill. Tokens are added at the
{ PCN-threshold-rate, to a maximum value TBthreshold.max. Tokens are
{ removed equal to the size in bits of the metered-packet, to a minimum
{ TBthreshold.fill=0. The token bucket has two configured intermediate
{ depths, termed TBthreshold.shallow.threshold and
TBthreshold.threshold,
{ where TBthreshold.shallow.threshold is greater than
{ TBthreshold.threshold. If (TBthreshold.fill <
{ TBthreshold.shallow.threshold) and (TBthreshold.fill >=
{ TBthreshold.threshold), then the meter indicates to the Marking
function
{ that one-N-th packets are threshold-marked. If TBthreshold.fill <
{ TBthreshold.threshold, then the meter indicates to the Marking
function
{ that the packet is to be threshold-marked; otherwise it does not.
{ 
{ 
{ 
{ 2.5 Combination of the meter functions
{ A PCN-node MAY implement combination of Threshold and Excess traffic
{ meters. The
{ meter is composed of two tandem meters of Threshold and Excess traffic
{ meters or two Threshold meters or two Excess traffic meters. The
former
{ meter is used for marking switch and the latter meter is used for
{ marking.
{ 
{ The combined meter has behaviour functionally equivalent to the
following.
{ 
{ 
{ If TBthreshold.fill >= TBthreshold.threshold (when the former meter is
the
{ Threshold
{ meter) or if the token bucket is not empty (the former meter is the
{ Excess traffic meter), the combined meter indicates to the Marking
{ function that the packet is not to be marked even if the latter meter
{ indicates to the Marking function that the packet is to be marked.
{ Otherwise, the combined meter indicates the same result as the latter
{ meter's indication to the Marking function.
{ 
{ 
{ 
{ A.3 Combined metering and marking
{ The combined meter by using two Threshold meters is introduced. The
two
{ combined
{ token buckets with the following parameters:
{ 
{ o TBthreshold.PCN-threshold-rate.former: token rate of the former
token
{ bucket (bits/second)
{ 
{ o TBthreshold.PCN-threshold-rate.latter: token rate of the latter
token
{ bucket (bits/second)
{ 
{ o TBthreshold.max.former: depth of the former token bucket (bits)
{ 
{ o TBthreshold.max.latter: depth of the latter token bucket (bits)
{ 
{ o TBthreshold.threshold.former: marking threshold of the former token
{ bucket (bits)
{ 
{ o TBthreshold.shallow.threshold.latter: One-Nth marking threshold of
the
{ latter token bucket (bits)
{ 
{ o TBthreshold.threshold.latter: marking threshold of the latter token
{ bucket (bits)
{ 
{ o TBthreshold.lastUpdate: time both token buckets were last updated
{ (seconds)
{ 
{ o TBthreshold.fill.former: amount of tokens in the former token bucket
{ (bits)
{ 
{ o TBthreshold.fill.latter: amount of tokens in the latter token bucket
{ (bits)
{ 
{ 
{ A PCN-packet has the following parameters:
{ 
{ o packet.size: the size of the PCN-packet (bits)
{ 
{ o packet.mark: the PCN encoding state of the packet
{ 
{ In addition there is the parameter:
{ 
{ o now: the current time (seconds)
{ 
{ 
{ The following steps are performed when a PCN-packet arrives on a link:
{ 
{ o TBthreshold.fill.former = min(TBthreshold.max.former,
{ TBthreshold.fill.former +
{ TBthreshold.PCN-threshold-rate.former*(now - TBthreshold.lastUpdate));
{ // add tokens to the former token bucket
{ 
{ o TBthreshold.fill.latter = min(TBthreshold.max.latter,
{ TBthreshold.fill.latter +
{ TBthreshold.PCN-threshold-rate.latter*(now -
TBthreshold.lastUpdate));//
{ add tokens to the latter token bucket
{ 
{ 
{ o TBthreshold.fill.former = max(0, TBthreshold.fill.former -
packet.size);
{ //remove
{ tokens from the former token bucket
{ 
{ 
{ o TBthreshold.fill.latter = max(0, TBthreshold.fill.latter -
packet.size);
{ //remove
{ tokens from the latter token bucket
{ 
{ 
{ o if (TBthreshold.fill.former < TBthreshold.threshold.former) then
{      if  (TBthreshold.fill.latter <
TBthreshold.shallow.threshold.latter)
{ then
{         if (TBthreshold.fill.latter >= TBthreshold.threshold.latter)
then
{ 	       one-Nth packets are threshold-marked
{         else
{ 		packet.mark = threshold-marked;
{ //do threshold marking with two thresholds only when
{ TBthreshold.fill.former <= TBthreshold.threshold.former
{ 
{ o TBthreshold.lastUpdate = now
{ ---
{ Best regards,
{ 
{ Daisuke
{ 
{ _______________________________________________
{ PCN mailing list
{ [email-masked]
{ https://www.ietf.org/mailman/listinfo/pcn
_______________________________________________
PCN mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/pcn