System and method for primary secondary routing in 5G networks

By employing primary secondary routing techniques that dynamically select between primary and secondary PLMN clusters based on endpoint states, the system addresses the challenges of traffic management in next-generation networks, optimizing data paths and reducing data interference and loss.

JP2025510423APending Publication Date: 2025-04-15ジェイアイオー·プラットフォームズ·リミテッド
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023521940
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-31
Filing Date
2023-03-24
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

Current routing systems in next-generation networks, such as 5G, face challenges in managing traffic efficiently, particularly in scenarios with multiple interconnected nodes, leading to issues like data interference, loss, and replacement.

Method used

The implementation of primary secondary routing techniques, where a controller selects primary and secondary PLMN clusters based on endpoint operating states, allowing for direct routing when primary endpoints are active and using secondary clusters via round-robin or weighted scheduling when primary endpoints are inactive.

Benefits of technology

This approach optimizes data paths, reduces data interference and loss, and ensures error-free data packet transfer by dynamically managing traffic based on node availability, thereby enhancing network efficiency and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025510423000001_ABST
    Figure 2025510423000001_ABST
Patent Text Reader

Abstract

The present disclosure relates to a system and method that enables primary-secondary routing to optimize data paths for information exchanged between various network functions, thereby avoiding cases of data blockage, data loss, and data substitution. A request is obtained at 702, and then it is checked at 704 whether any / at least one endpoint is active. If all / some of the endpoints are found to be active, all traffic is routed to the primary cluster 710, and the obtained request is sent and distributed across all endpoints of the primary cluster 710. However, if none of the endpoints are found to be active, all traffic can be routed to the secondary cluster 720, and the obtained request is sent and distributed across active endpoints of the secondary cluster 720.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Reservation of Rights Portions of the disclosure of this patent document contain material that is subject to intellectual property rights, including, but not limited to, copyright, design, trademark, IC layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred to as the Owner). The Owner has no objection to the reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office files or records, but otherwise reserves all rights. All rights to such intellectual property are fully reserved by the Owner. The patent documents include systems and methods defined in 3GPP® Technical Specifications (TS) 3GPP TS 29.203, 3GPP TS 29.212, 3GPP TS 29.213, 3GPP TS 29.214, 3GPP TS 29.272, and 3GPP Technical Reports (TR) 3GPP TR 22.953, among others.

[0002] The present invention relates generally to the field of routing, and more particularly to next generation network techniques that enable primary-secondary routing, particularly based on a primary-secondary policy, in next generation networks such as 5G networks or hybrid / integrated systems including 4G, 5G, and / or 6G. [Background technology]

[0003] The following description of related art is intended to provide background information regarding the field of the present disclosure. This section may include certain aspects of the art that may be relevant to various features of the present disclosure. However, it should be understood that this section is used only to enhance the reader's understanding of the present disclosure and is not intended as an admission of prior art.

[0004] In today's high-tech world, the availability of fast and uninterrupted communication facilities has become essential. Many communication devices such as smartphones, laptops, tablets, etc. are available in the market, competing the requirement for fast and uninterrupted communication facilities. These communication devices can be connected through various wired and wireless network technologies.

[0005] However, the usage and number of communication devices is exponentially increasing day by day, which results in increased complexity of existing networks. This can lead to insufficient quality of service, security, and efficiency in current communication networks. In such scenarios, routers act as the primary control point that helps simplify the increased complexity of the network, provides reliable quality of service and security, facilitates monitoring and improvement in efficiency, and other attributes that allow the network to add value. Thus, by controlling the router, one can have a great deal of control over the corresponding network.

[0006] In general, routing can be defined as the mechanism of selecting a particular path within a network or between or across multiple networks for quickly transmitting data between a first communication device and a second communication device that may be located remotely from each other. Routing can be performed on a variety of networks, including circuit-switched networks, e.g., the Public Switched Telephone Network (PSTN), as well as computer networks, e.g., the Internet.

[0007] In the routing process, routing tables are frequently used to direct the forwarding of data packets. Routing tables record the routes to various network destinations. Routing tables can be created using routing protocols, can be learned from network traffic, or can be provided by an administrator.

[0008] In general, next-generation based architectures, such as 5G service-based architectures, are designed such that all network functions are closely interacted with each other. These network functions may possess the ability to discover peer nodes and transmit network information between nodes. This approach necessarily leads to a spaghetti of interconnections between several user devices, such as laptops, smartphones, tablets, etc., connected through the network, which may disrupt the flow of data between said user devices or may lead to data loss. In certain scenarios, it may also lead to data substitution, which is highly undesirable.

[0009] The conventional system and method are configured in a network of several nodes, each having a separate deployment scenario / architecture and function. The routing algorithm in the conventional system and method cannot manage the individual deployment scenario / architecture and function of each node. Therefore, the establishment of communication channels between the nodes may be affected, which in turn may adversely affect the flow of data in the network.

[0010] In addition, current systems and methods or routing techniques are unable to handle requests relating to the transmission of data corresponding to down / unavailable nodes.

[0011] Therefore, there is a need to provide a routing solution that can optimize data paths for information exchanged between user devices and that can solve the various network-related problems mentioned above. Summary of the Invention [Problem to be solved by the invention]

[0012] It is an object of the present disclosure to provide a system and method that facilitates management of traffic related to incoming requests by enabling efficient and improved routing of traffic.

[0013] Another object of the present disclosure is to provide a system and method that is independent of the architecture, structure, functionality, and implementation of network functions of each node.

[0014] Another object of the present disclosure is to provide a system and method that may be protected.

[0015] Another object of the present disclosure is to provide a system and method that may enable error-free data packet transfer.

[0016] Another object of the present disclosure is to provide a system and method that may enable communication in an optimized manner.

[0017] Another object of the present disclosure is to provide a system and method that facilitates SCP implementation that enables load balancing, routing, traffic monitoring, congestion control, service discovery, and other such functions in an efficient manner. [Means for solving the problem]

[0018] According to one aspect, the present disclosure relates to a system and method that enables implementation of primary secondary routing in a network. The system and method include a controller in communication with one or more public land mobile network (PLMN) clusters associated with the network. The controller is comprised of one or more processors coupled to a memory storing instructions executable by the one or more processors, and the controller is configured to receive a request from a first mobile computing device to be transmitted to a second mobile computing device. Further, the controller selects a primary PLMN cluster and a secondary PLMN cluster from among one or more PLMN clusters communicatively coupled to the first mobile computing device and the second mobile computing device, and then determines an operational state of each endpoint of the selected primary PLMN cluster. If the operational state of at least one endpoint of the primary PLMN cluster is determined to be active, the controller is configured to route the request directly from the first mobile computing device to the second mobile computing device via said endpoint of the primary PLMN cluster. In other cases, if the operational states of all endpoints in the primary PLMN cluster are determined to be inactive, the controller is configured to route the request through the secondary PLMN cluster by a round robin or weighted scheduling approach to transmit the request to the second mobile computing device.

[0019] In one aspect, if the operational states of two or more endpoints of the primary PLMN cluster are determined to be active, the controller is configured to proportionally distribute data traffic related to the one or more requests within the network among the active endpoints of the primary PLMN cluster.

[0020] In another aspect, the proposed system and method may implement either or a combination of ingress primary secondary and egress primary secondary routing techniques within a network.

[0021] In one aspect, the proposed system and method facilitates management of traffic related to incoming requests by enabling optimization of data paths of information exchanged between various network functions, thereby avoiding cases of data blockage, data loss, and data substitution, thereby enabling effective and improved routing of traffic.

[0022] In one aspect, the proposed system and method are independent of each node's architecture, structure, functionality, and implementation of network functions.

[0023] In another aspect, the proposed system and method facilitates SCP implementation that enables load balancing, routing, traffic monitoring, congestion control, service discovery, and other such functions in an efficient manner.

[0024] In another aspect, the present disclosure relates to a first mobile computing device including a processor and a memory, the processor configured to generate a request to be transmitted to a second mobile computing device and transmit the request to the second mobile computing device via a PLMN cluster, the PLMN cluster being communicatively coupled to the first mobile computing device and the second mobile computing device. The processor is communicatively coupled to a controller configured to receive the request from the first mobile computing device to be transmitted to the second mobile computing device. Furthermore, the controller selects a primary PLMN cluster and a secondary PLMN cluster from among one or more PLMN clusters communicatively coupled to the first mobile computing device and the second mobile computing device, and then determines an operational state of each endpoint of the selected primary PLMN cluster. If the operational state of all endpoints of the primary PLMN cluster is determined to be inactive, the controller routes the request to the second mobile computing device via the secondary PLMN cluster.

[0025] In another aspect, the present disclosure relates to a non-transitory computer-readable medium including machine-executable instructions executable by a processor to receive from a first mobile computing device a request to be transmitted to a second mobile computing device, select a primary public land mobile network (PLMN) and a secondary PLMN cluster from among one or more PLMN clusters communicatively coupled to the first mobile computing device and the second mobile computing device, determine an operational state of each endpoint of the selected primary PLMN cluster, and route the request to the second mobile computing device via the second PLMN cluster if the operational states of all endpoints of the primary PLMN cluster are determined to be inactive (108-2).

[0026] The accompanying drawings, which are incorporated herein and constitute a part of the present invention, illustrate exemplary embodiments of the disclosed method and system, with like reference numerals referring to the same parts throughout the different drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed on clearly illustrating the principles of the invention. The same drawings may use block diagrams to illustrate components and may not show the internal circuitry of each component. It will be understood by those skilled in the art that the inventions in such drawings include inventions in electrical components, electronic components, or circuits commonly used to implement such components. [Brief description of the drawings]

[0027] [Figure 1A] FIG. 1 illustrates an exemplary network architecture in which the proposed system may be implemented, in order to explain its operation in more detail, according to one embodiment of the present disclosure. [Figure 1B] FIG. 1 illustrates an exemplary network architecture in which the proposed system may be implemented, in order to explain its operation in more detail, according to one embodiment of the present disclosure. [Figure 1C] FIG. 1 illustrates an exemplary network architecture in which the proposed system may be implemented, in order to explain its operation in more detail, according to one embodiment of the present disclosure. [Diagram 2] Referring to FIG. 1C, an exemplary diagram of an SCP implementation according to one embodiment of the present disclosure. [Figure 3A] FIG. 1 illustrates an example representation of a flow diagram illustrating indirect communication through the proposed system with delegated discovery, according to an embodiment of the present disclosure. [Figure 3B] FIG. 1 illustrates an example representation of a flow diagram illustrating indirect communication through the proposed system without delegated discovery, according to an embodiment of the present disclosure. [Figure 4A] FIG. 1 illustrates an exemplary representation of a system architecture of a service communication proxy (SCP) according to one embodiment of the present disclosure. [Figure 4B]FIG. 1 illustrates an exemplary representation of a system architecture of a service communication proxy (SCP) according to one embodiment of the present disclosure. [Diagram 5] FIG. 1 illustrates an exemplary overview of an SCP deployment based on 5G capabilities and SCPs deployed in independent deployment units, according to one embodiment of the present disclosure. [Figure 6] FIG. 2 is an exemplary diagram illustrating a deployment architecture of a primary-secondary technique, according to one embodiment of the present disclosure. [Figure 7A] 1 is an exemplary flowchart illustrating the functionality of a primary-secondary technique when all endpoints in a primary cluster and a secondary cluster are operational, according to one embodiment of the present disclosure. [Figure 7B] Referring to FIG. 7A, a diagram illustrating the functioning of the primary-secondary technique when some of the endpoints in the primary and secondary clusters are operational, according to one embodiment of the present disclosure. [Figure 7C] Referring to FIG. 7A, a diagram illustrating the functioning of the primary-secondary technique when all endpoints in the primary cluster are not operational and some endpoints in the secondary cluster are operational, according to one embodiment of the present disclosure. [Figure 8] FIG. 2 illustrates an example representation relating to primary secondary routing, according to one embodiment of the present disclosure. [Figure 9] FIG. 2 illustrates an exemplary representation showing tabular data or information related to primary secondary routing, according to one embodiment of the present disclosure. [Figure 10A] FIG. 2 illustrates an example representation showing various information related to primary-secondary hybrid routing, according to one embodiment of the present disclosure. [Figure 10B] FIG. 2 illustrates an exemplary representation showing an integrated implementation including various routing policies, according to one embodiment of the present disclosure. [Figure 11] 1 is a flow chart illustrating steps of a proposed method according to one embodiment of the present disclosure. [Figure 12] FIG. 1 illustrates an exemplary computer system in which embodiments of the present disclosure may be utilized, in accordance with an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0028] The above will become more apparent from the following more detailed description of the invention.

[0029] In the following description, for the purpose of explanation, various specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure. However, it will be apparent that the embodiments of the present disclosure may be practiced without these specific details. Some features described below can each be used independently of each other, or can be used in any combination with other features. Individual features may not address all of the problems discussed above, or may address only some of the problems discussed above. Some of the problems discussed above may not be fully addressed by any of the features described herein.

[0030] The following description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the following description of exemplary embodiments provides those skilled in the art with an enabling description for implementing the exemplary embodiments. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as described.

[0031] Specific details are given in the following description to provide a thorough 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 shown as components in block diagram form so as not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail so as to avoid obscuring the embodiments.

[0032] It should also be noted that the particular embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Additionally, the order of operations may be rearranged. A process terminates when its operations are completed, but may have additional steps not included in the diagram. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, or the like. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or to the main function.

[0033] The words "exemplary" and / or "demonstrative" are used herein to mean serving as an example, instance, or illustration. To avoid doubt, the subject matter disclosed herein is not limited to such examples. In addition, any aspect or design described herein as "exemplary" and / or "demonstrative" should not necessarily be construed as preferred or advantageous over other aspects or designs, nor is it meant to exclude equivalent exemplary structures and techniques known to those skilled in the art. Furthermore, to the extent that the terms "including," "having," "containing," and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive, similar to the term "comprising" as an open transition word, without excluding any additional or other elements.

[0034] References throughout this specification to "one embodiment," or "an embodiment," or "an instance," or "one instance" mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrase "in one embodiment," or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0035] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0036] The present disclosure provides a system and method that may overcome the above-mentioned limitations and may facilitate efficient and improved management of traffic routing related to incoming requests. In an exemplary embodiment, the system may include a service communication proxy (SCP) implementation that may facilitate 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 a primary-secondary routing policy or other related integration policy. In an exemplary embodiment, prior to routing, the system and method may enable identification / configuration of pairs of endpoints in clusters, e.g., related to an active cluster and a disaster recovery (DR) cluster. The active cluster may include an active endpoint to which a request may preferably be routed if the endpoint is available. The DR cluster may include a DR endpoint, which may be considered as an alternative endpoint for routing a request if the corresponding active endpoint is unavailable or not functioning.

[0037] Identification / configuration of pairs of endpoints may enable understanding of active endpoints and corresponding DR endpoints that may be available for routing before routing is performed, which may enable routing management of incoming requests. In an exemplary embodiment, by primary-secondary technique / policy, each endpoint in an active cluster may be paired with a corresponding endpoint in a DR cluster to form a pair of endpoints. In an exemplary embodiment, an SCP may include an SCP controller that enables identification / configuration / mapping of endpoints in a disaster recovery (DR) cluster to a corresponding set of active clusters. In an exemplary embodiment, a request may be routed to an identified / configured pair if there is a case where at least one endpoint in the pair is functional. For example, an SCP may evaluate when an endpoint in an active cluster, e.g., a first endpoint, is unavailable, and may be able to identify or configure a corresponding endpoint in a DR cluster, before routing a request. In another example, an SCP may evaluate when an endpoint, e.g., a first endpoint in an active cluster, is unavailable, and may also evaluate whether a corresponding DR endpoint (e.g., a second endpoint) related to the first endpoint is unavailable, such that a request may not be routed to the first or second endpoint in the pair at all.

[0038] In an exemplary embodiment, a primary-secondary routing policy may be used at the ingress and egress nodes of the SCP. In one embodiment, the primary-secondary routing policy endpoint details may be configured per pair such that only one endpoint in the pair may receive requests at a given time. In one example, all received requests may be routed in a round-robin fashion between the pair of endpoints.

[0039] Moreover, the system and method may be independent of the architecture, structure, functionality, and implementation of network functions of each node. Moreover, the system and method may facilitate SCP implementation that may enable load balancing, routing, traffic monitoring, congestion control, service discovery, and other such functions in an effective manner. Various other related embodiments and advantages may be possible.

[0040] 1A-1C show a network architecture in which the proposed system can be implemented according to one embodiment of the present disclosure.

[0041] In general, the 5G network architecture can be designed in a way that multiple nodes can be closely interconnected and thus can become corresponding network functions. In one embodiment, some of the network functions of the 5G network architecture are as follows: o Access and Mobility Management Function (AMF): The AMF may receive all connection-related and session-related information from communication devices (also referred to herein as User Equipment or UE) and is responsible for handling connection and mobility management tasks. For example, the AMF may assist with termination of NAS (Non-Access Stratum) signaling, ciphering and integrity protection of NAS, as well as management tasks such as, but not limited to, registration management, connection management, mobility management, access authentication and authorization, and security context management. o Session Management Function (SMF): The SMF may perform functions related to session management, e.g., session establishment, modification, and release. Additionally, the SMF may handle User Equipment (UE) IP address allocation and management, DHCP functions, termination of NAS signaling related to session management, DL data notification, traffic steering configuration of the User Plane Function (UPF) for proper traffic routing, etc. o User Plane Function (UPF): The UPF may connect the actual data coming through the corresponding Radio Area Network (RAN) to the Internet. In an exemplary embodiment, the UPF may route and forward packets, perform packet inspection, and handle Quality of Service (QoS). Additionally, the UPF may act as an external PDU session point of interconnection to the Data Network (DN) and may also act as an anchor point for intra-RAT as well as inter-RAT mobility. o Policy Control Function (PCF): The PCF can provide a unified policy framework, policy rules for CP functions, and access subscription information for policy decisions in the UDR. Authentication Server Function (AUSF): The AUSF can act as an authentication server and function to check the authenticity of the information flowing through it. Unified Data Management (UDM): The UDM can generate Authentication and Key Agreement (AKA) credentials, handle user identification, perform access authorization, and handle subscription management. o Application Function (AF): The AF is responsible for checking the impact of applications on traffic routing, accessing the NEF and interacting with the policy framework for policy control. o Network Exposure Function (NEF): The NEF can perform functions such as publishing capabilities and events, securely providing information from external applications to the 3GPP network, and internal / external information translation. NF Repository Function (NRF): The NRF performs service discovery functions, maintains NF profiles and can check for available NF instances. o Network Slice Selection Function (NSSF): The NSSF may assist in selecting a network slice instance to serve the UE, determining the allowed NSSAI, and determining the AMF to be used to serve the UE.

[0042] It may be understood that the proposed system and architecture may not only be limited to 5G-based systems / solutions, but may also be used in independent or hybrid / integrated solutions implemented based on any or a combination of 4G, 5G, and / or 6G networks.

[0043] According to one embodiment, the system may also enhance network performance by continually coordinating with other network functions. Additionally, the system architecture may leverage service-based interactions between service consumers and service producers, either directly or indirectly via a service communication proxy (SCP).

[0044] 1A, as shown, a proposed system 100-1 may be utilized to implement a primary-secondary routing technique in a network. The system 100-1 may include a network device 102 (also referred to herein as a controller 102) that may be configured to communicate with one or more public land mobile network (PLMN) clusters, such as cluster 1, cluster 2, cluster 3...cluster N, associated with the network.

[0045] In one embodiment, the controller 102 may be configured to receive a request from a first mobile computing device 108-1 associated with a first user to be sent to a second mobile computing device 108-2 associated with a second user. In one embodiment, the request may be sent manually by the first user. In other embodiments, the request may be generated automatically via the first mobile computing device 108-1.

[0046] In one embodiment, the controller 102 may select a primary PLMN cluster and a secondary PLMN cluster from among one or more PLMN clusters communicatively coupled to the first mobile computing device 108-1 and the second mobile computing device 108-2. In an example embodiment, as shown in FIG. 1A, cluster 1 may be selected as the primary PLMN cluster and cluster 3 may be selected as the secondary PLMN cluster. In one implementation, the system 100-1 may facilitate configuration of one or more PLMN clusters as either a primary PLMN cluster or a secondary PLMN cluster based on a mapping of a routing table.

[0047] In one exemplary embodiment, system 100-1 may be configured to map a primary PLMN cluster to two or more secondary PLMN clusters. In another exemplary embodiment, system 100-1 may be configured to map one or more primary PLMN clusters to a secondary PLMN cluster.

[0048] In one embodiment, each PLMN cluster may consist of multiple endpoints that may link the PLMN cluster with multiple devices at the same time, where the controller 102 may determine the operational state of each endpoint of the selected primary PLMN cluster as active or inactive.

[0049] In one embodiment, if the operational state of at least one endpoint in the primary PLMN cluster is determined to be active, the controller 102 may be configured to route a request directly from the first mobile computing device 108-1 via the endpoint in the primary PLMN cluster to the second mobile computing device 108-2 via a primary path (shown in FIG. 1A ).

[0050] In other embodiments, if the operational states of two or more endpoints of the primary PLMN cluster are determined to be active, the controller 102 may be configured to distribute data traffic related to one or more requests received from separate mobile computing devices proportionally in the network among the active endpoints of the primary PLMN cluster. In one embodiment, the active state of an endpoint indicates that the endpoint is powered on and available to route traffic.

[0051] In another embodiment, if the operational state of all endpoints in the primary PLMN cluster is inactive, the controller 102 may route the request from the primary PLMN cluster to the secondary PLMN cluster and enable its transmission to the second mobile computing device 108-2 via the secondary path using a round robin approach, as shown in FIG. 1A. In an exemplary embodiment, if the operational state of all endpoints in the secondary PLMN cluster is also found to be inactive, the system 100-1 may trigger a negative response corresponding to the received request. In one embodiment, the inactive state of an endpoint indicates that the endpoint is powered off and cannot route traffic.

[0052] In an exemplary embodiment, the system may also include a tertiary PLMN cluster, and if all endpoints of the secondary routers are also inactive, the system 100-1 may route requests through the tertiary PLMN cluster.

[0053] In one embodiment, the number of endpoints in the primary PLMN cluster may be equal to the number of endpoints in the secondary PLMN cluster, while in other embodiments, the number of endpoints in the primary PLMN cluster may be different from the number of endpoints in the secondary PLMN cluster.

[0054] As shown in FIG. 1B, network device 102 may be coupled to multiple nodes, including node 106-1, node 106-2, ... node 106-N, and configured to facilitate secure communications between the multiple nodes (hereinafter collectively referred to as nodes 106 and individually as node 106).

[0055] In one embodiment, each of the nodes can be configured to be coupled with multiple user devices 108-1, 108-2, 108-3, 108-4...108-(N-1), 108-N (collectively referred to hereinafter as user devices or UEs 108 and individually as user devices 108). In one embodiment, the system 100-2 can establish secure communications between user devices associated with different nodes. In another embodiment, the system 100-2 can establish secure communications between user devices associated with the same node.

[0056] In an exemplary embodiment, system 100-2 can effectively establish secure communications between user device 108-1 and user device 108-2, both of which are coupled to node 106-1. In another exemplary embodiment, system 100-2 can equally effectively establish secure communications between user device 108-2 and user device 108-N, both of which are coupled to node 106-1 and node 106-N.

[0057] In an exemplary embodiment, the network device 102 (also referred to herein as the network 102) may be configured as an application server and may be operable to communicate with the user device 108 via a network coupled to the server 104, or may be integrated with the user device 108 via a network coupled to the server 104. In another exemplary embodiment, the user device 108 may be a wireless device. The wireless device may be a mobile device, which may include, for example, a mobile phone, such as a feature phone or a smartphone, and other devices. The user device 108 may not be limited to the aforementioned devices, and may include any type of device capable of providing wireless communications, such as a mobile phone, a tablet computer, a personal digital assistant (PDA), a personal computer (PC), a laptop computer, a media center, a workstation, and other such devices. The SCP implementation may involve an ingress node and / or an egress node. In the case of an ingress node implementation, the NF profile used for registration may include the two endpoints multiple and in the correct order. In an exemplary embodiment, a zero-based indexing may be used such that an even index of the endpoint should belong to the active cluster and an odd index should belong to the DR cluster.

[0058] In one embodiment, the proposed system 100-2 may not only solve the challenges introduced by the next generation service-based architecture, but may also be able to optimize signaling control. The system 100-2 may enable service providers to gain better visibility into the core network, which may be defined as the backbone of the network architecture. For example, in the present disclosure, the core network may relate to a 5G service-based architecture and may be configured to interconnect different networks related to the architecture. Thus, the core network may provide a path for the exchange of information between one or more of the networks and the corresponding sub-networks. Furthermore, as a backbone, the core network may connect diverse networks, e.g., local area networks (LANs), wide area networks (WANs), metropolitan area networks (MANs), etc., that may be located in the same building, in different buildings, in a canvas environment, or across a wide district. The system may also enhance the performance of the network by continuously coordinating with other network functions. According to one embodiment, the 5G system architecture may leverage service-based interactions between NF service consumers and NF service producers directly or indirectly via a service communication proxy (SCP).

[0059] 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 various types of networks, such as an intranet, a LAN, a WAN, the Internet, etc. Furthermore, the network may be either a dedicated network or a shared network. A shared network may represent an association of various types of networks that may use various protocols, such as Hypertext Transfer Protocol (HTTP), Transmission Control Protocol / Internet Protocol (TCP / IP), Wireless Application Protocol (WAP), Automatic Repeat Request (ARQ), etc. In an embodiment, the network may relate to, for example, a 5G network, which may be facilitated via a satellite or terrestrial wide area access network, such as a Global System for Mobile Communications (GSM) network, a Universal Terrestrial Radio Network (UTRAN), an Enhanced Data Rate for GSM Evolution (EDGE) Radio Access Network (GERAN), an Evolved Universal Terrestrial Radio Access Network (E-UTRAN), a WIFI or other LAN access network, or a Wireless Microwave Access (WIMAX) network. Various other types of communication networks or services may be possible.

[0060] In one example, the network 102 may utilize various types of air interfaces, such as code division multiple access (CDMA), time division multiple access (TDMA), or frequency division multiple access (FDMA) air interfaces and other implementations. In an exemplary embodiment, wired user devices may use wired access networks exclusively or in combination with wireless access networks including, for example, plain old telephone service (POTS), public switched telephone network (PSTN), asynchronous transfer mode (ATM), and other network technologies configured to transport Internet Protocol (IP) packets.

[0061] In one embodiment, as shown in FIG. 1C, the proposed system 100-3 can facilitate the interaction of the SCP 112 with various different network components and corresponding network functions, and the SCP 112 can be communicatively coupled to all other devices via a core network 114. In one embodiment, the core network 114 can facilitate the communicative coupling of the SCP 112 with a 5G-EIR 116, which can be defined as an independent network component that may help a carrier protect its network. The 5G-EIR can help protect the network by providing a mechanism to restrict malicious user terminals in the network.

[0062] In other embodiments, the core network 114 can facilitate communication coupling between the SCP 112 and a network component supporting a network slice selection function 118 (NSSF 118), which can select a network slice instance to serve the user device 108, determine an allowed NASSAI, and determine an AMF set to be used to serve the user device 108.

[0063] In another embodiment, the SCP 112 may be coupled to a network component that supports an Authentication Server Function (AUSF) 120, which may function as an authentication server and check the authenticity of information flowing therethrough.

[0064] In yet another embodiment, the SCP 112 can be combined with network components supporting a Unified Data Management 122 (UDM 122) and Unified Data Repository 124 (UDR 124), where the UDM 122 can facilitate a centralized technique for controlling network user data. For example, the UDM 122 can generate authentication and key agreement (AKA) credentials, perform user identification processing, access authorization, and perform subscription management.

[0065] Additionally, the UDM 124 may act as a central repository for subscriber-related information and facilitate services to several network functions. For example, a 5G UDM (Unified Data Management) may use the UDR to store and retrieve data related to subscriptions. Alternatively, a PCF (Policy Control Function) may use the UDR to store and retrieve policy-related data. Additionally, a NEF (Network Exposure Function) may also use the UDR to store subscriber-related data that is authorized to be exposed to third-party applications.

[0066] In one embodiment, the SCP 112 may be coupled to a network component that supports a Network Exposure Function 126 (NEF 126), which can perform functions such as publishing capabilities and events, securely providing information from external applications to the 3GPP network, and translating internal / external information.

[0067] In yet another embodiment, the SCP 112 can be coupled with a network component supporting a 5G Network Data Analytics Function 128 (NWDAF 128), which can be configured to provide insights and suggest actions to be taken to streamline and control how core network data is generated and consumed and enhance end-user experience. In an exemplary embodiment, the NWDAF can be configured to overcome market fragmentation and proprietary solutions in the field of network analytics. Additionally, the NWDAF can: -Interface for collecting data from network nodes Predefined analytical insights Data publishing interface for consumers Three main standardization points may be addressed:

[0068] In one embodiment, the SCP 112 may be coupled with network components supporting a Session Management Function 130 (SMF 130), an Access and Mobility Management Function 132 (AMF 132), a Policy Control Function 134 (PCF 134), and an Application Function 136 (AF 136), where the SMF 130 may perform functions related to session management, such as session establishment, modification, and release. Additionally, the SMF 130 may handle User Equipment (UE) IP address allocation and management, DHCP functions, termination of NAS signaling related to session management, DL data notification, traffic steering configuration of the User Plane Function (UPF) for proper traffic routing, etc.

[0069] Furthermore, 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. Furthermore, the PCF 134 may provide a unified policy framework, policy rules for the CP function, and access subscription information for policy decisions in the UDR. The AF 136 may check the impact of applications on traffic routing, access the NEF, and interact with the policy framework for policy control.

[0070] In one embodiment, the SCP 112 can be combined with network components supporting a Short Message Service Function 138 (SMSF 138), a NF Repository Function 140 (NRF 140), a Security Edge Protection Proxy 142 (SEPP 142), and a User Plane Function 144 (UPF 144). The SMSF 138 can facilitate the transfer of SMS over the NAS in the 5G architecture. Additionally, the SMSF 138 can perform subscription checks and can perform relay functions between the user device 108 and the SMSC (Short Message Service Center) through interaction with the AMF (Core Access and Mobility Management Function).

[0071] Additionally, the NRF 140 may be configured to perform service discovery functions, maintain NF profiles, and may also check for available NF instances. A BroadForward Security Edge Protection Proxy 142 (BroadForward SEPP 142) may also facilitate secure communications between one or more 5G networks. The SEPP 140 may also provide end-to-end confidentiality and / or integrity between source and destination networks for all 5G interconnect roaming messages.

[0072] Additionally, the UPF 144 can function to connect the actual data coming in through the corresponding Radio Area Network (RAN) to the Internet. In an exemplary embodiment, the UPF 144 can route and forward packets, perform packet inspection, and handle Quality of Service (QoS). Additionally, the UPF 144 can function as an external PDU session point of interconnection to the Data Network (DN) 146, and can also function as an anchor point for intra-RAT as well as inter-RAT mobility.

[0073] It should be noted that the functionality of the SCP 112 is independent of the distance between network functions. Additionally, the SCP 112 can facilitate peer-to-peer communication between peer instances / nodes.

[0074] Moreover, the basic function of the SCP 112 is to provide end-to-end connectivity between different nodes having different deployment scenarios, architectures, and functions while efficiently managing such architectures. The routing capabilities of the proposed system 100-3 are independent of the architecture, structure, functionality, and network function implementation of each node.

[0075] In one embodiment, the present system and method may be applied as an integrated or hybrid routing solution based technique, including but not limited to any or combination of fourth generation (4G), fifth generation (5G), or sixth generation (6G) based architectures / implementations. In an exemplary embodiment, the routing solutions and algorithms may include 4G to 5G based interworking routing scenarios including interworking. For example, this implementation may include, but is not limited to: HTTP2 to HTTP Other conversions may be possible at the TCP / IP layer, for example between NEF (5G node) and SCEF (4G node) and between HSS (4G) and UDM (5G). Various other protocols may be used within the scope of this disclosure. The protocol may be obtained by converting the protocol, including:

[0076] In another exemplary embodiment, the routing solution may be designed to solve upcoming 6G routing. For example, this may be accomplished by enabling grid routing, or may be possible to plug into any protocol stack, or may be possible through implementation of other aspects. In yet another exemplary embodiment, the routing solution may include artificial intelligence (AI) based adaptive routing based on availability of historical data. In yet another exemplary embodiment, the routing solution may include adaptive circuit breaker mechanisms that may enable detection of catastrophic events in the network and may protect network elements. Various other similar aspects / embodiments may be possible.

[0077] FIG. 2, referring to FIG. 1C, shows at 200 an example diagram of an SCP implementation according to an embodiment of the present disclosure. FIG. 2 mainly shows current implementations for intelligent load balancing, routing, monitoring, and congestion control at the application layer, i.e., layer 7 of the Open Systems Interconnection (OSI) model, which may completely separate the service layer from the infrastructure layer. SCP may not only solve challenges related to next-generation based architectures, such as 5G service-based architectures, but may also optimize signaling control and therefore provide better visibility to the core network. SCP 112 may also enhance network performance by continuously coordinating with other network functions.

[0078] In one embodiment, the system 200 may perform interconnected functions at block 202 and facilitate communication between peer nodes and create a mesh based on discovery / information distributed by the peer nodes at block 204. Additionally, the system 200 may facilitate scale-up and scale-down capabilities at block 206, which may provide increased flexibility. Additionally, the system 200 may enable utilization of the full potential of a service-based architecture at block 208. Additionally, the system 200 may address the need for a module with some central functionality at block 210, thereby facilitating secure communication between the nodes 106 and the SCP 112 (of FIG. 1B). For example, the SCP 112 may be configured to control the flow of data / information between the nodes by facilitating load balancing, routing, traffic monitoring, congestion control, and service discovery in a layer 7 service mesh. In an exemplary embodiment, the system 200 may determine network function (NF) instances, and correspondingly, the SCP 112 may manage function-specific service proxy instances. In another exemplary embodiment, the NRF 140 may provide registration, re-registration, and NF discovery functions together.

[0079] In another exemplary embodiment, system 200 may include NFs that may communicate with NRF 140 via an SCP controller. For example, NF service 'x' and PCF proxies running in instance 'y' may communicate with NRF 140, which may act as a central repository and contain information about all NFs, via the SCP controller of SCP 112. In another exemplary embodiment, the SCP controller may be trained to configure the SCP proxies based on real-time conditions. Thus, pre-configuration of SCP proxies may not be required in system 200.

[0080] FIG. 3A shows an example representation of a flow diagram illustrating indirect communication through the proposed system with delegated discovery according to an embodiment of the present disclosure. FIG. 3B shows an example representation of a flow diagram illustrating indirect communication through the proposed system without delegated discovery according to an embodiment of the present disclosure. With reference to FIG. 3A and FIG. 3B, the system 100 implements the SCP 112 (of FIG. 1C) to support both scenarios of indirect communication, i.e., indirect communication with / without delegated discovery, for discovery of peer network capabilities. Indirect communication without delegated discovery: As shown in 300-1 in FIG. 3A, in this case, a consumer node or consumer NF 320 (consumer NF related to the UE sending the request) may directly query the NRF 140 to obtain information related to the NF profile of a provider node or provider NF 340 (destination node to which the request needs to be sent) at 302. Based on the discovery result, the NRF 140 may send the NF profile to the consumer node 320 at 304. In an exemplary embodiment, based on the discovery result, the consumer NF 320 may select an NF instance of the NF service instance set. In 306, the consumer NF 320 may send a request to the SCP 112 including the address of the selected service producer pointing to the NF service instance or set of NF service instances. In an exemplary embodiment, the SCP 112 may possibly interact with the NRF 140 to obtain selection parameters such as location, capacity, and other such information. In 312, the SCP 112 may route the request to the selected NF service provider instance or provider node 340. At 314, the provider NF 340 may generate a service response, which may be further transmitted to the consumer NF 320 via the SCP 112 at 316. Similarly, a subsequent request may be transmitted at 310, and the subsequent request may be further processed in the same manner. Indirect communication with delegated discovery: This communication mode may work even if the user does not perform any discovery or selection. As shown at 300-2 in FIG. 3B, in this case, the consumer mode or consumer NF 320 (consumer NF related to the UE sending the request) does not directly query the NRF 140 to obtain information related to the NF profile of the provider node or provider NF 340 (destination node to which the request needs to be sent) shown in FIG. 3A. In an exemplary embodiment, as shown in FIG. 3B, the consumer node 320 may add any necessary discovery and selection parameters to the service request required to find the appropriate provider node 340 at 322. In an exemplary embodiment, the SCP may perform discovery with the NRF 140 and obtain the discovery result. The SCP 112 may use the request address and discovery selection parameters in the request message to route the request to the appropriate producer instance / provider node 340 as shown in step 328. The provider NF 340 may then generate a service response at 330, which may be further transmitted to the consumer NF 320 via the SCP 112 at 324. Similarly, a subsequent request may be sent at 326, and the subsequent request may be further processed in the same manner.

[0081] In an exemplary embodiment, the proposed SCP 112 may also be used for indirect communication between NFs and NF services within any or a combination of Public Land Mobile Networks (PLMNs), such as, for example, a Visiting Public Land Mobile Network (VPLMN) and a Home Public Land Mobile Network (also referred to as a Home Public Land Mobile Network (HPLMN).

[0082] According to one embodiment, apart from acting as a proxy or routing agent between various network functions, the SCP 112 may also be configured to perform the following functions: · Communications Security: The SCP platform may be configured to ensure that only authorized consumer NFs can communicate with provider NFs. Load balancing: The provider NF may configure various load balancing techniques such as round robin and weighted scheduling, in which client requests may be periodically routed to available servers. Round robin server load balancing may work optimally when servers have roughly the same computing and storage capabilities. · Support for security: SCP also supports security mechanisms between consumers and providers of network services. Traffic monitoring: The SCP may monitor the performance of the provider NFs with respect to the number of service requests being processed. · Traffic prioritization: The SCP platform may be configured to prioritize the requests of a particular consumer NF over any other consumer NF. · NF Discovery: The SCP provides an interface to identify the most appropriate instance of other network function (e.g. AUSF, PCF) for a particular UE's SUPI, SUCI, or GPSI. Overload control: The SCP has the ability to set an upper limit on the number of admissions to a particular instance of a provider NF, meaning that it will not admit new consumer NFs if the number of consumer applications reaches a threshold limit.

[0083] 4A-4B show example representations 400-1 and 400-2 of a system architecture of a service communication proxy (SCP) according to one embodiment of the present disclosure. With reference to FIG. 4A, a point of delivery (POD) may be outlined by a dashed line, alongside the system boundary of the service communication proxy (SCP) 112. All other systems / components may be 3GPP-defined 5G network functions that may include a protocol interface with the SCP 112.

[0084] In one embodiment, the Service Communication Proxy (SCP) architecture includes the following functions: Indirect communication Delegated Discovery Forwarding and routing messages to destination NFs / NF services Communication security (e.g., authorization of NF service consumers to access NF service producer APIs), load balancing, monitoring, overload control, etc. Optionally interact with the UDR to resolve the UDM Group ID / UDR Group ID / AUSF Group ID / PCF Group ID / CHF Group ID / HSS Group ID based on the UE identity, e.g. SUPI or IMPI / IMPU may include at least one of the following:

[0085] In one embodiment, the proposed SCP 112 may include an SCP proxy along with an SCP controller 404. In one embodiment, the SCP proxy may be either an ingress proxy or an egress proxy, where: Ingress Proxy: This proxy instance guarantees incoming traffic to producer NFs based on a configured policy, the default being round robin. · Egress Proxy: This proxy instance ensures that consumer egress traffic flows to the correct SCP ingress proxy and routes it based on NF or SCP selection criteria. It may be appreciated that hybrid deployments are also possible, where a single SCP instance may act as an egress proxy as well as an ingress proxy.

[0086] In one embodiment, the SCP 112 may include multiple SCP proxies as shown in FIG. 4A, which may be communicatively linked to the SCP controller 404 via an HTTP module along with the NRF, EMS, Plus, SMP, API, and various network functions. Additionally, the SCP controller 404 may be configured to manage all SCP proxy instances and select the appropriate proxy instance as an egress or ingress for the target NF during NF registration and discovery flows; to do this, the SCP controller 404 needs to be placed in front of an NRF cluster serving multiple PLMNs or a single PLMN. In an exemplary embodiment, the SCP controller 404 may configure some instances of a PLMN to act as disaster recovery (DR) endpoints for a corresponding set of active PLMN cluster endpoints.

[0087] In one embodiment, as shown in FIG. 4B, an exemplary architecture of the SCP 112 is shown. The SCP 112 may facilitate routing of requests through a combination of hardware and software implementations. FIG. 4B shows an exemplary representation of the SCP 112 of FIG. 1B, according to one embodiment of the present disclosure. The SCP 112 may include one or more processors or controllers (e.g., the SCP controller 404 shown in FIG. 4A). The one or more processors or controllers 404 may be coupled to a memory 410. The memory 410 may store instructions that, when executed by the one or more processors or controllers 404, cause the SCP 112 to perform the steps described herein.

[0088] In one embodiment, the processor or controller 404 may enable routing of requests from a consumer node (pertaining to a user device sending a request) to a destination node (or provider node). For example, the processor or controller 404 of the SCP 112 may identify / configure at least one endpoint or node before routing the request. In this example, an identification of available endpoints within a cluster of endpoints may be made, where the cluster may pertain, for example, to a primary / active cluster and a secondary / DR cluster. In an exemplary embodiment, the request may be routed to an identified / configured pair if at least one endpoint within the pair may be functional. The active cluster may include an active endpoint to which the request may be preferably routed if an endpoint is available. The DR cluster may include a DC endpoint, which may be considered an alternative endpoint for routing the request if all endpoints in the primary cluster may be unavailable or non-functional.

[0089] In one example, a primary-secondary policy may identify the operational state of all endpoints in the active and DR clusters. The configuration / identification may be performed prior to routing, which may allow for effective management of incoming requests. It may also be possible to pre-plan routing directly to a DR endpoint (in a DR cluster) in cases where none of the endpoints (in an active cluster) may be available. In an alternative embodiment, multiple endpoints in an active cluster may be paired with a single DR endpoint.

[0090] In an exemplary embodiment, the identification / configuration of the pairs of endpoints may be performed based on a predefined policy of the SCP 112. For example, the predefined policy may relate to a primary-secondary implementation as described herein. For example, the processor or controller 404 may evaluate the case when all endpoints of the active cluster are unavailable and may be able to configure some endpoints in the corresponding DR cluster before routing the request. In another example, the processor or controller 404 may evaluate the case when none of the endpoints of the active cluster are available and may also be able to evaluate if all endpoints of the corresponding DR are unavailable such that the request may not be routed at all. This may eliminate unnecessary rerouting and may facilitate an effective routing step. In an exemplary embodiment, the identification / configuration of the endpoints may be performed based on a predefined criterion. For example, the predefined criterion may relate to a header routing criterion that may enable the processor or controller 404 of the SCP 112 to determine which endpoints should be selected (prior to routing) based on availability. Various other examples are provided in the following paragraphs, but the disclosure may not be limited by these examples. In one example, the header routing criteria may be predefined in 3GPP TS 29.500. For example, but not limited to, the header routing criteria may include: a) 3gpp-sbi-discovery b) 3gpp-sbi-target-apiroot c) 3gpp-sbi-binding / 3gpp-sbi-routing-binding In an exemplary embodiment, if multiple predefined criteria or header routing criteria are considered, the processor or controller 404 may be able to prioritize the predefined criteria to enable appropriate selection / identification / configuration of the endpoint prior to routing of the request. Various other embodiments may be possible.

[0091] The SCP implementation may involve an ingress node and / or an egress node. For an ingress node implementation, the NF profile used for registration may include two endpoints in multiples and in the correct order. In an example embodiment, zero-based indexing may be used such that an even index of the endpoint should belong to the active cluster and an odd index should belong to the DR cluster.

[0092] The processor or controller 404 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuits, and / or any device that processes data based on operational instructions. Among other capabilities, the processor or controller 404 may be configured to fetch and execute computer-readable instructions stored in the memory 410 of the SCP 112. The memory 410 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer-readable storage medium, and the one or more computer-readable instructions or routines may be fetched and executed to create or share data packets via the network service. The memory 410 may comprise any non-transitory storage device, including, for example, a volatile memory such as a RAM, or a non-volatile memory such as an EPROM, a flash memory, and the like.

[0093] In one embodiment, the SCP 112 may include an interface 412. The interface 412 may comprise various interfaces, for example, interfaces for data input and output devices, referred to as I / O devices, storage devices, etc. The interface 412 may facilitate communications for the SCP 112. The interface 412 may also provide a communications path for one or more components of the SCP 112. Examples of such components include, but are not limited to, a processing engine or module 404-1, and a database 424.

[0094] The processing engine or module 404-1 may be implemented as a combination of hardware and programming (e.g., programmable instructions) to implement one or more functions of the processing engine or module 404-1. In the examples described herein, such a combination of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine or module 404-1 may be processor-executable instructions stored on a non-transitory machine-readable storage medium, and the hardware for the processing engine or module 404-1 may comprise processing resources (e.g., one or more processors) to execute such instructions. In this example, the machine-readable storage medium may store instructions that, when executed by the processing resources, implement the processing engine or module 404-1. In such an example, the SCP 112 may comprise a machine-readable storage medium that stores the instructions and the processing resources that execute the instructions, or the machine-readable storage medium may be separate from, but accessible to, the SCP 112 and the processing resources. In other examples, the processing engine or module 404-1 may be implemented by electronic circuitry.

[0095] In one embodiment, the processor or controller 404 may be associated with an ingress controller that allows for processing / controlling one or more aspects of an incoming request received at an ingress node (entry point) of the SCP 112. In another embodiment, the processor or controller 404 may be associated with an egress controller that allows for processing / controlling one or more aspects of a request being routed at an egress node (exit point) of the SCP 112. In yet another embodiment, the processor or controller 404 may be associated with a unified controller that includes both ingress and egress controllers that allow for processing / controlling one or more aspects of an incoming request received at an ingress node (entry point) of the SCP 112 and / or that allows for processing / controlling one or more aspects of a request being routed at an egress node (exit point) of the SCP 112.

[0096] The processing engine or module 404-1 of the SCP 112 may include one or more components including a receiving module 416, a proxy information module 418, a routing module 420, and other modules or components 422, as shown in FIG. 4B. In one embodiment, the receiving module 416 may enable receiving incoming requests from consumer modules via an ingress controller, and the routing module 420 may enable routing the requests to provider nodes via an egress controller. The proxy information module 418 may enable collecting or storing information related to available proxies or endpoints related to the active and / or DR clusters. The other modules or components 422 may include, but are not limited to, an ingress module (related to an ingress node), an egress module (related to an egress node), a load balancer, an edge router configuration module, a mapping module (that maps endpoints related to the active and / or DR clusters), a request processing module, an error message generation module, and other modules or engines. Various other functions of the components may be possible. In one embodiment, database 210 may include data that may be stored or generated as a result of functions implemented by any of the components of SCP 112's processing engine module 404-1.

[0097] 5 illustrates an example overview of an SCP deployment based on 5G capabilities and SCPs deployed in separate deployment units, according to one embodiment of the present disclosure. Referring to FIG. 5, an overview of an SCP deployment is shown at 500, where the SCP deployment may be based on 5G capabilities and the SCPs may be deployed in separate deployment units. Further, the system 100 hereinafter includes: one SCP proxy instance for a single NF type considered for one PLMN, One SCP proxy instance for multiple NF types considered for one PLMN; One SCP proxy instance for multiple NF types considered for multiple PLMNs; Multiple proxies in a single PLMN for multiple NF types; and A single SCP controller for multiple NRF instances considered for multiple PLMNs may be designed to support

[0098] In one embodiment, the system 100 may be configured to provide different types of routing techniques for the SCP proxy, and the routing techniques may be implemented according to different NF teams and their GR / DR processing requirements. In one embodiment, an ingress primary secondary routing technique may be used at the ingress proxy, and an egress primary secondary routing technique may be used at the egress proxy. In these routing techniques, a GR cluster or a DR cluster may be defined based on a PLMN list. In one example, the proposed primary secondary routing technique may also be integrated with other policies, such as an active-active routing policy, an active-standby routing policy, etc., which may ensure utilization of all endpoints in an initially active cluster.

[0099] In an exemplary embodiment, as shown in Figure 6, several clusters may be defined in the network as active clusters and DR clusters, for example, cluster A and cluster B. Suppose cluster A can function as active cluster 602 and have PLMN lists P1 and P2, and cluster B can function as DR cluster 604 and have PLMN lists P3 and P4. In one implementation, to configure cluster B as a DR for cluster A, system 100 / SCP 112 can define a mapping from active-PLMN-id to DR-PLMN-id in the SCP controller. From the PLMN mapping, SCP 112 can identify cluster B as its DR cluster 604.

[0100] Furthermore, each cluster can have two endpoints, for example, cluster A can have endpoint 1 and endpoint 2, and cluster B can have endpoint 3 and endpoint 4.

[0101] In one embodiment, system 100 can be configured to handle requirement routing that can be based on endpoint status. In one embodiment, in a first scenario, if at least one endpoint in cluster A is active, 100% of the traffic related to the request may be routed to cluster A. If more than one endpoint in cluster A is up, the traffic is distributed proportionally across the active endpoints in cluster A.

[0102] In another embodiment, in the second scenario, if all endpoints in cluster A are not operational, 100% of the traffic may be routed to cluster B. In an exemplary embodiment, traffic may be routed in a round-robin fashion in cluster B. Additionally, if all endpoints are not operational (or inactive), regardless of cluster, a "negative response" may be sent.

[0103] 7A-7C show exemplary representations 700-1, 700-2, and 700-3 illustrating the function of a primary-secondary policy implementation based on different states of endpoints in a primary cluster 710 and a secondary cluster 720, respectively, according to an embodiment of the present disclosure. In an embodiment, a request may be obtained at 702, and then it may be checked at 704 whether any / at least one endpoint is active. In an exemplary embodiment, as shown in 700-1 in FIG. 7A, if all endpoints (1-4) in the primary cluster 710 and the secondary cluster 720 are active (marked with a check symbol), 100% of the traffic may be routed to the primary cluster 710. Furthermore, the numbers assigned to the endpoints in the primary cluster 710 are similar to the numbers assigned to the corresponding endpoints in the secondary cluster 720. The numbers 1-4 may be provided only for the purpose of simplicity, but it may be understood that the clusters may not be limited to four endpoints. As shown in FIG. 7A, since all endpoints within the primary cluster 710 are known to be active, 100% of the traffic may be routed to the primary cluster 710 such that retrieved requests may be sent and proportionally distributed across all endpoints in the primary cluster 710.

[0104] In another exemplary embodiment, as shown in 700-2 in FIG. 7B, some of the endpoints in the primary cluster 710 and the secondary cluster 720 may be active (marked with a check symbol) and some may be unavailable or non-functional (marked with a cross symbol). For example, endpoints 2, 3, and 4 in the primary cluster 710 may not be functional, and endpoints 1 and 3 in the secondary cluster 720 may not be functional. Upon receiving one or more requests at the SCP, it may be checked whether all endpoints in the primary cluster 710 are functional / available. As mentioned above, some of the endpoints in the active cluster 702 may be found to be active in 704, so that even if only one endpoint, e.g., endpoint 1 in FIG. 7B, is available, traffic may be routed entirely to the available endpoints of the primary cluster 710.

[0105] In another exemplary embodiment, as shown at 700-3 in FIG. 7C, when none of the endpoints in the primary cluster 710 are available (marked with a cross symbol), some endpoints in the secondary cluster 720 may be available (marked with a check symbol). For example, endpoints 2 and 4 in the secondary cluster 720 may be functional, and endpoints 1 and 3 in the secondary cluster 720 may not be functional. Upon receiving one or more requests at the SCP at 702, it may first be checked whether all endpoints in the primary cluster 710 are functional / available at 704. As mentioned above, since none of the endpoints in the primary cluster 710 may be found to be available, traffic may be routed to those endpoints (e.g., endpoints 2 and 4) of the secondary cluster 720 that are active. However, since endpoints 1 and 3 of the secondary cluster 720 may be unavailable / non-functional endpoints, the traffic of the request may not be sent to these endpoints.

[0106] In an exemplary embodiment, if none of the endpoints in the primary cluster 710 as well as the secondary cluster 720 are found to be active, the SCP 112 may generate an error signal or a negative response.

[0107] In one embodiment, the processor or controller 404 may be associated with an ingress controller that allows for processing / controlling one or more aspects of an incoming request received at an ingress node (entry point) of the SCP 112. In another embodiment, the processor or controller 404 may be associated with an egress controller that allows for processing / controlling one or more aspects of a request being routed at an egress node (exit point) of the SCP 112. In yet another embodiment, the processor or controller 404 may be associated with a unified controller that includes both ingress and egress controllers that allow for processing / controlling one or more aspects of an incoming request received at an ingress node (entry point) of the SCP 112 and / or that allows for processing / controlling one or more aspects of a request being routed at an egress node (exit point) of the SCP 112.

[0108] In one embodiment, the system 100 may be configured to provide different types of routing techniques to the SCP proxy 402, which may be implemented according to different NF teams and their GR / DR processing requirements. In one embodiment, an ingress primary secondary routing technique may be used at the ingress proxy, and an egress primary secondary routing technique may be used at the egress proxy. In these routing techniques, a GR cluster or a DR cluster may be defined based on a PLMN list. In one example, the proposed primary secondary routing technique may also be integrated with other policies, which may ensure utilization of all endpoints in the initially active cluster.

[0109] Thus, the proposed system 100 can solve problems such as, but not limited to, congestion control, traffic prioritization, and overload control, thereby optimizing data paths for information exchanged between various network functions, thereby avoiding cases of data blockage, data loss, and data substitution.

[0110] FIG. 8 illustrates an example representation related to primary secondary routing according to one embodiment of the present disclosure. As shown at 800, for a consumer node 802, at the NF consumer, the SCP of the present disclosure may be able to process a primary secondary routing table 804 that indicates various NF instances with respect to PLMN IDs and destination node related information. The routing table and corresponding adjacent elaborated tables indicate various NF instances and corresponding PLMN-ids for endpoints in the primary and secondary clusters. In one example, to enable configuration and mapping of endpoints in the primary and secondary clusters, the SCP may be able to perform identification / configuration of pairs of endpoints.

[0111] In an exemplary embodiment, as shown in FIG. 9, the exemplary representation indicates that the routing of the request may be based on the corresponding PLMN-id and context. In another exemplary embodiment, the routing of the request may be based on the corresponding PLMN-id and NF type. In another exemplary embodiment, the routing of the request may be based on the corresponding NF instance. In yet another exemplary embodiment, the routing of the request may be based on the corresponding NF set id.

[0112] Additionally, in other embodiments, the routing of the request may be based on the NF service set id. In another embodiment, the routing of the request may be based on the corresponding NF service instance.

[0113] In a first example, the routing of the request may be based on the NF id corresponding to the secondary NF type. In a second example, the routing of the request may be based on the NF id corresponding to the primary NF type.

[0114] In another example, the routing of the request may be based on the NF id corresponding to the secondary service. In another example, the routing of the request may be based on the NF id corresponding to the primary service.

[0115] 10A illustrates an exemplary representation showing various clusters and associated primary-secondary hybrid routing tables according to an embodiment of the present disclosure. In an exemplary embodiment, three clusters, namely, Cluster A, Cluster B, and Cluster C, can be configured as either primary or secondary clusters based on the illustrated primary-secondary hybrid routing table. In one instance, Cluster B can function as an independent active cluster as well as a DR cluster for either or both Cluster A and Cluster C.

[0116] FIG. 10B illustrates an exemplary representation showing an integrated implementation including various routing policies, according to one embodiment of the present disclosure.

[0117] As shown in FIG. 10B, for a consumer node, the system or SCP 112 may enable an integrated implementation to include various routing policies that may be used to determine the specific routing of a request. For example, the table shows routing based on the SCP's primary-secondary routing policy, including routing between endpoints configured in the active and DR clusters, as described above. In another example, the table shows routing based on the SCP's active-active routing policy, including routing between endpoints in the active cluster to ensure that all endpoints in the active cluster may be effectively utilized. In another example, the table shows routing based on the SCP's active-standby routing policy, including routing between endpoints in the primary and secondary clusters, where endpoints in the active cluster may be paired with endpoints in the DR cluster such that if one endpoint in the active cluster is unavailable, the request is routed to the corresponding paired endpoint in the DR cluster. In another example, the table shows routing based on the SCP's hybrid primary-secondary routing policy, including routing between endpoints in the primary and secondary clusters based on active and standby modes.

[0118] 11 illustrates an example representation of a flow diagram 1100 depicting a proposed method 1100 for implementing a primary secondary routing technique in a network. The method 1100 may include, at step 1102, receiving, at a controller in communication with one or more public land mobile network (PLMN) clusters associated with the network, a request to be transmitted from a first mobile computing device associated with the network to a second mobile computing device associated with the network.

[0119] In one embodiment, the method 1100 may include, at step 1104, selecting, at the controller, a primary PLMN cluster and a secondary PLMN cluster from among one or more PLMN clusters communicatively coupled between the first and second mobile computing devices. Further, the method 1100 may include, at step 1106, determining, at the controller, an operational state of each endpoint of the primary PLMN cluster selected at step 1104.

[0120] Further, the method 1100 may include, if the operational states determined in step 1106 of all endpoints in the primary PLMN cluster are inactive, in step 1108, routing the request through a secondary PLMN cluster for sending the request to the second mobile computing device.

[0121] In one embodiment, if the operational state of at least one endpoint of the primary PLMN cluster is active, the method 1100 may include routing the request directly from the first mobile computing device to the second mobile computing device via said endpoint of the primary PLMN cluster. Additionally, the method 1100 may include, if the operational state of two or more endpoints of the primary PLMN cluster is active, proportionally distributing data traffic related to the request in the network among the active endpoints of the primary PLMN cluster.

[0122] In one embodiment, if the operational state of all endpoints in the primary PLMN cluster is inactive, the method 1100 may include a round robin approach to routing requests from the primary PLMN cluster towards the secondary PLMN cluster.

[0123] In an example embodiment, the method 1100 may include configuring one or more PLMN clusters as either a primary PLMN cluster or a secondary PLMN cluster based on a mapping of a routing table. In one example, the method 1100 may include mapping one primary PLMN cluster to two or more secondary PLMN clusters. Additionally, two or more primary PLMN clusters may be mapped to one secondary PLMN cluster.

[0124] In one embodiment, if the operational state of all endpoints in the secondary PLMN cluster is inactive, the method 1100 may include triggering a negative response corresponding to the received request.

[0125] Additionally, the method 1100 may include implementing, within the network, either or a combination of ingress primary secondary routing techniques and egress primary secondary routing techniques.

[0126] FIG. 12 illustrates an exemplary computer system in which embodiments of the present disclosure may be utilized.

[0127] As shown in FIG. 12, computer system 1200 may include external storage device 1210, bus 1220, main memory 1230, read-only memory 1240, mass storage device 1250, communication port 1260, and processor 1270. Those skilled in the art will appreciate that computer systems may include more than one processor and communication port. Processor 1270 may include various modules related to embodiments of the present invention. Communication port 1260 may be any of an RS-232 port for use with a modem-based dial-up connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. Communication port 1260 may be selected depending on the network, such as a local area network (LAN), a wide area network (WAN), or any network to which the computer system connects. Memory 1230 may be a random access memory (RAM), or any other dynamic storage device commonly known in the art. Read-only memory 1240 can be any static storage device, such as, but not limited to, a programmable read-only memory (PROM) chip for storing static information, such as, for example, boot-up instructions or BIOS instructions for processor 1270. Mass storage 1250 may be any current or future mass storage solution that can be used to store information and / or instructions.

[0128] Bus 1220 communicatively couples processor 1270 to other memory, storage, and communication blocks and can be, for example, a Peripheral Component Interconnect (PCI) / PCI-Extension (PCI-X) bus for connecting expansion cards, drives, and other subsystems, a Small Computer System Interface (SCSI), USB, etc., as well as other buses such as a Front Side Bus (FSB) that connects processor 1270 to a software system.

[0129] Optionally, operator and administrative interfaces, such as a display, keyboard, and cursor control devices, may also be coupled to bus 1220 to support direct operator interaction with the computer system. Other operator and administrative interfaces may be provided through a network connection connected through communications port 1260. The components described above are intended only to illustrate various possibilities. In no way should the foregoing exemplary computer system limit the scope of the present disclosure.

[0130] Although the embodiments herein are described with respect to a network device, it will be understood that the proposed systems and methods can be implemented in any computing or external device without departing from the scope of the present invention.

[0131] Although considerable emphasis has been placed herein on the preferred embodiment, it will be understood that many embodiments can be made and that many changes can be made in the preferred embodiment without departing from the principles of the invention. These and other changes in the preferred embodiment of the invention will be apparent to those skilled in the art from this disclosure, and it should thereby be clearly understood that the foregoing description is to be taken merely as illustrative of the invention and not as a limitation.

[0132] While the above describes various embodiments of the present invention, other and further embodiments of the present invention may be devised without departing from the basic scope of the present invention. The scope of the present invention is determined by the claims that follow. The present invention is not limited to the described embodiments, versions, or examples, which, when combined with information and knowledge available to those skilled in the art, are included to enable those skilled in the art to make and use the invention.

[0133] Advantages of the present disclosure The present disclosure provides systems and methods that facilitate managing traffic associated with incoming requests by enabling efficient and improved routing of the traffic.

[0134] The present disclosure provides systems and methods that may be independent of each node's architecture, structure, functionality, and implementation of network functions.

[0135] The present disclosure provides systems and methods that facilitate SCP implementations that enable load balancing, routing, traffic monitoring, congestion control, service discovery, and other such functions in an efficient manner. [Explanation of symbols]

[0136] 100 Systems\ 100-1 System 100-2 System 100-3 System 102 Network devices, controllers, networks 104 Server 106, 106-1 to 106-N nodes 108 User Device, UE 108-1~108N User Devices 108-1 First Mobile Computing Device 108-2 Second Mobile Computing Device 112 SCP, Service Communication Proxy (SCP) 114 Core Network 116 5G-EIR 118 Network Slice Selection Function, NSSF 120 Authentication Server Function (AUSF) 122 Unified Data Management, UDM 124 Unified Data Repository, UDR 126 Network Exposure Function, NEF 128 5G network data analysis function, NWDAF 130 Session Management Facility, SMF 132 Access and Mobility Management Function, AMF 134 Policy Control Function, PCF 136 Application Functions, AF 138 Short Message Service Facility, SMSF 140 NF Repository Function, NRF 142 Security Edge Protection Proxy, SEPP, Carryover Security Edge Protection Proxy, Carryover SEPP 144 User Plane Function, UPF 146 Data Network (DN) 210 Database 320 Consumer Node or Consumer NF, Consumer Node, Consumer NF 340 Provider Node or Provider NF, NF Service Provider Instance or Provider Node, Provider NF, Producer Instance / Provider Node 400-1 Service Communication Proxy (SCP) System Architecture 400-2 Service Communication Proxy (SCP) System Architecture 404 SCP Controller, Processor or Controller 404-1 Processing engine or module, processing engine module 410 Memory 412 Interface 416 Receiver Module 418 Proxy Information Module 420 Routing Module 422 Other Modules or Components 424 Database 602 Active Clusters 604 DR Cluster 700-1 Illustrative Representations 700-2 Illustrative Expressions 700-3 Illustrative Expressions 702 Active Clusters 710 Primary Cluster 720 Secondary Cluster 802 Consumer Node 804 Primary Secondary Routing Table 1200 Computer Systems 1210 External storage device 1220 Bus 1230 Main memory 1240 Read Only Memory 1250 Mass Storage Device, Mass Storage 1260 communication port 1270 Processor

Claims

1. A system (100) for implementing primary secondary routing in a network, comprising: a controller (102) in communication with one or more public land mobile network (PLMN) clusters associated with the network, the controller comprising: one or more processors coupled to a memory storing instructions executable by the one or more processors, the controller (102) comprising: receiving a request from a first mobile computing device (108-1) to be transmitted to a second mobile computing device (108-2); selecting a primary PLMN cluster and a secondary PLMN cluster from among the one or more PLMN clusters communicatively coupled to the first mobile computing device (108-1) and the second mobile computing device (108-2); determining an operational state of each endpoint of said selected primary PLMN cluster; If the operational states of all of the endpoints in the primary PLMN cluster are determined to be inactive, then routing the request through the secondary PLMN cluster for sending the request to the second mobile computing device (108-2). A controller (102) configured to A system (100) comprising:

2. 2. The system (100) of claim 1, wherein if the operational state of at least one endpoint of the primary PLMN cluster is determined to be active, the controller (120) is configured to route the request directly from the first mobile computing device (108-1) to the second mobile computing device (108-2) via the at least one endpoint of the primary PLMN cluster.

3. 3. The system of claim 2, wherein if the operational state of two or more endpoints of the primary PLMN cluster is determined to be active, the controller is configured to proportionally distribute data traffic relating to one or more requests within the network among the active endpoints of the primary PLMN cluster.

4. 2. The system of claim 1, wherein if the operational states of all of the endpoints in the primary PLMN cluster are determined to be inactive, the controller is configured to route the requests from the primary PLMN cluster towards the secondary PLMN cluster using a round robin approach.

5. 2. The system of claim 1, wherein if the operational states of all of the endpoints in the primary PLMN cluster are determined to be inactive, the controller is configured to route the requests from the primary PLMN cluster towards the secondary PLMN cluster using a weighted scheduling technique.

6. 2. The system of claim 1, wherein the system facilitates configuration of the one or more PLMN clusters as either the primary PLMN cluster or the secondary PLMN cluster based on a routing table mapping.

7. 7. The system of claim 6, wherein the controller is configured to map a primary PLMN cluster to two or more secondary PLMN clusters.

8. 7. The system of claim 6, wherein the controller is configured to map two or more primary PLMN clusters to one secondary PLMN cluster.

9. 2. The system of claim 1, wherein the controller is configured to trigger a negative response corresponding to the received request if the operational states of all the endpoints in the secondary PLMN cluster are determined to be inactive.

10. 2. The system of claim 1, wherein the system is capable of implementing either or a combination of ingress primary secondary and egress primary secondary routing techniques within the network.

11. A method (1100) for implementing primary secondary routing in a network, comprising: receiving (1102) a request from a first mobile computing device (108-1) associated with the network to be sent to a second mobile computing device (108-2) associated with the network, in a controller in communication with one or more public land mobile network (PLMN) clusters associated with the network; selecting (1104) in the controller a primary PLMN cluster and a secondary PLMN cluster from among the one or more PLMN clusters communicatively coupled between the first mobile computing device (108-1) and the second mobile computing device (108-2); determining (1106) in the controller an operational state of each endpoint in the primary PLMN cluster; if the operational states of all the endpoints in the primary PLMN cluster are inactive, routing the request through the secondary PLMN cluster (1108) for sending the request to the second mobile computing device (108-2); A method (1100).

12. 12. The method of claim 11, further comprising: if the operational state of at least one endpoint of the primary PLMN cluster is determined to be active, routing the request directly from the first mobile computing device to the second mobile computing device via the at least one endpoint of the primary PLMN cluster.

13. 13. The method of claim 12, further comprising, if the operational state of two or more endpoints of the primary PLMN cluster is determined to be active, distributing data traffic relating to one or more requests proportionally within the network among the active endpoints of the primary PLMN cluster.

14. 12. The method of claim 11, further comprising: if the operational state of all of the endpoints in the primary PLMN cluster is determined to be inactive, the method comprising: routing the request from the primary PLMN cluster towards the secondary PLMN cluster using a round robin approach.

15. 12. The method of claim 11, further comprising: configuring the one or more PLMN clusters as either the primary PLMN cluster or the secondary PLMN cluster based on a mapping in a routing table.

16. 16. The method of claim 15, wherein the method includes mapping a primary PLMN cluster to two or more secondary PLMN clusters.

17. 16. The method of claim 15, wherein the method includes mapping two or more primary PLMN clusters to one secondary PLMN cluster.

18. 12. The method of claim 11, further comprising: triggering a negative response corresponding to the received request if the operational state of all the endpoints in the secondary PLMN cluster is determined to be inactive.

19. 12. The method of claim 11, wherein the method includes implementing, within the network, either or a combination of an ingress primary secondary routing technique and an egress primary secondary routing technique.

20. 12. The method of claim 11, further comprising: if the operational states of all the endpoints in the primary PLMN cluster are determined to be inactive, the method comprising: routing the request from the primary PLMN cluster towards the secondary PLMN cluster using a weighted scheduling technique.

21. A first mobile computing device (108-1) in a network, comprising: A processor; a memory, the processor coupled to the memory storing instructions executable by the processor, the processor comprising: generating a request to be sent to a second mobile computing device (108-2); transmitting the request to the second mobile computing device (108-2) via a public land mobile network (PLMN) cluster, the PLMN cluster being communicatively coupled to the first mobile computing device (108-1) and the second mobile computing device (108-2); configured to: The processor, receiving the request from the first mobile computing device (108-1) to be transmitted to the second mobile computing device (108-2); selecting a primary PLMN cluster and a secondary PLMN cluster from among one or more PLMN clusters communicatively coupled to the first mobile computing device (108-1) and the second mobile computing device (108-2); determining an operational state of each endpoint of said selected primary PLMN cluster; If the operational states of all of the endpoints in the primary PLMN cluster are determined to be inactive, routing the request to the second mobile computing device (108-2) via the secondary PLMN cluster. a controller (102) configured to: A first mobile computing device (108-1).

22. A non-transitory computer-readable storage medium containing machine-executable instructions, comprising: receiving a request from a first mobile computing device (108-1) to be transmitted to a second mobile computing device (108-2); selecting a primary public land mobile network (PLMN) cluster and a secondary PLMN cluster from among one or more primary PLMN clusters communicatively coupled to the first mobile computing device (108-1) and the second mobile computing device (108-2); determining an operational state of each endpoint of said selected primary PLMN cluster; If the operational states of all of the endpoints in the primary PLMN cluster are determined to be inactive, then routing the request through the secondary PLMN cluster for sending the request to the second mobile computing device (108-2). A non-transitory computer-readable storage medium executable by a processor, such as a

Citation Information

Patent Citations

  • Routing communication in telecommunications network having multiple service communication proxies

    WO2021160676A1