IP Library Granted Patent US 9,053,106
Granted Patent B2
US 9,053,106 · App. 13/708,006 · Granted Jun 9, 2015

Time monitor

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,053,106
App. No.
13/708,006
Granted
Jun 9, 2015
Kind
B2
Abstract

A method and system for measuring latency is provided. A monitor node is used to measure latency in a computer network or in a computing device by time stamping signal messages sent from nodes in the computer network and/or tasks in a particular node or device. The time stamps are generated using a system clock of the monitor node to reduce any discrepancies in timing. In addition, the monitor node may compensate for latencies between the monitor node and each of the one or more nodes or devices across which latency is to be measured. Signal messages may include a data message ID and/or a node ID identifying the message that is being tracked and for which latency is being measured. Latency may further be measured across multiple tasks being performed in the same or different nodes or devices by transmitting signal messages for each of the multiple tasks.

Claims (51)

1. An apparatus, comprising:

a network adapter configured to:

receive a first signal message from a first node in a computer network, the first signal message including at least one of a first message ID of a data message and a first sender ID, and wherein the first signal message is received at the apparatus in response to the first node receiving the data message from a source other than the apparatus;

receive a second signal message from a second node in the computer network different from the first node in response to the data message being received at the second node from the first node, the second signal message including at least one of a second message ID and a second sender ID, wherein the apparatus is separate from a transmission path for the data message;

at least one processor; and

memory storing computer-executable instructions that, when executed by the at least one processor, cause the apparatus to:

determine a first time associated with the first signal message based on a clock at the apparatus;

determine a second time associated with the second signal message based on the clock at the apparatus;

determine whether the second node corresponds to an end node of the transmission path for the data message based on the second sender ID included in the second signal message received from the second node; and

determine a latency between the first and second nodes by calculating a difference between the determined first time and second time,

wherein determining the latency is performed in response to determining that the second node corresponds to the end node of the transmission path for the data message, and

wherein if the apparatus determines that the second node does not correspond to the end node of the transmission path for the data message, the apparatus receives one or more additional signal messages and determines a time associated with each of the one or more additional messages based on the clock at the apparatus.

2. The apparatus of claim 1 , wherein the memory stores additional computer-executable instructions that, when executed by the at least one processor, cause the apparatus to measure a latency between the apparatus and the first node.

3. The apparatus of claim 2 , wherein the step of determining the first time associated with the first signal message further includes compensating for the measured latency between the apparatus and the first node.

4. The apparatus of claim 1 , wherein the first signal message is received in association with a task performed at the first node.

5. The apparatus of claim 4 ,

wherein the network adapter is further configured to receive a third signal message from the first node in the computer network, wherein the third signal message corresponds to a completion of the task performed at the first node; and

wherein the memory stores additional computer-executable instructions that, when executed by the at least one processor, cause the apparatus to determine a third time associated with the third signal message.

6. The apparatus of claim 1 , wherein the latency is between two tasks.

7. The apparatus of claim 1 , wherein the first and second message IDs correspond to the data message.

8. The apparatus of claim 1 , wherein the network adapter is further configured to:

transmit one or more first echo requests to the first node;

transmit one or more second echo requests to the second node;

receive one or more first echo responses from the first node in response to the one or more first echo requests, respectively; and

receive one or more second echo responses from the second node in response to the one or more second echo requests, respectively.

9. The apparatus of claim 8 , wherein the step of determining the latency between the first and second nodes further comprises:

calculating a first average latency between the apparatus and the first node based on the one or more first echo requests and the one or more first echo responses;

calculating a second average latency between the apparatus and the second node based on the one or more second echo requests and the one or more second echo responses; and

adjusting the difference between the determined first time and second time based on the first and second average latencies.

10. A computer network, comprising:

a first node configured to receive a data message from a source and to transmit a first signal message in response to receiving the data message, the first signal message including at least one of a first message ID of the data message and a first sender ID;

a second node configured to receive the data message from the first node and to transmit a second signal message in response to receiving the data message, the second signal message including at least one of a second message ID and a second sender ID; and

a monitor node configured to:

determine a first time associated with the first signal message based on a clock at the monitor node, wherein the first signal message is received from the first node;

determine a second time associated with the second signal message based on the clock at the monitor node, wherein the second signal message is received from the second node;

determine whether the second node corresponds to an end node of a transmission path for the data message based on the second sender ID included in the second signal message received from the second node;

when it is determined that the second node does not correspond to the end node of the transmission path for the data message, receive one or more additional signal messages and determine a time associated with each of the one or more additional messages based on the clock at the monitor node; and

determine a latency between the first and second nodes by calculating a difference between the determined first time and second time, wherein determining the latency is performed in response to determining that the second node corresponds to the end node of the transmission path for the data message

wherein the monitor node is separate from the transmission path for the data message, and

wherein the monitor node is separate from the source.

11. The computer network of claim 10 , wherein the monitor node is further configured to measure a latency between the monitor node and the first node.

12. The computer network of claim 11 , wherein the step of determining the first time associated with the first signal message further includes compensating for the measured latency between the monitor node and the first node.

13. The computer network of claim 10 , wherein the monitor node is further configured to:

transmit one or more first echo requests to the first node;

transmit one or more second echo requests to the second node;

receive one or more first echo responses from the first node in response to the one or more first echo requests, respectively; and

receive one or more second echo responses from the second node in response to the one or more second echo requests, respectively.

14. The computer network of claim 13 , wherein the step of determining the latency between the first and second nodes further comprises:

calculating a first average latency between the monitor node and the first node based on the one or more first echo requests and the one or more first echo responses;

calculating a second average latency between the monitor node and the second node based on the one or more second echo requests and the one or more second echo responses; and

adjusting the difference between the determined first time and second time based on the first and second average latencies.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0811 →
CHANGE OF NAME Recorded Mar 22, 2019
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 048676/0110 →
CHANGE OF NAME Recorded Dec 19, 2018
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 048553/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 047909/0874 →
SECURITY AGREEMENT Recorded Oct 3, 2018
From: THOMSON REUTERS (GRC) INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 047187/0316 →
SECURITY AGREEMENT Recorded Oct 2, 2018
From: THOMSON REUTERS (GRC) INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047185/0215 →
CHANGE OF NAME Recorded Dec 1, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 044270/0338 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2016
From: EDWARDS, TIMOTHY P.; GUNTURU, RAJASEKHAR R.; SANDRI, BRIAN D.; MERRICK, JOHN PATRICK
To: REUTERS AMERICA INC.
Reel/Frame 039867/0342 →
MERGER AND CHANGE OF NAME Recorded Sep 27, 2016
From: REUTERS AMERICA INC.; REUTERS AMERICA LLC
To: REUTERS AMERICA LLC
Reel/Frame 039867/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2016
From: REUTERS AMERICA LLC
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 039867/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2016
From: REUTERS AMERICA LLC
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 038960/0318 →
CHANGE OF NAME Recorded Jun 20, 2016
From: REUTERS AMERICA INC.
To: REUTERS AMERICA LLC
Reel/Frame 039090/0803 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2016
From: EDWARDS, TIMOTHY P.; GUNTURU, RAJASEKHAR R.; SANDRI, BRIAN D.; MERRICK, JOHN PATRICK
To: REUTERS AMERICA INC.
Reel/Frame 038906/0019 →