Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Wiki / Sliceembeddingserviceapi

Sliceembeddingserviceapi

ProtoGENI Slice Embedding Service

ProtoGENI Slice Embedding Service

Overview

A slice embedding service maps a request RSpec onto a subset of resources described in an advertisement RSpec: that is, it attempts to find various physical resources which can satisfy the user's request for virtual resources. Our current slice embedding service can carry out this operation for resources handled by any single component manager (no relation between the slice embedding service and the component manager is necessary), and ultimately we will extend the implementation to be able to assign multiple slivers across various component managers in the federation.

API Documentation

The following sections (in conjunction with the standard ProtoGENI XMLRPC interface) describe the Slice Embedding Service API. Where appropriate, we have used pythonese to describe arguments and return values.

Map

Attempt to identify physical resources which can fulfill a resource request:

struct Map(credential, advertisement, request);

where credential is a valid credential issued by any Slice Authority or the ClearingHouse, advertisement is an advertisement RSpec (typically obtained from a DiscoverResources operation on a component manager), and request is a request RSpec.

Optional compression is supported for the advertisement parameter only: if the advertisement is of type text, it should be a plain text (uncompressed) RSpec; if it is of type base64, then it should be an RSpec encoded as a byte stream conforming to RFC 1950 (ZLIB Compressed Data Format Specification version 3.3).

The return value, if a mapping can be found, is the request RSpec with all elements fully specified: any abstract resource will be completed by adding a reference to a component declared in the advertisement RSpec.

Availability: supported in revisions 0 to 1. Revisions 0 to 1 require both advertisement and request to validate according to schema version 0.1.

GetVersion

int GetVersion();

Returns an integer corresponding to the revision of this API supported by the slice embedding service.

Availability: supported in revision 1 only.