Methods and apparatus for using smart environment devices via application program interfaces

US9491571B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9491571-B2
Application numberUS-201514722003-A
CountryUS
Kind codeB2
Filing dateMay 26, 2015
Priority dateJun 23, 2014
Publication dateNov 8, 2016
Grant dateNov 8, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and Methods disclosed herein relate to providing a message to an application programming interface (API). The message includes a request for data from a data model, a submission of data to the data model, or both; and a host selection between: a representational state transfer (REST) host and a subscription-based application programming interface (API) host, wherein the REST host receives REST-based messages and the subscription-based API host receives messages in accordance with a standard of the subscription-based API host; wherein the request for data, the submission of data, or both are configured to create, delete, modify, or any combination thereof data related to a smart-device environment structure, a thermostat, a hazard detector, or any combination thereof stored in a data model accessible by the API.

First claim

Opening claim text (preview).

The invention claimed is: 1. A system, comprising: a processor configured to: provide a message to an application programming interface (API), wherein the message comprises: a request for data from a data model, a submission of data to the data model, or both; and a host and protocol selection indication, the host and protocol selection indication providing an indication between: a representational state transfer (REST) host, and a subscription-based application programming interface (API) host, wherein the REST host receives REST-based messages and the subscription-based API host receives messages in accordance with a standard of the subscription-based API host; and receive a response message from the API via: the REST host, when the host and protocol selection comprises the REST host; or the subscription-based API host, when the host and protocol selection comprises the subscription-based host; wherein the data model comprises information related to one or more smart-devices, one or more smart-device environment structures comprising the smart-devices, or both. 2. The system of claim 1 , comprising the data model, wherein the data model comprises a single JavaScript Object Notation (JSON) document describing the smart-device environment structure, the smart-devices, or any combination thereof. 3. The system of claim 1 , comprising an API server that hosts the API, wherein a processor of the API server is configured to: provide the request for data, the submission of data, or both to a device service that maintains the data model. 4. The system of claim 3 , comprising the device service, wherein the device service maintains the data model in hierarchical structure comprising a first element related to the smart-device environment structure at a first level, a second element related to the one or more smart-devices, and a third element comprising a reference to the one or more smart-devices at a second level subordinate to the first level. 5. The system of claim 3 , wherein the device service is configured to maintain the data model using a subscription-based approach. 6. The system of claim 1 , comprising an electronic device configured to subscribe to updates to the data model. 7. The system of claim 6 , wherein the electronic device is configured to: establish a session with a device service that maintains the data model; sleep after a period of session inactivity; and wake to receive data based upon a subscription associated with the message. 8. The system of claim 7 , wherein the one or more smart-devices comprise a thermostat, hazard detector, or any combination thereof. 9. The system of claim 1 , wherein the processor is configured to provide one or more data changes to a device service that maintains the data model, wherein the data changes are stored in the data model. 10. The system of claim 9 , wherein the processor is configured to: establish a session with the device service; and upon the one or more data changes occurring at the electronic device, providing the one or more data changes to the device service. 11. The system of claim 10 , comprising the device service, wherein the device service is configured to: receive the one or more data changes; and provide the received one or more data changes to subscribers of a subscription affected by the one or more data changes. 12. A tangible, non-transitory, machine-readable medium, comprising instructions to: provide a message to an application programming interface (API), wherein the message comprises: a request for data from a data model, a submission of data to the data model, or both; and a host selection indication, the host and protocol selection indication providing an indication between: a representational state transfer (REST) host, and a subscription-based application programming interface (API) host, wherein the REST host receives REST-based messages and the subscription-based API host receives messages in accordance with a standard of the subscription-based API host; and receive a response message from the API via: the REST host, when the host and protocol selection comprises the REST host; or the subscription-based API host, when the host and protocol selection comprises the subscription-based host; wherein the request for data, the submission of data, or both are configured to create, delete, modify, or any combination thereof data related to a smart-device environment structure, a thermostat, a hazard detector, or any combination thereof stored in a data model accessible by the API. 13. The tangible, non-transitory, machine-readable medium of claim 12 , wherein the host selection comprises a selection of the REST host. 14. The tangible, non-transitory, machine-readable medium of claim 12 , wherein the host selection comprises a selection of the subscription-based API host. 15. The tangible, non-transitory, machine-readable medium of claim 14 , wherein the instructions are created using one or more client libraries provided to a client developer. 16. The tangible, non-transitory, machine-readable medium of claim 12 , wherein the message comprises the submission of data to the data model and the submission of data is configured to affect a control of the operation of the smart-device environment structure, the thermostat, the hazard detector, or any combination thereof. 17. A computer-implemented method, comprising: providing a message to an application programming interface (API), wherein the message comprises: a request for data from a data model, a submission of data to the data model, or both; a host and protocol selection indication, the host and protocol selection indication providing an indication between: a representational state transfer (REST) host; and a subscription-based application programming interface (API) host, wherein the REST host receives REST-based messages and the subscription-based API host receives messages in accordance with a standard of the subscription-based API host; and receiving a response message from the API via: the REST host, when the host and protocol selection comprises the REST host; or the subscription-based API host, when the host and protocol selection comprises the subscription-based host; wherein the data model comprises information related to one or more smart-devices, one or more smart-device environment structures comprising the smart-devices, or both. 18. The computer-implemented method of claim 17 , wherein the one or more smart-devices comprise: a thermostat, a hazard detector, or any combination thereof; and wherein the data comprises one or more device operation status parameters received from the thermostat, the hazard detector, or any combination thereof. 19. The computer-implemented method of claim 17 , wherein the data model comprises a single JavaScript Object Notation (JSON) document describing the one or more smart-device structures, the one or more smart-devices, or both. 20. The computer-implemented method of claim 17 , comprising: determining that the request should be delayed; and holding the request until an appropriate time for implementation of the request.

Assignees

Inventors

Classifications

  • in response to determined parameters · CPC title

  • via wireless transmission · CPC title

  • H04W4/80Primary

    Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Reporting information sensed by appliance or service execution status of appliance services in a home automation network (device-related reporting H04L43/065; 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) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9491571B2 cover?
Systems and Methods disclosed herein relate to providing a message to an application programming interface (API). The message includes a request for data from a data model, a submission of data to the data model, or both; and a host selection between: a representational state transfer (REST) host and a subscription-based application programming interface (API) host, wherein the REST host receiv…
Who is the assignee on this patent?
Google Inc
What technology area does this patent fall under?
Primary CPC classification H04W4/80. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).