Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by department "Tietojenkäsittelytieteen osasto"

Sort by: Order: Results:

  • Xin, Li (2020)
    Heart rate (HR) monitoring has been the foundation of many researches and applications in the field of health care, sports and fitness, and physiology. With the development of affordable non- invasive optical heart rate monitoring technology, continuous monitoring of heart rate and related physiological parameters is increasingly possible. While this allows continuous access to heart rate information, its potential is severely constrained by the inaccuracy of the optical sensor that provides the signal for deriving heart rate information. Among all the factors influencing the sensor performance, hand motion is a particularly significant source of error. In this thesis, we first quantify the robustness and accuracy of the wearable heart rate monitor under everyday scenario, demonstrating its vulnerability to different kinds of motions. Consequently, we developed DeepHR, a deep learning based calibration technique, to improve the quality of heart rate measurements on smart wearables. DeepHR associates the motion features captured by accelerometer and gyroscope on the wearable with a reference sensor, such as a chest-worn HR monitor. Once pre-trained, DeepHR can be deployed on smart wearables to correct the errors caused by motion. Through rigorous and extensive benchmarks, we demonstrate that DeepHR significantly improves the accuracy and robustness of HR measurements on smart wearables, being superior to standard fully connected deep neural network models. In our evaluation, DeepHR is capable of generalizing across different activities and users, demonstrating that having a general pre-trained and pre-deployed model for various individual users is possible.
  • Seth, Arpita (2020)
    Traditional flat classification methods (e.g., binary, multiclass, and multi-label classification) seek to associate each example with a single class label or a set of labels without any structural dependence among them. Although, there are some problems in which classes can be divided or grouped into subclasses or superclasses respectively. Such a scenario demands the application of methods prepared to deal with hierarchical classification. An algorithm for hierarchical classification uses the information related to structure present in the class hierarchy and then improves the predictive performance . The freedom to perform a more generic classification, but with higher reliability, gives the process a greater versatility. Several studies have shown that, in solving a hierarchical classification problem, flat models are mostly overcome by hierarchical ones, regardless of the approach – local (including its derivations) or global – chosen. This thesis aims to compare the most popular hierarchical classification methods (local and global) empirically, reporting their performance – measured using hierarchical evaluation indexes. To do so, we had to adapt the global hierarchical models to conduct single path predictions, starting from the root class and moving towards a leaf class within the hierarchical structure. Further, we applied hierarchical classification on data streams by detecting concept drift. We first study data streams, various types of concept drifts, and state-of-the-art concept drift detection methods. Then we implement Global-Model Hierarchical Classification Naive Bayes (GNB) with three concept drift detectors: (i) Kolmogorov-Smirnov test, (ii) Wilcoxon test, and (iii) Drift Detection Method (DDM). A fixed-size sliding window was used to estimate the performance of GNB online. Finally, we must highlight that this thesis contributes to the task of automatic insect recognition.
  • Weber, Sean (2020)
    We present Active Faceted Search, a technique which allows a user to iteratively refine search results by selecting from a set of facets that is dynamically refined with each iteration. The facets presented are selected using a contextual multi armed bandit model. We first describe the computational model of a system which implements Active Faceted Search. We also create a web application to demonstrate an example of a system that can use an active faceted search component along with more traditional search elements such as a typed query and sidebar component. We perform simulations to compare the performance of the system under different parameters. Finally, we present a user experiment in which users are instructed to perform tasks in order to compare Active Faceted Search to traditional search techniques.
  • Juvonen, Atte (2019)
    We present a new framework to evaluate the security of voting schemes. We utilize the framework to compare a wide range of voting schemes, including practical schemes in realworld use and academic schemes with interesting theoretical properties. In the end we present our results in a neat comparison table. We strive to be unambiguous: we specify our threat model, assumptions and scope, we give definitions to the terms that we use, we explain every conclusion that we draw, and we make an effort to describe complex ideas in as simple terms as possible. We attempt to consolidate all important security properties from literature into a coherent framework. These properties are intended to curtail vote-buying and coercion, promote verifiability and dispute resolution, and prevent denial-of-service attacks. Our framework may be considered novel in that trust assumptions are an output of the framework, not an input. This means that our framework answers questions such as ”how many authorities have to collude in order to violate ballot secrecy in the Finnish paper voting scheme?”
  • Linnainmaa, Seppo (2020)
    Algoritmien kumulatiivista pyöristysvirhettä liukuvan pilkun aritmetiikassa pyritään analysoimaan kehittämällä tämä yksittäisten pyöristysvirheiden Taylor-kehitelmäksi. Tähän tarkoitukseen esitetään sekä analyyttinen että tietokoneelle soveltuva menetelmä. Yksittäiselle suhteelliselle pyöristysvirheelle konstruoidaan tilastollinen malli. Sovellutuksina käsitellään pienalgoritmia a² -b² = (a+b)·(a-b) sekä Horner-shemaa ja Gauss-Jordanin matriisinkääntöalgoritmia. Sovellutuksiin liittyvät ohjelmat on ajettu IBM 7094-tietokoneella.
  • Virtanen, Teemu (2020)
    Nykyaikaisessa alustataloudessa on kyse toiminnasta, jossa yrityksen tarjoaman digitaalisen alustan välityksellä eri sidosryhmät toteuttavat yhdessä lisäarvoa tuottavaa toimintaa. Alustatalous on noussut vuosituhannen vaihteen jälkeen muuttamaan perinteisellä arvoketjun logiikalla toimivien yritysten markkinoita. Alustatalouden yleistyminen näkyy uusien alustayritysten syntymisenä ja myös siinä, miten monet yritykset ovat siirtäneet tai laajentaneet liiketoimintaansa perinteisen arvoketjun mallista alustamalliin. Ilmiö on maailmanlaajuinen ja ajankohtainen myös Suomessa. Valtaosa yrityksistä toimii edelleen perinteisellä arvoketjun logiikalla, mutta suuren osan niistäkin kilpailukyvyn kannalta on tarpeellista huomioida alustatalouden vaikutukset rakentamalla tulevaisuuden liiketoimintaa tavalla tai toisella osana alustatalouden ekosysteemejä. Alustayrityksiä on toistaiseksi vähän, minkä vuoksi niiden johtamiseen erikoistuneita ja niistä johtamiskokemusta hankkineita henkilöitä on vähän. Alustataloudesta ja alustatalouden yrityksistä on tehty lukuisia tutkimuksia, mutta tähänastisten tutkimusten pääasiallinen painopiste on muualla kuin yrityksen johtamista käsittelevissä aiheissa. Tässä työssä etsittiin yrityksen johtamisen näkökulman kannalta relevantteja eroja perinteisen arvoketjun yrityksen ja digitaalisen alustayrityksen välillä. Valittuna johtamisen ulottuvuutena oli johtaminen toimintojen toteuttamisena. Yritysten välisistä eroista laadittiin yhteenveto, jonka on tarkoitus tukea esimerkiksi perinteisen arvoketjun logiikan yrityksen johtamisen taustalla olevaa johtoa painottamaan ja määrittelemään vastuullaan olevan alustaliiketoiminnan johtamisen osa-alueita tarkoituksenmukaisella tavalla. Lisäksi tutkittiin alustayrityksen menestymisen edellyttämiä keskeisiä osaamisia sekä teknologian roolia ja merkitystä nykyaikaisen alustayrityksen johtamisessa. Tutkimuksessa hahmoteltiin myös muutamia mittareita alustayrityksen johtamisen tueksi. Tässä työssä tutkittiin suhteellisen laajaa joukkoa johtamisen eri osa-alueita yleisellä tasolla mahdollisimman kattavan yleiskuvan saamiseksi ja tässä mielessä tavoite saavutettiin. Tulosten konkretia-aste kuitenkin vaihtelee ja näin ollen jatkossa olisikin hyödyllistä tutkia valikoiden kutakin johtamisen osa-aluetta yksityiskohtaisemmin mahdollisimman konkreettisen ja syvällisen tiedon saavuttamiseksi käytännön johtamisen tueksi.
  • Sarakontu, Minna (2019)
    Verkkosovelluksilla ja muilla sähköisillä järjestelmillä voidaan säästää resursseja, kun esimerkiksi työaikakirjanpito siirretään paperilta mobiiliin ja tietokoneen näytölle. Työntekoa tehostava sovellus vaatii kuitenkin hyvän käytettävyyden. Käytettävyydellä tarkoitetaan muun muassa sovelluksen käytön opittavuutta, tehokkuutta ja miellyttävyyttä. Tämän tutkielman lähtökohtana on toimeksianto yritykseltä, jolla on tarve uudistaa työaikasovelluksen käyttöliittymää. Nykyisen käyttöliittymän suurin puute on sen skaalautumattomuus työntekijöiden määrän kasvaessa. Lisäksi käyttöliittymä on toteutettu vanhanaikaisilla tekniikoilla, eikä sen visuaalinen ulkoasu vastaa yrityksen muiden sovellusten tyylisuuntaa. Tutkielmassa suunniteltiin ja toteutettiin työaikasovellukselle uuden käyttöliittymän prototyyppi, joka tarjoaa ratkaisut nykyisen käyttöliittymän ongelmakohtiin. Prototyypin suunnittelussa ja arvioinnissa hyödynnettiin kirjallisuuskatsauksessa kerättyä tietoa ihmisen ja koneen välisestä vuorovaikutuksesta, käytettävyydestä ja verkkosovellusten suunnittelusta. Prototyypissä onnistuttiin toteuttamaan tuhansille työntekijätiedoille skaalautuva listanäkymä sekä kaikki nykyisen käyttöliittymän ominaisuudet modernimmalla ulkoasulla ja kehitystyökaluilla. Vasteaika- ja käytettävyystestauksessa havaittiin jonkin verran puutteita, jotka huomioidaan uuden käyttöliittymän jatkokehityksessä.
  • Sarakontu, Minna (2019)
    Verkkosovelluksilla ja muilla sähköisillä järjestelmillä voidaan säästää resursseja, kun esimerkiksi työaikakirjanpito siirretään paperilta mobiiliin ja tietokoneen näytölle. Työntekoa tehostava sovellus vaatii kuitenkin hyvän käytettävyyden. Käytettävyydellä tarkoitetaan muun muassa sovelluksen käytön opittavuutta, tehokkuutta ja miellyttävyyttä. Tämän tutkielman lähtökohtana on toimeksianto yritykseltä, jolla on tarve uudistaa työaikasovelluksen käyttöliittymää. Nykyisen käyttöliittymän suurin puute on sen skaalautumattomuus työntekijöiden määrän kasvaessa. Lisäksi käyttöliittymä on toteutettu vanhanaikaisilla tekniikoilla, eikä sen visuaalinen ulkoasu vastaa yrityksen muiden sovellusten tyylisuuntaa. Tutkielmassa suunniteltiin ja toteutettiin työaikasovellukselle uuden käyttöliittymän prototyyppi, joka tarjoaa ratkaisut nykyisen käyttöliittymän ongelmakohtiin. Prototyypin suunnittelussa ja arvioinnissa hyödynnettiin kirjallisuuskatsauksessa kerättyä tietoa ihmisen ja koneen välisestä vuorovaikutuksesta, käytettävyydestä ja verkkosovellusten suunnittelusta. Prototyypissä onnistuttiin toteuttamaan tuhansille työntekijätiedoille skaalautuva listanäkymä sekä kaikki nykyisen käyttöliittymän ominaisuudet modernimmalla ulkoasulla ja kehitystyökaluilla. Vasteaika- ja käytettävyystestauksessa havaittiin jonkin verran puutteita, jotka huomioidaan uuden käyttöliittymän jatkokehityksessä.
  • Kettunen, Elina (2020)
    In software development, requirements define the expected behaviour of a system. Requirements can have relationships to other requirements and these relationships are called dependencies or constraints. Requirements are usually assigned to releases, which means that there is an order in which the requirements will be implemented. A single requirement model can be constructed from requirements and their properties, releases and dependencies. Large software development projects can have tens of thousands of requirements and managing large-scale requirement models is challenging. In the OpenReq project, the aim was to develop better tools for requirements engineering. In this thesis, which is a part of OpenReq, the aim was to research analyses that have been done to requirement models or that could be done to requirement models. In OpenReq, requirement models consist of requirements as statements and their relationships. The research is conducted as a systematic literature review using snowballing as the search strategy. At the moment, the consistency check and diagnosis of inconsistencies are the only analyses performed on the OpenReq requirement models. While there exist very little analyses for requirement models, we found several analyses, especially from the domain of feature modelling, which could be applicable to requirement models. The most promising of these analyses are detection of dead requirements and redundant constraints, but the original analyses must be adopted to consider the properties of requirement models such as releases. In the future, there should be research on how relevant these analyses are for real-life industrial requirement models.
  • Nietosvaara, Joonas (2019)
    We examine a previously known sublinear-time algorithm for approximating the length of a string’s optimal (i.e. shortest) Lempel-Ziv parsing (a.k.a. LZ77 factorization). This length is a measure of compressibility under the LZ77 compression algorithm, so the algorithm also estimates a string’s compressibility. The algorithm’s approximation approach is based on a connection between optimal Lempel-Ziv parsing length and the number of distinct substrings of different lengths in a string. Some aspects of the algorithm are described more explicitly than in earlier work, including the constraints on its input and how to distinguish between strings with short vs. long optimal parsings in sublinear time; several proofs (and pseudocode listings) are also more detailed than in earlier work. An implementation of the algorithm is provided. We experimentally investigate the algorithm’s practical usefulness for estimating the compressibility of large collections of data. The algorithm is run on real-world data under a wide range of approximation parameter settings. The accuracy of the resulting estimates is evaluated. The estimates turn out to be consistently highly inaccurate, albeit always inside the stated probabilistic error bounds. We conclude that the algorithm is not promising as a practical tool for estimating compressibility. We also examine the empirical connection between optimal parsing length and the number of distinct substrings of different lengths. The latter turns out to be a suprisingly accurate predictor of the former within our test data, which suggests avenues for future work.
  • Pesola, Laura (2020)
    The Internet of Things (IoT) is the Internet augmented with diverse everyday and industrial objects, enabling a variety of services ranging from smart homes to smart cities. Because of their embedded nature, IoT nodes are typically low-power devices with many constraints, such as limited memory and computing power. They often connect to the Internet over error-prone wireless links with low or variable speed. To accommodate these characteristics, protocols specifically designed for IoT use have been designed. The Constrained Application Protocol (CoAP) is a lightweight web transfer protocol for resource manipulation. It is designed for constrained devices working in impoverished environments. By default, CoAP traffic is carried over the unreliable User Datagram Protocol (UDP). As UDP is connectionless and has little header overhead, it is well-suited for typical IoT communication consisting of short request-response exchanges. To achieve reliability on top of UDP, CoAP also implements features normally found in the transport layer. Despite the advantages, the use of CoAP over UDP may be sub-optimal in certain settings. First, some networks rate-limit or entirely block UDP traffic. Second, the default CoAP congestion control is extremely simple and unable to properly adjust its behaviour to variable network conditions, for example bursts. Finally, even IoT devices occasionally need to transfer large amounts of data, for example to perform firmware updates. For these reasons, it may prove beneficial to carry CoAP over reliable transport protocols, such as the Transmission Control Protocol (TCP). RFC 8323 specifies CoAP over stateful connections, including TCP. Currently, little research exists on CoAP over TCP performance. This thesis experimentally evaluates CoAP over TCP suitability for long-lived connections in a constrained setting, assessing factors limiting scalability and problems packet loss and high levels of traffic may cause. The experiments are performed in an emulated network, under varying levels of congestion and likelihood of errors, as well as in the presence of overly large buffers. For TCP results, both TCP New Reno and the newer TCP BBR are examined. For baseline measurements, CoAP over UDP is carried using both the default CoAP congestion control and the more advanced CoAP Simple Congestion Control/Advanced (CoCoA) congestion control. This work shows CoAP over TCP to be more efficient or at least on par with CoAP over UDP in a constrained setting when connections are long-lived. CoAP over TCP is notably more adept than CoAP over UDP at fully utilising the capacity of the link when there are no or few errors, even if the link is congested or bufferbloat is present. When the congestion level and the frequency of link errors grow high, the difference between CoAP over UDP and CoAP over TCP diminishes, yet CoAP over TCP continues to perform well, showing that in this setting CoAP over TCP is more scalable than CoAP over UDP. Finally, this thesis finds TCP BBR to be a promising congestion control candidate. It is able to outperform the older New Reno in almost all explored scenarios, most notably in the presence of bufferbloat.
  • Iseri, Semih (2020)
    Sleep is a very integral part of human life. Our happiness and overall productivity greatly depend on how well we sleep. It is even more important for kids and babies as it directly affects growth and future well being. Today, it is possible to use a variety of devices to monitor sleep duration and sleep quality, helping us improve how well we sleep. However, most common sleep tracking methods require wearing an electronic device, e.g. a smartwatch or a smart bracelet, to monitor vital signs, and sleep quality information is estimated based on this information. Wearing a watch or a bracelet while sleeping is, however, considered uncomfortable by many and may not be applicable for babies. In this thesis, we study a non-invasive method for measuring the respiration rate to be used for sleep monitoring. We aim to obtain the breathing rate of an individual with no contact. We use a frequency-modulated continuous-wave radar to track chest movements and estimate the breathing rate from this signal. We use the phase component of the raw radar signal in the frequency domain to emphasize the small movements and autocorrelation function to detect the periodicity of the signal. During the study, we carried out an experiment, and we have compared our method to a traditional vital sign measurement device, and we found that our method matches the performance of the commercial device for breathing rate measurement, and outperforms it when it comes to comfort and practicality. Although it may be necessary to collect more data to better verify our results, the outcome of the experiment indicates that this method can provide the needed vital sign measurement performance without being invasive, i.e. without needing to wear any electronic devices.
  • Longi, Joonas (2020)
    Understanding users’ needs and delivering solutions to them is a demanding task that is often based on guesses. Data can be a capable tool in making those guesses more educated, and more importantly, validating them. Developing software is expensive and doing so based on experiences or opinions imposes a big monetary risk. Continuous experimentation introduces an idea where data is used in a systematic manner to reduce these development risks by constantly validating hypotheses providing crucial knowledge whether the innovation is on the right path or not. There are some existing paths in the form of experimentation models, but implementing and adjusting one to fit your specific environment may be difficult. This thesis presents a case study on a mobile application and its journey to using data in the decision making process. We take a look if existing set of written and event data can be utilized and what are the limitations of them. The data reveals there are multiple uncovered lessons to be learned from. We then look at how to take a more systematic approach and apply continuous experimentation practices in the context of the application. Some initial steps along with an experimentation road map and further experiments are presented. We concluded that the key element to initializing continuous experiment practices is to start small and gradually build the knowledge of the team.
  • Zhou, Qian (2019)
    Energy plays a central role in mobile computing, especially energy-intensive activities such as watching videos or playing games on mobile devices have increased in popularity. These activities accelerate energy usage in the device, as a result, the question of economizing the energy consumption on mobile devices becomes relevant. Some research efforts have focused on energy management applications to prolong battery life by detecting energy-hungry applications and recommending users to close those applications. However, the recommended applications could be uniquely important to users’ mobile experience and usage might continue even if it means decreased battery life. Except increase battery life by economizing mobile behavior, it is relevant for the design of energy-saving applications to know how users behave when receiving both helpful and redundant recommendations. We conduct a study on mobile application user behavior when there is a mobile energy-aware application (Carat) present on the devices. This thesis provides an approach by using application usage as implicit feedback to study if user behavior changes when recommendations on energy-hungry applications are given over the study period. Firstly, the thesis describes procedures for pre-processing and cleaning the study datasets, such as running applications in sample dataset and energy-hungry applications recommended by Carat in bug dataset and hog dataset. Secondly, this thesis provides statistical analysis methods for analyzing mobile data in different aspects. For example, applications are divided into system and installable applications. We found that users have more common system applications on their devices while less overlapped installable applications. We also separately study bugs and hogs which are the two types of energy-hungry applications. In general, there are more unique energy-hungry applications detected as hogs than bugs. For an average user, system applications are slightly more often bugs than installable applications while installable applications are more often hogs when compared with system applications. Thirdly, this thesis utilizes point biserial correlation to study application usage and Carat recommendations. We found there is no relationship between application usage and recommended energy-hungry applications. We also found that Carat users previously collected information to make recommendations. In addition, we found applications might needed by users. Based on our findings, we suggest that Carat and other energy-hungry applications recommend actions based on recent data only, and do not recommend actions against user’s needs. ACM Computing Classification System (CCS): General and reference → Cross-computing tools and techniques → Empirical studies Probability and statistics → Statistical paradigms → Exploratory data analysis Human-centered computing → Human computer interaction → Empirical studies in HCI
  • Nygren, Saara (2020)
    A relational database management system’s configuration is essential while optimizing database performance. Finding the optimal knob configuration for the database requires tuning of multiple interdependent knobs. Over the past few years, relational database vendors have added machine learning models to their products and Oracle announced the first autonomous (i.e self-driving) database in 2017. This thesis clarifies the autonomous database concept and surveys the latest research on machine learning methods for relational database knob tuning. The study aimed to find solutions that can tune multiple database knobs and be applied to any relational database. The survey found three machine learning implementations that tune multiple knobs at a time. These are called OtterTune, CDBTune, and QTune. Ottertune uses traditional machine learning techniques, while CDBTune and QTune rely on deep reinforcement learning. These implementations are presented in this thesis, along with a discussion of the features they offer. The thesis also presents an autonomic system’s basic concepts like self-CHOP and MAPE-K feedback loop and a knowledge model to define the knowledge needed to implement them. These can be used in the autonomous database contexts along with Intelligent Machine Design and Five Levels of AI-Native Database to present requirements for the autonomous database.
  • Toivonen, Tuomas (2020)
    Efficient payment services form part of the critical infrastructure of a modern economy. In this thesis we investigate the technical, regulatory and commercial aspects of payment systems. We describe the concepts of payment systems, payment schemes and payment infrastructures. We review the common structures of payment systems and develop a taxonomy of payment system characteristics. We leverage the taxonomy in three ways. First, we analyse payment system structures using the concepts of addressing and routing from the theory of data networks. Second, we develop a prototype of a payments router software. Third, we review in detail the primary retail (SEPA and FPS) and wholesale (TARGET2 and CHAPS) payment systems in the Eurozone and the UK. In addition to its academic contribution, we aim for this thesis to serve as an introductory text on payment services and payment systems for software engineers who are new to the domain.
  • Mukhtar, Usama (2020)
    Sales forecasting is crucial for run any retail business efficiently. Profits are maximized if popular products are available to fulfill the demand. It is also important to minimize the loss caused by unsold stock. Fashion retailers face certain challenges which make sales forecasting difficult for the products. Some of these challenges are the short life cycle of products and introduction of new products all around the year. The goal of this thesis is to study forecasting methods for fashion. We use the product attributes for products in a season to build a model that can forecast sales for all the products in the next season. Sales for different attributes are analysed for three years. Sales for different variables vary for values which indicate that a model fitted on product attributes may be used for forecasting sales. A series of experiments are conducted with multiple variants of the datasets. We implemented multiple machine learning models and compared them against each other. Empirical results are reported along with the baseline comparisons to answer research questions. Results from first experiment indicate that machine learning models are almost doing as good as the baseline model that uses mean values as predictions. The results may improve in the upcoming years when more data is available for training. The second experiment shows that models built for specific product groups are better than the generic models that are used to predict sales for all kinds of products. Since we observed a heavy tail in the data, a third experiment was conducted to use logarithmic sales for predictions, and the results do not improve much as compared to results from previous methods. The conclusion of the thesis is that machine learning methods can be used for attribute-based sales forecasting in fashion industry but more data is needed, and modeling specific groups of products bring better results.
  • Kallonen, Leo (2020)
    RPA (Robotic process automation) is an emerging field in software engineering that is applied in a wide variety of industries to automate repetitive business processes. While the tools to create RPA projects have evolved quickly, testing in these projects has not yet received much attention. The purpose of this thesis was to study how the regression testing of RPA projects created using UiPath could be automated while avoiding the following most common pitfalls of test automation projects: unreliability, too high cost, lack of re-usable components and too difficult implementation. An automated regression test suite was created as a case study with UiPath for an existing RPA project that is currently being tested manually. The results imply that UiPath can be used to also create the regression test suite, not just the RPA project. The automated test suite could be used to run all the tests in the regression test suite that is currently run manually. The common test automation project pitfalls were also mostly avoided: the structure of the project can be re-used for other test projects, the project can recover from unexpected errors and the implementation of the tests does not require a high level of programming knowledge. The main challenge proved to be the implementation cost which was increased by the longer then expected test development time. Another finding was that the measures taken to address test automation project pitfalls will likely work only with RPA projects that are simpler or as complex as the sample RPA project. With more complex projects, there will also likely be more challenges with test data creation. As a result, for complex projects, manual regression testing could be a better option.
  • Vainio, Antero (2020)
    Nowadays the Internet is being used as a platform for providing a wide variety of different services. That has created challenges related to scaling IT infrastructure management. Cloud computing is a popular solution for scaling infrastructure, either by building a self-hosted cloud or by using cloud platform provided by external organizations. This way some the challenges related to large scale can be transferred to the cloud administrators. OpenStack is a group of open-source software projects for running cloud platforms. It is currently the most commonly used software for building private clouds. Since initially published by NASA and Rackspace, it has been used by various organizations such as Walmart, China Mobile and Cern nuclear research institute. The largest production deployments of OpenStack clouds consist of thousands of physical server computers located in multiple datacenters. The OpenStack community has created many deployment methods that take advantage of automated software configuration management. The deployment methods are built with state of the art software for automating different administrative tasks. They take different approaches to automating infrastructure management for OpenStack. This thesis compares some of the automated deployment methods for OpenStack and examines the benefits of using automation for configuration management. We present comparisons based on technical documentations as well as reference literature. Additionally, we conducted a questionnaire for OpenStack administrators about the use of automation. Lastly, we tested one of the deployment methods in a virtualized environment.
  • Suomalainen, Lauri (2019)
    Hybrid Clouds are one of the most notable trends in the current cloud computing paradigm and bare-metal cloud computing is also gaining traction. This has created a demand for hybrid cloud management and abstraction tools. In this thesis I identify shortcomings in Cloudify’s ability to handle generic bare-metal nodes. Cloudify is an open- source vendor agnostic hybrid cloud tool which allows using generic consumer-grade computers as cloud computing resources. It is not however capable to automatically manage joining and parting hosts in the cluster network nor does it retrieve any hardware data from the hosts, making the cluster management arduous and manual. I have designed and implemented a system which automates cluster creation and management and retrieves useful hardware data from hosts. I also perform experiments using the system which validate its correctness, usefulness and expandability.