Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Applying Adaptive Middleware, Modeling, and Real-Time CORBA Capabilities to Ensure End-to- End QoS Capabilities of Video Streams BBN Technologies Cambridge,

Similar presentations


Presentation on theme: "1 Applying Adaptive Middleware, Modeling, and Real-Time CORBA Capabilities to Ensure End-to- End QoS Capabilities of Video Streams BBN Technologies Cambridge,"— Presentation transcript:

1 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 crodrigu@bbn.com 617-873-4725 2 nd TAO Workshop Arlington, VA, U.S.A. July 19, 2002

2 2 Unmanned Air Vehicle Scenario with Complex End-to-End QoS Requirements uav.navair.navy.mil/home.htm

3 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 4 Control Station Host 5 CORBA A/V Streaming Service UAV Host 1 MPEG File Host 4 Wired Wireless Ethernet Video Distributor Process 1 Video Distributor Process 2 Video Distributor Process 3 Video Source Process Filter Contract UAV Host 2 MPEG File Video Source Process Filter Contract UAV Host 3 Video Source Process Scale/ Compress Quality Contract Bandwidth Management Bandwidth Management Bandwidth Management Throughput Contracts Displays Control Station Host 6 Throughput Contracts Displays Control Station Host 7 ATR Contract ATR Display High Level View of UAV Architecture using QuO Middleware (based on TAO) … …

5 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 6 QuO Adds Specification, Measurement, and Adaptation to the Distributed Object Model Application Developer Mechanism Developer CLIENT Network operation() in args out args + return value IDL STUBS IDL SKELETON OBJECT ADAPTER ORB IIOP ORB IIOP CLIENT OBJECT (SERVANT) OBJECT (SERVANT) OBJ REF CLIENT Delegate Contract SysCond Contract Network MECHANISM/PROPERTY MANAGER operation() in args out args + return value IDL STUBS Delegate SysCond IDL SKELETON OBJECT ADAPTER ORB IIOP ORB IIOP CLIENT OBJECT (SERVANT) OBJECT (SERVANT) OBJ REF Application Developer QuO Developer Mechanism Developer CORBA DOC MODEL QUO/CORBA DOC MODEL

7 7 Application Level QoS Adaptation, Based on Recognition of a Target ATR QuoKernel Video Quality Controller (MPEG) Receiver (PPM) Video Quality Controller (PPM) Image Cropping server Camera Distributor (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 Filter qosket Send frame Send alert Video file Change quality from (1) to (2) Wireless

8 8 Software Modeling Enhancements to 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 9 Adaptive Quality Modeling Environment Software modeling tool from Vanderbilt University –Hierarchical dataflow representation Compounds, primitives –Parameters for component instrumentation and customization Middleware modeling –Services and system condition objects –Parameters for middleware instrumentation and customization

10 10 UAV Modeling using GME Interpreter Plugins General Modeling Environment IDL Interpreter QuO Interpreter QuO Contract CORBA IDL file containing callback Interface 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 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 compiler parser front-end TAO CORBA Interface Repository GME Interpreter API IDL Interpreter DLL

12 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 13 Enhanced Resource Management Capability: Diffserv Integration with RTCORBA

14 14 What is Diffserv? Diffserv Field (8-bits) Header Length (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 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 = EF Router

16 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 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 18 Distribution information Software available from our web site: http://www.dist-systems.bbn.com/projects/AIRES/UAV/ Help available from: quo-help@bbn.com More information about QuO http://quo.bbn.com


Download ppt "1 Applying Adaptive Middleware, Modeling, and Real-Time CORBA Capabilities to Ensure End-to- End QoS Capabilities of Video Streams BBN Technologies Cambridge,"

Similar presentations


Ads by Google