US20190357081A1 - Resilient in-band mobile core user plane function selection using segment routing load balancing - Google Patents
Resilient in-band mobile core user plane function selection using segment routing load balancing Download PDFInfo
- Publication number
- US20190357081A1 US20190357081A1 US16/030,956 US201816030956A US2019357081A1 US 20190357081 A1 US20190357081 A1 US 20190357081A1 US 201816030956 A US201816030956 A US 201816030956A US 2019357081 A1 US2019357081 A1 US 2019357081A1
- Authority
- US
- United States
- Prior art keywords
- user plane
- plane function
- session
- function entity
- entity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 188
- 238000007726 management method Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/088—Load balancing or load distribution among core entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H04L61/2007—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5061—Pools of addresses
Definitions
- the present disclosure relates to mobile core network infrastructure.
- control and user plane separation is at the essence of the future 5G mobile network architecture.
- the selection of a user plane function is an important function. Selection of a user plane function is performed by the control plane element based on various information including location, service, capabilities and load. Some of this information (e.g., load) typically involves feedback between the two components.
- FIG. 1 is a diagram of a mobile core infrastructure environment illustrating a conventional user plane selection mechanism.
- FIG. 2A is a diagram of a mobile core infrastructure environment illustrating a user plane selection mechanism using Segment Routing Load Balancing techniques, according to an example embodiment.
- FIG. 2B illustrates a Segment Routing header including segment identifiers to identify two user plane functions to be used for serving a function, according to an example embodiment.
- FIG. 3A is a diagram of a mobile core infrastructure environment illustrating a user plane selection mechanism, according to another example embodiment.
- FIG. 3B is a detailed diagram of a Segment Routing header illustrating how metadata may be included in optional Type Length Values (TLVs), according to an example embodiment.
- TLVs Type Length Values
- FIG. 4 is a flow chart depicting operations performed by a session management function entity, according to an example embodiment.
- FIG. 5 is a block diagram of a session management function server configured to perform the session management function entity operations described herein, according to an example embodiment.
- FIG. 6 is a flow chart depicting operations performed by a user plane function entity, according to an example embodiment.
- FIG. 7 is a block diagram of a user plane function server configured to perform the user plane management functions described herein, according to an example embodiment.
- a user plane selection mechanism leverages an in-band load balancing scheme, e.g., Segment Routing Load Balancing (SRLB).
- SRLB Segment Routing Load Balancing
- Information in the form of a segment identifiers is passed to the components.
- the effective user plane function selection can be done in-band at the transport level.
- a session management function entity in a mobile core infrastructure network obtains a new session request to invoke a user plane function for a session on behalf of a mobile user equipment.
- the session management function entity selects, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function, the set including at least two user plane function entities.
- the session management function entity generates a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities, wherein the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session, and otherwise the first user plane function entity forwards the new session notification to another user plane function entity in the set, and so on, until one of the user plane function entities in the set can serve the session, thereby achieving in-band load balancing among the user plane function entities in the set resulting in a selected user plane function entity to serve the session.
- the session management function entity obtains (receives) a response from the selected user plane function entity in the set that serves the session, the response including an identifier of the selected user plane function entity that serves the session and an Internet Protocol (IP) address allocated for the session.
- IP Internet Protocol
- a user plane function entity that is part of a set of at least two user plane function entities in a mobile core infrastructure network, obtains a new session notification for a session on behalf of a mobile user equipment, the new session notification including a segment routing header that includes a segment identifier for each of the at least two user plane function entities in the set.
- the user plane function entity parses the segment routing header to obtain the segment identifiers for each of the one or more other user plane function entities specified in the segment routing header.
- the user plane function entity determines whether it can serve the session. If the user plane function entity cannot serve the session, it forwards the new session notification to a next user plane function entity in the set.
- the user plane function entity can serve the session, it selects an Internet Protocol (IP) address for the session from a pool of available IP addresses, and sends a response to a session management function entity in the mobile core infrastructure network, the response including an identifier of the user plane function entity that serves the session and the IP address allocated for the session.
- IP Internet Protocol
- Mobile network service providers are considering evolving their network, introducing network slicing and separation of the control plane and user plane functions. These capabilities enable delivery of new use cases and allow a more flexible network deployment by distributing service capabilities of a network component where the service is actually required.
- the proper user plane element should be selected.
- the selection is based on information, such as user location, application/traffic characteristics (e.g. for low latency use cases), service/content (e.g. cache), allocated Quality of Service (QoS), network load, etc.
- application/traffic characteristics e.g. for low latency use cases
- service/content e.g. cache
- QoS allocated Quality of Service
- network load etc.
- Some of this information is dynamic in nature and involves constant information exchange between the selecting and selected components (i.e., control plane and user plane). This is to be contrasted with more static selection criteria, such as location and application/traffic characteristics.
- SRLB segment routing load balancing
- ID segment routing identifier
- the actual load balancing is based on a recursive behavior whereby if the first targeted node is not able to admit a new session/flow, it passes the service request to the next node, leveraging a segment routing capability (i.e. passing to the next header).
- the control plane element applies the above concept and selects a set of candidate user plane functions each identified with their own segment routing information.
- This information in the form of segment routing IDs possibly complemented by metadata (as possible with SRv6), is transmitted.
- the metadata may be used to provide information about the new session to set up.
- the selection is then directly performed at the transport level by the user plane functions.
- the user plane and control plane components finalize the user session/flow state association over an interface (e.g., the Sx interface per the 3GPP standards). This method does not require an initial message for the new session between the control component and user plane component because the necessary information has been exchanged during the Sx association establishment, and for the new session additional information may be passed in the segment routing header.
- An advantage of this mechanism is that it allows for efficient load balancing without having to exchange load information. Moreover, state information about user plane usage does not need to be maintained. Also, being an in-band technique, it does not need an initial session information exchange between the control and user plane. Only when the user plane is selected, further information may be exchanged.
- FIG. 1 illustrates a high-level diagram of a conventional technique for selection of a user plane function (UPF) in a mobile core infrastructure environment 10 .
- FIG. 1 shows a Session Management Function (SMF) 20 and a pool 30 including a plurality of User Plane Functions (UPFs) 32 ( 1 )- 32 (N). Both SMF and UPF refers to 5G network components as defined in 3GPP standards.
- the SMF 20 selects a UPF for and the UPF is in communication with a Radio Access Network (RAN) entity 40 that enables wireless communication with User Equipment (UE) devices 50 ( 1 )- 50 (K).
- RAN Radio Access Network
- the SMF 20 is responsible for session management with individual functions being supported on a per session basis.
- the SMF 20 allocates IP addresses to UEs, and selects and controls the UPF for data transfer.
- the SMF 20 also acts as the external point for all communication related to the various services offered and enabled in the user plane and how the policy and charging treatment for these services is applied and controlled.
- the UPFs 32 ( 1 )- 32 (N) may operate as separate Virtual Network Forwarders (VNFs) to serve as forwarding engines for user traffic.
- VNFs Virtual Network Forwarders
- the UPFs 32 ( 1 )- 32 (N) may perform a variety of function such as, Stateful Packet Inspection (SPI)/Deep Packet Inspection (DPI), traffic optimization and inline services Network Address Translation (NAT)/Firewall/Domain Name System (DNS) snooping, etc.
- SPI Stateful Packet Inspection
- DPI Deep Packet Inspection
- NAT Network Address Translation
- DNS Domain Name System
- the SMF 20 When a user session (for a particular one of the UEs 50 ( 1 )- 50 (K)) starts at 100 , the SMF 20 , at 110 , selects a UPF based on session/network information (location, load, user, services, etc.). The SMF 20 selects an IP address for the user session at the same time it selects the UPF. At 120 , the SMF 20 sends a session request to the selected UPF, e.g., UPF 32 ( 1 ) with a specified Quality of Service (QoS). The session request includes the selected IP address by the SMF 20 .
- QoS Quality of Service
- FIG. 2A shows a mobile core infrastructure environment 200 that includes an SMF 20 , a pool/set 30 of eligible UPFs 32 ( 1 )- 32 (N), a RAN entity 40 and UEs 50 ( 1 )- 50 (K).
- the SMF 20 selects a set of UPFs (minimum of 2) matching session/service requirements. This does not require out-of-band monitoring, but instead operates at the network level and is balanced among servers.
- the SMF 20 sends a new session notification to the selected (at least 2) UPFs, for example UPFs 32 ( 1 ) and 32 ( 2 ).
- the outer header of the new session notification is based on SRLB information (identifying the selected set of UPFs, such as UPFs 32 ( 1 ) and 32 ( 2 )).
- SRLB information identifying the selected set of UPFs, such as UPFs 32 ( 1 ) and 32 ( 2 ).
- FIG. 2B where the Segment Routing (SR) Header includes a Virtual IP address (VIP), followed by “S 2 ,S 1 ” to indicate the selected set of UPFs, where S 2 is 32 ( 2 ) and S 1 is 32 ( 1 ), for example.
- the IPv6 header includes S 1 as the destination address (DA), and the source address (SA) is “C” representing the address of the SMF 20 .
- the SR header may further include optional metadata to provide information about the new session to set up.
- the new session request 230 is received at UPF 32 ( 1 ).
- UPF 32 ( 1 ) cannot serve the session (due to capacity or other issues) and, according to the SRLB techniques, forwards the session request to the next UPF in the selected set, e.g., to UPF 32 ( 2 ) based on the information contained in the SR header shown in FIG. 2B .
- UPF 32 (( 2 ) can serve the session
- UPF 32 ( 2 ) sends a response that includes an identification of UPF 32 ( 2 ) as the serving UPF and also the IP address allocated for the session.
- the serving UPF 32 ( 2 ) selects the IP address for the session based on an available pool of IP addresses. In the embodiment of FIG. 2 , the IP address is not selected by the SMF, as in the scenario of FIG. 1 .
- FIG. 3A shows a mobile core infrastructure environment 300 similar to FIG. 2A , but illustrating a variation to the scenario shown in FIG. 2A .
- FIG. 3A further shows a Core Access and Mobility Management Function (AMF) 80 (not shown in FIGS. 1 and 2A ).
- AMF Core Access and Mobility Management Function
- a new session is initiated at 310 .
- the SMF 20 selects a set of UPF (minimum of 2) matching session/service requirements.
- the SMF 20 constructs a new session request having an outer header based on SRLB information with optional metadata to be used at an SGi interface and is sent to the RAN entity 40 .
- UPF minimum of 2
- Metadata may be transported in optional Type Length Values (TLVs) of the SR header, as shown in FIG. 3B (for the scenario of FIG. 3A as well as for the scenario of FIG. 2A ).
- TLVs Type Length Values
- metadata may be used to indicate specific QoS information or to identify a charging policy.
- the RAN entity 40 sends a new session request having an SRLB header used at the transport layer to the selected set of UPFs, e.g., UPFs 32 ( 1 ) and 32 ( 2 ), similar to that shown in FIG. 2A .
- the new session request 340 is received at UPF 32 ( 2 ).
- UPF 32 ( 2 ) cannot serve the session (due to capacity or other issues) and, according to the SRLB techniques, forwards the session request to the next UPF in the selected set, e.g., to UPF 32 ( 1 ).
- UPF 32 (( 1 ) can serve the session
- UPF 32 ( 1 ) sends to the RAN entity 40 a notification indicating that a new session is established.
- the serving UPF 32 ( 1 ) selects the IP address for the session based on an available pool of IP addresses.
- the UPF 32 ( 1 ) sends to the SMF 20 a new session notification.
- the new session notification includes a session identifier, an identification of UPF 32 ( 1 ) as the serving UPF and also the IP address allocated for the session.
- the mechanism shown in FIG. 3A does not require out-of-band monitoring, operates at network level and balances among servers.
- FIG. 3B a diagram is shown of a segment routing header, and in particular a SRv6 header, as defined in draft-ietf-6man-segment-routing-header-14.
- the header 400 includes a next header field 402 , a header extension (ext) length (len) field 404 , a routing type field 406 , a segments left field 408 , a last entry field 410 , a flags field 412 , and a tag field 414 .
- the header 400 further includes fields 420 ( 1 )- 420 ( n ) for n Segment Lists.
- the header 400 includes an optional TLV field 430 ; this is where the aforementioned metadata may be located in the segment routing header.
- FIG. 4 illustrates a flow chart depicting a process 400 performed by the SMF 20 .
- the process 500 is performed a session management function entity, e.g., SMF 20 , in a mobile core infrastructure network.
- a new session request is received/obtained by the session management function entity.
- the new session request is to invoke a user plane function for a session of behalf of a mobile user equipment, e.g., one of the UEs 50 ( 1 )- 50 (K) shown in FIG. 2A or 3A .
- the session management function entity selects, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function.
- the set includes at least two user plane function entities.
- the management function entity generates a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities.
- the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session. Otherwise, if the first user plane function entity cannot serve the session (due to capacity overload issues, etc.) the first user plane function entity forwards the new session notification to another (a next) user plane function entity in the set, and so on.
- the process of forwarding on the new session notification to a next user plane function entity in the set continues, if necessary, until one of the user plane function entities in the set can serve the session, thereby achieving in-band load balancing among the user plane function entities in the set resulting in a selected user plane function entity to serve the session.
- the session management function entity sends the new session notification to the first user plane function entity of the set.
- the session management function entity sends the new session notification to a radio access network entity in the mobile core infrastructure network, and the radio access network entity sends the new session notification to the first user plane function entity in the set.
- the session management function entity obtains (receives) a response from the selected user plane function entity in the set that serves the session.
- the response includes an identifier of the selected user plane function entity that serves the session and an Internet Protocol (IP) address allocated for the session.
- IP Internet Protocol
- the segment routing header may optionally include metadata that includes information about the session to be set up for the mobile user equipment.
- the metadata may be used to indicate various types of information, such as QoS information, a charging policy, etc.
- the metadata may be transported in optional TLV values of the segment routing header.
- FIG. 5 illustrates a block diagram of an SMF server configured to perform the operations of the SMF 20 .
- the SMF server 20 may include one or more processors 600 , a network interface 610 configured to enable network communications, memory 630 and stored in memory 630 are software instructions for SMF control logic 640 .
- the memory 630 may be read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices.
- the memory 630 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor 600 ) it is operable to perform the SMF operations described above.
- a tangible (non-transitory) computer readable storage media e.g., a memory device
- software comprising computer executable instructions and when the software is executed (by the processor 600 ) it is operable to perform the SMF operations described above.
- FIG. 6 illustrates a flow chart for a process 700 performed by a user plane function entity according to the embodiments presented herein.
- the user plane function entity is part of a set of at least two user plane function entities in a mobile core infrastructure network.
- the user plane function entity receives a new session notification for a session on behalf of a mobile user equipment.
- the new session notification includes a segment routing header.
- the segment routing header includes a segment identifier for each of at least two user plane function entities in the set of user plane function entities.
- the new session notification may have been sent by a session management function entity ( FIG. 2A ) or by a radio access network entity ( FIG. 3A ).
- the user plane function entity parses the segment routing header to obtain the identifiers for each of the one or more other user plane function entities specified in the segment routing header of the new session notification.
- the user plane function entity (the first user plane function entity in the first instance) determines whether, based on its capacity/workload, etc., whether it can serve the session. If the user plane function entity cannot serve the session, then at 740 , it is determined whether there are any remaining user plane function entities in the set that have yet to be notified about serving the session. If at 740 it is determined there are one or more remaining user plane function entities in the set, then at 750 , the user plane function entity forwards the new session notification to a next user plane function entity in the set.
- the process repeats from operation 730 . If at 740 it is determined that there are no remaining user plane function entities in the set, then at 755 the user plane function entity sends a notification (to the session management function entity, for example) indicating that the session cannot be served by any of the user plane function entities in the set.
- the user plane function entity selects the IP address for the session from a pool of available IP addresses.
- the user plane function entity sends a response to the session management function entity.
- the response includes an identifier of the user plane function entity that serves the session and the IP address allocated for the session.
- the user plane function entity performs the user plane functions for the session. If there is any metadata contained in the segment routing header (obtained during the parsing operation 720 ), the user plane function entity uses that metadata in setting up/and or serving the session.
- FIG. 5 illustrates a block diagram of an UPF server 32 ( i ) configured to performed the operations of the SMF 32 ( 1 )- 32 (N).
- the SMF server 32 ( i ) may include one or more processors 700 , a network interface 710 configured to enable network communications, memory 730 and stored in memory 730 software instructions for UPF control logic 740 .
- the memory 730 may be ROM, RAM, magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices.
- the memory 730 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor 700 ) it is operable to perform the UPF operations described above.
- a computer readable storage media e.g., a memory device
- software comprising computer executable instructions and when the software is executed (by the processor 700 ) it is operable to perform the UPF operations described above.
- a user plane selection mechanism leverages an in-band load balancing scheme, e.g., Segment Routing Load Balancing (SRLB).
- SRLB Segment Routing Load Balancing
- Information in the form of a segment routing II (complemented by metadata) is passed to the components.
- the effective user plane selection can be done at the transport level.
- a method comprising, at a session management function entity in a mobile core infrastructure network: obtaining (receiving) a new session request to invoke a user plane function for a session on behalf of a mobile user equipment; selecting, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function, the set including at least two user plane function entities; generating a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities, wherein the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session, and otherwise the first user plane function entity forwards the new session notification to another user plane function entity in the set, and so on, until one of the user plane function entities in the set can serve the session, thereby achieving in-band load balancing among the user plane function entities in the set resulting in a selected user
- an apparatus comprising: a network interface to enable network communications on behalf of a session management function entity in a mobile core infrastructure network; a processor coupled to the network interface, wherein the processor is configured to: obtain (receive via the network interface) a new session request to invoke a user plane function for a session on behalf of a mobile user equipment; select, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function, the set including at least two user plane function entities; generate a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities, wherein the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session, and otherwise the first user plane function entity forwards the new session notification to another user plane function entity in the set, and so on, until one of the user plane function entities in the set can serve the session,
- one or more non-transitory computer readable storage media are provided, encoded with instructions that, when executed by a processor of a session management function entity in a mobile core infrastructure network, cause the processor to perform operations including: obtaining (receiving) a new session request to invoke a user plane function for a session on behalf of a mobile user equipment; selecting, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function, the set including at least two user plane function entities; generating a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities, wherein the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session, and otherwise the first user plane function entity forwards the new session notification to another user plane function entity in the set, and so on, until one of the user plane function entities in the set can serve the
- a method comprising, at a user plane function entity that is part of a set of at least two user plane function entities in a mobile core infrastructure network: obtaining (receiving) a new session notification for a session on behalf of a mobile user equipment, the new session notification including a segment routing header that includes a segment identifier for each of the at least two user plane function entities in the set; parsing the segment routing header to obtain the segment identifiers for each of the one or more other user plane function entities specified in the segment routing header; determining whether the user plane function entity can serve the session; if the user plane function entity cannot serve the session, forwarding the new session notification to a next user plane function entity in the set; if the user plane function entity can serve the session: selecting an Internet Protocol (IP) address for the session from a pool of available IP addresses; and sending a response to a session management function entity in the mobile core infrastructure network, the response including an identifier of the user plane function entity that serves the session and the IP address allocated for the session.
- IP Internet Protocol
- an apparatus comprising: a network interface to enable network communications on behalf of a user plane function entity in a mobile core infrastructure network; and processor coupled to the network interface, wherein the processor is configured to: obtain (receive via the network interface) a new session notification for a session on behalf of a mobile user equipment, the new session notification including a segment routing header that includes a segment identifier for each of the at least two user plane function entities in the set; parse the segment routing header to obtain the segment identifiers for each of the one or more other user plane function entities specified in the segment routing header; determine whether the user plane function entity can serve the session; if the user plane function entity cannot serve the session, forward the new session notification to a next user plane function entity in the set; if the user plane function entity can serve the session: select an Internet Protocol (IP) address for the session from a pool of available IP addresses; and send a response to a session management function entity in the mobile core infrastructure network, the response including an identifier of the user plane function entity that serves
- IP Internet Protocol
- one or more non-transitory computer readable storage media are provided, encoded with instructions that, when executed by a processor of a user plate function entity that is part of a set of at least two user plane function entities in a mobile core infrastructure network, cause the processor to perform operations including: obtaining (receiving) a new session notification for a session on behalf of a mobile user equipment, the new session notification including a segment routing header that includes a segment identifier for each of the at least two user plane function entities in the set; parsing the segment routing header to obtain the segment identifiers for each of the one or more other user plane function entities specified in the segment routing header; determining whether the user plane function entity can serve the session; if the user plane function entity cannot serve the session, forwarding the new session notification to a next user plane function entity in the set; if the user plane function entity can serve the session: selecting an Internet Protocol (IP) address for the session from a pool of available IP addresses; and sending a response to a session management function entity in the mobile core
- IP Internet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
- This application claims priority to U.S. Provisional Application No. 62/672,761, filed May 17, 2018, the entirety of which is incorporated herein by reference.
- The present disclosure relates to mobile core network infrastructure.
- Introduced for the 4G network, control and user plane separation is at the essence of the future 5G mobile network architecture. As a session is first established with the control plane, the selection of a user plane function is an important function. Selection of a user plane function is performed by the control plane element based on various information including location, service, capabilities and load. Some of this information (e.g., load) typically involves feedback between the two components.
-
FIG. 1 is a diagram of a mobile core infrastructure environment illustrating a conventional user plane selection mechanism. -
FIG. 2A is a diagram of a mobile core infrastructure environment illustrating a user plane selection mechanism using Segment Routing Load Balancing techniques, according to an example embodiment. -
FIG. 2B illustrates a Segment Routing header including segment identifiers to identify two user plane functions to be used for serving a function, according to an example embodiment. -
FIG. 3A is a diagram of a mobile core infrastructure environment illustrating a user plane selection mechanism, according to another example embodiment. -
FIG. 3B is a detailed diagram of a Segment Routing header illustrating how metadata may be included in optional Type Length Values (TLVs), according to an example embodiment. -
FIG. 4 is a flow chart depicting operations performed by a session management function entity, according to an example embodiment. -
FIG. 5 is a block diagram of a session management function server configured to perform the session management function entity operations described herein, according to an example embodiment. -
FIG. 6 is a flow chart depicting operations performed by a user plane function entity, according to an example embodiment. -
FIG. 7 is a block diagram of a user plane function server configured to perform the user plane management functions described herein, according to an example embodiment. - Overview
- Presented herein are techniques to simplify the mobile core user plane selection process by in-band load balancing techniques. A user plane selection mechanism is provided that leverages an in-band load balancing scheme, e.g., Segment Routing Load Balancing (SRLB). Information in the form of a segment identifiers (optionally complemented by metadata) is passed to the components. As a result, the effective user plane function selection can be done in-band at the transport level.
- In one embodiment, a session management function entity in a mobile core infrastructure network, obtains a new session request to invoke a user plane function for a session on behalf of a mobile user equipment. The session management function entity selects, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function, the set including at least two user plane function entities. The session management function entity generates a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities, wherein the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session, and otherwise the first user plane function entity forwards the new session notification to another user plane function entity in the set, and so on, until one of the user plane function entities in the set can serve the session, thereby achieving in-band load balancing among the user plane function entities in the set resulting in a selected user plane function entity to serve the session. The session management function entity obtains (receives) a response from the selected user plane function entity in the set that serves the session, the response including an identifier of the selected user plane function entity that serves the session and an Internet Protocol (IP) address allocated for the session.
- In another embodiment, a user plane function entity that is part of a set of at least two user plane function entities in a mobile core infrastructure network, obtains a new session notification for a session on behalf of a mobile user equipment, the new session notification including a segment routing header that includes a segment identifier for each of the at least two user plane function entities in the set. The user plane function entity parses the segment routing header to obtain the segment identifiers for each of the one or more other user plane function entities specified in the segment routing header. The user plane function entity determines whether it can serve the session. If the user plane function entity cannot serve the session, it forwards the new session notification to a next user plane function entity in the set. If the user plane function entity can serve the session, it selects an Internet Protocol (IP) address for the session from a pool of available IP addresses, and sends a response to a session management function entity in the mobile core infrastructure network, the response including an identifier of the user plane function entity that serves the session and the IP address allocated for the session.
- Mobile network service providers are considering evolving their network, introducing network slicing and separation of the control plane and user plane functions. These capabilities enable delivery of new use cases and allow a more flexible network deployment by distributing service capabilities of a network component where the service is actually required.
- The consequence of this is that as the user is connecting or launching a new service, the proper user plane element should be selected. The selection is based on information, such as user location, application/traffic characteristics (e.g. for low latency use cases), service/content (e.g. cache), allocated Quality of Service (QoS), network load, etc. Some of this information is dynamic in nature and involves constant information exchange between the selecting and selected components (i.e., control plane and user plane). This is to be contrasted with more static selection criteria, such as location and application/traffic characteristics.
- Presented herein are techniques that leverage a newly developed concept known as segment routing load balancing (SRLB) to improve the user plane selection process. SRLB is an in-band technique that allows for efficient load balancing. With SRLB, it is possible to pre-determine a set of n selected components. All targeted components are identified with a specific segment routing identifier (ID) that is added to the routing header. The actual load balancing is based on a recursive behavior whereby if the first targeted node is not able to admit a new session/flow, it passes the service request to the next node, leveraging a segment routing capability (i.e. passing to the next header). Experimentation of SRLB has shown that n=2 (“Power of 2”) is sufficient to perform efficient load balancing.
- For user plane selection, it is then proposed that the control plane element applies the above concept and selects a set of candidate user plane functions each identified with their own segment routing information. This information, in the form of segment routing IDs possibly complemented by metadata (as possible with SRv6), is transmitted. The metadata may be used to provide information about the new session to set up. The selection is then directly performed at the transport level by the user plane functions. Once the selection is complete, the user plane and control plane components finalize the user session/flow state association over an interface (e.g., the Sx interface per the 3GPP standards). This method does not require an initial message for the new session between the control component and user plane component because the necessary information has been exchanged during the Sx association establishment, and for the new session additional information may be passed in the segment routing header.
- An advantage of this mechanism is that it allows for efficient load balancing without having to exchange load information. Moreover, state information about user plane usage does not need to be maintained. Also, being an in-band technique, it does not need an initial session information exchange between the control and user plane. Only when the user plane is selected, further information may be exchanged.
- Reference is now made to
FIG. 1 .FIG. 1 illustrates a high-level diagram of a conventional technique for selection of a user plane function (UPF) in a mobilecore infrastructure environment 10.FIG. 1 shows a Session Management Function (SMF) 20 and apool 30 including a plurality of User Plane Functions (UPFs) 32(1)-32(N). Both SMF and UPF refers to 5G network components as defined in 3GPP standards. TheSMF 20 selects a UPF for and the UPF is in communication with a Radio Access Network (RAN)entity 40 that enables wireless communication with User Equipment (UE) devices 50(1)-50(K). - The
SMF 20 is responsible for session management with individual functions being supported on a per session basis. TheSMF 20 allocates IP addresses to UEs, and selects and controls the UPF for data transfer. TheSMF 20 also acts as the external point for all communication related to the various services offered and enabled in the user plane and how the policy and charging treatment for these services is applied and controlled. - The UPFs 32(1)-32(N) may operate as separate Virtual Network Forwarders (VNFs) to serve as forwarding engines for user traffic. The UPFs 32(1)-32(N) may perform a variety of function such as, Stateful Packet Inspection (SPI)/Deep Packet Inspection (DPI), traffic optimization and inline services Network Address Translation (NAT)/Firewall/Domain Name System (DNS) snooping, etc.
- When a user session (for a particular one of the UEs 50(1)-50(K)) starts at 100, the
SMF 20, at 110, selects a UPF based on session/network information (location, load, user, services, etc.). TheSMF 20 selects an IP address for the user session at the same time it selects the UPF. At 120, theSMF 20 sends a session request to the selected UPF, e.g., UPF 32(1) with a specified Quality of Service (QoS). The session request includes the selected IP address by theSMF 20. - Reference is now made to
FIG. 2A .FIG. 2A shows a mobilecore infrastructure environment 200 that includes anSMF 20, a pool/set 30 of eligible UPFs 32(1)-32(N), aRAN entity 40 and UEs 50(1)-50(K). In the embodiment shown inFIG. 2A , when a new session is received by theSMF 20 at 210, then at 220, theSMF 20 selects a set of UPFs (minimum of 2) matching session/service requirements. This does not require out-of-band monitoring, but instead operates at the network level and is balanced among servers. At 230, theSMF 20 sends a new session notification to the selected (at least 2) UPFs, for example UPFs 32(1) and 32(2). The outer header of the new session notification is based on SRLB information (identifying the selected set of UPFs, such as UPFs 32(1) and 32(2)). This is shown inFIG. 2B where the Segment Routing (SR) Header includes a Virtual IP address (VIP), followed by “S2,S1” to indicate the selected set of UPFs, where S2 is 32(2) and S1 is 32(1), for example. The IPv6 header includes S1 as the destination address (DA), and the source address (SA) is “C” representing the address of theSMF 20. Moreover, as indicated at 230 inFIG. 2A , the SR header may further include optional metadata to provide information about the new session to set up. - In this example, the
new session request 230 is received at UPF 32(1). However, as shown at 240, UPF 32(1) cannot serve the session (due to capacity or other issues) and, according to the SRLB techniques, forwards the session request to the next UPF in the selected set, e.g., to UPF 32(2) based on the information contained in the SR header shown inFIG. 2B . Assuming UPF 32((2) can serve the session, then at 250, UPF 32(2) sends a response that includes an identification of UPF 32(2) as the serving UPF and also the IP address allocated for the session. Moreover, the serving UPF 32(2) selects the IP address for the session based on an available pool of IP addresses. In the embodiment ofFIG. 2 , the IP address is not selected by the SMF, as in the scenario ofFIG. 1 . - Reference is now made to
FIG. 3A .FIG. 3A shows a mobilecore infrastructure environment 300 similar toFIG. 2A , but illustrating a variation to the scenario shown inFIG. 2A .FIG. 3A further shows a Core Access and Mobility Management Function (AMF) 80 (not shown inFIGS. 1 and 2A ). In the scenario shown inFIG. 3A , a new session is initiated at 310. At 320, theSMF 20 selects a set of UPF (minimum of 2) matching session/service requirements. At 330, theSMF 20 constructs a new session request having an outer header based on SRLB information with optional metadata to be used at an SGi interface and is sent to theRAN entity 40. Metadata may be transported in optional Type Length Values (TLVs) of the SR header, as shown inFIG. 3B (for the scenario ofFIG. 3A as well as for the scenario ofFIG. 2A ). In one example, metadata may be used to indicate specific QoS information or to identify a charging policy. At 340, theRAN entity 40 sends a new session request having an SRLB header used at the transport layer to the selected set of UPFs, e.g., UPFs 32(1) and 32(2), similar to that shown inFIG. 2A . - In this example, the
new session request 340 is received at UPF 32(2). However, as shown at 350, UPF 32(2) cannot serve the session (due to capacity or other issues) and, according to the SRLB techniques, forwards the session request to the next UPF in the selected set, e.g., to UPF 32(1). Assuming UPF 32((1) can serve the session, then at 360, UPF 32(1) sends to the RAN entity 40 a notification indicating that a new session is established. The serving UPF 32(1) selects the IP address for the session based on an available pool of IP addresses. At 370, the UPF 32(1) sends to the SMF 20 a new session notification. The new session notification includes a session identifier, an identification of UPF 32(1) as the serving UPF and also the IP address allocated for the session. Like the scenario shown inFIG. 2A , the mechanism shown inFIG. 3A does not require out-of-band monitoring, operates at network level and balances among servers. - Turning to
FIG. 3B , a diagram is shown of a segment routing header, and in particular a SRv6 header, as defined in draft-ietf-6man-segment-routing-header-14. Theheader 400 includes anext header field 402, a header extension (ext) length (len)field 404, arouting type field 406, a segments leftfield 408, alast entry field 410, aflags field 412, and atag field 414. Theheader 400 further includes fields 420(1)-420(n) for n Segment Lists. Finally, theheader 400 includes anoptional TLV field 430; this is where the aforementioned metadata may be located in the segment routing header. - Reference is now made to
FIG. 4 .FIG. 4 illustrates a flow chart depicting aprocess 400 performed by theSMF 20. Reference is also made toFIGS. 2A, 2B, 3A and 3B in connection with the description ofFIG. 4 . Theprocess 500 is performed a session management function entity, e.g.,SMF 20, in a mobile core infrastructure network. At 510, a new session request is received/obtained by the session management function entity. The new session request is to invoke a user plane function for a session of behalf of a mobile user equipment, e.g., one of the UEs 50(1)-50(K) shown inFIG. 2A or 3A . - At 520, the session management function entity selects, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function. The set includes at least two user plane function entities.
- At 530, the management function entity generates a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities. The new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session. Otherwise, if the first user plane function entity cannot serve the session (due to capacity overload issues, etc.) the first user plane function entity forwards the new session notification to another (a next) user plane function entity in the set, and so on. The process of forwarding on the new session notification to a next user plane function entity in the set continues, if necessary, until one of the user plane function entities in the set can serve the session, thereby achieving in-band load balancing among the user plane function entities in the set resulting in a selected user plane function entity to serve the session.
- As described above in connection with
FIG. 2A , the session management function entity sends the new session notification to the first user plane function entity of the set. In another form, as described above in connection withFIG. 3A , the session management function entity sends the new session notification to a radio access network entity in the mobile core infrastructure network, and the radio access network entity sends the new session notification to the first user plane function entity in the set. - At 540, the session management function entity obtains (receives) a response from the selected user plane function entity in the set that serves the session. The response includes an identifier of the selected user plane function entity that serves the session and an Internet Protocol (IP) address allocated for the session. As explained above in connection with
FIGS. 2A and 3A , the IP address allocated for the session is selected from an available pool of IP address by the selected user plane function entity. - The segment routing header may optionally include metadata that includes information about the session to be set up for the mobile user equipment. The metadata may be used to indicate various types of information, such as QoS information, a charging policy, etc. The metadata may be transported in optional TLV values of the segment routing header.
- Reference is now made to
FIG. 5 .FIG. 5 illustrates a block diagram of an SMF server configured to perform the operations of theSMF 20. TheSMF server 20 may include one ormore processors 600, anetwork interface 610 configured to enable network communications,memory 630 and stored inmemory 630 are software instructions for SMF control logic 640. Thememory 630 may be read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices. Thus, in general, thememory 630 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor 600) it is operable to perform the SMF operations described above. - Reference is now made to
FIG. 6 .FIG. 6 illustrates a flow chart for aprocess 700 performed by a user plane function entity according to the embodiments presented herein. The user plane function entity is part of a set of at least two user plane function entities in a mobile core infrastructure network. At 710, the user plane function entity receives a new session notification for a session on behalf of a mobile user equipment. The new session notification includes a segment routing header. The segment routing header includes a segment identifier for each of at least two user plane function entities in the set of user plane function entities. The new session notification may have been sent by a session management function entity (FIG. 2A ) or by a radio access network entity (FIG. 3A ). - At 720, the user plane function entity parses the segment routing header to obtain the identifiers for each of the one or more other user plane function entities specified in the segment routing header of the new session notification. At 730, the user plane function entity (the first user plane function entity in the first instance) determines whether, based on its capacity/workload, etc., whether it can serve the session. If the user plane function entity cannot serve the session, then at 740, it is determined whether there are any remaining user plane function entities in the set that have yet to be notified about serving the session. If at 740 it is determined there are one or more remaining user plane function entities in the set, then at 750, the user plane function entity forwards the new session notification to a next user plane function entity in the set. The process the repeats from
operation 730. If at 740 it is determined that there are no remaining user plane function entities in the set, then at 755 the user plane function entity sends a notification (to the session management function entity, for example) indicating that the session cannot be served by any of the user plane function entities in the set. - If, at 730, it is determined that the user plane function entity can serve the session, then at 760, the user plane function entity selects the IP address for the session from a pool of available IP addresses. At 770, the user plane function entity sends a response to the session management function entity. The response includes an identifier of the user plane function entity that serves the session and the IP address allocated for the session. At 780, the user plane function entity performs the user plane functions for the session. If there is any metadata contained in the segment routing header (obtained during the parsing operation 720), the user plane function entity uses that metadata in setting up/and or serving the session.
- Reference is now made to
FIG. 7 .FIG. 5 illustrates a block diagram of an UPF server 32(i) configured to performed the operations of the SMF 32(1)-32(N). The SMF server 32(i) may include one ormore processors 700, anetwork interface 710 configured to enable network communications,memory 730 and stored inmemory 730 software instructions forUPF control logic 740. Thememory 730 may be ROM, RAM, magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices. Thus, in general, thememory 730 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor 700) it is operable to perform the UPF operations described above. - In summary, a user plane selection mechanism is provided that leverages an in-band load balancing scheme, e.g., Segment Routing Load Balancing (SRLB). Information in the form of a segment routing II) (complemented by metadata) is passed to the components. As a result, the effective user plane selection can be done at the transport level.
- The use of an in-band technique, such as SRLB, allows for stateless UPF selection within a group of UPF. No load monitoring or other mechanisms is needed. IP address allocation done at the UPF rather than by the SMF, allowing for UPF stateless selection in a group. This allows for the possibility to select UPF at the transport level (i.e. between RAN and Core) rather than done at the core only, as depicted in
FIG. 3 . - In one form, a method is provided comprising, at a session management function entity in a mobile core infrastructure network: obtaining (receiving) a new session request to invoke a user plane function for a session on behalf of a mobile user equipment; selecting, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function, the set including at least two user plane function entities; generating a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities, wherein the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session, and otherwise the first user plane function entity forwards the new session notification to another user plane function entity in the set, and so on, until one of the user plane function entities in the set can serve the session, thereby achieving in-band load balancing among the user plane function entities in the set resulting in a selected user plane function entity to serve the session; and obtaining (receiving) a response from the selected user plane function entity in the set that serves the session, the response including an identifier of the selected user plane function entity that serves the session and an Internet Protocol (IP) address allocated for the session.
- In another form, an apparatus is provided comprising: a network interface to enable network communications on behalf of a session management function entity in a mobile core infrastructure network; a processor coupled to the network interface, wherein the processor is configured to: obtain (receive via the network interface) a new session request to invoke a user plane function for a session on behalf of a mobile user equipment; select, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function, the set including at least two user plane function entities; generate a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities, wherein the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session, and otherwise the first user plane function entity forwards the new session notification to another user plane function entity in the set, and so on, until one of the user plane function entities in the set can serve the session, thereby achieving in-band load balancing among the user plane function entities in the set resulting in a selected user plane function entity to serve the session; and obtain (receive via the network interface) a response from the selected user plane function entity in the set that serves the session, the response including an identifier of the selected user plane function entity that serves the session and an Internet Protocol (IP) address allocated for the session.
- In still another form, one or more non-transitory computer readable storage media are provided, encoded with instructions that, when executed by a processor of a session management function entity in a mobile core infrastructure network, cause the processor to perform operations including: obtaining (receiving) a new session request to invoke a user plane function for a session on behalf of a mobile user equipment; selecting, from a pool of user plane function entities, a set of user plane function entities that are capable of serving the user plane function, the set including at least two user plane function entities; generating a new session notification that includes a segment routing header that includes a segment identifier for each of the at least two user plane function entities to indicate the set of user plane function entities, wherein the new session notification is to be received by a first user plane function entity in the set such that the first user plane function entity serves the session if it can serve the session, and otherwise the first user plane function entity forwards the new session notification to another user plane function entity in the set, and so on, until one of the user plane function entities in the set can serve the session, thereby achieving in-band load balancing among the user plane function entities in the set resulting in a selected user plane function entity to serve the session; and obtaining (receiving) a response from the selected user plane function entity in the set that serves the session, the response including an identifier of the selected user plane function entity that serves the session and an Internet Protocol (IP) address allocated for the session.
- In another form, a method is provided comprising, at a user plane function entity that is part of a set of at least two user plane function entities in a mobile core infrastructure network: obtaining (receiving) a new session notification for a session on behalf of a mobile user equipment, the new session notification including a segment routing header that includes a segment identifier for each of the at least two user plane function entities in the set; parsing the segment routing header to obtain the segment identifiers for each of the one or more other user plane function entities specified in the segment routing header; determining whether the user plane function entity can serve the session; if the user plane function entity cannot serve the session, forwarding the new session notification to a next user plane function entity in the set; if the user plane function entity can serve the session: selecting an Internet Protocol (IP) address for the session from a pool of available IP addresses; and sending a response to a session management function entity in the mobile core infrastructure network, the response including an identifier of the user plane function entity that serves the session and the IP address allocated for the session.
- In still another form, an apparatus is provided comprising: a network interface to enable network communications on behalf of a user plane function entity in a mobile core infrastructure network; and processor coupled to the network interface, wherein the processor is configured to: obtain (receive via the network interface) a new session notification for a session on behalf of a mobile user equipment, the new session notification including a segment routing header that includes a segment identifier for each of the at least two user plane function entities in the set; parse the segment routing header to obtain the segment identifiers for each of the one or more other user plane function entities specified in the segment routing header; determine whether the user plane function entity can serve the session; if the user plane function entity cannot serve the session, forward the new session notification to a next user plane function entity in the set; if the user plane function entity can serve the session: select an Internet Protocol (IP) address for the session from a pool of available IP addresses; and send a response to a session management function entity in the mobile core infrastructure network, the response including an identifier of the user plane function entity that serves the session and the IP address allocated for the session.
- In still another form, one or more non-transitory computer readable storage media are provided, encoded with instructions that, when executed by a processor of a user plate function entity that is part of a set of at least two user plane function entities in a mobile core infrastructure network, cause the processor to perform operations including: obtaining (receiving) a new session notification for a session on behalf of a mobile user equipment, the new session notification including a segment routing header that includes a segment identifier for each of the at least two user plane function entities in the set; parsing the segment routing header to obtain the segment identifiers for each of the one or more other user plane function entities specified in the segment routing header; determining whether the user plane function entity can serve the session; if the user plane function entity cannot serve the session, forwarding the new session notification to a next user plane function entity in the set; if the user plane function entity can serve the session: selecting an Internet Protocol (IP) address for the session from a pool of available IP addresses; and sending a response to a session management function entity in the mobile core infrastructure network, the response including an identifier of the user plane function entity that serves the session and the IP address allocated for the session.
- The above description is intended by way of example only. Although the techniques are illustrated and described herein as embodied in one or more specific examples, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made within the scope and range of equivalents of the claims.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/030,956 US10506469B1 (en) | 2018-05-17 | 2018-07-10 | Resilient in-band mobile core user plane function selection using segment routing load balancing |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862672761P | 2018-05-17 | 2018-05-17 | |
| US16/030,956 US10506469B1 (en) | 2018-05-17 | 2018-07-10 | Resilient in-band mobile core user plane function selection using segment routing load balancing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20190357081A1 true US20190357081A1 (en) | 2019-11-21 |
| US10506469B1 US10506469B1 (en) | 2019-12-10 |
Family
ID=68533296
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/030,956 Active US10506469B1 (en) | 2018-05-17 | 2018-07-10 | Resilient in-band mobile core user plane function selection using segment routing load balancing |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US10506469B1 (en) |
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111405638A (en) * | 2020-03-25 | 2020-07-10 | 广州爱浦路网络技术有限公司 | Node N4-U tunnel selection method and device |
| US20200229042A1 (en) * | 2019-01-10 | 2020-07-16 | Cisco Technology, Inc. | SRv6 User-Plane-Based Triggering Methods and Apparatus for Session or Flow Migration in Mobile Networks |
| CN111901401A (en) * | 2020-07-14 | 2020-11-06 | 广州爱浦路网络技术有限公司 | Method and device for balancing SMF load of session management function |
| CN112910774A (en) * | 2019-12-03 | 2021-06-04 | 中国电信股份有限公司 | Communication method, system and network forwarding equipment |
| CN114006860A (en) * | 2020-07-14 | 2022-02-01 | 中国电信股份有限公司 | User access method, system and device |
| CN114125983A (en) * | 2021-11-19 | 2022-03-01 | 中国电信股份有限公司 | Routing method, session management entity, system and medium for mobile network user plane |
| CN114338607A (en) * | 2021-12-29 | 2022-04-12 | 天翼物联科技有限公司 | 5G user terminal IP address confirmation method, device and system |
| CN114531385A (en) * | 2020-10-31 | 2022-05-24 | 华为技术有限公司 | Method, device and system for sending message |
| US11483680B2 (en) * | 2017-11-22 | 2022-10-25 | Huawei Technologies Co., Ltd. | Method and system for multicast and broadcast services |
| US20220418011A1 (en) * | 2021-06-24 | 2022-12-29 | Verizon Patent And Licensing Inc. | Method and system for uplink classifier and branching point service |
| WO2023124309A1 (en) * | 2021-12-27 | 2023-07-06 | 浪潮通信技术有限公司 | Cloud native upf signaling plane load balancing selection method and system |
| US20230300572A1 (en) * | 2020-05-22 | 2023-09-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for handling multicast broadcast service |
| JP7605402B2 (en) | 2023-04-26 | 2024-12-24 | 緯創資通股▲ふん▼有限公司 | Dispersion method and dispersal unit thereof |
| US12543021B2 (en) * | 2020-05-22 | 2026-02-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for handling multicast broadcast service |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8839346B2 (en) * | 2010-07-21 | 2014-09-16 | Citrix Systems, Inc. | Systems and methods for providing a smart group |
| EP2659629A1 (en) * | 2010-12-28 | 2013-11-06 | Citrix Systems Inc. | Systems and methods for policy based routing for multiple next hops |
| US9432269B2 (en) * | 2013-04-06 | 2016-08-30 | Citrix Systems, Inc. | Systems and methods for exporting application details using appflow |
| US9749148B2 (en) * | 2013-07-31 | 2017-08-29 | Citrix Systems, Inc. | Systems and methods for load balancing non-IP devices |
| US20150124622A1 (en) * | 2013-11-01 | 2015-05-07 | Movik Networks, Inc. | Multi-Interface, Multi-Layer State-full Load Balancer For RAN-Analytics Deployments In Multi-Chassis, Cloud And Virtual Server Environments |
| US9538345B2 (en) * | 2015-01-28 | 2017-01-03 | Citrix Systems, Inc. | Systems and methods for performing load balancing and message routing for short message peer to peer protocol |
| EP3113539A1 (en) | 2015-06-30 | 2017-01-04 | Vodafone IP Licensing limited | Load balancing user plane traffic in a telecommunication network |
| US10069791B2 (en) * | 2015-11-02 | 2018-09-04 | Cisco Technology, Inc. | System and method for providing a change in user equipment packet data network internet protocol address in a split control and user plane evolved packet core architecture |
| CN106912012B (en) | 2015-12-23 | 2019-08-30 | 电信科学技术研究院 | The selection method and control face entity of user entity in mobile communications network |
| US10484336B2 (en) * | 2016-05-13 | 2019-11-19 | Citrix Systems, Inc. | Systems and methods for a unique mechanism of providing ‘clientless SSLVPN’ access to a variety of web-applications through a SSLVPN gateway |
| US11184830B2 (en) * | 2016-06-21 | 2021-11-23 | Huawei Technologies Co., Ltd. | Systems and methods for user plane path selection, reselection, and notification of user plane changes |
-
2018
- 2018-07-10 US US16/030,956 patent/US10506469B1/en active Active
Cited By (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11483680B2 (en) * | 2017-11-22 | 2022-10-25 | Huawei Technologies Co., Ltd. | Method and system for multicast and broadcast services |
| US11202236B2 (en) * | 2019-01-10 | 2021-12-14 | Cisco Technology, Inc. | SRV6 user-plane-based triggering methods and apparatus for session or flow migration in mobile networks |
| US10887799B2 (en) * | 2019-01-10 | 2021-01-05 | Cisco Technology, Inc. | SRv6 user-plane-based triggering methods and apparatus for session or flow migration in mobile networks |
| US20200229042A1 (en) * | 2019-01-10 | 2020-07-16 | Cisco Technology, Inc. | SRv6 User-Plane-Based Triggering Methods and Apparatus for Session or Flow Migration in Mobile Networks |
| US11678228B2 (en) | 2019-01-10 | 2023-06-13 | Cisco Technology, Inc. | SRV6 user-plane-based triggering methods and apparatus for session or flow migration in mobile networks |
| CN112910774A (en) * | 2019-12-03 | 2021-06-04 | 中国电信股份有限公司 | Communication method, system and network forwarding equipment |
| CN111405638A (en) * | 2020-03-25 | 2020-07-10 | 广州爱浦路网络技术有限公司 | Node N4-U tunnel selection method and device |
| US12543021B2 (en) * | 2020-05-22 | 2026-02-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for handling multicast broadcast service |
| US20230300572A1 (en) * | 2020-05-22 | 2023-09-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for handling multicast broadcast service |
| CN114006860A (en) * | 2020-07-14 | 2022-02-01 | 中国电信股份有限公司 | User access method, system and device |
| CN111901401A (en) * | 2020-07-14 | 2020-11-06 | 广州爱浦路网络技术有限公司 | Method and device for balancing SMF load of session management function |
| CN114531385A (en) * | 2020-10-31 | 2022-05-24 | 华为技术有限公司 | Method, device and system for sending message |
| US20220418011A1 (en) * | 2021-06-24 | 2022-12-29 | Verizon Patent And Licensing Inc. | Method and system for uplink classifier and branching point service |
| US11903042B2 (en) * | 2021-06-24 | 2024-02-13 | Verizon Patent And Licensing Inc. | Method and system for uplink classifier and branching point service |
| US20240147548A1 (en) * | 2021-06-24 | 2024-05-02 | Verizon Patent And Licensing Inc. | Method and system for uplink classifier and branching point service |
| CN114125983A (en) * | 2021-11-19 | 2022-03-01 | 中国电信股份有限公司 | Routing method, session management entity, system and medium for mobile network user plane |
| WO2023124309A1 (en) * | 2021-12-27 | 2023-07-06 | 浪潮通信技术有限公司 | Cloud native upf signaling plane load balancing selection method and system |
| CN114338607A (en) * | 2021-12-29 | 2022-04-12 | 天翼物联科技有限公司 | 5G user terminal IP address confirmation method, device and system |
| JP7605402B2 (en) | 2023-04-26 | 2024-12-24 | 緯創資通股▲ふん▼有限公司 | Dispersion method and dispersal unit thereof |
| US12543112B2 (en) | 2023-04-26 | 2026-02-03 | Wistron Corporation | Distribution method and distribution unit thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| US10506469B1 (en) | 2019-12-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10506469B1 (en) | Resilient in-band mobile core user plane function selection using segment routing load balancing | |
| US11039381B2 (en) | SMF selection based on supported DNN | |
| US10798761B2 (en) | Method for establishing protocol data unit session in communication system | |
| US20240388642A1 (en) | Methods and apparatuses for network function discovery | |
| CN112153098A (en) | Application migration method and device | |
| US20220200951A1 (en) | METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR CREATING INTERNET PROTOCOL (IP) ADDRESS POOLS FROM DYNAMIC HOST CONFIGURATION PROTOCOL (DHCP) SERVERS TO ASYNCHRONOUSLY SERVE IP ADDRESS ALLOCATION REQUESTS BY SESSION MANAGEMENT FUNCTIONS (SMFs) | |
| TW202037123A (en) | Methods and apparatuses for service discovery | |
| US9924483B2 (en) | Systems and methods for signal brokering in distributed evolved packet core (EPC) network architectures | |
| US20160007399A1 (en) | Apparatus and method for providing a service connection through access layer in wireless communication system | |
| JP6663082B2 (en) | Data Streaming Support Control Based on Node Type | |
| CN106941507A (en) | The dispatching method and device of request message | |
| WO2019101041A1 (en) | Communication method and device therefor | |
| US12058004B2 (en) | Network nodes and methods therein for providing binding indication | |
| CN116158067A (en) | Network node for indirect communication and method therein | |
| US10455039B2 (en) | Method and router for sending and processing data | |
| US20200259960A1 (en) | Providing guaranteed quality of service for internet of things devices in cellular network | |
| JP7789943B2 (en) | Negotiation applicability for inactive or idle reception of multicast services | |
| EP3682596B1 (en) | Serverless core network architecture | |
| WO2022083385A1 (en) | Network nodes and methods therein for providing backup network function | |
| US20220248253A1 (en) | P-cscf registration and discovery mechanism | |
| WO2020178415A1 (en) | Content delivery via device-to-device communication | |
| EP4161207A1 (en) | Base station device and method for operating base station device | |
| US12342260B2 (en) | Advertisement of supported ip version by packet routing nodes | |
| US20250119977A1 (en) | Method for centralized internet protocol (ip) address allocation of user equipment (ue) control plane | |
| US20240381231A1 (en) | Network nodes and methods therein for facilitating network function discovery |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GOTTARDI, GUILLAUME;TOWNSLEY, WILLIAM MARK;HAMEL, ERIC PHILIPPE;AND OTHERS;REEL/FRAME:046329/0292 Effective date: 20180705 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |