120 likes | 237 Views
Virtual Active Networks. Gong Su Mar. 9, 2000. Network Computing Models. Traditional: end-to-end, Client-server software at end nodes The network is but a packet-transport wire Emerging: edge-to-edge Application services/components deployed at edge nodes
E N D
Virtual Active Networks Gong Su Mar. 9, 2000
Network Computing Models • Traditional: end-to-end, • Client-server software at end nodes • The network is but a packet-transport wire • Emerging: edge-to-edge • Application services/components deployed at edge nodes • Examples: web proxies, firewalls, QoS/bandwidth brokers… • Applications need to interact with network resources & topology • Configure resources to provide appropriate service • Adapt to availability and performance of network components
VAN: Middleware for Edge-Computing • VAN is a middleware architecture that enables applications to • Configure network topology • Allocate node and link resources
A Driving Example • A web caching application needs… • Coverage for certain network area • Connectivity among caching service components • Resources to move cached contents • Solution: requests a VAN that provides • Coverage: spans a ring between AS1, AS2, AS4, and AS5 • Resources: provides at least 1mbps for all connections • Reliability: prohibits more than 2 virtual links from traversing the same physical link Physical network AS3 Virtual spec. AS1 D 1mbps AS2 A B C 1mbps 1mbps D C AS4 1mbps Mapping by VAN AS5 A B A B Logical hierarchy D C
VAN Contributions • Enable applications to configure network • Algorithm that maps VAN specification to physical resources • Acquire distributed node and link resources • Deadlock-free VAN resource provisioning protocol • Recover from underlying network failure • Protocol that preserves VAN service semantics under failures
VAN Service Arch Components • VAN Local Manager (VLM) • Manages local node resources • Supports deadlock-free VAN provisioning • Monitors & reports resource status • VAN Domain Server (VDS) • Provides VAN services to application • VAN provisioning • Resource acquisition • Performance monitoring • Manages VAN to recover from physical network failure Active node with VLM AS3 AS1 D AS2 C VDS VDS VDS administrative domain AS4 AS5 A B
Specification Mapping • Heuristic mapping algorithm • Sort VNs and PNs by degree; map VN to PN by degree-order • Mark all PL without enough bandwidth for the VLs as infeasible • Each PL has a “mapped-onto” counter, initially 0 • pick a VL and map it to a physical path with lowest maximum counter among all PLs traversed • After each VL is mapped, increment counter and subtract available bandwidth for each PL; mark a PL infeasible as appropriate • Repeat until all VLs are mapped AS3 AS1 1 0 2 D 1mbps AS2 A B 0 1 C 1mbps 1mbps 0 1 0 1 D C AS4 1mbps AS5 0 1 A B
Resource Acquisition Protocol • Acquires node and link resources • Intra-domain: VDS – VLM • Inter-domain: VDS – VLM and VDS – VDS • Deadlock among competing VANs for shared resources can occur because • One VAN is built in many domains distributedly • Many VANs are built in many domains simultaneously • Example • VDS1 and VDS2 build VAN1 and VAN2 in domain A respectively • VDS3 and VDS4 build VAN1 and VAN2 in domain B respectively • VAN1 preempts VAN2 in domain A • VAN2 preempts VAN1 in domain B B A VDS4 VDS3 VDS2 VDS1 VAN2 VAN1 VAN2 VAN1 VLM2 VLM1
Deadlock Prevention Protocol • How does the solution work • Assign “weight” to VNs and VLs • Each VDS computes a “Progress Index” (PI), indicating “how much” a VAN has been built • PIs are globally synchronized and used as the priority for preemption when conflict happens VDS’es request resource 1 VLM detects conflict and initiates arbitration 2 VDS broadcasts to all other VDS’es requesting global PI synchronization 3 Other VDS’es ack sync request 4 VDS’es ack arbitration request 5 VLM notifies VDS’es with the arbitration decision 6
Failure Recovery • When a physical link fails, the VLs it carries must be restored • First try Local repair • Find an alternative path with adequate resources between the two disconnected AS’es • Fast, and preserve original topology • But • May violate reliability constraint • Alternative path may not exist • Example • Physical link between 2 and 3 goes down • Alternative path goes through 2, 1, 4, and 3 2 2 1 1 Physical link Reliability violation 3 3 4 4 Virtual link 5 5 6 6
Failure Recovery: Global Repair • Local repair may violate reliability constraints or it may not be able to find an alternative path • Global repair • Computes substitute VL based on global topology and resource information • Reconstruct topology when local repair cannot; guarantee reliability constraint • But • Computationally expensive • Communication delay between root VDS and local VDS’es • Example • Substitute VL computed between 5 and 6, replacing the VL going through 2, 1, 4, and 3 VDS1 VDS1 2 2 1 1 Physical link 3 3 4 4 Virtual link VDS3 VDS3 5 5 6 6 VDS2 VDS2