8. Conceptual Model of the Cloud Computing Service
Association End
Mult.
Description
Endpoint.ID
*
A service exposes zero or more endpoints.
Share.ID <<abstract>>
*
A service offers zero or more shares.
Manager.ID <<abstract>>
*
A service offers zero or more managers.
Contact.ID
*
A service has zero or more contacts.
Location.ID
0..1
A service is primary located at a location.
Service.ID
*
A service is related to zero or more services.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
A simple Service aggregates an Endpoint, no Share, no Manager and no Resource (e.g., a metadata catalogue service). In the context of a Service class, the same Resource MAY be exposed via multiple Endpoints based on the defined Shares. For instance, in the area of storage systems, two Endpoints implementing SRMv1 [SRMV1] and SRMv2.2 [SRMV2] interfaces respectively MAY expose the same Resource via different Endpoints offering different interface versions; in the area of computing systems, the CREAM [cream] and GRAM [GRAM] Endpoints MAY expose the Resources locally managed by the same Manager (typically a batch system). Endpoints, Shares, Managers and Resources MUST belong to precisely one Service.
Endpoint
The Endpoint class models a network location that can be contacted to access certain functionalities based on a well-defined interface. The defined attributes refer to aspects such as the network location, the exposed interface name and version, the details of the implementation, the functional state and the scheduled downtime.
Entity
Inherits from
Description
Endpoint
Entity
A network location having a well-defined interface and exposing specific service functionalities.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A global unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
URL
URL
1
Network location of an endpoint,which enables a specific component of the Service to be contacted.
Capability
Capability_t
*
The provided capability according to the OGSA architecture classification.
Technology
EndpointTechnology_t
0..1
The technology used to implement the endpoint interface.
InterfaceName
InterfaceName_t
1
The identification name of the primary protocol supported by the endpoint interface.
InterfaceVersion
String
0..*
The version of the primary interface protocol (free format).
InterfaceExtension
URI
*
The identification of an extension to the interface protocol supported by the Endpoint.
WSDL
URL
*
The URL of a WSDL document describing the offered interface (this applies only to Web Services endpoints).
SupportedProfile
URI
*
A URI identifying a supported profile for the Endpoint interface.
Semantics
URL
*
The URl of a document providing a human-readable description of the semantics of the Endpoint functionalities (e.g. a software manual).
Implementor
String
0..1
The name of the main organization implementing this software component (free format, but the chosen names SHOULD be clearly identifiable with the organisation).
ImplementationName
String
0..1
The name of the implementation (as defined by the Implementor).
ImplementationVersion
String
0..1
The version of the implementation (the syntax is defined by the Implementor, but MAY be: major.minor.patch).
QualityLevel
QualityLevel_t
1
The maturity of the endpoint in terms of the quality of the software components which implement it.
HealthState
EndpointHealthState_t
1
A state representing the current health of the Endpoint in terms of its ability to properly deliver the expected functionality.
HealthStateInfo
String
0..1
A human-readable explanation of the HealthState of the Endpoint (free format).
ServingState
ServingState_t
1
A state specifying whether the Endpoint is currently accepting new requests, and whether it is currently servicing requests which have already been accepted.
StartTime
DateTime_t
0..1
The timestamp of the start time of the service underlying the Endpoint.
Authentication
EndpointAuthentication_t
0..1
Name of the authentication method supported by the endpoint.
IssuerCA
DN_t
0..1
The Distinguished Name of the Certification Authority issuing the host/service certificate presented by the Endpoint.
TrustedCA
DN_t
*
The Distinguished Name of a trusted Certification Authority (CA); i.e., certificates issued by the CA are accepted by the authentication process. Alternatively this may identify a standard bundle of accepted CAs, e.g. those accredited by the IGTF. Note that this does not imply that such certificates will be authorized to use the Endpoint.
DowntimeAnnounce
DateTime_t
0..1
The timestamp for an announcement of the next scheduled downtime.
DowntimfeStart
DateTime_t
0..1
A timestamp describing when the next downtime is scheduled to start.
DowntimeEnd
DateTime_t
0..1
A timestamp describing when the next downtime is scheduled to end.
DowntimeInfo
String
0..1
A human-readable description of the next scheduled downtime (free format).
Association End
Mult.
Description
Service.ID
1
An endpoint is part of a Service.
Share.ID <<abstract>>
*
An endpoint MAY pass activities to zero or more Shares.
AccessPolicy.ID
*
An endpoint has associated zero or more AccessPolicies.
Activity.ID
*
An endpoint has accepted and is managing zero or more Activities.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
For Grid services requiring a richer set of attributes for the Endpoint, specific models MAY be derived by specializing from the Endpoint class and adding new properties or relationships. The current proposal contains the ComputingEndpoint specialization (see Section 8.2) and the StorageEndpoint specialization (see Section 9.4).
The network location of an endpoint MUST be encoded in a URI. When available, standard schemes for the encoding SHOULD be used (e.g., as used for the Java Messaging Service http://www.ietf.org/internet-drafts/draft-merrick-jms-uri-03.txt).
Concerning the SupportedProfile attribute, if there is no recommended URI for the identification of a certain profile, then the following options SHALL be considered: (1) use the main URL of the document specifying the profile, or (2) use the target namespace URI (in case of an XML Schema representation of the profile).
Share
The Share class is an abstract entity that MUST NOT be instantiated; it SHOULD be used in order to derive specialized entities. At this level, it is introduced to capture the concept of a utilization target, that is a constrained usage of service functionalities or resources that MAY be created based on aspects such as identify or UserDomain membership, usage information or resource characteristics.
Entity
Inherits from
Description
Share
<<abstract>>
Entity
A utilization target for a set of Resources managed by a local Manager and offered via related Endpoints. The share is defined by configuration parameters and characterized by status information.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A global unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Description
String
0..1
A human-readable description of this share (free format).
Association End
Mult.
Description
Endpoint.ID
*
A share is consumed via one or more endpoints.
Resource.ID <<abstract>>
*
A share is defined on one or more resources.
Service.ID
1
A share participates in a service.
Activity.ID
*
A share is consumed by zero or more activities.
MappingPolicy.ID
*
A share has zero or more mapping policies.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
Manager
The Manager class is an abstract entity that MUST NOT be instantiated; it SHOULD be used in order to derive specialized entities. At this level, it is introduced to capture the characteristics of a local software layer (not directly exposed via an Endpoint) which has control of the underlying resources. The functionalities of a manager layer that need to be accessible by remote users are typically abstracted by a middleware component via a standard interface, and are modeled by the concept of Endpoint. Examples of managers are: for computing resources, batch systems such as OpenPBS or LSF; for storage resources, GPFS or HPSS.
Entity
Inherits from
Description
Manager
<<abstract>>
Entity
A software component locally managing one or more resources. It MAY also describe aggregated information about the managed resources.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A global unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
ProductName
String
1
The name of the software product which implements the Manager functionality. The attribute is free format, but SHOULD correspond to the standard name by which the product is generally known.
ProductVersion
String
0..1
The version of the software product which implements the Manager functionality. The attribute is free format, but SHOULD correspond to the primary version as defined by the software provider.
Association End
Mult.
Description
Service.ID
1
A manager participates in a service.
Resource.ID <<abstract>>
1..*
A manager manages zero or more resources.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
Resource
The Resource class is an abstract entity that MUST NOT be instantiated; it SHOULD be used in order to derive specialized entities. It is introduced to identify and model hardware entities providing capabilities which are exposed via Endpoints. Examples are execution environments for computational activities or data stores for data.
Entity
Inherits from
Description
Resource
<<abstract>>
Entity
An entity providing a capability or capacity, managed by a local software component (Manager), part of a logical Service, reachable via one or more Endpoints and having one or more Shares defined on it. A Resource MAY refer to a specified category of hardware, with summary information on the available resources in that category.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A global unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
No extra properties are defined in the specialized entity
Association End
Mult.
Description
Manager.ID <<abstract>>
1
A resource is managed by a manager.
Share.ID <<abstract>>
*
A resource provides capacity in terms of shares.
Activity.ID
*
A resource runs zero or more activities.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
Activity
The Activity class models units of work which are submitted to Services via Endpoints. Grid jobs, i.e. Computing Activities in GLUE, are example of Activities for a Computing Service. An interesting type of relationship for jobs derives from their propagation through several Services. For instance, a broker Service submits a Grid job to a selected execution Service; upon completion the execution Service submits a logging record to an accounting Service. Each of these Services may have associated an instance of a Grid Activity related to the lifecycle of the job within the service. All instances refer to the same conceptual job submitted by the user.
Entity
Inherits from
Description
Activity
Entity
An Activity is a unit of work managed by a Service and submitted via an Endpoint; when accepted by the Endpoint, than it MAY be mapped to a Share and MAY be executed by a local Manager via one or more Resources. An Activity MAY have relationships to other Activities being managed by different Services, in which case it shares a common context.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A global unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
No extra properties are defined in the specialized entity
Association End
Mult.
Description
UserDomain.ID
0..1
An activity is managed by a user domain.
Endpoint.ID
0..1
An activity is submitted to an endpoint.
Share.ID <<abstract>>
0..1
An activity is mapped into a share.
Resource.ID <<abstract>>
0..1
An activity is executed in a resource.
Activity.ID
*
An activity is related to zero or more activities.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
Policy
The Policy class is an abstract entity that MUST NOT be instantiated; it SHOULD be used in order to derive specialized entities. This class is introduced to model statements, rules or assertions that define the correct or expected behavior of entities. Two specializations are introduced: AccessPolicy related to Endpoints and MappingPolicy related to Shares.
For a given entity to which policies are associated (i.e., Endpoint and AccessPolicy, Share and MappingPolicy), several instances of the Policy class MAY be defined. This is allowed in order to enable the advertisement of policies using different schemes. We RECOMMEND that only one instance per policy scheme is associated to the same entity instance. The evaluation algorithm for the rules SHOULD be defined by the policy scheme.
If an entity instance is associated to different Policy instances, each of them based on a different scheme, then the evaluation process SHOULD consider each set of policies independently. This means that the evaluation SHOULD rely on a certain policy scheme which is selected and understood by the consumer, and not by composing policies expressed using different schemes.
In this document, we provide the definition for a “basic” scheme (see Appendix B.37). Such a scheme is designed to be simple and is inspired by real world scenarios in current production Grid systems. The Rule attribute implicitly contains a reference to the associated User Domains; therefore, in the concrete data model mapping, we RECOMMEND to not represent the association between User Domain and Access Policy or Mapping Policy explicitly since it is already captured by the Rule.
More complex schemes MAY be defined in profile documents describing the usage of the schema in particular Grid infrastructures.
The published Policies do not represent a contract, and hence the associated Service is not bound to honour the decisions implied by the published rules. In addition the published rules may be expressed at a coarse granularity, which may be modified internally by more finely-grained rules which are not published. However, the published rules SHOULD match the decisions which will be made in practice in a substantial majority of cases.
Entity
Inherits from
Description
Policy
<<abstract>>
Entity
Statements, rules or assertions that specify the correct or expected behavior of an entity.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed, the information SHOULD NOT be considered relevant
ID [key]
URI
1
A global unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Scheme
PolicyScheme_t
1
The scheme used to define the syntax and semantics of the policy Rules.
Rule
String
1..*
A policy rule (for the basic policy scheme, the syntax is provided in the Appendix).
Association End
Mult.
Description
UserDomain.ID
1..*
A policy is related to a user domain.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
AccessPolicy
The AccessPolicy class is a specialization of the Policy class. This entity MAY be used to express authorization rules, e.g. which UserDomains MAY access a certain service Endpoint. The granularity of these policies SHOULD be coarse-grained and suitable for pre-selection of services. The actual decision on the service side is performed by an authorization component that MAY contain a finer-grained set of policy rules that in some case MAY contradict the published coarse-grained policy rules. The default policy is assumed to be to deny access, hence Endpoints for which there are no matching Rules SHOULD NOT be selected for possible use.
Examples of actors involved in this entity are UserDomains representing VOs or groups.
Entity
Inherits from
Description
AccessPolicy
Policy
Statements, rules or assertions that provide coarse-granularity information about the authorization of access by groups of actors to an Endpoint.
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed, the information SHOULD NOT be considered relevant
ID [key]
URI
1
A global unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Scheme
PolicyScheme_t
1
Scheme adopted to define the policy rules
Rule
PolicyRule_t
1..*
A policy rule (for the basic policy scheme, syntax is provide in the Appendix)
Attribute
Type
Mult.
Unit
Description
No extra properties are defined in the specialized entity.
Association End
Mult.
Description
Endpoint.ID
1
An access policy is related to an endpoint.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
UserDomain.ID
1..*
An access policy is related to a user domain.
MappingPolicy
The MappingPolicy class is a specialization of the Policy class. This entity MAY be used to express which UserDomains MAY consume a certain share of resources. The granularity of these policies SHOULD be coarse-grained and suitable for pre-selection of services. The actual decision on the service side is performed by an authorization component that MAY contain a finer-grained set of policy rules that in some case MAY contradict the published coarse-grained policy rules.
Conceptually, the union of all the MappingPolicy rules should match the corresponding AccessPolicy rules, i.e. any authorised UserDomain will be mapped to at least one Share. However, publication of Shares is OPTIONAL, and hence there MAY be no Share with a matching MappingPolicy rule. In this case a consumer SHOULD NOT make any assumption about the properties of the Share to which it will be mapped. Conversely, the published MappingPolicy rules MAY not have a corresponding AccessPolicy, in which case the implication is that there is some unpublished access method enabling access to the associated Share.
When evaluating the mapping to a certain Share using the algorithm implied by the policy scheme, if multiple solutions are available then the consumer SHOULD NOT make any assumption about which Share will be assigned to its Activity, and if it requires a specific Share it SHOULD request that Share explicitly.
Entity
Inherits from
Description
MappingPolicy
Policy
Statements, rules or assertions that provide coarse-granularity information about the mapping of User Domain requests to a Share.
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed, the information SHOULD NOT be considered relevant
ID [key]
URI
1
A global unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Scheme
PolicyScheme_t
1
Scheme adopted to define the policy rules
Rule
PolicyRule_t
1..*
A policy rule (for the basic policy scheme, syntax is provide in the Appendix)
Attribute
Type
Mult.
Unit
Description
No extra properties are defined in the specialized entity.
Association End
Mult.
Description
Share.ID <<abstract>>
1
A mapping policy is related to a share.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
UserDomain.ID
1..*
An access policy is related to a user domain.
Conceptual Model of the Cloud Computing Service
The conceptual model of the Cloud Infrastructure as a Service is based on the main entities and uses specializations of the Service, Endpoint, Share, Manager and Resource. Further cloud computing related concepts such as Computing Image, Service Price and Benchmark are introduced.

Figure 3 Entities and relationships for the Cloud Compute Service conceptual model.
In this section, we extensively use the concepts of Virtual Machine (VM), Virtual Machine status (halted, pending, running, suspended), Virtual Accelerator and Cloud Middleware, these are defined as follows:
A Virtual Machine (instance) is a compute environment that runs a software configuration (for example operating system, an application server, and applications) from a given Virtual Machine image. Every VM is a fully functioning virtual computer which can be accessed via the network. The VM has a given set of virtual CPU, RAM and disk resources. The VM has usually one or more virtual network interfaces, to which are assigned public or private IPs.
A Virtual Machine is in Running state when the VM is actively consuming system resources in terms of RAM, CPU, disk and network. Some of the physical resources may be shared with other VMs or reserved for private VM usage.
A Virtual Machine is in Suspended state when the VM is not running, but it still has resources reserved on the system. A VM in suspended state usually consumes only disk space for the OS, and optionally additional disk space for RAM snapshot.
A Virtual Machine is in Pending state when the VM is in the process of gathering resources from the system (ex. acquiring VM OS disk, CPU resources, initializing system). Machines in Pending state uses system resources but are not yet available for users to access.
A Virtual Machine is in Halted state when the VM has uses no resources in the system, but its template and configuration is still stored into the system (so the machine may be started again, but with a clean configuration).
A Virtual Machine can be equipped with one or more Virtual Accelerators. A Virtual Accelerator is defined as any kind of computing device that is provided by the virtualization capability of the system to the Virtual Machine.
A Cloud Middleware is a piece of computer software that relies on virtualization capabilities to provide Virtual Machines on-demand to final users. The Cloud Middleware may provide not only virtual servers (namely Infrastructure as a Service feature), but also storage (Storage as a Service) and other rich services (Platform as a Service, etc…).
Throughout the specification, we also use the concept of Cloud Storage extent to mean the capabilities and management of the various media that exist to store data and allow data retrieval.
In the model, the Cloud service price is represented via separated CloudServicePrice entities associated to single accounted resources (eg. CPU, Memory, Disk, Network IN/OUT, Software Licensing). Each resource price is calculated on consumption or fixed fee basis and targeted to a given user base (eg. commercial, no-profit organizations, research). The total price for a CloudComputingInstance can be obtained by adding all the price elements from the associated CloudComputingImage and CloudComputingInstanceType.
A Cloud Computing service relates directly to a Cloud Infrastructure-as-a-Service (IaaS) system, which allows the user to run on-demand Virtual Appliances for computing purposes. For different Cloud computing services such as Platform-as-a-Service and Software-as-a-Service, the generic Grid platform computing model (GLUE2 Computing entities), described in Chapter 7, may be a better fit.
8.1. CloudComputingService
The CloudComputingService class is a specialization of the Service class for a service offering Cloud Infrastructure as a Service computational capacity. The CloudComputingService entity is the main logical unit, and aggregation point for several entities together modeling a computing infrastructure capability in a Cloud system. A CloudComputingService is capable of executing CloudComputingInstance on its associated resources. The resources behind the CloudComputingService are described via the CloudComputingManager, CloudComputingInstanceType, CloudComputingImage and Benchmark entities. The governing policies and status of the resources are given by the CloudComputingShare elements. The CloudComputingInstance of a CloudComputingService are submitted and controlled via a CloudComputingEndpoint.
Entity
Inerits from
Description
CloudComputingService
Service
An abstracted, logical view of software and hardware components that participate in the creation of a computational capacity in a Cloud environment, in form of Cloud Virtual Machines instances. A Cloud Computing Service exposes zero or more Cloud Computing Endpoints having well-defined interfaces, zero or more Cloud Computing Shares and zero or more Cloud Computing Managers.
The computing service is autonomous and denotes a weak aggregation among Computing Endpoints, the underlying Computing Managers and the defined Computing Shares. The Computing Service enables the identification of the whole set of entities providing the computing functionality with a persistent name.
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed, the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Capability
Capability_t
*
The provided capability according to the Open Grid Service Architecture (OGSA) architecture [OGF-GFD80] (this is the union of all values assigned to the capability attribute of the endpoints part of this service)
Type
ServiceType_t
1
The type of service according to a namespace-based classification. Examples are org.openstack or org.opennebula
QualityLevel
QualityLevel_t
1
Maturity of the service in terms of quality of the software components
StatusInfo
URI
*
Web page providing additional information like monitoring aspects
Complexity
String
0..1
Human-readable summary description of the complexity in terms of the number of endpoint types, shares and resources. The syntax should be: endpointType=X, share=Y, resource=Z.
Attribute
Type
Mult
Unit
Desciption
TotalVM
UInt32
0..1
Total number of VM known to the system (the sum of RunningVM, PendingVM, SuspendedVM and HaltedVM)
RunningVM
UInt32
0..1
The number of VM in Running state (VMs actively consuming the system resources)
PendingVM
UInt32
0..1
The number of VM in Pending state (VM in preparation to be running on the system)
SuspendedVM
UInt32
0..1
The number of VM in Suspended state (VMs not running but with reserved resources on the system)
HaltedVM
UInt32
0..1
The number of VM in Halted state (VMs not running on the system with no resources reserved)
AUP
URI
0..1
Link to the service Acceptable User Policy (AUP) or Terms and Conditions for the usage of the service. This shall be in URL format.
Association End
Mult.
Description
CloudComputingEndpoint.ID
*
A CloudComputingService is associated with zero or more endpoints (interfaces)
CloudComputingShare.ID
*
A CloudComputingService offers zero or more computing shares.
CloudComputingManager.ID
*
A CloudComputingService offers zero or more computing manager.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
Contact.ID
*
A Cloud computing service has zero or more contacts.
Location.ID
0..1
A Cloud computing service is primarily located at a location.
Service.ID
*
A Cloud computing service is related to zero or more services.
A simple CloudComputingService is formed by a CloudComputingEndpoint exposing an interface for VM instantiation and control. The CloudComputingService always aggregates CloudComputingEndpoints, CloudComputingShares, CloudComputingManagers, CloudComputingImage and CloudComputingInstanceType forming a connected set. In other words, Endpoint A exposing InstanceType A and Image A served by Manager A via Share A and Endpoint B exposing InstanceType B and Image B served by Manager B via Share B form two different Computing Services. On the other hand, Endpoint A exposing InstanceType A and Image A served by Manager A via Share A and Endpoint B exposing InstanceType A and Image A served by Manager A via Share B form a single Computing Service.
CloudComputingEndpoint
The CloudComputingEndpoint is a specialization of the Endpoint class for a service possessing cloud Infrastructure-as-a-Service capability. The class represents an endpoint which is used to create, control and monitor Cloud computing activities. The specific information concerns service status and interface capabilities. This class provides attributes that MAY be used to publish summary information about VM instantiated via a particular Endpoint. Such attributes are optional and may not always be measurable (e.g., in the case of a stateless Endpoint which does not keep information about the VM instantiated through it).
Entity
Inherits from
Description
CloudComputingEndpoint
Endpoint
A network Endpoint for creating, monitoring, and controlling computational Cloud Activities called Virtual Machines instances. It MAY also be used to expose complementary capabilities (e.g., resource reservation, attached block storage, VM image manipulation).
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed, the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
URL
URI
1
Network location of the endpoint to contact the related service
Capability
Capability_t
*
The provided capability according to the OGSA architecture
Technology
EndpointTechnology_t
0..1
Technology used to implement the endpoint
InterfaceName
InterfaceName_t
1
Identification of the interface
InterfaceVersion
String
0..*
Version of the interface
InterfaceExtension
URI
*
Identification of an extension to the interface
WSDL
URI
*
URL of the WSDL document describing the offered interface (applies to Web Services endpoint)
SupportedProfile
URI
*
URI identifying a supported profile
Semantics
URI
*
URI of a document providing a human-readable description of the semantics of the endpoint functionalities
Implementor
String
0..1
Main organization implementing this software component
ImplementationName
String
0..1
Name of the implementation
ImplementationVersion
String
0..1
Version of the implementation (e.g., major version.minor version.patch version)
QualityLevel
QualityLevel_t
1
Maturity of the endpoint in terms of quality of the software components
HealthState
EndpointHealthState_t
1
A state representing the health of the endpoint in terms of its capability of properly delivering the functionalities
HealthStateInfo
String
0..1
Textual explanation of the state endpoint
ServingState
ServingState_t
1
A state specifying if the endpoint is accepting new requests and if it is serving the already accepted requests
StartTime
DateTime_t
0..1
The timestamp for the start time of the endpoint
Authentication
EndpointAuthentication_t
0..1
Name of the authentication method supported by the endpoint.
IssuerCA
DN_t
0..1
Distinguished name of Certification Authority issuing the certificate for the endpoint
TrustedCA
DN_t
*
Distinguished name of the trusted Certification Authority (CA), i.e., certificates issued by the CA are accepted for the authentication process
DowntimeAnnounce
DateTime_t
0..1
The timestamp for the announcement of the next scheduled downtime
DowntimeStart
DateTime_t
0..1
The starting timestamp of the next scheduled downtime
DowntimeEnd
DateTime_t
0..1
The ending timestamp of the next scheduled downtime
DowntimeInfo
String
0..1
Description of the next scheduled downtime
Association End
Mult.
Description
CloudComputingService.ID
[redefines Service.ID]
1
A Cloud endpoint is part of a Cloud Computing Service.
CloudComputingShare.ID [redefines Share.ID]
*
A Cloud endpoint MAY pass activities to zero or more Cloud computing shares.
CloudComputingInstance.ID
[redefines Activity.ID]
*
An Cloud endpoint has accepted and is managing zero or more Cloud Activities.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
AccessPolicy.ID
*
A computing endpoint has assocated zero or more AccessPolicies.
CloudComputingShare
The CloudComputingShare class is the specialization of the main Share class for cloud Infrastructure-as-a-Service. A CloudComputingShare is a high-level concept introduced to model a utilization target for a pool of resources, sometimes referred to as Zones or Sites, defined by a homogeneous set of configuration parameters and characterized by single status information. A CloudComputingShare carries information about "policies" (limits) defined over all or a subset of resources and describes their dynamic status (load).
The CloudComputingShare stores also a set of CloudComputingImage and CloudComputingInstanceType, which are used to define respectively the virtual OS and the virtual hardware resources of the CloudComputingInstance running on the share. Such virtual OS and hardware resources are provided by the Share with a given Service Level Agreement (SLA). In case of the same CloudComputingInstanceType and CloudComputingImage are offered under different SLAs, multiple CloudComputingShares shall be created, one for each SLA.
Entity
Inherits from
Description
CloudComputingShare
Share
A utilization target for a set of Cloud Computing Instance Types and Cloud Computing Images, defined by a set of homogeneous configuration parameters and characterized by single status information.
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Description
String
0..1
Description of this share
Attribute
Type
Mult.
Unit
Description
TotalVM
UInt32
0..1
Total number of VM known to this computing share (the sum of RunningVM, PendingVM, SuspendedVM, HaltedVM)
RunningVM
UInt32
0..1
The number of VM running into this computing share
PendingVM
UInt32
0..1
The number of VM in Pending state (VM in preparation to be running on the system)
SuspendedVM
UInt32
0..1
The number of VM in suspended state (VMs not running but with reserved resources on this computing share)
HaltedVM
UInt32
0..1
The number of VM in Halted state (VMs not running on the system with no resources reserved on this computing share)
MaxVM
UInt32
0..1
The maximum number of VM instances that can run on this share
InstanceMaxCPU
UInt32
0..1
The maximum number of Virtual CPU which can be assigned to a single VM for the VM in this share. Virtual CPU refers to CPUs as seen by the VM. .
InstanceMaxRAM
UInt32
0..1
MB
The maximum value (in MB) of virtual RAM memory which can be assigned to a single VM for the VM in this share. With virtual RAM memory it is intended the amount of RAM seen by the VM OS, not the physical RAM dedicated to the VM
NetworkInfo
NetworkInfo_t
*
The type of internal network connection available among the managed Hosts. If many values are published then the various types of network MAY be available only within subsets of the Hosts; the Hosts properties SHOULD publish this information.
DefaultNetworkType
NetworkType_t
0..1
The default network type that will be setup for an instance (e.g. public, private, private_only…)
PublicNetworkName
String
0..1
The name of the public network if any.
SLA
String
0..1
Service Level Agreement for the VMs under this share. This can be an URL to the SLA document or a keyword representing the SLA itself (eg. 99.99% availability, best effort, etc…)
ProjectID
String
0..1
The native identifier of the corresponding local project to be used for this share (e.g. used by API users to know what is the project_id for OpenStack)
Association End
Mult.
Description
CloudComputingEndpoint.ID
[redefines Endpoint.ID]
*
A Cloud computing share MAY be consumed via one or more computing endpoints.
CloudComputingInstanceType.ID
[redefines Resource.ID]
*
A Cloud computing share is defined on one or more computing resources.
CloudComputingService.ID
[redefines Service.ID]
1
A Cloud computing share participates in a computing service.
CloudComputingInstance.ID
[redefines Activity.ID]
*
A Cloud computing share is being consumed by zero or more computing activities.
CloudComputingImage.ID
*
A Cloud computing share provides zero or more VM Image templates
CloudToStorageService.ID
*
Link to the storage share used to store instances templates, VM images and/or attached disks
CloudComputingShareAccelerator.ID
*
A Cloud computing share provides zero or more sets of information about the usage level of virtual accelerator devices.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
MappingPolicy.ID
*
A share has zero or more mapping policies.
CloudComputingShareAccelerator
The CloudComputingShareAccelerator contains all the information about the consumption of the virtual accelerator device bound to the cloud computing share.
Entity
Inherits from
Description
CloudComputingShareAccelerator
Entity
The consumption of the virtual accelerator device for a given cloud computing share
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Type
AccType_t
1
The virtual accelerator architecture type.
MaxNumber
UInt32
0..1
The maximum number of virtual accelerators that can be assigned to a single VM for any VM in this share.
Association End
Mult.
Description
CloudComputingShare.ID
1
A set of virtual accelerator information is related to a cloud computing share.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
CloudComputingManager
The CloudComputingManager class is a specialization of the Manager class for the computational capability (Virtual Machines) manager. The CloudComputingManager is responsible for the local control of resources. The CloudComputingManager layer may not be exposed directly to external clients or to the Virtual Machines themselves.
The Virtual Machine manager, also known as Cloud Middleware, normally uses a hypervisor, a piece of software, firmware or hardware which creates, runs and manages Virtual Machines or possibly containers. A Cloud Computing Service will usually have only one Cloud Computing Manager, but MAY have more. The class provides aggregated information on controlled resources, limits and also describes local storage extents accessible to the Virtual Machines.
Entity
Inherits from
Description
CloudComputingManager
Manager
A software component locally managing one or more Cloud Instance Type virtual environments. It MAY also describe aggregated information about the managed resources. The Cloud Computing Manager is also known as Cloud Middleware.
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated.
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant.
ID [key]
URI
1
A globally unique ID .
Name
String
0..1
Human-readable name.
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax.
ProductName
String
1
Name of the software product adopted as manager.
ProductVersion
String
0..1
Version of the software product adopted as manager.
Attribute
Type
Mult.
Unit
Description
HypervisorName
String
0..1
Name of the underlying hypervisor that creates, runs and manages Virtual Machines.
HypervisorVersion
String
0..1
Version of the hypervisor.
TotalCPUs
UInt32
0..1
Ph.CPU
The total number of physical CPUs accessible via any of the available Endpoints and managed by this Cloud Compute Manager. This value SHOULD represent the total installed capacity, i.e. including resources which are temporarily unavailable.
TotalRAM
UInt32
0..1
MB
The total amount of RAM accessible via any of the available Endpoints and managed by this Cloud Compute Manager. This value SHOULD represent the total installed capacity, i.e. including resources which are temporarily unavailable.
InstanceMaxCPU
UInt32
0..1
The maximum number of Virtual CPU which can be assigned to a single VM. (Virtual CPU refers to the CPU cores as seen by the VM OS).
InstanceMinCPU
UInt32
0..1
The minimum number of Virtual CPU which can be assigned to a single VM (Virtual CPU refers to the CPU cores as seen by the VM OS)
InstanceMaxRAM
UInt32
0..1
MB
The maximum value (in MB) of virtual RAM memory which can be assigned to a single VM (with virtual RAM memory it is intended the amount of RAM seen by the VM OS, not the phy sical RAM dedicated to the VM).
InstanceMinRAM
UInt32
0..1
MB
The minimum value (in MB) of virtual RAM memory which can be assigned to a single VM (with virtual RAM memory it is intended the amount of RAM seen by the VM OS, not the phy sical RAM dedicated to the VM).
InstanceMaxDedicatedRAM
UInt32
0..1
MB
The maximum value (in MB) of virtual RAM memory which can be dedicated to a VM (i.e. physical host memory, not shared of swapped).
InstanceMinDedicatedRAM
UInt32
0..1
MB
The minimum value (in MB) of virtual RAM memory which can be dedicated to a VM (i.e. physical host memory, not shared of swapped).
NetworkVirtualizationType
NetVirtualizationT_t
*
The type of network virtualization performed by the Cloud Computing Manager to segregate VMs VLANs (ex. none, vSwitch, ebtables, etc…).
CPUVirtualizationType
CPUVirtualizationT_t
*
The type of CPU virtualization (ex. full/paravirtualization/hardware assisted).
VirtualDiskFormat
DiskVirtualizationT_t
*
The format of virtual disk images supported (ex. qcow2, raw, vmdk).
Failover
ExtendedBoolean_t
0..1
Failover is the automatic transition of the VM to a secondary machine or server upon failure of the primary component.
LiveMigration
ExtendedBoolean_t
0..1
If true the Cloud Computing Manager allows to move the virtual machine from one physical host to another without powering down the system.
VMBackupRestore
ExtendedBoolean_t
0..1
If true the Cloud Computing Manager allows to backup and restore the virtual machines. This is a static value and does not ensure the availability of the storage for the backup.
Association End
Mult.
Description
CloudComputingService.ID
[redefines Service.ID]
1
A cloud computing manager participates in a computing service.
CloudComputingInstanceType.ID
[redefines Resource.ID]
*
A cloud computing manager manages one or more cloud computing instance type.
CloudComputingImage.ID
*
A cloud computing manager manages one or more cloud computing images.
Benchmark.ID
*
A cloud computing manager has zero or more associated benchmarks. These benchmarks are referred to the virtual resources (RAM, CPU, disk, network) provided to the VMs.
CloudComputingManagerAccelerator.ID
*
A cloud computing manager controls zero or more virtual accelerator devices.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
CloudComputingManagerAccelerator
The CloudComputingManagerAccelerator contains all the information about the virtual accelerator device available for a given cloud computing manager.
Entity
Inherits from
Description
CloudComputingManager
Accelerator
Entity
The set of information about the virtual accelerator device provided by the cloud computing manager.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Type
AccType_t
1
The virtual accelerator architecture type.
TotalNumber
UInt32
0..1
The total number of physical Accelerator cards accessible through any of the available Endpoints and managed by this Cloud Compute Manager. This value SHOULD represent the total installed capacity, i.e. including resources which are temporarily unavailable.
MaxNumber
UInt32
0..1
The maximum number of virtual accelerators that can be assigned to a single VM
MinNumber
UInt32
0..1
The minimum number of virtual accelerators that can be assigned to a single VM
Association End
Mult.
Description
CloudComputingManager.ID
1
A set of virtual accelerator information is related to a cloud computing share.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
CloudComputingInstanceType
The CloudComputingInstanceType class describes the hardware environment of the VM, i.e. the amount of RAM, CPU, disk and network resources the VM OS will see and manage. The resources provided to the VM are virtual resources, usually shared with other VMs running in the same infrastructure. The performances of the provided resources are specified via the Benchmarks associated to the Instance Type.
Entity
Inherits from
Description
CloudComputingInstanceType
Resource
A type of environment available to the CloudComputingManager for running a VM in a ComputingService via a Computing Endpoint; the type of environment is described in terms of hardware, operating system and network characteristics.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
TemplateID
String
1
Reference to this particular template to be used during instantiation of a VM via the Endpoint.
MarketplaceURL
URI
*
Reference to one or more marketplaces which stores the metadata of this resource template. Reference is the URL of the resource in the marketplace.
Platform
Platform_t
1
The platform architecture provided to the virtual machine (ex. i386, x86_64)
CPU
UInt32
1
Number of virtual cores provided to the virtual machine (this is the number of core the machine OS will see)
RAM
UInt32
1
MB
Virtual RAM memory provided to the virtual machine (this is the total wuantity of RAM the machine OS will see)
Disk
UInt32
0..1
GB
Size of the disk associated to the OS image. If this attribute is omitted, the OS disk size will be the one specified by the CloudComputingImage entity, otherwise the CloudComputingImage OS disk will be extended to this value.
EphemeralStorage
UInt32
0..1
GB
Amount of Ephemeral storage associated to the VM. This is temporary storage which is deleted after the VM closure and is represented as a new resource.
NetworkIn
ExtendedBoolean_t
0..1
True if direct inbound network connectivity is available to the OS, even if limited, e.g. by firewall rules.
NetworkOut
ExtendedBoolean_t
0..1
True if direct outbound network connectivity is available to the OS, even if limited, e.g. by firewall rules.
NetworkPortsIn
NetworkConfigurationPort_t
*
The allowed inbound external connectivity ports (if not specified, all ports are allowed)
NetworkPortsOut
NetworkConfigurationPort_t
*
The allowed outbound external connectivity ports (if not specified, all ports are allowed)
NetworkInfo
NetworkInfo_t
*
The type of internal network connection available to the OS.
Association End
Mult.
Description
CloudComputingManager.ID
[redefines Manager.ID]
1
Cloud Computing Instance Type is managed by a Cloud computing manager.
CloudComputingShare.ID
[redefines Share.ID]
*
Cloud Computing Instance Type is served by a set of computing shares.
CloudComputingInstance.ID
[redefines Activity.ID]
*
Zero or more cloud computing instances runs this Cloud Computing Instance Type.
CloudComputingEndpoint.ID
*
Cloud Computing Instance Type is available on a set of Cloud Computing Endpoints.
CloudComputingVirtualAccelerator.ID
*
A cloud computing instance type provides zero or more virtual accelerator devices.
CloudServicePrice.ID
*
The price metric associated to the resources provided by this template. It contains a different metric for each resource (Computing, Memory, Network IN/OUT)
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
The associated CloudServicePrice entities define the price for the entire template or separately for each one of the resources (eg. CPU, Memory, Disk, Network IN/OUT) provided by the infrastructure. Price element associated to the CloudComputingInstanceType contributes separately to the final price of the VM, together with the other price elements associated to the CloudComputingImage.
CloudComputingVirtualAccelerator
The CloudComputingVirtualAccelerator is an entity used to describe a set of homogeneous virtual accelerator devices. Generally a virtual accelerator device corresponds to physical one installed on the host. A Cloud Computing InstanceType may be associated with one or more CloudComputing Virtual Accelerator .
Entity
Inherits from
Description
CloudComputingVirtualAccelerator
Entity
Description of the accelerator device
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Type
AccType_t
1
The type of virtual accelerator device.
Number
UInt32
1
The number of virtual accelerators provided to the virtual machine (usually this is the number of cards the machine OS will see)
Vendor
String
0..1
The name of the virtual accelerator vendor provided to the virtual machine. Free format, but it SHOULD correspond to the name by which the vendor is generally known.
Model
String
0..1
The name of the virtual accelerator model, as defined by the vendor, provided to the virtual machine
Version
String
0..1
The specific version of the virtual accelerator model, as defined by the vendor, provided to the virtual machine.
ClockSpeed
UInt32
0..1
MHz
The nominal clock speed of the virtual accelerator, provided to the virtual machine.
Memory
UInt32
0..1
MB
The nominal memory size of the virtual accelerator, provided to the virtual machine.
ComputeCapability
String
*
The reference, an ID or tag, representing the set of features supported by a virtual accelerator, as declared by the vendor
VirtualizationType
VirtType_t
0..1
The virtualization mode adopted for creating the virtual accelerator device.
Association End
Mult.
Description
CloudComputingInstanceType.ID
1
A virtual accelerator is associated with one CloudComputingInstanceType.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
CloudComputingImage
The CloudComputingImage class describes the software environment of the VM, i.e. which OS is booting at VM startup and which pre-installed software is available on it. Each application installed on the OS is identified by a name (the InstalledSoftware attribute); these names are not defined within the schema, but SHOULD be assigned in a way which allows applications to be uniquely identified. In some deployment scenarios, the definition of namespace-based InstalledSoftware or guidelines for the generation of unique application names MAY be specified, and application repository services relying on those application names MAY be provided. This aspect is considered out of scope for the GLUE schema specification, but MAY be included in a profile document for a specific production Clouds.
The CloudComputingImage can be used to describe specific OS features, particular OS configuration, installed application software or special environment setups in terms of a simple tag string. In this case, the InstalledSoftware attribute should be used to publish this tag.
The properties of installed software may vary substantially, but the attributes of the class cover the most common cases, in particular for licensed software. If necessary, additional information MAY be added using the OtherInfo attribute and the Extension class.
The OS template may require a certain amount of resources (CPU, RAM and GPU) to run. These requirements are specified in terms of minimum and recommended requirements, which will lead the user to the proper selection of virtual resources needed by the VM.
Entity
Inherits from
Description
CloudComputingImage
Entity
A description of installed OS and applications or OS environment characteristics and configuration available for VM instantiation.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
TemplateID
String
1
Reference to this particular template to be used during instantiation of a VM via the Endpoint.
MarketplaceURL
URI
*
Reference to one or more marketplaces which stores the metadata of this instance. Reference is the URL of the resource in the marketplace.
OSPlatform
Platform_t
1
The platform architecture to which the OS belongs (ex. i386, x86_64)
OSFamily
OSFamily_t
1
The general family to which the OS belongs.
OSName
OSName_t
0..1
The specific name of the OS.
OSVersion
String
0..1
The version of the OS, as defined by the vendor.
DiskSize
UInt32
1
GB
Size of the OS disk image in GB.
RecommendedCPU
UInt32
0..1
Number of virtual CPU cores recommended to run the image (this is a recommended value, actual number of cores will depend on the selected CloudComputeInstanceType)
RecommendedRAM
UInt32
0..1
MB
Virtual RAM memory recommended to run the image (this is a recommended value, the actual RAM value will depend on the selected CloudComputeInstanceType)
MinCPU
UInt32
0..1
Minimum number of virtual CPU cores required to run the image (the actual number of cores will depend on the selected CloudComputeInstanceType)
MinRAM
UInt32
0..1
MB
Minimum virtual RAM memory required to run the image (the actual RAM value will depend on the selected CloudComputeInstanceType)
AccessInfo
HostAccessInfo_t
1
Information about user access to the VM. Can be: credentials injected during contextualization, pre-defined username/password, pre-defined RSA key
ContextualizationName
ContextualizationName_t
0..1
Supported contextualization mechanism (if any)
ContextualizationVersion
String
*
Supported contextualization mechanism versions
DefaultUsername
String
0..1
Pre-defined username to access the VM (if AccessInfo specify pre-defined credentials)
DefaultPassword
String
0..1
Pre-defined password (or RSA private key) to access the CM (if AccessInfo specify pre-defined credentials)
InstalledSoftware
String
*
Custom software installed on the instance.
Description
String
0..1
Description of the image.
Version
String
0..1
Version of the image.
Association End
Mult.
Description
CloudComputingManager.ID
[redefines Manager.ID]
1
Cloud Computing Image is managed by a Cloud computing manager.
CloudComputingShare.ID
1..*
An OS template is available to one or more computing shares
CloudComputingInstance.ID
*
An OS template is used by one or more computing activities
CloudComputingEndpoint.ID
*
An OS template is available on a set of Cloud Computing Endpoints.
CloudServicePrice.ID
*
The price metric associated to the resources provided by this template. It contains a different metric for each resource (OS License, Application license, etc…)
CloudToStorageService.ID
0..1
Link to the OS disk location in the storage service.
CloudComputingImageNetworkTraffic.ID
*
An image may contain information about multiple NetworkTraffic objects.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
The price item linked to this entity represent a single price voice of the final bill, usually related to OS or applicantion licensing price. The linked price values need to be added to the prices in the CloudComputingInstanceType to determinate the final price associated to an active instance.
The OS disk size specified in the CloudComputingImage is the minimum disk size who need to be provided by the CloudComputingInstanceType for a VM to be instantiated correctly. If the CloudComputingInstanceType has no OS disk size associated, the VM OS disk size will be the one specified by the CloudComputingImage, otherwise, the VM OS disk will be enlarged to the size specified by the CloudComputingInstanceType.
CloudComputingImageNetworkConfiguration
The CloudComputingImageNetworkConfiguration contains information about expected network usage, related to a single or a set of ports and a network address in CIDR notation of a cloud computing image. There might be zero, one or more objects for each computing image.
Entity
Inherits from
Description
CloudComputingImageNetworkConfiguration
Entity
The set of information about the network configuration of a cloud computing image.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Direction
NetworkConfigurationDirection_t
1
Information about traffic direction
Protocol
NetworkConfigurationProtocol_t
1
Information about network protocol
Port
NetworkConfigurationPort_t
1
Information about network port(s)
AddressRange
NetworkConfigurationAddressRange_t
1
Information about network address range
Association End
Mult.
Description
CloudComputingImage.ID
1
A NetworkConfiguration object is related to a cloud computing image.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
CloudComputingInstance
The CloudComputingInstance class represents a single VM (but possibly multi-VM) instance. The attributes give the instance properties and state as seen by the Cloud Computing Manager.
Entity
Inherits from
Description
CloudComputingInstance
Activity
An Activity managed by the Cloud Manager execution capability (the Computing Activity is traditionally called VM).
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Type
CloudComputingInstanceType_t
0..1
The type of this Computing Activity.
VMID
URI
1
The VM ID as assigned by the Computing Endpoint.
LocalID
String
0..1
The local ID of the VM as assigned by the Cloud Computing Manager.
State
CloudComputingInstanceState_t
1..*
The state of the VM; different state models are allowed; a state for each model is allowed provided that it has a different namespace prefix (see data type definition)
Error
String
*
Error messages as provided by the software components involved in the management of the job.
Owner
String
0..1
The identity of the VM’s owner;.
LocalOwner
String
0..1
The local user name to which the VM’s owner is mapped for the execution of this job.
ExecutionNode
String
*
A hostname associated to the Execution Environment instance (i.e., host) running the VM; multi-node VMs are described by several instances of this attribute.
UsedTotalCPUTime
UInt64
0..1
s
The total CPU time consumed so far by the VM. In case of multi-VM, this value refers to the sum of the CPU time consumed in each slot.
UsedMainMemory
UInt64
0..1
MB
The amount of RAM currently used by the VM.
UsedNetworkIn
UInt64
0..1
Kb
The amount of inbound network connectivity consumed so far by the VM. The value is measured in terms of Kb in input to the VM virtual interfaces.
UsedNetworkOut
UInt64
0..1
Kb
The amount of outbound network connectivity consumed so far by the VM. The value is measured in terms of Kb in output to the VM virtual interfaces.
ComputingManagerSubmissionTime
DateTime_t
0..1
The time when the VM instantiation was submitted to the Cloud Middelware by the user.
StartTime
DateTime_t
0..1
The time when the VM entered Running state.
ComputingManagerEndTime
DateTime_t
0..1
The time when the VM destroy request was submitted to the Cloud Middelware by the user.
EndTime
DateTime_t
0..1
The time when the VM entered Halted state.
SubmissionHost
String
0..1
The name of the host from which the VM was submitted.
SubmissionClientName
String
0..1
The name of the software client which was used to submit the VM.
OtherMessages
String
*
Optional job messages provided by either the Cloud Middelware or the Compute Manager.
Association End
Mult.
Description
CloudComputingEndpoint.ID
[redefines Endpoint.ID]
0..1
A Cloud computing activity is submitted to a computing endpoint.
CloudComputingShare.ID
[redefines Share.ID]
0..1
A Cloud computing activity is mapped into a computing share.
CloudComputingInstanceType.ID
[redefines Resource.ID]
0..1
A Cloud computing activity is executed in an execution environment.
CloudToStorageService
*
Link to the attached disks location in the storage service. The OS disk is included in this list.
CloudComputingInstanceAccelerator.ID
*
A cloud computing instance shows zero or more information about the usage level of installed virtual accelerator devices.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
UserDomain.ID
0..1
An activity is managed by a user domain.
Activity.ID
*
An activity is related to zero or more activities.
In this specification, the CloudComputingInstance may refer to a VM or to elements of collections or appliances. The description of the relationships between VMs which are part of a collection or appliance may be considered in future revisions of the specification.
CloudComputingInstanceAccelerator
The CloudComputingInstanceAccelerator contains information about the consumption of the virtual accelerator device handled by the cloud computing instance.
Entity
Inherits from
Description
CloudComputingInstance
Accelerator
Entity
The consumption of the virtual accelerator device handled by the cloud computing instance.
Inherited Attribute
Type
Mult.
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Type
AccType_t
1
The virtual accelerator architecture type.
TotalProcessingTime
UInt64
0..1
s
The total Accelerator time consumed so far by the VM. In case of multi-VM, this value refers to the sum of the Accelerator time consumed in each slot.
Association End
Mult.
Description
CloudComputingInstance. ID
1
A set of virtual accelerator information is related to a cloud computing instance.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
CloudServicePrice
The CloudServicePrice entity models the resources price in the cloud environment. This entity represents a single invoice price of the final price for the activity. This voice is related to a given consumed resource which is specified in the attributes of the entity.
The price for the given resource is represented by a fixed price or consumption model. The fixed price is independent of the resource usage and can be billed once or multiple times during the life of the Cloud Computing Instance (ex. monthly fixed prices). The consumption price needs to be multiplied by the accounted resource consumption value (present in the Cloud Computing Instance entity) in the given consumption period. Consumption prices must be specified in the same unit as per the unit of the accounted resource.
Different cost models may be applied to different users according to the scope of the Cloud Computing Instance. For example, research usage may have different pricing than commercial useage . The related scope for the price to apply is described in the entity attributes.
With the information provided by the Scope attribute, this entity MAY be used in alternative to User Domain and Access Policy entities, to discriminate which category of users have access to the resource. In this view, it MAY be defined by the user community that users category without associated cost entity for the service have no access to it.
Entity
Inherits from
Description
CloudServicePrice
Entity
Price information for a given Cloud service resource.
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
S
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
Resource
CloudResourceName_t
1
Name of the resource this price entity refers to. Can be any resource billed (CPU, Memory, Disk, Software Licenses, etc…).
Scope
ResourceScope_t
*
Usage scope required for the price to apply (eg. commercial, no-profit, research, training)
FixFee
Float32
0..1
Euro
Fixed fee to be paid for the service usage (this price is not dependent from the resource usage)
FixFeePeriod
Period_t
0..1
Billing period for the fixed price (ex. once, monthly, yearly, etc.)
ConsumptionFee
Float32
0..1
Euro/period/x
Consumption fee to be paid for the service (this price shall be specified in the same unit as per the accounted resource x)
ConsumptionFeePeriod
Period_t
0..1
Billing period for the per usage price (ex. monthly, yearly, etc.)
Association End
Mult.
Description
CloudComputingInstanceType.ID
0..*
It MAY be associated to a Computing Instance Type.
CloudComputingImage.ID
0..*
It MAY be associated to a OS template.
StorageService.ID
0..*
It MAY be associated to a Storage service.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
The entity can be associated to multiple CloudComputingInstanceType or CloudComputingImage or StorageService, but not to different class of entities at the same time.
CloudToStorageService
The CloudToStorageService class represents the case where a virtual disk is created into the Storage Service for VM usage. The disk may be attached to the VM (visible as a disk device by the VM OS) or available via other export protocols (NFS share, iSCSI, etc…).
The attributes of this entity refer to the link of the storage resource into the Storage System and the VM environment.
Entity
Inherits from
Description
CloudToStorageService
Entity
The description of a device access to a Virtual Disk attached to a VM, thus available in the VM as a virtual hardware device.
Inherited Attribute
Type
Mult
Unit
Description
CreationTime
DateTime_t
0..1
Timestamp describing when the entity instance was generated
Validity
UInt64
0..1
s
The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed,
the information SHOULD NOT be considered relevant
ID [key]
URI
1
A globally unique ID
Name
String
0..1
Human-readable name
OtherInfo
String
*
Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax
Attribute
Type
Mult.
Unit
Description
LocationID
String
0..1
Reference to this disk to be used for attaching/detaching it to a VM.
LocalPath
String
1
The link to the local storage into the VM environment (this is typically a link to a local virtual disk device)
RemotePath
String
1
The link to the storage into the remote Storage Service (this is typically a link to a virtual disk image).
Association End
Mult.
Description
CloudComputingInstance.ID
0..*
It MAY be associated to a cloud computing instance.
CloudComputingImage.ID
0..1
It MAY be associated to a OS template.
CloudComputingService.ID
1
Is associated to a cloud computing service.
StorageService.ID
1
Is associated to a storage service.
Inherited Association End
Mult.
Description
Extension.Key
*
The entity MAY be extended via key-value pairs.
The entity can be associated to multiple CloudComputingInstance, to a CloudComputingImage or to both the entities at the same time. The disk may also be temporarily disconnected to any Computing entity. This is the case of data which has been detached from all the running VMs but stays available to be attached to new VMs.
Last updated
Was this helpful?