# US 12,183,134 B2 · Power off and power on method and apparatus for an in-vehicle system

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

- Number: US 12,183,134 B2
- Document ID: US12183134B2
- Status: Granted
- Kind: B2
- Application number: 17/055,544
- Filed: 2018-09-26
- Published: 2021-07-22
- Granted: 2024-12-31
- Earliest claimed: 2018-09-26
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Yao Zu Dong; Shuo Liu; Di Zhang
- Web page: https://patentgrep.com/patent/US12183134B2

## CPC

- G07C 5/085: {using electronic data carriers}
- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- G06F 9/45545: {Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Apparatuses, methods and storage medium associated with in-vehicle computing, are disclosed herein. In embodiments, an in-vehicle system computing platform having a hypervisor to host one or more virtual machines (VMs) includes a memory shrink manager, and a memory snapshot manager. The memory shrink manager is configured to orchestrate shrinking a memory footprint of one of the one or more VMs for a suspend process invoked in response to the computing platform being powered off. The memory snapshot manager is configured to save the shrunken memory footprint of the one VM to the persistent storage during the suspend process, and to reload a subset of the saved shrunken memory footprint during a resume process to resume the one VM from suspension to the persistent storage. The resume process is invoked in response to the computing platform being powered on, cold booted.

## Claims

### Claim 1

An apparatus for in-vehicle computing, comprising:
a computing platform having a hypervisor to host one or more virtual machines (VMs) instantiated on the hypervisor; and
a memory including instructions, which when executed by the computing platform, cause the computing platform to implement:
a memory shrink manager to orchestrate shrinking a memory footprint of one of the one or more VMs for a suspend process to suspend the one or more VMs to persistent storage, wherein the suspend process is invoked in response to the computing platform being initiated to power off, and the computing platform proceeds to power off on suspension of the one or more VMs to the persistent storage; and
a memory snapshot manager to save the shrunken memory footprint of the one or more VMs to the persistent storage during the suspend process, and to reload a subset of the saved shrunken memory footprint during a resume process to resume the one or more VMs from suspension to the persistent storage, wherein the resume process is invoked in response to the computing platform being powered on, cold booted;
wherein the memory snapshot manager comprises:
a snapshot saver that prioritizes storing memory contents in a predetermined order into the shrunken memory footprint, wherein the predetermined order is based on functionality of one or more operations associated with the vehicle that are initially rendered; and
a snapshot mapper arranged to establish a memory mapping for the memory contents of the saved shrunken memory footprint during the resume process, regardless whether the memory contents of the saved shrunken memory footprint are part of the subset being reloaded during the resume process, and to load a subset of the memory contents based on the predetermined order;
wherein the computing platform, the memory shrink manager, and the memory snapshot manager form at least a portion of an in-vehicle system of a vehicle that is powered off when an engine of the vehicle is turned off;
wherein the one or more VMs comprise a service VM having a service operating system (OS) to host one or more system services, and a user application VM having a user OS to host one or more user applications; and
wherein the memory shrink manager is disposed in the one of the one or more VMs to shrink a memory footprint of the one of the one or more VMs for the suspend process invoked while the computing platform is being powered off.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein to orchestrate shrinking of the memory footprint of the one or more VMs for the suspend process, the memory shrink manager forces one or more services or applications of the one VM to release memory allocated to the one or more services or applications, or swaps out memory pages of the one or more services or applications of the one VM to a swap storage.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the memory shrink manager further causes one or more devices of the one or more VMs to be placed in a stateless mode for the suspend process.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the memory snapshot manager includes a snapshot saver that prioritizes memory contents in the shrunken memory footprint and saves the memory contents in the shrunken memory footprint into the persistent storage in order of their priorities.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the snapshot saver further identifies identical memory pages of the prioritized memory contents in the shrunken memory footprint, and saves only one of each set of identical memory pages into the persistent storage.

### Claim 6 (depends on 4)

The apparatus of claim 4, wherein the snapshot saver further identifies changed memory pages of the prioritized memory contents in the shrunken memory footprint, and saves only changed memory pages into the persistent storage.

### Claim 7 (depends on 4)

The apparatus of claim 4, wherein the snapshot saver further compresses the prioritized memory contents in the shrunken memory footprint to produce compressed memory contents, prior to saving the compressed memory contents into the persistent storage in order of their priorities.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the memory snapshot manager includes a memory loader arranged to reload the subset of the saved shrunken memory footprint from the persistent storage into memory of the computing platform, during the resume process.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein memory snapshot manager further includes a snapshot mapper arranged to establish a memory mapping for memory content of the saved shrunken memory footprint during the resume process, regardless whether the memory content of the saved shrunken memory footprint are part of the subset being reloaded during the resume process.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the memory content of the saved shrunken memory footprint that are not part of the subset being reloaded during the resume process, are reloaded into the memory of the computing platform when they are subsequently accessed during operation.

### Claim 11 (depends on 1)

The apparatus of claim 1, wherein the memory shrink manager is disposed in the user application VM to shrink a memory footprint of the user application VM for the suspend process invoked while the computing platform is being powered off; and
wherein the memory snapshot manager is disposed in a service VM to establish a memory mapping for memory contents of the user application VM during the resume process invoked while the computing platform is being powered on, cold boot.

### Claim 12 (depends on 1)

The apparatus of claim 1, wherein the memory shrink manager is disposed in the service VM to shrink a memory footprint of the service VM for the suspend process invoked while the computing platform is being powered off; and
wherein the memory snapshot manager is disposed in the hypervisor to establish a memory mapping for memory contents of the service VM during the resume process invoked while the computing platform is being powered on.

### Claim 13

A method for managing in-vehicle computing, comprising:
instantiating one or more virtual machines (VMs) on a hypervisor executing a computing platform;
shrinking, via a memory shrink manager, a memory footprint of one of the one or more VMs for a suspend process to suspend the one or more VMs to persistent storage, wherein the suspend process is invoked in response to the computing platform being initiated to power off, and the computing platform proceeds to power off on suspension of the one or more VMs to the persistent storage;
saving, via a memory snapshot manager, the shrunken memory footprint of the one or more VMs to the persistent storage during the suspend process; and
reloading, via the memory snapshot manager, a subset of the saved shrunken memory footprint during a resume process to resume the one or more VMs from suspension to the persistent storage, wherein the resume process is invoked in response to the computing platform being powered on, cold booted;
wherein the memory snapshot manager comprises:
a snapshot saver that prioritizes storing memory contents in a predetermined order into the shrunken memory footprint, wherein the predetermined order is based on functionality of one or more operations associated with the vehicle that are initially rendered; and
a snapshot mapper arranged to establish a memory mapping for the memory contents of the saved shrunken memory footprint during the resume process, regardless whether the memory contents of the saved shrunken memory footprint are part of the subset being reloaded during the resume process, and to load a subset of the memory contents based on the predetermined order;
wherein the computing platform forms at least a portion of an in-vehicle system of a vehicle that is powered off when an engine of the vehicle is turned off;
wherein the one or more VMs comprise a service VM includes a service operating system (OS) to host one or more system services, and a user application VM includes a user OS to host one or more user applications; and
wherein the memory shrink manager is disposed in the one of the one or more VMs to shrink a memory footprint of the one of the one or more VMs for the suspend process invoked while the computing platform is being powered off.

### Claim 14 (depends on 13)

The method of claim 13, wherein the memory shrink manager is disposed in the user application VM to shrink a memory footprint of the user application VM for the suspend process invoked while the computing platform is being powered off; and wherein the memory snapshot manager is disposed in a service VM to establish a memory mapping for memory contents of the user application VM during the resume process invoked while the computing platform is being powered on, cold boot.

### Claim 15 (depends on 13)

The method of claim 13, wherein the memory shrink manager is disposed in the service VM to shrink a memory footprint of the service VM for the suspend process invoked while the computing platform is being powered off; and
wherein the memory snapshot manager is disposed in the hypervisor to establish a memory mapping for memory contents of the service VM during the resume process invoked while the computing platform is being powered on.

### Claim 16

At least one non-transitory machine-readable medium having instructions for implementing a hypervisor to host one or more virtual machines (VMs) instantiated on the hypervisor, which when executed by a computing platform of an in-vehicle system in a vehicle, cause the computing platform to:
implement a memory shrink manager to orchestrate shrinking a memory footprint of one of the one or more VMs for a suspend process to suspend the one or more VMs to persistent storage, wherein the suspend process is invoked in response to the computing platform being initiated to power off, and the computing platform proceeds to power off on suspension of the one or more VMs to the persistent storage; and
implement a memory snapshot manager to save the shrunken memory footprint of the one or more VMs to the persistent storage during the suspend process, and to reload a subset of the saved shrunken memory footprint during a resume process to resume the one or more VMs from suspension to the persistent storage, wherein the resume process is invoked in response to the computing platform being powered on, cold booted;
wherein the memory snapshot manager comprises:
a snapshot saver that prioritizes storing memory contents in a predetermined order into the shrunken memory footprint, wherein the predetermined order is based on functionality of one or more operations associated with the vehicle that are initially rendered; and
a snapshot mapper arranged to establish a memory mapping for the memory contents of the saved shrunken memory footprint during the resume process, regardless whether the memory contents of the saved shrunken memory footprint are part of the subset being reloaded during the resume process, and to load a subset of the memory contents based on the predetermined order;
wherein the computing platform, the memory shrink manager, and the memory snapshot manager form at least a portion of the in-vehicle system of a vehicle that is powered off when an engine of the vehicle is turned off;
wherein the one or more VMs comprise a service VM having a service operating system (OS) to host one or more system services, and a user application VM having a user OS to host one or more user applications; and wherein the memory shrink manager is disposed in the one of the one or more VMs to shrink a memory footprint of the one of the one or more VMs for the suspend process invoked while the computing platform is being powered off.

### Claim 17 (depends on 16)

The at least one non-transitory machine-readable medium of claim 16, wherein the memory shrink manager is disposed in the user application VM to shrink a memory footprint of the user application VM for the suspend process invoked while the computing platform is being powered off; and
wherein the memory snapshot manager is disposed in a service VM to establish a memory mapping for memory contents of the user application VM during the resume process invoked while the computing platform is being powered on, cold boot.

### Claim 18 (depends on 16)

The at least one non-transitory machine-readable medium of claim 16, wherein the memory shrink manager is disposed in the service VM to shrink a memory footprint of the service VM for the suspend process invoked while the computing platform is being powered off; and
wherein the memory snapshot manager is disposed in the hypervisor to establish a memory mapping for memory contents of the service VM during the resume process invoked while the computing platform is being powered on.
