Erään CouchDB:n kanssa toimivan WebSocket-API:n suorituskyvyn parantaminen heikoissa Internet-olosuhteissa - CORE CORE Services Services overviewExplore all CORE services Access to raw data API Dataset FastSync Content discovery Recommender Discovery Managing content Repository dashboard Packages Repository edition About About us Our mission Team Blog FAQs Contact us Erään CouchDB:n kanssa toimivan WebSocket-API:n suorituskyvyn parantaminen heikoissa Internet-olosuhteissa Authors Severi Salminen Publication date December 16, 2019 Publisher Abstract FIBA and Futurice have developed a web application Scores for recording 3x3 basketball game events and synchronizing the recorded data with a CouchDB database. The backend server provides various APIs, which allow embedding game info into live video streams in real-time. Some basketball venues, however, have a low-quality Internet connection, which causes delays or missing emission for API users. This mostly affect the live video streaming: the game information such as scores and game clock embedded in the video stream is lagging behind the actual game state. In the worst cases, a lag of over ten seconds has been observed. To mitigate the problems, an Electron application Venue Server has been developed. It works as a local PouchDB database server for Scores and also exposes an API providing the live game states. With Venue Server the data can be transmitted from Scores to the API user within the local area network. This way the Internet problems shouldn't affect the quality of API usage. This research describes the architecture of Scores system and assesses the quality of data transmission via the API with and without Venue Server. A method called network emulation is used in the experiments to simulate different network conditions. In the tests, game actions are created and API output analyzed in terms of end-to-end delay and missing data emissions. In the tests, network delay, throughput and packet loss rate are varied in addition to game action creation interval. The results show that Venue Server improves the quality of the APIusage. In all 80 cases, the first null hypothesis was rejected: tests with Venue Server showed a significantly lower end-to-end delays than tests without Venue Server. In 42 cases out of 80, the second null hypothesis was rejected: tests with Venue Server had less missing API emissions than tests without Venue Server. It can be concluded that in most cases Venue Server improved the situation significantly. Venue Server also improved the quality of theAPI when no network impairments were applied.FIBA ja Futurice ovat kehittäneet Scores-verkkosovelluksen 3x3-koripallon pelitapahtumien tallentamista varten. Ohjelma myös synkronoi tiedot CouchDB-tietokannan kanssa. Taustapalvelimen ohjelmistorajapintojen (API:t) avulla pelien tiedot voidaan sisällyttää reaaliajassa videokuvaan. Joillain tapahtumapaikoilla on kuitenkin heikkolaatuinen Internet-yhteys, minkä takia API:n kautta saatu data saattaa olla viivästynyttä tai puutteellista. Tämä vaikuttaa erityisesti videokuvaan: kuvaan upotettu pelitilanne voi olla jopa yli kymmenen sekuntia viivästynyttä. Yhteysongelmia varten on kehitetty Electron-sovellus Venue Server. Se toimii paikallisena PouchDB-tietokantapalvelimena Scoresille. Venue Server tarjoaa saman API:n kuin taustapalvelin pelitilanteiden lukemista varten. Venue Serverin avulla data voidaan ohjata API:n käyttäjälle Scores-sovelluksesta paikallisverkon sisällä. Näin mahdollisten Internet-ongelmien ei pitäisi vaikuttaa API:n käyttöön. Tämä tutkimus esittelee Scores-järjestelmän arkkitehtuurin ja vertailee API:n tiedonsiirron laatua Venue Serverin kanssa ja ilman Venue Serveriä. Vertailu toteutetaan kontrolloiduin kokein, joissa simuloidaan erilaisia yhteysolosuhteita verkkoemulaation avulla. Testeissä luodaan pelitapahtumia ja anaysoidaan API:n lähettämää dataa kokonaisviiveen ja puuttuvien viestien osalta. Testeissä varioidaan verkon latenssia, tiedonsiirtonopeutta ja pakettihävikkiä, sekä pelitapahtumien luontitaajuutta. Tulosten mukaan Venue Server auttaa API:en käyttöä. Kaikissa 80:ssä testissä ensimmäinen nollahypoteesi hylättiin: Venue Server pienensi kokonaisviiveiden keskiarvoa tilastollisesti merkitsevästi verrattuna testeihin, joissa Venue Serveriä ei käytetty. 42:ssä testissä 80:stä myös toinen nollahypoteesi kumottiin: Venue Server vähensi puuttuvien API-viestien osuutta verrattuna testeihin, joissa Venue Serveriä ei käytetty. Suurimmassa osassa tapauksista Venue Serverista oli huomattava hyöty. Lisäksi Venue Server paransi suosituskykyä, vaikka verkkoa ei keinotekoisesti hidastettu G2 Pro gradu, diplomityö Master's thesis Diplomityö CouchDB network emulation WebSocket Dummynet Similar works Full text Aaltodoc Publication ArchiveFull text is not available oai:aaltodoc.aalto.fi:123456789/41625 Last time updated on 12/25/2019 This paper was published in Aaltodoc Publication Archive. Having an issue? Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request. Report CORE is not-for-profit service delivered by the Open University and Jisc. Product Services Data providers Communities Terms Organisation About us Mission Team Blog Support FAQs Contact us Writing about CORE? Discover our research outputs and cite our work. COREAccessabilityCookiesPrivacy