Patents by Inventor Adrian Caceres

Adrian Caceres has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10999375
    Abstract: A device includes at least one of a mechanical component or an electrical component and an Internet enabled embedded system that controls at least one of the mechanical component or the electrical component. The Internet enabled embedded system is configured to establish a connection to a local area network (LAN), provide data to a registration service via the connection to the LAN, receive from the registration service an instruction to implement a specified registration technique, and implement the specified registration technique. The registration service is configured to bind the embedded system to a user account responsive to satisfaction of a criterion of the specified registration technique.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: May 4, 2021
    Assignee: Ayla Networks, Inc.
    Inventors: Vishwesh Pai, Sudha Sundaresan, Adrian Caceres
  • Patent number: 10990376
    Abstract: A processing device executing a wide area network (WAN) accessible service receive an encrypted digital image comprising a firmware update for an embedded system of a device having a specific device serial number (DSN). The processing device additionally receives device related information from a computing device, wherein the device related information comprises the DSN of the device comprising the embedded system and a version number of a current firmware component installed on the embedded system. The processing device determines, using the device related information, that the encrypted digital image for the device is available. The processing device then provides the encrypted digital image to the computing device for use by the computing device to update a firmware version of the embedded system.
    Type: Grant
    Filed: November 28, 2018
    Date of Patent: April 27, 2021
    Assignee: Ayla Networks, Inc.
    Inventors: Pritish Gandhi, Peter Hunt, Sudha Sundaresan, Daniel Myers, Joseph R. Eykholt, Adrian Caceres
  • Patent number: 10949255
    Abstract: In an embodiment, a processing device receives an instruction to schedule an event associated with a remote target device, generates a schedule for the remote target device, and transmits the schedule to the remote target device. The processing device receives usage information from the remote target device and additional usage information from other remote devices. The processing device applies a machine learning algorithm to the usage information and the additional usage information to determine an update to the schedule. The processing device updates the schedule and sends the update to the remote target device.
    Type: Grant
    Filed: January 23, 2019
    Date of Patent: March 16, 2021
    Assignee: Ayla Networks, Inc.
    Inventors: Jigar Vora, Joseph R. Eykholt, Sudha Sundaresan, Pablo Sebastián Rivera, David Russell Friedman, Adrian Caceres
  • Patent number: 10805279
    Abstract: A hardware module for an embedded system comprises a network adapter, a memory and a processing device. The memory stores a shared key and a key identifier (ID) associated with the shared key. The processing device is to connect to a local area network (LAN) using the network adapter. The processing device is further to receive a first notification from a computing device that is also connected to the LAN and determine whether the computing device has access to a copy of the shared key based on the key identifier (ID). Responsive to determining that the computing device has access to the copy of the shared key, the processing device is to use the shared key to generate a session key for a session with the computing device. The processing device may then encrypt communications to the computing device using the session key.
    Type: Grant
    Filed: October 5, 2018
    Date of Patent: October 13, 2020
    Assignee: Ayla Networks, Inc.
    Inventors: Jigar Vora, Marko Kiiskila, Daniel Myers, Joseph R. Eykholt, Adrian Caceres
  • Patent number: 10404832
    Abstract: A server determines a plurality of device templates that define a plurality of device attributes of a remote device connected to a gateway device. The server creates a virtual device from the plurality of device templates, wherein the virtual device is a virtual representation of the remote device. The server determines an attribute update for a first device attribute of the remote device. The server updates a second device attribute of the virtual device. The server generates an instruction for the gateway device to initiate the attribute update for the first device attribute. The server transmits the instruction to the gateway device, wherein the instruction causes the gateway device to generate a command for the remote device to perform the attribute update on the device attribute.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: September 3, 2019
    Assignee: Ayla Networks, Inc.
    Inventors: Jigar Vora, Vishwesh Pai, Haoqing Geng, Sudha Sundaresan, Joseph R. Eykholt, Adrian Caceres, Yipei Wang
  • Publication number: 20190155896
    Abstract: In an embodiment, a processing device receives an instruction to schedule an event associated with a remote target device, generates a schedule for the remote target device, and transmits the schedule to the remote target device. The processing device receives usage information from the remote target device and additional usage information from other remote devices. The processing device applies a machine learning algorithm to the usage information and the additional usage information to determine an update to the schedule. The processing device updates the schedule and sends the update to the remote target device.
    Type: Application
    Filed: January 23, 2019
    Publication date: May 23, 2019
    Inventors: Jigar Vora, Joseph R. Eykholt, Sudha Sundaresan, Pablo Sebastián Rivera, David Russell Friedman, Adrian Caceres
  • Publication number: 20190095194
    Abstract: A processing device executing a wide area network (WAN) accessible service receive an encrypted digital image comprising a firmware update for an embedded system of a device having a specific device serial number (DSN). The processing device additionally receives device related information from a computing device, wherein the device related information comprises the DSN of the device comprising the embedded system and a version number of a current firmware component installed on the embedded system. The processing device determines, using the device related information, that the encrypted digital image for the device is available. The processing device then provides the encrypted digital image to the computing device for use by the computing device to update a firmware version of the embedded system.
    Type: Application
    Filed: November 28, 2018
    Publication date: March 28, 2019
    Inventors: Pritish Gandhi, Peter Hunt, Sudha Sundaresan, Daniel Myers, Joseph R. Eykholt, Adrian Caceres
  • Patent number: 10223160
    Abstract: A processing device executing a scheduler receives, by a device, a schedule from a remote server computing device, the schedule having a compact format that is understood by the device. The device stores the schedule and the processing device parses the schedule to identify a scheduled event. The processing device executes the scheduled event at a specified time in accordance with the schedule even in the absence of a network connection between the device and the remote server computing device.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: March 5, 2019
    Assignee: Ayla Networks, Inc.
    Inventors: Jigar Vora, Joseph R. Eykholt, Sudha Sundaresan, Pablo Sebastián Rivera, David Russell Friedman, Adrian Caceres
  • Publication number: 20190044926
    Abstract: A hardware module for an embedded system comprises a network adapter, a memory and a processing device. The memory stores a shared key and a key identifier (ID) associated with the shared key. The processing device is to connect to a local area network (LAN) using the network adapter. The processing device is further to receive a first notification from a computing device that is also connected to the LAN and determine whether the computing device has access to a copy of the shared key based on the key identifier (ID). Responsive to determining that the computing device has access to the copy of the shared key, the processing device is to use the shared key to generate a session key for a session with the computing device. The processing device may then encrypt communications to the computing device using the session key.
    Type: Application
    Filed: October 5, 2018
    Publication date: February 7, 2019
    Inventors: Jigar Vora, Marko Kiiskila, Daniel Myers, Joseph R. Eykholt, Adrian Caceres
  • Patent number: 10162622
    Abstract: A computing device determines a unique identifier associated with a device comprising an embedded system. The computing device sends the unique identifier to a wide area network (WAN) accessible service and receives an encrypted digital image comprising a firmware update for the device comprising the embedded system from the WAN accessible service. The computing device stores the encrypted digital image in a storage area of the computing device and initiates an over the air update of firmware of the device comprising the embedded system using the encrypted digital image.
    Type: Grant
    Filed: February 26, 2016
    Date of Patent: December 25, 2018
    Assignee: Ayla Networks, Inc.
    Inventors: Pritish Gandhi, Peter F. Hunt, Daniel J. Myers, Joseph R. Eykholt, Adrian Caceres, Sudha Sundaresan
  • Patent number: 10129226
    Abstract: A hardware module for an embedded system comprises a network adapter, a memory and a processing device. The memory stores a shared key and a key identifier (ID) associated with the shared key. The processing device is to connect to a local area network (LAN) using the network adapter. The processing device is further to receive a first notification from a computing device that is also connected to the LAN and determine whether the computing device has access to a copy of the shared key based on the key identifier (ID). Responsive to determining that the computing device has access to the copy of the shared key, the processing device is to use the shared key to generate a session key for a session with the computing device. The processing device may then encrypt communications to the computing device using the session key.
    Type: Grant
    Filed: August 10, 2016
    Date of Patent: November 13, 2018
    Assignee: Ayla Networks, Inc.
    Inventors: Jigar Vora, Marko Kiiskila, Daniel Myers, Joseph R. Eykholt, Adrian Caceres
  • Publication number: 20180063257
    Abstract: A device includes at least one of a mechanical component or an electrical component and an Internet enabled embedded system that controls at least one of the mechanical component or the electrical component. The Internet enabled embedded system is configured to establish a connection to a local area network (LAN), provide data to a registration service via the connection to the LAN, receive from the registration service an instruction to implement a specified registration technique, and implement the specified registration technique. The registration service is configured to bind the embedded system to a user account responsive to satisfaction of a criterion of the specified registration technique.
    Type: Application
    Filed: November 6, 2017
    Publication date: March 1, 2018
    Inventors: Vishwesh Pai, Sudha Sundaresan, Adrian Caceres
  • Patent number: 9813505
    Abstract: A device includes at least one of a mechanical component or an electrical component and an Internet enabled embedded system that controls at least one of the mechanical component or the electrical component. The Internet enabled embedded system is configured to establish a connection to a local area network (LAN), provide data to a registration service via the connection to the LAN, receive from the registration service an instruction to implement a specified registration technique, and implement the specified registration technique. The registration service is configured to bind the embedded system to a user account responsive to satisfaction of a criterion of the specified registration technique.
    Type: Grant
    Filed: October 15, 2014
    Date of Patent: November 7, 2017
    Assignee: Ayla Networks, Inc.
    Inventors: Vishwesh Pai, Sudha Sundaresan, Adrian Caceres
  • Patent number: 9800619
    Abstract: A processing device executing a registration service receives information identifying a first device, a second device and an application running on the first device. The processing device determines a registration technique that is supported by both the application and the second device and sends a message indicating the registration technique to at least one of the first device or the second device, wherein the application is to perform an operation associated with the first registration technique to bind the second device to the user account.
    Type: Grant
    Filed: October 15, 2014
    Date of Patent: October 24, 2017
    Assignee: Ayla Networks, Inc.
    Inventors: Vishwesh Pai, Sudha Sundaresan, Adrian Caceres
  • Publication number: 20170249135
    Abstract: A computing device determines a unique identifier associated with a device comprising an embedded system. The computing device sends the unique identifier to a wide area network (WAN) accessible service and receives an encrypted digital image comprising a firmware update for the device comprising the embedded system from the WAN accessible service. The computing device stores the encrypted digital image in a storage area of the computing device and initiates an over the air update of firmware of the device comprising the embedded system using the encrypted digital image.
    Type: Application
    Filed: February 26, 2016
    Publication date: August 31, 2017
    Inventors: Pritish Gandhi, Peter F. Hunt, Daniel J. Myers, Joseph R. Eykholt, Adrian Caceres, Sudha Sundaresan
  • Patent number: 9729383
    Abstract: A processing device executing a rules engine receives a notification of a first event on a first network-connected device. The processing device identifies a first rule associated with a first user account, wherein the first user account is further associated with the first network-connected device, and wherein the first event on the first network-connected device is an input for the first rule. The processing device determines that the first event satisfies a first criterion of the first rule and generates a first command for a second network-connected device also associated with the first user account. The processing device then transmits the first command to the second network-connected device on behalf of the first user account, wherein the first command causes the second network-connected device to perform an action.
    Type: Grant
    Filed: October 15, 2014
    Date of Patent: August 8, 2017
    Assignee: Ayla Networks, Inc.
    Inventors: Sudha Sundaresan, Vishwesh Pai, Adrian Caceres
  • Patent number: 9661083
    Abstract: A first computing device sends a plurality of request messages to a second computing device that is outside a firewall associated with the first computing device, each request message of the plurality of request messages comprising a request for the second computing device to send a response message to the first computing device after a time period specified in the request message. The first computing device determines a timeout period of the firewall based on one or more response messages that are received responsive to the plurality of request messages. The first computing device sends or receives an additional message to or from the second computing device within the timeout period to prevent the firewall from blocking future messages from the second computing device.
    Type: Grant
    Filed: June 18, 2014
    Date of Patent: May 23, 2017
    Assignee: Ayla Networks, Inc.
    Inventors: Joseph R. Eykholt, Adrian Caceres
  • Patent number: 9648055
    Abstract: A processing device executing an application that is logged in to a user account recognized by a registration service receives information identifying a device that has not been bound to any user account, wherein the application supports a plurality of registration techniques. The processing device identifies a registration technique supported by the device that is to be used for registration of the device. The processing device performs at least one of sending information associated with the registration technique to the device or receiving the information associated with the registration technique. The processing device sends the information associated with the registration technique to the registration service, and then receives a message from the registration service, wherein the message indicates that the information satisfied a criterion of the registration technique and comprises a notification that the device is bound to the user account.
    Type: Grant
    Filed: October 15, 2014
    Date of Patent: May 9, 2017
    Assignee: Ayla Networks, Inc.
    Inventors: Vishwesh Pai, Sudha Sundaresan, Adrian Caceres
  • Publication number: 20170060629
    Abstract: A processing device executing a scheduler receives, by a device, a schedule from a remote server computing device, the schedule having a compact format that is understood by the device. The device stores the schedule and the processing device parses the schedule to identify a scheduled event. The processing device executes the scheduled event at a specified time in accordance with the schedule even in the absence of a network connection between the device and the remote server computing device.
    Type: Application
    Filed: August 29, 2016
    Publication date: March 2, 2017
    Inventors: Jigar Vora, Joseph R. Eykholt, Sudha Sundaresan, Pablo Sebastián Rivera, David Russell Friedman, Adrian Caceres
  • Publication number: 20170064042
    Abstract: A server determines a plurality of device templates that define a plurality of device attributes of a remote device connected to a gateway device. The server creates a virtual device from the plurality of device templates, wherein the virtual device is a virtual representation of the remote device. The server determines an attribute update for a first device attribute of the remote device. The server updates a second device attribute of the virtual device. The server generates an instruction for the gateway device to initiate the attribute update for the first device attribute. The server transmits the instruction to the gateway device, wherein the instruction causes the gateway device to generate a command for the remote device to perform the attribute update on the device attribute.
    Type: Application
    Filed: August 29, 2016
    Publication date: March 2, 2017
    Inventors: Jigar Vora, Vishwesh Pai, Haoqing Geng, Sudha Sundaresan, Joseph R. Eykholt, Adrian Caceres, Yipei Wang