IP Library Granted Patent US 9,680,714
Granted Patent B2
US 9,680,714 · App. 15/080,382 · Granted Jun 13, 2017

Methods, systems, and fabrics implementing a distributed 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.
H04L41/5019H04L45/56H04L49/65H04L49/70H04L45/66H04L47/803
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,680,714
App. No.
15/080,382
Granted
Jun 13, 2017
Kind
B2
Abstract

Methods, systems, and computer programs are presented for managing network switching. A network device operating system (ndOS) program includes instructions for exchanging switching policy regarding switching network packets in a plurality of ndOS devices having ndOS programs. The first ndOS program is executed in a first ndOS device, and the switching policy is exchanged with other ndOS programs via multicast messages. Further, the ndOS program includes instructions for exchanging resource control messages with the other ndOS devices to implement service level agreements in the switching fabric, where the ndOS switching devices cooperate to enforce the service level agreements. Further yet, the ndOS program includes instructions for receiving changes to the switching policy, and instructions for propagating the received changes to the switching policy via message exchange between the ndOS programs. The ndOS devices are managed as a single logical switch that spans the plurality of ndOS devices.

Claims (35)

1. A method for managing network traffic, the method comprising:

receiving a global networking policy at a first network device executing a network device operating system (ndOS) program, the global networking policy defining a processing of incoming packets at one or more of a plurality of network devices executing respective ndOS programs, wherein the global networking policy includes rules for processing network packets and for managing network resources;

exchanging messages between the first network device and other network devices executing ndOS programs to propagate the global networking policy, wherein each ndOS program communicates with other ndOS programs to keep one or more of a global state of flows, services, and virtual networks defined by the global networking policy; and

implementing the global networking policy at the first network device to process network packets and manage network resources.

2. The method as recited in claim 1 , further including:

receiving changes to the global networking policy at the first network device; and

propagating the received changes to the global networking policy via message exchange between the first network device and other network devices executing ndOS programs.

3. The method as recited in claim 1 , wherein the global networking policy includes rules for managing resources across the network devices executing ndOS programs, managing flows and service levels, managing bandwidth, managing virtual resource groups, management of access control lists, and performing analytics on flows passing through the network devices.

4. The method as recited in claim 1 , wherein the network devices executing ndOS programs are managed as a single logical switch that spans the plurality of network devices executing ndOS programs, wherein the global networking policy is centrally managed and implemented across the network devices executing ndOS programs.

5. The method as recited in claim 1 , wherein the global networking policy includes rules for defining how packets are switched in the network devices, maintaining policies for Media Access Control (MAC) address management, and delivering defined service level agreements.

6. The method as recited in claim 1 , wherein the global networking policy includes rules for supporting policies and protocols for exchanging information among the network devices executing ndOS programs, exchanging topology information among the network devices executing ndOS programs, notification of changes in a layer 2 fabric, and discovery of network devices executing ndOS programs.

7. The method as recited in claim 1 , wherein the global networking policy includes rules for creation and management of virtual networks, isolation of traffic from virtual networks, tagging of packets, support for service level agreements in each virtual network, creation of virtual machines on the network devices, creating of virtual machines on hosts, migration of virtual machines from one host to another host, and providing boot images for hosts.

8. The method as recited in claim 1 , wherein the global networking policy includes rules for processing a packet, the rules for processing the packet including one or more of processing the packets in accordance with layer 2, layer 3, or layer 4 protocols, making a copy of the packet, analyzing content of header or payload in the packet, and modifying the header or the payload in the packet.

9. The method as recited in claim 1 , wherein the global networking policy defines one or more of definition of how packets are switched in the network devices executing ndOS programs, maintaining policies for media access control address management, managing resources across the network devices executing ndOS programs, managing flows and service levels, or managing bandwidth.

10. The method as recited in claim 1 , wherein the global networking policy includes classification rules for processing packets, wherein each classification rule includes a classification criteria and an action, wherein the classification criteria for a rule is configurable to be based on one or more parameters selected from a group consisting of a media access control (MAC) address, an Internet Protocol (IP) address, a Transmission Control Protocol (TCP) parameter, a user datagram protocol (UDP) parameter, a TCP port, an IPSec security association, a virtual local area network (VLAN) tag, a 802.1Q VLAN tag, and a 802.1Q-in-Q VLAN tag.

11. The method as recited in claim 10 , wherein the action of each classification rule defines an action to be performed when a packet satisfying the classification rule is identified, wherein the action includes one or more of forwarding the packet to a processor in the network device, or forwarding the packet to a network processing unit in the network device, or sending the packet to a specific external port.

12. A network device, comprising:

a processor configured to execute a network device operating system (ndOS) program that implements a global networking policy for processing incoming packets at one or more of a plurality of network devices executing respective network device operating system (ndOS) programs, wherein the global networking policy includes rules for processing network packets and for managing network resources;

a switch fabric connected to the processor; and

a memory having the ndOS program;

wherein the ndOS program exchanges messages with other ndOS programs executing in other network devices to propagate the global networking policy, wherein each ndOS program communicates with other ndOS programs to keep one or more of a global state of flows, services, and virtual networks defined by the global networking policy;

wherein the ndOS program implements the global networking policy at each of the network devices executing ndOS programs to process network packets and manage network resources.

13. The network device as recited in claim 12 , wherein the ndOS program is configured to receive changes to the global networking policy and to propagate the received changes to the global networking policy via message exchange between the network devices executing ndOS programs.

14. The network device as recited in claim 12 , wherein the global networking policy includes rules for managing resources across the network devices, managing flows and service levels, managing bandwidth, managing virtual resource groups, management of access control lists, and performing analytics on flows passing through the network devices.

15. The network device as recited in claim 12 , wherein the network devices executing ndOS programs are managed as a single logical switch that spans the plurality of network devices executing ndOS programs, wherein the global networking policy is centrally managed and implemented across the network devices executing ndOS programs.

16. The network device as recited in claim 12 , wherein the global networking policy includes rules for defining how packets are switched in the network devices, maintaining policies for Media Access Control (MAC) address management, and delivering defined service level agreements.

17. The network device as recited in claim 12 , wherein the global networking policy includes rules for supporting policies and protocols for exchanging information among the network devices executing ndOS programs, exchanging topology information among the network devices executing ndOS programs, notification of changes in a layer 2 fabric, and discovery of network devices executing ndOS programs.

18. 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 global networking policy at a first network device executing a network device operating system (ndOS) program, the global networking policy defining a processing of incoming packets at one or more of a plurality of network devices executing respective ndOS programs, wherein the global networking policy includes rules for processing network packets and for managing network resources;

program instructions for exchanging messages between the first network device and other network devices executing ndOS programs to propagate the global networking policy, wherein each ndOS program communicates with other ndOS programs to keep one or more of a global state of flows, services, and virtual networks defined by the global networking policy; and

program instructions for implementing the global networking policy at the first network device to process network packets and manage network resources.

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

program instructions for receiving changes to the global networking policy at the first network device; and

program instructions for propagating the received changes to the global networking policy via message exchange between the first network device and other network devices executing ndOS programs, wherein the global networking policy includes rules for managing resources across the network devices executing ndOS programs, managing flows and service levels, managing bandwidth, managing virtual resource groups, management of access control lists, and performing analytics on flows passing through the network devices.

20. The storage medium as recited in claim 18 , wherein the network devices executing ndOS programs are managed as a single logical switch that spans the plurality of network devices executing ndOS programs, wherein the global networking policy is centrally managed and implemented across the network devices executing ndOS programs, wherein the global networking policy includes rules for defining how packets are switched in the network devices, maintaining policies for Media Access Control (MAC) address management, and delivering defined service level agreements.

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 060775/0088 →
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 13842806 · 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 20160234080A1 · Aug 11, 2016