System and method for providing one or more attributes associated with cell global identifier (CGI)
The API-based system efficiently retrieves cell attributes using partitioning and caching to address the inefficiencies in handling vast numbers of CGIs, improving network management and location services.
Patent Information
- Application Number
- PCT/IN2025/050306
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-22
- Filing Date
- 2025-03-03
- Publication Date
- 2025-09-25
AI Technical Summary
The exponential growth in cell global identifiers (CGIs) in wireless networks leads to inefficient and time-consuming methods for locating and retrieving cell-specific information, causing delays in network optimization and location-based services.
A system and method utilizing an API-based service with an application server, network service server, and database that employs partitioning, indexing, and caching to efficiently extract and retrieve attributes like geo-location, signal strength, and antenna directionality from CGIs, using MCC, MNC, and cell ID.
Enhances the efficiency and accuracy of cell identification and geo-location services by enabling rapid retrieval of cell coordinates and associated details, supporting scalable and responsive network management.
Smart Images

Figure IN2025050306_25092025_PF_FP_ABST
Abstract
Description
SYSTEM AND METHOD FOR PROVIDING ONE OR MORE ATTRIBUTES ASSOCIATED WITH CELL GLOBAL IDENTIFIER (CGI)RESERVATION OF RIGHTS
[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to JIO PLATFORMS LIMITED or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.FIELD OF THE DISCLOSURE
[0002] The embodiments of the present disclosure generally relate communication systems. In particular, the present disclosure relates to systems and methods for providing one or more attributes associated with cell global identifier (ID) (CGI) using an application programming interface (API) based service.DEFINITION
[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.
[0004] Cell global identifier (ID) (CGI) refers to a unique identifier for cells in cellular networks, comprising MCC, MNC, and cell identifier (ID).
[0005] Mobile Country Code (MCC) refers to the first part of CGI, identifying the country of the cellular network.
[0006] Mobile Network Code (MNC) refers to the second part of CGI, identifying the specific network within a country.
[0007] Cell identifier (ID) refers to the final part of CGI, identifying a specific cell within a network.
[0008] Application Programming Interface (API) refers to a set of protocols for building and integrating application software.
[0009] Network Service Server refers to a server designed to handle specific, modular functions within a larger system architecture.
[0010] Database Partitioning refers to a method of dividing a database into distinct, independent parts to improve performance and manageability.
[0011] Indexing refers to a data structure technique to locate and access specific data in a database quickly.
[0012] Load Balancer refers to a device that distributes network traffic across multiple servers to ensure no single server becomes overwhelmed.
[0013] Caching refers to the process of storing frequently accessed data in a temporary storage to reduce database load and improve response times.BACKGROUND OF THE DISCLOSURE
[0014] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0015] In modern wireless communication networks, the service area is strategically divided into numerous small geographical regions, commonly referred to as cells. Each cell represents a discrete coverage area within the network, providing tailored services to end users within its boundaries. To facilitate efficient network management and user connectivity, a unique identifier is assigned to eachcell. This cell identity is an integral part of the cell-specific information broadcast by the cell, enabling mobile devices to identify and establish connections with specific cells amidst the multitude of options in the network.
[0016] The current industry standard for cell identification is the cell global identifier (CGI), a universal identifier employed across various wireless technologies. The CGI's structure and composition may vary depending on the specific technology implemented in the network, but it consistently comprises three essential components, namely the Mobile Country Code (MCC), the Mobile Network Code (MNC), and the cell ID. This tripartite structure allows for the global, unambiguous identification of any serving cell within a wireless network.
[0017] The MCC typically identifies the country in which the cell is located, the MNC distinguishes between different network operators within that country, and the cell ID pinpoints the specific cell within the operator's network. This arrangement enables precise location tracking and network management on a global scale.
[0018] However, the global proliferation of wireless networks has led to an exponential increase in the number of CGIs worldwide. This vast quantity of unique identifiers presents significant challenges in efficiently locating and retrieving information about specific cells. To determine the exact location, coordinates, and associated details for a particular cell, a substantial dataset containing millions of CGIs must be analyzed.
[0019] The current methods for searching within these extensive CGI datasets are often time-consuming and inefficient. The sheer volume of data to be processed, coupled with the lack of optimized search algorithms, results in prolonged query times and increased computational overhead. This inefficiency can lead to delays in network optimization, troubleshooting, and the provision of location-based services, all of which are critical in maintaining the high performance and reliability expected of modern wireless networks.
[0020] Furthermore, as wireless technologies continue to evolve and the number of cells grows with the implementation of smaller cell architectures (such as picocells and femtocells) in 5G and future networks, the challenges associated with efficient CGI-based cell identification and information retrieval are likely to intensify.
[0021] Therefore, there exists a pressing need in the art for an improved system and method to streamline the process of providing one or more attributes based on cell global identifiers. There is a need in the art to provide a method and a system that can overcome the shortcomings of the existing prior arts.SUMMARY OF THE DISCLOSURE
[0022] In an exemplary embodiment, a system for providing one or more attributes associated with a cell global identifier (CGI). The system comprises an application server configured to receive a request comprising the CGI from a user over an interface of an application and route the received request to a network service server. The network service server configured to extract one or more network parameters from the CGI. The one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell ID. The network service server configured to generate a query based on the one or more extracted network parameters, execute the generated query to determine whether a database has data corresponding to the query, upon determining that the database has the data, generate a response comprising the data having one or more attributes and communicate the generated response to the application server. The application server configured to communicate the response to the application, wherein the application is configured to display the one or more attributes corresponding to the CGI to the user over the interface.
[0023] In some embodiments, an arrangement of cell data in the database is performed based on a first partitioning, a second partitioning and an indexing, wherein the first partitioning is performed based on the MCC, the second partitioning based on the MNC, and the indexing based on the cell ID.
[0024] In some embodiments, the one or more attributes include geo-location, signal strength, and antenna directionality, wherein when the one or more attributes include the geolocation, the application is configured to display the data on a map over the user interface.
[0025] In some embodiments, the application server is configured to validate a format and a length of the CGI, before routing the request to the network service server.
[0026] In some embodiments, the network service server is further configured to cache frequently requested CGI in the database.
[0027] In another exemplary embodiment, a method for providing one or more attributes associated with a cell global identifier (CGI) is described. The method comprises receiving, by an application, a request comprising the CGI from a user over an interface and routing, by an application server, the received request to a network service server. The method further comprises extracting, by the network service server, one or more network parameters from the CGI. The one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell ID. The method comprises generating, by the network service server, a query based on the one or more extracted network parameters and executing, by the network service server, the generated query to determine whether a database has data corresponding to the query. Upon determining that the database has the data, generating, by the network service server, a response comprising the data having one or more attributes. The method comprises communicating, by the network service server, the generated response to the application server and communicating, by the application server, the response to the application. The application is configured to display the one or more attributes corresponding to the CGI to the user over the interface.
[0028] In some embodiments, the method further comprises validating, by the application server, a format and a length of the CGI, before routing the request to the network service server.
[0029] In some embodiments, the method further comprises caching, by the network service server, frequently requested CGI in the database.
[0030] In yet another exemplary embodiment, a user equipment for obtaining one or more attributes associated with a cell global identifier (CGI). The user equipment is configured to receive a request comprising the CGI from a user over an interface of an application and route the request to the system. The system is configured to process the request. The system comprises an application server configured to receive a request comprising the CGI from a user over an interface of an application and route the received request to a network service server. The network service server configured to extract one or more network parameters from the CGI. The one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell ID. The network service server configured to generate a query based on the one or more extracted network parameters, execute the generated query to determine whether a database has data corresponding to the query, upon determining that the database has the data, generate a response comprising the data having one or more attributes and communicate the generated response to the application server. The application server configured to communicate the response to the application, wherein the application is configured to display the one or more attributes corresponding to the CGI to the user over the interface.
[0031] In some embodiments, the user equipment is further configured to: receive a response comprising one or more attributes from the system and display the one or more attributes over the interface.
[0032] In a further exemplary embodiment, a computer program product comprising a non-transitory computer-readable medium having stored thereon computer-executable instructions is described. When executed by a processor, the instructions cause the processor to perform a method for providing one or more attributes associated with a cell global identifier (CGI) is described. The method comprises receiving, by an application, a request comprising the CGI from a userover an interface and routing, by an application server, the received request to a network service server. The method further comprises extracting, by the network service server, one or more network parameters from the CGI. The one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell ID. The method comprises generating, by the network service server, a query based on the one or more extracted network parameters and executing, by the network service server, the generated query to determine whether a database has data corresponding to the query. Upon determining that the database has the data, generating, by the network service server, a response comprising the data having one or more attributes. The method comprises communicating, by the network service server, the generated response to the application server and communicating, by the application server, the response to the application. The application is configured to display the one or more attributes corresponding to the CGI to the user over the interface.
[0033] The foregoing general description of the illustrative embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure, and are not restrictive.OBJECTS OF THE DISCLOSURE
[0034] Some of the objects of the present disclosure, which at least one embodiment herein satisfies are as listed herein below.
[0035] An object of the present disclosure is to provide a system and a method for providing one or more attributes associated with a cell global identifier (CGI) comprising an application server, a gateway, a network service server, and a database. The one or more attributes include geo-location, signal strength, and antenna directionality.
[0036] An object of the present disclosure is to efficiently extract mobile country code (MCC), a mobile network code (MNC), and a cell ID from the CGI for data retrieval purposes.
[0037] An object of the present disclosure is to implement an efficient filtering mechanism for the database based on the MCC and the MNC.,
[0038] The object of the present disclosure is to arrange data (e.g., cell data) in the database by performing a first partitioning based on MCC, a second partitioning based on MNC, and an indexing based on cell ID.
[0039] An object of the present disclosure is to provide a load balancing mechanism to distribute incoming requests across multiple instances of the network service server.
[0040] An object of the present disclosure is to provide data associated with coordinates (including latitude and longitude) and attributes (such as city information, village information, or other geographical details) of a cell for the requested CGI.
[0041] An object of the present disclosure is to build a user interface for inputting the CGI and displaying the associated data, with real-time feedback during CGI input.
[0042] An object of the present disclosure is to implement CGI search functionality to get cell coordinates and other associated details through a standardized API.
[0043] An object of the present disclosure is to filter the data (e.g., cell data) in based on MCC, MNC, and cell ID to facilitate efficient searching and retrieval.
[0044] An object of the present disclosure is to provide a scalable database solution that can accommodate increasing numbers of CGIs and user requests while maintaining data consistency across multiple database instances in a distributed environment.
[0045] An object of the present disclosure is to optimize the search process by utilizing a partitioned and indexed database structure for quick data retrieval.
[0046] An object of the present disclosure is to provide a computer program product that can provide one or more attributes associated with the cell global identifier (CGI) using an API-based service.BRIEF DESCRIPTION OF DRAWINGS
[0047] 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 the disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0048] FIG. 1 illustrates an exemplary network architecture of a system for providing one or more attributes associated with a cell global identifier (CGI), in accordance with embodiments of the present disclosure.
[0049] FIG. 2 illustrates an exemplary block diagram of the system, in accordance with embodiments of the present disclosure.
[0050] FIG. 3 illustrates an exemplary system architecture for providing one or more attributes associated with the CGI, in accordance with an embodiment of the present disclosure.
[0051] FIG. 4 illustrates an exemplary flow diagram for providing one or more attributes associated with the CGI, in accordance with an embodiment of the present disclosure.
[0052] FIG. 5 illustrates an exemplary block diagram of a computer system in which or with which embodiments of the present disclosure may be implemented, in accordance with an embodiment of the present disclosure.
[0053] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100 - Network architecture102 - System104 - Network106 - Application server108-1, 108-2... 108-N - User equipment110-1, 110-2...110-N - Users112 - Network service server114 - Gateway200 - System architecture202 - one or more Processor(s)204 - Memory206 - Interface(s)208 - Processing engine210 - Database212 - Application server interface module216 - Gateway interface module218 - Network service interface module222 - Load balancer224 - Application programming interface (API)228 - Other module(s)300 - System architecture302 - Application400 - Flow Diagram500 - Computer system510 - External storage device520 - Bus530 - Main memory540 - Read-only memory550 - Mass storage device560 - Communication port(s)570 - ProcessorDETAILED DESCRIPTION OF THE DISCLOSURE
[0054] 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. An individual feature may not address all of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein.
[0055] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0056] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not toobscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0057] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0058] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
[0059] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughoutthis specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0060] 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 singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0061] The aspects of the present disclosure are directed to wireless communication networks. In modern wireless communication networks, service areas are divided into multiple small geographical areas called cells. Each cell is uniquely identified by a cell global identifier (CGI), irrespective of the network technology. The CGI structure varies across different technologies but consistently comprises three key components, namely Mobile Country Code (MCC), Mobile Network Code (MNC), and cell identifier (ID). These three components allow for the global, unambiguous identification of any serving cell.
[0062] On a global scale, the number of CGIs is substantial, potentially reaching into billions. This vast quantity presents significant challenges when attempting to determine the location, actual coordinates, and other associated details for specific cells. Analyzing such an extensive dataset of CGIs is both time-consuming and inefficient using conventional methods.
[0063] Consequently, there is a pressing need for advanced systems and methods capable of efficiently providing detailed information about cell locations, precise coordinates, and other relevant attributes for any given CGI input.
[0064] The present disclosure addresses these challenges and aims to overcome existing limitations in this technology field. It introduces an innovative system and method for providing one or more attributes associated with cell global identifier (CGI), using an application programming interface (API) based service. The present disclosure incorporates a user-friendly interface and API, both designed to offer efficient CGI search functionality, enabling rapid retrieval of cell coordinates and other associated details.
[0065] In the following sections, exemplary embodiments of the present disclosure will be described in detail, with reference to the accompanying drawings. These embodiments illustrate the practical implementation and advantages of the proposed system and method, demonstrating their potential to significantly enhance the efficiency and accuracy of cell identification and geo-location services in wireless communication networks.
[0066] The various embodiments throughout the disclosure will be explained in more detail with reference to FIGS. 1-5.
[0067] FIG. 1 illustrates an exemplary network architecture (100) of a system (102) for providing one or more attributes associated with cell global identifier (CGI), in accordance with embodiments of the present disclosure.
[0068] In an embodiment, the system (102) is connected to a network (104), which is further connected to at least one computing devices 108-1, 108-2, . . . 108- N (collectively referred as computing device 108, herein) associated with one or more users 110-1, 110-2, ... 110-N (collectively referred as user (110), herein). The computing device (108) may be personal computers, laptops, tablets, wristwatch, or any custom-built computing device integrated within a modern diagnostic machine that can connect to a network as an loT (Internet of Things) device. In an embodiment, the computing device (108) may also be referred to as User Equipment (UE) or user device. Accordingly, the terms “computing device” and “User Equipment” may be used interchangeably throughout the disclosure. In an aspect, the user (110) is a network operator or a field engineer.
[0069] The system (102) comprises an application server (106), a network service server (112), and a gateway (114). The system (102) is configured to provide the one or more attributes associated with the cell global identifier (CGI) using application programming interface (API) based service.
[0070] In an embodiment, the system (102) may receive at least one input data from the user (110) via the at least one computing device (108). In an aspect, the user (110) may be configured to initiate the process for providing the one or more attributes associated with the CGI, through an interface of a mobile application installed in the computing devices (108). In an aspect, the interface of the mobile application may also be referred to as an application interface. Accordingly, the terms “interface” and “application interface” may be used interchangeably throughout the disclosure.
[0071] The mobile application may be configured to communicate with the network service server (112) through the application server (106). Further, the gateway (114) may act as an intermediary between the application server (106) and the network service server (112). In some examples, the mobile application may be a software or a mobile application from an application distribution platform. Examples of application distribution platforms include the App Store for iOS provided by Apple, Inc., Play Store for Android OS provided by Google Inc., and such application distribution platforms. In an embodiment, the computing device (108) may transmit the at least one captured data packet over a point-to-point or point-to-multipoint communication channel or network (104) to the system (102). In an embodiment, the computing device 108 may involve the collection, analysis, and sharing of data received from the system (102) via the network (104).
[0072] In an exemplary embodiment, the network (104) may include, but not be limited to, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. In an exemplary embodiment,the network (104) may include, but not be limited to, 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.
[0073] Although FIG. 1 shows exemplary components of the network architecture (100), in other embodiments, the network architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).
[0074] FIG. 2, with reference to FIG. 1, illustrates an exemplary block diagram (200) of the system (102) for providing the one or more attributes associated with the CGI using the API based service, in accordance with an embodiment of the present disclosure.
[0075] In an aspect, the API based service may refers to a service or application that primarily interacts with other software applications through APIs (Application Programming Interfaces). APIs define the methods and protocols through which different software components or systems can communicate with each other.
[0076] The system (102) includes one or more processor(s) (202), a memory (204), a processing engine (208), a database (210), and an interface(s) (206). In an exemplary embodiment, the processing engine (208) may include one or more engines / modules selected from any of an application server interface module 212, a gateway interface module 216, a network service interface module 218, a load balancer 222, an application programming interface (API) 224, and other module(s) (228) having functions that may include but are not limited to receiving data,processing data, testing, storage, and peripheral functions, such as wireless communication unit for remote operation, and the like.
[0077] The one or more processor(s) (202) are configured to initiate a process of providing one or more attributes associated with the cell global identifier (CGI) using the API based service through the application interface of the user equipment (UE) (108). In an embodiment, the application interface is configured to transmit one or more instructions (request) to the one or more processor(s) (202).
[0078] In an embodiment, the one or more processor(s) (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, edge or fog microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (202) may be configured to fetch and execute computer-readable instructions stored in the memory (204) of the system (102). The memory (204) 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 (204) may comprise any non-transitory storage device including, for example, volatile memory such as Random Access Memory (RAM), or non-volatile memory such as Erasable Programmable Read-Only Memory (EPROM), flash memory, and the like.
[0079] The interface(s) (206) is included within the system (102) to serve as a medium for data exchange, configured to facilitate user interaction with the mobile application. The interface(s) (206) may be composed of interfaces for data input and output devices, storage devices, and the like, providing a communication pathway for the various components of the system (102).
[0080] The interface(s) (206) may comprise a variety of interfaces, for example, interfaces for data input and output devices, referred to as RO devices, storage devices, and the like. The interface(s) (206) may facilitate communication to / from the system (102). The interface(s) (206) may also provide a communicationpathway for one or more components of the system (102). Examples of such components include but are not limited to, the processing unit / engine(s) (208), the database (210), and the distributed data lake.
[0081] In an embodiment, the processing unit / engine(s) (208) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) (208). In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) (208) may be processorexecutable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) (208) may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) (208). In such examples, the system (102) may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system (102) and the processing resource. In other examples, the processing engine(s) (208) may be implemented by electronic circuitry.
[0082] In an embodiment, the database (210) is configured to serve as a centralized repository for storing and retrieving various operational data. The database (210) is designed to interact seamlessly with other components of the system (102), such as the application server interface module 212, the gateway interface module 216, the network service interface module 218, the load balancer 222, and the API 224 to support the system's functionality effectively. The database (210) may store data that may be either stored or generated as a result of functionalities implemented by any of the components of the one or more processor(s) (202) or the processing engines (208). In an embodiment, the database (210) may be separate from the system (102).
[0083] In an embodiment, the application interface module may enable an application that may be configured to receive a request comprising the CGI from the user (110). The request may refer to as a user request. Accordingly, the terms “request” and “user request” may be used interchangeably throughout the disclosure.
[0084] In an aspect, the CGI consists of elements including Mobile Country Code (MCC), Mobile Network Code (MNC), Location Area Code (LAC), cell identifier (ID), Tracking Area Code (TAC), Public Land Mobile Network Identity (PLMN ID), Slice ID, Single Slice Control (SSC), and Physical Cell Identity (PCI). Each element's format and length are specified according to the respective network technology, facilitating efficient communication and identification of cellular infrastructure components. In an example, in GSM and UMTS networks, the CGI may be structured as MCC-MNC-LAC-CI, with MCC represented by 3 digits, MNC by 2 or 3 digits, LAC by 2 bytes (hexadecimal), and CI by 2 or 3 bytes (hexadecimal). The total length of the CGI typically ranges between 9 to 13 characters. In an example, in GSM and UMTS networks, the CGI may have a format MCC-MNC-TAC-CI, with MCC represented by 3 digits, MNC by 2 or 3 digits, TAC by 2 bytes (hexadecimal), and CI by 4 bytes (hexadecimal). The total length of the CGI in LTE networks varies between 11 to 15 characters. In an example, in GSM and UMTS networks, the CGI may include PLMN ID-Slice ID- SSC-PCI, with PLMN ID being 3 digits and Slice ID, SSC, and PCI having variable lengths. The total length of the CGI in 5G networks is determined by the specific configuration of these elements.
[0085] The MCC may comprise the first two to four digits of the CGI and may represent the country where the cell is located. The MNC may comprise the next two to four digits of the CGI after the MCC and may identify the specific network operator within that country. The cell ID may comprise the remaining digits of the CGI after the MCC and MNC and may uniquely identify the specific cell within the operator's network.
[0086] In an aspect, the application may refer to as a web portal or a network coverage platform. Accordingly, the terms “application”, “web portal” and “network coverage platform” may be used interchangeably throughout the disclosure. In an aspect, the network coverage platform is configured to gather and provide network-related information (e.g., network statistics, day-to-day actions to be performed by network operators (e.g., field engineers), insights / solutions to the network operators). The network coverage platform may provide a simple dashboard for coverage and usage, along with a summary of key performance indicators (KPIs).
[0087] The application may serve as the primary interface between the users and the system (102), allowing for seamless input of CGI data. For instance, a user may input a CGI like "310410123456789" into the application. The application server interface module (212) may be designed to provide real-time feedback during CGI input (user request), which may help minimize errors. Once the CGI is entered by the user, the application may display the one or more attributes along with the extracted data associated with the requested CGI, in a user-friendly format.
[0088] In an aspect, the application server (106) may be communicatively coupled to the application and may be configured to process the user request. In an aspect, the application server (106) may refer as a web server. Accordingly, the terms “application server” and “web server” may be used interchangeably throughout the disclosure
[0089] The application server (106), upon receiving the user request, may process the received user request. During processing the user request, the application server (106) may validate of a format and length of the received CGI. For example, if the expected format is a 15-digit string with specific ranges for the MCC and the MNC, the application server (106) may ensure the input adheres to these requirements before proceeding. This validation step ensures data integrity and reduces errors in subsequent processing stages. The gateway interface module (216) may enable the gateway (114) that may be communicatively coupled to theapplication server (106). In an aspect, the gateway (114) may be a network component that serves as an intermediary between the application (or frontend) and the backend network services. The gateway acts as a centralized point of entry for all incoming requests and is responsible for routing those requests to the appropriate network services. In an operative aspect, the gateway (114) may act as an intermediary between the application server (106) and the network service server (112). The gateway (114) may be configured to route the processed user request from the application server (106) to the network service server (112). This gateway may act as a secure conduit, ensuring that the processed user request is directed accurately to the next component in the system architecture. The routing step may be crucial in maintaining the integrity and security of the data flow within the system (102).
[0090] The network service interface module (218) may enable communication between the network service server (112) and the system (102). The network service server (112) may be communicatively coupled to the gateway (114). In an aspect, the network service server refers to a server that provides various network-related services to devices over the network. In an aspect, the network service server (112) may be referred to as a microservice server. In an aspect, the microservice server refers to the infrastructure where microservices are deployed and run. The microservices refers to a collection of small, independent services, each responsible for a specific functionality and communicating with each other over networks.
[0091] The network service server (112) may be configured to extract the MCC, the MNC, and the cell ID from the CGI. This extraction process may be a key step in breaking down the CGI into its constituent parts for more efficient data retrieval. For example, considering CGI "310410123456789", the server may extract "310" as the MCC and "410" as the MNC. In an example, the network service interface module (218) may act as a middleware component within a network services architecture. In an aspect, the network service may refer to as a microservice. Further, the network service interface module (218) may be able to:• define clear interfaces and APIs that network services use to communicate with each other. This includes specifying methods, data structures, and communication protocols (e.g., RESTful APIs, message queues).• incorporate mechanisms for service discovery and registration, allowing network services to dynamically locate and communicate with each other without hard-coding dependencies.• provide capabilities for data transformation and normalization, ensuring compatibility between different network services that may use different data formats or schemas.• integrate with security mechanisms such as authentication, authorization, and encryption to ensure secure communication between network services.• support for scalability by implementing load balancing strategies and managing traffic distribution across multiple instances of network services.
[0092] The network service server (112) may be further configured for building / generating a query to fetch data corresponding to the one or more attributes from the database (210). The one or more attributes include geo-location, signal strength, and antenna directionality. In an aspect, the geolocation data refers to the information corresponding to device’s location (e.g., user equipment location) based on network connection, including coordinates such as latitude and longitude. In an aspect, the signal strength refers to the measurement of the strength of communication signals receiving by the devices from nearby cell towers. It is represented in dBm. In an aspect, the antenna directionality refers to a way an antenna radiates or receives radio waves in a specific direction. It is measured using the beamwidth and gain of the antenna.
[0093] The query is built based on the extracted MCC, MNC and cell ID of the CGI from the user request. This query building process may be optimized to ensure rapid and accurate data retrieval based on the extracted CGI components. The construction of an efficient query may be crucial in minimizing database search times and improving overall system performance.
[0094] The network service server (112) may be configured to execute the generated query to determine whether the database (210) has data corresponding to the query. In order to execute the query, the network service server (112) may further be configured to filter the database (210) based on the extracted MCC and the extracted MNC.
[0095] In an aspect, the data (e.g., cell data) of the database (210) is arranged by performing a partitioning process. The partitioning process may involve performing a first partitioning, a second partitioning, and an indexing. The first partitioning (also referred to Base partitioning) refers to a process of an initial division of a large dataset into smaller, more manageable units called partitions. The second partitioning (also referred to Sub partitioning) refers to the process of dividing a partition or subset of data further into smaller, more manageable units within a database or other data storage system. This technique is often employed to enhance the efficiency of data management, querying, and maintenance. Indexing refers to a process of organizing and storing data in a structured format to facilitate quick and efficient searching, sorting, and retrieval of information. In databases, indexing involves creating data structures (often referred to as indexes) that allow for rapid lookup of specific records. These indexes are typically built on one or more columns of a table and store references to the actual data, enabling faster access when querying the database.
[0096] The first partitioning is based on the MCC may correspond to a base partition, the second partitioning is based on the MNC may correspond to subpartitions within the base partition, and the indexing is based on cell ID may enable rapid retrieval of specific data (e.g., cell data).
[0097] To perform filtering, the network service server may perform a first filtering based on the extracted MCC. This step may create broad categories within the database (210) that correspond to different countries. Following this, a second filtering may be performed based on the extracted MNC, creating sub-categorieswithin each country that correspond to specific network operators. Final filtering may be performed based on the cell ID.
[0098] This multi-level filtering approach may significantly enhance the efficiency of data retrieval, potentially allowing for rapid access to specific cell information within the database (210) storing vast information. For example, the system (102) might first narrow down to all entries with MCC "310", then further narrow to entries with MNC "410", and finally pinpoint the exact cell with ID "123456789".
[0099] After filtering, if the network service server (112) determines that the database (210) has the data corresponding to the generated query, then a response is generated. The response comprises the data having one or more attributes associated with the CGI of the user request. The one or more attributes associated with the CGI comprises geo-location, signal strength, and antenna directionality.
[0100] The network service server (112) may communicate the generated response to the application server (106). The application server (106) then may further communicate the response to the application / web portal.
[0101] The application may display the one or more attributes to the user over the interface of the application. Further, when the one or more attributes include the geolocation, the application is configured to display the data on a map over the user interface. In an example, the data corresponding to the CGI in the user request comprises MCC = 310, MNC = 410, cell ID = 123456789, Coordinates = 19.34343,53.343, Attribute 1 = Cityl, Attribute 2 = Villagel.
[0102] Furthermore, when the one or more attributes include the geolocation (e.g., coordinates), the application is configured to display the data on a map over the user interface. In an example, if the attributes comprise Coordinates = 19.34343,53.343, Attribute 1 = Cityl, Attribute 2 = Villagel, the coordinates (19.34343,53.343) are shown on the map over the user interface.
[0103] The database (210) may be configured to store data (e.g., cell data) in a structured format based on the MCC, the MNC, and the cell ID to facilitate efficient searching and retrieval. In an aspect, the terms “data” and “cell data” may be used interchangeably throughout the disclosure.
[0104] This structured approach to data storage may significantly enhance the speed and accuracy of data retrieval operations. To maintain the accuracy and relevance of the one or more attributes, the database (210) may be updated automatically with new cell data. This regular updating process may ensure that the system (102) provides the most current and accurate information possible.
[0105] An API (224) may be communicatively coupled to the database (210) and may be configured for providing the one or more attributes along with the extracted data associated with the requested CGI to a user. The API (224) may serve as the final interface between the system's internal processes and the end-user. It may accept the CGI as input and return the one or more attributes along with the extracted data associated with the requested CGI.
[0106] The system (102) may further comprise the load balancer (222) that may be communicatively coupled between the gateway (114) and the network service server (112). The load balancer (222) may be configured to distribute incoming requests across multiple instances of the network service server. This distribution of requests may play a crucial role in maintaining system performance and responsiveness during peak usage periods, potentially allowing the system (102) to handle a larger number of simultaneous requests efficiently.
[0107] The API (224) may be configured to handle multiple simultaneous requests for providing one or more attributes associated with the CGI from different users or systems, showcasing the system's ability to manage high volumes of queries efficiently. The API (224) may also validate the input CGI for proper format and length before processing the request, adding an additional layer of data integrity. In cases where the requested CGI is not found in the database (210), theAPI (224) may generate an error response, ensuring that users always receive meaningful feedback.
[0108] The network service server (112) may be further configured to cache frequently requested CGI data in the database (210). This caching may significantly reduce response times for commonly queried locations, potentially enhancing the overall efficiency of the system (102). The cached data may be stored in fast-access memory in the database (210), allowing for near-instantaneous retrieval of information for popular or frequently queried CGIs. In an aspect, the fast-access memory refers to a high-speed memory that allow quick retrieval of data. The fastaccess memory enables rapid reading or writing operations to speed up database performance.
[0109] As cellular networks continue to expand and evolve, the system (102) may accommodate this growth by scaling the database (210) to handle increasing numbers of CGIs and user requests. This scalability may be coupled with measures to maintain data consistency across multiple database instances in a distributed environment, potentially ensuring reliable and accurate geo-location data even as the system (102) grows.
[0110] The system (102) may also provide insights by enabling the network service server (112) to provide historical cell location data and track changes in one or more attributes over time. This feature may offer valuable information for network planning, optimization, and analysis of cellular network evolution. Users may be able to view how cell characteristics have changed over time, providing a dynamic view of network development and coverage expansion.
[0111] To further enhance the efficiency of providing the one or more attributes, the network service server (112) may be configured for optimizing the search process by utilizing the partitioned and indexed database structure to quickly locate the requested CGI data in the database (210). This optimization may involve advanced algorithms that leverage the structured format of the database (210) to perform rapid, targeted searches. Additionally, the caching of frequently requestedCGI data may further improve response times for subsequent requests, potentially contributing to an overall enhanced user experience.
[0112] The system (102) may provide a robust, efficient, and scalable solution for obtaining accurate location data in cellular networks. By employing advanced data structures, optimized querying techniques, and intelligent caching mechanisms, the system (102) may offer rapid and reliable geo-location services across a wide range of applications and use cases. From network planning and optimization to location-based services and emergency response systems, this system (102) may support a diverse array of functionalities that rely on accurate and timely geo-location data.
[0113] FIG. 3 illustrates an exemplary system architecture (300) for providing one or more attributes associated with the CGI using the API-based service, in accordance with an embodiment of the present disclosure.
[0114] Referring to FIG. 3, the system architecture (300) comprises an application (302), the application server (106), the gateway (114), a network service server (112), the database (210), the load balancer (222) and the application programming interface (224).
[0115] A user may input target CGI on the application / web portal (302). The user input may be provided to the application server (106).
[0116] In an aspect, the CGI is a globally unique identifier in mobile phone networks. It is an integral part of 3GPP specifications for mobile networks may serve a fundamental purpose in network management, cell identification, and location tracking of the UE or mobile devices. The CGI is used to track the location of UEs within the LTE network. By associating a UE's connection with a specific cell identified by its CGI, the network can determine the general location of the UE.
[0117] The user request may redirect to the network service server (112) via the gateway (114). The network service server (112) may extract a mobile country code(MCC) (i.e., first three digits of CGI) and a mobile network code (MNC) (i.e., next three digits of CGI) from the inputted CGI. In an aspect, mobile country code (MCC) is used in wireless networks (for example, GSM, CDMA, UMTS, LTE, 5G, etc.) in order to identify the country to which a mobile subscriber belongs. In order to uniquely identify a mobile subscriber’s network, the MCC is combined with a mobile network code (MNC). The MCC identifies the country, and the MNC identifies the network within the country. The network service server (112) may build a logic or query to fetch data from the database (210).
[0118] In the database (210), the data is filtered based on the MCC / MNC level for the requested CGI. To filter data, a first filtering is performed based on the MCC. A second filtering is performed based on the MNC. A final filtering is performed based on the cell ID.
[0119] For example, the user may input CGI (e.g., 40587334343334) on the web portal (302). The MCC = 405 (i.e., first 3 digits from the CGI), MNC = 873 (i.e., next 3 digits from the CGI), and cell ID = 34343334.The data extracted from the database (210) for the requested CGI is given below as:
[0120] Upon determining the database (210) has data corresponding to the requested CGI, the one or more attributes along with the extracted data associated with the requested CGI, are provided to the user via the application interface or API or any other source.
[0121] To manage high volumes of requests efficiently, particularly during peak usage periods, the system (102) incorporates the load balancer (222). The load balancer (222) is strategically placed between the gateway (114) and the networkservice server (112). Its primary function is to distribute incoming requests across multiple instances of the network service server, ensuring optimal resource utilization and preventing any single server from becoming overwhelmed. For instance, during a major event that might trigger thousands of CGI lookups in a specific area, the load balancer (222) would intelligently distribute these requests across available server instances, maintaining system performance and responsiveness.
[0122] In an embodiment, the application / web portal (302) is designed with user experience in mind, featuring an intuitive interface for CGI input and data display. As users type in a CGI, the interface provides real-time feedback, including automatic formatting (such as inserting hyphens after the MCC and MNC for improved readability), immediate validation feedback (using color coding to indicate valid or invalid inputs), and even autocomplete suggestions based on partial inputs. This user-friendly design significantly reduces input errors and enhances overall system usability.
[0123] In an embodiment, the API (224) is designed to handle multiple simultaneous requests, potentially processing thousands of CGI lookups per second during peak times. The API performs a final validation check on incoming requests, rejecting any that might have slipped through earlier checks, such as "310410ABCDEFGH". For valid requests, it returns data in a standardized format, which includes the CGI, coordinates (latitude and longitude), and various attributes like city, country, and cell type. In cases where a CGI is not found or is invalid, the API (224) generates an appropriate error response, ensuring that users always receive meaningful feedback.
[0124] In an embodiment, the database (210) is structured to optimize both performance and scalability. It employs a structured format where data is organized first by MCC, then by MNC, and finally by cell ID. This structure facilitates extremely efficient searching and retrieval of data (e.g., cell data). To ensure the accuracy and relevance of the one or more attributes, the database (210) is updatedautomatically, perhaps on a nightly basis, to incorporate new cells or changes in the one or more attributes. For instance, if a new 5G cell is deployed in an area, this information would be included in the next update cycle. In an operative aspect, the data (i.e., cell data) comprises data corresponding to CGI (e.g., MCC, MNC, cell ID, one or more attributes (e.g., geolocation (e.g.., city, location coordinates), signal strength, antenna directionality, cell type, etc.).
[0125] To further enhance performance, the network service server (112) implements an intelligent caching mechanism. Frequently requested CGI data, such as that for popular locations, is cached in the fast-access memory of the database (210). This caching significantly reduces the need for repeated database queries and speeds up response times for subsequent requests for these high-traffic locations. The caching strategy is not static but employs machine learning techniques to continuously refine its approach based on evolving usage patterns.
[0126] In an embodiment, as the number of CGIs grows with the expansion of cellular networks, the database (210) is capable of scaling horizontally. New database instances can be seamlessly added to the cluster to accommodate increased data volume. Data might be sharded across multiple instances based on MCC ranges, ensuring efficient data distribution. To maintain data consistency across this distributed environment, techniques like multi-master replication are employed, ensuring that updates to one or more attributes in one instance are swiftly propagated to all others.
[0127] Beyond current data, the system (102) may also maintain valuable historical records of cell changes. The system (102) may track how one or more attributes, such as coverage area, have evolved over time. This historical data proves invaluable for network planning and optimization, allowing network operators to analyze trends and make informed decisions about network improvements and expansions.
[0128] The network service server (112) employs advanced optimization techniques to further enhance system performance. The network service server(112) is configured to use predictive algorithms to pre-cache data for CGIs likely to be requested soon, such as cells adjacent to frequently queried ones. The search process could incorporate techniques like bloom filters to quickly determine if a CGI exists in the database before performing a full lookup, further streamlining the data retrieval process.
[0129] This comprehensive and sophisticated approach ensures that the system can efficiently handle large volumes of requests, provide accurate and detailed geolocation data, and adapt to the constantly evolving landscape of cellular networks. From the moment the user inputs the CGI to the delivery of detailed location data, every component of the system works in concert to deliver a seamless, efficient, and reliable geo-location identification service.
[0130] Referring to FIG. 4, a method (400) for providing one or more attributes associated with the cell global identifier (CGI), in accordance with embodiments of the present disclosure.
[0131] At step 402, the method (400) includes receiving, by the application (302), a request comprising the CGI from a user over an interface. The application (also refers as a web portal) (302) may be configured for receiving the request comprising the CGI. This application may serve as the primary interface between users and the system (102), allowing for seamless input of CGI data and display of retrieved information. For example, a user might input a CGI such as "310410123456789" into the application.
[0132] At step 404, the method (400) includes routing, by the application server (106), the received request to the network service server (112). The application server (also refers as web server) (106) may be configured for processing the request, where the application server (106) may be communicatively coupled to the application (302). This processing step may involve initial validation and preparation of the request for further handling within the system (102). The application server (106) may be configured to validate the format and length of the CGI in the request processing. For instance, if the expected format is a 15-digitstring, the application server (106) would check that the input matches this criterion. This validation step may help ensure data integrity and reduce errors in subsequent processing stages. After processing the request, the application server (106) may route the request to the network service server (112).
[0133] At step 404, the method further includes the gateway (114) may be configured for routing the processed request, where the gateway (114) may be communicatively coupled to the application server (106). This gateway (114) may act as a secure conduit, ensuring that the processed user request is directed accurately to the next component in the system architecture. The routing step may be crucial in maintaining the integrity and security of the data flow within the system.
[0134] To enhance the system's ability to handle high volumes of requests, the load balancer (222) may be implemented. This load balancer (222) may be communicatively coupled between the gateway (114) and the network service server (112). The load balancer (222) distributes incoming requests across multiple instances of the network service server (112). For example, if there are three instances of the network service server (112) and three hundred incoming requests, the load balancer (222) might distribute hundred requests to each instance. This distribution of requests may play a crucial role in maintaining system performance and responsiveness during peak usage periods, potentially allowing the system to handle a larger number of simultaneous requests efficiently.
[0135] At step 406, the method (400) includes extracting (406), by the network service server (112), one or more network parameters from the CGI. the one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell ID. The network service server (112) may be configured for extracting the MCC and MNC from the CGI, where the network service server (112) may be communicatively coupled to the gateway (114). This extraction process is a key step in breaking down the CGI into its constituent parts for more efficient data retrieval. By separating these components, the system (102)is able to perform more targeted and efficient database queries. In an example CGI "310410123456789", the network service server would extract "310" as the MCC and "410" as the MNC.
[0136] At step 408, the method (400) includes generating (408), by the network service server (112), a query based on the one or more extracted network parameters. The network service server (112) may be configured for generating / building the query to fetch data from the database (210) comprising cell data. The query is generated based on the CGI components extracted from the user request. This query generation process may be optimized to ensure rapid and accurate data retrieval based on the extracted CGI components. The construction of an efficient query may be crucial in minimizing database search times and improving overall system performance. For instance, the query might be structured as "SELECT * FROM cell_data WHERE mcc=’310’ AND mnc=’41O’ AND cell_id=T23456789"'.
[0137] At step 410, the method (400) includes executing (410), by the network service server (112), the generated query to determine whether the database (210) has data corresponding to the query. Upon executing the query, the network service server (112) filters the database (210) based on the extracted MCC and the extracted MNC. This filtering process may comprise several steps. Initially, the network service server (112) may perform a first filtering based on the extracted MCC. This step may filter broad categories within the database (210) that correspond to different countries. Following this, a second filtering may be performed based on the extracted MNC, performing sub-filtering within each country that corresponds to specific network operators. Final filtering may be performed based on the cell ID. This multi-level filtering approach may significantly enhance the efficiency of data retrieval, potentially allowing for rapid access to specific cell information within the database (210) that stores vast information. For example, the system might first narrow down to all entries with MCC "310", then further narrow to entries with MNC "410", and finally pinpoint the exact cell with ID "123456789".
[0138] At step 412, the method (400) includes upon determining that the database (210) has the data corresponding to the query, generating, by the network service server (112), a response comprising the data having one or more attributes. In an aspect, if the database (210) has the data corresponding to the query after performing the filtering on the database (210), the response is generated. The response comprises the data having one or more attributes. The one or more attributes include geo-location, signal strength, and antenna directionality.
[0139] At step 414, the method (400) comprises communicating, by the network service server (112), the generated response to the application server (106). In an aspect, the network service server (112) communicates the generated response to the application server (106) through the gateway (114).
[0140] At step 416, the method (400) comprises communicating, by the application server (106), the response to the application (302). In an aspect, after receiving the response from the network service server (112), the application server (106) communicates the response to the application (302). Upon receiving the response, the application (302) is configured to display the one or more attributes corresponding to the CGI to the user over the interface. Furthermore, when the one or more attributes include the geolocation, the application (302) displays the data on a map over the user interface.
[0141] In an aspect, the database (210) itself may be structured to optimize these filtering and retrieval processes. It may store the cell data in a structured format based on the MCC, the MNC, and the cell ID. This structured approach to data storage may significantly enhance the speed and accuracy of data retrieval operations. To maintain the accuracy and relevance of the one or more attributes, the database (210) may be updated automatically with new cell data. This regular updating process may ensure that the system (102) provides the most current and accurate information possible. For instance, if a new cell tower is installed, its information would be added to the database in the next update cycle.
[0142] To further optimize performance, the network service server (112) may implement a caching mechanism for frequently requested CGI data. This caching may significantly reduce response times for commonly queried locations, potentially enhancing the overall efficiency of the system. The cached data may be stored in the fast-access memory of the database (210), allowing for near- instantaneous retrieval of information for popular or frequently queried CGIs. For example, if the CGI for a major city's central business district is frequently requested, its data might be cached for quicker access.
[0143] The method (400) further comprises the API (224) may be configured for providing the one or more attributes along with the extracted data associated with the requested CGI to a user, where the API (224) may be communicatively coupled to the database (210). The API (224) may serve as the interface through which the retrieved cell data is formatted and presented to the user in a comprehensible and useful manner. For instance, the API might return an output (for example, JSON object) containing the latitude, longitude, city name, and other relevant attributes for the requested CGI.
[0144] The API (224) may play a multifaceted role in the method. It may accept the CGI as input and provide the one or more attributes along with the extracted data associated with the requested CGI as output. Furthermore, it may handle multiple simultaneous requests from different users or systems, showcasing the system's ability to manage high volumes of queries efficiently. The API (224) may also validate the input CGI for proper format and length before processing the request, adding an additional layer of data integrity. In cases where the requested CGI is not found in the database (210), the API (224) may generate an error response, ensuring that users always receive meaningful feedback. For example, if a user inputs an invalid CGI like "999999999999999", the API might return an error message stating "Invalid CGI format" or "CGI not found in database".
[0145] The data associated with coordinates provided by the system may comprise latitude and longitude information for the cell. Additionally, the attributesof the cell may comprise at least one of city information, village information, or other geographical details associated with the cell. This comprehensive set of data may provide users with a rich and detailed understanding of the cell's location and characteristics. For instance, for our example CGI, the system might return: {latitude: 40.7128, longitude: -74.0060, city: "New York", country: "USA", cellType: "urban" }.
[0146] As cellular networks continue to expand and evolve, the method may accommodate this growth by scaling the database (210) to handle increasing numbers of CGIs and user requests. This scalability may be coupled with measures to maintain data consistency across multiple database instances in a distributed environment, potentially ensuring reliable and accurate geo-location data even as the system grows. For example, if the database (210) needs to handle a tenfold increase in CGIs, additional database servers could be added to the system, with data distributed across them based on MCC ranges.
[0147] The method may also provide historical insights by enabling the network service server (112) to provide historical cell location data and track changes in one or more attributes over time. This feature may offer valuable information for network planning, optimization, and analysis of cellular network evolution. Users may be able to view how cell characteristics have changed over time, providing a dynamic view of network development and coverage expansion. For instance, a user might be able to see how a particular cell's coverage area has changed over the past year, or how many new cells have been added in a specific region.
[0148] To further enhance the efficiency of the process, the network service server (112) may be configured for optimizing the search process by utilizing the partitioned and indexed database structure to quickly locate the requested CGI data. This optimization may involve advanced algorithms that leverage the structured format of the database to perform rapid, targeted searches. Additionally, the caching of frequently requested CGI data may further improve response times for subsequent requests, potentially contributing to an overall enhanced userexperience. For example, the system (102) might use predictive caching to pre-load data for CGIs that are often requested together or in sequence.
[0149] The application (302) may provide a user-friendly interface for inputting the CGI and displaying the one or more attributes along with the extracted data associated with the requested CGI of the cell. This interface may be designed to provide real-time feedback during CGI input, potentially reducing errors and improving the overall efficiency of providing one or more attributes associated with the CGI. Users may receive immediate validation of their input, ensuring that only properly formatted CGIs are submitted for processing. For instance, as a user types in a CGI, the interface might highlight each component (MCC, MNC, cell ID) in different colors and provide instant feedback on whether each part is valid.
[0150] This comprehensive method provides a robust, efficient, and scalable solution for obtaining accurate location data in cellular networks. By employing advanced data structures, optimized querying techniques, and intelligent caching mechanisms, the method may offer rapid and reliable geo-location services across a wide range of applications and use cases. From network planning and optimization to location-based services and emergency response systems, this method may support a diverse array of functionalities that rely on accurate and timely geo-location data.
[0151] FIG. 5 illustrates an exemplary computer system (500) in which or with which embodiments of the present disclosure may be implemented.
[0152] As shown in FIG. 5, the computer system (500) may include an external storage device (510), a bus (520), a main memory (530), a read-only memory (540), a mass storage device (550), communication port(s) (560), and a processor (570). A person skilled in the art will appreciate that the computer system may include more than one processor and communication ports. The processor (570) may include various modules associated with embodiments of the present disclosure. The communication port(s) (560) may be any of an RS-232 port for use with a modem-based dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabitport using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port(s) (560) may be chosen depending on a network, such as a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system connects.
[0153] The main memory (530) may be random access memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (540) may be any static storage device(s), e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information, e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor (570). The mass storage device (550) may be any current or future mass storage solution, which can be used to store information and / or instructions. Exemplary mass storage device (550) includes, but is not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks.
[0154] The bus (520) communicatively couples the processor (570) with the other memory, storage, and communication blocks. The bus (520) may be, e.g., a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB), or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (570) to the computer system.
[0155] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and cursor control device, may also be coupled to the bus (520) to support direct operator interaction with the computer system. Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) (560). The components described above aremeant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
[0156] In another exemplary embodiment, the user equipment (UE) (108) for obtaining one or more attributes associated with the cell global identifier (CGI) is described. The UE (108) is configured to receive a user request comprising the CGI and route this request to the system (102) for processing. The UE (108) acts as an interface between the user and the system, enabling users to easily input CGIs and retrieve corresponding location information. This configuration allows the UE (108) to leverage the advanced partitioning and indexing capabilities of the main system (102) without requiring significant processing power on the device itself. The UE (108) may be implemented as a mobile phone, tablet, or any other portable device capable of connecting to cellular networks.
[0157] Upon receiving the one or more processed attributes from the system (102), the UE (108) is further configured to display the one or more attributes associated with the requested CGI of the cell to the user. This feature enhances the user experience by providing quick and easy access to detailed location information based on CGI inputs directly from their personal devices.
[0158] In yet another exemplary embodiment, a computer program product for providing one or more attributes associated with the CGI is described. The computer program product comprises a non-transitory computer-readable medium having stored thereon computer-executable instructions that, when executed by a processor, implement a method for providing one or more attributes associated with a cell global identifier (CGI) is described. The method comprises receiving, by an application, a request comprising the CGI from a user over an interface and routing, by an application server, the received request to a network service server. The method further comprises extracting, by the network service server, one or more network parameters from the CGI. The one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell ID. The method comprises generating, by the network service server, a query based on theone or more extracted network parameters and executing, by the network service server, the generated query to determine whether a database has data corresponding to the query. Upon determining that the database has the data, generating, by the network service server, a response comprising the data having one or more attributes. The method comprises communicating, by the network service server, the generated response to the application server and communicating, by the application server, the response to the application. The application is configured to display the one or more attributes corresponding to the CGI to the user over the interface.
[0159] The present disclosure provides technical advancement related to providing one or more attributes associated with the CGI in wireless communication networks. This advancement addresses the limitations of existing solutions by implementing an optimized method for retrieving cell location data based on cell global identifier (CGI). The disclosure involves a novel approach to database partitioning and indexing, which offers significant improvements in search efficiency and response time. By implementing a three-tier partitioning system based on Mobile Country Code (MCC), Mobile Network Code (MNC), and cell ID, the disclosed invention enhances the speed and accuracy of cell location queries, resulting in rapid retrieval of geographical coordinates and associated attributes for any given CGI. Furthermore, the integration of a user-friendly web interface and a standardized API allows for seamless access to this optimized system, enabling quick and efficient mapping of cell locations across various cellular technologies (2G, 3G, 4G, 5G, 6G, etc.). This technical advancement significantly improves the process of providing one or more attributes associated with the CGI in cellular networks, providing a scalable solution capable of handling billions of CGIs while maintaining optimal performance.
[0160] While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferredembodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter to be implemented merely as illustrative of the disclosure and not as limitation.ADVANTAGES OF THE PRESENT DISCLOSURE
[0161] The present disclosure provides a technically advanced solution for providing one or more attributes using cell global identifier (CGI) through an Application Programming Interface (API) based service. This system significantly improves the efficiency and speed of retrieving location data for cellular networks, addressing the challenge of managing billions of CGIs globally.
[0162] The present disclosure offers an optimized method for data retrieval through a unique three-tier partitioning and indexing system based on Mobile Country Code (MCC), Mobile Network Code (MNC), and cell ID. This approach dramatically reduces search times within the vast dataset of CGIs, enabling rapid access to cell location information and associated details.
[0163] The present disclosure implements a user-friendly web interface that simplifies the process of inputting CGIs and retrieving cell details. This interface enhances accessibility for users who may not have technical expertise in API usage, broadening the potential user base for this geo-location service.
[0164] The present disclosure provides a standardized API that allows seamless integration with other systems and applications. This feature enables developers and organizations to easily incorporate the geo-location identification service into their existing workflows and software solutions.
[0165] The present disclosure offers quick and accurate results for coordinates and geographical details for any given CGI input. This rapid response time is crucial for applications requiring real-time or near-real-time location data, such as emergency services, network optimization, and location-based services.
[0166] The present disclosure supports multiple cellular technologies, including 2G, 3G, 4G, 5G, and 6G networks. This comprehensive coverage ensures that the system remains relevant and useful across various network generations and global regions.
[0167] The present disclosure provides a network coverage platform that collects and delivers network-related information (e.g., network statistics, daily tasks for network operators (e.g., field engineers), insights / solutions, and a simple dashboard for coverage and usage, along with a summary of key performance indicators (KPIs)).
[0168] The present disclosure provides a scalable solution capable of handling the increasing number of CGIs as cellular networks expand and evolve. This scalability ensures the long-term viability and efficiency of the system, even as the volume of data grows.
[0169] The present disclosure enhances the accuracy of cell location mapping by providing detailed attributes along with coordinates. This additional information can be crucial for network planning, optimization, and troubleshooting activities.
Claims
CLAIMS1. A system (102) for providing one or more attributes associated with a cell global identifier (CGI), the system (102) comprising: an application server (106) configured to: receive a request comprising the CGI from a user over an interface of an application (302); and route the received request to a network service server (112); the network service server (112) configured to: extract one or more network parameters from the CGI, wherein the one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell identifier (ID); generate a query based on the one or more extracted network parameters; execute the generated query to determine whether a database (210) has data corresponding to the query; upon determining that the database has the data, generate a response comprising the data having one or more attributes; and communicate the generated response to the application server (106); and the application server (106) configured to: communicate the response to the application (302), wherein the application (302) is configured to display the one or more attributes corresponding to the CGI to the user over the interface.
2. The system (102) of claim 1 , wherein an arrangement of data in the database (210) is performed based on a first partitioning, a second partitioning and an indexing, wherein the first partitioning is performed based on the MCC, the second partitioning based on the MNC, and the indexing based on the cell ID.
3. The system (102) of claim 1, wherein the one or more attributes include geo-location, signal strength, and antenna directionality, wherein when the one or more attributes include the geolocation, the application (302) is configured to display the data on a map over the user interface.
4. The system (102) of claim 1, wherein the application server (106) is configured to validate a format and a length of the CGI, before routing the request to the network service server (112).
5. The system (102) of claim 1, wherein the network service server (112) is further configured to cache frequently requested CGI in the database (210).
6. A method (400) for providing one or more attributes associated with a cell global identifier (CGI), the method (400) comprising: receiving (402), by an application (302), a request comprising the CGI from a user over an interface; routing (404), by an application server (106), the received request to a network service server (112); extracting (406), by the network service server (112), one or more network parameters from the CGI, wherein the one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell identifier (ID); generating (408), by the network service server (112), a query based on the one or more extracted network parameters;executing (410), by the network service server (112), the generated query to determine whether a database (210) has data corresponding to the query; upon determining that the database (210) has the data, generating (412), by the network service server (112), a response comprising the data having one or more attributes; and communicating (414), by the network service server (112), the generated response to the application server (106); and communicating (416), by the application server (106), the response to the application (302), wherein the application (302) is configured to display the one or more attributes corresponding to the CGI to the user over the interface.
7. The method (400) as claimed in claim 6, wherein an arrangement of cell data in the database (210) is performed based on a first partitioning, a second partitioning and an indexing, wherein the first partitioning is performed based on the MCC, the second partitioning based on the MNC, and the indexing based on the cell ID.
8. The method (400) as claimed in claim 6, the one or more attributes include geo-location, signal strength, and antenna directionality, wherein when the one or more attributes include the geolocation, displaying, by the application (302), the data on a map over the user interface.
9. The method (400) as claimed in claim 6, further comprising: validating, by the application server (106), a format and a length of the CGI, before routing the request to the network service server (112).
10. The method (400) as claimed in claim 6, further comprising: caching, by the network service server (112), frequently requested CGI in the database (210).
11. A user equipment (108) for obtaining one or more attributes associated with a cell global identifier (CGI), the user equipment (108) is configured to: receive a request comprising the CGI from a user over an interface of an application (302); and route the request to the system (102), wherein the system (102) is configured to process the request as claimed in claim 1.
12. The user equipment (108) of claim 11, wherein the user equipment (108) is further configured to: receive a response comprising one or more attributes from the system (102); and display the one or more attributes over the interface.
13. A computer program product comprising a non- transitory computer- readable medium having stored thereon computer-executable instructions that, when executed by a processor, cause the processor to perform a method (400) for providing one or more attributes associated with a cell global identifier (CGI), the method (400) comprising: receiving (402), by an application (302), a request comprising the CGI from a user over an interface; routing (404), by an application server (106), the received request to a network service server (112); extracting (406), by the network service server (112), one or more network parameters from the CGI, wherein the one or more network parameters comprise a mobile country code (MCC), a mobile network code (MNC), and a cell identifier (ID); generating (408), by the network service server (112), a query based on the one or more extracted network parameters;executing (410), by the network service server (112), the generated query to determine whether a database (210) has data corresponding to the query; upon determining that the database (210) has the data, generating (412), by the network service server (112), a response comprising the data having one or more attributes; and communicating (414), by the network service server (112), the generated response to the application server (106); and communicating (416), by the application server (106), the response to the application (302), wherein the application (302) is configured to display the one or more attributes corresponding to the CGI to the user over the interface.
Citation Information
Patent Citations
Method and system for acquiring customizable parameters
CN102063467A