IP Library › Granted Patent US 9,742,697
Granted Patent B2
US 9,742,697 · App. 15/088,376 · Granted Aug 22, 2017

Integrated server with switching capabilities and network operating system

Inventors: Sunay Tripathi (Los Altos, CA); Robert James Drost (Los Altos, CA); Chih-Kong Ken Yang (Los Altos, CA)
Assignee: Pluribus Networks Inc.
H04L49/15H04L12/4641H04L45/56H04L47/122H04L47/70H04L49/1523H04L49/50H04L49/70H04L47/803H04L49/65
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 9,742,697
App. No.
15/088,376
Granted
Aug 22, 2017
Kind
B2
Abstract

Methods, systems, and computer programs are presented for a switching server. One switching server includes a server, a switch module coupled to the server, and a switch controller coupled to the server and to the switch module. The server includes a processor executing an operating system that includes a network driver, and the network driver includes a first network device operating system (ndOS) program. Further, the switch module includes a switch fabric and input/output ports. The switch controller includes a processor and non-volatile storage, where the processor is configured to execute a second ndOS program. The first and second ndOS programs implement a global networking policy for a plurality of devices executing ndOS programs, the global networking policy including a definition for switching incoming packets through the plurality of devices executing the ndOS programs.

Claims (35)

1. A switching server, comprising:

a server including a processor executing an operating system that includes a network driver, the network driver providing a network interface for the server, the network driver including a first network device operating system (ndOS) program;

a switch module coupled to the server, the switch module including a switch fabric and a plurality of input/output ports; and

a switch controller coupled to the server and the switch module, the switch controller including a processor and non-volatile storage, wherein the processor is configured to execute a second ndOS program;

wherein the first ndOS program and the second ndOS implement a global networking policy for a plurality of devices executing ndOS programs, the global networking policy including a definition for switching incoming packets through the plurality of devices executing ndOS programs.

2. The switching server as recited in claim 1 , wherein the first ndOS program and the second ndOS program, when executed by respective processors, exchange control messages to maintain the global networking policy.

3. The switching server as recited in claim 1 , wherein the plurality of devices executing ndOS programs exchange messages to propagate the global networking policy.

4. The switching server as recited in claim 1 , wherein the server and the switch module are coupled via peripheral component interconnect (PCI) ports.

5. The switching server as recited in claim 1 , wherein the switch module further includes a classifier, the classifier implementing the global networking policy for switching incoming packets, wherein the second ndOS is defined to configure the classifier to implement the global networking policy.

6. The switching server as recited in claim 1 , wherein packets switched by the switch controller are sent from the switch module to memory in the switch controller.

7. The switching server as recited in claim 1 , wherein the switch fabric is configure to switch packets between the plurality of input/output ports and ports connected to the server and the switch controller.

8. The switching server as recited in claim 1 , wherein the server and the switch module are coupled via Ethernet ports.

9. The switching server as recited in claim 1 , wherein the server is configured to execute virtual machines, wherein the first ndOS program is configured to implement network resource allocation among the virtual machines.

10. The switching server as recited in claim 9 , wherein the first ndOS program and the second ndOS program are configured to implement virtual LAN functionality and to keep separate traffic of the virtual machines in different VLANs.

11. The switching server as recited in claim 1 , wherein packets arriving to the switching server may be switched by any one of the server, the switch module, and the switch controller.

12. A method for processing packets, the method comprising:

receiving a packet at a port of a plurality of ports in a switch module of a switching server, the switching server further including a server coupled to the switch module and a switch controller coupled to the switch module and to the server, the switch module further including a classifier a switch fabric, wherein the server includes a processor executing an operating system that includes a network driver, the network driver including a first network device operating system (ndOS) program, the switch controller including a processor and non-volatile storage, wherein the processor is configured to execute a second ndOS program;

determining by the classifier to switch the packet through the switch module or through the switch controller based on a global networking policy, wherein the first ndOS program and the second ndOS implement the global networking policy for a plurality of devices executing ndOS programs, the global networking policy including a definition for switching incoming packets through the plurality of devices executing ndOS programs; and

switching the packet based on the determining.

13. The method as recited in claim 12 , further including:

switching a packet originating at the server and with a destination at the server at the network driver.

14. The method as recited in claim 12 , further including:

exchanging control messages between the first ndOS program and the second ndOS program to maintain the global networking policy.

15. The method as recited in claim 12 , further including:

exchanging control messages among the plurality of devices executing ndOS programs to propagate the global networking policy.

16. The method as recited in claim 12 , further including:

configuring, by the second ndOS program, the classifier to implement the global networking policy.

17. The method as recited in claim 12 , wherein the server and the switch module are coupled via peripheral component interconnect (PCI) ports.

18. The method as recited in claim 12 , wherein the server and the switch module are coupled via Ethernet ports.

19. A non-transitory computer-readable storage medium storing a computer program for managing network traffic, the computer-readable storage medium comprising:

program instructions for receiving a packet at a port of a plurality of ports in a switch module of a switching server, the switching server further including a server coupled to the switch module and a switch controller coupled to the switch module and to the server, the switch module further including a classifier a switch fabric, wherein the server includes a processor executing an operating system that includes a network driver, the network driver including a first network device operating system (ndOS) program, the switch controller including a processor and non-volatile storage, wherein the processor is configured to execute a second ndOS program;

program instructions for determining by the classifier to switch the packet through the switch module or through the switch controller based on a global networking policy, wherein the first ndOS program and the second ndOS implement the global networking policy for a plurality of devices executing ndOS programs, the global networking policy including a definition for switching incoming packets through the plurality of devices executing ndOS programs; and

program instructions for switching the packet based on the determining.

20. The storage medium as recited in claim 19 , further including:

program instructions for exchanging control messages between the first ndOS program and the second ndOS program to maintain the global networking policy.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2024
From: PLURIBUS NETWORKS, INC.
To: ARISTA NETWORKS, INC.
Reel/Frame 066347/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2022
From: TRIPATHI, SUNAY; DROST, ROBERT JAMES; YANG, CHIH-KONG KEN
To: PLURIBUS NETWORKS, INC.
Reel/Frame 060774/0897 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2022
From: NH EXPANSION CREDIT FUND HOLDINGS LP
To: PLURIBUS NETWORKS, INC.
Reel/Frame 060200/0252 →
SECURITY INTEREST Recorded Sep 10, 2021
From: PLURIBUS NETWORKS, INC.
To: NH EXPANSION CREDIT FUND HOLDINGS LP
Reel/Frame 057440/0011 →
Continuity (12)
Continuation 13842929 · Mar 15, 2013
Continuation In Part 13313837 · Dec 7, 2011
Continuation In Part 13478179 · May 23, 2012
Continuation In Part 13100125 · May 3, 2011
Continuation In Part 13099918 · May 3, 2011
Provisional Application 61420526 · Dec 7, 2010
Provisional Application 61489085 · May 23, 2011
Provisional Application 61330758 · May 3, 2010
Provisional Application 61346138 · May 19, 2010
Provisional Application 61346147 · May 19, 2010
Provisional Application 61346411 · May 19, 2010
Related Publication 20160241491A1 · Aug 18, 2016