IP Library Granted Patent US 10,334,539
Granted Patent B2
US 10,334,539 · App. 15/897,614 · Granted Jun 25, 2019

Metered interface

Inventors: Gerard Leo Swinkels (Ottawa, CA); Steven Clarke (Ottawa, CA); Sharon Margaret Chisholm (Ottawa, CA)
Assignee: Ciena Corporation
H04W56/00H04J3/0638H04L43/0852
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 10,334,539
App. No.
15/897,614
Granted
Jun 25, 2019
Kind
B2
Abstract

A method for executing a network command using synchronized timers. The method includes obtaining, by a first device, a first current time value from a first timer of the first device, determining, by the first device, a time-to-execute value based on the first current time value, sending, from the first device to a second device, a first network command message including the network command and the time-to-execute value, repetitively obtaining, by the second device, a second current time value from a second timer of the second device, comparing, by the second device and in response to receiving the first network command message, the second current time value to the time-to-execute value extracted from the first network command message, and executing, by the second device and in response to the second current time value matching the time-to-execute value, the network command, wherein the first timer and the second timer are synchronized.

Claims (84)

1. A method for executing a network command using synchronized timers, comprising:

performing, by a first device, one or more delay measurements in a network to a second device and to a third device to determine a first time lag between the first device and the second device and a second time lag between the first device and the third device;

determining, by the first device, a first time-to-report value based at least on a first current time value from a first timer of the first device and based on the first time lag;

sending, from the first device to the second device via the network, a first network command message comprising the network command and the first time-to-report value;

sending, from the first device to a third device via the network, a second network command message comprising the network command and a second time-to-report value which is based on a second current time value from the first timer and based on the second time lag, wherein the first time-to-report value and the second time-to-report value are separated by a pre-determined delay to reduce a resource contention of sending a first report message and a second report message via the network;

receiving, by the first device from the second device and in response to a second timer of the second device reaching the first time-to-report value, the first report message comprising a first result of executing the network command by the second device; and

receiving, by the first device from the third device and in response to a third timer of the third device reaching the second time-to-report value, the second report message comprising a second result of executing the network command by the third device,

wherein the first timer, the second timer, and the third timer are synchronized within a pre-determined tolerance.

2. The method of claim 1 , wherein the first timer, the second timer, and the third timer are based on a time-of-day clock.

3. The method of claim 1 , wherein the network comprises variable transmission delays.

4. The method of claim 1 , further comprising:

determining, by the first device, a time-to-execute value based at least on the first current time value, wherein the first network command message and the second network command message further comprise the time-to-execute value;

repetitively obtaining, by the second device, a second current time value from the second timer;

comparing, by the second device and in response to receiving the second network command message, the second current time value to the time-to-execute value extracted from the second network command message;

executing, by the second device and in response to the time-to-execute value matching the second current time value, the network command;

repetitively obtaining, by the third device, a third current time value from the third timer;

comparing, by the third device and in response to receiving the second network command message, the third current time value to the time-to-execute value extracted from the second network command message; and

executing, by the third device and in response to the time-to-execute value matching the third current time value, the network command.

5. The method of claim 4 , further comprising:

comparing, by the second device and in response to receiving the first network command message, a second current time value from the second timer to the first time-to-report value extracted from the first network command message,

determining, by the second device, that the second timer reaches the first time-to-report value based on the second current time value matching the first time-to-report value.

6. The method of claim 1 , further comprising:

comparing, by the third device and in response to receiving the second network command message, a third current time value from the third timer to the second time-to-report value extracted from the second network command message,

determining, by the third device, that the third timer reaches the second time-to-report value based on the third current time value matching the second time-to-report value.

7. The method of claim 1 , further comprising:

determining, by the first device, the second time-to-report value based on the first time-to-report value and the time lag.

8. A system, comprising:

a network coupling a first device, a second device, and a third device;

the first device having a first timer and configured to:

perform one or more delay measurements in the network to a second device and to a third device to determine a first time lag between the first device and the second device and a second time lag between the first device and the third device,

determine a first time-to-report value based at least on a first current time value and based on the first time lag,

send, to the second device via the network, a first network command message comprising a network command and the first time-to-report value;

send, to the third device via the network, a second network command message comprising the network command and a second time-to-report value which is based on a second current time value from the first timer and based on the second time lag, wherein the first time-to-report value and the second time-to-report value are separated by a pre-determined delay to reduce a resource contention of sending a first report message and a second report message via the network;

the second device having a second timer and configured to:

send, to the first device and in response to the second timer reaching the first time-to-report value, the first report message comprising a first result of executing the network command by the second device; and

the third device having a third timer and configured to:

send, to the first device and in response to the third timer reaching the second time-to-report value, the second report message comprising a second result of executing the network command by the third device,

wherein the first timer, the second timer, and the third timer are synchronized within a pre-determined tolerance.

9. The system of claim 8 , wherein the first timer, the second timer, and the third timer are based on a time-of-day clock.

10. The system of claim 8 , wherein the network is configured to send the first network command message with a variable transmission delay.

11. The system of claim 8 ,

wherein the first device is further configured to determine a time-to-execute value based at least on the first current time value, wherein the first network command message and the second network command message further comprise the time-to-execute value;

wherein the second device is further configured to:

repetitively obtain a second current time value from the second timer;

compare, in response to receiving the second network command message, the second current time value to the time-to-execute value extracted from the second network command message; and

execute, in response to the time-to-execute value matching the second current time value, the network command;

wherein the third device is further configured to:

repetitively obtain a third current time value from the third timer,

compare, in response to receiving the second network command message, the third current time value to the time-to-execute value extracted from the second network command message, and

execute, in response to the time-to-execute value matching the third current time value, the network command.

12. The system of claim 11 ,

wherein the second device is further configured to:

compare, in response to receiving the first network command message, a second current time value from the second timer to the first time-to-report value extracted from the first network command message, and

determine that the second timer reaches the first time-to-report value based on the second current time value matching the first time-to-report value.

13. The system of claim 8 , further comprising:

wherein the third device is further configured to:

compare, in response to receiving the second network command message, a third current time value from the third timer to the second time-to-report value extracted from the second network command message,

determine that the third timer reaches the second time-to-report value based on the third current time value matching the second time-to-report value.

14. The system of claim 13 , the first device further configured to:

determine the second time-to-report value based on the first time-to-report value and the time lag.

15. A non-transitory computer readable medium storing instructions for executing a network command using synchronized timers, the instructions, when executed by a computer processor, comprising functionality for:

performing, by a first device, one or more delay measurements in a network to a second device and to a third device to determine a first time lag between the first device and the second device and a second time lag between the first device and the third device;

determining, by the first device, a first time-to-report value based at least on a first current time value from a first timer of the first device and based on the first time lag;

sending, from the first device to the second device via the network, a first network command message comprising the network command and the first time-to-report value;

sending, from the first device to a third device via the network, a second network command message comprising the network command and a second time-to-report value which is based on a second current time value from the first timer and based on the second time lag, wherein the first time-to-report value and the second time-to-report value are separated by a pre-determined delay to reduce a resource contention of sending a first report message and a second report message via the network;

receiving, by the first device from the second device and in response to a second timer of the second device reaching the first time-to-report value, the first report message comprising a first result of executing the network command by the second device; and

receiving, by the first device from the third device and in response to a third timer of the third device reaching the second time-to-report value, the second report message comprising a second result of executing the network command by the third device,

wherein the first timer, the second timer, and the third timer are synchronized within a pre-determined tolerance.

16. The non-transitory computer readable medium of claim 15 , wherein the first timer, the second timer, and the third timer are based on a time-of-day clock.

17. The non-transitory computer readable medium of claim 15 , wherein the network comprises variable transmission delays.

18. The non-transitory computer readable medium of claim 15 , the instructions further comprising functionality for:

determining, by the first device, a time-to-execute value based at least on the first current time value, wherein the first network command message and the second network command message further comprise the time-to-execute value;

repetitively obtaining, by the second device, a second current time value from the second timer;

comparing, by the second device and in response to receiving the second network command message, the second current time value to the time-to-execute value extracted from the second network command message;

executing, by the second device and in response to the time-to-execute value matching the second current time value, the network command;

repetitively obtaining, by the third device, a third current time value from the third timer;

comparing, by the third device and in response to receiving the second network command message, the third current time value to the time-to-execute value extracted from the second network command message; and

executing, by the third device and in response to the time-to-execute value matching the third current time value, the network command.

19. The non-transitory computer readable medium of claim 18 , the instructions further comprising functionality for:

comparing, by the second device and in response to receiving the first network command message, a second current time value from the second timer to the first time-to-report value extracted from the first network command message,

determining, by the second device, that the second timer reaches the first time-to-report value based on the second current time value matching the first time-to-report value.

20. The non-transitory computer readable medium of claim 19 , the instructions further comprising functionality for:

comparing, by the third device and in response to receiving the second network command message, a third current time value from the third timer to the second time-to-report value extracted from the second network command message,

determining, by the third device, that the third timer reaches the second time-to-report value based on the third current time value matching the second time-to-report value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2019
From: CLARKE, STEVEN; SWINKELS, GERARD LEO; CHISHOLM, SHARON MARGARET
To: CIENA CORPORATION
Reel/Frame 048981/0606 →
Continuity (2)
Continuation 14754408 · Jun 29, 2015
Related Publication 20180176872A1 · Jun 21, 2018
Cited By (2)
US 12,381,624 US 12,690,156