A method, system, device, and medium for flexible selection of a packet data gateway

By generating and transmitting priority and weight information for the set of packet data gateways, the uncertainty of MME/ePDG in selecting PGW is resolved, enabling flexible and controllable load sharing and resource utilization, and improving network reliability and service recovery.

CN122640865APending Publication Date: 2026-08-25CHINA UNITED NETWORK COMM GRP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610696840.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-20
Publication Date
2026-08-25

AI Technical Summary

Technical Problem

In the PGW Set scenario, the MME/ePDG cannot flexibly and controllably select PGWs based on priority and weight information, resulting in the load sharing of each node within the PGW Set being inconsistent with the operator's plan, affecting the service recovery effect and network reliability.

Method used

Priority and/or weight information of candidate packet data gateway control plane nodes in the packet data gateway set is generated and sent to the mobility management network element through session response message or relocation request message. When a fault is detected, the target packet data gateway control plane node is selected according to the priority and/or weight information to restore the user session.

Benefits of technology

It achieves load sharing by priority or weight, ensuring that PGW Set resource utilization and load balancing meet expectations, and improving service recovery and network reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122640865A_ABST
    Figure CN122640865A_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of selecting packet data gateway, and particularly relates to a method, system, device and medium for flexibly selecting packet data gateway. The method comprises: generating priority and / or weight information corresponding to candidate packet data gateway control plane nodes in a packet data gateway set during user session establishment or mobility switching; sending the priority and / or weight information to a mobility management network element through a session response message; and when detecting that a fault occurs in an accessed packet data gateway control plane node, selecting a target packet data gateway control plane node from the packet data gateway set according to the priority and / or weight information to restore the user session. The MME / ePDG can select a PGW according to a configured priority and load sharing strategy, so that the resource utilization and load of the PGW Set reach an expectation, and load sharing according to priority or weight is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of packet data gateway selection technology, and in particular to a method, system, device and medium for flexibly selecting packet data gateways. Background Technology

[0002] The existing PGW Set, or PGW hot standby technology, refers to the ability of a backup PGW or a combined SGWPGW to take over user sessions when one PGW or SGWPGW fails, allowing service to resume without the need for session re-establishment. PGW Set ensures the continuity of user data and voice services while mitigating signaling impact on the network.

[0003] When a PGW Set has 4 SGW-C / PGW-Cs, and the accessed user sessions are backed up to the UDSF (Unstructured Data Storage Function), during the session establishment process or the 4G / 5G / ePDG handover to 4G mobility process, the PGW notifies the MME / ePDG of its PGW change information. This PGW change information refers to PGW-related information within the PGW Set that can be used to take over user sessions, and includes three types of information, as follows: 1. PGW Set FQDN; 2. Alternative PGW-C / SMF FQDN; 3. IP address information for alternative PGW-C / SMF; The PGW carries at least one of three types of information to the MME / ePDG.

[0004] Subsequently, when the MME / ePDG receives uplink signaling, it discovers that the PGW-C / SMF that the user session has been connected to has failed. The MME can use PGW Set FQDN or alternative PGW FQDN or IP address to select the PGW-C / SMF to take over the user session.

[0005] When the PGW change information only contains multiple candidate PGW-C / SMF FQDNs or multiple candidate PGW-C / SMF IP addresses, the existing regulations do not specify the priority, weight, or other selection information among the PGWs. Therefore, when the MME / ePDG selects from multiple candidate PGWs, it cannot choose according to the operator's expected priority or load-sharing strategy, and can only adopt the relevant default behaviors (such as sequential selection, random selection, etc.). This results in the load sharing of each node within the PGW Set being inconsistent with the operator's plan, and resource utilization and load balancing failing to meet expectations, affecting service recovery and network reliability. Summary of the Invention

[0006] To address the shortcomings of the existing technologies, this invention proposes a method, system, device, and medium for flexibly selecting packet data gateways, aiming to solve the problem that in PGW Set scenarios, when multiple PGWs exist in a PGW Set, the MME / ePDG cannot flexibly and controllably select a PGW based on priority and weight information.

[0007] The technical solution of the present invention to solve the above-mentioned technical problems is as follows: In a first aspect, the present invention provides a method for flexibly selecting a packet data gateway, comprising: During user session establishment or mobility handover, priority and / or weight information is generated for the candidate packet data gateway control plane nodes in the packet data gateway set. Priority and / or weight information is sent to the mobility management network element via session response messages or relocation request messages; When a failure is detected in an already connected packet data gateway control plane node, a target packet data gateway control plane node is selected from the packet data gateway set to restore the user session based on priority and / or weight information.

[0008] Based on the above technical solution, the present invention can be further improved as follows.

[0009] Furthermore, the session response message carries a packet data gateway set identifier, a fully qualified domain name of a candidate packet data gateway control plane node or an address of a candidate packet data gateway control plane node, and priority and / or weight information corresponding to the fully qualified domain name or address.

[0010] Furthermore, the step of selecting the target packet data gateway control plane node from the set of packet data gateways based on priority and / or weight information includes: When priority information is obtained, the candidate packet data gateway control plane node with the highest priority is selected as the target packet data gateway control plane node; When the weight information is obtained, the load is distributed according to the weight ratio of each candidate packet data gateway control plane node, and the target packet data gateway control plane node is selected.

[0011] The beneficial effects of adopting the above-mentioned further scheme are: enabling the MME / ePDG to select PGWs according to the configured priority and load sharing strategy, thereby achieving the expected resource utilization and load of the PGW Set, and realizing load sharing by priority or by weight.

[0012] Furthermore, the session response message includes: creating a session response message or modifying a bearer response message.

[0013] Furthermore, during the mobility handover process, when the packet data connection is in a pending recovery state, the source-side mobility management network element sends priority and weight information to the target-side mobility management network element through a relocation request message, so that the target-side mobility management network element can perform the step of selecting the target packet data gateway control plane node.

[0014] Furthermore, the step of selecting a target packet data gateway control plane node from the set of packet data gateways to resume the user session includes: Send a modify bearer request message to the service gateway; After detecting a failure in an already connected packet data gateway control plane node, a target packet data gateway control plane node is selected based on priority and / or weight information. Send a Create Session Request message to the service gateway to establish a session with the target packet data gateway control plane node.

[0015] Furthermore, the step of selecting a target packet data gateway control plane node from the set of packet data gateways to resume the user session also includes: After detecting a failure in an already connected packet data gateway control plane node, a target packet data gateway control plane node is selected based on the priority and / or weight information. Send a Create Session Request message directly to the target packet data gateway control plane node to establish a session with the target packet data gateway control plane node.

[0016] Secondly, the present invention provides a system for flexibly selecting packet data gateways, comprising: The generation module generates priority and / or weight information for the control plane nodes of the candidate packet data gateways in the packet data gateway set during user session establishment or mobility handover. The sending module sends priority and / or weight information to the mobility management network element via session response messages or relocation request messages; When the fault detection and selection module detects a fault in an already connected packet data gateway control plane node, it selects a target packet data gateway control plane node from the packet data gateway set to restore the user session based on priority and / or weight information.

[0017] Thirdly, the present invention provides a computer device, comprising: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, which, when executed by the processor, implement the steps of a method for flexibly selecting a packet data gateway.

[0018] Fourthly, the present invention provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the method for flexibly selecting a packet data gateway. Attached Figure Description

[0019] Figure 1 A flowchart illustrating a method for flexibly selecting packet data gateways; Figure 2 A schematic diagram of the process for MME to obtain PGW change information for a 4G user session establishment process or a 4G switchover process from ePDG to 4G, which is a flexible method for selecting packet data gateways. Figure 3 A schematic diagram of the process for establishing an ePDG user session or switching from 4G / 5G to ePDG as a flexible method of selecting a packet data gateway, and the process for ePDG to obtain PGW change information. Figure 4 A schematic diagram of the process by which the MME obtains PGW change information, illustrating a flexible method for selecting packet data gateways and the 5G to 4G interoperability process with N26. Figure 5 In a mobility process that provides a flexible method for selecting packet data gateways, the PDN connection is in a state of pending recovery on the source side, and the MME / AMF obtains PGW change information. Figure 6 A flowchart illustrating the process of the MME selecting an alternative PGW-C for a PGW-C failure, which is a flexible method for selecting packet data gateways; Figure 7 Another flowchart illustrating the process of MME selecting an alternative PGW-C for a PGW-C failure, which is a flexible method for selecting packet data gateways; Figure 8 This is a schematic diagram of the structure of a system that allows for flexible selection of packet data gateways; Figure 9 This is a schematic diagram of the electronic device of the present invention. Detailed Implementation

[0020] The technical solutions of the embodiments of the present invention will be described below with reference to the accompanying drawings. In the description of the present invention, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. The "or" in the present invention is merely a description of the relationship between the related objects, indicating that three relationships can exist. For example, A or B can represent: A alone, A and B simultaneously, and B alone. A and B can be singular or plural. Furthermore, in the description of the present invention, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items.

[0021] Furthermore, to facilitate a clear description of the technical solutions of the embodiments of the present invention, the terms "first" and "second" are used in the embodiments of the present invention to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that the terms "first" and "second" are not necessarily different.

[0022] In this embodiment of the invention, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this embodiment of the invention should not be construed as superior or more advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner for ease of understanding.

[0023] Example 1, such as Figure 1 As shown in the illustration, an embodiment of the present invention provides a method for flexibly selecting a packet data gateway, comprising: S1: During user session establishment or mobility handover, generate priority and / or weight information for the control plane nodes of the candidate packet data gateways in the packet data gateway set; S2: Send priority and / or weight information to the mobility management network element via a session response message or a relocation request message; It should be noted that, in the embodiments of this application, the mobility management network elements are MME, ePDG, and AMF.

[0024] S3: When a failure of an accessed packet data gateway control plane node is detected, a target packet data gateway control plane node is selected from the packet data gateway set to restore the user session based on priority and / or weight information. This enables the mobility management network element to perform primary / backup failover strictly according to the priority configured by the operator (e.g., directly selecting the node with the highest priority), or to perform precise load sharing strictly according to the weight ratio (e.g., allocating sessions based on the ratio of the weights of each node).

[0025] It should be noted that the specific interactive flow of the above S1 to S3 steps in the actual network architecture is as follows: In the initial stage of user session establishment or mobility handover: PGW notifies MME / ePDG of the priority and / or weight selection information corresponding to each alternative PGW-C address or each alternative PGWFQDN in PGW Set; Alternatively, in the cross-system mobility handover process, the old AMF / MME can notify the new AMF / MME of the priority and / or weight selection information corresponding to each alternative PGW-C address or each alternative PGW FQDN in the PGW Set, thus completing the advance preparation of policy information.

[0026] In the service operation phase after information transmission is completed: when the MME / ePDG / AMF receives uplink signaling and finds that the PGW-C / SMF that the user session has accessed has failed, the mobility management network element directly calls the stored information and selects a PGW from the PGW Set according to the priority and weight information of each candidate PGW, so as to realize load sharing by priority or by weight.

[0027] It should be noted that step S1 addresses the root cause of the lack of selection criteria. During user session establishment or mobility handover, priority and / or weight information for the control plane nodes of candidate packet data gateways in the packet data gateway set is generated. This breaks through the limitation of existing technologies that only transmit basic address information, injecting core decision-making factors reflecting the operator's planning strategy from the source of data generation, thus providing a data foundation for subsequent accurate selection.

[0028] Secondly, the S2 step addresses the issue of policy information transmission failure. Priority and / or weight information is sent to mobility management network elements (such as MME, ePDG, and AMF) via session response messages or relocation request messages. Existing session establishment or handover signaling procedures are reused, achieving effective and accurate transmission of policy information to decision-making network elements (mobility management network elements) without additional network signaling disruptions. This resolves the information gap problem in existing technologies where decision-making network elements lack reliable data.

[0029] Finally, the S3 step addresses the issue of only being able to use default behavior. When a failure is detected in an already connected packet data gateway control plane node, the mobility management element no longer blindly selects sequentially or randomly. Instead, based on received priority and / or weight information, it selects a target packet data gateway control plane node from the packet data gateway set to restore the user session. Upgrading the static alternative address list to a dynamic intelligent selection process enables the mobility management element to strictly adhere to the operator-configured priorities for primary / backup failover, or to precisely distribute load according to weight ratios.

[0030] In summary, the embodiments of this application change the passive situation of no strategy selection in the prior art, enabling the mobility management network element to flexibly and controllably select PGWs according to the configured priority and load sharing strategy, thereby solving the technical defect of inconsistent load sharing of each node in the PGW Set with the operator's planning, and achieving the invention objective of making the resource utilization and load balancing of the PGW Set meet expectations, improving the service recovery effect and network reliability.

[0031] Example 2, a second embodiment of the present invention, provides a method for flexibly selecting a packet data gateway, comprising: Combining steps S1 and S2, the priority and / or weight information generated in step S1 needs to be carried and distributed through the session response message in step S2. Specifically, the session response message in step S2 carries the packet data gateway set identifier, the fully qualified domain name or address of the candidate packet data gateway control plane node, and the priority and / or weight information corresponding to the fully qualified domain name or address.

[0032] Furthermore, session response messages include: creating a session response message or modifying a bearer response message.

[0033] Furthermore, Figure 2 For the establishment of a 4G user session or the switch from ePDG to 4G, the MME obtains PGW change information. The specific implementation method is as follows: When the UE initiates an Attach Request or PDN Connectivity Request to the eNodeB; and the eNodeB sends an Attach Request or PDN Connectivity Request to the MME; the MME sends a Create Session Request message to the SGW; the SGW sends a Create Session Request message to PGW A; PGW A replies to the SGW with a Create Session Response message, carrying priority and / or weight selection information for each alternative PGW-C address or PGW FQDN; the SGW replies to the MME with a Create Session Response message, carrying priority and / or weight selection information for each alternative PGW-C address or PGW FQDN; and the MME notifies the eNodeB that the air interface connection establishment process is complete.

[0034] Furthermore, Figure 3 Specific implementation methods for ePDG to obtain PGW change information during the process of establishing an ePDG user session or switching from 4G / 5G to ePDG: ePDG sends a Create Session Request message to PGW A; PGW A replies to ePDG with a CreateSession Response message, carrying priority and / or weight selection information for each alternative PGW-C address or each alternative PGW FQDN.

[0035] Furthermore, Figure 4 For the N26 5G to 4G interoperability process, the specific implementation method for the MME to obtain PGW change information is as follows: When the 5G to 4G interoperation process with N26 is underway: the New MME sends a Create Session Request message to the SGW; the SGW sends a Modify Bearer Request message to PGW A; PGW A replies to the SGW with a Modify BearerResponse message, carrying priority and / or weight selection information for each alternative PGW-C address or PGW FQDN; the SGW replies to the New MME with a Create Session Response message, carrying priority and / or weight selection information for each alternative PGW-C address or PGW FQDN.

[0036] Example 3 provides a method for flexibly selecting a packet data gateway, which is an example of an MME / AMF obtaining PGW change information when the PDN connection is in a pending recovery state on the source side during a mobility process.

[0037] It should be noted that during the mobility handover process, when the packet data connection is in a pending recovery state, the source-side mobility management network element sends priority and weight information to the target-side mobility management network element through a relocation request message, so that the target-side mobility management network element can select the target packet data gateway control plane node.

[0038] Furthermore, such as Figure 5 As shown, in the mobility process, the PDN connection is in a pending recovery state on the source side; The Old AMF / MME sends a Forward Relocation Request / Context Response message to the New AMF / MME, carrying information related to the priority and / or weight selection of each candidate PGW-C address or candidate PGW FQDN; the New AMF / MME selects the PGW-C based on the priority and / or weight of each candidate PGW-C address or candidate PGW FQDN.

[0039] Example 4 provides a method for flexibly selecting a packet data gateway, which is an example of the MME selecting a backup PGW-C when the PGW-C fails.

[0040] It should be noted that step S3, selecting the target packet data gateway control plane node from the set of packet data gateways to resume the user session, includes: Send a modify bearer request message to the service gateway; After detecting a failure in an already connected packet data gateway control plane node, a target packet data gateway control plane node is selected based on priority and / or weight information. Send a Create Session Request message to the service gateway to establish a session with the target packet data gateway control plane node.

[0041] Furthermore, such as Figure 6As shown, when the PGW-C fails: the MME sends a Modify Bearer Request message to the SGW; the MME detects the PGW-C failure; the MME selects a PGW-C based on the priority and / or weight corresponding to each alternative PGW-C address or each alternative PGW FQDN; the MME sends a Create Session Request message to the SGW; the SGW sends a Create Session Request message to the PGW B; the PGW B replies with a Create Session Response message to the SGW; the SGW replies with a Create Session Response message to the MME.

[0042] Example 5 provides a method for flexibly selecting a packet data gateway, which is another embodiment of the MME selecting a backup PGW-C when the PGW-C fails.

[0043] It should be noted that step S3, which involves selecting a target packet data gateway control plane node from the set of packet data gateways to restore the user session, further includes: after detecting a failure of an already connected packet data gateway control plane node, selecting a target packet data gateway control plane node based on the priority and / or weight information. Send a Create Session Request message directly to the target packet data gateway control plane node to establish a session with the target packet data gateway control plane node.

[0044] Furthermore, such as Figure 7 As shown, when the PGW-C fails, the ePDG detects the PGW-C failure; the ePDG selects a PGW-C based on the priority and / or weight corresponding to each alternative PGW-C address or each alternative PGW FQDN; the ePDG sends a Create SessionRequest message to the PGW B; the PGW B replies to the ePDG with a Create Session Response message.

[0045] Example 6, as Figure 8 As shown, this embodiment provides a system for flexibly selecting packet data gateways, including: The generation module generates priority and / or weight information for the control plane nodes of the candidate packet data gateways in the packet data gateway set during user session establishment or mobility handover. The sending module sends priority and / or weight information to the mobility management network element via session response messages or relocation request messages; When the fault detection and selection module detects a fault in an already connected packet data gateway control plane node, it selects a target packet data gateway control plane node from the packet data gateway set to restore the user session based on priority and / or weight information.

[0046] Example 7: In some embodiments, the flexible packet data gateway selection system of the present invention can be implemented in a combination of hardware and software. As an example, the flexible packet data gateway selection system of the present invention can be a processor in the form of a hardware decoding processor, which is programmed to execute the flexible packet data gateway selection method of the present invention. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0047] The modules described in the embodiments of this invention can be implemented in software or hardware. The names of the modules are not, in some cases, limiting the scope of the module itself.

[0048] An electronic device according to an embodiment of the present invention includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements any of the above-mentioned methods for flexibly selecting a packet data gateway. That is, an electronic device according to an embodiment of the present invention may include, but is not limited to: a processor and a memory; the memory is used to store the computer program; the processor is used to execute a method for flexibly selecting a packet data gateway as shown in any embodiment of the present invention by calling the computer program.

[0049] In one alternative embodiment, an electronic device is provided, such as Figure 9 As shown, Figure 9 The illustrated electronic device 4000 includes a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, for example, via a bus 4002. Optionally, the electronic device 4000 may further include a transceiver 4004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 4004 is not limited to one type, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of the present invention.

[0050] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this invention. Processor 4001 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0051] Bus 4002 may include a path for transmitting information between the aforementioned components. Bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 4002 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 9 The bus 4002 is represented by only one thick line, but this does not mean that there is only one bus or one type of bus.

[0052] The memory 4003 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto.

[0053] The memory 4003 stores application code (computer program) for executing the present invention, and its execution is controlled by the processor 4001. The processor 4001 executes the application code stored in the memory 4003 to implement the content shown in the foregoing method embodiments.

[0054] Among them, electronic devices can also be terminal devices, which can be any device that can install applications, including at least one of smartphones, tablets, laptops, desktop computers, smart speakers, smartwatches, smart TVs, and smart in-vehicle devices.

[0055] It should be noted that, Figure 9 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments of the present invention.

[0056] An embodiment of the present invention provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any of the above-mentioned methods for flexibly selecting packet data gateways.

[0057] Alternatively, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, a floppy disk, and an optical data storage device, etc.

[0058] In an exemplary embodiment, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the aforementioned method for flexibly selecting a packet data gateway.

[0059] Computer program code for performing the operations of this invention can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0060] It should be understood that the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of methods and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0061] The computer-readable storage medium provided in this invention can be, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EEPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0062] The aforementioned computer-readable storage medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the method shown in the above embodiments.

[0063] The above description is merely a preferred embodiment of the present invention and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of disclosure in this invention is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-disclosed concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this invention.

[0064] It should be noted that the terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and represent a limitation on a specific order or sequence. Where appropriate, the order of use for similar objects can be interchanged so that the embodiments of this application described herein can be implemented in an order other than that shown or described.

[0065] Those skilled in the art will recognize that this invention can be implemented as a system, method, or computer program product. Therefore, this invention can be specifically implemented in the following forms: it can be entirely hardware, entirely software (including firmware, resident software, microcode, etc.), or a combination of hardware and software, generally referred to herein as a "circuit," "module," or "system." Furthermore, in some embodiments, this invention can also be implemented as a computer program product contained in one or more computer-readable media, which includes computer-readable program code.

[0066] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A method for flexibly selecting a packet data gateway, characterized in that, include: During user session establishment or mobility handover, priority and / or weight information is generated for the candidate packet data gateway control plane nodes in the packet data gateway set. Priority and / or weight information is sent to the mobility management network element via session response messages or relocation request messages; When a failure is detected in an already connected packet data gateway control plane node, a target packet data gateway control plane node is selected from the packet data gateway set to restore the user session based on priority and / or weight information.

2. The method for flexibly selecting a packet data gateway according to claim 1, characterized in that, The session response message carries the packet data gateway set identifier, the fully qualified domain name of the candidate packet data gateway control plane node or the address of the candidate packet data gateway control plane node, and the priority and / or weight information corresponding to the fully qualified domain name or address.

3. The method for flexibly selecting a packet data gateway according to claim 1, characterized in that, The step of selecting a target packet data gateway control plane node from the set of packet data gateways based on priority and / or weight information includes: When priority information is obtained, the candidate packet data gateway control plane node with the highest priority is selected as the target packet data gateway control plane node; When the weight information is obtained, the load is distributed according to the weight ratio of each candidate packet data gateway control plane node, and the target packet data gateway control plane node is selected.

4. The method for flexibly selecting a packet data gateway according to claim 2, characterized in that, The session response message includes: a session creation response message or a modified bearer response message.

5. The method for flexibly selecting a packet data gateway according to claim 1, characterized in that, During the mobility handover process, when the packet data connection is in a pending recovery state, the source-side mobility management network element sends priority and / or weight information to the target-side mobility management network element through a relocation request message, so that the target-side mobility management network element can select the target packet data gateway control plane node.

6. The method for flexibly selecting a packet data gateway according to claim 1, characterized in that, The step of selecting a target packet data gateway control plane node from the set of packet data gateways to resume the user session includes: Send a modify bearer request message to the service gateway; After detecting a failure in an already connected packet data gateway control plane node, a target packet data gateway control plane node is selected based on priority and / or weight information. Send a Create Session Request message to the service gateway to establish a session with the target packet data gateway control plane node.

7. The method for flexibly selecting a packet data gateway according to claim 1, characterized in that, The step of selecting a target packet data gateway control plane node from the set of packet data gateways to resume the user session also includes: After detecting a failure in an already connected packet data gateway control plane node, a target packet data gateway control plane node is selected based on priority and / or weight information. Send a session creation request message directly to the target packet data gateway control plane node to establish a session with the target packet data gateway control plane node.

8. A system for flexibly selecting packet data gateways, employing the method described in any one of claims 1-7, characterized in that, include: The generation module generates priority and / or weight information for the control plane nodes of the candidate packet data gateways in the packet data gateway set during user session establishment or mobility handover. The sending module sends priority and / or weight information to the mobility management network element via session response messages or relocation request messages; When the fault detection and selection module detects a fault in an already connected packet data gateway control plane node, it selects a target packet data gateway control plane node from the packet data gateway set to restore the user session based on priority and / or weight information.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.