EP3545408B1

Localized device coordinator with on-demand code execution capabilities

Abstract

This record has no abstract on file.

EP3545408B1, drawing sheet 1
Sheet 1 of 18

Term

11.2 yearsleft in the term

Expires 22 November 2037.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

20 claims: 3 independent, 17 dependent

  1. 1
    A system (120) to remotely configure a coordinator computing device (114) managing operation of coordinated devices (112), the system (120) comprising:a non-transitory data store (140) including a device shadow for the coordinator computing device (114), the device shadow indicating a version identifier for a desired configuration of the coordinator computing device (114);a deployment device (130) in communication with the non-transitory data store (140), the deployment device (130) comprising a processor configured with computer-executable instructions to: obtain configuration information for the coordinator computing device (114), the configuration information indicating one or more coordinated devices (112) to be managed by the coordinator computing device (114) and one or more tasks to be executed by the coordinator computing device (114) to manage the one or more coordinated devices (112), wherein individual tasks of the one or more tasks correspond to code executable by the coordinator computing device (114), and wherein the configuration information further specifies an event flow table indicating criteria for determining an action to be taken by the coordinator computing device (114) in response to a message obtained from an execution of the one or more tasks;generate a configuration package including the configuration information, wherein the configuration package is associated with an additional version identifier;modify the device shadow to indicate that the desired configuration corresponds to the additional version identifier;notify the coordinator computing device (114) of the modified device shadow;obtain a request from the coordinator computing device (114) for the configuration package;and transmit the configuration package to the coordinator computing device (114), wherein the coordinator computing device (114) is configured to utilize the configuration package to retrieve the one or more tasks to be executed by the coordinator computing device (114) to manage the one or more coordinated devices (112) indicated within the configuration package.
  2. 2
    The system of Claim 1, wherein the processor is further configured with computer-executable instructions to obtain a subscription for the coordinator computing device (114) to a topic corresponding to the device shadow, and wherein the processor is configured to notify the coordinator computing device (114) of the modified device shadow as a notification of a publication to the topic.
  3. 3
    The system of Claim 2, wherein the notification is transmitted via MQTT protocol.
  4. 4
    The system of Claim 1, wherein the coordinated devices (112) comprise at least one of a general purpose computing device, a thin device, or an embedded device associated with an alternative primary function.
  5. 5
    The system of Claim 1 further comprising the coordinator computing device (114), wherein the coordinator computing device (114) comprising a processor and memory collectively configured to manage a state of the coordinated devices (112).
  6. 6
    A computer-implemented method comprising:obtaining a registration of a coordinator computing device (114), wherein the coordinator computing device (114) is associated with a coordinated environment comprising one or more coordinated devices (112) to be managed by the coordinator computing device (114);generating a device shadow for the coordinator computing device (114), the device shadow indicating a version identifier for a desired configuration of the coordinator computing device (114);obtaining configuration information for the coordinator computing device (114), the configuration information indicating one or more tasks to be executed by the coordinator computing device (114) to manage the one or more coordinated devices (112), wherein individual tasks of the one or more tasks correspond to code executable by the coordinator computing device (114);generating a configuration package including the configuration information, wherein the configuration package is associated with an additional version identifier;modifying the device shadow to indicate that the desired configuration corresponds to the additional version identifier;notifying the coordinator computing device (114) of a modification to the device shadow;obtaining a request from the coordinator computing device (114) for the configuration package;and transmitting the configuration package to the coordinator computing device (114), wherein the coordinator computing device (114) is configured to utilize the configuration package to retrieve the one or more tasks to be executed by the coordinator computing device (114) to manage the one or more coordinated devices (112) indicated within the configuration package.
  7. 7
    The computer-implemented method of Claim 6, wherein the configuration package further includes an event flow table indicating criteria for determining an action to be taken by the coordinator computing device (114) in response to a message obtained at the coordinator computing device (114) from at least one of a task of the one or more tasks or a coordinated device of the one or more coordinated devices (112).
  8. 8
    The computer-implemented method of Claim 6, wherein the configuration package further includes a security certificate to be used in communications between the coordinated devices (112) and the coordinator computing device (114).
  9. 9
    The computer-implemented method of Claim 6, wherein the configuration package further includes an indication of a set of device shadows to be maintained by the coordinator computing device (114), individual device shadows of the set of device shadows corresponding to individual coordinated devices (112) of the one or more coordinated devices (112).
  10. 10
    The computer-implemented method of Claim 6, wherein obtaining the registration of the coordinator computing device (114) comprising obtaining a subscription for the coordinator computing device (114) to a topic corresponding to the device shadow, and wherein notifying the coordinator computing device (114) of the modified device shadow includes transmitting a notification to the coordinator computing device (114) of a publication to the topic.
  11. 11
    The computer-implemented method of Claim 6 further comprising:obtaining at least one task of the one or more tasks from a client computing associated with a user of the coordinator computing device (114);receiving a request for the at least one task in response to processing of the configuration package at the coordinator computing device (114);and providing the at least one task to the coordinator computing device (114).
  12. 12
    The computer-implemented method of Claim 6 further comprising:obtaining updated configuration information for the coordinator computing device (114);generating an updated configuration package from the updated configuration information, wherein the configuration package is associated with an updated version identifier;modifying the device shadow to indicate that the desired configuration corresponds to the updated version identifier;notifying the coordinator computing device (114) of a modification to the device shadow;obtaining a request from the coordinator computing device (114) for the configuration package;and transmitting the updated configuration package to the coordinator computing device (114).
  13. 13
    Non-transitory computer-readable media comprising computer executable instructions that, when executed by a deployment system, cause the deployment system to:generate a device shadow for a coordinator computing device (114), the device shadow indicating a version identifier for a desired configuration of the coordinator computing device (114), wherein the coordinator computing device (114) is associated with a coordinated environment comprising one or more coordinated devices (112) to be managed by the coordinator computing device (114);obtain configuration information for the coordinator computing device (114), the configuration information indicating one or more tasks to be executed by the coordinator computing device (114) to manage the one or more coordinated devices (112), wherein individual tasks of the one or more tasks correspond to code executable by the coordinator computing device (114);generate a configuration package including the configuration information, wherein the configuration package is associated with an additional version identifier;modify the device shadow to indicate that the desired configuration corresponds to the additional version identifier;notify the coordinator computing device (114) of the modified device shadow;obtain a request from the coordinator computing device (114) for the configuration package;and transmit the configuration package to the coordinator computing device (114), wherein the coordinator computing device (114) is configured to utilize the configuration package to retrieve the one or more tasks to be executed by the coordinator computing device (114) to manage the one or more coordinated devices (112) indicated within the configuration package.
  14. 14
    The non-transitory computer-readable media of Claim 13, wherein the computer executable instructions further cause the deployment system to:obtain executable code corresponding to the one or more tasks, where the one or more tasks comprise: a first task executable by the coordinator computing device (114) to generate device shadows for individual coordinated devices (112) of the one or more coordinated devices (112);and a second task executable by the coordinator computing device (114) to route messages addressed to at least one of the one or more coordinated devices (112) or at least one of the one or more tasks;obtain a request from the coordinator computing device (114) for the one or more tasks;and transmit the one or more tasks to the coordinator computing device (114).
  15. 15
    The non-transitory computer-readable media of Claim 14, wherein the one or more tasks further comprise a third task executable by the coordinator computing device (114) to enable communication according to a protocol associated with the task.
  16. 16
    The non-transitory computer-readable media of Claim 13, wherein the configuration package further includes an indication of a set of device shadows to be maintained by the coordinator computing device (114), individual device shadows of the set of device shadows corresponding to individual coordinated devices (112) of the one or more coordinated devices (112).
  17. 17
    The non-transitory computer-readable media of Claim 13, wherein the computer executable instructions further cause the deployment system to obtain a subscription for the coordinator computing device (114) to a topic corresponding to the device shadow, and wherein the computer executable instructions cause the deployment system to notify the coordinator computing device (114) of the modified device shadow by transmitting a notification to the coordinator computing device (114) of a publication to the topic.
  18. 18
    The non-transitory computer-readable media of Claim 13, wherein the computer executable instructions further cause the deployment system to:obtain at least one task of the one or more tasks from a client computing associated with a user of the coordinator computing device (114);receive a request for the at least one task in response to processing of the configuration package at the coordinator computing device (114);and provide the at least one task to the coordinator computing device (114).
  19. 19
    The non-transitory computer-readable media of Claim 13, wherein the computer executable instructions further cause the deployment system to:obtain updated configuration information for the coordinator computing device (114);generate an updated configuration package from the updated configuration information, wherein the configuration package is associated with an updated version identifier;modify the device shadow to indicate that the desired configuration corresponds to the updated version identifier;notify the coordinator computing device (114) of a modification to the device shadow;obtain a request from the coordinator computing device (114) for the configuration package;and transmit the updated configuration package to the coordinator computing device (114).
  20. 20
    The non-transitory computer-readable media of Claim 13, wherein at least one task of the one or more tasks is executable on both the coordinator computing device (114) and within an on-demand code execution system distinct from the coordinator computing device (114).
Independent claims20