Loading in 2 Seconds...
Loading in 2 Seconds...
University of Palestine Faculty of Engineering and Urban planning Software Engineering Department. Distributed Systems ESGD4221. Chapter 1. Eng. Mohammed Timraz Electronics & Communication Engineer. Sunday, 1 3 th February 2011. Text Books.
Faculty of Engineering and Urban planning
Software Engineering Department
Eng. Mohammed Timraz
Electronics & Communication Engineer
Sunday, 13th February 2011
Network of workstations
Automatic banking (teller machine) system
DeviceNets & SensorNets
QoS Enabled Wide
Collaborative Multimedia (Telemedicine)
Collaborative task Clients
Requirements - Availability, Reliability, Quality-of-Service, Cost-effectiveness, Security
OrganizationDistributed Computing - Strategic Factors
Several factors are influencing the performance of a
• The performance of individual workstations.
• The speed of the communication infrastructure.
• Extent to which reliability (fault tolerance) is provided (replication and preservation of coherence imply large overheads).
• Flexibility in workload allocation.
Distributed systems can operate efficiently at different scales, ranging from a small intranet to the Internet.
– A system is scalable if it remains effective when the number of users and resources is increased, i.e. providing acceptable performance at high load.
– Need to control the cost of physical resources: The cost of adding new hardware to scale the distributed system should be reasonable.
e.g. the correspondence between DNS and IP addresses.
– Need to prevent software resources running out: e.g. lack of scalability in IP addresses (32 bits). Was modified to 128-bits in the new version of IP protocol.
Interface)Client/Server Configurations (cont’d)
Applications and Services
Computer and Network Hardware
ODBC-Open Database Connectivity
CGI – Common Gateway Interface
ASP –Active server pages (Microsoft)
CF - Cold Fusion (Allaire Corp.)
Web Sphere – (IBM Corp.)
Complex data conversion
Operation and Objects
Appl. Program 1
Appl. Program 2
Traditional Distributed Applications
Client-server and peer-to-peer can be considered as basic models.
Several variations have been proposed, with considering factors such as:
A proxy server provides copies (replications) of resources which are managed by other servers.
A common example of this is a Java Applet.
Advantage: remote invocations are replaced by local ones.
Some of those challenges include:
This is a major concern in designing networks.
*Note that it is a real challenge to include everything that matters while excluding everything that does not matter!