-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathintroduction.tex
More file actions
79 lines (61 loc) · 7.29 KB
/
Copy pathintroduction.tex
File metadata and controls
79 lines (61 loc) · 7.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
\chapter{Introduction}
In the last few years, we have witnessed a clear shift from Personal Computers and local storage to multi-device access and cloud storage services. The Personal Computer (PC) paradigm is slowly waning as traditional PCs are being outnumbered by other devices like smartphones and tablets. This means that in the next years users will access their digital lives in the cloud from a variety of heterogeneous devices and platforms. This is clearly reflected by the massive adoption of services like Dropbox, Google Drive or OneDrive, among others. The term ``Personal Cloud'' has been coined in the last years to reflect this trend and many analysts forecast a bright future for these solutions~\cite{forrester}\cite{gartner}. To clarify the term we propose here the so-called 3S Personal Cloud Definition:
\textit{The Personal Cloud is a unified digital locker for our personal data offering three key services: Storage, Synchronization and Sharing. On the one hand, it must provide redundant and trustworthy cloud data storage for our information flows irrespective of their type. On the other hand, it must provide syncing and file exploring capabilities in different heterogeneous platforms and devices. And finally, it must offer fine-grained information sharing to third-parties (users and applications).}
However, despite their broad adoption, very little is known
about the QoS of Personal Clouds and how providers implement their services. Furthermore,
there is no public information about the control policies that
Personal Clouds enforce, as well as the factors
impacting on their service performance.
The goal of this work is twofold. Firstly, we present a measurement study of various Personal Clouds.
Concretely, during two months, we have actively measured the REST API service of Dropbox, Box and SugarSync
\textit{free accounts}. We gathered information from more than $900,000$ storage operations, transferring
around $70$TB of data. We analyzed important aspects to characterize their QoS.
Secondly, we study how different providers tackle the problem of synchronizing files. For answering
this question, we developed a realistic trace generator and extended a recent benchmarking tool proposed by
\cite{drago2013benchmarking} to compare Personal Cloud solutions.
\section{Motivation}
Despite the much trumpeted success of the so-called cloud storage revolution, exemplified by Dropbox and the
likes, little is known about the architecture of these commercial solutions, and existing open source alternatives
(e.g., ownCloud\footnote{\url{ http://owncloud.org/ }}, SparkleShare\footnote{\url{ http://sparkleshare.org/}})
fall short of addressing all the requirements of the Personal Cloud, mainly in terms of scalability and extensibility.
In this sense, architecturing a Personal Cloud is not trivial, as this model is still in early stages, and no reference architecture exists.
Architectural complexity is well captured by file synchronization, as the success of Personal Cloud services
lies in great measure in the scalability of their sync services and sync protocol. In this cloud paradigm, a desktop client
software typically keeps all the files in a specified folder in sync with the servers, automatically synchronizing changes across the devices of the same user. Since files can be shared with other users, changes in
shared folders must be also synced with every account that has been given access to the shared folders.
Therefore, a practical implementation of an open Personal Cloud requires making a big effort. In
this context, the CloudSpaces project (\url{ http://cloudspaces.eu/}) , which was initiated
in the frame of European Commission's FP7-ICT programme, attempted to fill this gap. Concretely,
we developed StackSync, an open source Personal Cloud. Our reference implementation includes the
software necessary to run a basic Personal Cloud, in this work we put more emphasis on the sync protocol, which
is the core service of any Personal Cloud. Since a serious impediment to progress in cloud storage
research is the lack of a standard framework, we hope to provide a useful framework for developing
and testing new ideas in a relatively easy manner.
After almost two years developing StackSync, we found the necessity to compare it with
private and commercial solutions to understand how it performs. It was in that moment when we realized
that it was impossible to find public traces from real users containing both the files and the history
of modifications to those files that allowed us to evaluate our file-syncing service.
Besides the traces, we also found the necessity to use a benchmarking framework for Personal Clouds, but the
ones available were too simple and not enough to analize deeply their performance.
\section{Contributions of this Thesis}
Our major contributions are the following:
\begin{itemize}
\item \textbf{Analysis of the state-of-the-art}. Prior to designing our solution, we study current approaches concerning Personal Cloud systems which is reported further in this manuscript.
\item \textbf{Measurement of Personal Cloud services}. We present a measurement study of various Personal Clouds: Dropbox, Box, and SugarSync.
\item \textbf{Improvement of an existing benchmarking framework}. In order to study the performance of Personal
Clouds synchronization protocols, we developed some new benchmarks on top of an existing benchmarking tool.
\item \textbf{Generation of realistic traces}. To simulate user behavior in our benchmarks, we created a
generator of realistic traces. Thanks to this tool, we could create workloads with both files and the history of modifications.
\item \textbf{Benchmarking of Personal Clouds Synchronization}. In this part, some Personal Clouds, including StackSync, have
been extensively tested using generated traces to analyze the efficient use of resources.
\end{itemize}
\section{Thesis structure}
After this brief introduction, Chapter 2 introduces the background needed to understand concepts
and definitions that we will use throughout this thesis. Among others, it discusses existing Personal Cloud solutions and presents the architecture of StackSync. Chapter 3 focuses on the related work of Personal Clouds.
Measurement methodology and data analysis is explained in Chapter 4. While Chapter 5 focuses on the design and implementation of the traces generator and how we modified the benchmarking tool developed by Drago et al.~\cite{drago2013benchmarking} to conduct trace-driven experiments with the output of our generator. We finalize this chapter showing the results obtained.
We conclude this thesis in Chapter 6, where we draw some conclusions and enumerate the achieved goals through our study. Finally, we propose future work which can be performed on the topic of this Master Thesis.
\section{Publications}
\begin{itemize}
\item Ra{\'u}l Gracia Tinedo, Marc S{\'a}nchez Artigas, Adri{\'a}n Moreno Mart{\'i}nez, Cristian Cotes and Pedro Garc{\'i}a L{\'o}pez. \textit{"Actively Measuring Personal Cloud Storage"}. In the 6th IEEE International Conference on Cloud Computing. 2013, Santa Clara Marriott, CA, USA.
\item Pedro Garc{\'i}a L{\'o}pez, Marc S{\'a}nchez Artigas, Sergi Toda and Cristian Cotes. \textit{"StackSync: Bringing Elasticity to Dropbox-like File Synchronization"}. ( Submitted to the 15th International Middleware Conference. December, 2014, Bordeaux, France).
\end{itemize}