# US 12,008,213 B2 · Technologies for computing context replay with visual searching

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

- Number: US 12,008,213 B2
- Document ID: US12008213B2
- Status: Granted
- Kind: B2
- Application number: 17/403,520
- Filed: 2021-08-16
- Published: 2021-12-02
- Granted: 2024-06-11
- Earliest claimed: 2015-09-25
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Glen J. Anderson; Jose K. Sia, Jr.; Dawn Nafus; Carl S. Marshall; Jeffrey R. Jackson; Heather Patterson; John W. Sherry; Daniel S. Lake
- Web page: https://patentgrep.com/patent/US12008213B2

## CPC

- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 16/128: {Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16)}
- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Technologies for computing context replay include a computing device having a persistent memory and a volatile memory. The computing device creates multiple snapshots that are each indicative of a user's computing context at a corresponding sync point. The snapshots may include metadata created in response to system events, memory snapshots stored in a virtual machine, and/or video data corresponding to the computing context. At least a part of the snapshots are stored in the persistent memory. The computing device presents a timeline user interface based on the snapshots. The timeline includes multiple elements that are associated with corresponding sync points. The timeline elements may visually indicate a salience value that has been determined for each corresponding sync point. In response to a user selection of a sync point, the computing device activates a computing context corresponding to the snapshot for the selected sync point. Other embodiments are described and claimed.

## Claims

### Claim 1

An apparatus comprising:
at least one memory;
machine-readable instructions; and
at least one processor circuit to be programmed by the machine-readable instructions to:
generate a plurality of snapshots including a first snapshot of a compute environment at a first time and a second snapshot of the compute environment at a second time;
determine a first salience value for the first snapshot and a second salience value for the second snapshot, the first salience value representing a first weight and the second salience value representing a second weight;
generate a timeline user interface including (a) a first timeline including the first snapshot and the second snapshot and (b) a second timeline including the first snapshot but not the second snapshot based on the first salience value of the first snapshot being greater than the second salience value of the second snapshot; and
responsive to a search request, identify at least one snapshot of the plurality of snapshots associated with data satisfying the search request;
modify the second timeline to generate a modified second timeline including one or more of the at least one snapshot associated with the data satisfying the search request; and
cause a first compute environment represented by the first snapshot to be activated in response to a user selection of the first snapshot from the first timeline, the second timeline, or the modified second timeline.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein one or more of the at least one processor circuit is to determine a size of a visual representation of the first snapshot in the second timeline based on the first salience value.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein one or more of the at least one processor circuit is to generate a third snapshot of the compute environment at a third time, a duration of time between the second snapshot and the third snapshot in the first timeline less than a duration of time between the second snapshot and the first snapshot in the first timeline.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the first snapshot includes image data and one or more of the at least one processor circuit is to:
identify a feature in the image data associated with the compute environment; and
determine the first salience value based on the feature.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein one or more of the at least one processor circuit is to determine the first salience value based on a characteristic of an application in the compute environment associated with the first time or usage of the application in the compute environment associated with the first time.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the user selection of the first snapshot is from the first timeline, the second snapshot is adjacent the first snapshot in the first timeline, and, in response to the user selection of the first snapshot from the first timeline, one or more of the at least one processor circuit is to identify the compute environment represented by the second snapshot for activation after the activation of the compute environment represented by the first snapshot.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein one or more of the at least one processor circuit is to generate a third timeline in response to the user selection of the first snapshot, the third timeline beginning with the first snapshot.

### Claim 8

A compute device comprising:
snapshot generator circuitry to generate a plurality of snapshots, each of the plurality of snapshots representing a compute environment at a respective point in time;
snapshot browser circuitry to:
assign salience values to respective ones of the plurality of snapshots, the respective ones of the plurality of snapshots weighted relative to each other based on the corresponding salience values;
define a subset of the plurality of snapshots based on the salience values, the subset including a first snapshot of the plurality of snapshots;
generate a timeline user interface including (a) a first timeline including the plurality of snapshots and (b) a second timeline including the subset of the plurality of snapshots; and
identify at least one snapshot of the plurality of snapshots associated with data satisfying search criteria;
modify the second timeline to generate a modified second timeline including one or more of the at least one snapshot associated with the data satisfying the search criteria; and
timeline coordinator circuitry to cause a first compute environment represented by the first snapshot to be activated in response to a user selection of the first snapshot from the first timeline the second timeline, or the modified second timeline.

### Claim 9 (depends on 8)

The compute device of claim 8, wherein the first timeline includes image data associated with the first snapshot.

### Claim 10 (depends on 9)

The compute device of claim 9, wherein the image data includes video data.

### Claim 11 (depends on 8)

The compute device of claim 8, wherein the snapshot browser circuitry is to assign the salience values based on a characteristic of an application in a respective compute environment or usage of the application in the respective compute environment.

### Claim 12 (depends on 8)

The compute device of claim 8, further including a persistent memory and a volatile memory, the first snapshot to be stored in the persistent memory, the timeline coordinator circuitry to cause the first compute environment to be loaded from the persistent memory into the volatile memory.

### Claim 13 (depends on 12)

The compute device of claim 12, wherein the user selection of the first snapshot is from the first timeline, the first timeline including a second snapshot adjacent the first snapshot in the first timeline, and the timeline coordinator circuitry is to cause the second snapshot to be loaded from the persistent memory into the volatile memory in response to the user selection of the first snapshot from the first timeline.

### Claim 14 (depends on 8)

The compute device of claim 8, wherein the snapshot browser circuitry is to determine a size of a visual representation of each of the snapshots in the subset in the second timeline based on the respective salience values of the snapshots in the subset.

### Claim 15

One or more machine readable memories comprising machine readable instructions to cause at least one processor circuit to at least:
generate a plurality of snapshots including a first snapshot of a compute environment at a first time and a second snapshot of the compute environment at a second time;
associate a first weighted value with the first snapshot and a second weighted value with the second snapshot;
perform a comparison between the first weighted value and the second weighted value;
generate a timeline user interface including (a) a first timeline including the first snapshot and the second snapshot and (b) a second timeline including the first snapshot but not the second snapshot based on the comparison;
responsive to a search request, identify at least one snapshot of the plurality of snapshots associated with data satisfying the search request;
modify the second timeline to generate a modified second timeline including one or more of the at least one snapshot associated with the data satisfying the search request; and
cause a first compute environment represented by the first snapshot to be activated in response to a user selection of the first snapshot from the first timeline, the second timeline, or the modified second timeline.

### Claim 16 (depends on 15)

The one or more machine readable memories of claim 15, wherein the machine readable instructions are to cause one or more processors of the at least one processor circuit to determine a size of a visual representation of the first snapshot in the second timeline based on the first weighted value.

### Claim 17 (depends on 15)

The one or more machine readable memories of claim 15, wherein the machine readable instructions are to cause one or more of the at least one processor circuit to generate a third snapshot of the compute environment at a third time, a duration of time between the second snapshot and the third snapshot in the first timeline less than a duration of time between the second snapshot and the first snapshot in the first timeline.

### Claim 18 (depends on 15)

The one or more machine readable memories of claim 15, wherein the machine readable instructions are to cause one or more of the at least one processor circuit to generate a third timeline in response to the user selection of the first snapshot, the third timeline beginning with the first snapshot.

### Claim 19 (depends on 15)

The one or more machine readable memories of claim 15, wherein the machine readable instructions are to cause the one or more of the at least one processor circuit to associate the first weighted value with the first snapshot based on a characteristic of an application in the compute environment associated with the first time or usage of the application in the compute environment associated the first time.

### Claim 20 (depends on 15)

The one or more machine readable memories of claim 15, wherein the first snapshot includes image data and wherein the machine readable instructions are to cause one or more of the at least one processor circuit to:
identify a feature in the image data associated with the compute environment; and
associate the first weighted value with the first snapshot based on the feature.
