Chapter 3 Techniques
3.1 Network Topology
For the heterogeneous SVC multicast architecture in [Figure 1], we make an assumption for a network model in this thesis. For a video source and many viewing devices which will subscribe to the video, there are many other intermediate nodes in the network called Media Gateways (MGs) for relaying video to viewing devices. We assume that there are three tiers in
the n
forw
13
Another bandwidth saving technique is the aggregation of data flows [Figure 3] along their transport routes. In an SVC multicast, many user devices will require the same set of layer in order to playback the video. The media gateways (MGs) embedded in the multicast trees can function as aggregation points of these data flows.
We designed a bandwidth reservation protocol to implement the en-route aggregation of data flows. The protocol adopted a bottom-up approach in conducting bandwidth negotiations among two tiers of MGs like a 4-way handshake protocol. Between the two tiers, the nodes in the lower tier are called subscribers, and the upper nodes are called providers. Subscribers know the layer it needs and the providers it can access in the upper tier. The purpose of the negotiation is to enable the subscriber to choose a provider for each layer or derived data flow.
To do so, the subscriber keeps a matrix of serving probability information of the accessible providers, and makes decisions based on the probability information. Providers should also make decisions on whether to accept or refuse the requests submitted by the subscribers. Every provider publishes a probability list of layers it intends to transport.
3.4 Information Dispersal and Multipath Transport
In order to ensure that different SVC-INS can be delivered to the user devices that need them even amidst significant traffic load and packet loss, our scheme employs the communication techniques of multipath diversity (MD) and unequal erasure protection (UEP) to protect the transport of individual INS. Such a protection is particularly important for those INS that are extracted from the lower SVC layers as they are the ones on which the upper SVC layers are depended for motion and residual prediction. Under the protection, each SVC-INS is coded and divided into multiple equal-rated data flows by a spatial-temporal UEP encoder. Each of
14
these data flows is then dispersed into different transport routes in the multicast trees. To decode an INS, a user device or a media relay only need to collect sufficient amount of code words derived from the INS and submit them to a UEP decoder. The design of a spatial-temporal UEP encoder suitable for SVC transport is currently underway. Hence, the investigation of the effectiveness of this technique lies beyond the scope of this paper.
15
Chapter 4 Algorithms
4.1 Optimization Model
Although falling short of producing a formal proof, we postulate that the problem of bandwidth allocation for a SVC multicasting session that maximizing device playback quality while minimizes total bandwidth consumption is a NP-Hard problem. Hence, a distributed bandwidth allocation algorithm must rely on iterative heuristics to search for the optimal solution. In this chapter, we propose an iterative negotiation between providers and subscribers and four different algorithms to arrange these negotiations that aim at directing the iterative negotiation towards an optimal solution.
We want to maximize the playback quality of viewing devices but we also hope to transport SVC layers in a bandwidth efficient network. Hence, we define the “Rate-Distortion Gain (R-D Gain)” function as (1). The numerator is the PSNR Improvement that is the playback quality gain of a device from receiving a specific layer and the denominator means that the bandwidth consumption of the layer in the network. For every received layer in every viewing device, we divide the PSNR improvement by the cumulative bandwidth consumption of the transport path of such layer. We assume that the transport path of Layer L in D from bottom to top is D , MG 0, , MG 1, , … , MG T, and nU , represents the serving devices counts of device type U in the transport sub-tree which has the root MG , . Then we calculate the R-D Gain of Layer L in D where d D , L means the distortion gain of D receiving L and the first term in the denominator means the copies of
16
L in the local subnet. The value is 1 if unicast, and L
U ,L U , if broadcast in the local subnet.
γ D , L d D , L
Σ
r LU ,L nU 0,
T 1
Σ
0 UΣ
,L r LnU ,1
4.2 Bandwidth Allocation Algorithm
The basic principle of our scheme is that viewing devices will not send subscription requests for layers that can not be decoded. That is, the bottom-up scheme will repeat many rounds and all viewing devices send requests for one or more decodable layers at once based on the dependency of layers. We’ll first introduce the negotiation between providers and subscribers.
This will show us how every provider and every subscriber negotiates bandwidth allocation of a layer on a network link. Then we design four different sequencing algorithms that differ from considering factors increasingly, as we have referred to, bitstream characteristics, device type population distribution, and network topology. These algorithms will determine whole network or local viewing devices make requests of layers in what kind of order.
4.2.
18
E 1, ; , ; L LayerCountA 1, , L γ , , L
G ,
Σ
, γ , , L , 2γ , , L 1
ξ ,
Σ
U ,L nU , d U , L
r L
MG 1, ̂ ̂ | max E 1, ; , ; L 3
γ , , L 1
ξ ,
Σ
U ,L nU , d U , L
r L 4
4.2.2 Ordering of Bandwidth Allocation Negotiations
4.2.2.1 Algorithm 1: Ordering without Consideration of Device Distri
bution
In this ordering of bandwidth allocation negotiations, we allocate the necessary bandwidth to transport SVC layers one at a time from the base layer to the highest enhancement layers according to their inter-layer dependency relationship and rate-distortion information. The numbers of rounds will be as same as the amount of layers. The Ordering Algorithm is as [Table 1]. The order is according to the dependency and if there is more than one decodable layer, we will choose a layer based on its rate distortion information. Hence, we will compare their Rate Distortion gain for such layer, which is the sum of PSNR improvement for all device types that can play this layer divided by its bit rate as [Table 2].
The advantage of this way is that the order of the resource reservation could be determined right after encoding, and it performs well when the population distribution makes no
19
difference since it is not sensitive to the population distribution. The performance will be bad if the population distribution is biased.
Set Max_RD_Gain to 0 Set Max_Layer to NULL
FOR each layer that is decodable
CALL Rate_Distortion_Gain with layer RETURNING RD_Gain IF RD_Gain > Max_RD_Gain THEN
Set Max_RD_Gain to RD_Gain Set Max_Layer to layer
END IF END FOR
FOR each tier from bottom to top FOR each node in this tier
CALL ProviderSubscriberNegotiation with tier, node, and Max_Layer END FOR
END FOR
Table 1: Pseudo Code of Ordering Algorithm in Algorithm 1 and 2 Set Total_RD_Gain to 0
FOR each device_type that can improve its playback quality by receiving LAYER Set TMP_RD_Gain to PSNR Improvement for device_type receiving LAYER DIVIDE TMP_RD_Gain by Bit Rate of LAYER
INCREMENT Total_RD_Gain by TMP_RD_Gain END FOR
RETURN Total_RD_Gain
Table 2: Pseudo Code of Function Rate_Distortion_Gain(LAYER) in Algorithm 1
20
4.2.2.2 Algorithm 2: Ordering with Consideration of Global Device
Distribution
In this ordering of bandwidth allocation negotiations, we allocate the necessary bandwidth to transport SVC layers one at a time from the base layer to the highest enhancement layers according to their inter-layer dependency relationship and rate-distortion information, and furthermore, the global device population distribution is considered in this case. Times of execution rounds will be as same as the number of layers. The Global Ordering Algorithm is as [Table 1]. The order is according to the dependency and if there is more than one decodable layer, we will choose a layer based on its single layer rate-distortion characteristic and the population distribution of viewing devices. Hence, we will compare their R-D gain for types of viewing devices, which is the sum of PSNR improvement for all viewing devices that could play that layer divided by its bit rate as [Table 3]. MGs in the top of the mesh can get the device population information easily by aggregating from the bottom and then propagate the global order to the bottom.
The advantage of this algorithm is that it is sensitive to the population distribution, so different distribution may have orders that fit in such situation. But media gateways and devices may need extra information besides a local network since this is a global view that the population information will be cumulated to the top and then propagate the determined order to the bottom devices.
21
Set Total_RD_Gain to 0
FOR each device_type that can improve its playback quality by receiving LAYER Set TMP_RD_Gain to PSNR Improvement for device_type receiving LAYER MULTIPLY TMP_RD_Gain by population of device type
DIVIDE TMP_RD_Gain by Bit Rate of LAYER INCREMENT Total_RD_Gain by TMP_RD_Gain END FOR
RETURN Total_RD_Gain
Table 3: Pseudo Code of Function Rate_Distortion_Gain(LAYER) in Algorithm 2
4.2.2.3 Algorithm 3: Ordering with Local Fair Competition
In this ordering of bandwidth allocation negotiations, we allocate the necessary bandwidth to transport all decodable SVC layers at a time from the base layer to the highest enhancement layers according to their inter-layer dependency relationship, rate-distortion information, and the local device population distribution as in [Table 4]. So competitions between different layers exist in this ordering in sub-trees of MGs. Differ from algorithm 1 and 2, there will be more than one layer allocated in the network and the competition of requests for all decodable layers may occur. Different local population distributions and local network topology affect local bandwidth allocations.
The advantage of this case is that not only population distribution is considered but also the network topology takes place in the decisions. This local information may make the bandwidth allocation perform better, but the length of extraction path will have large effect in this case.
22
FOR each tier from bottom to top FOR each node in this tier
FOR each layer that is decodable for devices or required by media gateways CALL ProviderSubscriberNegotiation with tier, node, and layer
END FOR END FOR END FOR
Table 4: Pseudo Code of Algorithm 3
4.2.2.4 Algorithm 4: Local Ordering with Local Dominated Request
In this ordering of bandwidth allocation negotiations, we allocate the necessary bandwidth to transport one dominated SVC layer (which brings the largest R-D Gain in the sub-tree) at a time for one MG from the base layer to the highest enhancement layers according to their inter-layer dependency relationship, rate-distortion information, and the local device population distribution as in [Table 5]. There will be many requests for different layers competing in the network but there is a difference between Algorithm 3. That is, all decodable layers will be requested from a subnet but in this Algorithm 4 there will be only one request from a subnet which will bring the largest R-D Gain. The request which represents the largest R-D Gain in a subnet will beat other requests rather than accepting all decodable layers.
The advantage is that a local network view of device distribution will make accurate requests and nodes will not need extra information of nodes in other subnets. The length of extraction path will have smaller effect than Algorithm 3.
23
FOR each tier from bottom to top FOR each node in this tier
FOR each layer that is decodable for devices or required by media gateways CALL ProviderSubscriberNegotiation1 with tier, node, and layer END FOR
END FOR END FOR
Table 5: Pseudo Code of Algorithm 4
4.2.2.5 Examples of four algorithms
We assume that the video source have been encoded into four layers, base layer 0 and enhancement layer 1, 2, and 3. Layer 1 and 2 depend on layer 0 and layer 3 depend on layer 1.
Suppose that the device population in whole network is as ||{0,3}|| > ||{0,1}|| > ||{0,2}|| >
||{0}||, but the order of Rate-Distortion Gain is as 0>1>2>3. For algorithm 1 and 2, there is only one layer allocated in the network. Allocated order in algorithm 1 is {0, 1, 2, 3} which is the same as the layer R-D characteristics but {0, 1, 3, 2} in algorithm 2 since the population affect the order directly. For algorithm 3, all decodable layers will be allocated in the network, so layer 0 that all devices need will be allocated first. Layer 1 and layer 2 will be the next because they both depend on layer 0 and layer 3 will be the last one since it has the longest extraction path. Algorithm 4 is quite different so we provide another example for it.
Assume that there are two MGs A, B in the same tier and MG A has 1000 devices requesting for layer 1 in its sub-tree and 10 for layer 2 where MG B has 10 devices for layer 1 in its
1 There is only one difference in it that Providers will provide only one layer which brings largest Rate Distortion Gain for serving it in the sub-tree in the same round. Provider will only serve the dominated layer request in its subnet rather than all decodable layers.
24
sub-tree and 1000 for layer 2. Suppose that layer 0 has already been allocated, so layer 1 and layer 2 are both decodable now. For algorithm 3 that all decodable layers will be allocated, layer 1 and 2 will be allocated both in MG A and B and layer 3 will be allocated in the next round. But for algorithm 4, only the dominated layer in the sub-tree will be allocated. That is, MG A will accept requests for layer 1 and postpone requests for layer 2 and MG B does the opposite. In the next round, MG A will consider layer 2 and 3 at the same time since layer 3 is decodable after layer 1 being allocated, and MG B can only allocate layer 1 because it is the only decodable layer.
25
Chapter 5 Message Exchange
A bandwidth saving technique we employed was the aggregation of data flows along their transport routes. In an SVC multicast, many user devices will require the same set of layers in order to playback the video. The media gateways (MGs) embedded in the multicast trees can function as aggregation points of these data flows.
We designed a distributed bandwidth reservation message exchange mechanism to realize en-route aggregation of data flows.
The mechanism is a multiple round bottom-up architecture conducted among two consecutive tiers of network nodes known as the subscribers and the providers. Each subscriber can negotiate with certain number of providers about the layer it needs and the number of user devices it serves. However, no communication between non-consecutive tiers is permitted nor communication among providers or subscribers in the same tier. The following section will show how we do the message exchange between subscribers and providers.
5.1 Message Exchange Mechanism
The bandwidth allocation is initiated by user devices in the lowest tier and propagated towards the providers in the top tier. As in [Figure 5], subscribers register themselves to providers first about the served layer and layer set that refer served layer and the amount of devices that each layer is demanded by sending HELLO messages. The message is for providers to understand how many subscribers connect to it and their requirements and then
26
subscribers submit resource requests REQ messages that maximize probability of successful allocation and maximize aggregation of bitstream. Requests are submitted to chosen providers based on expectation value about layers that could be allocated by providers. They will choose one provider that has highest expectation values for served layer that they demand in each round. If the request failed, they will turn to the provider that has the highest expectation among the rests in next round.
a) The provider receives registrations from subscribers and then derives serving probabilities for every subscriber by computing how many requests are allowed and subscribers’ importance for it, and then sends the probability to subscribers who registered to it by sending ACK messages. Then they receive all subscribers’ requests in batches and make allocation by comparing the expected R-D Gain of each subscriber if the provider serves its request.
Figure 5: Message Exchange Mechanism HELLO (Layer Information)
ACK (Serving Expectation)
REQ (Expected R-D Gain)
RPLY (Decision)
Provider
Subscriber
27
The message exchange in the bandwidth allocation and their payloads are listed below:
¾ HELLO is shown in (5). It is sent by every subscriber MG , , which represents the MG in tier . A HELLO message contains serving layer L , layer information tuples U , nU , U ,L which contains device types (U ) and sub-tree population number of a specific device type(nU , ) for all devices type that depend on L, and the accessible provider counts ξ , .
HELLO , L , U , nU , U ,L , ξ , 5
¾ ACK is shown in (6). It is sent by provider MG 1, to every subscriber MG , that sent HELLO to it. A ACK message contains serving layer L , the amount of subscribers that can may send request to it for layer L as RepCount 1, , L , and the expectation value E 1, ; , ; L about the number of layer L that can be allocated to MG , .
ACK 1, ; , L , RepCount 1, , L , E 1, ; , ; L 6
¾ REQ is shown in (7). It is sent by subscriber MG , to a chosen provider MG 1, ̂ as (8) that it just received since the higher the value of E 1, ; , ; L is, the higher probability that it can get serving layer from provider is. A REQ message contains serving layer L , rest accessible provider counts ξ , , and the expected R-D gain γ , , L .
REQ , ; 1, ̂ L , ξ , , γ , , L 7
MG 1, ̂ ̂ | max E 1, ; , ; L 8
28
¾ RPLY is shown in (9). It is sent by provider MG 1, to each subscriber MG , that sent REQ to it. It sent RPLY in the order of just received R-D gain γ , , L of each subscriber. Provider will allow every request until it has no available bandwidth to serve more requests. A RPLY message contains serving layer L and an answer R which is just a Boolean value about yes or no. Hence, true or false means the provider allowed or rejected.
RPLY 1, ; , L , R 9
If there is any subscriber MG , that received false value, it will decrease its accessible provider count ξ , by 1 and then re-calculates its expected R-D Gain and sends request repeatedly to its second choice, third choice, etc.
29
Chapter 6 Experiments
6.1 Platform
The simulation [Figure 6] is programmed in JAVA with different algorithm implemented in different node classes but in the same randomized network architecture in each execution of the program. The operation system that the simulation executed on is Fedora 8. The simulation will be executed in 100 times in each network congestion case to do some statistical computing while connection settings in the network varies randomly in each round.
Figure 6: Graphic User Interface of Simulation for Bandwidth Reservation Protocol
30
6.2 Models
6.2.1 Network Model
In our simulation experiments, we devised a simple multicast mesh with three tiers as in [Figure 7], named as Tier 0, Tier 1, and Tier 2. User devices are placed at the leaf nodes of the mesh and the media gateways (MGs) serve as the intermediate nodes. There are a total of 128 user devices placed in eight Tier-0 local subnets. Hence, the MGs in Tier 1 broadcast their data flows while the MRs in Tier 2 relay data using unicast communication. Each MG has a restricted outbound bandwidth that it can use to serve its subscribers.
We implemented a randomized request mechanism in our simulation. When subscribers are making requests, they see those providers with no difference. So they just choose to send requests randomly with random layers that they require. We run experiments both on the
Figure 7: Network Model
31
mesh and tree network model.
Devices are subscribing to the clip and running the resource allocation on the network. We
Devices are subscribing to the clip and running the resource allocation on the network. We