Learning Center
Plans & pricing Sign in
Sign Out



									             Micro-flow control framework for home gateway
                              Tan Pek-Yew and Cheng Hong
                         Panasonic Singapore Laboratories Pte Ltd
                   BLK 1022 Tai Seng Avenue, #04-3530, Singapore 534415


Abstract: The methods used in digitization have increased in complexity to meet various content
format, storage and transmission requirements. To make scalable Audio-visual (A/V) content, such as
MPEG-4 content, more pervasive on the network, such as the Internet, network resources need to be
well controlled in order to make the Quality of Service (QoS) for end-to-end delivery possible. This
paper presents a micro-flow control framework and its traffic-conditioning module that could be
deployed on home gateway. It solves the above problem and allows real-time multimedia content to be
streamed to meet various end-user terminals’ profiles.

Keyword: DiffServ, Traffic Control, Digital Audio-Visual

Introduction                                        1. Differentiated Service [1] , which provides
                                                    methods to classify and prioritize IP flows.
Standard Internet Protocol (IP) –based networks 2. Multi-protocol Labeling Switching (MPLS)
provide “best effort” data delivery by default. [2], which manage network bandwidth via
Best effort IP allows the complexity to stay in the network routing control according to labels
end-hosts, so that the network can remain encapsulated in the packet headers.
relatively simple. This scales well, as evidenced 3. Resource reservation setup protocol
by the ability of the Internet to support its (RSVP) [3], which reserves network resources
phenomenal growth. As more hosts are using a set of signaling primitives.
connected, network services demands eventually
exceed the capacity. In the current network, Although these QoS technologies use a variety of
services are not denied, but instead degraded complementary             mechanisms        to     enable
gracefully. This type of network service is deterministic end-to-end data delivery, they
acceptable to the conventional internet seldom address the issue of delivering real-time
applications, such as e-mail, file transfer, web- scalable Audio-Visual contents. No matter how
applications that adapt well in inconsistent well certain network links are managed, using the
network service level. However, as more variety Internet to deliver real-time scalable A/V contents
of contents amalgamated, delivering different remains challenging, especially when one of the
type of contents using the same “best effort” network node encounters congestion.
mechanism is no longer sufficient. Delivery
delays and inconsistence would cause problems This paper introduces a traffic conditioning
to content consumption of time-sensitive method, Object Based Streaming Traffic
applications, such as real-time multimedia Conditioning (OBSTC), which is specifically
delivery, IP telephony, and video conferencing.     designed for catering the real-time A/V contents.
                                                    Network nodes using it would be able to stream
For these real-time applications, QoS is a very the A/V contents in a cooperative manner, such
important aspect for content delivery from that during intermittent network congestions, only
content provider to end users via the service the A/V contents with “presentation value” could
provider domain. There are a number of QoS get through the network. Hence, it prevents the
protocols been proposed to satisfy different congestion from propagating to other nodes, since
application needs. Most of these IP QoS the unneeded packets are all dropped at
technologies      are   designed     to    provide congestion occurring place. Collaborative
differentiated delivery services for individual Streaming allows maintaining the services in
flows or aggregates by adding some delivering scalable                         A/V content by
“intelligence” to the Internet and improving the
                                                    recovering from congestion quickly.
“best effort” service. Some of the well-known
QoS techniques are:

To deploy the methods on network nodes, such as          identical type of traffic control characteristics
routers and home gateways, a traffic control             based on the flow requirements.
framework is proposed. OBSTC is implemented
as a loadable module of the framework, and is        In the collaborative streaming, flows are divided
able to work cooperatively with other modules.       into two types, the Micro-Flow and Macro-Flow.
Validation of the OBSTC algorithm is carried out     Micro-Flow is a uni-directional signal content
on ns [4], and it is proved workable. This paper     flow, whereas a Marco-Flow is made up of more
also introduces a real-world application example     than one uni-directional Mirco-Flows. Division of
that utilizes the traffic control framework and the  Macro and Micro-Flow allows a hierarchical
OBSTC method.                                        control and management of content flows. This
                                                     hierarchical structure of traffic conditioners
For integrity, the OBSTC and some of the related provides scalability to the collaborative streaming
concepts are presented below.                        system architecture. In Mirco-Flow traffic
                                                     conditioners, data packets are parsed at the object
OBSTC and Collaborative Streaming                    data packet level and thus enabling packet
                                                     buffering, scheduling, and dropping to be carried
OBSTC is a method designed for collaborative out based on the object descriptor in the packet.
streaming. In the collaborative streaming To support traffic control at object-descriptor
environment flow-path set-ups between content level, each IP (Internet Protocol, both IPv4 and
source and sink are content type aware. Based on IPv6) packet needs to include Object Descriptor
a single trajectory of the data objects transmitted field in the packet payload. In most cases, more
to the end-users, the traffic-conditioning than one IP packet makes up one data object
component in a collaborative streaming packet, and thus shares the same object
environment configures the network resource of descriptor. The Macro-Flow traffic conditioner
the gateway or any host network node to meet the allows streaming based on the aggregate behavior
delivery requirement of the data objects.            of a set of Micro-Flows that are grouped under
                                                     the Macro-Flow. It would reduce the computation
With OBSTC, each data object that flows through time at each of the network node if the number of
the path has a real-time “value” attached, and is flow increases during normal streaming
scheduled, buffered, or dropped based on this condition. A normal condition is a condition
“value” besides the end users’ QoS profile and where the Macro Flow does not faced any
the object’s precedence level. Contents with shortage of network resources. In a transient
“presentation value” are A/V objects that have condition, the Macro-Flow traffic conditioner
real-time delivery requirements and are of value performs either dropping or rescheduling of data
to the end destinations only if they reach within a objects at the Object descriptor level. Under this
specified time frame. In event of congestion, data condition, it allows borrowing of network
objects without “presentation value” are dropped resources among micro-flows.
and thus freeing the network resources at the              Source 1A0             Macro Flow
                                                              Micro Flow                           Micro Flow
point where the congestion occurs. At the same                  Traffic             Traffic          Traffic Sink 1A0,
                                                                                  Conditioner                1B1 & 1C
time, a coherent scalable A/V content is delivered         Source 1A1
                                                            Conditioner A1
                                                                                  B={A1 & A2}
to the destination but at a lower quality. This
attribute is very useful in delivering scalable            Source 1B0
                                                              Micro Flow
                                                                Traffic                            Micro Flow
content, such as MPEG-4 content, over wired and                                    Macro Flow        Traffic Sink 1A1,
                                                            Conditioner A2
                                                           Source 1B1
                                                                                      Traffic                1B0 & 1C
wireless network. In this specific case, the                                       Conditioner
                                                                                                 A6 = {A1,A2, A3}
“presentation value” could be the decoding time                                      D={B,A3}

of the object, and the object could be the object in
                                                                     Micro Flow
a MPEG-4 frame, or one frame, or group of the                           Traffic
                                                                        Source 1C

MPEG-4 frames, depends on the stream                               Conditioner A3

configurations. From content source to sink, the
flow might go through arbitrary number of traffic          Figure 1 Traffic Condit ioner Configured for
conditioners. The defined collaborative streaming                       Collaborative St reaming
allows the traffic conditioner or traffic Figure 1 shows an example of the collaborative
conditioning components on the flow path to be streaming environment. Three different sets of
configured to manage data packets of the flow content sources enter and two different sets of
based on the content flow criteria. The traffic content flows exit the collaborative streaming
conditioners on the flow path may have similar or domain. The Micro Flow Traffic Conditioner A1
                                                     and A2 each manages and controls the content

flow based on the requirement of the scalable                                                       and ports. Content Specific classifier is an
content at A1 and A2 respectively. The                                                              additional layer of filters extracting and
requirement is strictly based on the time, and                                                      classifying information based on special object
object data should remains in each Traffic                                                          data headers encapsulated in the IP packet
Conditioner. Typically, one network component                                                       payload. There can be more than one type of
(router or Gateway or Switch) has only one                                                          filters and classifiers within the DiffServ
Traffic Conditioner. Traffic Conditioner A1 will                                                    Classifier at any given time. The configuration of
manage each content flow, 1A0 and 1A1,                                                              the two modules can be determined before the
respectively according to object data within the                                                    content data passed through the node or at the
flow. Similar processing also occurs at the Micro                                                   instant when the first IP packet entered the
Flow Traffic Conditioner A2.                                                                        DiffServ Classifier.

Micro Flow Traffic Conditioner manages based                                                        DiffServ meter will keep an account of the
on the aggregate content flows received from the                                                    number of bytes for each IP flow that traverse
up-stream Micro-Flow Traffic Conditioner. In                                                        through the node. Based on this value, the traffic
case where the up-stream Traffic Conditioner                                                        condioner’s time slot allocation and the Object
manages the Macro-Flow, no aggregation of the                                                       data scheduler schedule the data for transmission.
content flow is performed at the lower stream                                                       In some cases, the DiffServ node may chose to
Macro-Flow Traffic Conditioner. Management                                                          mark the DSCP code point based on AF PHB [5]
and control of Macro-Flow is strictly based the                                                     or EF PHB [6].
control information from the connection, as
illustrated in Figure 1, between Macro-Flow                                                         Using the meter reading for the IP flow, the
Traffic Conditioner B and D.                                                                        dropper may choose to drop or transmit the IP
                                                                                                    data packets based on the available network
Traffic Conditioner with DiffServ Framework                                                         resource and the profile of the IP flow. Physical
                                                                                                    buffering of data is being managed in the
The Differentiated Serviced Architecture [1] does                                                   DiffServ Dropper module. The de-allocation of
not specify the detail mechanism for controlling                                                    the time slot allotted to the IP packet or data
and scheduling the IP packets that flow through a                                                   object will be de-allocated here based on network
DiffServ compliant node. Figure 2 shows the                                                         resource of the IP packet.
general components of the DiffServ Architecture
with sub-components of OBSTC. With proper                                                           Simulation validation of the OBSTC
substitution of the DiffServ components with
components of OBSTC, a network could be                                                             For verifications of OBSTC, two additional
configured to provide collaborative streaming,                                                      classes are added into the network simulator
and be compliant to DiffServ architecture at the                                                    (ns) [4]. The two components used to test out
same time.                                                                                          the functionalities of OBSTC are as follows:
In the figure, DiffServ classifier is loaded with                                                   1.                   Queue class :- OBSTC
two of the traffic conditioner’s functional
modules, the filtering module and the classifier.                                                   2.                   Agent class :- ObjSwitchAgent
The filtering module performs filtering based on
the protocol type, source & destination IP address
                                                                             DiffSe rv M e te r

                DiffSe rv Classifie r                                    DiffSe rv Shappe r/                                          DiffSe rv Droppe r
                                                                              M arke r
                                                                                                                                      (Object Data Buffering
                                                                         (Time Slot Computation

                                                                                                                                       Traffic Conditioner

                                                                                                                                                                             Traffic Conditioner
                 Traffic Conditioner

                                       Traffic Conditioner

                                                                           Traffic Conditioner

                                                                                                   Traffic Conditioner
                  (Filtering Module)

                                        (Content Specific

                                                                                                                                                                                (Object Data
                                                                                                      (Object Data
                                                                               & Allocator)


    IP Packet                                                IP Packet                                                    IP Packet                                                                IP Packet
                                                                                                                                                               Data Object

                                           Figure 2 Traffic conditioner with DiffServ

In order for different protocol header to be
implemented         as   simulation    model for                            Profile Componenet
collaborative streaming, a different kind of agent,
ObjSwithchAgent class is added into the network

                                                                            Classifier Component
simulator framework. ObjSwithchAgent allows                                                                Flow
the tcl [7] script to specify the number and type of
                                                                 Higher                                                Lower
Object data needs to be delivered form the source                Layer                                                 Layer

to the destination. To simplify the agent address       Packet                                     Queuing Component           Packet
                                                        stream                                                                 stream
scheme, the inherited properties of the agent class
are used by ObjSwithchAgent application to send                           Multiplexing Component
and route Object data.

The OBSTC queue class implements the                    Figure 3 Structure of the traffic control framework
algorithm of OBSTC. The number of Object
dropped at the node that implements OBSTC    The multiplexing component is the interface
depends on the Instantaneous Buffer Size or the
                                             between the original system and the framework. It
Object data allocated. Dropping of Objects isalso decides which queuing component the
performed at a resolution equivalent to Object
                                             packets should be directed to when multiple
Data Transmission time.                      queuing components present in the framework.
                                             Packets from higher layer would enter the
Packet Payload Size     = M bytes            framework through the multiplexing component,
Output Link Speed       = N bits/sec         and exit to lower layer through it after being
Object Data Size        = K packets/Object   regulated. The Profile component provides
Object Decoding Time = L sec                 interface between the user applications and the
                                             framework. It allows the application to configure
Instantaneous Buffer Size = (LN) / (8) Bytes the framework and query the real-time
        (1)                                  information. The Profile component also keeps
Object data allocated= (LN) / (8MK) Object   the information about the framework’s
        (2)                                  configuration and statistic information. A set of
Object Data Tx Time= 8MK/N sec               API is provided for the application to
        (3)                                  communicate with the Profile component.

Using (1), (2) and (3) we can verified the number      The Queuing component is in charge of
of object dropped or transmitted against the           regulating the flow streams. It would manage the
simulation result over a period of time for            packet stream according to the flow profile
different kind on constant bit rate streams in a       configured by the Profile component. The Flow
single OBSTC enable node network. The OBSTC            sub-component is the place that the packets being
module implemented in the ns further verified          temporarily stored and processed. Queuing
that the objects in the stream are being streamed      component could employ any queuing algorithm,
out of the OBSTC enabled node as a whole and           and multiple Queuing components could be
not in an incomplete object. And objects that do       loaded into the framework at the same time. Here,
not meet presentation time are dropped as a whole      the Queuing component would use the OBSTC
releasing bandwidth in the event of congestion.        methods mentioned earlier in the paper.
                                                       Therefore, the OBSTC is integrated into the
Application example of the flow control                system.
                                                       Figure 4 shows a real world example of the
To deploy OBSTC to the network nodes, some             application of the framework. The traffic control
mechanism is needed to integrate it with the           framework resides on the streaming server,
system. Figure 3 shows a framework that enables        streaming gateway, and wireless gateway. It
OBSTC to work in a traditional UNIX system. As         would regulate the packet streams of the
shown in the figure, the framework has three           RTSP/RTP flows to achieve better performance
major components, the Multiplexing component,          for each flow. This configuration is tested with
Queuing component, and Profile component.              large number of clients (MPEG-4 Players), and
These components are implemented as loadable           proved to be working well.
modules so that they could be dynamically loaded
into the system.

                                                         [6]      An Expedited Forwarding PHB (RFC
                                                         [7]      Tcl (Tool Command Language)

   Figure 4 Application examp le of the traffic flow
                 control framework


This paper introduced a collaborative streaming
technique for delivering scalable content with
QoS from a wired network to mobile terminals in
a jittery wireless network. The streaming
technique, OBSTC, is designed to be compliant to
the Differentiated Service Architecture. Network
nodes such as A/V content gateway can employ
such traffic conditioner such that the complexity
of the traffic flow control and management can be
kept low for the other network nodes within the
network. The complexities of IP flow
management implementation for collaborative
streaming can be deployed at the edge of the
network, e.g. at the ingress and egress nodes. The
streaming mechanism is validated with simulation
tools, ns, and proved to be working well. It could
help the network recover from congestion faster,
and prevent congestion from propagate to other
network nodes. The streaming mechanism could
be easily deployed in network nodes with the
framework introduced in the paper. The
framework also allows dynamically loading and
configuration. It also provides metering functions.
The framework and OBSTC is tested with a real
work application, a RTSP server, and are working
well with the MPEG-4 player. All these proved
that the proposed streaming method is suitable for
the streaming of real-time contents.


[1]      An Architecture for Differentiated
Services (RFC 2475)
[2]      A Framework for MPLS
[3]      RSVP chapter of IETF
[4]      Ns-Network Simulator. http://www-
[5]      Assured Forwarding PHB Group (RFC


To top