IP Library › Granted Patent US 10,257,267
Granted Patent B2
US 10,257,267 · App. 14/907,630 · Granted Apr 9, 2019

Running software application with dynamic action delegation

Inventors: Claudio Marinelli (Rome, IT); Luigi Pichetti (Rome, IT); Alex Donatelli (Rome, IT); Giovanni Lanfranchi (Rome, IT)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L67/104G06F9/5044H04L67/32G06F2209/509
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,257,267
App. No.
14/907,630
Granted
Apr 9, 2019
Kind
B2
Abstract

A solution for running a software application on a computing machine is provided, which includes registering a capability of a delegation component to execute at least one action on the computing machine, each one defined by at least one characteristic thereof, receiving a request for executing the at least one action from the software application by the delegation component, the request being bound to the delegation component at run-time according to the capability registration thereof, and delegating, by the delegation component, the execution of the at least one action to at least one local component of the computing machine being capable of executing at least part of the at least one action and/or to at least one remote component of at least one remote computing machine being capable of executing at least part of the at least one action according to an availability of the at least one local component.

Claims (68)

1. A computer-implemented method for running a software application on a local mobile device, the computer-implemented method comprising:

registering a capability of a delegation component to execute at least one action on the local mobile device, each action of the at least one action being defined by at least one characteristic thereof;

executing the software application on the local mobile device, the executing comprising:

receiving a request for executing the at least one action from the software application by the delegation component, the request being bound to the delegation component at run-time according to the capability registration thereof;

delegating, by the delegation component, the execution of the at least one action to at least one local component of the local mobile device capable of executing at least part of the at least one action and/or to at least one remote component of at least one remote mobile device capable of executing at least part of the at least one action according to an availability of the at least one local component, the delegating including determining availability of the at least one remote mobile device to assist with the executing of the at least part of the at least one action; and

wherein:

the at least one action comprises an execution of a service;

the at least one action comprises a sensing of a physical quantity;

delegating the execution of the at least one action comprises:

delegating the sensing of the physical quantity to a first remote component of one remote mobile device of the at least one remote mobile device;

receiving a measure of the physical quantity from the first remote component;

delegating the execution of the service to the local component or to a second remote component of a remote computing machine by passing a value based on the measure of the physical quantity; and

the remote computing machine is provided by a network service.

2. The computer-implemented method of claim 1 , wherein delegating the execution of the at least one action comprises:

receiving a result of the execution of the at least one action from the at least one local component or the at least one remote component; and

returning the result to the software application.

3. The computer-implemented method of claim 1 , wherein delegating the execution of the at least one action comprises, when no local component is present on the local mobile device:

delegating the execution of the at least one action to the at least one remote mobile device.

4. The computer-implemented method of claim 1 , wherein delegating the execution of the at least one action comprises, when the at least one local component is present on the local mobile device:

measuring at least one metric of the local mobile device; and

delegating the execution of the at least one action to the at least one local component or to the at least one remote component according to the at least one metric.

5. The computer-implemented method claim 1 , wherein delegating the execution of the at least one action comprises:

determining an availability of each remote mobile device of the at least one remote mobile device, in proximity of the local mobile device, to execute at least part of the at least one action.

6. The computer-implemented method of claim 1 , wherein the registering the capability of the delegation component comprises:

providing the delegation component with a manifest file with an intent filter for the at least one action indicating the capability of the delegation component to execute the at least one action.

7. A computer program product for running a software application on a local mobile device, the computer program product comprising:

a non-transitory computer-readable storage medium having program instructions embodied therewith, the program instructions being executable by a processor to cause the processor to perform a method comprising:

registering a capability of a delegation component to execute at least one action on the local mobile device, each action of the at least one action being defined by at least one characteristic thereof;

executing the software application on the local mobile device, the executing comprising:

receiving a request for executing the at least one action from the software application by the delegation component, the request being bound to the delegation component at run-time according to the capability registration thereof; and

delegating, by the delegation component, the execution of the at least one action to at least one local component of the local mobile device capable of executing at least part of the at least one action and/or to at least one remote component of at least one remote mobile device capable of executing at least part of the at least one action according to an availability of the at least one local component, the delegating including determining availability of the at least one remote mobile device to assist with the executing of the at least part of the at least one action; and

wherein:

the at least one action comprises an execution of a service;

the at least one action comprises a sensing of a physical quantity;

delegating the execution of the at least one action comprises:

delegating the sensing of the physical quantity to a first remote component of one remote mobile device of the at least one remote mobile device;

receiving a measure of the physical quantity from the first remote component;

delegating the execution of the service to the local component or to a second remote component of a remote computing machine by passing a value based on the measure of the physical quantity; and

the remote computing machine is provided by a network service.

8. The computer program product of claim 7 , wherein delegating the execution of the at least one action comprises:

receiving a result of the execution of the at least one action from the at least one local component or the at least one remote component; and

returning the result to the software application.

9. The computer program product of claim 7 , wherein delegating the execution of the at least one action comprises, when no local component is present on the local mobile device:

delegating the execution of the at least one action to the at least one remote mobile device.

10. The computer program product of claim 7 , wherein delegating the execution of the at least one action comprises, when the at least one local component is present on the local mobile device:

measuring at least one metric of the local mobile device; and

delegating the execution of the at least one action to the at least one local component or to the at least one remote component according to the at least one metric.

11. The computer program product of claim 7 , wherein the at least one action comprises an execution of a service.

12. A system for running a software application on a local mobile device, the system comprising:

a memory; and

a processor communicatively coupled to the memory, wherein the system performs a method comprising:

registering a capability of a delegation component to execute at least one action on the local mobile device, each action of the at least one action being defined by at least one characteristic thereof;

executing the software application on the local mobile device, the executing comprising:

receiving a request for executing the at least one action from the software application by the delegation component, the request being bound to the delegation component at run-time according to the capability registration thereof;

delegating, by the delegation component, the execution of the at least one action to at least one local component of the local mobile device capable of executing at least part of the at least one action and/or to at least one remote component of at least one remote mobile device capable of executing at least part of the at least one action according to an availability of the at least one local component, the delegating including determining availability of the at least one remote mobile device to assist with the executing of the at least part of the at least one action; and

wherein:

the at least one action comprises an execution of a service;

the at least one action comprises a sensing of a physical quantity;

delegating the execution of the at least one action comprises:

delegating the sensing of the physical quantity to a first remote component of one remote mobile device of the at least one remote mobile device;

receiving a measure of the physical quantity from the first remote component;

delegating the execution of the service to the local component or to a second remote component of a remote computing machine by passing a value based on the measure of the physical quantity; and

the remote computing machine is provided by a network service.

13. The system of claim 12 , wherein delegating the execution of the at least one action comprises:

receiving a result of the execution of the at least one action from the at least one local component or the at least one remote component; and

returning the result to the software application.

14. The system of claim 12 , wherein delegating the execution of the at least one action comprises, when no local component is present on the local mobile device:

delegating the execution of the at least one action to the at least one remote component.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2016
From: MARINELLI, CLAUDIO; PICHETTI, LUIGI; DONATELLI, ALEX; LANFRANCHI, GIOVANNI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037583/0326 →
Priority Claims (1)
GB 1313660.1 · Jul 31, 2013 · national
Continuity (1)
Related Publication 20160164960A1 · Jun 9, 2016