Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 10/20/01DOA 2001 Application of the QuO Quality-of-Service Framework to a Distributed Video Application Distributed."— Presentation transcript:

1 1 10/20/01DOA 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

2 2 10/20/01DOA 2001 Outline Motivation & context Overview of the QuO adaptive middleware framework Using QuO in an embedded streaming video application Conclusions

3 3 10/20/01DOA 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

4 4 10/20/01DOA 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

5 5 10/20/01DOA 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.

6 6 10/20/01DOA 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

7 7 10/20/01DOA 2001 Outline Motivation & context Overview of the QuO adaptive middleware framework Using QuO in an embedded streaming video application Conclusions

8 8 10/20/01DOA 2001 QuO Adds Specification, Measurement, and Adaptation into 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

9 9 10/20/01DOA 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

10 10 10/20/01DOA 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 CORBA IDL Code Generators Code Generators Contract Description Language (CDL) Adaptive Specification Language (ASL) QuO Runtime Delegates Contracts

11 11 10/20/01DOA 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 QoS Mechanisms Client Code Delegate Qosket

12 12 10/20/01DOA 2001 Outline Motivation & context Overview of the QuO adaptive middleware framework Using QuO in an embedded streaming video application Conclusions

13 13 10/20/01DOA 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

14 14 10/20/01DOA 2001 Variations & Adaptations in Streaming Video 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 Operational requirements and 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

15 15 10/20/01DOA 2001 CORBA A/V Streaming Service + AQoSA Resource Reservation (IntServ) Architecture of the Embedded Video Streaming Application Features Reused 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 Video Source Process MOBILE VIDEO SOURCE HOST Video File Video Distributor VIDEO DISTRIBUTION HOST Video Display VIDEO DISPLAY HOST 1 Video Display Proxy CORBA A/V Streaming Service VIDEO DISPLAY HOST 2VIDEO DISPLAY HOST N QuO Observed throughput Observed throughput Reservation requests Frame filtering commands Frame filtering commands VIDEO DISTRIBUTION N

16 16 10/20/01DOA 2001 VIDEO DISTRIBUTION HOST Management and adaptation in UAV using the QuO adaptive middleware Video Distributor Video Display VIDEO DISPLAY HOST Video Display Proxy QuO Video Stream QuO Distributor Display Video Stream Normal Degraded Unusable ORB AQoSA A/V Streams Connect Stream Reserve Bandwidth Filter Rehost ORB AQoSA A/V Streams Frame Rate Video Source Process MOBILE VIDEO SOURCE HOST Video File

17 17 10/20/01DOA 2001 Source Stream Endpoint (Distributor) Stream Interface Control Object Stream 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 Video Distributor VIDEO DISTRIBUTION HOST Video Stream Video Display VIDEO DISPLAY HOST Video Display Proxy QuO Video Source Process MOBILE VIDEO SOURCE HOST Video File

18 18 10/20/01DOA 2001 Source Stream Endpoint (distributor) Stream Adaptor Sink Stream EndPoint (Display) Stream Adaptor Video Stream A/V Streaming Service AQoSA API RSVP-enabled routers reservation request reservation accept/ reject event notifications.. reservationsflows QoS updates QuO measurement and control reservation notification Reserving network resources using the AQoSA API Video Distributor VIDEO DISTRIBUTION HOST QuO Video Stream Video Display VIDEO DISPLAY HOST Video Display Proxy QuO Video Source Process MOBILE VIDEO SOURCE HOST Video File

19 19 10/20/01DOA 2001 Ability to Keep Video Current Using Middleware Adaptation 0 5 10 15 20 25 30 35 0 306090 120150180210240270300 Without adaptation With adaptation Load Adaptation No adaptation Mean lateness Max lateness 5.400 sec 32.696 sec 0.067 sec 1.930 sec Execution time (secs) Additional latency (secs) 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

20 20 10/20/01DOA 2001 The Code to Measure, Control, and Adapt to Changing Video QoS is Encapsulated in a Qosket Filter? Video Display reservation status A/V Streaming Service Video Distributor StreamEndpointDelegate BWReserveQosket send_frame() Sequence no. reserve_ bandwidth() Normal Degraded Unusable request reservation send_frame() Timestamp AQoSA RSVP throughput

21 21 10/20/01DOA 2001 Outline Motivation & context Overview of the QuO adaptive middleware framework Using QuO in an embedded streaming video application Conclusions

22 22 10/20/01DOA 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 jloyall@bbn.com or quo-help@bbn.com for more information


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

Similar presentations


Ads by Google