feat: update bibliography with new references and enhance Docker section in Tesi.tex
All checks were successful
Build LaTeX Document / build_latex (push) Successful in 2m55s
All checks were successful
Build LaTeX Document / build_latex (push) Successful in 2m55s
This commit is contained in:
62
Biblio.bib
62
Biblio.bib
@@ -1,19 +1,4 @@
|
|||||||
@article{Blum2021,
|
@misc{acestreamAnnouncementStream,
|
||||||
title = {WebRTC - Realtime Communication for the Open Web Platform: What was once a way to bring audio and video to the web has expanded into more use cases we could ever imagine.},
|
|
||||||
volume = {19},
|
|
||||||
ISSN = {1542-7749},
|
|
||||||
url = {http://dx.doi.org/10.1145/3454122.3457587},
|
|
||||||
DOI = {10.1145/3454122.3457587},
|
|
||||||
number = {1},
|
|
||||||
journal = {Queue},
|
|
||||||
publisher = {Association for Computing Machinery (ACM)},
|
|
||||||
author = {Blum, Niklas and Lachapelle, Serge and Alvestrand, Harald},
|
|
||||||
year = {2021},
|
|
||||||
month = feb,
|
|
||||||
pages = {77–93}
|
|
||||||
}
|
|
||||||
|
|
||||||
@misc{acestreamAnnouncementStream,
|
|
||||||
author = {},
|
author = {},
|
||||||
title = {{A}nnouncement! {A}{C}{E} {S}tream; {N}ew era of {T}{V} and {I}nternet broadcasting --- oldforum.acestream.media},
|
title = {{A}nnouncement! {A}{C}{E} {S}tream; {N}ew era of {T}{V} and {I}nternet broadcasting --- oldforum.acestream.media},
|
||||||
url = {http://oldforum.acestream.media/index.php?topic=1479.0},
|
url = {http://oldforum.acestream.media/index.php?topic=1479.0},
|
||||||
@@ -29,7 +14,7 @@
|
|||||||
note = {[Accessed 04-Apr-2023]}
|
note = {[Accessed 04-Apr-2023]}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{ai4businessDataTroppo,
|
@misc{ai4businessDataTroppo,
|
||||||
author = {Federica Maria Rita Livelli},
|
author = {Federica Maria Rita Livelli},
|
||||||
title = {{A}{I} e big data, troppo potere nelle mani di pochi: il dibattito - {A}{I}4{B}usiness --- ai4business.it},
|
title = {{A}{I} e big data, troppo potere nelle mani di pochi: il dibattito - {A}{I}4{B}usiness --- ai4business.it},
|
||||||
howpublished = {\url{https://www.ai4business.it/intelligenza-artificiale/ai-e-big-data-favoriscono-la-concentrazione-del-potere/}},
|
howpublished = {\url{https://www.ai4business.it/intelligenza-artificiale/ai-e-big-data-favoriscono-la-concentrazione-del-potere/}},
|
||||||
@@ -80,6 +65,29 @@
|
|||||||
journal = {{IEEE} Communications Surveys {\&} Tutorials}
|
journal = {{IEEE} Communications Surveys {\&} Tutorials}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{AzureFunctions,
|
||||||
|
author = {Franco Palermo},
|
||||||
|
title = {{A}zure {F}unctions with {D}ocker --- franco.palermo812},
|
||||||
|
howpublished = {\url{https://medium.com/@franco.palermo812/azure-functions-with-docker-47e22866330}},
|
||||||
|
year = {},
|
||||||
|
note = {[Accessed 18-03-2025]}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{Blum2021,
|
||||||
|
title = {WebRTC - Realtime Communication for the Open Web Platform: What was once a way to bring audio and video to the web has expanded into more use cases we could ever imagine.},
|
||||||
|
volume = {19},
|
||||||
|
issn = {1542-7749},
|
||||||
|
url = {http://dx.doi.org/10.1145/3454122.3457587},
|
||||||
|
doi = {10.1145/3454122.3457587},
|
||||||
|
number = {1},
|
||||||
|
journal = {Queue},
|
||||||
|
publisher = {Association for Computing Machinery (ACM)},
|
||||||
|
author = {Blum, Niklas and Lachapelle, Serge and Alvestrand, Harald},
|
||||||
|
year = {2021},
|
||||||
|
month = feb,
|
||||||
|
pages = {77–93}
|
||||||
|
}
|
||||||
|
|
||||||
@article{Budhkar2019,
|
@article{Budhkar2019,
|
||||||
doi = {10.1007/s12083-019-00755-x},
|
doi = {10.1007/s12083-019-00755-x},
|
||||||
url = {https://doi.org/10.1007/s12083-019-00755-x},
|
url = {https://doi.org/10.1007/s12083-019-00755-x},
|
||||||
@@ -110,6 +118,22 @@
|
|||||||
note = {[Accessed 18-03-2025]}
|
note = {[Accessed 18-03-2025]}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{geeksforgeeksContainerizationUsing,
|
||||||
|
author = {},
|
||||||
|
title = {{C}ontainerization using {D}ocker - {G}eeksfor{G}eeks --- geeksforgeeks.org},
|
||||||
|
howpublished = {\url{https://www.geeksforgeeks.org/containerization-using-docker/}},
|
||||||
|
year = {},
|
||||||
|
note = {[Accessed 18-03-2025]}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{geeksforgeeksDockerNetworking,
|
||||||
|
author = {},
|
||||||
|
title = {{D}ocker {N}etworking - {G}eeksfor{G}eeks --- geeksforgeeks.org},
|
||||||
|
howpublished = {\url{https://www.geeksforgeeks.org/basics-of-docker-networking/}},
|
||||||
|
year = {},
|
||||||
|
note = {[Accessed 18-03-2025]}
|
||||||
|
}
|
||||||
|
|
||||||
@misc{githubGitHubWebtorrentbittorrenttracker,
|
@misc{githubGitHubWebtorrentbittorrenttracker,
|
||||||
author = {},
|
author = {},
|
||||||
title = {{G}it{H}ub - webtorrent/bittorrent-tracker: {S}imple, robust, {B}it{T}orrent tracker (client \& server) implementation --- github.com},
|
title = {{G}it{H}ub - webtorrent/bittorrent-tracker: {S}imple, robust, {B}it{T}orrent tracker (client \& server) implementation --- github.com},
|
||||||
@@ -272,7 +296,7 @@
|
|||||||
doi = {10.1007/978-3-319-54328-4_5}
|
doi = {10.1007/978-3-319-54328-4_5}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{torprojectHeartTahoeLAFS,
|
@misc{torprojectHeartTahoeLAFS,
|
||||||
author = {},
|
author = {},
|
||||||
title = {{T}or at the {H}eart: {T}ahoe-{L}{A}{F}{S} | {T}or {P}roject --- blog.torproject.org},
|
title = {{T}or at the {H}eart: {T}ahoe-{L}{A}{F}{S} | {T}or {P}roject --- blog.torproject.org},
|
||||||
howpublished = {\url{https://blog.torproject.org/tor-heart-tahoe-lafs/}},
|
howpublished = {\url{https://blog.torproject.org/tor-heart-tahoe-lafs/}},
|
||||||
@@ -298,7 +322,7 @@
|
|||||||
note = {[Accessed 11-Feb-2023]}
|
note = {[Accessed 11-Feb-2023]}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{w3c,
|
@misc{w3c,
|
||||||
author = {W3C},
|
author = {W3C},
|
||||||
title = {What is the difference between the Web and the Internet?},
|
title = {What is the difference between the Web and the Internet?},
|
||||||
howpublished = {\url{https://www.w3.org/Help/}},
|
howpublished = {\url{https://www.w3.org/Help/}},
|
||||||
|
50
Tesi.tex
50
Tesi.tex
@@ -595,14 +595,14 @@ Perciò abbiamo deciso di creare un sistema di test automatizzato che possa ripr
|
|||||||
Per verificare le affermazioni degli sviluppatori di PeerTube, abbiamo deciso di:
|
Per verificare le affermazioni degli sviluppatori di PeerTube, abbiamo deciso di:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Creare un'automazione per riprodurre i test descritti nell'articolo
|
\item Creare un'automazione per riprodurre indipendentemente i test descritti nell'articolo
|
||||||
\item Raccogliere metriche più dettagliate rispetto a quelle presentate nell'articolo originale
|
\item Raccogliere metriche più dettagliate rispetto a quelle presentate nell'articolo originale
|
||||||
\item Analizzare aspetti non considerati, come latenza, qualità dell'esperienza utente e comportamento in condizioni di rete non ideali
|
\item Analizzare i dati raccolti per valutare le prestazioni del sistema P2P di PeerTube
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Stack tecnologico per i test}
|
\subsection{Stack tecnologico per i test}
|
||||||
|
|
||||||
Per i nostri test abbiamo utilizzato:
|
Per i nostri test abbiamo utilizzato una combinazione di tecnologie open source per creare un sistema di test automatizzato che sfrutta le seguenti tecnologie:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \textbf{Docker}: Per creare ambienti isolati e facilmente riproducibili
|
\item \textbf{Docker}: Per creare ambienti isolati e facilmente riproducibili
|
||||||
@@ -610,10 +610,51 @@ Per i nostri test abbiamo utilizzato:
|
|||||||
\item \textbf{MongoDB}: Per l'archiviazione strutturata dei dati raccolti
|
\item \textbf{MongoDB}: Per l'archiviazione strutturata dei dati raccolti
|
||||||
\item \textbf{Python}: Come linguaggio principale per l'automazione
|
\item \textbf{Python}: Come linguaggio principale per l'automazione
|
||||||
\item \textbf{Selenium}: Per simulare browser reali che guardano lo stream
|
\item \textbf{Selenium}: Per simulare browser reali che guardano lo stream
|
||||||
\item \textbf{webrtc-internals-exporter}: Per raccogliere metriche dettagliate sulle connessioni WebRTC
|
\item \textbf{webrtc-internals-exporter}: Una estensione del browser creata per raccogliere metriche dettagliate sulle connessioni WebRTC
|
||||||
\item \textbf{Hetzner Cloud}: Per distribuire i test su macchine virtuali in diverse regioni geografiche
|
\item \textbf{Hetzner Cloud}: Per distribuire i test su macchine virtuali in diverse regioni geografiche
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
\subsection{Docker}
|
||||||
|
|
||||||
|
Docker è una piattaforma open source che semplifica la creazione, la distribuzione e l'esecuzione di applicazioni in contenitori. I contenitori Docker sono degli ambienti isolati che simulano un sistema operativo completo, come le macchine virtuali, consentendo di eseguire applicazioni in modo consistente su qualsiasi ambiente.
|
||||||
|
|
||||||
|
La differeneza tra docker e una macchina virtuale è che i container Docker condividono il kernel del sistema operativo host, riducendo l'overhead e migliorando le prestazioni, senza dover ricorrere ad un `Hypervisor' per la virtualizzazione.
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=350pt]{images/docker-engine.png}
|
||||||
|
\caption{Docker Engine.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
In se Docker è composto da 4 componenti principali:
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Docker Engine}: Il core del sistema, responsabile della creazione e gestione dei container nonché il pricesso demone eseguito sulla macchina host. Fornisce l'accesso a tutte le funzionalità e i
|
||||||
|
servizi messi a disposizione da Docker. Mette a disposizione un insieme di comandi per la gestione dei container, delle immagini e dei volumi.
|
||||||
|
\item \textbf{Docker Client}: Interfaccia da riga di comando e `API' per interagire con Docker Engine.
|
||||||
|
\item \textbf{Docker Image}: Un `template' di sola lettura che contiene e definisce i parametri di una applicazione da eseguire in un container a runtime. Le immagini vengono create e organizzate per livelli `stateless' e immutabil.
|
||||||
|
\item \textbf{Docker Container}: Un'istanza in esecuzione di un'immagine Docker. Un container è un ambiente isolato che esegue un'applicazione specifica e include tutto il necessario per eseguire l'applicazione, come il codice, le librerie, le variabili d'ambiente e le dipendenze. Il `filesystem' del container è l'ultimo livello che viene aggiunto al quale vi è possibile accedere sia in lettura che in scrittura. I contenitori, inoltre, possono essere associati a dei volumi per la persistenza dei dati, i quali fornisono un metodo semplice e immediato per condivuidere dati tra i container e l'host.\\La comunicazione tra container avviene tramite la creazione di `network' o reti separate che vengono connesse ai singoli container, abilitando così una sorta di LAN interna tra un insieme di container. Per far, invece, comunicare i container con il mondo esterno bisogna invece utilizzare i `port mapping' tra una porta della macchina host e una porta del container.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=200pt]{images/0_ukWqRD74ltfb5Uaz.png}
|
||||||
|
\caption{Docker Overview.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Approfondendo il discordo del `networking', Docker mette a disposizione varti tipi di `network' per la comunicazione tra container, i 3 principali sono:
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Bridge}: È il `network' di default che viene creato quando si installa Docker. I container connessi a questo `network' possono comunicare tra loro e con il host, ma non possono comunicare con i container in altri `network'.
|
||||||
|
\item \textbf{Host}: I container connessi a questo `network' condividono la rete dell'host, quindi non hanno bisogno di fare il `port mapping' per comunicare con il mondo esterno.
|
||||||
|
\item \textbf{None}: I container connessi a questo `network' non hanno accesso alla rete, quindi non possono comunicare con altri container o con l'esterno.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{images/Docker-network-1.png}
|
||||||
|
\caption{Docker Networking.}
|
||||||
|
\end{figure}
|
||||||
|
\cite{AzureFunctions} \cite{geeksforgeeksContainerizationUsing} \cite{geeksforgeeksDockerNetworking}
|
||||||
|
|
||||||
\subsection{Architettura del sistema di test}
|
\subsection{Architettura del sistema di test}
|
||||||
|
|
||||||
Il nostro sistema di test è composto da:
|
Il nostro sistema di test è composto da:
|
||||||
@@ -665,6 +706,7 @@ Per ciascuno scenario, abbiamo variato il numero di spettatori (10, 30, 50, 100)
|
|||||||
|
|
||||||
\nocite{*}
|
\nocite{*}
|
||||||
\printbibliography
|
\printbibliography
|
||||||
|
\sloppy
|
||||||
\addcontentsline{toc}{chapter}{Bibliografia}
|
\addcontentsline{toc}{chapter}{Bibliografia}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
BIN
images/0_ukWqRD74ltfb5Uaz.png
Normal file
BIN
images/0_ukWqRD74ltfb5Uaz.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
BIN
images/Docker-network-1.png
Normal file
BIN
images/Docker-network-1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 167 KiB |
BIN
images/docker-engine.png
Normal file
BIN
images/docker-engine.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
Reference in New Issue
Block a user