Hash Engine NIC Load Balancing and Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network communication systems fail to efficiently distribute and redistribute network connections across network interface cards (NICs) to avoid overloaded or unreliable NICs, leading to reduced performance and computational overhead.
Innovation Solution
A method that intercepts and modifies Address Resolution Protocol (ARP) packets to redirect network traffic to a NIC selected by a hash engine based on utilization and error rate data, allowing for intelligent load balancing, failover, and failback operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a sophisticated data structure containing connection state is maintained to identify overloaded NICs, then network connection distribution can be optimized, but computational expense increases and degrades performance
Solution Approach 1:
The patent extracts the essential information needed for NIC selection (connection identifiers and NIC identifiers) from the complex connection state data structure and stores only these extracted identifiers in a hash table. This eliminates the need to maintain and analyze the full sophisticated data structure, reducing computational expense while preserving the ability to efficiently identify which NIC handles which connection.
Solution Approach 2:
The patent pre-computes and stores the mapping between connection identifiers and NIC identifiers in a hash table before connections are established. This preliminary action allows the system to quickly determine NIC assignment without performing expensive analysis of connection state during runtime, thereby improving distribution efficiency while minimizing computational overhead.
2Ease of operation
If the operating system selects NICs for network connections without considering utilization or error rates, then connection establishment is simple and fast, but connections are assigned to overloaded or unreliable NICs reducing network performance
Solution Approach 1:
The patent introduces a hash table as an intermediary data structure that bridges the simple OS NIC selection mechanism and the sophisticated load balancing requirements. The hash table stores pre-computed mappings that allow the system to redirect connections to appropriate NICs based on utilization and error rate data without complicating the OS selection process, thus maintaining ease of operation while improving network performance.
3Reliability
If connection state data structure is analyzed to determine NIC overload status, then overloaded NICs can be identified, but the analysis is computationally expensive and degrades performance
Solution Approach 1:
The patent extracts only the necessary identifiers (connection identifier and NIC identifier) from the complex connection state and stores them in a hash table. This extraction eliminates the need for expensive analysis of the full connection state data structure while maintaining the ability to accurately identify which NIC handles which connection, thereby preserving reliability while improving computational performance.
Data Source
AI summary
A hash engine in a network device driver maintains data on the utilization and error rate for each network interface card (“NIC”) within a local computing device. From this data, the hash engine intelligently selects transmit NICs and receive NICs based on various networking parameters provided from a software driver program. Transmit packets sent from the operating system in a local computing device to a remote computing device are intercepted, modified and redirected to transmit NICs selected by the hash engine for transmission to remote computing devices. Similarly, address resolution protocol (“ARP”) response packets sent by the operating system in response to ARP request packets are intercepted, modified and redirected to receive NICs selected by the hash engine for transmission. By selecting receive NICs and transmit NICs in this fashion, the hash engine is able to intelligently load balance transmit and receive traffic in the local computing device, thereby improving overall network performance relative to prior art techniques.


