A system (100, 400) for controlling network connected devices (105, 405) comprising: one or more cloud gateways (101, 401) operable to receive communications from one or more network connected devices (105, 405); at least one cloud queue (116, 416, 600) that defines a dynamic transmission order of a plurality of command invocations addressed to a plurality of remote devices (121, 414); and one or more cloud memories (112, 420) accessible by one or more processors (111, 444) that: monitor the one or more network connected devices (105, 405) based at least on information obtained from the one or more cloud gateways (101, 401) responsive to the received communications, verify, based at least on the obtained information, satisfaction of a set of rules associated with at least one network connected device (105, 405), of the one or more network connected devices (105, 405), responsive to the satisfaction verification, determine that a command invocation (601, 602) addressed to the at least one network connected device (105, 405) is to be queued in the cloud queue (116, 416, 600), identify a priority rank of the command invocation (601, 602) based on one or more parameters associated with the command invocation (601, 602), and select a position for the command invocation (601, 602) within the cloud queue (116, 416, 600) based at least on the identified priority rank of the command invocation (601, 602), wherein the cloud queue (116, 416, 600) queues the command invocation (601, 602) with the plurality of command invocations (601, 602) according to the selected position. one or more cloud gateways (101, 401) operable to receive communications from one or more network connected devices (105, 405); at least one cloud queue (116, 416, 600) that defines a dynamic transmission order of a plurality of command invocations addressed to a plurality of remote devices (121, 414); and one or more cloud memories (112, 420) accessible by one or more processors (111, 444) that: monitor the one or more network connected devices (105, 405) based at least on information obtained from the one or more cloud gateways (101, 401) responsive to the received communications, verify, based at least on the obtained information, satisfaction of a set of rules associated with at least one network connected device (105, 405), of the one or more network connected devices (105, 405), responsive to the satisfaction verification, determine that a command invocation (601, 602) addressed to the at least one network connected device (105, 405) is to be queued in the cloud queue (116, 416, 600), identify a priority rank of the command invocation (601, 602) based on one or more parameters associated with the command invocation (601, 602), and select a position for the command invocation (601, 602) within the cloud queue (116, 416, 600) based at least on the identified priority rank of the command invocation (601, 602), monitor the one or more network connected devices (105, 405) based at least on information obtained from the one or more cloud gateways (101, 401) responsive to the received communications, verify, based at least on the obtained information, satisfaction of a set of rules associated with at least one network connected device (105, 405), of the one or more network connected devices (105, 405), responsive to the satisfaction verification, determine that a command invocation (601, 602) addressed to the at least one network connected device (105, 405) is to be queued in the cloud queue (116, 416, 600), identify a priority rank of the command invocation (601, 602) based on one or more parameters associated with the command invocation (601, 602), and select a position for the command invocation (601, 602) within the cloud queue (116, 416, 600) based at least on the identified priority rank of the command invocation (601, 602), wherein the cloud queue (116, 416, 600) queues the command invocation (601, 602) with the plurality of command invocations (601, 602) according to the selected position.