RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah 1103999.

Slides:



Advertisements
Similar presentations
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Advertisements

Database System Concepts and Architecture
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
RPC Robert Grimm New York University Remote Procedure Calls.
Remote Procedure Call (RPC)
Remote Procedure Call Design issues Implementation RPC programming
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
Advanced Database Systems September 2013 Dr. Fatemeh Ahmadi-Abkenari 1.
Implementing Remote Procedure Calls Authored by: Andrew D. Birrel and Bruce Jay Nelson Presented by: Terry, Jae, Denny.
Technical Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Jacob Boston Josh Pfeifer. Definition of HyperText Transfer Protocol How HTTP works How Websites work GoDaddy.com OSI Model Networking.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 1: Introduction to Decision Support Systems Decision Support.
Remote Procedure Calls. 2 Client/Server Paradigm Common model for structuring distributed computations A server is a program (or collection of programs)
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
.NET Mobile Application Development Remote Procedure Call.
1 Chapter 2 Database Environment. 2 Chapter 2 - Objectives u Purpose of three-level database architecture. u Contents of external, conceptual, and internal.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Query Processing Presented by Aung S. Win.
Database Environment 1.  Purpose of three-level database architecture.  Contents of external, conceptual, and internal levels.  Purpose of external/conceptual.
Chapter 10 Architectural Design
Overview of the Database Development Process
Functions of a Database Management System
Chapter 2 CIS Sungchul Hong
ITEC 3220M Using and Designing Database Systems
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
Chapter 1 In-lab Quiz Next week
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Distributed Processing and Client/Server
Information System Development Courses Figure: ISD Course Structure.
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Pearson Education, Inc. Slide 2-1 Data Models Data Model: A set.
Distributed database system
Remote Procedure Call and Serialization BY: AARON MCKAY.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Object storage and object interoperability
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
1 Chapter 2 Database Environment Pearson Education © 2009.
Distributed objects and remote invocation Pages
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Chapter 2 Database Environment.
Prof. Leonardo Mostarda University of Camerino
Implementing RPC by Birrell & Nelson
CHAPTER 3 Architectures for Distributed Systems
#01 Client/Server Computing
Ch > 28.4.
Chapter 2 Database Environment.
Chapter 2 Database Environment Pearson Education © 2009.
Analysis models and design models
Remote Procedure Call Hank Levy 1.
Remote Procedure Call Hank Levy 1.
Database System Architectures
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Remote Procedure Call Hank Levy 1.
#01 Client/Server Computing
Presentation transcript:

RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah

Content Introduction. The General Structure of The Model. Extended RPC Model. The Structure of The Basic Elements of the Model. View Generator. (UFI) User Friendly Interface. The Client Stub - Optimal Access plan generation. Server Stub - AMI and AMU The Structure of The Catalog Fault-Tolerant Aspects and Recovery. Conclusion.

Introduction Paper focus on the problem of heterogeneous distributed databases. Paper propose an uniform logical interface to the end user from a collection of different environments. Fault tolerance aspects of reliability of this system as well as error detection techniques and recovery protocols are also described. Problems due to heterogeneity : o Interconnection o Filing o User interface

The General Structure of The Model illustrates extended RPC model and how it works CLIENT UFI (User Friendly Interface) CLIENT STUB DBMS process Access Plan generator Query processing Code Generation TRANSPORT SERVER STUB AMI SERVER AMU CATALOG call return call return call Return (Local Procedure Call) callreturncallreturn (Remote Procedure Call)

The General Structure of The Model illustrates extended RPC model and how it works CLIENT UFI (User Friendly Interface) CLIENT STUB DBMS process Access Plan generator Query processing Code Generation TRANSPORT SERVER STUB AMI SERVER AMU CATALOG call return call return call Return (Local Procedure Call) callreturncallreturn (Remote Procedure Call) Receives user's queries. Queries are passed to the lexical analyzer and parser which transform them into parse tree form.

The General Structure of The Model illustrates extended RPC model and how it works CLIENT UFI (User Friendly Interface) CLIENT STUB DBMS process Access Plan generator Query processing Code Generation TRANSPORT SERVER STUB AMI SERVER AMU CATALOG call return call return call Return (Local Procedure Call) callreturncallreturn (Remote Procedure Call) receives queries into parse tree form and transfers them to the optimal access plan generation and code generation modules. This code contains calls to the procedures which can reside to other systems. Responsible also for translating the arguments into a suitable format for transmission over the network Generating code must be linked before calling one another.

The General Structure of The Model illustrates extended RPC model and how it works CLIENT UFI (User Friendly Interface) CLIENT STUB DBMS process Access Plan generator Query processing Code Generation TRANSPORT SERVER STUB AMI SERVER AMU CATALOG call return call return call Return (Local Procedure Call) callreturncallreturn (Remote Procedure Call) bind clients and servers together before RPC can take place.

The General Structure of The Model illustrates extended RPC model and how it works CLIENT UFI (User Friendly Interface) CLIENT STUB DBMS process Access Plan generator Query processing Code Generation TRANSPORT SERVER STUB AMI SERVER AMU CATALOG call return call return call Return (Local Procedure Call) callreturncallreturn (Remote Procedure Call) Demarshalls the parameters and calls the desired server routine using the regular procedure call mechanism. Marshalls the return values into a message.

The General Structure of The Model illustrates extended RPC model and how it works CLIENT UFI (User Friendly Interface) CLIENT STUB DBMS process Access Plan generator Query processing Code Generation TRANSPORT SERVER STUB AMI SERVER AMU CATALOG call return call return call Return (Local Procedure Call) callreturncallreturn (Remote Procedure Call) Relational user can access non relational model of DB (remotely) Using the transport mechanism and corresponding relational schema from the catalog The user can access the DB on another node.

Extended RPC Model RPC provide stub generators for(transport protocols - data representation - semantics and type systems) Extended RPC model support the following cases: First: Local procedure call Relational user can access relational DB which is locally available Relational user can access network, hierarchical or other nonrelatinal model of DB. Second: Remote procedure call Relational user can access relational DB on another node (remotely). Relational user can access nonrelational model of DB (remotely).

Catalog The Structure of The Basic Elements of the Model Non Relational SchemaUser Information View Generator Relational Schema (View) Integrity Constraints Rule BaseData Base View Generator

Catalog The Structure of The Basic Elements of the Model View Generator Non Relational SchemaUser Information View Generator Relational Schema (View) Integrity Constraints Rule BaseData Base Extracts logical information from the given non relational schema and through user- system dialogue at view definition time generates relational schema. Translated schema is stored in the catalog as relational schema.

The Structure of The Basic Elements of the Model UFI module enabling easy interaction with the resources to the end users. UFI module enables processing of user's ad-hoc queries. Generate relational view over existing relational and non relational databases. communicate with the catalog for searching or modifying its contents. process ad-hoc queries related on databases resident on one or more systems. The UFI will communicate with the user via five types of screens created by the resident systems : predefined screens for generating relational views over nonrelational databases, screens for communication with the catalog, predefined screen for all queries, screens for automatic generation of reports, screens defined interactively by the users. (UFI) User Friendly Interface

The Structure of The Basic Elements of the Model (UFI) User Friendly Interface UFI transfers user's queries to the lexical analyzer and parser. Realize a special SQL parser. Using high probability. Syntax error correction activity depends on : The context in which error has occurred, Our knowledge for appropriate recovery action. In this way, we have balanced the efficient query execution flow with the level of fault tolerant in the process of query parsing.

The Structure of The Basic Elements of the Model Query Standardization View Substitution Simplification Amelioration Evaluation Selection of Access Plan Generator of Code Catalog Query against View relations (Parse Tree) View relations definition from catalog The Client Stub - Optimal Access plan generation

The Structure of The Basic Elements of the Model Query Standardization View Substitution Simplification Amelioration Evaluation Selection of Access Plan Generator of Code Catalog Query against View relations (Parse Tree) View relations definition from catalog Using SQL to build prototype system. The goal is the construction of a standardized starting point for query optimization. The Client Stub - Optimal Access plan generation

The Structure of The Basic Elements of the Model Query Standardization View Substitution Simplification Amelioration Evaluation Selection of Access Plan Generator of Code Catalog Query against View relations (Parse Tree) View relations definition from catalog Eliminate the redundancy. The Client Stub - Optimal Access plan generation

The Structure of The Basic Elements of the Model Query Standardization View Substitution Simplification Amelioration Evaluation Selection of Access Plan Generator of Code Catalog Query against View relations (Parse Tree) View relations definition from catalog construct improve expressions with respect to evaluation performance. The Client Stub - Optimal Access plan generation

The Structure of The Basic Elements of the Model Query Standardization View Substitution Simplification Amelioration Evaluation Selection of Access Plan Generator of Code Catalog Query against View relations (Parse Tree) View relations definition from catalog map the transformed query into alternative sequences of elementary operations for which a good implementation and its associated cost are known. The Client Stub - Optimal Access plan generation

The Structure of The Basic Elements of the Model Query Standardization View Substitution Simplification Amelioration Evaluation Selection of Access Plan Generator of Code Catalog Query against View relations (Parse Tree) View relations definition from catalog Compute the cost for each access plan, will choose the cheapest one. The Client Stub - Optimal Access plan generation

The Structure of The Basic Elements of the Model Query Standardization View Substitution Simplification Amelioration Evaluation Selection of Access Plan Generator of Code Catalog Query against View relations (Parse Tree) View relations definition from catalog Generate the code of the access module. The Client Stub - Optimal Access plan generation

The Structure of The Basic Elements of the Model Query Standardization View Substitution Simplification Amelioration Evaluation Selection of Access Plan Generator of Code Catalog Query against View relations (Parse Tree) View relations definition from catalog The Client Stub - Optimal Access plan generation All modules must communicate with the catalog to perform its functions. Particular integrity constraints will enable the existing relational view optimization facilities to be used for compiling non relational database.

The Structure of The Basic Elements of the Model Server Stub - AMI and AMU AMI (Access Method Interface) receive calls from the client stub The code generation module in the client stub generates a code which contains calls to the AMI routines. The server stub receives the AMI routine name and arguments into network's format. The AMU are access method utilities resident on the server system.

The Structure of The Basic Elements of the Model The Structure of The Catalog The catalog is organized as a knowledge base. The knowledge base contains two parts: database - rule base. All user requests will be interpreted by the system in accordance with information stored in catalog. where and how The catalog should be stored?

Fault-Tolerant Aspects and Recovery Client 1 Client n Server 1 Server m Access Plan 1 Access Plan n Access Plan 1 Access Plan k

Fault-Tolerant Aspects and Recovery Client 1 Client n Server 1 Server m Access Plan 1 Access Plan n Access Plan 1 Access Plan k To improve reliability allow the existence and execution of several access plans

Fault-Tolerant Aspects and Recovery Client 1 Client n Server 1 Server m Access Plan 1 Access Plan n Access Plan 1 Access Plan k The client will send messages to multiple servers in the network. Choose one of other access plans. The choice can be performed in different ways.

Conclusion Development of the extended client server model. Development of knowledge-based protocols for user error correction through the query processing. Provide an expert subsystem for view definition. Development of the catalog structure as relational database and knowledge base. Develop fault tolerant model to provide high degree of fault tolerance and robustness of the system. Provide better database model and structure transparency.