Load-Balanced, Persistent Connection Techniques
First Claim
1. A system 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;
receiving, from a client device, a first request to establish a connection between the client device and a server instance;
establishing a connection between the client device and a first server instance of multiple server instances at least partly in response to receiving the first request;
dropping the connection at least partly based on an amount of data transferred between the client device and the first server instance over a period of time; and
receiving, from the client device at least partly in response to the dropping, a second request to establish a connection with a 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.
23 Citations
27 Claims
-
1. A system 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; receiving, from a client device, a first request to establish a connection between the client device and a server instance; establishing a connection between the client device and a first server instance of multiple server instances at least partly in response to receiving the first request; dropping the connection at least partly based on an amount of data transferred between the client device and the first server instance over a period of time; and receiving, from the client device at least partly in response to the dropping, a second request to establish a connection with a server instance. - View Dependent Claims (2, 3, 4)
-
-
5. 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 one or more network-accessible computing resources; one or more processors; and memory storing an address 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 connection between the apparatus and the one or more network-accessible computing resources; sending, via the connection, the first audio signal to the one or more network-accessible computing resources; receiving, via the connection, the second audio signal from the one or more network-accessible computing resources; and severing the connection at least partly based on at least one of an amount of data transferred from the apparatus to the one or more network-accessible computing resources over a period of time or an amount of data transferred from the one or more network-accessible computing resources to the apparatus over a period of time. - View Dependent Claims (6, 7, 8)
-
-
9. One or more 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 a connection between a client device and a server instance; generating, at a microphone of the client device, an audio signal that includes a voice command from a user; providing the audio signal to the server instance; receiving a response to the voice command from the server instance; outputting the response via a speaker of the client device; dropping the connection and re-establishing a subsequent connection based at least partly on a property of the connection. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more computing devices 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; receiving, from a client device, a request to establish a connection with a server instance; routing the request such that the client device establishes a connection with a first server instance of multiple server instances; and severing the connection based at least partly in response to a property of the connection, a property of the first server instance, or a property of the client device. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification