IP Library Granted Patent US 12,737,217
Granted Patent B2
US 12,737,217 · App. 18/040,061 · Granted Sep 15, 2026

Computing devices to transfer execution of processes

Inventors: Alexandre Santos da Silva, Jr. (Porto Alegre, BR); Lucas Lemos Rosa (Porto Alegre, BR); Fabio Osorio Moreira (Porto Alegre, BR)
Assignee: Hewlett-Packard Development Company, L.P.
G06F9/4881
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,737,217
App. No.
18/040,061
Granted
Sep 15, 2026
Kind
B2
Abstract

An example computing device includes a user input device, a network interface, and a processor connected to the user input device and the network interface. The processor is to execute a process, monitor user input at the user input device to determine user interaction with the process, and, in response to determining a lack of user interaction with the process, provide the process to a remote computing device via the network interface to continue execution of the process by the remote computing device.

Claims (41)

1 . A computing device comprising:

a user input device;

a network interface;

a processor connected to the user input device and the network interface, the processor to:

execute a process;

monitor user input at the user input device to determine user interaction with the process; and

in response to (i) determining a lack of user interaction with the process and (ii) determining a portion of network bandwidth exceeds a first threshold or a portion of CPU cycles exceeds a second threshold, provide the process to a remote computing device via the network interface to continue execution of the process by the remote computing device.

2 . The computing device of claim 1 , wherein the processor is to transmit the process to the remote computing device via the network interface.

3 . The computing device of claim 1 , wherein the processor is to communicate data of the process to the remote computing device via the network interface and an application programming interface at the remote computing device.

4 . The computing device of claim 1 , wherein the processor is further to:

receive output of the process from the remote computing device via the network interface; and

open a new viewport to display the output received from the remote computing device.

5 . The computing device of claim 4 , wherein the processor is further to:

open the new viewport at a display location of an existing viewport that is assigned to the process as executed by the processor; and

close the existing viewport.

6 . The computing device of claim 5 , wherein the processor is further to determine that the process uses an excessive amount of resources of the computing device as a condition to provide the process to the remote computing device.

7 . The computing device of claim 5 , wherein the processor is to apply a machine-learning model to monitor the user input and determine a lack of user interaction with the process.

8 . The computing device of claim 1 , wherein the processor is to prompt the user to confirm if the user is interacting with the process.

9 . The computing device of claim 8 , wherein a lack of response to the prompting indicates the user is not interacting with the process.

10 . The computing device of claim 1 , wherein, to monitor the user input at the user input device to determine user interaction with the process, the processor monitors at least one of:

mouse clicks;

camera image capture;

camera video capture; or

microphone audio capture.

11 . A non-transitory computer-readable medium comprising instructions that cause a processor to:

monitor for focus of an application executed by the processor;

when the application loses focus, and in response to determining a portion of network bandwidth exceeds a threshold, provide process of the application to a computing device that is remote from the processor to continue execution of the application by the remote computing device; and

receive output of the application from the remote computing device.

12 . The non-transitory computer-readable medium of claim 11 , wherein the instructions are further to replace output of the application as executed by the processor with the output received from the remote computing device.

13 . The non-transitory computer-readable medium of claim 11 , wherein the instructions are to initiate a subsequent execution of the application at the remote computing device without monitoring the user focus for user inattention.

14 . The non-transitory computer-readable medium of claim 11 , wherein the instructions are to determine a target resource allocation for the application and select the remote computing device from a plurality of the remote computing devices based on the target resource allocation.

15 . A method comprising:

initiating local execution of a process at a local computing device;

in response to determining that local execution consumes an unacceptable amount of local computational resources and that the process lacks focus, transferring execution of the process to a remote computing device that includes greater computational resources than the local computing device for remote execution of the process, wherein the unacceptable amount of local computational resources occurs when a portion of CPU cycles exceeds a threshold; and

outputting results of the remote execution of the process at the local computing device.

16 . The method of claim 15 , further comprising:

returning execution of the process to the local computing device in response to determining that local execution would consume an acceptable amount of local computational resources;

opening a new viewport of the local execution of the process at a display location of an existing viewport of the remote execution of the process; and

closing the existing viewport.

17 . The method of claim 15 , further comprising returning execution of the process to the local computing device in response to an increase in latency in a computer network that connects the local computing device and the remote computing device.

18 . The method of claim 15 , further comprising applying a plurality of different focus indicators to a machine-learning model to determine that the process lacks focus.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE LAST NAME AND SUFFIX OF FIRST INVENTOR DELETING JUNIOR AND REPLACING WITH JR PREVIOUSLY RECORDED ON REEL 062554 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASIGNORS INTEREST. Recorded Nov 13, 2023
From: SANTOS DA SILVA, ALEXANDRE, JR.; LEMOS ROSA, LUCAS; OSORIO MOREIRA, FABIO
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 065611/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2023
From: SANTOS DA SILVA JUNIOR, ALEXANDRE; LEMOS ROSA, LUCAS; OSORIO MOREIRA, FABIO
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 062554/0382 →
Continuity (1)
Related Publication 20230289221A1 · Sep 14, 2023
References Cited (26)
US 6981040B1 · Konig · 2005 [cited by examiner]
US 7320031B2 · Konig · 2008 [cited by examiner]
US 8200771B2 · Ganesh et al. · 2012 [cited by applicant]
US 8355709B2 · Nagaraj · 2013 [cited by examiner]
US 9210213B2 · Momchilov et al. · 2015 [cited by applicant]
US 9507630B2 · Addepalli et al. · 2016 [cited by applicant]
US 10015178B2 · Schulman · 2018 [cited by examiner]
US 10089259B2 · Lavasani · 2018 [cited by examiner]
US 10747418B2 · Pieper · 2020 [cited by examiner]
US 11682029B2 · Sharma · 2023 [cited by examiner]
US 20010018673A1 · Goldband et al. · 2001 [cited by applicant]
US 20120246107A1 · Beaty et al. · 2012 [cited by applicant]
US 20130073600A1 · Jenkins et al. · 2013 [cited by applicant]
US 20130246926A1 · Vemireddy · 2013 [cited by applicant]
US 20140032761A1 · Beveridge · 2014 [cited by applicant]
US 20140101226A1 · Khandekar et al. · 2014 [cited by applicant]
US 20150326690A1 · Momchilov et al. · 2015 [cited by applicant]
US 20160139948A1 · Beveridge et al. · 2016 [cited by applicant]
US 20160217615A1 · Kraver · 2016 [cited by applicant]
US 20170024100A1 · Pieper · 2017 [cited by examiner]
US 20170034193A1 · Schulman · 2017 [cited by examiner]
US 20180288137A1 · Veeramani et al. · 2018 [cited by applicant]
US 20200142753A1 · Harwood et al. · 2020 [cited by applicant]
CN 105144108A · 2015 [cited by applicant]
CN 108064364A · 2018 [cited by applicant]
Yang, et al., “Context-Aware Task Offloading for Wearable Devices”, IEEE, Jul. 31, 2017, 9 pages. [cited by applicant]