Jonathon Duerig Robert Ricci Goal Allow Experimenters to Modify Existing Slivers Overview New API Methods Update Cancel New Allocation State geniallocating Current State Machine g ID: 181095
Download Presentation The PPT/PDF document "Update() Proposal" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Update() Proposal
Jonathon
Duerig
, Robert RicciSlide2
Goal
Allow Experimenters to Modify Existing SliversSlide3
Overview
New API Methods
Update()
Cancel()
New Allocation State
geni_allocatingSlide4
Current State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
Delete()
Renew()
Renew()Slide5
Update()
Parameters
Urns -- List of slivers to modify
Rspec
-- Complete
request specification for all slivers included in the
urns
listChanges user allocation, not provisioning
Existing sliver provisioning is unchangedSlide6
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
Delete()
Renew()
Renew()
g
eni
_
updating
Renew()
Update()Slide7
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
g
eni
_updating
Update()Slide8
Cancel()
Cancel an allocation
Returns sliver to previous state
Provisioned slivers not perturbedSlide9
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
g
eni
_updating
Update()
Cancel()
Cancel()Slide10
Provision()
Implements an allocation
Modifies sliver provisioningSlide11
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
g
eni
_updating
Update()
Cancel()
Cancel()
Provision()Slide12
Update() RspecsSlide13
Update() for modify
Urns:
sliver+35
, sliver+36
<
rspec
>
<node
sliver_id=“sliver+35” …>…</node> <node …>…</node></rspec>Slide14
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
g
eni
_updating
Update()
Cancel()
Cancel()
Provision()Slide15
Update() for create
Urns: sliver+35, sliver+36
<
rspec
>
<node
sliver_id=“sliver+35” …>…</node>
<node …>…</node></rspec>Slide16
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
Delete()
g
eni
_updating
Update()
Cancel()
Cancel()
Provision()
Update()Slide17
Update() for delete
Urns: sliver+35,
sliver+36
<
rspec
>
<node sliver_id=“sliver+35” …>…</node>
<node …>…</node></rspec>Slide18
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
g
eni
_updating
Update()
Cancel()
Cancel()
Provision()
Provision()
Update()Slide19
Update() Allocations
Modifies allocations
g
eni_allocated
geni_updating
Slivers remain in same state
Attached to modified allocationSlide20
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
Update()
g
eni
_
updating
Update()
Update()
Cancel()
Cancel()
Provision()
Provision()
Update()Slide21
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
Update()
g
eni
_
updating
Update()
Update()
Cancel()
Cancel()
Provision()
Provision()
Update()Slide22
State Machine
g
eni
_
unallocated
g
eni
_
allocated
geni_provisioned
Allocate()
Provision()
Delete()
Renew()
Update()
Renew()
g
eni
_
updating
Renew()
Update()
Update()
Cancel()
Cancel()
Provision()
Provision()
Update()