Okostelefon köztesréteg (1.3-5) Dr. Bilicki Vilmos, egyetemi adjunktus, Szegedi Tudományegyetem, Szoftverfejlesztési Tanszék
Az alprojekt felépítése 1.6 Mobil közigazgatás 1.7 Modellvezérelt alkalmazásfejlesztés Monitorozás 1.5 1.4 Futtató/Fejlesztő környezet 1.3 P2P adattár P2P algoritmusok környezete Verifikáció 1.2 1.6 1.1 NAT átjárás Energia takarékosság Különböző fizikai médiumok 2017.04.07. FICT Kick-Off
Összefoglaló 1.2 Mobil szemantikus alapú P2P köztesréteg tervezési minták és algoritmusok RealPeersim P2P Infrastruktúra Szemantikus keretrendszerek, minták 1.3 Mobil felhő tervezési minták és algoritmusok AAA Alkalmazások: Teach My Phone (SZTE) Alakzat felismerés Arc felismerés FlashMob szavazás (BME) Bittorrent optimalizálás (BME) 1.4 Mobil konténerek végfelhasználói programozás támogatással tervezési minták és algoritmusok Produktivitás mérés Webview alapú megoldás (3 - Szabadalom) Cordova kiterjesztése
Általános P2P keretrendszer (RealPeerSim integráció) 1.2 Mobil szemantikus alapú P2P köztesréteg tervezési minták és algoritmusok Általános P2P keretrendszer (RealPeerSim integráció) Cél: Tetszőleges P2P algoritmust egyszerűen meg lehessen valósítani Magas szinten meg lehessen adni a kontextusokat és a szabályokat Eredmény: P2P algoritmus fejlesztés debug/elemzés PeerSim-mel P2P algoritmus fejlesztés/debug virtuális telefon farmon (<160) P2P infrastruktúra: Biztonságos, egyszerűen elérhető, központ mentes Meglévő megoldások, technológiák áttekintése Koncepció vázlat 2017.04.07. FICT SPLST2013 workshop
1.2 RealPeerSim Cél a PeerSim P2P szimulátor futtatása valós (mobil) eszközökön, valós hálózatban A PeerSim Java nyelven készült, moduláris, jól skálázható (millió node) és jól konfigurálható (reflexió, pl. melyik protokoll fusson) Részcélok: mobil eszköz Androidos mobil eszköz szerveren, Android emulátorokon
1.2 RealPeerSim Megvalósítás Android emulátorokon Szerveren virtuális gépek (Linuxok) futnak, mert egy gép maximum 16 Android emulátort kezelhet Egy emulátor egyetlen node a P2P hálózaton és jelenleg Java socketen kommunikálnak Egy központi (virtuális) gépen futó web szerver segítségével indíthatók a kísérletek Android emulátorokon fut egy alkalmazás, amely letölti a kísérletekhez a fájlokat, majd futtatja azt A virtuális gépek és emulátorok indítása, leállítása, fordítása Ant és bash scriptek segítségével történik
1.2 RealPeerSim Kísérletek fejlesztése Protokollok szükséges módosítása, fordítása tesztelése lokális gépen (nem elosztottan) Szerverre áttöltés, konfigurációs fájlok átírása (pl. Node, Transport); a protokollok kódja változatlan Inicializálást végző protokollok egy része a szerveren fut(hat) „távoli eljárás végrehajtás” 1 szerver 5-10 virtuális gép, 50-160 emulátor 160 emulátor 10 gépre elvi max., de CPU limit miatt kevesebb a reális
1.2 P2P infrastrutúra Szabványos kommunikáció WebRTC ICE (TURN/STUN) Mobil felhő üzenetküldés használata GCM - Google Cloud Messaging IOS Push Notification MPNS - Microsoft Push Notification Service Eloszott adatbázis: Kademnia Hierarchikus AAA OAuth – tetszőleges szolgáltató 2017.04.07. FICT SPLST2013 workshop
1.3 Mobil felhő tervezési minták és algoritmusok AAA Csoportképzés: domain alapú azonosítás (URI), nyílt, zárt csoportok Identitás kezelés: OpenID/Oauth és társai mobil alkalmazásból? OpenPeer megoldás? Oauth token A fogadó publikus kulcsával titkosítva Azonosítás: URI Biztonság: saját chip kártya?,… telefon + otthoni eszköz PoC projektek: Alkalmazások: Teach My Phone (50%) (Google Mobile Backend alapú) Alakzat felismerés Arc felismerés FlashMob szavazás (BME) Bittorrent optimalizálás (BME) P2P alapok: Virtuális harmónia, virtuális szinkron, … 2017.04.07. FICT SPLST2013 workshop
1.3 AAA Azonosítás: Jogosultsg kezelés: OAuth Future-ict.hu A-alk.future-ict.hu 1 csoport 2. csoprot B-alk.future-ict.hu 3. csoport Első szintű kontextus Második szintű Kontextus Harmadik szintű kontextus Azonosítás: OAuth Tetszőleges külső szolgáltató (Google, MS, …) PKI (eszközfüggő azonosítás) Jogosultsg kezelés: Alkalmazás kontextus és erőforrás függően 2017.04.07. FICT SPLST2013 workshop
1.3 P2P objektum felismerés Fénykép Szavazás/Reputáció (P2P) Alakzat detektálás Felhasználó által finomítás Osztályozás, javaslatok Felhasználó kiválasztja a megfelelő képet Szavazás/Reputáció (P2P) Modell frissítés (P2P) 2017.04.07. FICT SPLST2013 workshop
1.3 Elosztott objektum azonosítás Pókok detektálása Fényképezés, majd fókusz, képélesség alapján döntés A felhasználó rámutat egy pontra, ez alapján a pók kiterjedésének meghatározása Rámutathat még pontokra, sikertelenség esetén Pókok osztályozása A pókot mutató képterületről különböző jellemzők kinyerése On-line osztályozók alkalmazása
1.3 Fókusz, képélesség mérés Feltételezhető, hogy a kép közepén a fókusz-ban található a kérdéses objektum. Ha életlen kép, vagy a széle fókuszált, akkor új képet kell Nehézségek: Több tucat fókuszmérő algoritmus pl. Diagonal laplacian, Spatial frequency Mobil eszköz korlátozott képminőség, CPU Kis mélyégbeli távolságok a háttér és előtér között Ideális esetben szegmentálást is adhat
1.3 Pókok detektálása/osztályozása Módszer A felhasználó által megadott pont környezetéből egy képdarabot kivágunk, és erre a képdarabra meghatározzuk az egyes színcsatornák intenzitás eloszlását, 3D normális eloszlásként modellezve. Régiónöveléssel, addig növeljük a kiinduló cella területét szomszédos cellákkal, amíg az eloszlás nem tér el nagyon a kezdeti szín-intenzitás eloszlástól. Ezt az alapötletet bővítettük még: Több menet különböző cellaméretekkel; Adaptív statisztika; A környezet figyelembevétele: ne csak a saját pontokhoz legyen „közel”, hanem eközben a környezettől legyen „távol”. Tanulás A pókok detektálását végző algoritmusban több paraméter, küszöbérték van, ami befolyásolja a detektálást: távolság-küszöbértékekből 4 db., illetve cellaméret, stb. A felhasználótól kapunk visszajelzést: új pontot is megad, vagy nem fogadja el a szegmentálást. A visszajelzés mellett még rendelkezésre állnak a képből származtatható különböző jellemzők (élesség, fókusz, színek eltérése). On-line tanuló (regressziós) módszerek segítségével a paraméterek hangolhatók (pl. ANN). Osztályozás Detektálás után az adott képterületből különböző jellemzőket vonunk ki, majd osztályozó módszereket tanítunk. (Ehhez kell egy kezdeti címkézett adatbázis). Egy példa: egyelőre színhisztogramot vontunk ki a pók potrohának képtartományából, valamint szürke intenzitás együttes megjelenés stat.-t, és a Weka különböző osztályozóit próbáltuk ki (18 osztály, 3-fold cross validation, 1NN, ANN, véletlen erdő, Naive Bayes), és 37-41%-os találati arányt kaptunk. Cél: további jellemzők kivonása, textura, kontúr, részarányok, irányított gradiens stat., stb.
1.4 Mobil konténerek végfelhasználói programozás támogatással tervezési minták és algoritmusok Termékvonal alapú fejlesztés: Modulok + konfiguráció Futtató környezet: JS Ahova csatlakozunk: cordova.apache.org Cordova Modulok: OpenCV AAA P2P … P2P modul RealPeersim alapú JS kód generálás Google Web Toolkit 2017.04.07. FICT SPLST2013 workshop
1.4 Produktivitás mérés Mérés (kész) Aktív/passzív mérés Különböző események Fejlesztési visszacsatolás (tervezett) Adatfeldolgozás (folyamatban) Szűrés Elemzés Vizualizáció Predikció (tervezés alatt) Fejlesztői profil készítése Architektúra specifikus mérések, hatékonyságmérés Kód minőség mérése 2017.04.07. FICT SPLST2013 workshop
Összefoglaló A cél egy olyan meglévő technológiákhoz, nyílt kezdeményezésekhez kapcsolódó P2P adatbányász keretrendszer és fejlesztési metodológia létrehozása mely: Ipari minőségű Biztonságos Robosztus Produktív
Köszönöm a figyelmet!