Distributed Computing Environment Distributed Computing Environment (DCE)

Slides:



Advertisements
Similar presentations
Operating-System Structures
Advertisements

U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Chapter 7 LAN Operating Systems LAN Software Software Compatibility Network Operating System (NOP) Architecture NOP Functions NOP Trends.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Active Directory: Final Solution to Enterprise System Integration
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Yousuf Surmust Instructor: Marius Soneru Course: CS550 Fall 2001
(Remote Access Security) AAA. 2 Authentication User named "flannery" dials into an access server that is configured with CHAP. The access server will.
Chapter 8: Network Operating Systems and Windows Server 2003-Based Networking Network+ Guide to Networks Third Edition.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
Network File System (NFS) in AIX System COSC513 Operation Systems Instructor: Prof. Anvari Yuan Ma SID:
1 Network File System. 2 Network Services A Linux system starts some services at boot time and allow other services to be started up when necessary. These.
CSC 8320 Advanced Operating System Distributed Computing Environment (DCE) Presenter: Ke Gao Instructor: Professor Zhang.
Networked File System CS Introduction to Operating Systems.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
DCE (distributed computing environment) DCE (distributed computing environment)
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
Types of Operating Systems
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
PHANI VAMSI KRISHNA.MADDALI. Distributed ???? Is it Distributed Computing? What is Distributed Computing? Distributed Computing Vs Computing Environment.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
Chapter 3: Services of Network Operating Systems Maysoon AlDuwais.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
NT SECURITY Introduction Security features of an operating system revolve around the principles of “Availability,” “Integrity,” and Confidentiality. For.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
The Mach System Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presented by: Jee Vang.
WINDOWS NT Network Architecture Amy, Mei-Hsuan Lu CML/CSIE/NTU August 19, 1998.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Network Infrastructure Microsoft Windows 2003 Network Infrastructure MCSE Study Guide for Exam
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
Distributed Systems Ryan Chris Van Kevin. Kinds of Systems Distributed Operating System –Offers Transparent View of Network –Controls multiprocessors.
Background Computer System Architectures Computer System Software.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
1 Example security systems n Kerberos n Secure shell.
Distributed computing environment
DISTRIBUTED COMPUTING ENVIRONMENT
Netscape Application Server
The Mach System Sri Ramkrishna.
Chapter 2: System Structures
File System Implementation
Chapter 9 – RPCs, Messaging & EAI
Chapter 3: Windows7 Part 4.
Distributed System Concepts and Architectures
An Introduction to Computer Networking
DISTRIBUTED COMPUTING ENVIRONMENT
Chapter 15: File System Internals
Basic organizations and memories in distributed computer systems
Last Class: Communication in Distributed Systems
Presentation transcript:

Distributed Computing Environment Distributed Computing Environment (DCE)

Distributed Computing Environment History - Creation of DCE DCE was developed by the Open System Foundation (OSF) in early 1990’s, (OSF is now called the Open Group) OSF was an industry group lead by IBM, DEC, and HP Initial goal was to develop and market their own UNIX OS – OFS/1, the industry’s first open operating system The OSF/1 project was in response to joint effort between AT&T and SUN Microsystems to develop and market their UNIX OS The OFS/1 project identified the need for a way to build distributed applications on top of OSF/1 and other UNIX systems Resulted in development of DCE – an integrated package of tools and other software (best-of-breed) needed to build and maintain a distributed system

Distributed Computing Environment Distributed Computing Environment (DCE) Provides a comprehensive Network Operating System (NOS) solution for integrating multi-vendor, distributed in an enterprise client/server environment Spans multiple architectures, protocols, and OS’s Operates as middleware, a layer between the various OS’s and the applications and data DCE was considered the premier NOS solution until the mid to late 1990’s when the focus shifted to the Internet DCE components are used in many operating systems –Elements of DCE can be found in most Unixes –NT 5.0 is built on top of modified DCE’s RPC and security –IBM uses DCE for foundation of its directory and security services

Distributed Computing Environment Goals of DCE Seamless and coherent environment for running distributed applications (using Client/Server model) Integrated set of tools and services to aid in development of distributed applications Run in a heterogeneous environment Many different kinds of computers, operating systems, and networks Easy to produce portable software applications UNIX, VMS, Windows and OS/2 Transparent to user and developer Not necessary to know physical location of data Not necessary to know where the programs are executed Work with existing standards Communication with TCP or the OSI protocols Resources located with DNS or X.500 naming systems

Distributed Computing Environment DCE Facilities and Services Facilities –Threads Allows multiple threads of control to exist in same process at same time –Remote Procedure Call, (RPC) Basis for all client/server communications in DCE Handles locating server, binding, and performing calls Distributed Services –Time service Transparently maintains consistent time throughout distributed system –Directory service Cell Directory Service, (CDS) and Global Directory Service, (GDS) –File system service Distributed file system, X.500 standard, works with local files systems –Security service Kerberos

Distributed Computing Environment DCE Facilities and Services

DCE Services

Distributed Computing Environment DCE Threads DCE threads package is based on Concert Multithread Architecture, (CMA) developed by DEC DCE threads run in user space, and provide user-level library procedures that allow processes to create, delete or manipulate threads Include small wrapper routines to translate calls into native kernel- based thread package (if exists) DCE threads are used by the other DCE components Supports multi-processor environments using shared memory DCE provides a semaphore service that helps threads synchronize their access to shared memory Scheduling algorithms for thread queues/processes, Three options –FIFO – utilizing different priority queues, each proc runs to completion –Round Robin – runs each thread process for fixed quantum –Time-sliced Round Robin - Default, quantum value based on priority

Distributed Computing Environment DCE RPC, Remote Procedure Call Goals –Access transparency - Make it possible for a client to access a remote service by simply calling a local procedure –Simplify programming of client server applications Features –RPC runtime library is responsible for: Locating a server in the distributed system and binding to it Performing message exchanges Packing and unpacking message parameters Handling data type conversions between different clients and servers Processing errors –The RPC mechanism provides protocol independence and network independence –DCE provides an Interface Definition Language (IDL) and compiler that facilitate creation of client and server code using RPC

Distributed Computing Environment DCE RPC, Remote Procedure Call Creating client and server code

Distributed Computing Environment DCE RPC, Remote Procedure Call Client to server binding with RPC –Server Each server machine runs an RPC daemon process that maintains a registry table of server endpoints Server registers its endpoint with the RPC daemon Server registers its service/host with a separate directory server – Client Contacts directory server to look up desired server host Contacts RPC daemon on server host to determine endpoint Performs RPC, binding to correct end point on server host

Distributed Computing Environment DCE RPC, Remote Procedure Call Client to server binding with RPC

The Domain of the Distributed Environment DCE can provide scalable computing environment - Small environment * two network hosts * typically consists of a single group of users who share common goals - large environment * a network (or internetworks) of thousands of hosts * typically consists of a diverse groups of users, each group having its own goals and pool of shared resources A cell is the basic unit of operation and administration A cell is a group of users, hosts, and resources that share common DCE services

Distributed Operation in a DCE Cell

A Simple DCE Cell

Cell with DFS and Multiple DCE Clients

Distributed Computing Environment Directory Service Goals –Make all resources accessible to any process in the system without regard for location users, machines, cells, servers, services, files, security data –Location transparency - hide resource locations Components –Cell Directory Service (CDS) CDS server maintains names for one cell CDS clerk (daemon process) does client caching –Global Directory Service (GDS) Service for locating cells X.500 naming standard, provides unique name to each resource /C=US/O-CNU/TITLE=PROF/TELE=7563/OFFICE=217/NAME=ZHANG/ –Global Directory Agent (GDA) Local agent (daemon process) contacts external GDS and DNS servers

Distributed Computing Environment Directory Service Features –Hides actual paths/machine names –Provides proxies on local machines to intercept calls for devices/resources and redirect them to correct servers –Client caching increases availability and performance –Supports DNS naming –X.500 standard naming uses object-oriented information model

Directory Service GDA Cell Directory Service Cell Directory Service Global Directory Service

Distributed Computing Environment Directory Service Relationship between directory service components

Overview of a Simple CDS Lookup CDS Client CDS Server Client Application CDS Clerk CDS Clearing house Cache

Steps – Name Resolution 1.A Client Application sends a lookup request to its local CDS clerk. 2.The CDS clerk checks its cache for the name. If it is found in the cache, the CDS clerk returns a reply to the client and the name resolution operation completes. 3.If the name is not found in the cache, the CDS clerk does and RPC with CDS server that knows about it. 4.With the directories available in its local clearing house, the CDS server tries to resolve as many components of the name as possible. 5.If the name can be completely resolved, the CDS server returns the result of name resolution to the CDS clerk. 6.The CDS clerk caches this information in its cache for future use. 7.The CDS clerk finally returns a reply to the client and the name resolution operation completes.

Intercell Name Resolution CDS Clerk Client Application Name Cache Client Machine DNS Server CDS Server GDS Server CDS Server GDA GDA Machine CDS Machine DNS Machine GDS Machine CDS Machine of the remote cell to which the named object belongs. DB of GDS DB of DNS

Distributed File Service DCE Distributed File Service (DFS) is a high- performance, scalable, secure method for sharing remote files DFS appears to the user as a local file systems, providing access to files form anywhere in the network for any user, with the same filename used by all (uniform file access) DFS includes many advanced features not found in traditional distributed file systems, including caching, security, and scalability over wide-area networks

Distributed Computing Environment Distributed File Service Goals –Provide a seamless wide-area (potentially worldwide) file system spanning the heterogeneous distributed network of computers –Provide namespace transparency so users only Components –File units Files and directories Files sets –File sets are groups of directories –Base file units that are manipulated, replicated and backed up –Can be moved by admin to underutilized machines for load balancing Aggregates –Unit of disk storage –Contains one or more filesets. –Client side – cache manager –Server side – File set database machine-keeps track of filesets File server machine

DFS Lookup CDS Server Cache Manager Cache DFS Client Fileset Location Server Fileset Location Database DFS File Server Files and Directories Fileset Database Machine File Server Machine 1 2 3

Distributed Computing Environment Mounting Remote Directory

Distributed Computing Environment Distributed Security Service Login facility Registry service Authentication Service Privilege Service Access Control Lists (ACL)

Distributed Computing Environment Distributed Security Service

Distributed Computing Environment Distributed Security Service Definition of key terms –Privilege Access Certificates (PAC’s) Encrypted messages that contain the client’s identity, group and organization membership such that servers can be instantly convinced of the client’s identity. Contains the user’s identity and the list of groups to which he belongs. Access Control List (ACL) –List of users and groups that are allowed to access a resource –Maintained for every distributed resource

Distributed Computing Environment Distributed Security Service Major Components of Kerberos –Registry Server - Manages the security database, the “registry” Account information - names of users, groups, resources, and organizations Policy information – length, format, lifetime of passwords, etc. –Authentication Server Verifies identity of client –Ticket Granting Server Issue “ticket” to allow subsequent authorization without need for sending password across the network (actually same process as Auth. Server) –Privilege Server Issues Privilege Access Certificates (PAC’s) to authenticated users for access to distributed services –Login Facility Provides login sequence to get user logged in and collect necessary tickets and PAC’s for them

Distributed Computing Environment Distributed Time Service Goals –Maintaining Time Transparency –Keeping all clocks throughout distributed system mutually consistent, to within an acceptable accuracy (for timed events, comparisons, etc) –Keeping the clocks in touch with reality, external trusted source Challenges –Synchronizing time across all distributed computers –Compensating for unequal drift rates between synchronizations Time, in DTS (64 bit binary num)

Distributed Computing Environment Distributed Time Service DTS Components –Global Time Servers The distributed system has multiple Global Time Servers throughout. Global Servers keep Local Time Servers in in different cells synchronized –Local Time Servers Each local cell has a Local Time Server that keeps track of its local time Requests synchronizations from Global Time Servers Definition of key terms –Clock drift rate Measure of the rate of increase of inaccuracy in the local clock time –Universal Coordinated Time (UCT) A universally (worldwide) accepted form of time, expressed as the elapsed time since October 15, 1582, the beginning of the Gregorian calendar. Worldwide UCT servers provide the UCT time service (via satellite, radio, or telephone connection)

Distributed Computing Environment Distributed Time Service How DTS works –Local Time Server knows limits of hardware clock (clock drift rate) –LTS keeps track of inaccuracy that builds over time –LTS requests synchronization from Global Time Servers (GTS) after reaching an established inaccuracy threshold –All GTS responses include the corresponding inaccuracies, thereby representing time as a probable range, not a finite value –LTS calculates a probable correct time based on the multiple time responses that were received –Local time adjustments

Distributed Computing Environment Distributed Time Service How DTS works (cont) –Max range of time overlap from all sources is computed –Data outside of range is rejected as untrustworthy –Midpoint of range is computed as accurate time

Distributed Computing Environment Distributed Time Service DTS Library Procedures (calls) –There are 33 total calls supported by DTS –There are 6 groups of time-related calls, calls for: Retrieving times – Get the current time Converting times – Binary-ASCII conversion Manipulating times – Interval arithmetic Comparing times – Compare two times Calculating times - Arithmetic operations on times Using time zones – Time zone management

Distributed Computing Environment Using DCE Programmers –DCE implements the client/server model –access services and applications via RPC calls to remote servers –make use of standard programming interface with RPC calls –don’t have to worry about where the programs actually run or where the data is actually located Users –Single system login –Transparent access to distributed resources and services

Distributed Computing Environment Summary DCE was a leader in supporting the extension of small autonomous departmental networks to true distributed enterprise networks DCE supports the distributed Enterprise network OS by providing cross-platform services and resource access, all transparent to the user Does not extend well to Internet –Kerberos security not scalable, encryption requires too much overhead processing –Directory service is too bulky and complicated for Internet use

Distributed Computing Environment Summary * DCE and evolution of Network Operating Systems