Search This Blog

Saturday 21 January 2012

Multi-threaded Segmented Download Accelerator using Plug-in Architecture


      This project is aimed to develop a multi-thread C# Segmented Download Manager that manages multiple segmented downloads and supports HTTP, FTP and YouTube video downloads
 1. Title of the project: 
                  Multi-threaded Segmented Download Accelerator using Plug-in Architecture.
 2. Abstract:
This system can be used as an application for any internet user who generally downloads a large amount of data from the net.
Downloads can be segmented because both HTTP and FTP protocols allow the client to specify the start position of the stream. First, it performs a request to the server to discover the file size and then calculates segment size.

With the segment size, downloader creates another request specifying the start position of the stream. In this way, user can have multi-requests for the same files running in parallel using multithreading techniques. This technique speeds up the transfer rate even more if you are using mirrors.

The following features are supported by the Multi-thread C# Segmented Download Manager:

Segmented downloads from HTTP and FTP - With smart segments: when one segment ends, starts another segment to help to terminate another segment more fast allow downloads to be paused and resumed.

 3. Features:
           The Functionalities provided by the Project are as follows.
·         Speed Limit — to avoid to use all your bandwidth
·         Download Scheduler
·         Download files only on allowed times
·         Limit the number of simultaneous downloads

·         When one download ends, starts another automatically

·         Support for FTP site that requires authentication

·         Support for Mirrors

·         Download from HTTPS

·         Notification download completion with sounds and XP balloon

·         Anti-virus integration

·         Automatic retry when a segment or download fails

 4. Existing System:

Ø  Download managers are useful for active Internet users. For dial-up users, they can automatically dial the internet service provider at night, when rates or tariffs are usually lower, download the specified files, and hang-up.

Ø  They can record which links the user clicks on during the day, and queue these files for later download. For broadband users, download managers can help download very large files by resuming broken downloads, by limiting the bandwidth used, so that other internet activities are not affected (slowed) and the server is not overloaded, or by automatically navigating a site and downloading pre-specified content (photo galleries, MP3 collections, etc.)

 5. Limitations in Existing System:

Ø  There are several things that some web browsers are not very good at. That's where the download managers enter the equation:
Ø  Pausing the downloading of large files.
Ø  Resuming broken or paused downloads (especially for very large files).
Ø  Downloading files on poor connections.
Ø  Downloading several files from a site automatically according to simple rules (file types, updated files, etc. - see also Offline Browser).
6. PROPOSED SYSTEM
           
         The proposed System is aimed to develop a multi-thread Segmented Download Manager that manages multiple segmented downloads and supports HTTP, FTP and YouTube video downloads.
          
         The transactions should take place in a secured format between various clients in the network. It provides flexibility to the user to transfer the data through the network very easily by splitting the large amount of file in to user specified size. It should also identify the user and provide the communication according to the prescribed level of security with transfer of the file requested and run the required process at the server if necessary. When responding to the client, the server should send necessary information such as User authorization and authentication information, Merging, Encryption, Decryption types and their level of hierarchy etc.


 7. Modules:
The application comprises the following major modules.
·         Settings
·         Download Manager
·         Segments
·         Downloads
o   HTTP
o   FTP
o   HTTPS

Downloads can be segmented because both HTTP and FTP protocols allow the client to specify the start position of the stream. First, it performs a request to the server to discover the file size and then calculates segment size.
With the segment size, downloader creates another request specifying the start position of the stream. In this way, user can have multi-requests for the same files running in parallel using multi-threading techniques. This technique speeds up the transfer rate even more if you are using mirrors.
The following features are supported by the Multi-thread C# Segmented Download Manager:
Segmented downloads from HTTP and FTP - With smart segments: when one segment ends, starts another segment to help to terminate another segment more fast
Allow downloads to be paused and resumed
Video Download window to download videos from:
§  You Tube
§  Google Video
§  Break
§  PutFile
§  Meta Cafe

Speed Limit — to avoid to use all your bandwidth
Download Scheduler
§  Download files only on allowed times
§  Limit the number of simultaneous downloads
§  When one download ends, starts another automatically

Support for FTP site that requires authentication
Support for Mirrors
Download from HTTPS
Notifications download completion with sounds and XP balloon
Anti-virus integration
Automatic retry when a segment or download fails.

Downloads can be segmented because both HTTP and FTP protocols allow the client to specify the start position of the stream.

A video download from any site has three steps:
·         Download the HTML page from the video site
·         Parse the HTML to discover the video URL
·         Download the video URL


 7. Requirements:

·         Hardware requirements:


Content
Description
HDD
20 GB Min
40 GB Recommended
RAM
1 GB Min
2 GB Recommended


·         Software requirements:


Content
Description
OS
Windows XP with SP2 or Windows Vista
Language
C#
IDE
Ms-Visual Studio .Net 2008

No comments:

Post a Comment