What is this course about? What do I mean by “ distributed information systems ”? • distributed : a bunch of computers connected by wires. independent systems but not necessarily autonomous assume network supports messaging and stream communication how to use this to build distributed applications? • information systems : focus on systems to store/access/share data and operations on data. Move data around and deliver it to the right places at the right times, safely and securely.
The Challenges of Distributed Systems • location, location, location Placing data and computation for effective and reliable resource sharing, and finding it again once you put it somewhere. • distributed access to shared state naming it, finding it, getting to it • building reliable systems from unreliable components reliable communication over unreliable network links autonomous computers can fail independently Lamport’s characterization: “ A distributed system is one in which the failure of a machine I’ve never heard of can prevent me from doing my work.” • private communication over public networks
Continuum of Distributed Systems Issues: naming and sharing performance and scale Parallel resource management Networks small big Architectures CPS 214 fast slow CPS 221 ? ? Global clusters LAN Multiprocessors Internet (GMS) (NFS) fast network slow network high latency low latency trusting hosts untrusting hosts low bandwidth high bandwidth coordinated autonomy autonomous nodes secure, reliable interconnect unreliable network no independent failures fear and distrust coordinated resources independent failures decentralized administration
A Brief History distributed objects client/server CORBA Viper DCE NT COM Wolfpack Ethernet LANs OMG The Web Falcon, etc. Berkeley Unix r* ISPs Wintel PCs Mosaic Dark The TCP/IP Netscape AOL DECnet Ages AppleTalk commercial Internet Future SNA 1960 1970 1980 1990 1992 1995 Spring workstations Network Objects RPC, NFS, NIS DSM ARPAnet IBM Java search engines Apollo PVM/MPI Java NSFnet Coda Cedar Java The Web Grapevine Beans V and Mach The Web Tuxedo (Xerox PARC) RMI The Web Emerald Encina servlets Argus JINI DES ISIS ... RSA AFS
Current Trends #1 The business world has embraced the Internet, and is pushing to “open up” internal data for networked access. • Automate internal processes, and deliver information to where it will do the most good internally. “Intranets” • Connect to business partners, i.e., customers and suppliers. “Extranets” • Use the Web as a vehicle for PR and sales. “e-commerce” Needs: “component middleware”, clusters, security.
Current Trends #2 A telecommunications revolution is rapidly expanding access to public networks. • new network plumbing to make “the last mile” digital Replace “POTs” with fast/cheap network access to homes/offices. • new wireless/mobile technologies Implications: • drives exponential growth of the Internet • enables a new class of networked applications and commercial online services • creates demand for flexible service hosting by ISPs
The [Couloris et. al.] View (1990) workstations (and X-terminals) Unix sockets and r* client/server X windows RPC, NFS, NIS distributed Unix PCs LAN hubs and bridges the Internet (a million computers) FTP, gopher, etc. (slow) servers and resource managers
“Properties of Distributed Systems” 1. resource sharing (physical, logical, etc.) 2. open structure (standard interfaces, protocols, formats) 3. concurrency 4. scalability 5. fault tolerance and availability 6. transparency access transparency, location transparency, concurrency transparency, scaling transparency, etc. name servers and server objects
Another View of Distributed Systems standalone client apps clients (first tier) extensible Web server Web browsers front-end servers and back-end component “middleware” databases etc. (middle tiers) (“legacy”?)
( borrowed without permission from http://www.byte.com/art/9710/sec6/art3.htm)
Recommend
More recommend