Mema Roussopoulos

Associate Professor of Computer Science
Department of Informatics and Telecommunications
University of Athens

Department of Informatics and Telecommunications
Room A38
University of Athens
GR 157 84, Ilisia, Athens, Greece
Phone: +30 210 727-5157
Fax: +30 210 727-5191
Email: mema -at* di *dot- uoa -dot* gr

Short bio: I am a faculty member at the Department of Informatics and Telecommunications at the National and Kapodistrian University of Athens in Athens, Greece and a research affiliate at ATHENA Research and Innovation Center. I received my B.S. degree in Computer Science from the University of Maryland, College Park. I completed my PhD in Computer Science and was a Postdoctoral Fellow at Stanford University. I was an Assistant Professor of Computer Science on the Gordon McKay Endowment at Harvard University in the School of Engineering and Applied Sciences. I then was a faculty member at the Department of Computer Science at the University of Crete and an Associated Researcher at the Institute of Computer Science at FORTH. I am a recipient of the CAREER Award from the National Science Foundation (2004) and the ERC Starting Grant Award from the European Research Council (2011).

Research Interests: My group investigates topics in the areas of distributed systems, networking, security and privacy, mobile computing, and digital preservation. We are particularly interested in building large reliable systems using inexpensive, unreliable, and mutually suspicious nodes. Such systems are essential for problems where participants cannot individually afford a solution and do not trust third parties to provide the solution. For more about our lab, see the DSG website.

Teaching: (Spring 2018) M 123 Distributed Systems, K24 Systems Programming

Contact: Office Hours: Wednesdays 13:00-14:00. You may also send me email to set up an appointment, but I apologize that due to the large volume of email I receive, I may not be able to reply promptly.

Research Projects   |   Distributed Systems Group at UoA   |   Teaching   |   Students   |   Professional Activities   |   Publications

Current & Past Research Projects

Research Group:
I head the Distributed Systems Lab. For more information about current lab activities, research opportunities, and possible graduate and undergraduate thesis topics, please see the lab web site

Some past research projects include:

  • LOCKSS (Lots of Copies, Keep Stuff Safe) : A robust peer-to-peer system for permanent web publishing.
  • Egoist: Overlay Routing via Selfish Neighbor Selection.
  • Hourglass: A data collection network for scalable sensor applications.
  • CUP: A protocol for Controlled Update Propagation in peer-to-peer networks.
  • The Mobile People Architecture: The goal of this project is to make it possible to reach mobile people anytime, anywhere, on any communication device, while maintaining their privacy.
  • Secure Public Internet Access Handler (SPINACH): The goal of this project is to enable secure network access through public ports in common spaces such as lounges, conference rooms, and lecture halls.
  • Mobility Measurement: The goal of this project is to trace mobile host activity on both local-area networks and metropolitan-area networks to analyze and understand mobility and network usage patterns.


M 122 Advanced Operating Systems
This is an advanced class on operating systems where we critically review some of the more influential operating systems research literature. The goal of the course is to teach students the major principles of operating system design as presented in their original sources (papers). Topics include: virtual memory management, synchronization and communication, file systems, protection and security, operating systems structure, scheduling, fault tolerance, and history and experience programming systems. (Offered every fall semester).
K24: Systems Programming
This class covers Unix systems programming in-depth, including topics such as basic Unix commands, shell script programming, low-level I/O, system calls for process management, network programming with sockets, multi-threaded programming, and interprocess communication (message queues, shared memory, semaphores, etc.) The class is hands-on, requiring students to program, test, and measure the concepts we cover in class. (Offered every spring semester).
M 123: Distributed Systems
This course aims to familiarize CS graduate students with the fundamental problems that arise in the design, development, deployment and management of distributed software systems. Topics include: interprocess communication and remote invocation, distributed naming, synchronization, time and event ordering, fundamental algorithms such as vector clocks, coordination and agreement, election, termination detection, distributed transaction mechanisms, replication of data and computation, web caching, fault tolerance, distributed file systems, and case studies of real-world systems. (Offered every spring semester).
Courses taught at University of Crete
CS 335: Computer Networking
CS 554: Peer-to-Peer Systems
CS 556: Distributed Systems
Courses taught at Harvard University
CS 164: Internet Technologies
CSCI E-138: Internet Software Technologies with Java and Perl
CS 264: Peer-to-Peer Systems


I have had the privilege of collaborating with some excellent people at Harvard, the University of Crete, and here:

  • Nikos Chondros, PhD student.
  • Christos Patsonakis, PhD student.
  • Konstantinos Tsakalozos, PhD student.
  • Panagiotis Diamantopoulos, Master's student.
  • Konstantinos Kokordelis, Master's student.
  • Sotirios-Efstathios (Stathis) Maneas, Master's student.
  • Vassilis Lekakis, Master's student.
  • Kostas Katertzis, Master's student.
  • Nikos Laoutaris, Postdoctoral Fellow.
  • Prashanth Bungale, PhD student.
  • Geoffrey Goodell, PhD student.
  • Rachel Greenstadt, PhD student.
  • Ian Becker, Master's student.
  • Nathan Blecharczyk, undergraduate student.
  • Christopher Bockman, undergraduate student.
  • David Hammer, undergraduate student.
  • Charles Duan, senior thesis student.
  • Bryan Parno, senior thesis student.

Professional Activities

  • Program Committee Member for ICDCS 2018.
  • Program Committee Member for Eurosys 2017.
  • Program Committee Member for Sixth Annual International Systems and Storage Conference (SYSTOR) 2017.
  • Co-chair of the 10th EuroSys Doctoral Workshop, 2016.
  • Program Committee Member for ICDCS 2014.
  • Program Committee Member for the 18th Panhellenic Conference on Informatics (PCI) 2014.
  • Program Committee Member for Sixth Annual International Systems and Storage Conference (SYSTOR) 2013.
  • Program Committee Member for ICDCS 2012.
  • Program Committee Member for SIGCOMM 2011.
  • Program Committee Member for 7th International Conference on Preservation of Digital Objects (iPRES), 2010.
  • Program Committee Member for Eurosys 2009.
  • Program Committee Member for SOSP 2007.
  • Program Committee Member for ICDCS 2007.
  • Program Committee Member for OSDI 2006.
  • Program Committee Member for IPTPS 2006.
  • Program Committee Member for ICDCS 2006.
  • Program Committee Member for SIGMETRICS/Performance 2006.
  • Program Committee Member for DMSN 2005, Second International VLDB Workshop on Data Management for Sensor Networks.
  • Program Committee Member for NetDB: Networking Meets Databases, 2005.
  • Program Committee Member for the International Conference on Mobile Data Management (MDM), 2005.
  • Program Committee Member for Usenix Annual Technical Conference, 2005.
  • Program Committee Member, DMSN 2004, Workshop on Data Management for Sensor Networks.
  • Program Committee Member, DIAL M-POMC 2004, Joint Workshop on Foundations of Mobile Computing.
  • Program Committee Member, Workshop on Economics of Peer-to-Peer Systems 2004.
  • Program Committee Member, ACM Conference on Electronic Commerce 2004.


Copies of most of my publications can be found on the Distributed Systems Research Group publications site.