lecture3

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

By: divishadivi (16 month(s) ago)

i need dis ppt ...........plz send me dis to vdstee45@gmail.com

Presentation Transcript

Open Distributed Computing: 

Open Distributed Computing ANDREW T. CAMPBELL Dept. of Electrical Engineering Columbia University http://comet.columbia.edu/campbell campbell@comet.columbia.edu LECTURE 1 22 September, 1998 The “middleware” platform

Review of the network plumbing : 

Review of the network plumbing Networks and services Packet switched networks Routing services, channel abstractions, layers, protocols Characteristics reliability performance delay, throughput, error Network architectures OSI Internet

BTW, What is a distributed system?: 

BTW, What is a distributed system? distributed systems comprise a set of distributed object computation that operate and coordinate across multiple computers and network nodes sharing some ‘common state’ they typically realize a distributed application, e.g., control and manage a communications network, avionics, banking apps, etc. they are complex to build and manage “middleware” tools such as CORBA help by providing services, “object” support, location and access transparency, etc.

What is “middleware” ?: 

What is “middleware” ? Classically the layer between the apps and transport system supporting services (e.g., telecoms) location transparency access transparency typed interfaces. More later

Is CORBA middleware?: 

Is CORBA middleware? CORBA Common Object Request Broker Architecture (CORBA) Standardized by the Object Management Group (OMG) checkout www.omg.org/corba for CORBA 2.2 CORBA offers an “open” distributed object computing infrastructure for a variety of apps real-time avionics, telecomms, medical imaging take a look at the new CORBA Telecoms book http://www.omg.org/corba/ctfull.htm OMG is looking at “open” wireless platforms too

BTW, what is an “object” ?: 

BTW, what is an “object” ? objects bundle algorithm data structure interface implementation models client/server object model peer to peer object model

Other forms of middleware: 

Other forms of middleware value added OS functionality specialized toolkits digital media toolkits value added communication software mobiware add services to the base station abstraction and representation of network devices xbind models devices as digital objects

Characteristics of Distributed Systems: 

Characteristics of Distributed Systems Multiple computers function: computation end-systems with CPUs, memory, possibly disks, IO channels, dedicated HW Interconnects function: communications but sometime computation too wired and wireless communication links, communication nodes (switch, routers, bridges, etc.) possibly with CPU, possibly disks, IO channels Shared State function: managing the ‘health’ of the application space the state of the application is shared across multiple computers and communication nodes Open Services

Problems that need addressing in dist. systems: 

Problems that need addressing in dist. systems Independent failure Unreliable communications Insecure communications Costly communications State management

Networked vs Centralized Systems: 

Networked vs Centralized Systems Centralized systems Networked systems Pros and cons security availability performance complexity scalability others

Key characteristics: 

Key characteristics Resource sharing Openness Concurrency Scalability Fault tolerance Availability Transparency

Concurrency: 

Concurrency Multiple activities proceed simultaneously (as in multitasking operating systems different servers (and/or clients) run concurrently in a client/server model Need to enforce several metrics: “fairness” in general-purpose systems mutual exclusion of shared data access synchronization between two or more concurrent activities knowledge and precision of the system state if failure occurs the transaction mode helps a great deal in applications where state persists provides a mechanism to say whether an activity completed or not

Design Issues: 

Design Issues Naming issues names assigned to resources and objects object services naming service allows clients to find objects by name trading service allows clients to find objects based on their properties Communications issues e.g., client/server, peer object models Software design issues design patterns, modularity, classes, objects, inheritance Workload allocation issues

Resource access and sharing: 

Resource access and sharing Distributed systems have numerous resources buffers, files, data bases, devices CPU, links, forwarding Two issues performance through QOS access through servers Access mechanism translates request to an appropriate resource manager e.g., if resource manager is a server, requestor acts as a client and you obtain the client-server model

Management: 

Management Distributed systems have distributed state, computation and operate over multiple computers and communication nodes Management is very complex in the face of failure Debugging is complex Need for tools to help

Transparency: 

Transparency Hiding the details of implementation from the user complex systems are supported via open interfaces Types of transparency access location replication failure

Complexity: 

Complexity Inherent complexity latency, reliability, partitioning, ordering distributed state management Accidental complexity low-level APIs debugging is difficult, few tools algorithmic decomposing

Historical background: 

Historical background 1960s timesharing, graphics, networking ARPAnet, MIT CTSS, Cambridge TSS 1970s PC/workstations/LANs and client/server model Ethernet, Cambridge ring, token ring Apple, IBM, Sun Xerox distributed file system, Cambridge distributed computing system 1980/90s open scalable fault-tolerant systems Stanford V-system, MIT X-11, Mach, Chorus, Amoeba CORBA, COM

Distributed Systems Research at Columbia: 

Distributed Systems Research at Columbia Computer Science Dept. Distributed Computing and Communications Laboratory http://www.cs.columbia.edu/dcc/ Yechiam Yemini Internet Real-Time Laboratory http://www.cs.columbia.edu/~hgs/research/IRT/ Henning Schulzrinne COMET Group http://comet.columbia.edu Aurel Lazar, Andrew Campbell, Rolf Stadler

Overview of CORBA: 

Overview of CORBA Software bus CORBA provides a communications infrastructure for a heterogeneous collection of collaborating objects analogy to hardware bus Motivation simplifies application interworking CORBA provides higher level integration that traditional untyped TCP bytestreams provides a foundation for higher-level distributed collaboration benefits for distributed programming similar to OO languages encapsulation, interface inheritence, polymorphism and exception handling

Features: 

Features CORBA supports reliable, unicast synchronous and asynchronous communications oneway, twoway, deferred sync and async little support for QOS at the moment CORBA objects may collaborate in client/server, peer-to-peer models client/server and peer-to-peer are built into shared library

Design principles: 

Design principles Separation of interface from implementation Location transparency Access transparency Typed Interfaces Inheritance of Interfaces

Model: 

Model Object Services Common Facilities Domain Interfaces Application Interfaces

CORBA Architecture: 

CORBA Architecture Object implementation Client Object request broker (ORB) ORB interface CORBA IDL stubs and skeletons Dynamic Invocation Interfaces (DII) Dynamic Skeleton Interfaces Object Adapter

Next week: 

Next week Lecture on CORBA Browse http://www.omg.org/corba/c2indx.htm Link in some interesting material to your class home page