IP Library Granted Patent US 11,246,087
Granted Patent B2
US 11,246,087 · App. 16/443,812 · Granted Feb 8, 2022

Stateful network slice selection using slice selector as connection termination proxy

Inventors: Marc-Andre Bordeleau (Shawinigan, CA); Raja Kommula (Cupertino, CA); Jeremy Tidemann (Urbana, IL); Constantine Polychronopoulos (Saratoga, CA); Edward Choh (Richmond, CA); Ojas Gupta (Mountain View, CA); Georgios Oikonomou (Patras, GR); Robert Kidd (Champaign, IL)
Assignee: VMWARE, INC.
H04W48/18G06F9/45558H04L43/028H04L69/163G06F2009/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,246,087
App. No.
16/443,812
Granted
Feb 8, 2022
Kind
B2
Abstract

Some embodiments provide a method for a network slice selector. From an electronic device, the method receives a connection initiation message for a connection between the electronic device and a network domain. The method exchanges a set of connection initiation messages with the electronic device to set up the connection. The method receives a data message belonging to the connection from the electronic device. The method selects one of multiple network slices to which the electronic device has access as the network slice for the connection based on analysis of the received data message. The method forwards the data message and subsequent data messages belonging to the connection onto the selected network slice to be delivered to the network domain.

Claims (55)

1. For a network slice selector, a method comprising:

from an electronic device, receiving a connection initiation message for a connection session between the electronic device and a network domain;

performing a three-way handshake in order to terminate the connection session, the three-way handshake comprising exchanging a set of connection initiation messages with the electronic device to set up the connection;

performing deep packet inspection to extract data from data messages received through the connection from the electronic device;

using the extracted data to select one of a plurality of network slices to which the electronic device has access as the network slice for the connection; and

forwarding the data messages belonging to the connection onto the selected network slice to be delivered to the network domain.

2. The method of claim 1 , wherein:

the connection initiation message comprises a transmission control protocol (TCP) SYN message; and

exchanging the set of connection initiation messages comprises sending a SYN-ACK message from the network slice selector to the electronic device and receiving an ACK message from the electronic device.

3. The method of claim 2 further comprising, after selecting the network slice and prior to forwarding the data message, forwarding the SYN message and the ACK message onto the selected network slice to be delivered to the network domain.

4. The method of claim 1 , wherein the extracted data comprises at least one of (i) a destination domain name and (ii) information identifying a type of data being transmitted via the connection.

5. The method of claim 1 , wherein the selected network slice comprises a set of network services to be applied to data messages forwarded onto the selected network slice.

6. The method of claim 5 , wherein the selected network slice is a first network slice and the set of network services is a first set of network services, wherein the plurality of network slices comprises at least a second network slice that comprises a second set of network services to be applied to data messages forwarded onto the second network slice.

7. The method of claim 5 , wherein at least a subset of the network services is implemented as virtualized network functions (VNFs) that execute in at least two different datacenters.

8. The method of claim 1 , wherein forwarding the data message onto the selected network slice comprises:

forwarding the data message to a first network service of the selected network slice;

receiving the data message from the first network service after the first network service processes the data message; and

forwarding the data message to a second network service of the selected network slice.

9. The method of claim 1 , wherein the network slice selector executes in a first datacenter, wherein forwarding the data message onto the selected network slice comprises:

forwarding the data message to a first network service of the selected network slice that executes in the first datacenter;

receiving the data message from the first network service after the first network service processes the data message; and

forwarding the data message to a service chaining module that executes in a second datacenter, wherein the service chaining module forwards the data message to a second network service that executes in the second datacenter.

10. The method of claim 1 , wherein the network slice selector is a flow-based forwarding element executing in a virtual machine.

11. The method of claim 1 , wherein the network slice selector executes in a container.

12. A non-transitory machine readable medium storing a network slice selector for execution by at least one processing unit, the network slice selector comprising sets of instructions for:

receiving, from an electronic device, a connection initiation message for a connection session between the electronic device and a network domain;

performing a three-way handshake in order to terminate the connection session, the three-way handshake comprising exchanging a set of connection initiation messages with the electronic device to set up the connection;

performing deep packet inspection to extract data from data messages received through the connection from the electronic device;

using the extracted data to select one of a plurality of network slices to which the electronic device has access as the network slice for the connection; and

forwarding the data messages belonging to the connection onto the selected network slice to be delivered to the network domain.

13. The non-transitory machine readable medium of claim 12 , wherein:

the connection initiation message comprises a transmission control protocol (TCP) SYN message; and

the set of instructions for exchanging the set of connection initiation messages comprises a set of instructions for sending a SYN-ACK message from the network slice selector to the electronic device and receiving an ACK message from the electronic device.

14. The non-transitory machine readable medium of claim 13 , wherein the network slice selector further comprises a set of instructions for forwarding the SYN message and the ACK message onto the selected network slice to be delivered to the network domain, after selecting the network slice and prior to forwarding the data message.

15. The non-transitory machine readable medium of claim 12 , wherein the selected network slice comprises a set of network services to be applied to data messages forwarded onto the selected network slice.

16. The non-transitory machine readable medium of claim 12 , wherein the set of instructions for forwarding the data message onto the selected network slice comprises sets of instructions for:

forwarding the data message to a first network service of the selected network slice;

receiving the data message from the first network service after the first network service processes the data message; and

forwarding the data message to a second network service of the selected network slice.

17. The non-transitory machine readable medium of claim 12 , wherein the network slice selector executes in a first datacenter, wherein the set of instructions for forwarding the data message onto the selected network slice comprises sets of instructions for:

forwarding the data message to a first network service of the selected network slice that executes in the first datacenter;

receiving the data message from the first network service after the first network service processes the data message; and

forwarding the data message to a service chaining module that executes in a second datacenter, wherein the service chaining module forwards the data message to a second network service that executes in the second datacenter.

18. A system comprising:

a set of host computers executing network services for a plurality of network slices; and

a computing device executing a network slice selector that:

receives, from an electronic device, a connection initiation message for a connection session between the electronic device and a network domain;

performs three-way handshake in order to terminate the connection session, wherein the three-way handshake exchanges a set of connection initiation messages with the electronic device to set up the connection;

performs deep packet inspection to extract data from data messages received through the connection from the electronic device;

uses the extracted data to select one of the plurality of network slices to which the electronic device has access as the network slice for the connection; and

forwards the data messages belonging to the connection to the selected network slice to be delivered to the network domain.

19. The system of claim 18 , wherein the network slice selector forwards the data message onto the selected network slice by:

forwarding the data message to a first network service of the selected network slice;

receiving the data message from the first network service after the first network service processes the data message; and

forwarding the data message to a second network service of the selected network slice.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2019
From: BORDELEAU, MARC-ANDRE; KOMMULA, RAJA; TIDEMANN, JEREMY; POLYCHRONOPOULOS, CONSTANTINE; CHOH, EDWARD; GUPTA, OJAS; OIKONOMOU, GEORGIOS; KIDD, ROBERT
To: VMWARE, INC.
Reel/Frame 049494/0842 →
Cited By (5)
US 12,244,466 US 12,413,468 US 12,438,769 US 12,530,214 US 12,581,392