SlideShare a Scribd company logo
1 of 8
Strategies for Efficient Streaming in
                          Delay-tolerant Multimedia Applications
                                     Saraswathi Krithivasan, Sridhar Iyer
                                                IIT Bombay
                                           saras,sri @it.iitb.ac.in

                      Abstract                                  A review of the existing mechanisms (details are
                                                            presented in Section 6.3) for effective and efficient
    We consider Multimedia applications where clients       delivery of multimedia in [4][5][12] indicates that
specify: a minimum desired stream rate (quality) and        existing work treats multimedia dissemination as a
a time till when they are willing to wait, termed delay     soft real-time application that can tolerate some
tolerance. The Content Service Provider’s (CSP)             transmission errors and aims to minimize the startup
objective is to service as many clients’ requests for       delay. In contrast, we focus on multimedia
the same Multimedia content with a single stream            applications that can tolerate startup delays. We
while satisfying their requirements. We propose an          illustrate the problem using a simple example below:
approach to determine the optimal rates delivered at
clients and study three transcoder deployment                               512                  384
strategies:                                                                    1        S           2
(i) Source Transcoding (ST): when content encoded
at different rates are available only at the source                                R1                   C1
                                                                     256                256
(ii)Anywhere Transcoding (AT): when transcoding                         3                    4
capability is available at all intermediate nodes, and
(iii)Selected Node Transcoding (SNT): when                                  R2
                                                              128
transcoding capability is available at selected                  5                      C2
intermediate nodes.
Considering the complexity of the optimal solution,
                                                                       C3
we propose a set of heuristic based algorithms for
delivering enhanced rates to clients using the three
strategies. A practical content dissemination network                       Figure 1: Motivating example
model is used to demonstrate the effectiveness of our
strategies.                                                     Source S is streaming contents to clients C1, C2,
                                                            and C3 connected with links 1 to 5, with bandwidths
1. Introduction                                             in kbps as indicated in Figure 1. Let the base encoding
    With the proliferation of networks connecting           rate of the file be 512 kbps and the duration of the
different parts of the world, several popular streaming     play out be 1 hour. We assume the same requirements
media applications have emerged including:                  for all three clients: a minimum rate of 128 kbps and
universities offering their courses to a set of global      delay tolerance of 30 minutes. Our objective is to
subscribers, service providers streaming movies             provide the best possible rates to clients in this
requested by their clients, and multinational               network. We consider the following cases:
corporations providing training to employees across         (i) Source Transcoding (ST), where only the source is
cities. These multimedia applications are delay-            capable of transcoding, assuming zero delay
tolerant, where clients request the start of play back at   tolerance: Clients require immediate play out without
a convenient time specified by (t+d i) where t is the       loss (delay tolerance =0). Weakest links in the paths
current time and di is the delay tolerance acceptable       from S to C1, C2, and C3 are 384 kbps, 256 kbps, and
to client Ci. Clients also specify a minimum                128 kbps respectively. C1 gets 384 kbps while both C2
acceptable quality, typically specified as the encoding     and C3 get 128 kbps as they share the first link, and
rate. Typical characteristics of such applications          since no transcoding is possible in the relay nodes.
include: (i) a source that is responsible for the           (ii) Source Transcoding (ST) considering clients’
dissemination of contents; (ii) a set of geographically     delay tolerance of ½ hr: The following rates can be
distributed clients connected through links of varying      delivered at the clients: C1: 512 kbps, C2: 384 kbps,
capacities and characteristics and (iii) intermediate       and C3: 192 kbps (refer to Section 2 for the expression
nodes which forward the data termed relay nodes.            used in the calculation). C1 gets 512 kbps, being a
                                                            client directly connected to the source. However, in
                                                            ST as no transcoding is possible in the relay nodes,
both C2 and C3 get 192 kbps. Note that the delivered        implication of using the proposed strategies in Section
rates have improved for all the three clients when          5. Our conclusions are presented in Section 6.
their delay tolerance is considered [7].                    2. Problem formulation
(iii) Anywhere Transcoding (AT), where transcoding             We consider a simple network having a source S,
capability is available at all relay nodes, considering     relay node R, and a client C as the basic block, as
clients’ delay tolerance of ½ hr: C1 still gets 512 kbps,   shown in Figure 2. (Table 1 defines the notation used
the best possible rate, and C2 gets 384 kbps as R1          in this section.)
transcodes the stream from 512 kbps to 384 kbps for
                                                                    Link l1                Link l2
C2. C3 gets 192 kbps. However, when transcoders are
available both at R1 and R2, there may be redundant            S                    R                     C
use of transcoders to deliver 192 kbps to C3. In this                a kbps                b kbps
example two transcoders are used – R1 converts
stream from 512 to 384 kbps, R2 from 384 to 192                               Figure 2: Basic block
kbps.
(iv) Selected Node Transcoding (SNT), where
transcoding capability is provided only at selected                       Table 1: Notation used
nodes, considering clients’ delay tolerance of ½ hr:        α: Base-encoding rate (highest fidelity) of the
By restricting transcoding capability only to R1, we        multimedia file at S.
can still achieve the same rates at the clients as in       rc: Stream rate delivered at C : Play out rate at C
case (iii) while reducing costs.                            dc: Delay tolerance specified by C
     Note that the selection strategy can be based on       a: Link bandwidth between S and R.: Link rate of l1
several criteria, using simple logic all the way to         b: Link bandwidth between R and C.: Link rate of l2
exploiting complex information on the CSP’s                 T: Play out duration of the Multimedia content
investment constraints and knowledge of client                Let a < b, i.e., Min (a,b)= a; Stream rate that can be
history. One example of a simple but effective              delivered at C, rc is given by:
selection rule that we use: select only those relay                   rc = α                       if a >= α ;
nodes that have more than one out going link.                            =a                        if dc=0 and a < α ;
    From the above discussion, the following points                      = a + ((a* dc)/T)         otherwise;      (1)
emerge: (i) Clients’ delay tolerance can be leveraged         Equation (1) is derived as follows:
to provide enhanced rates to clients (ii) Transcoding       * When the bandwidth of the weakest link in C’s path
capability is required at the relay nodes to serve the      is greater than or equal to the base-encoding rate, C
clients with enhanced rates without loss, and (iii)         can start the play out immediately at the base-
Through selective placement of transcoding capability       encoding rate, the best possible quality. If the client
at appropriate relay nodes, resources can be                specifies a delay tolerance value, data needs to be
efficiently utilized by the CSP.                            buffered at the client for the duration of the delay
    At the same time, from the CSP’s perspective, the       tolerance.
following questions remain:                                 * When the weakest link is less than the base
    1.Using a single stream and by exploiting the delay     encoding rate and the client’s delay tolerance is zero,
tolerance of the clients, what is the best rate that can    the delivered stream rate is equal to the weakest link
be delivered to each client?                                rate for loss-free play-out at the client.
    2. Assuming transcoding capability at (only some        * Suppose C specifies a delay tolerance value dc. a is
of) the nodes in the network, which transcoders have        the minimum bandwidth in the path between S and C.
to be enabled and what rate conversions would they          When the stream is encoded at a kbps, C receives it
perform?                                                    without any loss, immediately. But C waits for time
    3. Delivered rates at clients depend on the network     dc, its delay tolerance value before the play out starts.
topology, link bandwidths, and client requirements.         However, during this waiting time, an amount of data
Given this, what transcoder placement strategy – ST,        can be streamed to C is given by: a * dc. The amount
AT, or SNT– needs to be invoked such that resource          of extra data that C gets per second is: a * dc /T,
utilization and revenue are maximized?                      where T is the play out duration of the stream. Thus,
    In this paper we address these questions using an       the delivered stream rate at C is,
optimization approach explained in Section 3. Given                   rc== a + ((a*dc)/T).
the complexity of the optimization problem we                     Equation (1) provides the upper bound on the
develop greedy heuristic based algorithms that              stream rate delivered at the client, as it considers the
approximate the optimal solution, presented in              client’s path in isolation. In a topology with multiple
Section 4. We present a case study of a practical           clients with shared links, finding the delivered stream
content dissemination model to understand the               rate at every client in the network is non-trivial.
                                                            (Refer to Case (ii) of the motivating example). Also,
given that our objective is to service clients without              Let Li be the latency that will satisfy the delay
any loss, appropriate placement of transcoders in the         tolerance specified by client Ci. There are two factors
relay nodes is necessary. In the following section we         that contribute to Li: (i) the latency introduced due to
present an optimization approach to determine the             buffering Lb, when a stream encoded at a higher rate
client play-out rates for each of the three transcoder        is flowing through a link having lesser bandwidth, and
placement strategies: ST, AT, and SNT.                        (ii) latency introduced due to transcoding in the relay
3. Optimization approach                                      nodes, Lt. As per the property of streaming, since the
    We formulate our objective of maximizing                  bits are streamlined, Lb depends on the bandwidth of
delivered stream rates across all clients in the network      the weakest link bw, in the path from S to Ci. Let ri be
as an optimization problem, where paths from source           the delivered stream rate and T be the play out
to every client in the network are considered:                duration of the file. The expression for Lb is given by:
Design variables -                                                  Lb = ((ri- bw)/ bw)*T (2)
Stream Rates xm flowing through links lm                           To find the transcoding latency, we assume each
Objective function -Maximize delivered stream rates           transcoding enabled relay node to be a RTP/RTSP
at the clients, written as:                                   client as in [10]. As the bits are streamed, they go into
Minimize Σi (α – xi)2, where α is the base encoding           an in-buffer (large enough to hold bits required for
rate and xi is the stream rate flowing through link li.       transcoding) and the transcoded bits are pushed into
Since transcoding is a process where encoded rates            the out-buffer. The processing rate is defined as the
can only be reduced, we desire to maximize the                number of bits processed by the transcoder per
stream rates through every link in the network.               second.       As long as this rate is more than
Constraints - Following constraints are applied to the        Min(bandwidth of the incoming link , bandwidth of
objective function:                                           outgoing link), there is no significant latency
* Rate constraint: This constraint ensures that the           introduced due to the transcoding process. Also,
stream rate flowing across any link in the network is         compressed domain transcoding [8][11] has improved
bounded by the base-encoding rate, which is the               the speed of transcoding as it reuses motion
highest possible stream rate. We represent this               information. Thus, we include a small constant
constraint as: xm<= α, where α is the base encoding           transcoding latency Lt, the worst-case delay that may
rate.                                                         result from deploying transcoders in the relay nodes.
* Transcoder constraint: This constraint is used to           Note that due to the real-time nature of the
respect the property of transcoding that incoming             transcoding process and the pipelining property of
stream rate at the transcoding node is greater than or        streaming, irrespective of the number of transcoders
equal to its outgoing rate.                                   used in the path of a client, transcoding latency
       When ST policy is enforced, this constraint is         remains constant. Thus, latency Li is given by: Li=
specified as: for every client Ci, all link rates, xi s, in   L b+ L t    (3)
its path are equal, represented as: (xs = xn= …= xi) for      3.2. Need for heuristics
client i, having links ls , ln,…,l i in its path.                  We use fmincon function from the optimization
      Under AT, we specify the constraint as: xs>= xn;        toolbox of MATLAB to find the optimal delivered
xm>= xn … for client i, having links ls , lm, ln…. in its     rates at the clients. Function fmincon uses Sequential
path.                                                         Quadratic Programming (SQP) optimization method
         In SNT, some relay nodes are selected as             [9]. It is a gradient descent based search algorithm in
transcoding nodes. Suppose (ls , la), (lc, lk) are pairs of   the continuous search space. It starts from an initial
links (incoming and outgoing) of nodes with                   point and usually converges to a constrained local
transcoding capability and (lb , lm), (ld, ln) are pairs of   optimum close to the initial point.
links of nodes that do not have transcoding capability            Considering our optimization formulation, suppose
in the path of Ci. We use the inequality constraints (xs      we have m links in the path, in the worst case the
>= xa), (xc>= xk) and equality constraints (xb= xm),          optimizer solves the problem by trying all possible
(xd= xn).                                                     values for the n distinct values corresponding to the
* Delay tolerance constraint: This constraint ensures         effective rates that flow across the links. A total of m
that the client specified delay tolerance di is not
                                                              n
                                                                computations are needed. Thus, if there are 20 links
exceeded while delivering enhanced rate to the client.        in the path with each taking one of 15 possible values,
It is specified as:                                           the search space is of the order of 2015.
Li <= di, where Li is the latency incurred in the path             To understand the complexity of the optimization
from S to Ci, due to buffering and transcoding. We            algorithm, we generate 6 random topologies with
derive the expression for Li below.                           randomly assigned link bandwidths having 20, 28, 36,
3.1. Expression for latency                                   44, 52, and 60 nodes respectively. All other
                                                              parameters including client requirements (minimum
                                                              rate 128 kbps, Delay tolerance: ½ hr.) and
transmission duration (1 hr.) are kept constant. Figure                           Table 2: Algorithm 1: ST
3 presents the measured CPU time for the                           Input: currentroot: source id is given as currentroot
optimization algorithm to converge, when transcoding               Output: globaloptimrates: rates delivered at clients
is allowed at all relay nodes (AT). We observe that                For each subtree rooted at currentroot
when the number of nodes is increased three times,                   If the subtree root is a client
from 20 to 60, the CPU time taken for the algorithm                     Find local optimal rate for the client %using Equation 1%
to converge has increased by 16.85 times, from 0.42                     Return value in globaloptimates for that client
                                                                    Else
seconds to 7.08 seconds.                                               For each client in the subtree
     Considering the complexity of the optimization                          Find local optimal rate for the client %using Equation
algorithm, we present algorithms based on greedy                   1%
heuristics in the next section.                                            Store value in localoptimrates()
                                                                        End
                                                                        Newrate= min(localoptimrates)
                                                       CPU time
                                                                        For each client in the subtree
                        8                                                 Return newrate in globaloptimates
                                                                        End
  CPU time (in secs.)




                        7
                        6                                            End
                        5                                          End
                        4
                        3                                         4.3. Selected Node Transcoding (SNT)
                        2
                        1
                                                                         We present the algorithm for SNT first as by
                        0                                         removing the condition to check whether a node is
                            1   2   3      4
                                    Topology
                                               5   6
                                                                  capable of transcoding, we get the algorithm for AT.
  Figure 3: Comp. time of optimization approach                   Relay nodes that have more than one outgoing link
                                                                  are chosen to have transcoding capability, as any of
4. Heuristic based approach                                       these nodes are potential transcoding nodes.
    In this section we discuss algorithms for the three               The algorithm uses a greedy heuristic that executes
transcoder deployment strategies that can be used by              the following steps:
the CSP that approximate the optimization algorithm.                 (i) Starting from the source, for each subtree find
These algorithms are efficient, they converge within              the local optimal rates for clients in that subtree.
few seconds, even for topologies with hundreds of                   (ii) Find the max of these rates.
nodes, yet deliver good QoS to clients.                             (iii) Assign this value to the link from the root of the
4.1. Local and global optimal rates                               tree to the subtree root (the first link in that subtree).
   Algorithms presented below use equation (1) from                      This process is recursively carried out for all
Section 2 to find the best rate deliverable at any                subtrees at every level such that the stream rates
client, ignoring the constraints that arise due to the            flowing through each link in the tree is determined.
sharing of links in its path. This rate provides the              Note that the stream rate flowing through the last link
upper bound on the rate deliverable at a given client.            to client is the delivered rate at that client.
We term this local optimal rate for the client as the
client is considered in isolation. We use the local                              Table 3: Algorithm 2: SNT
                                                                    Inputs: currentroot: id of current subtree root
optimal rates of all clients in a subtree to determine                    currentrate:current stream rate
the rates delivered to clients in that subtree, termed              Output: globaloptimrates: rates delivered at clients
global optimal rates as the entire subtree is
considered. The algorithms are elaborated below.                    Globalalgo(currentroot,currentrate)
                                                                    If currentroot is a client
4.2. Source Transcoding (ST)                                           Compute localoptimrate %using equation 1%
    In ST, the source is capable of providing different                Return value in globaloptimates for that client
encoded rates for different subtrees emanating from it.             Else %if current root is not a client %
                                                                       Find the subtrees based at the currentroot
Our goal is to service all clients in a subtree without                For each subtree root
any loss and without using any transcoders at the                         If the subtree root is a client
relay nodes. To achieve this goal, we consider each                               Find localoptimrate for the client %using equation 1%
subtree rooted at the source and find the minimum of                              Store value in localoptimrates()
                                                                          Else
the deliverable local optimal rates in that subtree,                              For each client in the subtree
considering the delay tolerance values of the clients.                             Find localoptimrate for the client
The source encodes the file at this rate for that subtree                          Store value in localoptimrates()
                                                                                  End
so that all clients in that subtree receive the file                       End
without loss. Referring to Figure 1 (Section 1), S                      End
transcodes the file to two versions at 512 kbps for C 1                 newrate= max(localoptimrates)
in subtree 1 and 192 kbps for clients C 2 and C3 in                     If newrate is < previous link rate
                                                                                  If currentroot is capable of transcoding % This
subtree 2. Detailed algorithm is presented in Table 2.                            additional condition is checked for SNT%
                                                                                      Subtract transcoding delay from all affected clients’
                                                                                      delay tolerance values and find their localoptimrates
                                                                                    newrate= max(localoptimrates)
                                                                                  End
                                                                         End
                                                                    Call Globalalgo with subtreeroot as current root and newrate as
                                                                    startrate
                                                                    End
exactly as our algorithm also finds the best possible
                                                            rate delivered at clients using the weakest link in a
                                                            sub-tree. For AT and SNT, our algorithms work close
                                                            to the optimal algorithms in predicting the delivered
                                                            rates for clients. As explained in the previous section,
                                                            our algorithms are based on greedy heuristics, where
                                                            stream rates once assigned to links are not changed
                                                            (no back tracking). Due to this, some clients may be
    We use the max function to assign the stream rate       denied service as client requirements may not be
to a link shared by many clients. Given our future          satisfied, especially in the case of SNT. This is seen in
research objectives where we consider dynamic client        Figure 4(a) for topology 7. Figure 4(b) provides the
arrivals, this is an informed choice as transcoding is a    average delivered rates at the clients. Note that for
one-way process, where bit rates can only be reduced.       small topologies our algorithms work as good as the
With reference to Figure 1, link 2 in subtree 1 is          optimal algorithm, for a large topology as in topology
assigned 512 kbps; As C1 is the only client, delivered      7, close to 96% of the clients are serviced; However,
rate at C1 is 512 kbps. Subtree 2 has two clients C2        the average delivered rates predicted by our
and C3. Max of their local optimal rates is 384 kbps.       algorithms is better, as the average is calculated over
This rate is assigned to link 1. The recursive              fewer clients.
algorithm now finds the subtrees rooted at R1. The              We plot the ratio of CPU time for optimal
first subtree has only client C2 and hence 384 kbps is      algorithm to our algorithm for SNT in Figure 4(c) that
assigned to link 4; C2 gets 384 kbps. The second            clearly indicates the applicability of our algorithms
subtree has only client C3, its local optimal rate being    for quick decision-making in practical scenarios. In
192 kbps. This rate is assigned to link 3. Next step in     the next section, we present such a practical network
the recursion considers the only subtree rooted at R 2      scenario.
and assigns 192 kbps to link 5; C3 gets 192 kbps. The
top-level recursive algorithm is presented in Table 3.                    600

                                                                          400
4.3. Anywhere Transcoding (AT)
   AT is the non-restrictive case of SNT. As all relay                    200

nodes are capable of transcoding, stream rates are                          0
assigned without the additional check in SNT                                         1       2       3      4           5       6       7

(highlighted in SNT algorithm presented in Table 3).                                                     Topology
Considering Figure 1, the same steps are followed as                                                 SNT-Optimal
in the case of SNT. For this simple example there is                                                 SNT-Heuristics
no difference in the stream rates assigned to links 1-5
for SNT and AT. However, note that in SNT only R 1                  101
                                                                   100
has the transcoding capability which is utilized. In                99
                                                                    98
AT, even though both R1 and R2 have the capability,                  97
only R1’s capability is utilized.                                   96
                                                                     95
                                                                    94

5. Performance evaluation                                           93
                                                                                 1       2       3   Topology
                                                                                                         4          5           6       7

    In this section, we present a comparative analysis
of performance of our algorithms with the optimal
                                                                          200
algorithm. Following performance metrics are used:
  (i) average rates delivered at the clients,                              150

  (ii) number of clients serviced, and                                     100
 (iii) CPU time for convergence.                                           50
    We have implemented the algorithms using
                                                                            0
MATLAB. We use the same six randomly generated                                       1       2   3 Topology
                                                                                                      4         5           6       7
topologies having 4 levels as discussed in Section 3.2.
We randomly assign bandwidths chosen from 384               Figures 4(a)(b): SNT -- Avg. delivered rate, % serviced
kbps to 1152 kbps to links up to level 3 and assign                                              clients
bandwidths randomly selected from 128 kbps to 384               4(c): SNT -- CPU time ratio for optimal to heuristics
kbps to the last links, as bottlenecks typically occur in
the last mile. We also use as topology 7, a network         6. Case study: A distance education model
with 200 nodes. We find that, for ST, the performance          Our work was inspired by the Distance Education
of our algorithm mimics the optimal algorithm               Program implemented at IIT Bombay [6]. Classroom
lectures     are    synchronously        transmitted  to                                                           We derive our topology parameters from a snapshot
geographically       distributed     clients    over   a                                                       of the Gnutella peer network [1], having 510 nodes
heterogeneous       network      (for     example,   the                                                       and 14 levels. Note that we are using a single source
dissemination path to a client may include satellite                                                           approximation of the Gnutella peer network.
and terrestrial lines). A client can subscribe to one or                                                            In AT all relay nodes in the entire network are
more courses.                                                                                                  assumed to have transcoding capability. Thus, AT
6.1. System model                                                                                              would provide service to most clients. However, AT
       Given a heterogeneous dissemination model,                                                              is not practical for the following two reasons: (i) it is
without loss of generality, we model the network as                                                            expensive and redundant to enable all relay nodes
having two parts:                                                                                              with transcoding capability and (ii) CSP may not have
   (i) The CSP’s core network, where typically high                                                            control over the access network nodes. We use AT as
bandwidths are available. We assume that links in the                                                          a benchmark and evaluate our two simple strategies
core network are provisioned such that bandwidths in                                                           SNT-1 and SNT-2 under various network topologies
the range of 384 kbps to 1 mbps are available for such                                                         and client requirements. We consider the following
an application. We term the edge nodes in the core                                                             performance parameters:
network as region nodes.                                                                                       (i) number of clients serviced
  (ii) The access network through which the clients                                                            (ii) average percentage improvement in delivered
connect to the region nodes. Typically bottlenecks                                                             rates at clients as compared with their minimum
occur here.                                                                                                    requested rates, and
     We consider the CSP as the source, responsible for                                                        (iii) utilization of transcoding resources which is
content dissemination as well as network                                                                       defined as the percentage of deployed transcoders
management. We assume the following characteristics                                                            that are actually used.
of the model: (i) core network topology remains                                                                       In our first set of experiments, we generate 6
constant (ii) link bandwidths in the network remain                                                            different Gnutella peer-like topologies having total of
static for the duration of the play out. (We relax this                                                        510 nodes and 12-14 levels, starting with 200 nodes in
assumption in our on going work) (iii) clients attach                                                          the core and increasing the size of core by 50 nodes
to region nodes (a maximum of three hops separate a                                                            up to 450 nodes. Note that the access topologies have
client from a region node).                                                                                    310, 260, 210, 160, 110, and 60 nodes respectively
      We consider the following two transcoding node                                                           connected to randomly chosen region nodes through
selection criteria given this system model: (i)                                                                access network of up to three levels. Considering that
transcoding possible at all region nodes (SNT-1), as                                                           typically the links in the CSP’s core network are
all clients connect to the network through a region                                                            highly provisioned, we randomly assign link
node and (ii) transcoding possible only at relay nodes                                                         bandwidths in multiples of 64 kbps such that: (i) in
having multiple outgoing links in the core network                                                             the core network link bandwidths are chosen from 384
(SNT-2), as these relay nodes serve two or more                                                                kbps to 1152 kbps (ii) in the access network, links are
region nodes. Even though we have considered only                                                              assigned bandwidths selected from 128 kbps to 384
two selection options in this paper, note that other                                                           kbps. We set all clients’ requirements to 128 kbps of
options of choosing combinations of nodes based on                                                             minimum rate and ½ hr of delay tolerance.
client history and CSP’s investment constraints can be                                                                In Figure 6(a), we plot using a bar chart, the
given as input to the algorithms. Figures 6A and 6B                                                            percentage improvement in rates along Y-axis, and
illustrate two topologies that emerge based on clients                                                         using a line graph, the number of clients serviced,
joining for a course, and the region from which they                                                           along the secondary Y- axis. We find that SNT-1 and
join.                                                                                                          SNT-2 perform very closely for topology 1 when the
                                                                                                               core topology is small compared with the access
                                                                                                               topology. However, when fewer clients join through
                                                                                                               the access network, having transcoding capability at
                                                                                                               all region node becomes redundant. In this case, as
   15
                           15



                                                    15
                                                                                    15




                                                                                                          15
                                                                                                               shown in Figure 6(a), SNT-2 performs as well as AT
                                                                                                               in delivering enhanced quality to clients while using
                                                    15
                                               15

   15                                                                                                15

                                                    15




                                                                                                               63% less transcoders. We find that utilization of
                                                                                                15
                                      15


                                              15
        15
              15




                                                                                                               SNT-2 is consistently better than AT and SNT-1 as
                   15     15    15                                 15     15


                                                                                          15




             - Source                -Relay                    - Region        15        - client              illustrated in Figure 6(b).
                                                                                                                     We repeat the experiments with randomly chosen
                                                         1 5




        Figure 5: Topologies for two sessions-                                                                 client requirements: minimum rates from 64-256
                        Core network remains constant                                                          kbps; delay tolerance values are chosen from 5min.-1
                                                                                                               hr. As shown in Figure 7(a), we find that SNT-1 and
6.2. Experiments                                                                                               SNT-2 perform closely; however SNT-2 utilizes the
transcoding resources better compared to SNT-1 as                 5min.-1hr.
seen from Figure 7(b). Note that given the investment                                                                                                                                                              AT

constraints of the CSP and client profiles predicted                                                                                                                                                               SNT-1




                                                                   % improvement in delivered
                                                                                                                                                                                                                   SNT-2
                                                                                                                         300                                                       100
from history, a combination of appropriate relay and                                                                                                                                                               AT
                                                                                                                         250                                                       80
                                                                                                                                                                                                                   SNT-1
region nodes can be selected as input to our                                                                                                                                                                       SNT-2
                                                                                                                         200
algorithm.                                                                                                                                                                         60




                                                                                                                                                                                         % serviced clients
                                                                                                      rates
                                                                                                                         150
                                                                                                                                                                                   40
                                                                                                                         100
                                                                                                                             50                                                    20
                                                         AT                                                                   0                                                    0
                                                         SNT-1                                                                         1       2    3      4       5       6
                                                         SNT-2
   35 0                                          120                                                                                                Topology
   300                                                   AT
                                                 100
                                                         SNT-1
   25 0                                          80                                                                 90                                                                                        AT
   200                                                   SNT-2
                                                                                                                    80                                                                                        SNT-1
                                                 60




                                                                                                utilization(in %)
    150                                                                                                             70                                                                                        SNT-2
                                                 40                                                                 60
   100
                                                                                                                    50
     50                                          20
                                                                                                                    40
      0                                          0                                                                  30
                                                                                                                    20
             1    2       3      4       5   6                                                                      10
                                                                                                                         0
                          Topology                                                                                                 1       2        3      4           5       6
                                                                                                                                                    Topology



     90                                                                    Figures 7(a), (b): Evaluation of AT, SNT-1, SNT-2
     80
     70
                                                                                                                    Random topologies, random client requirements
                                                         AT
     60
                                                         SNT -1        Figures 8(a) and 8(b) compare the average rate
     50
     40                                                  SNT -2   improvement, average % utilization, and average %
     30
     20
                                                                  serviced clients for the three strategies. We again find
     10                                                           that SNT-2 edges out SNT-1 in performance.
      0
             1        2       3      4       5       6
                              Topology
                                                                                                                                               avg. rate improvement(in kbps)
 Figures 6(a), (b): Evaluation of AT, SNT-1, SNT-2                                                                                             avg. % utilization
          Random topologies, same client requirements                                                                                          avg. % serviced clients
                                                                                                       Units (kbps, %)




                                                                                                                             200
     In the second set of experiments, we consider a                                                                         150
core topology with 200 nodes and randomly generate                                                                           100
access networks having 50, 70, 90, …., 250 nodes. In                                                                          50
these experiments, the transcoder placements remain                                                                           0
                                                                                                                                               AT              SNT-1               SNT-2
constant for SNT-1 and SNT-2. Our objective is to
study the impact of size of access network on the                                                                                                              Strategy

performance of SNT-1 and SNT-2 as compared with
                                                                                          Units (kbps, %)




AT.                                                                                                                      250
                                                                                                                         200
      We first assume that all clients have uniform                                                                      150
requirements: minimum rate of 128 kbps and delay                                                                         100
tolerance of ½ hr.; we then randomly generate client                                                                         50

requirements as in experiments 1. In Figures 7(a) and                                                                         0
                                                                                                                                           AT             SNT-1                SNT-2
7(b), we find SNT-2 performs better than SNT-1 for                                                                                                       Strategy
both metrics: average utilization and average serviced
                                                                                     Evaluation of AT, SNT-1, SNT-2
clients. The average delivered rate in SNT-2 is less as
                                                                             Figures 8(a): Constant core, same client requirements
it serves more clients with smaller improvements
                                                                                                                     8(b): Constant core, random client requirements
(which affect the overall average value).
    We repeat the experiments with randomly chosen
client requirements: minimum rates are chosen from                6.3. Related work
64-256 kbps; delay tolerance values are chosen from                     Multimedia dissemination is a well-researched
                                                                  topic with many mechanisms proposed for effective
                                                                  and efficient distribution of multimedia data [4][5]
                                                                  [12]. Most of the existing literature treats multimedia
                                                                  applications as soft real time applications where play
                                                                  out of the file begins as soon as the client requests for
                                                                  the data. Typically research has focused on reducing
the startup latency --- a small time lag due to             unit cost for providing transcoding capability. While
buffering at the client to control jitter during the play   cost can be reduced with SNT, delivered rates and
out. In contrast, we are focusing on delay-tolerant         number of serviced users may suffer, which reduce
multimedia applications. While our work may be              the CSP’s revenue. Considering the cost-quality trade
classified under research dealing with placement of         off, our final aim is to build a decision tool for the
Transcoding enabled proxies (TeC) [10], it differs          CSP for efficient use of resources that maximizes its
from existing work in this area, as we deal with delay-     revenue. Our on going work extends this work
tolerant applications.                                      focusing on maximizing revenues for CSP.
   The work in [2] deals with broadcasting multimedia
products in the spare bandwidth available in a              Acknowledgement: We thank Annanda Th. Rath for
television channel. Customers can be provided with a        his help in implementing the random topology
set of delivery options corresponding to the time of        generator.
delivery, which is similar to the notion of delay
tolerance. This work focuses on maximizing profits
for the e-commerce merchant. While we also deal             10. References
with revenue maximization for the CSP, in this paper        [1] An atlas of cyber spaces
we focus on transcoder placement strategies-                http://www.cybergeography.org/atlas/more_topology.html
placement at relay nodes, bit rate conversions they
need to perform- to enhance the delivered rates at          [2] C.C. Aggarwal, M.S. Squillante, J.L. Wolf, P.S. Yu, J.
                                                            Sethuraman, “Optimizing profits in the broadcast delivery of
clients in a heterogeneous multicast environment.           multimedia products”, Fifth International workshop on Multimedia
   More recently, the work proposed in [3] shows that       Information Systems, October 1999.
in a multicast streaming environment, performing
transcoding at intermediate nodes is more efficient         [3] A.Henig and D. Raz, “Efficient Management of Transcoding and
                                                            Multicasting Multimedia Streams”, Integrated Management (IM)
than transcoding at the source or clients. This work        2005, Nice, France.
focuses on finding the lowest cost streaming path
from the source to a set of clients, given that some        [4] J. Liu, B. Li, “Adaptive Video Multicast over the Internet”, IEEE
intermediate nodes have transcoding capability. It          Multimedia, January-March 2003.
does not consider the available bandwidth from the          [5] S. Krithivasan, “Mechanisms for Effective and Efficient
source to the clients and the delivered quality at the      Dissemination of Multimedia”, Technical report, September 2004.
clients. This work reinforces our claim that placement      URL: www.it.iitb.ac.in/~sarask
of transcoding capability at appropriate relay nodes
would increase the effectiveness of the resource            [6] S. Krithivasan, S. Iyer, “To Beam or to Stream: Satellitebased vs.
                                                            Streaming-based Infrastructure for Distance Education” EdMedia,
usage.                                                      June 2004.

                                                            [7] S. Krithivasan, S.Iyer, “Enhancing Quality of Service by
7. Conclusions and future work                              Exploiting Delay Tolerance in Multimedia Applications”, ACM
   In this paper we consider delay tolerant multimedia      Multimedia, Nov. 2005.
applications and discuss algorithms to provide
                                                            [8] S.Roy, M.Covell, J.Ankcorn, S. Wee, and T.Yoshimura. “A
enhanced rates to clients by exploiting their delay         system Architecture for Managing Mobile Streaming Media
tolerance. Transcoders are required at the relay nodes      Services”, Mobile Distributed Computing Workshop, May 2003.
to provide enhanced rates to clients. However,
additional costs of transcoders have to be considered       [9] Y. Shang, M. P.J. Fromherz, and T. Hogg, “Complexity of
                                                            Continuous, 3-SAT-like Constraint Satisfaction Problems”,
for an appropriate decision. We show that Selected          IJCAI-01Workshop on Stochastic Search Algorithms, Aug. 2001.
Node Transcoding (SNT) is often the best option for
effective and efficient use of transcoding resources.       [10] B. Shen, S.J.Lee, “Transcoding-enabled Caching Proxy for
                                                            Video Delivery in Heterogeneous Network Environments”, Internet
Our greedy heuristic based algorithms provide the rate      and Multimedia Systems and Applications (IMSA),2002, pp 360-365.
conversions needed at the transcoding nodes and the
delivered stream rates at the clients. We observe that,     [11] B.Shen, S.Roy, “A very fast video special resolution reduction
* If we denote the basic cost of transcoding facility at    transcoder”, Proc. International Conf. On acoustics speech and
                                                            signal processing (ICASSP), May 2002.
the source by Cbase, cost for ST is given by: CST= Cbase.
* Cost for implementing anywhere transcoding, CAT =         [12] X. Wang, H. Schulzrinne, “Comparison of Adaptive Internet
Cbase + N*CU, where N is the number of relay nodes in       Multimedia Applications”, IEICE Transaction Communication,
                                                            VOL.ES2-B, NO.6, June 1999.
the network and CU is the unit cost for providing
transcoding capability at a node.
* In SNT, cost can be substantially less than C AT even
with a simple SNT option as demonstrated in this
paper. CSNT= Cbase + n*CU, where n⊂N and CU is the

More Related Content

What's hot

Question bank cn2
Question bank cn2Question bank cn2
Question bank cn2sangusajjan
 
Assessing Buffering with Scheduling Schemes in a QoS Internet Router
Assessing Buffering with Scheduling Schemes in a QoS Internet RouterAssessing Buffering with Scheduling Schemes in a QoS Internet Router
Assessing Buffering with Scheduling Schemes in a QoS Internet RouterIOSR Journals
 
Ccna 3-discovery-4-0-module-7-100-
Ccna 3-discovery-4-0-module-7-100-Ccna 3-discovery-4-0-module-7-100-
Ccna 3-discovery-4-0-module-7-100-junkut3
 
Ec8551 communication networks mcq question bank
Ec8551   communication networks mcq question bank Ec8551   communication networks mcq question bank
Ec8551 communication networks mcq question bank JAIGANESH SEKAR
 
Improving QoS of VANET using Network Coding
Improving QoS of VANET using Network CodingImproving QoS of VANET using Network Coding
Improving QoS of VANET using Network CodingDr. Amarjeet Singh
 
20CS2007 Computer Communication Networks
20CS2007 Computer Communication Networks 20CS2007 Computer Communication Networks
20CS2007 Computer Communication Networks Kathirvel Ayyaswamy
 
Transport Layer
Transport LayerTransport Layer
Transport LayerAmin Omi
 
AGPM: An Authenticated Secure Group Communication Protocol for MANETs
AGPM: An Authenticated Secure Group Communication Protocol for MANETsAGPM: An Authenticated Secure Group Communication Protocol for MANETs
AGPM: An Authenticated Secure Group Communication Protocol for MANETsIDES Editor
 
Chapter 3 v6.01 (1)
Chapter 3 v6.01 (1)Chapter 3 v6.01 (1)
Chapter 3 v6.01 (1)Krunal Pawar
 
Scheduling and Resource allocation in 802.11ax (WIFI 6)
Scheduling and Resource allocation in 802.11ax (WIFI 6)Scheduling and Resource allocation in 802.11ax (WIFI 6)
Scheduling and Resource allocation in 802.11ax (WIFI 6)RESHAN FARAZ
 
Creating Ever-changing QoS-constrained Dataflows in Tactical Networks: An Exp...
Creating Ever-changing QoS-constrained Dataflows in Tactical Networks: An Exp...Creating Ever-changing QoS-constrained Dataflows in Tactical Networks: An Exp...
Creating Ever-changing QoS-constrained Dataflows in Tactical Networks: An Exp...Roberto Rigolin F. Lopes
 
Enhancement and performance evaluation of a multicast routing mechanism in zi...
Enhancement and performance evaluation of a multicast routing mechanism in zi...Enhancement and performance evaluation of a multicast routing mechanism in zi...
Enhancement and performance evaluation of a multicast routing mechanism in zi...Raja' Masa'deh
 
Web services and mobile architecture
Web services and mobile architectureWeb services and mobile architecture
Web services and mobile architectureDimple Chandra
 
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute OperationsQuantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute OperationsjournalBEEI
 
Middleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIMiddleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIPrajakta Rane
 

What's hot (20)

Question bank cn2
Question bank cn2Question bank cn2
Question bank cn2
 
Ch22
Ch22Ch22
Ch22
 
Assessing Buffering with Scheduling Schemes in a QoS Internet Router
Assessing Buffering with Scheduling Schemes in a QoS Internet RouterAssessing Buffering with Scheduling Schemes in a QoS Internet Router
Assessing Buffering with Scheduling Schemes in a QoS Internet Router
 
Ccna 3-discovery-4-0-module-7-100-
Ccna 3-discovery-4-0-module-7-100-Ccna 3-discovery-4-0-module-7-100-
Ccna 3-discovery-4-0-module-7-100-
 
Ec8551 communication networks mcq question bank
Ec8551   communication networks mcq question bank Ec8551   communication networks mcq question bank
Ec8551 communication networks mcq question bank
 
Improving QoS of VANET using Network Coding
Improving QoS of VANET using Network CodingImproving QoS of VANET using Network Coding
Improving QoS of VANET using Network Coding
 
20CS2007 Computer Communication Networks
20CS2007 Computer Communication Networks 20CS2007 Computer Communication Networks
20CS2007 Computer Communication Networks
 
Transport Layer
Transport LayerTransport Layer
Transport Layer
 
AGPM: An Authenticated Secure Group Communication Protocol for MANETs
AGPM: An Authenticated Secure Group Communication Protocol for MANETsAGPM: An Authenticated Secure Group Communication Protocol for MANETs
AGPM: An Authenticated Secure Group Communication Protocol for MANETs
 
R44089799
R44089799R44089799
R44089799
 
Nd
NdNd
Nd
 
Chapter 3 v6.01 (1)
Chapter 3 v6.01 (1)Chapter 3 v6.01 (1)
Chapter 3 v6.01 (1)
 
Cs8591 Computer Networks
Cs8591 Computer NetworksCs8591 Computer Networks
Cs8591 Computer Networks
 
Scheduling and Resource allocation in 802.11ax (WIFI 6)
Scheduling and Resource allocation in 802.11ax (WIFI 6)Scheduling and Resource allocation in 802.11ax (WIFI 6)
Scheduling and Resource allocation in 802.11ax (WIFI 6)
 
Creating Ever-changing QoS-constrained Dataflows in Tactical Networks: An Exp...
Creating Ever-changing QoS-constrained Dataflows in Tactical Networks: An Exp...Creating Ever-changing QoS-constrained Dataflows in Tactical Networks: An Exp...
Creating Ever-changing QoS-constrained Dataflows in Tactical Networks: An Exp...
 
Chapter 8 v6.0
Chapter 8 v6.0Chapter 8 v6.0
Chapter 8 v6.0
 
Enhancement and performance evaluation of a multicast routing mechanism in zi...
Enhancement and performance evaluation of a multicast routing mechanism in zi...Enhancement and performance evaluation of a multicast routing mechanism in zi...
Enhancement and performance evaluation of a multicast routing mechanism in zi...
 
Web services and mobile architecture
Web services and mobile architectureWeb services and mobile architecture
Web services and mobile architecture
 
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute OperationsQuantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
 
Middleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIMiddleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMI
 

Viewers also liked

Clasificación de la alimentación de los animales
Clasificación de la alimentación de los animalesClasificación de la alimentación de los animales
Clasificación de la alimentación de los animalessandi01
 
Geopolitik & Gold: US-Imperialismus findet seinen Meister
Geopolitik & Gold: US-Imperialismus findet seinen MeisterGeopolitik & Gold: US-Imperialismus findet seinen Meister
Geopolitik & Gold: US-Imperialismus findet seinen Meistergoldsilbershopde
 
Andalucía Lab: nuestro 2013 en imagenes
Andalucía Lab: nuestro 2013 en imagenesAndalucía Lab: nuestro 2013 en imagenes
Andalucía Lab: nuestro 2013 en imagenesandalucialab
 
Handgeführte Kehrmaschine Stangl - Sweepmaster B500
Handgeführte Kehrmaschine Stangl - Sweepmaster B500Handgeführte Kehrmaschine Stangl - Sweepmaster B500
Handgeführte Kehrmaschine Stangl - Sweepmaster B500Stangl Reinigungstechnik
 
Ud 5 tensions i conflictes del segle xx
Ud 5 tensions i conflictes del segle xxUd 5 tensions i conflictes del segle xx
Ud 5 tensions i conflictes del segle xxmarcapmany
 
Opensoutheastasia Ergebnisse workshop - Damian Paderta
Opensoutheastasia Ergebnisse workshop - Damian PadertaOpensoutheastasia Ergebnisse workshop - Damian Paderta
Opensoutheastasia Ergebnisse workshop - Damian PadertaDamian Paderta
 
Karate open 2012_v2
Karate open 2012_v2Karate open 2012_v2
Karate open 2012_v2emiliomerayo
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Jürg Stuker
 
Repàs selectivitat
Repàs selectivitatRepàs selectivitat
Repàs selectivitatmarcapmany
 
MovingIMAGE24 Vortrag Video Marketing Konferenz
MovingIMAGE24 Vortrag Video Marketing KonferenzMovingIMAGE24 Vortrag Video Marketing Konferenz
MovingIMAGE24 Vortrag Video Marketing KonferenzSteffen Joniak
 
Actividades 2013 en Andalucía Lab
Actividades 2013 en Andalucía Lab Actividades 2013 en Andalucía Lab
Actividades 2013 en Andalucía Lab andalucialab
 
Moodle: gestión de cursos y contenidos
Moodle: gestión de cursos y contenidosMoodle: gestión de cursos y contenidos
Moodle: gestión de cursos y contenidosLuis Miguel García
 
Cellphone Photographer
Cellphone PhotographerCellphone Photographer
Cellphone PhotographerGarnett77
 

Viewers also liked (20)

Clasificación de la alimentación de los animales
Clasificación de la alimentación de los animalesClasificación de la alimentación de los animales
Clasificación de la alimentación de los animales
 
Geopolitik & Gold: US-Imperialismus findet seinen Meister
Geopolitik & Gold: US-Imperialismus findet seinen MeisterGeopolitik & Gold: US-Imperialismus findet seinen Meister
Geopolitik & Gold: US-Imperialismus findet seinen Meister
 
Andalucía Lab: nuestro 2013 en imagenes
Andalucía Lab: nuestro 2013 en imagenesAndalucía Lab: nuestro 2013 en imagenes
Andalucía Lab: nuestro 2013 en imagenes
 
Handgeführte Kehrmaschine Stangl - Sweepmaster B500
Handgeführte Kehrmaschine Stangl - Sweepmaster B500Handgeführte Kehrmaschine Stangl - Sweepmaster B500
Handgeführte Kehrmaschine Stangl - Sweepmaster B500
 
Stangl Kehrsaugmaschine Sweepmaster B800R
Stangl Kehrsaugmaschine Sweepmaster B800RStangl Kehrsaugmaschine Sweepmaster B800R
Stangl Kehrsaugmaschine Sweepmaster B800R
 
Encuesta
EncuestaEncuesta
Encuesta
 
Ud 5 tensions i conflictes del segle xx
Ud 5 tensions i conflictes del segle xxUd 5 tensions i conflictes del segle xx
Ud 5 tensions i conflictes del segle xx
 
Opensoutheastasia Ergebnisse workshop - Damian Paderta
Opensoutheastasia Ergebnisse workshop - Damian PadertaOpensoutheastasia Ergebnisse workshop - Damian Paderta
Opensoutheastasia Ergebnisse workshop - Damian Paderta
 
Karate open 2012_v2
Karate open 2012_v2Karate open 2012_v2
Karate open 2012_v2
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003
 
Repàs selectivitat
Repàs selectivitatRepàs selectivitat
Repàs selectivitat
 
Un viaje de vida
Un viaje de vidaUn viaje de vida
Un viaje de vida
 
MovingIMAGE24 Vortrag Video Marketing Konferenz
MovingIMAGE24 Vortrag Video Marketing KonferenzMovingIMAGE24 Vortrag Video Marketing Konferenz
MovingIMAGE24 Vortrag Video Marketing Konferenz
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Actividades 2013 en Andalucía Lab
Actividades 2013 en Andalucía Lab Actividades 2013 en Andalucía Lab
Actividades 2013 en Andalucía Lab
 
Capri Solutions
Capri SolutionsCapri Solutions
Capri Solutions
 
Boletim 290613
Boletim   290613Boletim   290613
Boletim 290613
 
Moodle: gestión de cursos y contenidos
Moodle: gestión de cursos y contenidosMoodle: gestión de cursos y contenidos
Moodle: gestión de cursos y contenidos
 
Cellphone Photographer
Cellphone PhotographerCellphone Photographer
Cellphone Photographer
 
Diccionario
DiccionarioDiccionario
Diccionario
 

Similar to sarasism2006.doc

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Ccna day5-140715152501-phpapp01
Ccna day5-140715152501-phpapp01Ccna day5-140715152501-phpapp01
Ccna day5-140715152501-phpapp01Sachin Morya
 
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...cscpconf
 
1102159.334 CP ALB Internal - Page 1 of 7 - .docx
1102159.334 CP       ALB Internal  - Page 1 of  7 - .docx1102159.334 CP       ALB Internal  - Page 1 of  7 - .docx
1102159.334 CP ALB Internal - Page 1 of 7 - .docxhyacinthshackley2629
 
Some important networking questions
Some important networking questionsSome important networking questions
Some important networking questionsSrikanth
 
MC0087 Internal Assignment (SMU)
MC0087 Internal Assignment (SMU)MC0087 Internal Assignment (SMU)
MC0087 Internal Assignment (SMU)Krishan Pareek
 
Bt0072 computer networks 1
Bt0072 computer networks  1Bt0072 computer networks  1
Bt0072 computer networks 1Techglyphs
 
Connecting network
Connecting networkConnecting network
Connecting networkimacomobio
 
Simulation of Turbo Convolutional Codes for Deep Space Mission
Simulation of Turbo Convolutional Codes for Deep Space MissionSimulation of Turbo Convolutional Codes for Deep Space Mission
Simulation of Turbo Convolutional Codes for Deep Space MissionIJERA Editor
 
A New MultiChannel MAC Protocol With On-Demand Channel Assignment For Multi-H...
A New MultiChannel MAC Protocol With On-Demand Channel Assignment For Multi-H...A New MultiChannel MAC Protocol With On-Demand Channel Assignment For Multi-H...
A New MultiChannel MAC Protocol With On-Demand Channel Assignment For Multi-H...Wendy Hager
 

Similar to sarasism2006.doc (20)

ch5-network.ppt
ch5-network.pptch5-network.ppt
ch5-network.ppt
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Week10 transport
Week10 transportWeek10 transport
Week10 transport
 
Wan asignment
Wan asignmentWan asignment
Wan asignment
 
Network (FE)
Network (FE)Network (FE)
Network (FE)
 
Bcs 061
Bcs 061Bcs 061
Bcs 061
 
Ccna day5
Ccna day5Ccna day5
Ccna day5
 
Ccna day5
Ccna day5Ccna day5
Ccna day5
 
Ccna day5-140715152501-phpapp01
Ccna day5-140715152501-phpapp01Ccna day5-140715152501-phpapp01
Ccna day5-140715152501-phpapp01
 
Ccna day5
Ccna day5Ccna day5
Ccna day5
 
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
ASSURED NEIGHBOR BASED COUNTER PROTOCOL ON MAC-LAYER PROVIDING SECURITY IN MO...
 
Computer network suggestion
Computer network suggestionComputer network suggestion
Computer network suggestion
 
1102159.334 CP ALB Internal - Page 1 of 7 - .docx
1102159.334 CP       ALB Internal  - Page 1 of  7 - .docx1102159.334 CP       ALB Internal  - Page 1 of  7 - .docx
1102159.334 CP ALB Internal - Page 1 of 7 - .docx
 
Some important networking questions
Some important networking questionsSome important networking questions
Some important networking questions
 
MC0087 Internal Assignment (SMU)
MC0087 Internal Assignment (SMU)MC0087 Internal Assignment (SMU)
MC0087 Internal Assignment (SMU)
 
Bt0072 computer networks 1
Bt0072 computer networks  1Bt0072 computer networks  1
Bt0072 computer networks 1
 
Chapter3 transport
Chapter3 transportChapter3 transport
Chapter3 transport
 
Connecting network
Connecting networkConnecting network
Connecting network
 
Simulation of Turbo Convolutional Codes for Deep Space Mission
Simulation of Turbo Convolutional Codes for Deep Space MissionSimulation of Turbo Convolutional Codes for Deep Space Mission
Simulation of Turbo Convolutional Codes for Deep Space Mission
 
A New MultiChannel MAC Protocol With On-Demand Channel Assignment For Multi-H...
A New MultiChannel MAC Protocol With On-Demand Channel Assignment For Multi-H...A New MultiChannel MAC Protocol With On-Demand Channel Assignment For Multi-H...
A New MultiChannel MAC Protocol With On-Demand Channel Assignment For Multi-H...
 

More from Videoguy

Energy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingEnergy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingVideoguy
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresVideoguy
 
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingVideoguy
 
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksFree-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksVideoguy
 
Instant video streaming
Instant video streamingInstant video streaming
Instant video streamingVideoguy
 
Video Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideo Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideoguy
 
Video Streaming
Video StreamingVideo Streaming
Video StreamingVideoguy
 
Reaching a Broader Audience
Reaching a Broader AudienceReaching a Broader Audience
Reaching a Broader AudienceVideoguy
 
Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Videoguy
 
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGVideoguy
 
Impact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingImpact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingVideoguy
 
Application Brief
Application BriefApplication Brief
Application BriefVideoguy
 
Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Videoguy
 
Streaming Video into Second Life
Streaming Video into Second LifeStreaming Video into Second Life
Streaming Video into Second LifeVideoguy
 
Flash Live Video Streaming Software
Flash Live Video Streaming SoftwareFlash Live Video Streaming Software
Flash Live Video Streaming SoftwareVideoguy
 
Videoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoguy
 
Streaming Video Formaten
Streaming Video FormatenStreaming Video Formaten
Streaming Video FormatenVideoguy
 
iPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareiPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareVideoguy
 
Glow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxGlow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxVideoguy
 

More from Videoguy (20)

Energy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingEnergy-Aware Wireless Video Streaming
Energy-Aware Wireless Video Streaming
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_Pres
 
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video Streaming
 
Adobe
AdobeAdobe
Adobe
 
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksFree-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
 
Instant video streaming
Instant video streamingInstant video streaming
Instant video streaming
 
Video Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideo Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A Survey
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Reaching a Broader Audience
Reaching a Broader AudienceReaching a Broader Audience
Reaching a Broader Audience
 
Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...
 
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
 
Impact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingImpact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video Streaming
 
Application Brief
Application BriefApplication Brief
Application Brief
 
Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Video Streaming Services – Stage 1
Video Streaming Services – Stage 1
 
Streaming Video into Second Life
Streaming Video into Second LifeStreaming Video into Second Life
Streaming Video into Second Life
 
Flash Live Video Streaming Software
Flash Live Video Streaming SoftwareFlash Live Video Streaming Software
Flash Live Video Streaming Software
 
Videoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions Cookbook
 
Streaming Video Formaten
Streaming Video FormatenStreaming Video Formaten
Streaming Video Formaten
 
iPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareiPhone Live Video Streaming Software
iPhone Live Video Streaming Software
 
Glow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxGlow: Video streaming training guide - Firefox
Glow: Video streaming training guide - Firefox
 

sarasism2006.doc

  • 1. Strategies for Efficient Streaming in Delay-tolerant Multimedia Applications Saraswathi Krithivasan, Sridhar Iyer IIT Bombay saras,sri @it.iitb.ac.in Abstract A review of the existing mechanisms (details are presented in Section 6.3) for effective and efficient We consider Multimedia applications where clients delivery of multimedia in [4][5][12] indicates that specify: a minimum desired stream rate (quality) and existing work treats multimedia dissemination as a a time till when they are willing to wait, termed delay soft real-time application that can tolerate some tolerance. The Content Service Provider’s (CSP) transmission errors and aims to minimize the startup objective is to service as many clients’ requests for delay. In contrast, we focus on multimedia the same Multimedia content with a single stream applications that can tolerate startup delays. We while satisfying their requirements. We propose an illustrate the problem using a simple example below: approach to determine the optimal rates delivered at clients and study three transcoder deployment 512 384 strategies: 1 S 2 (i) Source Transcoding (ST): when content encoded at different rates are available only at the source R1 C1 256 256 (ii)Anywhere Transcoding (AT): when transcoding 3 4 capability is available at all intermediate nodes, and (iii)Selected Node Transcoding (SNT): when R2 128 transcoding capability is available at selected 5 C2 intermediate nodes. Considering the complexity of the optimal solution, C3 we propose a set of heuristic based algorithms for delivering enhanced rates to clients using the three strategies. A practical content dissemination network Figure 1: Motivating example model is used to demonstrate the effectiveness of our strategies. Source S is streaming contents to clients C1, C2, and C3 connected with links 1 to 5, with bandwidths 1. Introduction in kbps as indicated in Figure 1. Let the base encoding With the proliferation of networks connecting rate of the file be 512 kbps and the duration of the different parts of the world, several popular streaming play out be 1 hour. We assume the same requirements media applications have emerged including: for all three clients: a minimum rate of 128 kbps and universities offering their courses to a set of global delay tolerance of 30 minutes. Our objective is to subscribers, service providers streaming movies provide the best possible rates to clients in this requested by their clients, and multinational network. We consider the following cases: corporations providing training to employees across (i) Source Transcoding (ST), where only the source is cities. These multimedia applications are delay- capable of transcoding, assuming zero delay tolerant, where clients request the start of play back at tolerance: Clients require immediate play out without a convenient time specified by (t+d i) where t is the loss (delay tolerance =0). Weakest links in the paths current time and di is the delay tolerance acceptable from S to C1, C2, and C3 are 384 kbps, 256 kbps, and to client Ci. Clients also specify a minimum 128 kbps respectively. C1 gets 384 kbps while both C2 acceptable quality, typically specified as the encoding and C3 get 128 kbps as they share the first link, and rate. Typical characteristics of such applications since no transcoding is possible in the relay nodes. include: (i) a source that is responsible for the (ii) Source Transcoding (ST) considering clients’ dissemination of contents; (ii) a set of geographically delay tolerance of ½ hr: The following rates can be distributed clients connected through links of varying delivered at the clients: C1: 512 kbps, C2: 384 kbps, capacities and characteristics and (iii) intermediate and C3: 192 kbps (refer to Section 2 for the expression nodes which forward the data termed relay nodes. used in the calculation). C1 gets 512 kbps, being a client directly connected to the source. However, in ST as no transcoding is possible in the relay nodes,
  • 2. both C2 and C3 get 192 kbps. Note that the delivered implication of using the proposed strategies in Section rates have improved for all the three clients when 5. Our conclusions are presented in Section 6. their delay tolerance is considered [7]. 2. Problem formulation (iii) Anywhere Transcoding (AT), where transcoding We consider a simple network having a source S, capability is available at all relay nodes, considering relay node R, and a client C as the basic block, as clients’ delay tolerance of ½ hr: C1 still gets 512 kbps, shown in Figure 2. (Table 1 defines the notation used the best possible rate, and C2 gets 384 kbps as R1 in this section.) transcodes the stream from 512 kbps to 384 kbps for Link l1 Link l2 C2. C3 gets 192 kbps. However, when transcoders are available both at R1 and R2, there may be redundant S R C use of transcoders to deliver 192 kbps to C3. In this a kbps b kbps example two transcoders are used – R1 converts stream from 512 to 384 kbps, R2 from 384 to 192 Figure 2: Basic block kbps. (iv) Selected Node Transcoding (SNT), where transcoding capability is provided only at selected Table 1: Notation used nodes, considering clients’ delay tolerance of ½ hr: α: Base-encoding rate (highest fidelity) of the By restricting transcoding capability only to R1, we multimedia file at S. can still achieve the same rates at the clients as in rc: Stream rate delivered at C : Play out rate at C case (iii) while reducing costs. dc: Delay tolerance specified by C Note that the selection strategy can be based on a: Link bandwidth between S and R.: Link rate of l1 several criteria, using simple logic all the way to b: Link bandwidth between R and C.: Link rate of l2 exploiting complex information on the CSP’s T: Play out duration of the Multimedia content investment constraints and knowledge of client Let a < b, i.e., Min (a,b)= a; Stream rate that can be history. One example of a simple but effective delivered at C, rc is given by: selection rule that we use: select only those relay rc = α if a >= α ; nodes that have more than one out going link. =a if dc=0 and a < α ; From the above discussion, the following points = a + ((a* dc)/T) otherwise; (1) emerge: (i) Clients’ delay tolerance can be leveraged Equation (1) is derived as follows: to provide enhanced rates to clients (ii) Transcoding * When the bandwidth of the weakest link in C’s path capability is required at the relay nodes to serve the is greater than or equal to the base-encoding rate, C clients with enhanced rates without loss, and (iii) can start the play out immediately at the base- Through selective placement of transcoding capability encoding rate, the best possible quality. If the client at appropriate relay nodes, resources can be specifies a delay tolerance value, data needs to be efficiently utilized by the CSP. buffered at the client for the duration of the delay At the same time, from the CSP’s perspective, the tolerance. following questions remain: * When the weakest link is less than the base 1.Using a single stream and by exploiting the delay encoding rate and the client’s delay tolerance is zero, tolerance of the clients, what is the best rate that can the delivered stream rate is equal to the weakest link be delivered to each client? rate for loss-free play-out at the client. 2. Assuming transcoding capability at (only some * Suppose C specifies a delay tolerance value dc. a is of) the nodes in the network, which transcoders have the minimum bandwidth in the path between S and C. to be enabled and what rate conversions would they When the stream is encoded at a kbps, C receives it perform? without any loss, immediately. But C waits for time 3. Delivered rates at clients depend on the network dc, its delay tolerance value before the play out starts. topology, link bandwidths, and client requirements. However, during this waiting time, an amount of data Given this, what transcoder placement strategy – ST, can be streamed to C is given by: a * dc. The amount AT, or SNT– needs to be invoked such that resource of extra data that C gets per second is: a * dc /T, utilization and revenue are maximized? where T is the play out duration of the stream. Thus, In this paper we address these questions using an the delivered stream rate at C is, optimization approach explained in Section 3. Given rc== a + ((a*dc)/T). the complexity of the optimization problem we Equation (1) provides the upper bound on the develop greedy heuristic based algorithms that stream rate delivered at the client, as it considers the approximate the optimal solution, presented in client’s path in isolation. In a topology with multiple Section 4. We present a case study of a practical clients with shared links, finding the delivered stream content dissemination model to understand the rate at every client in the network is non-trivial. (Refer to Case (ii) of the motivating example). Also,
  • 3. given that our objective is to service clients without Let Li be the latency that will satisfy the delay any loss, appropriate placement of transcoders in the tolerance specified by client Ci. There are two factors relay nodes is necessary. In the following section we that contribute to Li: (i) the latency introduced due to present an optimization approach to determine the buffering Lb, when a stream encoded at a higher rate client play-out rates for each of the three transcoder is flowing through a link having lesser bandwidth, and placement strategies: ST, AT, and SNT. (ii) latency introduced due to transcoding in the relay 3. Optimization approach nodes, Lt. As per the property of streaming, since the We formulate our objective of maximizing bits are streamlined, Lb depends on the bandwidth of delivered stream rates across all clients in the network the weakest link bw, in the path from S to Ci. Let ri be as an optimization problem, where paths from source the delivered stream rate and T be the play out to every client in the network are considered: duration of the file. The expression for Lb is given by: Design variables - Lb = ((ri- bw)/ bw)*T (2) Stream Rates xm flowing through links lm To find the transcoding latency, we assume each Objective function -Maximize delivered stream rates transcoding enabled relay node to be a RTP/RTSP at the clients, written as: client as in [10]. As the bits are streamed, they go into Minimize Σi (α – xi)2, where α is the base encoding an in-buffer (large enough to hold bits required for rate and xi is the stream rate flowing through link li. transcoding) and the transcoded bits are pushed into Since transcoding is a process where encoded rates the out-buffer. The processing rate is defined as the can only be reduced, we desire to maximize the number of bits processed by the transcoder per stream rates through every link in the network. second. As long as this rate is more than Constraints - Following constraints are applied to the Min(bandwidth of the incoming link , bandwidth of objective function: outgoing link), there is no significant latency * Rate constraint: This constraint ensures that the introduced due to the transcoding process. Also, stream rate flowing across any link in the network is compressed domain transcoding [8][11] has improved bounded by the base-encoding rate, which is the the speed of transcoding as it reuses motion highest possible stream rate. We represent this information. Thus, we include a small constant constraint as: xm<= α, where α is the base encoding transcoding latency Lt, the worst-case delay that may rate. result from deploying transcoders in the relay nodes. * Transcoder constraint: This constraint is used to Note that due to the real-time nature of the respect the property of transcoding that incoming transcoding process and the pipelining property of stream rate at the transcoding node is greater than or streaming, irrespective of the number of transcoders equal to its outgoing rate. used in the path of a client, transcoding latency When ST policy is enforced, this constraint is remains constant. Thus, latency Li is given by: Li= specified as: for every client Ci, all link rates, xi s, in L b+ L t (3) its path are equal, represented as: (xs = xn= …= xi) for 3.2. Need for heuristics client i, having links ls , ln,…,l i in its path. We use fmincon function from the optimization Under AT, we specify the constraint as: xs>= xn; toolbox of MATLAB to find the optimal delivered xm>= xn … for client i, having links ls , lm, ln…. in its rates at the clients. Function fmincon uses Sequential path. Quadratic Programming (SQP) optimization method In SNT, some relay nodes are selected as [9]. It is a gradient descent based search algorithm in transcoding nodes. Suppose (ls , la), (lc, lk) are pairs of the continuous search space. It starts from an initial links (incoming and outgoing) of nodes with point and usually converges to a constrained local transcoding capability and (lb , lm), (ld, ln) are pairs of optimum close to the initial point. links of nodes that do not have transcoding capability Considering our optimization formulation, suppose in the path of Ci. We use the inequality constraints (xs we have m links in the path, in the worst case the >= xa), (xc>= xk) and equality constraints (xb= xm), optimizer solves the problem by trying all possible (xd= xn). values for the n distinct values corresponding to the * Delay tolerance constraint: This constraint ensures effective rates that flow across the links. A total of m that the client specified delay tolerance di is not n computations are needed. Thus, if there are 20 links exceeded while delivering enhanced rate to the client. in the path with each taking one of 15 possible values, It is specified as: the search space is of the order of 2015. Li <= di, where Li is the latency incurred in the path To understand the complexity of the optimization from S to Ci, due to buffering and transcoding. We algorithm, we generate 6 random topologies with derive the expression for Li below. randomly assigned link bandwidths having 20, 28, 36, 3.1. Expression for latency 44, 52, and 60 nodes respectively. All other parameters including client requirements (minimum rate 128 kbps, Delay tolerance: ½ hr.) and
  • 4. transmission duration (1 hr.) are kept constant. Figure Table 2: Algorithm 1: ST 3 presents the measured CPU time for the Input: currentroot: source id is given as currentroot optimization algorithm to converge, when transcoding Output: globaloptimrates: rates delivered at clients is allowed at all relay nodes (AT). We observe that For each subtree rooted at currentroot when the number of nodes is increased three times, If the subtree root is a client from 20 to 60, the CPU time taken for the algorithm Find local optimal rate for the client %using Equation 1% to converge has increased by 16.85 times, from 0.42 Return value in globaloptimates for that client Else seconds to 7.08 seconds. For each client in the subtree Considering the complexity of the optimization Find local optimal rate for the client %using Equation algorithm, we present algorithms based on greedy 1% heuristics in the next section. Store value in localoptimrates() End Newrate= min(localoptimrates) CPU time For each client in the subtree 8 Return newrate in globaloptimates End CPU time (in secs.) 7 6 End 5 End 4 3 4.3. Selected Node Transcoding (SNT) 2 1 We present the algorithm for SNT first as by 0 removing the condition to check whether a node is 1 2 3 4 Topology 5 6 capable of transcoding, we get the algorithm for AT. Figure 3: Comp. time of optimization approach Relay nodes that have more than one outgoing link are chosen to have transcoding capability, as any of 4. Heuristic based approach these nodes are potential transcoding nodes. In this section we discuss algorithms for the three The algorithm uses a greedy heuristic that executes transcoder deployment strategies that can be used by the following steps: the CSP that approximate the optimization algorithm. (i) Starting from the source, for each subtree find These algorithms are efficient, they converge within the local optimal rates for clients in that subtree. few seconds, even for topologies with hundreds of (ii) Find the max of these rates. nodes, yet deliver good QoS to clients. (iii) Assign this value to the link from the root of the 4.1. Local and global optimal rates tree to the subtree root (the first link in that subtree). Algorithms presented below use equation (1) from This process is recursively carried out for all Section 2 to find the best rate deliverable at any subtrees at every level such that the stream rates client, ignoring the constraints that arise due to the flowing through each link in the tree is determined. sharing of links in its path. This rate provides the Note that the stream rate flowing through the last link upper bound on the rate deliverable at a given client. to client is the delivered rate at that client. We term this local optimal rate for the client as the client is considered in isolation. We use the local Table 3: Algorithm 2: SNT Inputs: currentroot: id of current subtree root optimal rates of all clients in a subtree to determine currentrate:current stream rate the rates delivered to clients in that subtree, termed Output: globaloptimrates: rates delivered at clients global optimal rates as the entire subtree is considered. The algorithms are elaborated below. Globalalgo(currentroot,currentrate) If currentroot is a client 4.2. Source Transcoding (ST) Compute localoptimrate %using equation 1% In ST, the source is capable of providing different Return value in globaloptimates for that client encoded rates for different subtrees emanating from it. Else %if current root is not a client % Find the subtrees based at the currentroot Our goal is to service all clients in a subtree without For each subtree root any loss and without using any transcoders at the If the subtree root is a client relay nodes. To achieve this goal, we consider each Find localoptimrate for the client %using equation 1% subtree rooted at the source and find the minimum of Store value in localoptimrates() Else the deliverable local optimal rates in that subtree, For each client in the subtree considering the delay tolerance values of the clients. Find localoptimrate for the client The source encodes the file at this rate for that subtree Store value in localoptimrates() End so that all clients in that subtree receive the file End without loss. Referring to Figure 1 (Section 1), S End transcodes the file to two versions at 512 kbps for C 1 newrate= max(localoptimrates) in subtree 1 and 192 kbps for clients C 2 and C3 in If newrate is < previous link rate If currentroot is capable of transcoding % This subtree 2. Detailed algorithm is presented in Table 2. additional condition is checked for SNT% Subtract transcoding delay from all affected clients’ delay tolerance values and find their localoptimrates newrate= max(localoptimrates) End End Call Globalalgo with subtreeroot as current root and newrate as startrate End
  • 5. exactly as our algorithm also finds the best possible rate delivered at clients using the weakest link in a sub-tree. For AT and SNT, our algorithms work close to the optimal algorithms in predicting the delivered rates for clients. As explained in the previous section, our algorithms are based on greedy heuristics, where stream rates once assigned to links are not changed (no back tracking). Due to this, some clients may be We use the max function to assign the stream rate denied service as client requirements may not be to a link shared by many clients. Given our future satisfied, especially in the case of SNT. This is seen in research objectives where we consider dynamic client Figure 4(a) for topology 7. Figure 4(b) provides the arrivals, this is an informed choice as transcoding is a average delivered rates at the clients. Note that for one-way process, where bit rates can only be reduced. small topologies our algorithms work as good as the With reference to Figure 1, link 2 in subtree 1 is optimal algorithm, for a large topology as in topology assigned 512 kbps; As C1 is the only client, delivered 7, close to 96% of the clients are serviced; However, rate at C1 is 512 kbps. Subtree 2 has two clients C2 the average delivered rates predicted by our and C3. Max of their local optimal rates is 384 kbps. algorithms is better, as the average is calculated over This rate is assigned to link 1. The recursive fewer clients. algorithm now finds the subtrees rooted at R1. The We plot the ratio of CPU time for optimal first subtree has only client C2 and hence 384 kbps is algorithm to our algorithm for SNT in Figure 4(c) that assigned to link 4; C2 gets 384 kbps. The second clearly indicates the applicability of our algorithms subtree has only client C3, its local optimal rate being for quick decision-making in practical scenarios. In 192 kbps. This rate is assigned to link 3. Next step in the next section, we present such a practical network the recursion considers the only subtree rooted at R 2 scenario. and assigns 192 kbps to link 5; C3 gets 192 kbps. The top-level recursive algorithm is presented in Table 3. 600 400 4.3. Anywhere Transcoding (AT) AT is the non-restrictive case of SNT. As all relay 200 nodes are capable of transcoding, stream rates are 0 assigned without the additional check in SNT 1 2 3 4 5 6 7 (highlighted in SNT algorithm presented in Table 3). Topology Considering Figure 1, the same steps are followed as SNT-Optimal in the case of SNT. For this simple example there is SNT-Heuristics no difference in the stream rates assigned to links 1-5 for SNT and AT. However, note that in SNT only R 1 101 100 has the transcoding capability which is utilized. In 99 98 AT, even though both R1 and R2 have the capability, 97 only R1’s capability is utilized. 96 95 94 5. Performance evaluation 93 1 2 3 Topology 4 5 6 7 In this section, we present a comparative analysis of performance of our algorithms with the optimal 200 algorithm. Following performance metrics are used: (i) average rates delivered at the clients, 150 (ii) number of clients serviced, and 100 (iii) CPU time for convergence. 50 We have implemented the algorithms using 0 MATLAB. We use the same six randomly generated 1 2 3 Topology 4 5 6 7 topologies having 4 levels as discussed in Section 3.2. We randomly assign bandwidths chosen from 384 Figures 4(a)(b): SNT -- Avg. delivered rate, % serviced kbps to 1152 kbps to links up to level 3 and assign clients bandwidths randomly selected from 128 kbps to 384 4(c): SNT -- CPU time ratio for optimal to heuristics kbps to the last links, as bottlenecks typically occur in the last mile. We also use as topology 7, a network 6. Case study: A distance education model with 200 nodes. We find that, for ST, the performance Our work was inspired by the Distance Education of our algorithm mimics the optimal algorithm Program implemented at IIT Bombay [6]. Classroom
  • 6. lectures are synchronously transmitted to We derive our topology parameters from a snapshot geographically distributed clients over a of the Gnutella peer network [1], having 510 nodes heterogeneous network (for example, the and 14 levels. Note that we are using a single source dissemination path to a client may include satellite approximation of the Gnutella peer network. and terrestrial lines). A client can subscribe to one or In AT all relay nodes in the entire network are more courses. assumed to have transcoding capability. Thus, AT 6.1. System model would provide service to most clients. However, AT Given a heterogeneous dissemination model, is not practical for the following two reasons: (i) it is without loss of generality, we model the network as expensive and redundant to enable all relay nodes having two parts: with transcoding capability and (ii) CSP may not have (i) The CSP’s core network, where typically high control over the access network nodes. We use AT as bandwidths are available. We assume that links in the a benchmark and evaluate our two simple strategies core network are provisioned such that bandwidths in SNT-1 and SNT-2 under various network topologies the range of 384 kbps to 1 mbps are available for such and client requirements. We consider the following an application. We term the edge nodes in the core performance parameters: network as region nodes. (i) number of clients serviced (ii) The access network through which the clients (ii) average percentage improvement in delivered connect to the region nodes. Typically bottlenecks rates at clients as compared with their minimum occur here. requested rates, and We consider the CSP as the source, responsible for (iii) utilization of transcoding resources which is content dissemination as well as network defined as the percentage of deployed transcoders management. We assume the following characteristics that are actually used. of the model: (i) core network topology remains In our first set of experiments, we generate 6 constant (ii) link bandwidths in the network remain different Gnutella peer-like topologies having total of static for the duration of the play out. (We relax this 510 nodes and 12-14 levels, starting with 200 nodes in assumption in our on going work) (iii) clients attach the core and increasing the size of core by 50 nodes to region nodes (a maximum of three hops separate a up to 450 nodes. Note that the access topologies have client from a region node). 310, 260, 210, 160, 110, and 60 nodes respectively We consider the following two transcoding node connected to randomly chosen region nodes through selection criteria given this system model: (i) access network of up to three levels. Considering that transcoding possible at all region nodes (SNT-1), as typically the links in the CSP’s core network are all clients connect to the network through a region highly provisioned, we randomly assign link node and (ii) transcoding possible only at relay nodes bandwidths in multiples of 64 kbps such that: (i) in having multiple outgoing links in the core network the core network link bandwidths are chosen from 384 (SNT-2), as these relay nodes serve two or more kbps to 1152 kbps (ii) in the access network, links are region nodes. Even though we have considered only assigned bandwidths selected from 128 kbps to 384 two selection options in this paper, note that other kbps. We set all clients’ requirements to 128 kbps of options of choosing combinations of nodes based on minimum rate and ½ hr of delay tolerance. client history and CSP’s investment constraints can be In Figure 6(a), we plot using a bar chart, the given as input to the algorithms. Figures 6A and 6B percentage improvement in rates along Y-axis, and illustrate two topologies that emerge based on clients using a line graph, the number of clients serviced, joining for a course, and the region from which they along the secondary Y- axis. We find that SNT-1 and join. SNT-2 perform very closely for topology 1 when the core topology is small compared with the access topology. However, when fewer clients join through the access network, having transcoding capability at all region node becomes redundant. In this case, as 15 15 15 15 15 shown in Figure 6(a), SNT-2 performs as well as AT in delivering enhanced quality to clients while using 15 15 15 15 15 63% less transcoders. We find that utilization of 15 15 15 15 15 SNT-2 is consistently better than AT and SNT-1 as 15 15 15 15 15 15 - Source -Relay - Region 15 - client illustrated in Figure 6(b). We repeat the experiments with randomly chosen 1 5 Figure 5: Topologies for two sessions- client requirements: minimum rates from 64-256 Core network remains constant kbps; delay tolerance values are chosen from 5min.-1 hr. As shown in Figure 7(a), we find that SNT-1 and 6.2. Experiments SNT-2 perform closely; however SNT-2 utilizes the
  • 7. transcoding resources better compared to SNT-1 as 5min.-1hr. seen from Figure 7(b). Note that given the investment AT constraints of the CSP and client profiles predicted SNT-1 % improvement in delivered SNT-2 300 100 from history, a combination of appropriate relay and AT 250 80 SNT-1 region nodes can be selected as input to our SNT-2 200 algorithm. 60 % serviced clients rates 150 40 100 50 20 AT 0 0 SNT-1 1 2 3 4 5 6 SNT-2 35 0 120 Topology 300 AT 100 SNT-1 25 0 80 90 AT 200 SNT-2 80 SNT-1 60 utilization(in %) 150 70 SNT-2 40 60 100 50 50 20 40 0 0 30 20 1 2 3 4 5 6 10 0 Topology 1 2 3 4 5 6 Topology 90 Figures 7(a), (b): Evaluation of AT, SNT-1, SNT-2 80 70 Random topologies, random client requirements AT 60 SNT -1 Figures 8(a) and 8(b) compare the average rate 50 40 SNT -2 improvement, average % utilization, and average % 30 20 serviced clients for the three strategies. We again find 10 that SNT-2 edges out SNT-1 in performance. 0 1 2 3 4 5 6 Topology avg. rate improvement(in kbps) Figures 6(a), (b): Evaluation of AT, SNT-1, SNT-2 avg. % utilization Random topologies, same client requirements avg. % serviced clients Units (kbps, %) 200 In the second set of experiments, we consider a 150 core topology with 200 nodes and randomly generate 100 access networks having 50, 70, 90, …., 250 nodes. In 50 these experiments, the transcoder placements remain 0 AT SNT-1 SNT-2 constant for SNT-1 and SNT-2. Our objective is to study the impact of size of access network on the Strategy performance of SNT-1 and SNT-2 as compared with Units (kbps, %) AT. 250 200 We first assume that all clients have uniform 150 requirements: minimum rate of 128 kbps and delay 100 tolerance of ½ hr.; we then randomly generate client 50 requirements as in experiments 1. In Figures 7(a) and 0 AT SNT-1 SNT-2 7(b), we find SNT-2 performs better than SNT-1 for Strategy both metrics: average utilization and average serviced Evaluation of AT, SNT-1, SNT-2 clients. The average delivered rate in SNT-2 is less as Figures 8(a): Constant core, same client requirements it serves more clients with smaller improvements 8(b): Constant core, random client requirements (which affect the overall average value). We repeat the experiments with randomly chosen client requirements: minimum rates are chosen from 6.3. Related work 64-256 kbps; delay tolerance values are chosen from Multimedia dissemination is a well-researched topic with many mechanisms proposed for effective and efficient distribution of multimedia data [4][5] [12]. Most of the existing literature treats multimedia applications as soft real time applications where play out of the file begins as soon as the client requests for the data. Typically research has focused on reducing
  • 8. the startup latency --- a small time lag due to unit cost for providing transcoding capability. While buffering at the client to control jitter during the play cost can be reduced with SNT, delivered rates and out. In contrast, we are focusing on delay-tolerant number of serviced users may suffer, which reduce multimedia applications. While our work may be the CSP’s revenue. Considering the cost-quality trade classified under research dealing with placement of off, our final aim is to build a decision tool for the Transcoding enabled proxies (TeC) [10], it differs CSP for efficient use of resources that maximizes its from existing work in this area, as we deal with delay- revenue. Our on going work extends this work tolerant applications. focusing on maximizing revenues for CSP. The work in [2] deals with broadcasting multimedia products in the spare bandwidth available in a Acknowledgement: We thank Annanda Th. Rath for television channel. Customers can be provided with a his help in implementing the random topology set of delivery options corresponding to the time of generator. delivery, which is similar to the notion of delay tolerance. This work focuses on maximizing profits for the e-commerce merchant. While we also deal 10. References with revenue maximization for the CSP, in this paper [1] An atlas of cyber spaces we focus on transcoder placement strategies- http://www.cybergeography.org/atlas/more_topology.html placement at relay nodes, bit rate conversions they need to perform- to enhance the delivered rates at [2] C.C. Aggarwal, M.S. Squillante, J.L. Wolf, P.S. Yu, J. Sethuraman, “Optimizing profits in the broadcast delivery of clients in a heterogeneous multicast environment. multimedia products”, Fifth International workshop on Multimedia More recently, the work proposed in [3] shows that Information Systems, October 1999. in a multicast streaming environment, performing transcoding at intermediate nodes is more efficient [3] A.Henig and D. Raz, “Efficient Management of Transcoding and Multicasting Multimedia Streams”, Integrated Management (IM) than transcoding at the source or clients. This work 2005, Nice, France. focuses on finding the lowest cost streaming path from the source to a set of clients, given that some [4] J. Liu, B. Li, “Adaptive Video Multicast over the Internet”, IEEE intermediate nodes have transcoding capability. It Multimedia, January-March 2003. does not consider the available bandwidth from the [5] S. Krithivasan, “Mechanisms for Effective and Efficient source to the clients and the delivered quality at the Dissemination of Multimedia”, Technical report, September 2004. clients. This work reinforces our claim that placement URL: www.it.iitb.ac.in/~sarask of transcoding capability at appropriate relay nodes would increase the effectiveness of the resource [6] S. Krithivasan, S. Iyer, “To Beam or to Stream: Satellitebased vs. Streaming-based Infrastructure for Distance Education” EdMedia, usage. June 2004. [7] S. Krithivasan, S.Iyer, “Enhancing Quality of Service by 7. Conclusions and future work Exploiting Delay Tolerance in Multimedia Applications”, ACM In this paper we consider delay tolerant multimedia Multimedia, Nov. 2005. applications and discuss algorithms to provide [8] S.Roy, M.Covell, J.Ankcorn, S. Wee, and T.Yoshimura. “A enhanced rates to clients by exploiting their delay system Architecture for Managing Mobile Streaming Media tolerance. Transcoders are required at the relay nodes Services”, Mobile Distributed Computing Workshop, May 2003. to provide enhanced rates to clients. However, additional costs of transcoders have to be considered [9] Y. Shang, M. P.J. Fromherz, and T. Hogg, “Complexity of Continuous, 3-SAT-like Constraint Satisfaction Problems”, for an appropriate decision. We show that Selected IJCAI-01Workshop on Stochastic Search Algorithms, Aug. 2001. Node Transcoding (SNT) is often the best option for effective and efficient use of transcoding resources. [10] B. Shen, S.J.Lee, “Transcoding-enabled Caching Proxy for Video Delivery in Heterogeneous Network Environments”, Internet Our greedy heuristic based algorithms provide the rate and Multimedia Systems and Applications (IMSA),2002, pp 360-365. conversions needed at the transcoding nodes and the delivered stream rates at the clients. We observe that, [11] B.Shen, S.Roy, “A very fast video special resolution reduction * If we denote the basic cost of transcoding facility at transcoder”, Proc. International Conf. On acoustics speech and signal processing (ICASSP), May 2002. the source by Cbase, cost for ST is given by: CST= Cbase. * Cost for implementing anywhere transcoding, CAT = [12] X. Wang, H. Schulzrinne, “Comparison of Adaptive Internet Cbase + N*CU, where N is the number of relay nodes in Multimedia Applications”, IEICE Transaction Communication, VOL.ES2-B, NO.6, June 1999. the network and CU is the unit cost for providing transcoding capability at a node. * In SNT, cost can be substantially less than C AT even with a simple SNT option as demonstrated in this paper. CSNT= Cbase + n*CU, where n⊂N and CU is the