IP Library Granted Patent US 10,939,369
Granted Patent B2
US 10,939,369 · App. 16/443,816 · Granted Mar 2, 2021

Retrieval of slice selection state for mobile device connection

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/18H04L41/0893H04L69/22H04W76/11
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 10,939,369
App. No.
16/443,816
Granted
Mar 2, 2021
Kind
B2
Abstract

Some embodiments provide a method for a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to multiple network slices. The method receives a data message from a mobile endpoint device located within the first geographic range. The data message belongs to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range. The method retrieves state that maps the connection to a particular network slice of the network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the network slices. The method assigns the data message to the particular network slice.

Claims (85)

1. For a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, a method comprising:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices, wherein the state comprises a mapping of a connection 5-tuple to a network slice identifier, wherein the connection 5-tuple specifies source and destination network addresses, source and destination transport layer ports, and a transport protocol for the connection; and

assigning the data message to the particular network slice.

2. The method of claim 1 further comprising:

storing the retrieved state; and

assigning subsequent data messages belonging to the connection to the particular network slice using the stored state.

3. The method of claim 1 , wherein retrieving the state comprises:

sending a request to a central state repository; and

receiving the state from the central state repository, wherein the second network slice selector previously provided the state to the central state repository.

4. For a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, a method comprising:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices, wherein retrieving the state comprises:

sending a request to a central controller to identify a source for the state;

receiving a response from the central controller indicating that the second network slice selector is the source for the state;

sending a request to the second network slice selector for the state; and

receiving the state from the second network slice selector; and

assigning the data message to the particular network slice.

5. The method of claim 4 , wherein the request to the central controller comprises a connection identifier based on headers of the data message.

6. For a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, a method comprising:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices, wherein retrieving the state comprises receiving the state from the second network slice selector prior to receiving the data message based on a proximity of the first geographic range to the second geographic range; and

assigning the data message to the particular network slice.

7. The method of claim 6 , wherein the second network slice selector provides the state to a plurality of additional network slice selectors, including the first network slice selector, that assign data messages received from endpoint devices within a plurality of different respective geographic ranges to the plurality of network slices, based on the proximity of the respective geographic ranges to the second geographic range.

8. For a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, a method comprising:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices; and

assigning the data message belonging to the connection to the particular network slice based on analyzing a particular data message from the mobile endpoint device, wherein the analysis of the particular data message comprises the second network slice selector performing deep packet inspection on the received data message to identify information about the connection, wherein the information about the connection is not available in the data message received by the first network slice selector.

9. For a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, a method comprising:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices;

assigning the data message to the particular network slice; and

forwarding the data message onto the particular network slice, said forwarding comprising:

forwarding the data message to a first network service of the particular 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 particular network slice.

10. For a first network slice selector executing in a first datacenter that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, a method comprising:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices;

assigning the data message to the particular network slice; and

forwarding the data message onto the particular network slice, said forwarding comprising:

forwarding the data message to a first network service of the particular 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.

11. A non-transitory machine-readable medium storing a first network slice selector which when executed by at least one processing unit assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, the first network slice selector comprising sets of instructions for:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices, wherein the state comprises a mapping of a connection 5-tuple to a network slice identifier, wherein the connection 5-tuple specifies source and destination network addresses, source and destination transport layer ports, and a transport protocol for the connection; and

assigning the data message to the particular network slice.

12. The non-transitory machine-readable medium of claim 11 , wherein the first network slice selector further comprises sets of instructions for:

storing the retrieved state; and

assigning subsequent data messages belonging to the connection to the particular network slice using the stored state.

13. A non-transitory machine-readable medium storing a first network slice selector which when executed by at least one processing unit assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, the first network slice selector comprising sets of instructions for:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices; and

assigning the data message belonging to the connection to the particular network slice based on analyzing a particular data message from the mobile endpoint device, wherein the analysis of the particular data message comprises the second network slice selector performing deep packet inspection on the received data message to identify information about the connection, wherein the information about the connection is not available in the data message received by the first network slice selector.

14. A non-transitory machine-readable medium storing a first network slice selector which when executed by at least one processing unit assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices, the first network slice selector comprising sets of instructions for:

receiving a data message from a mobile endpoint device located within the first geographic range, the data message belonging to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in a second geographic range;

retrieving state that maps the connection to a particular network slice of the plurality of network slices from a second network slice selector that assigns data messages received from endpoint devices within the second geographic range to the plurality of network slices;

assigning the data message to the particular network slice; and

forwarding the data message onto the particular network slice, the set of instructions for forwarding comprises sets of instructions for:

forwarding the data message to a first network service of the particular 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 particular network slice.

15. A system comprising:

a first computing device executing a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices; and

a second computing device executing a second network slice selector that assigns data messages received from endpoint devices located within a second geographic range to the plurality of network slices,

wherein the first network slice selector (i) receives, from a mobile endpoint device located within the first geographic range, a data message that belongs to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in the second geographic range, (ii) retrieves state that maps the connection to a particular network slice of the plurality of network slices from the second network slice selector, wherein the state comprises a mapping of a connection 5-tuple to a network slice identifier, wherein the connection 5-tuple specifies source and destination network addresses, source and destination transport layer ports, and a transport protocol for the connection, and (iii) assigns the data message to the particular network slice.

16. The system of claim 15 further comprising a central controller that configures the first and second network slice selectors, wherein the first network slice selector retrieves the state by:

sending a request to a central controller to identify a source for the state;

receiving a response from the central controller indicating that the second network slice selector is the source for the state;

sending a request to the second network slice selector for the state; and

receiving the state from the second network slice selector.

17. A system comprising:

a first computing device executing a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices;

a second computing device executing a second network slice selector that assigns data messages received from endpoint devices located within a second geographic range to the plurality of network slices; and

a central state repository, wherein the first network slice selector retrieves the state by (i) sending a request to a central state repository, and (ii) receiving the state from the central state repository,

wherein the first network slice selector (i) receives, from a mobile endpoint device located within the first geographic range, a data message that belongs to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in the second geographic range, (ii) retrieves state that maps the connection to a particular network slice of the plurality of network slices from the second network slice selector, and (iii) assigns the data message to the particular network slice,

wherein the second network slice selector previously provided the state to the central state repository.

18. The system of claim 15 , wherein the first network slice selector retrieves the state by receiving the state from the second network slice selector prior to receiving the data message based on a proximity of the first geographic range to the second geographic range.

19. A system comprising:

a first computing device executing a first network slice selector that assigns data messages received from endpoint devices located within a first geographic range to a plurality of network slices;

a second computing device executing a second network slice selector that assigns data messages received from endpoint devices located within a second geographic range to the plurality of network slices; and

a plurality of additional slice selectors that assign data messages received from endpoint devices within a plurality of different respective geographic ranges to the plurality of network slices,

wherein the first network slice selector (i) receives, from a mobile endpoint device located within the first geographic range, a data message that belongs to a connection between the mobile endpoint device and a network domain that began when the mobile device was located in the second geographic range, (ii) retrieves state that maps the connection to a particular network slice of the plurality of network slices from the second network slice selector, and (iii) assigns the data message to the particular network slice,

wherein the second network slice selector provides the state to the plurality of additional network slice selectors in addition to the first network slice selector based on the proximity of the respective geographic ranges to the second geographic range.

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 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/0894 →
Cited By (4)
US 12,413,468 US 12,438,769 US 12,530,214 US 12,581,392