You are on page 1of 8

Software Requirement Specification of Pectorrent p2p Network and Tool

Software Requirement Specification

Version 1.0.0

 Project Title: Pectorrent p2p Network


 Team Title: Pectorrent Team
 Guide and College : Prof. Megha Chaudhary, PEC University of
Technology, Chandigarh
 Group Members :
I. Nischit Pradhan (15103011)
II. Devansh Kandpal (15103004)
III. Vedant Sharma (15103046)

INTRODUCTION
16

The purpose of this section is to provide the reader with general background information
about the Pectorrent tool.

PURPOSE
This document is the Software Requirement Specification for the Pectorrent p2p tool
version 1.0.0.
This SRS describes the functions and performance requirements of the Pectorrent p2p
Tool. Pectorrent is a peer to peer network like Napster and BitTorrent, albeit developed
for a local area network (in this case, the PEC Wifi LAN). It is a Network related
software tool, and allows the users to share their resources in a Peer to Peer network.

DOCUMENT CONVENTIONS
Throughout this document, the following conventions have been used: -
Font: - Times New Roman
Size 16 for Main Headings
Size 14 for Sub Headings
Size 12 for the rest of the document.

INTENDED AUDIENCE AND READING SUGGESTIONS


This document is meant for developers of the Pectorrent tool. The SRS document aims
to explain in an easy manner, the basic idea behind the Pectorrent p2p Tool and how
the developers aim to achieve their goals. It also aims to introduce to the users the main
features of the Pectorrent p2p Tool.

Pectorrent Team
Software Requirement Specification of Pectorrent p2p Network and Tool

SCOPE OF THE DEVELOPMENT PROJECT


Sharing books, study materials, project works and videos has always been a slow and
tedious process. Whatsapp, Facebook, Emails provides an easy and fast way to
circulate data but it has restrictions like upper bound on file size, compression of images
(loss of quality), type of files etc. In most cases the file transfer rate is slow and not
reliable. Pectorrent simplifies the way of accessing and transferring data inside the
University Network. Making use of the existing LAN connection, any file can be easily
transferred at wire speed peer to peer

The Pectorrent p2p Tool is peer to peer network developed for a local area network. A
peer to peer network is a powerful tool which allows like-minded individuals to interact
with each other and share their resources. They thus help in bridging the geographical
boundaries separating these users. The developers of the Pectorrent p2p tool feel that it
is high time that a peer to peer network is developed which is dedicated to local area
networks, instead of giving halfhearted support. We hope that this tool will provide to its
users the benefits of peer to peer networks and facilitate in bringing together people
within a certain area.

A key feature of the software is that it provides efficient searching of files based upon
the file name and the file type. This feature helps the user in finding the required file,
without having to go through enormous amount of unwanted results given by other p2p
tools.

As is the case with most peer to peer networks, we have no way of monitoring what the
users share over the internet. We hope that the users act in a responsible manner and
share software and files while in the legal framework.

DEFINITIONS, ACRONYMS, AND ABBREVIATIONS

 Pectorrent: Refers to the Pectorrent p2p Tool, the software being developed.
 p2p: Peer to Peer

OVERVIEW OF DOCUMENT
For the rest of the document, we first of all have defined the overall product. Then, we
have given the external interface requirements, followed by a brief description of the
product components and features. In the last section, we have provided the non-
functional requirements of the product.

REFERENCES

ReactJS documentation: https://reactjs.net/getting-started/download.html


Java documentation: https://docs.oracle.com/javase/8/docs/
JavaScript documentation: http://devdocs.io/javascript/

Pectorrent Team
Software Requirement Specification of Pectorrent p2p Network and Tool

CSS documentation: https://developer.mozilla.org/en-US/docs/Web/CSS


Python documentation: https://docs.python.org/3/
Technical Aid: https://www.w3schools.com/

OVERALL DESCRIPTION

PRODUCT PERSPECTIVE
Pectorrent is a standalone system. It is a self-contained peer to peer tool for the Local
Area Networks.

PRODUCT FUNCTIONS
The main function of Pectorrent is to allow its users to share their resources over a local
area network. This tool will be extremely useful to students of a university or employees
of a particular office, as sharing of files over a small local area will become very easy
and fast

The major user class that is expected to use this tool is students.

OPERATING ENVIORNMENT

 Client Side Requirement


I. OS : Linux
II. Software Packages : JVM and Pectorrent Client tool
 Server Side Requirements
I. OS : Red Hat Linux Enterprise Edition Version 4
II. Software Packages : Pectorrent Server Tool

DESIGN AND IMPLEMENTATION CONSTRAINTS


 Due to the lack of time, we are unable to fully implement security features in this
product.
 Also, since there exists no protocol that directly supports peer to peer networks,
we will have to work using the existing protocols.

USER DOCUMENTATION
To assist the user in understanding the product better and to assist them in better
utilization of the product and its features, we will be providing a user manual (in HTML
format). We also will be giving a link to the users where they can pose queries and
questions regarding the product and its functionality.

ASSUMPTIONS AND DEPENDENCIES


We are assuming that the users will not use Pectorrent to download copyright and
explicit material. Also, we expect that the users not only use the software to download
resources, they will also be uploading files and resources for being downloaded by

Pectorrent Team
Software Requirement Specification of Pectorrent p2p Network and Tool

other users. We also assume that Pectorrent users will not upload files containing
malicious software like viruses, worms and spybots etc.

OVERVIEW OF DATA REQUIREMENTS


When a new user registers with us, he will be asked to enter some personal information
like his name, email id, a password of choice etc. The email id will be used as the login
id. For subsequent logins, he will only have to enter this login id and password to
access all features of the software.
Also, at the time of installation, a “My Shared Folder” will be created. All contents of this
folder will be available for downloading by other users. The user can add or remove files
from this folder.
While searching, the user queries will be sent to the Public Ledger for searching.

GENERAL CONSTRAINTS, ASSUMPTIONS, DEPENDENCIES,


GUIDELINES
 This product is a web based application meant for a local area netwrok. Since it
is web based, a major constraint on the performance will be due to the bandwidth
of the client’s web connection. A faster bandwidth will result in faster downloads.
 Another major requirement is that the users also upload data and files, and not
just download files from the network.
 The product Public Ledger dependent, and so if due to some reason the Public
Ledger crashes, the whole network will crash.

WORKING OF THE PRODUCT

Who are Seeders and Leechers?


Seeders are those users who are hosting files in the Network. Credentials such as the
local LAN IP Address and Torrent Files are populated onto the Public Ledger
automatically when the Seeder comes online. MAC Address of the device is used to
uniquely identify the Seeder. Any files to share are stored in the public directory PEC-
Torrent in the Seeder’s device. An asynchronous process runs in background to keep
track of changes in the directory and updates it to the Public Ledger. Every file transfer
is created in a separate TCP/FTP and Seeders are selected in Round Robin manner to
evenly distribute transfer load.
Users trying to download files are Leechers. All of the data transfer is accomplished by
a unique TCP/FTP connection to allow maximum efficiency.

What is a Public Ledger?


Public Ledger is the database that stores all of the vital credentials of the user of the
system. Users register themselves into a centralized webserver hosted in the Internet,
say www.pectorrent.com, after which the newly registered users automatically
downloads a Server-Client bundle used for communicating in the system. After the
installation is complete, a small process runs asynchronously updating the Ledger about
all of the Torrent Files. The Torrent File contains the IP Address (of the local LAN
Network) of the Seeders and any file transferred with be done through it. Only Login

Pectorrent Team
Software Requirement Specification of Pectorrent p2p Network and Tool

Credentials are stored permanently by the Ledger and details such as the IP Address
values and Torrent files are disposed after the Seeder becomes offline. Torrent Files
are updated constantly by a background process running in Seeder device.

Ledger data per User


- Login Credentials (Username, Password, MAC Address)
- Local LAN IP Address
- Device MAC Address
- Torrent File (if any)

The Public Ledger is maintained by a centralized Domain Name Server outside the local
network. Torrent Files are maintained by Seeders willing to share files and downloaded
by Leechers. A public domain webpage is used as interface to view and data shared in
the System. Leecher connects to the Seeder with TCP/FTP connection when
transferring any type file.

USE CASE VIEW

Pectorrent Team
Software Requirement Specification of Pectorrent p2p Network and Tool

CLASS DIAGRAM

SEQUENCE DIAGRAM

Pectorrent Team
Software Requirement Specification of Pectorrent p2p Network and Tool

EXTERNAL INTERFACE REQUIREMENTS

USER INTERFACE
Basically there will be two user interfaces provided by the software.
I. The first one will be the screen containing a search pane providing area for the
user to input his search query as well as various customizations to make their
search more specific.
II. The second one will contain the present status of system usage, providing details
about the files being downloaded and uploaded.

SOFTWARE INTERFACE
Software will depend on the security features provided by the operating system and the
language java.

COMMUNICATION INTERFACES
The basic communication protocols will be TCP to establish communication between
two end systems and FTP for file transfer.

SYSTEM FEATURES

Logging
There will two forms of logging provided by the system.
I. The first type will be a new user to register, from which a user will provide certain
details about themself to facilitate efficient configuration of the system.
II. Second form of logging will be for existing users to log on to the system.

Searching
The user will be able to find the file he requires through the various files made available
to the network by other users. The system will show all the results available after search
operation in a tabular form. After this user may use his discretion to download the file
suits them best.

Downloading
The user after deciding which file to download directs system to download it. The
system takes over and the downloading operation is performed independent of user
intervention.

OTHER NON-FUNCTIONAL REQUIREMENTS

PERFORMENCE REQUIREMENTS
In order to maintain a acceptable transactional speed at maximum number of uploads
allowed from a particular user will be three at any time. Any more requests for download
will be sent to the waiting queue. In the same manner to equally share resources among

Pectorrent Team
Software Requirement Specification of Pectorrent p2p Network and Tool

all the users only three downloads will be allowed at any time. Also connections to the
servers will be based on the criteria of attributes of the user like his location and
downloading habits.

SAFETY REQUIREMENTS
As with various other P2P networks the elementary question here is about the contents
which users will be sharing. The responsibility of the material to be shared lies with
users and he will be responsible for the material which he uploads or downloads. A little
caution on the user’s part to shy away from illegal, malicious and suspicious material
will be beneficial.

SECURITY REQUIREMENTS
The safety part of the system will be based on the facilities provided by the OS and the
inherent security features provided by the Java language.

SOFTWARE QUALITY ATTRIBUTES


The USP of the system is that all the client application is based on Java, which makes
the system platform independent and robust.
Secondly the system will provide users with easy to use and understand GUI interface.
Users can easily interact with the system with menus and text areas.

BUSSINESS RULES
The basic fact here is the material for upload and download is totally dependent on the
user’s discretion and network has no responsibility for that matter. It only provides a
medium of transport. It’s upon a user’s sense of morality in which manner they exploit
the system.

Pectorrent Team

You might also like