World Library  
Flag as Inappropriate
Email this Article

Cloud Data Management Interface

Article Id: WHEBN0032115812
Reproduction Date:

Title: Cloud Data Management Interface  
Author: World Heritage Encyclopedia
Language: English
Subject: Open Cloud Computing Interface, Cloud storage, Data management
Collection: Cloud Storage, Data Management
Publisher: World Heritage Encyclopedia

Cloud Data Management Interface

Cloud Data Management Interface
Current Status Published
Year Started 2009
Version 1.0.2
Organization Storage Networking Industry Association
Base Standards Hypertext Transfer Protocol
Related Standards Network File System
Domain Cloud computing
Abbreviation CDMI
Website CDMI Technical Working Group

The Cloud Data Management Interface--better known as CDMI--is a SNIA standard that specifies a protocol for self-provisioning, administering and accessing cloud storage.[1]

CDMI defines RESTful HTTP operations for assessing the capabilities of the cloud storage system, allocating and accessing containers and objects, managing users and groups, implementing access control, attaching metadata, making arbitrary queries, using persistent queues, specifying retention intervals and holds for compliance purposes, using a logging facility, billing, moving data between cloud systems, and exporting data via other protocols such as iSCSI and NFS. Transport security is obtained via TLS.


  • Capabilities 1
  • Containers 2
  • Objects 3
  • Domains, Users and Groups 4
  • Access Control 5
  • Metadata 6
  • Queries 7
  • Queues 8
  • Compliance 9
  • Logging 10
  • Billing 11
  • Serialization 12
  • Foreign Protocols 13
  • Client SDKs 14
  • See also 15
  • References 16
  • External links 17


Compliant implementations must provide access to a set of configuration parameters known as capabilities. These are either boolean values that represent whether or not a system supports things such as queues, export via other protocols, path-based storage and so on, or numeric values expressing system limits, such as how much metadata may be placed on an object. As a minimal compliant implementation can be quite small, with few features, clients need to check the cloud storage system for a capability before attempting to use the functionality it represents.


A CDMI client may access objects, including containers, by either name or object id (OID), assuming the CDMI server supports both methods. When storing objects by name, it is natural to use nested named containers; the resulting structure corresponds exactly to a traditional filesystem directory structure.


Objects are similar to files in a traditional file system, but are enhanced with an increased amount of and capacity for metadata. As with containers, they may be accessed by either name or OID. When accessed by name, clients use URLs that contain the full pathname of objects to create, read, update and delete them. When accessed by OID, the URL specifies an OID string in the cdmi-objectid container; this container presents a flat name space conformant with standard object storage system semantics.

Subject to system limits, objects may be of any size or type and have arbitrary user-supplied metadata attached to them. Systems that support query allow arbitrary queries to be run against the metadata.

Domains, Users and Groups

CDMI supports the concept of a domain, similar in concept to a domain in the Windows Active Directory model. Users and groups created in a domain share a common administrative database and are known to each other on a "first name" basis, i.e. without reference to any other domain or system.

Domains also function as containers for usage and billing summary data.

Access Control

CDMI exactly follows the ACL and ACE model used for file authorization operations by NFSv4. This makes it also compatible with Microsoft Windows systems.


CDMI draws much of its metadata model from the XAM specification. Objects and containers have "storage system metadata", "data system metadata" and arbitrary user specified metadata, in addition to the metadata maintained by an ordinary filesystem (atime etc.).


CDMI specifies a way for systems to support arbitrary queries against CDMI containers, with a rich set of comparison operators, including support for regular expressions.


CDMI supports the concept of persistent FIFO (first-in, first-out) queues. These are useful for job scheduling, order processing and other tasks in which lists of things must be processed in order.


Both retention intervals and retention holds are supported by CDMI. A retention interval consists of a start time and a retention period. During this time interval, objects are preserved as immutable and may not be deleted. A retention hold is usually placed on an object because of judicial action and has the same effect: objects may not be changed nor deleted until all holds placed on them are removed.


CDMI clients can sign up for logging of system, security and object access events on servers that support it. This feature allows clients to see events locally as the server logs them.


Summary information suitable for billing clients for on-demand services can be obtained by authorized users from systems that support it.


Serialization of objects and containers allows export of all data and metadata on a system and importation of that data into another cloud system.

Foreign Protocols

CDMI supports export of containers as NFS or CIFS shares. Clients that mount these shares see the container hierarchy as an ordinary filesystem directory hierarchy, and the objects in the containers as normal files. Metadata outside of ordinary filesystem metadata may or may not be exposed.

Provisioning of iSCSI LUNs is also supported.

Client SDKs

  • CDMI Reference Implementation
  • Droplet
  • libcdmi-java
  • libcdmi-python
  • .NET SDK

See also

Comparison of CDMI server implementations


  1. ^ "Cloud Data Management Interface". SNIA. Retrieved 26 June 2011. 

External links

  • ISO-8601 International Organization for Standardization, "Data elements and interchange formats -- Information interchange -- Representation of dates and times”, ISO 8601:20044
  • ITU-T509 International Telecommunications Union Telecommunication Standardization Sector (ITU-T), Recommendation X.509: Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks, May 2000. Specification and technical corrigenda -
  • POSIX ERE The Open Group, Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
  • Cloud Interoperability Plugfest project
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.