Home device application programming interface

US10073681B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10073681-B2
Application numberUS-201715667351-A
CountryUS
Kind codeB2
Filing dateAug 2, 2017
Priority dateJan 23, 2017
Publication dateSep 11, 2018
Grant dateSep 11, 2018

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.

The present disclosure contemplates a variety of improved methods and systems for enabling developers to program and control a variety of disparate devices coupled to the framework and/or ambient operating system. The Home API can expose operation of the devices in a natural and intuitive manner, facilitating control of unknown devices by high-level commands.

First claim

Opening claim text (preview).

We claim: 1. A method for seamlessly and automatically building an application using an application programming interface (API) to interface with one or more devices within an environment with an assistant device having artificial intelligence (AI), comprising: receiving, via a processor, a graphic representing a layout of one or more graphical user interface (GUI) elements for the application to instruct the assistant device to control the one or more devices within the environment; identifying, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device; identifying, by the processor, a graphical content within the section of the graphic; determining, by the processor, object characteristics of the graphical content within the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device; identifying, by the processor, a textual content within the section of the graphic; determining, by the processor, text characteristics of the textual content within the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device; determining, by the processor using a database, the functionality to be performed within the environment using the assistant device based on the text characteristics of the textual content within the section of the graphic and the object characteristics of the graphical content within the section of the graphic; identifying, by the processor, the one or more devices capable of performing the functionality within the environment; and generating, by the processor, the application having the section of the graphic, wherein the section of the graphic, when selected, instructs the assistant device to cause the identified one or more devices to perform the functionality within the environment. 2. A method, comprising: receiving, via a processor, a graphic representing a layout of one or more graphical user interface (GUI) elements for an application to instruct an assistant device to control one or more devices within an environment; identifying, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application corresponding to a functionality to be performed within the environment using the assistant device; identifying, by the processor, a graphical content within the section of the graphic; determining, by the processor, characteristics of the graphical content within the section of the graphic; determining, by the processor using a database, the functionality to be performed within the environment using the assistant device based on the characteristics of the graphical content within the section of the graphic; identifying, by the processor, the one or more devices and associated adapters capable of performing the functionality within the environment; and generating, by the processor, the application having the one or more GUI elements for the application which, when selected, instruct the assistant device to initialize one or more adapters of the associated adapters causing the identified one or more devices to perform the functionality within the environment. 3. The method of claim 2 , wherein the characteristics of the graphical content within the section of the graphic include a position of the graphical content within the section of the graphic. 4. The method of claim 3 , wherein the characteristics of the graphical content within the section of the graphic include a size of the graphical content within the section of the graphic in relation to a size of the section of the graphic. 5. The method of claim 2 , wherein the characteristics of the graphical content within the section of the graphic include meaning of a depicted text. 6. The method of claim 2 , wherein the characteristics of the graphical content within the section of the graphic include a color of a depicted object found on the graphic outside the section of the graphic. 7. The method of claim 2 , wherein the characteristics of the graphical content within the section of the graphic include a color of the section of the graphic. 8. The method of claim 2 , wherein the characteristics of the graphical content within the section of the graphic include a color of a depicted object found in the section of the graphic. 9. The method of claim 2 , wherein determining the functionality to be performed within the environment using the assistant device includes a first machine learning algorithm. 10. The method of claim 9 , wherein the graphical content within the section of the graphic includes a depicted object or a depicted text. 11. The method of claim 9 , wherein identifying the one or more devices capable of performing the functionality within the environment includes a second machine learning algorithm, and wherein the first machine learning algorithm and the second machine learning algorithm are different machine learning algorithms. 12. The method of claim 2 , wherein the one or more adapters of the associated adapters are stored on the assistant device. 13. The method of claim 2 , wherein the one or more adapters of the associated adapters are stored on remote resources. 14. A system, comprising: a processor; and a memory storing instructions, wherein the processor is configured to execute the instructions such that the processor and the memory are configured to: receive a graphic representing a layout of one or more graphical user interface (GUI) elements for an application to instruct an assistant device to control one or more devices within an environment; identify a section of the graphic corresponding to the one or more GUI elements for the application corresponding to a functionality to be performed within the environment using the assistant device; identify a graphical content within the section of the graphic; determine characteristics of the graphical content within the section of the graphic; determine, using a database, the functionality to be performed within the environment using the assistant device based on the characteristics of the graphical content within the section of the graphic; identify the one or more devices and associated adapters capable of performing the functionality within the environment; and generate the application having the one or more GUI elements for the application which, when selected, instruct the assistant device to initialize one or more adapters of the associated adapters causing the identified one or more devices to perform the functionality within the environment. 15. The system of claim 14 , wherein the characteristics of the graphical content within the section of the graphic include a position of the graphical content within the section of the graphic. 16. The system of claim 15 , wherein the characteristics of the graphical content within the section of the graphic include a size of the graphical content within the section of the graphic in relation to a size of the section of the graphic. 17. The system of claim 14 , wherein the characteristics of the graphical content within the section of the graphic include meaning of a depicted text.

Assignees

Inventors

Classifications

  • Software design · CPC title

  • Creation or generation of source code · CPC title

  • G06F8/34Primary

    Graphical or visual programming · CPC title

  • Physics · mapped topic

  • Machine learning · 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 US10073681B2 cover?
The present disclosure contemplates a variety of improved methods and systems for enabling developers to program and control a variety of disparate devices coupled to the framework and/or ambient operating system. The Home API can expose operation of the devices in a natural and intuitive manner, facilitating control of unknown devices by high-level commands.
Who is the assignee on this patent?
Essential Products Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/34. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 11 2018 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).