Download presentation
Presentation is loading. Please wait.
Published byAbigail Randall Modified over 9 years ago
1
Distributed Software Chapter 18 - Distributed Software1
2
Why Distributed Solutions? Resource sharing Processor, disk, printer Resource Utilization – off hours CPU usage Performance – multiple processor usage Availability – widespread locations Scalability – “out not up” Fault tolerance – depends on implementation Chapter 18 - Distributed Software2
3
Challenges Transparancy Openness (use of standard protocols) Security Scalability Quality of Service Dependence on network bandwidth Key issue for streaming media Failure Management Detection of failure Redirection of service Chapter 18 - Distributed Software3
4
Security Threats Interception Interrumption Modification Fabrication Difficulty Managing a policy over all components Chapter 18 - Distributed Software4
5
Model of Interaction Remote Procedure Call RPC (Remote Procedure Call) Client: Calling program calls a stub for the function, e.g. ComputeArea(width,height, area) Stub packs request, parameters into data packet (marshalling) and sends to server Server Receives request, separates the data (unmarshalling), calls function with parameters Packs resulting values, sends response to client system Client Stub receives response, unpacks data Returns values to calling code Example CAD system Chapter 18 - Distributed Software5
6
Models of Interaction Messages Messages Not based on a stub waiting for a response. HTTP Client sends a “GET” message with multiple lines of parameters to server Server sends data (web page to client) Client sends “GET” messages to server to get images Server sends responses to client Author’s example - waiter to staff Uses a standard format – XML (p 486) Chapter 18 - Distributed Software6
7
RPC vs Messages RPC Client calls functions that appear local Functions developed at other end Stubs at both ends make this appear seamless Messages Each component (client or server) must: Formulate and send messages Interpret the messages from other components Chapter 18 - Distributed Software7
8
Client-Server Where do you use it? Browser – Web Server – provides web pages Local system – DHCP server – Get IP address Local System – DNS server – Translate web names (www.google.com) to IP address (122.33.212.2)www.google.com Local System – Time Server – get current time Email – SMTP Server – sends email Email – POP Server – receives email Chapter 18 - Distributed Software8
9
Client-Server Where do you use it? Local Application – DB server – read/write database Local Application – File server – read/write files Skype – Skype server – Connect to other user FTP – FTP Server – store, retrieve files on server I Tunes – Itunes Server – get audio, video, podcasts Music Plugin – Media server – Streaming media (audio, video) Log in to domain – Domain Server - authentication Chapter 18 - Distributed Software9
10
Distributed Architecture Patterns Master- Slave 2 tier Multi-Tier Distributed Peer-Peer Chapter 18 - Distributed Software10
11
Master-Slave Intent – control Master – drives all activities Slave – responds to master Chapter 18 - Distributed Software11
12
(Master – Slave) Examples SCADA – Supervisory Control and Acquisition Gas Piping Network Power Plant Power Grid Chemical Plant Network Management SNMP – Simple Network Management Protocol Chapter 18 - Distributed Software12
13
2-Tier Thin Client Characteristics Client software largely for display, interaction Business processing done at server Utilizes server resources, allows for slower, more limited clients Client software seldom needs updates Updating software on server makes upgrades easy Examples Web Browser (with server side scripting) Citrix Server Chapter 18 - Distributed Software13
14
(2-Tier) Fat client Characteristics Most processing occurs on client Relies on server for data storage Relies on power of client, offloads server Updating the client software may require more work Examples Web broswer (pages implemented with JavaScript) Custom applications accessing a database Chapter 18 - Distributed Software14
15
Multi-Tier More and more common 2 Tier architecture does not have enough capability Common Client (Web Browser) Server (Web Server) Database (Database server) Could be more Web server could access a program that in turn accesses a database Chapter 18 - Distributed Software15
16
Distributed Architectures Characteristics Multiple systems cooperate to provide services Not layered Expandable by adding new nodes Middleware that acts as a communicator Chapter 18 - Distributed Software16
17
Distributed Architectures Examples DNS – Domain Name system Provides mapping of domain names (google.com) to IP (122.22.22.3) Different servers responsible for partitions of the global namespace Replication of data allows separate servers to provide the same information Response to a request may involve several servers The DNS system manages itself as a distributed architectures. Clients access one of the servers as a server Often referred to as a “hierarchical distributed database” Chapter 18 - Distributed Software17
18
(Distributed Architectures) Examples Routers Every PC on a network is configured to find addresses via the router (default gateway) Configured to know how to find any IP address on the Internet Configured to be responsible for some range of IP addresses Communicates through routing protocols to other routers Routing protocols configure neighboring routers Database replication Databases can be live backups of a database Chapter 18 - Distributed Software18
19
Distributed Systems Disadvantages Complex to design No common middleware to help coordinate systems Corba, JavaBeans,.net Chapter 18 - Distributed Software19
20
Peer-Peer Architecture No server is in control – systems talk to each other Generally for small, local networks General areas: Computationally intense, but distributable tasks Local information sharing Chapter 18 - Distributed Software20
21
Peer-Peer Architecture WINS - Window Internet Naming System Microsoft naming system for small networks Individual systems contact peers to discover system names VOIP – Voice Over IP Skype, Vonage, Cisco phone systems. Systems access a server to set up a call Server keeps list of participating systems Ongoing communication is directly between two peers. Chapter 18 - Distributed Software21
22
Software as a Service Characteristics User does not buy software license Software not installed on the user’s system User subscribes to use the service over the Internet Generally delivered on web pages and accessed via a browser Can be based on other servers and clients (Citrix, Microsoft) Server stores data for the user Chapter 18 - Distributed Software22
23
Software as a Service Examples Voter Targeting Google Apps Gmail Google Docs Calendar Ancestry.com Chapter 18 - Distributed Software23
24
Software as a Service Advantages Installation is not needed. Setup is minimal Updating software only needs to be done on the server Users do not have to manage backups Chapter 18 - Distributed Software24
25
Software as a Service Challenges Performance with many users on a server Problems can escalate with many users on system Separation of data Security Scalability Configuration per user No custom software per user Backup Chapter 18 - Distributed Software25
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.