2 research outputs found

    Luotettavuuden ja toisteisuuden toteutus aikakriittiseen televiestintäjärjestelmään

    Get PDF
    Different distributed systems have different requirements for reliability. One way for increasing reliability is fault tolerance. Methods for increasing fault tolerance have been studied for decades, starting from early hardware level fault tolerance until more recent studies for peer-to-peer and cloud computing fault tolerance. In this paper, fault tolerance of an existing telecommunication service platform is studied and improved. Even in the case of a failure of a single server, called a call handler, any data should not be lost. Three sub-problems with different expectations are presented: failure detection, data dissemination and takeover. The implemented failure detection protocol is based on a basic gossip-style heartbeat protocol. The data dissemination protocol is a gossip-style dissemination protocol which, unlike traditional gossip algorithms, does not select its targets fully randomly. Instead, known data about which call handlers have received and might have received a message are used when selecting targets. On top of both, a simple takeover protocol is implemented. Testing was done in a closed environment both for the failure detection and for the data dissemination, as well as for whole the system. The results show that failure detection protocol is able to provide adequate detection times and accuracy. The nature of the implemented data dissemination algorithm is very spamming by the results. The amount of sent messages can, however, be greatly decreased with design decisions. Test results for whole the system indicate that the system is able to provide over 99 % reliability even with large server crash probabilities at least up to call handler amount 16. Unfortunately, resources in the testing environment were limited and that is why memory problems started to occur affecting the test results starting from 17 call handlers. That is why larger call handler amounts could not be tested.Erilaisilla hajautetuilla järjestelmillä on eri vaatimuksia luotettavuudelle. Eräs tapa parantaa luotettavuutta on vikasietoisuuden kasvattaminen. Erilaisia tapoja parantaa vikasietoisuutta on tutkittu jo vuosikymmeniä. Aikaisimmat tutkimukset keskittyivät pääasiallisesti laitteistotason vikasietoisuuteen, mutta viime aikoina päämielenkiinnonkohde on siirtynyt vertaisverkkojen ja pilviteknologioiden vikasietoisuuden tutkimiseen. Tämän opinnäytetyön tarkoituksena on tutkia ja parantaa olemassaolevan televiestintäjärjestelmän luotettavuutta vikasietoisuudella. Päämääränä on toteuttaa ratkaisu, joka pitää huolta ettei tietoa katoa puhelunkäsittelijöiden vikatilanteissa. Varsinainen ongelma on jaettu osa-alueisiin: virheen havaitsemiseen, tiedon levittämiseen ja haltuunottoon. Virheenhavaitsemisprotokolla pohjautuu juorutyyliseen sydämenlyöntiprotokollaan. Tiedon levittäminen on toteutettu juorutyylisellä tiedonlevitysprotokollalla, joka ei valitse lähetyskohteitaan täysin satunnaisesti, toisin kuin perinteinen juoruprotokolla. Sen sijaan valinnassa käytetään hyväksi tietoa verkon jäsenistä, jotka ovat jo vastaanottaneet viestin tai ovat mahdollisesti vastaanottaneet viestin. Puheluiden haltuunottoprotokolla on toteutettu hyödyntäen edellisiä protokollia. Testaus toteutettiin suljetussa ympäristössä. Erilliset testit suoritettiin virheenhavaitsemis- ja tiedon levittämisprotokollille. Lisäksi tehtiin koko järjestelmätason testejä. Virheenhavaitsemisprotokolla näyttää tulosten perusteella tarjoavan riittävän hyvän havaitsemisajan ja -tarkkuuden. Tulosten perusteella tiedonlevittämisprotokolla luo paljon viestejä, mutta viestimääriin pystyy vaikuttamaan protokollasuunnittelulla. Koko järjestelmän testit viittaisivat siihen, että yli 99 % luotettavuus saavutetaan jopa suurilla kaatumistodennäköisyyksillä ainakin 16 puhelunkäsittelijään asti. Testiympäristön resurssit olivat rajoitetut, mistä johtuen jo 17 puhelunkäsittelijän testeissä esiintyi muistiongelmia, jotka vaikuttivat tuloksiin. Suurempia jäsenmääriä ei siksi pystytty testaamaan
    corecore