Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

A

Project Report on

VMCHelpDesk
At

K2 Infocom

Submitted for partial fulfillment towards the degree of


Bachelor of Computer Application (BCA)
Year: 2016-17

By:
Ajay Ajagiya K.(1284)
Vivek Pandya V.(1315)
Under the guidance of …

Internal Guide: External Guid


Mr. Dhrmesh rana. Mr. Kaushal Rao.
Senior Programming
BCCA, Vadodara. K2 Infocom.

Submitted To:

Balaji College of Computer Application


[Gujarat University]
Channi, Vadodara.
TORRENT

Sr.No Content
1. Introduction
1.1 Abstract
1.2 Scope of Project
1.3 Purpose
2. System Requirement
2.1 Functional Requirement
2.2 Non-Functional Requirement
3. System Design
3.1 Context level Diagram
3.2 Data flow Diagram
3.3 Use case diagram
3.4 Activity Diagram
3.5 Sequence Diagram
3.6 component Diagram
3.7 Class Diagram

 Abstract
Torrent is a distributed peer-to-peer system which, it is stated, has the potential to
change the landscape of broadcast media and file distribution. It uses a symmetric (tit-
for-tat) transferring model in an attempt to reach Pareto efficiency. Its protocol employs
various mechanisms and algorithms in a continuous effort to try to ensure that there are
no other variations in the network arrangement which will make every downloader at
least as well off and at least one downloader strictly better off. In its original
implementation, Torrent base its operation around the concept of a torrent file, a
centralized tracker and an associated swarm of peers. The centralized tracker provides
the different entities with an address list over available peers. Later improvements tries
to eave the weakness of a single point of failure (the tracker), by implementing a new
distributed tracker solution.
Amongst Torrent’s most prominent future uses are applications which combine Torrent
and RSS (Really Simple Syndication), with the powerful ability to transform the Internet
into the world’s largest TiVo.
Torrent is a popular peer-to-peer file transfer program that allows participants in a
swarm to exchange pieces with each other during the downloading process. Since users
do not have to download all pieces from the original publisher, the downloading of very
large files in an active swarm is typically faster than other methods used to distribute
files
Nowadays, when somebody talks about distributed computation and widely distributed
data,
the first thing that comes to people’s mind is peer-to-peer technology. Peer-to-peer
communication
comes as an alternative for the traditional server-client architecture, allowing all nodes
in a network
to communicate simultaneously with each other, increasing the efficiency and quickness
of data’s
exchange.
With all this advantages, peer-to-peer architecture became the one to be
used in the our project TORRENT DOWNLOADING SYSTEM, a project that aims to
provide a platform for sharing files.

 Scope

Torrent is a peer-to-peer (P2P) file sharing protocol designed to reduce the bandwidth
required to transfer files. It does this by distributing file transfers across multiple
systems, thereby lessening the average bandwidth used by each computer. For
example, if a user begins downloading a movie file, the Torrent system will locate
multiple computers with the same file and begin downloading the file from several
computers at once. Since most ISPs offer much faster download speeds than upload
speeds, downloading from multiple computers can significantly increase the file transfer
rate.

In order to use the Torrent protocol, you need a Torrent client, which is a software
program that accesses the Torrent network. The client program allows you to search for
files and begin downloading torrents, which are in-progress downloads. Most Torrent
clients allow you to resume torrents that have been paused or stopped. This can be
especially helpful when downloading large files.

A Torrent file distribution consists of these entities:


1. An ordinary web server
2. A static 'metainfo' file
3. A Torrent tracker
4. An 'original' downloader
5. The end user web browsers
6. The end user downloaders
There are ideally many end users for a single file.
To start serving, a host goes through the following steps:
1. Start running a tracker (or, more likely, have one running already).
2. Start running an ordinary web server, such as apache, or have one already.
3. Associate the extension .torrent with mimetype application/x-Torrent on their
web server (or have done so already).
4. Generate a metainfo (.torrent) file using the complete file to be served and the
URL of the tracker.
5. Put the metainfo file on the web server.
6. Link to the metainfo (.torrent) file from some other web page.
7. Start a downloader which already has the complete file (the 'origin').
8. To start downloading, a user does the following:
9. Install Torrent (or have done so already).
10.Surf the web.
11.Click on a link to a .torrent file.
12.Select where to save the file locally, or select a partial download to resume.
13.Wait for download to complete.
14.Tell downloader to exit (it keeps uploading until this happens).
 Purpose

The Torrent protocol can be used to reduce the server and network impact of
distributing large files. Rather than downloading a file from a single source server, the
Torrent protocol allows users to join a "swarm" of hosts to upload to/download from
each other simultaneously. The protocol is an alternative to the older single source,
multiple mirror sources technique for distributing data, and can work effectively over
networks with lower bandwidth. Using the Torrent protocol, several basic computers,
such as home computers, can replace large servers while efficiently distributing files to
many recipients. This lower bandwidth usage also helps prevent large spikes in internet
traffic in a given area, keeping internet speeds higher for all users in general, regardless
of whether or not they use the Torrent protocol. A user who wants to upload a file first
creates a small torrent descriptor file that they distribute by conventional means (web,
email, etc.). They then make the file itself available through a Torrent node acting as a
seed. Those with the torrent descriptor file can give it to their own Torrent nodes, which
—acting as peers or leechers—download it by connecting to the seed and/or other
peers

The file being distributed is divided into segments called pieces. As each peer receives a
new piece of the file, it becomes a source (of that piece) for other peers, relieving the
original seed from having to send that piece to every computer or user wishing a copy.
With Torrent, the task of distributing the file is shared by those who want it; it is entirely
possible for the seed to send only a single copy of the file itself and eventually distribute
to an unlimited number of peers. Each piece is protected by a cryptographic hash
contained in the torrent descriptor.[7] This ensures that any modification of the piece
can be reliably detected, and thus prevents both accidental and malicious modifications
of any of the pieces received at other nodes. If a node starts with an authentic copy of
the torrent descriptor, it can verify the authenticity of the entire file it receives.

Pieces are typically downloaded non-sequentially and are rearranged into the correct
order by the Torrent client, which monitors which pieces it needs, and which pieces it
has and can upload to other peers. Pieces are of the same size throughout a single
download (for example a 10 MB file may be transmitted as ten 1 MB pieces or as forty
256 KB pieces). Due to the nature of this approach, the download of any file can be
halted at any time and be resumed at a later date, without the loss of previously
downloaded information, which in turn makes Torrent particularly useful in the transfer
of larger files. This also enables the client to seek out readily available pieces and
download them immediately, rather than halting the download and waiting for the next
(and possibly unavailable) piece in line, which typically reduces the overall time of the
download. Once a peer has downloaded a file completely, it becomes an additional
seed. This eventual transition from peers to seeders determines the overall "health" of
the file (as determined by the number of times a file is available in its complete form).
 Requirements

1. Functional requirements

 The system facilitate downloading of large files in distributed way (P2P).


 Seeder can upload the meta-data about the file.
 Seeder shall get the torrent file in response of meta-data uploaded
 The sharing of torrent file containing tracker information can be shared via
websites or any media to any other peer who needs to download.
 Sharing can be public or private.
 The downloader have facility to connect to tracker server and get the files pieces
location i.e ip address of peers having full file (seeders) or partial pieces(leechers).
 The downloader have capability to establish connection with other peers(seeders
or leechers) for download of pieces.
 The torrent client provides the functionality of finding the peers with high
connection speeds.
 The torrent client also provides functionality of saving the downloaded pieces
information by the downloader currently downloading (leecher)
onto the tracker server so as if any other downloader wishes to download can
also connect to any other downloader currently downloading.

2. Non functional

• Portability. Windows, Linux/Unix and Mac OS X platforms should be supported.


• Extensibility. Easy integration with existing instant messaging and Voice over IP
systems.
• Easiness of use. P2P network should be easily established, publishing and
downloading should be as simple as possible.
• Privacy. Ability to work in Virtual Private Network established.
• No spyware/addware. P2P systems that have closed source code may have some
spyware or addware.
 Integrity: An attacker should not be able to force a client to accept data not used
to create the torrent. This property is trivially fulfilled since before a client accepts
downloaded data as correct, he verifies the hash in the torrent. In other words,
the data is as correct as the strength of the hash.

 Resistance to DOS: An attacker should not be able to cause the download rate for
any client to fall below a certain low threshhold, without doing too much work
himself. We chose to study this property.

 System requirements

No special requirements.

OS Support
Win2003, Win2000, Win7 x64, WinXP, WinVista, Win7 x32, Win8 x32, Win8 x64, Win10
x32, Win10 x64, Windows 8, Windows 10.

 System Design

 USE CASE DIAGRAM


 DATAFLOW DIAGRAM

LEVEL 0 – CONTEXT DIAGRAM


LEVEL 1 :
LEVEL 2 :
 ACTIVITY DIAGRAM
UPLOAD FILES
DOWNLOAD FILES

 SEQUENCE DIAGRAM
 COMPONENT DIAGRAM
 CLASS DIAGRAM

You might also like