+ All Categories
Home > Documents > 1 Applying Adaptive Middleware, Modeling, and Real-Time CORBA Capabilities to Ensure End-to- End QoS...

1 Applying Adaptive Middleware, Modeling, and Real-Time CORBA Capabilities to Ensure End-to- End QoS...

Date post: 04-Jan-2016
Category:
Upload: candace-dennis
View: 218 times
Download: 0 times
Share this document with a friend
18
1 Applying Adaptive Middleware, Modeling, and Real-Time CORBA Capabilities to Ensure End-to-End QoS Capabilities of Video Streams BBN Technologies Cambridge, MA http://www.dist-systems.bbn.com/tech/QuO/ Craig Rodrigues [email protected] 617-873-4725 2 nd TAO Workshop Arlington, VA, U.S.A. July 19, 2002
Transcript

1

Applying Adaptive Middleware, Modeling, and Real-Time CORBA Capabilities to Ensure End-to-

End QoS Capabilities of Video Streams

BBN TechnologiesCambridge, MA

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

Craig [email protected]

617-873-4725

2nd TAO WorkshopArlington, VA, U.S.A.

July 19, 2002

2

Unmanned Air Vehicle Scenario with ComplexEnd-to-End QoS Requirements

uav.navair.navy.mil/home.htm

3

We Are Trying to Solve QoS Problem at Multiple Levels

• Application adaptation, using QuO adaptive middleware• Software modeling of QoS requirements, using General

Modeling Environment (GME) • Resource management of the network, using RTCORBA

and Diffserv

4

Control Station Host 5

CORBA A/V Streaming Service

UAV Host 1

MPEGFile

Host 4

Wired

WirelessEthernet

VideoDistributorProcess 1

VideoDistributorProcess 2

VideoDistributorProcess 3

VideoSourceProcess

Filter

FilterContract

UAV Host 2

MPEGFile

VideoSourceProcess

Filter

FilterContract

UAV Host 3Video

SourceProcess

Scale/Compress

QualityContract

BandwidthManagement

BandwidthManagement

BandwidthManagement

ThroughputContracts

Displays

Control Station Host 6

ThroughputContracts

Displays

Control Station Host 7

ATRContract

ATRDisplay

High Level View of UAV Architecture using QuO Middleware (based on TAO)

… …

5

Quality Objects (QuO)

• What do you need to do QoS?– need a way to specify QoS requirements– need a way to measure system performance– need a way to take corrective action

• How does QuO help you develop QoS applications?– QuO Contracts– QuO Sysconds– QuO Delegate Callbacks

6

QuO Adds Specification, Measurement, and Adaptation to 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

7

Application Level QoS Adaptation, Based on Recognition of a Target

ATR ATRQuoKernel

VideoQuality

Controller(MPEG)

Receiver(PPM)

VideoQuality

Controller(PPM)

Image Cropping

server

CameraDistributor

(PPM)

DVDview(PPM)

Distributor(MPEG)

Receiver(MPEG)

DVDview(MPEG)

Sender(MPEG)

(1) High grade, 10 fps, (2) Low grade, 2fps

(1) Low grade, ¼ size image filter, (2) High grade, remove filter

Filterqosket

Send frame Send alert

Video file

Change quality from (1) to (2)

Wireless

8

Software Modeling Enhancementsto Improve the Design of UAV OEP Software

• Problem: End-to-End behavior in current UAV OEP software is designed by hand which is very time-consuming and error prone

• Solution: use COTS modeling tools, and make improvements to these tools where there are deficiencies

9

Adaptive Quality Modeling Environment

• Software modeling tool from Vanderbilt University– Hierarchical dataflow

representationCompounds, primitives

– Parameters for component instrumentation and customization

• Middleware modeling– Services and system condition

objects

– Parameters for middleware instrumentation and customization

10

UAV Modeling using GME Interpreter Plugins

General ModelingEnvironment

IDL Interpreter QuO Interpreter

QuOContract

CORBA IDL filecontaining callbackInterface methods

Matlab Interpreter

Matlab Simulink simulation

New

• GME uses interpreter plugins to input/output data about the model

• Import CORBA IDL, export model to QuO or Matlab

11

Architecture of CORBA IDL Interpreter Plugin

• GME interpreters are based on Microsoft COM components

• CORBA IDL interpreter is a single Windows COM DLL which collocates IDL parser and Interface Repository

• IR is a database with a CORBA-based query API which can query the contents of an IDL file. After parsing IDL, we send interface information from IR to GME

• In future, we could create interfaces in the IR and export them to IDL files

TAO IDL compilerparser front-end

TAO CORBA InterfaceRepository

GME Interpreter API

IDL Interpreter DLL

12

Ongoing and Future Work to Apply Software Modeling Techniques to UAV OEP

• Ease-of-use enhancements to GME Interpreters to make it easier to design end-to-end QoS control strategies

• Make more use of COTS tools like Matlab Simulink to do online and offline analysis of QoS control strategies

• Better integration with TAO and CORBA Component Model

13

Enhanced Resource Management Capability:Diffserv Integration with RTCORBA

14

What is Diffserv?

Diffserv Field(8-bits)

HeaderLength(4-bits)

Total Length(16-bits)

Source Address (32-bits)

Destination Address (32-bits)

TTL (8-bits) Protocol (8-bits) Checksum (16-bits)

Flags(3-bits)

Version(4-bits)

Identification (16-bits) Fragment offset (13-bits)

• Diffserv field: 6 bits of Diffserv Codepoint, 2 bits ECN• Each DSCP (0-63) specifies a Per-Hop-Behavior (PHB), which is a type of router-level QoS (RFC 2475)

IP Datagram Header

15

Enhanced RTCORBA with Diffserv Capability Preserving End-to-End Priorities

• Existing priority in RTCORBA used for OS-level task scheduling across distributed nodes

• Our enhancement to RTCORBA uses this priority to set Diffserv field in IP packets associated with a specific CORBA call

• Network treats packets differently based on value of Diffserv field; can be used as another mechanism for end-to-end QoS

Middle-tierServer

Client QNXpriority

= 16

LynxOSpriority = 128

Server Solarispriority = 136

ServiceContextpriority = 100

ServiceContextpriority = 100

Router

DiffservCodePoint

= EF

DiffservCodePoint

= EF

Router

16

Testing CORBA Calls with Diffserv Network Priorities

CORBA Request

CORBA Response

C++ Client(TAO)

C++ Server(TAO)

CORBA Request

CORBA Response

C++ Client(TAO)

Java Server(JDK 1.4)

CORBA Request

CORBA Response

C++ Client(TAO)

C++ Server(TAO)

1. Normal CORBA invocation

2. Diffserv Prioritized CORBA Invocation

3. Diffserv Prioritized CORBA Invocation against Java server

17

How can we apply Diffserv to solve End-to-End QoS Problem?

• Give different types of CORBA calls different network priorities

– Give command messages higher priority than data messages

• Give different clients different network priorities depending on the relative importance of the clients

Video display 1

Video display 2

Video display 3

Video display 4

Router

• Utilize scheduling tools like RapidRMA to combine network priorities and OS-scheduling priorities for end-to-end QoS

18

Distribution information

• Software available from our web site:

http://www.dist-systems.bbn.com/projects/AIRES/UAV/

• Help available from: [email protected]

• More information about QuO

http://quo.bbn.com


Recommended