Patent ID: 9712491
Date: 2017-07-18
CPC Classifications: G06F,H04L,H04W

Claim:
1. A system comprising: a hardware gateway device coupled to a public and to a private network and for precluding access from the public network to the private network; one or more internet-of-things (IoT) devices on the private network; an app download server executing a third-party app, the third-party app requesting download to the gateway device before the user is aware of the availability of the third-party app and requesting access to at least one function of an IoT device on the private network regardless as to the IoT device on which the function operates; a manifest file; an app connectivity service configured to: identify available application programming interfaces (APIs) on the one or more IoT devices that provide the at least one function requested by the third-party app by receiving announce messages from IoT devices having the available APIs, wherein the IoT devices send the announce messages in response to polling from the app connectivity service; record in the manifest file a mapping between those of the available APIs that provide the at least one function requested by the third-party app, one or more IoT devices hosting those of the available APIs, and the third-party app; prompt a user to allow the third-party app to have access to the available APIs that provide the at least one function requested by the third-party app; and upon receiving authorization from the user, download and install the third-party app on the gateway device and allow the third-party app to access the available APIs on the one or more IoT devices authorized by the user; for a second third-party app that also requests access to a requested function, if authorization from the user is not received, then precluding download and install of the second third-party app; prompt the user to allow the third-party app to have access to a new API that becomes available on a new IoT device that joins the private network, or that becomes available on one of the existing one or more IoT devices.