Upload
eden
View
36
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Update() Proposal. Jonathon Duerig , Robert Ricci. Goal. Allow Experimenters to Modify Existing Slivers. Overview. New API Methods Update() Cancel() New Allocation State geni_allocating. Current State Machine. Allocate(). Provision(). g eni _ unallocated. g eni _ allocated. - PowerPoint PPT Presentation
Citation preview
Update() Proposal
Jonathon Duerig, Robert Ricci
Goal
• Allow Experimenters to Modify Existing Slivers
Overview
• New API Methods– Update()– Cancel()
• New Allocation State– geni_allocating
Current State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
Delete()
Renew() Renew()
Update()
• Parameters– Urns -- List of slivers to modify– Rspec -- Complete request specification for all
slivers included in the urns list• Changes user allocation, not provisioning– Existing sliver provisioning is unchanged
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
Delete() Renew() Renew()
geni_updating
Renew()
Update()
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
geni_updating
Update()
Cancel()
• Cancel an allocation• Returns sliver to previous state• Provisioned slivers not perturbed
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
geni_updating
Update()
Cancel() Cancel()
Provision()
• Implements an allocation• Modifies sliver provisioning
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
geni_updating
Update()
Cancel() Cancel()
Provision()
UPDATE() RSPECS
Update() for modify
• Urns: sliver+35, sliver+36<rspec>
<node sliver_id=“sliver+35” …>…</node><node …>…</node>
</rspec>
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
geni_updating
Update()
Cancel() Cancel()
Provision()
Update() for create
• Urns: sliver+35, sliver+36<rspec>
<node sliver_id=“sliver+35” …>…</node><node …>…</node>
</rspec>
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
Delete()
geni_updating
Update()
Cancel() Cancel()
Provision()
Update()
Update() for delete
• Urns: sliver+35, sliver+36<rspec>
<node sliver_id=“sliver+35” …>…</node><node …>…</node>
</rspec>
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
geni_updating
Update()
Cancel() Cancel()
Provision()
Provision()
Update()
Update() Allocations
• Modifies allocations– geni_allocated– geni_updating
• Slivers remain in same state• Attached to modified allocation
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
Update()
geni_updating
Update()
Update()
Cancel() Cancel()
Provision()
Provision()
Update()
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
Update()
geni_updating
Update()
Update()
Cancel() Cancel()
Provision()
Provision()
Update()
State Machine
geni_unallocated
geni_allocated
geni_provisioned
Allocate() Provision()
Delete() Renew()Update()
Renew()
geni_updating
Renew()Update()
Update()
Cancel() Cancel()
Provision()
Provision()
Update()