Adaptive timing of distributed device response to maximize channel capacity utilization
First Claim
1. A system for providing access to a server by a plurality of remote devices, comprising:
- a first remote device of the plurality of remote devices, the first remote device comprising one or more processors executing instructions stored in memory of the first remote device, a first connection module stored in the memory of the first remote device, and a first timer module stored in the memory of the first remote device;
a second remote device of the plurality of remote devices, the second remote device comprising one or more processors executing instructions stored in memory of the second remote device, a second connection module stored in the memory of the second remote device, and a second timer module stored in the memory of the second remote device;
the server having one or more processors and memory;
the first connection module, of the first remote device, initiates, at a first connection time, a first connection from the first remote device to the server and receives, responsive to initiation by the first remote device, a timer period and a first timer offset;
a second connection module, of the second remote device, initiates, at a second connection time, a second connection from the second remote device to the server and receives, responsive to initiation by the second remote device, the timer period and a second timer offset different from the first timer offset;
the first timer module, of the first remote device, determines a first next connection time based on a first summation of the first connection time of the first connection, the timer period and the first timer offset, and controls the first connection module to initiate a third connection with the server at the first next connection time; and
a second timer module, of the second remote device, determines a second next connection time based on a second summation of the second connection time of the second connection, the timer period and the second timer offset, and controls the second connection module to initiate a fourth connection with the server at the second next connection time,wherein the timer period and the first timer offset and the second timer offset are computed to evenly distribute initiation of connections by the plurality of remote devices.
11 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of systems and methods for providing access to a server by remote devices are shown. In some embodiments, the system includes a scheduling module, a connection module, and/or a timer module. The scheduling module may compute a timer period and timer offset for each remote device on the server to facilitate evenly distributing connections by remote devices and avoid exceeding the maximum bandwidth of the communication channel. The connection module may initiate a connection from each remote device to the server to retrieve the timer period and timer offset. The timer module on each remote device may be controlled by the timer period and timer offset, and trigger the initiation of the connection module. A remote device'"'"'s status may be offline if the initiation of the connection falls outside a tolerance window corresponding to the timer period and timer offset.
66 Citations
16 Claims
-
1. A system for providing access to a server by a plurality of remote devices, comprising:
-
a first remote device of the plurality of remote devices, the first remote device comprising one or more processors executing instructions stored in memory of the first remote device, a first connection module stored in the memory of the first remote device, and a first timer module stored in the memory of the first remote device; a second remote device of the plurality of remote devices, the second remote device comprising one or more processors executing instructions stored in memory of the second remote device, a second connection module stored in the memory of the second remote device, and a second timer module stored in the memory of the second remote device; the server having one or more processors and memory; the first connection module, of the first remote device, initiates, at a first connection time, a first connection from the first remote device to the server and receives, responsive to initiation by the first remote device, a timer period and a first timer offset; a second connection module, of the second remote device, initiates, at a second connection time, a second connection from the second remote device to the server and receives, responsive to initiation by the second remote device, the timer period and a second timer offset different from the first timer offset; the first timer module, of the first remote device, determines a first next connection time based on a first summation of the first connection time of the first connection, the timer period and the first timer offset, and controls the first connection module to initiate a third connection with the server at the first next connection time; and a second timer module, of the second remote device, determines a second next connection time based on a second summation of the second connection time of the second connection, the timer period and the second timer offset, and controls the second connection module to initiate a fourth connection with the server at the second next connection time, wherein the timer period and the first timer offset and the second timer offset are computed to evenly distribute initiation of connections by the plurality of remote devices. - View Dependent Claims (2, 3, 4)
-
-
5. A method of accessing a server by a plurality of remote devices, comprising:
-
initiating, by a first connection module in memory of a first remote device comprising a processor, at a first connection time, a first connection to the server; receiving, responsive to initiation of the first connection by the first remote device, via the first connection from the server, a timer period and a first timer offset; initiating, by a second connection module in memory of a second remote device, at a second connection time, a second connection to the server; receiving, responsive to initiation of the second connection by the second remote device, from the server, the timer period and a second timer offset different from the first timer offset; determining, by a first timer module of the first remote device, a first next connection time based on a first summation of the first connection time of the first connection, the timer period, and the first timer offset; determining, by a second timer module of the second remote device, a second next connection time based on a second summation of the second connection time of the second connection, the timer period, and the second timer offset; initiating, by the first connection module at the first next connection time, a third connection to the server; and initiating, by the second connection module at the second next connection time, a fourth connection to the server, wherein the timer period and the first timer offset and the second timer offset are computed to evenly distribute initiation of connections by the plurality of remote devices. - View Dependent Claims (6, 7, 8)
-
-
9. A system for providing access to a server by a plurality of remote devices, comprising:
-
a server having one or more processors executing instructions stored in memory to; compute a timer period and a first timer offset for a first remote device of the plurality of remote devices; compute the timer period and a second timer offset for a second remote device of the plurality of remote devices, the second timer offset different from the first timer offset, wherein the timer period and the first timer offset and the second timer offset are computed to facilitate evenly distributing initiation of connections by the plurality of remote devices; transmit, responsive to receiving, at a first time, a first initiation connection from the first remote device, the timer period and the first timer offset to the first remote device; transmit, responsive to receiving, at a second time, a second initiation connection from the second remote device of the plurality of remote devices; receive, at a third time based on the timer period and the first timer offset added to the first time, a third initiation connection from the first remote device; and receive, at a fourth time based on the timer period and the second timer offset added to the second time, a fourth initiation connection from the second remote device. - View Dependent Claims (10, 11, 12)
-
-
13. A method of accessing a server by a plurality of remote devices, comprising:
-
computing, by a scheduling module in memory of the server comprising one or more processors, a timer period and a first timer offset for a first remote device; computing, by the scheduling module, the timer period and a second timer offset for a second remote device, the second timer offset different from the first timer offset, wherein the timer period and the first timer offset and the second timer offset are computed to facilitate evenly distributing initiation of connections by a plurality of remote devices comprising the first remote device and the second remote device; transmitting, by the server responsive to receiving a first initiation connection from the first remote device at a first time, the timer period and the first timer offset to the first remote device; transmitting, by the server responsive to receiving a second initiation connection from the second remote device at a second time, the timer period and the second timer offset to the second remote device; receiving, by the server from the first remote device, at a third time based on the timer period and the first timer offset added to the first time, a third initiation connection;
receiving, by the server from the second remote device, at a fourth time based on the timer period and the second timer offset added to the second time, a fourth initiation connection. - View Dependent Claims (14, 15, 16)
-
Specification