IP Library Granted Patent US 8,976,666
Granted Patent B2
US 8,976,666 · App. 13/951,392 · Granted Mar 10, 2015

Load balancing network adapter

Inventor: Paul Michael Martini (San Diego, CA)
Assignee: iboss, Inc.
H04L47/125
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,976,666
App. No.
13/951,392
Granted
Mar 10, 2015
Kind
B2
Abstract

Methods and systems for providing device-specific authentication are described. One example method includes receiving, by an input port of a network adapter within the computer system, a stream of network traffic; dividing, by load balancing logic within the network adapter, the received stream of network traffic into a plurality of substreams; and presenting the plurality of substreams to respective interfaces of the network adapter, each network adapter interface being accessible by an operating system executing on the computer system.

Claims (41)

1. A method performed by one or more processes executing on a computer system, the method comprising:

receiving, by an input port of a network adapter within the computer system, a stream of network traffic including a plurality of network packets;

dividing, by load balancing logic within the network adapter, the received stream of network traffic into a plurality of substreams each associated with a particular interface of the network adapter, wherein dividing the received stream of network traffic includes:

determining, for each network packet of the plurality of network packets in the received stream of network traffic, a particular substream to which the network packet is to be associated, and

associating the network packet with the particular substream; and

presenting the plurality of substreams to the particular interfaces of the network adapter associated with each substream, each network adapter interface being accessible by an operating system executing on the computer system, wherein presenting a particular substream includes presenting the one or more network packets associated with the substream to the interface of the network adapter associated with the particular substream.

2. The method of claim 1 , wherein the presenting the plurality of substreams to the particular interfaces of the network adapter associated with each substream includes presenting the plurality of substreams to a standard driver included with the operating system.

3. The method of claim 1 , further comprising setting a number of substreams into which the received stream of network traffic is divided based at least in part on the position of an actuatable physical mechanism connected to the network adapter.

4. The method of claim 3 , wherein the physical mechanism includes at least one of: a toggle, a slider, a switch, a jumper, or a scroll wheel.

5. The method of claim 1 , further comprising setting a load balancing algorithm by which the received stream of network traffic is divided based at least in part on a position of an actuatable physical mechanism connected to the network adapter.

6. The method of claim 5 , wherein the load balancing algorithm includes at least one of: hashing by source Internet Protocol (IP) address, hashing by destination IP address, hashing by Medium Access Control (MAC) address, determining a round robin position based on the source IP address, determining a round robin position based on the destination IP address, or a heartbeat algorithm configured to probe the set of output interfaces and remove output interfaces that do not respond to the probe.

7. The method of claim 1 , further comprising:

receiving configuration commands via a configuration interface of the network adapter;

changing at least one of a load balancing algorithm or a number of substreams into which the network traffic is divided based on the received configuration commands.

8. The method of claim 7 , wherein the configuration interface includes at least one of: a serial interface, a flash chip slot, an electronically programmable read only memory (EPROM) chip slot, or a side driver.

9. The method of claim 1 , wherein presenting the plurality of substreams to particular interfaces of the network adapter comprises maintaining the substreams within the computer system containing the network adapter without sending the substreams to a computer system other than the computer system containing the network adapter.

10. The method of claim 1 , wherein presenting the plurality of substreams to particular interfaces of the network adapter comprises presenting each of the plurality of substreams to a different one of the plurality of interfaces.

11. A network adapter comprising:

an input port configured to receive a stream of network traffic including a plurality of network packets;

load balancing logic, operatively coupled to the input port, configured to divide the received stream of network traffic into a plurality of substreams of network traffic each associated with a particular interface of the network adapter, wherein dividing the received stream of network traffic includes:

determining, for each network packet of the plurality of network packets in the received stream of network traffic, a particular substream to which the network packet is to be associated, and

associating the network packet with the particular substream; and

a plurality of operating system interfaces, each operating system interface configured to receive a particular substream of network traffic associated with the operating system interface, and present the received substream of network traffic to an associated process executing in an operating system, wherein presenting the received substream includes presenting the one or more network packets associated with the substream.

12. The network adapter of claim 11 , wherein the operating system interfaces are configured to present the plurality of substreams to a standard driver included with the operating system.

13. The network adapter of claim 11 , the load balancing logic further configured to set a number of substreams into which the received stream of network traffic is divided based at least in part on the position of an actuatable physical mechanism connected to the network adapter.

14. The network adapter of claim 13 , wherein the physical mechanism includes at least one of: a toggle, a slider, a switch, a jumper, or a scroll wheel.

15. The network adapter of claim 11 , the load balancing logic further configured to set a load balancing algorithm by which the received stream of network traffic is divided based at least in part on a position of an actuatable physical mechanism connected to the network adapter.

16. The network adapter of claim 15 , wherein the load balancing algorithm includes at least one of: hashing by source Internet Protocol (IP) address, hashing by destination IP address, hashing by Medium Access Control (MAC) address, determining a round robin position based on the source IP address, determining a round robin position based on the destination IP address, or a heartbeat algorithm configured to probe the set of output interfaces and remove output interfaces that do not respond to the probe.

17. The network adapter of claim 11 , the load balancing logic further configured to receive configuration commands via a configuration interface of the network adapter; and change at least one of a load balancing algorithm or a number of substreams into which the network traffic is divided based on the received configuration commands.

18. The network adapter of claim 17 , wherein the configuration interface includes at least one of: a serial interface, a flash chip slot, an electronically programmable read only memory (EPROM) chip slot, or a side driver.

19. A network adapter comprising:

an input port configured to receive a stream of network traffic including a plurality of network packets;

a processor configured to execute computer program instructions; and

a computer storage medium encoded with computer program instructions that, when executed by the processor, cause the network adapter to perform operations comprising:

dividing, by load balancing logic within the network adapter, the received stream of network traffic into a plurality of substreams each associated with a particular interface of the network adapter, wherein dividing the received stream of network traffic includes:

determining, for each network packet of the plurality of network packets in the received stream of network traffic, a particular substream to which the network packet is to be associated, and

associating the network packet with the particular substream; and

presenting the plurality of substreams to the particular interfaces of the network adapter associated with each substream, each network adapter interface being accessible by an operating system executing on the computer system, wherein presenting a particular substream includes presenting the one or more network packets associated with the substream to the interface of the network adapter associated with the particular substream.

20. The network adapter of claim 19 , wherein the operating system interfaces are configured to present the plurality of substreams to a standard driver included with the operating system.

21. The network adapter of claim 19 , the operations comprising setting a number of substreams into which the received stream of network traffic is divided based at least in part on the position of an actuatable physical mechanism connected to the network adapter.

22. The network adapter of claim 21 , wherein the physical mechanism includes at least one of: a toggle, a slider, a switch, a jumper, or a scroll wheel.

Assignments (7)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0219 →
SUPPLEMENTAL INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0266 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Dec 12, 2023
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK TRUST COMPANY
To: IBOSS, INC.
Reel/Frame 066140/0480 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 061463/0331 →
SECURITY INTEREST Recorded Dec 16, 2020
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 054789/0680 →
CHANGE OF NAME Recorded Apr 23, 2014
From: PHANTOM TECHNOLOGIES, INC.
To: IBOSS, INC.
Reel/Frame 032745/0646 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2013
From: MARTINI, PAUL MICHAEL
To: PHANTOM TECHNOLOGIES, INC.
Reel/Frame 031367/0998 →
Continuity (1)
Related Publication 20150029850A1 · Jan 29, 2015