0% found this document useful (0 votes)
35 views

Updated Course Pack -Distributed computing-R1UC507T

Uploaded by

Aman Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Updated Course Pack -Distributed computing-R1UC507T

Uploaded by

Aman Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

COURSEPACK (Fall 2024-25)

1. THE SCHEME

Course Title Distributed Computing Course Type Theory


th
Course Code R1UC507T Class 5 Sem (B. Tech CSE)
Activity Credits weekly Hours Total Number of Classes per Assessment in
Lecture 3 3 Semester Weightage

Self-study
Tutorial 0 0

Practical
Tutorial
Theory
Instruction delivery

SEE
CIE
Practical 0 0
Self-study 0 0
Total 3 3
45 0 0 0 50% 50%

Course Lead Dr. Sandeep Kumar .M Course Coordinator Ms.R. SathiyaPriya

Theory Practical
Dr. Sandeep Kumar .M
Names Course Ms.R. SathiyaPriya
Instructor Mr. K. Suresh
Ms.R. Radhika
Dr. Kanika Thakur

2. COURSE OVERVIEW
This course provides a comprehensive understanding and deals with designing systems that operate over multiple computers
working together to achieve a common goal. This course will cover topics such as distributed systems architecture,
distributed algorithms, parallel computing, and networking protocols. Students will gain hands-on experience with building
and managing distributed systems, as well as understanding the challenges and complexities of scaling applications across
multiple machines. By the end of this course, students will be able to design and implement efficient and reliable distributed
computing solutions.
3. COURSE OBJECTIVES
• To provide a conceptual overview of the characteristics of distributed systems and the
• challenges associated in their design.
• To highlight the very demanding requirements of distributed applications.
• To illustrate, how all the architectural concepts, algorithms and technologies can be used
in the design of an application.

1
4. PREREQUISITE COURSE
PREREQUISITE COURSE REQUIRED No

Course code Course Title


If, yes please fill in the Details
NA NA

5. PROGRAM OUTCOMES (POs):


In general, the Program Outcomes are defined by the respective apex body or council. In the event the POs are not
prescribed by a Council, then the concerned school offering the program to design and develop the POs based on the PEOs.
This has to be approved by the concerned BOS and submitted to the Academic Council for approval. After the completion of
the course, the student will be able to:

PO Description of the Program Outcome


No.

PO1 Computing Science knowledge: Apply the knowledge of mathematics, statistics, computing science and information
science fundamentals to the solution of complex computer application problems.

PO2 Problem analysis: Identify, formulate, review research literature, and analyze complex computing science problems
reaching substantiated conclusions using first principles of mathematics, natural sciences, and computer sciences.

PO3 Design/development of solutions: Design solutions for complex computing problems and design system
components or processes that meet the specified needs with appropriate consideration for the public health and
safety, and the cultural, societal, and environmental considerations.

PO4 Conduct investigations of complex problems: Use research-based knowledge and research methods including
design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid
conclusions.

PO5 Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern computing science
and IT tools including prediction and modeling to complex computing activities with an understanding of the
limitations.

PO6 IT specialist and society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety,
legal and cultural issues and the consequent responsibilities relevant to the professional computing science and
information science practice.

2
PO7 Environment and sustainability: Understand the impact of the professional computing science solutions in societal
and environmental contexts, and demonstrate the knowledge of, and need for sustainable development.

PO8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the computing
science practice.

PO9 Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in
multidisciplinary settings.

PO10 Communication: Communicate effectively on complex engineering activities with the IT analyst community and with
society at large, such as, being able to comprehend and write effective reports and design documentation, make
effective presentations, and give and receive clear instructions.

PO11 Project management and finance: Demonstrate knowledge and understanding of the computing science and
management principles and apply these to one’s own work, as a member and leader in a team, to manage projects
and in multidisciplinary environments.

PO12 Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent and life-
long learning in the broadest context of technological change.

6. PROGRAM SPECIFIC OUTCOMES (PSOs):


Program Specific Outcomes (PSO) are statements that describe what the graduates of a discipline-specific program should be
able to do. Two to Three PSOs per program should be designed.

PO No. Description of the Program-Specific Outcome

PSO1 Have the ability to work with emerging technologies in computing requisite to Industry 4.0.

PSO2 Demonstrate Engineering Practice learned through industry internship and research project to solve live
problems in various domains.

7. COURSE CONTENT (THEORY)


CONTENT (Syllabus)

TRENDS IN DISTRIBUTED SYSTEMS AND SYSTEM MODEL

Trends in Distributed Systems - Resource Sharing – Challenges - Introduction to Physical Models - Architectural Models -
Fundamental models - Types of Networks – Network Principles - Internet Protocols.

INTER-PROCESS COMMUNICATION AND REMOTE INVOCATION

Introduction to Inter-Process Communication - API for Internet Protocols - External Data Representation and Marshalling -

3
Multicast communication - Request-Reply protocols - Remote Procedure Call - Remote Method Invocation.

DISTRIBUTED OBJECTS AND WEB SERVICES

Distributed Objects - From Objects to Components - Web Services - Service Descriptions and IDL for Web Services -
Coordination of Web Services - Applications of Web Services.

SYNCHRONIZATION (TIME AND GLOBAL STATE), COORDINATION AND AGREEMENT

Clocks - Events and Process States - Synchronizing Physical Clocks - Logical Time and Logical Clocks - Global States -
Distributed Mutual Exclusion - Elections, Coordination and Agreement in Group Communication.

TRANSACTIONS, CONCURRENCY CONTROL AND DISTRIBUTED TRANSACTIONS

Transactions - Nested Transactions – Locks - Optimistic Concurrency Control - Flat and Nested Distributed Transactions -
Atomic Commit Protocols - Concurrency Control in Distributed Transactions - Distributed Deadlocks.

8. COURSE OUTCOMES (COs)


After the completion of the course, the student will be able to:
CO No. Description of the Course Outcome
Identify the core concepts of distributed systems the way in which several machines orchestrate to
R1UC507T.1
correctly solve problems in an efficient, reliable and scalable way.

R1UC507T.2 Analyze the core architectural concepts to meet the challenges in implementing distributed systems.

R1UC507T.3 Examine important approaches in distributed systems to support synchronization and fault tolerance.

R1UC507T.4 Derive Solution that ensures reliability, Security, Scalability and robustness in Internet.

Built distributed application that demonstrated file system concepts, services, concurrency control and
R1UC507T.5
transactions.
9. TAXONOMY LEVEL OF THE COURSE OUTCOMES
Bloom’s taxonomy is a set of hierarchical models used for the classification of educational learning objectives into levels of
complexity and specificity. The learning domains are cognitive, affective, and psychomotor.
Mapping of COs with Bloom’s Level
Remember Understand Apply Analyse Evaluate Create
CO No. KL1 KL 2 KL 3 KL 4 KL 2 KL 6

R1UC507T.1 √

R1UC507T.2 √

R1UC507T.3 √

R1UC507T.4 √

4
R1UC507T.5 √

10. COURSE ARTICULATION MATRIX


The Course articulation matrix indicates the correlation between Course Outcomes and Program Outcomes and their
expected strength of mapping in three levels (low, medium and high).
CO/PO Mapping (1 / 2 / 3 indicates strength of correlation) 3 - Strong, 2 - Medium, 1 – Low
Programme Outcomes (POs)
PO PO
COs PO2 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2
1 3
R1UC507T.1 2 1 2 3 2
R1UC507T.2 2 3 1 2 2 3 2
R1UC507T.3 2 3 1 2 1 2 3 2
R1UC507T.4 2 3 1 2 1 1 1 1 1 3 2
R1UC507T.5 2 3 1 2 1 2 3 2

Note: 1-Low, 2-Medium, 3-High \ *first semester first course and first Course Outcome

11. TYPICAL EXAMPLE OF COURSES, CREDIT HOURS AND TEACHING HOURS


Credits Hours Hours of engagement/ Week 12 weeks/
semester

The Tut Pra Self Tot The Tut Pra Self Tot
Type of Course ory ori ctic - al ory ori ctic - al Remarks
al al stu al al stu Total no. of
dy dy classes

Theory Course 3 0 0 0 3 3 0 0 0 3 40 40 classes for theory

*1 credit = 3 self-learning hours (Not to mention in the lesson plan

5
Theory/Tutorial/
L-No Topic for Delivery Skill Competency
Practical Plan
Trends in Distributed Systems and System Model
1 Theory
Trends in Distributed Systems
2 Theory
3 Resource Sharing Theory
4 Challenges of Distributed Theory Identify the concepts of CO1
5 Introduction to Physical Models Theory distributed systems
6 Architectural Models Theory with several machines
to correctly solve
7 Fundamental models Theory
problems in an
8 Types of Networks Theory efficient, reliable and
9 Network Principles Theory scalable way.
Internet Protocols.
10 Theory

11 Introduction to Inter-Process Communication Theory

12 API for Internet Protocols Theory


13 External Data Representation and Marshalling Analyze the
Theory architectural concepts
Multicast communication Theory to meet the challenges CO2
14
in implementing
15 Request-Reply protocols Theory distributed systems.
16 Remote Procedure Call Theory
17 Remote Method Invocation.
Theory

18 Distributed Objects and Web Services Theory


19 Distributed Objects Theory
20 From Objects to Components Theory
21 Web Services Theory Examine important
22 Service Descriptions and IDL for Web Services Theory approaches in
distributed systems to CO3
23 Coordination of Web Services Theory support synchronization
Applications of Web Services. and fault tolerance.
24 Theory
25 Revision 1 Theory
26 Revision 2 Theory
27 Revision 3 Theory
Synchronization (Time and Global state) CO4
28 Theory

29 Coordination and Agreement Theory Derive Solution that


30 Clocks Theory ensures reliability,
Security, Scalability and
31 Events and Process States Theory robustness in Internet.
32 Synchronizing Physical Clocks Theory
33 Logical Time and Logical Clocks Theory
Global States
34 Theory

6
35 Distributed Mutual Exclusion Theory
Elections, Coordination and Agreement in Group
36
Theory
Communication
Transactions, Concurrency Control and Distributed
37 Transactions Theory

Transactions - Nested Transactions Built distributed


38 Theory application that
39 Locks Theory demonstrated file
Optimistic Concurrency Control Theory system concepts,
40 services, concurrency
control and CO5
Flat and Nested Distributed Transactions
41 Theory transactions.
Atomic Commit Protocols
42 Theory
Concurrency Control in Distributed Transactions.
43 Distributed Deadlocks. Theory

44 Revision 1
Theory

45 Revision 2 Theory

12. BIBLIOGRAPHY
Text Books
1. Coulouris, J. Dollimore, and T. Kindberg, “Distributed Systems: Concepts and Designs”, 5th Edition, 2017, Addison
Wesley.
Reference Books
1. Andrew.S.Tanenbaum, Maarten Van Steen, “Distributed Systems –Principles and Paradigms”, 3rd Edition, 2016,
Prentice Hall.

2. Mukesh Singhal and N. G. Shivaratri, “Advanced Concepts in Operating Systems, Distributed, Database, and
Multiprocessor Operating Systems”, 2017, 1st Edition, McGraw Hill.

3. Vijay K. Garg, “Elements of Distributed Computing”, 2014, 1st Edition, Wiley & Sons.
Webliography
1. "Distributed Computing: Principles, Algorithms, and Systems" by Ajay D. Kshemkalyani and Mukesh
Singhal: http://www.distributedsystemszx.com/
2. "Introduction to Distributed Systems" by The University of Texas at Austin:
https://www.cs.utexas.edu/users/dahlin/Classes/439 /
3. "Distributed Computing" by Stanford University: https://web.stanford.edu/class/cs347/
4. "Cloud Computing and Distributed Systems" by University of Washington:
https://courses.cs.washington.edu/courses/csep590d/19wi/

7
5. "Distributed Systems" by EPFL: https://dl.acm.org/doi/book/10.5555/2527469
6. "Principles of Distributed Database Systems" by Stefano Ceri and Giuseppe Pelagatti:
https://www.amazon.com/Principles-Distributed-Database-Systems-Stefano/dp/0133175722

MOOCsCourses

1. Nptel: Cloud Computing and Distributed Systems by Prof. Rajiv Misra,


https://onlinecourses.nptel.ac.in/noc20_cs48/preview

13. COURSE ASSESSMENT


Assessment forms an integral part of curriculum design. A learning-teaching system can only be effective if the student’s
learning is measured at various stages which means while the student processes learning (Assessment for Learning) a given
content and after completely learning a defined content (Assessment of Learning). Assessment for learning is referred to as
formative assessment, that is, an assessment designed to inform instruction.
The ability to use and apply the knowledge in different ways may not be the focus of the assessment. With regard to
designing assessments, the faculty members must be willing to put in the time required to create a valid, reliable assessment,
that ideally would allow students to demonstrate their understanding of the information while remaining. The following are
the five main areas that assessment reporting should cover.
1. Learning Outcomes: At the completion of a program, students are expected to know their knowledge, skills, and
attitude. Depending on whether it is a UG or PG program, the level of sophistication may be different. There should be
no strict rule on the number of outcomes to be achieved, but the list should be reasonable, and well-organized.
2. Assessable Outcomes: After a given learning activity, the statements should specify what students can do to
demonstrate. Criteria for demonstration are usually addressed in rubrics and there should be specific examples of work
that doesn’t meet expectations, meets expectations, and exceeds expectations. One of the main challenges is faculty
communication whether all faculty agreed on explicit criteria for assessing each outcome. This can be a difficult
accomplishment when multiple sections of a course are taught or different faculty members. Hence there is a need for
common understanding among the faculty on what is assessed and how it is assessed.
3. Assessment Alignment: This design of an assessment is sometimes in the form of a curriculum map, which can be
created in something as easy as an Excel spreadsheet. Courses should be examined to see which program outcomes they
support, and if the outcome is assessed within the course. After completion, program outcomes should be mapped to
multiple courses within the program.
4. Assessment Planning: Faculty members need to have a specific plan in place for assessing each outcome. Outcomes
don’t need to be assessed every year, but faculty should plan to review the assessment data over a reasonable period of
time and develop a course of action if the outcome is not being met.
5. Student Experience: Students in a program should be fully aware of the expectations of the program. The program
outcomes are aligned on the syllabus so that students are aware of what course outcomes they are required to meet,
and how the program outcomes are supported. Assessment documents should clearly communicate what is being done
with the data results and how it is contributing to the improvement of the program and curriculum.
Designing quality assessment tools or tasks involves multiple considerations if it is to be fit for purpose. The set of
assessments in a course should be planned to provide students with the opportunity to learn as they engage with
formative tasks as well as the opportunity to demonstrate their learning through summative tasks. Encouraging the
student through the use of realistic, authentic experiences is an exciting challenge for the course faculty team, who are
responsible for the review and quality enhancements to assessment practices.

8
14. DIFFERENCE BETWEEN FORMATIVE AND SUMMATIVE ASSESSMENT

Assessment Pattern for Theory Course:


CIE Total Marks
Type of Course (T) Final Marks CIE*0.5+SEE*0.5
# #
IA1 MTE IA2 CIE SEE

THEORY 25 50 25 100 100 100


#
Typical Rubric for the Internal Assessments
Type of Assessment Tools QUIZ AAT$/MOOC Certifications

Internal Assessments 10 15
$
AAT is Literature survey, Seminar, Assignment, Term Paper, Slip Test (or) MOOC Certificate relevant to the course

15. PASSING STANDARDS


Passing Criteria for Different Course Types Effective from AY 2022-23 Onwards
S.No. Course Type Passing Criterion

1. Theory Course (T) A student shall secure a minimum of 30% of the maximum marks in the
semester-end examination (SEE/ETE) and 40% of aggregate marks in the
course including Continuous internal examination (CIE) and SEE/ETE marks.
i.e., the minimum Passing Grade is “P”.
Note: Students unable to meet the overall passing criteria as mentioned shall be eligible for the following options to clear the
course:
Appear in the Back Paper Examinations and have to meet the criteria to score 40% in marks overall
Appear in summer examinations (Internal +External) to meet the criteria as mentioned.

16. PROBLEM-BASED LEARNING/CASE STUDIES/CLINICS


Exercises in Problem-based Learning (Assignments) (Min 54 Problems)
S.No Prerequisite Problems
1 Identify a current trend in distributed systems, such as cloud computing or edge computing, and discuss
how it is impacting the way systems are designed and implemented.
2 Research a specific system model, such as the client-server model or peer-to-peer model, and compare its
advantages and disadvantages in a distributed system environment.
3 Analyze a case study of a distributed system that faced challenges in scalability or fault tolerance, and
propose potential solutions to improve its performance.
4 Design a distributed system architecture for a hypothetical scenario, considering factors such as latency,
consistency, and reliability.
5 Conduct a performance analysis of a distributed system using tools such as benchmarking and profiling, and
identify potential areas for optimization.
6 Discuss the security implications of using distributed systems, including authentication, authorization, and
encryption mechanisms.

9
7 Evaluate the role of containerization and orchestration technologies, such as Docker and Kubernetes, in
managing and scaling distributed systems.
8 Investigate the impact of microservices architecture on the design and development of distributed systems,
and compare it to monolithic architectures.
9 Explore the challenges of data management in distributed systems, including data replication, consistency
models, and transaction management.
10 Design a simple client-server application using inter-process communication (IPC) techniques such as pipes
or message queues. Consider how the client and server processes will communicate with each other and
exchange data.
11 Implement a remote procedure call (RPC) mechanism in a distributed system. Define a set of remote
procedures that can be executed on a remote server, and design a protocol for invoking these procedures
from a client application.
12 Develop a multi-threaded application that uses shared memory for inter-process communication. Create
multiple threads that coordinate their activities through a shared memory region, and ensure proper
synchronization to avoid race conditions.
13 Build a distributed system using a message passing interface (MPI) for communication between multiple
processes running on different nodes. Develop a set of processes that exchange messages and collaborate
on a common task, such as calculating a complex mathematical function.
14 Implement a publish-subscribe messaging system that allows processes to subscribe to specific topics and
receive notifications when new messages are published. Design a communication protocol for publishing
and subscribing to topics, and demonstrate how processes can communicate asynchronously through this
messaging system.
15 Design a distributed system that implements a real-time messaging application using object-oriented design
principles and web services. Consider how to handle concurrency control and distributed transactions in
this system.
16 Implement a distributed file storage system using a client-server architecture. Experiment with different
strategies for concurrency control and distributed transactions to ensure data consistency across multiple
servers.
17 Develop a distributed voting system for a group of users to cast their votes securely over the internet.
Explore how to handle conflicts and ensure the integrity of the voting process through concurrency control
mechanisms and distributed transactions.
18 Create a distributed inventory management system for a retail company with multiple stores. Consider how
to handle concurrent access to inventory data and distributed transactions to update inventory levels
across different locations in real-time.
19 Design a distributed social networking platform that allows users to connect with each other through
various services and APIs. Investigate how to maintain data consistency and handle distributed transactions
when users interact with the system simultaneously.
20 Implement a distributed online banking system that supports transactions between multiple accounts
across different branches. Explore the challenges of ensuring transaction atomicity and data consistency
through distributed transactions in a distributed environment.
21 Develop a distributed sensor network for monitoring environmental data in a smart city. Consider how to
handle concurrent data collection from multiple sensors and ensure the integrity of data storage and
processing through concurrency control mechanisms and distributed transactions
22 Design a distributed healthcare information system that enables doctors and patients to access medical
records securely over the internet. Investigate how to maintain data confidentiality and integrity through
concurrency control and distributed transactions in a healthcare setting.

10
23 Create a distributed e-commerce platform that connects buyers and sellers through an online marketplace.
Explore how to handle concurrent orders and transactions efficiently and securely using distributed objects
and web services.
24 Implement a distributed online auction system where users can bid on items in real-time. Investigate how
to handle conflicting bids and ensure fair transaction processing through concurrency control mechanisms
and distributed transactions.

17. STUDENT-CENTERED LEARNING (SELF-LEARNING TOWARDS LIFE-


LONGLEARNING)
S.No. Typical Project/Problem KL

Students will review the Research Papers and will write a Survey Paper on topic: Most effective in
1 measuring the success of student-centered learning approaches in distributed computing education KL6

Course Lead:

Program Chair:

Associate Dean/ SCSE:

Dean / SCSE:

11

You might also like