Sign In to Follow Application
View All Documents & Correspondence

System And Method For Selecting At Least One Media Resource Function (Mrf) Server

Abstract: ABSTRACT SYSTEM AND METHOD FOR SELECTING AT LEAST ONE MEDIA RESOURCE FUNCTION (MRF) SERVER The present disclosure relates to a system (115) and a method (500) for selecting at least one MRF server (125) in a network (105). The system includes a configuration module (325) to configure a plurality of MRF pools (125a, 125b). The system (115) includes a transceiver module (320) to receive a service request. The system includes a selection module (330) to select a MRF pool (125a, 125b) based on the received request. The health status monitoring module (335) checks the health status of a primary and a secondary MRF servers (130a, 130b, 135a, 135b) and the selection module (230) selects the primary MRF server (130a, 130b) based on a pre-defined criteria. A switching module (340) switches to the secondary MRF server (135a, 135b) when each of the primary MRF servers (130a, 130b) does not meet the pre-defined criteria. Thereby, the system (115) manages MRF servers in the network (105). Ref. Fig. 1

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
03 July 2023
Publication Number
2/2025
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

JIO PLATFORMS LIMITED
OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD - 380006, GUJARAT, INDIA

Inventors

1. Aayush Bhatnagar
Tower-7, 15B, Beverly Park, Sector-14 Koper Khairane, Navi Mumbai – 400701, Maharashtra, India.
2. Birendra Bisht
B-2101, Yashaskaram CHS, Plot -39, Sector -27, Kharghar, Navi Mumbai, Maharashtra, Indida, PIN-410210
3. Harbinder Pal Singh
Wing B1, Flat No 402, Lakhani Suncoast, Sector 15, CBD Belapur, Navi Mumbai, Maharashtra, India, PIN -400614
4. Abhay Kumar
River Dale C-105,Casa Rio, Palava City, Dombivli East, Maharashtra - 4212204
5. Sandeep Gupta
Flat No: 211, Sector: 19, Pocket: 3, Akshardham Apartments, Dwarka, New Delhi, Delhi- 110075

Specification

DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003

COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
SYSTEM AND METHOD FOR SELECTING AT LEAST ONE MEDIA RESOURCE FUNCTION (MRF) SERVER
2. APPLICANT(S)
NAME NATIONALITY ADDRESS
JIO PLATFORMS LIMITED INDIAN OFFICE-101, SAFFRON, NR. CENTRE POINT, PANCHWATI 5 RASTA, AMBAWADI, AHMEDABAD 380006, GUJARAT, INDIA
3.PREAMBLE TO THE DESCRIPTION

THE FOLLOWING SPECIFICATION PARTICULARLY DESCRIBES THE NATURE OF THIS INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.

FIELD OF THE INVENTION
[0001] The present invention relates to communication networks, and more particularly relates to selecting at least one Media Resource Function (MRF) server in a network.
BACKGROUND OF THE INVENTION
[0002] Telephony services have evolved significantly over the years, enabling businesses and individuals to communicate effectively over vast distances. With the advent of Voice over Internet Protocol (VoIP) and Session Initiation Protocol (SIP), telephony services have become more versatile, scalable, and cost-effective. To deliver advanced telephony features, such as conferencing and virtual PBX, businesses often utilize a BTAS, which acts as a central server managing the telephony applications and services.
[0003] Traditionally, the integration of different MRF servers with the BTAS for providing various services and announcements has been a complex task. MRF servers are responsible for processing media streams, such as voice announcements or conference audio, in telephony systems. Each MRF server may support different protocols, making it challenging to connect and coordinate between them and the BTAS. Furthermore, in the event of MRF or MRF pool failure, ensuring uninterrupted service continuity becomes crucial to avoid disruption and inconvenience to users.
[0004] Existing solutions attempt to address these challenges, but they often require significant development efforts and lack flexibility. The need to modify the BTAS software to connect with different MRF servers for specific services leads to complexity and delays in deploying new services or making changes. Moreover, load balancing and seamless traffic handling in case of MRF failures are not efficiently addressed, resulting in service interruptions and dissatisfied users.
[0005] Therefore, there is a need for an advancement for a system and method that can overcome at least one of the above shortcomings, particularly to manage integration of different Media Resource Function (MRF) servers with the BTAS and ensuring service continuity in the event of MRF or MRF pool failures.
BRIEF SUMMARY OF THE INVENTION
[0006] One or more embodiments of the present disclosure provide a system and method for managing Media Resource Function (MRF) servers in a network.
[0007] In one aspect of the present invention, the system for selecting at least one MRF server in the network is disclosed. The system includes a configuring module to configure a plurality of MRF pools. Each MRF pool include at least a primary pool and a secondary pool. The primary pool includes a plurality of primary MRF servers, and a secondary pool includes a plurality of secondary MRF servers. Each of the MRF pools is adapted to provide at least one of one or more services offered by a service provider. The system further includes a transceiver configured to receive a service request initiated by a user via User Equipment (UE) to avail one or more services. The system further includes a selection module configured to select at least one MRF pool from the plurality of MRF pools relevant to provide the one or more services related to the service request. The system further includes a health status monitoring module configured to check in real time the health status of each of the primary MRF servers of the plurality of primary MRF servers belonging to the primary pool of the selected MRF pool. The selection module is further configured to select at least one primary MRF server from the primary pool whose health status meets a pre-defined criteria. The system further includes a switching module configured to switch to at least one secondary MRF server of the secondary pool when the health status of each of the primary MRF servers does not meet the pre-defined criteria, thereby maintaining service continuity.
[0008] The system is further configured to utilize the primary and secondary pools that are paired for each MRF pool. The plurality of primary MRF servers of the primary pool is configured as primary servers to provide the services as per the user request. The plurality of secondary MRF servers of the secondary pool is configured as a backup for a service execution in the event the health status of none of the primary servers meet the pre-defined criteria. The system is further configured to select at least one secondary MRF server from the secondary pool whose health status meets the pre-defined criteria, when the health status of each of the primary MRF servers does not meet the pre-defined criteria. The pre-defined criteria include the primary MRF server and the secondary MRF server being at least one of, available, working condition, sufficient number of resources to handle services requested by users, number of requests received from users are within an acceptable range or values. The availability of the MRF server is when the said MRF server is online.
[0009] In another embodiment, the health status monitoring module of the system is further configured to inspect the each primary MRF server from the primary pool for selection and each secondary MRF server of the secondary pool for switching based on a pre-defined sequence. The pre-defined sequence is at least one of, round robin. The selection module is further configured to select at least one primary MRF server from the primary pool in the pre-defined sequence when all the plurality of primary MRF servers meet the pre-defined criteria, thereby balancing the load pertaining to the service request received from the user. The health status monitoring module is further configured to check the health status of each of the primary MRF server of the plurality of MRF servers of the primary pool belonging to the selected MRF pool based on transmitting a health request and monitors if the response to the health request is received within a pre-defined time period from the respective server.
[0010] In another embodiment, the switching module is further configured to switch to a consecutive primary MRF server within the primary pool which meets the pre-defined criteria in response to the at least one selected primary MRF server from the primary pool does not meet the pre-defined criteria thereby not switching to the secondary MRF server of the secondary pool until none of the primary MRF servers meet the pre-defined criteria.
[0011] In another aspect of the present invention, a method for selecting at least one MRF server in the network is disclosed. The method includes a step of receiving a service request initiated by a user via User Equipment (UE) to avail one or more services. The method further includes a step of configuring a plurality of MRF pools. Each of a MRF pool include at least a primary pool and a secondary pool. The primary pool includes a plurality of primary MRF servers, and a secondary pool includes a plurality of secondary MRF servers. Each of the MRF pool is adapted to provide at least one of one or more services offered by a service provider. The method further includes a step of receiving a service request initiated by a user via User Equipment (UE) to avail one or more services. The method further includes a step of selecting at least one MRF pool from the plurality of MRF pools relevant to provide the one or more services related to the service request. The method further includes a step of checking in real time the health status of each of the primary MRF server of the plurality of primary MRF servers belonging to the primary pool of the selected MRF pool. The method further includes a step of selecting at least one primary MRF server from the primary pool whose health status meets a pre-defined criteria. The method further includes a step of switching to at least one secondary MRF server of the secondary pool when the health status of each of the primary MRF servers does not meet the pre-defined criteria, thereby maintaining service continuity.
[0012] The method further utilizes the primary and secondary pools that are paired for each MRF pool. The plurality of primary MRF servers of the primary pool is configured as primary servers to provide the services as per the user request. The plurality of secondary MRF servers of the secondary pool is configured as a backup for a service execution in the event the health status of none of the primary servers meet the pre-defined criteria. The method further includes the step of selecting at least one secondary MRF server from the secondary pool whose health status meets the pre-defined criteria, when the health status of each of the primary MRF servers does not meet the pre-defined criteria. The pre-defined criteria include the primary MRF server and the secondary MRF server being at least one of, available, working condition, sufficient number of resources to handle services requested by users, number of requests received from users are within an acceptable range or values. The availability of the MRF server is when the said MRF server is online.
[0013] In another embodiment, the method further includes the step of inspecting the each primary MRF server from the primary pool for selection and each secondary MRF server of the secondary pool for switching based on a pre-defined sequence, the pre-defined sequence is at least one of, round robin. The method further includes the step of selecting at least one primary MRF server from the primary pool in the pre-defined sequence when all the plurality of primary MRF servers meet the pre-defined criteria, thereby balancing the load pertaining to the service request received from the user. The method further includes the step of checking the health status of each of the primary MRF server of the plurality of MRF servers of the primary pool belonging to the selected MRF pool based on transmitting a health request and monitors if the response to the health request is received within a pre-defined time period from the respective server.
[0014] In another embodiment, the method further includes step of switching to a consecutive primary MRF server within the primary pool which meets the pre-defined criteria in response to the at least one selected primary MRF server from the primary pool does not meet the pre-defined criteria, thereby not switching to the secondary MRF server of the secondary pool until none of the primary MRF servers meet the pre-defined criteria.
[0015] In another aspect of the present invention, a User Equipment (UE) is disclosed. One or more primary processors communicatively coupled to one or more processors. The one or more primary processors coupled with a memory. The memory stores instructions which when executed by the one or more primary processors causes the UE to transmit a service request from a user via an interface module to a one or more processors, in order to avail at least one service offered by the service provider.
[0016] In yet another aspect of the present invention, a non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a processor. The processor is configured to configure, a plurality of MRF pools, each MRF pool includes at least a primary pool and a secondary pool, the primary pool including a plurality of primary MRF servers and a secondary pool including a plurality of secondary MRF servers, each MRF pool adapted to provide at least one service offered by a service provider. The processor is further configured to receive a service request initiated by a user to avail one or more services and select at least one MRF pool from the plurality of MRF pools relevant to provide the one or more services related to the service request. The processor is further configured to check in real time, health status of each of the primary MRF server of the plurality of primary MRF servers belonging to the primary pool of the selected MRF pool and select at least one primary MRF server from the primary pool whose health status meets a pre-defined criteria. The processor is further configured to switch to at least one secondary MRF server of the secondary pool when the health status of each of the primary MRF servers does not meet the pre-defined criteria, thereby maintaining service continuity.
[0017] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, 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 disclosure. 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 disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0019] FIG. 1a is an exemplary block diagram of an communication system 100 for selecting at least one MRF server in a network, according to various embodiments of the present invention;
[0020] FIG. 1b is an exemplary block diagram of a first MRF pool in the network, according to various embodiments of the present invention;
[0021] FIG. 2 is a system architecture in accordance with the present embodiment.
[0022] FIG. 3 is a block diagram of the system for selecting at least one MRF server in the network, according to various embodiments of the present system;
[0023] FIG. 4 is a schematic representation of the user equipment and the system, according to various embodiments of the present system;
[0024] FIG. 5 shows a flow diagram of a method for selecting at least one MRF server in the network, according to various embodiments of the present system.
[0025] FIG. 6 is a signal flow diagram illustrating the system for selecting at least one MRF server in the network, according to one or more embodiments of the present disclosure.
[0026] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0027] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0028] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0029] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0030] As per various embodiments depicted, the present invention discloses a system and method for selecting at least one Media Resource Function (MRF) server in a network by intelligently balancing load between different MRF servers. The method and system is further configured to avoid overloading of any single MRF server.
[0031] In various embodiments, the invention addresses service continuity by seamlessly handling traffic in the event of an MRF server failure or complete MRF pool failure. The system and method is directed towards intelligently redirecting traffic to alternative MRF servers, ensuring uninterrupted service provision and minimizing disruption for users, and eliminating the need for development efforts within the system. This capability greatly enhances the reliability and robustness of the telephony system, thereby providing a high level of service availability. Further, the system and method aids the MRF servers to be deployed and optimized specifically for different types of traffic, enabling efficient resource allocation, avoid transcoding and enhanced performance.
[0032] FIG. 1a illustrates an exemplary block diagram of an communication system 100 for selecting at least one Media Resource Function (MRF) server 125 in the network 105. The communication system 100 includes a user equipment 110. For the purpose of description and explanation, the description will be explained with respect to one or more user equipment (UE) 110, or to be more specific will be explained with respect to a first UE 110a, a second UE 110b, and a third UE 110c, and should nowhere be construed as limiting the scope of the present disclosure.
[0033] In an embodiment, each of the first UE 110a, the second UE 110b, and the third UE 110c is one of, but are not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device.
[0034] In an embodiment, each of the first UE 110a, the second UE 110b, and the third UE 110c are connected to at least one MRF server 125 hosted by a service provider via a network 105.
[0035] In one embodiment, MRF server 125 is responsible for carrying out a variety of processing tasks related to media associated with a particular service such as announcements or conference in telephony systems. These tasks pertain to coordination and distribution of traffic associated with the conference, playing of announcements to the user and transcoding of media streams to facilitate successful session establishment between the user and the system 115.
[0036] The MRF server 125 hosted by the service provider may include by way of example but not limitation, plurality of MRF servers one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, one or more processors executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an embodiment, the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise, a defense facility, or any other facility that provides content.
[0037] The network 105 includes, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The network 105 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
[0038] FIG. 1b illustrates an exemplary block diagram of an at least one MRF server 125 hosted by the service provider in the network 105. At least one MRF server 125 hosted by the service provider provides one or more services such as a conference service and a Virtual Private Branch Exchange (PBX) service. The one or more services offered by the service provider utilizing at least one MRF server 125 corresponds to a plurality of MRF pools such as a first MRF pool 125a related to the conference service and a second MRF 125b pool related to the Virtual Private Branch Exchange (PBX) service that provides a seamless and streamlined experience for the user according to the transmitted request. Each of the first MRF pool 125a and the second MRF pool 125b are adapted to provide at least one of one or more services offered by the service provider.
[0039] In one embodiment, the MRF pool 125a or 125b is a cluster or a group of a plurality of MRF servers which are configured by the service provider in order to provide the one or more services to the user. Based on the one or more services required by the user, the system selects appropriate MRF pool and provides an uninterrupted experience of the one or more services for the user.
[0040] The formation of the first MRF pool 125a and the second MRF pool 125b are based on the desired service types and resource allocation requirements. The first MRF pool 125a includes a primary pool 130 and a secondary pool 135. Further, the primary pool 130 includes a plurality of primary MRF servers 130a and 130b, and the secondary pool 135 includes a plurality of secondary MRF servers 135a and 135b. Initially the services are served by at least one of plurality of the primary MRF servers 130a and 130b. The plurality of secondary MRF servers 135a and 135b of the secondary pool 135 are configured as a backup for a service execution.
[0041] The secondary pool 135 is provided for a redundancy purpose. Load between the plurality of primary MRF servers 130a and 130b or the plurality of secondary MRF servers 135a and 135b is equally balanced in a Round Robin fashion. For example, if any of MRF server 130a is out of service, it is blacklisted and no requests sent to this MRF 130a till it again is back in service. The plurality of the primary MRF servers 130a and 130b are the main resource for service execution, while the plurality of the secondary MRF servers 135a and 135b acts as the backup in case of the plurality of primary server 130a and 130b failure. The plurality of the secondary MRF servers 135a and 135b are geographically redundant, in other words it is located in a different physical location or a data center to ensure resilience against localized failures or disasters. However, it should be noted that that the plurality of secondary MRF servers 135a and 135b being geographically redundant is not limiting the scope of the present disclosure as the plurality of the secondary MRF servers may be located in closed proximity to the plurality of primary MRF servers 130a and 130b as well.
[0042] Referring to FIG.1a, the communication system 100 further includes the system 115 communicably coupled to the at least one MRF server 125 hosted by the service provider and each of the first UE 110a, the second UE 110b, and the third UE 110c via the network 105. The system 115 is configured to select at least one MRF server 125 in the network 105.
[0043] In various embodiments, the system 115 may be generic in nature and may be integrated with any application including a System Management Facility (SMF), an Access and Mobility Management Function (AMF), a Business Telephony Application Server (BTAS), a Converged Telephony Application Server (CTAS), any SIP (Session Initiation Protocol) Application Server which interacts with core Internet Protocol Multimedia Subsystem(IMS) on Industrial Control System (ISC) interface as defined by 3GPP to host a wide array of cloud telephony enterprise services, a System Information Blocks (SIB)/ and a Mobility Management Entity (MME).
[0044] The system 115 access at least one MRF server 125 via the network 105 and provides one or more services to a user based on a service request transmitted from the user via each of the first UE 110a, the second UE 110b, and the third UE 110c to the system 115 in order to avail one or more services offered by the service provider.
[0045] To establish connectivity between the system 115 and at least one MRF server 125, the system 115 is configured with necessary network settings and protocols to communicate with the plurality of primary and the secondary MRF servers (130a, 130b, 135a and 135b) within the first MRF pool 125a and the second MRF pool 125b. This typically involves configuring IP addresses, ports, and authentication credentials for each of the plurality of primary and the secondary MRF servers (130a, 130b, 135a and 135b) within the first MRF pool 125a and the second MRF pool 125b.
[0046] In one embodiment, the system 115 is connected to the first MRF pool 125a and the second MRF pool 125b through the network 105, ensuring a bidirectional communication and control. This connectivity allows the system 115 to monitor a health status of the plurality of the primary and the secondary MRF servers (130a, 130b, 135a and 135b), and select the appropriate MRF server among the plurality of the primary and the secondary MRF servers (130a, 130b, 135a and 135b) based on the service requirements of the user and distribute the service load efficiently.
[0047] Operational and construction features of the system 115 will be explained in detail with respect to the following figures.
[0048] Referring to FIG. 2, FIG. 2 illustrates a system architecture in accordance with the present embodiment. The system 115 is implemented as a Session initiation protocol (SIP) application server for enterprise/business solutions, which would be integrated with an IMS Core. The system 115 enables a network-based telephony and a web communication from and to clients of a customer. The system 115 would provide services like SIP trunking and an IP Centrex service to business customers. It would be integrated with an IMS core Network 202 and other application servers to provide a supplementary service like a CUG, a short code dialing and the conferencing etc.
[0049] In particular, the system 115 includes a (SIP) zone, a representational state transfer (REST) zone, and a diameter zone. With reference to the SIP zone, the system 115 communicates with the network elements such as IMS 206 and MNP 222 via a Session Initiation Protocol (SIP) protocol to create and control multimedia sessions. The system 115 receives telephony traffic from a customer and directs the telephony traffic to a destination via the SIP. The SIP zone includes one or more call switches for routing the telephony traffic. The SIP zone enables the client of the customer, such as the customer A or B, to send and receive calls over the network 202 using SIP requests and responses. The web zone integrates a telephony data with the application server to enable telephony-based traffic access to software services run by the application server. In, REST zone, the system 115 communicates with the network elements such as OSS/BSS 208 and Load balancer 211 via a REST protocol. The REST protocol is an architectural style for providing standards between the network elements on making it easier for the network elements to communicate with each other.
[0050] In one implementation, the REST zone includes an Operations and Business Support Systems (OSS/BSS) 208, a load balancer 211 for handling call load balancing, an Evolved Packet System (EPS) 210, and an Element Management System (EMS) 204. The system 115 interacts with a Media Resource Function (MRF) 214, a Caller Ring Back Tone (CRBT) 216, a Diameter Routing Agent (DRA) 218 is connected to an Online Charging System (OCS) 220 via a diameter interface, and a Mobile Number Portability (MNP) 222 using SIP. Through an IP Multimedia System (IMS) core 206, VoLTE service 202 is completed.
[0051] In one embodiment, CRBT 216 empowers the user to redefine the calling experience by replacing standard ring-back tones with customized audio content, creating a unique and engaging calling atmosphere. For example, the person who is receiving the call can customize the ring back tone, based on the phone number of the user who is placing the call. The CRBT 216 is connected to the system 115 via the SIP.
[0052] The Diameter Routing Agent (DRA) 218 is a functional element in a 3G or 4G (such as LTE) network that provides real-time routing capabilities to ensure that request/messages are routed among the correct network elements in the network. The Online charging system (OCS) 220 is a system allowing a communications service provider to charge their customers, in real time, based on service usage. The diameter interface connects the DRA 218 and the OCS 220 with the system 115 in a diameter protocol based mobile communication networks, such as 4G LTE networks. The diameter protocol provides authentication, authorization, and accounting (AAA) messaging services for network access and data mobility applications in 3G, IP Multimedia Systems (IMS), and LTE/4G networks. Mobile number portability (MNP) 222 enables users to retain a mobile telephone number when changing the mobile network operator. The MNP 222 is connected to the system 115 via the SIP.
[0053] In particular, OSS/BSS 208 is the combination of Business and Operations Support Systems. The OSS is a collection of hardware and software tools designed to monitor, analyze and manage telecom networks and the BSS plays a crucial role in managing the business operations of a network provider, ensuring customer satisfaction and operational efficiency. The BSS refers to a set of software programs that allows at least one MRF server 125 to manage and streamline all the one or more services provided to the user. The Load balancer 211 refers to efficiently distributing incoming service requests initiated by the user to avail one or more services across the first MRF pool 125a and the second MRF pool 125b according to the service requested. The EPS (Evolved Packet System) 210 provides the user with a "ready-to-use" IP connectivity and an "always-on" experience by linking between mobility management and session management procedures during the UE attach procedure with the system 115. The EPS 210 manages the transfer of data packets related to service requests between the user equipment (UE) 110 and the external packet data networks 105, such as the internet. The Element Management System (EMS) 204 consists of systems and applications for managing network elements of the network. The EMS 204 manages a network element such as at least one MRF server 125 in the network 105. The MRF 214 is responsible for carrying out a variety of processing tasks on media streams associated with one or more services. These tasks may include coordination and distribution of voice traffic associated with a conference service, playing of announcements to the user, etc.
[0054] In particular, the DRA 218 provides a real-time routing capability to ensure that the service request initiated by the users are routed among the correct plurality of primary and secondary MRF servers (130a, 130b, 135a and 135b) in their respective primary pool 130 and the secondary pool 135. The CRBT 216 platform is an advanced telecommunications service that allows mobile phone users to personalize the ring-back tone heard by a caller. The OCS 220 is responsible for facilitating real-time interactions with users, ensuring that the users are charged accurately for the consumed one or more services. The MNP 222 is a service that allows a cellphone or smartphone user to change telecom carrier and keep the same phone number. The IMS 206 is a standardized architectural framework for delivering an IP multimedia communication service such as voice, video and text.
[0055] Overall, the present invention significantly improves the integration of at least one MRF server 125 with the system 115 for various telephony services. By leveraging multiple protocols and intelligent traffic management, the invention enhances flexibility, load balancing, and service continuity. These advantages result in a more efficient and reliable telephony system, reducing downtime, improving user experience, and facilitating the deployment of new services.
[0056] Referring to FIG. 3, FIG. 3 illustrates a block diagram of the system 115 for selecting at least one MRF server 125 in the network 105, according to one or more embodiments of the present invention. The system 115 is adapted to be embedded within the at least one MRF server 125 or is embedded as the individual entity.
[0057] As per the illustrated embodiment, the system 115 includes one or more processors 305, a memory 310, and an input/output interface unit 315. The one or more processor 305, hereinafter referred to as the processor 305 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions. As per the illustrated embodiment, the system 115 includes one processor 305. However, it is to be noted that the system 115 may include multiple processors as per the requirement and without deviating from the scope of the present disclosure. Among other capabilities, the processor 305 is configured to fetch and execute computer-readable instructions stored in the memory 310. The memory 310 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 310 may include 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.
[0058] In an embodiment, the input/output (I/O) interface unit 315 includes a variety of interfaces, for example, interfaces for data input and output devices, referred to as Input/Output (I/O) devices, storage devices, and the like. The I/O interface unit 315 facilitates communication of the system 115. In one embodiment, the I/O interface unit 315 provides a communication pathway for one or more components of the system 115. Examples of such components include, but are not limited to, the user equipment 110.
[0059] Further, the processor 305, in an embodiment, may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 305. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor 305 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for processor 305 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory 310 may store instructions that, when executed by the processing resource, implement the processor 305. In such examples, the system 115 may comprise the memory 310 storing the instructions and the processing resource to execute the instructions, or the memory 310 may be separate but accessible to the system 115 and the processing resource. In other examples, the processor 305 may be implemented by electronic circuitry.
[0060] In order for the system 115 to select at least one MRF server 125 in the network 105, the processor 305 includes a transceiver module 320, a configuration module 325, a selection module 330, a health status monitoring module 335, and a switching module 340, communicably coupled to each other.
[0061] The transceiver module 320 of the processor 305 is communicably connected to each of the first UE 110a, the second UE 110b, and the third UE 110c via the network 105. Accordingly, the transceiver module 320 is configured to receive the service request initiated by the user to avail one or more services via at least each of the first UE 110a, the second UE 110b, and the third UE 110c.
[0062] The processor 305 includes the configuration module 325 to configure plurality of MRF pools such as the first MRF pool 125a and the second MRF pool 125b, each of the MRF pool (125a, 125b) includes the primary pool 130 and the secondary pool 135, the primary pool 130 includes the plurality of the primary MRF servers (130a, 130b) and the secondary pool 135 includes the plurality of the secondary MRF servers (135a,135b). The plurality of the primary MRF servers (130a, 130b) of the primary pool 130 are configured to provide the services as per the users service request and the plurality of the secondary MRF servers (135a,135b) within the secondary pool 135 is configured as the backup for service execution.
[0063] The selection module 330 of the processor 305 is configured to select at least one MRF pool from the plurality of MRF pools such as the first MRF pool 125a and the second MRF pool 125b in order to provide the one or more services based on the service request of the user. For example, the service request of the user received at the transceiver module 320 may be related to conference service, based on the conference service requested, the first MRF pool 125a dedicated to conference-related services is selected by the selection module 330.
[0064] The health status monitoring module 335 of the processor 305 is communicably connected to the selection module 330. The health status monitoring module 335 is configured to check in real time the health status of each of the plurality of the primary MRF servers (130a, 130b) belonging to the primary pool 130 of the selected first MRF pool 125a from the plurality of MRF pools using a heartbeat mechanism or a pre-defined criteria. The heartbeat mechanism is a method to monitor the plurality of the primary MRF servers (130a, 130b) in order to check the availability and reachability of the plurality of the primary MRF servers (130a, 130b). This heartbeat mechanism ensures that the health status monitoring module 335 stays updated with the availability and reachability of the plurality of the primary MRF servers (130a, 130b).
[0065] Another implementation of the heartbeat mechanism utilizes the Session Initiation Protocol (SIP). The health status monitoring module 335 sends a periodic SIP OPTIONS request to each of the plurality of the primary MRF servers (130a, 130b). The plurality of the primary MRF servers (130a, 130b) responds with SIP OK messages if they are online and functioning correctly. By analyzing the responses received within a predefined timeout, the health status monitoring module 335 determines the health status of the plurality of the primary MRF servers (130a, 130b). If any one of plurality of the primary MRF servers (130a, 130b) fails to respond or responds, the health status monitoring module 335 marks at least one of the plurality of the primary MRF servers (130a, 130b) as offline.
[0066] Based on checking the health status of the plurality of primary MRF servers (130a, 130b) by the health status monitoring module 335, the selection module 330 of the processor 305 is further configured to select an available primary MRF server or the primary MRF server whose health status meets the pre-defined criteria among the plurality of primary MRF servers (130a, 130b) from the first MRF pool 125a for service execution. For example, the primary MRF server 130a may be selected when the health status meets the pre-defined criteria.
[0067] In an embodiment, the pre-defined criteria include the plurality of primary MRF servers (130a, 130b) and the plurality of secondary MRF servers (135a, 135b) being at least one of, available, working condition, sufficient number of resources to handle services requested by users, number of requests received from users are within an acceptable range or values, wherein the availability of the MRF server is when the said MRF server is online.
[0068] In one embodiment, the switching module 340 is communicably connected to the health status monitoring module 335 and the selection module 330. The switching module 340 is configured to switch to the consecutive primary MRF server 130b within the primary pool 130 which meets the pre-defined criteria in response to the at least one selected primary MRF server 130a from the primary pool 130 does not meet the pre-defined criteria. For example, the heartbeat mechanism enables the system 115 to keep track of the availability and reachability of the plurality of the primary MRF servers (130a, 130b) and the plurality of the secondary MRF servers (135a, 135b). Based on the health status of the plurality of the primary MRF servers (130a, 130b) and the plurality of the secondary MRF servers (135a, 135b), the system 115 selects an available MRF server for service execution. If the primary MRF server 130a in the primary pool 130 is marked as offline, the system 115 automatically switches to the corresponding primary MRF server 130b within the same primary pool 130. This failover mechanism ensures uninterrupted service execution even in the event of MRF server failures.
[0069] In one embodiment, the switching module 340 is configured to switch to at least one of the plurality of the secondary MRF servers (135a, 135b) of the secondary pool 135 when the health status of each of the primary MRF servers (130a, 130b) does not meet the pre-defined criteria, thereby maintaining service continuity. For example, if all the primary MRF servers (130a, 130b) in the primary pool 130 are marked as offline, the system 115 automatically switches to the available secondary MRF server (135a, 135b) within the secondary pool 135.
[0070] Referring to FIG. 4, FIG. 4 is a schematic representation of the user equipment 110a and the system 115. It is to be noted that the embodiment with respect to FIG. 4 will be explained with respect to the first UE 110a for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
[0071] As mentioned earlier, the first UE 110a includes one or more primary processors 405 communicably coupled to the one or more processors 305 of the system 115. The one or more primary processors 405 are coupled with a memory unit 410 storing instructions which are executed by the one or more primary processors 405. The first UE 110a transmits the service request from the user via an interface module 415 to one or more processors 305, in order to avail at least one service from the one or more services offered by the service provider.
[0072] In an embodiment, the transceiver module 320 of processor 305 is communicably connected to the first UE 110a, via the network 105. Accordingly, the transceiver module 320 is configured to receive the service request initiated by the user to avail one or more services via the first UE 110a.
[0073] In an embodiment, the plurality of the primary MRF servers (130a, 130b) of the primary pool 130 are configured to provide the services as per the user’s service request. The plurality of the secondary MRF servers (135a, 135b) of the secondary pool 135 are configured as the backup for service execution. For example, the service provider utilizes at least one MRF server 125 to provide one or more services related to the conference service and Virtual Private Branch Exchange (PBX) service. The user service request may be related to the conference service which is transmitted to the at least one MRF server 125 hosted by the service provider by the one or more processors 305. The one or more processors 305 selects the one of the pluralities of the primary MRF servers (130a, 130b) included in the primary pool 130 of the first MRF pool 125a in order to serve the request of the user.
[0074] FIG.5 illustrates a flow diagram of a method for selecting at least one MRF server 125 in the network 105 and ensuring service continuity, in accordance with the present embodiment. The method enables the system 115 to dynamically select at least one MRF server 125 based on their availability and the health status, ensuring uninterrupted service execution for various telephony services.
[0075] At step 505, the method 500 includes the step of, configuring, by the one or more processors 305, the plurality of MRF pools (125a, 125b), each of the plurality of MRF pools (125a, 125b) includes at least the primary pool 130 and the secondary pool 135, the primary pool 130 including the plurality of primary MRF servers (130a, 130b) and the secondary pool 135 including the plurality of secondary MRF servers (135a, 135b), each MRF pool adapted to provide at least one service offered by the service provider.
[0076] The primary pool 130 and secondary pool 135 are paired for each of the MRF pools (125a, 125b). The plurality of primary MRF servers (130a, 130b) of the primary pool 130 are configured as the primary servers to provide the services as per the user request. The plurality of secondary MRF servers (135a, 135b) of the secondary pool 135 are configured as the backup for the service execution in the event the health status of none of the primary servers meet the pre-defined criteria. The pre-defined criteria include the primary MRF server (130a, 130b) and the secondary MRF server (135a, 135b) being at least one of, available, working condition, sufficient number of resources to handle services requested by the users, number of requests received from the users are within an acceptable range or values, wherein the availability of the MRF server is when the said MRF server is online.
[0077] At step 510, the method 500 includes the step of, receiving, by the one or more processors 305, the service request initiated by the user to avail one or more services.
[0078] At step 515, the method 500 includes the step of, selecting, by the one or more processors 305, at least one MRF pool from the plurality of MRF pools (125a,125b) relevant to provide the one or more services related to the service request.
[0079] At step 520, the method 500 includes the step of, checking in real time, by the one or more processors 305, the health status of each of the primary MRF server of the plurality of primary MRF servers (130a, 130b) belonging to the primary pool 130 of the selected MRF pool 125a.
[0080] At step 525, the method 500 includes the step of, selecting, by the one or more processors 305, at least one primary MRF server 130a from the primary pool 130 whose health status meets the pre-defined criteria. The selection of at least one primary MRF server (130a, 130b) from the primary pool 130 is performed in a pre-defined sequence when all the plurality of the primary MRF servers (130a, 130b) meet the pre-defined criteria, thereby balancing the load pertaining to the service request received from the user.
[0081] In an embodiment, for selection of at least one MRF server 125, each of the primary MRF servers (130a, 130b) from the primary pool 130 and each of the secondary MRF servers (135a, 135b) of the secondary pool 135 are inspected for switching based on the pre-defined sequence, wherein the pre-defined sequence is at least one of, round robin.
[0082] At step 530, the method 500 includes the step of, switching, by the one or more processors 305, to the secondary MRF server 135a of the secondary pool 135 when the health status of each of the primary MRF servers (130a, 130b) does not meet the pre-defined criteria, thereby maintaining service continuity. The switching to the at least one secondary MRF server (135a, 135b) from the secondary pool 135 is performed based on whose health status meets the pre-defined criteria.
[0083] The method then ends, having successfully executed the telephony service using the selected at least one MRF server 125.
[0084] The described method provides flexibility and resilience to the system 115, allowing it to adaptively select at least one MRF server 125 based on their health status, ensuring uninterrupted service execution for different telephony services. By utilizing the heartbeat mechanism and failover capabilities, the system 115 can maintain a reliable and robust telephony system, enhancing the overall user experience.
[0085] FIG. 6 is a signal flow diagram illustrating the system 115 for selecting at least one MRF server in the network 105, according to one or more embodiments of the present disclosure.
[0086] At step 602, the user initiates a request to avail one or more services provided by the service provider via the UE 110. The one or more services includes at least of, but not limited to, the conference service and the Virtual Private Branch Exchange (PBX) service.
[0087] At step 604, the transceiver 320 of the processor 305 receives the request initiated by the user to avail one or more services and forwards the request to the selection module 330.
[0088] At step 606, the selection module 330 selects at least one MRF pool from the plurality of MRF pools (125a,125b) relevant to provide the one or more services related to the service request. For example, let us assume the user has requested for the conference service, based on the request the selection module 330 selects the MRF pool 125a which is configured by the configuration module 325 to provide the conference services to the user. Further, the selection module 330 transmits a request to the health status monitoring module 335 to check the health status of each of the primary MRF server of the plurality of primary MRF servers (130a, 130b) belonging to the primary pool 130 of the selected MRF pool 125a.
[0089] At step 608, the health status monitoring module 335 transmits information of the health status of the plurality of primary MRF servers (130a,130b) based on satisfying the pre-defined criteria to the selection module 330.
[0090] At step 610, based on the information of the health status of the plurality of primary MRF servers (130a, 130b), the selection module 330 selects at least one primary MRF server (130a). Further the selection module 330 responds to the request via the transceiver 320 and the selected primary MRF server (130a) provides the one or more services to the user.
[0091] At step 612, the health status monitoring module 335 transmits information of the health status of the selected primary MRF server (130a) to the selection module 330 based on not satisfying the pre-defined criteria.
[0092] At step 614, the selection module 330 transmits a request to the health status monitoring module 335 to check the health status of the another primary MRF server (130b) belonging to the primary pool 130 of the selected MRF pool 125a. If the primary MRF server (130b) satisfies the pre-defined criteria then, the selection module 330 selects the primary MRF server (130b).
[0093] At step 615, the selection module 330 transmits a request to the switching module 340 to switch the primary MRF server (130a) with the primary MRF server (130b) and based on the request, the switching module 340 switches to the primary MRF server (130b) which further continues to provide the one or more services to the user.
[0094] Alternatively, at step 614, the selection module 330 transmits a request to the health status monitoring module 335 to check the health status of the another primary MRF server (130b) belonging to the primary pool 130 of the selected MRF pool 125a. If the primary MRF server (130b) does not satisfy the pre-defined criteria then, the selection module 330 selects the at least one secondary MRF server (135a, 135b) from the secondary pool 135 whose health status meets the pre-defined criteria.
[0095] Alternatively, at step 615, the selection module 330 transmits a request to the switching module 340 to switch the primary MRF server (130a) with the secondary MRF server (135a) and based on the request, the switching module 340 switches to the secondary MRF server (135a) which further continues to provide the one or more services to the user.
[0096] The present invention further discloses a non-transitory computer-readable medium having stored thereon computer-readable instructions. The computer-readable instructions are executed by a processor 305. The processor 305 configures the plurality of MRF pools (125a, 125b), each of the plurality of MRF pools (125a, 125b) includes at least the primary pool 130 and the secondary pool 135, the primary pool 130 including the plurality of primary MRF servers (130a, 130b) and the secondary pool 135 including the plurality of secondary MRF servers (135a, 135b), each of the plurality of MRF pools (125a, 125b) adapted to provide at least one service offered by the service provider. The processor 305 receives the service request initiated by the user to avail one or more services. Further the processor 305 selects at least one MRF pool from the plurality of MRF pools (125a,125b) relevant to provide the one or more services related to the service request. Further the processor 305 checks the health status of each of the primary MRF server of the plurality of primary MRF servers (130a, 130b) belonging to the primary pool 130 of the selected MRF pool 125a. Further the processor 305 selects at least one primary MRF server 130a from the primary pool 130 whose health status meets the pre-defined criteria. Further the processor 605 switches to the secondary MRF server 135a of the secondary pool 135 when the health status of each of the primary MRF servers (130a, 130b) does not meet the pre-defined criteria, thereby maintaining service continuity.
[0097] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-6) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0098] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.

REFERENCE NUMERALS
[0099] Communication system - 100;
[00100] Network - 105;
[00101] User Equipment - 110;
[00102] System - 115;
[00103] MRF server hosted by service provider – 125;
[00104] First MRF pool - 125a;
[00105] Second MRF pool - 125b;
[00106] Primary pool – 130;
[00107] Secondary pool – 135;
[00108] Primary MRF servers – 130a, 130b;
[00109] Secondary MRF servers – 135a, 135b;
[00110] One or more processor -305;
[00111] Memory – 310;
[00112] Input/output interface unit - 315;
[00113] Transceiver Module- 320;
[00114] Configuration Module - 325;
[00115] Selection Module - 330;
[00116] Health Status Monitoring Module - 335;
[00117] Switching Module - 340;
[00118] Primary processors – 405;
[00119] Memory unit – 410;
[00120] Interface Module – 415;
[00121] Processor of non-transitory computer-readable medium- 305.
,CLAIMS:CLAIMS
We Claim:
1. A method (500) for selecting at least one Media Resource Function (MRF) server (125) in a network (105), the method (500) comprises the steps of:
configuring, by one or more processors (305), a plurality of MRF pools (125a, 125b), each MRF pool (125a) includes at least a primary pool (130) and a secondary pool (135), the primary pool (130) including a plurality of primary MRF servers (130a,130b) and a secondary pool (135) including a plurality of secondary MRF servers (135a,135b), each MRF pool (125a) adapted to provide at least one service offered by a service provider;
receiving, by the one or more processors (305), a service request initiated by a user to avail one or more services;
selecting, by the one or more processors (305), at least one MRF pool (125a) from the plurality of MRF pools (125a,125b) relevant to provide the one or more services related to the service request;
checking in real time, by the one or more processors (305), health status of each of the primary MRF server of the plurality of primary MRF servers (130a,130b) belonging to the primary pool (130) of the selected MRF pool (125a);
selecting, by the one or more processors (305), at least one primary MRF server (130a) from the primary pool (130) whose health status meets a pre-defined criteria; and
switching, by the one or more processors (305), to at least one secondary MRF server (135a) of the secondary pool (135) when the health status of each of the primary MRF servers (130a,130b) does not meet the pre-defined criteria, thereby maintaining service continuity.

2. The method (500) as claimed in claim 1, wherein the primary pool (130) and secondary pools (135) are paired for each MRF pool (125a, 125b).

3. The method (500) as claimed in claim 1, wherein the plurality of primary MRF servers (130a,130b) of the primary pool (130) are configured as primary servers (130a,130b) to provide the services as per the user request.

4. The method (500)as claimed in claim 1, wherein the plurality of secondary MRF servers (135a,135b) of the secondary pool (135) are configured as backup for service execution in the event the health status of none of the primary servers (130a,130b) meet the pre-defined criteria.

5. The method (500) as claimed in claim 1, wherein the step of switching, to at least one secondary MRF server (135a) of the secondary pool (135) when the health status of each of the primary MRF servers (130a, 130b) does not meet the pre-defined criteria, includes the step of:
selecting, by the one or more processors (305), the at least one secondary MRF server (135a) from the secondary pool (135) whose health status meets the pre-defined criteria.

6. The method (500) as claimed in claim 1, wherein the pre-defined criteria include the primary MRF server (130a,130b) and the secondary MRF server (135a,135b) being at least one of, available, working condition, sufficient number of resources to handle services requested by users, number of requests received from users are within an acceptable range or values, wherein the availability of the MRF server (130a,130b,135a,135b) is when the said MRF server (130a,130b,135a,135b) is online.

7. The method (500) as claimed in claim 1, wherein the one or more processors (305) inspect each primary MRF server (130a,130b) from the primary pool (130) for selection and each secondary MRF server (135a,135b) of the secondary pool (135) for switching based on a pre-defined sequence, wherein the pre-defined sequence is at least one of, round robin.

8. The method (500) as claimed in claim 1, wherein the method (500) further comprises the step of:
selecting, by the one or more processors (305), at least one primary MRF server (130a) from the primary pool (130) in a pre-defined sequence when all the plurality of primary MRF servers meet (130a, 130b) the pre-defined criteria, thereby balancing the load pertaining to the service request received from the user.

9. The method (500) as claimed in claim 1, wherein the one or more processors (305), checks the health status of each of the primary MRF server of the plurality of MRF servers (130a, 130b) of the primary pool (130) belonging to the selected MRF pool (125a) based on, transmitting a health request and monitors if the response to the health request is received within a pre-defined time period from the respective server.

10. The method (500) as claimed in claim 1, wherein the method further comprises the step of:

switching, by the one or more processors (305), to a consecutive primary MRF server (130b) within the primary pool (130) which meets the pre-defined criteria in response to the at least one selected primary MRF server (130a) from the primary pool (130) does not meet the pre-defined criteria, thereby not switching to the secondary MRF server (135a) of the secondary pool (135) until none of the primary MRF servers (130a,130b) meet the pre-defined criteria.

11. A system (115) for selecting at least one Media Resource Function (MRF) server (125) in a network (105), the system (115) comprising:
a configuration module (325) configured to, configure, a plurality of MRF pools (125a, 125b), each MRF pool (125a) includes atleast a primary pool (130) and a secondary pool (135), the primary pool (130) including a plurality of primary MRF servers (130a,130b) and a secondary pool (135) including a plurality of secondary MRF servers (135a,135b), each MRF pool (125a) adapted to provide at least one service offered by a service provider;
a transceiver (320) configured to, receive, a service request initiated by a user to avail one or more services;
a selection module (330) configured to, select, at least one MRF pool (125a) from the plurality of MRF pools (125a,125b) relevant to provide the one or more services related to the service request;
a health status monitoring module (335) configured to, check in real time, health status of each of the primary MRF server of the plurality of primary MRF servers (130a,130b) belonging to the primary pool (130) of the selected MRF pool (125a);
the selection module (330) configured to, select, at least one primary MRF server (130a) from the primary pool (130) whose health status meets a pre-defined criteria; and
a switching module (340) configured to, switch, to at least one secondary MRF server (135a) of the secondary pool (135) when the health status of each of the primary MRF servers (130a,130b) does not meet the pre-defined criteria, thereby maintaining service continuity.

12. The system (115) as claimed in claim 11, wherein the primary pool (130) and secondary pools (135) are paired for each MRF pool (125a, 125b).

13. The system (115) as claimed in claim 11, the plurality of primary MRF servers (130a,130b) of the primary pool (130) are configured as primary servers (130a,130b) to provide the services as per the user request.

14. The system (115) as claimed in claim 11, wherein the plurality of secondary MRF servers (135a,135b) of the secondary pool (135) are configured as backup for service execution in the event the health status of none of the primary servers (130a,130b) meet the pre-defined criteria.

15. The system (115) as claimed in claim 11, wherein the switching module (340) is further configured to:
select the at least one secondary MRF server (135a) from the secondary pool (135) whose health status meets the pre-defined criteria.

16. The system (115) as claimed in claim 11, wherein the pre-defined criteria include the primary MRF server (130a,130b) and the secondary MRF server (135a,135b) being atleast one of, available, working condition, sufficient number of resources to handle services requested by users, number of requests received from users are within an acceptable range or values, wherein the availability of the MRF server (130a,130b,135a,135b) is when the said MRF server (130a,130b,135a,135b) is online.

17. The system (115) as claimed in claim 11, wherein the health status monitoring module (335) inspect each primary MRF server (130a,130b) from the primary pool (130) for selection and each secondary MRF server (135a,135b) of the secondary pool (135) for switching based on a pre-defined sequence, wherein the pre-defined sequence is at least one of, round robin.

18. The system (115) as claimed in claim 11, wherein the selection module (330) is further configured to:
select, at least one primary MRF server (130a) from the primary pool (130) in a pre-defined sequence when all the plurality of primary MRF servers meet (130a, 130b) the pre-defined criteria, thereby balancing the load pertaining to the service request received from the user.

19. The system (115) as claimed in claim 11, wherein the health status monitoring module (335) is further configured to, check the health status of each of the primary MRF server of the plurality of MRF servers (130a, 130b) of the primary pool (130) belonging to the selected MRF pool (125a) based on, transmitting a health request and monitors if the response to the health request is received within a pre-defined time period from the respective server.

20. The system (115) as claimed in claim 11, wherein the switching module (340) is further configured to:
switch, to a consecutive primary MRF server (130b) within the primary pool (130) which meets the pre-defined criteria in response to the at least one selected primary MRF server (130a) from the primary pool (130) does not meet the pre-defined criteria, thereby not switching to the secondary MRF server (135a) of the secondary pool (135) until none of the primary MRF servers (130a,130b) meet the pre-defined criteria.

21. A User Equipment (UE) (110), comprising:
one or more primary processors (405) communicatively coupled to one or more processors (305), the one or more primary processors (405) coupled with a memory (410), wherein said memory (410) stores instructions which when executed by the one or more primary processors (405) causes the UE (110) to:
transmit, a service request from a user via an interface module (415) to a one or more processors (305), in order to avail at least one service offered by the service provider; and
wherein the one or more processors (305) is further configured to perform the method as claimed in claim 1.

Documents

Application Documents

# Name Date
1 202321044345-STATEMENT OF UNDERTAKING (FORM 3) [03-07-2023(online)].pdf 2023-07-03
2 202321044345-PROVISIONAL SPECIFICATION [03-07-2023(online)].pdf 2023-07-03
3 202321044345-FORM 1 [03-07-2023(online)].pdf 2023-07-03
4 202321044345-FIGURE OF ABSTRACT [03-07-2023(online)].pdf 2023-07-03
5 202321044345-DRAWINGS [03-07-2023(online)].pdf 2023-07-03
6 202321044345-DECLARATION OF INVENTORSHIP (FORM 5) [03-07-2023(online)].pdf 2023-07-03
7 202321044345-FORM-26 [14-09-2023(online)].pdf 2023-09-14
8 202321044345-Proof of Right [22-12-2023(online)].pdf 2023-12-22
9 202321044345-DRAWING [26-06-2024(online)].pdf 2024-06-26
10 202321044345-COMPLETE SPECIFICATION [26-06-2024(online)].pdf 2024-06-26
11 Abstract1.jpg 2024-09-25
12 202321044345-Power of Attorney [11-11-2024(online)].pdf 2024-11-11
13 202321044345-Form 1 (Submitted on date of filing) [11-11-2024(online)].pdf 2024-11-11
14 202321044345-Covering Letter [11-11-2024(online)].pdf 2024-11-11
15 202321044345-CERTIFIED COPIES TRANSMISSION TO IB [11-11-2024(online)].pdf 2024-11-11
16 202321044345-FORM 3 [25-11-2024(online)].pdf 2024-11-25
17 202321044345-FORM 18 [20-03-2025(online)].pdf 2025-03-20