Method for self-synchronizing time between communicating networked systems using timestamps
First Claim
1. A machine-implemented method of synchronizing a pseudo-time clock of a sender of a packet and a pseudo-time clock of a receiver of the packet, the method comprising:
- receiving, at the receiver, the packet sent from the sender;
determining a first pseudo-time associated with the pseudo-time clock of the receiver;
determining a second pseudo-time associated with the pseudo-time clock of the sender based on information in the packet;
determining whether the pseudo-time clock of the receiver and the pseudo-time clock of the sender are unsynchronized by more than an allowed amount, based on comparing the first pseudo-time and the second pseudo-time;
in response to determining that the pseudo-time clock of the sender is lagging the pseudo-time clock of the receiver by more than an allowed amount, sending, from the receiver to the sender, a packet comprising information from which a new pseudo-time can be determined that is based on the pseudo-time clock of the receiver,wherein the method is performed by the receiver, and wherein the receiver comprises a processor.
1 Assignment
0 Petitions
Accused Products
Abstract
Nodes in a network include a pseudo-timestamp in messages or packets, derived from local pseudo-time clocks. When a packet is received, a first time is determined representing when the packet was sent and a second time is determined representing when the packet was received. If the difference between the second time and the first time is greater than a predetermined amount, the packet is considered to be stale and is rejected, thereby deterring replay. Because each node maintains its own clock and time, to keep the clocks relatively synchronized, if a time associated with a timestamp of a received packet is later than a certain amount with respect to the time at the receiver, the receiver'"'"'s clock is set ahead by an amount that expected to synchronize the receiver'"'"'s and the sender'"'"'s clocks. However, a receiver never sets its clock back, to deter attacks.
-
Citations
18 Claims
-
1. A machine-implemented method of synchronizing a pseudo-time clock of a sender of a packet and a pseudo-time clock of a receiver of the packet, the method comprising:
-
receiving, at the receiver, the packet sent from the sender; determining a first pseudo-time associated with the pseudo-time clock of the receiver; determining a second pseudo-time associated with the pseudo-time clock of the sender based on information in the packet; determining whether the pseudo-time clock of the receiver and the pseudo-time clock of the sender are unsynchronized by more than an allowed amount, based on comparing the first pseudo-time and the second pseudo-time; in response to determining that the pseudo-time clock of the sender is lagging the pseudo-time clock of the receiver by more than an allowed amount, sending, from the receiver to the sender, a packet comprising information from which a new pseudo-time can be determined that is based on the pseudo-time clock of the receiver, wherein the method is performed by the receiver, and wherein the receiver comprises a processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A machine-implemented method of synchronizing a pseudo-time clock of a sender of a packet and a pseudo-time clock of a receiver of the packet, the method comprising:
-
a sender including a first pseudo-timestamp in a first packet, wherein the first pseudo-timestamp includes information from which a first pseudo-time can be determined, and wherein the first pseudo-time is based on a first pseudo-time clock associated with the sender; the sender sending the first packet to a receiver; in reply, the sender receiving a second packet from the receiver; the second packet having a second pseudo-timestamp that includes information from which a second pseudo-time can be determined, wherein the second pseudo-time is based on a second pseudo-time clock, wherein the second pseudo-time clock is associated with the receiver; the sender determining that the first pseudo-time clock is expected to be lagging the second pseudo-time clock-based on the second pseudo-timestamp by more than a predetermined amount; and the sender advancing the second pseudo-time clock to a pseudo-time that is expected to be synchronized with the first pseudo-time clock within a predetermined tolerance, wherein the method is performed by the sender, and wherein the sender comprises a processor. - View Dependent Claims (11)
-
-
12. An apparatus for synchronizing a pseudo-time clock of a sender of a packet and a pseudo-time clock of a receiver of the packet, the method comprising:
-
one or more processors; means for receiving, at the receiver, the packet sent from the sender; means for determining a first pseudo-time associated with the pseudo-time clock of the receiver; means for determining a second pseudo-time associated with the pseudo-time clock of the sender based on information in the packet; means for determining whether the pseudo-time clock of the receiver and the pseudo-time clock of the sender are unsynchronized by more than an allowed amount, based on comparing the first pseudo-time and the second pseudo-time; means for sending, from the receiver to the sender, a packet comprising information from which a new pseudo-time can be determined that is based on the pseudo-time clock of the receiver, in response to determining that the pseudo-time clock of the sender is lagging the pseudo-time clock of the receiver by more than an allowed amount. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification