CGR OVERBOOKING MANAGEMENT Carlo Caini, Dmitrij Padalino, Marco Ruggieri University of Bologna.

23
CGR OVERBOOKING MANAGEMENT Carlo Caini, Dmitrij Padalino, Marco Ruggieri University of Bologna

Transcript of CGR OVERBOOKING MANAGEMENT Carlo Caini, Dmitrij Padalino, Marco Ruggieri University of Bologna.

CGR OVERBOOKING MANAGEMENT

Carlo Caini, Dmitrij Padalino, Marco Ruggieri

University of Bologna

Why CGR Overbooking Management?In the presence of different priority traffic, CGR priority enforcement may cause contact overbooking. Low priority bundles that miss their contact will have to wait for the next contact …Maybe longer than necessary!

.

“A priori” overbooking handling

Overbooking Management handles overbooking «a priori», by reforwarding bundles as soon as an overbooking is predictable.

Standard CGR handles overbooking «a posteriori», by reforwarding bundles after they have missed their contact

Let us consider a 4-node configuration:-node #1 is the local node-node #4 is the destination node

1

Local node Final destinaton node

1250

000

16000

4

3

2

1

1250000

160001

1

1

1

1250

000

16000

4

3

2

1

1250000

160001

Local node Final destinaton node

• Paths 1-2 and 1-3 have a bit rate of 16 kbytes/s • Paths 2-4 and 3-4 have a bit rate of 1250 kbytes/s• OWLT in every path is 1 light second

11

1

time

+0 +50 +80

1250

000

16000

4

3

2

1

1250000

16000

1

11

1

1 – 3

1 - 2

3 – 4

2 - 4

SCENARIO :• Bundles are generated and forwarded at current time• Two 1-3 contacts• 1 – 2 contact is contained in the first 1-3 contact• 3-4 and 2-4 contacts are dummy (longer than the exp.)

+3600

Current Time = +10

+55 +75

1 – 3

+110 +140

time

+0 +50 +80

1250

000

16000

4

3

2

1

1250000

16000

1

11

1

1 – 3

1 - 2

3 – 4

2 - 3

+3600

Current Time = +10

+55 +75

1 – 3

+110 +140

Since the contact is not open yet, bundles are enqueued. Let’s see what happens...

Bundle payload size is 100 kbytes (eccc 107,2 kbytes)

1 2 3 4

Contact 1-3 starting at +50 Contact 1-3 starting at +110

Contact 1-2 starting at +55

BULK BACKLOG:

RESIDUAL CAPACITY: 320k

CONTACT VOLUME: 480k CONTACT VOLUME: 480k

CONTACT VOLUME: 320k

Bulk bundles 1,2,3,4 fill almost completelythe contact

0 kbytes107,2 kbytes214,4 kbytes321,6 kbytes428,8 kbytes

5«Bulk» bundles 1,2,3,4«Standard» bundle 5

Test n.1:

All bundles are sent to node 4

1 2 3 4

5

Contact 1-3 starting at +50 Contact 1-3 starting at +110

Contact 1-2 starting at +55

The standard bundle is added to the queue, although this is already full (of bulk ones), causing overbooking.

DISABLED

Current Time = +10

Let us examine CGR when Overbooking Management is

CONTACT VOLUME: 480k CONTACT VOLUME: 480k

CONTACT VOLUME: 320k

STANDARD BACKLOG: 0 kbytes

Although Bundle 4 can no longer fit in its contact, it will be reforwarded only later, after the first 1-3 contact ends.

STANDARD BACKLOG: 107,2 kbytes

1 2 3

4

5

Contact 1-3 starting at +50 Contact 1-3 starting at +110

Contact 1-2 starting at +55

Bundles are sent at the opening of the contact

Overbooking Management:

DISABLED

Bundle 4 is reforwarded only when thecontact closes

..missing the opportunity of using contact 1-2 !

Current Time = +50

Current Time = +80

1 2 3 4

5

Contact 1-3 starting at +50 Contact 1-3 starting at +110

Contact 1-2 starting at +55

CGR Overbooking Management immediately calculates a new route for the «overbooked» bundle, finding a better one

Overbooking Management:

ENABLED

Current Time = +10

STANDARD BACKLOG:

BULK BACKLOG:

0 kbytes

428,8 kbytes

107,2 kbytes

BULK BACKLOG: 107,2 kbytes0 kbytes

321,6 kbytes

1 2 3

4

5

Contact 1-3 starting at +50 Contact 1-3 starting at +110

Contact 1-2 starting at +55

Overbooking Management:

Current Time = +55

Current Time = +50

..and at time +55 (instead of +110) all the bundles have been sent to the final destination node

ENABLED

When the first contact opens CGR starts the transmission...

How CGR Overbooking Management

works?

Contact 1-3 starting at +50 Contact 1-3 starting at +110

428,8k BULK BACKLOG:

5

When a not-bulk bundle has to be queued we don’t consider only its applicable backlog,but we introduce a new parameter called totalBacklog

STANDARD BACKLOG : 0

totalBACKLOG for this bundle : 428,8k

totalBacklog is the amount of eccc of the bundles actually enqueued to that node (or the «backlog» that is seen by bulk bundles)

1 2 3 4

Contact 1-2 starting at +55

Test 1 (partial overbooking)

Contact 1-3 starting at +50

480kAggregateCapacity :

5

Current Time = +10

totalBACKLOG : 428,8k

Aggregate capacity -- totalBacklog = 480 – 428,8k = 52,2 kbytesbulkResidualCapacity =

21 3

When 0 < bulkResidualCapacity < ecccwe have a PARTIAL OVERBOOKING!

Overbooking = eccc – bulkResidualCapacity = 107,2 – 52,2 = 55 kbytes

4

Overbooking

How to manage a PARTIAL OVERBOOKING:

421 3 Bulk queue to node 3

• Starting from the last element in the bulk queue, we need to reforward bundles since the sum of their eccc is higher than Overbooking

• If a queue becomes empty, we continue with the next one in order of priority

Last elementEccc = o kbytesOverbooking = 55 kbytes

Eccc = 107,2 kbytesSTOP

1 2 3 4

Conatct 1-3 starting at +50 Contact 1-3 starting at +110

Contact 1-2 starting at +55

BULK BACKLOG:

CONTACT VOLUME: 480k CONTACT VOLUME: 480k

CONTACT VOLUME: 320k

0 kbytes107,2 kbytes214,4 kbytes321,6 kbytes428,8 kbytes

65

526 kbytes

«Bulk» bundles 1,2,3,4 are sent to node 4«Bulk» bundle 5 is sent to node 3: it is prevented from using contact 1-2.«Standard» bundle 6 is sent to node 4

Test 2 (full overbooking)

1 2 3 4

6

Contact 1-3 starting at +50 Contact 1-3 starting at +110

Contact 1-2 starting at +55

The standard bundle is inserted in the first 1-3 contact although full (of bulk ones)

OVERBOOKING isDISABLED

Current Time = +10

Let’s examine the behaviour of CGR when

CONTACT VOLUME: 480k CONTACT VOLUME: 480k

CONTACT VOLUME: 320k

STANDARD BACKLOG: 0 kbytes

Bundle 4 can no longer be transmitted in time, but it is not immediately reforwarded

STANDARD BACKLOG: 107,2 kbytes

5

1 2 3

4

6

Queue for contact 1-3 starting at +50Queue for contact 1-3 starting at +110

Queue for contact 1-2 starting at +55

Bundles are sent at the opening of the contact

OVERBOOKING:DISABLED

Bundle 4 will be reforwarded only after thecontact closes...

..missing the opportunity of using contact 1-2!!

Current Time = +50

Current Time = +80

5

1 2 3 4

6

Contact 1-3 starting at +50 Contact 1-3 starting at +110

Contact 1-2 starting at +55

The «overbooked» bundle is immediately reforwarded, exploiting the contact 1-2

Overbooking Managment :ENABLED

Current Time = +10

STANDARD BACKLOG:

BULK BACKLOG:

0 kbytes

536 kbytes

107,2 kbytes

BULK BACKLOG: 107,2 kbytes0 kbytes

428,8 kbytes

5

Contact 1-3 starting at +50

480kAggregateCapacity :

totalBACKLOG : 536k

Aggregate capacity -- totalBacklog = 480 – 536k = - 56 kbytesbulkResidualCapacity =

21 3

When bulkResidualCapacity < 0we have a FULL OVERBOOKING!

Overbooking = eccc = 107,2 kbytes

4 5

Current Time = +10

- 56

Goback = -bulkResidualCapacity = 56 kbytes

6 Overbooking

How to manage a FULL OVERBOOKING:

421 3

Bulk queue to node 3

• Starting from that position, we need to reforward bundles until their sum (in bytes) is >= Overbooking

• If the bulk queue becomes empty, we continue with the standard and then with the expedited queue, in order of priority.

Last element

Eccc =

Overbooking = 107,2 kbytes

5

• Starting from the last element of the bulk queue, we need to move back until the sum (in bytes) of the «jumped» bundles is >= Goback

Goback = 56 kbytes

0 kbytes107,2 kbytesEccc=0 kbytes107,2 kbytesSTOP

The end