Storage optimization for a peer-to-peer video-on-demand network.
-
Citations (0)
-
Cited In (0)
Page 1
Storage Optimization for a Peer-to-Peer Video-on-Demand
Network
∗
Jagadeesh M .Dyaberi, Karthik Kannan, and Vijay S. Pai
Purdue University
West Lafayette, IN, USA
jdyaberi@purdue.edu, kkarthik@purdue.edu, vpai@purdue.edu
ABSTRACT
This paper explores requirements for efficient pre-seeding of video-
on-demand (VoD) movie data onto numerous customer set-top
boxes in a cable ISP environment. The pre-seeded content will
then be distributed to other set-top boxes in the same cable com-
munity using a peer-to-peer (P2P) network protocol such as BitTor-
rent. The challenges and solutions required for P2P VoD provided
by a fixed provider such as a cable company are fundamentally dif-
ferent from those seen in traditional P2P networks or client-server
VoD solutions.
Our work pre-positions data into set-top boxes using a mathe-
matical programming algorithm. The objective of the algorithm
is to minimize uplink traffic, given a popularity model for var-
ious pieces of content and information about storage and band-
width capacity constraints at the customer nodes. Given the com-
plex non-linear nature of P2P interactions, these mathematical pro-
grams are solved using non-linear optimization approaches. Us-
ing a BitTorrent-like peer-to-peer data delivery system, we show
through extensive simulations that our mathematical model for pre-
seeding data based on object popularity and node bandwidth avail-
ability leads to noticeably greater reductions in uplink traffic and
VoD server load than a weighted-random pre-seeding scheme that
only considers object popularity.
Categories and Subject Descriptors
C.2.4 [Computer-Communication Networks]:
Systems–DistributedApplications;
Communication Networks]: Local and Wide-Area Networks–
Internet; H.5.1 [Multimedia Information Systems]: Video
Distributed
[Computer-
C.2.5
General Terms
Performance, Experimentation, Design, Measurements, Algo-
rithms
∗This work is supported in part by the National Science Foundation
under Grant Nos. CCF-0532448 and CCF-0621457, and by AT&T
Labs under a VURI award.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
MMSys’10, February 22–23, 2010, Phoenix, Arizona, USA.
Copyright 2010 ACM 978-1-60558-914-5/10/02 ...$10.00.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Nov-08Dec-08Jan-09Feb-09Mar-09
Month
Apr-09May-09Jun-09Jul-09
Relative growth of subscribers
Figure 1: Relative growth in VoD subscribers from November
2008 to July 2009
Keywords
Video-on-Demand, Multimedia Streaming, BitTorrent, Peer-to-
Peer, Experimental Systems, Nonlinear Programming
1.INTRODUCTION
As systems such as voice, video, and data communication merge
onto a single IP-network delivery platform, users are likely to ben-
efit with a greater number of choices and more content control [10].
Consequently, cable companies have made significant investments
in systems that seek to deliver high-bandwidth digital content (e.g.,
Video-On-Demand service for full length, high-definition movies)
to consumers. Users have responded with an ever-increasing num-
ber of IPTV/cable VoD subscriptions and views.
Apart from IPTV and cable VoD, VoD on the Internet has also
grown. Several companies like Amazon, Hulu, and YouTube have
expanded their offerings significantly in the past year [1, 3, 4]. In
this paper, we focus solely on IPTV/cable-based VoD.
Figure 1 shows the relative increase in US IPTV subscribers for
a major IPTV provider from November 2008 to July 2009, with the
month of November considered as the base month. Data shows an
average subscriber increase of 7.5% per month. Figure 2 shows the
number of VoD requests made per-day by all the IPTV customers
between February 2009 to July 20091. This Figure shows a growth
in VoD requests over the five-month period. There are approxi-
mately 75% more requests made per-day in July than in February.
1Both graphs show relative numbers or no numbers on the y-axis.
We cannot provide the absolute numbers on the y-axis due to a
confidentiality agreement with the content provider.
Page 2
Number of VoD requestsNumber of VoD requests
Figure 2: Number of VoD requests per day from February 2009
to July 2009
The vertical columns represent the number of VoD requests made
per day, with spikes on weekends. The line with markers on the
graph represents the average number of daily VoD requests for each
week. The increase in subscribers and VoD requests and content
pose huge challenges to IPTV providers as they seek to meet the
required QoS.
IPTV service providers currently employ a unicast data delivery
model. Figure 3 illustrates this data delivery model. All the VoD
data is streamed from the regional or national-level video hubs to
the requesting viewers. Viewers in this environment use a set-top
box (STB) provided by their service provider to access IPTV con-
tent. The local community switch (DSLAM) is connected to re-
gional video hub servers via an uplink connection, which currently
has a bandwidth of around 1 Gbps [10]. This uplink becomes a
bottleneck in determining the number of concurrent viewers when
using unicast data delivery. The unicast delivery model is not eas-
ily scalable to thousands of clients. Further, the introduction of
High-Definition (HD) format further strains the uplink, as it re-
quires three times more bandwidth than Standard-Definition (SD).
One solution to meet the increasing demand for VoD content is
to increase the bandwidth of the uplink between the community
and the server hubs. This infrastructure upgrade is very expensive
and could result in underutilization of link bandwidth if there are
only a few concurrent active viewers at any time. A feasible so-
lution to reduce uplink load and extend the network is to use P2P
communication among set-top boxes in a community. Although
set-top boxes can store viewer-selected content through resources
such as DVR (Digital Video Recorder), they are essentially largely
under control of the system provider. Thus, the system provider
may use their resources as a way of extending the capabilities of
the network. IPTV providers can reserve part of the DVR capacity
and also the upload bandwidth from a household for their purpose
of extending the network. This approach could exploit any unused
bandwidth in the community network and any unused capacity in
the user set-top boxes.
The other likely bottleneck that can occur at the regional server
hubs is the server disk bandwidth. Although disk arrays can help to
improve aggregate bandwidth, their effective throughput may nev-
ertheless belimited by disk allocationand workload characteristics.
Hence to satisfy the real-time constraint of video data delivery, ser-
vice providers may have to employ several servers to meet the re-
quest demand, incurring substantial costs for deployment, power,
cooling, and space. By instead offloading data transfer to the com-
munity P2P network, the disk bandwidth problem is also alleviated.
Figure 3: IPTV architecture
Previous work by Choe et al., called Toast, has modified the Bit-
Torrent protocol to enable peers (set-top boxes) to stream data to
each other, while still using the origin VoD servers to provide data
chunks when no peer could provide the data in a timely fashion
[11]. Toast modified the BitTorrent piece selection policy and eval-
uated various peering systems including one in which peers con-
tinue to serve data even after they have completed viewing their
streaming media. The experimental evaluation of Toast showed
that the P2P system can offload up to 70-90% of data demand from
the origin server for a single media stream, thus validating the use
of P2P communication for streaming. However, this model was
not applied to a full VoD library, nor can it be trivially extended as
such.
This paper demonstrates challenges and solutions to deploying
P2P data delivery for video content delivery of a large number of
movies in a fixed-provider environment. First, porting a traditional
P2P model into a environment that is largely centrally-controlled
would underutilize the available resources. If end nodes are en-
tirelyresponsibleformakingdecisionsaboutwhichcontenttostore
based on their own on-demand viewing, the system will not be in-
creasing its capabilities whenever end nodes are idle. This is a sub-
stantial issue in situations like home VoD that typically see idleness
for most of the day followed by a brief period of high activity in the
evening and early night. Instead, the system should try to preload
desired data onto the set-top boxes and thus make all set-top boxes
active participants in the P2P network even if they are not consum-
ing P2P resources. Figure 4 shows the average number of requests
from STB’s during the entire 24 hour period [9]. We observe a low-
load period between 2–8 AM where the graph reaches its lowest
points. This provides the service provider an excellent opportunity
to pre-seed data onto set-top boxes with minimal disruption to the
viewers.
Second, the issue of set-top box capacity becomes a concern
whenconsideringallthecontentavailablefromtheprovider(which
can reach thousands of movies). The total capacity among all the
set-top boxes in a community is far less than the capacity needed
to store all the movies, so only a subset of the total content can
be stored in the community. Further, if the movies are encoded in
High-Definition, capacity becomes an even greater constraint.
Third, bandwidth is closely tied with capacity as both must be
considered jointly to maximize overall streaming efficiency. This
Page 3
10001000
1500 1500
20002000
25002500
Number of requests
0
500
1:002:003:004:005:006:007:008:009:00
10:0011:0012:0013:0014:0015:0016:0017:0018:0019:0020:0021:0022:0023:00
0:00
Number of requests
Time
Figure 4: Average number of VoD requests during a 24-hour
period [9]
is a concern as all networks currently exhibit substantial asymme-
try between the uplink and downlink bitrates at any given end node
(typically about an order of magnitude). If each end node has an
uplink of 1 Mbps, it would require six sources simultaneously con-
tributing data to satisfy a single request for a HD-quality streaming
movie encoded at 6 Mbps; each of these sources would be fully sat-
urating its uplink. This issue now relates back to capacity, because
offloading a substantial amount of streaming traffic onto the P2P
network requires that enough copies of the data exist in the net-
work to account for the asymmetry in uplink and downlink rates.
This requires replication, which reduces the effective aggregate ca-
pacity in the network and makes the subset of content that can be
stored in the network an even smaller fraction of the total.
Because the P2P network can only store a subset of the data con-
tent available, any preloading solution must intelligently choose
which data to load and replicate. An effective decision would re-
quire an understanding of the popularity of different pieces of con-
tent, as the greatest benefits would arise from replicating the most
popular content. At the same time, the high demand for these most
popular videos would require extensive replication to be able to
support as many simultaneous requests as are likely to arrive.
This paper presents and prototypes intelligent capacity alloca-
tion policies using mathematical models that seek to maximize the
streaming availability and efficiency within the community net-
work. Putting together capacity and bandwidth constraints, the
mathematical models are used to build up a “presence matrix”
of pieces of content by carefully considering capacity constraints
(making sure that no given node is assigned too much data) and
bandwidth constraints (making sure that no node’s uplink is overly
strained by heavily replicating the most popular pieces of content
and distributing the popular content across different sets of nodes
so that no node is particularly more demanded than others) while
optimizing for an objective function. The current objective func-
tion is to minimize the aggregate bandwidth demand at the servers.
Real-time data delivery is guaranteed by building this on top of the
Toast infrastructure, which falls back to the origin server if no peer
can deliver the requested data within the expected real-time con-
straint [11]. Experimental results obtained via simulations show
that using our intelligent capacity allocation, we are able to reduce
central server load by 50%. The optimized allocation scheme out-
performs a popularity-aware heuristic solution (weighted random
allocation). Optimized allocation is also quite robust in the face of
unexpected popularity shifts.
The rest of the paper is structured as follows: Section 2 pro-
vides background on IPTV and the BitTorrent protocol. Section 3
describes our system setup and the optimization algorithm. Exper-
iments and results are discussed in Section 4 while related work is
described in Section 5. Section 6 concludes the paper.
2.
2.1
BACKGROUND
IPTV characteristics
In an IPTV environment, customers are provided with a set-top
box (STB) to connect to the network and be able to access the IPTV
service. Almost all STBs have an in-built hard-drive to use the STB
as a DVR. Hard drive capacity of the STBs exceed 100 GB and
with storage getting cheaper every year, this number will increase
rapidly as time progresses [19]. These STBs are always on, since
customers generally do not power down the STBs by unplugging
the power cord from the electrical wall socket. Thus there is no
“churn” in the system and the STB resources are always readily
available. IPTV service providers must decide how best to exploit
the resources provided by these STBs to enhance their services,
thus maintaining consumer satisfication and profitability. Hence it
is important to study user viewing behavior to help decide the right
content that needs to be pre-seeded on the STBs. To this end, we
analyzed the viewing habits of users all who are served by the same
regional hub. Characteristics influencing viewing behavior include
recency of content and certain external factors like the occurrence
of major events.
One of the interesting trends we observe from our analysis of
actual IPTV logs is that between any two consecutive weeks, the
titles of videos viewed overlap by as much as 47%. Although the
number of views of these overlapped videos reduces in the second
week, they still make up significant numbers. Analysis shows that
recently introduced content (for example, movies added to the con-
tent library at the beginning of the week) are 52% more likely to
be viewed than movies that have been part of the content library
for a longer time. We observed that six of the ten most popular
movies (including all of the top five) for the week were added to
the content library at the beginning of the week. Amazon’s VoD
service also showed the same trend where the seven of the top ten
movies were recently introduced content [1]. Apart from movies,
TV shows for which episodes were aired in the previous week tend
to be viewed more on the day after or in the following week. Hence
if a certaincommunity is consistently viewinga particular TV show
in high numbers, then it is easily predictable that they will continue
to watch the same show and mostly the recently aired episodes.
External factors like the death of a celebrity or the winning of
major awards can also contribute to viewing patterns. For exam-
ple, after the death of Michael Jackson, videos featuring the artist
increased in popularity. CNET UK reported that the week after
Michael Jackson’s death, 25 of the top 30 music videos on iTunes
belonged to Michael Jackson [2]. In the previous week, there were
no videos of the artist among the top sales. The other example of
the influence of an external factor is the wining of major awards
by a movie. Thus in the week following the Oscar awards, award
winning movies are far likely to be viewed than movies that are not.
Our data analysis showed that viewing of Vicky Cristina Barcelona,
a previously less popular movie, increased by 600% in the week
following its receiving an Oscar award.
2.2BitTorrent
BitTorrent has become the most popular file distribution proto-
col on the Internet [13]. This is primarily due to its efficiency and
speed in transferring files. Previous P2P systems usually consisted
primarily of a method to search for and locate files shared on the
Page 4
network. Once found, a peer simply requested the file from another
peer, which transferred it using HTTP or a similar protocol. These
systems were primarily differentiated by their methods of locating
content, but were all similar with respect to their transfer methods.
BitTorrent on the other hand ignores the search problem. Instead,
it relies on web sites or other common distribution methods to dis-
tribute small files called torrent files (sometimes called “dot tor-
rent” files, due to their filename extension), each of which is essen-
tially a descriptor of a file or group of files to be downloaded. Each
file to be distributed has its own torrent file, and the group of clients
downloading a particular torrent is called a swarm. Each swarm is
independent and self-contained, but individual clients may partic-
ipate in more than one swarm at a time. The swarm is managed
by a simple network server called a tracker, which is responsible
for keeping track of all clients in the swarm, and informing clients
about each other. The tracker does not upload or download any file
data. Clients that have the entire file are called seeds and download-
ing clients which do not yet have the whole file are called peers or
leechers. Peers become seeds once they have the whole file, and
there are no distinctions between the seeds. (In particular, there are
no differences between the original seed run by the original distrib-
utor of the file and other clients that have become seeds and are
still participating in the swarm.) In most cases, once they have the
entire file, clients will continue to participate as seeds until the user
closes them.
One of the major innovations in the BitTorrent approach is that
each file is split into a number of small pieces, and these pieces are
transferred out of order. This means that peers that have different
pieces of the file can exchange them, and that a peer can download
different pieces from several other peers at once. In fact, since
transfers are made at a granularity even smaller than the piece size,
even a single piece can be downloaded from several peers at once.
This can greatly increase the speed at which a file is transferred
compared to simply downloading all of it from a single peer.
3.
3.1
SYSTEM DESIGN
Overview
Our system is similar to Toast: a hybrid of a modified BitTorrent
and a simple unicast VoD system [11]. We extend Toast to support
multiple streams instead of a single movie stream. Each client can
be pre-seeded with content up to the storage capacity limit of the
client. The decision to pre-seed clients with content is based on
an optimization formulation as described in the next section. The
actual pre-seeding can be done during a daily low-load phases as
showninFigure4. Whendataisactuallydemanded, theVoDserver
ensures there is no loss in quality-of-service by streaming pieces to
clients if the P2P network cannot deliver the data at all or within the
desired time. As in Toast, the goal of the P2P network is to offload
data traffic from the servers.
Unlike standard BitTorrent, this streaming-oriented P2P sys-
tem has an “in-order” piece-picking policy, by which clients fetch
pieces from their peers in the order that the movie is being viewed.
Similar to Toast, the piece-picking policy implements the feature
of “giving up” and not selecting pieces that are too close to the cur-
rent stream position to download on time. For example, if a missing
piece that represents 4 seconds of video will be needed in less than
4 seconds, and the remote client’s upload rate is less than the video
bitrate, then the download cannot finish before the piece is needed,
so the picker will skip it and choose a piece further ahead. The
amount of this lookahead is estimated based on the length of the
piece, the client’s upload rate, and the video bitrate.
Since our clients (set-top boxes) are under the control of the con-
tent provider, we assume that users cannot modify the set-top box
to either change the contents or unfairly download content while
not uploading to other clients. No client is a free-loader, and all
of them contribute fairly to the system. We thus further modify
the client uploading protocol by removing the choking/unchoking
mechanism, tit-for-tat fairness algorithm, and “rarest first” piece-
picking policy, as all of these are designed to improve aggregate
behavior of the swarm by increasing the likelihood of reciprocal
sharing.
3.2Pre-seeding Optimization Formulation
As mentioned, the clients are pre-seeded with content to assist
in VoD streaming. However it is important to do intelligent pre-
seeding so that we maximize the requests served by the P2P net-
work and reduce the load on the uplink and the central server. The
decision on what content is pre-seeded at which client is deter-
mined by a non-liner programming formulation. The formulation
seeks to minimize the number of requests that are served by the
regional server, thus ensuring optimal usage of the P2P network.
The Non-Linear Programming (NLP) formulation is motivated by
previous work done by Tawarmalani et.al, who analyzed object al-
location in a network of caches for sharing web content [32].
We model the setup as having N equally sized objects and M
caches. Let i ∈ {1,...,N} represent the individual objects and
j ∈ {1,...M} represent the individual peers (the terms nodes,
peers, STBs, and clients are used interchangeably in this paper)
in the system. We assume that the peers have identical capacities,
each with the ability to hold C pre-seeded objects. We also assume
that requests arrive at the system at rate of λ, following a Poisson
process. A given request is for object i with an exogenous prob-
ability Pi. This represents the expected popularity of the object
compared to the other available objects.
There are two stages involved in this problem context. The ob-
jects are pre-seeded in the first stage. They are then distributed in
the second stage depending on the type of request. In this paper, we
do not seek to find the optimal allocation across both stages. Such
optimizationwouldinvolvedeterminingtheoptimaldeliverymech-
anism subject to the optimal allocation, which in turn depends on
the delivery mechanism. Instead, we fix the second stage as adopt-
ing a fairly straightforward mechanism and focus on the optimal
pre-seeding problem in the first.
Our decision variable in the first stage is Xij, which is an indi-
cator to represent that object i is pre-seeded at node j. Our second
stage mechanism is as follows. If an object is requested at a par-
ticular node, the object search is executed in a sequential manner,
beginning with the node indexed 1. If one of the searched peers
holds the object (i.e., Xij = 1) and is capable of serving the re-
quest (i.e., its uplink bandwidth is not occupied because of serving
another request to some peer), the search is stopped and the object
is served. If none of the peers are able to serve the object, then
the object is procured from the origin server. We are interested in
minimizing these requests to the origin server.
For characterizing the second stage, we introduce two endoge-
nous variables: Yijis the probability that object i is served by node
j and Fj is the probability that node j is free to serve an object. In
order to define Fj, we let Rn represent the probability that there
are n active requests in the system at the same time. We make an
additional assumption that the uplink of any peer is capable of serv-
ing only one peer at any given time. A node can however download
data from muliple peers simultaneously. We also assume that it
takes an exogenous t periods to service the object request.
Given this model, the first stage optimization problem can be
characterized as follows:
Page 5
min
Xij
X
i
Pi
Y
X
j
(1 − Yij)
Y
(1)
s.t.Fj =
n
Rn
1 −
X
i
(PiYij)
!n
(2)
Yij = XijFj
j?<j
(1 − Xij?Fj?)
(3)
X
i
Xij ≤ C
(4)
The objective function, Equation (1) seeks to minimize the prob-
ability that a given request must be served by the central server and
the request is not served by any of the peers (product of (1 − Yij)
terms). Equation (2) expresses whether node j is free to serve any
request. The node will be free if it does not serve any object over
every possible number of requests in the system. Equation (3) in-
dicates that node j will serve a request for object i if object i is
present at node j, node j is free, and no lower-numbered node can
serve the object. Constraint (4) limits the number of pre-seeded
objects at a node to be C.
We can linearize Equation (3) to be as follows:
Yij = XijFj
0
@1 −
X
j?<j
Yij?
1
A
(5)
The linearization step in proved using induction in Appendix A.
Exploiting the assumption of Poisson request arrival, Rnis:
Rn = e−λt(λt)n
n!
(6)
Factoring this into Equation (2) and simplifying gives us
Fj
=
X
n
e−λt(λt)n
n!
1 −
X
X
n!
i
(PiYij)
!n
!!n
=e−λtX
n
λt
1 −
i
(PiYij)
(7)
Although n will be bounded by the number of possible streams
that can be viewed in a peer-to-peer network (likely 1–2 per STB),
this number will be quite large and can be approximated as infinite.
The summation in Equation (7) thus corresponds to a Taylor series
expansion of the exponential function, simplifying as:
Fj
=e−λteλt(1−P
−λt
i
i(PiYij))
=e
X
(PiYij)
(8)
Although sequential scanning of nodes seems to contradict the
necessity of load balance, the optimization formulation can select
the Xij matrix in such a way as to maintain load balance despite
this ordering.
The above formulation assumes that a client is not free any time
for the entire duration that it is serving any request. This is tech-
nically not true if the client is serving a request that originates at
the same node; however, handling this case separately adds further
complexity to the already non-linear problem. Extending the for-
mulation to account for these cases is a subject of future work. Sec-
tion 4 shows that this restriction on the optimization model does not
affect the results significantly. While the formulation does provide
the optimal solution, there may be instances where other optimal
solutions may exist for the same input, with each optimal solution
generating identical (or near identical) objective function values.
3.3Discussion
In this section, we show using numerical examples how the for-
mulation behaves under different conditions of load which aids in
further understanding of the formulation while also proving its cor-
rectness. The results shown here assume a pre-seeding capacity
equivalent to 2 streams per node.
When the load on the system increases, that is, the number of
active viewers in the community is high, all the STB’s will be busy
serving one another. There is very little free bandwidth in the net-
work. Thereforetoensurethatmostrequestsareservedfromwithin
the network, the most popular objects need to be replicated to a
higher degree than those that are less popular. Since the probability
of popular objects being requested is high, the high replication of
such objects will ensure availability of the objects and thus most of
the requests can be served by the P2P network. On the other hand,
when the load on the system is low, the system will likely have
excess bandwidth capacity even after serving the most popular ob-
jects, so it may use some of the STBs to replicate and pre-seed less
popular objects as well.
Load is dependent on the product of arrival rate λ and service
time t; the former will be higher as request rate increases, while
the latter will be higher whenever the asymmetry between client
uplink rate and video bitrate is high (as in modern ADSL and cable
modem deployments).
The difference between a low-load case and a high-load case is
shown in Figure 5 (λt = 20) and Figure 6 (λt = 100). In these nu-
merical examples, the number of caches/STBs was set to 10, each
with a capacity to store 2 objects, and the total number of objects
in the system was set to 20. The object popularity was distributed
according to a Zipf distribution with α = 1. The lower-numbered
objects have higher popularity than the higher-numbered ones.
In Figure 5, λt is low, implying a low system load. Figure 5(a)
shows a scatter plot of which objects are stored at which nodes
(Xij), while Figure 5(b) shows the number of replicated copies of
each object. Objects 1–3 require multiple copies, with the max-
imum being 4 copies. Objects numbered all the way to 15 are
stored at least somewhere in the peer-to-peer network. The number
of replicas decreases with object number, since higher object num-
bers imply less popular objects. The scatter plot shows that more
popular objects are either co-located with other objects that are far
less popular (e.g., node 3) or that are nearly as popular but are repli-
cated (e.g., nodes 4 or 7). The solver compensates for the fact that
sequential search is more likely to target node 1 by storing less pop-
ular objects at node 1 so that it does not become overloaded. The
objective function solution for this value of λt was 55.7%, indicat-
ing that 44.3% of all requests are satisfied by the peers.
In contrast, Figure 6 shows a high-load situation. The replication
capacity is now focused on the most popular objects, with object 1
now getting 7 copies. Objects ranked 8 or lower are not stored
at any peer. The large number of replicas of objects 1 and 2 means
that their load contribution at any individual node is not particularly
high; thus, the formulation does not need to use the low-numbered
nodes only for storing less popular objects. Further, the formula-
tion nearly always colocates objects 1 and 2. The objective function
solution returned by the solver was also poorer at 79.5%, meaning
that only 20.5% of the requests could be offloaded onto peers. Al-
though the fraction of requests served by peers is just less than half