the requirement that the implementation be done on open source platforms with open Application Programming Interfaces (APIs). Today, SDN is commonly perceived to be a new networking paradigm that arose from the vir- tualization of data-center networks, which in turn was driven by the virtualization of compute and storage resources. However, SDN techniques have been used at AT&T (and other carriers) for more BSS SW OSS SW Server Server Server Server FIGURE 1.2 Transforming the network. The Need for Change than a decade. These techniques have been embedded in the home grown networking architecture used to create an overlay of network-level intelligence provided by a comprehensive and global view of not only the network traffic, resources, and policies, but also the customer application's resources and policies. The motivation was to enable creation of customer application-aware, value-added service features that are not inherent in the vendor's switching equipment. This SDN-like approach has been repeatedly applied successfully to multiple generations of carrier networking services, from traditional circuit-switching services through the current IP/Multi-Protocol Label Switching (MPLS) services. As computer technology evolved, the telecommunication industry became a large user of com- puters to automate tasks such as setting up connections. This also launched the first application of software in telecom-software that allowed the control of the telecommunications specific hard- ware in the switches. As the number and complexity of the routing decisions grew, there came a need to increase the flexibility of the network-to make global decisions about routing a call that could not be done in a distributed fashion. The first "software-defined network controller" was invented, namely the Network Control Point (NCP). Through a signaling "API," the controller could make decisions in real time about whether a request for a call should be accepted, which end point to route the call to, and who should be billed for the call. 