Time information is critical for a variety of applications in distributed environments that facilitate pervasive computing and communication. This work describes and evaluates a novel Kalman filtering algorithm for endto-end time synchronization between a client computer and a server of "true" time [e.g., a Global Positioning System (GPS) source] using messages transmitted over packetswitched networks, such as the internet. The messages exchanged have the network time protocol (NTP) format, and the algorithm evaluated, is performed only at the client side. The Kalman filtering algorithm is compared to two other techniques widely used, based on linear programming and statistical averaging, and the experiments involve independent consecutive measurements (Gaussian case) or measurements exhibiting long-range dependence (self-similar case). Performance is evaluated according to the estimation error of frequency offset and time offset between client and server clock, the standard ...