1 / 41

INF 123 SW Arch, dist sys & interop Lecture 3

INF 123 SW Arch, dist sys & interop Lecture 3. Prof. Crista Lopes. Objectives. Distributed Systems recap Computer networks history competency OSI model competency TCP competency. Recap. Definition: Architecture. “Set of principal design decisions”

neveah
Download Presentation

INF 123 SW Arch, dist sys & interop Lecture 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INF 123 SW Arch, dist sys & interopLecture 3 Prof. Crista Lopes

  2. Objectives • Distributed Systems recap • Computer networks history competency • OSI model competency • TCP competency

  3. Recap

  4. Definition: Architecture • “Set of principal design decisions” • “Design decision” implies design options • Not all design decisions are architectural in nature • “principal” depends on • Goals • Perspectives • Design decisions may change over time • Architecture may change over time • Two fundamental points • Every system has an architecture • Every system has at least one architect

  5. “Architecture” in software systems • Software architecture: set of principal design decisions regarding the software itself • System architecture: set of principal design decisions regarding the system’s concepts and operation • Deployment architecture: set of principal design decisions regarding the mapping between software and hardware • Testing architecture: set of principal design decisions regarding the testing procedures and tools • Usability architecture: set of principal design decisions regarding the user experience

  6. Usability Architecture:The VW operators perspective DB Configuration (OpenSim.Server.ini) Configuration (OpenSim.ini) Simulator (OpenSim.exe) ROBUST Services (OpenSim.Server.exe) … Client (Hippo, etc.) Client (Hippo, etc.) …

  7. Deployment Architecture(s) ROBUST Services DB Simulator DB Standalone Simulator Simulator Simulator Simulator Grid DB Simulator Simulator Simulator Simulator Serverless Grid

  8. System Architecture Asset Service Authentication Service Avatar Service Voice Service Gatekeeper Service Grid Service DB Grid User Service Inventory Service Login Service Presence Service User Accounts Service User Agents Service Service Infrastructure Mono Addins C# HTTP Server Service Connectors Physics Engine Script Engine Scene Management MySql LibOMV … SQLite ODE … … Client Protocol Stack Client Protocol Stacks Module Loader HTTP Handlers Open JPEG log4net Simulator External Dependencies

  9. Software Architecture Framework Framework.Servers Region.Framework.Interfaces Services.Interfaces Region. Framework … S S S Framework.Servers. HttpServer Region. Framework. Scenes Region. CoreModules Region. Physics. Manager Region. Physics. ODE … UML diagram would do fine too

  10. Main Points • Many architectures, not just one! • Main focus of this course: • Well-known system architectures • Secondary focus: • “Good” software architectures

  11. Lecture 3

  12. Distributed System • “Collection of interactingcomponentshosted on different computers that are connected through a computer network” … Component n Component n Component n Component1 Component1 Component1 Network Network OS Network OS Network OS Hardware Hardware Hardware Host 2 Host 1 Host 3

  13. Examples • Email • FTP • Web • SETI @ Home • MMOs • …

  14. Non-Distributed Systems • Notepad • Tetris • … • … • No interaction with other components on the network • These days they are rare…

  15. Consequences of distribution • (Unavoidable) • Network latency • Vulnerability • (Happens) • Resource contention • Heterogeneity • All this makes things more complicated but a lot more powerful

  16. Computer Networks • The problem, c. 1958: • How to exchange data between the computer at UCLA to the computer in Berkeley • The problem, c. 1968: • How to exchange data between a computer at UCLA and the 10 others computers out there • The problem, c. 1978: • How to exchange data between all the computers that were popping up everywhere

  17. Early Computer Comms • Acoustic modems • Point2Point • (<3 acousticmodems) • Circuitswitchingnetworks

  18. ARPANET • Precursor of the Internet • First packet-switching network • First successful operation in 1969, 4 nodes

  19. The Internet, c. 2005 http://www.opte.org/maps/

  20. The Origins of the Internet • Heterogeneous computers • Decentralized control • Many interested players

  21. OSI Model • “Open Systems Interconnect”, c.1977 • An architecture for engineering the nodes of large-scale computer networks, including the Internet • Layered architecture • Emerged from experiences with ARPANET

  22. OSI Model Image courtesy of The Abdus Salam International Centre for Theoretical Physics

  23. Physical Layer This layer conveys the bit stream - electrical impulse, light or radio signal -- through the network at the electrical and mechanical level. It provides the hardware means of sending and receiving data on a carrier, including defining cables, cards and physical aspects.

  24. Data Link Layer At this layer, data packets are encoded and decoded into bits. It furnishes transmission protocol knowledge and management and handles errors in the physical layer, flow control and frame synchronization The data link layer is divided into two sub layers: The Media Access Control (MAC) layer and the Logical Link Control (LLC) layer. The MAC sub layer controls how a computer on the network gains access to the data and permission to transmit it. The LLC layer controls frame synchronization, flow control and error checking.

  25. Network Layer This layer provides switching and routing technologies, creating logical paths, known as virtual circuits, for transmitting data from node to node. Routing and forwarding are functions of this layer, as well as addressing, internetworking, error handling, congestion control and packet sequencing.

  26. Transport Layer This layer provides transparent transfer of data between end systems, or hosts, and is responsible for end-to-end error recovery and flow control. It ensures complete data transfer.

  27. Session Layer This layer establishes, manages and terminates connections between applications. The session layer sets up, coordinates, and terminates conversations, exchanges, and dialogues between the applications at each end. It deals with session and connection coordination.

  28. Presentation Layer This layer provides independence from differences in data representation (e.g., encryption) by translating from application to network format, and vice versa. The presentation layer works to transform data into the form that the application layer can accept. This layer formats and encrypts data to be sent across a network, providing freedom from compatibility problems. It is sometimes called the syntax layer.

  29. Application Layer This layer supports application and end-user processes. Communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified. Everything at this layer is application-specific. This layer provides application services for file transfers, e-mail, and other network software services. Telnet and FTP are examples.

  30. The shape Data size

  31. OSI Model in Action UCI routers Google routers DBH wireless router Google server Your laptop

  32. In reality Boundaries are fuzzy

  33. Another shape of the Internet Diversity Transport Layer Network Layer Diversity

  34. This course

  35. Transport Layer • Two dominant protocols • Transmission Control Protocol (TCP) • User Datagram Protocol (UDP)

  36. TCP • Conceived c. 1974, Vint Cerf & Bob Kahn • Connection-oriented • Guarantees delivery of a data stream sent from one host to another without duplication or losing data. • Reliability over performance • Not particularly suitable for real-time applications such as Voice over IP or RT gaming • Protocol upon which the Web (HTTP) operates

  37. TCP Header

  38. Ports vs. IP Addresses Ports … Component n Component n Component n Component1 Component1 Component1 Network Network OS Network OS Network OS Hardware Hardware Hardware Host 3 Host 1 Host 2 IP Addresses

  39. TCP main idea Large data Component1 Componenta Network OS Network OS Hardware Hardware Host 1 Host 2

  40. TCP main idea Large data Host 1 Host 2 Connect Listen Packet 1 Ack1 … If packets don’t get ack’ed within a period of time, Host 1 resends them

More Related