MCS-121
Distributed Computing II
Engr. Anila Saghir
asaghir@ssuet.edu.pk
Mobile Communication and Security
Telecommunication Engineering Department
6/5/2023 MCS-308T Dis Com II TED,SSUET 1
Week 01
Lecture 01
6/5/2023 MCS-308T Dis Com II TED,SSUET 2
Course Information Sheet
Discussion
6/5/2023 MCS-308T Dis Com II TED,SSUET 3
Course Information
6/5/2023 MCS-308T Dis Com II TED,SSUET 4
Session: Spring-2023
Course Title: Distributed Computing II
Course Code: MCS 308T
Credit Hours: 3
Semester: 6th
Pre-Requisites: MCS 307T Distributed Computing I
Instructor Name: Engr. Anila Saghir
Email and Contact Information: asaghir@ssuet.edu.pk
WhatsApp Group MCS-308T DC-II
Office Hours:
9:00am-5:00pm
Counselling Hours: Tuesday, 8:30am-11:30am
Mode of Teaching: Synchronous/Asynchronous/ Hybrid/Blended
COURSE OBJECTIVE:
• The main objective of the course is to introduce the
student with advance aspects of Distributed
Computing including Remote Method Invocation,
JavaBeans, XML and advanced GUI features study.
• The course mainly focuses on to examine the role of Java
in Distributed Systems and Web based Services
including Security issues.
• On completion of this course the student will have an
appreciation of the issues pertaining to the use of Java in
a large Distributed Enterprise Environment.
6/5/2023 MCS-308T Dis Com II TED,SSUET 5
COURSE OUTLINE:
Inter-process Communication,
Java Overview,
Multithreading in Java,
Distributed Computing Paradigms,
The Socket API,
The Client-Server Paradigm,
Group Communication,
Web Services: HTTP and Java, Java Servlets,
Distributed Objects,
Advanced RMI,
Internet Applications,
The Common Object Request Broker Architecture (CORBA), Java IDL and CORBA.
6/5/2023 MCS-308T Dis Com II TED,SSUET 6
Recommended Books:
• RECOMMENDED BOOK:
• M.L. Liu, “Distributed Computing: Principles and Applications”,
4th Edition, 2019, Pearson, ISBN: 978-0201796445
• REFERENCE BOOKS:
• David Reilly, “Java Network Programming and Distributed
Computing”, 2002, 1st Edition, Addison-Wesley, ISBN : 978-
020171037
• Raja Malleswara Rao Pattamsetti, “Distributed Computing in
Java 9”, 2017, 1st Edition, Packt Publishing , ISBN:
9781787126992
6/5/2023 MCS-308T Dis Com II TED,SSUET 7
Course Learning Outcomes
6/5/2023 MCS-308T Dis Com II TED,SSUET 8
CLO
No.
Course Learning Outcomes (CLOs) PLOs
Bloom’s
Taxonomy
1
Apply theoretical programming models and
modern programming tools for implementing
distributed-computing applications.
PLO_2
(Problem Analysis)
C3
(Applying)
2
Analyze the different distributed-system
middleware such as distributed objects, web
services, and peer-to-peer systems for their
performance.
PLO_2
(Problem Analysis)
C4
(Analyzing)
3
Design and develop a multi-tier server-side
application.
PLO_3
(Design/Developm
ent of Solutions)
C6
(Creating)
Grading Policy
Assessment Tools Percentage
Quizzes 10%
Assignments 10%
Midterm Exam 30%
Final Exam 50%
TOTAL 100%
6/5/2023 MCS-308T Dis Com II TED,SSUET 9
Assessment Tools and Their Weightage
6/5/2023 MCS-308T Dis Com II TED,SSUET 10
Assessment Tools CLO-1 (30) CLO-2 (40) CLO-3 (30)
Quizzes 12%(3) 9.1%(5) 10%(2)
Assignments
8%(2) 9.1%(5) 15%(3)
Midterm Exam 40%(10) 36.4%(20) -
Final Exam 40%(10) 45.4%(25) 75%(15)
COMPLEX COMPUTING PROBLEM:
6/5/2023 MCS-308T Dis Com II TED,SSUET 11
Included: Yes
Nature and details of Complex Computing Problem (CCP): It will be given in Assignment # 02.
CCP will be based on CLO-2 “Analyze the different distributed-system middleware such as distributed objects,
web services, and peer-to-peer systems for their performance”.
To investigate the problem, students use in-depth knowledge related to the following concepts: Java Servelets,
web services, XML, Java RMI
Attributes could be: WP1, WP3, WK5, WA3
WP1: Depth of knowledge required
WP3: Depth of analysis required
WK5: Engineering Design
WA3: Design/Development of Solution
Assessment in: Assignment # 02
CLO-01
Apply theoretical programming models and modern
programming tools for implementing distributed-computing
applications.
[C3 (Applying), PLO-2(Problem Analysis)]
6/5/2023 MCS-308T Dis Com II TED,SSUET 12
Distributed Computing, An Introduction
In this chapter, we will begin by clarifying what is meant by distributed computing. We will
do so by looking at the history of distributed computing and by comparing this type of
computing with other forms of computing. We will then understand some basic concepts in
the disciplines of operating systems and networks.
Chapter #1
6/5/2023 MCS-308T Dis Com II TED,SSUET 13
Introduction
• What is Computing?
Computing is any goal-oriented activity requiring,
benefiting from, or creating computing machinery.
6/5/2023 MCS-308T Dis Com II TED,SSUET 14
Introduction
Forms of Computing
• To understand the distributed computing, lets
understand the different types of computing's
performed by a computer.
• We can categorized computer computing roughly as :
• Monolithic Computing
• Distributed Computing
• Parallel Computing
• Cloud Computing
6/5/2023 MCS-308T Dis Com II TED,SSUET 15
Monolithic Computing
Early computing was performed on a
single processor.
A uniprocessor, or monolithic
computing, makes use of a single
central processing unit (CPU) to
execute one or more programs for each
application
The computer Is not connected to any
network, and thus it may use only those
resources within its immediate access.
6/5/2023 MCS-308T Dis Com II TED,SSUET 16
Distributed Computing
Distributed computing involves
computing performed among
multiple network-connected
computers, each of which has Its
own processors and other
resources
6/5/2023 MCS-308T Dis Com II TED,SSUET 17
Parallel Computing
• Parallel computing is a type of computing in which
one computer or multiple computers in a network
carry out many calculations or processes
simultaneously.
Note: Parallel computing is a particularly tightly coupled form of
distributed computing.
6/5/2023 MCS-308T Dis Com II TED,SSUET 18
Parallel Computing Vs Distributed
Computing
• In parallel processing, all processors have access to
shared memory for exchanging information
between them.
• On the other hand, in distributed processing, each
processor has private memory (distributed
memory). Processors use message passing to
exchange information.
6/5/2023 MCS-308T Dis Com II TED,SSUET 19
Parallel Computing Vs Distributed
Computing
6/5/2023 MCS-308T Dis Com II TED,SSUET 20
Cloud Computing
• Cloud computing is internet based computing
where virtual shared servers provide a platform,
infrastructure for application, file storage and other
resources and hosting to customers on a pay-as-
you-go basis.
6/5/2023 MCS-308T Dis Com II TED,SSUET 21
Cloud Computing
• Customers do not own the physical infrastructure
and no need to depend on the storage capacity of
their local computer network rather they rent the
usage from a third-party provider.
• Cloud computing significantly reduced the cost of
computation, content storage, and application
hosting.
6/5/2023 MCS-308T Dis Com II TED,SSUET 22
Distributed Computing Vs Cloud
Computing
6/5/2023 MCS-308T Dis Com II TED,SSUET 23
Distributed System
A distributed system is a
collection of independent computers,
interconnected via a network, that are capable of
collaborating on a task
Note: Computers are considered Independent if they do not share memory or
program execution space.
6/5/2023 MCS-308T Dis Com II TED,SSUET 24
Distributed System Vs Distributed Computing
Distributed System is the networked collection of
independent machines that can collaborate
remotely to achieve one goal
whereas,
Distributed computing is the cloud-based
technology that enables this distributed system to
operate, collaborate, and communicate.
6/5/2023 MCS-308T Dis Com II TED,SSUET 25
Distributed Computing
Distributed Computing is the computing
performed such as
Network services and Web Applications
in a distributed System.
6/5/2023 MCS-308T Dis Com II TED,SSUET 26
Distributed Computing)(Cont..)
• A network service is a service provided by a
special kind of program known as a server on a
network
• The World Wide Web, electronic email and file
transfer are some examples of such services
6/5/2023 MCS-308T Dis Com II TED,SSUET 27
Distributed Computing)(Cont..)
• A network application is an application that runs
on networked computers for end users.
• Network applications range from enterprise
applications such as online shopping carts and e-
marketing sites to noncommercial applications
such as chatrooms and network games etc.
6/5/2023 MCS-308T Dis Com II TED,SSUET 28
Distributed Computing)(Cont..)
• The distinction between network services and
network applications is not always clear-cut, and
the terms are often used Interchangeably.
6/5/2023 MCS-308T Dis Com II TED,SSUET 29
History of Distributed Computing
• The distributed computing system is all about
evolution from centralization to decentralization,
• We had a centralized system like mainframe in
early 1955
• But now we are probably using a decentralized
system like edge computing and containers.
6/5/2023 MCS-308T Dis Com II TED,SSUET 30
How does distributed computing work
• Distributed computing works by computers passing
messages to each other within the distributed
systems architecture.
• Communication protocols or rules create a
dependency between the components of the
distributed system.
6/5/2023 MCS-308T Dis Com II TED,SSUET 31
How does distributed computing work
• This interdependence is called coupling, and there
are two main types of coupling.
• Loose Coupling
• Tight Coupling
6/5/2023 MCS-308T Dis Com II TED,SSUET 32
How does distributed computing work
Loose coupling
In loose coupling, components are weakly
connected so that changes to one component do not
affect the other.
• For example, client and server computers can be loosely coupled
by time. Messages from the client are added to a server queue, and
the client can continue to perform other functions until the server
responds to its message.
6/5/2023 MCS-308T Dis Com II TED,SSUET 33
How does distributed computing work
Tight coupling
A tightly coupled system is a system architecture and
computing method in which all hardware and
software components are linked together so that
every component is dependent on the others.
6/5/2023 MCS-308T Dis Com II TED,SSUET 34
How does distributed computing work
• Tightly coupled system architecture encourages
application and code interdependence.
• High-performing distributed systems often use
tight coupling.
• Fast local area networks typically connect several
computers, which creates a cluster.
6/5/2023 MCS-308T Dis Com II TED,SSUET 35
Distributed Computing Architectures
• Various hardware and software architectures are
used for distributed computing.
• Distributed programming typically falls into one of
several basic architectures:
• client–server
• three-tier
• n-tier
• peer-to-peer
6/5/2023 MCS-308T Dis Com II TED,SSUET 36
Client–Server Architecture
• Client-server is the most common method of
software organization on a distributed system.
• The functions are separated into two categories:
clients and servers.
• Clients
• Servers
6/5/2023 MCS-308T Dis Com II TED,SSUET 37
Client–Server Architecture:
Clients
• Clients
• Clients have limited information and processing
ability. Instead, they make requests to the servers,
which manage most of the data and other
resources.
• You can make requests to the client, and it
communicates with the server on your behalf.
6/5/2023 MCS-308T Dis Com II TED,SSUET 38
Client–Server Architecture:
Servers
• Servers
• Server computers synchronize and manage access to
resources.
• They respond to client requests with data or status
information.
• Typically, one server can handle requests from several
machines.
6/5/2023 MCS-308T Dis Com II TED,SSUET 39
Client-Server Architecture:
Benefits and limitations
• Client-server architecture gives the benefits of
security and ease of ongoing management.
• focus is only on securing the server computers.
• Similarly, any changes to the database systems
require changes to the server only.
6/5/2023 MCS-308T Dis Com II TED,SSUET 40
Benefits and limitations
Client-Server Architecture
• The limitation of client-server architecture is that
servers can cause communication bottlenecks,
especially when several machines make requests
simultaneously.
6/5/2023 MCS-308T Dis Com II TED,SSUET 41
Three-tier architecture
• In three-tier distributed systems, client machines
remain as the first tier you access.
• Server machines, on the other hand, are further
divided into two categories:
• Application Servers
• Database Servers
6/5/2023 MCS-308T Dis Com II TED,SSUET 42
Three-tier architecture
• In three-tier distributed systems, client machines
remain as the first tier you access.
• Server machines, on the other hand, are further
divided into two categories:
• Application Servers
• Database Servers
6/5/2023 MCS-308T Dis Com II TED,SSUET 43
Three-tier architecture
• Application servers
• Application servers act as the middle tier for
communication.
• They contain the application logic or the core
functions that you design the distributed system for.
6/5/2023 MCS-308T Dis Com II TED,SSUET 44
Three-tier architecture
• Database servers
• Database servers act as the third tier to store and
manage the data.
• They are responsible for data retrieval and data
consistency.
6/5/2023 MCS-308T Dis Com II TED,SSUET 45
Three-tier architecture
• By dividing server responsibility, three-tier
distributed systems reduce communication
bottlenecks and improve distributed computing
performance.
6/5/2023 MCS-308T Dis Com II TED,SSUET 46
N-tier architecture
• N-tier models include several different client-server
systems communicating with each other to solve
the same problem.
• Most modern distributed systems use an n-tier
architecture with different enterprise applications
working together as one system behind the scenes.
6/5/2023 MCS-308T Dis Com II TED,SSUET 47
Peer-to-peer architecture
• Peer-to-peer distributed systems assign equal
responsibilities to all networked computers.
• There is no separation between client and server
computers, and any computer can perform all
responsibilities.
6/5/2023 MCS-308T Dis Com II TED,SSUET 48
Peer-to-peer architecture
• Peer-to-peer architecture has become popular for
content sharing, file streaming, and block-chain
networks.
6/5/2023 MCS-308T Dis Com II TED,SSUET 49
The Strengths and Weaknesses of
Distributed Computing
• Machines, able to work remotely on the same task,
improve the performance efficiency of distributed
systems.
• The fault-tolerance, agility, cost convenience, and
resource sharing make distributed computing a
powerful technology.
6/5/2023 MCS-308T Dis Com II TED,SSUET 50
The Strengths and Weaknesses of
Distributed Computing
• There are a number of reasons for the popularity of
distributed computing:
• The affordability of computers and availability of
network access.
• Resource sharing
• Scalability
• Fault tolerance
• Multiple points of failure
• Security Concerns
6/5/2023 MCS-308T Dis Com II TED,SSUET 51
Applications of distributed computing
and newer challenges
• Mobile systems
• Sensor networks
• Ubiquitous or pervasive computing
• Peer-to-peer computing
• Publish-subscribe, content distribution, and multimedia
• Distributed agents
• Distributed data mining
• Grid computing
• Security in distributed systems
6/5/2023 MCS-308T Dis Com II TED,SSUET 52

Week 01- Lecture 1.pptx

  • 1.
    MCS-121 Distributed Computing II Engr.Anila Saghir asaghir@ssuet.edu.pk Mobile Communication and Security Telecommunication Engineering Department 6/5/2023 MCS-308T Dis Com II TED,SSUET 1
  • 2.
    Week 01 Lecture 01 6/5/2023MCS-308T Dis Com II TED,SSUET 2
  • 3.
    Course Information Sheet Discussion 6/5/2023MCS-308T Dis Com II TED,SSUET 3
  • 4.
    Course Information 6/5/2023 MCS-308TDis Com II TED,SSUET 4 Session: Spring-2023 Course Title: Distributed Computing II Course Code: MCS 308T Credit Hours: 3 Semester: 6th Pre-Requisites: MCS 307T Distributed Computing I Instructor Name: Engr. Anila Saghir Email and Contact Information: asaghir@ssuet.edu.pk WhatsApp Group MCS-308T DC-II Office Hours: 9:00am-5:00pm Counselling Hours: Tuesday, 8:30am-11:30am Mode of Teaching: Synchronous/Asynchronous/ Hybrid/Blended
  • 5.
    COURSE OBJECTIVE: • Themain objective of the course is to introduce the student with advance aspects of Distributed Computing including Remote Method Invocation, JavaBeans, XML and advanced GUI features study. • The course mainly focuses on to examine the role of Java in Distributed Systems and Web based Services including Security issues. • On completion of this course the student will have an appreciation of the issues pertaining to the use of Java in a large Distributed Enterprise Environment. 6/5/2023 MCS-308T Dis Com II TED,SSUET 5
  • 6.
    COURSE OUTLINE: Inter-process Communication, JavaOverview, Multithreading in Java, Distributed Computing Paradigms, The Socket API, The Client-Server Paradigm, Group Communication, Web Services: HTTP and Java, Java Servlets, Distributed Objects, Advanced RMI, Internet Applications, The Common Object Request Broker Architecture (CORBA), Java IDL and CORBA. 6/5/2023 MCS-308T Dis Com II TED,SSUET 6
  • 7.
    Recommended Books: • RECOMMENDEDBOOK: • M.L. Liu, “Distributed Computing: Principles and Applications”, 4th Edition, 2019, Pearson, ISBN: 978-0201796445 • REFERENCE BOOKS: • David Reilly, “Java Network Programming and Distributed Computing”, 2002, 1st Edition, Addison-Wesley, ISBN : 978- 020171037 • Raja Malleswara Rao Pattamsetti, “Distributed Computing in Java 9”, 2017, 1st Edition, Packt Publishing , ISBN: 9781787126992 6/5/2023 MCS-308T Dis Com II TED,SSUET 7
  • 8.
    Course Learning Outcomes 6/5/2023MCS-308T Dis Com II TED,SSUET 8 CLO No. Course Learning Outcomes (CLOs) PLOs Bloom’s Taxonomy 1 Apply theoretical programming models and modern programming tools for implementing distributed-computing applications. PLO_2 (Problem Analysis) C3 (Applying) 2 Analyze the different distributed-system middleware such as distributed objects, web services, and peer-to-peer systems for their performance. PLO_2 (Problem Analysis) C4 (Analyzing) 3 Design and develop a multi-tier server-side application. PLO_3 (Design/Developm ent of Solutions) C6 (Creating)
  • 9.
    Grading Policy Assessment ToolsPercentage Quizzes 10% Assignments 10% Midterm Exam 30% Final Exam 50% TOTAL 100% 6/5/2023 MCS-308T Dis Com II TED,SSUET 9
  • 10.
    Assessment Tools andTheir Weightage 6/5/2023 MCS-308T Dis Com II TED,SSUET 10 Assessment Tools CLO-1 (30) CLO-2 (40) CLO-3 (30) Quizzes 12%(3) 9.1%(5) 10%(2) Assignments 8%(2) 9.1%(5) 15%(3) Midterm Exam 40%(10) 36.4%(20) - Final Exam 40%(10) 45.4%(25) 75%(15)
  • 11.
    COMPLEX COMPUTING PROBLEM: 6/5/2023MCS-308T Dis Com II TED,SSUET 11 Included: Yes Nature and details of Complex Computing Problem (CCP): It will be given in Assignment # 02. CCP will be based on CLO-2 “Analyze the different distributed-system middleware such as distributed objects, web services, and peer-to-peer systems for their performance”. To investigate the problem, students use in-depth knowledge related to the following concepts: Java Servelets, web services, XML, Java RMI Attributes could be: WP1, WP3, WK5, WA3 WP1: Depth of knowledge required WP3: Depth of analysis required WK5: Engineering Design WA3: Design/Development of Solution Assessment in: Assignment # 02
  • 12.
    CLO-01 Apply theoretical programmingmodels and modern programming tools for implementing distributed-computing applications. [C3 (Applying), PLO-2(Problem Analysis)] 6/5/2023 MCS-308T Dis Com II TED,SSUET 12
  • 13.
    Distributed Computing, AnIntroduction In this chapter, we will begin by clarifying what is meant by distributed computing. We will do so by looking at the history of distributed computing and by comparing this type of computing with other forms of computing. We will then understand some basic concepts in the disciplines of operating systems and networks. Chapter #1 6/5/2023 MCS-308T Dis Com II TED,SSUET 13
  • 14.
    Introduction • What isComputing? Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. 6/5/2023 MCS-308T Dis Com II TED,SSUET 14
  • 15.
    Introduction Forms of Computing •To understand the distributed computing, lets understand the different types of computing's performed by a computer. • We can categorized computer computing roughly as : • Monolithic Computing • Distributed Computing • Parallel Computing • Cloud Computing 6/5/2023 MCS-308T Dis Com II TED,SSUET 15
  • 16.
    Monolithic Computing Early computingwas performed on a single processor. A uniprocessor, or monolithic computing, makes use of a single central processing unit (CPU) to execute one or more programs for each application The computer Is not connected to any network, and thus it may use only those resources within its immediate access. 6/5/2023 MCS-308T Dis Com II TED,SSUET 16
  • 17.
    Distributed Computing Distributed computinginvolves computing performed among multiple network-connected computers, each of which has Its own processors and other resources 6/5/2023 MCS-308T Dis Com II TED,SSUET 17
  • 18.
    Parallel Computing • Parallelcomputing is a type of computing in which one computer or multiple computers in a network carry out many calculations or processes simultaneously. Note: Parallel computing is a particularly tightly coupled form of distributed computing. 6/5/2023 MCS-308T Dis Com II TED,SSUET 18
  • 19.
    Parallel Computing VsDistributed Computing • In parallel processing, all processors have access to shared memory for exchanging information between them. • On the other hand, in distributed processing, each processor has private memory (distributed memory). Processors use message passing to exchange information. 6/5/2023 MCS-308T Dis Com II TED,SSUET 19
  • 20.
    Parallel Computing VsDistributed Computing 6/5/2023 MCS-308T Dis Com II TED,SSUET 20
  • 21.
    Cloud Computing • Cloudcomputing is internet based computing where virtual shared servers provide a platform, infrastructure for application, file storage and other resources and hosting to customers on a pay-as- you-go basis. 6/5/2023 MCS-308T Dis Com II TED,SSUET 21
  • 22.
    Cloud Computing • Customersdo not own the physical infrastructure and no need to depend on the storage capacity of their local computer network rather they rent the usage from a third-party provider. • Cloud computing significantly reduced the cost of computation, content storage, and application hosting. 6/5/2023 MCS-308T Dis Com II TED,SSUET 22
  • 23.
    Distributed Computing VsCloud Computing 6/5/2023 MCS-308T Dis Com II TED,SSUET 23
  • 24.
    Distributed System A distributedsystem is a collection of independent computers, interconnected via a network, that are capable of collaborating on a task Note: Computers are considered Independent if they do not share memory or program execution space. 6/5/2023 MCS-308T Dis Com II TED,SSUET 24
  • 25.
    Distributed System VsDistributed Computing Distributed System is the networked collection of independent machines that can collaborate remotely to achieve one goal whereas, Distributed computing is the cloud-based technology that enables this distributed system to operate, collaborate, and communicate. 6/5/2023 MCS-308T Dis Com II TED,SSUET 25
  • 26.
    Distributed Computing Distributed Computingis the computing performed such as Network services and Web Applications in a distributed System. 6/5/2023 MCS-308T Dis Com II TED,SSUET 26
  • 27.
    Distributed Computing)(Cont..) • Anetwork service is a service provided by a special kind of program known as a server on a network • The World Wide Web, electronic email and file transfer are some examples of such services 6/5/2023 MCS-308T Dis Com II TED,SSUET 27
  • 28.
    Distributed Computing)(Cont..) • Anetwork application is an application that runs on networked computers for end users. • Network applications range from enterprise applications such as online shopping carts and e- marketing sites to noncommercial applications such as chatrooms and network games etc. 6/5/2023 MCS-308T Dis Com II TED,SSUET 28
  • 29.
    Distributed Computing)(Cont..) • Thedistinction between network services and network applications is not always clear-cut, and the terms are often used Interchangeably. 6/5/2023 MCS-308T Dis Com II TED,SSUET 29
  • 30.
    History of DistributedComputing • The distributed computing system is all about evolution from centralization to decentralization, • We had a centralized system like mainframe in early 1955 • But now we are probably using a decentralized system like edge computing and containers. 6/5/2023 MCS-308T Dis Com II TED,SSUET 30
  • 31.
    How does distributedcomputing work • Distributed computing works by computers passing messages to each other within the distributed systems architecture. • Communication protocols or rules create a dependency between the components of the distributed system. 6/5/2023 MCS-308T Dis Com II TED,SSUET 31
  • 32.
    How does distributedcomputing work • This interdependence is called coupling, and there are two main types of coupling. • Loose Coupling • Tight Coupling 6/5/2023 MCS-308T Dis Com II TED,SSUET 32
  • 33.
    How does distributedcomputing work Loose coupling In loose coupling, components are weakly connected so that changes to one component do not affect the other. • For example, client and server computers can be loosely coupled by time. Messages from the client are added to a server queue, and the client can continue to perform other functions until the server responds to its message. 6/5/2023 MCS-308T Dis Com II TED,SSUET 33
  • 34.
    How does distributedcomputing work Tight coupling A tightly coupled system is a system architecture and computing method in which all hardware and software components are linked together so that every component is dependent on the others. 6/5/2023 MCS-308T Dis Com II TED,SSUET 34
  • 35.
    How does distributedcomputing work • Tightly coupled system architecture encourages application and code interdependence. • High-performing distributed systems often use tight coupling. • Fast local area networks typically connect several computers, which creates a cluster. 6/5/2023 MCS-308T Dis Com II TED,SSUET 35
  • 36.
    Distributed Computing Architectures •Various hardware and software architectures are used for distributed computing. • Distributed programming typically falls into one of several basic architectures: • client–server • three-tier • n-tier • peer-to-peer 6/5/2023 MCS-308T Dis Com II TED,SSUET 36
  • 37.
    Client–Server Architecture • Client-serveris the most common method of software organization on a distributed system. • The functions are separated into two categories: clients and servers. • Clients • Servers 6/5/2023 MCS-308T Dis Com II TED,SSUET 37
  • 38.
    Client–Server Architecture: Clients • Clients •Clients have limited information and processing ability. Instead, they make requests to the servers, which manage most of the data and other resources. • You can make requests to the client, and it communicates with the server on your behalf. 6/5/2023 MCS-308T Dis Com II TED,SSUET 38
  • 39.
    Client–Server Architecture: Servers • Servers •Server computers synchronize and manage access to resources. • They respond to client requests with data or status information. • Typically, one server can handle requests from several machines. 6/5/2023 MCS-308T Dis Com II TED,SSUET 39
  • 40.
    Client-Server Architecture: Benefits andlimitations • Client-server architecture gives the benefits of security and ease of ongoing management. • focus is only on securing the server computers. • Similarly, any changes to the database systems require changes to the server only. 6/5/2023 MCS-308T Dis Com II TED,SSUET 40
  • 41.
    Benefits and limitations Client-ServerArchitecture • The limitation of client-server architecture is that servers can cause communication bottlenecks, especially when several machines make requests simultaneously. 6/5/2023 MCS-308T Dis Com II TED,SSUET 41
  • 42.
    Three-tier architecture • Inthree-tier distributed systems, client machines remain as the first tier you access. • Server machines, on the other hand, are further divided into two categories: • Application Servers • Database Servers 6/5/2023 MCS-308T Dis Com II TED,SSUET 42
  • 43.
    Three-tier architecture • Inthree-tier distributed systems, client machines remain as the first tier you access. • Server machines, on the other hand, are further divided into two categories: • Application Servers • Database Servers 6/5/2023 MCS-308T Dis Com II TED,SSUET 43
  • 44.
    Three-tier architecture • Applicationservers • Application servers act as the middle tier for communication. • They contain the application logic or the core functions that you design the distributed system for. 6/5/2023 MCS-308T Dis Com II TED,SSUET 44
  • 45.
    Three-tier architecture • Databaseservers • Database servers act as the third tier to store and manage the data. • They are responsible for data retrieval and data consistency. 6/5/2023 MCS-308T Dis Com II TED,SSUET 45
  • 46.
    Three-tier architecture • Bydividing server responsibility, three-tier distributed systems reduce communication bottlenecks and improve distributed computing performance. 6/5/2023 MCS-308T Dis Com II TED,SSUET 46
  • 47.
    N-tier architecture • N-tiermodels include several different client-server systems communicating with each other to solve the same problem. • Most modern distributed systems use an n-tier architecture with different enterprise applications working together as one system behind the scenes. 6/5/2023 MCS-308T Dis Com II TED,SSUET 47
  • 48.
    Peer-to-peer architecture • Peer-to-peerdistributed systems assign equal responsibilities to all networked computers. • There is no separation between client and server computers, and any computer can perform all responsibilities. 6/5/2023 MCS-308T Dis Com II TED,SSUET 48
  • 49.
    Peer-to-peer architecture • Peer-to-peerarchitecture has become popular for content sharing, file streaming, and block-chain networks. 6/5/2023 MCS-308T Dis Com II TED,SSUET 49
  • 50.
    The Strengths andWeaknesses of Distributed Computing • Machines, able to work remotely on the same task, improve the performance efficiency of distributed systems. • The fault-tolerance, agility, cost convenience, and resource sharing make distributed computing a powerful technology. 6/5/2023 MCS-308T Dis Com II TED,SSUET 50
  • 51.
    The Strengths andWeaknesses of Distributed Computing • There are a number of reasons for the popularity of distributed computing: • The affordability of computers and availability of network access. • Resource sharing • Scalability • Fault tolerance • Multiple points of failure • Security Concerns 6/5/2023 MCS-308T Dis Com II TED,SSUET 51
  • 52.
    Applications of distributedcomputing and newer challenges • Mobile systems • Sensor networks • Ubiquitous or pervasive computing • Peer-to-peer computing • Publish-subscribe, content distribution, and multimedia • Distributed agents • Distributed data mining • Grid computing • Security in distributed systems 6/5/2023 MCS-308T Dis Com II TED,SSUET 52

Editor's Notes

  • #18 Explanation: A user, using a workstation, has full use of the resources on the local computer to which its workstation is connected. In addition, through the interaction of the local computer and the remote com-puters, the user may access mount on the remote computers. The World Wide Web is an excellent example of this type of computing. When you use a browser to visit a Web site, a program such as Netscape or Internet Earldom runs on your local system and interacts with a program (known as a Web server) running on a remote system to fetch a file that may reside on yet another remote system.
  • #25 Reference: https://www.analyticssteps.com/blogs/4-types-and-advantages-theory-computation
  • #31 Reference: https://www.geeksforgeeks.org/evolution-of-distributed-computing-systems/ Recommended Reading: Text Book Chapter 1, page 22-24
  • #32 Refrence: https://aws.amazon.com/what-is/distributed-computing/#:~:text=Distributed%20computing%20is%20the%20method,to%20deal%20with%20complex%20challenges.
  • #37 https://en.wikipedia.org/wiki/Distributed_computing