IP Library Granted Patent US 7,613,198
Granted Patent B2
US 7,613,198 · App. 11/479,817 · Granted Nov 3, 2009

Method and apparatus for dynamic assignment of network interface card resources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,613,198
App. No.
11/479,817
Granted
Nov 3, 2009
Kind
B2
Abstract

A method for dynamically changing a virtual network interface card (VNIC) binding. If the use of a hardware receive ring (HRR) is below the first threshold and the use of the software receive ring (SRR) is above the second threshold, then: binding the first VNIC to the SRR and the second VNIC to the HRR, removing the binding from the first VNIC to the HRR, removing the binding from the second VNIC to the SRR, and reprogramming a hardware classifier to send packets associated with the r VNIC to a second HRR and to send packets associated with the second VNIC to the HRR, reprogramming a software classifier to send packets associated with the first VNIC to the SRR, wherein the software classifier is associated with a soft ring (SR) and the SR is configured to obtain packets from the second HRR.

Claims (58)

1. A method for dynamically changing a first virtual network interface card (VNIC) binding, comprising:

obtaining monitoring information associated with a first hardware receive ring (HRR) and a software receive ring (SRR), wherein the first VNIC is bound to the first HRR and a second VNIC is bound to the SRR;

determining, using the monitoring information, whether a use of the first HRR is below a first threshold;

determining, using the monitoring information, whether a use of the SRR is above a second threshold;

if the use of the first HRR is below the first threshold and the use of the SRR is above the second threshold:

binding the first VNIC to the SRR and the second VNIC to the first HRR;

removing the binding from the first VNIC to the first HRR;

removing the binding from the second VNIC to the SRR; and

reprogramming a hardware classifier to send packets associated with the first VNIC to a second HRR and to send packets associated with the second VNIC to the first HRR;

reprogramming a software classifier to send packets associated with the first VNIC to the SRR,

wherein the software classifier is associated with a soft ring (SR) and the SR is configured to obtain packets from the second HRR.

2. The method of claim 1 , wherein the monitoring information is obtained at a set interval.

3. The method of claim 2 , wherein the set interval is set on a minute time scale.

4. The method of claim 1 , wherein the first threshold corresponds to a number of packets received by the HRR in a given time interval.

5. The method of claim 1 , wherein the second threshold corresponds to a number of packets received by the SRIR in a given time interval.

6. The method of claim 1 , wherein first VNIC is bound to a first virtual network stack (VNS).

7. The method of claim 6 , wherein the first VNS is configured to obtain packets from the first VNIC based an operating mode.

8. The method of claim 7 , wherein the operating mode is one selected from a group consisting of polling mode and interrupt mode.

9. The method of claim 8 , wherein the polling mode enforces bandwidth control on the first VNIC.

10. A system, comprising:

a physical network interface card (NIC) comprising a first hardware receive ring (HRR), a second HRR, and a hardware classifier;

a host, operatively connected to the NIC, comprising:

a first virtual network interface card (VNIC) initially bound to the first HRR;

a software ring (SR) comprising a software classifier and a software receive ring (SRR), wherein SR is operatively connected to the second HRR;

a second VNIC initially bound to the SRR;

a first packet destination operatively connected to the first VNIC;

a second packet destination operatively connected to the second VNIC; and

a monitoring application configured to monitor the system and generate monitoring information associated with the first HRR and the SRR,

wherein the host is configured to:

obtain the monitoring information;

determine, using the monitoring information, whether a use of the first HRR is below a first threshold;

determine, using the monitoring information, whether a use of the SRR is above a second threshold;

if the use of the first HRR is below the first threshold and the use of the SRR is above the second threshold:

bind the first VNIC to the SRR and the second VNIC to the first HRR;

remove the binding from the first VNIC to the first HRR;

remove the binding from the second VNIC to the SRR; and

reprogram the hardware classifier to send packets associated with the first VNIC to the second HRR and to send packets associated with the second VNIC to the first HRR; and

reprogram the software classifier to send packets associated with the first VNIC to the SRR.

11. The system of claim 10 , wherein the monitoring information is obtained at a set interval.

12. The system of claim 11 , wherein the set interval is set on a minute time scale.

13. The system of claim 10 , wherein the first threshold corresponds to a number of packets received by the HRR in a given time interval.

14. The system of claim 10 , wherein the second threshold corresponds to a number of packets received by the SRR in a given time interval.

15. The system of claim 10 , wherein first VNIC is bound to a first virtual network stack (VNS).

16. The system of claim 15 , wherein the first VNS is configured to obtain packets from the first VNIC based an operating mode.

17. The system of claim 16 , wherein the operating mode is one selected from a group consisting of polling mode and interrupt mode.

18. The system of claim 16 , wherein the polling mode enforces bandwidth control on the first VNIC.

19. A computer readable medium encoded with instructions capable of being executed by a computer for:

obtaining monitoring information associated with a first hardware receive ring (HRR) and a software receive ring (SRR), wherein the first VNIC is bound to the first HRR and a second VNIC is bound to the SRR;

determining, using the monitoring information, whether a use of the first HRR is below a first threshold;

determining, using the monitoring information, whether a use of the SRR is above a second threshold;

if the use of the first HRR is below the first threshold and the use of the SRIR is above the second threshold:

binding the first VNIC to the SRR and the second VNIC to the first HRR;

removing the binding from the first VNIC to the first HRR;

removing the binding from the second VNIC to the SRR; and

reprogramming a hardware classifier to send packets associated with the first VNIC to a second HRR and to send packets associated with the second VNIC to the first HRR;

reprogramming a software classifier to send packets associated with the first VNIC to the SRR,

wherein the software classifier is associated with a soft ring (SR) and the SR is configured to obtain packets from the second HRR.

20. The computer readable medium of claim 19 , wherein the first VNIC is associated with a virtual machine.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037305/0133 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2006
From: BELGAIED, KAIS; TRIPATHI, SUNAY; DROUX, NICOLAS G.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 018032/0320 →