You are here

How hardware, networking and software technologies affect file sharing

8 September, 2015 - 18:08

In order to understand the recent impact of P2P file sharing, it is helpful to understand the evolution of computing and networking devices and data management and file sharing applications over the last several decades. This section merely reviews these topics; for a fuller discussion see the chapter on hardware and software.

Computers were first introduced into large business organizations in the 1950’s, and the first applications automated simple accounting tasks. At first, the transaction data associated with an application were linked directly to the application that created it. Most businesses created a data processing organization to build and run these applications. Timesharing techniques made it possible for individual users to view data on computer screens (“dumb terminals”).

In the sixties, long before the World Wide Web, the Internet was invented, the key Internet protocols – TCP and IP -- were developed to support communication among the US armed forces, other governmental agencies, and a small number of defense contractors (see chapter on ). TCP/IP was designed so that if an enemy were to destroy one or more network nodes, communication would still be possible (the beauty of the Internet is that, as a networkof- networks, it does not have a central point of failure). A group of computer science professionals, the so-called Network Working Group, began to work together to develop various networking tools. As this group worked, they recorded their deliberations via memos called Requests for Comment (RFC). RFC 1, written by Stephen Crocker on April 7, 1969 discussed several approaches for transferring files from one computer to another over a network

You learned earlier that Intel co-founder Gordon Moore predicted the pace of improvements in the integrated circuit (the foundation technology for computing devices). As predicted by Moore’s Law, in the sixties and seventies there were dramatic price/performance improvements in computer hardware. While the first computers, introduced in the sixties, were huge mainframes managed by the DP organization and used for routine transaction processing, by the seventies many companies used less expensive mini-computers for less routine applications in design, engineering, manufacturing, and marketing. Some of these applications processed a greater variety of data types, including text, graphs, and some images. And, many organizations invested in database management systems, which enable data to be shared among many software applications. Management Information Systems (MIS) departments were formed to oversee data administration and create various reports based on the information stored in these databases. Despite receiving very fat stacks of paper reports, some managers complained that the particular information they needed was not quite reflected in them! Subsequently, software was created to allow individual users to make queries of these databases and to generate their own reports.

In the seventies, File Transfer Protocol (FTP) was developed to make it easier for people to share small and large files containing a variety of data. An FTP server “listens” for requests coming from other computers. When such a request is detected, the server then establishes a connection with the requesting computer and subsequently receives a file and instructions on where the file is to be delivered. Then, in a process that is similar to how Electronic Data Interchange (EDI) works, the server forwards the file to the Internet address specified by the sender.

The microcomputer was invented in the seventies, but really burst on the business scene in the early eighties (the IBM PC, introduced in August 1981, was the dominant platform in the early days of the end-user computing revolution). The first “killer application” was an electronic spreadsheet (Visicalc, which later lost ground to a product called Lotus 1-2-3, which in term was supplanted by Microsoft Excel). To share spreadsheet or word processing files, a user might save a file to a floppy disk and walk over to another user (“sneakernet”) who would insert it into their disk drive. It did not take long for managers to realize that this was not a very efficient way to work within groups or across business units, so local area networks (LAN’s) were developed to share files on businesses campuses. Companies used wide-area networks (WANs, which were leased or owned) to send some well-structured transaction data to their business partners. Much effort went into standardizing business messages so they could be communicated using EDI protocols such as X.12 and EDIFACT.

By the eighties, the Internet had broadened to include a large number of researchers and computer science professionals, as well as defense employees. Another key development in the late eighties was client/server computing. With the advent of PCs’, companies retired many of the “dumb” terminals. Also, it was noted that many PC users needed only intermittent access to some software applications and to some data. While it made sense to give everyone their own word processing and perhaps spreadsheet software, it was too expensive to install software that would only be used occasionally. Instead, a user would gain access to that software via the company network. This client/server computing idea evolved further, so that some business applications might entail having some code and/or data residing on the user’s desktop “client” machine and other code and/or data residing on a server machine. A “fat” client would have quite a lot of software and/or data but occasionally rely on a server, while a “thin” client would rely heavily on software and data provided by one or more servers.

FTP was a useful mechanism for sharing files in the seventies and eighties (see RFCs 114, 454 and 765). However, many users’ connections were over slow telephone lines, which limited both the size of files that could be sent and the speed of transmission. And, the U.S. National Science Foundation, which maintained several key elements of the Internet, decreed that use was restricted to defense- and research-related activities. So, researchers were able to FTP files to one another, but most other PC users did not have access to this tool.

In the nineties, several elements combined to turn the Internet into a global platform for collaboration. The prices of PCs dropped to a level that enabled very rapid growth of PC sales to businesses, educational institutions, and home users. The Internet expanded and the National Science Foundation dropped its restrictive Acceptable Use Policy, opening the door to private and commercial use. Email (which was previously used primarily by scientists or by very large organizations) now became commonplace. Furthermore, the key technologies of the World Wide Web -- html, uniform resource locators (URLs), and web browsers, made it extremely easy for users to gain access to data in a huge variety of forms (numbers, words, images, music, video) stored in files all over the world. FTP remained a useful mechanism for transferring large files. However, the transfer relied on the existence of an available FTP server.

Digital music or video files don’t play very well over slow or unreliable connections. Also, such files are more useful offline, especially for users who want access to those files when they are not sitting at a desktop computer. So, many PC users sought an easy way to locate and download specific types of files (especially music), which they could store both on their computer and on other devices. This became a major impetus for the development of some P2P file sharing services.

A second motivator was the observation that PCs typically sit idle for long periods of time (such as when you are asleep) and thus are not used to their capacity. Since PCs were being connected to the Internet in rapidly-increasing numbers, some people reasoned that there ought to be a way to capitalize on all that collective excess capacity. These two needs led to several new varieties of peer-to-peer file sharing