Introduction
Joost overview
Joost servers
Peer manager
Joost client
Protocols
Protocol | Functionality | Packet size |
---|---|---|
UDP | Video distribution | 1104 bytes |
Content probe (peer to peer) | ~64 bytes | |
Channel switching | < 1000 bytes | |
VoD interactions | < 150 bytes | |
HTTP | Software version | |
Client → server | ~64 bytes | |
Server → client | < 500 bytes | |
Channel management | ||
Client → server | ~64 bytes | |
Server → client | < = 1518 bytes | |
HTTPS | Administrative management | |
Client → server | 64 bytes | |
Server → client | < 500 bytes |
Local video cache
Experiment setup
Inferring Joost peer management
Experimental methodology
-
Time pattern: The different user distribution during a day or a week may have great impacts on the performance (e.g. contributions from peers highly depend on the number of peers).
-
Upload and download capacity: The peer management can be benefit from the efficient bandwidth usage if peer is given some incentives to contribute more to the network.
-
Popularity impacts: The number of users may be largely determined by the popularity of the on-demanded programs.
-
Locality considerations: One of the main challenges in P2P VoD system is the efficient allocation of the available resources. Thus, it is generally desirable that data exchange be made preferably between nodes that are placed “close by” in the underlying network to reduce the redundant usage of long-haul network links and to save local resources for network providers.
Designed scenarios
-
Scenario 1: To get a broader view of the time pattern, we monitored public nodes and NAT nodes over a period of three weeks (7–28 January, 2008) and captured over 78 GB data. Those test nodes were equipped with the same processing power and bandwidth support as described in Section 3. To alleviate the popularity impacts, we repeatedly ran a 1063-min channel created by our own at both nodes, including popular and unpopular programs selected from existing program list. Note how to create a new channel is out of scope of our paper, but can be found in [1]. Once the channel was finished playing, we dumped their local cache (c.f. Section 2.5) and re-started playing.
-
Scenario 2: We randomly chose programs ranking in the “most popular programs” list and unpopular programs with the same length. In this experimental scenario, a public node and a N/F-behind node continuously ran popular and unpopular programs over two-week period (14–28 January, 2008). We captured 24 GB data.
-
Scenario 3: Two test nodes were located behind a Network Address Translator (NAT) and configured with non-routable, private IP addresses. One of them started to randomly choose one channel. After a short period (e.g. 5 minutes), the other node selected the same channel.
Experimental results
Time pattern—NAT/FW-behind node
Time pattern—public node
Bandwidth consumption
Popularity impacts
Locality considerations
Related work
Conclusions and future work
-
The current Joost system relies on an overlay network deployed with a set of centralized content servers as identified in Sections 4.3.1 and 4.3.2, which may still raise a scalability issue in the near future. However, it is very useful to separate media distribution from controlling peer-to-peer hierarchy, which makes the Joost system relatively stable and potentially scalable.
-
As indicated in Sections 4.3.2 and 4.3.3, we believe that public nodes with high capacity may be selected as main relaying nodes to ease the traversal of symmetric NATs and firewalls. However, in our experiments their uplink capacity usage is still quite low (on average 84 kbps). Thus, the Joost system could be aggressive to these nodes, together with certain incentive mechanisms to encourage them contribute more to the network, which may help the system overcome the scalability issue.
-
Section 4.3.5 identified that the geographical distance may have been considered in the peer management of Joost. However, the lower-level locality-awareness (e.g. topological locality) may still be missing in the peer management. Besides, the inter-continental links are often used to transmit media data regardless of the number of local users, which may overload the network provider’s costs. If the P2P service could be AS-/network level locality awareness, it would be beneficial for both customers and service providers.
-
Joost currently provides each client with the same quality of video. This may result in an inefficient resource utilization if some clients are unable to support the desired video quality. Hence, layered video or adaptive mechanisms could be introduced into Joost.