twork edge functions and middle box functions are expected to migrate to this infrastructure. These functions include SAE gateways, Broadband Network Gateways, IP edge rout- ers for services like IP-VPN and Ethernet, security functions, and load balancers and distributers. Because these elements do not typically need to forward large aggregates of traffic, their workload can be distributed across a number of servers-each of which adds a portion of the capability; overall, this creates an elastic function with higher availability compared to a monolithic version. An important aspect is that functions are instantiated and managed using an orchestration approach similar to that used in cloud compute services. This means that there are catalogs of functions that can be instantiated any number of times and composed into various network topologies to dynami- cally serve the service provider's needs. A key design principle for virtualizing services is to go beyond just "porting" software that cur- rently supports a complex network function running on a proprietary OS and custom hardware, to Linux on a VM. Rather, we need to decompose the network functions into granular virtual func- tions (VFs) that can be distributed and scaled on a cloud architecture. This enables instantiating and customizing only essential functions as needed for a service, thereby making service delivery nimbler. It provides flexibility of sizing, scaling, and in packaging and deploying VFs as needed for the given service. The Network Cloud enables the deployment of latency-sensitive service VFs close to the users where needed. It enables the grouping of functions in a common cloud data center to minimize intercomponent latency. The VFs should be designed with the goal of being modular and reusable, facilitating the use of best-in-breed vendors. Decoupling subscriber data and state Network Functions Virtualization improves the reliability of virtualized services. It also improves scalability as the data tier can scale independently of the network f