Load-balanced, persistent connection techniques
First Claim
1. An apparatus comprising:
- a microphone unit to detect sound and generate a first audio signal based on the sound;
a speaker to output sound corresponding to a second audio signal received from a first server instance;
one or more processors; and
memory storing;
an address that is associated with a first server instance address and a second server instance address, the first server instance address being associated with the first server instance and the second server instance address being associated with a second server instance; and
computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising;
establishing, using the address, a first connection between the apparatus and the first server instance;
sending, via the first connection, the first audio signal to the first server instance;
receiving, via the first connection, the second audio signal from the first server instance;
determining that less than a threshold amount of data has been transferred between the apparatus and the first server instance over a period of time;
based at least in part on the determining, severing the first connection between the apparatus and the first server instance; and
in response to severing the first connection between the apparatus and the first server instance, establishing, using the address, a second connection between the apparatus and the second server instance.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for creating a persistent connection between client devices and one or more remote computing resources, which may form a portion of a network-accessible computing platform. This connection may be considered “permanent” or “nearly permanent” to allow the client device to both send data to and receive data from the remote resources at nearly any time. In addition, both the client device and the remote resources may establish virtual channels over this single connection. If no data is exchanged between the client device and the remote computing resources for a threshold amount of time, then the connection may be severed and the client device may attempt to establish a new connection with the remote computing resources.
16 Citations
27 Claims
-
1. An apparatus comprising:
-
a microphone unit to detect sound and generate a first audio signal based on the sound; a speaker to output sound corresponding to a second audio signal received from a first server instance; one or more processors; and memory storing; an address that is associated with a first server instance address and a second server instance address, the first server instance address being associated with the first server instance and the second server instance address being associated with a second server instance; and computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising; establishing, using the address, a first connection between the apparatus and the first server instance; sending, via the first connection, the first audio signal to the first server instance; receiving, via the first connection, the second audio signal from the first server instance; determining that less than a threshold amount of data has been transferred between the apparatus and the first server instance over a period of time; based at least in part on the determining, severing the first connection between the apparatus and the first server instance; and in response to severing the first connection between the apparatus and the first server instance, establishing, using the address, a second connection between the apparatus and the second server instance. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising:
-
establishing, using an address stored on a client device, a first connection between the client device and a first server instance; generating, at a microphone of the client device, an audio signal representing a voice command from a user; providing the audio signal to the first server instance; receiving a response to the voice command from the first server instance; outputting the response via a speaker of the client device; based at least partly on a property of the first connection, dropping the first connection; and based at least in part on dropping the first connection, establishing, using the address stored on the client device, a second connection between the client device and a second server instance. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
one or more processors; one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising; establishing, using an address, a first connection between a device and a first server instance, wherein the address is associated with a first server instance address and a second server instance address, the first server instance address being associated with the first server instance and the second server instance address being associated with a second server instance; sending, via the first connection, a first audio signal to the first server instance; receiving, via the first connection, a second audio signal from the first server instance; severing the first connection at least partly based on at least one of an amount of data transferred from the device to the first server instance over a period of time or an amount of data transferred from the first server instance to the device over the period of time; and based at least in part on severing the first connection, establishing, using the address, a second connection between the device and the second server instance. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A client device comprising:
-
one or more processors; and one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising; establishing, using an address, a first connection between the client device and a first server instance; generating, at a microphone of the client device, an audio signal that includes a command from a user; providing the audio signal to the first server instance; receiving a response to the command from the first server instance; outputting the response via a speaker of the client device; based at least partly on a property of the first connection, dropping the first connection; and in response to dropping the first connection, establishing, using the address, a second connection between the client device and a second server instance. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification