Download
distributed object applications rome italy september 18 20 2001 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Distributed Object Applications Rome, Italy September 18-20, 2001 PowerPoint Presentation
Download Presentation
Distributed Object Applications Rome, Italy September 18-20, 2001

Distributed Object Applications Rome, Italy September 18-20, 2001

108 Views Download Presentation
Download Presentation

Distributed Object Applications Rome, Italy September 18-20, 2001

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. Outline Motivation & context Overview of the QuO adaptive middleware framework Using QuO in an embedded streaming video application Conclusions

  3. 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. 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. 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. 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. Outline Motivation & context Overview of the QuO adaptive middleware framework Using QuO in an embedded streaming video application Conclusions

  8. in args OBJECT (SERVANT) OBJECT (SERVANT) in args Contract Contract CLIENT CLIENT OBJECT (SERVANT) OBJECT (SERVANT) operation() OBJ REF out args + return value IDL SKELETON IDL STUBS OBJECT ADAPTER Network ORB ORB ORB ORB IIOP IIOP IIOP IIOP Network QuO Adds Specification, Measurement, and Adaptation into the Distributed Object Model Application Developer CORBA DOC MODEL Mechanism Developer Application Developer CLIENT CLIENT operation() OBJ REF out args + return value Delegate Delegate QuO Developer SysCond SysCond SysCond QUO/CORBA DOC MODEL SysCond IDL SKELETON MECHANISM/PROPERTY MANAGER IDL STUBS OBJECT ADAPTER Mechanism Developer

  9. 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. CORBA IDL Contract Description Language (CDL) Contracts Delegates QuO Runtime Code Generators Adaptive Specification Language (ASL) 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

  11. 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 Client Code Qosket Delegate QuO Contract Functional Behavior Adaptation QoS Adaptive Behavior SysCond QoS Mechanisms Object

  12. Outline Motivation & context Overview of the QuO adaptive middleware framework Using QuO in an embedded streaming video application Conclusions

  13. Basic Streaming Video Scenario • Video feed from remote source • Video Distributor sends video to hosts on embedded network • Users’ hosts receive video and display it • Users interact with remote video source in real time

  14. NETWORK RESERVATION • Condition: excessive Network load • Action: Use IntServ to reserve bandwidth X X I P B I P B I B B B B B B P B B B B B B B B B B B B B B B I I B B P B P IBBPBBPBBPBBPBBPBBIBBPB B P B P B P B I P B I P P P P P P P B B P P P I I B B B B B B B B B B B B B B B B B B B B B B B B B B B B P P B B B B B B B B B B B B B B B B B B B B B B B B B • LOAD BALANCING • Condition: Excessive CPU load • Action: Migrate distributor to a lightly loaded host ...PBBPBBPBBI II I • DATA FILTERING • Condition: When excessive network or CPU load • Action: Drop selective frames Variations & Adaptations in Streaming Video Scenario Operational requirements and tradeoffs • Timeliness • Maintain a current view of UAV imagery • Importance • Frames must be dropped in reverse order of importance (B, then P) • Fidelity • Highest fidelity frames (i.e., I frames) must be delivered Dynamic Variations in Operating Conditions

  15. Reservation requests Frame filtering commands Observed throughput VIDEO DISPLAY HOST N VIDEO DISPLAY HOST 2 VIDEO DISTRIBUTION N Architecture of the Embedded Video Streaming Application CORBA A/V Streaming Service + AQoSA Resource Reservation (IntServ) CORBA A/V Streaming Service Video Source Process Video Distributor Video Display Proxy Video Display VIDEO DISPLAY HOST 1 QuO Video File VIDEO DISTRIBUTION HOST MOBILE VIDEO SOURCE HOST • Features • Reused Off the Shelf Software • DVDView video player • Common middleware services • QuO adaptive middleware • Real-time CORBA ORB (TAO) • Naming Service • A/V Streaming Service • AQoSA • Hand coded functionality • video forwarding • frame processing, filtering • timestamping and sequencing • connection, video transport

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

  17. Source Stream Endpoint (Distributor) Sink Stream EndPoint (Display) QuO measurement and control ORB Stream Interface Control Object Stream Interface Control Object Stream Adaptor Stream Adaptor Video Stream Connecting and managing UAV video streams using the CORBA A/V Streaming Service Video Source Process Video Distributor Video Display Proxy Video Display Video Stream QuO QuO Video File VIDEO DISTRIBUTION HOST MOBILE VIDEO SOURCE HOST VIDEO DISPLAY HOST

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

  19. Max lateness Mean lateness 32.696 sec 5.400 sec No adaptation 0.067 sec Adaptation 1.930 sec Ability to Keep Video Current Using Middleware Adaptation 35 • 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. 30 Without adaptation 25 20 Additional latency (secs) 15 Load With adaptation 10 5 0 0 30 60 90 120 150 180 210 240 270 300 Execution time (secs) Under load

  20. Outline Motivation & context Overview of the QuO adaptive middleware framework Using QuO in an embedded streaming video application Conclusions

  21. 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