# US 10,481,925 B2 · Dynamic user interface in machine-to-machine systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,481,925 B2
- Document ID: US10481925B2
- Status: Granted
- Kind: B2
- Application number: 16/306,571
- Filed: 2016-07-01
- Published: 2019-05-09
- Granted: 2019-11-19
- Earliest claimed: 2016-07-01
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Shao-Wen Yang; Yen-Kuang Chen
- Web page: https://patentgrep.com/patent/US10481925B2

## CPC

- G06F 8/35: model driven
- G06F 9/448: Execution paradigms, e.g. implementations of programming paradigms
- G06F 8/60: Software deployment
- G06F 15/16: Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs {(coordinating program control therefor G06F9/52; in regulating and control system G05B)}
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04W 4/50: Service provisioning or reconfiguring
- H04W 4/70: Services for machine-to-machine communication [M2M] or machine type communication [MTC]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

User inputs received through a graphical user interface of a programming tool are used to define a set of capability abstractions for a particular application and further define, based on the one or more user inputs, relationships between the set of capability abstractions. The particular application is to utilize a machine-to-machine network, and the set of capability abstractions include: a sensor capability abstraction, an actuator capability abstraction, a computation logic capability abstraction, an input user interface (UI) capability abstraction, and an output UI capability abstraction for the particular application. The relationships include a relationship between the input UI capability abstraction and the computation logic capability abstraction, where the input UI capability is to provide an input to the computation logic capability abstraction. Service logic for the particular application is generated to deploy an instance of the particular application in an environment based on the set of capability abstractions and relationships.

## Claims

### Claim 1

At least one machine accessible storage medium having instructions stored thereon, the instructions when executed on a machine, cause the machine to:
define, based on one or more user inputs received through a graphical user interface of a programming tool, a set of capability abstractions for a particular application, wherein the particular application is to utilize a machine-to-machine network, and the set of capability abstractions comprises: at least one sensor capability abstraction, at least one actuator capability abstraction, at least one computation logic capability abstraction, at least one input user interface (UI) capability abstraction, and at least one output UI capability abstraction for the particular application;
define, based on the one or more user inputs, relationships between the set of capability abstractions, wherein the relationships comprise a particular relationship between the input UI capability abstraction and the computation logic capability abstraction, wherein the particular relationship defines that the input UI capability abstraction is to provide an input to the computation logic capability abstraction; and
generate executable code comprising service logic to deploy an instance of the particular application in an environment, wherein the code is generated based on the set of capability abstractions and the relationships.

### Claim 2 (depends on 1)

The storage medium of claim 1, wherein deploying the instance of the particular application comprises selecting one or more devices in the environment for inclusion in the deployed instance of the particular application to implement a user interface for the particular application, and the user interface is provided based on at least one of the input UI capability abstraction and the output UI capability abstraction.

### Claim 3 (depends on 2)

The storage medium of claim 2, wherein the input UI capability abstraction comprises a first input UI capability abstraction and the set of capability abstractions further comprises a second input UI capability abstraction.

### Claim 4 (depends on 3)

The storage medium of claim 3, wherein the first input UI capability abstraction corresponds to providing a first type of input UI element in the user interface and the second input UI capability abstraction corresponds to providing a different, second type of input UI element in the user interface.

### Claim 5 (depends on 2)

The storage medium of claim 2, wherein the user interface enables runtime modifications to the deployed instance of the particular application.

### Claim 6 (depends on 1)

The storage medium of claim 1, wherein the service logic is executable to:
identify a set of resource abstractions corresponding to the set of capability abstractions; and
identify a collection of assets in the environment satisfying the set of resource abstractions.

### Claim 7 (depends on 6)

The storage medium of claim 6, wherein the service logic is further to select at least a portion of the collection of assets for deployment in the instance of the particular application.

### Claim 8 (depends on 7)

The storage medium of claim 7, wherein selection of the portion of the collection of assets is based on respective proximity of the assets to a management system corresponding to the environment.

### Claim 9 (depends on 8)

The storage medium of claim 8, wherein the management system comprises a gateway to communicate wirelessly with the collection of assets.

### Claim 10 (depends on 9)

The storage medium of claim 9, wherein the service logic is executed at least in part at the gateway.

### Claim 11 (depends on 6)

The storage medium of claim 6, wherein at least a particular one of the set of capability abstractions maps to a plurality of resource abstractions in the set of resource abstractions and another one of the set of capability abstractions maps to a single one of the set of resource abstractions.

### Claim 12 (depends on 11)

The storage medium of claim 11, wherein the input UI capability abstraction and output UI capability abstraction each map to a respective plurality of resource abstractions in the set of resource abstractions.

### Claim 13 (depends on 6)

The storage medium of claim 6, wherein the service logic identifies the collection of assets following deployment of the instance of the particular application according to respective runtime abstractions mapped to the set of capability abstractions.

### Claim 14 (depends on 1)

The storage medium of claim 1, wherein the set of capability abstractions are selected from a library of capability abstractions and the library of capability abstractions comprises a plurality of different input UI capability abstractions, and a plurality of different output UI capability abstractions.

### Claim 15 (depends on 1)

The storage medium of claim 1, wherein the relationships comprise a relationship between the output UI capability abstraction and one of the sensor capability abstraction, actuator capability abstraction, and computation logic capability abstraction.

### Claim 16 (depends on 1)

The storage medium of claim 1, wherein the computation logic capability abstraction corresponds to performance of an operation on sensor data to be generated by assets corresponding to the sensor capability abstraction.

### Claim 17 (depends on 1)

The storage medium of claim 1, wherein the service logic is reusable to deploy the particular application in another environment using a different collection of assets.

### Claim 18

A method comprising:
receiving one or more user inputs received through a graphical user interface of an application programming tool;
defining, based on the one or more user inputs, a set of capability abstractions for a particular application, wherein the particular application is to utilize a machine-to-machine network, and the set of capability abstractions comprises: at least one sensor capability abstraction, at least one actuator capability abstraction, a computation logic capability abstraction, at least one input user interface (UI) capability abstraction, and at least one output UI capability abstraction for the particular application;
define, based on the one or more user inputs, relationships between the set of capability abstractions, wherein the relationships comprise a particular relationship between the input UI capability abstraction and the computation logic capability abstraction, wherein the particular relationship defines that the input UI capability abstraction is to provide an input to the computation logic capability abstraction; and
generate executable code comprising service logic to deploy an instance of the particular application in an environment, wherein the code is generated based on the set of capability abstractions and the relationships.

### Claim 19

A system comprising:
a processor;
a memory;
a development system executable by the processor to:
define, based on one or more user inputs received through a graphical user interface of a programming tool, a set of capability abstractions for a particular application, wherein the particular application is to utilize a machine-to-machine network, and the set of capability abstractions comprises: at least one sensor capability abstraction, at least one actuator capability abstraction, at least one computation logic capability abstraction, at least one input user interface (UI) capability abstraction, and at least one output UI capability abstraction for the particular application;
define, based on the one or more user inputs, relationships between the set of capability abstractions, wherein the relationships comprise a particular relationship between the input UI capability abstraction and the computation logic capability abstraction, wherein the particular relationship defines that the input UI capability abstraction is to provide an input to the computation logic capability abstraction; and
generate executable code comprising service logic to deploy an instance of the particular application in an environment, wherein the code is generated based on the set of capability abstractions and the relationships.
