1 Using Quality Objects (QuO) Middleware for QoS Control of Video Streams BBN Technologies Cambridge, MA Craig.

Slides:



Advertisements
Similar presentations
Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
Advertisements

IPv4 - The Internet Protocol Version 4
1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
Top-Down Network Design Chapter Thirteen Optimizing Your Network Design Copyright 2010 Cisco Press & Priscilla Oppenheimer.
1 IP - The Internet Protocol Relates to Lab 2. A module on the Internet Protocol.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 20 – March 25, 2010.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
1 12/10/03CCM Workshop QoS Engineering and Qoskets George Heineman Praveen Sharma Joe Loyall Richard Schantz BBN Technologies Distributed Systems Department.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1 8/99 IMIC Workshop 6/22/2015 New Network ServicesJohn Zinky BBN Technologies The Need for A Network Resource Status Service IMIC Workshop 1999 Boston.
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
CORBA Programming Using ACE/TAO
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
1 4/20/98ISORC ‘98 BBN Technologies Specifying and Measuring Quality of Service in Distributed Object Systems Joseph P. Loyall, Richard E. Schantz, John.
1 05/01/02ISORC 2002 BBN Technologies Joe Loyall Rick Schantz, Michael Atighetchi, Partha Pal Packaging Quality of Service Control Behaviors for Reuse.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Integrated Services (RFC 1633) r Architecture for providing QoS guarantees to individual application sessions r Call setup: a session requiring QoS guarantees.
Using Prioritized Network Traffic to Achieve End-to-End Predictability BBN Technologies OOMWorks LLC Cambridge, MA Metuchen, NJ Craig Rodrigues Yamuna.
D. Schmidt DARPA Example: Navy UAV Concept & Representative Scenario 1. Video feed from off-board source (UAV) 2. Video distributor sends video to hosts.
1 Integrated and Differentiated Services Multimedia Systems(Module 5 Lesson 4) Summary: r Intserv Architecture RSVP signaling protocol r Diffserv Architecture.
BBN Technologies Craig Rodrigues Gary Duzan QoS Enabled Middleware: Adding QoS Management Capabilities to the CORBA Component Model Real-time CCM Meeting.
1 APOD 10/5/2015 NCA 2003Christopher Jones APOD Network Mechanisms and the APOD Red-team Experiments Chris Jones Michael Atighetchi, Partha Pal, Franklin.
MILCOM 2001 October page 1 Defense Enabling Using Advanced Middleware: An Example Franklin Webber, Partha Pal, Richard Schantz, Michael Atighetchi,
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
1 10/20/01DOA Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed.
Using SCTP to Improve QoS and Network Fault- Tolerance of DRE Systems OOMWorks LLC BBN Technologies LM ATL Metuchen, NJ Cambridge, MA Camden, NJ Yamuna.
WDMS 2002 June page 1 Middleware Policies for Intrusion Tolerance QuO Franklin Webber, Partha Pal, Chris Jones, Michael Atighetchi, and Paul Rubel.
UNIT IP Datagram Fragmentation Figure 20.7 IP datagram.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
1 APOD 10/19/2015 DOCSEC 2002Christopher Jones Defense Enabling Using QuO: Experience in Building Survivable CORBA Applications Chris Jones Partha Pal,
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 10 – Quality of Service (QoS)
1 06/ /21/2015 ECOOP 2000 Workshop QoS in DOSJohn Zinky BBN Technologies Quality Objects (QuO) Middleware Framework ECOOP 2000 Workshop QoS in DOS.
Chapter 81 Internet Protocol (IP) Our greatest glory is not in never failing, but in rising up every time we fail. - Ralph Waldo Emerson.
1 Applying Adaptive Middleware, Modeling, and Real-Time CORBA Capabilities to Ensure End-to- End QoS Capabilities of Video Streams BBN Technologies Cambridge,
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
CS 4396 Computer Networks Lab
ACHIEVING MULTIMEDIA QOS OVER HYBRID IP/PSTN INFRASTRUCTURES QOS Signalling and Media Gateway Control ITU-T SG13/SG16 Workshop on IP Networking and Mediacom.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
Integration of QoS-enabled Distributed Object Computing Middleware for Developing Next- Generation Distributed Applications By Krishnamurthy et Al. Presented.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
CSE5803 Advanced Internet Protocols and Applications (14) Introduction Developed in recent years, for low cost phone calls (long distance in particular).
1 010/02 Aspect-Oriented Interceptors Pattern 1/4/2016 ACP4IS 2003John Zinky BBN Technologies Aspect-Oriented Interceptors Pattern Dynamic Cross-Cutting.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time, Interactive Multimedia: Internet.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Integrated Services & RSVP Types of pplications Basic approach in IntServ Key components Service models.
1 09/25/02HPEC Workshop BBN Technologies Cambridge, Ma. Rick Schantz Joe Loyall Meeting the Demands of Changing Operating.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
IP - The Internet Protocol
Middleware Policies for Intrusion Tolerance
Top-Down Network Design Chapter Thirteen Optimizing Your Network Design Copyright 2010 Cisco Press & Priscilla Oppenheimer.
IP - The Internet Protocol
QoS-Enabled Middleware
Ch > 28.4.
IP - The Internet Protocol
By Krishnamurthy et Al. Presented by David Girsault
IP - The Internet Protocol
EE 122: Lecture 18 (Differentiated Services)
Net 323 D: Networks Protocols
IP - The Internet Protocol
EE 122: Differentiated Services
Quality-aware Middleware
IP - The Internet Protocol
Integration of QoS-Enabled Distributed Object Computing Middleware for Developing Next-Generation Distributed Applications BBN Technologies.
Presentation transcript:

1 Using Quality Objects (QuO) Middleware for QoS Control of Video Streams BBN Technologies Cambridge, MA Craig Rodrigues OMG’s Third Workshop on Real-Time and Embedded Distributed Object Computing January 7-10, 2002 Burlingame, California, USA

2 US Navy UAV Characteristics *From the World Wide Web site for official information about Unmanned Aerial Vehicles, QoS Limited Off- Board Links Varying Missions Contention with other Subsystems Constrained Shipboard Resources Streaming Video COTS

3 Video feed from off-board source (unmanned aerial vehicle) Users interact with UAV in real time Users’ hosts receive video and display it Video Distributor sends video to hosts via ship’s network UAV Basic Scenario

4 Highest priority frames must reach the receiver Importance Receiving or collecting sufficient imagery (e.g., surveillance) Importance Invariant { f | f  Frames(U)  Importance(f) > I  f  Frames(R) } Example Dynamic Variations in UAV Mission Requirements Trading off these properties, while maintaining invariants, under dynamic conditions is crucial to mission success End-to-end latency + processing time at distributor and display, must be below threshold Timeliness An out-of-the-window view of UAV imagery (e.g., piloting, targeting) Timeliness Invariant L(U  D) + P(D) + L(D  R) + P(R) < T Image precision at display must approximate that at the UAV source Fidelity Determining relative importance of time-critical targets (e.g., commander) Fidelity Invariant Fidelity(R) / Fidelity(U) > Q Different mission requirements require optimizing an aspect or aspects, possibly trading off others

5 Example Variations & Adaptations in UAV Scenario I P B I I I I I I I I P P P P P P P P P P B B B B B B B BB B B B B B B B BB B B B B B B B B B B B B B B B B B B B B B BBBBBBBBBBBBBB B BBB BBBBBBBBBBBBBBBBBBBBBBBBBBBB P P P P P P P P P P I BB P BB P BB P BB P BB P BB I BB P B NETWORK RESERVATION Condition: excessive Network load Action: Use IntServ to reserve bandwidth... P BB P BB P BB II I I DATA FILTERING Condition: When excessive network or CPU load Action: Drop selective frames Dynamic Variations in Operating Conditions Dynamic Variations in Operating Conditions Mission requirements of UAV scenario Fidelity Image fidelity must be maintained LOAD BALANCING Condition: Excessive CPU load Action: Migrate distributor to a lightly loaded host Timeliness Maintain an out- of-the-window view of UAV imagery Importance Important imagery must be received

6 UAV Application: A View of the Software Components Video Source Process UAV SIMULATION HOST UAV Video File Video DIstributor VIDEO DISTRIBUTION HOST QuO Contract Video Display VIDEO DISPLAY HOST 1 Video Display Proxy CORBA A/V Streaming Service VIDEO DISPLAY HOST 2 VIDEO DISPLAY HOST N Reused Off the Shelf Software DVDView video player Common middleware services TAO CORBA A/V Service QuO AQoSA TAO Naming Service Frame filtering commands Observed throughput Reservation requests QuO Contract

7 Functional description of UAV architecture Video Source Process UAV SIMULATION HOST Video Distributor Process VIDEO DISTRIBUTION HOST Video Display Process VIDEO DISPLAY HOST 1 Display Proxy Process VIDEO DISPLAY HOST N Functionality Read bytes from a file Convert into frames Send out pipe Timing and sequencing of frames sent out Base Functionality Receive frames Send frames to registered receivers QuO Functionality QuO Delegate: Frame filtering (i.e., frame dropping) QuO Sysconds and Contract: Measuring frame rate Measuring resource usage and availability (CPU and network) Adapting to performance degradation (e.g., frame dropping, load balancing) Base Functionality Receive frames Display frames on the screen QuO Functionality QuO Sysconds and Contract: Measuring frame rate QuO Delegate: Removing time stamp Removing sequencing Discarding frame if late or out of sequence VIDEO DISPLAY HOST 2

8 COTS Middleware Components used in the UAV Software Quality Objects (QuO) –provides higher level programming model for specifying application-level QoS and adaptation CORBA ORB technology and services – TAO RT-CORBA ORB – CORBA Audio/Video Service

9 Quality Objects (QuO) Provides a higher level programming model for specifying application QoS –operating regions specified in QuO Contracts –transitions between regions trigger adaptive behaviors Support for different middleware architectures –CORBA (Java and C++) –Java RMI –local method call

10 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

11 CORBA Audio/Video Streaming Service Goals of OMG CORBA A/V Service Specification –Define standard mechanisms for: Stream Establishment Stream Control Multiple Flows Multiple Protocols QoS Goals of TAO A/V Streaming Service Project –Implement OMG CORBA A/V Service Specification using TAO

12 UAV Application High Level Design Source Stream Endpoint (distributor) Stream Adaptor Sink Stream EndPoint (Display) Stream Adaptor Video Stream TAO A/V Streaming Service ACE AQoSA API RSVP-enabled routers reservation request reservation accept/ reject event notifications.. reservationsflows QoS updates QuO measurement and control reservation notification Video Source Process UAV Video File Video Distributor VIDEO DISTRIBUTION HOST QuO Video Stream Video Display VIDEO DISPLAY HOST Video Display Proxy QuO

13 UAV Application: A View of the Software Components Video Source Process UAV SIMULATION HOST UAV Video File Video DIstributor VIDEO DISTRIBUTION HOST QuO Contract Video Display VIDEO DISPLAY HOST 1 Video Display Proxy CORBA A/V Streaming Service VIDEO DISPLAY HOST 2 VIDEO DISPLAY HOST N Reused Off the Shelf Software DVDView video player Common middleware services TAO CORBA A/V Service QuO AQoSA TAO Naming Service Frame filtering commands Observed throughput Reservation requests QuO Contract

14 UAV Application: Managed Behavior for Computational Resources In order to preserve end-to-end QoS requirements, different technologies must be used to manage the behavior of computational resources Processor Resources –RT-CORBA Network Resources –RSVP –DiffServ

15 RT-CORBA and UAV application Distributor will need to perform real-time processing of video frames and/or sensor data which may accompany the video, or video frames Distributor invokes a method on an RT-CORBA servant which performs data processing Thread priority of task is requested in the CORBA invocation Frame Filter Delegate TAO_AV_Protocol_ Object TAO_AV_ UDP_Object transport->send() distributor.{h,cpp} Distributor Code Receive Frame Event Callback wrapper-> send_frame() RT-CORBA Thread pool RT-CORBA servant RT-CORBA request Video frames

16 What is RSVP? Resource Reservation Protocol, specified in IETF RFC 2205 QoS properties are requested by an “out-of-band” signalling protocol Can be used to request a reserved bandwidth between a sender and receiver host Information about the reservation is stored in each intermediate router: “soft-state”

17 RSVP fragmentation problem MPEG in UDP packets were being fragmented by IP. Routers did not know that fragmented IP packets were part of a RSVP reservation of UDP packets. Solution: QuO delegates for fragmentation/reassembly, so UDP packets are not fragmented at IP level. Frame Filter Delegate TAO_AV_Protocol_ Object TAO_AV_ UDP_Object transport->send() distributor.{h,cpp} Distributor Code Receive Frame Event Callback wrapper-> send_frame() Host B (Distributor) receiver.{h,cpp} Receiver Code Receive Frame Event Callback Fragment Frame Delegate Reassemble Frame Delegate Host C (Receiver)

18 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

19 Specifying Diffserv QoS properties using the TAO AV Service CORBA IDL for AVStreams contains a method for changng the QoS characteristics of a stream: We have modified the TAO AV service, and use modify_QoS() to specify Diffserv codepoint values in video streams. AV service contributions are integrated in TAO 1.2. typedef sequence flowSpec; struct QoS { string QoSType CosPropertyService::Properties QoSParams; }; typedef sequence streamQoS; interface Basic_StreamCtrl { boolean modify_QoS(inout streamQoS, in flowSpec) raises (noSuchFlow, QoSRequestFailed) }

20 Integration of QuO QoS Components in UAV Application POA::Sender_ Control_ Callback Sender_ Control_ Callback Object receiver.{h,cpp} Receiver Code Receive Frame Event Callback Contract Normal High Excess Contract SendAllFrames SendTenFrames SendTwoFrames Frame Filter Delegate Expected Frame Rate Host A (Sender)Host C (Receiver) Actual Frame Rate QuO provides higher level feedback and control as video frames are transmitted from sender to receiver TAO_AV_Protocol_ Object TAO_AV_ UDP_Object transport->send() distributor.{h,cpp} Distributor Code Receive Frame Event Callback wrapper-> send_frame() Sender Control sender.{h,cpp} Sender Code wrapper-> send_frame() Header Delegate Host B (Distributor)

21 Creating RSVP and Diffserv Reusable Qoskets Desirable to create reusable network-centric QoS components (“Qoskets”), to make distributed, QoS enabled applications easier to develop. Code for RSVP qosket is currently being refactored out of existing application. Diffserv qosket needs to be rewritten. Perhaps a good use for the CORBA Component Model? New Qoskets paper available: RSVP Qosket Diffserv Qosket

22 Some Future Directions and Questions CORBA seems to work well as a signalling platform for QoS. Can we use it to request higher level QoS strategies instead of protocols like RSVP? –Create reusable Qosket components for RSVP, Diffserv, and other QoS properties How can we integrate with Resource Managers for requesting end-to-end QoS: network, CPU resources,….? How can we use more RT-CORBA features to deliver end-to- end QoS? – integration of behaviors like adaptive filtering How can we scale the application to send multiple simultaneous data streams (video, sensor readings)? –use more advanced features of CORBA A/V service

23 Distribution information QuO software available from: / UAV software available from: Help available from: Requires latest version of TAO ORB, version 1.2, available from: