Computational REST:
A new model for Decentralized,
Internet-Scale Applications
Justin R. Erenkrantz
Final Defense
September 3, 2009
This material is based upon work supported by the National Science Foundation
under Grant Numbers 0438996 and 0820222. Any opinions, findings, and
conclusions or recommendations expressed in this material are those of the author
and do not necessarily reflect the views of the National Science Foundation.
Runaway success of the Web
Netcraft Site Count History
http://news.netcraft.com/archives/2009/07/site_count_history.png
Netcraft
239 million sites
30% are “active”
July 2009
http://www.worldwidewebsize.com/: 21.8 billion pages
The Nielsen Company
Average home user views
1,591 pages/month
May 2009
http://www.nielsen-online.com/resources.jsp?section=pr_netv
How did we get here?
In the early-to-mid-90s, the Web faced a
crossroads: how could the Web scale?
Software architecture, in particular, the
REpresentation State Transfer (REST)
style [Fielding, 2000] guided crucial
reformations introduced in HTTP/1.1
Permitted the superscaling of the Web
3
Puzzling web apps: Google Maps
4
Research Question
What happens when dynamism is
introduced into the Web?
5
Dynamism: Phenomena that must be explained
as a manifestation of change, whether through
interpretation or alteration of the interpreter.
Dramatis personae of the Web
REST: architectural style
HTTP/1.1: protocol governed by REST
URI: naming convention (http://...)
Apache HTTP Server: origin server
Squid: gateway and proxy
Firefox, Safari, Internet Explorer: user agent
6
REpresentation State Transfer
Started in mid ‘90s; captured in Fielding’s
dissertation (2000) and TOIT (2002)
Guided the reformations introduced in
HTTP/1.1 and URI specifications
Designed for Internet-scale distributed
hypermedia
Few (if any) clarifications since then...
7
REST Axioms
1. The key abstraction of information is a resource, named
by an URL.
2. The representation of a resource is a sequence of bytes,
plus representation metadata to describe th