CDMI Extension: Partial Upload



Similar documents
Cloud Data Management Interface Extension: CIMI

Software Defined Storage

Applications of LTFS for Cloud Storage Use Cases

Cloud Data Management Interface (CDMI )

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

Interoperable Cloud Storage with the CDMI Standard

Common RAID Disk Data Format Specification

Cloud Elements! Marketing Hub Provisioning and Usage Guide!

Cloud Storage Standards Overview and Research Ideas Brainstorm

Requirements. A feature to return negative acknowledgements (error codes) is under discussion in MQTT-236.

HTTP State Management

SIP: Protocol Overview

September 2009 Cloud Storage for Cloud Computing

First Midterm for ECE374 03/24/11 Solution!!

Description of Scenario Leading to Sync Receipt Timeout in 802.1AS Due to Loss of a Single Follow_Up Message

SMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2

Cloud Data Management Interface (CDMI) The Cloud Storage Standard. Mark Carlson, SNIA TC and Oracle Chair, SNIA Cloud Storage TWG

Deploying Public, Private, and Hybrid Storage Clouds. Marty Stogsdill, Oracle

Storage Clouds. Karthik Ramarao. Director of Strategy and Technology and CTO Asia Pacific, NetApp Board Director SNIA South Asia

WELCOME TO CITUS CLOUD LOAD TEST

Simple Identity Management Profile

CA Nimsoft Monitor. Probe Guide for URL Endpoint Response Monitoring. url_response v4.1 series

Grid-In-Hand Mobile Grid Revised 1/27/15

Front-End Performance Testing and Optimization

Enterprise Architecture and the Cloud. Marty Stogsdill, Oracle

Ehcache Web Cache User Guide. Version 2.9

Object Transfer Service

CA APM Cloud Monitor. Scripting Guide. Release 8.2

Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA

Storage Clouds. Enterprise Architecture and the Cloud. Author and Presenter: Marty Stogsdill, Oracle

Computer Networks. Chapter 5 Transport Protocols

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

Setting up Dynamicweb for Load Balancing with Microsoft ARR for IIS8

This guide provides detailed information on how to configure and use server redundancy on Yealink IP phones.

IP - The Internet Protocol

Introducing the Microsoft IIS deployment guide

Semantic based Web Application Firewall (SWAF V 1.6) Operations and User Manual. Document Version 1.0

Description of Microsoft Internet Information Services (IIS) 5.0 and

Load testing with. WAPT Cloud. Quick Start Guide

Ticketing. User Guide

MEFFGate Trading FIX INTERFACE SPECIFICATIONS

Table of Contents. Table of Contents 3

Release Notes. DocuSign Spring 15 Release Notes. Contents

There are more security levels in ARCHIBUS, as described bellow.

Master Data Services Training Guide. Modeling Guidelines. Portions developed by Profisee Group, Inc Microsoft

Symantec Hosted Mail Security. Console and Spam Quarantine User Guide

Implementing and testing tftp

Nuance Mobile Developer Program. HTTP Services for Nuance Mobile Developer Program Clients

The PaperCept Journal Submission and Review Management System

Cigital. Paco Hope, Technical Manager

Centrify Mobile Authentication Services

QaTraq Pro Scripts Manual - Professional Test Scripts Module for QaTraq. QaTraq Pro Scripts. Professional Test Scripts Module for QaTraq

CA Nimsoft Service Desk

Cisco IOS NetFlow Version 9 Flow-Record Format

Quick Start User Guide

KANSAS TRUCK ROUTING INTELLIGENT PERMITTING SYSTEM

create-virtual-server creates the named virtual server

Enterprise Performance Tuning: Best Practices with SQL Server 2008 Analysis Services. By Ajay Goyal Consultant Scalability Experts, Inc.

SECURITY DOCUMENT. BetterTranslationTechnology

Copyright 2013 wolfssl Inc. All rights reserved. 2

Exam 1 Review Questions

vcloud Air Platform Programmer's Guide

Forensic Analysis of Internet Explorer Activity Files

Oracle Database 10g: Parallelism and Scalability Overview Seminar

Log Insight Manager. Deployment Guide

Hetero Streams Library 1.0

PPreferredID = "P-Preferred-Identity" HCOLON PPreferredID-value. *(COMMA PPreferredID-value)

Load Balancing Oracle Application Server (Oracle HTTP Server) Quick Reference Guide

CA Endevor Software Change Manager

Session Management in Web Applications

Qualys API Limits. July 10, Overview. API Control Settings. Implementation

Integration with CA Transaction Impact Monitor

How to use MS Excel to regenerate a report from the Report Editor

THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6

InternetVista Web scenario documentation

RS MDM. Integration Guide. Riversand


Setting up the integration between Oracle Social Engagement & Monitoring Cloud Service and Oracle RightNow Cloud Service

Certificate Management Profile

Oracle Database: Develop PL/SQL Program Units

This guide provides detailed information on how to configure and use server redundancy on Yealink IP phones.

SQL Server Table Design - Best Practices

Cache Configuration Reference

IBM Software Group Enterprise Networking Solutions z/os V1R11 Communications Server

Transcription:

CDMI Extension: Partial Upload Version 1.1a "Publication of this for review and comment has been approved by the Cloud Storage Technical Working Group. This draft represents a "best effort" attempt by the Cloud Storage Technical Working Group to reach preliminary consensus, and it may be updated, replaced, or made obsolete at any time. This document should not be used as reference material or cited as other than a 'work in progress.' Suggestion for revision should be directed to http:/snia.org/feedback."

Revision History Date Version By Comments 08-28-2014 1.1a Marie McMinn, Cloud TWG Editor New version of Partial Load extension created for the CDMI 1.1.0 revision of the standard. Derived from the 1.0e draft. 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: Any text, diagram, chart, table, or definition reproduced shall be reproduced in its entirety with no alteration, and, 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 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 e-mailing tcmd@snia.org. Please include the identity of the requesting individual and/or company and a brief description of the purpose, nature, and scope of the requested use. Copyright 2014 Storage Networking Industry Association. 2

Partial Upload Extension Overview CDMI 1.0.2 provides limited support for partial uploads. The following extension to the X-CDMI- Partial header is proposed to support managing conflicting uploads and specifying completion conditions for parallel uploads: X-CDMI-Partial: [ true false ] [ upload-id=<upload-id> [ ; [ count=<integer> range=<byte-range> ] ] [ ; replace= { true false } ] ] Partial uploads by multiple concurrent clients are accomodated by specifying a unique "uploadid" for each set of partial uploads. A condition is associated with an upload id to indicate when the partial upload will be considered complete. The condition may be associated with an upload id at any time. Once a condition is associated with an upload id, specifying a different condition is considered an error. A count condition handles the scenario when a partial upload is to be completed when a specific number of partial uploads are received by the server. A range condition handles the scenario when a partial upload is to be completed when the server receives a specific byte range. Replace indicates if the partial uploads replace the entire object or just the specified byte ranges. When partial uploads associated with an upload id have not completed within a given time, the upload id will time out, and the partial uploads associated with that upload id will be discarded by the server. Changes to CDMI 1.1.0: 1) Add a new section 5.17 CDMI Partial Header CDMI defines a custom "X-CDMI-Partial" header that indicates when a partial upload is being performed. The value of this header is formatted according to the following BNF: [ true false ] [ upload-id=<upload-id> [ ; [ count=<integer> range=<byte-range> ] ] [ ; replace= { true false } ] ] "true" Indicates that the newly created object is part of a series of uploads and the value has not yet been fully populated. These uploads are considered to have a null upload-id. "false" (or header not present) Indicates that the set of uploads associated with a null upload-id shall be considered complete, and the object shall be updated. "upload-id" Indicates that requests with the same upload-id are part of the set of partial uploads. "count" An integer value greater than zero that indicates that when exactly this many partial uploads with the same upload ID are received, the set of uploads is considered complete, and the object shall be updated. If the number of received uploads is larger than the specified count, an HTTP status code of 400 Bad Request shall be returned. 3

"range" A byte range as specified in section 14.35.1 of RFC 2616 that indicates that when a given byte range of partial uploads with the same upload-id are received, the set of uploads is considered complete, and the object shall be updated. "replace" When multiple ranges are sent as part of a partial upload, if this flag has the value "true", this indicates that the entire object shall be replaced by the set of ranged uploads (with any range gaps zero-filled). If it has the value "false" or not present, the set of uploads shall be used to update the object, not replace it. For a given upload-id, if a condition or replace flag is received that is different from a previously received condition or replace flag, an HTTP status code of 400 Bad Request shall be returned. For a given upload-id, if a partial upload is received with an content-range exactly the same as a previously received content-range, the value associated with that range shall be replaced with the newer value. This allows partial uploads to be retried without error. In this case, the count shall not change. For a given upload-id, if a partial upload is received with a content-range that overlaps a previously received content-range and is not exactly the same as a previously received contentrange, an HTTP status code of 400 Bad Request shall be returned. If a set of uploads for a particular upload-id is not complete and no messages for that upload-id are received before the timeout value specified in the cdmi_partial_timeout expires, then the server shall terminate the set and discard all previously received messages for that upload-id. If a new object is being created using the X-CDMI-Partial header, the completionstatus field in the response body shall be set to "Processing" and the value of the object shall not be returned to clients until the partial upload is considered complete. If an existing object is being updated or replaced using the X-CDMI-Partial header, the object shall not be updated until the partial upload is considered complete. 2) Insert at end of table Table 100 - System-Wide Capabilities Capability Name Type Description cdmi_partial cdmi_partial_uploadid cdmi_partial_count cdmi_partial_range cdmi_partial_replace system shall support the X-CDMI-Partial header "true" and "false" values. system shall support the X-CDMI-Partial header upload-id values. system shall support the X-CDMI-Partial header count completion condition. system shall support the X-CDMI-Partial header range completion condition. system shall support the X-CDMI-Partial header replace flag. 4

Capability Name Type Description cdmi_partial_timeout If present, this capability indicates the upload-id timeout duration in seconds. 3) Replace the "X-CDMI-Partial" Description in 8.2.4, Table 20 - Request Headers for Creating a CDMI Data Object using CDMI 4) Replace the "X-CDMI-Partial" Description in 6.2.3 Table 6 - Request Headers - Create a CDMI Data Object using HTTP 5) Replace the "X-CDMI-Partial" Description in 8.4.3, Table 29 - Request Headers - Update a CDMI Data Object using CDMI 6) Replace the "X-CDMI-Partial" Description in 6.4.3, Table 11 - Request Headers - Update a CDMI Data Object using HTTP Indicates that a partial upload is being performed. See 5.16 Object References. 5