IP Library Granted Patent US 7,903,621
Granted Patent B2
US 7,903,621 · App. 11/117,945 · Granted Mar 8, 2011

Service execution using multiple devices

Assignee: Siemens Aktiengesellschaft
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 7,903,621
App. No.
11/117,945
Granted
Mar 8, 2011
Kind
B2
Abstract

A system includes determination of a service to perform with respect to data stored in the device, determination of a plurality of sub-services corresponding to the service, determination of an execution sequence for the plurality of sub-services, communication of the execution sequence to each of a plurality of local external devices, each of the plurality of local external devices to perform at least one of the plurality of sub-services in accordance with the execution sequence, and transmission of the data to at least a first of the plurality of local external devices.

Claims (57)

1. A method for a device, comprising:

receiving a command from a user;

determining a service desired by the user and to perform with respect to data stored in the device;

determining a plurality of sub-services corresponding to the service;

determining an execution sequence for the plurality of sub-services;

communicating the execution sequence to each of a plurality of local external devices, each of the plurality of local external devices to perform at least one of the plurality of sub-services in accordance with the execution sequence; and

transmitting the data to at least a first of the plurality of local external devices;

wherein transmitting the data comprises transmitting a set of function calls including the data to the first of the plurality of local external devices, and

wherein the function calls are nested in accordance with the execution sequence.

2. A method according to claim 1 , wherein determining the plurality of sub-services comprises:

determining a set of sub-services available to the device from a set of local external devices; and

determining the plurality of sub-services from the set of sub-services.

3. A method according to claim 2 , wherein determining the plurality of sub-services further comprises:

determining sub-services provided by the device;

determining the plurality of sub-services based on the service, the set of sub-services, and the sub-services provided by the device.

4. A method according to claim 2 , wherein determining the set of sub-services comprises:

executing a device and service discovery protocol in conjunction with the set of local external devices.

5. A method according to claim 1 , further comprising:

determining unavailability of one of the plurality of local external devices;

determining a local external device to provide one or more sub-services to have been performed by the unavailable one of the plurality of local external devices;

determining a new execution sequence for the plurality of sub-services; and

communicating the new execution sequence to the determined local external device and the plurality of local external devices to perform at least one of the plurality of sub-services in accordance with the new execution sequence.

6. A method according to claim 1 , wherein communicating the execution sequence to each of the plurality of local external devices comprises:

communicating the execution sequence to one of the plurality of local external devices,

wherein the one of the plurality of local external devices is to communicate the execution sequence to one other of the plurality of local external devices.

7. A device comprising:

a processor;

a memory storing program code executable by the processor to cause the device to:

receive a command from a user;

determine a service desired by the user and to perform with respect to data stored in the device;

determine a plurality of sub-services corresponding to the service;

determine an execution sequence for the plurality of sub-services;

communicate the execution sequence to each of a plurality of local external devices, each of the plurality of local external devices to perform at least one of the plurality of sub-services in accordance with the execution sequence; and

transmit the data to at least a first of the plurality of local external devices;

wherein the program code executable by the processor to cause the device to transmit the data comprises:

program code executable by the processor to cause the device to transmit a set of function calls including the data to the first of the plurality of local external devices, and

wherein the function calls are nested in accordance with the execution sequence.

8. A device according to claim 7 , wherein the program code executable by the processor to cause the device to determine the plurality of sub-services comprises:

program code executable by the processor to cause the device to:

determine a set of sub-services available to the device from a set of local external devices; and

determine the plurality of sub-services from the set of sub-services.

9. A device according to claim 8 , wherein the program code executable by the processor to cause the device to determine the plurality of sub-services further comprises:

program code executable by the processor to cause the device to:

determine sub-services provided by the device; and

determine the plurality of sub-services based on the service, the set of sub-services, and the sub-services provided by the device.

10. A device according to claim 8 , wherein the program code executable by the processor to cause the device to determine the set of sub-services comprises:

program code executable by the processor to cause the device to:

execute a device and service discovery protocol in conjunction with the set of local external devices.

11. A device according to claim 7 , the program code further executable by the processor to cause the device to:

determine unavailability of one of the plurality of local external devices;

determine a local external device to provide one or more sub-services to have been performed by the unavailable one of the plurality of local external devices;

determine a new execution sequence for the plurality of sub-services; and

communicate the new execution sequence to the determined local external device and the plurality of local external devices to perform at least one of the plurality of sub-services in accordance with the new execution sequence.

12. A device according to claim 7 , wherein the program code executable by the processor to cause the device to communicate the execution sequence to each of the plurality of local external devices comprises:

program code executable by the processor to cause the device to:

communicate the execution sequence to one of the plurality of local external devices,

wherein the one of the plurality of local external devices is to communicate the execution sequence to one other of the plurality of local external devices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2008
From: SIEMENS COMMUNICATIONS, INC.
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 020659/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2005
From: ANSARI, MOHAMMED I.; CHADHA, LOVLEEN
To: SIEMENS COMMUNICATIONS, INC.
Reel/Frame 016523/0185 →
Continuity (1)
Related Publication 20060245383A1 · Nov 2, 2006