FreeDOM: a New Baseline for the Web Raymond Cheng, Will Scott, Arvind Krishnamurthy, Thomas Anderson University of Washington fryscheng,wrs,arvind,[email protected] ABSTRACT come platforms for further innovation. For example, rather Free web services often face growing pains. In the current than investing in the capital-intensive effort of mapping the client-server access model, the cost of providing a service world, companies like Apple and Foursquare can leverage increases with its popularity. This leads organizations that OpenStreetMap maps, allowing them to focus on their core want to provide services free-of-charge to rely to donations, business. As open source software enables new systems to advertisements, or mergers with larger companies to cope build on existing libraries, free web services can allow new with operational costs. services to leverage community contributions. This paper proposes an alternative architecture for deploy- However, unlike open source software, free web services ing services that allows more web services to be offered for aren’t really free. Wikipedia must raise large amounts of free. We leverage recent developments in web technologies money to support its server operations and bandwidth costs. to combine the portability of the existing web with the user- Some organizations, like Wordpress, freely release the tech- powered scalability of distributed P2P solutions. We show nology for their service, but leave it up to users to handle how this solution addresses issues of user security, data shar- hosting costs. Many developers of free apps are faced with ing, and application distribution. By employing an easily a dilemma: write a popular app and lose a little money, composable communication interface and rich storage per- write a viral app and lose a lot of money. As the success of missions, the FreeDOM architecture encourages flexible in- Wikipedia has shown, there can be enormous value to soci- teractions between applications while enforcing privacy con- ety and the rest of the web from services that do not leverage trols. We demonstrate the applicability of this architecture their data for financial gain. However, the number of free by presenting a SQL database and a community-supported web services will remain very small if they all must fund Wiki as case studies. their own operations and growth. Peer-to-peer (P2P) technologies provide a way to distribute Categories and Subject Descriptors data in a cheap and scalable manner, where resources scale with the user community. However, most P2P systems lack C.2.4 [Distributed Systems]: Distributed applications the portability, accessibility, and ease of use of the web’s client-server model. Heterogeneity in devices, operating sys- General Terms tems, and network configurations, makes the P2P model pro- Design, Reliability hibitive for most developers. While it is not our goal to remove all of the costs of de- 1. INTRODUCTION veloping a free web service, we do want to make it possible to scale web applications at very low cost. We leverage a Free web services, such as Wikipedia and OpenStreetMap, number of technology trends in support of our vision. The are some of the most influential sources of information in the explosion of new APIs and browser capabilities have trans- world. By offering open distribution and a rich collaborative formed the Web from a collection of static pages to a set environment, these services have provided value to count- of rich web applications, written within a write-once-run- less individuals and organizations, and they have in turn be- anywhere framework. Particularly interesting is the intro- duction of the ability for client browsers to directly commu- nicate with other client browsers, using technologies such as Permission to make digital or hard copies of all or part of this work for WebRTC [6], Socket APIs, and RTMP [4]. personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies In this paper, we propose an architecture for browser-based bear this notice and the full citation on the first page. To copy otherwise, to services that exposes flexibility beyond a traditional client- republish, to post on servers or to redistribute to lists, requires prior specific server model. This architecture is structured as a set of com- permission and/or a fee. Hotnets ’12, October 29–30, 2012, Seattle, WA, USA. mon services and a support library for applications. We ex- Copyright 2012 ACM 978-1-4503-1776-4/10/12 ...$10.00. 1 plain the primary benefits gained by this model: low cost can lead to both lock in and violations of privacy [18]. scaling, user privacy, application resiliency, and ease of de- The FreeDOM data model keeps users in control of their velopment, and why we believe it is important to create these data. We remove the motivation for applications to exploit services and popularize this broader form of web communi- users for revenue. Furthermore, we can integrate privacy- cation in the near future. preserving mechanisms like Tor [9]. This architecture evolved from the development of a dis- • Self-scaling infrastructure tributed database application, presented in Section 4. Our original goal was to offload computation from the server by There exists a wide body of research into scalable storage sharing client caches. We realized that much of the work systems, such as distributed hash tables [17, 16] and so- could be abstracted to provide a service layer for a broader cial backup services [15]. By integrating with the web, class of applications. The FreeDOM model in this paper is these applications can leverage the storage, network, and in early development, and the APIs and services we present computational resources of other users to create interest- are not finalized implementations. ing hybrid architectures. Self-scaling storage systems can In Sections 2 and 3 we motivate and explain our design. be used to mitigate flash crowds, employ smarter caching We then present our distributed SQL database that runs across techniques, improve locality of data, and of course lower browsers, and a model for a distributed wiki application as operating costs. case studies of the FreeDOM model in Section 4. Section • Resilient connectivity 6 discusses context and related work, and Section 7 con- Research has shown that the Internet suffers from frequent cludes. partial outages [14]. When a user accesses a traditional 2. MOTIVATION web app, it is up to the application developer to employ smart failover strategies. These solutions can entail sig- FreeDOM leverages evolving web standards in order to nificant engineering costs and code complexity for each empower developers to develop low cost self-scaling web additional “9” of reliability. By leveraging the inherent services. Wikipedia spent $1.8 million just on Internet host- distribution of users across the globe, FreeDOM applica- ing from July 2010 to June 2011, relying entirely on finan- tions can directly employ intelligent routing schemes that cial donations to support the foundation [1]. As existing P2P react to partial failures [5]. By removing dependencies software has shown, there exist ample excess resources on on central points of failure, distributed web apps may also end-hosts that can be leveraged to provide high-value ser- offer better DoS resistance. vices. • Composable services We hope that FreeDOM can lower the barrier of entry to community-supported applications. These applications Modern web applications are large vertical silos, contain- should operate seamlessly with the existing web experience, ing both the application itself and all user data. Some and require no extra effort from the user’s point of view. For services may expose parts of their functionality through example, there is no need to install a plugin or third-party custom outward-facing API’s. This practice places the software, as all of the necessary runtime elements now ex- burden on third-party developers to support each custom ist in the browser. Instead, users participate by accessing a API with which they want to interact. The FreeDOM FreeDOM-enabled web application as they would any other model encourages a common data sharing mechanism so cloud-backed web application. While there are a few widely that new services can be composed of common founda- used open source web applications today, we believe the web tional elements, like a reliable storage system or a social can easily support the same thriving environment that sur- graph. We see this model as a successor to Unix pipes, rounds Linux, where developers contribute and build upon where individual services can be chained together to pro- existing services. duce higher level functionality with minimal work. Perhaps just as exciting is the possibility of a new class of applications that are enabled by the evolving capabilities 2.1 Why Now? of the browser. By detaching applications from the strict Web technologies have reached the level where they can client-server model where users and their data are inherently provide a rich environment for applications and services. tied to the server’s infrastructure, we envision more flexible The browser as a platform is an enticing environment be- and interconnected applications. The FreeDOM architecture cause the assumption of untrusted code allows applications offers a number of additional benefits: to be run without worrying about risks to the user. Now that • User-controlled data this technology exists, our work aims to broaden the class of Modern web services collect a growing amount of per- applications supported by the web. sonal data. In part this is encouraged by the economics To motivate the need for FreeDOM, we must ask what the of supporting the service. Users tend to be at the whim browser won’t provide by itself. The broad answer is that of the web application, which can decide how much con- browsers are not going to solve issues of client-to-client re- trol a user ultimately has over their own data.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-