Method and apparatus for automatically prioritizing planned network sites

JP2025516340A5Active Publication Date: 2025-10-24RAKUTEN SYMPHONY INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024565141
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-09-07
Publication Date
2025-10-24
Estimated Expiration
2042-09-07

AI Technical Summary

Technical Problem

Current communication systems lack an automated process for prioritizing planned network sites, which is crucial for optimizing network performance and addressing customer complaints in smaller regions.

Method used

A method and apparatus that utilize microservices to determine coverage availability and geographical conditions of planned network sites, assigning priority levels based on these factors, and generating reports for each site.

Benefits of technology

This solution enables the automated prioritization of network sites, improving network performance, reducing customer complaints, and increasing revenue by ensuring that high-priority sites are deployed first.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for planning network sites includes receiving a dataset of a plurality of planned network sites. The method further includes executing a coverage availability microservice to determine the coverage availability of each of the plurality of planned network sites within the plurality of planned network sites. The method further includes executing one or more microservices to determine the geographical conditions of each of the plurality of planned network sites within the plurality of network sites. The method further includes executing a priority microservice to assign one or more priority levels to each of the plurality of planned network sites among the plurality of planned network sites, based at least on the determined coverage availability for each of the planned network sites and the determined geographical conditions for each of the planned network sites. The method further includes executing a reporting microservice to create a report for each of the plurality of planned network sites of the plurality of network sites.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to communication systems, and more particularly to methods and apparatuses for automatically prioritizing planned network sites.

Background Art

[0002] The deployment of network sites is an important process for maintaining network performance. In particular, placing network sites at the optimal locations at the optimal times can significantly improve network performance and thereby resolve customer complaints. However, currently, there is no automated process for planning and network site deployment. In particular, in smaller regions within a country, there is neither centralized planning nor a process for prioritizing sites. Therefore, it is necessary to determine which sites should be developed prior to other sites in order to resolve customer complaints through improved network performance and generate more revenue within the existing vicinity. Improvements are presented herein.

[0003] Improvements are presented herein. These improvements may also be applicable to other multi-connectivity technologies and telecommunications standards that employ these technologies.

Summary of the Invention

Means for Solving the Problems

[0004] The following presents a simplified summary of one or more embodiments of the present disclosure in order to provide a basic understanding of such embodiments. This summary is not an extensive overview of all contemplated embodiments, nor is it intended to identify key or critical elements of all embodiments or to delineate the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more embodiments of the present disclosure in a simplified form as a prelude to the more detailed description that is presented later.

[0005] A method, apparatus, and non-transitory computer-readable medium for automatically prioritizing planned network sites are disclosed by the present disclosure.

[0006] According to an exemplary embodiment, a method executed in a processor to plan network sites includes receiving a dataset of a plurality of planned network sites. The method further includes executing a coverage availability microservice to determine the coverage availability of each planned network site within the plurality of planned network sites. The method further includes executing one or more microservices to determine the geographical conditions of each planned network site within the plurality of network sites. The method further includes executing a priority microservice based on at least the determined coverage availability for each planned network site and the determined geographical conditions for each planned network site to assign one or more priority levels to each planned network site among the plurality of planned network sites. The method further includes executing a reporting microservice to create a report for each planned network site among the plurality of network sites, the report including at least the determined coverage availability, the determined geographical conditions, and the assigned one or more priority levels for each planned network site.

[0007] According to an exemplary embodiment, a device for planning network sites includes at least one memory configured to store computer program code, and at least one processor configured to access the at least one memory and operate as instructed by the computer program code. The program code includes reception code configured to cause at least one of the at least one processor to receive a dataset of a plurality of planned network sites. The program code further includes first execution code configured to cause at least one of the at least one processor to execute a coverage availability microservice to determine the coverage availability of each planned network site within the plurality of planned network sites. The program code further includes second execution code configured to cause at least one of the at least one processor to execute one or more microservices to determine the geographical conditions of each planned network site within the plurality of network sites. The program code further includes third execution code configured to cause at least one of the at least one processor to execute a priority microservice to assign one or more priority levels to each planned network site among the plurality of planned network sites based at least on the determined coverage availability of each planned network site and the determined geographical conditions for each planned network site. The program code includes fourth execution code configured to cause at least one of the at least one processor to execute a reporting microservice to create a report for each planned network site among the plurality of network sites, the report including at least the determined coverage availability, the determined geographical conditions, and the one or more assigned priority levels for each planned network site.

[0008] According to an exemplary embodiment, there is provided a non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to execute a method for planning network sites. The method includes receiving a dataset of a plurality of planned network sites. The method further includes executing a coverage availability microservice to determine the coverage availability of each planned network site within the plurality of planned network sites. The method further includes executing one or more microservices to determine the geographical conditions of each planned network site within the plurality of network sites. The method further includes executing a priority microservice to assign one or more priority levels to each planned network site among the plurality of planned network sites, based at least on the determined coverage availability for each planned network site and the determined geographical conditions for each planned network site. The method further includes executing a reporting microservice to create a report for each planned network site among the plurality of network sites, the report including at least the determined coverage availability, the determined geographical conditions, and the assigned one or more priority levels for each planned network site.

[0009] Additional embodiments will be described in the following description, and will be apparent in part from the description, and may also be learned by practice of the presented embodiments of the disclosure.

Brief Description of the Drawings

[0010] The above and other aspects, features, and aspects of the embodiments of the present disclosure will become apparent from the following description when taken in conjunction with the accompanying drawings.

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

[0012] The following detailed description of the exemplary embodiments refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.

[0013] The foregoing disclosure provides examples and explanations, but is not intended to be exhaustive or to limit the implementation forms to the exact forms disclosed. Modifications and variations are possible in light of the above disclosure or may be obtained from the implementation of the implementation forms. Furthermore, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). Additionally, in the flowcharts and operation descriptions provided below, one or more operations may be omitted, one or more operations may be added, one or more operations may be (at least partially) executed simultaneously, and the order of one or more operations may be switched.

[0014] It will be apparent that the systems and / or methods described herein can be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation form. Therefore, the operations and behaviors of the systems and / or methods are described herein without reference to specific software code, and it is understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0015] Certain combinations of features are recited in the claims and / or disclosed herein, but these combinations do not limit the disclosure of possible implementations. Indeed, many of these features can be combined in ways not specifically recited in the claims and / or not disclosed herein. Each of the dependent claims listed below can depend directly on only one claim, but the disclosure of possible implementations includes each dependent claim in combination with all other claims in the claim set.

[0016] Elements, acts, or instructions used in this specification should not be construed as important or essential unless explicitly described as such. Also, as used in this specification, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." When only one item is intended, the term "one" or similar language is used. Also, as used in this specification, terms such as "has," "have," "having," "include," "including," etc. are intended to be non-limiting terms. Further, the phrase "based on" shall mean "at least partially based on" unless otherwise specified. Further, expressions such as "at least one of [A] and [B]" or "at least one of [A] or [B]" should be understood to include only A, only B, or both A and B.

[0017] Throughout this specification, references to "one embodiment," "an embodiment," or similar language mean that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment of the solution. Thus, throughout this specification, the phrases "in one embodiment," "in an embodiment," and similar language do not necessarily refer to the same embodiment, but may.

[0018] Furthermore, the features, advantages, and characteristics described in this disclosure may be combined in any suitable manner in one or more embodiments. One of ordinary skill in the art will recognize, in light of the description of this specification, that the disclosure may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages that may not be present in all embodiments of the disclosure may be recognized in a particular embodiment.

[0019] Embodiments of the present disclosure are directed to automated prioritization of planned network sites that enables an engineering team to know which sites should be diffused / deployed first in order to address highly utilized cell / site and customer complaint issues. Embodiments of the present disclosure provide a significantly advantageous feature of prioritizing sites that improves or optimizes network performance while generating more revenue from existing neighborhoods and reduces the churn rate (e.g., customer turnover rate) in areas with high customer complaints due to network problems. Embodiments of the present disclosure speed up the deployment of network sites. For example, if there are thousands of planned network sites, embodiments of the present disclosure can indicate which sites to prioritize.

[0020] FIG. 1 is a diagram of an exemplary device for implementing embodiments of the present disclosure. Device 100 can correspond to any type of known computer, server, or data processing device. For example, device 100 can include a processor, a personal computer (PC), a printed circuit board (PCB) with a computing device, a minicomputer, a mainframe computer, a microcomputer, a telephone computing device, a wired / wireless computing device (e.g., a smartphone, a personal digital assistant (PDA)), a laptop, a tablet, a smart device, or any other similar functional device.

[0021] In some embodiments, as shown in FIG. 1, device 100 can include a set of components such as processor 120, memory 130, storage component 140, input component 150, output component 160, and communication interface 170.

[0022] Bus 110 may include one or more components that enable communication among a set of components of device 100. For example, bus 110 may be a communication bus, a crossover bar, a network, or the like. Although bus 110 is shown as a single line in FIG. 1, bus 110 may be implemented using multiple (two or more) connections among a set of components of device 100. The present disclosure is not limited in this regard.

[0023] Device 100 may include one or more processors, such as processor 120. Processor 120 may be implemented in hardware, firmware, and / or a combination of hardware and software. For example, processor 120 may include a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a general-purpose single-chip or multi-chip processor, or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, or any conventional processor, controller, microcontroller, or state machine. Processor 120 may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors cooperating with a DSP core, or any other such configuration. In some embodiments, certain processes and methods may be performed by circuitry specific to a given function.

[0024] Processor 120 may control the overall operation of device 100 and / or a set of components of device 100 (e.g., memory 130, storage component 140, input component 150, output component 160, and communication interface 170).

[0025] Device 100 may further include memory 130. In some embodiments, memory 130 may include random access memory (RAM), read only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory, magnetic memory, optical memory, and / or another type of dynamic or static storage device. Memory 130 may store information and / or instructions for use (e.g., execution) by processor 120.

[0026] Storage component 140 of device 100 may store information and / or computer-readable instructions and / or code related to the operation and use of device 100. For example, storage component 140 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a universal serial bus (USB) flash drive, a Personal Computer Memory Card International Association (PCMCIA) card, a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium, along with a corresponding drive.

[0027] Device 100 may further include an input component 150. The input component 150 may include one or more components that enable Device 100 to receive information via user input (such as a touch screen, keyboard, keypad, mouse, stylus, button, switch, microphone, camera, etc.). Alternatively or additionally, the input component 150 may include sensors for sensing information (such as a global positioning system (GPS) component, accelerometer, gyroscope, actuator, etc.).

[0028] The output component 160 of Device 100 may include one or more components (such as a display, liquid crystal display (LCD), light-emitting diode (LED), organic light emitting diode (OLED), tactile feedback device, speaker, etc.) that can provide output information from Device 100.

[0029] Device 100 can further include a communication interface 170. The communication interface 170 can include a receiver component, a transmitter component, and / or a transceiver component. The communication interface 170 can enable Device 100 to establish a connection with and / or transfer communications to another device (e.g., a server, another device). The communication can be achieved via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 170 can enable Device 100 to receive information from and / or provide information to another device. In some embodiments, the communication interface 170 can provide communication with another device via a network such as a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a private network, an ad hoc network, an intranet, the Internet, an optical fiber-based network, a cellular network (e.g., a fifth generation (5G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a telephone network (e.g., a Public Switched Telephone Network (PSTN)), etc., and / or a combination of these or other types of networks. Alternatively or additionally, the communication interface 170 can provide communication with another device via a device-to-device (D2D) communication link such as FlashLinQ, WiMedia, Bluetooth, ZigBee, Wi-Fi, LTE, 5G, etc.In other embodiments, communication interface 170 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, and the like.

[0030] Device 100 may be included in UE 210 and / or server 260 and can execute one or more processes described herein. Device 100 can perform operations based on processor 120 that executes computer-readable instructions and / or code that may be stored by a non-transitory computer-readable medium such as memory 130 and / or storage component 140. The computer-readable medium may refer to a non-transitory memory device. The memory device may include a memory space within a single physical memory device and / or a memory space distributed across multiple physical memory devices.

[0031] The computer-readable instructions and / or code may be read into memory 130 and / or storage component 140 from another computer-readable medium or from another device via communication interface 170. When executed, or upon execution, by processor 120, the computer-readable instructions and / or code stored in memory 130 and / or storage component 140 may cause device 100 to execute one or more processes described herein.

[0032] Alternatively or additionally, a hardwired circuit may be used instead of, or in combination with, software instructions to execute one or more processes described herein. Accordingly, the embodiments described herein are not limited to any particular combination of hardware circuitry and software.

[0033] The number and arrangement of components shown in FIG. 1 are provided as an example. In practice, there may be additional components, fewer components, different components, or components arranged differently compared to those shown in FIG. 1. Further, two or more components shown in FIG. 1 may be implemented within a single component, or a single component shown in FIG. 1 may be implemented as a plurality of distributed components. Additionally or alternatively, a set of (one or more) components shown in FIG. 1 can perform one or more functions described as being performed by another set of components shown in FIG. 1.

[0034] FIG. 2 is a diagram showing an example of a communication system according to various embodiments of the present disclosure. The communication system 200 may include one or more user equipment (UE) 210, one or more base stations 220, at least one transport network 230, at least one core network 240, and one or more servers 260. The device 100 (FIG. 1) may be incorporated into the UE 210 and / or the server 260.

[0035] One or more UEs 210 can access at least one core network 240 and / or IP services 250 via a connection to one or more base stations 220 on the RAN domain 224 and through at least one transport network 230. One or more UEs 210 can further connect to the IP services 250 via a Wi-Fi connection or a wired connection. One or more UEs 210 can upload information to or download information from one or more servers 260 via one or more base stations 220 or through a Wi-Fi or wired connection.

[0036] Examples of UE210 may include cellular phones, smartphones, session initiation protocol (SIP) phones, laptops, personal digital assistants (PDAs), satellite radios, global positioning system (GPS), multimedia devices, video devices, digital audio players (e.g., MP3 players), cameras, gaming consoles, tablets, smart devices, wearable devices, vehicles, electric meters, gas pumps, large or small kitchen appliances, healthcare devices, implants, sensors / actuators, displays, or any other similarly functioning devices. Some of the one or more UE210 may be referred to as Internet-of-Things (IoT) devices (e.g., parking meters, gas pumps, toasters, vehicles, heart monitors, etc.). The one or more UE210 may be referred to as a station, mobile station, subscriber station, mobile unit, subscriber unit, radio unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless terminal, remote terminal, handset, user agent, mobile agent, client, or some other suitable term.

[0037] One or more base stations 220 may wirelessly communicate with one or more UE210 via the RAN domain 224. Each base station of the one or more base stations 220 may provide communication coverage to one or more UE210 located within the geographic coverage area of that base station 220. In some embodiments, as shown in FIG. 2, the base station 220 may transmit one or more beamformed signals to one or more UE210 in one or more transmission directions. One or more UE210 may receive the beamformed signals from the base station 220 in one or more reception directions. Alternatively or additionally, one or more UE210 may transmit beamformed signals to the base station 220 in one or more transmission directions. The base station 220 may receive the beamformed signals from one or more UE210 in one or more reception directions.

[0038] One or more base stations 220 may include macro cells (e.g., high-power cellular base stations) and / or small cells (e.g., low-power cellular base stations). Small cells may include femto cells, pico cells, and micro cells. The base station 220, whether it is a macro cell or a large cell, may include an access point (AP), an evolved (or evolved universal terrestrial radio access network (E-UTRAN)) Node B (eNB), a next-generation Node B (gNB), or any other type of base station known to those skilled in the art, and / or may be referred to as such.

[0039] One or more base stations 220 may be configured to interface with (e.g., establish a connection, transfer data, etc.) at least one core network 240 through at least one transport network 230. In addition to other functions, one or more base stations 220 may perform one or more of the following functions, namely, transfer of data (e.g., uplink data) received from one or more UEs 210 to at least one core network 240 via at least one transport network 230, and transfer of data (e.g., downlink data) received from at least one core network 240 to one or more UEs 210 via at least one transport network 230.

[0040] The transport network 230 may transfer data (e.g., uplink data, downlink data) and / or signaling between the RAN domain 224 and the CN domain 244. For example, the transport network 230 may provide one or more backhaul links between one or more base stations 220 and at least one core network 240. The backhaul link may be wired or wireless.

[0041] The core network 240 may be configured to provide one or more services (e.g., enhanced mobile broadband (eMBB), ultra-reliable low-latency communications (URLLC), and massive machine type communications (mMTC), etc.) to one or more UEs 210 connected to the RAN domain 224 via the TN domain 234. Alternatively or additionally, the core network 240 may act as an entry point for the IP service 250. The IP service 250 may include the Internet, an intranet, an IP multimedia subsystem (IMS), streaming services (e.g., video, audio, games, etc.), and / or other IP services.

[0042] Figure 3 shows an exemplary planned network site 300. The planned network site may be in the vicinity of one or more base stations 302 and 304 that may be similar to the base station 220 (Figure 2). The planned network site may also be in the vicinity of one or more competitor sites 306. The planned network site may be associated with one or more vehicles 300A to indicate the availability of in-vehicle (e.g., vehicle mobility) coverage. The planned network site may be associated with one or more buildings 300B - 300D. The presence of buildings 300B - 300D may be used to determine the population density of the planned network site.

[0043] Figure 4 shows an exemplary system 400 including one or more microservices for implementing embodiments of the present disclosure. The system 400 may be implemented in a server 260 where the UE 210 may utilize the microservices.

[0044] In some embodiments, system 400 may include a data collection microservice 402. The data collection microservice can prepare a dataset of a planned site, such as planned network site 300. The data collection microservice can prepare a dataset having planned sites with a predetermined number of years in service (e.g., pull proposed sites having a number of years in service greater than six months).

[0045] In some embodiments, system 400 may include a coverage availability microservice 404. The coverage availability microservice 404 can determine the type of network coverage available at a planned network site. The type of network coverage can include, but is not limited to, outdoor coverage, in-vehicle coverage (e.g., vehicle mobility), and indoor coverage.

[0046] In some embodiments, system 400 may include a coverage status microservice 406. The coverage status microservice 406 can determine whether a planned network site is within a poor coverage polygon. For example, the coverage status microservice 406 can indicate a lack of network service or a poor coverage hole or service gap, thereby increasing the need and priority for the network site. The terms "coverage hole", "service gap", and "service gap polygon" may be used interchangeably and can refer to a polygon area on a smart network coverage layer that indicates a polygon area of a poor coverage zone in the network. Systems, methods, and devices can periodically generate service gap polygons for each band and provide optimization proposals for improving coverage while further improving the tracking of service gaps.

[0047] When identifying service gaps or coverage holes, the system may utilize various inputs. One input may include an integrated coverage layer. The integrated coverage layer may be a smart layer generated by overlaying planned prediction data and live test data and collecting samples from users. There may be an updated integrated coverage layer for each band. Another input may include a site database. The site database may store information about all sites in the network, including information regarding latitude, longitude, azimuth, band details, on-air status, on-air date, base station (e.g., eNB) identifier (ID), evolved universal terrestrial radio access network (E-UTRAN) cell global identifier (ECGI), antenna height, electrical tilt, mechanical tilt, transmit power, reference signal receive power (RSRP), etc.

[0048] Other inputs may include clutter data including information about area morphology (i.e., user or access density), radio frequency (RF) clusters and boundaries including area boundaries, the best server plot predicting the coverage of a site calculated during the planning phase (e.g., generated from a prediction tool for on-air sites), drive test tools such as net velocity that can be used to collect, geolocation data that can be passively collected data used over a predetermined amount of time (e.g., 7 days), cell-specific preventative measurement (PM) counters such as call drop rate, key performance indicator (KPI), radio resource control (RRC) attempts, RRC re-establishment attempts, average control quality indicator (CQI), etc. An exemplary embodiment for identifying service gaps or poor coverage polygons is disclosed in PCT / US2022 / 032939 filed on June 10, 2022, the entire content of which is incorporated herein by reference.

[0049] In some embodiments, system 400 may include a morphology analysis microservice 408. The morphology analysis microservice 408 can determine the density of a planned network site and determine whether the planned network site is an urban area or a remote area. As an example, the morphology analysis microservice 408 can determine the population density within a predetermined radius of the planned network site and determine whether the planned network site is an urban area or a remote area. The predetermined radius may be 200 meters. A planned network site determined to be an urban area may have a higher priority than a planned network site determined to be a remote area.

[0050] In some embodiments, system 400 may include a site analysis microservice 410. The site analysis microservice 410 can calculate the distance between a serving site and a planned network site. The site analysis microservice 410 may also calculate the distance between the nearest site and the planned site. For example, referring to FIG. 3, a site having station 302 may be closer to the planned network site 300 than a site having station 302 (e.g., the site having station 304 is the nearest site). However, the site having station 302 may not be a serving site. For example, the site having station 302 may not have an antenna facing the planned network site 300. In another example, the site having station 302 may have an antenna with a height of 17 meters, and the site having station 304 may have an antenna with a height of 30 meters. In these two examples, even if the site having station 302 is the nearest site, the site having station 304 may be the serving site instead of the site having station 302. If the nearest site and the serving site are different from each other, issues regarding why the nearest site cannot provide services to the planned network site area can be analyzed. By optimizing the nearest site, if the planned network site area can be served by the nearest site, a new planned site may not be deployed. If the nearest site still cannot provide services to the planned network site area even after optimization, the planned network site can be deployed based on the priority determined by the embodiments of the present disclosure.

[0051] In some embodiments, system 400 may include a competitive analysis microservice 412. The competitive analysis microservice 412 can determine the number of competing sites within a predetermined radius of a planned network site. The predetermined radius may be 200 m. A planned network site having more competing sites than another planned network site may have a higher priority because more competing network sites may indicate availability to more network customers and thus higher potential revenue.

[0052] In some embodiments, system 400 may include a building density microservice 414. The building density microservice 414 can determine the total number of buildings within a predetermined radius of a planned network site. The predetermined radius may be 200 m. A planned network site having more buildings within the predetermined radius than another planned network site can have a higher priority. This is because more buildings can indicate availability to more network customers and thus higher potential revenue.

[0053] In some embodiments, system 400 may include a neighboring site analysis microservice 416. The neighboring site analysis microservice 416 can create a buffer for a planned network site and divide a 360-degree area surrounding the planned network site into a predetermined number of cones. For example, the 360-degree area can be divided into six 60-degree cones. As another example, the 360-degree area can be divided into three 120-degree cones. Each cone can be divided into three sector cells, and each cell is classified into a different band indicating network congestion. For example, each cell of a cone can be classified into one of critical congestion, high utilization, and low utilization.

[0054] In each cone, the microservice 416 may find the nearest neighboring site and determine the distance between the planned network site and the nearest neighboring site. In each cone, the microservice 416 may further determine whether the nearest neighboring site cell is facing the planned network site (e.g., whether the neighboring site has an antenna with an azimuth angle facing the planned network site). The microservice 416 can further determine the congestion status (e.g., critical congestion, high utilization, low utilization) of each sector of the cell. If it is determined that the neighboring site cell is not facing the planned network site, the congestion status may be blank for each neighboring site cell.

[0055] In some embodiments, the system 400 may include a priority analysis microservice 418. The priority analysis microservice 418 can assign a priority level for each planned network site based on information obtained from other microservices included in the system 400. The assignment of the priority level is disclosed in more detail with respect to FIGS. 5 and 7.

[0056] In some embodiments, the system 400 may include a report generation microservice 420. The report generation microservice can create a report for each planned network site based on information obtained from other microservices included in the system 400. An example of the report is shown in Table 1.

[0057] Figure 5 shows an exemplary flowchart of one embodiment of a process 500 for automatically prioritizing planned network sites. The process can be executed by a device 100 (Figure 1). The process can generally start at step S502, where a dataset of all planned network sites with aging information is created. For example, the process can utilize a data collection microservice 402 (Figure 4) to create a dataset of planned network sites having an aging number of six months or more. The remaining steps in Figure 5 can be executed for each planned network site.

[0058] The process proceeds to step S504, where the coverage availability at a predetermined radius of the planned network site is checked. The process can execute the coverage availability step using a coverage availability microservice 504. Figure 6 shows a flowchart of one embodiment of a process for performing a coverage availability check at step S504. Process 600 starts at step 602 and can determine whether outdoor coverage of the coverage area of the corresponding planned network site is available. As an example, the coverage area of the corresponding planned network site can be determined to have outdoor coverage if 90% of the coverage area has a reference signal received power (RSRP) greater than -115 dBm. If it is determined that the coverage area does not have outdoor coverage, the process proceeds to step S604, where the coverage area of the planned network site is marked "no coverage" for outdoor, in-vehicle, and indoor coverage.

[0059] If it is determined that the coverage area has outdoor coverage, the process proceeds from step S604 to step S606, and it is determined whether in-vehicle coverage of the coverage area of the corresponding planned network site is available. As an example, if 90% of the coverage area of the corresponding planned network site has an RSRP greater than -105 dBm, it can be determined that there is in-vehicle coverage. If it is determined that the coverage area does not have in-vehicle coverage, the process proceeds to step S608, and the coverage area of the corresponding planned network site is marked "Yes" for outdoor coverage and "No coverage" for in-vehicle and indoor coverage.

[0060] If it is determined that the coverage area has in-vehicle coverage, the process proceeds to step S610, and it is determined whether indoor coverage of the coverage area of the corresponding planned network site is available. As an example, if 90% of the coverage area of the corresponding planned network has an RSRP greater than -95 dBm, it can be determined that there is indoor coverage. If it is determined that the coverage area does not have indoor coverage, the process proceeds to step S612, and the coverage area of the corresponding planned network site is marked "Yes" for outdoor and in-vehicle coverage and "No coverage" for indoor coverage. If it is determined that the coverage area has indoor coverage, the process proceeds from step S610 to step S614, and the coverage area of the corresponding planned network site is marked "Yes" for outdoor, in-vehicle, and indoor coverage.

[0061] Returning to FIG. 5, the process proceeds from step S504 to step S506, and it is determined whether the planned network site is in a poor coverage area. As an example, process 500 can use the coverage status microservice 406 to determine whether the planned network site is in a poor coverage area.

[0062] The process proceeds to step S508 and performs morphological analysis within a predetermined radius of the planned network site. As an example, process 500 can use morphological analysis microservice 408 to perform morphological analysis within a predetermined radius (e.g., 200m) of the planned network site. For example, based on the determination of population density within the predetermined radius, the planned network can be marked as one of dense urban, urban, suburban, and rural. The planned network site may be divided into multiple cells, and the cell with the dominant morphology is used as the morphology of the planned network site. For example, if one cell is marked as a dense urban area and all other cells are marked as urban areas, the cell marked as a dense urban area is identified as the dominant morphology and can be used as the morphology of the entire planned network site.

[0063] The process proceeds to step S510 and checks the serving site and the distance between the planned network site and the serving site. Next, it proceeds to step S512 and checks the nearest neighbor site and the distance between the planned network site and the nearest neighbor site.

[0064] The process proceeds to step S514 and determines the total number of buildings within a predetermined radius of the planned network site. For example, process 500 can use building density analysis microservice 414 to determine the total number of buildings within a predetermined radius (e.g., 200m) of the planned network site. Next, it proceeds to step S516 and performs neighboring site cell analysis. For example, process 500 can use neighboring site analysis microservice 416 to perform neighboring site analysis.

[0065] Then, it proceeds to step S518 to perform priority assignment analysis. As an example, the process can execute priority assignment analysis using the priority analysis microservice 420. FIG. 7 shows a flowchart of an embodiment of a process 700 for performing priority analysis in step S518. Process 700 can start at step S702, where the planned network site is assigned a priority level P1 if any of the neighboring cells facing the sector cells of the cell are tagged as being under a "critically congested cell". For example, if the sector of the cell has a bandwidth available of <X kbps, the cell can be marked as a "critically congested cell". As an example, the parameter X kbps is configurable and can be set to 2 mbps (1024 kbps) by default.

[0066] The process proceeds to step S704. If the planned network site has at least one neighboring cell where all sectors of the neighboring cells are marked as "high utilization", a priority level P2 is assigned to the planned network site. The process proceeds to step S706. If the planned network site has at least one neighboring cell where most (e.g., two out of three) of the sectors of the neighboring cells are marked as "high utilization", a priority level P3 is assigned to the planned network site. The process proceeds to step S708. If one sector (e.g., one out of three) of at least one neighboring cell is marked as "high utilization", a priority level P4 is assigned to the planned network site. The assignment of priority levels P1 - P4 can be based on the neighboring site cell analysis performed in step S518 (FIG. 5). As will be understood by those skilled in the art, the planned network site can be assigned one of the priority values P1, P2, P3, and P4.

[0067] The process proceeds to step S710, and if the planned network site is marked as "Yes" for poor coverage polygon status (e.g., coverage hole) based on the analysis performed at least in steps S504 and S506 (Figure 5), a priority level P5 is assigned to the planned network site. The process proceeds to step S712, and if the total number of buildings is equal to or greater than a threshold (e.g., 20), a priority level P6 is assigned to the planned network site. The total number of buildings may be based on the analysis performed at least in step S514 (Figure 5). The process proceeds to step S714, and if the number of competing site counts within a predetermined radius (e.g., 20m) is equal to or greater than a threshold (e.g., 1), a priority level P7 is assigned to the planned network site. The competing site count may be based on the analysis performed at least in step S516. The process proceeds to step S716, and a priority level P8 is assigned to the planned network site to which priority levels P1 - P7 have not been assigned. In the priority analysis step, priority level P1 may be the highest priority, and priority level P8 may be the lowest priority.

[0068] Returning to Figure 5, the process proceeds from step S518 to step S520, where a report is created. As an example, the report creation microservice 422 may be used to create the report. Table 1 shows an example of the created report.

Table 1

[0069] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation forms to the exact forms disclosed. Modifications and variations are possible in light of the above disclosure or can be obtained from the implementation of the implementation forms.

[0070] It should be understood that the specific order or hierarchy of the blocks in the processes / flowcharts disclosed herein is an example of an illustrative approach. Based on design preferences, it should be understood that the specific order or hierarchy of the blocks in the processes / flowcharts can be reconfigured. Furthermore, some blocks may be combined or omitted. The appended method claims present the elements of the various blocks in an illustrative order and are not limited to the specific order or hierarchy presented.

[0071] Some embodiments may relate to systems, methods, and / or computer-readable media in the integration of any possible level of technical detail. Further, one or more of the components described above may be implemented as instructions stored on a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-transitory storage medium (or media) having computer-readable program instructions for causing a processor to execute operations.

[0072] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction-executing device. The computer-readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or raised structures in grooves in which instructions are recorded, and any appropriate combination of the foregoing. As used herein, a computer-readable storage medium should not be construed to be a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., an optical pulse passing through an optical fiber cable), or an electrical signal transmitted through a wire.

[0073] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to respective computing / processing devices, or to an external computer or external storage device via a network, such as, for example, the Internet, a local area network, a wide area network, and / or a wireless network, or a combination thereof. The network can include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers, or a combination thereof. A network adapter card or network interface within each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage on a computer-readable storage medium within each respective computing / processing device.

[0074] The computer-readable program code / instructions for performing the operations can be in source code or object code written in any combination of one or more programming languages, including assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, or object-oriented programming languages such as Smalltalk, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, a field programmable gate array (FPGA), or programmable logic arrays (PLA) can execute the computer-readable program instructions by personalizing the electronic circuit using the state information of the computer-readable program instructions to perform an aspect or an operation.

[0075] These computer-readable program instructions, when executed via the processor of a computer or other programmable data processing apparatus, may create means for implementing the functions / operations specified in one or more blocks of a flowchart and / or block diagram, thereby producing a machine, such as a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus. These computer-readable program instructions may also be stored in a computer-readable storage medium that includes instructions for implementing the aspects of the functions / operations specified in one or more blocks of a flowchart and / or block diagram, and may direct a computer, programmable data processing apparatus, and / or other devices, or combinations thereof, to function in a particular manner.

[0076] These computer-readable program instructions may also be loaded onto a computer, other programmable apparatus, or other device, such that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / operations specified in one or more blocks of a flowchart and / or block diagram, causing a series of operational steps to be performed on the computer, other programmable apparatus, or other device to generate a computer-implemented process.

[0077] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in the flowchart or block diagram can represent a module, segment, or portion of one or more executable instructions for implementing the specified logical function(s). The methods, computer systems, and computer-readable media may include additional blocks, fewer blocks, different blocks, or blocks arranged differently than those shown in the figures. In some alternative implementations, the functions described in the blocks may be performed in an order different from that described in the figures. For example, two blocks shown in succession may in fact be executed simultaneously or substantially simultaneously, or the blocks may sometimes be executed in the reverse order depending on the functions involved. It should also be noted that each block of the block diagram or flowchart diagram, or combinations of blocks in the block diagram or flowchart diagram, or both, can be implemented by a dedicated hardware-based system that performs the specified function or operation, or a combination of dedicated hardware and computer instructions.

[0078] It will be apparent that the systems and / or methods described herein can be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it is understood that software and hardware can be designed based on the description herein to implement the systems and / or methods.

[0079] The above disclosure also encompasses the embodiments listed below.

[0080] (1) A method executed in a processor for planning network sites, the method comprising: receiving a dataset of a plurality of planned network sites; executing a coverage availability microservice to determine the coverage availability of each planned network site within the plurality of planned network sites; executing one or more microservices to determine the geographical conditions of each planned network site within the plurality of network sites; executing a priority microservice based at least on the determined coverage availability for each planned network site and the determined geographical conditions for each planned network site to assign one or more priority levels to each planned network site of the plurality of planned network sites; and executing a reporting microservice to create a report for each planned network site of the plurality of network sites, the report including at least the determined coverage availability, the determined geographical conditions, and the one or more assigned priority levels for each planned network site.

[0081] (2) The method according to feature (1), wherein each planned network site is associated with a date greater than a predetermined date threshold.

[0082] (3) The method according to feature (1) or (2), wherein the coverage availability specifies at least one of outdoor coverage, indoor coverage, and car mobility coverage.

[0083] (4) The method according to feature (3), further comprising determining the coverage status of a corresponding planned network site based at least on the coverage availability of the corresponding planned network site, and the priority level for the corresponding planned network site increases in response to a determination that the corresponding planned network site is in a poor coverage area.

[0084] (5) The one or more microservices for determining geographical conditions include a morphological analysis microservice that determines geographical conditions indicating the population density within a predetermined distance of the corresponding planned network site, according to any one of features (1) to (4).

[0085] (6) The one or more microservices for determining geographical conditions include a site analysis microservice that determines the distance between the serving site and the corresponding planned network site, according to any one of features (1) to (5).

[0086] (7) The site analysis microservice further determines the distance between the nearest site and the corresponding planned network site, and the nearest site is not the serving site in response to the determination that (i) the nearest site does not include an antenna facing the corresponding planned network site, or (ii) the serving site includes an antenna having a height higher than the height of the antenna of the nearest site, according to the method of feature (6).

[0087] (8) The one or more microservices for determining geographical conditions include a competition analysis microservice that determines the total number of competing sites within a predetermined corresponding planned network site, and an increase in the total number of competing sites increases the priority level of the corresponding planned network site, according to any one of features (1) to (7).

[0088] (9) The one or more microservices for determining geographical conditions include a building density analysis microservice that determines the total number of buildings within a predetermined distance of the corresponding planned network site, and an increase in the total number of buildings increases the priority level of the corresponding planned network site, according to any one of features (1) to (8).

[0089] One or more microservices for determining geographical conditions include a neighboring site analysis microservice that determines the utilization status of one or more neighboring sites of a corresponding planned network site, and an increase in the utilization status of the one or more neighboring sites increases the priority level of the corresponding planned network site. The method according to any one of features (1) to (9).

[0090] (11) A device for planning network sites, the device comprising at least one memory configured to store computer program code, and at least one processor configured to access the at least one memory and operate as instructed by the computer program code, the computer program code causing at least one of the at least one processor to receive a dataset of a plurality of planned network sites, a first execution code causing at least one of the at least one processor to execute a coverage availability microservice to determine the coverage availability of each planned network site within the plurality of planned network sites, a second execution code causing at least one of the at least one processor to execute one or more microservices to determine the geographical conditions of each planned network site within the plurality of network sites, a third execution code causing at least one of the at least one processor to execute a priority microservice to assign one or more priority levels to each planned network site among the plurality of planned network sites based at least on the determined coverage availability of each planned network site and the determined geographical conditions for each planned network site, and a fourth execution code causing at least one of the at least one processor to execute a reporting microservice to create a report for each planned network site among the plurality of network sites, the report including at least the determined coverage availability, the determined geographical conditions, and the one or more assigned priority levels for each planned network site, the device comprising the fourth execution code.

[0091] (12) The device according to feature (11), wherein each planned network site is associated with a date greater than a predetermined date threshold.

[0092] (13) Coverage availability is a device of feature (11) or (12) that specifies at least one of outdoor coverage, indoor coverage, and car mobility coverage.

[0093] (14) The computer program code further includes determination code configured to cause at least one of the at least one processor to determine the coverage status of a corresponding planned network site based on at least the coverage availability of the corresponding planned network site, and the priority level for the corresponding planned network site increases in response to a determination that the corresponding planned network site is in a poor coverage area. A device of feature (13).

[0094] (15) One or more microservices for determining geographical conditions include a morphological analysis microservice that determines geographical conditions indicating the population density within a predetermined distance of a corresponding planned network site. A device according to any one of features (11) to (14).

[0095] (16) One or more microservices for determining geographical conditions include a site analysis microservice that determines the distance between a serving site and a corresponding planned network site. A device according to any one of features (11) to (15).

[0096] (17) The site analysis microservice further determines the distance between the nearest site and the corresponding planned network site, and the nearest site is not the serving site in response to a determination that (i) the nearest site does not include an antenna facing the corresponding planned network site, or (ii) the serving site includes an antenna having a height higher than the height of the antenna of the nearest site. A device of feature (16).

[0097] (18) One or more microservices for determining geographical conditions include a competitive analysis microservice that determines the total number of competing sites within a given corresponding planned network site, and an increase in the total number of competing sites increases the priority level of the corresponding planned network site. The device according to any one of features (11) to (17).

[0098] (19) One or more microservices for determining geographical conditions include a building density analysis microservice that determines the total number of buildings within a given distance of a corresponding planned network site, and an increase in the total number of buildings increases the priority level of the corresponding planned network site. The device according to any one of features (11) to (18).

[0099] (20) A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to execute a method for planning network sites. The method includes receiving a dataset of a plurality of planned network sites, executing a coverage availability microservice to determine the coverage availability of each planned network site within the plurality of planned network sites, executing one or more microservices to determine the geographical conditions of each planned network site within the plurality of network sites, and based at least on the determined coverage availability for each planned network site and the determined geographical conditions for each planned network site, executing a priority microservice to assign one or more priority levels to each planned network site of the plurality of planned network sites, and executing a reporting microservice to create a report for each planned network site of the plurality of network sites, the report including at least the determined coverage availability, the determined geographical conditions, and the one or more assigned priority levels for each planned network site.

Claims

1. 1. A method executed on a processor for planning network sites, the method comprising: receiving a data set of a plurality of planned network sites; Executing a coverage availability microservice to determine coverage availability for each planned network site within the plurality of planned network sites; Executing one or more microservices to determine a geography for each planned network site within the plurality of network sites; executing a priority microservice to assign one or more priority levels to each planned network site of a plurality of planned network sites based at least on the determined coverage availability for each planned network site and the determined geographical condition for each planned network site; executing a reporting microservice to generate a report for each planned network site of the plurality of network sites, the report including at least the determined coverage availability, the determined geographic condition, and the assigned one or more priority levels for each planned network site; A method comprising:

2. The method of claim 1 , wherein each planned network site is associated with an age greater than a predetermined age threshold.

3. The method of claim 1 , wherein the coverage availability specifies at least one of outdoor coverage, indoor coverage, and car mobility coverage.

4. 4. The method of claim 3, further comprising determining a coverage status of a corresponding planned network site based at least on the coverage availability of the corresponding planned network site, wherein a priority level for the corresponding planned network site is increased in response to determining that the corresponding planned network site is in a poor coverage area.

5. 10. The method of claim 1, wherein the one or more microservices for determining the geographic conditions include a morphological analysis microservice that determines geographic conditions indicative of population density within a predetermined distance of a corresponding planned network site.

6. 10. The method of claim 1, wherein the one or more microservices for determining the geographic conditions include a site analysis microservice that determines a distance between a serving site and a corresponding planned network site.

7. 7. The method of claim 6, wherein the site analysis microservice further determines a distance between a nearest neighbor site and the corresponding planned network site, and wherein the nearest neighbor site is not the serving site in response to determining that (i) the nearest neighbor site does not include an antenna facing the corresponding planned network site, or (ii) the serving site includes an antenna having a height greater than a height of the antenna of the nearest neighbor site.

8. 10. The method of claim 1, wherein the one or more microservices for determining the geographic criteria include a competitive analysis microservice that determines a total number of competing sites within a given corresponding planned network site, wherein an increase in the total number of competing sites increases a priority level of the corresponding planned network site.

9. 10. The method of claim 1, wherein the one or more microservices for determining the geographic conditions include a building density analysis microservice that determines a total number of buildings within a predetermined distance of a corresponding planned network site, wherein an increase in the total number of buildings increases a priority level of the corresponding planned network site.

10. 10. The method of claim 1, wherein the one or more microservices for determining the geographic conditions include a neighborhood site analysis microservice that determines a utilization status of one or more neighborhood sites of a corresponding planned network site, and wherein an increase in utilization status of the one or more neighborhood sites increases a priority level of the corresponding planned network site.

11. 1. A device for planning network sites, said device comprising: at least one memory configured to store computer program code; at least one processor configured to access the at least one memory and to operate as instructed by the computer program code, the computer program code comprising: receiving code configured to cause at least one of the at least one processor to receive a data set of a plurality of planned network sites; first execution code configured to cause at least one of the at least one processor to execute a coverage availability microservice to determine coverage availability for each planned network site in the plurality of planned network sites; second executable code configured to cause at least one of the at least one processor to execute one or more microservices to determine a geographic location for each planned network site within the plurality of network sites; third executable code configured to cause at least one of the at least one processor to execute a priority microservice to assign one or more priority levels to each planned network site of the plurality of planned network sites based at least on the determined coverage availability of each planned network site and the determined geographical condition for each planned network site; fourth executable code configured to cause at least one of the at least one processor to execute a reporting microservice to generate a report for each planned network site of the plurality of network sites, the report including at least the determined coverage availability, the determined geographic condition, and the assigned one or more priority levels for each planned network site; and Including, the device.

12. The device of claim 11 , wherein each planned network site is associated with an age greater than a predetermined age threshold.

13. The device of claim 11 , wherein the coverage availability specifies at least one of outdoor coverage, indoor coverage, and car mobility coverage.

14. 14. The device of claim 13, wherein the computer program code further comprises decision code configured to cause at least one of the at least one processor to determine a coverage status of a corresponding planned network site based at least on the coverage availability of the corresponding planned network site, wherein a priority level for the corresponding planned network site is increased in response to determining that the corresponding planned network site is in a poor coverage area.

15. 12. The device of claim 11, wherein the one or more microservices for determining the geographic conditions include a morphological analysis microservice that determines geographic conditions indicative of population density within a predetermined distance of a corresponding planned network site.

16. 12. The device of claim 11, wherein the one or more microservices for determining the geographic conditions include a site analysis microservice that determines a distance between a serving site and a corresponding planned network site.

17. 17. The device of claim 16, wherein the site analysis microservice further determines a distance between a nearest site and the corresponding planned network site, and wherein the nearest site is not the serving site in response to a determination that (i) the nearest site does not include an antenna facing the corresponding planned network site, or (ii) the serving site includes an antenna having a height greater than a height of the antenna of the nearest site.

18. 12. The device of claim 11, wherein the one or more microservices for determining the geographic criteria include a competitive analysis microservice that determines a total number of competing sites within a given corresponding planned network site, wherein an increase in the total number of competing sites increases a priority level of the corresponding planned network site.

19. 12. The device of claim 11, wherein the one or more microservices for determining the geographic conditions include a building density analysis microservice that determines a total number of buildings within a predetermined distance of a corresponding planned network site, wherein an increase in the total number of buildings increases a priority level of the corresponding planned network site.

20. 1. A non-transitory computer-readable medium having stored thereon instructions that, when executed by a processor, cause the processor to perform a method for planning network sites, the method comprising: receiving a data set of a plurality of planned network sites; Executing a coverage availability microservice to determine coverage availability for each planned network site within the plurality of planned network sites; Executing one or more microservices to determine a geography for each planned network site within the plurality of network sites; executing a priority microservice to assign one or more priority levels to each planned network site of a plurality of planned network sites based at least on the determined coverage availability for each planned network site and the determined geographical condition for each planned network site; executing a reporting microservice to generate a report for each planned network site of the plurality of network sites, the report including at least the determined coverage availability, the determined geographic condition, and the assigned one or more priority levels for each planned network site; 1. A non-transitory computer-readable medium comprising: