VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
distributed
1. MCS-121
Distributed Computing II
Engr. Anila Saghir
asaghir@ssuet.edu.pk
Mobile Communication and Security
Telecommunication Engineering Department
6/20/2023 MCS-308T Dis Com II TED,SSUET 1
4. Course Information
6/20/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
5. 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/20/2023 MCS-308T Dis Com II TED,SSUET 5
6. 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/20/2023 MCS-308T Dis Com II TED,SSUET 6
7. 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/20/2023 MCS-308T Dis Com II TED,SSUET 7
8. Course Learning Outcomes
6/20/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)
9. Grading Policy
Assessment Tools Percentage
Quizzes 10%
Assignments 10%
Midterm Exam 30%
Final Exam 50%
TOTAL 100%
6/20/2023 MCS-308T Dis Com II TED,SSUET 9
10. Assessment Tools and Their Weightage
6/20/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/20/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
12. CLO-01
Apply theoretical programming models and modern
programming tools for implementing distributed-computing
applications.
[C3 (Applying), PLO-2(Problem Analysis)]
6/20/2023 MCS-308T Dis Com II TED,SSUET 12
13. 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/20/2023 MCS-308T Dis Com II TED,SSUET 13
14. Introduction
• What is Computing?
Computing is any goal-oriented activity requiring,
benefiting from, or creating computing machinery.
6/20/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/20/2023 MCS-308T Dis Com II TED,SSUET 15
16. 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/20/2023 MCS-308T Dis Com II TED,SSUET 16
17. Distributed Computing
Distributed computing involves
computing performed among
multiple network-connected
computers, each of which has Its
own processors and other
resources
6/20/2023 MCS-308T Dis Com II TED,SSUET 17
18. 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/20/2023 MCS-308T Dis Com II TED,SSUET 18
19. 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/20/2023 MCS-308T Dis Com II TED,SSUET 19
20. Parallel Computing Vs Distributed
Computing
6/20/2023 MCS-308T Dis Com II TED,SSUET 20
21. 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/20/2023 MCS-308T Dis Com II TED,SSUET 21
22. 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/20/2023 MCS-308T Dis Com II TED,SSUET 22
24. 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/20/2023 MCS-308T Dis Com II TED,SSUET 24
25. 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/20/2023 MCS-308T Dis Com II TED,SSUET 25
26. Distributed Computing
Distributed Computing is the computing
performed such as
Network services and Web Applications
in a distributed System.
6/20/2023 MCS-308T Dis Com II TED,SSUET 26
27. 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/20/2023 MCS-308T Dis Com II TED,SSUET 27
28. 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/20/2023 MCS-308T Dis Com II TED,SSUET 28
29. Distributed Computing)(Cont..)
• The distinction between network services and
network applications is not always clear-cut, and
the terms are often used Interchangeably.
6/20/2023 MCS-308T Dis Com II TED,SSUET 29
30. 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/20/2023 MCS-308T Dis Com II TED,SSUET 30
31. 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/20/2023 MCS-308T Dis Com II TED,SSUET 31
32. How does distributed computing work
• This interdependence is called coupling, and there
are two main types of coupling.
• Loose Coupling
• Tight Coupling
6/20/2023 MCS-308T Dis Com II TED,SSUET 32
33. 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/20/2023 MCS-308T Dis Com II TED,SSUET 33
34. 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/20/2023 MCS-308T Dis Com II TED,SSUET 34
35. 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/20/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/20/2023 MCS-308T Dis Com II TED,SSUET 36
37. 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/20/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/20/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/20/2023 MCS-308T Dis Com II TED,SSUET 39
40. 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/20/2023 MCS-308T Dis Com II TED,SSUET 40
41. 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/20/2023 MCS-308T Dis Com II TED,SSUET 41
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/20/2023 MCS-308T Dis Com II TED,SSUET 42
43. 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/20/2023 MCS-308T Dis Com II TED,SSUET 43
44. 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/20/2023 MCS-308T Dis Com II TED,SSUET 44
45. 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/20/2023 MCS-308T Dis Com II TED,SSUET 45
46. Three-tier architecture
• By dividing server responsibility, three-tier
distributed systems reduce communication
bottlenecks and improve distributed computing
performance.
6/20/2023 MCS-308T Dis Com II TED,SSUET 46
47. 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/20/2023 MCS-308T Dis Com II TED,SSUET 47
48. 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/20/2023 MCS-308T Dis Com II TED,SSUET 48
49. Peer-to-peer architecture
• Peer-to-peer architecture has become popular for
content sharing, file streaming, and block-chain
networks.
6/20/2023 MCS-308T Dis Com II TED,SSUET 49
50. 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/20/2023 MCS-308T Dis Com II TED,SSUET 50
51. 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/20/2023 MCS-308T Dis Com II TED,SSUET 51
52. 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/20/2023 MCS-308T Dis Com II TED,SSUET 52
Editor's Notes
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.