# US 10,503,526 B2 · Method and system for user experience event processing and analysis

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

- Number: US 10,503,526 B2
- Document ID: US10503526B2
- Status: Granted
- Kind: B2
- Application number: 15/621,460
- Filed: 2017-06-13
- Published: 2018-12-13
- Granted: 2019-12-10
- Earliest claimed: 2017-06-13
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: Liran Sharoni; Ido Shilo; Miki Sapir; Alon Marcu
- Web page: https://patentgrep.com/patent/US10503526B2

## CPC

- G06F 9/451: Execution arrangements for user interfaces
- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06V 20/41: {Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items (segmenting video sequences G06V20/49)}
- G11B 27/34: Indicating arrangements {(indicating means incorporated in magazine or cassette G11B23/046 and G11B23/0875; indicating measured values in general G01D)}
- H04N 5/77: between a recording apparatus and a television camera
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 11/3485: {for I/O devices}
- G06F 2201/86: Event-based monitoring
- G06T 11/26: Drawing of charts or graphs
- G06V 20/44: {Event detection}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method and system for user experience event processing and analysis are provided. In one embodiment, a computing device correlates detected pre-defined user experience events with data indicating activity of a storage device over a time period and generates an analysis of the correlation. In another embodiment, a computing device compares first and second recorded videos to identify differences, wherein the first and second recorded videos are synchronized based on content rather than time, correlates the differences with the data indicating activity of a storage device of a host device, and generates an analysis of the correlation. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.

## Claims

### Claim 1

A method for analyzing user experience events, the method comprising:
performing the following in a computing device in communication with a host device:
(a) receiving a recorded video of a graphical user interface of the host device over a time period;
(b) receiving data indicating activity of a first storage device used with the host device over the time period, wherein the data is synchronized with the recorded video;
(c) comparing the recorded video with an image template to identify an image in the recorded video that indicates an occurrence of a pre-defined user experience events in the recorded video;
(d) correlating the pre-defined user experience events with the data indicating activity of the first storage device over the time period, wherein the activity of the first storage device comprises one or more of the following: an input/output operation, processor utilization, memory usage, a kernel event, and an operating system event;
(e) repeating (a)-(d) with a second storage device using the same host device parameters as used with the first storage device; and
(f) generating an analysis of the correlations for the first and second storage devices to indicate what activity of the first and second storage devices occurred when the pre-defined user experience events occurred.

### Claim 2 (depends on 1)

The method of claim 1, wherein the video of the graphical user interface of the host device is recorded using a camera external to the host device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the video of the graphical user interface of the host device is recorded using an application executing on the host device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the pre-defined user experience events is detected using an image processing algorithm.

### Claim 5 (depends on 1)

The method of claim 1, wherein the analysis comprises at least one of a report and a graph.

### Claim 6 (depends on 1)

The method of claim 1, wherein an application on the host device synchronizes the data indicating activity of the storage device with the recorded video by writing a time stamp indicating when recording of the video started into a log in a file containing the data indicating activity of the storage device.

### Claim 7 (depends on 1)

The method of claim 1 further comprising filtering the recorded video to account for one or more of the following: video compression and quality degradation.

### Claim 8 (depends on 1)

The method of claim 1, wherein the pre-defined user experience events relates to one or more of the following: an application launch/application ready, a photo album load, a screen swipe, a start/end of an application installation, and a start/end of a burst of photos.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first storage device comprises a three-dimensional memory.

### Claim 10

A system comprising:
an event detector configured to compare a recorded video with an image template to identify an image in the recorded video that indicates an occurrence of a pre-defined user experience events in the recorded video over a time period;
and
an analyzer configured to:
correlate the user experience events with traces of activity of a first storage device in a host device over the time period, wherein the activity of the first storage device comprises one or more of the following: an input/output operation, processor utilization, memory usage, a kernel event, and an operating system event;
correlate the user experience events with traces of activity of a second storage device in the host device over the time period using the same host device parameters as used with the first storage device; and
generate an analysis of the correlations to indicate what activity of the first and second storage devices occurred when the pre-defined user experience event occurred.

### Claim 11 (depends on 10)

The system of claim 10, wherein the video of the graphical user interface of the host device is recorded using a camera external to the host device.

### Claim 12 (depends on 10)

The system of claim 10, wherein the video of the graphical user interface of the host device is recorded using an application executing on the host device.

### Claim 13 (depends on 10)

The system of claim 10, wherein the event detector is further configured to use an image processing algorithm.

### Claim 14 (depends on 10)

The system of claim 10, wherein the analysis comprises at least one of a report and a graph.

### Claim 15 (depends on 10)

The system of claim 10, wherein an application on the host device is configured to synchronize the traces with the recorded video by writing a time stamp indicating when recording of the video started into a log in a trace file.

### Claim 16 (depends on 10)

The system of claim 10, wherein the event detector is further configured to filter the recorded video to account for one or both of video compression and quality degradation.

### Claim 17 (depends on 10)

The system of claim 10, wherein the user experience events relates to one or more of the following: an application launch/application ready, a photo album load, a screen swipe, a start/end of an application installation, and a start/end of a burst of photos.

### Claim 18 (depends on 10)

The system of claim 10, wherein the first storage device comprises a three-dimensional memory.

### Claim 19

A system comprising:
means for
(a) receiving a recorded video of a graphical user interface of a host device over a time period;
(b) receiving data indicating activity of a first storage device of the host device over the time period, wherein the data is synchronized with the recorded video;
(c) comparing the recorded video with an image template to identify an image in the recorded video that indicates an occurrence of a pre-defined user experience events in the recorded video;
(d) correlating the pre-defined user experience events with the data indicating activity of the first storage device over the time period, wherein the activity of the first storage device comprises one or more of the following: an input/output operation, processor utilization, memory usage, a kernel event, and an operating system event;
means for repeating (a)-(d) with a second storage device using the same host device parameters as used with the first storage device; and
means for generating an analysis of the correlations for the first and second storage devices to indicate what activity of the first and second storage devices occurred when the pre-defined user experience events occurred.

### Claim 20 (depends on 19)

The system of claim 19, wherein the first storage device comprises a three-dimensional memory.
