Virtual Distributed Bridging via MAC Sharding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network technologies face challenges in seamlessly bridging between logical networks (such as VXLAN) and physical networks (such as VLAN), particularly in hybrid environments where L2 centric protocols are needed, and there is a lack of efficient mechanisms for transitioning workloads between these networks.

Innovation Solution

The implementation of a virtual distributed router/bridge (VDRB) module that performs L3 routing and bridging operations, with virtual distributed bridges (VDBs) partitioning bridging tasks among host machines based on MAC addresses, using sharding to distribute MAC addresses and dynamically reassign them in case of failures or changes, and employing mechanisms to prevent packet loops and duplicates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If bridging tasks are centralized in a single network controller, then management and control are simplified, but the system lacks scalability and becomes a single point of failure

Engineering Contradiction:
Improvemanagement simplicityVSAvoidscalability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the centralized bridging function into distributed VDB instances across multiple host machines. Each VDB handles a specific shard of MAC addresses, transforming the single-point-of-control architecture into a distributed architecture that maintains management simplicity through controller coordination while achieving scalability through parallel processing across multiple nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional organization by sharding MAC addresses into distinct ranges and assigning each range to specific VDB instances. This creates a multi-dimensional addressing space where the controller manages the global view while individual VDBs manage their specific shards, enabling both centralized control and distributed execution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If bridging tasks are distributed among multiple VDBs, then scalability and fault tolerance are improved, but system complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The network controller serves as an intermediary that coordinates between multiple VDB instances. It manages MAC address shard assignments, handles failover scenarios, and maintains the global bridging state, thereby enabling distributed processing without requiring complex peer-to-peer communication protocols between VDBs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-assigning MAC address shards to specific VDB instances before actual bridging operations begin. This pre-organization of responsibilities eliminates the need for dynamic decision-making during packet forwarding, reducing operational complexity while maintaining distribution benefits.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If MAC address shards are statically assigned to VDBs, then processing efficiency is improved, but adaptability to failures and changes is reduced

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddynamic adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic shard assignment where the network controller can reassign MAC address shards to different VDB instances based on current system conditions, failures, or workload changes. This dynamic reconfiguration capability allows the system to maintain static-like processing efficiency within shards while adapting to external changes through controller-mediated reallocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the assignment parameters of MAC address shards dynamically. When failures or workload changes occur, the controller modifies which VDB instances handle which MAC address ranges, thereby adjusting system behavior without changing the fundamental sharding mechanism or packet processing logic.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If packet forwarding is performed by all VDBs, then comprehensive coverage is achieved, but network loops and duplicates occur

Engineering Contradiction:
Improvepacket delivery completenessVSAvoidnetwork loops
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

Each VDB instance is assigned specific local responsibility for particular MAC address shards. A VDB only performs bridging operations for packets containing MAC addresses within its assigned shard, creating localized processing zones. This eliminates redundant processing and potential loops by ensuring each packet is handled by exactly one appropriate VDB instance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9768980B2Virtual distributed bridging
Publication Date: 2017.09.19 VMWARE INC
  • US9768980B2 patent drawing
  • US9768980B2 patent drawing
  • US9768980B2 patent drawing

AI summary

Virtualization software that includes a VDRB (virtual distributed router/bridge) module for performing L3 routing and/or bridging operations is provided. At least some of the VDRBs are configured as VDBs (virtual distributed bridge) for performing bridging operations between different network segments in a distributed manner. The bridging tasks of a network are partitioned among several VDBs of the network based on MAC addresses. MAC addresses of VMs or other types of network nodes belonging to an overlay logical network are partitioned into several shards, each shard of MAC addresses assigned to a VDB in the network. Each VDB assigned a shard of MAC addresses performs bridging when it receives a packet bearing a MAC address belonging to its assigned shard. A VDB does not perform bridging on packets that do not have MAC address that falls within the VDB's shard of MAC addresses.