SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR FAULT DETECTION OF LOCATION-AWARE DEVICES - Patent application

By comparing the status data of computing devices with trained machine learning models, the problem of difficult to distinguish and diagnose location-specific and equipment-specific obstacles in the prior art is solved, and automated diagnosis and identification is realized, which improves diagnostic efficiency.

JP2025503543APending Publication Date: 2025-02-04ASSURANT INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024539528
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-12-30
Filing Date
2022-12-28
Publication Date
2025-02-04

AI Technical Summary

Technical Problem

The prior art is difficult to effectively distinguish and diagnose location-specific obstacles and equipment-specific obstacles of computing devices, resulting in complex diagnosis and repair and waste of resources.

Method used

By using trained machine learning models, comparing the state data of computing devices with historical data sets of multiple devices, identifying location-specific and device-specific obstacles, and using computing devices to support the system to automatically diagnose problems.

Benefits of technology

Automatic identification and distinction between location-specific and device-specific obstacles of computing devices is realized, reducing manual intervention and resource waste, and improving diagnostic efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025503543000001_ABST
    Figure 2025503543000001_ABST
Patent Text Reader

Abstract

Systems, methods, and computer program products for identifying location-specific faults are provided. Some embodiments may include receiving first device status data associated with a first computing device, the first device status data may include first location indication data indicative of a location. Some embodiments may include comparing the first device status data with second device status data associated with one or more second computing devices, the second device status data may include second location indication data indicative of a location. In some embodiments, determining that the first computing device is affected by one or more of a device-specific fault or a location-specific fault based on a comparison of the first device status data and the second device status data. Some embodiments may include causing information regarding the device-specific fault or the location-specific fault to be displayed via a graphical user interface.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to Provisional Application No. 63 / 266,225, filed December 30, 2021, the contents of which are incorporated herein by reference in their entirety.

[0002] FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate generally to computer technology, and more particularly to systems, methods, apparatus, and computer program products for providing computing device support services, including fault detection for location-aware devices. Some embodiments of the present disclosure relate to identifying and distinguishing between location-specific faults and device-specific faults associated with a computing device. [Background technology]

[0003] Applicant has identified several deficiencies and problems associated with current systems, methods, and computer program products for fault detection in computing devices. Through applied effort, ingenuity, and innovation, many of these identified problems have been resolved by developing solutions contained in embodiments of the present invention, many examples of which are described in detail in this disclosure. Summary of the Invention

[0004] In one embodiment, a method is provided. In some embodiments, the method includes receiving first device status data associated with a first computing device. In some embodiments, the first device status data includes first location indication data indicative of a location. In some embodiments, the method includes comparing the first device status data with second device status data associated with one or more second computing devices. In some embodiments, the second device status data includes second location indication data indicative of a location. In some embodiments, the method includes determining that the first computing device is affected by one or more of a device-specific fault or a location-specific fault based on a comparison of the first device status data and the second device status data. In some embodiments, the method includes causing information regarding the one or more of the device-specific fault or the location-specific fault to be displayed via a graphical user interface.

[0005] In some embodiments, the comparison of the first device status data and the second device status data is performed by a trained machine learning model executed by the machine learning circuit. In some embodiments, the trained machine learning model was trained using a historical device status dataset including a historical location indication dataset from a plurality of computing devices experiencing a location-specific fault. In some embodiments, the method includes classifying the location-specific fault as a first type of location-specific fault using the trained machine learning model if the first computing device is affected by the location-specific fault. In some embodiments, the first type of location-specific fault may be one of a global positioning system fault, a Wi-Fi fault, or a cellular fault. In some embodiments, the first type of location-specific fault may be one of a global positioning system network fault, a Wi-Fi network fault, or a cellular network fault.

[0006] In some embodiments, the first location indication data and the second location indication data may be based on one or more of global positioning system data, cellular data, or Wi-Fi data. In some embodiments, the first location indication data indicates a location meaning that the first computing device is within a recognized geographic zone, and the second location indication data indicates a location meaning that the second computing device is within the recognized geographic zone. In some embodiments, a size of the recognized geographic zone is determined based at least in part on one or more types of location indication data used to determine the first location indication data and the second location indication data.

[0007] In some embodiments the first location indication data is provided in real time.

[0008] In some embodiments, the first device status data further includes first device performance data and the second device status data further includes second device performance data. In some embodiments, the method includes comparing the first device status data to third device status data associated with one or more third computing devices. In some embodiments, the third device status data includes third device performance data and third location indication data indicating at least one second location. In some embodiments, the at least one second location is different from the location. In some embodiments, when the first device performance data is substantially equal to the third device performance data, the first computing device is affected by a device-specific failure. In some embodiments, when the first device performance data is different from the third device performance data, the first computing device is affected by a location-specific failure. In some embodiments, when the first device performance data is substantially equal to the second device performance data, the first computing device is affected by a location-specific failure. In some embodiments, when the first device performance data is different from the second device performance data, the first computing device is affected by a device-specific failure.

[0009] In some embodiments, the first device status data further includes an indication of at least one fault.

[0010] In some embodiments, the one or more device specific failures may be a software failure or a hardware failure.

[0011] In some embodiments, the method includes receiving authorization to initiate enhanced diagnostics in response to displaying information regarding one or more of the device-specific fault or the location-specific fault on the first computing device.

[0012] In some embodiments, the first computing device and the one or more second computing devices have a device profile, the device profile including one or more characteristics.

[0013] In another embodiment, a system is provided. In some embodiments, the system may receive first device status data associated with a first computing device. In some embodiments, the first device status data includes first location indication data indicating a location. In some embodiments, the system may compare the first device status data with second device status data associated with one or more second computing devices. In some embodiments, the second device status data includes second location indication data indicating a location. In some embodiments, the system may determine that the first computing device is affected by one or more of a device-specific fault or a location-specific fault based on a comparison of the first device status data and the second device status data. In some embodiments, the system may cause information regarding the one or more of the device-specific fault or the location-specific fault to be displayed via a graphical user interface.

[0014] In some embodiments, the comparison of the first device status data and the second device status data is performed by a trained machine learning model executed by the machine learning circuitry. In some embodiments, the trained machine learning model was trained using a historical device status dataset that includes a historical location-indicating dataset from a plurality of computing devices experiencing location-specific faults.

[0015] In some embodiments, the first location indication data and the second location indication data may be based on one or more of global positioning system data, cellular data, or Wi-Fi data. In some embodiments, the first location indication data indicating a location means that the first computing device is within a recognized geographic zone. In some embodiments, the second location indication data indicating a location means that the second computing device is within a recognized geographic zone. In some embodiments, a size of the recognized geographic zone is determined based at least in part on one or more types of location indication data used to determine the first location indication data and the second location indication data.

[0016] In some embodiments, the system may use a trained machine learning model executed by the machine learning circuitry to classify the location-specific failure as a first type of location-specific failure, in some embodiments, the first type of location-specific failure may be one of a global positioning system failure, a Wi-Fi failure, or a cellular failure.

[0017] In some embodiments the first location indication data is provided in real time.

[0018] In some embodiments, the first device status data further includes first device performance data and the second device status data further includes second device performance data. In some embodiments, the system may compare the first device status data to third device status data associated with one or more third computing devices. In some embodiments, the third device status data includes third device performance data and third location indication data indicating at least one second location. In some embodiments, the at least one second location is different from the location. In some embodiments, if the first device performance data is substantially equal to the third device performance data, the first computing device is affected by a device-specific failure. In some embodiments, if the first device performance data is different from the third device performance data, the first computing device is affected by a location-specific failure.

[0019] In some embodiments, the first device status data further includes an indication of at least one fault.

[0020] In some embodiments, the system may receive authorization to initiate enhanced diagnostics in response to displaying information regarding one or more of a device-specific fault or a location-specific fault on the first computing device.

[0021] In yet another embodiment, a computer program product is provided. In some embodiments, the computer program product may instruct the system to receive first device status data associated with a first computing device. In some embodiments, the first device status data includes first location indication data indicative of a location. In some embodiments, the computer program product may instruct the system to compare the first device status data with second device status data associated with one or more second computing devices. In some embodiments, the second device status data includes second location indication data indicative of a location. In some embodiments, the computer program product may instruct the system to determine that the first computing device is affected by one or more of a device-specific fault or a location-specific fault based on a comparison of the first device status data and the second device status data. In some embodiments, the computer program product may instruct the system to display information regarding one or more of the device-specific fault or the location-specific fault via a graphical user interface. [Brief description of the drawings]

[0022] Having thus described in general terms certain embodiments of the present disclosure, reference is now made to the accompanying drawings, which are not necessarily drawn to scale.

[0023] [Figure 1] 1 illustrates a system for providing computing device support services, including for identifying and distinguishing between location-specific and device-specific faults, in accordance with one or more embodiments of the present disclosure. [Diagram 2] 1 illustrates a block diagram of a computing device support apparatus in accordance with one or more embodiments of the present disclosure. [Diagram 3]1 illustrates a block diagram of a computing device in accordance with one or more embodiments of the present disclosure. [Figure 4] 1 illustrates an example location detection of a computing device in accordance with one or more embodiments of the present disclosure. [Diagram 5] 4 illustrates another example location detection of a computing device in accordance with one or more embodiments of the present disclosure. [Figure 6] 4 illustrates another example location detection of a computing device in accordance with one or more embodiments of the present disclosure. [Figure 7] 1 illustrates an exemplary graphical user interface of a computing device in accordance with one or more embodiments of the present disclosure. [Figure 8] 1 illustrates another example graphical user interface of a computing device in accordance with one or more embodiments of the present disclosure. [Figure 9] 1 illustrates a flowchart of an example method for providing computing device support services, including for identifying and distinguishing between location-specific and device-specific faults, in accordance with one or more embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] Certain embodiments of the present disclosure will now be described in more detail herein with reference to the accompanying drawings, in which some, but not all, embodiments of the present disclosure are shown. Indeed, various embodiments of the present disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, but rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numbers refer to like elements throughout.

[0025] overview As computing devices continue to advance at a rapid rate, their use spans nearly every aspect of consumer life. As part of this rapid growth, the complexity of both the computing devices themselves and the infrastructure that supports them (e.g., global positioning systems, cellular systems, and Wi-Fi systems) has increased exponentially. This increased complexity has given computing devices capabilities far beyond what was assumed possible even a few years ago, but it has also caused computing devices to suffer from greater complexity and difficulty in diagnosing performance problems that may be caused by the computing device itself (e.g., device-specific failures) or by the infrastructure that supports the computing device (e.g., location-specific failures).

[0026] In light of the increasing complexity and difficulty of diagnosing performance problems, consumers who experience performance problems are more likely than ever to seek professional assistance from manufacturers, carriers, mobile network operators, retailers, wholesalers, and other industry providers in diagnosing and repairing the performance problems of their computing devices. As a result, manufacturers, carriers, mobile network operators, retailers, wholesalers, and other industry providers often invest substantial financial and customer service resources into diagnosing performance problems of computing devices, only to discover that the performance problems of the consumers' computing devices are caused by faults associated with the infrastructure supporting the computing devices, rather than faults associated with the computing devices. Thus, there is a need for systems, methods, and computer program products capable of location-aware fault detection. In some embodiments, the systems, methods, and / or computer program products may operate remotely, automatically, and / or without technical user action to determine whether the performance problems of a computing device are caused by the computing device itself and the infrastructure supporting the computing device.

[0027] definition As used herein, "data," "content," "information," and similar terms may be used interchangeably to refer to data that may be transmitted, received, and / or stored in accordance with embodiments of the present disclosure. Thus, the use of such terms should not be taken to limit the spirit and scope of the embodiments of the present disclosure. Furthermore, where a computing device is described herein as receiving data from another computing device, it will be understood that the data may be received directly from the other computing device or indirectly via one or more intermediate computing devices, e.g., one or more servers, relays, routers, network access points, base stations, hosts, etc., which may also be referred to herein as a "network." Similarly, where a computing device is described herein as transmitting data to another computing device, it will be understood that the data may be transmitted directly to the other computing device or indirectly via one or more intermediate computing devices, e.g., one or more servers, relays, routers, network access points, base stations, hosts, etc.

[0028] As used herein, the term "circuitry" refers to (a) hardware-only circuit implementations (e.g., implementations with analog and / or digital circuitry), (b) combinations of circuits and computer program products, including software and / or firmware instructions stored in one or more computer-readable memories, that cooperate to cause an apparatus to perform one or more functions described herein, and (c) circuits, such as, for example, a microprocessor or a portion of a microprocessor, that require software or firmware for operation even when the software or firmware is not physically present. This definition of "circuitry" applies to all uses of the term herein, including the claims. As a further example, as used herein, the term "circuitry" also includes implementations that include one or more processors and / or portions thereof, and associated software and / or firmware. As another example, the term "circuitry" as used herein also includes, for example, baseband or application processor integrated circuits for mobile phones, or similar integrated circuits in servers, cellular network devices, other network devices, and / or other computing devices.

[0029] As used herein, "computer-readable storage medium" which refers to physical storage media (e.g., volatile or non-volatile memory devices) may be distinguished from "computer-readable transmission medium" which refers to electromagnetic signals.

[0030] As used herein, the terms "user," "client," and / or "request source" refer to an individual or entity that is the source of and / or is associated with a request for messages and / or related content provided by the message object control system and / or any other system that may provide messages and / or related content to individuals and / or entities. For example, a "user" and / or a "client" may be an owner and / or entity seeking information and options associated with preparing for and / or otherwise planning one or more potential events.

[0031] As used herein, the term "device status data" may refer to any information associated with a computing device. As an example, as used herein, "device status data" may include, but is not limited to, "device performance data" and "location indication data."

[0032] As used herein, the term "device performance data" may refer to any information associated with the performance of a computing device. By way of example, as used herein, "device performance data" may include, but is not limited to, applications installed on a computing device, device configuration settings for installed applications, data usage of installed applications, processor and / or memory usage of installed applications, application crash logs, application execution and / or usage data, memory usage, processor usage, power consumption, battery usage, battery discharge rate, battery health, radio health, memory health, processor health, sensor health, display health, device settings, system log content, application log content, network usage, call history information, text message history information, data transfer information, wireless signals transmitted or received by the device, signal strength, overall data usage, content access by user, device ID, device model, device operating system, device manufacturer, device sensor data, communication circuit usage, device display usage device profile characteristics, and the like.

[0033] As used herein, the term "location-indicating data" may refer to any information that indicates the location of a computing device. By way of example, and without limitation, "location-indicating data" may include "Global Positioning System (GPS) data", "cellular data", and "Wi-Fi data". By way of example, and without limitation, "GPS data", "cellular data", and "Wi-Fi data" may include latitude, longitude, altitude, satellite ID, cellular tower data, cellular tower connection information, cellular tower ID, Wi-Fi network connection information, Wi-Fi network ID, network provider data, position relative to a reference point, direction (e.g., north, south, east, or west), Bluetooth data, online activity, social media check-in activity, manually entered location information, and the like.

[0034] As used herein, the term "device-specific failure" may refer to any type of failure associated with a computing device. By way of example, and without limitation, a "device-specific failure" may include a failure of the hardware of a computing device, such as a processor failure, a memory failure, a sensor failure, a communication circuit failure, a display failure, etc. As another example, and without limitation, a "device-specific failure" may include a failure of the software of a computing device, such as an application failure, an operating system failure, etc. As used herein, the term "location-specific failure" may include, but is not limited to, any type of failure associated with the location of a computing device. By way of example, and without limitation, a "location-specific failure" may include GPS failure, cellular failure, Wi-Fi failure, etc.

[0035] System Overview FIG. 1 illustrates a system 100 for providing computing device support services, including for identifying and distinguishing between location-specific and device-specific faults, according to some embodiments. It will be understood that the illustrations in system 100 and other figures are each provided as example embodiments and should not be construed to narrow the scope or spirit of the present disclosure in any manner. In this regard, the scope of the present disclosure encompasses many potential embodiments in addition to those illustrated and described herein. Thus, while FIG. 1 illustrates an example configuration of a system for providing computing device support services, numerous other configurations may be used to implement embodiments of the present disclosure.

[0036] The system 100 may include a computing device support apparatus 102 that may be configured to provide computing device support services to a first computing device 104 over a network 112 in accordance with one or more example embodiments disclosed herein. The computing device support apparatus 102 may include one or more servers, server clusters, one or more network nodes, a cloud computing infrastructure, one or more desktop computers, one or more laptop computers, one or more mobile computing devices, subcombinations thereof, and the like.

[0037] The system 100 may include a first computing device 104 for which computing device support services may be provided. Although one such first computing device 104 is illustrated in FIG. 1, it will be understood that this illustration is by way of example and not by way of limitation, as the system 100 may include additional computing devices 104 for which the system 100 may provide computing device support services. The first computing device 104 may be embodied as any computing device, such as, by way of non-limiting example, a cellular phone, a smartphone, a communications device, a tablet computing device, a digital camera / camcorder, an audio / video player, a digital video recorder, a mouse, a keyboard, a router, a laptop computing device, a desktop computing device, a wearable computing device, an Internet of Things computing device, a "smart" appliance (e.g., a refrigerator, a washer, or a dryer with network connectivity), a mobile computing device, any combination thereof, any other device whose location is detectable, and the like.

[0038] The system 100 may include one or more second computing devices 106. In some embodiments, the second computing device 106 may refer to a device at the first location 110A that is not the first computing device 104. Although two such second computing devices 106 are illustrated in FIG. 1, it will be understood that this illustration is by way of example and not by way of limitation, as the system 100 may include additional or fewer second computing devices 106. The one or more second computing devices 106 may be embodied as any computing device, such as, by way of non-limiting examples, a cellular phone, a smartphone, a communication device, a tablet computing device, a digital camera / camcorder, an audio / video player, a digital video recorder, a mouse, a keyboard, a router, a laptop computing device, a desktop computing device, a wearable computing device, an Internet of Things computing device, a "smart" appliance (e.g., a refrigerator, a washer, or a dryer with network connectivity), a mobile computing device, any combination thereof, any other device whose location is detectable, etc. In some embodiments, one or more second computing devices 106 may each be the same type of computing device (e.g., the same broad category of devices (cell phones, laptops, wearable devices, smart appliances, etc.) and / or the same more specific type of device (same brand, model, version, specific internal components, etc.)). In some embodiments, one or more second computing devices 106 may be different types of computing devices. In some embodiments, a portion of one or more second computing devices 106 may be the same type of computing device, while another portion of one or more second computing devices 106 may be a different type of computing device.In some embodiments, one or more second computing devices 106 may each be the same type of computing device as the first computing device 104. In some embodiments, one or more second computing devices 106 may be a different type of computing device than the first computing device 104 and / or one or more other second computing devices 106.

[0039] 1, the first computing device 104 and one or more second computing devices 106 may be at a first location 110A in accordance with one or more exemplary embodiments disclosed herein. In some embodiments, the first computing device 104 and one or more second computing devices 106 are at the first location 110A when they are within a first recognized geographic zone. As described in more detail below, the first location 110A may be identified and / or quantified based on first location indication data received from the first computing device 104 and / or second location indication data received from the one or more second computing devices 106.

[0040] The system 100 may include one or more third computing devices 108. In some embodiments, the third computing device 108 may refer to a device at at least one second location 110B. Although three such third computing devices 108 are illustrated in FIG. 1, it will be understood that this illustration is by way of example and not by way of limitation, as the system 100 may include additional or fewer third computing devices 108. The one or more third computing devices 108 may be embodied as any computing device, such as, by way of non-limiting examples, a cellular phone, a smartphone, a communication device, a tablet computing device, a digital camera / camcorder, an audio / video player, a digital video recorder, a mouse, a keyboard, a router, a laptop computing device, a desktop computing device, a wearable computing device, an Internet of Things computing device, a "smart" appliance (e.g., a refrigerator, a washer, or a dryer with network connectivity), a mobile computing device, any combination thereof, any other device whose location is detectable, etc. In some embodiments, the one or more third computing devices 108 may each be the same type of computing device. In some embodiments, the one or more third computing devices 108 may be different types of computing devices. In some embodiments, a portion of the one or more third computing devices 108 may be the same type of computing device, while another portion of the one or more third computing devices 108 may be a different type of computing device.

[0041] As illustrated in FIG. 1 , one or more third computing devices 108 may be at least one second location 110B according to one or more exemplary embodiments disclosed herein. In some embodiments, the at least one second location 110B may be any location other than the first location 110A. In some embodiments, the one or more third computing devices 108 are at the at least one second location 110B when they are within a second recognized geographic zone. As described in more detail below, the at least one second location 110B may be identified and / or quantified based on third location indication data received from the one or more third computing devices 108. In some embodiments, the at least one second location 110B may include a particular location or geographic zone in which the one or more third computing devices 108 are all located. In some embodiments, the one or more third computing devices 108 at the at least one second location 110B may include any device outside the first location, without requiring that the one or more third computing devices 108 each be in any same location or geographic zone. In some embodiments, the one or more third computing devices 108 may each be the same type of computing device. In some embodiments, the one or more third computing devices 108 may be different types of computing devices. In some embodiments, a portion of the one or more third computing devices 108 may be the same type of computing device, while another portion of the one or more third computing devices 108 may be a different type of computing device. In some embodiments, the one or more third computing devices 108 may each be the same type of computing device as the first computing device 104 and / or the one or more second computing devices 106.In some embodiments, the one or more third computing devices 108 may be a different type of computing device than the first computing device 104, the one or more second computing devices 106, and / or the one or more other third computing devices 108.

[0042] Although not shown in FIG. 1, in some embodiments, system 100 may include additional computing devices at additional locations, as will be understood by those of skill in the art in light of this disclosure. For example, in some embodiments, system 100 may be configured to include one or more fourth computing devices 510, as illustrated in FIG. 5. In some embodiments, fourth computing device 510 may refer to a device at at least one third location 502C. Although three such fourth computing devices 510 are illustrated in FIG. 5, it will be understood that this illustration is by way of example and not by way of limitation, as system 100 may include additional or fewer fourth computing devices 510. One or more fourth computing devices 510 may be embodied as any computing device, such as, by way of non-limiting example, a cellular phone, a smartphone, a communication device, a tablet computing device, a digital camera / camcorder, an audio / video player, a digital video recorder, a laptop computing device, a desktop computing device, a wearable computing device, an Internet of Things computing device, a mobile computing device, any combination thereof, etc. In some embodiments, the one or more fourth computing devices 510 may each be the same type of computing device. In some embodiments, the one or more fourth computing devices 510 may be different types of computing devices. In some embodiments, a portion of the one or more fourth computing devices 510 may be the same type of computing device, while another portion of the one or more fourth computing devices 510 may be different types of computing devices.In some embodiments, the one or more fourth computing devices 510 may each be the same type of computing device as the first computing device 104, the one or more second computing devices 106, and / or the one or more third computing devices 108. In some embodiments, the one or more fourth computing devices 510 may be a different type of computing device than the first computing device 104, the one or more second computing devices 106, the one or more third computing devices 108, and / or the one or more other fourth computing devices 510.

[0043] As illustrated in FIG. 5, the one or more fourth computing devices 510 may be at least one third location 502C according to one or more exemplary embodiments disclosed herein. In some embodiments, the at least one third location 502C may be any location other than the first location 110A, and in some embodiments other than the second location 110B. In some embodiments, the one or more fourth computing devices 510 are at the at least one third location 502C when they are within a third recognized geographic zone. As described in more detail below, the at least one third location 502C may be identified and / or quantified based on fourth location indication data received from the one or more fourth computing devices 510. For example, in some embodiments, the size of the third recognized geographic zone may be determined based on the fourth location indication data (e.g., a predetermined radius, a particular coverage area, a particular common connection type or connection link, etc.). It should also be understood that numerical references such as "first computing device," "second computing device," and the like are merely intended to distinguish devices with respect to the distinctions described herein for ease of understanding (e.g., in some embodiments, a "first" device may be in a different location than a "third device"), but such terms should not be construed as conveying any other limitations or requirements regarding the device's shape, function, or other characteristics.

[0044] In various exemplary embodiments, the first computing device 104, the one or more second computing devices 106, and the one or more third computing devices 108 may be configured to connect to one or more networks 112 via a variety of wireless and / or wired connections. For example, the first computing device 104, the one or more second computing devices 106, and the one or more third computing devices 108 may be configured to access the network 112 via a cellular connection, a wireless local area network connection, an Ethernet connection, or the like. Thus, the network 112 may include a wired network, a wireless network (e.g., a cellular network, a wireless local area network, a wireless wide area network, some combination thereof, etc.), or a combination thereof, and in some exemplary embodiments, includes at least a portion of the Internet. Similarly, the computing device support equipment 102 may connect to one or more networks 112 and may receive any of the data and other information disclosed herein directly or indirectly from the various computing devices, including through one or more intermediate computing systems (not shown).

[0045] 2 illustrates a block diagram of a computing device support unit 102, according to some example embodiments. Note, however, that the components, devices, or elements shown and described below with respect to FIG. 2 may not be required, and thus one or more may be omitted in a particular embodiment. In addition, some embodiments may include additional or different components, devices, or elements beyond those shown and described with respect to FIG.

[0046] The computing device support equipment 102 may be embodied as any one or more computing devices, such as, by way of non-limiting example, a cellular phone, a smartphone, a communication device, a tablet computing device, a desktop computing device, a mobile computing device, a server or service network, a remote computing device, a distributed cloud computing system, a kiosk, an input terminal, any combination thereof, and the like.

[0047] The computing device support apparatus 102 may include or otherwise communicate with a processing circuit 202 that may be configured to perform actions according to one or more exemplary embodiments disclosed herein. In this regard, the processing circuit 202 may be configured to perform and / or control the performance of one or more functionalities of the computing device 102 according to various exemplary embodiments, and thus may provide a means for performing the functionality of the computing device support apparatus 102 according to various exemplary embodiments. The processing circuit 202 may be configured to perform data processing, application execution, and / or other processing and management services according to one or more exemplary embodiments. In some embodiments, the computing device support apparatus 102, or a portion or component of the computing device support apparatus 102, such as the processing circuit 202, may be embodied as or include a chip or chipset. In other words, the computing device 102 or the processing circuit 202 may include one or more physical packages (e.g., chips) that include materials, components, and / or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, size conservation, and / or electrical interaction limitations for the component circuitry contained therein. Thus, the computing device 102 or the processing circuitry 202 may, in some cases, be configured to implement embodiments of the present disclosure on a single chip or as a single "system on a chip." Thus, in some cases, a chip or chipset may constitute a means for performing one or more operations to provide the functionality described herein.

[0048] 2, may further include memory 206 and machine learning circuitry 210. Processing circuitry 202 may communicate with or otherwise control communications interface 212 and / or support services controller 214. Thus, processing circuitry 202 may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., in hardware, software, or a combination of hardware and software) to perform the operations described herein.

[0049] The processor 208 may be embodied in a number of different ways. For example, the processor 208 may be embodied as one or more of a variety of processing means, such as a microprocessor or other processing element, including integrated circuits such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), a co-processor, a controller, or various other computing or processing devices. Although illustrated as a single processor, it will be understood that the processor 208 may include multiple processors. The multiple processors may be in operative communication with each other and collectively configured to perform one or more functionality of the computing device support apparatus 102 as described herein. The multiple processors may be embodied on a single computing device or distributed across multiple computing devices collectively configured to function as the computing device support apparatus 102. In some exemplary embodiments, the processor 208 may be configured to execute instructions stored in the memory 206 or otherwise accessible to the processor 208. Thus, whether configured by hardware or a combination of hardware and software, processor 208 may represent an entity (e.g., physically embodied in a circuit, in the form of processing circuitry 202) that, when configured accordingly, can perform operations in accordance with embodiments of the present disclosure. Thus, for example, where processor 208 is embodied as an ASIC, FPGA, etc., processor 208 may be hardware that is specifically configured to perform the operations described herein. Alternatively, as another example, when processor 208 is embodied as an executor of software instructions, the instructions may specifically configure processor 208 to perform one or more operations described herein.

[0050] In some exemplary embodiments, memory 206 may include one or more non-transitory memory devices, such as, for example, volatile and / or non-volatile memory, which may be either fixed or removable. In this regard, memory 206 may include a non-transitory computer-readable storage medium. Although memory 206 is illustrated as a single memory, it will be understood that memory 206 may include multiple memories. The multiple memories may be embodied on a single computing device or distributed across multiple computing devices collectively configured to function as computing device support apparatus 102. Memory 206 may be configured to store information, data, applications, instructions, and the like for enabling computing device support apparatus 102 to perform various functions in accordance with one or more exemplary embodiments. For example, memory 206 may be configured to buffer input data for processing by processor 208. Additionally or alternatively, memory 206 may be configured to store instructions for execution by processor 208. As yet another alternative, memory 206 may include one or more databases that may store various files, content, or data sets. Of the contents of memory 206, applications may be stored for execution by processor 208 to perform functionality associated with each respective application. In some cases, memory 206 may be in communication with one or more of processor 208, communications interface 212, machine learning circuitry 210, or support services controller 214 via a bus for passing information between components of computing device support equipment 102.

[0051] In some demonstrative embodiments, the machine learning circuitry 210 may include hardware components designed or configured to request, receive, process, generate, and transmit data, data structures, control signals, and electronic information for executing machine learning models trained to identify and distinguish between location-specific and device-specific faults, such as by evaluating device status data received from the first computing device 104, the one or more second computing devices 106, and / or the one or more third computing devices 108. In some demonstrative embodiments, the memory 206 may communicate with one or more of the memory 206, the processor 208, the communication interface 212, or the support services controller 214 via a bus for passing information between components of the computing device support apparatus 102.

[0052] In some demonstrative embodiments, the computing device support unit 102 may further include a communications interface 212. In some cases, the communications interface 212 may be any means, such as a device or circuitry embodied in either hardware or a combination of hardware and software, configured to receive and / or transmit data from / to a network and / or any other device or circuitry in communication with the processing circuit 202. By way of example, the communications interface 212 may be configured to enable the computing device support unit 102 to communicate with the first computing device 104, one or more second computing devices 106, one or more third computing devices 108, and / or other computing devices over the network 112. Thus, the communications interface 212 may include, for example, an antenna (or multiple antennas) and supporting hardware and / or software to enable communication with a wireless communications network (e.g., a wireless local area network, a cellular network, etc.), and / or a communications modem or other hardware / software to support communication via cable, digital subscriber line (DSL), universal serial bus (USB), Ethernet, or other methods.

[0053] In some demonstrative embodiments, the computing device support apparatus 102 may be embodied as, include, or otherwise control the support services controller 214. Thus, the support services controller 214 may be embodied as various means, such as a circuit, hardware, a computer program product including computer readable program instructions stored in a computer readable medium (e.g., memory 206) and executed by a processing device (e.g., processor 208), or some combination thereof. The support services controller 214 may be capable of communicating with one or more of the memory 206 or the communication interface 212 to access, receive, and / or transmit data as may be required to perform one or more of the functionality of the support services controller 214 described herein.

[0054] FIG. 3 illustrates a block diagram of a first computing device 104 according to some example embodiments. However, it should be noted that the components, devices, or elements shown and described below with respect to FIG. 3 may not be required, and thus some may be omitted in certain embodiments. In addition, some embodiments may include additional or different components, devices, or elements beyond those shown and described with respect to FIG. 3. Although not separately labeled in FIG. 3, it should be noted that one or more of the second computing devices 106 and one or more of the third computing devices 108 may include the same or similar components, devices, or elements as described below with respect to the first computing device 104 of FIG. 3. In addition, in some embodiments, one or more of the second computing devices 106 and one or more of the third computing devices 108 may include additional or different components, devices, or elements beyond those described with respect to FIG. 3, including dedicated circuitry (e.g., hardware, software, and / or combinations thereof) for achieving any of the operations and functionality described herein.

[0055] 3, there is illustrated a block diagram of a first computing device 104. As mentioned above, the first computing device 104 may be embodied as any computing device, such as, by way of non-limiting example, a cellular phone, a smartphone, a communication device, a tablet computing device, a digital camera / camcorder, an audio / video player, a digital video recorder, a mouse, a keyboard, a router, a laptop computing device, a desktop computing device, a wearable computing device, an Internet of Things computing device, a "smart" appliance (e.g., a refrigerator, a washer, or a dryer with network connectivity), a mobile computing device, any combination thereof, any other device whose location is detectable, etc.

[0056] The first computing device 104 may include or otherwise communicate with a processing circuit 302 that may be configured to perform actions according to one or more exemplary embodiments disclosed herein. In this regard, the processing circuit 302 may be configured to perform and / or control the performance of one or more functionalities of the first computing device 104 according to various exemplary embodiments, and thus may provide a means for performing the functionality of the first computing device 104 according to various exemplary embodiments. The processing circuit 302 may be configured to perform data processing, application execution, and / or other processing and management services according to one or more exemplary embodiments. In some embodiments, the first computing device 104, or a portion or component of the first computing device 104, such as the processing circuit 302, may be embodied as or include a chip or chipset. In other words, the first computing device 104 or the processing circuit 302 may include one or more physical packages (e.g., chips) that include materials, components, and / or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, size conservation, and / or electrical interaction limitations for the component circuitry contained therein. Thus, the first computing device 104 or the processing circuit 302 may, in some cases, be configured to implement embodiments of the present disclosure on a single chip or as a single "system on a chip." Thus, in some cases, a chip or chipset may constitute a means for performing one or more operations to provide the functionality described herein.

[0057] In some demonstrative embodiments, the processing circuitry 302 may include a processor 306, and in some embodiments as illustrated in Figure 3, may further include a memory 304. The processing circuitry 302 may be in communication with or otherwise control a user interface 308, a communication interface 310, and / or a computer application controller 312. Thus, the processing circuitry 302 may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., in hardware, software, or a combination of hardware and software) to perform the operations described herein.

[0058] The processor 306 may be embodied in a number of different ways. For example, the processor 306 may be embodied as one or more of various processing means, such as a microprocessor or other processing element, including integrated circuits such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), a co-processor, a controller, or various other computing or processing devices. Although illustrated as a single processor, it will be understood that the processor 306 may include multiple processors. The multiple processors may be in operative communication with each other and may be collectively configured to perform one or more functionality of the first computing device 104 as described herein. In some exemplary embodiments, the processor 306 may be configured to execute instructions stored in the memory 304 or otherwise accessible to the processor 306. Thus, whether configured by hardware or a combination of hardware and software, the processor 306 may represent an entity (e.g., physically embodied in a circuit, in the form of the processing circuit 302) that, when configured accordingly, is capable of performing operations in accordance with embodiments of the present disclosure. Thus, for example, if the processor 306 is embodied as an ASIC, FPGA, etc., the processor 306 may be hardware that is specially configured to perform the operations described herein. Alternatively, as another example, when the processor 306 is embodied as an executor of software instructions, the instructions may specifically configure the processor 306 to perform one or more operations described herein.

[0059] In some exemplary embodiments, the memory 304 may include one or more non-transitory memory devices, such as, for example, volatile and / or non-volatile memory, which may be either fixed or removable. In this regard, the memory 304 may include a non-transitory computer-readable storage medium. Although the memory 304 is illustrated as a single memory, it will be understood that the memory 304 may include multiple memories. The memory 304 may be configured to store information, data, applications, instructions, etc. for enabling the first computing device 104 to perform various functions according to one or more exemplary embodiments. For example, the memory 304 may be configured to buffer input data for processing by the processor 306. Additionally or alternatively, the memory 304 may be configured to store instructions for execution by the processor 306. As yet another alternative, the memory 304 may include one or more databases that may store various files, content, or data sets. Of the contents of the memory 304, applications may be stored for execution by the processor 306 to perform functionality associated with each respective application. In some cases, the memory 304 may communicate with one or more of the processor 306, the user interface 308, the communication interface 310, or the computer application controller 312 via a bus for passing information between components of the first computing device 104.

[0060] The user interface 308 may be in communication with the processing circuit 302 to receive indications of user input at the user interface 308 and / or provide audible, visual, mechanical, or other output to the user. The user interface 308 may thus include, for example, a keyboard, a mouse, a screen, a joystick, a display, a touch screen display, a microphone, a speaker, and / or other input / output mechanisms. The user interface 308 thus provides, in some exemplary embodiments, a means by which a user accesses and interacts with computing device support services provided by the computing device support apparatus 102 in accordance with various exemplary embodiments.

[0061] The communication interface 310 may include one or more interface mechanisms to enable communication with other devices and / or networks. In some cases, the communication interface 310 may be any means, such as a device or circuitry embodied in either hardware or a combination of hardware and software, configured to receive and / or transmit data from / to a network and / or any other device or module in communication with the processing circuit 302. By way of example, the communication interface 310 may be configured to enable the first computing device 104 to communicate with the computing device support apparatus 102 and / or other computing devices over the network 112. Thus, the communication interface 310 may include, for example, an antenna (or multiple antennas) and supporting hardware and / or software to enable communication with a wireless communication network (e.g., wireless local area network, cellular network, global positioning system, etc.) and / or a communications modem or other hardware / software to support communication via cable, digital subscriber line (DSL), universal serial bus (USB), Ethernet, or other methods.

[0062] In some demonstrative embodiments, the processor 306 (or processing circuitry 302) may be embodied as, include, or otherwise control the computer application controller 312. Thus, the computer application controller 312 may be embodied as various means, such as a circuit, hardware, a computer program product including computer readable program instructions stored in a computer readable medium (e.g., memory 304) and executed by a processing device (e.g., processor 306), or some combination thereof. The computer application controller 312 may be capable of communicating with one or more of the memory 304, the user interface 308, or the communication interface 310 to access, receive, and / or transmit data as may be required to perform one or more of the functionality of the computer application controller 312 described herein. According to some demonstrative embodiments, the computer application controller 312 may provide a means for implementing and controlling the functionality of computer applications that may be configured to interact with the computing device support apparatus 102 and assist the computing device support apparatus 102 in providing computing device support services and / or perform fault identification of the first computing device 104 according to various demonstrative embodiments.

[0063] Having generally described some embodiments of the system 100, computing device support services, including for identifying and distinguishing between location-specific faults and device-specific faults associated with the first computing device 104, will now be described in accordance with some example embodiments.

[0064] Fault Identification Some exemplary embodiments provide location-aware computing device support services, including to identify and differentiate between location-specific faults and device-specific faults associated with the first computing device 104. According to various exemplary embodiments, these services may be provided by the computing device support appliance 102 using, for example, trained machine learning models executed by the machine learning circuitry 210 under the control of the support services controller 214.

[0065] Device Status Data Collection In some example embodiments, to facilitate provision of computing device support services, including to identify and differentiate between location-specific faults and device-specific faults associated with the first computing device 104, the computing device support apparatus 102 may be configured to monitor, collect, and store device status data. In some embodiments, the computing device support apparatus 102 may be configured to monitor, collect, and store first device status data from the first computing device 104, second device status data from one or more second computing devices 106, third device status data from one or more third computing devices 108, and / or data from one or more additional devices or sets of devices. In some embodiments, the device status data may include device performance data according to any of the various embodiments discussed herein. Additionally or alternatively, the device state data may include location indication data. Although the discussion in this section primarily refers to various methods and protocols for collecting and storing first device status data from a first computing device 104 by the computing device support apparatus 102, similar methods and protocols may be used to collect and store second device status data from one or more second computing devices 106 and / or third device status data from one or more third computing devices 108. Additionally or alternatively, the computing device support apparatus 102 may use alternative or additional methods for collecting and storing second device status data from one or more second computing devices 106 and / or third device status data from one or more third computing devices 108.

[0066] In some embodiments, a user may register or opt-in to receive computing device support services according to various embodiments disclosed herein, including to identify and differentiate between location-specific faults and device-specific faults associated with the first computing device 104 from the computing device support apparatus 102. Registration in some exemplary embodiments may include a proactive user action, such as, for example, registering via a web portal such as may be provided by the computing device support apparatus 102 and accessible via the first computing device 104, registering via a computer application that may be implemented on the first computing device 104, etc. As another example, in some exemplary embodiments, registration may occur automatically in response to a user enrolling in a device protection plan for the first computing device 104, purchasing a device warranty for the first computing device 104, purchasing the first computing device 104, etc.

[0067] In some embodiments, the registration information may be provided by a user and / or otherwise determined during a registration process, such as by the machine learning circuitry 210, the support services controller 214, and / or the computer application controller 312. This registration information may include information that enables and / or otherwise configures the provision of computing device support services, including, in some embodiments, for identifying and distinguishing between location-specific and device-specific faults. The registration information may include first device status data, such as, for example, first device performance data and first location indication data. For example, the registration information may include first device performance data including a device ID, a device model, a device operating system, a device manufacture, user account information, and the like.

[0068] In some embodiments, the computing device support apparatus 102, at least via the support services controller 214, may be configured to collect first device status data from the first computing device 104. In some embodiments, the support services controller 214 may be assisted by the computer application controller 312 of the first computing device 104. The collection of the first device status data may be performed, for example, in real time, periodically, continuously, aperiodically, according to a schedule, on-demand, according to configuration settings defined by a user of the first computing device 104, according to configuration settings defined by an operator or controller of the computing device support apparatus 102, according to configuration settings defined by the machine learning circuitry 210, etc.

[0069] For example, the computing device support apparatus 102 may be configured to proactively monitor and collect first device status data from the first computing device 104. In this manner, the computing device support apparatus 102 may be configured to proactively look for faults associated with the first computing device 104. As another example, the collection may be configured to capture only some types of first device status data and / or capture only some types of first device status data when a particular condition is met. For example, the computing device support apparatus 102 may be configured to initially collect first device status data including at least one indication of a fault from the first computing device 104. In this regard, after receiving the first device status data including at least one indication of a fault, the computing device support apparatus 102 may collect other first device status data from the first computing device 104. As another example, the collection may be configured to capture only certain first device performance data that may be useful in identifying a particular fault. As another example, collection may be configured to only capture the first location indication data when the first computing device 104 is at a particular location, connected to a particular cellular or Wi-Fi network, etc. As another example, the computing device support apparatus 102 may be configured to collect the first device status data from the first computing device 104 on-demand in response to a user and / or operator request. For example, collection may be in accordance with privacy settings and / or privacy policies agreed to by the user. As another example, collection may be configured to occur during periods of low utilization of the first computing device 104 and / or the computing device support apparatus 102, such as overnight and / or when there is free server capacity.As another example, collection may be configured to occur during a period when the first computing device 104 is connected to an external power source, such as when a battery of the first computing device 104 may be charged.

[0070] In some embodiments, collection of the first device status data may be performed with the aid of one or more sensors that may, for example, be implemented in and / or otherwise queried by the first computing device 104. By way of non-limiting example, these sensors may include touch screen sensors, key actuation sensors (e.g., for a keypad / keyboard), Global Positioning System (GPS) sensors, accelerometers, battery level sensors, battery capacity sensors, battery temperature sensors, network signal strength sensors, etc.

[0071] In some embodiments, the first device status data collected from the first computing device 104 may be used to determine a device profile associated with the first computing device 104. In some embodiments, the device profile associated with the first computing device 104 may include a record of all first device status data associated with the first computing device 104. In some embodiments, the device profile may include one or more characteristics associated with the first computing device 104. In some embodiments, machine learning techniques may be performed by the machine learning circuitry 210 on the captured first device status data to determine one or more characteristics associated with the first computing device 104. In some embodiments, the device profile may be maintained in memory 206 and / or in memory 304, etc. In some embodiments, the device profile maintained in memory 206 and / or memory 304 may be updated continuously, aperiodically, according to a schedule, on-demand, according to user configuration, etc. as more first device status data is collected from the first computing device 104. In some embodiments, the device profile maintained in memory 206 and / or memory 304 may be used to identify and distinguish between location-specific faults and device-specific faults associated with the first computing device 104.

[0072] Device Status Data Aggregation As described above, the computing device support apparatus 102 may be configured to collect second device status data from one or more second computing devices 106 and collect third device status data from one or more third computing devices 108. In some embodiments, the one or more second computing devices 106 and the one or more third computing devices 108 may include computing devices for which the computing device support apparatus 102 has previously provided and / or is currently providing computing device support services to identify and distinguish between location-specific and device-specific faults. Additionally or alternatively, the one or more second computing devices 106 and the one or more third computing devices 108 may include computing devices for which the computing device support apparatus 102 has not previously provided and / or is not currently providing computing device support services.

[0073] In some embodiments, the second device status data may include device status data associated with only one of the one or more second computing devices 106. Additionally or alternatively, in some embodiments, the second device status data may include device status data associated with two or more of the one or more second computing devices 106. In other words, in some embodiments, the computing device support apparatus 102 may use the second device status data associated with only one of the one or more second computing devices 106 and / or the second device status data associated with two or more of the one or more second computing devices 106 to identify and distinguish between location-specific faults and device-specific faults associated with the first computing device 104. Similarly, in some embodiments, the third device status data may include device status data associated with only one of the one or more third computing devices 108. Additionally or alternatively, in some embodiments, the third device status data may include device status data associated with two or more of the one or more third computing devices 108. In other words, in some embodiments, the computing device support apparatus 102 may identify and distinguish between location-specific faults and device-specific faults associated with the first computing device 104 using third device status data associated with only one of the one or more third computing devices 108 and / or using third device status data associated with two or more of the one or more third computing devices 108. In some embodiments, the second and third devices may be included in a single dataset or multiple datasets and may be distinguished in the dataset or via collecting separate datasets.

[0074] In some embodiments, the computing device support unit 102 may create a plurality of historical device status data sets from the second device status data and the third device status data (e.g., one or more aggregated data sets). In some embodiments, the plurality of historical device status data sets may include historical location indication data sets. For example, the historical location indication data sets may be formed from a plurality of computing devices experiencing location-specific faults at one or more locations. In some embodiments, the historical location indication data sets may be divided into historical device status data sets for a particular type of location-specific fault (e.g., faults associated with a cellular network). In some embodiments, the plurality of historical device status data sets may include historical device performance data sets. For example, the historical device performance data sets may be formed from a plurality of computing devices experiencing device-specific faults. In some embodiments, the historical device performance data sets may be divided into historical device status data sets for a particular type of device-specific fault (e.g., battery depletion, radio failure, etc.). In some embodiments, the plurality of historical device status data sets may include historical device status data sets for a particular model or type of computing device (e.g., computing devices having an Android operating system). In some embodiments, as described in more detail below, multiple historical device status data sets may be used to train machine learning models that may be executed by the machine learning circuitry 210 to identify and differentiate between device-specific and / or location-specific faults. In some embodiments, the historical device status data sets may be stored and categorized from the time or data set that triggered the detection of the device-specific and / or location-specific fault.In some embodiments, faults diagnosed by the model are fed back into the historical device status dataset as further training data, which may be subject to review and / or validation before being included.

[0075] Location Identification As mentioned above, in some embodiments, the computing device support apparatus 102 may determine that the first computing device 104 and one or more second computing devices 106 may be at or have been at the first location 110A such that device status data associated with the first location 110A is available to the device (e.g., the device status data may be currently provided device status data and / or past device status data). In some embodiments, the first computing device 104 and / or one or more second computing devices 106 may be determined to be at the first location 110A when they are within a first recognized geographic zone. As used herein, a "geographic zone" may refer to an area determined to be at a particular "location" (e.g., the first location 110A may encompass an area larger than a single infinitesimal point, such as a predetermined radius around a particular coordinate location, all locations within range of a cellular tower or satellite, all locations within range of a wireless router, or any other means of distinguishing one physical area from another). In some embodiments, the first location 110A may be identified and / or quantified based on the first location indication data received from the first computing device 104 and / or the second location indication data received from one or more second computing devices 106. For example, the first location 110A may be based on the location of the first computing device 104 such that the first computing device 104 is in the center of the first location 110A (e.g., the center of a first recognized geographic zone). In some such embodiments, the models described herein may be trained on the actual location of the first computing device 104.In some embodiments, models may be trained for a predetermined recognized geographical area, and a particular pre-trained model may be selected by selecting a pre-trained model that is closest to the actual location of the first computing device 104. As another example, in some embodiments, the size of the first recognized geographical zone may be determined based on the first location indication data (e.g., a predetermined radius, a particular coverage area, a particular common connection type or connection link, etc.). Similarly, in some embodiments, as described above, the computing device support apparatus 102 may determine that one or more third computing devices 108 may be at least one second location 110B. In some embodiments, the one or more third computing devices 108 are at at least one second location 110B when they are within the second recognized geographical zone. In some embodiments, the at least one second location 110B may be any location other than the first location 110A. In some embodiments, at least one second location 110B may be identified and / or quantified based on third location indication data received from one or more third computing devices 108. For example, in some embodiments, a size of the second recognized geographic zone may be determined based on the second location indication data (e.g., a predetermined radius, a particular coverage area, a particular common connection type or connection link, etc.). In some such embodiments, the models described herein may be trained on the actual locations of one or more second computing devices 106 by selecting an average or group of two or more second computing devices 106 and / or by selecting an area outside the first location.In some embodiments, models may be trained for a given recognized geographic region, and a particular pre-trained model may be selected by selecting a pre-trained model that is closest to the actual location of the second computing device, or by selecting the closest pre-trained model that does not include the actual location of the first computing device.

[0076] 4, the computing device support apparatus 102 may determine that the first computing device 104 and / or one or more second computing devices 106 are at a first location 110A based on the first location indication data and / or the second location indication data including GPS data. For example, the first location indication data and / or the second location indication data may indicate that the first computing device 104 and the one or more second computing devices 106 are at specific coordinates within a predetermined range of each other. As another example, the first location indication data and / or the second location indication data may indicate that the first computing device 104 and the one or more second computing devices 106 are within range of or in communication with a first satellite 402A. Similarly, as illustrated in the exemplary embodiment of FIG. 4, the computing device support apparatus 102 may determine that one or more third computing devices 108 are in at least one second location 110B based on the third location indication data including GPS data. For example, the third location indication data may indicate that one or more third computing devices 108 are in particular coordinates within a predetermined range of each other. As another example, the third location indication data may indicate that one or more third computing devices 108 are in range of or in communication with the second satellite 402b. In some embodiments, multiple satellites may be taken into account (e.g., devices within range of two, three, four, five, six, or more satellites may be determined to be in the same location). For example, a GPS location may be triangulated based on multiple satellites in relation to a particular device, and a combination of connected satellites and / or distances to the satellites may determine the location.

[0077] 5, the computing device support apparatus 102 may determine that the first computing device 104 and one or more second computing devices 106 are at a first location 110A based on the first location indication data and / or the second location indication data including cellular data. For example, the first location indication data and / or the second location indication data may indicate that the first computing device 104 and one or more second computing devices 106 are at specific coordinates within a predetermined range of each other. As another example, the first location indication data and / or the second location indication data may indicate that the first computing device 104 and one or more second computing devices 106 are within range of or in communication with a first cellular tower 512A. Similarly, as illustrated in the exemplary embodiment of FIG. 5, the computing device support apparatus 102 may determine that one or more third computing devices 108 are in at least one second location 110B based on the third location indication data including cellular data. For example, the third location indication data may indicate that one or more third computing devices 108 are in specific coordinates within a predetermined range of each other. As another example, the third location indication data may indicate that one or more third computing devices 108 are in range of or in communication with the second cellular tower 512B. In some embodiments, the first cellular tower 512A and the second cellular tower 512B may belong to a common cellular network, such as cellular network A 512A. In some embodiments, multiple cellular towers may be considered (e.g., devices within range of two, three, four, five, six, or more towers may be determined to be in the same location). For example, cellular location may be triangulated based on multiple cellular towers associated with a particular device, and the combination of connected towers may determine an approximate location.

[0078] As illustrated in the exemplary embodiment of FIG. 5, the computing device support apparatus 102 may also be configured to determine that one or more fourth computing devices 510 are at or have previously been at the at least one third location 502C such that device status data associated with the at least one third location 502C is available to the device (e.g., the device status data may be currently provided device status data and / or past device status data). In some embodiments, the one or more fourth computing devices 510 may be determined to be at the at least one third location 502C when they are in the third recognized geographic zone. The at least one third location 502C may be identified and / or quantified based on the fourth location indication data received from the one or more fourth computing devices 510. For example, in some embodiments, the size of the third recognized geographic zone may be determined based on the fourth location indication data (e.g., a predetermined radius, a particular coverage area, a particular common connection type or connection link, etc.). For example, the fourth location indication data may indicate that one or more of the fourth computing devices 510 are at particular coordinates within a predetermined range of each other. As another example, the fourth location indication data may indicate that one or more of the fourth computing devices 510 are within range of or in communication with a third cellular tower 512C. In some embodiments, the third cellular tower 512C may belong to a different cellular network than the first cellular tower 512A and the second cellular tower 512B, such as cellular network B 514B.

[0079] 6, the computing device support apparatus 102 may determine that the first computing device 104 and one or more second computing devices 106 are at a first location 110A based on the first location indication data and / or the second location indication data including Wi-Fi data. For example, the first location indication data and / or the second location indication data may indicate that the first computing device 104 and one or more second computing devices 106 are within range of or in communication with a first Wi-Fi device 604A (e.g., a first Wi-Fi router). In some embodiments, the first Wi-Fi device 604A may be configured to provide Wi-Fi coverage to one floor of a house or office building. Similarly, as illustrated in the exemplary embodiment of Figure 6, the computing device support apparatus 102 may determine that one or more third computing devices 108 are at at least one second location 110B based on the third location indication data including Wi-Fi data. For example, the third location indication data may indicate that one or more third computing devices 108 are within range of or in communication with a second Wi-Fi device 604B (e.g., a second Wi-Fi router). In some embodiments, the second Wi-Fi device 604B may be configured to provide Wi-Fi coverage to different floors of a home or office building.

[0080] Although some examples are provided herein, any other method of distinguishing location and data source for location may be used to identify data associated with the first device, the second device, the third device, and any other devices.

[0081] Proactive identification of device failures In some embodiments, the computing device support apparatus 102 may facilitate proactive identification of device faults that may affect the first computing device 104, e.g., using the processor 208, the trained machine learning model executed by the machine learning circuitry 210, and / or other components of the computing device support apparatus 102. For example, the computing device support apparatus 102 may receive first device performance data from the first computing device 104. In some embodiments, the computing device support apparatus 102 may determine that the received first device performance data includes anomalous data points that indicate that the first computing device 104 is affected by a fault. In some embodiments, in response to determining that the first computing device 104 is affected by a fault, the computing device support apparatus 102 may determine whether the first computing device 104 is affected by a device-specific fault or a location-specific fault (e.g., determine whether the anomalous data points that indicate that the first computing device 104 is affected by a fault are caused by a fault associated with a device or system other than the first computing device 104 or are caused by a fault occurring on the first computing device 104). In some embodiments, the computing device support equipment 102 and / or the first computing device 104 may detect a location associated with the first computing device 104, determine that the location is associated with one or more performance faults, and proactively alert a user before or during the occurrence of the faults. In some embodiments, an application executing on the first computing device 104 may receive instructions from the computing device support equipment 102 and / or may include pre-programmed instructions on the first computing device 104 to identify one or more of the device-specific or location-specific faults discussed herein.

[0082] Identifying and differentiating between location-specific and device-specific faults In some embodiments, the computing device support apparatus 102 may facilitate identification and / or differentiation of location-specific and device-specific failures that may affect the first computing device 104, for example, using the processor 208, the trained machine learning model executed by the machine learning circuitry 210, and / or other components of the computing device support apparatus 102. In some embodiments, the computing device support apparatus 102 may identify and differentiate between location-specific and / or device-specific failures. In some embodiments, a location-specific failure may be a failure encountered by at least one other computing device (e.g., other than the first computing device 104) at a location, such as the first location 110A, according to the processes described herein. In some embodiments, an identified failure (e.g., an actual or potential failure) that is determined to be a location-specific failure may be determined not to be an actual failure of the computing device. For example, geography, the infrastructure supporting the first computing device 104, or other factors not primarily caused by the first computing device 104 itself may cause performance issues (e.g., a decrease in performance of the first computing device 104) that indicate a perceived impairment of the first computing device 104. The computing device support unit 102 may then determine (e.g., using a machine learning model trained by the machine learning circuitry 210 that compares the first computing device to other devices at the same location and different locations) that the performance issues are caused, in whole or in part, by location (e.g., geography, infrastructure, or other factors discussed above).

[0083] In some embodiments, a location-specific failure may be a failure caused by a device or system other than the first computing device 104, but encountered by the first computing device 104. For example, a location-specific failure may be one or more of a geographic failure, a global positioning system failure, a Wi-Fi failure, and / or a cellular failure, such as a failure associated with a global positioning system satellite or network, a cellular tower or network, and / or a Wi-Fi device or network. In some embodiments, a device-specific failure may be a failure occurring on the first computing device 104, such as a software or hardware failure on the first computing device 104.

[0084] In some embodiments, the computing device support apparatus 102 may identify and distinguish location-specific and / or device-specific faults affecting the first computing device 104 by comparing the first device status data from the first computing device 104 with the second device status data from one or more second computing devices 106 (e.g., by a machine learning model trained from historical device status data sets) using, for example, a trained machine learning model executed by the machine learning circuitry 210. For example, in some embodiments, the computing device support apparatus 102 may compare some or all of the first device performance data with some or all of the second device performance data. Additionally or alternatively, the computing device support apparatus 102 may compare a particular first device performance data (e.g., signal strength of the first computing device 104) with corresponding second device performance data (e.g., signal strength of one or more second computing devices 106). In some embodiments, if the first device performance data is substantially equal to the second device performance data to which the first device performance is compared (e.g., the first device performance data indicates a performance problem of the first computing device 104 and the second device performance data indicates a similar performance problem of one or more second computing devices 106 at the same location), the computing device support apparatus 102 may determine that the first computing device 104 has a location-specific failure, which in some embodiments may be determined to be not a device-specific failure (e.g., not a failure of the first computing device 104 itself). In some embodiments, if the first device performance data is not substantially equal to the second device performance data to which the first device performance data is compared, the computing device support apparatus 102 may determine that the first computing device 104 has a device-specific failure.As discussed herein, “comparing” the first device status data with the second device status data may include directly comparing data values ​​between the devices (e.g., directly comparing battery usage of the first computing device 104 with battery usage of one or more second computing devices 106) or may include applying all or a portion of the first device status data and / or the second device status data to a trained machine learning model trained from historical device status data sets.

[0085] As a non-limiting example, the computing device support apparatus 102 may receive first device performance data from the first computing device 104 indicating a variance in the location of the first computing device 104 (e.g., a calculated error or confidence interval of a location measurement, such as deviation in latitude and / or longitude). The received device performance data may be compared to second device performance data from one or more second computing devices 106 associated with the locations (e.g., latitude and / or longitude) of the one or more second computing devices 106. If the first device performance data and the second device performance data are the same or at least substantially equal (e.g., the second device performance data indicates a variance in the location of at least some of the one or more second computing devices 106 that is equal to the variance in the location of the first computing device 104), the computing device support apparatus 102 may determine, for example, using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a location-specific fault. For example, the first computing device 104 may be affected by GPS impairments, such as impairments associated with GPS satellites that cause position measurement errors for that particular location. Similarly, location-specific impairments may be geographically induced, such as being in a mountainous location where the GPS signal is poor or unstable.

[0086] If the first device performance data and the second device performance data are not substantially equal (e.g., if the second device performance data does not exhibit the same or at least substantially equal (e.g., within a predetermined range or other threshold) variations in at least some locations of the one or more second computing devices 106), the computing device support apparatus 102 may determine, using, for example, a trained machine learning model performed by the machine learning circuitry 210, that the first computing device 104 is affected by a device-specific fault, such as a hardware or software problem associated with a GPS sensor or other component on the first computing device 104. In some embodiments, in response to determining that the first computing device 104 is affected by a location-specific fault and / or a device-specific fault, the computing device support apparatus 102 under the direction of the support services controller 214 may be configured to cause information regarding the one or more device-specific faults and / or location-specific faults to be displayed via the graphical user interface 702.

[0087] As another non-limiting example, the computing device support apparatus 102 may receive first device performance data from the first computing device 104 indicating that the first computing device 104 has a weak cellular signal strength. The received device performance data may be compared to second device performance data from one or more second computing devices 106 associated with the cellular signal strength. If the comparison of the first device performance data and the second device performance data indicates that the cellular signal strength of the first computing device 104 is the same as, or at least substantially equal to, the cellular signal strength of the one or more second computing devices 106, the computing device support apparatus 102 may determine, for example, using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a location-specific impairment. For example, the first computing device 104 may be affected by a cellular impairment, such as an impairment associated with a cellular tower or a poor signal (e.g., a rural area or an area having an otherwise poor signal).

[0088] If the comparison of the first device performance data and the second device performance data indicates that the cellular signal strength of the first computing device 104 is not the same as, or at least substantially equal to, the cellular signal strength of the one or more second computing devices 106, the computing device support apparatus 102 may determine, e.g., using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a device-specific fault. For example, the first computing device 104 may have a hardware fault associated with the communication interface 310, such as a damaged cellular communication antenna, radio, or other component. In some embodiments, in response to determining that the first computing device 104 is affected by a location-specific fault and / or a device-specific fault, the computing device support apparatus 102 under the direction of the support services controller 214 may be configured to cause information regarding the one or more device-specific faults and / or location-specific faults to be displayed via the graphical user interface 702.

[0089] In another non-limiting example, the computing device support unit 102 may receive first device performance data from the first computing device 104 indicating that the first computing device 104 is experiencing one or more battery issues, including, but not limited to, a battery capacity issue, a battery charging rate issue, a battery voltage issue, or a battery overheating issue. To detect a battery issue, one or more of the following data values ​​are included in the device performance data: battery identifier, battery type, battery voltage data, battery age data, device age data, battery power capacity data, battery charge state data, battery charge cycle count, battery discharge cycle count, battery charge rate, battery discharge rate, charge voltage data, charge method data, battery usage data, battery temperature variation data (e.g., charging, discharging, etc.), battery overheating alert, etc.

[0090] The received device performance data may be compared to second device performance data from one or more second computing devices 106 associated with one or more battery issues. If the comparison of the first device performance data and the second device performance data indicates that the battery performance data associated with the one or more battery issues of the first computing device 104 is the same, or at least substantially equal, to the corresponding battery performance data of the one or more second computing devices 106, the computing device support apparatus 102 may determine, using, for example, a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a location-specific impairment. For example, the first computing device 104 may be in a location with poor wireless signal (e.g., in a rural area or an area otherwise with poor signal), which may cause increased battery drain and poorer charging times.

[0091] If the comparison of the first device performance data and the second device performance data indicates that the battery performance of the first computing device 104 is not the same as, or at least substantially equal to, the battery performance of the one or more second computing devices 106, the computing device support apparatus 102 may determine, for example, using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a device-specific fault. For example, the first computing device 104 may have a bad battery or an old and worn-out battery. In some embodiments, in response to determining that the first computing device 104 is affected by a location-specific fault and / or a device-specific fault, the computing device support apparatus 102 under the direction of the support services controller 214 may be configured to cause information regarding the one or more device-specific faults and / or location-specific faults to be displayed via the graphical user interface 702.

[0092] In some embodiments, the battery performance prediction server 210 is configured to determine the expected battery performance of the device battery by employing one or more machine learning models (e.g., artificial neural networks, convolutional neural networks, or other machine learning systems). For example, battery performance related indicators or data points, such as battery age, battery capacity, battery charge, charging voltage, and charging state, vary for each device battery and may be further influenced by other factors, such as environmental and usage factors, all of which affect how the battery operates and continues to operate in the associated device. In addition, sensors of the associated device (e.g., accelerometers, gyroscopes, etc.) and algorithms that can directly or indirectly detect fall-related and / or motion speed provide valuable inputs to the machine learning techniques or other similar techniques. Thus, in some embodiments, the expected battery performance is determined based on the machine learning models utilizing such values, variables, parameters, and data inputs calculated, received, and / or transmitted within the battery performance prediction system 200 to identify and / or determine relationships between various data inputs.

[0093] Such machine learning models may undergo unsupervised training, supervised training, semi-supervised training, reinforcement learning, deep learning, etc., to analyze the battery performance data and / or to determine and utilize relationships for such battery performance predictions. During training of such machine learning models (e.g., artificial / convolutional neural networks, etc.), the models may be iteratively fed with a plurality of battery performance data such that the models may be configured to determine patterns among a plurality of parameters, values, and data points defined by the battery performance data over time. Stated another way, the machine learning models may be configured to determine correlations or patterns associated with values ​​and parameters in the battery performance data to determine more accurate predictions of battery performance.

[0094] As another non-limiting example, the computing device support apparatus 102 may receive first device performance data from the first computing device 104 indicating that the first computing device 104 is frequently disconnected from the Wi-Fi device or suffers from a poor Wi-Fi signal. The received device performance data may be compared to second device performance data from one or more second computing devices 106 associated with the Wi-Fi device. If the first device performance data and the second device performance data are the same or at least substantially equal (e.g., the second device performance data indicates that at least some of the one or more second computing devices 106 are also frequently disconnected from the Wi-Fi device), the computing device support apparatus 102 may determine, for example, using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a location-specific impairment. For example, the first computing device 104 may be affected by a Wi-Fi impairment, such as a Wi-Fi device failure. In such embodiments, the first location 110A may be a home, a commercial building, or other location associated with a particular Wi-Fi network. In some embodiments, locations within a single Wi-Fi network may be distinguished as first and second locations (e.g., by comparing device identities to determine where they are likely to be located, by triangulating the location of devices using multiple receivers on the network, by having a user input a location within the Wi-Fi network, etc.).If the first device performance data and the second device performance data are not the same or at least not substantially equal (e.g., the second device performance data indicates that few, if any, of the one or more second computing devices 106 are constantly disconnecting from the Wi-Fi device), the computing device support apparatus 102 may determine, e.g., using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a device-specific fault. For example, the first computing device 104 may be affected by a software fault, such as having a malicious application that causes the Wi-Fi device to refuse to connect, or a hardware fault, such as a faulty Wi-Fi antenna, radio, or other component. In some embodiments, in response to determining that the first computing device 104 is affected by a location-specific fault and / or a device-specific fault, the computing device support apparatus 102 under the direction of the support services controller 214 may be configured to cause information regarding the one or more device-specific faults and / or location-specific faults to be displayed via the graphical user interface 702.

[0095] In some embodiments, the computing device support apparatus 102 may identify and distinguish between location-specific faults and device-specific faults affecting the first computing device 104, for example, by using a trained machine learning model executed in the machine learning circuitry 210 to compare the first device status data from the first computing device 104 and / or the second device status data from the one or more second computing devices 106 with the third device status data from the one or more third computing devices 108 at the at least one second location 110B. In some embodiments, the at least one second location 110B may be selected as being a long distance from the first location 110A. For example, the distance between the first location 110A and the at least one second location 110B may be large enough to determine that the first computing device 104 and / or the one or more second computing devices 106 are connected to a different satellite than the one or more third computing devices 108, in at least some embodiments where a satellite connection is an input. As another example, the distance between the first location 110A and the at least one second location 110B may be sufficiently great to determine that the first computing device 104 and / or the one or more second computing devices 106 are connected to a different cellular tower or a different cellular network than the one or more third computing devices 108 in at least some embodiments where such tower or network information is input. As another example, the distance between the first location 110A and the at least one second location 110B may be sufficiently great to determine that the first computing device 104 and / or the one or more second computing devices 106 are connected to a different Wi-Fi network than the one or more third computing devices 108 in at least some embodiments where a Wi-Fi network connection is input.In such embodiments, the distance may be determined by comparing data associated with location-specific features (e.g., satellite ID, cellular tower or network ID, Wi-Fi network ID) and / or by detecting geographic distance (e.g., physical distance between actual locations as determined by GPS). In some embodiments, multiple data sets (e.g., cellular network ID and actual distance) may be input into the model. In some embodiments, the computing device support apparatus 102 may identify and distinguish between location-specific faults and device-specific faults affecting the first computing device 104 by comparing some or all of the first device performance data and / or some or all of the second device performance data to some or all of the third device performance data, for example, using a trained machine learning model executed by the machine learning circuitry 210. In some embodiments, the computing device support apparatus 102 may determine that the first computing device 104 is affected by a device-specific fault if the first device performance data and / or the second device performance data is substantially equal to the third device performance data. In some embodiments, if it is determined that the first device performance data and / or the second device performance data is not substantially equal to the third device performance data (e.g., the computing device support appliance 102 may determine that the first computing device 104 is affected by a location-specific fault.

[0096] As described above, in some embodiments, determining that the first computing device 104 is affected by a location-specific and / or device-specific fault may be performed, for example, using the machine learning circuitry 210 to execute one or more trained machine learning models (e.g., via an artificial neural network, a convolutional neural network, or other machine learning process). In some embodiments, the trained machine learning models may be trained from multiple historical device status data sets as described above. For example, the trained machine learning models may be trained to recognize patterns indicative of a particular type of location-specific and / or device-specific fault based on unsupervised learning, supervised learning, semi-supervised learning, reinforcement learning, and / or association rule learning. Various performance-related indicators or data points associated with the various processes discussed herein (e.g., location, wireless performance, battery performance, etc.) may vary for each device and may be further influenced by other factors, such as environmental and usage factors, all of which affect how the device operates and continues to operate with the associated device. Additionally, sensors of the associated device (e.g., accelerometers, gyroscopes, etc.) and algorithms capable of directly or indirectly detecting fall associations and / or motion velocity provide valuable input to machine learning or other similar techniques. Thus, in some embodiments, a failure is determined based on a machine learning model utilizing such values, variables, parameters, and data inputs calculated, received, and / or transmitted within the computing device support equipment 102, for example, to identify and / or determine relationships between various data inputs.

[0097] Such machine learning models may undergo and / or be implemented with unsupervised training, supervised training, semi-supervised training, reinforcement learning, deep learning, etc., to analyze device status data and, in some embodiments, device performance data, and thus determine and utilize relationships in such device data. During training of such machine learning models (e.g., artificial / convolutional neural networks, etc.), the models may be iteratively fed with a plurality of device performance data such that the models may be configured to determine patterns among a plurality of parameters, values, and data points defined by the device performance data over time. Stated differently, the machine learning models may be configured to determine correlations or patterns associated with values ​​and parameters in the device performance data to determine more accurate predictions of device performance. For example, in some embodiments, the computing device support apparatus 102 may employ such models to predict expected performance of a first computing device based on data provided by a second computing device, and compare the predicted performance to the actual performance of the first computing device based on data received from the first computing device. Similarly, in some embodiments, the computing device support unit 102 may employ such models to predict expected performance of a first computing device based on data provided by a third computing device at one or more second locations, and compare the predicted performance to the actual performance of the first computing device and / or to a prediction associated with the model executed for the second computing device.

[0098] For example, in some embodiments, based on training from historical device status data sets, the trained machine learning model executed by the machine learning circuit 210 may be capable of determining that the first and second device performance data are substantially equal such that the first computing device 104 is affected by a location-specific fault. In some embodiments, substantially equal may vary based on the particular device performance data being compared. As another example, based on training from historical device status data sets, the trained machine learning model executed by the machine learning circuit 210 may be capable of determining how many of the one or more second computing devices 106 must have substantially equal device performance data before a fault is identified as a location-specific fault. For example, the trained machine learning model executed by the machine learning circuit 210 may be capable of distinguishing between a situation in which the first computing device 104 and at least some of the one or more second computing devices 106 are affected by a similar device-specific fault and the first computing device 104 and one or more second computing devices 106 are affected by a location-specific fault.

[0099] Identifying location-specific impairment severity In some embodiments, the computing device support unit 102 may "zoom out" or "zoom in" on the available data to determine how widespread the location-specific faults are. For example, the second device status data may be subdivided into sub-portions to determine whether the sub-portions are equally experiencing location-specific faults or whether the location-specific faults affect one sub-portion more than the other. In another example, the second device status data may be expanded to determine whether devices beyond the first location 110A are also experiencing issues (e.g., by selecting device data obtained from just outside the first location 110A, by selecting data from the third device status data, etc.). The data may be subdivided and / or expanded using any of the identification data discussed herein (e.g., absolute location, metadata, etc.).

[0100] In some embodiments, if the computing device support apparatus 102 determines that the first computing device 104 is affected by a location-specific fault, the computing device support apparatus 102 may be configured to determine the extent of the location-specific fault (e.g., how widespread the performance issues leading to the detection of the fault are), e.g., using a trained machine learning model executed by the machine learning circuitry 210. For example, the computing device support apparatus 102 may be capable of determining whether a particular hierarchical level of the local infrastructure is experiencing a fault based on absolute location data (e.g., GPS data) and / or based on metadata associated with the location (e.g., connected satellites, Wi-Fi networks, nearby landmarks, etc.). For example, in some embodiments, the computing device support apparatus 102 may first compare the first device status data and / or the second device status data with third device status data from one or more third computing devices 108 at one or more second locations to determine whether the one or more third computing devices 108 are also affected by a location-specific fault. This comparison may be performed on real-time data and / or historical data, as discussed herein. In some embodiments, in response to determining that one or more third computing devices 108 are also affected by the location-specific fault, the computing device support apparatus 102 may compare the first device status data, the second device status data, and / or the third device status data with other device status data associated with computing devices at other locations until the extent of the location-specific fault is determined (e.g., the computing device support apparatus 102 determines that the computing devices at the other locations are not suffering from the location-specific fault).

[0101] As a non-limiting example, if the computing device support apparatus 102 determines, for example, using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a location-specific fault associated with a GPS fault, the computing device support apparatus 102 may determine how widespread the GPS fault is. In some embodiments, as illustrated in FIG. 4, the first device performance data and / or the second device performance data may be compared to third device performance data associated with one or more third computing devices 108. If the first device performance data and / or the second device performance data are not the same, or at least not substantially equal, in associated metrics to the third device performance data, the computing device support apparatus 102 may determine, for example, using a trained machine learning model executed by the machine learning circuitry 210, that the location-specific fault is limited to computing devices at the first location 110A. For example, such a determination may indicate a location-specific fault associated with the first satellite 402A. If the first device performance data and / or the second device performance data are the same or at least substantially equal to the third device performance data, the computing device support apparatus 102 may compare the first device performance data, the second device performance data, and / or the third device performance data with other device performance data associated with computing devices at other locations. If the first device performance data, the second device performance data, and / or the third device performance are not the same or at least substantially equal in relevant metrics to the performance data of the other devices, the computing device support apparatus 102 may determine, using, for example, a trained machine learning model executed by the machine learning circuitry 210, that the location-specific fault has spread to include both the first location 110A and at least one second location 110B.For example, such a determination may indicate that the location-specific impairment is caused by the broader GPS network that includes both the first satellite 402A and the second satellite 402B.

[0102] As another non-limiting example, if the computing device support apparatus 102 determines, for example, using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a location-specific fault associated with a cellular fault, the computing device support apparatus 102 may determine how widespread the cellular fault is. In some embodiments, as illustrated in FIG. 5, the first device performance data and / or the second device performance data may be compared to third device performance data associated with one or more third computing devices 108. If the first device performance data and / or the second device performance data are not substantially equal to the third device performance data, the computing device support apparatus 102 may determine, for example, using a trained machine learning model executed by the machine learning circuitry 210, that the location-specific fault is limited to computing devices at the first location 110A. For example, such a determination may indicate that the location-specific fault is caused by a fault associated with the first cellular tower 512A. If the first device performance data and / or the second device performance data are the same or at least substantially equal to the third device performance data, the computing device support apparatus 102 may compare the first device performance data, the second device performance data, and / or the third device performance data with other device performance data associated with computing devices at other locations. If the first device performance data, the second device performance data, and / or the third device performance are not the same or at least substantially equal in relevant metrics to the performance data of the other devices, the computing device support apparatus 102 may determine, using, for example, a trained machine learning model executed by the machine learning circuitry 210, that the location-specific fault has spread to include both the first location 110A and at least one second location 110B.For example, such a determination may indicate that the location-specific failure is caused by a failure associated with a cellular network, such as Cellular Network A 514A. Alternatively, in some embodiments, the computing device support unit 102 may determine that a cellular network / tower is free of cellular failures if devices connected to the same tower but at slightly different locations do not experience the same failure.

[0103] As another non-limiting example, if the computing device support apparatus 102 determines, e.g., using a trained machine learning model executed by the machine learning circuitry 210, that the first computing device 104 is affected by a location-specific fault associated with a Wi-Fi fault, the computing device support apparatus 102 may determine how widespread the Wi-Fi fault is. In some embodiments, as illustrated in FIG. 6, the first device performance data and / or the second device performance data may be compared to third device performance data associated with one or more third computing devices 108. If the first device performance data and / or the second device performance data are not the same as, or at least substantially equal to, the third device performance data, the computing device support apparatus 102 may determine, e.g., using a trained machine learning model executed by the machine learning circuitry 210, that the location-specific fault is limited to a computing device at the first location 110A. For example, such a determination may indicate that the location-specific fault is caused by a fault associated with a particular Wi-Fi device, such as the first Wi-Fi device 604A. If the first device performance data and / or the second device performance data is the same or at least substantially equal to the third device performance data, the computing device support apparatus 102 may compare the first device performance data, the second device performance data, and / or the third device performance data to other device performance data associated with computing devices at other locations.If the performance data of the first device, the performance data of the second device, and / or the performance of the third device are not the same or at least substantially equal in the relevant metrics to the performance data of the other devices, the computing device support apparatus 102 may determine, for example, using a trained machine learning model implemented by the machine learning circuitry 210, that the location-specific fault extends to include both the first location 110A and at least one second location 110B. For example, such a determination may indicate that the location-specific fault is caused by a fault associated with a broader Wi-Fi network, such as a home or office building-wide Wi-Fi network that includes both the first Wi-Fi device 604A and the second Wi-Fi device 604B. Alternatively, in some embodiments, the computing device support apparatus 102 may determine that the Wi-Fi device itself is not faulty if devices connected to the same Wi-Fi device but at slightly different locations do not experience the same fault.

[0104] In some embodiments, the location-based fault detection algorithm may be run multiple times using different locations to identify the best match for the location associated with the problem, which may also include in some embodiments using different and / or multiple location detection means to define the location.

[0105] In some embodiments, the computing device support apparatus 102 may be configured to determine the extent of the location-specific fault by comparing the first device status data to device status data associated with multiple devices at multiple locations, e.g., using a trained machine learning model executed by the machine learning circuitry 210. For example, the first device performance data may be compared to the device performance data of the multiple devices to identify devices of the multiple devices having the same or substantially equal device performance data. The computing device support apparatus 102 may then determine the extent of the location-specific fault (e.g., how many devices are affected and / or how widespread the performance problem leading to the detection of the fault) by comparing the first location indication data to the location indication data of the identified device, e.g., using a trained machine learning model executed by the machine learning circuitry 210, to determine whether the first location indication data and the location indication data of the identified device are the same or substantially similar (e.g., the first location indication data and the location indication data of the identified device indicate that the first computing device 104 and the identified device are connected to the same cellular tower). For example, in some embodiments, in a similar manner, the degree of any location-specific impairments may be determined by changing the specificity of the dataset to more or less specific, or to a different subset to identify route commonality that causes problems (e.g., all devices within a particular zip code, a particular radius of a known landmark for absolute locations, etc., or all devices connected to a particular Wi-Fi or cellular network for metadata-related impairments, etc.).In a similar manner, the degree of impairment specific to any device can be determined, for example, by changing the specificity of the dataset to make it more or less specific, or to a different subset (e.g., by testing all devices of the same processor type, device make and model, battery size, etc.) to identify root commonality causing the problem.

[0106] Graphical User Interface 7 and 8, in some embodiments, the computing device support apparatus 102 under the direction of the support services controller 214 may be configured to cause information regarding one or more device-specific and / or location-specific faults to be displayed via a graphical user interface 702 on the first computing device 104. In some embodiments, the information regarding the one or more device-specific and / or location-specific faults may include text that may be included in a box displayed on the graphical user interface 702. For example, the text in the first box 704 may indicate that a device-specific fault has been identified. As another example, the text in the second box 706 may indicate that a location-specific fault has been identified. In some embodiments, the information regarding the one or more device-specific and / or location-specific faults may be accompanied by an additional graphical display indicating whether a fault has been identified (e.g., a colored, check mark, "x") and, if so, how many faults have been detected and / or the extent of the location-based fault. In some embodiments, information about the one or more device-specific and / or location-specific faults may be accompanied by additional alerts, such as an audible notification, vibration of the first computing device 104, etc. Additionally or alternatively, a substantially similar interface may be displayed on a second graphical user interface associated with a carrier, provider, or other third party computing system that cooperates with, supports, or provides service to the first computing device 104.

[0107] In some embodiments, as illustrated in FIG. 8, the computing device support apparatus 102 under the direction of the support services controller 214 may be configured to cause the text in the third box 804 to be displayed on the graphical user interface 702 of the first computing device 104 requesting permission to perform an extended diagnosis. In some embodiments, the request for permission to perform an extended diagnosis may be presented on the graphical user interface 702 before the computing device support apparatus 102 collects the first device status data from the first computing device 104. In other embodiments, the request for permission to perform an extended diagnosis may be presented on the graphical user interface 702 after the computing device support apparatus 102 collects the first device status data from the first computing device 104 and before one or more device-specific and / or location-specific faults are identified. In yet other embodiments, the request for permission to perform an extended diagnosis may be presented on the graphical user interface 702 after the device-specific faults are identified. In some embodiments, the graphical user interface 702 may be configured such that the third box 804 may be selected to indicate permission to perform an extended diagnosis. For example, if permission to perform extended diagnostics is received after a device-specific fault is detected, the extended diagnostics may be used to determine whether the device-specific fault is a hardware fault or a software fault. Additionally or alternatively, a substantially similar interface may be displayed on a second graphical user interface associated with a carrier, provider, or other third party computing system that cooperates with, supports, or provides service to the first computing device 104, including a personal computer or other device associated with a user.

[0108] Exemplary Process for Identifying Device-Specific and Location-Specific Faults

[0046] Referring now to Figure 9, Figure 9 illustrates a flowchart according to an example process 900 for providing computing device support services, including for identifying and distinguishing between location-specific and device-specific failures, according to some example embodiments. In this regard, Figure 9 illustrates operations that may be performed at and / or by the computing device support apparatus 102 and / or the first computing device 104. The operations shown in and described with respect to Figure 9 may be performed by, with the assistance of, and / or under the control of, for example, one or more of the processing circuitry 202, the processor 208, the memory 206, the trained machine learning model executed by the machine learning circuitry 210, the communication interface 212, the support services controller 214, the processing circuitry 302, the processor 306, the memory 304, the user interface 308, the communication interface 310, and / or the computer application controller 312.

[0109] As shown in block 910, process 900 begins with receiving first device status data associated with a first computing device. The first device status data may include first location indication data indicative of a location of the first computing device and first device performance data indicative of a performance of the first computing device. In some example implementations, at least some of the first device status data may be provided in real time. In some example implementations, the first device status data may also include an indication of at least one fault associated with the first computing device (e.g., a fault identified by the device or another computing system prior to location-based fault analysis, or data indicative of a fault when analyzed by a computing device support apparatus). In some example implementations, the first location indication data may be based on one or more of global positioning system data, cellular data, Wi-Fi data, manually entered location information, or any other data indicative of the location of the device. In some example implementations, the first computing device is at a first location when it is within a recognized geographic zone, and the size of the recognized geographic zone may be determined based at least in part on one or more types of location indication data used to determine the first location indication data.

[0110] As shown in block 920, the process 900 continues with comparing the first device status data with second device status data associated with the one or more second computing devices. The second device status data may include second location indicative data indicative of the location of the one or more second computing devices and second device performance data indicative of the performance of the one or more second computing devices. In some example implementations, the second location indication data may be based on one or more of global positioning system data, cellular data, or Wi-Fi data. In some example implementations, the one or more second computing devices are in the first location when they are within a recognized geographic zone, and the size of the recognized geographic zone may be determined based at least in part on the one or more types of location indication data used to determine the second location indication data. In some example implementations, the comparison of the first device status data with the second device status data is performed by a trained machine learning model executed by the machine learning circuitry. In some example implementations, the trained machine learning model was trained using a historical device status dataset including a historical location indication dataset from a plurality of computing devices experiencing location-specific failures.

[0111] As indicated at block 930, process 900 may optionally include comparing the first device status data to third device status data associated with one or more third computing devices. In some example implementations, the third device status data may include third location indication data indicative of the at least one second location.

[0112] As shown in block 940, if the first computing device is affected by a location-specific failure, process 900 may optionally classify the location-specific failure as a first type of location-specific failure. In some example implementations, the first type of location-specific failure may be one of a global positioning system failure, a Wi-Fi failure, or a cellular failure (e.g., a failure associated with a cellular tower or a poor signal in a rural area). In some example implementations, the first type of location-specific failure may be one of a global positioning system network failure, a Wi-Fi network failure, or a cellular network failure.

[0113] As shown in block 950, based on the comparison of the first device status data and the second device status data in block 920, the process 900 includes determining that the first computing device is affected by one or more of a device-specific failure or a location-specific failure. In some example implementations, in block 950, the process 900 may determine that the first computing device is affected by a location-specific failure when the first device performance data is the same as or at least substantially equal to the second device performance data. In some example implementations, in block 950, the process 900 may determine that the first computing device is affected by a location-specific failure when the first device performance data is the same as or at least substantially equal to the second device performance data and differs from third device performance data associated with one or more third computing devices not located at the location of the first computing device. In some example implementations, in block 950, the process 900 may determine that the first computing device is affected by a device-specific failure when the first device performance data is different from the second device performance data. In some example implementations, at block 950, process 900 may determine that the device-specific failure may be a software failure or a hardware failure.

[0114] As indicated at block 960, process 900 continues by causing information regarding one or more of the device-specific faults or the location-specific faults to be displayed via a graphical user interface. As indicated at block 970, in some example implementations, process 900 may optionally receive permission to initiate enhanced diagnosis in response to displaying information regarding one or more of the device-specific faults or the location-specific faults on the first computing device.

[0115] conclusion Many variations and other embodiments of the disclosure described herein will come to mind to one skilled in the art to which this disclosure pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. It is to be understood, therefore, that the disclosure is not to be limited to the specific embodiments disclosed, and that variations and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a descriptive sense and not for purposes of limitation.

[0116] Non-limiting exemplary embodiments of the present disclosure Having described various aspects of the present invention, it will be understood that various embodiments are described herein. The subject matter described in the specification includes, but is not limited to, the following specific embodiments. These embodiments are merely examples and should not be construed as limiting the scope of the disclosure. It will be understood that the embodiments in some aspects can be freely combined. In other aspects of the disclosure, each embodiment is independent of the other embodiments described.

[0117] Embodiment 1. A method comprising: receiving first device status data associated with a first computing device, the first device status data including first location indication data indicating a location; comparing the first device status data with second device status data associated with one or more second computing devices, the second device status data including second location indication data indicative of a location; determining, based on a comparison of the first device status data and the second device status data, that the first computing device is affected by one or more of a device-specific fault or a location-specific fault; and displaying information regarding one or more of the device-specific faults or the location-specific faults via a graphical user interface.

[0118] Embodiment 2: The method of embodiment 1, wherein the comparison between the first device status data and the second device status data is performed by a trained machine learning model executed by a machine learning circuit.

[0119] Embodiment 3: The method of embodiment 1 or 2, wherein the trained machine learning model is trained using a historical device status dataset including a historical location indication dataset from multiple computing devices experiencing location-specific faults.

[0120] Embodiment 4: The method according to any one of embodiments 1 to 3, wherein the first location indication data and the second location indication data may be based on one or more of global positioning system data, cellular data, or Wi-Fi data.

[0023] Embodiment 5: If the first computing device is affected by a location-specific failure, a method includes: 5. The method of any one of embodiments 1 to 4, further comprising: classifying the location-specific fault as a first type of location-specific fault using the trained machine learning model.

[0121] Embodiment 6: The method according to any one of embodiments 1 to 5, wherein the first type of location-specific failure may be one of a global positioning system failure, a Wi-Fi failure, or a cellular failure.

[0122] Embodiment 7: The method according to any one of embodiments 1 to 6, wherein the first type of location-specific failure may be one of a global positioning system network failure, a Wi-Fi network failure, or a cellular network failure.

[0123] Embodiment 8: The method according to any one of embodiments 1 to 7, wherein the first location indication data indicates a location meaning that the first computing device is within a recognized geographical zone, and the second location indication data indicates a location meaning that the second computing device is within a recognized geographical zone.

[0124] Embodiment 9: A method as described in any one of embodiments 1 to 8, wherein the size of the recognized geographical zone is determined at least in part based on one or more types of location indication data used to determine the first location indication data and the second location indication data.

[0125] Embodiment 10: The method according to any one of embodiments 1 to 9, wherein the first location indication data is provided in real time.

[0126] Embodiment 11: The method according to any one of embodiments 1 to 10, wherein the first device status data further includes first device performance data, and the second device status data further includes second device performance data.

[0127] Embodiment 12: The method of any one of embodiments 1 to 11, wherein the first device status data further includes an indication of at least one fault.

[0128] Embodiment 13: The method of any one of embodiments 1 to 12, further comprising comparing the first device status data with third device status data associated with one or more third computing devices, the third device status data including third device performance data and third location indication data indicating at least one second location, the at least one second location being different from a location, if the first device performance data is substantially equal to the third device performance data, the first computing device is affected by a device-specific failure, and if the first device performance data is different from the third device performance data, the first computing device is affected by a location-specific failure. Embodiment 14: The method of any one of embodiments 1 to 13, wherein the one or more device-specific failures may be software failures or hardware failures.

[0129] Embodiment 15: A method as described in any one of embodiments 1 to 14, further comprising receiving permission to initiate extended diagnosis in response to displaying information regarding one or more of a device-specific fault or a location-specific fault on the first computing device.

[0130] Embodiment 16: A method according to any one of embodiments 1 to 15, wherein the first computing device and the one or more second computing devices have a device profile, the device profile including one or more characteristics.

[0131] Embodiment 17: The method of any one of embodiments 1 to 16, wherein the first computing device is affected by a location-specific fault when the first device performance data is substantially equal to the second device performance data.

[0132] Embodiment 18: The method of any one of embodiments 1 to 17, wherein the first computing device is affected by a device-specific fault when the first device performance data differs from the second device performance data.

[0133] Embodiment 19: A system comprising at least one processor and at least one memory containing computer program code, the at least one memory and the computer program code being configured to, using the processor, provide to the system at least: receiving first device status data associated with a first computing device, the first device status data including first location indication data indicating a location; comparing the first device status data with second device status data associated with one or more second computing devices, the second device status data including second location indication data indicative of a location; determining, based on a comparison of the first device status data and the second device status data, that the first computing device is affected by one or more of a device-specific fault or a location-specific fault; and displaying, via a graphical user interface, information regarding one or more of a device-specific fault or a location-specific fault.

[0134] Embodiment 20: A system described in any one of embodiments 19, wherein the comparison between the first device status data and the second device status data is performed by a trained machine learning model executed by a machine learning circuit, and the trained machine learning model is trained using a historical device status dataset including a historical location indication dataset from a plurality of computing devices experiencing location-specific faults.

[0135] Embodiment 21: The system of embodiment 19 or 20, wherein the first location indication data and the second location indication data may be based on one or more of global positioning system data, cellular data, or Wi-Fi data.

[0136]

[0081] Embodiment 22: When the first computing device is affected by a location-specific fault, at least one memory and computer program code are configured to, using a processor, provide a system: The system of any one of embodiments 19 to 21, further configured to classify a location-specific fault as a first type of location-specific fault using a trained machine learning model executed by the machine learning circuit.

[0137] Embodiment 23: The system of any one of embodiments 19 to 22, wherein the first type of location-specific failure may be one of a global positioning system failure, a Wi-Fi failure, or a cellular failure.

[0138] Embodiment 24: A system described in any one of embodiments 19 to 23, wherein the first location indication data indicating a location means that the first computing device is within a recognized geographic zone, and the second location indication data indicating a location means that the second computing device is within a recognized geographic zone, and the size of the recognized geographic zone is determined at least in part based on one or more types of location indication data used to determine the first location indication data and the second location indication data.

[0139] Embodiment 25: A system described in any one of embodiments 19 to 24, wherein the first location indication data is provided in real time.

[0140] Embodiment 26: A system described in any one of embodiments 19 to 25, wherein the first device status data further includes first device performance data, and the second device status data further includes second device performance data.

[0141] Embodiment 27: At least one memory and computer program code for implementing, using a processor, a system: The system of any one of embodiments 19 to 26, further configured to compare the first device status data with third device status data associated with one or more third computing devices, the third device status data including third device performance data and third location indication data indicating at least one second location, the at least one second location being different from the location, if the first device performance data is substantially equal to the third device performance data, the first computing device is affected by a device-specific failure, and if the first device performance data is different from the third device performance data, the first computing device is affected by a location-specific failure.

[0142] Embodiment 28: The system of any one of embodiments 19 to 27, wherein the first device status data further includes an indication of at least one fault.

[0143] Embodiment 29: At least one memory and computer program code for implementing, using a processor, a system: The system of any one of embodiments 19 to 28, further configured to cause the first computing device to receive permission to initiate extended diagnosis in response to displaying information regarding one or more of a device-specific fault or a location-specific fault.

[0144] Embodiment 30: A computer program product including a non-transitory computer-readable storage medium having stored thereon program code portions, the program code portions, when executed, providing to a system at least: receiving first device status data associated with a first computing device, the first device status data including first location indication data indicating a location; comparing the first device status data with second device status data associated with one or more second computing devices, the second device status data including second location indication data indicative of a location; determining, based on a comparison of the first device status data and the second device status data, that the first computing device is affected by one or more of a device-specific fault or a location-specific fault; 1. A computer program product configured to cause and instruct: display, via a graphical user interface, information related to a device-specific fault or a location-specific fault.

[0145] Embodiment 31: A method according to any combination of embodiments 1 to 18.

[0146] Embodiment 32: An apparatus comprising at least one processor and at least one non-transitory memory having computer program code stored therein, the computer program code, when executed on the at least one processor, causing the apparatus to perform any one of the methods of embodiments 1 to 18 and 31.

[0147] Embodiment 33: A computer program product comprising at least one non-transitory computer-readable storage medium having computer program code stored thereon, the computer program code configuring the computer program product, when executed on at least one processor, to perform any one of the methods of embodiments 1 to 18 and 31.

Claims

1. 1. A method comprising: receiving first device status data associated with a first computing device, the first device status data including first location indication data indicating a location; comparing the first device status data with second device status data associated with one or more second computing devices, the second device status data including second location indication data indicative of the location; determining, based on the comparison of the first device status data and the second device status data, that the first computing device is affected by one or more of a device-specific fault or a location-specific fault; and displaying information regarding the one or more of the device-specific faults or the location-specific faults via a graphical user interface.

2. The method of claim 1 , wherein the comparison of the first device status data and the second device status data is performed by a trained machine learning model executed by a machine learning circuit.

3. 3. The method of claim 2, wherein the trained machine learning model is trained using a historical device status dataset that includes a historical location-indicating dataset from a plurality of computing devices experiencing location-specific faults.

4. The method of claim 1 , wherein the first location indication data and the second location indication data may be based on one or more of Global Positioning System data, cellular data, or Wi-Fi data.

5. If the first computing device is affected by the location-specific failure, the method further comprises: The method of claim 2 , further comprising: classifying the location-specific fault as a first type of location-specific fault using the trained machine learning model.

6. The method of claim 5 , wherein the location-specific failure of the first type may be one of a Global Positioning System failure, a Wi-Fi failure, or a cellular failure.

7. The method of claim 5 , wherein the location-specific failure of the first type may be one of a Global Positioning System network failure, a Wi-Fi network failure, or a cellular network failure.

8. 5. The method of claim 4, wherein the first location indication data indicates the location means that the first computing device is within a recognized geographic zone, and the second location indication data indicates the location means that the second computing device is within the recognized geographic zone.

9. 9. The method of claim 8, wherein a size of the recognized geographic zone is determined based at least in part on one or more types of location indication data used to determine the first location indication data and the second location indication data.

10. The method of claim 1 , wherein the first location-indicating data is provided in real time.

11. The method of claim 1 , wherein the first device status data further comprises first device performance data and the second device status data further comprises second device performance data.

12. The method of claim 1 , wherein the first device status data further comprises an indication of at least one fault.

13. 12. The method of claim 11, further comprising: comparing the first device status data to third device status data associated with one or more third computing devices, the third device status data including third device performance data and third location indication data indicating at least one second location, the at least one second location being different from the location, if the first device performance data is substantially equal to the third device performance data, the first computing device is affected by the device-specific failure, and if the first device performance data is different from the third device performance data, the first computing device is affected by the location-specific failure.

14. The method of claim 1 , wherein the one or more device specific failures can be a software failure or a hardware failure.

15. 2. The method of claim 1, further comprising receiving authorization to initiate extended diagnostics in response to displaying the information regarding the one or more of the device-specific faults or the location-specific faults on the first computing device.

16. The method of claim 1 , wherein the first computing device and the one or more second computing devices have device profiles, the device profiles including one or more characteristics.

17. The method of claim 11 , wherein the first computing device is affected by the location-specific fault when the first device performance data is substantially equal to the second device performance data.

18. The method of claim 11 , wherein the first computing device is affected by the device-specific fault when the first device performance data differs from the second device performance data.

19. 1. A system comprising at least one processor and at least one memory containing computer program code, the at least one memory and the computer program code being configured to, using the processor, provide to the system at least: receiving first device status data associated with a first computing device, the first device status data including first location indication data indicating a location; comparing the first device status data with second device status data associated with one or more second computing devices, the second device status data including second location indication data indicative of the location; determining, based on the comparison of the first device status data and the second device status data, that the first computing device is affected by one or more of a device-specific fault or a location-specific fault; and displaying information regarding the one or more of the device-specific faults or the location-specific faults via a graphical user interface.

20. 20. The system of claim 19, wherein the comparison of the first device status data and the second device status data is performed by a trained machine learning model executed by a machine learning circuit, the trained machine learning model being trained using a historical device status dataset that includes a historical location-indicating dataset from a plurality of computing devices experiencing location-specific faults.

21. 20. The system of claim 19, wherein the first location indication data and the second location indication data can be based on one or more of Global Positioning System data, cellular data, or Wi-Fi data.

22. When the first computing device is affected by the location-specific fault, the at least one memory and the computer program code, using the processor, configure the system to:

20. The system of claim 19, further configured to classify the location-specific fault as a first type of location-specific fault using a trained machine learning model executed by a machine learning circuit.

23. 23. The system of claim 22, wherein the first type of location-specific failure can be one of a Global Positioning System failure, a Wi-Fi failure, or a cellular failure.

24. 22. The system of claim 21, wherein the first location indication data indicates the location means that the first computing device is within a recognized geographic zone, and the second location indication data indicates the location means that the second computing device is within the recognized geographic zone, and a size of the recognized geographic zone is determined based at least in part on one or more types of location indication data used to determine the first location indication data and the second location indication data.

25. 20. The system of claim 19, wherein the first location-indicating data is provided in real time.

26. 20. The system of claim 19, wherein the first device status data further comprises first device performance data and the second device status data further comprises second device performance data.

27. The at least one memory and the computer program code, using the processor, cause the system to:

27. The system of claim 26, further configured to compare the first device status data with third device status data associated with one or more third computing devices, the third device status data including third device performance data and third location indication data indicating at least one second location, the at least one second location being different from the location, if the first device performance data is substantially equal to the third device performance data, the first computing device is affected by the device-specific failure, and if the first device performance data is different from the third device performance data, the first computing device is affected by the location-specific failure.

28. 20. The system of claim 19, wherein the first device status data further comprises an indication of at least one fault.

29. The at least one memory and the computer program code, using the processor, cause the system to:

20. The system of claim 19, further configured to cause the first computing device to receive permission to initiate extended diagnostics in response to displaying the information regarding the one or more of the device-specific faults or the location-specific faults.

30. 1. A computer program product comprising a non-transitory computer readable storage medium having program code portions stored thereon, the program code portions, when executed, causing a system to perform at least: receiving first device status data associated with a first computing device, the first device status data including first location indication data indicating a location; comparing the first device status data with second device status data associated with one or more second computing devices, the second device status data including second location indication data indicative of the location; determining, based on the comparison of the first device status data and the second device status data, that the first computing device is affected by one or more of a device-specific fault or a location-specific fault; and causing information about the device-specific fault or the location-specific fault to be displayed via a graphical user interface.