\documentclass[twocolumn]{article}
\usepackage{fullpage}

\title{Peer-to-Peer Web Caching for Cellular Phone Networks}
\author{Raluca Ada Popa and Irene Zhang}
\date{\today}
\begin{document}
\maketitle

\begin{abstract}
  Recently, an increasing number of cellular phones have WiFi
  capabilities. While cellular phones generally have slow data rates
  through the cellular infrastructure, with WiFi, phones can establish
  ad-hoc links with neighboring phones that are up to 1000 times
  faster. Our goal is to exploit these high speed ad-hoc links to
  reduce the latency for accessing web content. We propose a system in
  which phones can fetch cached content from neighboring phones to
  improve performance for commonly accessed data.
\end{abstract}

\section{Research Methods}
 
Our system consists of cellular phones (also referred to as nodes or
peers) that communicate with other nearby nodes via relatively high
speed WiFi connections (about $11$ Mbps). These phones are also
connected to an infrastructure system from which they generally fetch
web content. These infrastructure links have a much slower data rate
than the ad-hoc links, generally around $10$ Kbps. Our system will
take advantage of these fast ad-hoc links by fetching common content
from a nearby cell phone. If a cell phone manages to find a desired
web page from the cache of a neighboring node, then fetching this page
from the neighbor is about $1000$ times faster than requesting it via
the cellular infrastructure. We will include more specific evaluation
results in the final paper.

In our system, nodes use a peer-to-peer ad-hoc protocol for learning
about the contents and fetching data from the caches of their
neighbors. We start by reviewing existing ad-hoc routing protocols
such as Orion and
DPSR~\cite{klemm03:_special_purpos_peer_to_peer,hu03:_exploit_syner_between_peer_to}. Then,
we adapt them to (or create a new design for) the specifics of our
system:
\begin{itemize}
\item \textit{Battery Consumption.} It is important for our system to
  avoid significant consumption of the cell phone battery for serving
  content to other peers because otherwise users will refuse to use
  the system. For instance, a situation that is undesirable is when
  one node sends a web page to all neighboring nodes needing it. Nodes
  that fetch content should also serve the content to other requesting
  nodes. A simple solution to load balancing may be for each peer to
  download from the closest peer that has its desired content in the
  hope that a balanced number of peers will be closest. We may explore
  more sophisticated solutions if necessary.

  Moreover, we would like to make downloading decisions based on the
  remaining battery at the
  peer~\cite{papadopouli00:_seven_degrees_of_separ_in}. If the
  remaining battery at a peer is low, we might exempt this peer from
  uploading content to other peers.
\item \textit{Security and Privacy.} We would like to avoid situations
  when a node sends forged content to another node. Furthermore, we
  would like to protect the privacy of nodes that serve content. A
  node should not be able to tell who provided the content because
  this violates the privacy of the sender (for instance, this is
  undesirable in the case of compromising content).
\end{itemize}

We are also considering generalizing the system to be application-independent. Peers should be able to use our platform for image and video sharing as well. 

For the system implementation, we envision the following changes.  
\begin{itemize}
\item \textit{Application Level.} We will implement a back-end to the
  cellular phone's browser. This back-end enhances the code that
  fetches web pages from the infrastructure with an initial look-up in
  the web cache provided by the ad-hoc cellular network.
\item \textit{Transport Level.} We may establish TCP
  connections between nodes, or use a more light-weight protocol to
  reduce the overhead incurred when using our system. We have not investigated yet if these protocols would suffice for our cellular framework.
\item \textit{Network Level.} We will implement routing protocols for
  broadcasting requests and fetching data from the closest peer. We
  are also considering eagerly caching content that another peer in
  our WiFi range is downloading.
\end{itemize}

We envision evaluating our prototype in the following ways.
\begin{itemize}
\item Compare the performance of fetching a web page that a
  neighboring cell phone possesses against fetching it through the usual
  cellular infrastructure.
\item Use benchmarks (using ~\cite{squid}) to simulate Internet traffic to
  evaluate the cache hit rate when using cached content from nearby
  phones.
\item Evaluate the additional battery consumption incurred by cell
  phones using our service in a typical setting.
\end{itemize}
 
\section{Schedule}
\begin{itemize}
\item[\textbf{3/21/08}] Finish designing and implementing the routing
  protocol.
\item[\textbf{4/11/08}] Finish implementing the rest of the system and
  have a working get/put interface for the web cache.
\item[\textbf{4/25/08}] Finish implementing the system including the
  browser modifications. Have an operational system to begin testing.
\item[\textbf{5/2/08}] Perform tests, simulations, and demos.
\item[\textbf{5/9/08}] Finish any adjustments to the system based on results of tests
  and simulations.
\item[\textbf{5/15/08}] Finish the final report.
\end{itemize}
\section{Resources}
\begin{itemize}
\item Phones with a programming platform for implementing the proposed
  system.
\end{itemize}
\section{Questions}
\begin{itemize}
\item Are there significant differences between wireless on laptops
  and wireless on cellular phones? If so, where can we learn more
  about the differences?

%   Where can we learn more about the specifics and constraints of
%   wireless on cell phones as different from laptops?
\end{itemize}

\bibliographystyle{abbrv}
\bibliography{proposal}

\end{document}
