description |
---|
Section 9 |
The conceptual model of the Storage Service is based on the main entities and uses specializations of the Service, Endpoint, Share, Manager, Resource, and Activity entities. Further storage-related concepts such as StorageServiceCapacity, StorageShareCapacity and StorageAccessProtocol are also introduced.
Figure 4 Entities and relationships for the Storage Service conceptual model
As explained in Section , we use the concept of storage extent to mean the capabilities and management of the various media that exist to store data and allow data retrieval.
A StorageService represents a storage system, most often hosted by a single site, but possibly distributed over multiple sites. A StorageService makes StorageShares of given properties available to selected UserDomains, typically (not necessarily) through one or more explicitly identified StorageEndpoints. Data may be stored in or retrieved from StorageShares through one or more StorageAccessProtocols. A StorageShare is a composition of extents from one or more DataStores. StorageShares MAY overlap, i.e. map to the same underlying extent. A DataStore represents a physical device that holds data (e.g. a disk farm or a tape robot). Each DataStore is managed by a StorageManager, an instance of a particular software product identified by the ProductName and ProductVersion. StorageServiceCapacity objects summarize capacity-related information, for which details may be available associated to StorageShares and DataStores.
Entity | Inherits from | Description | ||
---|---|---|---|---|
StorageService | Service |
An abstracted, logical view of software and hardware components that participate in the creation of a storage capability in the environment. A Storage Service exposes zero or more Endpoints having well-defined interfaces, zero or more Storage Shares and zero or more Storage Managers and the related Data Stores. The Storage Service also offers zero or more Storage Access Protocols, and provides summary information about the overall amount of storage by means of the Storage Service Capacity. The Storage Service is autonomous and denotes a weak aggregation among Storage Endpoints, Storage Shares, Storage Managers, Storage Access Protocols and Storage Service Capacities. The Storage Service enables the identification of the entire set of entities providing storage 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 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 | |
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 (the namespace MAY be related to a middleware name, an organization or other concepts; org.ogf.glue is reserved for the OGF GLUE Working Group) | |
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 | Description |
No extra properties are defined in the specialized entity. | ||||
Association End | Mult. | Description | ||
StorageEndpoint.ID [redefines Endpoint.ID] |
* | A storage service exposes zero or more storage endpoints. | ||
StorageShare.ID [redefines Share.ID] | * | A storage service serves zero or more storage shares. | ||
StorageManager.ID [redefines Manager.ID] |
* | A storage service provides zero or more storage managers. | ||
StorageAccessProtocol.ID | * | A storage service offers zero or more storage access protocols. | ||
StorageServiceCapacity.ID | * | A storage service has zero or more storage service capacities. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs. | ||
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. |
The StorageServiceCapacity class summarizes capacity-related information for all the StorageShares and DataStores of a given homogeneous type. The summaries MAY be compared to the sums of the relevant StorageShareCapacity attributes for the StorageShares of the given type. Capacities of overlapping StorageShares MUST only be counted once. An inconsistency between a summary value and the corresponding sum of relevant attributes MAY occur if part of the capacity is not explicitly published, or if the attributes concerned could not all be exactly determined or recorded at the same time. The summaries MAY also be compared to the sums of the relevant attributes of the DataStores of the given type, where inconsistencies MAY arise due to similar causes.
Entity | Inherits from | Description | ||
---|---|---|---|---|
StorageServiceCapacity | Entity | Description of the size and usage of a homogenous storage extent; the storage extent is aggregated at the storage service level by type. | ||
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 |
Type | StorageCapacity_t | 1 | The type of storage capacity. | |
TotalSize | UInt64 | 0..1 | GB | The total amount of storage of this Type (the sum of free, used and reserved). |
FreeSize | UInt64 | 0..1 | GB | The amount of storage which is free for new data to be stored. This SHOULD include space occupied by cached copies of objects which can be deleted automatically to make room for new ones. |
UsedSize | UInt64 | 0..1 | GB | The amount of storage which is occupied by stored data. This SHOULD exclude space occupied by cached copies of objects which can be deleted automatically to make room for new ones. |
ReservedSize | UInt64 | 0..1 | GB | The amount of storage which is not occupied by stored data, but has been reserved for use by a specific user or group, and hence is not free for the storage of new data except in the context of that reservation. |
Association End | Mult. | Description | ||
StorageService.ID | 1 | A storage service capacity is related to one storage service. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs. |
A StorageAccessProtocol describes a protocol that can be used to store data in or retrieve data from StorageShares. The "file" protocol indicates that for ComputingServices given by ToComputingService objects the StorageShares are available through POSIX I/O. The mount point details are given by corresponding ToStorageService objects published by those ComputingServices. Most protocols require a negotiation between the client and a StorageEndpoint. For example, a StorageEndpoint implementing a version of the SRM protocol may be asked for a data transfer URL corresponding to a desired access protocol. An access protocol that does not require prior negotiation MAY be published as one or more StorageEndpoints with an InterfaceName corresponding to that protocol.
Entity | Inherits from | Description | ||
---|---|---|---|---|
StorageAccessProtocol | Entity | A type of protocol available to access the underlying storage extents. | ||
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 |
Type | StorageAccessProtocol_t | 1 | An identifier for the protocol. | |
Version | String | 1 | The version of the protocol supported by the interface, as defined by the protocol specification. | |
MaxStreams | UInt32 | 0..1 | stream | The maximum number of parallel network streams which can be used for a single data transfer operation using this protocol. |
Association End | Mult. | Description | ||
StorageService.ID | 1 | A storage access protocol is related to one storage service. | ||
ToComputingService | * | A storage access protocol MAY be used by zero or more computing services. | ||
ToCloudComputingService | * | A storage access protocol MAY be used by zero or more cloud computing services. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs. |
has an associated URL and this URL needs to be discoverable, then the Access Protocol SHOULD be also published via the StorageEndpoint class.
A StorageEndpoint represents a service that may be contacted by clients to manage StorageShares, to store or retrieve data or to perform other operations related to a storage system. The StorageEndpoint typically implements a storage control protocol specified by the InterfaceName, which allows for the manipulation of StorageShares and the properties of their data content. Access to StorageShares for storing or retrieving data often has to be negotiated through the given control protocol. The available access protocols MAY be published in StorageAccessProtocol objects. The StorageEndpoint interface MAY also be used to publish the endpoint(s) of an access protocol that does not require prior negotiation. The Storage Endpoint may be able to serve only a subset of the StorageShares within the StorageService, in which case that subset MAY be indicated through explicit associations with those StorageShares.
Entity | Inherits from | Description | ||
---|---|---|---|---|
StorageEndpoint | Endpoint | An Endpoint usable for managing Storage Shares or for accessing data stored in them; it MAY also be used to expose complementary capabilities which form part of the overall Storage Service. | ||
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 | |
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 | |
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 | |
Attribute | Type | Mult. | Unit | Description |
No extra properties are defined in the specialized entity. | ||||
Association End | Mult. | Description | ||
StorageService.ID [redefines Service.ID] |
1 | A storage endpoint is part of a storage service. | ||
StorageShare.ID [redefines Share.ID] |
* | A storage endpoint MAY pass activities to zero or more storage shares. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs. | ||
AccessPolicy.ID | * | An endpoint has assocated zero or more AccessPolicies. |
A StorageShare is a composition of extents from one or more DataStores. StorageShares that overlap, i.e. share the same underlying extent, have the same SharingID, which in that case MUST neither be empty nor the reserved string "dedicated". A DataStore represents a physical device or set of devices that are able to hold data (e.g. a disk farm or a tape robot). A StorageShare need not be composed of homogeneous devices.
The AccessLatency gives the maximum latency category for an object stored in the StorageShare to be made available for reading. For example, if the StorageShare comprises both disk and tape storage, and data may need to be recalled from tape, the published AccessLatency is "nearline", although a given data object may in fact be immediately accessible on disk.
The RetentionPolicy indicates at a coarse granularity the probability of the StorageShare losing data. For example, "custodial" represents a very low probability, while "replica" indicates that the StorageShare is not suitable for keeping the only copy of precious data, but may be used for keeping a replica of such data.
The ExpirationMode indicates what happens to data whose lifetime has expired, if ever. The Identifier allows the StorageShare to be given a tag that is meaningful for the UserDomain(s) served by the StorageShare. For example, for version 2.2 of the SRM control protocol a StorageShare would represent a Space and the Identifier the corresponding SpaceTokenUserDescription. Capacity-related information is made available through StorageShareCapacity objects. A StorageShare may not be available through StorageEndpoints not explicitly related to the Share.
Entity | Inherits from | Description | ||
---|---|---|---|---|
StorageShare | Share | A utilization target for a set of extents in Data Stores, defined by a set of configuration parameters and policies 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 | |
Description | String | 0..1 | Description of this share | |
Attribute | Type | Mult. | Unit | Description |
ServingState | ServingState_t | 1 | A state specifying whether the Share is open to place new requests, and if it is currently offering any requests already present for execution. | |
Path | String | 0..1 | A default namespace where data objects are logically placed when they are stored into this Share. This will typically be used as a prefix when generating a file name under which the data object is stored. | |
AccessMode | AccessMode_t | 0..* | An identifier for the type of access and usage allowed for this Share. | |
SharingID | LocalID_t | 1 | A local identifier common to the set of Storage Shares which use the same underlying extents, i.e. which share the same pool of storage space. (‘dedicated’ is a reserved value which means that the Storage Share extents are not shared with other Storage Shares.) | |
AccessLatency | AccessLatency_t | 1 | The maximum latency category under normal operating conditions for a data object stored in this share to be made available for reading. | |
RetentionPolicy | RetentionPolicy_t | * | The quality of data retention, which indicates the probability of the storage system losing a data object. | |
ExpirationMode | ExpirationMode_t | 0..3 | An attribute which indicates support for data objects with infinite and/or finite lifetimes, and what actions the storage service may take upon the expiration of an object lifetime. | |
DefaultLifeTime | UInt32 | 0..1 | s | The default lifetime assigned to a new data object if no explicit lifetime is specified. |
MaximumLifeTime | UInt32 | 0..1 | s | The maximum lifetime that may be requested for a data object. |
MaxObjectSize | UInt64 | 0..1 | MB | Maximum size of a data object which can be stored in this share |
MinObjectSize | UInt64 | 0..1 | MB | Minimum size of a data object which can be stored in this share |
Tag | String | 0..1 | An identifier defined by a User Domain which identifies a Share with a specific set of properties. | |
NumberOfFiles | UInt32 | 0..1 | Optional attribute that describes the number of files stored in this StorageShare | |
Association End | Mult. | Description | ||
StorageEndpoint.ID [redefines Endpoint.ID] |
* | A storage share is consumed via zero or more endpoints. | ||
DataStore.ID [redefines Resource.ID] |
* | A storage share is defined on zero or more data stores. | ||
StorageService.ID [redefines Service.ID] |
1 | A storage share participates in a storage service. | ||
StorageShareCapacity.ID | * | A storage share offers zero or more storage share capacities. | ||
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. |
The StorageShareCapacity class provides a set of attributes related to the size of the data storage extents associated with a StorageShare. One StorageShare MAY have several associated StorageShareCapacity objects of different types, which may be related either to the physical nature of the storage medium or to the intended use, e.g. accounting or resource discovery. It is therefore possible that the same physical storage MAY be reported in more than one object. The size information generally relates to the values as seen by a user of the Service, which may not correspond directly to the size of the physical storage media which underlie it. For example, disk servers may include parity disks or hot spares which are not directly visible to users.
The semantics of this class are the same as the StorageServiceCapacity class which represent the size of the entire StorageService, but the classes are different since the relations are different. In general it cannot be assumed that the StorageServiceCapacity is the sum of all the corresponding StorageShareCapacities, both because some information at the Share level MAY not be published, and because multiple StorageShare objects MAY share the same physical storage. There may also be differences in timing or accuracy in the underlying services which collect the information.
Entity | Inherits from | Description | ||
---|---|---|---|---|
StorageShareCapacity | Entity | A description of the size and usage of a homogenous storage extent available to a Storage 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 | |
Attribute | Type | Mult. | Unit | Description |
Type | StorageCapacity_t | 1 | The type of storage capacity. | |
TotalSize | UInt64 | 0..1 | GB | The total amount of storage of this Type (the sum of free, used and reserved). |
FreeSize | UInt64 | 0..1 | GB | The amount of storage which is free for new data to be stored. This SHOULD include space occupied by cached copies of objects which can be deleted automatically to make room for new ones. |
UsedSize | UInt64 | 0..1 | GB | The amount of storage which is occupied by stored data. This SHOULD exclude space occupied by cached copies of objects which can be deleted automatically to make room for new ones. |
ReservedSize | UInt64 | 0..1 | GB | The amount of storage which is not occupied by stored data, but has been reserved for use by a specific user or group, and hence is not free for the storage of new data except in the context of that reservation. |
Association End | Mult. | Description | ||
StorageShare.ID | 1 | A storage share capacity is related to one storage share. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs. |
The StorageManager class represents the software system which manages the data storage media. If different media, e.g. tape and disk, are managed by different software systems there MAY be multiple StorageManager instances for a single StorageService. In some systems there may be a number of layers of software, but this cannot be represented. At present no attributes are defined beyond those inherited from the Manager entity, i.e. the Name and Version of the software product.
Entity | Inherits from | Description | ||
---|---|---|---|---|
StorageManager | Manager | The primary software component locally managing one or more Data Stores. It MAY also be used to 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 | |
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 |
No extra properties are defined in the specialized entity. | ||||
Association End | Mult. | Description | ||
StorageService.ID [redefines Service.ID] |
1 | A storage manager participates in a storage service. | ||
DataStore.ID [redefines Resource.ID] |
* | A storage manager manages zero or more data stores. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs. |
The DataStore class represents the physical storage systems underlying the StorageService. Typically there will be one DataStore instance for each homogeneous type of storage, e.g. tape and disk. However, multiple objects of the same Type MAY be published if the storage is segmented at a high level, e.g. if there are two separate robotic tape stores. The size information relates to the physical capacity of the storage media, which may differ from the values reported in the Capacity classes.
Entity | Inherits from | Description | ||
---|---|---|---|---|
DataStore | Resource | An abstract description of a sufficiently homogeneous storage device providing a storage extent, managed by a local software component (Storage Manager), part of a Storage Service, reachable via zero or more Endpoints and having zero or more Shares defined on it. A Data Store refers to a category of storage with summary information on the storage capacity. | ||
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 |
Type | DataStoreType_t | 1 | The type of storage medium. | |
Latency | AccessLatency_t | 1 | The actual latency category under normal operating conditions for a data object stored in this Data Store. | |
TotalSize | UInt64 | 0..1 | GB | The total size of the storage extent within the Data Store (free plus used). |
FreeSize | UInt64 | 0..1 | GB | The amount of storage which is not currently occupied by stored data. |
UsedSize | UInt64 | 0..1 | GB | The amount of storage which is currently occupied by stored data. |
Association End | Mult. | Description | ||
StorageManager.ID [redefines Manager.ID] |
1 | A data store is managed by a storage manager. | ||
StorageShare.ID [redefines Share.ID] |
* | A data store provides capacity in terms of zero or more storage shares. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs. |
The ToComputingService class describes a network connection between a StorageService and a ComputingService which has a level of performance significantly better than the general WAN connection. It is assumed that such a connection applies to the entirety of those Services, i.e. to all Worker Nodes within the ComputingService and all storage within the StorageService. However, the connection MAY depend on the Access Protocol used to transfer the data. Some Access Protocols may only be available from a restricted set of Computing Services, and this may also be published using the ToComputingService class.
Entity | Inherits from | Description | ||
---|---|---|---|---|
ToComputingService | Entity | A description of the network link quality between a Storage Service and a computing service, and/or of a potentially dedicated access protocol that the Computing Service may use to access the Storage Service. | ||
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 |
NetworkInfo | NetworkInfo_t | 0..1 | The type of network connection available between the Storage Service and Computing Service. | |
Bandwidth | UInt32 | 0..1 | Mb/s | The nominal bandwidth available between the Storage Service and Computing Service via this connection. |
Association End | Description | |||
StorageAccessProtocol.ID | * | The storage service MAY be accessed via an access protocol by a certain computing service. | ||
ComputingService.ID | 1 | Is associated to a 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 ToCloudComputingService class describes a network connection between a Storage Service and a Cloud Computing Service which has a level of performance significantly better than the general WAN connection. It is assumed that such a connection applies to the entirety of those Services, i.e. to all Virtual machines within the Cloud Computing Service and all storage objects within the Cloud Storage Service. However, the connection MAY depend on the Access Protocol used to transfer the data and to restrictions in data access to the data itself. Some Access Protocols may only be available from a restricted set of Compute Services, and this may also be published using the ToCloudComputingService class.
It is important to note that this entity applies only to a CloudStorageService which relates to a given CloudComputingService (ex. to provide Block Storage to VMs of an IaaS service), not to generic Cloud Storage service such as Object Storage.
Entity | Inherits from | Description | ||
---|---|---|---|---|
ToCloudComputingService | Entity | A description of the network link quality between a Storage Service and a computing service, and/or of a potentially dedicated access protocol that the Computing Service may use to access the Storage Service. | ||
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 |
NetworkInfo | NetworkInfo_t | 0..1 | The type of network connection available between the Storage Service and Compute Service. | |
Bandwidth | UInt32 | 0..1 | Mb/s | The nominal bandwidth available between the Storage Service and Compute Service via this connection. |
Association End | Description | |||
StorageAccessProtocol.ID | * | The storage service MAY be accessed via an access protocol by a certain computing service. | ||
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. |