IP Library Granted Patent US 11,051,201
Granted Patent B2
US 11,051,201 · App. 16/280,148 · Granted Jun 29, 2021

Dynamic selection of network elements

Inventors: Prasasth Palnati (Westford, MA); Girish Nair (Nashua, NH); Srinivas Kappla (Nashua, NH)
Assignee: Microsoft Technology Licensing, LLC
H04W28/0273H04W28/0284H04W36/0022H04W48/18H04W88/16H04W76/10
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,051,201
App. No.
16/280,148
Filed
Feb 20, 2019
Granted
Jun 29, 2021
Kind
B2
Examiner
CHEN, PETER
Art Unit
2462
USPC
370/229
Abstract

In some embodiments, a selection module associated with a control plane node implementing CUPS functionality can identify a user plane element for assigning user plane functionalities based on static and/or dynamic selection criteria. Dynamic criteria can include, for example, load information, latency, and hardware acceleration support. In some embodiments, a control plane node can determine whether to implement a CUPS or a non-CUPS session. If a non-CUPS session is determined, the CUPS control plane node can assume user plane functionalities in addition to control plane functionalities.

Claims (39)

1. A method comprising:

storing, in a static information database of a selection module associated with a control plane node, static information associated with a plurality of user plane nodes;

periodically receiving, by the selection module, dynamic information associated with the plurality of user plane nodes, wherein the dynamic information comprises latency information, and wherein the latency information comprises a plurality of measured latency values;

storing, by the selection module, the dynamic information associated with the plurality of user plane nodes in a dynamic information database of the selection module;

receiving, by the selection module, an indication of a triggering event, the triggering event being associated with at least one user session;

identifying, by the selection module, a subset of the plurality of user plane nodes by comparing the static information stored in the static information database with at least one static selection criteria;

calculating, by the selection module, a dynamic information score for each of the subset of the plurality of user plane nodes, wherein the dynamic information score is calculated based at least in part on the plurality of measured latency values;

identifying, by the selection module, a preferred user plane node of the subset of the plurality of user plane nodes based on the calculated dynamic information scores; and

providing, by the selection module, the identification of the preferred user plane node to the control plane node, wherein the control plane node assigns user plane functionality for at least one of the at least one user session to the preferred user plane node.

2. The method of claim 1 , wherein the static information comprises one or more of an access point name (“APN”), a radio access technology (“RAT”) type, a packet data network (“PDN”) type, a location, a serving public land mobile network identifier (“PLMN ID”), or a subscription profile.

3. The method of claim 1 , wherein the dynamic information further comprises one or more of support service capabilities, service-specific load information, or hardware acceleration support information.

4. The method of claim 1 , wherein the control plane node comprises one or more of a control plane packet gateway (PGW-C), a control plane serving gateway (SGW-C), a control plane traffic detection function (TDF-C), or a control plane module having one or more of a PGW-C, SGW-C or a TDF-C.

5. The method of claim 1 , wherein the plurality of user plane nodes comprise one or more of a user plane packet gateway (PGW-U), a user plane serving gateway (SGW-U), a user plane traffic detection function (TDF-U), or a user plane module having one or more of a PGW-U, SGW-U or a TDF-U.

6. The method of claim 1 , wherein the static information database and the dynamic information database comprise the same database.

7. The method of claim 1 , wherein the triggering event comprises a user equipment connecting to a core network of a network of a networked system.

8. The method of claim 1 , wherein the triggering event comprises a loading status of at least one of the plurality of user plane nodes.

9. The method of claim 1 , wherein the storing the dynamic information associated with the plurality of user plane nodes in the dynamic information database comprises replacing previously stored information associated with the plurality of user plane nodes in the dynamic information database with the received dynamic information associated with the plurality of user plane nodes.

10. The method of claim 1 , wherein the identifying the preferred user plane node comprises identifying a user plane node having a highest dynamic information score or a lowest dynamic information score.

11. The method of claim 1 , further comprising assigning, by the control plane node, the user plane functionality for at least one of the at least one user session to the preferred user plane node.

12. The method of claim 1 , wherein the selection module is part of the control plane node.

13. The method of claim 1 , wherein:

the method further comprises determining a desired eNodeB based on where a user equipment access a network;

the plurality of measured latency values comprise a distinct measured latency value for each possible combination of a user plane node in the subset of the plurality of user plane nodes and the desired eNodeB; and

calculating the dynamic information score comprises determining a lowest latency value among the plurality of measured latency values.

14. The method of claim 1 , wherein the dynamic information further comprises support service capabilities, service-specific load information, and hardware acceleration support information.

15. The method of claim 14 , wherein calculating the dynamic information score comprises weighting at least one of the support service capabilities, the service-specific load information, the latency information, or the hardware acceleration support information.

16. A system comprising:

a control plane node;

a selection module associated with the control plane node, the selection module including a static information database, a dynamic information database, and a non-transitory computer readable storage medium having instructions stored thereon to cause a processor to:

store, in the static information database of the selection module, static information associated with a plurality of user plane nodes;

periodically receive, by the selection module, dynamic information associated with the plurality of user plane nodes, wherein the dynamic information comprises latency information, and wherein the latency information comprises a plurality of measured latency values;

store, by the selection module, the dynamic information associated with the plurality of user plane nodes in the dynamic information database of the selection module;

receive, by the selection module, an indication of a triggering event, the triggering event being associated with at least one user session;

identify, by the selection module, a subset of the plurality of user plane nodes by comparing the static information stored in the static information database with at least one static selection criteria;

calculate, by the selection module, a dynamic information score for each of the subset of the plurality of user plane nodes, wherein the dynamic information score is based at least in part on the plurality of measured latency values;

identify, by the selection module, a preferred user plane node of the subset of the plurality of user plane nodes based on the calculated dynamic information scores; and

provide, by the selection module, identification of the preferred user plane node to the control plane node, wherein the control plane node assigns user plane functionality for at least one of the at least one user session to the preferred user plane node.

17. The system of claim 16 , wherein the dynamic information further comprises one or more of support service capabilities, service-specific load information, or hardware acceleration support information.

18. The system of claim 16 , wherein the control plane node is configured to assign the user plane functionality for at least one of the at least one user session to the preferred user plane node.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 053983 FRAME: 0166. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 12, 2023
From: AFFIRMED NETWORKS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063636/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2022
From: PALNATI, PRASASTH; NAIR, GIRISH; KAPPLA, SRINIVAS
To: AFFIRMED NETWORKS, INC.
Reel/Frame 060898/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2020
From: AFFIRMED NETWORKS, INC.
To: MICROSOFT TECHNOLGY LICENSING, LLC
Reel/Frame 053983/0166 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2019
From: PALNATI, PRASASTH; NAIR, GIRISH; KAPPLA, SRINIVAS
To: AFFIRMED NETWORKS, INC.
Reel/Frame 048990/0535 →
Continuity (2)
Provisional Application 62632682 · Feb 20, 2018
Related Publication 20190261213A1 · Aug 22, 2019
Cited By (1)
US 12,267,246