# US 2019/0173684 A1 · Internet of Things Device Interface

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

- Number: US 2019/0173684 A1
- Document ID: US20190173684A1
- Status: Published application
- Kind: A1
- Application number: 15/829,331
- Filed: 2017-12-01
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Alexander OCHER; Viktor LAPITSKI
- Web page: https://patentgrep.com/patent/US20190173684A1

## CPC

- H04L 12/281: {indicating a format for calling an appliance service function in a home automation network (for remote control or remote monitoring of applications H04L67/025)}
- H04L 12/2816: {Controlling appliance services of a home automation network by calling their functionalities (arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station; in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom H04Q9/00)}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 2012/285: {Generic home appliances, e.g. refrigerators}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed herein are system, method, and computer program product embodiments for interfacing with and managing IoT devices. An embodiment operates by requesting a list of device-specific capabilities from one or more IoT devices, providing a user interface by which users can view all available capabilities across the one or more IoT devices, and receiving a selected capability which subsequently executes on the appropriate IoT device.

## Claims

### Claim 1

A computer implemented method for internet-of-things (IoT) device management, comprising:
sending an initial network request to an IoT device;
receiving from the IoT device in response to the initial network request a first response identifying one or more device-specific capabilities supported by the IoT device;
storing the one or more device-specific capabilities associated with the IoT device;
providing a user interface enabling a user to select one of the one or more device-specific capabilities for the IoT device, and
sending one or more subsequent network requests to the IoT device, wherein the one or more subsequent network requests indicate the selected capability;
wherein the IoT device executes the selected capability, and wherein at least one of the sending, receiving, storing, and providing are performed by one or more computers.

### Claim 2 (depends on 1)

The method of claim 1, wherein the IoT device is a home appliance.

### Claim 3 (depends on 1)

The method of claim 1, wherein the sending an initial network request comprises:
sending the initial network request to the IoT device on a periodic basis in order to dynamically discover a device-specific function in addition to the one or more device-specific capabilities.

### Claim 4 (depends on 1)

The method of claim 1, the providing further comprising:
displaying identifying characteristics of the IoT device and the one or more device-specific capabilities on a mobile-device friendly user interface.

### Claim 5 (depends on 1)

The method of claim 1, the sending an initial network request further comprising:
automatically registering the IoT device when the IoT device connects to the Internet.

### Claim 6 (depends on 1)

The method of claim 1, the first response further comprising one or more parameters associated with the one or more device-specific capabilities.

### Claim 7 (depends on 6)

The method of claim 6, the one or more subsequent network requests further comprise the one or more parameters.

### Claim 8

A system for computing device management, comprising a memory;
at least one processor coupled to the memory and configured to:
send an initial network request to a computing device;
receive from the computing device in response to the initial network request a first response identifying one or more device-specific capabilities supporting by the computing device;
provide a user interface enabling a user to select one of the one or more device-specific capabilities for the computing device; and
send one or more subsequent network requests to the computing device, wherein the one or more subsequent network requests identify the selected capability;
wherein the computing device executes the selected capability.

### Claim 9 (depends on 8)

The system of claim 8, the at least one processor further configured to:
store the one or more device-specific capabilities associated with the computing device in a relational database.

### Claim 10 (depends on 8)

The system of claim 8, wherein to provide a user interface the at least one processor is configured to:
group the computing device into a category according to a location within an environment; and
display the computing device organized by the category.

### Claim 11 (depends on 8)

The system of claim 8, wherein to send one or more subsequent network requests the at least one processor is configured to:
send multiple requests sequentially and in parallel.

### Claim 12 (depends on 8)

The system of claim 8, wherein to send an initial network request the at least one processor is configured to:
embed an anticipated attribute-value pair in the initial network request to request the one or more device-specific capabilities.

### Claim 13 (depends on 8)

The system of claim 8, wherein to send one or more subsequent network requests the at least one processor is configured to:
embed a set of attribute-value pairs indicating the selected capability.

### Claim 14 (depends on 8)

The system of claim 8, wherein the computing device is a smart appliance.

### Claim 15

A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:
sending an initial network request directly to an internet-of-things (IoT) device;
receiving directly from the IoT device in response to the initial network request a first response identifying one or more device-specific capabilities supported by the IoT device;
storing the one or more device-specific capabilities associated with the IoT device;
providing a user interface enabling a user to select one of the one or more device-specific capabilities for the IoT device; and
sending one or more subsequent network requests directly to the IoT device, wherein the one or more subsequent network requests indicates the selected capability;
wherein the IoT device executes the selected capability.

### Claim 16 (depends on 15)

The non-transitory computer-readable device of claim 15, the operations further comprising:
registering the IoT device by storing a set of device-identifying characteristics associated with a user.

### Claim 17 (depends on 16)

The non-transitory computer-readable device of claim 16, the registering comprising:
providing a domain name to access with the IoT device in order to auto-register the IoT device.

### Claim 18 (depends on 15)

The non-transitory computer-readable device of claim 15, the operations further comprising:
interpreting a task programming language to determine the one or more device-specific capabilities, wherein the task programming language specifies the one or more device-specific capabilities and one or more conditions under which the at least one computing device should send the one more device-specific capabilities to the IoT device.

### Claim 19 (depends on 15)

The non-transitory computer-readable device of claim 15, the operations further comprising:
tracking the initial network request and the one or more subsequent network requests in a set of web-request data used for reporting and analytics.

### Claim 20 (depends on 15)

The non-transitory computer-readable device of claim 15, the sending one or more subsequent network requests comprising:
receiving from the user interface a time interval with the selected capability;
delaying for the time interval prior to sending the one or more subsequent network requests indicating the selected capability.
