# Comparison of CDMI server implementations

| Implementation | SNIA Reference Implementation | CDMI-Serve | CDMI-Proxy | CDMI for OpenStack's Swift | onedata |
| Version | 1.0e | 238c28fc7c | 0.1 | f0e3ad9bac | 2.0 |
| CDMI Version | 1.0.2 | ? | 1.0.1 | ? | 1.0.2 |
| HTTP features ||||||
| HTTPS | ? | ? | Yes | ? | Yes |
| Basic authentication | ? | ? | Yes | ? | ? |
| Digest authentication | ? | ? | Yes | ? | ? |
| X.509 authentication | ? | ? | ? | ? | Yes |
| X.509-VOMS authentication | ? | ? | ? | ? | Yes |
| Token based authentication | ? | ? | ? | ? | Yes |
| Data access methods ||||||
| FUSE | ? | ? | ? | ? | Yes |
| GridFTP | ? | ? | ? | ? | No |
| iSCSI | Yes | ? | ? | ? | No |
| WebDAV | ? | ? | ? | ? | No |
| NFS | ? | ? | ? | ? | No |
| BUI | ? | ? | ? | ? | Yes |
| System-Wide CDMI Capabilities ||||||
| cdmi_domains | "false" | "false" | "false" | "false" | "false |
| cdmi_export_cifs | "false" | "false" | "false" | "false" | "false" |
| cdmi_dataobjects | "true" | "true" | "true" | "true" | "true" |
| cdmi_export_iscsi | "false" | "false" | "false" | "false" | "false" |
| cdmi_export_nfs | "false" | "false" | "false" | "false" | "false" |
| cdmi_export_occi_iscsi | "true" | "false" | "false" | "false" | "false" |
| cdmi_export_webdav | "false" | "false" | "false" | "false" | "false" |
| cdmi_metadata_maxitems | 1024 | ? | ? | ? | 1024 |
| cdmi_metadata_maxsize | 4096 | ? | ? | ? | 4096 |
| cdmi_metadata_maxtotalsize | ∞ | ? | ? | ? | 1048576 |
| cdmi_notification | "false" | "false" | "false" | "false" | "false" |
| cdmi_logging | "false" | "false" | "false" | "false" | "false" |
| cdmi_query | "false" | "false" | "false" | "false" | "false" |
| cdmi_query_regex | "false" | "false" | "false" | "false" | "false" |
| cdmi_query_contains | "false" | "false" | "false" | "false" | "false" |
| cdmi_query_tags | "false" | "false" | "false" | "false" | "false" |
| cdmi_query_value | "false" | "false" | "false" | "false" | "false" |
| cdmi_queues | "false" | "false" | "false" | "false" | "false" |
| cdmi_security_access_control | "false" | "false" | "false" | "false" | "true" |
| cdmi_security_audit | "false" | "false" | "false" | "false" | "false" |
| cdmi_security_data_integrity | "false" | "false" | "false" | "false" | "false" |
| cdmi_security_encryption | "false" | "false" | "false" | "false" | "false" |
| cdmi_security_immutability | "false" | "false" | "false" | "false" | "false" |
| cdmi_security_sanitization | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialization_json | "false" | "false" | "false" | "false" | "false" |
| cdmi_snapshots | "false" | "false" | "false" | "false" | "false" |
| cdmi_references | "false" | "false" | "false" | "false" | "false" |
| cdmi_object_move_from_local | "false" | "false" | "false" | "false" | "true" |
| cdmi_object_move_from_remote | "false" | "false" | "false" | "false" | "false" |
| cdmi_object_move_from_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_object_move_to_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_object_copy_from_local | "false" | "false" | "false" | "false" | "true" |
| cdmi_object_copy_from_remote | "false" | "false" | "false" | "false" | "false" |
| cdmi_object_access_by_ID | "false" | "false" | "false" | "false" | "true" |
| cdmi_post_dataobject_by_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_post_queue_by_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_deserialize_dataobject_by_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_deserialize_queue_by_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialize_dataobject_to_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialize_domain_to_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialize_container_to_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialize_queue_to_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_copy_dataobject_by_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_copy_queue_by_ID | "false" | "false" | "false" | "false" | "false" |
| cdmi_create_reference_by_ID | "false" | "false" | "false" | "false" | "false" |
| Data Object Capabilities ||||||
| cdmi_read_value | "false" | "false" | "true" | "false" | "true" |
| cdmi_read_value_range | "false" | "false" | "false" | "false" | "true" |
| cdmi_read_metadata | "false" | "false" | "true" | "false" | "true" |
| cdmi_modify_value | "false" | "false" | "true" | "false" | "true" |
| cdmi_modify_value_range | "false" | "false" | "false" | "false" | "true" |
| cdmi_modify_metadata | "false" | "false" | "true" | "false" | "true" |
| cdmi_modify_deserialize_dataobject | "false" | "false" | "false" | "false" | "false" |
| cdmi_delete_dataobject | "true" | "true" | "true" | "true" | "true" |
| cdmi_acl | "false" | "false" | "false" | "false" | "true" |
| cdmi_size | "false" | "false" | "false" | "false" | "true" |
| cdmi_ctime | "false" | "false" | "false" | "false" | "true" |
| cdmi_atime | "false" | "false" | "false" | "false" | "true" |
| cdmi_mtime | "false" | "false" | "false" | "false" | "true" |
| cdmi_acount | "false" | "false" | "false" | "false" | "false" |
| cdmi_mcount | "false" | "false" | "false" | "false" | "false" |
| cdmi_assignedsize | "false" | "false" | "false" | "false" | "false" |
| cdmi_data_redundancy | "" | "" | "" | "" | "false" |
| cdmi_data_dispersion | "false" | "false" | "false" | "false" | "false" |
| cdmi_data_retention | "false" | "false" | "false" | "false" | "false" |
| cdmi_data_autodelete | "false" | "false" | "false" | "false" | "false" |
| cdmi_data_holds | "false" | "false" | "false" | "false" | "false" |
| cdmi_encryption | | | | | "false" |
| cdmi_geographic_placement | "false" | "false" | "false" | "false" | "false" |
| cdmi_immediate_redundancy | "" | "" | "" | "" | "false" |
| cdmi_infrastructure_redundancy | "" | "" | "" | "" | "false" |
| cdmi_latency | "false" | "false" | "false" | "false" | "false" |
| cdmi_RPO | "false" | "false" | "false" | "false" | "false" |
| cdmi_RTO | "false" | "false" | "false" | "false" | "false" |
| cdmi_sanitization_method | | | | | "false" |
| cdmi_throughput | "false" | "false" | "false" | "false" | "false" |
| cdmi_value_hash | | | | | "false" |
| Container Capabilities ||||||
| cdmi_list_children | "true" | "true" | "true" | "true" | "true" |
| cdmi_list_children_range | "false" | "false" | "false" | "false" | "true" |
| cdmi_read_metadata | "false" | "false" | "true" | "false" | "true" |
| cdmi_modify_metadata | "false" | "false" | "true" | "false" | "true" |
| cdmi_modify_deserialize_container | "false" | "false" | "false" | "false" | "false" |
| cdmi_snapshot | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialize_dataobject | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialize_container | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialize_queue | "false" | "false" | "false" | "false" | "false" |
| cdmi_serialize_domain | "false" | "false" | "false" | "false" | "false" |
| cdmi_deserialize_container | "false" | "false" | "false" | "false" | "false" |
| cdmi_deserialize_queue | "false" | "false" | "false" | "false" | "false" |
| cdmi_deserialize_dataobject | "false" | "false" | "false" | "false" | "false" |
| cdmi_create_dataobject | "true" | "true" | "true" | "true" | "true" |
| cdmi_post_dataobject | "false" | "false" | "false" | "false" | "false" |
| cdmi_post_queue | "false" | "false" | "false" | "false" | "false" |
| cdmi_create_container | "true" | "true" | "true" | "true" | "true" |
| cdmi_create_queue | "false" | "false" | "false" | "false" | "false" |
| cdmi_create_reference | "false" | "false" | "false" | "false" | "false" |
| cdmi_export_container_cifs | "false" | "false" | "false" | "false" | "false" |
| cdmi_export_container_nfs | "false" | "false" | "false" | "false" | "false" |
| cdmi_export_container_iscsi | "false" | "false" | "false" | "false" | "false" |
| cdmi_export_container_occi | "false" | "false" | "false" | "false" | "false" |
| cdmi_export_container_webdav | "false" | "false" | "false" | "false" | "false" |
| cdmi_delete_container | "true" | "true" | "true" | "true" | "true" |
| cdmi_move_container | "false" | "false" | "false" | "false" | "true" |
| cdmi_copy_container | "false" | "false" | "false" | "false" | "true" |
| cdmi_move_dataobject | "false" | "false" | "false" | "false" | "true" |
| cdmi_copy_dataobject" | "false" | "false" | "false" | "false" | "true" |
| cdmi_acl | "false" | "false" | "false" | "false" | "true" |
| cdmi_size | "false" | "false" | "false" | "false" | "true" |
| cdmi_ctime | "false" | "false" | "false" | "false" | "true" |
| cdmi_atime | "false" | "false" | "false" | "false" | "true" |
| cdmi_mtime | "false" | "false" | "false" | "false" | "true" |
| cdmi_acount | "false" | "false" | "false" | "false" | "false" |
| cdmi_mcount | "false" | "false" | "false" | "false" | "false" |
| cdmi_assignedsize | "false" | "false" | "false" | "false" | "false" |
| cdmi_data_redundancy | "" | "" | "" | "" | "false" |
| cdmi_data_dispersion | "false" | "false" | "false" | "false" | "false" |
| cdmi_data_retention | "false" | "false" | "false" | "false" | "false" |
| cdmi_data_autodelete | "false" | "false" | "false" | "false" | "false" |
| cdmi_data_holds | "false" | "false" | "false" | "false" | "false" |
| cdmi_encryption | | | | | "false" |
| cdmi_geographic_placement | "false" | "false" | "false" | "false" | "false" |
| cdmi_immediate_redundancy | "" | "" | "" | "" | "false" |
| cdmi_infrastructure_redundancy | "" | "" | "" | "" | "false" |
| cdmi_latency | "false" | "false" | "false" | "false" | "false" |
| cdmi_RPO | "false" | "false" | "false" | "false" | "false" |
| cdmi_RTO | "false" | "false" | "false" | "false" | "false" |
| cdmi_sanitization_method | | | | | "false" |
| cdmi_throughput | "false" | "false" | "false" | "false" | "false" |
| cdmi_value_hash | | | | | "false" |
| Domain Object Capabilities ||||||
| cdmi_create_domain | N/A | N/A | N/A | N/A | "false" |
| cdmi_delete_domain | N/A | N/A | N/A | N/A | "false" |
| cdmi_domain_summary | N/A | N/A | N/A | N/A | "false" |
| cdmi_domain_members | N/A | N/A | N/A | N/A | "false" |
| cdmi_list_children | N/A | N/A | N/A | N/A | "false" |
| cdmi_read_metadata | N/A | N/A | N/A | N/A | "false" |
| cdmi_modify_metadata | N/A | N/A | N/A | N/A | "false" |
| cdmi_modify_deserialize_domain | N/A | N/A | N/A | N/A | "false" |
| cdmi_copy_domain | N/A | N/A | N/A | N/A | "false" |
| cdmi_deserialize_domain | N/A | N/A | N/A | N/A | "false" |
| cdmi_acl | N/A | N/A | N/A | N/A | "false" |
| cdmi_size | N/A | N/A | N/A | N/A | "false" |
| cdmi_ctime | N/A | N/A | N/A | N/A | "false" |
| cdmi_atime | N/A | N/A | N/A | N/A | "false" |
| cdmi_mtime | N/A | N/A | N/A | N/A | "false" |
| cdmi_acount | N/A | N/A | N/A | N/A | "false" |
| cdmi_mcount | N/A | N/A | N/A | N/A | "false" |
| cdmi_assignedsize | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_redundancy | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_dispersion | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_retention | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_autodelete | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_holds | N/A | N/A | N/A | N/A | "false" |
| cdmi_encryption | N/A | N/A | N/A | N/A | "false" |
| cdmi_geographic_placement | N/A | N/A | N/A | N/A | "false" |
| cdmi_immediate_redundancy | N/A | N/A | N/A | N/A | "false" |
| cdmi_infrastructure_redundancy | N/A | N/A | N/A | N/A | "false" |
| cdmi_latency | N/A | N/A | N/A | N/A | "false" |
| cdmi_RPO | N/A | N/A | N/A | N/A | "false" |
| cdmi_RTO | N/A | N/A | N/A | N/A | "false" |
| cdmi_sanitization_method | N/A | N/A | N/A | N/A | "false" |
| cdmi_throughput | N/A | N/A | N/A | N/A | "false" |
| cdmi_value_hash | N/A | N/A | N/A | N/A | "false" |
| Queue Object Capabilities ||||||
| cdmi_read_value | N/A | N/A | N/A | N/A | "false" |
| cdmi_read_metadata | N/A | N/A | N/A | N/A | "false" |
| cdmi_modify_value | N/A | N/A | N/A | N/A | "false" |
| cdmi_modify_metadata | N/A | N/A | N/A | N/A | "false" |
| cdmi_modify_deserialize_queue | N/A | N/A | N/A | N/A | "false" |
| cdmi_delete_queue | N/A | N/A | N/A | N/A | "false" |
| cdmi_move_queue | N/A | N/A | N/A | N/A | "false" |
| cdmi_copy_queue | N/A | N/A | N/A | N/A | "false" |
| cdmi_reference_queue | N/A | N/A | N/A | N/A | "false" |
| cdmi_acl | N/A | N/A | N/A | N/A | "false" |
| cdmi_size | N/A | N/A | N/A | N/A | "false" |
| cdmi_ctime | N/A | N/A | N/A | N/A | "false" |
| cdmi_atime | N/A | N/A | N/A | N/A | "false" |
| cdmi_mtime | N/A | N/A | N/A | N/A | "false" |
| cdmi_acount | N/A | N/A | N/A | N/A | "false" |
| cdmi_mcount | N/A | N/A | N/A | N/A | "false" |
| cdmi_assignedsize | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_redundancy | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_dispersion | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_retention | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_autodelete | N/A | N/A | N/A | N/A | "false" |
| cdmi_data_holds | N/A | N/A | N/A | N/A | "false" |
| cdmi_encryption | N/A | N/A | N/A | N/A | "false" |
| cdmi_geographic_placement | N/A | N/A | N/A | N/A | "false" |
| cdmi_immediate_redundancy | N/A | N/A | N/A | N/A | "false" |
| cdmi_infrastructure_redundancy | N/A | N/A | N/A | N/A | "false" |
| cdmi_latency | N/A | N/A | N/A | N/A | "false" |
| cdmi_RPO | N/A | N/A | N/A | N/A | "false" |
| cdmi_RTO | N/A | N/A | N/A | N/A | "false" |
| cdmi_sanitization_method | N/A | N/A | N/A | N/A | "false" |
| cdmi_throughput | N/A | N/A | N/A | N/A | "false" |
| cdmi_value_hash | N/A | N/A | N/A | N/A | "false" |