The population of mobile users has largely increased today. Mobile data storage cards have become vulnerable and prone to failures. There is a necessity of having a powerful data recovery tool for mobile phones. Cloud can be a good solution to this problem. Android is an emerging open source OS which has made mobile application development easier. We discuss this project idea in following slides.
To create a data repository on cloud which would be connected with user's Android phones through the means of GPRS or Wi-Fi. The repository would store the contacts, text messages and images sent from the Android phone in a personalized data storage and enable users to access it anytime from any Android phone. It should also provide the option of selecting other users to share the data with. Problem Statement
FEATURES : It provides a choice of different protocols while connecting to the network. It provides personalized data storage. It provides following features: Sync Share Backup history
This project deals with mainly two technologies viz. Cloud Computing ‾ Used for data storage at the server site Android ‾ Provides a GUI to the user
What is cloud? ◦ Cloud is a model of networked computer data storage where data is stored on multiple virtual servers, generally hosted by third parties, rather than being hosted on dedicated servers. ◦ It takes the form of web-based tools or applications that users can access and use through a web browser as if it were a program installed locally on their own computer. What is cloud computing? ◦ It is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand. ◦ Details are abstracted from the users, who no longer have need for expertise in, or control over, the technology infrastructure "in the cloud" that supports them.
Key features of cloud: ◦ Device and Location Independence enable users to access systems using a web browser regardless of their location or what device they are using ◦ Multi-tenancy enables sharing of resources and costs across a large pool of users ◦ Reliability is improved if multiple redundant sites are used
Literature Survey: Cloud Computing (3) Key features of cloud: ◦ Security could improve due to centralization of data, increased security-focused resources ◦ Scalability via dynamic ("on-demand“) provisioning of resources ◦ Low Maintenance they don't have to be installed on each user's computer
Deployment Models: Public Cloud: A third party owns the cloud. Community Cloud: Organizations of similar requirements create such clouds. Hybrid Cloud: Formed by integrating multiple cloud services. Private Cloud: Owned by a single enterprise.
What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to develop applications on the Android platform using the Java programming language.
Android Features: Application Framework Enables reuse and replacement of components Dalvik Virtual Machine A VM optimized for mobile devices Integrated Browser Based on the open source Webkit engine
Literature Survey: Android(3) Android features: SQLite Database for structured data storage Rich Development Environment Includes an emulator, tools for debugging, performance profiling, and a plugin for the Eclipse IDE
Android Architecture: Literature Survey: Android (4)
Android Application Framework Open development platform Offers developers the ability to build extremely rich and innovative applications Developers are free to: take advantage of the device hardware access location information run background services
Android Activity Manager Android Libraries SQLite (Local Database) C lient connection module Server connection module CLOUD (Google’s data store) USER
SQLite and Google’s data store are the databases used in this project. SQLite is a database used at client site for data storage i.e. in the android phones. Google's data store is used at the server site for data storage (on cloud)
Client site technologies: Android SDK SQLite Server site technologies: Google Web Toolkit Google App Engine GQL
Android SDK Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to develop applications on the Android platform using the Java programming language.
Technologies: Client Site (2) SQLite It is a self-contained, server less and transactional embedded Relational Database engine. Stores local application data on a android phone. It is an open source, stand alone SQL database widely used in many applications today. A database can be created in SQLite by creating a subclass of the SQLiteOpenHelper class. The database can be queried using the SQLitedatabaseQuery() methods.
Google App Engine: Google App Engine enables to build and host web apps on the same systems that power Google applications. App Engine offers fast development and deployment; simple administration, with no need to worry about hardware effortless scalability.
GQL GQL is a SQL-like language for retrieving entities or keys from the App Engine scalable data-store. The google’s data-store is an object oriented database. It stores data in the form of objects pre-defined through coding. Connection with the database is made through Java Data Objects (JDOs).
Use of this application is restricted to Android users. The address space is restricted to 1GB until the application is deployed on a larger database. Restricted power resources of Mobile phones is a problem. Use of internet on current mobile phones is costly.
Other sync and share applications can be constructed on similar grounds for platforms other than Android. Other data such as Calendars, Projects Planners, Video files can be made available on cloud. Efficient algorithms could be implemented in order to store large amount of data in a compressed format.
This product would make data recovery (in case of any data loss of if some unavailable data required) easier as the data is stored at a remote place. This would add a sharing facility which is an unimplemented feature in other sync applications.