The embodiments of the present disclosure relates generally to the field of routing, and more particularly, to next generation network techniques that enable routing. especially based on active standby policy in next generation networks such as 5G networks.
The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
Availability of fast and uninterrupted communication facility has become imperative in current high-technology world. Many communication devices such as, smart phones, laptops, tablets, and the likes, exist for contending the requirement of fast and uninterrupted communication facility. These communication devices may be connected through various wired and wireless network technologies.
However, as the usage and number of the communication devices are increasing day-by-day at an exponential rate, this may have resulted in increased complexity of the existing networks. Due to this, the existing services may pertain to poor service quality, security, and efficiency in the current communication networks. In such a scenario, a router may act as a primary control point, which aids in casing out the increasing complexities of the networks, thus providing reliable service quality and security. This also facilitates monitoring and improvement in efficiency, and other attributes that allow networks to add value. Therefore, by controlling a router one may control corresponding network to a great extent.
In general, routing may be defined as a mechanism of selecting a specific path in a network or between or across multiple networks for transmitting data quickly between a first communication device and a second communication device, which may be located remotely from each other. The routing process may be performed on various networks including circuit-switched networks, for instance, public switched telephone network (PSTN), as well as computer networks, for instance, Internet. In the routing process, routing tables may be frequently used to direct the forwarding of data packets. These routing tables may keep track of the paths to different network destinations and may be created with the use of routing protocols, learned from network traffic, or may be provided by an administrator. In general, 5G service-based architecture may be designed in a way that all Network Functions (NF) may be closely interconnected, wherein the NFs may possess the ability to discover the peer nodes and transmit network information among the nodes. This approach may be bound to create a spaghetti of inter connections between several user devices, such as laptop, smartphone, tablet, and the likes, connected through a network, which may hamper the flow of data between the user devices and may cause traffic or congestion. Further, this may also not allow a system to fully utilize the available resources as, for example, some endpoints or nodes may be available for routing but due to lack of information, the node may remain unused.
Conventional systems and methods are configured within a network that includes of several nodes, each having a distinct deployment scenario/architecture and functionality. Routing algorithms in the conventional systems and methods cannot manage distinct deployment scenario/architecture and functionality of each node. Hence establishment of communication channel between the nodes may get effected, which may, in turn, adversely affect flow of data in the network. In addition, current systems and methods or routing techniques are unable to process a request related to transmission of data that corresponds to a node which is down/unavailable. In this case, the unavailability may not be known until the routing is performed.
Hence, there is a need to provide a routing solution, which may overcome the above-mentioned limitations and may provide effective routing management to evaluate availability of endpoints before routing is performed, and which may be agnostic of implementation architecture.
It is an object of the present disclosure to provide a 5G service based architecture that optimizes signalling controls.
It is an object of the present disclosure to enable a service provider to obtain better visibility into a core network.
It is an object of the present disclosure to provide a Service Communication Proxy (SCP) that enables message forwarding and routing to destination Network Function (NF)/NF service.
It is an object of the present disclosure to provide the SCF that enables communication security, load balancing, monitoring, and overload control.
It is an object of the present disclosure to configure endpoint details pair wise.
It is an object of the present disclosure that routes total received requests in a round robin technique between the pairs of endpoints.
It is an object of the present disclosure to provide multiple of 2 endpoints and in correct sequence required for an NF Profile that is used for registration.
It is an object of the present disclosure to enable effective management of the incoming requests.
It is an object of the present disclosure to save unnecessary re-routing and may also facilitate effective routing steps.
This section is provided to introduce certain objects and aspects of the present invention in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.
In an aspect, the present disclosure provides a system for performing ingress/egress active-standby-spare routing in a network. The system may include a Service Communication Proxy (SCP) controller in communication with a plurality of endpoints, the plurality of endpoints may be grouped in either a first public land mobile network (PLMN) cluster or a second PLMN cluster such that an n number endpoint of the first PLMN cluster forms a pair with an n+2 number endpoint of the second PLMN cluster, where n is any natural number. The SCP controller may further include one or more processors coupled to a memory storing instructions executable by the one or more processors, the SCP controller configured to receive, from one or mode source node devices in communication with the SCP controller, a plurality of requests to be transmitted to the first and the second PLMN clusters, determine status of a plurality of paired n number endpoint and n+2 number end point associated with the first and the second PLMN clusters respectively; and route, the plurality of requests equally through the first PLMN cluster for transmitting to each said paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster, when the status of each said paired n number endpoint and the n+2 number endpoint is determined to be active. The plurality of requests may be routed equally to paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster respectively based on a round robin technique.
In an embodiment, the routing may be used at any or a combination of egress and ingress proxy.
In an embodiment, the SCP controller may be configured to route the plurality of requests to only one endpoint in a pair at a time.
In an embodiment, prior to routing, the SCP controller may be configured to identify at least one available endpoint of the pair of endpoints pertaining to the first PLMN cluster and the second PLMN cluster. The first PLMN cluster may include active endpoints to which the plurality of requests is routed if the active endpoints may be available, and the second PLMN cluster may include alternative endpoints for routing the plurality of requests if the corresponding active endpoints may be un-available or non-functional.
In an embodiment, the routing, based on identification of the pair of endpoints may be performed based on pre-defined policy of the SCP controller.
In an embodiment, when all the plurality of end points are active, the SCP controller may be configured to route 50% of the plurality of requests to a first pair comprising the n number endpoint of the first PLMN cluster and the n+2 number endpoint of the second PLMN cluster while the other 50% of the plurality of requests is routed to a second pair comprising a 2n number endpoint of the first PLMN cluster and a 2n+2 number endpoint of the second PLMN cluster.
In an embodiment, when the n number end point of the first pair is inactive and the remaining end points are active, the SCP controller may be configured to route 50% of the plurality of requests to the n+2 number endpoint of the second PLMN cluster while the other 50% of the plurality of requests is routed to the 2n number endpoint of the first PLMN cluster.
In an embodiment, when the 2n number end point of the second pair is inactive and the remaining end points are active, the SCP controller may be configured to route 50% of the plurality of requests to the n number endpoint of the first PLMN cluster while the other 50% of the plurality of requests is routed to the 2n+2 number endpoint of the second PLMN cluster.
In an embodiment, when either or both n+2 number endpoint and the 2n+2 number endpoint of the second PLMN cluster are inactive and the remaining end points are active, the SCP controller may be configured to route the plurality of requests equally to the n number endpoint of the first PLMN cluster and the 2n number endpoint of the first PLMN cluster.
In an embodiment, when either or both n number endpoint and the 2n number endpoint of the first PLMN cluster are inactive and the remaining end points are active, the SCP controller may be configured to route the plurality of requests equally to the n+2 number endpoint of the first PLMN cluster and the 2n+2 number endpoint of the second PLMN cluster.
In an embodiment, when both n number endpoint and the n+2 number endpoint of the first pair are inactive, the SCP controller may be configured to route 100% of the plurality of requests to the 2n number endpoint of the first PLMN cluster.
In an embodiment, when both 2n number endpoint and the 2n+2 number endpoint of the second pair is inactive, the SCP controller may be configured to route 100% of the plurality of requests to the n number endpoint of the first PLMN cluster.
In an embodiment, when only one endpoint is active while remaining endpoints are inactive, the SCP controller may be configured to route the plurality of requests routed to the only active endpoint.
In an embodiment, the number of endpoints in the first PLMN cluster may be equal to the number of endpoints in the second PLMN cluster.
In an embodiment, the second PLMN cluster may be a disaster recovery (DR) cluster for the first PLMN cluster.
In an embodiment, with O based indexing, endpoint at even index belongs to the first PLMN cluster while odd index belongs to the DR cluster.
In an aspect, the present disclosure provides a method for performing ingress/egress active-standby-spare routing in a network. The method may include the steps of receiving, by a Service Communication Proxy (SCP) controller a plurality of requests to be transmitted to the first and the second PLMN clusters from one or mode source node devices in communication with the SCP controller. The SCP controller may be in communication with a plurality of endpoints that may be grouped in either a first PLMN cluster or a second PLMN cluster such that an n number endpoint of the first PLMN cluster forms a pair with an n+2 number endpoint of the second PLMN cluster, where n is any natural number. The SCP controller may further include one or more processors coupled to a memory storing instructions executable by the one or more processors. The method may further include the step of determining, by the SCP controller, status of a plurality of paired n number endpoint and n+2 number end point associated with the first and the second PLMN clusters respectively; and routing, by the SCP controller, the plurality of requests equally through the first PLMN cluster for transmitting to each paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster respectively, when the status of each paired n number endpoint and the n+2 number endpoint is determined to be active. The plurality of requests may be routed equally to each paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster respectively based on a round robin technique.
In an aspect, the present disclosure provides a user equipment (UE) communicatively coupled with a Service Communication Proxy (SCP) controller, the SCP controller coupling comprises steps of receiving a connection request from the UE, sending an acknowledgment of connection request to the SCP controller, transmitting a plurality of signals in response to the connection request, and the SCP controller may be in communication with at least two one public land mobile network (PLMN) clusters.
In an aspect, the present disclosure relates to a non-transitory computer-readable medium including processor-executable instructions that cause a processor to receive, from one or mode source node devices in communication with the processor, a plurality of requests to be transmitted to first PLMN cluster and a second PLMN cluster. The processor may be in communication with a plurality of endpoints. The plurality of endpoints may be grouped in either the first PLMN cluster or the second PLMN cluster such that an n number endpoint of the first PLMN cluster forms a pair with corresponding n+2 number endpoint of the second PLMN cluster, where n is any natural number. The processor may determine a status of a plurality of paired n number endpoint and n+2 number endpoint associated with the first and the second PLMN clusters, respectively. Further, the processor may route the plurality of requests equally through the first PLMN cluster for transmitting to each said paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster, when the status of each said paired n number endpoint and the n+2 number endpoint is determined to be active. The plurality of requests may be routed equally to the paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster, respectively, based on a round robin technique.
The accompanying drawings, which are incorporated herein, and constitute a part of this invention, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that invention of such drawings includes the invention of electrical components, electronic components or circuitry commonly used to implement such components.
The foregoing shall be more apparent from the following more detailed description of the invention.
In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter may each be used independently of one another or with any combination of other features. An individual feature may not address all of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein.
The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. 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 set forth.
Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill 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 in order 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 in order to avoid obscuring the embodiments.
Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.
The word “exemplary” and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive—in a manner similar to the term “comprising” as an open transition word—without precluding any additional or other elements.
Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
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 forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, 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.
The present disclosure provides a system and method that may overcome the above-mentioned limitations and may facilitate an effective and improved management of traffic routing pertaining to incoming requests. In an example embodiment, the system may include Service Communication Proxy (SCP) implementation, which may facilitate to evaluate, identify and/or configure pair of endpoints prior to routing. For example, this may be performed based on pre-defined SCP policy such as active-standby policy or other associated integrated policies. In an example embodiment, prior to routing, the system and method may enable an identification/configuration of pair of endpoints in clusters pertaining to, for example, an active cluster and disaster recovery (DR) cluster. The active cluster may include active endpoints to which request may be preferably routed if the endpoint may be available. The DR cluster may include DR endpoints, wherein the DR endpoints may be considered an alternative endpoint for routing the request if the corresponding active endpoint may be un-available or non-functional.
The identification/configuration of pair of endpoints may enable to understand the active endpoints and corresponding DR endpoints that may be available for routing, prior to the routing is performed, which may enable effective routing management of the incoming requests. In an example embodiment, as per active-standby policy, each endpoint in active cluster may be paired with a corresponding endpoint in the DR cluster to form a pair of endpoints. In an example embodiment, the SCP may include a SCP controller to enable identification/configuration/mapping of endpoints in disaster recovery (DR) cluster for corresponding set of active cluster. In an example embodiment, the request may be routed to the identified/configured pair if at least one endpoint in the pair may be functional. For example, the SCP may evaluate when an endpoint of the active cluster, for example, a first endpoint is unavailable and may be able to identify or configure a corresponding endpoint in DR cluster, prior to routing the request. In another example, the SCP may evaluate when an endpoint, for example, a first endpoint of an active cluster is unavailable and also may be able to also evaluate if the corresponding DR endpoint (second endpoint) pertaining to the first endpoint is unavailable so that the request may not be routed at all to either the first or second endpoint in the pair.
In an example embodiment, active standby routing policy may be used at ingress node or egress node of SCP. In an embodiment, the active standby routing policy endpoint details may be configured pair wise such that at a given time only one endpoint in the pair may receive request. In an example, total received requests may be round robin between the pairs of endpoints.
Further, the system and method may be agnostic to architecture, structure, functionality of each node, and implementation of Network Functions. Furthermore, 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 associated embodiments or advantages may be possible.
In an embodiment, the proposed system 100 may not only resolve the challenges introduced by the 5G service-based architecture but may also be able to optimize signalling controls. The system 100 may enable a service provider to get a better visibility towards a core network, where the core network may be defined as backbone of the network architecture. For example, in the present disclosure, the core network may pertain to 5G service-based architecture may be configured to interconnect distinct networks associated with the architecture. Therefore, the core network may provide a path for the exchange of information between one or more of the networks, and corresponding subnetworks. Further, as the backbone, the core network may tie together diverse networks, say LAN, WAN, MAN, etc. which may be there within the same building, in different buildings, in a campus environment, or remotely located over wide areas. The system may also boost the network performance by continuously coordinating with other network functions. According to an embodiment, the 5G system architecture may leverage service-based interactions directly between NF Service consumers and NF Service producers, or indirectly via an SCP (Service Communication Proxy).
As illustrated in
In an example, the SCP controller 112 may be configured to facilitate routing of requests between the plurality of nodes. In an embodiment, each node 106 may be configured to be coupled with a multitude of user devices 108-1. 108-2, 108-3, 108-4 . . . 108-(N-1), 108-N (collectively referred to as user devices 108, and individually referred to as user device or user equipment or UE 108, hereinafter). In one embodiment, the system 100 may enable routing of requests for a secured communication between user devices associated with distinct or same nodes.
In an embodiment, the user device 108 may include a user equipment (UE) communicatively coupled to the controller 112. The coupling may include the steps of receiving a connection request from the controller 112, sending an acknowledgment of connection request to the controller and further transmitting a plurality of signals in response to the connection request.
In an exemplary embodiment, the SCP controller 112 may be implemented as an application server and may be communicably operational or may be communicably coupled with the nodes 106 or user device 108 via a network 110 coupled with a server 104. In another exemplary embodiment, the user device 108 may a wireless device. The wireless device may be a mobile device that may include, for example, cellular telephone, such as a feature phone or smartphone and other devices. The user device 108 may not be limited to the above-mentioned devices, but may include any type of device capable of providing wireless communication, such as a cellular phone, a tablet computer, a personal digital assistant (PDA), a personal computer (PC), a laptop computer, a media centre, a work station and other such devices.
In one embodiment, the network 110 may include or pertain to a core network (such as, for example, 5G core network 114 in
In an example embodiment, the network may pertain to at least one of a wireless network, a wired network or a combination thereof. The network may be implemented as one of the different types of networks, such as Intranet, Local Area Network (LAN), Wide Area Network (WAN), Internet, and the like. Further, the network may either be a dedicated network or a shared network. The shared network may represent an association of the different types of networks that may use variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), Automatic repeat request (ARQ), and the like. In an embodiment, the network may pertain to a 5G network that may be facilitated through, for example, Global System for Mobile communication (GSM) network; a universal terrestrial radio network (UTRAN), an Enhanced Data rates for GSM Evolution (EDGE) radio access network (GERAN), an evolved universal terrestrial radio access network (E-UTRAN), a WIFI or other LAN access network, or a satellite or terrestrial wide-area access network such as a wireless microwave access (WIMAX) network. Various other types of communication network or service may be possible.
In an example, the network 110 may utilize different sort of air interface, such as a code division multiple access (CDMA), time division multiple access (TDMA), or frequency division multiple access (FDMA) air interface and other implementation. In an example embodiment, the wire-line user device may use wired access networks, exclusively or in combination with wireless access networks, for example, including 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.
In an embodiment, as illustrated in
In other embodiment, the core network 114 may facilitate communicative coupling of the SCP 112 with a network component supporting Network Slice Selection Function 118 (NSSF). The NSSF 118 may enable, for example, to select network slice instances to serve user device 108, determine the allowed NSSAI, and determine AMF set to be used to serve the user device 108. In another embodiment, the SCP 112 may be coupled with a network component supporting Authentication Server Function 120 (AUSF), where the AUSF may act as an authentication server, and function to check authenticity of information flowing through it.
In yet another embodiment, the SCP 112 may be coupled with network components supporting Unified Data Management 122 (UDM 122) and Unified Data Repository 124 (UDR 124), where the UDM 122 may facilitate a centralized technique to control network user data. For instance, the UDM 122 may generate Authentication and Key Agreement (AKA) credentials, perform user identification handling, access authorization, and carry out subscription management. Further, the UDR 124 may act as a converged repository for information related to subscribers and may facilitate service to a number of network functions. For example, the 5G UDM (Unified Data Management) may use the UDR to store and retrieve data pertaining to subscription. Alternatively, the PCF (Policy Control Function) may use the UDR to store and retrieve policy related data. Further, the NEF (Network Exposure Function) may also use the UDR to store subscriber related data that is permitted to be exposed to 3rd party applications.
In one embodiment, the SCP 112 may be coupled with a network component supporting Network Exposure function 126 (NEF 126), where the NEF may carry out functions like exposure of capabilities and events, secure provision of information from external application to 3GPP network, and translation of internal/external information.
In yet another embodiment, the SCP 112 may be coupled with a network component supporting a 5G network data analytics function 128 (NWDAF 128), The NWDAF 128 may be configured to streamline and control the way core network data is produced and consumed, and provide insights and suggest actions to be taken in order to enhance end-user experience. In an exemplary embodiment, the NWDAF 128 may be configured to overcome market fragmentation and proprietary solutions in the area of network analytics. Further, the NWDAF 128 may address at least one of the primary standardization points including, but not limited to,
In an embodiment, the SCP 112 may be coupled with network components supporting Session Management function 130 (SMF), Access and Mobility Management function 132 (AMF), Policy Control Function 134 (PCF), and Application Function 136 (AF), where the SMF 130 may carry out functions related to session management, for example, session establishment, modification, and release. Further, the SMF 130 may handle User Equipment (UE) IP address allocation and management, DHCP functions, termination of NAS signalling related to session management, DL data notification, traffic steering configuration for user plane function (UPF) for proper traffic routing, and the like.
Further, the AMF 132 may receive all connection and session related information from a communication device (also referred to as User Equipment, herein), and may be responsible for handling connection and mobility management tasks. Furthermore, the PCF 134 may provide unified policy framework, policy rules to CP functions, access subscription information for policy decisions in UDR. The AF 136 may check application influence on traffic routing, access NEF, and may interact with policy framework for policy control. In an embodiment, the SCP 112 may be coupled with network components supporting Short Message Service Function 138 (SMSF 138), NF Repository function 140 (NRF 140), Security Edge Protection Proxy 142 (SEPP 142), and User plane function 144 (UPF 144). The SMSF 138 may facilitate the transfer of SMS over NAS, in 5G architecture. Moreover, the SMSF 138 may conduct subscription checking as well as it may perform a relay function between the user device 108 and SMSC (Short Message Service Centre), through interaction with the AMF (Core Access and Mobility Management Function). Further, the NRF 140 may be configured to perform service discovery function, maintain NF profile and may also check available NF instances. Also, the BroadForward Security Edge Protection Proxy 142 (BroadForward SEPP 142) may facilitate a secured communication between one or more 5G networks. The SEPP 140 may also provide end-to-end confidentiality and/or integrity between source and destination network for all 5G interconnect roaming messages.
Furthermore, the UPF 144 may function to connect actual data coming over corresponding Radio Area Network (RAN) to the Internet. In an exemplary embodiment, the UPF 144 may carry out packet routing and forwarding, packet inspection, and handle Quality of Service (QoS). Further, the UPF 144 may act as external PDU session point of interconnect to Data Network (DN), and also may act as an anchor point for intra-RAT mobility as well as inter-RAT mobility. It should be noted that functioning of the SCP 112 may be independent of distance between the Network Functions. Moreover, the SCP 112 may facilitate peer-to-peer communication between peer instances/nodes. Further, basic functionality of the SCP 112 may include, but not limited to, end-to-end connectivity between different nodes having distinct deployment scenarios, architecture, and functionality while managing such architectures efficiently. Routing capability of the propose system 100 or SCP 112 may be agnostic to each node's architecture, structure, functionality, and implementation of Network Functions.
In an embodiment, the SCP controller (112) may be in communication with an at least one node 106 which may be a public land mobile network (PLMN) cluster. Each PLMN cluster may have a plurality of end points associated with the network 110. For example, the endpoints can include a plurality of user devices (108). The SCP controller (112) may further include one or more processors coupled to a memory storing instructions executable by the one or more processors. The controller (112) may be configured to receive, from one or mode source node devices 106 in communication with the SCP controller 112, a plurality of requests to be transmitted to the first and the second PLMN clusters and then determine status of a plurality of paired n number endpoint and n+2 number end point associated with the first and the second PLMN clusters respectively. For example, if n=1, the pairing will comprise of Endpoint 1 of the first PLMN cluster and endpoint 3 of the second PLMN cluster. If, n=2, the pairing will comprise of Endpoint 2 of the first PLMN cluster and endpoint 4 of the second PLMN cluster. If n=3, the pairing will comprise of Endpoint 3 of the first PLMN cluster and endpoint 5 of the second PLMN cluster.
In an embodiment, the SCP controller 112 may be further configured to route, the plurality of requests equally through the first PLMN cluster for transmitting to each said paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster, when the status of each said paired n number endpoint and the n+2 number endpoint is determined to be active. The plurality of requests may be routed equally to paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster respectively based on a round robin technique. Further, the routing may be used at any or a combination of egress and ingress proxy.
In an embodiment, the SCP controller may be configured to route the plurality of requests to only one endpoint in a pair at a time.
In an embodiment, when all the plurality of end points are active, the controller may be configured to route 50% of the plurality of requests to a first pair comprising the n number endpoint of the first PLMN cluster and the n+2 number endpoint of the second PLMN cluster while the other 50% of the plurality of requests is routed to a second pair comprising a 2n number endpoint of the first PLMN cluster and a 2n+2 number endpoint of the second PLMN cluster. For example, 50% of the plurality of requests may be routed to a first pair comprising the endpoint 1 of the first PLMN cluster and endpoint 3 of the second PLMN cluster while the other 50% of the plurality of requests is routed to a second pair comprising endpoint 2 of the first PLMN cluster and number endpoint 4 of the second PLMN cluster.
In an embodiment, when the n number end point of the first pair is inactive and the remaining end points are active, the controller may be configured to route 50% of the plurality of requests to the n+2 number endpoint of the second PLMN cluster while the other 50% of the plurality of requests is routed to the 2n number endpoint of the first PLMN cluster. For example, when the end point 1 of the first pair is inactive and the remaining end points are active, the controller may route 50% of the requests to endpoint 3 of the second PLMN cluster while the other 50% of the plurality of requests is routed to the endpoint 2 of the first PLMN cluster.
In an embodiment, when the 2n number end point of the second pair is inactive and the remaining end points are active, the controller may be configured to route 50% of the plurality of requests to the n number endpoint of the first PLMN cluster while the other 50% of the plurality of requests is routed to the 2n+2 number endpoint of the second PLMN cluster. For example, when the endpoint 2 of the second pair is inactive and the remaining end points are active, the controller may be configured to route 50% of the plurality of requests to endpoint 1 of the first PLMN cluster while the other 50% of the plurality of requests is routed to the endpoint 4 of the second PLMN cluster
In an embodiment, when either or both n+2 number endpoint and the 2n+2 number endpoint of the second PLMN cluster are inactive and the remaining end points are active, the controller may be configured to route the plurality of requests equally to the n number endpoint of the first PLMN cluster and the 2n number endpoint of the first PLMN cluster. For example, when either or both endpoint 3 and the endpoint 4 of the second PLMN cluster are inactive and the remaining end points are active, the controller may be configured to route the plurality of requests equally to the endpoint 1 of the first PLMN cluster and the endpoint 2 of the first PLMN cluster.
In an embodiment, when either or both n number endpoint and the 2n number endpoint of the first PLMN cluster are inactive and the remaining end points are active, the controller is configured to route the plurality of requests equally to the n+2 number endpoint of the first PLMN cluster and the 2n+2 number endpoint of the second PLMN cluster. For example, when either or both endpoint 1 and the endpoint 2 of the first PLMN cluster are inactive and the remaining end points are active, the controller may be configured to route the plurality of requests equally to the endpoint 3 of the first PLMN cluster and the endpoint 4 of the second PLMN cluster.
In an embodiment, when both n number endpoint and the n+2 number endpoint of the first pair are inactive, the controller may be configured to route 100% of the plurality of requests to the 2n number endpoint of the first PLMN cluster. For example, when both endpoint 1 and the endpoint 3 of the first pair are inactive, the controller may be configured to route 100% of the plurality of requests to the endpoint 2 of the first PLMN cluster.
In an embodiment, when both 2n number endpoint and the 2n+2 number endpoint of the second pair is inactive, the controller is configured to route 100% of the plurality of requests to the n number endpoint of the first PLMN cluster. For example, when both endpoint 2 and the endpoint 4 of the second pair is inactive, the controller may be configured to route 100% of the plurality of requests to the endpoint 1 of the first PLMN cluster.
In an embodiment, when only one endpoint is active while remaining endpoints are inactive, the controller may be configured to route the plurality of requests routed to the only active endpoint. Further, the number of endpoints in the first PLMN cluster should be equal to the number of endpoints in the second PLMN cluster.
In an embodiment, the second PLMN cluster may be a disaster recovery (DR) cluster for the first PLMN cluster which may be an active cluster and the routing of the plurality of requests may be directly sent to an endpoint in the DR cluster if the corresponding active endpoint in the first PLMN cluster is unavailable.
In an embodiment, with O based indexing, endpoint at even index should belong to the first PLMN cluster while odd index should belong to the DR cluster.
The method (190) may also include at 194, the step of determining, by the SCP controller (112), determining, by the SCP controller (112), status of a plurality of paired n number endpoint and n+2 number end point associated with the first and the second PLMN clusters respectively.
Furthermore, the method may include at 196, the step of routing, by the SCP controller (112), the plurality of requests equally through the first PLMN cluster for transmitting to each paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster respectively, when the status of each paired n number endpoint and the n+2 number endpoint is determined to be active. The plurality of requests may be routed equally to each paired n number endpoint and the n+2 number endpoint associated with the first PLMN cluster and the second PLMN cluster respectively based on a round robin technique.
In one embodiment, the system 100 may carry out, at block 202, interconnected functions, and facilitate communication, at block 204, in between peer nodes and create a mesh based on discoveries/information delivered by the peer nodes. Further, the system 100 may facilitate, at block 206, scale up and scale down functions, which may be provided with increased flexibility. Furthermore, the system 100 may enable, at block 208, exploitation of maximum potential of service-based architecture. Moreover, at block 210, the system 100 may address the need for a module with some central function, and thereby may facilitate a secured communication of the nodes 106 with the SCP 112 (of
In another exemplary embodiment, the system 100 may include NF which may communicate with NRF 140 through SCP controller. For instance, a PCF proxy running with ‘x’ NF services and ‘y’ instances may communicate, through the SCP controller of the SCP 112, with the NRF 140, which may act as central repository and may include information about all the NFs. In another exemplary embodiment, the SCP controller may be trained to configure SCP proxies based on real-time situation. Therefore, no pre-configuration of the SCP proxies may be required in the system 100.
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 Network (PLMN) such as, for example, Visiting Public Land Mobile Network (VPLMN) and Home Public Land Mobile Network (also referred to as HPLMN).
According to an embodiment, apart from acting as a proxy or a routing agent between various Network Functions, the SCP 112 may also be configured to carry out following functionalities:
In an embodiment, the architecture of Service Communication Proxy (SCP) may include at least one of the following functionalities—
In an embodiment, the proposed SCP 112 may include a SCP Proxy along with a SCP controller 404. In one embodiment, the SCP Proxy may be either ingress proxy or egress proxy, wherein:
In an embodiment, the SCP 112 may include multiple SCP proxies as shown in
In an embodiment, and as shown in
In an embodiment, the processor(s) or controller(s) 404 may enable routing of requests from a consumer node (pertaining to a user device sending the request) to a destination mode (or provider node). For example, the processor(s) or controller(s) 404 of the SCP 112 may identify/configure at least one endpoint or node, prior to routing the request. In this example, the identification of available endpoints in a cluster of endpoints may be done, wherein the cluster may pertain to, for example, an active cluster and a DR cluster. In an example embodiment, the request may be routed to the identified/configured pair if at least one endpoint in the pair may be functional. The active cluster may include active endpoints to which request may be preferably routed if the endpoint may be available. The DR cluster may include DR endpoints, wherein the DR endpoints may be considered an alternative endpoint for routing the request if the corresponding active endpoint may be un-available or non-functional. In an example embodiment, as per the active-standby policy, the endpoints in the active and DR clusters may be paired to form a pair of endpoints. The pairwise configuration/identification may be performed prior to the routing, which may enable effective management of the incoming requests. This may also enable to pre-plan the routing directly to DR endpoint (in the DR cluster) if the corresponding active endpoint (in active cluster) may be unavailable. In an alternate embodiment, multiple endpoints in active cluster may be paired to a single DR endpoint.
In an example embodiment, the identification/configuration of pair of endpoints may be performed based on pre-defined policy of the SCP 112. For example, the pre-defined policy may pertain to active standby implementation, which is explained herein. For example, the processor(s) or controller(s) 404 may evaluate when an endpoint of the active cluster, for example, a first endpoint is unavailable and may be able to configure a corresponding endpoint in DR cluster, prior to routing the request. In another example, the processor(s) or controller(s) 404 may evaluate when an endpoint, for example, a first endpoint of an active cluster is unavailable and also may be able to also evaluate if the corresponding DR endpoint (second endpoint) pertaining to the first endpoint is unavailable so that the request may not be routed at all to the first endpoint. This may save unnecessary re-routing and may also facilitate effective routing steps. In an example embodiment, the identification/configuration of pair of endpoints may be performed based on a pre-defined criteria. For example, the pre-defined criteria may pertain to, for example, header routing criteria, which may enable the processor(s) or controller(s) 404 of the SCP 112 to decide which endpoints to be selected (prior to routing) based on the availability. Various other examples are provided in the following sections, although the present disclosure may not be limited by these examples. In an example, the header routing criteria may include, but not limited to, at least one of:
The SCP implementation may pertain to ingress node and/or egress node. In case of ingress node implementation, the NF Profile used for registration may include multiple of 2 endpoints and in correct sequence. In an example embodiment, O based indexing may be used such that endpoint at even index should belong to active cluster while odd index should belong to DR cluster.
The processor(s) or controller(s) 404 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that process data based on operational instructions. Among other capabilities, the processor(s) or controller(s) 404 may be configured to fetch and execute computer-readable instructions stored in a 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, which may be fetched and executed to create or share data packets over a network service. The memory 410 may comprise any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.
In an embodiment, the SCP 112 may include an interface(s) 412. The interface(s) 412 may comprise a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like. The interface(s) 412 may facilitate communication of the SCP 112. The interface(s) 412 may also provide a communication pathway for one or more components of the SCP 112. Examples of such components include, but are not limited to, processing engine(s) or modules 404-1 and a database 424.
The processing engine(s) or modules 404-1 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) or modules 404-1. In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) or modules 404-1 may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) or modules 404-1 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) or modules 404-1. In such examples, the SCP 112 may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the SCP 112 and the processing resource. In other examples, the processing engine(s) or modules 404-1 may be implemented by electronic circuitry.
In an embodiment, the processor(s) or controller(s) 404 may pertain to an ingress controller to enable processing/controlling one or more aspects of received incoming request at an ingress node (entry point) of SCP 112. In another embodiment, the processor(s) or controller(s) 404 may pertain to an egress controller to enable processing/controlling one or more aspects of request that are being routed at an egress node (exit point) of SCP 112. In yet another embodiment, the processor(s) or controller(s) 404 may pertain to an integrated controller including both ingress and egress controller to enable processing/controlling one or more aspects of received incoming request at an ingress node (entry point) of SCP 112 and/or to enable processing/controlling one or more aspects of request that are being routed at an egress node (exit point) of SCP 112.
The processing engine or modules 404-1 of the SCP 112 may include one or more components (as shown in
In an embodiment, the system 100 may be configured to provide different types of routing techniques for an SCP Proxy, where the routing techniques may be implemented as per requirement of different NF Team and their GR/DR handling. In one embodiment, ingress active standby routing technique may be used at an ingress proxy whereas the egress active standby routing technique may be used at an egress proxy. In these routing technique, GR or DR cluster may be defined based upon PLMN-list. In an example, the proposed active standby routing technique may also be integrated with other policies, such as, Active-Active routing policy, which may ensure utilizations of all endpoints in active cluster first.
In an example embodiment, the routing policy i.e. the active standby routing policy may be used at egress proxy and/or ingress proxy. In an example embodiment, as in the mentioned active standby routing policy, endpoint details may be configured pair wise, so at a given time only one endpoint in the pair may receive the request. In an example, the total received requests may be subjected to round robin between the pairs of endpoints.
As shown in
In another example embodiment, and as shown in 720
In another example embodiment, and as shown in 740
In an example, identifying at least one available endpoint may include an identification/configuration of pair of endpoints pertaining to, for example, an active cluster and a DR cluster. The active cluster may include active endpoints to which request may be preferably routed if the endpoint may be available. The DR cluster may include DR endpoints, wherein the DR endpoints may be considered an alternative endpoint for routing the request if the corresponding active endpoint may be un-available or non-functional. In an example embodiment, each endpoint in active cluster may be paired with a corresponding endpoint in the DR cluster to form a pair of endpoints. In an embodiment, method may enable to identify/configure pair of endpoints in active and DR clusters, for example, DR endpoints for an unavailable/non-functional endpoint in the active cluster. This may be done prior to the routing is performed, which may enable effective management of the incoming requests. This may also enable to pre-plan the routing directly to DR endpoint (in the DR cluster) if the corresponding active endpoint (in active cluster) may be unavailable.
In an example embodiment, the routing, based on identification/configuration of pair of endpoints, may be performed based on pre-defined policy of the SCP 112. For example, the pre-defined policy may pertain to active standby implementation, which is explained herein. In an example embodiment, the request may be routed to the identified/configured pair if at least one endpoint in the pair may be functional. For example, the method may include evaluating when an endpoint of the active cluster, for example, a first endpoint is unavailable and may be able to configure a corresponding endpoint in DR cluster, prior to routing the request. In another example, the method may include evaluating when an endpoint, for example, a first endpoint of an active cluster is unavailable and also may be able to also evaluate if the corresponding configured DR endpoint (second endpoint) pertaining to the first endpoint is also unavailable so that the request may not be routed at all to the pair. This may save unnecessary re-routing and may also facilitate effective routing steps. In an example embodiment, the routing, based on identification/configuration of pair of endpoints may be performed based on a pre-defined criteria. For example, the pre-defined criteria may pertain to, for example, header routing criteria, which may enable SCP 112 to decide which endpoints to be selected (prior to routing) based on the availability. Various other examples are provided in the following sections, although the present disclosure may not be limited by these examples. In an example, the header routing criteria may include, but not limited to, at least one of:
Bus 1120 communicatively couples processor(s) 1170 with the other memory, storage and communication blocks. Optionally, operator and administrative interfaces, e.g. a display, keyboard, and a cursor control device, may also be coupled to bus 1120 to support direct operator interaction with a computer system. Other operator and administrative interfaces may be provided through network connections connected through communication port 1160. Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
It would be appreciated that the embodiments herein are explained with respect to SCP, however, the proposed system and method may be implemented in any computing device or external devices without departing from the scope of the invention.
While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments may be made and that many changes may be made in the preferred embodiments without departing from the principles of the invention. These and other changes in the preferred embodiments of the invention will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter to be implemented merely as illustrative of the invention and not as limitation.
A portion of the disclosure of this patent document contains material which is subject to intellectual property rights such as, but are 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 as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.
The present disclosure provides a system and method to facilitate an effective and improved management of traffic routing pertaining to incoming requests.
The present disclosure provides a system and method that may be agnostic to architecture, structure, functionality of each node, and implementation of Network Functions.
The present disclosure provides a system and method facilitates SCP implementation that enables load balancing, routing, traffic monitoring, congestion control, service discovery and other such functions in an effective manner.
The present disclosure provides a system and method that enables effective management of the incoming requests.
The present disclosure provides a system and method that saves unnecessary re-routing and may also facilitate effective routing steps.
Number | Date | Country | Kind |
---|---|---|---|
202221019655 | Mar 2022 | IN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IB2023/052925 | 3/24/2023 | WO |