Skip to topic | Skip to bottom


Main.MTSr1.3 - 22 Sep 2009 - 14:38 - CorPaulBezemer

Start of topic | Skip to actions

Multi-Tenant Software (MTS) Systems

Multi-tenant software systems are a new breed of hosted software applications, whereby a service-provider installs one such application that is concurrently used by several of its customers. The ideas behind multi-tenant systems are closely related to the Service-Oriented Architectures (SOA) paradigm, in the sense that service that are available on the market will act as multi-tenant software systems.

As such, we have defined a number of research questions that this project aims to solve are:

  • What is an efficient architecture for multi-tenant systems?
  • What insights does the Architectural Tradeoff Analysis Method (ATAM) provide us with the current architecture and other possible architectural styles for multi-tenant systems?
  • How can software architectures be evaluated in terms of scalability?
  • What data model offers optimal scalability for multi-tenant systems?
  • How should variation points be defined in order to optimize configurability in multi-tenant systems?
  • How should these applications be tested (thread-safeness, dynamic configurability, )?

This project runs in close collaboration with Exact Software, where we will follow an industry-as-laboratory research-style, meaning that actual research problems are drawn from industry and that researched solutions are tried out immediately in the industrial context.

Project team


We are seeking an enthusiastic student interested in doing research for his master's thesis in the area of Service-Oriented Architectures (SOA) and multi-tenant software systems. The Master student is expected to do high-quality research together with our industrial partner (Exact Software). Below you can find a rough description of the assignment:

A database pool is one of the most essential parts of a web application nowadays. Therefore, it is extremely important that the pool is available and performs well at all times. To achieve this, data in the pool may require relocation, replication and/or reorganization at any moment in time. In a web application with many users it is essential to perform such actions before the database performance drops, as performance problems will result in complaints from customers. Even more so, in a rapidly growing web application, it is essential that the performance does not drop, even though the number of users may grow exponentially. A way of predicting when the performance of a database pool will drop below a certain threshold is required to be able to take action in time. This prediction is not trivial as many parameters play a role.

For this assignment, you will use an industrial application, Exact Online, as a case study for defining ways to make the database in a large-scale financial web application scalable.

Your task will be to do research on:

  • Methods to predict when the performance of a database will become unacceptable
  • The effects of relocating, reorganizing and replicating data
  • A prototype implementation of a system which automates the above two features

During this research you will have to keep several requirements in mind, such as the local placement of data as restricted by law in several countries. The research will be conducted in collaboration with Exact Software.

During this project, you will apply state-of-the-art database techniques and work on improving an industrial application with over 10.000 customers and 3.500 users a day, Exact Online. In addition, you will do an internship at Exact Software, one of the largest Dutch software companies.

If you would like to apply for this project, please contact Cor-Paul Bezemer

-- CorPaulBezemer - 22 Sep 2009

Edit | Attach | Printable | Raw | More topic actions
Revisions: | r1.5 | > | r1.4 | > | r1.3 | Page history | Backlinks
You are here: Main > MTS

to top

Copyright © 2003-2018, Software Engineering Research Group, Delft University of Technology, The Netherlands