Single logical network interface for advanced load balancing and fail-over functionality
AssigneeNVIDIA Corporation
InventorsAshutosh K. Jha, Ayaz Abdulla, Hemamalini Manickavasagam, Anand Rajagopalan, Paul J. Sidenblad
Life of this patent
Estimating the term…
Abstract
The invention sets forth an approach for aggregating a plurality of NICs in a computing device into a single logical NIC as seen by that computing device's operating system. The combination of the single logical NIC and a network resource manager provides a reliable and persistent interface to the operating system and to the network hardware, thereby improving the reliability and ease-of-configuration of the computing device. The invention also may improve communications security by supporting the 802.1X and the 802.1Q networking standards.
Claims16
A method for configuring a computing device having an operating system and a first network interface card (NIC) and a second NIC configured as a team to support one or more network connections using load balancing and fail-over techniques, the method comprising:
- creating, via a bus driver, a first function driver associated with the first NIC and a second function driver associated with the second NIC, wherein the first function driver is configured to couple the first function driver to a software stack within the operating system through a first software binding, and wherein the second function driver is configured to couple the second function driver to the software stack through a second software binding;
- and
- creating, via the bus driver, a virtual function driver associated with the first NIC and the second NIC, wherein the virtual function driver is configured to couple the virtual function driver to the software stack through a third software binding,
- wherein a network resource manager is coupled to each of the first function driver, the second function driver and the virtual function driver through software handles, wherein a first software handle couples the first function driver to a first software object within the network resource manager representing the first NIC to establish a communication channel between the first function driver and the first NIC, a second software handle couples the second function driver to a second software object within the network resource manager representing the second NIC to establish a communication channel between the second function driver and the second NIC, and a third software handle couples the virtual function driver to a third software object within the network resource manager representing the team of NICs;
- and
- wherein a user-level process is configured to remove the first software binding between the first function driver and the software stack and the second software binding between the second function driver and the software stack.
A method for configuring a computing device having an operating system and a network interface card (NIC) to support one or more network connections, the method comprising:
- creating, via a bus driver, a function driver associated with the NIC, wherein the function driver is configured to couple
- the function driver to a software stack within the operating system through a first software binding for managing network connections conventionally;
- and wherein the function driver is configured to couple the function driver to a network resource manager through a software handle, wherein the network resource manager is configured to manage network connections locally;
- creating, via the bus driver, a virtual function driver associated with the NIC, wherein the virtual function driver is configured to couple
- the virtual function driver to the software stack within the operating system through a second software binding for exchanging communications associated with a virtual local area network (VLAN),
- and wherein a user-level process is configured to remove the first software binding between the function driver and the software stack within the operating system.
Dependencies are inferred from the claim text.