The Hard Problem of Keeping Time on the Internet


In 1977, David Mills, an eccentric engineer and computer scientist, got the job COMSATA satellite corporation headquartered in Washington, D.C. Mills was a scrappy businessman: he once made a hearing aid for his girlfriend’s uncle and consulted with Ford on how to put paper-tape computers into cars. Now, the clock COMSATEngaged with Mills ARPANET, the computer network that will be the forerunner of the Internet. Several researchers were already using the network to connect remote computers and trade data. But the fidelity of this exchanged data was threatened by a different flaw: the machines did not share a single, reliable synchronization time.

Over the decades, Mills has gained extensive experience in mathematics, engineering and computer science. As a lecturer at the University of Edinburgh in the early seventies, he wrote programs that decoded shortwave radio and telegraph signals. Later, mostly for fun, he learned how the clocks on the mains would turn by a few seconds on a hot summer’s day. (The extent of their shifts depended not only on temperature, but also on whether the network used coal or hydropower.) Now he turned his attention to the problem of timing on a remote computer network. Clock time, Mills learned, is the result of an endless search for consensus. Even the times shown by the world’s most accurate state-run “master clocks” are a combination of the readings of several atomic clocks. The master clocks are, in turn, averaged to help establish the international civil time known as Coordinated Universal Time, which is initialized as UTC.

To solve the problem of synchronization over time ARPANET, Mills established what programmers call a protocol—a set of rules and procedures that create a lingua franca for different devices. The ARPANET was experimental and capricious: electronics broke down regularly and technological misbehavior was common. His protocol sought to detect and correct these wrongdoings, creating a consensus about time through an ingenious system of doubt. Mills prided himself on confusing nomenclature, and so his clock synchronization system distinguished reliable “truechimers” from deceptive “falsetickers.” The operating system he designed, called Fuzzball, made the initial work easier. Mills called his creation the Network Time Protocol, and NTP soon became a key component of the nascent Internet. Programmers followed his instructions when writing timing code for their computers. By 1988, Mills had improved NTP to the point that it could synchronize the clocks of connected computers that differed widely to within tens of milliseconds—a fraction of the blink of an eye. “I always thought it was some kind of black magic,” said Vint Cerf, one of the pioneers of Internet infrastructure.

Today, we take global time synchronization for granted. It is crucial to the Internet and therefore to civilization. Vital systems—power grids, financial markets, telecommunications networks—rely on it to keep records and sort out cause and effect. NTP works with satellite systems such as the Global Positioning System (GPS) and other technologies to synchronize time across many of our online devices. For example, the time kept by precise and closely aligned atomic clocks can be transmitted via GPS to multiple receivers, including those on cell towers; those receivers can connect to NTP servers that distribute time between devices connected via the Internet, almost all of which work with NTP (Atomic clocks can also transmit time directly to NTP servers.) The protocol runs on billions of devices, coordinating. time on each continent. Society has never been so synchronized.

For decades, Mills was the one who decided how the NTP would operate (although he disputes the suggestion that he acted with complete sovereignty). Quirky, bold, influential and sometimes opaque — “He doesn’t suffer fools gladly,” said one longtime collaborator — he served as the Internet’s Father Time. But his term of office is coming to an end. Mills was born with glaucoma. As a child, a surgeon was able to save part of the vision in his left eye, and he always worked using very large computer screens. About ten years ago, his vision began to fail and he is now completely blind. Examining the computer code, writing explanations and corrections became insanely tedious. It is almost impossible to draw diagrams or formulate complex mathematical equations.

A few years ago, I visited Mills’ modest home in the Delaware suburbs. He and his wife, Beverly, have lived there since 1986, when Mills became a professor at the University of Delaware, a position he held for twenty-two years until his retirement. As we sat in her kitchen, our conversation was regularly interrupted by an automated voice telling the time from the next room. The oven and microwave clocks were inconsistent. Mills, with a snow-white beard and wearing a charcoal fisherman’s sweater, keeps track of time using a talking wristwatch that is linked by radio signals to a master clock in Colorado.

Slowly, feeling a series of memorized “navigation points”, he made his way through the house, leading me upstairs. Mills sat at his computer at his desk, where a cat lay atop a creaking piece of ham equipment. He used the keyboard to type out a research paper he was working on with suggestions for improvements at NTP (He asks his wife and daughter to check his typing.) As he used the arrow keys to scroll, the computer spoke aloud. “This memo explores new security and protocol improvements,” said a voice. “Empty. Contents. It’s empty. one. two. Two points. . . . three. three. four. Four point one. . . .” Soon he disappeared. “I’m doing what I can using the sound you hear,” Mills said. “But I observe myself and interpret the following: man is made by the pupil of the eye to compose English.”

Technology does not stand still. The Internet continues to grow in both scale and complexity; even as its infrastructure ages, our world is increasingly dependent on its operation. The continuous evolution of the Internet’s synchronization system over time is essential. However, Mills’ inability to contribute rapidly to the NTP diminished his influence over him. In its absence, few seem both capable and willing to oversee critical but neglected software. A competition has been launched to influence the synchronization of clocks on the Internet.

Mills was born in Oakland, California in 1938, eleven years after the first quartz watch was developed and nine years before the first transistor was built. He rode a steam train to a school for the visually impaired in San Mateo and admired the engineers who operated it. In his teenage years, he became a model-railroad and ham-radio enthusiast, socializing with friends and patching Antarctic Seabees to his wives. His father, an engineer and salesman, co-founded the National Oil Seal Company, which made equipment to prevent leaks in cars. (“You don’t know what it is, but there’s at least two of them in your car engine,” his father told him of the seals.) His mother trained as a pianist before attending the Toronto Conservatory of Music. at home to raise her and her two younger brothers.

The family moved around, and Mills’ teachers were not always accepting of his visual impairment. Mills remembers her eleventh-grade teacher telling her, “You’re never going to get into college,” which was “like waving a flag at a bull.” In 1971, Mills received his Ph.D. in computer and communication sciences from the University of Michigan; After two years lecturing in Edinburgh, he moved with his wife and two children to the University of Maryland, which rejected his tenure after five years. “It was the best thing that ever happened to me,” Mills said. started working in COMSAThe had access to funding from the Department of Defense, some of which was earmarked ARPANET. “It was a sandbox,” he said. “They just told us, ‘Do good things.’ But the good jobs were jobs like e-mail and preparing protocols. Part of the charm of the time sync thing, he told me, was that he was the only one doing it. He had his own “little hunter”.

At NTP, Mills built a system that allowed endless work, and he found joy in optimization. “The actual use of time information was not of central interest,” he recalled. The fledgling Internet had several hours to synchronize. But the network grew rapidly in the nineteen-eighties, and the widespread adoption of personal computers in the nineties required the Internet to accommodate millions more devices than the original designers had envisioned. Coders have created versions of NTP that run on Unix and Windows machines. Others have written “reference implementations”—open source codebases—of NTP that exemplify how to run the protocol and are freely available for users to adapt. State institutions, including the National Institute of Standards and Technology (NIST) and the US Naval Observatory began distributing the time kept by master clocks using NTP

The world’s idle community is building their own servers to provide time through the protocol. In 2000, NTP servers sent eighteen billion time synchronization requests from several million computers, and over the next few years, with the spread of broadband Internet, requests to the busiest NTP servers increased tenfold. Mills wrote in a 2003 paper that time servers were once “well-lit in the United States and Europe, but obscure elsewhere in South America, Africa, and the Pacific.” “Today the Sun never sets or even approaches the horizon in NTP.” Programmers began to view the protocol as an assumption – it seemed natural to them that synchronized time could be reliably and easily obtained. Mills’ little fife was everywhere.

NTP works by telling computers to send small, time-stamped messages to time-checking devices higher up in the hierarchy. The top layer of the hierarchy consists of servers closely linked to high-precision clocks that are kept in close synchronization with the Coordinated Universal Clock. Time then moves from layer to layer to machines at the bottom of the hierarchy, such as regular laptops. The protocol keeps track of the elapsed moments of a time-checking message as it is sent, received, returned, and received again by the original sender. All the while, a set of algorithms—a “popcorn spike suppressor,” a “huff-n’-puff filter”—filters the data, separates the fakers from the true timers, and tells the clocks what to base their timing on. time-stamped messages tells them.



Source link