More Related Content
Similar to Positioning XAM for the Cloud (20)
Positioning XAM for the Cloud
- 2. XAM: A Next Generation
April 6-9, 2009
Rosen Shingle
Creek Resort
Orlando, Florida
API for the Cloud
Mark A. Carlson
SNIA Technical Council and Sun Microsystems, Inc.
mac@sun.com
2
Copyright © 2009The Storage Networking Industry Association
- 3. Agenda
• Cloud use cases, requirements
April 6-9, 2009
Rosen Shingle
• The Storage Industry Resource
Creek Resort
Orlando, Florida
Domain Model
• Next generation Data Storage
Interfaces
• XAM as it applies to the Cloud
• Get involved
3
Copyright © 2009The Storage Networking Industry Association
- 4. Cloud Storage: use cases
and requirements
• Store my file and give me back a URL (i.e. Amazon S3)
– Best Effort Quality of Service?
April 6-9, 2009
Rosen Shingle
• Provision a filesystem and mount it (i.e. WebDAV)
Creek Resort
Orlando, Florida
– Quality of Service specification via provisioning interface
• Give me Filesystems/LUNs for my Cloud Computing
– NAS box in the cloud…
• Store my backup files until I need them back
– Maybe offer me a local cache as well
• Archive my files in the Cloud for Preservation/Compliance
– Maybe offer me eDiscovery services, “tape in the mail” retrieval
• Store all my files, allowing me to set the Data
Requirements, let me cache and distribute geographically
– Policy driven Data Services based on Data System Metadata
markings
4
Copyright © 2009The Storage Networking Industry Association
- 5. Data Storage Interface
• The model includes all these
elements which may or may
not be present
April 6-9, 2009
– True for Cloud Storage
Rosen Shingle
Creek Resort
Orlando, Florida
interfaces as well
• A next generation Data
Storage Interface needs to
make use of metadata
– Allows the Data
Requirements to be
expressed on each data
element 5
Copyright © 2009The Storage Networking Industry Association
- 6. Metadata and Data Storage
Interfaces
Storage services may
provide functions for
metadata as part of the data
storage interface.
This is an important
capability for managing
April 6-9, 2009
Data Resources (as opposed
Rosen Shingle
Creek Resort
to managing Storage
Orlando, Florida
Resources).
The metadata may be
managed by the storage
service, managed by data
services, or un-interpreted by
either.
System metadata that is
managed by storage
services are those properties
Other system and user metadata may be
of a data element that
pertain to the primary preserved on the basis of individual data elements,
functions of storing and but is not interpreted by the storage services
retrieving the data.
6
Copyright © 2009The Storage Networking Industry Association
- 7. Metadata for Data Services
•Metadata available through
the data storage interface may
also be managed by data
April 6-9, 2009
services
Rosen Shingle
Creek Resort
Orlando, Florida
•This data service metadata
can be used by data services
to provide differentiated value
to individual data elements
•The model or schema for
data service metadata may be
defined by each data service
and may be standardized
7
Copyright © 2009The Storage Networking Industry Association
- 8. Metadata and Information Services
The role of metadata in
information services is as a
communication mechanism with
the underlying storage services
and data services.
April 6-9, 2009
Information services are
Rosen Shingle
Creek Resort
primarily concerned with the data
Orlando, Florida
service system metadata as a
means to convey the data’s
requirements to the underlying
data services.
An information service may
also interpret user metadata for
purposes of data classification.
An information service can
create its own user metadata that
is un-interpreted by the
underlying services for its own
use.
8
Copyright © 2009The Storage Networking Industry Association
- 9. The Resource Domain Model
April 6-9, 2009
Rosen Shingle
Creek Resort
Orlando, Florida
9
Copyright © 2009The Storage Networking Industry Association
- 10. XAM API: an example Data Storage
Interface
• XAM is the first interface to
XAM User metadata is un-
standardize system metadata
interpretable by the system, but
for retention of data
stored with the other data and
XAM implements the basic
is available for use in queries
capability to Read and Write
Data (through Xstreams)
April 6-9, 2009
Given this we can see that
Rosen Shingle
XAM has the ability to locate
Creek Resort
XAM is a data storage interface
Orlando, Florida XSet with a query or by
any that is used by both Storage
supplying the XUID and Data Services (functions)
XAM allows Metadata to be
added to the data and keeps
both in an XSet object
XAM uses and produces
system metadata for each XSet
For example Access and
Commit times (Storage System
Metadata)
But it also uniquely specifies
Data System Metadata for
Retention Data Services
10
Copyright © 2009The Storage Networking Industry Association
- 11. XAM SDK
The XAM SDK is dynamically linked by each
application wishing to connect to and use
XSystems.
April 6-9, 2009
Application
Rosen Shingle
Creek Resort XAM Library Fields XAM
Orlando, Florida
Toolkit
Connect() XAM API
XAM Library XAM Library
VIM API
Reference Vendor Vendor
..
VIM A VIM X VIM VIM = Vendor
Interface Module
.
The XAM SDK includes several components:
XSystem
• XAM Library, which implements the XAM API functions
• Reference VIM, which implements the reference behavior
of an XSystem
• a framework which allows plug-able Vendor VIMs
• optional XAM Toolkit Libraries for convenience functions
11
Copyright © 2009The Storage Networking Industry Association
- 12. XAM Application software stack
C/C++ Application Java Application
April 6-9, 2009
Rosen Shingle
Creek Resort
XAM Java API (JNI)
Orlando, Florida
XAM C API XAM Java API
XAM Library logic (C++) XAM Library logic (Java)
‘outgoing’ VIM C API ‘outgoing’ VIM Java API
VIM Java API (JNI)
VIM C API VIM Java API
VIM VIM
C Java
12
Copyright © 2009The Storage Networking Industry Association
- 13. HTTP VIM
• C language VIM plugs into C XAM Library
April 6-9, 2009
• Java language VIM sits atop Reference VIM
Rosen Shingle
Creek Resort
• Communication is XML over HTTP
Orlando, Florida
• Not RESTful, not Web Services
• If there becomes a Cloud interface with XAM-like
functions (i.e. metadata and query support), a VIM
could be created to use that
• Alternatively, SNIA could standardize such a wire
level interface for this usage
•discussion in Cloud TWG perhaps
13
Copyright © 2009The Storage Networking Industry Association
- 14. Cloud API to the Resource Domain
Model
Nothing further
is needed to be
standardized in
order to use
XAM for a
April 6-9, 2009
Rosen Shingle
Cloud Storage
Creek Resort
Orlando, Florida
API today.
Applications are
written to a local
(Java, C, etc.)
API and the
Cloud vendor’s
VIM handles the
rest.
14
Copyright © 2009The Storage Networking Industry Association
- 15. SNIA XAM
• XAM version 1.0 is a standard
April 6-9, 2009
Rosen Shingle
• XAM Initiative is coordinating with
Creek Resort
Orlando, Florida
SNIA’s Cloud efforts
• XAM SDK TWG finishing up
software development
• TopCoder Challenge
– See Flyer for details
Get Involved!
http://snia.org/XAM 15
Copyright © 2009The Storage Networking Industry Association
- 16. April 6-9, 2009
Rosen Shingle
Thank You!
Creek Resort
Orlando, Florida
16
Copyright © 2009The Storage Networking Industry Association