BHARTI VIDYAPEETH INSTITUTE OF TECHNOLOGY
Sector-7, C.B.D. Belapur, Navi Mumbai
Certificate
This is to certify that the report of project entitled,
“Distributed System”
Submitted by:
2100270138 3535 ANJALI SINHA
2100270181 3538 AARYA KURHADE
2100270132 3541 PRATHAMESH PADWAL
2200270151 271313 RISHABH YADAV
To The
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION
In partial fulfilment of the requirement of the Course of
DIPLOMA IN INFORMATION TECHNOLOGY
Has been satisfactorily carried out under the guidance of
Mr. Sandeep Shinde
In SEM V during the academic year 2023-2024
1
Annexure- I
Micro- Project Proposal
Title of Micro-Project: Distributed System
Aims/ Benefits of the Micro-Project: Data Sharing. Distributed systems allow one component to
share data with other components in the system easily.
Course Outcomes Addressed
Have Sufficient knowledge about file access.
To provide hardware & software issues in modern distributed systems.
3.0 Proposed Methodology (Procedure in brief that will be followed to do the micro-project)
1. Define the problem
2. Analyze requirements
3. Design architecture
4. Deploy & Monitor
4.0 Action Plan (Sequence and time required for major activity)
Planned start Planned finish Name of responsible
Sr. No. Details of activity
date date team members
1 Collecting information 20.09.2023 22.09.2023 Anjali Sinha
2 Making of project 22.09.2023 25.09.2023 Aarya Kurhade
3 Making report 26.09.2023 27.09.2023 Prathamesh Padwal
4 Submitting project 13.10.2023 15.10.2023 Rishabh Yadav
5.0 Resources Required (major resources such as raw material, some machining facility, software
etc.)
Sr.No Name of resource /
Specification Quantity Remarks
. material
1 Computer system 16GB RAM, i5 2
Names of Team Members with Roll Nos.
2100270138 3535 ANJALI SINHA
2100270181 3538 AARYA KURHADE
2100270132 3541 PRATHAMESH PADWAL
2200270151 271313 RISHAB YADAV
(To be approved by the concerned teacher)
2
ANNEXURE II
Evaluation Sheet for the Micro Project
Academic Year: 2023- 2024 Name of Faculty: Mr. Sandeep Shinde
Course: Operating System Course code: 22516 Semester: V
Title of the project: Distributed system
COs addressed by the micro project:
1. Explain characteristics of the Distributed System of operating system.
2. Explain Distributed System structure with example.
Major learning Outcomes achieved by students by doing the project:
a) Practical Outcomes: Optimizing system performance, Fault tolerance through effective load
balancing & redundancy measures, Enhanced scalability.
b) Unit Outcomes in cognitive domain:
o Explain the advantages & challenges associated with distributed systems.
o Compare & contrast different distributed computing models, such as client-server, peer-
to-peer, & cloud computing
o Evaluate the performance & scalability of distributed systems.
c) Outcomes in affective domain:
1. Cultivate a curiosity & enthusiasm for exploring & experimenting with distributed systems
technologies.
2. Follow safety practices
3. Follow ethical practices
Comments/suggestion about team work/leadership/inter-personal communication (if any)
Roll no. Student name Marks out of for Marks out of 4 for Total out
performance in performance in oral of 10
group activity (D5 /presentation (D5
Col. 8) Col.9)
3535 ANJALI SINHA
3538 AARYA KURHADE
3541 PRATHAMESH PADWAL
271313 RISHABH YADAV
(Name and Signature of Faculty)
3
INDEX
PAGE
SR.NO CONTENTS NO.
1. INTRODUCTION 5
2. WHAT IS DISTRIBUTED SYSTEM? 6
3. TYPES OF DISTRIBUTED 7
SYSTEMS
4. COMMON CHARACTERISTICS 8
5. FAILURE HANDLING (FAULT 10
TOLERANCE)
6. ADVANTAGES & 11
DISADVANTAGES
7. CONCLUSION 12
4
1. INTRODUCTION
A distributed system is a sophisticated computing paradigm where multiple
interconnected computers, often referred to as nodes, collaborate to accomplish a
shared goal. These nodes can be situated in diverse geographical locations and
communicate through a network, allowing for decentralized data processing and
storage. The fundamental premise of distributed systems is to harness the power
of parallel processing, thereby improving performance, enhancing fault tolerance,
and facilitating scalability. Each node in the system can execute its tasks
independently, which can lead to optimized resource utilization and reduced
processing times.
Distributed systems are integral to a wide range of applications, including cloud
computing, data centres, content delivery networks, and distributed databases.
They underpin the foundation of modern computing, enabling the delivery of
highly available, scalable, and efficient systems to meet the demands of complex
and resource-intensive applications. However, developing and managing
distributed systems can be complex, as it necessitates addressing issues like data
consistency, concurrency control, and fault tolerance to ensure reliable and robust
operation. In essence, distributed systems represent a pivotal architecture that
empowers the seamless integration of diverse computing resources for the
advancement of numerous technological endeavors.
5
2. WHAT IS DISTRIBUTED SYSTEM?
A distributed system is a network of interconnected computers or nodes that work
together to achieve a common objective. These nodes can be geographically
dispersed and communicate with each other through a network. The primary goal
of a distributed system is to distribute computing and data processing tasks across
multiple nodes, which can lead to improved performance, enhanced fault
tolerance, and increased scalability.
Key characteristics of distributed systems include concurrent processing
(multiple tasks executed simultaneously), resource sharing (nodes share
resources like files and hardware devices), transparency (hiding complexity from
users), scalability (easily expandable to meet increased demands), fault tolerance
(resilience in the face of node failures), and heterogeneity (diversity in hardware
and software).
Distributed systems are used in various applications, such as cloud computing,
data centres, content delivery networks, and distributed databases. They are
essential for achieving highly available, scalable, and efficient systems that can
meet the demands of complex and resource-intensive applications. However,
designing and managing distributed systems can be complex, as it involves
addressing challenges related to data consistency, concurrency control, and fault
tolerance to ensure reliable and robust operation.
Definition: A distributed system is one in which components located at networked
computers communicate & coordinate their actions only bypassing messages.
This definition leads to the following characteristics of distributed systems:
• Concurrency of components
• Lack of global ‘clock’
• Independent failures of components
6
3. TYPES OF DISTRIBUTED SYSTEMS
There are three types of Distributed System:
1) Distributed Computing Systems.
2) Distributed Information Systems.
3) Distributed Pervasive Systems.
DISTRIBUTED COMPUTING SYSTEMS: The distributed computing systems
include the following:
• Cluster computing systems
• Grid computing systems
DISTRIBUTED INFORMATIVE SYSTEMS: In the distributed systems, the
following forms are concentrated:
• Transaction processing systems
• Enterprise application integration
DISTRIBUTED PERVASIVE SYSTEMS: Few examples of distributed
pervasive systems are as below:
• Home systems
• Electronic health care systems
• Sensor networks
EXAMPLES OF DISTRIBUTED SYSTEM
Local Area Network & Intranet
Database Management System
Automatic Teller Machine Network
Internet/World-Wide Web
Mobile & Ubiquitous Computing
7
4. COMMON CHARACTERISTICS
• What are we trying to achieve when we construct a distributed system?
• Certain common characteristics can be used to assess distributed systems
o Heterogeneity
o Openness
o Security
o Scalability
o Failure Handling
o Concurrency
o Transparency
HETEROGENEITY
• Variety & differences in
o Networks
o Computer hardware
o Operating systems
o Programming languages
o Implementations by different developers
• Middleware as software layers to provide a programming abstraction as
well as masking the heterogeneity of the underlying networks, hardware, OS, &
programming languages (e.g., CORBA).
• Mobile Code to refer to code that can be sent from one computer to
another & run at the destination (e.g., Java applets & Java virtual machine).
8
OPENNESS
Openness is concerned with extensions & improvements of distributed
systems
Detailed interfaces of components need to be published.
New components have to be integrated with existing components
Differences in data representation of interface types on different processors
(of different vendors) have to be resolved.
SECURITY
In a distributed system, clients send requests to access data managed by
servers, resources in the networks:
• Doctors requesting records from hospitals
• User purchase products through electronic commerce
Security is required for:
• Concealing the contents of messages: security & privacy
• Identifying a remote user or other agent correctly (authentication)
New challenges:
• Denial of service attack
• Security of mobile code
SCALABILITY
o Adaptation of distributed systems to
• Accommodate more users
• Respond faster (this is the hard one)
o Usually done by adding more and/or faster processors.
o Components should not need to be changed when scale of a system
increases.
o Design components to be scalable!
9
5. FAILURE HANDLING (FAULT TOLERANCE)
o Hardware, software and networks fail!
o Distributed systems must maintain availability even at low levels of
hardware/ software/ network reliability.
o Fault tolerance is achieved by
• Recovery
• Redundancy
CONCURRENCY
o Components in distributed systems are executed in concurrent processes.
o Components access & update shared resources (e.g., variables, database,
device drivers).
o Integrity of the system may be violated if concurrent updates are not
coordinated.
• Lost updates
• Inconsistent analysis.
TRANSPARENCY
o Distributed systems should be perceived by users & collection of
cooperating components.
o Transparency has different aspects
o These represent various properties that distributed systems should have.
10
BASIC DESIGN ISSUSE
o General software engineering principles include rigor & formality,
separation of concerns, modularity, abstraction, anticipation of change,
o Specific issues for distributed system:
• Naming
• Communication
• Software structure
• System architecture
• Workload allocation
• Consistency maintenance
6. ADVANTAGES
o Sharing data: There is a provision in the environment where user at one
site may be able to access the data residing at other sites
o Autonomy: Because of sharing data by means of data that are stored locally
o Availability: If one site fails in a distributed system, the remaining sites
may be able to continue operating. Thus a failure of a site doesn’t necessarily
imply the shutdown of the system.
DISADVANTAGES
o Software Development Cost
o Greater Potential for Bugs
o Increased Processing Overhead
11
7. CONCLUSION
Distributed systems are complex networks of computers that work
together to achieve a common goal. In these systems, various components and
processes communicate and coordinate with each other to provide a seamless user
experience.
In conclusion, distributed systems play a vital role in modern
computing by enabling the development of large-scale, high-performance
applications. However, designing, implementing, and maintaining distributed
systems require a deep understanding of various concepts and challenges
associated with distributed computing. As technology continues to evolve,
distributed systems will remain a crucial area of research and development in the
field of computer science.
12