IP Library Granted Patent US 11,178,016
Granted Patent B2
US 11,178,016 · App. 16/568,322 · Granted Nov 16, 2021

Performing slice based operations in a data plane circuit

Inventors: Raja Kommula (Cupertino, CA); Constantine Polychronopoulos (Saratoga, CA); Thayumanavan Sridhar (Palo Alto, CA); Marc-Andre Bordeleau (Shawinigan, CA); Edward Choh (Richmond, CA); Ojas Gupta (Mountain View, CA); Robert Kidd (Champaign, IL); Georgios Oikonomou (Patras, GR); Jeremy Tidemann (Urbana, IL)
Assignee: VMWARE, INC.
H04L41/12G06F9/45541G06F9/45558G06F9/546H04L41/082H04L41/0893H04L41/0896H04L45/38H04L49/9068G06F2009/4557G06F2009/45595
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 11,178,016
App. No.
16/568,322
Granted
Nov 16, 2021
Kind
B2
Abstract

Some embodiments of the invention provide a novel method of performing network slice-based operations on a data message at a hardware forwarding element (HFE) in a network. For a received data message flow, the method has the HFE identify a network slice associated with the received data message flow. This network slice in some embodiments is associated with a set of operations to be performed on the data message by several network elements, including one or more machines executing on one or more computers in the network. Once the network slice is identified, the method has the HFE process the data message flow based on a rule that applies to data messages associated with the identified slice.

Claims (28)

1. A method of performing operations on a data message at a hardware forwarding element (HFE) in a network, the method comprising:

at the HFE comprising a control plane (CP) circuit and a data plane (DP) circuit, which comprises an application specific integrated circuit (ASIC) having a plurality of message processing stages to process data messages received by the HFE, each message processing stage comprising at least one match-action table:

receiving the data message at the DP circuit;

identifying a network slice associated with the received data message by forwarding the received data message from the DP circuit to the CP circuit and receiving at the DP circuit a slice identifier identifying the network slice from the CP circuit, said network slice associated with a plurality of operations to be performed on the received data message by a plurality of network elements including the HFE and a plurality of machines executing on a set of computers in the network, wherein the identified network slice corresponds to a particular type of traffic and the HFE forwards the received data message to a first computer in the set of computers; and

using at least one match-action table of at least one message processing stage of the ASIC of the DP circuit to match the slice identifier with a match attribute of a match-action record that specifies a particular operation for processing data messages associated with the identified network slice,

wherein the CP circuit executes a hypervisor and a particular machine that executes on top of the hypervisor to identify the slice identifier for the data message.

2. The method of claim 1 ,

wherein using at least one match-action table comprises using a set of one or more message processing stages of the ASIC to perform the particular operation on the data message.

3. The method of claim 2 , wherein the particular operation comprises forwarding the received data message to a particular port of the HFE.

4. The method of claim 3 , wherein the particular operation is a next-hop forwarding operation that selects between different next hops of different paths to same destinations in the network.

5. The method of claim 3 , wherein the particular operation is a next-hop forwarding operation that selects between different next hops of different paths to different destinations in the network.

6. The method of claim 3 , wherein the particular port corresponds to a connection to a first datacenter, wherein the particular operation selects between different ports that connect to different datacenters.

7. The method of claim 2 , wherein the particular operation is a forwarding operation of a logical forwarding element implemented by the HFE.

8. The method of claim 2 , wherein the particular operation is a firewall operation that determines whether to drop or allow the data message.

9. The method of claim 2 , wherein the particular operation is a middlebox service operation to perform on the data message.

10. The method of claim 9 , wherein the middlebox service operation is a load balancing operation that distributes the load among a plurality of different destinations or different paths in the network.

11. The method of claim 1 , wherein a set of operations associated with a network slice comprises a plurality of operations performed by the plurality of machines in the network.

12. The method of claim 1 , wherein the plurality of machines comprises at least one of virtual machines and containers.

13. The method of claim 11 , wherein the plurality of operations comprises virtual network functions (VNFs) implemented by a telecommunication company.

14. The method of claim 1 , wherein the plurality of machines implements a service chain associated with the identified network slice.

15. The method of claim 1 , wherein the plurality of machines comprises virtual machines or containers.

16. The method of claim 1 , wherein

the hypervisor includes a context engine that associates data message attributes with slice identifiers; and

the context engine uses a set of attributes of the received message to identify the slice identifier for the received message.

17. The method of claim 16 , wherein the context engine receives records matching data message attributes with slice identifiers from context engines of hypervisors executing on host computers.

18. The method of claim 16 , wherein the context engine receives records matching data message attributes with slice identifiers from a set of one or more servers acting as a set of network managers or controllers.

19. The method of claim 1 , wherein

the CP circuit configures the DP circuit by providing configuration data to configure the DP circuit with operations to process data messages based on their associated slice identifiers.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2019
From: KOMMULA, RAJA; POLYCHRONOPOULOS, CONSTANTINE; SRIDHAR, THAYUMANAVAN; BORDELEAU, MARC-ANDRE; CHOH, EDWARD; GUPTA, OJAS; KIDD, ROBERT; OIKONOMOU, GEORGIOS; TIDEMANN, JEREMY
To: VMWARE, INC.
Reel/Frame 050357/0235 →