logging in or signing up lecture3 Mercede Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 1666 Category: Entertainment License: All Rights Reserved Like it (1) Dislike it (0) Added: January 16, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... By: divishadivi (16 month(s) ago) i need dis ppt ...........plz send me dis to vdstee45@gmail.com Saving..... Post Reply Close Saving..... Edit Comment Close Premium member 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” platformReview 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 laterIs 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 tooBTW, 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 objectsCharacteristics 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 managementNetworked vs Centralized Systems: Networked vs Centralized Systems Centralized systems Networked systems Pros and cons security availability performance complexity scalability othersKey characteristics: Key characteristics Resource sharing Openness Concurrency Scalability Fault tolerance Availability TransparencyConcurrency: 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 notDesign 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 issuesResource 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 modelManagement: 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 helpTransparency: 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 decomposingHistorical 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, COMDistributed 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 handlingFeatures: 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 libraryDesign principles: Design principles Separation of interface from implementation Location transparency Access transparency Typed Interfaces Inheritance of InterfacesModel: Model Object Services Common Facilities Domain Interfaces Application InterfacesCORBA 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 AdapterNext week: Next week Lecture on CORBA Browse http://www.omg.org/corba/c2indx.htm Link in some interesting material to your class home page You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
lecture3 Mercede Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 1666 Category: Entertainment License: All Rights Reserved Like it (1) Dislike it (0) Added: January 16, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... By: divishadivi (16 month(s) ago) i need dis ppt ...........plz send me dis to vdstee45@gmail.com Saving..... Post Reply Close Saving..... Edit Comment Close Premium member 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” platformReview 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 laterIs 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 tooBTW, 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 objectsCharacteristics 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 managementNetworked vs Centralized Systems: Networked vs Centralized Systems Centralized systems Networked systems Pros and cons security availability performance complexity scalability othersKey characteristics: Key characteristics Resource sharing Openness Concurrency Scalability Fault tolerance Availability TransparencyConcurrency: 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 notDesign 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 issuesResource 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 modelManagement: 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 helpTransparency: 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 decomposingHistorical 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, COMDistributed 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 handlingFeatures: 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 libraryDesign principles: Design principles Separation of interface from implementation Location transparency Access transparency Typed Interfaces Inheritance of InterfacesModel: Model Object Services Common Facilities Domain Interfaces Application InterfacesCORBA 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 AdapterNext week: Next week Lecture on CORBA Browse http://www.omg.org/corba/c2indx.htm Link in some interesting material to your class home page