DOC PREVIEW
USF CS 682 - Distributed Software Development

This preview shows page 1-2-23-24 out of 24 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

{small lecturenumber - heblocknumber :} Class structureaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Class structureaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Course Policyaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} What is a distributed system?addtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} What is a distributed system?addtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Issues in distributed systemsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} An example: DNSaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS from the client sideaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Other things DNS doesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} A naive solutionaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} A naive solutionaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} How DNS actually worksaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS from the client side, reduxaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Local DNS serversaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} DNS as a distributed systemaddtocounter {blocknumber}{1}Distributed Software DevelopmentIntroductionChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p.1/??1-0: Class structure1st half: fundamentals and principles:Mondays: lab on a current piece of technology.Wednesdays: lecture on fundamental problems andprinciples of distributed systems.Work:Weekly labs to turn in.MidtermDepartment of Computer Science — University of San Francisco – p.2/??1-1: Class structure2nd half: Case studies, examples, and applicationsMore lecture, guest speakers, discussionWork:Two projectsP2P clientProject of your choosing.FinalDepartment of Computer Science — University of San Francisco – p.3/??1-2: Course PolicyClass participation is very important.Attendance is requiredActive participation is encouraged (and rewarded!)Texts:We will use a number of the O’Reilly texts availablethrough Safari.I will also provide you with handouts covering lecturetopics.I will expect you to do the reading before class.Languages:For the labs, you must use an ’appropriate’ language.For the projects, you may use whatever language youwant.Department of Computer Science — University of San Francisco – p.4/??1-3: What is a distributed system?(Couloris) “A distributed system is one in which hardwareor software components communicate or coordinate theiractions only by passing messages.”This covers everything from a parallel computer to theInternet.Department of Computer Science — University of San Francisco – p.5/??1-4: What is a distributed system?So how is this class different from Pacheco’s or Miller’s?Different set of challenges:HeterogeneityOpennessScalabilityFailure modelsDegree of parallelismDepartment of Computer Science — University of San Francisco – p.6/??1-5: Issues in distributed systemsThe definition Couloris provides leads to the followingproblems that must be considered:Concurrency - work is happening on multiplecomputers simultaneously and must be coordinated.No global clock.Independent failures, both network and computer.We’ll spend a lot of time discussing these problems.Department of Computer Science — University of San Francisco – p.7/??1-6: An example: DNSTo illustrate some of the issues involved in distributedcomputing, we’ll look at a well-known distributed system:DNS.DNS stands for domain system.This is the system that maps symbolic hostnames(such as stargate.cs.usfca.edu) to IP addresses (suchas 138.202.171.14).Symbolic names are much easier for humans to work with.Computers, on the other hand, do better with IPaddresses.How can we look up the correct IP address for ahostname?Department of Computer Science — University of San Francisco – p.8/??1-7: DNS from the client sideFrom a web browser’s perspective, resolving a hostnamelooks like this:1. The hostname is extracted from the URL.2. The browser sends a query to a DNS server.3. The server eventually returns a reply, which containsthe corresponding IP address.4. The browser then opens a TCP connection to that IPaddress.From the client side, this looks pretty simple.Department of Computer Science — University of San Francisco – p.9/??1-8: Other things DNS doesAlong with translating hostname/IP address pairs, DNScan do the following:Host aliasing - for example, nexus.cs.usfca.edu is alsowww.cs.usfca.edunexus.cs is the canonical hostnameMail server aliasing - the CS mail server isnexus.cs.usfca.edu, yet I can send email [email protected] successfully.Load distribution. We can map multiple IP addressesto a single hostname.The DNS server will return all IP addresses, butpermute the order.Department of Computer Science — University of San Francisco – p.10/??1-9: A naive solutionOne way to build a DNS server would be the following:get a fast Internet connection and set up a singlehigh-speed computer that will do all DNS resolutions via ahuge database.What are some problems with this approach?Department of Computer Science — University of San Francisco – p.11/??1-10: A naive solutionSingle point of failureNot scalableNot “close to” all clients - unacceptable delay.Difficult to maintain.Department of Computer Science — University of San Francisco – p.12/??1-11: How DNS actually worksDNS is a distributed, hierarchical database.Large number of servers worldwide.No database contains


View Full Document

USF CS 682 - Distributed Software Development

Documents in this Course
Load more
Download Distributed Software Development
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Distributed Software Development and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Distributed Software Development 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?