DOC PREVIEW
USF CS 682 - Distributed Software Development

This preview shows page 1-2-14-15-30-31 out of 31 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 31 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 31 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 31 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 31 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 31 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 31 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 31 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

{small lecturenumber - hepage :} Class structure{small lecturenumber - hepage :} Class structure{small lecturenumber - hepage :} Course Policy{small lecturenumber - hepage :} Course Policy{small lecturenumber - hepage :} Course Policy{small lecturenumber - hepage :} What is a distributed system?{small lecturenumber - hepage :} What is a distributed system?{small lecturenumber - hepage :} Tightly-coupled systems{small lecturenumber - hepage :} Middle ground{small lecturenumber - hepage :} This class{small lecturenumber - hepage :} Issues in distributed systems{small lecturenumber - hepage :} An example: DNS{small lecturenumber - hepage :} DNS from the client side{small lecturenumber - hepage :} Other things DNS does{small lecturenumber - hepage :} Service-oriented computing{small lecturenumber - hepage :} A naive solution{small lecturenumber - hepage :} A naive solution{small lecturenumber - hepage :} How DNS actually works{small lecturenumber - hepage :} DNS from the client side, redux{small lecturenumber - hepage :} Local DNS servers{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} DNS as a distributed system{small lecturenumber - hepage :} SummaryDistributed Software DevelopmentIntroductionChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p. 1/??1-2: Class structure•Combination of lectures and labs◦Labs (many Tuesdays): hands-on exposure to a piece ofWeb technology.◦Lectures (Thursdays): problems, principles and algorithmsrelated to large-scale distributed systems.Department of Computer Science — University of San Francisco – p. 2/??1-3: Class structure•Work:◦8 labs - 1 week turnaround.◦Midterm and final◦Two projects:•P2P client•Extension of your choosing.Department of Computer Science — University of San Francisco – p. 3/??1-4: Course Policy•Class participation is very important.◦Attendance is required◦Active participation is encouraged (and rewarded!)Department of Computer Science — University of San Francisco – p. 4/??1-5: Course Policy•Texts:◦Singh & Huhns: Service-Oriented Computing.◦You will also need access to technical resources regardingXML, XSLT, CSS, RDF, SOAP and REST.•I recommend subscribing to O’Reilly’s Safari service.◦I will also provide you with handouts for some lecture topics.◦I will expect you to do the reading before class.Department of Computer Science — University of San Francisco – p. 5/??1-6: Course Policy•Languages:•You may use any language that “makes sense” for thelab/project.◦I will present examples in Python and/or Java.◦If you want to use something esoteric (not Python, Java,C/C++, Perl, or C#) please talk to me first.◦I recommend choosing a language that has good supportfor XML parsing.Department of Computer Science — University of San Francisco – p. 6/??1-7: What is a distributed system?•(Couloris) “A distributed system is one in which hardware orsoftware components communicate or coordinate their actionsonly by passing messages.”•This covers everything from a parallel computer to the Internet.Department of Computer Science — University of San Francisco – p. 7/??1-8: What is a distributed system?•So how is this class different from Pacheco’s or Benson’s?•Different set of challenges:◦Heterogeneity◦Openness◦Scalability◦Failure models◦Degree of parallelismDepartment of Computer Science — University of San Francisco – p. 8/??1-9: Tightly-coupled systems•Parallel computing typically works with the following sorts ofsystems:◦Shared clock◦Low latency/fast communication◦Single owner◦Homogenous systems◦Tightly coupled•Prof. Pacheco’s class addresses systems with thesecharacteristics.Department of Computer Science — University of San Francisco – p. 9/??1-10: Middle ground•Prof. Benson’s class relaxes these assumptions somewhat.◦Systems may not be homogenous◦Communication still fast/low latency◦Limited autonomy◦Less tightly coupled.Department of Computer Science — University of San Francisco – p. 10/??1-11: This class•This class will look at systems on the other end of the spectrum◦Widely distributed - high latency communication◦Autonomous, heterogenous components◦No shared clock◦Very large scale◦Discovery may be a problem•The Web is a classic example of this sort of system (but not theonly one)Department of Computer Science — University of San Francisco – p. 11/??1-12: Issues in distributed systems•The definition Couloris provides leads to the following problemsthat must be considered:◦Concurrency - work is happening on multiple computerssimultaneously 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. 12/??1-13: An example: DNS•To illustrate some of the issues involved in distributedcomputing, we’ll look at a well-known distributed system: DNS.•DNS stands for domain name system.◦This is the system that maps symbolic hostnames (such asstargate.cs.usfca.edu) to IP addresses (such as138.202.171.14).•Symbolic names are much easier for humans to work with.•Computers, on the other hand, do better with IP addresses.•How can we look up the correct IP address for a hostname?Department of Computer Science — University of San Francisco – p. 13/??1-14: DNS from the client side•From a web browser’s perspective, resolving a hostname lookslike 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 contains thecorresponding 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. 14/??1-15: Other things DNS does•Along with translating hostname/IP address pairs,


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?