Top Banner
1 10/20/01 DOA 2001 http://www.dist-systems.bbn.com/tech/QuO Application of the QuO Quality-of- Service Framework to a Distributed Video Application Distributed Object Applications Rome, Italy September 18-20, 2001 Joe Loyall David Karr, Craig Rodrigues, Rick Schantz BBN Technologies Yamuna Krishnamurthy, Irfan Pyarali OOMWorks Doug Schmidt UC, Irvine
21

1 10/20/01DOA 2001 Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

Jan 12, 2016

Download

Documents

Molly Crawford
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

1 10/20/01 DOA 2001

http://www.dist-systems.bbn.com/tech/QuO

Application of the QuO Quality-of-Service Framework to a Distributed Video Application

Distributed Object ApplicationsRome, Italy

September 18-20, 2001

Joe LoyallDavid Karr, Craig Rodrigues, Rick Schantz

BBN Technologies

Yamuna Krishnamurthy, Irfan PyaraliOOMWorks

Doug SchmidtUC, Irvine

Page 2: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

2 10/20/01 DOA 2001

Outline

Motivation & context

Overview of the QuO adaptive middleware framework

Using QuO in an embedded streaming video application

Conclusions

Page 3: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

3 10/20/01 DOA 2001

Trends Motivating Development of QoS-Enabled, Adaptive Distributed Object Middleware

• Trends in technology development– Hardware keeps getting smaller, faster, and cheaper– Software keeps getting larger, slower, and more expensive

• Challenges in Software Development– Building distributed systems is difficult– Simultaneously the two dimensions of

Wider distribution across WANs, including wireless and satellite links

Smaller embedded environments with strict QoS and resource constraints

have made distributed systems development increasingly difficult

Page 4: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

4 10/20/01 DOA 2001

Challenges Facing Today’s Wide-Area and Embedded System Development

• Middleware support for WAN applications doesn’t scale well up or down

– There is a gap between emerging low-level mechanisms to control some types of resources (e.g., bandwidth management, replication) and high-level application strategies

– Researchers are generally working on one piece of the solution, e.g., focusing on one critical QoS property, one time epoch

– Functional integration has taken precedence over system properties (e.g., CORBA IDL)

• Middleware support for embedded applications is just starting to emerge

– Many mission-critical distributed applications require real-time QoS guarantees

– Building embedded applications is currently done manually and is tedious, error-prone, and expensive

– Conventional middleware does not support embedded QoS requirements effectively

Page 5: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

5 10/20/01 DOA 2001

The Overarching Challenge

The overarching challenge is to provide COTS middleware support for developing distributed applications for these

widely differing environments

• Middleware support for building integrated QoS, adaptive applications (with varying requirements on granularity of changing behavior):

– adaptable: change at runtime while application/service running– reconfigurable: change at runtime while application/service halted– evolvable: change at development time– rehostable: move from environment to environment, platform to platform, and domain to domain

with minimum effort and maximum reuse.

Page 6: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

6 10/20/01 DOA 2001

The Quality Objects (QuO) Framework Supports Development of Distributed Applications with QoS

The QuO framework provides• Separation of concerns between software functional properties and QoS needs

• Consistent interfaces for QoS measurement and resource management control

• Standard middleware interfaces between application and QoS-provider layers

• Facilities to enable application- and system-level adaptation

QuO is being developed as a common approach to adaptable QoS for a number of projects focusing on different QoS dimensions:

• Dependability, replication, group communication (U.Illinois, Cornell, UCSB)• Managed bandwidth, resource reservation (CMU, Columbia Univ.)• Real-time behavior (Washington Univ in St. Louis)• Security, access control, survivability, intrusion detection (TIS)• Integrating different dimensions in an application, e.g., real-time and dependability• Suitability for supporting different approaches to a dimension

Page 7: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

7 10/20/01 DOA 2001

Outline

Motivation & context

Overview of the QuO adaptive middleware framework

Using QuO in an embedded streaming video application

Conclusions

Page 8: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

8 10/20/01 DOA 2001

QuO Adds Specification, Measurement, and Adaptation into the Distributed Object Model

ApplicationDeveloper

MechanismDeveloper

CLIENT

Network

operation()

in args

out args + return value

IDLSTUBS

IDLSKELETON

OBJECTADAPTER

ORB IIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

CLIENT

DelegateContract

SysCond

Contract

Network

MECHANISM/PROPERTYMANAGER

operation()

in args

out args + return value

IDLSTUBS

Delegate

SysCond

SysCond

SysCond

IDLSKELETON

OBJECTADAPTER

ORB IIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

ApplicationDeveloper

QuODeveloper

MechanismDeveloper

CO

RB

A D

OC

MO

DE

LQ

UO

/CO

RB

A D

OC

MO

DE

L

Page 9: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

9 10/20/01 DOA 2001

Adaptation and Control in QuO

• In-band adaptation provided by the delegate and gateway

– A delegate decides what to do with a method call or return based upon the state of its contract

– Gateway enables control and adaptation at the transport layer

• Out-of-band adaptation triggered by transitions in contract regions

– Caused by changes in the system observed by system condition objects

CLIENT

DelegateContract

SysCond

Contract

Network

MECHANISM/PROPERTYMANAGER

operation()

in args

out args + return value

IDLSTUBS

Delegate

SysCond

SysCond

SysCond

IDLSKELETON

OBJECTADAPTER

ORB IIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

CLIENT

DelegateContract

SysCond

Contract

Network

MECHANISM/PROPERTYMANAGER

operation()

in args

out args + return value

IDLSTUBS

Delegate

SysCond

SysCond

SysCond

IDLSKELETON OBJECT

ADAPTER

ORB IIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

Page 10: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

10 10/20/01 DOA 2001

The QuO Toolkit Supports Building Adaptive Applications or Adding Adaptation to Existing Apps

• QuO aspect languages– Contract description language and

adaptive behavior description language

– Code generators that weave QuO code into Java and C++ applications

• System Condition Objects– Provide interfaces to resources,

managers, and mechanisms

• QuO Runtime Kernel– Contract evaluator– Factory object which instantiates

contract and system condition objects

• Instrumentation library• QuO gateway

– Insertion of special purpose transport layers and adaptation below the ORB

QuO GatewayQuO Gateway

IIOPGlue

Control

Clie

nt-S

ide

OR

B

IIOP Group Replication (AQuA)

WAN

Bandwidth Reservation (DIRM)

IIOP over TCP/IP (default)

IIOPGlue

Control

IIOP

Serv

er-S

ide

OR

B

CLIENT

DelegateContract

SysCond

Contract

Network

MECHANISM/PROPERTYMANAGER

operation()

in args

out args + return value

IDLSTUBS

Delegate

SysCond

SysCond

SysCond

IDLSKELETON OBJECT

ADAPTER

ORB IIOP ORBIIOP

CLIENT OBJECT(SERVANT)OBJECT(SERVANT)

OBJREF

CORBA IDL

CodeGenerators

CodeGenerators

Contract DescriptionLanguage (CDL)

Adaptive SpecificationLanguage (ASL)

QuO RuntimeQuO Runtime

Delegates Contracts

Page 11: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

11 10/20/01 DOA 2001

QuO Components Are Packaged into Reusable Bundles of “Systemic Behavior” Called Qoskets

• The Qosket encapsulates a set of contracts (CDL), system condition objects (IDL), and QoS adaptive behavior (ASL)

• The Qosket exposes interfaces to access QuO controls and information (specified in IDL)

• The Qosket separates the functional adaptive behavior (business logic) from the QoS adaptive behavior and the middleware controls from the QoS mechanisms

Functional Behavior

Adaptation

QuO Contract

Object

QoS Adaptive Behavior

SysCond

QoSMechanisms

Client Code

Delegate Qosket

Page 12: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

12 10/20/01 DOA 2001

Outline

Motivation & context

Overview of the QuO adaptive middleware framework

Using QuO in an embedded streaming video application

Conclusions

Page 13: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

13 10/20/01 DOA 2001

• Video feed from remote source

• Users interact with remote video source in real time

• Users’ hosts receive video and display it

• Video Distributor sends video to hosts on embedded network

Basic Streaming Video Scenario

Page 14: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

14 10/20/01 DOA 2001

Variations & Adaptations in Streaming Video Scenario

Distributor

I PB

II

IIIIIIP

PP

PPP P P

P

P

B

B BBBBB

B BBBBBBB

BBBBBBBBBBBBBBBBBBBBBBB

BBBBBBBBBBBBBBB

BBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBP P P P P P P P P PIBBPBBPBBPBBPBBPBBIBBPB

NETWORK RESERVATION• Condition: excessive Network load • Action: Use IntServ to reserve bandwidth

Distributor...PBBPBBPBBI I I IDATA FILTERING• Condition: When excessive network or CPU

load• Action: Drop selective frames

Dynamic Variations inOperating ConditionsDynamic Variations inOperating Conditions

Operationalrequirementsand tradeoffs

Fidelity• Highest

fidelity frames (i.e., I frames) must be delivered

Timeliness• Maintain a

current view of UAV imagery

Importance• Frames must

be dropped in reverse order of importance (B, then P)

LOAD BALANCING• Condition: Excessive

CPU load • Action: Migrate distributor

to a lightly loaded host

X X

Page 15: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

15 10/20/01 DOA 2001

CORBA A/V Streaming Service

+ AQoSA Resource Reservation (IntServ)

Architecture of the Embedded Video Streaming Application

• FeaturesReused Off the Shelf Software• DVDView video player

Hand coded functionality• video forwarding• frame processing, filtering• timestamping and sequencing• connection, video transport

Common middleware services• QuO adaptive middleware• Real-time CORBA ORB (TAO)

- Naming Service- A/V Streaming Service- AQoSA

VideoSourceProcess

MOBILE VIDEOSOURCE HOST

Video File

VideoDistributor

VIDEO DISTRIBUTION HOST

Video Display

VIDEO DISPLAY HOST 1

VideoDisplayProxy

CORBA A/V Streaming Service

VIDEO DISPLAY HOST 2

VIDEO DISPLAY HOST N

QuOObservedthroughput

Observedthroughput

Reservation requests

Reservation requestsFrame

filteringcommands

Framefilteringcommands

VIDEO DISTRIBUTION N

Page 16: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

16 10/20/01 DOA 2001

VIDEO DISTRIBUTION HOST

Management and adaptation in UAV using the QuO adaptive middleware

VideoDistributor

Video Display

VIDEO DISPLAY HOST

VideoDisplayProxy

QuO

Video Stream

QuO

Distributor Display

Video Stream

Normal

Degraded

Unusable

ORB

AQoSA

A/V Streams

ConnectStream

ReserveBandwidth

Filter

Rehost

ORB

AQoSA

A/V Streams

Normal

Degraded

Unusable

FrameRate

VideoSourceProcess

MOBILE VIDEOSOURCE HOST

Video File

Page 17: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

17 10/20/01 DOA 2001

Source Stream

Endpoint (Distributor)

Stream Interface Control ObjectStream

Adaptor

Sink Stream EndPoint(Display)

Stream Interface Control Object Stream

Adaptor

Video Stream

ORB

QuO measurement and control

Connecting and managing UAV video streams using the CORBA A/V Streaming Service

VideoDistributor

VIDEO DISTRIBUTION HOST

Video Stream Video Display

VIDEO DISPLAY HOST

VideoDisplayProxy

QuOQuO

VideoSourceProcess

MOBILE VIDEOSOURCE HOST

Video File

Page 18: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

18 10/20/01 DOA 2001

Source Stream

Endpoint (distributor)

Stream Adaptor

Sink Stream EndPoint(Display)

Stream Adaptor

Video Stream

A/V Streaming Service

AQoSA API

RSVP-enabled routers

reservationrequest

requestreservation

accept/reject

eventnotifications

.. .. reservationsflows QoSupdates

QuO measurement and control

reservationnotification

Reserving network resources using the AQoSA API

VideoDistributor

VIDEO DISTRIBUTION HOST

QuO

Video Stream Video Display

VIDEO DISPLAY HOST

VideoDisplayProxy

QuO

VideoSourceProcess

MOBILE VIDEOSOURCE HOST

Video File

Page 19: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

19 10/20/01 DOA 2001

Ability to Keep Video Current Using Middleware Adaptation

0

5

10

15

20

25

30

35

0 30 60 90 120

150

180

210

240

270

300

Without adaptation

With adaptationLoad

Adaptation

No adaptation

Mean lateness Max lateness

5.400 sec 32.696 sec

0.067 sec 1.930 sec

Execution time (secs)

Add

ition

al la

tenc

y (s

ecs)

•Video source process running on 3 200 MHz PCs (Linux), 128 MB memory, TCP/IP

•Additional 60% CPU load introduced on second stage (3 processes requesting 20% load each) starting at approx. 60 secs, removed at approx. 120 secs.

Under load

Page 20: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

21 10/20/01 DOA 2001

Outline

Motivation & context

Overview of the QuO adaptive middleware framework

Using QuO in an embedded streaming video application

Conclusions

Page 21: 1 10/20/01DOA 2001  Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.

22 10/20/01 DOA 2001

Conclusions• QuO is adaptive middleware

– Enables the separation of QoS from functionality, e.g., throughput, timeliness, and network management in the streaming video application– Works with off-the-shelf software and standards, e.g., CORBA, A/V Streams, MPEG in the streaming video application

• QuO has been applied to Real-Time Embedded Systems (RES)– We illustrated one of these, the remote streaming video dissemination application– QuO adaptation is able to help maintain QoS requirements in the face of network and CPU load– The QuO frameworks eases the burden of programming adaptive behaviors, measurement, and control

• QuO is open-source– http://www.dist-systems.bbn.com/tech/QuO– E-mail [email protected] or [email protected] for more information