# US 10,503,579 B2 · System and method for identifying operational disruptions in mobile computing devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,503,579 B2
- Document ID: US10503579B2
- Status: Granted
- Kind: B2
- Application number: 15/589,680
- Filed: 2017-05-08
- Published: 2017-08-24
- Granted: 2019-12-10
- Earliest claimed: 2011-08-16
- Assignees: Future Dial, Inc.
- Applicants: Future Dial, Inc.
- Inventors: George Huang
- Web page: https://patentgrep.com/patent/US10503579B2

## CPC

- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 11/0748: {in a remote unit communicating with a single-box computer node experiencing an error/fault (remote testing G06F11/2294)}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/0787: {Storage of error reports, e.g. persistent data storage, storage using memory protection}
- G06F 11/1448: {Management of the data involved in backup or backup restore}
- G06F 11/2294: {by remote test}
- G06F 11/3051: {Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs (verification or detection of system hardware configuration G06F11/2247)}
- G06F 13/385: {for adaptation of a particular data processing system to different peripheral devices}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- H04L 41/0869: Validating the configuration within one network element
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- H04M 1/72406: by software upgrading or downloading
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

A system and method for discovering fault conditions such as conflicts between applications and an operating system, driver, hardware, or a combination thereof, installed in mobile computing devices uses a mobile device running a diagnostic application. A list of applications that were launched or installed during a time period prior to an operational disruption is retrieved. A data table of combinations of incompatible programs and drivers is used to analyze the list of the applications that were launched or installed to create a list of potential fault-causing interactions due to software incompatibilities of software installed in the mobile computing device. A knowledge database is updated with data identifying at least one of the potential fault-causing interactions. Further disclosed is a computer program that identifies hardware-created or software-created problems and operational disruptions in mobile computing devices by collecting data on incompatibilities in particular mobile computing devices on the internet.

## Claims

### Claim 1

A method, comprising:
running a diagnostic application on a mobile computing device having a wireless data connection;
executing, in the mobile computing device, a monitoring application that repetitively records a list of applications that are launched or installed in the mobile device;
sending, from said mobile computing device over the connection to a storage medium coupled via a network, the list of applications,
wherein a data table of combinations of incompatible programs and drivers is used to analyze said list of the applications that were launched or installed to create a list of potential fault-causing interactions due to software incompatibilities of hardware or of software installed in said mobile computing device, and
wherein a knowledge database is updated with data identifying at least one of said potential fault-causing interactions.

### Claim 2 (depends on 1)

The method of claim 1, wherein said use of a data table is performed on one or more computing devices coupled to said storage over a network.

### Claim 3 (depends on 1)

The method of claim 1, wherein said potential fault-causing interactions comprise problems between applications and one or more of: an operating system, a driver, hardware or another application.

### Claim 4 (depends on 1)

The method of claim 1, further comprising executing, in the mobile computing device having a data connection, a monitoring application that records said list of applications that were launched or installed during a time period prior to said operational disruption.

### Claim 5 (depends on 4)

The method of claim 4, wherein said monitoring application repetitively records multiple separate consecutive files listing applications that have been launched or installed within a time period.

### Claim 6 (depends on 1)

The method of claim 1, wherein said monitoring application repetitively records three separate consecutive files by repetitively writing three files in a process wherein:
a first file is opened, data is written to the first file, and the first file is closed;
a second file is opened, data is written to the second file, and the second file is closed; and,
a third file is opened, data is written to the third file, and the third file is closed.

### Claim 7 (depends on 1)

The method of claim 1, wherein said monitoring application is configured to selectively upload said files to a central data repository only when a Wi-Fi connection is available to the mobile computing device.

### Claim 8 (depends on 1)

The method of claim 1, further comprising generating a notification to a user of at least one software incompatibility or at least one recommended modification of said mobile computing device.

### Claim 9 (depends on 1)

The method of claim 1, further comprising updating firmware in said mobile computing device after a data backup on said mobile computing device and restoring data to said mobile computing device from said data backup after said updating said firmware.

### Claim 10 (depends on 1)

The method according to claim 1, wherein a process running on one of a plurality of networked devices reads said list of applications and performs analysis on said list of applications to obtain statistical or heuristic patterns pinpointing a program creating said problems.

### Claim 11 (depends on 1)

The method according to claim 1, further comprising creating a database that lists harmful combinations of model IDs, operating system versions, and other device characteristics that in conjunction with one or more programs negatively impact user experience.

### Claim 12 (depends on 1)

The method according to claim 1, further comprising:
causing a computer to connect to the internet;
collecting data on incompatibilities in said mobile computing device on the internet by scanning websites; and,
using the collected data on said incompatibilities to create a list of harmful combinations of model IDs, OS versions, or other device characteristics that in conjunction with one or more programs negatively impact a user experience.

### Claim 13

A computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied in the medium for implementing a method for identifying software-created problems and operational disruptions in mobile computing devices with cellular connections, the computer program product comprising:
program code for receiving collected data on incompatibilities in the mobile computing devices; and
program code for analyzing the collected data on said incompatibilities to create a list of harmful combinations of model IDs, OS versions, or other device characteristics that in conjunction with one or more programs negatively impact a user experience,
wherein the analysis of the collected data is with respect to a repetitively recorded list of applications that were launched or installed in at least one of the mobile computing devices.

### Claim 14 (depends on 13)

The computer program product according to claim 13, wherein the computer program product further comprises program code for collecting data on incompatibilities in the mobile computing devices on the internet by scanning websites, and wherein the scanning comprises spidering which comprises using a list to focus the spidering on specific programs, device characteristics, or models of smart phone computing devices.

### Claim 15 (depends on 14)

The computer program product according to claim 14, wherein the spidering comprises using two different spiders to search two types of sites, respectively, each spider being optimized to search a respective type of site.

### Claim 16 (depends on 14)

The computer program product according to claim 14, wherein said-scanning websites comprises using a plurality of templates, each template being designed for a particular site or site subset to optimize extraction of data from the site or site subset.
