Sign In to Follow Application
View All Documents & Correspondence

System And Method For Identifying Coverage Boundary Of Cluster Of Nodes In A Communication Network

Abstract: Disclosed is a system (140) and a method (300) for identifying a coverage boundary of cluster of nodes in a network (100). The method (300) comprises retrieving input data including latitude and longitude data points of the cluster of nodes in two dimensional plane, and removing duplicate data points from the input data. Further, a pair of linear data points separated by a maximum Euclidean distance is determined from remaining data points, and one data point from the pair of linear data points is selected to sort the remaining data points in order of increasing polar angle of the remaining data points around the selected data point. Subsequently, a data processing operation is executed to process sorted data points iteratively until a bottom-left-corner data point is identified and as a result a convex hull of finite data points representing the coverage boundary is determined. FIG. 3

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
29 March 2024
Publication Number
40/2025
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

Jio Platforms Limited
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad 380006, Gujarat, India

Inventors

1. Bhatnagar, Pradeep Kumar
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
2. Bhatnagar, Aayush
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
3. Bhardwaj, Avinash
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India

Specification

DESC:FORM 2
THE PATENTS ACT, 1970 (39 OF 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)

SYSTEM AND METHOD FOR IDENTIFYING COVERAGE BOUNDARY OF CLUSTER OF NODES IN A COMMUNICATION NETWORK

Jio Platforms Limited, an Indian company, having registered address at Office -102, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India

The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
The embodiments of the present disclosure generally relate to the field of wireless communication networks and systems. More particularly, the present disclosure relates to a system and a method for determining a coverage boundary of a cluster of nodes in a communication network.
BACKGROUND OF THE INVENTION
The subject matter disclosed in the background section should not be assumed or construed to be prior art merely because of its mention in the background section. Similarly, any problem statement mentioned in the background section or its association with the subject matter of the background section should not be assumed or construed to have been previously recognized in the prior art.
In the dynamic realm of telecommunications networks, monitoring of performance of nodes is crucial to optimize a network’s performance. In recent years, with expansion of the telecommunications networks to cover vast geographical areas, there has been an exponential growth in volume of data collected through North Bound Interface(s) (NBIs), often approximating petabyte-scales. Heretofore, service providers relied on various data processing and analytics platforms to process such an immense volume of data to provide actionable insights to operations teams of the telecommunications networks.
To this end, among multitude of processing jobs performed by the data processing and analytics platforms, one critical aspect involves analyzing coverage areas of nodes in the telecommunications networks and identifying coverage gaps in the coverage areas of the nodes. By analyzing data corresponding to various geographical regions, network operators aim to evaluate a quality of coverage provided by the service providers. This evaluation is crucial in ensuring seamless connectivity and improved user experience across the telecommunications networks.
However, analyzing the coverage areas and identifying the coverage gaps is resource-intensive and time-consuming and existing systems have not been successful in identifying the coverage gaps efficiently and accurately. Further, the existing systems have not been cost-effective since their implementation involves a significant cost in terms of processing power and time. Moreover, inherent complexity of operations performed by the existing systems necessitates requirement of substantial computational resources, which further strains the capabilities of network’s infrastructure and increases the processing time beyond acceptable limits.
Therefore, to overcome aforementioned challenges and limitations associated with the existing systems for identifying the coverage gaps in the coverage areas, there lies a need for a system and a method that can provide coverage analysis to end-users in minimal time while optimizing processing efficiency and minimizing computational complexity.
SUMMARY
The following embodiments present a simplified summary to provide a basic understanding of some aspects of the disclosed invention. This summary is not an extensive overview, and it is not intended to identify key/critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
In an embodiment, disclosed herein is a method for identifying a coverage boundary of a cluster of nodes in a communication network. The method comprises retrieving, by a data acquisition module via a communication interface, input data from a database. The input data includes a set of latitude and longitude data points indicating positional information of the cluster of nodes in a two dimensional plane. Further, the method comprises removing, by a data processing module, duplicate data points from the set of latitude and longitude data points based on an analysis of the retrieved input data, and determining, by a computation module from remaining data points after removal of the duplicate data points, a pair of linear data points separated by a maximum Euclidean distance based on coordinates of the remaining data points. Furthermore, the method comprises selecting, by a selection module, one data point from the pair of linear data points using x-y coordinate values of the pair of linear data points, and sorting, by an ordering module, the remaining data points in order of increasing polar angle of the remaining data points. The polar angle is measured in a clockwise direction around the selected data point. Subsequently, the method comprises executing, by the data processing module, a data processing operation to process the sorted data points iteratively until a bottom-left-corner data point is identified, and determining, by the data processing module, a convex hull of finite set of data points among the sorted data points based on the execution of the data processing operation. The convex hull represents the coverage boundary of the cluster of nodes.
In one or more aspects, the execution of the data processing operation comprises selecting, by the selection module, the bottom-left-corner data point as a starting reference point. The bottom-left-corner data point represents a data point having a smallest x-coordinate value. The execution of the data processing operation further comprises sorting, by the ordering module, the finite set of data points in order of the increasing polar angle with reference to the selected starting reference point.
In one or more aspects, the execution of the data processing operation further comprises creating, by the by the data processing module, an empty stack in a memory, and pushing, by the data processing module, first three data points among the sorted data points onto the empty stack. The first three data points includes the bottom-left-corner data point and two data points from the sorted data points. Further, the execution of the data processing operation comprises determining, by the data processing module, whether an orientation of the pushed first three data points forms a clockwise orientation, and continuing, by the data processing module, to add remaining sorted data points to the empty stack upon determining that the orientation of the pushed first three points forms the clockwise orientation.
In one or more aspects, the execution of the data processing operation further comprises removing, by the data processing module, the pushed data points from the empty stack upon determining that the orientation of the pushed first three points forms an orientation different from the clockwise orientation.
In one or more aspects, for selecting the data point from the pair of linear data points, the method further comprises determining, by the computation module, a linear point that has a highest y-coordinate value among the pair of linear data points, and selecting, by the selection module as the data point, the linear point having the highest y-coordinate value among the two linear data points.
In one or more aspects, for selecting the data point from the pair of linear data points, the method further comprises determining, by the computation module, whether each linear data point among the pair of linear data points has same y-coordinate value, and determining, by the computation module upon a determination that each linear data point among the pair of linear data points has the same y-coordinate value, a linear point among the pair of linear data points having a smallest x-coordinate value. Further, the selecting, by the selection module as the data point, the linear point having the smallest x-coordinate value from the pair of linear data points.
In an aspect, the method further comprises determining, by the computation module, the maximum Euclidean distance between the pair of linear data points by calculating a straight line distance between the pair of linear data points using the x-y coordinate values of the pair of linear data points.
In an aspect, the method further comprises displaying, by a display module, the determined convex hull on a map interface.
According to another aspect of the present disclosure, a system for identifying a coverage boundary of a cluster of nodes in a communication network is disclosed. The system comprises a data acquisition module, a data processing module, a computation module, a selection module, and an ordering module. The data acquisition module is configured to retrieve, via a communication interface, input data from a database. The input data includes a set of latitude and longitude data points indicating positional information of the cluster of nodes in a two dimensional plane. The data processing module is configured to remove duplicate data points from the set of latitude and longitude data points based on an analysis of the retrieved input data. The computation module is configured to determine, from remaining data points after removal of the duplicate data points, a pair of linear data points separated by a maximum Euclidean distance based on coordinates of the remaining data points. The selection module is configured to select one data point from the pair of linear data points using x-y coordinate values of the pair of linear data points. The ordering module is configured to sort the remaining data points in order of increasing polar angle measured in a clockwise direction around the selected data point. Further, the data processing module is configured to execute a data processing operation to process the sorted data points iteratively until a bottom-left-corner data point is identified, and determine a convex hull of finite set of data points among the sorted data points based on the execution of the data processing operation. The convex hull represents the coverage boundary of the cluster of nodes.
In one or more aspects, to execute the data processing operation, the data processing module is further configured to select the bottom-left-corner data point as a starting reference point. Further, the ordering module is configured to sort the finite set of data points in order of the increasing polar angle with reference to the selected starting reference point.
In one or more aspects, to execute the data processing operation, the data processing module is further configured to create an empty stack in a memory, push first three data points among the sorted data points onto the empty stack, and determine whether an orientation of the pushed first three data points forms a clockwise orientation. Further, the data processing module is configured to continue adding remaining sorted data points to the empty stack upon determining that the orientation of the pushed first three points forms the clockwise orientation.
In one or more aspects, to execute the data processing operation, the data processing module is further configured to remove the pushed data points from the empty stack upon determining that the orientation of the pushed first three points forms an orientation different from the clockwise orientation.
In one or more aspects, to select the data point from the pair of linear data points, the computation module is configured to determine a linear point that has a highest y-coordinate value among the pair of linear data points. The selection module is configured to select, as the data point, the linear point having the highest y-coordinate value among the two linear data points.
In one or more aspects, to select the data point among the two linear data points, the computation module is further configured to determine whether each linear data point among the pair of linear data points has same y-coordinate value, and determine, upon a determination that each linear data point among the pair of linear data points has the same y-coordinate value, a linear point among the pair of linear data points having a smallest x-coordinate value. Further, the selection module is configured to select, as the data point, the linear point having the smaller x-coordinate value among the pair of linear data points.
In an aspect, the computation module is further configured to determining the maximum Euclidean distance between the pair of linear data points by calculating a straight line distance between the pair of linear data points using the x-y coordinate values of the pair of linear data points.
In an aspect, the system further comprises a display module configured to display the determined convex hull on a map interface.
BRIEF DESCRIPTION OF DRAWINGS
Various embodiments disclosed herein will become better understood from the following detailed description when read with the accompanying drawings. The accompanying drawings constitute a part of the present disclosure and illustrate certain non-limiting embodiments of inventive concepts. Further, components and elements shown in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. For consistency and ease of understanding, similar components and elements are annotated by reference numerals in the exemplary drawings.
FIG. 1 illustrates an example communication network, in accordance with an embodiment of the present disclosure.
FIG. 2 illustrates an example system architecture of a server for determining coverage boundary of cluster of nodes in the communication network, in accordance with an embodiment of the present disclosure.
FIG. 3 illustrates a flowchart depicting a method for determining the coverage boundary of the cluster of nodes in the communication network, in accordance with an embodiment of the present disclosure.
FIG. 4 illustrates an example diagram depicting an example of latitude and longitude data points of input data, in accordance with an embodiment of the present disclosure.
FIG. 5 illustrates an example diagram depicting an example of finite set of data points among the latitude and longitude data points, in accordance with an embodiment of the present disclosure.
FIG. 6 illustrates an example diagram of a convex hull of the finite set of data points, in accordance with an embodiment of the present disclosure.
FIG. 7 is a block diagram depicting an exemplary computer system in which embodiments of the present disclosure may be implemented.
DETAILED DESCRIPTION OF THE INVENTION
Inventive concepts of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of one or more embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Further, the one or more embodiments disclosed herein are provided to describe the inventive concept thoroughly and completely, and to fully convey the scope of each of the present inventive concepts to those skilled in the art. Furthermore, it should be noted that the embodiments disclosed herein are not mutually exclusive concepts. Accordingly, one or more components from one embodiment may be tacitly assumed to be present or used in any other embodiment.
The following description presents various embodiments of the present disclosure. The embodiments disclosed herein are presented as teaching examples and are not to be construed as limiting the scope of the present disclosure. The present disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein, but may be modified, omitted, or expanded upon without departing from the scope of the present disclosure.
The following description contains specific information pertaining to embodiments in the present disclosure. The detailed description uses the phrases “in some embodiments” which may each refer to one or more or all of the same or different embodiments. The term “some” as used herein is defined as “one, or more than one, or all.” Accordingly, the terms “one,” “more than one,” “more than one, but not all” or “all” would all fall under the definition of “some.” In view of the same, the terms, for example, “in an embodiment” refers to one embodiment and the term, for example, “in one or more embodiments” refers to “at least one embodiment, or more than one embodiment, or all embodiments.”
The term “comprising,” when utilized, means “including, but not necessarily limited to;” it specifically indicates open-ended inclusion in the so-described one or more listed features, elements in a combination, unless otherwise stated with limiting language. Furthermore, to the extent that the terms “includes,” “has,” “have,” “contains,” and other similar words are used in either the detailed description, such terms are intended to be inclusive in a manner similar to the term “comprising.”
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.
The description provided herein discloses exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the foregoing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing any of the exemplary embodiments. Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it may be understood by one of the ordinary skilled in the art that the embodiments disclosed herein may be practiced without these specific details.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein the description, the singular forms "a", "an", and "the" include plural forms unless the context of the invention indicates otherwise.
The terminology and structure employed herein are for describing, teaching, and illuminating some embodiments and their specific features and elements and do not limit, restrict, or reduce the scope of the present disclosure. Accordingly, unless otherwise defined, all terms, and especially any technical and/or scientific terms, used herein may be taken to have the same meaning as commonly understood by one having ordinary skill in the art.
An object of the present disclosure is to provide a system and a method for determining a coverage boundary of a cluster of nodes in a communication network and facilitates pre-processing of longitude and latitude data points to remove duplicate longitude and latitude data points.
Another object of the present disclosure is to provide a system and a method that can provide an efficient mechanism for determining a convex hull of the finite set of data points derived from input data containing the latitude and longitude coordinates (i.e., the data points) of the nodes in the communication network.
Yet another object of the present disclosure is to provide a system and a method that can enhance accuracy in identifying coverage gaps in the coverage areas of the nodes in the communication network.
In the disclosure, various embodiments are described using terms used in some communication standards (e.g., 3rd Generation Partnership Project (3GPP), Extensible Radio Access Network (xRAN), and Open-Radio Access Network (O-RAN)), but these are merely examples for description. Various embodiments of the disclosure may also be easily modified and applied to other communication systems.
In order to facilitate an understanding of the disclosed invention, a number of terms are defined below.
An “Element Management System (EMS)” refers to an intermediary entity between network nodes and a Network Management System (NMS) within a communication network. The EMS is responsible for monitor, manage, and control individual Network Elements (NEs) such as base stations/nodes of a specific vendor, and transferring the performance measurement data to the NMS. The NMS may refer to a system responsible for monitoring and optimizing operations of the network elements.
A “vendor EMS cluster” refers to a group of multiple vendor-specific EMSs, where each vendor-specific EMS is responsible for managing the network elements of a particular vendor. The vendor EMS cluster may provide a centralized control over the network elements from different vendors for performing vendor-specific management functionalities in the communication network.
A “coverage boundary” refers to a perimeter that covers an effective area within which the cluster of nodes can communicate or provide service to network users. The coverage boundary is determined by computing a convex hull that encloses positional information of all the nodes in a geographical region.
The “convex hull” refers to a smallest convex polygon that completely encloses a given set of longitude and latitude data points in a two-dimensional space. In other words, the convex hull can be defined as the smallest convex set containing all the longitude and latitude data points. The convex hull is useful in determining the outer boundary of the cluster of the longitude and latitude data points data points.
The “latitude and longitude data points” corresponds to geographical coordinates representing the positions of nodes in one or more geographical region on earth’s surface. Each node position or location is specified by a pair of values i.e., latitude (north-south position) and longitude (east-west position).
The “linear data points” refers to those data points that are collinear, meaning that they lie on a same straight line. An identifying of such points is required for simplifying a shape of the coverage boundary.
A “bottom-left-corner data point” refers to a data point in a two-dimensional coordinate system that has smallest x-coordinate value. In the event that multiple data points share the smallest x-coordinate value, a data point with lowest y-coordinate among them is selected as the bottom-left-corner data point. The data bottom-left-corner data point serves as a reference for sorting the data points from the input data based on their polar angles in computation of the convex hull.
The “polar angle” of the data points refers to an angle measured from a reference direction (typically a positive x-axis) to a line connecting a reference point (such as the bottom-left-corner data point) to another data point. The polar angle is used to sort the data points in a specific order, for determining and computing the convex hull.
The following description provides specific details of certain aspects of the disclosure illustrated in the drawings to provide a thorough understanding of those aspects. It should be recognized, however, that the present disclosure can be reflected in additional aspects and the disclosure may be practiced without some of the details in the following description.
Embodiments of the present disclosure will be described below in detail with reference to the accompanying drawings. FIG. 1 through FIG. 7, discussed below, and the one or more embodiments used to describe the principles of the present disclosure are by way of illustration only and should not be construed in any way to limit the scope of the present disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged system or device.
FIG. 1 illustrates an example communication network 100, in accordance with an embodiment of the present disclosure. The embodiment of the communication network 100 shown in FIG. 1 is for illustration only. The communication network 100 may also be referred to as “communication network environment 100”. Other embodiments of the communication network environment 100 may be used without departing from the scope of this disclosure.
As shown in FIG. 1, the communication network environment 100 includes gNodeBs (gNBs) 102-1 through 102-n (hereinafter collectively referred to as “nodes 102” or “cluster of nodes 102”), an EMS cluster 120, a network 130, and a server 140. The nodes 102 communicates with the network 130, such as the Internet, a proprietary Internet Protocol (IP) network, or other data network. The nodes 102 also communicates with the server 140 in the communication network environment 100. The server 140 may be communicatively coupled to a database (not shown in FIG. 1) to store input data including latitude and longitude data points indicating positional information of the cluster of nodes 102 in a two dimensional plane.
The nodes 102 provides wireless broadband access to the network 130 for a plurality of UEs within a coverage area of the respective nodes 102. Each UE among the plurality of UEs may correspond to, but not limited to, a mobile device, a cell phone, a wireless laptop, a wireless PDA, or the like. In a non-limiting example, the plurality of UEs includes UEs 108 through 118. In some embodiments, the nodes 102 may communicate with each other and with the UEs 108-118 using a communication technique, such as a 5th Generation 5G/ New Radio (NR), Long Term Evolution (LTE), Long Term Evolution Advanced (LTE-A), Worldwide Interoperability for Microwave Access (WiMAX), Wireless Fidelity (Wi-Fi), or other wireless communication techniques.
The term “nodes” may refer to any component (or collection of components) configured to provide wireless access to a network, such as Transmit Point (TP), Transmit-Receive Point (TRP), an Evolved Base Station (eNodeB or eNB), a 5G/NR base station (gNB), a macrocell, a femtocell, a Wi-Fi Access Point (AP), or other wirelessly enabled devices. The nodes may provide wireless access in accordance with wireless communication protocols, e.g., 5G/NR 3GPP New Radio interface/access (NR), LTE, LTE-A, High Speed Packet Access (HSPA), Wi-Fi 802.11a/b/g/n/ac, etc. For the sake of convenience, the terms “nodes” and “gNBs” are used interchangeably in the present disclosure to refer to network infrastructure components that provide wireless access to remote terminals. Further, depending on the network type, the term “user equipment” or “UE” may refer to any component such as “mobile station,” “subscriber station,” “remote terminal,” “wireless terminal,” “receive point,”. For the sake of convenience, the terms “user equipment” and “UE” are used in this disclosure to refer to remote wireless equipment that wirelessly accesses the nodes.
The EMS cluster 110 includes a plurality of vendor EMSs 122-1 to 122-n (collectively referred to as “vendor EMSs 122”), where each vendor EMS is managing one or more of the nodes 102 (e.g., one or more base stations). For instance, the nodes 102 are shown in FIG. 1 for exemplary purposes, without departing from the scope of the present disclosure. The nodes 102 and the vendor EMSs 122 may communicate with each other via the wireless communication protocols, e.g., 5G/NR, LTE, LTE-A, HSPA, Wi-Fi 802.11a/b/g/n/ac, etc.
Each vendor EMS among the vendor EMSs 122 may be configured to monitor, manage, and control individual NEs within the communication network environment 100. Each vendor EMS among the vendor EMSs 122 may be controlled by one or more EMS server(s).
The server 140 is connected to the vendor EMS cluster 110 via the network 130. The server 140 is configured to of determine the coverage boundary of the cluster of nodes 102 in the communication network environment 100.
Although FIG. 1 illustrates one example of the communication network environment 100, various changes may be made to FIG. 1. For example, the communication network environment 100 may include any number of vendor EMS, nodes, and servers in any suitable arrangement. Further, various components in FIG. 1 may be combined, further subdivided, or omitted and additional components may be added according to particular needs.
FIG. 2 illustrates an example system architecture of the server 140 for determining the coverage boundary of the cluster of nodes 102 in the communication network 100, in accordance with an embodiment of the present disclosure. The embodiment of the server 140 as shown in FIG. 2 is for illustration only. However, the server 140 may come in a wide variety of configurations, and FIG. 2 does not limit the scope of the present disclosure to any particular implementation of the server 140.
As shown in FIG. 2, the server 140 includes one or more processors 210 (hereinafter also referred to as “processor 210”), a memory 220, a network communication manager 230, an interface(s) 240, processing modules(s) 260, a transceiver 270, a console host 280, and a database 290. These components may be in electronic communication via one or more buses (e.g., communication bus 292).
The processor 210 may include various processing circuitry and communicates with the memory 220, the network communication manager 230, the interface 240, and the database 290. The processor 210 is configured to execute instructions 220A stored in the memory 220 and to perform various processes such as determining the coverage boundary of the cluster of nodes 102 in the communication network environment 100 and determining a convex hull of finite set of data points to represent the coverage boundary. The processor 210 may include an intelligent hardware device including a general-purpose processor, such as, for example, and without limitation, a Central Processing Unit (CPU), an Application Processor (AP), a dedicated processor, or the like, a graphics-only processing unit such as a Graphics Processing Unit (GPU), a microcontroller, a Field-Programmable Gate Array (FPGA), a programmable logic device, a discrete hardware component, or any combination thereof. In some cases, the processor 210 may be configured to operate a memory array using a memory controller. In some cases, a memory controller may be integrated into the processor 210. The processor 210 may be configured to execute computer-readable instructions stored in a memory (e.g., the memory 220) to cause the server 140 to perform various functions such as determining the coverage boundary of the cluster of nodes 102 in the communication network environment 100, determining the convex hull of finite set of data points to represent the coverage boundary, etc. as disclosed herein with reference to FIG. 2 through FIG. 6.
The memory 220 stores a set of instructions required by the processor 210 of the server 140 for controlling its overall operations. The memory 220 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of Electrically Programmable Memories (EPROM) or Electrically Erasable and Programmable (EEPROM) Memories. In addition, the memory 220 may, in some examples, be implemented using a non-transitory storage medium. The "non-transitory" storage medium is not embodied in a carrier wave or a propagated signal. However, the term "non-transitory" should not be interpreted as the memory 220 is non-movable. In some examples, the memory 220 may be configured to store larger amounts of information. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in Random Access Memory (RAM) or cache). The memory 220 may be an internal storage unit or an external storage unit of the server 140, cloud storage, or any other type of external storage. In some embodiments, when the memory 230 is external to the server 140, the memory 220 may be removably attached to the server 140. Aspects of the present disclosure are intended to include or otherwise cover any data storage medium as ‘the memory 220’, without deviating from the scope of the present disclosure.
More specifically, the memory 220 may store computer-readable instructions 220A including instructions that, when executed by a processor (e.g., the processor 210) cause the server 140 to perform various functions described herein. In some cases, the memory 220 may contain, among other things, a Basic Input Output System (BIOS) which may control basic hardware or software operation such as the interaction with peripheral components or devices.
The network communication manager 230 may manage communications with the nodes 102, the UEs 108-118, or the EMS cluster 120 (e.g., via one or more wired backhaul links). For example, the network communication manager 230 may manage the transfer of data communications for the nodes 102 and the UEs 108-118. The network communication manager 230 may include an electronic circuit specific to a standard that enables wired or wireless communication. Further, the network communication manager 230 is configured for communicating with external devices via one or more networks.
The interface 240 may include suitable logic, circuitry, a variety of interfaces, and/or codes that may be configured to receive input(s) and present (or display) output(s) on a display interface, a Graphical User Interface (GUI), or a map interface. The variety of interfaces may include interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like. For example, the I/O interface may have an input interface and an output interface. The interface 240 may facilitate communication of the server 140 with various devices connected to it. The interface 240 may also provide a communication pathway for one or more components of the server 140. Examples of such components include, but are not limited to, the processing module(s) 260, the database 290, and the console host 280.
In an embodiment, the processing module(s) 260 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing module(s) 260. In non-limiting examples, described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing module(s) 260 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor 210 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 module(s) 260. In such examples, the server 140 may also comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the server 140 and the processing resource. In other examples, the processing module(s) 260 may be implemented using an electronic circuitry.
In one or more embodiments, the processing module(s) 260 may include one or more modules selected from any of a data acquisition module 252, a computation module 254, a data processing module 256, a selection module 258, an ordering module 262, a display module 264, and other units/modules 266 (not shown). The other units/modules 266 may include, but are not limited to, an analytics module, a resource management module, and the like. Each of the processing module(s) 240 is communicatively coupled to the others.
In an embodiment, the processor 210, using the data acquisition module 252, is configured to retrieve, via a communication interface, input data from the database 290. The input data may include, but not limited to, set of latitude and longitude data points indicating the positional information of each node in the cluster of nodes 102 in the two dimensional plane. The data acquisition module 252 may be configured to retrieve the input data from the database 290 based on a reception an input request from a network management device (not shown) operated by a network operations team for determining the convex hull or the coverage boundary of the cluster of nodes 102.
In an embodiment, the processor 210, using the data processing module 256, is configured to remove duplicate data points from the set of latitude and longitude data points based on an analysis of the retrieved input data (described below with reference to FIG. 3). In an embodiment, the processor 210, using the computation module 254, is configured to determine, from the remaining data points after removal of the duplicate data points, a pair of linear data points separated by a maximum Euclidean distance (described below with reference to FIG. 3) based on the coordinates of the remaining data points. In an embodiment, the processor 210, using the selection module 258, is configured to select one data point from the pair of linear data points using x-y coordinate values of the pair of linear data points. Further, the processor 210, using the ordering module 262, is configured to sort the remaining data points in order of the increasing polar angle measured in a clockwise direction around the selected data point.
In one or more embodiments, the processor 210, using the data processing module 256, is further configured to execute a data processing operation to process the sorted data points iteratively until the bottom-left-corner data point is identified from the data points included in the input data retrieved from the database 290. Furthermore, the processor 210, using the data processing module 256, is configured to determine the convex hull of finite set of data points among the sorted data points based on the execution of the data processing operation. The determined convex hull represents the coverage boundary of the cluster of nodes 102. In an aspect, the processor 210, using the display module 264, may display the determined convex hull on the map interface. A detailed operational steps and functionalities of the processor 210 with reference to the processing module(s) 260 is explained below with reference to FIG. 3.
The transceiver 270 may receive incoming RF signals, such as signals transmitted by the nodes 102, the UEs 108-118, and the network management device in the wireless communication network 100. The transceiver 303 may down-convert the incoming RF signals to generate the IF or baseband signals which may be sent to the receiver processing circuitry. The receiver processing circuitry may transmit the processed baseband signals to the processor 210 for further processing. The transmit processing circuitry may receive analog or digital data from the processor 210 and may encode, multiplex, and/or digitize the outgoing baseband data to generate processed baseband or IF signals. The transceiver 270 may further receive the outgoing processed baseband or IF signals from the transmit processing circuitry and up-converts the baseband or IF signals to RF signals that may be transmitted to a user device and the nodes 102.
The console host 280 may include suitable logic, circuitry, interfaces, and/or codes that may be configured to enable the interface 240 to receive input(s) and/or render output(s). In some aspects of the present disclosure, the console host 280 may include suitable logic, instructions, and/or codes for executing various operations of one or more computer executable applications to host a console on an external user device, by way of which a user can trigger the server 140 to determine the convex hull in order to compute or determine the coverage boundary of the cluster of nodes 102 in the communication network environment.
The database 290 is managed by the processor 210 and configured to store the input data including, but not limited to, positional information of each of the nodes (102-1 to 102-n) in the communication network environment 100. The database 290 may be configured to handle data comprising tables dedicated for storing data points and results of the data processing operations performed by the processing module(s) 260 of the server 140. In a non-limiting example, the database 290 may correspond, but not limited to, a distributed database, a relational database, a non-relational database, a cloud based storage system, or a network file system.
Further, in an alternate embodiment, each module of the processing module(s) 260 (i.e., the data acquisition module 252, the computation module 254, the data processing module 256, the selection module 258, the ordering module 262, and the display module 264) is configured to independently perform various operations of the processor 210, as described herein, without deviating from the scope of the present disclosure.
Although FIG. 2 illustrates one example of the system architecture of the server 140, various changes may be made to FIG. 2, such as the server 140 may include any number of components in addition to those shown in FIG. 2, without deviating from the scope of the present disclosure. Further, various components in FIG. 2 may be combined, further subdivided, or omitted and additional components may be added according to particular needs. For example, in some aspects of the present disclosure, the server 140 may be coupled to an external database that provides data storage space to the server 140.
FIG. 3 illustrates a flowchart depicting a method 300 for determining the coverage boundary of the cluster of nodes 102 in the communication network 100, in accordance with an embodiment of the present disclosure. The method 300 comprises a series of operation steps indicated by blocks 302 through 322. The method 300 starts at block 302. Although the method 300 shows example blocks of steps 302 to 322, in some embodiments, the method 300 may include additional steps, fewer steps or steps in different order than those disclosed in FIG. 3. In other embodiments, the steps 302 through 322 may be combined or may be performed in parallel.
At block 302, the data acquisition module 252 retrieves, from the database 290 via the communication interface, input data including the set of latitude and longitude data points indicating the positional information of each node in the cluster of nodes 102 in the two dimensional plane.
In a non-limiting example, FIG. 4 illustrates an example diagram 400 depicting a pin location of each of the latitude and longitude data points of the input data on the map interface, in accordance with an embodiment of the present disclosure.
At block 304, the data processing module 256 removes the duplicate data points from the set of latitude and longitude data points by analyzing the received input data. The analysis performed by the data processing module 256 to remove duplicate data points includes, but is not limited to, processing input dataset (input data), which includes the latitude and longitude coordinates of the nodes 102 in the communication network environment 100.
For processing the input dataset, at first, the data processing module 256 iterates through the dataset and compares each data point with a previously processed data points to identify a duplicate data point. The duplicate data point may be identified when its latitude and longitude values match an already encountered data point within a predefined threshold. Upon detecting the duplicate data point, redundant entry may be removed by the data processing module 256 from the dataset to ensure only unique positional data points remain in the input dataset. Additionally, the data processing module 256 may also detect collinear points among retained data points by evaluating an alignment of the retained data points by performing a collinearity check based on slope calculations. For instance, if three or more consecutive data points lie on the same straight line, only the two endpoints of that line segment can be retained while intermediate collinear points can be removed. This preprocessing step helps in optimizing the input dataset by reducing unnecessary computational complexity in the subsequent computation and determination of the convex hull.
At block 306, the computation module 254 determines a pair of linear data points separated by a maximum Euclidean distance based on coordinates of the remaining data points (n-1 points) left after the removal of the duplicate data points. In particular, the computation module 254 determines, from the remaining data points, collinear data points separated by the maximum Euclidean distance. The maximum Euclidean distance refers to a maximum possible straight-line distance between any two points of the input dataset in the two-dimensional space. The maximum Euclidean distance may be computed by the computation module 254 using a Euclidean distance formula as given below in equation (1):
d=v((x_2-x_1 )^2+(y_2-y_1 )^2 ) … (1)
where (x1, y1) and (x2, y2) are the longitude and latitude coordinates of the two data points of the input dataset in the two-dimensional space.
At block 308, the selection module 258 selects one data point from the pair of linear data points using the x-y coordinate values of the pair of linear data points. To select one data point from the pair of linear data points, at first the computation module 254 may determine a linear point that has a highest y-coordinate value among the pair of linear data points and thereafter, the selection module 258 may select the linear point having the highest y-coordinate value as the data point. In another aspect, if in a case it is determined by the computation module 254 that each linear data point among the pair of linear data points has same y-coordinate value, then the computation module 254 may determine a linear point among the pair of linear data points having a smallest x-coordinate value. Further, in such case, the selection module 258 may select the linear point having the smallest x-coordinate value as the data point. Thereafter, the selection module 204 places a bottom-most point at a first position.
At block 310, the ordering module 262 sort the remaining data points in order of the increasing polar angle measured in the clockwise direction around the selected data point.
At block 312, the data processing module 256 creates an empty stack in the memory 220 and push first three data points among the sorted data points onto the created empty stack. For instance, points [0], points [1] and points [2] among the sorted data points are pushed onto the empty stack.
At block 314, the data processing module 256 determines whether an orientation of the pushed first three data points forms a clockwise orientation or not. If at block 314 it is determined that the orientation of the pushed first three points is different from the clockwise orientation i.e., the result of the determination at the block 314 is no, then the flow of the method proceeds to block 316.
At block 316, the data processing module 256 removes the pushed data points from the created stack and jumps to next data point in the remaining data points. However, if at block 314, it is determined that the orientation of the pushed first three points forms the clockwise orientation, then the flow of the method 300 proceeds to block 318.
At block 318, the data processing module 256 continues adding the remaining sorted data points to the empty stack.
Further, at block 320, the data processing module 256 keeps iterating the process of blocks 312 through 318 until the bottom-left-corner data point is identified. In particular, the data processing module 256 executes the data processing operation by performing the operations of blocks 312 through 318 iteratively until the bottom-left-corner data point is identified. The bottom-left-corner data point represents a data point having a smallest x-coordinate value. To execute the data processing operation, the data processing module 256 selects the bottom-left-corner data point as a starting reference point, and the ordering module 262 sorts the finite set of data points in order of the increasing polar angle with reference to the selected starting reference point.
Once the bottom-left-corner data point is identified, the flow of the method 300 proceeds to block 322. At block 322, the data processing module 256 determines the convex hull of the finite set of data points among the sorted data points based on the executed data processing operation. By performing the aforementioned operations of blocks 302 through 322, the finite set of data points is determined.
In a non-limiting example, FIG. 5 illustrates an example diagram 700 depicting the pin locations of the finite set of data points among the latitude and longitude data points on the map interface, in accordance with an embodiment of the present disclosure.
Using the finite set of data points, the data processing module 256 generates the convex hull and determines the coverage boundary of the cluster of nodes 102 based on the generated convex hull.
In a non-limiting example, FIG. 6 illustrates an example diagram 500 depicting the convex hull formed by the pin locations of the finite set of data points on the map interface, in accordance with an embodiment of the present disclosure.
In particular, the data processing module 256 determines or computes the convex hull of the finite set of points in the plane with time complexity O(nlogn). The processing module(s) 260 along with the processor 210 performs the operations mentioned at blocks 302 through 322 to find all vertices of the convex hull ordered along its boundary to determine the coverage boundary of the cluster of nodes 102 in the communication network environment 100. In particular, the final convex hull consists of all the vertices ordered along its perimeter, forming a closed polygon representing the coverage boundary of the cluster of nodes 102. In an example, the closed polygon is depicted by reference 602 in FIG. 6.
O(nlogn) represents an upper bound on a number of operations performed in the computational process of determining the convex hull in a worst case as input size “n” grows with each operation. In general, O(nlogn) is a combination of a linear complexity (O(n)) and a logarithmic complexity (O(log n)), indicating that the computational process grows slightly faster than linear but much slower than quadratic complexity (O(n2)). In the computational process of determining the convex hull, O(nlogn) may arise due to sorting operation where data points are sorted in the order of the increasing polar angle of the data points, and the construction of the convex hull (O(n)) which processes each point at most twice.
The sorting operation may be typically implemented using an efficient comparison-based sorting algorithm which requires O(nlogn) time to sort the data points in the order of the increasing polar angle. On the other hand, in the formation of the convex hull, each data point may be processed at most twice (once for adding the data points to created stack and once for removing the data points from the created stack), leading to O(n) complexity. Since, the sorting operation dominates overall complexity and the total time complexity of the computation of convex hull remains O(nlogn).
The embodiments described herein, including systems, methods/processes, and/or apparatuses, may be implemented using well known servers/computers. For example, using an application server, a cloud server, and the like. Further, the method 300 described using the flowchart depicted in FIG. 3 can be implemented using one or more computer systems.
FIG. 7 depicts a block diagram of an exemplary computer system 700 in which embodiments of the present disclosure may be implemented. The computer system 700 can be any commercially available and well known computer capable of performing the functions described herein. The computer system 700 may be any type of computer, including a server, a web server, a cloud server, etc.
The computer system 700 includes one or more processors (also called central processing units, or CPUs), such as a processor 704. The processor 704 is connected to a communication infrastructure 702, such as a communication bus. In some embodiments, the processor 704 can simultaneously operate multiple computing threads.
The computer system 700 also includes a primary or main memory 706, such as random access memory (RAM). The main memory 706 has stored therein control logic 724 (computer software), and data.
The computer system 700 also includes one or more secondary storage devices 708. The secondary storage devices 708 include, for example, a hard disk drive 710 and/or a removable storage device or drive 712, as well as other types of storage devices, such as memory cards and memory sticks. For instance, the computer system 700 may include an industry standard interface, such a universal serial bus (USB) interface for interfacing with devices such as a memory stick. The removable storage drive 712 represents a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup, etc.
The removable storage drive 712 interacts with a removable storage unit 714. The removable storage unit 714 includes a computer useable or readable storage medium 720 having stored therein computer software 722 (control logic) and/or data. The removable storage unit 714 represents a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, or any other computer data storage device. The removable storage drive 712 reads from and/or writes to removable storage unit 714 in a well-known manner.
The computer system 700 may also include input interface/output interface/display devices 718, such as monitors, keyboards, pointing devices, etc.
The computer system 700 further includes a communication interface or a network interface 716. The communication interface 716 enables the computer system 700 to communicate with remote systems and devices. For example, communication interface 716 allows the computer system 700 to communicate over communication networks or mediums 728, such as LANs, WANs, the Internet, etc. The network interface 716 may interface with remote sites or networks via wired or wireless connections.
Control logic 726 may be transmitted to and from the computer system 700 via the communication medium 728. More particularly, the computer system 700 may receive and transmit carrier waves (electromagnetic signals) modulated with control logic 726 via the communication medium 728.
Embodiments of the present technology may be described herein with reference to flowchart illustrations of methods and systems according to embodiments of the technology, and/or procedures, algorithms, steps, operations, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of the flowchart, and combinations of blocks (and/or steps) in the flowchart, as well as any procedure, algorithm, step, operation, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and/or software including one or more computer program instructions embodied in computer-readable program code. As will be appreciated, any such computer program instructions may be executed by one or more computer processors, including without limitation a general-purpose computer or special purpose computer, or other programmable processing apparatus to perform a group of operations comprising the operations or blocks described in connection with the disclosed methods.
Further, these computer program instructions, such as embodied in computer-readable program code, may also be stored in one or more computer-readable memory or memory devices (for example, the memory 220) that can direct a computer processor or other programmable processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory or memory devices produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s).
It will further be appreciated that the term “computer program instructions” as used herein refer to one or more instructions that can be executed by the one or more processors (for example, the processor 210) to perform one or more functions as described herein. The instructions may also be stored remotely such as on a server, or all or a portion of the instructions can be stored locally and remotely.
One or more embodiments disclosed herein may provide one or more technical advantages and other advantages. The embodiments disclosed herein provide an efficient mechanism for determining the convex hull of the finite set of data points derived from input data containing latitude and longitude coordinates of the network nodes. By leveraging the convex hull computation, the system ensures that the determined coverage boundary accurately encloses the cluster of nodes while minimizing computational complexity. A key advantage of this approach is that it eliminates the risk of line collisions or intersections, which can otherwise introduce inaccuracies in defining the network’s coverage area. This ensures a more precise and reliable estimation of coverage boundaries, which is essential for network planning and optimization.
Further, in certain embodiments, the system incorporates a preprocessing step to remove duplicate latitude and longitude data points before executing the operational steps involved in determining the convex hull. The preprocessing significantly reduces the overall data size, leading to a reduction in computational overhead and processing time. As a result, the system and method disclosed herein enables efficient resource management within the network, minimizing unnecessary data processing, and conserving computational power. The optimized data handling enhances the scalability of the system, allowing it to process large volumes of geospatial data without excessive latency or hardware constraints.
Beyond improvement in the computational efficiency, the system provides enhanced accuracy in identifying coverage gaps in the coverage areas of the nodes in the communication network by precisely determining the convex hull as the coverage boundary of the cluster of nodes. This can help the network operators to pinpoint underserved areas more effectively, network expansion, interference management, and deployment of additional infrastructure, and as a result overall network reliability and user experience can be improved.
Moreover, the disclosed system and method enhances automation in network coverage analysis by reducing manual intervention in determining coverage boundaries. The systematic identification of the convex hull using a structured set of operations improves consistency in coverage assessments across various network regions. This can contribute to enhanced decision-making for network engineers or network operators, enabling more data-driven strategies for optimizing signal distribution and network resource allocation.
Those skilled in the art will appreciate that the methodology described herein in the present disclosure may be carried out in other specific ways than those set forth herein in the above disclosed embodiments without departing from essential characteristics and features of the present invention. The above-described embodiments are therefore to be construed in all aspects as illustrative and not restrictive.
The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein. Any combination of the above features and functionalities may be used in accordance with one or more embodiments.
In the present disclosure, each of the embodiments has been described with reference to numerous specific details which may vary from embodiment to embodiment. The foregoing description of the specific embodiments disclosed herein may reveal the general nature of the embodiments herein that others may, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications are intended to be comprehended within the meaning of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and is not limited in scope.
LIST OF REFERENCE NUMERALS
The following list is provided for convenience and in support of the drawing figures and as part of the text of the specification, which describe innovations by reference to multiple items. Items not listed here may nonetheless be part of a given embodiment. For better legibility of the text, a given reference number is recited near some, but not all, recitations of the referenced item in the text. The same reference number may be used with reference to different examples or different instances of a given item. The list of reference numerals is:
100 - Communication network/communication network environment
102-1 - 102-n - GNodeB (gNB)/nodes
108-118 – User Equipment’s (UEs)
120 - Element Management System (EMS) cluster
122, 124 – EMSs
130 - Network
140 - Server
210 - Processor
220 - Memory
220A - Instructions
230 - Network Communication Manager
240 - Interface(s)
260 - Processing modules(s)
252 - Data acquisition module
254 - Computation module
256 - Data processing module
258 - Selection module
262 - Ordering module
264 - Display module
266 - Other units/modules
270 - Transceiver
280 - Console host
290 - Database
292 - Communication bus
300 - Method for determining coverage boundary of cluster of nodes (102-1 through 102-n) in the communication network 100
400 - Example diagram depicting an example of latitude and longitude data points of input data
500 - Example diagram depicting an example of finite set of data points among the latitude and longitude data points
600 - Example diagram of a convex hull of the finite set of data points
700 - Computer system
702 - Communication infrastructure
704 - Processor of computer system 700
706 - Main memory
708 - Secondary storage devices
710 - Hard disk drive
712 - Removable storage device
714 - Removable storage unit
716 - Communication/Network interface
718 - Input interface/output interface/display devices
720 - Readable storage medium
- Software
726 - Control logic
728 - Communication networks or mediums
,CLAIMS:1. A method (300) for determining a coverage boundary of a cluster of nodes (102) in a communication network (100), the method (300) comprising:
retrieving (302), by a data acquisition module (252) via a communication interface, input data from a database (290), the input data includes a set of latitude and longitude data points indicating positional information of the cluster of nodes (102) in a two dimensional plane;
removing (304), by a data processing module (256), duplicate data points from the set of latitude and longitude data points based on an analysis of the retrieved input data;
determining (306), by a computation module (254) from remaining data points after removal of the duplicate data points, a pair of linear data points separated by a maximum Euclidean distance based on coordinates of the remaining data points;
selecting (308), by a selection module (258), one data point from the pair of linear data points using x-y coordinate values of the pair of linear data points;
sorting (310), by an ordering module (262), the remaining data points in order of increasing polar angle of the remaining data points, wherein the polar angle is measured in a clockwise direction around the selected data point;
executing (320), by the data processing module (256), a data processing operation to process the sorted data points iteratively until a bottom-left-corner data point is identified; and
determining (322), by the data processing module (256), a convex hull of finite set of data points among the sorted data points based on the execution of the data processing operation, wherein the convex hull represents the coverage boundary of the cluster of nodes (102).

2. The method (300) as claimed in claim 2, wherein the execution of the data processing operation comprises:
selecting, by the selection module (258), the bottom-left-corner data point as a starting reference point, wherein the bottom-left-corner data point represents a data point having a smallest x-coordinate value; and
sorting, by the ordering module (262), the finite set of data points in order of the increasing polar angle with reference to the selected starting reference point.

3. The method (300) as claimed in claim 2, wherein the execution of the data processing operation further comprises:
creating (312), by the by the data processing module (256), an empty stack in a memory (220);
pushing (312), by the data processing module (256), first three data points among the sorted data points onto the empty stack, wherein the first three data points includes the bottom-left-corner data point and two data points from the sorted data points;
determining (314), by the data processing module (256), whether an orientation of the pushed first three data points forms a clockwise orientation; and
continuing (318), by the data processing module (256), to add remaining sorted data points to the empty stack upon determining that the orientation of the pushed first three points forms the clockwise orientation.

4. The method (300) as claimed in claim 3, wherein the execution of the data processing operation further comprises removing (316), by the data processing module (256), the pushed data points from the empty stack upon determining that the orientation of the pushed first three points forms an orientation different from the clockwise orientation.

5. The method (300) as claimed in claim 1, wherein, for selecting the data point from the pair of linear data points, the method (300) comprises:
determining, by the computation module (254), a linear point that has a highest y-coordinate value among the pair of linear data points; and
selecting, by the selection module (258) as the data point, the linear point having the highest y-coordinate value among the two linear data points.

6. The method (300) as claimed in claim 5, wherein, for selecting the data point from the pair of linear data points, the method (300) further comprises:
determining, by the computation module (254), whether each linear data point among the pair of linear data points has same y-coordinate value;
determining, by the computation module (254) upon a determination that each linear data point among the pair of linear data points has the same y-coordinate value, a linear point among the pair of linear data points having a smallest x-coordinate value; and
selecting, by the selection module (258) as the data point, the linear point having the smallest x-coordinate value from the pair of linear data points.

7. The method (300) as claimed in claim 1, further comprising determining, by the computation module (254), the maximum Euclidean distance between the pair of linear data points by calculating a straight line distance between the pair of linear data points using the x-y coordinate values of the pair of linear data points.

8. The method (300) as claimed in claim 1, further comprising displaying, by a display module (264), the determined convex hull on a map interface.

9. A system (140) for determining a coverage boundary of a cluster of nodes (102) in a communication network (100), comprising:
a data acquisition module (252) configured to retrieve, via a communication interface, input data from a database (290), the input data includes a set of latitude and longitude data points indicating positional information of the cluster of nodes (102) in a two dimensional plane;
a data processing module (256) configured to remove duplicate data points from the set of latitude and longitude data points based on an analysis of the retrieved input data;
a computation module (254) configured to determine, from remaining data points after removal of the duplicate data points, a pair of linear data points separated by a maximum Euclidean distance based on coordinates of the remaining data points;
a selection module (258) configured to select one data point from the pair of linear data points using x-y coordinate values of the pair of linear data points; and
an ordering module (262) configured to sort the remaining data points in order of increasing polar angle measured in a clockwise direction around the selected data point, wherein the data processing module (256) is further configured to:
execute a data processing operation to process the sorted data points iteratively until a bottom-left-corner data point is identified; and
determine a convex hull of finite set of data points among the sorted data points based on the execution of the data processing operation, wherein the convex hull represents the coverage boundary of the cluster of nodes (102).

10. The system (140) as claimed in claim 9, wherein, to execute the data processing operation, the data processing module (256) is further configured to select the bottom-left-corner data point as a starting reference point, wherein
the bottom-left-corner data point represents a data point having a smallest x-coordinate value, and
the ordering module (262) is further configured to sort the finite set of data points in order of the increasing polar angle with reference to the selected starting reference point.

11. The system (140) as claimed in claim 10, wherein, to execute the data processing operation, the data processing module (256) is further configured to:
create an empty stack in a memory (220);
push first three data points among the sorted data points onto the empty stack, wherein the first three data points includes the bottom-left-corner data point and two data points from the sorted data points;
determine whether an orientation of the pushed first three data points forms a clockwise orientation; and
continue adding remaining sorted data points to the empty stack upon determining that the orientation of the pushed first three points forms the clockwise orientation.

12. The system (140) as claimed in claim 11, wherein to execute the data processing operation, the data processing module (256) is further configured to remove the pushed data points from the empty stack upon determining that the orientation of the pushed first three points forms an orientation different from the clockwise orientation.

13. The system (140) as claimed in claim 9, wherein, to select the data point from the pair of linear data points, the computation module (254) is configured to determine a linear point that has a highest y-coordinate value among the pair of linear data points, and wherein the selection module (258) is configured to select, as the data point, the linear point having the highest y-coordinate value among the two linear data points.

14. The system (140) as claimed in claim 13, wherein, to select the data point among the two linear data points, the computation module (254) is further configured to:
determine whether each linear data point among the pair of linear data points has same y-coordinate value; and
determine, upon a determination that each linear data point among the pair of linear data points has the same y-coordinate value, a linear point among the pair of linear data points having a smallest x-coordinate value, wherein the selection module (258) is further configured to select, as the data point, the linear point having the smaller x-coordinate value from the pair of linear data points.

15. The system (140) as claimed in claim 9, wherein the computation module (254) is further configured to determining the maximum Euclidean distance between the pair of linear data points by calculating a straight line distance between the pair of linear data points using the x-y coordinate values of the pair of linear data points.

16. The system (140) as claimed in claim 9, further comprising a display module (264) configured to display the determined convex hull on a map interface.

Documents

Application Documents

# Name Date
1 202421026220-STATEMENT OF UNDERTAKING (FORM 3) [29-03-2024(online)].pdf 2024-03-29
2 202421026220-PROVISIONAL SPECIFICATION [29-03-2024(online)].pdf 2024-03-29
3 202421026220-POWER OF AUTHORITY [29-03-2024(online)].pdf 2024-03-29
4 202421026220-FORM 1 [29-03-2024(online)].pdf 2024-03-29
5 202421026220-DRAWINGS [29-03-2024(online)].pdf 2024-03-29
6 202421026220-DECLARATION OF INVENTORSHIP (FORM 5) [29-03-2024(online)].pdf 2024-03-29
7 202421026220-FORM-26 [17-04-2024(online)].pdf 2024-04-17
8 202421026220-Proof of Right [02-08-2024(online)].pdf 2024-08-02
9 202421026220-FORM 18 [25-02-2025(online)].pdf 2025-02-25
10 202421026220-DRAWING [25-02-2025(online)].pdf 2025-02-25
11 202421026220-CORRESPONDENCE-OTHERS [25-02-2025(online)].pdf 2025-02-25
12 202421026220-COMPLETE SPECIFICATION [25-02-2025(online)].pdf 2025-02-25
13 202421026220-Request Letter-Correspondence [26-02-2025(online)].pdf 2025-02-26
14 202421026220-Power of Attorney [26-02-2025(online)].pdf 2025-02-26
15 202421026220-Form 1 (Submitted on date of filing) [26-02-2025(online)].pdf 2025-02-26
16 202421026220-Covering Letter [26-02-2025(online)].pdf 2025-02-26
17 202421026220-ORIGINAL UR 6(1A) FORM 1-060325.pdf 2025-03-10
18 Abstract.jpg 2025-04-15