Necklace: An Architecture for Distributed and Robust Service Function Chains with Guarantees