IP Library Granted Patent US 8,776,090
Granted Patent B2
US 8,776,090 · App. 12/707,480 · Granted Jul 8, 2014

Method and system for network abstraction and virtualization for a single operating system (OS)

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 8,776,090
App. No.
12/707,480
Granted
Jul 8, 2014
Kind
B2
Abstract

A device may abstract access to hardware resources in the device to a single operating system (OS) running in the device utilizing an abstraction layer and a software partition. The abstraction layer and the software partition may enable virtualizing the hardware resources during interfacing between the single OS and the hardware resources, such that the actual characteristics and/or number of the hardware resources may be abstracted. The abstraction layer may comprise a hypervisor, which may be optimized to support network abstraction based operations. The software partition may enable managing configuration and/or use of the hardware resources via the abstraction layer. The hardware resources may comprise networking resources. Accordingly, operations of a plurality of virtual drivers within the OS corresponding to each of one or more of the plurality of hardware resources may be supported. Data transfers between the OS and the hardware resources may be performed via the software partition.

Claims (55)

1. A method for abstraction processing, the method comprising:

configuring an abstraction layer of a hardware resource to abstract capabilities of the hardware resource;

spawning a plurality of virtual interfaces, each virtual interface being independently operable as an interface of an operating system; and

managing, by one or more circuits, one or more processors, or any combination thereof, unicast, multicast, and broadcast data transfer among the plurality of virtual interfaces and between the hardware resource and the plurality of virtual interfaces, based on a control parameter of at least one of the hardware resource or the plurality of virtual interfaces.

2. The method according to claim 1 , further comprising:

specifying, by a network capability parameter of the plurality of virtual interfaces, networking capabilities allocated to each of the plurality of virtual interfaces; and

managing overall use of the hardware resource among the plurality of virtual interfaces according to the networking capabilities allocated to each of the plurality of virtual interfaces.

3. The method according to claim 2 , wherein specifying the networking capabilities comprises specifying at least one of data transfer addressing information, a data transfer bitrate, a data transfer quality of service (QoS), or a data transfer bandwidth of at least one of the plurality of virtual interfaces.

4. The method according to claim 1 , further comprising configuring the abstraction layer to present a peripheral interconnect function of the hardware resource as multiple peripheral interconnect functions.

5. The method according to claim 1 , wherein:

the hardware resource comprises a single physical device; and

the abstraction layer enables the plurality of virtual interfaces to operate in the operating system and interface with the single physical device.

6. The method according to claim 1 , wherein:

the plurality of virtual interfaces comprise a plurality of virtual network interface controller (vNIC) drivers of the operating system; and

the hardware resource comprises a single physical network interface controller (NIC).

7. The method according to claim 6 , further comprising:

managing allocation of networking attributes among the plurality of vNIC drivers, wherein

the networking attributes comprise at least one of virtual local area network (VLAN) addressing information, bandwidth, or data transfer quality of service (QoS).

8. The method according to claim 7 , wherein the managing allocation of networking attributes comprises managing allocation of networking attributes variably or independently among the plurality of vNIC drivers.

9. The method according to claim 1 , further comprising disabling, when a single operating system is executed by the processor, at least some functionality of the abstraction layer that is used during virtualization of a plurality of virtual machines.

10. A system for abstraction processing, the system comprising:

a network device comprising a host subsystem and a networking subsystem, the networking subsystem being adapted to:

spawn a plurality of virtual interfaces, each virtual interface being independently operable as an interface of an operating system; and

manage unicast, multicast, and broadcast data transfer among the plurality of virtual interfaces based on a control parameter of the plurality of virtual interfaces; and

the host subsystem being adapted to:

configure an abstraction layer of a hardware resource of the networking subsystem to abstract capabilities of the hardware resource; and

manage unicast, multicast, and broadcast data transfer between the hardware resource and the plurality of virtual interfaces based on a control parameter of the hardware resource.

11. The system according to claim 10 , wherein the host subsystem is further adapted to:

specify, by the control parameter of the plurality of virtual interfaces, networking capabilities allocated to each of the plurality of virtual interfaces; and

manage overall use of the hardware resource among the plurality of virtual interfaces according to the networking capabilities allocated to each of the plurality of virtual interfaces.

12. The system according to claim 11 , wherein the host subsystem is further adapted to specify at least one of data transfer addressing information, a data transfer bitrate, a data transfer quality of service (QoS), or a data transfer bandwidth of at least one of the plurality of virtual interfaces.

13. The system according to claim 10 , wherein the host subsystem is further adapted to configure the abstraction layer to present a peripheral interconnect function of the hardware resource as multiple peripheral interconnect functions.

14. The system according to claim 10 , wherein the host subsystem is further adapted to configure the control parameter of the plurality of virtual interfaces to provide at least one of unicast, multicast, or broadcast based switching among the plurality of virtual interfaces.

15. The system according to claim 10 , wherein:

the hardware resource comprises a single physical device; and

the abstraction layer enables the plurality of virtual interfaces to operate in the operating system and interface with the single physical device.

16. The system according to claim 10 , wherein:

the plurality of virtual interfaces comprise a plurality of virtual network interface controller (vNIC) drivers of the operating system; and

the hardware resource comprises a single physical network interface controller (NIC).

17. The system according to claim 16 , wherein:

the host subsystem is further adapted to manage allocation of networking attributes among the plurality of vNIC drivers; and

the networking attributes comprise at least one of virtual local area network (VLAN) addressing information, bandwidth, or data transfer quality of service (QoS).

18. The system according to claim 17 , wherein the host subsystem is further adapted to manage allocation of networking attributes variably or independently among the plurality of vNIC drivers.

19. The system according to claim 10 , wherein the host subsystem is further adapted to disable, when a single operating system is executed by a processor of the host subsystem, at least some functionality of the abstraction layer that is used during virtualization of a plurality of virtual machines.

20. A method for abstraction processing, comprising:

abstracting capabilities of a hardware resource;

spawning a plurality of virtual interfaces, each virtual interface being independently operable as an interface of an operating system;

specifying networking capabilities allocated to the hardware resource and the plurality of virtual interfaces; and

managing, by one or more circuits, one or more processors, or any combination thereof, unicast, multicast, and broadcast data transfer among the plurality of virtual interfaces and between the hardware resource and the plurality of virtual interfaces, based on the specified networking capabilities allocated to the hardware resource and the plurality of virtual interfaces.

21. The method according to claim 20 , wherein specifying the networking capabilities comprises specifying at least one of data transfer addressing information, a data transfer bitrate, a data transfer quality of service (QoS), or a data transfer bandwidth of at least one of the plurality of virtual interfaces.

22. The method according to claim 20 , wherein:

the hardware resource comprises a single physical device, and

an abstraction layer enables the plurality of virtual interfaces to operate in the operating system and interface with the single physical device.

23. The method according to claim 20 , further comprising validating one or more media access control (MAC), virtual local area network (VLAN), or internet protocol (IP) fields in a packet by comparing the one or more MAC, VLAN, or IP fields with attributes of the plurality of virtual interfaces.

24. The method according to claim 20 , further comprising isolating the plurality of virtual interfaces to maintain stability between the plurality of virtual interfaces using double memory page table accounting.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2010
From: ELZUR, URI
To: BROADCOM CORPORATION
Reel/Frame 024117/0274 →