Software Defined Storage For Cooperative Mobile Edge . - Unicamp

Transcription

2017 Fourth International Conference on Software Defined Systems (SDS)Software Defined Storage for Cooperative MobileEdge Computing SystemsJafar AI-Badarneh,* Yaser Jararweh,* Mahmoud AI-Ayyoub,*Mohammad Al-Smadi* and Ramon Fontest* Jordan University of Science and Technology, Irbid, Jordanjafar92.jaa@gmail.com, {yijararweh, maalshbool, maalsmadi9}@just.edu.jot University of Campinas, Campinas, Brazilramonrf@dca.fee.unicamp.brAbstract-In this paper, we explore the use of both SoftwareDefined Systems (SDS) and Network Function Virtualization(NFV)to deliver a wireless-based Software Defined MobileEdge Computing (SDMEC) support for storage applications.The proposed approach aims to provide a MEC level servicecontrolled by the software defined paradigm to enhance theprovisioning and management of storage services over wirelessconnected spectrum. The proposed SDMEC has been imple mented as an extension of the well-known Wireless SoftwareDefined Networking (WSDN) emulator, Mininet-WiFi, to supportwireless topologies that mimic real world environment setups. Theframework includes a software defined cooperative MEC strategyfor managing storage operation. It also provides the supportfor auto-scaling network storage resource based on the networkdemand. The findings of the experiments show the potential ofour proposed approach and provide a great starting point forresearchers to start considering such approach.I.INTRODUCTIONNetwork Function Virtualization (NFV) is under the spot light as it delivers very promising outcome for telecommu nication carriers [1]. NFV basically enables the decouplingof the hardware from the running software modules whichprovides support for running software modules on commodityhardware. This saves a lot of money, in addition to theadvancements in the utilizing orphaned legacy hardware. NFValso reduces the risk in services deployment, as there is nolonger a need to have dozens of configurations that should bemade on site by the service vendor. With NFV, the process ofdeploying a service takes no longer that a couple of minutes forthe service to be configured and be ready to operate properly.NFV can be utilized to provide support for Mobile EdgeComputing (MEC). One example is the application proposedby Nguyen et al. [2]. The authors proposed to utilize NFVin order to provide MEC level services, where MEC nodesare virtualized to deliver more services than those assignedto them. With this, MEC nodes are capable of serving DHCPservices for the closest consumers as a way to maintain the bestquality of Service (QoS). Of course, there exist some trade oft's as the service needs a fine-grained control as proposed bythe authors.Along with what NFV has enabled for networking advance ments, Software Defined Networking (SDN) comes as anotherrevolution in today's networking paradigms. SDN providesnetwork architects with the simplest and most efficient way978-1-5386-2855-3/171 31.00 2017 IEEEto manage and prOVISIOn network resources. As stated byCostanzo et al. [3], SDN introduced nothing but networkingsimplification and evolvability. SDN basically delivers theseproperties by separating the data plane from the control plane,where the controller tends to propagate forwarding tables fromthe control plane to the data plane devices (routers/switches)[4]. Usually, network traffic is generated by the forwardingdevices in the data plane. Network centralized/decentralizedmanagement represented by the controller(s) is/are responsiblefor finding the best routes to deliver network traffic for theirintended destinations, in addition to maintaining a globalinformation sightedness of the whole network resources asthey're going to be provisioned by the controller (cf. SDNarchitecture and models [5]).Recently, the Internet has been moving toward cloud-basedservices, as hosting and managing your own servers requirea lot of time to be constructed in addition to the overheadbeing imposed by the administration and management of suchsystems. Cloud computing solves such issues by eliminatingthe aforementioned complexities and focusing more on theflexibility of delivering the service. The concept of SoftwareDefined Systems (SDS) has emerged to deliver such manage ment ease. SDS inherits the properties of network softwariza tion (SDN) and generalizes them to other systems. In the pastfew years, researchers have been experimenting with softwaredefined systems such as Software Defined Storage [6] andSoftware Defined Security [7]. With its promised capabilities,SDS can be viewed as the future of Cloud computing [8] andInternet of Things [9].Mobile Edge Computing (MEC) has evolved to deliver amajor shift in Mobile Cloud Computing (MCC) [10]. The ideaof MEC lies in mitigating network's end-to-end latency bydelivering network services - Storage Service for instance- viaEdge computing servers, thus, enhancing the quality of theuser experience.In this paper, we introduce wireless-based software definedstorage simulation framework for MEC, where storage ser vices are served collaboratively and provided by the closestMEC node to the end users. The framework is developed andvalidated as an extension to the Mininet-WiFi [11] softwaredefined wireless networking emulator.The rest of the paper is organized as follows. In Section II,174

2017 Fourth International Conference on Software Defined Systems (SDS)we explore the current software defined storage solutions. InSection III, the technical details about the presented frameworkare presented. Section IV shows the experiments we conduct toevaluate our framework and their results. Finally, in Section V,we conclude our work and discuss the future improvementsand prospects for the SDMEC Storage framework.II.SOFTWARE DEFINED STORAGE FOR MOBILE CLOUDCOM PUTINGAccording to IBM, I 2.5 quintillion bytes of data are beinggenerated every day by users (social media posts, images,videos, etc.) as well as sensors. To keep pace with theexponential growth of data generated by our smart devicesand loT sensors, a new storage architecture has been intro duced delivering storage services with lower management andmaintenance costs [12].The world has realized that traditional legacy storage ser vices and architectures are no longer fit with the currentdemand. A long list of challenges faced by current traditionalstorage systems have been addressed in [l3]. The need for anew storage architecture has been emerged as today's currentlegacy storage systems have failed to run with the currentdemand (such as cloud systems and VM-centric storage ser vices). Another interesting challenge that contributed to suchtransition is that corporates are now demanding a scale-outstorage support. Although there exist legacy storage architec tures that were build to support scaling up the hardware forincreasing storage capacities, they are hard to be provisionedand maintained, as the demand for extra storage requires newstorage mediums - racks or storage shelves for instance - to beadded to the customer's data centers, which is inefficient [14].Due to these challenges and the current industry needs, theworld is now moving towards more flexible storage solutions,with the ability to consider commodity hardware support,scale-out architectures and self-provisioning systems. This iswhere software defined storage (SDStorage) emerges as oneof the appealing solutions.SDStorage inherits its core concept from SDN with theseparation between the data plane (data storage) and thestorage control plane delivering more sophisticated ways forstorage provisioning and management, and most importantly,coping up with today's storage demands. Moreover, it alsosupports: Abstraction, Resource pooling and Automation.Currently, SDStorage is being tapped more by people fromthe industry rather than the academic world. Big corpo rates/vendors, like IBM, DELL and many others, have realizedthe importance of having SDStorage systems deployed bytheir data centers, in order to sustain in the market and, atthe same time, enhance their QoS. According to a marketsurvey published in 2015 by DataCore [15], 53% of thebusiness who are willing to implement SDStorage in theindustry were driven by the need for extending the life oftheir existing storage assets, thus, leading to a reduced Capitalexpenditures (CAPEX). The provisioning and managementI s-big-data.htmlease provided by SDStorage systems makes it also appealingto the corporates in the industry as it consequently increasesthe savings in the operating expenses (aPEX).One example of SDStorage solutions from the industryis EMC ViPR provided by Dell EMC [16], which deliversSDStorage support with the ability to merge the controlsof multi-vendor storage platforms into one platform, servingautomatic provisioning, resource pooling and policy-drivenstorage services. Another example is Hwelett Packet (HP),which provides SDStorage solution as an integral part of theirsoftware defined data center (SDDC) solution [17]. It uses aVirtual Storage Alliance (VSA) for storage services and datadeduplication. VSA basically provides the ability to exploitany unused storage capacity and turns it into a Storage AreaNetwork (SAN). Similar systems has been introduced by othervendors such as IBM Spectrum storage [18], VMware softwaredefined Storage [19], and DataCore [20].As of academia, several researchers have investigated SD Storage. Huang et al. [21] proposed a SDStorage architecturebased on the following properties:1) It should facilitate the decoupling of the data plane(where the data is generated) from the storage controlplane.2) It should facilitate auto-scaling and self-provisioning viaAdaptive Quick-Response (AQR) storage controller.3) It has to be equipped with RESTful APls as integrationinterfaces for the application layer's extensions.The goals behind AQR-storage proposed by the authors is toserve a hybrid self-configured storage systems that can adaptand chose the storage mechanism (NAS (Network AttachedStorage), DAS (Directed-Attached Storage) or SAN) accord ing to a Service Level Agreement (SLA). The matching isperformed utilizing an analysis module that is operating neuralnetwork to learn the best storage configuration and act uponthat if any performance inconsistencies take place.Another work is by Yang et al. [22], where the authorsproposed an architecture that uses OpenStack to deliver astorage system. The proposed architecture supports heteroge neous storage systems such as Hadoop file system HDFS,SWIFT, and CETH.Finally, due to the infeasibility of experimenting with soft ware defined storage within a real working environment, arecent work done by Darabseh et al. [6] proposed an emulatedSDStorage experimental framework that was developed as anextension to the well known SDN emulator Mininet [23]. Theemulated architecture consists of mainly the same componentsagreed upon in the literature, where the storage plane isisolated from the storage control plane enabling a policy driven storage service.III. SDMECSTORAGE: A SOFTWARE DEFINED STORAGEFORMECSYSTEMSMEC forms a paradigm shift in MCC. MEC enables ser vices to be delivered at the edge of the network, mitigatingthe number of subscribers requests offloaded to cloud servers,hence, reducing the requests' end-to-end latency [24]. The175

2017 Fourth International Conference on Software Defined Systems (SDS)motives behind incorporating MEC support as an integral partof cloud and telecommunication systems are expressed asfollows: Reduce resource consumption of smartphones - as theyhave limited capabilities (storage capacity, battery capac ity, and the processing power)- by offloading computa tions and storage operations to MEC nodes.Deliver a better Quality of Experience (QoE) by reducinglatency for user-centric and context-aware applications,and enable more instantaneous cloud services.Mitigate traffic offload imposed over cloud servers byapplications that require network intensive tasks.As an evolution of MEC and decentralized cloud services, theconcept of cloudlets has been introduced. Cloudlets tends toserve cloud services to mobile users within a limited rangebounded by the WiFi coverage [25]. Although cloudlets canserve the objective of having cloud services provided at theedge of the network, but with the current demand for highcomputing applications and more storage capacities in additionto users mobility that cannot be served by the limited coverageof cloudlets, cloudlets become paralyzed.The process of constructing and provisioning MEC is notan easy task. A lot of complexities and configurations shouldbe made in order to serve the purpose of their existence. Also,one of the motives behind MEC is to deliver services corre sponding to user-centric applications. Today's applications aremore connected to each. So, in order for those applicationsto deliver a complete application experience, they have tocommunicate a lot of entities via RESTfull APIs for examplesand such communication may consult other services that arenot localized to user's MEC nodes. So, in order to have acooperative MEC consultation strategy instead of offloadingrequests -other than those that exist in Local MEC- to cloudserver, neighboring MEC nodes should be consulted. Suchneeds add more complexities to the system. Therefor, it isbetter to have a decent way of management of such services,which aims to hide all of these complexities in addition tooffering a more reliable way of managing and provisioningnetwork resources. This is where the role of software definedSystems comes into play.A recent work proposed by laraweh et al. [26] introduced asoftware defined ubiquitous MEC platform for Cloud systems.The authors showed how MEC can be incorporated intosoftware defined Cloud to overcome the challenges facedby MCC. The proposed work focuses on incorporating MEservers along side with mobile network base stations. Anillustration of the proposed vision is depicted below in Figurel.A. Software Defined Storage Support for Mobile Edge Com putingSDMEC is considered an integral component of SoftwareDefined Cloud (SDCloud) as stated in [27]. Our proposedframework represents an attempt to integrate SDStorage intoMEC, as a way to deliver storage services for wirelesslyconnected nodes at the edge of the network. In [26], SDstorageFig. 1. Software Defined Mobile Edge Computing Storage Architectureis being served via storage servers that co-exist along withnetwork base stations. What differentiate our approach isthe way we hock-up storage service with MEC. From thestandpoint of the capabilities of the network base stationsin delivering other services than merely managing the trafficflow of the connected nodes, we see that SDMEC storagecan be incorporated with network base stations themselveswithout having any network-connected storage server, whichadds some latency (regardless of how negligible it is). Theproposed framework utilizes network base stations to deliverstorage services. Such incorporation enhances the performanceof MEC level applications, such as video streaming, bigdata analytics, edge health care systems, and sensor networkapplications.The proposed SDMEC storage framework focuses on de livering support for context-aware applications -as those men tioned above- that require reliable access to highly-availablestorage mediums. The framework also aims to serve coopera tive MEC data aggregation and big data analytics on the edgeof the network. An example of this is analyzing and processingdata generated by sensors and street traffic to be either used totake actions or forwarded to the cloud server to perform othercentralized decisions.SDMEC Storage architecture is inherited from Darabseh etal. [6]. It consists of three layers:1) Data Layer (storage infrastructure): It consists of variousstorage assets that are managed by a Virtual MachineManager (VMM).2) Control Layer: It is responsible for managing and con trolling storage resources. This layer contains a hy pervisior to be able to manage storage resources inaddition to two types of controllers; storage controllerto perform storage related tasks), and a network con troller to perform SDN related functions regarding MEC176

2017 Fourth International Conference on Software Defined Systems (SDS)connected nodes, validate storage access policies andmanage storage requests by handing them over to thestorage controller.3) The application layer which holds different user-centricapplications to interact and use MEC services via north bound APIs.Algorithm 11:2:3:4:5:6:B. Cooperative MEC SDStorage supportThe proposed SDMEC Storage mechanism works accordingto Algorithm 1. The variable set used in the algorithm isexpressed in Table I.As a use case, assume that a station, that is wirelesslyconnected to a MEC node, requests to store some data of aspecific size. The Storage controller should serve the request.At first, the associated MEC node is set as the Local MECto the requesting station. The controller checks if the amountof data to be stored is feasible to be stored within the LocalMEC The check process is invoked via a southbound APIto the storage data plane. if so, the controller issues a storerequest with the data size given along with the access policyprovided by the station as part of the store request. The storefunction performs a set of tasks: check the validity of theaccess policy provided by the station, issue the storage requestwith the appropriate storage setup, update the storage table forthe new data entries, and, finally, disseminate the storage tableto the Local MECThe previously mentioned flow forms the "sunny day"scenario, whereas the "rainy day" scenario happens when theLocal MEC node is incapable of handling the storage requestdue to a shortage in the size of the available resources. In thiscase, the data gets chunked and distributed across neighboringMEC nodes. Before engaging other MEC nodes, the LocalMEC node is being checked to see how much data it canhandle within its available space (if it is not already full ofcourse). If it does, the controller decides how many chunksof the data to be stored according to the amount of availablespace left, and, then, performs the storage request.At this stage, the cooperation among MEC nodes takesplace. The controller sorts MEC nodes according to theirdistance from the Local MEC (the closest first). The controllerthen loops over MEC nodes, to see who is going to handle therequest either partially or completely. The remaining chunksare handled that same way they were handled by the LocalMEC If the number of tapped MEC nodes exceeds a pre defined threshold, the cooperative search strategy is suspendedas it is going to be infeasible in terms of time required to storethe data, thus, preserving the QoS.In this case, the controller instead issues an auto-scaleoperation in the storage resources among the approached MECnodes, by activating extra storage resources. This processactually tends to cluster MEC nodes into virtual zones, aseach set of MECs in a range within the specified thresholdappears to form groups that will be consulted each time astorage request is initiated from a station within their ranges.Software Defined MEC StorageLMec - station.AssociatedMec OSize - station.getDataSize OStoredFalseif DataSize :s: LMec.AvSpace O thenStoreData(Data,Size,Pol)StoredTrue 7: else8:9:10:1 1:Chunks []Chunk ( station.Data )FLMec.FreeChunck OStoreData(Chunks,F,Pol)SizeChunk. size - F.size 12: end if13:NearbyMecs []sorted ( MECs )not Stored doC0for Each Mec m in NearbyMecs [] doif C :s: T and not Stored thenif Size :s: m.AvSpace O thenStoreData(Chunks,Size,m,Pol)StoredTrue 14: while15:16:17:18:19:20: else2 1:StoreData(Chunks,Size,m,Pol)22:23:end ifC 24:25:elseScaleUpStorage(C)26:27:28:end ifend for29: end whileTABLE IALGORITHM VARIABLE SETVariableIDescriptionStation's Local MECLMecAvSpaceO a method to get the amount ofavailable spacePolan Access Policy that grantees asecured access to storage resourcesFAvailable free chunksMec counterCTThreshold for number of MecnodesIV.EXPERIMENTS AND RESULTSSDMEC storage framework is implemented as an extensionto Mininet-WiFi. We start by briefly discussing Mininet-WiFi.Mininet-WiFi [11] is a tool that allows researchers to expe rience with a software defined wireless networking emulationenvironment. Mininet-WiFi is built as an extension to the well known SDN emulator Mininet. It utilizes the Linux wirelessnetworking driver (mac8021l) to provide support for WirelessStations and Access Points.For the development of this work we have added the supportfor more types of nodes in order to run SD Storage functions.In our approach, SDMEC represents an extended type of Access177

2017 Fourth International Conference on Software Defined Systems (SDS)Point that inherits all of its functions and properties, in additionto SD storage related methods and APIs. The same appliesfor SDStation where it extends Station. The frameworkalso supports customized types of SO Stations, like SOSensor for example.The framework requires a customized set of controllers, likeSDNController and SDStorage Controller, each ofwhich performs different tasks, with the ability for them tocommunicate via EastlWest APIs. SON Controller per forms basic SDN networking function in addition to thoserelated to conununicating SDStorage controller forstorage requests by connected SO Stations in addition tohandling Cooperative MEC functions, for example, distribut ing data among multiple MEC nodes, as they have to gothrough the network medium. The controller also validatesstorage requests access policies in order to drop any unau thenticated storage request made to the MEC, Whereas SOStorage Controller is responsible for handling Storagerequests at the MEC as well as serving resource-scalingoperations in case there is a shortage in MEC storage. Thestrategy for handling storage requests was presented earlier inthe algorithm pseudo-code 1.The cooperation behavior for handling storage request canbe performed by following either one of two methods. Thefirst method suggests to benefit from the cooperations amongMEC nodes by distributing data sent among multiple MECnodes, as the node's Local MEC cannot handle the sent amountof data. Therefor, the Local MEC will handle as much asit can, and the storage controller then decides to distributethe left amount of data to another neighboring MEC node(s).Such method enables more data distribution among severalMEC nodes which might be vital for mitigating Single Pointof Failure (SPOF) problems. Other than that, the distribution ofdata can make the process of recovering missing data easier.This method keeps the controller searching for MEC nodeswith available space to handle the storage requests, which addlatency to the overall request completion time.The other method tends to limit the number of hubs acontroller can go through in order to consult MEC nodesfor serving the storage request, if the Local one fails. Thisis achieved by thresholding the number of MEC nodes to betapped, and in case the controller could not find any MECnode with free space within the specified threshold, it triggersan order for the storage controller to scale-up storage resourcesfor the Local MEC and neighboring ones -below the threshold in order to be able to handle what ever amount of data left fromthe request. By adopting this method, the frequency of scale up operations will increase as the controller is limited to themax amount it can get from all accessible MEC nodes around.On the other hand, it keeps the data close to the requestednode (user). This will actually might enhance content-deliveryservices provided by the MEC node, and hence delivering abetter QoE. Both methods were experimented with multipledata sizes and different number of MEC nodes.The first experiment focuses on the latency of storagerequests with multiple environment setups. The experimentFig. 2. Storage Latency in seconds with Search Thresholding enabledFig. 3. Storage Latency in seconds with search Thresholding disabledis repeated for various numbers of MEC nodes (2-10) andthe resulting latencies are compared for different data sizesof storage requests (lOOk, SOOk, lOOOk) units of storage. Theexperiment is conducted twice, where the first represents thelatency incurred with "Search Thresholding" enabled amongMEC nodes, while the other assumes that the controller canconsult any MEC node that belongs to the same networkasking to store data.The results of both experiments are depicted in Figure 2and 3. As can be seen from the figures, the latencies incurredby having Thresholding enabled is relatively lower than thoseincurred by having the controller freely distribute data amongMEC nodes. We can also notice that the big difference inlatencies appear to be more clear with high scale data sizes.The second experiment considers four MEC nodes com paring the latency resulting from different file sizes in therange [lOOk-l000k] storage units with both Thresholding en abled/disabled. The results are shown in Figure 4. The resultsshow that having Thresholding enabled can be beneficial withlarge data sizes. So, if the environment under study is very178

2017 Fourth International Conference on Software Defined Systems (SDS)Fig. 4. Storage Latency in seconds compared when Thresholding en abled/disableddense, or encounters intense storage requests, thresholdingmight be the solution for maintaining the service with theleast amount of latencies, whereas, other regular environmentsetups with relatively lower data scales can go with the optionof allowing the data to be distributed regardless of how muchhub is it away from the Local MEC node.ACKNOW LEDGMENTThe authors would like to thank the Deanship of Researchat the Jordan University of Science and Technology for sup porting this work (Grant #20170007).V.CONCLUSIONIn this paper, we discussed our efforts to build a wireless based software defined mobile edge computing (SDMEC)framework for storage applications. The aim of the proposedframework is to provide a MEC level service controlled bythe software defined paradigm to enhance the provisioningand management of storage services over wireless connectedspectrum. We implemented our SDMEC framework as anextension of Mininet-WiFi and evaluated it using a set ofillustrative experiments. The findings of the experiments showthe potential of our proposed approach and provide a greatstarting point inducing researchers to start considering suchapproach, enhance it, and build other systems upon it, such assoftware defined content-delivery systems.[6] A. Darabseh, M. Al-Ayyoub, Y. Jararweh, E. Benkhelifa, M. Vouk,and A. Rindos, "Sdstorage: A software defined storage experimentalframework," in IEEE IC2E, March 20 15, pp. 34 1-346.[7] --, "Sdsecurity: A software defined security experimental frame work," in 2015 IEEE International Conference on CommunicationWorkshop (ICCW), June 2015, pp. 187 1- 1876.[8] U. Drolia, R. Martins, J. Tan, A. Chheda, M. Sanghavi, R. Gandhi,and P. Narasimhan, "The case for mobile edge-clouds," in 2013 IEEEUIC/ATC, Dec 20 13, pp. 209-215.[9] X. Sun and N. Ansari, "Edgeiot: Mobile edge computing for the internetof things," IEEE Communications Magazine, vol. 54, no. 12, pp. 22-29,December 20 16.[ 10] Y. Jararweh, A. Doulat, O. AlQudah, E. Ahmed, M. Al-Ayyoub, andE. Benkhelifa, "The future of mobile cloud computing: Integratingcloudlets and mobile edge computing," in 2016 23rd InternationalConference on Telecommunications (ICT), May 20 16, pp. 1-5.[ 1 1] R. R. Fontes, S. Afzal, S. H. B. Brito, M. A. S. Santos, and C. E.Rothenberg, " Mininet-wifi: Emulating software-defined wireless net works," in 2015 11th International Conference on Network and ServiceManagement (CNSM), Nov 20 15, pp. 384-389.[l2] M. Hilbert and P. Lopez, "The world's technological capacity to store,communicate, and compute information," Science, vol. 332, no. 6025,pp. 60-65, 20 1 1. [Online]. Available: http://science.sciencemag.org/content/332/6025/60[ 13] F. Wu and G. Sun, "Software-defined storage," Report. University ofMinnesota, Minneapolis, 2013.[ 14] I. P. C. Edition, "Software defined storage for dummies," New Jersey,pp. 4-5, 2014.[l5] "The state of software-defined storage (sds) ,20 15 market survey," 2015.[Online]. Available: itepapers/engJish/the- state-of- sds-20 15-survey.pdf[l6] emc.com!collateralldata-sheetlAvailable:h 1 1750-emc- vipr-software-defined-storage-ds.pdf[ 17] line]. Available: a-storage-products.html?compURI 1410844[ 18] IBM, "Ibm storage," 2016. [Online]. Available: 9] aper/solutions/vmware-perspective- on-software-defined-storage-white-paper. pdf[20] DataCore, "Software-defined storage features and benefits summary,"2016. [Online]. Available: https:llwww.datacore.com/products/features[2 1] M. J. Huang, C. F. Huang, and W. S. E. Chen, "Architecting a software defined storage platform for cloud storage service," in 2015 IEEEInternational Conference on Services Computing, June 20 15, pp. 379386.[22] C. T. Yang, W. H. Lien, Y. C. Shen, and F. Y. Leu, "Implementationof a software-defined storage service with heterogeneous storage tech nologies," in 2015 IEEE 29th International Conference on AdvancedInformation Networking and Applications Workshops, March 20 15, pp.102-107.[23] B. Lantz, B. Heller, and N. McKeown, "A network in a laptop: Rapidprototyping for software-defined networks," in Proceedings of the 9thACM SIGCOMM Workshop on Hot Topics in Networks, ser. Hotnets-IX.New York, NY, USA: ACM, 20 10, pp. 19: 1-

vendors such as IBM Spectrum storage [18], VMware software defined Storage [19], and DataCore [20]. As of academia, several researchers have investigated SD Storage. Huang et al. [21] proposed a SDStorage architecture based on the following properties: 1) It should facilitate the decoupling of the data plane