De Anza logo Course Outlines

Public Search

 
 
Close Window/Tab
PRINT VIEW -- Opens in new, second window. Use browser controls to close when finished.
Credit- Degree applicable
Effective Quarter: Fall 2020

I. Catalog Information

CIS 64E
Fundamentals of Large Scale Cloud Computing
4 Unit(s)

 

Requisites: Advisory: EWRT 211 and READ 211, or ESL 272 and 273.

Hours: Lec Hrs: 48.00
Out of Class Hrs: 96.00
Total Student Learning Hrs: 144.00

Description: This course addresses the fundamental challenges in the design, implementation, and deployment of large-scale distributed systems. Concepts covered include concurrency, synchronization, connection establishment, event handling, inter-process communication, storage management, and service registration, discovery, and lookup. It also covers issues related to distributed objects such as life cycle management, mobility, security, naming, location, evolution, and autonomy.


Student Learning Outcome Statements (SLO)

 

• Student Learning Outcome: Design, implement and debug a distributed system using technology like Web Services.


II. Course Objectives

A.Explore distributed system as a process and assess its role in building large scale computing systems.
B.Use distributed system middleware to enable communication between disparate systems.
C.Articulate the characteristics and challenges of building system services in distributed processing systems.
D.Examine the structure of distributed algorithms that enable high levels of concurrency in large systems.
E.Interpret and analyze techniques that enable data sharing in Cloud enabled systems.
F.Compare and contrast the challenges in enabling mobile and ubiquitous computing.

III. Essential Student Materials

 None

IV. Essential College Facilities

 None

V. Expanded Description: Content and Form

A.Explore distributed system as a process and assess its role in building large scale computing systems.
1.Introduction to distributed systems, challenges, trends and resource sharing management.
2.Describe the physical and architectural models in distributed systems.
3.Describe network types and Internet protocols,
4.Introduction to Internet protocol API, external data representation and marshalling, multicast communication and network virtualization.
5.Reconstruct and apply request-reply protocols, remote procedure call and remote method invocation.
6.Introduction to indirect communication, group system communication in publish-subscribe systems, message queues and shared memory approaches.
7.Introduction to operating system layer using processes, thread, communication and invocation and operation system architecture.
B.Use distributed system middleware to enable communication between disparate systems.
1.Introduction to Distributed objects and using Common Object Request Broker Architecture (CORBA) and Remote Method Invocation (RMI).
2.Creating Components from Distributed objects.
3.Create Web Services using Simple Object Access Protocol.
4.Introduction to Peer-to-Peer middleware and traffic routing scenarios.
C.Articulate the characteristics and challenges of building system services in distributed processing systems.
1.Overview of security techniques and cryptography algorithms.
2.Overview of Distributed File Systems (DFS) and File service architecture.
3.Elaborate name services including Domain Name System and Directory Services.
D.Examine the structure of distributed algorithms that enable high levels of concurrency in large systems.
1.Overview of Clocks, events, process states and clock synchronization.
2.Distributed mutual exclusion, elections and coordination and agreement in group communication.
E.Interpret and analyze techniques that enable data sharing in Cloud enabled systems.
1.Transaction management, nested transactions, locks and optimistic concurrency controls and timestamp ordering.
2.Flat and nested distributed transactions. commit protocols, distributed deadlocks and transaction recovery.
3.Replicated data, role of group communication in distributed transactions and fault-tolerant services.
F.Compare and contrast the challenges in enabling mobile and ubiquitous computing.
1.Association, interoperation, sensing and context awareness, security and privacy and Adaptation.
2.Characteristics of rich data, service management, resource management and stream adaptation.

VI. Assignments

A.Readings from text.
B.Documenting, coding, testing and debugging six to ten programs with guidance provided with clearly documented design, half completed in the computer lab, half completed as homework.

VII. Methods of Instruction

 Lecture and visual aids
Discussion of assigned reading
Discussion and problem solving performed in class
Collaborative learning and small group exercises
Collaborative projects

VIII. Methods of Evaluating Objectives

A.One or two midterm examinations requiring some programming, concepts clarification and exhibiting mastery of large scale processing systems principles.
B.A final examination requiring concepts clarification and exhibiting mastery of large scale processing system principles.
C.Evaluation of programming assignments, based on correctness, documentation, code quality, and test plan executions.

IX. Texts and Supporting References

A.Examples of Primary Texts and References
1.George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. "Distributed Systems: Concepts and Design", Addison-Wesley; 5th edition (May 2011).
B.Examples of Supporting Texts and References
1.None