An Architectural Framework for Supporting Distributed Object Based Routing Dhavy Gantsou Department of Computer Science University of Valenciennes France.

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
10/04/2001 Associate Professor CS Department University of Valenciennes France Dr. Dhavy Gantsou.
Routing Basics By Craig Lindstrom. Overview Routing Process Routing Process Default Routing Default Routing Static Routing Static Routing Dynamic Routing.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Chapter 25 Internet Routing Internetworking Technology How routing tables are built initially How routing software updates the tables as needed. Propagation.
RD-CSY /09 Distance Vector Routing Protocols.
Inside the Internet. INTERNET ARCHITECTURE The Internet system consists of a number of interconnected packet networks supporting communication among host.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Chapter 22 Object-Oriented Design
WHY CENTRALIZED DATA BANKS WON’T WORK FOR HEALTH INFORMATION EXCHANGE (A Lightweight Approach to Implementing a Federated Model for HIE) Rex E. Gantenbein.
Distributed Systems: Client/Server Computing
UNICAST ROUTING PROTOCOLS Major Functions:  Define the domain of operation (Internal/External to the ISPs), and interaction with other protocols.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Database Systems: Design, Implementation, and Management Ninth Edition
INTRODUCTION TO WEB DATABASE PROGRAMMING
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
The Design Discipline.
STRATEGIES INVOLVED IN REMOTE COMPUTATION
Chapter 2 The Infrastructure. Copyright © 2003, Addison Wesley Understand the structure & elements As a business student, it is important that you understand.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
1 Computer Networks DA Chapter 1-3 Introduction.
1 Routing. 2 Routing is the act of deciding how each individual datagram finds its way through the multiple different paths to its destination. Routing.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Connecting to the Network Networking for Home and Small Businesses – Chapter.
The OSI Model.
Internetworking – What is internetworking? Connect multiple networks of one or more organizations into a large, uniform communication system. The resulting.
PRESENTED BY P. PRAVEEN Roll No: 1009 – 11 – NETWORK SECURITY M.C.A III Year II Sem.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
The High Level Architecture Introduction. Outline High Level Architecture (HLA): Background Rules Interface Specification –Overview –Class Based Subscription.
1 Internet Routing. 2 Terminology Forwarding –Refers to datagram transfer –Performed by host or router –Uses routing table Routing –Refers to propagation.
1 Network Layer Lecture 13 Imran Ahmed University of Management & Technology.
1 Module 4: Implementing OSPF. 2 Lessons OSPF OSPF Areas and Hierarchical Routing OSPF Operation OSPF Routing Tables Designing an OSPF Network.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
OSPF Offloading: The HELLO Protocol A First Step Toward Distributed Heterogeneous Offloading Speaker: Mary Bond.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Distance Vector Routing Protocols Dynamic Routing.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Connecting to the Network Introduction to Networking Concepts.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
C++ Inheritance Data Structures & OO Development I 1 Computer Science Dept Va Tech June 2007 © McQuain Generalization versus Abstraction Abstraction:simplify.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
ERICSON BRANDON M. BASCUG Alternate - REGIONAL NETWORK ADMINISTRATOR HOW TO TROUBLESHOOT TCP/IP CONNECTIVITY.
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
Reading TCP/IP Protocol. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Postgraduate Module Enterprise Database Systems Technological Educational Institution of Larisa in collaboration with Staffordshire University Larisa
COMPUTER NETWORKS CS610 Lecture-22 Hammad Khalid Khan.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
COMP 3270 Computer Networks
Dynamic Routing Protocols part2
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
TASK 4 Guideline.
Data and Computer Communications by William Stallings Eighth Edition
CS 31006: Computer Networks – The Routers
Connecting to the Network
Computer Networks DA2402.
Computer Networks Protocols
Control-Data Plane Separation
Presentation transcript:

An Architectural Framework for Supporting Distributed Object Based Routing Dhavy Gantsou Department of Computer Science University of Valenciennes France SIGAda 2002, D. Gantsou

Basic networking terminology and concepts: Protocol ? In general A set of rules that govern all activity involving two or more entities that exchange messages in order to accomplish a task SIGAda 2002, D. Gantsou

Basic networking terminology and concepts: Routing protocol ?   Activity = transmitting data (packets) from a host (sender) to a remote host (receiver).   Task = routing   Communicating entities = software components of hosts and devices performing routing (routers ). SIGAda 2002, D. Gantsou

Basic networking terminology and concepts: Routing ?   Route computing. Involves: Exchange of update messages (routing tables) only between neighboring routers Use of received routing tables to dynamically determine the best path that a packet should take to reach its destination. SIGAda 2002, D. Gantsou

Basic networking terminology and concepts: Routing ?   Route computing. Requires : Coherent route maintenance (route insertion, change, and deletion), may be periodic Real-time inter-router communication. Receiving update messages at wrong time leads to instabilities SIGAda 2002, D. Gantsou

R3 R5R4 R2 R7 R1 R6 Basic networking terminology and concepts: Routing ?

Basic networking terminology and concepts: Routing ? cont.   Route lookup Forwarding packets received on an input network interface to an appropriate output interface for transmission across the Internet. SIGAda 2002, D. Gantsou

Basic networking terminology and concepts: Routing protocols issues   Implement multiple algorithms that : execute concurrently interact to achieve a common goal   Require real-time communication SIGAda 2002, D. Gantsou

Basic networking terminology and concepts: networking domain specific issues   Co-existence of two alternative data representation, due to exchanges of data among hosts having different byte-ordering.   Packets loss implying retransmission   Data error involving retransmission   Retransmission requiring timer management   Varying and complicated message formats,   Asynchronous communication SIGAda 2002, D. Gantsou

Basic networking terminology and concepts: Concluding remark Given the issues that they raise, routing protocols belong to the domain of large-scale, real-time applications How to implement routing software ? SIGAda 2002, D. Gantsou

Routing software implementation: Designs   Conventional (monolithic)   Distributed object based   A poor choice of technology can make the implementation tedious and difficult SIGAda 2002, D. Gantsou

Conventional design   For single processor targets   Uses C and C++  Extensive use of operating system features for implementing real-time functionality  Widely used by network designers May be for historical and business reasons SIGAda 2002, D. Gantsou

Conventional design cont.  Needs specific procedures for performing: network byte-ordering mapping between the logical view and realistic messages  Not suitable for the implementation of next generation Internet’s architecture SIGAda 2002, D. Gantsou

Ada95 technology based Prototype  Uses GLADE features to perform data representation operations  Consists on four major classes: Router_Class Shared_Object Service_Manager OSPF_Router SIGAda 2002, D. Gantsou

Ada95 technology based Prototype  Router_Class : An abstract (virtual) class specifying the behavior of communicating entities (routers) Subclasses derived from Router_Class must provide real methods (operations) performing the functionality of the routers SIGAda 2002, D. Gantsou

Class Router_Class With common, common_types; package Router_Class is pragma Remote_Types ; type Router_Class is abstract tagged limited private ;    procedure Update (Router : Access router_Class; Message : Common.Message_Type) is abstract ;    private type Router_Class is abstract tagged limited null record ; end Router_Class ; SIGAda 2002, D. Gantsou

Ada95 technology based Prototype  Shared_Object : A class implementing concurrent query and/or modify methods that are inherent to the OSPF DR (designated router) concept. A single member of a set of OSPF routers, which is elected by its neighbors to serve as central point of contact for routing information exchange SIGAda 2002, D. Gantsou

Class Shared_Object Generic type For_Multiple_Inheritence is tagged limited private ; package Virtual_DR is pragma Shared_Passive ; type Shared_Object is new For_Multiple_Inheritence with private ;    procedure Insert (DR : Access Shared_Object ; Msg : Common.Message_Type; Where: Natural ) ;    private type Shared_Object is new For_Multiple_Inheritence with null record ; end Virtual_DR ; SIGAda 2002, D. Gantsou

package body Virtual_DR is    protected Acces_Control is    private    end protected Acces_Control ; protected body Acces_Control is    end protected Acces_Control ; procedure Insert (DR : Access Shared_Object ; Msg : Common.Message_Type; Where: Natural ) is    end Insert ; end Virtual_DR ; SIGAda 2002, D. Gantsou

Ada95 technology based Prototype  Service_Manager : provides methods that enable: to register distributed objects clients (objects requiring services) to find and retrieve references of distributed objects providing remote services (server) SIGAda 2002, D. Gantsou

Class Service_Manager With Router_Class, Common; package Service_Manager is Pragma Remote_Call_Interface ; type Router_Class_Ref is Access all Router_Class. Router_Class’Class ; type Remote_Router _ Reference is record Router_Ref: Router_Class_Ref ; Router_Id : Common.Address ; end record ;    procedure Registry (Router : Access Router_Class_Ref; Router_ID: Common.Address ; Host : Common.Host_Name) ; function Give_Router_Reference(Key : Natural) return Router_Class_Ref ;    end Service_Manager ; SIGAda 2002, D. Gantsou

package body Service_Manager is protected Synchro_Ref_Acces is procedure Registry (Router : Access Router_Class_Ref; Router_ID: Common.Address ; Host : Common.Host_Name) ; function Give_Router_Reference(Key : Natural) return Router_Class_Ref ;    private Router_Reference : Router_Reference_List ; end Synchro_Ref_Acces ; protected body Synchro_Ref_Acces is procedure Registry (Router : Access Router_Class_Ref; Router_ID: Common.Address ; Host : Common.Host_Name) is    end Synchro_Ref_Acces ; procedure Registry (Router : Access Router_Class_Ref; Router_ID: Common.Address ; Host : Common.Host_Name) is begin Synchro_Ref_Acces.Registry(Router, Router_ID,Host) ;    end Service_Manager ; SIGAda 2002, D. Gantsou

Ada95 technology based Prototype  Ospf_Router : a class implementing methods that perform the functionality of a router running the Open Shortest Path First(OSPF) protocol. Provides methods that perform : - basic routing functionality - OSPF specific services such as the designated router concept (Class Shared_Object) Must inherit methods from Router_Class and Shared_Object (multiple inheritance ) SIGAda 2002, D. Gantsou

Class OSPF_Router With Router_Class, Virtual_DR, …; package OSPF_Router is Pragma Remote_Types ; type OSPF_Router is new Router_Class.Router_Class with record    end record ; package VDR is new Virtual_DR (OSPF_Router) ; type DR is new VDR.Shared_Object with null record ;    procedure Update (Router : Access OSPF_Router ; Message : Common.Message_Type) ;    end OSPF_Router ; SIGAda 2002, D. Gantsou

With Ada.Real_Time, Service_Manager, …; package body OSPF_Router is    Local_Router : Aliased OSPF_Router ; Local_DR : Aliased DR ; package VDR is new Virtual_DR (OSPF_Router) ; type DR is new VDR.Shared_Object with null record ; procedure Update (Router : Access OSPF_Router ; Message : Common.Message_Type) is    begin Insert.(Local_DR’Acces, Message, Hash(Service_Manager.Give_Router_Reference(Message.Source_Message))) ;    end Update ; declare    begin Service_Manager.Registry(Local_Router’Access, Host_ID,Host_Name) ;    end OSPF_Router ; SIGAda 2002, D. Gantsou

? SIGAda 2002, D. Gantsou