Cs 8803 Advanced Internet Application Development Project Proposal for Back2Cloud: a highly scalable and Available Remote Backup Service Supraja Narasimhan Jerry Philip Lateef Yusuf Amit Warke

Download 23.62 Kb.
Size23.62 Kb.
CS 8803 Advanced Internet Application Development

Project Proposal for

Back2Cloud: A highly scalable and Available Remote Backup Service

Supraja Narasimhan

Jerry Philip

Lateef Yusuf

Amit Warke


To implement a Remote Backup Service that automatically syncs all of your important data to the Remote Cloud Computing framework provided by the Amazon Simple Storage Service (S3) for the purpose for data restoration in the event of any local data loss.


Many of businesses use tape based backup servers to save all of their important data for later restoration in the event of any data losses. However few realize that even these backup servers are susceptible to various kinds of failures such as server crashes, virus attacks, human errors, natural disasters etc. This would eventually lead to catastrophic loss of all data without leaving a trace. Such complete data loss would lead to closing of companies with losses running into millions of dollars. Also, backup and recovery plans require significant investment in infrastructure such as hardware, software, training of employees to manage the backup servers. Moreover a lot of time is spent in backing up data to the servers.

A more cost effective and efficient way to backup your important data would be to incorporate a Remote Backup Service into your business. A Remote Backup Service is one that provides users with a remote storage repository to backup their data, which can be accessible through the internet from anywhere in the world. Remote backups are very easy to implement and require only software installed on the user side. This software takes care of syncing data to the remote storage, thereby reducing the burden of maintaining infrastructure and backups, and can run at any scheduled time. Remote backups are inexpensive and restore data quickly from the remote servers in the event of a system crash by just the click of a button. In terms of security, too, these systems stand out as data is remotely transferred and stored as encrypted data. Only the owner of this data possesses the key to decrypt it for the purposes of read/write. We are providing a reliable and highly available remote backup service by leveraging the cloud computing framework. Our service would store data remotely on the Amazon S3 framework, which is a highly reliable and scalable data store.

The reason for choosing a cloud computing framework is that you can back up data to it anytime, from anywhere provided you have web access. The main motive to use Amazon S3 was to save the costs of hosting our own infrastructure and instead to use Amazon’s infrastructure to provide the backup service to customers. Amazon S3’s highly available, scalable, inexpensive, reliable and simple distributed data storage framework makes it attractive to implement our backup service on their systems. Also, the cloud can be accessed from anywhere in the world requiring just an internet connection and hence makes it possible for providing the backup service to mobile clients who could lose data anywhere and would just need an internet connection to connect to the cloud and restore their data.

Related Work:

In the spirit of providing IT as a service, cloud computing exploits the power of multiple linked servers to host web resources and web applications. Cloud computing platforms allow data and processes to be replicated and distributed over many globally accessible machines, such that failure of a single server will not result in data loss. The deployment of cloud platforms relieves users and enterprises of responsibility to operate and maintain servers, thus reducing the cost burden of building IT infrastructure from scratch.

A number of remote storage and backup applications available today tap into the strength of cloud infrastructure, each touting distinct interfaces and emphasizing different functionality. Among them, the Amazon Simple Storage System (S3) and Microsoft's SkyDrive offer basic storage features, while IBM Storage Optimization and Integration Services and Nirvanix CloudNAS highlight remote integration of locally distributed data. Apple MobileMe iDisk and Microsoft Live Mesh stress synchronization of stored data and Backblaze, Carbonite, CTERA and Mozy facilitate automatic remote backup.

We attempt to integrate a combination of different types of services described above and provide an application level and browser level interface to access backed up data. This could be helpful in cases where a user, whose system has crashed, needs to access backed up data from another working system.

Proposed Work:

We propose a highly available and scalable remote back service that backs up all of your important files to Amazon Simple Storage Service (S3), a distributed data storage framework belonging to the Amazon Cloud.

Our remote backup service would provide 5 different types of services:

  1. Auto Sync: Auto Sync or Automatic Syncing is a service which runs as a background Daemon process on a user’s system and automatically syncs all the files to the cloud. The service is startup process on a user’s system and starts when the user logs in to his system. This service allows a user to backup data to the cloud on a continuous predefined schedule (e.g. every three hours). This service is important for institutions such as financial companies and government agencies where data must be backed up at regular intervals for saving vital and sensitive information. The user must choose a time interval and a set of folders or hard disk partitions to run this service on. For e.g. if the user chooses to run this service on his /dev/sda1 partition with a time interval of three hours then the daemon would automatically backup all new and modified files to the cloud storage after every three hours.

  2. Manual Sync: Manual Sync or Manual Syncing is a service in which the user has to manually choose which files he would like to backup to the cloud. This service would be implemented as a Microsoft Windows’ shell extension in which user could backup data by using the right-click context menu. This service is useful for home desktop users who would like to backup their favorite music or video files to the cloud.

  3. Versioning: If time permits we would also like to include version control in which multiple versions of the same file could be backed up to the cloud. This is useful in software firms where a stable version of a source code could be backed up to the cloud while it is being modified by the user. If bugs appear after modification then the previous stable version from the cloud could be restored.

  4. Restore: The primary purpose of the remote backup service is to help restore the system back to its stable state in the event of a system crash or loss of data at the user side. We intend on providing two kinds of restore mechanisms:

  1. Clean Restore: all the user’s data is restored from the cloud to the user’s system

  2. Selective Restore: The user selects which files need to be restored and those files are accordingly fetched from the remote cloud and saved onto the system.

  1. Cloud Usage: The user can find out the amount of data that has been backed up to the cloud through his web browser. Using the browser and connecting to the cloud, the user can track what files have been backed up to the cloud. This tracking feature can help the user of this service in removing certain backups if those files are no longer necessary and reassures the user that all the files that should have been backed up are indeed present on the cloud.

Architectural Design: image.jpg

Figure 1: Architectural diagram of the Back2Cloud System

The remote backup service comprises of primarily two processes: windows shell extension C# process and a remote backup process written in Java that is directly interfaced with the cloud. When users decides to backup data or restore data, the shell extension process interacts with the Remote backup process written in Java running on the user’s system through a software pipe or some form of inter-process communication and gives it the names of the files to be restored or backed up. The Remote backup process interacts directly with the cloud, it fetches the files from the user’s system and stores it in the cloud if it’s a backup request or it fetches the data from the cloud and gives it to the user if it is a restore request. Both the remote back up process and the shell extension process are running on the user’s system. The cloud usage service would be implemented in PHP using the ZenD framework.

Plan of Action:

Week 6-7

Research and background work on the Amazon S3 cloud and also configuring the cloud for our project needs

Week 8-9

Developing the Remote backup process to backup data to the cloud and the windows shell extension process to create the context menu for user interaction

Week 9-10

Integration of the windows service process with the Remote backup process and the Amazon S3 cloud and implementing the various services to be offered

Week 10-11

Website developed using PHP scripting to list/view the files present in the cloud

Week 12-13

Implementing and testing the Restore Service and if time permits we would also incorporate version control into the system

Evaluation and Testing Method:

Internet and storage are the two driving factors of the Remote Backup Service and hence it is important to test the network bandwidth usage in transferring data between the user’s system and the remote cloud. We would test the reliability of the service under heavy and light workloads and compare its performance to that of different remote backup service providers. We could try and test different techniques to reduce the network bandwidth usage and storage requirements by saving only the ‘diffs’ of files already present in the cloud and see if there are any performance improvements.


  1. Remote Backup Service Wikipedia Article. http://en.wikipedia.org/wiki/Remote_backup_service

  2. Three Reasons for Online Backup. http://free-backup.info/three-reasons-for-online-remote-backup.html

  3. Continuous Data Protection Wikipedia Article http://en.wikipedia.org/wiki/Continuous_data_protection

  4. Top Ten Reasons to use SPS Remote Backup. http://www.harding-group.com/Top%20Ten%20Reasons%20To%20Use%20SPS.pdf

  5. Data Backup: Top 7 reasons you should Backup your data online. http://top7business.com/?id=722

  6. Amazon Simple Storage Service (S3). http://aws.amazon.com/s3/

  7. Miller, Michael. Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online. United States: Que, 2009: 5-10. 9 Feb 2009. http://www.informit.com/content/images/9780789738035/samplepages/0789738031_Sample.pdf

  8. IBM Press Room. "IBM Introduces Ready-to-Use Cloud Computing." 15 Nov 2007. 9 Feb 2009. http://www-03.ibm.com/press/us/en/pressrelease/22613.wss

Download 23.62 Kb.

Share with your friends:

The database is protected by copyright ©ininet.org 2022
send message

    Main page