Friday, 5 July 2013

5th july

IDM


In this project a tool called Download Manager is developed that manages Internet downloads for you and makes simple work of resuming interrupted downloads. It also lets you pause and then resume a download, and manage multiple downloads, simultaneously.
At the core of the Download Manager’s usefulness is its ability to take advantage of
downloading only specific portions of a file. In a classic download scenario, a whole file
is downloaded from beginning to end. If the transmission of the file is interrupted for

any reason, the progress made toward completing the downloading of the file is lost. The Download Manager, however, can pick up from where an interruption occurs and then download only the file’s remaining fragment. Not all downloads are created equal, though, and there are some that simply cannot be restarted.
Understanding Internet Downloads
To understand and appreciate the Download Manager, it’s necessary to shed some light on how Internet downloads really work. Internet downloads in their simplest form are merely client/server transactions. The client, your browser, requests to download a file from a server on the Internet. The server then responds by sending the requested file to your browser. In order for clients to communicate with servers, they must have an established protocol for doing so. The most common protocols for downloading files are File Transfer Protocol (FTP) and Hypertext Transfer Protocol (HTTP).
FTP is usually associated generically with exchanging files between computers, whereas HTTP is usually associated specifically with transferring web pages and their related files (that is, graphics, sounds, and so on). Over time, as the World Wide Web has grown in popularity, HTTP has become the dominant protocol for downloading files from the Internet. FTP is definitely not extinct, though. The Download Manager developed in this project will only support HTTP downloads.  HTTP downloads come in two forms: resumable (HTTP 1.1) and non resumable (HTTP 1.0). The difference between these two forms lies in the way files can be requested from servers. With the antiquated HTTP 1.0, a client can only request that a server send it a file, whereas with HTTP 1.1, a client can request that a server send it a complete file or only a specific portion of a file. This is the feature the Download Manager is built on.

An Overview of the Download Manager
The Download Manager uses a simple yet effective GUI interface built with Java’s Swing libraries. The use of Swing gives the interface a crisp, modern look and feel.
The GUI maintains a list of downloads that are currently being managed. Each download in the list reports its URL, size of the file in bytes, progress as a percentage toward completion, and current status. The downloads can each be in one of the following different states:
Downloading, Paused, Complete, Error, or Cancelled. The GUI also has controls for adding downloads to the list and for changing the state of each download in the list. When a download in the list is selected, depending on its current state, it can be paused, resumed, cancelled, or removed from the list altogether.
The Download Manager is broken into a few classes for natural separation of functional
components. These are the Download, DownloadsTableModel, ProgressRenderer, and DownloadManager classes, respectively. The DownloadManager class is responsible for the GUI interface and makes use of the DownloadsTableModel and ProgressRenderer classes for displaying the current list of downloads. The Download class represents a “managed” download and is responsible for performing the actual downloading of a file.



No comments:

Post a Comment