software defined environments: an...

11
Software defined environments: An introduction C.-S. Li B. L. Brech S. Crowder D. M. Dias H. Franke M. Hogstrom D. Lindquist G. Pacifici S. Pappe B. Rajaraman J. Rao R. P. Ratnaparkhi R. A. Smith M. D. Williams During the past few years, enterprises have been increasingly aggressive in moving mission-critical and performance-sensitive applications to the cloud, while at the same time many new mobile, social, and analytics applications are directly developed and operated on cloud computing platforms. These two movements are encouraging the shift of the value proposition of cloud computing from cost reduction to simultaneous agility and optimization. These requirements (agility and optimization) are driving the recent disruptive trend of software defined computing, for which the entire computing infrastructureVcompute, storage and networkVis becoming software defined and dynamically programmable. The key elements within software defined environments include capability-based resource abstraction, goal-based and policy-based workload definition, and outcome-based continuous mapping of the workload to the available resources. Furthermore, software defined environments provide the tooling and capabilities to compose workloads from existing components that are then continuously and autonomously mapped onto the underlying programmable infrastructure. These elements enable software defined environments to achieve agility, efficiency, and continuous outcome-optimized provisioning and management, plus continuous assurance for resiliency and security. This paper provides an overview and introduction to the key elements and challenges of software defined environments. Introduction Based on the trends toward migrating both mission-critical and performance-sensitive workloads to the cloud deployment model and the convergence of mobile, social, and analytics workloads on the cloud, we see a shift of the value proposition of cloud computing from cost reduction to simultaneous agility and optimization. While cost reduction largely focused on the virtualization of infrastructure (IaaS, or infrastructure as a service), agility focuses on the ability to rapidly react to changes in the cloud environment and workload requirements. Optimization focuses on identifying better outcomes within a cloud environment with respect to the value of the service, the cost of the required resources, and the risk of failure in an unpredictable environment and under constant usage changes. This requires a high degree of automation and programmability of the infrastructure itself. Hence, this shift led to the recent disruptive trend of software defined computing for which the entire system infrastructureVcompute, storage and networkVis becoming software defined and dynamically programmable. Software defined computing receives considerable focus across academia and enterprises [1–7]. Software defined computing originated from the compute environment in which the computing resources are virtualized and managed as virtual machines [8–11]. This enabled mobility and higher resource utilization as several virtual machines are collocated on the same server, ÓCopyright 2014 by International Business Machines Corporation. Copying in printed form for private use is permitted without payment of royalty provided that (1) each reproduction is done without alteration and (2) the Journal reference and IBM copyright notice are included on the first page. The title and abstract, but no other portions, of this paper may be copied by any means or distributed royalty free without further permission by computer-based and other information-service systems. Permission to republish any other portion of this paper must be obtained from the Editor. C.-S. LI ET AL. 1:1 IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014 0018-8646/14 B 2014 IBM Digital Object Identifier: 10.1147/JRD.2014.2298134

Upload: lamthuan

Post on 23-May-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

Software definedenvironments: Anintroduction

C.-S. LiB. L. BrechS. CrowderD. M. DiasH. Franke

M. HogstromD. LindquistG. PacificiS. Pappe

B. RajaramanJ. Rao

R. P. RatnaparkhiR. A. Smith

M. D. Williams

During the past few years, enterprises have been increasinglyaggressive in moving mission-critical and performance-sensitiveapplications to the cloud, while at the same time many new mobile,social, and analytics applications are directly developed andoperated on cloud computing platforms. These two movements areencouraging the shift of the value proposition of cloud computingfrom cost reduction to simultaneous agility and optimization. Theserequirements (agility and optimization) are driving the recentdisruptive trend of software defined computing, for which the entirecomputing infrastructureVcompute, storage and networkVisbecoming software defined and dynamically programmable.The key elements within software defined environments includecapability-based resource abstraction, goal-based and policy-basedworkload definition, and outcome-based continuous mapping ofthe workload to the available resources. Furthermore, softwaredefined environments provide the tooling and capabilities to composeworkloads from existing components that are then continuouslyand autonomously mapped onto the underlying programmableinfrastructure. These elements enable software defined environmentsto achieve agility, efficiency, and continuous outcome-optimizedprovisioning and management, plus continuous assurance forresiliency and security. This paper provides an overview andintroduction to the key elements and challenges of softwaredefined environments.

IntroductionBased on the trends toward migrating both mission-criticaland performance-sensitive workloads to the clouddeployment model and the convergence of mobile, social,and analytics workloads on the cloud, we see a shift of thevalue proposition of cloud computing from cost reductionto simultaneous agility and optimization. While costreduction largely focused on the virtualization ofinfrastructure (IaaS, or infrastructure as a service), agilityfocuses on the ability to rapidly react to changes in thecloud environment and workload requirements. Optimization

focuses on identifying better outcomes within a cloudenvironment with respect to the value of the service, thecost of the required resources, and the risk of failure inan unpredictable environment and under constant usagechanges. This requires a high degree of automationand programmability of the infrastructure itself. Hence,this shift led to the recent disruptive trend of softwaredefined computing for which the entire systeminfrastructureVcompute, storage and networkVis becomingsoftware defined and dynamically programmable. Softwaredefined computing receives considerable focus acrossacademia and enterprises [1–7].Software defined computing originated from the

compute environment in which the computing resourcesare virtualized and managed as virtual machines [8–11].This enabled mobility and higher resource utilization asseveral virtual machines are collocated on the same server,

�Copyright 2014 by International Business Machines Corporation. Copying in printed form for private use is permitted without payment of royalty provided that (1) each reproduction is done withoutalteration and (2) the Journal reference and IBM copyright notice are included on the first page. The title and abstract, but no other portions, of this paper may be copied by any means or distributed

royalty free without further permission by computer-based and other information-service systems. Permission to republish any other portion of this paper must be obtained from the Editor.

C.-S. LI ET AL. 1 : 1IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

0018-8646/14 B 2014 IBM

Digital Object Identifier: 10.1147/JRD.2014.2298134

Page 2: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

and variable resource requirements can be mitigated bybeing shared amongst the virtual machines. Softwaredefined networks (SDNs) move the network control andmanagement planes (functions) away from the hardwarepacket switches and routers to the server for improvedprogrammability, efficiency, extensibility, and security[12–16]. Software defined storage (SDS), similarly, separatesthe control and management planes from the data plane of astorage system and dynamically leverages heterogeneousstorage to respond to changing workload demands [17, 18].Software defined environments (SDEs) bring togethersoftware defined compute, network, and storage and unifythe control and management planes from each individualsoftware defined component. These unified control planesare assembled from programmable resource abstractionsof the compute, network, and storage resources of a system(also known as purpose-fit systems or workload-optimizedsystems) that meet the specific requirements of individualworkloads and enable dynamic optimization in responseto changing business requirements. For example, a workloadcan specify the abstracted compute and storage resourcesof its various workload componentsVand their operationalrequirements (e.g., I/O [input/output] operations persecond)Vand how these components are interconnectedvia an abstract Bwiring[ that will have to be realized usingthe programmable network.In this paper, we provide an overview of the vision,

architecture, and benefit of SDEs, as shown in Figure 1.At the top, workload abstractions (shown as graphs ofconnected services and applications) and related toolsprovide the means to construct workloads and servicesbased on preexisting patterns and to capture the functionaland non-functional requirements of the workloads. At thebottom, heterogeneous compute, storage, and networkingresources are pooled based on their capabilities. Theworkloads and their contexts are then mapped to thebest-suited resources. The unified control plane dynamicallyconstructs, configures, continuously optimizes, andproactively orchestrates the mapping between the workloadand the resources based on the desired outcome specifiedby the workload and the operational conditions of thecloud environment. We also demonstrate at a high level howthis architecture achieves agility, efficiency, and continuousoutcome optimized infrastructure with proactive resiliencyand security, but we also refer to the additional papers in thisjournal for more details and examples. A modeling languagefor SDEs is described in [19]. A language and runtime forcontinuous delivery of software and related infrastructureand the validation of workload blueprints is described in[20, 21]. An overview of how service-level agreementsare being met in virtualized infrastructures is given in [22].State of the art software defined efficient and agile storagesolutions are described in [23] and advances in softwaredefined networking are described in [24].

Software defined environments architectureCurrent virtualization and cloud solutions only allowbasic abstraction of the computing, storage, and networkresources in terms of their capacity [25]. These approachesoften call for standardization of the underlying systemarchitecture to simplify the abstraction of these resources.The convenience offered by the elasticity for scaling theprovisioned resources based on the workload requirements,however, is often achieved at the expense of overlookingcapability differences inherent in these resources. Capabilitydifferences in the computing domain could range fromdifferences in the instruction set architecture (ISA), e.g.,Intel x86 versus IBM POWER* architecturesVto differentimplementations of the same ISA, e.g., Xeon** by Intelversus Opteron** by AMDVto different generations of thesame ISA by the same vendor, e.g., POWER7* versusPOWER7+* versus POWER8* from IBM, and Nehalemversus Westmere versus Sandy Bridge versus Ivy Bridgefrom Intel. An additional dimension is added with the

Figure 1

Architecture of software defined environments. Workloads are complexwirings of components and are represented through abstractions. Givena set of abstract resources the workloads are continuously mapped(orchestrated) into the environment through the unified control plane.The individual resource controllers program the underlying virtualresources (compute, network, and storage).

1 : 2 C.-S. LI ET AL. IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 3: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

availability of general processing units (GPUs) andother accelerators for encryption, compression, extensiblemarkup language (XML) acceleration, or other scalar/vectorfunctions.The workload optimized system approaches often call

for tight integration of the workload with the tuning of theunderlying system architecture for the specific workload.These approaches tightly couple the special capabilitiesoffered by each micro-architecture and by the system levelcapabilities at the expense of potentially labor-intensivetuning required. These workload optimized approachesare not sustainable in an environment where the workloadmight be unpredictable or evolve rapidly as a result ofgrowth of the user population or the continuous changingusage patterns.The conundrum created by these conflicting

requirements in terms of standardized infrastructure vs.workload-optimized infrastructure is further exacerbatedby the increasing demand for agility and efficiency asmore applications from systems of record and systems ofengagement require fast deployment while continuouslybeing optimized based on the available resources andunpredictable usage patterns. Systems of record and systemsof engagement are defined later in this paper, but refer toclient-server ERP (enterprise resource planning) systemsBon top of[ the InternetVand systems that are more focusedon engagement with the large set of end users in theconsumer space, respectively.SDEs are intended to address the challenge created

from the desire for simultaneous agility and optimization.SDEs decouple the abstraction of resources from the realresources and only focus on the salient capabilities ofthe resources that really matter for the desired performance ofthe workload. SDEs also establish the workload definitionand decouple this definition from the actual workloads so thatthe matching between the workload characteristics and thecapabilities of the resources can be done efficiently andcontinuously. Simultaneous abstraction of both resourcesand workloads to enable late binding and flexible couplingamong workload definitions, workload runtime, and availableresources is fundamental to addressing the challengecreated by the desire for both agility and optimizationin deploying workloads.

Policy-based and goal-based workload abstractionWorkload involves the relationship between the amountof processing capabilities (resources) and the tasks thatneed to be performed. Workload modeling is the analyticaltechnique used to measure and predict workloads, withthe primary objective to achieve evenly distributedmanageable workloads, to avoid overload and to satisfyservice level objectives. The workload definition has beenpreviously and extensively studied in the context of the OMG(Object Management Group) Model Driven Architecture

(MDA) initiative during the late 1990s as an approach tosystem specification and interoperability based on the use offormal models. In MDA, platform-independent modelsare described in a platform-independent modeling languagesuch as UML (Unified Modeling Language). Theplatform-independent model is then subsequently translatedinto a platform-specific model by mapping the platformindependent models to implementation languages such asJava**, XML, SOAP (Simple Object Access Protocol), orvarious dynamic scripting languages using formal rules.Workload concepts were heavily used in grid computing,

for example, IBM Platform Symphony, for defining andspecifying tasks and resources, and predicting and optimizingthe resources for the tasks in order to achieve optimalperformance. IBM Enterprise Workload Manager (eWLM)allows the user to monitor application-level transactionsand operating-system processes, allows the user to definespecific performance goals with respect to specific work,and allows adjusting the processing power among partitionsin a partition workload group to ensure that performancegoals are met.More recently, workload automation and development

for deployment have received considerable interests as theDevelopment and Operations (DevOps) concept becomeswidely deployed. These workload automation environmentsoften include programmable infrastructures that describethe available resources and characterization of the workloads(topology, service-level agreements, and various functionaland nonfunctional requirements). Examples of suchenvironments include Amazon Cloud Formation, OracleVirtual Assembly Builder, VMware vFabric, and IBMWorkload Deployer (IWD).A workload, in the context of SDEs, is often composed of

a complex Bwiring[ of services, applications, middlewarecomponents, management agents, and distributed data stores.Correct execution of a workload requires that these elementsbe wired and mapped to appropriate logical infrastructureaccording to workload-specific policies and goals.Workload experts create workload definitions for specific

workloads, which codify the best practices for deployingand managing the workloads. The workload abstractionspecifies all of the workload components includingservices, applications, middleware components, managementagents, and data. It also specifies the relationships amongcomponents and policies/goals defining how the workloadshould be managed and orchestrated [20]. These policiesrepresent examples of workload context embedded in aworkload definition. They are derived based on expertknowledge of a specific workload or are learned in thecourse of running the workload in SDE. These policies mayinclude requirements on continuous availability, minimumthroughput, maximum latency, automatic load balancing,automatic migration, and auto-scaling in order to satisfythe service-level objectives. These Bcontexts[ for the

C.-S. LI ET AL. 1 : 3IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 4: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

execution of the workload need to be incorporated duringthe translation from workload definition to an optimalinfrastructure pattern that satisfies as many of the policies,constraints, and goals that are pertinent to this workloadas possible [21].

Capability-based resource abstraction and softwaredefined infrastructureThe abstraction of resources is based on the capabilities ofthese resources. Capability-based pooling of heterogeneousresources requires classification of these resources basedon workload characteristics. Using compute as an example,server design is often based on the thread speed, threadcount, and effective cache/thread. The fitness of the computeresources (servers in this case) for the workload can thenbe measured by the serial fitness (in terms of thread speed),the parallel fitness (in terms of thread count), and the datafitness (in terms of cache/thread).Capability-based resource abstraction is an important step

toward decoupling provisioning heterogeneous resourcesfrom the workload. Currently, resource provisioning is onlybased on capacity, and hence the differences in characteristicsof the resource are often ignored.The Pfister framework [26] has been used to describe

workload characteristics [7] in a two-dimensional spacewhere one axis describes the amount of thread contention,and the other axis describes the amount of data contention.We can categorize the workload into four categories based onthe Pfister framework: Type 1 (mixed workload updatingshared data or queues), Type 2 (highly threaded applications,including WebSphere* applications), Type 3 (parallel datastructures with analytics, including Big Data, Hadoop**,etc.), and Type 4 (small discrete applications, such asWeb 2.0 apps).Servers are usually optimized to one of the corners

of this two-dimensional space, but not all three corners.For instance, the IBM System z* [27] is best known for itssingle-thread performance, while IBM Blue Gene* [28] isbest known for its ability to carry many parallel threads.Some of the systems (IBM System x3950 [Intel based]and IBM POWER 575) were designed to have better I/Ocapabilities. Eventually there is not one server that can fitall workloads and is good for all types of workloadsdescribed above.This leads to a very important observation: the majority

of workloads (whether they are systems of record or systemsof engagement or combination of the two) consist of multipleworkload types, and are best addressed by a combinationof heterogeneous servers rather than homogeneous servers.We envision resource abstractions based on different

computing capabilities that are pertinent to the subsequentworkload deployments. These capabilities could includehigh memory bandwidth resources, high single threadperformance resources, high I/O throughout resources, high

cache/thread resources, and resources with strong graphicscapabilities. Capability-based resource abstraction eliminatesthe dependency on specific instruction-set architectures(e.g., Intel x86 versus IBM POWER versus ARM)while focusing on the true capability differences (AMDOpteron versus Intel Xeon, and IBM POWER7 versusPOWER7+ versus POWER8 may be represented asdifferent capabilities).Previously, it was reported [29] that up to 70% throughput

improvement can be achieved through careful selectionof the resources (AMD Opteron versus Intel Xeon) to runGoogle’s workloads (content analytics, Big Table, and websearch) in its heterogeneous warehouse scale computercenter. Likewise, storage resources can be abstracted beyondthe capacity and block versus file versus objects. Additionalcharacteristics of storageVsuch as high I/O throughput,high resiliency, and low latencyVcan all be Bbrought to thesurface[ as part of storage abstraction. Networking resourcescan be abstracted beyond the basic connectivity andbandwidth. Additional characteristics of networkingVsuchas latency, resiliency, and support for remote direct memoryaccess (RDMA)Vcan be brought to the surface as partof the networking abstraction.The combination of capability-based resource abstraction

for software defined compute, storage, and networking formsthe software defined infrastructure, as shown in Figure 2.This is essentially an abstract view of the available computeand storage resources interconnected by the networkingresources. This abstract view of the resources includes thepooling of resources with similar capabilities (for compute

Figure 2

Capability-based resource abstraction.

1 : 4 C.-S. LI ET AL. IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 5: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

and storage), connectivity among these resources (withinone hop or multiple hops), and additional functional ornonfunctional capabilities attached to the connectivity(load balancing, firewall, security, etc.). Additional physicalcharacteristics of the datacenter are often captured in theresource abstraction model as well. These characteristicsinclude clustering (for nodes and storage sharing the sametop of the rack switches and that can be reached withinone hop), point of delivery (POD) (for nodes and storagearea network [SAN]-attached storage sharing the sameaggregation switch and can be reached within 4 hops),availability zones (for nodes sharing the same uninterruptedpower supply (UPS) and A/C), and physical data center(for nodes that might be subject to the same natural orman-made disasters). These characteristics are often neededduring the process of matching workload requirements toavailable resources in order to address various performance,throughput, and resiliency requirements.

Continuous optimizationAs a business increasingly relies on the availability andefficiency of its IT infrastructure, linking the businessoperations to the agility and performance of the deploymentand continuous operation of IT becomes crucial for theoverall business optimization. SDEs provide an overallframework for directly linking the business operationto the underlying IT as described below.Each business operation can be decomposed into multiple

tasks, each of which has a priority. Each task has a set ofkey performance indicators (KPIs), which could includeconfidentiality, integrity, availability, correctness/precision,quality of service (latency, throughput, etc.), and potentiallyother KPIs.As an example, an e-commerce business operation might

include the following tasks: marketing (ad display), searchagainst the catalog, verifying the inventory, invoicing andbilling, and fulfillment. Each of these tasks may be measuredby different KPIs: display ads may focus on availability;search against catalog may focus on latency and thenprecision; verification of inventory/invoicing/billingmay focus on integrity. The specification of the taskdecomposition of a business operation, the priority of eachtask, and KPIs for each task allow trade-offs being madeamong these tasks when necessary. Using search againstcatalog as an example, precision might have to be reducedwhen there is insufficient capacity until the capacity isincreased or the load is reduced.The KPIs for the task often are translated to the

architecture and KPIs for the infrastructure. Confidentialityusually translates to required isolation for the infrastructure.Availability potentially translates into redundant instantiationof the runtime for each task using active-active oractive-passive configurations. Integrity of transactions,data, processes, and policies is managed at the application

level, while the integrity of the executables and virtualmachine images is managed at the infrastructure level.Correctness and precision need to be managed at theapplication level, and quality of service (QoS) (latency,throughput, etc.) usually translates directly to theimplications for infrastructures.Continuous optimization of the business operation is

performed to ensure optimal business operation during bothBnormal time[ (best utilization of the available resources)as well as Babnormal time[ (ensures the business operationcontinues in spite of potential system outages). Thispotentially requires tradeoffs among KPIs in order to ensurethe overall business performance does not drop to zero dueto outages.The overall close-loop framework, as shown in Figure 3,

for continuous optimizing is as follows:

• The KPIs of the service are continuously monitored andevaluated at each layer (the application layer and theinfrastructure layer), so that the overall utility function(value of the business operation, cost of resource, andrisk to potential failures) can be continuously evaluatedbased on the probabilities of success and failure,PðsuccessÞ and PðfailureÞ. Deep introspection, i.e. adetailed understanding of resource usage and resourceinteractions, within each layer is used to facilitate themonitoring. The data is fed into the behavior modelsfor the SDE (which includes the workload, the data(usage patterns), the infrastructure, and the peopleand processes).

• When triggering events occur, what-if scenarios fordeploying different amount of resources against eachtask will be evaluated to determine whether KPIs canbe potentially improved.

• The scenario that maximizes the overall utility functionis selected, and the orchestration engine will orchestratethe SDE through the following: (a) adjustment toresource provisioning (scale up or down), (b) quarantineof the resources (in various resiliency and securityscenarios), (c) task/workload migration, and (d) serverrejuvenation.

Simultaneous agility and efficiencyIt was observed in [30] that a fundamental change in the axisof IT innovation is happening in the industry. Prior to 2000,new systems were introduced at the very high end of theeconomic spectrum (large public agencies and Fortune500 companies). These innovations trickled down to smallerbusinesses, then to home office applications, and finally toconsumers, students and even children. In this past decade,this innovation flow has been reversed and often startedwith the consumers, students, and children leading theway, especially due to the proliferation of mobiledevices. These innovations are then adopted by nimble

C.-S. LI ET AL. 1 : 5IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 6: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

small-to-medium-size businesses. Larger institutions areoften the last to embrace these innovations.The author of [30] coined the term Bsystems of

engagement[ for the new kinds of systems that are morefocused on engagement with the large set of end users in

the consumer space. As shown in Figure 4, many systemsof engagement such as Facebook**, Twitter**, Netflix**,Instagram**, and many others are Bborn[ on the cloud usingpublic cloud services from Amazon Web Services (AWS),Google App Engine, Microsoft Azure**, Rackspace**, etc.

Figure 4

Industry is responding to the trend toward simultaneous agility and efficiency through a product driven and service driven approach. Two potential pathare shown toward simultaneous agility and performance (classifications are estimates and for illustration only): (a) service-centric, which is typicallyfollowed by offerings that are systems of engagement centric, and (b) product-centric, which is typically followed by offerings that are systems-of-record centric.

Figure 3

Outcome-optimized framework for software defined environments.

1 : 6 C.-S. LI ET AL. IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 7: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

These systems of engagement often follow the agilitytrajectory. On the other hand, as mentioned, theworkload-optimized system concept is introduced to theBsystems of record[ environment, which occurred with therise of client-server ERP (enterprise resource planning)systems Bon top of[ the Internet. Here the entire system, fromtop to bottom, is tuned for the database or data warehouseenvironment. Evidence is mounting that both kinds ofsystems are likely to converge in the upper right quadrantof Figure 4 as systems of engagement are demandingoptimal efficiency, while systems of records are demandingimproved agility.Netflix is an example that started as a system of

engagement. Its traffic grew 37 times between January 2010and January 2011. As a result, Netflix’s infrastructure stackwent through rapid transitions to address the fast evolutionof the environment. The key approach adopted by Netflixis to instrument and automate all aspects as much as possibleto achieve continuous delivery and agile deployment.Since 2012, Netflix also began its relentless pursuingof efficiency. When AWS came out with instancesequipped with solid-state drives (SSDs) during July 2012,Netflix quickly determined that the use of these typesof AWS instances eliminate the need for MemcacheD,a memory-based caching service, and achieved a two-foldcost reduction in spite of each new type of instance beingmore expensive, as fewer instances are needed. Animoto,a company specialized in generating videos from photoalbums, leverages GPU-equipped instances from AWS toaccelerate the video synthesis process and achieved a ten-foldthroughput improvement as well as much improved videoresolution. Meanwhile, most of the workload-optimizedsystems in the industry, such as Oracle Exadata/Exalogic[31] and SAP Hana [32], are being provided in the contextof private cloud environments to facilitate virtualizationand sharing for improved agility.

Continuous assurance on resiliencyand securityThe key securities challenges that need to be addressedin an SDE include the following. First, challenges existdue to SDE’s increased virtualization. Traditional securityarchitectures are physically based, as IT security oftenrelies on the identities of the machine and the network.This model is less effective when there are multiple layersof virtualization and/or abstractions, which could resultin many virtual Bsystems[ being created within thesame physical system or multiple physical systemsvirtualized into a single virtual system. This is furthercompounded by the use of dedicated or virtual appliancesin the computing environment.Second, challenges exist due to SDE’s increased agility.

SDEs enable standing up and tearing down computing,storage and networking resources quickly as everything

becomes programmable; hence, they break the long termassociation between security policies and the underlyinghardware and software environment. The emergingSDE environment requires the ability to quickly set up andcontinuously evolve security policies directly related to users,workloads, and the software defined infrastructure. Thereare no permanent associations (or bindings) between thelogical resources and physical resources as software definedBsystems[ can be continuously created from scratch, canbe continuously evolved, and destroyed at the end. Asa result, the challenge will be to provide a low-overheadapproach for capturing the provenance (Bwho[ hasdone what, at what time, to whom, in what context),to identify the suspicious events in a rapidly changingvirtual topology.Third, challenges exist due to SDE’s increased resource

heterogeneity. In order to accommodate heterogeneouscompute, storage, and network resources in an SDE,resources are abstracted in terms of capability and capacity.This normalization of the capability across multiple typesof resources masks the potential differences in variousnonfunctional aspects such as the vulnerabilities to outagesand security risk.The overall framework on continuous assurance of

resiliency and security is directly related to the continualoptimization of the services performed within the SDEs,taking into account the value created by the delivery ofservice, subtracting the cost for delivering the service andthe cost associated with a potential failure (weighted by theprobability of such failure). This framework allows us toproperly calibrate the value@risk for any given service, sothat the overall metric will be risk adjusted cost performance.The key elements for providing continuous assurance, toensure resiliency and security, as shown in Figure 5, includethe following. The first element is deep introspection,which works with probes (often in the form of agents)inserted into the governed system to collect additionalinformation that cannot be easily obtained simply byobserving network traffic. These probes could be insertedinto the hardware, hypervisors, guest virtual machines,middleware, or applications. Additional approaches includemicro-checkpoints and periodic snapshots of the virtualmachine images when they are active. The key challengeis to avoid introducing unnecessary overhead whileproviding comprehensive capabilities for monitoringand rollback when abnormal behaviors are found.The second key element is behavior modeling. The data

collected from deep introspection are assimilated with user,system, workload, threat, and business behavior models.Known causalities among these behavior models as well asthe models themselves allow the early detection of unusualbehaviors. Being able to provide early warning of theseabnormal behaviors from users, systems, and workloads,as well as various cyber security threats, is crucial for

C.-S. LI ET AL. 1 : 7IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 8: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

taking proactive actions against these threats and ensuringcontinuous business operations.Third, the assurance engine will continuously evaluate

the predicted trajectory of the user, system, workload andthreats and compare against the business objectives andpolicies to determine whether proactive actions need to betaken by the orchestration engine.Finally, the orchestration engine receives instructions

from the assurance engine and orchestrates defensiveor offensive actions including taking evasive maneuvers asnecessary. Examples of these defensive or offensive actionsincludes: fast workload migration from infected areas,fine-grained isolation and quarantine of infected areas ofthe system, server rejuvenation of those server images whenthe risk of server image contamination due to malware isfound to be unacceptable, and IP (Internet Protocol) addressrandomization of the workload, making it much moredifficult to accurately pinpoint an exact target for attacks.

ConclusionAs the industry is quickly moving toward converged systemsof record and systems of engagement, enterprises areincreasingly aggressive in moving mission-critical andperformance-sensitive applications to the cloud. Meanwhile,many new mobile, social, and analytics applications aredirectly developed and operated on the cloud. Theseconverged systems of records and systems of engagementwill demand simultaneous agility and optimization, and

will inevitably require SDEs for which the entire systeminfrastructureVcompute, storage and network–is becomingsoftware defined and dynamically programmable andcomposable.In this paper, we described an SDE framework

that includes capability-based resource abstraction,goal/policy-based workload definition, and continuousoptimization of the mapping of the workload to the availableresources. These elements enable SDEs to achieve agility,efficiency, continuously optimized provisioning andmanagement, and continuous assurance for resiliencyand security.

*Trademark, service mark, or registered trademark of InternationalBusiness Machines Corporation in the United States, other countries,or both.

**Trademark, service mark, or registered trademark of IntelCorporation, Sun Microsystems, Apache Software Foundation,Facebook, Inc., Twitter, Inc., Netflix, Inc., Instagram, Inc., MicrosoftCorporation, Rackspace, Inc., or Linus Torvalds in the United States,other countries, or both.

References1. Data Center and Virtualization. [Online]. Available: http://www.

cisco.com/en/US/netsol/ns340/ns394/ns224/index.html2. R. Prodan and S. Ostermann, BA survey and taxonomy of

infrastructure as a service and web hosting cloud providers,[ inProc. 10th IEEE/ACM Int. Conf. Grid Comput., 2009, pp. 17–25.

3. RackSpace. [Online]. Available: http://www.rackspace.com/4. Amazon Web Services. [Online]. Available: http://aws.

amazon.com/

Figure 5

Continuous assurance for resiliency and security helps enable continuous deep introspection, advanced early warning, and proactive quarantine andorchestration for software defined environments.

1 : 8 C.-S. LI ET AL. IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 9: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

5. IBM Cloud Computing Overview, IBM Corporation,Armonk, NY, USA. [Online]. Available: http://www.ibm.com/cloud-computing/us/en/

6. Cloud Computing with VMWare Virtualization and CloudTechnology. [Online]. Available: http://www.vmware.com/cloud-computing.html

7. J. Temple and R. Lebsack, BFit for purpose: Workload basedplatform selection,[ J. Comput. Resourc. Manage., no. 129,pp. 20–43, Summer 2011.

8. S. E. Madnick, BTime-sharing systems: Virtual machineconcept vs. conventional approach,[ Modern Data, vol. 2, no. 3,pp. 34–36, Mar. 1969.

9. G. J. Popek and R. P. Goldberg, BFormal requirements forvirtualizable third generation architectures,[ Commun. ACM,vol. 17, no. 7, pp. 412–421, Jul. 1974.

10. P. Barman, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho,R. Neugebauer, I. Pratt, and A. Warfield, BXen and the art ofvirtualization,[ in Proc. ACM SOSP, Oct. 2013, pp. 164–177.

11. E. Bugnion, S. Devine, M. Rosenblum, J. Sugerman, andE. Y. Wang, BBringing virtualization to the x86 architecturewith the original VMware workstation,[ ACM Trans. Comput.Syst., vol. 30, no. 4, pp. 12:1–12:51, Nov. 2012.

12. C.-S. Li and W. Liao, BSoftware defined networks [guesteditorial],[ IEEE Commun. Mag., vol. 51, no. 2, p. 113, Feb. 2013.

13. M. Casado, M. J. Freedman, J. Pettit, J. Luo, N. Gude,N. McKeown, and S. Shenker, BRethinking enterprise networkcontrol,[ IEEE/ACM Trans. Netw., vol. 17, no. 4, pp. 1270–1283,Aug. 2009.

14. D. Kreutz, F. Ramos, and P. Verissimo, BTowards secure anddependable software-defined networks,[ in Proc. 2nd ACMSIGCOMM Workshop Hot SDN, 2013, pp. 55–60.

15. W. Stallings. (2013, Mar.). Software-defined networks andopenflow. Internet Protocol J. [Online]. 16(1). Available:http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_16-1/161_sdn.html

16. Security Requirements in the Software Defined Networking Model.[Online]. Available: http://tools.ietf.org/html/draft-hartman-sdnsec-requirements-00

17. ViPR: Software Defined Storage. [Online]. Available: http://www.emc.com/data-center-management/vipr/index.htm

18. A. Singh, M. Korupolu, and D. Mohapatra, BServer-storagevirtualization: Integration and load balancing in data centers,[in Proc. ACM/IEEE Conf. SC, Piscataway, NJ, USA, 2008,pp. 53:1–53:12, IEEE Press.

19. G. Breiter, M. Behrendt, M. Gupta, S. D. Moser, R. Schulze,I. Sippli, and T. Spatzier, BSoftware defined environments basedon TOSCA in IBM cloud implementations,[ IBM J. Res. & Dev.,vol. 58, no. 2/3, Paper 9, Mar./May 2014.

20. M. H. Kalantar, F. Rosenberg, J. Doran, T. Eilam, M. D. Elder,F. Oliveira, E. C. Snible, and T. Roth, BWeaver: Language andruntime for software defined environments,[ IBM J. Res. & Dev.,vol. 58, no. 2/3, Paper 10, Mar./May 2014.

21. W. C. Arnold, D. J. Arroyo, W. Segmuller, M. Spreitzer,M. Steinder, and A. N. Tantawi, BWorkload orchestration andoptimization for software defined environments,[ IBM J. Res. &Dev., vol. 58, no. 2/3, Paper 11, Mar./May 2014.

22. G. Kandiraju, H. Franke, M. D. Williams, M. Steinder, andS. M. Black, BSoftware defined infrastructures,[ IBM J. Res. &Dev., vol. 58, no. 2/3, Paper 2, Mar./May 2014.

23. A. Alba, G. Alatorre, C. Bolik, A. Corrao, T. Clark, S. Gopisetty,R. Haas, R. I. Kat, B. S. Langston, N. S. Mandagere, D. Noll,S. Padbidri, R. Routray, Y. Song, C.-H. Tan, and A. Traeger,BEfficient and agile storage management in software-definedenvironments,[ IBM J. Res. & Dev., vol. 58, no. 2/3, Paper 5,Mar./May 2014.

24. C. Dixon, D. Olshefski, V. Jain, C. DeCusatis, W. Felter,J. Carter, M. Banikazemi, V. Mann, J. M. Tracey, and R. Recio,BSoftware defined networking to support the software definedenvironment,[ IBM J. Res. & Dev., vol. 58, no. 2/3, Paper 3,Mar./May 2014.

25. M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. H. Katz,A. Konwinski, G. Lee, D. A. Patterson, A. Rabkin, I. Stoica, and

M. Zaharia, BAbove the clouds: A Berkeley view of cloudcomputing,[ Univ. California, Berkeley, Berkeley, CA, USA,Tech. Rep. UCB/EECS-2009-28, Feb. 10, 2009. [Online].Available: http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html

26. F. Darema-Rogers, G. Pfister, and K. So, BMemory access patternsof parallel scientific programs,[ in Proc. ACM SIGMETRICSConf. Meas. Model. Comput. Syst., 1987, pp. 46–58.

27. J. Haas and R. Wallner, BIBM zEnterprise systems andtechnology,[ IBM J. Res. & Dev., vol. 56, no. 1/2, pp. 1–6,Jan./Feb. 2012.

28. BIBM Blue Gene,[ IBM J. Res. & Dev., vol. 49, no. 2/3,Mar. 2005.

29. J. Mars, L. Tang, and R. Hundt, BHeterogeneity inBHomogeneous[ warehouse-scalecomputers: A performanceopportunity,[ Comput. Architect. Lett., vol. 10, no. 2, pp. 29–32,Jul. 2011.

30. J. Moore, BSystem of Engagement and the Future of Enterprise IT:A Sea Change in Enterprise IT,[ in AIIM White Paper, 2012.[Online]. Available: http://www.aiim.org/~/media/Files/AIIM%20White%20Papers/Systems-of-Engagement-Future-of-Enterprise-IT.ashx

31. Oracle Exadata. [Online]. Available: http://www.oracle.com/us/products/database/exadata/overview/index.html

32. SAP Hana. [Online]. Available: http://www.saphana.com/welcome

Received October 3, 2013; accepted for publicationOctober 29, 2013

Chung-Sheng Li IBM Research Division, Thomas J. WatsonResearch Center, Yorktown Heights, NY 10598 USA ([email protected]). Dr. Li’s research interests include cloud computing, securityand compliance, digital library and multimedia databases, knowledgediscovery and data mining, and data center networking. He hasauthored or coauthored more than 130 journal and conference papersand received the best paper award from IEEE Transactions onMultimedia in 2003. He is both a member of IBM Academy ofTechnology and a Fellow of the IEEE. He received a B.S.E.E. degreefrom National Taiwan University, Taiwan, R.O.C., in 1984, and theM.S. and Ph.D. degrees in electrical engineering and computer sciencefrom the University of California, Berkeley, in 1989 and 1991,respectively.

Brad L. Brech IBM Systems and Technology Group, Rochester,MN 55901 USA ([email protected]). Mr. Brech’s developmentcareer includes work in logic design, virtualization, communications,system architecture, and energy-efficient computing. He is knownthrough several product releases, papers and presentations, and hisindustry work. He is a member of IBM Academy of Technologyand Board member of The Green Grid. He received a B.E.E.E. degreefrom Steven’s Institute of Technology in 1982.

Scott Crowder IBM Corporation, Armonk, NY 10504 USA([email protected]). As Vice President, Technical Strategy atIBM, Dr. Crowder is responsible for supporting the development oftechnical and business strategy for IBM’s growth initiatives, includingSmarter Planet*, Business Analytics and Optimization, Cloud, andSystems Leadership. He was previously a development executive atIBM’s Semiconductor Research and Development Center. He is anauthor or co-author of 14 patents and 16 technical papers. He receivedhis Ph.D. degree in electrical engineering from Stanford Universityin 1995 and has master’s degrees in economics and in electricalengineering and bachelor’s degrees in international relations andelectrical engineering.

Daniel M. Dias IBM Research Division, Thomas J. WatsonResearch Center, Yorktown Heights, NY 10598 USA. Dr. Dias isdirector of cloud innovation technologies at the IBM T. J. WatsonResearch Center. Prior to this, he was the inaugural lab director

C.-S. LI ET AL. 1 : 9IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 10: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

of IBM ResearchVBrazil, with responsibility for leading and creatingIBM’s first research lab in the southern hemisphere. Earlier, he ledthe internet infrastructure and computing utilities department at theIBM T. J. Watson Research Center, where he and his team builtone of the first scalable and highly available web servers, with keypatents and papers, forming the basis for IBM offerings and products inthis area. Dr. Dias is co-inventor on more than 45 issued U.S. patents,and coauthor of more than 90 refereed publications. He receivedhis M.S. and Ph.D. degrees from Rice University, Houston, Texas,both in electrical engineering. He is an IBM Distinguished Engineer,a member of the IBM Academy of Technology, and a Fellow ofthe IEEE.

Hubertus Franke IBM Research Division, Thomas J. WatsonResearch Center, Yorktown Heights, NY 10598 USA ([email protected]). Dr. Franke is a Research Staff Member and Senior Manager forSoftware Defined Infrastructures at the IBM T. J. Watson ResearchCenter. He received a Diplom degree in computer science from theTechnical University of Karlsruhe, Germany, in 1987, and M.S. andPh.D. degrees in electrical engineering from Vanderbilt Universityin 1989 and 1992, respectively. He subsequently joined IBM at theT. J. Watson Research Center, where he worked on the IBM SP1/2messaging, scalable operating systems, multi-core architectures,scalable applications, and most recently cloud platforms. He receivedseveral IBM Outstanding Innovation Awards for his work. He is anauthor or coauthor of more than 30 patents and over 100 technicalpapers. He is a Master Inventor and a Member of the IBM Academyof Technology.

Matt Hogstrom IBM Software Group, Research Triangle Park,NC 27709 USA ([email protected]). Mr. Hogstrom is an IBMDistinguished Engineer In his current role, Mr. Hogstrom is theCTO (chief technology officer) for the architecture and strategy forsoftware defined environments (SDE). His prior roles included architectof the IBM Workload Deployer (preciously known as WebSphereCloudBurst Appliance), chief architect of WebSphere AppServerCommunity Edition, and architect of the WebSphere performanceteam across all runtime environments.

Dave Lindquist IBM Software Group, Tivoli, Durham, NC 27703USA ([email protected]). Mr. Lindquist, an IBM Fellow and VicePresident, is an IBM Software Group CTO (chief technical officer)responsible for the strategy and architecture of IBM’s Cloud technology(SmartCloud* software), Smarter Infrastructure, and Integrated ServiceManagement solutions. He has more than 25 years of experience as aglobal technology leader in cloud computing, management systems,web infrastructure, networking, and large systems architecture.Appointed an IBM Fellow in 2007, IBM’s highest technical honor, Mr.Lindquist began his career with IBM in the Server Group, specializingin large-systems architecture, performance and database systems. In1990, he joined the IBM Software Group, where he has focused oncloud, web infrastructure, content delivery networks, mobile andwireless technology, and Internet products. His researchhas led to 48 patents, recognition as an IBM Master Inventor, andelection into the IBM Academy of Technology.

Giovanni Pacifici IBM Research Division, Thomas J. WatsonResearch Center, Yorktown Heights, NY 10598 USA ([email protected]). Dr. Pacifici joined IBM Research in 1995. He currentlyserves as the Director of Distributed Computing, leading a researchprogram on foundation technologies for cloud computing, information,and service integration. His personal research interests includelanguage and tools for representing and manipulating workloadcomponents and the use of analytics to optimize and manageworkloads. Dr. Pacifici’s research led to the creation of a number ofIBM products including PureApplication* System, IBM WorkloadDeployer, WebSphere Virtual Enterprise, and Deployment Planningand Automation delivered as an extension of Rational SoftwareArchitect. Dr. Pacifici served as Technical Program Co-Chair of IEEE

INFOCOM (International Conference on Computer Communications)in 2001 and is a past editor of the IEEE/ACM Transactions onNetworking, the Elsevier Science’s Computer Networks Journal,and two special issues of the IEEE Journal on Selected Areasin Communications. He received a Laurea in electrical engineeringand a research doctorate in information science and telecommunicationsfrom the University of Rome BLa Sapienza.[ Dr. Pacifici is a seniormember of IEEE, a member of ACM, and a member of the IBMAcademy of Technology.

Stefan Pappe IBM Global Technology Services, CloudArchitecture and Solution Design ([email protected]). Dr. Pappeis an IBM Fellow and an expert in cloud computing and asset-basedservices. He currently oversees the architecture and design of IBMGlobal Technology Services’ cloud offerings and client solutions inIBM’s Global Technology Services. Dr. Pappe received a master’sdegree in economics from University of Karlsruhe, Germany,in 1986, and a Ph.D. degree in computer science from Universityof Kaiserslautern, Germany, in 1990. Dr. Pappe spent most of the25 years of his IBM career fueling the services business throughtechnical advancements. His assignments ranged from infrastructureto business services, including both project and managed services.He is author or coauthor of several patents and technical papers,including the BIBM Cloud Computing Reference Architecture,[a comprehensive technical blueprint guiding cloud designand delivery.

Bala Rajaraman IBM Software Group, Durham, NC 27703 USA([email protected]). Dr. Rajaraman has been with IBM since 1992and is currently a Distinguished Engineer with responsibilitiesincluding the strategy, architecture, and design of Cloud andService Management solutions. He is the Chief Architect for thePaaS (platform as a service) aspects of the Next Generation CloudArchitecture. He is involved in the strategy, architecture, and designof several products for cloud and service management and supportsthe strategy and implementation of solutions at several large clients.In the recent past, he has been responsible for various aspectsof Cloud solutions and DevOps; service management includingITIL (Information Technology Infrastructure Library), processautomation and integration, and provisioning and automation tools;and performance of IBM System z communication stacks. Hisareas of professional interest include communications technologies,systems performance, autonomic computing, and service and systemsmanagement. He holds over 25 patents in these areas. He receiveda Ph.D. degree in computer engineering from Clemson University,South Carolina, and a master’s degree in computer engineering fromDrexel University, Philadelphia.

Josyula Rao IBM Research Division, Thomas J. Watson ResearchCenter, Yorktown Heights, NY 10598 USA ([email protected]).Dr. Rao leads Security Research at IBM. Based in IBM’s Thomas J.Watson Research Center, the global team comprises over a hundredresearchers who work in the areas of cryptography, cybersecurity,cloud, mobile security and secure platform technologies. Dr. Rao worksclosely with customers, academic partners and IBM business unitsto drive new and innovative technologies into IBM’s productsand services and definitive industry standards. The goal of his researchis to significantly Braise the bar[ on the quality of security whilesimultaneously easing the overhead of developing and deploying securesolutions. Dr. Rao has published widely in premier security conferencesand workshops and holds numerous U.S. and European patents.He is a member of both the Industry Advisory Board of theGeorgia Tech Information Security Center and the prestigious IBMAcademy of Technology, as well as emeritus member of the IFIP(International Federation for Information Processing) Working Group2.3 (Programming Methodology). Dr. Rao obtained his doctorate

1 : 10 C.-S. LI ET AL. IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014

Page 11: Software defined environments: An introductionrboutaba.cs.uwaterloo.ca/Courses/CS856-F14/Papers/06798712.pdfSoftware defined environments: An introduction C.-S. Li B. L. Brech

degree from the University of Texas at Austin in 1992, an M.S. degreein computer science from the State University of New York at StonyBrook, 1986 and a B.Tech. degree in electrical engineering from theIndian Institute of Technology, Kanpur, 1984.

Radha P. Ratnaparkhi IBM Research Division, Thomas J.Watson Research Center, Yorktown Heights, NY 10598 USA([email protected]). Ms. Ratnaparkhi is the Vice President forSoftware Defined Environments at IBM Research where she leadsa global team of over 100 researchers worldwide. Just prior to this,she was the Vice President for IT and Wireless Convergence at IBMResearch where she was responsible for defining the IBM strategyin this space. Previously, she was the Director of Commercial Systemswhere she led the research initiative in the area of Cloud Computing.She has also led and managed the commercialization efforts of ahigh-end text analytics solution WebFountain. Her experience atIBM further includes her development leadership effort for IBM’sflagship database product DB2* on the mainframe. Prior to IBM, sheled the Java products development team at Informix Software. Herexperience at Informix spans all products, namely, Informix DynamicServer, Connectivity, and Tools products. She started her career inMumbai, India with Tata Consultancy Services (TCS)VIndia’s premierservices consulting firm, after completing her Masters of Technologydegree from the Indian Institute of Technology (IIT) in Delhi.

Rodney A. Smith IBM Software Group, Atlanta, GA 30328 USA([email protected]). Mr. Smith is an IBM fellow and VicePresident of the IBM Emerging Internet Technologies organization.He leads a group of highly technical innovators who are developingsolutions to help organizations realize the value of big data. His earlyadvocacy in the industry has played an important role in the adoptionof technologies such as J2EE (Java 2 Platform Enterprise Edition),Linux**, web services, extensible markup language), rich Internetapplications, and various wireless standards. He is helping leadIBM’s efforts around big data analytics and the application ofIBM Watson*-like technologies to business solutions, helpingcompanies make better decisions more quickly for improved businessoutcomes. He is a computer science graduate of Western MichiganUniversity, and holds M.A. and B.A. degrees in economics with aconcentration in math from Western Michigan University.

Michael D. Williams IBM Systems and Technology Group,Poughkeepsie, NY 12601 USA ([email protected]). Mr. Williamsis a Distinguished Engineer and member of the IBM Academyof Technology. He joined IBM in 1989 after graduating magna cumlaude from the State University of New York at Oswego with abachelor’s degree in computer science. Throughout his career, he hashad a broad set of client-facing and development responsibilities in thearea of systems and software. His current focus is software architectureand design for IBM’s next generation systems with an emphasis onsoftware defined environments, cloud, and virtualization.

C.-S. LI ET AL. 1 : 11IBM J. RES. & DEV. VOL. 58 NO. 2/3 PAPER 1 MARCH/MAY 2014