OSID Specifications
provisioning package
Version 3.0.0
Release Candidate Preview
TitleProvisioning Open Service Interface Definitions

The Provisioning OSID provides a means for requesting and assigning Resources. There are many aspects to this service from the set up of a provisioning system to the acquisition and return of Resources.


A Provisionable represents a resource to be provisioned. A Provisionable is an OsidRelationship between a Resource and a resource Pool. A Pool is a set of like Provisionables that can be assigned. For example, a Resource may be used to represent a car. A Pool may be used to represent an entire set of cars that can be rented. The rental agency may have different classes of cars such as compact cars and full-size cars. Pools may be created for each class of cars.


A Request is made to request a Provisionable. The requester makes a Request for entry into a Queue. The Queue serves as a wait list for a Provisionable out of one or more Pools. The Request may optionally support a Request for a Provisionable out of a specific Pool, or a Request for a specific set of Provisionables .

A Request may be made for any seat on a flight, any seat in the coach Pool, or any seat within the aisle coach Pool, or one of seats 1B, 1C in the first class Pool.

Multiple Requests may be bundled into a single RequestTransaction. A RequestTransaction is processed atomically in that all Requests are fulfilled or none of the Requests are filled. A RequestTransaction may be made for a Request for a flight from Boston to New York and another Request for a flight from New York to Barcelona. The Barcelona Request should not be processed if there are no available flights to New York.


A Provision is the result of fulfilling a Request. A Provision is an OsidRelationship between a Provisionable and a Request. As OsidRelationships, Provisions have effective dates and may optionally require a Provision to be returned. A ProvisionReturn captures information about the return of a Provision.


A Broker represents the governance of Queues and Pools. The Broker manages behind-the-scenes operations such as consraints on entering a Queue, the processing of a Queue, and how Provisionables are automatically assigned to Requests. The Broker is the entity to which these various constraints and processing rules are related. While all Queues and Pools may be cataloged in various ways, they belong to a single Broker.

Distributor Cataloging

All Provisions, Requests, Provisionables, Queues, Pools, and Brokers may be organized into federateable OsidCatalogs called Distributors.

Sub Packages

The Provisioning OSID includes a Provisioning Rules OSID for managing constraints and processing rules.