A download manager is a computer software program dedicated to downloading files from the Internet for offline storage or execution. Some download managers can also be used to accelerate download speeds by downloading from multiple sources at once. Although web browsers such as Google Chrome and Firefox may have download managers incorporated as a feature, they are differentiated by the fact that they do not prioritize accurate, complete and unbroken downloads. While some download managers are independent programs that can download any data over one or more protocols (e.g. http), many are integrated into installers or update managers and used to download parts of a specific program (or set of programs); examples of the latter include Google's and Adobe's update managers.
Most download managers come with features like video and audio grabbing from popular websites like YouTube, can pause and resume downloads, and impose speed restrictions. Additionally, most of the commercial download managers can download following user planned schedules. A few download managers claim to increase the download speed by a factor of many times.
Most major web browsers have integrated download managers.
Related to download managers are two other breeds of Internet programs, file-sharing peer-to-peer applications (eMule, BitTorrent, Gnutella) and stream recorders (such as StreamBox VCR). While download managers are designed to give users greater control over downloads, some downloaders are created to give that control to content distributors instead. Some software companies, for example Adobe, provide such downloaders for downloading software on their own site. Presumably this increases reliability and reduces their technical support costs. A possible reason is increasing the control over redistribution of their software (even when the software is freeware).
Download acceleration, also known as multipart download, is a term for the method employed by software such as download managers to download a single file by splitting it in segments and using several simultaneous connections to download these segments from a single server.
The reason for doing so is to circumvent server side limitations of bandwidth per connection. Because in normal networking situations all individual connections are treated equally, rather than actual file transfers, multiple connections yields an advantage on saturated links over simple connections, both in terms of total bandwidth allocation and resilience. However, since a client could exploit an arbitrary number of connections to demand an arbitrary share of a server's bandwidth, a server will often implement a maximum number of simultaneous connections per client.
This is not to be confused with segmented downloading, which allows a client to download segments of a file simultaneously from multiple servers.