of environments, services, or network flows. This control loop, among DCAE, policy, orchestration, and SDN control continuously runs to maintain the network Building the Network of the Future services and resources in optimal conditions. This is explained in more detail in Chapter 7. The Big Data infrastructure design and implementation is the topic of discussion for Chapter 8. 6.4.2 SOFTWARE VALIDATION A benefit of the type of network control that the network controller provides is the ability to parti- tion traffic flows using virtual routers and switches in the network into "staging" environments or safe zones where new capabilities or software, for example, new NFVs, can be safely tested without impact to the current production or test environment. This allows new capabilities or software to be introduced and evaluated and validated on the target environment in a controlled manner, without the need for dedicated staging infrastructure. 6.4.3 HIGH AVAILABILITY AND GEO-DIVERSITY The physical location of network controller instances will be deployed into high-availability clusters of colocated servers, with each cluster having a designated "master" node. In support of geo-diversity, network controller instances will be deployed in different data centers. Traffic will be steered toward particular network controller clusters by means of data sharding [2]. Shards will replicate state to two or more peers SO that upon failure of the master for the shard a new master will be elected. Members of a shard cluster will have a protocol to detect failure of the master node and elect a new master node. 6.4.4 RELATIONSHIP TO APPLICATION SERVICE CONTROLLERS The same protocols that allow the master service orchestrator to call the network controller will allow application service controllers to make requests as well. For instance, the VOIP application service controller could call the network controller to request changes in the L3 configuration sup- porting a VOIP service. 6.4.5 FEDERATION BETWEEN NETWORK CONTROLLERS Peer-to-