Design and implementation of an online file sharing system
TABLE OF CONTENT
Table of content
- PROBLEM STATEMENT
- SCOPE OF THE PROJECT WORK
- DOCUMENT OVERVIEW
- TYPES OF FILE NETWORKS
- STRUCTURED FILE SHARING
- HYBRID P2P SYSTEMS
- FILE SHARING SYSTEM
- OVERLAY NETWORK
- THE LIMITATION OF P2P SYSTEM
3.1 THESIS BACKGROUND
3.2 GENERAL OVERVIEW OF THE EXISTING SYSTEM
3.3 SYSTEM ANALYSIS
3.4 SYSTEM ARCHITECTURE
SYSTEM DESIGN AND IMPLEMENTATION
4.0 SYSTEM IMPLEMENTATION
4.1 SYSTEM SPECIFICATION
4.2 DATABASE SCREENSHOT
4.3 DISPLAY OF GRAPHICAL USER INTERFACE
SUMMARY, CONCLUSION AND RECOMMENDATION
File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia (audio, images and video), documents, or electronic books. It may be implemented through a variety of ways. It allows developers unparalleled freedoms to create varied and interesting applications. Based on the Java programming language, it is touted as being easy to pick up and master, whilst the underlying is a modified Linux kernel. Some of Android’s biggest draws for developers include the relative simplicity of developing using Java syntax, which means quickly producing applications. Also, Android provides easy yet
secure access to first and third party applications, allowing deeper integration between components in different programs, and encourages software sharing and reuse. The user interface can be built quickly and simply through XML or graphically, and once an application has been finished it can be submitted to Android market, a portal through which developers can make their creations available to Android users, either free or for profit.
Also, there is an idea of on-the-fly scalability, that machines can join and leave the cloud as required. One definition of cloud computing is that of a pool of computational resources, linked together to provide a greater processing power. These are projects which involve supporters installing software on computers at home, which connect, when idle, to their respective clouds over the internet and compute small parts of complex scientific calculations. Another use of the term is to provide some form of data syncing.
One more idea of cloud computing is that of peer-to-peer systems. This form has been used for many years for file sharing, recently implemented for services such as Skype. These services reduce load on their servers by passing data directly from user to user. Java is a general-purpose, concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers “write once, run anywhere” (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to bytecode (class file) that can run on any Java virtual machine (JVM) regardless of computer architecture. Java is, as of 2012, one of the most popular programming languages in use, particularly for client-server web applications, with a reported 10 million users.
Java was originally developed by James Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core component of Sun Microsystems’ Java platform. The language derives much of its syntax from C and C++, but it has fewer low-level facilities than either of them.
1.2 Aim and Objectives of the study
This project aims to design an application that is necessary for organization members when they need to operate online and access files. Project scope from user perspective, limits the range of users to only those who have internet connection and have an account in hand. The system can be adapted to a range of files from small to large. Project scope includes facilities for users to upload files online and can download files, who don’t have account can view the notifications. The aim of this project is to promote a user-friendly, efficient, safe way for users to upload and download files without being physically present at organization.
1.3 Problem Statement
Online File Sharing is practice of sharing files among different users across the Internet. Common forms of file sharing are FTP (File Transfer Protocol) model and P2P (Peer-to-Peer) file sharing network. Another common form of sharing files over the Internet is for a user to upload files to a website and allow other users to download them from the website. There are a lot of issues to consider when developing such a website.
Users of an online file sharing website who use features like upload, download, share, search etc would want a website that is very interactive and fast and not annoying with a lot of post backs and flashing screens. Another issue is the visualization of their file system where usually users have a limit to upload files. The normal web based file folder view would be good, but if there are other types of visualizations it would be great.
Another important issue to consider is the location where the website stores the uploaded files. Two places where one can store the uploaded files are Database and Server.
1.4 Document Overview
The rest of this documentation first discusses related work in Chapter 2, and then describes the implementation details of the website in Chapter 3. Chapter 4 describes the different visualizations designed and the advantages of having such visualizations. Chapter 5 presents the results obtained when storing files in database and storing files in the file system, and discusses the pros and cons of both techniques by analyzing them. Chapter 6 presents the conclusions and describes future work.