IP Library Granted Patent US 9,055,091
Granted Patent B2
US 9,055,091 · App. 13/678,326 · Granted Jun 9, 2015

Adaptive timing of distributed device response to maximize channel capacity utilization

Inventors: Gregory Francis Buerk (Whitehouse, OH); Joshua James Bucher (Swanton, OH)
Assignee: Labtech, LLC
H04L67/14H04L69/28
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,055,091
App. No.
13/678,326
Granted
Jun 9, 2015
Kind
B2
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.

Claims (56)

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.

2. The system of claim 1 , wherein the timer period and the first timer offset avoid exceeding the maximum bandwidth of the communication channel between the first remote device and the server.

3. The system of claim 1 , wherein the timer period for the first remote device is based on an identity of the first remote device.

4. The system of claim 1 , wherein the first remote device is assigned an offline status responsive to failing to initiate a fifth connection within a tolerance window corresponding to the timer period and the first timer offset.

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.

6. The method of claim 5 , further comprising:

selecting, by the server, the timer period and the first timer offset to avoid exceeding a maximum bandwidth of a communication channel between the plurality of remote devices and the server.

7. The method of claim 5 , further comprising:

selecting, by the server, the timer period for the first remote device based on an identity of the first remote device.

8. The method of claim 5 , further comprising:

assigning an offline status to the first remote device responsive to the first remote device failing to initiate a fifth connection within a tolerance of time indicated by the timer period and the first timer offset.

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.

10. The system of claim 9 , wherein the server further:

computes the timer period and the first timer offset based, at least in part, on a maximum bandwidth of a communication channel between the plurality of remote devices and the server.

11. The system of claim 9 , wherein the server further:

computes the timer period for the first remote device based on an identity of the first remote device.

12. The system of claim 9 , wherein the server further:

assigns, to the first remote device, an offline status responsive to receiving a request to initiate a connection outside a tolerance window corresponding to the timer period and the first timer offset.

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.

14. The method of claim 13 , further comprising:

computing the timer period and the first timer offset based, at least in part, on a maximum bandwidth of a communication channel between the plurality of remote devices and the server.

15. The method of claim 13 , further comprising:

computing the timer period for the first remote device of as a function of an identity of the first remote device.

16. The method of claim 13 , further comprising:

receiving, by the server, a request to initiate a connection from the first remote device;

identifying, by the server, that the request to initiate the connection was received outside a tolerance window corresponding to the timer period and the first timer offset; and

determining, by the server, responsive to the identification, that a status of the first remote device is offline.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 6, 2021
From: OWL ROCK CAPITAL CORPORATION
To: CONNECTWISE, LLC; CONTINUUM MANAGED SERVICES HOLDCO, LLC
Reel/Frame 057718/0617 →
SECURITY INTEREST Recorded Oct 5, 2021
From: CONNECTWISE, LLC; DIPPELL & ASSOCIATES, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 057771/0004 →
SECURITY INTEREST Recorded Mar 5, 2019
From: CONNECTWISE, LLC
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 048509/0936 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037190/0351 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048477/0819 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037701/0825 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048477/0897 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037701/0764 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048478/0019 →
CERTIFICATE OF CONVERSION Recorded Feb 26, 2019
From: CONNECTWISE, INC.
To: CONNECTWISE, LLC
Reel/Frame 048447/0076 →
SECURITY INTEREST OBTAINED BY RECEIVING PARTY BY MERGER RECORDED 1/14/2016; EXECUTION DATE IS DATE OF MERGER Recorded Feb 5, 2016
From: CONNECTWISE, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037701/0825 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 029637 FRAME 0484. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2016
From: BUERK, GREGORY FRANCIS; BUCHER, JOSHUA JAMES
To: LABTECH SOFTWARE, LLC
Reel/Frame 037520/0001 →
MERGER Recorded Jan 14, 2016
From: LABTECH SOFTWARE, LLC
To: CONNECTWISE, INC.
Reel/Frame 037493/0453 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2013
From: BUERK, GREGORY FRANCIS; BUCHER, JOSHUA JAMES
To: LABTECH, LLC
Reel/Frame 029637/0484 →
Continuity (2)
Provisional Application 61560431 · Nov 16, 2011
Related Publication 20130124730A1 · May 16, 2013