IP Library Granted Patent US 7,496,686
Granted Patent B2
US 7,496,686 · App. 11/044,217 · Granted Feb 24, 2009

Localizing a remote event timestamp from a network device with an independent clock method and apparatus

Assignee: Gencsus
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 7,496,686
App. No.
11/044,217
Granted
Feb 24, 2009
Kind
B2
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.

Claims (123)

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

2. The method of claim 1 , wherein the first transmit time stamp corresponds to time a first local clock time at which the request message is sent, the receive timestamp corresponds to a first remote clock time at which the request message is received, the second transmit timestamp corresponds to a second remote clock time at which the reply message is sent, the remote timestamp corresponds to a third remote clock time at which a remote event occurred, and the destination timestamp corresponds to a second local clock time at which the reply message is received and the local timestamp corresponds to a third local clock time at which the remote event occurred.

3. The method of claim 1 , further comprising:

including the first transmit timestamp in the request message;

setting an originate timestamp to a value of the first transmit timestamp; and

including the originate timestamp in the reply message.

4. The method of claim 1 , wherein the step of sending the request message is performed by a local device and the step of receiving the request message is performed by a remote device, and the step of sending the reply message is performed by the remote device and the step of receiving the reply message is performed by the local device.

5. The method of claim 4 , wherein the local device sets the first transmit timestamp; and the remote device sets the receive timestamp, the originate timestamp, the second transmit timestamp and the remote timestamp; and the local device sets the destination timestamp and calculates the local timestamp.

6. The method of claim 1 , wherein the first transmit time stamp is calculated according to

T1=T1′% M,

the receive timestamp is calculated according to

T2=T2′% M,

the second transmit timestamp is calculated according to

T3=T3′% M,

the remote timestamp is calculated according to

Teo=Teo′ % M, and

the destination timestamp is calculated according to

T4=T4′ % M,

wherein T 1 is the first transmit time stamp, T 1 ′ is a first local clock time at which the request message is sent, T 2 is the receive timestamp, T 2 ′ is a first remote clock time at which the request message is received, T 3 is the second transmit timestamp, T 3 ′ is a second remote clock time at which the reply message is sent, Teo is the remote timestamp, Teo′ is a third remote clock time at which a remote event occurred, T 4 is the destination timestamp, T 4 ′ is a second local clock time at which the reply message is received, M is a modulo value equal to a maximum value of a clock tick count, and % is a modulo operator.

7. 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 =[([( T 2− T 1)% M 1]+[( T 3 −T 4)% M 1])÷2] % M 1,

wherein t is the offset, T 1 is the originate timestamp, T 2 is the receive timestamp, T 3 is the second transmit timestamp, T 4 is the destination timestamp, M 1 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 )% M 2,

wherein Tel is the local timestamp, leo is the remote timestamp, t is the offset, M 2 is a modulo value equal to a maximum value of the clock tick count, and % is a modulo operator.

8. The method of claim 7 , wherein the first transmit timestamp is calculated according to

T1=T1′% M3,

the receive timestamp is calculated according to

T2=T2′% M3,

the second transmit timestamp is calculated according to

T3=T3′% M3,

the remote timestamp is calculated according to

Teo=Teo′ % M3, and

the destination timestamp is calculated according to

T4=T4′% M3,

wherein T 1 is the first transmit time stamp, T 1 ′ is a first local clock time at which the request message is sent, T 2 is the receive timestamp, T 2 ′ is a first remote clock time at which the request message is received, T 3 is the second transmit timestamp, T 3 ′ is a second remote clock time at which the reply message is sent, Teo is the remote timestamp, Teo′ is a third remote clock time at which a remote event occurred, T 4 is the destination timestamp, T 4 ′ is a second local clock time at which the reply message is received, M 3 is a modulo value equal to a maximum value of the clock tick count, and % is a modulo operator.

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

10. The method of claim 9 , wherein the first transmit timestamp is calculated according to

T1=T1′% M,

the receive timestamp is calculated according to

T2=T2′% M,

the second transmit timestamp is calculated according to

T3=T3′% M,

the remote timestamp is calculated according to

Teo=Teo′ % M, and

the destination timestamp is calculated according to

T4=T4′% M,

wherein T 1 is the first transmit time stamp, T 1 ′ is a first local clock time at which the request message is sent, T 2 is the receive timestamp, T 2 ′ is a first remote clock time at which the request message is received, T 3 is the second transmit timestamp, T 3 ′ is a second remote clock time at which the reply message is sent, Teo is the remote timestamp, Teo′ is a third remote clock time at which a remote event occurred, T 4 is the destination timestamp, T 4 ′ is a second local clock time at which the reply message is received, M is a modulo value equal to a maximum value of a clock tick count, and % is a modulo operator.

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

12. The computer program product of claim 11 , wherein the predetermined operations include:

calculating the first transmit timestamp according to

T1=T1′% M,

calculating the receive timestamp according to

T2=T2′% M,

calculating the second transmit timestamp according to

T3=T3′% M,

calculating the remote timestamp according to

Teo=Teo′ % M, and

calculating the destination timestamp according to

T4=T4′% M;

wherein T 1 is the first transmit time stamp, T 1 ′ is a first local clock time at which the request message is sent, T 2 is the receive timestamp, T 2 ′ is a first remote clock time at which the request message is received, T 3 is the second transmit timestamp, T 3 ′ is a second remote clock time at which the reply message is sent, Teo is the remote timestamp, Teo′ is a third remote clock time at which a remote event occurred, T 4 is the destination timestamp, T 4 ′ is a second local clock time at which the reply message is received, M is a modulo value equal to a maximum value of a clock tick count, and % is a modulo operator.

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

14. The timestamp device of claim 13 , wherein the first transmit timestamp is calculated according to

T1=T1′% M,

the receive timestamp is calculated according to

T2=T2′% M,

the second transmit timestamp is calculated according to

T3=T3′% M,

the remote timestamp is calculated according to

Teo=Teo′ % M, and

the destination timestamp is calculated according to

T4=T4′% M,

wherein T 1 is the first transmit time stamp, T 1 ′ is a first local clock time at which the request message is sent, T 2 is the receive timestamp, T 2 ′ is a first remote clock time at which the request message is received, T 3 is the second transmit timestamp, T′ is a second remote clock time at which the reply message is sent, Teo is the remote timestamp, Teo is a third remote clock time at which a remote event occurred, T 4 is the destination timestamp, T 4 ′ is a second local clock time at which the reply message is received, M is a modulo value equal to a maximum value of a clock tick count, and % is a modulo operator.

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

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2012
From: ASCOM (US) INC.
To: ASCOM (SWEDEN) AB
Reel/Frame 028435/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2012
From: GE MEDICAL SYSTEMS INFORMATION TECHNOLOGIES, INC.
To: ASCOM (US) INC.
Reel/Frame 028411/0230 →
PATENT ASSIGNMENT Recorded Jun 18, 2012
From: GENERAL ELECTRIC COMPANY, ON BEHALF OF GENCSUS, INC., GENCS, INC., AND GE INFRASTRUCTURE SECURITY
To: GE MEDICAL SYSTEMS INFORMATION TECHNOLOGIES, INC.
Reel/Frame 028397/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2006
From: EDWARDS SYSTEMS TECHNOLOGY, INC.
To: GENCSUS
Reel/Frame 017478/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2005
From: COYLE, JONATHAN V.
To: EDWARDS SYSTEMS TECHNOLOGY, INC.
Reel/Frame 016231/0305 →
Continuity (1)
Related Publication 20060173952A1 · Aug 3, 2006