Common Notification Service Architecture for the Presence Server

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Helsinki University of Technology | Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

Major/Subject

Mcode

Tik-110

Degree programme

Language

en

Pages

ix + 77

Series

Abstract

Läsnäolopalvelun tehtävä on tallentaa käyttäjien läsnäolotietoa ja tarjota rajapinta tiedon kyselyyn. Palvelun asiakkaalla on mahdollista tilata käyttäjien tilanmuutokset siten, että palvelu toimittaa muuttuneet tiedot automaattisesti asiakkaalle ilmoituksina. Työn tarkoituksena on kehittää yleinen arkkitehtuuri tilauksien hallintaan ja ilmoituksien välitykseen. Skaalautuvuus on tärkein tavoite, sillä järjestelmän tulee selviytyä miljoonista käyttäjistä. Tällä hetkellä ei ole olemassa yhteensopivaa tilauksien ja ilmoituksien välityksessä käytettävää kommunikointiprotokollaa vaan useita keskenään kilpailevia ehdotuksia. Tämän takia järjestelmän tulee olla protokollasta riippumaton ja sen pitää tukea yhtä aikaa useita eri protokollia. Lisäksi kehitettävän ratkaisun pitää pystyä integroitumaan LPG Presence Server -tuotteeseen. Työ alkoi kahden hyväksytyn standardin ja yhden ehdotuksen asteella olevan määrityksen läpikäymisellä. Tämän jälkeen vertailtiin SIMPLE, PRIM ja HTTP-pohjaiset protokollat, joita käytetään tilauksien ja ilmoituksien välitykseen. Protokollat eroavat pääasiassa yhteysmalliltaan ja viestiformaatiltaan. Ratkaisun pohjana käytettiin olemassa olevia tapahtumanvälityksen ratkaisuja, joista kuusi tutkittiin tarkemmin. Tutkimuksessa keskityttiin erityisesti niiden arkkitehtuuriin ja skaalautuvuuteen. Mikään ratkaisu ei sellaisenaan soveltunut suoraan käytettäväksi. LPG Presence Server-tuotteen rakenne käytiin läpi, jotta sen vaatimukset arkkitehtuurille selviäisivät. Ratkaisu perustuu hajautettuun arkkitehtuuriin, jossa on kolme komponenttia. Komponenttien välinen kommunikointi on erotettu ulkoisista protokollista. Pyyntöjen ohjaaja huolehtii eri protokollien erottamisesta ja kuorman tasaamisesta ilmoituksien välittäjien kesken. Välittäjät tarjoavat asiakkaille rajapinnan suorittaa komentoja. Lisäksi ne huolehtivat ilmoituksien välittämisestä asiakkaille asti. Ilmoituksien tuottajan tehtävänä on tallentaa tilaukset, täsmätä sisääntulevat tapahtumat tilauksiin ja luoda ilmoituksia onnistuneiden täsmäyksien lopputuloksena. Arkkitehtuurin toimivuus tarkistettiin Java-kielellä toteutetun referenssitoteutuksen avulla. Skaalautuvuus testattiin kolmella simulaatiotapahtumalla. Tulokset vahvistivat valitun arkkitehtuurin olevan skaalautuva. Arkkitehtuuri täyttää kaikki sille asetetut vaatimukset.

Description

Supervisor

Vuorimaa, Petri

Thesis advisor

Noronen, Pauli

Other note

Citation