| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 2.23 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
While several proposals for the specification and implementation of various
consistency models exist, little is known about what is the consistency currently
offered by online services with millions of users. Such knowledge is important,
not only because it allows for setting the right expectations and justifying the
behavior observed by users, but also because it can be used for improving the
process of developing applications that use APIs offered by such services and
for creating tools that facilitate this process. To fill this gap, in the first part
of this thesis, we present a measurement study of the consistency of the APIs
exported by four widely used Internet services, the Facebook Feed, Facebook
Groups, Blogger, and Google+. To conduct this study, our work develops a
simple, yet generic methodology comprising a small number of tests, which
probe these services from a user perspective, and try to uncover consistency
anomalies, and reports on the analysis of the data obtained from running these
tests for a period of several weeks. Our measurement study shows that some of
these services do exhibit consistency anomalies, including some behaviors that
may appear counter-intuitive for users, such as the lack of session guarantees
for write monotonicity. The results show that developers have to deal with
consistency anomalies, to provide consistency guarantees they need.
To address the challenge of enforcing consistency guarantees on top of existing
systems, in the second part of this thesis, we show that it is possible to
deploy a middleware between the application and the service, which enables a
fine-grained control over the session guarantees that comprise the consistency semantics provided by these APIs, without having to gain access to the implementation
of the underlying services. Our solution intercepts all interactions
of the client with the online service and uses four different algorithms to enforce
each of the session guarantees and also their combination. We evaluated
our middleware using the Facebook public API and the Redis data store, and
our results show that we are able to provide fine-grained control of the consistency
semantics, while incurring in a small local storage and modest latency
overhead.
Descrição
Palavras-chave
Consistency Distributed Computing Middleware
