Top Banner
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS MOBILNÍ APLIKACE PRO PREDIKCI SUBJEKTIVNÍ KVALITY ZÁŽITKU S DATOVOU SLUŽBOU DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE Bc. RASTISLAV ČERVENÁK AUTHOR BRNO 2015
59

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Sep 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚBRNO UNIVERSITY OF TECHNOLOGY

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍÚSTAV TELEKOMUNIKACÍ

FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATIONDEPARTMENT OF TELECOMMUNICATIONS

MOBILNÍ APLIKACE PRO PREDIKCI SUBJEKTIVNÍ KVALITY ZÁŽITKUS DATOVOU SLUŽBOU

DIPLOMOVÁ PRÁCEMASTER'S THESIS

AUTOR PRÁCE Bc. RASTISLAV ČERVENÁKAUTHOR

BRNO 2015

Page 2: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚBRNO UNIVERSITY OF TECHNOLOGY

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCHTECHNOLOGIÍÚSTAV TELEKOMUNIKACÍ

FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATIONDEPARTMENT OF TELECOMMUNICATIONS

MOBILNÍ APLIKACE PRO PREDIKCI SUBJEKTIVNÍKVALITY ZÁŽITKU S DATOVOU SLUŽBOU

MOBILE APPLICATION FOR SUBJECTIVE QUALITY OF EXPERIENCE PREDICTION OF DATASERVICE

DIPLOMOVÁ PRÁCEMASTER'S THESIS

AUTOR PRÁCE Bc. RASTISLAV ČERVENÁKAUTHOR

VEDOUCÍ PRÁCE Ing. JIŘÍ HOŠEK, Ph.D.SUPERVISOR

BRNO 2015

Page 3: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

VYSOKÉ UČENÍTECHNICKÉ V BRNĚ

Fakulta elektrotechniky a komunikačních technologií

Ústav telekomunikací

Diplomová prácemagisterský navazující studijní obor

Telekomunikační a informační technika

Student: Bc. Rastislav Červenák ID: 125395Ročník: 2 Akademický rok: 2014/2015

NÁZEV TÉMATU:

Mobilní aplikace pro predikci subjektivní kvality zážitku s datovou službou

POKYNY PRO VYPRACOVÁNÍ:

Diplomová práce se zabývá návrhem mobilní aplikace pro hodnocením kvality zážitku (Quality ofExperience - QoE) v reálné mobilní síti. V teoretické části se bude nutné seznámit se způsobyhodnocení QoE a dále také specifiky QoE v prostředí mobilních sítí. Praktická část bude věnovánanávrhu aplikace pro měření QoE v mobilní sítí. Jako vstupní parametry budou použity aktuální síťovápropustnost a počáteční zpoždění daného spojení (odezva serveru). Jako výstup pak bude zobrazenahodnota MOS (Mean Opinion Score) vypočítaná na základě analytického modelu implementovaného dovytvořené aplikace. Součástí práce bude také návrh grafického prostředí dané aplikace a implementacefunkce pro měření aktuální propustnosti a zpoždění. Následně pak bude implementován algoritmus provýpočet MOS a ukládání získaných hodnot do databáze. Celková funkčnost celého systému budeověřena sadou měření v reálném prostředí.

DOPORUČENÁ LITERATURA:

[1] ITU-T Recommendation G.1030, “Estimating End-To-End Performance in IP Networks for DataApplications,” Geneva, Switzerland, Tech. Rep., 2005.[2] FREEMAN, E.: Head First HTML5 Programming: Building Web Apps with JavaScript. Sebastopol:O’Reilly Media, 2011, ISBN: 978-1449390549.[3] NATILI, G.: PhoneGap 3, Beginner’s Guide, 2nd Edition. Birmingham: Packt Publishing, 2013, ISBN:978-1782160984.

Termín zadání: 9.2.2015 Termín odevzdání: 26.5.2015

Vedoucí práce: Ing. Jiří Hošek, Ph.D.Konzultanti diplomové práce:

doc. Ing. Jiří Mišurec, CSc.Předseda oborové rady

Page 4: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

ABSTRAKTPráca sa zaoberá problematikou uûívate�skej spokojnosti s dátovou mobilnou sluûbou.Hlavná �ast je venovaná v˝voju mobilnej aplikácie, ktorá zabezpe�uje testovanie para-metrov siete, ktoré vyhodnocuje a pomocou online databáze zdie�a s ostatn˝mi uûíva-te�mi. Rozobrané sú moûnosti distribúcie aplikácie medzi uûivate�ov po�as jej testovaniaa následne do App Store.

K�Ú�OVÉ SLOVÁQoE, QoS, mobilná dátová sluûba, mobilná aplikácia, iOS

ABSTRACTThis work deals with user satisfaction with mobile data service. The main part is devotedto the development of a mobile application that provides testing network parameters toevaluate and use online databases shared with other users. Discussed the possibility ofdistributing applications among users over its testing and then to the App Store.

KEYWORDSQoE, QoS, mobile data network, mobile application, IOS

�ERVENÁK, Rastislav Mobilní aplikace pro predikci subjektivní kvality záûitku s datovou

sluûbou: diplomová práca. Brno: Vysoké u�ení technické v Brn�, Fakulta elektrotechnikya komunika�ních technologií, Ústav telekomunikací, 2014. 58 s. Vedúci práce bol Ing. Ji�íHoöek, Ph.D.

Page 5: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

PREHLÁSENIE

Prehlasujem, ûe som svoju diplomovoú prácu na tému „Mobilní aplikace pro predikcisubjektivní kvality záûitku s datovou sluûbou“ vypracoval samostatne pod vedením ve-dúceho diplomovej práce, vyuûitím odbornej literatúry a �alöích informa�n˝ch zdrojov,ktoré sú vöetky citované v práci a uvedené v zozname literatúry na konci práce.

Ako autor uvedenej diplomovej práce �alej prehlasujem, ûe v súvislosti s vytvorenímtejto diplomovej práce som neporuöil autorské práva tretích osôb, najmä som nezasiaholnedovolen˝m spôsobom do cudzích autorsk˝ch práv osobnostn˝ch a/nebo majetkov˝cha som si plne vedom˝ následkov poruöenia ustanovenia § 11 a nasledujúcich autorskéhozákona �. 121/2000 Sb., o právu autorském, o právoch súvisejúcich s právom autorsk˝ma o zmen� niektor˝ch zákonov (autorsk˝ zákon), vo znení neskoröích predpisov, vrátanemoûn˝ch trestnoprávnych dôsledkov vypl˝vajúcich z ustanovenia �asti druhé, hlavy VI.diel 4 Trestného zákoníka �. 40/2009 Sb.

Brno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .(podpis autora)

Page 6: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

PO�AKOVANIE

Rád by som po�akoval vedúcemu semestrálnej práce pánu Ing. Ji�í Hoöek, Ph.D. zaodborné vedenie, konzultácie, trpezlivos� a podnetné návrhy k práci a k vyvíjanej aplikácií.

Brno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .(podpis autora)

Page 7: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

PO�AKOVANIE

V˝zkum popsan˝ v tejto diplomovej práci bol realizovan˝ v laboratóriách podporen˝chprojektom SIX; registra�né �íslo CZ.1.05/2.1.00/03.0072, opera�n˝ program V˝zkum av˝voj pro inovace.

Brno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .(podpis autora)

Faculty of Electrical Engineering

and Communication

Brno University of Technology

Purkynova 118, CZ-61200 Brno

Czech Republic

http://www.six.feec.vutbr.cz

Page 8: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

OBSAH

1 Úvod 11

2 Quality of Experience 132.1 Tvorba empirického modelu v˝po�tu QoE . . . . . . . . . . . . . . . 142.2 Meranie Quality of Experience . . . . . . . . . . . . . . . . . . . . . . 15

2.2.1 Subjektívne zloûky QoE . . . . . . . . . . . . . . . . . . . . . 162.2.2 Objektívne zloûky QoE . . . . . . . . . . . . . . . . . . . . . . 162.2.3 Vplyv uûivate�ského terminálu na QoE . . . . . . . . . . . . . 162.2.4 Vplyv sie�ového v˝konu na QoE . . . . . . . . . . . . . . . . . 16

3 Vytvorenie modelu pre v˝po�et MOS 18

4 Tvorba mobilnej aplikácie 194.1 V˝voj mobilnej aplikácie pre iOS . . . . . . . . . . . . . . . . . . . . 194.2 Implementácia algoritmov merania parametrov a získavanie dát o uûí-

vate�ovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2.1 V˝po�et odozvy serveru na HTTP poûiadavok . . . . . . . . . 214.2.2 V˝po�et prenosovej r˝chlosti . . . . . . . . . . . . . . . . . . . 234.2.3 Zobrazenie parametrov mobilnej dátovej siete . . . . . . . . . 254.2.4 Zis�ovanie polohy uûívate�a . . . . . . . . . . . . . . . . . . . . 25

4.3 Tvorba dizajnového návrhu aplikácie . . . . . . . . . . . . . . . . . . 284.3.1 Auto Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.3.2 Size Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.3.3 Tvorba objektov a nastavenie grafického prostredia . . . . . . 294.3.4 Obrazovka Test . . . . . . . . . . . . . . . . . . . . . . . . . . 314.3.5 Obrazovka My History . . . . . . . . . . . . . . . . . . . . . . 314.3.6 Obrazovka Map . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.4 Práca s dátami z meraní . . . . . . . . . . . . . . . . . . . . . . . . . 364.4.1 Online databáza . . . . . . . . . . . . . . . . . . . . . . . . . . 394.4.2 Core Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.5 Distribúcia aplikácie . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.5.1 Formy distribúcie iOS aplikácie medzi beta testerov . . . . . . 434.5.2 Distribúcia aplikácie do App Store . . . . . . . . . . . . . . . 444.5.3 Monitorovanie distribuovanej aplikácie . . . . . . . . . . . . . 44

5 Vyhodnotenie uûívate�mi nameran˝ch hodnôt 47

6 Záv�r 55

Page 9: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Literatúra 56

7 Obsah p�iloûeného archívu 58

Page 10: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

ZOZNAM OBRÁZKOV2.1 Hodnotenie QoE na rôzn˝ch úrov�iach . . . . . . . . . . . . . . . . . 154.1 Graf prenosovej r˝chlosti nameran˝ aplikáciou - porovnanie priemer-

nej hodnoty a mediánu . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 V˝vojov˝ diagram za�iatku merania . . . . . . . . . . . . . . . . . . . 224.3 Meranie odozvy serveru na HTTP GET poûiadavok . . . . . . . . . . 244.4 V˝vojov˝ diagram s�ahovania a ukladania prenosovej r˝chlosti . . . . 264.5 Porovnanie merania prenosovej r˝chlosti s �alöími aplikáciami . . . . 274.6 Funkcia contraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.7 Nastavovanie chovanie obrazovky pomocou Size Classes . . . . . . . . 304.8 Nastavenie chovania grafického objektu v PaintCode . . . . . . . . . . 314.9 Návrh ikon pre aplikáciu . . . . . . . . . . . . . . . . . . . . . . . . . 324.10 Priebeh obrazovky Test . . . . . . . . . . . . . . . . . . . . . . . . . . 334.11 Obrazovka My History . . . . . . . . . . . . . . . . . . . . . . . . . . 344.12 Obrazovka My History Detail . . . . . . . . . . . . . . . . . . . . . . 354.13 Nastavovanie priorít pomocou Auto Layout . . . . . . . . . . . . . . . 354.14 Obrazovka mapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.15 Obrazovka mapa error hláöka . . . . . . . . . . . . . . . . . . . . . . 384.16 Filtre pre mapu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.17 Návrh modelu pre Core Data . . . . . . . . . . . . . . . . . . . . . . 424.18 Ikony aplikácie pre vöetky zariadenia . . . . . . . . . . . . . . . . . . 454.19 Ukáûka sluûby Fabric.io . . . . . . . . . . . . . . . . . . . . . . . . . 464.20 Zaznamenáne udalosti pomocou sluûby mixpanel . . . . . . . . . . . . 465.1 Porovnanie parametru MOS pre mobilnú dátovú sie� a WiFi . . . . . 485.2 Porovnanie prenosovej r˝chlosti pre mobilnú dátovú sie� a WiFi . . . 495.3 Porovnanie oneskorenia siete pre mobilnú dátovú sie� a WiFi . . . . . 495.4 Porovnanie vplyvu jednotliv˝ch rádiov˝ch technológií na MOS . . . . 505.5 Porovnanie �esk˝ch operátorov v dosiahnut˝ch v˝sledkov z meraní od

uûívate�ov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.6 Porovanie kvality internetu v meste a v jeho okolí . . . . . . . . . . . 535.7 Porovnanie priemernej kvality mobilného internetu v rôznych krajinách 54

Page 11: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

ZOZNAM TABULIEK2.1 Porovnanie typov sluûieb a vplyvu QoS parametrov na ich kvalitu[2] . 144.1 Paramtre odosielané na server . . . . . . . . . . . . . . . . . . . . . . 405.1 Zhrnutie dát o aplikácií . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Page 12: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

1 ÚVODDiplomová práca je venovaná problematike odhadu subjektívneho záûitku pri pou-ûívaní dátovej sluûby pomocou mobilnej aplikácie. Tento záûitok priamo ovplyv�ujúfaktory, ktoré súvisia s kvalitou siete, ako je doba ktorú musí uûívate� �aka� k˝m samu webová stránka za�ne na�ítava�, alebo r˝chlos� s�ahovania dát zo serveru sluûby.Uûívate�a ale môûu ovplyvni� aj �alöie faktory, a to je napríklad prostredie v kto-rom sa nachádza, alebo kvalita zariadenia, ktoré pouûíva. Práca sa bude zaobera�meraním parametrov siete, ktoré sú závislé na kvalite mobilnej dátovej siete. Tietoparametre sa spracujú a pomocou empiricky získaného modelu sa vypo�íta kvalitainternetového pripojenia. V˝voj mobilnej aplikácie pre platformu Apple iOS, ktorávöetky dáta získa a spracuje je hlavn˝m cie�om celej práce, na ktorej v˝stupe jefunk�ná aplikácia.

V prvej �asti sa práca venuje problematike hodnotenia kvality záûitku (Qualityof Experience) ako takej a pre öpecifikácie mobilnej siete a mobiln˝ch terminálov.Zaoberá sa moûnos�ami a spôsobmi merania QoE.

Potom sa práca venuje spôsobu v˝voja mobilnej aplikácie, a to obecne a kon-krétne pre platformu Apple iOS. Rozobrané sú moûnosti prístupu návrhu aplikáciea prostriedky platforme iOS ktoré v˝vojárom ponúka. Pri v˝voji mobilnej aplikáciesa musí dba� na jej dizajn a uûívate�sk˝ predvídate�né prostredie pre konkrétnu plat-formu. Aplikácia by sa mala prispôsobova� vûdy konkrétnemu zariadeniu, teda jehorozlíöeniu a jeho v˝po�tovému v˝konu. Interpretácia dát by mala by� zrozumite�ná.Vöetko toto je rieöenie v �asti venovanej dizajnu.

Samotná aplikácia vyuûíva základne, ale aj externé kniûnice pre beh aplikácie.Rieöi komunikáciu so serverami, kontroluje aktuálny stav a podmienky aplikácie,ako je pripojenie k sieti, polohové sluûby, uûívate�ské nastavenia a ukladá nameranéinformácie do online databáze a tieû do zariadenia uûívate�a. Po�as merania sa al-goritmy na meranie r˝chlosti prispôsobujú aktuálnej r˝chlosti internetu. Popis akoto robí je v kapitole o v˝voji aplikácie.

Ke�ûe aplikácia neslúûi iba k zobrazeniu aktuálneho v˝sledku merania, ale ajzdielan˝ch t˝chto dát, vytvoril som spojenie s online databázou. Aplikácia s �oukomunikuje pre ú�ely ukladania dat a ich získavania. Tomu, ako s �ou prebiehakomunikácia a ako je nakonfigurovan˝ server je venovaná �as� o databáze. V �ej jezárove� rozobran˝ spôsob ukladania uûívate�sk˝ch dát do pamäti zariadenia.

Aby sa overila funk�nos� aplikácie spravilo sa jej beta testovanie na rôznychuûívate�och. To aké sú moûnosti distribúcie uûívate�om v˝vojárskej verzie a následnedistribúcie aplikácie do App Store je ukázané v poslednej �asti. Mimo iné zobrazujeaj moûnosti sledovania spätnej odozvy od uûívate�ov a automatické zaznamenávaniechovania uûívate�ov v aplikácií a reportovanie pádov aplikácie.

11

Page 13: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Jednotlivé algoritmy, ktoré meranie a reprezentáciu v˝sledkov vykonávajú súpopísané pomocou v˝vojov˝ch diagramov.

12

Page 14: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

2 QUALITY OF EXPERIENCEQuality of Experience (QoE), teda kvalita záûitku zo sluûby, môûeme definova� to,ako uûívate� vníma pouûite�nos� alebo stupe� spokojnosti so sluûbou. ITU-T[1] defi-nuje QoE ako celkovú prijate�nos� aplikácie alebo sluûby tak, ako je subjektívne vní-maná koncov˝m uûívate�om. Sú v �om zahrnuté ú�inky celého systému od za�iatkuaû do konca (klient, terminál, sie�, sluûby infraötruktúry, at�.). Celková prijate�nos�môûe by� ovplyvnená uûívate�sk˝mi o�akávaniami a kontextom. Iná definícia hovorío stupni radosti alebo nespokojnosti uûívate�a aplikácie alebo sluûby. Vypl˝va toz plnenia jeho o�akávaní so sluûbou vplyvnom pouûit˝ch nástrojov s oh�adom naosobnos� uûívate�a a jeho aktuálnom stave.

Kvalitu sluûby je moûné ur�ova� aj pomocou Quality of Service (QoS). Tá vyjad-ruje schopnos� siete poskytova� sluûby so zaistením servisnej úrovne. QoS je meranáz h�adiska priepustnosti, straty paketov a oneskorenia. Je to charakteristika sieteso zameraním na kvalitu sluûieb, zatia� �o QoE je charakteristika kvality sluûieb sozameraním na subjektívny dojem uûívate�a.

QoE teda závisí na �udsk˝ch aj technick˝ch faktoroch. Uûívate� má iné o�aká-vania pre rôzne druhy sluûieb. To ako ho budú jednotlivé faktory ovplyv�ova� jehospokojnos� závisí mnohokrát aj na jeho znalostiach a skúsenos�ami so sluûbou. Pretoniektoré faktory nemusia ma� na jeho spokojnos� vôbec vplyv a naopak niektoré jumôûu ovplyv�ova� viac ako in˝ch. Tieto faktory sa dajú rozdeli� na:

• Aplika�né faktory: napríklad VoIP, video streaming, prístup na web, ale tieûcharakteristiky protokolov UDP, TCP, HTTP, ktoré ovplyv�ujú ako sluûbafunguje a �o od nej môûeme o�akáva�. Napríklad pri spojení TCP o�akávamebezchybn˝ prenos, pri HTTP korektné zobrazenie informácie a s�ahovanie sú-borov z jedného zdroja. Pri s�ahovaní súborov cez BitTorrent protokol sa súbormôûe s�ahova� sekven�ne, a tak v˝sledn˝ súbor môûe by� dostupn˝ aû po stia-hnutí vöetk˝ch dát.Pre kaûd˝ druh sluûieb sú iné o�akávania od sluûby. V tab 2.1 sú uvedené prí-klady sluûieb, ktor˝ch v˝slednu kvalitu hodnotí uûívate� pod�a faktorov, ktoréovplyv�uje napríklad aj oneskorenie alebo stratovos�. To sú parametere QoS,�o ukazuje priamu súvislos� medzi QoE a QoS. Vypl˝va z nej, ûe pri hlasov˝chsprávach akceptujeme chyby pri prenose, ale vyûadujeme malé oneskorenie.Naproti tomu sluûby na pozadí, ako je kontrola mailov môûe ma� ve�ké one-skorenie, ale priate dáta musia by� bez ch˝b. Ak to tak nie je, uûívate� môûeso sluûbou nespokojn .̋

• Obsah: napríklad video alebo video konferencia a ich kvalita.• Zariadenie uûívate�a a jeho vlastnosti: rozlíöenie obrazovky, prostredie, v˝-

drû batérie a v˝konnos�.

13

Page 15: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

• Sie�ové podmienky: stratovos� paketov, oneskorenie, prenosová r˝chlos�• Charakteristika sluûieb: spo�ahlivos�, dostupnos�, pokrytie, cena a pod.• Kontext: ktor˝ môûe zahrnova� typ prístupu (bezdrôtov˝/káblov˝), pohybli-

vos� (mobiln˝/stacionárny), lokalizácia a pod.

Tab. 2.1: Porovnanie typov sluûieb a vplyvu QoS parametrov na ich kvalitu[2]

Chybe toleratné Konverzia zvuku a video

Hlasové/Video správy

Streaming audio a video Fax

Chybe netoleratnéOvládanie príkazmi (Telnet, interaktívne

hry)

Transakcie (elektronické bankovníctvo,

webové prehladávanie, prístup k mailu)

Textová komunikácia v reálnom čase,

sťahovanie súborov (FTP, iMessage)

Služby na pozadí (kontrola aktualizácií)

Interaktívne (oneskorenie << 1 s)

Reagujúce (oneskorenie ~ 2 s)

Aktuálne (oneskorenie ~ 10 s)

Nie kritické oneskorenie >> 10 s

2.1 Tvorba empirického modelu v˝po�tu QoENa to, aby sme vedeli ur�i� o�akávanú spokojnos� uûívate�a na základe merate�-n˝ch parametrov je potrebné vytvori� model pomocou ktorého sa dá predpoklada�v˝sledok. Samotné QoE pri �iste technickom meraní nemusí by� presné, preto jelepöou moûnos�ou vytvori� empirick˝ model a najlepöie s �o najvä�öím mnoûstvomobjektov. Tento postup je ale obmedzen˝ z organiza�n˝ch a finan�n˝ch dôvodov.

Pri vytváraní modelu môûeme vyuûi� zmerané subjektívne skúsenosti a na zá-klade nich rozvíja� predik�n˝ model QoE. Tieto modely sú potom �alej pouûívanéako sú�as� vnímania kvality na základe podkladov˝ch podmienok systému. Viemepotom napríklad odhadnú� ak˝ bude ma� vplyv BER (Bit Error Rate - pomer po�tuchybne prijat˝ch bitov k celkovému po�tu prijat˝ch bitov) na to, ako bude uûívate�vníma� sluûbu. Vûdy ide ale o individuálne vnímanie, preto tieto modely nemôûuby� nikdy úplne presné[4].

Model sa vytvára pomocou obecn˝ch faktorov, ktoré QoE ovplyv�ujú. Sú tokontext, samotn˝ uûívate�, systém a obsah.

Kontext

Kontext je prezentovan˝ aktuálnym reálnym scenárom v ktorom sú sluûby pouûí-vané. Toto prostredie má samo o sebe zna�n˝ vplyv, a to priamy alebo nepriamy,na QoE pretoûe ur�uje zobrazovaciu vzdialenos�, sociálne a kultúrne pozadie a iné.

14

Page 16: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Uûívate�

QoE popisuje ako uûívate� vníma aplikáciu alebo sluûbu relatívne k jeho o�akáva-niam. Je v˝znamne ovplyvnení jeho vnútorn˝mi stavmi a predispozíciami. Je topráve jeho o�akávanie, ktoré v˝razne definuje v˝sledn˝ dojem z kvality sluûby.

Systém

Vlastnosti technickej implementácie priamo ovplyv�uje QoE. Pre poskytovate�a sluûbytieto vlastnosti odráûa ukazovate� v˝konnosti sie�ov˝ch parametrov - Network KeyPerformace Indicators (KPI).

Kvalitu prijímaného obsahu charakterizuje uûívate�ské zariadenie (napríklad roz-líöenie displeja, jeho ve�kos� a kvalita) a moûnosti pripojenia do siete.

Obsah

Obsah a jeho spracovanie je v˝razn˝ faktor ovplyv�ujúci celkov˝ QoE. Obsah samôûe automaticky prispôsobova� aktuálnym podmienkam. Napríklad u videa samôûe dynamicky meni� jeho kvalita v závislosti na kvalite pripojenia a t˝m pred-chádza� �akaniu na na�ítanie �asti videa do pamäti.

Na obrázku �. 2.1 sú zobrazené parametre na úrovni siete, zariadenia a uûívate�a,ktoré ovplyv�ujú v˝sledn˝ QoE.

Sieťový výkon QoEBitová chybovosť

Oneskorenie Šírka pásma

Výkon zariadenia QoEVeľkosť displeja Reakčná doba

Spracovanie dát Rýchlosť kódoavania a

dekodóvania

Uživateľský zážitok QoE

Prostredie Uživateľské faktory

Sociálne Mobilné /

Stacionárne …

Očakávanie Skúsenosť Požiadavky

Obr. 2.1: Hodnotenie QoE na rôzn˝ch úrov�iach

2.2 Meranie Quality of ExperienceQoE môûe by� odhadnuté subjektívnym alebo objektívnym prístupom. Subjektívnyodhad QoE vyûaduje zapojenie uûívate�ov a kvantifikuje QoE v podmienkach Mean

15

Page 17: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Opionion Score (MOS), kde je kvalita hodnotenia pomocou 5-bodovej stupnice: 5= vynikajúci, 4 = v˝born ,̋ 3 = dobr ,̋ 2 = slab ,̋ 1 = zl .̋ Na druhej strane objek-tívne meranie odhaduje QoE pomocou empirického modelu bez nutnosti zapojeniauûívate�ov. Empirick˝ model závisí na aplikácií, kontextu a pod. a je funkciou QoSna úrovní siete, ktorá sa zvy�ajne získava na základe merania.[6]

Skúsenosti uûívate�ov sú do zna�nej miery ovplyvnené parametrami ich terminá-lov. Preto sa pri anal˝ze QoE môûu zbiera� aj informácie o t˝chto termináloch.

2.2.1 Subjektívne zloûky QoEZara�ujeme sem zloûky, ktoré sa nedajú presne odmera� a v˝sledok zavisí od kaû-dého jednotlivca, aktuálnej situácie a subjektívnej skúsenosti. V˝sledkom toho je,ûe pri sluûbe s identick˝mi parametrami budu dvaja rôzni uûívatelia vníma� kva-litu tejto sluûby rôzne, prípadne ju môûe vníma� jeden uûívate� inak pri rôznychsituáciach. Práve preto je dobré pri meraní QoE získa� hodnoty od �o najvä�öiehovzorku uûívate�ov. [3]

2.2.2 Objektívne zloûky QoEObjektívne zloûky QoE reflektujú kvalitu sluûby vnímanú uûívate�om, ktor˝ ju vöakmôûe hodnoti� cez objektívne metódy ako sú MDI (Media Delivery Index = posky-tuje presné meranie kolísania a oneskorenia na úrovni siete), SSIM (Structural Simi-larity Index = vyjadruje podobnos� dvoch obrazov, metóda porovnávania), PEVQ(Perceptual Evaluation of Video Quality = percep�né hodnotenie kvality videa),r˝chlos� na�ítania webovej stránky a �alöie. 2.1

2.2.3 Vplyv uûivate�ského terminálu na QoEOdliön˝ v˝kon uûivate�ského termínalú, napríklad mobilného telefónu, môûe ma�vplyv na to, ak˝ bude uûivate�sk˝ záûitok z hodnotenia sluûby uûivate�om.

Ovplyv�ujúce faktory sú moûnosti zariadenia k pripojení do siete (2G, 3G, LTE),r˝chlos� spracovania priat˝ch/odoslan˝ch dát, a tieû jeho v˝kon. Ten závisí na pou-ûitom hardwaru, ako je procesor, grafick˝ adaptér, uûivate�sk˝ hardwarov˝ interface,ale aj na softwarom spracovaní.

2.2.4 Vplyv sie�ového v˝konu na QoEV˝kon a vy�aûenos� siete má priamy vplyv na to, ako uûívate� vníma sluûbu. Primeraní QoE sa merajú QoS sie�ovej sluûby a na jej základe sa dá predpoklada�v˝sledok a vytvára� model predikcie QoE.

16

Page 18: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Naj�astejöie sa uvaûuje öírka pásma, oneskorenie a bitová chybovos�. Vûdy záleûína konkrétnej sluûbe ktorú uûívate� chce vyuûíva�, ktor˝ z t˝chto parametrov budepre neho najdôleûitejöí. Pri telefonovaní cez internet (VoIP) je dôleûitejöie oneskore-nie ako prenosová öírka pásma, naopak pri sluûbe video na vyûiadanie je potrebnádostato�ná r˝chlos� prenosu dat a mierne oneskorenie má na záûitok zo sluûby uuûívate�a menöí vplyv.

17

Page 19: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

3 VYTVORENIE MODELU PRE V›PO�ET MOSPri vytváraní modelu pre v˝po�et parametru MOS je nutné bra� vplyv subjektív-neho vnímania jednotlivcov, ktoré je ovplyvnené mnoh˝mi faktormi. Metódy pretestovanie subjektívnej kvality popisuje dokument ITU-T Rec. P.800.[7] Jedna zmetód je metóda ACR (Absoulte Category Rating), kde sa prezentuje testovanávzorka kaûdému jednotlivcovi. Tí potom pod�a stupnice kvality hodnotia ich dojemz kaûdého vzorku. Tieto vzorky môûu by� hodnotené z rôznych h�adisiek. Stupnicahodnotenia kvality je zvy�ajne zvolená od 1 do 5.

V práci Predicting user QoE satisfaction in current mobile networks [8] je popistvorby empiricky získaného vzorca, ktor˝ predikuje uûívate�sk˝ záûitok z dátovejsiete na základe prenosovej r˝chlosti a oneskorenia siete. Tento v˝skum bol roben˝ navzorke �udí rôzne diverzifikovan˝ch pod�a pohlavia, veku, vzdelania a dosiahnutéhovzdelania. Parametre QoS, ktoré ur�ovali kvalitu siete boli prenosová r˝chlos� a dobana�ítavania.

Testované objekty boli vûdy pri zmene parametrov siete poûiadané o hodnotenieich dojmu zo sluûby pomocou stupnice MOS, teda od 1 pre zl˝ a 5 pre vynikajúcidojem. Testovan˝ obsah odráûal skuto�né webové sluûby a s�ahovanie súborov. Pritestovaní sa menili scenáre kombináciou rôznych dátov˝ch tokov a po�iato�néhooneskorenia siete.

Dáta z t˝chto meraní boli následne spracované a bol vytvoren˝ model pomocouregresnej anal˝zy. To je metóda matematickej ötatistiky, ktorá odhaduje pravdepo-dobnos� nejakého javu na základe ur�it˝ch známych skuto�ností. Klasick˝ lineárnymodel nebol vhodn ,̋ pretoûe v tomto prípade neplatí lineárny vz�ah medzi para-metrami siete a v˝sledn˝m hodnotení uûívate�ov. Pouûitá teda bola logaritmickáregresia. Model charakterizuje odhadované hodnotenie MOS pod�a vstupn˝ch para-metrov, a to prenosovej r˝chlosti siete a doby na�ítania stránky. Vzorec je v prácivyuûit˝ pre v˝po�et odhadovaného uûívate�ského záûitku mobilnou aplikáciou a jenasledovn˝:

MOS = (b ≠ a)1 + e≠c0+c1úDúc2úlog(BR) + a

c0 = ≠0.6014, c1 = ≠0.0963, c2 = ≠0.2748D [sekunda] - Oneskorenie sieteBR [kbit/s] - R˝chlos� s�ahovania z internetu

18

Page 20: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

4 TVORBA MOBILNEJ APLIKÁCIEVyvíjaná aplikácia bude slúûi� na meranie parametrov siete ako je doba odpovedi zoserveru na HTTP poûiadavok a maximálna prenosová r˝chlos� s�ahovania súboru zinternetu, ktorej v˝sledkom je hodnota QoE vyjadrujúca kvalitu záûitku z dátovejsluûby. Aplikácia bude ur�ená pre mobilné zariadenia na platforme Apple iOS. Jéjv˝stupom po skon�ení merania budú hodnoty nameran˝ch hodnôt ktoré sa zobraziauûívate�ovi s moûnos�ou porovna� ich s hodnotami in˝ch uûívate�ov na mape.

4.1 V˝voj mobilnej aplikácie pre iOSPre uûívate�a by mala by� aplikácia �o najjednoduchöia preh�adná. Je dobré aby vy-uûívala princípy uûívate�ského prostredia, na ktoré sú uûívatelia pre danú platformuzvyknut .̋ Mali by by� vûdy informovan˝ o tom, �o aplikácia práva vykonáva. V nie-ktor˝ch prípadoch je dobré spúö�a� procesy vo viacer˝ch vláknach. T˝m sa zamedzítzv. zamrznutiu aplikácie, kedy ostatné procesy musia �aka� na dokon�enie inéhoprocesu. Typick˝m príkladom môûe by� komunikácia zo serverom a �akania na jehoodpove� na dotaz.

Pri v˝voji iOS aplikácie sa musí po�íta� s obmedzeniami, ktoré táto platformadáva. Kaûdá aplikácia pracuje vo vlastnom prostredí v pamäti a aû na v˝nimky nemápovolené pristupova� k dátam ostatn˝ch aplikácií. Pri prístupe k hardwardov˝mfunkciám sa môûu pouûíva� iba verejné triedy a frameworky. Jazykmi tejto platformyje objektovo orientovan˝ programovací jazyk Objetive-C 2.0 a/alebo Swift. Pre iOSvznikla nadstavba Cocoa a Cocoa Touch framework. Je to User Interface frameworkpre v˝voj software na opera�n˝ systém iOS.

Foundation framework definuje základnú vrstvu Objective-C triedy. Umoû�ujepracova� s objektami pre ukladanie dát, ako sú polia (NSArray), slovníky (NSDic-tionary), textové re�azce (NSString), �asové formáty (NSDate) a podobne. Pouûívasa aj pri prístupe k hardwardov˝m funkciám zariadení pomocou ich API.

Natívne aplikácie pre iOS sa vyvíjajú vo v˝vojom prostredí Xcode. Obsahujenástroje pre tvorbu a editáciu kódu, debagovanie, tvorbu dizajnu aplikácie, ladenie,simula�né nástroje pre testovanie aplikácií a distribúciu aplikácie do App Store.

4.2 Implementácia algoritmov merania paramet-rov a získavanie dát o uûívate�ovi

Pri implementácií jednotliv˝ch algoritmov pre meranie prenosovej r˝chlosti inter-netu a jeho oneskorenia som vytvoril objekty, ktoré zabezpe�ujú po ich zavolaní

19

Page 21: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

vykonanie testu, informovanie objektu, ktor˝ si test vyûiadal, o aktuálnom stavemerania a spracovanie nameran˝ch hodnôt do poûadovaného formátu. Niektoré ob-jekty vyuûívajú otvorené kniûnice pre prístup k informáciám ako je meno operátoravlastniaci SIM kartu uûívate�a. Po�as v˝voja som vyuûíval aj kniûnicu na zis�ovaniev˝konu signálu k pripojenej BTS stanici. Táto kniûnica ale nie je verejná a pri pokuseo nahratie aplikácie do App Storu uû na beta testovanie bola aplikácia automatickyzamietnutá. Preto som túto funkciu z aplikácie odstránil úplne.

Meranie sie�ovej priepustnosti

Pre implementáciu funkcie pre meranie sie�ovej priepustnosti som vyuûil triedy, ktoréponúka priamo Foundation Framework.

Aplikácia si pri spustení merania overuje �i je pripojenie k internetu aktívne.Zis�uje sa to pomocou natívnych metód iOS. Na oöetrenie odozvy od serveru, ktor˝môûe by� nedostupn ,̋ je dan˝ limit �akania odpovede na 60 sekúnd. Ak odozva zoserveru nepríde uûívate� je o tejto skuto�nosti informovan˝ pomocou objektu Aler-tView, teda vsakovacie okno, a meranie je ukon�ené. Kontrola dostupnosti pripojeniaprebieha po�as celej doby merania. T˝m je zárove� oöetren˝ prípad, ak by z neja-kého dôvodu doölo k odpojeniu od internetu. Ak je pripojenie dostupné spustí sapo uûívate�skom poûiadavku na vykonanie testu meranie d�ûky doby odpovedi zoserveru na na�ítanie internetovej stránky a po jeho skon�ení tohoto testu sa spustítest r˝chlosti s�ahovania súboru.

Pri práci so sie�ov˝mi udalos�ami vyuûívam delegované metódy NSURLCon-nectionDataDelegate a NSURLConnectionDelegate, ktoré sú volané pri preddefino-van˝ch udalostiach, napríklad: Priatie odpovedi zo servera (didReceiveResponse),priate dáta (didReceiveData) alebo problém pri spojení so serverom (didFailWit-hError).

V˝sledné hodnoty oneskorenia siete a r˝chlosti s�ahovania dát sú prezentovanéako medián vöetk˝ch hodnôt zaznamenan˝ch po�as merania pre jednotlivé testy. Me-dián som zvolil ako lepöie vyjadrenie v˝slednej hodnoty pred priemerom. ätatistickyvyjadruje mieru centrálnej tendencie, a preto je pri praktickom meraní z obmedze-nou d�ûkou merania presnejöí. Ako príklad uvediem jedno reálne meranie spravenéaplikáciou zobrazené na obrázku �. 4.1. Medián tejto hodnôt ktoré sú zobrazené nagrafe je 49,41, priemerná hodnota je potom 39,44. Niûöia priemerná hodnota je spô-sobená v tomto prípade hlavne niûöími hodnotami v prvej �asti grafu. Táto hodnotaale nezodpovedá reálnej prenosovej r˝chlosti, ktorú uûívate� môûe vyuûíva�.

Algoritmus merania je zobrazen˝ na obrázku �. 4.2

20

Page 22: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Prenosová rýchlosťpr

enos

ová

rých

losť

[MBi

t/s]

0

15

30

45

60

čas [sekundy]0 2,5 5 7,5 10

Priemer

Medián

�1

Obr. 4.1: Graf prenosovej r˝chlosti nameran˝ aplikáciou - porovnanie priemernejhodnoty a mediánu

.

4.2.1 V˝po�et odozvy serveru na HTTP poûiadavokPomocou vytvoreného objektu z rodi�a NSURLConnection sa vytvorí spojenie soserverom. V tom istom momente je spustení �asova� vo funkcií stopiek, ktor˝ skon�í,po zavolaní delegovanej metódy NSURLConnection didReciveResponse. Tá je za-volaná, ak je po poûiadavku na vytvorenie spojenia vrátená odpove� zo servera.Aplikácia skontroluje, �i je odpove� kladná, teda HTTP so status kódom 200. Preuûívate�a táto hodnota znamená, ûe po tejto dobe by sa mu za�ala na�ítava� interne-tová stránka v jeho prehliada�i. V prípade, ûe je odpove� kladná, uloûí sa nameran˝�as, ukon�í sa vytvorené spojenie a pod�a potreby sa opakuje meranie znova. To,�i sa má opakova� závisí od zadaného po�tu testovania tohoto parametru. Zvolilsom hodnotu 5, ako dostato�n˝ po�et na zistenie v˝slednej hodnoty v kompromises t˝m, aby meranie nebolo príliö dlhé na pomalom pripojení. Jedno meranie totiûmôûe trva� aj nieko�ko sekúnd. V druhom prípade, ak príde negatívna odpove� zoservera, ukon�uje sa celé meranie a uûívate� je o tom informovan .̋

Na konci celého cyklu meraní oneskorenia sa vöetky uloûené hodnoty prevedú namedián a táto hodnota sa odoöle objektu, ktor˝ si meranie vyûiadal. Ten sa postaráo to, aby sa zobrazila v˝sledná hodnota uûívate�ovi a po ukon�ení celého meraniaodoslal hodnoty na �alöie spracovanie. Objekt odosiela kaûdú nameranú hodnotuaj po ukon�ení cyklu merania, aby bol uûívate� informovan˝ o hodnotách uû po�as

21

Page 23: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Start

• Skryť výsledky z predchádzajúceho merania

• Zablokovať možnosť spustiť test Nastav:ulrRequest = 1GB súbor

TimeOut interval = 60 sekúndInicializuj:

objekt: downloadedMutableDatapole: speeds

Inicializuj spojenie

Priata odpoved zo servraTimeOut interval > 60 sekúnd

Nie

Zobraz upozornenie:Problém so spojením

Sťahovanie dát a meranie rýchlosti

NieÁno

Obnov východzí stav aplikácie

Koniec

Spustenie merania

Áno

Spusti meranie odozvy servru

pingMeasuringComplete

pingMeasruing

Zobraz výsledok priemernej odozvy servru

Spustenie merania

Obr. 4.2: V˝vojov˝ diagram za�iatku merania

.

22

Page 24: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

merania. Spolu s hodnotou sa odosiela aj poradová hodnota prebiehajúceho cyklu,a tá je vyjadrovaná pomocou indikátoru priebehu na obrazovke Test.

Server s ktor˝m aplikácia naväzuje spojenie je www.bbc.com, ktorého internetovástránka obsahuje obsah prezentujúci ötandardnú internetovú stránku. Je pri nejzárove� predpoklad vysokej dostupnosti a distribuovanej infraötruktúry pre cel˝svet, a teda v˝sledné hodnoty by nemali by� ovplyvnené v˝razn˝mi vzdialenos�amiod servera pre rôzne miesta na svete.

Algoritmus merania je zobrazen˝ na obr. �. 4.3

4.2.2 V˝po�et prenosovej r˝chlostiMeranie prenosovej r˝chlosti za�ína podobne ako meranie doby oneskorenia. Vytvorísa pomocou dedi�a objektu NSURLConnection spojenie s dopredu známou webovouadresou na serverhttp://speedtest.tweak.nl/1000mb.bin. Ve�kos� s�ahovaného súboru som zvolil 1GBa dobu s�ahovania súboru zo serveru, po�as ktorého sa meria prenosová r˝chlos�internetu, 10 sekúnd. Aby táto doba bola dostato�ná na stiahnutie celého súboru,musela by by� r˝chlos� s�ahovania takmer 1Gbit/s. Preto sú algoritmy navrhnu-tej aplikácie vytvorené tak, ûe berú túto ve�kos� súboru ako nekone�nú. a �aká sana odpove� zo servera, ktorá je zaznamenaná delegovanou metódou didReceiveRes-ponce. V tejto chvíli je spustení �asova�, ktor˝ je nastaven˝ na 10 sekúnd. Táto dobabola opä� zvolaná ako kompromis pre d�ûku merania a jeho presnos�. Slúûi aj akoobmedzenie mnoûstva dát, ktoré uûívate� stiahne po�as merania.

Prenosová r˝chlos� sa vzorkuje po�as celej doby merania. Po�íta sa ako mnoûstvoprijat˝ch dát od posledného vzorku n-1 po aktuálny n za dobu frekvencie vzorko-vania. Tá je nastavená na 0,5 sekúnd. T˝mto spôsobom je moûné získa� presnejöiuhodnotu r˝chlosti ako pri v˝po�te r˝chlosti za celú dobu s�ahovania. V˝sledná hod-nota prenosovej r˝chlosti sa ur�í pomocou mediánu vöetk˝ch nameran˝ch hodnôt.

Pri pomalom pripojení môûe vznika� problém dlhöej doby �akania na �alöie dátaako je frekvencia vzorkovania, a t˝m vznikajúcich nulov˝ch hodnôt meranej veli�iny.Ak je tak˝chto hodnôt viac ako polovica vöetk˝ch vzorkov, medián je 0. Tieto vzorkynemôûu by� odstránené, pretoûe by sa zv˝öila hodnota r˝chlosti s�ahovania, ke�ûehodnoty jednotliv˝ch vzorkov sú povaûované za prenosovú r˝chlos� za dobu 0,5sekúnd. Na odstránenie, respektívne doplnenie t˝chto nulov˝ch vzorkov vyuûívaminterpoláciu posledného nenulového vzorku n-1 a nasledujúceho n+1. Tento postupje moûn˝ aû po ukon�en˝ merania, ke� uû sú k dispozícií vöetky hodnoty. Abysa ale uûívate�ovi zobrazovali aspo� pribliûné hodnoty aj po�as merania vyuûívamextrapoláciu dvoch posledn˝ch vzorkov n-2 a n-1. Interpolácia aj extrapolácia jevyuûívaná iba ak sa v meraní vyskytne nulová hodnota prenosovej r˝chlosti.

23

Page 25: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Start

Počet meraní <= 5

Odošli HTTP GET požiadavok na server www.bbc.com

Zaznamenaj aktuálny čas

Po priati stavového kódu HTTP 200 zo servru vypočítaj uplynutú dobu od odoslania

požiadavku

Ulož hodnotu do pole arrayOfDelays

• Počet meraní + 1• Aktualizuj statusBar

Vypočítaj medián hodnoty z arrayOfDelays

Spusti delegovanú metódu pingMeasuringComplete z

objektu z ktorého bol požiadavok zadaný

Počet meraní = 0

Koniec

Nahraj hodnotu do zdielanej premenej Delay

Meranie odozvy servru na HTTP GET požiadavok

Platí

Neplatí

Ukonči aktuálne pripojenie

Obr. 4.3: Meranie odozvy serveru na HTTP GET poûiadavok

.

24

Page 26: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

R˝chlos� sa po�íta ako:

r˝chlos� s�ahovania = stiahnuté dáta[n] ≠ stiahnuté dáta[n ≠ 1]vzorkovací �as

(4.1)

Algoritmus je popísan˝ v diagrame na obrázku �. 4.4.Aby som overil, ûe aplikácia prenosovú r˝chlos� správne, spravil som testy záro-

ve� pomocou �alöích dvoch mobiln˝ch aplikácií OOKLA Speedtest a DSL.cz. Vöetkytri aplikácie boli nainötalované na rovnakom zariadení, a testy boli vykonané s rov-nak˝mi podmienkami, teda na rovnakom mieste, rovnakou pripojenou mobilnoutechnológiou a merania boli pustené zárove� v slede za sebou. Z grafu �. 4.5 je vidno,ûe moja aplikácia meria ve�mi podobne ako iné. Rozdiely môûu by� spôsobené ne-ustálim kolísaním v˝konu siete, aktuálnym vy�aûením serverov, z ktor˝ch sa dátapre potreby merania s�ahujú a tieû odliönos�ami v metodike pre kone�n˝ v˝po�ethodnoty.

4.2.3 Zobrazenie parametrov mobilnej dátovej sieteZis�ovanie parametrov mobilnej siete je rieöené pomocou objektov tried z CoreTe-lephony. Pomocou nich som vytvoril privátne metódy, ktoré vracajú parametre, akosú názov mobilnej siete do ktorej je telefón prihlásen ,̋ mobilnú dátovú technológiudo ktorej je zariadenie prihlásené, krajinu operátora vlastniaci domácu mobilnú sie�.Vöetky tieto hodnoty sú ukladané do databáze spolu s nameran˝mi hodnotami.

4.2.4 Zis�ovanie polohy uûívate�aPre aplikáciu vrátane jej online databázovej sluûby je dôleûité, aby bola správnelokalizovaná krajina v ktorej sa uûívate� nachádza. Nie je to ale moûné robi� ibapomocou metód z CoreTelephony, ktorá ur�uje krajinu a operátora pod�a vloûenejSIM karty v zariadení, a to z dôvodov:

• Odstráni� roamingov˝ch uûívate�ov. Parametre z triedy CoreTelephony zis�ujenázov siete a krajinu pod�a operátora, ktorému patrí SIM karta. Preto ajke� bude uûívate� prihlásen˝ do siete zahrani�ného operátora bude táto triedavraca� operátora domáceho. T˝m by sa dostávali do databáze hodnoty preoperátorov mimo územia v ktorom vysielajú.

• Uûívate� nemusí ma� v zariadení ûiadnu SIM kartu, ale pre u�ely obrazovkyMap je nutné zisti� v akej krajine sa nachádza, aby sa dali na�íta� informáciedo filtru pre túto krajinu.

V prípade ak má uûívate� povolené polohové sluûby, Apple umoû�uje pomocoureverznej geoloka�nej sluûby zisti� vlastnosti polohy uûívate�a na základe jeho GPS

25

Page 27: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Start Spusti časovač po dobu 10 sekúnd

Inicializuj čas:startDownloading

Zobraz objekty na obrazovke zobrazujúce aktuálnú rýchlosť a prenesené data celkovo

Prišla odozva zo serveru

Data z internetu downloadedMutuableData

Čas sťahovania súboru >

10 sekúnd

speed = (stiahnute data - stiahnute data [n-1] / (0,5)) / 1000000

Zobraz aktualne prenášanú rýchlosť a vykresli progressBar

pre stahovanie každých 0.3 sekúnd

do pole speeds pridaj speed

nieVyhodnoť výsledok

áno

Koniec

Sťahovanie dát a meranie rýchlosti

Obr. 4.4: V˝vojov˝ diagram s�ahovania a ukladania prenosovej r˝chlosti

.

26

Page 28: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Rých

losť

sťa

hova

nia

[MBi

t/s]

0.0

7.5

15.0

22.5

30.0

Meranie1 3 5 7 9 11

Internet Quality OOKLA DSL

�2

Obr. 4.5: Porovnanie merania prenosovej r˝chlosti s �alöími aplikáciami

.

polohy. T˝mto spôsobom je zisten˝ ISO kód krajiny. Táto sluûba je online a po�etpoûiadavkov na �u je obmedzen .̋ Aplikácia teda zis�uje tento parameter iba v prí-pade potreby a následne je tento údaj a uloûí ho do globálnej premennej, takûe houû po�as behu aplikácie nie je nutné zis�ova�.

Ak uûívate� nepovolil polohové sluûby pre aplikáciu, alebo by sa nepodarilo zisti�kód krajiny predchádzajúcim spôsobom, vyûiada sa táto informácia pod�a IP adresy.Pre tieto potreby som vytvoril skript na serveru, ktor˝ preberie parameter uûívate�-skej IP adresy a pomocou sluûby tretej strany získa túto informáciu. Informácia jezískavaná vo forme JSON formátu. Skript na serveri tento JSON spracuje a získa zneho iba poûadovanú informáciu, ktorú odoöle ako odpove� na poûiadavok aplikácie.

Zis�ovanie polohy pod�a IP nie je ale úplne spo�ahlivé, preto ak nemá uûívate�povolené polohové sluûby aplikácia neodosiela dáta na server.

Odosielanie dát na server je moûné upravi� napríklad zachytením dát cez proxyserver a ich upravením, preto server overuje odoslané parametre podobn˝mi tech-nikami. Ak sa vyskytne nejaká nezrovnalos� ozna�í tieto dáta a uûívate�om nie súodoslané do ich aplikácie.

Aplikácia mala naj�astejöie problém so zam�zaním práve pri zis�ovaní údajovo krajine a na�ítavaní filtru do mapy. Uûívatelia teda po kliknutí na kartu mapyna pomalom pripojení museli chví�u �aka� k˝m sa mapa otvorila. Vyrieöil som topresunutím sie�ovej komunikácie na iné procesorové vlákno.

27

Page 29: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

4.3 Tvorba dizajnového návrhu aplikácieDizajn aplikácie sa dá rieöi� pomocou Interface Builderu, kódom, alebo ich kombi-náciou.

Interface Builder je sú�as� Xcode. Je to grafické prostredie na tvorbu návrhuaplikácie. Objektom vloûením do návrhu prira�ujeme triedu pomocou ktorej potomvieme ovplyv�ova� zobrazen˝ v˝sledok. Kaûd˝ tak˝to objekt sa môûe prepoji� s kó-dom pomocou IBOutlet v prípade ak chceme meni� jeho vlastnoti (text, farbu, obsaha pod.) alebo pomoocu IBAction ak chceme zaznamena�, ûe uûivate� interagoval sdan˝m objektom (kliknutie, presnutie, dlh˝ dotyk).

Od verzie Xcode 6 je podpora technológie Auto Layout a Size Classes. SizeClasses slúûi pre univerzálnu tvorbu aplikácie na vöetky druhy rozlíöení a pomerovstrán, ktoré Apple ponúka s iOS systémom.

Aplikácia je rozdelená do troch logick˝ch obrazoviek, Test, History, Map. Ichpopis je uveden˝ niûöie.

4.3.1 Auto LayoutAuto Layout pomáha v˝vojárom vytvori� dizajn aplikácie tak, aby sa prispôsobovalrôznym druhom obrazoviek, módom zobrazenia ako je vodorovné alebo zvyslé a tieûdynamickému prispôsobovaniu sa rozmerom prvkov pod�a aktuálneho obsahu naobrazovke. Pomáhajú tomu constraints pomocou ktor˝ch sa dá definova� na akejpozícií, alebo v akom vz�ahu sa bude dan˝ prvok nachádza� od okraja, alebo odiného objektu. Umoû�ujú priradi� aj prioritu, a t˝m uprednostni� úpravu rozmeruiného objektu na úkor druhého.

V prípade vyuûívania Auto Layout funkcie je nutné uplatni� constraints na vöetkyobjekty aby Xcode vedel v kaûdom stave, kde sa objekt bude nachádza�. Existuje ajtvz. vizuálny programovací jazyk, ktor˝ umoû�uje nastavovanie constrainsts kódom.Ak je potrebné meni� za chodu niektor˝ parameter contraint, ako je vzdialenos�prvkov od seba, je to moûné pomocou kódu. Tak˝to constraint musí by� prepojenípomocou IBOutlet. Tak sá dá docieli� napríklad animácia posúvania objektov poobrazovke.

Pri v˝voji aplikácie som navrhol prostredie pomocou tohoto nástroja. Aplikáciasa teda prispôsobuje rôznym obrazovkám od iPhone 4 (3,5") po iPhone 6 Plus (5,5")a vûdy vyuûíva efektívne celú plochu obrazovky.

4.3.2 Size ClassesSize Classes je funkcia v˝vojárskeho nástroja Xcode 6 podporovaná od opera�néhosystému iOS 7, ktorá umoû�uje pripravi� obrazovku pre vöetky typy obrazoviek, teda

28

Page 30: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.6: Funkcia contraints

pre iPhone a iPad. Obraz sa potom zvä�öuje alebo zmenöuje pod�a toho, ak˝ typzariadenia uûívate� má a nedochádza k efektu roz�ahovacia grafiky. Aby to fungovalodobre je vhodné vyuûi� zárove� funkcie Auto Layout. Jednotlivé Constraints prekaûd˝ prvok sa potom dá nastavi� individuálne pre kaûd˝ typ obrazovky.

Size Classes zárove� umoû�uje nastavi� jednotlivé parametre vzdialeností, ve�-kostí a podobne pre rôzne typy obrazoviek. Takto som mohol optimalizova� zo-brazenie pre iPhone a iPad tak, aby bola efektívne vyuûívaná plocha jednotliv˝chzariadení. Je moûné nastavi� chovanie obrazu aj pri reûime na leûato, to ale mojaaplikácia neumoû�uje. Ukáûka je zobrazená na obrázku �. 4.7. V�aka tejto funkciísom vytvoril iPad verziu aû na konci celého v˝voja iba jej povolením a drobn˝miúpravami chovania pre niektoré obrazovky aplikácie.

4.3.3 Tvorba objektov a nastavenie grafického prostrediaAby som zaistil, ûe objekty budú pri kaûdej ve�kosti obrazovky vûdy pekne vy-kreslené vyuûil som nástroja PaintCode, ktor˝ je z �asti grafick˝ editor generujúcikreslené objekty priamo do kódu pomocou bezierov˝ch kriviek. Po vloûení takéhotoobjektu do rám�eka sa tento objekt v aplikácií prispôsobuje ve�kosti UIView objektuv ktorom je umiestnen .̋ To má v˝hodu hlavne pri rôznych rozlíöeniach obrazovieka ich uhloprie�ok. Vyuûil som ho ale na viac funkcií, a to:

• Generovanie objektov v reûime kresliacej metódy. Objekt nie je takto vykres-len˝ ako obrázok, ale vykres�uje sa po�as behu aplikácie. V PaintCode jemoûne nastavi� chovanie objektov na základe parametru pomocou jednodu-

29

Page 31: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.7: Nastavovanie chovanie obrazovky pomocou Size Classes

30

Page 32: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.8: Nastavenie chovania grafického objektu v PaintCode

chého skriptovacie jazyka. Tento parameter je vloûená do kódu ako parametermetódy, ktorá tento objekt vykres�uje. V aplikácií sa potom volá metóda navykreslenie objektu s dan˝m parametrom a objekt sa pomocou neho vykreslí.Ukáûka je zobrazená na obrázku �. 4.8

• Pomocou PaintCode som rieöil prácu s farbami pouûit˝ch v aplikácií. Vytvorilsom jednu referen�nú farbu a ostatné som definoval na základe nej, napríkladzv˝öením jej jasu.

• Vytvoril som v �om aj ikony k aplikácií, ktoré automaticky vygeneroval dovöetk˝ch potrebn˝ch ve�kostí, ktoré aplikácia potrebuje. Návrh je na obrázku�. 4.9

4.3.4 Obrazovka TestObrazovka Test zobrazená na obrázku �. 4.10 je prvá, ktorú uûívate� uvidí po spusteníaplikácie. Má za ú�el umoûni� spusti� meranie na ktorého konci sa uûívate� dozvieaké kvalitné ma pripojenie. Umoû�uje to tla�ítko umiestnené uprostred obrazovky.Po jeho stla�ení sa spustí prvá �ast merania, a to meranie doby HTTP odpovede napoûiadavok o na�ítanie stránky. Meranie prebieha 5x a uûívate� je o priebehu infor-movan˝ pomocou indikátor priebehu a zárove� sa mu zobrazujú v˝sledné hodnoty.Po skon�ení tohoto merania sa spustí meranie r˝chlosti internetu. Trvá 10 sekúnd auûívate� je o stave informovan˝ kruhov˝m indikátorom priebehu.

4.3.5 Obrazovka My HistoryObrazovka My History zobrazuje históriu vöetk˝ch meraní, ktoré uûívate� vykonalna svojom zariadení obr. �. 4.11. Je rozdelená na dve �asti. V prvej je zoznam, ktorá

31

Page 33: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.9: Návrh ikon pre aplikáciu

zoradí merania pod�a dátumu vykonania testu. Kaûd˝ test obsahuje na tejto ob-razovke základne hodnoty k meraniu a po kliknutí na� sa zobrazí detail merania.Ten obsahuje naviac miesto na mape, kde bolo meranie vykonané, graf priebehumerania prenosovej r˝chlosti a detailn˝ popis celého merania obr. �. 4.12. Informá-cie na oboch obrazovkách sa dynamicky menia pod�a vlastností merania, ako to, �ibolo meranie robené na WiFi alebo mobilnom pripojení. Otváranie detailu mera-nia je moûné z troch miest v aplikácií, a to ikonou po ukon�ení merania, kedy sazobrazí detail posledného merania. Druhou moûnos�ou je ho otvori� cez obrazovkuMy History a poslednou je priamo z mapy. Ak uûívate� otvorí túto obrazovku práveposledn˝m spôsobom, nezobrazujú sa vöetky dáta tak, ako pri jeho vlastn˝ch me-raniach. Vynechan˝ je názov WiFi siete na ktorej bolo meranie vykonané a po�etdát ktoré boli pre toto meranie spotrebované. Tieto informácie by mohli naruöova�súkromie uûívate�ov a nie sú ani odosielané na server.

Aby sa obrazovka mohla dynamicky prispôsobova� parametrom ktoré príjme,vyuûil som v moûnosti Auto Layout a priorít. Príklad je na obr. �. 4.13 kde je zobra-zené, ûe label zobrazujúci informáciu o po�tu stiahnut˝ch dát môûe by� vzdialen˝chod in˝ch labelov rôzne ve�kosti. Preruöovaná �iara znamená, ûe táto vzdialenos� mánastavenú nejakú prioritu menöiu ako 1000 (1000 znamená prioritu maximálnu, tedavyûadovanú). Pomocou kódu môûu by� niektoré label nad ním odstránené a vtedysa uprednostní vzdialenos� s �alöou najvyööou prioritou.

32

Page 34: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.10: Priebeh obrazovky Test

33

Page 35: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.11: Obrazovka My History

34

Page 36: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.12: Obrazovka My History Detail

Obr. 4.13: Nastavovanie priorít pomocou Auto Layout

35

Page 37: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

4.3.6 Obrazovka MapObrazovka Mapa má za úlohu zobrazi� uûívate�ovi namerané hodnoty vöetk˝ch uûí-vate�ov z polohy, ktorú ma zobrazenú na obrazovke zariadenia. Uûívate� si môûenastavi� rôzne filtre, ktor˝ch obsah je na�ítan˝ bu� z online databáze alebo z lokál-nej pomocou Core Data. Tieto filtre sú zobrazené na obrázku �. 4.16 a sú to:

• Jednotliv˝ operátori pôsobiaci v krajine kde sa uûívate� nachádza• Rádiove technológie poskytujúci títo operátori• Na akom pripojení bolo meranie vykonané (mobilné, wifi)• Online databáza alebo lokálna s dátami meraného priamo uûivate�omMapa vyuûíva algoritmus klasteringu, ktor˝ zlu�uje jednotlivé body merania do

jedného v prípade, ak sa ich na obrazovke na jednom mieste zobrazí príliö ve�a. Ap-likácia z takto zlú�en˝ch bodov vypo�íta medián hodnôt QoE, r˝chlosti s�ahovaniaa oneskorenia. Na základe tejto hodnoty QoE zobrazí oblas� z ktorej boli jednotlivébody zlú�ené do farebného prieh�adného kruhu. Jeho farba sa odvíja od hodnotyQoE, od �ervenej pre hodnotu 1 aû po zelenú pre hodnotu 5. Uûívatelia tak môûuvidie� po oddialení mapy kvalitu internetového pripojenia pre jednotlivé oblasti gra-ficky tak, ako je zobrazené na obrázku �. 4.14.

Uûívate� má moûnos� otvori� si detail jednotlivého merania na podobne ako priotvorení detailu vlastn˝ch meraní. Pri tomto poûiadavku sa dos�ahujú dodato�népotrebné informácie na vykreslenie grafu a �alöích detailov verejne prístupné z onlinedatabáze.

Mimo iné je na tejto obrazovke aj indikátor stavu stiahnutia dát. Ak sa uûíva-te�ovi nepodarí stiahnu� dáta zo serveru pre jeho problémy s pripojením, alebo sin˝m problémom pri s�ahovaním dát zo serveru, zobrazí sa �ervená ikona signalizu-júca problém. Ak na �u uûívate� klikne, zobrazia sa podrobnosti problému pomocouobjektu Alert View, tak ako je zobrazené na obrázku �. 4.15. Uprednostnil som zo-brazovanie problému ikonou, pretoûe pri �astom s�ahovaní dát sa s�ahovanie ur�itéhobloku dát nie vûdy podarilo. Takto teda uûívate� nemusí neustále potvrdzova� prob-lém so spojením a zárove� môûe pracova� s mapou aj ke� sa nové dáta nes�ahujúneruöene.

4.4 Práca s dátami z meraníMobilná aplikácia má za ú�el nie len informova� uûívate�a o v˝sledku jeho merania,ale aj umoûni� mu porovna� jeho v˝sledky s hodnotami ostatn˝ch uûívate�ov. Pretieto ú�ely som vytvoril tabu�ku v databázovom serveri zaloûenom na technológiíMySQL. V˝hoda pouûitia tejto technológie je r˝chlos� spracovania dát, jej jedno-duchého napojenia rôznych aplikácií a öirokej základne pouûívate�ov a teda i jej

36

Page 38: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.14: Obrazovka mapa

37

Page 39: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.15: Obrazovka mapa error hláöka

38

Page 40: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

podpora.V aplikácií som vytvoril lokálnu databázu pomocou technológie Core Data. Tá

slúûi k zobrazovaniu histórie meraní uûívate�a, a to bez nutnosti s�ahova� dáta zdatabázového serveru cez internet.

Uûívate� si vo filtre mapy ma moûnos� vybra� online databázu meraní alebo jeholokálnu. Aplikácia potom pracuje online alebo s Core Data.

4.4.1 Online databázaPrepojenie databáze a in˝ch sluûieb je naj�astejöie realizované pomocou PHP skrip-tov, ktoré sú umiestnenie na rovnakom serveri ako je databáza. Hlavné v˝hodytohoto rieöenia sú:

• Bezpe�nos�– Prístup k databáze majú len aplikácie beûiace na rovnakom serveri– Prístupové dáta, ako je uûívate�ské meno, heslo, názov tabu�ky a pod. nie

sú distribuované uûívate�om v ich aplikáciach• Pri aktualizácií prístupov˝ch dát k databáze sta�í aktualizova� parametre v

skripte na serveri a nie je nutné distribuova� nové nastavenia vöetk˝m uûíva-te�om do ich klientskej aplikácie

• Skript môûe spracováva� dáta, a tak öetri� zdroje klientsk˝ch aplikácií, ako jev˝po�tov˝ v˝kon, spotreba dát

• V závislosti na vytvorenom modelu v klientskej aplikácií je moûné meni� cho-vanie pre uûívate�ov zmenou parametrov skriptov

Aplikácia komunikuje so serverom vûdy ke� získa nové dáta z merania, aleboak nejaké dáta potrebuje získa�. Vûdy sa spolu s poûiadavkom o dáta odoölú ajdodato�né informácie, ktoré slúûia k zabezpe�eniu korektného formátu. Ide napríklado verziu aplikácie, a tak je moûné upravi� chovanie serveru na poûiadavok pre rôzneklientské verzie.

Odosielanie dát po skon�ení merania je vykonávane na pozadí a uûívate� o tomnie je nijak informovan .̋ Aplikácia ani nerieöi stav zlyhania tohoto odosielania.

V tabu�ke �. 4.4.1 sú uvedené vöetky parametre, ktoré aplikácia odosielaná dodatabáze.

Naopak pri prijíman˝ dát, napríklad bodov merania do obrazovky s mapou, jeuûívate� informovan˝ o stave spojenia, a to na�ítavanie, korektného stiahnutia dátprípadne problému.

Mapov˝ kontrolér si po jeho prvom otvorení v aplikácií vyûiada zo servera vöet-k˝ch operátorov a rádiové technológie dostupné v krajine, v ktorej sa uûívate� nachá-dza. Po ich na�ítaní aplikácia poûiada server zavolaním prísluöného skriptu s para-metrami vöetk˝ch operátorov, dostupn˝ch rádiov˝ch technológií a GPS súradníc pre

39

Page 41: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Tab. 4.1: Paramtre odosielané na serverParameter Význam

Rýchlosť sťahovania Priemerná rýchlosť sťahovania v MBit/s

Oneskorenie HTTP odpoveďe Priemerná doba oneskorenia na HTTP požiadavok v ms

QoE Vypočítaná hodnota parametru QoE

Prístup uživateľa k internetu Overenie, či bolo meranie uskutočnené pomocou pripojenie WiFi, alebo mobilnéj dátovej siete WWAN

Dostupná rádiová technológia WWAN K akej mobilnej dátovej technológií je zariadenie pripojené (napr. EDGE, HSPDA, LTE…)

RAW dáta Nespracované hodnoty z merania, ktoré reprezentujú prenosovú rýchlosť v pravidelných intervaloch počas merania

Operátor Meno operátora vlastniaceho sieť ku ktorej je zariadenie pripojené

ISO kód zeme Určuje v ktorej krajine operátor pôsobí

Zemepísna dĺžkaGPS súradnice uživateľa v dobe merania

Zemepisná širka

Identifikačný kód aplikácie Jedinečný kód pomocou ktorého je možné identifikovať uživateľa

Meno operačného systému Identifikácia operačného systému

Verzia operačného systému

Model telefónu

Detailne model telefónu Určuje o aký konkrétny model telefónu ide

�1

40

Page 42: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.16: Filtre pre mapu

minimálnu a maximálnu zemepisnú öírku a d�ûku ktorú má uûívate� zobrazenú na ob-razovke. Aplikácia potom �aká na odpove�. Ak príde v poriadku, delegovaná metódaobjektu, ktor˝ komunikáciu, s�ahovanie dát a úpravu JSON odpovede do vhodnéhoformátu, odoöle spracované dáta spä� do mapového kontroléru. Maximálny po�etktor˝ bodov merania je limitovan˝ priamo na serveri a odosielajú sa iba najnovöiedáta.

Tieto dáta, ktoré obsahujú informácie ako je poloha merania, prenosová r˝chlos�,oneskorenie, QoE a podobne sa vloûia do objektu KPClusteringController ktor˝zabezpe�uje zlu�ovanie jednotliv˝ch bodov do jedného v prípade potreby. V�akatomuto zlu�ovaniu sa navyöe v˝razne zníûili nároky na v˝po�tov˝ v˝kon zariadenia,ke�ûe nemusia vykres�ova� ve�k˝ po�et bodov na mape. Vöetky body merania sa eötespracovávajú pod�a toho, �i je dan˝ bod zlú�en˝ z viacer˝ch, alebo ide o samostatn˝bod merania.

Pre zlú�ené sa vypo�íta medián prenosovej r˝chlosti, oneskorenia a parametruQoE, ktoré sú potom zobrazené v anotácií pre kliknutí na dan˝ bod. Bod sa zobrazujevo forme farbeného kruhu. Znova som uprednostnil medián aby sa prípadne extrémnehodnoty v˝razne neprejavili vo v˝sledn˝ch hodnotách.

Anotácia bodu reprezentujúceho jednotlivé meranie obsahuje navyöe tla�ítko poktorého kliknutí sa zobrazí obrazovka detailu merania. Na základe parametru idsa odoöle poûiadavok na server pre vrátenie dodato�n˝ch informácií potrebn˝ch nazobrazenie grafu a pod. Ak je poûiadavok z nejakého dôvodu nesplnen˝ uûívate� jeo tom informovan˝ pomocou Alert View a okno detailu merania sa automatickyzavrie.

41

Page 43: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.17: Návrh modelu pre Core Data

4.4.2 Core DataCore data slúûia k návrhu modelu pomocou tzv. entít, atribútov a vz�ahmi medzinimi. Sú optimalizované k efektívnemu vyuûívaniu v˝konu zariadenia, ako aj pamäti,a k r˝chlemu prístupu k dátam v nich uloûen˝ch.

Moja aplikácia vyuûíva iba ich základné moûnosti. Vytvorená entita Measured-Data, reprezentuje model, alebo öablonu, do ktorej sa ukladajú dáta do atribútovtak, ako sú zobrazené na obrázku 4.17

Pre komunikáciu s Core Data sa pouûíva objekt NSManagedObjectContext ametóda managedObjectContext, ktoré sprostredkovávajú komunikáciu s Core Data.//Nastavenie prístupu ku Core Dataid delegate = [[UIApplication sharedApplication]delegate];NSManagedObjectContext �context = [delegate managedObjectContext];

//Pridanie hodnoty do atribútu entity//Vyber správnej entityNSManagedObject �measuredData = [NSEntityDescription insertNewObjectForEntityForName:@"MeasuredData"

inManagedObjectContext:context];[measuredData setValue:[NSNumber numberWithDouble:accurancy] forKey:@"accurancy"];

//�ítanie hodnoty z vybranej entityNSFetchRequest �fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"MeasuredData"];fetchRequest.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO]];[measuredData setValue:[NSNumber numberWithDouble:accurancy] forKey:@"accurancy"];

NSArray �fetchedMeasure = [context executeFetchRequest:fetchRequest error:&error];for (NSManagedObject �info in fetchedMeasure) {[accurancy setValue:[ info valueForKey:@"accurancy"] forKey:@"accurancy"];}

//Nastavenie filtru pre získanie dát pod�a uûívate�ského nastavenia[fetchRequest setPredicate :[ NSPredicate predicateWithFormat:@"radioTechnology == %@", technologies]];

42

Page 44: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

PHP skripty

PHP skripty sú nastavené na prijímanie dát pomocou POST metódy. Narozdiel odGET metódy nie je potrebé vyuûíva� URN �ast HTML adresy, ktorá je obmedzenád�ûkou.

Pri ukladaní dát do databáze sa po volaní prísluönej php stránky s prísluön˝miparametrami, ktoré sú zobrazené v tabu�ke �. 4.4.1 a skontroluje, �i sú vöetky po-ûadované hodnoty správne. Tie sa potom odoölú do databáze príkazom Insert INTO dopríöluönej tabulky databáze.

Odosielanie dát na server je moûné upravi� napríklad zachytením dát cez proxyserver a ich upravením, preto server overuje odoslané parametre pomocou �alöíchmetód. Ak sa vyskytne nejaká nezrovnalos� ozna�í tieto dáta a uûívate�om nie súodoslané do ich aplikácie.

4.5 Distribúcia aplikáciePri v˝voji aplikácie som potreboval získa� uûívate�ov, ktor˝ by aplikáciu otestovali.T˝mto spôsobom som mohol odhali� hlavné problémy, ktoré sa objavili aû pri rôz-nych konfiguráciách zariadení, chovaní uûívate�ov a podmienok v rôznych krajináchna svete pre mobiln˝ internet. Zárove� som implementoval do aplikácie monitoro-vacie mechanizmy, ktoré ma upozornili na chyby v aplikácií, ktoré sa vyskytli uuûívate�ov a tieû sledovanie chovania uûívate�ov v aplikácií.

4.5.1 Formy distribúcie iOS aplikácie medzi beta testerovAplikácia, ktorá sa nenachádza v App store sa dá nahra� do Apple zariaden˝ spô-sobmi:

• Registrovan˝m Apple zariadenia ako v˝vojárske na developerskom portályhttps://developer.apple.com kde sa potom musí pre prísluön˝ po�íta� Macstiahnu� Provision profile. Ten je moûné stiahnu� iba s platn˝m v˝vojárskymú�tom. Potom je moûne projekt v Xcode preloûi� a nahra� priamo na zariade-nie.

• Distribuova� aplikáciu pomocou korporátneho ú�tu ako aplikáciu, ktorú jemoûné umiestni� na vlastné servery.

• Od verzie opera�ného systému iOS 8 Apple umoûnil v˝vojárom beta testova-nie aplikácie pomocou programu Test Flight. Ten je rozdelen˝ na intern˝ch aextern˝ch testrov. Intern˝ testeri môûu získa� aplikáciu podobne ako je popí-sané v prvom bode, ale nie je nutné nahráva� ju do zariadenia cez Mac, alecez program Test Flight. Pre extern˝ch testerov je nutné posla� aplikáciu na

43

Page 45: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

schválenie do Apple, ktor˝ ju skontroluje a ak je vöetko v poriadku, umoûnírozosla� aplikáciu medzi maximálne 1000 uûívate�ov. Tí, ak príjmu pozvánkudo programu testovania, si môûu nainötalova� aplikáciu do svojich zariadení.Následne sú upozor�ovaní na prípadne aktualizácie.

Aplikáciu som pridal do programu Test Flight a poûiadol som o schválenie doverejného beta programu. Schva�ovanie trvalo 3 dni po ktorom som za�al rozosiela�pozvánku. Podarilo sa mi získa� 40 testerov z 13 krajín sveta a celkovo som im ro-zoslal 10 verzií na testovanie. Po�as testovania títo testeri spravili nieko�ko stoviekmeraní. V�aka globálnemu testovaniu som odhalil problém s niektor˝mi operátormi,ktor˝ nevracajú správne meno operátora, problém roamingov˝ch uûívate�ov, ur�ova-n˝m polohy zariadenia a tieû niektoré nejasnosti po stránke dizajnu a jeho problému.Testovanie medzi uûívate�mi v˝razne ur˝chlilo v˝voj a odha�ovanie ch˝b v aplikácií.

Aplikácia je ur�enia aj pre zariadenia s iOS 7, ktor˝ ale Test Flight nepodporuje.Testoval som to ale aj na tieto zariadenia a to pomocou sluûby Fabric s ktorou bolomoûne distribuova� aplikáciu cez internet. Tieto zariadenia ale museli by� pridanédo v˝vojárskeho programu a musel som vloûi� do projektu nov˝ provision profile,ktor˝ podpisoval aj tieto zariadenia vrámci projektu.

4.5.2 Distribúcia aplikácie do App StoreAby mohla by� aplikácia odoslaná do App store je nutné pripravi� vöetku grafiku,ako sú ikony a obrázky aplikácie. Jednotlivé ikony musia by� pre rozlíöenie pre vöetkytypy zariadení a ich rozlíöenia, �o pre vöetky uhloprie�ky iPhone a iPad znamená 19rôznych ikon, tak ako je zobrazené na obrázku �. 4.18. Pomocou Xcode sa vytvoríbuild, ktor˝ sa priamo z neho odoöle do App Store portálu. Uû pri odosielaní saskontrolujú základné poûiadavky na aplikáciu. Ak je vöetko v poriadku, cez portálhttp://itunesconnect.apple.com je moûné vybra� dan˝ build a odosla� ho na schvá-lenie. Na tej istej stránke sa potom doplnia informácie k aplikácií, ktoré budú zo-brazené v popise aplikácie, pridajú sa fotky a �alöie informácie. Schva�ovanie potommôûe trva� aj nieko�ko t˝ûd�ov.

4.5.3 Monitorovanie distribuovanej aplikácieAby som mohol odha�ova� chyby v kóde aplikácie, ktoré mohli spôsobi� pád aplikácievyuûil som sluûby Fabric.io. Ako druh˝ monitorovací nastroj je implementovaná doaplikácie sluûba Mixpanel, ktorá sleduje chovanie uûívate�ov v aplikácií, prípadnezaznamenáva stavy, ktoré sa vyskytnú v aplikácií.

44

Page 46: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.18: Ikony aplikácie pre vöetky zariadenia

Fabric

Hlavn˝ ú�el sluûby je hlásenie ch˝b, ktoré spôsobia pád aplikácie. Ak takáto situácianastane, príde správa o tom, na ktorom mieste v kóde doölo k chyba a �o jej pred-chádzalo. Mimo iné sluûba monitoruje po�et aktívnych uûívate�ov v reálnom �ase,ako dlho uûívatelia pouûívajú aplikáciu a na aké opera�né systémy a zariadenia po-uûívajú. Umoû�uje aj vyööie popísanú distribúciu aplikácie. Ukáûa je zobrazená naobrázku �. 4.19

Mixpanel

Pomocou tejto sluûby som mohol jednoducho implementova� zaznamenávanie chova-nia uûívate�ov v aplikácií. Pri udalostiach ktoré som chcel zaznamenáva� som pridalnasledujúci kód:Mixpanel �mixpanel = [Mixpanel sharedInstance];[mixpanel track:@"Nazov udalosti"];[mixpanel flush ];

Toto sa odoöle na servery tejto sluûby a potom je moûne zobrazi� grafy, na�o uûívatelia klikali, v akom poradí a pod. Vyuûil som to aj na zaznamenávanieniektor˝ch stavov, ako je nedostupné spojenie so serverom. Grafy zobrazujúce po�etkliknutí na stránkach Mixpanel.com sú zobrazené na obrázku �. 4.20.

45

Page 47: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 4.19: Ukáûka sluûby Fabric.io

Obr. 4.20: Zaznamenáne udalosti pomocou sluûby mixpanel

46

Page 48: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

5 VYHODNOTENIE UéÍVATE�MI NAMERA-N›CH HODNÔT

Po�as celej doby testovania som nazbieral od uûívate�ov reálne hodnoty ich kvalitypripojenia pomocou modelu popísaného v predchádzajúcich kapitolách. Pre �eskúrepubliku ide o 314 meraní z toho 85 na sie�ach mobiln˝ch operátorov, a to hlavne preoblas� Brno. Na základe t˝chto meraní som vytvoril grafy �. 5.1 zobrazujúce hodnotuMOS pre mobilné dátové siete a WiFi siete v Brne. Graf �. 5.2 a �. 5.3 ukazuje ko�kopercent uûívate�ov dosahuje akú r˝chlos� a oneskorenie. Vä�öina uûívate�ov dosahujer˝chlos� do 10 MBit/s, a to na oboch typoch pripojenia.

�alöí graf �. 5.4 zobrazuje, ak˝ vplyv majú jednotlivé rádiové technológie nav˝sledn˝ MOS. Z grafov vypl˝va, ûe WiFi pripojenie je stále kvalitnejöie ako tomobilné, aj ke� pri technológií LTE je uû pod�a meraní pri 50% prípadov kvalitatívnevyrovnané.

Od uûívate�ov sa podarilo pre �eskú republiku získa� dáta najmä od operátorovO2 CZ a T-mobile CZ. Na základe t˝chto dát som vytvoril graf �. 5.5 ktor˝ porovnávapriemerne dosiahnuté odhadnuté MOS pre vöetky urobené merania na ich sieti.U operátora O2 CZ môûe zniûova� dosiahnuté hodnoty to, ûe vä�öina uûívate�ovpravdepodobne nemala podporu LTE zariadení. Naopak T-mobile uûívatelia tútotechnológiu vä�öinou vyuûívali.

Pomocou obrazovky v mape je moûné zobrazi� kvalitu internetu v jednotliv˝choblastiach. Pri poh�ade na oblas� Brno a okolie je vidno, ûe internet v meste málepöie parametre ako v jeho okolí. V meste priemerná r˝chlos� s�ahovania dosahujeokolo 7 MBit/s. V jeho okolí sú to �asto hodnoty v kbit/s, tak ako je zobrazené naobrázku �. 5.6.

Aplikácia sa po uvedení do App Store rozöírila aj medzi uûívate�ov po svete ato najmä do krajín USA a Ve�kej Británie. Zo vöetk˝ch meraní pre tieto krajinyuroben˝ch na sie�ach operátorov som spravil graf �. 5.7, ktor˝ ukazuje rozdieli vpriemern˝ch hodnotách kvality internetu medzi jednotliv˝mi krajinami. Vo Ve�kejBritánií mala vä�öina uûívate�ov dostupné LTE pripojenie. Vä�öina meraní vo Ve�kejBritánií bola robená v husto zab˝van˝ch oblastiach. Z toho vidno, ûe LTE techno-lógia je dostato�ne kvalitná aj pre tieto oblasti.

V tabu�ke � 5.1 sú zobrazené hodnoty o po�te uûívate�ov, ich zariadení a �alöíchpodrobností, ktoré som po�as v˝voja a po distribúcií aplikácie nazbieral. Aplikáciaje pod�a ötatistík stabilná na zariadeniach uûívate�ov, pretoûe k pádu aplikácie doöloiba u 0,2% uûívate�ov. Najviac stiahnutí aplikácie bolo v krajinách USA, a to prav-depodobne z dôvodu najvä�öieho rozöírenia platformy iOS na tomto trhu. Priemernár˝chlos� medzi WiFi a mobilnou sie�ou sa pribliûuje k sebe a sú ve�mi podobné, �o

47

Page 49: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Prenosová rýchlosť

pren

osov

á rý

chlo

sť [M

Bit/s

]

0

15

30

45

60

čas [sekundy]0 2.5 5 7.5 10

Priemer

Medián

Poče

t uží

vateľo

v [%

]

0

20

40

60

80

100

Edge HSPDA WCDMA LTE

Poče

t uží

vateľo

v [%

]

0

20

40

60

80

100

MOS

Mobilná dátová sieť WiFi

�1

Obr. 5.1: Porovnanie parametru MOS pre mobilnú dátovú sie� a WiFi

.

je spôsobené hlavne rozöírením pokrytia LTE, na ktorom bolo uroben˝ch najviactestov na mobilnom pripojení.

48

Page 50: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Prenosová rýchlosť

pren

osov

á rý

chlo

sť [M

Bit/s

]

0

15

30

45

60

čas [sekundy]0 2.5 5 7.5 10

Priemer

Medián

Poče

t uží

vateľo

v [%

]

60

80

100

Mobilná dátová sieť WiFi

Poče

t uží

vateľo

v [%

]

0

7.5

15

22.5

30

Rýchlosť sťahovania [MBit/s]

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50

Mobilná dátová sieť WiFi

Poče

t uží

vateľo

v [%

]

0

3.5

7

10.5

14

Oneskorenie siete [ms]

50 25045065085010501250145016501850205022502450265028503050325034503650385040504250445046504850505052505450565058506050625064506650

WiFi Mobilná dátová sieť

�1

Obr. 5.2: Porovnanie prenosovej r˝chlosti pre mobilnú dátovú sie� a WiFi

.

Prenosová rýchlosť

pren

osov

á rý

chlo

sť [M

Bit/s

]

0

15

30

45

60

čas [sekundy]0 2.5 5 7.5 10

Priemer

Medián

Poče

t uží

vateľo

v [%

]

60

80

100

Mobilná dátová sieť WiFi

Poče

t uží

vateľo

v [%

]

0

7.5

15

22.5

30

Rýchlosť sťahovania [MBit/s]

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50

Mobilná dátová sieť WiFi

Poče

t uží

vateľo

v [%

]

0

3.5

7

10.5

14

Oneskorenie siete [ms]

50 25045065085010501250145016501850205022502450265028503050325034503650385040504250445046504850505052505450565058506050625064506650

WiFi Mobilná dátová sieť

�1

Obr. 5.3: Porovnanie oneskorenia siete pre mobilnú dátovú sie� a WiFi

.

49

Page 51: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Prenosová rýchlosť

pren

osov

á rý

chlo

sť [M

Bit/s

]

0

15

30

45

60

čas [sekundy]0 2.5 5 7.5 10

Priemer

Medián

Mobilná dátová sieťPoče

t uží

vateľo

v [%

]

0

25

50

75

100

MOS0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

WiFi sieť

Poče

t uží

vateľo

v [%

]

0

25

50

75

100

MOS0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Poče

t uží

vateľo

v [%

]

0

20

40

60

80

100

MOS1 1.5 2 2.5 3 3.5 4 4.5 5

Edge HSPDA WCDMA LTE

�1

Obr. 5.4: Porovnanie vplyvu jednotliv˝ch rádiov˝ch technológií na MOS

.

50

Page 52: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Tab. 5.1: Zhrnutie dát o aplikácií

ipad 122

iphone 4538

Beta testery 36

Pocet krajin 15 Edge HRPD HSPDA HSUPA WCDMA LTE

Pocet merani na WWAN 1253 52 2 406 34 230 529

WIFI 3349

Wifi Max 94.170 Mbit

WWAN Max 61.70 Mbit

WWAN Avg 5.75

wifi avg 5,67

USA a Kanada Afrika, Blízky východ a India

Europa Ázia Latinská Amerika

Pocet stiahnuty aplikacie z App Store

4698 2470 1590 298 67 35

Uživatelia bez zaznamenaného pádu aplikácie

99.8%

Počet zariadení

Typ zariadenia Počet

iPad 122

iPhone 4538

Počet beta testerov

Počet krajín v ktorých sa aplikácia použila

Užívatelia bez zaznamenaného pádu aplikácie

36 15 99,8%

Počet meraní na mobilnom pripojení

Celkovo Edge HRPD HSPDA HSUPA WCDMA LTE

1253 52 2 406 34 230 529

Maximálne a priemerné rýchlosti

WiFi Mobilná sieť celkovo

Edge HRPD HSPDA HSUPA WCDMA LTE

Maximálna rýchlosť [MBit/s]

94,17 61,71 0,216 0,495 28,82 6,444 23,854 61,71

Priemerná rýchlosť [MBit/s]

5,67 5,75 0,216 0,44 5,692 1,524 3,529 7,616

Počet stiahnutí aplikácie z App Store

Celkovo USA a Kanada

Afrika, Blízky Východ a India

Európa Ázia Latinská Amerika

4698 2470 1590 298 67 35

�1

51

Page 53: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

MO

S

4

4.1

4.2

4.3

4.4

O2 CZ T-mobile CZ

MO

S

4.10

4.20

4.30

4.40

4.50

Česká republika USA Veľká Británia

�3

Obr. 5.5: Porovnanie �esk˝ch operátorov v dosiahnut˝ch v˝sledkov z meraní od uûí-vate�ov

.

52

Page 54: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

Obr. 5.6: Porovanie kvality internetu v meste a v jeho okolí

.

53

Page 55: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

MO

S

4

4.1

4.2

4.3

4.4

O2 CZ T-mobile CZ

MO

S

4.10

4.20

4.30

4.40

4.50

Česká republika USA Veľká Británia

�3

Obr. 5.7: Porovnanie priemernej kvality mobilného internetu v rôznych krajinách

.

54

Page 56: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

6 ZÁV�RV rámci diplomovej práci bola vytvorená mobilná aplikácia pre platformu AppleiOS 7 a vyööie s podporou pre vöetky modely iPhone a iPad. Táto mobilná aplikáciameria predpokladanú uûívate�skú spokojnos� s kvalitou jeho pripojenia k internetu.Namerané hodnoty sú odosielané do online databáze z ktorej sa potom �erpajúdáta pri vytváraní mapy kvality pokrytia jednotliv˝mi poskytovate�mi mobilnéhopripojenia. Táto mapa je tieû sú�as�ou tejto aplikácie.

Pri v˝voji aplikácie som zárove� vytváral pomocné skripty pracujúce na straneserveru, ktoré komunikujú s databázou, kde sú uloûené dáta z meraní a klientommobilnou aplikáciou. Snaûil som sa zabezpe�i� správnosti údajov, ktoré server uloûído databáze a následne odosiela uûívate�om do ich zariadenia. Iölo napríklad o ro-amingov˝ch uûívate�ov, ktor˝ svojimi meraniami pridávali body merania v zahrani�ípod menom ich domáceho operátora. Preto server rieöi dodato�ne korektnos� pri-chádzajúcich dát od uûívate�ov.

Venoval som sa aj návrhu uûívate�ského rozhrania u ktorého som sa snaûil, abybolo �o najjednoduchöie a zrozumite�ne. Po�as v˝voja som rieöil distribúciu apli-kácie medzi testerov, pracoval som s v˝vojárskym portálom Apple, kde som muselvygenerova� certifikát pre distribúciu a podpísanie aplikácie z dôvodu jej distribúcie.Aby som získaval spätnú väzbu z aplikácií vo forme automatick˝ reportov, imple-mentoval som do aplikácie sluûby na to ur�ené. Aj v�aka tomu som odhalil nieko�koproblémov˝ch miest v aplikácie, kde dochádzalo k pádu aplikácie. Po�as v˝voja ap-likácie boli zapojení do jej testovania nieko�ko desiatok ludi z celého sveta a aj nazáklade ich spätnej väzby som sa snaûil aplikáciu pripravi� na distribúciu do AppStore. Aplikáciu Apple do App Store schválil, a tak je volne k dispozícií pre vöetk˝chuûívate�ov so zariadeniami iPhone alebo iPad pod názvom Internet Quality.

Z dát, ktoré namerali uûívatelia som vytvoril grafy kvality internetového pripoje-nia pre rôzne druhy pripojenia a oblasti. Tieû som porovnal jednotliv˝ch operátorova vplyv dostupnosti LTE technológie medzi uûívate�mi na celkové dosiahnuté hod-noty.

55

Page 57: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

LITERATÚRA[1] HUIFANG, Chen; Yu Xin; Lei Xie, Ënd-to-end quality adaptation scheme ba-

sed on QoE prediction for video streaming service in LTE networks,"Modeling,Optimization in Mobile, Ad Hoc, Wireless Networks (WiOpt), 2013 11thInternational Symposium on , vol., no., pp.627,633, 13-17 May 2013 Do-stupné z: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=

6576411&isnumber=6576384

[2] HUI, Zhang. ZTE. QoE Modeling [online]. 2012 [cit. 2014-10-26]. Do-stupné z: http://wwwen.zte.com.cn/endata/magazine/ztetechnologies/

2012/no3/articles/201205/t20120522_307269.html

[3] PENG YU, HUAIDONG ZENG, LANLAN RUI, WENJING LI a XUESONGQIU. A novel QoE assessment method for wireless networks. 2011 InternationalConference on Advanced Intelligence and Awareness Internet (AIAI 2011) [on-line]. IET, 2011, �. 1, s. 323-327 [cit. 2014-10-26]. DOI: 10.1049/cp.2011.1482.Dostupné z: http://digital-library.theiet.org/content/conferences/

10.1049/cp.2011.1482

[4] MENKOVSKI, Vlado, Georgios EXARCHAKOS, Antonio LIOTTA a An-tonio Cuadra SÁNCHEZ. Measuring Quality of Experience on a Commer-cial Mobile TV Platform. 2010 Second International Conferences on Ad-vances in Multimedia [online]. IEEE, 2010, �. 1, s. 33-38 [cit. 2014-10-19].DOI: 10.1109/MMEDIA.2010.12. Dostupné z: http://ieeexplore.ieee.org/

lpdocs/epic03/wrapper.htm?arnumber=5501601

[5] PERKIS, Andrew, Solveig MUNKEBY a Odd HILLESTAD. A model for me-asuring Quality of Experience. Proceedings of the 7th Nordic Signal ProcessingSymposium - NORSIG 2006 [online]. IEEE, 2006, �. 1, s. 198-201 [cit. 2014-10-19]. DOI: 10.1109/NORSIG.2006.275209. Dostupné z: http://ieeexplore.

ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4052204

[6] KIST, Alexander A. a Lyn BRODIE. Quality of service, quality of experienceand online learning. 2012 Frontiers in Education Conference Proceedings [on-line]. IEEE, 2012, s. 1-6 [cit. 2014-10-19]. DOI: 10.1109/FIE.2012.6462223.Dostupné z: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?

arnumber=6462223

[7] ITU-T Recommendation P.800, "Methods for subjective determination of trans-mission quality,ÏTU, Tech. Rep., 1996

56

Page 58: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

[8] HOSEK, Jiri, Pavel VAJSAR, Lubos NAGY, Michal RIES, Olga GALININA,Sergey ANDREEV, Yevgeni KOUCHERYAVY, Zdenek SULC, Petr HAIS aRadek PENIZEK. Predicting user QoE satisfaction in current mobile networks.2014 IEEE International Conference on Communications (ICC) [online]. IEEE,2014, �. 1, s. 1088-1093 [cit. 2015-05-10]. DOI: 10.1109/ICC.2014.6883466.Dostupné z: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?

arnumber=6883466

57

Page 59: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ · maná koncov˝m uûívateom. Sú vom zahrnuté úinky celého systému od zaiatku aûdo konca (klient, terminál, sie, sluûby infraötruktúry,

7 OBSAH P�ILOéENÉHO ARCHÍVUV prílohe "QoE Network Test Analyzer.zip"sa nachádzajú vöetky zdrojové kódy anávrh aplikácie. Spustenie projektu je moûné pomocou programu XCode.

58