Course Instructor: Valentin Cristea
Syllabus:
The course aims at teaching and integrating the main concepts, principles, models, and techniques for the development of distributed system software. Another objective is increasing students’ capacity to use the acquired knowledge in modeling, design of software components for distributed systems, implementing middleware programs based on modern technologies, evaluating the implemented systems against specification and design criteria, and optimizing the performance of solutions with engineering methods and instruments.
Course Content:
- Models and architectures of large-scale dynamic distributed systems.
- P2P systems for content distribution: structured and unstructured architectures, search methods; content replication techniques; anonymity and reputation management.
- Eventdriven distributed systems: architecture, components; complex event processing, ECA (event, condition, action) model and finite-state automata with interval timestamps; intelligent engines for event processing.
- Cloud computing: resource provisioning, efficient use of resources; energy management; data security; data storage and management techniques.
- Compute and data intensive models, MapReduce.
- Contextbased distributed systems: context sensing, communication and processing; ontology based context models; security and privacy