System and method for active standby policy-based routing in a network
Patent Information
- Application Number
- KR1020237011494
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-03-31
- Filing Date
- 2023-03-24
- Publication Date
- 2026-09-16
- Estimated Expiration
- 2043-03-24
Smart Images

Figure 112023057942073-PCT00040_ABST
Abstract
Description
Technology Field
[0001] The embodiments of the present disclosure generally relate to the field of routing, and more specifically, to next-generation network techniques that enable routing based on active standby policies in next-generation networks, particularly 5G networks. Background Technology
[0002] The following description of the related technology is intended to provide background information regarding the field of the present disclosure. This section may include certain aspects of the technology that may be related to the various features of the present disclosure. However, it should be recognized that this section is intended only to enhance the reader's understanding of the present disclosure and is not intended to acknowledge prior art.
[0003] The availability of fast and uninterrupted communication infrastructure is essential in today's high-tech world. Many communication devices, such as smartphones, laptops, and tablets, exist to meet the requirements for fast and uninterrupted communication. These communication devices can be connected via various wired and wireless network technologies.
[0004] However, as the usage and number of communication devices increase exponentially day by day, this can lead to increased complexity in existing networks. Consequently, existing services may be associated with poor service quality, security, and efficiency in current communication networks. In such scenarios, routers can serve as primary control points that mitigate the increased complexity of networks, providing reliable service quality and security. This also facilitates the monitoring and improvement of efficiency, as well as other attributes that allow networks to add value. Therefore, controlling routers allows for significant control over corresponding networks.
[0005] Generally, routing can be defined as a mechanism for selecting a specific path within a network or among multiple networks to rapidly transmit data between a first communication device and a second communication device that may be located apart from each other. Routing processes can be performed in various networks, including computer networks such as the Internet, as well as circuit-switched networks such as the Public Switched Telephone Network (PSTN). In routing processes, routing tables are frequently used to direct the forwarding of data packets. These routing tables can track paths to different network destinations and may be generated using routing protocols, learned from network traffic, or provided by an administrator. Generally, 5G service-based architectures can be designed in such a way that all network functions (NFs) can be closely interconnected, and NFs may have the ability to discover peer nodes and transmit network information between nodes. This approach can create a "spaghetti" of interconnections among multiple user devices, such as laptops, smartphones, and tablets connected through the network, which can disrupt data flow between user devices and cause traffic or congestion. Additionally, this can also prevent the system from fully utilizing available resources, for example, because some endpoints or nodes may be available for routing but remain unused due to a lack of information.
[0006] Existing systems and methods are configured within a network comprising multiple nodes, each having distinct deployment scenarios, architectures, and functions. The routing algorithms of these existing systems and methods cannot manage the distinct deployment scenarios, architectures, and functions of each node. Consequently, the establishment of communication channels between nodes may be implemented, which in turn can adversely impact data flow within the network. Furthermore, current systems, methods, or routing techniques cannot process requests related to data transmission corresponding to down or unavailable nodes. In this case, availability cannot be determined until routing is performed.
[0007] Therefore, there is a need to provide a routing solution that can overcome the aforementioned limitations, offer effective routing management to evaluate endpoint availability before routing is performed, and be independent of the implementation architecture.
[0008] The purpose of the present disclosure is to provide a 5G service-based architecture that optimizes signaling controls.
[0009] The purpose of the present disclosure is to enable service providers to obtain better visibility into the core network.
[0010] The purpose of the present disclosure is to provide a Service Communication Proxy (SCP) that enables message forwarding and routing to a destination network function (NF) / NF service.
[0011] The purpose of the present disclosure is to provide an SCF that enables communication security, load balancing, monitoring, and overload control.
[0012] The purpose of the present disclosure is to organize endpoint details into pairs.
[0013] The purpose of the present disclosure is to route all received requests among pairs of endpoints using a round robin technique.
[0014] The purpose of the present disclosure is to provide multiples of two endpoints in the correct sequence required for an NF profile used for registration.
[0015] The purpose of the present disclosure is to enable effective management of incoming requests.
[0016] The purpose of the present disclosure is to save unnecessary rerouting and also facilitate effective routing steps.
[0017] This section is provided to introduce, in a simplified form, certain objects and aspects of the invention that are further described below in the detailed description. This summary is not intended to identify the core features or scope of the claimed subject matter.
[0018] In an embodiment, the present disclosure provides a system for performing ingress / egress active-standby-spare routing in a network. The system may include a Service Communication Proxy (SCP) controller communicating with a plurality of endpoints, and the plurality of endpoints may be grouped into a first PLMN cluster or a second PLMN cluster such that n endpoints of a first PLMN cluster form pairs with n+2 endpoints of a 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 one or more processors, and the SCP controller receives a plurality of requests to be transmitted to the first and second PLMN clusters from one or more source node devices communicating with the SCP controller, and determines the state of a plurality of paired n endpoints and n+2 endpoints associated with the first and second PLMN clusters, respectively; When the status of each paired n endpoint and n+2 endpoint is determined to be active, multiple requests are configured to be routed equally through the first PLMN cluster to be transmitted to each paired n endpoint and n+2 endpoint associated with the first PLMN cluster and the second PLMN cluster. The multiple requests may be routed equally to each paired n endpoint and n+2 endpoint associated with the first PLMN cluster and the second PLMN cluster, respectively, based on a round-robin technique.
[0019] In the embodiments, routing may be used in any one or a combination of outflow and inflow proxies.
[0020] In an embodiment, the SCP controller may be configured to route multiple requests at a time to a single endpoint of a single pair.
[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 belonging to a first PLMN cluster and a second PLMN cluster. The first PLMN cluster may include active endpoints to which multiple requests are routed when active endpoints are available, and the second PLMN cluster may include alternative endpoints for routing multiple requests when the corresponding active endpoints are not available or are not functioning.
[0022] In the embodiment, routing based on the identification of paired endpoints can be performed based on a predefined policy of the SCP controller.
[0023] In an embodiment, when all multiple endpoints are active, the SCP controller may be configured to route 50% of the multiple requests to a first pair comprising n endpoints of the first PLMN cluster and n+2 endpoints of the second PLMN cluster, while the remaining 50% of the multiple requests are routed to a second pair comprising 2n endpoints of the first PLMN cluster and 2n+2 endpoints of 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 is configured to route 50% of the multiple requests to n+2 endpoints of the second PLMN cluster, while the remaining 50% of the multiple requests are routed to 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 multiple requests to n endpoints of the first PLMN cluster, while the other 50% of the multiple requests are routed to 2n+2 endpoints of the second PLMN cluster.
[0026] In an embodiment, when one or both of the n+2 endpoints 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 multiple requests equally to the n endpoints of the first PLMN cluster and the 2n endpoints of the first PLMN cluster.
[0027] In an embodiment, if one or both of the n endpoints and 2n endpoints of the first PLMN cluster are inactive and the remaining endpoints are active, the SCP controller may be configured to route multiple 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 n endpoints and n+2 endpoints of the first pair are inactive, the SCP controller may be configured to route 100% of multiple requests to 2n endpoints of the first PLMN cluster.
[0029] In an embodiment, when both the 2n endpoints and the 2n+2 endpoints of the second pair are inactive, the SCP controller may be configured to route 100% of the multiple requests to the n endpoints of the first PLMN cluster.
[0030] In an embodiment, when only one endpoint is active and the remaining endpoints are inactive, the SCP controller may be configured to route multiple requests routed to the only active endpoint.
[0031] In an embodiment, the number of endpoints of the first PLMN cluster may be the same as the number of endpoints of 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 the embodiment, with O-based indexing, endpoints of even indices belong to the first PLMN cluster and endpoints of odd indices belong to the DR cluster.
[0034] In an embodiment, the present disclosure provides a method for performing inflow / outflow active-standby-waiting routing in a network. The method may include the step of receiving a plurality of requests to be transmitted to first and second PLMN clusters from one or more source node devices communicating with the SCP controller by a Service Communication Proxy (SCP) controller. The SCP controller may communicate with a plurality of endpoints that may be grouped into a first PLMN cluster or a second PLMN cluster, such that n endpoints of the first PLMN cluster form pairs with n+2 endpoints of the second PLMN cluster, where n is any natural number. The SCP controller may further include one or more processors coupled to a memory that stores instructions executable by one or more processors. The method comprises the step of determining the state of a plurality of paired n endpoints and n+2 endpoints associated with each of the first and second PLMN clusters by the SCP controller; When the state of each paired n endpoint and n+2 endpoint is determined to be active by the SCP controller, the method may further include the step of routing multiple requests equally through the first PLMN cluster to transmit to each paired n endpoint and n+2 endpoint associated with each of the first PLMN cluster and the second PLMN cluster. The multiple requests may be routed equally to each paired n endpoint and n+2 endpoint associated with each of the first PLMN cluster and the second PLMN cluster based on a round-robin technique.
[0035] In an embodiment, the present disclosure provides a user device (UE) coupled to communicate with a Service Communication Proxy (SCP) controller, wherein the SCP controller coupling includes the steps of receiving a connection request from the UE, transmitting an acknowledgment of the connection request to the SCP controller, and transmitting a plurality of signals in response to the connection request, and the SCP controller can communicate with at least two Public Land Mobile Network (PLMN) clusters.
[0036] In an embodiment, the present disclosure relates to a non-transient computer-readable medium comprising processor-executable instructions that allow 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 communicating with the processor. The processor may communicate with a plurality of endpoints. The plurality of endpoints may be grouped in 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 any natural number. The processor may determine the state of a plurality of paired n endpoints and n+2 endpoints associated with each of the first and second PLMN clusters. Additionally, when the state of each of the paired n endpoints and n+2 endpoints is determined to be active, the processor may route the plurality of requests through the first PLMN cluster to be transmitted to each of the paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster. Multiple requests can be routed equally to n paired endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster, respectively, based on a round-robin technique. Brief explanation of the drawing
[0037] The accompanying drawings, which are incorporated herein and constitute part of the invention, illustrate exemplary embodiments of the disclosed methods and systems, wherein the same reference numerals refer to the same parts throughout the different drawings. The components of the drawings are not necessarily in scale, but are instead given emphasis to clearly illustrate the principles of the invention. Some drawings may use block diagrams to represent components and may not represent the internal circuits of each component. It will be recognized by a person skilled in the art that the invention of these drawings includes the invention of electrical components, electronic components, or circuits commonly used to implement such components.
[0038] FIGS. 1a-1b illustrate a network architecture in which a system proposed according to an embodiment of the present disclosure can be implemented.
[0039] FIG. 1c illustrates an exemplary flowchart illustrating an embodiment of the present disclosure.
[0040] FIG. 2, referring to FIG. 1b, illustrates an exemplary representation of an SCP implementation according to an embodiment of the present disclosure.
[0041] FIG. 3a illustrates an exemplary representation of a flowchart illustrating indirect communication through a system proposed as a delegated search according to an embodiment of the present disclosure.
[0042] FIG. 3b illustrates an exemplary representation of a flowchart illustrating indirect communication through a proposed system without delegated search according to an embodiment of the present disclosure.
[0043] FIGS. 4a-4b illustrate exemplary representations of the system architecture of a service communication proxy (SCP) according to an embodiment of the present disclosure.
[0044] FIG. 5 illustrates an exemplary overview of SCPs deployed in independent deployment units and SCPs based on 5G functions according to an embodiment of the present disclosure.
[0045] FIG. 6 illustrates an exemplary representation illustrating the deployment architecture of an active standby technique according to one embodiment of the present disclosure.
[0046] FIGS. 7a-7c illustrate exemplary representations illustrating the function of implementing an active standby policy based on different states of endpoints in an active cluster (702) and a DR cluster (704) according to an embodiment of the present disclosure.
[0047] FIGS. 8a-8b illustrate exemplary representations illustrating table data or information regarding active standby routing according to an embodiment of the present disclosure.
[0048] FIG. 9 illustrates an exemplary representation illustrating an integrated implementation including various routing policies according to an embodiment of the present disclosure.
[0049] FIG. 10 illustrates an exemplary representation of a flowchart for facilitating the routing of communication requests using SCP based on an active-standby policy according to an embodiment of the present disclosure.
[0050] FIG. 11 illustrates an exemplary computer system in which embodiments of the present disclosure according to an embodiment of the present disclosure can be utilized.
[0051] The foregoing will become more apparent from the following more detailed description of the present disclosure. Specific details for implementing the invention
[0052] In the following description, for the purposes of explanation, various details are presented to provide a complete 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. The various features described below may each be used independently of one another or in any combination with other features. Individual features may not solve all the problems discussed above or may solve only some of the problems discussed above. Some of the problems discussed above may not be completely solved by any of the features described herein.
[0053] The following description is provided only as exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the following description of exemplary embodiments will provide those skilled in the art with a possible description for implementing the exemplary embodiments. It should be understood that various modifications may be made to the function and arrangement of elements without departing from the spirit and scope of the present disclosure as described.
[0054] Specific details are provided in the following description to provide a complete understanding of the embodiments. However, it will be understood by those skilled in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be illustrated in the form of block diagrams to avoid obscuring the embodiments with unnecessary details. In other cases, well-known circuits, processes, algorithms, structures, and techniques may be illustrated without unnecessary details to avoid obscuring the embodiments.
[0055] Additionally, it is noted that individual embodiments may be described as processes depicted as flowcharts, flow diagrams, data flow diagrams, structure diagrams, or block diagrams. While flowcharts may describe operations as a sequential process, many operations may be performed in parallel or simultaneously. Furthermore, the order of operations may be rearranged. A process may have additional steps not included in the drawings, which terminate when operations are completed. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. If a process corresponds to a function, termination may correspond to the return of the function to the called function or the main function.
[0056] The words “exemplary” and / or “exemplary” are used herein to mean serving as examples, cases, or exemplars. To avoid any doubt, the subject matter of the claims disclosed herein is not limited by these examples. Furthermore, any mode or design described herein as “exemplary” and / or “exemplary” is not to be interpreted as being more desirable or advantageous than other modes or designs, nor does it imply the exclusion of equivalent exemplary structures and techniques known to those skilled in the art. Furthermore, to the extent that “includes,” “has,” “contains,” and other similar words are used in the detailed description or claims, these words are intended inclusively—in a manner similar to the word “comprising” as an open conjunction—without excluding any additions or other elements.
[0057] Throughout this specification, references to "one embodiment," "an example," "an example," or "one example" mean that a specific feature, structure, or characteristic described in relation to this embodiment is included in at least one embodiment of the present invention. Accordingly, the appearance of phrases such as "in one embodiment" or "in an example" at various locations throughout this specification does not necessarily refer to the same embodiment. Additionally, specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0058] The terms used herein are merely for describing specific 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 unless the context clearly indicates otherwise. It will be further understood that the terms “include” and / or “include,” as used herein, specify the presence of the mentioned features, integers, steps, actions, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, actions, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0059] The present disclosure provides a system and method capable of overcoming the limitations mentioned above and facilitating effective and improved management of traffic routing for incoming requests. In exemplary embodiments, the system may include a Service Communication Proxy (SCP) implementation that facilitates evaluating, identifying, and / or configuring 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 consolidation policies. In exemplary embodiments, prior to routing, the system and method may enable the identification / configuration of pairs of endpoints in clusters belonging, for example, to an active cluster and a disaster recovery (DR) cluster. An active cluster may include active endpoints to which requests can preferably be routed when endpoints are available. A DR cluster may include DR endpoints, and DR endpoints may be considered as alternative endpoints for routing requests when the corresponding active endpoint is unavailable or non-functional.
[0060] Identification / configuration of endpoint pairs enables understanding of active endpoints and corresponding DR endpoints available for routing before routing is performed, which can enable effective routing management of incoming requests. In an exemplary embodiment, according to an active-standby policy, each endpoint of an active cluster may be paired with a corresponding endpoint of a DR cluster to form a pair of endpoints. In an exemplary embodiment, the SCP may include an SCP controller that enables identification / configuration / mapping of endpoints in the disaster recovery (DR) cluster for 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 of the pair may be functional. For example, the SCP may evaluate when an endpoint of the active cluster, e.g., a first endpoint, is unavailable and may identify or configure a corresponding endpoint in the DR cluster before routing the request. In another example, SCP can evaluate when an endpoint, e.g., the first endpoint of an active cluster, is not available and also evaluate when a corresponding DR endpoint (second endpoint) belonging to the first endpoint is not available, so that requests may not be routed to the first or second endpoint of the pair at all.
[0061] In an exemplary embodiment, an active standby routing policy may be used at the inflow or outflow node of the SCP. In the embodiment, the active standby routing policy endpoint details may be configured in pairs such that only one endpoint of the pair can receive requests at any given time. In the example, the total incoming requests may be round-robin among the pairs of endpoints.
[0062] Additionally, the system and method may not be constrained by the architecture, structure, function of each node, and implementation of network functions. Additionally, the system and method may facilitate the implementation of SCPs capable of enabling load balancing, routing, traffic monitoring, congestion control, service discovery, and other such functions in an effective manner. Various other associated embodiments or advantages may be possible.
[0063] FIGS. 1a-1b illustrate a network architecture in which a system proposed according to an embodiment of the present disclosure can be implemented. Generally, a next-generation architecture, e.g., a 5G service-based network architecture, can be designed so that a number of nodes can be tightly interconnected, and corresponding network functions are also possible. In an embodiment, some 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 a 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 support management tasks such as Non-Access Stratum (NAS) signaling termination, NAS encryption and integrity protection, registration management, connection management, mobility management, access authentication and authorization, and security context management (but not limited thereto). Session Management Function (SMF): SMF can perform functions related to session management, such as session establishment, modification, and release. Additionally, SMF can handle UE (User Equipment) IP address allocation and management, DHCP functions, NAS signaling termination related to session management, DL data notification, and traffic steering configuration for User Plane Functions (UPF) for appropriate traffic routing. User Plane Function (UPF): The UPF can connect actual data entering through the corresponding RAN (Radio Area Network) to the Internet. In an exemplary embodiment, the UPF can perform packet routing and forwarding, packet inspection, and Quality of Service (QoS) handling. Additionally, the UPF can serve as an external PDU session point for interconnection to the Data Network (DN), and can also serve as an anchor point for mobility within a RAT as well as mobility between RATs. Policy Control Function (PCF): PCF can provide an integrated policy framework, policy rules for CP functions, and access subscription information for UDR policy decisions. Authentication Server Function (AUSF): AUSF can act as an authentication server and function to check the authenticity of flowing information. UDM (Unified Data Management): UDM can generate authentication and key consensus (AKA) credentials, perform user identification handling, access authorization, and manage subscriptions. Application Function (AF): AF can check the application impact on traffic routing, access NEF, and interact with the policy framework for policy control. Network Exposure Function (NEF): NEF can perform functions such as exposing capabilities and events, securely providing information from external applications to 3GPP networks, and translating internal / external information. NF Repository Function (NRF): NRF can perform service discovery functions, maintain NF profiles, and check available NF instances. Network Slice Selection Function (NSSF):NSSF can help select network slice instances to serve UEs, determine allowed NSSAIs, and determine the set of AMFs to use for serving UEs.
[0064] In an embodiment, the proposed system (100) can not only solve problems introduced by the 5G service-based architecture but also optimize signal controls. The system (100) can enable a service provider to obtain better visibility into a core network, where the core network can be defined as the backbone of the network architecture. For example, in the present disclosure, the core network may belong to the 5G service-based architecture and may be configured to interconnect separate networks associated with the architecture. Therefore, the core network may provide a path for information exchange between one or more of the networks and corresponding subnetworks. Additionally, as a backbone, the core network may bundle together various networks such as LANs, WANs, MANs, etc., which may be remotely located across the same building, different buildings, campus environments, or wide areas. The system may also improve network performance by continuously coordinating with other network functions. According to an embodiment, the 5G system architecture may utilize service-based interactions between NF service consumers and NF service producers directly or indirectly through a Service Communication Proxy (SCP).
[0065] As illustrated in FIG. 1a, the proposed system (100) may include an implementation of a network device (112) comprising an SCP (112 as illustrated in FIG. 1b) that can be combined with a plurality of nodes including node 106-1, node 106-2...node 106-N (collectively referred to as nodes (106) and individually referred to as node (106)). The network device (102) may be referred to herein as a controller (102) and, more specifically, an SCP controller or simply a controller (112).
[0066] In the example, the SCP controller (112) may be configured to facilitate the routing of requests among multiple nodes. In the embodiment, each node (106) may be configured to be coupled with 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 referred to as user devices or user equipment or UE (108)). In the embodiment, the system (100) may enable the routing of requests for secure communication between user devices associated with separate or identical nodes.
[0067] In an embodiment, the user device (108) may include a user device (UE) that is communicably coupled to a controller (112). The coupling may include the steps of receiving a connection request from the controller (112), transmitting an acknowledgment of the connection request to the controller, and additionally transmitting a plurality of signals in response to the connection request.
[0068] In an exemplary embodiment, the SCP controller (112) may be implemented as an application server and may be capable of communicating, or may be coupled to communicate with nodes (106) or user devices (108) through a network (110) coupled with 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 and other devices such as a feature phone or a smartphone. The user device (108) may include any type of device that enables wireless communication, such as a cellular phone, a tablet computer, a PDA (Personal Digital Assistant), a PC (Personal Computer), a laptop computer, a media center, a workstation, and other such devices, but is not limited to the devices mentioned above.
[0069] In one embodiment, the network (110) may include or belong to a core network (e.g., the 5G core network (114) of FIG. 1b) comprising a plurality of nodes (or endpoints or proxies). In an exemplary embodiment as illustrated in FIG. 1b, the core network (114) may be associated with various elements / components / functions, such as a Service Communication Proxy (SCP) (112), network functions (NF), and proxies corresponding to the NFs. In an exemplary embodiment, the system (100) may facilitate service to a user device (108) by effectively routing communication requests (also referred to as requests). For example, the SCP (112) may belong to the core network (114) and may manage / enable various other aspects associated with routing and received requests. For example, regarding requests originating from a user, e.g., a consumer node (source node), SCP (112) may route requests to the core network (114) through an inflow node or inflow proxy of SCP (112), and the inflow node may be the entry point for communication requests in SCP (112). Additionally, SCP (112) may route requests to their respective destination nodes through an outflow node or outflow proxy of SCP (112). Thus, the outflow node may be the exit point for communication requests in SCP (112). In an embodiment, other aspects managed by SCP (112) may include configuring endpoints of an active cluster and a disaster recovery (DR) cluster, identifying at least one endpoint for routing requests, identifying at least an active endpoint and / or a corresponding endpoint of the DR cluster (standby alternative or disaster recovery (DR) endpoint), evaluating predefined criteria and other such tasks that can effectively manage the routing of incoming requests before routing requests (but are not limited thereto).
[0070] 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. Additionally, the network may be a private network or a shared network. A shared network may represent a federation of different types of networks capable of using various protocols, such as HTTP (Hypertext Transfer Protocol), TCP / IP (Transmission Control Protocol / Internet Protocol), WAP (Wireless Application Protocol), Automatic Repetition Request (ARQ), etc. In an embodiment, the network is, for example, a Global System for Mobile (GSM) communication network; It may belong to a 5G network that can be enabled through UTRAN (Universal Terrestrial Radio Network), EDGE (Enhanced Data rates for GSM Evolution) wireless access network (GERAN), E-UTRAN (Evolved Universal Terrestrial Radio Access Network), WIFI or other LAN access networks, or terrestrial wide-area access networks such as satellite or wireless microwave access (WIMAX) networks. Various other types of communication networks or services may be possible.
[0071] In the example, the network (110) may utilize other types of wireless interfaces, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), or Frequency Division Multiple Access (FDMA) wireless interfaces and other implementations. In an exemplary embodiment, a wired user device may use wired access networks only 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 transmit Internet Protocol (IP) packets.
[0072] In an embodiment, as illustrated in FIG. 1b, the proposed system (100) can facilitate the interaction of SCP (112) with various distinct network components and corresponding network functions that allow SCP (112) to be coupled to other equipment for communication via a core network (114). In one embodiment, the core network (114) can facilitate the communication coupling of SCP (112) and 5G-EIR (116), wherein 5G-EIR can be defined as an independent network component that can help telecommunications operators protect their networks. 5G-EIR (116) can help protect the network by providing a mechanism to restrict malicious user terminals in the network.
[0073] In another embodiment, the core network (114) may facilitate communication coupling between the SCP (112) and a network component that supports a network slice selection function (NSSF) (118). The NSSF (118) may, for example, select network slice instances to serve a user device (108), determine an allowed NSSAI, and determine a set of AMFs to be used to serve the user device (108). In another embodiment, the SCP (112) may be coupled with a network component that supports an Authentication Server Function (AUSF) (120), where the AUSF may act as an authentication server and function to check the authenticity of information flowing through it.
[0074] In another embodiment, SCP (112) may be combined with network components that support Unified Data Management (UDM) (122) and Unified Data Repository (UDR) (124), where UDM (122) can facilitate a centralized method for controlling network user data. For example, UDM (122) can generate authentication and key consensus (AKA) credentials, perform user identification handling, access authorization, and perform subscription management. Additionally, UDR (124) can serve as a unified repository for information related to subscribers and can facilitate services for multiple network functions. For example, 5G Unified Data Management (UDM) can use UDR to store and retrieve data related to subscriptions. Alternatively, Policy Control Function (PCF) can use UDR to store and retrieve policy-related data. Additionally, Network Exposure Function (NEF) can also use UDR to store subscriber-related data allowed to be exposed to third-party applications.
[0075] In one embodiment, SCP (112) may be combined with a network component that supports a network exposure function (126) (NEF 126), wherein the NEF may perform functions such as exposure of capabilities and events, secure provision of information from external applications to a 3GPP network, and internal / external information translation.
[0076] In another embodiment, SCP (112) may be combined with a network component that supports 5G network data analysis functions (128) (NWDAF 128). NWDAF (128) may be configured to simplify and control how the core network is created, provide insights to be taken to improve the end-user experience, and suggest actions. In an exemplary embodiment, NWDAF (128) may be configured to overcome market fragmentation and proprietary solutions in the network analysis domain. Additionally, NWDAF (128) may address at least one of the basic standardization points, including (but not limited to) the following. Data collection interfaces on network nodes Predefined analytical insights Data exposure interface for consumers
[0077] In an embodiment, SCP (112) may be combined with network components that support session management functions (130) (SMF), access and mobility management functions (132) (AMF), policy control functions (134) (PCF) and application functions (136) (AF), and SMF (130) may perform functions related to session management, such as session establishment, modification, and release. Additionally, SMF (130) may handle UE (User Equipment) IP address allocation and management, DHCP functions, termination of NAS signaling related to session management, DL data notification, traffic steering configuration for user plane functions (UPF) for appropriate traffic routing, etc.
[0078] 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 handling connection and mobility management tasks. Additionally, the PCF (134) may provide access subscription information for policy decisions of the UDR, policy rules for the integrated policy framework and CP functions. The AF (136) may check 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 combined with network components that support a short message service function (138) (SMSF 138), an NF storage 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 transmission of SMS via the NAS in a 5G architecture. In addition, the SMSF (138) can perform relay functions between the user device (108) and the SMSC (Short Message Service Centre) through interaction with the AMF (Core Access and Mobility Management Function) as well as perform subscription checks. In addition, the NRF (140) can be configured to perform service discovery functions, maintain NF profiles, and check for available NF instances. Additionally, the BroadForward Security Edge Protection Proxy (142) (BroadForward SEPP 142) can facilitate secure communication between one or more 5G networks. The SEPP (140) can also provide end-to-end confidentiality and / or integrity between the source network and the destination network for all 5G interconnect roaming messages.
[0079] Furthermore, the UPF (144) can function to connect actual data entering through the corresponding RAN (Radio Area Network) to the Internet. In an exemplary embodiment, the UPF (144) can perform packet routing and forwarding, packet inspection, and Quality of Service (QoS) handling. Additionally, the UPF (144) can serve as an external PDU session point for interconnection to the Data Network (DN) and can also serve as an anchor point for mobility within the RAT as well as mobility between RATs. It should be noted that the function of the SCP (112) may be independent of the distance between network functions. Furthermore, the SCP (112) can facilitate peer-to-peer communication between peer instances / nodes. Additionally, the primary function of the SCP (112) may include end-to-end connections between different nodes having distinct deployment scenarios, architectures, and functions while efficiently managing these architectures (but is not limited thereto). The routing capability of the proposed system (100) or SCP (112) may not be constrained by the architecture, structure, function, and implementation of network functions of each node.
[0080] In an embodiment, the SCP controller (112) may communicate 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 that stores instructions executable by one or more processors. The controller (112) may be configured to receive multiple requests to be transmitted to the first and second PLMN clusters from one or more source node devices (106) communicating with the SCP controller (112), and then to determine multiple paired n endpoints and n+2 endpoint states associated with the first and second PLMN clusters, respectively. For example, if n=1, the pairing will consist of endpoint 1 of the first PLMN cluster and endpoint 3 of the second PLMN cluster. If n=2, the pairing will consist of endpoint 2 of the first PLMN cluster and endpoint 4 of the second PLMN cluster. If n=3, the pairing will consist of endpoint 3 of the first PLMN cluster and endpoint 5 of the second PLMN cluster.
[0081] In an embodiment, the SCP controller (112) may be configured to route multiple requests equally through the first PLMN cluster to transmit 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 each of the paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster based on a round-robin technique. Additionally, routing may be used in any one or a combination of outflow and inflow proxies.
[0082] In an embodiment, the SCP controller may be configured to route multiple requests at a time to a single endpoint of a single pair.
[0083] In an embodiment, when all multiple endpoints are active, the controller may be configured to route 50% of the multiple requests to a first pair comprising n endpoints of the first PLMN cluster and n+2 endpoints of the second PLMN cluster, while the remaining 50% of the multiple requests are routed to a second pair comprising 2n endpoints of the first PLMN cluster and 2n+2 endpoints of the second PLMN cluster. In an embodiment, 50% of the multiple requests may be routed to a first pair comprising endpoint 1 of the first PLMN cluster and endpoint 3 of the second PLMN cluster, while the other 50% of the multiple requests are routed to a second pair comprising endpoint 2 of the first PLMN cluster and endpoint 4 of the second PLMN cluster.
[0084] In an embodiment, when n endpoints of the first pair are inactive and the remaining endpoints are active, the controller is configured to route 50% of the multiple requests to n+2 endpoints of the second PLMN cluster, while the remaining 50% of the multiple requests are routed to 2n endpoints of the first PLMN cluster. For example, when endpoint 1 of the first pair is inactive and the remaining endpoints are active, the controller may route 50% of the requests to endpoint 3 of the second PLMN cluster, while the other 50% of the multiple requests are routed to endpoint 2 of the first PLMN cluster.
[0085] In an embodiment, when 2n endpoints of the second pair are inactive and the remaining endpoints are active, the controller may be configured to route 50% of the multiple requests to n endpoints of the first PLMN cluster, while the other 50% of the multiple requests are routed to 2n+2 endpoints of the second PLMN cluster. For example, when endpoint 2 of the second pair is inactive and the remaining endpoints are active, the controller may be configured to route 50% of the multiple requests to endpoint 1 of the first PLMN cluster, while the other 50% of the multiple requests are routed to endpoint 4 of the second PLMN cluster.
[0086] In an embodiment, when one or both of the n+2 endpoints and 2n+2 endpoints of the second PLMN cluster are inactive and the remaining endpoints are active, the controller may be configured to route multiple requests equally to n endpoints of the first PLMN cluster and 2n endpoints of the first PLMN cluster. For example, when one or both of endpoints 3 and 4 of the second PLMN cluster are inactive and the remaining endpoints are active, the controller may be configured to route multiple requests equally to endpoint 1 of the first PLMN cluster and endpoint 2 of the first PLMN cluster.
[0087] In an embodiment, if one or both of the n endpoints and 2n endpoints of the first PLMN cluster are inactive and the remaining endpoints are active, the controller is configured to route multiple requests equally to the n+2 endpoints of the first PLMN cluster and the 2n+2 endpoints of the second PLMN cluster. For example, if one 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 multiple requests equally to endpoint 3 of the first PLMN cluster and endpoint 4 of the second PLMN cluster.
[0088] In an embodiment, when both n endpoints and n+2 endpoints of the first pair are inactive, the controller may be configured to route 100% of the plurality of requests to 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 plurality of requests to endpoint 2 of the first PLMN cluster.
[0089] In an embodiment, when both 2n endpoints and 2n+2 endpoints of the second pair are inactive, the controller is configured to route 100% of the plurality of requests to 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 plurality of requests to endpoint 1 of the first PLMN cluster.
[0090] In an embodiment, when only one endpoint is active and the remaining endpoints are inactive, the controller may be configured to route multiple requests routed to the only active endpoint. Additionally, the number of endpoints in the first PLMN cluster must be equal to the number of endpoints in the second PLMN cluster.
[0091] In an embodiment, the second PLMN cluster may be a disaster recovery (DR) cluster for a first PLMN cluster that may be an active cluster, and the routing of multiple requests may be transmitted directly to the endpoint of the DR cluster when the corresponding active endpoint of the first PLMN cluster is not available.
[0092] In the embodiment, with O-based indexing, endpoints of even indices must belong to the first PLMN cluster and endpoints of odd indices must belong to the DR cluster.
[0093] FIG. 1c illustrates an exemplary flowchart illustrating an embodiment of the present disclosure. The method (190) may include, in 192, receiving a plurality of requests to be transmitted to first and second PLMN clusters from one or more source node devices communicating with the SCP controller (112), by the SCP controller (112). The SCP controller (112) communicates with a plurality of endpoints that may be grouped into a first PLMN cluster or a second PLMN cluster, such that n endpoints of the first PLMN cluster form pairs with n+2 endpoints of the second PLMN cluster, where n is any natural number.
[0094] The method (190) may also include the step of determining the state of a plurality of paired n endpoints and n+2 endpoints associated with each of the first and second PLMN clusters by the SCP controller (112) in 194.
[0095] Additionally, the method may include the step of routing multiple requests equally through the first PLMN cluster to transmit to each paired n endpoint and n+2 endpoint associated with each first PLMN cluster and the second PLMN cluster, when the state of each paired n endpoint and n+2 endpoint is determined to be active by the SCP controller (112) in 196. The multiple requests may be routed equally to each paired n endpoint and n+2 endpoint associated with each first PLMN cluster and the second PLMN cluster based on a round-robin technique.
[0096] FIG. 2, with reference to FIG. 1b, illustrates an exemplary representation of an SCP implementation according to an embodiment of the present disclosure. FIG. 2 depicts a current implementation for intelligent load balancing, routing, monitoring, and congestion control at the application layer, which is Layer 7 of the OSI (open systems intercommunication) model, which can completely separate the service layer from the infrastructure layer. SCP can provide better visibility into the core network by optimizing signaling controls as well as solving problems related to 5G service-based architectures. SCP (112) can also improve network performance by continuously coordinating with other network functions.
[0097] In one embodiment, the system (100) can perform interconnected functions in block (202), and in block (204), can facilitate communication between peer nodes and generate a mesh based on discovery / information transmitted by the peer nodes. Additionally, the system (100) can facilitate scale-up and scale-down functions in block (206) to provide increased flexibility. Additionally, the system (100) can enable the utilization of the maximum potential of the service-based architecture in block (208). Furthermore, in block (210), the system (100) can address the need for a module with some central function, thereby facilitating secure communication between SCP (112) (of FIG. 1b) and the node (106). For example, SCP (112) can be configured to control the flow of data / information between nodes by facilitating load balancing, routing, traffic monitoring, congestion control, and service discovery in a Layer 7 service mesh. In an exemplary embodiment, the system (100) can determine Network Function (NF) instances, and in response, SCP (112) can manage function specification service proxy instances. In another exemplary embodiment, NRF (140) can provide facilities for registration, re-registration, and NF discovery.
[0098] In another exemplary embodiment, the system (100) may include NFs that can communicate with the NRF (140) through an SCP controller. For example, a PCF proxy running with 'x' NF services and 'y' instances can communicate with the NRF (140), which can act as a central repository and contain information about all NFs, through the SCP controller of the SCP (112). In another exemplary embodiment, the SCP controller may be trained to configure SCP proxies based on real-time conditions. Therefore, no prior configuration of SCP proxies may be required in the system (100).
[0099] FIG. 3a illustrates an exemplary representation of a flowchart illustrating indirect communication through a proposed system with delegated search according to an embodiment of the present disclosure. FIG. 3b illustrates an exemplary representation of a flowchart illustrating indirect communication through a proposed system without delegated search according to an embodiment of the present disclosure. With reference to FIG. 3a and FIG. 3b, the system (100) implements SCP (112) (of FIG. 1b) to support both scenarios of indirect communication for the search of peer network functions, namely indirect communication with or without delegated search. Indirect communication without delegated search: As illustrated in 302 of FIG. 3a, in this case, a consumer node or consumer NF (320) (a consumer NF associated with the UE sending the request) may directly query the NRF (140) to obtain information regarding NF profiles of a provider node or provider NF (340) (a destination node to which the request needs to be sent). Based on the search results, in 304, the NRF (140) may send NF profiles to the consumer node (320). In an exemplary embodiment, based on the search results, the consumer NF (320) may select an NF instance of a set of NF service instances. In 306, the consumer NF (320) may send a request to the SCP (112) containing the address of the selected service producer pointing to the NF service instance or a set of NF service instances. In an exemplary embodiment, SCP (112) may interact with NRF (140) to obtain selection parameters such as location, capacity, and other such information. In 312, SCP (112) may route a request to a selected NF service provider instance or provider node (340). In 314, the provider NF (340) may generate a service response that may be further transmitted to a consumer NF (320) via SCP (112) in 316. Similarly, subsequent request(s) may be transmitted in 310 and further processed in the same manner. Indirect communication with delegated search: This communication mode can function even when users do not perform any search or selection. As illustrated in FIG. 3b, in this case, a consumer node or consumer NF (320) (a consumer NF associated with the UE sending the request) can directly query the NRF (140) to obtain information regarding the NF profiles of a provider node or provider NF (340) (a destination node to which the request needs to be sent), as illustrated in FIG. 3a. In an exemplary embodiment, and as illustrated in FIG. 3b, at 322, the consumer node (320) can add any required search and selection parameters necessary to find a suitable provider node (340) to the service request. In an exemplary embodiment, the SCP can perform a search to the NRF (140) and obtain the search results. The SCP (112) can use the request address and search selection parameters of the request message to route the request to a suitable producer instance / provider node (340), as illustrated in step (328). The provider NF (340) can, in turn, generate a service response at 330, which can be further transmitted to the consumer NF (320) via SCP (112) at 324. Similarly, subsequent request(s) can be transmitted at 326, which can be further processed in the same manner.
[0100] In an exemplary embodiment, the proposed SCP (112) may also be used for indirect communication between NFs and NF services within any or combination of PLMNs (Public Land Mobile Networks), such as VPLMN (Visiting Public Land Mobile Network) and HPLMN (Home Public Land Mobile Network).
[0101] According to an embodiment, in addition to acting as a proxy or routing agent among various network functions, SCP (112) may also be configured to perform the following functions: Communication security: The SCP platform can be configured to allow only authorized consumer NFs to communicate with provider NFs. Load Balancing: Provider NFs can configure various load balancing techniques such as round-robin and weighted scheduling, and in round-robin load balancing, client requests can be periodically routed to available servers. Round-robin server load balancing can operate best when servers have nearly identical computing power and storage capacity. Security Support: SCP also supports security mechanisms between consumers and network service providers. Traffic Monitoring: SCP can monitor the performance of provider NFs in terms of the number of service requests being processed. Traffic Prioritization: The SCP platform can be configured to assign priorities to specific consumer NF requests for any other consumer NFs. Discovery of NFs: SCP provides interfaces to identify the most appropriate instances of other network functions (e.g., AUSF, PCF) for a specific UE's SUPI, SUCI, or GPSI. Overload Control: SCP has the ability to limit the number of authorizations for specific instances of provider NFs. This means that if the number of consumer applications reaches a threshold limit, new consumer NFs will not be authorized.
[0102] FIGS. 4a and 4b illustrate exemplary representations (400 and 450) of the system architecture of a service communication proxy (SCP) according to an embodiment of the present disclosure. Referring to FIG. 4a, the point-of-delivery (POD) may be indicated by dashed lines, and next to it are the system boundaries 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).
[0103] In an embodiment, the architecture of the Service Communication Proxy (SCP) may include at least one of the following functions — Indirect communication Delegated Search Message forwarding and routing to destination NF / NF services Communication security (e.g., authorization of NF service consumers to access NF service producer APIs), load balancing, monitoring, overload control, etc. Optionally interacts with the 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.
[0104] In an embodiment, the proposed SCP (112) may include an SCP proxy together with an SCP controller (404). In one embodiment, the SCP proxy may be an incoming proxy or an outgoing proxy, where: Incoming Proxy: This proxy instance ensures that incoming traffic to the producer NF is round-robined based on the configured policy default. Outflow Proxy: This proxy instance ensures the flow of the consumer's outgoing traffic to the correct SCP inflow proxy and routing based on NF or SCP selection criteria. It can be recognized that a hybrid deployment is also possible in which a single SCP instance can act as both an inflow proxy and an outflow proxy.
[0105] In an embodiment, the SCP (112) may include multiple SCP proxies as illustrated in FIG. 4a, which may be linked to the SCP controller (404) to communicate with NRF, EMS Plus, SMP, API, and various network functions via an HTTP module. Additionally, the SCP controller (404) may be configured to manage all SCP proxy instances and select an appropriate proxy instance as an outflow or inflow to target NFs during the NF registration and discovery flow, and to do so, the SCP controller (404) needs to be positioned in front of NRF clusters serving for multiple PLMNs or a single PLMN. In an exemplary embodiment, the SCP controller (404) may configure some instances of the PLMN to act as disaster recovery (DR) endpoints for a corresponding active PLMN cluster endpoint set.
[0106] In an embodiment, and as illustrated in FIG. 4b, an exemplary architecture of SCP (112) is illustrated. SCP (112) can facilitate the routing of requests by a combination of hardware and software implementations. FIG. 4b illustrates an exemplary representation of SCP (112) of FIG. 1b according to an embodiment of the present disclosure. SCP (112) may include one or more processors or controllers (e.g., SCP controller (404) as illustrated in FIG. 4a). One or more processor(s) or controller(s) (404) may be coupled with memory (410). Memory (410) may store instructions that, when executed by one or more processor(s) or controller(s) (404), enable SCP (112) to perform the steps described herein.
[0107] In an embodiment, the processor(s) or controller(s) (404) may enable the routing of requests from a consumer node (related to a user device sending a request) to a destination mode (or provider node). For example, the processor(s) or controller(s) (404) of SCP (112) may identify / configure at least one endpoint or node before routing a request. In this example, identification of available endpoints in a cluster of endpoints may be performed, wherein the cluster may relate, for example, to an active cluster and a DR cluster. In an exemplary embodiment, a request may be routed to an identified / configured pair if at least one endpoint of the pair may be functional. The active cluster may include active endpoints to which a request may preferably be routed if the endpoint may be available. The DR cluster may include DR endpoints, and a DR endpoint may be considered an alternative endpoint for routing a request if the corresponding active endpoint may not be available or functional. In an exemplary embodiment, endpoints of active and DR clusters may be paired to form pairs of endpoints according to an active-standby policy. Pair configuration / identification may be performed prior to routing, which can enable effective management of incoming requests. This also allows for pre-planning direct routing to a DR endpoint (in the DR cluster) in case the corresponding active endpoint (in the active cluster) may not be available. In an alternative embodiment, multiple endpoints of the active cluster may be paired with a single DR endpoint.
[0108] In an exemplary embodiment, the identification / configuration of pairs of endpoints may be performed based on a predefined policy of SCP (112). For example, the predefined policy may relate to the active standby implementation described herein. For example, the processor(s) or controller(s) (404) may evaluate when an endpoint of the active cluster, e.g., a first endpoint, is unavailable and may configure a corresponding endpoint in the DR cluster before routing a request. In another example, the processor(s) or controller(s) (404) may evaluate when an endpoint, e.g., a first endpoint of the active cluster, is unavailable and may also evaluate when a corresponding DR endpoint (second endpoint) belonging to the first endpoint is unavailable so that the request is not routed to the first endpoint at all. This saves unnecessary rerouting and also facilitates effective routing steps. In an exemplary embodiment, the identification / configuration of pairs of endpoints may be performed based on a predefined criterion. For example, a predefined criterion may relate to a header routing criterion that allows the processor(s) or controller(s) (404) of, for example, SCP (112) to determine the endpoint to be selected (prior to routing) based on availability. Various other examples are provided in the following sections, but the present disclosure may not be limited by these examples. In an example, the header routing criterion may include at least one of the following (but is not limited thereto): a) 3gpp-sbi-discovery b) 3gpp-sbi-target-apiroot c) 3gpp-sbi-binding / 3gpp-sbi-routing-binding In an exemplary embodiment, where a plurality of predefined criteria or header routing criteria may be considered, the processor(s) or controller(s) (404) may prioritize the predefined criteria to enable appropriate selection / identification / configuration of endpoints before routing the request. Various other embodiments may be possible.
[0109] SCP implementations may be associated with inflow nodes and / or outflow nodes. For inflow node implementations, the NF profile used for registration may include multiples of two endpoints in a valid sequence. In an exemplary embodiment, O-based indexing may be used such that endpoints with even indices belong to the active cluster and endpoints with odd indices belong to the DR cluster.
[0110] The processor(s) or controller(s) (404) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuits, and / or any devices that process data based on operation instructions. Among other capabilities, the processor(s) or controller(s) (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-transient computer-readable storage medium that can be fetched and executed to generate or share data packets over network services. The memory (410) may include any non-transient storage device including volatile memory, such as RAM, or non-volatile memory, such as EPROM, flash memory, etc.
[0111] In an embodiment, SCP (112) may include interface(s) (412). Interface(s) (412) may include various interfaces, such as interfaces for data input and output devices, such as I / O devices, storage devices, etc. Interface(s) (412) may facilitate communication of SCP (112). Interface(s) (412) may also provide a communication path to one or more components of SCP (112). Examples of such components include processing engine(s) or modules (404-1) and a database (424) (but are not limited thereto).
[0112] Processing engine(s) (208) or module(s) (404-1) may be implemented by a combination of hardware and programming (e.g., programmable instructions) to implement one or more functions of the processing engine(s) (208) or module(s) (404-1). In the examples described herein, such combinations of hardware and programming may be implemented in various different ways. For example, programming for the processing engine(s) or modules (404-1) may be processor-executable instructions stored in a non-transient machine-readable storage medium, and the hardware for the processing engine(s) or modules (404-1) may include processing resources (e.g., one or more processors) to execute these instructions. In the examples, the machine-readable storage medium may store instructions that implement the processing engine(s) or modules (404-1) when executed by the processing resources. In these examples, SCP (112) may include a machine-readable storage medium for storing instructions and a processing resource for executing instructions, or the machine-readable storage medium may be detachable but may be accessible to SCP (112) and the processing resource. In other examples, the processing engine(s) or modules (404-1) may be implemented by electronic circuits.
[0113] In an embodiment, the processor(s) or controller(s) (404) may belong to an inflow controller that enables processing / controlling one or more aspects of an inflow request received at an inflow node (entry point) of SCP (112). In another embodiment, the processor(s) or controller(s) (404) may belong to an outflow controller that enables processing / controlling one or more aspects of a request being routed at an outflow node (endpoint) of SCP (112). In yet another embodiment, the processor(s) or controller(s) (404) may belong to an integrated controller that includes both an inflow and an outflow controller that enables processing / controlling one or more aspects of an inflow request received at an inflow node (entry point) of SCP (112) and processing / controlling one or more aspects of a request being routed at an outflow node (exit point) of SCP (112).
[0114] The processing engine or modules (404-1) of the SCP (112) may include one or more components (as illustrated in FIG. 4b), including a receiving module (416), a proxy information module (418), a routing module (420), and other modules or components (422). In one embodiment, the receiving module (416) may be able to receive incoming requests from consumer nodes through an incoming controller, and the routing module (420) may route requests to provider nodes through an outgoing controller. The proxy information module (418) may be able to collect or store information regarding available proxies or endpoints belonging to an active and / or DR cluster. Other modules or components (422) may include an inflow module (related to the inflow node), an outflow module (related to the outflow node), a load balancer, an edge router configuration module, a mapping module (for mapping endpoints related to the active and / or DR cluster), a request processing module, an error message generation module, and other modules or engines (but are not limited thereto). Various other functions of the components may be possible. In an embodiment, the database (210) may include data that can be stored or generated as a result of functions implemented by any component of the processing engine(s) modules (404-1) of the SCP (112).
[0115] FIG. 5 illustrates an exemplary overview of SCPs deployed in independent deployment units and SCPs based on 5G functions according to an embodiment of the present disclosure. Referring to FIG. 5, an overview of SCP deployment is illustrated, wherein the SCP deployment may be based on 5G functions and the SCPs may be deployed in independent deployment units. Additionally, the system (100) may be designed in a manner that supports the following: One SCP proxy instance for a single NF type considered for a single PLMN, One SCP proxy instance for multiple NF types considered for a single PLMN, A single SCP proxy instance for multiple NF types considered for multiple PLMNs, Multiple proxies of a single PLMN for multiple NF types, and A single SCP controller for multiple NRF instances considered for multiple PLMNs.
[0116] In an embodiment, the system (100) may be configured to provide different types of routing techniques for SCP proxies, wherein the routing techniques may be implemented according to the requirements of different NF teams and their GR / DR handling. In one embodiment, an incoming active standby routing technique may be used at the incoming proxy, while an outgoing active standby routing technique may be used at the outgoing proxy. In these routing techniques, GR or DR clusters may be defined based on PLMN lists. In an example, the proposed active standby routing technique may also be integrated with other policies, such as an active-active routing policy, which can first ensure the utilization of all endpoints of the active cluster.
[0117] FIG. 6 illustrates an exemplary representation (600) illustrating the deployment architecture of an active standby technique according to one embodiment of the present disclosure. In an exemplary embodiment, as illustrated in FIG. 6, before routing requests, SCP (112) (of FIG. 4a) may enable the identification / configuration of pairs of endpoints within a cluster belonging, for example, to an active cluster and a DR cluster. An active endpoint may be assigned to or associated with a corresponding DR endpoint to form a pair of endpoints. In an example, a pair of endpoints may include an active endpoint and a corresponding DR endpoint in two different clusters. In an exemplary embodiment, routing of requests based on the identification / configuration of pairs of endpoints may be performed based on a predefined policy (or routing policy) of SCP (112), for example, an active standby implementation.
[0118] In an exemplary embodiment, a routing policy, namely an active standby routing policy, may be used in an outflow proxy and / or an inflow proxy. In an exemplary embodiment, as in the mentioned active standby routing policy, endpoint details may be configured in a paired manner so that only one endpoint of a pair can receive a request at any given time. In the example, all received requests may be round-robined among the pairs of endpoints.
[0119] As illustrated in FIG. 6, each cluster may include two configured endpoints. For example, clusters may be defined within a network, e.g., cluster A and cluster B. In this example, cluster A acts as the active cluster (602) and may include configured endpoints, namely endpoint 1 (604-1) and endpoint 2 (604-2), while cluster B may be the DR cluster (608) and may include endpoint 3 (606-1) and endpoint 4 (606-2). In the routing policy of this active standby implementation, since a paired configuration may be applied, in this example, two pairs may be considered, e.g., endpoint 1 (604-1) of the active cluster A may be paired with endpoint 3 (606-1) of the DR cluster B. Similarly, Pair 2 may be considered, in which Endpoint 2 (604-2) of Active Cluster A can be paired with Endpoint 4 (606-2) of DR Cluster B. Under normal scenarios, assuming all endpoints are available or functional, 50% of the total requests received by SCP (112) may be routed to Pair 1, while the remaining 50% may be routed to Pair 2. However, if at least one of the endpoints is not functional or is not available for routing, SCP (112) may enable dynamic routing of requests by identifying / configuring pairs of endpoints of the active and / or DR clusters to evaluate the status of the endpoint. 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 other 50% of requests may be sent to endpoint 2. Exemplary Scenario 2 - Case where Endpoint 1 goes down and the other 3 endpoints go up In this case, 50% of the total requests go to endpoint 3 and the remaining 50% of requests go to endpoint 2. Exemplary Scenario 3 - Case where Endpoint 2 goes down while the other 3 endpoints are up In this case, 50% of the total requests go to endpoint 1 and the other 50% of requests go to endpoint 4. Exemplary Scenario 4 - When one or both of Endpoint 3 and Endpoint 4 are down In this case, requests can be routed between endpoint 1 and endpoint 2 at the same rate as usual. Exemplary Scenario 5 - Case where both Endpoint 1 and Endpoint 2 are down In this case, requests can be routed between endpoint 3 and endpoint 4 at equal rates. Exemplary Scenario 6 - Case where Endpoint 1 and Endpoint 3 are down In this case, 100% of requests can be routed to endpoint 2. Exemplary Scenario 7 - When Endpoints 2 and 4 are down In this case, 100% of requests can be routed to endpoint 1. Exemplary Scenario 8 - Case where one endpoint goes up and the other three endpoints go down In this case, all requests can be routed only to the active endpoint. It may be recognized that the above scenarios are exemplary and that the present disclosure is not limited to the examples mentioned. Additionally, it may also be recognized that while only two endpoints are depicted in each cluster, the number of clusters may not be limited to two. It may also be recognized that the described routing policy includes active and DR clusters having the same number of endpoints to avoid a scenario where DR endpoints may be up but still unavailable for SCP to route requests. In an alternative exemplary embodiment, the pairing configuration may also consider pairing multiple endpoints of the active cluster with a single endpoint of the DR cluster. This may enable effective utilization of the DR endpoints.
[0120] FIGS. 7a–7c illustrate exemplary representations (700, 720, and 740), respectively, illustrating the function of implementing an active standby policy based on different states of endpoints in an active cluster (702) and a DR cluster (704) according to an embodiment of the present disclosure. In an exemplary embodiment, and as illustrated in 700 of FIG. 7a, all endpoints (1–7) of the active cluster (702) and the DR cluster (704) may be active (indicated by a check mark). Additionally, the number assigned to the endpoint of the active cluster (702) is similar to the number assigned to the corresponding endpoint of the DR cluster (704). For understanding, similar numbers may be assigned to represent the respective pairings of endpoints in cluster (702) and cluster (704). While numbers 1–7 may be provided for simplicity, it may be recognized that the clusters may not be limited to seven endpoints. When one or more requests are received, it can be checked whether all endpoints of the active cluster (702) are functional / available. As illustrated in FIG. 7a, since it is found that all endpoints of the active cluster (702) are active, 100% of the traffic can be routed to the active cluster (702) so that the acquired request can be transmitted and distributed through all endpoints of the active cluster (702).
[0121] In another exemplary embodiment, and as illustrated in FIG. 7b as 720, some of the endpoints of the active cluster (702) and the DR cluster (704) may be active (indicated by a check mark), while others may not be available or functional (indicated by a cross mark). For example, endpoints (2 and 7) of the active cluster (702) may not be functional, and endpoint (4) of the DR cluster (704) may not be functional. When one or more requests are received in SCP, it may be checked whether all endpoints of the active cluster (702) are functional / available. As mentioned, since some of the endpoints of the active cluster (702) may be identified as active, traffic may be routed to the available endpoints of the active cluster (702) (e.g., endpoints 1, 3, 4, 5, and 6). However, since the endpoints (2 and 7) of the active cluster (702) are not available / functioning endpoints, traffic or requests may be sent to the endpoints (2 and 7) of the DR cluster (704) instead of the endpoints (2 and 7) of the active cluster (702). It may also be observed that the endpoint (4) of the DR cluster (704) may be inactive, but the corresponding active cluster endpoint is active, so the non-functioning endpoint of the DR cluster may not affect traffic distribution.
[0122] In another exemplary embodiment, and as illustrated by 740 in FIG. 7c, none of the endpoints of the active cluster (702) may be available (indicated by a cross mark), and some endpoints of the DR cluster (704) may be available (indicated by a check mark). For example, endpoints (1, 2, 4, 5 and 7) of the DR cluster (704) may be functional, and endpoints (3 and 6) of the DR cluster (704) may not be functional. When one or more requests are received in SCP, whether all endpoints of the active cluster (702) are functional / available may be checked. As mentioned, since none of the endpoints of the active cluster (702) can be found to be available, traffic may be routed to these paired endpoints (e.g., endpoints 1, 2, 4, 5, and 7) of the active DR cluster (704). However, since the endpoints (3 and 6) of the DR cluster (704) may not be available / functioning endpoints, traffic or requests may not be sent to these endpoints. Therefore, the proposed system (100) / SCP (112) can solve problems such as congestion control, traffic prioritization, and overload control (but is not limited thereto), thereby enabling effective utilization of resources and management of traffic for requests.
[0123] FIGS. 8a and 8b illustrate exemplary representations illustrating table data or information regarding active standby routing according to embodiments of the present disclosure. As illustrated by 800 in FIG. 8a, for a consumer node (802), the SCP of the present disclosure may enable the processing of an active standby routing table (804) representing various NF instances in terms of information regarding PLMN IDs and destination nodes. In the example, to enable paired configuration of endpoints in active clusters and DR clusters, the SCP may enable the identification / configuration of pairs of endpoints. The routing table (804) and the corresponding adjacency detail table represent the corresponding PLMN-IDs for various NF instances and endpoints of active and DR clusters. In an exemplary embodiment, and as illustrated in FIG. 8b, the exemplary representation shows that the routing of requests may be based on the corresponding PLMN-ID and context. In an exemplary embodiment, the routing of requests may be based on the corresponding PLMN-ID and NF type. In an exemplary embodiment, routing of requests may be based on a corresponding context. In an exemplary embodiment, routing of requests may be based on a corresponding NF instance ID. In an exemplary embodiment, routing of requests may be based on a corresponding NF set ID. In an exemplary embodiment, routing of requests may be based on a corresponding NF service set ID. In an exemplary embodiment, routing of requests may be based on an NF service instance ID. Various other embodiments may be possible.
[0124] FIG. 9 illustrates an exemplary representation (900) illustrating an integrated implementation including various routing policies according to an embodiment of the present disclosure. As illustrated in FIG. 9, for a consumer node (902), the system or SCP (112) may enable an integrated implementation including various routing policies that can be used to determine specific request routing. For example, table (904) illustrates routing based on the SCP’s active standby routing policy, which includes routing between endpoints configured in a paired manner in the active cluster and the DR cluster as described above. In another example, table (906) illustrates routing based on the SCP’s active-active routing policy, which includes routing between endpoints within the active cluster to ensure that all endpoints within the active cluster can be effectively utilized. In another example, table (908) illustrates routing based on SCP's primary-secondary routing policy, which includes routing between endpoints within a primary cluster and a secondary cluster, wherein the primary cluster may be used with priority over the secondary cluster so that endpoints of the secondary cluster may be used for routing only when it is verified that all primary clusters are unavailable. In another example, table (910) illustrates routing based on SCP's hybrid primary-secondary routing policy, which includes routing between endpoints within primary and secondary clusters based on active and standby modes.
[0125] FIG. 10 illustrates an exemplary representation of a flowchart (1000) for facilitating the routing of a communication request using SCP according to an embodiment of the present disclosure. The flowchart (1000) may represent a general sequence of steps in the case of outgoing communication or incoming communication. In 1002, the method may include the step of identifying at least one available endpoint in a cluster. In 1004, the method may include the step of routing a communication request from a consumer node (related to a user device sending the request) to a destination mode or provider node (related to a user device receiving the request), wherein the request may be routed to an identified / configured pair where at least one endpoint in the pair can function.
[0126] In the example, identifying at least one available endpoint may include, for example, identifying / configuring pairs of endpoints belonging to an active cluster and a DR cluster. The active cluster may include active endpoints to which requests can preferably be routed when the endpoint is available. The DR cluster may include DR endpoints, and DR endpoints may be considered as alternative endpoints for routing requests when the corresponding active endpoint is unavailable or non-functional. In an exemplary embodiment, each endpoint of the active cluster may be paired with a corresponding endpoint of the DR cluster to form a pair of endpoints. In the embodiment, the method may enable the identification / configuration of pairs of endpoints in the active and DR clusters, for example, DR endpoints for endpoints that are unavailable / non-functional in the active cluster. This may be performed before routing is performed, which may enable effective management of incoming requests. This also allows for pre-planning direct routing to the DR endpoint (in the DR cluster) in case the corresponding active endpoint (in the active cluster) may not be available.
[0127] In an exemplary embodiment, routing based on the identification / configuration of a pair of endpoints may be performed based on a predefined policy of SCP (112). For example, the predefined policy may relate to the active standby implementation described herein. In an exemplary embodiment, a request may be routed to the identified / configured pair if at least one endpoint of the pair may be functional. For example, the method may evaluate when an endpoint in the active cluster, e.g., a first endpoint, is unavailable and configure a corresponding endpoint in the DR cluster before routing the request. In another example, the method may include the step of evaluating when an endpoint, e.g., a first endpoint in the active cluster, is unavailable and may also evaluate when a corresponding configured DR endpoint (a second endpoint) belonging to the first endpoint is unavailable so that the request is not routed to the pair at all. This may save unnecessary rerouting and also facilitate effective routing steps. In an exemplary embodiment, routing based on the identification / configuration of pairs of endpoints may be performed based on predefined criteria. For example, the predefined criteria may relate to header routing criteria that allow SCP (112) to determine the endpoints to be selected (prior to routing) based on availability. Various other examples are provided in the following sections, but the present disclosure may not be limited by these examples. In an example, the header routing criteria may include at least one of the following (but is not limited thereto): a) 3gpp-sbi-discovery b) 3gpp-sbi-target-apiroot c) 3gpp-sbi-binding / 3gpp-sbi-routing-binding In an exemplary embodiment, where a plurality of predefined criteria or header routing criteria may be considered, the processor(s) or controller(s) (404) may prioritize the predefined criteria to enable the appropriate selection of endpoints before routing the request. Various other embodiments may be possible.
[0128] FIG. 11 illustrates an exemplary computer system in which embodiments of the present disclosure may be utilized according to embodiments of the present disclosure. As illustrated in FIG. 11, the 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). A person skilled in the art will recognize that the computer system may include more than one processor and communication ports. The processor (1170) may include various modules associated with embodiments of the present invention. The communication port (1160) may be any port among a modem-based telephone connection, a 10 / 100 Ethernet port, a 10 Gigabit port using Gigabit or copper or optical fiber, a serial port, a parallel port, or an RS-232 port for use with other existing or future ports. The communication port (1160) may be selected according to the network, such as a LAN (Local Area Network), WAN (Wide Area Network), or any network to which the computer system is connected. The memory (1130) may be RAM (Random Access Memory) or any other dynamic storage device generally known in the technical field. The read-only memory (1140) may be any static storage device(s). The mass storage device (1150) may be any current or future mass storage solution that can be used to store information and / or instructions.
[0129] The bus (1120) connects the processor(s) (1170) to communicate with other memory, storage, and communication blocks. Optionally, operator and management interfaces, such as a display, keyboard, and cursor control device, may also be connected to the bus (1120) to support direct operator interaction with the computer system. Other operator and management interfaces may be provided via network connections connected through the communication port (1160). The components described above are merely for illustrating various possibilities. The exemplary computer system described above should not limit the scope of the present disclosure.
[0130] Although the embodiments of the present invention are described in relation to SCP, it will be recognized that the proposed system and method may be implemented on any computing device or external device without departing from the scope of the invention.
[0131] Although substantial emphasis has been made herein on preferred embodiments, it will be recognized that many embodiments may be made and many modifications may be made to the preferred embodiments without departing from the principles of the invention. These and other modifications of the preferred embodiments of the invention will be apparent to those skilled in the art from the disclosure herein, and it should be clearly understood that the foregoing description is to be implemented as an example of the invention and not merely as a limitation.
[0132] Parts of the disclosures of this patent document contain materials subject to intellectual property rights, such as copyrights, designs, trademarks, IC layout designs, and / or trade dress protections (but not limited thereto), belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred to as the Owner). The Owner does not object to anyone reproducing the patent document or patent disclosures by fax as indicated in patent files or records of the Patent Office, but retains all rights otherwise. All rights to such intellectual property are wholly reserved by the Owner. Advantages of the present disclosure
[0133] The present disclosure provides a system and method that facilitate effective and improved management of traffic routing regarding incoming requests.
[0134] The present disclosure provides a system and method that are not constrained by the architecture, structure, function, and implementation of network functions of each node.
[0135] The present disclosure provides a system and method that facilitates the implementation of SCP, enabling load balancing, routing, traffic monitoring, congestion control, service discovery, and other such functions in an effective manner.
[0136] The present disclosure provides a system and method that enable effective management of incoming requests.
[0137] The present disclosure provides a system and method that can save unnecessary rerouting and also facilitate effective routing steps.
Claims
Claim 1 A system (100) for performing ingress / egress active-standby-spare routing in a network, comprising a Service Communication Proxy (SCP) controller (112) communicating with multiple endpoints, wherein the multiple endpoints are grouped into 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 any natural number, and the SCP controller (112) comprises the one or more processors coupled to a memory (410) that stores commands executable by one or more processors (404), and the SCP controller (112) receives multiple requests to be transmitted to the first and second PLMN clusters from one or more source node devices communicating with the SCP controller (112), and a plurality of paired n endpoints associated with each of the first and second PLMN clusters A system for determining the state of an endpoint and n+2 endpoints; and when the state of each of the paired n endpoints and n+2 endpoints is determined to be active, the system is configured to route the plurality of requests equally through the first PLMN cluster to transmit to each of the paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster, wherein the plurality of requests are equally routed to each of 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. Claim 2 In claim 1, the routing is used in any one or a combination of outflow and inflow proxies, in a system. Claim 3 In claim 1, the SCP controller (112) is configured to route the plurality of requests at once to only one of the pair of endpoints. Claim 4 In claim 1, prior to routing, the SCP controller (112) is configured to identify at least one available endpoint among paired endpoints belonging to the first PLMN cluster and the second PLMN cluster, the first PLMN cluster includes 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 includes a plurality of corresponding alternative endpoints to which the plurality of requests are routed when the corresponding plurality of active endpoints are not available or are not functioning. Claim 5 In claim 4, the routing based on the identification of the paired endpoints is performed based on a predefined policy of the SCP controller (112), in a system. Claim 6 A 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 n endpoints of the first PLMN cluster and n+2 endpoints of the second PLMN cluster, while the other 50% of the plurality of requests are routed to a second pair comprising 2n endpoints of the first PLMN cluster and 2n+2 endpoints of the second PLMN cluster. Claim 7 In claim 6, when the n endpoints of the first pair are inactive and the remaining endpoints are active, the SCP controller (112) is configured to route 50% of the plurality of requests to n+2 endpoints of the second PLMN cluster, while the other 50% of the plurality of requests are routed to 2n endpoints of the first PLMN cluster, a system. Claim 8 In claim 6, when 2n endpoints of the second pair are inactive and the remaining endpoints are active, the SCP controller (112) is configured to route 50% of the plurality of requests to the n endpoints of the first PLMN cluster, while the other 50% of the plurality of requests are routed to the 2n+2 endpoints of the second PLMN cluster, a system. Claim 9 A system according to claim 6, wherein when one or both of the n+2 endpoints and 2n+2 endpoints 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 n endpoints of the first PLMN cluster and the 2n endpoints of the first PLMN cluster. Claim 10 A system according to claim 1, wherein if one or both of the n endpoints and 2n endpoints 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 n+2 endpoints of the first PLMN cluster and the 2n+2 endpoints of the second PLMN cluster. Claim 11 In claim 6, when both the n endpoints of the first pair and the n+2 endpoints are inactive, the SCP controller (112) is configured to route 100% of the plurality of requests to the 2n endpoints of the first PLMN cluster. Claim 12 In claim 6, when both the 2n endpoints and the 2n+2 endpoints of the second pair are inactive, the SCP controller (112) is configured to route 100% of the plurality of requests to the n endpoints of the first PLMN cluster. Claim 13 In claim 1, when only one endpoint is active and the remaining endpoints are inactive, the SCP controller (112) is configured to route the plurality of requests to the only active endpoint. Claim 14 A system according to claim 1, wherein the number of endpoints of the first PLMN cluster is the same as the number of endpoints of the second PLMN cluster. Claim 15 A 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 transmitted directly to the endpoint of the DR cluster when the corresponding active endpoint of the first PLMN cluster is not available. Claim 16 In claim 15, a system in which, using O-based indexing, the endpoints of even indices belong to the first PLMN cluster and the endpoints of odd indices belong to the DR cluster. Claim 17 A method (190) for performing inflow / outflow active-standby-standby routing in a network, comprising the step of receiving a plurality of requests to be transmitted to first and second PLMN clusters from one or more source node devices communicating with said SCP controller (112) by an SCP (Service Communication Proxy) controller (112) ― said SCP controller (112) communicates with a plurality of endpoints, said endpoints are grouped into said first PLMN cluster or said second PLMN cluster such that n endpoints of said first PLMN cluster form pairs with n+2 endpoints of said second PLMN cluster, where n is any natural number, and said SCP controller (112) further comprises said one or more processors coupled to a memory (410) that stores instructions executable by said one or more processors (404) ―; said SCP controller (112) thereby, a plurality of paired n endpoints and n+2 of said endpoints associated with each of said first and second PLMN clusters A method comprising: a step of determining the state of an endpoint; and a step of routing the plurality of requests equally through the first PLMN cluster to transmit to each of the paired n endpoints and the n+2 endpoints associated with each of the first PLMN cluster and the second PLMN cluster when the state of each of the paired n endpoints and the n+2 endpoints is determined to be active by the SCP controller (112), wherein the plurality of requests are equally routed to each of the paired n endpoints and the n+2 endpoints associated with each of the first PLMN cluster and the second PLMN cluster, respectively, based on a round-robin technique. Claim 18 In claim 17, the routing is a method used in any one or a combination of outflow and inflow proxies. Claim 19 In claim 17, the method further comprises the step of routing the plurality of requests at once to only one of the pair of endpoints by the SCP controller (112). Claim 20 In claim 17, prior to routing, the method further comprises the step of identifying at least one available endpoint among paired endpoints belonging to the first PLMN cluster and the second PLMN cluster by the SCP controller (112), 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 alternative endpoints to which the plurality of requests are routed when the corresponding plurality of active endpoints are not available or are not functioning. Claim 21 In claim 20, the routing based on the identification of the paired endpoints is performed based on a predefined policy of the SCP controller (112). Claim 22 In claim 17, when all of the plurality of endpoints are active, the method further comprises the step of routing 50% of the plurality of requests to a first pair comprising the n endpoints of the first PLMN cluster and the n+2 endpoints of the second PLMN cluster by the SCP controller (112), while the other 50% of the plurality of requests are routed to a second pair comprising 2n endpoints of the first PLMN cluster and 2n+2 endpoints of the second PLMN cluster. Claim 23 In claim 22, when the n endpoints of the first pair are inactive and the remaining endpoints are active, the method further comprises the step of routing 50% of the plurality of requests to n+2 endpoints of the second PLMN by the SCP controller (112), while the other 50% of the plurality of requests are routed to 2n endpoints of the first PLMN cluster. Claim 24 A method according to claim 22, wherein when 2n endpoints of the second pair are inactive and the remaining endpoints are active, the SCP controller is configured to route 50% of the plurality of requests to the n endpoints of the first PLMN cluster, while the other 50% of the plurality of requests are routed to the 2n+2 endpoints of the second PLMN cluster. Claim 25 In claim 22, when one or both of the n+2 endpoints and 2n+2 endpoints of the second PLMN cluster are inactive and the remaining endpoints are active, the method further comprises the step of routing the plurality of requests equally to the n endpoints of the first PLMN cluster and the 2n endpoints of the first PLMN cluster by the SCP controller (102). Claim 26 A method according to claim 17, wherein if one or both of the n endpoints and 2n endpoints 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 n+2 endpoints of the first PLMN cluster and the 2n+2 endpoints of the second PLMN cluster. Claim 27 In claim 22, when both the n endpoints of the first pair and the n+2 endpoints are inactive, the method further comprises the step of routing 100% of the plurality of requests to 2n endpoints of the first PLMN cluster by the SCP controller (112). Claim 28 In claim 22, when both the 2n endpoints and the 2n+2 endpoints of the second pair are inactive, the method further comprises the step of routing 100% of the plurality of requests to the n endpoints of the first PLMN cluster by the SCP controller (112). Claim 29 In claim 17, when only one endpoint is active and the remaining endpoints are inactive, the method further comprises the step of routing the plurality of requests to the only active endpoint by the SCP controller (112). Claim 30 In claim 17, the method wherein the number of endpoints of the first PLMN cluster is the same as the number of endpoints of the second PLMN cluster. Claim 31 A 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 transmitted directly to the endpoint of the DR cluster when the corresponding active endpoint of the first PLMN cluster is not available. Claim 32 In claim 31, a method in which, using O-based indexing, the endpoints of even indices belong to the first PLMN cluster and the endpoints of odd indices belong to the DR cluster. Claim 33 delete Claim 34 A non-transient computer-readable medium comprising processor-executable instructions, wherein the processor-executable instructions cause the processor: to receive a plurality of requests to be transmitted to a first PLMN (public land mobile network) and a second PLMN cluster from one or more source node devices communicating with the processor; wherein the processor communicates with a plurality of endpoints, wherein the plurality of endpoints are grouped into 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 any natural number; wherein the processor causes the processor to determine the state of a plurality of paired n endpoints and n+2 endpoints associated with each of the first and second PLMN clusters; and, when the state of each of the paired n endpoints and n+2 endpoints is determined to be active, to transmit to each of the paired n endpoints and n+2 endpoints associated with the first PLMN cluster and the second PLMN cluster, the same through the first PLMN cluster A non-transient computer-readable medium that routes the plurality of requests, wherein the plurality of requests are routed equally to n paired endpoints and n+2 endpoints each associated with the first PLMN cluster and the second PLMN cluster, respectively, based on a round-robin technique.
Citation Information
Patent Citations
Multi-protocol routing configuration device and method
CN101136845A
Method and apparatus for enhancing network selection accuracy in wireless communication system
EP3866559A1
Communications system
US20100284335A1
IMS centralized services (ICS) interworking function (IWF) system and method
US20150098394A1
Method and apparatus for enhancing network selection accuracy in wireless communication system
US20210258871A1
