Cellular network user device mobility optimization management

Systems and methods to utilize user device self-reported quality metrics and machine learning mechanisms to optimize management of user device mobility in a cellular network. Cells in the network obtain quality data for one or more user devices in communication with the cells, including channel-quality-indicator values, reference-signal-received-power values, and reference-signal-received-quality values. The quality data is processed by a machine learning mechanism to generate a separate quality report for each cell. In response to receiving a request to handover communications for a target user device, the quality reports are utilized to select a cell that is predicted to provide the best quality communications for the target user device.

TECHNICAL FIELD

The present disclosure relates generally to digital message communications and, more particularly, to utilizing user device self-reported quality metrics to optimize management of user device mobility in a cellular network.

BACKGROUND

Description of the Related Art

Smart phones are being used more and more by more and more people. As the use of smart phones has increased, so too has the desire for more reliable, fast, and continuous transmission of content. In an effort to improve the content transmission, networks continue to improve with faster speeds and increased bandwidth. The increase in the number of smart phones, however, has also resulted in increased cellular traffic. As people move around, cell nodes need to handover service of smart phones to other cell nodes, such as when a smart phone is too far from a current cell or when the current cell is experiencing too much traffic. Many cell nodes and towers utilize load balancing to determine which cell is to handle which user device traffic. Such load balancers often rely on latency and throughput as factors when determining which cell is to handle communications for which user device. Unfortunately, these factors do not provide an accurate representation of the actual service quality that a user device will experience after the handover from one cell to another. It is with respect to these and other considerations that the embodiments described herein have been made.

BRIEF SUMMARY

Briefly described, embodiments are directed toward systems and methods of utilizing user device self-reported quality metrics and machine learning mechanisms to optimize management of user device mobility in a cellular network, a cell quality server requests each cell in a network to obtain quality data for one or more user devices in communication with the cells. Each corresponding cell then send requests to one or more user devices that are utilizing that corresponding cell for communications. The user devices respond by providing the quality data to the corresponding cell. The quality data may include a reference-signal-received-power value and a reference-signal-received-quality value. The cells may also obtain a channel-quality-indicator value from the user devices. The cells provide the obtained quality data to the cell quality server.

The cell quality server utilizes one or more machine learning mechanisms to generate a separate quality report for each cell based on the quality data. Each quality report may be a quality model that estimates the current quality of a user device based on historical reference-signal-received-power values, historical reference-signal-received-quality values, and corresponding historical channel-quality-indicator values provided by user devices. In this way, the cell quality server, or a cell, can determine if a target cell is to handle communications for a target user device in response to receiving a request to handover communications for the target user device. The quality reports are utilized to select a cell that is predicted to provide the best quality communications for the target user device.

DETAILED DESCRIPTION

FIG.1illustrates a context diagram of an environment for determining cell quality for user device mobility optimization in accordance with embodiments described herein. Environment100includes a plurality of cells112a-112c(collectively or individually referred to as cell112), a plurality of user devices124a-124d(collectively or individually referred to as cell124), a cell quality server102, and a communication network110. Communication network110includes one or more wired or wireless networks, which may include a series of smaller or private connected networks that carry information among the cells112a-112cand the cell quality server102.

The cells112a-112care cellular towers that together implement a cellular communications network. The cells112a-112cmay include or be in communication with base stations, radio back haul equipment, antennas, or other devices, which are not illustrated for ease of discussion. In various embodiments, the cells112a-112cmay communicate with each other via communication network110. Each cell112provides cellular communications over a coverage area. The coverage area of each cell112may vary depending on the elevation antenna of the cell, the height of the antenna of the cell above the ground, the electrical tilt of the antenna, the transmit power utilized by the cell, or other capabilities that can be different from one type of cell to another or from one type of hardware to another. The overall capacity of the network created by the cells112a-112cdepends on the coverage of each cell112and the interference that the cells112may have on each other. Because of interference, communication loads, latency, environmental effects, and other factors, the quality of communications between the user devices124a-124dand the cells112a-112ccan vary from cell to cell and from time to time.

The user devices124a-124dare computing devices that receive and transmit cellular communication messages with the cells112a-112cvia antennas126a-126d, respectively. Examples of user devices124a-124dmay include, but are not limited to, mobile devices, smartphones, tablets, cellular-enabled laptop computers, or other computing devices that can communication with a cellular network.

The cell quality server102collects quality data from the cells112a-112cto generate quality reports for each separate cell112a-112c. The cell quality server102may include one or more server devices, cloud computing resources, or other computing devices that perform embodiments described herein.

In particular, the cell quality server102transmits a request to each cell112a-112cto obtain quality data from user devices124a-124d. The cells112a-112crespond by requesting the quality data from those user devices124a-124dthat are in communication with the corresponding cell. For example, assume user device124bis in communication with cell112b, user device124ais in communication with cell112c, and user devices124cand124dare in communication with cell112a. In this example, cell112bwill request specific quality data from user device124b, cell112cwill request specific quality data from user device124a, and cell112awill request specific quality data from both user device124cand user device124d.

The requested quality data may include channel-quality-indicator values, reference-signal-received-power values, reference-signal-received-quality values, signal-to-noise ratio, or a combination thereof. In some embodiments, the cells112a-112cmay obtain and store some of the quality data as part of normal communications with user devices124a-124d. In other embodiments, the cells112a-112cmay specifically request some of the quality data from the user devices124a-124d. Other information associated with the quality data may also be obtained. For example, the frequency band being used when the quality data was collected may also be obtained.

Once obtained, the cells112a-112cprovide the quality data to the cell quality server102. The cell quality server102can then utilize one or more machine learning or artificial intelligence mechanisms to generate one or more quality reports or models for each cell112a-112c. These quality reports can then be used to predict the communication quality between a target user device124and one or more neighboring cells112, which may also be referred to as a predictive user quality indicator for the target user device for that particular cell.

For example, if user device124cis moving out of the range of cell112aand into the range of cells112band112c, cell112acan send a handover request to cell quality server102. The cell quality server102can utilize the quality reports of cells112band112c, along with other information, to estimate a predictive user quality indicator for each of cells112band112c. From this information, the cell quality server102determines which cell is likely to provide better communication quality to user device124c. If the cell quality server102determines that cell112bis likely to provide the better or higher quality communications with user device124c(e.g., the target user device has a higher predictive user quality indicator with cell112bcompared to cell112c), then the cell quality server102can inform the cells112aand112bto perform a handover of communications for user device124cfrom cell112ato cell112b. Accordingly, the cell quality server102is using the generated quality reports for a plurality of cells to predict the user experience for a target user device in communication with those cells.

In some embodiments, the quality reports can also be used to predict the communication quality between a target user device124and one or more cells112for different frequency bands. For example, quality reports for different frequency bands for the current cell handling communications with the target user, or quality reports for different frequency bands for other cells, may be used to determine which frequency band is predicted to provide the best user experience, whether the current cell or a different cell.

In various embodiments, the cell quality server102may share the quality reports for cells112that neighbor or are in the vicinity of other cells112. In at least one embodiment, a cell may be in the vicinity of another cell if the cells can perform a handover of user device communications between the cells. Accordingly, a cell112may store the quality reports for neighboring cells or for other cells that it can handover user device communication. For example, if cell112acan handover communications for a user device to cell112c, but not cell112b(e.g., because cell112bis too far away to handle communications for the user device), then cell112amay store the quality report for cell112cand cell112cmay store the quality report for cell112a. In this example, cell112cmay also store the quality report of cell112bif those two cells can handover communications of user devices. By having cells112store associated quality reports of other neighboring cells112, the cells112can utilize those quality reports when determining which cell is to handle communications for a target user device when a communication handover is needed.

In some embodiments, each cell112may perform embodiments of the cell quality server102to generate their own quality reports. The cells112can then share their own quality reports with other cells in the vicinity. Accordingly, embodiments described herein may be performed by the cell quality server102, the cells112a-112c, or a combination thereof.

In various embodiments, the cell quality server102, or the cells112, may monitor the communication quality after a handover is performed. In at least one embodiment, a new cell that is handling communications for a target user device requests current quality data (e.g., a channel-quality-indicator value, a reference-signal-received-power value, a reference-signal-received-quality value, a signal-to-noise ratio, etc.) from the target user device. If the current quality data does not align with the predicted user experience, as determined from the quality report of the new cell prior to the handover, then the cell quality server102, or the new cell, can update quality report for the new cell based on the current quality data. In this way, the quality reports of the cells can be updated to align predicted user experience with actual user experience.

In some embodiments, the cell quality server102, or the cells112, may stop utilizing the quality report to select a cell for a handover in response to predicted user experiences matching actual user experiences over a period of time. For example, if cell112adetermines that the predicted user experience for a plurality of user devices is highest for cell112b, and those predicted user experiences match the actual user experiences after the handover to cell112b, then cell112acan automatically handover communications to cell112bwithout analyzing the quality reports for cell112bor other neighboring cells.

The operation of certain aspects will now be described with respect toFIGS.2,3, and4. In at least one of various embodiments, processes200,300, and400described in conjunction withFIGS.2,3, and4, respectively, may be implemented by or executed via circuitry or on one or more computing devices, such as cell quality server102or cell112inFIG.1. For example, in some embodiments, cell quality server102may perform process200inFIG.2or process300inFIG.3, whereas cell112may perform process400inFIG.4. In other embodiments, processes200,300, and400, or various portions thereof, may be performed by cell112.

FIG.2illustrates a logical flow diagram showing one embodiment of a process200for obtaining quality data and generating a quality report for user device mobility optimization in accordance with embodiments described herein.

Process200begins, after a start block, at block202, where quality data is received from each of a plurality of cells. As described herein, the quality data from a corresponding cell may include channel-quality-indicator values, reference-signal-received-power values, and reference-signal-received-quality values for one or more frequency bands, which is obtained or collected from one or more user devices that are in communication with the corresponding cell.

Process200proceeds to block204, where one or more quality reports are generated for each of the plurality of cells based on the received quality data. In various embodiments, one or more machine learning algorithms or statistical models may be employed on received data for a corresponding cell to generate the quality reports for that corresponding cell. As discussed in more detail herein, a plurality of quality reports may be generated for each separate cell based on different frequency bands, for different times of day or year, for different channel-quality-indicator values or ranges, etc.

Process200continues at block206, where the quality reports are utilized to select a target cell to handle communications for a target user device. As described herein, the quality reports may be compared to determine a projected user experience that the target user device would experience with each of the plurality of cells. The cell having the best or highest projected user experience would be selected as the target cell to handle communications for the target user device.

After block206, process200terminate or otherwise returns to a calling process to perform other actions.

FIG.3illustrates a logical flow diagram showing one embodiment of a process300for requesting quality data and generating a quality report for user device mobility optimization in accordance with embodiments described herein. Process300begins, after a start block, at block302, where a request for quality data is sent to one or more cells. This request is for each cell to obtain quality data from one or more user devices in communication with that corresponding cell.

In some embodiments, the request may be sent at predetermined times, at predetermined intervals, or in response to an administrator command. For example, a first request may be sent during a first time, such as during a morning commute, and a second request may be sent during a second time, such as during an evening commute. Accordingly, the request may be sent during different times of day, during different days, at different times of the year, during other select occasions (e.g., before, during, or after a sporting event). In this way, quality reports can be generated for cells for different time periods.

In some embodiments, the request may be sent to select cells. In at least one embodiment, the cells may be selected based on their location, the timing of when the request is sent, the amount of traffic managed by the cells, user-reported issues of specific cells, or other criteria in which the service quality of cells may be used to load balance or determine handovers of user devices, or some combination thereof.

Process300proceeds to block304, where quality data is received from each cell. As described herein, the quality data from a corresponding cell may include channel-quality-indicator values, reference-signal-received-power values, and reference-signal-received-quality values that are obtained or collected from one or more user devices that are in communication with the corresponding cell. The corresponding cell may specifically request some or all of the quality data from the one or more user devices, which is described in more detail herein. The obtained quality data may also include the frequency band associated with the other collected quality data.

Process300continues at block306, where a quality report is generated for each cell based on the received quality data. In various embodiments, one or more machine learning algorithms or statistical models may be employed on received data for a corresponding cell to generate the quality report for that corresponding cell. Such machine learning mechanisms or statistical models may include linear regression modelling, logistic regression, convolutional neural networks, artificial intelligence classifiers, or other model generation mechanisms.

In some embodiments, the same machine learning algorithms or statistical models are employed on the quality data for each cell. In other embodiments, different machine learning algorithms or statistical models may employed for different cells. The selection of which machine learning algorithm or statistical model to employ may be based on the location of a cell, the amount of quality data obtained from a cell, the use of the cell, the timing of when the quality data was obtained or collected, etc.

As mentioned above, the request to obtain quality data from the cells may be at different times of day, different times of year, different days of the week, or other time period. Accordingly, a separate quality report may be generated for each separate time period for each separate cell. Moreover, separate quality reports can be generated for different frequency bands for a given cell based on the collected quality data for different frequency bands. As a result, one quality report or a plurality of quality reports may be generated for each separate cell of a plurality of cells.

Process300proceeds next to block308, where a request to transfer handling of communications for a user device is received. This request may be a handover request from a current cell to a target cell. In some embodiments, the request may be received from the current cell handling communications for the user device. The current cell may determine that a handover of the user device to another cell is needed due to movement of the user device (e.g., the user device is moving away from the current cell and about to be out of communication range of the current cell), load balancing operations associated with the current cell (e.g., the current cell is operating above threshold capacity and intends to handover the user device to another cell), decrease in quality or throughput to the user device (e.g., the communications between the user device and the current cell are being deteriorated, such as by obstacles, weather events, or other interference), or other criteria that would have a different cell from the current cell handle communications of the user device, or some combination thereof.

Process300continues next at block310, where one or more potential cells are selected to handle communications for the user device. In various embodiments, the potential cells are selected from the plurality of cells in which a corresponding quality report was generated at block306.

In some embodiments, the potential cells may be selected based on the movement of the user device (e.g., the user device is approaching or within communication range of one or more potential cells), load balancing operations associated with one or more potential cells (e.g., a potential cell has more throughput capability compared to the current cell), or other criteria that is assessed to determine if a potential cell could handle communications for the user device.

In other embodiments, the potential cells may be selected based on frequency bands. In at least one embodiment, the current cell handling communications for the user device may be selected as a potential cell for a frequency band that is different from a current frequency band being used by the user device. In another embodiment, a single cell may be selected as two separate potential cells for different frequency bands. Accordingly, a single cell may be selected as a first potential cell for a first frequency band and selected as a second potential cell in a second frequency band.

Process300proceeds to block312, where a target cell is selected from the one or more potential cells based on the quality reports of the potential cells. As discussed herein, each potential cell is associated with a quality report that indicates the estimated quality of the communications between a user device and the potential cell. In situations where a potential cell is associated with a plurality of quality reports for different parameters, such as for different time periods or traffic conditions, then the quality report for parameters that best fit or match current parameters associated with the potential cell is selected.

The quality reports of the potential cells are then compared to one another or to one or more thresholds. In some embodiments, if the quality report of a potential cell exceeds a select threshold, then that potential cell may be selected as the target cell to handle communications for the user device. In other embodiments, the potential cell that demonstrates a highest performance or quality compared to other potential cells, then that potential cell may be selected as the target cell. For example, the quality report for a first potential cell may indicate that the average channel-quality-indicator value for the first potential cell is 7 and the average reference-signal-received-power value for the first potential cell is −89. In comparison, the quality report for a second potential cell may indicate that the average channel-quality-indicator value for the second potential cell is 8 and the average reference-signal-received-power value for the second potential cell is −85. In this case, the second potential cell is selected as the target cell to handle communications for the user device.

In some embodiments, the quality report for a potential cell may indicate or identify trends or tendencies using different distances from the potential cell. For example, the quality report for a potential cell may indicate that the average channel-quality-indicator value for the potential cell is 7 and the average reference-signal-received-power value for the potential cell is −89 when a user device is 225 meters from the cell, whereas the average channel-quality-indicator value for the potential cell is 3 and the average reference-signal-received-power value for the potential cell is −110 when a user device is 400 meters from the cell. Therefore, in some embodiments, projected distances between the user device and the potential cells may be used in conjunction with the quality reports to select the target cell.

As mentioned above, quality reports may also be generated for different frequency bands and the potential cells may be selected based on the different frequency bands. Accordingly, the target cell may be a different cell but the same frequency band, a different cell and a different frequency band, or the same cell but a different frequency band.

In other embodiments, current quality data, throughput data, load data, latency data, or other current metrics may be utilized in conjunction with the analysis and comparison of the quality reports for the potential cells. For example, the quality report for a first potential cell may indicate that the expected reference-signal-received-power value to be −89 when the channel-quality-indicator value is 7, whereas the quality report for a second potential cell may indicate that the expected reference-signal-received-power value to be −110 when the channel-quality-indicator value is 7. Thus, if the current channel-quality-indicator values being reported by user devices in communication with the first and second potential cells are both 7, then the comparison of the quality reports for the first and second potential cells predicts that the first potential cell will provide higher quality communications for the user device than the second potential cell. Accordingly, the first potential cell may be selected as the target cell.

Process300continues at block314, where the target cell is notified to handle communications for the user device. In some embodiments, the current cell handling communications for the user device may be notified of the target cell so that the current cell and the target cell can collaborate and formally execute a handover from the current cell to the target cell.

Process300proceeds next to decision block316, where a determination is made whether another request is received to transfer handling of communications for the user device or for another user device. If another request is received, then process300may loop to decision block310to select potential cells to handle the communications for the user device associated with the new request. If another request is not received, then process300flows from decision block316to decision block318.

At decision block318, a determination is made whether the quality report of one or more cells is to be updated. In some embodiments, an administrator may instruct the update to occur. In other embodiments, a change in various parameters associated with one or more cells may trigger the updating of the quality report, such as the addition of new cells proximate to other cells, changes in environmental conditions, changes in user device traffic, etc.

If the quality report is to be updated, process300loops to block302to request quality data from one or more cells; otherwise, process300loops to decision block316wait for another user device transfer request.

In at least some embodiments, actual quality data may be obtained for the user device after handover to the target cell. This actual quality data may be used as feedback as to the accuracy of the quality report for the target cell. In some embodiments, if the actual quality data exceeds a threshold different from the quality report prediction, then an update to the quality report may be triggered. In other embodiments, the actual quality data may be input as feedback or verified result into the machine learning mechanism to further improve, refine, or adjust the quality report for the cell.

FIG.4illustrates a logical flow diagram showing one embodiment of a process400for obtaining user device quality data in accordance with embodiments described herein. Process400begins, after a start block, at block402, where a request is received at a cell to obtain quality data. In various embodiments, this received request is the request sent at block302inFIG.3.

Process400proceeds to block404, where one or more user devices in communication with the cell are selected. In some embodiments, a plurality of user devices are in communication with the cell and the selected user devices are those user devices that are transmitting or receiving data exceeding a threshold amount. In other embodiments, the selected user devices are those user devices that have sent or received data within the last threshold time period (e.g., five seconds). In yet other embodiments, the selected user devices are those user devices that are sending or receiving a select type of data, such as video data.

In various embodiments, the number of selected user devices may be a selected number of devices (e.g., five user devices). In other embodiments, the selected user devices may be user devices that have reported its connection quality with the cell within the last select number of reports. In some embodiments, the selected user devices are those user devices that have reported a channel-quality-indicator value of a select value. In other embodiments, the selected user devices are those user devices that have reported a channel-quality-indicator value between a select range. In yet other embodiments, the selected user devices are those user devices that have reported a channel-quality-indicator value the matches one of a plurality of different channel-quality-indicator values. In this way, the cell can obtain quality data for multiple different channel-quality-indicator values.

In some embodiments, the selected user devices are all user devices currently in communication with the cell. In other embodiments, the selected user devices are randomly selected from the plurality of user devices currently in communication with the cell.

The above examples of how the one or more user devices may be combined, such that the one or more user devices are selected based on a combination of multiple criteria. For example, the selected user devices may be those user devices that have reported a select channel-quality-indicator value in the last select number of reports while receiving video data. Other combinations of criteria may also be employed to select the one or more user devices in communication with the cell.

Process400continues at block406, where a channel-quality-indicator value for the selected user devices is obtained. In various embodiments, the selected user devices may have already provided their channel-quality-indicator values to the cell as part of normal cellular communications between the selected user devices and the cell. In other embodiments, the cell may send a request to the selected user devices to provide their current channel-quality-indicator values.

Process400proceeds next to block408, where the cell sends a request to each selected user device for select connection quality data. In some embodiments, the request is for each selected user device to send a current reference-signal-received-power value between the user device and the cell. In other embodiments, the request is for each selected user device to send a current reference-signal-received-quality value between the user device and the cell. In yet other embodiments, the request is for each selected user device to send both the current reference-signal-received-power value and the current reference-signal-received-quality value between the user device and the cell. Although reference-signal-received-power and reference-signal-received-quality are described as being collected from the selected user devices, embodiments are not so limited and other types of connection quality information or metrics may also be collected from the user device. For example, signal-to-noise ratio may also be obtained from each selected user device.

In some embodiments, the request may be for a select number of different quality data values over a period of time. For example, the request may be for the selected user devices to obtain reference-signal-received-power values and reference-signal-received-quality values every 0.5 seconds for 5 seconds. Once collected, the selected user devices can respond to the cell will the collected quality data.

Process400continues next to block410, where the cell receives the requested reference-signal-received-power values and reference-signal-received-quality values from the selected user devices.

Process400proceeds to block412, where the cell provides the obtained quality data for the cell to the requesting device. In various embodiments, the cell provides the channel-quality-indicator values, the received reference-signal-received-power values, and the received reference-signal-received-quality to the requesting device as the quality data.

After block412, process400terminates or otherwise returns to a calling process to perform other actions. For example, as discussed above, the device requesting the cell quality data performs one or more machine learning mechanisms on the quality data to generate a quality report or model for the cell. In this way, the quality report for that cell can be used to predict the connection quality between the cell and a target user device.

FIG.5shows a system diagram that describe various implementations of computing systems for implementing embodiments described herein. System500includes a cell quality server102and a target cell524. The target cell524may include one or more cells112fromFIG.1.

The cell quality server102requests quality data from the target cell524and determines if a target user device (not illustrated) is to communicate with the target cell524or another cell (not illustrated) based on the quality data. One or more special-purpose computing systems may be used to implement cell quality server102. Accordingly, various embodiments described herein may be implemented in software, hardware, firmware, or in some combination thereof. Cell quality server102may include memory502, one or more central processing units (CPUs)514, I/O interfaces518, other computer-readable media520, and network connections522.

Memory502may include one or more various types of non-volatile and/or volatile storage technologies. Examples of memory502may include, but are not limited to, flash memory, hard disk drives, optical drives, solid-state drives, various types of random access memory (RAM), various types of read-only memory (ROM), other computer-readable storage media (also referred to as processor-readable storage media), or the like, or any combination thereof. Memory502may be utilized to store information, including computer-readable instructions that are utilized by CPU514to perform actions, including embodiments described herein.

Memory502may have stored thereon cell quality module504. The cell quality module504is configured to request and obtain quality data from a plurality of cells, including target cell524, which may include employing embodiments of processes200or300in conjunction withFIGS.2and3. The cell quality module504employs one or more machine learning mechanisms on the quality data to generate a quality report for each target cell524, as described herein. In some embodiments, the cell quality module504may also receive a request from a cell to handover communications for a target user device. The cell quality module504may utilize the quality reports for a plurality of cells, along with other information (e.g., load balancing data), to select and inform a particular target cell to handle communications for the target user device, as described herein.

Memory502may also store other programs and data510, which may include cell capabilities, current cell loads, current cell latency, etc.

Network connections522are configured to communicate with other computing devices to facilitate the collection of quality data and generation of quality reports for a plurality of cells, as described herein. In various embodiments, the network connections522include transmitters and receivers (not illustrated) to send and receive data as described herein. I/O interfaces518may include a video or audio interfaces, other data input or output interfaces, or the like, which can be used to receive or output information to an administrator, among other actions. Other computer-readable media520may include other types of stationary or removable computer-readable media, such as removable flash drives, external hard drives, or the like.

Target cell524handles cellular network traffic for one or more user devices. The target cell524can request specific connection quality data from selected user devices that are in communication with the target cell524, as described herein. The target cell524can provide the collected quality data to the cell quality server102for the cell quality server102to generate one or more quality reports for the target cell524. In some embodiments, the target cell524may utilize the collected quality data to generate its own quality reports, which can then coordinate with other cells to determine which cell is to handle communications for a target user device. One or more special-purpose computing systems may be used to implement target cell524. Accordingly, various embodiments described herein may be implemented in software, hardware, firmware, or in some combination thereof. Target cell524may include memory530, one or more central processing units (CPUs)544, I/O interfaces548, other computer-readable media550, and network connections552.

Memory530may include one or more various types of non-volatile and/or volatile storage technologies similar to memory502. Memory530may be utilized to store information, including computer-readable instructions that are utilized by CPU544to perform actions, including embodiments described herein.

Memory530may have stored thereon cell quality data module536. The cell quality data module536receives a request, whether provided by cell quality server102or generated by the target cell524, to collect user device quality data from user devices in communication with the target cell524, which may include employing embodiments of process400in conjunction withFIG.4. Once collected, the cell quality data module536may provide the quality data to the cell quality server102. In some embodiments, the cell quality data module536may perform embodiments of the cell quality module504of the cell quality server102to generate its own quality reports, as described herein. Memory530may also store other programs and data538, which may include capabilities of the target cell524, the obtained quality data, a list of current user devices in communication with the target cell524, etc.

Network connections552are configured to communicate with other computing devices, such as cell quality server102or other cells. In various embodiments, the network connections552include transmitters and receivers (not illustrated) to send and receive data as described herein. I/O interfaces548may include one or more other data input or output interfaces. Other computer-readable media550may include other types of stationary or removable computer-readable media, such as removable flash drives, external hard drives, or the like.