The SNIA Cloud Storage Technical Working Group has published several new CDMI extensions for pubic review:
Partial Upload Extension
CDMI 1.0.2 supports storing large objects either as a single transaction, or by sending multiple transactions using the X-CDMI-Partial header to indicate completion. However, there are no mechanisms to prevent multiple clients from colliding if they both attempt to upload data by parts to the same object, and clients are required to actively coordinate when an upload has completed.
This extension extends the X-CDMI-Partial header, and introduces several new concepts:
- Upload IDs: If two clients try to create or update an object using multiple partial PUTs, if they have different upload IDs, their data will not be interleaved,
- Replace Flag: Indicates if a series of ranges are to be merged into an existing object, or completely replace an existing object, and
- Count and Range Completion Conditions: Allows the server to determine when an object is complete based on a specified number of transactions or byte range.
More details can be found in the Partial Upload Extension (PDF) document.
Immediate Query Extension
CDMI Query (as defined in CDMI 1.0.2) is based around an asynchronous query model, where a query is initiated by a client, the server persistently stores query results, and the client is able to retrieve these results in one or more subsequent transactions. In this model, every query must have an entry in the namespace, and it is the responsibility of the client to delete the persistently stored query results once they are no longer needed.
Query persistence is a very powerful capability, since it provides simple ways to retain, control access to, suspend and resume processing of query results, and distribute the processing of query results, but for simple queries, it is more complex than a basic request/response model.
In order to provide an option for simple request/response queries, the Immediate Query Extension introduces a new query type that immediately returns the query results in the HTTP response body, and does not require the client to delete the results after the query has completed. This extension also permits results to be returned in the response body for non-immediate queries.
More details can be found in the Immediate Query Extension (PDF) document.
The CIMI Extension (PDF) has also been updated.