QoS Provisioning in CORBA Aspects & Composition Filters Mehmet Aksit * Ali Noutash + Marten van Sinderen*

Slides:



Advertisements
Similar presentations
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Advertisements

Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
18th ICA WORKSHOP on Generalisation and Multiple Representation, A Coruña, July 7-8th, 2005 Web Services for an Open Generalisation Research Platform Moritz.
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.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
Centralized Architectures
Communication in Distributed Systems –Part 2
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
© 2001 TRESE Group, University of Twente TRESE e-tutorial series 02Software the evolution problems using CF Solving the evolution problems using Composition.
Fundamentals of Python: From First Programs Through Data Structures
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Technical aspects of OpenRTM-aist Geoffrey Biggs Intelligent Systems Research Institute National Institute of Advanced Industrial Science and Technology.
Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
1 Chapter 2. Communication. STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered Protocol But some other protocols.
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
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
An analogy to Composition Filters Mehmet Aksit TRESE Group, Department of Computer.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor.
Information Management NTU Interprocess Communication and Middleware.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Heavy and lightweight dynamic network services: challenges and experiments for designing intelligent solutions in evolvable next generation networks Laurent.
International Symposium on Distributed Objects and Applications (DOA 2002) MetaSockets MetaSockets Run-Time Support for Adaptive Communication Services.
Chapter 2 Applications and Layered Architectures Sockets.
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Threaded Programming in Python Adapted from Fundamentals of Python: From First Programs Through Data Structures CPE 401 / 601 Computer Network Systems.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
Remote Procedure Calls CS587x Lecture Department of Computer Science Iowa State University.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
The Mach System Silberschatz et al Presented By Anjana Venkat.
1 010/02 Aspect-Oriented Interceptors Pattern 1/4/2016 ACP4IS 2003John Zinky BBN Technologies Aspect-Oriented Interceptors Pattern Dynamic Cross-Cutting.
© 2001 TRESE Group, University of Twente TRESE e-tutorial series 02Software the evolution problems using CF Solving the evolution problems using Composition.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
Ch. 2 Protocol Architecture. 2.1 The Need for a Protocol Architecture Same set of layered functions need to exist in the two communicating systems. Key.
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
TSG-SA Working Group 2 (Architecture) #03TSGS2#3 S
ACEDB, CORBA, CITA and GFace Hamish McWilliam BrassicaDB.
CORBA: An Overview Mojtaba Hosseini.
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
CORBA Alegria Baquero.
Software Connectors.
Presented by Gitit Amihud
CORBA Alegria Baquero.
ECEN “Internet Protocols and Modeling”
Issues in Client/Server Programming
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
AspectAda Aspect-Oriented Programming for Ada95
Quality-aware Middleware
Presentation transcript:

QoS Provisioning in CORBA Aspects & Composition Filters Mehmet Aksit * Ali Noutash + Marten van Sinderen* Lodewijk Bergmans* * University of Twente, Enschede, The Netherlands + Object Technology Int. (OTI), Ottawa, Canada

Introduction Context: AMIDST project: –QoS-aware Middleware a generic, framework-based approach –Enhances middleware to reason about QoS requirements and meet those needs. –Architecture adopts a feed-back control loop. This talk: –Propose Aspect-Orientation & Composition Filters Motivate for enhancing middleware with Specialized Composition Filters for dedicated transport plugins

Aspect-Orientation a.k.a. Multi-Dimensional Separation (& Composition) of Concerns Key characteristics –addresses tangled code if it is due to crosscutting concerns by making each concern a module abstraction –concerns are structured along (multiple) separate dimensions functional & non-functional –mapping between crosscutting concerns: 1 class, n methods n classes, n methods wildcards –imposition of behavior inverse dependencies because of m

AOP with Composition Filters A quick overview of features Example filter specs: BoundedBuffer assert:Error={ElemOk=>*}; sync:Wait={ FreeSpace=>put, ElemsLeft=>get, *\{put, get} }; cntr:Meta={ CntOn=>[*]stats.count }; disp:Dispatch={ [alloc]MemMan.*, inner.*, simpleBuf.* }; kernel internal object(s) external objects {…, … } conditions MemMan stats Simple Buf

Network CORBA OCI Buffer ORB Interface (IDL) GIOP (RPC Protocol) Transport Layer Buffer Server ObjectClient Object

Call Send (abstract) (RPC-Message) Call Receive (RPC-Message) Call ReadBuffer (buffer) Call writeBuffer (abstract) (buffer) GIOP Interface (IDL) Transport Layer TCPIP (socket) Aspects: Buffering Distribution Synchronization Receiving RPCSending RPC Simplified OCI-IIOP interaction Buffer Receive(buffer){ java.io.InputStream in = socket_.getInputStream(); int result = in.read(buf.data()} Send(buffer) { java.io.OutputStream out = socket_.getOutputStream(); out.write(buf.data(), pos(), length()); out.flush();} 431 2

Call Send (RPC-Message) Call Receive (RPC-Message) Call ReadBuffer (buffer) Call writeBuffer (buffer) GIOP Interface (IDL) Transport Layer UDPIP (socket) Receiving RPCSending RPC Simplified OCI-UDPIOP interaction Buffer Error: Buffer isn't Full Socket.Send (datagramPacket=1k) UDPSocket.Receive (datagramPacket=1k) 14 32

Call ReadBuffer (buffer) GIOP Interface (IDL) Receiving RPC OCI-UDPIOP implementation Transporter() { loop (buffer isnot FULL) { Receive(dataUnit) prossesBuffer(dataUnit,buffer) if (buffer is Full) notify () } } Blocker() { Suspend() } Buffer Dynamic transport wrapper Call Receive (RPC-Message) Receive (RPC-Message) Fork TCPIP Receive (dataUnit=%10Buffer) UDPIP Receive (dataUnit=%25Buffer) readHeader (12Bytes,buffer) Read&DeleteBuffer (allBuffer,buffer) quality of service access points (delegation points)

Synchronization aspect attribute bufferSize /*determines the size of buffer */ attribute bufferCounter /*determines amount of data filled/red to/from buffer */ suspendCondition = (bufferCounter<bufferSize) Thread 1(main thread) Blocker() { Suspend() } Thread 2 Transporter() { While (NOT suspendCondition) { receive/send (dataUnit) processBuffer(dataUnit,buffer) if (buffer is Full) notify () } /* End up the suspended main thread }

attribute bufferSize /*determines the size of buffer */ attribute bufferCounter /*determines amount of data to be filled/red to/from buffer */ suspendCondition = {bufferCounter<bufferSize} attribute EndOfNetworkProcess /* boolean variable to be set by QoS Manager attribute EndOfBufferProcess / * boolean variable to be set by GIOP suspendCondition= {suspendCondition AND EndOfNetworkProcess AND EndofBufferProcess) Thread 1(main thread) /* Block main thread*/ Suspend(); Thread 2 While (NOT suspendCondition) If (not endOfNetworkProcess) send /receive (data) If (not EndofBufferProcess) processBuffer(data,buffer) IF (EndOfSuspend) /* End up the suspended main thread Notify() Composing QoS aspect with Synchronization aspect

Dynamic transport wrapper with Composition Filter Object Model Send/receive data Process buffer dispatch filter (QoS and Synch aspects) dispatch filter (synchronization aspect) Wait filter (synchronization aspect) Multithread (thread fork) delegation meta filter (synchronization aspect) loop IP Multicast transport TCPIP transport UDPIP transport fork Dispatch filter (QoS and synch aspects)

Conclusions We need dynamic adaptability for QoS provisioning We need Aspect Oriented Transport Layer We need Reflective Transport Layer We need QoS access points in Transport Layer Future work Implementing Transport wrapper Implement run-time transport plug-ins Implement Quality of Service access points 1) for switching Transport Plug-ins 2) Switching Buffering processes