CDMI(Cloud Data Management Interface)接口标准1.0版由SNIA草拟,于2010年4月发布。对于云计算来说,CDMI提供了通用云计算管理基础架构,同时原本信息管理的重点已渐渐从储存管理转移围绕在数据管理上。CDMI标准则可以协助用户将特殊诠释数据(Metadata)标记在数据上,该诠释数据会告诉端点储存供货商,什么样的数据服务提供该数据(例如备份、归档、加密等)。
云计算基础架构管理可同时支持OCCI及CDMI两种标准接口。为了达成协同运作,CDMI内含可导出OCCI接口所获得的信息,OCCI则提供被导出CDMI容器相对应的储存。
OCCI及CDMI可说是专门让云计算及云储存达成协同运作的标准化作业。该标准是通过OGF与SNIA两者间的策略联盟,以及通过跨SDO云标准协同小组之协调一致才达成。OCCI可充份利用CDMI已配置好,以及设定完成的储存。一旦两个接口采用相同原理及技术,单一用户将能同时管理应用程序的计算与储存需求,并且符合配置在两接口上需求的同时扩展。
1.0版CDMI接口标准主要内容如下:CDMI 1.0 (April 12, 2010) SNIA Technical Position iii
Contents
Foreword ............................................. ix
Introduction ......................................... x
1 Scope ...............................................1
2 References ..........................................2
3 Conventions .........................................3
3.1 Interface Format ..................................3
3.2 Typographical Conventions ...................3
4 Terms .............................................4
5 Overview of Cloud Storage .........................7
5.1 Introduction ..................................7
5.2 What is Cloud Storage? ........................7
5.3 Data Storage as a Service ....................7
5.4 Data Management in the Cloud ......................................10
5.5 Data and Container Management .....................................11
5.6 Reference Model for Cloud Storage Interfaces ......................12
5.7 SNIA Cloud Data Management Interface .............................13
5.8 Object Model for CDMI ........................13
5.9 CDMI Metadata ...................................14
5.10 Object ID ............................................15
5.11 CDMI Object ID Format .......................15
5.12 Security ..............................................16
6 Common Operations .................................18
6.1 Discover the Capabilities of a Cloud Storage Provider ............18
6.2 Create a New Container ......................19
6.3 Create a Data Object in a Container ..............................19
6.4 List the Contents of a Container ................................20
6.5 Read the Contents of a Data Object ...............................20
6.6 Read Only the Value of a Data Object ............................21
6.7 Delete a Data Object ...........................21
7 Interface Specification ..............................22
7.1 HTTP Status Codes ............................22
7.2 Types of Objects in the Model ..................................22
7.3 Object References ...............................23
8 Data Objects ..............................................24
8.1 Overview ............................................24
8.1.1 Data Object Metadata ............24
8.1.2 Data Object Addressing .........24
8.1.3 Data Object Consistency ........25
8.1.4 Data Object Representations ............................................25
8.2 Create a Data Object (CDMI Content Type) ..................................25
8.3 Create a Data Object (Non-CDMI Content Type) ...........................30
8.4 Read a Data Object (CDMI Content Type) .....................................32
8.5 Read a Data Object (Non-CDMI Content Type) .............................36
8.6 Update a Data Object (CDMI Content Type) ..................................38
8.7 Update a Data Object (Non-CDMI Content Type) ..........................42
8.8 Delete a Data Object (CDMI Content Type) ...................................44
8.9 Delete a Data Object (Non-CDMI Content Type) ...........................45
9 Container Objects ......................................47
9.1 Overview ............................................47
9.1.1 Container Metadata ................48
9.1.2 Container Object Addressing ............................................48
9.1.3 Container Object Representations ....................................48
9.2 Create a Container (CDMI Content Type) ......................................48
9.3 Create a Container (Non-CDMI Content Type) ..............................53
9.4 Read a Container Object (CDMI Content Type) .............................54
9.5 Read a Container Object (Non-CDMI Content Type) .....................59
9.6 Update a Container (CDMI Content Type) .....................................61
9.7 Delete a Container Object (CDMI Content Type) ...........................65
9.8 Delete a Container Object (Non-CDMI Content Type) ...................66
9.9 Create a New Data Object (CDMI Content Type) ..........................67
9.10 Create a New Data Object (Non-CDMI Content Type) ..................73
10 Domain Objects .........................................75
10.1 Overview ............................................75
10.1.1 Domain Metadata ...................75
10.1.2 Domain Summaries ................75
10.1.3 Domain Membership ..............78
10.1.4 Domain Object Representations .......................................80
10.2 Create a Domain Object (CDMI Content Type) ..............................80
10.3 Read a Domain Object (CDMI Content Type) ................................83
10.4 Update a Domain (CDMI Content Type) ........................................87
10.5 Delete a Domain (CDMI Content Type) .........................................89
11 Queue Objects ..........................................92
11.1 Overview ............................................92
11.1.1 Notification Queues ................92
11.1.2 Logging Queues .....................94
11.1.3 Query Queues ........................95
11.1.4 Queue Object Metadata .........98
11.1.5 Queue Object Addressing .................................................98
11.1.6 Queue Object Representations .........................................98
11.2 Create a Queue Object (CDMI Content Type) ...............................99
11.3 Read a Queue Object (CDMI Content Type) ...............................103
11.4 Update a Queue Object (CDMI Content Type) ............................107
11.5 Delete a Queue Object (CDMI Content Type) ..............................109
11.6 Enqueue a New Queue Value (CDMI Content Type) ...................110
11.7 Delete a Queue Value (CDMI Content Type) ...............................113
12 Capability Objects ...................................115
12.1 Overview ..........................................115
12.1.1 Cloud Storage System-Wide Capabilities .......................116
12.1.2 Storage System Metadata Capabilities ...........................117
12.1.3 Data System Metadata Capabilities ................................118
12.1.4 Data Object Capabilities ...............................................119
12.1.5 Container Capabilities .................................................119
12.1.6 Domain Capabilities .........120
12.1.7 Queue Object Capabilities .............................................120
12.2 Read a Capabilities Object (CDMI Content Type) ........................121
13 Exported Protocols ..................................125
13.1 Exported Protocol Structure ..............126
13.2 OCCI Exported Protocol ....................126
13.3 iSCSI Exported Protocol ....................127
13.4 NFS Exported Protocol ......................127
13.5 FCOE Exported Protocol ...................127
14 Snapshots ...............................................128
15 Serialization/Deserialization ...................129
15.1 Exporting Serialized Data ..................129
15.2 Importing Serialized Data ..................129
15.2.1 Canonical Format .................130
15.2.2 Example YAML Canonical Serialized Format .................130
15.2.3 Example JSON Canonical Serialized Format ..................131
16 Metadata .......133
16.1 Access Control ..................................133
16.1.1 ACL and ACE Structure .......133
16.1.2 ACE Type .............................133
16.1.3 ACE Who ..............................134
16.1.4 ACE Flags ............................134
16.1.5 ACE Mask Bits .....................135
16.1.6 ACL Timestamp ....................136
16.1.7 ACL Evaluation Utilities ........137
16.1.8 ACL Evaluation .....................138
16.1.9 Example ACE Mask Expressions ....................................140
16.1.10 Canonical Format for ACE Hexadecimal Quantities .......140
16.1.11 JSON Format for ACLs ........141
16.2 Support for User Metadata ................142
16.3 Support for Storage System Metadata .........................................142
16.4 Support for Data System Metadata ..............................................143
16.5 Support for Data Copies ....................145
16.6 Support for Billed Elements ...............147
17 CDMI Logging .........................................149
17.1 Access to Log Data ...........................149
17.2 Object Logging ..................................149
17.3 Security Logging ................................150
17.4 Data Management Logging ...............150
17.5 Logging Security Considerations .......150
18 Retention and Hold Management ...........151
18.1 Retention Management Disciplines ..............................................151
18.2 CDMI Retention .................................151
18.3 CDMI Hold .........................................152
18.4 CDMI Deletion ...................................154
18.5 Retention Security Considerations ...............................................155
Annex A (normative)
Transport Security .................... 156
A.1 General Requirements for HTTP Implementations ......................156
A.2 Basic HTTP Security .........................157
A.3 HTTP over TLS (HTTPS) ..................157
A.3.1 Transport Layer Security (TLS) ..........................................158
Annex B (Informative)
Extending the Interface ............ 162
查询进一步信息,请访问http://www.snia.org/cdmi。