120 likes | 240 Views
Virtual Active Networks (VAN) are middleware architectures designed for enhanced edge computing capabilities. This innovative model allows applications to dynamically configure network topology and allocate resources effectively across distributed nodes. The VAN framework ensures reliable service delivery through protocols for resource acquisition, deadlock prevention, and recovery from network failures. It supports critical applications like web caching, optimizing connectivity and resource management in extensive networks. With a focus on algorithm-driven resource mapping, VAN promotes performance adaptability, facilitating robust interaction with network resources.
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