System and method for active standby policy-based routing in a network - Patents.com
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-24
- Publication Date
- 2026-04-09
AI Technical Summary
Existing routing systems in 5G networks face challenges in managing complex network architectures, ensuring efficient resource utilization, and providing effective routing management, especially when dealing with unavailable or down nodes.
The implementation of a Service Communications Proxy (SCP) system that employs active-standby-spare routing policies, allowing for the grouping of endpoints into PLMN clusters and using a round-robin technique to route requests based on endpoint availability.
This solution enhances signaling control, provides better visibility into the core network, and enables effective management of incoming requests by ensuring that requests are routed efficiently even when endpoints are unavailable, thus reducing unnecessary rerouting and improving network performance.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] FIELD Embodiments of the present disclosure relate generally to the field of routing, and more particularly to next generation network techniques that enable routing based on active standby policies, especially in next generation networks such as 5G networks. [Background technology]
[0002] The following description of related art is intended to provide background information regarding the field of the present disclosure. This section may include some aspects of the art that may be related to various features of the present disclosure. However, it should be understood that this section is not intended as an admission of prior art, but is intended only to enhance the reader's understanding of the present disclosure.
[0003] The availability of high speed and uninterrupted communication facilities has become a necessity in today's high-tech world. There are many communication devices such as smartphones, laptops, tablets, etc. to address the requirement of high speed and uninterrupted communication facilities. These communication devices can be connected through various wired and wireless network technologies.
[0004] However, as the usage and number of communication devices grows day by day at an exponential rate, this may have increased the complexity of the existing network. For this reason, existing services may be concerned with inadequate quality of service, security, and efficiency in the current communication network. In such a scenario, the router may act as the main control point that helps to remove the growing complexity of the network, thereby resulting in reliable quality of service and security. This also facilitates monitoring and improvement of efficiency, and other attributes that allow the network to add value. Thus, by controlling the router, one can control the corresponding network to a great extent.
[0005] In general, routing may be defined as the mechanism of selecting a particular path between or across multiple networks to rapidly transmit data between a first and a second communication device, which may be located in one network or remotely from each other. The routing process may be performed on various networks, including circuit-switched networks, e.g., the Public Switched Telephone Network (PSTN), as well as computer networks, e.g., the Internet. In the routing process, routing tables may be frequently used to direct the forwarding of data packets. These routing tables may track routes to different network destinations and may be created through the use of routing protocols learned from network traffic or provided by an administrator. In general, the 5G service-based architecture may be designed such that all network functions (NFs) may be densely interconnected, and the NFs may have the ability to discover peer nodes and transmit network information between the nodes. This approach may create spaghetti-like interconnections between several user devices, such as laptops, smartphones, tablets, etc., connected through the network, which may disrupt the flow of data between the user devices and cause traffic or congestion. Furthermore, this may also not allow the system to fully utilize available resources; for example, some endpoints or nodes may be available for routing, but due to lack of information, the nodes may remain unused.
[0006] Conventional systems and methods include several nodes, each with a separate deployment scenario / architecture and functionality, configured in a network. The routing algorithms in conventional systems and methods cannot manage the separate deployment scenario / architecture and functionality of each node. Thus, the establishment of communication channels between the nodes may be affected, which may adversely affect the flow of data in the network. In addition, the current systems and methods or routing techniques cannot handle requests for transmission of data corresponding to a down / unavailable node. In this case, this unavailability may not be known until routing is performed.
[0007] Therefore, there is a need to provide a routing solution that can overcome the aforementioned limitations, that can provide effective routing management for evaluating the availability of endpoints before routing is performed, and that can be agnostic to implementation architectures. Summary of the Invention [Problem to be solved by the invention]
[0008] It is an object of the present disclosure to provide a 5G service-based architecture that optimizes signaling control.
[0009] It is an object of the present disclosure to enable service providers to gain better visibility into the core network.
[0010] It is an object of the present disclosure to provide a Service Communication Proxy (SCP) that enables forwarding and routing of messages to a destination Network Function (NF) / NF service.
[0011] It is an object of the present disclosure to provide an SCF that enables communication security, load balancing, monitoring, and overload control.
[0012] It is the purpose of this disclosure to configure the endpoint details in a pair-wise manner.
[0013] It is an objective of this disclosure to route total incoming requests between pairs of endpoints in a round robin technique.
[0014] It is an object of this disclosure to provide the multiple 2 endpoints and in correct sequences required for the NF profile used for enrollment.
[0015] It is an object of the present disclosure to enable effective management of incoming requests.
[0016] It is an objective of the present disclosure to eliminate unnecessary re-routing, and also to facilitate an efficient routing step. [Means for solving the problem]
[0017] This section is provided to introduce some objects and aspects of the invention in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or the scope of the claimed subject matter.
[0018] In an aspect, the present disclosure provides a system for performing ingress / egress active-standby-spare routing in a network, which may include a service communication proxy (SCP) controller in communication with a plurality of endpoints, which may be grouped in either a first public land mobile network (PLMN) cluster or a second PLMN cluster such that n endpoints in the first PLMN cluster pair with n+2 endpoints in the second PLMN cluster, where n is any natural number. The SCP controller may further include one or more processors coupled to a memory storing instructions executable by the one or more processors, and the SCP controller is configured to receive a plurality of requests to be transmitted to the first PLMN cluster and the second PLMN cluster from one or more source node devices in communication with the SCP controller, determine a status of a plurality of paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster, respectively, and route the plurality of requests equally to each of the paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster through the first PLMN cluster for transmission when the status of each of the paired n endpoints and n+2 endpoints is determined to be active. The plurality of requests may be equally routed to the paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster, respectively, based on a round robin technique.
[0019] In an embodiment, routing may be used at either the egress proxy and the ingress proxy, or a combination thereof.
[0020] In one embodiment, the SCP controller may be configured to route requests to only one endpoint in a pair at a time.
[0021] In an embodiment, prior to routing, the SCP controller may be configured to identify at least one available endpoint of a pair of endpoints for a first PLMN cluster and a second PLMN cluster, the first PLMN cluster may include an active endpoint to which the requests are routed if the active endpoint is available, and the second PLMN cluster may include an alternative endpoint for routing the requests if the corresponding active endpoint is unavailable or non-functional.
[0022] In one embodiment, routing may be performed based on predefined policies in the SCP controller based on the identity of the pair of endpoints.
[0023] In an embodiment, when all the endpoints are active, the SCP controller may be configured to route 50% of the requests to a first pair having n endpoints in the first PLMN cluster and n+2 endpoints in the second PLMN cluster, and the remaining 50% of the requests to a second pair having 2n endpoints in the first PLMN cluster and 2n+2 endpoints in the second PLMN cluster.
[0024] In an embodiment, when n endpoints of the first pair are inactive and the remaining endpoints are active, the SCP controller may be configured to route 50% of the requests to the n+2 endpoints of the second PLMN cluster and the remaining 50% of the requests to the 2n endpoints of the first PLMN cluster.
[0025] In an embodiment, when 2n endpoints of the second pair are inactive and the remaining endpoints are active, the SCP controller may be configured to route 50% of the requests to the n endpoints of the first PLMN cluster and the remaining 50% of the requests to the 2n+2 endpoints of the second PLMN cluster.
[0026] In an embodiment, when either or both of the n+2 and 2n+2 endpoints of the second PLMN cluster are inactive and the remaining endpoints are active, the SCP controller may be configured to route requests equally to the n endpoints of the first PLMN cluster and the 2n endpoints of the first PLMN cluster.
[0027] In an embodiment, when either or both of the n endpoints and the 2n endpoints of the first PLMN cluster are inactive and the remaining endpoints are active, the SCP controller may be configured to route requests equally to the n+2 endpoints of the first PLMN cluster and the 2n+2 endpoints of the second PLMN cluster.
[0028] In an embodiment, when both the n endpoints and the n+2 endpoints of the first pair are inactive, the SCP controller may be configured to route 100% of the requests to the 2n endpoints of the first PLMN cluster.
[0029] In an embodiment, when both the 2n and 2n+2 endpoints of the second pair are inactive, the SCP controller may be configured to route 100% of the requests to the n endpoints of the first PLMN cluster.
[0030] In one embodiment, when only one endpoint is active and the remaining endpoints are inactive, the SCP controller may be configured to route requests routed only to the active endpoint.
[0031] In an embodiment, the number of endpoints in the first PLMN cluster may be equal to the number of endpoints in the second PLMN cluster.
[0032] In an embodiment, the second PLMN cluster may be a disaster recovery (DR) cluster for the first PLMN cluster.
[0033] In an embodiment, for O-based indexing, the endpoints at the even indices belong to the first PLMN cluster, while the odd indices belong to the DR cluster.
[0034] In an aspect, the present disclosure provides a method for performing ingress / egress active standby spare routing in a network. The method may include receiving, by a service communication proxy (SCP) controller, a number of requests to be sent to a first PLMN cluster and a second PLMN cluster from one or more source node devices in communication with the SCP controller. The SCP controller may be in communication with a number of endpoints that may be grouped in either the first PLMN cluster or the second PLMN cluster such that n endpoints in the first PLMN cluster form pairs with n+2 endpoints in the second PLMN cluster, where n is any natural number. The SCP controller may further include one or more processors coupled to a memory storing instructions executable by the one or more processors. The method may further include determining, by the SCP controller, a status of a plurality of paired n and n+2 endpoints associated with the first and second PLMN clusters, respectively, and when the SCP controller determines that the status of each paired n and n+2 endpoint is active, routing the plurality of requests equally to each paired n and n+2 endpoints associated with the first and second PLMN clusters, respectively, through the first PLMN cluster for transmission. The plurality of requests may be equally routed to each paired n and n+2 endpoints associated with the first and second PLMN clusters, respectively, based on a round robin technique.
[0035] In an aspect, the present disclosure provides a user equipment (UE) communicatively coupled to a service communication proxy (SCP) controller, the SCP controller coupling comprising steps of receiving a connection request from the UE, sending an acknowledgement of the connection request to the SCP controller, and sending a plurality of signals in response to the connection request, the SCP controller may be in communication with at least two public land mobile network (PLMN) classes.
[0036] In an aspect, the present disclosure relates to a non-transitory computer-readable medium including computer-executable instructions that cause a processor to receive a plurality of requests to be transmitted to a first PLMN cluster and a second PLMN cluster from one or more source node devices in communication with the processor. The processor may be in communication with a plurality of endpoints. The plurality of endpoints may be grouped in either the first PLMN cluster or the second PLMN cluster such that n endpoints of the first PLMN cluster form pairs with corresponding n+2 endpoints of the second PLMN cluster, where n is a natural number. The processor may determine a status of a plurality of paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster, respectively. Furthermore, the processor may equally route the plurality of requests through the first PLMN cluster for transmission to each of the paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster when the status of each of the paired n endpoints and n+2 endpoints is determined to be active. The multiple requests may be routed equally to the paired n and n+2 endpoints associated with the first and second PLMN clusters, respectively, based on a round robin technique.
[0037] The accompanying drawings, which are incorporated herein and form a part of the present invention, illustrate exemplary embodiments of the disclosed method and system, in which like reference numerals refer to the same parts throughout the different drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed on clearly illustrating the principles of the invention. Some drawings may use block diagrams to illustrate components and may not show the internal circuitry of each component. Those skilled in the art will appreciate that the inventions in such drawings include inventions in electrical components, electronic components, or circuits commonly used to implement such components. [Brief description of the drawings]
[0038] [Figure 1A] FIG. 1 illustrates a network architecture in which or with which the proposed system may be implemented, according to an embodiment of the present disclosure. [Figure 1B] FIG. 1 illustrates a network architecture in which or with which the proposed system may be implemented, according to an embodiment of the present disclosure. [Figure 1C] 1 is an exemplary method flow diagram according to an embodiment of the present disclosure. [Diagram 2] Referring to FIG. 1B, an exemplary diagram of an SCP implementation according to an embodiment of the present disclosure. [Figure 3A] FIG. 2 is an example diagram of a flow diagram illustrating indirect communication through the proposed system with delegated discovery, according to an embodiment of the present disclosure. [Figure 3B] FIG. 13 is an example diagram of a flow diagram illustrating indirect communication through the proposed system without delegation discovery, according to an embodiment of the present disclosure. [Figure 4A] FIG. 1 illustrates an exemplary diagram of a system architecture of a service communication proxy (SCP) according to an embodiment of the present disclosure. [Figure 4B] FIG. 1 illustrates an exemplary diagram of a system architecture of a service communication proxy (SCP) according to an embodiment of the present disclosure. [Diagram 5]FIG. 1 illustrates an exemplary overview of an SCP deployment based on 5G functionality and an SCP deployed in an independent deployment unit, according to an embodiment of the present disclosure. [Figure 6] FIG. 2 is an exemplary diagram illustrating a deployment architecture of an active standby technique, in accordance with an embodiment of the present disclosure. [Figure 7A] FIG. 7 is an exemplary diagram illustrating the functionality of an active standby policy implementation based on different statuses of endpoints in an active cluster 702 and a DR cluster 704, according to an embodiment of the present disclosure. [Figure 7B] FIG. 7 is an exemplary diagram illustrating the functionality of an active standby policy implementation based on different statuses of endpoints in an active cluster 702 and a DR cluster 704, according to an embodiment of the present disclosure. [Figure 7C] FIG. 7 is an exemplary diagram illustrating the functionality of an active standby policy implementation based on different statuses of endpoints in an active cluster 702 and a DR cluster 704, according to an embodiment of the present disclosure. [Figure 8A] FIG. 2 is an exemplary diagram illustrating tabular data or information regarding active standby routing, according to certain embodiments of the present disclosure. [Figure 8B] FIG. 2 is an exemplary diagram illustrating tabular data or information regarding active standby routing, according to certain embodiments of the present disclosure. [Figure 9] FIG. 2 is an exemplary diagram illustrating an integrated implementation including various routing policies, according to certain embodiments of the present disclosure. [Figure 10] FIG. 1 illustrates an example diagram of a flow diagram for facilitating routing communication requests using an SCP based on an active-standby policy, in accordance with an embodiment of the present disclosure. [Figure 11] FIG. 1 illustrates an exemplary computer system in or with which embodiments of the present invention may be employed in accordance with embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0039] The foregoing will become more apparent from the following more detailed description of the invention.
[0040] In the following description, for purposes of illustration, various specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure. However, it will be apparent that the embodiments of the present disclosure may be practiced without these specific details. Some features described below may each be used independently of one another or in any combination with other features. Individual features may not address all of the problems discussed above, or may address only some of the problems discussed above. Some of the problems discussed above may not be fully addressed by any of the features described herein.
[0041] The following description provides exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the following description of exemplary embodiments provides those skilled in the art with an enabling description for implementing the exemplary embodiments. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as described.
[0042] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, those skilled in the art will understand that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form so as not to obscure the embodiments with unnecessary detail. In other cases, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail so as to avoid obscuring the embodiments.
[0043] It should also be noted that the particular embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Additionally, the order of operations may be rearranged. A process terminates when its operations are completed, but may have additional steps not included in the diagram. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or to the main function.
[0044] The words "exemplary" and / or "demonstrative" are used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as "exemplary" and / or "demonstrative" is not necessarily to be construed as preferred or advantageous over other aspects or designs, and is not meant to exclude equivalent exemplary structures and techniques known to those skilled in the art. Furthermore, to the extent the words "includes," "has," "contains," and other similar words are used in the detailed description or claims, such words are intended to be inclusive in a similar manner to the word "comprising" as an open transitional term, without excluding any additional or other elements.
[0045] References throughout this specification to "one embodiment" or "an embodiment" or "one instance" or "one example" mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the invention. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0046] The terms used herein are only for the purpose of describing particular embodiments and are not intended to limit the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising", as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term "and / or" includes any and all components of one or more of the associated listed items.
[0047] The present disclosure provides a system and method that can overcome the above-mentioned limitations and facilitate effective and improved management of traffic routing for incoming requests. In an exemplary embodiment, the system may include a service communication proxy (SCP) implementation that may facilitate to evaluate, identify, and / or configure pairs of endpoints prior to routing. For example, this may be performed based on a predefined SCP policy, such as an active-standby policy or other related integration policy. In an exemplary embodiment, prior to routing, the system and method may enable identification / configuration of pairs of endpoints in a cluster, for example, an active cluster and a disaster recovery (DR) cluster. The active cluster may include active endpoints to which requests may be preferably routed if the endpoints may be available. The DR cluster may include DR endpoints, and the DR endpoints may be considered as alternative endpoints for routing requests if the corresponding active endpoints may be unavailable or non-functional.
[0048] The identification / configuration of pairs of endpoints may enable understanding of active endpoints and corresponding DR endpoints that may be available for routing prior to routing being performed, which may enable effective routing management of incoming requests. In an exemplary embodiment, according to an active-standby policy, each endpoint in an active cluster may be paired with a corresponding endpoint in a DR cluster to form an endpoint pair. In an exemplary embodiment, an SCP may include an SCP controller to enable identification / configuration / mapping of endpoints in a disaster recovery (DR) cluster to a corresponding set of active clusters. In an exemplary embodiment, a request may be routed to an identified / configured pair if at least one endpoint in the pair may be functional. For example, the SCP may evaluate when an endpoint in an active cluster, e.g., a first endpoint, is unavailable prior to routing a request, and may be able to identify or configure a corresponding endpoint in a DR cluster. In another example, the SCP may evaluate when an endpoint of an active cluster, e.g., a first endpoint, is unavailable and may also evaluate whether the corresponding DR endpoint (second endpoint) for the first endpoint is unavailable such that requests may not be routed at all to either the first endpoint or the second endpoint in the pair.
[0049] In an example embodiment, the active standby routing policy may be used at the ingress or egress nodes of the SCP. In an embodiment, the active standby routing policy endpoint details may be configured pair-wise such that only one endpoint in the pair may receive requests at a given time. In one example, the total received requests may be round-robined between the pair of endpoints.
[0050] Additionally, the system and method may be agnostic to the architecture, structure, functionality, and implementation of network functions of each node. Additionally, the system and method may facilitate SCP implementation that may enable load balancing, routing, traffic monitoring, congestion management, service discovery, and other such functions in an efficient manner. Various other related embodiments or advantages may be possible.
[0051] 1A-1B show a network architecture in which or with which the proposed system may be implemented according to an embodiment of the present disclosure. Generally, next-generation architectures, such as 5G service-based network architectures, may be designed such that multiple nodes may be closely interconnected, and corresponding network functions. In an embodiment, some of the network functions of the 5G network architecture may be as follows: · Access and Mobility Management Function (AMF): The AMF may receive all connection and session related information from the communication device (also referred to herein as User Equipment or UE) and is responsible for handling connection and mobility management tasks. For example, the AMF may facilitate termination of NAS (Non-Access Stratum) signaling, NAS encryption and integrity protection, and management tasks such as, but not limited to, registration management, connection management, mobility management, access authentication and authorization, security context management, etc. Session Management Function (SMF): The SMF may perform functions related to session management, such as session establishment, modification, and publication. Additionally, the SMF may handle User Equipment (UE) IP address allocation and management, DHCP functions, termination of NAS signaling related to session management, DL data notification, traffic steering configuration for the User Plane Function (UPF) for proper traffic routing, etc. User Plane Function (UPF): The UPF may connect the actual data coming in through the corresponding Radio Area Network (RAN) to the Internet. In an example embodiment, the UPF may perform packet routing and forwarding, packet inspection, and handle Quality of Service (QoS). Additionally, the UPF may act as the external PDU session point of interconnection to the Data Network (DN), and may also act as an anchor point for intra-RAT mobility as well as inter-RAT mobility. · Policy Control Function (PCF): The PCF may provide a unified policy framework, policy rules for the CP function, and access subscription information for policy decisions in the UDR. · Authentication Server Function (AUSF): The AUSF may act as an authentication server and function to check the authenticity of the information flowing through it. Unified Data Management (UDM): The UDM may generate authentication and key agreement (AKA) credentials, handle user identification, grant access permissions, and perform subscription management. · Application Function (AF): The AF is responsible for inspecting application impact on traffic routing, can access the NEF, and can interact with the policy framework for policy control. · Network Publishing Function (NEF): The NEF may perform functions such as publishing capabilities and events, securely providing information from external applications to the 3GPP network, and internal / external information translation. · NF Repository Function (NRF): The NRF may perform service discovery functions, maintain NF profiles, and check for available NF instances. Network Slice Selection Function (NSSF): The NSSF can help select a network slice instance to serve the UE, determine the enabled NSSAI, and determine the AMF that will be used to serve the UE.
[0052] In an embodiment, the proposed system 100 may not only solve the challenges brought by the 5G service-based architecture, but may also be able to optimize signaling control. The system 100 may enable service providers to gain better visibility into the core network, where the core network may be defined as the backbone of the network architecture. For example, in the present disclosure, the core network may relate to the 5G service-based architecture and may be configured to interconnect separate networks associated with that architecture. Thus, the core network may provide a pathway for the exchange of information between one or more of the networks and between corresponding sub-networks. Furthermore, as a backbone, the core network may link diverse networks, e.g., LAN, WAN, MAN, etc., that may be located within the same building, in different buildings, in a campus environment, or remotely across a wide area. The system may also enhance network performance by continuously coordinating with other network functions. According to an embodiment, the 5G system architecture may leverage service-based interactions between NF service consumers and NF service producers directly or indirectly via a service communication proxy (SCP).
[0053] As shown in Figure 1A, the proposed system 100 may include a network device 112 implementation that includes an SCP (112 as shown in Figure 1B) that may be coupled to multiple nodes, including node 106-1, node 106-2, ... node 106-N (hereinafter collectively referred to as nodes 106 and individually referred to as nodes 106). The network device 102 may be referred to herein as a controller 102, and more specifically, as an SCP controller or simply as controller 112.
[0054] In one example, the SCP controller 112 may be configured to facilitate routing of requests between multiple nodes. In an embodiment, each node 106 may be configured to be coupled to multiple user devices 108-1, 108-2, 108-3, 108-4, ... 108-(N-1), 108-N (hereinafter collectively referred to as user devices 108 and individually as user devices or user equipment or UE 108). In one embodiment, the system 100 may enable routing of requests for secure communications between user devices associated with separate or the same nodes.
[0055] In an embodiment, the user device 108 may include a user equipment (UE) communicatively coupled to the controller 112. The coupling may include receiving a connection request from the controller 112, sending an acknowledgment of the connection request to the controller, and further transmitting a number of signals in response to the connection request.
[0056] In one exemplary embodiment, the SCP controller 112 may be implemented as an application server and may be communicatively operable or communicatively coupled to the node 106 or the user device 108 via a network 110 coupled to the server 104. In another exemplary embodiment, the user device 108 may be a wireless device. The wireless device may be a mobile device that may include, for example, a cellular phone, such as a feature phone or a smartphone, and other devices. The user device 108 may include any type of device capable of providing wireless communications, such as, but not limited to, the above-mentioned devices, a cellular phone, a tablet computer, a personal digital assistant (PDA), a personal computer (PC), a laptop computer, a media center, a workstation, and other such devices.
[0057] In an embodiment, the network 110 may include or relate to a core network (such as, for example, the 5G core network 114 of FIG. 1B) that comprises multiple nodes (or endpoints or proxies). As shown in FIG. 1B or in an example embodiment, the core network 114 may be associated with various elements / components / functions, such as, for example, a service communication proxy (SCP) 112, network functions (NFs), and proxies corresponding to the NFs. In an example embodiment, the system 100 may facilitate servicing to the user device 108 by effectively routing communication requests (also referred to as requests). For example, the SCP 112 may relate to the core network 114 and may manage / enable various other aspects associated with routing and receiving requests. For example, for a request originating from a user, for example, from a consumer node (origin node), the SCP 112 may enable routing of the request to the core network 114 through an ingress node or ingress proxy of the SCP 112, where the ingress node may be an entry point for the communication request within the SCP 112. Additionally, SCP 112 may enable requests to be routed to respective destination nodes through egress nodes or egress proxies of SCP 112. Thus, an egress node may be an exit point for a communication request within SCP 112. In an embodiment, other aspects managed by SCP 112 may include, but are not limited to, configuring endpoints within active and disaster recovery (DR) clusters, identifying at least one endpoint for routing requests, identifying at least an active endpoint and / or a corresponding endpoint (a standby alternate endpoint or a disaster recovery (DR) endpoint) within a DR cluster, evaluating predefined criteria prior to routing a request, and other such tasks that may enable effectively managing the routing of incoming requests.
[0058] In an exemplary embodiment, the network may relate to at least one of a wireless network, a wired network, or a combination thereof. The network may be implemented as one of different types of networks, such as an intranet, a local area network (LAN), a wide area network (WAN), the Internet, etc. Furthermore, the network may be either a dedicated network or a shared network. A shared network may represent an association of different types of networks that may use various protocols, such as Hypertext Transfer Protocol (HTTP), Transmission Control Protocol / Internet Protocol (TCP / IP), Wireless Application Protocol (WAP), Automatic Repeat Request (ARQ), etc. In an embodiment, the network may relate to a 5G network, which may be facilitated through, for example, a Global System for Mobile Communications (GSM) network, a Universal Terrestrial Radio Network (UTRAN), an Enhanced Data Rates for GSM Evolution (EDGE) Radio Access Network (GERAN), an Evolved Universal Terrestrial Radio Access Network (E-UTRAN), a WIFI or other LAN access network, or a terrestrial wide area access network, such as a satellite, or a Wireless Microwave Access (WIMAX) network. Various other types of communication networks or communication services may be possible.
[0059] In an example, the network 110 may utilize different types of air interfaces, such as code division multiple access (CDMA), time division multiple access (TDMA), or frequency division multiple access (FDMA) air interfaces, and other implementations. In an exemplary embodiment, wireline user devices may use wired access networks exclusively or in combination with wireless access networks, including, for example, plain old telephone service (POTS), public switched telephone network (PSTN), asynchronous transfer mode (ATM), and other network technologies configured to transport Internet Protocol (IP) packets.
[0060] In an embodiment, as shown in FIG. 1B, the proposed system 100 may facilitate the interaction of the SCP 112 with various separate network components and corresponding network functions, where the SCP 112 may be communicatively coupled to other devices through a core network 114. In an embodiment, the core network 114 may facilitate the communicative coupling of the SCP 112 with the 5G-EIR 116, where the 5G-EIR may be defined as an independent network component that may help telecom operators protect their networks. The 5G-EIR 116 may help protect the network by providing a mechanism for restricting malicious user terminals in the network.
[0061] In other embodiments, the core network 114 may facilitate the communicative coupling of the SCP 112 with a network component supporting a network slice selection function 118 (NSSF). The NSSF 118 may, for example, enable selecting a network slice instance for serving the user device 108, determining an enabled NSSAI, and determining an AMF set used to serve the user device 108. In another embodiment, the SCP 112 may be coupled to a network component supporting an authentication server function 120 (AUSF), where the AUSF may act as an authentication server and function to check the authenticity of information flowing through it.
[0062] In yet another embodiment, the SCP 112 may be coupled to network components supporting a Unified Data Management 122 (UDM 122) and a Unified Data Repository 124 (UDR 124), where the UDM 122 may facilitate a centralized technique for controlling network user data. For example, the UDM 122 may generate authentication and key agreement (AKA) credentials, perform user identification processing, access authorization, and perform subscription management. Additionally, the UDR 124 may act as a centralized repository for information about subscribers and facilitate services to several network functions. For example, the 5G UDM (Unified Data Management) may use the UDR to store and retrieve data related to subscriptions. Alternatively, the PCF (Policy Control Function) may use the UDR to store and retrieve policy-related data. Additionally, the NEF (Network Publishing Function) may use the UDR to store subscriber-related data that is authorized to be published to third-party applications.
[0063] In one embodiment, the SCP 112 may be coupled to a network component that supports a Network Publication Function 126 (NEF 126), where the NEF may perform functions such as publishing capabilities and events, securely providing information from external applications to the 3GPP network, and internal / external information transformation.
[0064] In yet another embodiment, the SCP 112 may be coupled to network components supporting a 5G Network Data Analytics Function 128 (NWDAF 128). The NWDAF 128 may be configured to streamline and control how core network data is produced and consumed, provide insights, and suggest actions to be taken to enhance end-user experience. In an example embodiment, the NWDAF 128 may be configured to overcome market fragmentation and proprietary solutions in the area of network analytics. Additionally, the NWDAF 128 may address at least one of the major standardization phases, including, but not limited to: -Interface for collecting data from network nodes Predefined analytical insights Data publishing interface for consumers
[0065] In an embodiment, the SCP 112 may be coupled to network components supporting a Session Management Function 130 (SMF), an Access and Mobility Management Function 132 (AMF), a Policy Control Function 134 (PCF), and an Application Function 136 (AF), where the SMF 130 may perform functions related to session management, e.g., session establishment, modification, and publication. Additionally, the SMF 130 may handle User Equipment (UE) IP address allocation and management, DHCP functions, termination of NAS signaling related to session management, DL data notification, traffic steering configuration for the User Plane Function (UPF) for proper traffic routing, etc.
[0066] Additionally, the AMF 132 may receive all connection and session related information from the communication device (also referred to herein as user equipment) and may be responsible for connection and mobility management tasks. Additionally, the PCF 134 may provide a unified policy framework, policy rules to the CP function, access subscription information for policy decisions in the UDR. The AF 136 may inspect application impacts on traffic routing, access the NEF, and interact with the policy framework for policy control. In an embodiment, the SCP 112 may be coupled to network elements supporting a short message service function 138 (SMSF 138), a NF repository function 140 (NRF 140), a security edge protection proxy 142 (SEPP 142), and a user plane function 144 (UPF 144). The SMSF 138 may facilitate the transfer of SMS over the NAS in the 5G architecture. Moreover, the SMSF 138 may perform subscription checks, as well as relay functions between the user device 108 and the SMSC (Short Message Service Center) through interactions with the AMF (Core Access and Mobility Management Function). Furthermore, the NRF 140 may be configured to perform service discovery functions, maintain NF profiles, and may also check for available NF instances. Also, the BroadForward Security Edge Protection Proxy 142 (BroadForward SEPP 142) may facilitate secure communications between one or more 5G networks. The SEPP 140 may also provide end-to-end confidentiality and / or integrity between source and destination networks for all 5G interconnect roaming messages.
[0067] Furthermore, the UPF 144 may function to connect the actual data coming in through the corresponding Radio Area Network (RAN) to the Internet. In an exemplary embodiment, the UPF 144 may perform packet routing and forwarding, packet inspection, and handle quality of service (QoS). Furthermore, the UPF 144 may act as an external PDU session point of interconnection to the Data Network (DN), and also as an anchor point for intra-RAT mobility as well as inter-RAT mobility. It is noted that the functionality of the SCP 112 may be independent of the distance between network functions. Moreover, the SCP 112 may facilitate peer-to-peer communication between peer instances / nodes. Furthermore, the basic functionality of the SCP 112 may include, but is not limited to, end-to-end connectivity between different nodes having distinct deployment scenarios, architectures, and functionality while efficiently managing such architectures. The routing capabilities of the proposed system 100 or the SCP 112 may be agnostic to the architecture, structure, functionality, and implementation of network functions of each node.
[0068] In an embodiment, the SCP controller (112) may be in communication with at least one node 106, which may be a Public Land Mobile Network (PLMN) cluster. Each PLMN cluster may have multiple endpoints associated with the network 110. For example, the endpoints may include multiple user devices (108). The SCP controller (112) may further include one or more processors coupled to a memory storing instructions executable by the one or more processors. The controller (112) may be configured to receive requests to be sent to the first PLMN cluster and the second PLMN cluster from one or more source node devices 106 in communication with the SCP controller 112, and then determine the status of multiple paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster, respectively. For example, if n=1, the pairing will comprise endpoint 1 of the first PLMN cluster and endpoint 3 of the second PLMN cluster. If n=2, the pairing will comprise endpoint 2 of the first PLMN cluster and endpoint 4 of the second PLMN cluster. If n=3, then the pairing would comprise endpoint 3 of a first PLMN cluster and endpoint 5 of a second PLMN cluster.
[0069] In an embodiment, the SCP controller 112 may be further configured to route requests equally to each of the paired n and n+2 endpoints through the first PLMN cluster for transmission when the status of each of the paired n and n+2 endpoints associated with the first and second PLMN clusters is determined to be active. The requests may be equally routed to the paired n and n+2 endpoints associated with the first and second PLMN clusters, respectively, based on a round robin technique. Furthermore, routing may be used in either or a combination of egress and ingress proxies.
[0070] In one embodiment, the SCP controller may be configured to route requests to only one endpoint in a pair at a time.
[0071] In an embodiment, when all the endpoints are active, the controller may be configured to route 50% of the requests to a first pair with n endpoints of the first PLMN cluster and n+2 endpoints of the second PLMN cluster, and the remaining 50% of the requests to a second pair with 2n endpoints of the first PLMN cluster and 2n+2 endpoints of the second PLMN cluster. For example, 50% of the requests may be routed to a first pair with endpoint 1 of the first PLMN cluster and endpoint 3 of the second PLMN cluster, and the remaining 50% of the requests to a second pair with endpoint 2 of the first PLMN cluster and endpoint 4 of the second PLMN cluster.
[0072] In an embodiment, when n endpoints of the first pair are inactive and the remaining endpoint is active, the controller may be configured to route 50% of the requests to n+2 endpoints of the second PLMN cluster and the remaining 50% of the requests to 2n endpoints of the first PLMN cluster. For example, when endpoint 1 of the first pair is inactive and the remaining endpoint is active, the controller may route 50% of the requests to endpoint 3 of the second PLMN cluster and the remaining 50% of the requests are routed to endpoint 2 of the first PLMN cluster.
[0073] In an embodiment, when 2n endpoints of the second pair are inactive and the remaining endpoint is active, the controller may be configured to route 50% of the requests to the n endpoints of the first PLMN cluster and the remaining 50% of the requests to the 2n+2 endpoints of the second PLMN cluster. For example, when endpoint 2 of the second pair is inactive and the remaining endpoint is active, the controller may be configured to route 50% of the requests to endpoint 1 of the first PLMN cluster and the remaining 50% of the requests to endpoint 4 of the second PLMN cluster.
[0074] In an embodiment, when either or both of the n+2 and 2n+2 endpoints of the second PLMN cluster are inactive and the remaining endpoints are active, the controller may be configured to route the requests equally to the n endpoints of the first PLMN cluster and the 2n endpoints of the first PLMN cluster. For example, when either or both of endpoint 3 and endpoint 4 of the second PLMN cluster are inactive and the remaining endpoints are active, the controller may be configured to route the requests equally to endpoint 1 of the first PLMN cluster and endpoint 2 of the first PLMN cluster.
[0075] In an embodiment, when either or both of the n endpoints and the 2n endpoints of the first PLMN cluster are inactive and the remaining endpoints are active, the controller is configured to route the requests equally to the n+2 endpoints of the first PLMN cluster and the 2n+2 endpoints of the second PLMN cluster. For example, when either or both of endpoint 1 and endpoint 2 of the first PLMN cluster are inactive and the remaining endpoints are active, the controller may be configured to route the requests equally to endpoint 3 of the first PLMN cluster and endpoint 4 of the second PLMN cluster.
[0076] In an embodiment, when both n and n+2 endpoints of the first pair are inactive, the controller may be configured to route 100% of the requests to the 2n endpoints of the first PLMN cluster. For example, when both endpoint 1 and endpoint 3 of the first pair are inactive, the controller may be configured to route 100% of the requests to endpoint 2 of the first PLMN cluster.
[0077] In an embodiment, when both the 2n and 2n+2 endpoints of the second pair are inactive, the controller is configured to route 100% of the requests to the n endpoints of the first PLMN cluster. For example, when both endpoint 2 and endpoint 4 of the second pair are inactive, the controller may be configured to route 100% of the requests to endpoint 1 of the first PLMN cluster.
[0078] In an embodiment, when only one endpoint is active and the remaining endpoints are inactive, the controller may be configured to route the requests routed to only the active endpoint. Further, the number of endpoints in the first PLMN cluster should be equal to the number of endpoints in the second PLMN cluster.
[0079] In an embodiment, the second PLMN cluster may be a disaster recovery (DR) cluster for a first PLMN cluster, which may be an active cluster, and routing of multiple requests may be sent directly to endpoints in the DR cluster if corresponding active endpoints in the first PLMN cluster are unavailable.
[0080] In an embodiment, for O-based indexing, the endpoints at the even indices should belong to the first PLMN cluster, while the odd indices should belong to the DR cluster.
[0081] 1C shows an example method flow diagram according to an embodiment of the present disclosure. The method (190) may include receiving 192, by the SCP controller 112, a number of requests to be sent to a first PLMN cluster and a second PLMN cluster from one or more source node devices in communication with the SCP controller 112. The SCP controller (112) is in communication with a number of endpoints that may be grouped in either the first PLMN cluster or the second PLMN cluster such that n endpoints in the first PLMN cluster form pairs with n+2 endpoints in the second PLMN cluster, where n is a natural number.
[0082] The method (190) may also include, at 194, determining, by the SCP controller (112), a status of a plurality of paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster, respectively.
[0083] Furthermore, the method may include, at 196, routing the requests equally to each of the paired n and n+2 endpoints associated with the first and second PLMN clusters, respectively, through the first PLMN cluster for transmission when the status of each of the paired n and n+2 endpoints is determined to be active by the SCP controller (112). The requests may be routed equally to each of the paired n and n+2 endpoints associated with the first and second PLMN clusters, respectively, based on a round robin technique.
[0084] FIG. 2, with reference to FIG. 1B, illustrates an exemplary diagram of an SCP implementation according to an embodiment of the present disclosure. FIG. 2 mainly illustrates this implementation for intelligent load balancing, routing, monitoring, and congestion control at the application layer, i.e., layer 7, of the Open System Intercommunication (OSI) model, which can completely separate the service layer from the infrastructure layer. The SCP can not only solve the challenges of 5G service-based architecture, but also optimize signaling control, thus providing better visibility to the core network. The SCP 112 can also enhance network performance by continuously coordinating with other network functions.
[0085] In one embodiment, the system 100 may perform interconnection functions at block 202, facilitate communication between peer nodes at block 204, and create a mesh based on discovery / information distributed by the peer nodes. Additionally, the system 100 may facilitate scale-up and scale-down functions at block 206, providing increased flexibility. Additionally, the system 100 may enable leveraging the full potential of a service-based architecture at block 208. Moreover, the system 100 may address the need for a module with some central functionality at block 210, thereby facilitating secure communication of the nodes 106 with the SCP 112 (of FIG. 1B). For example, the SCP 112 may be configured to control the flow of data / information between the nodes by facilitating load balancing, routing, traffic monitoring, congestion control, and service discovery within a layer 7 service mesh. In an exemplary embodiment, the system 100 may determine network function (NF) instances, and correspondingly, the SCP 112 may manage function specification service proxy instances. In another exemplary embodiment, the NRF 140 may provide registration, re-registration, and NF discovery functionality together.
[0086] In another exemplary embodiment, the system 100 may include NFs that may communicate with the NRF 140 through an SCP controller. For example, "x" NF services and PCF proxies running in "y" instances may communicate with the NRF 140 through an SCP controller in the SCP 112, and the NRF 140 may act as a central repository and contain information about all NFs. In another exemplary embodiment, the SCP controller may be trained to configure the SCP proxies based on real-time conditions. Thus, no pre-configuration of SCP proxies may be required in the system 100.
[0087] FIG. 3A shows an example diagram of a flow diagram illustrating indirect communication through the proposed system with delegation discovery according to an embodiment of the present disclosure. FIG. 3B shows an example diagram of a flow diagram illustrating indirect communication through the proposed system without delegation discovery according to an embodiment of the present disclosure. With reference to FIG. 3A and FIG. 3B, the system 100 implements the SCP 112 (of FIG. 1B) to support both scenarios of indirect communication, i.e., indirect communication with / without delegation discovery, to discover peer network capabilities. Indirect communication without delegation discovery: As shown in 302 of FIG. 3A, in this case, a consumer node or consumer NF 320 (consumer NF for the UE sending the request) can directly query the NRF 140 to obtain information about the NF profile of a provider node or provider NF 340 (destination node to which the request needs to be sent). Based on the discovery result, at 304, the NRF 140 may send the NF profile to the consumer node 320. In an example embodiment, based on the discovery result, the consumer NF 320 may select an NF instance of the NF service instance set. At 306, the consumer NF 320 may send a request to the SCP 112 including the address of the selected service producer, which points to the NF service instance or set of NF service instances. In an example embodiment, the SCP 112 may interact with the NRF 140 to obtain selection parameters, such as location, capabilities, and other such information, as the case may be. At 312, the SCP 112 may route the request to the selected NF service provider instance or provider node 340. At 314, the provider NF 340 may generate a service response, which may be further transmitted to the consumer NF 320 via the SCP 112 at 316. Similarly, a subsequent request may be transmitted at 310, and the subsequent request may be further processed in the same manner. Indirect communication with delegated discovery: This communication mode may work even when the user does not perform any discovery or selection. As shown in FIG. 3B, in this case, the consumer node or consumer NF 320 (consumer NF for the UE sending the request) may not need to query the NRF 140 to directly obtain information about the NF profile of the provider node or provider NF 340 (destination node to which the request needs to be sent) shown in FIG. 3A. In an exemplary embodiment, and as shown in FIG. 3B, the consumer node 320 may add any necessary discovery and selection parameters required to find a suitable provider node 340 for the service request at 322. In an exemplary embodiment, the SCP may perform discovery with the NRF 140 and obtain the discovery result. The SCP 112 may use the request address and discovery selection parameters in the request message to route the request to a suitable producer instance / provider node 340 as shown in step 328. The provider NF 340 may then generate a service response at 330, which may be further transmitted to the consumer NF 320 through the SCP 112 at 324. Similarly, a subsequent request may be sent at 326, and the subsequent request may be further processed in the same manner.
[0088] In an example embodiment, the proposed SCP 112 may also be used for indirect communication between NFs and between NF services within any or a combination of Public Land Mobile Networks (PLMNs), such as, for example, a Visiting Public Land Mobile Network (VPLMN) and a Home Public Land Mobile Network (also referred to as HPLMN).
[0089] According to an embodiment, apart from acting as a proxy or routing agent between various network functions, the SCP 112 may also be configured to perform the following functionality: · Communications Security: The SCP platform may be configured to allow only authorized consumer NFs to communicate with provider NFs. Load balancing: The provider NF may configure various load balancing techniques such as round robin and weighted scheduling, in which client requests may be routed to available services on a circular basis. Round robin server load balancing may work best when servers have approximately identical computing and storage capabilities. · Security Support: The SCP also supports security mechanisms between consumers and providers of network services. Traffic monitoring: The SCP may monitor the performance of the provider NF in terms of the number of service requests being processed. · Traffic Prioritization: The SCP platform may be configured to give priority to a particular consumer NF request over any other consumer NF. · NF discovery: The SCP provides an interface to identify the most appropriate instance of other network functions (e.g. AUSF, PCF) for a particular UE's SUPI, SUCI or GPSI. Overload control: The SCP has the ability to put a cap on the number of admissions for a particular instance of a provider NF. This means that the SCP will not admit new consumer NFs if the number of consumer applications reaches a threshold limit.
[0090] 4A-4B show example diagrams 400 and 450 of a system architecture of a service communication proxy (SCP) according to an embodiment of the present disclosure. With reference to FIG. 4A, the point-of-delivery (POD) may be abbreviated by a dashed line, and alongside is the system boundary of the service communication proxy (SCP) 112. All other systems / components may be 3GPP defined 5G network functions that may include protocol interfaces with the SCP 112.
[0091] In one embodiment, the architecture of the Service Communication Proxy (SCP) may include at least one of the following functionalities: Indirect communication Delegated Discovery Message forwarding and routing to destination NFs / NF services ·Communication security (e.g., authorization of NF service consumers to access NF service producer APIs), load balancing, monitoring, overload control, etc. Optionally interact with UDR to resolve UDM Group ID / UDR Group ID / AUSF Group ID / PCF Group ID / CHF Group ID / HSS Group ID based on UE identity, e.g. SUPI or IMPI / IMPU.
[0092] In one embodiment, the proposed SCP 112 may include an SCP proxy along with an SCP controller 404. In one embodiment, the SCP proxy may be either an ingress proxy or an egress proxy, · Ingress Proxy: This proxy instance ensures that incoming traffic to producer NFs based on configured policy defaults is round-robin. · Egress Proxy: This proxy instance ensures that the consumer’s outgoing traffic flows to the correct SCP ingress proxy, and is routed based on NF or SCP selection criteria. It will be appreciated that hybrid deployments are also possible where a single SCP instance can act as an egress proxy as well as an ingress proxy.
[0093] In an embodiment, the SCP 112 may include multiple SCP proxies as shown in FIG. 4A that may be communicatively linked to the SCP controller 404 along with the NRF, EMS Plus, SMP, API, and various network functions via an HTTP module. Furthermore, the SCP controller 404 may be configured to manage all SCP proxy instances and select the appropriate proxy instance as egress or ingress for the target NF during the NF registration and discovery flow; to do so, the SCP controller 404 needs to be deployed in front of an NRF cluster serving multiple PLMNs or a single PLMN. In an example embodiment, the SCP controller 404 may configure some instances of a PLMN to act as disaster recovery (DR) endpoints for a corresponding set of active PLMN cluster endpoints.
[0094] In an embodiment, and as shown in FIG. 4B, an exemplary architecture of the SCP 112 is shown. The SCP 112 may facilitate routing of requests through a combination of hardware and software implementations. FIG. 4B shows an exemplary diagram of the SCP 112 of FIG. 1B, according to an embodiment of the present disclosure. The SCP 112 may include one or more processors or controllers (e.g., the SCP controller 404 as shown in FIG. 4A). The one or more processors or controllers 404 may be coupled to the memory 410. The memory 410 may store instructions that, when executed by the one or more processors or controllers 404, may cause the SCP 112 to perform the steps described herein.
[0095] In an embodiment, the processor or controller 404 may enable routing of requests from a consumer node (relative to the user device sending the request) to a destination node (or provider node). For example, the processor or controller 404 of the SCP 112 may identify / configure at least one endpoint or node prior to routing the request. In this example, identification of available endpoints in a cluster of endpoints may be performed, where the cluster may relate to, for example, an active cluster and a DR cluster. In an exemplary embodiment, the request may be routed to the identified / configured pair if at least one endpoint in the pair may be functional. The active cluster may include an active endpoint to which the request may be preferably routed if that endpoint may be available. The DR cluster may include a DR endpoint, where the DR endpoint may be considered as an alternative endpoint for routing the request if the corresponding active endpoint may be unavailable or non-functional. In an exemplary embodiment, according to an active-standby policy, the endpoints in the active cluster and the DR cluster may be paired to form a pair of endpoints. Pair-wise configuration / identification may be performed prior to routing, which may enable effective management of incoming requests. This may also allow for pre-planning of direct routing to a DR endpoint (in a DR cluster) when a corresponding active endpoint (in an active cluster) may be unavailable. In an alternative embodiment, multiple endpoints in an active cluster may be paired with a single DR endpoint.
[0096] In an exemplary embodiment, the identification / configuration of the pair of endpoints may be performed based on a predefined policy of the SCP 112. For example, the predefined policy may relate to the active-standby implementation described herein. For example, the processor or controller 404 may be able to evaluate when an endpoint of the active cluster, e.g., a first endpoint, is unavailable prior to routing the request and configure a corresponding endpoint in the DR cluster. In another example, the processor or controller 404 may evaluate when an endpoint of the active cluster, e.g., a first endpoint, is unavailable and may also evaluate whether a corresponding DR endpoint (second endpoint) for the first endpoint is unavailable such that the request may not be routed to the first endpoint at all. This may eliminate unnecessary rerouting and may also facilitate an efficient routing step. In an exemplary embodiment, the identification / configuration of the pair of endpoints may be performed based on a predefined criterion. For example, the predefined criterion may relate to a header routing criterion, which may enable the processor or controller 404 of the SCP 112 to determine (prior to routing) which endpoint is selected based on availability. Various other examples are provided in the following sections, but the disclosure is not limited to these examples. In one example, the header routing criteria may include, but are not limited to, at least one of the following: a) 3gpp-sbi-discovery b) 3gpp-sbi-target-apiroot c)3gpp-sbi-binding / 3gpp-sbi-routing-binding In an example embodiment, where multiple predefined criteria or header routing criteria may be considered, the processor or controller 404 may be capable of prioritizing the predefined criteria to enable appropriate selection / identification / configuration of an endpoint prior to routing a request.
[0097] The SCP implementation may involve an ingress node and / or an egress node. For an ingress node implementation, the NF profile used for registration may include a number of two endpoints and an incorrect sequence. In an example embodiment, O-based indexing may be used such that the endpoints at even indices should belong to the active cluster, while odd indices should belong to the DR cluster.
[0098] The processor or controller 404 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuits, and / or any device that processes data based on operational instructions. Among other capabilities, the processor or controller 404 may be configured to fetch and execute computer-readable instructions stored in the memory 410 of the SCP 112. The memory 410 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium that may be fetched and executed to create and share data packets via the network services. The memory 410 may comprise any non-transitory storage device, including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.
[0099] In one embodiment, SCP 112 may include an interface 412. Interface 412 may comprise various interfaces, for example, interfaces for data input devices and data output devices, referred to as I / O devices, storage devices, etc. Interface 412 may facilitate communications for SCP 112. Interface 412 may also provide a communications path for one or more components of SCP 112. Examples of such components include, but are not limited to, processing engine or module 404-1 and database 424.
[0100] The processing engine or module 404-1 may be implemented as a combination of hardware and programming (e.g., programmable instructions) for implementing one or more functionalities of the processing engine or module 404-1. In the examples described herein, such a combination of hardware and programming may be implemented in a number of different ways. For example, the programming for the processing engine or module 404-1 may be processor-executable instructions stored on a non-transitory machine-readable storage medium, and the hardware for the processing engine or module 404-1 may comprise processing resources (e.g., one or more processors) for executing such instructions. In the present example, the machine-readable storage medium may store instructions that, when executed by the processing resources, implement the processing engine or module 404-1. In such an example, the SCP 112 may comprise a machine-readable storage medium that stores the instructions and processes the resources to execute the instructions, or the machine-readable storage medium may be separate but accessible to the SCP 112 and the processing resources. In other examples, the processing engine or module 404-1 may be implemented by electronic circuitry.
[0101] In one embodiment, the processor or controller 404 may relate to an ingress controller for enabling processing / control of one or more aspects of an incoming request received at an ingress node (point of entry) of the SCP 112. In another embodiment, the processor or controller 404 may relate to an egress controller for enabling processing / control of one or more aspects of a request being routed at an egress node (point of exit) of the SCP 112. In yet another embodiment, the processor or controller 404 may relate to a unified controller including both an ingress controller and an egress controller for enabling processing / control of one or more aspects of an incoming request received at an ingress node (point of entry) of the SCP 112 and / or for enabling processing / control of one or more of a request being routed at an egress node (point of exit) of the SCP 112.
[0102] The processing engine or module 404-1 of the SCP 112 may include one or more components (shown in FIG. 4B ), including a receiving module 416, a proxy information module 418, a routing module 420, and other modules or components 422. In an embodiment, the receiving module 416 may enable receiving incoming requests from consumer nodes through an ingress controller, and the routing module 420 may enable routing the requests to provider nodes through an egress controller. The proxy information module 418 may enable collecting or storing information regarding available proxies or endpoints for the active and / or DR clusters. The other modules or components 422 may include, but are not limited to, an ingress module (for the ingress node), an egress module (for the egress node), a load balancer, an edge router configuration module, a mapping module (for mapping endpoints for the active and / or DR clusters), a request processing module, an error message generation module, and other modules or engines. Various other functions of the components may be possible. In one embodiment, database 210 may comprise data that may be either stored or generated as a result of functionality implemented by any of the components of SCP 112's processing engine module 404-1.
[0103] 5 illustrates an example overview of an SCP deployment based on 5G functionality and an SCP deployed in an independent deployment unit, according to an embodiment of the present disclosure. With reference to FIG. 5, an overview of an SCP deployment is shown, where the SCP deployment may be based on 5G functionality and the SCP may be deployed in an independent deployment unit. Furthermore, the system 100 may be designed such that the system 100 may support: One SCP Proxy instance for a single NF type considered for one PLMN, One SCP Proxy instance for multiple NF types considered for one PLMN, One SCP proxy instance for multiple NF types considered for multiple PLMNs, Multiple proxies in a single PLMN for multiple NF types; and · Single SCP controller for multiple NRF instances considered for multi-PLMN.
[0104] In an embodiment, the system 100 may be configured to provide different types of routing techniques for the SCP proxy, where the routing techniques may be implemented according to different NF teams and their GR / DR processing requirements. In an embodiment, the ingress active standby routing technique may be used in the ingress proxy, while the egress active standby routing technique may be used in the egress proxy. In these routing techniques, the GR cluster or the DR cluster may be defined based on the PLMN list. In an example, the proposed active standby routing technique may also be integrated with other policies, such as an active-active routing policy that may ensure utilization of all endpoints in the first active cluster.
[0105] FIG. 6 illustrates an example diagram 600 illustrating a deployment architecture of an active-standby technique according to an embodiment of the present disclosure. In an example embodiment, as shown in FIG. 6, prior to routing a request, SCP 112 (of FIG. 4A) may enable identification / configuration of pairs of endpoints in clusters, for example, for an active cluster and a DR cluster. An active endpoint may assign or associate with a corresponding DR endpoint to form an endpoint pair. In an example, an endpoint pair may include an active endpoint and a corresponding DR endpoint in two different clusters. In an example embodiment, routing of the request may be performed based on a predefined policy (or routing policy) of SCP 112, for example, an active-standby implementation, based on the identification / configuration of the endpoint pair.
[0106] In an example embodiment, a routing policy, i.e., an active-standby routing policy, may be used in the egress proxy and / or the ingress proxy. In an example embodiment, as in the mentioned active-standby routing policy, the endpoint details may be configured pair-wise, so that at a given time, only one endpoint in the pair may receive requests. In an example, the total incoming requests may be round-robined between the pair of endpoints.
[0107] As shown in FIG. 6, each cluster may include two configured endpoints. For example, clusters may be defined in the network, such as cluster A and cluster B. In this example, cluster A may operate as an active cluster 602 and may include configured endpoints, i.e., endpoint 1 (604-1) and endpoint 2 (604-2), and cluster B may be a DR cluster 608 and may include endpoint 3 (606-1) and endpoint 4 (606-2). In this routing policy of active-standby implementation, pair-wise configuration may be applied, so in this example, two pairs may be considered, for example, pair 1, where endpoint 1 (604-1) of active cluster A may be paired with endpoint 3 (606-1) of DR cluster B. Similarly, pair 2 may be considered, where endpoint 2 (604-2) of active cluster A may be paired with endpoint 4 (606-2) of DR cluster B. In a normal scenario, assuming all endpoints may be available or functional, 50% of the total requests received by SCP 112 may be routed to Pair 1 and the remaining 50% may be routed to Pair 2. However, if at least one of the endpoints may not be functional or may be unavailable for routing, SCP 112 may enable dynamic routing of requests by identifying / configuring pairs of endpoints in active and / or DR clusters to evaluate the status of the endpoints. Various possible scenarios are discussed herein below: Exemplary Scenario 1 - When all endpoints (Endpoint 1, Endpoint 2, Endpoint 3, Endpoint 4) are available or functional In this example, 50% of the total requests (or traffic) may be sent to endpoint 1, and the remaining 50% of the requests may be sent on endpoint 2. Example Scenario 2 - Endpoint 1 is down and the other 3 endpoints are up In this case, 50% of the total requests may go to endpoint 3 and the remaining 50% may go to endpoint 2. Example Scenario 3 – Endpoint 2 is down and the other 3 endpoints are up In this case, 50% of the total requests may go to endpoint 1 and the remaining 50% of the requests may go to endpoint 4. Example Scenario 4 - When either or both of Endpoint 3 and Endpoint 4 are down In this case, requests may be routed in equal proportions between endpoint 1 and endpoint 2 as usual. Example Scenario 5 - When both Endpoint 1 and Endpoint 2 are down In this case, requests may be routed in equal proportions between endpoint 3 and endpoint 4. Example Scenario 6 - When Endpoint 1 and Endpoint 3 are Down In this case, 100% of requests can be routed to endpoint 2. Example Scenario 7 - When Endpoint 2 and Endpoint 4 are Down In this case, 100% of requests can be routed to endpoint 1. Example Scenario 8 - When only one endpoint is up and the other three endpoints are down In this case, all requests can be routed to only active endpoints. It will be appreciated that the above scenarios are illustrative and the present disclosure may not be limited to the described examples. Furthermore, it will also be appreciated that while only two endpoints are shown in each cluster, the number of clusters may not be limited to two. It will also be appreciated that the described routing policy includes active and DR clusters with the same number of endpoints to avoid scenarios where the DR endpoint may be up, but still the SCP may not be available to route requests. In an alternative exemplary embodiment, the pair-wise configuration may also consider pairing multiple endpoints in an active cluster with a single endpoint in a DR cluster. This may enable efficient utilization of the DR endpoints.
[0108] 7A-7C show exemplary diagrams 700, 720, and 740, respectively, illustrating the functionality of active standby policy implementation based on different statuses of endpoints in active cluster 702 and DR cluster 704, according to an embodiment of the present disclosure. In an exemplary embodiment, as shown in 700 in FIG. 7A, all endpoints (1-7) in active cluster 702 and DR cluster 704 may be active (marked with check symbols). Furthermore, the numbers assigned to the endpoints in active cluster 702 are similar to the numbers assigned to the corresponding endpoints in DR cluster 704. For the sake of understanding, the numbers may be assigned the same number to indicate the respective pairings of endpoints in cluster 702 and cluster 704. The numbers 1-7 may be provided only for simplicity, but it will be appreciated that a cluster may not be limited to seven endpoints. Upon receiving one or more requests, it may be checked whether all endpoints in active cluster 702 are functional / available. As shown in FIG. 7A, since all endpoints within the active cluster 702 are found to be active, 100% of the traffic may be routed to the active cluster 702 such that retrieved requests may be sent and distributed through all endpoints in the active cluster 702.
[0109] In another exemplary embodiment, and as shown at 720 in FIG. 7B, some of the endpoints in the active cluster 702 and the DR cluster 704 may be active (marked with a check symbol) and some may be unavailable or not functional (marked with a cross). For example, endpoints 2 and 7 in the active cluster 702 may not be functional and endpoint 4 in the DR cluster 704 may not be functional. Upon receiving one or more requests at the SCP, it may be checked whether all endpoints in the active cluster 702 are functional / available. As mentioned, some of the endpoints in the active cluster 702 may be found to be active, so traffic may be routed to those available endpoints of the active cluster 702 (such as endpoints 1, 3, 4, 5, and 6). However, since endpoints 2 and 7 of the active cluster 702 are not available / functional endpoints, traffic or requests may be sent to endpoints 2 and 7 of the DR cluster 704 instead of endpoints 2 and 7 of the active cluster 702. It may also be noted that even though endpoint 4 of DR cluster 704 may be inactive, the non-functional endpoint in the DR cluster may not affect traffic distribution because the corresponding active cluster endpoint is active.
[0110] In another exemplary embodiment, and as shown at 740 in FIG. 7C , none of the endpoints in the active cluster 702 may be available (marked with crosses) and some endpoints in the DR cluster 704 may be available (marked with check symbols). For example, endpoints 1, 2, 4, 5, and 7 in the DR cluster 704 may be functional, while endpoints 3 and 6 in the DR cluster 704 may not be functional. Upon receiving one or more requests at the SCP, it may be checked whether all endpoints in the active cluster 702 are functional / available. As mentioned, since none of the endpoints of the active cluster 702 may be found to be available, traffic may be routed to those paired endpoints of the DR cluster 704 that are active (such as endpoints 1, 2, 4, 5, and 7). However, since endpoints 3 and 6 of the DR cluster 704 may not be available / functional endpoints, traffic or requests may not be sent to these endpoints. Thus, the proposed system 100 / SCP 112 may solve issues such as, but not limited to, congestion control, traffic prioritization, and overload control, thereby enabling efficient utilization of resources and management of traffic in relation to demand.
[0111] 8A-8B show an example diagram illustrating table data or information regarding active standby routing, according to an embodiment of the present disclosure. As shown in 800 of FIG. 8A, for a consumer node 802, an SCP of the present disclosure may process an active standby spare routing table 804 indicating various NF instances with respect to PLMN IDs and information regarding destination nodes. In an example, to enable pair-wise configuration of endpoints in an active cluster and a DR cluster, an SCP may enable performing identification / configuration of pairs of endpoints. The routing table 804 and corresponding adjacent detailed tables indicate various NF instances and corresponding PLMN-ids with respect to endpoints in an active cluster and a DR cluster. In an example embodiment, or as shown in FIG. 8B, an example diagram illustrates that routing of a request may be based on a corresponding PLMN-id and a context. In an example embodiment, routing of a request may be based on a corresponding PLMN-id and an NF type. In an example embodiment, routing of a request may be based on a corresponding context. In an example embodiment, routing of a request may be based on a corresponding NF instance ID. In an example embodiment, routing of a request may be based on a corresponding NF set ID. In an example embodiment, the routing of the request may be based on a corresponding NF Service Set ID. In an example embodiment, the routing of the request may be based on a NF Service Instance ID. Various other embodiments may be possible.
[0112] FIG. 9 illustrates an exemplary diagram 900 illustrating an integrated implementation including various routing policies according to an embodiment of the present disclosure. As shown in FIG. 9, with respect to a consumer node 902, the system or SCP 112 includes various routing policies that may be used to determine the specific routing of a request, which may enable an integrated implementation. For example, table 904 illustrates routing based on an active-standby routing policy of the SCP, including routing between pair-wise configured endpoints in the active and DR clusters as described above. In another example, table 906 illustrates routing based on an active-active routing policy of the SCP, including routing between endpoints in the active cluster to ensure that all endpoints in the active cluster can be effectively utilized. In another example, table 908 illustrates routing based on a primary-secondary routing policy of the SCP, including routing between endpoints in the primary and secondary clusters, where the primary clusters may be used in preference to the secondary clusters, such that endpoints in the secondary clusters may be used for routing only upon validation that all primary clusters are unavailable. In another example, table 910 illustrates routing based on a hybrid primary-secondary routing policy of the SCP, including routing between endpoints in the primary and secondary clusters based on active and standby modes.
[0113] FIG. 10 illustrates an example diagram of a flow diagram 1000 for facilitating routing a communication request using an SCP, according to an embodiment of the present disclosure. Flow diagram 1000 may represent a general sequence of steps for an outgoing or incoming communication. At 1002, the method may include identifying at least one available endpoint in a cluster. At 1004, the method may include routing the communication request from a consumer node (for a user device sending the request) to a destination node or provider node (for a user device receiving the request), where the request may be routed to an identified / configured pair if at least one endpoint in the pair may be functional.
[0114] In an example, the step of identifying at least one available endpoint may include, for example, identifying / configuring pairs of endpoints for an active cluster and a DR cluster. The active cluster may include active endpoints to which requests may preferably be routed if the endpoints may be available. The DR cluster may include DR endpoints, which may be considered as alternative endpoints for routing requests if the corresponding active endpoints may be unavailable or non-functional. In an example embodiment, each endpoint in an active cluster may be paired with a corresponding endpoint in a DR cluster to form an endpoint pair. In an embodiment, the method may enable identifying / configuring pairs of endpoints in an active cluster and a DR cluster, for example, a DR endpoint for an unavailable / non-functional endpoint in an active cluster. This may be done before routing is performed, which may enable effective management of incoming requests. This may also enable pre-planning direct routing to a DR endpoint (in a DR cluster) if the corresponding active endpoint (in an active cluster) may be unavailable.
[0115] In an exemplary embodiment, the routing may be performed based on a predefined policy of the SCP 112 based on the identification / configuration of the pair of endpoints. For example, the predefined policy may relate to the active-standby implementation described herein. In an exemplary embodiment, the request may be routed to the identified / configured pair if at least one endpoint in the pair may be functional. For example, the method may include a step of evaluating when an endpoint of the active cluster, e.g., a first endpoint, is unavailable prior to routing the request, and may be capable of configuring a corresponding endpoint in the DR cluster. In another example, the method may include a step of evaluating when an endpoint of the active cluster, e.g., a first endpoint, is unavailable, and may be capable of evaluating whether a corresponding configured DR endpoint (second endpoint) for the first endpoint is also unavailable such that the request may not be routed to the pair at all. This may eliminate unnecessary rerouting and may also facilitate an effective routing step. In an exemplary embodiment, the routing may be performed based on a predefined criteria based on the identification / configuration of the pair of endpoints. For example, the predefined criteria may relate to header routing criteria, which may enable the SCP 112 to determine which endpoint is selected (prior to routing) based on availability, for example. Various other examples are provided in the next section, but the disclosure is not limited to these examples. In one example, the header routing criteria may include, but is not limited to, at least one of the following: a) 3gpp-sbi-discovery b) 3gpp-sbi-target-apiroot c)3gpp-sbi-binding / 3gpp-sbi-routing-binding In an example embodiment, where multiple predefined criteria or header routing criteria may be considered, the processor or controller 404 may be capable of prioritizing the predefined criteria to enable appropriate selection of an endpoint prior to routing the request. Various other embodiments may be possible.
[0116] FIG. 11 illustrates an exemplary computer system in or with which embodiments of the present invention may be utilized in accordance with embodiments of the present disclosure. As shown in FIG. 11, computer system 1100 may include an external storage device 1110, a bus 1120, a main memory 1130, a read-only memory 1140, a mass storage device 1150, a communication port 1160, and a processor 1170. Those skilled in the art will appreciate that a computer system may include more than one processor and communication port. Processor 1170 may include various modules associated with embodiments of the present invention. Communication port 1160 may be any of a modem-based dial-up connection, a 10 / 100 Ethernet port, a gigabit or 10 gigabit port using copper or fiber, a serial port, a parallel port, or an RS-232 port for use with other existing or future ports. Communication port 1160 may be selected depending on the network, such as a local area network (LAN), a wide area network (WAN), or any network to which the computer system is connected. Memory 1130 may be a random access memory (RAM) or any other dynamic storage device commonly known in the art. Read-only memory 1140 may be any static storage device. Mass storage 1150 may be any current or future mass storage solution that may be used to store information and / or instructions.
[0117] The bus 1120 communicatively couples the processor 1170 to other memory, storage, and communication blocks. Optionally, operator and management interfaces, such as a display, keyboard, and cursor control devices, may also be coupled to the bus 1120 to support direct operator interaction with the computer system. Other operator and management interfaces may be provided through a network connection connected through the communication port 1160. The components described above are merely meant to illustrate various possibilities. The aforementioned exemplary computer system should in no way limit the scope of the present disclosure.
[0118] Although the embodiments herein are described with respect to an SCP, it will be appreciated that the proposed system and method may be implemented within any computing device or external device without departing from the scope of the present invention.
[0119] Although considerable emphasis has been placed on the preferred embodiment herein, it will be appreciated that many embodiments may be made and that many changes may be made to the preferred embodiment without departing from the principles of the invention. These and other changes in the preferred embodiment of the invention will become apparent to those skilled in the art from the disclosure herein, and it will be clearly understood that the foregoing description of the matters to be implemented is merely illustrative of the invention and not limiting.
[0120] A portion of the disclosure of this patent document contains material that is subject to intellectual property rights, including, but not limited to, copyright, design, trademark, IC layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred to as the Owner). The Owner has no objection to the facsimile reproduction by any person of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or patent records, but otherwise reserves all rights. All rights to such intellectual property rights are fully reserved by the Owner. Advantages of the present disclosure
[0121] The present disclosure provides systems and methods for facilitating effective and improved management of traffic routing for incoming requests.
[0122] The present disclosure provides systems and methods that can be agnostic to each node's architecture, structure, functionality, and implementation of network functions.
[0123] The present disclosure provides systems and methods to facilitate SCP implementation that enable load balancing, routing, traffic monitoring, congestion control, service discovery, and other such functions in an efficient manner.
[0124] The present disclosure provides systems and methods that enable effective management of incoming requests.
[0125] The present disclosure provides systems and methods that may eliminate unnecessary re-routing, yet still facilitate an efficient routing step. [Explanation of symbols]
[0126] 100 Systems 102 Network devices, controllers 104 Server 106 nodes 106-1, 106-2, … 106-N nodes 108 User Devices 108-1, 108-2, 108-3, 108-4, … 108-(N-1), 108-N User Devices 110 Network 112 Network Device, SCP, SCP Controller, Controller, Service Communication Proxy (SCP) 114 Core Network 116 5G-EIR 118 Network Slice Selection Function (NSSF) 120 Authentication Server Function (AUSF) 122 Unified Data Management (UDM) 124 Unified Data Repository (UDR) 126 Network Publishing Facility (NEF) 128 5G Network Data Analysis Function (NWDAF) 130 Session Management Facility (SMF) 132 Access and Management Function (AMF) 134 Policy Control Function (PCF) 136 Application Functions (AF) 138 Short Message Service Facility (SMSF) 140 NF Repository Facility (NRF) 142 Security Edge Protection Proxy (SEPP) 144 User Plane Function (UPF) 210 Database 320 Consumer Node or Consumer NF 340 Provider Node or Provider NF 400 Figures 404 SCP Controller, Processor or Controller 404-1 Processing engine or module 410 Memory 412 Interface 416 Received Joules 418 Proxy Information Module 420 Routing Module 422 Other Modules or Components 424 Database 450 Figures 600 Figures 602 Active Clusters 604-1 Endpoint 1 604-2 Endpoint 2 606-1 Endpoint 3 606-2 Endpoint 4 608 DR Cluster 700 Figures 702 Active Clusters 704 DR Cluster 720 Figure 740 Figures 802 Consumer Node 804 Active Standby Spare Routing Table, Routing Table 900 Figures 902 Consumer Nodes 904 table 906 table 908 table 910 table 1000 Flow Diagram 1100 Computer Systems 1110 External Storage Device 1120 Bus 1130 Main memory, memory 1140 Read-only memory 1150 Mass Storage Device 1160 communication port 1170 Processor
Claims
1. A system (100) for performing ingress / egress active standby spare routing in a network, A service communication proxy (SCP) controller (112) communicating with multiple endpoints. The SCP controller (112) comprises one or more processors (404), and the The SCP controller (112) receives a plurality of requests that will be sent to the first PLMN cluster and the second PLMN cluster from one or more source node devices communicating with the SCP controller (112). Determine the status of multiple pairs of endpoints numbered n and n+2 associated with the first PLMN cluster and the second PLMN cluster, respectively. When the status of each paired endpoint number n and endpoint number n+2 is determined to be active, the multiple requests are routed equally through the first PLMN cluster for transmission to each paired endpoint number n and endpoint number n+2 associated with the first PLMN cluster and the second PLMN cluster. It is configured in such a way, The aforementioned multiple requests are routed equally to the paired endpoints numbered n and n+2, respectively, associated with the first PLMN cluster and the second PLMN cluster, based on a round-robin technique. system.
2. The system according to claim 1, wherein the routing is used in either an egress proxy or an ingress proxy, or a combination thereof.
3. The system according to claim 1, wherein the SCP controller 112 is configured to route the plurality of requests to only one endpoint in a pair at a time.
4. Prior to routing, the SCP controller 112 is configured to identify at least one available endpoint among the paired endpoints relating to the first PLMN cluster and the second PLMN cluster, the first PLMN cluster comprises a plurality of active endpoints to which the plurality of requests are routed when the plurality of endpoints are available, and the second PLMN cluster comprises a plurality of corresponding alternate endpoints for routing the plurality of requests when the corresponding plurality of active endpoints are unavailable or non-functional, the system according to claim 1.
5. The system according to claim 4, wherein the routing is performed based on the identification of the paired endpoints and on a predefined policy of the SCP controller 112.
6. The system according to claim 1, wherein when all of the plurality of endpoints are active, the SCP controller is configured to route 50% of the plurality of requests to a first pair comprising the number n endpoint of the first PLMN cluster and the number n+2 endpoint of the second PLMN cluster, and the remaining 50% of the plurality of requests to a second pair comprising the number 2n endpoint of the first PLMN cluster and the number 2n+2 endpoint of the second PLMN cluster.
7. The system according to claim 1, wherein when the numbered n endpoint of the first pair is inactive and the remaining endpoints are active, the SCP controller (112) is configured to route 50% of the plurality of requests to the numbered n+2 endpoint of the second PLMN cluster and the remaining 50% of the plurality of requests to the numbered 2n endpoint of the first PLMN cluster.
8. The system according to claim 1, wherein when the numbered endpoint 2n of the second pair is inactive and the remaining endpoints are active, the SCP controller (112) is configured to route 50% of the plurality of requests to the numbered endpoint n of the first PLMN cluster and the remaining 50% of the plurality of requests to the numbered endpoint 2n+2 of the second PLMN cluster.
9. The system according to claim 1, wherein when either or both of the number n+2 endpoint and the number 2n+2 endpoint of the second PLMN cluster are inactive and the remaining endpoints are active, the SCP controller (112) is configured to route the plurality of requests equally to the number n endpoint of the first PLMN cluster and the number 2n endpoint of the first PLMN cluster.
10. The system according to claim 1, wherein when either or both of the endpoint number n and the endpoint number 2n of the first PLMN cluster are inactive and the remaining endpoints are active, the SCP controller (112) is configured to route the plurality of requests equally to the endpoint number n+2 of the first PLMN cluster and the endpoint number 2n+2 of the second PLMN cluster.
11. The system according to claim 1, wherein when both the number n endpoint and the number n+2 endpoint of the first pair are inactive, the SCP controller (112) is configured to route 100% of the plurality of requests to the number 2n endpoint of the first PLMN cluster.
12. The system according to claim 1, wherein when both endpoints numbered 2n and 2n+2 of the second pair are inactive, the SCP controller (112) is configured to route 100% of the plurality of requests to endpoint numbered n of the first PLMN cluster.
13. The system according to claim 1, wherein when only one endpoint is active and the remaining endpoints are inactive, the SCP controller (112) is configured to route the plurality of requests that are routed only to the active endpoint.
14. The system according to claim 1, wherein the number of endpoints in the first PLMN cluster is equal to the number of endpoints in the second PLMN cluster.
15. The system according to claim 1, wherein the second PLMN cluster is a disaster recovery (DR) cluster for the first PLMN cluster, the first PLMN cluster is an active cluster, and the routing of the plurality of requests is such that if the corresponding active endpoint in the first PLMN cluster is unavailable, the requests are sent directly to an endpoint in the DR cluster.
16. The system according to claim 13, wherein, in the case of O-based indexing, endpoints in even-numbered indexes belong to the first PLMN cluster and odd-numbered indexes belong to the DR cluster.
17. A method (190) for performing ingress / egress active standby spare routing in a network, A receiving step of a Service Communication Proxy (SCP) controller (112) receiving a plurality of requests to be sent to a first PLMN cluster and a second PLMN cluster from one or more source node devices communicating with the SCP controller (112), wherein the SCP controller (112) communicates with a plurality of endpoints, the plurality of endpoints are grouped in either the first PLMN cluster or the second PLMN cluster such that the endpoint number n of the first PLMN cluster forms a pair with the endpoint number n+2 of the second PLMN cluster, where n is any natural number, and the SCP controller (112) further comprises one or more processors (404) coupled to a memory (410) storing instructions executable by one or more processors (404), The SCP controller (112) determines the status of multiple pairs of endpoints numbered n and n+2, which are associated with the first PLMN cluster and the second PLMN cluster, respectively. When the SCP controller (112) determines that the status of each paired endpoint number n and endpoint number n+2 is active, the steps include: routing the plurality of requests equally through the first PLMN cluster for transmission to each paired endpoint number n and endpoint number n+2 associated with the first PLMN cluster and the second PLMN cluster, respectively; Equipped with, The aforementioned multiple requests are routed equally to the paired endpoints numbered n and n+2, respectively, associated with the first PLMN cluster and the second PLMN cluster, based on a round-robin technique. method.
18. The method according to claim 17, wherein the routing is used in either an egress proxy or an ingress proxy, or a combination thereof.
19. The method according to claim 17, further comprising the step of routing the plurality of requests to only one endpoint in a pair at a time by the SCP controller (112).
20. The method according to claim 17, wherein, prior to routing, the method further comprises the step of having the SCP controller 112 identify at least one available endpoint among the paired endpoints relating to the first PLMN cluster and the second PLMN cluster, wherein the first PLMN cluster comprises a plurality of active endpoints to which the plurality of requests are routed when the plurality of endpoints are available, and the second PLMN cluster comprises a plurality of corresponding alternate endpoints for routing the plurality of requests when the corresponding plurality of active endpoints are unavailable or non-functional.
21. The method according to claim 20, wherein the routing is performed based on the identification of the paired endpoints and on a predefined policy of the SCP controller 112.
22. The method according to claim 17, further comprising the step that, when all of the plurality of endpoints are active, the method routes 50% of the plurality of requests by the SCP controller (112) to a first pair comprising the number n endpoint of the first PLMN cluster and the number n+2 endpoint of the second PLMN cluster, and the remaining 50% of the plurality of requests to a second pair comprising the number 2n endpoint of the first PLMN cluster and the number 2n+2 endpoint of the second PLMN cluster.
23. The method according to claim 17, further comprising the step that when the numbered n endpoint of the first pair is inactive and the remaining endpoints are active, the method is routed by the SCP controller (112) to the numbered n+2 endpoint of the second PLMN cluster and to the remaining 50% of the multiple requests to the numbered 2n endpoint of the first PLMN cluster.
24. The method according to claim 17, wherein when the numbered endpoint 2n of the second pair is inactive and the remaining endpoints are active, the SCP controller is configured to route 50% of the plurality of requests to the numbered endpoint n of the first PLMN cluster and the remaining 50% of the plurality of requests to the numbered endpoint 2n+2 of the second PLMN cluster.
25. The method according to claim 17, further comprising the step of routing the plurality of requests equally to the endpoint number n of the first PLMN cluster and the endpoint number 2n+2 of the first PLMN cluster when either or both of the endpoints number n+2 of the second PLMN cluster are inactive and the remaining endpoints are active, by the SCP controller (102).
26. The method according to claim 17, wherein when either or both of the endpoint number n and the endpoint number 2n of the first PLMN cluster are inactive and the remaining endpoints are active, the SCP controller is configured to route the plurality of requests equally to the endpoint number n+2 of the first PLMN cluster and the endpoint number 2n+2 of the second PLMN cluster.
27. The method according to claim 17, further comprising the step of routing 100% of the plurality of requests to the endpoint number 2n of the first PLMN cluster by the SCP controller (112) when both the endpoint number n and the endpoint number n+2 of the first pair are inactive.
28. The method according to claim 17, further comprising the step of routing 100% of the plurality of requests to the number n endpoint of the first PLMN cluster by the SCP controller (112) when both the number 2n endpoint and the number 2n+2 endpoint of the second pair are inactive.
29. The method according to claim 17, further comprising the step of routing the plurality of requests, which are routed only to the active endpoint, by the SCP controller (112) when only one endpoint is active and the remaining endpoints are inactive.
30. The method according to claim 17, wherein the number of endpoints in the first PLMN cluster is equal to the number of endpoints in the second PLMN cluster.
31. The method according to claim 17, wherein the second PLMN cluster is a disaster recovery (DR) cluster for the first PLMN cluster, the first PLMN cluster is an active cluster, and the routing of the plurality of requests is such that if the corresponding active endpoint in the first PLMN cluster is unavailable, it is sent directly to an endpoint in the DR cluster.
32. The method according to claim 31, wherein, in the case of O-based indexing, endpoints in even-numbered indexes belong to the first PLMN cluster and odd-numbered indexes belong to the DR cluster.
33. User equipment (UE) (108) communicatively coupled to an SCP controller (112), wherein the SCP controller coupling is The steps include receiving a connection request from the UE(108), The steps include sending an acknowledgment of the connection request to the SCP controller, The steps include transmitting a plurality of signals in response to the aforementioned connection request. The SCP controller is configured to communicate with at least two public land mobile network (PLMN) clusters of the system described in claim 1. User equipment (UE) (108).
34. A non-temporary computer-readable medium having processor-executable instructions, wherein the instructions are, Receiving a plurality of requests that will be transmitted from one or more source node devices communicating with the processor to a first public land mobile network (PLMN) and a second PLMN cluster, The processor communicates with a plurality of endpoints, and the plurality of endpoints are grouped in either the first PLMN cluster or the second PLMN cluster such that the endpoint number n of the first PLMN cluster forms a pair with the corresponding endpoint number n+2 of the second PLMN cluster, where n is any natural number. Receiving and Determine the status of multiple pairs of endpoints numbered n and n+2 associated with the first PLMN cluster and the second PLMN cluster, respectively. When the status of each paired endpoint number n and endpoint number n+2 is determined to be active, the multiple requests are to be routed equally through the first PLMN cluster for transmission to each paired endpoint number n and endpoint number n+2 associated with the first PLMN cluster and the second PLMN cluster. Have them do it, The multiple requests are routed equally to the paired endpoint number n and the endpoint number n+2, respectively, associated with the first PLMN cluster and the second PLMN cluster, based on a round-robin technique. Non-temporary computer-readable media.