150 likes | 342 Views
Autonomic Computing:A Service-Oriented Framework to Support the Development of Distributed Applications. Nagwa Badr School of Computing and Mathematical Sciences Liverpool John Moores University {dreilly,mallen,cmsegris,cmsnbadr,cmsmyu,a.talebbendiab}@livjm.ac.uk. Topics.
E N D
Autonomic Computing:A Service-Oriented Framework to Support the Development of Distributed Applications Nagwa Badr School of Computing and Mathematical Sciences Liverpool John Moores University {dreilly,mallen,cmsegris,cmsnbadr,cmsmyu,a.talebbendiab}@livjm.ac.uk
Topics • Introduction & Motivation • Distributed Application Requirements • Jini Middleware Technology • Related Work • Framework Overview & Architecture • Case Study & Demonstrator • Future Work
Motivation • Development a framework to support distributed application development and runtime management • Distributed applications are difficult to develop & manage: • Likelihood of different component/middleware technologies (DCOM, CORBA, EJB, Jini) • Different protocols (TCP/IP, UDP) • Inherent dynamics leading to clients/service reconfigurations “on the fly”
Distributed ApplicationsRequirements • Use technologies that provides distributed self-organizing, network-centric capabilities • Autonomic computing: a recent trend • Developing software management, Maintenance to software • Self-organizing, self-healing, sentient, self-adaptive, self-aware. • Requiring meta-systems and meta-reasoning to: • Continuous measurement and/or reflection on operational systems
Jini Middleware Technology • Jini selected as middleware technology to implement framework • Jini is Java’s “service-oriented” middleware technology • Jini applications consist of • Application services and clients • Middleware services (e.g. lookup) • A network (BUT Jini hides this to make life easy) • Clients interact with application services through “proxies” (Java interfaces)
Lookup Service Application Service Client Proxy Proxy Proxy Implementation (hidden) Network • Client Lookup • Assume Application Service, Lookup Service and Client exist • on three different remote networked computers • Three steps before Client can remotely use Application Service Step 1: Service Registration Step 2: Client Lookup/Discovery (like finding a plumber in Yellow Pages) Step 3: Client invokes Proxy Methods (via Jini RMI client can remotely use the service)
Related Work • Recent major developments in distributed application management • Openwings:Sun Microsystems, Motorola, uses Management Beans (MBeans) to manage distributed Java applications • Rio:Jini Community project, which provides a framework to develop reliable Jini applications • DASADA:(Dynamic Assembly for System Adaptability Dependability and Assurance) a group of DARPA funded projects concerned with the use dynamic gauges. • Autonomic Computing: IBM provides a computing systems and includes all facts of I/Twith minimum of human interference
Framework Overview & Architecture There is need for: • Assembly • Combining services/agents Ella Grishikashvili, Mark Allen • Instrumentation • Continuous measurement Denis Reilly • Management • Maintenance to the software itself Nagwa Badr
Monitoring S5 Diagnosing A1 S4 Application Services and Clients A2 R emo te Event Utility S6 C3 C1 S y stem Constraint C2 C4 Checker S7 A3 Conflicts Resolution Strategy Exception Handle Utility A daptat ion Strategies INFORMATION META REGISTRATION Re/CONFIGURATION OPERATIONAL ASSEMBLY CONTROL SERVICE SERVICE SERVICE SERVICE SERVICE Agents Assembly Self-Describing Service Agents Services and Tools Framework MONITORS GAUGES PROBES Agent Description Agent Assembly INSTRUMENTATION SERVICES Language Language Discovery Leasing LookUp Service Service Service AGLET Middleware Services JINI SERVICES J A V A Framework Architecture
Service Manager Vehicle Operation Information Systems AVL 3-in-1 Phone Power Management Vehicle Recorder Database/ XML Servlet Incident Response WAP Cellular Walkie Talkie Client 1 Client 2 Case Study & Demonstrator • The Framework has been Implemented and tested on existing Jini Application, namely EmergeITS which consist of: • Application Services: which discovered and used by one/more in-vehicle client computers • Service Manager: which responsible for registering application services and managing their leases
Service Manager Vehicle Operation Information Systems AVL 3-in-1 Phone Power Management Vehicle Recorder Database/ XML Servlet Incident Response WAP Cellular Walkie Talkie Client 3 4 1 IS1 IS2 IS3 Monitor Monitor Monitor Application Recorder Instrumentation Manager Logger Analyzer Logger Analyzer Logger Analyzer 2 5 Instrumentation Factory IS5 IS4 IS3 Monitor Monitor Monitor Logger Analyzer Logger Analyzer Logger Analyzer 3 An Example : shows an instrumentation factory that produces instrumentation monitor for the assembled services, and attach dynamically with the Control Services
Ad-hoc service assembly tool Architecture transformation tool Software instrumentation tool Demonstrator
Future Work • Develop security services • That deal with authentication and client/service access conflicts • Further develop • XML-based Description Languages • Architecture Description Language (ADL) • Service Description Language (SDL) • Measurements and resolution session control and management • Evaluation case studies • On non-trivial distributed applications