INTERMEDIARY FOR MULTIPLE-TRANSPORT CLIENT-DEVICE COMMUNICATIONS
First Claim
1. A computer-implemented method for executing instructions stored on a non-transitory computer-readable storage medium, the method comprising:
- storing, by an intermediary, a device registration information for one or more devices including at least for a target device, the device registration information including information identifying one or more commands supported by the device, and a device-specific ranking of each of a plurality of transports supported by the device for communicating with the intermediary;
receiving, by the intermediary from a client application associated with a user account, a first message sent via a transport supported by the client application, the first message including a device identifier to identify a target device of a plurality of registered devices and a command information identifying a command that is supported by the target device and to be performed by the target device;
selecting, by the intermediary, a transport supported by the target device based on the device-specific ranking of the plurality of transports supported by the target device; and
sending, by the intermediary to the target device via the selected transport supported by the target device, a second message including at least the command information.
2 Assignments
0 Petitions
Accused Products
Abstract
An example technique includes storing, by an intermediary, a device registration information including at least for a target device, the device registration information including information identifying one or more commands supported by the device, and a device-specific ranking of each of a plurality of transports, receiving, by the intermediary a first message sent via a transport supported by the client application including a device identifier to identify a target device of a plurality of registered devices and a command information identifying a command that is supported by the target device and to be performed by the target device, selecting, by the intermediary, a transport supported by the target device based on the device-specific ranking of the plurality of transports supported by the target device, and sending, by the intermediary to the target device via the selected transport, a second message including at least the command information.
31 Citations
24 Claims
-
1. A computer-implemented method for executing instructions stored on a non-transitory computer-readable storage medium, the method comprising:
-
storing, by an intermediary, a device registration information for one or more devices including at least for a target device, the device registration information including information identifying one or more commands supported by the device, and a device-specific ranking of each of a plurality of transports supported by the device for communicating with the intermediary; receiving, by the intermediary from a client application associated with a user account, a first message sent via a transport supported by the client application, the first message including a device identifier to identify a target device of a plurality of registered devices and a command information identifying a command that is supported by the target device and to be performed by the target device; selecting, by the intermediary, a transport supported by the target device based on the device-specific ranking of the plurality of transports supported by the target device; and sending, by the intermediary to the target device via the selected transport supported by the target device, a second message including at least the command information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method for executing instructions stored on a non-transitory computer-readable storage medium, the method comprising:
-
receiving, by the intermediary from a client application associated with a user account, a first message sent via a transport supported by the client application, the first message including a device identifier to identify a target device of a plurality of registered devices, a command information identifying a command that is supported by the target device and to be performed by the target device, and a response maximum wait time field that identifies a maximum wait time before the intermediary will send a response to the client application in response to receiving the first message; identifying, by the intermediary based on a stored device registration information for the target device, a transport supported by the target device; sending, by the intermediary to the target device via the identified transport supported by the target device, a second message including at least the command information; and sending, by the intermediary to the client application at a time not later than a time indicated by the response maximum wait time field, a response to the first message that includes at least a command status that identifies a status of a performance of the command by the target device. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer-implemented method for executing instructions stored on a non-transitory computer-readable storage medium, the method comprising:
-
receiving, by the intermediary from a client application associated with a user account, a first message sent via a transport supported by the client application, the first message including a device identifier to identify a target device of a plurality of registered devices, a command information identifying a command that is supported by the target device and to be performed by the target device; determining that a payload to be delivered to the target device, including at least the command information, is greater in size than a threshold size; sending, by the intermediary to the target device via a first transport supported by the target device, a second message including a notification of the command information for the target device; and receiving, by the intermediary from the target device via a second transport supported by the target device, a third message including a request for the command information for the target device; and sending, by the intermediary to the target device via the second transport, a fourth message that includes the command information including at least the command. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification