han restricting themselves to their traditional role as consumers.
Increasing popularity of open source projects
and the consequent demand when a new release is out,
(e.g.downloading the latest ISO images of Linux distributions
in the first few weeks of its release) is overwhelming.
The traditional solution is to add mirror sites or install
a distributed hosting service like Akamai. However, there
is a significant cost associated with establishing a content
distribution network or establishing a global pool of mirrors.
Thus the challenge to content providers is scaling
their content delivery to large audiences. To address this
problem, swarming protocols such as BitTorrent [5] and
Slurpie [8] have been proposed. Their goals are scalable
and economic content delivery by combining peer-to-peer
networking with parallel downloads.
Swarming is a peer-peer content delivery mechanism
that utilizes parallel download among a mesh of cooperating
peers. Scalability is achieved since the system
capacity increases with the number of peers participating
in the system. The design space of swarming protocols
is large and there are many dynamics involved. Recently,
some models have been proposed to understand such dynamics
and evaluate the scalability of these swarming protocols
[1, 2].
Limited access to the Internet while driving [4] contrasts
with the ever increasing dependence on Internet services.
This motivates a compelling application of Co-operative
Networking in the Vehicular Ad-Hoc network. The Ad Hoc
network extends and complements the Internet. Wireless
communication is inherently broadcast in nature, i.e. many
nodes in the transmission range of a sender may receive a
transmission from the sender. This drives us to explore different
design paradigms from the ones used in typical wired
settings.
In Ad-Hoc nets, every node acts as a router for other
nodes in a multi-hop wireless scenario. Thus, cooperation at
the network level can be resonated at the application level.
For instance, a node that is forwarding some packet for its
neighbor may find the data in the packet useful. It has been
proposed in [6] to cache data for later use by other nodes in
the vicinity using a cooperative mechanism. Consider a Ve-