Remote command framework for devices
First Claim
1. A method for executing a command issued by a remote user device to a target device, comprising:
- receiving a command issued by the remote user device, wherein the command is received by a first server;
storing the command received by the first server in a database;
establishing a persistent connection between the target device and a notifying server by having the target device periodically send a keep-alive message to the notifying server and attempt to reconnect to the notifying server if the target device detects that the connection between the target device and the notifying server has been terminated;
generating a notification that a command has been issued from the remote user device, said notification contains a reference to the location the command is stored in the database;
providing the notification to the target device from the notifying server via the persistent connection;
in response to receiving the notification, establishing a connection between the target device and the first server, and retrieving the command from the database via the first server based on the reference to the location of the stored command contained in the notification; and
executing said command on the target device.
3 Assignments
0 Petitions
Accused Products
Abstract
A robust device messaging framework is disclosed that enables a user to send commands to a device. A provisioning service is used to provision unique device identities and maps user web identities to device identities. The provisioning service also limits device per day provisioning attempts to limit denial of service attacks. A command service allows remote users to issue commands to a device, synchronize outgoing commands with incoming results, receive accurate feedback about whether a command was received, and maintain state information about the device. A device layer encrypts and stores device identities, authenticates itself with the command service, establishes a high-availability Internet connection to receive alerts that a command has issued, and reports results to the server-based command service.
-
Citations
8 Claims
-
1. A method for executing a command issued by a remote user device to a target device, comprising:
-
receiving a command issued by the remote user device, wherein the command is received by a first server; storing the command received by the first server in a database; establishing a persistent connection between the target device and a notifying server by having the target device periodically send a keep-alive message to the notifying server and attempt to reconnect to the notifying server if the target device detects that the connection between the target device and the notifying server has been terminated; generating a notification that a command has been issued from the remote user device, said notification contains a reference to the location the command is stored in the database; providing the notification to the target device from the notifying server via the persistent connection; in response to receiving the notification, establishing a connection between the target device and the first server, and retrieving the command from the database via the first server based on the reference to the location of the stored command contained in the notification; and executing said command on the target device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification