Rámec pro tvorbu aplikací s podporou peer-to-peer spolupráce

Loading...
Thumbnail Image
Date
ORCID
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Práce se zabývá návrhem a implementací aplikačního rámce pro tvorbu kolaborativních webových editorů, které umožňují peer-to-peer spolupráci v realném čase. V práci jsou shrnuty existující přístupy pro replikaci dat, z nichž je pro další použití jako nejvhodnější vybrána implementace CRDT (conflict-free replicated data type) pro JSON od M. Kleppmanna. Pomocí výsledného rámce může být vytvářený obsah bezpečně sdílen uvnitř skupin protějšků, kde každému členovi je možné nastavit jiná oprávnění. Pro navázání spojení a komunikaci P2P jsou navrženy a implementovány vlastní komunikační protokoly postavené na WebRTC, WebSocket a WebCrypto. Rámec umožňuje řešení konfliktů a samostatnou práci i bez připojení k internetu. Pro konzistentní uživatelský zážitek je součástí knihovna s prvky uživatelského rozhraní pro správu přátel, skupin a další časté úkony. Rámec je implementován s využitím funkcionálních návrhových vzorů realizovaných v jazyce ReasonML. Funkčnost výsledku je ověřena vytvořením ukázkové aplikace editoru myšlenkových map.
The thesis deals with the design and implementation of the application framework for the creation of collaborative web editors that enable peer-to-peer collaboration in real time. The thesis summarizes existing approaches for data replication, from which M. Kleppmann's CRDT (conflict-free replicated data type) for JSON is chosen as the most suitable. Using the resulting framework, the created content can be safely shared in groups of peers, where each member can be assigned different permissions. Own communication protocols based on WebRTC, WebSocket and WebCrypto are designed and implemented for P2P connection establishment and subsequent communication. The framework allows to resolve conflicts and work independently without an Internet connection. For a consistent user experience, the library includes a set of user interface elements for managing friends, groups, and other common tasks. The framework is implemented using functional design patterns implemented in the ReasonML language. The functionality of the result is verified by creating an example application of the mind map editor.
Description
Citation
HRDINA, J. Rámec pro tvorbu aplikací s podporou peer-to-peer spolupráce [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2019.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační systémy
Comittee
doc. Dr. Ing. Dušan Kolář (předseda) prof. RNDr. Milan Češka, CSc. (místopředseda) Ing. Petr Matoušek, Ph.D., M.A. (člen) Mgr. Jan Pavlík, Ph.D. (člen) RNDr. Marek Rychlý, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen)
Date of acceptance
2019-06-19
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A - výborně. Otázky u obhajoby: Jak jsou proti sobě autentizování legitimní uživatelé? Jak je zajištěno, že se uživatel nepropojí s útočníkem? Proč jste použil pro implementaci právě jazyk ReasonML?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO