Remote execution of secondary-device drivers
First Claim
1. A system comprising:
- one or more processors; and
one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising;
receiving, over a network and by one or more network-based devices that include the one or more processors and are remote from an environment, an audio signal generated by at least one microphone of a first device residing in the environment, the environment including the first device, a secondary device, and a third device;
receiving an identifier associated with at least one of the first device or a user account associated with the first device;
performing, at the one or more network-based devices, speech recognition on the audio signal to generate text;
identifying, from the text, a request to perform an operation on the secondary device;
identifying, based at least in part on the identifier, the user account associated with the first device;
identifying a set of secondary devices associated with the user account;
identifying, based at least in part on the request and the set of secondary devices, the secondary device to perform the operation;
identifying a device driver configured to generate commands executable by the secondary device;
sending, to the device driver, information indicative of the request to perform the operation on the secondary device, wherein the device driver is stored in the one or more network-based devices that are remote from the environment;
causing the device driver to execute to generate a command configured to cause the secondary device to perform the operation;
identifying a communication protocol utilized by the secondary device;
determining that the third device, associated with the user account and residing in the environment, supports the communication protocol;
receiving, from the device driver, the command to issue to the secondary device to cause the secondary device to perform the operation; and
sending, over the network and based at least in part on the determining, the command to one or more of the first device or the third device for sending, by the third device via the communication protocol, to the secondary device for causing the secondary device to perform the operation.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for remotely executing a secondary-device driver for generating commands for a secondary device are described herein. For instance, a secondary device (or “appliance”) may reside within an environment, along with a device to which the secondary device communicatively couples. The device may be configured to send control signals to the secondary device for causing the secondary device to perform certain operations. For instance, a user in the environment may provide, to the device, a request that the secondary device perform a certain operation. The device, which may lack some or all of a device driver associated with the secondary device, may then work with a remote service that executes the device driver for the purpose of receiving a command from the device driver and sending the command along to the secondary device. Upon receiving the command, the secondary device may perform the operation.
-
Citations
20 Claims
-
1. A system comprising:
-
one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising; receiving, over a network and by one or more network-based devices that include the one or more processors and are remote from an environment, an audio signal generated by at least one microphone of a first device residing in the environment, the environment including the first device, a secondary device, and a third device; receiving an identifier associated with at least one of the first device or a user account associated with the first device; performing, at the one or more network-based devices, speech recognition on the audio signal to generate text; identifying, from the text, a request to perform an operation on the secondary device; identifying, based at least in part on the identifier, the user account associated with the first device; identifying a set of secondary devices associated with the user account; identifying, based at least in part on the request and the set of secondary devices, the secondary device to perform the operation; identifying a device driver configured to generate commands executable by the secondary device; sending, to the device driver, information indicative of the request to perform the operation on the secondary device, wherein the device driver is stored in the one or more network-based devices that are remote from the environment; causing the device driver to execute to generate a command configured to cause the secondary device to perform the operation; identifying a communication protocol utilized by the secondary device; determining that the third device, associated with the user account and residing in the environment, supports the communication protocol; receiving, from the device driver, the command to issue to the secondary device to cause the secondary device to perform the operation; and sending, over the network and based at least in part on the determining, the command to one or more of the first device or the third device for sending, by the third device via the communication protocol, to the secondary device for causing the secondary device to perform the operation. - View Dependent Claims (2, 5, 6, 7, 8)
-
-
3. A method comprising:
-
receiving, over a network, by one or more network-based devices, and from a first device residing within an environment remote from the one or more network-based devices, a request to perform an operation on a device in communication with the first device; identifying, by the one or more network-based devices and based at least in part on data included in the request, a user account associated with the first device; identifying, by the one or more network-based devices and based at least in part on the data included in the request, a secondary device associated with the user account to perform the operation; identifying, from a plurality of device drivers, a device driver associated with the secondary device, the device driver stored in one or more network-devices remote from the environment; sending information indicative of the operation to the device driver; causing the device driver to execute to generate a command configured to cause the secondary device to perform the operation; receiving the command from the device driver; identifying a communication protocol utilized by the secondary device; determining that a third device, associated with the user account and residing in the environment, supports the communication protocol; and sending, based at least in part on the determining, the command to one or more of the first device or the third device for the third device to issue the command via the communication protocol to the secondary device to cause the secondary device to perform the operation. - View Dependent Claims (4, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
one or more network interfaces; an input component; one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising; receiving, from the input component, information indicative of a request to perform an operation on a secondary device; sending the request to one or more network-based devices over the one or more network interfaces, the one or more network-based devices configured to identify the secondary device based at least in part on data in the request; sending, to the one or more network-based devices, an identifier associated with at least one of the apparatus or a user account associated with the apparatus; receiving, from the one or more network-based devices, a command generated by a device driver stored in the one or more network-based devices remote from an environment in which the apparatus resides and associated with the secondary device, the command to cause the secondary device to perform the operation; identifying a communication protocol utilized by the secondary device; determining that a third device, associated with the user account and residing in the environment, supports the communication protocol; and sending, over the one or more network interfaces and based at least in part on the determining, the command to the third device to issue the command to the secondary device to cause the secondary device to perform the operation. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification