IP Library Granted Patent US 9,063,743
Granted Patent B2
US 9,063,743 · App. 12/952,517 · Granted Jun 23, 2015

Model-based programming, configuration, and integration of networked embedded devices

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 9,063,743
App. No.
12/952,517
Granted
Jun 23, 2015
Kind
B2
Abstract

Embodiments of the invention relate to programming, configuring, and integrating networked embedded devices with other applications. Particular embodiments include an architecture having an application model layer that integrates the networked embedded devices with business application systems, by allowing the devices to be expressed as part of a business application concept. In certain embodiments, an intermediate device programming layer provides a network-centric programming abstraction, relieving the programmer of the details of low-level, node-centric programming. Finally, a self-optimizing run-time system layer adapts to the specific conditions in the deployed network embedded devices, by optimizing e.g. communication patterns and resource consumption based upon input from the higher layer(s). Embodiments may facilitate integration of networked embedded devices with the back ends of business applications, and may provide a unified extensible programming framework simplifying development of applications for network embedded devices.

Claims (44)

1. A computer-implemented method comprising:

providing a network model of network embedded devices;

creating a process model including an artifact restricted by a functionality indicated by the network model, wherein the functionality comprises run-time functionality;

providing the run-time functionality to the process model in the form of:

raw results obtained from at least one of the network embedded devices and node level monitoring information,

application results and profiling information;

providing the process model as an input to a compiler to produce:

a plurality of abstractions of a high level device programming language, the plurality of abstractions provided to a second complier referencing the network model to produce a first executable code including a communication primitive, the first executable code recognized by an operating system of the network embedded device, and

a second executable code including the communication primitive, the second executable code recognized by a business software application;

controlling operation of the network embedded devices based upon the first executable code;

causing a run-time support to collect statistics of a changed network environment;

causing the run-time support to self-optimize using the statistics and an optimization hint produced be the compiler, and

monitoring the operation of the network embedded devices by a construct specified in the process model and complied by the compiler to produce an application-level result.

2. The method of claim 1 wherein the network embedded devices comprise a wireless sensor network.

3. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:

providing a network model of network embedded devices;

creating a process model including an artifact restricted by a functionality indicated by the network model, wherein the functionality comprises run-time functionality;

providing the run-time functionality to the process model in the form of:

raw results obtained from at least one of the network embedded devices and node level monitoring information,

application results and profiling information;

providing the process model as an input to a compiler to produce:

a plurality of abstractions of a high level device programming language, the plurality of abstractions provided to a second compiler referencing the network model to produce a first executable code including a communication primitive, the first executable code recognized by an operating system of the network embedded devices, and

a second executable code including the communication primitive, the second executable code recognized by a business software application;

controlling operation of the network embedded devices based upon the first executable code;

causing a run-time support to collect statistics of a changed network environment;

causing the run-time support to self-optimize using the statistics and an optimization hint produced by the compiler, and

monitoring the operation of the network embedded devices by a construct specified in the process model and complied by the compiler to produce an application-level result.

4. The computer readable storage medium of claim 3 wherein the network of network embedded devices comprises a wireless sensor network.

5. A computer system comprising:

one or more processors;

a software program, executable on said computer system, the software program configured to:

providing a network model of network embedded devices;

creating a process model including an artifact restricted by a functionality indicated by the network model, wherein the functionality comprises run-time functionality;

providing the run-time functionality to the process model in the form of:

raw results obtained from at least one of the network embedded devices and node level monitoring information,

application results and profiling information;

providing the process model as an input to a compiler to produce:

a plurality of abstractions of a high level device programming language, the plurality of abstractions provided to a second compiler referencing the model to produce a first executable code including a communication primitive, the first executable code recognized by an operating system of the network embedded devices, and

a second executable code including the communication primitive, the second executable code recognized by the business software application;

controlling operation of the network embedded devices based upon the first executable code;

causing a run-time support to collect statistics of a changed network environment;

causing the run-time support to self-optimize using statistics and an optimization hint produced be the compiler, and

monitoring the operation of the network embedded devices by a construct specified in the process model and complied by the compiler to produce an application-level result.

6. The computer system of claim 5 wherein the network of network embedded devices comprises a wireless sensor network.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2010
From: SPIESS, PATRIK; KARNOUSKOS, STAMATIS; HALLER, STEPHAN; OERTEL, NINA
To: SAP AG
Reel/Frame 025397/0690 →