IP Library › Granted Patent US 10,791,195
Granted Patent B2
US 10,791,195 · App. 15/193,911 · Granted Sep 29, 2020

Common device interface framework for IoT/smart device application

Inventor: Miaobo Chen (Shanghai, CN)
H04L67/303G06F8/36H04L67/16H04W4/50
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,791,195
App. No.
15/193,911
Granted
Sep 29, 2020
Kind
B2
Abstract

A software framework and computer implemented method for providing a uniform abstract representation of the smart devices and internet of things application. The framework/method utilizes the invented device object that comprises a unified Device Abstract Interface, a hardware profile and an application profile that comprises of a list of associated services and the state of each service. The framework/method performs a genuine abstract method to translate the diverse interfaces of device hardware into a common device application profile. All hardware details of each device can be contained within the common device application profile to achieve a uniform representation of device seen from outside of the framework. Currently, the common device application profile is implemented in JSON (JavaScript Object Notation) format and can be acquired by clients from framework's RESTful (REST: representational state transfer) interface. A client app can access and control the device through a uniform interface of the framework with standard web technologies. This design and common device application profile can be applied to any smart devices in a computer network, in particular, the internet of things and smart home application. A software framework and computer implemented method for providing a uniform abstract representation of the smart devices and internet of things application. The framework/method utilizes the invented device object that comprises a unified Device Abstract Interface, a hardware profile and an application profile that comprises of a list of associated services and the state of each service. The framework/method performs a genuine abstract method to translate the diverse interfaces of device hardware into a common device application profile. All hardware details of each device can be contained within the common device application profile to achieve a uniform representation of device seen from outside of the framework. Currently, the common device application profile is implemented in JSON (JavaScript Object Notation) format and can be acquired by clients from framework's RESTful (REST: representational state transfer) interface. A client app can access and control the device through a uniform interface of the framework with standard web technologies. This design and common device application profile can be applied to any smart devices in a computer network, in particular, the internet of things and smart home application.

Claims (32)

1. A method of managing smart devices, comprising:

discovering one or more smart devices using device-specific protocols;

registering the one or more smart devices based on information received during the discovering and generating a device application profile for each of the one or more smart devices;

receiving, from a client apparatus, a command through a uniform common interface, said command being directed to one of the one or more smart devices, wherein the uniform common interface comprises a set of pre-defined Application Program Interfaces (APIs);

processing the command to generate a device-specific protocol message for the smart devices to which the command is directed; and

sending the device-specific protocol message to the smart device;

wherein the device application profile of each smart device is a document of JavaScript Object Notation (JSON) format, comprising:

a definition of complex type variable annotated with a schema keyword;

a JSON pointer, wherein a schema keyword definition of the JSON pointer refers to the complex type variable's schema definition and defines the complex type variable that can be retrieved via the set of pre-defined APIs by following the JSON pointer definition.

2. The method of claim 1 , further comprising receiving, from the client apparatus, a subscription request for event updates, wherein the subscription request comprises a subscriber address and a specified smart device.

3. The method of claim 2 , further comprising sending an event update to the client apparatus using the subscriber address when a device event occurs at the specified smart device.

4. The method of claim 1 , wherein the registering of the one or more smart devices based on information received during the discovering comprises generating a device application profile for each of the one or more smart devices.

5. The method of claim 4 , wherein the device application profile of each smart device comprises a list of services provided by the smart device.

6. The method of claim 5 , wherein each service in the device application profile of each smart device includes a list of action calls representing functions performed by the smart device.

7. The method of claim 1 , wherein the device-specific protocols include Bluetooth, ZWave, Zig Bee, or IP protocols.

8. A system for managing one or more smart devices, comprising:

a server configured to communicate with the one or more smart devices using device-specific protocols; and

a client apparatus configured to communicate with the server through a uniform common interface;

wherein the server is configured to:

discover one or more smart devices using one or more device-specific protocols;

register the one or more smart devices based on information received during the discovering and generating a device application profile for each of the one or more smart devices;

receive, from the client apparatus, a command through a uniform common interface, said command being directed to one of the one or more smart devices, wherein the uniform common interface comprises a set of pre-defined Application Program Interfaces (APIs);

process the command to generate a device-specific protocol message for the smart devices to which the command is directed; and

send the device-specific protocol message to the smart device;

wherein the device application profile of each smart device is a document of JavaScript Object Notation (JSON) format, comprising:

a definition of complex type variable annotated with a schema keyword;

a JSON pointer, wherein a schema keyword definition of the JSON pointer refers to the complex type variable's schema definition and defines the complex type variable that can be retrieved via the set of pre-defined APIs by following the JSON pointer definition.

9. The system of claim 8 , wherein the server is further configured to receive, from the client apparatus, a subscription request for event updates, wherein the subscription request comprises a subscriber address and a specified smart device.

10. The system of claim 9 , wherein the server is further configured to send an event update to the client apparatus using the subscriber address when a device event occurs at the specified smart device.

11. The system of claim 8 , wherein the registering of the one or more smart devices based on information received during the discovering comprises generating a device application profile for each of the one or more smart devices.

12. The system of claim 11 , wherein the device application profile of each smart device comprises a list of services provided by the smart device.

13. The system of claim 12 , wherein each service in the device application profile of each smart device includes a list of action calls representing functions performed by the smart device.

Continuity (1)
Related Publication 20170374155A1 · Dec 28, 2017
Cited By (1)
US 12,681,907