Localizing a remote event timestamp from a network device with an independent clock method and apparatus
AssigneeGencsus
InventorJonathan V. Coyle
Life of this patent
Estimating the term…
Abstract
A timestamp localization method and device includes two processors with independent clocks connected to a communication network. Two messages are exchanged between the processors. First a request message is sent with a transmit timestamp. Second, a reply message is sent back with receive, originate, transmit and remote timestamps. Then the remote timestamp is converted to a local timestamp using an algorithm and the timestamps from the reply message.
Claims15
A method of localizing a remote timestamp, comprising:
- setting a first transmit timestamp;
- sending a request message;
- receiving the request message;
- setting a receive timestamp, a second transmit timestamp, and a remote timestamp;
- sending a reply message including the receive timestamp, the second transmit timestamp, and the remote timestamp;
- receiving the reply message;
- setting a destination time;
- and
- calculating a local timestamp that corresponds to the remote timestamp.
A method of localizing a remote timestamp, comprising:
- setting a first transmit timestamp to correspond to a first local clock time at which a request message is sent;
- sending the request message to a remote device, the request message including the first transmit timestamp;
- receiving the request message;
- setting a receive timestamp to correspond to a first remote clock time at which the request message is received at the remote device;
- setting an originate timestamp to a value of the first transmit timestamp;
- setting a second transmit timestamp to correspond to a second remote clock time at which a reply message is sent;
- sending the reply message to a local device, the reply message including the originate timestamp, the receive timestamp, the second transmit timestamp and a remote timestamp corresponding to a third remote clock time at which a remote event occurred;
- receiving the reply message;
- setting a destination timestamp to correspond to a second local clock time at which the reply message is received at the local device;
- determining an offset between a local clock associated with the local device and a remote clock associated with the remote device according to
- t=[([(T2−T1)% M1]+[(T3−T4)% M1])÷2] % M1,
- wherein t is the offset, T1 is the originate timestamp, T2 is the receive timestamp, T3 is the second transmit timestamp, T4 is the destination timestamp, M1 is a modulo value equal to a maximum value of a clock tick count, and % is a modulo operator;
- and
- calculating a local timestamp corresponding to a third local clock time at which the remote event occurred according to
- Tel=(Teo−t)% M2,
- wherein Tel is the local timestamp, leo is the remote timestamp, t is the offset, M2 is a modulo value equal to a maximum value of the clock tick count, and % is a modulo operator.
A method of localizing a remote timestamp, comprising:
- setting a first transmit timestamp to correspond to a first local clock time at which a request message is sent;
- sending the request message to a remote device, the request message including the first transmit timestamp;
- receiving a reply message from the remote device including an originate timestamp, a receive timestamp, a second transmit timestamp and a remote timestamp corresponding to a first remote clock time at which a remote event occurred;
- setting a destination timestamp to correspond to a second local clock time at which the reply message is received;
- and
- calculating a local timestamp corresponding to a third local clock time at which the remote event occurred.
A computer program product for enabling a computer to localize a remote timestamp comprising software instructions for enabling the computer to perform predetermined operations and a computer readable medium bearing the software instructions, the predetermined operations including:
- setting a first transmit timestamp correspond to a first local clock time at which a request message is sent;
- sending the request message to a remote device, the request message including the first transmit timestamp;
- receiving a reply message from the remote device including the first transmit timestamp, a receive timestamp, a second transmit timestamp and a remote timestamp corresponding to a first remote clock time at which a remote event occurred;
- setting a destination timestamp to correspond to a second local clock time at which the reply message is received;
- calculating a local timestamp corresponding to a third local clock time at which the remote event occurred.
A timestamp device, comprising:
- a local processor configured to be linked to a remote processor;
- a communication network linking the local processor and the remote processor;
- a memory device associated with the local processor including software instructions to cause the local processor to perform:
- setting a first transmit timestamp corresponding to a first local clock time at which a request message is sent,
- sending the request message including the first transmit timestamp to the second processor,
- receiving a reply message including at least a receive timestamp, a second transmit timestamp and a remote timestamp,
- setting a destination timestamp corresponding to a second local clock time at which the reply message is received, and
- calculating a local timestamp corresponding to a third local clock time at which a remote event occurred;
- and
- a memory device associated with the remote processor including software instructions to cause the remote processor to perform:
- receiving the request message,
- setting an originate timestamp to a value of the first transmit timestamp,
- setting the receive timestamp corresponding to a first remote clock time at which the request message is received,
- setting the second transmit timestamp corresponding to a second remote clock time at which the reply message is sent,
- setting the remote timestamp corresponding to a third remote clock time at which the remote event occurred, and
- sending the reply message including the originate timestamp, the receive timestamp, the second transmit timestamp, and the remote timestamp;
- whereby the timestamp device localizes the remote timestamp.
A timestamp device, comprising:
- a local processor configured to be linked to a remote processor;
- a first transmit timestamp configured to correspond to a first local clock time;
- a request message created by the local processor, wherein the request message is configured to transmit the first transmit timestamp to the remote processor, and the first local clock time corresponds to when the request message is sent;
- a timestamp creator configured to create a local timestamp, wherein the local timestamp is configured to correspond to a second local clock time when a remote event occurred and to be created from the first transmit timestamp, a receive timestamp , a second transmit timestamp, a destination timestamp, and a remote event timestamp
- corresponding to a remote clock time when the remote event occurred.
Dependencies are inferred from the claim text.