nderlay network. A set of IP tunnels can be used to create a CUG among a group of IP end points. This is called a virtual private network (VPN). VRF is a technology that enables the creation of multiple instances of routing tables in an IP net- work (Rosen, BGP/MPLS IP Virtual Private Networks (VPNs), RFCs 4364 and 2547, 2006). Routing tables are learned and maintained by each router in an IP network. Routing table lookup is performed at each hop along the path of a packet to determine the next hop of the packet. In the original IP net- work architecture, routing logic is defined using a single-routing table, sometimes referred to as the global routing table. VRF defines multiple instances of routing table where each instance may define a CUG. This is a very effective way of creating VPNs (see Figure 3.3). Building the Network of the Future 3.1.2 COMPUTE VIRTUALIZATION Numerous innovations in OSs software have paved the way for compute virtualization (Rosenblum, 2004). Multitasking and multithreading are two of the earliest OS innovations that significantly improved the efficiency of computers. The basic idea of multitasking is that software applica- tions contain multiple tasks that are independently scheduled entities. As the logic within a sin- gle-software process became complex os developers created multitasking within os processes. Multitasking creates the illusion of concurrent execution of parallel tasks. Another OS innovation was to segment a system into multiple independent OSs. A new supervi- sory software layer called hypervisor was created to allow multiple OSs to run as independent tasks. These OSs in turn use multitasking and multithreading to efficiently share the machine among mul- tiple users. This enables the creation of multiple virtual systems or virtual machines (VMs). Each VM has its own isolated execution environment. Multiprocessing was another important innovation. Multiprocessing allows multiple processors (CPUs) to use multitasking and multithreading capabilities to enable real concurr