|
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 IV. Essential College Facilities 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 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 |
|