Mário M. Freire
         Full Professor (Professor Catedrático)

           Department of Computer Science, University of Beira Interior
           Rua Marquês de Ávila e Bolama, 6201-001 Covilhã, Portugal

           E-mail addresses: mfreire(at)computer.org  or  mfreire(at)acm.org  or  mario(at)di.ubi.pt



Topics on Architectures for Cloud Computing / Tópicos de Arquiteturas de Computação na Cloud 2018/2019
PhD in Computer Science and Engineering

"Be. If you can not be a pine on the top of a hill, be a bush in the valley but be the best bush to the stream bank. Be a branch if you can not be a tree. If you can not be a branch, be a little grass and give joy to some way. If you can not be a highway, Be just a path, if you can not be the sun, be a star. It is not by size that you will have success or failure ... But be the best in whatever you are."

Pablo Neruda (1904-1973), Chilean poet-diplomat and politician.

Descrição da Unidade Curricular e Método de Avaliação / Course Description, Evaluation and Grading


Objetivos Gerais e Resultados de Aprendizagem / Course Objectives
O objetivo da unidade curricular consiste em dotar os estudantes de uma perspetiva ampla do estado da arte em arquiteturas de computação na cloud e de dotar os estudantes de competências que lhes permitam identificar problemas em aberto e realizar investigação científica nesta área. No final da unidade curricular o estudante deve ser capaz de caracterizar o estado da arte e conhecer as fronteiras do conhecimento em tópicos de arquiteturas de computação na cloud, deve ser capaz de identificar problemas em aberto nesse domínio e capaz de formular possíveis soluções para esses problemas.
The aim of the course is to provide students with a broad perspective on the state of the art of architectures for cloud computing and to provide students with skills to identify open problems and to conduct research in this area. At the end of the course the student should be able to characterize the state of the art and know the boundaries of knowledge on some topics of architectures for cloud computing, should be able to identify open problems in the field and be able to formulate possible solutions to those problems.

Programa / Syllabus
Perspetiva geral sobre computação na cloud. Virtualização de sistemas. Virtualização de redes. Colocação e migração de máquinas virtuais. Prevenção de desempenho anómalo e tolerância a faltas em computação na cloud. Multi-clouds. Armazenamento de dados em clouds. Cloudificação de aplicações legadas. Bigdata. Aspetos de segurança em computação na cloud.
Overview of cloud computing. System virtualization. Network virtualization. Virtual machine placement and migration. Prevention of anomaly performance. Multi-clouds. Data storage in clouds. Cloudification of legacy applications. Bigdata. Security issues in cloud computing.

Actividades de Ensino-Aprendizagem e Metodologias Pedagógicas / Planned Learning Activities and Teaching Methods
As aulas de contacto desta unidade curricular são baseadas em orientação tutorial. Pretende-se debater temas baseados em artigos científicos, direções de investigação e esclarecer dúvidas concretas apresentadas pelos estudantes após estes terem feito o estudo prévio dos artigos.
Língua da unidade curricular: Português ou Inglês. O suporte tutorial está apenas disponível em inglês.
Lectures of this course are based on tutorials. It is intended to discuss topics based on scientific articles and research directions and clarify specific doubts presented by students after previous study of the papers.
Couse language: Portuguese or English. Tutorial support is only available in English.

Métodos e Critérios de Avaliação / Evaluation and Grading
Análise crítica e discussão de 2 artigos de investigação nas aulas (durante as aulas 4 a 13): 50%.
Realização e discussão de um trabalho orientado para investigação: 50%.
Critical analysis and discussion of 2 research papers in lectures (during lectures 4-13): 50%.
Accomplishment and discussion of a research-oriented work: 50%.

Formulário para a Análise Crítica dos Artigos de Investigação / Review Form for the Critical Analysis of the Research Papers
As revisões dos artigos devem ser enviadas em formato pdf por e-mail ao insctructor através do email mario@di.ubi.pt até um dia antes da aula em que o paper vai ser discutido. A revisão deve incluir os seguintes campos: Nome do aluno, Nome do paper, Breve resumo do artigo, Pontos fortes do paper, Pontos fracos do paper, Análise crítica e comentários, Duas questões de investigação interessantes sobre o papel.
Reviews must be sent in pdf format by email to the insctructor at mario@di.ubi.pt by one day before the lecture where the paper is going to be discussed. The review must include the following fields: Name of the student, Name of the paper, Short summary of the paper, Main streghts of the paper, Main weaknesses of the paper, Critical analysis and comments, Two interesting research questions about the paper.

Trabalho Orientado para Investigação / Research-oriented Work
O trabalho orientado para investigação pode ser um de 3 tipos: i) Projeto laboratorial que explora aspetos de investigação envolvendo instalação, configuração e gestão de um failover cluster baseado em hypervisors nativos (Xen, KVM/Qemu ou Microsoft Hyper V) ou containers (Docker, Swarm) e/ou um sistema cloud (OpenStack). ii) Trabalho de simulação envolvendo a resolução de um problema de investigação usando o CloudSimPlus. É recomendada a leitura deste artigo e desta dissertação. iii) Elaboração de um survey paper ao nível da ACM Computing Reviews, no qual, de forma clara, rigorosa e pedagógica, o estudante descreve o objecto de estudo e eventuais perspectivas de desenvolvimento futuro do tópico em estudo. O título do survey deve centrar-se no tópico, ser curto, claro e eye-catching. Para a elaboração do survey, o estudante deve seguir as instruções para autores e o formato disponíveis em Author Guidelines. Cada estudante pode enviar uma proposta de trabalho orientado para investigação, enquadrado dentro de um destes três tipos de trabalhos, de acordo com os seus interesses de investigação, para o endereço de email: mario@di.ubi.pt, até 31 de outubro de 2017. Cada proposta de trabalho orientado para investigação deve conter, numa página A4, o título do trabalho, o nome e o número do estudante, os objetivos e uma breve descrição do trabalho a desenvolver. Aos estudantes que não proponham um trabalho, será atribuído pelo docente um trabalho orientado para investigação na aula do dia 7 de novembro.
O trabalho orientado para investigação é realizado individualmente e pode ser defendido durante as aulas ou em exame. A apresentação e discussão do trabalho inclui a apresentação do trabalho, com duração máxima de 20 minutos, e a discussão do trabalho, com duração máxima de 10 minutos. Cada estudante deve indicar no acetato de rosto da apresentação o título do trabalho, o respetivo nome e número de estudante e deve enviar a respetiva apresentação, com a descrição do trabalho realizado, num ficheiro em formato pdf ou MS power point, usando o template disponível aqui, até 24 horas antes da hora marcada para apresentação e discussão do trabalho, para o email: mario@di.ubi.pt.
The research-oriented work can be one of three types: i) A laboratory project that explores research aspects involving installation, configuration and management of a failover cluster based on native hypervisors (Xen, KVM/Qemu or Microsoft Hyper V) or containers (Docker , Swarm) and/or a cloud system (OpenStack). ii) Simulation work involving solving a research problem using the CloudSimPlus. It is recommended the reading of this article and this dissertation. iii) Elaboration of a survey paper, in which, in a clear, rigorous and pedagogical way, the student describes the object of study and possible perspectives of future development of the topic under study. The title of the survey should focus on the topic, be short, clear and eye-catching. For the preparation of the survey, the student should follow the instructions for authors and the format available at Author Guidelines. Each student may submit a proposal for a research-oriented work within one of these three types of work, according to his/her research interests, to the email address: mario@di.ubi.pt, by October 31, 2017. Each proposal for research-oriented work must contain, on an A4 page, the title of the work, the name and number of the student, the objectives and a brief description of the work to be carried out. The instructor will assign research-oriented work proposals, in the lecture of November 7, 2017, to students who have not proposed research-oriented works.
The research-oriented work is performed individually and can be defended during lectures or in exam. The presentation and discussion of the work includes the presentation of the work, with a maximum duration of 20 minutes, and discussion of the work, with a maximum duration of 10 minutes. Each student must indicate on the first slide of the presentation the student's name and number and must send the presentation, with the description of the work done, in a file in pdf or MS power point format, using the template available here, by 24 hours before the scheduled time for presentation and discussion of the work, to the email: mario@di.ubi.pt.


Plano das Aulas Teóricas / Schedule

Lecture 1 (September 20, 2018, 11:00-12:00, room 6.06).

Sumário: Apresentação do Professor aos Estudantes. Indicação da localização do gabinete do professor e do horário de atendimento. Objectivos da unidade curricular e competências a adquirir. Conteúdos programáticos. Método de avaliação. Bibliografia de apoio à unidade curricular.
Lecture 2 (September 27, 2018, 11:00-12:00, room 6.06).

Sumário: Perspectiva geral sobre o funcionamento da unidade curricular.
Abstract: Course overview

Lecture 3 (October 4, 2018, 11:00-12:00, room 6.06).

Sumário: Apresentação do trabalho orientado para investigação. Aspectos sobre a realização do projeto orientado para investigação.
Abstract: Presentation of the research-oriented work. Issues for the project accomplishment.

Lecture 4 (October 11, 2018, 11:00-12:00, room 6.06).

Sumário: Perspetiva geral sobre computação na cloud.
Abstract: Overview of cloud computing. Required Reading:
A View of Cloud Computing by Michael Armbrust et al. Communications of the ACM, Vol. 53 No. 4, pages 50-58, 2010.
Above the Clouds: A Berkeley View of Cloud Computing by Michael Armbrust et al., Technical Report No. UCB/EECS-2009-28 , University of California at Berkeley.
Trends and Challenges in Cloud Datacenters by Kashif Bilal et al., IEEE Cloud Computing, May 2014, pages 50-58.
Fog computing: A Cloud to the Ground Support for Smart Things and Machine-to-machine Networks by Ivan Stojmenovic, Proceedings ATNAC 2014, 26-28 November 2014, pages 117-122.
Seamless Integration of Cloud and Fog Networks by Igor Duarte Cardoso et al., 2015 1st IEEE Conference on Network Softwarization (NetSoft), 13-17 April 2015, 9 pages.
Key Ingredients in an IoT Recipe: Fog Computing, Cloud computing, and more Fog Computing by M. Yannuzzi et al., Proceedings CAMAD 2014, 1-3 December 2014, pages 325-329.

Lecture 5 (October 18, 2018, 11:00-12:00, room 6.06).

Sumário: Virtualização de sistemas.
Abstract: System virtualization. Required Reading:
Xen and the Art of Virtualization by Paul Barham et al., Proceedings of the nineteenth ACM symposium on Operating systems principles (SOSP '03), pages 164-177, ACM New York, NY, USA, 2003.
Server Consolidation Techniques in Virtualized Data Centers: A Survey by A. Varasteh and M. Goudarzi, IEEE Systems Journal, 2015.


Lecture 6 (October 25, 2018, 11:00-12:00, room 6.06).

Sumário: Virtualização de redes.
Abstract: Network virtualization. Required Reading:
A Survey of Network Virtualization by Mosharaf Kabir Chowdhurya and Raouf Boutaba, Computer Networks, Vol. 54, Issue 5, April 2010, pages 862–876.
Network Functions Virtualization – An Introduction, Benefits, Enablers, Challenges & Call for Action, Issue 1, ETSI White Paper, October 2012.
Abstractions for Software-defined Networks by Martin Casado et al., Communications of the ACM, Vol. 57 Issue 10, October 2014, pages 86-95.
Network Virtualization and Software Defined Networking for Cloud Computing: A Survey by Raj Jain and Subharthi Paul, IEEE Communications Magazine, pages 24-31, November 2013.
Software-Defined Networking: A Comprehensive Survey by D. Kreutz el al., Proceedings of the IEEE Vol. 103 Issue 1, pages 14-76, 2015 (Author version).
A Survey on Software-Defined Networking by Wenfeng Xia et al., IEEE Communications Surveys & Tutorials, Vol. 17, Issue: 1, pages 27-51, 2015.
A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks by B. Nunes et al., IEEE Communications Surveys & Tutorials, Vol. 16, Issue: 3, pages 1617-1634, 2014.


Lecture 7 (November 8, 2018, 11:00-12:00, room 6.06).

Sumário: Colocação e migração de máquinas virtuais.
Abstract: Virtual machine placement and migration.
Approaches for Optimizing Virtual Machine Placement and Migration in Cloud Environments: A Survey by Manoel filho et al. in Journal of Parallel and Distributed Computing, 2017.


Lecture 8 (November 15, 2018, 11:00-12:00, room 6.06).

Sumário: Prevenção de desempenho anómalo. Tolerância a faltas em computação na cloud.
Abstract: Prevention of anomaly performance.
PREPARE: Predictive Performance Anomaly Prevention for Virtualized Cloud Systems by Yongmin Tan et al. in Proceedings of 2012 IEEE 32nd International Conference on Distributed Computing Systems (ICDCS), 285-294, 2012.
Fault Tolerance Management in Cloud Computing: A System-Level Perspective by Ravi Jhawar et al. in IEEE Systems Journal, Volume: 7 Issue: 2, 288 - 297.
Lecture 9 (November 22, 2018, 11:00-12:00, room 6.06).

Sumário: Multi-clouds.
Abstract: Multi-clouds. Required Reading:
Cloud Federations in the Sky: Formation Game and Mechanism by Lena Mashayekhy et al. in IEEE Transactions on Cloud Computing, 3(1): 14-27, 2015.
The Xen-Blanket: Virtualize Once, Run Everywhere by Dan Williams et al. in Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys '12), 113-126, 2012 ( Author Version and Poster).

Lecture 10 (November 29, 2018, 11:00-12:00, room 6.06).

Sumário: Armazenamento de dados em clouds.
Abstract: Data storage in clouds. Required Reading:
An Efficient and Secure Dynamic Auditing Protocol for Data Storage in Cloud Computing by Kan Yang and Xiaohua Jia in IEEE Transactions on Parallel and Distributed Systems, 24(9): 1717-1725, 2013.
CHARM: A Cost-Efficient Multi-Cloud Data Hosting Scheme with High Availability by Quanlu Zhang et al. in IEEE Transactions on Cloud Computing, 3(3): 372-386, 2015.
DepSky: Dependable and Secure Storage in a Cloud-of-Clouds by Alysson Bessani et al. in ACM Transactions on Storage 9(4), Article 12, 2013.


Lecture 11 (December 6, 2018, 11:00-12:00, room 6.06).

Sumário: Cloudificação de aplicações legadas.
Abstract: Cloudification of legacy applications. Required Reading:
A Practical Architecture of Cloudification of Legacy Applications by Dunhui Yu et al. in Proceedings of 2011 IEEE World Congress on Services, 17-24, 2011.
Cloudifying Apps-A Study of Design and Architectural Considerations for Developing Cloudenabled Applications with Case Study by V. Nuthula et al. in Proceedings of 2014 IEEE International Conference on Cloud Computing in Emerging Markets (CCEM), 1-7, 2014.
Cloudifying User-Created Content for Existing Applications in Mobile Devices by S. Ghosh et al. in Proceedings of 2011 IEEE 35th Annual Computer Software and Applications Conference (COMPSAC), 510-515, 2011.
Conceção de Arquiteturas para Cloud Computing : Casos de Demonstração da Utilização do Modelo de Referência do NIST by Manuel Pereira, Dissertação de Mestrado Integrado em Comunicações, Universidade do Minho, 2013.


Lecture 12 (December 13, 2018, 11:00-12:00, room 6.06).

Sumário: Bigdata.
Abstract: Bigdata. Required Reading:
Big Data: A Survey by Min Chen et al. in Mobile Networks and Applications, 19(2): 171-209, 2014.
Data-intensive Applications, Challenges, Techniques and Technologies: A Survey on Big Data by Philip Chen and Chun-Yang Zhang in Information Sciences, 275: 314–347, 2014.
A Survey of Clustering Algorithms for Big Data: Taxonomy and Empirical Analysis by A. Fahad et al. in IEEE Transactions on Emerging Topics in Computing, 2(3): 267-279, 2014.

Lecture 13 (January 3, 2019, 11:00-12:00, room 6.06).

Sumário: Aspetos de segurança em computação na cloud.
Abstract: Security issues in cloud computing. Required Reading:
Security Issues in Cloud Environments: A Survey by Diogo Fernandes et al. in International Journal of Information Security (Springer), 13(2): 113-170, 2014.

Lecture 14 (January 10, 2019, 11:00-12:00, room 6.06).

Sumário: Apresentação e discussão dos trabalhos orientados para a investigação.
Abstract: Presentation and discussion of research-oriented works.



“One of the problems of being a pioneer is you always make mistakes and I never, never want to be a pioneer. It’s always best to come second when you can look at the mistakes the pioneers made”.

Seymour Cray (1925-1996), Public Lecture at Lawrence Livermore Laboratories on the introduction of the CRAY-1, 1976.
Last update: 2018/09/20.