COMP 602: Principles of Distributed Systems
Instructor: Vasilis Samoladas
Models and methods for interprocess communication. Sockets, shared memory, group communication, remote procedure calls, distributed objects. Basic network programming. Sessions. Protocols. Distributed system architectures: client-server, multi-tier architecture, mediators, code migration, agent systems, peer-to-peer networks. Overview of CORBA, using CORBA IDL. Naming and addressing: names, physical and logical addresses, name services, DNS. Directory services, LDAP. Service oriented architecture. Distributed algorithms: Models, algorithms with coordinator. Time in distributed systems. Causality. Lamport's theorem. Lamport clocks, vector clocks. Global state and snapshots. Basic algorithms without coordinator: leader election, mutual exclusion, byzantine agreement. Search algorithms: distributed data structures, search in peer-to-peer networks, distributed hash tables. Reliability: fault-tolerance, backups, replication. Distributed transactions, two and three-phase commit protocols. Security
COMP 622: Special Topics in Databases
Instructor: Antonios Deligiannakis
This course covers a selection of the following topics: Design and implementation issues in databases. Design and implementation of relational systems. Design and implementation of object–oriented systems. XML databases. Query optimization in databases. Optimizing the performance of applications with design at the physical level, cost optimization for transactions, recovery. Distributed databases. Data Warehousing. Data mining on databases. Continuous Databases.
COMP 627: Approximation Techniques for Massive Databases and Data Streams
Instructor: Minos Garofalakis
Techniques for effective compression of large amounts of data: sampling, histograms, wavelets. Approximate processing techniques. Data streams: basic models, problems and applications. Algorithms for processing data streams: stream sampling (reservoir and min–wise sampling), data stream sketches (AMS, FM stream sketching). Advanced issues: approximation techniques for XML data, techniques for distributed data streams, probabilistic data and data streams, graph and text streams.