Internet DRAFT - draft-sds-reference-usecase

draft-sds-reference-usecase



Internet Engineering Task Force                           Eui-Nam Huh
Internet-Draft                                   Kyung Hee University
DRINKS                                                     Ga-Won Lee
Intended status: Informational                   Kyung Hee University
Expires: Aug 16, 2016                                      Yunkon Kim
                                                 Kyung Hee University
                                                            Dongha Oh
                               Consortium of Cloud Computing Research
                                                         Feb 15, 2016
 
           Software-Defined Storage Reference Model and Use-case
                        draft-sds-reference-usecase-00

Abstract

  In IoT, IoE era, the cloud needs to accommodate enormous requests, 
  and also the cloud has to provide unlimited scalability, real-time 
  analysis, and workload integration. Thus, inter-cloud storages 
  integration is required and a standard for complete integration 
  between cloud and legacy system is compulsory. Physical host and 
  storage integration from the perspective of bare metal provisioning 
  are also under the spotlight. The SDS is a proper technique to fulfil 
  this issue. According to the increasing demand for software defined 
  storage, it is required to develop software defined storage reference 
  model.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 16, 2016.

Copyright Notice

  Copyright (c) 2016 IETF Trust and the persons identified as the 
  document authors. All rights reserved.
  This document is subject to BCP 78 and the IETF Trust's Legal 
  Provisions Relating to IETF Documents 
  (http://trustee.ietf.org/license-info) in effect on the date of 
  publication of this document.  Please review these documents 
  carefully, as they describe your rights and restrictions with 
  respect to this document.  Code Components extracted from this 
  document must include Simplified BSD License text as described in 
  Section 4.e of the Trust Legal Provisions and are provided without 
  warranty as described in the Simplified BSD License.

Table of Contents

1. Introduction ---------------------------------- 2

2.  SDS Reference Model and Use-case ------------- 2
        2.1 Definition of SDS Related Terms ------ 2
        2.2 Reference Model of SDS --------------- 3
        2.3 Use-case ----------------------------- 5

3. References ------------------------------------ 9

1. Introduction
  SDS is one of the important issues in the storage industry trends. 
  Through SDS, a storage technology can be easily controlled by 
  policies and other storage provisioning tasks are able to be 
  controlled through automation method. Therefore, this draft defines 
  functionalities for SDS and specifies use-cases of SDS. 

2.  SDS Reference Model and Use-case

2.1 Definition of SDS Related Terms

2.1.1 Software Defined Storage(SDS)
  SDS is a technology model to compose and manage a logical storage 
  pool with physical storage infrastructure using user-level software. 
  By composing a virtual storage pool, SDS enhances the convenience of 
  storage management through allocating storage according to the need 
  of applications and managing it by providing a single software 
  control point based on the user's policies.

2.1.2 Storage Pool
  A set of specific storage resources for distributed storage. User 
  can compose a storage pool by grouping physical storages and 
  virtualize storage by designating a space in the pool. The storage 
  resources can be provided from different vendors and include all of 
  heterogeneous storages.

2.1.3 Data Pool
  A data set that enables the sharing of data information through 
  gathering different data information logically. A data pool is 
  principally composed with metadata in order to avoid data redundancy. 
  It is possible to collect, combine, and integrate data using the data 
  pool. The data may be provided from different vendors, and include 
  all data stored in heterogeneous storages.

2.1.4 Data Integration
  Process of collecting data from various data sources, systems, 
  applications, etc. scattered around a company and refining them into 
  valuable and reusable information, namely, "intelligent information."

2.1.5 Data Abstraction
  A technique to combine and collect operations and expression types 
  related to a data type. Data abstraction provides programmers with 
  an effective means to organize and use data structures and 
  operations to be used in programming. For example, when a queue, 
  a data type not provided by ordinary programming language, is used 
  in a program, this technique provides the programmer with a means 
  to define operations such as 'Add,' 'Delete,' and 'Empty' 
  and integrate them into a data type to be used. This makes programs 
  more readable and error-free.

2.2 Reference Model of SDS

 ---------------------------------------------------------------------
|                     Software Defined Storage API                    |
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
|                       Software Defined Storage                      |
| --------------------------------------------  ----------------  --- |
||               Control Plane                ||  Policy Plane  ||   ||
|| ------------------------------------------ || -------------- ||   ||
|||  Policy-based Administration Controller  ||||  Service     |||   ||
||| ---------------------  ----------------- ||||  Policy      |||   ||
|||| Resource Monitoring || User Requres    |||||  Controller  |||   ||
|||| Manager             || Manager         ||||| ------------ |||   ||
||| ---------------------  ----------------- |||||Authrization||||   ||
||| ---------------------  ----------------- |||| ------------ |||   ||
|||| Virtual Resource    || Data Access     |||||              |||   ||
|||| Manager             || Manager         |||||              |||   ||
||| ---------------------  ----------------- ||||              |||   ||
|| ------------------------------------------ ||| ------------ |||   ||
| -------------------------------------------- ||| Capability |||| S ||
|                                              || ------------ ||| e ||
| -------------------------------------------- ||              ||| c ||
||              Virtual Data Plane            |||              ||| u ||
|| ------------------------------------------ |||              ||| r ||
|||            Data Pool Controller          |||| ------------ ||| i ||
||| ---------------------  ----------------- |||||Performance |||| t ||
|||| Data Integration    || Data Protection ||||| ------------ ||| y ||
|||| Manager             || Manager         |||||              |||   ||
||| ---------------------  ----------------- ||||              ||| P ||
|| ------------------------------------------ |||              ||| l ||
|| ------------------------------------------ ||| ------------ ||| a ||
|||           Storage Pool Controller        |||||    SLA     |||| n ||
||| ---------------------  ----------------- |||| ------------ ||| e ||
|||| Storage Integration || Storage         |||||              |||   ||
|||| Manager             || Performance     |||||              |||   ||
||||                     || Manager         |||||              |||   ||
||| ---------------------  ----------------- |||| ------------ |||   ||
|| ------------------------------------------ ||||  Billing   ||||   ||
|| ------------------------------------------ ||| ------------ |||   ||
|||        Virtual Storage Pool (VSP)        ||||              |||   ||
||| ------------  -----------  ------------- ||||              |||   ||
|||| Block-based|| File-based|| Object-based|||||              |||   ||
|||| VSP        || VSP       || VSP         ||||| ------------ |||   ||
||| ------------  -----------  ------------- |||||    QoS     ||||   ||
|| ------------------------------------------ ||| ------------ |||   ||
| --------------------------------------------  ----------------  --- |
 ---------------------------------------------------------------------
                Figure 1 SDS Functional Reference Model

2.2.1 Control Plane 

  The Control plane is the part of the SDS components model that is 
  concerned with centralized management of storage.  This component 
  handles all the storage resources management into one central layer. 
  This component has the authority, control, and responsibility for the 
  entire storage administration through of the Policy-based 
  Administration Controller. 

2.2.1.1 Policy-based Administration Controller

  The Policy-based Administration Controller has the control of 
  resource monitoring, virtual resource managing, configuration 
  service and data access management. The main aim of this component 
  is to reduce operational complexity, improves security, and lowers 
  risk through consistent policy application.

  * Resource Monitoring Manager
    - The Resource Monitoring Manager handles the monitoring all 
      storage management to have a unified view.

  * User Request Manager
    - The User Request Manager processes users' various requests which 
      are related with storage and data. This Manager can provide data 
      and volume of storage what users want. Negotiation might be 
      necessary between users and the User Request Manager.

  * Virtual Resource Manager
    - The Administrators can perform storage management tasks with 
      higher productivity in order to increasing the business agility.
    - The Virtual Resource Manager enables storage tasks load balancing,
      storage handling, storage access and scaling in/out making 
      managing virtual storage of simple way.

  * Data Access Manager
    - The Data Access Manager allows managing easily the storage access 
      with simplified access management.
    - The Data handling is important to get an efficient and economical 
      storage, retrieval, and disposal of data to ensure that data is 
      not altered, erased, lost or accessed by unauthorized users.

2.2.2 Virtual Data Plane
  The Virtual Data Plane composes a very large virtual storage pool 
  and to manage it. This Plane provides different types of storage 
  which are DAS, NAS, SAN, Cloud Storage, etc. Key components of this 
  plane are the Data Pool Controller and the Storage Pool Controller 
  for virtual storage pool.

2.2.2.1 Data Pool Controller

  The Storage Pool Controller is in charge of building virtual data 
  pool and context of data communication in the pool. Storage Pool 
  Controller can handle date that users allow.

  * Data Integration Manager
    - The Data Integration Manager has a role to make data pool with 
      data that user allow Data Integration Manager to use or publish.

  * Data Protection Manager
    - The Data Protection Manager has a role to preserve data from the 
      fault of system.
    - It has snapshot, replication, data migration, and self-recovery 
      functions.

2.2.2.2 Storage Pool Controller

  The Storage Pool Controller is in charge of building virtual storage 
  pool. Heterogeneous storages are used to make virtual storage pool.

  * Storage Integration Manager
    - The Storage Integration Manager has a role to integrate external 
      heterogeneous storage to build virtual storage pool.

  * Storage Performance Manager
    - The Storage Performance Manager has a role to make performance of 
      system better. 
    - Caching, Thin Provisioning, and Auto-tiering are representative 
      functions.

2.2.3 Policy Plane
  The Policy Plane manages policy of whole system related with for 
  automated managing the storage and data services. Policy Plane has 
  the Service Policy Controller, and components of this controller are 
  Authorization, Capability, Performance, Availability, SLA, Billing, 
  and QoS.

2.2.4 Security Plane
  The Security Plane is charging SDS security in general by managing 
  authorization, authentication, data security, etc. This plane 
  provides storage security according to security policy which is 
  established by storage provider/SDS manager/SDS user and managed by 
  Policy Plane.

2.3 Use-case

2.3.1 Handling Heterogeneous Storages with Same API in Storage 
Allocation and Data Storing Service

  The SDS can manage almost all heterogeneous storages in one single 
  control point via level management. Heterogeneous storage 
  environment has a Same Function Different Command problem. This 
  problem can be solved using the SDS.


2.3.2 Distributed Storage Allocation in Different Physical Storage

  Heterogeneous storages which are used to compose virtual storage 
  pool have different characteristics with each other. The SDS can 
  compose different characteristics storages into one local storage 
  pool and control it via one single control point. It is useful to 
  store data dispersedly into appropriate characteristics storage. 
  Moreover, it can contribute to improve data security.


2.3.3 Auto Scale-out for Storage Service

  Auto scale-out can be supported according to the service policy 
  when storage volume deficit occurs in storage service scenario.
  User establishes the auto scale-out policy and requests it to 
  SDS Control Plane. Based on polish managed by Policy Plane, 
  Virtual Data Plane assigns user the storage volume and announces 
  the authentication information to user. If storage state changes 
  when user requests the data storing using SDS API, storage assigned 
  to user becomes inability to data storing. In this case, system 
  provides volume snapshot service for data and storage stability, 
  and storage scale increase automatically.


  Step 1. User requests storage with auto scale-out policy
  Step 2. Virtual Resource Manager request storage volume assignment
  Step 3. User storage allocation in Virtual Storage Pool which is 
          composed by Storage Integration Manager
  Step 4. Storage access information(authentication) is transmitted to 
          user
  Step 5. User requests data storing by using SDS API and 
          authentication information
  Step 6. Data Access Manager identifies user authorization. If 
          permission confirms,   store data based on user policy
  Step 7. During repetition of step 5-6, storage volume shortage might 
          be occurs. Then, check user policy and prepare auto scale-out
  Step 8. To provide stability, Storage Performance Manager snapshots 
          the storage and Virtual Resource Manager assigns new volume


3. References

[1] DMTF DSP-IS0501, Software Defined Data Center (SDDC) Definition, 
    2015
[2] SNIA, Software Defined Storage (White Paper), 2015
[3] VMware, The VMware Perspective on Software-Defined Storage 
    (White Paper), 2014
[4] EMC, Transform Your Storage For The Software Defined Data Center 
    (White Paper), 2015

Appendix A.  Acknowledgements

  This draft is supported by Institute for Information & communications 
  Technology Promotion(IITP) grant funded by the Korea government(MSIP)
  (R-20150223-000247, Cloud Storage Brokering Technology for Data
  -Centric Computing Standardization)

Authors' Addresses

Eui-Nam Huh 
Computer Science and Engineering Department, Kyung Hee University
Yongin, South Korea

Phone: +82 (0)31 201 3778
Email: johnhuh@khu.ac.kr

Ga-Won Lee
Computer Science and Engineering Department, Kyung Hee University 
Yongin, South Korea

Phone: +82 (0)31 201 2454
Email: gawon@khu.ac.kr

Yunkon Kim
Computer Science and Engineering Department, Kyung Hee University 
Yongin, South Korea

Phone: +82 (0)31 201 2454
Email: ykkim@khu.ac.kr

Dongha Oh
Consortium of Cloud Computing Research, Seoul, South Korea

Phone: +82 (0)2 2052 0158
Email: dongha@cccr.ir.kr