Upload

Last updated
Icons8 flat upload.svg
Upload alt font awesome.svg
Noun project Upload.svg
Three generic symbols for uploading

Uploading refers to transmitting data from one computer system to another through means of a network. [1] Common methods of uploading include: uploading via web browsers, FTP clients, and terminals (SCP/SFTP). Uploading can be used in the context of (potentially many) clients that send files to a central server. While uploading can also be defined in the context of sending files between distributed clients, such as with a peer-to-peer (P2P) file-sharing protocol like BitTorrent, the term file sharing is more often used in this case. Moving files within a computer system, as opposed to over a network, is called file copying.

Contents

Uploading directly contrasts with downloading, where data is received over a network. In the case of users uploading files over the internet, uploading is often slower than downloading as many internet service providers (ISPs) offer asymmetric connections, which offer more network bandwidth for downloading than uploading.

Definition

To transfer something (such as data or files), from a computer or other digital device to the memory of another device (such as a larger or remote computer) especially via the internet. [2]

Historical development

Remote file sharing first came into fruition in January 1978, when Ward Christensen and Randy Suess, who were members of the Chicago Area Computer Hobbyists' Exchange (CACHE), created the Computerized Bulletin Board System (CBBS). This used an early file transfer protocol (MODEM, later XMODEM) to send binary files via a hardware modem, accessible by another modem via a telephone number. [3]

In the following years, new protocols such as Kermit were released, [4] until the File Transfer Protocol (FTP) was standardized 1985 ( RFC   959). FTP is based on TCP/IP and gave rise to many FTP clients, which, in turn, gave users all around the world access to the same standard network protocol to transfer data between devices.

The transfer of data saw a significant increase in popularity after the release of the World Wide Web in 1991, which, for the first time, allowed users who were not computer hobbyists to easily share files, directly from their web browser over HTTP. [5]

Resumability of file transfers

Transfers became more reliable with the launch of HTTP/1.1 in 1997 ( RFC   2068), which gave users the option to resume downloads that were interrupted, for instance due to unreliable connections. Before web browsers widely rolled out support, software programs like GetRight could be used to resume downloads. Resuming uploads is not currently supported by HTTP, but can be added with the Tus open protocol for resumable file uploads, which layers resumability of uploads on top of existing HTTP connections. [6] [7]

Types of uploading

Client-to-server uploading

Transmitting a local file to a remote system following the client–server model, e.g., a web browser transferring a video to a website, is called client-to-server uploading.

Remote uploading

Transferring data from one remote system to another remote system under the control of a local system is called remote uploading or site-to-site transferring. This is used when a local computer has a slow connection to the remote systems, but these systems have a fast connection between them. Without remote uploading functionality, the data would have to first be downloaded to the local system and then uploaded to the remote server, both times over a slower connection. Remote uploading is used by some online file hosting services. Another example can be found in FTP clients, which often support the File eXchange Protocol (FXP) in order to instruct two FTP servers with high-speed connections to exchange files. A web-based example is the Uppy file uploader that can transfer files from a user's cloud storage such as Dropbox, directly to a website without first going to the user's device. [8]

Peer-to-peer

Peer-to-peer (P2P) is a decentralized communications model in which each party has the same capabilities, and either party can initiate a communication session. Unlike the client–server model, in which the client makes a service request and the server fulfils the request (by sending or accepting a file transfer), the P2P network model allows each node to function as both client and server. BitTorrent is an example of this, as is the InterPlanetary File System (IPFS). Peer-to-peer allows users to both receive (download) and host (upload) content. Files are transferred directly between the users' computers. The same file transfer constitutes an upload for one party, and a download for the other party.

The rising popularity of file sharing during the 1990s culminated in the emergence of Napster, a music-sharing platform specialized in MP3 files that used peer-to-peer (P2P) file-sharing technology to allow users exchange files freely. The P2P nature meant there was no central gatekeeper for the content, which eventually led to the widespread availability of copyrighted material through Napster.

The Recording Industry Association of America (RIAA) took notice of Napster's ability to distribute copyrighted music among its user base, and, on December 6, 1999, filed a motion for a preliminary injunction in order to stop the exchange of copyrighted songs on the service. After a failed appeal by Napster, the injunction was granted on March 5, 2001. [9] On September 24, 2001, Napster, which had already shut down its entire network two months earlier, [10] agreed to pay a $26 million dollar settlement. [11]

After Napster had ceased operations, many other P2P file-sharing services also shut down, such as Limewire, Kazaa and Popcorn Time. Besides software programs, there were many BitTorrent websites that allowed files to be indexed and searched. These files could then be downloaded via a BitTorrent client. While the BitTorrent protocol itself is legal and agnostic of the type of content shared, many of the services that did not enforce a strict policy to take down copyrighted material would eventually also run into legal difficulties. [12] [13]

See also

Related Research Articles

<span class="mw-page-title-main">Peer-to-peer</span> Type of decentralized and distributed network architecture

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of nodes.

eDonkey2000

eDonkey2000 was a peer-to-peer file sharing application developed by US company MetaMachine, using the Multisource File Transfer Protocol. It supported both the eDonkey2000 network and the Overnet network.

<span class="mw-page-title-main">WinMX</span> Freeware peer-to-peer file sharing program

WinMX is a freeware peer-to-peer file sharing program authored in 2000 by Kevin Hearn in Windsor, Ontario (Canada). According to one study, it was the number one source for online music in 2005 with an estimated 2.1 million users. Frontcode Technologies itself abandoned development of WinMX in September 2005, but developers brought the service back online within a few days by releasing patches. WinMX continues to be used by a community of enthusiasts.

BitTorrent, also referred to as simply torrent, is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. The protocol is developed and maintained by Rainberry, Inc., and was first released in 2001.

In computer networks, download means to receive data from a remote system, typically a server such as a web server, an FTP server, an email server, or other similar systems. This contrasts with uploading, where data is sent to a remote server.

An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes, which are used to share resources, or participants are anonymous or pseudonymous. Anonymity of participants is usually achieved by special routing overlay networks that hide the physical location of each node from other participants.

<span class="mw-page-title-main">BitComet</span> BitTorrent, FTP and HTTP client

BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28. The current BitComet logo has been used since version 0.50.

The eDonkey Network is a decentralized, mostly server-based, peer-to-peer file sharing network created in 2000 by US developers Jed McCaleb and Sam Yagan that is best suited to share big files among users, and to provide long term availability of files. Like most sharing networks, it is decentralized, as there is no central hub for the network; also, files are not stored on a central server but are exchanged directly between users based on the peer-to-peer principle.

This is a timeline of events in the history of networked file sharing.

In computing and specifically in Internet slang, a leech is one who benefits, usually deliberately, from others' information or effort but does not offer anything in return, or makes only token offerings in an attempt to avoid being called a leech. In economics, this type of behavior is called "free riding" and is associated with the free rider problem. The term originated in the bulletin board system era, when it referred to users that would download files and upload nothing in return.

<span class="mw-page-title-main">Pando (application)</span>

Pando was an application which was mainly aimed at sending files which would normally be too large to send via more "conventional" means. It used both peer-to-peer and client-server architectures and was released for Windows and Mac OS X operating systems.

<span class="mw-page-title-main">Peer-to-peer file sharing</span> Data distribution using P2P networking technology

Peer-to-peer file sharing is the distribution and sharing of digital media using peer-to-peer (P2P) networking technology. P2P file sharing allows users to access media files such as books, music, movies, and games using a P2P software program that searches for other connected computers on a P2P network to locate the desired content. The nodes (peers) of such networks are end-user computers and distribution servers.

eMule Free peer-to-peer file sharing application for Microsoft Windows.

eMule is a free peer-to-peer file sharing application for Microsoft Windows. Started in May 2002 as an alternative to eDonkey2000, eMule now connects to both the eDonkey network and the Kad network. The distinguishing features of eMule are the direct exchange of sources between client nodes, fast recovery of corrupted downloads, and the use of a credit system to reward frequent uploaders. Furthermore, eMule transmits data in zlib-compressed form to save bandwidth.

This is a glossary of jargon related to peer-to-peer file sharing via the BitTorrent protocol.

Peer-to-peer file sharing (P2P) systems like Gnutella, KaZaA, and eDonkey/eMule, have become extremely popular in recent years, with the estimated user population in the millions. An academic research paper analyzed Gnutella and eMule protocols and found weaknesses in the protocol; many of the issues found in these networks are fundamental and probably common on other P2P networks. Users of file sharing networks, such as eMule and Gnutella, are subject to monitoring of their activity. Clients may be tracked by IP address, DNS name, software version they use, files they share, queries they initiate, and queries they answer to. Clients may also share their private files to the network without notice due to inappropriate settings.

A seedbox is a high-bandwidth remote server for uploading and downloading of digital files from a P2P network. The bandwidth ranges generally from 100 Mbit/s to 20 Gbit/s. After the seedbox has acquired the files, people with access to the seedbox can download the file to their personal computers.

File sharing is the practice of distributing or providing access to digital media, such as computer programs, multimedia, documents or electronic books. Common methods of storage, transmission and dispersion include removable media, centralized servers on computer networks, Internet-based hyperlinked documents, and the use of distributed peer-to-peer networking.

Torrent poisoning is intentionally sharing corrupt data or data with misleading file names using the BitTorrent protocol. This practice of uploading fake torrents is sometimes carried out by anti-infringement organisations as an attempt to prevent the peer-to-peer (P2P) sharing of copyrighted content, and to gather the IP addresses of downloaders.

<span class="mw-page-title-main">Seeding (computing)</span>

In computing, and specifically peer-to-peer file sharing, seeding is the uploading of already downloaded content for others to download from. A peer, a computer that is connected to the network, becomes a seed when having acquired the entire set of data, it begins to offer its upload bandwidth to other peers attempting to download the file. This data consists of small parts so that seeds can effectively share their content with other peers, handing out the missing pieces. A peer deliberately chooses to become a seed by leaving the upload task active once the content has downloaded. The motivation to seed is mainly to keep the file being shared in circulation and a desire to not act as a parasite. The opposite of a seed is a leech, a peer that downloads more than they upload.

<span class="mw-page-title-main">WebTorrent</span> Peer-to-peer web-based torrent client

WebTorrent is a peer-to-peer (P2P) streaming torrent client written in JavaScript, from the same author, Feross Aboukhadijeh, of YouTube Instant, and the team at WebTorrent and on GitHub, for use in web browsers, as well as a WebTorrent Desktop stand alone version able to bridge WebTorrent and BitTorrent serverless networks.

References

  1. "What is Uploading? Definition from WhatIs.com". WhatIs.com. Retrieved 11 June 2020.
  2. "Definition of Upload". Merriam Webster. Retrieved 11 June 2020.
  3. Christensen, Suess. "The Birth of the BBS. By Ward and Randy (1989)" . Retrieved 11 June 2020.
  4. da Cruz, Frank (1986-03-20). "Re: Printable Encodings for Binary Files". Info-Kermit Digest (Mailing list). Kermit Project, Columbia University. Retrieved 11 June 2020.
  5. Enzer, Larry (August 31, 2018). "The Evolution of the World Wide Web". Monmouth Web Developers. Archived from the original on 18 November 2018. Retrieved August 31, 2018.
  6. Van Zonneveld, Kevin (16 November 2015). "tus 1.0 – Changing the future of uploading" . Retrieved 11 June 2020.
  7. Keane, Jonathan (16 November 2015). "Berlin-based Transloadit wants to fix broken file uploads once and for all, with support from Vimeo". Tech EU. Retrieved 11 June 2020.
  8. Walsh, David (11 June 2018). "Uppy File Uploading" . Retrieved 11 June 2020.
  9. 2001 US Dist. LEXIS 2186 (N.D. Cal. Mar. 5, 2001), aff’d, 284 F. 3d 1091 (9th Cir. 2002)
  10. Richtel, Matt (12 July 2001). "Napster is told to remain shut". The New York Times . Retrieved 11 June 2020.
  11. Borland, John (2 March 2002). "Napster reaches settlement with publishers" . Retrieved 11 June 2020.
  12. Jacobson Purewall, Sarah (27 October 2010). "LimeWire shut down permanently" . Retrieved 11 June 2020.
  13. Evers, Joris (30 November 2001). "Judge orders shut-down of popular Napster-like site" . Retrieved 11 June 2020.