IP Library Granted Patent US 9,930,627
Granted Patent B2
US 9,930,627 · App. 14/754,408 · Granted Mar 27, 2018

Metered interface

Inventors: Gerard Leo Swinkels (Ottawa, CA); Steve 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 9,930,627
App. No.
14/754,408
Granted
Mar 27, 2018
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 (79)

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

determining, by a 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;

determining, by the first device, a time lag based at least on a parameter of a computer network;

determining, by the first device, a time-to-execute value based at least on the first current time value;

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

sending, from the first device to a third device via the computer network, a second network command message comprising the network command, the time-to-execute value, and a second time-to-report value, wherein the first time-to-report value and the second time-to-report value are separated by the time lag to reduce a resource contention of sending a first report message and a second report message via the computer network;

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

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;

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

receiving, by the first device from the second device and in response to the 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;

repetitively obtaining, by the third device, a third current time value from a 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;

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

receiving, by the first device from the third device and in response to the 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 computer network comprises variable transmission delays.

4. The method of claim 1 , further comprising:

comparing, by the second device and in response to receiving the first network command message, the 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.

5. The method of claim 1 , further comprising:

comparing, by the third device and in response to receiving the second network command message, the 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.

6. 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.

7. A system, comprising:

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

the first device having a first timer and configured to:

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

determine a time-to-execute value based at least on the first current time value,

determine a time lag based at least on a parameter of the computer network,

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

send, to the third device via the computer network, a second network command message comprising the network command, the time-to-execute value, and a second time-to-report value, wherein the first time-to-report value and the second time-to-report value are separated by the time lag to reduce a resource contention of sending a first report message and a second report message via the computer network;

the second device having a second timer and 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,

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

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:

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,

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

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.

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

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

10. The system of claim 7 ,

wherein the second device is further configured to:

compare, in response to receiving the first network command message, the 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.

11. The system of claim 7 , further comprising:

wherein the third device is further configured to:

compare, in response to receiving the second network command message, the 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.

12. The system of claim 11 , 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.

13. 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:

determining, by a 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;

determining, by the first device, a time lag based at least on a parameter of a computer network;

determining, by the first device, a time-to-execute value based at least on the first current time value;

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

sending, from the first device to a third device via the computer network, a second network command message comprising the network command, the time-to-execute value, and a second time-to-report value, wherein the first time-to-report value and the second time-to-report value are separated by the time lag to reduce a resource contention of sending a first report message and a second report message via the computer network;

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

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;

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

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;

repetitively obtaining, by the third device, a third current time value from a 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;

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

receiving, by the first device from the third device and in response to the 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.

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

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

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

comparing, by the second device and in response to receiving the first network command message, the 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.

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

comparing, by the third device and in response to receiving the second network command message, the 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 Jun 29, 2016
From: SWINKELS, GERARD LEO; CLARKE, STEVE; CHISHOLM, SHARON MARGARET
To: CIENA CORPORATION
Reel/Frame 039041/0778 →
Continuity (1)
Related Publication 20160381651A1 · Dec 29, 2016