Software architecture design for scalable and fault-tolerant vehicle positioning system

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author
Date
2011
Major/Subject
Tietojenkäsittelyoppi
Mcode
T-76
Degree programme
Language
en
Pages
vii + 64
Series
Abstract
LogMyDrive is a vehicle positioning service developed by Aspicore Ltd. and launched in 2010. The customers of LogMyDrive can use the service to track their vehicles' positions in real time and generate reports (driving logs) of the vehicles' trips. With a steady customer growth rate and a goal of making the system as reliable as possible, the purpose of the thesis was to examine ways of determining the scalability and fault-tolerance of the vehicle positioning system and to design an architecture model for the system that is both scalable and fault-tolerant. Pre-existing research on scalability and fault-tolerance was examined through a literature study. Scalability was defined as the ability of a system to handle increasing service loads without suffering significant degradation in relevant quality attributes. The cost of applying scalability assuring schemes should also be proportional to the enhancement in scalability. Fault-tolerance was found to be closely related to the reliability of a system; generally, the more faults than can be tolerated by a system, the more reliable the system is. The current level of scalability and fault-tolerance in the system was determined by conducting performance tests and analysing possible faults in the system. The system was found to contain several Single points of failure and the current architecture of the system was found to be able to handle a maximum of around 120 simultaneous users. The requirements related to scalability and fault-tolerance of the system were elicited and specified. Two new architecture designs for improving the scalability and fault-tolerance of the system were constructed -both extending the system horizontally. The first architecture design utilizing replication, load balancing and a watchdog for fault-tolerance, the second design utilizing cloud computing, elastic scaling and load balancing. The designs were analysed and validated based on how well they would fulfil the system's requirements. The second architecture design, utilizing cloud computing, was selected as the most promising architecture design for improving the scalability and fault-tolerance of the system. The arguments for the selection included the flexibility and ease of adding capacity to the system, keeping maintenance Simple and efficient, paying only for as much capacity as the system uses, ease of migrating the system to different continents and the benefit of gaining experience from cloud computing for the case company.

LogMyDrive on Aspicore Oy:n vuonna 2010 kehittämä ajoneuvojen paikannus- ja ajopäiväkirjajärjestelmä. LogMyDrive:n käyttäjät voivat järjestelmän avulla paikantaa ajoneuvojaan ja tulostaa raportteja (ajopäiväkirjoja) ajoneuvojen matkoista. Järjestelmällä on kasvava määrä käyttäjiä ja Aspicore Oy:n tavoite on saada järjestelmästä mahdollisimman vikasietoinen. Tämän työn tavoitteena on siten määrittää miten skaalautuva ja vikasietoinen nykyinen järjestelmä on ja suunnitella ohjelmistoarkkitehtuuri, jolla järjestelmästä tulisi mahdollisimman skaalautuva ja vikasietoinen. Olemassa olevaa tutkimustietoa koskien skaalautuvuutta ja vikasietoisuutta käsiteltiin kirjallisuustutkimuksen avulla. Skaalautuvan palvelun havaittiin voivan käsitellä kasvavan määrän kuormaa ilman että palvelun laatu kärsii merkittävästi. Ylöspäin skaalaamisen hinta pitäisi myös olla verrannollinen kuorman käsittelyn paranemiseen. Vikasietoisuuden havaittiin olevan suuri tekijä järjestelmän luotettavuudessa: mitä vikasietosempi järjestelmä on, sen luotettavampi se yleensä on. Järjestelmän nykyinen skaalautuvuus- ja vikasietoisuustaso määriteltiin suorituskykymittauksilla ja analysoimalla järjestelmässä mahdollisesti esiintyvän viat ja vaikutukset. Järjestelmän havaittiin sisältävän useita järjestelmän mahdollisesti kaatavia vikamahdollisuuksia ja järjestelmän nykyinen arkkitehtuuri havaittiin voivan käsitellä maksimissaan noin 120 yhtäaikaista käyttäjää. Järjestelmän vaatimukset liittyen skaalautuvuuteen ja vikasietoisuuteen määriteltiin. Kaksi uutta järjestelmää vaakatasossa laajentavaa arkkitehtuurimallia luotiin. Ensimmäinen malli käyttäisi replikointia, kuormantasausta ja ns. vahtikoiraa, toinen malli käyttäisi pilvipalveluja, joustavaa skaalausta ja kuormantasausta. Mallit analysoitiin ja validoitiin vertaamalla niitä järjestelmän vaatimuksiin. Toinen arkkitehtuurimalli, joka käyttäisi pilvipalveluita, valittiin lupaavimmaksi malliksi jolla parantaa järjestelmän skaalautuvuutta ja vikasietoisuutta. Valinnan takana oleviin argumentteihin sisältyi kapasiteetin lisäyksen joustavuus, ylläpidon helppous, hinnan määritys ainoastaan käytetyn kapasiteetin mukaan, mahdollisuus järjestelmän helpoksi siirtämiseksi eri maihin ja yritykselle koituva hyöty pilvipalveluiden käytön tuntemisesta.
Description
Supervisor
Männistö, Tomi
Thesis advisor
Ettilä, Jyrki
Keywords
scalability, skaalautuvuus, fault-tolerance, vikasietoisuus, software architecture, ohjelmistoarkkitehtuurin suunnittelu, vehicle positioning system, ajoneuvojen paikannusjärjestelmä, cloud computing, pilvipalvelut
Other note
Citation