MAC Address Assignment for Teamed Communication Ports

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication systems that team multiple ports for fault tolerance and increased throughput face issues when a port fails, causing clients assigned to the failed port to lose connection, as the software driver's MAC address assignment strategy does not account for port failures, leading to communication disruptions.

Innovation Solution

Implementing a system where each communication port is assigned a set of MAC addresses, including a primary and multiple secondary addresses, allowing a functioning port to take over the MAC address of a failed port by broadcasting an update to switch devices, ensuring seamless communication without reprogramming or altering client ARP tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a software driver intercepts ARP request messages and selectively assigns MAC addresses to clients, then load balancing across multiple ports is achieved, but clients lose connection when the assigned port experiences communication fault

Engineering Contradiction:
Improvedata throughputVSAvoidconnection stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system pre-assigned multiple MAC addresses to each port in advance, so when a port fails, the MAC address can be immediately transferred to another port without waiting for ARP requests or client reconnection attempts. This preliminary preparation of multiple MAC addresses per port enables rapid fault recovery while maintaining load balancing capability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the computer system sends a gratuitous ARP reply to direct clients to a single port after port failure, then communication can be restored, but ARP timeouts occur and clients must send new ARP request messages, causing communication disruption

Engineering Contradiction:
Improvecommunication continuityVSAvoidconnection recovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of relying on clients to send new ARP requests after port failure, the system copies the MAC address from the failed port to the surviving port. This allows the surviving port to immediately assume the identity of the failed port, including its MAC address, enabling clients to continue communicating without time-consuming ARP timeout and reconnection cycles.

Inventive Principle:
Principle #26Copying

3Reliability

If multiple ports are teamed to appear as a single port, then fault tolerance is implemented, but the software driver's MAC address assignment strategy does not account for port failures, leading to communication disruptions

Engineering Contradiction:
Improvefault toleranceVSAvoidfault handling capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically assigns MAC addresses to ports based on their operational status. When a port fails, the system dynamically transfers the MAC address from the failed port to a surviving port, allowing the teaming configuration to adapt to changing conditions. This dynamic MAC address assignment enables the system to maintain fault tolerance while improving its ability to handle port failures gracefully.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7710862B2Method and system of assigning media access control (MAC) addresses across teamed communication ports
Publication Date: 2010.05.04 VALTRUS INNOVATIONS LTD
  • US7710862B2 patent drawing
  • US7710862B2 patent drawing
  • US7710862B2 patent drawing

AI summary

A method and system of assigning media access control (MAC) addresses across teamed communication ports. At least some of the illustrative embodiments are methods comprising teaming a plurality of communication ports in a computer system to appear as a single virtual port to an application program (each communication port transmits message packets with any of a number M possible MAC addresses, wherein the number communication ports is greater than M), assigning a set of size M of MAC addresses to each of the plurality communication ports such that each MAC address appears in the set for a communication port for which the MAC address is the primary address (and such that each MAC address appears in M−1 other sets for other communication ports), and receiving a message packet from a client device across a network, the message packet directed to a primary MAC address of the first of the plurality communication ports.