diff --git a/Tesi.tex b/Tesi.tex index 90a9f7d..9cf20e3 100644 --- a/Tesi.tex +++ b/Tesi.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[12pt,a4paper]{book} % o article, book, ... +\documentclass[12pt,a4paper,twoside]{report} % o article, book, ... % TODO inserire vari packages (todonotes, ecc.) @@ -46,9 +46,11 @@ \usepackage{epigraph} % per le frasi inizio capitolo \usepackage{fancyhdr} +\pagestyle{fancy} +\fancyhead[LEO]{\slshape \leftmark} %section +\fancyhead[REO]{\thepage} \setlength{\headheight}{14.5pt} -\setlength{\marginparwidth }{2cm} -\pagestyle{empty} +\setlength{\marginparwidth}{2cm} %\usepackage{etoolbox} @@ -102,56 +104,47 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} - % Frontespizio \begin{titlepage} -\begin{center} -\includegraphics[width=\textwidth]{Logo.jpg}\\ -{\large{\em Corso di Laurea in Informatica per la comunicazione digitale}} -\end{center} -\vspace{12mm} -\begin{center} -{\huge{\bf Streaming decentralizzato di}}\\ -\vspace{4mm} -{\huge{\bf contenuti audiovisivi}}\\ -\end{center} -\vspace{12mm} -\begin{flushleft} -{\large{\bf Relatore:}} -{\large{Trentini Andrea}}\\ -%{\large{\bf Correlatore:}} -%{\large{...}}\\ -\end{flushleft} -\vfill -\begin{flushright} -\parbox{1.7in}{ -{\large{\bf Tesi di Laurea di:}}\\ -{\large{Mirko Milovanovic}}\\ -{\large{\bf Matricola: \normalfont 870671}} -} -\end{flushright} -\vfill -\begin{center} -{\large{\bf Anno Accademico 2021-2022}} -\end{center} + \begin{center} + \includegraphics[width=\textwidth]{Logo.jpg}\\ + {\large{\em Corso di Laurea in Informatica per la comunicazione digitale}} + \end{center} + \vspace{12mm} + \begin{center} + {\huge{\bf Streaming decentralizzato di}}\\ + \vspace{4mm} + {\huge{\bf contenuti audiovisivi}}\\ + \end{center} + \vspace{12mm} + \begin{flushleft} + {\large{\bf Relatore:}} + {\large{Trentini Andrea}}\\ + %{\large{\bf Correlatore:}} + %{\large{...}}\\ + \end{flushleft} + \vfill + \begin{flushright} + \parbox{1.7in}{ + {\large{\bf Tesi di Laurea di:}}\\ + {\large{Mirko Milovanovic}}\\ + {\large{\bf Matricola: \normalfont 870671}} + } + \end{flushright} + \vfill + \begin{center} + {\large{\bf Anno Accademico 2021-2022}} + \end{center} \end{titlepage} \tableofcontents \thispagestyle{empty} - -%\fancyhf{} -\fancyhead[LE]{\slshape \rightmark} %section -\fancyhead[RE]{\thepage} -\fancyhead[RO]{\slshape \leftmark} % chapter -\fancyhead[LO]{\thepage} - %\chapter o \sections (dipende dal documentclass e cosa vogliamo fare) %\makeatletter %\patchcmd{\@makechapterhead}{50\p@}{0pt}{}{} %\patchcmd{\@makeschapterhead}{50\p@}{0pt}{}{} %\makeatother -\pagestyle{fancy} \chapter{Introduzione} \setcounter{page}{1} @@ -162,34 +155,59 @@ Al giorno d'oggi internet viene sempre più utilizzato... \newpage \section{TCP/IP, Internet e World Wide Web} \todo{Spiegare inizio di internet, dei metodi di comunicazione unicast/multicast/broadcast e come si applicano alle reti a foresta e albero rispettivamente} -\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=3cm, - thick,main node/.style={circle,draw,font=\sffamily\Large\bfseries}] +TODO: Esempi di topologie di rete che possiamo incontrare: -\node[main node] (1) {1}; -\node[main node] (2) [below left of=1] {2}; -\node[main node] (3) [below left of=2] {3}; -\node[main node] (4) [below right of=1] {4}; -\node[main node] (5) [below right of=2] {5}; -\node[main node] (6) [below right of=4] {6}; -\node[main node] () [below right of=3] {7}; +\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2cm, + thick,main node/.style={circle,draw,font=\sffamily\Large\bfseries}] -\draw (1) to [out=60,in=315,looseness=3] (5); + \node[main node] (1) {1}; + \node[main node] (2) [below left of=1] {2}; + \node[main node] (3) [below left of=2] {3}; + \node[main node] (4) [below right of=1] {4}; + \node[main node] (5) [below right of=2] {5}; + \node[main node] (6) [below right of=4] {6}; + \node[main node] (7) [below right of=3] {7}; -\path[every node/.style={font=\sffamily\small}] -(1) -edge node {} (4) -edge node {} (2) -(2) -edge node {} (4) -edge [bend right] node {} (3) -(3) -edge node [right] {} (2) -edge [bend right] node {} (5) -(4) -edge node [left] {} (3) -(5) -(6); + \draw (1) to [out=60,in=315,looseness=3] (5); + + \path[every node/.style={font=\sffamily\small}] + (1) + edge node {} (4) + edge node {} (2) + (2) + edge node {} (4) + edge [bend right] node {} (3) + (3) + edge node [right] {} (2) + edge [bend right] node {} (5) + (4) + edge node [left] {} (3) + (5) + (6); \end{tikzpicture} + +\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2cm, + thick,main node/.style={circle,draw,font=\sffamily\Large\bfseries}] + + \node[main node] (1) {1}; + \node[main node] (2) [below left of=1] {2}; + \node[main node] (3) [below left of=2] {3}; + \node[main node] (4) [below right of=1] {4}; + \node[main node] (5) [below right of=2] {5}; + + \path[every node/.style={font=\sffamily\small}] + (1) + edge node {} (4) + edge node {} (2) + (2) + edge node {} (5) + edge node {} (3) + (3) + (4) + edge node {} (5) + (5); +\end{tikzpicture} + \newpage \section{Web e centralizzazione con client/server} \section{Live streaming e interaction} @@ -198,27 +216,44 @@ edge node [left] {} (3) Vediamo degli esempi di come questa interazione potrebbe essere svolta: \usecase{Esempio d'interazione one to many}{Un utente davanti al proprio computer vorrebbe condividere quello che vede a schermo con dei propri amici o followers}{Utente principale, viewers, computer, connessione internet}{Condivisione in live streaming di un contenuto a schermo via internet con TCP/IP}{} \usecase{Esempio d'interazione many to many}{Più utenti al proprio computer vorrebbero comunicare e Interagire tra di loro contemporaneamente simil conference-call}{Utenti multipli, computer, connessione internet, microfono, telecamera}{Live streaming e interazione real-time tra utenti via internet con TCP/IP}{} -\\Nei due esempi sopra citati si può notare, un elemento comune a entrambe le situazioni, ovvero il voler condividere con altre persone contenuti audio e video via Internet, nello specifico sul Web con dispositivi che verrebbero considerati completi e aperti +\\Nei due esempi sopra citati si può notare, un elemento comune a entrambe le situazioni, ovvero il voler condividere con altre persone contenuti audio e video via Internet, nello specifico sul Web con dispositivi che verrebbero considerati completi e aperti \chapter{Decentralizzazione} \todo{Iniziare a spiegare come creare questa piattaforma ideale vs sistemi centralizzati esistenti} -In base a quello che abbiamo esposto fin'ora sorge spontanea la domanda e di conseguenza la ricerca di una piattaforma decentralizzata che soddisfi alcuni requisiti oggettivi e soggettivi +In base a quello che abbiamo esposto fin'ora sorge spontanea la domanda e di conseguenza la ricerca di una piattaforma decentralizzata che soddisfi alcuni requisiti essenziali o meno. \\Possiamo azzardare a stilare l'elenco di requisiti e features che vorremmo fossero presenti in questa piattaforma decentralizzata: \begin{enumerate} \item Decentralizzazione totale della infrastruttura - \begin{description} - \item Quindi eliminazione del rischio di controllo da parte di un singolo provider - %\item[Note:] I would like to describe something here - \end{description} - \item Resistenza ai single point of failure + %\begin{description} + %\item Quindi eliminazione del rischio di controllo da parte di un singolo provider + %\item[Note:] I would like to describe something here + %\end{description} \item Facilità nell'utilizzo \item Basso costo di entrata \item Interazione tra utenti in real time + \item Moderazione \item Bassa latenza \item Possibilità di monetizzazione del contenuto da parte dei singoli utenti \item Altro? Si accettano proposte - \end{enumerate} +\end{enumerate} +Andiamo ad analizzare meglio la nostra proposta: + +\newpage +\todo{Sarebbe magari utile usare uno spettro come viene fatto nel libro di Cittadinanza digitale} +Punto 1: Quindi eliminazione del rischio di controllo da parte di un singolo, Resistenza agli attacchi DDOS, no single point of failure + +Punto 2: Se la piattaforma è accessibile via Web o standalone app, o mobile app, se ci sono situazioni di relatività della rete con blocco di porte non standard e/o protocolli + +Punto 3: È relazionato al punto 2 con la questione di facilità di accesso e utilizzo rispetto a piattaforme già esistenti PERO' nello specifico sarebbe più la parte di facilità di passaggio da una piattaforma all'altra da parte degli streamer e nella compatibilità dei software/strumenti + +Punto 4: Banalmente in caso di simil twitch una chat tra utenti (quindi con autenticazione), in caso di conference audio/video condiviso tra più utenti in real time + +Punto 5: moderazione degli utenti/streamer se ha senso farla + +Punto 6: relazionato al punto 1, abbastanza ovvia come cosa + +Punto 7: io la penso come incentivo da parte di una rete/piattaforma di attrarre nuove utenze %\chapter{Cap3}