Information technology — Cloud Data Management Interface (CDMI)

This CDMI International Standard is intended for application developers who are implementing or using cloud storage. It documents how to access cloud storage and to manage the data stored there.

Technologies de l'information — Interface de management des données du nuage informatique (CDMI)

General Information

Status
Withdrawn
Publication Date
10-Jul-2016
Current Stage
9020 - International Standard under periodical review
Start Date
15-Jul-2021
Completion Date
15-Jul-2021
Ref Project

RELATIONS

Buy Standard

Standard
ISO/IEC 17826:2016 - Information technology -- Cloud Data Management Interface (CDMI)
English language
259 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

INTERNATIONAL ISO/IEC
STANDARD 17826
Second edition
2016-07-15
Information technology — Cloud Data
Management Interface (CDMI)
Technologies de l’information — Interface de management des
données du nuage informatique (CDMI)
Reference number
ISO/IEC 17826:2016(E)
ISO/IEC 2016
---------------------- Page: 1 ----------------------
ISO/IEC 17826:2016(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2016, Published in Switzerland

All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form

or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior

written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of

the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2016 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 17826:2016(E)
Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical

Commission) form the specialized system for worldwide standardization. National bodies that are

members of ISO or IEC participate in the development of International Standards through technical

committees established by the respective organization to deal with particular fields of technical activity.

ISO and IEC technical committees collaborate in fields of mutual interest. Other international

organizations, governmental and non‐governmental, in liaison with ISO and IEC, also take part in the

work. In the field of information technology, ISO and IEC have established a joint technical committee,

ISO/IEC JTC 1.

The procedures used to develop this document and those intended for its further maintenance are

described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the

different types of document should be noted. This document was drafted in accordance with the

editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives).

Attention is drawn to the possibility that some of the elements of this document may be the subject of

patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent

rights. Details of any patent rights identified during the development of the document will be in the

Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents).

Any trade name used in this document is information given for the convenience of users and does not

constitute an endorsement.

For an explanation on the meaning of ISO specific terms and expressions related to conformity

assessment, as well as information about ISO's adherence to the World Trade Organization (WTO)

principles in the Technical Barriers to Trade (TBT) see the following
URL: www.iso.org/iso/foreword.html.

ISO/IEC 17826 was prepared by SNIA and was adopted, under the PAS procedure, by Joint Technical

Committee ISO/IEC JTC 1, Information technology, in parallel with its approval by national bodies of ISO

and IEC.

This second edition cancels and replaces the first edition (ISO/IEC 17826:2012), which has been

technically revised.
© ISO/IEC 2016 – All rights reserved  iii
---------------------- Page: 3 ----------------------
ISO/IEC 17826:2016(E)
Cloud Data Management Interface
(CDMI™)
Version 1.1.1

ABSTRACT: This CDMI International Standard is intended for application developers who are

implementing or using cloud storage. It documents how to access cloud storage and to manage the

data stored there.

This document has been released and approved by the SNIA. The SNIA believes that the ideas,

methodologies, and technologies described in this document accurately represent the SNIA goals and

are appropriate for widespread distribution. Suggestion for revision should be directed to 

http://www.snia.org/feedback/.
SNIA Technical Position
March 19, 2015
---------------------- Page: 4 ----------------------
ISO/IEC 17826:2016(E)
© SNIA
1 USAGE

2 The SNIA hereby grants permission for individuals to use this document for personal use only, and for

corporations and other business entities to use this document for internal use only (including internal

copying, distribution, and display) provided that:

1 Any text, diagram, chart, table or definition reproduced shall be reproduced in its entirety with no

alteration, and,

2 Any document, printed or electronic, in which material from this document (or any portion hereof) is

reproduced shall acknowledge the SNIA copyright on that material, and shall credit the SNIA for

granting permission for its reuse.

Other than as explicitly provided above, you may not make any commercial use of this document, sell any

13 excerpt or this entire document, or distribute this document to third parties. All rights not explicitly granted

are expressly reserved to SNIA.

Permission to use this document for purposes other than those enumerated above may be requested by

emailing tcmd@snia.org. Please include the identity of the requesting individual or company and a brief

description of the purpose, nature, and scope of the requested use.

All code fragments, scripts, data tables, and sample code in this SNIA document are made available under

22 the following license:
BSD 3-Clause Software License
Copyright (c) 2014, The Storage Networking Industry Association.

Redistribution and use in source and binary forms, with or without modification, are permitted provided

that the following conditions are met:

• Redistributions of source code must retain the above copyright notice, this list of conditions and

the following disclaimer.

• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and

the following disclaimer in the documentation and/or other materials provided with the distribution.

• Neither the name of The Storage Networking Industry Association (SNIA) nor the names of its

contributors may be used to endorse or promote products derived from this software without

specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
ii SNIA Technical Position Cloud Data Management Interface
Version 1.1.1
© ISO/IEC 2016 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC 17826:2016(E)
© SNIA
DISCLAIMER

The information contained in this publication is subject to change without notice. The SNIA makes no

warranty of any kind with regard to this specification, including, but not limited to, the implied warranties of

merchantability and fitness for a particular purpose. The SNIA shall not be liable for errors contained

herein or for incidental or consequential damages in connection with the furnishing, performance, or use of

this specification.
Suggestions for revisions should be directed to http://www.snia.org/feedback/.

Copyright © 2015 SNIA. All rights reserved. All other trademarks or registered trademarks are the property

of their respective owners.
Cloud Data Management Interface SNIA Technical Position iii
Version 1.1.1
© ISO/IEC 2016 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC 17826:2016(E)
© SNIA
Revision History
Version Date Originator Comments
1.1.1 March 19, 2015 CDMI TWG Released as a SNIA Technical Position.
iv SNIA Technical Position Cloud Data Management Interface
Version 1.1.1
© ISO/IEC 2016 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 17826:2016(E)
© SNIA
Contents

SECTION 1 - CDMI Preamble ................................................................... 1

Introduction ..........................................................................................................................................2

1 Scope ..................................................................................................................................................4

2 Normative references ........................................................................................................................4

3 Terms, acronyms, and definitions ...................................................................................................6

4 Conventions .....................................................................................................................................10

4.1 Interface format .........................................................................................................................10

4.2 Typographical conventions ........................................................................................................10

4.3 Request and response body requirements ...............................................................................11

4.4 Key word requirements .............................................................................................................11

5 Overview of cloud storage ..............................................................................................................13

5.1 Introduction ................................................................................................................................13

5.2 What is cloud storage? ..............................................................................................................13

5.3 Data storage as a Service .........................................................................................................13

5.4 Data management for cloud storage .........................................................................................15

5.5 Data and container management ..............................................................................................16

5.6 Reference model for cloud storage interfaces ...........................................................................16

5.7 Cloud Data Management Interface ...........................................................................................17

5.8 Object model for CDMI ..............................................................................................................18

5.9 CDMI metadata .........................................................................................................................19

5.10 Object ID ...................................................................................................................................20

5.11 CDMI object ID format ...............................................................................................................20

5.12 Security .....................................................................................................................................21

5.12.1 Security objectives .......................................................................................................21

5.12.2 HTTP security ...............................................................................................................22

5.12.3 Client authentication .....................................................................................................22

5.12.4 Use of TLS and HTTP ..................................................................................................23

5.12.5 Further information .......................................................................................................23

5.13 Required HTTP support ............................................................................................................23

5.13.1 RFC 2616 support requirements ..................................................................................23

5.13.2 Content-type negotiation ..............................................................................................23

5.13.3 Range support ..............................................................................................................23

5.13.4 URI escaping ................................................................................................................24

5.13.5 Use of URIs ..................................................................................................................24

5.13.6 Reserved characters ....................................................................................................25

5.14 Time representations .................................................................................................................25

5.15 Backwards compatibility ............................................................................................................25

5.15.1 Value transfer encoding ...............................................................................................25

5.15.2 Container export capabilities ........................................................................................26

5.16 Object references ......................................................................................................................26

SECTION 2 - Basic Cloud Storage ......................................................... 28

6 Data object resource operations using HTTP ...............................................................................29

6.1 Overview ...................................................................................................................................29

6.2 Create a data object using HTTP ..............................................................................................29

6.2.1 Synopsis .......................................................................................................................29

Cloud Data Management Interface SNIA Technical Position v
Version 1.1.1
© ISO/IEC 2016 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC 17826:2016(E)
© SNIA

6.2.2 Capabilities ...................................................................................................................29

6.2.3 Request headers ..........................................................................................................30

6.2.4 Request message body ................................................................................................30

6.2.5 Response headers .......................................................................................................30

6.2.6 Response message body .............................................................................................30

6.2.7 Response status ...........................................................................................................30

6.2.8 Example .......................................................................................................................31

6.3 Read a data object using HTTP ................................................................................................31

6.3.1 Synopsis .......................................................................................................................31

6.3.2 Capabilities ...................................................................................................................31

6.3.3 Request header ............................................................................................................31

6.3.4 Request message body ................................................................................................31

6.3.5 Response headers .......................................................................................................32

6.3.6 Response message body .............................................................................................32

6.3.7 Response status ...........................................................................................................32

6.3.8 Examples ......................................................................................................................32

6.4 Update a data object using HTTP .............................................................................................33

6.4.1 Synopsis .......................................................................................................................33

6.4.2 Capabilities ...................................................................................................................33

6.4.3 Request headers ..........................................................................................................33

6.4.4 Request message body ................................................................................................34

6.4.5 Response header .........................................................................................................34

6.4.6 Response message body .............................................................................................34

6.4.7 Response status ...........................................................................................................34

6.4.8 Examples ......................................................................................................................34

6.5 Delete a data object using HTTP ..............................................................................................35

6.5.1 Synopsis .......................................................................................................................35

6.5.2 Capability ......................................................................................................................35

6.5.3 Request headers ..........................................................................................................35

6.5.4 Request message body ................................................................................................35

6.5.5 Response headers .......................................................................................................35

6.5.6 Response message body .............................................................................................35

6.5.7 Response status ...........................................................................................................36

6.5.8 Example .......................................................................................................................36

7 Container object resource operations using HTTP ......................................................................37

7.1 Overview ...................................................................................................................................37

7.2 Create a container object using HTTP ......................................................................................37

7.2.1 Synopsis .......................................................................................................................37

7.2.2 Capability ......................................................................................................................37

7.2.3 Request headers ..........................................................................................................38

7.2.4 Request message body ................................................................................................38

7.2.5 Response headers .......................................................................................................38

7.2.6 Response message body .............................................................................................38

7.2.7 Response status ...........................................................................................................38

7.2.8 Example .......................................................................................................................38

7.3 Read a container object using HTTP ........................................................................................38

7.4 Update a container object using HTTP .....................................................................................38

7.5 Delete a container object using HTTP .......................................................................................39

7.5.1 Synopsis .......................................................................................................................39

7.5.2 Capability ......................................................................................................................39

7.5.3 Request headers ..........................................................................................................39

7.5.4 Request message body ................................................................................................39

7.5.5 Response headers .......................................................................................................39

7.5.6 Response message body .............................................................................................39

7.5.7 Response status ...........................................................................................................40

7.5.8 Example .......................................................................................................................40

7.6 Create (POST) a new data object using HTTP .........................................................................40

vi SNIA Technical Position Cloud Data Management Interface
Version 1.1.1
© ISO/IEC 2016 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 17826:2016(E)
© SNIA

7.6.1 Synopsis .......................................................................................................................40

7.6.2 Capabilities ...................................................................................................................41

7.6.3 Request headers ..........................................................................................................41

7.6.4 Request message body ................................................................................................41

7.6.5 Response header .........................................................................................................41

7.6.6 Response message body .............................................................................................42

7.6.7 Response status ...........................................................................................................42

7.6.8 Examples ......................................................................................................................42

SECTION 3 - CDMI Core ......................................................................... 43

8 Data object resource operations using CDMI ...............................................................................44

8.1 Overview ...................................................................................................................................44

8.1.1 Data object metadata ...................................................................................................45

8.1.2 Data object consistency ...............................................................................................45

8.1.3 Data object representations .........................................................................................46

8.2 Create a data object using CDMI ..............................................................................................46

8.2.1 Synopsis .......................................................................................................................46

8.2.2 Delayed completion of create .......................................................................................46

8.2.3 Capabilities ...................................................................................................................47

8.2.4 Request headers ..........................................................................................................47

8.2.5 Request message body ................................................................................................48

8.2.6 Response headers .......................................................................................................51

8.2.7 Response message body .............................................................................................51

8.2.8 Response status ...........................................................................................................52

8.2.9 Examples ......................................................................................................................52

8.3 Read a data object using CDMI ................................................................................................55

8.3.1 Synopsis .......................................................................................................................55

8.3.2 Capabilities ...................................................................................................................55

8.3.3 Request headers ..........................................................................................................56

8.3.4 Request message body ................................................................................................56

8.3.5 Response headers .......................................................................................................56

8.3.6 Response message body .............................................................................................57

8.3.7 Response status ...........................................................................................................59

8.3.8 Examples ......................................................................................................................59

8.4 Update a data object using CDMI .............................................................................................62

8.4.1 Synopsis .......................................................................................................................62

8.4.2 Capabilities ...................................................................................................................63

8.4.3 Request headers ..........................................................................................................63

8.4.4 Request message body ................................................................................................64

8.4.5 Response header .........................................................................................................67

8.4.6 Response message body .............................................................................................67

8.4.7 Response status ...........................................................................................................67

8.4.8 Examples ......................................................................................................................67

8.5 Delete a data object using CDMI ...............................................................................................71

8.5.1 Synopsis .......................................................................................................................71

8.5.2 Capability ......................................................................................................................71

8.5.3 Request header ............................................................................................................71

8.5.4 Request message body ................................................................................................71

8.5.5 Response headers .......................................................................................................71

8.5.6 Response message body .............................................................................................71

8.5.7 Response status ...........................................................................................................72

8.5.8 Example .......................................................................................................................72

9 Container object resource operations using CDMI ......................................................................73

9.1 Overview ...................................................................................................................................73

Cloud Data Management Interface SNIA Technical Position vii
Version 1.1.1
© ISO/IEC 2016 – All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC 17826:2016(E)
© SNIA

9.1.1 Container metadata ......................................................................................................74

9.1.2 Reserved container names ..........................................................................................74

9.1.3 Container object addressing ..................................................................

...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.