Home Page | Vinton Cerf | Tim Berners-Lee



Raymond Tomlinson

Raymond Tomlinson

Background

Raymond Samuel Tomlinson is an American computer scientist, born in Amsterdam, New York, in 1941. He did his bachelor’s at Rensselaer Polytechnic Institute for electrical engineering and later attended MIT for his master’s to continue his education in electrical engineering. He later became interested in computers with the video game Spacewars!.



Web Contributions

Contribution 1: SNDMSG/CYPNET

SNDMSG

SNDMSG was a messaging program that allowed people who were on the same TENEX machine, an operating system he was developing for the technology company he was working for at the time for to store future AI research. However, this was limited to people on the same machine. CPYNET is a file transfer program that moved files across the ARPANET. It used a basic structure for the copying of these files as they were sent over ARPANET. However, it was limited in that it could only overwrite files, never edit the file by adding to an existing one. These two programs were later used to develop his most prominent contribution, email



Contribution 2: Creating Email



He developed an email software, which was widely distributed and used during the precursor of the internet, ARPNET. Before, only people on the same computer could send messages to each other. This software combined two different programs, one that could only send messages internally (SNDMSG) and a file transfer program (CYPNET). To differentiate between the addresses, he used the ‘@’ symbol for the host of the address, so it was written as user@host. This is still widely used today as the standard format for an email. This development led to further standardizations, such as the email always having a subject and a section for who it is sent to and from whom it was sent.



Contribution 3: TCP: Three-Way Handshake

“TCP

Tomlinson realized that there was a problem with the early TCP handshake in that, during unsteady network conditions, some packets may be lost or even sent twice. To fix this problem, he and his colleague Yogen Dalal created this handshake. The client and server would acknowledge a package has been sent or received using a randomly generated sequence of numbers. This way, the client and server can agree when the starting point is so that both know that no data has been sent already.