1: \begin{abstract}
2: We design and analyze a mechanism for forming coalitions of
3: peers in a data swarming system where peers have heterogeneous upload capacities.
4: A coalition is a set of peers that
5: explicitly cooperate with other peers inside the coalition via {\em
6: choking}, {\em data replication}, and {\em capacity allocation} strategies.
7: Further, each peer interacts with other peers outside its coalition via potentially distinct
8: choking, data replication, and capacity allocation strategies.
9: Following on our preliminary work in \cite{zhang11icnp} that
10: demonstrated significant performance benefits of coalitions,
11: we present here a comprehensive analysis of the choking and data
12: replication strategies for coalitions.
13:
14: We first develop an analytical model to understand a simple random
15: choking strategy as a within-coalition strategy
16: and show that it accurately predicts a coalition's performance.
17: Our analysis formally shows that the random choking strategy can help
18: a coalition achieve near-optimal performance by optimally choosing the
19: re-choking interval lengths and the number unchoke slots.
20: Further, our analytical model can be easily adapted to model
21: a BitTorrent-like swarm.
22: We also introduce a simple data replication strategy which
23: significantly improves data availability within a coalition as
24: compared to the rarest-first piece replication strategy employed in
25: BitTorrent systems.
26: We further propose a {\em cooperation-aware better response strategy}
27: that achieves convergence of the dynamic coalition
28: formation process when peers freely join or leave any
29: coalition.
30: Finally, using extensive simulations, we demonstrate improvements in
31: the performance of a swarming system due to coalition formation.
32: \end{abstract}
33: