System and method for provisioning subscriber data in a communication network
The system addresses service continuity issues in subscriber provisioning by using circle ID-based routing to geo-redundant databases, ensuring seamless failover and reducing disruptions in large-scale networks.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- JIO PLATFORMS LTD
- Filing Date
- 2026-01-22
- Publication Date
- 2026-07-30
AI Technical Summary
Conventional subscriber provisioning systems face challenges in maintaining high reliability and availability across geographically distributed networks due to hardware failures, fiber cuts, and site outages, leading to service disruptions and provisioning backlogs, with issues in circle-based routing and lack of geo-redundancy mechanisms.
Implementing a system and method for subscriber provisioning using circle ID-based routing, where provisioning requests are directed to local or geo-redundant databases based on a circle ID-to-database mapping, ensuring seamless failover and synchronization across geographically redundant databases.
Ensures uninterrupted service continuity during primary site outages by dynamically routing provisioning requests to correct databases, maintaining data consistency and reducing service disruptions and provisioning backlogs.
Smart Images

Figure IN2026050110_30072026_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR PROVISIONING SUBSCRIBER DATA IN A COMMUNICATION NETWORKTECHNICAL FIELD
[0001] The embodiments of the present disclosure generally relate to the field of communication networks and systems. More particularly, the present disclosure relates to a system and a method for provisioning subscriber data in a communication network.BACKGROUND OF THE INVENTION
[0002] The subject matter disclosed in the background section should not be assumed or construed to be prior art merely due to its mention in the background section. Similarly, any problem statement mentioned in the background section or its association with the subject matter of the background section should not be assumed or construed to have been previously recognized in the prior art.
[0003] With advancements in the field of telecommunications, robust and uninterrupted subscriber provisioning systems are crucial to ensure seamless onboarding and provisioning of new subscribers. As networks expanded geographically, ensuring continuity in provisioning the new subscribers while maintaining accuracy has become a critical challenge for service providers. For large scale networks catering to millions of users, such as Fixed Wireless Access (FWA) device like Outdoor Customer Premises Equipment (ODCPE) or Indoor Customer Premises Equipment (IDCPE) services, the subscriber provisioning systems must maintain high reliability and availability across geographically distributed sites.
[0004] Conventional provisioning systems have been designed with centralized architectures, where a single Provisioning Gateway (PGW) or database serves as a primary point of service for specific regions. However, the conventional provisioning systems exhibit significant limitations, for instance, in scenarios wherethe PGW or the associated database becomes unavailable due to hardware failures, fiber cuts, site outages, or the like, provisioning requests are delayed resulting in service disruptions or complete failure. This situation leads to accumulation of provisioning backlogs, customer dissatisfaction, and revenue loss for the service providers.
[0005] To overcome the above limitations, earlier approaches utilized secondary or backup databases. However, these approaches suffered from synchronization issues, lack of effective routing logic, and inability to dynamically adapt to geographically specific traffic. As a result, provisioning orders were often rerouted to incorrect databases, leading to errors and inconsistencies in subscriber records.
[0006] Another limitation was lack of circle-based routing. The “circles” refer to geographic regions into which telecommunication networks are divided, where the provisioning requests must be routed to specific databases associated with those regions. The conventional provisioning systems lacked robust geo-redundancy mechanisms and failed to utilize the circle-based routing to ensure that the provisioning orders are processed by the correct database, even during outages.
[0007] In light of the aforementioned limitations associated with the conventional provisioning systems, there is a need for a solution that can seamlessly implement geo-redundancy for the PGWs by connecting mated-pair databases using the circlebased routing.SUMMARY
[0008] The following embodiments present a simplified summary in order to provide a basic understanding of some aspects of the disclosed invention. This summary is not an extensive overview, and it is not intended to identify key / critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
[0009] According to an aspect of the present disclosure, disclosed herein is a method for provisioning subscriber data in a communication network. The method comprises receiving, by a receiving module from a Fulfilment Management System (FMS), a provisioning request comprising a circle identifier (ID) in a request header. The method further comprises retrieving, by a retrieving module based on the provisioning request, the circle ID from the provisioning request. The method further comprises determining, by a determining module, a local database mapped to the circle ID using a circle ID-to-database mapping configuration. The method further comprises determining, by the determining module based upon the mapping, an availability of the local database. The method further comprises transmitting, by a transmitting module based upon the availability of the local database, the provisioning request to the local database and storing, by a storage module, provisioning data associated with a subscriber in the local database.
[0010] In one or more implementations, the method further comprises generating, by a generation module, a response message based on an outcome of the provisioning, wherein the response message comprises one of success response, partial success response and a failure response and transmitting, by the transmitting module, the response message to the FMS.
[0011] In one or more implementations, the method further comprises identifying, by an identification module upon an unavailability of the local database, a geo-redundant database associated with the circle ID and determining, by the determining module, an availability of the geo-redundant database. The method further comprises transmitting, by the transmitting module upon the availability of the geo-redundant database, the provisioning request to the geo-redundant database and storing, by the storage module, the provisioning data associated with the subscriber in the geo-redundant database.
[0012] In one or more implementations, the method further comprises retransmitting, by the transmitting module, the provisioning request to the local database upon restoration of the availability of the local database.
[0013] In one or more implementations, the provisioning request includes one or more of activation request, plan change request, or billing update request.
[0014] In one or more implementations, the provisioning data associated with the subscriber includes at least a subscriber identifier, service plan ID, timestamp, and provisioning action.
[0015] According to an aspect of the present disclosure, disclosed herein is a system for provisioning subscriber data in a communications network, the system comprising a receiving module, a retrieving module, a determining module, a transmitting module and a storage module. The receiving module is configured to receive, from a Fulfillment Management System (FMS), a provisioning request comprising a circle identifier (ID) in a request header. The retrieving module is configured to retrieve, based on the provisioning request, the circle ID from the provisioning request. The determining module is configured to determine a local database mapped to the circle ID using a circle ID-to-database mapping configuration and determine, based upon the mapping, an availability of the local database. The transmitting module is configured to transmit, based upon the availability of the local database, the provisioning request to the local database and the storage module is configured to store provisioning data associated with a subscriber in the local database.BRIEF DESCRIPTION OF DRAWINGS
[0016] Various embodiments disclosed herein will become better understood from the following detailed description when read with the accompanying drawings. The accompanying drawings constitute a part of the present disclosure and illustrate certain non-limiting embodiments of inventive concepts. Further, components and elements shown in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. For the purpose of consistency and ease of understanding, similar components and elements are annotated by reference numerals in the exemplary drawings.
[0017] FIG. 1 illustrates an exemplary environment for geo-redundant subscriber provisioning, in accordance with an embodiment of the present disclosure.
[0018] FIG. 2 illustrates a block diagram depicting an example geo-redundant subscriber provisioning system, in accordance with an embodiment of the present disclosure.
[0019] FIG 2A illustrates system architecture of a Provisioning Gateway (PGW), in accordance with an embodiment of the present disclosure.
[0020] FIG. 3 illustrates a line diagram depicting a sequential flow of a subscriber provisioning process in the geo-redundant subscriber provisioning system, in accordance with an embodiment of the present disclosure.
[0021] FIG. 4 illustrates a line diagram depicting a sequential flow of a subscriber provisioning process in event of non-availability of a primary PGW, in accordance with an embodiment of the present disclosure.
[0022] FIG. 5 illustrates a flow of a method for provisioning subscriber data in a communications network, in accordance with an embodiment of the present disclosure.
[0023] FIG. 6 illustrates a computing system for provisioning the subscriber data in the communications network, in accordance with an embodiment of the present disclosure.DETAILED DESCRIPTION OF THE INVENTION
[0024] Inventive concepts of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of one or more embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Further, the one or more embodiments disclosed herein are provided to describe the inventive concept thoroughly andcompletely, and to fully convey the scope of each of the present inventive concepts to those skilled in the art. Furthermore, it should be noted that the embodiments disclosed herein are not mutually exclusive concepts. Accordingly, one or more components from one embodiment may be tacitly assumed to be present or used in any other embodiment.
[0025] The following description presents various embodiments of the present disclosure. The embodiments disclosed herein are presented as teaching examples and are not to be construed as limiting the scope of the present disclosure. The present disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein, but may be modified, omitted, or expanded upon without departing from the scope of the present disclosure.
[0026] The following description contains specific information pertaining to embodiments in the present disclosure. The detailed description uses the phrases “in some embodiments” or “some implementations” which may each refer to one or more or all of the same or different embodiments or implementations. The term “some” as used herein is defined as “one, or more than one, or all.” Accordingly, the terms “one,” “more than one,” “more than one, but not all” or “all” would all fall under the definition of “some.” In view of the same, the terms, for example, “in an embodiment” or “in an implementation” refers to one embodiment or one implementation and the term, for example, “in one or more embodiments” refers to “at least one embodiment, or more than one embodiment, or all embodiments ”. Further, the term, for example, “in one or more implementations” refers to “at least one implementation, or more than one implementation, or all implementations.
[0027] The term “comprising,” when utilized, means “including, but not necessarily limited to;” it specifically indicates open-ended inclusion in the so-described one or more listed features, elements in a combination, unless otherwise stated with limiting language. Furthermore, to the extent that the terms “includes,” “has,” “have,” “contains,” and other similar words are used in either the detaileddescription, such terms are intended to be inclusive in a manner similar to the term “comprising.”
[0028] 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 can each be used independently of one another or with any combination of other features.
[0029] The description provided herein discloses exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the foregoing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing any of the exemplary embodiments. Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it may be understood by one of the ordinary skilled in the art that the embodiments disclosed herein may be practiced without these specific details.
[0030] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein the description, the singular forms "a", "an", and "the" include plural forms unless the context of the invention indicates otherwise.
[0031] The terminology and structure employed herein are for describing, teaching, and illuminating some embodiments and their specific features and elements and do not limit, restrict, or reduce the scope of the present disclosure. Accordingly, unless otherwise defined, all terms, and especially any technical and / or scientific terms, used herein may be taken to have the same meaning as commonly understood by one having ordinary skill in the art.
[0032] The present disclosure relates to a system and a method for subscriber provisioning using circle Identifier (circlelD) based routing to ensure servicecontinuity. The system comprises Provisioning Gateways (PGWs) paired with geographically redundant databases. When a provisioning request is initiated to a PGW, the PGW identifies the circlelD in a request header and routes the provisioning request to a corresponding local database. In the event of a failure of a primary site, the PGW redirects the provisioning request to a spare / geo-redundant database within the paired site. The system further implements error recovery mechanisms to ensure provisioning orders are processed correctly upon restoring connectivity.
[0033] An object of the present disclosure is to provide a subscriber provisioning system and a corresponding method that can ensure uninterrupted service continuity during primary site outages or connectivity failures. Another aspect of the present disclosure is to implement circlelD based routing for dynamic and accurate mapping of the provisioning requests to circle-specific databases.
[0034] Several key terms used in the description play pivotal roles in facilitating the system functionality. In order to facilitate an understanding of the description, the key terms are defined below.
[0035] Provisioning Gateway (PGW)- The PGW may refer to a network-side logical entity responsible for receiving, processing, and routing service provisioning requests (e.g., customer activation, plan changes, deactivation) from client devices.
[0036] The circle ID- The circle ID may refer to a unique identifier associated with a telecom service area or geographic region. Each provisioning request contains the circle ID in its metadata or header, which is used by the PGW to determine the appropriate database endpoint for request processing.
[0037] Mated Pair- The mated pair may refer to a geo-redundant database pair, where each primary database has a corresponding secondary or “mated” database located in a different geographic zone. This configuration allows for failover routing to the mated database in case the primary becomes unavailable.
[0038] Geo-Redundancy- The geo-redundancy may refer to a fault-tolerant architecture in which critical components, such as databases, are replicated or mirrored across geographically dispersed locations. This ensures continued operation and data availability in the event of infrastructure failures, natural disasters, or connectivity issues at any single location.
[0039] Fulfillment Management System (FMS)- The FMS may refer to a system that serves as the client or front-end platform generating the service provisioning requests. These requests are passed to the PGW for processing. The FMS may include billing platforms, or mobile apps.
[0040] Database endpoint- The database endpoint may refer to a storage location where customer provisioning data (e.g., plan details, activation status) is written by the PGW. The endpoint may refer to the local database or its geo-redundant mated pair, depending on availability and circle mapping.
[0041] Circle-to-database mapping- The circle-to-database mapping may refer to a configuration table or logical mapping within the PGW that defines which circle ID is associated with which database endpoint(s). This mapping governs how the PGW routes the provisioning requests.
[0042] The provisioning request- The provisioning request may refer to the request originating from a computing device or system (via the FMS), typically used to activate, modify, or deactivate telecom services for the subscriber. This request includes relevant metadata such as subscriber ID, circle ID, and action type.
[0043] Failover routing- The failover routing may refer to process by which the PGW detects a failure in the primary (local) database and automatically redirects the provisioning request to the mated (redundant) database to ensure service continuity.
[0044] Success response / error response- The response sent back to the originating system (e.g., FMS) indicating whether the provisioning request was successfullyprocessed or failed due to errors such as duplicate records, network issues, or unavailability of databases.
[0045] Spare database- The spare database may refer to an additional backup database available within the geo-redundant pool, used only if both the local and mated pair databases are unreachable or unavailable.
[0046] Subscriber- The subscriber may refer to an end-user of the telecom service whose data is being provisioned or modified via the system. The subscriber is identified by a unique user ID or Mobile Station International Subscriber Directory Number (MSISDN).
[0047] Embodiments of the present disclosure will be described below in detail with reference to the accompanying drawings. FIG. 1 through FIG. 6, discussed below, and the one or more embodiments used to describe the principles of the present disclosure are by way of illustration only and should not be construed in any way to limit the scope of the present disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged system or device.
[0046] FIG. 1 illustrates an exemplary environment 100 for geo-redundant subscriber provisioning, in accordance with an embodiment of the present disclosure.
[0047] Referring to Fig 1, computing devices 106-1 to 106-N may represent various user-end devices such as smartphones, computers, or laptops that are capable of generating the service provisioning requests. The computing devices 106-1 to 106-N may send requests such as activation, plan modification, or billing updates via a network 104. The network 104 may comprise wired and / or wireless communication infrastructure, including but not limited to, the Internet, LTE / 5G networks, private telecom networks, or enterprise data channels. The network 104 may facilitate data transmission between the computing devices 106-1 to 106-N and a centralized provisioning system. A Provisioning Gateway (PGW) component 102 of theexemplary environment 100 is configured to receive and analyze the provisioning requests from the computing devices 106-1 to 106-N and extract metadata such as the circlelD from the request headers. The PGW component 102 may determine an appropriate database endpoint (local or mated pair) using pre-configured circle-to-database mappings and route the provisioning request to the corresponding database (local or backup). The PGW component 102 may further handle failover conditions by forwarding the provisioning requests to geo-redundant databases when the primary is unavailable. Databases 108-1 to 108-N (may also be referred as “database(s) 108”) may represent multiple geographically distributed databases associated with different telecom circles or service regions. In one or more embodiments, a given PGW may be primarily connected to a local database and secondarily connected to one or more mated pair databases for failover redundancy. The databases 108-1 to 108-N may store user provisioning data such as subscription status, billing plans, activation timestamps, and more.
[0048] FIG. 2 illustrates a block diagram depicting an example geo-redundant subscriber provisioning system 200 (hereinafter may also be alternately referred to as “a provisioning system 200”), in accordance with an embodiment of the present disclosure.
[0049] The provisioning system 200 includes a Fulfilment Management System (FMS) 210 and two PGWs i.e., a first PGW 220-1 and a second PGW 220-2 (may also be referred as “the PGW 220”), operating across two geographically distinct regions, region 1 and region 2 respectively. Each of the two PGWs (the first PGW 220-1 and the second PGW 220-2) is connected to multiple databases. The first PGW 220-1 is connected to its local databases, i.e., a first database 222 and a second database 224 and to its geo-redundant databases, i.e., a third database 226 and a fourth database 228. The second PGW 220-2 is connected to its local databases, the third database 226 and the fourth database 228 and to its geo-redundant databases, the first database 222 and the second database 224. The first database 222 and the second database 224 are the local databases for the region 1 and the geo-redundant / spare / mated / mated pair databases for the region 2. Similarly, the third database 226 and the fourth database 228 are the local databases for the region 2 and the geo-redundant / spare / mated / mated pair databases for the region 1.
[0050] The geo-redundant database refers to a database architecture designed to ensure high availability and resilience by replicating data across geographically separated regions or data centers. In case of a failure in a primary region, traffic is automatically rerouted to a secondary region. The data is kept in sync between all geographically distributed databases to ensure consistency and availability.
[0051] The FMS 210 acts as a client interface for the provisioning requests. For onboarding a new subscriber, the FMS 210 sends the subscriber provisioning request to the PGW. The FMS 210 monitors the health of the PGWs and the databases to route the provisioning requests efficiently, ensuring successful completion of all operations. As illustrated in FIG. 2A, the FMS 210 is configured to send the provisioning requests to the first PGW 220-1 and the second PGW 220-2 and receive status updates on success or failure of a subscriber provisioning operation.
[0052] The PGWs 220-1, 220-2 are configured to process the subscriber provisioning requests based on the circlelD. Each PGW is paired with local and spare (or geo-redundant) databases to ensure geo-redundancy. The first PGW 220-1 is a primary positioning gateway for the region 1. The first PGW 220-1 may include a processor or a plurality of processors (not shown in FIG.). The processor may be configured to receive the provisioning requests from the FMS 210, identify the circlelD in the provisioning request header and provision the subscriber data in appropriate local or geo-redundant databases based on the circlelD and availability. The first PGW 220-1 operates in conjunction with the second PGW 220-2 for subscriber provisioning. For region 1, the first PGW 220-1 writes the subscriber data in its local databases, the first database 222 and the second database 224. Along with provisioning of the subscriber data in the first database 222 and the second database 224, the first PGW 220-1 synchronizes the subscriber data with its geo-redundant databases i.e., the first PGW 220-1 replicates the subscriber data in the third database 226 and the fourth database 228.
[0053] The second PGW 220-2 is a primary PGW for the region 2 and serves as a geo-redundant backup for the region 1. For instance, in case the first PGW 220-1 is not available, the FMS 210 sends the provisioning request to the second PGW 220-2. The second PGW 220-2 may then route the subscriber provisioning request to the appropriate local or geo-redundant databases. For region 2, the second PGW 220-2 writes the subscriber data in its local databases, the third database 226 and the fourth database 228 and synchronizes the subscriber data with its geo-redundant databases i.e., the second PGW 220-2 replicates the subscriber data in the first database 222 and the second database 224.
[0054] The first database 222 and the second database 224 may also be interchangeably referred to as the local databases corresponding to the region 1 and are configured to handle immediate data storage for provisioning operations associated with the region 1. The third database 226 and the fourth database 228 are located in region 2 and are the geo-redundant databases, serving as a backup for the subscriber data of the region 1.
[0055] FIG 2A illustrates system architecture of the PGW 220, in accordance with an embodiment of the present disclosure.
[0056] The embodiment of the system architecture (may also be referred as “the system 220”) of the PGW 220 as shown in FIG. 2Ais for illustration only. However, the PGW 220 may come in a wide variety of configurations, and FIG. 2A does not limit the scope of the present disclosure to any particular system architecture of the PGW 220.
[0057] As shown in FIG. 2A, the system architecture of the PGW 220 includes one or more processors 230 (hereinafter also referred to as “processor 230”), a memory 232, a communication unit 234, an Input / Output (VO) interface(s) 236, and aprocessing unit(s) / module(s) 238. These components may be in electronic communication via one or more buses (e.g., first communication bus 200-2).
[0058] The one or more components of the PGW 220 are communicatively coupled with the processor 230 to perform operations. The processor 230 may include various processing circuitry and configured to execute programs or computer readable instructions stored in the memory 232. The processor 230 may also include an intelligent hardware device including a general-purpose processor, such as, for example, and without limitation, a Central Processing Unit (CPU), an Application Processor (AP), a dedicated processor, or the like, a microcontroller, a Field-Programmable Gate Array (FPGA), a programmable logic device, a discrete hardware component, or any combination thereof. In some cases, the processor 230 may be configured to operate a memory array using a memory controller. In some cases, the memory controller may be integrated into the processor 230. The processor 230 may be configured to execute computer-readable instructions stored in a memory (e.g., the memory 232) to cause the PGW 220 to perform various functions.
[0059] The memory 232 is communicatively coupled to the processor 230. A part of the memory 232 may include a RAM, and another part of the memory 232 may include a flash memory or other ROM. The memory 232 is configured to store a set of instructions required by the processor 230 for controlling overall operations of the PGW 220. The memory 232 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of Electrically Programmable Memories (EPROM) or Electrically Erasable and Programmable (EEPROM) memories. In addition, the memory 232 may, in some examples, be considered a non-transitory storage medium. The "non-transitory" storage medium is not embodied in a carrier wave or a propagated signal. However, the term "non-transitory" should not be interpreted that the memory 232 is non-movable. In some examples, the memory 232 can be configured to store larger amounts of information. In certain examples, a non-transitory storage medium may store data that can, overtime, change (e.g., in Random Access Memory (RAM) or cache). The memory 232 can be an internal storage unit or it can be an external storage unit of the PGW, cloud storage, or any other type of external storage.
[0060] More specifically, the memory 232 may store computer-readable instructions including instructions that, when executed by a processor (e.g., the processor 230) cause the PGW 220 to perform various functions described herein. In some cases, the memory 232 may contain, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices.
[0061] The communication unit 234 includes an electronic circuit specific to a standard that enables wired or wireless communication. The communication unit 234 is configured to communicate internally between internal hardware components and with external devices via one or more networks. The communication unit 234 may be configured to enable the PGW 220 to communicate with various entities through backhaul connection (e.g. wired backhaul or wireless backhaul) or a network. Examples of the communication unit 234 may include, but are not limited to, a modem, a network interface such as an Ethernet card, a communication port, and / or a Personal Computer Memory Card International Association (PCMCIA) slot and card, an antenna, a Radio Frequency (RF) transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a Coder-Decoder (CODEC) chipset, a Subscriber Identity Module (SIM) card, and a local buffer circuit. It will be apparent to a person of ordinary skill in the art that the communication unit 234 may include any device and / or apparatus capable of providing wireless or wired communications between the PGW 220 and various other entities of the communication network.
[0062] The I / O interface(s) 236 may include suitable logic, circuitry, a variety of interfaces, and / or codes that may be configured to receive input(s) and present output(s) to the user devices. The variety of interfaces may include interfaces for data input and output devices, referred to as I / O devices, storage devices, and thelike. For example, the I / O interface 236 may have an input interface and an output interface. The I / O interface(s) 236 may facilitate communication of the PGW 220 with various devices and systems connected to it. The I / O interface 236 may also provide a communication pathway for one or more components of the PGW 220. Examples of such components include, but are not limited to, the processing modules 238.
[0063] In one or more embodiments, the processing modules 238 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the PGW 220. In non-limiting examples, described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing modules 238 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor 230 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 modules 238. In such examples, the PGW 220 may also 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 PGW 220 and the processing resource. In other examples, the processing modules 238 may be implemented using an electronic circuitry.
[0064] In one or more embodiments, the processing modules 238 may include one or more modules selected from any of a receiving module 240, determining module 242, retrieving module 244, transmitting module 246, storage module 248, generation module 250, identification module 252. The receiving module 240 is configured to receive, from the FMS 210, the provisioning request comprising the circle ID in the request header. The retrieving module 244 is configured to retrieve, based on the provisioning request, the circle ID from the provisioning request. The determining module 242 is configured to determine the local database mapped tothe circle ID using the circle ID-to-database mapping configuration and determine, based upon the mapping, an availability of the local database. The transmitting module 246 is configured to transmit, based upon the availability of the local database, the provisioning request to the local database and the storage module 248 configured to store provisioning data associated with the subscriber in the local database.
[0065] The generation module 250 is configured to generate, a response message based on an outcome of the provisioning. The response message comprises one of success response, partial success response and a failure response. The transmitting module 246 is configured to transmit the response message to the FMS 210. The identification module 252 is configured to identify, upon an unavailability of the local database, the geo-redundant database associated with the circle ID and the determining module 242 is further configured to determine the availability of the geo-redundant database. The transmitting module 246 is further configured to transmit, upon the availability of the geo-redundant database, the provisioning request to the geo-redundant database and the storage module 248 is configured to store the provisioning data associated with the subscriber in the geo-redundant database. The transmitting module 246 is further configured to retransmit the provisioning request to the local database upon restoration of the availability of the local database.
[0066] FIG. 3 illustrates a line diagram 300 depicting a sequential flow of a subscriber provisioning process in the geo-redundant subscriber provisioning system 200, in accordance with an embodiment of the present disclosure. The subscriber provisioning process involves communication between multiple components, namely, the FMS 210, the first PGW 220-1, and the two databases- the first database 222 and the third database 226 (hereinafter may also be referred to as a “mated database 222” or a “mated pair database 226” with reference to FIGs. 3 and 4). The line diagram 300 comprises a series of operation steps 302 through 314. The process ensures proper provisioning based on the circlelD embedded in the request header. The flow of the process includes two cases, depending on whetherthe circlelD matches the first database 222 (hereinafter may also be referred to as a “local database 222” with reference to FIGs. 3 and 4) or the mated database 222.
[0067] At step 302, the FMS 210 sends a POST provisioning request (hereinafter may also be referred to as “the subscriber provisioning request” or the “provisioning request”) to the first PGW 220-1. The provisioning request includes all necessary subscriber data, such as the circlelD embedded in the request header, other credentials, region-specific metadata, and operation details. The operation details may include information on type of operation such as create, activate, rental plan provisioning, bill plan change, or the like. The FMS 210 ensures that the provisioning request is directed to the appropriate PGW.
[0068] At step 304, upon receiving the provisioning request, the first PGW 220-1 identifies the circlelD embedded in the request header. The first PGW 220-1 then checks its database endpoint mapping configuration to find the database associated with the identified circlelD. In case 1, the first PGW 220-1 determines that the circlelD corresponds to the local database 222 and forwards the request to the local database 222, where the subscriber provisioning data is stored. This ensures data consistency and local availability for circlelD related operations.
[0069] At step 306, after successfully provisioning the subscriber data into the local database 222, the response message, generated by the generation module 250, is sent to the first PGW 220-1. This response indicates that the subscriber data has been securely stored and validated in the local database 222.
[0070] At step 308, the first PGW 220-1 relays this success response to the FMS 210. This response confirms that the subscriber data has been provisioned locally, allowing the FMS 210 to update its status logs and proceed with additional tasks.
[0071] Referring to case 2 and at step 310, the first PGW 220-1 receives the provisioning request and identifies the circle ID from the request header as in case 1. The first PGW 220-1 checks its database endpoint mapping configuration anddetermines that the circle ID does not match the local database 222 and routes the provisioning request to the mated database 226.
[0072] At step 312, upon completion of the storing operation in the third database 226, the response is sent to the first PGW 220-1. This response indicates that the subscriber data has been successfully stored in the third database 226.
[0073] At step 314, the first PGW 220-1 relays this success response to the FMS 210. This response confirms that the subscriber data has been provisioned in the mated database 226.
[0074] FIG. 4 illustrates a line diagram 400 depicting a sequential flow of a subscriber provisioning process in event of non-availability of the primary PGW, in accordance with an embodiment of the present disclosure. The subscriber provisioning process in FIG. 3 involves multiple components, namely, the FMS 210, the first PGW 220-1 (hereinafter may also be interchangeably referred to as “a primary PGW 220-1”), the second PGW 220-2 (hereinafter may also be interchangeably referred to as “a geo-redundant / secondary PGW 220-2”), and the two databases- the first database 222 and the third database 226. The line diagram 400 comprises a series of operation steps 402 through 424.
[0075] The FMS 210 initially sends the subscriber provisioning request to the primary PGW 220-1. However, due to a network failure or other issues, the primary PGW 220-1 is not available.
[0076] At step 402, the subscriber provisioning request is rerouted to the geo-redundant PGW 220-2 for further handling.
[0077] At step 404, in one or more embodiments, upon receiving the rerouted subscriber provisioning request, the geo-redundant PGW 220-2 processes the provisioning request by recording the subscriber data in the third database 226, which acts as a new local database for region 1 subscribers after a fiber cut disrupted access to the original database.
[0078] At step 406, upon successful provisioning of the subscriber data in the third database 226, a success response message, generated by the generation module 250, is sent to the geo-redundant PGW 220-2, confirming the completion of the provisioning process. This ensures the subscriber is provisioned despite the unavailability of the first PGW 220-1.
[0079] At step 408, the second PGW 220-2 attempts to provision the subscriber data in the first database 222 as part of its redundancy mechanism.
[0080] At step 410, due to connectivity issues or any other reason, failed / no response is received from the new spare database i.e., the first database 222 and the provisioning request to the first database 222 fails.
[0081] At step 412, the second PGW 220-2 sends a failed response message, generated by the generation module 250, to the FMS 210.
[0082] At step 414, once connectivity is restored, the FMS 210 prepares to repush failed files and sends the subscriber provisioning request to the first PGW 220-1.
[0083] At step 416, the first PGW 220-1 processes the subscriber provisioning request and forwards it to the first database 222, but since the subscriber was already provisioned during the failover, the first database 222 detects a duplicate entry.
[0084] At step 418, an error response (subscriber already exists) is sent to the first PGW 220-1. The first PGW 220-1 treats the error message as a confirmation that the provisioning has been successfully completed.
[0085] At step 420, the first PGW 220-1 sends the provisioning request to the spare database i.e., the third database 226. The third database 226 processes the provisioning request.
[0086] At step 422, the third database 226 successfully provisions the subscriber and a success response message is sent back to the first PGW 220-1.
[0087] At step 424, the first PGW 220-1 sends a final success responds to the FMS 210, thereby completing the provisioning process.
[0088] FIG. 5 illustrates a flow of a method 500 for provisioning the subscriber data in the communications network, in accordance with an embodiment of the present disclosure.
[0089] At step 502, the receiving module 240 may receive, from the FMS 210, the provisioning request comprising the circle ID in the request header. The provisioning request may further include subscriber-specific data, such as the subscriber identifier, service plan details, or other provisioning parameters required for activating, modifying, or updating the subscriber profile in the network.
[0090] At step 504, the retrieving module 244 may retrieve, based on the provisioning request, the circle ID from the provisioning request. This retrieval may include parsing the request header and extracting the value of the circle ID for subsequent database mapping and routing operations.
[0091] At step 506, the determining module 242 may determine the local database mapped to the circle ID using the circle ID-to-database mapping configuration. This mapping configuration may be stored within the provisioning gateway and may define an association between each possible circle ID and a corresponding target local database responsible for storing subscriber provisioning data for that circle.
[0092] At step 508, the determining module 242 may determine, based upon the mapping, the availability of the local database. The availability determination may involve verifying that the mapped local database is operational and reachable over the network, using status signals, or connectivity probes.
[0093] At step 510, the transmitting module 246 may transmit, based upon the availability of the local database, the provisioning request to the local database. This step ensures that the provisioning request is routed only when the target database isconfirmed to be available for receiving and processing subscriber data provisioning operations.
[0094] At step 512, the storage module 248 may store the provisioning data associated with the subscriber in the local database. The stored provisioning data may include details such as the subscriber identifier, service plan ID, provisioning timestamp, and activation or modification instructions, thereby enabling the local database to serve subscriber service requests in real time.
[0095] In another embodiment, when the determining module 242 establishes that the mapped local database is unavailable, the PGW 220 may identify, using the identification module 252, the geo-redundant database corresponding to the same circle ID and route the provisioning request to the geo-redundant database. This routing may be performed by the transmitting module 246 based on the geo-redundant database mapping configuration stored in the PGW 220. The geo-redundant database may then store the provisioning data in the same manner as the local database, thereby ensuring continuity of provisioning operations and preventing service disruption for the subscriber. In yet another embodiment, the transmitting module 246 is further configured to retransmit the provisioning request to the local database upon restoration of the availability of the local database.
[0096] In one non-limiting example, a telecommunications service provider operates a provisioning system for broadband services across multiple geographic service regions, each region being identified by a unique Circle-ID. The first PGW 220-1 is deployed at a primary data center in a first geographic location and is configured to process the provisioning requests for multiple circles. The second PGW 220-2, forming a mated pair with the first PGW 220-1 , is deployed at a geographically separated data center and is communicatively coupled to one or more geo-redundant databases. When the subscriber initiates activation of a broadband service, the FMS 210 generates the provisioning request containing the circle-ID corresponding to the subscriber’s service region and transmits the provisioning request to the first PGW 220-1. The provisioning request includesinstructions to create or activate subscriber charging and service configuration data. Upon receipt of the provisioning request, the first PGW 220-1 attempts to process the request by accessing the local database associated with the circle-ID. In this example, the local database or the first PGW 220-1 becomes unavailable due to a site-level failure. The provisioning request is therefore not completed at the first PGW 220-1. In response to the unavailability, the provisioning request is routed to the second PGW 220-2 of the mated pair. The second PGW 220-2 extracts the circle-ID from the provisioning request and dynamically determines the geo-redundant database associated with the extracted circle-ID, irrespective of the physical location of the second PGW 220-2. The second PGW 220-2 then processes the provisioning request by performing database operations on the determined geo-redundant database corresponding to the circle-ID. Upon successful completion of the database operations, the second PGW 220-2 generates the success response and transmits the response to the FMS 210. The subscriber’s service is thereby provisioned without interruption, on the unavailability of the first PGW 220-1 or its local database.
[0097] FIG. 6 illustrates a computing system 600 for provisioning the subscriber data in the communications network, in accordance with an embodiment of the present disclosure.
[0098] The computing system 600 includes a network 602, a network interface 604, a processor 606, an Input / Output (I / O) interface 608 and a non-transitory computer readable storage medium 610 (hereinafter may also be referred to as the “storage medium 610” or the “storage media 610”).
[0099] The network interface 604 includes wireless network interfaces such as Bluetooth, Wi-Fi, Worldwide Interoperability for Microwave Access (WiMAX), General Packet Radio Service (GPRS), or Wideband Code Division Multiple Access (WCDMA) or wired network interfaces such as Ethernet, Universal Serial Bus (USB), or Institute of Electrical and Electronics Engineers-864 (IEEE-864).
[0100] The processor 606 may include various processing circuitry / modules and communicate with the storage medium 610 and the I / O interface 608. The processor 606 is configured to execute instructions stored in the storage medium 610 and to perform various processes. The processor 606 may include an intelligent hardware device including a general-purpose processor, such as, for example, and without limitation, a Central Processing Unit (CPU), a dedicated processor, or the like, a Graphics-only Processing Unit such as a GPU, a microcontroller, a programmable logic device, a discrete hardware component, or any combination thereof. The processor 606 may be configured to execute computer-readable instructions 610-2 stored in the storage medium 610 to cause the system to perform various functions.
[0101] The storage medium 610 stores a set of instructions i.e., computer program instructions 610-2 (hereinafter may also be referred to as instructions 610-2) required by the processor 606 for controlling its overall operations.
[0102] The storage media 610 may include an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, or the like. For example, the storage media 610 may include, but are not limited to, hard drives, floppy diskettes, optical disks, flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. In one or more embodiments, the storage media 610 includes a Compact Disk-Read Only Memory (CD-ROM), a Compact Disk-Read / Write (CD-R / W), and / or a Digital Video Disc (DVD).
[0103] In one or more implementations, the storage medium 610 stores computer program code configured to cause the computing system 600 to perform at least a portion of the processes and / or methods. Accordingly, in at least one implementation, the computing system 600 performs the method for provisioning the subscriber data in the communications network.
[0104] Embodiments of the present disclosure have been described above with reference to flowchart illustrations of methods and systems according toembodiments of the disclosure, and / or procedures, algorithms, steps, operations, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of the flowchart, and combinations of blocks (and / or steps) in the flowchart, as well as any procedure, algorithm, step, operation, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and / or software including one or more computer program instructions embodied in computer-readable program code. As will be appreciated, any such computer program instructions may be executed by one or more computer processors, including without limitation a general -purpose computer or special purpose computer, or other programmable processing apparatus to perform a group of operations comprising the operations or blocks described in connection with the disclosed method.
[0105] Further, these computer program instructions, such as embodied in computer-readable program code, may also be stored in one or more computer-readable memory or memory devices (ex. the storage medium 610) that can direct a computer processor or other programmable processing apparatus to function in a particular manner, such that the instructions 610-2 stored in the computer-readable memory or memory devices produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s).
[0106] It will further be appreciated that the term “computer program instructions” as used herein refer to one or more instructions that can be executed by the one or more processors (for example, the processor 606) to perform one or more functions as described herein. The instructions 610-2 may also be stored remotely such as on a server, or all or a portion of the instructions can be stored locally and remotely.
[0107] Separate instances of these methods / processes may be executed on or distributed across any number of separate computer systems. A variety of alternative implementations will be understood by those having ordinary skill in the art.
[0108] Now, referring to the technical abilities and advantageous effect of the present disclosure, the embodiments disclosed herein provide the geo-redundant subscriber provisioning system and method that utilizes the circle-ID based routing to ensure prevention of service outages. Another noteworthy advantage of the one or more embodiments of the present disclosure includes but not limited thereto, facilitating seamless service, capacity optimization, and efficient error recovery mechanisms by employing paired PWS and circle specific databases in the subscriber provisioning process.
[0109] The present disclosure ensures continuous provisioning operations even when the primary PGW or its associated local database becomes unavailable, thereby eliminating service outages during site-level or database-level failures. By extracting and interpreting the circle-ID from incoming provisioning requests, the system dynamically routes requests to the correct circle-specific database, independent of the physical location of the PGW. The present disclosure enables the PGW s at geographically separate sites to access mated databases using logical circle mapping, allowing database operations to continue seamlessly across geodistributed environments. Unlike traditional standby failover systems, the present disclosure supports active-active operation of mated PGWs, improving overall system utilization and capacity efficiency.
[0110] Further, the present disclosure provides near-instant recovery from the site or database outages, as the provisioning requests are immediately served by the mated gateway using geo-redundant database connectivity.
[0111] Those skilled in the art will appreciate that the methodology described herein in the present disclosure may be carried out in other specific ways than those set forth herein in the above disclosed embodiments without departing from essential characteristics and features of the present invention. The above-described embodiments are therefore to be construed in all aspects as illustrative and not restrictive.1
[0112] The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein. Any combination of the above features and functionalities may be used in accordance with one or more embodiments.
[0113] In the present disclosure, each of the embodiments has been described with reference to numerous specific details which may vary from embodiment to embodiment. The foregoing description of the specific embodiments disclosed herein may reveal the general nature of the embodiments herein that others may, by applying current knowledge, readily modify and / or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications are intended to be comprehended within the meaning of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and is not limited in scope.LIST OF REFERENCE NUMERALS
[0114] The following list is provided for convenience and in support of the drawing figures and as part of the text of the specification, which describe innovations by reference to multiple items. Items not listed here may nonetheless be part of a given embodiment. For better legibility of the text, a given reference number is recited near some, but not all, recitations of the referenced item in the text. The same reference number may be used with reference to different examples or different instances of a given item. The list of reference numerals is:100 - Exemplary environment102- Provisioning Gateway (PGW) component104- Network106-Computing devices108- Database200 - Provisioning system210- FMS220- PGW / system220-1- First PGW / Primary PGW220-2- Second PGW / geo-redundant / secondary PGW222- First database / local database / mated database224- Second database226- Third database228- Fourth database230-Processor232-Memory234-Communication unit236-1 / 0 interface238-Processing modules240- Receiving module242- Determining engine244- Retrieving module246-Transmitting module248-Storage module250-Generation module252- Identification module300 - Line diagram depicting a sequential flow of a subscriber provisioning process302-314- Steps to perform line diagram 300400 - Line diagram depicting a sequential flow of a subscriber provisioning process in event of non-availability of primary PGW402-424- Steps to perform the line diagram 400500- Method for the geo-redundant subscriber provisioning502-512- Steps to perform the method 500600 - Computing System602- Network604- Network interface606- Processor608- Input / Output (I / O) interface610- Non-transitory computer readable storage medium 610-2- Computer-readable instructions
Claims
We Claim:
1. A method (500) for provisioning subscriber data in a communications network, the method comprising:receiving, by a receiving module (240) from a Fulfilment Management System (FMS) (210), a provisioning request comprising a circle identifier (ID) in a request header;retrieving, by a retrieving module (244) based on the provisioning request, the circle ID from the provisioning request;determining, by a determining module (242), a local database mapped to the circle ID using a circle ID-to-database mapping configuration;determining, by the determining module (242) based upon the mapping, an availability of the local database;transmitting, by a transmitting module (246) based upon the availability of the local database, the provisioning request to the local database; andstoring, by a storage module (248), provisioning data associated with a subscriber in the local database.
2. The method (500) as claimed in claim 1, further comprising:generating, by a generation module (250), a response message based on an outcome of the provisioning, wherein the response message comprises one of success response, partial success response and a failure response; and transmitting, by the transmitting module (246), the response message to the FMS.
3. The method (500) as claimed in claim 1, further comprising:identifying, by an identification module (252) upon an unavailability of the local database, a geo-redundant database associated with the circle ID;determining, by the determining module (242), an availability of the geo-redundant database;transmitting, by the transmitting module (246) upon the availability of the geo-redundant database, the provisioning request to the geo-redundant database; andstoring, by the storage module (248), the provisioning data associated with the subscriber in the geo-redundant database.
4. The method (500) as claimed in claim 3, further comprising retransmitting, by the transmitting module (246), the provisioning request to the local database upon restoration of the availability of the local database.
5. The method (500) as claimed in claim 1, wherein the provisioning request includes one or more of activation request, plan change request, or billing update request.
6. The method (500) as claimed in claim 1, wherein the provisioning data associated with the subscriber includes at least a subscriber identifier, service plan ID, timestamp, and provisioning action.
7. A system (220) for provisioning subscriber data in a communications network, the system comprising:a receiving module (240) configured to receive, from a Fulfillment Management System (FMS) (210), a provisioning request comprising a circle identifier (ID) in a request header;a retrieving module (244) configured to retrieve, based on the provisioning request, the circle ID from the provisioning request;a determining module (242) configured to:determine a local database mapped to the circle ID using a circle ID- to-database mapping configuration;determine, based upon the mapping, an availability of the local database;a transmitting module (246) configured to transmit, based upon the availability of the local database, the provisioning request to the local database; anda storage module (248) configured to store provisioning data associated with a subscriber in the local database.
8. The system (220) as claimed in claim 7, further comprising:a generation module (250) configured to generate, a response message based on an outcome of the provisioning, wherein the response message comprises one of success response, partial success response and a failure response; and the transmitting module (246) configured to transmit the response message to the FMS.
9. The system (220) as claimed in claim 7, further comprising:an identification module (252) configured to identify, upon an unavailability of the local database, a geo-redundant database associated with the circle ID;the determining module (242) configured to determine an availability of the geo-redundant database;the transmitting module (246) configured to transmit, upon the availability of the geo-redundant database, the provisioning request to the geo-redundant database; andthe storage module (248) configured to store the provisioning data associated with the subscriber in the geo-redundant database.
10. The system (220) as claimed in claim 9, wherein the transmitting module (246) is further configured to retransmit the provisioning request to the local database upon restoration of the availability of the local database.
11. The system (220) as claimed in claim 7, wherein the provisioning request includes one or more of activation request, plan change request, or billing update request.
12. The system (220) as claimed in claim 7, wherein the provisioning data associated with the subscriber includes at least a subscriber identifier, service plan ID, timestamp, and provisioning action.
13. A computer program product comprising computer-executable instructions that are stored on a non-transitory computer-readable medium and that, when executed by at least one processor performs operations comprising:receiving, from a Fulfilment Management System (FMS) (210), a provisioning request comprising a circle identifier (ID) in a request header;retrieving, based on the provisioning request, the circle ID from the provisioning request;determining a local database mapped to the circle ID using a circle ID-to-database mapping configuration;determining, based upon the mapping, an availability of the local database; transmitting, based upon the availability of the local database, the provisioning request to the local database; andstoring provisioning data associated with a subscriber in the local database