Вы находитесь на странице: 1из 3

GUJARAT TECHNOLOGICAL UNIVERSITY

COMPUTER ENGINEERING (SOFTWARE ENGINEERING) (02)


DISTRIBUTED COMPUTING AND APPLICATIONS
SUBJECT CODE: 2720207
SEMESTER: II
Type of course: Distributed computing and Application
Prerequisite: fundamentals of Operating System and computer network
Rationale: The most of the system are distributed systems and while developing such systems pause
challenges such as heterogeneity of their components, openness (which allows components to be added or
replaced), security, scalability the ability to work well when the load or the number of users increases
failure handling, concurrency of components, transparency and providing quality of service . This course
enables to understand these concepts and help in designing and developing distributed applications.
Teaching and Examination Scheme:

Teaching Scheme
T
P

Credits
C

2#

Theory Marks
ESE PA (M)
(E)
70
30

Examination Marks
Practical Marks
ESE (V)
PA (I)
ESE
OEP
PA
RP
20
10
10
10

Content:
Sr.
Topics
No.
Introduction to Distributed Computing: Definition, Relation to parallel
systems, synchronous vs asynchronous execution, design issues and
challenges. A Model of Distributed Computations : A Model of
1
distributed executions, Models of communication networks, Global
state of distributed system, Models of process communication.
Network programming with sockets and streams
2
Message Passing: Inter process Communication, Desirable Features of
Good Message-Passing Systems, Issues in IPC by Message,
Synchronization, Buffering, Multidatagram Messages, Encoding and
Decoding of Message Data, Process Addressing, Failure Handling,
Group
Communication.
Remote Procedure Calls: The RPC Model, Transparency of RPC,
3
Implementing RPC Mechanism, Stub Generation, RPC Messages,
Marshaling. Arguments and Results, Server Management,
Communication Protocols for RPCs, Complicated RPCs, Client-Server
Binding, Exception Handling, Security, Some Special Types of RPCs,
Lightweight RPC, Optimization for Better Performance.
Distributed Objects and Middleware Remote Method Invocation :
Remote Method Invocation Internet-Inter ORB Protocol Object
4
Persistence and Object Serialization, Object Brokers, Message-Oriented
Middleware
Distributed Shared Memory: Design and Implementation issues of
DSM, Granularity, Structure of Shared memory Space, Consistency
5
Models, replacement Strategy, Thrashing, Other Approaches to DSM,

Teaching
Hrs.
2

Total
Marks

150

Module
Weightage
10

3
6

10
15

10

10

Advantages of DSM.
Synchronization: Clock Synchronization, Event Ordering, Mutual
Exclusion, Election Algorithms.
Resource and Process Management : Desirable Features of a good
global scheduling algorithm, Task assignment approach, Load
Balancing approach, Load Sharing Approach, Process Migration,
Threads, Processor allocation, Real time distributed Systems.
Distributed multimedia systems characteristics of multimedia data,
quality of service management, resource management, stream adoption,
case studt Bit torrent
Concurrency, co-ordination and distributed transactions
Ordering of events. Two-phase commit protocol. Consensus.

10

11

Security in distributed computing and application: Security threats,


security mechanism, security policies, case study of Globus security
architecture,
Introduction to XML, APIs for XML Processing.
Enterprise
Application Integration, Web Technologies, Web services: Concepts,
Protocols: SOAP, WSDL, UDDI, Development of Web services.

10

10

10

15

Reference Books:
1. Distributed Computing Concepts and Applications by M. L. Liu, published by Addison-Wesley,
Inc.
2. Distributed Systems Concepts and Design Fourth Edition George Coulouris, Jean Dollimore and Tim
Kindberg, Addison-Wesley Inc./Pearson Education
3. Distributed OS by Pradeep K. Sinha (PHI)
4. Tanenbaum S. Maarten V.S.: Distributed Systems Principles and Paradigms, (Pearson Education)
5. Java in Distributed System, Marko Boger, John Wiley and Sons Ltd.
6. Java Network Programming and Distributed Computing, David Reilly and Michael Reilly, AddisonWesley
7. Web Services, Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju, Springer Verlag
Developing EJB Components, Pravin Tulachand, published by Sun Microsystems
Course Outcome:
After learning the course the students should be able to:
1. Analyze software components of distributed computing systems.
2. Integrate OS and programming language concepts to solve/implement the (distributed) components
of the systems.
3. Develop suites of networking protocols for implementing the communicating components
List of Experiments:
1.
2.
3.
4.
5.
6.
7.
8.
9.

Develop a networking application in C/C++ through Socket programming.


Develop a networking application in C/C++ through Socket programming in java
Study Amoeba multicast protocol.
Implement RPC Programming
Implement distributed telephone directory using JavaRMI Programming. Implement concurrency
control to distributed telephone directory.
Implementing election algorithm for synchronization
Implement Task assignment and load balancing scheme
Implement MPI
Implement two phase commit protocol

10.
11.
12.
13.

Study the design of a Gnutella client.


Develop distributed enterprise application
Design web service in java and .NET
Install Hadoop and implement a program to make use of map-reduce model. (Can be given as a mini
project).
14. Install Globus toolkit and implement any program on it.
Open Ended Problems:
Find issues in existing distributed architecture and try to propose solutions for the same.
A typical distributed computing environment consists of several processing units which
communicate through some underlying multi-hop network. The network is usually modeled after a
graph, possibly weighted, where nodes represent the processing units and the edges the
communication links. The nodes communicate by exchanging messages in the form of packets.
Routing is the task of selecting the paths that the packets will follow in the network. Ideally the
selected paths should have small congestion, that is, the maximum number of paths crossing any
edge should be small, and the paths should have small stretch, that is, the ratio between the selected
path and the respective shortest path should be as small as possible. Oblivious routing is a type of
distributed routing suitable for dynamic packet arrivals. In oblivious routing, the path for a newly
injected packet is selected in a way that it is not affected by the path choices of the other packets in
the network. Design a scheme in which congestion and stretch can be optimized simultaneously.
[http://www.cs.yale.edu/homes/aspnes/papers/beatcs-column-2006.pdf]
There are two existing systems- an ordering system and a warehouse system. The ordering system
handles billing customers and fulfilling orders. The warehouse system tracks inventory and sends
shipments. Currently, each night, orders are printed from the ordering system and faxed to the
warehouse, where they are checked to see if they have any inventory. If they are, they are fulfilled.
If not, they get put on hold and the warehouse calls the sales rep to have them update the ordering
system to mark the order on hold until the product comes in. Make the ordering system and
warehouse system communicate via web services.

Major Equipment:

computer, internet connection and required

List of Open Source Software/learning website:


1. c, java, visual studio, hadoop, globus toolkit
2. http://www.cdk4.net/wo/additional/courses.html
3. http://www.cs.yale.edu/homes/aspnes/papers/beatcs-column-2006.pdf
Review Presentation(RP): The concerned faculty member shall provide the list of peer reviewed Journals
and Tier-I and Tier-II Conferences relating to the subject (or relating to the area of thesis for seminar) to the
students in the beginning of the semester. The same list will be uploaded on GTU website during the first
two weeks of the start of the semester. Every student or a group of students shall critically study 2 papers,
integrate the details and make presentation in the last two weeks of the semester. The GTU marks entry
portal will allow entry of marks only after uploading of the best 3 presentations. A unique id number will be
generated only after uploading the presentations. Thereafter the entry of marks will be allowed. The best 3
presentations of each college will be uploaded on GTU website.

Вам также может понравиться