Presentation is loading. Please wait.

Presentation is loading. Please wait.

INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 3 Prof. Crista Lopes.

Similar presentations


Presentation on theme: "INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 3 Prof. Crista Lopes."— Presentation transcript:

1 INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 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 Simulator (OpenSim.exe) Simulator (OpenSim.exe) Configuration (OpenSim.ini) Configuration (OpenSim.ini) ROBUST Services (OpenSim.Server.exe) ROBUST Services (OpenSim.Server.exe) Configuration (OpenSim.Server.ini) Configuration (OpenSim.Server.ini) Client (Hippo, etc.) Client (Hippo, etc.) Client (Hippo, etc.) Client (Hippo, etc.) … DB …

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

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

9 Software Architecture Framework Framework. Servers Framework. Servers. HttpServer Framework. Servers. HttpServer Region. Framework Region. Framework Region. Framework. Scenes Region. Framework. Scenes Region.Framework.Interfaces Region. CoreModules Region. CoreModules Region. Physics. Manager Region. Physics. Manager Region. Physics. ODE Region. Physics. ODE … Services.Interfaces S S S S S S … 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 interacting components hosted on different computers that are connected through a computer network” Component 1 Component n Hardware Network OS Host 3 Component 1 Component n Hardware Network OS Host 2 Component 1 Component n Hardware Network OS Host 1 … Network

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 acoustic modems)<3 acoustic modems  Circuit switching networks

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

19

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

21 The Origins of the Internet  Heterogeneous computers  Decentralized control  Many interested players

22 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

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

24 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.

25 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.

26 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.

27 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.

28 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.

29 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.

30 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.

31 The shape Data size

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

33 In reality Boundaries are fuzzy

34 Another shape of the Internet Network Layer Transport Layer Diversity

35 This course

36 Transport Layer  Two dominant protocols  Transmission Control Protocol (TCP)  User Datagram Protocol (UDP)

37 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

38 TCP Header

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

40 TCP main idea Large data Component 1 Hardware Network OS Host 1 Component a Hardware Network OS Host 2

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


Download ppt "INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 3 Prof. Crista Lopes."

Similar presentations


Ads by Google