IP Library Granted Patent US 10,044,798
Granted Patent B2
US 10,044,798 · App. 15/017,399 · Granted Aug 7, 2018

Context-aware task offloading among multiple devices

Inventors: Su Liu (Austin, TX); Eric J. Rozner (Austin, TX); Chin Ngai Sze (Austin, TX); Yaoguang Wei (Austin, NY)
Assignee: International Business Machines Corporation
H04L67/104H04L67/10H04L67/1002H04L67/125H04L67/16
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 10,044,798
App. No.
15/017,399
Granted
Aug 7, 2018
Kind
B2
Abstract

The present disclosure relates to offloading computing tasks from a user device to a cloud service. In one embodiment, a method generally includes generating, based on user input, a command for processing by the cloud service. The user device ranks the user device and one or more peer devices in a network based on at least one of information about the user device and one or more peer devices and information about the generated command from the user device and the peer devices, and the user device selects one or more of the user device and the peer devices to transmit the command based on the ranking information. Upon determining that the user device is one of the selected devices, the user device transmits the command to the cloud service. If the user device is not one of the selected devices, the user device discards the generated command.

Claims (39)

1. A computer program product, comprising:

a computer-readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform an operation to offload, from a user device, computing tasks to a cloud service, the operation comprising:

generating, based on user input, a command for processing by the cloud service;

based on at least one of information about the user device and one or more peer devices and information about the generated command from the user device and the one or more peer devices, ranking the user device and the one or more peer devices, wherein the ranking comprises generating a score for each of the user device and the one or more peer devices based on a weighting of one or more characteristics of the user device and the one or more peer devices;

selecting one or more of the user device and the peer devices to transmit the command to the cloud service for processing based on the ranking information;

upon determining that the user device is one of the selected devices, transmitting the command to the cloud service; and

upon determining that the user device is not one of the selected devices, discarding the generated command.

2. The computer program product of claim 1 , wherein the selecting one or more of the user device and the one or more peer devices comprises designating a master device to communicate with the cloud service.

3. The computer program product of claim 2 , wherein the operations further comprise:

upon determining that the user device is not the master device:

transmitting the command to the master device; or

transmitting the command to a selected device other than the master device for offloading to the cloud service.

4. The computer program product of claim 1 , wherein the operations further comprise:

receiving a response from the cloud service.

5. The computer program product of claim 4 , wherein the operations further comprise:

based on partitioning information in the response, outputting at least a portion of the response on the user device.

6. The computer program product of claim 4 , wherein the operations further comprise:

partitioning the response into a plurality of discrete parts; and

based on the information about the user device and the one or more peer devices, selecting one or more of the parts to output on the user device.

7. A system, comprising:

a processor; and

memory storing one or more instructions, which, when executed by the processor, perform an operation to offload, from a user device, computing tasks to a cloud service, the operation comprising:

generating, based on user input, a command for processing by the cloud service;

based on at least one of information about the user device and one or more peer devices and information about the generated command from the user device and the one or more peer devices, ranking the user device and the one or more peer devices, wherein the ranking comprises generating a score for each of the user device and the one or more peer devices based on a weighting of one or more characteristics of the user device and the one or more peer devices;

selecting one or more of the user device and the peer devices to transmit the command to the cloud service for processing based on the ranking information;

upon determining that the user device is one of the selected devices, transmitting the command to the cloud service; and

upon determining that the user device is not one of the selected devices, discarding the generated command.

8. The system of claim 7 , wherein the selecting one or more of the user device and the one or more peer devices comprises designating a master device to communicate with the cloud service.

9. The system of claim 8 , wherein the operations further comprise:

upon determining that the user device is not the master device:

transmitting the command to the master device; or

transmitting the command to a selected device other than the master device for offloading to the cloud service.

10. The system of claim 7 , wherein the operations further comprise:

receiving a response from the cloud service.

11. The system of claim 10 , wherein the operations further comprise:

based on partitioning information in the response, outputting at least a portion of the response on the user device.

12. The system of claim 10 , wherein the operations further comprise:

partitioning the response into a plurality of discrete parts; and

based on the information about the user device and the one or more peer devices, selecting one or more of the parts to output on the user device.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCKET NUMBER PREVIOUSLY RECORDED AT REEL: 037682 FRAME: 0671. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 22, 2016
From: LIU, SU; ROZNER, ERIC J.; SZE, CHIN NGAI; WEI, YAOGUANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038215/0885 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2016
From: LIU, SU; ROZNER, ERIC J.; SZE, CHIN NGAI; WEI, YAOGUANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037682/0671 →
Continuity (1)
Related Publication 20170230448A1 · Aug 10, 2017