CGR OVERBOOKING MANAGEMENT Carlo Caini, Dmitrij Padalino, Marco Ruggieri University of Bologna.
-
Upload
sibyl-benson -
Category
Documents
-
view
216 -
download
1
Transcript of 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...
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