# US 12,602,247 B2 · Handoff of executing application between local and cloud-based computing devices

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

- Number: US 12,602,247 B2
- Document ID: US12602247B2
- Status: Granted
- Kind: B2
- Application number: 17/976,588
- Filed: 2022-10-28
- Published: 2024-05-02
- Granted: 2026-04-14
- Earliest claimed: 2022-10-28
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Christiaan Brinkhoff; Prasanna Chromepet Padmanabhan; Sandeep Patnaik
- Web page: https://patentgrep.com/patent/US12602247B2

## CPC

- G06F 9/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- G06F 11/328: {Computer systems status display (G06F11/327 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods are provided for handing off execution of an application from a local computing device to a cloud-based computing device. The disclosed technology is directed to determining whether and when to initiate handing off the execution of the application based on monitoring resource consumption of the local computing device. When the application is not previously installed on the cloud-based computing device, the local computing device transmits an application installer executable to the cloud-based computing device for enabling use of the same application on the cloud-based computing device.

## Claims

### Claim 1

A computer implemented method for handing off execution of an application from a first computing device to a second computing device, the first computing device comprising a local computing device, and the second computing device comprising a remote computing device, the method comprising:
creating, based on resource consumption data associated with the first computing device, a computer-executable instruction, the computer-executable instruction comprising an instruction to handoff execution of a first application from the first computing device to the second computing device, the handoff execution further comprising launching a second application on the second computing device;
transmitting, by the first computing device, the computer-executable instruction to execute the computer-executable instruction to initiate the handoff execution on the second computing device to install and launch the second application on the second computing device;
receiving output of the second application from the second computing device over a network; and
displaying, on a display of the first computing device, an output of the first application and further updating the displayed output by displaying a remote desktop, the remote desktop representing the received output of the second application being executed on the second computing device.

### Claim 2 (depends on 1)

The computer implemented method of claim 1, further comprising:
prior to determining to initiate the handoff execution of the first application on the first computing device to the second computing device, receiving a request to launch the first application on the first computing device.

### Claim 3 (depends on 1)

The computer implemented method of claim 1, wherein the resource consumption data includes at least one of:
a utilization rate of a processor on the first computing device,
a latency of accessing a non-volatile memory on the first computing device, or
a latency of communication over the network.

### Claim 4 (depends on 1)

The computer implemented method of claim 1, further comprising:
prior to handing off execution of the first application, generating a notice of the handoff of the execution of the first application from the first computing device to the second computing device;
displaying the notice of the handoff; and
receiving an input confirming that the execution of the first application is to be handed off from the first computing device to the second computing device.

### Claim 5 (depends on 1)

The computer implemented method of claim 1, further comprising:
transmitting an application installer executable to the second computing device for installation.

### Claim 6 (depends on 1)

The computer implemented method of claim 1, further comprising:
storing application file data associated with the first application in a cloud data repository; and
terminating the first application on the first computing device after the remote desktop is displayed.

### Claim 7 (depends on 1)

The computer implemented method of claim 1, wherein the second application corresponds to the first application, and wherein the second application is a cloud-based version of the first application.

### Claim 8 (depends on 1)

The computer implemented method of claim 1, wherein the second computing device is accessible from the first computing device over the network through the remote desktop displayed on the first computing device.

### Claim 9 (depends on 1)

The computer implemented method of claim 1, wherein the second computing device corresponds to a cloud-based computing device.

### Claim 10

A system comprising:
a memory; and
a processor configured to execute operations for handing off execution of an application from a first computing device to a second computing device, the first computing device comprising a local computing device, and the second computing device comprising a remote computing device, the operations comprising:
receiving a request to launch a first application on the first computing device;
launching the first application;
creating, based on resource consumption data associated with the first computing device, a computer-executable instruction, the computer-executable instruction comprising an instruction to handoff execution of the first application from the first computing device to the second computing device, the handoff further comprising launching a second application on the second computing device;
transmitting, by the first computing device, the computer-executable instruction to execute the computer-executable instruction to initiate the handoff execution on the second computing device to install and launch the second application on the second computing device;
receiving output of the second application from the second computing device over a network; and
displaying, on a display of the first computing device, an output of the first application and further updating the displayed output by displaying a remote desktop, the remote desktop representing the received output of the second application being executed in the second computing device.

### Claim 11 (depends on 10)

The system of claim 10, the processor further configured to execute operations comprising:
retrieving the resource consumption data associated with one or more resources on the first computing device, wherein the resource consumption data includes at least one of:
a utilization rate of the processor on the first computing device,
a latency of accessing a non-volatile memory on the first computing device, or
a latency of communication over the network; and
determining, based on the resource consumption data and predetermined thresholds associated with resource consumption, whether to initiate the handoff of the execution of the first application from the first computing device to the second computing device.

### Claim 12 (depends on 10)

The system of claim 10, the processor further configured to execute operations comprising:
retrieving an application installer executable;
transmitting the application installer executable to the second computing device for installation; and
receiving data associated with the remote desktop including an indication that the second application being executed in the second computing device.

### Claim 13 (depends on 10)

The system of claim 10, wherein the first application and the second application correspond to a same version of a same application.

### Claim 14 (depends on 10)

The system of claim 10, wherein the second computing device corresponds to a cloud-based computing device.
